dependencies/0000755000000000000000000000000015107355263012211 5ustar rootrootdependencies/pkg/0000755000000000000000000000000015107355264012773 5ustar rootrootdependencies/pkg/mod/0000755000000000000000000000000015107355263013551 5ustar rootrootdependencies/pkg/mod/golang.org/0000755000000000000000000000000015107355263015606 5ustar rootrootdependencies/pkg/mod/golang.org/x/0000755000000000000000000000000015107355264016056 5ustar rootrootdependencies/pkg/mod/golang.org/x/sys@v0.26.0/0000755000000000000000000000000015107355264017626 5ustar rootrootdependencies/pkg/mod/golang.org/x/sys@v0.26.0/README.md0000644000000000000000000000133315107355264021105 0ustar rootroot# sys [![Go Reference](https://pkg.go.dev/badge/golang.org/x/sys.svg)](https://pkg.go.dev/golang.org/x/sys) This repository holds supplemental Go packages for low-level interactions with the operating system. ## Download/Install The easiest way to install is to run `go get -u golang.org/x/sys`. You can also manually git clone the repository to `$GOPATH/src/golang.org/x/sys`. ## Report Issues / Send Patches This repository uses Gerrit for code changes. To learn how to submit changes to this repository, see https://golang.org/doc/contribute.html. The main issue tracker for the sys repository is located at https://github.com/golang/go/issues. Prefix your issue with "x/sys:" in the subject line, so it is easy to find. dependencies/pkg/mod/golang.org/x/sys@v0.26.0/unix/0000755000000000000000000000000015107355264020611 5ustar rootrootdependencies/pkg/mod/golang.org/x/sys@v0.26.0/unix/getfsstat_test.go0000644000000000000000000000175615107355264024214 0ustar rootroot// Copyright 2022 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:build darwin || dragonfly || freebsd || openbsd package unix_test import ( "os/exec" "testing" "golang.org/x/sys/unix" ) func TestGetfsstat(t *testing.T) { n, err := unix.Getfsstat(nil, unix.MNT_NOWAIT) if err != nil { t.Fatal(err) } data := make([]unix.Statfs_t, n) n2, err := unix.Getfsstat(data, unix.MNT_NOWAIT) if err != nil { t.Fatal(err) } if n != n2 { t.Errorf("Getfsstat(nil) = %d, but subsequent Getfsstat(slice) = %d", n, n2) } for i, stat := range data { if stat == (unix.Statfs_t{}) { t.Errorf("index %v is an empty Statfs_t struct", i) } } if t.Failed() { for i, stat := range data[:n2] { t.Logf("data[%v] = %+v", i, stat) } mount, err := exec.Command("mount").CombinedOutput() if err != nil { t.Logf("mount: %v\n%s", err, mount) } else { t.Logf("mount: %s", mount) } } } dependencies/pkg/mod/golang.org/x/sys@v0.26.0/unix/pledge_openbsd.go0000644000000000000000000000452115107355264024114 0ustar rootroot// 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. package unix import ( "errors" "fmt" "strconv" ) // Pledge implements the pledge syscall. // // This changes both the promises and execpromises; use PledgePromises or // PledgeExecpromises to only change the promises or execpromises // respectively. // // For more information see pledge(2). func Pledge(promises, execpromises string) error { if err := pledgeAvailable(); err != nil { return err } pptr, err := BytePtrFromString(promises) if err != nil { return err } exptr, err := BytePtrFromString(execpromises) if err != nil { return err } return pledge(pptr, exptr) } // PledgePromises implements the pledge syscall. // // This changes the promises and leaves the execpromises untouched. // // For more information see pledge(2). func PledgePromises(promises string) error { if err := pledgeAvailable(); err != nil { return err } pptr, err := BytePtrFromString(promises) if err != nil { return err } return pledge(pptr, nil) } // PledgeExecpromises implements the pledge syscall. // // This changes the execpromises and leaves the promises untouched. // // For more information see pledge(2). func PledgeExecpromises(execpromises string) error { if err := pledgeAvailable(); err != nil { return err } exptr, err := BytePtrFromString(execpromises) if err != nil { return err } return pledge(nil, exptr) } // majmin returns major and minor version number for an OpenBSD system. func majmin() (major int, minor int, err error) { var v Utsname err = Uname(&v) if err != nil { return } major, err = strconv.Atoi(string(v.Release[0])) if err != nil { err = errors.New("cannot parse major version number returned by uname") return } minor, err = strconv.Atoi(string(v.Release[2])) if err != nil { err = errors.New("cannot parse minor version number returned by uname") return } return } // pledgeAvailable checks for availability of the pledge(2) syscall // based on the running OpenBSD version. func pledgeAvailable() error { maj, min, err := majmin() if err != nil { return err } // Require OpenBSD 6.4 as a minimum. if maj < 6 || (maj == 6 && min <= 3) { return fmt.Errorf("cannot call Pledge on OpenBSD %d.%d", maj, min) } return nil } dependencies/pkg/mod/golang.org/x/sys@v0.26.0/unix/zsysnum_linux_386.go0000644000000000000000000004342015107355264024512 0ustar rootroot// go run linux/mksysnum.go -Wall -Werror -static -I/tmp/386/include -m32 /tmp/386/include/asm/unistd.h // Code generated by the command above; see README.md. DO NOT EDIT. //go: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 SYS_STATX = 383 SYS_ARCH_PRCTL = 384 SYS_IO_PGETEVENTS = 385 SYS_RSEQ = 386 SYS_SEMGET = 393 SYS_SEMCTL = 394 SYS_SHMGET = 395 SYS_SHMCTL = 396 SYS_SHMAT = 397 SYS_SHMDT = 398 SYS_MSGGET = 399 SYS_MSGSND = 400 SYS_MSGRCV = 401 SYS_MSGCTL = 402 SYS_CLOCK_GETTIME64 = 403 SYS_CLOCK_SETTIME64 = 404 SYS_CLOCK_ADJTIME64 = 405 SYS_CLOCK_GETRES_TIME64 = 406 SYS_CLOCK_NANOSLEEP_TIME64 = 407 SYS_TIMER_GETTIME64 = 408 SYS_TIMER_SETTIME64 = 409 SYS_TIMERFD_GETTIME64 = 410 SYS_TIMERFD_SETTIME64 = 411 SYS_UTIMENSAT_TIME64 = 412 SYS_PSELECT6_TIME64 = 413 SYS_PPOLL_TIME64 = 414 SYS_IO_PGETEVENTS_TIME64 = 416 SYS_RECVMMSG_TIME64 = 417 SYS_MQ_TIMEDSEND_TIME64 = 418 SYS_MQ_TIMEDRECEIVE_TIME64 = 419 SYS_SEMTIMEDOP_TIME64 = 420 SYS_RT_SIGTIMEDWAIT_TIME64 = 421 SYS_FUTEX_TIME64 = 422 SYS_SCHED_RR_GET_INTERVAL_TIME64 = 423 SYS_PIDFD_SEND_SIGNAL = 424 SYS_IO_URING_SETUP = 425 SYS_IO_URING_ENTER = 426 SYS_IO_URING_REGISTER = 427 SYS_OPEN_TREE = 428 SYS_MOVE_MOUNT = 429 SYS_FSOPEN = 430 SYS_FSCONFIG = 431 SYS_FSMOUNT = 432 SYS_FSPICK = 433 SYS_PIDFD_OPEN = 434 SYS_CLONE3 = 435 SYS_CLOSE_RANGE = 436 SYS_OPENAT2 = 437 SYS_PIDFD_GETFD = 438 SYS_FACCESSAT2 = 439 SYS_PROCESS_MADVISE = 440 SYS_EPOLL_PWAIT2 = 441 SYS_MOUNT_SETATTR = 442 SYS_QUOTACTL_FD = 443 SYS_LANDLOCK_CREATE_RULESET = 444 SYS_LANDLOCK_ADD_RULE = 445 SYS_LANDLOCK_RESTRICT_SELF = 446 SYS_MEMFD_SECRET = 447 SYS_PROCESS_MRELEASE = 448 SYS_FUTEX_WAITV = 449 SYS_SET_MEMPOLICY_HOME_NODE = 450 SYS_CACHESTAT = 451 SYS_FCHMODAT2 = 452 SYS_MAP_SHADOW_STACK = 453 SYS_FUTEX_WAKE = 454 SYS_FUTEX_WAIT = 455 SYS_FUTEX_REQUEUE = 456 SYS_STATMOUNT = 457 SYS_LISTMOUNT = 458 SYS_LSM_GET_SELF_ATTR = 459 SYS_LSM_SET_SELF_ATTR = 460 SYS_LSM_LIST_MODULES = 461 SYS_MSEAL = 462 ) dependencies/pkg/mod/golang.org/x/sys@v0.26.0/unix/ztypes_linux_ppc64.go0000644000000000000000000003043015107355264024731 0ustar rootroot// cgo -godefs -objdir=/tmp/ppc64/cgo -- -Wall -Werror -static -I/tmp/ppc64/include linux/types.go | go run mkpost.go // Code generated by the command above; see README.md. DO NOT EDIT. //go:build ppc64 && linux package unix const ( SizeofPtr = 0x8 SizeofLong = 0x8 ) type ( _C_long int64 ) type Timespec struct { Sec int64 Nsec int64 } type Timeval struct { Sec int64 Usec int64 } type Timex struct { Modes uint32 Offset int64 Freq int64 Maxerror int64 Esterror int64 Status int32 Constant int64 Precision int64 Tolerance int64 Time Timeval Tick int64 Ppsfreq int64 Jitter int64 Shift int32 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 Stat_t struct { Dev uint64 Ino uint64 Nlink uint64 Mode uint32 Uid uint32 Gid uint32 _ int32 Rdev uint64 Size int64 Blksize int64 Blocks int64 Atim Timespec Mtim Timespec Ctim Timespec _ uint64 _ uint64 _ uint64 } type Dirent struct { Ino uint64 Off int64 Reclen uint16 Type uint8 Name [256]uint8 _ [5]byte } type Flock_t struct { Type int16 Whence int16 Start int64 Len int64 Pid int32 _ [4]byte } type DmNameList struct { Dev uint64 Next uint32 Name [0]byte _ [4]byte } const ( FADV_DONTNEED = 0x4 FADV_NOREUSE = 0x5 ) type RawSockaddrNFCLLCP struct { Sa_family uint16 Dev_idx uint32 Target_idx uint32 Nfc_protocol uint32 Dsap uint8 Ssap uint8 Service_name [63]uint8 Service_name_len uint64 } type RawSockaddr struct { Family uint16 Data [14]uint8 } type RawSockaddrAny struct { Addr RawSockaddr Pad [96]uint8 } type Iovec struct { Base *byte Len uint64 } type Msghdr struct { Name *byte Namelen uint32 Iov *Iovec Iovlen uint64 Control *byte Controllen uint64 Flags int32 _ [4]byte } type Cmsghdr struct { Len uint64 Level int32 Type int32 } type ifreq struct { Ifrn [16]byte Ifru [24]byte } const ( SizeofSockaddrNFCLLCP = 0x60 SizeofIovec = 0x10 SizeofMsghdr = 0x38 SizeofCmsghdr = 0x10 ) const ( SizeofSockFprog = 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 Totalhigh uint64 Freehigh uint64 Unit uint32 _ [0]uint8 _ [4]byte } type Ustat_t struct { Tfree int32 Tinode uint64 Fname [6]uint8 Fpack [6]uint8 _ [4]byte } type EpollEvent struct { Events uint32 _ int32 Fd int32 Pad int32 } const ( OPEN_TREE_CLOEXEC = 0x80000 ) const ( POLLRDHUP = 0x2000 ) type Sigset_t struct { Val [16]uint64 } const _C__NSIG = 0x41 const ( SIG_BLOCK = 0x0 SIG_UNBLOCK = 0x1 SIG_SETMASK = 0x2 ) type Siginfo struct { Signo int32 Errno int32 Code int32 _ int32 _ [112]byte } type Termios struct { Iflag uint32 Oflag uint32 Cflag uint32 Lflag uint32 Cc [19]uint8 Line uint8 Ispeed uint32 Ospeed uint32 } type Taskstats struct { Version uint16 Ac_exitcode uint32 Ac_flag uint8 Ac_nice uint8 Cpu_count uint64 Cpu_delay_total uint64 Blkio_count uint64 Blkio_delay_total uint64 Swapin_count uint64 Swapin_delay_total uint64 Cpu_run_real_total uint64 Cpu_run_virtual_total uint64 Ac_comm [32]uint8 Ac_sched uint8 Ac_pad [3]uint8 _ [4]byte Ac_uid uint32 Ac_gid uint32 Ac_pid uint32 Ac_ppid uint32 Ac_btime uint32 Ac_etime uint64 Ac_utime uint64 Ac_stime uint64 Ac_minflt uint64 Ac_majflt uint64 Coremem uint64 Virtmem uint64 Hiwater_rss uint64 Hiwater_vm uint64 Read_char uint64 Write_char uint64 Read_syscalls uint64 Write_syscalls uint64 Read_bytes uint64 Write_bytes uint64 Cancelled_write_bytes uint64 Nvcsw uint64 Nivcsw uint64 Ac_utimescaled uint64 Ac_stimescaled uint64 Cpu_scaled_run_real_total uint64 Freepages_count uint64 Freepages_delay_total uint64 Thrashing_count uint64 Thrashing_delay_total uint64 Ac_btime64 uint64 Compact_count uint64 Compact_delay_total uint64 Ac_tgid uint32 Ac_tgetime uint64 Ac_exe_dev uint64 Ac_exe_inode uint64 Wpcopy_count uint64 Wpcopy_delay_total uint64 Irq_count uint64 Irq_delay_total uint64 } type cpuMask uint64 const ( _NCPUBITS = 0x40 ) const ( CBitFieldMaskBit0 = 0x8000000000000000 CBitFieldMaskBit1 = 0x4000000000000000 CBitFieldMaskBit2 = 0x2000000000000000 CBitFieldMaskBit3 = 0x1000000000000000 CBitFieldMaskBit4 = 0x800000000000000 CBitFieldMaskBit5 = 0x400000000000000 CBitFieldMaskBit6 = 0x200000000000000 CBitFieldMaskBit7 = 0x100000000000000 CBitFieldMaskBit8 = 0x80000000000000 CBitFieldMaskBit9 = 0x40000000000000 CBitFieldMaskBit10 = 0x20000000000000 CBitFieldMaskBit11 = 0x10000000000000 CBitFieldMaskBit12 = 0x8000000000000 CBitFieldMaskBit13 = 0x4000000000000 CBitFieldMaskBit14 = 0x2000000000000 CBitFieldMaskBit15 = 0x1000000000000 CBitFieldMaskBit16 = 0x800000000000 CBitFieldMaskBit17 = 0x400000000000 CBitFieldMaskBit18 = 0x200000000000 CBitFieldMaskBit19 = 0x100000000000 CBitFieldMaskBit20 = 0x80000000000 CBitFieldMaskBit21 = 0x40000000000 CBitFieldMaskBit22 = 0x20000000000 CBitFieldMaskBit23 = 0x10000000000 CBitFieldMaskBit24 = 0x8000000000 CBitFieldMaskBit25 = 0x4000000000 CBitFieldMaskBit26 = 0x2000000000 CBitFieldMaskBit27 = 0x1000000000 CBitFieldMaskBit28 = 0x800000000 CBitFieldMaskBit29 = 0x400000000 CBitFieldMaskBit30 = 0x200000000 CBitFieldMaskBit31 = 0x100000000 CBitFieldMaskBit32 = 0x80000000 CBitFieldMaskBit33 = 0x40000000 CBitFieldMaskBit34 = 0x20000000 CBitFieldMaskBit35 = 0x10000000 CBitFieldMaskBit36 = 0x8000000 CBitFieldMaskBit37 = 0x4000000 CBitFieldMaskBit38 = 0x2000000 CBitFieldMaskBit39 = 0x1000000 CBitFieldMaskBit40 = 0x800000 CBitFieldMaskBit41 = 0x400000 CBitFieldMaskBit42 = 0x200000 CBitFieldMaskBit43 = 0x100000 CBitFieldMaskBit44 = 0x80000 CBitFieldMaskBit45 = 0x40000 CBitFieldMaskBit46 = 0x20000 CBitFieldMaskBit47 = 0x10000 CBitFieldMaskBit48 = 0x8000 CBitFieldMaskBit49 = 0x4000 CBitFieldMaskBit50 = 0x2000 CBitFieldMaskBit51 = 0x1000 CBitFieldMaskBit52 = 0x800 CBitFieldMaskBit53 = 0x400 CBitFieldMaskBit54 = 0x200 CBitFieldMaskBit55 = 0x100 CBitFieldMaskBit56 = 0x80 CBitFieldMaskBit57 = 0x40 CBitFieldMaskBit58 = 0x20 CBitFieldMaskBit59 = 0x10 CBitFieldMaskBit60 = 0x8 CBitFieldMaskBit61 = 0x4 CBitFieldMaskBit62 = 0x2 CBitFieldMaskBit63 = 0x1 ) type SockaddrStorage struct { Family uint16 Data [118]byte _ uint64 } type HDGeometry struct { Heads uint8 Sectors uint8 Cylinders uint16 Start 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 TpacketHdr struct { Status uint64 Len uint32 Snaplen uint32 Mac uint16 Net uint16 Sec uint32 Usec uint32 _ [4]byte } const ( SizeofTpacketHdr = 0x20 ) type RTCPLLInfo struct { Ctrl int32 Value int32 Max int32 Min int32 Posmult int32 Negmult int32 Clock int64 } type BlkpgPartition struct { Start int64 Length int64 Pno int32 Devname [64]uint8 Volname [64]uint8 _ [4]byte } const ( BLKPG = 0x20001269 ) type CryptoUserAlg struct { Name [64]uint8 Driver_name [64]uint8 Module_name [64]uint8 Type uint32 Mask uint32 Refcnt uint32 Flags uint32 } type CryptoStatAEAD struct { Type [64]uint8 Encrypt_cnt uint64 Encrypt_tlen uint64 Decrypt_cnt uint64 Decrypt_tlen uint64 Err_cnt uint64 } type CryptoStatAKCipher struct { Type [64]uint8 Encrypt_cnt uint64 Encrypt_tlen uint64 Decrypt_cnt uint64 Decrypt_tlen uint64 Verify_cnt uint64 Sign_cnt uint64 Err_cnt uint64 } type CryptoStatCipher struct { Type [64]uint8 Encrypt_cnt uint64 Encrypt_tlen uint64 Decrypt_cnt uint64 Decrypt_tlen uint64 Err_cnt uint64 } type CryptoStatCompress struct { Type [64]uint8 Compress_cnt uint64 Compress_tlen uint64 Decompress_cnt uint64 Decompress_tlen uint64 Err_cnt uint64 } type CryptoStatHash struct { Type [64]uint8 Hash_cnt uint64 Hash_tlen uint64 Err_cnt uint64 } type CryptoStatKPP struct { Type [64]uint8 Setsecret_cnt uint64 Generate_public_key_cnt uint64 Compute_shared_secret_cnt uint64 Err_cnt uint64 } type CryptoStatRNG struct { Type [64]uint8 Generate_cnt uint64 Generate_tlen uint64 Seed_cnt uint64 Err_cnt uint64 } type CryptoStatLarval struct { Type [64]uint8 } type CryptoReportLarval struct { Type [64]uint8 } type CryptoReportHash struct { Type [64]uint8 Blocksize uint32 Digestsize uint32 } type CryptoReportCipher struct { Type [64]uint8 Blocksize uint32 Min_keysize uint32 Max_keysize uint32 } type CryptoReportBlkCipher struct { Type [64]uint8 Geniv [64]uint8 Blocksize uint32 Min_keysize uint32 Max_keysize uint32 Ivsize uint32 } type CryptoReportAEAD struct { Type [64]uint8 Geniv [64]uint8 Blocksize uint32 Maxauthsize uint32 Ivsize uint32 } type CryptoReportComp struct { Type [64]uint8 } type CryptoReportRNG struct { Type [64]uint8 Seedsize uint32 } type CryptoReportAKCipher struct { Type [64]uint8 } type CryptoReportKPP struct { Type [64]uint8 } type CryptoReportAcomp struct { Type [64]uint8 } type LoopInfo struct { Number int32 Device uint64 Inode uint64 Rdevice uint64 Offset int32 Encrypt_type int32 Encrypt_key_size int32 Flags int32 Name [64]uint8 Encrypt_key [32]uint8 Init [2]uint64 Reserved [4]uint8 _ [4]byte } type TIPCSubscr struct { Seq TIPCServiceRange Timeout uint32 Filter uint32 Handle [8]uint8 } type TIPCSIOCLNReq struct { Peer uint32 Id uint32 Linkname [68]uint8 } type TIPCSIOCNodeIDReq struct { Peer uint32 Id [16]uint8 } type PPSKInfo struct { Assert_sequence uint32 Clear_sequence uint32 Assert_tu PPSKTime Clear_tu PPSKTime Current_mode int32 _ [4]byte } const ( PPS_GETPARAMS = 0x400870a1 PPS_SETPARAMS = 0x800870a2 PPS_GETCAP = 0x400870a3 PPS_FETCH = 0xc00870a4 ) const ( PIDFD_NONBLOCK = 0x800 ) type SysvIpcPerm struct { Key int32 Uid uint32 Gid uint32 Cuid uint32 Cgid uint32 Mode uint32 Seq uint32 _ uint32 _ uint64 _ uint64 } type SysvShmDesc struct { Perm SysvIpcPerm Atime int64 Dtime int64 Ctime int64 Segsz uint64 Cpid int32 Lpid int32 Nattch uint64 _ uint64 _ uint64 } dependencies/pkg/mod/golang.org/x/sys@v0.26.0/unix/zsysnum_openbsd_arm.go0000644000000000000000000004363715107355264025256 0ustar rootroot// go run mksysnum.go https://cvsweb.openbsd.org/cgi-bin/cvsweb/~checkout~/src/sys/kern/syscalls.master // Code generated by the command above; see README.md. DO NOT EDIT. //go:build arm && openbsd package unix // Deprecated: Use libc wrappers instead of direct syscalls. 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_GETENTROPY = 7 // { int sys_getentropy(void *buf, size_t nbyte); } SYS___TFORK = 8 // { int sys___tfork(const struct __tfork *param, size_t psize); } 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, int options, struct rusage *rusage); } 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, dev_t dev); } 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_OBREAK = 17 // { int sys_obreak(char *nsize); } break SYS_GETDTABLECOUNT = 18 // { int sys_getdtablecount(void); } SYS_GETRUSAGE = 19 // { int sys_getrusage(int who, struct rusage *rusage); } SYS_GETPID = 20 // { pid_t sys_getpid(void); } SYS_MOUNT = 21 // { int sys_mount(const char *type, const char *path, int flags, void *data); } 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, 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 amode); } 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_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, struct stat *buf, int flag); } SYS_GETEGID = 43 // { gid_t sys_getegid(void); } SYS_PROFIL = 44 // { int sys_profil(caddr_t 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_SIGACTION = 46 // { int sys_sigaction(int signum, const struct sigaction *nsa, struct sigaction *osa); } SYS_GETGID = 47 // { gid_t sys_getgid(void); } SYS_SIGPROCMASK = 48 // { int sys_sigprocmask(int how, sigset_t mask); } 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, u_long com, ... void *data); } 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, 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_GETFSSTAT = 62 // { int sys_getfsstat(struct statfs *buf, size_t bufsize, int flags); } SYS_STATFS = 63 // { int sys_statfs(const char *path, struct statfs *buf); } SYS_FSTATFS = 64 // { int sys_fstatfs(int fd, struct statfs *buf); } SYS_FHSTATFS = 65 // { int sys_fhstatfs(const fhandle_t *fhp, struct statfs *buf); } SYS_VFORK = 66 // { int sys_vfork(void); } SYS_GETTIMEOFDAY = 67 // { int sys_gettimeofday(struct timeval *tp, struct timezone *tzp); } SYS_SETTIMEOFDAY = 68 // { int sys_settimeofday(const struct timeval *tv, const struct timezone *tzp); } SYS_SETITIMER = 69 // { int sys_setitimer(int which, const struct itimerval *itv, struct itimerval *oitv); } SYS_GETITIMER = 70 // { int sys_getitimer(int which, struct itimerval *itv); } SYS_SELECT = 71 // { int sys_select(int nd, fd_set *in, fd_set *ou, fd_set *ex, struct timeval *tv); } SYS_KEVENT = 72 // { int sys_kevent(int fd, const struct kevent *changelist, int nchanges, struct kevent *eventlist, int nevents, const struct timespec *timeout); } 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_UTIMES = 76 // { int sys_utimes(const char *path, const struct timeval *tptr); } SYS_FUTIMES = 77 // { int sys_futimes(int fd, const struct timeval *tptr); } 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_FUTEX = 83 // { int sys_futex(uint32_t *f, int op, int val, const struct timespec *timeout, uint32_t *g); } SYS_UTIMENSAT = 84 // { int sys_utimensat(int fd, const char *path, const struct timespec *times, int flag); } SYS_FUTIMENS = 85 // { int sys_futimens(int fd, const struct timespec *times); } SYS_KBIND = 86 // { int sys_kbind(const struct __kbind *param, size_t psize, int64_t proc_cookie); } SYS_CLOCK_GETTIME = 87 // { int sys_clock_gettime(clockid_t clock_id, struct timespec *tp); } SYS_CLOCK_SETTIME = 88 // { int sys_clock_settime(clockid_t clock_id, const struct timespec *tp); } SYS_CLOCK_GETRES = 89 // { int sys_clock_getres(clockid_t clock_id, struct timespec *tp); } SYS_DUP2 = 90 // { int sys_dup2(int from, int to); } SYS_NANOSLEEP = 91 // { int sys_nanosleep(const struct timespec *rqtp, struct timespec *rmtp); } SYS_FCNTL = 92 // { int sys_fcntl(int fd, int cmd, ... void *arg); } SYS_ACCEPT4 = 93 // { int sys_accept4(int s, struct sockaddr *name, socklen_t *anamelen, int flags); } SYS___THRSLEEP = 94 // { int sys___thrsleep(const volatile void *ident, clockid_t clock_id, const struct timespec *tp, void *lock, const int *abort); } 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, socklen_t namelen); } 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_PIPE2 = 101 // { int sys_pipe2(int *fdp, int flags); } SYS_DUP3 = 102 // { int sys_dup3(int from, int to, int flags); } SYS_SIGRETURN = 103 // { int sys_sigreturn(struct sigcontext *sigcntxp); } 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_CHFLAGSAT = 107 // { int sys_chflagsat(int fd, const char *path, u_int flags, int atflags); } SYS_PLEDGE = 108 // { int sys_pledge(const char *promises, const char *execpromises); } SYS_PPOLL = 109 // { int sys_ppoll(struct pollfd *fds, u_int nfds, const struct timespec *ts, const sigset_t *mask); } SYS_PSELECT = 110 // { int sys_pselect(int nd, fd_set *in, fd_set *ou, fd_set *ex, const struct timespec *ts, const sigset_t *mask); } SYS_SIGSUSPEND = 111 // { int sys_sigsuspend(int mask); } SYS_SENDSYSLOG = 112 // { int sys_sendsyslog(const char *buf, size_t nbyte, int flags); } SYS_UNVEIL = 114 // { int sys_unveil(const char *path, const char *permissions); } SYS_GETSOCKOPT = 118 // { int sys_getsockopt(int s, int level, int name, void *val, socklen_t *avalsize); } SYS_THRKILL = 119 // { int sys_thrkill(pid_t tid, int signum, void *tcb); } 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_KILL = 122 // { int sys_kill(int pid, int signum); } 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_ADJTIME = 140 // { int sys_adjtime(const struct timeval *delta, struct timeval *olddelta); } SYS_GETLOGIN_R = 141 // { int sys_getlogin_r(char *namebuf, u_int namelen); } SYS_SETSID = 147 // { int sys_setsid(void); } SYS_QUOTACTL = 148 // { int sys_quotactl(const char *path, int cmd, int uid, char *arg); } 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, 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_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, 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, 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_GETPGID = 207 // { pid_t sys_getpgid(pid_t pid); } SYS_UTRACE = 209 // { int sys_utrace(const char *label, const void *addr, size_t len); } 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, int msgflg); } SYS_MSGRCV = 227 // { int 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_MINHERIT = 250 // { int sys_minherit(void *addr, size_t len, int inherit); } SYS_POLL = 252 // { int sys_poll(struct pollfd *fds, u_int nfds, int timeout); } 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, const struct iovec *iovp, int iovcnt, int pad, off_t offset); } SYS_PWRITEV = 268 // { ssize_t sys_pwritev(int fd, const struct iovec *iovp, int iovcnt, int pad, off_t offset); } 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, uid_t *suid); } SYS_SETRESUID = 282 // { int sys_setresuid(uid_t ruid, uid_t euid, uid_t suid); } SYS_GETRESGID = 283 // { int sys_getresgid(gid_t *rgid, gid_t *egid, gid_t *sgid); } SYS_SETRESGID = 284 // { int sys_setresgid(gid_t rgid, gid_t egid, gid_t sgid); } SYS_MQUERY = 286 // { void *sys_mquery(void *addr, size_t len, int prot, int flags, int fd, long pad, off_t pos); } SYS_CLOSEFROM = 287 // { int sys_closefrom(int fd); } SYS_SIGALTSTACK = 288 // { int sys_sigaltstack(const struct sigaltstack *nss, struct sigaltstack *oss); } 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, size_t nsops); } SYS_FHSTAT = 294 // { int sys_fhstat(const fhandle_t *fhp, struct stat *sb); } SYS___SEMCTL = 295 // { int sys___semctl(int semid, int semnum, int cmd, union semun *arg); } SYS_SHMCTL = 296 // { int sys_shmctl(int shmid, int cmd, struct shmid_ds *buf); } SYS_MSGCTL = 297 // { int sys_msgctl(int msqid, int cmd, struct msqid_ds *buf); } 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, int n); } SYS___THREXIT = 302 // { void sys___threxit(pid_t *notdead); } SYS___THRSIGDIVERT = 303 // { int sys___thrsigdivert(sigset_t sigmask, siginfo_t *info, const struct timespec *timeout); } SYS___GETCWD = 304 // { int sys___getcwd(char *buf, size_t len); } SYS_ADJFREQ = 305 // { int sys_adjfreq(const int64_t *freq, int64_t *oldfreq); } 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, int amode, int flag); } SYS_FCHMODAT = 314 // { int sys_fchmodat(int fd, const char *path, mode_t mode, int flag); } SYS_FCHOWNAT = 315 // { int sys_fchownat(int fd, const char *path, uid_t uid, gid_t gid, int flag); } SYS_LINKAT = 317 // { int sys_linkat(int fd1, const char *path1, int fd2, const char *path2, int flag); } SYS_MKDIRAT = 318 // { int sys_mkdirat(int fd, const char *path, mode_t mode); } SYS_MKFIFOAT = 319 // { int sys_mkfifoat(int fd, const char *path, mode_t mode); } SYS_MKNODAT = 320 // { int sys_mknodat(int fd, const char *path, mode_t mode, dev_t dev); } SYS_OPENAT = 321 // { int sys_openat(int fd, const char *path, int flags, ... mode_t mode); } SYS_READLINKAT = 322 // { ssize_t sys_readlinkat(int fd, const char *path, char *buf, size_t count); } SYS_RENAMEAT = 323 // { int sys_renameat(int fromfd, const char *from, int tofd, const char *to); } SYS_SYMLINKAT = 324 // { int sys_symlinkat(const char *path, int fd, const char *link); } SYS_UNLINKAT = 325 // { int sys_unlinkat(int fd, const char *path, int flag); } SYS___SET_TCB = 329 // { void sys___set_tcb(void *tcb); } SYS___GET_TCB = 330 // { void *sys___get_tcb(void); } ) dependencies/pkg/mod/golang.org/x/sys@v0.26.0/unix/openbsd_test.go0000644000000000000000000000465615107355264023644 0ustar rootroot// 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. //go:build openbsd // This, on the face of it, bizarre testing mechanism is necessary because // the only reliable way to gauge whether or not a pledge(2) call has succeeded // is that the program has been killed as a result of breaking its pledge. package unix_test import ( "flag" "fmt" "os" "os/exec" "path/filepath" "testing" "golang.org/x/sys/unix" ) type testProc struct { fn func() // should always exit instead of returning cleanup func() error // for instance, delete coredumps from testing pledge success bool // whether zero-exit means success or failure } var ( testProcs = map[string]testProc{} procName = "" ) const ( optName = "sys-unix-internal-procname" ) func init() { flag.StringVar(&procName, optName, "", "internal use only") } // testCmd generates a proper command that, when executed, runs the test // corresponding to the given key. func testCmd(procName string) (*exec.Cmd, error) { exe, err := os.Executable() if err != nil { return nil, err } cmd := exec.Command(exe, "-"+optName+"="+procName) cmd.Stdout, cmd.Stderr = os.Stdout, os.Stderr return cmd, nil } // ExitsCorrectly is a comprehensive, one-line-of-use wrapper for testing // a testProc with a key. func ExitsCorrectly(procName string, t *testing.T) { s := testProcs[procName] c, err := testCmd(procName) defer func() { if s.cleanup() != nil { t.Fatalf("Failed to run cleanup for %s", procName) } }() if err != nil { t.Fatalf("Failed to construct command for %s", procName) } if (c.Run() == nil) != s.success { result := "succeed" if !s.success { result = "fail" } t.Fatalf("Process did not %s when it was supposed to", result) } } func TestMain(m *testing.M) { flag.Parse() if procName != "" { testProcs[procName].fn() } os.Exit(m.Run()) } // For example, add a test for pledge. func init() { testProcs["pledge"] = testProc{ func() { fmt.Println(unix.Pledge("", "")) os.Exit(0) }, func() error { files, err := os.ReadDir(".") if err != nil { return err } for _, file := range files { if filepath.Ext(file.Name()) == ".core" { if err := os.Remove(file.Name()); err != nil { return err } } } return nil }, false, } } func TestPledge(t *testing.T) { ExitsCorrectly("pledge", t) } dependencies/pkg/mod/golang.org/x/sys@v0.26.0/unix/README.md0000644000000000000000000002075615107355264022102 0ustar rootroot# 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"`) 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, go ### New Build System (currently for `GOOS == "linux"`) 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, 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/programs 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 a new architecture/OS, this file must be implemented for each GOOS/GOARCH pair. ### mksysnum Mksysnum is a Go program located at `${GOOS}/mksysnum.go` (or `mksysnum_${GOOS}.go` for the old system). This program 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 may need to update the parsing in mksysnum. ### mksyscall.go 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.go program 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, and 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 and 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. ### internal/mkmerge This program is used to extract duplicate const, func, and type declarations from the generated architecture-specific files listed below, and merge these into a common file for each OS. The merge is performed in the following steps: 1. Construct the set of common code that is identical in all architecture-specific files. 2. Write this common code to the merged file. 3. Remove the common code from all architecture-specific files. ## Generated files ### `zerrors_${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.go` (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). dependencies/pkg/mod/golang.org/x/sys@v0.26.0/unix/asm_linux_arm64.s0000644000000000000000000000211615107355264024005 0ustar rootroot// 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:build linux && arm64 && gc #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 ·SyscallNoError(SB),NOSPLIT,$0-48 BL runtime·entersyscall(SB) MOVD a1+8(FP), R0 MOVD a2+16(FP), R1 MOVD a3+24(FP), R2 MOVD $0, R3 MOVD $0, R4 MOVD $0, R5 MOVD trap+0(FP), R8 // syscall entry SVC MOVD R0, r1+32(FP) // r1 MOVD R1, r2+40(FP) // r2 BL runtime·exitsyscall(SB) RET TEXT ·RawSyscall(SB),NOSPLIT,$0-56 B syscall·RawSyscall(SB) TEXT ·RawSyscall6(SB),NOSPLIT,$0-80 B syscall·RawSyscall6(SB) TEXT ·RawSyscallNoError(SB),NOSPLIT,$0-48 MOVD a1+8(FP), R0 MOVD a2+16(FP), R1 MOVD a3+24(FP), R2 MOVD $0, R3 MOVD $0, R4 MOVD $0, R5 MOVD trap+0(FP), R8 // syscall entry SVC MOVD R0, r1+32(FP) MOVD R1, r2+40(FP) RET dependencies/pkg/mod/golang.org/x/sys@v0.26.0/unix/syscall_linux_alarm.go0000644000000000000000000000067015107355264025210 0ustar rootroot// Copyright 2022 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:build linux && (386 || amd64 || mips || mipsle || mips64 || mipsle || ppc64 || ppc64le || ppc || s390x || sparc64) package unix // SYS_ALARM is not defined on arm or riscv, but is available for other GOARCH // values. //sys Alarm(seconds uint) (remaining uint, err error) dependencies/pkg/mod/golang.org/x/sys@v0.26.0/unix/mremap_test.go0000644000000000000000000000362115107355264023462 0ustar rootroot// Copyright 2023 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:build linux || netbsd package unix_test import ( "testing" "unsafe" "golang.org/x/sys/unix" ) func TestMremap(t *testing.T) { b, err := unix.Mmap(-1, 0, unix.Getpagesize(), unix.PROT_NONE, unix.MAP_ANON|unix.MAP_PRIVATE) if err != nil { t.Fatalf("Mmap: %v", err) } if err := unix.Mprotect(b, unix.PROT_READ|unix.PROT_WRITE); err != nil { t.Fatalf("Mprotect: %v", err) } b[0] = 42 bNew, err := unix.Mremap(b, unix.Getpagesize()*2, unix.MremapMaymove) if err != nil { t.Fatalf("Mremap2: %v", err) } bNew[unix.Getpagesize()+1] = 84 // checks if bNew[0] != 42 { t.Fatal("first element value was changed") } if len(bNew) != unix.Getpagesize()*2 { t.Fatal("new memory len not equal to specified len") } if cap(bNew) != unix.Getpagesize()*2 { t.Fatal("new memory cap not equal to specified len") } _, err = unix.Mremap(b, unix.Getpagesize(), unix.MremapFixed) if err != unix.EINVAL { t.Fatalf("remapping to a fixed address; got %v, want %v", err, unix.EINVAL) } } func TestMremapPtr(t *testing.T) { p1, err := unix.MmapPtr(-1, 0, nil, uintptr(2*unix.Getpagesize()), unix.PROT_READ|unix.PROT_WRITE, unix.MAP_ANON|unix.MAP_PRIVATE) if err != nil { t.Fatalf("MmapPtr: %v", err) } p2 := unsafe.Add(p1, unix.Getpagesize()) if err := unix.MunmapPtr(p2, uintptr(unix.Getpagesize())); err != nil { t.Fatalf("MunmapPtr: %v", err) } *(*byte)(p1) = 42 if _, err := unix.MremapPtr( p1, uintptr(unix.Getpagesize()), p2, uintptr(unix.Getpagesize()), unix.MremapFixed|unix.MremapMaymove); err != nil { t.Fatalf("MremapPtr: %v", err) } if got := *(*byte)(p2); got != 42 { t.Errorf("got %d, want 42", got) } if err := unix.MunmapPtr(p2, uintptr(unix.Getpagesize())); err != nil { t.Fatalf("MunmapPtr: %v", err) } } dependencies/pkg/mod/golang.org/x/sys@v0.26.0/unix/sockcmsg_linux.go0000644000000000000000000000514215107355264024172 0ustar rootroot// 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. // Socket control messages package unix import "unsafe" // UnixCredentials encodes credentials into a socket control message // for sending to another process. This can be used for // authentication. func UnixCredentials(ucred *Ucred) []byte { b := make([]byte, CmsgSpace(SizeofUcred)) h := (*Cmsghdr)(unsafe.Pointer(&b[0])) h.Level = SOL_SOCKET h.Type = SCM_CREDENTIALS h.SetLen(CmsgLen(SizeofUcred)) *(*Ucred)(h.data(0)) = *ucred return b } // ParseUnixCredentials decodes a socket control message that contains // credentials in a Ucred structure. To receive such a message, the // SO_PASSCRED option must be enabled on the socket. func ParseUnixCredentials(m *SocketControlMessage) (*Ucred, error) { if m.Header.Level != SOL_SOCKET { return nil, EINVAL } if m.Header.Type != SCM_CREDENTIALS { return nil, EINVAL } ucred := *(*Ucred)(unsafe.Pointer(&m.Data[0])) return &ucred, nil } // PktInfo4 encodes Inet4Pktinfo into a socket control message of type IP_PKTINFO. func PktInfo4(info *Inet4Pktinfo) []byte { b := make([]byte, CmsgSpace(SizeofInet4Pktinfo)) h := (*Cmsghdr)(unsafe.Pointer(&b[0])) h.Level = SOL_IP h.Type = IP_PKTINFO h.SetLen(CmsgLen(SizeofInet4Pktinfo)) *(*Inet4Pktinfo)(h.data(0)) = *info return b } // PktInfo6 encodes Inet6Pktinfo into a socket control message of type IPV6_PKTINFO. func PktInfo6(info *Inet6Pktinfo) []byte { b := make([]byte, CmsgSpace(SizeofInet6Pktinfo)) h := (*Cmsghdr)(unsafe.Pointer(&b[0])) h.Level = SOL_IPV6 h.Type = IPV6_PKTINFO h.SetLen(CmsgLen(SizeofInet6Pktinfo)) *(*Inet6Pktinfo)(h.data(0)) = *info return b } // ParseOrigDstAddr decodes a socket control message containing the original // destination address. To receive such a message the IP_RECVORIGDSTADDR or // IPV6_RECVORIGDSTADDR option must be enabled on the socket. func ParseOrigDstAddr(m *SocketControlMessage) (Sockaddr, error) { switch { case m.Header.Level == SOL_IP && m.Header.Type == IP_ORIGDSTADDR: pp := (*RawSockaddrInet4)(unsafe.Pointer(&m.Data[0])) sa := new(SockaddrInet4) p := (*[2]byte)(unsafe.Pointer(&pp.Port)) sa.Port = int(p[0])<<8 + int(p[1]) sa.Addr = pp.Addr return sa, nil case m.Header.Level == SOL_IPV6 && m.Header.Type == IPV6_ORIGDSTADDR: pp := (*RawSockaddrInet6)(unsafe.Pointer(&m.Data[0])) sa := new(SockaddrInet6) p := (*[2]byte)(unsafe.Pointer(&pp.Port)) sa.Port = int(p[0])<<8 + int(p[1]) sa.ZoneId = pp.Scope_id sa.Addr = pp.Addr return sa, nil default: return nil, EINVAL } } dependencies/pkg/mod/golang.org/x/sys@v0.26.0/unix/example_flock_test.go0000644000000000000000000000114515107355264025011 0ustar rootroot// Copyright 2018 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:build darwin || dragonfly || freebsd || linux || netbsd || openbsd || solaris package unix_test import ( "log" "os" "golang.org/x/sys/unix" ) func ExampleFlock() { f, _ := os.Create("example.lock") if err := unix.Flock(int(f.Fd()), unix.LOCK_EX); err != nil { log.Fatal(err) } // Do work here that requires the lock. When finished, release the lock: if err := unix.Flock(int(f.Fd()), unix.LOCK_UN); err != nil { log.Fatal(err) } } dependencies/pkg/mod/golang.org/x/sys@v0.26.0/unix/asm_linux_mips64x.s0000644000000000000000000000221415107355264024365 0ustar rootroot// 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:build linux && (mips64 || mips64le) && gc #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 ·SyscallNoError(SB),NOSPLIT,$0-48 JAL runtime·entersyscall(SB) MOVV a1+8(FP), R4 MOVV a2+16(FP), R5 MOVV a3+24(FP), R6 MOVV R0, R7 MOVV R0, R8 MOVV R0, R9 MOVV trap+0(FP), R2 // syscall entry SYSCALL MOVV R2, r1+32(FP) MOVV R3, r2+40(FP) JAL runtime·exitsyscall(SB) RET TEXT ·RawSyscall(SB),NOSPLIT,$0-56 JMP syscall·RawSyscall(SB) TEXT ·RawSyscall6(SB),NOSPLIT,$0-80 JMP syscall·RawSyscall6(SB) TEXT ·RawSyscallNoError(SB),NOSPLIT,$0-48 MOVV a1+8(FP), R4 MOVV a2+16(FP), R5 MOVV a3+24(FP), R6 MOVV R0, R7 MOVV R0, R8 MOVV R0, R9 MOVV trap+0(FP), R2 // syscall entry SYSCALL MOVV R2, r1+32(FP) MOVV R3, r2+40(FP) RET dependencies/pkg/mod/golang.org/x/sys@v0.26.0/unix/ztypes_linux_ppc.go0000644000000000000000000003071015107355264024560 0ustar rootroot// cgo -godefs -objdir=/tmp/ppc/cgo -- -Wall -Werror -static -I/tmp/ppc/include linux/types.go | go run mkpost.go // Code generated by the command above; see README.md. DO NOT EDIT. //go:build ppc && linux package unix const ( SizeofPtr = 0x4 SizeofLong = 0x4 ) type ( _C_long int32 ) 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 _ [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 Stat_t struct { Dev uint64 Ino uint64 Mode uint32 Nlink uint32 Uid uint32 Gid uint32 Rdev uint64 _ uint16 _ [4]byte Size int64 Blksize int32 _ [4]byte Blocks int64 Atim Timespec Mtim Timespec Ctim Timespec _ uint32 _ uint32 } type Dirent struct { Ino uint64 Off int64 Reclen uint16 Type uint8 Name [256]uint8 _ [5]byte } type Flock_t struct { Type int16 Whence int16 _ [4]byte Start int64 Len int64 Pid int32 _ [4]byte } type DmNameList struct { Dev uint64 Next uint32 Name [0]byte _ [4]byte } const ( FADV_DONTNEED = 0x4 FADV_NOREUSE = 0x5 ) type RawSockaddrNFCLLCP struct { Sa_family uint16 Dev_idx uint32 Target_idx uint32 Nfc_protocol uint32 Dsap uint8 Ssap uint8 Service_name [63]uint8 Service_name_len uint32 } type RawSockaddr struct { Family uint16 Data [14]uint8 } type RawSockaddrAny struct { Addr RawSockaddr Pad [96]uint8 } type Iovec struct { Base *byte Len 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 ifreq struct { Ifrn [16]byte Ifru [16]byte } const ( SizeofSockaddrNFCLLCP = 0x58 SizeofIovec = 0x8 SizeofMsghdr = 0x1c SizeofCmsghdr = 0xc ) const ( SizeofSockFprog = 0x8 ) type PtraceRegs struct { Gpr [32]uint32 Nip uint32 Msr uint32 Orig_gpr3 uint32 Ctr uint32 Link uint32 Xer uint32 Ccr uint32 Mq uint32 Trap uint32 Dar uint32 Dsisr uint32 Result 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 _ [8]uint8 } type Ustat_t struct { Tfree int32 Tinode uint32 Fname [6]uint8 Fpack [6]uint8 } type EpollEvent struct { Events uint32 _ int32 Fd int32 Pad int32 } const ( OPEN_TREE_CLOEXEC = 0x80000 ) const ( POLLRDHUP = 0x2000 ) type Sigset_t struct { Val [32]uint32 } const _C__NSIG = 0x41 const ( SIG_BLOCK = 0x0 SIG_UNBLOCK = 0x1 SIG_SETMASK = 0x2 ) type Siginfo struct { Signo int32 Errno int32 Code int32 _ [116]byte } type Termios struct { Iflag uint32 Oflag uint32 Cflag uint32 Lflag uint32 Cc [19]uint8 Line uint8 Ispeed uint32 Ospeed uint32 } type Taskstats struct { Version uint16 Ac_exitcode uint32 Ac_flag uint8 Ac_nice uint8 _ [4]byte Cpu_count uint64 Cpu_delay_total uint64 Blkio_count uint64 Blkio_delay_total uint64 Swapin_count uint64 Swapin_delay_total uint64 Cpu_run_real_total uint64 Cpu_run_virtual_total uint64 Ac_comm [32]uint8 Ac_sched uint8 Ac_pad [3]uint8 _ [4]byte Ac_uid uint32 Ac_gid uint32 Ac_pid uint32 Ac_ppid uint32 Ac_btime uint32 _ [4]byte Ac_etime uint64 Ac_utime uint64 Ac_stime uint64 Ac_minflt uint64 Ac_majflt uint64 Coremem uint64 Virtmem uint64 Hiwater_rss uint64 Hiwater_vm uint64 Read_char uint64 Write_char uint64 Read_syscalls uint64 Write_syscalls uint64 Read_bytes uint64 Write_bytes uint64 Cancelled_write_bytes uint64 Nvcsw uint64 Nivcsw uint64 Ac_utimescaled uint64 Ac_stimescaled uint64 Cpu_scaled_run_real_total uint64 Freepages_count uint64 Freepages_delay_total uint64 Thrashing_count uint64 Thrashing_delay_total uint64 Ac_btime64 uint64 Compact_count uint64 Compact_delay_total uint64 Ac_tgid uint32 _ [4]byte Ac_tgetime uint64 Ac_exe_dev uint64 Ac_exe_inode uint64 Wpcopy_count uint64 Wpcopy_delay_total uint64 Irq_count uint64 Irq_delay_total uint64 } type cpuMask uint32 const ( _NCPUBITS = 0x20 ) const ( CBitFieldMaskBit0 = 0x8000000000000000 CBitFieldMaskBit1 = 0x4000000000000000 CBitFieldMaskBit2 = 0x2000000000000000 CBitFieldMaskBit3 = 0x1000000000000000 CBitFieldMaskBit4 = 0x800000000000000 CBitFieldMaskBit5 = 0x400000000000000 CBitFieldMaskBit6 = 0x200000000000000 CBitFieldMaskBit7 = 0x100000000000000 CBitFieldMaskBit8 = 0x80000000000000 CBitFieldMaskBit9 = 0x40000000000000 CBitFieldMaskBit10 = 0x20000000000000 CBitFieldMaskBit11 = 0x10000000000000 CBitFieldMaskBit12 = 0x8000000000000 CBitFieldMaskBit13 = 0x4000000000000 CBitFieldMaskBit14 = 0x2000000000000 CBitFieldMaskBit15 = 0x1000000000000 CBitFieldMaskBit16 = 0x800000000000 CBitFieldMaskBit17 = 0x400000000000 CBitFieldMaskBit18 = 0x200000000000 CBitFieldMaskBit19 = 0x100000000000 CBitFieldMaskBit20 = 0x80000000000 CBitFieldMaskBit21 = 0x40000000000 CBitFieldMaskBit22 = 0x20000000000 CBitFieldMaskBit23 = 0x10000000000 CBitFieldMaskBit24 = 0x8000000000 CBitFieldMaskBit25 = 0x4000000000 CBitFieldMaskBit26 = 0x2000000000 CBitFieldMaskBit27 = 0x1000000000 CBitFieldMaskBit28 = 0x800000000 CBitFieldMaskBit29 = 0x400000000 CBitFieldMaskBit30 = 0x200000000 CBitFieldMaskBit31 = 0x100000000 CBitFieldMaskBit32 = 0x80000000 CBitFieldMaskBit33 = 0x40000000 CBitFieldMaskBit34 = 0x20000000 CBitFieldMaskBit35 = 0x10000000 CBitFieldMaskBit36 = 0x8000000 CBitFieldMaskBit37 = 0x4000000 CBitFieldMaskBit38 = 0x2000000 CBitFieldMaskBit39 = 0x1000000 CBitFieldMaskBit40 = 0x800000 CBitFieldMaskBit41 = 0x400000 CBitFieldMaskBit42 = 0x200000 CBitFieldMaskBit43 = 0x100000 CBitFieldMaskBit44 = 0x80000 CBitFieldMaskBit45 = 0x40000 CBitFieldMaskBit46 = 0x20000 CBitFieldMaskBit47 = 0x10000 CBitFieldMaskBit48 = 0x8000 CBitFieldMaskBit49 = 0x4000 CBitFieldMaskBit50 = 0x2000 CBitFieldMaskBit51 = 0x1000 CBitFieldMaskBit52 = 0x800 CBitFieldMaskBit53 = 0x400 CBitFieldMaskBit54 = 0x200 CBitFieldMaskBit55 = 0x100 CBitFieldMaskBit56 = 0x80 CBitFieldMaskBit57 = 0x40 CBitFieldMaskBit58 = 0x20 CBitFieldMaskBit59 = 0x10 CBitFieldMaskBit60 = 0x8 CBitFieldMaskBit61 = 0x4 CBitFieldMaskBit62 = 0x2 CBitFieldMaskBit63 = 0x1 ) type SockaddrStorage struct { Family uint16 Data [122]byte _ uint32 } type HDGeometry struct { Heads uint8 Sectors uint8 Cylinders uint16 Start uint32 } 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 _ [4]byte } type TpacketHdr struct { Status uint32 Len uint32 Snaplen uint32 Mac uint16 Net uint16 Sec uint32 Usec uint32 } const ( SizeofTpacketHdr = 0x18 ) type RTCPLLInfo struct { Ctrl int32 Value int32 Max int32 Min int32 Posmult int32 Negmult int32 Clock int32 } type BlkpgPartition struct { Start int64 Length int64 Pno int32 Devname [64]uint8 Volname [64]uint8 _ [4]byte } const ( BLKPG = 0x20001269 ) type CryptoUserAlg struct { Name [64]uint8 Driver_name [64]uint8 Module_name [64]uint8 Type uint32 Mask uint32 Refcnt uint32 Flags uint32 } type CryptoStatAEAD struct { Type [64]uint8 Encrypt_cnt uint64 Encrypt_tlen uint64 Decrypt_cnt uint64 Decrypt_tlen uint64 Err_cnt uint64 } type CryptoStatAKCipher struct { Type [64]uint8 Encrypt_cnt uint64 Encrypt_tlen uint64 Decrypt_cnt uint64 Decrypt_tlen uint64 Verify_cnt uint64 Sign_cnt uint64 Err_cnt uint64 } type CryptoStatCipher struct { Type [64]uint8 Encrypt_cnt uint64 Encrypt_tlen uint64 Decrypt_cnt uint64 Decrypt_tlen uint64 Err_cnt uint64 } type CryptoStatCompress struct { Type [64]uint8 Compress_cnt uint64 Compress_tlen uint64 Decompress_cnt uint64 Decompress_tlen uint64 Err_cnt uint64 } type CryptoStatHash struct { Type [64]uint8 Hash_cnt uint64 Hash_tlen uint64 Err_cnt uint64 } type CryptoStatKPP struct { Type [64]uint8 Setsecret_cnt uint64 Generate_public_key_cnt uint64 Compute_shared_secret_cnt uint64 Err_cnt uint64 } type CryptoStatRNG struct { Type [64]uint8 Generate_cnt uint64 Generate_tlen uint64 Seed_cnt uint64 Err_cnt uint64 } type CryptoStatLarval struct { Type [64]uint8 } type CryptoReportLarval struct { Type [64]uint8 } type CryptoReportHash struct { Type [64]uint8 Blocksize uint32 Digestsize uint32 } type CryptoReportCipher struct { Type [64]uint8 Blocksize uint32 Min_keysize uint32 Max_keysize uint32 } type CryptoReportBlkCipher struct { Type [64]uint8 Geniv [64]uint8 Blocksize uint32 Min_keysize uint32 Max_keysize uint32 Ivsize uint32 } type CryptoReportAEAD struct { Type [64]uint8 Geniv [64]uint8 Blocksize uint32 Maxauthsize uint32 Ivsize uint32 } type CryptoReportComp struct { Type [64]uint8 } type CryptoReportRNG struct { Type [64]uint8 Seedsize uint32 } type CryptoReportAKCipher struct { Type [64]uint8 } type CryptoReportKPP struct { Type [64]uint8 } type CryptoReportAcomp struct { Type [64]uint8 } type LoopInfo struct { Number int32 Device uint32 Inode uint32 Rdevice uint32 Offset int32 Encrypt_type int32 Encrypt_key_size int32 Flags int32 Name [64]uint8 Encrypt_key [32]uint8 Init [2]uint32 Reserved [4]uint8 } type TIPCSubscr struct { Seq TIPCServiceRange Timeout uint32 Filter uint32 Handle [8]uint8 } type TIPCSIOCLNReq struct { Peer uint32 Id uint32 Linkname [68]uint8 } type TIPCSIOCNodeIDReq struct { Peer uint32 Id [16]uint8 } type PPSKInfo struct { Assert_sequence uint32 Clear_sequence uint32 Assert_tu PPSKTime Clear_tu PPSKTime Current_mode int32 _ [4]byte } const ( PPS_GETPARAMS = 0x400470a1 PPS_SETPARAMS = 0x800470a2 PPS_GETCAP = 0x400470a3 PPS_FETCH = 0xc00470a4 ) const ( PIDFD_NONBLOCK = 0x800 ) type SysvIpcPerm struct { Key int32 Uid uint32 Gid uint32 Cuid uint32 Cgid uint32 Mode uint32 Seq uint32 _ uint32 _ uint64 _ uint64 } type SysvShmDesc struct { Perm SysvIpcPerm Atime_high uint32 Atime uint32 Dtime_high uint32 Dtime uint32 Ctime_high uint32 Ctime uint32 _ uint32 Segsz uint32 Cpid int32 Lpid int32 Nattch uint32 _ uint32 _ uint32 _ [4]byte } dependencies/pkg/mod/golang.org/x/sys@v0.26.0/unix/syscall_bsd_test.go0000644000000000000000000000264215107355264024505 0ustar rootroot// 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. //go:build darwin || dragonfly || freebsd || netbsd || openbsd package unix_test import ( "runtime" "testing" "time" "golang.org/x/sys/unix" ) func TestSysctlRaw(t *testing.T) { switch runtime.GOOS { case "netbsd", "openbsd": t.Skipf("kern.proc.pid does not exist on %s", runtime.GOOS) } _, err := unix.SysctlRaw("kern.proc.pid", unix.Getpid()) if err != nil { t.Fatal(err) } } func TestSysctlUint32(t *testing.T) { maxproc, err := unix.SysctlUint32("kern.maxproc") if err != nil { t.Fatal(err) } t.Logf("kern.maxproc: %v", maxproc) } func TestSysctlClockinfo(t *testing.T) { ci, err := unix.SysctlClockinfo("kern.clockrate") if err != nil { if runtime.GOOS == "openbsd" && (err == unix.ENOMEM || err == unix.EIO) { if osrev, _ := unix.SysctlUint32("kern.osrevision"); osrev <= 202010 { // SysctlClockinfo should fail gracefully due to a struct size // mismatch on OpenBSD 6.8 and earlier, see // https://golang.org/issue/47629 return } } t.Fatal(err) } t.Logf("tick = %v, hz = %v, profhz = %v, stathz = %v", ci.Tick, ci.Hz, ci.Profhz, ci.Stathz) } func TestSysctlTimeval(t *testing.T) { tv, err := unix.SysctlTimeval("kern.boottime") if err != nil { t.Fatal(err) } t.Logf("boottime = %v", time.Unix(tv.Unix())) } dependencies/pkg/mod/golang.org/x/sys@v0.26.0/unix/zerrors_aix_ppc.go0000644000000000000000000015065315107355264024363 0ustar rootroot// mkerrors.sh -maix32 // Code generated by the command above; see README.md. DO NOT EDIT. //go:build ppc && aix // Created by cgo -godefs - DO NOT EDIT // cgo -godefs -- -maix32 _const.go package unix import "syscall" const ( AF_APPLETALK = 0x10 AF_BYPASS = 0x19 AF_CCITT = 0xa AF_CHAOS = 0x5 AF_DATAKIT = 0x9 AF_DECnet = 0xc AF_DLI = 0xd AF_ECMA = 0x8 AF_HYLINK = 0xf AF_IMPLINK = 0x3 AF_INET = 0x2 AF_INET6 = 0x18 AF_INTF = 0x14 AF_ISO = 0x7 AF_LAT = 0xe AF_LINK = 0x12 AF_LOCAL = 0x1 AF_MAX = 0x1e AF_NDD = 0x17 AF_NETWARE = 0x16 AF_NS = 0x6 AF_OSI = 0x7 AF_PUP = 0x4 AF_RIF = 0x15 AF_ROUTE = 0x11 AF_SNA = 0xb AF_UNIX = 0x1 AF_UNSPEC = 0x0 ALTWERASE = 0x400000 ARPHRD_802_3 = 0x6 ARPHRD_802_5 = 0x6 ARPHRD_ETHER = 0x1 ARPHRD_FDDI = 0x1 B0 = 0x0 B110 = 0x3 B1200 = 0x9 B134 = 0x4 B150 = 0x5 B1800 = 0xa B19200 = 0xe B200 = 0x6 B2400 = 0xb B300 = 0x7 B38400 = 0xf B4800 = 0xc B50 = 0x1 B600 = 0x8 B75 = 0x2 B9600 = 0xd BRKINT = 0x2 BS0 = 0x0 BS1 = 0x1000 BSDLY = 0x1000 CAP_AACCT = 0x6 CAP_ARM_APPLICATION = 0x5 CAP_BYPASS_RAC_VMM = 0x3 CAP_CLEAR = 0x0 CAP_CREDENTIALS = 0x7 CAP_EFFECTIVE = 0x1 CAP_EWLM_AGENT = 0x4 CAP_INHERITABLE = 0x2 CAP_MAXIMUM = 0x7 CAP_NUMA_ATTACH = 0x2 CAP_PERMITTED = 0x3 CAP_PROPAGATE = 0x1 CAP_PROPOGATE = 0x1 CAP_SET = 0x1 CBAUD = 0xf CFLUSH = 0xf CIBAUD = 0xf0000 CLOCAL = 0x800 CLOCK_MONOTONIC = 0xa CLOCK_PROCESS_CPUTIME_ID = 0xb CLOCK_REALTIME = 0x9 CLOCK_THREAD_CPUTIME_ID = 0xc CR0 = 0x0 CR1 = 0x100 CR2 = 0x200 CR3 = 0x300 CRDLY = 0x300 CREAD = 0x80 CS5 = 0x0 CS6 = 0x10 CS7 = 0x20 CS8 = 0x30 CSIOCGIFCONF = -0x3ff796dc CSIZE = 0x30 CSMAP_DIR = "/usr/lib/nls/csmap/" CSTART = '\021' CSTOP = '\023' CSTOPB = 0x40 CSUSP = 0x1a ECHO = 0x8 ECHOCTL = 0x20000 ECHOE = 0x10 ECHOK = 0x20 ECHOKE = 0x80000 ECHONL = 0x40 ECHOPRT = 0x40000 ECH_ICMPID = 0x2 ETHERNET_CSMACD = 0x6 EVENP = 0x80 EXCONTINUE = 0x0 EXDLOK = 0x3 EXIO = 0x2 EXPGIO = 0x0 EXRESUME = 0x2 EXRETURN = 0x1 EXSIG = 0x4 EXTA = 0xe EXTB = 0xf EXTRAP = 0x1 EYEC_RTENTRYA = 0x257274656e747241 EYEC_RTENTRYF = 0x257274656e747246 E_ACC = 0x0 FD_CLOEXEC = 0x1 FD_SETSIZE = 0xfffe FF0 = 0x0 FF1 = 0x2000 FFDLY = 0x2000 FLUSHBAND = 0x40 FLUSHLOW = 0x8 FLUSHO = 0x100000 FLUSHR = 0x1 FLUSHRW = 0x3 FLUSHW = 0x2 F_CLOSEM = 0xa F_DUP2FD = 0xe F_DUPFD = 0x0 F_GETFD = 0x1 F_GETFL = 0x3 F_GETLK = 0x5 F_GETLK64 = 0xb F_GETOWN = 0x8 F_LOCK = 0x1 F_OK = 0x0 F_RDLCK = 0x1 F_SETFD = 0x2 F_SETFL = 0x4 F_SETLK = 0x6 F_SETLK64 = 0xc F_SETLKW = 0x7 F_SETLKW64 = 0xd F_SETOWN = 0x9 F_TEST = 0x3 F_TLOCK = 0x2 F_TSTLK = 0xf F_ULOCK = 0x0 F_UNLCK = 0x3 F_WRLCK = 0x2 HUPCL = 0x400 IBSHIFT = 0x10 ICANON = 0x2 ICMP6_FILTER = 0x26 ICMP6_SEC_SEND_DEL = 0x46 ICMP6_SEC_SEND_GET = 0x47 ICMP6_SEC_SEND_SET = 0x44 ICMP6_SEC_SEND_SET_CGA_ADDR = 0x45 ICRNL = 0x100 IEXTEN = 0x200000 IFA_FIRSTALIAS = 0x2000 IFA_ROUTE = 0x1 IFF_64BIT = 0x4000000 IFF_ALLCAST = 0x20000 IFF_ALLMULTI = 0x200 IFF_BPF = 0x8000000 IFF_BRIDGE = 0x40000 IFF_BROADCAST = 0x2 IFF_CANTCHANGE = 0x80c52 IFF_CHECKSUM_OFFLOAD = 0x10000000 IFF_D1 = 0x8000 IFF_D2 = 0x4000 IFF_D3 = 0x2000 IFF_D4 = 0x1000 IFF_DEBUG = 0x4 IFF_DEVHEALTH = 0x4000 IFF_DO_HW_LOOPBACK = 0x10000 IFF_GROUP_ROUTING = 0x2000000 IFF_IFBUFMGT = 0x800000 IFF_LINK0 = 0x100000 IFF_LINK1 = 0x200000 IFF_LINK2 = 0x400000 IFF_LOOPBACK = 0x8 IFF_MULTICAST = 0x80000 IFF_NOARP = 0x80 IFF_NOECHO = 0x800 IFF_NOTRAILERS = 0x20 IFF_OACTIVE = 0x400 IFF_POINTOPOINT = 0x10 IFF_PROMISC = 0x100 IFF_PSEG = 0x40000000 IFF_RUNNING = 0x40 IFF_SIMPLEX = 0x800 IFF_SNAP = 0x8000 IFF_TCP_DISABLE_CKSUM = 0x20000000 IFF_TCP_NOCKSUM = 0x1000000 IFF_UP = 0x1 IFF_VIPA = 0x80000000 IFNAMSIZ = 0x10 IFO_FLUSH = 0x1 IFT_1822 = 0x2 IFT_AAL5 = 0x31 IFT_ARCNET = 0x23 IFT_ARCNETPLUS = 0x24 IFT_ATM = 0x25 IFT_CEPT = 0x13 IFT_CLUSTER = 0x3e IFT_DS3 = 0x1e IFT_EON = 0x19 IFT_ETHER = 0x6 IFT_FCS = 0x3a IFT_FDDI = 0xf IFT_FRELAY = 0x20 IFT_FRELAYDCE = 0x2c IFT_GIFTUNNEL = 0x3c IFT_HDH1822 = 0x3 IFT_HF = 0x3d IFT_HIPPI = 0x2f IFT_HSSI = 0x2e IFT_HY = 0xe IFT_IB = 0xc7 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_SN = 0x38 IFT_SONET = 0x27 IFT_SONETPATH = 0x32 IFT_SONETVT = 0x33 IFT_SP = 0x39 IFT_STARLAN = 0xb IFT_T1 = 0x12 IFT_TUNNEL = 0x3b IFT_ULTRA = 0x1d IFT_V35 = 0x2d IFT_VIPA = 0x37 IFT_X25 = 0x5 IFT_X25DDN = 0x4 IFT_X25PLE = 0x28 IFT_XETHER = 0x1a IGNBRK = 0x1 IGNCR = 0x80 IGNPAR = 0x4 IMAXBEL = 0x10000 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_USE = 0x1 IPPROTO_AH = 0x33 IPPROTO_BIP = 0x53 IPPROTO_DSTOPTS = 0x3c IPPROTO_EGP = 0x8 IPPROTO_EON = 0x50 IPPROTO_ESP = 0x32 IPPROTO_FRAGMENT = 0x2c IPPROTO_GGP = 0x3 IPPROTO_GIF = 0x8c 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_LOCAL = 0x3f IPPROTO_MAX = 0x100 IPPROTO_MH = 0x87 IPPROTO_NONE = 0x3b IPPROTO_PUP = 0xc IPPROTO_QOS = 0x2d IPPROTO_RAW = 0xff IPPROTO_ROUTING = 0x2b IPPROTO_RSVP = 0x2e IPPROTO_SCTP = 0x84 IPPROTO_TCP = 0x6 IPPROTO_TP = 0x1d IPPROTO_UDP = 0x11 IPV6_ADDRFORM = 0x16 IPV6_ADDR_PREFERENCES = 0x4a IPV6_ADD_MEMBERSHIP = 0xc IPV6_AIXRAWSOCKET = 0x39 IPV6_CHECKSUM = 0x27 IPV6_DONTFRAG = 0x2d IPV6_DROP_MEMBERSHIP = 0xd IPV6_DSTOPTS = 0x36 IPV6_FLOWINFO_FLOWLABEL = 0xffffff IPV6_FLOWINFO_PRIFLOW = 0xfffffff IPV6_FLOWINFO_PRIORITY = 0xf000000 IPV6_FLOWINFO_SRFLAG = 0x10000000 IPV6_FLOWINFO_VERSION = 0xf0000000 IPV6_HOPLIMIT = 0x28 IPV6_HOPOPTS = 0x34 IPV6_JOIN_GROUP = 0xc IPV6_LEAVE_GROUP = 0xd IPV6_MIPDSTOPTS = 0x36 IPV6_MULTICAST_HOPS = 0xa IPV6_MULTICAST_IF = 0x9 IPV6_MULTICAST_LOOP = 0xb IPV6_NEXTHOP = 0x30 IPV6_NOPROBE = 0x1c IPV6_PATHMTU = 0x2e IPV6_PKTINFO = 0x21 IPV6_PKTOPTIONS = 0x24 IPV6_PRIORITY_10 = 0xa000000 IPV6_PRIORITY_11 = 0xb000000 IPV6_PRIORITY_12 = 0xc000000 IPV6_PRIORITY_13 = 0xd000000 IPV6_PRIORITY_14 = 0xe000000 IPV6_PRIORITY_15 = 0xf000000 IPV6_PRIORITY_8 = 0x8000000 IPV6_PRIORITY_9 = 0x9000000 IPV6_PRIORITY_BULK = 0x4000000 IPV6_PRIORITY_CONTROL = 0x7000000 IPV6_PRIORITY_FILLER = 0x1000000 IPV6_PRIORITY_INTERACTIVE = 0x6000000 IPV6_PRIORITY_RESERVED1 = 0x3000000 IPV6_PRIORITY_RESERVED2 = 0x5000000 IPV6_PRIORITY_UNATTENDED = 0x2000000 IPV6_PRIORITY_UNCHARACTERIZED = 0x0 IPV6_RECVDSTOPTS = 0x38 IPV6_RECVHOPLIMIT = 0x29 IPV6_RECVHOPOPTS = 0x35 IPV6_RECVHOPS = 0x22 IPV6_RECVIF = 0x1e IPV6_RECVPATHMTU = 0x2f IPV6_RECVPKTINFO = 0x23 IPV6_RECVRTHDR = 0x33 IPV6_RECVSRCRT = 0x1d IPV6_RECVTCLASS = 0x2a IPV6_RTHDR = 0x32 IPV6_RTHDRDSTOPTS = 0x37 IPV6_RTHDR_TYPE_0 = 0x0 IPV6_RTHDR_TYPE_2 = 0x2 IPV6_SENDIF = 0x1f IPV6_SRFLAG_LOOSE = 0x0 IPV6_SRFLAG_STRICT = 0x10000000 IPV6_TCLASS = 0x2b IPV6_TOKEN_LENGTH = 0x40 IPV6_UNICAST_HOPS = 0x4 IPV6_USE_MIN_MTU = 0x2c IPV6_V6ONLY = 0x25 IPV6_VERSION = 0x60000000 IP_ADDRFORM = 0x16 IP_ADD_MEMBERSHIP = 0xc IP_ADD_SOURCE_MEMBERSHIP = 0x3c IP_BLOCK_SOURCE = 0x3a IP_BROADCAST_IF = 0x10 IP_CACHE_LINE_SIZE = 0x80 IP_DEFAULT_MULTICAST_LOOP = 0x1 IP_DEFAULT_MULTICAST_TTL = 0x1 IP_DF = 0x4000 IP_DHCPMODE = 0x11 IP_DONTFRAG = 0x19 IP_DROP_MEMBERSHIP = 0xd IP_DROP_SOURCE_MEMBERSHIP = 0x3d IP_FINDPMTU = 0x1a IP_HDRINCL = 0x2 IP_INC_MEMBERSHIPS = 0x14 IP_INIT_MEMBERSHIP = 0x14 IP_MAXPACKET = 0xffff IP_MF = 0x2000 IP_MSS = 0x240 IP_MULTICAST_HOPS = 0xa IP_MULTICAST_IF = 0x9 IP_MULTICAST_LOOP = 0xb IP_MULTICAST_TTL = 0xa IP_OPT = 0x1b IP_OPTIONS = 0x1 IP_PMTUAGE = 0x1b IP_RECVDSTADDR = 0x7 IP_RECVIF = 0x14 IP_RECVIFINFO = 0xf IP_RECVINTERFACE = 0x20 IP_RECVMACHDR = 0xe IP_RECVOPTS = 0x5 IP_RECVRETOPTS = 0x6 IP_RECVTTL = 0x22 IP_RETOPTS = 0x8 IP_SOURCE_FILTER = 0x48 IP_TOS = 0x3 IP_TTL = 0x4 IP_UNBLOCK_SOURCE = 0x3b IP_UNICAST_HOPS = 0x4 ISIG = 0x1 ISTRIP = 0x20 IUCLC = 0x800 IXANY = 0x1000 IXOFF = 0x400 IXON = 0x200 I_FLUSH = 0x20005305 LNOFLSH = 0x8000 LOCK_EX = 0x2 LOCK_NB = 0x4 LOCK_SH = 0x1 LOCK_UN = 0x8 MADV_DONTNEED = 0x4 MADV_NORMAL = 0x0 MADV_RANDOM = 0x1 MADV_SEQUENTIAL = 0x2 MADV_SPACEAVAIL = 0x5 MADV_WILLNEED = 0x3 MAP_ANON = 0x10 MAP_ANONYMOUS = 0x10 MAP_FILE = 0x0 MAP_FIXED = 0x100 MAP_PRIVATE = 0x2 MAP_SHARED = 0x1 MAP_TYPE = 0xf0 MAP_VARIABLE = 0x0 MCAST_BLOCK_SOURCE = 0x40 MCAST_EXCLUDE = 0x2 MCAST_INCLUDE = 0x1 MCAST_JOIN_GROUP = 0x3e MCAST_JOIN_SOURCE_GROUP = 0x42 MCAST_LEAVE_GROUP = 0x3f MCAST_LEAVE_SOURCE_GROUP = 0x43 MCAST_SOURCE_FILTER = 0x49 MCAST_UNBLOCK_SOURCE = 0x41 MCL_CURRENT = 0x100 MCL_FUTURE = 0x200 MSG_ANY = 0x4 MSG_ARGEXT = 0x400 MSG_BAND = 0x2 MSG_COMPAT = 0x8000 MSG_CTRUNC = 0x20 MSG_DONTROUTE = 0x4 MSG_EOR = 0x8 MSG_HIPRI = 0x1 MSG_MAXIOVLEN = 0x10 MSG_MPEG2 = 0x80 MSG_NONBLOCK = 0x4000 MSG_NOSIGNAL = 0x100 MSG_OOB = 0x1 MSG_PEEK = 0x2 MSG_TRUNC = 0x10 MSG_WAITALL = 0x40 MSG_WAITFORONE = 0x200 MS_ASYNC = 0x10 MS_EINTR = 0x80 MS_INVALIDATE = 0x40 MS_PER_SEC = 0x3e8 MS_SYNC = 0x20 NFDBITS = 0x20 NL0 = 0x0 NL1 = 0x4000 NL2 = 0x8000 NL3 = 0xc000 NLDLY = 0x4000 NOFLSH = 0x80 NOFLUSH = 0x80000000 OCRNL = 0x8 OFDEL = 0x80 OFILL = 0x40 OLCUC = 0x2 ONLCR = 0x4 ONLRET = 0x20 ONOCR = 0x10 ONOEOT = 0x80000 OPOST = 0x1 OXTABS = 0x40000 O_ACCMODE = 0x23 O_APPEND = 0x8 O_CIO = 0x80 O_CIOR = 0x800000000 O_CLOEXEC = 0x800000 O_CREAT = 0x100 O_DEFER = 0x2000 O_DELAY = 0x4000 O_DIRECT = 0x8000000 O_DIRECTORY = 0x80000 O_DSYNC = 0x400000 O_EFSOFF = 0x400000000 O_EFSON = 0x200000000 O_EXCL = 0x400 O_EXEC = 0x20 O_LARGEFILE = 0x4000000 O_NDELAY = 0x8000 O_NOCACHE = 0x100000 O_NOCTTY = 0x800 O_NOFOLLOW = 0x1000000 O_NONBLOCK = 0x4 O_NONE = 0x3 O_NSHARE = 0x10000 O_RAW = 0x100000000 O_RDONLY = 0x0 O_RDWR = 0x2 O_RSHARE = 0x1000 O_RSYNC = 0x200000 O_SEARCH = 0x20 O_SNAPSHOT = 0x40 O_SYNC = 0x10 O_TRUNC = 0x200 O_TTY_INIT = 0x0 O_WRONLY = 0x1 PARENB = 0x100 PAREXT = 0x100000 PARMRK = 0x8 PARODD = 0x200 PENDIN = 0x20000000 PRIO_PGRP = 0x1 PRIO_PROCESS = 0x0 PRIO_USER = 0x2 PROT_EXEC = 0x4 PROT_NONE = 0x0 PROT_READ = 0x1 PROT_WRITE = 0x2 PR_64BIT = 0x20 PR_ADDR = 0x2 PR_ARGEXT = 0x400 PR_ATOMIC = 0x1 PR_CONNREQUIRED = 0x4 PR_FASTHZ = 0x5 PR_INP = 0x40 PR_INTRLEVEL = 0x8000 PR_MLS = 0x100 PR_MLS_1_LABEL = 0x200 PR_NOEOR = 0x4000 PR_RIGHTS = 0x10 PR_SLOWHZ = 0x2 PR_WANTRCVD = 0x8 RLIMIT_AS = 0x6 RLIMIT_CORE = 0x4 RLIMIT_CPU = 0x0 RLIMIT_DATA = 0x2 RLIMIT_FSIZE = 0x1 RLIMIT_NOFILE = 0x7 RLIMIT_NPROC = 0x9 RLIMIT_RSS = 0x5 RLIMIT_STACK = 0x3 RLIM_INFINITY = 0x7fffffff 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_DOWNSTREAM = 0x100 RTA_DST = 0x1 RTA_GATEWAY = 0x2 RTA_GENMASK = 0x8 RTA_IFA = 0x20 RTA_IFP = 0x10 RTA_NETMASK = 0x4 RTC_IA64 = 0x3 RTC_POWER = 0x1 RTC_POWER_PC = 0x2 RTF_ACTIVE_DGD = 0x1000000 RTF_BCE = 0x80000 RTF_BLACKHOLE = 0x1000 RTF_BROADCAST = 0x400000 RTF_BUL = 0x2000 RTF_CLONE = 0x10000 RTF_CLONED = 0x20000 RTF_CLONING = 0x100 RTF_DONE = 0x40 RTF_DYNAMIC = 0x10 RTF_FREE_IN_PROG = 0x4000000 RTF_GATEWAY = 0x2 RTF_HOST = 0x4 RTF_LLINFO = 0x400 RTF_LOCAL = 0x200000 RTF_MASK = 0x80 RTF_MODIFIED = 0x20 RTF_MULTICAST = 0x800000 RTF_PERMANENT6 = 0x8000000 RTF_PINNED = 0x100000 RTF_PROTO1 = 0x8000 RTF_PROTO2 = 0x4000 RTF_PROTO3 = 0x40000 RTF_REJECT = 0x8 RTF_SMALLMTU = 0x40000 RTF_STATIC = 0x800 RTF_STOPSRCH = 0x2000000 RTF_UNREACHABLE = 0x10000000 RTF_UP = 0x1 RTF_XRESOLVE = 0x200 RTM_ADD = 0x1 RTM_CHANGE = 0x3 RTM_DELADDR = 0xd RTM_DELETE = 0x2 RTM_EXPIRE = 0xf RTM_GET = 0x4 RTM_GETNEXT = 0x11 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_RTLOST = 0x10 RTM_RTTUNIT = 0xf4240 RTM_SAMEADDR = 0x12 RTM_SET = 0x13 RTM_VERSION = 0x2 RTM_VERSION_GR = 0x4 RTM_VERSION_GR_COMPAT = 0x3 RTM_VERSION_POLICY = 0x5 RTM_VERSION_POLICY_EXT = 0x6 RTM_VERSION_POLICY_PRFN = 0x7 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 RUSAGE_THREAD = 0x1 SCM_RIGHTS = 0x1 SHUT_RD = 0x0 SHUT_RDWR = 0x2 SHUT_WR = 0x1 SIGMAX64 = 0xff SIGQUEUE_MAX = 0x20 SIOCADDIFVIPA = 0x20006942 SIOCADDMTU = -0x7ffb9690 SIOCADDMULTI = -0x7fdf96cf SIOCADDNETID = -0x7fd796a9 SIOCADDRT = -0x7fcf8df6 SIOCAIFADDR = -0x7fbf96e6 SIOCATMARK = 0x40047307 SIOCDARP = -0x7fb396e0 SIOCDELIFVIPA = 0x20006943 SIOCDELMTU = -0x7ffb968f SIOCDELMULTI = -0x7fdf96ce SIOCDELPMTU = -0x7fd78ff6 SIOCDELRT = -0x7fcf8df5 SIOCDIFADDR = -0x7fd796e7 SIOCDNETOPT = -0x3ffe9680 SIOCDX25XLATE = -0x7fd7969b SIOCFIFADDR = -0x7fdf966d SIOCGARP = -0x3fb396da SIOCGETMTUS = 0x2000696f SIOCGETSGCNT = -0x3feb8acc SIOCGETVIFCNT = -0x3feb8acd SIOCGHIWAT = 0x40047301 SIOCGIFADDR = -0x3fd796df SIOCGIFADDRS = 0x2000698c SIOCGIFBAUDRATE = -0x3fdf9669 SIOCGIFBRDADDR = -0x3fd796dd SIOCGIFCONF = -0x3ff796bb SIOCGIFCONFGLOB = -0x3ff79670 SIOCGIFDSTADDR = -0x3fd796de SIOCGIFFLAGS = -0x3fd796ef SIOCGIFGIDLIST = 0x20006968 SIOCGIFHWADDR = -0x3fab966b SIOCGIFMETRIC = -0x3fd796e9 SIOCGIFMTU = -0x3fd796aa SIOCGIFNETMASK = -0x3fd796db SIOCGIFOPTIONS = -0x3fd796d6 SIOCGISNO = -0x3fd79695 SIOCGLOADF = -0x3ffb967e SIOCGLOWAT = 0x40047303 SIOCGNETOPT = -0x3ffe96a5 SIOCGNETOPT1 = -0x3fdf967f SIOCGNMTUS = 0x2000696e SIOCGPGRP = 0x40047309 SIOCGSIZIFCONF = 0x4004696a SIOCGSRCFILTER = -0x3fe796cb SIOCGTUNEPHASE = -0x3ffb9676 SIOCGX25XLATE = -0x3fd7969c SIOCIFATTACH = -0x7fdf9699 SIOCIFDETACH = -0x7fdf969a SIOCIFGETPKEY = -0x7fdf969b SIOCIF_ATM_DARP = -0x7fdf9683 SIOCIF_ATM_DUMPARP = -0x7fdf9685 SIOCIF_ATM_GARP = -0x7fdf9682 SIOCIF_ATM_IDLE = -0x7fdf9686 SIOCIF_ATM_SARP = -0x7fdf9681 SIOCIF_ATM_SNMPARP = -0x7fdf9687 SIOCIF_ATM_SVC = -0x7fdf9684 SIOCIF_ATM_UBR = -0x7fdf9688 SIOCIF_DEVHEALTH = -0x7ffb966c SIOCIF_IB_ARP_INCOMP = -0x7fdf9677 SIOCIF_IB_ARP_TIMER = -0x7fdf9678 SIOCIF_IB_CLEAR_PINFO = -0x3fdf966f SIOCIF_IB_DEL_ARP = -0x7fdf967f SIOCIF_IB_DEL_PINFO = -0x3fdf9670 SIOCIF_IB_DUMP_ARP = -0x7fdf9680 SIOCIF_IB_GET_ARP = -0x7fdf967e SIOCIF_IB_GET_INFO = -0x3f879675 SIOCIF_IB_GET_STATS = -0x3f879672 SIOCIF_IB_NOTIFY_ADDR_REM = -0x3f87966a SIOCIF_IB_RESET_STATS = -0x3f879671 SIOCIF_IB_RESIZE_CQ = -0x7fdf9679 SIOCIF_IB_SET_ARP = -0x7fdf967d SIOCIF_IB_SET_PKEY = -0x7fdf967c SIOCIF_IB_SET_PORT = -0x7fdf967b SIOCIF_IB_SET_QKEY = -0x7fdf9676 SIOCIF_IB_SET_QSIZE = -0x7fdf967a SIOCLISTIFVIPA = 0x20006944 SIOCSARP = -0x7fb396e2 SIOCSHIWAT = 0x80047300 SIOCSIFADDR = -0x7fd796f4 SIOCSIFADDRORI = -0x7fdb9673 SIOCSIFBRDADDR = -0x7fd796ed SIOCSIFDSTADDR = -0x7fd796f2 SIOCSIFFLAGS = -0x7fd796f0 SIOCSIFGIDLIST = 0x20006969 SIOCSIFMETRIC = -0x7fd796e8 SIOCSIFMTU = -0x7fd796a8 SIOCSIFNETDUMP = -0x7fd796e4 SIOCSIFNETMASK = -0x7fd796ea SIOCSIFOPTIONS = -0x7fd796d7 SIOCSIFSUBCHAN = -0x7fd796e5 SIOCSISNO = -0x7fd79694 SIOCSLOADF = -0x3ffb967d SIOCSLOWAT = 0x80047302 SIOCSNETOPT = -0x7ffe96a6 SIOCSPGRP = 0x80047308 SIOCSX25XLATE = -0x7fd7969d SOCK_CONN_DGRAM = 0x6 SOCK_DGRAM = 0x2 SOCK_RAW = 0x3 SOCK_RDM = 0x4 SOCK_SEQPACKET = 0x5 SOCK_STREAM = 0x1 SOL_SOCKET = 0xffff SOMAXCONN = 0x400 SO_ACCEPTCONN = 0x2 SO_AUDIT = 0x8000 SO_BROADCAST = 0x20 SO_CKSUMRECV = 0x800 SO_DEBUG = 0x1 SO_DONTROUTE = 0x10 SO_ERROR = 0x1007 SO_KEEPALIVE = 0x8 SO_KERNACCEPT = 0x2000 SO_LINGER = 0x80 SO_NOMULTIPATH = 0x4000 SO_NOREUSEADDR = 0x1000 SO_OOBINLINE = 0x100 SO_PEERID = 0x1009 SO_RCVBUF = 0x1002 SO_RCVLOWAT = 0x1004 SO_RCVTIMEO = 0x1006 SO_REUSEADDR = 0x4 SO_REUSEPORT = 0x200 SO_SNDBUF = 0x1001 SO_SNDLOWAT = 0x1003 SO_SNDTIMEO = 0x1005 SO_TIMESTAMPNS = 0x100a SO_TYPE = 0x1008 SO_USELOOPBACK = 0x40 SO_USE_IFBUFS = 0x400 S_BANDURG = 0x400 S_EMODFMT = 0x3c000000 S_ENFMT = 0x400 S_ERROR = 0x100 S_HANGUP = 0x200 S_HIPRI = 0x2 S_ICRYPTO = 0x80000 S_IEXEC = 0x40 S_IFBLK = 0x6000 S_IFCHR = 0x2000 S_IFDIR = 0x4000 S_IFIFO = 0x1000 S_IFJOURNAL = 0x10000 S_IFLNK = 0xa000 S_IFMPX = 0x2200 S_IFMT = 0xf000 S_IFPDIR = 0x4000000 S_IFPSDIR = 0x8000000 S_IFPSSDIR = 0xc000000 S_IFREG = 0x8000 S_IFSOCK = 0xc000 S_IFSYSEA = 0x30000000 S_INPUT = 0x1 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_ITCB = 0x1000000 S_ITP = 0x800000 S_IWGRP = 0x10 S_IWOTH = 0x2 S_IWRITE = 0x80 S_IWUSR = 0x80 S_IXACL = 0x2000000 S_IXATTR = 0x40000 S_IXGRP = 0x8 S_IXINTERFACE = 0x100000 S_IXMOD = 0x40000000 S_IXOTH = 0x1 S_IXUSR = 0x40 S_MSG = 0x8 S_OUTPUT = 0x4 S_RDBAND = 0x20 S_RDNORM = 0x10 S_RESERVED1 = 0x20000 S_RESERVED2 = 0x200000 S_RESERVED3 = 0x400000 S_RESERVED4 = 0x80000000 S_RESFMT1 = 0x10000000 S_RESFMT10 = 0x34000000 S_RESFMT11 = 0x38000000 S_RESFMT12 = 0x3c000000 S_RESFMT2 = 0x14000000 S_RESFMT3 = 0x18000000 S_RESFMT4 = 0x1c000000 S_RESFMT5 = 0x20000000 S_RESFMT6 = 0x24000000 S_RESFMT7 = 0x28000000 S_RESFMT8 = 0x2c000000 S_WRBAND = 0x80 S_WRNORM = 0x40 TAB0 = 0x0 TAB1 = 0x400 TAB2 = 0x800 TAB3 = 0xc00 TABDLY = 0xc00 TCFLSH = 0x540c TCGETA = 0x5405 TCGETS = 0x5401 TCIFLUSH = 0x0 TCIOFF = 0x2 TCIOFLUSH = 0x2 TCION = 0x3 TCOFLUSH = 0x1 TCOOFF = 0x0 TCOON = 0x1 TCP_24DAYS_WORTH_OF_SLOWTICKS = 0x3f4800 TCP_ACLADD = 0x23 TCP_ACLBIND = 0x26 TCP_ACLCLEAR = 0x22 TCP_ACLDEL = 0x24 TCP_ACLDENY = 0x8 TCP_ACLFLUSH = 0x21 TCP_ACLGID = 0x1 TCP_ACLLS = 0x25 TCP_ACLSUBNET = 0x4 TCP_ACLUID = 0x2 TCP_CWND_DF = 0x16 TCP_CWND_IF = 0x15 TCP_DELAY_ACK_FIN = 0x2 TCP_DELAY_ACK_SYN = 0x1 TCP_FASTNAME = 0x101080a TCP_KEEPCNT = 0x13 TCP_KEEPIDLE = 0x11 TCP_KEEPINTVL = 0x12 TCP_LSPRIV = 0x29 TCP_LUID = 0x20 TCP_MAXBURST = 0x8 TCP_MAXDF = 0x64 TCP_MAXIF = 0x64 TCP_MAXSEG = 0x2 TCP_MAXWIN = 0xffff TCP_MAXWINDOWSCALE = 0xe TCP_MAX_SACK = 0x4 TCP_MSS = 0x5b4 TCP_NODELAY = 0x1 TCP_NODELAYACK = 0x14 TCP_NOREDUCE_CWND_EXIT_FRXMT = 0x19 TCP_NOREDUCE_CWND_IN_FRXMT = 0x18 TCP_NOTENTER_SSTART = 0x17 TCP_OPT = 0x19 TCP_RFC1323 = 0x4 TCP_SETPRIV = 0x27 TCP_STDURG = 0x10 TCP_TIMESTAMP_OPTLEN = 0xc TCP_UNSETPRIV = 0x28 TCSAFLUSH = 0x2 TCSBRK = 0x5409 TCSETA = 0x5406 TCSETAF = 0x5408 TCSETAW = 0x5407 TCSETS = 0x5402 TCSETSF = 0x5404 TCSETSW = 0x5403 TCXONC = 0x540b TIMER_ABSTIME = 0x3e7 TIMER_MAX = 0x20 TIOC = 0x5400 TIOCCBRK = 0x2000747a TIOCCDTR = 0x20007478 TIOCCONS = 0x80047462 TIOCEXCL = 0x2000740d TIOCFLUSH = 0x80047410 TIOCGETC = 0x40067412 TIOCGETD = 0x40047400 TIOCGETP = 0x40067408 TIOCGLTC = 0x40067474 TIOCGPGRP = 0x40047477 TIOCGSID = 0x40047448 TIOCGSIZE = 0x40087468 TIOCGWINSZ = 0x40087468 TIOCHPCL = 0x20007402 TIOCLBIC = 0x8004747e TIOCLBIS = 0x8004747f TIOCLGET = 0x4004747c TIOCLSET = 0x8004747d TIOCMBIC = 0x8004746b TIOCMBIS = 0x8004746c TIOCMGET = 0x4004746a TIOCMIWAIT = 0x80047464 TIOCMODG = 0x40047403 TIOCMODS = 0x80047404 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_NOSTOP = 0x10 TIOCPKT_START = 0x8 TIOCPKT_STOP = 0x4 TIOCREMOTE = 0x80047469 TIOCSBRK = 0x2000747b TIOCSDTR = 0x20007479 TIOCSETC = 0x80067411 TIOCSETD = 0x80047401 TIOCSETN = 0x8006740a TIOCSETP = 0x80067409 TIOCSLTC = 0x80067475 TIOCSPGRP = 0x80047476 TIOCSSIZE = 0x80087467 TIOCSTART = 0x2000746e TIOCSTI = 0x80017472 TIOCSTOP = 0x2000746f TIOCSWINSZ = 0x80087467 TIOCUCNTL = 0x80047466 TOSTOP = 0x10000 UTIME_NOW = -0x2 UTIME_OMIT = -0x3 VDISCRD = 0xc VDSUSP = 0xa VEOF = 0x4 VEOL = 0x5 VEOL2 = 0x6 VERASE = 0x2 VINTR = 0x0 VKILL = 0x3 VLNEXT = 0xe VMIN = 0x4 VQUIT = 0x1 VREPRINT = 0xb VSTART = 0x7 VSTOP = 0x8 VSTRT = 0x7 VSUSP = 0x9 VT0 = 0x0 VT1 = 0x8000 VTDELAY = 0x2000 VTDLY = 0x8000 VTIME = 0x5 VWERSE = 0xd WPARSTART = 0x1 WPARSTOP = 0x2 WPARTTYNAME = "Global" XCASE = 0x4 XTABS = 0xc00 _FDATAFLUSH = 0x2000000000 ) // Errors const ( E2BIG = syscall.Errno(0x7) EACCES = syscall.Errno(0xd) EADDRINUSE = syscall.Errno(0x43) EADDRNOTAVAIL = syscall.Errno(0x44) EAFNOSUPPORT = syscall.Errno(0x42) EAGAIN = syscall.Errno(0xb) EALREADY = syscall.Errno(0x38) EBADF = syscall.Errno(0x9) EBADMSG = syscall.Errno(0x78) EBUSY = syscall.Errno(0x10) ECANCELED = syscall.Errno(0x75) ECHILD = syscall.Errno(0xa) ECHRNG = syscall.Errno(0x25) ECLONEME = syscall.Errno(0x52) ECONNABORTED = syscall.Errno(0x48) ECONNREFUSED = syscall.Errno(0x4f) ECONNRESET = syscall.Errno(0x49) ECORRUPT = syscall.Errno(0x59) EDEADLK = syscall.Errno(0x2d) EDESTADDREQ = syscall.Errno(0x3a) EDESTADDRREQ = syscall.Errno(0x3a) EDIST = syscall.Errno(0x35) EDOM = syscall.Errno(0x21) EDQUOT = syscall.Errno(0x58) EEXIST = syscall.Errno(0x11) EFAULT = syscall.Errno(0xe) EFBIG = syscall.Errno(0x1b) EFORMAT = syscall.Errno(0x30) EHOSTDOWN = syscall.Errno(0x50) EHOSTUNREACH = syscall.Errno(0x51) EIDRM = syscall.Errno(0x24) EILSEQ = syscall.Errno(0x74) EINPROGRESS = syscall.Errno(0x37) EINTR = syscall.Errno(0x4) EINVAL = syscall.Errno(0x16) EIO = syscall.Errno(0x5) EISCONN = syscall.Errno(0x4b) EISDIR = syscall.Errno(0x15) EL2HLT = syscall.Errno(0x2c) EL2NSYNC = syscall.Errno(0x26) EL3HLT = syscall.Errno(0x27) EL3RST = syscall.Errno(0x28) ELNRNG = syscall.Errno(0x29) ELOOP = syscall.Errno(0x55) EMEDIA = syscall.Errno(0x6e) EMFILE = syscall.Errno(0x18) EMLINK = syscall.Errno(0x1f) EMSGSIZE = syscall.Errno(0x3b) EMULTIHOP = syscall.Errno(0x7d) ENAMETOOLONG = syscall.Errno(0x56) ENETDOWN = syscall.Errno(0x45) ENETRESET = syscall.Errno(0x47) ENETUNREACH = syscall.Errno(0x46) ENFILE = syscall.Errno(0x17) ENOATTR = syscall.Errno(0x70) ENOBUFS = syscall.Errno(0x4a) ENOCONNECT = syscall.Errno(0x32) ENOCSI = syscall.Errno(0x2b) ENODATA = syscall.Errno(0x7a) ENODEV = syscall.Errno(0x13) ENOENT = syscall.Errno(0x2) ENOEXEC = syscall.Errno(0x8) ENOLCK = syscall.Errno(0x31) ENOLINK = syscall.Errno(0x7e) ENOMEM = syscall.Errno(0xc) ENOMSG = syscall.Errno(0x23) ENOPROTOOPT = syscall.Errno(0x3d) ENOSPC = syscall.Errno(0x1c) ENOSR = syscall.Errno(0x76) ENOSTR = syscall.Errno(0x7b) ENOSYS = syscall.Errno(0x6d) ENOTBLK = syscall.Errno(0xf) ENOTCONN = syscall.Errno(0x4c) ENOTDIR = syscall.Errno(0x14) ENOTEMPTY = syscall.Errno(0x11) ENOTREADY = syscall.Errno(0x2e) ENOTRECOVERABLE = syscall.Errno(0x5e) ENOTRUST = syscall.Errno(0x72) ENOTSOCK = syscall.Errno(0x39) ENOTSUP = syscall.Errno(0x7c) ENOTTY = syscall.Errno(0x19) ENXIO = syscall.Errno(0x6) EOPNOTSUPP = syscall.Errno(0x40) EOVERFLOW = syscall.Errno(0x7f) EOWNERDEAD = syscall.Errno(0x5f) EPERM = syscall.Errno(0x1) EPFNOSUPPORT = syscall.Errno(0x41) EPIPE = syscall.Errno(0x20) EPROCLIM = syscall.Errno(0x53) EPROTO = syscall.Errno(0x79) EPROTONOSUPPORT = syscall.Errno(0x3e) EPROTOTYPE = syscall.Errno(0x3c) ERANGE = syscall.Errno(0x22) EREMOTE = syscall.Errno(0x5d) ERESTART = syscall.Errno(0x52) EROFS = syscall.Errno(0x1e) ESAD = syscall.Errno(0x71) ESHUTDOWN = syscall.Errno(0x4d) ESOCKTNOSUPPORT = syscall.Errno(0x3f) ESOFT = syscall.Errno(0x6f) ESPIPE = syscall.Errno(0x1d) ESRCH = syscall.Errno(0x3) ESTALE = syscall.Errno(0x34) ESYSERROR = syscall.Errno(0x5a) ETIME = syscall.Errno(0x77) ETIMEDOUT = syscall.Errno(0x4e) ETOOMANYREFS = syscall.Errno(0x73) ETXTBSY = syscall.Errno(0x1a) EUNATCH = syscall.Errno(0x2a) EUSERS = syscall.Errno(0x54) EWOULDBLOCK = syscall.Errno(0xb) EWRPROTECT = syscall.Errno(0x2f) EXDEV = syscall.Errno(0x12) ) // Signals const ( SIGABRT = syscall.Signal(0x6) SIGAIO = syscall.Signal(0x17) SIGALRM = syscall.Signal(0xe) SIGALRM1 = syscall.Signal(0x26) SIGBUS = syscall.Signal(0xa) SIGCAPI = syscall.Signal(0x31) SIGCHLD = syscall.Signal(0x14) SIGCLD = syscall.Signal(0x14) SIGCONT = syscall.Signal(0x13) SIGCPUFAIL = syscall.Signal(0x3b) SIGDANGER = syscall.Signal(0x21) SIGEMT = syscall.Signal(0x7) SIGFPE = syscall.Signal(0x8) SIGGRANT = syscall.Signal(0x3c) SIGHUP = syscall.Signal(0x1) SIGILL = syscall.Signal(0x4) SIGINT = syscall.Signal(0x2) SIGIO = syscall.Signal(0x17) SIGIOINT = syscall.Signal(0x10) SIGIOT = syscall.Signal(0x6) SIGKAP = syscall.Signal(0x3c) SIGKILL = syscall.Signal(0x9) SIGLOST = syscall.Signal(0x6) SIGMAX = syscall.Signal(0x3f) SIGMAX32 = syscall.Signal(0x3f) SIGMIGRATE = syscall.Signal(0x23) SIGMSG = syscall.Signal(0x1b) SIGPIPE = syscall.Signal(0xd) SIGPOLL = syscall.Signal(0x17) SIGPRE = syscall.Signal(0x24) SIGPROF = syscall.Signal(0x20) SIGPTY = syscall.Signal(0x17) SIGPWR = syscall.Signal(0x1d) SIGQUIT = syscall.Signal(0x3) SIGRECONFIG = syscall.Signal(0x3a) SIGRETRACT = syscall.Signal(0x3d) SIGSAK = syscall.Signal(0x3f) SIGSEGV = syscall.Signal(0xb) SIGSOUND = syscall.Signal(0x3e) SIGSTOP = syscall.Signal(0x11) SIGSYS = syscall.Signal(0xc) SIGSYSERROR = syscall.Signal(0x30) SIGTALRM = syscall.Signal(0x26) 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) SIGVIRT = syscall.Signal(0x25) SIGVTALRM = syscall.Signal(0x22) SIGWAITING = syscall.Signal(0x27) SIGWINCH = syscall.Signal(0x1c) SIGXCPU = syscall.Signal(0x18) SIGXFSZ = syscall.Signal(0x19) ) // Error table var errorList = [...]struct { num syscall.Errno name string desc string }{ {1, "EPERM", "not owner"}, {2, "ENOENT", "no such file or directory"}, {3, "ESRCH", "no such process"}, {4, "EINTR", "interrupted system call"}, {5, "EIO", "I/O error"}, {6, "ENXIO", "no such device or address"}, {7, "E2BIG", "arg list too long"}, {8, "ENOEXEC", "exec format error"}, {9, "EBADF", "bad file number"}, {10, "ECHILD", "no child processes"}, {11, "EWOULDBLOCK", "resource temporarily unavailable"}, {12, "ENOMEM", "not enough space"}, {13, "EACCES", "permission denied"}, {14, "EFAULT", "bad address"}, {15, "ENOTBLK", "block device required"}, {16, "EBUSY", "device busy"}, {17, "ENOTEMPTY", "file exists"}, {18, "EXDEV", "cross-device link"}, {19, "ENODEV", "no such device"}, {20, "ENOTDIR", "not a directory"}, {21, "EISDIR", "is a directory"}, {22, "EINVAL", "invalid argument"}, {23, "ENFILE", "file table overflow"}, {24, "EMFILE", "too many open files"}, {25, "ENOTTY", "not a typewriter"}, {26, "ETXTBSY", "text file busy"}, {27, "EFBIG", "file too large"}, {28, "ENOSPC", "no space left on device"}, {29, "ESPIPE", "illegal seek"}, {30, "EROFS", "read-only file system"}, {31, "EMLINK", "too many links"}, {32, "EPIPE", "broken pipe"}, {33, "EDOM", "argument out of domain"}, {34, "ERANGE", "result too large"}, {35, "ENOMSG", "no message of desired type"}, {36, "EIDRM", "identifier removed"}, {37, "ECHRNG", "channel number out of range"}, {38, "EL2NSYNC", "level 2 not synchronized"}, {39, "EL3HLT", "level 3 halted"}, {40, "EL3RST", "level 3 reset"}, {41, "ELNRNG", "link number out of range"}, {42, "EUNATCH", "protocol driver not attached"}, {43, "ENOCSI", "no CSI structure available"}, {44, "EL2HLT", "level 2 halted"}, {45, "EDEADLK", "deadlock condition if locked"}, {46, "ENOTREADY", "device not ready"}, {47, "EWRPROTECT", "write-protected media"}, {48, "EFORMAT", "unformatted or incompatible media"}, {49, "ENOLCK", "no locks available"}, {50, "ENOCONNECT", "cannot Establish Connection"}, {52, "ESTALE", "missing file or filesystem"}, {53, "EDIST", "requests blocked by Administrator"}, {55, "EINPROGRESS", "operation now in progress"}, {56, "EALREADY", "operation already in progress"}, {57, "ENOTSOCK", "socket operation on non-socket"}, {58, "EDESTADDREQ", "destination address required"}, {59, "EMSGSIZE", "message too long"}, {60, "EPROTOTYPE", "protocol wrong type for socket"}, {61, "ENOPROTOOPT", "protocol not available"}, {62, "EPROTONOSUPPORT", "protocol not supported"}, {63, "ESOCKTNOSUPPORT", "socket type not supported"}, {64, "EOPNOTSUPP", "operation not supported on socket"}, {65, "EPFNOSUPPORT", "protocol family not supported"}, {66, "EAFNOSUPPORT", "addr family not supported by protocol"}, {67, "EADDRINUSE", "address already in use"}, {68, "EADDRNOTAVAIL", "can't assign requested address"}, {69, "ENETDOWN", "network is down"}, {70, "ENETUNREACH", "network is unreachable"}, {71, "ENETRESET", "network dropped connection on reset"}, {72, "ECONNABORTED", "software caused connection abort"}, {73, "ECONNRESET", "connection reset by peer"}, {74, "ENOBUFS", "no buffer space available"}, {75, "EISCONN", "socket is already connected"}, {76, "ENOTCONN", "socket is not connected"}, {77, "ESHUTDOWN", "can't send after socket shutdown"}, {78, "ETIMEDOUT", "connection timed out"}, {79, "ECONNREFUSED", "connection refused"}, {80, "EHOSTDOWN", "host is down"}, {81, "EHOSTUNREACH", "no route to host"}, {82, "ERESTART", "restart the system call"}, {83, "EPROCLIM", "too many processes"}, {84, "EUSERS", "too many users"}, {85, "ELOOP", "too many levels of symbolic links"}, {86, "ENAMETOOLONG", "file name too long"}, {88, "EDQUOT", "disk quota exceeded"}, {89, "ECORRUPT", "invalid file system control data detected"}, {90, "ESYSERROR", "for future use "}, {93, "EREMOTE", "item is not local to host"}, {94, "ENOTRECOVERABLE", "state not recoverable "}, {95, "EOWNERDEAD", "previous owner died "}, {109, "ENOSYS", "function not implemented"}, {110, "EMEDIA", "media surface error"}, {111, "ESOFT", "I/O completed, but needs relocation"}, {112, "ENOATTR", "no attribute found"}, {113, "ESAD", "security Authentication Denied"}, {114, "ENOTRUST", "not a Trusted Program"}, {115, "ETOOMANYREFS", "too many references: can't splice"}, {116, "EILSEQ", "invalid wide character"}, {117, "ECANCELED", "asynchronous I/O cancelled"}, {118, "ENOSR", "out of STREAMS resources"}, {119, "ETIME", "system call timed out"}, {120, "EBADMSG", "next message has wrong type"}, {121, "EPROTO", "error in protocol"}, {122, "ENODATA", "no message on stream head read q"}, {123, "ENOSTR", "fd not associated with a stream"}, {124, "ENOTSUP", "unsupported attribute value"}, {125, "EMULTIHOP", "multihop is not allowed"}, {126, "ENOLINK", "the server link has been severed"}, {127, "EOVERFLOW", "value too large to be stored in data type"}, } // Signal table var signalList = [...]struct { num syscall.Signal name string desc string }{ {1, "SIGHUP", "hangup"}, {2, "SIGINT", "interrupt"}, {3, "SIGQUIT", "quit"}, {4, "SIGILL", "illegal instruction"}, {5, "SIGTRAP", "trace/BPT trap"}, {6, "SIGIOT", "IOT/Abort trap"}, {7, "SIGEMT", "EMT trap"}, {8, "SIGFPE", "floating point exception"}, {9, "SIGKILL", "killed"}, {10, "SIGBUS", "bus error"}, {11, "SIGSEGV", "segmentation fault"}, {12, "SIGSYS", "bad system call"}, {13, "SIGPIPE", "broken pipe"}, {14, "SIGALRM", "alarm clock"}, {15, "SIGTERM", "terminated"}, {16, "SIGURG", "urgent I/O condition"}, {17, "SIGSTOP", "stopped (signal)"}, {18, "SIGTSTP", "stopped"}, {19, "SIGCONT", "continued"}, {20, "SIGCHLD", "child exited"}, {21, "SIGTTIN", "stopped (tty input)"}, {22, "SIGTTOU", "stopped (tty output)"}, {23, "SIGIO", "I/O possible/complete"}, {24, "SIGXCPU", "cputime limit exceeded"}, {25, "SIGXFSZ", "filesize limit exceeded"}, {27, "SIGMSG", "input device data"}, {28, "SIGWINCH", "window size changes"}, {29, "SIGPWR", "power-failure"}, {30, "SIGUSR1", "user defined signal 1"}, {31, "SIGUSR2", "user defined signal 2"}, {32, "SIGPROF", "profiling timer expired"}, {33, "SIGDANGER", "paging space low"}, {34, "SIGVTALRM", "virtual timer expired"}, {35, "SIGMIGRATE", "signal 35"}, {36, "SIGPRE", "signal 36"}, {37, "SIGVIRT", "signal 37"}, {38, "SIGTALRM", "signal 38"}, {39, "SIGWAITING", "signal 39"}, {48, "SIGSYSERROR", "signal 48"}, {49, "SIGCAPI", "signal 49"}, {58, "SIGRECONFIG", "signal 58"}, {59, "SIGCPUFAIL", "CPU Failure Predicted"}, {60, "SIGKAP", "monitor mode granted"}, {61, "SIGRETRACT", "monitor mode retracted"}, {62, "SIGSOUND", "sound completed"}, {63, "SIGSAK", "secure attention"}, } dependencies/pkg/mod/golang.org/x/sys@v0.26.0/unix/zsyscall_linux_arm64.go0000644000000000000000000003434215107355264025242 0ustar rootroot// go run mksyscall.go -tags linux,arm64 syscall_linux.go syscall_linux_arm64.go // Code generated by the command above; see README.md. DO NOT EDIT. //go: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 fanotifyMark(fd int, flags uint, mask uint64, dirFd int, pathname *byte) (err error) { _, _, e1 := Syscall6(SYS_FANOTIFY_MARK, uintptr(fd), uintptr(flags), uintptr(mask), uintptr(dirFd), uintptr(unsafe.Pointer(pathname)), 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 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 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 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 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, _ := RawSyscallNoError(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, _ := RawSyscallNoError(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, _ := RawSyscallNoError(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, _ := RawSyscallNoError(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 MemfdSecret(flags int) (fd int, err error) { r0, _, e1 := Syscall(SYS_MEMFD_SECRET, 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 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 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 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 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) (prev int, err error) { r0, _, e1 := Syscall(SYS_SETFSGID, uintptr(gid), 0, 0) prev = int(r0) if e1 != 0 { err = errnoErr(e1) } return } // THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT func setfsuid(uid int) (prev int, err error) { r0, _, e1 := Syscall(SYS_SETFSUID, uintptr(uid), 0, 0) prev = int(r0) 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 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 kexecFileLoad(kernelFd int, initrdFd int, cmdlineLen int, cmdline string, flags int) (err error) { var _p0 *byte _p0, err = BytePtrFromString(cmdline) if err != nil { return } _, _, e1 := Syscall6(SYS_KEXEC_FILE_LOAD, uintptr(kernelFd), uintptr(initrdFd), uintptr(cmdlineLen), uintptr(unsafe.Pointer(_p0)), uintptr(flags), 0) if e1 != 0 { err = errnoErr(e1) } return } dependencies/pkg/mod/golang.org/x/sys@v0.26.0/unix/zsysctl_openbsd_386.go0000644000000000000000000002767215107355264025003 0ustar rootroot// go run mksysctl_openbsd.go // Code generated by the command above; DO NOT EDIT. //go:build 386 && openbsd 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.profile", []_C_int{9, 9}}, {"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.ncpuonline", []_C_int{6, 25}}, {"hw.pagesize", []_C_int{6, 7}}, {"hw.perfpolicy", []_C_int{6, 23}}, {"hw.physmem", []_C_int{6, 19}}, {"hw.power", []_C_int{6, 26}}, {"hw.product", []_C_int{6, 15}}, {"hw.serialno", []_C_int{6, 17}}, {"hw.setperf", []_C_int{6, 13}}, {"hw.smt", []_C_int{6, 24}}, {"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.allowdt", []_C_int{1, 65}}, {"kern.allowkmem", []_C_int{1, 52}}, {"kern.argmax", []_C_int{1, 8}}, {"kern.audio", []_C_int{1, 84}}, {"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.consbuf", []_C_int{1, 83}}, {"kern.consbufsize", []_C_int{1, 82}}, {"kern.consdev", []_C_int{1, 75}}, {"kern.cp_time", []_C_int{1, 40}}, {"kern.cp_time2", []_C_int{1, 71}}, {"kern.cpustats", []_C_int{1, 85}}, {"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.global_ptrace", []_C_int{1, 81}}, {"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.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.pfstatus", []_C_int{1, 86}}, {"kern.pool_debug", []_C_int{1, 77}}, {"kern.posix1version", []_C_int{1, 17}}, {"kern.proc", []_C_int{1, 66}}, {"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.timeout_stats", []_C_int{1, 87}}, {"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.utc_offset", []_C_int{1, 88}}, {"kern.version", []_C_int{1, 4}}, {"kern.video", []_C_int{1, 89}}, {"kern.watchdog.auto", []_C_int{1, 64, 2}}, {"kern.watchdog.period", []_C_int{1, 64, 1}}, {"kern.witnesswatch", []_C_int{1, 53}}, {"kern.wxabort", []_C_int{1, 74}}, {"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.arpdown", []_C_int{4, 2, 0, 40}}, {"net.inet.ip.arpqueued", []_C_int{4, 2, 0, 36}}, {"net.inet.ip.arptimeout", []_C_int{4, 2, 0, 39}}, {"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.mrtmfc", []_C_int{4, 2, 0, 37}}, {"net.inet.ip.mrtproto", []_C_int{4, 2, 0, 34}}, {"net.inet.ip.mrtstats", []_C_int{4, 2, 0, 35}}, {"net.inet.ip.mrtvif", []_C_int{4, 2, 0, 38}}, {"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.pfsync.stats", []_C_int{4, 2, 240, 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.rootonly", []_C_int{4, 2, 6, 24}}, {"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.tcp.synhashsize", []_C_int{4, 2, 6, 25}}, {"net.inet.tcp.synuselimit", []_C_int{4, 2, 6, 23}}, {"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.rootonly", []_C_int{4, 2, 17, 6}}, {"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_umaxtries", []_C_int{4, 24, 30, 9}}, {"net.inet6.icmp6.redirtimeout", []_C_int{4, 24, 30, 3}}, {"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.mforwarding", []_C_int{4, 24, 17, 42}}, {"net.inet6.ip6.mrtmfc", []_C_int{4, 24, 17, 53}}, {"net.inet6.ip6.mrtmif", []_C_int{4, 24, 17, 52}}, {"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.soiikey", []_C_int{4, 24, 17, 54}}, {"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.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.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.malloc_conf", []_C_int{2, 12}}, {"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}}, } dependencies/pkg/mod/golang.org/x/sys@v0.26.0/unix/xattr_bsd.go0000644000000000000000000001324115107355264023133 0ustar rootroot// Copyright 2018 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:build freebsd || netbsd package unix import ( "strings" "unsafe" ) // Derive extattr namespace and attribute name func xattrnamespace(fullattr string) (ns int, attr string, err error) { s := strings.IndexByte(fullattr, '.') 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]) } if dest != nil { // extattr_get_file and extattr_list_file treat NULL differently from // a non-NULL pointer of length zero. Preserve the property of nilness, // even if we can't use dest directly. return unsafe.Pointer(&_zero) } return nil } // FreeBSD and NetBSD implement their 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) { var d unsafe.Pointer if len(data) > 0 { 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) { var d unsafe.Pointer if len(data) > 0 { 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) { var d unsafe.Pointer if len(data) > 0 { 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) { destsiz := len(dest) // FreeBSD won't allow you to list xattrs from multiple namespaces s, pos := 0, 0 for _, nsid := range [...]int{EXTATTR_NAMESPACE_USER, EXTATTR_NAMESPACE_SYSTEM} { stmp, e := ListxattrNS(file, nsid, dest[pos:]) /* 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 { if e == EPERM && nsid != EXTATTR_NAMESPACE_USER { continue } return s, e } s += stmp pos = s if pos > destsiz { pos = destsiz } } return s, nil } func ListxattrNS(file string, nsid int, dest []byte) (sz int, err error) { d := initxattrdest(dest, 0) destsiz := len(dest) s, e := ExtattrListFile(file, nsid, uintptr(d), destsiz) if e != nil { return 0, err } return s, nil } func Flistxattr(fd int, dest []byte) (sz int, err error) { destsiz := len(dest) s, pos := 0, 0 for _, nsid := range [...]int{EXTATTR_NAMESPACE_USER, EXTATTR_NAMESPACE_SYSTEM} { stmp, e := FlistxattrNS(fd, nsid, dest[pos:]) if e != nil { if e == EPERM && nsid != EXTATTR_NAMESPACE_USER { continue } return s, e } s += stmp pos = s if pos > destsiz { pos = destsiz } } return s, nil } func FlistxattrNS(fd int, nsid int, dest []byte) (sz int, err error) { d := initxattrdest(dest, 0) destsiz := len(dest) s, e := ExtattrListFd(fd, nsid, uintptr(d), destsiz) if e != nil { return 0, err } return s, nil } func Llistxattr(link string, dest []byte) (sz int, err error) { destsiz := len(dest) s, pos := 0, 0 for _, nsid := range [...]int{EXTATTR_NAMESPACE_USER, EXTATTR_NAMESPACE_SYSTEM} { stmp, e := LlistxattrNS(link, nsid, dest[pos:]) if e != nil { if e == EPERM && nsid != EXTATTR_NAMESPACE_USER { continue } return s, e } s += stmp pos = s if pos > destsiz { pos = destsiz } } return s, nil } func LlistxattrNS(link string, nsid int, dest []byte) (sz int, err error) { d := initxattrdest(dest, 0) destsiz := len(dest) s, e := ExtattrListLink(link, nsid, uintptr(d), destsiz) if e != nil { return 0, err } return s, nil } dependencies/pkg/mod/golang.org/x/sys@v0.26.0/unix/dup3_test.go0000644000000000000000000000270415107355264023055 0ustar rootroot// Copyright 2023 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:build freebsd || linux || netbsd || openbsd package unix_test import ( "os" "path/filepath" "runtime" "testing" "golang.org/x/sys/unix" ) func TestDup3(t *testing.T) { tempFile, err := os.Create(filepath.Join(t.TempDir(), "TestDup")) if err != nil { t.Fatal(err) } defer tempFile.Close() oldFd := int(tempFile.Fd()) // On NetBSD, it is not an error if oldFd == newFd if runtime.GOOS != "netbsd" { if got, want := unix.Dup3(oldFd, oldFd, 0), unix.EINVAL; got != want { t.Fatalf("Dup3: expected err %v, got %v", want, got) } } // Create and reserve a file descriptor. // Dup3 automatically closes it before reusing it. nullFile, err := os.Open("/dev/null") if err != nil { t.Fatalf("Open failed: %v", err) } defer nullFile.Close() newFd := int(nullFile.Fd()) err = unix.Dup3(oldFd, newFd, 0) if err != nil { t.Fatalf("Dup3: %v", err) } b1 := []byte("Test123") b2 := make([]byte, 7) _, err = unix.Write(newFd, b1) if err != nil { t.Fatalf("Write to Dup3 fd failed: %v", err) } _, err = unix.Seek(oldFd, 0, 0) if err != nil { t.Fatalf("Seek failed: %v", err) } _, err = unix.Read(oldFd, b2) if err != nil { t.Fatalf("Read back failed: %v", err) } if string(b1) != string(b2) { t.Errorf("Dup3: read %q from file, want %q", string(b2), string(b1)) } } dependencies/pkg/mod/golang.org/x/sys@v0.26.0/unix/mremap.go0000644000000000000000000000317315107355264022425 0ustar rootroot// Copyright 2023 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:build linux || netbsd package unix import "unsafe" type mremapMmapper struct { mmapper mremap func(oldaddr uintptr, oldlength uintptr, newlength uintptr, flags int, newaddr uintptr) (xaddr uintptr, err error) } var mapper = &mremapMmapper{ mmapper: mmapper{ active: make(map[*byte][]byte), mmap: mmap, munmap: munmap, }, mremap: mremap, } func (m *mremapMmapper) Mremap(oldData []byte, newLength int, flags int) (data []byte, err error) { if newLength <= 0 || len(oldData) == 0 || len(oldData) != cap(oldData) || flags&mremapFixed != 0 { return nil, EINVAL } pOld := &oldData[cap(oldData)-1] m.Lock() defer m.Unlock() bOld := m.active[pOld] if bOld == nil || &bOld[0] != &oldData[0] { return nil, EINVAL } newAddr, errno := m.mremap(uintptr(unsafe.Pointer(&bOld[0])), uintptr(len(bOld)), uintptr(newLength), flags, 0) if errno != nil { return nil, errno } bNew := unsafe.Slice((*byte)(unsafe.Pointer(newAddr)), newLength) pNew := &bNew[cap(bNew)-1] if flags&mremapDontunmap == 0 { delete(m.active, pOld) } m.active[pNew] = bNew return bNew, nil } func Mremap(oldData []byte, newLength int, flags int) (data []byte, err error) { return mapper.Mremap(oldData, newLength, flags) } func MremapPtr(oldAddr unsafe.Pointer, oldSize uintptr, newAddr unsafe.Pointer, newSize uintptr, flags int) (ret unsafe.Pointer, err error) { xaddr, err := mapper.mremap(uintptr(oldAddr), oldSize, newSize, flags, uintptr(newAddr)) return unsafe.Pointer(xaddr), err } dependencies/pkg/mod/golang.org/x/sys@v0.26.0/unix/zptrace_x86_linux.go0000644000000000000000000000347115107355264024541 0ustar rootroot// Code generated by linux/mkall.go generatePtracePair("386", "amd64"). DO NOT EDIT. //go:build linux && (386 || amd64) package unix import "unsafe" // PtraceRegs386 is the registers used by 386 binaries. type PtraceRegs386 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 } // PtraceGetRegs386 fetches the registers used by 386 binaries. func PtraceGetRegs386(pid int, regsout *PtraceRegs386) error { return ptracePtr(PTRACE_GETREGS, pid, 0, unsafe.Pointer(regsout)) } // PtraceSetRegs386 sets the registers used by 386 binaries. func PtraceSetRegs386(pid int, regs *PtraceRegs386) error { return ptracePtr(PTRACE_SETREGS, pid, 0, unsafe.Pointer(regs)) } // PtraceRegsAmd64 is the registers used by amd64 binaries. type PtraceRegsAmd64 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 } // PtraceGetRegsAmd64 fetches the registers used by amd64 binaries. func PtraceGetRegsAmd64(pid int, regsout *PtraceRegsAmd64) error { return ptracePtr(PTRACE_GETREGS, pid, 0, unsafe.Pointer(regsout)) } // PtraceSetRegsAmd64 sets the registers used by amd64 binaries. func PtraceSetRegsAmd64(pid int, regs *PtraceRegsAmd64) error { return ptracePtr(PTRACE_SETREGS, pid, 0, unsafe.Pointer(regs)) } dependencies/pkg/mod/golang.org/x/sys@v0.26.0/unix/zsysnum_netbsd_arm64.go0000644000000000000000000006333115107355264025246 0ustar rootroot// go run mksysnum.go http://cvsweb.netbsd.org/bsdweb.cgi/~checkout~/src/sys/kern/syscalls.master // Code generated by the command above; DO NOT EDIT. //go:build arm64 && 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_MSYNC = 277 // { int|sys|13|msync(void *addr, size_t len, int flags); } 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); } ) dependencies/pkg/mod/golang.org/x/sys@v0.26.0/unix/zsyscall_openbsd_mips64.go0000644000000000000000000016416615107355264025736 0ustar rootroot// go run mksyscall.go -openbsd -libc -tags openbsd,mips64 syscall_bsd.go syscall_openbsd.go syscall_openbsd_mips64.go // Code generated by the command above; see README.md. DO NOT EDIT. //go:build openbsd && mips64 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 := syscall_rawSyscall(libc_getgroups_trampoline_addr, uintptr(ngid), uintptr(unsafe.Pointer(gid)), 0) n = int(r0) if e1 != 0 { err = errnoErr(e1) } return } var libc_getgroups_trampoline_addr uintptr //go:cgo_import_dynamic libc_getgroups getgroups "libc.so" // THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT func setgroups(ngid int, gid *_Gid_t) (err error) { _, _, e1 := syscall_rawSyscall(libc_setgroups_trampoline_addr, uintptr(ngid), uintptr(unsafe.Pointer(gid)), 0) if e1 != 0 { err = errnoErr(e1) } return } var libc_setgroups_trampoline_addr uintptr //go:cgo_import_dynamic libc_setgroups setgroups "libc.so" // 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 := syscall_syscall6(libc_wait4_trampoline_addr, uintptr(pid), uintptr(unsafe.Pointer(wstatus)), uintptr(options), uintptr(unsafe.Pointer(rusage)), 0, 0) wpid = int(r0) if e1 != 0 { err = errnoErr(e1) } return } var libc_wait4_trampoline_addr uintptr //go:cgo_import_dynamic libc_wait4 wait4 "libc.so" // 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_syscall(libc_accept_trampoline_addr, uintptr(s), uintptr(unsafe.Pointer(rsa)), uintptr(unsafe.Pointer(addrlen))) fd = int(r0) if e1 != 0 { err = errnoErr(e1) } return } var libc_accept_trampoline_addr uintptr //go:cgo_import_dynamic libc_accept accept "libc.so" // 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_syscall(libc_bind_trampoline_addr, uintptr(s), uintptr(addr), uintptr(addrlen)) if e1 != 0 { err = errnoErr(e1) } return } var libc_bind_trampoline_addr uintptr //go:cgo_import_dynamic libc_bind bind "libc.so" // 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_syscall(libc_connect_trampoline_addr, uintptr(s), uintptr(addr), uintptr(addrlen)) if e1 != 0 { err = errnoErr(e1) } return } var libc_connect_trampoline_addr uintptr //go:cgo_import_dynamic libc_connect connect "libc.so" // 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 := syscall_rawSyscall(libc_socket_trampoline_addr, uintptr(domain), uintptr(typ), uintptr(proto)) fd = int(r0) if e1 != 0 { err = errnoErr(e1) } return } var libc_socket_trampoline_addr uintptr //go:cgo_import_dynamic libc_socket socket "libc.so" // 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 := syscall_syscall6(libc_getsockopt_trampoline_addr, uintptr(s), uintptr(level), uintptr(name), uintptr(val), uintptr(unsafe.Pointer(vallen)), 0) if e1 != 0 { err = errnoErr(e1) } return } var libc_getsockopt_trampoline_addr uintptr //go:cgo_import_dynamic libc_getsockopt getsockopt "libc.so" // 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 := syscall_syscall6(libc_setsockopt_trampoline_addr, uintptr(s), uintptr(level), uintptr(name), uintptr(val), uintptr(vallen), 0) if e1 != 0 { err = errnoErr(e1) } return } var libc_setsockopt_trampoline_addr uintptr //go:cgo_import_dynamic libc_setsockopt setsockopt "libc.so" // THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT func getpeername(fd int, rsa *RawSockaddrAny, addrlen *_Socklen) (err error) { _, _, e1 := syscall_rawSyscall(libc_getpeername_trampoline_addr, uintptr(fd), uintptr(unsafe.Pointer(rsa)), uintptr(unsafe.Pointer(addrlen))) if e1 != 0 { err = errnoErr(e1) } return } var libc_getpeername_trampoline_addr uintptr //go:cgo_import_dynamic libc_getpeername getpeername "libc.so" // THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT func getsockname(fd int, rsa *RawSockaddrAny, addrlen *_Socklen) (err error) { _, _, e1 := syscall_rawSyscall(libc_getsockname_trampoline_addr, uintptr(fd), uintptr(unsafe.Pointer(rsa)), uintptr(unsafe.Pointer(addrlen))) if e1 != 0 { err = errnoErr(e1) } return } var libc_getsockname_trampoline_addr uintptr //go:cgo_import_dynamic libc_getsockname getsockname "libc.so" // THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT func Shutdown(s int, how int) (err error) { _, _, e1 := syscall_syscall(libc_shutdown_trampoline_addr, uintptr(s), uintptr(how), 0) if e1 != 0 { err = errnoErr(e1) } return } var libc_shutdown_trampoline_addr uintptr //go:cgo_import_dynamic libc_shutdown shutdown "libc.so" // 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 := syscall_rawSyscall6(libc_socketpair_trampoline_addr, uintptr(domain), uintptr(typ), uintptr(proto), uintptr(unsafe.Pointer(fd)), 0, 0) if e1 != 0 { err = errnoErr(e1) } return } var libc_socketpair_trampoline_addr uintptr //go:cgo_import_dynamic libc_socketpair socketpair "libc.so" // 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 := syscall_syscall6(libc_recvfrom_trampoline_addr, 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 } var libc_recvfrom_trampoline_addr uintptr //go:cgo_import_dynamic libc_recvfrom recvfrom "libc.so" // 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 := syscall_syscall6(libc_sendto_trampoline_addr, uintptr(s), uintptr(_p0), uintptr(len(buf)), uintptr(flags), uintptr(to), uintptr(addrlen)) if e1 != 0 { err = errnoErr(e1) } return } var libc_sendto_trampoline_addr uintptr //go:cgo_import_dynamic libc_sendto sendto "libc.so" // 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_syscall(libc_recvmsg_trampoline_addr, uintptr(s), uintptr(unsafe.Pointer(msg)), uintptr(flags)) n = int(r0) if e1 != 0 { err = errnoErr(e1) } return } var libc_recvmsg_trampoline_addr uintptr //go:cgo_import_dynamic libc_recvmsg recvmsg "libc.so" // 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_syscall(libc_sendmsg_trampoline_addr, uintptr(s), uintptr(unsafe.Pointer(msg)), uintptr(flags)) n = int(r0) if e1 != 0 { err = errnoErr(e1) } return } var libc_sendmsg_trampoline_addr uintptr //go:cgo_import_dynamic libc_sendmsg sendmsg "libc.so" // 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 := syscall_syscall6(libc_kevent_trampoline_addr, uintptr(kq), uintptr(change), uintptr(nchange), uintptr(event), uintptr(nevent), uintptr(unsafe.Pointer(timeout))) n = int(r0) if e1 != 0 { err = errnoErr(e1) } return } var libc_kevent_trampoline_addr uintptr //go:cgo_import_dynamic libc_kevent kevent "libc.so" // 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_syscall(libc_utimes_trampoline_addr, uintptr(unsafe.Pointer(_p0)), uintptr(unsafe.Pointer(timeval)), 0) if e1 != 0 { err = errnoErr(e1) } return } var libc_utimes_trampoline_addr uintptr //go:cgo_import_dynamic libc_utimes utimes "libc.so" // THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT func futimes(fd int, timeval *[2]Timeval) (err error) { _, _, e1 := syscall_syscall(libc_futimes_trampoline_addr, uintptr(fd), uintptr(unsafe.Pointer(timeval)), 0) if e1 != 0 { err = errnoErr(e1) } return } var libc_futimes_trampoline_addr uintptr //go:cgo_import_dynamic libc_futimes futimes "libc.so" // 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_syscall(libc_poll_trampoline_addr, uintptr(unsafe.Pointer(fds)), uintptr(nfds), uintptr(timeout)) n = int(r0) if e1 != 0 { err = errnoErr(e1) } return } var libc_poll_trampoline_addr uintptr //go:cgo_import_dynamic libc_poll poll "libc.so" // THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT func Madvise(b []byte, behav int) (err error) { var _p0 unsafe.Pointer if len(b) > 0 { _p0 = unsafe.Pointer(&b[0]) } else { _p0 = unsafe.Pointer(&_zero) } _, _, e1 := syscall_syscall(libc_madvise_trampoline_addr, uintptr(_p0), uintptr(len(b)), uintptr(behav)) if e1 != 0 { err = errnoErr(e1) } return } var libc_madvise_trampoline_addr uintptr //go:cgo_import_dynamic libc_madvise madvise "libc.so" // 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_syscall(libc_mlock_trampoline_addr, uintptr(_p0), uintptr(len(b)), 0) if e1 != 0 { err = errnoErr(e1) } return } var libc_mlock_trampoline_addr uintptr //go:cgo_import_dynamic libc_mlock mlock "libc.so" // THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT func Mlockall(flags int) (err error) { _, _, e1 := syscall_syscall(libc_mlockall_trampoline_addr, uintptr(flags), 0, 0) if e1 != 0 { err = errnoErr(e1) } return } var libc_mlockall_trampoline_addr uintptr //go:cgo_import_dynamic libc_mlockall mlockall "libc.so" // 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_syscall(libc_mprotect_trampoline_addr, uintptr(_p0), uintptr(len(b)), uintptr(prot)) if e1 != 0 { err = errnoErr(e1) } return } var libc_mprotect_trampoline_addr uintptr //go:cgo_import_dynamic libc_mprotect mprotect "libc.so" // THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT func Msync(b []byte, flags int) (err error) { var _p0 unsafe.Pointer if len(b) > 0 { _p0 = unsafe.Pointer(&b[0]) } else { _p0 = unsafe.Pointer(&_zero) } _, _, e1 := syscall_syscall(libc_msync_trampoline_addr, uintptr(_p0), uintptr(len(b)), uintptr(flags)) if e1 != 0 { err = errnoErr(e1) } return } var libc_msync_trampoline_addr uintptr //go:cgo_import_dynamic libc_msync msync "libc.so" // 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_syscall(libc_munlock_trampoline_addr, uintptr(_p0), uintptr(len(b)), 0) if e1 != 0 { err = errnoErr(e1) } return } var libc_munlock_trampoline_addr uintptr //go:cgo_import_dynamic libc_munlock munlock "libc.so" // THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT func Munlockall() (err error) { _, _, e1 := syscall_syscall(libc_munlockall_trampoline_addr, 0, 0, 0) if e1 != 0 { err = errnoErr(e1) } return } var libc_munlockall_trampoline_addr uintptr //go:cgo_import_dynamic libc_munlockall munlockall "libc.so" // THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT func pipe2(p *[2]_C_int, flags int) (err error) { _, _, e1 := syscall_rawSyscall(libc_pipe2_trampoline_addr, uintptr(unsafe.Pointer(p)), uintptr(flags), 0) if e1 != 0 { err = errnoErr(e1) } return } var libc_pipe2_trampoline_addr uintptr //go:cgo_import_dynamic libc_pipe2 pipe2 "libc.so" // 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_syscall(libc_getdents_trampoline_addr, uintptr(fd), uintptr(_p0), uintptr(len(buf))) n = int(r0) if e1 != 0 { err = errnoErr(e1) } return } var libc_getdents_trampoline_addr uintptr //go:cgo_import_dynamic libc_getdents getdents "libc.so" // 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_syscall(libc_getcwd_trampoline_addr, uintptr(_p0), uintptr(len(buf)), 0) n = int(r0) if e1 != 0 { err = errnoErr(e1) } return } var libc_getcwd_trampoline_addr uintptr //go:cgo_import_dynamic libc_getcwd getcwd "libc.so" // THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT func getresuid(ruid *_C_int, euid *_C_int, suid *_C_int) { syscall_rawSyscall(libc_getresuid_trampoline_addr, uintptr(unsafe.Pointer(ruid)), uintptr(unsafe.Pointer(euid)), uintptr(unsafe.Pointer(suid))) return } var libc_getresuid_trampoline_addr uintptr //go:cgo_import_dynamic libc_getresuid getresuid "libc.so" // THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT func getresgid(rgid *_C_int, egid *_C_int, sgid *_C_int) { syscall_rawSyscall(libc_getresgid_trampoline_addr, uintptr(unsafe.Pointer(rgid)), uintptr(unsafe.Pointer(egid)), uintptr(unsafe.Pointer(sgid))) return } var libc_getresgid_trampoline_addr uintptr //go:cgo_import_dynamic libc_getresgid getresgid "libc.so" // 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_syscall(libc_ioctl_trampoline_addr, uintptr(fd), uintptr(req), uintptr(arg)) if e1 != 0 { err = errnoErr(e1) } return } var libc_ioctl_trampoline_addr uintptr //go:cgo_import_dynamic libc_ioctl ioctl "libc.so" // THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT func ioctlPtr(fd int, req uint, arg unsafe.Pointer) (err error) { _, _, e1 := syscall_syscall(libc_ioctl_trampoline_addr, 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 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 := syscall_syscall6(libc_sysctl_trampoline_addr, 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 } var libc_sysctl_trampoline_addr uintptr //go:cgo_import_dynamic libc_sysctl sysctl "libc.so" // THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT func fcntl(fd int, cmd int, arg int) (n int, err error) { r0, _, e1 := syscall_syscall(libc_fcntl_trampoline_addr, uintptr(fd), uintptr(cmd), uintptr(arg)) n = int(r0) if e1 != 0 { err = errnoErr(e1) } return } var libc_fcntl_trampoline_addr uintptr //go:cgo_import_dynamic libc_fcntl fcntl "libc.so" // THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT func fcntlPtr(fd int, cmd int, arg unsafe.Pointer) (n int, err error) { r0, _, e1 := syscall_syscall(libc_fcntl_trampoline_addr, uintptr(fd), uintptr(cmd), uintptr(arg)) n = 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 := syscall_syscall6(libc_ppoll_trampoline_addr, 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 } var libc_ppoll_trampoline_addr uintptr //go:cgo_import_dynamic libc_ppoll ppoll "libc.so" // 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_syscall(libc_access_trampoline_addr, uintptr(unsafe.Pointer(_p0)), uintptr(mode), 0) if e1 != 0 { err = errnoErr(e1) } return } var libc_access_trampoline_addr uintptr //go:cgo_import_dynamic libc_access access "libc.so" // THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT func Adjtime(delta *Timeval, olddelta *Timeval) (err error) { _, _, e1 := syscall_syscall(libc_adjtime_trampoline_addr, uintptr(unsafe.Pointer(delta)), uintptr(unsafe.Pointer(olddelta)), 0) if e1 != 0 { err = errnoErr(e1) } return } var libc_adjtime_trampoline_addr uintptr //go:cgo_import_dynamic libc_adjtime adjtime "libc.so" // 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_syscall(libc_chdir_trampoline_addr, uintptr(unsafe.Pointer(_p0)), 0, 0) if e1 != 0 { err = errnoErr(e1) } return } var libc_chdir_trampoline_addr uintptr //go:cgo_import_dynamic libc_chdir chdir "libc.so" // 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_syscall(libc_chflags_trampoline_addr, uintptr(unsafe.Pointer(_p0)), uintptr(flags), 0) if e1 != 0 { err = errnoErr(e1) } return } var libc_chflags_trampoline_addr uintptr //go:cgo_import_dynamic libc_chflags chflags "libc.so" // 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_syscall(libc_chmod_trampoline_addr, uintptr(unsafe.Pointer(_p0)), uintptr(mode), 0) if e1 != 0 { err = errnoErr(e1) } return } var libc_chmod_trampoline_addr uintptr //go:cgo_import_dynamic libc_chmod chmod "libc.so" // 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_syscall(libc_chown_trampoline_addr, uintptr(unsafe.Pointer(_p0)), uintptr(uid), uintptr(gid)) if e1 != 0 { err = errnoErr(e1) } return } var libc_chown_trampoline_addr uintptr //go:cgo_import_dynamic libc_chown chown "libc.so" // 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_syscall(libc_chroot_trampoline_addr, uintptr(unsafe.Pointer(_p0)), 0, 0) if e1 != 0 { err = errnoErr(e1) } return } var libc_chroot_trampoline_addr uintptr //go:cgo_import_dynamic libc_chroot chroot "libc.so" // THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT func ClockGettime(clockid int32, time *Timespec) (err error) { _, _, e1 := syscall_syscall(libc_clock_gettime_trampoline_addr, uintptr(clockid), uintptr(unsafe.Pointer(time)), 0) if e1 != 0 { err = errnoErr(e1) } return } var libc_clock_gettime_trampoline_addr uintptr //go:cgo_import_dynamic libc_clock_gettime clock_gettime "libc.so" // THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT func Close(fd int) (err error) { _, _, e1 := syscall_syscall(libc_close_trampoline_addr, uintptr(fd), 0, 0) if e1 != 0 { err = errnoErr(e1) } return } var libc_close_trampoline_addr uintptr //go:cgo_import_dynamic libc_close close "libc.so" // THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT func Dup(fd int) (nfd int, err error) { r0, _, e1 := syscall_syscall(libc_dup_trampoline_addr, uintptr(fd), 0, 0) nfd = int(r0) if e1 != 0 { err = errnoErr(e1) } return } var libc_dup_trampoline_addr uintptr //go:cgo_import_dynamic libc_dup dup "libc.so" // THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT func Dup2(from int, to int) (err error) { _, _, e1 := syscall_syscall(libc_dup2_trampoline_addr, uintptr(from), uintptr(to), 0) if e1 != 0 { err = errnoErr(e1) } return } var libc_dup2_trampoline_addr uintptr //go:cgo_import_dynamic libc_dup2 dup2 "libc.so" // THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT func Dup3(from int, to int, flags int) (err error) { _, _, e1 := syscall_syscall(libc_dup3_trampoline_addr, uintptr(from), uintptr(to), uintptr(flags)) if e1 != 0 { err = errnoErr(e1) } return } var libc_dup3_trampoline_addr uintptr //go:cgo_import_dynamic libc_dup3 dup3 "libc.so" // THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT func Exit(code int) { syscall_syscall(libc_exit_trampoline_addr, uintptr(code), 0, 0) return } var libc_exit_trampoline_addr uintptr //go:cgo_import_dynamic libc_exit exit "libc.so" // 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 := syscall_syscall6(libc_faccessat_trampoline_addr, uintptr(dirfd), uintptr(unsafe.Pointer(_p0)), uintptr(mode), uintptr(flags), 0, 0) if e1 != 0 { err = errnoErr(e1) } return } var libc_faccessat_trampoline_addr uintptr //go:cgo_import_dynamic libc_faccessat faccessat "libc.so" // THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT func Fchdir(fd int) (err error) { _, _, e1 := syscall_syscall(libc_fchdir_trampoline_addr, uintptr(fd), 0, 0) if e1 != 0 { err = errnoErr(e1) } return } var libc_fchdir_trampoline_addr uintptr //go:cgo_import_dynamic libc_fchdir fchdir "libc.so" // THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT func Fchflags(fd int, flags int) (err error) { _, _, e1 := syscall_syscall(libc_fchflags_trampoline_addr, uintptr(fd), uintptr(flags), 0) if e1 != 0 { err = errnoErr(e1) } return } var libc_fchflags_trampoline_addr uintptr //go:cgo_import_dynamic libc_fchflags fchflags "libc.so" // THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT func Fchmod(fd int, mode uint32) (err error) { _, _, e1 := syscall_syscall(libc_fchmod_trampoline_addr, uintptr(fd), uintptr(mode), 0) if e1 != 0 { err = errnoErr(e1) } return } var libc_fchmod_trampoline_addr uintptr //go:cgo_import_dynamic libc_fchmod fchmod "libc.so" // 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 := syscall_syscall6(libc_fchmodat_trampoline_addr, uintptr(dirfd), uintptr(unsafe.Pointer(_p0)), uintptr(mode), uintptr(flags), 0, 0) if e1 != 0 { err = errnoErr(e1) } return } var libc_fchmodat_trampoline_addr uintptr //go:cgo_import_dynamic libc_fchmodat fchmodat "libc.so" // 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_syscall(libc_fchown_trampoline_addr, uintptr(fd), uintptr(uid), uintptr(gid)) if e1 != 0 { err = errnoErr(e1) } return } var libc_fchown_trampoline_addr uintptr //go:cgo_import_dynamic libc_fchown fchown "libc.so" // 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 := syscall_syscall6(libc_fchownat_trampoline_addr, uintptr(dirfd), uintptr(unsafe.Pointer(_p0)), uintptr(uid), uintptr(gid), uintptr(flags), 0) if e1 != 0 { err = errnoErr(e1) } return } var libc_fchownat_trampoline_addr uintptr //go:cgo_import_dynamic libc_fchownat fchownat "libc.so" // THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT func Flock(fd int, how int) (err error) { _, _, e1 := syscall_syscall(libc_flock_trampoline_addr, uintptr(fd), uintptr(how), 0) if e1 != 0 { err = errnoErr(e1) } return } var libc_flock_trampoline_addr uintptr //go:cgo_import_dynamic libc_flock flock "libc.so" // 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_syscall(libc_fpathconf_trampoline_addr, uintptr(fd), uintptr(name), 0) val = int(r0) if e1 != 0 { err = errnoErr(e1) } return } var libc_fpathconf_trampoline_addr uintptr //go:cgo_import_dynamic libc_fpathconf fpathconf "libc.so" // THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT func Fstat(fd int, stat *Stat_t) (err error) { _, _, e1 := syscall_syscall(libc_fstat_trampoline_addr, uintptr(fd), uintptr(unsafe.Pointer(stat)), 0) if e1 != 0 { err = errnoErr(e1) } return } var libc_fstat_trampoline_addr uintptr //go:cgo_import_dynamic libc_fstat fstat "libc.so" // 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 := syscall_syscall6(libc_fstatat_trampoline_addr, uintptr(fd), uintptr(unsafe.Pointer(_p0)), uintptr(unsafe.Pointer(stat)), uintptr(flags), 0, 0) if e1 != 0 { err = errnoErr(e1) } return } var libc_fstatat_trampoline_addr uintptr //go:cgo_import_dynamic libc_fstatat fstatat "libc.so" // THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT func Fstatfs(fd int, stat *Statfs_t) (err error) { _, _, e1 := syscall_syscall(libc_fstatfs_trampoline_addr, uintptr(fd), uintptr(unsafe.Pointer(stat)), 0) if e1 != 0 { err = errnoErr(e1) } return } var libc_fstatfs_trampoline_addr uintptr //go:cgo_import_dynamic libc_fstatfs fstatfs "libc.so" // THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT func Fsync(fd int) (err error) { _, _, e1 := syscall_syscall(libc_fsync_trampoline_addr, uintptr(fd), 0, 0) if e1 != 0 { err = errnoErr(e1) } return } var libc_fsync_trampoline_addr uintptr //go:cgo_import_dynamic libc_fsync fsync "libc.so" // THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT func Ftruncate(fd int, length int64) (err error) { _, _, e1 := syscall_syscall(libc_ftruncate_trampoline_addr, uintptr(fd), uintptr(length), 0) if e1 != 0 { err = errnoErr(e1) } return } var libc_ftruncate_trampoline_addr uintptr //go:cgo_import_dynamic libc_ftruncate ftruncate "libc.so" // THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT func Getegid() (egid int) { r0, _, _ := syscall_rawSyscall(libc_getegid_trampoline_addr, 0, 0, 0) egid = int(r0) return } var libc_getegid_trampoline_addr uintptr //go:cgo_import_dynamic libc_getegid getegid "libc.so" // THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT func Geteuid() (uid int) { r0, _, _ := syscall_rawSyscall(libc_geteuid_trampoline_addr, 0, 0, 0) uid = int(r0) return } var libc_geteuid_trampoline_addr uintptr //go:cgo_import_dynamic libc_geteuid geteuid "libc.so" // THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT func Getgid() (gid int) { r0, _, _ := syscall_rawSyscall(libc_getgid_trampoline_addr, 0, 0, 0) gid = int(r0) return } var libc_getgid_trampoline_addr uintptr //go:cgo_import_dynamic libc_getgid getgid "libc.so" // THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT func Getpgid(pid int) (pgid int, err error) { r0, _, e1 := syscall_rawSyscall(libc_getpgid_trampoline_addr, uintptr(pid), 0, 0) pgid = int(r0) if e1 != 0 { err = errnoErr(e1) } return } var libc_getpgid_trampoline_addr uintptr //go:cgo_import_dynamic libc_getpgid getpgid "libc.so" // THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT func Getpgrp() (pgrp int) { r0, _, _ := syscall_rawSyscall(libc_getpgrp_trampoline_addr, 0, 0, 0) pgrp = int(r0) return } var libc_getpgrp_trampoline_addr uintptr //go:cgo_import_dynamic libc_getpgrp getpgrp "libc.so" // THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT func Getpid() (pid int) { r0, _, _ := syscall_rawSyscall(libc_getpid_trampoline_addr, 0, 0, 0) pid = int(r0) return } var libc_getpid_trampoline_addr uintptr //go:cgo_import_dynamic libc_getpid getpid "libc.so" // THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT func Getppid() (ppid int) { r0, _, _ := syscall_rawSyscall(libc_getppid_trampoline_addr, 0, 0, 0) ppid = int(r0) return } var libc_getppid_trampoline_addr uintptr //go:cgo_import_dynamic libc_getppid getppid "libc.so" // 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_syscall(libc_getpriority_trampoline_addr, uintptr(which), uintptr(who), 0) prio = int(r0) if e1 != 0 { err = errnoErr(e1) } return } var libc_getpriority_trampoline_addr uintptr //go:cgo_import_dynamic libc_getpriority getpriority "libc.so" // THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT func Getrlimit(which int, lim *Rlimit) (err error) { _, _, e1 := syscall_rawSyscall(libc_getrlimit_trampoline_addr, uintptr(which), uintptr(unsafe.Pointer(lim)), 0) if e1 != 0 { err = errnoErr(e1) } return } var libc_getrlimit_trampoline_addr uintptr //go:cgo_import_dynamic libc_getrlimit getrlimit "libc.so" // THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT func Getrtable() (rtable int, err error) { r0, _, e1 := syscall_rawSyscall(libc_getrtable_trampoline_addr, 0, 0, 0) rtable = int(r0) if e1 != 0 { err = errnoErr(e1) } return } var libc_getrtable_trampoline_addr uintptr //go:cgo_import_dynamic libc_getrtable getrtable "libc.so" // THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT func Getrusage(who int, rusage *Rusage) (err error) { _, _, e1 := syscall_rawSyscall(libc_getrusage_trampoline_addr, uintptr(who), uintptr(unsafe.Pointer(rusage)), 0) if e1 != 0 { err = errnoErr(e1) } return } var libc_getrusage_trampoline_addr uintptr //go:cgo_import_dynamic libc_getrusage getrusage "libc.so" // THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT func Getsid(pid int) (sid int, err error) { r0, _, e1 := syscall_rawSyscall(libc_getsid_trampoline_addr, uintptr(pid), 0, 0) sid = int(r0) if e1 != 0 { err = errnoErr(e1) } return } var libc_getsid_trampoline_addr uintptr //go:cgo_import_dynamic libc_getsid getsid "libc.so" // THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT func Gettimeofday(tv *Timeval) (err error) { _, _, e1 := syscall_rawSyscall(libc_gettimeofday_trampoline_addr, uintptr(unsafe.Pointer(tv)), 0, 0) if e1 != 0 { err = errnoErr(e1) } return } var libc_gettimeofday_trampoline_addr uintptr //go:cgo_import_dynamic libc_gettimeofday gettimeofday "libc.so" // THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT func Getuid() (uid int) { r0, _, _ := syscall_rawSyscall(libc_getuid_trampoline_addr, 0, 0, 0) uid = int(r0) return } var libc_getuid_trampoline_addr uintptr //go:cgo_import_dynamic libc_getuid getuid "libc.so" // THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT func Issetugid() (tainted bool) { r0, _, _ := syscall_syscall(libc_issetugid_trampoline_addr, 0, 0, 0) tainted = bool(r0 != 0) return } var libc_issetugid_trampoline_addr uintptr //go:cgo_import_dynamic libc_issetugid issetugid "libc.so" // THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT func Kill(pid int, signum syscall.Signal) (err error) { _, _, e1 := syscall_syscall(libc_kill_trampoline_addr, uintptr(pid), uintptr(signum), 0) if e1 != 0 { err = errnoErr(e1) } return } var libc_kill_trampoline_addr uintptr //go:cgo_import_dynamic libc_kill kill "libc.so" // THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT func Kqueue() (fd int, err error) { r0, _, e1 := syscall_syscall(libc_kqueue_trampoline_addr, 0, 0, 0) fd = int(r0) if e1 != 0 { err = errnoErr(e1) } return } var libc_kqueue_trampoline_addr uintptr //go:cgo_import_dynamic libc_kqueue kqueue "libc.so" // 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_syscall(libc_lchown_trampoline_addr, uintptr(unsafe.Pointer(_p0)), uintptr(uid), uintptr(gid)) if e1 != 0 { err = errnoErr(e1) } return } var libc_lchown_trampoline_addr uintptr //go:cgo_import_dynamic libc_lchown lchown "libc.so" // 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_syscall(libc_link_trampoline_addr, uintptr(unsafe.Pointer(_p0)), uintptr(unsafe.Pointer(_p1)), 0) if e1 != 0 { err = errnoErr(e1) } return } var libc_link_trampoline_addr uintptr //go:cgo_import_dynamic libc_link link "libc.so" // THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT func Linkat(pathfd int, path string, linkfd int, link string, flags int) (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_syscall6(libc_linkat_trampoline_addr, uintptr(pathfd), uintptr(unsafe.Pointer(_p0)), uintptr(linkfd), uintptr(unsafe.Pointer(_p1)), uintptr(flags), 0) if e1 != 0 { err = errnoErr(e1) } return } var libc_linkat_trampoline_addr uintptr //go:cgo_import_dynamic libc_linkat linkat "libc.so" // THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT func Listen(s int, backlog int) (err error) { _, _, e1 := syscall_syscall(libc_listen_trampoline_addr, uintptr(s), uintptr(backlog), 0) if e1 != 0 { err = errnoErr(e1) } return } var libc_listen_trampoline_addr uintptr //go:cgo_import_dynamic libc_listen listen "libc.so" // 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_syscall(libc_lstat_trampoline_addr, uintptr(unsafe.Pointer(_p0)), uintptr(unsafe.Pointer(stat)), 0) if e1 != 0 { err = errnoErr(e1) } return } var libc_lstat_trampoline_addr uintptr //go:cgo_import_dynamic libc_lstat lstat "libc.so" // 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_syscall(libc_mkdir_trampoline_addr, uintptr(unsafe.Pointer(_p0)), uintptr(mode), 0) if e1 != 0 { err = errnoErr(e1) } return } var libc_mkdir_trampoline_addr uintptr //go:cgo_import_dynamic libc_mkdir mkdir "libc.so" // 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_syscall(libc_mkdirat_trampoline_addr, uintptr(dirfd), uintptr(unsafe.Pointer(_p0)), uintptr(mode)) if e1 != 0 { err = errnoErr(e1) } return } var libc_mkdirat_trampoline_addr uintptr //go:cgo_import_dynamic libc_mkdirat mkdirat "libc.so" // 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_syscall(libc_mkfifo_trampoline_addr, uintptr(unsafe.Pointer(_p0)), uintptr(mode), 0) if e1 != 0 { err = errnoErr(e1) } return } var libc_mkfifo_trampoline_addr uintptr //go:cgo_import_dynamic libc_mkfifo mkfifo "libc.so" // THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT func Mkfifoat(dirfd int, path string, mode uint32) (err error) { var _p0 *byte _p0, err = BytePtrFromString(path) if err != nil { return } _, _, e1 := syscall_syscall(libc_mkfifoat_trampoline_addr, uintptr(dirfd), uintptr(unsafe.Pointer(_p0)), uintptr(mode)) if e1 != 0 { err = errnoErr(e1) } return } var libc_mkfifoat_trampoline_addr uintptr //go:cgo_import_dynamic libc_mkfifoat mkfifoat "libc.so" // 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_syscall(libc_mknod_trampoline_addr, uintptr(unsafe.Pointer(_p0)), uintptr(mode), uintptr(dev)) if e1 != 0 { err = errnoErr(e1) } return } var libc_mknod_trampoline_addr uintptr //go:cgo_import_dynamic libc_mknod mknod "libc.so" // 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 := syscall_syscall6(libc_mknodat_trampoline_addr, uintptr(dirfd), uintptr(unsafe.Pointer(_p0)), uintptr(mode), uintptr(dev), 0, 0) if e1 != 0 { err = errnoErr(e1) } return } var libc_mknodat_trampoline_addr uintptr //go:cgo_import_dynamic libc_mknodat mknodat "libc.so" // THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT func Mount(fsType string, dir string, flags int, data unsafe.Pointer) (err error) { var _p0 *byte _p0, err = BytePtrFromString(fsType) if err != nil { return } var _p1 *byte _p1, err = BytePtrFromString(dir) if err != nil { return } _, _, e1 := syscall_syscall6(libc_mount_trampoline_addr, uintptr(unsafe.Pointer(_p0)), uintptr(unsafe.Pointer(_p1)), uintptr(flags), uintptr(data), 0, 0) if e1 != 0 { err = errnoErr(e1) } return } var libc_mount_trampoline_addr uintptr //go:cgo_import_dynamic libc_mount mount "libc.so" // THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT func Nanosleep(time *Timespec, leftover *Timespec) (err error) { _, _, e1 := syscall_syscall(libc_nanosleep_trampoline_addr, uintptr(unsafe.Pointer(time)), uintptr(unsafe.Pointer(leftover)), 0) if e1 != 0 { err = errnoErr(e1) } return } var libc_nanosleep_trampoline_addr uintptr //go:cgo_import_dynamic libc_nanosleep nanosleep "libc.so" // 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_syscall(libc_open_trampoline_addr, uintptr(unsafe.Pointer(_p0)), uintptr(mode), uintptr(perm)) fd = int(r0) if e1 != 0 { err = errnoErr(e1) } return } var libc_open_trampoline_addr uintptr //go:cgo_import_dynamic libc_open open "libc.so" // THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT func Openat(dirfd int, path string, mode int, perm uint32) (fd int, err error) { var _p0 *byte _p0, err = BytePtrFromString(path) if err != nil { return } r0, _, e1 := syscall_syscall6(libc_openat_trampoline_addr, uintptr(dirfd), uintptr(unsafe.Pointer(_p0)), uintptr(mode), uintptr(perm), 0, 0) fd = int(r0) if e1 != 0 { err = errnoErr(e1) } return } var libc_openat_trampoline_addr uintptr //go:cgo_import_dynamic libc_openat openat "libc.so" // 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_syscall(libc_pathconf_trampoline_addr, uintptr(unsafe.Pointer(_p0)), uintptr(name), 0) val = int(r0) if e1 != 0 { err = errnoErr(e1) } return } var libc_pathconf_trampoline_addr uintptr //go:cgo_import_dynamic libc_pathconf pathconf "libc.so" // 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 := syscall_syscall6(libc_pread_trampoline_addr, uintptr(fd), uintptr(_p0), uintptr(len(p)), uintptr(offset), 0, 0) n = int(r0) if e1 != 0 { err = errnoErr(e1) } return } var libc_pread_trampoline_addr uintptr //go:cgo_import_dynamic libc_pread pread "libc.so" // 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 := syscall_syscall6(libc_pwrite_trampoline_addr, uintptr(fd), uintptr(_p0), uintptr(len(p)), uintptr(offset), 0, 0) n = int(r0) if e1 != 0 { err = errnoErr(e1) } return } var libc_pwrite_trampoline_addr uintptr //go:cgo_import_dynamic libc_pwrite pwrite "libc.so" // 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_syscall(libc_read_trampoline_addr, uintptr(fd), uintptr(_p0), uintptr(len(p))) n = int(r0) if e1 != 0 { err = errnoErr(e1) } return } var libc_read_trampoline_addr uintptr //go:cgo_import_dynamic libc_read read "libc.so" // 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_syscall(libc_readlink_trampoline_addr, uintptr(unsafe.Pointer(_p0)), uintptr(_p1), uintptr(len(buf))) n = int(r0) if e1 != 0 { err = errnoErr(e1) } return } var libc_readlink_trampoline_addr uintptr //go:cgo_import_dynamic libc_readlink readlink "libc.so" // 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 := syscall_syscall6(libc_readlinkat_trampoline_addr, uintptr(dirfd), uintptr(unsafe.Pointer(_p0)), uintptr(_p1), uintptr(len(buf)), 0, 0) n = int(r0) if e1 != 0 { err = errnoErr(e1) } return } var libc_readlinkat_trampoline_addr uintptr //go:cgo_import_dynamic libc_readlinkat readlinkat "libc.so" // 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_syscall(libc_rename_trampoline_addr, uintptr(unsafe.Pointer(_p0)), uintptr(unsafe.Pointer(_p1)), 0) if e1 != 0 { err = errnoErr(e1) } return } var libc_rename_trampoline_addr uintptr //go:cgo_import_dynamic libc_rename rename "libc.so" // THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT func Renameat(fromfd int, from string, tofd int, 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_syscall6(libc_renameat_trampoline_addr, uintptr(fromfd), uintptr(unsafe.Pointer(_p0)), uintptr(tofd), uintptr(unsafe.Pointer(_p1)), 0, 0) if e1 != 0 { err = errnoErr(e1) } return } var libc_renameat_trampoline_addr uintptr //go:cgo_import_dynamic libc_renameat renameat "libc.so" // 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_syscall(libc_revoke_trampoline_addr, uintptr(unsafe.Pointer(_p0)), 0, 0) if e1 != 0 { err = errnoErr(e1) } return } var libc_revoke_trampoline_addr uintptr //go:cgo_import_dynamic libc_revoke revoke "libc.so" // 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_syscall(libc_rmdir_trampoline_addr, uintptr(unsafe.Pointer(_p0)), 0, 0) if e1 != 0 { err = errnoErr(e1) } return } var libc_rmdir_trampoline_addr uintptr //go:cgo_import_dynamic libc_rmdir rmdir "libc.so" // 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_syscall(libc_lseek_trampoline_addr, uintptr(fd), uintptr(offset), uintptr(whence)) newoffset = int64(r0) if e1 != 0 { err = errnoErr(e1) } return } var libc_lseek_trampoline_addr uintptr //go:cgo_import_dynamic libc_lseek lseek "libc.so" // 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 := syscall_syscall6(libc_select_trampoline_addr, 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 } var libc_select_trampoline_addr uintptr //go:cgo_import_dynamic libc_select select "libc.so" // THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT func Setegid(egid int) (err error) { _, _, e1 := syscall_rawSyscall(libc_setegid_trampoline_addr, uintptr(egid), 0, 0) if e1 != 0 { err = errnoErr(e1) } return } var libc_setegid_trampoline_addr uintptr //go:cgo_import_dynamic libc_setegid setegid "libc.so" // THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT func Seteuid(euid int) (err error) { _, _, e1 := syscall_rawSyscall(libc_seteuid_trampoline_addr, uintptr(euid), 0, 0) if e1 != 0 { err = errnoErr(e1) } return } var libc_seteuid_trampoline_addr uintptr //go:cgo_import_dynamic libc_seteuid seteuid "libc.so" // THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT func Setgid(gid int) (err error) { _, _, e1 := syscall_rawSyscall(libc_setgid_trampoline_addr, uintptr(gid), 0, 0) if e1 != 0 { err = errnoErr(e1) } return } var libc_setgid_trampoline_addr uintptr //go:cgo_import_dynamic libc_setgid setgid "libc.so" // 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_syscall(libc_setlogin_trampoline_addr, uintptr(unsafe.Pointer(_p0)), 0, 0) if e1 != 0 { err = errnoErr(e1) } return } var libc_setlogin_trampoline_addr uintptr //go:cgo_import_dynamic libc_setlogin setlogin "libc.so" // THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT func Setpgid(pid int, pgid int) (err error) { _, _, e1 := syscall_rawSyscall(libc_setpgid_trampoline_addr, uintptr(pid), uintptr(pgid), 0) if e1 != 0 { err = errnoErr(e1) } return } var libc_setpgid_trampoline_addr uintptr //go:cgo_import_dynamic libc_setpgid setpgid "libc.so" // 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_syscall(libc_setpriority_trampoline_addr, uintptr(which), uintptr(who), uintptr(prio)) if e1 != 0 { err = errnoErr(e1) } return } var libc_setpriority_trampoline_addr uintptr //go:cgo_import_dynamic libc_setpriority setpriority "libc.so" // THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT func Setregid(rgid int, egid int) (err error) { _, _, e1 := syscall_rawSyscall(libc_setregid_trampoline_addr, uintptr(rgid), uintptr(egid), 0) if e1 != 0 { err = errnoErr(e1) } return } var libc_setregid_trampoline_addr uintptr //go:cgo_import_dynamic libc_setregid setregid "libc.so" // THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT func Setreuid(ruid int, euid int) (err error) { _, _, e1 := syscall_rawSyscall(libc_setreuid_trampoline_addr, uintptr(ruid), uintptr(euid), 0) if e1 != 0 { err = errnoErr(e1) } return } var libc_setreuid_trampoline_addr uintptr //go:cgo_import_dynamic libc_setreuid setreuid "libc.so" // THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT func Setresgid(rgid int, egid int, sgid int) (err error) { _, _, e1 := syscall_rawSyscall(libc_setresgid_trampoline_addr, uintptr(rgid), uintptr(egid), uintptr(sgid)) if e1 != 0 { err = errnoErr(e1) } return } var libc_setresgid_trampoline_addr uintptr //go:cgo_import_dynamic libc_setresgid setresgid "libc.so" // THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT func Setresuid(ruid int, euid int, suid int) (err error) { _, _, e1 := syscall_rawSyscall(libc_setresuid_trampoline_addr, uintptr(ruid), uintptr(euid), uintptr(suid)) if e1 != 0 { err = errnoErr(e1) } return } var libc_setresuid_trampoline_addr uintptr //go:cgo_import_dynamic libc_setresuid setresuid "libc.so" // THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT func Setrtable(rtable int) (err error) { _, _, e1 := syscall_rawSyscall(libc_setrtable_trampoline_addr, uintptr(rtable), 0, 0) if e1 != 0 { err = errnoErr(e1) } return } var libc_setrtable_trampoline_addr uintptr //go:cgo_import_dynamic libc_setrtable setrtable "libc.so" // THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT func Setsid() (pid int, err error) { r0, _, e1 := syscall_rawSyscall(libc_setsid_trampoline_addr, 0, 0, 0) pid = int(r0) if e1 != 0 { err = errnoErr(e1) } return } var libc_setsid_trampoline_addr uintptr //go:cgo_import_dynamic libc_setsid setsid "libc.so" // THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT func Settimeofday(tp *Timeval) (err error) { _, _, e1 := syscall_rawSyscall(libc_settimeofday_trampoline_addr, uintptr(unsafe.Pointer(tp)), 0, 0) if e1 != 0 { err = errnoErr(e1) } return } var libc_settimeofday_trampoline_addr uintptr //go:cgo_import_dynamic libc_settimeofday settimeofday "libc.so" // THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT func Setuid(uid int) (err error) { _, _, e1 := syscall_rawSyscall(libc_setuid_trampoline_addr, uintptr(uid), 0, 0) if e1 != 0 { err = errnoErr(e1) } return } var libc_setuid_trampoline_addr uintptr //go:cgo_import_dynamic libc_setuid setuid "libc.so" // 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_syscall(libc_stat_trampoline_addr, uintptr(unsafe.Pointer(_p0)), uintptr(unsafe.Pointer(stat)), 0) if e1 != 0 { err = errnoErr(e1) } return } var libc_stat_trampoline_addr uintptr //go:cgo_import_dynamic libc_stat stat "libc.so" // 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_syscall(libc_statfs_trampoline_addr, uintptr(unsafe.Pointer(_p0)), uintptr(unsafe.Pointer(stat)), 0) if e1 != 0 { err = errnoErr(e1) } return } var libc_statfs_trampoline_addr uintptr //go:cgo_import_dynamic libc_statfs statfs "libc.so" // 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_syscall(libc_symlink_trampoline_addr, uintptr(unsafe.Pointer(_p0)), uintptr(unsafe.Pointer(_p1)), 0) if e1 != 0 { err = errnoErr(e1) } return } var libc_symlink_trampoline_addr uintptr //go:cgo_import_dynamic libc_symlink symlink "libc.so" // 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_syscall(libc_symlinkat_trampoline_addr, uintptr(unsafe.Pointer(_p0)), uintptr(newdirfd), uintptr(unsafe.Pointer(_p1))) if e1 != 0 { err = errnoErr(e1) } return } var libc_symlinkat_trampoline_addr uintptr //go:cgo_import_dynamic libc_symlinkat symlinkat "libc.so" // THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT func Sync() (err error) { _, _, e1 := syscall_syscall(libc_sync_trampoline_addr, 0, 0, 0) if e1 != 0 { err = errnoErr(e1) } return } var libc_sync_trampoline_addr uintptr //go:cgo_import_dynamic libc_sync sync "libc.so" // 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_syscall(libc_truncate_trampoline_addr, uintptr(unsafe.Pointer(_p0)), uintptr(length), 0) if e1 != 0 { err = errnoErr(e1) } return } var libc_truncate_trampoline_addr uintptr //go:cgo_import_dynamic libc_truncate truncate "libc.so" // THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT func Umask(newmask int) (oldmask int) { r0, _, _ := syscall_syscall(libc_umask_trampoline_addr, uintptr(newmask), 0, 0) oldmask = int(r0) return } var libc_umask_trampoline_addr uintptr //go:cgo_import_dynamic libc_umask umask "libc.so" // 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_syscall(libc_unlink_trampoline_addr, uintptr(unsafe.Pointer(_p0)), 0, 0) if e1 != 0 { err = errnoErr(e1) } return } var libc_unlink_trampoline_addr uintptr //go:cgo_import_dynamic libc_unlink unlink "libc.so" // 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_syscall(libc_unlinkat_trampoline_addr, uintptr(dirfd), uintptr(unsafe.Pointer(_p0)), uintptr(flags)) if e1 != 0 { err = errnoErr(e1) } return } var libc_unlinkat_trampoline_addr uintptr //go:cgo_import_dynamic libc_unlinkat unlinkat "libc.so" // 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_syscall(libc_unmount_trampoline_addr, uintptr(unsafe.Pointer(_p0)), uintptr(flags), 0) if e1 != 0 { err = errnoErr(e1) } return } var libc_unmount_trampoline_addr uintptr //go:cgo_import_dynamic libc_unmount unmount "libc.so" // 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_syscall(libc_write_trampoline_addr, uintptr(fd), uintptr(_p0), uintptr(len(p))) n = int(r0) if e1 != 0 { err = errnoErr(e1) } return } var libc_write_trampoline_addr uintptr //go:cgo_import_dynamic libc_write write "libc.so" // 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 := syscall_syscall6(libc_mmap_trampoline_addr, uintptr(addr), uintptr(length), uintptr(prot), uintptr(flag), uintptr(fd), uintptr(pos)) ret = uintptr(r0) if e1 != 0 { err = errnoErr(e1) } return } var libc_mmap_trampoline_addr uintptr //go:cgo_import_dynamic libc_mmap mmap "libc.so" // THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT func munmap(addr uintptr, length uintptr) (err error) { _, _, e1 := syscall_syscall(libc_munmap_trampoline_addr, uintptr(addr), uintptr(length), 0) if e1 != 0 { err = errnoErr(e1) } return } var libc_munmap_trampoline_addr uintptr //go:cgo_import_dynamic libc_munmap munmap "libc.so" // THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT func getfsstat(stat *Statfs_t, bufsize uintptr, flags int) (n int, err error) { r0, _, e1 := syscall_syscall(libc_getfsstat_trampoline_addr, uintptr(unsafe.Pointer(stat)), uintptr(bufsize), uintptr(flags)) n = int(r0) if e1 != 0 { err = errnoErr(e1) } return } var libc_getfsstat_trampoline_addr uintptr //go:cgo_import_dynamic libc_getfsstat getfsstat "libc.so" // 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 := syscall_syscall6(libc_utimensat_trampoline_addr, uintptr(dirfd), uintptr(unsafe.Pointer(_p0)), uintptr(unsafe.Pointer(times)), uintptr(flags), 0, 0) if e1 != 0 { err = errnoErr(e1) } return } var libc_utimensat_trampoline_addr uintptr //go:cgo_import_dynamic libc_utimensat utimensat "libc.so" // THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT func pledge(promises *byte, execpromises *byte) (err error) { _, _, e1 := syscall_syscall(libc_pledge_trampoline_addr, uintptr(unsafe.Pointer(promises)), uintptr(unsafe.Pointer(execpromises)), 0) if e1 != 0 { err = errnoErr(e1) } return } var libc_pledge_trampoline_addr uintptr //go:cgo_import_dynamic libc_pledge pledge "libc.so" // THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT func unveil(path *byte, flags *byte) (err error) { _, _, e1 := syscall_syscall(libc_unveil_trampoline_addr, uintptr(unsafe.Pointer(path)), uintptr(unsafe.Pointer(flags)), 0) if e1 != 0 { err = errnoErr(e1) } return } var libc_unveil_trampoline_addr uintptr //go:cgo_import_dynamic libc_unveil unveil "libc.so" dependencies/pkg/mod/golang.org/x/sys@v0.26.0/unix/vgetrandom_linux.go0000644000000000000000000000053115107355264024524 0ustar rootroot// Copyright 2024 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:build linux && go1.24 package unix import _ "unsafe" //go:linkname vgetrandom runtime.vgetrandom //go:noescape func vgetrandom(p []byte, flags uint32) (ret int, supported bool) dependencies/pkg/mod/golang.org/x/sys@v0.26.0/unix/syscall_linux_mips64x.go0000644000000000000000000001351615107355264025431 0ustar rootroot// 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:build linux && (mips64 || mips64le) package unix //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 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 Renameat(olddirfd int, oldpath string, newdirfd int, newpath string) (err error) //sys Seek(fd int, offset int64, whence int) (off int64, err error) = SYS_LSEEK func Select(nfd int, r *FdSet, w *FdSet, e *FdSet, timeout *Timeval) (n int, err error) { var ts *Timespec if timeout != nil { ts = &Timespec{Sec: timeout.Sec, Nsec: timeout.Usec * 1000} } return pselect6(nfd, r, w, e, ts, nil) } //sys sendfile(outfd int, infd int, offset *int64, count int) (written int, err error) //sys setfsgid(gid int) (prev int, err error) //sys setfsuid(uid int) (prev 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 Ustat(dev int, ubuf *Ustat_t) (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) //sys futimesat(dirfd int, path string, times *[2]Timeval) (err error) //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) //sys utimes(path string, times *[2]Timeval) (err error) func setTimespec(sec, nsec int64) Timespec { return Timespec{Sec: sec, Nsec: nsec} } func setTimeval(sec, usec int64) Timeval { return Timeval{Sec: sec, Usec: usec} } 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 fstatat(dirfd int, path string, st *stat_t, flags int) (err error) = SYS_NEWFSTATAT //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 Fstatat(dirfd int, path string, s *Stat_t, flags int) (err error) { st := &stat_t{} err = fstatat(dirfd, path, st, flags) 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 (msghdr *Msghdr) SetIovlen(length int) { msghdr.Iovlen = uint64(length) } func (cmsg *Cmsghdr) SetLen(length int) { cmsg.Len = uint64(length) } func (rsa *RawSockaddrNFCLLCP) SetServiceNameLen(length int) { rsa.Service_name_len = uint64(length) } dependencies/pkg/mod/golang.org/x/sys@v0.26.0/unix/constants.go0000644000000000000000000000047615107355264023163 0ustar rootroot// 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:build aix || darwin || dragonfly || freebsd || linux || netbsd || openbsd || solaris || zos package unix const ( R_OK = 0x4 W_OK = 0x2 X_OK = 0x1 ) dependencies/pkg/mod/golang.org/x/sys@v0.26.0/unix/zerrors_linux_arm64.go0000644000000000000000000010507015107355264025101 0ustar rootroot// mkerrors.sh -Wall -Werror -static -I/tmp/arm64/include -fsigned-char // Code generated by the command above; see README.md. DO NOT EDIT. //go:build arm64 && linux // Code generated by cmd/cgo -godefs; DO NOT EDIT. // cgo -godefs -- -Wall -Werror -static -I/tmp/arm64/include -fsigned-char _const.go package unix import "syscall" const ( B1000000 = 0x1008 B115200 = 0x1002 B1152000 = 0x1009 B1500000 = 0x100a B2000000 = 0x100b B230400 = 0x1003 B2500000 = 0x100c B3000000 = 0x100d B3500000 = 0x100e B4000000 = 0x100f B460800 = 0x1004 B500000 = 0x1005 B57600 = 0x1001 B576000 = 0x1006 B921600 = 0x1007 BLKALIGNOFF = 0x127a BLKBSZGET = 0x80081270 BLKBSZSET = 0x40081271 BLKDISCARD = 0x1277 BLKDISCARDZEROES = 0x127c BLKFLSBUF = 0x1261 BLKFRAGET = 0x1265 BLKFRASET = 0x1264 BLKGETDISKSEQ = 0x80081280 BLKGETSIZE = 0x1260 BLKGETSIZE64 = 0x80081272 BLKIOMIN = 0x1278 BLKIOOPT = 0x1279 BLKPBSZGET = 0x127b BLKRAGET = 0x1263 BLKRASET = 0x1262 BLKROGET = 0x125e BLKROSET = 0x125d BLKROTATIONAL = 0x127e BLKRRPART = 0x125f BLKSECDISCARD = 0x127d BLKSECTGET = 0x1267 BLKSECTSET = 0x1266 BLKSSZGET = 0x1268 BLKZEROOUT = 0x127f BOTHER = 0x1000 BS1 = 0x2000 BSDLY = 0x2000 CBAUD = 0x100f CBAUDEX = 0x1000 CIBAUD = 0x100f0000 CLOCAL = 0x800 CR1 = 0x200 CR2 = 0x400 CR3 = 0x600 CRDLY = 0x600 CREAD = 0x80 CS6 = 0x10 CS7 = 0x20 CS8 = 0x30 CSIZE = 0x30 CSTOPB = 0x40 ECCGETLAYOUT = 0x81484d11 ECCGETSTATS = 0x80104d12 ECHOCTL = 0x200 ECHOE = 0x10 ECHOK = 0x20 ECHOKE = 0x800 ECHONL = 0x40 ECHOPRT = 0x400 EFD_CLOEXEC = 0x80000 EFD_NONBLOCK = 0x800 EPIOCGPARAMS = 0x80088a02 EPIOCSPARAMS = 0x40088a01 EPOLL_CLOEXEC = 0x80000 ESR_MAGIC = 0x45535201 EXTPROC = 0x10000 EXTRA_MAGIC = 0x45585401 FF1 = 0x8000 FFDLY = 0x8000 FICLONE = 0x40049409 FICLONERANGE = 0x4020940d FLUSHO = 0x1000 FPMR_MAGIC = 0x46504d52 FPSIMD_MAGIC = 0x46508001 FS_IOC_ENABLE_VERITY = 0x40806685 FS_IOC_GETFLAGS = 0x80086601 FS_IOC_GET_ENCRYPTION_NONCE = 0x8010661b FS_IOC_GET_ENCRYPTION_POLICY = 0x400c6615 FS_IOC_GET_ENCRYPTION_PWSALT = 0x40106614 FS_IOC_SETFLAGS = 0x40086602 FS_IOC_SET_ENCRYPTION_POLICY = 0x800c6613 F_GETLK = 0x5 F_GETLK64 = 0x5 F_GETOWN = 0x9 F_RDLCK = 0x0 F_SETLK = 0x6 F_SETLK64 = 0x6 F_SETLKW = 0x7 F_SETLKW64 = 0x7 F_SETOWN = 0x8 F_UNLCK = 0x2 F_WRLCK = 0x1 HIDIOCGRAWINFO = 0x80084803 HIDIOCGRDESC = 0x90044802 HIDIOCGRDESCSIZE = 0x80044801 HUPCL = 0x400 ICANON = 0x2 IEXTEN = 0x8000 IN_CLOEXEC = 0x80000 IN_NONBLOCK = 0x800 IOCTL_VM_SOCKETS_GET_LOCAL_CID = 0x7b9 ISIG = 0x1 IUCLC = 0x200 IXOFF = 0x1000 IXON = 0x400 MAP_ANON = 0x20 MAP_ANONYMOUS = 0x20 MAP_DENYWRITE = 0x800 MAP_EXECUTABLE = 0x1000 MAP_GROWSDOWN = 0x100 MAP_HUGETLB = 0x40000 MAP_LOCKED = 0x2000 MAP_NONBLOCK = 0x10000 MAP_NORESERVE = 0x4000 MAP_POPULATE = 0x8000 MAP_STACK = 0x20000 MAP_SYNC = 0x80000 MCL_CURRENT = 0x1 MCL_FUTURE = 0x2 MCL_ONFAULT = 0x4 MEMERASE = 0x40084d02 MEMERASE64 = 0x40104d14 MEMGETBADBLOCK = 0x40084d0b MEMGETINFO = 0x80204d01 MEMGETOOBSEL = 0x80c84d0a MEMGETREGIONCOUNT = 0x80044d07 MEMISLOCKED = 0x80084d17 MEMLOCK = 0x40084d05 MEMREAD = 0xc0404d1a MEMREADOOB = 0xc0104d04 MEMSETBADBLOCK = 0x40084d0c MEMUNLOCK = 0x40084d06 MEMWRITEOOB = 0xc0104d03 MTDFILEMODE = 0x4d13 NFDBITS = 0x40 NLDLY = 0x100 NOFLSH = 0x80 NS_GET_MNTNS_ID = 0x8008b705 NS_GET_NSTYPE = 0xb703 NS_GET_OWNER_UID = 0xb704 NS_GET_PARENT = 0xb702 NS_GET_PID_FROM_PIDNS = 0x8004b706 NS_GET_PID_IN_PIDNS = 0x8004b708 NS_GET_TGID_FROM_PIDNS = 0x8004b707 NS_GET_TGID_IN_PIDNS = 0x8004b709 NS_GET_USERNS = 0xb701 OLCUC = 0x2 ONLCR = 0x4 OTPERASE = 0x400c4d19 OTPGETREGIONCOUNT = 0x40044d0e OTPGETREGIONINFO = 0x400c4d0f OTPLOCK = 0x800c4d10 OTPSELECT = 0x80044d0d 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_RSYNC = 0x101000 O_SYNC = 0x101000 O_TMPFILE = 0x404000 O_TRUNC = 0x200 PARENB = 0x100 PARODD = 0x200 PENDIN = 0x4000 PERF_EVENT_IOC_DISABLE = 0x2401 PERF_EVENT_IOC_ENABLE = 0x2400 PERF_EVENT_IOC_ID = 0x80082407 PERF_EVENT_IOC_MODIFY_ATTRIBUTES = 0x4008240b PERF_EVENT_IOC_PAUSE_OUTPUT = 0x40042409 PERF_EVENT_IOC_PERIOD = 0x40082404 PERF_EVENT_IOC_QUERY_BPF = 0xc008240a PERF_EVENT_IOC_REFRESH = 0x2402 PERF_EVENT_IOC_RESET = 0x2403 PERF_EVENT_IOC_SET_BPF = 0x40042408 PERF_EVENT_IOC_SET_FILTER = 0x40082406 PERF_EVENT_IOC_SET_OUTPUT = 0x2405 PPPIOCATTACH = 0x4004743d PPPIOCATTCHAN = 0x40047438 PPPIOCBRIDGECHAN = 0x40047435 PPPIOCCONNECT = 0x4004743a PPPIOCDETACH = 0x4004743c PPPIOCDISCONN = 0x7439 PPPIOCGASYNCMAP = 0x80047458 PPPIOCGCHAN = 0x80047437 PPPIOCGDEBUG = 0x80047441 PPPIOCGFLAGS = 0x8004745a PPPIOCGIDLE = 0x8010743f PPPIOCGIDLE32 = 0x8008743f PPPIOCGIDLE64 = 0x8010743f PPPIOCGL2TPSTATS = 0x80487436 PPPIOCGMRU = 0x80047453 PPPIOCGRASYNCMAP = 0x80047455 PPPIOCGUNIT = 0x80047456 PPPIOCGXASYNCMAP = 0x80207450 PPPIOCSACTIVE = 0x40107446 PPPIOCSASYNCMAP = 0x40047457 PPPIOCSCOMPRESS = 0x4010744d PPPIOCSDEBUG = 0x40047440 PPPIOCSFLAGS = 0x40047459 PPPIOCSMAXCID = 0x40047451 PPPIOCSMRRU = 0x4004743b PPPIOCSMRU = 0x40047452 PPPIOCSNPMODE = 0x4008744b PPPIOCSPASS = 0x40107447 PPPIOCSRASYNCMAP = 0x40047454 PPPIOCSXASYNCMAP = 0x4020744f PPPIOCUNBRIDGECHAN = 0x7434 PPPIOCXFERUNIT = 0x744e PROT_BTI = 0x10 PROT_MTE = 0x20 PR_SET_PTRACER_ANY = 0xffffffffffffffff PTRACE_PEEKMTETAGS = 0x21 PTRACE_POKEMTETAGS = 0x22 PTRACE_SYSEMU = 0x1f PTRACE_SYSEMU_SINGLESTEP = 0x20 RLIMIT_AS = 0x9 RLIMIT_MEMLOCK = 0x8 RLIMIT_NOFILE = 0x7 RLIMIT_NPROC = 0x6 RLIMIT_RSS = 0x5 RNDADDENTROPY = 0x40085203 RNDADDTOENTCNT = 0x40045201 RNDCLEARPOOL = 0x5206 RNDGETENTCNT = 0x80045200 RNDGETPOOL = 0x80085202 RNDRESEEDCRNG = 0x5207 RNDZAPENTCNT = 0x5204 RTC_AIE_OFF = 0x7002 RTC_AIE_ON = 0x7001 RTC_ALM_READ = 0x80247008 RTC_ALM_SET = 0x40247007 RTC_EPOCH_READ = 0x8008700d RTC_EPOCH_SET = 0x4008700e RTC_IRQP_READ = 0x8008700b RTC_IRQP_SET = 0x4008700c RTC_PARAM_GET = 0x40187013 RTC_PARAM_SET = 0x40187014 RTC_PIE_OFF = 0x7006 RTC_PIE_ON = 0x7005 RTC_PLL_GET = 0x80207011 RTC_PLL_SET = 0x40207012 RTC_RD_TIME = 0x80247009 RTC_SET_TIME = 0x4024700a RTC_UIE_OFF = 0x7004 RTC_UIE_ON = 0x7003 RTC_VL_CLR = 0x7014 RTC_VL_READ = 0x80047013 RTC_WIE_OFF = 0x7010 RTC_WIE_ON = 0x700f RTC_WKALM_RD = 0x80287010 RTC_WKALM_SET = 0x4028700f SCM_TIMESTAMPING = 0x25 SCM_TIMESTAMPING_OPT_STATS = 0x36 SCM_TIMESTAMPING_PKTINFO = 0x3a SCM_TIMESTAMPNS = 0x23 SCM_TXTIME = 0x3d SCM_WIFI_STATUS = 0x29 SECCOMP_IOCTL_NOTIF_ADDFD = 0x40182103 SECCOMP_IOCTL_NOTIF_ID_VALID = 0x40082102 SECCOMP_IOCTL_NOTIF_SET_FLAGS = 0x40082104 SFD_CLOEXEC = 0x80000 SFD_NONBLOCK = 0x800 SIOCATMARK = 0x8905 SIOCGPGRP = 0x8904 SIOCGSTAMPNS_NEW = 0x80108907 SIOCGSTAMP_NEW = 0x80108906 SIOCINQ = 0x541b SIOCOUTQ = 0x5411 SIOCSPGRP = 0x8902 SOCK_CLOEXEC = 0x80000 SOCK_DGRAM = 0x2 SOCK_NONBLOCK = 0x800 SOCK_STREAM = 0x1 SOL_SOCKET = 0x1 SO_ACCEPTCONN = 0x1e SO_ATTACH_BPF = 0x32 SO_ATTACH_REUSEPORT_CBPF = 0x33 SO_ATTACH_REUSEPORT_EBPF = 0x34 SO_BINDTODEVICE = 0x19 SO_BINDTOIFINDEX = 0x3e SO_BPF_EXTENSIONS = 0x30 SO_BROADCAST = 0x6 SO_BSDCOMPAT = 0xe SO_BUF_LOCK = 0x48 SO_BUSY_POLL = 0x2e SO_BUSY_POLL_BUDGET = 0x46 SO_CNX_ADVICE = 0x35 SO_COOKIE = 0x39 SO_DETACH_REUSEPORT_BPF = 0x44 SO_DOMAIN = 0x27 SO_DONTROUTE = 0x5 SO_ERROR = 0x4 SO_INCOMING_CPU = 0x31 SO_INCOMING_NAPI_ID = 0x38 SO_KEEPALIVE = 0x9 SO_LINGER = 0xd SO_LOCK_FILTER = 0x2c SO_MARK = 0x24 SO_MAX_PACING_RATE = 0x2f SO_MEMINFO = 0x37 SO_NETNS_COOKIE = 0x47 SO_NOFCS = 0x2b SO_OOBINLINE = 0xa SO_PASSCRED = 0x10 SO_PASSPIDFD = 0x4c SO_PASSSEC = 0x22 SO_PEEK_OFF = 0x2a SO_PEERCRED = 0x11 SO_PEERGROUPS = 0x3b SO_PEERPIDFD = 0x4d SO_PEERSEC = 0x1f SO_PREFER_BUSY_POLL = 0x45 SO_PROTOCOL = 0x26 SO_RCVBUF = 0x8 SO_RCVBUFFORCE = 0x21 SO_RCVLOWAT = 0x12 SO_RCVMARK = 0x4b SO_RCVTIMEO = 0x14 SO_RCVTIMEO_NEW = 0x42 SO_RCVTIMEO_OLD = 0x14 SO_RESERVE_MEM = 0x49 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_SNDTIMEO_NEW = 0x43 SO_SNDTIMEO_OLD = 0x15 SO_TIMESTAMPING = 0x25 SO_TIMESTAMPING_NEW = 0x41 SO_TIMESTAMPING_OLD = 0x25 SO_TIMESTAMPNS = 0x23 SO_TIMESTAMPNS_NEW = 0x40 SO_TIMESTAMPNS_OLD = 0x23 SO_TIMESTAMP_NEW = 0x3f SO_TXREHASH = 0x4a SO_TXTIME = 0x3d SO_TYPE = 0x3 SO_WIFI_STATUS = 0x29 SO_ZEROCOPY = 0x3c SVE_MAGIC = 0x53564501 TAB1 = 0x800 TAB2 = 0x1000 TAB3 = 0x1800 TABDLY = 0x1800 TCFLSH = 0x540b TCGETA = 0x5405 TCGETS = 0x5401 TCGETS2 = 0x802c542a TCGETX = 0x5432 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 TFD_CLOEXEC = 0x80000 TFD_NONBLOCK = 0x800 TIOCCBRK = 0x5428 TIOCCONS = 0x541d TIOCEXCL = 0x540c TIOCGDEV = 0x80045432 TIOCGETD = 0x5424 TIOCGEXCL = 0x80045440 TIOCGICOUNT = 0x545d TIOCGISO7816 = 0x80285442 TIOCGLCKTRMIOS = 0x5456 TIOCGPGRP = 0x540f TIOCGPKT = 0x80045438 TIOCGPTLCK = 0x80045439 TIOCGPTN = 0x80045430 TIOCGPTPEER = 0x5441 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_RI = 0x80 TIOCM_RNG = 0x80 TIOCM_SR = 0x10 TIOCM_ST = 0x8 TIOCNOTTY = 0x5422 TIOCNXCL = 0x540d TIOCOUTQ = 0x5411 TIOCPKT = 0x5420 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 TIOCSISO7816 = 0xc0285443 TIOCSLCKTRMIOS = 0x5457 TIOCSPGRP = 0x5410 TIOCSPTLCK = 0x40045431 TIOCSRS485 = 0x542f TIOCSSERIAL = 0x541f TIOCSSOFTCAR = 0x541a TIOCSTI = 0x5412 TIOCSWINSZ = 0x5414 TIOCVHANGUP = 0x5437 TOSTOP = 0x100 TPIDR2_MAGIC = 0x54504902 TUNATTACHFILTER = 0x401054d5 TUNDETACHFILTER = 0x401054d6 TUNGETDEVNETNS = 0x54e3 TUNGETFEATURES = 0x800454cf TUNGETFILTER = 0x801054db TUNGETIFF = 0x800454d2 TUNGETSNDBUF = 0x800454d3 TUNGETVNETBE = 0x800454df TUNGETVNETHDRSZ = 0x800454d7 TUNGETVNETLE = 0x800454dd TUNSETCARRIER = 0x400454e2 TUNSETDEBUG = 0x400454c9 TUNSETFILTEREBPF = 0x800454e1 TUNSETGROUP = 0x400454ce TUNSETIFF = 0x400454ca TUNSETIFINDEX = 0x400454da TUNSETLINK = 0x400454cd TUNSETNOCSUM = 0x400454c8 TUNSETOFFLOAD = 0x400454d0 TUNSETOWNER = 0x400454cc TUNSETPERSIST = 0x400454cb TUNSETQUEUE = 0x400454d9 TUNSETSNDBUF = 0x400454d4 TUNSETSTEERINGEBPF = 0x800454e0 TUNSETTXFILTER = 0x400454d1 TUNSETVNETBE = 0x400454de TUNSETVNETHDRSZ = 0x400454d8 TUNSETVNETLE = 0x400454dc UBI_IOCATT = 0x40186f40 UBI_IOCDET = 0x40046f41 UBI_IOCEBCH = 0x40044f02 UBI_IOCEBER = 0x40044f01 UBI_IOCEBISMAP = 0x80044f05 UBI_IOCEBMAP = 0x40084f03 UBI_IOCEBUNMAP = 0x40044f04 UBI_IOCMKVOL = 0x40986f00 UBI_IOCRMVOL = 0x40046f01 UBI_IOCRNVOL = 0x51106f03 UBI_IOCRPEB = 0x40046f04 UBI_IOCRSVOL = 0x400c6f02 UBI_IOCSETVOLPROP = 0x40104f06 UBI_IOCSPEB = 0x40046f05 UBI_IOCVOLCRBLK = 0x40804f07 UBI_IOCVOLRMBLK = 0x4f08 UBI_IOCVOLUP = 0x40084f00 VDISCARD = 0xd VEOF = 0x4 VEOL = 0xb VEOL2 = 0x10 VMIN = 0x6 VREPRINT = 0xc VSTART = 0x8 VSTOP = 0x9 VSUSP = 0xa VSWTC = 0x7 VT1 = 0x4000 VTDLY = 0x4000 VTIME = 0x5 VWERASE = 0xe WDIOC_GETBOOTSTATUS = 0x80045702 WDIOC_GETPRETIMEOUT = 0x80045709 WDIOC_GETSTATUS = 0x80045701 WDIOC_GETSUPPORT = 0x80285700 WDIOC_GETTEMP = 0x80045703 WDIOC_GETTIMELEFT = 0x8004570a WDIOC_GETTIMEOUT = 0x80045707 WDIOC_KEEPALIVE = 0x80045705 WDIOC_SETOPTIONS = 0x80045704 WORDSIZE = 0x40 XCASE = 0x4 XTABS = 0x1800 ZA_MAGIC = 0x54366345 ZT_MAGIC = 0x5a544e01 _HIDIOCGRAWNAME = 0x80804804 _HIDIOCGRAWPHYS = 0x80404805 _HIDIOCGRAWUNIQ = 0x80404808 ) // Errors const ( EADDRINUSE = syscall.Errno(0x62) EADDRNOTAVAIL = syscall.Errno(0x63) EADV = syscall.Errno(0x44) EAFNOSUPPORT = syscall.Errno(0x61) EALREADY = syscall.Errno(0x72) EBADE = syscall.Errno(0x34) EBADFD = syscall.Errno(0x4d) EBADMSG = syscall.Errno(0x4a) EBADR = syscall.Errno(0x35) EBADRQC = syscall.Errno(0x38) EBADSLT = syscall.Errno(0x39) EBFONT = syscall.Errno(0x3b) ECANCELED = syscall.Errno(0x7d) 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) EDOTDOT = syscall.Errno(0x49) EDQUOT = syscall.Errno(0x7a) EHOSTDOWN = syscall.Errno(0x70) EHOSTUNREACH = syscall.Errno(0x71) EHWPOISON = syscall.Errno(0x85) EIDRM = syscall.Errno(0x2b) EILSEQ = syscall.Errno(0x54) EINPROGRESS = syscall.Errno(0x73) EISCONN = syscall.Errno(0x6a) 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) 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) ENOANO = syscall.Errno(0x37) ENOBUFS = syscall.Errno(0x69) ENOCSI = syscall.Errno(0x32) ENODATA = syscall.Errno(0x3d) ENOKEY = syscall.Errno(0x7e) ENOLCK = syscall.Errno(0x25) ENOLINK = syscall.Errno(0x43) ENOMEDIUM = syscall.Errno(0x7b) ENOMSG = syscall.Errno(0x2a) ENONET = syscall.Errno(0x40) ENOPKG = syscall.Errno(0x41) ENOPROTOOPT = syscall.Errno(0x5c) ENOSR = syscall.Errno(0x3f) ENOSTR = syscall.Errno(0x3c) ENOSYS = syscall.Errno(0x26) ENOTCONN = syscall.Errno(0x6b) ENOTEMPTY = syscall.Errno(0x27) ENOTNAM = syscall.Errno(0x76) ENOTRECOVERABLE = syscall.Errno(0x83) ENOTSOCK = syscall.Errno(0x58) ENOTSUP = syscall.Errno(0x5f) ENOTUNIQ = syscall.Errno(0x4c) EOPNOTSUPP = syscall.Errno(0x5f) EOVERFLOW = syscall.Errno(0x4b) EOWNERDEAD = syscall.Errno(0x82) EPFNOSUPPORT = syscall.Errno(0x60) EPROTO = syscall.Errno(0x47) EPROTONOSUPPORT = syscall.Errno(0x5d) EPROTOTYPE = syscall.Errno(0x5b) EREMCHG = syscall.Errno(0x4e) EREMOTE = syscall.Errno(0x42) EREMOTEIO = syscall.Errno(0x79) ERESTART = syscall.Errno(0x55) ERFKILL = syscall.Errno(0x84) ESHUTDOWN = syscall.Errno(0x6c) ESOCKTNOSUPPORT = syscall.Errno(0x5e) ESRMNT = syscall.Errno(0x45) ESTALE = syscall.Errno(0x74) ESTRPIPE = syscall.Errno(0x56) ETIME = syscall.Errno(0x3e) ETIMEDOUT = syscall.Errno(0x6e) ETOOMANYREFS = syscall.Errno(0x6d) EUCLEAN = syscall.Errno(0x75) EUNATCH = syscall.Errno(0x31) EUSERS = syscall.Errno(0x57) EXFULL = syscall.Errno(0x36) ) // Signals const ( SIGBUS = syscall.Signal(0x7) SIGCHLD = syscall.Signal(0x11) SIGCLD = syscall.Signal(0x11) SIGCONT = syscall.Signal(0x12) SIGIO = syscall.Signal(0x1d) SIGPOLL = syscall.Signal(0x1d) SIGPROF = syscall.Signal(0x1b) SIGPWR = syscall.Signal(0x1e) SIGSTKFLT = syscall.Signal(0x10) SIGSTOP = syscall.Signal(0x13) SIGSYS = syscall.Signal(0x1f) SIGTSTP = syscall.Signal(0x14) SIGTTIN = syscall.Signal(0x15) SIGTTOU = syscall.Signal(0x16) 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 errorList = [...]struct { num syscall.Errno name string desc string }{ {1, "EPERM", "operation not permitted"}, {2, "ENOENT", "no such file or directory"}, {3, "ESRCH", "no such process"}, {4, "EINTR", "interrupted system call"}, {5, "EIO", "input/output error"}, {6, "ENXIO", "no such device or address"}, {7, "E2BIG", "argument list too long"}, {8, "ENOEXEC", "exec format error"}, {9, "EBADF", "bad file descriptor"}, {10, "ECHILD", "no child processes"}, {11, "EAGAIN", "resource temporarily unavailable"}, {12, "ENOMEM", "cannot allocate memory"}, {13, "EACCES", "permission denied"}, {14, "EFAULT", "bad address"}, {15, "ENOTBLK", "block device required"}, {16, "EBUSY", "device or resource busy"}, {17, "EEXIST", "file exists"}, {18, "EXDEV", "invalid cross-device link"}, {19, "ENODEV", "no such device"}, {20, "ENOTDIR", "not a directory"}, {21, "EISDIR", "is a directory"}, {22, "EINVAL", "invalid argument"}, {23, "ENFILE", "too many open files in system"}, {24, "EMFILE", "too many open files"}, {25, "ENOTTY", "inappropriate ioctl for device"}, {26, "ETXTBSY", "text file busy"}, {27, "EFBIG", "file too large"}, {28, "ENOSPC", "no space left on device"}, {29, "ESPIPE", "illegal seek"}, {30, "EROFS", "read-only file system"}, {31, "EMLINK", "too many links"}, {32, "EPIPE", "broken pipe"}, {33, "EDOM", "numerical argument out of domain"}, {34, "ERANGE", "numerical result out of range"}, {35, "EDEADLK", "resource deadlock avoided"}, {36, "ENAMETOOLONG", "file name too long"}, {37, "ENOLCK", "no locks available"}, {38, "ENOSYS", "function not implemented"}, {39, "ENOTEMPTY", "directory not empty"}, {40, "ELOOP", "too many levels of symbolic links"}, {42, "ENOMSG", "no message of desired type"}, {43, "EIDRM", "identifier removed"}, {44, "ECHRNG", "channel number out of range"}, {45, "EL2NSYNC", "level 2 not synchronized"}, {46, "EL3HLT", "level 3 halted"}, {47, "EL3RST", "level 3 reset"}, {48, "ELNRNG", "link number out of range"}, {49, "EUNATCH", "protocol driver not attached"}, {50, "ENOCSI", "no CSI structure available"}, {51, "EL2HLT", "level 2 halted"}, {52, "EBADE", "invalid exchange"}, {53, "EBADR", "invalid request descriptor"}, {54, "EXFULL", "exchange full"}, {55, "ENOANO", "no anode"}, {56, "EBADRQC", "invalid request code"}, {57, "EBADSLT", "invalid slot"}, {59, "EBFONT", "bad font file format"}, {60, "ENOSTR", "device not a stream"}, {61, "ENODATA", "no data available"}, {62, "ETIME", "timer expired"}, {63, "ENOSR", "out of streams resources"}, {64, "ENONET", "machine is not on the network"}, {65, "ENOPKG", "package not installed"}, {66, "EREMOTE", "object is remote"}, {67, "ENOLINK", "link has been severed"}, {68, "EADV", "advertise error"}, {69, "ESRMNT", "srmount error"}, {70, "ECOMM", "communication error on send"}, {71, "EPROTO", "protocol error"}, {72, "EMULTIHOP", "multihop attempted"}, {73, "EDOTDOT", "RFS specific error"}, {74, "EBADMSG", "bad message"}, {75, "EOVERFLOW", "value too large for defined data type"}, {76, "ENOTUNIQ", "name not unique on network"}, {77, "EBADFD", "file descriptor in bad state"}, {78, "EREMCHG", "remote address changed"}, {79, "ELIBACC", "can not access a needed shared library"}, {80, "ELIBBAD", "accessing a corrupted shared library"}, {81, "ELIBSCN", ".lib section in a.out corrupted"}, {82, "ELIBMAX", "attempting to link in too many shared libraries"}, {83, "ELIBEXEC", "cannot exec a shared library directly"}, {84, "EILSEQ", "invalid or incomplete multibyte or wide character"}, {85, "ERESTART", "interrupted system call should be restarted"}, {86, "ESTRPIPE", "streams pipe error"}, {87, "EUSERS", "too many users"}, {88, "ENOTSOCK", "socket operation on non-socket"}, {89, "EDESTADDRREQ", "destination address required"}, {90, "EMSGSIZE", "message too long"}, {91, "EPROTOTYPE", "protocol wrong type for socket"}, {92, "ENOPROTOOPT", "protocol not available"}, {93, "EPROTONOSUPPORT", "protocol not supported"}, {94, "ESOCKTNOSUPPORT", "socket type not supported"}, {95, "ENOTSUP", "operation not supported"}, {96, "EPFNOSUPPORT", "protocol family not supported"}, {97, "EAFNOSUPPORT", "address family not supported by protocol"}, {98, "EADDRINUSE", "address already in use"}, {99, "EADDRNOTAVAIL", "cannot assign requested address"}, {100, "ENETDOWN", "network is down"}, {101, "ENETUNREACH", "network is unreachable"}, {102, "ENETRESET", "network dropped connection on reset"}, {103, "ECONNABORTED", "software caused connection abort"}, {104, "ECONNRESET", "connection reset by peer"}, {105, "ENOBUFS", "no buffer space available"}, {106, "EISCONN", "transport endpoint is already connected"}, {107, "ENOTCONN", "transport endpoint is not connected"}, {108, "ESHUTDOWN", "cannot send after transport endpoint shutdown"}, {109, "ETOOMANYREFS", "too many references: cannot splice"}, {110, "ETIMEDOUT", "connection timed out"}, {111, "ECONNREFUSED", "connection refused"}, {112, "EHOSTDOWN", "host is down"}, {113, "EHOSTUNREACH", "no route to host"}, {114, "EALREADY", "operation already in progress"}, {115, "EINPROGRESS", "operation now in progress"}, {116, "ESTALE", "stale file handle"}, {117, "EUCLEAN", "structure needs cleaning"}, {118, "ENOTNAM", "not a XENIX named type file"}, {119, "ENAVAIL", "no XENIX semaphores available"}, {120, "EISNAM", "is a named type file"}, {121, "EREMOTEIO", "remote I/O error"}, {122, "EDQUOT", "disk quota exceeded"}, {123, "ENOMEDIUM", "no medium found"}, {124, "EMEDIUMTYPE", "wrong medium type"}, {125, "ECANCELED", "operation canceled"}, {126, "ENOKEY", "required key not available"}, {127, "EKEYEXPIRED", "key has expired"}, {128, "EKEYREVOKED", "key has been revoked"}, {129, "EKEYREJECTED", "key was rejected by service"}, {130, "EOWNERDEAD", "owner died"}, {131, "ENOTRECOVERABLE", "state not recoverable"}, {132, "ERFKILL", "operation not possible due to RF-kill"}, {133, "EHWPOISON", "memory page has hardware error"}, } // Signal table var signalList = [...]struct { num syscall.Signal name string desc string }{ {1, "SIGHUP", "hangup"}, {2, "SIGINT", "interrupt"}, {3, "SIGQUIT", "quit"}, {4, "SIGILL", "illegal instruction"}, {5, "SIGTRAP", "trace/breakpoint trap"}, {6, "SIGABRT", "aborted"}, {7, "SIGBUS", "bus error"}, {8, "SIGFPE", "floating point exception"}, {9, "SIGKILL", "killed"}, {10, "SIGUSR1", "user defined signal 1"}, {11, "SIGSEGV", "segmentation fault"}, {12, "SIGUSR2", "user defined signal 2"}, {13, "SIGPIPE", "broken pipe"}, {14, "SIGALRM", "alarm clock"}, {15, "SIGTERM", "terminated"}, {16, "SIGSTKFLT", "stack fault"}, {17, "SIGCHLD", "child exited"}, {18, "SIGCONT", "continued"}, {19, "SIGSTOP", "stopped (signal)"}, {20, "SIGTSTP", "stopped"}, {21, "SIGTTIN", "stopped (tty input)"}, {22, "SIGTTOU", "stopped (tty output)"}, {23, "SIGURG", "urgent I/O condition"}, {24, "SIGXCPU", "CPU time limit exceeded"}, {25, "SIGXFSZ", "file size limit exceeded"}, {26, "SIGVTALRM", "virtual timer expired"}, {27, "SIGPROF", "profiling timer expired"}, {28, "SIGWINCH", "window changed"}, {29, "SIGIO", "I/O possible"}, {30, "SIGPWR", "power failure"}, {31, "SIGSYS", "bad system call"}, } dependencies/pkg/mod/golang.org/x/sys@v0.26.0/unix/ztypes_openbsd_arm.go0000644000000000000000000002260215107355264025051 0ustar rootroot// cgo -godefs -- -fsigned-char types_openbsd.go | go run mkpost.go // Code generated by the command above; see README.md. DO NOT EDIT. //go:build arm && 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 _ [4]byte } type Timeval struct { Sec int64 Usec int32 _ [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 { 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 int32 Flags uint32 Gen uint32 _ [4]byte _ Timespec } type Statfs_t struct { F_flags uint32 F_bsize uint32 F_iosize uint32 _ [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]byte F_mntonname [90]byte F_mntfromname [90]byte F_mntfromspec [90]byte _ [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 _ [4]uint8 Name [256]int8 } type Fsid struct { Val [2]int32 } const ( PathMax = 0x400 ) 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 SizeofIovec = 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 _ [4]byte Data int64 Udata *byte _ [4]byte } type FdSet struct { Bits [32]uint32 } const ( SizeofIfMsghdr = 0xa8 SizeofIfData = 0x90 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 Rdomain uint32 Baudrate uint64 Ipackets uint64 Ierrors uint64 Opackets uint64 Oerrors uint64 Collisions uint64 Ibytes uint64 Obytes uint64 Imcasts uint64 Omcasts uint64 Iqdrops uint64 Oqdrops uint64 Noproto uint64 Capabilities uint32 _ [4]byte Lastchange Timeval } 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 } const ( SizeofBpfVersion = 0x4 SizeofBpfStat = 0x8 SizeofBpfProgram = 0x8 SizeofBpfInsn = 0x8 SizeofBpfHdr = 0x18 ) 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 Ifidx uint16 Flowid uint16 Flags uint8 Drops uint8 } 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 } type Winsize struct { Row uint16 Col uint16 Xpixel uint16 Ypixel uint16 } const ( AT_FDCWD = -0x64 AT_EACCESS = 0x1 AT_SYMLINK_NOFOLLOW = 0x2 AT_SYMLINK_FOLLOW = 0x4 AT_REMOVEDIR = 0x8 ) type PollFd struct { Fd int32 Events int16 Revents int16 } const ( POLLERR = 0x8 POLLHUP = 0x10 POLLIN = 0x1 POLLNVAL = 0x20 POLLOUT = 0x4 POLLPRI = 0x2 POLLRDBAND = 0x80 POLLRDNORM = 0x40 POLLWRBAND = 0x100 POLLWRNORM = 0x4 ) type Sigset_t uint32 type Utsname struct { Sysname [256]byte Nodename [256]byte Release [256]byte Version [256]byte Machine [256]byte } const SizeofUvmexp = 0x158 type Uvmexp struct { Pagesize int32 Pagemask int32 Pageshift int32 Npages int32 Free int32 Active int32 Inactive int32 Paging int32 Wired int32 Zeropages int32 Reserve_pagedaemon int32 Reserve_kernel int32 Unused01 int32 Vnodepages int32 Vtextpages int32 Freemin int32 Freetarg int32 Inactarg int32 Wiredmax int32 Anonmin int32 Vtextmin int32 Vnodemin int32 Anonminpct int32 Vtextminpct int32 Vnodeminpct int32 Nswapdev int32 Swpages int32 Swpginuse int32 Swpgonly int32 Nswget int32 Nanon int32 Unused05 int32 Unused06 int32 Faults int32 Traps int32 Intrs int32 Swtch int32 Softs int32 Syscalls int32 Pageins int32 Unused07 int32 Unused08 int32 Pgswapin int32 Pgswapout int32 Forks int32 Forks_ppwait int32 Forks_sharevm int32 Pga_zerohit int32 Pga_zeromiss int32 Unused09 int32 Fltnoram int32 Fltnoanon int32 Fltnoamap int32 Fltpgwait int32 Fltpgrele int32 Fltrelck int32 Fltrelckok int32 Fltanget int32 Fltanretry int32 Fltamcopy int32 Fltnamap int32 Fltnomap int32 Fltlget int32 Fltget int32 Flt_anon int32 Flt_acow int32 Flt_obj int32 Flt_prcopy int32 Flt_przero int32 Pdwoke int32 Pdrevs int32 Pdswout int32 Pdfreed int32 Pdscans int32 Pdanscan int32 Pdobscan int32 Pdreact int32 Pdbusy int32 Pdpageouts int32 Pdpending int32 Pddeact int32 Unused11 int32 Unused12 int32 Unused13 int32 Fpswtch int32 Kmapent int32 } const SizeofClockinfo = 0x10 type Clockinfo struct { Hz int32 Tick int32 Stathz int32 Profhz int32 } dependencies/pkg/mod/golang.org/x/sys@v0.26.0/unix/mmap_unix_test.go0000644000000000000000000000363415107355264024202 0ustar rootroot// 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. //go:build aix || darwin || dragonfly || freebsd || linux || netbsd || openbsd || solaris package unix_test import ( "runtime" "testing" "golang.org/x/sys/unix" ) func TestMmap(t *testing.T) { mmapProt := unix.PROT_NONE mprotectProt := unix.PROT_READ | unix.PROT_WRITE // On NetBSD PAX mprotect prohibits setting protection bits // missing from the original mmap call unless explicitly // requested with PROT_MPROTECT. if runtime.GOOS == "netbsd" { // PROT_MPROTECT(x) is defined as ((x) << 3): // https://github.com/NetBSD/src/blob/aba449a55bf91b44bc68f542edd9afa341962b89/sys/sys/mman.h#L73 mmapProt = mprotectProt << 3 } b, err := unix.Mmap(-1, 0, unix.Getpagesize(), mmapProt, unix.MAP_ANON|unix.MAP_PRIVATE) if err != nil { t.Fatalf("Mmap: %v", err) } if err := unix.Mprotect(b, mprotectProt); err != nil { t.Fatalf("Mprotect: %v", err) } b[0] = 42 if runtime.GOOS == "aix" { t.Skip("msync returns invalid argument for AIX, skipping msync test") } else { if err := unix.Msync(b, unix.MS_SYNC); err != nil { t.Fatalf("Msync: %v", err) } } if err := unix.Madvise(b, unix.MADV_DONTNEED); err != nil { t.Fatalf("Madvise: %v", err) } if err := unix.Munmap(b); err != nil { t.Fatalf("Munmap: %v", err) } } func TestMmapPtr(t *testing.T) { p, err := unix.MmapPtr(-1, 0, nil, uintptr(2*unix.Getpagesize()), unix.PROT_NONE, unix.MAP_ANON|unix.MAP_PRIVATE) if err != nil { t.Fatalf("MmapPtr: %v", err) } if _, err := unix.MmapPtr(-1, 0, p, uintptr(unix.Getpagesize()), unix.PROT_READ|unix.PROT_WRITE, unix.MAP_ANON|unix.MAP_PRIVATE|unix.MAP_FIXED); err != nil { t.Fatalf("MmapPtr: %v", err) } *(*byte)(p) = 42 if err := unix.MunmapPtr(p, uintptr(2*unix.Getpagesize())); err != nil { t.Fatalf("MunmapPtr: %v", err) } } dependencies/pkg/mod/golang.org/x/sys@v0.26.0/unix/types_darwin.go0000644000000000000000000001727715107355264023666 0ustar rootroot// 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. //go: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 1 #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 #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)]; }; #if defined(__x86_64__) typedef struct stat64 stat_t; typedef struct statfs64 statfs_t; #else // __arm__ typedef struct stat stat_t; typedef struct statfs statfs_t; #endif */ import "C" // Machine characteristics 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.stat_t type Statfs_t C.statfs_t 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 type Attrlist C.struct_attrlist // File system limits const ( PathMax = C.PATH_MAX ) // 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 RawSockaddrCtl C.struct_sockaddr_ctl type RawSockaddrVM C.struct_sockaddr_vm type XVSockPCB C.struct_xvsockpcb type XSocket C.struct_xsocket type XSocket64 C.struct_xsocket64 type XSockbuf C.struct_xsockbuf type XVSockPgen C.struct_xvsockpgen type _Socklen C.socklen_t type SaeAssocID C.sae_associd_t type SaeConnID C.sae_connid_t type SaEndpoints C.struct_sa_endpoints type Xucred C.struct_xucred 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 Inet4Pktinfo C.struct_in_pktinfo type Inet6Pktinfo C.struct_in6_pktinfo type IPv6MTUInfo C.struct_ip6_mtuinfo type ICMPv6Filter C.struct_icmp6_filter type TCPConnectionInfo C.struct_tcp_connection_info 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 SizeofSockaddrCtl = C.sizeof_struct_sockaddr_ctl SizeofSockaddrVM = C.sizeof_struct_sockaddr_vm SizeofXvsockpcb = C.sizeof_struct_xvsockpcb SizeofXSocket = C.sizeof_struct_xsocket SizeofXSockbuf = C.sizeof_struct_xsockbuf SizeofXVSockPgen = C.sizeof_struct_xvsockpgen SizeofXucred = C.sizeof_struct_xucred SizeofLinger = C.sizeof_struct_linger SizeofIovec = C.sizeof_struct_iovec 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 SizeofInet4Pktinfo = C.sizeof_struct_in_pktinfo SizeofInet6Pktinfo = C.sizeof_struct_in6_pktinfo SizeofIPv6MTUInfo = C.sizeof_struct_ip6_mtuinfo SizeofICMPv6Filter = C.sizeof_struct_icmp6_filter SizeofTCPConnectionInfo = C.sizeof_struct_tcp_connection_info ) // 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 type Winsize C.struct_winsize // fchmodat-like syscalls. const ( AT_FDCWD = C.AT_FDCWD AT_REMOVEDIR = C.AT_REMOVEDIR AT_SYMLINK_FOLLOW = C.AT_SYMLINK_FOLLOW AT_SYMLINK_NOFOLLOW = C.AT_SYMLINK_NOFOLLOW AT_EACCESS = C.AT_EACCESS ) // poll type PollFd C.struct_pollfd const ( POLLERR = C.POLLERR POLLHUP = C.POLLHUP POLLIN = C.POLLIN POLLNVAL = C.POLLNVAL POLLOUT = C.POLLOUT POLLPRI = C.POLLPRI POLLRDBAND = C.POLLRDBAND POLLRDNORM = C.POLLRDNORM POLLWRBAND = C.POLLWRBAND POLLWRNORM = C.POLLWRNORM ) // uname type Utsname C.struct_utsname // Clockinfo const SizeofClockinfo = C.sizeof_struct_clockinfo type Clockinfo C.struct_clockinfo // ctl_info type CtlInfo C.struct_ctl_info // KinfoProc const SizeofKinfoProc = C.sizeof_struct_kinfo_proc type Eproc C.struct_eproc type ExternProc C.struct_extern_proc type Itimerval C.struct_itimerval type KinfoProc C.struct_kinfo_proc type Vmspace C.struct_vmspace type Pcred C.struct__pcred type Ucred C.struct__ucred // shm type SysvIpcPerm C.struct_ipc_perm type SysvShmDesc C.struct_shmid_ds const ( IPC_CREAT = C.IPC_CREAT IPC_EXCL = C.IPC_EXCL IPC_NOWAIT = C.IPC_NOWAIT IPC_PRIVATE = C.IPC_PRIVATE ) const ( IPC_RMID = C.IPC_RMID IPC_SET = C.IPC_SET IPC_STAT = C.IPC_STAT ) const ( SHM_RDONLY = C.SHM_RDONLY SHM_RND = C.SHM_RND ) dependencies/pkg/mod/golang.org/x/sys@v0.26.0/unix/dirent_test.go0000644000000000000000000000711115107355264023464 0ustar rootroot// Copyright 2019 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:build aix || darwin || dragonfly || freebsd || linux || netbsd || openbsd || solaris || zos package unix_test import ( "bytes" "fmt" "os" "path/filepath" "runtime" "sort" "strconv" "strings" "testing" "unsafe" "golang.org/x/sys/unix" ) func TestDirent(t *testing.T) { const ( direntBufSize = 2048 // arbitrary? See https://go.dev/issue/37323. filenameMinSize = 11 ) d := t.TempDir() t.Logf("tmpdir: %s", d) for i, c := range []byte("0123456789") { name := string(bytes.Repeat([]byte{c}, filenameMinSize+i)) err := os.WriteFile(filepath.Join(d, name), nil, 0644) if err != nil { t.Fatal(err) } } names := make([]string, 0, 10) fd, err := unix.Open(d, unix.O_RDONLY, 0) if err != nil { t.Fatalf("Open: %v", err) } defer unix.Close(fd) buf := bytes.Repeat([]byte{0xCD}, direntBufSize) for { n, err := unix.ReadDirent(fd, buf) if err == unix.EINVAL { // On linux, 'man getdents64' says that EINVAL indicates result buffer is too small. // Try a bigger buffer. t.Logf("ReadDirent: %v; retrying with larger buffer", err) buf = bytes.Repeat([]byte{0xCD}, len(buf)*2) continue } if err != nil { t.Fatalf("ReadDirent: %v", err) } t.Logf("ReadDirent: read %d bytes", n) if n == 0 { break } var consumed, count int consumed, count, names = unix.ParseDirent(buf[:n], -1, names) t.Logf("ParseDirent: %d new name(s)", count) if consumed != n { t.Fatalf("ParseDirent: consumed %d bytes; expected %d", consumed, n) } } sort.Strings(names) t.Logf("names: %q", names) if len(names) != 10 { t.Errorf("got %d names; expected 10", len(names)) } for i, name := range names { ord, err := strconv.Atoi(name[:1]) if err != nil { t.Fatalf("names[%d] is non-integer %q: %v", i, names[i], err) } if expected := string(strings.Repeat(name[:1], filenameMinSize+ord)); name != expected { t.Errorf("names[%d] is %q (len %d); expected %q (len %d)", i, name, len(name), expected, len(expected)) } } } func TestDirentRepeat(t *testing.T) { const N = 100 // Note: the size of the buffer is small enough that the loop // below will need to execute multiple times. See issue #31368. size := N * unsafe.Offsetof(unix.Dirent{}.Name) / 4 if runtime.GOOS == "freebsd" || runtime.GOOS == "netbsd" { if size < 1024 { size = 1024 // DIRBLKSIZ, see issue 31403. } if runtime.GOOS == "freebsd" { t.Skip("need to fix issue 31416 first") } } // Make a directory containing N files d := t.TempDir() var files []string for i := 0; i < N; i++ { files = append(files, fmt.Sprintf("file%d", i)) } for _, file := range files { err := os.WriteFile(filepath.Join(d, file), []byte("contents"), 0644) if err != nil { t.Fatal(err) } } // Read the directory entries using ReadDirent. fd, err := unix.Open(d, unix.O_RDONLY, 0) if err != nil { t.Fatalf("Open: %v", err) } defer unix.Close(fd) var files2 []string for { buf := make([]byte, size) n, err := unix.ReadDirent(fd, buf) if err != nil { t.Fatalf("ReadDirent: %v", err) } if n == 0 { break } buf = buf[:n] for len(buf) > 0 { var consumed int consumed, _, files2 = unix.ParseDirent(buf, -1, files2) if consumed == 0 && len(buf) > 0 { t.Fatal("no progress") } buf = buf[consumed:] } } // Check results sort.Strings(files) sort.Strings(files2) if strings.Join(files, "|") != strings.Join(files2, "|") { t.Errorf("bad file list: want\n%q\ngot\n%q", files, files2) } } dependencies/pkg/mod/golang.org/x/sys@v0.26.0/unix/syscall_linux_gc_386.go0000644000000000000000000000111115107355264025074 0ustar rootroot// Copyright 2018 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:build linux && gc && 386 package unix import "syscall" // 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 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) dependencies/pkg/mod/golang.org/x/sys@v0.26.0/unix/syscall_freebsd_arm64.go0000644000000000000000000000250115107355264025313 0ustar rootroot// Copyright 2018 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:build arm64 && freebsd package unix import ( "syscall" "unsafe" ) func setTimespec(sec, nsec int64) Timespec { return Timespec{Sec: sec, Nsec: nsec} } func setTimeval(sec, usec int64) Timeval { return Timeval{Sec: sec, Usec: usec} } 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 (msghdr *Msghdr) SetIovlen(length int) { msghdr.Iovlen = int32(length) } func (cmsg *Cmsghdr) SetLen(length int) { cmsg.Len = uint32(length) } func (d *PtraceIoDesc) SetLen(length int) { d.Len = uint64(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) dependencies/pkg/mod/golang.org/x/sys@v0.26.0/unix/syscall_openbsd.go0000644000000000000000000002617015107355264024332 0ustar rootroot// 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 ( "sort" "syscall" "unsafe" ) // SockaddrDatalink implements the Sockaddr interface for AF_LINK type sockets. type SockaddrDatalink struct { Len uint8 Family uint8 Index uint16 Type uint8 Nlen uint8 Alen uint8 Slen uint8 Data [24]int8 raw RawSockaddrDatalink } func anyToSockaddrGOOS(fd int, rsa *RawSockaddrAny) (Sockaddr, error) { return nil, EAFNOSUPPORT } 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) { i := sort.Search(len(sysctlMib), func(i int) bool { return sysctlMib[i].ctlname >= name }) if i < len(sysctlMib) && sysctlMib[i].ctlname == name { return sysctlMib[i].ctloid, nil } 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)) } func SysctlUvmexp(name string) (*Uvmexp, error) { mib, err := sysctlmib(name) if err != nil { return nil, err } n := uintptr(SizeofUvmexp) var u Uvmexp if err := sysctl(mib, (*byte)(unsafe.Pointer(&u)), &n, nil, 0); err != nil { return nil, err } if n != SizeofUvmexp { return nil, EIO } return &u, nil } func Pipe(p []int) (err error) { return Pipe2(p, 0) } //sysnb pipe2(p *[2]_C_int, flags int) (err error) func Pipe2(p []int, flags int) error { if len(p) != 2 { return EINVAL } var pp [2]_C_int err := pipe2(&pp, flags) if err == nil { p[0] = int(pp[0]) p[1] = int(pp[1]) } return err } //sys Getdents(fd int, buf []byte) (n int, err error) func Getdirentries(fd int, buf []byte, basep *uintptr) (n int, err error) { n, err = Getdents(fd, buf) if err != nil || basep == nil { return } var off int64 off, err = Seek(fd, 0, 1 /* SEEK_CUR */) if err != nil { *basep = ^uintptr(0) return } *basep = uintptr(off) if unsafe.Sizeof(*basep) == 8 { return } if off>>32 != 0 { // We can't stuff the offset back into a uintptr, so any // future calls would be suspect. Generate an error. // EIO was allowed by getdirentries. err = EIO } return } //sys Getcwd(buf []byte) (n int, err error) = SYS___GETCWD 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) } // 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 bufptr *Statfs_t var bufsize uintptr if len(buf) > 0 { bufptr = &buf[0] bufsize = unsafe.Sizeof(Statfs_t{}) * uintptr(len(buf)) } return getfsstat(bufptr, bufsize, flags) } //sysnb getresuid(ruid *_C_int, euid *_C_int, suid *_C_int) //sysnb getresgid(rgid *_C_int, egid *_C_int, sgid *_C_int) func Getresuid() (ruid, euid, suid int) { var r, e, s _C_int getresuid(&r, &e, &s) return int(r), int(e), int(s) } func Getresgid() (rgid, egid, sgid int) { var r, e, s _C_int getresgid(&r, &e, &s) return int(r), int(e), int(s) } //sys ioctl(fd int, req uint, arg uintptr) (err error) //sys ioctlPtr(fd int, req uint, arg unsafe.Pointer) (err error) = SYS_IOCTL //sys sysctl(mib []_C_int, old *byte, oldlen *uintptr, new *byte, newlen uintptr) (err error) = SYS___SYSCTL //sys fcntl(fd int, cmd int, arg int) (n int, err error) //sys fcntlPtr(fd int, cmd int, arg unsafe.Pointer) (n int, err error) = SYS_FCNTL // FcntlInt performs a fcntl syscall on fd with the provided command and argument. func FcntlInt(fd uintptr, cmd, arg int) (int, error) { return fcntl(int(fd), cmd, arg) } // 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 { _, err := fcntlPtr(int(fd), cmd, unsafe.Pointer(lk)) return err } //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) } func Uname(uname *Utsname) error { mib := []_C_int{CTL_KERN, KERN_OSTYPE} n := unsafe.Sizeof(uname.Sysname) if err := sysctl(mib, &uname.Sysname[0], &n, nil, 0); err != nil { return err } mib = []_C_int{CTL_KERN, KERN_HOSTNAME} n = unsafe.Sizeof(uname.Nodename) if err := sysctl(mib, &uname.Nodename[0], &n, nil, 0); err != nil { return err } mib = []_C_int{CTL_KERN, KERN_OSRELEASE} n = unsafe.Sizeof(uname.Release) if err := sysctl(mib, &uname.Release[0], &n, nil, 0); err != nil { return err } mib = []_C_int{CTL_KERN, KERN_VERSION} n = unsafe.Sizeof(uname.Version) if err := sysctl(mib, &uname.Version[0], &n, nil, 0); err != nil { return err } // The version might have newlines or tabs in it, convert them to // spaces. for i, b := range uname.Version { if b == '\n' || b == '\t' { if i == len(uname.Version)-1 { uname.Version[i] = 0 } else { uname.Version[i] = ' ' } } } mib = []_C_int{CTL_HW, HW_MACHINE} n = unsafe.Sizeof(uname.Machine) if err := sysctl(mib, &uname.Machine[0], &n, nil, 0); err != nil { return err } return nil } /* * 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 ClockGettime(clockid int32, time *Timespec) (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 Dup3(from int, to int, flags int) (err error) //sys Exit(code int) //sys Faccessat(dirfd int, path string, mode uint32, flags int) (err error) //sys Fchdir(fd int) (err error) //sys Fchflags(fd int, flags 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 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 Fstatat(fd int, path string, stat *Stat_t, flags int) (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 Getrtable() (rtable int, 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 Linkat(pathfd int, path string, linkfd int, link string, flags int) (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 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 Mount(fsType string, dir string, flags int, data unsafe.Pointer) (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, 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 Readlinkat(dirfd int, path string, buf []byte) (n int, err error) //sys Rename(from string, to string) (err error) //sys Renameat(fromfd int, from string, tofd int, 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(nfd int, r *FdSet, w *FdSet, e *FdSet, timeout *Timeval) (n int, 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 Setrtable(rtable int) (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 Symlinkat(oldpath string, newdirfd int, newpath 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 Unlinkat(dirfd int, path string, flags int) (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 getfsstat(stat *Statfs_t, bufsize uintptr, flags int) (n int, err error) //sys utimensat(dirfd int, path string, times *[2]Timespec, flags int) (err error) //sys pledge(promises *byte, execpromises *byte) (err error) //sys unveil(path *byte, flags *byte) (err error) dependencies/pkg/mod/golang.org/x/sys@v0.26.0/unix/mksysctl_openbsd.go0000644000000000000000000001772415107355264024536 0ustar rootroot// Copyright 2019 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:build ignore // Parse the header files for OpenBSD and generate a Go usable sysctl MIB. // // Build a MIB with each entry being an array containing the level, type and // a hash that will contain additional entries if the current entry is a node. // We then walk this MIB and create a flattened sysctl name to OID hash. package main import ( "bufio" "fmt" "os" "path/filepath" "regexp" "sort" "strings" ) var ( goos, goarch string ) // cmdLine returns this programs's commandline arguments. func cmdLine() string { return "go run mksysctl_openbsd.go " + strings.Join(os.Args[1:], " ") } // goBuildTags returns build tags in the go:build format. func goBuildTags() string { return fmt.Sprintf("%s && %s", goarch, goos) } // reMatch performs regular expression match and stores the substring slice to value pointed by m. func reMatch(re *regexp.Regexp, str string, m *[]string) bool { *m = re.FindStringSubmatch(str) if *m != nil { return true } return false } type nodeElement struct { n int t string pE *map[string]nodeElement } var ( debugEnabled bool mib map[string]nodeElement node *map[string]nodeElement nodeMap map[string]string sysCtl []string ) var ( ctlNames1RE = regexp.MustCompile(`^#define\s+(CTL_NAMES)\s+{`) ctlNames2RE = regexp.MustCompile(`^#define\s+(CTL_(.*)_NAMES)\s+{`) ctlNames3RE = regexp.MustCompile(`^#define\s+((.*)CTL_NAMES)\s+{`) netInetRE = regexp.MustCompile(`^netinet/`) netInet6RE = regexp.MustCompile(`^netinet6/`) netRE = regexp.MustCompile(`^net/`) bracesRE = regexp.MustCompile(`{.*}`) ctlTypeRE = regexp.MustCompile(`{\s+"(\w+)",\s+(CTLTYPE_[A-Z]+)\s+}`) fsNetKernRE = regexp.MustCompile(`^(fs|net|kern)_`) ) func debug(s string) { if debugEnabled { fmt.Fprintln(os.Stderr, s) } } // Walk the MIB and build a sysctl name to OID mapping. func buildSysctl(pNode *map[string]nodeElement, name string, oid []int) { lNode := pNode // local copy of pointer to node var keys []string for k := range *lNode { keys = append(keys, k) } sort.Strings(keys) for _, key := range keys { nodename := name if name != "" { nodename += "." } nodename += key nodeoid := append(oid, (*pNode)[key].n) if (*pNode)[key].t == `CTLTYPE_NODE` { if _, ok := nodeMap[nodename]; ok { lNode = &mib ctlName := nodeMap[nodename] for _, part := range strings.Split(ctlName, ".") { lNode = ((*lNode)[part]).pE } } else { lNode = (*pNode)[key].pE } buildSysctl(lNode, nodename, nodeoid) } else if (*pNode)[key].t != "" { oidStr := []string{} for j := range nodeoid { oidStr = append(oidStr, fmt.Sprintf("%d", nodeoid[j])) } text := "\t{ \"" + nodename + "\", []_C_int{ " + strings.Join(oidStr, ", ") + " } }, \n" sysCtl = append(sysCtl, text) } } } func main() { // Get the OS (using GOOS_TARGET if it exist) goos = os.Getenv("GOOS_TARGET") if goos == "" { goos = os.Getenv("GOOS") } // Get the architecture (using GOARCH_TARGET if it exists) goarch = os.Getenv("GOARCH_TARGET") if goarch == "" { goarch = os.Getenv("GOARCH") } // Check if GOOS and GOARCH environment variables are defined if goarch == "" || goos == "" { fmt.Fprintf(os.Stderr, "GOARCH or GOOS not defined in environment\n") os.Exit(1) } mib = make(map[string]nodeElement) headers := [...]string{ `sys/sysctl.h`, `sys/socket.h`, `sys/tty.h`, `sys/malloc.h`, `sys/mount.h`, `sys/namei.h`, `sys/sem.h`, `sys/shm.h`, `sys/vmmeter.h`, `uvm/uvmexp.h`, `uvm/uvm_param.h`, `uvm/uvm_swap_encrypt.h`, `ddb/db_var.h`, `net/if.h`, `net/if_pfsync.h`, `net/pipex.h`, `netinet/in.h`, `netinet/icmp_var.h`, `netinet/igmp_var.h`, `netinet/ip_ah.h`, `netinet/ip_carp.h`, `netinet/ip_divert.h`, `netinet/ip_esp.h`, `netinet/ip_ether.h`, `netinet/ip_gre.h`, `netinet/ip_ipcomp.h`, `netinet/ip_ipip.h`, `netinet/tcp_var.h`, `netinet/udp_var.h`, `netinet6/in6.h`, `netinet6/ip6_divert.h`, `netinet/icmp6.h`, `netmpls/mpls.h`, } ctls := [...]string{ `kern`, `vm`, `fs`, `net`, //debug /* Special handling required */ `hw`, //machdep /* Arch specific */ `user`, `ddb`, //vfs /* Special handling required */ `fs.posix`, `kern.forkstat`, `kern.intrcnt`, `kern.malloc`, `kern.nchstats`, `kern.seminfo`, `kern.shminfo`, `kern.timecounter`, `kern.tty`, `kern.watchdog`, `net.bpf`, `net.ifq`, `net.inet`, `net.inet.ah`, `net.inet.carp`, `net.inet.divert`, `net.inet.esp`, `net.inet.etherip`, `net.inet.gre`, `net.inet.icmp`, `net.inet.igmp`, `net.inet.ip`, `net.inet.ip.ifq`, `net.inet.ipcomp`, `net.inet.ipip`, `net.inet.mobileip`, `net.inet.pfsync`, `net.inet.tcp`, `net.inet.udp`, `net.inet6`, `net.inet6.divert`, `net.inet6.ip6`, `net.inet6.icmp6`, `net.inet6.tcp6`, `net.inet6.udp6`, `net.mpls`, `net.mpls.ifq`, `net.key`, `net.pflow`, `net.pfsync`, `net.pipex`, `net.rt`, `vm.swapencrypt`, //vfsgenctl /* Special handling required */ } // Node name "fixups" ctlMap := map[string]string{ "ipproto": "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 nodeMap = map[string]string{ "net.inet.ip.ifq": "net.ifq", "net.inet.pfsync": "net.pfsync", "net.mpls.ifq": "net.ifq", } mCtls := make(map[string]bool) for _, ctl := range ctls { mCtls[ctl] = true } for _, header := range headers { debug("Processing " + header) file, err := os.Open(filepath.Join("/usr/include", header)) if err != nil { fmt.Fprintf(os.Stderr, "%v\n", err) os.Exit(1) } s := bufio.NewScanner(file) for s.Scan() { var sub []string if reMatch(ctlNames1RE, s.Text(), &sub) || reMatch(ctlNames2RE, s.Text(), &sub) || reMatch(ctlNames3RE, s.Text(), &sub) { if sub[1] == `CTL_NAMES` { // Top level. node = &mib } else { // Node. nodename := strings.ToLower(sub[2]) ctlName := "" if reMatch(netInetRE, header, &sub) { ctlName = "net.inet." + nodename } else if reMatch(netInet6RE, header, &sub) { ctlName = "net.inet6." + nodename } else if reMatch(netRE, header, &sub) { ctlName = "net." + nodename } else { ctlName = nodename ctlName = fsNetKernRE.ReplaceAllString(ctlName, `$1.`) } if val, ok := ctlMap[ctlName]; ok { ctlName = val } if _, ok := mCtls[ctlName]; !ok { debug("Ignoring " + ctlName + "...") continue } // Walk down from the top of the MIB. node = &mib for _, part := range strings.Split(ctlName, ".") { if _, ok := (*node)[part]; !ok { debug("Missing node " + part) (*node)[part] = nodeElement{n: 0, t: "", pE: &map[string]nodeElement{}} } node = (*node)[part].pE } } // Populate current node with entries. i := -1 for !strings.HasPrefix(s.Text(), "}") { s.Scan() if reMatch(bracesRE, s.Text(), &sub) { i++ } if !reMatch(ctlTypeRE, s.Text(), &sub) { continue } (*node)[sub[1]] = nodeElement{n: i, t: sub[2], pE: &map[string]nodeElement{}} } } } err = s.Err() if err != nil { fmt.Fprintf(os.Stderr, "%v\n", err) os.Exit(1) } file.Close() } buildSysctl(&mib, "", []int{}) sort.Strings(sysCtl) text := strings.Join(sysCtl, "") fmt.Printf(srcTemplate, cmdLine(), goBuildTags(), text) } const srcTemplate = `// %s // Code generated by the command above; DO NOT EDIT. //go:build %s package unix type mibentry struct { ctlname string ctloid []_C_int } var sysctlMib = []mibentry { %s } ` dependencies/pkg/mod/golang.org/x/sys@v0.26.0/unix/zsyscall_linux_mips64.go0000644000000000000000000004043015107355264025426 0ustar rootroot// go run mksyscall.go -tags linux,mips64 syscall_linux.go syscall_linux_mips64x.go syscall_linux_alarm.go // Code generated by the command above; see README.md. DO NOT EDIT. //go: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 fanotifyMark(fd int, flags uint, mask uint64, dirFd int, pathname *byte) (err error) { _, _, e1 := Syscall6(SYS_FANOTIFY_MARK, uintptr(fd), uintptr(flags), uintptr(mask), uintptr(dirFd), uintptr(unsafe.Pointer(pathname)), 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 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 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 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, _ := RawSyscallNoError(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, _ := RawSyscallNoError(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, _ := RawSyscallNoError(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, _ := RawSyscallNoError(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 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 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 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) (prev int, err error) { r0, _, e1 := Syscall(SYS_SETFSGID, uintptr(gid), 0, 0) prev = int(r0) if e1 != 0 { err = errnoErr(e1) } return } // THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT func setfsuid(uid int) (prev int, err error) { r0, _, e1 := Syscall(SYS_SETFSUID, uintptr(uid), 0, 0) prev = int(r0) 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 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 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 futimesat(dirfd int, path string, times *[2]Timeval) (err error) { var _p0 *byte _p0, err = BytePtrFromString(path) if err != nil { return } _, _, e1 := Syscall(SYS_FUTIMESAT, uintptr(dirfd), uintptr(unsafe.Pointer(_p0)), 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 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 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 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 fstatat(dirfd int, path string, st *stat_t, flags int) (err error) { var _p0 *byte _p0, err = BytePtrFromString(path) if err != nil { return } _, _, e1 := Syscall6(SYS_NEWFSTATAT, uintptr(dirfd), uintptr(unsafe.Pointer(_p0)), uintptr(unsafe.Pointer(st)), 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 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 Alarm(seconds uint) (remaining uint, err error) { r0, _, e1 := Syscall(SYS_ALARM, uintptr(seconds), 0, 0) remaining = uint(r0) if e1 != 0 { err = errnoErr(e1) } return } dependencies/pkg/mod/golang.org/x/sys@v0.26.0/unix/zsysnum_linux_mips64le.go0000644000000000000000000003214015107355264025632 0ustar rootroot// go run linux/mksysnum.go -Wall -Werror -static -I/tmp/mips64le/include /tmp/mips64le/include/asm/unistd.h // Code generated by the command above; see README.md. DO NOT EDIT. //go: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 SYS_STATX = 5326 SYS_RSEQ = 5327 SYS_IO_PGETEVENTS = 5328 SYS_PIDFD_SEND_SIGNAL = 5424 SYS_IO_URING_SETUP = 5425 SYS_IO_URING_ENTER = 5426 SYS_IO_URING_REGISTER = 5427 SYS_OPEN_TREE = 5428 SYS_MOVE_MOUNT = 5429 SYS_FSOPEN = 5430 SYS_FSCONFIG = 5431 SYS_FSMOUNT = 5432 SYS_FSPICK = 5433 SYS_PIDFD_OPEN = 5434 SYS_CLONE3 = 5435 SYS_CLOSE_RANGE = 5436 SYS_OPENAT2 = 5437 SYS_PIDFD_GETFD = 5438 SYS_FACCESSAT2 = 5439 SYS_PROCESS_MADVISE = 5440 SYS_EPOLL_PWAIT2 = 5441 SYS_MOUNT_SETATTR = 5442 SYS_QUOTACTL_FD = 5443 SYS_LANDLOCK_CREATE_RULESET = 5444 SYS_LANDLOCK_ADD_RULE = 5445 SYS_LANDLOCK_RESTRICT_SELF = 5446 SYS_PROCESS_MRELEASE = 5448 SYS_FUTEX_WAITV = 5449 SYS_SET_MEMPOLICY_HOME_NODE = 5450 SYS_CACHESTAT = 5451 SYS_FCHMODAT2 = 5452 SYS_MAP_SHADOW_STACK = 5453 SYS_FUTEX_WAKE = 5454 SYS_FUTEX_WAIT = 5455 SYS_FUTEX_REQUEUE = 5456 SYS_STATMOUNT = 5457 SYS_LISTMOUNT = 5458 SYS_LSM_GET_SELF_ATTR = 5459 SYS_LSM_SET_SELF_ATTR = 5460 SYS_LSM_LIST_MODULES = 5461 SYS_MSEAL = 5462 ) dependencies/pkg/mod/golang.org/x/sys@v0.26.0/unix/zsysctl_openbsd_mips64.go0000644000000000000000000002767515107355264025610 0ustar rootroot// go run mksysctl_openbsd.go // Code generated by the command above; DO NOT EDIT. //go:build mips64 && openbsd 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.profile", []_C_int{9, 9}}, {"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.ncpuonline", []_C_int{6, 25}}, {"hw.pagesize", []_C_int{6, 7}}, {"hw.perfpolicy", []_C_int{6, 23}}, {"hw.physmem", []_C_int{6, 19}}, {"hw.power", []_C_int{6, 26}}, {"hw.product", []_C_int{6, 15}}, {"hw.serialno", []_C_int{6, 17}}, {"hw.setperf", []_C_int{6, 13}}, {"hw.smt", []_C_int{6, 24}}, {"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.allowdt", []_C_int{1, 65}}, {"kern.allowkmem", []_C_int{1, 52}}, {"kern.argmax", []_C_int{1, 8}}, {"kern.audio", []_C_int{1, 84}}, {"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.consbuf", []_C_int{1, 83}}, {"kern.consbufsize", []_C_int{1, 82}}, {"kern.consdev", []_C_int{1, 75}}, {"kern.cp_time", []_C_int{1, 40}}, {"kern.cp_time2", []_C_int{1, 71}}, {"kern.cpustats", []_C_int{1, 85}}, {"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.global_ptrace", []_C_int{1, 81}}, {"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.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.pfstatus", []_C_int{1, 86}}, {"kern.pool_debug", []_C_int{1, 77}}, {"kern.posix1version", []_C_int{1, 17}}, {"kern.proc", []_C_int{1, 66}}, {"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.timeout_stats", []_C_int{1, 87}}, {"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.utc_offset", []_C_int{1, 88}}, {"kern.version", []_C_int{1, 4}}, {"kern.video", []_C_int{1, 89}}, {"kern.watchdog.auto", []_C_int{1, 64, 2}}, {"kern.watchdog.period", []_C_int{1, 64, 1}}, {"kern.witnesswatch", []_C_int{1, 53}}, {"kern.wxabort", []_C_int{1, 74}}, {"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.arpdown", []_C_int{4, 2, 0, 40}}, {"net.inet.ip.arpqueued", []_C_int{4, 2, 0, 36}}, {"net.inet.ip.arptimeout", []_C_int{4, 2, 0, 39}}, {"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.mrtmfc", []_C_int{4, 2, 0, 37}}, {"net.inet.ip.mrtproto", []_C_int{4, 2, 0, 34}}, {"net.inet.ip.mrtstats", []_C_int{4, 2, 0, 35}}, {"net.inet.ip.mrtvif", []_C_int{4, 2, 0, 38}}, {"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.pfsync.stats", []_C_int{4, 2, 240, 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.rootonly", []_C_int{4, 2, 6, 24}}, {"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.tcp.synhashsize", []_C_int{4, 2, 6, 25}}, {"net.inet.tcp.synuselimit", []_C_int{4, 2, 6, 23}}, {"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.rootonly", []_C_int{4, 2, 17, 6}}, {"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_umaxtries", []_C_int{4, 24, 30, 9}}, {"net.inet6.icmp6.redirtimeout", []_C_int{4, 24, 30, 3}}, {"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.mforwarding", []_C_int{4, 24, 17, 42}}, {"net.inet6.ip6.mrtmfc", []_C_int{4, 24, 17, 53}}, {"net.inet6.ip6.mrtmif", []_C_int{4, 24, 17, 52}}, {"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.soiikey", []_C_int{4, 24, 17, 54}}, {"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.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.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.malloc_conf", []_C_int{2, 12}}, {"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}}, } dependencies/pkg/mod/golang.org/x/sys@v0.26.0/unix/syscall_dragonfly.go0000644000000000000000000002627515107355264024673 0ustar rootroot// 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 ( "sync" "unsafe" ) // See version list in https://github.com/DragonFlyBSD/DragonFlyBSD/blob/master/sys/sys/param.h var ( osreldateOnce sync.Once osreldate uint32 ) // First __DragonFly_version after September 2019 ABI changes // http://lists.dragonflybsd.org/pipermail/users/2019-September/358280.html const _dragonflyABIChangeVersion = 500705 func supportsABI(ver uint32) bool { osreldateOnce.Do(func() { osreldate, _ = SysctlUint32("kern.osreldate") }) return osreldate >= ver } // SockaddrDatalink implements the Sockaddr interface for AF_LINK type sockets. 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 } func anyToSockaddrGOOS(fd int, rsa *RawSockaddrAny) (Sockaddr, error) { return nil, EAFNOSUPPORT } // 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 } r, w, err := pipe() if err == nil { p[0], p[1] = r, w } return } //sysnb pipe2(p *[2]_C_int, flags int) (r int, w int, err error) func Pipe2(p []int, flags int) (err error) { if len(p) != 2 { return EINVAL } var pp [2]_C_int // pipe2 on dragonfly takes an fds array as an argument, but still // returns the file descriptors. r, w, err := pipe2(&pp, flags) if err == nil { p[0], p[1] = r, w } return err } //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(fd, &rsa) if err != nil { Close(nfd) nfd = 0 } return } //sys Getcwd(buf []byte) (n int, err error) = SYS___GETCWD 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 } //sys ioctl(fd int, req uint, arg uintptr) (err error) //sys ioctlPtr(fd int, req uint, arg unsafe.Pointer) (err error) = SYS_IOCTL //sys sysctl(mib []_C_int, old *byte, oldlen *uintptr, new *byte, newlen uintptr) (err error) = SYS___SYSCTL func sysctlUname(mib []_C_int, old *byte, oldlen *uintptr) error { err := sysctl(mib, old, oldlen, nil, 0) if err != nil { // Utsname members on Dragonfly are only 32 bytes and // the syscall returns ENOMEM in case the actual value // is longer. if err == ENOMEM { err = nil } } return err } func Uname(uname *Utsname) error { mib := []_C_int{CTL_KERN, KERN_OSTYPE} n := unsafe.Sizeof(uname.Sysname) if err := sysctlUname(mib, &uname.Sysname[0], &n); err != nil { return err } uname.Sysname[unsafe.Sizeof(uname.Sysname)-1] = 0 mib = []_C_int{CTL_KERN, KERN_HOSTNAME} n = unsafe.Sizeof(uname.Nodename) if err := sysctlUname(mib, &uname.Nodename[0], &n); err != nil { return err } uname.Nodename[unsafe.Sizeof(uname.Nodename)-1] = 0 mib = []_C_int{CTL_KERN, KERN_OSRELEASE} n = unsafe.Sizeof(uname.Release) if err := sysctlUname(mib, &uname.Release[0], &n); err != nil { return err } uname.Release[unsafe.Sizeof(uname.Release)-1] = 0 mib = []_C_int{CTL_KERN, KERN_VERSION} n = unsafe.Sizeof(uname.Version) if err := sysctlUname(mib, &uname.Version[0], &n); err != nil { return err } // The version might have newlines or tabs in it, convert them to // spaces. for i, b := range uname.Version { if b == '\n' || b == '\t' { if i == len(uname.Version)-1 { uname.Version[i] = 0 } else { uname.Version[i] = ' ' } } } mib = []_C_int{CTL_HW, HW_MACHINE} n = unsafe.Sizeof(uname.Machine) if err := sysctlUname(mib, &uname.Machine[0], &n); err != nil { return err } uname.Machine[unsafe.Sizeof(uname.Machine)-1] = 0 return nil } 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) } /* * 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 ClockGettime(clockid int32, time *Timespec) (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 Faccessat(dirfd int, path string, mode uint32, flags int) (err error) //sys Fchdir(fd int) (err error) //sys Fchflags(fd int, flags 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 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 Fstatat(fd int, path string, stat *Stat_t, flags int) (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 Getdents(fd int, buf []byte) (n int, 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 Linkat(pathfd int, path string, linkfd int, link string, flags int) (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 Mkdirat(dirfd int, 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 Mknodat(fd int, path string, mode uint32, dev int) (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, 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 Renameat(fromfd int, from string, tofd int, 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(nfd int, r *FdSet, w *FdSet, e *FdSet, timeout *Timeval) (n int, 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 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 Symlinkat(oldpath string, newdirfd int, newpath 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 Unlinkat(dirfd int, path string, flags int) (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 accept4(fd int, rsa *RawSockaddrAny, addrlen *_Socklen, flags int) (nfd int, err error) //sys utimensat(dirfd int, path string, times *[2]Timespec, flags int) (err error) dependencies/pkg/mod/golang.org/x/sys@v0.26.0/unix/race.go0000644000000000000000000000116515107355264022055 0ustar rootroot// 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. //go:build (darwin && race) || (linux && race) || (freebsd && race) package unix import ( "runtime" "unsafe" ) const raceenabled = true func raceAcquire(addr unsafe.Pointer) { runtime.RaceAcquire(addr) } func raceReleaseMerge(addr unsafe.Pointer) { runtime.RaceReleaseMerge(addr) } func raceReadRange(addr unsafe.Pointer, len int) { runtime.RaceReadRange(addr, len) } func raceWriteRange(addr unsafe.Pointer, len int) { runtime.RaceWriteRange(addr, len) } dependencies/pkg/mod/golang.org/x/sys@v0.26.0/unix/ioctl_zos.go0000644000000000000000000000404115107355264023144 0ustar rootroot// Copyright 2020 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:build zos && s390x package unix import ( "runtime" "unsafe" ) // 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 int, value int) error { return ioctl(fd, req, uintptr(value)) } // IoctlSetWinsize performs an ioctl on fd with a *Winsize argument. // // To change fd's window size, the req argument should be TIOCSWINSZ. func IoctlSetWinsize(fd int, req int, value *Winsize) error { // TODO: if we get the chance, remove the req parameter and // hardcode TIOCSWINSZ. return ioctlPtr(fd, req, unsafe.Pointer(value)) } // IoctlSetTermios performs an ioctl on fd with a *Termios. // // The req value is expected to be TCSETS, TCSETSW, or TCSETSF func IoctlSetTermios(fd int, req int, value *Termios) error { if (req != TCSETS) && (req != TCSETSW) && (req != TCSETSF) { return ENOSYS } err := Tcsetattr(fd, int(req), value) runtime.KeepAlive(value) return err } // IoctlGetInt performs an ioctl operation which gets an integer value // from fd, using the specified request number. // // A few ioctl requests use the return value as an output parameter; // for those, IoctlRetInt should be used instead of this function. func IoctlGetInt(fd int, req int) (int, error) { var value int err := ioctlPtr(fd, req, unsafe.Pointer(&value)) return value, err } func IoctlGetWinsize(fd int, req int) (*Winsize, error) { var value Winsize err := ioctlPtr(fd, req, unsafe.Pointer(&value)) return &value, err } // IoctlGetTermios performs an ioctl on fd with a *Termios. // // The req value is expected to be TCGETS func IoctlGetTermios(fd int, req int) (*Termios, error) { var value Termios if req != TCGETS { return &value, ENOSYS } err := Tcgetattr(fd, &value) return &value, err } dependencies/pkg/mod/golang.org/x/sys@v0.26.0/unix/zerrors_solaris_amd64.go0000644000000000000000000016600415107355264025404 0ustar rootroot// mkerrors.sh -m64 // Code generated by the command above; see README.md. DO NOT EDIT. //go:build amd64 && solaris // Code generated by cmd/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 DIOC = 0x6400 DIOCGETB = 0x6402 DIOCGETC = 0x6401 DIOCGETP = 0x6408 DIOCSETE = 0x6403 DIOCSETP = 0x6409 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 FIORDCHK = 0x6603 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 ICMP6_FILTER = 0x1 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_RECVTOS = 0xc 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 MCAST_BLOCK_SOURCE = 0x2b MCAST_EXCLUDE = 0x2 MCAST_INCLUDE = 0x1 MCAST_JOIN_GROUP = 0x29 MCAST_JOIN_SOURCE_GROUP = 0x2d MCAST_LEAVE_GROUP = 0x2a MCAST_LEAVE_SOURCE_GROUP = 0x2e MCAST_UNBLOCK_SOURCE = 0x2c 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_NOSIGNAL = 0x200 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 NAME_MAX = 0xff NEWDEV = 0x1 NFDBITS = 0x40 NL0 = 0x0 NL1 = 0x100 NLDLY = 0x100 NOFLSH = 0x80 OCRNL = 0x8 OFDEL = 0x80 OFILL = 0x40 OLCUC = 0x2 OLDDEV = 0x0 ONBITSMAJOR = 0x7 ONBITSMINOR = 0x8 ONLCR = 0x4 ONLRET = 0x20 ONOCR = 0x10 OPENFAIL = -0x1 OPOST = 0x1 O_ACCMODE = 0x600003 O_APPEND = 0x8 O_CLOEXEC = 0x800000 O_CREAT = 0x100 O_DIRECT = 0x2000000 O_DIRECTORY = 0x1000000 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 = 0xfffffffffffffffd 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 S_ENFMT = 0x400 S_IAMB = 0x1ff S_IEXEC = 0x40 S_IFBLK = 0x6000 S_IFCHR = 0x2000 S_IFDIR = 0x4000 S_IFDOOR = 0xd000 S_IFIFO = 0x1000 S_IFLNK = 0xa000 S_IFMT = 0xf000 S_IFNAM = 0x5000 S_IFPORT = 0xe000 S_IFREG = 0x8000 S_IFSOCK = 0xc000 S_INSEM = 0x1 S_INSHD = 0x2 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 TCIFLUSH = 0x0 TCIOFF = 0x2 TCIOFLUSH = 0x2 TCION = 0x3 TCOFLUSH = 0x1 TCOOFF = 0x0 TCOON = 0x1 TCP_ABORT_THRESHOLD = 0x11 TCP_ANONPRIVBIND = 0x20 TCP_CONGESTION = 0x25 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 TIMER_ABSTIME = 0x1 TIMER_RELTIME = 0x0 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 UTIME_NOW = -0x1 UTIME_OMIT = -0x2 VCEOF = 0x8 VCEOL = 0x9 VDISCARD = 0xd VDSUSP = 0xb VEOF = 0x4 VEOL = 0x5 VEOL2 = 0x6 VERASE = 0x2 VERASE2 = 0x11 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 errorList = [...]struct { num syscall.Errno name string desc string }{ {1, "EPERM", "not owner"}, {2, "ENOENT", "no such file or directory"}, {3, "ESRCH", "no such process"}, {4, "EINTR", "interrupted system call"}, {5, "EIO", "I/O error"}, {6, "ENXIO", "no such device or address"}, {7, "E2BIG", "arg list too long"}, {8, "ENOEXEC", "exec format error"}, {9, "EBADF", "bad file number"}, {10, "ECHILD", "no child processes"}, {11, "EAGAIN", "resource temporarily unavailable"}, {12, "ENOMEM", "not enough space"}, {13, "EACCES", "permission denied"}, {14, "EFAULT", "bad address"}, {15, "ENOTBLK", "block device required"}, {16, "EBUSY", "device busy"}, {17, "EEXIST", "file exists"}, {18, "EXDEV", "cross-device link"}, {19, "ENODEV", "no such device"}, {20, "ENOTDIR", "not a directory"}, {21, "EISDIR", "is a directory"}, {22, "EINVAL", "invalid argument"}, {23, "ENFILE", "file table overflow"}, {24, "EMFILE", "too many open files"}, {25, "ENOTTY", "inappropriate ioctl for device"}, {26, "ETXTBSY", "text file busy"}, {27, "EFBIG", "file too large"}, {28, "ENOSPC", "no space left on device"}, {29, "ESPIPE", "illegal seek"}, {30, "EROFS", "read-only file system"}, {31, "EMLINK", "too many links"}, {32, "EPIPE", "broken pipe"}, {33, "EDOM", "argument out of domain"}, {34, "ERANGE", "result too large"}, {35, "ENOMSG", "no message of desired type"}, {36, "EIDRM", "identifier removed"}, {37, "ECHRNG", "channel number out of range"}, {38, "EL2NSYNC", "level 2 not synchronized"}, {39, "EL3HLT", "level 3 halted"}, {40, "EL3RST", "level 3 reset"}, {41, "ELNRNG", "link number out of range"}, {42, "EUNATCH", "protocol driver not attached"}, {43, "ENOCSI", "no CSI structure available"}, {44, "EL2HLT", "level 2 halted"}, {45, "EDEADLK", "deadlock situation detected/avoided"}, {46, "ENOLCK", "no record locks available"}, {47, "ECANCELED", "operation canceled"}, {48, "ENOTSUP", "operation not supported"}, {49, "EDQUOT", "disc quota exceeded"}, {50, "EBADE", "bad exchange descriptor"}, {51, "EBADR", "bad request descriptor"}, {52, "EXFULL", "message tables full"}, {53, "ENOANO", "anode table overflow"}, {54, "EBADRQC", "bad request code"}, {55, "EBADSLT", "invalid slot"}, {56, "EDEADLOCK", "file locking deadlock"}, {57, "EBFONT", "bad font file format"}, {58, "EOWNERDEAD", "owner of the lock died"}, {59, "ENOTRECOVERABLE", "lock is not recoverable"}, {60, "ENOSTR", "not a stream device"}, {61, "ENODATA", "no data available"}, {62, "ETIME", "timer expired"}, {63, "ENOSR", "out of stream resources"}, {64, "ENONET", "machine is not on the network"}, {65, "ENOPKG", "package not installed"}, {66, "EREMOTE", "object is remote"}, {67, "ENOLINK", "link has been severed"}, {68, "EADV", "advertise error"}, {69, "ESRMNT", "srmount error"}, {70, "ECOMM", "communication error on send"}, {71, "EPROTO", "protocol error"}, {72, "ELOCKUNMAPPED", "locked lock was unmapped "}, {73, "ENOTACTIVE", "facility is not active"}, {74, "EMULTIHOP", "multihop attempted"}, {77, "EBADMSG", "not a data message"}, {78, "ENAMETOOLONG", "file name too long"}, {79, "EOVERFLOW", "value too large for defined data type"}, {80, "ENOTUNIQ", "name not unique on network"}, {81, "EBADFD", "file descriptor in bad state"}, {82, "EREMCHG", "remote address changed"}, {83, "ELIBACC", "can not access a needed shared library"}, {84, "ELIBBAD", "accessing a corrupted shared library"}, {85, "ELIBSCN", ".lib section in a.out corrupted"}, {86, "ELIBMAX", "attempting to link in more shared libraries than system limit"}, {87, "ELIBEXEC", "can not exec a shared library directly"}, {88, "EILSEQ", "illegal byte sequence"}, {89, "ENOSYS", "operation not applicable"}, {90, "ELOOP", "number of symbolic links encountered during path name traversal exceeds MAXSYMLINKS"}, {91, "ERESTART", "error 91"}, {92, "ESTRPIPE", "error 92"}, {93, "ENOTEMPTY", "directory not empty"}, {94, "EUSERS", "too many users"}, {95, "ENOTSOCK", "socket operation on non-socket"}, {96, "EDESTADDRREQ", "destination address required"}, {97, "EMSGSIZE", "message too long"}, {98, "EPROTOTYPE", "protocol wrong type for socket"}, {99, "ENOPROTOOPT", "option not supported by protocol"}, {120, "EPROTONOSUPPORT", "protocol not supported"}, {121, "ESOCKTNOSUPPORT", "socket type not supported"}, {122, "EOPNOTSUPP", "operation not supported on transport endpoint"}, {123, "EPFNOSUPPORT", "protocol family not supported"}, {124, "EAFNOSUPPORT", "address family not supported by protocol family"}, {125, "EADDRINUSE", "address already in use"}, {126, "EADDRNOTAVAIL", "cannot assign requested address"}, {127, "ENETDOWN", "network is down"}, {128, "ENETUNREACH", "network is unreachable"}, {129, "ENETRESET", "network dropped connection because of reset"}, {130, "ECONNABORTED", "software caused connection abort"}, {131, "ECONNRESET", "connection reset by peer"}, {132, "ENOBUFS", "no buffer space available"}, {133, "EISCONN", "transport endpoint is already connected"}, {134, "ENOTCONN", "transport endpoint is not connected"}, {143, "ESHUTDOWN", "cannot send after socket shutdown"}, {144, "ETOOMANYREFS", "too many references: cannot splice"}, {145, "ETIMEDOUT", "connection timed out"}, {146, "ECONNREFUSED", "connection refused"}, {147, "EHOSTDOWN", "host is down"}, {148, "EHOSTUNREACH", "no route to host"}, {149, "EALREADY", "operation already in progress"}, {150, "EINPROGRESS", "operation now in progress"}, {151, "ESTALE", "stale NFS file handle"}, } // Signal table var signalList = [...]struct { num syscall.Signal name string desc string }{ {1, "SIGHUP", "hangup"}, {2, "SIGINT", "interrupt"}, {3, "SIGQUIT", "quit"}, {4, "SIGILL", "illegal Instruction"}, {5, "SIGTRAP", "trace/Breakpoint Trap"}, {6, "SIGABRT", "abort"}, {7, "SIGEMT", "emulation Trap"}, {8, "SIGFPE", "arithmetic Exception"}, {9, "SIGKILL", "killed"}, {10, "SIGBUS", "bus Error"}, {11, "SIGSEGV", "segmentation Fault"}, {12, "SIGSYS", "bad System Call"}, {13, "SIGPIPE", "broken Pipe"}, {14, "SIGALRM", "alarm Clock"}, {15, "SIGTERM", "terminated"}, {16, "SIGUSR1", "user Signal 1"}, {17, "SIGUSR2", "user Signal 2"}, {18, "SIGCHLD", "child Status Changed"}, {19, "SIGPWR", "power-Fail/Restart"}, {20, "SIGWINCH", "window Size Change"}, {21, "SIGURG", "urgent Socket Condition"}, {22, "SIGIO", "pollable Event"}, {23, "SIGSTOP", "stopped (signal)"}, {24, "SIGTSTP", "stopped (user)"}, {25, "SIGCONT", "continued"}, {26, "SIGTTIN", "stopped (tty input)"}, {27, "SIGTTOU", "stopped (tty output)"}, {28, "SIGVTALRM", "virtual Timer Expired"}, {29, "SIGPROF", "profiling Timer Expired"}, {30, "SIGXCPU", "cpu Limit Exceeded"}, {31, "SIGXFSZ", "file Size Limit Exceeded"}, {32, "SIGWAITING", "no runnable lwp"}, {33, "SIGLWP", "inter-lwp signal"}, {34, "SIGFREEZE", "checkpoint Freeze"}, {35, "SIGTHAW", "checkpoint Thaw"}, {36, "SIGCANCEL", "thread Cancellation"}, {37, "SIGLOST", "resource Lost"}, {38, "SIGXRES", "resource Control Exceeded"}, {39, "SIGJVM1", "reserved for JVM 1"}, {40, "SIGJVM2", "reserved for JVM 2"}, {41, "SIGINFO", "information Request"}, } dependencies/pkg/mod/golang.org/x/sys@v0.26.0/unix/zsyscall_freebsd_arm64.go0000644000000000000000000013163315107355264025516 0ustar rootroot// go run mksyscall.go -tags freebsd,arm64 syscall_bsd.go syscall_freebsd.go syscall_freebsd_arm64.go // Code generated by the command above; see README.md. DO NOT EDIT. //go:build freebsd && 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 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 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 } // THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT func Madvise(b []byte, behav 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(behav)) 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 Msync(b []byte, flags int) (err error) { var _p0 unsafe.Pointer if len(b) > 0 { _p0 = unsafe.Pointer(&b[0]) } else { _p0 = unsafe.Pointer(&_zero) } _, _, e1 := Syscall(SYS_MSYNC, uintptr(_p0), uintptr(len(b)), uintptr(flags)) 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 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 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 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 ioctlPtr(fd int, req uint, arg unsafe.Pointer) (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 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 ptrace(request int, pid int, addr uintptr, data int) (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 ptracePtr(request int, pid int, addr unsafe.Pointer, data int) (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 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 CapEnter() (err error) { _, _, e1 := Syscall(SYS_CAP_ENTER, 0, 0, 0) if e1 != 0 { err = errnoErr(e1) } return } // THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT func capRightsGet(version int, fd int, rightsp *CapRights) (err error) { _, _, e1 := Syscall(SYS___CAP_RIGHTS_GET, uintptr(version), uintptr(fd), uintptr(unsafe.Pointer(rightsp))) if e1 != 0 { err = errnoErr(e1) } return } // THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT func capRightsLimit(fd int, rightsp *CapRights) (err error) { _, _, e1 := Syscall(SYS_CAP_RIGHTS_LIMIT, uintptr(fd), uintptr(unsafe.Pointer(rightsp)), 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 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 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 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 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 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 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 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 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 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, 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 *uint64) (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 Linkat(pathfd int, path string, linkfd int, link string, flags int) (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 := Syscall6(SYS_LINKAT, uintptr(pathfd), uintptr(unsafe.Pointer(_p0)), uintptr(linkfd), 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 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 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 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 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 Mknodat(fd int, path string, mode uint32, dev uint64) (err error) { var _p0 *byte _p0, err = BytePtrFromString(path) if err != nil { return } _, _, e1 := Syscall6(SYS_MKNODAT, uintptr(fd), 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 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 Openat(fdat int, path string, mode int, perm uint32) (fd int, err error) { var _p0 *byte _p0, err = BytePtrFromString(path) if err != nil { return } r0, _, e1 := Syscall6(SYS_OPENAT, uintptr(fdat), uintptr(unsafe.Pointer(_p0)), uintptr(mode), uintptr(perm), 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 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 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 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 Renameat(fromfd int, from string, tofd int, 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 := Syscall6(SYS_RENAMEAT, uintptr(fromfd), uintptr(unsafe.Pointer(_p0)), uintptr(tofd), 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 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(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 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 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 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 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 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 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 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 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 } // 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 } dependencies/pkg/mod/golang.org/x/sys@v0.26.0/unix/ztypes_dragonfly_amd64.go0000644000000000000000000001563715107355264025552 0ustar rootroot// cgo -godefs types_dragonfly.go | go run mkpost.go // Code generated by the command above; see README.md. DO NOT EDIT. //go: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 type Stat_t struct { Ino uint64 Nlink uint32 Dev uint32 Mode uint16 _1 uint16 Uid uint32 Gid uint32 Rdev uint32 Atim Timespec Mtim Timespec Ctim Timespec Size int64 Blocks int64 _ uint32 Flags uint32 Gen uint32 Lspare int32 Blksize 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 Syncwrites int64 Asyncwrites int64 Fstypename [16]byte Mntonname [80]byte Syncreads int64 Asyncreads int64 Spares1 int16 Mntfromname [80]byte Spares2 int16 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 } const ( PathMax = 0x400 ) 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 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 SizeofIovec = 0x10 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 = 0x18 SizeofIfmaMsghdr = 0x10 SizeofIfAnnounceMsghdr = 0x18 SizeofRtMsghdr = 0x98 SizeofRtMetrics = 0x70 ) type IfMsghdr struct { Msglen uint16 Version uint8 Type uint8 Index uint16 Flags int32 Addrs int32 Data IfData } type IfData struct { Type uint8 Physical uint8 Addrlen uint8 Hdrlen uint8 Recvquota uint8 Xmitquota uint8 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 Index uint16 Flags int32 Addrs int32 Addrflags int32 Metric int32 } type IfmaMsghdr struct { Msglen uint16 Version uint8 Type uint8 Index uint16 Flags int32 Addrs int32 } 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 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 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 Insns *BpfInsn } type BpfInsn struct { Code uint16 Jt uint8 Jf uint8 K uint32 } type BpfHdr struct { Tstamp Timeval Caplen uint32 Datalen uint32 Hdrlen uint16 _ [6]byte } type Termios struct { Iflag uint32 Oflag uint32 Cflag uint32 Lflag uint32 Cc [20]uint8 Ispeed uint32 Ospeed uint32 } type Winsize struct { Row uint16 Col uint16 Xpixel uint16 Ypixel uint16 } const ( AT_FDCWD = 0xfffafdcd AT_SYMLINK_NOFOLLOW = 0x1 AT_REMOVEDIR = 0x2 AT_EACCESS = 0x4 AT_SYMLINK_FOLLOW = 0x8 ) type PollFd struct { Fd int32 Events int16 Revents int16 } const ( POLLERR = 0x8 POLLHUP = 0x10 POLLIN = 0x1 POLLNVAL = 0x20 POLLOUT = 0x4 POLLPRI = 0x2 POLLRDBAND = 0x80 POLLRDNORM = 0x40 POLLWRBAND = 0x100 POLLWRNORM = 0x4 ) type Utsname struct { Sysname [32]byte Nodename [32]byte Release [32]byte Version [32]byte Machine [32]byte } const SizeofClockinfo = 0x14 type Clockinfo struct { Hz int32 Tick int32 Tickadj int32 Stathz int32 Profhz int32 } dependencies/pkg/mod/golang.org/x/sys@v0.26.0/unix/zsyscall_linux_ppc.go0000644000000000000000000004152715107355264025076 0ustar rootroot// go run mksyscall.go -b32 -tags linux,ppc syscall_linux.go syscall_linux_ppc.go syscall_linux_alarm.go // Code generated by the command above; see README.md. DO NOT EDIT. //go:build linux && ppc package unix import ( "syscall" "unsafe" ) var _ syscall.Errno // THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT func fanotifyMark(fd int, flags uint, mask uint64, dirFd int, pathname *byte) (err error) { _, _, e1 := Syscall6(SYS_FANOTIFY_MARK, uintptr(fd), uintptr(flags), uintptr(mask>>32), uintptr(mask), uintptr(dirFd), uintptr(unsafe.Pointer(pathname))) 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 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 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 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 Fstatat(dirfd int, path string, stat *Stat_t, flags int) (err error) { var _p0 *byte _p0, err = BytePtrFromString(path) if err != nil { return } _, _, e1 := Syscall6(SYS_FSTATAT64, uintptr(dirfd), 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 Ftruncate(fd int, length int64) (err error) { _, _, e1 := Syscall(SYS_FTRUNCATE64, uintptr(fd), uintptr(length>>32), 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, _ := RawSyscallNoError(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, _ := RawSyscallNoError(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, _ := RawSyscallNoError(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, _ := RawSyscallNoError(SYS_GETUID, 0, 0, 0) uid = int(r0) 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_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 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>>32), 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_PWRITE64, uintptr(fd), uintptr(_p0), uintptr(len(p)), uintptr(offset>>32), 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 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 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) (prev int, err error) { r0, _, e1 := Syscall(SYS_SETFSGID, uintptr(gid), 0, 0) prev = int(r0) if e1 != 0 { err = errnoErr(e1) } return } // THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT func setfsuid(uid int) (prev int, err error) { r0, _, e1 := Syscall(SYS_SETFSUID, uintptr(uid), 0, 0) prev = int(r0) 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 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>>32), uintptr(length)) 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 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 futimesat(dirfd int, path string, times *[2]Timeval) (err error) { var _p0 *byte _p0, err = BytePtrFromString(path) if err != nil { return } _, _, e1 := Syscall(SYS_FUTIMESAT, uintptr(dirfd), uintptr(unsafe.Pointer(_p0)), 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 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 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 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 syncFileRange2(fd int, flags int, off int64, n int64) (err error) { _, _, e1 := Syscall6(SYS_SYNC_FILE_RANGE2, uintptr(fd), uintptr(flags), uintptr(off>>32), uintptr(off), uintptr(n>>32), uintptr(n)) if e1 != 0 { err = errnoErr(e1) } return } // THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT func kexecFileLoad(kernelFd int, initrdFd int, cmdlineLen int, cmdline string, flags int) (err error) { var _p0 *byte _p0, err = BytePtrFromString(cmdline) if err != nil { return } _, _, e1 := Syscall6(SYS_KEXEC_FILE_LOAD, uintptr(kernelFd), uintptr(initrdFd), uintptr(cmdlineLen), 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 Alarm(seconds uint) (remaining uint, err error) { r0, _, e1 := Syscall(SYS_ALARM, uintptr(seconds), 0, 0) remaining = uint(r0) if e1 != 0 { err = errnoErr(e1) } return } dependencies/pkg/mod/golang.org/x/sys@v0.26.0/unix/unveil_openbsd.go0000644000000000000000000000230115107355264024150 0ustar rootroot// Copyright 2018 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 "fmt" // Unveil implements the unveil syscall. // For more information see unveil(2). // Note that the special case of blocking further // unveil calls is handled by UnveilBlock. func Unveil(path string, flags string) error { if err := supportsUnveil(); err != nil { return err } pathPtr, err := BytePtrFromString(path) if err != nil { return err } flagsPtr, err := BytePtrFromString(flags) if err != nil { return err } return unveil(pathPtr, flagsPtr) } // UnveilBlock blocks future unveil calls. // For more information see unveil(2). func UnveilBlock() error { if err := supportsUnveil(); err != nil { return err } return unveil(nil, nil) } // supportsUnveil checks for availability of the unveil(2) system call based // on the running OpenBSD version. func supportsUnveil() error { maj, min, err := majmin() if err != nil { return err } // unveil is not available before 6.4 if maj < 6 || (maj == 6 && min <= 3) { return fmt.Errorf("cannot call Unveil on OpenBSD %d.%d", maj, min) } return nil } dependencies/pkg/mod/golang.org/x/sys@v0.26.0/unix/zsyscall_openbsd_arm.s0000644000000000000000000006561115107355264025223 0ustar rootroot// go run mkasm.go openbsd arm // Code generated by the command above; DO NOT EDIT. #include "textflag.h" TEXT libc_getgroups_trampoline<>(SB),NOSPLIT,$0-0 JMP libc_getgroups(SB) GLOBL ·libc_getgroups_trampoline_addr(SB), RODATA, $4 DATA ·libc_getgroups_trampoline_addr(SB)/4, $libc_getgroups_trampoline<>(SB) TEXT libc_setgroups_trampoline<>(SB),NOSPLIT,$0-0 JMP libc_setgroups(SB) GLOBL ·libc_setgroups_trampoline_addr(SB), RODATA, $4 DATA ·libc_setgroups_trampoline_addr(SB)/4, $libc_setgroups_trampoline<>(SB) TEXT libc_wait4_trampoline<>(SB),NOSPLIT,$0-0 JMP libc_wait4(SB) GLOBL ·libc_wait4_trampoline_addr(SB), RODATA, $4 DATA ·libc_wait4_trampoline_addr(SB)/4, $libc_wait4_trampoline<>(SB) TEXT libc_accept_trampoline<>(SB),NOSPLIT,$0-0 JMP libc_accept(SB) GLOBL ·libc_accept_trampoline_addr(SB), RODATA, $4 DATA ·libc_accept_trampoline_addr(SB)/4, $libc_accept_trampoline<>(SB) TEXT libc_bind_trampoline<>(SB),NOSPLIT,$0-0 JMP libc_bind(SB) GLOBL ·libc_bind_trampoline_addr(SB), RODATA, $4 DATA ·libc_bind_trampoline_addr(SB)/4, $libc_bind_trampoline<>(SB) TEXT libc_connect_trampoline<>(SB),NOSPLIT,$0-0 JMP libc_connect(SB) GLOBL ·libc_connect_trampoline_addr(SB), RODATA, $4 DATA ·libc_connect_trampoline_addr(SB)/4, $libc_connect_trampoline<>(SB) TEXT libc_socket_trampoline<>(SB),NOSPLIT,$0-0 JMP libc_socket(SB) GLOBL ·libc_socket_trampoline_addr(SB), RODATA, $4 DATA ·libc_socket_trampoline_addr(SB)/4, $libc_socket_trampoline<>(SB) TEXT libc_getsockopt_trampoline<>(SB),NOSPLIT,$0-0 JMP libc_getsockopt(SB) GLOBL ·libc_getsockopt_trampoline_addr(SB), RODATA, $4 DATA ·libc_getsockopt_trampoline_addr(SB)/4, $libc_getsockopt_trampoline<>(SB) TEXT libc_setsockopt_trampoline<>(SB),NOSPLIT,$0-0 JMP libc_setsockopt(SB) GLOBL ·libc_setsockopt_trampoline_addr(SB), RODATA, $4 DATA ·libc_setsockopt_trampoline_addr(SB)/4, $libc_setsockopt_trampoline<>(SB) TEXT libc_getpeername_trampoline<>(SB),NOSPLIT,$0-0 JMP libc_getpeername(SB) GLOBL ·libc_getpeername_trampoline_addr(SB), RODATA, $4 DATA ·libc_getpeername_trampoline_addr(SB)/4, $libc_getpeername_trampoline<>(SB) TEXT libc_getsockname_trampoline<>(SB),NOSPLIT,$0-0 JMP libc_getsockname(SB) GLOBL ·libc_getsockname_trampoline_addr(SB), RODATA, $4 DATA ·libc_getsockname_trampoline_addr(SB)/4, $libc_getsockname_trampoline<>(SB) TEXT libc_shutdown_trampoline<>(SB),NOSPLIT,$0-0 JMP libc_shutdown(SB) GLOBL ·libc_shutdown_trampoline_addr(SB), RODATA, $4 DATA ·libc_shutdown_trampoline_addr(SB)/4, $libc_shutdown_trampoline<>(SB) TEXT libc_socketpair_trampoline<>(SB),NOSPLIT,$0-0 JMP libc_socketpair(SB) GLOBL ·libc_socketpair_trampoline_addr(SB), RODATA, $4 DATA ·libc_socketpair_trampoline_addr(SB)/4, $libc_socketpair_trampoline<>(SB) TEXT libc_recvfrom_trampoline<>(SB),NOSPLIT,$0-0 JMP libc_recvfrom(SB) GLOBL ·libc_recvfrom_trampoline_addr(SB), RODATA, $4 DATA ·libc_recvfrom_trampoline_addr(SB)/4, $libc_recvfrom_trampoline<>(SB) TEXT libc_sendto_trampoline<>(SB),NOSPLIT,$0-0 JMP libc_sendto(SB) GLOBL ·libc_sendto_trampoline_addr(SB), RODATA, $4 DATA ·libc_sendto_trampoline_addr(SB)/4, $libc_sendto_trampoline<>(SB) TEXT libc_recvmsg_trampoline<>(SB),NOSPLIT,$0-0 JMP libc_recvmsg(SB) GLOBL ·libc_recvmsg_trampoline_addr(SB), RODATA, $4 DATA ·libc_recvmsg_trampoline_addr(SB)/4, $libc_recvmsg_trampoline<>(SB) TEXT libc_sendmsg_trampoline<>(SB),NOSPLIT,$0-0 JMP libc_sendmsg(SB) GLOBL ·libc_sendmsg_trampoline_addr(SB), RODATA, $4 DATA ·libc_sendmsg_trampoline_addr(SB)/4, $libc_sendmsg_trampoline<>(SB) TEXT libc_kevent_trampoline<>(SB),NOSPLIT,$0-0 JMP libc_kevent(SB) GLOBL ·libc_kevent_trampoline_addr(SB), RODATA, $4 DATA ·libc_kevent_trampoline_addr(SB)/4, $libc_kevent_trampoline<>(SB) TEXT libc_utimes_trampoline<>(SB),NOSPLIT,$0-0 JMP libc_utimes(SB) GLOBL ·libc_utimes_trampoline_addr(SB), RODATA, $4 DATA ·libc_utimes_trampoline_addr(SB)/4, $libc_utimes_trampoline<>(SB) TEXT libc_futimes_trampoline<>(SB),NOSPLIT,$0-0 JMP libc_futimes(SB) GLOBL ·libc_futimes_trampoline_addr(SB), RODATA, $4 DATA ·libc_futimes_trampoline_addr(SB)/4, $libc_futimes_trampoline<>(SB) TEXT libc_poll_trampoline<>(SB),NOSPLIT,$0-0 JMP libc_poll(SB) GLOBL ·libc_poll_trampoline_addr(SB), RODATA, $4 DATA ·libc_poll_trampoline_addr(SB)/4, $libc_poll_trampoline<>(SB) TEXT libc_madvise_trampoline<>(SB),NOSPLIT,$0-0 JMP libc_madvise(SB) GLOBL ·libc_madvise_trampoline_addr(SB), RODATA, $4 DATA ·libc_madvise_trampoline_addr(SB)/4, $libc_madvise_trampoline<>(SB) TEXT libc_mlock_trampoline<>(SB),NOSPLIT,$0-0 JMP libc_mlock(SB) GLOBL ·libc_mlock_trampoline_addr(SB), RODATA, $4 DATA ·libc_mlock_trampoline_addr(SB)/4, $libc_mlock_trampoline<>(SB) TEXT libc_mlockall_trampoline<>(SB),NOSPLIT,$0-0 JMP libc_mlockall(SB) GLOBL ·libc_mlockall_trampoline_addr(SB), RODATA, $4 DATA ·libc_mlockall_trampoline_addr(SB)/4, $libc_mlockall_trampoline<>(SB) TEXT libc_mprotect_trampoline<>(SB),NOSPLIT,$0-0 JMP libc_mprotect(SB) GLOBL ·libc_mprotect_trampoline_addr(SB), RODATA, $4 DATA ·libc_mprotect_trampoline_addr(SB)/4, $libc_mprotect_trampoline<>(SB) TEXT libc_msync_trampoline<>(SB),NOSPLIT,$0-0 JMP libc_msync(SB) GLOBL ·libc_msync_trampoline_addr(SB), RODATA, $4 DATA ·libc_msync_trampoline_addr(SB)/4, $libc_msync_trampoline<>(SB) TEXT libc_munlock_trampoline<>(SB),NOSPLIT,$0-0 JMP libc_munlock(SB) GLOBL ·libc_munlock_trampoline_addr(SB), RODATA, $4 DATA ·libc_munlock_trampoline_addr(SB)/4, $libc_munlock_trampoline<>(SB) TEXT libc_munlockall_trampoline<>(SB),NOSPLIT,$0-0 JMP libc_munlockall(SB) GLOBL ·libc_munlockall_trampoline_addr(SB), RODATA, $4 DATA ·libc_munlockall_trampoline_addr(SB)/4, $libc_munlockall_trampoline<>(SB) TEXT libc_pipe2_trampoline<>(SB),NOSPLIT,$0-0 JMP libc_pipe2(SB) GLOBL ·libc_pipe2_trampoline_addr(SB), RODATA, $4 DATA ·libc_pipe2_trampoline_addr(SB)/4, $libc_pipe2_trampoline<>(SB) TEXT libc_getdents_trampoline<>(SB),NOSPLIT,$0-0 JMP libc_getdents(SB) GLOBL ·libc_getdents_trampoline_addr(SB), RODATA, $4 DATA ·libc_getdents_trampoline_addr(SB)/4, $libc_getdents_trampoline<>(SB) TEXT libc_getcwd_trampoline<>(SB),NOSPLIT,$0-0 JMP libc_getcwd(SB) GLOBL ·libc_getcwd_trampoline_addr(SB), RODATA, $4 DATA ·libc_getcwd_trampoline_addr(SB)/4, $libc_getcwd_trampoline<>(SB) TEXT libc_getresuid_trampoline<>(SB),NOSPLIT,$0-0 JMP libc_getresuid(SB) GLOBL ·libc_getresuid_trampoline_addr(SB), RODATA, $4 DATA ·libc_getresuid_trampoline_addr(SB)/4, $libc_getresuid_trampoline<>(SB) TEXT libc_getresgid_trampoline<>(SB),NOSPLIT,$0-0 JMP libc_getresgid(SB) GLOBL ·libc_getresgid_trampoline_addr(SB), RODATA, $4 DATA ·libc_getresgid_trampoline_addr(SB)/4, $libc_getresgid_trampoline<>(SB) TEXT libc_ioctl_trampoline<>(SB),NOSPLIT,$0-0 JMP libc_ioctl(SB) GLOBL ·libc_ioctl_trampoline_addr(SB), RODATA, $4 DATA ·libc_ioctl_trampoline_addr(SB)/4, $libc_ioctl_trampoline<>(SB) TEXT libc_sysctl_trampoline<>(SB),NOSPLIT,$0-0 JMP libc_sysctl(SB) GLOBL ·libc_sysctl_trampoline_addr(SB), RODATA, $4 DATA ·libc_sysctl_trampoline_addr(SB)/4, $libc_sysctl_trampoline<>(SB) TEXT libc_fcntl_trampoline<>(SB),NOSPLIT,$0-0 JMP libc_fcntl(SB) GLOBL ·libc_fcntl_trampoline_addr(SB), RODATA, $4 DATA ·libc_fcntl_trampoline_addr(SB)/4, $libc_fcntl_trampoline<>(SB) TEXT libc_ppoll_trampoline<>(SB),NOSPLIT,$0-0 JMP libc_ppoll(SB) GLOBL ·libc_ppoll_trampoline_addr(SB), RODATA, $4 DATA ·libc_ppoll_trampoline_addr(SB)/4, $libc_ppoll_trampoline<>(SB) TEXT libc_access_trampoline<>(SB),NOSPLIT,$0-0 JMP libc_access(SB) GLOBL ·libc_access_trampoline_addr(SB), RODATA, $4 DATA ·libc_access_trampoline_addr(SB)/4, $libc_access_trampoline<>(SB) TEXT libc_adjtime_trampoline<>(SB),NOSPLIT,$0-0 JMP libc_adjtime(SB) GLOBL ·libc_adjtime_trampoline_addr(SB), RODATA, $4 DATA ·libc_adjtime_trampoline_addr(SB)/4, $libc_adjtime_trampoline<>(SB) TEXT libc_chdir_trampoline<>(SB),NOSPLIT,$0-0 JMP libc_chdir(SB) GLOBL ·libc_chdir_trampoline_addr(SB), RODATA, $4 DATA ·libc_chdir_trampoline_addr(SB)/4, $libc_chdir_trampoline<>(SB) TEXT libc_chflags_trampoline<>(SB),NOSPLIT,$0-0 JMP libc_chflags(SB) GLOBL ·libc_chflags_trampoline_addr(SB), RODATA, $4 DATA ·libc_chflags_trampoline_addr(SB)/4, $libc_chflags_trampoline<>(SB) TEXT libc_chmod_trampoline<>(SB),NOSPLIT,$0-0 JMP libc_chmod(SB) GLOBL ·libc_chmod_trampoline_addr(SB), RODATA, $4 DATA ·libc_chmod_trampoline_addr(SB)/4, $libc_chmod_trampoline<>(SB) TEXT libc_chown_trampoline<>(SB),NOSPLIT,$0-0 JMP libc_chown(SB) GLOBL ·libc_chown_trampoline_addr(SB), RODATA, $4 DATA ·libc_chown_trampoline_addr(SB)/4, $libc_chown_trampoline<>(SB) TEXT libc_chroot_trampoline<>(SB),NOSPLIT,$0-0 JMP libc_chroot(SB) GLOBL ·libc_chroot_trampoline_addr(SB), RODATA, $4 DATA ·libc_chroot_trampoline_addr(SB)/4, $libc_chroot_trampoline<>(SB) TEXT libc_clock_gettime_trampoline<>(SB),NOSPLIT,$0-0 JMP libc_clock_gettime(SB) GLOBL ·libc_clock_gettime_trampoline_addr(SB), RODATA, $4 DATA ·libc_clock_gettime_trampoline_addr(SB)/4, $libc_clock_gettime_trampoline<>(SB) TEXT libc_close_trampoline<>(SB),NOSPLIT,$0-0 JMP libc_close(SB) GLOBL ·libc_close_trampoline_addr(SB), RODATA, $4 DATA ·libc_close_trampoline_addr(SB)/4, $libc_close_trampoline<>(SB) TEXT libc_dup_trampoline<>(SB),NOSPLIT,$0-0 JMP libc_dup(SB) GLOBL ·libc_dup_trampoline_addr(SB), RODATA, $4 DATA ·libc_dup_trampoline_addr(SB)/4, $libc_dup_trampoline<>(SB) TEXT libc_dup2_trampoline<>(SB),NOSPLIT,$0-0 JMP libc_dup2(SB) GLOBL ·libc_dup2_trampoline_addr(SB), RODATA, $4 DATA ·libc_dup2_trampoline_addr(SB)/4, $libc_dup2_trampoline<>(SB) TEXT libc_dup3_trampoline<>(SB),NOSPLIT,$0-0 JMP libc_dup3(SB) GLOBL ·libc_dup3_trampoline_addr(SB), RODATA, $4 DATA ·libc_dup3_trampoline_addr(SB)/4, $libc_dup3_trampoline<>(SB) TEXT libc_exit_trampoline<>(SB),NOSPLIT,$0-0 JMP libc_exit(SB) GLOBL ·libc_exit_trampoline_addr(SB), RODATA, $4 DATA ·libc_exit_trampoline_addr(SB)/4, $libc_exit_trampoline<>(SB) TEXT libc_faccessat_trampoline<>(SB),NOSPLIT,$0-0 JMP libc_faccessat(SB) GLOBL ·libc_faccessat_trampoline_addr(SB), RODATA, $4 DATA ·libc_faccessat_trampoline_addr(SB)/4, $libc_faccessat_trampoline<>(SB) TEXT libc_fchdir_trampoline<>(SB),NOSPLIT,$0-0 JMP libc_fchdir(SB) GLOBL ·libc_fchdir_trampoline_addr(SB), RODATA, $4 DATA ·libc_fchdir_trampoline_addr(SB)/4, $libc_fchdir_trampoline<>(SB) TEXT libc_fchflags_trampoline<>(SB),NOSPLIT,$0-0 JMP libc_fchflags(SB) GLOBL ·libc_fchflags_trampoline_addr(SB), RODATA, $4 DATA ·libc_fchflags_trampoline_addr(SB)/4, $libc_fchflags_trampoline<>(SB) TEXT libc_fchmod_trampoline<>(SB),NOSPLIT,$0-0 JMP libc_fchmod(SB) GLOBL ·libc_fchmod_trampoline_addr(SB), RODATA, $4 DATA ·libc_fchmod_trampoline_addr(SB)/4, $libc_fchmod_trampoline<>(SB) TEXT libc_fchmodat_trampoline<>(SB),NOSPLIT,$0-0 JMP libc_fchmodat(SB) GLOBL ·libc_fchmodat_trampoline_addr(SB), RODATA, $4 DATA ·libc_fchmodat_trampoline_addr(SB)/4, $libc_fchmodat_trampoline<>(SB) TEXT libc_fchown_trampoline<>(SB),NOSPLIT,$0-0 JMP libc_fchown(SB) GLOBL ·libc_fchown_trampoline_addr(SB), RODATA, $4 DATA ·libc_fchown_trampoline_addr(SB)/4, $libc_fchown_trampoline<>(SB) TEXT libc_fchownat_trampoline<>(SB),NOSPLIT,$0-0 JMP libc_fchownat(SB) GLOBL ·libc_fchownat_trampoline_addr(SB), RODATA, $4 DATA ·libc_fchownat_trampoline_addr(SB)/4, $libc_fchownat_trampoline<>(SB) TEXT libc_flock_trampoline<>(SB),NOSPLIT,$0-0 JMP libc_flock(SB) GLOBL ·libc_flock_trampoline_addr(SB), RODATA, $4 DATA ·libc_flock_trampoline_addr(SB)/4, $libc_flock_trampoline<>(SB) TEXT libc_fpathconf_trampoline<>(SB),NOSPLIT,$0-0 JMP libc_fpathconf(SB) GLOBL ·libc_fpathconf_trampoline_addr(SB), RODATA, $4 DATA ·libc_fpathconf_trampoline_addr(SB)/4, $libc_fpathconf_trampoline<>(SB) TEXT libc_fstat_trampoline<>(SB),NOSPLIT,$0-0 JMP libc_fstat(SB) GLOBL ·libc_fstat_trampoline_addr(SB), RODATA, $4 DATA ·libc_fstat_trampoline_addr(SB)/4, $libc_fstat_trampoline<>(SB) TEXT libc_fstatat_trampoline<>(SB),NOSPLIT,$0-0 JMP libc_fstatat(SB) GLOBL ·libc_fstatat_trampoline_addr(SB), RODATA, $4 DATA ·libc_fstatat_trampoline_addr(SB)/4, $libc_fstatat_trampoline<>(SB) TEXT libc_fstatfs_trampoline<>(SB),NOSPLIT,$0-0 JMP libc_fstatfs(SB) GLOBL ·libc_fstatfs_trampoline_addr(SB), RODATA, $4 DATA ·libc_fstatfs_trampoline_addr(SB)/4, $libc_fstatfs_trampoline<>(SB) TEXT libc_fsync_trampoline<>(SB),NOSPLIT,$0-0 JMP libc_fsync(SB) GLOBL ·libc_fsync_trampoline_addr(SB), RODATA, $4 DATA ·libc_fsync_trampoline_addr(SB)/4, $libc_fsync_trampoline<>(SB) TEXT libc_ftruncate_trampoline<>(SB),NOSPLIT,$0-0 JMP libc_ftruncate(SB) GLOBL ·libc_ftruncate_trampoline_addr(SB), RODATA, $4 DATA ·libc_ftruncate_trampoline_addr(SB)/4, $libc_ftruncate_trampoline<>(SB) TEXT libc_getegid_trampoline<>(SB),NOSPLIT,$0-0 JMP libc_getegid(SB) GLOBL ·libc_getegid_trampoline_addr(SB), RODATA, $4 DATA ·libc_getegid_trampoline_addr(SB)/4, $libc_getegid_trampoline<>(SB) TEXT libc_geteuid_trampoline<>(SB),NOSPLIT,$0-0 JMP libc_geteuid(SB) GLOBL ·libc_geteuid_trampoline_addr(SB), RODATA, $4 DATA ·libc_geteuid_trampoline_addr(SB)/4, $libc_geteuid_trampoline<>(SB) TEXT libc_getgid_trampoline<>(SB),NOSPLIT,$0-0 JMP libc_getgid(SB) GLOBL ·libc_getgid_trampoline_addr(SB), RODATA, $4 DATA ·libc_getgid_trampoline_addr(SB)/4, $libc_getgid_trampoline<>(SB) TEXT libc_getpgid_trampoline<>(SB),NOSPLIT,$0-0 JMP libc_getpgid(SB) GLOBL ·libc_getpgid_trampoline_addr(SB), RODATA, $4 DATA ·libc_getpgid_trampoline_addr(SB)/4, $libc_getpgid_trampoline<>(SB) TEXT libc_getpgrp_trampoline<>(SB),NOSPLIT,$0-0 JMP libc_getpgrp(SB) GLOBL ·libc_getpgrp_trampoline_addr(SB), RODATA, $4 DATA ·libc_getpgrp_trampoline_addr(SB)/4, $libc_getpgrp_trampoline<>(SB) TEXT libc_getpid_trampoline<>(SB),NOSPLIT,$0-0 JMP libc_getpid(SB) GLOBL ·libc_getpid_trampoline_addr(SB), RODATA, $4 DATA ·libc_getpid_trampoline_addr(SB)/4, $libc_getpid_trampoline<>(SB) TEXT libc_getppid_trampoline<>(SB),NOSPLIT,$0-0 JMP libc_getppid(SB) GLOBL ·libc_getppid_trampoline_addr(SB), RODATA, $4 DATA ·libc_getppid_trampoline_addr(SB)/4, $libc_getppid_trampoline<>(SB) TEXT libc_getpriority_trampoline<>(SB),NOSPLIT,$0-0 JMP libc_getpriority(SB) GLOBL ·libc_getpriority_trampoline_addr(SB), RODATA, $4 DATA ·libc_getpriority_trampoline_addr(SB)/4, $libc_getpriority_trampoline<>(SB) TEXT libc_getrlimit_trampoline<>(SB),NOSPLIT,$0-0 JMP libc_getrlimit(SB) GLOBL ·libc_getrlimit_trampoline_addr(SB), RODATA, $4 DATA ·libc_getrlimit_trampoline_addr(SB)/4, $libc_getrlimit_trampoline<>(SB) TEXT libc_getrtable_trampoline<>(SB),NOSPLIT,$0-0 JMP libc_getrtable(SB) GLOBL ·libc_getrtable_trampoline_addr(SB), RODATA, $4 DATA ·libc_getrtable_trampoline_addr(SB)/4, $libc_getrtable_trampoline<>(SB) TEXT libc_getrusage_trampoline<>(SB),NOSPLIT,$0-0 JMP libc_getrusage(SB) GLOBL ·libc_getrusage_trampoline_addr(SB), RODATA, $4 DATA ·libc_getrusage_trampoline_addr(SB)/4, $libc_getrusage_trampoline<>(SB) TEXT libc_getsid_trampoline<>(SB),NOSPLIT,$0-0 JMP libc_getsid(SB) GLOBL ·libc_getsid_trampoline_addr(SB), RODATA, $4 DATA ·libc_getsid_trampoline_addr(SB)/4, $libc_getsid_trampoline<>(SB) TEXT libc_gettimeofday_trampoline<>(SB),NOSPLIT,$0-0 JMP libc_gettimeofday(SB) GLOBL ·libc_gettimeofday_trampoline_addr(SB), RODATA, $4 DATA ·libc_gettimeofday_trampoline_addr(SB)/4, $libc_gettimeofday_trampoline<>(SB) TEXT libc_getuid_trampoline<>(SB),NOSPLIT,$0-0 JMP libc_getuid(SB) GLOBL ·libc_getuid_trampoline_addr(SB), RODATA, $4 DATA ·libc_getuid_trampoline_addr(SB)/4, $libc_getuid_trampoline<>(SB) TEXT libc_issetugid_trampoline<>(SB),NOSPLIT,$0-0 JMP libc_issetugid(SB) GLOBL ·libc_issetugid_trampoline_addr(SB), RODATA, $4 DATA ·libc_issetugid_trampoline_addr(SB)/4, $libc_issetugid_trampoline<>(SB) TEXT libc_kill_trampoline<>(SB),NOSPLIT,$0-0 JMP libc_kill(SB) GLOBL ·libc_kill_trampoline_addr(SB), RODATA, $4 DATA ·libc_kill_trampoline_addr(SB)/4, $libc_kill_trampoline<>(SB) TEXT libc_kqueue_trampoline<>(SB),NOSPLIT,$0-0 JMP libc_kqueue(SB) GLOBL ·libc_kqueue_trampoline_addr(SB), RODATA, $4 DATA ·libc_kqueue_trampoline_addr(SB)/4, $libc_kqueue_trampoline<>(SB) TEXT libc_lchown_trampoline<>(SB),NOSPLIT,$0-0 JMP libc_lchown(SB) GLOBL ·libc_lchown_trampoline_addr(SB), RODATA, $4 DATA ·libc_lchown_trampoline_addr(SB)/4, $libc_lchown_trampoline<>(SB) TEXT libc_link_trampoline<>(SB),NOSPLIT,$0-0 JMP libc_link(SB) GLOBL ·libc_link_trampoline_addr(SB), RODATA, $4 DATA ·libc_link_trampoline_addr(SB)/4, $libc_link_trampoline<>(SB) TEXT libc_linkat_trampoline<>(SB),NOSPLIT,$0-0 JMP libc_linkat(SB) GLOBL ·libc_linkat_trampoline_addr(SB), RODATA, $4 DATA ·libc_linkat_trampoline_addr(SB)/4, $libc_linkat_trampoline<>(SB) TEXT libc_listen_trampoline<>(SB),NOSPLIT,$0-0 JMP libc_listen(SB) GLOBL ·libc_listen_trampoline_addr(SB), RODATA, $4 DATA ·libc_listen_trampoline_addr(SB)/4, $libc_listen_trampoline<>(SB) TEXT libc_lstat_trampoline<>(SB),NOSPLIT,$0-0 JMP libc_lstat(SB) GLOBL ·libc_lstat_trampoline_addr(SB), RODATA, $4 DATA ·libc_lstat_trampoline_addr(SB)/4, $libc_lstat_trampoline<>(SB) TEXT libc_mkdir_trampoline<>(SB),NOSPLIT,$0-0 JMP libc_mkdir(SB) GLOBL ·libc_mkdir_trampoline_addr(SB), RODATA, $4 DATA ·libc_mkdir_trampoline_addr(SB)/4, $libc_mkdir_trampoline<>(SB) TEXT libc_mkdirat_trampoline<>(SB),NOSPLIT,$0-0 JMP libc_mkdirat(SB) GLOBL ·libc_mkdirat_trampoline_addr(SB), RODATA, $4 DATA ·libc_mkdirat_trampoline_addr(SB)/4, $libc_mkdirat_trampoline<>(SB) TEXT libc_mkfifo_trampoline<>(SB),NOSPLIT,$0-0 JMP libc_mkfifo(SB) GLOBL ·libc_mkfifo_trampoline_addr(SB), RODATA, $4 DATA ·libc_mkfifo_trampoline_addr(SB)/4, $libc_mkfifo_trampoline<>(SB) TEXT libc_mkfifoat_trampoline<>(SB),NOSPLIT,$0-0 JMP libc_mkfifoat(SB) GLOBL ·libc_mkfifoat_trampoline_addr(SB), RODATA, $4 DATA ·libc_mkfifoat_trampoline_addr(SB)/4, $libc_mkfifoat_trampoline<>(SB) TEXT libc_mknod_trampoline<>(SB),NOSPLIT,$0-0 JMP libc_mknod(SB) GLOBL ·libc_mknod_trampoline_addr(SB), RODATA, $4 DATA ·libc_mknod_trampoline_addr(SB)/4, $libc_mknod_trampoline<>(SB) TEXT libc_mknodat_trampoline<>(SB),NOSPLIT,$0-0 JMP libc_mknodat(SB) GLOBL ·libc_mknodat_trampoline_addr(SB), RODATA, $4 DATA ·libc_mknodat_trampoline_addr(SB)/4, $libc_mknodat_trampoline<>(SB) TEXT libc_mount_trampoline<>(SB),NOSPLIT,$0-0 JMP libc_mount(SB) GLOBL ·libc_mount_trampoline_addr(SB), RODATA, $4 DATA ·libc_mount_trampoline_addr(SB)/4, $libc_mount_trampoline<>(SB) TEXT libc_nanosleep_trampoline<>(SB),NOSPLIT,$0-0 JMP libc_nanosleep(SB) GLOBL ·libc_nanosleep_trampoline_addr(SB), RODATA, $4 DATA ·libc_nanosleep_trampoline_addr(SB)/4, $libc_nanosleep_trampoline<>(SB) TEXT libc_open_trampoline<>(SB),NOSPLIT,$0-0 JMP libc_open(SB) GLOBL ·libc_open_trampoline_addr(SB), RODATA, $4 DATA ·libc_open_trampoline_addr(SB)/4, $libc_open_trampoline<>(SB) TEXT libc_openat_trampoline<>(SB),NOSPLIT,$0-0 JMP libc_openat(SB) GLOBL ·libc_openat_trampoline_addr(SB), RODATA, $4 DATA ·libc_openat_trampoline_addr(SB)/4, $libc_openat_trampoline<>(SB) TEXT libc_pathconf_trampoline<>(SB),NOSPLIT,$0-0 JMP libc_pathconf(SB) GLOBL ·libc_pathconf_trampoline_addr(SB), RODATA, $4 DATA ·libc_pathconf_trampoline_addr(SB)/4, $libc_pathconf_trampoline<>(SB) TEXT libc_pread_trampoline<>(SB),NOSPLIT,$0-0 JMP libc_pread(SB) GLOBL ·libc_pread_trampoline_addr(SB), RODATA, $4 DATA ·libc_pread_trampoline_addr(SB)/4, $libc_pread_trampoline<>(SB) TEXT libc_pwrite_trampoline<>(SB),NOSPLIT,$0-0 JMP libc_pwrite(SB) GLOBL ·libc_pwrite_trampoline_addr(SB), RODATA, $4 DATA ·libc_pwrite_trampoline_addr(SB)/4, $libc_pwrite_trampoline<>(SB) TEXT libc_read_trampoline<>(SB),NOSPLIT,$0-0 JMP libc_read(SB) GLOBL ·libc_read_trampoline_addr(SB), RODATA, $4 DATA ·libc_read_trampoline_addr(SB)/4, $libc_read_trampoline<>(SB) TEXT libc_readlink_trampoline<>(SB),NOSPLIT,$0-0 JMP libc_readlink(SB) GLOBL ·libc_readlink_trampoline_addr(SB), RODATA, $4 DATA ·libc_readlink_trampoline_addr(SB)/4, $libc_readlink_trampoline<>(SB) TEXT libc_readlinkat_trampoline<>(SB),NOSPLIT,$0-0 JMP libc_readlinkat(SB) GLOBL ·libc_readlinkat_trampoline_addr(SB), RODATA, $4 DATA ·libc_readlinkat_trampoline_addr(SB)/4, $libc_readlinkat_trampoline<>(SB) TEXT libc_rename_trampoline<>(SB),NOSPLIT,$0-0 JMP libc_rename(SB) GLOBL ·libc_rename_trampoline_addr(SB), RODATA, $4 DATA ·libc_rename_trampoline_addr(SB)/4, $libc_rename_trampoline<>(SB) TEXT libc_renameat_trampoline<>(SB),NOSPLIT,$0-0 JMP libc_renameat(SB) GLOBL ·libc_renameat_trampoline_addr(SB), RODATA, $4 DATA ·libc_renameat_trampoline_addr(SB)/4, $libc_renameat_trampoline<>(SB) TEXT libc_revoke_trampoline<>(SB),NOSPLIT,$0-0 JMP libc_revoke(SB) GLOBL ·libc_revoke_trampoline_addr(SB), RODATA, $4 DATA ·libc_revoke_trampoline_addr(SB)/4, $libc_revoke_trampoline<>(SB) TEXT libc_rmdir_trampoline<>(SB),NOSPLIT,$0-0 JMP libc_rmdir(SB) GLOBL ·libc_rmdir_trampoline_addr(SB), RODATA, $4 DATA ·libc_rmdir_trampoline_addr(SB)/4, $libc_rmdir_trampoline<>(SB) TEXT libc_lseek_trampoline<>(SB),NOSPLIT,$0-0 JMP libc_lseek(SB) GLOBL ·libc_lseek_trampoline_addr(SB), RODATA, $4 DATA ·libc_lseek_trampoline_addr(SB)/4, $libc_lseek_trampoline<>(SB) TEXT libc_select_trampoline<>(SB),NOSPLIT,$0-0 JMP libc_select(SB) GLOBL ·libc_select_trampoline_addr(SB), RODATA, $4 DATA ·libc_select_trampoline_addr(SB)/4, $libc_select_trampoline<>(SB) TEXT libc_setegid_trampoline<>(SB),NOSPLIT,$0-0 JMP libc_setegid(SB) GLOBL ·libc_setegid_trampoline_addr(SB), RODATA, $4 DATA ·libc_setegid_trampoline_addr(SB)/4, $libc_setegid_trampoline<>(SB) TEXT libc_seteuid_trampoline<>(SB),NOSPLIT,$0-0 JMP libc_seteuid(SB) GLOBL ·libc_seteuid_trampoline_addr(SB), RODATA, $4 DATA ·libc_seteuid_trampoline_addr(SB)/4, $libc_seteuid_trampoline<>(SB) TEXT libc_setgid_trampoline<>(SB),NOSPLIT,$0-0 JMP libc_setgid(SB) GLOBL ·libc_setgid_trampoline_addr(SB), RODATA, $4 DATA ·libc_setgid_trampoline_addr(SB)/4, $libc_setgid_trampoline<>(SB) TEXT libc_setlogin_trampoline<>(SB),NOSPLIT,$0-0 JMP libc_setlogin(SB) GLOBL ·libc_setlogin_trampoline_addr(SB), RODATA, $4 DATA ·libc_setlogin_trampoline_addr(SB)/4, $libc_setlogin_trampoline<>(SB) TEXT libc_setpgid_trampoline<>(SB),NOSPLIT,$0-0 JMP libc_setpgid(SB) GLOBL ·libc_setpgid_trampoline_addr(SB), RODATA, $4 DATA ·libc_setpgid_trampoline_addr(SB)/4, $libc_setpgid_trampoline<>(SB) TEXT libc_setpriority_trampoline<>(SB),NOSPLIT,$0-0 JMP libc_setpriority(SB) GLOBL ·libc_setpriority_trampoline_addr(SB), RODATA, $4 DATA ·libc_setpriority_trampoline_addr(SB)/4, $libc_setpriority_trampoline<>(SB) TEXT libc_setregid_trampoline<>(SB),NOSPLIT,$0-0 JMP libc_setregid(SB) GLOBL ·libc_setregid_trampoline_addr(SB), RODATA, $4 DATA ·libc_setregid_trampoline_addr(SB)/4, $libc_setregid_trampoline<>(SB) TEXT libc_setreuid_trampoline<>(SB),NOSPLIT,$0-0 JMP libc_setreuid(SB) GLOBL ·libc_setreuid_trampoline_addr(SB), RODATA, $4 DATA ·libc_setreuid_trampoline_addr(SB)/4, $libc_setreuid_trampoline<>(SB) TEXT libc_setresgid_trampoline<>(SB),NOSPLIT,$0-0 JMP libc_setresgid(SB) GLOBL ·libc_setresgid_trampoline_addr(SB), RODATA, $4 DATA ·libc_setresgid_trampoline_addr(SB)/4, $libc_setresgid_trampoline<>(SB) TEXT libc_setresuid_trampoline<>(SB),NOSPLIT,$0-0 JMP libc_setresuid(SB) GLOBL ·libc_setresuid_trampoline_addr(SB), RODATA, $4 DATA ·libc_setresuid_trampoline_addr(SB)/4, $libc_setresuid_trampoline<>(SB) TEXT libc_setrtable_trampoline<>(SB),NOSPLIT,$0-0 JMP libc_setrtable(SB) GLOBL ·libc_setrtable_trampoline_addr(SB), RODATA, $4 DATA ·libc_setrtable_trampoline_addr(SB)/4, $libc_setrtable_trampoline<>(SB) TEXT libc_setsid_trampoline<>(SB),NOSPLIT,$0-0 JMP libc_setsid(SB) GLOBL ·libc_setsid_trampoline_addr(SB), RODATA, $4 DATA ·libc_setsid_trampoline_addr(SB)/4, $libc_setsid_trampoline<>(SB) TEXT libc_settimeofday_trampoline<>(SB),NOSPLIT,$0-0 JMP libc_settimeofday(SB) GLOBL ·libc_settimeofday_trampoline_addr(SB), RODATA, $4 DATA ·libc_settimeofday_trampoline_addr(SB)/4, $libc_settimeofday_trampoline<>(SB) TEXT libc_setuid_trampoline<>(SB),NOSPLIT,$0-0 JMP libc_setuid(SB) GLOBL ·libc_setuid_trampoline_addr(SB), RODATA, $4 DATA ·libc_setuid_trampoline_addr(SB)/4, $libc_setuid_trampoline<>(SB) TEXT libc_stat_trampoline<>(SB),NOSPLIT,$0-0 JMP libc_stat(SB) GLOBL ·libc_stat_trampoline_addr(SB), RODATA, $4 DATA ·libc_stat_trampoline_addr(SB)/4, $libc_stat_trampoline<>(SB) TEXT libc_statfs_trampoline<>(SB),NOSPLIT,$0-0 JMP libc_statfs(SB) GLOBL ·libc_statfs_trampoline_addr(SB), RODATA, $4 DATA ·libc_statfs_trampoline_addr(SB)/4, $libc_statfs_trampoline<>(SB) TEXT libc_symlink_trampoline<>(SB),NOSPLIT,$0-0 JMP libc_symlink(SB) GLOBL ·libc_symlink_trampoline_addr(SB), RODATA, $4 DATA ·libc_symlink_trampoline_addr(SB)/4, $libc_symlink_trampoline<>(SB) TEXT libc_symlinkat_trampoline<>(SB),NOSPLIT,$0-0 JMP libc_symlinkat(SB) GLOBL ·libc_symlinkat_trampoline_addr(SB), RODATA, $4 DATA ·libc_symlinkat_trampoline_addr(SB)/4, $libc_symlinkat_trampoline<>(SB) TEXT libc_sync_trampoline<>(SB),NOSPLIT,$0-0 JMP libc_sync(SB) GLOBL ·libc_sync_trampoline_addr(SB), RODATA, $4 DATA ·libc_sync_trampoline_addr(SB)/4, $libc_sync_trampoline<>(SB) TEXT libc_truncate_trampoline<>(SB),NOSPLIT,$0-0 JMP libc_truncate(SB) GLOBL ·libc_truncate_trampoline_addr(SB), RODATA, $4 DATA ·libc_truncate_trampoline_addr(SB)/4, $libc_truncate_trampoline<>(SB) TEXT libc_umask_trampoline<>(SB),NOSPLIT,$0-0 JMP libc_umask(SB) GLOBL ·libc_umask_trampoline_addr(SB), RODATA, $4 DATA ·libc_umask_trampoline_addr(SB)/4, $libc_umask_trampoline<>(SB) TEXT libc_unlink_trampoline<>(SB),NOSPLIT,$0-0 JMP libc_unlink(SB) GLOBL ·libc_unlink_trampoline_addr(SB), RODATA, $4 DATA ·libc_unlink_trampoline_addr(SB)/4, $libc_unlink_trampoline<>(SB) TEXT libc_unlinkat_trampoline<>(SB),NOSPLIT,$0-0 JMP libc_unlinkat(SB) GLOBL ·libc_unlinkat_trampoline_addr(SB), RODATA, $4 DATA ·libc_unlinkat_trampoline_addr(SB)/4, $libc_unlinkat_trampoline<>(SB) TEXT libc_unmount_trampoline<>(SB),NOSPLIT,$0-0 JMP libc_unmount(SB) GLOBL ·libc_unmount_trampoline_addr(SB), RODATA, $4 DATA ·libc_unmount_trampoline_addr(SB)/4, $libc_unmount_trampoline<>(SB) TEXT libc_write_trampoline<>(SB),NOSPLIT,$0-0 JMP libc_write(SB) GLOBL ·libc_write_trampoline_addr(SB), RODATA, $4 DATA ·libc_write_trampoline_addr(SB)/4, $libc_write_trampoline<>(SB) TEXT libc_mmap_trampoline<>(SB),NOSPLIT,$0-0 JMP libc_mmap(SB) GLOBL ·libc_mmap_trampoline_addr(SB), RODATA, $4 DATA ·libc_mmap_trampoline_addr(SB)/4, $libc_mmap_trampoline<>(SB) TEXT libc_munmap_trampoline<>(SB),NOSPLIT,$0-0 JMP libc_munmap(SB) GLOBL ·libc_munmap_trampoline_addr(SB), RODATA, $4 DATA ·libc_munmap_trampoline_addr(SB)/4, $libc_munmap_trampoline<>(SB) TEXT libc_getfsstat_trampoline<>(SB),NOSPLIT,$0-0 JMP libc_getfsstat(SB) GLOBL ·libc_getfsstat_trampoline_addr(SB), RODATA, $4 DATA ·libc_getfsstat_trampoline_addr(SB)/4, $libc_getfsstat_trampoline<>(SB) TEXT libc_utimensat_trampoline<>(SB),NOSPLIT,$0-0 JMP libc_utimensat(SB) GLOBL ·libc_utimensat_trampoline_addr(SB), RODATA, $4 DATA ·libc_utimensat_trampoline_addr(SB)/4, $libc_utimensat_trampoline<>(SB) TEXT libc_pledge_trampoline<>(SB),NOSPLIT,$0-0 JMP libc_pledge(SB) GLOBL ·libc_pledge_trampoline_addr(SB), RODATA, $4 DATA ·libc_pledge_trampoline_addr(SB)/4, $libc_pledge_trampoline<>(SB) TEXT libc_unveil_trampoline<>(SB),NOSPLIT,$0-0 JMP libc_unveil(SB) GLOBL ·libc_unveil_trampoline_addr(SB), RODATA, $4 DATA ·libc_unveil_trampoline_addr(SB)/4, $libc_unveil_trampoline<>(SB) dependencies/pkg/mod/golang.org/x/sys@v0.26.0/unix/xattr_zos_test.go0000644000000000000000000001147115107355264024240 0ustar rootroot// Copyright 2024 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:build zos package unix_test import ( "os" "testing" "golang.org/x/sys/unix" ) func TestXattr(t *testing.T) { defer chtmpdir(t)() f := "xattr1" touch(t, f) xattrName := "system.filetag" xattrDataSet := make([]byte, 4) xattrDataSet[0] = 0xFF xattrDataSet[1] = 0xFF xattrDataSet[2] = 0 xattrDataSet[3] = 0 err := unix.Setxattr(f, xattrName, xattrDataSet, 0) if err != nil { t.Fatalf("Setxattr: %v", err) } // find size size, err := unix.Listxattr(f, nil) if err != nil { t.Fatalf("Listxattr: %v", err) } if size <= 0 { t.Fatalf("Listxattr returned an empty list of attributes") } buf := make([]byte, size) read, err := unix.Listxattr(f, buf) if err != nil { t.Fatalf("Listxattr: %v", err) } xattrs := stringsFromByteSlice(buf[:read]) xattrWant := xattrName found := false for _, name := range xattrs { if name == xattrWant { found = true break } } if !found { t.Errorf("Listxattr did not return previously set attribute '%s'", xattrName) } // find size size, err = unix.Getxattr(f, xattrName, nil) if err != nil { t.Fatalf("Getxattr: %v", err) } if size <= 0 { t.Fatalf("Getxattr returned an empty attribute") } xattrDataGet := make([]byte, size) _, err = unix.Getxattr(f, xattrName, xattrDataGet) if err != nil { t.Fatalf("Getxattr: %v", err) } got := string([]byte(xattrDataGet)) if got != string(xattrDataSet) { t.Errorf("Getxattr: expected attribute value %s, got %s", xattrDataSet, got) } err = unix.Removexattr(f, xattrName) if err != nil { t.Fatalf("Removexattr: %v", err) } //confirm xattr removed // find size size, err = unix.Listxattr(f, nil) if err != nil { t.Fatalf("Listxattr: %v", err) } if size != 0 { buf := make([]byte, size) read, err = unix.Listxattr(f, buf) if err != nil { t.Fatalf("Listxattr: %v", err) } xattrs = stringsFromByteSlice(buf[:read]) found = false for _, name := range xattrs { if name == xattrWant { found = true break } if found { t.Errorf("Removexattr failed to remove attribute '%s'", xattrName) } } } n := "nonexistent" err = unix.Lsetxattr(n, xattrName, xattrDataSet, 0) if err != unix.ENOENT { t.Errorf("Lsetxattr: expected %v on non-existent file, got %v", unix.ENODATA, err) } _, err = unix.Lgetxattr(f, n, nil) if err != unix.ENODATA { t.Errorf("Lgetxattr: %v", err) } _, err = unix.Lgetxattr(n, xattrName, nil) if err != unix.ENOENT { t.Errorf("Lgetxattr: %v", err) } } func TestFdXattr(t *testing.T) { file, err := os.CreateTemp("", "TestFdXattr") if err != nil { t.Fatal(err) } defer os.Remove(file.Name()) defer file.Close() fd := int(file.Fd()) xattrName := "system.filetag" xattrDataSet := make([]byte, 4) xattrDataSet[0] = 0xFF xattrDataSet[1] = 0xFF xattrDataSet[2] = 0 xattrDataSet[3] = 0 err = unix.Fsetxattr(fd, xattrName, xattrDataSet, 0) if err == unix.ENOTSUP || err == unix.EOPNOTSUPP { t.Skip("filesystem does not support extended attributes, skipping test") } else if err != nil { t.Fatalf("Fsetxattr: %v", err) } // find size size, err := unix.Flistxattr(fd, nil) if err != nil { t.Fatalf("Flistxattr: %v", err) } if size <= 0 { t.Fatalf("Flistxattr returned an empty list of attributes") } buf := make([]byte, size) read, err := unix.Flistxattr(fd, buf) if err != nil { t.Fatalf("Flistxattr: %v", err) } xattrs := stringsFromByteSlice(buf[:read]) xattrWant := xattrName found := false for _, name := range xattrs { if name == xattrWant { found = true break } } if !found { t.Errorf("Flistxattr did not return previously set attribute '%s'", xattrName) } // find size size, err = unix.Fgetxattr(fd, xattrName, nil) if err != nil { t.Fatalf("Fgetxattr: %v", err) } if size <= 0 { t.Fatalf("Fgetxattr returned an empty attribute") } xattrDataGet := make([]byte, size) _, err = unix.Fgetxattr(fd, xattrName, xattrDataGet) if err != nil { t.Fatalf("Fgetxattr: %v", err) } got := string([]byte(xattrDataGet)) if got != string(xattrDataSet) { t.Errorf("Getxattr: expected attribute value %s, got %s", xattrDataSet, got) } err = unix.Fremovexattr(fd, xattrName) if err != nil { t.Fatalf("Fremovexattr: %v", err) } //confirm xattr removed // find size size, err = unix.Flistxattr(fd, nil) if err != nil { t.Fatalf("Flistxattr: %v", err) } if size != 0 { buf := make([]byte, size) read, err = unix.Flistxattr(fd, buf) if err != nil { t.Fatalf("Flistxattr: %v", err) } xattrs = stringsFromByteSlice(buf[:read]) found = false for _, name := range xattrs { if name == xattrWant { found = true break } if found { t.Errorf("Fremovexattr failed to remove attribute '%s'", xattrName) } } } } dependencies/pkg/mod/golang.org/x/sys@v0.26.0/unix/zsyscall_aix_ppc64_gc.go0000644000000000000000000012467515107355264025351 0ustar rootroot// go run mksyscall_aix_ppc64.go -aix -tags aix,ppc64 syscall_aix.go syscall_aix_ppc64.go // Code generated by the command above; see README.md. DO NOT EDIT. //go:build aix && ppc64 && gc package unix import ( "unsafe" ) //go:cgo_import_dynamic libc_utimes utimes "libc.a/shr_64.o" //go:cgo_import_dynamic libc_utimensat utimensat "libc.a/shr_64.o" //go:cgo_import_dynamic libc_getcwd getcwd "libc.a/shr_64.o" //go:cgo_import_dynamic libc_accept accept "libc.a/shr_64.o" //go:cgo_import_dynamic libc_getdirent getdirent "libc.a/shr_64.o" //go:cgo_import_dynamic libc_wait4 wait4 "libc.a/shr_64.o" //go:cgo_import_dynamic libc_ioctl ioctl "libc.a/shr_64.o" //go:cgo_import_dynamic libc_fcntl fcntl "libc.a/shr_64.o" //go:cgo_import_dynamic libc_fsync_range fsync_range "libc.a/shr_64.o" //go:cgo_import_dynamic libc_acct acct "libc.a/shr_64.o" //go:cgo_import_dynamic libc_chdir chdir "libc.a/shr_64.o" //go:cgo_import_dynamic libc_chroot chroot "libc.a/shr_64.o" //go:cgo_import_dynamic libc_close close "libc.a/shr_64.o" //go:cgo_import_dynamic libc_dup dup "libc.a/shr_64.o" //go:cgo_import_dynamic libc_exit exit "libc.a/shr_64.o" //go:cgo_import_dynamic libc_faccessat faccessat "libc.a/shr_64.o" //go:cgo_import_dynamic libc_fchdir fchdir "libc.a/shr_64.o" //go:cgo_import_dynamic libc_fchmod fchmod "libc.a/shr_64.o" //go:cgo_import_dynamic libc_fchmodat fchmodat "libc.a/shr_64.o" //go:cgo_import_dynamic libc_fchownat fchownat "libc.a/shr_64.o" //go:cgo_import_dynamic libc_fdatasync fdatasync "libc.a/shr_64.o" //go:cgo_import_dynamic libc_getpgid getpgid "libc.a/shr_64.o" //go:cgo_import_dynamic libc_getpgrp getpgrp "libc.a/shr_64.o" //go:cgo_import_dynamic libc_getpid getpid "libc.a/shr_64.o" //go:cgo_import_dynamic libc_getppid getppid "libc.a/shr_64.o" //go:cgo_import_dynamic libc_getpriority getpriority "libc.a/shr_64.o" //go:cgo_import_dynamic libc_getrusage getrusage "libc.a/shr_64.o" //go:cgo_import_dynamic libc_getsid getsid "libc.a/shr_64.o" //go:cgo_import_dynamic libc_kill kill "libc.a/shr_64.o" //go:cgo_import_dynamic libc_syslog syslog "libc.a/shr_64.o" //go:cgo_import_dynamic libc_mkdir mkdir "libc.a/shr_64.o" //go:cgo_import_dynamic libc_mkdirat mkdirat "libc.a/shr_64.o" //go:cgo_import_dynamic libc_mkfifo mkfifo "libc.a/shr_64.o" //go:cgo_import_dynamic libc_mknod mknod "libc.a/shr_64.o" //go:cgo_import_dynamic libc_mknodat mknodat "libc.a/shr_64.o" //go:cgo_import_dynamic libc_nanosleep nanosleep "libc.a/shr_64.o" //go:cgo_import_dynamic libc_open64 open64 "libc.a/shr_64.o" //go:cgo_import_dynamic libc_openat openat "libc.a/shr_64.o" //go:cgo_import_dynamic libc_read read "libc.a/shr_64.o" //go:cgo_import_dynamic libc_readlink readlink "libc.a/shr_64.o" //go:cgo_import_dynamic libc_renameat renameat "libc.a/shr_64.o" //go:cgo_import_dynamic libc_setdomainname setdomainname "libc.a/shr_64.o" //go:cgo_import_dynamic libc_sethostname sethostname "libc.a/shr_64.o" //go:cgo_import_dynamic libc_setpgid setpgid "libc.a/shr_64.o" //go:cgo_import_dynamic libc_setsid setsid "libc.a/shr_64.o" //go:cgo_import_dynamic libc_settimeofday settimeofday "libc.a/shr_64.o" //go:cgo_import_dynamic libc_setuid setuid "libc.a/shr_64.o" //go:cgo_import_dynamic libc_setgid setgid "libc.a/shr_64.o" //go:cgo_import_dynamic libc_setpriority setpriority "libc.a/shr_64.o" //go:cgo_import_dynamic libc_statx statx "libc.a/shr_64.o" //go:cgo_import_dynamic libc_sync sync "libc.a/shr_64.o" //go:cgo_import_dynamic libc_times times "libc.a/shr_64.o" //go:cgo_import_dynamic libc_umask umask "libc.a/shr_64.o" //go:cgo_import_dynamic libc_uname uname "libc.a/shr_64.o" //go:cgo_import_dynamic libc_unlink unlink "libc.a/shr_64.o" //go:cgo_import_dynamic libc_unlinkat unlinkat "libc.a/shr_64.o" //go:cgo_import_dynamic libc_ustat ustat "libc.a/shr_64.o" //go:cgo_import_dynamic libc_write write "libc.a/shr_64.o" //go:cgo_import_dynamic libc_dup2 dup2 "libc.a/shr_64.o" //go:cgo_import_dynamic libc_posix_fadvise64 posix_fadvise64 "libc.a/shr_64.o" //go:cgo_import_dynamic libc_fchown fchown "libc.a/shr_64.o" //go:cgo_import_dynamic libc_fstat fstat "libc.a/shr_64.o" //go:cgo_import_dynamic libc_fstatat fstatat "libc.a/shr_64.o" //go:cgo_import_dynamic libc_fstatfs fstatfs "libc.a/shr_64.o" //go:cgo_import_dynamic libc_ftruncate ftruncate "libc.a/shr_64.o" //go:cgo_import_dynamic libc_getegid getegid "libc.a/shr_64.o" //go:cgo_import_dynamic libc_geteuid geteuid "libc.a/shr_64.o" //go:cgo_import_dynamic libc_getgid getgid "libc.a/shr_64.o" //go:cgo_import_dynamic libc_getuid getuid "libc.a/shr_64.o" //go:cgo_import_dynamic libc_lchown lchown "libc.a/shr_64.o" //go:cgo_import_dynamic libc_listen listen "libc.a/shr_64.o" //go:cgo_import_dynamic libc_lstat lstat "libc.a/shr_64.o" //go:cgo_import_dynamic libc_pause pause "libc.a/shr_64.o" //go:cgo_import_dynamic libc_pread64 pread64 "libc.a/shr_64.o" //go:cgo_import_dynamic libc_pwrite64 pwrite64 "libc.a/shr_64.o" //go:cgo_import_dynamic libc_select select "libc.a/shr_64.o" //go:cgo_import_dynamic libc_pselect pselect "libc.a/shr_64.o" //go:cgo_import_dynamic libc_setregid setregid "libc.a/shr_64.o" //go:cgo_import_dynamic libc_setreuid setreuid "libc.a/shr_64.o" //go:cgo_import_dynamic libc_shutdown shutdown "libc.a/shr_64.o" //go:cgo_import_dynamic libc_splice splice "libc.a/shr_64.o" //go:cgo_import_dynamic libc_stat stat "libc.a/shr_64.o" //go:cgo_import_dynamic libc_statfs statfs "libc.a/shr_64.o" //go:cgo_import_dynamic libc_truncate truncate "libc.a/shr_64.o" //go:cgo_import_dynamic libc_bind bind "libc.a/shr_64.o" //go:cgo_import_dynamic libc_connect connect "libc.a/shr_64.o" //go:cgo_import_dynamic libc_getgroups getgroups "libc.a/shr_64.o" //go:cgo_import_dynamic libc_setgroups setgroups "libc.a/shr_64.o" //go:cgo_import_dynamic libc_getsockopt getsockopt "libc.a/shr_64.o" //go:cgo_import_dynamic libc_setsockopt setsockopt "libc.a/shr_64.o" //go:cgo_import_dynamic libc_socket socket "libc.a/shr_64.o" //go:cgo_import_dynamic libc_socketpair socketpair "libc.a/shr_64.o" //go:cgo_import_dynamic libc_getpeername getpeername "libc.a/shr_64.o" //go:cgo_import_dynamic libc_getsockname getsockname "libc.a/shr_64.o" //go:cgo_import_dynamic libc_recvfrom recvfrom "libc.a/shr_64.o" //go:cgo_import_dynamic libc_sendto sendto "libc.a/shr_64.o" //go:cgo_import_dynamic libc_nrecvmsg nrecvmsg "libc.a/shr_64.o" //go:cgo_import_dynamic libc_nsendmsg nsendmsg "libc.a/shr_64.o" //go:cgo_import_dynamic libc_munmap munmap "libc.a/shr_64.o" //go:cgo_import_dynamic libc_madvise madvise "libc.a/shr_64.o" //go:cgo_import_dynamic libc_mprotect mprotect "libc.a/shr_64.o" //go:cgo_import_dynamic libc_mlock mlock "libc.a/shr_64.o" //go:cgo_import_dynamic libc_mlockall mlockall "libc.a/shr_64.o" //go:cgo_import_dynamic libc_msync msync "libc.a/shr_64.o" //go:cgo_import_dynamic libc_munlock munlock "libc.a/shr_64.o" //go:cgo_import_dynamic libc_munlockall munlockall "libc.a/shr_64.o" //go:cgo_import_dynamic libc_pipe pipe "libc.a/shr_64.o" //go:cgo_import_dynamic libc_poll poll "libc.a/shr_64.o" //go:cgo_import_dynamic libc_gettimeofday gettimeofday "libc.a/shr_64.o" //go:cgo_import_dynamic libc_time time "libc.a/shr_64.o" //go:cgo_import_dynamic libc_utime utime "libc.a/shr_64.o" //go:cgo_import_dynamic libc_getsystemcfg getsystemcfg "libc.a/shr_64.o" //go:cgo_import_dynamic libc_umount umount "libc.a/shr_64.o" //go:cgo_import_dynamic libc_getrlimit getrlimit "libc.a/shr_64.o" //go:cgo_import_dynamic libc_lseek lseek "libc.a/shr_64.o" //go:cgo_import_dynamic libc_mmap64 mmap64 "libc.a/shr_64.o" //go:linkname libc_utimes libc_utimes //go:linkname libc_utimensat libc_utimensat //go:linkname libc_getcwd libc_getcwd //go:linkname libc_accept libc_accept //go:linkname libc_getdirent libc_getdirent //go:linkname libc_wait4 libc_wait4 //go:linkname libc_ioctl libc_ioctl //go:linkname libc_fcntl libc_fcntl //go:linkname libc_fsync_range libc_fsync_range //go:linkname libc_acct libc_acct //go:linkname libc_chdir libc_chdir //go:linkname libc_chroot libc_chroot //go:linkname libc_close libc_close //go:linkname libc_dup libc_dup //go:linkname libc_exit libc_exit //go:linkname libc_faccessat libc_faccessat //go:linkname libc_fchdir libc_fchdir //go:linkname libc_fchmod libc_fchmod //go:linkname libc_fchmodat libc_fchmodat //go:linkname libc_fchownat libc_fchownat //go:linkname libc_fdatasync libc_fdatasync //go:linkname libc_getpgid libc_getpgid //go:linkname libc_getpgrp libc_getpgrp //go:linkname libc_getpid libc_getpid //go:linkname libc_getppid libc_getppid //go:linkname libc_getpriority libc_getpriority //go:linkname libc_getrusage libc_getrusage //go:linkname libc_getsid libc_getsid //go:linkname libc_kill libc_kill //go:linkname libc_syslog libc_syslog //go:linkname libc_mkdir libc_mkdir //go:linkname libc_mkdirat libc_mkdirat //go:linkname libc_mkfifo libc_mkfifo //go:linkname libc_mknod libc_mknod //go:linkname libc_mknodat libc_mknodat //go:linkname libc_nanosleep libc_nanosleep //go:linkname libc_open64 libc_open64 //go:linkname libc_openat libc_openat //go:linkname libc_read libc_read //go:linkname libc_readlink libc_readlink //go:linkname libc_renameat libc_renameat //go:linkname libc_setdomainname libc_setdomainname //go:linkname libc_sethostname libc_sethostname //go:linkname libc_setpgid libc_setpgid //go:linkname libc_setsid libc_setsid //go:linkname libc_settimeofday libc_settimeofday //go:linkname libc_setuid libc_setuid //go:linkname libc_setgid libc_setgid //go:linkname libc_setpriority libc_setpriority //go:linkname libc_statx libc_statx //go:linkname libc_sync libc_sync //go:linkname libc_times libc_times //go:linkname libc_umask libc_umask //go:linkname libc_uname libc_uname //go:linkname libc_unlink libc_unlink //go:linkname libc_unlinkat libc_unlinkat //go:linkname libc_ustat libc_ustat //go:linkname libc_write libc_write //go:linkname libc_dup2 libc_dup2 //go:linkname libc_posix_fadvise64 libc_posix_fadvise64 //go:linkname libc_fchown libc_fchown //go:linkname libc_fstat libc_fstat //go:linkname libc_fstatat libc_fstatat //go:linkname libc_fstatfs libc_fstatfs //go:linkname libc_ftruncate libc_ftruncate //go:linkname libc_getegid libc_getegid //go:linkname libc_geteuid libc_geteuid //go:linkname libc_getgid libc_getgid //go:linkname libc_getuid libc_getuid //go:linkname libc_lchown libc_lchown //go:linkname libc_listen libc_listen //go:linkname libc_lstat libc_lstat //go:linkname libc_pause libc_pause //go:linkname libc_pread64 libc_pread64 //go:linkname libc_pwrite64 libc_pwrite64 //go:linkname libc_select libc_select //go:linkname libc_pselect libc_pselect //go:linkname libc_setregid libc_setregid //go:linkname libc_setreuid libc_setreuid //go:linkname libc_shutdown libc_shutdown //go:linkname libc_splice libc_splice //go:linkname libc_stat libc_stat //go:linkname libc_statfs libc_statfs //go:linkname libc_truncate libc_truncate //go:linkname libc_bind libc_bind //go:linkname libc_connect libc_connect //go:linkname libc_getgroups libc_getgroups //go:linkname libc_setgroups libc_setgroups //go:linkname libc_getsockopt libc_getsockopt //go:linkname libc_setsockopt libc_setsockopt //go:linkname libc_socket libc_socket //go:linkname libc_socketpair libc_socketpair //go:linkname libc_getpeername libc_getpeername //go:linkname libc_getsockname libc_getsockname //go:linkname libc_recvfrom libc_recvfrom //go:linkname libc_sendto libc_sendto //go:linkname libc_nrecvmsg libc_nrecvmsg //go:linkname libc_nsendmsg libc_nsendmsg //go:linkname libc_munmap libc_munmap //go:linkname libc_madvise libc_madvise //go:linkname libc_mprotect libc_mprotect //go:linkname libc_mlock libc_mlock //go:linkname libc_mlockall libc_mlockall //go:linkname libc_msync libc_msync //go:linkname libc_munlock libc_munlock //go:linkname libc_munlockall libc_munlockall //go:linkname libc_pipe libc_pipe //go:linkname libc_poll libc_poll //go:linkname libc_gettimeofday libc_gettimeofday //go:linkname libc_time libc_time //go:linkname libc_utime libc_utime //go:linkname libc_getsystemcfg libc_getsystemcfg //go:linkname libc_umount libc_umount //go:linkname libc_getrlimit libc_getrlimit //go:linkname libc_lseek libc_lseek //go:linkname libc_mmap64 libc_mmap64 type syscallFunc uintptr var ( libc_utimes, libc_utimensat, libc_getcwd, libc_accept, libc_getdirent, libc_wait4, libc_ioctl, libc_fcntl, libc_fsync_range, libc_acct, libc_chdir, libc_chroot, libc_close, libc_dup, libc_exit, libc_faccessat, libc_fchdir, libc_fchmod, libc_fchmodat, libc_fchownat, libc_fdatasync, libc_getpgid, libc_getpgrp, libc_getpid, libc_getppid, libc_getpriority, libc_getrusage, libc_getsid, libc_kill, libc_syslog, libc_mkdir, libc_mkdirat, libc_mkfifo, libc_mknod, libc_mknodat, libc_nanosleep, libc_open64, libc_openat, libc_read, libc_readlink, libc_renameat, libc_setdomainname, libc_sethostname, libc_setpgid, libc_setsid, libc_settimeofday, libc_setuid, libc_setgid, libc_setpriority, libc_statx, libc_sync, libc_times, libc_umask, libc_uname, libc_unlink, libc_unlinkat, libc_ustat, libc_write, libc_dup2, libc_posix_fadvise64, libc_fchown, libc_fstat, libc_fstatat, libc_fstatfs, libc_ftruncate, libc_getegid, libc_geteuid, libc_getgid, libc_getuid, libc_lchown, libc_listen, libc_lstat, libc_pause, libc_pread64, libc_pwrite64, libc_select, libc_pselect, libc_setregid, libc_setreuid, libc_shutdown, libc_splice, libc_stat, libc_statfs, libc_truncate, libc_bind, libc_connect, libc_getgroups, libc_setgroups, libc_getsockopt, libc_setsockopt, libc_socket, libc_socketpair, libc_getpeername, libc_getsockname, libc_recvfrom, libc_sendto, libc_nrecvmsg, libc_nsendmsg, libc_munmap, libc_madvise, libc_mprotect, libc_mlock, libc_mlockall, libc_msync, libc_munlock, libc_munlockall, libc_pipe, libc_poll, libc_gettimeofday, libc_time, libc_utime, libc_getsystemcfg, libc_umount, libc_getrlimit, libc_lseek, libc_mmap64 syscallFunc ) // Implemented in runtime/syscall_aix.go. func rawSyscall6(trap, nargs, a1, a2, a3, a4, a5, a6 uintptr) (r1, r2 uintptr, err Errno) func syscall6(trap, nargs, a1, a2, a3, a4, a5, a6 uintptr) (r1, r2 uintptr, err Errno) // THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT func callutimes(_p0 uintptr, times uintptr) (r1 uintptr, e1 Errno) { r1, _, e1 = syscall6(uintptr(unsafe.Pointer(&libc_utimes)), 2, _p0, times, 0, 0, 0, 0) return } // THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT func callutimensat(dirfd int, _p0 uintptr, times uintptr, flag int) (r1 uintptr, e1 Errno) { r1, _, e1 = syscall6(uintptr(unsafe.Pointer(&libc_utimensat)), 4, uintptr(dirfd), _p0, times, uintptr(flag), 0, 0) return } // THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT func callgetcwd(_p0 uintptr, _lenp0 int) (r1 uintptr, e1 Errno) { r1, _, e1 = syscall6(uintptr(unsafe.Pointer(&libc_getcwd)), 2, _p0, uintptr(_lenp0), 0, 0, 0, 0) return } // THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT func callaccept(s int, rsa uintptr, addrlen uintptr) (r1 uintptr, e1 Errno) { r1, _, e1 = syscall6(uintptr(unsafe.Pointer(&libc_accept)), 3, uintptr(s), rsa, addrlen, 0, 0, 0) return } // THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT func callgetdirent(fd int, _p0 uintptr, _lenp0 int) (r1 uintptr, e1 Errno) { r1, _, e1 = syscall6(uintptr(unsafe.Pointer(&libc_getdirent)), 3, uintptr(fd), _p0, uintptr(_lenp0), 0, 0, 0) return } // THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT func callwait4(pid int, status uintptr, options int, rusage uintptr) (r1 uintptr, e1 Errno) { r1, _, e1 = syscall6(uintptr(unsafe.Pointer(&libc_wait4)), 4, uintptr(pid), status, uintptr(options), rusage, 0, 0) return } // THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT func callioctl(fd int, req int, arg uintptr) (r1 uintptr, e1 Errno) { r1, _, e1 = syscall6(uintptr(unsafe.Pointer(&libc_ioctl)), 3, uintptr(fd), uintptr(req), arg, 0, 0, 0) return } // THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT func callioctl_ptr(fd int, req int, arg unsafe.Pointer) (r1 uintptr, e1 Errno) { r1, _, e1 = syscall6(uintptr(unsafe.Pointer(&libc_ioctl)), 3, uintptr(fd), uintptr(req), uintptr(arg), 0, 0, 0) return } // THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT func callfcntl(fd uintptr, cmd int, arg uintptr) (r1 uintptr, e1 Errno) { r1, _, e1 = syscall6(uintptr(unsafe.Pointer(&libc_fcntl)), 3, fd, uintptr(cmd), arg, 0, 0, 0) return } // THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT func callfsync_range(fd int, how int, start int64, length int64) (r1 uintptr, e1 Errno) { r1, _, e1 = syscall6(uintptr(unsafe.Pointer(&libc_fsync_range)), 4, uintptr(fd), uintptr(how), uintptr(start), uintptr(length), 0, 0) return } // THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT func callacct(_p0 uintptr) (r1 uintptr, e1 Errno) { r1, _, e1 = syscall6(uintptr(unsafe.Pointer(&libc_acct)), 1, _p0, 0, 0, 0, 0, 0) return } // THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT func callchdir(_p0 uintptr) (r1 uintptr, e1 Errno) { r1, _, e1 = syscall6(uintptr(unsafe.Pointer(&libc_chdir)), 1, _p0, 0, 0, 0, 0, 0) return } // THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT func callchroot(_p0 uintptr) (r1 uintptr, e1 Errno) { r1, _, e1 = syscall6(uintptr(unsafe.Pointer(&libc_chroot)), 1, _p0, 0, 0, 0, 0, 0) return } // THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT func callclose(fd int) (r1 uintptr, e1 Errno) { r1, _, e1 = syscall6(uintptr(unsafe.Pointer(&libc_close)), 1, uintptr(fd), 0, 0, 0, 0, 0) return } // THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT func calldup(oldfd int) (r1 uintptr, e1 Errno) { r1, _, e1 = syscall6(uintptr(unsafe.Pointer(&libc_dup)), 1, uintptr(oldfd), 0, 0, 0, 0, 0) return } // THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT func callexit(code int) (r1 uintptr, e1 Errno) { r1, _, e1 = syscall6(uintptr(unsafe.Pointer(&libc_exit)), 1, uintptr(code), 0, 0, 0, 0, 0) return } // THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT func callfaccessat(dirfd int, _p0 uintptr, mode uint32, flags int) (r1 uintptr, e1 Errno) { r1, _, e1 = syscall6(uintptr(unsafe.Pointer(&libc_faccessat)), 4, uintptr(dirfd), _p0, uintptr(mode), uintptr(flags), 0, 0) return } // THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT func callfchdir(fd int) (r1 uintptr, e1 Errno) { r1, _, e1 = syscall6(uintptr(unsafe.Pointer(&libc_fchdir)), 1, uintptr(fd), 0, 0, 0, 0, 0) return } // THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT func callfchmod(fd int, mode uint32) (r1 uintptr, e1 Errno) { r1, _, e1 = syscall6(uintptr(unsafe.Pointer(&libc_fchmod)), 2, uintptr(fd), uintptr(mode), 0, 0, 0, 0) return } // THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT func callfchmodat(dirfd int, _p0 uintptr, mode uint32, flags int) (r1 uintptr, e1 Errno) { r1, _, e1 = syscall6(uintptr(unsafe.Pointer(&libc_fchmodat)), 4, uintptr(dirfd), _p0, uintptr(mode), uintptr(flags), 0, 0) return } // THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT func callfchownat(dirfd int, _p0 uintptr, uid int, gid int, flags int) (r1 uintptr, e1 Errno) { r1, _, e1 = syscall6(uintptr(unsafe.Pointer(&libc_fchownat)), 5, uintptr(dirfd), _p0, uintptr(uid), uintptr(gid), uintptr(flags), 0) return } // THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT func callfdatasync(fd int) (r1 uintptr, e1 Errno) { r1, _, e1 = syscall6(uintptr(unsafe.Pointer(&libc_fdatasync)), 1, uintptr(fd), 0, 0, 0, 0, 0) return } // THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT func callgetpgid(pid int) (r1 uintptr, e1 Errno) { r1, _, e1 = rawSyscall6(uintptr(unsafe.Pointer(&libc_getpgid)), 1, uintptr(pid), 0, 0, 0, 0, 0) return } // THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT func callgetpgrp() (r1 uintptr, e1 Errno) { r1, _, e1 = syscall6(uintptr(unsafe.Pointer(&libc_getpgrp)), 0, 0, 0, 0, 0, 0, 0) return } // THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT func callgetpid() (r1 uintptr, e1 Errno) { r1, _, e1 = rawSyscall6(uintptr(unsafe.Pointer(&libc_getpid)), 0, 0, 0, 0, 0, 0, 0) return } // THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT func callgetppid() (r1 uintptr, e1 Errno) { r1, _, e1 = rawSyscall6(uintptr(unsafe.Pointer(&libc_getppid)), 0, 0, 0, 0, 0, 0, 0) return } // THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT func callgetpriority(which int, who int) (r1 uintptr, e1 Errno) { r1, _, e1 = syscall6(uintptr(unsafe.Pointer(&libc_getpriority)), 2, uintptr(which), uintptr(who), 0, 0, 0, 0) return } // THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT func callgetrusage(who int, rusage uintptr) (r1 uintptr, e1 Errno) { r1, _, e1 = rawSyscall6(uintptr(unsafe.Pointer(&libc_getrusage)), 2, uintptr(who), rusage, 0, 0, 0, 0) return } // THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT func callgetsid(pid int) (r1 uintptr, e1 Errno) { r1, _, e1 = rawSyscall6(uintptr(unsafe.Pointer(&libc_getsid)), 1, uintptr(pid), 0, 0, 0, 0, 0) return } // THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT func callkill(pid int, sig int) (r1 uintptr, e1 Errno) { r1, _, e1 = rawSyscall6(uintptr(unsafe.Pointer(&libc_kill)), 2, uintptr(pid), uintptr(sig), 0, 0, 0, 0) return } // THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT func callsyslog(typ int, _p0 uintptr, _lenp0 int) (r1 uintptr, e1 Errno) { r1, _, e1 = syscall6(uintptr(unsafe.Pointer(&libc_syslog)), 3, uintptr(typ), _p0, uintptr(_lenp0), 0, 0, 0) return } // THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT func callmkdir(dirfd int, _p0 uintptr, mode uint32) (r1 uintptr, e1 Errno) { r1, _, e1 = syscall6(uintptr(unsafe.Pointer(&libc_mkdir)), 3, uintptr(dirfd), _p0, uintptr(mode), 0, 0, 0) return } // THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT func callmkdirat(dirfd int, _p0 uintptr, mode uint32) (r1 uintptr, e1 Errno) { r1, _, e1 = syscall6(uintptr(unsafe.Pointer(&libc_mkdirat)), 3, uintptr(dirfd), _p0, uintptr(mode), 0, 0, 0) return } // THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT func callmkfifo(_p0 uintptr, mode uint32) (r1 uintptr, e1 Errno) { r1, _, e1 = syscall6(uintptr(unsafe.Pointer(&libc_mkfifo)), 2, _p0, uintptr(mode), 0, 0, 0, 0) return } // THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT func callmknod(_p0 uintptr, mode uint32, dev int) (r1 uintptr, e1 Errno) { r1, _, e1 = syscall6(uintptr(unsafe.Pointer(&libc_mknod)), 3, _p0, uintptr(mode), uintptr(dev), 0, 0, 0) return } // THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT func callmknodat(dirfd int, _p0 uintptr, mode uint32, dev int) (r1 uintptr, e1 Errno) { r1, _, e1 = syscall6(uintptr(unsafe.Pointer(&libc_mknodat)), 4, uintptr(dirfd), _p0, uintptr(mode), uintptr(dev), 0, 0) return } // THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT func callnanosleep(time uintptr, leftover uintptr) (r1 uintptr, e1 Errno) { r1, _, e1 = syscall6(uintptr(unsafe.Pointer(&libc_nanosleep)), 2, time, leftover, 0, 0, 0, 0) return } // THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT func callopen64(_p0 uintptr, mode int, perm uint32) (r1 uintptr, e1 Errno) { r1, _, e1 = syscall6(uintptr(unsafe.Pointer(&libc_open64)), 3, _p0, uintptr(mode), uintptr(perm), 0, 0, 0) return } // THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT func callopenat(dirfd int, _p0 uintptr, flags int, mode uint32) (r1 uintptr, e1 Errno) { r1, _, e1 = syscall6(uintptr(unsafe.Pointer(&libc_openat)), 4, uintptr(dirfd), _p0, uintptr(flags), uintptr(mode), 0, 0) return } // THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT func callread(fd int, _p0 uintptr, _lenp0 int) (r1 uintptr, e1 Errno) { r1, _, e1 = syscall6(uintptr(unsafe.Pointer(&libc_read)), 3, uintptr(fd), _p0, uintptr(_lenp0), 0, 0, 0) return } // THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT func callreadlink(_p0 uintptr, _p1 uintptr, _lenp1 int) (r1 uintptr, e1 Errno) { r1, _, e1 = syscall6(uintptr(unsafe.Pointer(&libc_readlink)), 3, _p0, _p1, uintptr(_lenp1), 0, 0, 0) return } // THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT func callrenameat(olddirfd int, _p0 uintptr, newdirfd int, _p1 uintptr) (r1 uintptr, e1 Errno) { r1, _, e1 = syscall6(uintptr(unsafe.Pointer(&libc_renameat)), 4, uintptr(olddirfd), _p0, uintptr(newdirfd), _p1, 0, 0) return } // THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT func callsetdomainname(_p0 uintptr, _lenp0 int) (r1 uintptr, e1 Errno) { r1, _, e1 = syscall6(uintptr(unsafe.Pointer(&libc_setdomainname)), 2, _p0, uintptr(_lenp0), 0, 0, 0, 0) return } // THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT func callsethostname(_p0 uintptr, _lenp0 int) (r1 uintptr, e1 Errno) { r1, _, e1 = syscall6(uintptr(unsafe.Pointer(&libc_sethostname)), 2, _p0, uintptr(_lenp0), 0, 0, 0, 0) return } // THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT func callsetpgid(pid int, pgid int) (r1 uintptr, e1 Errno) { r1, _, e1 = rawSyscall6(uintptr(unsafe.Pointer(&libc_setpgid)), 2, uintptr(pid), uintptr(pgid), 0, 0, 0, 0) return } // THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT func callsetsid() (r1 uintptr, e1 Errno) { r1, _, e1 = rawSyscall6(uintptr(unsafe.Pointer(&libc_setsid)), 0, 0, 0, 0, 0, 0, 0) return } // THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT func callsettimeofday(tv uintptr) (r1 uintptr, e1 Errno) { r1, _, e1 = rawSyscall6(uintptr(unsafe.Pointer(&libc_settimeofday)), 1, tv, 0, 0, 0, 0, 0) return } // THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT func callsetuid(uid int) (r1 uintptr, e1 Errno) { r1, _, e1 = syscall6(uintptr(unsafe.Pointer(&libc_setuid)), 1, uintptr(uid), 0, 0, 0, 0, 0) return } // THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT func callsetgid(uid int) (r1 uintptr, e1 Errno) { r1, _, e1 = syscall6(uintptr(unsafe.Pointer(&libc_setgid)), 1, uintptr(uid), 0, 0, 0, 0, 0) return } // THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT func callsetpriority(which int, who int, prio int) (r1 uintptr, e1 Errno) { r1, _, e1 = syscall6(uintptr(unsafe.Pointer(&libc_setpriority)), 3, uintptr(which), uintptr(who), uintptr(prio), 0, 0, 0) return } // THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT func callstatx(dirfd int, _p0 uintptr, flags int, mask int, stat uintptr) (r1 uintptr, e1 Errno) { r1, _, e1 = syscall6(uintptr(unsafe.Pointer(&libc_statx)), 5, uintptr(dirfd), _p0, uintptr(flags), uintptr(mask), stat, 0) return } // THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT func callsync() (r1 uintptr, e1 Errno) { r1, _, e1 = syscall6(uintptr(unsafe.Pointer(&libc_sync)), 0, 0, 0, 0, 0, 0, 0) return } // THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT func calltimes(tms uintptr) (r1 uintptr, e1 Errno) { r1, _, e1 = rawSyscall6(uintptr(unsafe.Pointer(&libc_times)), 1, tms, 0, 0, 0, 0, 0) return } // THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT func callumask(mask int) (r1 uintptr, e1 Errno) { r1, _, e1 = rawSyscall6(uintptr(unsafe.Pointer(&libc_umask)), 1, uintptr(mask), 0, 0, 0, 0, 0) return } // THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT func calluname(buf uintptr) (r1 uintptr, e1 Errno) { r1, _, e1 = rawSyscall6(uintptr(unsafe.Pointer(&libc_uname)), 1, buf, 0, 0, 0, 0, 0) return } // THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT func callunlink(_p0 uintptr) (r1 uintptr, e1 Errno) { r1, _, e1 = syscall6(uintptr(unsafe.Pointer(&libc_unlink)), 1, _p0, 0, 0, 0, 0, 0) return } // THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT func callunlinkat(dirfd int, _p0 uintptr, flags int) (r1 uintptr, e1 Errno) { r1, _, e1 = syscall6(uintptr(unsafe.Pointer(&libc_unlinkat)), 3, uintptr(dirfd), _p0, uintptr(flags), 0, 0, 0) return } // THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT func callustat(dev int, ubuf uintptr) (r1 uintptr, e1 Errno) { r1, _, e1 = syscall6(uintptr(unsafe.Pointer(&libc_ustat)), 2, uintptr(dev), ubuf, 0, 0, 0, 0) return } // THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT func callwrite(fd int, _p0 uintptr, _lenp0 int) (r1 uintptr, e1 Errno) { r1, _, e1 = syscall6(uintptr(unsafe.Pointer(&libc_write)), 3, uintptr(fd), _p0, uintptr(_lenp0), 0, 0, 0) return } // THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT func calldup2(oldfd int, newfd int) (r1 uintptr, e1 Errno) { r1, _, e1 = syscall6(uintptr(unsafe.Pointer(&libc_dup2)), 2, uintptr(oldfd), uintptr(newfd), 0, 0, 0, 0) return } // THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT func callposix_fadvise64(fd int, offset int64, length int64, advice int) (r1 uintptr, e1 Errno) { r1, _, e1 = syscall6(uintptr(unsafe.Pointer(&libc_posix_fadvise64)), 4, uintptr(fd), uintptr(offset), uintptr(length), uintptr(advice), 0, 0) return } // THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT func callfchown(fd int, uid int, gid int) (r1 uintptr, e1 Errno) { r1, _, e1 = syscall6(uintptr(unsafe.Pointer(&libc_fchown)), 3, uintptr(fd), uintptr(uid), uintptr(gid), 0, 0, 0) return } // THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT func callfstat(fd int, stat uintptr) (r1 uintptr, e1 Errno) { r1, _, e1 = syscall6(uintptr(unsafe.Pointer(&libc_fstat)), 2, uintptr(fd), stat, 0, 0, 0, 0) return } // THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT func callfstatat(dirfd int, _p0 uintptr, stat uintptr, flags int) (r1 uintptr, e1 Errno) { r1, _, e1 = syscall6(uintptr(unsafe.Pointer(&libc_fstatat)), 4, uintptr(dirfd), _p0, stat, uintptr(flags), 0, 0) return } // THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT func callfstatfs(fd int, buf uintptr) (r1 uintptr, e1 Errno) { r1, _, e1 = syscall6(uintptr(unsafe.Pointer(&libc_fstatfs)), 2, uintptr(fd), buf, 0, 0, 0, 0) return } // THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT func callftruncate(fd int, length int64) (r1 uintptr, e1 Errno) { r1, _, e1 = syscall6(uintptr(unsafe.Pointer(&libc_ftruncate)), 2, uintptr(fd), uintptr(length), 0, 0, 0, 0) return } // THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT func callgetegid() (r1 uintptr, e1 Errno) { r1, _, e1 = rawSyscall6(uintptr(unsafe.Pointer(&libc_getegid)), 0, 0, 0, 0, 0, 0, 0) return } // THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT func callgeteuid() (r1 uintptr, e1 Errno) { r1, _, e1 = rawSyscall6(uintptr(unsafe.Pointer(&libc_geteuid)), 0, 0, 0, 0, 0, 0, 0) return } // THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT func callgetgid() (r1 uintptr, e1 Errno) { r1, _, e1 = rawSyscall6(uintptr(unsafe.Pointer(&libc_getgid)), 0, 0, 0, 0, 0, 0, 0) return } // THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT func callgetuid() (r1 uintptr, e1 Errno) { r1, _, e1 = rawSyscall6(uintptr(unsafe.Pointer(&libc_getuid)), 0, 0, 0, 0, 0, 0, 0) return } // THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT func calllchown(_p0 uintptr, uid int, gid int) (r1 uintptr, e1 Errno) { r1, _, e1 = syscall6(uintptr(unsafe.Pointer(&libc_lchown)), 3, _p0, uintptr(uid), uintptr(gid), 0, 0, 0) return } // THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT func calllisten(s int, n int) (r1 uintptr, e1 Errno) { r1, _, e1 = syscall6(uintptr(unsafe.Pointer(&libc_listen)), 2, uintptr(s), uintptr(n), 0, 0, 0, 0) return } // THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT func calllstat(_p0 uintptr, stat uintptr) (r1 uintptr, e1 Errno) { r1, _, e1 = syscall6(uintptr(unsafe.Pointer(&libc_lstat)), 2, _p0, stat, 0, 0, 0, 0) return } // THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT func callpause() (r1 uintptr, e1 Errno) { r1, _, e1 = syscall6(uintptr(unsafe.Pointer(&libc_pause)), 0, 0, 0, 0, 0, 0, 0) return } // THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT func callpread64(fd int, _p0 uintptr, _lenp0 int, offset int64) (r1 uintptr, e1 Errno) { r1, _, e1 = syscall6(uintptr(unsafe.Pointer(&libc_pread64)), 4, uintptr(fd), _p0, uintptr(_lenp0), uintptr(offset), 0, 0) return } // THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT func callpwrite64(fd int, _p0 uintptr, _lenp0 int, offset int64) (r1 uintptr, e1 Errno) { r1, _, e1 = syscall6(uintptr(unsafe.Pointer(&libc_pwrite64)), 4, uintptr(fd), _p0, uintptr(_lenp0), uintptr(offset), 0, 0) return } // THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT func callselect(nfd int, r uintptr, w uintptr, e uintptr, timeout uintptr) (r1 uintptr, e1 Errno) { r1, _, e1 = syscall6(uintptr(unsafe.Pointer(&libc_select)), 5, uintptr(nfd), r, w, e, timeout, 0) return } // THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT func callpselect(nfd int, r uintptr, w uintptr, e uintptr, timeout uintptr, sigmask uintptr) (r1 uintptr, e1 Errno) { r1, _, e1 = syscall6(uintptr(unsafe.Pointer(&libc_pselect)), 6, uintptr(nfd), r, w, e, timeout, sigmask) return } // THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT func callsetregid(rgid int, egid int) (r1 uintptr, e1 Errno) { r1, _, e1 = rawSyscall6(uintptr(unsafe.Pointer(&libc_setregid)), 2, uintptr(rgid), uintptr(egid), 0, 0, 0, 0) return } // THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT func callsetreuid(ruid int, euid int) (r1 uintptr, e1 Errno) { r1, _, e1 = rawSyscall6(uintptr(unsafe.Pointer(&libc_setreuid)), 2, uintptr(ruid), uintptr(euid), 0, 0, 0, 0) return } // THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT func callshutdown(fd int, how int) (r1 uintptr, e1 Errno) { r1, _, e1 = syscall6(uintptr(unsafe.Pointer(&libc_shutdown)), 2, uintptr(fd), uintptr(how), 0, 0, 0, 0) return } // THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT func callsplice(rfd int, roff uintptr, wfd int, woff uintptr, len int, flags int) (r1 uintptr, e1 Errno) { r1, _, e1 = syscall6(uintptr(unsafe.Pointer(&libc_splice)), 6, uintptr(rfd), roff, uintptr(wfd), woff, uintptr(len), uintptr(flags)) return } // THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT func callstat(_p0 uintptr, statptr uintptr) (r1 uintptr, e1 Errno) { r1, _, e1 = syscall6(uintptr(unsafe.Pointer(&libc_stat)), 2, _p0, statptr, 0, 0, 0, 0) return } // THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT func callstatfs(_p0 uintptr, buf uintptr) (r1 uintptr, e1 Errno) { r1, _, e1 = syscall6(uintptr(unsafe.Pointer(&libc_statfs)), 2, _p0, buf, 0, 0, 0, 0) return } // THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT func calltruncate(_p0 uintptr, length int64) (r1 uintptr, e1 Errno) { r1, _, e1 = syscall6(uintptr(unsafe.Pointer(&libc_truncate)), 2, _p0, uintptr(length), 0, 0, 0, 0) return } // THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT func callbind(s int, addr uintptr, addrlen uintptr) (r1 uintptr, e1 Errno) { r1, _, e1 = syscall6(uintptr(unsafe.Pointer(&libc_bind)), 3, uintptr(s), addr, addrlen, 0, 0, 0) return } // THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT func callconnect(s int, addr uintptr, addrlen uintptr) (r1 uintptr, e1 Errno) { r1, _, e1 = syscall6(uintptr(unsafe.Pointer(&libc_connect)), 3, uintptr(s), addr, addrlen, 0, 0, 0) return } // THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT func callgetgroups(n int, list uintptr) (r1 uintptr, e1 Errno) { r1, _, e1 = rawSyscall6(uintptr(unsafe.Pointer(&libc_getgroups)), 2, uintptr(n), list, 0, 0, 0, 0) return } // THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT func callsetgroups(n int, list uintptr) (r1 uintptr, e1 Errno) { r1, _, e1 = rawSyscall6(uintptr(unsafe.Pointer(&libc_setgroups)), 2, uintptr(n), list, 0, 0, 0, 0) return } // THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT func callgetsockopt(s int, level int, name int, val uintptr, vallen uintptr) (r1 uintptr, e1 Errno) { r1, _, e1 = syscall6(uintptr(unsafe.Pointer(&libc_getsockopt)), 5, uintptr(s), uintptr(level), uintptr(name), val, vallen, 0) return } // THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT func callsetsockopt(s int, level int, name int, val uintptr, vallen uintptr) (r1 uintptr, e1 Errno) { r1, _, e1 = syscall6(uintptr(unsafe.Pointer(&libc_setsockopt)), 5, uintptr(s), uintptr(level), uintptr(name), val, vallen, 0) return } // THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT func callsocket(domain int, typ int, proto int) (r1 uintptr, e1 Errno) { r1, _, e1 = rawSyscall6(uintptr(unsafe.Pointer(&libc_socket)), 3, uintptr(domain), uintptr(typ), uintptr(proto), 0, 0, 0) return } // THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT func callsocketpair(domain int, typ int, proto int, fd uintptr) (r1 uintptr, e1 Errno) { r1, _, e1 = rawSyscall6(uintptr(unsafe.Pointer(&libc_socketpair)), 4, uintptr(domain), uintptr(typ), uintptr(proto), fd, 0, 0) return } // THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT func callgetpeername(fd int, rsa uintptr, addrlen uintptr) (r1 uintptr, e1 Errno) { r1, _, e1 = rawSyscall6(uintptr(unsafe.Pointer(&libc_getpeername)), 3, uintptr(fd), rsa, addrlen, 0, 0, 0) return } // THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT func callgetsockname(fd int, rsa uintptr, addrlen uintptr) (r1 uintptr, e1 Errno) { r1, _, e1 = rawSyscall6(uintptr(unsafe.Pointer(&libc_getsockname)), 3, uintptr(fd), rsa, addrlen, 0, 0, 0) return } // THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT func callrecvfrom(fd int, _p0 uintptr, _lenp0 int, flags int, from uintptr, fromlen uintptr) (r1 uintptr, e1 Errno) { r1, _, e1 = syscall6(uintptr(unsafe.Pointer(&libc_recvfrom)), 6, uintptr(fd), _p0, uintptr(_lenp0), uintptr(flags), from, fromlen) return } // THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT func callsendto(s int, _p0 uintptr, _lenp0 int, flags int, to uintptr, addrlen uintptr) (r1 uintptr, e1 Errno) { r1, _, e1 = syscall6(uintptr(unsafe.Pointer(&libc_sendto)), 6, uintptr(s), _p0, uintptr(_lenp0), uintptr(flags), to, addrlen) return } // THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT func callnrecvmsg(s int, msg uintptr, flags int) (r1 uintptr, e1 Errno) { r1, _, e1 = syscall6(uintptr(unsafe.Pointer(&libc_nrecvmsg)), 3, uintptr(s), msg, uintptr(flags), 0, 0, 0) return } // THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT func callnsendmsg(s int, msg uintptr, flags int) (r1 uintptr, e1 Errno) { r1, _, e1 = syscall6(uintptr(unsafe.Pointer(&libc_nsendmsg)), 3, uintptr(s), msg, uintptr(flags), 0, 0, 0) return } // THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT func callmunmap(addr uintptr, length uintptr) (r1 uintptr, e1 Errno) { r1, _, e1 = syscall6(uintptr(unsafe.Pointer(&libc_munmap)), 2, addr, length, 0, 0, 0, 0) return } // THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT func callmadvise(_p0 uintptr, _lenp0 int, advice int) (r1 uintptr, e1 Errno) { r1, _, e1 = syscall6(uintptr(unsafe.Pointer(&libc_madvise)), 3, _p0, uintptr(_lenp0), uintptr(advice), 0, 0, 0) return } // THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT func callmprotect(_p0 uintptr, _lenp0 int, prot int) (r1 uintptr, e1 Errno) { r1, _, e1 = syscall6(uintptr(unsafe.Pointer(&libc_mprotect)), 3, _p0, uintptr(_lenp0), uintptr(prot), 0, 0, 0) return } // THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT func callmlock(_p0 uintptr, _lenp0 int) (r1 uintptr, e1 Errno) { r1, _, e1 = syscall6(uintptr(unsafe.Pointer(&libc_mlock)), 2, _p0, uintptr(_lenp0), 0, 0, 0, 0) return } // THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT func callmlockall(flags int) (r1 uintptr, e1 Errno) { r1, _, e1 = syscall6(uintptr(unsafe.Pointer(&libc_mlockall)), 1, uintptr(flags), 0, 0, 0, 0, 0) return } // THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT func callmsync(_p0 uintptr, _lenp0 int, flags int) (r1 uintptr, e1 Errno) { r1, _, e1 = syscall6(uintptr(unsafe.Pointer(&libc_msync)), 3, _p0, uintptr(_lenp0), uintptr(flags), 0, 0, 0) return } // THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT func callmunlock(_p0 uintptr, _lenp0 int) (r1 uintptr, e1 Errno) { r1, _, e1 = syscall6(uintptr(unsafe.Pointer(&libc_munlock)), 2, _p0, uintptr(_lenp0), 0, 0, 0, 0) return } // THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT func callmunlockall() (r1 uintptr, e1 Errno) { r1, _, e1 = syscall6(uintptr(unsafe.Pointer(&libc_munlockall)), 0, 0, 0, 0, 0, 0, 0) return } // THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT func callpipe(p uintptr) (r1 uintptr, e1 Errno) { r1, _, e1 = rawSyscall6(uintptr(unsafe.Pointer(&libc_pipe)), 1, p, 0, 0, 0, 0, 0) return } // THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT func callpoll(fds uintptr, nfds int, timeout int) (r1 uintptr, e1 Errno) { r1, _, e1 = syscall6(uintptr(unsafe.Pointer(&libc_poll)), 3, fds, uintptr(nfds), uintptr(timeout), 0, 0, 0) return } // THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT func callgettimeofday(tv uintptr, tzp uintptr) (r1 uintptr, e1 Errno) { r1, _, e1 = syscall6(uintptr(unsafe.Pointer(&libc_gettimeofday)), 2, tv, tzp, 0, 0, 0, 0) return } // THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT func calltime(t uintptr) (r1 uintptr, e1 Errno) { r1, _, e1 = rawSyscall6(uintptr(unsafe.Pointer(&libc_time)), 1, t, 0, 0, 0, 0, 0) return } // THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT func callutime(_p0 uintptr, buf uintptr) (r1 uintptr, e1 Errno) { r1, _, e1 = syscall6(uintptr(unsafe.Pointer(&libc_utime)), 2, _p0, buf, 0, 0, 0, 0) return } // THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT func callgetsystemcfg(label int) (r1 uintptr, e1 Errno) { r1, _, e1 = syscall6(uintptr(unsafe.Pointer(&libc_getsystemcfg)), 1, uintptr(label), 0, 0, 0, 0, 0) return } // THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT func callumount(_p0 uintptr) (r1 uintptr, e1 Errno) { r1, _, e1 = syscall6(uintptr(unsafe.Pointer(&libc_umount)), 1, _p0, 0, 0, 0, 0, 0) return } // THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT func callgetrlimit(resource int, rlim uintptr) (r1 uintptr, e1 Errno) { r1, _, e1 = rawSyscall6(uintptr(unsafe.Pointer(&libc_getrlimit)), 2, uintptr(resource), rlim, 0, 0, 0, 0) return } // THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT func calllseek(fd int, offset int64, whence int) (r1 uintptr, e1 Errno) { r1, _, e1 = syscall6(uintptr(unsafe.Pointer(&libc_lseek)), 3, uintptr(fd), uintptr(offset), uintptr(whence), 0, 0, 0) return } // THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT func callmmap64(addr uintptr, length uintptr, prot int, flags int, fd int, offset int64) (r1 uintptr, e1 Errno) { r1, _, e1 = syscall6(uintptr(unsafe.Pointer(&libc_mmap64)), 6, addr, length, uintptr(prot), uintptr(flags), uintptr(fd), uintptr(offset)) return } dependencies/pkg/mod/golang.org/x/sys@v0.26.0/unix/fdset.go0000644000000000000000000000141515107355264022246 0ustar rootroot// Copyright 2019 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:build aix || darwin || dragonfly || freebsd || linux || netbsd || openbsd || solaris || zos package unix // Set adds fd to the set fds. func (fds *FdSet) Set(fd int) { fds.Bits[fd/NFDBITS] |= (1 << (uintptr(fd) % NFDBITS)) } // Clear removes fd from the set fds. func (fds *FdSet) Clear(fd int) { fds.Bits[fd/NFDBITS] &^= (1 << (uintptr(fd) % NFDBITS)) } // IsSet returns whether fd is in the set fds. func (fds *FdSet) IsSet(fd int) bool { return fds.Bits[fd/NFDBITS]&(1<<(uintptr(fd)%NFDBITS)) != 0 } // Zero clears the set fds. func (fds *FdSet) Zero() { for i := range fds.Bits { fds.Bits[i] = 0 } } dependencies/pkg/mod/golang.org/x/sys@v0.26.0/unix/syscall_netbsd_test.go0000644000000000000000000000347515107355264025221 0ustar rootroot// Copyright 2018 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_test import ( "os" "testing" "golang.org/x/sys/unix" ) // stringsFromByteSlice converts a sequence of attributes to a []string. // On NetBSD, each entry consists of a single byte containing the length // of the attribute name, followed by the attribute name. // The name is _not_ NULL-terminated. func stringsFromByteSlice(buf []byte) []string { var result []string i := 0 for i < len(buf) { next := i + 1 + int(buf[i]) result = append(result, string(buf[i+1:next])) i = next } return result } func TestIoctlPtmget(t *testing.T) { fd, err := unix.Open("/dev/ptmx", unix.O_NOCTTY|unix.O_RDWR, 0666) if err != nil { t.Skip("failed to open /dev/ptmx, skipping test") } defer unix.Close(fd) ptm, err := unix.IoctlGetPtmget(fd, unix.TIOCPTSNAME) if err != nil { t.Fatalf("IoctlGetPtmget: %v\n", err) } t.Logf("sfd = %v, ptsname = %v", ptm.Sfd, unix.ByteSliceToString(ptm.Sn[:])) } func TestStatvfs(t *testing.T) { chtmpdir(t) touch(t, "file1") var statvfs1, statvfs2 unix.Statvfs_t err := unix.Statvfs("file1", &statvfs1) if err != nil { t.Fatalf("Statvfs: %v", err) } f, err := os.Open("file1") if err != nil { t.Fatal(err) } defer f.Close() err = unix.Fstatvfs(int(f.Fd()), &statvfs2) if err != nil { t.Fatalf("Fstatvfs: %v", err) } if statvfs2.Fsid != statvfs1.Fsid { t.Errorf("Fstatvfs: got fsid %v, expected %v", statvfs2.Fsid, statvfs1.Fsid) } if statvfs2.Owner != statvfs1.Owner { t.Errorf("Fstatvfs: got owner %v, expected %v", statvfs2.Owner, statvfs1.Owner) } if statvfs2.Fstypename != statvfs1.Fstypename { t.Errorf("Fstatvfs: got fstypename %s, expected %s", statvfs2.Fstypename, statvfs1.Fstypename) } } dependencies/pkg/mod/golang.org/x/sys@v0.26.0/unix/ztypes_freebsd_riscv64.go0000644000000000000000000002276115107355264025560 0ustar rootroot// cgo -godefs -- -fsigned-char types_freebsd.go | go run mkpost.go // Code generated by the command above; see README.md. DO NOT EDIT. //go:build riscv64 && freebsd 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 Time_t 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 ( _statfsVersion = 0x20140518 _dirblksiz = 0x400 ) type Stat_t struct { Dev uint64 Ino uint64 Nlink uint64 Mode uint16 _0 int16 Uid uint32 Gid uint32 _1 int32 Rdev uint64 Atim Timespec Mtim Timespec Ctim Timespec Btim Timespec Size int64 Blocks int64 Blksize int32 Flags uint32 Gen uint64 Spare [10]uint64 } 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]byte Mntfromname [1024]byte Mntonname [1024]byte } type Flock_t struct { Start int64 Len int64 Pid int32 Type int16 Whence int16 Sysid int32 _ [4]byte } type Dirent struct { Fileno uint64 Off int64 Reclen uint16 Type uint8 Pad0 uint8 Namlen uint16 Pad1 uint16 Name [256]int8 } type Fsid struct { Val [2]int32 } const ( PathMax = 0x400 ) 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 Xucred struct { Version uint32 Uid uint32 Ngroups int16 Groups [16]uint32 _ *byte } 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 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 SizeofXucred = 0x58 SizeofLinger = 0x8 SizeofIovec = 0x10 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 PtraceLwpInfoStruct struct { Lwpid int32 Event int32 Flags int32 Sigmask Sigset_t Siglist Sigset_t Siginfo __PtraceSiginfo Tdname [20]int8 Child_pid int32 Syscall_code uint32 Syscall_narg uint32 } type __Siginfo struct { Signo int32 Errno int32 Code int32 Pid int32 Uid uint32 Status int32 Addr *byte Value [8]byte _ [40]byte } type __PtraceSiginfo struct { Signo int32 Errno int32 Code int32 Pid int32 Uid uint32 Status int32 Addr uintptr Value [8]byte _ [40]byte } type Sigset_t struct { Val [4]uint32 } type Reg struct { Ra uint64 Sp uint64 Gp uint64 Tp uint64 T [7]uint64 S [12]uint64 A [8]uint64 Sepc uint64 Sstatus uint64 } type FpReg struct { X [32][2]uint64 Fcsr uint64 } type FpExtendedPrecision struct{} type PtraceIoDesc struct { Op int32 Offs uintptr Addr *byte Len uint64 } type Kevent_t struct { Ident uint64 Filter int16 Flags uint16 Fflags uint32 Data int64 Udata *byte Ext [4]uint64 } type FdSet struct { 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 _ uint16 Data ifData } type IfMsghdr struct { Msglen uint16 Version uint8 Type uint8 Addrs int32 Flags int32 Index uint16 Data IfData } type ifData struct { Type uint8 Physical uint8 Addrlen uint8 Hdrlen uint8 Link_state uint8 Vhid uint8 Datalen uint16 Mtu uint32 Metric uint32 Baudrate uint64 Ipackets uint64 Ierrors uint64 Opackets uint64 Oerrors uint64 Collisions uint64 Ibytes uint64 Obytes uint64 Imcasts uint64 Omcasts uint64 Iqdrops uint64 Oqdrops uint64 Noproto uint64 Hwassist uint64 _ [8]byte _ [16]byte } 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 _ uint16 Metric int32 } type IfmaMsghdr struct { Msglen uint16 Version uint8 Type uint8 Addrs int32 Flags int32 Index uint16 _ uint16 } 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 _ uint16 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 Nhidx uint64 Filler [2]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 Insns *BpfInsn } type BpfInsn struct { Code uint16 Jt uint8 Jf uint8 K uint32 } type BpfHdr struct { Tstamp Timeval Caplen uint32 Datalen uint32 Hdrlen uint16 _ [6]byte } type BpfZbufHeader struct { Kernel_gen uint32 Kernel_len uint32 User_gen uint32 _ [5]uint32 } type Termios struct { Iflag uint32 Oflag uint32 Cflag uint32 Lflag uint32 Cc [20]uint8 Ispeed uint32 Ospeed uint32 } type Winsize struct { Row uint16 Col uint16 Xpixel uint16 Ypixel uint16 } const ( AT_FDCWD = -0x64 AT_EACCESS = 0x100 AT_SYMLINK_NOFOLLOW = 0x200 AT_SYMLINK_FOLLOW = 0x400 AT_REMOVEDIR = 0x800 ) type PollFd struct { Fd int32 Events int16 Revents int16 } const ( POLLERR = 0x8 POLLHUP = 0x10 POLLIN = 0x1 POLLINIGNEOF = 0x2000 POLLNVAL = 0x20 POLLOUT = 0x4 POLLPRI = 0x2 POLLRDBAND = 0x80 POLLRDNORM = 0x40 POLLWRBAND = 0x100 POLLWRNORM = 0x4 POLLRDHUP = 0x4000 ) type CapRights struct { Rights [2]uint64 } type Utsname struct { Sysname [256]byte Nodename [256]byte Release [256]byte Version [256]byte Machine [256]byte } const SizeofClockinfo = 0x14 type Clockinfo struct { Hz int32 Tick int32 Spare int32 Stathz int32 Profhz int32 } dependencies/pkg/mod/golang.org/x/sys@v0.26.0/unix/types_solaris.go0000644000000000000000000001620715107355264024046 0ustar rootroot// 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. //go: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 #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)]; }; // Solaris and the major illumos distributions ship a 3rd party tun/tap driver // from https://github.com/kaizawa/tuntap // It supports a pair of IOCTLs defined at // https://github.com/kaizawa/tuntap/blob/master/if_tun.h#L91-L93 #define TUNNEWPPA (('T'<<16) | 0x0001) #define TUNSETPPA (('T'<<16) | 0x0002) */ import "C" // Machine characteristics 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 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 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 SizeofIovec = C.sizeof_struct_iovec 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 ) // 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 // Terminal handling type Termios C.struct_termios type Termio C.struct_termio type Winsize C.struct_winsize // poll type PollFd C.struct_pollfd const ( POLLERR = C.POLLERR POLLHUP = C.POLLHUP POLLIN = C.POLLIN POLLNVAL = C.POLLNVAL POLLOUT = C.POLLOUT POLLPRI = C.POLLPRI POLLRDBAND = C.POLLRDBAND POLLRDNORM = C.POLLRDNORM POLLWRBAND = C.POLLWRBAND POLLWRNORM = C.POLLWRNORM ) // Event Ports type fileObj C.struct_file_obj type portEvent C.struct_port_event const ( PORT_SOURCE_AIO = C.PORT_SOURCE_AIO PORT_SOURCE_TIMER = C.PORT_SOURCE_TIMER PORT_SOURCE_USER = C.PORT_SOURCE_USER PORT_SOURCE_FD = C.PORT_SOURCE_FD PORT_SOURCE_ALERT = C.PORT_SOURCE_ALERT PORT_SOURCE_MQ = C.PORT_SOURCE_MQ PORT_SOURCE_FILE = C.PORT_SOURCE_FILE PORT_ALERT_SET = C.PORT_ALERT_SET PORT_ALERT_UPDATE = C.PORT_ALERT_UPDATE PORT_ALERT_INVALID = C.PORT_ALERT_INVALID FILE_ACCESS = C.FILE_ACCESS FILE_MODIFIED = C.FILE_MODIFIED FILE_ATTRIB = C.FILE_ATTRIB FILE_TRUNC = C.FILE_TRUNC FILE_NOFOLLOW = C.FILE_NOFOLLOW FILE_DELETE = C.FILE_DELETE FILE_RENAME_TO = C.FILE_RENAME_TO FILE_RENAME_FROM = C.FILE_RENAME_FROM UNMOUNTED = C.UNMOUNTED MOUNTEDOVER = C.MOUNTEDOVER FILE_EXCEPTION = C.FILE_EXCEPTION ) // STREAMS and Tun const ( TUNNEWPPA = C.TUNNEWPPA TUNSETPPA = C.TUNSETPPA // sys/stropts.h: I_STR = C.I_STR I_POP = C.I_POP I_PUSH = C.I_PUSH I_LINK = C.I_LINK I_UNLINK = C.I_UNLINK I_PLINK = C.I_PLINK I_PUNLINK = C.I_PUNLINK // sys/sockio.h: IF_UNITSEL = C.IF_UNITSEL ) type strbuf C.struct_strbuf type Strioctl C.struct_strioctl type Lifreq C.struct_lifreq dependencies/pkg/mod/golang.org/x/sys@v0.26.0/unix/zsysnum_netbsd_386.go0000644000000000000000000006334615107355264024643 0ustar rootroot// go run mksysnum.go http://cvsweb.netbsd.org/bsdweb.cgi/~checkout~/src/sys/kern/syscalls.master // Code generated by the command above; see README.md. DO NOT EDIT. //go: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_MSYNC = 277 // { int|sys|13|msync(void *addr, size_t len, int flags); } 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); } ) dependencies/pkg/mod/golang.org/x/sys@v0.26.0/unix/mksysnum.go0000644000000000000000000001137015107355264023030 0ustar rootroot// Copyright 2018 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:build ignore // Generate system call table for DragonFly, NetBSD, // FreeBSD or OpenBSD from master list (for example, // /usr/src/sys/kern/syscalls.master or sys/syscall.h). package main import ( "bufio" "fmt" "io" "net/http" "os" "regexp" "strings" ) var ( goos, goarch string ) // cmdLine returns this programs's commandline arguments func cmdLine() string { return "go run mksysnum.go " + strings.Join(os.Args[1:], " ") } // goBuildTags returns build tags in the go:build format. func goBuildTags() string { return fmt.Sprintf("%s && %s", goarch, goos) } func checkErr(err error) { if err != nil { fmt.Fprintf(os.Stderr, "%v\n", err) os.Exit(1) } } // source string and substring slice for regexp type re struct { str string // source string sub []string // matched sub-string } // Match performs regular expression match func (r *re) Match(exp string) bool { r.sub = regexp.MustCompile(exp).FindStringSubmatch(r.str) if r.sub != nil { return true } return false } // fetchFile fetches a text file from URL func fetchFile(URL string) io.Reader { resp, err := http.Get(URL) checkErr(err) defer resp.Body.Close() body, err := io.ReadAll(resp.Body) checkErr(err) return strings.NewReader(string(body)) } // readFile reads a text file from path func readFile(path string) io.Reader { file, err := os.Open(os.Args[1]) checkErr(err) return file } func format(name, num, proto string) string { name = strings.ToUpper(name) // There are multiple entries for enosys and nosys, so comment them out. nm := re{str: name} if nm.Match(`^SYS_E?NOSYS$`) { name = fmt.Sprintf("// %s", name) } if name == `SYS_SYS_EXIT` { name = `SYS_EXIT` } return fmt.Sprintf(" %s = %s; // %s\n", name, num, proto) } func main() { // Get the OS (using GOOS_TARGET if it exist) goos = os.Getenv("GOOS_TARGET") if goos == "" { goos = os.Getenv("GOOS") } // Get the architecture (using GOARCH_TARGET if it exists) goarch = os.Getenv("GOARCH_TARGET") if goarch == "" { goarch = os.Getenv("GOARCH") } // Check if GOOS and GOARCH environment variables are defined if goarch == "" || goos == "" { fmt.Fprintf(os.Stderr, "GOARCH or GOOS not defined in environment\n") os.Exit(1) } file := strings.TrimSpace(os.Args[1]) var syscalls io.Reader if strings.HasPrefix(file, "https://") || strings.HasPrefix(file, "http://") { // Download syscalls.master file syscalls = fetchFile(file) } else { syscalls = readFile(file) } var text, line string s := bufio.NewScanner(syscalls) for s.Scan() { t := re{str: line} if t.Match(`^(.*)\\$`) { // Handle continuation line = t.sub[1] line += strings.TrimLeft(s.Text(), " \t") } else { // New line line = s.Text() } t = re{str: line} if t.Match(`\\$`) { continue } t = re{str: line} switch goos { case "dragonfly": if t.Match(`^([0-9]+)\s+STD\s+({ \S+\s+(\w+).*)$`) { num, proto := t.sub[1], t.sub[2] name := fmt.Sprintf("SYS_%s", t.sub[3]) text += format(name, num, proto) } case "freebsd": if t.Match(`^([0-9]+)\s+\S+\s+(?:(?:NO)?STD)\s+({ \S+\s+(\w+).*)$`) { num, proto := t.sub[1], t.sub[2] name := fmt.Sprintf("SYS_%s", t.sub[3]) // remove whitespace around parens proto = regexp.MustCompile(`\( `).ReplaceAllString(proto, "(") proto = regexp.MustCompile(` \)`).ReplaceAllString(proto, ")") // remove SAL 2.0 annotations proto = regexp.MustCompile(`_In[^ ]*[_)] `).ReplaceAllString(proto, "") proto = regexp.MustCompile(`_Out[^ ]*[_)] `).ReplaceAllString(proto, "") // remove double spaces at the source proto = regexp.MustCompile(`\s{2}`).ReplaceAllString(proto, " ") text += format(name, num, proto) } case "openbsd": if t.Match(`^([0-9]+)\s+STD\s+(NOLOCK\s+)?({ \S+\s+\*?(\w+).*)$`) { num, proto, name := t.sub[1], t.sub[3], t.sub[4] text += format(name, num, proto) } case "netbsd": if t.Match(`^([0-9]+)\s+((STD)|(NOERR))\s+(RUMP\s+)?({\s+\S+\s*\*?\s*\|(\S+)\|(\S*)\|(\w+).*\s+})(\s+(\S+))?$`) { num, proto, compat := t.sub[1], t.sub[6], t.sub[8] name := t.sub[7] + "_" + t.sub[9] if t.sub[11] != "" { name = t.sub[7] + "_" + t.sub[11] } name = strings.ToUpper(name) if compat == "" || compat == "13" || compat == "30" || compat == "50" { text += fmt.Sprintf(" %s = %s; // %s\n", name, num, proto) } } default: fmt.Fprintf(os.Stderr, "unrecognized GOOS=%s\n", goos) os.Exit(1) } } err := s.Err() checkErr(err) fmt.Printf(template, cmdLine(), goBuildTags(), text) } const template = `// %s // Code generated by the command above; see README.md. DO NOT EDIT. //go:build %s package unix const( %s)` dependencies/pkg/mod/golang.org/x/sys@v0.26.0/unix/ztypes_linux_mips64.go0000644000000000000000000003021315107355264025116 0ustar rootroot// cgo -godefs -objdir=/tmp/mips64/cgo -- -Wall -Werror -static -I/tmp/mips64/include linux/types.go | go run mkpost.go // Code generated by the command above; see README.md. DO NOT EDIT. //go:build mips64 && linux package unix const ( SizeofPtr = 0x8 SizeofLong = 0x8 ) type ( _C_long int64 ) type Timespec struct { Sec int64 Nsec int64 } type Timeval struct { Sec int64 Usec int64 } type Timex struct { Modes uint32 Offset int64 Freq int64 Maxerror int64 Esterror int64 Status int32 Constant int64 Precision int64 Tolerance int64 Time Timeval Tick int64 Ppsfreq int64 Jitter int64 Shift int32 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 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 Dirent struct { Ino uint64 Off int64 Reclen uint16 Type uint8 Name [256]int8 _ [5]byte } type Flock_t struct { Type int16 Whence int16 Start int64 Len int64 Pid int32 _ [4]byte } type DmNameList struct { Dev uint64 Next uint32 Name [0]byte _ [4]byte } const ( FADV_DONTNEED = 0x4 FADV_NOREUSE = 0x5 ) type RawSockaddrNFCLLCP struct { Sa_family uint16 Dev_idx uint32 Target_idx uint32 Nfc_protocol uint32 Dsap uint8 Ssap uint8 Service_name [63]uint8 Service_name_len uint64 } type RawSockaddr struct { Family uint16 Data [14]int8 } type RawSockaddrAny struct { Addr RawSockaddr Pad [96]int8 } type Iovec struct { Base *byte Len uint64 } type Msghdr struct { Name *byte Namelen uint32 Iov *Iovec Iovlen uint64 Control *byte Controllen uint64 Flags int32 _ [4]byte } type Cmsghdr struct { Len uint64 Level int32 Type int32 } type ifreq struct { Ifrn [16]byte Ifru [24]byte } const ( SizeofSockaddrNFCLLCP = 0x60 SizeofIovec = 0x10 SizeofMsghdr = 0x38 SizeofCmsghdr = 0x10 ) const ( SizeofSockFprog = 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 Totalhigh uint64 Freehigh uint64 Unit uint32 _ [0]int8 _ [4]byte } type Ustat_t struct { Tfree int32 Tinode uint64 Fname [6]int8 Fpack [6]int8 _ [4]byte } type EpollEvent struct { Events uint32 _ int32 Fd int32 Pad int32 } const ( OPEN_TREE_CLOEXEC = 0x80000 ) const ( POLLRDHUP = 0x2000 ) type Sigset_t struct { Val [16]uint64 } const _C__NSIG = 0x80 const ( SIG_BLOCK = 0x1 SIG_UNBLOCK = 0x2 SIG_SETMASK = 0x3 ) type Siginfo struct { Signo int32 Code int32 Errno int32 _ int32 _ [112]byte } type Termios struct { Iflag uint32 Oflag uint32 Cflag uint32 Lflag uint32 Line uint8 Cc [23]uint8 Ispeed uint32 Ospeed uint32 } type Taskstats struct { Version uint16 Ac_exitcode uint32 Ac_flag uint8 Ac_nice uint8 Cpu_count uint64 Cpu_delay_total uint64 Blkio_count uint64 Blkio_delay_total uint64 Swapin_count uint64 Swapin_delay_total uint64 Cpu_run_real_total uint64 Cpu_run_virtual_total uint64 Ac_comm [32]int8 Ac_sched uint8 Ac_pad [3]uint8 _ [4]byte Ac_uid uint32 Ac_gid uint32 Ac_pid uint32 Ac_ppid uint32 Ac_btime uint32 Ac_etime uint64 Ac_utime uint64 Ac_stime uint64 Ac_minflt uint64 Ac_majflt uint64 Coremem uint64 Virtmem uint64 Hiwater_rss uint64 Hiwater_vm uint64 Read_char uint64 Write_char uint64 Read_syscalls uint64 Write_syscalls uint64 Read_bytes uint64 Write_bytes uint64 Cancelled_write_bytes uint64 Nvcsw uint64 Nivcsw uint64 Ac_utimescaled uint64 Ac_stimescaled uint64 Cpu_scaled_run_real_total uint64 Freepages_count uint64 Freepages_delay_total uint64 Thrashing_count uint64 Thrashing_delay_total uint64 Ac_btime64 uint64 Compact_count uint64 Compact_delay_total uint64 Ac_tgid uint32 Ac_tgetime uint64 Ac_exe_dev uint64 Ac_exe_inode uint64 Wpcopy_count uint64 Wpcopy_delay_total uint64 Irq_count uint64 Irq_delay_total uint64 } type cpuMask uint64 const ( _NCPUBITS = 0x40 ) const ( CBitFieldMaskBit0 = 0x8000000000000000 CBitFieldMaskBit1 = 0x4000000000000000 CBitFieldMaskBit2 = 0x2000000000000000 CBitFieldMaskBit3 = 0x1000000000000000 CBitFieldMaskBit4 = 0x800000000000000 CBitFieldMaskBit5 = 0x400000000000000 CBitFieldMaskBit6 = 0x200000000000000 CBitFieldMaskBit7 = 0x100000000000000 CBitFieldMaskBit8 = 0x80000000000000 CBitFieldMaskBit9 = 0x40000000000000 CBitFieldMaskBit10 = 0x20000000000000 CBitFieldMaskBit11 = 0x10000000000000 CBitFieldMaskBit12 = 0x8000000000000 CBitFieldMaskBit13 = 0x4000000000000 CBitFieldMaskBit14 = 0x2000000000000 CBitFieldMaskBit15 = 0x1000000000000 CBitFieldMaskBit16 = 0x800000000000 CBitFieldMaskBit17 = 0x400000000000 CBitFieldMaskBit18 = 0x200000000000 CBitFieldMaskBit19 = 0x100000000000 CBitFieldMaskBit20 = 0x80000000000 CBitFieldMaskBit21 = 0x40000000000 CBitFieldMaskBit22 = 0x20000000000 CBitFieldMaskBit23 = 0x10000000000 CBitFieldMaskBit24 = 0x8000000000 CBitFieldMaskBit25 = 0x4000000000 CBitFieldMaskBit26 = 0x2000000000 CBitFieldMaskBit27 = 0x1000000000 CBitFieldMaskBit28 = 0x800000000 CBitFieldMaskBit29 = 0x400000000 CBitFieldMaskBit30 = 0x200000000 CBitFieldMaskBit31 = 0x100000000 CBitFieldMaskBit32 = 0x80000000 CBitFieldMaskBit33 = 0x40000000 CBitFieldMaskBit34 = 0x20000000 CBitFieldMaskBit35 = 0x10000000 CBitFieldMaskBit36 = 0x8000000 CBitFieldMaskBit37 = 0x4000000 CBitFieldMaskBit38 = 0x2000000 CBitFieldMaskBit39 = 0x1000000 CBitFieldMaskBit40 = 0x800000 CBitFieldMaskBit41 = 0x400000 CBitFieldMaskBit42 = 0x200000 CBitFieldMaskBit43 = 0x100000 CBitFieldMaskBit44 = 0x80000 CBitFieldMaskBit45 = 0x40000 CBitFieldMaskBit46 = 0x20000 CBitFieldMaskBit47 = 0x10000 CBitFieldMaskBit48 = 0x8000 CBitFieldMaskBit49 = 0x4000 CBitFieldMaskBit50 = 0x2000 CBitFieldMaskBit51 = 0x1000 CBitFieldMaskBit52 = 0x800 CBitFieldMaskBit53 = 0x400 CBitFieldMaskBit54 = 0x200 CBitFieldMaskBit55 = 0x100 CBitFieldMaskBit56 = 0x80 CBitFieldMaskBit57 = 0x40 CBitFieldMaskBit58 = 0x20 CBitFieldMaskBit59 = 0x10 CBitFieldMaskBit60 = 0x8 CBitFieldMaskBit61 = 0x4 CBitFieldMaskBit62 = 0x2 CBitFieldMaskBit63 = 0x1 ) type SockaddrStorage struct { Family uint16 Data [118]byte _ uint64 } type HDGeometry struct { Heads uint8 Sectors uint8 Cylinders uint16 Start uint64 } 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 TpacketHdr struct { Status uint64 Len uint32 Snaplen uint32 Mac uint16 Net uint16 Sec uint32 Usec uint32 _ [4]byte } const ( SizeofTpacketHdr = 0x20 ) type RTCPLLInfo struct { Ctrl int32 Value int32 Max int32 Min int32 Posmult int32 Negmult int32 Clock int64 } type BlkpgPartition struct { Start int64 Length int64 Pno int32 Devname [64]uint8 Volname [64]uint8 _ [4]byte } const ( BLKPG = 0x20001269 ) type CryptoUserAlg struct { Name [64]int8 Driver_name [64]int8 Module_name [64]int8 Type uint32 Mask uint32 Refcnt uint32 Flags uint32 } type CryptoStatAEAD struct { Type [64]int8 Encrypt_cnt uint64 Encrypt_tlen uint64 Decrypt_cnt uint64 Decrypt_tlen uint64 Err_cnt uint64 } type CryptoStatAKCipher struct { Type [64]int8 Encrypt_cnt uint64 Encrypt_tlen uint64 Decrypt_cnt uint64 Decrypt_tlen uint64 Verify_cnt uint64 Sign_cnt uint64 Err_cnt uint64 } type CryptoStatCipher struct { Type [64]int8 Encrypt_cnt uint64 Encrypt_tlen uint64 Decrypt_cnt uint64 Decrypt_tlen uint64 Err_cnt uint64 } type CryptoStatCompress struct { Type [64]int8 Compress_cnt uint64 Compress_tlen uint64 Decompress_cnt uint64 Decompress_tlen uint64 Err_cnt uint64 } type CryptoStatHash struct { Type [64]int8 Hash_cnt uint64 Hash_tlen uint64 Err_cnt uint64 } type CryptoStatKPP struct { Type [64]int8 Setsecret_cnt uint64 Generate_public_key_cnt uint64 Compute_shared_secret_cnt uint64 Err_cnt uint64 } type CryptoStatRNG struct { Type [64]int8 Generate_cnt uint64 Generate_tlen uint64 Seed_cnt uint64 Err_cnt uint64 } type CryptoStatLarval struct { Type [64]int8 } type CryptoReportLarval struct { Type [64]int8 } type CryptoReportHash struct { Type [64]int8 Blocksize uint32 Digestsize uint32 } type CryptoReportCipher struct { Type [64]int8 Blocksize uint32 Min_keysize uint32 Max_keysize uint32 } type CryptoReportBlkCipher struct { Type [64]int8 Geniv [64]int8 Blocksize uint32 Min_keysize uint32 Max_keysize uint32 Ivsize uint32 } type CryptoReportAEAD struct { Type [64]int8 Geniv [64]int8 Blocksize uint32 Maxauthsize uint32 Ivsize uint32 } type CryptoReportComp struct { Type [64]int8 } type CryptoReportRNG struct { Type [64]int8 Seedsize uint32 } type CryptoReportAKCipher struct { Type [64]int8 } type CryptoReportKPP struct { Type [64]int8 } type CryptoReportAcomp struct { Type [64]int8 } type LoopInfo struct { Number int32 Device uint32 Inode uint64 Rdevice uint32 Offset int32 Encrypt_type int32 Encrypt_key_size int32 Flags int32 Name [64]int8 Encrypt_key [32]uint8 Init [2]uint64 Reserved [4]int8 _ [4]byte } type TIPCSubscr struct { Seq TIPCServiceRange Timeout uint32 Filter uint32 Handle [8]int8 } type TIPCSIOCLNReq struct { Peer uint32 Id uint32 Linkname [68]int8 } type TIPCSIOCNodeIDReq struct { Peer uint32 Id [16]int8 } type PPSKInfo struct { Assert_sequence uint32 Clear_sequence uint32 Assert_tu PPSKTime Clear_tu PPSKTime Current_mode int32 _ [4]byte } const ( PPS_GETPARAMS = 0x400870a1 PPS_SETPARAMS = 0x800870a2 PPS_GETCAP = 0x400870a3 PPS_FETCH = 0xc00870a4 ) const ( PIDFD_NONBLOCK = 0x80 ) type SysvIpcPerm struct { Key int32 Uid uint32 Gid uint32 Cuid uint32 Cgid uint32 Mode uint32 _ [0]uint8 Seq uint16 _ uint16 _ uint64 _ uint64 } type SysvShmDesc struct { Perm SysvIpcPerm Segsz uint64 Atime int64 Dtime int64 Ctime int64 Cpid int32 Lpid int32 Nattch uint64 _ uint64 _ uint64 } dependencies/pkg/mod/golang.org/x/sys@v0.26.0/unix/asm_bsd_386.s0000644000000000000000000000127015107355264023005 0ustar rootroot// Copyright 2021 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:build (freebsd || netbsd || openbsd) && gc #include "textflag.h" // System call support for 386 BSD // 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) dependencies/pkg/mod/golang.org/x/sys@v0.26.0/unix/ztypes_netbsd_amd64.go0000644000000000000000000002323115107355264025031 0ustar rootroot// cgo -godefs types_netbsd.go | go run mkpost.go // Code generated by the command above; see README.md. DO NOT EDIT. //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 _ [4]byte Ino uint64 Nlink uint32 Uid uint32 Gid uint32 _ [4]byte Rdev uint64 Atim Timespec Mtim Timespec Ctim Timespec Btim Timespec Size int64 Blocks int64 Blksize uint32 Flags uint32 Gen uint32 Spare [2]uint32 _ [4]byte } type Statfs_t [0]byte type Statvfs_t struct { Flag uint64 Bsize uint64 Frsize uint64 Iosize uint64 Blocks uint64 Bfree uint64 Bavail uint64 Bresvd uint64 Files uint64 Ffree uint64 Favail uint64 Fresvd uint64 Syncreads uint64 Syncwrites uint64 Asyncreads uint64 Asyncwrites uint64 Fsidx Fsid Fsid uint64 Namemax uint64 Owner uint32 Spare [4]uint32 Fstypename [32]byte Mntonname [1024]byte Mntfromname [1024]byte _ [4]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 } const ( PathMax = 0x400 ) const ( ST_WAIT = 0x1 ST_NOWAIT = 0x2 ) 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 [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 SizeofIovec = 0x10 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 Winsize struct { Row uint16 Col uint16 Xpixel uint16 Ypixel uint16 } type Ptmget struct { Cfd int32 Sfd int32 Cn [1024]byte Sn [1024]byte } const ( AT_FDCWD = -0x64 AT_EACCESS = 0x100 AT_SYMLINK_NOFOLLOW = 0x200 AT_SYMLINK_FOLLOW = 0x400 AT_REMOVEDIR = 0x800 ) type PollFd struct { Fd int32 Events int16 Revents int16 } const ( POLLERR = 0x8 POLLHUP = 0x10 POLLIN = 0x1 POLLNVAL = 0x20 POLLOUT = 0x4 POLLPRI = 0x2 POLLRDBAND = 0x80 POLLRDNORM = 0x40 POLLWRBAND = 0x100 POLLWRNORM = 0x4 ) 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 } type Utsname struct { Sysname [256]byte Nodename [256]byte Release [256]byte Version [256]byte Machine [256]byte } const SizeofUvmexp = 0x278 type Uvmexp struct { Pagesize int64 Pagemask int64 Pageshift int64 Npages int64 Free int64 Active int64 Inactive int64 Paging int64 Wired int64 Zeropages int64 Reserve_pagedaemon int64 Reserve_kernel int64 Freemin int64 Freetarg int64 Inactarg int64 Wiredmax int64 Nswapdev int64 Swpages int64 Swpginuse int64 Swpgonly int64 Nswget int64 Unused1 int64 Cpuhit int64 Cpumiss int64 Faults int64 Traps int64 Intrs int64 Swtch int64 Softs int64 Syscalls int64 Pageins int64 Swapins int64 Swapouts int64 Pgswapin int64 Pgswapout int64 Forks int64 Forks_ppwait int64 Forks_sharevm int64 Pga_zerohit int64 Pga_zeromiss int64 Zeroaborts int64 Fltnoram int64 Fltnoanon int64 Fltpgwait int64 Fltpgrele int64 Fltrelck int64 Fltrelckok int64 Fltanget int64 Fltanretry int64 Fltamcopy int64 Fltnamap int64 Fltnomap int64 Fltlget int64 Fltget int64 Flt_anon int64 Flt_acow int64 Flt_obj int64 Flt_prcopy int64 Flt_przero int64 Pdwoke int64 Pdrevs int64 Unused4 int64 Pdfreed int64 Pdscans int64 Pdanscan int64 Pdobscan int64 Pdreact int64 Pdbusy int64 Pdpageouts int64 Pdpending int64 Pddeact int64 Anonpages int64 Filepages int64 Execpages int64 Colorhit int64 Colormiss int64 Ncolors int64 Bootpages int64 Poolpages int64 } const SizeofClockinfo = 0x14 type Clockinfo struct { Hz int32 Tick int32 Tickadj int32 Stathz int32 Profhz int32 } dependencies/pkg/mod/golang.org/x/sys@v0.26.0/unix/zsyscall_openbsd_riscv64.s0000644000000000000000000006561515107355264025750 0ustar rootroot// go run mkasm.go openbsd riscv64 // Code generated by the command above; DO NOT EDIT. #include "textflag.h" TEXT libc_getgroups_trampoline<>(SB),NOSPLIT,$0-0 JMP libc_getgroups(SB) GLOBL ·libc_getgroups_trampoline_addr(SB), RODATA, $8 DATA ·libc_getgroups_trampoline_addr(SB)/8, $libc_getgroups_trampoline<>(SB) TEXT libc_setgroups_trampoline<>(SB),NOSPLIT,$0-0 JMP libc_setgroups(SB) GLOBL ·libc_setgroups_trampoline_addr(SB), RODATA, $8 DATA ·libc_setgroups_trampoline_addr(SB)/8, $libc_setgroups_trampoline<>(SB) TEXT libc_wait4_trampoline<>(SB),NOSPLIT,$0-0 JMP libc_wait4(SB) GLOBL ·libc_wait4_trampoline_addr(SB), RODATA, $8 DATA ·libc_wait4_trampoline_addr(SB)/8, $libc_wait4_trampoline<>(SB) TEXT libc_accept_trampoline<>(SB),NOSPLIT,$0-0 JMP libc_accept(SB) GLOBL ·libc_accept_trampoline_addr(SB), RODATA, $8 DATA ·libc_accept_trampoline_addr(SB)/8, $libc_accept_trampoline<>(SB) TEXT libc_bind_trampoline<>(SB),NOSPLIT,$0-0 JMP libc_bind(SB) GLOBL ·libc_bind_trampoline_addr(SB), RODATA, $8 DATA ·libc_bind_trampoline_addr(SB)/8, $libc_bind_trampoline<>(SB) TEXT libc_connect_trampoline<>(SB),NOSPLIT,$0-0 JMP libc_connect(SB) GLOBL ·libc_connect_trampoline_addr(SB), RODATA, $8 DATA ·libc_connect_trampoline_addr(SB)/8, $libc_connect_trampoline<>(SB) TEXT libc_socket_trampoline<>(SB),NOSPLIT,$0-0 JMP libc_socket(SB) GLOBL ·libc_socket_trampoline_addr(SB), RODATA, $8 DATA ·libc_socket_trampoline_addr(SB)/8, $libc_socket_trampoline<>(SB) TEXT libc_getsockopt_trampoline<>(SB),NOSPLIT,$0-0 JMP libc_getsockopt(SB) GLOBL ·libc_getsockopt_trampoline_addr(SB), RODATA, $8 DATA ·libc_getsockopt_trampoline_addr(SB)/8, $libc_getsockopt_trampoline<>(SB) TEXT libc_setsockopt_trampoline<>(SB),NOSPLIT,$0-0 JMP libc_setsockopt(SB) GLOBL ·libc_setsockopt_trampoline_addr(SB), RODATA, $8 DATA ·libc_setsockopt_trampoline_addr(SB)/8, $libc_setsockopt_trampoline<>(SB) TEXT libc_getpeername_trampoline<>(SB),NOSPLIT,$0-0 JMP libc_getpeername(SB) GLOBL ·libc_getpeername_trampoline_addr(SB), RODATA, $8 DATA ·libc_getpeername_trampoline_addr(SB)/8, $libc_getpeername_trampoline<>(SB) TEXT libc_getsockname_trampoline<>(SB),NOSPLIT,$0-0 JMP libc_getsockname(SB) GLOBL ·libc_getsockname_trampoline_addr(SB), RODATA, $8 DATA ·libc_getsockname_trampoline_addr(SB)/8, $libc_getsockname_trampoline<>(SB) TEXT libc_shutdown_trampoline<>(SB),NOSPLIT,$0-0 JMP libc_shutdown(SB) GLOBL ·libc_shutdown_trampoline_addr(SB), RODATA, $8 DATA ·libc_shutdown_trampoline_addr(SB)/8, $libc_shutdown_trampoline<>(SB) TEXT libc_socketpair_trampoline<>(SB),NOSPLIT,$0-0 JMP libc_socketpair(SB) GLOBL ·libc_socketpair_trampoline_addr(SB), RODATA, $8 DATA ·libc_socketpair_trampoline_addr(SB)/8, $libc_socketpair_trampoline<>(SB) TEXT libc_recvfrom_trampoline<>(SB),NOSPLIT,$0-0 JMP libc_recvfrom(SB) GLOBL ·libc_recvfrom_trampoline_addr(SB), RODATA, $8 DATA ·libc_recvfrom_trampoline_addr(SB)/8, $libc_recvfrom_trampoline<>(SB) TEXT libc_sendto_trampoline<>(SB),NOSPLIT,$0-0 JMP libc_sendto(SB) GLOBL ·libc_sendto_trampoline_addr(SB), RODATA, $8 DATA ·libc_sendto_trampoline_addr(SB)/8, $libc_sendto_trampoline<>(SB) TEXT libc_recvmsg_trampoline<>(SB),NOSPLIT,$0-0 JMP libc_recvmsg(SB) GLOBL ·libc_recvmsg_trampoline_addr(SB), RODATA, $8 DATA ·libc_recvmsg_trampoline_addr(SB)/8, $libc_recvmsg_trampoline<>(SB) TEXT libc_sendmsg_trampoline<>(SB),NOSPLIT,$0-0 JMP libc_sendmsg(SB) GLOBL ·libc_sendmsg_trampoline_addr(SB), RODATA, $8 DATA ·libc_sendmsg_trampoline_addr(SB)/8, $libc_sendmsg_trampoline<>(SB) TEXT libc_kevent_trampoline<>(SB),NOSPLIT,$0-0 JMP libc_kevent(SB) GLOBL ·libc_kevent_trampoline_addr(SB), RODATA, $8 DATA ·libc_kevent_trampoline_addr(SB)/8, $libc_kevent_trampoline<>(SB) TEXT libc_utimes_trampoline<>(SB),NOSPLIT,$0-0 JMP libc_utimes(SB) GLOBL ·libc_utimes_trampoline_addr(SB), RODATA, $8 DATA ·libc_utimes_trampoline_addr(SB)/8, $libc_utimes_trampoline<>(SB) TEXT libc_futimes_trampoline<>(SB),NOSPLIT,$0-0 JMP libc_futimes(SB) GLOBL ·libc_futimes_trampoline_addr(SB), RODATA, $8 DATA ·libc_futimes_trampoline_addr(SB)/8, $libc_futimes_trampoline<>(SB) TEXT libc_poll_trampoline<>(SB),NOSPLIT,$0-0 JMP libc_poll(SB) GLOBL ·libc_poll_trampoline_addr(SB), RODATA, $8 DATA ·libc_poll_trampoline_addr(SB)/8, $libc_poll_trampoline<>(SB) TEXT libc_madvise_trampoline<>(SB),NOSPLIT,$0-0 JMP libc_madvise(SB) GLOBL ·libc_madvise_trampoline_addr(SB), RODATA, $8 DATA ·libc_madvise_trampoline_addr(SB)/8, $libc_madvise_trampoline<>(SB) TEXT libc_mlock_trampoline<>(SB),NOSPLIT,$0-0 JMP libc_mlock(SB) GLOBL ·libc_mlock_trampoline_addr(SB), RODATA, $8 DATA ·libc_mlock_trampoline_addr(SB)/8, $libc_mlock_trampoline<>(SB) TEXT libc_mlockall_trampoline<>(SB),NOSPLIT,$0-0 JMP libc_mlockall(SB) GLOBL ·libc_mlockall_trampoline_addr(SB), RODATA, $8 DATA ·libc_mlockall_trampoline_addr(SB)/8, $libc_mlockall_trampoline<>(SB) TEXT libc_mprotect_trampoline<>(SB),NOSPLIT,$0-0 JMP libc_mprotect(SB) GLOBL ·libc_mprotect_trampoline_addr(SB), RODATA, $8 DATA ·libc_mprotect_trampoline_addr(SB)/8, $libc_mprotect_trampoline<>(SB) TEXT libc_msync_trampoline<>(SB),NOSPLIT,$0-0 JMP libc_msync(SB) GLOBL ·libc_msync_trampoline_addr(SB), RODATA, $8 DATA ·libc_msync_trampoline_addr(SB)/8, $libc_msync_trampoline<>(SB) TEXT libc_munlock_trampoline<>(SB),NOSPLIT,$0-0 JMP libc_munlock(SB) GLOBL ·libc_munlock_trampoline_addr(SB), RODATA, $8 DATA ·libc_munlock_trampoline_addr(SB)/8, $libc_munlock_trampoline<>(SB) TEXT libc_munlockall_trampoline<>(SB),NOSPLIT,$0-0 JMP libc_munlockall(SB) GLOBL ·libc_munlockall_trampoline_addr(SB), RODATA, $8 DATA ·libc_munlockall_trampoline_addr(SB)/8, $libc_munlockall_trampoline<>(SB) TEXT libc_pipe2_trampoline<>(SB),NOSPLIT,$0-0 JMP libc_pipe2(SB) GLOBL ·libc_pipe2_trampoline_addr(SB), RODATA, $8 DATA ·libc_pipe2_trampoline_addr(SB)/8, $libc_pipe2_trampoline<>(SB) TEXT libc_getdents_trampoline<>(SB),NOSPLIT,$0-0 JMP libc_getdents(SB) GLOBL ·libc_getdents_trampoline_addr(SB), RODATA, $8 DATA ·libc_getdents_trampoline_addr(SB)/8, $libc_getdents_trampoline<>(SB) TEXT libc_getcwd_trampoline<>(SB),NOSPLIT,$0-0 JMP libc_getcwd(SB) GLOBL ·libc_getcwd_trampoline_addr(SB), RODATA, $8 DATA ·libc_getcwd_trampoline_addr(SB)/8, $libc_getcwd_trampoline<>(SB) TEXT libc_getresuid_trampoline<>(SB),NOSPLIT,$0-0 JMP libc_getresuid(SB) GLOBL ·libc_getresuid_trampoline_addr(SB), RODATA, $8 DATA ·libc_getresuid_trampoline_addr(SB)/8, $libc_getresuid_trampoline<>(SB) TEXT libc_getresgid_trampoline<>(SB),NOSPLIT,$0-0 JMP libc_getresgid(SB) GLOBL ·libc_getresgid_trampoline_addr(SB), RODATA, $8 DATA ·libc_getresgid_trampoline_addr(SB)/8, $libc_getresgid_trampoline<>(SB) TEXT libc_ioctl_trampoline<>(SB),NOSPLIT,$0-0 JMP libc_ioctl(SB) GLOBL ·libc_ioctl_trampoline_addr(SB), RODATA, $8 DATA ·libc_ioctl_trampoline_addr(SB)/8, $libc_ioctl_trampoline<>(SB) TEXT libc_sysctl_trampoline<>(SB),NOSPLIT,$0-0 JMP libc_sysctl(SB) GLOBL ·libc_sysctl_trampoline_addr(SB), RODATA, $8 DATA ·libc_sysctl_trampoline_addr(SB)/8, $libc_sysctl_trampoline<>(SB) TEXT libc_fcntl_trampoline<>(SB),NOSPLIT,$0-0 JMP libc_fcntl(SB) GLOBL ·libc_fcntl_trampoline_addr(SB), RODATA, $8 DATA ·libc_fcntl_trampoline_addr(SB)/8, $libc_fcntl_trampoline<>(SB) TEXT libc_ppoll_trampoline<>(SB),NOSPLIT,$0-0 JMP libc_ppoll(SB) GLOBL ·libc_ppoll_trampoline_addr(SB), RODATA, $8 DATA ·libc_ppoll_trampoline_addr(SB)/8, $libc_ppoll_trampoline<>(SB) TEXT libc_access_trampoline<>(SB),NOSPLIT,$0-0 JMP libc_access(SB) GLOBL ·libc_access_trampoline_addr(SB), RODATA, $8 DATA ·libc_access_trampoline_addr(SB)/8, $libc_access_trampoline<>(SB) TEXT libc_adjtime_trampoline<>(SB),NOSPLIT,$0-0 JMP libc_adjtime(SB) GLOBL ·libc_adjtime_trampoline_addr(SB), RODATA, $8 DATA ·libc_adjtime_trampoline_addr(SB)/8, $libc_adjtime_trampoline<>(SB) TEXT libc_chdir_trampoline<>(SB),NOSPLIT,$0-0 JMP libc_chdir(SB) GLOBL ·libc_chdir_trampoline_addr(SB), RODATA, $8 DATA ·libc_chdir_trampoline_addr(SB)/8, $libc_chdir_trampoline<>(SB) TEXT libc_chflags_trampoline<>(SB),NOSPLIT,$0-0 JMP libc_chflags(SB) GLOBL ·libc_chflags_trampoline_addr(SB), RODATA, $8 DATA ·libc_chflags_trampoline_addr(SB)/8, $libc_chflags_trampoline<>(SB) TEXT libc_chmod_trampoline<>(SB),NOSPLIT,$0-0 JMP libc_chmod(SB) GLOBL ·libc_chmod_trampoline_addr(SB), RODATA, $8 DATA ·libc_chmod_trampoline_addr(SB)/8, $libc_chmod_trampoline<>(SB) TEXT libc_chown_trampoline<>(SB),NOSPLIT,$0-0 JMP libc_chown(SB) GLOBL ·libc_chown_trampoline_addr(SB), RODATA, $8 DATA ·libc_chown_trampoline_addr(SB)/8, $libc_chown_trampoline<>(SB) TEXT libc_chroot_trampoline<>(SB),NOSPLIT,$0-0 JMP libc_chroot(SB) GLOBL ·libc_chroot_trampoline_addr(SB), RODATA, $8 DATA ·libc_chroot_trampoline_addr(SB)/8, $libc_chroot_trampoline<>(SB) TEXT libc_clock_gettime_trampoline<>(SB),NOSPLIT,$0-0 JMP libc_clock_gettime(SB) GLOBL ·libc_clock_gettime_trampoline_addr(SB), RODATA, $8 DATA ·libc_clock_gettime_trampoline_addr(SB)/8, $libc_clock_gettime_trampoline<>(SB) TEXT libc_close_trampoline<>(SB),NOSPLIT,$0-0 JMP libc_close(SB) GLOBL ·libc_close_trampoline_addr(SB), RODATA, $8 DATA ·libc_close_trampoline_addr(SB)/8, $libc_close_trampoline<>(SB) TEXT libc_dup_trampoline<>(SB),NOSPLIT,$0-0 JMP libc_dup(SB) GLOBL ·libc_dup_trampoline_addr(SB), RODATA, $8 DATA ·libc_dup_trampoline_addr(SB)/8, $libc_dup_trampoline<>(SB) TEXT libc_dup2_trampoline<>(SB),NOSPLIT,$0-0 JMP libc_dup2(SB) GLOBL ·libc_dup2_trampoline_addr(SB), RODATA, $8 DATA ·libc_dup2_trampoline_addr(SB)/8, $libc_dup2_trampoline<>(SB) TEXT libc_dup3_trampoline<>(SB),NOSPLIT,$0-0 JMP libc_dup3(SB) GLOBL ·libc_dup3_trampoline_addr(SB), RODATA, $8 DATA ·libc_dup3_trampoline_addr(SB)/8, $libc_dup3_trampoline<>(SB) TEXT libc_exit_trampoline<>(SB),NOSPLIT,$0-0 JMP libc_exit(SB) GLOBL ·libc_exit_trampoline_addr(SB), RODATA, $8 DATA ·libc_exit_trampoline_addr(SB)/8, $libc_exit_trampoline<>(SB) TEXT libc_faccessat_trampoline<>(SB),NOSPLIT,$0-0 JMP libc_faccessat(SB) GLOBL ·libc_faccessat_trampoline_addr(SB), RODATA, $8 DATA ·libc_faccessat_trampoline_addr(SB)/8, $libc_faccessat_trampoline<>(SB) TEXT libc_fchdir_trampoline<>(SB),NOSPLIT,$0-0 JMP libc_fchdir(SB) GLOBL ·libc_fchdir_trampoline_addr(SB), RODATA, $8 DATA ·libc_fchdir_trampoline_addr(SB)/8, $libc_fchdir_trampoline<>(SB) TEXT libc_fchflags_trampoline<>(SB),NOSPLIT,$0-0 JMP libc_fchflags(SB) GLOBL ·libc_fchflags_trampoline_addr(SB), RODATA, $8 DATA ·libc_fchflags_trampoline_addr(SB)/8, $libc_fchflags_trampoline<>(SB) TEXT libc_fchmod_trampoline<>(SB),NOSPLIT,$0-0 JMP libc_fchmod(SB) GLOBL ·libc_fchmod_trampoline_addr(SB), RODATA, $8 DATA ·libc_fchmod_trampoline_addr(SB)/8, $libc_fchmod_trampoline<>(SB) TEXT libc_fchmodat_trampoline<>(SB),NOSPLIT,$0-0 JMP libc_fchmodat(SB) GLOBL ·libc_fchmodat_trampoline_addr(SB), RODATA, $8 DATA ·libc_fchmodat_trampoline_addr(SB)/8, $libc_fchmodat_trampoline<>(SB) TEXT libc_fchown_trampoline<>(SB),NOSPLIT,$0-0 JMP libc_fchown(SB) GLOBL ·libc_fchown_trampoline_addr(SB), RODATA, $8 DATA ·libc_fchown_trampoline_addr(SB)/8, $libc_fchown_trampoline<>(SB) TEXT libc_fchownat_trampoline<>(SB),NOSPLIT,$0-0 JMP libc_fchownat(SB) GLOBL ·libc_fchownat_trampoline_addr(SB), RODATA, $8 DATA ·libc_fchownat_trampoline_addr(SB)/8, $libc_fchownat_trampoline<>(SB) TEXT libc_flock_trampoline<>(SB),NOSPLIT,$0-0 JMP libc_flock(SB) GLOBL ·libc_flock_trampoline_addr(SB), RODATA, $8 DATA ·libc_flock_trampoline_addr(SB)/8, $libc_flock_trampoline<>(SB) TEXT libc_fpathconf_trampoline<>(SB),NOSPLIT,$0-0 JMP libc_fpathconf(SB) GLOBL ·libc_fpathconf_trampoline_addr(SB), RODATA, $8 DATA ·libc_fpathconf_trampoline_addr(SB)/8, $libc_fpathconf_trampoline<>(SB) TEXT libc_fstat_trampoline<>(SB),NOSPLIT,$0-0 JMP libc_fstat(SB) GLOBL ·libc_fstat_trampoline_addr(SB), RODATA, $8 DATA ·libc_fstat_trampoline_addr(SB)/8, $libc_fstat_trampoline<>(SB) TEXT libc_fstatat_trampoline<>(SB),NOSPLIT,$0-0 JMP libc_fstatat(SB) GLOBL ·libc_fstatat_trampoline_addr(SB), RODATA, $8 DATA ·libc_fstatat_trampoline_addr(SB)/8, $libc_fstatat_trampoline<>(SB) TEXT libc_fstatfs_trampoline<>(SB),NOSPLIT,$0-0 JMP libc_fstatfs(SB) GLOBL ·libc_fstatfs_trampoline_addr(SB), RODATA, $8 DATA ·libc_fstatfs_trampoline_addr(SB)/8, $libc_fstatfs_trampoline<>(SB) TEXT libc_fsync_trampoline<>(SB),NOSPLIT,$0-0 JMP libc_fsync(SB) GLOBL ·libc_fsync_trampoline_addr(SB), RODATA, $8 DATA ·libc_fsync_trampoline_addr(SB)/8, $libc_fsync_trampoline<>(SB) TEXT libc_ftruncate_trampoline<>(SB),NOSPLIT,$0-0 JMP libc_ftruncate(SB) GLOBL ·libc_ftruncate_trampoline_addr(SB), RODATA, $8 DATA ·libc_ftruncate_trampoline_addr(SB)/8, $libc_ftruncate_trampoline<>(SB) TEXT libc_getegid_trampoline<>(SB),NOSPLIT,$0-0 JMP libc_getegid(SB) GLOBL ·libc_getegid_trampoline_addr(SB), RODATA, $8 DATA ·libc_getegid_trampoline_addr(SB)/8, $libc_getegid_trampoline<>(SB) TEXT libc_geteuid_trampoline<>(SB),NOSPLIT,$0-0 JMP libc_geteuid(SB) GLOBL ·libc_geteuid_trampoline_addr(SB), RODATA, $8 DATA ·libc_geteuid_trampoline_addr(SB)/8, $libc_geteuid_trampoline<>(SB) TEXT libc_getgid_trampoline<>(SB),NOSPLIT,$0-0 JMP libc_getgid(SB) GLOBL ·libc_getgid_trampoline_addr(SB), RODATA, $8 DATA ·libc_getgid_trampoline_addr(SB)/8, $libc_getgid_trampoline<>(SB) TEXT libc_getpgid_trampoline<>(SB),NOSPLIT,$0-0 JMP libc_getpgid(SB) GLOBL ·libc_getpgid_trampoline_addr(SB), RODATA, $8 DATA ·libc_getpgid_trampoline_addr(SB)/8, $libc_getpgid_trampoline<>(SB) TEXT libc_getpgrp_trampoline<>(SB),NOSPLIT,$0-0 JMP libc_getpgrp(SB) GLOBL ·libc_getpgrp_trampoline_addr(SB), RODATA, $8 DATA ·libc_getpgrp_trampoline_addr(SB)/8, $libc_getpgrp_trampoline<>(SB) TEXT libc_getpid_trampoline<>(SB),NOSPLIT,$0-0 JMP libc_getpid(SB) GLOBL ·libc_getpid_trampoline_addr(SB), RODATA, $8 DATA ·libc_getpid_trampoline_addr(SB)/8, $libc_getpid_trampoline<>(SB) TEXT libc_getppid_trampoline<>(SB),NOSPLIT,$0-0 JMP libc_getppid(SB) GLOBL ·libc_getppid_trampoline_addr(SB), RODATA, $8 DATA ·libc_getppid_trampoline_addr(SB)/8, $libc_getppid_trampoline<>(SB) TEXT libc_getpriority_trampoline<>(SB),NOSPLIT,$0-0 JMP libc_getpriority(SB) GLOBL ·libc_getpriority_trampoline_addr(SB), RODATA, $8 DATA ·libc_getpriority_trampoline_addr(SB)/8, $libc_getpriority_trampoline<>(SB) TEXT libc_getrlimit_trampoline<>(SB),NOSPLIT,$0-0 JMP libc_getrlimit(SB) GLOBL ·libc_getrlimit_trampoline_addr(SB), RODATA, $8 DATA ·libc_getrlimit_trampoline_addr(SB)/8, $libc_getrlimit_trampoline<>(SB) TEXT libc_getrtable_trampoline<>(SB),NOSPLIT,$0-0 JMP libc_getrtable(SB) GLOBL ·libc_getrtable_trampoline_addr(SB), RODATA, $8 DATA ·libc_getrtable_trampoline_addr(SB)/8, $libc_getrtable_trampoline<>(SB) TEXT libc_getrusage_trampoline<>(SB),NOSPLIT,$0-0 JMP libc_getrusage(SB) GLOBL ·libc_getrusage_trampoline_addr(SB), RODATA, $8 DATA ·libc_getrusage_trampoline_addr(SB)/8, $libc_getrusage_trampoline<>(SB) TEXT libc_getsid_trampoline<>(SB),NOSPLIT,$0-0 JMP libc_getsid(SB) GLOBL ·libc_getsid_trampoline_addr(SB), RODATA, $8 DATA ·libc_getsid_trampoline_addr(SB)/8, $libc_getsid_trampoline<>(SB) TEXT libc_gettimeofday_trampoline<>(SB),NOSPLIT,$0-0 JMP libc_gettimeofday(SB) GLOBL ·libc_gettimeofday_trampoline_addr(SB), RODATA, $8 DATA ·libc_gettimeofday_trampoline_addr(SB)/8, $libc_gettimeofday_trampoline<>(SB) TEXT libc_getuid_trampoline<>(SB),NOSPLIT,$0-0 JMP libc_getuid(SB) GLOBL ·libc_getuid_trampoline_addr(SB), RODATA, $8 DATA ·libc_getuid_trampoline_addr(SB)/8, $libc_getuid_trampoline<>(SB) TEXT libc_issetugid_trampoline<>(SB),NOSPLIT,$0-0 JMP libc_issetugid(SB) GLOBL ·libc_issetugid_trampoline_addr(SB), RODATA, $8 DATA ·libc_issetugid_trampoline_addr(SB)/8, $libc_issetugid_trampoline<>(SB) TEXT libc_kill_trampoline<>(SB),NOSPLIT,$0-0 JMP libc_kill(SB) GLOBL ·libc_kill_trampoline_addr(SB), RODATA, $8 DATA ·libc_kill_trampoline_addr(SB)/8, $libc_kill_trampoline<>(SB) TEXT libc_kqueue_trampoline<>(SB),NOSPLIT,$0-0 JMP libc_kqueue(SB) GLOBL ·libc_kqueue_trampoline_addr(SB), RODATA, $8 DATA ·libc_kqueue_trampoline_addr(SB)/8, $libc_kqueue_trampoline<>(SB) TEXT libc_lchown_trampoline<>(SB),NOSPLIT,$0-0 JMP libc_lchown(SB) GLOBL ·libc_lchown_trampoline_addr(SB), RODATA, $8 DATA ·libc_lchown_trampoline_addr(SB)/8, $libc_lchown_trampoline<>(SB) TEXT libc_link_trampoline<>(SB),NOSPLIT,$0-0 JMP libc_link(SB) GLOBL ·libc_link_trampoline_addr(SB), RODATA, $8 DATA ·libc_link_trampoline_addr(SB)/8, $libc_link_trampoline<>(SB) TEXT libc_linkat_trampoline<>(SB),NOSPLIT,$0-0 JMP libc_linkat(SB) GLOBL ·libc_linkat_trampoline_addr(SB), RODATA, $8 DATA ·libc_linkat_trampoline_addr(SB)/8, $libc_linkat_trampoline<>(SB) TEXT libc_listen_trampoline<>(SB),NOSPLIT,$0-0 JMP libc_listen(SB) GLOBL ·libc_listen_trampoline_addr(SB), RODATA, $8 DATA ·libc_listen_trampoline_addr(SB)/8, $libc_listen_trampoline<>(SB) TEXT libc_lstat_trampoline<>(SB),NOSPLIT,$0-0 JMP libc_lstat(SB) GLOBL ·libc_lstat_trampoline_addr(SB), RODATA, $8 DATA ·libc_lstat_trampoline_addr(SB)/8, $libc_lstat_trampoline<>(SB) TEXT libc_mkdir_trampoline<>(SB),NOSPLIT,$0-0 JMP libc_mkdir(SB) GLOBL ·libc_mkdir_trampoline_addr(SB), RODATA, $8 DATA ·libc_mkdir_trampoline_addr(SB)/8, $libc_mkdir_trampoline<>(SB) TEXT libc_mkdirat_trampoline<>(SB),NOSPLIT,$0-0 JMP libc_mkdirat(SB) GLOBL ·libc_mkdirat_trampoline_addr(SB), RODATA, $8 DATA ·libc_mkdirat_trampoline_addr(SB)/8, $libc_mkdirat_trampoline<>(SB) TEXT libc_mkfifo_trampoline<>(SB),NOSPLIT,$0-0 JMP libc_mkfifo(SB) GLOBL ·libc_mkfifo_trampoline_addr(SB), RODATA, $8 DATA ·libc_mkfifo_trampoline_addr(SB)/8, $libc_mkfifo_trampoline<>(SB) TEXT libc_mkfifoat_trampoline<>(SB),NOSPLIT,$0-0 JMP libc_mkfifoat(SB) GLOBL ·libc_mkfifoat_trampoline_addr(SB), RODATA, $8 DATA ·libc_mkfifoat_trampoline_addr(SB)/8, $libc_mkfifoat_trampoline<>(SB) TEXT libc_mknod_trampoline<>(SB),NOSPLIT,$0-0 JMP libc_mknod(SB) GLOBL ·libc_mknod_trampoline_addr(SB), RODATA, $8 DATA ·libc_mknod_trampoline_addr(SB)/8, $libc_mknod_trampoline<>(SB) TEXT libc_mknodat_trampoline<>(SB),NOSPLIT,$0-0 JMP libc_mknodat(SB) GLOBL ·libc_mknodat_trampoline_addr(SB), RODATA, $8 DATA ·libc_mknodat_trampoline_addr(SB)/8, $libc_mknodat_trampoline<>(SB) TEXT libc_mount_trampoline<>(SB),NOSPLIT,$0-0 JMP libc_mount(SB) GLOBL ·libc_mount_trampoline_addr(SB), RODATA, $8 DATA ·libc_mount_trampoline_addr(SB)/8, $libc_mount_trampoline<>(SB) TEXT libc_nanosleep_trampoline<>(SB),NOSPLIT,$0-0 JMP libc_nanosleep(SB) GLOBL ·libc_nanosleep_trampoline_addr(SB), RODATA, $8 DATA ·libc_nanosleep_trampoline_addr(SB)/8, $libc_nanosleep_trampoline<>(SB) TEXT libc_open_trampoline<>(SB),NOSPLIT,$0-0 JMP libc_open(SB) GLOBL ·libc_open_trampoline_addr(SB), RODATA, $8 DATA ·libc_open_trampoline_addr(SB)/8, $libc_open_trampoline<>(SB) TEXT libc_openat_trampoline<>(SB),NOSPLIT,$0-0 JMP libc_openat(SB) GLOBL ·libc_openat_trampoline_addr(SB), RODATA, $8 DATA ·libc_openat_trampoline_addr(SB)/8, $libc_openat_trampoline<>(SB) TEXT libc_pathconf_trampoline<>(SB),NOSPLIT,$0-0 JMP libc_pathconf(SB) GLOBL ·libc_pathconf_trampoline_addr(SB), RODATA, $8 DATA ·libc_pathconf_trampoline_addr(SB)/8, $libc_pathconf_trampoline<>(SB) TEXT libc_pread_trampoline<>(SB),NOSPLIT,$0-0 JMP libc_pread(SB) GLOBL ·libc_pread_trampoline_addr(SB), RODATA, $8 DATA ·libc_pread_trampoline_addr(SB)/8, $libc_pread_trampoline<>(SB) TEXT libc_pwrite_trampoline<>(SB),NOSPLIT,$0-0 JMP libc_pwrite(SB) GLOBL ·libc_pwrite_trampoline_addr(SB), RODATA, $8 DATA ·libc_pwrite_trampoline_addr(SB)/8, $libc_pwrite_trampoline<>(SB) TEXT libc_read_trampoline<>(SB),NOSPLIT,$0-0 JMP libc_read(SB) GLOBL ·libc_read_trampoline_addr(SB), RODATA, $8 DATA ·libc_read_trampoline_addr(SB)/8, $libc_read_trampoline<>(SB) TEXT libc_readlink_trampoline<>(SB),NOSPLIT,$0-0 JMP libc_readlink(SB) GLOBL ·libc_readlink_trampoline_addr(SB), RODATA, $8 DATA ·libc_readlink_trampoline_addr(SB)/8, $libc_readlink_trampoline<>(SB) TEXT libc_readlinkat_trampoline<>(SB),NOSPLIT,$0-0 JMP libc_readlinkat(SB) GLOBL ·libc_readlinkat_trampoline_addr(SB), RODATA, $8 DATA ·libc_readlinkat_trampoline_addr(SB)/8, $libc_readlinkat_trampoline<>(SB) TEXT libc_rename_trampoline<>(SB),NOSPLIT,$0-0 JMP libc_rename(SB) GLOBL ·libc_rename_trampoline_addr(SB), RODATA, $8 DATA ·libc_rename_trampoline_addr(SB)/8, $libc_rename_trampoline<>(SB) TEXT libc_renameat_trampoline<>(SB),NOSPLIT,$0-0 JMP libc_renameat(SB) GLOBL ·libc_renameat_trampoline_addr(SB), RODATA, $8 DATA ·libc_renameat_trampoline_addr(SB)/8, $libc_renameat_trampoline<>(SB) TEXT libc_revoke_trampoline<>(SB),NOSPLIT,$0-0 JMP libc_revoke(SB) GLOBL ·libc_revoke_trampoline_addr(SB), RODATA, $8 DATA ·libc_revoke_trampoline_addr(SB)/8, $libc_revoke_trampoline<>(SB) TEXT libc_rmdir_trampoline<>(SB),NOSPLIT,$0-0 JMP libc_rmdir(SB) GLOBL ·libc_rmdir_trampoline_addr(SB), RODATA, $8 DATA ·libc_rmdir_trampoline_addr(SB)/8, $libc_rmdir_trampoline<>(SB) TEXT libc_lseek_trampoline<>(SB),NOSPLIT,$0-0 JMP libc_lseek(SB) GLOBL ·libc_lseek_trampoline_addr(SB), RODATA, $8 DATA ·libc_lseek_trampoline_addr(SB)/8, $libc_lseek_trampoline<>(SB) TEXT libc_select_trampoline<>(SB),NOSPLIT,$0-0 JMP libc_select(SB) GLOBL ·libc_select_trampoline_addr(SB), RODATA, $8 DATA ·libc_select_trampoline_addr(SB)/8, $libc_select_trampoline<>(SB) TEXT libc_setegid_trampoline<>(SB),NOSPLIT,$0-0 JMP libc_setegid(SB) GLOBL ·libc_setegid_trampoline_addr(SB), RODATA, $8 DATA ·libc_setegid_trampoline_addr(SB)/8, $libc_setegid_trampoline<>(SB) TEXT libc_seteuid_trampoline<>(SB),NOSPLIT,$0-0 JMP libc_seteuid(SB) GLOBL ·libc_seteuid_trampoline_addr(SB), RODATA, $8 DATA ·libc_seteuid_trampoline_addr(SB)/8, $libc_seteuid_trampoline<>(SB) TEXT libc_setgid_trampoline<>(SB),NOSPLIT,$0-0 JMP libc_setgid(SB) GLOBL ·libc_setgid_trampoline_addr(SB), RODATA, $8 DATA ·libc_setgid_trampoline_addr(SB)/8, $libc_setgid_trampoline<>(SB) TEXT libc_setlogin_trampoline<>(SB),NOSPLIT,$0-0 JMP libc_setlogin(SB) GLOBL ·libc_setlogin_trampoline_addr(SB), RODATA, $8 DATA ·libc_setlogin_trampoline_addr(SB)/8, $libc_setlogin_trampoline<>(SB) TEXT libc_setpgid_trampoline<>(SB),NOSPLIT,$0-0 JMP libc_setpgid(SB) GLOBL ·libc_setpgid_trampoline_addr(SB), RODATA, $8 DATA ·libc_setpgid_trampoline_addr(SB)/8, $libc_setpgid_trampoline<>(SB) TEXT libc_setpriority_trampoline<>(SB),NOSPLIT,$0-0 JMP libc_setpriority(SB) GLOBL ·libc_setpriority_trampoline_addr(SB), RODATA, $8 DATA ·libc_setpriority_trampoline_addr(SB)/8, $libc_setpriority_trampoline<>(SB) TEXT libc_setregid_trampoline<>(SB),NOSPLIT,$0-0 JMP libc_setregid(SB) GLOBL ·libc_setregid_trampoline_addr(SB), RODATA, $8 DATA ·libc_setregid_trampoline_addr(SB)/8, $libc_setregid_trampoline<>(SB) TEXT libc_setreuid_trampoline<>(SB),NOSPLIT,$0-0 JMP libc_setreuid(SB) GLOBL ·libc_setreuid_trampoline_addr(SB), RODATA, $8 DATA ·libc_setreuid_trampoline_addr(SB)/8, $libc_setreuid_trampoline<>(SB) TEXT libc_setresgid_trampoline<>(SB),NOSPLIT,$0-0 JMP libc_setresgid(SB) GLOBL ·libc_setresgid_trampoline_addr(SB), RODATA, $8 DATA ·libc_setresgid_trampoline_addr(SB)/8, $libc_setresgid_trampoline<>(SB) TEXT libc_setresuid_trampoline<>(SB),NOSPLIT,$0-0 JMP libc_setresuid(SB) GLOBL ·libc_setresuid_trampoline_addr(SB), RODATA, $8 DATA ·libc_setresuid_trampoline_addr(SB)/8, $libc_setresuid_trampoline<>(SB) TEXT libc_setrtable_trampoline<>(SB),NOSPLIT,$0-0 JMP libc_setrtable(SB) GLOBL ·libc_setrtable_trampoline_addr(SB), RODATA, $8 DATA ·libc_setrtable_trampoline_addr(SB)/8, $libc_setrtable_trampoline<>(SB) TEXT libc_setsid_trampoline<>(SB),NOSPLIT,$0-0 JMP libc_setsid(SB) GLOBL ·libc_setsid_trampoline_addr(SB), RODATA, $8 DATA ·libc_setsid_trampoline_addr(SB)/8, $libc_setsid_trampoline<>(SB) TEXT libc_settimeofday_trampoline<>(SB),NOSPLIT,$0-0 JMP libc_settimeofday(SB) GLOBL ·libc_settimeofday_trampoline_addr(SB), RODATA, $8 DATA ·libc_settimeofday_trampoline_addr(SB)/8, $libc_settimeofday_trampoline<>(SB) TEXT libc_setuid_trampoline<>(SB),NOSPLIT,$0-0 JMP libc_setuid(SB) GLOBL ·libc_setuid_trampoline_addr(SB), RODATA, $8 DATA ·libc_setuid_trampoline_addr(SB)/8, $libc_setuid_trampoline<>(SB) TEXT libc_stat_trampoline<>(SB),NOSPLIT,$0-0 JMP libc_stat(SB) GLOBL ·libc_stat_trampoline_addr(SB), RODATA, $8 DATA ·libc_stat_trampoline_addr(SB)/8, $libc_stat_trampoline<>(SB) TEXT libc_statfs_trampoline<>(SB),NOSPLIT,$0-0 JMP libc_statfs(SB) GLOBL ·libc_statfs_trampoline_addr(SB), RODATA, $8 DATA ·libc_statfs_trampoline_addr(SB)/8, $libc_statfs_trampoline<>(SB) TEXT libc_symlink_trampoline<>(SB),NOSPLIT,$0-0 JMP libc_symlink(SB) GLOBL ·libc_symlink_trampoline_addr(SB), RODATA, $8 DATA ·libc_symlink_trampoline_addr(SB)/8, $libc_symlink_trampoline<>(SB) TEXT libc_symlinkat_trampoline<>(SB),NOSPLIT,$0-0 JMP libc_symlinkat(SB) GLOBL ·libc_symlinkat_trampoline_addr(SB), RODATA, $8 DATA ·libc_symlinkat_trampoline_addr(SB)/8, $libc_symlinkat_trampoline<>(SB) TEXT libc_sync_trampoline<>(SB),NOSPLIT,$0-0 JMP libc_sync(SB) GLOBL ·libc_sync_trampoline_addr(SB), RODATA, $8 DATA ·libc_sync_trampoline_addr(SB)/8, $libc_sync_trampoline<>(SB) TEXT libc_truncate_trampoline<>(SB),NOSPLIT,$0-0 JMP libc_truncate(SB) GLOBL ·libc_truncate_trampoline_addr(SB), RODATA, $8 DATA ·libc_truncate_trampoline_addr(SB)/8, $libc_truncate_trampoline<>(SB) TEXT libc_umask_trampoline<>(SB),NOSPLIT,$0-0 JMP libc_umask(SB) GLOBL ·libc_umask_trampoline_addr(SB), RODATA, $8 DATA ·libc_umask_trampoline_addr(SB)/8, $libc_umask_trampoline<>(SB) TEXT libc_unlink_trampoline<>(SB),NOSPLIT,$0-0 JMP libc_unlink(SB) GLOBL ·libc_unlink_trampoline_addr(SB), RODATA, $8 DATA ·libc_unlink_trampoline_addr(SB)/8, $libc_unlink_trampoline<>(SB) TEXT libc_unlinkat_trampoline<>(SB),NOSPLIT,$0-0 JMP libc_unlinkat(SB) GLOBL ·libc_unlinkat_trampoline_addr(SB), RODATA, $8 DATA ·libc_unlinkat_trampoline_addr(SB)/8, $libc_unlinkat_trampoline<>(SB) TEXT libc_unmount_trampoline<>(SB),NOSPLIT,$0-0 JMP libc_unmount(SB) GLOBL ·libc_unmount_trampoline_addr(SB), RODATA, $8 DATA ·libc_unmount_trampoline_addr(SB)/8, $libc_unmount_trampoline<>(SB) TEXT libc_write_trampoline<>(SB),NOSPLIT,$0-0 JMP libc_write(SB) GLOBL ·libc_write_trampoline_addr(SB), RODATA, $8 DATA ·libc_write_trampoline_addr(SB)/8, $libc_write_trampoline<>(SB) TEXT libc_mmap_trampoline<>(SB),NOSPLIT,$0-0 JMP libc_mmap(SB) GLOBL ·libc_mmap_trampoline_addr(SB), RODATA, $8 DATA ·libc_mmap_trampoline_addr(SB)/8, $libc_mmap_trampoline<>(SB) TEXT libc_munmap_trampoline<>(SB),NOSPLIT,$0-0 JMP libc_munmap(SB) GLOBL ·libc_munmap_trampoline_addr(SB), RODATA, $8 DATA ·libc_munmap_trampoline_addr(SB)/8, $libc_munmap_trampoline<>(SB) TEXT libc_getfsstat_trampoline<>(SB),NOSPLIT,$0-0 JMP libc_getfsstat(SB) GLOBL ·libc_getfsstat_trampoline_addr(SB), RODATA, $8 DATA ·libc_getfsstat_trampoline_addr(SB)/8, $libc_getfsstat_trampoline<>(SB) TEXT libc_utimensat_trampoline<>(SB),NOSPLIT,$0-0 JMP libc_utimensat(SB) GLOBL ·libc_utimensat_trampoline_addr(SB), RODATA, $8 DATA ·libc_utimensat_trampoline_addr(SB)/8, $libc_utimensat_trampoline<>(SB) TEXT libc_pledge_trampoline<>(SB),NOSPLIT,$0-0 JMP libc_pledge(SB) GLOBL ·libc_pledge_trampoline_addr(SB), RODATA, $8 DATA ·libc_pledge_trampoline_addr(SB)/8, $libc_pledge_trampoline<>(SB) TEXT libc_unveil_trampoline<>(SB),NOSPLIT,$0-0 JMP libc_unveil(SB) GLOBL ·libc_unveil_trampoline_addr(SB), RODATA, $8 DATA ·libc_unveil_trampoline_addr(SB)/8, $libc_unveil_trampoline<>(SB) dependencies/pkg/mod/golang.org/x/sys@v0.26.0/unix/readdirent_getdirentries.go0000644000000000000000000000130115107355264026204 0ustar rootroot// Copyright 2019 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:build darwin || zos package unix import "unsafe" // ReadDirent reads directory entries from fd and writes them into buf. 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) } dependencies/pkg/mod/golang.org/x/sys@v0.26.0/unix/syscall_zos_test.go0000644000000000000000000026341415107355264024556 0ustar rootroot// Copyright 2020 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:build zos && s390x package unix_test import ( "errors" "flag" "fmt" "io" "log" "net" "os" "os/exec" "path/filepath" "reflect" "regexp" "runtime" "strconv" "strings" "syscall" "testing" "time" "unsafe" "golang.org/x/sys/unix" ) func TestLibVec(t *testing.T) { ret := unix.GetZosLibVec() if ret == 0 { t.Fatalf("initLibVec failed %v\n", ret) } } func TestFprintf(t *testing.T) { const expected = 61 ret, _, _ := unix.CallLeFuncWithErr(unix.GetZosLibVec()+unix.SYS___FPRINTF_A<<4, unix.ZosStdioFilep(2), uintptr(unsafe.Pointer( reflect.ValueOf([]byte("TEST DATA please ignore, fprintf stderr data %d %d %d %d\x0a\x00")).Pointer())), 111, 222, 333, 444) if ret != expected { t.Fatalf("expected bytes written %d , receive %d\n", expected, int(ret)) } } func TestErrnos(t *testing.T) { ret, err1, err2 := unix.CallLeFuncWithErr(unix.GetZosLibVec()+unix.SYS___OPEN_A<<4, uintptr(unsafe.Pointer(&(([]byte("/dev/nothing" + "\x00"))[0]))), 0, 0) if ret != 0xffffffffffffffff || err2 != 0x79 || err1 != 0x562003f { t.Fatalf("Expect ret ffffffffffffffff err2 79 err1 562003f, received ret %x err2 %x err1 %x\n", ret, err2, err1) } } func TestErrnoString(t *testing.T) { var ( ws unix.WaitStatus rus unix.Rusage ) _, err := unix.Wait4(-1, &ws, unix.WNOHANG, &rus) if syscall.Errno(int32(err.(syscall.Errno))) != unix.ECHILD { t.Fatalf("err != unix.ECHILD") } } func BypassTestOnUntil(sys string, date string) bool { t0, er0 := time.Parse(time.RFC3339, date) if er0 != nil { fmt.Printf("Bad date-time spec %s\n", date) return false } if time.Now().After(t0) { return false } host1, er1 := os.Hostname() hostname := strings.Split(host1, ".")[0] if er1 == nil && strings.EqualFold(hostname, sys) { pc, file, line, ok := runtime.Caller(1) if ok { name := runtime.FuncForPC(pc).Name() fmt.Fprintf(os.Stderr, "TODO: Test bypassed on %s %v:%v %v\n", hostname, file, line, name) return true } } return false } var euid = unix.Geteuid() // Tests that below functions, structures and constants are consistent // on all Unix-like systems. func _() { // program scheduling priority functions and constants var ( _ func(int, int, int) error = unix.Setpriority _ func(int, int) (int, error) = unix.Getpriority ) const ( _ int = unix.PRIO_USER _ int = unix.PRIO_PROCESS _ int = unix.PRIO_PGRP ) // termios constants const ( _ int = unix.TCIFLUSH _ int = unix.TCIOFLUSH _ int = unix.TCOFLUSH ) // fcntl file locking structure and constants var ( _ = unix.Flock_t{ Type: int16(0), Whence: int16(0), Start: int64(0), Len: int64(0), Pid: int32(0), } ) const ( _ = unix.F_GETLK _ = unix.F_SETLK _ = unix.F_SETLKW ) } func zosLeVersion() (version, release uint32) { p1 := (*(*uintptr)(unsafe.Pointer(uintptr(1208)))) >> 32 p1 = *(*uintptr)(unsafe.Pointer(uintptr(p1 + 88))) p1 = *(*uintptr)(unsafe.Pointer(uintptr(p1 + 8))) p1 = *(*uintptr)(unsafe.Pointer(uintptr(p1 + 984))) vrm := *(*uint32)(unsafe.Pointer(p1 + 80)) version = (vrm & 0x00ff0000) >> 16 release = (vrm & 0x0000ff00) >> 8 return } func TestErrnoSignalName(t *testing.T) { testErrors := []struct { num syscall.Errno name string }{ {syscall.EPERM, "EDC5139I"}, {syscall.EINVAL, "EDC5121I"}, {syscall.ENOENT, "EDC5129I"}, } for _, te := range testErrors { t.Run(fmt.Sprintf("%d/%s", te.num, te.name), func(t *testing.T) { e := unix.ErrnoName(te.num) if e != te.name { t.Errorf("ErrnoName(%d) returned %s, want %s", te.num, e, te.name) } }) } testSignals := []struct { num syscall.Signal name string }{ {syscall.SIGHUP, "SIGHUP"}, {syscall.SIGPIPE, "SIGPIPE"}, {syscall.SIGSEGV, "SIGSEGV"}, } for _, ts := range testSignals { t.Run(fmt.Sprintf("%d/%s", ts.num, ts.name), func(t *testing.T) { s := unix.SignalName(ts.num) if s != ts.name { t.Errorf("SignalName(%d) returned %s, want %s", ts.num, s, ts.name) } }) } } func TestSignalNum(t *testing.T) { testSignals := []struct { name string want syscall.Signal }{ {"SIGHUP", syscall.SIGHUP}, {"SIGPIPE", syscall.SIGPIPE}, {"SIGSEGV", syscall.SIGSEGV}, {"NONEXISTS", 0}, } for _, ts := range testSignals { t.Run(fmt.Sprintf("%s/%d", ts.name, ts.want), func(t *testing.T) { got := unix.SignalNum(ts.name) if got != ts.want { t.Errorf("SignalNum(%s) returned %d, want %d", ts.name, got, ts.want) } }) } } func TestFcntlInt(t *testing.T) { t.Parallel() file, err := os.Create(filepath.Join(t.TempDir(), "TestFnctlInt")) if err != nil { t.Fatal(err) } defer file.Close() f := file.Fd() flags, err := unix.FcntlInt(f, unix.F_GETFD, 0) if err != nil { t.Fatal(err) } if flags&unix.FD_CLOEXEC == 0 { t.Errorf("flags %#x do not include FD_CLOEXEC", flags) } } // TestFcntlFlock tests whether the file locking structure matches // the calling convention of each kernel. func TestFcntlFlock(t *testing.T) { name := filepath.Join(os.TempDir(), "TestFcntlFlock") fd, err := unix.Open(name, unix.O_CREAT|unix.O_RDWR|unix.O_CLOEXEC, 0) if err != nil { t.Fatalf("Open failed: %v", err) } defer unix.Unlink(name) defer unix.Close(fd) flock := unix.Flock_t{ Type: unix.F_RDLCK, Start: 0, Len: 0, Whence: 1, } if err := unix.FcntlFlock(uintptr(fd), unix.F_GETLK, &flock); err != nil { t.Fatalf("FcntlFlock failed: %v", err) } } // TestPassFD tests passing a file descriptor over a Unix socket. // // This test involved both a parent and child process. The parent // process is invoked as a normal test, with "go test", which then // runs the child process by running the current test binary with args // "-test.run=^TestPassFD$" and an environment variable used to signal // that the test should become the child process instead. func TestPassFD(t *testing.T) { if os.Getenv("GO_WANT_HELPER_PROCESS") == "1" { passFDChild() return } tempDir := t.TempDir() fds, err := unix.Socketpair(unix.AF_LOCAL, unix.SOCK_STREAM, 0) if err != nil { t.Fatalf("Socketpair: %v", err) } defer unix.Close(fds[0]) defer unix.Close(fds[1]) writeFile := os.NewFile(uintptr(fds[0]), "child-writes") readFile := os.NewFile(uintptr(fds[1]), "parent-reads") defer writeFile.Close() defer readFile.Close() cmd := exec.Command(os.Args[0], "-test.run=^TestPassFD$", "--", tempDir) cmd.Env = []string{"GO_WANT_HELPER_PROCESS=1"} if lp := os.Getenv("LD_LIBRARY_PATH"); lp != "" { cmd.Env = append(cmd.Env, "LD_LIBRARY_PATH="+lp) } cmd.ExtraFiles = []*os.File{writeFile} out, err := cmd.CombinedOutput() if len(out) > 0 || err != nil { t.Fatalf("child process: %q, %v", out, err) } c, err := net.FileConn(readFile) if err != nil { t.Fatalf("FileConn: %v", err) } defer c.Close() uc, ok := c.(*net.UnixConn) if !ok { t.Fatalf("unexpected FileConn type; expected UnixConn, got %T", c) } buf := make([]byte, 32) // expect 1 byte oob := make([]byte, 32) // expect 24 bytes closeUnix := time.AfterFunc(5*time.Second, func() { t.Logf("timeout reading from unix socket") uc.Close() }) _, oobn, _, _, err := uc.ReadMsgUnix(buf, oob) if err != nil { t.Fatalf("ReadMsgUnix: %v", err) } closeUnix.Stop() scms, err := unix.ParseSocketControlMessage(oob[:oobn]) if err != nil { t.Fatalf("ParseSocketControlMessage: %v", err) } if len(scms) != 1 { t.Fatalf("expected 1 SocketControlMessage; got scms = %#v", scms) } scm := scms[0] gotFds, err := unix.ParseUnixRights(&scm) if err != nil { t.Fatalf("unix.ParseUnixRights: %v", err) } if len(gotFds) != 1 { t.Fatalf("wanted 1 fd; got %#v", gotFds) } f := os.NewFile(uintptr(gotFds[0]), "fd-from-child") defer f.Close() got, err := io.ReadAll(f) want := "Hello from child process!\n" if string(got) != want { t.Errorf("child process ReadAll: %q, %v; want %q", got, err, want) } } // passFDChild is the child process used by TestPassFD. func passFDChild() { defer os.Exit(0) // Look for our fd. It should be fd 3, but we work around an fd leak // bug here (http://golang.org/issue/2603) to let it be elsewhere. var uc *net.UnixConn for fd := uintptr(3); fd <= 10; fd++ { f := os.NewFile(fd, "unix-conn") var ok bool netc, _ := net.FileConn(f) uc, ok = netc.(*net.UnixConn) if ok { break } } if uc == nil { fmt.Println("failed to find unix fd") return } // Make a file f to send to our parent process on uc. // We make it in tempDir, which our parent will clean up. flag.Parse() tempDir := flag.Arg(0) f, err := os.CreateTemp(tempDir, "") if err != nil { fmt.Printf("TempFile: %v", err) return } defer f.Close() f.Write([]byte("Hello from child process!\n")) f.Seek(0, 0) rights := unix.UnixRights(int(f.Fd())) dummyByte := []byte("x") n, oobn, err := uc.WriteMsgUnix(dummyByte, rights, nil) if err != nil { fmt.Printf("WriteMsgUnix: %v", err) return } if n != 1 || oobn != len(rights) { fmt.Printf("WriteMsgUnix = %d, %d; want 1, %d", n, oobn, len(rights)) return } } // TestUnixRightsRoundtrip tests that UnixRights, ParseSocketControlMessage, // and ParseUnixRights are able to successfully round-trip lists of file descriptors. func TestUnixRightsRoundtrip(t *testing.T) { testCases := [...][][]int{ {{42}}, {{1, 2}}, {{3, 4, 5}}, {{}}, {{1, 2}, {3, 4, 5}, {}, {7}}, } for _, testCase := range testCases { b := []byte{} var n int for _, fds := range testCase { // Last assignment to n wins n = len(b) + unix.CmsgLen(4*len(fds)) b = append(b, unix.UnixRights(fds...)...) } // Truncate b b = b[:n] scms, err := unix.ParseSocketControlMessage(b) if err != nil { t.Fatalf("ParseSocketControlMessage: %v", err) } if len(scms) != len(testCase) { t.Fatalf("expected %v SocketControlMessage; got scms = %#v", len(testCase), scms) } for i, scm := range scms { gotFds, err := unix.ParseUnixRights(&scm) if err != nil { t.Fatalf("ParseUnixRights: %v", err) } wantFds := testCase[i] if len(gotFds) != len(wantFds) { t.Fatalf("expected %v fds, got %#v", len(wantFds), gotFds) } for j, fd := range gotFds { if fd != wantFds[j] { t.Fatalf("expected fd %v, got %v", wantFds[j], fd) } } } } } func TestPrlimit(t *testing.T) { var rlimit, get, set, zero unix.Rlimit // Save initial settings err := unix.Prlimit(0, unix.RLIMIT_NOFILE, nil, &rlimit) if err != nil { t.Fatalf("Prlimit: save failed: %v", err) } if zero == rlimit { t.Fatalf("Prlimit: save failed: got zero value %#v", rlimit) } set = rlimit set.Cur = set.Max - 1 // Set to one below max err = unix.Prlimit(0, unix.RLIMIT_NOFILE, &set, nil) if err != nil { t.Fatalf("Prlimit: set failed: %#v %v", set, err) } // Get and restore to original err = unix.Prlimit(0, unix.RLIMIT_NOFILE, &rlimit, &get) if err != nil { t.Fatalf("Prlimit: get and restore failed: %v", err) } if set != get { t.Fatalf("Rlimit: change failed: wanted %#v got %#v", set, get) } } func TestRlimit(t *testing.T) { var rlimit, zero unix.Rlimit err := unix.Getrlimit(unix.RLIMIT_NOFILE, &rlimit) if err != nil { t.Fatalf("Getrlimit: save failed: %v", err) } if zero == rlimit { t.Fatalf("Getrlimit: save failed: got zero value %#v", rlimit) } set := rlimit set.Cur = set.Max - 1 err = unix.Setrlimit(unix.RLIMIT_NOFILE, &set) if err != nil { t.Fatalf("Setrlimit: set failed: %#v %v", set, err) } var get unix.Rlimit err = unix.Getrlimit(unix.RLIMIT_NOFILE, &get) if err != nil { t.Fatalf("Getrlimit: get failed: %v", err) } set = rlimit set.Cur = set.Max - 1 if set != get { t.Fatalf("Rlimit: change failed: wanted %#v got %#v", set, get) } err = unix.Setrlimit(unix.RLIMIT_NOFILE, &rlimit) if err != nil { t.Fatalf("Setrlimit: restore failed: %#v %v", rlimit, err) } } func TestSeekFailure(t *testing.T) { _, err := unix.Seek(-1, 0, 0) if err == nil { t.Fatalf("Seek(-1, 0, 0) did not fail") } str := err.Error() // used to crash on Linux t.Logf("Seek: %v", str) if str == "" { t.Fatalf("Seek(-1, 0, 0) return error with empty message") } } func TestSetsockoptString(t *testing.T) { // should not panic on empty string, see issue #31277 err := unix.SetsockoptString(-1, 0, 0, "") if err == nil { t.Fatalf("SetsockoptString: did not fail") } } func TestDup(t *testing.T) { file, err := os.Create(filepath.Join(t.TempDir(), "TestDup")) if err != nil { t.Fatalf("Tempfile failed: %v", err) } defer file.Close() f := int(file.Fd()) newFd, err := unix.Dup(f) if err != nil { t.Fatalf("Dup: %v", err) } // Create and reserve a file descriptor. // Dup2 automatically closes it before reusing it. nullFile, err := os.Open("/dev/null") if err != nil { t.Fatal(err) } defer nullFile.Close() dupFd := int(file.Fd()) err = unix.Dup2(newFd, dupFd) if err != nil { t.Fatalf("Dup2: %v", err) } // Keep the dummy file open long enough to not be closed in // its finalizer. runtime.KeepAlive(nullFile) b1 := []byte("Test123") b2 := make([]byte, 7) _, err = unix.Write(dupFd, b1) if err != nil { t.Fatalf("Write to dup2 fd failed: %v", err) } _, err = unix.Seek(f, 0, 0) if err != nil { t.Fatalf("Seek failed: %v", err) } _, err = unix.Read(f, b2) if err != nil { t.Fatalf("Read back failed: %v", err) } if string(b1) != string(b2) { t.Errorf("Dup: stdout write not in file, expected %v, got %v", string(b1), string(b2)) } } func TestGetwd(t *testing.T) { fd, err := os.Open(".") if err != nil { t.Fatalf("Open .: %s", err) } defer fd.Close() // Directory list for test. Do not worry if any are symlinks or do not // exist on some common unix desktop environments. That will be checked. dirs := []string{"/", "/usr/bin", "/etc", "/var", "/opt"} oldwd := os.Getenv("PWD") for _, d := range dirs { // Check whether d exists, is a dir and that d's path does not contain a symlink fi, err := os.Stat(d) if err != nil || !fi.IsDir() { t.Logf("Test dir %s stat error (%v) or not a directory, skipping", d, err) continue } check, err := filepath.EvalSymlinks(d) if err != nil || check != d { t.Logf("Test dir %s (%s) is symlink or other error (%v), skipping", d, check, err) continue } err = os.Chdir(d) if err != nil { t.Fatalf("Chdir: %v", err) } pwd, err := unix.Getwd() if err != nil { t.Fatalf("Getwd in %s: %s", d, err) } os.Setenv("PWD", oldwd) err = fd.Chdir() if err != nil { // We changed the current directory and cannot go back. // Don't let the tests continue; they'll scribble // all over some other directory. fmt.Fprintf(os.Stderr, "fchdir back to dot failed: %s\n", err) os.Exit(1) } if pwd != d { t.Fatalf("Getwd returned %q want %q", pwd, d) } } } func TestMkdev(t *testing.T) { major := uint32(42) minor := uint32(7) dev := unix.Mkdev(major, minor) if unix.Major(dev) != major { t.Errorf("Major(%#x) == %d, want %d", dev, unix.Major(dev), major) } if unix.Minor(dev) != minor { t.Errorf("Minor(%#x) == %d, want %d", dev, unix.Minor(dev), minor) } } func TestZosFdToPath(t *testing.T) { f, err := os.OpenFile("/tmp", os.O_RDONLY, 0755) if err != nil { t.Fatalf("Openfile %v", err) } defer f.Close() fd := f.Fd() var res string res, err = unix.ZosFdToPath(int(fd)) if err != nil { t.Fatalf("ZosFdToPath %v", err) } chk := regexp.MustCompile(`^.*/([^\/]+)`).FindStringSubmatch(res) lastpath := chk[len(chk)-1] if lastpath != "tmp" { t.Fatalf("original %s last part of path \"%s\" received, expected \"tmp\" \n", res, lastpath) } } // mktmpfifo creates a temporary FIFO and provides a cleanup function. func mktmpfifo(t *testing.T) (*os.File, func()) { err := unix.Mkfifo("fifo", 0666) if err != nil { t.Fatalf("mktmpfifo: failed to create FIFO: %v", err) } f, err := os.OpenFile("fifo", os.O_RDWR, 0666) if err != nil { os.Remove("fifo") t.Fatalf("mktmpfifo: failed to open FIFO: %v", err) } return f, func() { f.Close() os.Remove("fifo") } } // utilities taken from os/os_test.go func touch(t *testing.T, name string) { f, err := os.Create(name) if err != nil { t.Fatal(err) } if err := f.Close(); err != nil { t.Fatal(err) } } // chtmpdir changes the working directory to a new temporary directory and // provides a cleanup function. Used when PWD is read-only. func chtmpdir(t *testing.T) func() { oldwd, err := os.Getwd() if err != nil { t.Fatalf("chtmpdir: %v", err) } d, err := os.MkdirTemp("", "test") if err != nil { t.Fatalf("chtmpdir: %v", err) } if err := os.Chdir(d); err != nil { t.Fatalf("chtmpdir: %v", err) } return func() { if err := os.Chdir(oldwd); err != nil { t.Fatalf("chtmpdir: %v", err) } os.RemoveAll(d) } } func TestLegacyMountUnmount(t *testing.T) { if euid != 0 { t.Skip("euid != 0") } b2s := func(arr []byte) string { var str string for i := 0; i < len(arr); i++ { if arr[i] == 0 { str = string(arr[:i]) break } } return str } // use an available fs var buffer struct { header unix.W_Mnth fsinfo [64]unix.W_Mntent } fs_count, err := unix.W_Getmntent_A((*byte)(unsafe.Pointer(&buffer)), int(unsafe.Sizeof(buffer))) if err != nil { t.Fatalf("W_Getmntent_A returns with error: %s", err.Error()) } else if fs_count == 0 { t.Fatalf("W_Getmntent_A returns no entries") } var fs string var fstype string var mountpoint string var available bool = false for i := 0; i < fs_count; i++ { err = unix.Unmount(b2s(buffer.fsinfo[i].Mountpoint[:]), unix.MTM_RDWR) if err != nil { // Unmount and Mount require elevated privilege // If test is run without such permission, skip test if err == unix.EPERM { t.Logf("Permission denied for Unmount. Skipping test (Errno2: %X)", unix.Errno2()) return } else if err == unix.EBUSY { continue } else { t.Fatalf("Unmount returns with error: %s", err.Error()) } } else { available = true fs = b2s(buffer.fsinfo[i].Fsname[:]) fstype = b2s(buffer.fsinfo[i].Fstname[:]) mountpoint = b2s(buffer.fsinfo[i].Mountpoint[:]) t.Logf("using file system = %s; fstype = %s and mountpoint = %s\n", fs, fstype, mountpoint) break } } if !available { t.Fatalf("No filesystem available") } // test unmount buffer.header = unix.W_Mnth{} fs_count, err = unix.W_Getmntent_A((*byte)(unsafe.Pointer(&buffer)), int(unsafe.Sizeof(buffer))) if err != nil { t.Fatalf("W_Getmntent_A returns with error: %s", err.Error()) } for i := 0; i < fs_count; i++ { if b2s(buffer.fsinfo[i].Fsname[:]) == fs { t.Fatalf("File system found after unmount") } } // test mount err = unix.Mount(fs, mountpoint, fstype, unix.MTM_RDWR, "") if err != nil { t.Fatalf("Mount returns with error: %s", err.Error()) } buffer.header = unix.W_Mnth{} fs_count, err = unix.W_Getmntent_A((*byte)(unsafe.Pointer(&buffer)), int(unsafe.Sizeof(buffer))) if err != nil { t.Fatalf("W_Getmntent_A returns with error: %s", err.Error()) } fs_mounted := false for i := 0; i < fs_count; i++ { if b2s(buffer.fsinfo[i].Fsname[:]) == fs && b2s(buffer.fsinfo[i].Mountpoint[:]) == mountpoint { fs_mounted = true } } if !fs_mounted { t.Fatalf("%s not mounted after Mount()", fs) } } func TestChroot(t *testing.T) { if euid != 0 { t.Skip("euid != 0") } // create temp dir and tempfile 1 tempDir := t.TempDir() f, err := os.CreateTemp(tempDir, "chroot_test_file") if err != nil { t.Fatalf("TempFile: %s", err.Error()) } defer f.Close() // chroot temp dir err = unix.Chroot(tempDir) // Chroot requires elevated privilege // If test is run without such permission, skip test if err == unix.EPERM { t.Logf("Denied permission for Chroot. Skipping test (Errno2: %X)", unix.Errno2()) return } else if err != nil { t.Fatalf("Chroot: %s", err.Error()) } // check if tempDir contains test file files, err := os.ReadDir("/") if err != nil { t.Fatalf("ReadDir: %s", err.Error()) } found := false for _, file := range files { if file.Name() == filepath.Base(f.Name()) { found = true break } } if !found { t.Fatalf("Temp file not found in temp dir") } } func TestFlock(t *testing.T) { if v, r := zosLeVersion(); v <= 2 && r <= 4 { t.Skipf("New flock can't be used in %d.%d < 2.5. Run TestLegacyFlock", v, r) } const ( SUCCESS = iota BLOCKED ) if os.Getenv("TEST_FLOCK_HELPER") == "1" { defer os.Exit(0) if len(os.Args) != 4 { log.Fatal("bad argument") } mode, err := strconv.Atoi(os.Args[2]) if err != nil { log.Fatalf("%s is invalid: %s", os.Args[2], err) } filename := os.Args[3] f, err := os.OpenFile(filename, os.O_RDWR, 0755) if err != nil { log.Fatalf("%s", err.Error()) } defer f.Close() go func() { // timeout time.Sleep(5 * time.Second) unix.Flock(int(f.Fd()), unix.LOCK_UN) fmt.Print(BLOCKED) os.Exit(1) }() err = unix.Flock(int(f.Fd()), mode) if err == unix.EWOULDBLOCK { fmt.Print(int(unix.EWOULDBLOCK)) os.Exit(1) } if err != nil { log.Fatal(err) } defer unix.Flock(int(f.Fd()), unix.LOCK_UN) fmt.Print(0) return } f, err := os.Create(filepath.Join(t.TempDir(), "flock_test_file")) if err != nil { t.Fatalf("TempFile: %s\n", err) } defer f.Close() fd := int(f.Fd()) testCases := []struct { name string fd int p1modes []int p2mode int expected syscall.Errno }{ {"Invalid fd", -1, []int{unix.LOCK_SH}, unix.LOCK_SH, unix.EBADF}, {"Invalid mode", fd, []int{unix.LOCK_EX | unix.LOCK_SH}, unix.LOCK_SH, unix.EINVAL}, {"EX-EX", fd, []int{unix.LOCK_SH, unix.LOCK_EX}, unix.LOCK_EX, BLOCKED}, {"EX-SH", fd, []int{unix.LOCK_SH, unix.LOCK_EX}, unix.LOCK_SH, BLOCKED}, {"SH-EX", fd, []int{unix.LOCK_EX, unix.LOCK_SH}, unix.LOCK_EX, BLOCKED}, {"SH-SH", fd, []int{unix.LOCK_EX, unix.LOCK_SH}, unix.LOCK_SH, SUCCESS}, {"EX-EXNB", fd, []int{unix.LOCK_SH, unix.LOCK_EX}, unix.LOCK_EX | unix.LOCK_NB, unix.EWOULDBLOCK}, {"EX-SHNB", fd, []int{unix.LOCK_SH, unix.LOCK_EX}, unix.LOCK_SH | unix.LOCK_NB, unix.EWOULDBLOCK}, {"SH-SHNB", fd, []int{unix.LOCK_EX, unix.LOCK_SH}, unix.LOCK_EX | unix.LOCK_NB, unix.EWOULDBLOCK}, {"SH-SHNB", fd, []int{unix.LOCK_EX, unix.LOCK_SH}, unix.LOCK_SH | unix.LOCK_NB, SUCCESS}, } // testcase: for _, c := range testCases { t.Run(c.name, func(t *testing.T) { for _, mode := range c.p1modes { err = unix.Flock(c.fd, mode) if err == c.expected { return } if err != nil { t.Fatalf("failed to acquire Flock with mode(%d): %s\n", mode, err) } } p2status := BLOCKED done := make(chan bool) execP2 := func(isBlock bool) { cmd := exec.Command(os.Args[0], "-test.run=^TestFlock$", strconv.Itoa(c.p2mode), f.Name()) cmd.Env = append(os.Environ(), "TEST_FLOCK_HELPER=1") out, _ := cmd.CombinedOutput() if p2status, err = strconv.Atoi(string(out)); err != nil { log.Fatalf("p2status is not valid: %s\n", err) } if isBlock { done <- true } } if c.expected == BLOCKED { go execP2(true) <-done } else { execP2(false) } if p2status != int(c.expected) { unix.Flock(c.fd, unix.LOCK_UN) t.Fatalf("expected %d, actual %d\n", c.expected, p2status) } unix.Flock(c.fd, unix.LOCK_UN) }) } } func TestLegacyFlock(t *testing.T) { if v, r := zosLeVersion(); v > 2 || (v == 2 && r > 4) { t.Skipf("Legacy flock can't be used in %d.%d > 2.4. Run TestFlock", v, r) } if os.Getenv("GO_WANT_HELPER_PROCESS") == "1" { defer os.Exit(0) if len(os.Args) != 3 { fmt.Printf("bad argument") return } fn := os.Args[2] f, err := os.OpenFile(fn, os.O_RDWR, 0755) if err != nil { fmt.Printf("%s", err.Error()) return } err = unix.Flock(int(f.Fd()), unix.LOCK_EX|unix.LOCK_NB) // if the lock we are trying should be locked, ignore EAGAIN error // otherwise, report all errors if err != nil && err != unix.EAGAIN { fmt.Printf("%s", err.Error()) } } else { // create tempfile 1 f, err := os.Create(filepath.Join(t.TempDir(), "flock_test_file")) if err != nil { t.Fatalf("TempFile: %s", err.Error()) } defer f.Close() fd := int(f.Fd()) /* Test Case 1 * Try acquiring an occupied lock from another process */ err = unix.Flock(fd, unix.LOCK_EX) if err != nil { t.Fatalf("Flock: %s", err.Error()) } cmd := exec.Command(os.Args[0], "-test.run=TestLegacyFlock", f.Name()) cmd.Env = append(os.Environ(), "GO_WANT_HELPER_PROCESS=1") out, err := cmd.CombinedOutput() if len(out) > 0 || err != nil { t.Fatalf("child process: %q, %v", out, err) } err = unix.Flock(fd, unix.LOCK_UN) if err != nil { t.Fatalf("Flock: %s", err.Error()) } /* Test Case 2 * Try locking with Flock and FcntlFlock for same file */ err = unix.Flock(fd, unix.LOCK_EX) if err != nil { t.Fatalf("Flock: %s", err.Error()) } flock := unix.Flock_t{ Type: int16(unix.F_WRLCK), Whence: int16(0), Start: int64(0), Len: int64(0), Pid: int32(unix.Getppid()), } err = unix.FcntlFlock(f.Fd(), unix.F_SETLK, &flock) if err != nil { t.Fatalf("FcntlFlock: %s", err.Error()) } } } func TestSelect(t *testing.T) { for { n, err := unix.Select(0, nil, nil, nil, &unix.Timeval{Sec: 0, Usec: 0}) if err == unix.EINTR { t.Logf("Select interrupted") continue } else if err != nil { t.Fatalf("Select: %v", err) } if n != 0 { t.Fatalf("Select: got %v ready file descriptors, expected 0", n) } break } dur := 250 * time.Millisecond var took time.Duration for { // On some platforms (e.g. Linux), the passed-in timeval is // updated by select(2). Make sure to reset to the full duration // in case of an EINTR. tv := unix.NsecToTimeval(int64(dur)) start := time.Now() n, err := unix.Select(0, nil, nil, nil, &tv) took = time.Since(start) if err == unix.EINTR { t.Logf("Select interrupted after %v", took) continue } else if err != nil { t.Fatalf("Select: %v", err) } if n != 0 { t.Fatalf("Select: got %v ready file descriptors, expected 0", n) } break } // On some BSDs the actual timeout might also be slightly less than the requested. // Add an acceptable margin to avoid flaky tests. if took < dur*2/3 { t.Errorf("Select: got %v timeout, expected at least %v", took, dur) } rr, ww, err := os.Pipe() if err != nil { t.Fatal(err) } defer rr.Close() defer ww.Close() if _, err := ww.Write([]byte("HELLO GOPHER")); err != nil { t.Fatal(err) } rFdSet := &unix.FdSet{} fd := int(rr.Fd()) rFdSet.Set(fd) for { n, err := unix.Select(fd+1, rFdSet, nil, nil, nil) if err == unix.EINTR { t.Log("Select interrupted") continue } else if err != nil { t.Fatalf("Select: %v", err) } if n != 1 { t.Fatalf("Select: got %v ready file descriptors, expected 1", n) } break } } func TestUnixCredentials(t *testing.T) { var ucred syscall.Ucred if os.Getuid() != 0 { ucred.Pid = int32(os.Getpid()) ucred.Uid = 0 ucred.Gid = 0 } ucred.Pid = int32(os.Getpid()) ucred.Uid = uint32(os.Getuid()) ucred.Gid = uint32(os.Getgid()) oob := syscall.UnixCredentials(&ucred) // On SOCK_STREAM, this is internally going to send a dummy byte scm, err := syscall.ParseSocketControlMessage(oob) if err != nil { t.Fatalf("ParseSocketControlMessage: %v", err) } newUcred, err := syscall.ParseUnixCredentials(&scm[0]) if err != nil { t.Fatalf("ParseUnixCredentials: %v", err) } if *newUcred != ucred { t.Fatalf("ParseUnixCredentials = %+v, want %+v", newUcred, ucred) } } func TestFutimes(t *testing.T) { // Create temp dir and file f, err := os.Create(filepath.Join(t.TempDir(), "futimes_test_file")) if err != nil { t.Fatalf("TempFile: %s", err.Error()) } defer f.Close() fd := int(f.Fd()) // Set mod time to newTime newTime := time.Date(2001, time.Month(2), 15, 7, 7, 7, 0, time.UTC) err = unix.Futimes( fd, []unix.Timeval{ unix.Timeval{newTime.Unix(), 0}, unix.Timeval{newTime.Unix(), 0}, }) if err != nil { t.Fatalf("TestFutimes: %v", err) } // Compare mod time stats, err := f.Stat() if err != nil { t.Fatalf("Stat: %v", err) } modTime := stats.ModTime() if modTime.UTC() != newTime { t.Fatalf("TestFutimes: modTime = %v, want %v", modTime.UTC(), newTime) } } func TestLutimes(t *testing.T) { // Create temp dir and file tempDir := t.TempDir() f, err := os.CreateTemp(tempDir, "lutimes_test_file") if err != nil { t.Fatalf("TempFile: %s", err.Error()) } defer f.Close() symlinkPath := tempDir + "/test_symlink" err = os.Symlink(f.Name(), symlinkPath) if err != nil { t.Fatalf("Symlink: %v", err) } // Set mod time to newTime newTime := time.Date(2001, time.Month(2), 15, 7, 7, 7, 0, time.UTC) err = unix.Lutimes( symlinkPath, []unix.Timeval{ unix.Timeval{newTime.Unix(), 0}, unix.Timeval{newTime.Unix(), 0}, }) if err != nil { t.Fatalf("TestLutimes: %v", err) } // Compare mod time stats, err := os.Lstat(symlinkPath) if err != nil { t.Fatalf("Lstat: %v", err) } modTime := stats.ModTime() if modTime.UTC() != newTime { t.Fatalf("TestLutimes: modTime = %v, want %v", modTime.UTC(), newTime) } } func TestDirfd(t *testing.T) { // Create temporary directory tempDir := t.TempDir() f, err := os.CreateTemp(tempDir, "dirfd_test_file") if err != nil { t.Fatalf("TempFile: %v", err) } defer f.Close() // Open temp dir and get stream dirStream, err := unix.Opendir(tempDir) if err != nil { t.Fatalf("Opendir: %v", err) } defer unix.Closedir(dirStream) // Get fd from stream dirFd, err := unix.Dirfd(dirStream) if err != nil { t.Fatalf("Dirfd: %v", err) } if dirFd < 0 { t.Fatalf("Dirfd: fd < 0, (fd = %v)", dirFd) } oldwd, err := os.Getwd() if err != nil { t.Fatalf("Getwd: %v", err) } defer os.Chdir(oldwd) // Change dir to fd and get path err = unix.Fchdir(dirFd) if err != nil { t.Fatalf("Fchdir: %v", err) } path, err := os.Getwd() if err != nil { t.Fatalf("Getwd: %v", err) } pathInfo, err := os.Lstat(path) if err != nil { t.Fatalf("os.Stat: %v", err) } tempDirInfo2, err := os.Lstat(tempDir) if err != nil { t.Fatalf("os.Stat: %v", err) } // Perform Test if !os.SameFile(pathInfo, tempDirInfo2) { t.Fatalf("Dirfd: expected working directory to be %v, actually: %v", tempDir, path) } } func TestEpollCreate(t *testing.T) { if BypassTestOnUntil("zoscan59", "2024-04-01T12:45:21.123Z") { t.Skip("skipping on zoscan59 until 2024-04-01") } efd, err := unix.EpollCreate(1) if err != nil { t.Fatalf("EpollCreate: %v", err) } defer unix.Close(efd) } func TestEpollCreate1(t *testing.T) { if BypassTestOnUntil("zoscan59", "2024-04-01T12:45:21.123Z") { t.Skip("skipping on zoscan59 until 2024-04-01") } efd, err := unix.EpollCreate1(0) if err != nil { t.Fatalf("EpollCreate1: %v", err) } unix.Close(efd) } func TestEpoll(t *testing.T) { if BypassTestOnUntil("zoscan59", "2024-04-01T12:45:21.123Z") { t.Skip("skipping on zoscan59 until 2024-04-01") } efd, err := unix.EpollCreate1(0) // no CLOEXEC equivalent on z/OS if err != nil { t.Fatalf("EpollCreate1: %v", err) } // no need to defer a close on efd, as it's not a real file descriptor on zos r, w, err := os.Pipe() if err != nil { t.Fatal(err) } defer r.Close() defer w.Close() fd := int(r.Fd()) ev := unix.EpollEvent{Events: unix.EPOLLIN, Fd: int32(fd)} err = unix.EpollCtl(efd, unix.EPOLL_CTL_ADD, fd, &ev) if err != nil { t.Fatalf("EpollCtl: %v", err) } if _, err := w.Write([]byte("HELLO GOPHER")); err != nil { t.Fatal(err) } events := make([]unix.EpollEvent, 128) n, err := unix.EpollWait(efd, events, 1) if err != nil { t.Fatalf("EpollWait: %v", err) } if n != 1 { t.Errorf("EpollWait: wrong number of events: got %v, expected 1", n) } got := int(events[0].Fd) if got != fd { t.Errorf("EpollWait: wrong Fd in event: got %v, expected %v", got, fd) } if events[0].Events&unix.EPOLLIN == 0 { t.Errorf("Expected EPOLLIN flag to be set, got %b", events[0].Events) } x := 0 n, err = unix.EpollPwait(efd, events, 1, &x) if err != nil { t.Fatalf("EpollPwait: %v", err) } } func TestEventfd(t *testing.T) { fd, err := unix.Eventfd(0, 0) if err != nil { t.Fatalf("Eventfd: %v", err) } if fd <= 2 { t.Fatalf("Eventfd: fd <= 2, got: %d", fd) } } func TestEventfdSemaphore(t *testing.T) { efd, err := unix.Eventfd(1, unix.EFD_SEMAPHORE|unix.EFD_NONBLOCK|unix.EFD_CLOEXEC) if err != nil { t.Fatalf("Eventfd: %v", err) } writeBytes := make([]byte, 8) writeBytes[7] = 0x4 n, err := unix.Write(efd, writeBytes) if err != nil { t.Fatalf("Write: %v", err) } if n != 8 { t.Fatalf("Write: only wrote %d bytes, wanted 8", n) } for i := 0; i < 5; i++ { readBytes := make([]byte, 8) n, err := unix.Read(efd, readBytes) if err != nil { t.Fatalf("Read: %v", err) } if n != 8 { t.Fatalf("Read: only read %d bytes, wanted 8", n) } } readBytes := make([]byte, 8) n, err = unix.Read(efd, readBytes) if err == nil || err.Error() != "EDC5112I Resource temporarily unavailable." { t.Fatalf("Read: expected error \"EDC5112I Resource temporarily unavailable.\", got %v", err) } if n != -1 { t.Fatalf("Read: expected error code -1, got %d", n) } if readBytes[7] != 0 { t.Fatalf("Read: expected return of 0, got %d", readBytes[7]) } } func TestStatfs(t *testing.T) { // Create temporary directory tempDir := t.TempDir() var stat unix.Statfs_t if err := unix.Statfs(tempDir, &stat); err != nil { t.Fatalf("Stafs: %v", err) } if stat.Files == 0 { t.Fatalf("Statfs: expected files > 0") } } func TestStatfsProc(t *testing.T) { // Create temporary directory if _, err := os.Stat("/proc/self"); errors.Is(err, os.ErrNotExist) { t.Skip("/proc/self is not exist skipping the test") } var stat unix.Statfs_t if err := unix.Statfs("/proc/self/ns", &stat); err != nil { t.Fatalf("Stafs: %v", err) } if stat.Type != unix.PROC_SUPER_MAGIC { t.Fatalf("Statfs: expected files > 0") } } func TestFstatfs(t *testing.T) { // Create temporary directory file, err := os.Create(filepath.Join(t.TempDir(), "fstatfs_test_file")) if err != nil { t.Fatalf("TempFile: %v", err) } defer file.Close() fd := int(file.Fd()) var stat unix.Statfs_t if err = unix.Fstatfs(fd, &stat); err != nil { t.Fatalf("Stafs: %v", err) } if stat.Files == 0 { t.Fatalf("Statfs: expected files > 0") } } func TestFdatasync(t *testing.T) { t.Skip("FAIL: Known failure, would hang if not skipped") // Create temporary directory file, err := os.Create(filepath.Join(t.TempDir(), "fdatasync_test_file")) if err != nil { t.Fatalf("TempFile: %v", err) } file.Close() fd := int(file.Fd()) var stat1 unix.Stat_t if err = unix.Fstat(fd, &stat1); err != nil { t.Fatalf("Fstat: %v", err) } time.Sleep(1 * time.Second) if _, err := unix.Write(fd, []byte("Test string")); err != nil { t.Fatalf("Write: %v", err) } var stat2 unix.Stat_t if err = unix.Fstat(fd, &stat2); err != nil { t.Fatalf("Fstat: %v", err) } time.Sleep(1 * time.Second) if err = unix.Fdatasync(fd); err != nil { t.Fatalf("Fdatasync: %v", err) } var stat3 unix.Stat_t if err = unix.Fstat(fd, &stat3); err != nil { t.Fatalf("Fstat: %v", err) } if stat2.Mtim != stat3.Mtim { t.Fatalf("Fdatasync: Modify times do not match. Wanted %v, got %v", stat2.Mtim, stat3.Mtim) } } func TestReadDirent(t *testing.T) { // Create temporary directory and files tempDir := t.TempDir() f1, err := os.CreateTemp(tempDir, "ReadDirent_test_file") if err != nil { t.Fatalf("TempFile: %v", err) } defer f1.Close() f2, err := os.CreateTemp(tempDir, "ReadDirent_test_file") if err != nil { t.Fatalf("TempFile: %v", err) } defer f2.Close() tempSubDir, err := os.MkdirTemp(tempDir, "ReadDirent_SubDir") if err != nil { t.Fatalf("TempDir: %v", err) } f3, err := os.CreateTemp(tempSubDir, "ReadDirent_subDir_test_file") if err != nil { t.Fatalf("TempFile: %v", err) } defer f3.Close() // Get fd of tempDir dir, err := os.Open(tempDir) if err != nil { t.Fatalf("Open: %v", err) } defer dir.Close() fd := int(dir.Fd()) // Run Getdirentries buf := make([]byte, 2048) n, err := unix.ReadDirent(fd, buf) if err != nil { t.Fatalf("ReadDirent: %v", err) } if n == 0 { t.Fatalf("ReadDirent: 0 bytes read") } names := make([]string, 0) consumed, count, _ := unix.ParseDirent(buf, 100, names) if consumed == 0 { t.Fatalf("ParseDirent: consumed 0 bytes") } if count != 3 { t.Fatalf("ParseDirent: only recorded %d entries, expected 3", count) } } func TestPipe2(t *testing.T) { var p [2]int err := unix.Pipe2(p[:], unix.O_CLOEXEC) if err != nil { t.Fatalf("Pipe2: %v", err) } r, w := int(p[0]), int(p[1]) n1, err := unix.Write(w, []byte("Testing pipe2!")) if err != nil { t.Fatalf("Write: %v", err) } buf := make([]byte, 256) n2, err := unix.Read(r, buf[:]) if err != nil { t.Fatalf("Read: %v", err) } if n1 != n2 { t.Fatalf("Pipe2: bytes read != bytes written. Wrote %d, read %d", n1, n2) } } func TestInotify(t *testing.T) { // Driver func to try and capture all possible events t.Run("IN_ACCESS", inotify_access) t.Run("IN_ATTRIB", inotify_attrib) t.Run("IN_CLOSE_WRITE", inotify_close_write) t.Run("IN_CLOSE_NOWRITE", inotify_close_nowrite) t.Run("IN_CREATE", inotify_create) t.Run("IN_DELETE", inotify_delete) t.Run("IN_DELETE_SELF", inotify_delete_self) t.Run("IN_MODIFY", inotify_modify) t.Run("IN_MOVE_SELF", inotify_move_self) t.Run("IN_MOVED_FROM", inotify_moved_from) t.Run("IN_MOVED_TO", inotify_moved_to) t.Run("IN_OPEN", inotify_open) } func inotify_access(t *testing.T) { // Create temporary files tempDir := t.TempDir() tempFile, err := os.Create(filepath.Join(tempDir, "inotify_access_test_file")) if err != nil { t.Fatalf("TempFile: %v", err) } defer tempFile.Close() // Setup iNotify infd, err := unix.InotifyInit1(unix.IN_CLOEXEC | unix.IN_NONBLOCK) if err != nil { t.Fatalf("InotifyInit1: %v", err) } wd, err := unix.InotifyAddWatch(infd, tempFile.Name(), unix.IN_ACCESS) if err != nil { t.Fatalf("InotifyAddWatch: %v", err) } // Trigger Event n, err := tempFile.Write([]byte("Writing before reading")) if err != nil { t.Fatalf("Write: %v", err) } if n <= 0 { t.Fatalf("Did not write any data") } tempFile.Seek(0, 0) buf := make([]byte, 64) n, err = tempFile.Read(buf) if err != nil { t.Fatalf("Read: %v", err) } if n <= 0 { t.Fatalf("Did not read any data") } // Expect event buf = make([]byte, unix.SizeofInotifyEvent) n, err = unix.Read(infd, buf[:]) if n == -1 { t.Fatalf("No event was read from the iNotify fd") } // Remove Watch if _, err = unix.InotifyRmWatch(infd, uint32(wd)); err != nil { t.Fatalf("InotifyRmWatch: %v", err) } } func inotify_attrib(t *testing.T) { // Create temporary files tempDir := t.TempDir() tempFile, err := os.Create(filepath.Join(tempDir, "inotify_attrib_test_file")) if err != nil { t.Fatalf("TempFile: %v", err) } defer tempFile.Close() // Setup iNotify infd, err := unix.InotifyInit1(unix.IN_CLOEXEC | unix.IN_NONBLOCK) if err != nil { t.Fatalf("InotifyInit1: %v", err) } defer unix.Close(infd) wd, err := unix.InotifyAddWatch(infd, tempFile.Name(), unix.IN_ATTRIB) if err != nil { t.Fatalf("InotifyAddWatch: %v", err) } // Trigger Event if err = tempFile.Chmod(0777); err != nil { t.Fatalf("Chmod: %v", err) } // Expect event buf := make([]byte, unix.SizeofInotifyEvent) n, err := unix.Read(infd, buf[:]) if n == -1 { t.Fatalf("No event was read from the iNotify fd") } // Remove Watch if _, err = unix.InotifyRmWatch(infd, uint32(wd)); err != nil { t.Fatalf("InotifyRmWatch: %v", err) } } func inotify_close_write(t *testing.T) { // Create temporary files tempDir := t.TempDir() tempFile, err := os.Create(filepath.Join(tempDir, "inotify_close_write_test_file")) if err != nil { t.Fatalf("TempFile: %v", err) } // File closed in test later // Setup iNotify infd, err := unix.InotifyInit1(unix.IN_CLOEXEC | unix.IN_NONBLOCK) if err != nil { t.Fatalf("InotifyInit1: %v", err) } wd, err := unix.InotifyAddWatch(infd, tempFile.Name(), unix.IN_CLOSE_WRITE) if err != nil { t.Fatalf("InotifyAddWatch: %v", err) } // Trigger Event _, err = tempFile.Write([]byte("Writing before closing")) if err != nil { t.Fatalf("Write: %v", err) } tempFile.Close() // Expect event buf := make([]byte, unix.SizeofInotifyEvent) n, err := unix.Read(infd, buf[:]) if n == -1 { t.Fatalf("No event was read from the iNotify fd") } // Remove Watch if _, err = unix.InotifyRmWatch(infd, uint32(wd)); err != nil { t.Fatalf("InotifyRmWatch: %v", err) } } func inotify_close_nowrite(t *testing.T) { // Create temporary files tempDir := t.TempDir() tempFile, err := os.CreateTemp(tempDir, "inotify_close_nowrite_test_file") if err != nil { t.Fatalf("TempFile: %v", err) } // File closed later in test // Setup iNotify infd, err := unix.InotifyInit1(unix.IN_CLOEXEC | unix.IN_NONBLOCK) if err != nil { t.Fatalf("InotifyInit1: %v", err) } wd, err := unix.InotifyAddWatch(infd, tempDir, unix.IN_CLOSE_NOWRITE) if err != nil { t.Fatalf("InotifyAddWatch: %v", err) } // Trigger Event d, err := os.Open(tempDir) if err != nil { t.Fatalf("Opendir: %v", err) } tempFile.Close() d.Close() // Expect event buf := make([]byte, unix.SizeofInotifyEvent*4) n, err := unix.Read(infd, buf[:]) if err != nil { t.Fatalf("Read: %v", err) } if n == 0 { t.Fatalf("No event was read from the iNotify fd") } // Remove Watch if _, err = unix.InotifyRmWatch(infd, uint32(wd)); err != nil { t.Fatalf("InotifyRmWatch: %v", err) } } func inotify_create(t *testing.T) { // Create temporary files tempDir := t.TempDir() // Setup iNotify infd, err := unix.InotifyInit1(unix.IN_CLOEXEC | unix.IN_NONBLOCK) if err != nil { t.Fatalf("InotifyInit1: %v", err) } wd, err := unix.InotifyAddWatch(infd, tempDir, unix.IN_CREATE) if err != nil { t.Fatalf("InotifyAddWatch: %v", err) } // Trigger Event f, err := os.CreateTemp(tempDir, "inotify_create_test_file") if err != nil { t.Fatalf("TempFile: %v", err) } f.Close() // Expect event buf := make([]byte, unix.SizeofInotifyEvent*4) n, err := unix.Read(infd, buf[:]) if err != nil { t.Fatalf("Read: %v", err) } if n == 0 { t.Fatalf("No event was read from the iNotify fd") } // Remove Watch if _, err = unix.InotifyRmWatch(infd, uint32(wd)); err != nil { t.Fatalf("InotifyRmWatch: %v", err) } } func inotify_delete(t *testing.T) { // Create temporary files tempDir := t.TempDir() tempFile, err := os.CreateTemp(tempDir, "inotify_delete_test_file") if err != nil { t.Fatalf("TempFile: %v", err) } // File closed later in test // Setup iNotify infd, err := unix.InotifyInit1(unix.IN_CLOEXEC | unix.IN_NONBLOCK) if err != nil { t.Fatalf("InotifyInit1: %v", err) } wd, err := unix.InotifyAddWatch(infd, tempDir, unix.IN_DELETE) if err != nil { t.Fatalf("InotifyAddWatch: %v", err) } // Trigger Event name := tempFile.Name() tempFile.Close() if err = os.Remove(name); err != nil { t.Fatalf("Remove: %v", err) } // Expect event buf := make([]byte, unix.SizeofInotifyEvent*4) n, err := unix.Read(infd, buf[:]) if err != nil { t.Fatalf("Read: %v", err) } if n == 0 { t.Fatalf("No event was read from the iNotify fd") } // Remove Watch if _, err = unix.InotifyRmWatch(infd, uint32(wd)); err != nil { t.Fatalf("InotifyRmWatch: %v", err) } } func inotify_delete_self(t *testing.T) { // Create temporary files tempDir := t.TempDir() tempFile, err := os.CreateTemp(tempDir, "inotify_delete_self_test_file") if err != nil { t.Fatalf("TempFile: %v", err) } // File closed later in test // Setup iNotify infd, err := unix.InotifyInit1(unix.IN_CLOEXEC | unix.IN_NONBLOCK) if err != nil { t.Fatalf("InotifyInit1: %v", err) } _, err = unix.InotifyAddWatch(infd, tempDir, unix.IN_DELETE_SELF) if err != nil { t.Fatalf("InotifyAddWatch: %v", err) } // Trigger Event tempFile.Close() if err = os.RemoveAll(tempDir); err != nil { t.Fatalf("RemoveAll: %v", err) } // Expect event buf := make([]byte, unix.SizeofInotifyEvent) n, err := unix.Read(infd, buf[:]) if err != nil { t.Fatalf("Read: %v", err) } if n == 0 { t.Fatalf("No event was read from the iNotify fd") } } func inotify_modify(t *testing.T) { // Create temporary files tempDir := t.TempDir() tempFile, err := os.CreateTemp(tempDir, "inotify_modify_test_file") if err != nil { t.Fatalf("TempFile: %v", err) } defer tempFile.Close() // Setup iNotify infd, err := unix.InotifyInit1(unix.IN_CLOEXEC | unix.IN_NONBLOCK) if err != nil { t.Fatalf("InotifyInit1: %v", err) } wd, err := unix.InotifyAddWatch(infd, tempFile.Name(), unix.IN_MODIFY) if err != nil { t.Fatalf("InotifyAddWatch: %v", err) } // Trigger Event _, err = tempFile.Write([]byte("Writing before closing")) if err != nil { t.Fatalf("Write: %v", err) } // Expect event buf := make([]byte, unix.SizeofInotifyEvent) n, err := unix.Read(infd, buf[:]) if err != nil { t.Fatalf("Read: %v", err) } if n == 0 { t.Fatalf("No event was read from the iNotify fd") } // Remove Watch if _, err = unix.InotifyRmWatch(infd, uint32(wd)); err != nil { t.Fatalf("InotifyRmWatch: %v", err) } } func inotify_move_self(t *testing.T) { // Create temporary files tempDir := t.TempDir() tempFile, err := os.CreateTemp(tempDir, "inotify_move_self_test_file") if err != nil { t.Fatalf("TempFile: %v", err) } defer tempFile.Close() // Setup iNotify infd, err := unix.InotifyInit1(unix.IN_CLOEXEC | unix.IN_NONBLOCK) if err != nil { t.Fatalf("InotifyInit1: %v", err) } wd, err := unix.InotifyAddWatch(infd, tempFile.Name(), unix.IN_MOVE_SELF) if err != nil { t.Fatalf("InotifyAddWatch: %v", err) } // Trigger Event err = os.Rename(tempFile.Name(), tempFile.Name()+"2") if err != nil { t.Fatalf("Rename: %v", err) } // Expect event buf := make([]byte, unix.SizeofInotifyEvent) n, err := unix.Read(infd, buf[:]) if err != nil { t.Fatalf("Read: %v", err) } if n == 0 { t.Fatalf("No event was read from the iNotify fd") } // Remove Watch if _, err = unix.InotifyRmWatch(infd, uint32(wd)); err != nil { t.Fatalf("InotifyRmWatch: %v", err) } } func inotify_moved_from(t *testing.T) { // Create temporary files tempDir1 := t.TempDir() tempDir2 := t.TempDir() tempFile, err := os.CreateTemp(tempDir1, "inotify_moved_from_test_file") if err != nil { t.Fatalf("TempFile: %v", err) } defer tempFile.Close() // Setup iNotify infd, err := unix.InotifyInit1(unix.IN_CLOEXEC | unix.IN_NONBLOCK) if err != nil { t.Fatalf("InotifyInit1: %v", err) } wd, err := unix.InotifyAddWatch(infd, tempDir1, unix.IN_MOVED_FROM) if err != nil { t.Fatalf("InotifyAddWatch: %v", err) } // Trigger Event filename := strings.TrimPrefix(tempFile.Name(), tempDir1) err = os.Rename(tempDir1+filename, tempDir2+filename) if err != nil { t.Fatalf("Rename: %v", err) } // Expect event buf := make([]byte, unix.SizeofInotifyEvent*4) n, err := unix.Read(infd, buf[:]) if err != nil { t.Fatalf("Read: %v", err) } if n == 0 { t.Fatalf("No event was read from the iNotify fd") } // Remove Watch if _, err = unix.InotifyRmWatch(infd, uint32(wd)); err != nil { t.Fatalf("InotifyRmWatch: %v", err) } } func inotify_moved_to(t *testing.T) { // Create temporary files tempDir1 := t.TempDir() tempDir2 := t.TempDir() tempFile, err := os.CreateTemp(tempDir1, "inotify_moved_to_test_file") if err != nil { t.Fatalf("TempFile: %v", err) } defer tempFile.Close() // Setup iNotify infd, err := unix.InotifyInit1(unix.IN_CLOEXEC | unix.IN_NONBLOCK) if err != nil { t.Fatalf("InotifyInit1: %v", err) } wd, err := unix.InotifyAddWatch(infd, tempDir2, unix.IN_MOVED_TO) if err != nil { t.Fatalf("InotifyAddWatch: %v", err) } // Trigger Event filename := strings.TrimPrefix(tempFile.Name(), tempDir1) err = os.Rename(tempDir1+filename, tempDir2+filename) if err != nil { t.Fatalf("Rename: %v", err) } // Expect event buf := make([]byte, unix.SizeofInotifyEvent*4) n, err := unix.Read(infd, buf[:]) if err != nil { t.Fatalf("Read: %v", err) } if n == 0 { t.Fatalf("No event was read from the iNotify fd") } // Remove Watch if _, err = unix.InotifyRmWatch(infd, uint32(wd)); err != nil { t.Fatalf("InotifyRmWatch: %v", err) } } func inotify_open(t *testing.T) { // Create temporary files tempDir := t.TempDir() tempFile, err := os.CreateTemp(tempDir, "inotify_open_test_file") if err != nil { t.Fatalf("TempFile: %v", err) } // File closed later in test // Setup iNotify infd, err := unix.InotifyInit1(unix.IN_CLOEXEC | unix.IN_NONBLOCK) if err != nil { t.Fatalf("InotifyInit1: %v", err) } wd, err := unix.InotifyAddWatch(infd, tempFile.Name(), unix.IN_OPEN) if err != nil { t.Fatalf("InotifyAddWatch: %v", err) } // Trigger Event name := tempFile.Name() tempFile.Close() f, err := os.Open(name) if err != nil { t.Fatalf("Open: %v", err) } defer f.Close() // Expect event buf := make([]byte, unix.SizeofInotifyEvent) n, err := unix.Read(infd, buf[:]) if err != nil { t.Fatalf("Read: %v", err) } if n == 0 { t.Fatalf("No event was read from the iNotify fd") } // Remove Watch if _, err = unix.InotifyRmWatch(infd, uint32(wd)); err != nil { t.Fatalf("InotifyRmWatch: %v", err) } } func TestSockNonblock(t *testing.T) { ch1 := make(chan int) go func() { select { case <-ch1: } client, err := unix.Socket(unix.AF_INET, unix.SOCK_STREAM|unix.SOCK_CLOEXEC, 0) if err != nil { t.Fatalf("Socket: %v", err) } defer unix.Close(client) clientSA := unix.SockaddrInet4{Port: 33333, Addr: [4]byte{127, 0, 0, 1}} err = unix.Connect(client, &clientSA) if err != nil { t.Fatalf("Connect: %v", err) } select { case <-ch1: } }() server, err := unix.Socket(unix.AF_INET, unix.SOCK_STREAM|unix.SOCK_CLOEXEC, 0) if err != nil { t.Fatalf("Socket: %v", err) } defer unix.Close(server) serverSA := unix.SockaddrInet4{Port: 33333, Addr: [4]byte{}} err = unix.SetsockoptInt(server, unix.SOL_SOCKET, unix.SO_REUSEADDR, 1) if err != nil { t.Fatalf("SetsockoptInt: %v", err) } err = unix.Bind(server, &serverSA) if err != nil { t.Fatalf("Bind: %v", err) } err = unix.Listen(server, 3) if err != nil { t.Fatalf("Listen: %v", err) } ch1 <- 1 accept, _, err := unix.Accept4(server, unix.SOCK_NONBLOCK|unix.SOCK_CLOEXEC) if err != nil { t.Fatalf("Accept: %v", err) } buf := make([]byte, 16) _, err = unix.Read(accept, buf) if err.Error() != "EDC8102I Operation would block." { t.Fatalf("Read: Expected error \"EDC8102I Operation would block.\", but got \"%v\"", err) } ch1 <- 1 } func TestSockIPTTL(t *testing.T) { server, err := unix.Socket(unix.AF_INET, unix.SOCK_STREAM|unix.SOCK_CLOEXEC, 0) if err != nil { t.Fatalf("Socket: %v", err) } ttl, err := unix.GetsockoptInt(server, unix.IPPROTO_IP, unix.IP_TTL) if err != nil { t.Fatalf("GetsockoptInt: %v", err) } if ttl != 64 { t.Fatalf("Expected TTL value of 64, got %v", ttl) } err = unix.SetsockoptInt(server, unix.IPPROTO_IP, unix.IP_TTL, 65) if err != nil { t.Fatalf("SetsockoptInt: %v", err) } ttl, err = unix.GetsockoptInt(server, unix.IPPROTO_IP, unix.IP_TTL) if err != nil { t.Fatalf("GetsockoptInt: %v", err) } if ttl != 65 { t.Fatalf("Expected TTL value of 65, got %v", ttl) } } func TestSethostname(t *testing.T) { name, err := os.Hostname() if err != nil { t.Fatalf("Failed to get hostname: %v", err) } err = unix.Sethostname([]byte(name)) if !strings.Contains(err.Error(), unix.ENOTSUP.Error()) { t.Fatalf("Sethostname: Expected error \"EDC5247I Operation not supported.\", but got \"%v\"", err) } } func TestGetrandom(t *testing.T) { buf := make([]byte, 16) n, err := unix.Getrandom(buf, unix.GRND_NONBLOCK|unix.GRND_RANDOM) if err != nil { t.Fatalf("Getrandom: %v", err) } if n != 16 { t.Fatalf("Expected to read %d bytes. Actually read %d", 16, n) } sum := 0 for _, v := range buf { sum += int(v) } if sum == 0 { t.Fatalf("Getrandom: no random values retrieved") } } func TestTermios(t *testing.T) { const ioctlReadTermios = unix.TCGETS const ioctlWriteTermios = unix.TCSETS // Get address of controlling terminal tty, err := unix.Ctermid() if err != nil { fmt.Fprintf(os.Stderr, "Error: %v\n", err) t.Skip("No terminal") } // Open controlling terminal f, err := unix.Open(tty, 3, 0755) if err != nil { t.Skipf("Skipping because opening /dev/tty failed: %v", err) } defer unix.Close(f) // Test IoctlGetTermios termios, err := unix.IoctlGetTermios(f, ioctlReadTermios) // Save old terminal settings to restore oldTermios := *termios if err != nil { t.Fatalf("IoctlGetTermios: %v", err) } // This attempts to replicate the behaviour documented for cfmakeraw in // the termios(3) manpage. termios.Iflag &^= unix.IGNBRK | unix.BRKINT | unix.PARMRK | unix.ISTRIP | unix.INLCR | unix.IGNCR | unix.ICRNL | unix.IXON termios.Oflag &^= unix.OPOST termios.Lflag &^= unix.ECHO | unix.ECHONL | unix.ICANON | unix.ISIG | unix.IEXTEN termios.Cflag &^= unix.CSIZE | unix.PARENB termios.Cflag |= unix.CS8 termios.Cc[unix.VMIN] = 1 termios.Cc[unix.VTIME] = 0 // Test IoctlSetTermios if err := unix.IoctlSetTermios(f, ioctlWriteTermios, termios); err != nil { t.Fatalf("IoctlSetTermios: %v", err) } // Restore if err := unix.IoctlSetTermios(f, ioctlWriteTermios, &oldTermios); err != nil { t.Fatalf("IoctlSetTermios: %v", err) } } func TestDup3(t *testing.T) { data := []byte("Test String") // Create temporary files tempDir := t.TempDir() tempFile, err := os.Create(filepath.Join(tempDir, "dup3_test_file")) if err != nil { t.Fatalf("TempFile: %v", err) } defer tempFile.Close() // Duplicate fd fd1, err := unix.Open(tempFile.Name(), unix.O_RDWR|unix.O_CLOEXEC, 777) if err != nil { t.Fatalf("Open: %v", err) } defer unix.Close(fd1) fd2 := 11 if err := unix.Dup3(fd1, fd2, unix.O_CLOEXEC); err != nil { t.Fatalf("Dup3: %v", err) } defer unix.Close(fd2) // Write n, err := unix.Write(fd2, data) if err != nil { t.Fatalf("Write: %v", err) } if n != len(data) { t.Fatalf("Write: only wrote %d bytes, expected %d", n, len(data)) } // Read buf := make([]byte, 16) n, err = tempFile.Read(buf) if err != nil { t.Fatalf("Read: %v", err) } if n != len(data) { t.Fatalf("Read: only read %d bytes, expected %d", n, len(data)) } // Compare for i := 0; i < len(data); i++ { if buf[i] != data[i] { t.Fatalf("Dup3: data read did not match data written") } } } func TestWait4(t *testing.T) { if v, r := zosLeVersion(); v <= 2 && r <= 4 { t.Skipf("New wait4 can't be used in %d.%d < 2.5", v, r) } if os.Getenv("TEST_WAIT4_HELPER") == "1" { exitCode, err := strconv.Atoi(os.Args[2]) if err != nil { fmt.Printf("exit code cannot be parsed: %s\n", err) } defer os.Exit(exitCode) for i := 0; i < 50000000; i++ { } return } const ( childPid = -2 core = 0x80 exited = 0x00 stopped = 0x7F shift = 8 ) pgid, err := unix.Getpgid(os.Getpid()) if err != nil { t.Fatal(err) } testCases := []struct { name string exitCode int pid int options int signals []syscall.Signal wpid int err error ws unix.WaitStatus }{ {"Child's pgid", 0, -pgid, 0, []syscall.Signal{}, childPid, nil, exited}, {"Any", 0, -1, 0, []syscall.Signal{}, childPid, nil, exited}, {"Pid zero", 0, 0, 0, []syscall.Signal{}, childPid, nil, exited}, {"Child's pid", 0, childPid, 0, []syscall.Signal{}, childPid, nil, exited}, {"Exited with 2", 2, childPid, 0, []syscall.Signal{}, childPid, nil, unix.WaitStatus((2 << shift) | exited)}, {"No hang", 0, childPid, unix.WNOHANG, []syscall.Signal{}, 0, nil, exited}, {"No child", 0, os.Getpid(), 0, []syscall.Signal{}, -1, unix.ECHILD, exited}, {"Inval", 0, -1, -1, []syscall.Signal{}, -1, unix.EINVAL, exited}, {"Killed", 0, childPid, 0, []syscall.Signal{unix.SIGKILL}, childPid, nil, unix.WaitStatus(unix.SIGKILL)}, {"Interrupted", 0, childPid, 0, []syscall.Signal{unix.SIGINT}, childPid, nil, unix.WaitStatus(unix.SIGINT)}, {"Stopped", 0, childPid, unix.WUNTRACED, []syscall.Signal{unix.SIGSTOP}, childPid, nil, unix.WaitStatus((unix.SIGSTOP << shift) | stopped)}, {"Core dump", 0, childPid, unix.WUNTRACED, []syscall.Signal{unix.SIGTRAP}, childPid, nil, unix.WaitStatus(core | unix.SIGTRAP)}, // TODO(paulc): Skipping these two until wait4 behaves the same as in Linux // {"Continued", 0, cpid, unix.WCONTINUED, []syscall.Signal{unix.SIGSTOP, unix.SIGCONT}, cpid, nil, 0xffff}, // {"Intmin", 0, -2147483648, 0, []syscall.Signal{}, -1, unix.ESRCH, exited}, } for _, c := range testCases { t.Run(c.name, func(t *testing.T) { cmd := exec.Command(os.Args[0], "-test.run=^TestWait4$", fmt.Sprint(c.exitCode)) cmd.Env = []string{"TEST_WAIT4_HELPER=1"} if err := cmd.Start(); err != nil { t.Fatal(err) } for i, sig := range c.signals { if err := cmd.Process.Signal(sig); err != nil { cmd.Process.Kill() t.Fatal(err) } if i != len(c.signals)-1 { time.Sleep(1000 * time.Millisecond) } } pid, wpid := c.pid, c.wpid if c.pid == childPid { pid = cmd.Process.Pid } if c.wpid == childPid { wpid = cmd.Process.Pid } ws := unix.WaitStatus(0) ru := unix.Rusage{} ret, err := unix.Wait4(pid, &ws, c.options, &ru) if err != c.err { t.Fatalf("expected %s error but got %s error\n", c.err, err) } if ret != wpid { t.Fatalf("expected return value of %d but got %d\n", wpid, ret) } if ws != c.ws { t.Fatalf("expected wait status %x but got %x\n", c.ws, ws) } if err == nil && len(c.signals) == 0 && c.options&unix.WNOHANG != unix.WNOHANG { if emptyRU := new(unix.Rusage); ru == *emptyRU { t.Fatalf("expected non-empty rusage but got %+v", ru) } } cmd.Process.Kill() }) } } func TestNanosleep(t *testing.T) { waitTime := int64(10000000) var ts, tsLeftover unix.Timespec ts = unix.Timespec{ Sec: 0, Nsec: waitTime, } tsLeftover = unix.Timespec{ Sec: 0, Nsec: 0, } t1 := time.Now().UnixNano() if err := unix.Nanosleep(&ts, &tsLeftover); err != nil { t.Fatalf("Nanosleep: %v", err) } t2 := time.Now().UnixNano() if t2-t1 < waitTime { t.Fatalf("Nanosleep: did not wait long enough. Expected: %d, got: %d", waitTime, t2-t1) } } func TestOpenat2(t *testing.T) { how := &unix.OpenHow{ Flags: unix.O_RDONLY, } fd, err := unix.Openat2(unix.AT_FDCWD, ".", how) if err != nil { t.Fatalf("openat2: %v", err) } if err := unix.Close(fd); err != nil { t.Fatalf("close: %v", err) } // prepare tempDir := t.TempDir() subdir := filepath.Join(tempDir, "dir") if err := os.Mkdir(subdir, 0755); err != nil { t.Fatal(err) } symlink := filepath.Join(subdir, "symlink") if err := os.Symlink("../", symlink); err != nil { t.Fatal(err) } dirfd, err := unix.Open(subdir, unix.O_RDONLY, 0) if err != nil { t.Fatalf("open(%q): %v", subdir, err) } defer unix.Close(dirfd) // openat2 with no extra flags -- should succeed fd, err = unix.Openat2(dirfd, "symlink", how) if err != nil { t.Errorf("Openat2 should succeed, got %v", err) } if err := unix.Close(fd); err != nil { t.Fatalf("close: %v", err) } // open with RESOLVE_BENEATH, should result in EXDEV how.Resolve = unix.RESOLVE_BENEATH fd, err = unix.Openat2(dirfd, "symlink", how) if err == nil { if err := unix.Close(fd); err != nil { t.Fatalf("close: %v", err) } } if err != unix.EXDEV { t.Errorf("Openat2 should fail with EXDEV, got %v", err) } } func TestUtimesNanoAt(t *testing.T) { // z/OS currently does not support setting milli/micro/nanoseconds for files // The Nsec field will be 0 when trying to get atime/mtime // Create temp dir and file f, err := os.Create(filepath.Join(t.TempDir(), "utimesNanoAt_test_file")) if err != nil { t.Fatalf("TempFile: %v", err) } defer f.Close() fd := int(f.Fd()) // Set atime and mtime ts := []unix.Timespec{ unix.Timespec{123456789, 123456789}, unix.Timespec{123456789, 123456789}, } atimeTS := time.Unix(ts[0].Sec, ts[0].Nsec) mtimeTS := time.Unix(ts[1].Sec, ts[1].Nsec) err = unix.UtimesNanoAt(fd, f.Name(), ts, 0) if err != nil { t.Fatalf("TestUtimesNanoAt: %v", err) } // Compare atime and mtime var statAfter unix.Stat_t if err = unix.Fstat(fd, &statAfter); err != nil { t.Fatalf("Fstat: %v", err) } atimeAfter := time.Unix(statAfter.Atim.Sec, statAfter.Atim.Nsec) mtimeAfter := time.Unix(statAfter.Mtim.Sec, statAfter.Mtim.Nsec) // TODO (joon): check using time.Equal() once z/OS supports finer timestamps for files if atimeAfter.Unix() != atimeTS.Unix() { t.Fatalf("Expected atime to be %v. Got %v", atimeAfter.Unix(), atimeTS.Unix()) } if mtimeAfter.Unix() != mtimeTS.Unix() { t.Fatalf("Expected mtime to be %v. Got %v", atimeAfter.Unix(), atimeTS.Unix()) } } func TestPivotRoot(t *testing.T) { if euid != 0 { t.Skip("euid != 0") } err := unix.Unshare(unix.CLONE_NEWNS) if err != nil { t.Fatalf("Unshare: %v", err) } // Create our 'new_root' and bind mount it to satisfy one of the conditions of pivot_root newRoot := t.TempDir() err = unix.Mount(newRoot, newRoot, "", unix.MS_BIND|unix.MS_REC, "") if err != nil { t.Fatalf("Mount: %v", err) } // Create our 'old_root' oldRoot, err := os.MkdirTemp(newRoot, "oldRoot") if err != nil { t.Fatalf("TempDir: %v", err) } // Perform the pivot and check that our old root is now a subfolder in our new root if err = unix.PivotRoot(newRoot, oldRoot); err != nil { t.Fatalf("PivotRoot: %v", err) } err = unix.Chdir("/") if err != nil { t.Fatalf("Chdir: %v", err) } if _, err := os.Stat("/" + filepath.Base(oldRoot)); os.IsNotExist(err) { t.Fatalf("Expected to see old root as a subdirectory.") } } func TestMountUnmount(t *testing.T) { if v, r := zosLeVersion(); v < 2 || (v == 2 && r < 4) { t.Skipf("New mount can't be used in %d.%d < 2.5. Run TestLegacyMountUnmount", v, r) } if _, err := os.Stat("/proc/self"); errors.Is(err, os.ErrNotExist) { t.Skip("/proc/self is not exist skipping the test") } // Check that TFS is installed on the system, otherwise the test cannot be performed. b, err := os.ReadFile("/proc/filesystems") if err != nil { t.Fatalf("ReadFile: %v", err) } filesystems := string(b) if !strings.Contains(filesystems, "TFS") { t.Skip("Missing TFS filesystem") } // Create a temp directory for the TFS tempSrc := t.TempDir() // Mount the TFS tfs := "testTFS" err = exec.Command("/usr/sbin/mount", "-t", "TFS", "-f", tfs, tempSrc).Run() if err != nil { t.Skip("Could not create TFS") } // Create a temp dir and test Mount() tempTgt := t.TempDir() err = unix.Mount(tempSrc, tempTgt, "TFS", 0, "") if err != nil { t.Fatalf("Mount: %v", err) } // Unmount and cleanup err = unix.Unmount(tempTgt, 0) if err != nil { t.Fatalf("Unmount: %v", err) } err = exec.Command("/usr/sbin/unmount", "-f", tfs).Run() if err != nil { t.Fatalf("Could not remove TFS") } } func TestMountNamespace(t *testing.T) { if v, r := zosLeVersion(); v <= 2 && r <= 4 { t.Skipf("Namespaces not available on z/OS %v.%v", v, r) } // Check that TFS is installed on the system, otherwise the test cannot be performed. b, err := os.ReadFile("/proc/filesystems") if err != nil { t.Skipf("Problem with reading /proc/filesystems: %v", err) } filesystems := string(b) if !strings.Contains(filesystems, "TFS") { t.Skipf("Missing TFS filesystem") } if os.Getenv("SETNS_HELPER_PROCESS") == "1" { err := unix.Unshare(unix.CLONE_NEWNS) if err != nil { t.Skipf("Unshare: %v", err) } // Create a temp directory for the TFS tempSrc := t.TempDir() // Mount the TFS err = exec.Command("/usr/sbin/mount", "-t", "TFS", "-f", "testTFS", tempSrc).Run() if err != nil { t.Skipf("Could not create TFS") } data, err := os.ReadFile("/proc/mounts") if err != nil { t.Fatalf("ReadFile: %v", err) } err = os.WriteFile(os.Getenv("MNT_NS_FILE"), data, 644) if err != nil { t.Fatalf("WriteFile: %v", err) } return } // Make a file to copy the child process' mount information f, err := os.CreateTemp("", "mntNsTestFile") if err != nil { t.Fatalf("Could not create temp file") } defer os.Remove(f.Name()) f.Close() cmd := exec.Command(os.Args[0], "-test.v", "-test.run=^TestMountNamespace$") cmd.Env = append(os.Environ(), "SETNS_HELPER_PROCESS=1") cmd.Env = append(cmd.Env, "MNT_NS_FILE="+f.Name()) // Create the child process and get the path of the TFS mount to be cleaned up out, err := cmd.CombinedOutput() if err != nil { t.Fatalf("helper process failed: %v\n%v", err, string(out)) } if strings.Contains(string(out), "SKIP") { t.Skipf("helper process: %v", string(out)) } tfsDir := strings.Split(string(out), "\n")[1] defer os.RemoveAll(tfsDir) d1, err := os.ReadFile(f.Name()) if err != nil { t.Fatalf("ReadFile: %v", err) } d2, err := os.ReadFile("/proc/mounts") if err != nil { t.Fatalf("ReadFile: %v", err) } // Check that the TFS created in the child process was not made in the parent if !strings.Contains(string(d1), tfsDir) { t.Errorf("Expected to see %v in child process' /proc/mounts", tfsDir) } if strings.Contains(string(d2), tfsDir) { t.Errorf("Expected not to see %v in parent process' /proc/mounts", tfsDir) } } func TestMkfifoat(t *testing.T) { name := fmt.Sprintf("fifo%d", os.Getpid()) pname := fmt.Sprintf("/tmp/fifo%d", os.Getpid()) dirStream, err := unix.Opendir("/tmp") if err != nil { t.Fatalf("Opendir: %v", err) } defer unix.Closedir(dirStream) dirFd, err := unix.Dirfd(dirStream) if err != nil { t.Fatalf("Dirfd: %v", err) } if dirFd < 0 { t.Fatalf("Dirfd: fd < 0, (fd = %v)", dirFd) } err = unix.Mkfifoat(dirFd, name, 0666) if err != nil { t.Fatalf("Mkfifoat: failed to create FIFO: %v at %d", err, dirFd) } st, err := os.Stat(pname) if err != nil { t.Fatalf("Mkfifoat: failed to stat FIFO: %s %v", pname, err) } if st.Mode()&os.ModeNamedPipe != os.ModeNamedPipe { t.Fatalf("Mkfifoat: %s is not a FIFO", pname) } os.Remove(pname) } func TestMkdirat(t *testing.T) { name := fmt.Sprintf("dir%d", os.Getpid()) pname := fmt.Sprintf("/tmp/dir%d", os.Getpid()) dirStream, err := unix.Opendir("/tmp") if err != nil { t.Fatalf("Opendir: %v", err) } defer unix.Closedir(dirStream) dirFd, err := unix.Dirfd(dirStream) if err != nil { t.Fatalf("Dirfd: %v", err) } if dirFd < 0 { t.Fatalf("Dirfd: fd < 0, (fd = %v)", dirFd) } err = unix.Mkdirat(dirFd, name, 0777) if err != nil { t.Fatalf("Mkdirat: failed to create directory: %v at %d", err, dirFd) } st, err := os.Stat(pname) if err != nil { t.Fatalf("Mkdirat: failed to stat directory: %s %v", pname, err) } if !st.Mode().IsDir() { t.Fatalf("Mkdirat: %s is not a directory", pname) } os.Remove(pname) } func TestLinkat(t *testing.T) { lName := fmt.Sprintf("testLinkatLink%d", os.Getpid()) dirStream, err := unix.Opendir("/tmp") if err != nil { t.Fatalf("Opendir: %v", err) } defer unix.Closedir(dirStream) dirFd, err := unix.Dirfd(dirStream) if err != nil { t.Fatalf("Dirfd: %v", err) } if dirFd < 0 { t.Fatalf("Dirfd: fd < 0, (fd = %v)", dirFd) } f, err := os.CreateTemp("/tmp", "tesLinkatFile") if err != nil { t.Fatalf("CreateTemp: %v", err) } defer os.Remove(f.Name()) defer f.Close() err = unix.Linkat(dirFd, f.Name(), dirFd, lName, 0) if err != nil { t.Fatalf("Linkat: Failed to create link: %v", err) } defer os.Remove("/tmp/" + lName) fInfo, err := os.Lstat(f.Name()) if err != nil { t.Fatalf("Lstat: %v", err) } lInfo, err := os.Lstat(filepath.Join("/tmp/", lName)) if err != nil { t.Fatalf("Lstat: %v", err) } if !os.SameFile(fInfo, lInfo) { t.Errorf("Expected FileInfo for %s to match %s", lName, f.Name()) } } func TestSymlinkat(t *testing.T) { f, err := os.Create(filepath.Join(t.TempDir(), "symlinkatTestFile")) if err != nil { t.Fatal("CreateTemp:", err) } f.Close() dir, err := os.Open(filepath.Dir(f.Name())) if err != nil { t.Fatal("Open:", err) } defer dir.Close() linkName := fmt.Sprintf("testSymlink%d", os.Getpid()) err = unix.Symlinkat(f.Name(), int(dir.Fd()), linkName) if err != nil { t.Fatal("Symlinkat:", err) } buf := make([]byte, 256) _, err = unix.Readlinkat(int(dir.Fd()), linkName, buf) if err != nil { t.Fatal("Readlink:", err) } if string(f.Name()) != string(buf[:len(f.Name())]) { t.Errorf("Expected buffer contents to be: %s. Got: %s.", f.Name(), string(buf[:])) } } func TestMknodat(t *testing.T) { if euid != 0 { t.Skip("euid != 0") } dirStream, err := unix.Opendir("/tmp") if err != nil { t.Fatalf("Opendir: %v", err) } defer unix.Closedir(dirStream) dirFd, err := unix.Dirfd(dirStream) if err != nil { t.Fatalf("Dirfd: %v", err) } if dirFd < 0 { t.Fatalf("Dirfd: fd < 0, (fd = %v)", dirFd) } name := fmt.Sprintf("mknodatTest%d", os.Getpid()) fifoName := fmt.Sprintf("mknodatTestFIFO%d", os.Getpid()) scfName := fmt.Sprintf("mknodatTestSCF%d", os.Getpid()) err = unix.Mknodat(dirFd, name, unix.S_IFREG, 0) if err != nil { t.Fatalf("Mknodat - regular: %v", err) } defer os.Remove("/tmp/" + name) err = unix.Mknodat(dirFd, fifoName, unix.S_IFIFO, 0) if err != nil { t.Fatalf("Mknodat - directory: %v", err) } defer os.Remove("/tmp/" + fifoName) err = unix.Mknodat(dirFd, scfName, unix.S_IFCHR|unix.S_IRUSR|unix.S_IWUSR, 0x00010000|0x0001) if err != nil { t.Fatalf("Mknodat - character special file: %v", err) } defer os.Remove("/tmp/" + scfName) } func TestFchownat(t *testing.T) { if euid != 0 { t.Skip("euid != 0") } f, err := os.Create(filepath.Join(t.TempDir(), "fchownatTestFile")) if err != nil { t.Fatalf("CreateTemp: %v", err) } defer f.Close() dir, err := os.Open(filepath.Dir(f.Name())) if err != nil { t.Fatalf("Open: %v", err) } defer dir.Close() dirfd := int(dir.Fd()) err = unix.Fchownat(0, f.Name(), os.Getuid(), os.Getgid(), 0) if err != nil { t.Errorf("Fchownat: %v", err) } unix.Fchownat(dirfd, filepath.Base(f.Name()), os.Getuid(), os.Getgid(), 0) if err != nil { t.Errorf("Fchownat: %v", err) } err = unix.Fchownat(dirfd, "blah", os.Getuid(), os.Getgid(), 0) if err != nil { if !strings.Contains(err.Error(), "EDC5129I No such file or directory.") { t.Errorf("Expected: EDC5129I No such file or directory. Got: %v", err) } } else { t.Error("Fchownat: Expected to get error \"EDC5129I No such file or directory.\"") } } func TestFaccessat(t *testing.T) { f, err := os.CreateTemp("/tmp", "faccessatTestFile") if err != nil { t.Fatalf("CreateTemp: %v", err) } defer os.Remove(f.Name()) defer f.Close() dirStream, err := unix.Opendir("/tmp") if err != nil { t.Fatalf("Opendir: %v", err) } defer unix.Closedir(dirStream) dirfd, err := unix.Dirfd(dirStream) if err != nil { t.Fatalf("Dirfd: %v", err) } if dirfd < 0 { t.Fatalf("Dirfd: fd < 0, (fd = %v)", dirfd) } err = unix.Faccessat(dirfd, filepath.Base(f.Name()), unix.R_OK|unix.W_OK, unix.AT_EACCESS) if err != nil { t.Errorf("Faccessat - relative file path: %v", err) } err = unix.Faccessat2(dirfd, filepath.Base(f.Name()), unix.R_OK|unix.W_OK, unix.AT_EACCESS) if err != nil { t.Errorf("Faccessat - relative file path: %v", err) } err = unix.Faccessat(dirfd, f.Name(), unix.R_OK|unix.W_OK, unix.AT_EACCESS) if err != nil { t.Errorf("Faccessat - absolute file path: %v", err) } err = unix.Faccessat(0, filepath.Base(f.Name()), unix.R_OK, unix.AT_EACCESS) if err != nil { if !strings.Contains(err.Error(), "EDC5135I Not a directory.") { t.Errorf("Expected: EDC5135I Not a directory. Got: %v", err) } } else { t.Error("Faccessat: Expected to get error \"EDC5135I Not a directory.\"") } err = unix.Faccessat(0, "/", unix.R_OK, unix.AT_EACCESS) if err != nil { t.Errorf("Faccessat - read root directory: %v", err) } err = unix.Faccessat(0, "/", unix.W_OK, unix.AT_EACCESS) if err != nil { if !strings.Contains(err.Error(), "EDC5141I Read-only file system.") { t.Errorf("Expected: EDC5141I Read-only file system. Got: %v", err) } } else { if BypassTestOnUntil("zoscan56", "2024-04-01T12:45:21.123Z") { fmt.Fprintf(os.Stderr, "Faccessat: Expected to get error \"EDC5141I Read-only file system.\"") } else { t.Error("Faccessat: Expected to get error \"EDC5141I Read-only file system.\"") } } } func TestUnlinkat(t *testing.T) { tmpdir := t.TempDir() f, err := os.CreateTemp(tmpdir, "unlinkatTestFile") if err != nil { log.Fatal("CreateTemp:", err) } // file close later dirStream, err := unix.Opendir(tmpdir) if err != nil { t.Fatalf("Opendir: %v", err) } defer unix.Closedir(dirStream) dirfd, err := unix.Dirfd(dirStream) if err != nil { t.Fatalf("Dirfd: %v", err) } if dirfd < 0 { t.Fatalf("Dirfd: fd < 0, (fd = %v)", dirfd) } if err := f.Close(); err != nil { t.Fatalf("Close: %v", err) } err = unix.Unlinkat(dirfd, filepath.Base(f.Name()), 0) if err != nil { t.Fatalf("Unlinkat: %v", err) } _, err = os.Open(f.Name()) if err != nil { if !os.IsNotExist(err) { t.Errorf("Expected to get error \"EDC5129I No such file or directory\". Got: %v", err) } } else { t.Error("Unlinkat: Expected to get error \"EDC5129I No such file or directory\"") } err = unix.Unlinkat(dirfd, tmpdir, unix.AT_REMOVEDIR) if err != nil { t.Fatalf("Unlinkat: %v", err) } _, err = os.Open(tmpdir) if err != nil { if !os.IsNotExist(err) { t.Errorf("Expected to get error \"EDC5129I No such file or directory\". Got: %v", err) } } else { t.Error("Unlinkat: Expected to get error \"EDC5129I No such file or directory\"") } } func TestRenameat(t *testing.T) { defer chtmpdir(t)() from, to := "renamefrom", "renameto" touch(t, from) err := unix.Renameat(unix.AT_FDCWD, from, unix.AT_FDCWD, to) if err != nil { t.Fatalf("Renameat: unexpected error: %v", err) } _, err = os.Stat(to) if err != nil { t.Error(err) } _, err = os.Stat(from) if err == nil { t.Errorf("Renameat: stat of renamed file %q unexpectedly succeeded", from) } } func TestRenameat2(t *testing.T) { defer chtmpdir(t)() from, to := "renamefrom", "renameto" touch(t, from) err := unix.Renameat2(unix.AT_FDCWD, from, unix.AT_FDCWD, to, 0) if err != nil { t.Fatalf("Renameat2: unexpected error: %v", err) } _, err = os.Stat(to) if err != nil { t.Error(err) } _, err = os.Stat(from) if err == nil { t.Errorf("Renameat2: stat of renamed file %q unexpectedly succeeded", from) } touch(t, from) err = unix.Renameat2(unix.AT_FDCWD, from, unix.AT_FDCWD, to, unix.RENAME_NOREPLACE) if err != nil { if err.Error() != "EDC5117I File exists." { t.Errorf("Renameat2: expected to get error \"EDC5117I File exists.\" Got: %v", err) } } else { t.Errorf("Renameat2: Unexpected error: %v", err) } } func TestFchmodat(t *testing.T) { defer chtmpdir(t)() touch(t, "file1") err := os.Symlink("file1", "symlink1") if err != nil { t.Fatal(err) } mode := os.FileMode(0444) err = unix.Fchmodat(unix.AT_FDCWD, "symlink1", uint32(mode), 0) if err != nil { t.Fatalf("Fchmodat: unexpected error: %v", err) } fi, err := os.Stat("file1") if err != nil { t.Fatal(err) } if fi.Mode() != mode { t.Errorf("Fchmodat: failed to change file mode: expected %v, got %v", mode, fi.Mode()) } mode = os.FileMode(0644) didChmodSymlink := true err = unix.Fchmodat(unix.AT_FDCWD, "symlink1", uint32(mode), unix.AT_SYMLINK_NOFOLLOW) if err != nil { if err == unix.EOPNOTSUPP { didChmodSymlink = false } else { t.Fatalf("Fchmodat: unexpected error: %v", err) } } if !didChmodSymlink { // Didn't change mode of the symlink. On Linux, the permissions // of a symbolic link are always 0777 according to symlink(7) mode = os.FileMode(0777) } var st unix.Stat_t err = unix.Lstat("symlink1", &st) if err != nil { t.Fatal(err) } got := os.FileMode(st.Mode & 0777) if got != mode { t.Errorf("Fchmodat: failed to change symlink mode: expected %v, got %v", mode, got) } } func TestPosix_openpt(t *testing.T) { masterfd, err := unix.Posix_openpt(unix.O_RDWR) if err != nil { t.Fatal(err) } defer unix.Close(masterfd) _, err = unix.Grantpt(masterfd) if err != nil { t.Fatal(err) } _, err = unix.Unlockpt(masterfd) if err != nil { t.Fatal(err) } slavename, err := unix.Ptsname(masterfd) if err != nil { t.Fatal(err) } fd, err := unix.Open(slavename, unix.O_RDWR, 0) if err != nil { t.Fatal(err) } unix.Close(fd) } func compareStat_t(t *testing.T, otherStat string, st1, st2 *unix.Stat_t) { if st2.Dev != st1.Dev { t.Errorf("%s/Fstatat: got dev %v, expected %v", otherStat, st2.Dev, st1.Dev) } if st2.Ino != st1.Ino { t.Errorf("%s/Fstatat: got ino %v, expected %v", otherStat, st2.Ino, st1.Ino) } if st2.Mode != st1.Mode { t.Errorf("%s/Fstatat: got mode %v, expected %v", otherStat, st2.Mode, st1.Mode) } if st2.Uid != st1.Uid { t.Errorf("%s/Fstatat: got uid %v, expected %v", otherStat, st2.Uid, st1.Uid) } if st2.Gid != st1.Gid { t.Errorf("%s/Fstatat: got gid %v, expected %v", otherStat, st2.Gid, st1.Gid) } if st2.Size != st1.Size { t.Errorf("%s/Fstatat: got size %v, expected %v", otherStat, st2.Size, st1.Size) } } func TestFstatat(t *testing.T) { defer chtmpdir(t)() touch(t, "file1") var st1 unix.Stat_t err := unix.Stat("file1", &st1) if err != nil { t.Fatalf("Stat: %v", err) } var st2 unix.Stat_t err = unix.Fstatat(unix.AT_FDCWD, "file1", &st2, 0) if err != nil { t.Fatalf("Fstatat: %v", err) } compareStat_t(t, "Stat", &st1, &st2) err = os.Symlink("file1", "symlink1") if err != nil { t.Fatal(err) } err = unix.Lstat("symlink1", &st1) if err != nil { t.Fatalf("Lstat: %v", err) } err = unix.Fstatat(unix.AT_FDCWD, "symlink1", &st2, unix.AT_SYMLINK_NOFOLLOW) if err != nil { t.Fatalf("Fstatat: %v", err) } compareStat_t(t, "Lstat", &st1, &st2) } func TestFreezeUnfreeze(t *testing.T) { rv, rc, rn := unix.Bpx4ptq(unix.QUIESCE_FREEZE, "FREEZE") if rc != 0 { t.Fatalf(fmt.Sprintf("Bpx4ptq FREEZE %v %v %v\n", rv, rc, rn)) } rv, rc, rn = unix.Bpx4ptq(unix.QUIESCE_UNFREEZE, "UNFREEZE") if rc != 0 { t.Fatalf(fmt.Sprintf("Bpx4ptq UNFREEZE %v %v %v\n", rv, rc, rn)) } } func TestPtrace(t *testing.T) { cmd := exec.Command("/bin/sleep", "1000") cmd.Stdout = os.Stdout err := cmd.Start() if err != nil { log.Fatal(err) } rv, rc, rn := unix.Bpx4ptr(unix.PT_ATTACH, int32(cmd.Process.Pid), unsafe.Pointer(uintptr(0)), unsafe.Pointer(uintptr(0)), unsafe.Pointer(uintptr(0))) if rc != 0 { t.Fatalf("ptrace: Bpx4ptr rv %d, rc %d, rn %d\n", rv, rc, rn) } cmd.Process.Kill() } func TestFutimesat(t *testing.T) { // Create temp dir and file tempDir := t.TempDir() dir, err := os.Open(tempDir) if err != nil { t.Fatal("Can not open tempDir: ", tempDir) } defer dir.Close() tempFile, err := os.CreateTemp(tempDir, "futimesat_test_file") if err != nil { t.Fatalf("TempFile: %s", err.Error()) } defer tempFile.Close() // Set mod time to newTime newTime := time.Date(2001, time.Month(2), 15, 7, 7, 7, 0, time.UTC) err = unix.Futimesat( int(dir.Fd()), filepath.Base(tempFile.Name()), []unix.Timeval{ unix.Timeval{Sec: newTime.Unix(), Usec: 0}, unix.Timeval{Sec: newTime.Unix(), Usec: 0}, }) if err != nil { t.Fatalf("TestFutimes: %v", err) } // Compare mod time stats, err := tempFile.Stat() if err != nil { t.Fatalf("Stat: %v", err) } modTime := stats.ModTime() if modTime.UTC() != newTime { t.Fatalf("TestFutimes: modTime = %v, want %v", modTime.UTC(), newTime) } } func TestInotifyAccess(t *testing.T) { // Create temporary files tempFile, err := os.Create(filepath.Join(t.TempDir(), "inotify_access_test_file")) if err != nil { t.Fatalf("TempFile: %v", err) } defer tempFile.Close() // Setup iNotify infd, err := unix.InotifyInit() if err != nil { t.Fatalf("InotifyInit1: %v", err) } wd, err := unix.InotifyAddWatch(infd, tempFile.Name(), unix.IN_ACCESS) if err != nil { t.Fatalf("InotifyAddWatch: %v", err) } // Trigger Event n, err := tempFile.Write([]byte("Writing before reading")) if err != nil { t.Fatalf("Write: %v", err) } if n <= 0 { t.Fatalf("Did not write any data") } tempFile.Seek(0, 0) buf := make([]byte, 64) n, err = tempFile.Read(buf) if err != nil { t.Fatalf("Read: %v", err) } if n <= 0 { t.Fatalf("Did not read any data") } // Expect event buf = make([]byte, unix.SizeofInotifyEvent) n, err = unix.Read(infd, buf[:]) if n == -1 { t.Fatalf("No event was read from the iNotify fd") } // Remove Watch if _, err = unix.InotifyRmWatch(infd, uint32(wd)); err != nil { t.Fatalf("InotifyRmWatch: %v", err) } } func TestAccess(t *testing.T) { tempFile, err := os.Create(filepath.Join(t.TempDir(), "test_access")) if err != nil { t.Fatal("fail to create temp file ", tempFile) } defer tempFile.Close() err = unix.Access(tempFile.Name(), unix.R_OK|unix.W_OK) if err != nil { t.Fatalf("error when access %s: %v", tempFile.Name(), err) } err = unix.Access("not_exist_file", unix.F_OK) if err == nil { t.Fatalf("error when access not exist file: %v", err) } } func TestCreat(t *testing.T) { tempFile, err := os.Create(filepath.Join(t.TempDir(), "test_create")) if err != nil { t.Fatal("fail to create temp file ", tempFile) } defer tempFile.Close() tempFile.Write([]byte("random1")) if err != nil { t.Fatal("error write to file: ", err) } // creat fd, err := unix.Creat(tempFile.Name(), 0o777) if err != nil { t.Fatal("Creat error: ", err) } writeContent := []byte("random2") n, err := unix.Write(fd, writeContent) if err != nil { t.Fatal("Write error: ", err) } else if n <= 0 { t.Fatal("Write error: 0 is written") } // Using creat is the equivalent of using the open callable service // with the create, truncate, and write-only options: // so we can not use the same file descriptor b, err := os.ReadFile(tempFile.Name()) if err != nil { t.Fatal("Read error: ", err) } if n <= 0 { t.Fatal("Creat error: Cannot truncate file") } if string(b) != string(writeContent) { t.Fatal("data mismatch: expect ", string(writeContent), " actual: ", string(b)) } // testing file create function newFile := tempFile.Name() + "2" fd2, err := unix.Creat(newFile, 0o777) if err != nil { t.Fatal("Creat error: ", err) } writeContent = []byte("random3") n, err = unix.Write(fd2, writeContent) if err != nil { t.Fatal("Write error: ", err) } else if n <= 0 { t.Fatal("Write error: 0 is written") } b, err = os.ReadFile(newFile) if err != nil { t.Fatal("Read error: ", err) } if n <= 0 { t.Fatal("Creat error: Cannot truncate file") } if string(b) != string(writeContent) { t.Fatal("data mismatch: expect ", string(writeContent), " actual: ", string(b)) } } func TestGetPageSize(t *testing.T) { size := unix.Getpagesize() if size <= 0 { t.Fatal("get page size return: ", size) } } func TestSyscallSetegid(t *testing.T) { err := unix.Setegid(unix.Getgid()) if err != nil { t.Fatal("error setting euid: ", err) } id := unix.Getegid() if id != unix.Getgid() { t.Fatal("euid mismatch: expect ", unix.Getgid(), ", actual ", id) } } func TestSyscallSeteuid(t *testing.T) { err := unix.Seteuid(unix.Getuid()) if err != nil { t.Fatal("error setting euid: ", err) } id := unix.Geteuid() if id != unix.Getuid() { t.Fatal("euid mismatch: expect ", unix.Getuid(), ", actual ", id) } } func TestSyscallSetgid(t *testing.T) { err := unix.Setgid(unix.Getegid()) if err != nil { t.Fatal("error setting gid: ", err) } id := unix.Getgid() if id != unix.Getegid() { t.Fatal("guid mismatch: expect 0, actual ", id) } } func TestSyscallSetpgid(t *testing.T) { if euid != 0 { t.Skip("euid != 0") } pid := unix.Getpid() pgid, _ := unix.Getpgid(pid) err := unix.Setpgid(pid, pgid) if err != nil { t.Fatal("error setting pgid: ", err) } id, err := unix.Getpgid(pid) if err != nil { t.Fatal("Getpgid error: ", err) } if gid, _ := unix.Getpgid(pid); gid != id { t.Fatal("pgid mismatch: expect ", gid, ", actual ", id) } } func TestSyscallSetregid(t *testing.T) { gid := unix.Getgid() err := unix.Setregid(gid, gid) if err != nil { t.Fatal("error setting regid: ", err) } // currently missing Getresgid can not validate // The get function also not provided in syscall package as well as other platform } func TestSyscallSetreuid(t *testing.T) { uid := unix.Getuid() err := unix.Setreuid(uid, uid) if err != nil { t.Fatal("error setting reuid: ", err) } // currently missing Getresgid can not validate // The get function also not provided in syscall package as well as other platform } func TestWriteAndSync(t *testing.T) { // this test cannot really test sync function // since unix.write does not require a sync function to actual write to the file tempFile, err := os.Create(filepath.Join(t.TempDir(), "test_write_and_sync")) if err != nil { t.Fatal("error: ", err) } defer tempFile.Close() fileContent := "hello world" n, err := unix.Write(int(tempFile.Fd()), []byte(fileContent)) if err != nil { t.Fatal("write error: ", err) } if n != len(fileContent) { t.Fatal("error: write length mismatch") } unix.Sync() b := make([]byte, len(fileContent), 256) unix.Seek(int(tempFile.Fd()), 0, 0) _, err = unix.Read(int(tempFile.Fd()), b) if err != nil { t.Fatal("read error: ", err) } if string(b) != fileContent { t.Fatal("file data mismatch: expect ", fileContent, " actual", string(b)) } } func TestTimes(t *testing.T) { var startTimes, endTimes unix.Tms // Get the start time _, err := unix.Times(&startTimes) if err != nil { t.Fatal("times error: ", err) } sum := 0 // Perform some operations for i := 0; i < 1000000000; i++ { sum += i % 100 } // Get the end time _, err = unix.Times(&endTimes) if err != nil { t.Fatal("times error: ", err) } if int64(endTimes.Utime)-int64(startTimes.Utime) <= 0 || int64(endTimes.Stime)-int64(startTimes.Stime) <= 0 { t.Fatal("times error: endtime - starttime <= 0") } } func TestMlock(t *testing.T) { if euid != 0 { t.Skip("euid != 0") } twoM := 2 * 1024 * 1024 b := make([]byte, twoM, twoM) for i := 0; i < twoM; i++ { b[i] = byte(i % 127) } err := unix.Mlock(b) if err != nil { t.Fatal("mlock error: ", err) } for i := 0; i < twoM; i++ { if b[i] != byte(i%127) { t.Fatal("error: memory not correct: expect ", i%127, " actual ", b[i]) } } err = unix.Munlock(b) if err != nil { t.Fatal("munlock error: ", err) } for i := 0; i < twoM; i++ { if b[i] != byte(i%127) { t.Fatal("error: memory not correct: expect ", i%127, " actual ", b[i]) } } } func TestMlockAll(t *testing.T) { if euid != 0 { t.Skip("euid != 0") } twoM := 2 * 1024 * 1024 b := make([]byte, twoM, twoM) for i := 0; i < twoM; i++ { b[i] = byte(i % 127) } // Mlockall flag do not have zos semantics, so passing 0 err := unix.Mlockall(0) if err != nil { t.Fatal("mlock error: ", err) } for i := 0; i < twoM; i++ { if b[i] != byte(i%127) { t.Fatal("error: memory not correct: expect ", i%127, " actual ", b[i]) } } err = unix.Munlockall() if err != nil { t.Fatal("munlock error: ", err) } for i := 0; i < twoM; i++ { if b[i] != byte(i%127) { t.Fatal("error: memory not correct: expect ", i%127, " actual ", b[i]) } } } func TestGettid(t *testing.T) { tid := unix.Gettid() if tid < 0 { t.Fatal("error: tid less than 0: tid = ", tid) } } func TestSetns(t *testing.T) { // TODO (joon): for some reason changing ipc on zos fails namespaces := map[string]int{ // "ipc": unix.CLONE_NEWIPC, "uts": unix.CLONE_NEWUTS, "net": unix.CLONE_NEWNET, // "pid": unix.CLONE_NEWPID, } if unix.Geteuid() != 0 { t.Skip("euid != 0") } if os.Getenv("SETNS_HELPER_PROCESS") == "1" { pid := unix.Getppid() fmt.Scanln() for k, v := range namespaces { path := fmt.Sprintf("/proc/%d/ns/%s", pid, k) fd, err := unix.Open(path, unix.O_RDONLY, 0) err = unix.Setns(fd, v) if err != nil { t.Fatalf("Setns failed: %v", err) } } for { } } cmd := exec.Command(os.Args[0], "-test.run=^TestSetns$") cmd.Env = append(os.Environ(), "SETNS_HELPER_PROCESS=1") stdin, err := cmd.StdinPipe() if err != nil { t.Fatalf("Failed to get stdin for helper process: %v\n", err) } if err := cmd.Start(); err != nil { t.Fatalf("failed to create helper process: %v\n", err) } defer cmd.Process.Kill() ppid := unix.Getpid() pid := cmd.Process.Pid for k, _ := range namespaces { hPath := fmt.Sprintf("/proc/%d/ns/%s", pid, k) pPath := fmt.Sprintf("/proc/%d/ns/%s", ppid, k) hFI, _ := os.Stat(hPath) pFI, _ := os.Stat(pPath) if !os.SameFile(hFI, pFI) { t.Fatalf("namespace links for %s did not match before calling Unshare in parent\n", k) } } unix.Unshare(unix.CLONE_NEWUTS | unix.CLONE_NEWNET) for k, _ := range namespaces { hPath := fmt.Sprintf("/proc/%d/ns/%s", pid, k) pPath := fmt.Sprintf("/proc/%d/ns/%s", ppid, k) hFI, _ := os.Stat(hPath) pFI, _ := os.Stat(pPath) if os.SameFile(hFI, pFI) { t.Fatalf("Setns: namespace link for %s matched after calling Unshare but before Setns\n", k) } } stdin.Write([]byte("\n")) stdin.Close() time.Sleep(1000 * time.Millisecond) for k, _ := range namespaces { hPath := fmt.Sprintf("/proc/%d/ns/%s", pid, k) pPath := fmt.Sprintf("/proc/%d/ns/%s", ppid, k) hFI, _ := os.Stat(hPath) pFI, _ := os.Stat(pPath) if !os.SameFile(hFI, pFI) { t.Errorf("Setns: namespace link for %s did not match after calling Setns\n", k) } } } func stringsFromByteSlice(buf []byte) []string { var result []string off := 0 for i, b := range buf { if b == 0 { result = append(result, string(buf[off:i])) off = i + 1 } } return result } // This test is based on mmap_unix_test, but tweaked for z/OS, which does not support memadvise // or anonymous mmapping. func TestConsole2(t *testing.T) { var cmsg unix.ConsMsg2 var nullptr *byte var cmsg_cmd uint32 cmsg_rout := [2]uint32{1, 0} cmsg_desc := [2]uint32{12, 0} cmsg.Cm2Format = unix.CONSOLE_FORMAT_2 msg := "__console2 test" cmsg.Cm2Msg = &unix.ZosStringToEbcdicBytes(msg, true)[0] cmsg.Cm2Msglength = uint32(len(msg)) cmsg.Cm2Routcde = &cmsg_rout[0] cmsg.Cm2Descr = &cmsg_desc[0] cmsg.Cm2Token = 0 err := unix.Console2(&cmsg, nullptr, &cmsg_cmd) if err != nil { t.Fatalf("__console2: %v", err) } } func TestConsole2modify(t *testing.T) { if os.Getenv("ZOS_MANUAL_TEST") != "1" { t.Skip("This test is not run unless env-var ZOS_MANUAL_TEST=1 is set") } job, err := unix.ZosJobname() if err != nil { t.Fatalf("Failed to get jobname %v", err) } var cmsg unix.ConsMsg2 var cmsg_cmd uint32 cmsg_rout := [2]uint32{1, 0} cmsg_desc := [2]uint32{12, 0} cmsg.Cm2Format = unix.CONSOLE_FORMAT_2 msg := "Issue console command 'F " + job + ",APPL=123' to continue" cmsg.Cm2Msg = &unix.ZosStringToEbcdicBytes(msg, true)[0] cmsg.Cm2Msglength = uint32(len(msg)) cmsg.Cm2Routcde = &cmsg_rout[0] cmsg.Cm2Descr = &cmsg_desc[0] cmsg.Cm2Token = 0 var modstr [128]byte t.Logf("Issue console command 'F %s,APPL=123' to continue\n", job) err = unix.Console2(&cmsg, &modstr[0], &cmsg_cmd) if err != nil { t.Fatalf("__console2: %v", err) } recv := unix.ZosEbcdicBytesToString(modstr[:], true) if recv != "123" || cmsg_cmd != 1 { t.Fatalf("__console2 modify: Got %s %x, Expect 123 1\n", unix.ZosEbcdicBytesToString(modstr[:], true), cmsg_cmd) } t.Logf("Got %s %x\n", unix.ZosEbcdicBytesToString(modstr[:], true), cmsg_cmd) } dependencies/pkg/mod/golang.org/x/sys@v0.26.0/unix/zsyscall_linux_s390x.go0000644000000000000000000003016115107355264025172 0ustar rootroot// go run mksyscall.go -tags linux,s390x syscall_linux.go syscall_linux_s390x.go syscall_linux_alarm.go // Code generated by the command above; see README.md. DO NOT EDIT. //go: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 fanotifyMark(fd int, flags uint, mask uint64, dirFd int, pathname *byte) (err error) { _, _, e1 := Syscall6(SYS_FANOTIFY_MARK, uintptr(fd), uintptr(flags), uintptr(mask), uintptr(dirFd), uintptr(unsafe.Pointer(pathname)), 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 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 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 Fstatat(dirfd int, path string, stat *Stat_t, flags int) (err error) { var _p0 *byte _p0, err = BytePtrFromString(path) if err != nil { return } _, _, e1 := Syscall6(SYS_NEWFSTATAT, uintptr(dirfd), 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, _ := RawSyscallNoError(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, _ := RawSyscallNoError(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, _ := RawSyscallNoError(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, _ := RawSyscallNoError(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 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 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 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) (prev int, err error) { r0, _, e1 := Syscall(SYS_SETFSGID, uintptr(gid), 0, 0) prev = int(r0) if e1 != 0 { err = errnoErr(e1) } return } // THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT func setfsuid(uid int) (prev int, err error) { r0, _, e1 := Syscall(SYS_SETFSUID, uintptr(uid), 0, 0) prev = int(r0) 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 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 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 futimesat(dirfd int, path string, times *[2]Timeval) (err error) { var _p0 *byte _p0, err = BytePtrFromString(path) if err != nil { return } _, _, e1 := Syscall(SYS_FUTIMESAT, uintptr(dirfd), uintptr(unsafe.Pointer(_p0)), 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 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 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 kexecFileLoad(kernelFd int, initrdFd int, cmdlineLen int, cmdline string, flags int) (err error) { var _p0 *byte _p0, err = BytePtrFromString(cmdline) if err != nil { return } _, _, e1 := Syscall6(SYS_KEXEC_FILE_LOAD, uintptr(kernelFd), uintptr(initrdFd), uintptr(cmdlineLen), 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 Alarm(seconds uint) (remaining uint, err error) { r0, _, e1 := Syscall(SYS_ALARM, uintptr(seconds), 0, 0) remaining = uint(r0) if e1 != 0 { err = errnoErr(e1) } return } dependencies/pkg/mod/golang.org/x/sys@v0.26.0/unix/syscall_openbsd_mips64.go0000644000000000000000000000167315107355264025535 0ustar rootroot// Copyright 2019 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 setTimespec(sec, nsec int64) Timespec { return Timespec{Sec: sec, Nsec: nsec} } func setTimeval(sec, usec int64) Timeval { return Timeval{Sec: sec, Usec: usec} } 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 (msghdr *Msghdr) SetIovlen(length int) { msghdr.Iovlen = uint32(length) } func (cmsg *Cmsghdr) SetLen(length int) { cmsg.Len = uint32(length) } // SYS___SYSCTL is used by syscall_bsd.go for all BSDs, but in modern versions // of OpenBSD the syscall is called sysctl instead of __sysctl. const SYS___SYSCTL = SYS_SYSCTL dependencies/pkg/mod/golang.org/x/sys@v0.26.0/unix/pipe2_test.go0000644000000000000000000000406015107355264023216 0ustar rootroot// Copyright 2021 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:build dragonfly || freebsd || linux || netbsd || openbsd || solaris package unix_test import ( "testing" "golang.org/x/sys/unix" ) func TestPipe2(t *testing.T) { const s = "hello" var pipes [2]int err := unix.Pipe2(pipes[:], 0) if err != nil { t.Fatalf("pipe2: %v", err) } r := pipes[0] w := pipes[1] go func() { n, err := unix.Write(w, []byte(s)) if err != nil { t.Errorf("bad write: %v", err) return } if n != len(s) { t.Errorf("bad write count: %d", n) return } err = unix.Close(w) if err != nil { t.Errorf("bad close: %v", err) return } }() var buf [10 + len(s)]byte n, err := unix.Read(r, buf[:]) if err != nil { t.Fatalf("bad read: %v", err) } if n != len(s) { t.Fatalf("bad read count: %d", n) } if string(buf[:n]) != s { t.Fatalf("bad contents: %s", string(buf[:n])) } err = unix.Close(r) if err != nil { t.Fatalf("bad close: %v", err) } } func checkNonblocking(t *testing.T, fd int, name string) { t.Helper() flags, err := unix.FcntlInt(uintptr(fd), unix.F_GETFL, 0) if err != nil { t.Errorf("fcntl(%s, F_GETFL) failed: %v", name, err) } else if flags&unix.O_NONBLOCK == 0 { t.Errorf("O_NONBLOCK not set in %s flags %#x", name, flags) } } func checkCloseonexec(t *testing.T, fd int, name string) { t.Helper() flags, err := unix.FcntlInt(uintptr(fd), unix.F_GETFD, 0) if err != nil { t.Errorf("fcntl(%s, F_GETFD) failed: %v", name, err) } else if flags&unix.FD_CLOEXEC == 0 { t.Errorf("FD_CLOEXEC not set in %s flags %#x", name, flags) } } func TestNonblockingPipe2(t *testing.T) { var pipes [2]int err := unix.Pipe2(pipes[:], unix.O_NONBLOCK|unix.O_CLOEXEC) if err != nil { t.Fatalf("pipe2: %v", err) } r := pipes[0] w := pipes[1] defer func() { unix.Close(r) unix.Close(w) }() checkNonblocking(t, r, "reader") checkCloseonexec(t, r, "reader") checkNonblocking(t, w, "writer") checkCloseonexec(t, w, "writer") } dependencies/pkg/mod/golang.org/x/sys@v0.26.0/unix/syscall_linux_test.go0000644000000000000000000007600015107355264025073 0ustar rootroot// 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. //go:build linux package unix_test import ( "bufio" "bytes" "encoding/hex" "errors" "fmt" "io" "net" "os" "os/exec" "path/filepath" "runtime" "runtime/debug" "strconv" "strings" "syscall" "testing" "time" "unsafe" "golang.org/x/sys/unix" ) func TestIoctlGetEthtoolDrvinfo(t *testing.T) { if runtime.GOOS == "android" { t.Skip("ethtool driver info is not available on android, skipping test") } s, err := unix.Socket(unix.AF_INET, unix.SOCK_STREAM, 0) if err != nil { t.Fatalf("failed to open socket: %v", err) } defer unix.Close(s) ifis, err := net.Interfaces() if err != nil { t.Fatalf("failed to get network interfaces: %v", err) } // Print the interface name and associated driver information for each // network interface supported by ethtool. for _, ifi := range ifis { drv, err := unix.IoctlGetEthtoolDrvinfo(s, ifi.Name) if err != nil { if err == unix.EOPNOTSUPP { continue } if err == unix.EBUSY { // See https://go.dev/issues/67350 t.Logf("%s: ethtool driver busy, possible kernel bug", ifi.Name) continue } t.Fatalf("failed to get ethtool driver info for %q: %v", ifi.Name, err) } // Trim trailing NULLs. t.Logf("%s: %q", ifi.Name, string(bytes.TrimRight(drv.Driver[:], "\x00"))) } } func TestIoctlGetInt(t *testing.T) { f, err := os.Open("/dev/random") if err != nil { t.Fatalf("failed to open device: %v", err) } defer f.Close() v, err := unix.IoctlGetInt(int(f.Fd()), unix.RNDGETENTCNT) if err != nil { t.Fatalf("failed to perform ioctl: %v", err) } t.Logf("%d bits of entropy available", v) } func TestIoctlRetInt(t *testing.T) { f, err := os.Open("/proc/self/ns/mnt") if err != nil { t.Skipf("skipping test, %v", err) } defer f.Close() v, err := unix.IoctlRetInt(int(f.Fd()), unix.NS_GET_NSTYPE) if err != nil { if err == unix.ENOTTY { t.Skipf("old kernel? (need Linux >= 4.11)") } t.Fatalf("failed to perform ioctl: %v", err) } if v != unix.CLONE_NEWNS { t.Fatalf("unexpected return from ioctl; expected %v, got %v", v, unix.CLONE_NEWNS) } } func TestIoctlGetRTCTime(t *testing.T) { f, err := os.Open("/dev/rtc0") if err != nil { t.Skipf("skipping test, %v", err) } defer f.Close() v, err := unix.IoctlGetRTCTime(int(f.Fd())) if err != nil { t.Fatalf("failed to perform ioctl: %v", err) } t.Logf("RTC time: %04d-%02d-%02d %02d:%02d:%02d", v.Year+1900, v.Mon+1, v.Mday, v.Hour, v.Min, v.Sec) } func TestIoctlGetRTCWkAlrm(t *testing.T) { f, err := os.Open("/dev/rtc0") if err != nil { t.Skipf("skipping test, %v", err) } defer f.Close() v, err := unix.IoctlGetRTCWkAlrm(int(f.Fd())) // Not all RTC drivers support wakeup alarms, and will return EINVAL in such cases. if err == unix.EINVAL { t.Skip("RTC_WKALM_RD ioctl not supported on this rtc, skipping test") } if err != nil { t.Fatalf("failed to perform ioctl: %v", err) } t.Logf("RTC wake alarm enabled '%d'; time: %04d-%02d-%02d %02d:%02d:%02d", v.Enabled, v.Time.Year+1900, v.Time.Mon+1, v.Time.Mday, v.Time.Hour, v.Time.Min, v.Time.Sec) } func TestIoctlIfreq(t *testing.T) { s, err := unix.Socket(unix.AF_INET, unix.SOCK_STREAM, 0) if err != nil { t.Fatalf("failed to open socket: %v", err) } defer unix.Close(s) ifis, err := net.Interfaces() if err != nil { t.Fatalf("failed to get network interfaces: %v", err) } // Compare the network interface fetched from rtnetlink with the data from // the equivalent ioctl API. for _, ifi := range ifis { ifr, err := unix.NewIfreq(ifi.Name) if err != nil { t.Fatalf("failed to create ifreq for %q: %v", ifi.Name, err) } if err := unix.IoctlIfreq(s, unix.SIOCGIFINDEX, ifr); err != nil { t.Fatalf("failed to get interface index for %q: %v", ifi.Name, err) } if want, got := ifi.Index, int(ifr.Uint32()); want != got { t.Fatalf("unexpected interface index for %q: got: %d, want: %d", ifi.Name, got, want) } if want, got := ifi.Name, ifr.Name(); want != got { t.Fatalf("unexpected interface name for index %d: got: %q, want: %q", ifi.Index, got, want) } wantIP, ok := firstIPv4(t, &ifi) if err := unix.IoctlIfreq(s, unix.SIOCGIFADDR, ifr); err != nil { // Interface may have no assigned IPv4 address. if err != unix.EADDRNOTAVAIL { t.Fatalf("failed to get IPv4 address for %q: %v", ifi.Name, err) } // But if we found an address via rtnetlink, we should expect the // ioctl to return one. if ok { t.Fatalf("found IPv4 address %q for %q but ioctl returned none", wantIP, ifi.Name) } continue } // Found an address, compare it directly. addr, err := ifr.Inet4Addr() if err != nil { t.Fatalf("failed to get ifreq IPv4 address: %v", err) } if want, got := wantIP, addr; !want.Equal(got) { t.Fatalf("unexpected first IPv4 address for %q: got: %q, want: %q", ifi.Name, got, want) } } } // firstIPv4 reports whether the interface has an IPv4 address assigned, // returning the first discovered address. func firstIPv4(t *testing.T, ifi *net.Interface) (net.IP, bool) { t.Helper() addrs, err := ifi.Addrs() if err != nil { t.Fatalf("failed to get interface %q addresses: %v", ifi.Name, err) } for _, a := range addrs { // Only want valid IPv4 addresses. ipn, ok := a.(*net.IPNet) if !ok || ipn.IP.To4() == nil { continue } return ipn.IP, true } return nil, false } func TestPidfd(t *testing.T) { // Start a child process which will sleep for 1 hour; longer than the 10 // minute default Go test timeout. cmd := exec.Command("sleep", "1h") if err := cmd.Start(); err != nil { t.Fatalf("failed to exec sleep: %v", err) } fd, err := unix.PidfdOpen(cmd.Process.Pid, 0) if err != nil { // GOARCH arm/arm64 and GOOS android builders do not support pidfds. if errors.Is(err, unix.ENOSYS) { t.Skipf("skipping, pidfd_open is not implemented: %v", err) } t.Fatalf("failed to open child pidfd: %v", err) } defer unix.Close(fd) // Child is running but not terminated. if err := unix.Waitid(unix.P_PIDFD, fd, nil, unix.WEXITED|unix.WNOHANG, nil); err != nil { if errors.Is(err, unix.EINVAL) { t.Skip("skipping due to waitid EINVAL, see https://go.dev/issues/52014") } t.Fatalf("failed to check for child exit: %v", err) } const want = unix.SIGHUP if err := unix.PidfdSendSignal(fd, want, nil, 0); err != nil { t.Fatalf("failed to signal child process: %v", err) } // Now verify that the child process received the expected signal. var eerr *exec.ExitError if err := cmd.Wait(); !errors.As(err, &eerr) { t.Fatalf("child process terminated but did not return an exit error: %v", err) } if err := unix.Waitid(unix.P_PIDFD, fd, nil, unix.WEXITED, nil); !errors.Is(err, unix.ECHILD) { t.Fatalf("expected ECHILD for final waitid, but got: %v", err) } ws, ok := eerr.Sys().(syscall.WaitStatus) if !ok { t.Fatalf("expected syscall.WaitStatus value, but got: %#T", eerr.Sys()) } if got := ws.Signal(); got != want { t.Fatalf("unexpected child exit signal, got: %s, want: %s", got, want) } } func TestPpoll(t *testing.T) { if runtime.GOOS == "android" { t.Skip("mkfifo syscall is not available on android, skipping test") } chtmpdir(t) f := mktmpfifo(t) const timeout = 100 * time.Millisecond ok := make(chan bool, 1) go func() { select { case <-time.After(10 * timeout): t.Errorf("Ppoll: failed to timeout after %d", 10*timeout) case <-ok: } }() fds := []unix.PollFd{{Fd: int32(f.Fd()), Events: unix.POLLIN}} timeoutTs := unix.NsecToTimespec(int64(timeout)) n, err := unix.Ppoll(fds, &timeoutTs, nil) ok <- true if err != nil { t.Errorf("Ppoll: unexpected error: %v", err) return } if n != 0 { t.Errorf("Ppoll: wrong number of events: got %v, expected %v", n, 0) return } } func TestTime(t *testing.T) { var ut unix.Time_t ut2, err := unix.Time(&ut) if err != nil { t.Fatalf("Time: %v", err) } if ut != ut2 { t.Errorf("Time: return value %v should be equal to argument %v", ut2, ut) } var now time.Time for i := 0; i < 10; i++ { ut, err = unix.Time(nil) if err != nil { t.Fatalf("Time: %v", err) } now = time.Now() diff := int64(ut) - now.Unix() if -1 <= diff && diff <= 1 { return } } t.Errorf("Time: return value %v should be nearly equal to time.Now().Unix() %v±1", ut, now.Unix()) } func TestUtime(t *testing.T) { chtmpdir(t) touch(t, "file1") buf := &unix.Utimbuf{ Modtime: 12345, } err := unix.Utime("file1", buf) if err != nil { t.Fatalf("Utime: %v", err) } fi, err := os.Stat("file1") if err != nil { t.Fatal(err) } if fi.ModTime().Unix() != 12345 { t.Errorf("Utime: failed to change modtime: expected %v, got %v", 12345, fi.ModTime().Unix()) } } func TestRlimitAs(t *testing.T) { // disable GC during to avoid flaky test defer debug.SetGCPercent(debug.SetGCPercent(-1)) var rlim unix.Rlimit err := unix.Getrlimit(unix.RLIMIT_AS, &rlim) if err != nil { t.Fatalf("Getrlimit: %v", err) } var zero unix.Rlimit if zero == rlim { t.Fatalf("Getrlimit: got zero value %#v", rlim) } set := rlim set.Cur = uint64(unix.Getpagesize()) err = unix.Setrlimit(unix.RLIMIT_AS, &set) if err != nil { t.Fatalf("Setrlimit: set failed: %#v %v", set, err) } // RLIMIT_AS was set to the page size, so mmap()'ing twice the page size // should fail. See 'man 2 getrlimit'. _, err = unix.Mmap(-1, 0, 2*unix.Getpagesize(), unix.PROT_NONE, unix.MAP_ANON|unix.MAP_PRIVATE) if err == nil { t.Fatal("Mmap: unexpectedly succeeded after setting RLIMIT_AS") } err = unix.Setrlimit(unix.RLIMIT_AS, &rlim) if err != nil { t.Fatalf("Setrlimit: restore failed: %#v %v", rlim, err) } b, err := unix.Mmap(-1, 0, 2*unix.Getpagesize(), unix.PROT_NONE, unix.MAP_ANON|unix.MAP_PRIVATE) if err != nil { t.Fatalf("Mmap: %v", err) } err = unix.Munmap(b) if err != nil { t.Fatalf("Munmap: %v", err) } } func TestPselect(t *testing.T) { for { n, err := unix.Pselect(0, nil, nil, nil, &unix.Timespec{Sec: 0, Nsec: 0}, nil) if err == unix.EINTR { t.Logf("Pselect interrupted") continue } else if err != nil { t.Fatalf("Pselect: %v", err) } if n != 0 { t.Fatalf("Pselect: got %v ready file descriptors, expected 0", n) } break } dur := 2500 * time.Microsecond var took time.Duration for { // On some platforms (e.g. Linux), the passed-in timespec is // updated by pselect(2). Make sure to reset to the full // duration in case of an EINTR. ts := unix.NsecToTimespec(int64(dur)) start := time.Now() n, err := unix.Pselect(0, nil, nil, nil, &ts, nil) took = time.Since(start) if err == unix.EINTR { t.Logf("Pselect interrupted after %v", took) continue } else if err != nil { t.Fatalf("Pselect: %v", err) } if n != 0 { t.Fatalf("Pselect: got %v ready file descriptors, expected 0", n) } break } // On some builder the actual timeout might also be slightly less than the requested. // Add an acceptable margin to avoid flaky tests. if took < dur*2/3 { t.Errorf("Pselect: got %v timeout, expected at least %v", took, dur) } } func TestPselectWithSigmask(t *testing.T) { var sigmask unix.Sigset_t sigmask.Val[0] |= 1 << (uint(unix.SIGUSR1) - 1) for { n, err := unix.Pselect(0, nil, nil, nil, &unix.Timespec{Sec: 0, Nsec: 0}, &sigmask) if err == unix.EINTR { t.Logf("Pselect interrupted") continue } else if err != nil { t.Fatalf("Pselect: %v", err) } if n != 0 { t.Fatalf("Pselect: got %v ready file descriptors, expected 0", n) } break } } func TestSchedSetaffinity(t *testing.T) { var newMask unix.CPUSet newMask.Zero() if newMask.Count() != 0 { t.Errorf("CpuZero: didn't zero CPU set: %v", newMask) } cpu := 1 newMask.Set(cpu) if newMask.Count() != 1 || !newMask.IsSet(cpu) { t.Errorf("CpuSet: didn't set CPU %d in set: %v", cpu, newMask) } cpu = 5 newMask.Set(cpu) if newMask.Count() != 2 || !newMask.IsSet(cpu) { t.Errorf("CpuSet: didn't set CPU %d in set: %v", cpu, newMask) } newMask.Clear(cpu) if newMask.Count() != 1 || newMask.IsSet(cpu) { t.Errorf("CpuClr: didn't clear CPU %d in set: %v", cpu, newMask) } runtime.LockOSThread() defer runtime.UnlockOSThread() var oldMask unix.CPUSet err := unix.SchedGetaffinity(0, &oldMask) if err != nil { t.Fatalf("SchedGetaffinity: %v", err) } if runtime.NumCPU() < 2 { t.Skip("skipping setaffinity tests on single CPU system") } if runtime.GOOS == "android" { t.Skip("skipping setaffinity tests on android") } // On a system like ppc64x where some cores can be disabled using ppc64_cpu, // setaffinity should only be called with enabled cores. The valid cores // are found from the oldMask, but if none are found then the setaffinity // tests are skipped. Issue #27875. cpu = 1 if !oldMask.IsSet(cpu) { newMask.Zero() for i := 0; i < len(oldMask); i++ { if oldMask.IsSet(i) { newMask.Set(i) break } } if newMask.Count() == 0 { t.Skip("skipping setaffinity tests if CPU not available") } } err = unix.SchedSetaffinity(0, &newMask) if err != nil { t.Fatalf("SchedSetaffinity: %v", err) } var gotMask unix.CPUSet err = unix.SchedGetaffinity(0, &gotMask) if err != nil { t.Fatalf("SchedGetaffinity: %v", err) } if gotMask != newMask { t.Errorf("SchedSetaffinity: returned affinity mask does not match set affinity mask") } // Restore old mask so it doesn't affect successive tests err = unix.SchedSetaffinity(0, &oldMask) if err != nil { t.Fatalf("SchedSetaffinity: %v", err) } } func TestStatx(t *testing.T) { var stx unix.Statx_t err := unix.Statx(unix.AT_FDCWD, ".", 0, 0, &stx) if err == unix.ENOSYS || err == unix.EPERM { t.Skip("statx syscall is not available, skipping test") } else if err != nil { t.Fatalf("Statx: %v", err) } chtmpdir(t) touch(t, "file1") var st unix.Stat_t err = unix.Stat("file1", &st) if err != nil { t.Fatalf("Stat: %v", err) } flags := unix.AT_STATX_SYNC_AS_STAT err = unix.Statx(unix.AT_FDCWD, "file1", flags, unix.STATX_ALL, &stx) if err != nil { t.Fatalf("Statx: %v", err) } if uint32(stx.Mode) != st.Mode { t.Errorf("Statx: returned stat mode does not match Stat") } ctime := unix.StatxTimestamp{Sec: int64(st.Ctim.Sec), Nsec: uint32(st.Ctim.Nsec)} mtime := unix.StatxTimestamp{Sec: int64(st.Mtim.Sec), Nsec: uint32(st.Mtim.Nsec)} if stx.Ctime != ctime { t.Errorf("Statx: returned stat ctime does not match Stat") } if stx.Mtime != mtime { t.Errorf("Statx: returned stat mtime does not match Stat") } err = os.Symlink("file1", "symlink1") if err != nil { t.Fatal(err) } err = unix.Lstat("symlink1", &st) if err != nil { t.Fatalf("Lstat: %v", err) } err = unix.Statx(unix.AT_FDCWD, "symlink1", flags, unix.STATX_BASIC_STATS, &stx) if err != nil { t.Fatalf("Statx: %v", err) } // follow symlink, expect a regulat file if stx.Mode&unix.S_IFREG == 0 { t.Errorf("Statx: didn't follow symlink") } err = unix.Statx(unix.AT_FDCWD, "symlink1", flags|unix.AT_SYMLINK_NOFOLLOW, unix.STATX_ALL, &stx) if err != nil { t.Fatalf("Statx: %v", err) } // follow symlink, expect a symlink if stx.Mode&unix.S_IFLNK == 0 { t.Errorf("Statx: unexpectedly followed symlink") } if uint32(stx.Mode) != st.Mode { t.Errorf("Statx: returned stat mode does not match Lstat") } ctime = unix.StatxTimestamp{Sec: int64(st.Ctim.Sec), Nsec: uint32(st.Ctim.Nsec)} mtime = unix.StatxTimestamp{Sec: int64(st.Mtim.Sec), Nsec: uint32(st.Mtim.Nsec)} if stx.Ctime != ctime { t.Errorf("Statx: returned stat ctime does not match Lstat") } if stx.Mtime != mtime { t.Errorf("Statx: returned stat mtime does not match Lstat") } } // stringsFromByteSlice converts a sequence of attributes to a []string. // On Linux, each entry is a NULL-terminated string. func stringsFromByteSlice(buf []byte) []string { var result []string off := 0 for i, b := range buf { if b == 0 { result = append(result, string(buf[off:i])) off = i + 1 } } return result } func TestFaccessat(t *testing.T) { chtmpdir(t) touch(t, "file1") err := unix.Faccessat(unix.AT_FDCWD, "file1", unix.R_OK, 0) if err != nil { t.Errorf("Faccessat: unexpected error: %v", err) } err = unix.Faccessat(unix.AT_FDCWD, "file1", unix.R_OK, 2) if err != unix.EINVAL { t.Errorf("Faccessat: unexpected error: %v, want EINVAL", err) } err = unix.Faccessat(unix.AT_FDCWD, "file1", unix.R_OK, unix.AT_EACCESS) if err != nil { t.Errorf("Faccessat: unexpected error: %v", err) } err = os.Symlink("file1", "symlink1") if err != nil { t.Fatal(err) } err = unix.Faccessat(unix.AT_FDCWD, "symlink1", unix.R_OK, unix.AT_SYMLINK_NOFOLLOW) if err != nil { t.Errorf("Faccessat SYMLINK_NOFOLLOW: unexpected error %v", err) } // We can't really test AT_SYMLINK_NOFOLLOW, because there // doesn't seem to be any way to change the mode of a symlink. // We don't test AT_EACCESS because such tests are only // meaningful if run as root. err = unix.Fchmodat(unix.AT_FDCWD, "file1", 0, 0) if err != nil { t.Errorf("Fchmodat: unexpected error %v", err) } err = unix.Faccessat(unix.AT_FDCWD, "file1", unix.F_OK, unix.AT_SYMLINK_NOFOLLOW) if err != nil { t.Errorf("Faccessat: unexpected error: %v", err) } err = unix.Faccessat(unix.AT_FDCWD, "file1", unix.R_OK, unix.AT_SYMLINK_NOFOLLOW) if err != unix.EACCES { if unix.Getuid() != 0 { t.Errorf("Faccessat: unexpected error: %v, want EACCES", err) } } } func TestSyncFileRange(t *testing.T) { file, err := os.Create(filepath.Join(t.TempDir(), t.Name())) if err != nil { t.Fatal(err) } defer file.Close() err = unix.SyncFileRange(int(file.Fd()), 0, 0, 0) if err == unix.ENOSYS || err == unix.EPERM { t.Skip("sync_file_range syscall is not available, skipping test") } else if err != nil { t.Fatalf("SyncFileRange: %v", err) } // invalid flags flags := 0xf00 err = unix.SyncFileRange(int(file.Fd()), 0, 0, flags) if err != unix.EINVAL { t.Fatalf("SyncFileRange: unexpected error: %v, want EINVAL", err) } } func TestClockNanosleep(t *testing.T) { delay := 50 * time.Millisecond // Relative timespec. start := time.Now() rel := unix.NsecToTimespec(delay.Nanoseconds()) remain := unix.Timespec{} for { err := unix.ClockNanosleep(unix.CLOCK_MONOTONIC, 0, &rel, &remain) if err == unix.ENOSYS || err == unix.EPERM { t.Skip("clock_nanosleep syscall is not available, skipping test") } else if err == unix.EINTR { t.Logf("ClockNanosleep interrupted after %v", time.Since(start)) rel = remain continue } else if err != nil { t.Errorf("ClockNanosleep(CLOCK_MONOTONIC, 0, %#v, nil) = %v", &rel, err) } else if slept := time.Since(start); slept < delay { t.Errorf("ClockNanosleep(CLOCK_MONOTONIC, 0, %#v, nil) slept only %v", &rel, slept) } break } // Absolute timespec. for { start = time.Now() until := start.Add(delay) abs := unix.NsecToTimespec(until.UnixNano()) err := unix.ClockNanosleep(unix.CLOCK_REALTIME, unix.TIMER_ABSTIME, &abs, nil) if err == unix.EINTR { t.Logf("ClockNanosleep interrupted after %v", time.Since(start)) continue } else if err != nil { t.Errorf("ClockNanosleep(CLOCK_REALTIME, TIMER_ABSTIME, %#v (=%v), nil) = %v", &abs, until, err) } else { // We asked for CLOCK_REALTIME, but we have no way to know whether it // jumped backward after ClockNanosleep returned. Compare both ways, // and only fail if both the monotonic and wall clocks agree that // the elapsed sleep was too short. // // This can still theoretically fail spuriously: if the clock jumps // forward during ClockNanosleep and then backward again before we can // call time.Now, then we could end up with a time that is too short on // both the monotonic scale (because of the forward jump) and the // real-time scale (because of the backward jump. However, it seems // unlikely that two such contrary jumps will ever occur in the time it // takes to execute this test. if now := time.Now(); now.Before(until) && now.Round(0).Before(until) { t.Errorf("ClockNanosleep(CLOCK_REALTIME, TIMER_ABSTIME, %#v (=%v), nil) slept only until %v", &abs, until, now) } } break } // Invalid clock. clock_nanosleep(2) says EINVAL, but it’s actually EOPNOTSUPP. err := unix.ClockNanosleep(unix.CLOCK_THREAD_CPUTIME_ID, 0, &rel, nil) if err != unix.EINVAL && err != unix.EOPNOTSUPP { t.Errorf("ClockNanosleep(CLOCK_THREAD_CPUTIME_ID, 0, %#v, nil) = %v, want EINVAL or EOPNOTSUPP", &rel, err) } } func TestOpenByHandleAt(t *testing.T) { skipIfNotSupported := func(t *testing.T, name string, err error) { if err == unix.EPERM { t.Skipf("skipping %s test without CAP_DAC_READ_SEARCH", name) } if err == unix.ENOSYS { t.Skipf("%s system call not available", name) } if err == unix.EOPNOTSUPP { t.Skipf("%s not supported on this filesystem", name) } } h, mountID, err := unix.NameToHandleAt(unix.AT_FDCWD, "syscall_linux_test.go", 0) if err != nil { skipIfNotSupported(t, "name_to_handle_at", err) t.Fatalf("NameToHandleAt: %v", err) } t.Logf("mountID: %v, handle: size=%d, type=%d, bytes=%q", mountID, h.Size(), h.Type(), h.Bytes()) mount, err := openMountByID(mountID) if err != nil { t.Fatalf("openMountByID: %v", err) } defer mount.Close() for _, clone := range []bool{false, true} { t.Run("clone="+strconv.FormatBool(clone), func(t *testing.T) { if clone { h = unix.NewFileHandle(h.Type(), h.Bytes()) } fd, err := unix.OpenByHandleAt(int(mount.Fd()), h, unix.O_RDONLY) skipIfNotSupported(t, "open_by_handle_at", err) if err != nil { t.Fatalf("OpenByHandleAt: %v", err) } t.Logf("opened fd %v", fd) f := os.NewFile(uintptr(fd), "") defer f.Close() slurp, err := io.ReadAll(f) if err != nil { t.Fatal(err) } const substr = "Some substring for a test." if !strings.Contains(string(slurp), substr) { t.Errorf("didn't find substring %q in opened file; read %d bytes", substr, len(slurp)) } }) } } func openMountByID(mountID int) (f *os.File, err error) { mi, err := os.Open("/proc/self/mountinfo") if err != nil { return nil, err } defer mi.Close() bs := bufio.NewScanner(mi) wantPrefix := []byte(fmt.Sprintf("%v ", mountID)) for bs.Scan() { if !bytes.HasPrefix(bs.Bytes(), wantPrefix) { continue } fields := strings.Fields(bs.Text()) dev := fields[4] return os.Open(dev) } if err := bs.Err(); err != nil { return nil, err } return nil, errors.New("mountID not found") } func TestEpoll(t *testing.T) { efd, err := unix.EpollCreate1(unix.EPOLL_CLOEXEC) if err != nil { t.Fatalf("EpollCreate1: %v", err) } defer unix.Close(efd) r, w, err := os.Pipe() if err != nil { t.Fatal(err) } defer r.Close() defer w.Close() fd := int(r.Fd()) ev := unix.EpollEvent{Events: unix.EPOLLIN, Fd: int32(fd)} err = unix.EpollCtl(efd, unix.EPOLL_CTL_ADD, fd, &ev) if err != nil { t.Fatalf("EpollCtl: %v", err) } if _, err := w.Write([]byte("HELLO GOPHER")); err != nil { t.Fatal(err) } events := make([]unix.EpollEvent, 128) n, err := unix.EpollWait(efd, events, 1) if err != nil { t.Fatalf("EpollWait: %v", err) } if n != 1 { t.Errorf("EpollWait: wrong number of events: got %v, expected 1", n) } got := int(events[0].Fd) if got != fd { t.Errorf("EpollWait: wrong Fd in event: got %v, expected %v", got, fd) } } func TestPrctlRetInt(t *testing.T) { skipc := make(chan bool, 1) skip := func() { skipc <- true runtime.Goexit() } go func() { // This test uses prctl to modify the calling thread, so run it on its own // throwaway thread and do not unlock it when the goroutine exits. runtime.LockOSThread() defer close(skipc) err := unix.Prctl(unix.PR_SET_NO_NEW_PRIVS, 1, 0, 0, 0) if err != nil { t.Logf("Prctl: %v, skipping test", err) skip() } v, err := unix.PrctlRetInt(unix.PR_GET_NO_NEW_PRIVS, 0, 0, 0, 0) if err != nil { t.Errorf("failed to perform prctl: %v", err) } if v != 1 { t.Errorf("unexpected return from prctl; got %v, expected %v", v, 1) } }() if <-skipc { t.SkipNow() } } func TestTimerfd(t *testing.T) { var now unix.Timespec if err := unix.ClockGettime(unix.CLOCK_REALTIME, &now); err != nil { t.Fatalf("ClockGettime: %v", err) } tfd, err := unix.TimerfdCreate(unix.CLOCK_REALTIME, 0) if err == unix.ENOSYS { t.Skip("timerfd_create system call not implemented") } else if err != nil { t.Fatalf("TimerfdCreate: %v", err) } defer unix.Close(tfd) var timeSpec unix.ItimerSpec if err := unix.TimerfdGettime(tfd, &timeSpec); err != nil { t.Fatalf("TimerfdGettime: %v", err) } if timeSpec.Value.Nsec != 0 || timeSpec.Value.Sec != 0 { t.Fatalf("TimerfdGettime: timer is already set, but shouldn't be") } timeSpec = unix.ItimerSpec{ Interval: unix.NsecToTimespec(int64(time.Millisecond)), Value: now, } if err := unix.TimerfdSettime(tfd, unix.TFD_TIMER_ABSTIME, &timeSpec, nil); err != nil { t.Fatalf("TimerfdSettime: %v", err) } const totalTicks = 10 const bufferLength = 8 buffer := make([]byte, bufferLength) var count uint64 = 0 for count < totalTicks { n, err := unix.Read(tfd, buffer) if err != nil { t.Fatalf("Timerfd: %v", err) } else if n != bufferLength { t.Fatalf("Timerfd: got %d bytes from timerfd, expected %d bytes", n, bufferLength) } count += *(*uint64)(unsafe.Pointer(&buffer)) } } func TestOpenat2(t *testing.T) { how := &unix.OpenHow{ Flags: unix.O_RDONLY, } fd, err := unix.Openat2(unix.AT_FDCWD, ".", how) if err != nil { if err == unix.ENOSYS || err == unix.EPERM { t.Skipf("openat2: %v (old kernel? need Linux >= 5.6)", err) } t.Fatalf("openat2: %v", err) } if err := unix.Close(fd); err != nil { t.Fatalf("close: %v", err) } // prepare subdir := filepath.Join(t.TempDir(), "dir") if err := os.Mkdir(subdir, 0755); err != nil { t.Fatal(err) } symlink := filepath.Join(subdir, "symlink") if err := os.Symlink("../", symlink); err != nil { t.Fatal(err) } dirfd, err := unix.Open(subdir, unix.O_RDONLY, 0) if err != nil { t.Fatalf("open(%q): %v", subdir, err) } defer unix.Close(dirfd) // openat2 with no extra flags -- should succeed fd, err = unix.Openat2(dirfd, "symlink", how) if err != nil { t.Errorf("Openat2 should succeed, got %v", err) } if err := unix.Close(fd); err != nil { t.Fatalf("close: %v", err) } // open with RESOLVE_BENEATH, should result in EXDEV how.Resolve = unix.RESOLVE_BENEATH fd, err = unix.Openat2(dirfd, "symlink", how) if err == nil { if err := unix.Close(fd); err != nil { t.Fatalf("close: %v", err) } } if err != unix.EXDEV { t.Errorf("Openat2 should fail with EXDEV, got %v", err) } } func TestIoctlFileDedupeRange(t *testing.T) { dir := t.TempDir() f1, err := os.Create(filepath.Join(dir, "f1")) if err != nil { t.Fatal(err) } defer f1.Close() // Test deduplication with two blocks of zeros data := make([]byte, 4096) for i := 0; i < 2; i += 1 { _, err = f1.Write(data) if err != nil { t.Fatal(err) } } f2, err := os.Create(filepath.Join(dir, "f2")) if err != nil { t.Fatal(err) } defer f2.Close() for i := 0; i < 2; i += 1 { // Make the 2nd block different if i == 1 { data[1] = 1 } _, err = f2.Write(data) if err != nil { t.Fatal(err) } } dedupe := unix.FileDedupeRange{ Src_offset: uint64(0), Src_length: uint64(4096), Info: []unix.FileDedupeRangeInfo{ unix.FileDedupeRangeInfo{ Dest_fd: int64(f2.Fd()), Dest_offset: uint64(0), }, unix.FileDedupeRangeInfo{ Dest_fd: int64(f2.Fd()), Dest_offset: uint64(4096), }, }} err = unix.IoctlFileDedupeRange(int(f1.Fd()), &dedupe) if err == unix.EOPNOTSUPP || err == unix.EINVAL || err == unix.ENOTTY { t.Skip("deduplication not supported on this filesystem") } else if err != nil { t.Fatal(err) } // The first Info should be equal if dedupe.Info[0].Status < 0 { errno := unix.Errno(-dedupe.Info[0].Status) if errno == unix.EINVAL || errno == unix.EOPNOTSUPP { t.Skip("deduplication not supported on this filesystem") } t.Errorf("Unexpected error in FileDedupeRange: %s", unix.ErrnoName(errno)) } else if dedupe.Info[0].Status == unix.FILE_DEDUPE_RANGE_DIFFERS { t.Errorf("Unexpected different bytes in FileDedupeRange") } if dedupe.Info[0].Bytes_deduped != 4096 { t.Errorf("Unexpected amount of bytes deduped %v != %v", dedupe.Info[0].Bytes_deduped, 4096) } // The second Info should be different if dedupe.Info[1].Status < 0 { errno := unix.Errno(-dedupe.Info[1].Status) if errno == unix.EINVAL || errno == unix.EOPNOTSUPP { t.Skip("deduplication not supported on this filesystem") } t.Errorf("Unexpected error in FileDedupeRange: %s", unix.ErrnoName(errno)) } else if dedupe.Info[1].Status == unix.FILE_DEDUPE_RANGE_SAME { t.Errorf("Unexpected equal bytes in FileDedupeRange") } if dedupe.Info[1].Bytes_deduped != 0 { t.Errorf("Unexpected amount of bytes deduped %v != %v", dedupe.Info[1].Bytes_deduped, 0) } } // TestPwritevOffsets tests golang.org/issues/57291 where // offs2lohi was shifting by the size of long in bytes, not bits. func TestPwritevOffsets(t *testing.T) { path := filepath.Join(t.TempDir(), "x.txt") f, err := os.Create(path) if err != nil { t.Fatal(err) } t.Cleanup(func() { f.Close() }) const ( off = 20 ) b := [][]byte{{byte(0)}} n, err := unix.Pwritev(int(f.Fd()), b, off) if err != nil { t.Fatal(err) } if n != len(b) { t.Fatalf("expected to write %d, wrote %d", len(b), n) } info, err := f.Stat() if err != nil { t.Fatal(err) } want := off + int64(len(b)) if info.Size() != want { t.Fatalf("expected size to be %d, got %d", want, info.Size()) } } func TestReadvAllocate(t *testing.T) { f, err := os.Create(filepath.Join(t.TempDir(), "test")) if err != nil { t.Fatal(err) } t.Cleanup(func() { f.Close() }) test := func(name string, fn func(fd int)) { n := int(testing.AllocsPerRun(100, func() { fn(int(f.Fd())) })) if n != 0 { t.Errorf("%q got %d allocations, want 0", name, n) } } iovs := make([][]byte, 8) for i := range iovs { iovs[i] = []byte{'A'} } test("Writev", func(fd int) { unix.Writev(fd, iovs) }) test("Pwritev", func(fd int) { unix.Pwritev(fd, iovs, 0) }) test("Pwritev2", func(fd int) { unix.Pwritev2(fd, iovs, 0, 0) }) test("Readv", func(fd int) { unix.Readv(fd, iovs) }) test("Preadv", func(fd int) { unix.Preadv(fd, iovs, 0) }) test("Preadv2", func(fd int) { unix.Preadv2(fd, iovs, 0, 0) }) } func TestSockaddrALG(t *testing.T) { // Open a socket to perform SHA1 hashing. fd, err := unix.Socket(unix.AF_ALG, unix.SOCK_SEQPACKET, 0) if err != nil { t.Skip("socket(AF_ALG):", err) } defer unix.Close(fd) addr := &unix.SockaddrALG{Type: "hash", Name: "sha1"} if err := unix.Bind(fd, addr); err != nil { t.Fatal("bind:", err) } // Need to call accept(2) with the second and third arguments as 0, // which is not possible via unix.Accept, thus the use of unix.Syscall. hashfd, _, errno := unix.Syscall6(unix.SYS_ACCEPT4, uintptr(fd), 0, 0, 0, 0, 0) if errno != 0 { t.Fatal("accept:", errno) } hash := os.NewFile(hashfd, "sha1") defer hash.Close() // Hash an input string and read the results. const ( input = "Hello, world." exp = "2ae01472317d1935a84797ec1983ae243fc6aa28" ) if _, err := hash.WriteString(input); err != nil { t.Fatal(err) } b := make([]byte, 20) if _, err := hash.Read(b); err != nil { t.Fatal(err) } got := hex.EncodeToString(b) if got != exp { t.Fatalf("got: %q, want: %q", got, exp) } } dependencies/pkg/mod/golang.org/x/sys@v0.26.0/unix/zsyscall_linux_mipsle.go0000644000000000000000000004141715107355264025603 0ustar rootroot// go run mksyscall.go -l32 -arm -tags linux,mipsle syscall_linux.go syscall_linux_mipsx.go syscall_linux_alarm.go // Code generated by the command above; see README.md. DO NOT EDIT. //go: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 fanotifyMark(fd int, flags uint, mask uint64, dirFd int, pathname *byte) (err error) { _, _, e1 := Syscall6(SYS_FANOTIFY_MARK, uintptr(fd), uintptr(flags), uintptr(mask), uintptr(mask>>32), uintptr(dirFd), uintptr(unsafe.Pointer(pathname))) 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 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 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 := Syscall9(SYS_FADVISE64, 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 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, _ := RawSyscallNoError(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, _ := RawSyscallNoError(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, _ := RawSyscallNoError(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, _ := RawSyscallNoError(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 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 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) (prev int, err error) { r0, _, e1 := Syscall(SYS_SETFSGID, uintptr(gid), 0, 0) prev = int(r0) if e1 != 0 { err = errnoErr(e1) } return } // THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT func setfsuid(uid int) (prev int, err error) { r0, _, e1 := Syscall(SYS_SETFSUID, uintptr(uid), 0, 0) prev = int(r0) 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 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 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 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 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 futimesat(dirfd int, path string, times *[2]Timeval) (err error) { var _p0 *byte _p0, err = BytePtrFromString(path) if err != nil { return } _, _, e1 := Syscall(SYS_FUTIMESAT, uintptr(dirfd), uintptr(unsafe.Pointer(_p0)), 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 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 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 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 Fstatat(dirfd int, path string, stat *Stat_t, flags int) (err error) { var _p0 *byte _p0, err = BytePtrFromString(path) if err != nil { return } _, _, e1 := Syscall6(SYS_FSTATAT64, uintptr(dirfd), 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 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 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 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 Alarm(seconds uint) (remaining uint, err error) { r0, _, e1 := Syscall(SYS_ALARM, uintptr(seconds), 0, 0) remaining = uint(r0) if e1 != 0 { err = errnoErr(e1) } return } dependencies/pkg/mod/golang.org/x/sys@v0.26.0/unix/syscall_test.go0000644000000000000000000000241615107355264023654 0ustar rootroot// 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. //go:build aix || darwin || dragonfly || freebsd || linux || netbsd || openbsd || solaris package unix_test import ( "testing" "golang.org/x/sys/unix" ) func testSetGetenv(t *testing.T, key, value string) { err := unix.Setenv(key, value) if err != nil { t.Fatalf("Setenv failed to set %q: %v", value, err) } newvalue, found := unix.Getenv(key) if !found { t.Fatalf("Getenv failed to find %v variable (want value %q)", key, value) } if newvalue != value { t.Fatalf("Getenv(%v) = %q; want %q", key, newvalue, value) } } func TestEnv(t *testing.T) { testSetGetenv(t, "TESTENV", "AVALUE") // make sure TESTENV gets set to "", not deleted testSetGetenv(t, "TESTENV", "") } func TestUname(t *testing.T) { var utsname unix.Utsname err := unix.Uname(&utsname) if err != nil { t.Fatalf("Uname: %v", err) } t.Logf("OS: %s/%s %s", utsname.Sysname[:], utsname.Machine[:], utsname.Release[:]) } // Test that this compiles. (Issue #31735) func TestStatFieldNames(t *testing.T) { var st unix.Stat_t var _ *unix.Timespec _ = &st.Atim _ = &st.Mtim _ = &st.Ctim _ = int64(st.Mtim.Sec) _ = int64(st.Mtim.Nsec) } dependencies/pkg/mod/golang.org/x/sys@v0.26.0/unix/syscall_linux_sparc64.go0000644000000000000000000001057015107355264025376 0ustar rootroot// 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. //go:build sparc64 && linux package unix //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 Fstatat(dirfd int, path string, stat *Stat_t, flags int) (err error) = SYS_FSTATAT64 //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 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 Renameat(olddirfd int, oldpath string, newdirfd int, newpath string) (err error) //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) (prev int, err error) //sys setfsuid(uid int) (prev 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 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 Ioperm(from int, num int, on int) (err error) { return ENOSYS } func Iopl(level int) (err error) { return ENOSYS } //sys futimesat(dirfd int, path string, times *[2]Timeval) (err error) //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) //sys utimes(path string, times *[2]Timeval) (err error) func setTimespec(sec, nsec int64) Timespec { return Timespec{Sec: sec, Nsec: nsec} } func setTimeval(sec, usec int64) Timeval { return Timeval{Sec: sec, Usec: int32(usec)} } 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 (msghdr *Msghdr) SetIovlen(length int) { msghdr.Iovlen = uint64(length) } func (cmsg *Cmsghdr) SetLen(length int) { cmsg.Len = uint64(length) } func (rsa *RawSockaddrNFCLLCP) SetServiceNameLen(length int) { rsa.Service_name_len = uint64(length) } dependencies/pkg/mod/golang.org/x/sys@v0.26.0/unix/syscall_netbsd_386.go0000644000000000000000000000146315107355264024555 0ustar rootroot// 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. //go:build 386 && netbsd package unix func setTimespec(sec, nsec int64) Timespec { return Timespec{Sec: sec, Nsec: int32(nsec)} } func setTimeval(sec, usec int64) Timeval { return Timeval{Sec: sec, Usec: int32(usec)} } 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 (msghdr *Msghdr) SetIovlen(length int) { msghdr.Iovlen = int32(length) } func (cmsg *Cmsghdr) SetLen(length int) { cmsg.Len = uint32(length) } dependencies/pkg/mod/golang.org/x/sys@v0.26.0/unix/zerrors_darwin_arm64.go0000644000000000000000000026002415107355264025227 0ustar rootroot// mkerrors.sh -m64 // Code generated by the command above; see README.md. DO NOT EDIT. //go:build arm64 && darwin // Code generated by cmd/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 = 0x29 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_SYS_CONTROL = 0x2 AF_UNIX = 0x1 AF_UNSPEC = 0x0 AF_UTUN = 0x26 AF_VSOCK = 0x28 ALTWERASE = 0x200 ATTR_BIT_MAP_COUNT = 0x5 ATTR_CMN_ACCESSMASK = 0x20000 ATTR_CMN_ACCTIME = 0x1000 ATTR_CMN_ADDEDTIME = 0x10000000 ATTR_CMN_BKUPTIME = 0x2000 ATTR_CMN_CHGTIME = 0x800 ATTR_CMN_CRTIME = 0x200 ATTR_CMN_DATA_PROTECT_FLAGS = 0x40000000 ATTR_CMN_DEVID = 0x2 ATTR_CMN_DOCUMENT_ID = 0x100000 ATTR_CMN_ERROR = 0x20000000 ATTR_CMN_EXTENDED_SECURITY = 0x400000 ATTR_CMN_FILEID = 0x2000000 ATTR_CMN_FLAGS = 0x40000 ATTR_CMN_FNDRINFO = 0x4000 ATTR_CMN_FSID = 0x4 ATTR_CMN_FULLPATH = 0x8000000 ATTR_CMN_GEN_COUNT = 0x80000 ATTR_CMN_GRPID = 0x10000 ATTR_CMN_GRPUUID = 0x1000000 ATTR_CMN_MODTIME = 0x400 ATTR_CMN_NAME = 0x1 ATTR_CMN_NAMEDATTRCOUNT = 0x80000 ATTR_CMN_NAMEDATTRLIST = 0x100000 ATTR_CMN_OBJID = 0x20 ATTR_CMN_OBJPERMANENTID = 0x40 ATTR_CMN_OBJTAG = 0x10 ATTR_CMN_OBJTYPE = 0x8 ATTR_CMN_OWNERID = 0x8000 ATTR_CMN_PARENTID = 0x4000000 ATTR_CMN_PAROBJID = 0x80 ATTR_CMN_RETURNED_ATTRS = 0x80000000 ATTR_CMN_SCRIPT = 0x100 ATTR_CMN_SETMASK = 0x51c7ff00 ATTR_CMN_USERACCESS = 0x200000 ATTR_CMN_UUID = 0x800000 ATTR_CMN_VALIDMASK = 0xffffffff ATTR_CMN_VOLSETMASK = 0x6700 ATTR_FILE_ALLOCSIZE = 0x4 ATTR_FILE_CLUMPSIZE = 0x10 ATTR_FILE_DATAALLOCSIZE = 0x400 ATTR_FILE_DATAEXTENTS = 0x800 ATTR_FILE_DATALENGTH = 0x200 ATTR_FILE_DEVTYPE = 0x20 ATTR_FILE_FILETYPE = 0x40 ATTR_FILE_FORKCOUNT = 0x80 ATTR_FILE_FORKLIST = 0x100 ATTR_FILE_IOBLOCKSIZE = 0x8 ATTR_FILE_LINKCOUNT = 0x1 ATTR_FILE_RSRCALLOCSIZE = 0x2000 ATTR_FILE_RSRCEXTENTS = 0x4000 ATTR_FILE_RSRCLENGTH = 0x1000 ATTR_FILE_SETMASK = 0x20 ATTR_FILE_TOTALSIZE = 0x2 ATTR_FILE_VALIDMASK = 0x37ff ATTR_VOL_ALLOCATIONCLUMP = 0x40 ATTR_VOL_ATTRIBUTES = 0x40000000 ATTR_VOL_CAPABILITIES = 0x20000 ATTR_VOL_DIRCOUNT = 0x400 ATTR_VOL_ENCODINGSUSED = 0x10000 ATTR_VOL_FILECOUNT = 0x200 ATTR_VOL_FSTYPE = 0x1 ATTR_VOL_INFO = 0x80000000 ATTR_VOL_IOBLOCKSIZE = 0x80 ATTR_VOL_MAXOBJCOUNT = 0x800 ATTR_VOL_MINALLOCATION = 0x20 ATTR_VOL_MOUNTEDDEVICE = 0x8000 ATTR_VOL_MOUNTFLAGS = 0x4000 ATTR_VOL_MOUNTPOINT = 0x1000 ATTR_VOL_NAME = 0x2000 ATTR_VOL_OBJCOUNT = 0x100 ATTR_VOL_QUOTA_SIZE = 0x10000000 ATTR_VOL_RESERVED_SIZE = 0x20000000 ATTR_VOL_SETMASK = 0x80002000 ATTR_VOL_SIGNATURE = 0x2 ATTR_VOL_SIZE = 0x4 ATTR_VOL_SPACEAVAIL = 0x10 ATTR_VOL_SPACEFREE = 0x8 ATTR_VOL_SPACEUSED = 0x800000 ATTR_VOL_UUID = 0x40000 ATTR_VOL_VALIDMASK = 0xf087ffff 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 BS0 = 0x0 BS1 = 0x8000 BSDLY = 0x8000 CFLUSH = 0xf CLOCAL = 0x8000 CLOCK_MONOTONIC = 0x6 CLOCK_MONOTONIC_RAW = 0x4 CLOCK_MONOTONIC_RAW_APPROX = 0x5 CLOCK_PROCESS_CPUTIME_ID = 0xc CLOCK_REALTIME = 0x0 CLOCK_THREAD_CPUTIME_ID = 0x10 CLOCK_UPTIME_RAW = 0x8 CLOCK_UPTIME_RAW_APPROX = 0x9 CLONE_NOFOLLOW = 0x1 CLONE_NOOWNERCOPY = 0x2 CONNECT_DATA_AUTHENTICATED = 0x4 CONNECT_DATA_IDEMPOTENT = 0x2 CONNECT_RESUME_ON_READ_WRITE = 0x1 CR0 = 0x0 CR1 = 0x1000 CR2 = 0x2000 CR3 = 0x3000 CRDLY = 0x3000 CREAD = 0x800 CRTSCTS = 0x30000 CS5 = 0x0 CS6 = 0x100 CS7 = 0x200 CS8 = 0x300 CSIZE = 0x300 CSTART = 0x11 CSTATUS = 0x14 CSTOP = 0x13 CSTOPB = 0x400 CSUSP = 0x1a CTLIOCGINFO = 0xc0644e03 CTL_HW = 0x6 CTL_KERN = 0x1 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 = 0x10a 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_DARWIN = 0x10a 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_EXCEPT = -0xf EVFILT_FS = -0x9 EVFILT_MACHPORT = -0x8 EVFILT_PROC = -0x5 EVFILT_READ = -0x1 EVFILT_SIGNAL = -0x6 EVFILT_SYSCOUNT = 0x11 EVFILT_THREADMARKER = 0x11 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_DISPATCH2 = 0x180 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 EV_UDATA_SPECIFIC = 0x100 EV_VANISHED = 0x200 EXTA = 0x4b00 EXTB = 0x9600 EXTPROC = 0x800 FD_CLOEXEC = 0x1 FD_SETSIZE = 0x400 FF0 = 0x0 FF1 = 0x4000 FFDLY = 0x4000 FLUSHO = 0x800000 FSOPT_ATTR_CMN_EXTENDED = 0x20 FSOPT_NOFOLLOW = 0x1 FSOPT_NOINMEMUPDATE = 0x2 FSOPT_PACK_INVAL_ATTRS = 0x8 FSOPT_REPORT_FULLSIZE = 0x4 FSOPT_RETURN_REALDEV = 0x200 F_ADDFILESIGS = 0x3d F_ADDFILESIGS_FOR_DYLD_SIM = 0x53 F_ADDFILESIGS_INFO = 0x67 F_ADDFILESIGS_RETURN = 0x61 F_ADDFILESUPPL = 0x68 F_ADDSIGS = 0x3b F_ALLOCATEALL = 0x4 F_ALLOCATECONTIG = 0x2 F_BARRIERFSYNC = 0x55 F_CHECK_LV = 0x62 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_GETPATH_NOFIRMLINK = 0x66 F_GETPROTECTIONCLASS = 0x3f F_GETPROTECTIONLEVEL = 0x4d F_GETSIGSINFO = 0x69 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_PUNCHHOLE = 0x63 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_SPECULATIVE_READ = 0x65 F_THAW_FS = 0x36 F_TRANSCODEKEY = 0x4b F_TRIM_ACTIVE_FILE = 0x64 F_UNLCK = 0x2 F_VOLPOSMODE = 0x4 F_WRLCK = 0x3 HUPCL = 0x4000 HW_MACHINE = 0x1 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_6LOWPAN = 0x40 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 IOCTL_VM_SOCKETS_GET_LOCAL_CID = 0x400473d1 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_3542DSTOPTS = 0x32 IPV6_3542HOPLIMIT = 0x2f IPV6_3542HOPOPTS = 0x31 IPV6_3542NEXTHOP = 0x30 IPV6_3542PKTINFO = 0x2e IPV6_3542RTHDR = 0x33 IPV6_ADDR_MC_FLAGS_PREFIX = 0x20 IPV6_ADDR_MC_FLAGS_TRANSIENT = 0x10 IPV6_ADDR_MC_FLAGS_UNICAST_BASED = 0x30 IPV6_AUTOFLOWLABEL = 0x3b IPV6_BINDV6ONLY = 0x1b IPV6_BOUND_IF = 0x7d 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_FLOW_ECN_MASK = 0x3000 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_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 = 0x3d IPV6_RECVRTHDR = 0x26 IPV6_RECVTCLASS = 0x23 IPV6_RTHDR = 0x33 IPV6_RTHDRDSTOPTS = 0x39 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_USE_MIN_MTU = 0x2a 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_DONTFRAG = 0x1c 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_RECVTOS = 0x1b 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 KERN_HOSTNAME = 0xa KERN_OSRELEASE = 0x2 KERN_OSTYPE = 0x1 KERN_VERSION = 0x4 LOCAL_PEERCRED = 0x1 LOCAL_PEEREPID = 0x3 LOCAL_PEEREUUID = 0x5 LOCAL_PEERPID = 0x2 LOCAL_PEERTOKEN = 0x6 LOCAL_PEERUUID = 0x4 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_PAGEOUT = 0xa MADV_RANDOM = 0x1 MADV_SEQUENTIAL = 0x2 MADV_WILLNEED = 0x3 MADV_ZERO_WIRED_PAGES = 0x6 MAP_32BIT = 0x8000 MAP_ANON = 0x1000 MAP_ANONYMOUS = 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_RESILIENT_CODESIGN = 0x2000 MAP_RESILIENT_MEDIA = 0x4000 MAP_SHARED = 0x1 MAP_TRANSLATED_ALLOW_EXECUTE = 0x20000 MAP_UNIX03 = 0x40000 MCAST_BLOCK_SOURCE = 0x54 MCAST_EXCLUDE = 0x2 MCAST_INCLUDE = 0x1 MCAST_JOIN_GROUP = 0x50 MCAST_JOIN_SOURCE_GROUP = 0x52 MCAST_LEAVE_GROUP = 0x51 MCAST_LEAVE_SOURCE_GROUP = 0x53 MCAST_UNBLOCK_SOURCE = 0x55 MCAST_UNDEFINED = 0x0 MCL_CURRENT = 0x1 MCL_FUTURE = 0x2 MNT_ASYNC = 0x40 MNT_AUTOMOUNTED = 0x400000 MNT_CMDFLAGS = 0xf0000 MNT_CPROTECT = 0x80 MNT_DEFWRITE = 0x2000000 MNT_DONTBROWSE = 0x100000 MNT_DOVOLFS = 0x8000 MNT_DWAIT = 0x4 MNT_EXPORTED = 0x100 MNT_EXT_ROOT_DATA_VOL = 0x1 MNT_FORCE = 0x80000 MNT_IGNORE_OWNERSHIP = 0x200000 MNT_JOURNALED = 0x800000 MNT_LOCAL = 0x1000 MNT_MULTILABEL = 0x4000000 MNT_NOATIME = 0x10000000 MNT_NOBLOCK = 0x20000 MNT_NODEV = 0x10 MNT_NOEXEC = 0x4 MNT_NOSUID = 0x8 MNT_NOUSERXATTR = 0x1000000 MNT_NOWAIT = 0x2 MNT_QUARANTINE = 0x400 MNT_QUOTA = 0x2000 MNT_RDONLY = 0x1 MNT_RELOAD = 0x40000 MNT_REMOVABLE = 0x200 MNT_ROOTFS = 0x4000 MNT_SNAPSHOT = 0x40000000 MNT_STRICTATIME = 0x80000000 MNT_SYNCHRONOUS = 0x2 MNT_UNION = 0x20 MNT_UNKNOWNPERMISSIONS = 0x200000 MNT_UPDATE = 0x10000 MNT_VISFLAGMASK = 0xd7f0f7ff MNT_WAIT = 0x1 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_NOSIGNAL = 0x80000 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_FLAGS_PRIV = 0xa NET_RT_IFLIST = 0x3 NET_RT_IFLIST2 = 0x6 NET_RT_MAXID = 0xb NET_RT_STAT = 0x4 NET_RT_TRASH = 0x5 NFDBITS = 0x20 NL0 = 0x0 NL1 = 0x100 NL2 = 0x200 NL3 = 0x300 NLDLY = 0x300 NOFLSH = 0x80000000 NOKERNINFO = 0x2000000 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_FUNLOCK = 0x100 NOTE_LEEWAY = 0x10 NOTE_LINK = 0x10 NOTE_LOWAT = 0x1 NOTE_MACHTIME = 0x100 NOTE_MACH_CONTINUOUS_TIME = 0x80 NOTE_NONE = 0x80 NOTE_NSECONDS = 0x4 NOTE_OOB = 0x2 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 OXTABS = 0x4 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_DP_GETRAWUNENCRYPTED = 0x2 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_NOFOLLOW_ANY = 0x20000000 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 RENAME_EXCL = 0x4 RENAME_NOFOLLOW_ANY = 0x10 RENAME_RESERVED1 = 0x8 RENAME_SECLUDE = 0x1 RENAME_SWAP = 0x2 RLIMIT_AS = 0x5 RLIMIT_CORE = 0x4 RLIMIT_CPU = 0x0 RLIMIT_CPU_USAGE_MONITOR = 0x2 RLIMIT_DATA = 0x2 RLIMIT_FSIZE = 0x1 RLIMIT_MEMLOCK = 0x6 RLIMIT_NOFILE = 0x8 RLIMIT_NPROC = 0x7 RLIMIT_RSS = 0x5 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_DEAD = 0x20000000 RTF_DELCLONE = 0x80 RTF_DONE = 0x40 RTF_DYNAMIC = 0x10 RTF_GATEWAY = 0x2 RTF_GLOBAL = 0x40000000 RTF_HOST = 0x4 RTF_IFREF = 0x4000000 RTF_IFSCOPE = 0x1000000 RTF_LLDATA = 0x400 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 SAE_ASSOCID_ALL = 0xffffffff SAE_ASSOCID_ANY = 0x0 SAE_CONNID_ALL = 0xffffffff SAE_CONNID_ANY = 0x0 SCM_CREDS = 0x3 SCM_RIGHTS = 0x1 SCM_TIMESTAMP = 0x2 SCM_TIMESTAMP_MONOTONIC = 0x4 SEEK_CUR = 0x1 SEEK_DATA = 0x4 SEEK_END = 0x2 SEEK_HOLE = 0x3 SEEK_SET = 0x0 SF_APPEND = 0x40000 SF_ARCHIVED = 0x10000 SF_DATALESS = 0x40000000 SF_FIRMLINK = 0x800000 SF_IMMUTABLE = 0x20000 SF_NOUNLINK = 0x100000 SF_RESTRICTED = 0x80000 SF_SETTABLE = 0x3fff0000 SF_SUPPORTED = 0x9f0000 SF_SYNTHETIC = 0xc0000000 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 SIOCGIF6LOWPAN = 0xc02069c5 SIOCGIFADDR = 0xc0206921 SIOCGIFALTMTU = 0xc0206948 SIOCGIFASYNCMAP = 0xc020697c SIOCGIFBOND = 0xc0206947 SIOCGIFBRDADDR = 0xc0206923 SIOCGIFCAP = 0xc020695b SIOCGIFCONF = 0xc00c6924 SIOCGIFDEVMTU = 0xc0206944 SIOCGIFDSTADDR = 0xc0206922 SIOCGIFFLAGS = 0xc0206911 SIOCGIFFUNCTIONALTYPE = 0xc02069ad 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 SIOCGIFXMEDIA = 0xc02c6948 SIOCGLOWAT = 0x40047303 SIOCGPGRP = 0x40047309 SIOCIFCREATE = 0xc0206978 SIOCIFCREATE2 = 0xc020697a SIOCIFDESTROY = 0x80206979 SIOCIFGCLONERS = 0xc0106981 SIOCRSLVMULTI = 0xc010693b SIOCSDRVSPEC = 0x8028697b SIOCSETVLAN = 0x8020697e SIOCSHIWAT = 0x80047300 SIOCSIF6LOWPAN = 0x802069c4 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_LOCAL = 0x0 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_NETSVC_MARKING_LEVEL = 0x1119 SO_NET_SERVICE_TYPE = 0x1116 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_TRACKER_ATTRIBUTE_FLAGS_APP_APPROVED = 0x1 SO_TRACKER_ATTRIBUTE_FLAGS_DOMAIN_SHORT = 0x4 SO_TRACKER_ATTRIBUTE_FLAGS_TRACKER = 0x2 SO_TRACKER_TRANSPARENCY_VERSION = 0x3 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 TAB0 = 0x0 TAB1 = 0x400 TAB2 = 0x800 TAB3 = 0x4 TABDLY = 0xc04 TCIFLUSH = 0x1 TCIOFF = 0x3 TCIOFLUSH = 0x3 TCION = 0x4 TCOFLUSH = 0x2 TCOOFF = 0x1 TCOON = 0x2 TCPOPT_CC = 0xb TCPOPT_CCECHO = 0xd TCPOPT_CCNEW = 0xc TCPOPT_EOL = 0x0 TCPOPT_FASTOPEN = 0x22 TCPOPT_MAXSEG = 0x2 TCPOPT_NOP = 0x1 TCPOPT_SACK = 0x5 TCPOPT_SACK_HDR = 0x1010500 TCPOPT_SACK_PERMITTED = 0x4 TCPOPT_SACK_PERMIT_HDR = 0x1010402 TCPOPT_SIGNATURE = 0x13 TCPOPT_TIMESTAMP = 0x8 TCPOPT_TSTAMP_HDR = 0x101080a TCPOPT_WINDOW = 0x3 TCP_CONNECTIONTIMEOUT = 0x20 TCP_CONNECTION_INFO = 0x106 TCP_ENABLE_ECN = 0x104 TCP_FASTOPEN = 0x105 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 UF_APPEND = 0x4 UF_COMPRESSED = 0x20 UF_DATAVAULT = 0x80 UF_HIDDEN = 0x8000 UF_IMMUTABLE = 0x2 UF_NODUMP = 0x1 UF_OPAQUE = 0x8 UF_SETTABLE = 0xffff UF_TRACKED = 0x40 VDISCARD = 0xf VDSUSP = 0xb VEOF = 0x0 VEOL = 0x1 VEOL2 = 0x2 VERASE = 0x3 VINTR = 0x8 VKILL = 0x5 VLNEXT = 0xe VMADDR_CID_ANY = 0xffffffff VMADDR_CID_HOST = 0x2 VMADDR_CID_HYPERVISOR = 0x0 VMADDR_CID_RESERVED = 0x1 VMADDR_PORT_ANY = 0xffffffff VMIN = 0x10 VM_LOADAVG = 0x2 VM_MACHFACTOR = 0x4 VM_MAXID = 0x6 VM_METER = 0x1 VM_SWAPUSAGE = 0x5 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 XATTR_CREATE = 0x2 XATTR_NODEFAULT = 0x10 XATTR_NOFOLLOW = 0x1 XATTR_NOSECURITY = 0x8 XATTR_REPLACE = 0x4 XATTR_SHOWCOMPRESSION = 0x20 ) // 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 errorList = [...]struct { num syscall.Errno name string desc string }{ {1, "EPERM", "operation not permitted"}, {2, "ENOENT", "no such file or directory"}, {3, "ESRCH", "no such process"}, {4, "EINTR", "interrupted system call"}, {5, "EIO", "input/output error"}, {6, "ENXIO", "device not configured"}, {7, "E2BIG", "argument list too long"}, {8, "ENOEXEC", "exec format error"}, {9, "EBADF", "bad file descriptor"}, {10, "ECHILD", "no child processes"}, {11, "EDEADLK", "resource deadlock avoided"}, {12, "ENOMEM", "cannot allocate memory"}, {13, "EACCES", "permission denied"}, {14, "EFAULT", "bad address"}, {15, "ENOTBLK", "block device required"}, {16, "EBUSY", "resource busy"}, {17, "EEXIST", "file exists"}, {18, "EXDEV", "cross-device link"}, {19, "ENODEV", "operation not supported by device"}, {20, "ENOTDIR", "not a directory"}, {21, "EISDIR", "is a directory"}, {22, "EINVAL", "invalid argument"}, {23, "ENFILE", "too many open files in system"}, {24, "EMFILE", "too many open files"}, {25, "ENOTTY", "inappropriate ioctl for device"}, {26, "ETXTBSY", "text file busy"}, {27, "EFBIG", "file too large"}, {28, "ENOSPC", "no space left on device"}, {29, "ESPIPE", "illegal seek"}, {30, "EROFS", "read-only file system"}, {31, "EMLINK", "too many links"}, {32, "EPIPE", "broken pipe"}, {33, "EDOM", "numerical argument out of domain"}, {34, "ERANGE", "result too large"}, {35, "EAGAIN", "resource temporarily unavailable"}, {36, "EINPROGRESS", "operation now in progress"}, {37, "EALREADY", "operation already in progress"}, {38, "ENOTSOCK", "socket operation on non-socket"}, {39, "EDESTADDRREQ", "destination address required"}, {40, "EMSGSIZE", "message too long"}, {41, "EPROTOTYPE", "protocol wrong type for socket"}, {42, "ENOPROTOOPT", "protocol not available"}, {43, "EPROTONOSUPPORT", "protocol not supported"}, {44, "ESOCKTNOSUPPORT", "socket type not supported"}, {45, "ENOTSUP", "operation not supported"}, {46, "EPFNOSUPPORT", "protocol family not supported"}, {47, "EAFNOSUPPORT", "address family not supported by protocol family"}, {48, "EADDRINUSE", "address already in use"}, {49, "EADDRNOTAVAIL", "can't assign requested address"}, {50, "ENETDOWN", "network is down"}, {51, "ENETUNREACH", "network is unreachable"}, {52, "ENETRESET", "network dropped connection on reset"}, {53, "ECONNABORTED", "software caused connection abort"}, {54, "ECONNRESET", "connection reset by peer"}, {55, "ENOBUFS", "no buffer space available"}, {56, "EISCONN", "socket is already connected"}, {57, "ENOTCONN", "socket is not connected"}, {58, "ESHUTDOWN", "can't send after socket shutdown"}, {59, "ETOOMANYREFS", "too many references: can't splice"}, {60, "ETIMEDOUT", "operation timed out"}, {61, "ECONNREFUSED", "connection refused"}, {62, "ELOOP", "too many levels of symbolic links"}, {63, "ENAMETOOLONG", "file name too long"}, {64, "EHOSTDOWN", "host is down"}, {65, "EHOSTUNREACH", "no route to host"}, {66, "ENOTEMPTY", "directory not empty"}, {67, "EPROCLIM", "too many processes"}, {68, "EUSERS", "too many users"}, {69, "EDQUOT", "disc quota exceeded"}, {70, "ESTALE", "stale NFS file handle"}, {71, "EREMOTE", "too many levels of remote in path"}, {72, "EBADRPC", "RPC struct is bad"}, {73, "ERPCMISMATCH", "RPC version wrong"}, {74, "EPROGUNAVAIL", "RPC prog. not avail"}, {75, "EPROGMISMATCH", "program version wrong"}, {76, "EPROCUNAVAIL", "bad procedure for program"}, {77, "ENOLCK", "no locks available"}, {78, "ENOSYS", "function not implemented"}, {79, "EFTYPE", "inappropriate file type or format"}, {80, "EAUTH", "authentication error"}, {81, "ENEEDAUTH", "need authenticator"}, {82, "EPWROFF", "device power is off"}, {83, "EDEVERR", "device error"}, {84, "EOVERFLOW", "value too large to be stored in data type"}, {85, "EBADEXEC", "bad executable (or shared library)"}, {86, "EBADARCH", "bad CPU type in executable"}, {87, "ESHLIBVERS", "shared library version mismatch"}, {88, "EBADMACHO", "malformed Mach-o file"}, {89, "ECANCELED", "operation canceled"}, {90, "EIDRM", "identifier removed"}, {91, "ENOMSG", "no message of desired type"}, {92, "EILSEQ", "illegal byte sequence"}, {93, "ENOATTR", "attribute not found"}, {94, "EBADMSG", "bad message"}, {95, "EMULTIHOP", "EMULTIHOP (Reserved)"}, {96, "ENODATA", "no message available on STREAM"}, {97, "ENOLINK", "ENOLINK (Reserved)"}, {98, "ENOSR", "no STREAM resources"}, {99, "ENOSTR", "not a STREAM"}, {100, "EPROTO", "protocol error"}, {101, "ETIME", "STREAM ioctl timeout"}, {102, "EOPNOTSUPP", "operation not supported on socket"}, {103, "ENOPOLICY", "policy not found"}, {104, "ENOTRECOVERABLE", "state not recoverable"}, {105, "EOWNERDEAD", "previous owner died"}, {106, "EQFULL", "interface output queue is full"}, } // Signal table var signalList = [...]struct { num syscall.Signal name string desc string }{ {1, "SIGHUP", "hangup"}, {2, "SIGINT", "interrupt"}, {3, "SIGQUIT", "quit"}, {4, "SIGILL", "illegal instruction"}, {5, "SIGTRAP", "trace/BPT trap"}, {6, "SIGABRT", "abort trap"}, {7, "SIGEMT", "EMT trap"}, {8, "SIGFPE", "floating point exception"}, {9, "SIGKILL", "killed"}, {10, "SIGBUS", "bus error"}, {11, "SIGSEGV", "segmentation fault"}, {12, "SIGSYS", "bad system call"}, {13, "SIGPIPE", "broken pipe"}, {14, "SIGALRM", "alarm clock"}, {15, "SIGTERM", "terminated"}, {16, "SIGURG", "urgent I/O condition"}, {17, "SIGSTOP", "suspended (signal)"}, {18, "SIGTSTP", "suspended"}, {19, "SIGCONT", "continued"}, {20, "SIGCHLD", "child exited"}, {21, "SIGTTIN", "stopped (tty input)"}, {22, "SIGTTOU", "stopped (tty output)"}, {23, "SIGIO", "I/O possible"}, {24, "SIGXCPU", "cputime limit exceeded"}, {25, "SIGXFSZ", "filesize limit exceeded"}, {26, "SIGVTALRM", "virtual timer expired"}, {27, "SIGPROF", "profiling timer expired"}, {28, "SIGWINCH", "window size changes"}, {29, "SIGINFO", "information request"}, {30, "SIGUSR1", "user defined signal 1"}, {31, "SIGUSR2", "user defined signal 2"}, } dependencies/pkg/mod/golang.org/x/sys@v0.26.0/unix/ztypes_linux_s390x.go0000644000000000000000000003110615107355264024664 0ustar rootroot// cgo -godefs -objdir=/tmp/s390x/cgo -- -Wall -Werror -static -I/tmp/s390x/include -fsigned-char linux/types.go | go run mkpost.go // Code generated by the command above; see README.md. DO NOT EDIT. //go:build s390x && linux package unix const ( SizeofPtr = 0x8 SizeofLong = 0x8 ) type ( _C_long int64 ) type Timespec struct { Sec int64 Nsec int64 } type Timeval struct { Sec int64 Usec int64 } type Timex struct { Modes uint32 Offset int64 Freq int64 Maxerror int64 Esterror int64 Status int32 Constant int64 Precision int64 Tolerance int64 Time Timeval Tick int64 Ppsfreq int64 Jitter int64 Shift int32 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 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 Dirent struct { Ino uint64 Off int64 Reclen uint16 Type uint8 Name [256]int8 _ [5]byte } type Flock_t struct { Type int16 Whence int16 Start int64 Len int64 Pid int32 _ [4]byte } type DmNameList struct { Dev uint64 Next uint32 Name [0]byte _ [4]byte } const ( FADV_DONTNEED = 0x6 FADV_NOREUSE = 0x7 ) type RawSockaddrNFCLLCP struct { Sa_family uint16 Dev_idx uint32 Target_idx uint32 Nfc_protocol uint32 Dsap uint8 Ssap uint8 Service_name [63]uint8 Service_name_len uint64 } type RawSockaddr struct { Family uint16 Data [14]int8 } type RawSockaddrAny struct { Addr RawSockaddr Pad [96]int8 } type Iovec struct { Base *byte Len uint64 } type Msghdr struct { Name *byte Namelen uint32 Iov *Iovec Iovlen uint64 Control *byte Controllen uint64 Flags int32 _ [4]byte } type Cmsghdr struct { Len uint64 Level int32 Type int32 } type ifreq struct { Ifrn [16]byte Ifru [24]byte } const ( SizeofSockaddrNFCLLCP = 0x60 SizeofIovec = 0x10 SizeofMsghdr = 0x38 SizeofCmsghdr = 0x10 ) const ( SizeofSockFprog = 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 Fprs [16]float64 } type PtracePer struct { Control_regs [3]uint64 _ [8]byte Starting_addr uint64 Ending_addr uint64 Perc_atmid uint16 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 Totalhigh uint64 Freehigh uint64 Unit uint32 _ [0]int8 _ [4]byte } type Ustat_t struct { Tfree int32 Tinode uint64 Fname [6]int8 Fpack [6]int8 _ [4]byte } type EpollEvent struct { Events uint32 _ int32 Fd int32 Pad int32 } const ( OPEN_TREE_CLOEXEC = 0x80000 ) const ( POLLRDHUP = 0x2000 ) type Sigset_t struct { Val [16]uint64 } const _C__NSIG = 0x41 const ( SIG_BLOCK = 0x0 SIG_UNBLOCK = 0x1 SIG_SETMASK = 0x2 ) type Siginfo struct { Signo int32 Errno int32 Code int32 _ int32 _ [112]byte } type Termios struct { Iflag uint32 Oflag uint32 Cflag uint32 Lflag uint32 Line uint8 Cc [19]uint8 Ispeed uint32 Ospeed uint32 } type Taskstats struct { Version uint16 Ac_exitcode uint32 Ac_flag uint8 Ac_nice uint8 Cpu_count uint64 Cpu_delay_total uint64 Blkio_count uint64 Blkio_delay_total uint64 Swapin_count uint64 Swapin_delay_total uint64 Cpu_run_real_total uint64 Cpu_run_virtual_total uint64 Ac_comm [32]int8 Ac_sched uint8 Ac_pad [3]uint8 _ [4]byte Ac_uid uint32 Ac_gid uint32 Ac_pid uint32 Ac_ppid uint32 Ac_btime uint32 Ac_etime uint64 Ac_utime uint64 Ac_stime uint64 Ac_minflt uint64 Ac_majflt uint64 Coremem uint64 Virtmem uint64 Hiwater_rss uint64 Hiwater_vm uint64 Read_char uint64 Write_char uint64 Read_syscalls uint64 Write_syscalls uint64 Read_bytes uint64 Write_bytes uint64 Cancelled_write_bytes uint64 Nvcsw uint64 Nivcsw uint64 Ac_utimescaled uint64 Ac_stimescaled uint64 Cpu_scaled_run_real_total uint64 Freepages_count uint64 Freepages_delay_total uint64 Thrashing_count uint64 Thrashing_delay_total uint64 Ac_btime64 uint64 Compact_count uint64 Compact_delay_total uint64 Ac_tgid uint32 Ac_tgetime uint64 Ac_exe_dev uint64 Ac_exe_inode uint64 Wpcopy_count uint64 Wpcopy_delay_total uint64 Irq_count uint64 Irq_delay_total uint64 } type cpuMask uint64 const ( _NCPUBITS = 0x40 ) const ( CBitFieldMaskBit0 = 0x8000000000000000 CBitFieldMaskBit1 = 0x4000000000000000 CBitFieldMaskBit2 = 0x2000000000000000 CBitFieldMaskBit3 = 0x1000000000000000 CBitFieldMaskBit4 = 0x800000000000000 CBitFieldMaskBit5 = 0x400000000000000 CBitFieldMaskBit6 = 0x200000000000000 CBitFieldMaskBit7 = 0x100000000000000 CBitFieldMaskBit8 = 0x80000000000000 CBitFieldMaskBit9 = 0x40000000000000 CBitFieldMaskBit10 = 0x20000000000000 CBitFieldMaskBit11 = 0x10000000000000 CBitFieldMaskBit12 = 0x8000000000000 CBitFieldMaskBit13 = 0x4000000000000 CBitFieldMaskBit14 = 0x2000000000000 CBitFieldMaskBit15 = 0x1000000000000 CBitFieldMaskBit16 = 0x800000000000 CBitFieldMaskBit17 = 0x400000000000 CBitFieldMaskBit18 = 0x200000000000 CBitFieldMaskBit19 = 0x100000000000 CBitFieldMaskBit20 = 0x80000000000 CBitFieldMaskBit21 = 0x40000000000 CBitFieldMaskBit22 = 0x20000000000 CBitFieldMaskBit23 = 0x10000000000 CBitFieldMaskBit24 = 0x8000000000 CBitFieldMaskBit25 = 0x4000000000 CBitFieldMaskBit26 = 0x2000000000 CBitFieldMaskBit27 = 0x1000000000 CBitFieldMaskBit28 = 0x800000000 CBitFieldMaskBit29 = 0x400000000 CBitFieldMaskBit30 = 0x200000000 CBitFieldMaskBit31 = 0x100000000 CBitFieldMaskBit32 = 0x80000000 CBitFieldMaskBit33 = 0x40000000 CBitFieldMaskBit34 = 0x20000000 CBitFieldMaskBit35 = 0x10000000 CBitFieldMaskBit36 = 0x8000000 CBitFieldMaskBit37 = 0x4000000 CBitFieldMaskBit38 = 0x2000000 CBitFieldMaskBit39 = 0x1000000 CBitFieldMaskBit40 = 0x800000 CBitFieldMaskBit41 = 0x400000 CBitFieldMaskBit42 = 0x200000 CBitFieldMaskBit43 = 0x100000 CBitFieldMaskBit44 = 0x80000 CBitFieldMaskBit45 = 0x40000 CBitFieldMaskBit46 = 0x20000 CBitFieldMaskBit47 = 0x10000 CBitFieldMaskBit48 = 0x8000 CBitFieldMaskBit49 = 0x4000 CBitFieldMaskBit50 = 0x2000 CBitFieldMaskBit51 = 0x1000 CBitFieldMaskBit52 = 0x800 CBitFieldMaskBit53 = 0x400 CBitFieldMaskBit54 = 0x200 CBitFieldMaskBit55 = 0x100 CBitFieldMaskBit56 = 0x80 CBitFieldMaskBit57 = 0x40 CBitFieldMaskBit58 = 0x20 CBitFieldMaskBit59 = 0x10 CBitFieldMaskBit60 = 0x8 CBitFieldMaskBit61 = 0x4 CBitFieldMaskBit62 = 0x2 CBitFieldMaskBit63 = 0x1 ) type SockaddrStorage struct { Family uint16 Data [118]byte _ uint64 } type HDGeometry struct { Heads uint8 Sectors uint8 Cylinders uint16 Start uint64 } 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 TpacketHdr struct { Status uint64 Len uint32 Snaplen uint32 Mac uint16 Net uint16 Sec uint32 Usec uint32 _ [4]byte } const ( SizeofTpacketHdr = 0x20 ) type RTCPLLInfo struct { Ctrl int32 Value int32 Max int32 Min int32 Posmult int32 Negmult int32 Clock int64 } type BlkpgPartition struct { Start int64 Length int64 Pno int32 Devname [64]uint8 Volname [64]uint8 _ [4]byte } const ( BLKPG = 0x1269 ) type CryptoUserAlg struct { Name [64]int8 Driver_name [64]int8 Module_name [64]int8 Type uint32 Mask uint32 Refcnt uint32 Flags uint32 } type CryptoStatAEAD struct { Type [64]int8 Encrypt_cnt uint64 Encrypt_tlen uint64 Decrypt_cnt uint64 Decrypt_tlen uint64 Err_cnt uint64 } type CryptoStatAKCipher struct { Type [64]int8 Encrypt_cnt uint64 Encrypt_tlen uint64 Decrypt_cnt uint64 Decrypt_tlen uint64 Verify_cnt uint64 Sign_cnt uint64 Err_cnt uint64 } type CryptoStatCipher struct { Type [64]int8 Encrypt_cnt uint64 Encrypt_tlen uint64 Decrypt_cnt uint64 Decrypt_tlen uint64 Err_cnt uint64 } type CryptoStatCompress struct { Type [64]int8 Compress_cnt uint64 Compress_tlen uint64 Decompress_cnt uint64 Decompress_tlen uint64 Err_cnt uint64 } type CryptoStatHash struct { Type [64]int8 Hash_cnt uint64 Hash_tlen uint64 Err_cnt uint64 } type CryptoStatKPP struct { Type [64]int8 Setsecret_cnt uint64 Generate_public_key_cnt uint64 Compute_shared_secret_cnt uint64 Err_cnt uint64 } type CryptoStatRNG struct { Type [64]int8 Generate_cnt uint64 Generate_tlen uint64 Seed_cnt uint64 Err_cnt uint64 } type CryptoStatLarval struct { Type [64]int8 } type CryptoReportLarval struct { Type [64]int8 } type CryptoReportHash struct { Type [64]int8 Blocksize uint32 Digestsize uint32 } type CryptoReportCipher struct { Type [64]int8 Blocksize uint32 Min_keysize uint32 Max_keysize uint32 } type CryptoReportBlkCipher struct { Type [64]int8 Geniv [64]int8 Blocksize uint32 Min_keysize uint32 Max_keysize uint32 Ivsize uint32 } type CryptoReportAEAD struct { Type [64]int8 Geniv [64]int8 Blocksize uint32 Maxauthsize uint32 Ivsize uint32 } type CryptoReportComp struct { Type [64]int8 } type CryptoReportRNG struct { Type [64]int8 Seedsize uint32 } type CryptoReportAKCipher struct { Type [64]int8 } type CryptoReportKPP struct { Type [64]int8 } type CryptoReportAcomp struct { Type [64]int8 } type LoopInfo struct { Number int32 Device uint16 Inode uint64 Rdevice uint16 Offset int32 Encrypt_type int32 Encrypt_key_size int32 Flags int32 Name [64]int8 Encrypt_key [32]uint8 Init [2]uint64 Reserved [4]int8 _ [4]byte } type TIPCSubscr struct { Seq TIPCServiceRange Timeout uint32 Filter uint32 Handle [8]int8 } type TIPCSIOCLNReq struct { Peer uint32 Id uint32 Linkname [68]int8 } type TIPCSIOCNodeIDReq struct { Peer uint32 Id [16]int8 } type PPSKInfo struct { Assert_sequence uint32 Clear_sequence uint32 Assert_tu PPSKTime Clear_tu PPSKTime Current_mode int32 _ [4]byte } const ( PPS_GETPARAMS = 0x800870a1 PPS_SETPARAMS = 0x400870a2 PPS_GETCAP = 0x800870a3 PPS_FETCH = 0xc00870a4 ) const ( PIDFD_NONBLOCK = 0x800 ) type SysvIpcPerm struct { Key int32 Uid uint32 Gid uint32 Cuid uint32 Cgid uint32 Mode uint32 _ uint16 Seq uint16 _ uint64 _ uint64 } type SysvShmDesc struct { Perm SysvIpcPerm Segsz uint64 Atime int64 Dtime int64 Ctime int64 Cpid int32 Lpid int32 Nattch uint64 _ uint64 _ uint64 } dependencies/pkg/mod/golang.org/x/sys@v0.26.0/unix/ifreq_linux_test.go0000644000000000000000000001054315107355264024527 0ustar rootroot// Copyright 2021 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:build linux package unix import ( "bytes" "net" "testing" "unsafe" ) // An ifreqUnion is shorthand for a byte array matching the // architecture-dependent size of an ifreq's union field. type ifreqUnion = [len(ifreq{}.Ifru)]byte func TestNewIfreq(t *testing.T) { // Interface name too long. if _, err := NewIfreq("abcdefghijklmnop"); err != EINVAL { t.Fatalf("expected error EINVAL, but got: %v", err) } } func TestIfreqSize(t *testing.T) { // Ensure ifreq (generated) and Ifreq/ifreqData (hand-written to create a // safe wrapper and store a pointer field) are identical in size. want := unsafe.Sizeof(ifreq{}) if got := unsafe.Sizeof(Ifreq{}); want != got { t.Fatalf("unexpected Ifreq size: got: %d, want: %d", got, want) } if got := unsafe.Sizeof(ifreqData{}); want != got { t.Fatalf("unexpected IfreqData size: got: %d, want: %d", got, want) } } func TestIfreqName(t *testing.T) { // Valid ifreq, expect the hard-coded testIfreq name. ifr := testIfreq(t) if want, got := ifreqName, ifr.Name(); want != got { t.Fatalf("unexpected ifreq name: got: %q, want: %q", got, want) } } func TestIfreqWithData(t *testing.T) { ifr := testIfreq(t) // Store pointer data in the ifreq so we can retrieve it and cast back later // for comparison. want := [5]byte{'h', 'e', 'l', 'l', 'o'} ifrd := ifr.withData(unsafe.Pointer(&want[0])) // Ensure the memory of the original Ifreq was not modified by SetData. if ifr.raw.Ifru != (ifreqUnion{}) { t.Fatalf("ifreq was unexpectedly modified: % #x", ifr.raw.Ifru) } got := *(*[5]byte)(ifrd.data) if want != got { t.Fatalf("unexpected ifreq data bytes:\n got: % #x\nwant: % #x", got, want) } } func TestIfreqInet4Addr(t *testing.T) { ifr := testIfreq(t) in := net.IPv4(192, 0, 2, 1).To4() if err := ifr.SetInet4Addr(in); err != nil { t.Fatalf("failed to set ifreq IPv4 address: %v", err) } // Store fixed offset data (AF_INET, IPv4 address) within underlying // sockaddr bytes. Everything else should be zeroed. want := ifreqUnion{4: 192, 5: 0, 6: 2, 7: 1} if isBigEndian { want[0] = 0x00 want[1] = 0x02 } else { want[0] = 0x02 want[1] = 0x00 } if got := ifr.raw.Ifru; want != got { t.Fatalf("unexpected ifreq sockaddr bytes:\n got: % #x\nwant: % #x", got, want) } got, err := ifr.Inet4Addr() if err != nil { t.Fatalf("failed to get ifreq IPv4 address: %v", err) } if !bytes.Equal(in, got) { t.Fatalf("unexpected ifreq IPv4 address:\n got: % #x\nwant: % #x", got, in) } // Invalid input, wrong length. if err := ifr.SetInet4Addr([]byte{0xff}); err == nil { t.Fatal("expected an error setting invalid IPv4 address, but none occurred") } // Invalid output, AF_INET is only set by SetInet4Addr input. ifr.SetUint32(0xffffffff) if _, err := ifr.Inet4Addr(); err == nil { t.Fatal("expected an error getting invalid IPv4 address, but none occurred") } } func TestIfreqUint16(t *testing.T) { ifr := testIfreq(t) const in = 0x0102 ifr.SetUint16(in) // The layout of the bytes depends on the machine's endianness. var want ifreqUnion if isBigEndian { want[0] = 0x01 want[1] = 0x02 } else { want[0] = 0x02 want[1] = 0x01 } if got := ifr.raw.Ifru; want != got { t.Fatalf("unexpected ifreq uint16 bytes:\n got: % #x\nwant: % #x", got, want) } if got := ifr.Uint16(); in != got { t.Fatalf("unexpected ifreq uint16: got: %d, want: %d", got, in) } } func TestIfreqUint32(t *testing.T) { ifr := testIfreq(t) const in = 0x01020304 ifr.SetUint32(in) // The layout of the bytes depends on the machine's endianness. var want ifreqUnion if isBigEndian { want[0] = 0x01 want[1] = 0x02 want[2] = 0x03 want[3] = 0x04 } else { want[0] = 0x04 want[1] = 0x03 want[2] = 0x02 want[3] = 0x01 } if got := ifr.raw.Ifru; want != got { t.Fatalf("unexpected ifreq uint32 bytes:\n got: % #x\nwant: % #x", got, want) } if got := ifr.Uint32(); in != got { t.Fatalf("unexpected ifreq uint32: got: %d, want: %d", got, in) } } // ifreqName is a hard-coded name for testIfreq. const ifreqName = "eth0" // testIfreq returns an Ifreq with a populated interface name. func testIfreq(t *testing.T) *Ifreq { t.Helper() ifr, err := NewIfreq(ifreqName) if err != nil { t.Fatalf("failed to create ifreq: %v", err) } return ifr } dependencies/pkg/mod/golang.org/x/sys@v0.26.0/unix/darwin_amd64_test.go0000644000000000000000000001577115107355264024471 0ustar rootroot// go run mkasm.go darwin amd64 // Code generated by the command above; DO NOT EDIT. //go:build darwin package unix // All the _trampoline functions in zsyscall_darwin_amd64.s. var darwinTests = [...]darwinTest{ {"accept", libc_accept_trampoline_addr}, {"access", libc_access_trampoline_addr}, {"adjtime", libc_adjtime_trampoline_addr}, {"bind", libc_bind_trampoline_addr}, {"chdir", libc_chdir_trampoline_addr}, {"chflags", libc_chflags_trampoline_addr}, {"chmod", libc_chmod_trampoline_addr}, {"chown", libc_chown_trampoline_addr}, {"chroot", libc_chroot_trampoline_addr}, {"clock_gettime", libc_clock_gettime_trampoline_addr}, {"clonefile", libc_clonefile_trampoline_addr}, {"clonefileat", libc_clonefileat_trampoline_addr}, {"close", libc_close_trampoline_addr}, {"closedir", libc_closedir_trampoline_addr}, {"connect", libc_connect_trampoline_addr}, {"connectx", libc_connectx_trampoline_addr}, {"dup", libc_dup_trampoline_addr}, {"dup2", libc_dup2_trampoline_addr}, {"exchangedata", libc_exchangedata_trampoline_addr}, {"exit", libc_exit_trampoline_addr}, {"faccessat", libc_faccessat_trampoline_addr}, {"fchdir", libc_fchdir_trampoline_addr}, {"fchflags", libc_fchflags_trampoline_addr}, {"fchmod", libc_fchmod_trampoline_addr}, {"fchmodat", libc_fchmodat_trampoline_addr}, {"fchown", libc_fchown_trampoline_addr}, {"fchownat", libc_fchownat_trampoline_addr}, {"fclonefileat", libc_fclonefileat_trampoline_addr}, {"fcntl", libc_fcntl_trampoline_addr}, {"fdopendir", libc_fdopendir_trampoline_addr}, {"fgetxattr", libc_fgetxattr_trampoline_addr}, {"flistxattr", libc_flistxattr_trampoline_addr}, {"flock", libc_flock_trampoline_addr}, {"fpathconf", libc_fpathconf_trampoline_addr}, {"fremovexattr", libc_fremovexattr_trampoline_addr}, {"fsetxattr", libc_fsetxattr_trampoline_addr}, {"fstat64", libc_fstat64_trampoline_addr}, {"fstatat64", libc_fstatat64_trampoline_addr}, {"fstatfs64", libc_fstatfs64_trampoline_addr}, {"fsync", libc_fsync_trampoline_addr}, {"ftruncate", libc_ftruncate_trampoline_addr}, {"futimes", libc_futimes_trampoline_addr}, {"getcwd", libc_getcwd_trampoline_addr}, {"getdtablesize", libc_getdtablesize_trampoline_addr}, {"getegid", libc_getegid_trampoline_addr}, {"geteuid", libc_geteuid_trampoline_addr}, {"getfsstat64", libc_getfsstat64_trampoline_addr}, {"getgid", libc_getgid_trampoline_addr}, {"getgroups", libc_getgroups_trampoline_addr}, {"getpeername", libc_getpeername_trampoline_addr}, {"getpgid", libc_getpgid_trampoline_addr}, {"getpgrp", libc_getpgrp_trampoline_addr}, {"getpid", libc_getpid_trampoline_addr}, {"getppid", libc_getppid_trampoline_addr}, {"getpriority", libc_getpriority_trampoline_addr}, {"getrlimit", libc_getrlimit_trampoline_addr}, {"getrusage", libc_getrusage_trampoline_addr}, {"getsid", libc_getsid_trampoline_addr}, {"getsockname", libc_getsockname_trampoline_addr}, {"getsockopt", libc_getsockopt_trampoline_addr}, {"gettimeofday", libc_gettimeofday_trampoline_addr}, {"getuid", libc_getuid_trampoline_addr}, {"getxattr", libc_getxattr_trampoline_addr}, {"ioctl", libc_ioctl_trampoline_addr}, {"issetugid", libc_issetugid_trampoline_addr}, {"kevent", libc_kevent_trampoline_addr}, {"kill", libc_kill_trampoline_addr}, {"kqueue", libc_kqueue_trampoline_addr}, {"lchown", libc_lchown_trampoline_addr}, {"link", libc_link_trampoline_addr}, {"linkat", libc_linkat_trampoline_addr}, {"listen", libc_listen_trampoline_addr}, {"listxattr", libc_listxattr_trampoline_addr}, {"lseek", libc_lseek_trampoline_addr}, {"lstat64", libc_lstat64_trampoline_addr}, {"madvise", libc_madvise_trampoline_addr}, {"mkdir", libc_mkdir_trampoline_addr}, {"mkdirat", libc_mkdirat_trampoline_addr}, {"mkfifo", libc_mkfifo_trampoline_addr}, {"mknod", libc_mknod_trampoline_addr}, {"mlock", libc_mlock_trampoline_addr}, {"mlockall", libc_mlockall_trampoline_addr}, {"mmap", libc_mmap_trampoline_addr}, {"mount", libc_mount_trampoline_addr}, {"mprotect", libc_mprotect_trampoline_addr}, {"msync", libc_msync_trampoline_addr}, {"munlock", libc_munlock_trampoline_addr}, {"munlockall", libc_munlockall_trampoline_addr}, {"munmap", libc_munmap_trampoline_addr}, {"open", libc_open_trampoline_addr}, {"openat", libc_openat_trampoline_addr}, {"pathconf", libc_pathconf_trampoline_addr}, {"pipe", libc_pipe_trampoline_addr}, {"poll", libc_poll_trampoline_addr}, {"pread", libc_pread_trampoline_addr}, {"pthread_chdir_np", libc_pthread_chdir_np_trampoline_addr}, {"pthread_fchdir_np", libc_pthread_fchdir_np_trampoline_addr}, {"ptrace", libc_ptrace_trampoline_addr}, {"pwrite", libc_pwrite_trampoline_addr}, {"read", libc_read_trampoline_addr}, {"readdir_r", libc_readdir_r_trampoline_addr}, {"readlink", libc_readlink_trampoline_addr}, {"readlinkat", libc_readlinkat_trampoline_addr}, {"recvfrom", libc_recvfrom_trampoline_addr}, {"recvmsg", libc_recvmsg_trampoline_addr}, {"removexattr", libc_removexattr_trampoline_addr}, {"rename", libc_rename_trampoline_addr}, {"renameat", libc_renameat_trampoline_addr}, {"renameatx_np", libc_renameatx_np_trampoline_addr}, {"renamex_np", libc_renamex_np_trampoline_addr}, {"revoke", libc_revoke_trampoline_addr}, {"rmdir", libc_rmdir_trampoline_addr}, {"select", libc_select_trampoline_addr}, {"sendfile", libc_sendfile_trampoline_addr}, {"sendmsg", libc_sendmsg_trampoline_addr}, {"sendto", libc_sendto_trampoline_addr}, {"setattrlist", libc_setattrlist_trampoline_addr}, {"setegid", libc_setegid_trampoline_addr}, {"seteuid", libc_seteuid_trampoline_addr}, {"setgid", libc_setgid_trampoline_addr}, {"setgroups", libc_setgroups_trampoline_addr}, {"setlogin", libc_setlogin_trampoline_addr}, {"setpgid", libc_setpgid_trampoline_addr}, {"setpriority", libc_setpriority_trampoline_addr}, {"setprivexec", libc_setprivexec_trampoline_addr}, {"setregid", libc_setregid_trampoline_addr}, {"setreuid", libc_setreuid_trampoline_addr}, {"setsid", libc_setsid_trampoline_addr}, {"setsockopt", libc_setsockopt_trampoline_addr}, {"settimeofday", libc_settimeofday_trampoline_addr}, {"setuid", libc_setuid_trampoline_addr}, {"setxattr", libc_setxattr_trampoline_addr}, {"shmat", libc_shmat_trampoline_addr}, {"shmctl", libc_shmctl_trampoline_addr}, {"shmdt", libc_shmdt_trampoline_addr}, {"shmget", libc_shmget_trampoline_addr}, {"shutdown", libc_shutdown_trampoline_addr}, {"socket", libc_socket_trampoline_addr}, {"socketpair", libc_socketpair_trampoline_addr}, {"stat64", libc_stat64_trampoline_addr}, {"statfs64", libc_statfs64_trampoline_addr}, {"symlink", libc_symlink_trampoline_addr}, {"symlinkat", libc_symlinkat_trampoline_addr}, {"sync", libc_sync_trampoline_addr}, {"sysctl", libc_sysctl_trampoline_addr}, {"truncate", libc_truncate_trampoline_addr}, {"umask", libc_umask_trampoline_addr}, {"undelete", libc_undelete_trampoline_addr}, {"unlink", libc_unlink_trampoline_addr}, {"unlinkat", libc_unlinkat_trampoline_addr}, {"unmount", libc_unmount_trampoline_addr}, {"utimensat", libc_utimensat_trampoline_addr}, {"utimes", libc_utimes_trampoline_addr}, {"wait4", libc_wait4_trampoline_addr}, {"write", libc_write_trampoline_addr}, } dependencies/pkg/mod/golang.org/x/sys@v0.26.0/unix/zsyscall_aix_ppc64_gccgo.go0000644000000000000000000007555115107355264026040 0ustar rootroot// go run mksyscall_aix_ppc64.go -aix -tags aix,ppc64 syscall_aix.go syscall_aix_ppc64.go // Code generated by the command above; see README.md. DO NOT EDIT. //go:build aix && ppc64 && gccgo package unix /* #include int utimes(uintptr_t, uintptr_t); int utimensat(int, uintptr_t, uintptr_t, int); int getcwd(uintptr_t, size_t); int accept(int, uintptr_t, uintptr_t); int getdirent(int, uintptr_t, size_t); int wait4(int, uintptr_t, int, uintptr_t); int ioctl(int, int, uintptr_t); int fcntl(uintptr_t, int, uintptr_t); int fsync_range(int, int, long long, long long); int acct(uintptr_t); int chdir(uintptr_t); int chroot(uintptr_t); int close(int); int dup(int); void exit(int); int faccessat(int, uintptr_t, unsigned int, int); int fchdir(int); int fchmod(int, unsigned int); int fchmodat(int, uintptr_t, unsigned int, int); int fchownat(int, uintptr_t, int, int, int); int fdatasync(int); int getpgid(int); int getpgrp(); int getpid(); int getppid(); int getpriority(int, int); int getrusage(int, uintptr_t); int getsid(int); int kill(int, int); int syslog(int, uintptr_t, size_t); int mkdir(int, uintptr_t, unsigned int); int mkdirat(int, uintptr_t, unsigned int); int mkfifo(uintptr_t, unsigned int); int mknod(uintptr_t, unsigned int, int); int mknodat(int, uintptr_t, unsigned int, int); int nanosleep(uintptr_t, uintptr_t); int open64(uintptr_t, int, unsigned int); int openat(int, uintptr_t, int, unsigned int); int read(int, uintptr_t, size_t); int readlink(uintptr_t, uintptr_t, size_t); int renameat(int, uintptr_t, int, uintptr_t); int setdomainname(uintptr_t, size_t); int sethostname(uintptr_t, size_t); int setpgid(int, int); int setsid(); int settimeofday(uintptr_t); int setuid(int); int setgid(int); int setpriority(int, int, int); int statx(int, uintptr_t, int, int, uintptr_t); int sync(); uintptr_t times(uintptr_t); int umask(int); int uname(uintptr_t); int unlink(uintptr_t); int unlinkat(int, uintptr_t, int); int ustat(int, uintptr_t); int write(int, uintptr_t, size_t); int dup2(int, int); int posix_fadvise64(int, long long, long long, int); int fchown(int, int, int); int fstat(int, uintptr_t); int fstatat(int, uintptr_t, uintptr_t, int); int fstatfs(int, uintptr_t); int ftruncate(int, long long); int getegid(); int geteuid(); int getgid(); int getuid(); int lchown(uintptr_t, int, int); int listen(int, int); int lstat(uintptr_t, uintptr_t); int pause(); int pread64(int, uintptr_t, size_t, long long); int pwrite64(int, uintptr_t, size_t, long long); #define c_select select int select(int, uintptr_t, uintptr_t, uintptr_t, uintptr_t); int pselect(int, uintptr_t, uintptr_t, uintptr_t, uintptr_t, uintptr_t); int setregid(int, int); int setreuid(int, int); int shutdown(int, int); long long splice(int, uintptr_t, int, uintptr_t, int, int); int stat(uintptr_t, uintptr_t); int statfs(uintptr_t, uintptr_t); int truncate(uintptr_t, long long); int bind(int, uintptr_t, uintptr_t); int connect(int, uintptr_t, uintptr_t); int getgroups(int, uintptr_t); int setgroups(int, uintptr_t); int getsockopt(int, int, int, uintptr_t, uintptr_t); int setsockopt(int, int, int, uintptr_t, uintptr_t); int socket(int, int, int); int socketpair(int, int, int, uintptr_t); int getpeername(int, uintptr_t, uintptr_t); int getsockname(int, uintptr_t, uintptr_t); int recvfrom(int, uintptr_t, size_t, int, uintptr_t, uintptr_t); int sendto(int, uintptr_t, size_t, int, uintptr_t, uintptr_t); int nrecvmsg(int, uintptr_t, int); int nsendmsg(int, uintptr_t, int); int munmap(uintptr_t, uintptr_t); int madvise(uintptr_t, size_t, int); int mprotect(uintptr_t, size_t, int); int mlock(uintptr_t, size_t); int mlockall(int); int msync(uintptr_t, size_t, int); int munlock(uintptr_t, size_t); int munlockall(); int pipe(uintptr_t); int poll(uintptr_t, int, int); int gettimeofday(uintptr_t, uintptr_t); int time(uintptr_t); int utime(uintptr_t, uintptr_t); unsigned long long getsystemcfg(int); int umount(uintptr_t); int getrlimit(int, uintptr_t); long long lseek(int, long long, int); uintptr_t mmap64(uintptr_t, uintptr_t, int, int, int, long long); */ import "C" import ( "syscall" "unsafe" ) // THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT func callutimes(_p0 uintptr, times uintptr) (r1 uintptr, e1 Errno) { r1 = uintptr(C.utimes(C.uintptr_t(_p0), C.uintptr_t(times))) e1 = syscall.GetErrno() return } // THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT func callutimensat(dirfd int, _p0 uintptr, times uintptr, flag int) (r1 uintptr, e1 Errno) { r1 = uintptr(C.utimensat(C.int(dirfd), C.uintptr_t(_p0), C.uintptr_t(times), C.int(flag))) e1 = syscall.GetErrno() return } // THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT func callgetcwd(_p0 uintptr, _lenp0 int) (r1 uintptr, e1 Errno) { r1 = uintptr(C.getcwd(C.uintptr_t(_p0), C.size_t(_lenp0))) e1 = syscall.GetErrno() return } // THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT func callaccept(s int, rsa uintptr, addrlen uintptr) (r1 uintptr, e1 Errno) { r1 = uintptr(C.accept(C.int(s), C.uintptr_t(rsa), C.uintptr_t(addrlen))) e1 = syscall.GetErrno() return } // THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT func callgetdirent(fd int, _p0 uintptr, _lenp0 int) (r1 uintptr, e1 Errno) { r1 = uintptr(C.getdirent(C.int(fd), C.uintptr_t(_p0), C.size_t(_lenp0))) e1 = syscall.GetErrno() return } // THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT func callwait4(pid int, status uintptr, options int, rusage uintptr) (r1 uintptr, e1 Errno) { r1 = uintptr(C.wait4(C.int(pid), C.uintptr_t(status), C.int(options), C.uintptr_t(rusage))) e1 = syscall.GetErrno() return } // THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT func callioctl(fd int, req int, arg uintptr) (r1 uintptr, e1 Errno) { r1 = uintptr(C.ioctl(C.int(fd), C.int(req), C.uintptr_t(arg))) e1 = syscall.GetErrno() return } // THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT func callioctl_ptr(fd int, req int, arg unsafe.Pointer) (r1 uintptr, e1 Errno) { r1 = uintptr(C.ioctl(C.int(fd), C.int(req), C.uintptr_t(uintptr(arg)))) e1 = syscall.GetErrno() return } // THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT func callfcntl(fd uintptr, cmd int, arg uintptr) (r1 uintptr, e1 Errno) { r1 = uintptr(C.fcntl(C.uintptr_t(fd), C.int(cmd), C.uintptr_t(arg))) e1 = syscall.GetErrno() return } // THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT func callfsync_range(fd int, how int, start int64, length int64) (r1 uintptr, e1 Errno) { r1 = uintptr(C.fsync_range(C.int(fd), C.int(how), C.longlong(start), C.longlong(length))) e1 = syscall.GetErrno() return } // THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT func callacct(_p0 uintptr) (r1 uintptr, e1 Errno) { r1 = uintptr(C.acct(C.uintptr_t(_p0))) e1 = syscall.GetErrno() return } // THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT func callchdir(_p0 uintptr) (r1 uintptr, e1 Errno) { r1 = uintptr(C.chdir(C.uintptr_t(_p0))) e1 = syscall.GetErrno() return } // THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT func callchroot(_p0 uintptr) (r1 uintptr, e1 Errno) { r1 = uintptr(C.chroot(C.uintptr_t(_p0))) e1 = syscall.GetErrno() return } // THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT func callclose(fd int) (r1 uintptr, e1 Errno) { r1 = uintptr(C.close(C.int(fd))) e1 = syscall.GetErrno() return } // THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT func calldup(oldfd int) (r1 uintptr, e1 Errno) { r1 = uintptr(C.dup(C.int(oldfd))) e1 = syscall.GetErrno() return } // THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT func callexit(code int) (r1 uintptr, e1 Errno) { r1 = uintptr(C.exit(C.int(code))) e1 = syscall.GetErrno() return } // THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT func callfaccessat(dirfd int, _p0 uintptr, mode uint32, flags int) (r1 uintptr, e1 Errno) { r1 = uintptr(C.faccessat(C.int(dirfd), C.uintptr_t(_p0), C.uint(mode), C.int(flags))) e1 = syscall.GetErrno() return } // THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT func callfchdir(fd int) (r1 uintptr, e1 Errno) { r1 = uintptr(C.fchdir(C.int(fd))) e1 = syscall.GetErrno() return } // THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT func callfchmod(fd int, mode uint32) (r1 uintptr, e1 Errno) { r1 = uintptr(C.fchmod(C.int(fd), C.uint(mode))) e1 = syscall.GetErrno() return } // THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT func callfchmodat(dirfd int, _p0 uintptr, mode uint32, flags int) (r1 uintptr, e1 Errno) { r1 = uintptr(C.fchmodat(C.int(dirfd), C.uintptr_t(_p0), C.uint(mode), C.int(flags))) e1 = syscall.GetErrno() return } // THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT func callfchownat(dirfd int, _p0 uintptr, uid int, gid int, flags int) (r1 uintptr, e1 Errno) { r1 = uintptr(C.fchownat(C.int(dirfd), C.uintptr_t(_p0), C.int(uid), C.int(gid), C.int(flags))) e1 = syscall.GetErrno() return } // THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT func callfdatasync(fd int) (r1 uintptr, e1 Errno) { r1 = uintptr(C.fdatasync(C.int(fd))) e1 = syscall.GetErrno() return } // THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT func callgetpgid(pid int) (r1 uintptr, e1 Errno) { r1 = uintptr(C.getpgid(C.int(pid))) e1 = syscall.GetErrno() return } // THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT func callgetpgrp() (r1 uintptr, e1 Errno) { r1 = uintptr(C.getpgrp()) e1 = syscall.GetErrno() return } // THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT func callgetpid() (r1 uintptr, e1 Errno) { r1 = uintptr(C.getpid()) e1 = syscall.GetErrno() return } // THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT func callgetppid() (r1 uintptr, e1 Errno) { r1 = uintptr(C.getppid()) e1 = syscall.GetErrno() return } // THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT func callgetpriority(which int, who int) (r1 uintptr, e1 Errno) { r1 = uintptr(C.getpriority(C.int(which), C.int(who))) e1 = syscall.GetErrno() return } // THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT func callgetrusage(who int, rusage uintptr) (r1 uintptr, e1 Errno) { r1 = uintptr(C.getrusage(C.int(who), C.uintptr_t(rusage))) e1 = syscall.GetErrno() return } // THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT func callgetsid(pid int) (r1 uintptr, e1 Errno) { r1 = uintptr(C.getsid(C.int(pid))) e1 = syscall.GetErrno() return } // THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT func callkill(pid int, sig int) (r1 uintptr, e1 Errno) { r1 = uintptr(C.kill(C.int(pid), C.int(sig))) e1 = syscall.GetErrno() return } // THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT func callsyslog(typ int, _p0 uintptr, _lenp0 int) (r1 uintptr, e1 Errno) { r1 = uintptr(C.syslog(C.int(typ), C.uintptr_t(_p0), C.size_t(_lenp0))) e1 = syscall.GetErrno() return } // THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT func callmkdir(dirfd int, _p0 uintptr, mode uint32) (r1 uintptr, e1 Errno) { r1 = uintptr(C.mkdir(C.int(dirfd), C.uintptr_t(_p0), C.uint(mode))) e1 = syscall.GetErrno() return } // THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT func callmkdirat(dirfd int, _p0 uintptr, mode uint32) (r1 uintptr, e1 Errno) { r1 = uintptr(C.mkdirat(C.int(dirfd), C.uintptr_t(_p0), C.uint(mode))) e1 = syscall.GetErrno() return } // THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT func callmkfifo(_p0 uintptr, mode uint32) (r1 uintptr, e1 Errno) { r1 = uintptr(C.mkfifo(C.uintptr_t(_p0), C.uint(mode))) e1 = syscall.GetErrno() return } // THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT func callmknod(_p0 uintptr, mode uint32, dev int) (r1 uintptr, e1 Errno) { r1 = uintptr(C.mknod(C.uintptr_t(_p0), C.uint(mode), C.int(dev))) e1 = syscall.GetErrno() return } // THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT func callmknodat(dirfd int, _p0 uintptr, mode uint32, dev int) (r1 uintptr, e1 Errno) { r1 = uintptr(C.mknodat(C.int(dirfd), C.uintptr_t(_p0), C.uint(mode), C.int(dev))) e1 = syscall.GetErrno() return } // THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT func callnanosleep(time uintptr, leftover uintptr) (r1 uintptr, e1 Errno) { r1 = uintptr(C.nanosleep(C.uintptr_t(time), C.uintptr_t(leftover))) e1 = syscall.GetErrno() return } // THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT func callopen64(_p0 uintptr, mode int, perm uint32) (r1 uintptr, e1 Errno) { r1 = uintptr(C.open64(C.uintptr_t(_p0), C.int(mode), C.uint(perm))) e1 = syscall.GetErrno() return } // THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT func callopenat(dirfd int, _p0 uintptr, flags int, mode uint32) (r1 uintptr, e1 Errno) { r1 = uintptr(C.openat(C.int(dirfd), C.uintptr_t(_p0), C.int(flags), C.uint(mode))) e1 = syscall.GetErrno() return } // THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT func callread(fd int, _p0 uintptr, _lenp0 int) (r1 uintptr, e1 Errno) { r1 = uintptr(C.read(C.int(fd), C.uintptr_t(_p0), C.size_t(_lenp0))) e1 = syscall.GetErrno() return } // THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT func callreadlink(_p0 uintptr, _p1 uintptr, _lenp1 int) (r1 uintptr, e1 Errno) { r1 = uintptr(C.readlink(C.uintptr_t(_p0), C.uintptr_t(_p1), C.size_t(_lenp1))) e1 = syscall.GetErrno() return } // THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT func callrenameat(olddirfd int, _p0 uintptr, newdirfd int, _p1 uintptr) (r1 uintptr, e1 Errno) { r1 = uintptr(C.renameat(C.int(olddirfd), C.uintptr_t(_p0), C.int(newdirfd), C.uintptr_t(_p1))) e1 = syscall.GetErrno() return } // THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT func callsetdomainname(_p0 uintptr, _lenp0 int) (r1 uintptr, e1 Errno) { r1 = uintptr(C.setdomainname(C.uintptr_t(_p0), C.size_t(_lenp0))) e1 = syscall.GetErrno() return } // THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT func callsethostname(_p0 uintptr, _lenp0 int) (r1 uintptr, e1 Errno) { r1 = uintptr(C.sethostname(C.uintptr_t(_p0), C.size_t(_lenp0))) e1 = syscall.GetErrno() return } // THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT func callsetpgid(pid int, pgid int) (r1 uintptr, e1 Errno) { r1 = uintptr(C.setpgid(C.int(pid), C.int(pgid))) e1 = syscall.GetErrno() return } // THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT func callsetsid() (r1 uintptr, e1 Errno) { r1 = uintptr(C.setsid()) e1 = syscall.GetErrno() return } // THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT func callsettimeofday(tv uintptr) (r1 uintptr, e1 Errno) { r1 = uintptr(C.settimeofday(C.uintptr_t(tv))) e1 = syscall.GetErrno() return } // THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT func callsetuid(uid int) (r1 uintptr, e1 Errno) { r1 = uintptr(C.setuid(C.int(uid))) e1 = syscall.GetErrno() return } // THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT func callsetgid(uid int) (r1 uintptr, e1 Errno) { r1 = uintptr(C.setgid(C.int(uid))) e1 = syscall.GetErrno() return } // THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT func callsetpriority(which int, who int, prio int) (r1 uintptr, e1 Errno) { r1 = uintptr(C.setpriority(C.int(which), C.int(who), C.int(prio))) e1 = syscall.GetErrno() return } // THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT func callstatx(dirfd int, _p0 uintptr, flags int, mask int, stat uintptr) (r1 uintptr, e1 Errno) { r1 = uintptr(C.statx(C.int(dirfd), C.uintptr_t(_p0), C.int(flags), C.int(mask), C.uintptr_t(stat))) e1 = syscall.GetErrno() return } // THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT func callsync() (r1 uintptr, e1 Errno) { r1 = uintptr(C.sync()) e1 = syscall.GetErrno() return } // THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT func calltimes(tms uintptr) (r1 uintptr, e1 Errno) { r1 = uintptr(C.times(C.uintptr_t(tms))) e1 = syscall.GetErrno() return } // THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT func callumask(mask int) (r1 uintptr, e1 Errno) { r1 = uintptr(C.umask(C.int(mask))) e1 = syscall.GetErrno() return } // THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT func calluname(buf uintptr) (r1 uintptr, e1 Errno) { r1 = uintptr(C.uname(C.uintptr_t(buf))) e1 = syscall.GetErrno() return } // THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT func callunlink(_p0 uintptr) (r1 uintptr, e1 Errno) { r1 = uintptr(C.unlink(C.uintptr_t(_p0))) e1 = syscall.GetErrno() return } // THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT func callunlinkat(dirfd int, _p0 uintptr, flags int) (r1 uintptr, e1 Errno) { r1 = uintptr(C.unlinkat(C.int(dirfd), C.uintptr_t(_p0), C.int(flags))) e1 = syscall.GetErrno() return } // THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT func callustat(dev int, ubuf uintptr) (r1 uintptr, e1 Errno) { r1 = uintptr(C.ustat(C.int(dev), C.uintptr_t(ubuf))) e1 = syscall.GetErrno() return } // THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT func callwrite(fd int, _p0 uintptr, _lenp0 int) (r1 uintptr, e1 Errno) { r1 = uintptr(C.write(C.int(fd), C.uintptr_t(_p0), C.size_t(_lenp0))) e1 = syscall.GetErrno() return } // THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT func calldup2(oldfd int, newfd int) (r1 uintptr, e1 Errno) { r1 = uintptr(C.dup2(C.int(oldfd), C.int(newfd))) e1 = syscall.GetErrno() return } // THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT func callposix_fadvise64(fd int, offset int64, length int64, advice int) (r1 uintptr, e1 Errno) { r1 = uintptr(C.posix_fadvise64(C.int(fd), C.longlong(offset), C.longlong(length), C.int(advice))) e1 = syscall.GetErrno() return } // THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT func callfchown(fd int, uid int, gid int) (r1 uintptr, e1 Errno) { r1 = uintptr(C.fchown(C.int(fd), C.int(uid), C.int(gid))) e1 = syscall.GetErrno() return } // THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT func callfstat(fd int, stat uintptr) (r1 uintptr, e1 Errno) { r1 = uintptr(C.fstat(C.int(fd), C.uintptr_t(stat))) e1 = syscall.GetErrno() return } // THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT func callfstatat(dirfd int, _p0 uintptr, stat uintptr, flags int) (r1 uintptr, e1 Errno) { r1 = uintptr(C.fstatat(C.int(dirfd), C.uintptr_t(_p0), C.uintptr_t(stat), C.int(flags))) e1 = syscall.GetErrno() return } // THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT func callfstatfs(fd int, buf uintptr) (r1 uintptr, e1 Errno) { r1 = uintptr(C.fstatfs(C.int(fd), C.uintptr_t(buf))) e1 = syscall.GetErrno() return } // THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT func callftruncate(fd int, length int64) (r1 uintptr, e1 Errno) { r1 = uintptr(C.ftruncate(C.int(fd), C.longlong(length))) e1 = syscall.GetErrno() return } // THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT func callgetegid() (r1 uintptr, e1 Errno) { r1 = uintptr(C.getegid()) e1 = syscall.GetErrno() return } // THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT func callgeteuid() (r1 uintptr, e1 Errno) { r1 = uintptr(C.geteuid()) e1 = syscall.GetErrno() return } // THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT func callgetgid() (r1 uintptr, e1 Errno) { r1 = uintptr(C.getgid()) e1 = syscall.GetErrno() return } // THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT func callgetuid() (r1 uintptr, e1 Errno) { r1 = uintptr(C.getuid()) e1 = syscall.GetErrno() return } // THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT func calllchown(_p0 uintptr, uid int, gid int) (r1 uintptr, e1 Errno) { r1 = uintptr(C.lchown(C.uintptr_t(_p0), C.int(uid), C.int(gid))) e1 = syscall.GetErrno() return } // THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT func calllisten(s int, n int) (r1 uintptr, e1 Errno) { r1 = uintptr(C.listen(C.int(s), C.int(n))) e1 = syscall.GetErrno() return } // THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT func calllstat(_p0 uintptr, stat uintptr) (r1 uintptr, e1 Errno) { r1 = uintptr(C.lstat(C.uintptr_t(_p0), C.uintptr_t(stat))) e1 = syscall.GetErrno() return } // THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT func callpause() (r1 uintptr, e1 Errno) { r1 = uintptr(C.pause()) e1 = syscall.GetErrno() return } // THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT func callpread64(fd int, _p0 uintptr, _lenp0 int, offset int64) (r1 uintptr, e1 Errno) { r1 = uintptr(C.pread64(C.int(fd), C.uintptr_t(_p0), C.size_t(_lenp0), C.longlong(offset))) e1 = syscall.GetErrno() return } // THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT func callpwrite64(fd int, _p0 uintptr, _lenp0 int, offset int64) (r1 uintptr, e1 Errno) { r1 = uintptr(C.pwrite64(C.int(fd), C.uintptr_t(_p0), C.size_t(_lenp0), C.longlong(offset))) e1 = syscall.GetErrno() return } // THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT func callselect(nfd int, r uintptr, w uintptr, e uintptr, timeout uintptr) (r1 uintptr, e1 Errno) { r1 = uintptr(C.c_select(C.int(nfd), C.uintptr_t(r), C.uintptr_t(w), C.uintptr_t(e), C.uintptr_t(timeout))) e1 = syscall.GetErrno() return } // THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT func callpselect(nfd int, r uintptr, w uintptr, e uintptr, timeout uintptr, sigmask uintptr) (r1 uintptr, e1 Errno) { r1 = uintptr(C.pselect(C.int(nfd), C.uintptr_t(r), C.uintptr_t(w), C.uintptr_t(e), C.uintptr_t(timeout), C.uintptr_t(sigmask))) e1 = syscall.GetErrno() return } // THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT func callsetregid(rgid int, egid int) (r1 uintptr, e1 Errno) { r1 = uintptr(C.setregid(C.int(rgid), C.int(egid))) e1 = syscall.GetErrno() return } // THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT func callsetreuid(ruid int, euid int) (r1 uintptr, e1 Errno) { r1 = uintptr(C.setreuid(C.int(ruid), C.int(euid))) e1 = syscall.GetErrno() return } // THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT func callshutdown(fd int, how int) (r1 uintptr, e1 Errno) { r1 = uintptr(C.shutdown(C.int(fd), C.int(how))) e1 = syscall.GetErrno() return } // THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT func callsplice(rfd int, roff uintptr, wfd int, woff uintptr, len int, flags int) (r1 uintptr, e1 Errno) { r1 = uintptr(C.splice(C.int(rfd), C.uintptr_t(roff), C.int(wfd), C.uintptr_t(woff), C.int(len), C.int(flags))) e1 = syscall.GetErrno() return } // THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT func callstat(_p0 uintptr, statptr uintptr) (r1 uintptr, e1 Errno) { r1 = uintptr(C.stat(C.uintptr_t(_p0), C.uintptr_t(statptr))) e1 = syscall.GetErrno() return } // THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT func callstatfs(_p0 uintptr, buf uintptr) (r1 uintptr, e1 Errno) { r1 = uintptr(C.statfs(C.uintptr_t(_p0), C.uintptr_t(buf))) e1 = syscall.GetErrno() return } // THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT func calltruncate(_p0 uintptr, length int64) (r1 uintptr, e1 Errno) { r1 = uintptr(C.truncate(C.uintptr_t(_p0), C.longlong(length))) e1 = syscall.GetErrno() return } // THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT func callbind(s int, addr uintptr, addrlen uintptr) (r1 uintptr, e1 Errno) { r1 = uintptr(C.bind(C.int(s), C.uintptr_t(addr), C.uintptr_t(addrlen))) e1 = syscall.GetErrno() return } // THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT func callconnect(s int, addr uintptr, addrlen uintptr) (r1 uintptr, e1 Errno) { r1 = uintptr(C.connect(C.int(s), C.uintptr_t(addr), C.uintptr_t(addrlen))) e1 = syscall.GetErrno() return } // THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT func callgetgroups(n int, list uintptr) (r1 uintptr, e1 Errno) { r1 = uintptr(C.getgroups(C.int(n), C.uintptr_t(list))) e1 = syscall.GetErrno() return } // THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT func callsetgroups(n int, list uintptr) (r1 uintptr, e1 Errno) { r1 = uintptr(C.setgroups(C.int(n), C.uintptr_t(list))) e1 = syscall.GetErrno() return } // THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT func callgetsockopt(s int, level int, name int, val uintptr, vallen uintptr) (r1 uintptr, e1 Errno) { r1 = uintptr(C.getsockopt(C.int(s), C.int(level), C.int(name), C.uintptr_t(val), C.uintptr_t(vallen))) e1 = syscall.GetErrno() return } // THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT func callsetsockopt(s int, level int, name int, val uintptr, vallen uintptr) (r1 uintptr, e1 Errno) { r1 = uintptr(C.setsockopt(C.int(s), C.int(level), C.int(name), C.uintptr_t(val), C.uintptr_t(vallen))) e1 = syscall.GetErrno() return } // THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT func callsocket(domain int, typ int, proto int) (r1 uintptr, e1 Errno) { r1 = uintptr(C.socket(C.int(domain), C.int(typ), C.int(proto))) e1 = syscall.GetErrno() return } // THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT func callsocketpair(domain int, typ int, proto int, fd uintptr) (r1 uintptr, e1 Errno) { r1 = uintptr(C.socketpair(C.int(domain), C.int(typ), C.int(proto), C.uintptr_t(fd))) e1 = syscall.GetErrno() return } // THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT func callgetpeername(fd int, rsa uintptr, addrlen uintptr) (r1 uintptr, e1 Errno) { r1 = uintptr(C.getpeername(C.int(fd), C.uintptr_t(rsa), C.uintptr_t(addrlen))) e1 = syscall.GetErrno() return } // THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT func callgetsockname(fd int, rsa uintptr, addrlen uintptr) (r1 uintptr, e1 Errno) { r1 = uintptr(C.getsockname(C.int(fd), C.uintptr_t(rsa), C.uintptr_t(addrlen))) e1 = syscall.GetErrno() return } // THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT func callrecvfrom(fd int, _p0 uintptr, _lenp0 int, flags int, from uintptr, fromlen uintptr) (r1 uintptr, e1 Errno) { r1 = uintptr(C.recvfrom(C.int(fd), C.uintptr_t(_p0), C.size_t(_lenp0), C.int(flags), C.uintptr_t(from), C.uintptr_t(fromlen))) e1 = syscall.GetErrno() return } // THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT func callsendto(s int, _p0 uintptr, _lenp0 int, flags int, to uintptr, addrlen uintptr) (r1 uintptr, e1 Errno) { r1 = uintptr(C.sendto(C.int(s), C.uintptr_t(_p0), C.size_t(_lenp0), C.int(flags), C.uintptr_t(to), C.uintptr_t(addrlen))) e1 = syscall.GetErrno() return } // THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT func callnrecvmsg(s int, msg uintptr, flags int) (r1 uintptr, e1 Errno) { r1 = uintptr(C.nrecvmsg(C.int(s), C.uintptr_t(msg), C.int(flags))) e1 = syscall.GetErrno() return } // THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT func callnsendmsg(s int, msg uintptr, flags int) (r1 uintptr, e1 Errno) { r1 = uintptr(C.nsendmsg(C.int(s), C.uintptr_t(msg), C.int(flags))) e1 = syscall.GetErrno() return } // THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT func callmunmap(addr uintptr, length uintptr) (r1 uintptr, e1 Errno) { r1 = uintptr(C.munmap(C.uintptr_t(addr), C.uintptr_t(length))) e1 = syscall.GetErrno() return } // THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT func callmadvise(_p0 uintptr, _lenp0 int, advice int) (r1 uintptr, e1 Errno) { r1 = uintptr(C.madvise(C.uintptr_t(_p0), C.size_t(_lenp0), C.int(advice))) e1 = syscall.GetErrno() return } // THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT func callmprotect(_p0 uintptr, _lenp0 int, prot int) (r1 uintptr, e1 Errno) { r1 = uintptr(C.mprotect(C.uintptr_t(_p0), C.size_t(_lenp0), C.int(prot))) e1 = syscall.GetErrno() return } // THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT func callmlock(_p0 uintptr, _lenp0 int) (r1 uintptr, e1 Errno) { r1 = uintptr(C.mlock(C.uintptr_t(_p0), C.size_t(_lenp0))) e1 = syscall.GetErrno() return } // THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT func callmlockall(flags int) (r1 uintptr, e1 Errno) { r1 = uintptr(C.mlockall(C.int(flags))) e1 = syscall.GetErrno() return } // THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT func callmsync(_p0 uintptr, _lenp0 int, flags int) (r1 uintptr, e1 Errno) { r1 = uintptr(C.msync(C.uintptr_t(_p0), C.size_t(_lenp0), C.int(flags))) e1 = syscall.GetErrno() return } // THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT func callmunlock(_p0 uintptr, _lenp0 int) (r1 uintptr, e1 Errno) { r1 = uintptr(C.munlock(C.uintptr_t(_p0), C.size_t(_lenp0))) e1 = syscall.GetErrno() return } // THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT func callmunlockall() (r1 uintptr, e1 Errno) { r1 = uintptr(C.munlockall()) e1 = syscall.GetErrno() return } // THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT func callpipe(p uintptr) (r1 uintptr, e1 Errno) { r1 = uintptr(C.pipe(C.uintptr_t(p))) e1 = syscall.GetErrno() return } // THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT func callpoll(fds uintptr, nfds int, timeout int) (r1 uintptr, e1 Errno) { r1 = uintptr(C.poll(C.uintptr_t(fds), C.int(nfds), C.int(timeout))) e1 = syscall.GetErrno() return } // THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT func callgettimeofday(tv uintptr, tzp uintptr) (r1 uintptr, e1 Errno) { r1 = uintptr(C.gettimeofday(C.uintptr_t(tv), C.uintptr_t(tzp))) e1 = syscall.GetErrno() return } // THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT func calltime(t uintptr) (r1 uintptr, e1 Errno) { r1 = uintptr(C.time(C.uintptr_t(t))) e1 = syscall.GetErrno() return } // THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT func callutime(_p0 uintptr, buf uintptr) (r1 uintptr, e1 Errno) { r1 = uintptr(C.utime(C.uintptr_t(_p0), C.uintptr_t(buf))) e1 = syscall.GetErrno() return } // THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT func callgetsystemcfg(label int) (r1 uintptr, e1 Errno) { r1 = uintptr(C.getsystemcfg(C.int(label))) e1 = syscall.GetErrno() return } // THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT func callumount(_p0 uintptr) (r1 uintptr, e1 Errno) { r1 = uintptr(C.umount(C.uintptr_t(_p0))) e1 = syscall.GetErrno() return } // THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT func callgetrlimit(resource int, rlim uintptr) (r1 uintptr, e1 Errno) { r1 = uintptr(C.getrlimit(C.int(resource), C.uintptr_t(rlim))) e1 = syscall.GetErrno() return } // THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT func calllseek(fd int, offset int64, whence int) (r1 uintptr, e1 Errno) { r1 = uintptr(C.lseek(C.int(fd), C.longlong(offset), C.int(whence))) e1 = syscall.GetErrno() return } // THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT func callmmap64(addr uintptr, length uintptr, prot int, flags int, fd int, offset int64) (r1 uintptr, e1 Errno) { r1 = uintptr(C.mmap64(C.uintptr_t(addr), C.uintptr_t(length), C.int(prot), C.int(flags), C.int(fd), C.longlong(offset))) e1 = syscall.GetErrno() return } dependencies/pkg/mod/golang.org/x/sys@v0.26.0/unix/ztypes_linux_mips64le.go0000644000000000000000000003022115107355264025436 0ustar rootroot// cgo -godefs -objdir=/tmp/mips64le/cgo -- -Wall -Werror -static -I/tmp/mips64le/include linux/types.go | go run mkpost.go // Code generated by the command above; see README.md. DO NOT EDIT. //go:build mips64le && linux package unix const ( SizeofPtr = 0x8 SizeofLong = 0x8 ) type ( _C_long int64 ) type Timespec struct { Sec int64 Nsec int64 } type Timeval struct { Sec int64 Usec int64 } type Timex struct { Modes uint32 Offset int64 Freq int64 Maxerror int64 Esterror int64 Status int32 Constant int64 Precision int64 Tolerance int64 Time Timeval Tick int64 Ppsfreq int64 Jitter int64 Shift int32 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 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 Dirent struct { Ino uint64 Off int64 Reclen uint16 Type uint8 Name [256]int8 _ [5]byte } type Flock_t struct { Type int16 Whence int16 Start int64 Len int64 Pid int32 _ [4]byte } type DmNameList struct { Dev uint64 Next uint32 Name [0]byte _ [4]byte } const ( FADV_DONTNEED = 0x4 FADV_NOREUSE = 0x5 ) type RawSockaddrNFCLLCP struct { Sa_family uint16 Dev_idx uint32 Target_idx uint32 Nfc_protocol uint32 Dsap uint8 Ssap uint8 Service_name [63]uint8 Service_name_len uint64 } type RawSockaddr struct { Family uint16 Data [14]int8 } type RawSockaddrAny struct { Addr RawSockaddr Pad [96]int8 } type Iovec struct { Base *byte Len uint64 } type Msghdr struct { Name *byte Namelen uint32 Iov *Iovec Iovlen uint64 Control *byte Controllen uint64 Flags int32 _ [4]byte } type Cmsghdr struct { Len uint64 Level int32 Type int32 } type ifreq struct { Ifrn [16]byte Ifru [24]byte } const ( SizeofSockaddrNFCLLCP = 0x60 SizeofIovec = 0x10 SizeofMsghdr = 0x38 SizeofCmsghdr = 0x10 ) const ( SizeofSockFprog = 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 Totalhigh uint64 Freehigh uint64 Unit uint32 _ [0]int8 _ [4]byte } type Ustat_t struct { Tfree int32 Tinode uint64 Fname [6]int8 Fpack [6]int8 _ [4]byte } type EpollEvent struct { Events uint32 _ int32 Fd int32 Pad int32 } const ( OPEN_TREE_CLOEXEC = 0x80000 ) const ( POLLRDHUP = 0x2000 ) type Sigset_t struct { Val [16]uint64 } const _C__NSIG = 0x80 const ( SIG_BLOCK = 0x1 SIG_UNBLOCK = 0x2 SIG_SETMASK = 0x3 ) type Siginfo struct { Signo int32 Code int32 Errno int32 _ int32 _ [112]byte } type Termios struct { Iflag uint32 Oflag uint32 Cflag uint32 Lflag uint32 Line uint8 Cc [23]uint8 Ispeed uint32 Ospeed uint32 } type Taskstats struct { Version uint16 Ac_exitcode uint32 Ac_flag uint8 Ac_nice uint8 Cpu_count uint64 Cpu_delay_total uint64 Blkio_count uint64 Blkio_delay_total uint64 Swapin_count uint64 Swapin_delay_total uint64 Cpu_run_real_total uint64 Cpu_run_virtual_total uint64 Ac_comm [32]int8 Ac_sched uint8 Ac_pad [3]uint8 _ [4]byte Ac_uid uint32 Ac_gid uint32 Ac_pid uint32 Ac_ppid uint32 Ac_btime uint32 Ac_etime uint64 Ac_utime uint64 Ac_stime uint64 Ac_minflt uint64 Ac_majflt uint64 Coremem uint64 Virtmem uint64 Hiwater_rss uint64 Hiwater_vm uint64 Read_char uint64 Write_char uint64 Read_syscalls uint64 Write_syscalls uint64 Read_bytes uint64 Write_bytes uint64 Cancelled_write_bytes uint64 Nvcsw uint64 Nivcsw uint64 Ac_utimescaled uint64 Ac_stimescaled uint64 Cpu_scaled_run_real_total uint64 Freepages_count uint64 Freepages_delay_total uint64 Thrashing_count uint64 Thrashing_delay_total uint64 Ac_btime64 uint64 Compact_count uint64 Compact_delay_total uint64 Ac_tgid uint32 Ac_tgetime uint64 Ac_exe_dev uint64 Ac_exe_inode uint64 Wpcopy_count uint64 Wpcopy_delay_total uint64 Irq_count uint64 Irq_delay_total uint64 } type cpuMask uint64 const ( _NCPUBITS = 0x40 ) const ( CBitFieldMaskBit0 = 0x1 CBitFieldMaskBit1 = 0x2 CBitFieldMaskBit2 = 0x4 CBitFieldMaskBit3 = 0x8 CBitFieldMaskBit4 = 0x10 CBitFieldMaskBit5 = 0x20 CBitFieldMaskBit6 = 0x40 CBitFieldMaskBit7 = 0x80 CBitFieldMaskBit8 = 0x100 CBitFieldMaskBit9 = 0x200 CBitFieldMaskBit10 = 0x400 CBitFieldMaskBit11 = 0x800 CBitFieldMaskBit12 = 0x1000 CBitFieldMaskBit13 = 0x2000 CBitFieldMaskBit14 = 0x4000 CBitFieldMaskBit15 = 0x8000 CBitFieldMaskBit16 = 0x10000 CBitFieldMaskBit17 = 0x20000 CBitFieldMaskBit18 = 0x40000 CBitFieldMaskBit19 = 0x80000 CBitFieldMaskBit20 = 0x100000 CBitFieldMaskBit21 = 0x200000 CBitFieldMaskBit22 = 0x400000 CBitFieldMaskBit23 = 0x800000 CBitFieldMaskBit24 = 0x1000000 CBitFieldMaskBit25 = 0x2000000 CBitFieldMaskBit26 = 0x4000000 CBitFieldMaskBit27 = 0x8000000 CBitFieldMaskBit28 = 0x10000000 CBitFieldMaskBit29 = 0x20000000 CBitFieldMaskBit30 = 0x40000000 CBitFieldMaskBit31 = 0x80000000 CBitFieldMaskBit32 = 0x100000000 CBitFieldMaskBit33 = 0x200000000 CBitFieldMaskBit34 = 0x400000000 CBitFieldMaskBit35 = 0x800000000 CBitFieldMaskBit36 = 0x1000000000 CBitFieldMaskBit37 = 0x2000000000 CBitFieldMaskBit38 = 0x4000000000 CBitFieldMaskBit39 = 0x8000000000 CBitFieldMaskBit40 = 0x10000000000 CBitFieldMaskBit41 = 0x20000000000 CBitFieldMaskBit42 = 0x40000000000 CBitFieldMaskBit43 = 0x80000000000 CBitFieldMaskBit44 = 0x100000000000 CBitFieldMaskBit45 = 0x200000000000 CBitFieldMaskBit46 = 0x400000000000 CBitFieldMaskBit47 = 0x800000000000 CBitFieldMaskBit48 = 0x1000000000000 CBitFieldMaskBit49 = 0x2000000000000 CBitFieldMaskBit50 = 0x4000000000000 CBitFieldMaskBit51 = 0x8000000000000 CBitFieldMaskBit52 = 0x10000000000000 CBitFieldMaskBit53 = 0x20000000000000 CBitFieldMaskBit54 = 0x40000000000000 CBitFieldMaskBit55 = 0x80000000000000 CBitFieldMaskBit56 = 0x100000000000000 CBitFieldMaskBit57 = 0x200000000000000 CBitFieldMaskBit58 = 0x400000000000000 CBitFieldMaskBit59 = 0x800000000000000 CBitFieldMaskBit60 = 0x1000000000000000 CBitFieldMaskBit61 = 0x2000000000000000 CBitFieldMaskBit62 = 0x4000000000000000 CBitFieldMaskBit63 = 0x8000000000000000 ) type SockaddrStorage struct { Family uint16 Data [118]byte _ uint64 } type HDGeometry struct { Heads uint8 Sectors uint8 Cylinders uint16 Start uint64 } 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 TpacketHdr struct { Status uint64 Len uint32 Snaplen uint32 Mac uint16 Net uint16 Sec uint32 Usec uint32 _ [4]byte } const ( SizeofTpacketHdr = 0x20 ) type RTCPLLInfo struct { Ctrl int32 Value int32 Max int32 Min int32 Posmult int32 Negmult int32 Clock int64 } type BlkpgPartition struct { Start int64 Length int64 Pno int32 Devname [64]uint8 Volname [64]uint8 _ [4]byte } const ( BLKPG = 0x20001269 ) type CryptoUserAlg struct { Name [64]int8 Driver_name [64]int8 Module_name [64]int8 Type uint32 Mask uint32 Refcnt uint32 Flags uint32 } type CryptoStatAEAD struct { Type [64]int8 Encrypt_cnt uint64 Encrypt_tlen uint64 Decrypt_cnt uint64 Decrypt_tlen uint64 Err_cnt uint64 } type CryptoStatAKCipher struct { Type [64]int8 Encrypt_cnt uint64 Encrypt_tlen uint64 Decrypt_cnt uint64 Decrypt_tlen uint64 Verify_cnt uint64 Sign_cnt uint64 Err_cnt uint64 } type CryptoStatCipher struct { Type [64]int8 Encrypt_cnt uint64 Encrypt_tlen uint64 Decrypt_cnt uint64 Decrypt_tlen uint64 Err_cnt uint64 } type CryptoStatCompress struct { Type [64]int8 Compress_cnt uint64 Compress_tlen uint64 Decompress_cnt uint64 Decompress_tlen uint64 Err_cnt uint64 } type CryptoStatHash struct { Type [64]int8 Hash_cnt uint64 Hash_tlen uint64 Err_cnt uint64 } type CryptoStatKPP struct { Type [64]int8 Setsecret_cnt uint64 Generate_public_key_cnt uint64 Compute_shared_secret_cnt uint64 Err_cnt uint64 } type CryptoStatRNG struct { Type [64]int8 Generate_cnt uint64 Generate_tlen uint64 Seed_cnt uint64 Err_cnt uint64 } type CryptoStatLarval struct { Type [64]int8 } type CryptoReportLarval struct { Type [64]int8 } type CryptoReportHash struct { Type [64]int8 Blocksize uint32 Digestsize uint32 } type CryptoReportCipher struct { Type [64]int8 Blocksize uint32 Min_keysize uint32 Max_keysize uint32 } type CryptoReportBlkCipher struct { Type [64]int8 Geniv [64]int8 Blocksize uint32 Min_keysize uint32 Max_keysize uint32 Ivsize uint32 } type CryptoReportAEAD struct { Type [64]int8 Geniv [64]int8 Blocksize uint32 Maxauthsize uint32 Ivsize uint32 } type CryptoReportComp struct { Type [64]int8 } type CryptoReportRNG struct { Type [64]int8 Seedsize uint32 } type CryptoReportAKCipher struct { Type [64]int8 } type CryptoReportKPP struct { Type [64]int8 } type CryptoReportAcomp struct { Type [64]int8 } type LoopInfo struct { Number int32 Device uint32 Inode uint64 Rdevice uint32 Offset int32 Encrypt_type int32 Encrypt_key_size int32 Flags int32 Name [64]int8 Encrypt_key [32]uint8 Init [2]uint64 Reserved [4]int8 _ [4]byte } type TIPCSubscr struct { Seq TIPCServiceRange Timeout uint32 Filter uint32 Handle [8]int8 } type TIPCSIOCLNReq struct { Peer uint32 Id uint32 Linkname [68]int8 } type TIPCSIOCNodeIDReq struct { Peer uint32 Id [16]int8 } type PPSKInfo struct { Assert_sequence uint32 Clear_sequence uint32 Assert_tu PPSKTime Clear_tu PPSKTime Current_mode int32 _ [4]byte } const ( PPS_GETPARAMS = 0x400870a1 PPS_SETPARAMS = 0x800870a2 PPS_GETCAP = 0x400870a3 PPS_FETCH = 0xc00870a4 ) const ( PIDFD_NONBLOCK = 0x80 ) type SysvIpcPerm struct { Key int32 Uid uint32 Gid uint32 Cuid uint32 Cgid uint32 Mode uint32 _ [0]uint8 Seq uint16 _ uint16 _ uint64 _ uint64 } type SysvShmDesc struct { Perm SysvIpcPerm Segsz uint64 Atime int64 Dtime int64 Ctime int64 Cpid int32 Lpid int32 Nattch uint64 _ uint64 _ uint64 } dependencies/pkg/mod/golang.org/x/sys@v0.26.0/unix/symaddr_zos_s390x.s0000644000000000000000000000310115107355264024274 0ustar rootroot// Copyright 2024 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:build zos && s390x && gc #include "textflag.h" // provide the address of function variable to be fixed up. TEXT ·getPipe2Addr(SB), NOSPLIT|NOFRAME, $0-8 MOVD $·Pipe2(SB), R8 MOVD R8, ret+0(FP) RET TEXT ·get_FlockAddr(SB), NOSPLIT|NOFRAME, $0-8 MOVD $·Flock(SB), R8 MOVD R8, ret+0(FP) RET TEXT ·get_GetxattrAddr(SB), NOSPLIT|NOFRAME, $0-8 MOVD $·Getxattr(SB), R8 MOVD R8, ret+0(FP) RET TEXT ·get_NanosleepAddr(SB), NOSPLIT|NOFRAME, $0-8 MOVD $·Nanosleep(SB), R8 MOVD R8, ret+0(FP) RET TEXT ·get_SetxattrAddr(SB), NOSPLIT|NOFRAME, $0-8 MOVD $·Setxattr(SB), R8 MOVD R8, ret+0(FP) RET TEXT ·get_Wait4Addr(SB), NOSPLIT|NOFRAME, $0-8 MOVD $·Wait4(SB), R8 MOVD R8, ret+0(FP) RET TEXT ·get_MountAddr(SB), NOSPLIT|NOFRAME, $0-8 MOVD $·Mount(SB), R8 MOVD R8, ret+0(FP) RET TEXT ·get_UnmountAddr(SB), NOSPLIT|NOFRAME, $0-8 MOVD $·Unmount(SB), R8 MOVD R8, ret+0(FP) RET TEXT ·get_UtimesNanoAtAddr(SB), NOSPLIT|NOFRAME, $0-8 MOVD $·UtimesNanoAt(SB), R8 MOVD R8, ret+0(FP) RET TEXT ·get_UtimesNanoAddr(SB), NOSPLIT|NOFRAME, $0-8 MOVD $·UtimesNano(SB), R8 MOVD R8, ret+0(FP) RET TEXT ·get_MkfifoatAddr(SB), NOSPLIT|NOFRAME, $0-8 MOVD $·Mkfifoat(SB), R8 MOVD R8, ret+0(FP) RET TEXT ·get_ChtagAddr(SB), NOSPLIT|NOFRAME, $0-8 MOVD $·Chtag(SB), R8 MOVD R8, ret+0(FP) RET TEXT ·get_ReadlinkatAddr(SB), NOSPLIT|NOFRAME, $0-8 MOVD $·Readlinkat(SB), R8 MOVD R8, ret+0(FP) RET dependencies/pkg/mod/golang.org/x/sys@v0.26.0/unix/asm_linux_loong64.s0000644000000000000000000000223715107355264024350 0ustar rootroot// Copyright 2022 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:build linux && loong64 && gc #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 JMP syscall·Syscall(SB) TEXT ·Syscall6(SB),NOSPLIT,$0-80 JMP syscall·Syscall6(SB) TEXT ·SyscallNoError(SB),NOSPLIT,$0-48 JAL runtime·entersyscall(SB) MOVV a1+8(FP), R4 MOVV a2+16(FP), R5 MOVV a3+24(FP), R6 MOVV R0, R7 MOVV R0, R8 MOVV R0, R9 MOVV trap+0(FP), R11 // syscall entry SYSCALL MOVV R4, r1+32(FP) MOVV R0, r2+40(FP) // r2 is not used. Always set to 0 JAL runtime·exitsyscall(SB) RET TEXT ·RawSyscall(SB),NOSPLIT,$0-56 JMP syscall·RawSyscall(SB) TEXT ·RawSyscall6(SB),NOSPLIT,$0-80 JMP syscall·RawSyscall6(SB) TEXT ·RawSyscallNoError(SB),NOSPLIT,$0-48 MOVV a1+8(FP), R4 MOVV a2+16(FP), R5 MOVV a3+24(FP), R6 MOVV R0, R7 MOVV R0, R8 MOVV R0, R9 MOVV trap+0(FP), R11 // syscall entry SYSCALL MOVV R4, r1+32(FP) MOVV R0, r2+40(FP) // r2 is not used. Always set to 0 RET dependencies/pkg/mod/golang.org/x/sys@v0.26.0/unix/zerrors_linux_mips.go0000644000000000000000000010577615107355264025135 0ustar rootroot// mkerrors.sh -Wall -Werror -static -I/tmp/mips/include // Code generated by the command above; see README.md. DO NOT EDIT. //go:build mips && linux // Code generated by cmd/cgo -godefs; DO NOT EDIT. // cgo -godefs -- -Wall -Werror -static -I/tmp/mips/include _const.go package unix import "syscall" const ( B1000000 = 0x1008 B115200 = 0x1002 B1152000 = 0x1009 B1500000 = 0x100a B2000000 = 0x100b B230400 = 0x1003 B2500000 = 0x100c B3000000 = 0x100d B3500000 = 0x100e B4000000 = 0x100f B460800 = 0x1004 B500000 = 0x1005 B57600 = 0x1001 B576000 = 0x1006 B921600 = 0x1007 BLKALIGNOFF = 0x2000127a BLKBSZGET = 0x40041270 BLKBSZSET = 0x80041271 BLKDISCARD = 0x20001277 BLKDISCARDZEROES = 0x2000127c BLKFLSBUF = 0x20001261 BLKFRAGET = 0x20001265 BLKFRASET = 0x20001264 BLKGETDISKSEQ = 0x40081280 BLKGETSIZE = 0x20001260 BLKGETSIZE64 = 0x40041272 BLKIOMIN = 0x20001278 BLKIOOPT = 0x20001279 BLKPBSZGET = 0x2000127b BLKRAGET = 0x20001263 BLKRASET = 0x20001262 BLKROGET = 0x2000125e BLKROSET = 0x2000125d BLKROTATIONAL = 0x2000127e BLKRRPART = 0x2000125f BLKSECDISCARD = 0x2000127d BLKSECTGET = 0x20001267 BLKSECTSET = 0x20001266 BLKSSZGET = 0x20001268 BLKZEROOUT = 0x2000127f BOTHER = 0x1000 BS1 = 0x2000 BSDLY = 0x2000 CBAUD = 0x100f CBAUDEX = 0x1000 CIBAUD = 0x100f0000 CLOCAL = 0x800 CR1 = 0x200 CR2 = 0x400 CR3 = 0x600 CRDLY = 0x600 CREAD = 0x80 CS6 = 0x10 CS7 = 0x20 CS8 = 0x30 CSIZE = 0x30 CSTOPB = 0x40 ECCGETLAYOUT = 0x41484d11 ECCGETSTATS = 0x40104d12 ECHOCTL = 0x200 ECHOE = 0x10 ECHOK = 0x20 ECHOKE = 0x800 ECHONL = 0x40 ECHOPRT = 0x400 EFD_CLOEXEC = 0x80000 EFD_NONBLOCK = 0x80 EPIOCGPARAMS = 0x40088a02 EPIOCSPARAMS = 0x80088a01 EPOLL_CLOEXEC = 0x80000 EXTPROC = 0x10000 FF1 = 0x8000 FFDLY = 0x8000 FICLONE = 0x80049409 FICLONERANGE = 0x8020940d FLUSHO = 0x2000 FS_IOC_ENABLE_VERITY = 0x80806685 FS_IOC_GETFLAGS = 0x40046601 FS_IOC_GET_ENCRYPTION_NONCE = 0x4010661b FS_IOC_GET_ENCRYPTION_POLICY = 0x800c6615 FS_IOC_GET_ENCRYPTION_PWSALT = 0x80106614 FS_IOC_SETFLAGS = 0x80046602 FS_IOC_SET_ENCRYPTION_POLICY = 0x400c6613 F_GETLK = 0x21 F_GETLK64 = 0x21 F_GETOWN = 0x17 F_RDLCK = 0x0 F_SETLK = 0x22 F_SETLK64 = 0x22 F_SETLKW = 0x23 F_SETLKW64 = 0x23 F_SETOWN = 0x18 F_UNLCK = 0x2 F_WRLCK = 0x1 HIDIOCGRAWINFO = 0x40084803 HIDIOCGRDESC = 0x50044802 HIDIOCGRDESCSIZE = 0x40044801 HUPCL = 0x400 ICANON = 0x2 IEXTEN = 0x100 IN_CLOEXEC = 0x80000 IN_NONBLOCK = 0x80 IOCTL_VM_SOCKETS_GET_LOCAL_CID = 0x200007b9 ISIG = 0x1 IUCLC = 0x200 IXOFF = 0x1000 IXON = 0x400 MAP_ANON = 0x800 MAP_ANONYMOUS = 0x800 MAP_DENYWRITE = 0x2000 MAP_EXECUTABLE = 0x4000 MAP_GROWSDOWN = 0x1000 MAP_HUGETLB = 0x80000 MAP_LOCKED = 0x8000 MAP_NONBLOCK = 0x20000 MAP_NORESERVE = 0x400 MAP_POPULATE = 0x10000 MAP_RENAME = 0x800 MAP_STACK = 0x40000 MCL_CURRENT = 0x1 MCL_FUTURE = 0x2 MCL_ONFAULT = 0x4 MEMERASE = 0x80084d02 MEMERASE64 = 0x80104d14 MEMGETBADBLOCK = 0x80084d0b MEMGETINFO = 0x40204d01 MEMGETOOBSEL = 0x40c84d0a MEMGETREGIONCOUNT = 0x40044d07 MEMISLOCKED = 0x40084d17 MEMLOCK = 0x80084d05 MEMREAD = 0xc0404d1a MEMREADOOB = 0xc00c4d04 MEMSETBADBLOCK = 0x80084d0c MEMUNLOCK = 0x80084d06 MEMWRITEOOB = 0xc00c4d03 MTDFILEMODE = 0x20004d13 NFDBITS = 0x20 NLDLY = 0x100 NOFLSH = 0x80 NS_GET_MNTNS_ID = 0x4008b705 NS_GET_NSTYPE = 0x2000b703 NS_GET_OWNER_UID = 0x2000b704 NS_GET_PARENT = 0x2000b702 NS_GET_PID_FROM_PIDNS = 0x4004b706 NS_GET_PID_IN_PIDNS = 0x4004b708 NS_GET_TGID_FROM_PIDNS = 0x4004b707 NS_GET_TGID_IN_PIDNS = 0x4004b709 NS_GET_USERNS = 0x2000b701 OLCUC = 0x2 ONLCR = 0x4 OTPERASE = 0x800c4d19 OTPGETREGIONCOUNT = 0x80044d0e OTPGETREGIONINFO = 0x800c4d0f OTPLOCK = 0x400c4d10 OTPSELECT = 0x40044d0d 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_RSYNC = 0x4010 O_SYNC = 0x4010 O_TMPFILE = 0x410000 O_TRUNC = 0x200 PARENB = 0x100 PARODD = 0x200 PENDIN = 0x4000 PERF_EVENT_IOC_DISABLE = 0x20002401 PERF_EVENT_IOC_ENABLE = 0x20002400 PERF_EVENT_IOC_ID = 0x40042407 PERF_EVENT_IOC_MODIFY_ATTRIBUTES = 0x8004240b PERF_EVENT_IOC_PAUSE_OUTPUT = 0x80042409 PERF_EVENT_IOC_PERIOD = 0x80082404 PERF_EVENT_IOC_QUERY_BPF = 0xc004240a PERF_EVENT_IOC_REFRESH = 0x20002402 PERF_EVENT_IOC_RESET = 0x20002403 PERF_EVENT_IOC_SET_BPF = 0x80042408 PERF_EVENT_IOC_SET_FILTER = 0x80042406 PERF_EVENT_IOC_SET_OUTPUT = 0x20002405 PPPIOCATTACH = 0x8004743d PPPIOCATTCHAN = 0x80047438 PPPIOCBRIDGECHAN = 0x80047435 PPPIOCCONNECT = 0x8004743a PPPIOCDETACH = 0x8004743c PPPIOCDISCONN = 0x20007439 PPPIOCGASYNCMAP = 0x40047458 PPPIOCGCHAN = 0x40047437 PPPIOCGDEBUG = 0x40047441 PPPIOCGFLAGS = 0x4004745a PPPIOCGIDLE = 0x4008743f PPPIOCGIDLE32 = 0x4008743f PPPIOCGIDLE64 = 0x4010743f PPPIOCGL2TPSTATS = 0x40487436 PPPIOCGMRU = 0x40047453 PPPIOCGRASYNCMAP = 0x40047455 PPPIOCGUNIT = 0x40047456 PPPIOCGXASYNCMAP = 0x40207450 PPPIOCSACTIVE = 0x80087446 PPPIOCSASYNCMAP = 0x80047457 PPPIOCSCOMPRESS = 0x800c744d PPPIOCSDEBUG = 0x80047440 PPPIOCSFLAGS = 0x80047459 PPPIOCSMAXCID = 0x80047451 PPPIOCSMRRU = 0x8004743b PPPIOCSMRU = 0x80047452 PPPIOCSNPMODE = 0x8008744b PPPIOCSPASS = 0x80087447 PPPIOCSRASYNCMAP = 0x80047454 PPPIOCSXASYNCMAP = 0x8020744f PPPIOCUNBRIDGECHAN = 0x20007434 PPPIOCXFERUNIT = 0x2000744e PR_SET_PTRACER_ANY = 0xffffffff PTRACE_GETFPREGS = 0xe PTRACE_GET_THREAD_AREA = 0x19 PTRACE_GET_THREAD_AREA_3264 = 0xc4 PTRACE_GET_WATCH_REGS = 0xd0 PTRACE_OLDSETOPTIONS = 0x15 PTRACE_PEEKDATA_3264 = 0xc1 PTRACE_PEEKTEXT_3264 = 0xc0 PTRACE_POKEDATA_3264 = 0xc3 PTRACE_POKETEXT_3264 = 0xc2 PTRACE_SETFPREGS = 0xf PTRACE_SET_THREAD_AREA = 0x1a PTRACE_SET_WATCH_REGS = 0xd1 RLIMIT_AS = 0x6 RLIMIT_MEMLOCK = 0x9 RLIMIT_NOFILE = 0x5 RLIMIT_NPROC = 0x8 RLIMIT_RSS = 0x7 RNDADDENTROPY = 0x80085203 RNDADDTOENTCNT = 0x80045201 RNDCLEARPOOL = 0x20005206 RNDGETENTCNT = 0x40045200 RNDGETPOOL = 0x40085202 RNDRESEEDCRNG = 0x20005207 RNDZAPENTCNT = 0x20005204 RTC_AIE_OFF = 0x20007002 RTC_AIE_ON = 0x20007001 RTC_ALM_READ = 0x40247008 RTC_ALM_SET = 0x80247007 RTC_EPOCH_READ = 0x4004700d RTC_EPOCH_SET = 0x8004700e RTC_IRQP_READ = 0x4004700b RTC_IRQP_SET = 0x8004700c RTC_PARAM_GET = 0x80187013 RTC_PARAM_SET = 0x80187014 RTC_PIE_OFF = 0x20007006 RTC_PIE_ON = 0x20007005 RTC_PLL_GET = 0x401c7011 RTC_PLL_SET = 0x801c7012 RTC_RD_TIME = 0x40247009 RTC_SET_TIME = 0x8024700a RTC_UIE_OFF = 0x20007004 RTC_UIE_ON = 0x20007003 RTC_VL_CLR = 0x20007014 RTC_VL_READ = 0x40047013 RTC_WIE_OFF = 0x20007010 RTC_WIE_ON = 0x2000700f RTC_WKALM_RD = 0x40287010 RTC_WKALM_SET = 0x8028700f SCM_TIMESTAMPING = 0x25 SCM_TIMESTAMPING_OPT_STATS = 0x36 SCM_TIMESTAMPING_PKTINFO = 0x3a SCM_TIMESTAMPNS = 0x23 SCM_TXTIME = 0x3d SCM_WIFI_STATUS = 0x29 SECCOMP_IOCTL_NOTIF_ADDFD = 0x80182103 SECCOMP_IOCTL_NOTIF_ID_VALID = 0x80082102 SECCOMP_IOCTL_NOTIF_SET_FLAGS = 0x80082104 SFD_CLOEXEC = 0x80000 SFD_NONBLOCK = 0x80 SIOCATMARK = 0x40047307 SIOCGPGRP = 0x40047309 SIOCGSTAMPNS_NEW = 0x40108907 SIOCGSTAMP_NEW = 0x40108906 SIOCINQ = 0x467f SIOCOUTQ = 0x7472 SIOCSPGRP = 0x80047308 SOCK_CLOEXEC = 0x80000 SOCK_DGRAM = 0x1 SOCK_NONBLOCK = 0x80 SOCK_STREAM = 0x2 SOL_SOCKET = 0xffff SO_ACCEPTCONN = 0x1009 SO_ATTACH_BPF = 0x32 SO_ATTACH_REUSEPORT_CBPF = 0x33 SO_ATTACH_REUSEPORT_EBPF = 0x34 SO_BINDTODEVICE = 0x19 SO_BINDTOIFINDEX = 0x3e SO_BPF_EXTENSIONS = 0x30 SO_BROADCAST = 0x20 SO_BSDCOMPAT = 0xe SO_BUF_LOCK = 0x48 SO_BUSY_POLL = 0x2e SO_BUSY_POLL_BUDGET = 0x46 SO_CNX_ADVICE = 0x35 SO_COOKIE = 0x39 SO_DETACH_REUSEPORT_BPF = 0x44 SO_DOMAIN = 0x1029 SO_DONTROUTE = 0x10 SO_ERROR = 0x1007 SO_INCOMING_CPU = 0x31 SO_INCOMING_NAPI_ID = 0x38 SO_KEEPALIVE = 0x8 SO_LINGER = 0x80 SO_LOCK_FILTER = 0x2c SO_MARK = 0x24 SO_MAX_PACING_RATE = 0x2f SO_MEMINFO = 0x37 SO_NETNS_COOKIE = 0x47 SO_NOFCS = 0x2b SO_OOBINLINE = 0x100 SO_PASSCRED = 0x11 SO_PASSPIDFD = 0x4c SO_PASSSEC = 0x22 SO_PEEK_OFF = 0x2a SO_PEERCRED = 0x12 SO_PEERGROUPS = 0x3b SO_PEERPIDFD = 0x4d SO_PEERSEC = 0x1e SO_PREFER_BUSY_POLL = 0x45 SO_PROTOCOL = 0x1028 SO_RCVBUF = 0x1002 SO_RCVBUFFORCE = 0x21 SO_RCVLOWAT = 0x1004 SO_RCVMARK = 0x4b SO_RCVTIMEO = 0x1006 SO_RCVTIMEO_NEW = 0x42 SO_RCVTIMEO_OLD = 0x1006 SO_RESERVE_MEM = 0x49 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_SNDTIMEO_NEW = 0x43 SO_SNDTIMEO_OLD = 0x1005 SO_STYLE = 0x1008 SO_TIMESTAMPING = 0x25 SO_TIMESTAMPING_NEW = 0x41 SO_TIMESTAMPING_OLD = 0x25 SO_TIMESTAMPNS = 0x23 SO_TIMESTAMPNS_NEW = 0x40 SO_TIMESTAMPNS_OLD = 0x23 SO_TIMESTAMP_NEW = 0x3f SO_TXREHASH = 0x4a SO_TXTIME = 0x3d SO_TYPE = 0x1008 SO_WIFI_STATUS = 0x29 SO_ZEROCOPY = 0x3c TAB1 = 0x800 TAB2 = 0x1000 TAB3 = 0x1800 TABDLY = 0x1800 TCFLSH = 0x5407 TCGETA = 0x5401 TCGETS = 0x540d TCGETS2 = 0x4030542a 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 TFD_CLOEXEC = 0x80000 TFD_NONBLOCK = 0x80 TIOCCBRK = 0x5428 TIOCCONS = 0x80047478 TIOCEXCL = 0x740d TIOCGDEV = 0x40045432 TIOCGETD = 0x7400 TIOCGETP = 0x7408 TIOCGEXCL = 0x40045440 TIOCGICOUNT = 0x5492 TIOCGISO7816 = 0x40285442 TIOCGLCKTRMIOS = 0x548b TIOCGLTC = 0x7474 TIOCGPGRP = 0x40047477 TIOCGPKT = 0x40045438 TIOCGPTLCK = 0x40045439 TIOCGPTN = 0x40045430 TIOCGPTPEER = 0x20005441 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_RI = 0x200 TIOCM_RNG = 0x200 TIOCM_SR = 0x20 TIOCM_ST = 0x10 TIOCNOTTY = 0x5471 TIOCNXCL = 0x740e TIOCOUTQ = 0x7472 TIOCPKT = 0x5470 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 TIOCSISO7816 = 0xc0285443 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 TUNGETDEVNETNS = 0x200054e3 TUNGETFEATURES = 0x400454cf TUNGETFILTER = 0x400854db TUNGETIFF = 0x400454d2 TUNGETSNDBUF = 0x400454d3 TUNGETVNETBE = 0x400454df TUNGETVNETHDRSZ = 0x400454d7 TUNGETVNETLE = 0x400454dd TUNSETCARRIER = 0x800454e2 TUNSETDEBUG = 0x800454c9 TUNSETFILTEREBPF = 0x400454e1 TUNSETGROUP = 0x800454ce TUNSETIFF = 0x800454ca TUNSETIFINDEX = 0x800454da TUNSETLINK = 0x800454cd TUNSETNOCSUM = 0x800454c8 TUNSETOFFLOAD = 0x800454d0 TUNSETOWNER = 0x800454cc TUNSETPERSIST = 0x800454cb TUNSETQUEUE = 0x800454d9 TUNSETSNDBUF = 0x800454d4 TUNSETSTEERINGEBPF = 0x400454e0 TUNSETTXFILTER = 0x800454d1 TUNSETVNETBE = 0x800454de TUNSETVNETHDRSZ = 0x800454d8 TUNSETVNETLE = 0x800454dc UBI_IOCATT = 0x80186f40 UBI_IOCDET = 0x80046f41 UBI_IOCEBCH = 0x80044f02 UBI_IOCEBER = 0x80044f01 UBI_IOCEBISMAP = 0x40044f05 UBI_IOCEBMAP = 0x80084f03 UBI_IOCEBUNMAP = 0x80044f04 UBI_IOCMKVOL = 0x80986f00 UBI_IOCRMVOL = 0x80046f01 UBI_IOCRNVOL = 0x91106f03 UBI_IOCRPEB = 0x80046f04 UBI_IOCRSVOL = 0x800c6f02 UBI_IOCSETVOLPROP = 0x80104f06 UBI_IOCSPEB = 0x80046f05 UBI_IOCVOLCRBLK = 0x80804f07 UBI_IOCVOLRMBLK = 0x20004f08 UBI_IOCVOLUP = 0x80084f00 VDISCARD = 0xd VEOF = 0x10 VEOL = 0x11 VEOL2 = 0x6 VMIN = 0x4 VREPRINT = 0xc VSTART = 0x8 VSTOP = 0x9 VSUSP = 0xa VSWTC = 0x7 VSWTCH = 0x7 VT1 = 0x4000 VTDLY = 0x4000 VTIME = 0x5 VWERASE = 0xe WDIOC_GETBOOTSTATUS = 0x40045702 WDIOC_GETPRETIMEOUT = 0x40045709 WDIOC_GETSTATUS = 0x40045701 WDIOC_GETSUPPORT = 0x40285700 WDIOC_GETTEMP = 0x40045703 WDIOC_GETTIMELEFT = 0x4004570a WDIOC_GETTIMEOUT = 0x40045707 WDIOC_KEEPALIVE = 0x40045705 WDIOC_SETOPTIONS = 0x40045704 WORDSIZE = 0x20 XCASE = 0x4 XTABS = 0x1800 _HIDIOCGRAWNAME = 0x40804804 _HIDIOCGRAWPHYS = 0x40404805 _HIDIOCGRAWUNIQ = 0x40404808 ) // Errors const ( EADDRINUSE = syscall.Errno(0x7d) EADDRNOTAVAIL = syscall.Errno(0x7e) EADV = syscall.Errno(0x44) EAFNOSUPPORT = syscall.Errno(0x7c) EALREADY = syscall.Errno(0x95) EBADE = syscall.Errno(0x32) EBADFD = syscall.Errno(0x51) EBADMSG = syscall.Errno(0x4d) EBADR = syscall.Errno(0x33) EBADRQC = syscall.Errno(0x36) EBADSLT = syscall.Errno(0x37) EBFONT = syscall.Errno(0x3b) ECANCELED = syscall.Errno(0x9e) 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) EDOTDOT = syscall.Errno(0x49) EDQUOT = syscall.Errno(0x46d) 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) EISCONN = syscall.Errno(0x85) 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) 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) ENOANO = syscall.Errno(0x35) ENOBUFS = syscall.Errno(0x84) ENOCSI = syscall.Errno(0x2b) ENODATA = syscall.Errno(0x3d) ENOKEY = syscall.Errno(0xa1) ENOLCK = syscall.Errno(0x2e) ENOLINK = syscall.Errno(0x43) ENOMEDIUM = syscall.Errno(0x9f) ENOMSG = syscall.Errno(0x23) ENONET = syscall.Errno(0x40) ENOPKG = syscall.Errno(0x41) ENOPROTOOPT = syscall.Errno(0x63) ENOSR = syscall.Errno(0x3f) ENOSTR = syscall.Errno(0x3c) ENOSYS = syscall.Errno(0x59) ENOTCONN = syscall.Errno(0x86) ENOTEMPTY = syscall.Errno(0x5d) ENOTNAM = syscall.Errno(0x89) ENOTRECOVERABLE = syscall.Errno(0xa6) ENOTSOCK = syscall.Errno(0x5f) ENOTSUP = syscall.Errno(0x7a) ENOTUNIQ = syscall.Errno(0x50) EOPNOTSUPP = syscall.Errno(0x7a) EOVERFLOW = syscall.Errno(0x4f) EOWNERDEAD = syscall.Errno(0xa5) EPFNOSUPPORT = syscall.Errno(0x7b) EPROTO = syscall.Errno(0x47) EPROTONOSUPPORT = syscall.Errno(0x78) EPROTOTYPE = syscall.Errno(0x62) EREMCHG = syscall.Errno(0x52) EREMDEV = syscall.Errno(0x8e) EREMOTE = syscall.Errno(0x42) EREMOTEIO = syscall.Errno(0x8c) ERESTART = syscall.Errno(0x5b) ERFKILL = syscall.Errno(0xa7) ESHUTDOWN = syscall.Errno(0x8f) ESOCKTNOSUPPORT = syscall.Errno(0x79) ESRMNT = syscall.Errno(0x45) ESTALE = syscall.Errno(0x97) ESTRPIPE = syscall.Errno(0x5c) ETIME = syscall.Errno(0x3e) ETIMEDOUT = syscall.Errno(0x91) ETOOMANYREFS = syscall.Errno(0x90) EUCLEAN = syscall.Errno(0x87) EUNATCH = syscall.Errno(0x2a) EUSERS = syscall.Errno(0x5e) EXFULL = syscall.Errno(0x34) ) // Signals const ( SIGBUS = syscall.Signal(0xa) SIGCHLD = syscall.Signal(0x12) SIGCLD = syscall.Signal(0x12) SIGCONT = syscall.Signal(0x19) SIGEMT = syscall.Signal(0x7) SIGIO = syscall.Signal(0x16) SIGPOLL = syscall.Signal(0x16) SIGPROF = syscall.Signal(0x1d) SIGPWR = syscall.Signal(0x13) SIGSTOP = syscall.Signal(0x17) SIGSYS = syscall.Signal(0xc) 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 errorList = [...]struct { num syscall.Errno name string desc string }{ {1, "EPERM", "operation not permitted"}, {2, "ENOENT", "no such file or directory"}, {3, "ESRCH", "no such process"}, {4, "EINTR", "interrupted system call"}, {5, "EIO", "input/output error"}, {6, "ENXIO", "no such device or address"}, {7, "E2BIG", "argument list too long"}, {8, "ENOEXEC", "exec format error"}, {9, "EBADF", "bad file descriptor"}, {10, "ECHILD", "no child processes"}, {11, "EAGAIN", "resource temporarily unavailable"}, {12, "ENOMEM", "cannot allocate memory"}, {13, "EACCES", "permission denied"}, {14, "EFAULT", "bad address"}, {15, "ENOTBLK", "block device required"}, {16, "EBUSY", "device or resource busy"}, {17, "EEXIST", "file exists"}, {18, "EXDEV", "invalid cross-device link"}, {19, "ENODEV", "no such device"}, {20, "ENOTDIR", "not a directory"}, {21, "EISDIR", "is a directory"}, {22, "EINVAL", "invalid argument"}, {23, "ENFILE", "too many open files in system"}, {24, "EMFILE", "too many open files"}, {25, "ENOTTY", "inappropriate ioctl for device"}, {26, "ETXTBSY", "text file busy"}, {27, "EFBIG", "file too large"}, {28, "ENOSPC", "no space left on device"}, {29, "ESPIPE", "illegal seek"}, {30, "EROFS", "read-only file system"}, {31, "EMLINK", "too many links"}, {32, "EPIPE", "broken pipe"}, {33, "EDOM", "numerical argument out of domain"}, {34, "ERANGE", "numerical result out of range"}, {35, "ENOMSG", "no message of desired type"}, {36, "EIDRM", "identifier removed"}, {37, "ECHRNG", "channel number out of range"}, {38, "EL2NSYNC", "level 2 not synchronized"}, {39, "EL3HLT", "level 3 halted"}, {40, "EL3RST", "level 3 reset"}, {41, "ELNRNG", "link number out of range"}, {42, "EUNATCH", "protocol driver not attached"}, {43, "ENOCSI", "no CSI structure available"}, {44, "EL2HLT", "level 2 halted"}, {45, "EDEADLK", "resource deadlock avoided"}, {46, "ENOLCK", "no locks available"}, {50, "EBADE", "invalid exchange"}, {51, "EBADR", "invalid request descriptor"}, {52, "EXFULL", "exchange full"}, {53, "ENOANO", "no anode"}, {54, "EBADRQC", "invalid request code"}, {55, "EBADSLT", "invalid slot"}, {56, "EDEADLOCK", "file locking deadlock error"}, {59, "EBFONT", "bad font file format"}, {60, "ENOSTR", "device not a stream"}, {61, "ENODATA", "no data available"}, {62, "ETIME", "timer expired"}, {63, "ENOSR", "out of streams resources"}, {64, "ENONET", "machine is not on the network"}, {65, "ENOPKG", "package not installed"}, {66, "EREMOTE", "object is remote"}, {67, "ENOLINK", "link has been severed"}, {68, "EADV", "advertise error"}, {69, "ESRMNT", "srmount error"}, {70, "ECOMM", "communication error on send"}, {71, "EPROTO", "protocol error"}, {73, "EDOTDOT", "RFS specific error"}, {74, "EMULTIHOP", "multihop attempted"}, {77, "EBADMSG", "bad message"}, {78, "ENAMETOOLONG", "file name too long"}, {79, "EOVERFLOW", "value too large for defined data type"}, {80, "ENOTUNIQ", "name not unique on network"}, {81, "EBADFD", "file descriptor in bad state"}, {82, "EREMCHG", "remote address changed"}, {83, "ELIBACC", "can not access a needed shared library"}, {84, "ELIBBAD", "accessing a corrupted shared library"}, {85, "ELIBSCN", ".lib section in a.out corrupted"}, {86, "ELIBMAX", "attempting to link in too many shared libraries"}, {87, "ELIBEXEC", "cannot exec a shared library directly"}, {88, "EILSEQ", "invalid or incomplete multibyte or wide character"}, {89, "ENOSYS", "function not implemented"}, {90, "ELOOP", "too many levels of symbolic links"}, {91, "ERESTART", "interrupted system call should be restarted"}, {92, "ESTRPIPE", "streams pipe error"}, {93, "ENOTEMPTY", "directory not empty"}, {94, "EUSERS", "too many users"}, {95, "ENOTSOCK", "socket operation on non-socket"}, {96, "EDESTADDRREQ", "destination address required"}, {97, "EMSGSIZE", "message too long"}, {98, "EPROTOTYPE", "protocol wrong type for socket"}, {99, "ENOPROTOOPT", "protocol not available"}, {120, "EPROTONOSUPPORT", "protocol not supported"}, {121, "ESOCKTNOSUPPORT", "socket type not supported"}, {122, "ENOTSUP", "operation not supported"}, {123, "EPFNOSUPPORT", "protocol family not supported"}, {124, "EAFNOSUPPORT", "address family not supported by protocol"}, {125, "EADDRINUSE", "address already in use"}, {126, "EADDRNOTAVAIL", "cannot assign requested address"}, {127, "ENETDOWN", "network is down"}, {128, "ENETUNREACH", "network is unreachable"}, {129, "ENETRESET", "network dropped connection on reset"}, {130, "ECONNABORTED", "software caused connection abort"}, {131, "ECONNRESET", "connection reset by peer"}, {132, "ENOBUFS", "no buffer space available"}, {133, "EISCONN", "transport endpoint is already connected"}, {134, "ENOTCONN", "transport endpoint is not connected"}, {135, "EUCLEAN", "structure needs cleaning"}, {137, "ENOTNAM", "not a XENIX named type file"}, {138, "ENAVAIL", "no XENIX semaphores available"}, {139, "EISNAM", "is a named type file"}, {140, "EREMOTEIO", "remote I/O error"}, {141, "EINIT", "unknown error 141"}, {142, "EREMDEV", "unknown error 142"}, {143, "ESHUTDOWN", "cannot send after transport endpoint shutdown"}, {144, "ETOOMANYREFS", "too many references: cannot splice"}, {145, "ETIMEDOUT", "connection timed out"}, {146, "ECONNREFUSED", "connection refused"}, {147, "EHOSTDOWN", "host is down"}, {148, "EHOSTUNREACH", "no route to host"}, {149, "EALREADY", "operation already in progress"}, {150, "EINPROGRESS", "operation now in progress"}, {151, "ESTALE", "stale file handle"}, {158, "ECANCELED", "operation canceled"}, {159, "ENOMEDIUM", "no medium found"}, {160, "EMEDIUMTYPE", "wrong medium type"}, {161, "ENOKEY", "required key not available"}, {162, "EKEYEXPIRED", "key has expired"}, {163, "EKEYREVOKED", "key has been revoked"}, {164, "EKEYREJECTED", "key was rejected by service"}, {165, "EOWNERDEAD", "owner died"}, {166, "ENOTRECOVERABLE", "state not recoverable"}, {167, "ERFKILL", "operation not possible due to RF-kill"}, {168, "EHWPOISON", "memory page has hardware error"}, {1133, "EDQUOT", "disk quota exceeded"}, } // Signal table var signalList = [...]struct { num syscall.Signal name string desc string }{ {1, "SIGHUP", "hangup"}, {2, "SIGINT", "interrupt"}, {3, "SIGQUIT", "quit"}, {4, "SIGILL", "illegal instruction"}, {5, "SIGTRAP", "trace/breakpoint trap"}, {6, "SIGABRT", "aborted"}, {7, "SIGEMT", "EMT trap"}, {8, "SIGFPE", "floating point exception"}, {9, "SIGKILL", "killed"}, {10, "SIGBUS", "bus error"}, {11, "SIGSEGV", "segmentation fault"}, {12, "SIGSYS", "bad system call"}, {13, "SIGPIPE", "broken pipe"}, {14, "SIGALRM", "alarm clock"}, {15, "SIGTERM", "terminated"}, {16, "SIGUSR1", "user defined signal 1"}, {17, "SIGUSR2", "user defined signal 2"}, {18, "SIGCHLD", "child exited"}, {19, "SIGPWR", "power failure"}, {20, "SIGWINCH", "window changed"}, {21, "SIGURG", "urgent I/O condition"}, {22, "SIGIO", "I/O possible"}, {23, "SIGSTOP", "stopped (signal)"}, {24, "SIGTSTP", "stopped"}, {25, "SIGCONT", "continued"}, {26, "SIGTTIN", "stopped (tty input)"}, {27, "SIGTTOU", "stopped (tty output)"}, {28, "SIGVTALRM", "virtual timer expired"}, {29, "SIGPROF", "profiling timer expired"}, {30, "SIGXCPU", "CPU time limit exceeded"}, {31, "SIGXFSZ", "file size limit exceeded"}, } dependencies/pkg/mod/golang.org/x/sys@v0.26.0/unix/ztypes_linux_mips.go0000644000000000000000000003041615107355264024751 0ustar rootroot// cgo -godefs -objdir=/tmp/mips/cgo -- -Wall -Werror -static -I/tmp/mips/include linux/types.go | go run mkpost.go // Code generated by the command above; see README.md. DO NOT EDIT. //go:build mips && linux package unix const ( SizeofPtr = 0x4 SizeofLong = 0x4 ) type ( _C_long int32 ) 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 _ [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 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 Dirent struct { Ino uint64 Off int64 Reclen uint16 Type uint8 Name [256]int8 _ [5]byte } type Flock_t struct { Type int16 Whence int16 _ [4]byte Start int64 Len int64 Pid int32 _ [4]byte } type DmNameList struct { Dev uint64 Next uint32 Name [0]byte _ [4]byte } const ( FADV_DONTNEED = 0x4 FADV_NOREUSE = 0x5 ) type RawSockaddrNFCLLCP struct { Sa_family uint16 Dev_idx uint32 Target_idx uint32 Nfc_protocol uint32 Dsap uint8 Ssap uint8 Service_name [63]uint8 Service_name_len uint32 } type RawSockaddr struct { Family uint16 Data [14]int8 } type RawSockaddrAny struct { Addr RawSockaddr Pad [96]int8 } type Iovec struct { Base *byte Len 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 ifreq struct { Ifrn [16]byte Ifru [16]byte } const ( SizeofSockaddrNFCLLCP = 0x58 SizeofIovec = 0x8 SizeofMsghdr = 0x1c SizeofCmsghdr = 0xc ) const ( SizeofSockFprog = 0x8 ) 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 _ [8]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 ( OPEN_TREE_CLOEXEC = 0x80000 ) const ( POLLRDHUP = 0x2000 ) type Sigset_t struct { Val [32]uint32 } const _C__NSIG = 0x80 const ( SIG_BLOCK = 0x1 SIG_UNBLOCK = 0x2 SIG_SETMASK = 0x3 ) type Siginfo struct { Signo int32 Code int32 Errno int32 _ [116]byte } type Termios struct { Iflag uint32 Oflag uint32 Cflag uint32 Lflag uint32 Line uint8 Cc [23]uint8 Ispeed uint32 Ospeed uint32 } type Taskstats struct { Version uint16 Ac_exitcode uint32 Ac_flag uint8 Ac_nice uint8 _ [4]byte Cpu_count uint64 Cpu_delay_total uint64 Blkio_count uint64 Blkio_delay_total uint64 Swapin_count uint64 Swapin_delay_total uint64 Cpu_run_real_total uint64 Cpu_run_virtual_total uint64 Ac_comm [32]int8 Ac_sched uint8 Ac_pad [3]uint8 _ [4]byte Ac_uid uint32 Ac_gid uint32 Ac_pid uint32 Ac_ppid uint32 Ac_btime uint32 _ [4]byte Ac_etime uint64 Ac_utime uint64 Ac_stime uint64 Ac_minflt uint64 Ac_majflt uint64 Coremem uint64 Virtmem uint64 Hiwater_rss uint64 Hiwater_vm uint64 Read_char uint64 Write_char uint64 Read_syscalls uint64 Write_syscalls uint64 Read_bytes uint64 Write_bytes uint64 Cancelled_write_bytes uint64 Nvcsw uint64 Nivcsw uint64 Ac_utimescaled uint64 Ac_stimescaled uint64 Cpu_scaled_run_real_total uint64 Freepages_count uint64 Freepages_delay_total uint64 Thrashing_count uint64 Thrashing_delay_total uint64 Ac_btime64 uint64 Compact_count uint64 Compact_delay_total uint64 Ac_tgid uint32 _ [4]byte Ac_tgetime uint64 Ac_exe_dev uint64 Ac_exe_inode uint64 Wpcopy_count uint64 Wpcopy_delay_total uint64 Irq_count uint64 Irq_delay_total uint64 } type cpuMask uint32 const ( _NCPUBITS = 0x20 ) const ( CBitFieldMaskBit0 = 0x8000000000000000 CBitFieldMaskBit1 = 0x4000000000000000 CBitFieldMaskBit2 = 0x2000000000000000 CBitFieldMaskBit3 = 0x1000000000000000 CBitFieldMaskBit4 = 0x800000000000000 CBitFieldMaskBit5 = 0x400000000000000 CBitFieldMaskBit6 = 0x200000000000000 CBitFieldMaskBit7 = 0x100000000000000 CBitFieldMaskBit8 = 0x80000000000000 CBitFieldMaskBit9 = 0x40000000000000 CBitFieldMaskBit10 = 0x20000000000000 CBitFieldMaskBit11 = 0x10000000000000 CBitFieldMaskBit12 = 0x8000000000000 CBitFieldMaskBit13 = 0x4000000000000 CBitFieldMaskBit14 = 0x2000000000000 CBitFieldMaskBit15 = 0x1000000000000 CBitFieldMaskBit16 = 0x800000000000 CBitFieldMaskBit17 = 0x400000000000 CBitFieldMaskBit18 = 0x200000000000 CBitFieldMaskBit19 = 0x100000000000 CBitFieldMaskBit20 = 0x80000000000 CBitFieldMaskBit21 = 0x40000000000 CBitFieldMaskBit22 = 0x20000000000 CBitFieldMaskBit23 = 0x10000000000 CBitFieldMaskBit24 = 0x8000000000 CBitFieldMaskBit25 = 0x4000000000 CBitFieldMaskBit26 = 0x2000000000 CBitFieldMaskBit27 = 0x1000000000 CBitFieldMaskBit28 = 0x800000000 CBitFieldMaskBit29 = 0x400000000 CBitFieldMaskBit30 = 0x200000000 CBitFieldMaskBit31 = 0x100000000 CBitFieldMaskBit32 = 0x80000000 CBitFieldMaskBit33 = 0x40000000 CBitFieldMaskBit34 = 0x20000000 CBitFieldMaskBit35 = 0x10000000 CBitFieldMaskBit36 = 0x8000000 CBitFieldMaskBit37 = 0x4000000 CBitFieldMaskBit38 = 0x2000000 CBitFieldMaskBit39 = 0x1000000 CBitFieldMaskBit40 = 0x800000 CBitFieldMaskBit41 = 0x400000 CBitFieldMaskBit42 = 0x200000 CBitFieldMaskBit43 = 0x100000 CBitFieldMaskBit44 = 0x80000 CBitFieldMaskBit45 = 0x40000 CBitFieldMaskBit46 = 0x20000 CBitFieldMaskBit47 = 0x10000 CBitFieldMaskBit48 = 0x8000 CBitFieldMaskBit49 = 0x4000 CBitFieldMaskBit50 = 0x2000 CBitFieldMaskBit51 = 0x1000 CBitFieldMaskBit52 = 0x800 CBitFieldMaskBit53 = 0x400 CBitFieldMaskBit54 = 0x200 CBitFieldMaskBit55 = 0x100 CBitFieldMaskBit56 = 0x80 CBitFieldMaskBit57 = 0x40 CBitFieldMaskBit58 = 0x20 CBitFieldMaskBit59 = 0x10 CBitFieldMaskBit60 = 0x8 CBitFieldMaskBit61 = 0x4 CBitFieldMaskBit62 = 0x2 CBitFieldMaskBit63 = 0x1 ) type SockaddrStorage struct { Family uint16 Data [122]byte _ uint32 } type HDGeometry struct { Heads uint8 Sectors uint8 Cylinders uint16 Start uint32 } type Statfs_t struct { Type int32 Bsize int32 Frsize int32 _ [4]byte Blocks uint64 Bfree uint64 Files uint64 Ffree uint64 Bavail uint64 Fsid Fsid Namelen int32 Flags int32 Spare [5]int32 _ [4]byte } type TpacketHdr struct { Status uint32 Len uint32 Snaplen uint32 Mac uint16 Net uint16 Sec uint32 Usec uint32 } const ( SizeofTpacketHdr = 0x18 ) type RTCPLLInfo struct { Ctrl int32 Value int32 Max int32 Min int32 Posmult int32 Negmult int32 Clock int32 } type BlkpgPartition struct { Start int64 Length int64 Pno int32 Devname [64]uint8 Volname [64]uint8 _ [4]byte } const ( BLKPG = 0x20001269 ) type CryptoUserAlg struct { Name [64]int8 Driver_name [64]int8 Module_name [64]int8 Type uint32 Mask uint32 Refcnt uint32 Flags uint32 } type CryptoStatAEAD struct { Type [64]int8 Encrypt_cnt uint64 Encrypt_tlen uint64 Decrypt_cnt uint64 Decrypt_tlen uint64 Err_cnt uint64 } type CryptoStatAKCipher struct { Type [64]int8 Encrypt_cnt uint64 Encrypt_tlen uint64 Decrypt_cnt uint64 Decrypt_tlen uint64 Verify_cnt uint64 Sign_cnt uint64 Err_cnt uint64 } type CryptoStatCipher struct { Type [64]int8 Encrypt_cnt uint64 Encrypt_tlen uint64 Decrypt_cnt uint64 Decrypt_tlen uint64 Err_cnt uint64 } type CryptoStatCompress struct { Type [64]int8 Compress_cnt uint64 Compress_tlen uint64 Decompress_cnt uint64 Decompress_tlen uint64 Err_cnt uint64 } type CryptoStatHash struct { Type [64]int8 Hash_cnt uint64 Hash_tlen uint64 Err_cnt uint64 } type CryptoStatKPP struct { Type [64]int8 Setsecret_cnt uint64 Generate_public_key_cnt uint64 Compute_shared_secret_cnt uint64 Err_cnt uint64 } type CryptoStatRNG struct { Type [64]int8 Generate_cnt uint64 Generate_tlen uint64 Seed_cnt uint64 Err_cnt uint64 } type CryptoStatLarval struct { Type [64]int8 } type CryptoReportLarval struct { Type [64]int8 } type CryptoReportHash struct { Type [64]int8 Blocksize uint32 Digestsize uint32 } type CryptoReportCipher struct { Type [64]int8 Blocksize uint32 Min_keysize uint32 Max_keysize uint32 } type CryptoReportBlkCipher struct { Type [64]int8 Geniv [64]int8 Blocksize uint32 Min_keysize uint32 Max_keysize uint32 Ivsize uint32 } type CryptoReportAEAD struct { Type [64]int8 Geniv [64]int8 Blocksize uint32 Maxauthsize uint32 Ivsize uint32 } type CryptoReportComp struct { Type [64]int8 } type CryptoReportRNG struct { Type [64]int8 Seedsize uint32 } type CryptoReportAKCipher struct { Type [64]int8 } type CryptoReportKPP struct { Type [64]int8 } type CryptoReportAcomp struct { Type [64]int8 } type LoopInfo struct { Number int32 Device uint32 Inode uint32 Rdevice uint32 Offset int32 Encrypt_type int32 Encrypt_key_size int32 Flags int32 Name [64]int8 Encrypt_key [32]uint8 Init [2]uint32 Reserved [4]int8 } type TIPCSubscr struct { Seq TIPCServiceRange Timeout uint32 Filter uint32 Handle [8]int8 } type TIPCSIOCLNReq struct { Peer uint32 Id uint32 Linkname [68]int8 } type TIPCSIOCNodeIDReq struct { Peer uint32 Id [16]int8 } type PPSKInfo struct { Assert_sequence uint32 Clear_sequence uint32 Assert_tu PPSKTime Clear_tu PPSKTime Current_mode int32 _ [4]byte } const ( PPS_GETPARAMS = 0x400470a1 PPS_SETPARAMS = 0x800470a2 PPS_GETCAP = 0x400470a3 PPS_FETCH = 0xc00470a4 ) const ( PIDFD_NONBLOCK = 0x80 ) type SysvIpcPerm struct { Key int32 Uid uint32 Gid uint32 Cuid uint32 Cgid uint32 Mode uint32 _ [0]uint8 Seq uint16 _ uint16 _ uint32 _ uint32 } type SysvShmDesc struct { Perm SysvIpcPerm Segsz uint32 Atime uint32 Dtime uint32 Ctime uint32 Cpid int32 Lpid int32 Nattch uint32 Atime_high uint16 Dtime_high uint16 Ctime_high uint16 _ uint16 } dependencies/pkg/mod/golang.org/x/sys@v0.26.0/unix/zsysctl_openbsd_riscv64.go0000644000000000000000000002774315107355264025762 0ustar rootroot// go run mksysctl_openbsd.go // Code generated by the command above; DO NOT EDIT. //go:build riscv64 && openbsd 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.profile", []_C_int{9, 9}}, {"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.ncpuonline", []_C_int{6, 25}}, {"hw.pagesize", []_C_int{6, 7}}, {"hw.perfpolicy", []_C_int{6, 23}}, {"hw.physmem", []_C_int{6, 19}}, {"hw.power", []_C_int{6, 26}}, {"hw.product", []_C_int{6, 15}}, {"hw.serialno", []_C_int{6, 17}}, {"hw.setperf", []_C_int{6, 13}}, {"hw.smt", []_C_int{6, 24}}, {"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.allowdt", []_C_int{1, 65}}, {"kern.allowkmem", []_C_int{1, 52}}, {"kern.argmax", []_C_int{1, 8}}, {"kern.audio", []_C_int{1, 84}}, {"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.consbuf", []_C_int{1, 83}}, {"kern.consbufsize", []_C_int{1, 82}}, {"kern.consdev", []_C_int{1, 75}}, {"kern.cp_time", []_C_int{1, 40}}, {"kern.cp_time2", []_C_int{1, 71}}, {"kern.cpustats", []_C_int{1, 85}}, {"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.global_ptrace", []_C_int{1, 81}}, {"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.pfstatus", []_C_int{1, 86}}, {"kern.pool_debug", []_C_int{1, 77}}, {"kern.posix1version", []_C_int{1, 17}}, {"kern.proc", []_C_int{1, 66}}, {"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.timeout_stats", []_C_int{1, 87}}, {"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.utc_offset", []_C_int{1, 88}}, {"kern.version", []_C_int{1, 4}}, {"kern.video", []_C_int{1, 89}}, {"kern.watchdog.auto", []_C_int{1, 64, 2}}, {"kern.watchdog.period", []_C_int{1, 64, 1}}, {"kern.witnesswatch", []_C_int{1, 53}}, {"kern.wxabort", []_C_int{1, 74}}, {"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.arpdown", []_C_int{4, 2, 0, 40}}, {"net.inet.ip.arpqueued", []_C_int{4, 2, 0, 36}}, {"net.inet.ip.arptimeout", []_C_int{4, 2, 0, 39}}, {"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.mrtmfc", []_C_int{4, 2, 0, 37}}, {"net.inet.ip.mrtproto", []_C_int{4, 2, 0, 34}}, {"net.inet.ip.mrtstats", []_C_int{4, 2, 0, 35}}, {"net.inet.ip.mrtvif", []_C_int{4, 2, 0, 38}}, {"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.pfsync.stats", []_C_int{4, 2, 240, 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.rootonly", []_C_int{4, 2, 6, 24}}, {"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.tcp.synhashsize", []_C_int{4, 2, 6, 25}}, {"net.inet.tcp.synuselimit", []_C_int{4, 2, 6, 23}}, {"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.rootonly", []_C_int{4, 2, 17, 6}}, {"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_umaxtries", []_C_int{4, 24, 30, 9}}, {"net.inet6.icmp6.redirtimeout", []_C_int{4, 24, 30, 3}}, {"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.mforwarding", []_C_int{4, 24, 17, 42}}, {"net.inet6.ip6.mrtmfc", []_C_int{4, 24, 17, 53}}, {"net.inet6.ip6.mrtmif", []_C_int{4, 24, 17, 52}}, {"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.soiikey", []_C_int{4, 24, 17, 54}}, {"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.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.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.malloc_conf", []_C_int{2, 12}}, {"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}}, } dependencies/pkg/mod/golang.org/x/sys@v0.26.0/unix/types_openbsd.go0000644000000000000000000001274715107355264024031 0ustar rootroot// 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. //go: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 #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 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 // File system limits const ( PathMax = C.PATH_MAX ) // 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 SizeofIovec = C.sizeof_struct_iovec 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 // 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 type Winsize C.struct_winsize // fchmodat-like syscalls. const ( AT_FDCWD = C.AT_FDCWD AT_EACCESS = C.AT_EACCESS AT_SYMLINK_NOFOLLOW = C.AT_SYMLINK_NOFOLLOW AT_SYMLINK_FOLLOW = C.AT_SYMLINK_FOLLOW AT_REMOVEDIR = C.AT_REMOVEDIR ) // poll type PollFd C.struct_pollfd const ( POLLERR = C.POLLERR POLLHUP = C.POLLHUP POLLIN = C.POLLIN POLLNVAL = C.POLLNVAL POLLOUT = C.POLLOUT POLLPRI = C.POLLPRI POLLRDBAND = C.POLLRDBAND POLLRDNORM = C.POLLRDNORM POLLWRBAND = C.POLLWRBAND POLLWRNORM = C.POLLWRNORM ) // Signal Sets type Sigset_t C.sigset_t // Uname type Utsname C.struct_utsname // Uvmexp const SizeofUvmexp = C.sizeof_struct_uvmexp type Uvmexp C.struct_uvmexp // Clockinfo const SizeofClockinfo = C.sizeof_struct_clockinfo type Clockinfo C.struct_clockinfo dependencies/pkg/mod/golang.org/x/sys@v0.26.0/unix/sysvshm_unix.go0000644000000000000000000000266015107355264023723 0ustar rootroot// Copyright 2021 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:build (darwin && !ios) || linux || zos package unix import "unsafe" // SysvShmAttach attaches the Sysv shared memory segment associated with the // shared memory identifier id. func SysvShmAttach(id int, addr uintptr, flag int) ([]byte, error) { addr, errno := shmat(id, addr, flag) if errno != nil { return nil, errno } // Retrieve the size of the shared memory to enable slice creation var info SysvShmDesc _, err := SysvShmCtl(id, IPC_STAT, &info) if err != nil { // release the shared memory if we can't find the size // ignoring error from shmdt as there's nothing sensible to return here shmdt(addr) return nil, err } // Use unsafe to convert addr into a []byte. b := unsafe.Slice((*byte)(unsafe.Pointer(addr)), int(info.Segsz)) return b, nil } // SysvShmDetach unmaps the shared memory slice returned from SysvShmAttach. // // It is not safe to use the slice after calling this function. func SysvShmDetach(data []byte) error { if len(data) == 0 { return EINVAL } return shmdt(uintptr(unsafe.Pointer(&data[0]))) } // SysvShmGet returns the Sysv shared memory identifier associated with key. // If the IPC_CREAT flag is specified a new segment is created. func SysvShmGet(key, size, flag int) (id int, err error) { return shmget(key, size, flag) } dependencies/pkg/mod/golang.org/x/sys@v0.26.0/unix/ztypes_linux_amd64.go0000644000000000000000000003066615107355264024723 0ustar rootroot// cgo -godefs -objdir=/tmp/amd64/cgo -- -Wall -Werror -static -I/tmp/amd64/include -m64 linux/types.go | go run mkpost.go // Code generated by the command above; see README.md. DO NOT EDIT. //go:build amd64 && linux package unix const ( SizeofPtr = 0x8 SizeofLong = 0x8 ) type ( _C_long int64 ) type Timespec struct { Sec int64 Nsec int64 } type Timeval struct { Sec int64 Usec int64 } type Timex struct { Modes uint32 Offset int64 Freq int64 Maxerror int64 Esterror int64 Status int32 Constant int64 Precision int64 Tolerance int64 Time Timeval Tick int64 Ppsfreq int64 Jitter int64 Shift int32 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 Stat_t struct { Dev uint64 Ino uint64 Nlink uint64 Mode uint32 Uid uint32 Gid uint32 _ int32 Rdev uint64 Size int64 Blksize int64 Blocks int64 Atim Timespec Mtim Timespec Ctim Timespec _ [3]int64 } type Dirent struct { Ino uint64 Off int64 Reclen uint16 Type uint8 Name [256]int8 _ [5]byte } type Flock_t struct { Type int16 Whence int16 Start int64 Len int64 Pid int32 _ [4]byte } type DmNameList struct { Dev uint64 Next uint32 Name [0]byte _ [4]byte } const ( FADV_DONTNEED = 0x4 FADV_NOREUSE = 0x5 ) type RawSockaddrNFCLLCP struct { Sa_family uint16 Dev_idx uint32 Target_idx uint32 Nfc_protocol uint32 Dsap uint8 Ssap uint8 Service_name [63]uint8 Service_name_len uint64 } type RawSockaddr struct { Family uint16 Data [14]int8 } type RawSockaddrAny struct { Addr RawSockaddr Pad [96]int8 } type Iovec struct { Base *byte Len uint64 } type Msghdr struct { Name *byte Namelen uint32 Iov *Iovec Iovlen uint64 Control *byte Controllen uint64 Flags int32 _ [4]byte } type Cmsghdr struct { Len uint64 Level int32 Type int32 } type ifreq struct { Ifrn [16]byte Ifru [24]byte } const ( SizeofSockaddrNFCLLCP = 0x60 SizeofIovec = 0x10 SizeofMsghdr = 0x38 SizeofCmsghdr = 0x10 ) const ( SizeofSockFprog = 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 Totalhigh uint64 Freehigh uint64 Unit uint32 _ [0]int8 _ [4]byte } type Ustat_t struct { Tfree int32 Tinode uint64 Fname [6]int8 Fpack [6]int8 _ [4]byte } type EpollEvent struct { Events uint32 Fd int32 Pad int32 } const ( OPEN_TREE_CLOEXEC = 0x80000 ) const ( POLLRDHUP = 0x2000 ) type Sigset_t struct { Val [16]uint64 } const _C__NSIG = 0x41 const ( SIG_BLOCK = 0x0 SIG_UNBLOCK = 0x1 SIG_SETMASK = 0x2 ) type Siginfo struct { Signo int32 Errno int32 Code int32 _ int32 _ [112]byte } type Termios struct { Iflag uint32 Oflag uint32 Cflag uint32 Lflag uint32 Line uint8 Cc [19]uint8 Ispeed uint32 Ospeed uint32 } type Taskstats struct { Version uint16 Ac_exitcode uint32 Ac_flag uint8 Ac_nice uint8 Cpu_count uint64 Cpu_delay_total uint64 Blkio_count uint64 Blkio_delay_total uint64 Swapin_count uint64 Swapin_delay_total uint64 Cpu_run_real_total uint64 Cpu_run_virtual_total uint64 Ac_comm [32]int8 Ac_sched uint8 Ac_pad [3]uint8 _ [4]byte Ac_uid uint32 Ac_gid uint32 Ac_pid uint32 Ac_ppid uint32 Ac_btime uint32 Ac_etime uint64 Ac_utime uint64 Ac_stime uint64 Ac_minflt uint64 Ac_majflt uint64 Coremem uint64 Virtmem uint64 Hiwater_rss uint64 Hiwater_vm uint64 Read_char uint64 Write_char uint64 Read_syscalls uint64 Write_syscalls uint64 Read_bytes uint64 Write_bytes uint64 Cancelled_write_bytes uint64 Nvcsw uint64 Nivcsw uint64 Ac_utimescaled uint64 Ac_stimescaled uint64 Cpu_scaled_run_real_total uint64 Freepages_count uint64 Freepages_delay_total uint64 Thrashing_count uint64 Thrashing_delay_total uint64 Ac_btime64 uint64 Compact_count uint64 Compact_delay_total uint64 Ac_tgid uint32 Ac_tgetime uint64 Ac_exe_dev uint64 Ac_exe_inode uint64 Wpcopy_count uint64 Wpcopy_delay_total uint64 Irq_count uint64 Irq_delay_total uint64 } type cpuMask uint64 const ( _NCPUBITS = 0x40 ) const ( CBitFieldMaskBit0 = 0x1 CBitFieldMaskBit1 = 0x2 CBitFieldMaskBit2 = 0x4 CBitFieldMaskBit3 = 0x8 CBitFieldMaskBit4 = 0x10 CBitFieldMaskBit5 = 0x20 CBitFieldMaskBit6 = 0x40 CBitFieldMaskBit7 = 0x80 CBitFieldMaskBit8 = 0x100 CBitFieldMaskBit9 = 0x200 CBitFieldMaskBit10 = 0x400 CBitFieldMaskBit11 = 0x800 CBitFieldMaskBit12 = 0x1000 CBitFieldMaskBit13 = 0x2000 CBitFieldMaskBit14 = 0x4000 CBitFieldMaskBit15 = 0x8000 CBitFieldMaskBit16 = 0x10000 CBitFieldMaskBit17 = 0x20000 CBitFieldMaskBit18 = 0x40000 CBitFieldMaskBit19 = 0x80000 CBitFieldMaskBit20 = 0x100000 CBitFieldMaskBit21 = 0x200000 CBitFieldMaskBit22 = 0x400000 CBitFieldMaskBit23 = 0x800000 CBitFieldMaskBit24 = 0x1000000 CBitFieldMaskBit25 = 0x2000000 CBitFieldMaskBit26 = 0x4000000 CBitFieldMaskBit27 = 0x8000000 CBitFieldMaskBit28 = 0x10000000 CBitFieldMaskBit29 = 0x20000000 CBitFieldMaskBit30 = 0x40000000 CBitFieldMaskBit31 = 0x80000000 CBitFieldMaskBit32 = 0x100000000 CBitFieldMaskBit33 = 0x200000000 CBitFieldMaskBit34 = 0x400000000 CBitFieldMaskBit35 = 0x800000000 CBitFieldMaskBit36 = 0x1000000000 CBitFieldMaskBit37 = 0x2000000000 CBitFieldMaskBit38 = 0x4000000000 CBitFieldMaskBit39 = 0x8000000000 CBitFieldMaskBit40 = 0x10000000000 CBitFieldMaskBit41 = 0x20000000000 CBitFieldMaskBit42 = 0x40000000000 CBitFieldMaskBit43 = 0x80000000000 CBitFieldMaskBit44 = 0x100000000000 CBitFieldMaskBit45 = 0x200000000000 CBitFieldMaskBit46 = 0x400000000000 CBitFieldMaskBit47 = 0x800000000000 CBitFieldMaskBit48 = 0x1000000000000 CBitFieldMaskBit49 = 0x2000000000000 CBitFieldMaskBit50 = 0x4000000000000 CBitFieldMaskBit51 = 0x8000000000000 CBitFieldMaskBit52 = 0x10000000000000 CBitFieldMaskBit53 = 0x20000000000000 CBitFieldMaskBit54 = 0x40000000000000 CBitFieldMaskBit55 = 0x80000000000000 CBitFieldMaskBit56 = 0x100000000000000 CBitFieldMaskBit57 = 0x200000000000000 CBitFieldMaskBit58 = 0x400000000000000 CBitFieldMaskBit59 = 0x800000000000000 CBitFieldMaskBit60 = 0x1000000000000000 CBitFieldMaskBit61 = 0x2000000000000000 CBitFieldMaskBit62 = 0x4000000000000000 CBitFieldMaskBit63 = 0x8000000000000000 ) type SockaddrStorage struct { Family uint16 Data [118]byte _ uint64 } type HDGeometry struct { Heads uint8 Sectors uint8 Cylinders uint16 Start 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 TpacketHdr struct { Status uint64 Len uint32 Snaplen uint32 Mac uint16 Net uint16 Sec uint32 Usec uint32 _ [4]byte } const ( SizeofTpacketHdr = 0x20 ) type RTCPLLInfo struct { Ctrl int32 Value int32 Max int32 Min int32 Posmult int32 Negmult int32 Clock int64 } type BlkpgPartition struct { Start int64 Length int64 Pno int32 Devname [64]uint8 Volname [64]uint8 _ [4]byte } const ( BLKPG = 0x1269 ) type CryptoUserAlg struct { Name [64]int8 Driver_name [64]int8 Module_name [64]int8 Type uint32 Mask uint32 Refcnt uint32 Flags uint32 } type CryptoStatAEAD struct { Type [64]int8 Encrypt_cnt uint64 Encrypt_tlen uint64 Decrypt_cnt uint64 Decrypt_tlen uint64 Err_cnt uint64 } type CryptoStatAKCipher struct { Type [64]int8 Encrypt_cnt uint64 Encrypt_tlen uint64 Decrypt_cnt uint64 Decrypt_tlen uint64 Verify_cnt uint64 Sign_cnt uint64 Err_cnt uint64 } type CryptoStatCipher struct { Type [64]int8 Encrypt_cnt uint64 Encrypt_tlen uint64 Decrypt_cnt uint64 Decrypt_tlen uint64 Err_cnt uint64 } type CryptoStatCompress struct { Type [64]int8 Compress_cnt uint64 Compress_tlen uint64 Decompress_cnt uint64 Decompress_tlen uint64 Err_cnt uint64 } type CryptoStatHash struct { Type [64]int8 Hash_cnt uint64 Hash_tlen uint64 Err_cnt uint64 } type CryptoStatKPP struct { Type [64]int8 Setsecret_cnt uint64 Generate_public_key_cnt uint64 Compute_shared_secret_cnt uint64 Err_cnt uint64 } type CryptoStatRNG struct { Type [64]int8 Generate_cnt uint64 Generate_tlen uint64 Seed_cnt uint64 Err_cnt uint64 } type CryptoStatLarval struct { Type [64]int8 } type CryptoReportLarval struct { Type [64]int8 } type CryptoReportHash struct { Type [64]int8 Blocksize uint32 Digestsize uint32 } type CryptoReportCipher struct { Type [64]int8 Blocksize uint32 Min_keysize uint32 Max_keysize uint32 } type CryptoReportBlkCipher struct { Type [64]int8 Geniv [64]int8 Blocksize uint32 Min_keysize uint32 Max_keysize uint32 Ivsize uint32 } type CryptoReportAEAD struct { Type [64]int8 Geniv [64]int8 Blocksize uint32 Maxauthsize uint32 Ivsize uint32 } type CryptoReportComp struct { Type [64]int8 } type CryptoReportRNG struct { Type [64]int8 Seedsize uint32 } type CryptoReportAKCipher struct { Type [64]int8 } type CryptoReportKPP struct { Type [64]int8 } type CryptoReportAcomp struct { Type [64]int8 } type LoopInfo struct { Number int32 Device uint64 Inode uint64 Rdevice uint64 Offset int32 Encrypt_type int32 Encrypt_key_size int32 Flags int32 Name [64]int8 Encrypt_key [32]uint8 Init [2]uint64 Reserved [4]int8 _ [4]byte } type TIPCSubscr struct { Seq TIPCServiceRange Timeout uint32 Filter uint32 Handle [8]int8 } type TIPCSIOCLNReq struct { Peer uint32 Id uint32 Linkname [68]int8 } type TIPCSIOCNodeIDReq struct { Peer uint32 Id [16]int8 } type PPSKInfo struct { Assert_sequence uint32 Clear_sequence uint32 Assert_tu PPSKTime Clear_tu PPSKTime Current_mode int32 _ [4]byte } const ( PPS_GETPARAMS = 0x800870a1 PPS_SETPARAMS = 0x400870a2 PPS_GETCAP = 0x800870a3 PPS_FETCH = 0xc00870a4 ) const ( PIDFD_NONBLOCK = 0x800 ) type SysvIpcPerm struct { Key int32 Uid uint32 Gid uint32 Cuid uint32 Cgid uint32 Mode uint32 _ [0]uint8 Seq uint16 _ uint16 _ uint64 _ uint64 } type SysvShmDesc struct { Perm SysvIpcPerm Segsz uint64 Atime int64 Dtime int64 Ctime int64 Cpid int32 Lpid int32 Nattch uint64 _ uint64 _ uint64 } dependencies/pkg/mod/golang.org/x/sys@v0.26.0/unix/zsyscall_openbsd_386.go0000644000000000000000000016440615107355264025131 0ustar rootroot// go run mksyscall.go -l32 -openbsd -libc -tags openbsd,386 syscall_bsd.go syscall_openbsd.go syscall_openbsd_386.go // Code generated by the command above; see README.md. DO NOT EDIT. //go: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 := syscall_rawSyscall(libc_getgroups_trampoline_addr, uintptr(ngid), uintptr(unsafe.Pointer(gid)), 0) n = int(r0) if e1 != 0 { err = errnoErr(e1) } return } var libc_getgroups_trampoline_addr uintptr //go:cgo_import_dynamic libc_getgroups getgroups "libc.so" // THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT func setgroups(ngid int, gid *_Gid_t) (err error) { _, _, e1 := syscall_rawSyscall(libc_setgroups_trampoline_addr, uintptr(ngid), uintptr(unsafe.Pointer(gid)), 0) if e1 != 0 { err = errnoErr(e1) } return } var libc_setgroups_trampoline_addr uintptr //go:cgo_import_dynamic libc_setgroups setgroups "libc.so" // 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 := syscall_syscall6(libc_wait4_trampoline_addr, uintptr(pid), uintptr(unsafe.Pointer(wstatus)), uintptr(options), uintptr(unsafe.Pointer(rusage)), 0, 0) wpid = int(r0) if e1 != 0 { err = errnoErr(e1) } return } var libc_wait4_trampoline_addr uintptr //go:cgo_import_dynamic libc_wait4 wait4 "libc.so" // 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_syscall(libc_accept_trampoline_addr, uintptr(s), uintptr(unsafe.Pointer(rsa)), uintptr(unsafe.Pointer(addrlen))) fd = int(r0) if e1 != 0 { err = errnoErr(e1) } return } var libc_accept_trampoline_addr uintptr //go:cgo_import_dynamic libc_accept accept "libc.so" // 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_syscall(libc_bind_trampoline_addr, uintptr(s), uintptr(addr), uintptr(addrlen)) if e1 != 0 { err = errnoErr(e1) } return } var libc_bind_trampoline_addr uintptr //go:cgo_import_dynamic libc_bind bind "libc.so" // 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_syscall(libc_connect_trampoline_addr, uintptr(s), uintptr(addr), uintptr(addrlen)) if e1 != 0 { err = errnoErr(e1) } return } var libc_connect_trampoline_addr uintptr //go:cgo_import_dynamic libc_connect connect "libc.so" // 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 := syscall_rawSyscall(libc_socket_trampoline_addr, uintptr(domain), uintptr(typ), uintptr(proto)) fd = int(r0) if e1 != 0 { err = errnoErr(e1) } return } var libc_socket_trampoline_addr uintptr //go:cgo_import_dynamic libc_socket socket "libc.so" // 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 := syscall_syscall6(libc_getsockopt_trampoline_addr, uintptr(s), uintptr(level), uintptr(name), uintptr(val), uintptr(unsafe.Pointer(vallen)), 0) if e1 != 0 { err = errnoErr(e1) } return } var libc_getsockopt_trampoline_addr uintptr //go:cgo_import_dynamic libc_getsockopt getsockopt "libc.so" // 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 := syscall_syscall6(libc_setsockopt_trampoline_addr, uintptr(s), uintptr(level), uintptr(name), uintptr(val), uintptr(vallen), 0) if e1 != 0 { err = errnoErr(e1) } return } var libc_setsockopt_trampoline_addr uintptr //go:cgo_import_dynamic libc_setsockopt setsockopt "libc.so" // THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT func getpeername(fd int, rsa *RawSockaddrAny, addrlen *_Socklen) (err error) { _, _, e1 := syscall_rawSyscall(libc_getpeername_trampoline_addr, uintptr(fd), uintptr(unsafe.Pointer(rsa)), uintptr(unsafe.Pointer(addrlen))) if e1 != 0 { err = errnoErr(e1) } return } var libc_getpeername_trampoline_addr uintptr //go:cgo_import_dynamic libc_getpeername getpeername "libc.so" // THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT func getsockname(fd int, rsa *RawSockaddrAny, addrlen *_Socklen) (err error) { _, _, e1 := syscall_rawSyscall(libc_getsockname_trampoline_addr, uintptr(fd), uintptr(unsafe.Pointer(rsa)), uintptr(unsafe.Pointer(addrlen))) if e1 != 0 { err = errnoErr(e1) } return } var libc_getsockname_trampoline_addr uintptr //go:cgo_import_dynamic libc_getsockname getsockname "libc.so" // THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT func Shutdown(s int, how int) (err error) { _, _, e1 := syscall_syscall(libc_shutdown_trampoline_addr, uintptr(s), uintptr(how), 0) if e1 != 0 { err = errnoErr(e1) } return } var libc_shutdown_trampoline_addr uintptr //go:cgo_import_dynamic libc_shutdown shutdown "libc.so" // 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 := syscall_rawSyscall6(libc_socketpair_trampoline_addr, uintptr(domain), uintptr(typ), uintptr(proto), uintptr(unsafe.Pointer(fd)), 0, 0) if e1 != 0 { err = errnoErr(e1) } return } var libc_socketpair_trampoline_addr uintptr //go:cgo_import_dynamic libc_socketpair socketpair "libc.so" // 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 := syscall_syscall6(libc_recvfrom_trampoline_addr, 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 } var libc_recvfrom_trampoline_addr uintptr //go:cgo_import_dynamic libc_recvfrom recvfrom "libc.so" // 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 := syscall_syscall6(libc_sendto_trampoline_addr, uintptr(s), uintptr(_p0), uintptr(len(buf)), uintptr(flags), uintptr(to), uintptr(addrlen)) if e1 != 0 { err = errnoErr(e1) } return } var libc_sendto_trampoline_addr uintptr //go:cgo_import_dynamic libc_sendto sendto "libc.so" // 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_syscall(libc_recvmsg_trampoline_addr, uintptr(s), uintptr(unsafe.Pointer(msg)), uintptr(flags)) n = int(r0) if e1 != 0 { err = errnoErr(e1) } return } var libc_recvmsg_trampoline_addr uintptr //go:cgo_import_dynamic libc_recvmsg recvmsg "libc.so" // 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_syscall(libc_sendmsg_trampoline_addr, uintptr(s), uintptr(unsafe.Pointer(msg)), uintptr(flags)) n = int(r0) if e1 != 0 { err = errnoErr(e1) } return } var libc_sendmsg_trampoline_addr uintptr //go:cgo_import_dynamic libc_sendmsg sendmsg "libc.so" // 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 := syscall_syscall6(libc_kevent_trampoline_addr, uintptr(kq), uintptr(change), uintptr(nchange), uintptr(event), uintptr(nevent), uintptr(unsafe.Pointer(timeout))) n = int(r0) if e1 != 0 { err = errnoErr(e1) } return } var libc_kevent_trampoline_addr uintptr //go:cgo_import_dynamic libc_kevent kevent "libc.so" // 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_syscall(libc_utimes_trampoline_addr, uintptr(unsafe.Pointer(_p0)), uintptr(unsafe.Pointer(timeval)), 0) if e1 != 0 { err = errnoErr(e1) } return } var libc_utimes_trampoline_addr uintptr //go:cgo_import_dynamic libc_utimes utimes "libc.so" // THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT func futimes(fd int, timeval *[2]Timeval) (err error) { _, _, e1 := syscall_syscall(libc_futimes_trampoline_addr, uintptr(fd), uintptr(unsafe.Pointer(timeval)), 0) if e1 != 0 { err = errnoErr(e1) } return } var libc_futimes_trampoline_addr uintptr //go:cgo_import_dynamic libc_futimes futimes "libc.so" // 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_syscall(libc_poll_trampoline_addr, uintptr(unsafe.Pointer(fds)), uintptr(nfds), uintptr(timeout)) n = int(r0) if e1 != 0 { err = errnoErr(e1) } return } var libc_poll_trampoline_addr uintptr //go:cgo_import_dynamic libc_poll poll "libc.so" // THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT func Madvise(b []byte, behav int) (err error) { var _p0 unsafe.Pointer if len(b) > 0 { _p0 = unsafe.Pointer(&b[0]) } else { _p0 = unsafe.Pointer(&_zero) } _, _, e1 := syscall_syscall(libc_madvise_trampoline_addr, uintptr(_p0), uintptr(len(b)), uintptr(behav)) if e1 != 0 { err = errnoErr(e1) } return } var libc_madvise_trampoline_addr uintptr //go:cgo_import_dynamic libc_madvise madvise "libc.so" // 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_syscall(libc_mlock_trampoline_addr, uintptr(_p0), uintptr(len(b)), 0) if e1 != 0 { err = errnoErr(e1) } return } var libc_mlock_trampoline_addr uintptr //go:cgo_import_dynamic libc_mlock mlock "libc.so" // THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT func Mlockall(flags int) (err error) { _, _, e1 := syscall_syscall(libc_mlockall_trampoline_addr, uintptr(flags), 0, 0) if e1 != 0 { err = errnoErr(e1) } return } var libc_mlockall_trampoline_addr uintptr //go:cgo_import_dynamic libc_mlockall mlockall "libc.so" // 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_syscall(libc_mprotect_trampoline_addr, uintptr(_p0), uintptr(len(b)), uintptr(prot)) if e1 != 0 { err = errnoErr(e1) } return } var libc_mprotect_trampoline_addr uintptr //go:cgo_import_dynamic libc_mprotect mprotect "libc.so" // THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT func Msync(b []byte, flags int) (err error) { var _p0 unsafe.Pointer if len(b) > 0 { _p0 = unsafe.Pointer(&b[0]) } else { _p0 = unsafe.Pointer(&_zero) } _, _, e1 := syscall_syscall(libc_msync_trampoline_addr, uintptr(_p0), uintptr(len(b)), uintptr(flags)) if e1 != 0 { err = errnoErr(e1) } return } var libc_msync_trampoline_addr uintptr //go:cgo_import_dynamic libc_msync msync "libc.so" // 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_syscall(libc_munlock_trampoline_addr, uintptr(_p0), uintptr(len(b)), 0) if e1 != 0 { err = errnoErr(e1) } return } var libc_munlock_trampoline_addr uintptr //go:cgo_import_dynamic libc_munlock munlock "libc.so" // THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT func Munlockall() (err error) { _, _, e1 := syscall_syscall(libc_munlockall_trampoline_addr, 0, 0, 0) if e1 != 0 { err = errnoErr(e1) } return } var libc_munlockall_trampoline_addr uintptr //go:cgo_import_dynamic libc_munlockall munlockall "libc.so" // THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT func pipe2(p *[2]_C_int, flags int) (err error) { _, _, e1 := syscall_rawSyscall(libc_pipe2_trampoline_addr, uintptr(unsafe.Pointer(p)), uintptr(flags), 0) if e1 != 0 { err = errnoErr(e1) } return } var libc_pipe2_trampoline_addr uintptr //go:cgo_import_dynamic libc_pipe2 pipe2 "libc.so" // 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_syscall(libc_getdents_trampoline_addr, uintptr(fd), uintptr(_p0), uintptr(len(buf))) n = int(r0) if e1 != 0 { err = errnoErr(e1) } return } var libc_getdents_trampoline_addr uintptr //go:cgo_import_dynamic libc_getdents getdents "libc.so" // 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_syscall(libc_getcwd_trampoline_addr, uintptr(_p0), uintptr(len(buf)), 0) n = int(r0) if e1 != 0 { err = errnoErr(e1) } return } var libc_getcwd_trampoline_addr uintptr //go:cgo_import_dynamic libc_getcwd getcwd "libc.so" // THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT func getresuid(ruid *_C_int, euid *_C_int, suid *_C_int) { syscall_rawSyscall(libc_getresuid_trampoline_addr, uintptr(unsafe.Pointer(ruid)), uintptr(unsafe.Pointer(euid)), uintptr(unsafe.Pointer(suid))) return } var libc_getresuid_trampoline_addr uintptr //go:cgo_import_dynamic libc_getresuid getresuid "libc.so" // THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT func getresgid(rgid *_C_int, egid *_C_int, sgid *_C_int) { syscall_rawSyscall(libc_getresgid_trampoline_addr, uintptr(unsafe.Pointer(rgid)), uintptr(unsafe.Pointer(egid)), uintptr(unsafe.Pointer(sgid))) return } var libc_getresgid_trampoline_addr uintptr //go:cgo_import_dynamic libc_getresgid getresgid "libc.so" // 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_syscall(libc_ioctl_trampoline_addr, uintptr(fd), uintptr(req), uintptr(arg)) if e1 != 0 { err = errnoErr(e1) } return } var libc_ioctl_trampoline_addr uintptr //go:cgo_import_dynamic libc_ioctl ioctl "libc.so" // THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT func ioctlPtr(fd int, req uint, arg unsafe.Pointer) (err error) { _, _, e1 := syscall_syscall(libc_ioctl_trampoline_addr, 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 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 := syscall_syscall6(libc_sysctl_trampoline_addr, 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 } var libc_sysctl_trampoline_addr uintptr //go:cgo_import_dynamic libc_sysctl sysctl "libc.so" // THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT func fcntl(fd int, cmd int, arg int) (n int, err error) { r0, _, e1 := syscall_syscall(libc_fcntl_trampoline_addr, uintptr(fd), uintptr(cmd), uintptr(arg)) n = int(r0) if e1 != 0 { err = errnoErr(e1) } return } var libc_fcntl_trampoline_addr uintptr //go:cgo_import_dynamic libc_fcntl fcntl "libc.so" // THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT func fcntlPtr(fd int, cmd int, arg unsafe.Pointer) (n int, err error) { r0, _, e1 := syscall_syscall(libc_fcntl_trampoline_addr, uintptr(fd), uintptr(cmd), uintptr(arg)) n = 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 := syscall_syscall6(libc_ppoll_trampoline_addr, 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 } var libc_ppoll_trampoline_addr uintptr //go:cgo_import_dynamic libc_ppoll ppoll "libc.so" // 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_syscall(libc_access_trampoline_addr, uintptr(unsafe.Pointer(_p0)), uintptr(mode), 0) if e1 != 0 { err = errnoErr(e1) } return } var libc_access_trampoline_addr uintptr //go:cgo_import_dynamic libc_access access "libc.so" // THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT func Adjtime(delta *Timeval, olddelta *Timeval) (err error) { _, _, e1 := syscall_syscall(libc_adjtime_trampoline_addr, uintptr(unsafe.Pointer(delta)), uintptr(unsafe.Pointer(olddelta)), 0) if e1 != 0 { err = errnoErr(e1) } return } var libc_adjtime_trampoline_addr uintptr //go:cgo_import_dynamic libc_adjtime adjtime "libc.so" // 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_syscall(libc_chdir_trampoline_addr, uintptr(unsafe.Pointer(_p0)), 0, 0) if e1 != 0 { err = errnoErr(e1) } return } var libc_chdir_trampoline_addr uintptr //go:cgo_import_dynamic libc_chdir chdir "libc.so" // 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_syscall(libc_chflags_trampoline_addr, uintptr(unsafe.Pointer(_p0)), uintptr(flags), 0) if e1 != 0 { err = errnoErr(e1) } return } var libc_chflags_trampoline_addr uintptr //go:cgo_import_dynamic libc_chflags chflags "libc.so" // 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_syscall(libc_chmod_trampoline_addr, uintptr(unsafe.Pointer(_p0)), uintptr(mode), 0) if e1 != 0 { err = errnoErr(e1) } return } var libc_chmod_trampoline_addr uintptr //go:cgo_import_dynamic libc_chmod chmod "libc.so" // 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_syscall(libc_chown_trampoline_addr, uintptr(unsafe.Pointer(_p0)), uintptr(uid), uintptr(gid)) if e1 != 0 { err = errnoErr(e1) } return } var libc_chown_trampoline_addr uintptr //go:cgo_import_dynamic libc_chown chown "libc.so" // 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_syscall(libc_chroot_trampoline_addr, uintptr(unsafe.Pointer(_p0)), 0, 0) if e1 != 0 { err = errnoErr(e1) } return } var libc_chroot_trampoline_addr uintptr //go:cgo_import_dynamic libc_chroot chroot "libc.so" // THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT func ClockGettime(clockid int32, time *Timespec) (err error) { _, _, e1 := syscall_syscall(libc_clock_gettime_trampoline_addr, uintptr(clockid), uintptr(unsafe.Pointer(time)), 0) if e1 != 0 { err = errnoErr(e1) } return } var libc_clock_gettime_trampoline_addr uintptr //go:cgo_import_dynamic libc_clock_gettime clock_gettime "libc.so" // THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT func Close(fd int) (err error) { _, _, e1 := syscall_syscall(libc_close_trampoline_addr, uintptr(fd), 0, 0) if e1 != 0 { err = errnoErr(e1) } return } var libc_close_trampoline_addr uintptr //go:cgo_import_dynamic libc_close close "libc.so" // THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT func Dup(fd int) (nfd int, err error) { r0, _, e1 := syscall_syscall(libc_dup_trampoline_addr, uintptr(fd), 0, 0) nfd = int(r0) if e1 != 0 { err = errnoErr(e1) } return } var libc_dup_trampoline_addr uintptr //go:cgo_import_dynamic libc_dup dup "libc.so" // THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT func Dup2(from int, to int) (err error) { _, _, e1 := syscall_syscall(libc_dup2_trampoline_addr, uintptr(from), uintptr(to), 0) if e1 != 0 { err = errnoErr(e1) } return } var libc_dup2_trampoline_addr uintptr //go:cgo_import_dynamic libc_dup2 dup2 "libc.so" // THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT func Dup3(from int, to int, flags int) (err error) { _, _, e1 := syscall_syscall(libc_dup3_trampoline_addr, uintptr(from), uintptr(to), uintptr(flags)) if e1 != 0 { err = errnoErr(e1) } return } var libc_dup3_trampoline_addr uintptr //go:cgo_import_dynamic libc_dup3 dup3 "libc.so" // THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT func Exit(code int) { syscall_syscall(libc_exit_trampoline_addr, uintptr(code), 0, 0) return } var libc_exit_trampoline_addr uintptr //go:cgo_import_dynamic libc_exit exit "libc.so" // 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 := syscall_syscall6(libc_faccessat_trampoline_addr, uintptr(dirfd), uintptr(unsafe.Pointer(_p0)), uintptr(mode), uintptr(flags), 0, 0) if e1 != 0 { err = errnoErr(e1) } return } var libc_faccessat_trampoline_addr uintptr //go:cgo_import_dynamic libc_faccessat faccessat "libc.so" // THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT func Fchdir(fd int) (err error) { _, _, e1 := syscall_syscall(libc_fchdir_trampoline_addr, uintptr(fd), 0, 0) if e1 != 0 { err = errnoErr(e1) } return } var libc_fchdir_trampoline_addr uintptr //go:cgo_import_dynamic libc_fchdir fchdir "libc.so" // THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT func Fchflags(fd int, flags int) (err error) { _, _, e1 := syscall_syscall(libc_fchflags_trampoline_addr, uintptr(fd), uintptr(flags), 0) if e1 != 0 { err = errnoErr(e1) } return } var libc_fchflags_trampoline_addr uintptr //go:cgo_import_dynamic libc_fchflags fchflags "libc.so" // THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT func Fchmod(fd int, mode uint32) (err error) { _, _, e1 := syscall_syscall(libc_fchmod_trampoline_addr, uintptr(fd), uintptr(mode), 0) if e1 != 0 { err = errnoErr(e1) } return } var libc_fchmod_trampoline_addr uintptr //go:cgo_import_dynamic libc_fchmod fchmod "libc.so" // 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 := syscall_syscall6(libc_fchmodat_trampoline_addr, uintptr(dirfd), uintptr(unsafe.Pointer(_p0)), uintptr(mode), uintptr(flags), 0, 0) if e1 != 0 { err = errnoErr(e1) } return } var libc_fchmodat_trampoline_addr uintptr //go:cgo_import_dynamic libc_fchmodat fchmodat "libc.so" // 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_syscall(libc_fchown_trampoline_addr, uintptr(fd), uintptr(uid), uintptr(gid)) if e1 != 0 { err = errnoErr(e1) } return } var libc_fchown_trampoline_addr uintptr //go:cgo_import_dynamic libc_fchown fchown "libc.so" // 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 := syscall_syscall6(libc_fchownat_trampoline_addr, uintptr(dirfd), uintptr(unsafe.Pointer(_p0)), uintptr(uid), uintptr(gid), uintptr(flags), 0) if e1 != 0 { err = errnoErr(e1) } return } var libc_fchownat_trampoline_addr uintptr //go:cgo_import_dynamic libc_fchownat fchownat "libc.so" // THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT func Flock(fd int, how int) (err error) { _, _, e1 := syscall_syscall(libc_flock_trampoline_addr, uintptr(fd), uintptr(how), 0) if e1 != 0 { err = errnoErr(e1) } return } var libc_flock_trampoline_addr uintptr //go:cgo_import_dynamic libc_flock flock "libc.so" // 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_syscall(libc_fpathconf_trampoline_addr, uintptr(fd), uintptr(name), 0) val = int(r0) if e1 != 0 { err = errnoErr(e1) } return } var libc_fpathconf_trampoline_addr uintptr //go:cgo_import_dynamic libc_fpathconf fpathconf "libc.so" // THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT func Fstat(fd int, stat *Stat_t) (err error) { _, _, e1 := syscall_syscall(libc_fstat_trampoline_addr, uintptr(fd), uintptr(unsafe.Pointer(stat)), 0) if e1 != 0 { err = errnoErr(e1) } return } var libc_fstat_trampoline_addr uintptr //go:cgo_import_dynamic libc_fstat fstat "libc.so" // 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 := syscall_syscall6(libc_fstatat_trampoline_addr, uintptr(fd), uintptr(unsafe.Pointer(_p0)), uintptr(unsafe.Pointer(stat)), uintptr(flags), 0, 0) if e1 != 0 { err = errnoErr(e1) } return } var libc_fstatat_trampoline_addr uintptr //go:cgo_import_dynamic libc_fstatat fstatat "libc.so" // THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT func Fstatfs(fd int, stat *Statfs_t) (err error) { _, _, e1 := syscall_syscall(libc_fstatfs_trampoline_addr, uintptr(fd), uintptr(unsafe.Pointer(stat)), 0) if e1 != 0 { err = errnoErr(e1) } return } var libc_fstatfs_trampoline_addr uintptr //go:cgo_import_dynamic libc_fstatfs fstatfs "libc.so" // THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT func Fsync(fd int) (err error) { _, _, e1 := syscall_syscall(libc_fsync_trampoline_addr, uintptr(fd), 0, 0) if e1 != 0 { err = errnoErr(e1) } return } var libc_fsync_trampoline_addr uintptr //go:cgo_import_dynamic libc_fsync fsync "libc.so" // THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT func Ftruncate(fd int, length int64) (err error) { _, _, e1 := syscall_syscall(libc_ftruncate_trampoline_addr, uintptr(fd), uintptr(length), uintptr(length>>32)) if e1 != 0 { err = errnoErr(e1) } return } var libc_ftruncate_trampoline_addr uintptr //go:cgo_import_dynamic libc_ftruncate ftruncate "libc.so" // THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT func Getegid() (egid int) { r0, _, _ := syscall_rawSyscall(libc_getegid_trampoline_addr, 0, 0, 0) egid = int(r0) return } var libc_getegid_trampoline_addr uintptr //go:cgo_import_dynamic libc_getegid getegid "libc.so" // THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT func Geteuid() (uid int) { r0, _, _ := syscall_rawSyscall(libc_geteuid_trampoline_addr, 0, 0, 0) uid = int(r0) return } var libc_geteuid_trampoline_addr uintptr //go:cgo_import_dynamic libc_geteuid geteuid "libc.so" // THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT func Getgid() (gid int) { r0, _, _ := syscall_rawSyscall(libc_getgid_trampoline_addr, 0, 0, 0) gid = int(r0) return } var libc_getgid_trampoline_addr uintptr //go:cgo_import_dynamic libc_getgid getgid "libc.so" // THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT func Getpgid(pid int) (pgid int, err error) { r0, _, e1 := syscall_rawSyscall(libc_getpgid_trampoline_addr, uintptr(pid), 0, 0) pgid = int(r0) if e1 != 0 { err = errnoErr(e1) } return } var libc_getpgid_trampoline_addr uintptr //go:cgo_import_dynamic libc_getpgid getpgid "libc.so" // THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT func Getpgrp() (pgrp int) { r0, _, _ := syscall_rawSyscall(libc_getpgrp_trampoline_addr, 0, 0, 0) pgrp = int(r0) return } var libc_getpgrp_trampoline_addr uintptr //go:cgo_import_dynamic libc_getpgrp getpgrp "libc.so" // THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT func Getpid() (pid int) { r0, _, _ := syscall_rawSyscall(libc_getpid_trampoline_addr, 0, 0, 0) pid = int(r0) return } var libc_getpid_trampoline_addr uintptr //go:cgo_import_dynamic libc_getpid getpid "libc.so" // THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT func Getppid() (ppid int) { r0, _, _ := syscall_rawSyscall(libc_getppid_trampoline_addr, 0, 0, 0) ppid = int(r0) return } var libc_getppid_trampoline_addr uintptr //go:cgo_import_dynamic libc_getppid getppid "libc.so" // 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_syscall(libc_getpriority_trampoline_addr, uintptr(which), uintptr(who), 0) prio = int(r0) if e1 != 0 { err = errnoErr(e1) } return } var libc_getpriority_trampoline_addr uintptr //go:cgo_import_dynamic libc_getpriority getpriority "libc.so" // THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT func Getrlimit(which int, lim *Rlimit) (err error) { _, _, e1 := syscall_rawSyscall(libc_getrlimit_trampoline_addr, uintptr(which), uintptr(unsafe.Pointer(lim)), 0) if e1 != 0 { err = errnoErr(e1) } return } var libc_getrlimit_trampoline_addr uintptr //go:cgo_import_dynamic libc_getrlimit getrlimit "libc.so" // THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT func Getrtable() (rtable int, err error) { r0, _, e1 := syscall_rawSyscall(libc_getrtable_trampoline_addr, 0, 0, 0) rtable = int(r0) if e1 != 0 { err = errnoErr(e1) } return } var libc_getrtable_trampoline_addr uintptr //go:cgo_import_dynamic libc_getrtable getrtable "libc.so" // THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT func Getrusage(who int, rusage *Rusage) (err error) { _, _, e1 := syscall_rawSyscall(libc_getrusage_trampoline_addr, uintptr(who), uintptr(unsafe.Pointer(rusage)), 0) if e1 != 0 { err = errnoErr(e1) } return } var libc_getrusage_trampoline_addr uintptr //go:cgo_import_dynamic libc_getrusage getrusage "libc.so" // THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT func Getsid(pid int) (sid int, err error) { r0, _, e1 := syscall_rawSyscall(libc_getsid_trampoline_addr, uintptr(pid), 0, 0) sid = int(r0) if e1 != 0 { err = errnoErr(e1) } return } var libc_getsid_trampoline_addr uintptr //go:cgo_import_dynamic libc_getsid getsid "libc.so" // THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT func Gettimeofday(tv *Timeval) (err error) { _, _, e1 := syscall_rawSyscall(libc_gettimeofday_trampoline_addr, uintptr(unsafe.Pointer(tv)), 0, 0) if e1 != 0 { err = errnoErr(e1) } return } var libc_gettimeofday_trampoline_addr uintptr //go:cgo_import_dynamic libc_gettimeofday gettimeofday "libc.so" // THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT func Getuid() (uid int) { r0, _, _ := syscall_rawSyscall(libc_getuid_trampoline_addr, 0, 0, 0) uid = int(r0) return } var libc_getuid_trampoline_addr uintptr //go:cgo_import_dynamic libc_getuid getuid "libc.so" // THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT func Issetugid() (tainted bool) { r0, _, _ := syscall_syscall(libc_issetugid_trampoline_addr, 0, 0, 0) tainted = bool(r0 != 0) return } var libc_issetugid_trampoline_addr uintptr //go:cgo_import_dynamic libc_issetugid issetugid "libc.so" // THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT func Kill(pid int, signum syscall.Signal) (err error) { _, _, e1 := syscall_syscall(libc_kill_trampoline_addr, uintptr(pid), uintptr(signum), 0) if e1 != 0 { err = errnoErr(e1) } return } var libc_kill_trampoline_addr uintptr //go:cgo_import_dynamic libc_kill kill "libc.so" // THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT func Kqueue() (fd int, err error) { r0, _, e1 := syscall_syscall(libc_kqueue_trampoline_addr, 0, 0, 0) fd = int(r0) if e1 != 0 { err = errnoErr(e1) } return } var libc_kqueue_trampoline_addr uintptr //go:cgo_import_dynamic libc_kqueue kqueue "libc.so" // 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_syscall(libc_lchown_trampoline_addr, uintptr(unsafe.Pointer(_p0)), uintptr(uid), uintptr(gid)) if e1 != 0 { err = errnoErr(e1) } return } var libc_lchown_trampoline_addr uintptr //go:cgo_import_dynamic libc_lchown lchown "libc.so" // 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_syscall(libc_link_trampoline_addr, uintptr(unsafe.Pointer(_p0)), uintptr(unsafe.Pointer(_p1)), 0) if e1 != 0 { err = errnoErr(e1) } return } var libc_link_trampoline_addr uintptr //go:cgo_import_dynamic libc_link link "libc.so" // THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT func Linkat(pathfd int, path string, linkfd int, link string, flags int) (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_syscall6(libc_linkat_trampoline_addr, uintptr(pathfd), uintptr(unsafe.Pointer(_p0)), uintptr(linkfd), uintptr(unsafe.Pointer(_p1)), uintptr(flags), 0) if e1 != 0 { err = errnoErr(e1) } return } var libc_linkat_trampoline_addr uintptr //go:cgo_import_dynamic libc_linkat linkat "libc.so" // THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT func Listen(s int, backlog int) (err error) { _, _, e1 := syscall_syscall(libc_listen_trampoline_addr, uintptr(s), uintptr(backlog), 0) if e1 != 0 { err = errnoErr(e1) } return } var libc_listen_trampoline_addr uintptr //go:cgo_import_dynamic libc_listen listen "libc.so" // 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_syscall(libc_lstat_trampoline_addr, uintptr(unsafe.Pointer(_p0)), uintptr(unsafe.Pointer(stat)), 0) if e1 != 0 { err = errnoErr(e1) } return } var libc_lstat_trampoline_addr uintptr //go:cgo_import_dynamic libc_lstat lstat "libc.so" // 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_syscall(libc_mkdir_trampoline_addr, uintptr(unsafe.Pointer(_p0)), uintptr(mode), 0) if e1 != 0 { err = errnoErr(e1) } return } var libc_mkdir_trampoline_addr uintptr //go:cgo_import_dynamic libc_mkdir mkdir "libc.so" // 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_syscall(libc_mkdirat_trampoline_addr, uintptr(dirfd), uintptr(unsafe.Pointer(_p0)), uintptr(mode)) if e1 != 0 { err = errnoErr(e1) } return } var libc_mkdirat_trampoline_addr uintptr //go:cgo_import_dynamic libc_mkdirat mkdirat "libc.so" // 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_syscall(libc_mkfifo_trampoline_addr, uintptr(unsafe.Pointer(_p0)), uintptr(mode), 0) if e1 != 0 { err = errnoErr(e1) } return } var libc_mkfifo_trampoline_addr uintptr //go:cgo_import_dynamic libc_mkfifo mkfifo "libc.so" // THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT func Mkfifoat(dirfd int, path string, mode uint32) (err error) { var _p0 *byte _p0, err = BytePtrFromString(path) if err != nil { return } _, _, e1 := syscall_syscall(libc_mkfifoat_trampoline_addr, uintptr(dirfd), uintptr(unsafe.Pointer(_p0)), uintptr(mode)) if e1 != 0 { err = errnoErr(e1) } return } var libc_mkfifoat_trampoline_addr uintptr //go:cgo_import_dynamic libc_mkfifoat mkfifoat "libc.so" // 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_syscall(libc_mknod_trampoline_addr, uintptr(unsafe.Pointer(_p0)), uintptr(mode), uintptr(dev)) if e1 != 0 { err = errnoErr(e1) } return } var libc_mknod_trampoline_addr uintptr //go:cgo_import_dynamic libc_mknod mknod "libc.so" // 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 := syscall_syscall6(libc_mknodat_trampoline_addr, uintptr(dirfd), uintptr(unsafe.Pointer(_p0)), uintptr(mode), uintptr(dev), 0, 0) if e1 != 0 { err = errnoErr(e1) } return } var libc_mknodat_trampoline_addr uintptr //go:cgo_import_dynamic libc_mknodat mknodat "libc.so" // THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT func Mount(fsType string, dir string, flags int, data unsafe.Pointer) (err error) { var _p0 *byte _p0, err = BytePtrFromString(fsType) if err != nil { return } var _p1 *byte _p1, err = BytePtrFromString(dir) if err != nil { return } _, _, e1 := syscall_syscall6(libc_mount_trampoline_addr, uintptr(unsafe.Pointer(_p0)), uintptr(unsafe.Pointer(_p1)), uintptr(flags), uintptr(data), 0, 0) if e1 != 0 { err = errnoErr(e1) } return } var libc_mount_trampoline_addr uintptr //go:cgo_import_dynamic libc_mount mount "libc.so" // THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT func Nanosleep(time *Timespec, leftover *Timespec) (err error) { _, _, e1 := syscall_syscall(libc_nanosleep_trampoline_addr, uintptr(unsafe.Pointer(time)), uintptr(unsafe.Pointer(leftover)), 0) if e1 != 0 { err = errnoErr(e1) } return } var libc_nanosleep_trampoline_addr uintptr //go:cgo_import_dynamic libc_nanosleep nanosleep "libc.so" // 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_syscall(libc_open_trampoline_addr, uintptr(unsafe.Pointer(_p0)), uintptr(mode), uintptr(perm)) fd = int(r0) if e1 != 0 { err = errnoErr(e1) } return } var libc_open_trampoline_addr uintptr //go:cgo_import_dynamic libc_open open "libc.so" // THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT func Openat(dirfd int, path string, mode int, perm uint32) (fd int, err error) { var _p0 *byte _p0, err = BytePtrFromString(path) if err != nil { return } r0, _, e1 := syscall_syscall6(libc_openat_trampoline_addr, uintptr(dirfd), uintptr(unsafe.Pointer(_p0)), uintptr(mode), uintptr(perm), 0, 0) fd = int(r0) if e1 != 0 { err = errnoErr(e1) } return } var libc_openat_trampoline_addr uintptr //go:cgo_import_dynamic libc_openat openat "libc.so" // 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_syscall(libc_pathconf_trampoline_addr, uintptr(unsafe.Pointer(_p0)), uintptr(name), 0) val = int(r0) if e1 != 0 { err = errnoErr(e1) } return } var libc_pathconf_trampoline_addr uintptr //go:cgo_import_dynamic libc_pathconf pathconf "libc.so" // 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 := syscall_syscall6(libc_pread_trampoline_addr, uintptr(fd), uintptr(_p0), uintptr(len(p)), uintptr(offset), uintptr(offset>>32), 0) n = int(r0) if e1 != 0 { err = errnoErr(e1) } return } var libc_pread_trampoline_addr uintptr //go:cgo_import_dynamic libc_pread pread "libc.so" // 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 := syscall_syscall6(libc_pwrite_trampoline_addr, uintptr(fd), uintptr(_p0), uintptr(len(p)), uintptr(offset), uintptr(offset>>32), 0) n = int(r0) if e1 != 0 { err = errnoErr(e1) } return } var libc_pwrite_trampoline_addr uintptr //go:cgo_import_dynamic libc_pwrite pwrite "libc.so" // 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_syscall(libc_read_trampoline_addr, uintptr(fd), uintptr(_p0), uintptr(len(p))) n = int(r0) if e1 != 0 { err = errnoErr(e1) } return } var libc_read_trampoline_addr uintptr //go:cgo_import_dynamic libc_read read "libc.so" // 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_syscall(libc_readlink_trampoline_addr, uintptr(unsafe.Pointer(_p0)), uintptr(_p1), uintptr(len(buf))) n = int(r0) if e1 != 0 { err = errnoErr(e1) } return } var libc_readlink_trampoline_addr uintptr //go:cgo_import_dynamic libc_readlink readlink "libc.so" // 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 := syscall_syscall6(libc_readlinkat_trampoline_addr, uintptr(dirfd), uintptr(unsafe.Pointer(_p0)), uintptr(_p1), uintptr(len(buf)), 0, 0) n = int(r0) if e1 != 0 { err = errnoErr(e1) } return } var libc_readlinkat_trampoline_addr uintptr //go:cgo_import_dynamic libc_readlinkat readlinkat "libc.so" // 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_syscall(libc_rename_trampoline_addr, uintptr(unsafe.Pointer(_p0)), uintptr(unsafe.Pointer(_p1)), 0) if e1 != 0 { err = errnoErr(e1) } return } var libc_rename_trampoline_addr uintptr //go:cgo_import_dynamic libc_rename rename "libc.so" // THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT func Renameat(fromfd int, from string, tofd int, 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_syscall6(libc_renameat_trampoline_addr, uintptr(fromfd), uintptr(unsafe.Pointer(_p0)), uintptr(tofd), uintptr(unsafe.Pointer(_p1)), 0, 0) if e1 != 0 { err = errnoErr(e1) } return } var libc_renameat_trampoline_addr uintptr //go:cgo_import_dynamic libc_renameat renameat "libc.so" // 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_syscall(libc_revoke_trampoline_addr, uintptr(unsafe.Pointer(_p0)), 0, 0) if e1 != 0 { err = errnoErr(e1) } return } var libc_revoke_trampoline_addr uintptr //go:cgo_import_dynamic libc_revoke revoke "libc.so" // 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_syscall(libc_rmdir_trampoline_addr, uintptr(unsafe.Pointer(_p0)), 0, 0) if e1 != 0 { err = errnoErr(e1) } return } var libc_rmdir_trampoline_addr uintptr //go:cgo_import_dynamic libc_rmdir rmdir "libc.so" // 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 := syscall_syscall6(libc_lseek_trampoline_addr, 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 } var libc_lseek_trampoline_addr uintptr //go:cgo_import_dynamic libc_lseek lseek "libc.so" // 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 := syscall_syscall6(libc_select_trampoline_addr, 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 } var libc_select_trampoline_addr uintptr //go:cgo_import_dynamic libc_select select "libc.so" // THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT func Setegid(egid int) (err error) { _, _, e1 := syscall_rawSyscall(libc_setegid_trampoline_addr, uintptr(egid), 0, 0) if e1 != 0 { err = errnoErr(e1) } return } var libc_setegid_trampoline_addr uintptr //go:cgo_import_dynamic libc_setegid setegid "libc.so" // THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT func Seteuid(euid int) (err error) { _, _, e1 := syscall_rawSyscall(libc_seteuid_trampoline_addr, uintptr(euid), 0, 0) if e1 != 0 { err = errnoErr(e1) } return } var libc_seteuid_trampoline_addr uintptr //go:cgo_import_dynamic libc_seteuid seteuid "libc.so" // THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT func Setgid(gid int) (err error) { _, _, e1 := syscall_rawSyscall(libc_setgid_trampoline_addr, uintptr(gid), 0, 0) if e1 != 0 { err = errnoErr(e1) } return } var libc_setgid_trampoline_addr uintptr //go:cgo_import_dynamic libc_setgid setgid "libc.so" // 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_syscall(libc_setlogin_trampoline_addr, uintptr(unsafe.Pointer(_p0)), 0, 0) if e1 != 0 { err = errnoErr(e1) } return } var libc_setlogin_trampoline_addr uintptr //go:cgo_import_dynamic libc_setlogin setlogin "libc.so" // THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT func Setpgid(pid int, pgid int) (err error) { _, _, e1 := syscall_rawSyscall(libc_setpgid_trampoline_addr, uintptr(pid), uintptr(pgid), 0) if e1 != 0 { err = errnoErr(e1) } return } var libc_setpgid_trampoline_addr uintptr //go:cgo_import_dynamic libc_setpgid setpgid "libc.so" // 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_syscall(libc_setpriority_trampoline_addr, uintptr(which), uintptr(who), uintptr(prio)) if e1 != 0 { err = errnoErr(e1) } return } var libc_setpriority_trampoline_addr uintptr //go:cgo_import_dynamic libc_setpriority setpriority "libc.so" // THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT func Setregid(rgid int, egid int) (err error) { _, _, e1 := syscall_rawSyscall(libc_setregid_trampoline_addr, uintptr(rgid), uintptr(egid), 0) if e1 != 0 { err = errnoErr(e1) } return } var libc_setregid_trampoline_addr uintptr //go:cgo_import_dynamic libc_setregid setregid "libc.so" // THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT func Setreuid(ruid int, euid int) (err error) { _, _, e1 := syscall_rawSyscall(libc_setreuid_trampoline_addr, uintptr(ruid), uintptr(euid), 0) if e1 != 0 { err = errnoErr(e1) } return } var libc_setreuid_trampoline_addr uintptr //go:cgo_import_dynamic libc_setreuid setreuid "libc.so" // THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT func Setresgid(rgid int, egid int, sgid int) (err error) { _, _, e1 := syscall_rawSyscall(libc_setresgid_trampoline_addr, uintptr(rgid), uintptr(egid), uintptr(sgid)) if e1 != 0 { err = errnoErr(e1) } return } var libc_setresgid_trampoline_addr uintptr //go:cgo_import_dynamic libc_setresgid setresgid "libc.so" // THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT func Setresuid(ruid int, euid int, suid int) (err error) { _, _, e1 := syscall_rawSyscall(libc_setresuid_trampoline_addr, uintptr(ruid), uintptr(euid), uintptr(suid)) if e1 != 0 { err = errnoErr(e1) } return } var libc_setresuid_trampoline_addr uintptr //go:cgo_import_dynamic libc_setresuid setresuid "libc.so" // THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT func Setrtable(rtable int) (err error) { _, _, e1 := syscall_rawSyscall(libc_setrtable_trampoline_addr, uintptr(rtable), 0, 0) if e1 != 0 { err = errnoErr(e1) } return } var libc_setrtable_trampoline_addr uintptr //go:cgo_import_dynamic libc_setrtable setrtable "libc.so" // THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT func Setsid() (pid int, err error) { r0, _, e1 := syscall_rawSyscall(libc_setsid_trampoline_addr, 0, 0, 0) pid = int(r0) if e1 != 0 { err = errnoErr(e1) } return } var libc_setsid_trampoline_addr uintptr //go:cgo_import_dynamic libc_setsid setsid "libc.so" // THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT func Settimeofday(tp *Timeval) (err error) { _, _, e1 := syscall_rawSyscall(libc_settimeofday_trampoline_addr, uintptr(unsafe.Pointer(tp)), 0, 0) if e1 != 0 { err = errnoErr(e1) } return } var libc_settimeofday_trampoline_addr uintptr //go:cgo_import_dynamic libc_settimeofday settimeofday "libc.so" // THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT func Setuid(uid int) (err error) { _, _, e1 := syscall_rawSyscall(libc_setuid_trampoline_addr, uintptr(uid), 0, 0) if e1 != 0 { err = errnoErr(e1) } return } var libc_setuid_trampoline_addr uintptr //go:cgo_import_dynamic libc_setuid setuid "libc.so" // 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_syscall(libc_stat_trampoline_addr, uintptr(unsafe.Pointer(_p0)), uintptr(unsafe.Pointer(stat)), 0) if e1 != 0 { err = errnoErr(e1) } return } var libc_stat_trampoline_addr uintptr //go:cgo_import_dynamic libc_stat stat "libc.so" // 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_syscall(libc_statfs_trampoline_addr, uintptr(unsafe.Pointer(_p0)), uintptr(unsafe.Pointer(stat)), 0) if e1 != 0 { err = errnoErr(e1) } return } var libc_statfs_trampoline_addr uintptr //go:cgo_import_dynamic libc_statfs statfs "libc.so" // 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_syscall(libc_symlink_trampoline_addr, uintptr(unsafe.Pointer(_p0)), uintptr(unsafe.Pointer(_p1)), 0) if e1 != 0 { err = errnoErr(e1) } return } var libc_symlink_trampoline_addr uintptr //go:cgo_import_dynamic libc_symlink symlink "libc.so" // 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_syscall(libc_symlinkat_trampoline_addr, uintptr(unsafe.Pointer(_p0)), uintptr(newdirfd), uintptr(unsafe.Pointer(_p1))) if e1 != 0 { err = errnoErr(e1) } return } var libc_symlinkat_trampoline_addr uintptr //go:cgo_import_dynamic libc_symlinkat symlinkat "libc.so" // THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT func Sync() (err error) { _, _, e1 := syscall_syscall(libc_sync_trampoline_addr, 0, 0, 0) if e1 != 0 { err = errnoErr(e1) } return } var libc_sync_trampoline_addr uintptr //go:cgo_import_dynamic libc_sync sync "libc.so" // 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_syscall(libc_truncate_trampoline_addr, uintptr(unsafe.Pointer(_p0)), uintptr(length), uintptr(length>>32)) if e1 != 0 { err = errnoErr(e1) } return } var libc_truncate_trampoline_addr uintptr //go:cgo_import_dynamic libc_truncate truncate "libc.so" // THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT func Umask(newmask int) (oldmask int) { r0, _, _ := syscall_syscall(libc_umask_trampoline_addr, uintptr(newmask), 0, 0) oldmask = int(r0) return } var libc_umask_trampoline_addr uintptr //go:cgo_import_dynamic libc_umask umask "libc.so" // 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_syscall(libc_unlink_trampoline_addr, uintptr(unsafe.Pointer(_p0)), 0, 0) if e1 != 0 { err = errnoErr(e1) } return } var libc_unlink_trampoline_addr uintptr //go:cgo_import_dynamic libc_unlink unlink "libc.so" // 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_syscall(libc_unlinkat_trampoline_addr, uintptr(dirfd), uintptr(unsafe.Pointer(_p0)), uintptr(flags)) if e1 != 0 { err = errnoErr(e1) } return } var libc_unlinkat_trampoline_addr uintptr //go:cgo_import_dynamic libc_unlinkat unlinkat "libc.so" // 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_syscall(libc_unmount_trampoline_addr, uintptr(unsafe.Pointer(_p0)), uintptr(flags), 0) if e1 != 0 { err = errnoErr(e1) } return } var libc_unmount_trampoline_addr uintptr //go:cgo_import_dynamic libc_unmount unmount "libc.so" // 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_syscall(libc_write_trampoline_addr, uintptr(fd), uintptr(_p0), uintptr(len(p))) n = int(r0) if e1 != 0 { err = errnoErr(e1) } return } var libc_write_trampoline_addr uintptr //go:cgo_import_dynamic libc_write write "libc.so" // 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 := syscall_syscall9(libc_mmap_trampoline_addr, 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 } var libc_mmap_trampoline_addr uintptr //go:cgo_import_dynamic libc_mmap mmap "libc.so" // THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT func munmap(addr uintptr, length uintptr) (err error) { _, _, e1 := syscall_syscall(libc_munmap_trampoline_addr, uintptr(addr), uintptr(length), 0) if e1 != 0 { err = errnoErr(e1) } return } var libc_munmap_trampoline_addr uintptr //go:cgo_import_dynamic libc_munmap munmap "libc.so" // THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT func getfsstat(stat *Statfs_t, bufsize uintptr, flags int) (n int, err error) { r0, _, e1 := syscall_syscall(libc_getfsstat_trampoline_addr, uintptr(unsafe.Pointer(stat)), uintptr(bufsize), uintptr(flags)) n = int(r0) if e1 != 0 { err = errnoErr(e1) } return } var libc_getfsstat_trampoline_addr uintptr //go:cgo_import_dynamic libc_getfsstat getfsstat "libc.so" // 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 := syscall_syscall6(libc_utimensat_trampoline_addr, uintptr(dirfd), uintptr(unsafe.Pointer(_p0)), uintptr(unsafe.Pointer(times)), uintptr(flags), 0, 0) if e1 != 0 { err = errnoErr(e1) } return } var libc_utimensat_trampoline_addr uintptr //go:cgo_import_dynamic libc_utimensat utimensat "libc.so" // THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT func pledge(promises *byte, execpromises *byte) (err error) { _, _, e1 := syscall_syscall(libc_pledge_trampoline_addr, uintptr(unsafe.Pointer(promises)), uintptr(unsafe.Pointer(execpromises)), 0) if e1 != 0 { err = errnoErr(e1) } return } var libc_pledge_trampoline_addr uintptr //go:cgo_import_dynamic libc_pledge pledge "libc.so" // THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT func unveil(path *byte, flags *byte) (err error) { _, _, e1 := syscall_syscall(libc_unveil_trampoline_addr, uintptr(unsafe.Pointer(path)), uintptr(unsafe.Pointer(flags)), 0) if e1 != 0 { err = errnoErr(e1) } return } var libc_unveil_trampoline_addr uintptr //go:cgo_import_dynamic libc_unveil unveil "libc.so" dependencies/pkg/mod/golang.org/x/sys@v0.26.0/unix/asm_aix_ppc64.s0000644000000000000000000000062715107355264023437 0ustar rootroot// Copyright 2018 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:build gc #include "textflag.h" // // System calls for ppc64, AIX are implemented in runtime/syscall_aix.go // TEXT ·syscall6(SB),NOSPLIT,$0-88 JMP syscall·syscall6(SB) TEXT ·rawSyscall6(SB),NOSPLIT,$0-88 JMP syscall·rawSyscall6(SB) dependencies/pkg/mod/golang.org/x/sys@v0.26.0/unix/syscall_linux_gccgo_386.go0000644000000000000000000000173215107355264025576 0ustar rootroot// Copyright 2018 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:build linux && gccgo && 386 package unix import ( "syscall" "unsafe" ) func seek(fd int, offset int64, whence int) (int64, syscall.Errno) { var newoffset int64 offsetLow := uint32(offset & 0xffffffff) offsetHigh := uint32((offset >> 32) & 0xffffffff) _, _, err := Syscall6(SYS__LLSEEK, uintptr(fd), uintptr(offsetHigh), uintptr(offsetLow), uintptr(unsafe.Pointer(&newoffset)), uintptr(whence), 0) return newoffset, err } func socketcall(call int, a0, a1, a2, a3, a4, a5 uintptr) (int, syscall.Errno) { fd, _, err := Syscall(SYS_SOCKETCALL, uintptr(call), uintptr(unsafe.Pointer(&a0)), 0) return int(fd), err } func rawsocketcall(call int, a0, a1, a2, a3, a4, a5 uintptr) (int, syscall.Errno) { fd, _, err := RawSyscall(SYS_SOCKETCALL, uintptr(call), uintptr(unsafe.Pointer(&a0)), 0) return int(fd), err } dependencies/pkg/mod/golang.org/x/sys@v0.26.0/unix/example_exec_test.go0000644000000000000000000000065215107355264024641 0ustar rootroot// Copyright 2018 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:build aix || darwin || dragonfly || freebsd || linux || netbsd || openbsd || solaris package unix_test import ( "log" "os" "golang.org/x/sys/unix" ) func ExampleExec() { err := unix.Exec("/bin/ls", []string{"ls", "-al"}, os.Environ()) log.Fatal(err) } dependencies/pkg/mod/golang.org/x/sys@v0.26.0/unix/ztypes_openbsd_386.go0000644000000000000000000002236715107355264024622 0ustar rootroot// cgo -godefs types_openbsd.go | go run mkpost.go // Code generated by the command above; see README.md. DO NOT EDIT. //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 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 int32 Flags uint32 Gen uint32 _ 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]byte F_mntonname [90]byte F_mntfromname [90]byte F_mntfromspec [90]byte _ [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 _ [4]uint8 Name [256]int8 } type Fsid struct { Val [2]int32 } const ( PathMax = 0x400 ) 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 SizeofIovec = 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 = 0xa0 SizeofIfData = 0x88 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 Rdomain uint32 Baudrate uint64 Ipackets uint64 Ierrors uint64 Opackets uint64 Oerrors uint64 Collisions uint64 Ibytes uint64 Obytes uint64 Imcasts uint64 Omcasts uint64 Iqdrops uint64 Oqdrops uint64 Noproto uint64 Capabilities uint32 Lastchange Timeval } 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 } const ( SizeofBpfVersion = 0x4 SizeofBpfStat = 0x8 SizeofBpfProgram = 0x8 SizeofBpfInsn = 0x8 SizeofBpfHdr = 0x18 ) 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 Ifidx uint16 Flowid uint16 Flags uint8 Drops uint8 } 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 } type Winsize struct { Row uint16 Col uint16 Xpixel uint16 Ypixel uint16 } const ( AT_FDCWD = -0x64 AT_EACCESS = 0x1 AT_SYMLINK_NOFOLLOW = 0x2 AT_SYMLINK_FOLLOW = 0x4 AT_REMOVEDIR = 0x8 ) type PollFd struct { Fd int32 Events int16 Revents int16 } const ( POLLERR = 0x8 POLLHUP = 0x10 POLLIN = 0x1 POLLNVAL = 0x20 POLLOUT = 0x4 POLLPRI = 0x2 POLLRDBAND = 0x80 POLLRDNORM = 0x40 POLLWRBAND = 0x100 POLLWRNORM = 0x4 ) type Sigset_t uint32 type Utsname struct { Sysname [256]byte Nodename [256]byte Release [256]byte Version [256]byte Machine [256]byte } const SizeofUvmexp = 0x158 type Uvmexp struct { Pagesize int32 Pagemask int32 Pageshift int32 Npages int32 Free int32 Active int32 Inactive int32 Paging int32 Wired int32 Zeropages int32 Reserve_pagedaemon int32 Reserve_kernel int32 Unused01 int32 Vnodepages int32 Vtextpages int32 Freemin int32 Freetarg int32 Inactarg int32 Wiredmax int32 Anonmin int32 Vtextmin int32 Vnodemin int32 Anonminpct int32 Vtextminpct int32 Vnodeminpct int32 Nswapdev int32 Swpages int32 Swpginuse int32 Swpgonly int32 Nswget int32 Nanon int32 Unused05 int32 Unused06 int32 Faults int32 Traps int32 Intrs int32 Swtch int32 Softs int32 Syscalls int32 Pageins int32 Unused07 int32 Unused08 int32 Pgswapin int32 Pgswapout int32 Forks int32 Forks_ppwait int32 Forks_sharevm int32 Pga_zerohit int32 Pga_zeromiss int32 Unused09 int32 Fltnoram int32 Fltnoanon int32 Fltnoamap int32 Fltpgwait int32 Fltpgrele int32 Fltrelck int32 Fltrelckok int32 Fltanget int32 Fltanretry int32 Fltamcopy int32 Fltnamap int32 Fltnomap int32 Fltlget int32 Fltget int32 Flt_anon int32 Flt_acow int32 Flt_obj int32 Flt_prcopy int32 Flt_przero int32 Pdwoke int32 Pdrevs int32 Pdswout int32 Pdfreed int32 Pdscans int32 Pdanscan int32 Pdobscan int32 Pdreact int32 Pdbusy int32 Pdpageouts int32 Pdpending int32 Pddeact int32 Unused11 int32 Unused12 int32 Unused13 int32 Fpswtch int32 Kmapent int32 } const SizeofClockinfo = 0x10 type Clockinfo struct { Hz int32 Tick int32 Stathz int32 Profhz int32 } dependencies/pkg/mod/golang.org/x/sys@v0.26.0/unix/ztypes_freebsd_386.go0000644000000000000000000002323115107355264024571 0ustar rootroot// cgo -godefs types_freebsd.go | go run mkpost.go // Code generated by the command above; see README.md. DO NOT EDIT. //go:build 386 && 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 int32 Nsec int32 } type Timeval struct { Sec int32 Usec int32 } type Time_t 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 ( _statfsVersion = 0x20140518 _dirblksiz = 0x400 ) type Stat_t struct { Dev uint64 Ino uint64 Nlink uint64 Mode uint16 _0 int16 Uid uint32 Gid uint32 _1 int32 Rdev uint64 _ int32 Atim Timespec _ int32 Mtim Timespec _ int32 Ctim Timespec _ int32 Btim Timespec Size int64 Blocks int64 Blksize int32 Flags uint32 Gen uint64 Spare [10]uint64 } 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]byte Mntfromname [1024]byte Mntonname [1024]byte } type Flock_t struct { Start int64 Len int64 Pid int32 Type int16 Whence int16 Sysid int32 } type Dirent struct { Fileno uint64 Off int64 Reclen uint16 Type uint8 Pad0 uint8 Namlen uint16 Pad1 uint16 Name [256]int8 } type Fsid struct { Val [2]int32 } const ( PathMax = 0x400 ) 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 Xucred struct { Version uint32 Uid uint32 Ngroups int16 Groups [16]uint32 _ *byte } 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 SizeofXucred = 0x50 SizeofLinger = 0x8 SizeofIovec = 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 PtraceLwpInfoStruct struct { Lwpid int32 Event int32 Flags int32 Sigmask Sigset_t Siglist Sigset_t Siginfo __PtraceSiginfo Tdname [20]int8 Child_pid int32 Syscall_code uint32 Syscall_narg uint32 } type __Siginfo struct { Signo int32 Errno int32 Code int32 Pid int32 Uid uint32 Status int32 Addr *byte Value [4]byte _ [32]byte } type __PtraceSiginfo struct { Signo int32 Errno int32 Code int32 Pid int32 Uid uint32 Status int32 Addr uintptr Value [4]byte _ [32]byte } type Sigset_t struct { Val [4]uint32 } type Reg struct { Fs uint32 Es uint32 Ds uint32 Edi uint32 Esi uint32 Ebp uint32 Isp uint32 Ebx uint32 Edx uint32 Ecx uint32 Eax uint32 Trapno uint32 Err uint32 Eip uint32 Cs uint32 Eflags uint32 Esp uint32 Ss uint32 Gs uint32 } type FpReg struct { Env [7]uint32 Acc [8][10]uint8 Ex_sw uint32 Pad [64]uint8 } type FpExtendedPrecision struct{} type PtraceIoDesc struct { Op int32 Offs uintptr Addr *byte Len uint32 } type Kevent_t struct { Ident uint32 Filter int16 Flags uint16 Fflags uint32 Data int64 Udata *byte Ext [4]uint64 } type FdSet struct { Bits [32]uint32 } const ( sizeofIfMsghdr = 0xa8 SizeofIfMsghdr = 0x60 sizeofIfData = 0x98 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 _ uint16 Data ifData } type IfMsghdr struct { Msglen uint16 Version uint8 Type uint8 Addrs int32 Flags int32 Index uint16 Data IfData } type ifData struct { Type uint8 Physical uint8 Addrlen uint8 Hdrlen uint8 Link_state uint8 Vhid uint8 Datalen uint16 Mtu uint32 Metric uint32 Baudrate uint64 Ipackets uint64 Ierrors uint64 Opackets uint64 Oerrors uint64 Collisions uint64 Ibytes uint64 Obytes uint64 Imcasts uint64 Omcasts uint64 Iqdrops uint64 Oqdrops uint64 Noproto uint64 Hwassist uint64 _ [8]byte _ [16]byte } 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 _ uint16 Metric int32 } type IfmaMsghdr struct { Msglen uint16 Version uint8 Type uint8 Addrs int32 Flags int32 Index uint16 _ uint16 } 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 _ uint16 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 _ [2]byte } type BpfZbufHeader struct { Kernel_gen uint32 Kernel_len uint32 User_gen uint32 _ [5]uint32 } type Termios struct { Iflag uint32 Oflag uint32 Cflag uint32 Lflag uint32 Cc [20]uint8 Ispeed uint32 Ospeed uint32 } type Winsize struct { Row uint16 Col uint16 Xpixel uint16 Ypixel uint16 } const ( AT_FDCWD = -0x64 AT_EACCESS = 0x100 AT_SYMLINK_NOFOLLOW = 0x200 AT_SYMLINK_FOLLOW = 0x400 AT_REMOVEDIR = 0x800 ) type PollFd struct { Fd int32 Events int16 Revents int16 } const ( POLLERR = 0x8 POLLHUP = 0x10 POLLIN = 0x1 POLLINIGNEOF = 0x2000 POLLNVAL = 0x20 POLLOUT = 0x4 POLLPRI = 0x2 POLLRDBAND = 0x80 POLLRDNORM = 0x40 POLLWRBAND = 0x100 POLLWRNORM = 0x4 POLLRDHUP = 0x4000 ) type CapRights struct { Rights [2]uint64 } type Utsname struct { Sysname [256]byte Nodename [256]byte Release [256]byte Version [256]byte Machine [256]byte } const SizeofClockinfo = 0x14 type Clockinfo struct { Hz int32 Tick int32 Spare int32 Stathz int32 Profhz int32 } dependencies/pkg/mod/golang.org/x/sys@v0.26.0/unix/zsysnum_openbsd_mips64.go0000644000000000000000000004406015107355264025610 0ustar rootroot// go run mksysnum.go https://cvsweb.openbsd.org/cgi-bin/cvsweb/~checkout~/src/sys/kern/syscalls.master // Code generated by the command above; see README.md. DO NOT EDIT. //go:build mips64 && openbsd package unix // Deprecated: Use libc wrappers instead of direct syscalls. 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_GETENTROPY = 7 // { int sys_getentropy(void *buf, size_t nbyte); } SYS___TFORK = 8 // { int sys___tfork(const struct __tfork *param, size_t psize); } 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, int options, struct rusage *rusage); } 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, dev_t dev); } 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_OBREAK = 17 // { int sys_obreak(char *nsize); } break SYS_GETDTABLECOUNT = 18 // { int sys_getdtablecount(void); } SYS_GETRUSAGE = 19 // { int sys_getrusage(int who, struct rusage *rusage); } SYS_GETPID = 20 // { pid_t sys_getpid(void); } SYS_MOUNT = 21 // { int sys_mount(const char *type, const char *path, int flags, void *data); } 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, 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 amode); } 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_MSYSCALL = 37 // { int sys_msyscall(void *addr, size_t len); } 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, struct stat *buf, int flag); } SYS_GETEGID = 43 // { gid_t sys_getegid(void); } SYS_PROFIL = 44 // { int sys_profil(caddr_t 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_SIGACTION = 46 // { int sys_sigaction(int signum, const struct sigaction *nsa, struct sigaction *osa); } SYS_GETGID = 47 // { gid_t sys_getgid(void); } SYS_SIGPROCMASK = 48 // { int sys_sigprocmask(int how, sigset_t mask); } 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, u_long com, ... void *data); } 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, 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_GETFSSTAT = 62 // { int sys_getfsstat(struct statfs *buf, size_t bufsize, int flags); } SYS_STATFS = 63 // { int sys_statfs(const char *path, struct statfs *buf); } SYS_FSTATFS = 64 // { int sys_fstatfs(int fd, struct statfs *buf); } SYS_FHSTATFS = 65 // { int sys_fhstatfs(const fhandle_t *fhp, struct statfs *buf); } SYS_VFORK = 66 // { int sys_vfork(void); } SYS_GETTIMEOFDAY = 67 // { int sys_gettimeofday(struct timeval *tp, struct timezone *tzp); } SYS_SETTIMEOFDAY = 68 // { int sys_settimeofday(const struct timeval *tv, const struct timezone *tzp); } SYS_SETITIMER = 69 // { int sys_setitimer(int which, const struct itimerval *itv, struct itimerval *oitv); } SYS_GETITIMER = 70 // { int sys_getitimer(int which, struct itimerval *itv); } SYS_SELECT = 71 // { int sys_select(int nd, fd_set *in, fd_set *ou, fd_set *ex, struct timeval *tv); } SYS_KEVENT = 72 // { int sys_kevent(int fd, const struct kevent *changelist, int nchanges, struct kevent *eventlist, int nevents, const struct timespec *timeout); } 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_UTIMES = 76 // { int sys_utimes(const char *path, const struct timeval *tptr); } SYS_FUTIMES = 77 // { int sys_futimes(int fd, const struct timeval *tptr); } 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_FUTEX = 83 // { int sys_futex(uint32_t *f, int op, int val, const struct timespec *timeout, uint32_t *g); } SYS_UTIMENSAT = 84 // { int sys_utimensat(int fd, const char *path, const struct timespec *times, int flag); } SYS_FUTIMENS = 85 // { int sys_futimens(int fd, const struct timespec *times); } SYS_KBIND = 86 // { int sys_kbind(const struct __kbind *param, size_t psize, int64_t proc_cookie); } SYS_CLOCK_GETTIME = 87 // { int sys_clock_gettime(clockid_t clock_id, struct timespec *tp); } SYS_CLOCK_SETTIME = 88 // { int sys_clock_settime(clockid_t clock_id, const struct timespec *tp); } SYS_CLOCK_GETRES = 89 // { int sys_clock_getres(clockid_t clock_id, struct timespec *tp); } SYS_DUP2 = 90 // { int sys_dup2(int from, int to); } SYS_NANOSLEEP = 91 // { int sys_nanosleep(const struct timespec *rqtp, struct timespec *rmtp); } SYS_FCNTL = 92 // { int sys_fcntl(int fd, int cmd, ... void *arg); } SYS_ACCEPT4 = 93 // { int sys_accept4(int s, struct sockaddr *name, socklen_t *anamelen, int flags); } SYS___THRSLEEP = 94 // { int sys___thrsleep(const volatile void *ident, clockid_t clock_id, const struct timespec *tp, void *lock, const int *abort); } 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, socklen_t namelen); } 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_PIPE2 = 101 // { int sys_pipe2(int *fdp, int flags); } SYS_DUP3 = 102 // { int sys_dup3(int from, int to, int flags); } SYS_SIGRETURN = 103 // { int sys_sigreturn(struct sigcontext *sigcntxp); } 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_CHFLAGSAT = 107 // { int sys_chflagsat(int fd, const char *path, u_int flags, int atflags); } SYS_PLEDGE = 108 // { int sys_pledge(const char *promises, const char *execpromises); } SYS_PPOLL = 109 // { int sys_ppoll(struct pollfd *fds, u_int nfds, const struct timespec *ts, const sigset_t *mask); } SYS_PSELECT = 110 // { int sys_pselect(int nd, fd_set *in, fd_set *ou, fd_set *ex, const struct timespec *ts, const sigset_t *mask); } SYS_SIGSUSPEND = 111 // { int sys_sigsuspend(int mask); } SYS_SENDSYSLOG = 112 // { int sys_sendsyslog(const char *buf, size_t nbyte, int flags); } SYS_UNVEIL = 114 // { int sys_unveil(const char *path, const char *permissions); } SYS___REALPATH = 115 // { int sys___realpath(const char *pathname, char *resolved); } SYS_GETSOCKOPT = 118 // { int sys_getsockopt(int s, int level, int name, void *val, socklen_t *avalsize); } SYS_THRKILL = 119 // { int sys_thrkill(pid_t tid, int signum, void *tcb); } 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_KILL = 122 // { int sys_kill(int pid, int signum); } 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_ADJTIME = 140 // { int sys_adjtime(const struct timeval *delta, struct timeval *olddelta); } SYS_GETLOGIN_R = 141 // { int sys_getlogin_r(char *namebuf, u_int namelen); } SYS_SETSID = 147 // { int sys_setsid(void); } SYS_QUOTACTL = 148 // { int sys_quotactl(const char *path, int cmd, int uid, char *arg); } SYS_NFSSVC = 155 // { int sys_nfssvc(int flag, void *argp); } SYS_GETFH = 161 // { int sys_getfh(const char *fname, fhandle_t *fhp); } SYS___TMPFD = 164 // { int sys___tmpfd(int flags); } 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_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, 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, 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_GETPGID = 207 // { pid_t sys_getpgid(pid_t pid); } SYS_UTRACE = 209 // { int sys_utrace(const char *label, const void *addr, size_t len); } 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, int msgflg); } SYS_MSGRCV = 227 // { int 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_MINHERIT = 250 // { int sys_minherit(void *addr, size_t len, int inherit); } SYS_POLL = 252 // { int sys_poll(struct pollfd *fds, u_int nfds, int timeout); } 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, const struct iovec *iovp, int iovcnt, int pad, off_t offset); } SYS_PWRITEV = 268 // { ssize_t sys_pwritev(int fd, const struct iovec *iovp, int iovcnt, int pad, off_t offset); } 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, uid_t *suid); } SYS_SETRESUID = 282 // { int sys_setresuid(uid_t ruid, uid_t euid, uid_t suid); } SYS_GETRESGID = 283 // { int sys_getresgid(gid_t *rgid, gid_t *egid, gid_t *sgid); } SYS_SETRESGID = 284 // { int sys_setresgid(gid_t rgid, gid_t egid, gid_t sgid); } SYS_MQUERY = 286 // { void *sys_mquery(void *addr, size_t len, int prot, int flags, int fd, long pad, off_t pos); } SYS_CLOSEFROM = 287 // { int sys_closefrom(int fd); } SYS_SIGALTSTACK = 288 // { int sys_sigaltstack(const struct sigaltstack *nss, struct sigaltstack *oss); } 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, size_t nsops); } SYS_FHSTAT = 294 // { int sys_fhstat(const fhandle_t *fhp, struct stat *sb); } SYS___SEMCTL = 295 // { int sys___semctl(int semid, int semnum, int cmd, union semun *arg); } SYS_SHMCTL = 296 // { int sys_shmctl(int shmid, int cmd, struct shmid_ds *buf); } SYS_MSGCTL = 297 // { int sys_msgctl(int msqid, int cmd, struct msqid_ds *buf); } 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, int n); } SYS___THREXIT = 302 // { void sys___threxit(pid_t *notdead); } SYS___THRSIGDIVERT = 303 // { int sys___thrsigdivert(sigset_t sigmask, siginfo_t *info, const struct timespec *timeout); } SYS___GETCWD = 304 // { int sys___getcwd(char *buf, size_t len); } SYS_ADJFREQ = 305 // { int sys_adjfreq(const int64_t *freq, int64_t *oldfreq); } 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, int amode, int flag); } SYS_FCHMODAT = 314 // { int sys_fchmodat(int fd, const char *path, mode_t mode, int flag); } SYS_FCHOWNAT = 315 // { int sys_fchownat(int fd, const char *path, uid_t uid, gid_t gid, int flag); } SYS_LINKAT = 317 // { int sys_linkat(int fd1, const char *path1, int fd2, const char *path2, int flag); } SYS_MKDIRAT = 318 // { int sys_mkdirat(int fd, const char *path, mode_t mode); } SYS_MKFIFOAT = 319 // { int sys_mkfifoat(int fd, const char *path, mode_t mode); } SYS_MKNODAT = 320 // { int sys_mknodat(int fd, const char *path, mode_t mode, dev_t dev); } SYS_OPENAT = 321 // { int sys_openat(int fd, const char *path, int flags, ... mode_t mode); } SYS_READLINKAT = 322 // { ssize_t sys_readlinkat(int fd, const char *path, char *buf, size_t count); } SYS_RENAMEAT = 323 // { int sys_renameat(int fromfd, const char *from, int tofd, const char *to); } SYS_SYMLINKAT = 324 // { int sys_symlinkat(const char *path, int fd, const char *link); } SYS_UNLINKAT = 325 // { int sys_unlinkat(int fd, const char *path, int flag); } SYS___SET_TCB = 329 // { void sys___set_tcb(void *tcb); } SYS___GET_TCB = 330 // { void *sys___get_tcb(void); } ) dependencies/pkg/mod/golang.org/x/sys@v0.26.0/unix/ztypes_openbsd_arm64.go0000644000000000000000000002241415107355264025224 0ustar rootroot// cgo -godefs -- -fsigned-char types_openbsd.go | go run mkpost.go // Code generated by the command above; see README.md. DO NOT EDIT. //go:build arm64 && 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 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 int32 Flags uint32 Gen uint32 _ 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]byte F_mntonname [90]byte F_mntfromname [90]byte F_mntfromspec [90]byte _ [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 _ [4]uint8 Name [256]int8 } type Fsid struct { Val [2]int32 } const ( PathMax = 0x400 ) 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 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 SizeofIovec = 0x10 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 = 0xa8 SizeofIfData = 0x90 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 Rdomain uint32 Baudrate uint64 Ipackets uint64 Ierrors uint64 Opackets uint64 Oerrors uint64 Collisions uint64 Ibytes uint64 Obytes uint64 Imcasts uint64 Omcasts uint64 Iqdrops uint64 Oqdrops uint64 Noproto uint64 Capabilities uint32 Lastchange Timeval } 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 } const ( SizeofBpfVersion = 0x4 SizeofBpfStat = 0x8 SizeofBpfProgram = 0x10 SizeofBpfInsn = 0x8 SizeofBpfHdr = 0x18 ) 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 Ifidx uint16 Flowid uint16 Flags uint8 Drops uint8 } 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 } type Winsize struct { Row uint16 Col uint16 Xpixel uint16 Ypixel uint16 } const ( AT_FDCWD = -0x64 AT_EACCESS = 0x1 AT_SYMLINK_NOFOLLOW = 0x2 AT_SYMLINK_FOLLOW = 0x4 AT_REMOVEDIR = 0x8 ) type PollFd struct { Fd int32 Events int16 Revents int16 } const ( POLLERR = 0x8 POLLHUP = 0x10 POLLIN = 0x1 POLLNVAL = 0x20 POLLOUT = 0x4 POLLPRI = 0x2 POLLRDBAND = 0x80 POLLRDNORM = 0x40 POLLWRBAND = 0x100 POLLWRNORM = 0x4 ) type Sigset_t uint32 type Utsname struct { Sysname [256]byte Nodename [256]byte Release [256]byte Version [256]byte Machine [256]byte } const SizeofUvmexp = 0x158 type Uvmexp struct { Pagesize int32 Pagemask int32 Pageshift int32 Npages int32 Free int32 Active int32 Inactive int32 Paging int32 Wired int32 Zeropages int32 Reserve_pagedaemon int32 Reserve_kernel int32 Unused01 int32 Vnodepages int32 Vtextpages int32 Freemin int32 Freetarg int32 Inactarg int32 Wiredmax int32 Anonmin int32 Vtextmin int32 Vnodemin int32 Anonminpct int32 Vtextminpct int32 Vnodeminpct int32 Nswapdev int32 Swpages int32 Swpginuse int32 Swpgonly int32 Nswget int32 Nanon int32 Unused05 int32 Unused06 int32 Faults int32 Traps int32 Intrs int32 Swtch int32 Softs int32 Syscalls int32 Pageins int32 Unused07 int32 Unused08 int32 Pgswapin int32 Pgswapout int32 Forks int32 Forks_ppwait int32 Forks_sharevm int32 Pga_zerohit int32 Pga_zeromiss int32 Unused09 int32 Fltnoram int32 Fltnoanon int32 Fltnoamap int32 Fltpgwait int32 Fltpgrele int32 Fltrelck int32 Fltrelckok int32 Fltanget int32 Fltanretry int32 Fltamcopy int32 Fltnamap int32 Fltnomap int32 Fltlget int32 Fltget int32 Flt_anon int32 Flt_acow int32 Flt_obj int32 Flt_prcopy int32 Flt_przero int32 Pdwoke int32 Pdrevs int32 Pdswout int32 Pdfreed int32 Pdscans int32 Pdanscan int32 Pdobscan int32 Pdreact int32 Pdbusy int32 Pdpageouts int32 Pdpending int32 Pddeact int32 Unused11 int32 Unused12 int32 Unused13 int32 Fpswtch int32 Kmapent int32 } const SizeofClockinfo = 0x10 type Clockinfo struct { Hz int32 Tick int32 Stathz int32 Profhz int32 } dependencies/pkg/mod/golang.org/x/sys@v0.26.0/unix/syscall_freebsd_arm.go0000644000000000000000000000254215107355264025146 0ustar rootroot// 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. //go:build arm && freebsd package unix import ( "syscall" "unsafe" ) func setTimespec(sec, nsec int64) Timespec { return Timespec{Sec: sec, Nsec: int32(nsec)} } func setTimeval(sec, usec int64) Timeval { return Timeval{Sec: sec, Usec: int32(usec)} } 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 (msghdr *Msghdr) SetIovlen(length int) { msghdr.Iovlen = int32(length) } func (cmsg *Cmsghdr) SetLen(length int) { cmsg.Len = uint32(length) } func (d *PtraceIoDesc) SetLen(length int) { d.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) dependencies/pkg/mod/golang.org/x/sys@v0.26.0/unix/ztypes_linux_riscv64.go0000644000000000000000000003557715107355264025316 0ustar rootroot// cgo -godefs -objdir=/tmp/riscv64/cgo -- -Wall -Werror -static -I/tmp/riscv64/include linux/types.go | go run mkpost.go // Code generated by the command above; see README.md. DO NOT EDIT. //go:build riscv64 && linux package unix const ( SizeofPtr = 0x8 SizeofLong = 0x8 ) type ( _C_long int64 ) type Timespec struct { Sec int64 Nsec int64 } type Timeval struct { Sec int64 Usec int64 } type Timex struct { Modes uint32 Offset int64 Freq int64 Maxerror int64 Esterror int64 Status int32 Constant int64 Precision int64 Tolerance int64 Time Timeval Tick int64 Ppsfreq int64 Jitter int64 Shift int32 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 Stat_t struct { Dev uint64 Ino uint64 Mode uint32 Nlink uint32 Uid uint32 Gid uint32 Rdev uint64 _ uint64 Size int64 Blksize int32 _ int32 Blocks int64 Atim Timespec Mtim Timespec Ctim Timespec _ [2]int32 } type Dirent struct { Ino uint64 Off int64 Reclen uint16 Type uint8 Name [256]uint8 _ [5]byte } type Flock_t struct { Type int16 Whence int16 Start int64 Len int64 Pid int32 _ [4]byte } type DmNameList struct { Dev uint64 Next uint32 Name [0]byte _ [4]byte } const ( FADV_DONTNEED = 0x4 FADV_NOREUSE = 0x5 ) type RawSockaddrNFCLLCP struct { Sa_family uint16 Dev_idx uint32 Target_idx uint32 Nfc_protocol uint32 Dsap uint8 Ssap uint8 Service_name [63]uint8 Service_name_len uint64 } type RawSockaddr struct { Family uint16 Data [14]uint8 } type RawSockaddrAny struct { Addr RawSockaddr Pad [96]uint8 } type Iovec struct { Base *byte Len uint64 } type Msghdr struct { Name *byte Namelen uint32 Iov *Iovec Iovlen uint64 Control *byte Controllen uint64 Flags int32 _ [4]byte } type Cmsghdr struct { Len uint64 Level int32 Type int32 } type ifreq struct { Ifrn [16]byte Ifru [24]byte } const ( SizeofSockaddrNFCLLCP = 0x60 SizeofIovec = 0x10 SizeofMsghdr = 0x38 SizeofCmsghdr = 0x10 ) const ( SizeofSockFprog = 0x10 ) type PtraceRegs struct { Pc uint64 Ra uint64 Sp uint64 Gp uint64 Tp uint64 T0 uint64 T1 uint64 T2 uint64 S0 uint64 S1 uint64 A0 uint64 A1 uint64 A2 uint64 A3 uint64 A4 uint64 A5 uint64 A6 uint64 A7 uint64 S2 uint64 S3 uint64 S4 uint64 S5 uint64 S6 uint64 S7 uint64 S8 uint64 S9 uint64 S10 uint64 S11 uint64 T3 uint64 T4 uint64 T5 uint64 T6 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 Totalhigh uint64 Freehigh uint64 Unit uint32 _ [0]uint8 _ [4]byte } type Ustat_t struct { Tfree int32 Tinode uint64 Fname [6]uint8 Fpack [6]uint8 _ [4]byte } type EpollEvent struct { Events uint32 _ int32 Fd int32 Pad int32 } const ( OPEN_TREE_CLOEXEC = 0x80000 ) const ( POLLRDHUP = 0x2000 ) type Sigset_t struct { Val [16]uint64 } const _C__NSIG = 0x41 const ( SIG_BLOCK = 0x0 SIG_UNBLOCK = 0x1 SIG_SETMASK = 0x2 ) type Siginfo struct { Signo int32 Errno int32 Code int32 _ int32 _ [112]byte } type Termios struct { Iflag uint32 Oflag uint32 Cflag uint32 Lflag uint32 Line uint8 Cc [19]uint8 Ispeed uint32 Ospeed uint32 } type Taskstats struct { Version uint16 Ac_exitcode uint32 Ac_flag uint8 Ac_nice uint8 Cpu_count uint64 Cpu_delay_total uint64 Blkio_count uint64 Blkio_delay_total uint64 Swapin_count uint64 Swapin_delay_total uint64 Cpu_run_real_total uint64 Cpu_run_virtual_total uint64 Ac_comm [32]uint8 Ac_sched uint8 Ac_pad [3]uint8 _ [4]byte Ac_uid uint32 Ac_gid uint32 Ac_pid uint32 Ac_ppid uint32 Ac_btime uint32 Ac_etime uint64 Ac_utime uint64 Ac_stime uint64 Ac_minflt uint64 Ac_majflt uint64 Coremem uint64 Virtmem uint64 Hiwater_rss uint64 Hiwater_vm uint64 Read_char uint64 Write_char uint64 Read_syscalls uint64 Write_syscalls uint64 Read_bytes uint64 Write_bytes uint64 Cancelled_write_bytes uint64 Nvcsw uint64 Nivcsw uint64 Ac_utimescaled uint64 Ac_stimescaled uint64 Cpu_scaled_run_real_total uint64 Freepages_count uint64 Freepages_delay_total uint64 Thrashing_count uint64 Thrashing_delay_total uint64 Ac_btime64 uint64 Compact_count uint64 Compact_delay_total uint64 Ac_tgid uint32 Ac_tgetime uint64 Ac_exe_dev uint64 Ac_exe_inode uint64 Wpcopy_count uint64 Wpcopy_delay_total uint64 Irq_count uint64 Irq_delay_total uint64 } type cpuMask uint64 const ( _NCPUBITS = 0x40 ) const ( CBitFieldMaskBit0 = 0x1 CBitFieldMaskBit1 = 0x2 CBitFieldMaskBit2 = 0x4 CBitFieldMaskBit3 = 0x8 CBitFieldMaskBit4 = 0x10 CBitFieldMaskBit5 = 0x20 CBitFieldMaskBit6 = 0x40 CBitFieldMaskBit7 = 0x80 CBitFieldMaskBit8 = 0x100 CBitFieldMaskBit9 = 0x200 CBitFieldMaskBit10 = 0x400 CBitFieldMaskBit11 = 0x800 CBitFieldMaskBit12 = 0x1000 CBitFieldMaskBit13 = 0x2000 CBitFieldMaskBit14 = 0x4000 CBitFieldMaskBit15 = 0x8000 CBitFieldMaskBit16 = 0x10000 CBitFieldMaskBit17 = 0x20000 CBitFieldMaskBit18 = 0x40000 CBitFieldMaskBit19 = 0x80000 CBitFieldMaskBit20 = 0x100000 CBitFieldMaskBit21 = 0x200000 CBitFieldMaskBit22 = 0x400000 CBitFieldMaskBit23 = 0x800000 CBitFieldMaskBit24 = 0x1000000 CBitFieldMaskBit25 = 0x2000000 CBitFieldMaskBit26 = 0x4000000 CBitFieldMaskBit27 = 0x8000000 CBitFieldMaskBit28 = 0x10000000 CBitFieldMaskBit29 = 0x20000000 CBitFieldMaskBit30 = 0x40000000 CBitFieldMaskBit31 = 0x80000000 CBitFieldMaskBit32 = 0x100000000 CBitFieldMaskBit33 = 0x200000000 CBitFieldMaskBit34 = 0x400000000 CBitFieldMaskBit35 = 0x800000000 CBitFieldMaskBit36 = 0x1000000000 CBitFieldMaskBit37 = 0x2000000000 CBitFieldMaskBit38 = 0x4000000000 CBitFieldMaskBit39 = 0x8000000000 CBitFieldMaskBit40 = 0x10000000000 CBitFieldMaskBit41 = 0x20000000000 CBitFieldMaskBit42 = 0x40000000000 CBitFieldMaskBit43 = 0x80000000000 CBitFieldMaskBit44 = 0x100000000000 CBitFieldMaskBit45 = 0x200000000000 CBitFieldMaskBit46 = 0x400000000000 CBitFieldMaskBit47 = 0x800000000000 CBitFieldMaskBit48 = 0x1000000000000 CBitFieldMaskBit49 = 0x2000000000000 CBitFieldMaskBit50 = 0x4000000000000 CBitFieldMaskBit51 = 0x8000000000000 CBitFieldMaskBit52 = 0x10000000000000 CBitFieldMaskBit53 = 0x20000000000000 CBitFieldMaskBit54 = 0x40000000000000 CBitFieldMaskBit55 = 0x80000000000000 CBitFieldMaskBit56 = 0x100000000000000 CBitFieldMaskBit57 = 0x200000000000000 CBitFieldMaskBit58 = 0x400000000000000 CBitFieldMaskBit59 = 0x800000000000000 CBitFieldMaskBit60 = 0x1000000000000000 CBitFieldMaskBit61 = 0x2000000000000000 CBitFieldMaskBit62 = 0x4000000000000000 CBitFieldMaskBit63 = 0x8000000000000000 ) type SockaddrStorage struct { Family uint16 Data [118]byte _ uint64 } type HDGeometry struct { Heads uint8 Sectors uint8 Cylinders uint16 Start 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 TpacketHdr struct { Status uint64 Len uint32 Snaplen uint32 Mac uint16 Net uint16 Sec uint32 Usec uint32 _ [4]byte } const ( SizeofTpacketHdr = 0x20 ) type RTCPLLInfo struct { Ctrl int32 Value int32 Max int32 Min int32 Posmult int32 Negmult int32 Clock int64 } type BlkpgPartition struct { Start int64 Length int64 Pno int32 Devname [64]uint8 Volname [64]uint8 _ [4]byte } const ( BLKPG = 0x1269 ) type CryptoUserAlg struct { Name [64]uint8 Driver_name [64]uint8 Module_name [64]uint8 Type uint32 Mask uint32 Refcnt uint32 Flags uint32 } type CryptoStatAEAD struct { Type [64]uint8 Encrypt_cnt uint64 Encrypt_tlen uint64 Decrypt_cnt uint64 Decrypt_tlen uint64 Err_cnt uint64 } type CryptoStatAKCipher struct { Type [64]uint8 Encrypt_cnt uint64 Encrypt_tlen uint64 Decrypt_cnt uint64 Decrypt_tlen uint64 Verify_cnt uint64 Sign_cnt uint64 Err_cnt uint64 } type CryptoStatCipher struct { Type [64]uint8 Encrypt_cnt uint64 Encrypt_tlen uint64 Decrypt_cnt uint64 Decrypt_tlen uint64 Err_cnt uint64 } type CryptoStatCompress struct { Type [64]uint8 Compress_cnt uint64 Compress_tlen uint64 Decompress_cnt uint64 Decompress_tlen uint64 Err_cnt uint64 } type CryptoStatHash struct { Type [64]uint8 Hash_cnt uint64 Hash_tlen uint64 Err_cnt uint64 } type CryptoStatKPP struct { Type [64]uint8 Setsecret_cnt uint64 Generate_public_key_cnt uint64 Compute_shared_secret_cnt uint64 Err_cnt uint64 } type CryptoStatRNG struct { Type [64]uint8 Generate_cnt uint64 Generate_tlen uint64 Seed_cnt uint64 Err_cnt uint64 } type CryptoStatLarval struct { Type [64]uint8 } type CryptoReportLarval struct { Type [64]uint8 } type CryptoReportHash struct { Type [64]uint8 Blocksize uint32 Digestsize uint32 } type CryptoReportCipher struct { Type [64]uint8 Blocksize uint32 Min_keysize uint32 Max_keysize uint32 } type CryptoReportBlkCipher struct { Type [64]uint8 Geniv [64]uint8 Blocksize uint32 Min_keysize uint32 Max_keysize uint32 Ivsize uint32 } type CryptoReportAEAD struct { Type [64]uint8 Geniv [64]uint8 Blocksize uint32 Maxauthsize uint32 Ivsize uint32 } type CryptoReportComp struct { Type [64]uint8 } type CryptoReportRNG struct { Type [64]uint8 Seedsize uint32 } type CryptoReportAKCipher struct { Type [64]uint8 } type CryptoReportKPP struct { Type [64]uint8 } type CryptoReportAcomp struct { Type [64]uint8 } type LoopInfo struct { Number int32 Device uint32 Inode uint64 Rdevice uint32 Offset int32 Encrypt_type int32 Encrypt_key_size int32 Flags int32 Name [64]uint8 Encrypt_key [32]uint8 Init [2]uint64 Reserved [4]uint8 _ [4]byte } type TIPCSubscr struct { Seq TIPCServiceRange Timeout uint32 Filter uint32 Handle [8]uint8 } type TIPCSIOCLNReq struct { Peer uint32 Id uint32 Linkname [68]uint8 } type TIPCSIOCNodeIDReq struct { Peer uint32 Id [16]uint8 } type PPSKInfo struct { Assert_sequence uint32 Clear_sequence uint32 Assert_tu PPSKTime Clear_tu PPSKTime Current_mode int32 _ [4]byte } const ( PPS_GETPARAMS = 0x800870a1 PPS_SETPARAMS = 0x400870a2 PPS_GETCAP = 0x800870a3 PPS_FETCH = 0xc00870a4 ) const ( PIDFD_NONBLOCK = 0x800 ) type SysvIpcPerm struct { Key int32 Uid uint32 Gid uint32 Cuid uint32 Cgid uint32 Mode uint32 _ [0]uint8 Seq uint16 _ uint16 _ uint64 _ uint64 } type SysvShmDesc struct { Perm SysvIpcPerm Segsz uint64 Atime int64 Dtime int64 Ctime int64 Cpid int32 Lpid int32 Nattch uint64 _ uint64 _ uint64 } type RISCVHWProbePairs struct { Key int64 Value uint64 } const ( RISCV_HWPROBE_KEY_MVENDORID = 0x0 RISCV_HWPROBE_KEY_MARCHID = 0x1 RISCV_HWPROBE_KEY_MIMPID = 0x2 RISCV_HWPROBE_KEY_BASE_BEHAVIOR = 0x3 RISCV_HWPROBE_BASE_BEHAVIOR_IMA = 0x1 RISCV_HWPROBE_KEY_IMA_EXT_0 = 0x4 RISCV_HWPROBE_IMA_FD = 0x1 RISCV_HWPROBE_IMA_C = 0x2 RISCV_HWPROBE_IMA_V = 0x4 RISCV_HWPROBE_EXT_ZBA = 0x8 RISCV_HWPROBE_EXT_ZBB = 0x10 RISCV_HWPROBE_EXT_ZBS = 0x20 RISCV_HWPROBE_EXT_ZICBOZ = 0x40 RISCV_HWPROBE_EXT_ZBC = 0x80 RISCV_HWPROBE_EXT_ZBKB = 0x100 RISCV_HWPROBE_EXT_ZBKC = 0x200 RISCV_HWPROBE_EXT_ZBKX = 0x400 RISCV_HWPROBE_EXT_ZKND = 0x800 RISCV_HWPROBE_EXT_ZKNE = 0x1000 RISCV_HWPROBE_EXT_ZKNH = 0x2000 RISCV_HWPROBE_EXT_ZKSED = 0x4000 RISCV_HWPROBE_EXT_ZKSH = 0x8000 RISCV_HWPROBE_EXT_ZKT = 0x10000 RISCV_HWPROBE_EXT_ZVBB = 0x20000 RISCV_HWPROBE_EXT_ZVBC = 0x40000 RISCV_HWPROBE_EXT_ZVKB = 0x80000 RISCV_HWPROBE_EXT_ZVKG = 0x100000 RISCV_HWPROBE_EXT_ZVKNED = 0x200000 RISCV_HWPROBE_EXT_ZVKNHA = 0x400000 RISCV_HWPROBE_EXT_ZVKNHB = 0x800000 RISCV_HWPROBE_EXT_ZVKSED = 0x1000000 RISCV_HWPROBE_EXT_ZVKSH = 0x2000000 RISCV_HWPROBE_EXT_ZVKT = 0x4000000 RISCV_HWPROBE_EXT_ZFH = 0x8000000 RISCV_HWPROBE_EXT_ZFHMIN = 0x10000000 RISCV_HWPROBE_EXT_ZIHINTNTL = 0x20000000 RISCV_HWPROBE_EXT_ZVFH = 0x40000000 RISCV_HWPROBE_EXT_ZVFHMIN = 0x80000000 RISCV_HWPROBE_EXT_ZFA = 0x100000000 RISCV_HWPROBE_EXT_ZTSO = 0x200000000 RISCV_HWPROBE_EXT_ZACAS = 0x400000000 RISCV_HWPROBE_EXT_ZICOND = 0x800000000 RISCV_HWPROBE_EXT_ZIHINTPAUSE = 0x1000000000 RISCV_HWPROBE_KEY_CPUPERF_0 = 0x5 RISCV_HWPROBE_MISALIGNED_UNKNOWN = 0x0 RISCV_HWPROBE_MISALIGNED_EMULATED = 0x1 RISCV_HWPROBE_MISALIGNED_SLOW = 0x2 RISCV_HWPROBE_MISALIGNED_FAST = 0x3 RISCV_HWPROBE_MISALIGNED_UNSUPPORTED = 0x4 RISCV_HWPROBE_MISALIGNED_MASK = 0x7 RISCV_HWPROBE_KEY_ZICBOZ_BLOCK_SIZE = 0x6 RISCV_HWPROBE_WHICH_CPUS = 0x1 ) dependencies/pkg/mod/golang.org/x/sys@v0.26.0/unix/syscall_netbsd_arm64.go0000644000000000000000000000145615107355264025170 0ustar rootroot// Copyright 2019 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:build arm64 && netbsd package unix func setTimespec(sec, nsec int64) Timespec { return Timespec{Sec: sec, Nsec: nsec} } func setTimeval(sec, usec int64) Timeval { return Timeval{Sec: sec, Usec: int32(usec)} } 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 (msghdr *Msghdr) SetIovlen(length int) { msghdr.Iovlen = int32(length) } func (cmsg *Cmsghdr) SetLen(length int) { cmsg.Len = uint32(length) } dependencies/pkg/mod/golang.org/x/sys@v0.26.0/unix/dev_netbsd.go0000644000000000000000000000162115107355264023255 0ustar rootroot// Copyright 2017 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. // Functions to access/create device major and minor numbers matching the // encoding used in NetBSD's sys/types.h header. package unix // Major returns the major component of a NetBSD device number. func Major(dev uint64) uint32 { return uint32((dev & 0x000fff00) >> 8) } // Minor returns the minor component of a NetBSD device number. func Minor(dev uint64) uint32 { minor := uint32((dev & 0x000000ff) >> 0) minor |= uint32((dev & 0xfff00000) >> 12) return minor } // Mkdev returns a NetBSD device number generated from the given major and minor // components. func Mkdev(major, minor uint32) uint64 { dev := (uint64(major) << 8) & 0x000fff00 dev |= (uint64(minor) << 12) & 0xfff00000 dev |= (uint64(minor) << 0) & 0x000000ff return dev } dependencies/pkg/mod/golang.org/x/sys@v0.26.0/unix/zsyscall_linux_sparc64.go0000644000000000000000000004067115107355264025575 0ustar rootroot// go run mksyscall.go -tags linux,sparc64 syscall_linux.go syscall_linux_sparc64.go syscall_linux_alarm.go // Code generated by the command above; see README.md. DO NOT EDIT. //go: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 fanotifyMark(fd int, flags uint, mask uint64, dirFd int, pathname *byte) (err error) { _, _, e1 := Syscall6(SYS_FANOTIFY_MARK, uintptr(fd), uintptr(flags), uintptr(mask), uintptr(dirFd), uintptr(unsafe.Pointer(pathname)), 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 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 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 Fstatat(dirfd int, path string, stat *Stat_t, flags int) (err error) { var _p0 *byte _p0, err = BytePtrFromString(path) if err != nil { return } _, _, e1 := Syscall6(SYS_FSTATAT64, uintptr(dirfd), 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, _ := RawSyscallNoError(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, _ := RawSyscallNoError(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, _ := RawSyscallNoError(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, _ := RawSyscallNoError(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 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 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 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) (prev int, err error) { r0, _, e1 := Syscall(SYS_SETFSGID, uintptr(gid), 0, 0) prev = int(r0) if e1 != 0 { err = errnoErr(e1) } return } // THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT func setfsuid(uid int) (prev int, err error) { r0, _, e1 := Syscall(SYS_SETFSUID, uintptr(uid), 0, 0) prev = int(r0) 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 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 futimesat(dirfd int, path string, times *[2]Timeval) (err error) { var _p0 *byte _p0, err = BytePtrFromString(path) if err != nil { return } _, _, e1 := Syscall(SYS_FUTIMESAT, uintptr(dirfd), uintptr(unsafe.Pointer(_p0)), 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 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 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 Alarm(seconds uint) (remaining uint, err error) { r0, _, e1 := Syscall(SYS_ALARM, uintptr(seconds), 0, 0) remaining = uint(r0) if e1 != 0 { err = errnoErr(e1) } return } dependencies/pkg/mod/golang.org/x/sys@v0.26.0/unix/sockcmsg_zos.go0000644000000000000000000000334115107355264023645 0ustar rootroot// Copyright 2024 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. // Socket control messages package unix import "unsafe" // UnixCredentials encodes credentials into a socket control message // for sending to another process. This can be used for // authentication. func UnixCredentials(ucred *Ucred) []byte { b := make([]byte, CmsgSpace(SizeofUcred)) h := (*Cmsghdr)(unsafe.Pointer(&b[0])) h.Level = SOL_SOCKET h.Type = SCM_CREDENTIALS h.SetLen(CmsgLen(SizeofUcred)) *(*Ucred)(h.data(0)) = *ucred return b } // ParseUnixCredentials decodes a socket control message that contains // credentials in a Ucred structure. To receive such a message, the // SO_PASSCRED option must be enabled on the socket. func ParseUnixCredentials(m *SocketControlMessage) (*Ucred, error) { if m.Header.Level != SOL_SOCKET { return nil, EINVAL } if m.Header.Type != SCM_CREDENTIALS { return nil, EINVAL } ucred := *(*Ucred)(unsafe.Pointer(&m.Data[0])) return &ucred, nil } // PktInfo4 encodes Inet4Pktinfo into a socket control message of type IP_PKTINFO. func PktInfo4(info *Inet4Pktinfo) []byte { b := make([]byte, CmsgSpace(SizeofInet4Pktinfo)) h := (*Cmsghdr)(unsafe.Pointer(&b[0])) h.Level = SOL_IP h.Type = IP_PKTINFO h.SetLen(CmsgLen(SizeofInet4Pktinfo)) *(*Inet4Pktinfo)(h.data(0)) = *info return b } // PktInfo6 encodes Inet6Pktinfo into a socket control message of type IPV6_PKTINFO. func PktInfo6(info *Inet6Pktinfo) []byte { b := make([]byte, CmsgSpace(SizeofInet6Pktinfo)) h := (*Cmsghdr)(unsafe.Pointer(&b[0])) h.Level = SOL_IPV6 h.Type = IPV6_PKTINFO h.SetLen(CmsgLen(SizeofInet6Pktinfo)) *(*Inet6Pktinfo)(h.data(0)) = *info return b } dependencies/pkg/mod/golang.org/x/sys@v0.26.0/unix/endian_big.go0000644000000000000000000000051215107355264023215 0ustar rootroot// 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. // //go:build armbe || arm64be || m68k || mips || mips64 || mips64p32 || ppc || ppc64 || s390 || s390x || shbe || sparc || sparc64 package unix const isBigEndian = true dependencies/pkg/mod/golang.org/x/sys@v0.26.0/unix/mksyscall_solaris.go0000644000000000000000000002322615107355264024703 0ustar rootroot// Copyright 2019 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:build ignore /* This program reads a file containing function prototypes (like syscall_solaris.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 err. * If go func name needs to be different than its libc name, * or the function is not in libc, name could be specified * at the end, after "=" sign, like //sys getsockopt(s int, level int, name int, val uintptr, vallen *_Socklen) (err error) = libsocket.getsockopt */ package main import ( "bufio" "flag" "fmt" "os" "regexp" "strings" ) var ( b32 = flag.Bool("b32", false, "32bit big-endian") l32 = flag.Bool("l32", false, "32bit little-endian") tags = flag.String("tags", "", "build tags") illumos = flag.Bool("illumos", false, "illumos specific code generation") ) // cmdLine returns this programs's commandline arguments func cmdLine() string { return "go run mksyscall_solaris.go " + strings.Join(os.Args[1:], " ") } // goBuildTags returns build tags in the go:build format. func goBuildTags() string { return strings.ReplaceAll(*tags, ",", " && ") } // Param is function parameter type Param struct { Name string Type string } // usage prints the program usage func usage() { fmt.Fprintf(os.Stderr, "usage: go run mksyscall_solaris.go [-b32 | -l32] [-tags x,y] [file ...]\n") os.Exit(1) } // parseParamList parses parameter list and returns a slice of parameters func parseParamList(list string) []string { list = strings.TrimSpace(list) if list == "" { return []string{} } return regexp.MustCompile(`\s*,\s*`).Split(list, -1) } // parseParam splits a parameter into name and type func parseParam(p string) Param { ps := regexp.MustCompile(`^(\S*) (\S*)$`).FindStringSubmatch(p) if ps == nil { fmt.Fprintf(os.Stderr, "malformed parameter: %s\n", p) os.Exit(1) } return Param{ps[1], ps[2]} } func main() { flag.Usage = usage flag.Parse() if len(flag.Args()) <= 0 { fmt.Fprintf(os.Stderr, "no files to parse provided\n") usage() } endianness := "" if *b32 { endianness = "big-endian" } else if *l32 { endianness = "little-endian" } pack := "" text := "" dynimports := "" linknames := "" var vars []string for _, path := range flag.Args() { file, err := os.Open(path) if err != nil { fmt.Fprintf(os.Stderr, err.Error()) os.Exit(1) } s := bufio.NewScanner(file) for s.Scan() { t := s.Text() if p := regexp.MustCompile(`^package (\S+)$`).FindStringSubmatch(t); p != nil && pack == "" { pack = p[1] } nonblock := regexp.MustCompile(`^\/\/sysnb\t`).FindStringSubmatch(t) if regexp.MustCompile(`^\/\/sys\t`).FindStringSubmatch(t) == nil && nonblock == nil { continue } // 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. f := regexp.MustCompile(`^\/\/sys(nb)?\t(\w+)\(([^()]*)\)\s*(?:\(([^()]+)\))?\s*(?:=\s*(?:(\w*)\.)?(\w*))?$`).FindStringSubmatch(t) if f == nil { fmt.Fprintf(os.Stderr, "%s:%s\nmalformed //sys declaration\n", path, t) os.Exit(1) } funct, inps, outps, modname, sysname := f[2], f[3], f[4], f[5], f[6] // Split argument lists on comma. in := parseParamList(inps) out := parseParamList(outps) inps = strings.Join(in, ", ") outps = strings.Join(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" // So file name. if modname == "" { modname = "libc" } // System call name. if sysname == "" { sysname = funct } // System call pointer variable name. sysvarname := fmt.Sprintf("proc%s", sysname) strconvfunc := "BytePtrFromString" strconvtype := "*byte" sysname = strings.ToLower(sysname) // All libc functions are lowercase. if funct != "ioctlPtrRet" { // Runtime import of function to allow cross-platform builds. dynimports += fmt.Sprintf("//go:cgo_import_dynamic libc_%s %s \"%s.so\"\n", sysname, sysname, modname) // Link symbol to proc address variable. linknames += fmt.Sprintf("//go:linkname %s libc_%s\n", sysvarname, sysname) // Library proc address variable. vars = append(vars, sysvarname) } // Go function header. outlist := strings.Join(out, ", ") if outlist != "" { outlist = fmt.Sprintf(" (%s)", outlist) } if text != "" { text += "\n" } text += fmt.Sprintf("func %s(%s)%s {\n", funct, strings.Join(in, ", "), outlist) // Check if err return available errvar := "" for _, param := range out { p := parseParam(param) if p.Type == "error" { errvar = p.Name continue } } // Prepare arguments to Syscall. var args []string n := 0 for _, param := range in { p := parseParam(param) if regexp.MustCompile(`^\*`).FindStringSubmatch(p.Type) != nil { args = append(args, "uintptr(unsafe.Pointer("+p.Name+"))") } else if p.Type == "string" && errvar != "" { text += fmt.Sprintf("\tvar _p%d %s\n", n, strconvtype) text += fmt.Sprintf("\t_p%d, %s = %s(%s)\n", n, errvar, strconvfunc, p.Name) text += fmt.Sprintf("\tif %s != nil {\n\t\treturn\n\t}\n", errvar) args = append(args, fmt.Sprintf("uintptr(unsafe.Pointer(_p%d))", n)) n++ } else if p.Type == "string" { fmt.Fprintf(os.Stderr, path+":"+funct+" uses string arguments, but has no error return\n") text += fmt.Sprintf("\tvar _p%d %s\n", n, strconvtype) text += fmt.Sprintf("\t_p%d, _ = %s(%s)\n", n, strconvfunc, p.Name) args = append(args, fmt.Sprintf("uintptr(unsafe.Pointer(_p%d))", n)) n++ } else if s := regexp.MustCompile(`^\[\](.*)`).FindStringSubmatch(p.Type); s != nil { // 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 += fmt.Sprintf("\tvar _p%d *%s\n", n, s[1]) text += fmt.Sprintf("\tif len(%s) > 0 {\n\t\t_p%d = &%s[0]\n\t}\n", p.Name, n, p.Name) args = append(args, fmt.Sprintf("uintptr(unsafe.Pointer(_p%d))", n), fmt.Sprintf("uintptr(len(%s))", p.Name)) n++ } else if p.Type == "int64" && endianness != "" { if endianness == "big-endian" { args = append(args, fmt.Sprintf("uintptr(%s>>32)", p.Name), fmt.Sprintf("uintptr(%s)", p.Name)) } else { args = append(args, fmt.Sprintf("uintptr(%s)", p.Name), fmt.Sprintf("uintptr(%s>>32)", p.Name)) } } else if p.Type == "bool" { text += fmt.Sprintf("\tvar _p%d uint32\n", n) text += fmt.Sprintf("\tif %s {\n\t\t_p%d = 1\n\t} else {\n\t\t_p%d = 0\n\t}\n", p.Name, n, n) args = append(args, fmt.Sprintf("uintptr(_p%d)", n)) n++ } else { args = append(args, fmt.Sprintf("uintptr(%s)", p.Name)) } } nargs := len(args) // Determine which form to use; pad args with zeros. asm := "sysvicall6" if nonblock != nil { asm = "rawSysvicall6" } if len(args) <= 6 { for len(args) < 6 { args = append(args, "0") } } else { fmt.Fprintf(os.Stderr, "%s: too many arguments to system call\n", path) os.Exit(1) } // Actual call. arglist := strings.Join(args, ", ") call := fmt.Sprintf("%s(uintptr(unsafe.Pointer(&%s)), %d, %s)", asm, sysvarname, nargs, arglist) // Assign return values. body := "" ret := []string{"_", "_", "_"} doErrno := false for i := 0; i < len(out); i++ { p := parseParam(out[i]) reg := "" if p.Name == "err" { reg = "e1" ret[2] = reg doErrno = true } else { reg = fmt.Sprintf("r%d", i) ret[i] = reg } if p.Type == "bool" { reg = fmt.Sprintf("%d != 0", reg) } if p.Type == "int64" && endianness != "" { // 64-bit number in r1:r0 or r0:r1. if i+2 > len(out) { fmt.Fprintf(os.Stderr, "%s: not enough registers for int64 return\n", path) os.Exit(1) } if endianness == "big-endian" { reg = fmt.Sprintf("int64(r%d)<<32 | int64(r%d)", i, i+1) } else { reg = fmt.Sprintf("int64(r%d)<<32 | int64(r%d)", i+1, i) } ret[i] = fmt.Sprintf("r%d", i) ret[i+1] = fmt.Sprintf("r%d", i+1) } if reg != "e1" { body += fmt.Sprintf("\t%s = %s(%s)\n", p.Name, p.Type, reg) } } if ret[0] == "_" && ret[1] == "_" && ret[2] == "_" { text += fmt.Sprintf("\t%s\n", call) } else { text += fmt.Sprintf("\t%s, %s, %s := %s\n", ret[0], ret[1], ret[2], call) } text += body if doErrno { text += "\tif e1 != 0 {\n" text += "\t\terr = errnoErr(e1)\n" text += "\t}\n" } text += "\treturn\n" text += "}\n" } if err := s.Err(); err != nil { fmt.Fprintf(os.Stderr, err.Error()) os.Exit(1) } file.Close() } imp := "" if pack != "unix" { imp = "import \"golang.org/x/sys/unix\"\n" } syscallimp := "" if !*illumos { syscallimp = "\"syscall\"" } vardecls := "\t" + strings.Join(vars, ",\n\t") vardecls += " syscallFunc" fmt.Printf(srcTemplate, cmdLine(), goBuildTags(), pack, syscallimp, imp, dynimports, linknames, vardecls, text) } const srcTemplate = `// %s // Code generated by the command above; see README.md. DO NOT EDIT. //go:build %s package %s import ( "unsafe" %s ) %s %s %s var ( %s ) %s ` dependencies/pkg/mod/golang.org/x/sys@v0.26.0/unix/zerrors_linux_mips64.go0000644000000000000000000010600315107355264025267 0ustar rootroot// mkerrors.sh -Wall -Werror -static -I/tmp/mips64/include // Code generated by the command above; see README.md. DO NOT EDIT. //go:build mips64 && linux // Code generated by cmd/cgo -godefs; DO NOT EDIT. // cgo -godefs -- -Wall -Werror -static -I/tmp/mips64/include _const.go package unix import "syscall" const ( B1000000 = 0x1008 B115200 = 0x1002 B1152000 = 0x1009 B1500000 = 0x100a B2000000 = 0x100b B230400 = 0x1003 B2500000 = 0x100c B3000000 = 0x100d B3500000 = 0x100e B4000000 = 0x100f B460800 = 0x1004 B500000 = 0x1005 B57600 = 0x1001 B576000 = 0x1006 B921600 = 0x1007 BLKALIGNOFF = 0x2000127a BLKBSZGET = 0x40081270 BLKBSZSET = 0x80081271 BLKDISCARD = 0x20001277 BLKDISCARDZEROES = 0x2000127c BLKFLSBUF = 0x20001261 BLKFRAGET = 0x20001265 BLKFRASET = 0x20001264 BLKGETDISKSEQ = 0x40081280 BLKGETSIZE = 0x20001260 BLKGETSIZE64 = 0x40081272 BLKIOMIN = 0x20001278 BLKIOOPT = 0x20001279 BLKPBSZGET = 0x2000127b BLKRAGET = 0x20001263 BLKRASET = 0x20001262 BLKROGET = 0x2000125e BLKROSET = 0x2000125d BLKROTATIONAL = 0x2000127e BLKRRPART = 0x2000125f BLKSECDISCARD = 0x2000127d BLKSECTGET = 0x20001267 BLKSECTSET = 0x20001266 BLKSSZGET = 0x20001268 BLKZEROOUT = 0x2000127f BOTHER = 0x1000 BS1 = 0x2000 BSDLY = 0x2000 CBAUD = 0x100f CBAUDEX = 0x1000 CIBAUD = 0x100f0000 CLOCAL = 0x800 CR1 = 0x200 CR2 = 0x400 CR3 = 0x600 CRDLY = 0x600 CREAD = 0x80 CS6 = 0x10 CS7 = 0x20 CS8 = 0x30 CSIZE = 0x30 CSTOPB = 0x40 ECCGETLAYOUT = 0x41484d11 ECCGETSTATS = 0x40104d12 ECHOCTL = 0x200 ECHOE = 0x10 ECHOK = 0x20 ECHOKE = 0x800 ECHONL = 0x40 ECHOPRT = 0x400 EFD_CLOEXEC = 0x80000 EFD_NONBLOCK = 0x80 EPIOCGPARAMS = 0x40088a02 EPIOCSPARAMS = 0x80088a01 EPOLL_CLOEXEC = 0x80000 EXTPROC = 0x10000 FF1 = 0x8000 FFDLY = 0x8000 FICLONE = 0x80049409 FICLONERANGE = 0x8020940d FLUSHO = 0x2000 FS_IOC_ENABLE_VERITY = 0x80806685 FS_IOC_GETFLAGS = 0x40086601 FS_IOC_GET_ENCRYPTION_NONCE = 0x4010661b FS_IOC_GET_ENCRYPTION_POLICY = 0x800c6615 FS_IOC_GET_ENCRYPTION_PWSALT = 0x80106614 FS_IOC_SETFLAGS = 0x80086602 FS_IOC_SET_ENCRYPTION_POLICY = 0x400c6613 F_GETLK = 0xe F_GETLK64 = 0xe F_GETOWN = 0x17 F_RDLCK = 0x0 F_SETLK = 0x6 F_SETLK64 = 0x6 F_SETLKW = 0x7 F_SETLKW64 = 0x7 F_SETOWN = 0x18 F_UNLCK = 0x2 F_WRLCK = 0x1 HIDIOCGRAWINFO = 0x40084803 HIDIOCGRDESC = 0x50044802 HIDIOCGRDESCSIZE = 0x40044801 HUPCL = 0x400 ICANON = 0x2 IEXTEN = 0x100 IN_CLOEXEC = 0x80000 IN_NONBLOCK = 0x80 IOCTL_VM_SOCKETS_GET_LOCAL_CID = 0x200007b9 ISIG = 0x1 IUCLC = 0x200 IXOFF = 0x1000 IXON = 0x400 MAP_ANON = 0x800 MAP_ANONYMOUS = 0x800 MAP_DENYWRITE = 0x2000 MAP_EXECUTABLE = 0x4000 MAP_GROWSDOWN = 0x1000 MAP_HUGETLB = 0x80000 MAP_LOCKED = 0x8000 MAP_NONBLOCK = 0x20000 MAP_NORESERVE = 0x400 MAP_POPULATE = 0x10000 MAP_RENAME = 0x800 MAP_STACK = 0x40000 MCL_CURRENT = 0x1 MCL_FUTURE = 0x2 MCL_ONFAULT = 0x4 MEMERASE = 0x80084d02 MEMERASE64 = 0x80104d14 MEMGETBADBLOCK = 0x80084d0b MEMGETINFO = 0x40204d01 MEMGETOOBSEL = 0x40c84d0a MEMGETREGIONCOUNT = 0x40044d07 MEMISLOCKED = 0x40084d17 MEMLOCK = 0x80084d05 MEMREAD = 0xc0404d1a MEMREADOOB = 0xc0104d04 MEMSETBADBLOCK = 0x80084d0c MEMUNLOCK = 0x80084d06 MEMWRITEOOB = 0xc0104d03 MTDFILEMODE = 0x20004d13 NFDBITS = 0x40 NLDLY = 0x100 NOFLSH = 0x80 NS_GET_MNTNS_ID = 0x4008b705 NS_GET_NSTYPE = 0x2000b703 NS_GET_OWNER_UID = 0x2000b704 NS_GET_PARENT = 0x2000b702 NS_GET_PID_FROM_PIDNS = 0x4004b706 NS_GET_PID_IN_PIDNS = 0x4004b708 NS_GET_TGID_FROM_PIDNS = 0x4004b707 NS_GET_TGID_IN_PIDNS = 0x4004b709 NS_GET_USERNS = 0x2000b701 OLCUC = 0x2 ONLCR = 0x4 OTPERASE = 0x800c4d19 OTPGETREGIONCOUNT = 0x80044d0e OTPGETREGIONINFO = 0x800c4d0f OTPLOCK = 0x400c4d10 OTPSELECT = 0x40044d0d 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_RSYNC = 0x4010 O_SYNC = 0x4010 O_TMPFILE = 0x410000 O_TRUNC = 0x200 PARENB = 0x100 PARODD = 0x200 PENDIN = 0x4000 PERF_EVENT_IOC_DISABLE = 0x20002401 PERF_EVENT_IOC_ENABLE = 0x20002400 PERF_EVENT_IOC_ID = 0x40082407 PERF_EVENT_IOC_MODIFY_ATTRIBUTES = 0x8008240b PERF_EVENT_IOC_PAUSE_OUTPUT = 0x80042409 PERF_EVENT_IOC_PERIOD = 0x80082404 PERF_EVENT_IOC_QUERY_BPF = 0xc008240a PERF_EVENT_IOC_REFRESH = 0x20002402 PERF_EVENT_IOC_RESET = 0x20002403 PERF_EVENT_IOC_SET_BPF = 0x80042408 PERF_EVENT_IOC_SET_FILTER = 0x80082406 PERF_EVENT_IOC_SET_OUTPUT = 0x20002405 PPPIOCATTACH = 0x8004743d PPPIOCATTCHAN = 0x80047438 PPPIOCBRIDGECHAN = 0x80047435 PPPIOCCONNECT = 0x8004743a PPPIOCDETACH = 0x8004743c PPPIOCDISCONN = 0x20007439 PPPIOCGASYNCMAP = 0x40047458 PPPIOCGCHAN = 0x40047437 PPPIOCGDEBUG = 0x40047441 PPPIOCGFLAGS = 0x4004745a PPPIOCGIDLE = 0x4010743f PPPIOCGIDLE32 = 0x4008743f PPPIOCGIDLE64 = 0x4010743f PPPIOCGL2TPSTATS = 0x40487436 PPPIOCGMRU = 0x40047453 PPPIOCGRASYNCMAP = 0x40047455 PPPIOCGUNIT = 0x40047456 PPPIOCGXASYNCMAP = 0x40207450 PPPIOCSACTIVE = 0x80107446 PPPIOCSASYNCMAP = 0x80047457 PPPIOCSCOMPRESS = 0x8010744d PPPIOCSDEBUG = 0x80047440 PPPIOCSFLAGS = 0x80047459 PPPIOCSMAXCID = 0x80047451 PPPIOCSMRRU = 0x8004743b PPPIOCSMRU = 0x80047452 PPPIOCSNPMODE = 0x8008744b PPPIOCSPASS = 0x80107447 PPPIOCSRASYNCMAP = 0x80047454 PPPIOCSXASYNCMAP = 0x8020744f PPPIOCUNBRIDGECHAN = 0x20007434 PPPIOCXFERUNIT = 0x2000744e PR_SET_PTRACER_ANY = 0xffffffffffffffff PTRACE_GETFPREGS = 0xe PTRACE_GET_THREAD_AREA = 0x19 PTRACE_GET_THREAD_AREA_3264 = 0xc4 PTRACE_GET_WATCH_REGS = 0xd0 PTRACE_OLDSETOPTIONS = 0x15 PTRACE_PEEKDATA_3264 = 0xc1 PTRACE_PEEKTEXT_3264 = 0xc0 PTRACE_POKEDATA_3264 = 0xc3 PTRACE_POKETEXT_3264 = 0xc2 PTRACE_SETFPREGS = 0xf PTRACE_SET_THREAD_AREA = 0x1a PTRACE_SET_WATCH_REGS = 0xd1 RLIMIT_AS = 0x6 RLIMIT_MEMLOCK = 0x9 RLIMIT_NOFILE = 0x5 RLIMIT_NPROC = 0x8 RLIMIT_RSS = 0x7 RNDADDENTROPY = 0x80085203 RNDADDTOENTCNT = 0x80045201 RNDCLEARPOOL = 0x20005206 RNDGETENTCNT = 0x40045200 RNDGETPOOL = 0x40085202 RNDRESEEDCRNG = 0x20005207 RNDZAPENTCNT = 0x20005204 RTC_AIE_OFF = 0x20007002 RTC_AIE_ON = 0x20007001 RTC_ALM_READ = 0x40247008 RTC_ALM_SET = 0x80247007 RTC_EPOCH_READ = 0x4008700d RTC_EPOCH_SET = 0x8008700e RTC_IRQP_READ = 0x4008700b RTC_IRQP_SET = 0x8008700c RTC_PARAM_GET = 0x80187013 RTC_PARAM_SET = 0x80187014 RTC_PIE_OFF = 0x20007006 RTC_PIE_ON = 0x20007005 RTC_PLL_GET = 0x40207011 RTC_PLL_SET = 0x80207012 RTC_RD_TIME = 0x40247009 RTC_SET_TIME = 0x8024700a RTC_UIE_OFF = 0x20007004 RTC_UIE_ON = 0x20007003 RTC_VL_CLR = 0x20007014 RTC_VL_READ = 0x40047013 RTC_WIE_OFF = 0x20007010 RTC_WIE_ON = 0x2000700f RTC_WKALM_RD = 0x40287010 RTC_WKALM_SET = 0x8028700f SCM_TIMESTAMPING = 0x25 SCM_TIMESTAMPING_OPT_STATS = 0x36 SCM_TIMESTAMPING_PKTINFO = 0x3a SCM_TIMESTAMPNS = 0x23 SCM_TXTIME = 0x3d SCM_WIFI_STATUS = 0x29 SECCOMP_IOCTL_NOTIF_ADDFD = 0x80182103 SECCOMP_IOCTL_NOTIF_ID_VALID = 0x80082102 SECCOMP_IOCTL_NOTIF_SET_FLAGS = 0x80082104 SFD_CLOEXEC = 0x80000 SFD_NONBLOCK = 0x80 SIOCATMARK = 0x40047307 SIOCGPGRP = 0x40047309 SIOCGSTAMPNS_NEW = 0x40108907 SIOCGSTAMP_NEW = 0x40108906 SIOCINQ = 0x467f SIOCOUTQ = 0x7472 SIOCSPGRP = 0x80047308 SOCK_CLOEXEC = 0x80000 SOCK_DGRAM = 0x1 SOCK_NONBLOCK = 0x80 SOCK_STREAM = 0x2 SOL_SOCKET = 0xffff SO_ACCEPTCONN = 0x1009 SO_ATTACH_BPF = 0x32 SO_ATTACH_REUSEPORT_CBPF = 0x33 SO_ATTACH_REUSEPORT_EBPF = 0x34 SO_BINDTODEVICE = 0x19 SO_BINDTOIFINDEX = 0x3e SO_BPF_EXTENSIONS = 0x30 SO_BROADCAST = 0x20 SO_BSDCOMPAT = 0xe SO_BUF_LOCK = 0x48 SO_BUSY_POLL = 0x2e SO_BUSY_POLL_BUDGET = 0x46 SO_CNX_ADVICE = 0x35 SO_COOKIE = 0x39 SO_DETACH_REUSEPORT_BPF = 0x44 SO_DOMAIN = 0x1029 SO_DONTROUTE = 0x10 SO_ERROR = 0x1007 SO_INCOMING_CPU = 0x31 SO_INCOMING_NAPI_ID = 0x38 SO_KEEPALIVE = 0x8 SO_LINGER = 0x80 SO_LOCK_FILTER = 0x2c SO_MARK = 0x24 SO_MAX_PACING_RATE = 0x2f SO_MEMINFO = 0x37 SO_NETNS_COOKIE = 0x47 SO_NOFCS = 0x2b SO_OOBINLINE = 0x100 SO_PASSCRED = 0x11 SO_PASSPIDFD = 0x4c SO_PASSSEC = 0x22 SO_PEEK_OFF = 0x2a SO_PEERCRED = 0x12 SO_PEERGROUPS = 0x3b SO_PEERPIDFD = 0x4d SO_PEERSEC = 0x1e SO_PREFER_BUSY_POLL = 0x45 SO_PROTOCOL = 0x1028 SO_RCVBUF = 0x1002 SO_RCVBUFFORCE = 0x21 SO_RCVLOWAT = 0x1004 SO_RCVMARK = 0x4b SO_RCVTIMEO = 0x1006 SO_RCVTIMEO_NEW = 0x42 SO_RCVTIMEO_OLD = 0x1006 SO_RESERVE_MEM = 0x49 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_SNDTIMEO_NEW = 0x43 SO_SNDTIMEO_OLD = 0x1005 SO_STYLE = 0x1008 SO_TIMESTAMPING = 0x25 SO_TIMESTAMPING_NEW = 0x41 SO_TIMESTAMPING_OLD = 0x25 SO_TIMESTAMPNS = 0x23 SO_TIMESTAMPNS_NEW = 0x40 SO_TIMESTAMPNS_OLD = 0x23 SO_TIMESTAMP_NEW = 0x3f SO_TXREHASH = 0x4a SO_TXTIME = 0x3d SO_TYPE = 0x1008 SO_WIFI_STATUS = 0x29 SO_ZEROCOPY = 0x3c TAB1 = 0x800 TAB2 = 0x1000 TAB3 = 0x1800 TABDLY = 0x1800 TCFLSH = 0x5407 TCGETA = 0x5401 TCGETS = 0x540d TCGETS2 = 0x4030542a 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 TFD_CLOEXEC = 0x80000 TFD_NONBLOCK = 0x80 TIOCCBRK = 0x5428 TIOCCONS = 0x80047478 TIOCEXCL = 0x740d TIOCGDEV = 0x40045432 TIOCGETD = 0x7400 TIOCGETP = 0x7408 TIOCGEXCL = 0x40045440 TIOCGICOUNT = 0x5492 TIOCGISO7816 = 0x40285442 TIOCGLCKTRMIOS = 0x548b TIOCGLTC = 0x7474 TIOCGPGRP = 0x40047477 TIOCGPKT = 0x40045438 TIOCGPTLCK = 0x40045439 TIOCGPTN = 0x40045430 TIOCGPTPEER = 0x20005441 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_RI = 0x200 TIOCM_RNG = 0x200 TIOCM_SR = 0x20 TIOCM_ST = 0x10 TIOCNOTTY = 0x5471 TIOCNXCL = 0x740e TIOCOUTQ = 0x7472 TIOCPKT = 0x5470 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 TIOCSISO7816 = 0xc0285443 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 TUNGETDEVNETNS = 0x200054e3 TUNGETFEATURES = 0x400454cf TUNGETFILTER = 0x401054db TUNGETIFF = 0x400454d2 TUNGETSNDBUF = 0x400454d3 TUNGETVNETBE = 0x400454df TUNGETVNETHDRSZ = 0x400454d7 TUNGETVNETLE = 0x400454dd TUNSETCARRIER = 0x800454e2 TUNSETDEBUG = 0x800454c9 TUNSETFILTEREBPF = 0x400454e1 TUNSETGROUP = 0x800454ce TUNSETIFF = 0x800454ca TUNSETIFINDEX = 0x800454da TUNSETLINK = 0x800454cd TUNSETNOCSUM = 0x800454c8 TUNSETOFFLOAD = 0x800454d0 TUNSETOWNER = 0x800454cc TUNSETPERSIST = 0x800454cb TUNSETQUEUE = 0x800454d9 TUNSETSNDBUF = 0x800454d4 TUNSETSTEERINGEBPF = 0x400454e0 TUNSETTXFILTER = 0x800454d1 TUNSETVNETBE = 0x800454de TUNSETVNETHDRSZ = 0x800454d8 TUNSETVNETLE = 0x800454dc UBI_IOCATT = 0x80186f40 UBI_IOCDET = 0x80046f41 UBI_IOCEBCH = 0x80044f02 UBI_IOCEBER = 0x80044f01 UBI_IOCEBISMAP = 0x40044f05 UBI_IOCEBMAP = 0x80084f03 UBI_IOCEBUNMAP = 0x80044f04 UBI_IOCMKVOL = 0x80986f00 UBI_IOCRMVOL = 0x80046f01 UBI_IOCRNVOL = 0x91106f03 UBI_IOCRPEB = 0x80046f04 UBI_IOCRSVOL = 0x800c6f02 UBI_IOCSETVOLPROP = 0x80104f06 UBI_IOCSPEB = 0x80046f05 UBI_IOCVOLCRBLK = 0x80804f07 UBI_IOCVOLRMBLK = 0x20004f08 UBI_IOCVOLUP = 0x80084f00 VDISCARD = 0xd VEOF = 0x10 VEOL = 0x11 VEOL2 = 0x6 VMIN = 0x4 VREPRINT = 0xc VSTART = 0x8 VSTOP = 0x9 VSUSP = 0xa VSWTC = 0x7 VSWTCH = 0x7 VT1 = 0x4000 VTDLY = 0x4000 VTIME = 0x5 VWERASE = 0xe WDIOC_GETBOOTSTATUS = 0x40045702 WDIOC_GETPRETIMEOUT = 0x40045709 WDIOC_GETSTATUS = 0x40045701 WDIOC_GETSUPPORT = 0x40285700 WDIOC_GETTEMP = 0x40045703 WDIOC_GETTIMELEFT = 0x4004570a WDIOC_GETTIMEOUT = 0x40045707 WDIOC_KEEPALIVE = 0x40045705 WDIOC_SETOPTIONS = 0x40045704 WORDSIZE = 0x40 XCASE = 0x4 XTABS = 0x1800 _HIDIOCGRAWNAME = 0x40804804 _HIDIOCGRAWPHYS = 0x40404805 _HIDIOCGRAWUNIQ = 0x40404808 ) // Errors const ( EADDRINUSE = syscall.Errno(0x7d) EADDRNOTAVAIL = syscall.Errno(0x7e) EADV = syscall.Errno(0x44) EAFNOSUPPORT = syscall.Errno(0x7c) EALREADY = syscall.Errno(0x95) EBADE = syscall.Errno(0x32) EBADFD = syscall.Errno(0x51) EBADMSG = syscall.Errno(0x4d) EBADR = syscall.Errno(0x33) EBADRQC = syscall.Errno(0x36) EBADSLT = syscall.Errno(0x37) EBFONT = syscall.Errno(0x3b) ECANCELED = syscall.Errno(0x9e) 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) EDOTDOT = syscall.Errno(0x49) EDQUOT = syscall.Errno(0x46d) 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) EISCONN = syscall.Errno(0x85) 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) 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) ENOANO = syscall.Errno(0x35) ENOBUFS = syscall.Errno(0x84) ENOCSI = syscall.Errno(0x2b) ENODATA = syscall.Errno(0x3d) ENOKEY = syscall.Errno(0xa1) ENOLCK = syscall.Errno(0x2e) ENOLINK = syscall.Errno(0x43) ENOMEDIUM = syscall.Errno(0x9f) ENOMSG = syscall.Errno(0x23) ENONET = syscall.Errno(0x40) ENOPKG = syscall.Errno(0x41) ENOPROTOOPT = syscall.Errno(0x63) ENOSR = syscall.Errno(0x3f) ENOSTR = syscall.Errno(0x3c) ENOSYS = syscall.Errno(0x59) ENOTCONN = syscall.Errno(0x86) ENOTEMPTY = syscall.Errno(0x5d) ENOTNAM = syscall.Errno(0x89) ENOTRECOVERABLE = syscall.Errno(0xa6) ENOTSOCK = syscall.Errno(0x5f) ENOTSUP = syscall.Errno(0x7a) ENOTUNIQ = syscall.Errno(0x50) EOPNOTSUPP = syscall.Errno(0x7a) EOVERFLOW = syscall.Errno(0x4f) EOWNERDEAD = syscall.Errno(0xa5) EPFNOSUPPORT = syscall.Errno(0x7b) EPROTO = syscall.Errno(0x47) EPROTONOSUPPORT = syscall.Errno(0x78) EPROTOTYPE = syscall.Errno(0x62) EREMCHG = syscall.Errno(0x52) EREMDEV = syscall.Errno(0x8e) EREMOTE = syscall.Errno(0x42) EREMOTEIO = syscall.Errno(0x8c) ERESTART = syscall.Errno(0x5b) ERFKILL = syscall.Errno(0xa7) ESHUTDOWN = syscall.Errno(0x8f) ESOCKTNOSUPPORT = syscall.Errno(0x79) ESRMNT = syscall.Errno(0x45) ESTALE = syscall.Errno(0x97) ESTRPIPE = syscall.Errno(0x5c) ETIME = syscall.Errno(0x3e) ETIMEDOUT = syscall.Errno(0x91) ETOOMANYREFS = syscall.Errno(0x90) EUCLEAN = syscall.Errno(0x87) EUNATCH = syscall.Errno(0x2a) EUSERS = syscall.Errno(0x5e) EXFULL = syscall.Errno(0x34) ) // Signals const ( SIGBUS = syscall.Signal(0xa) SIGCHLD = syscall.Signal(0x12) SIGCLD = syscall.Signal(0x12) SIGCONT = syscall.Signal(0x19) SIGEMT = syscall.Signal(0x7) SIGIO = syscall.Signal(0x16) SIGPOLL = syscall.Signal(0x16) SIGPROF = syscall.Signal(0x1d) SIGPWR = syscall.Signal(0x13) SIGSTOP = syscall.Signal(0x17) SIGSYS = syscall.Signal(0xc) 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 errorList = [...]struct { num syscall.Errno name string desc string }{ {1, "EPERM", "operation not permitted"}, {2, "ENOENT", "no such file or directory"}, {3, "ESRCH", "no such process"}, {4, "EINTR", "interrupted system call"}, {5, "EIO", "input/output error"}, {6, "ENXIO", "no such device or address"}, {7, "E2BIG", "argument list too long"}, {8, "ENOEXEC", "exec format error"}, {9, "EBADF", "bad file descriptor"}, {10, "ECHILD", "no child processes"}, {11, "EAGAIN", "resource temporarily unavailable"}, {12, "ENOMEM", "cannot allocate memory"}, {13, "EACCES", "permission denied"}, {14, "EFAULT", "bad address"}, {15, "ENOTBLK", "block device required"}, {16, "EBUSY", "device or resource busy"}, {17, "EEXIST", "file exists"}, {18, "EXDEV", "invalid cross-device link"}, {19, "ENODEV", "no such device"}, {20, "ENOTDIR", "not a directory"}, {21, "EISDIR", "is a directory"}, {22, "EINVAL", "invalid argument"}, {23, "ENFILE", "too many open files in system"}, {24, "EMFILE", "too many open files"}, {25, "ENOTTY", "inappropriate ioctl for device"}, {26, "ETXTBSY", "text file busy"}, {27, "EFBIG", "file too large"}, {28, "ENOSPC", "no space left on device"}, {29, "ESPIPE", "illegal seek"}, {30, "EROFS", "read-only file system"}, {31, "EMLINK", "too many links"}, {32, "EPIPE", "broken pipe"}, {33, "EDOM", "numerical argument out of domain"}, {34, "ERANGE", "numerical result out of range"}, {35, "ENOMSG", "no message of desired type"}, {36, "EIDRM", "identifier removed"}, {37, "ECHRNG", "channel number out of range"}, {38, "EL2NSYNC", "level 2 not synchronized"}, {39, "EL3HLT", "level 3 halted"}, {40, "EL3RST", "level 3 reset"}, {41, "ELNRNG", "link number out of range"}, {42, "EUNATCH", "protocol driver not attached"}, {43, "ENOCSI", "no CSI structure available"}, {44, "EL2HLT", "level 2 halted"}, {45, "EDEADLK", "resource deadlock avoided"}, {46, "ENOLCK", "no locks available"}, {50, "EBADE", "invalid exchange"}, {51, "EBADR", "invalid request descriptor"}, {52, "EXFULL", "exchange full"}, {53, "ENOANO", "no anode"}, {54, "EBADRQC", "invalid request code"}, {55, "EBADSLT", "invalid slot"}, {56, "EDEADLOCK", "file locking deadlock error"}, {59, "EBFONT", "bad font file format"}, {60, "ENOSTR", "device not a stream"}, {61, "ENODATA", "no data available"}, {62, "ETIME", "timer expired"}, {63, "ENOSR", "out of streams resources"}, {64, "ENONET", "machine is not on the network"}, {65, "ENOPKG", "package not installed"}, {66, "EREMOTE", "object is remote"}, {67, "ENOLINK", "link has been severed"}, {68, "EADV", "advertise error"}, {69, "ESRMNT", "srmount error"}, {70, "ECOMM", "communication error on send"}, {71, "EPROTO", "protocol error"}, {73, "EDOTDOT", "RFS specific error"}, {74, "EMULTIHOP", "multihop attempted"}, {77, "EBADMSG", "bad message"}, {78, "ENAMETOOLONG", "file name too long"}, {79, "EOVERFLOW", "value too large for defined data type"}, {80, "ENOTUNIQ", "name not unique on network"}, {81, "EBADFD", "file descriptor in bad state"}, {82, "EREMCHG", "remote address changed"}, {83, "ELIBACC", "can not access a needed shared library"}, {84, "ELIBBAD", "accessing a corrupted shared library"}, {85, "ELIBSCN", ".lib section in a.out corrupted"}, {86, "ELIBMAX", "attempting to link in too many shared libraries"}, {87, "ELIBEXEC", "cannot exec a shared library directly"}, {88, "EILSEQ", "invalid or incomplete multibyte or wide character"}, {89, "ENOSYS", "function not implemented"}, {90, "ELOOP", "too many levels of symbolic links"}, {91, "ERESTART", "interrupted system call should be restarted"}, {92, "ESTRPIPE", "streams pipe error"}, {93, "ENOTEMPTY", "directory not empty"}, {94, "EUSERS", "too many users"}, {95, "ENOTSOCK", "socket operation on non-socket"}, {96, "EDESTADDRREQ", "destination address required"}, {97, "EMSGSIZE", "message too long"}, {98, "EPROTOTYPE", "protocol wrong type for socket"}, {99, "ENOPROTOOPT", "protocol not available"}, {120, "EPROTONOSUPPORT", "protocol not supported"}, {121, "ESOCKTNOSUPPORT", "socket type not supported"}, {122, "ENOTSUP", "operation not supported"}, {123, "EPFNOSUPPORT", "protocol family not supported"}, {124, "EAFNOSUPPORT", "address family not supported by protocol"}, {125, "EADDRINUSE", "address already in use"}, {126, "EADDRNOTAVAIL", "cannot assign requested address"}, {127, "ENETDOWN", "network is down"}, {128, "ENETUNREACH", "network is unreachable"}, {129, "ENETRESET", "network dropped connection on reset"}, {130, "ECONNABORTED", "software caused connection abort"}, {131, "ECONNRESET", "connection reset by peer"}, {132, "ENOBUFS", "no buffer space available"}, {133, "EISCONN", "transport endpoint is already connected"}, {134, "ENOTCONN", "transport endpoint is not connected"}, {135, "EUCLEAN", "structure needs cleaning"}, {137, "ENOTNAM", "not a XENIX named type file"}, {138, "ENAVAIL", "no XENIX semaphores available"}, {139, "EISNAM", "is a named type file"}, {140, "EREMOTEIO", "remote I/O error"}, {141, "EINIT", "unknown error 141"}, {142, "EREMDEV", "unknown error 142"}, {143, "ESHUTDOWN", "cannot send after transport endpoint shutdown"}, {144, "ETOOMANYREFS", "too many references: cannot splice"}, {145, "ETIMEDOUT", "connection timed out"}, {146, "ECONNREFUSED", "connection refused"}, {147, "EHOSTDOWN", "host is down"}, {148, "EHOSTUNREACH", "no route to host"}, {149, "EALREADY", "operation already in progress"}, {150, "EINPROGRESS", "operation now in progress"}, {151, "ESTALE", "stale file handle"}, {158, "ECANCELED", "operation canceled"}, {159, "ENOMEDIUM", "no medium found"}, {160, "EMEDIUMTYPE", "wrong medium type"}, {161, "ENOKEY", "required key not available"}, {162, "EKEYEXPIRED", "key has expired"}, {163, "EKEYREVOKED", "key has been revoked"}, {164, "EKEYREJECTED", "key was rejected by service"}, {165, "EOWNERDEAD", "owner died"}, {166, "ENOTRECOVERABLE", "state not recoverable"}, {167, "ERFKILL", "operation not possible due to RF-kill"}, {168, "EHWPOISON", "memory page has hardware error"}, {1133, "EDQUOT", "disk quota exceeded"}, } // Signal table var signalList = [...]struct { num syscall.Signal name string desc string }{ {1, "SIGHUP", "hangup"}, {2, "SIGINT", "interrupt"}, {3, "SIGQUIT", "quit"}, {4, "SIGILL", "illegal instruction"}, {5, "SIGTRAP", "trace/breakpoint trap"}, {6, "SIGABRT", "aborted"}, {7, "SIGEMT", "EMT trap"}, {8, "SIGFPE", "floating point exception"}, {9, "SIGKILL", "killed"}, {10, "SIGBUS", "bus error"}, {11, "SIGSEGV", "segmentation fault"}, {12, "SIGSYS", "bad system call"}, {13, "SIGPIPE", "broken pipe"}, {14, "SIGALRM", "alarm clock"}, {15, "SIGTERM", "terminated"}, {16, "SIGUSR1", "user defined signal 1"}, {17, "SIGUSR2", "user defined signal 2"}, {18, "SIGCHLD", "child exited"}, {19, "SIGPWR", "power failure"}, {20, "SIGWINCH", "window changed"}, {21, "SIGURG", "urgent I/O condition"}, {22, "SIGIO", "I/O possible"}, {23, "SIGSTOP", "stopped (signal)"}, {24, "SIGTSTP", "stopped"}, {25, "SIGCONT", "continued"}, {26, "SIGTTIN", "stopped (tty input)"}, {27, "SIGTTOU", "stopped (tty output)"}, {28, "SIGVTALRM", "virtual timer expired"}, {29, "SIGPROF", "profiling timer expired"}, {30, "SIGXCPU", "CPU time limit exceeded"}, {31, "SIGXFSZ", "file size limit exceeded"}, } dependencies/pkg/mod/golang.org/x/sys@v0.26.0/unix/mkasm.go0000644000000000000000000000736615107355264022264 0ustar rootroot// Copyright 2018 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:build ignore // mkasm.go generates assembly trampolines to call library routines from Go. // This program must be run after mksyscall.go. package main import ( "bytes" "fmt" "log" "os" "sort" "strings" ) func archPtrSize(arch string) int { switch arch { case "386", "arm": return 4 case "amd64", "arm64", "mips64", "ppc64", "riscv64": return 8 default: log.Fatalf("Unknown arch %q", arch) return 0 } } func generateASMFile(goos, arch string, inFileNames []string, outFileName string) map[string]bool { trampolines := map[string]bool{} var orderedTrampolines []string for _, inFileName := range inFileNames { in, err := os.ReadFile(inFileName) if err != nil { log.Fatalf("Failed to read file: %v", err) } for _, line := range strings.Split(string(in), "\n") { const prefix = "var " const suffix = "_trampoline_addr uintptr" if !strings.HasPrefix(line, prefix) || !strings.HasSuffix(line, suffix) { continue } fn := strings.TrimSuffix(strings.TrimPrefix(line, prefix), suffix) if !trampolines[fn] { orderedTrampolines = append(orderedTrampolines, fn) trampolines[fn] = true } } } ptrSize := archPtrSize(arch) var out bytes.Buffer fmt.Fprintf(&out, "// go run mkasm.go %s\n", strings.Join(os.Args[1:], " ")) fmt.Fprintf(&out, "// Code generated by the command above; DO NOT EDIT.\n") fmt.Fprintf(&out, "\n") fmt.Fprintf(&out, "#include \"textflag.h\"\n") for _, fn := range orderedTrampolines { fmt.Fprintf(&out, "\nTEXT %s_trampoline<>(SB),NOSPLIT,$0-0\n", fn) if goos == "openbsd" && arch == "ppc64" { fmt.Fprintf(&out, "\tCALL\t%s(SB)\n", fn) fmt.Fprintf(&out, "\tRET\n") } else { fmt.Fprintf(&out, "\tJMP\t%s(SB)\n", fn) } fmt.Fprintf(&out, "GLOBL\t·%s_trampoline_addr(SB), RODATA, $%d\n", fn, ptrSize) fmt.Fprintf(&out, "DATA\t·%s_trampoline_addr(SB)/%d, $%s_trampoline<>(SB)\n", fn, ptrSize, fn) } if err := os.WriteFile(outFileName, out.Bytes(), 0644); err != nil { log.Fatalf("Failed to write assembly file %q: %v", outFileName, err) } return trampolines } const darwinTestTemplate = `// go run mkasm.go %s // Code generated by the command above; DO NOT EDIT. //go:build darwin package unix // All the _trampoline functions in zsyscall_darwin_%s.s. var darwinTests = [...]darwinTest{ %s} ` func writeDarwinTest(trampolines map[string]bool, fileName, arch string) { var sortedTrampolines []string for fn := range trampolines { sortedTrampolines = append(sortedTrampolines, fn) } sort.Strings(sortedTrampolines) var out bytes.Buffer const prefix = "libc_" for _, fn := range sortedTrampolines { fmt.Fprintf(&out, fmt.Sprintf("\t{%q, %s_trampoline_addr},\n", strings.TrimPrefix(fn, prefix), fn)) } lines := out.String() out.Reset() fmt.Fprintf(&out, darwinTestTemplate, strings.Join(os.Args[1:], " "), arch, lines) if err := os.WriteFile(fileName, out.Bytes(), 0644); err != nil { log.Fatalf("Failed to write test file %q: %v", fileName, err) } } func main() { if len(os.Args) != 3 { log.Fatalf("Usage: %s ", os.Args[0]) } goos, arch := os.Args[1], os.Args[2] syscallFilename := fmt.Sprintf("syscall_%s.go", goos) syscallArchFilename := fmt.Sprintf("syscall_%s_%s.go", goos, arch) zsyscallArchFilename := fmt.Sprintf("zsyscall_%s_%s.go", goos, arch) zsyscallASMFileName := fmt.Sprintf("zsyscall_%s_%s.s", goos, arch) inFileNames := []string{ syscallFilename, syscallArchFilename, zsyscallArchFilename, } trampolines := generateASMFile(goos, arch, inFileNames, zsyscallASMFileName) if goos == "darwin" { writeDarwinTest(trampolines, fmt.Sprintf("darwin_%s_test.go", arch), arch) } } dependencies/pkg/mod/golang.org/x/sys@v0.26.0/unix/example_sysvshm_test.go0000644000000000000000000000250515107355264025430 0ustar rootroot// Copyright 2021 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:build (darwin && !ios) || (linux && !android) package unix_test import ( "log" "golang.org/x/sys/unix" ) func ExampleSysvShmGet() { // create shared memory region of 1024 bytes id, err := unix.SysvShmGet(unix.IPC_PRIVATE, 1024, unix.IPC_CREAT|unix.IPC_EXCL|0o600) if err != nil { log.Fatal("sysv shm create failed:", err) } // warning: sysv shared memory segments persist even after after a process // is destroyed, so it's very important to explicitly delete it when you // don't need it anymore. defer func() { _, err := unix.SysvShmCtl(id, unix.IPC_RMID, nil) if err != nil { log.Fatal(err) } }() // to use a shared memory region you must attach to it b, err := unix.SysvShmAttach(id, 0, 0) if err != nil { log.Fatal("sysv attach failed:", err) } // you should detach from the segment when finished with it. The byte // slice is no longer valid after detaching defer func() { if err = unix.SysvShmDetach(b); err != nil { log.Fatal("sysv detach failed:", err) } }() // Changes to the contents of the byte slice are reflected in other // mappings of the shared memory identifer in this and other processes b[42] = 'h' b[43] = 'i' } dependencies/pkg/mod/golang.org/x/sys@v0.26.0/unix/ifreq_linux.go0000644000000000000000000001042315107355264023465 0ustar rootroot// Copyright 2021 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:build linux package unix import ( "unsafe" ) // Helpers for dealing with ifreq since it contains a union and thus requires a // lot of unsafe.Pointer casts to use properly. // An Ifreq is a type-safe wrapper around the raw ifreq struct. An Ifreq // contains an interface name and a union of arbitrary data which can be // accessed using the Ifreq's methods. To create an Ifreq, use the NewIfreq // function. // // Use the Name method to access the stored interface name. The union data // fields can be get and set using the following methods: // - Uint16/SetUint16: flags // - Uint32/SetUint32: ifindex, metric, mtu type Ifreq struct{ raw ifreq } // NewIfreq creates an Ifreq with the input network interface name after // validating the name does not exceed IFNAMSIZ-1 (trailing NULL required) // bytes. func NewIfreq(name string) (*Ifreq, error) { // Leave room for terminating NULL byte. if len(name) >= IFNAMSIZ { return nil, EINVAL } var ifr ifreq copy(ifr.Ifrn[:], name) return &Ifreq{raw: ifr}, nil } // TODO(mdlayher): get/set methods for hardware address sockaddr, char array, etc. // Name returns the interface name associated with the Ifreq. func (ifr *Ifreq) Name() string { return ByteSliceToString(ifr.raw.Ifrn[:]) } // According to netdevice(7), only AF_INET addresses are returned for numerous // sockaddr ioctls. For convenience, we expose these as Inet4Addr since the Port // field and other data is always empty. // Inet4Addr returns the Ifreq union data from an embedded sockaddr as a C // in_addr/Go []byte (4-byte IPv4 address) value. If the sockaddr family is not // AF_INET, an error is returned. func (ifr *Ifreq) Inet4Addr() ([]byte, error) { raw := *(*RawSockaddrInet4)(unsafe.Pointer(&ifr.raw.Ifru[:SizeofSockaddrInet4][0])) if raw.Family != AF_INET { // Cannot safely interpret raw.Addr bytes as an IPv4 address. return nil, EINVAL } return raw.Addr[:], nil } // SetInet4Addr sets a C in_addr/Go []byte (4-byte IPv4 address) value in an // embedded sockaddr within the Ifreq's union data. v must be 4 bytes in length // or an error will be returned. func (ifr *Ifreq) SetInet4Addr(v []byte) error { if len(v) != 4 { return EINVAL } var addr [4]byte copy(addr[:], v) ifr.clear() *(*RawSockaddrInet4)( unsafe.Pointer(&ifr.raw.Ifru[:SizeofSockaddrInet4][0]), ) = RawSockaddrInet4{ // Always set IP family as ioctls would require it anyway. Family: AF_INET, Addr: addr, } return nil } // Uint16 returns the Ifreq union data as a C short/Go uint16 value. func (ifr *Ifreq) Uint16() uint16 { return *(*uint16)(unsafe.Pointer(&ifr.raw.Ifru[:2][0])) } // SetUint16 sets a C short/Go uint16 value as the Ifreq's union data. func (ifr *Ifreq) SetUint16(v uint16) { ifr.clear() *(*uint16)(unsafe.Pointer(&ifr.raw.Ifru[:2][0])) = v } // Uint32 returns the Ifreq union data as a C int/Go uint32 value. func (ifr *Ifreq) Uint32() uint32 { return *(*uint32)(unsafe.Pointer(&ifr.raw.Ifru[:4][0])) } // SetUint32 sets a C int/Go uint32 value as the Ifreq's union data. func (ifr *Ifreq) SetUint32(v uint32) { ifr.clear() *(*uint32)(unsafe.Pointer(&ifr.raw.Ifru[:4][0])) = v } // clear zeroes the ifreq's union field to prevent trailing garbage data from // being sent to the kernel if an ifreq is reused. func (ifr *Ifreq) clear() { for i := range ifr.raw.Ifru { ifr.raw.Ifru[i] = 0 } } // TODO(mdlayher): export as IfreqData? For now we can provide helpers such as // IoctlGetEthtoolDrvinfo which use these APIs under the hood. // An ifreqData is an Ifreq which carries pointer data. To produce an ifreqData, // use the Ifreq.withData method. type ifreqData struct { name [IFNAMSIZ]byte // A type separate from ifreq is required in order to comply with the // unsafe.Pointer rules since the "pointer-ness" of data would not be // preserved if it were cast into the byte array of a raw ifreq. data unsafe.Pointer // Pad to the same size as ifreq. _ [len(ifreq{}.Ifru) - SizeofPtr]byte } // withData produces an ifreqData with the pointer p set for ioctls which require // arbitrary pointer data. func (ifr Ifreq) withData(p unsafe.Pointer) ifreqData { return ifreqData{ name: ifr.raw.Ifrn, data: p, } } dependencies/pkg/mod/golang.org/x/sys@v0.26.0/unix/ztypes_openbsd_riscv64.go0000644000000000000000000002244515107355264025577 0ustar rootroot// cgo -godefs -- -fsigned-char types_openbsd.go | go run mkpost.go // Code generated by the command above; see README.md. DO NOT EDIT. //go:build riscv64 && 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 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 int32 Flags uint32 Gen uint32 _ 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]byte F_mntonname [90]byte F_mntfromname [90]byte F_mntfromspec [90]byte _ [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 _ [4]uint8 Name [256]int8 } type Fsid struct { Val [2]int32 } const ( PathMax = 0x400 ) 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 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 SizeofIovec = 0x10 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 = 0xa8 SizeofIfData = 0x90 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 Rdomain uint32 Baudrate uint64 Ipackets uint64 Ierrors uint64 Opackets uint64 Oerrors uint64 Collisions uint64 Ibytes uint64 Obytes uint64 Imcasts uint64 Omcasts uint64 Iqdrops uint64 Oqdrops uint64 Noproto uint64 Capabilities uint32 Lastchange Timeval } 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{} const ( SizeofBpfVersion = 0x4 SizeofBpfStat = 0x8 SizeofBpfProgram = 0x10 SizeofBpfInsn = 0x8 SizeofBpfHdr = 0x18 ) 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 Ifidx uint16 Flowid uint16 Flags uint8 Drops uint8 } 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 } type Winsize struct { Row uint16 Col uint16 Xpixel uint16 Ypixel uint16 } const ( AT_FDCWD = -0x64 AT_EACCESS = 0x1 AT_SYMLINK_NOFOLLOW = 0x2 AT_SYMLINK_FOLLOW = 0x4 AT_REMOVEDIR = 0x8 ) type PollFd struct { Fd int32 Events int16 Revents int16 } const ( POLLERR = 0x8 POLLHUP = 0x10 POLLIN = 0x1 POLLNVAL = 0x20 POLLOUT = 0x4 POLLPRI = 0x2 POLLRDBAND = 0x80 POLLRDNORM = 0x40 POLLWRBAND = 0x100 POLLWRNORM = 0x4 ) type Sigset_t uint32 type Utsname struct { Sysname [256]byte Nodename [256]byte Release [256]byte Version [256]byte Machine [256]byte } const SizeofUvmexp = 0x158 type Uvmexp struct { Pagesize int32 Pagemask int32 Pageshift int32 Npages int32 Free int32 Active int32 Inactive int32 Paging int32 Wired int32 Zeropages int32 Reserve_pagedaemon int32 Reserve_kernel int32 Unused01 int32 Vnodepages int32 Vtextpages int32 Freemin int32 Freetarg int32 Inactarg int32 Wiredmax int32 Anonmin int32 Vtextmin int32 Vnodemin int32 Anonminpct int32 Vtextminpct int32 Vnodeminpct int32 Nswapdev int32 Swpages int32 Swpginuse int32 Swpgonly int32 Nswget int32 Nanon int32 Unused05 int32 Unused06 int32 Faults int32 Traps int32 Intrs int32 Swtch int32 Softs int32 Syscalls int32 Pageins int32 Unused07 int32 Unused08 int32 Pgswapin int32 Pgswapout int32 Forks int32 Forks_ppwait int32 Forks_sharevm int32 Pga_zerohit int32 Pga_zeromiss int32 Unused09 int32 Fltnoram int32 Fltnoanon int32 Fltnoamap int32 Fltpgwait int32 Fltpgrele int32 Fltrelck int32 Fltrelckok int32 Fltanget int32 Fltanretry int32 Fltamcopy int32 Fltnamap int32 Fltnomap int32 Fltlget int32 Fltget int32 Flt_anon int32 Flt_acow int32 Flt_obj int32 Flt_prcopy int32 Flt_przero int32 Pdwoke int32 Pdrevs int32 Pdswout int32 Pdfreed int32 Pdscans int32 Pdanscan int32 Pdobscan int32 Pdreact int32 Pdbusy int32 Pdpageouts int32 Pdpending int32 Pddeact int32 Unused11 int32 Unused12 int32 Unused13 int32 Fpswtch int32 Kmapent int32 } const SizeofClockinfo = 0x10 type Clockinfo struct { Hz int32 Tick int32 Stathz int32 Profhz int32 } dependencies/pkg/mod/golang.org/x/sys@v0.26.0/unix/dev_freebsd.go0000644000000000000000000000176515107355264023421 0ustar rootroot// Copyright 2017 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. // Functions to access/create device major and minor numbers matching the // encoding used in FreeBSD's sys/types.h header. // // The information below is extracted and adapted from sys/types.h: // // Minor gives a cookie instead of an index since in order to avoid changing the // meanings of bits 0-15 or wasting time and space shifting bits 16-31 for // devices that don't use them. package unix // Major returns the major component of a FreeBSD device number. func Major(dev uint64) uint32 { return uint32((dev >> 8) & 0xff) } // Minor returns the minor component of a FreeBSD device number. func Minor(dev uint64) uint32 { return uint32(dev & 0xffff00ff) } // Mkdev returns a FreeBSD device number generated from the given major and // minor components. func Mkdev(major, minor uint32) uint64 { return (uint64(major) << 8) | uint64(minor) } dependencies/pkg/mod/golang.org/x/sys@v0.26.0/unix/syscall_openbsd_arm.go0000644000000000000000000000175015107355264025166 0ustar rootroot// Copyright 2017 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:build arm && openbsd package unix func setTimespec(sec, nsec int64) Timespec { return Timespec{Sec: sec, Nsec: int32(nsec)} } func setTimeval(sec, usec int64) Timeval { return Timeval{Sec: sec, Usec: int32(usec)} } 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 (msghdr *Msghdr) SetIovlen(length int) { msghdr.Iovlen = uint32(length) } func (cmsg *Cmsghdr) SetLen(length int) { cmsg.Len = uint32(length) } // SYS___SYSCTL is used by syscall_bsd.go for all BSDs, but in modern versions // of openbsd/arm the syscall is called sysctl instead of __sysctl. const SYS___SYSCTL = SYS_SYSCTL dependencies/pkg/mod/golang.org/x/sys@v0.26.0/unix/getdirentries_test.go0000644000000000000000000000330715107355264025052 0ustar rootroot// Copyright 2019 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:build darwin || dragonfly || freebsd || openbsd || netbsd || zos package unix_test import ( "fmt" "os" "path/filepath" "sort" "strings" "testing" "golang.org/x/sys/unix" ) func TestGetdirentries(t *testing.T) { for _, count := range []int{10, 1000} { t.Run(fmt.Sprintf("n=%d", count), func(t *testing.T) { testGetdirentries(t, count) }) } } func testGetdirentries(t *testing.T, count int) { if count > 100 && testing.Short() && os.Getenv("GO_BUILDER_NAME") == "" { t.Skip("skipping in -short mode") } d := t.TempDir() var names []string for i := 0; i < count; i++ { names = append(names, fmt.Sprintf("file%03d", i)) } // Make files in the temp directory for _, name := range names { err := os.WriteFile(filepath.Join(d, name), []byte("data"), 0) if err != nil { t.Fatal(err) } } // Read files using Getdirentries fd, err := unix.Open(d, unix.O_RDONLY, 0) if err != nil { t.Fatalf("Open: %v", err) } defer unix.Close(fd) var base uintptr var buf [2048]byte names2 := make([]string, 0, count) for { n, err := unix.Getdirentries(fd, buf[:], &base) if err != nil { t.Fatalf("Getdirentries: %v", err) } if n == 0 { break } data := buf[:n] for len(data) > 0 { var bc int bc, _, names2 = unix.ParseDirent(data, -1, names2) if bc == 0 && len(data) > 0 { t.Fatal("no progress") } data = data[bc:] } } sort.Strings(names) sort.Strings(names2) if strings.Join(names, ":") != strings.Join(names2, ":") { t.Errorf("names don't match\n names: %q\nnames2: %q", names, names2) } } dependencies/pkg/mod/golang.org/x/sys@v0.26.0/unix/syscall_unix_gc.go0000644000000000000000000000120015107355264024317 0ustar rootroot// 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. //go:build (darwin || dragonfly || freebsd || (linux && !ppc64 && !ppc64le) || netbsd || openbsd || solaris) && gc 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) dependencies/pkg/mod/golang.org/x/sys@v0.26.0/unix/zsyscall_linux_386.go0000644000000000000000000003015515107355264024627 0ustar rootroot// go run mksyscall.go -l32 -tags linux,386 syscall_linux.go syscall_linux_386.go syscall_linux_alarm.go // Code generated by the command above; see README.md. DO NOT EDIT. //go: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 fanotifyMark(fd int, flags uint, mask uint64, dirFd int, pathname *byte) (err error) { _, _, e1 := Syscall6(SYS_FANOTIFY_MARK, uintptr(fd), uintptr(flags), uintptr(mask), uintptr(mask>>32), uintptr(dirFd), uintptr(unsafe.Pointer(pathname))) 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 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 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_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 Fstatat(dirfd int, path string, stat *Stat_t, flags int) (err error) { var _p0 *byte _p0, err = BytePtrFromString(path) if err != nil { return } _, _, e1 := Syscall6(SYS_FSTATAT64, uintptr(dirfd), 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 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, _ := RawSyscallNoError(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, _ := RawSyscallNoError(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, _ := RawSyscallNoError(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, _ := RawSyscallNoError(SYS_GETUID32, 0, 0, 0) uid = int(r0) 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 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 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) (prev int, err error) { r0, _, e1 := Syscall(SYS_SETFSGID32, uintptr(gid), 0, 0) prev = int(r0) if e1 != 0 { err = errnoErr(e1) } return } // THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT func setfsuid(uid int) (prev int, err error) { r0, _, e1 := Syscall(SYS_SETFSUID32, uintptr(uid), 0, 0) prev = int(r0) 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 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 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 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 futimesat(dirfd int, path string, times *[2]Timeval) (err error) { var _p0 *byte _p0, err = BytePtrFromString(path) if err != nil { return } _, _, e1 := Syscall(SYS_FUTIMESAT, uintptr(dirfd), uintptr(unsafe.Pointer(_p0)), 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 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 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 Alarm(seconds uint) (remaining uint, err error) { r0, _, e1 := Syscall(SYS_ALARM, uintptr(seconds), 0, 0) remaining = uint(r0) if e1 != 0 { err = errnoErr(e1) } return } dependencies/pkg/mod/golang.org/x/sys@v0.26.0/unix/asm_solaris_amd64.s0000644000000000000000000000064715107355264024313 0ustar rootroot// 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. //go:build gc #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) dependencies/pkg/mod/golang.org/x/sys@v0.26.0/unix/endian_little.go0000644000000000000000000000054615107355264023760 0ustar rootroot// 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. // //go:build 386 || amd64 || amd64p32 || alpha || arm || arm64 || loong64 || mipsle || mips64le || mips64p32le || nios2 || ppc64le || riscv || riscv64 || sh package unix const isBigEndian = false dependencies/pkg/mod/golang.org/x/sys@v0.26.0/unix/ztypes_netbsd_arm.go0000644000000000000000000002313215107355264024675 0ustar rootroot// cgo -godefs types_netbsd.go | go run mkpost.go // Code generated by the command above; see README.md. DO NOT EDIT. //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 _ [4]byte Ino uint64 Nlink uint32 Uid uint32 Gid uint32 _ [4]byte Rdev uint64 Atim Timespec Mtim Timespec Ctim Timespec Btim Timespec Size int64 Blocks int64 Blksize uint32 Flags uint32 Gen uint32 Spare [2]uint32 _ [4]byte } type Statfs_t [0]byte type Statvfs_t struct { Flag uint32 Bsize uint32 Frsize uint32 Iosize uint32 Blocks uint64 Bfree uint64 Bavail uint64 Bresvd uint64 Files uint64 Ffree uint64 Favail uint64 Fresvd uint64 Syncreads uint64 Syncwrites uint64 Asyncreads uint64 Asyncwrites uint64 Fsidx Fsid Fsid uint32 Namemax uint32 Owner uint32 Spare [4]uint32 Fstypename [32]byte Mntonname [1024]byte Mntfromname [1024]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 } const ( PathMax = 0x400 ) const ( ST_WAIT = 0x1 ST_NOWAIT = 0x2 ) 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 [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 SizeofIovec = 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 Winsize struct { Row uint16 Col uint16 Xpixel uint16 Ypixel uint16 } type Ptmget struct { Cfd int32 Sfd int32 Cn [1024]byte Sn [1024]byte } const ( AT_FDCWD = -0x64 AT_EACCESS = 0x100 AT_SYMLINK_NOFOLLOW = 0x200 AT_SYMLINK_FOLLOW = 0x400 AT_REMOVEDIR = 0x800 ) type PollFd struct { Fd int32 Events int16 Revents int16 } const ( POLLERR = 0x8 POLLHUP = 0x10 POLLIN = 0x1 POLLNVAL = 0x20 POLLOUT = 0x4 POLLPRI = 0x2 POLLRDBAND = 0x80 POLLRDNORM = 0x40 POLLWRBAND = 0x100 POLLWRNORM = 0x4 ) 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 } type Utsname struct { Sysname [256]byte Nodename [256]byte Release [256]byte Version [256]byte Machine [256]byte } const SizeofUvmexp = 0x278 type Uvmexp struct { Pagesize int64 Pagemask int64 Pageshift int64 Npages int64 Free int64 Active int64 Inactive int64 Paging int64 Wired int64 Zeropages int64 Reserve_pagedaemon int64 Reserve_kernel int64 Freemin int64 Freetarg int64 Inactarg int64 Wiredmax int64 Nswapdev int64 Swpages int64 Swpginuse int64 Swpgonly int64 Nswget int64 Unused1 int64 Cpuhit int64 Cpumiss int64 Faults int64 Traps int64 Intrs int64 Swtch int64 Softs int64 Syscalls int64 Pageins int64 Swapins int64 Swapouts int64 Pgswapin int64 Pgswapout int64 Forks int64 Forks_ppwait int64 Forks_sharevm int64 Pga_zerohit int64 Pga_zeromiss int64 Zeroaborts int64 Fltnoram int64 Fltnoanon int64 Fltpgwait int64 Fltpgrele int64 Fltrelck int64 Fltrelckok int64 Fltanget int64 Fltanretry int64 Fltamcopy int64 Fltnamap int64 Fltnomap int64 Fltlget int64 Fltget int64 Flt_anon int64 Flt_acow int64 Flt_obj int64 Flt_prcopy int64 Flt_przero int64 Pdwoke int64 Pdrevs int64 Unused4 int64 Pdfreed int64 Pdscans int64 Pdanscan int64 Pdobscan int64 Pdreact int64 Pdbusy int64 Pdpageouts int64 Pdpending int64 Pddeact int64 Anonpages int64 Filepages int64 Execpages int64 Colorhit int64 Colormiss int64 Ncolors int64 Bootpages int64 Poolpages int64 } const SizeofClockinfo = 0x14 type Clockinfo struct { Hz int32 Tick int32 Tickadj int32 Stathz int32 Profhz int32 } dependencies/pkg/mod/golang.org/x/sys@v0.26.0/unix/internal/0000755000000000000000000000000015107355264022425 5ustar rootrootdependencies/pkg/mod/golang.org/x/sys@v0.26.0/unix/internal/mkmerge/0000755000000000000000000000000015107355264024054 5ustar rootrootdependencies/pkg/mod/golang.org/x/sys@v0.26.0/unix/internal/mkmerge/mkmerge_test.go0000644000000000000000000002511415107355264027074 0ustar rootroot// Copyright 2020 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" "fmt" "go/parser" "go/token" "html/template" "strings" "testing" ) func TestImports(t *testing.T) { t.Run("importName", func(t *testing.T) { cases := []struct { src string ident string }{ {`"syscall"`, "syscall"}, {`. "foobar"`, "."}, {`"go/ast"`, "ast"}, {`moo "go/format"`, "moo"}, {`. "go/token"`, "."}, {`"golang.org/x/sys/unix"`, "unix"}, {`nix "golang.org/x/sys/unix"`, "nix"}, {`_ "golang.org/x/sys/unix"`, "_"}, } for _, c := range cases { pkgSrc := fmt.Sprintf("package main\nimport %s", c.src) f, err := parser.ParseFile(token.NewFileSet(), "", pkgSrc, parser.ImportsOnly) if err != nil { t.Error(err) continue } if len(f.Imports) != 1 { t.Errorf("Got %d imports, expected 1", len(f.Imports)) continue } got, err := importName(f.Imports[0]) if err != nil { t.Fatal(err) } if got != c.ident { t.Errorf("Got %q, expected %q", got, c.ident) } } }) t.Run("filterImports", func(t *testing.T) { cases := []struct{ before, after string }{ {`package test import ( "foo" "bar" )`, "package test\n"}, {`package test import ( "foo" "bar" ) func useFoo() { foo.Usage() }`, `package test import ( "foo" ) func useFoo() { foo.Usage() } `}, } for _, c := range cases { got, err := filterImports([]byte(c.before)) if err != nil { t.Error(err) } if string(got) != c.after { t.Errorf("Got:\n%s\nExpected:\n%s\n", got, c.after) } } }) } func TestMerge(t *testing.T) { // Input architecture files inTmpl := template.Must(template.New("input").Parse(` // Package comments // build directives for arch{{.}} //go:build goos && arch{{.}} package main /* #include #include int utimes(uintptr_t, uintptr_t); int utimensat(int, uintptr_t, uintptr_t, int); */ import "C" // The imports import ( "commonDep" "uniqueDep{{.}}" ) // Vars var ( commonVar = commonDep.Use("common") uniqueVar{{.}} = "unique{{.}}" ) // Common free standing comment // Common comment const COMMON_INDEPENDENT = 1234 const UNIQUE_INDEPENDENT_{{.}} = "UNIQUE_INDEPENDENT_{{.}}" // Group comment const ( COMMON_GROUP = "COMMON_GROUP" UNIQUE_GROUP_{{.}} = "UNIQUE_GROUP_{{.}}" ) // Group2 comment const ( UNIQUE_GROUP21_{{.}} = "UNIQUE_GROUP21_{{.}}" UNIQUE_GROUP22_{{.}} = "UNIQUE_GROUP22_{{.}}" ) // Group3 comment const ( sub1Common1 = 11 sub1Unique2{{.}} = 12 sub1Common3_LONG = 13 sub2Unique1{{.}} = 21 sub2Common2 = 22 sub2Common3 = 23 sub2Unique4{{.}} = 24 ) type commonInt int type uniqueInt{{.}} int func commonF() string { return commonDep.Use("common") } func uniqueF() string { C.utimes(0, 0) return uniqueDep{{.}}.Use("{{.}}") } // Group4 comment const ( sub3Common1 = 31 sub3Unique2{{.}} = 32 sub3Unique3{{.}} = 33 sub3Common4 = 34 sub4Common1, sub4Unique2{{.}} = 41, 42 sub4Unique3{{.}}, sub4Common4 = 43, 44 ) `)) // Filtered architecture files outTmpl := template.Must(template.New("output").Parse(`// Package comments // build directives for arch{{.}} //go:build goos && arch{{.}} package main /* #include #include int utimes(uintptr_t, uintptr_t); int utimensat(int, uintptr_t, uintptr_t, int); */ import "C" // The imports import ( "commonDep" "uniqueDep{{.}}" ) // Vars var ( commonVar = commonDep.Use("common") uniqueVar{{.}} = "unique{{.}}" ) const UNIQUE_INDEPENDENT_{{.}} = "UNIQUE_INDEPENDENT_{{.}}" // Group comment const ( UNIQUE_GROUP_{{.}} = "UNIQUE_GROUP_{{.}}" ) // Group2 comment const ( UNIQUE_GROUP21_{{.}} = "UNIQUE_GROUP21_{{.}}" UNIQUE_GROUP22_{{.}} = "UNIQUE_GROUP22_{{.}}" ) // Group3 comment const ( sub1Unique2{{.}} = 12 sub2Unique1{{.}} = 21 sub2Unique4{{.}} = 24 ) type uniqueInt{{.}} int func uniqueF() string { C.utimes(0, 0) return uniqueDep{{.}}.Use("{{.}}") } // Group4 comment const ( sub3Unique2{{.}} = 32 sub3Unique3{{.}} = 33 sub4Common1, sub4Unique2{{.}} = 41, 42 sub4Unique3{{.}}, sub4Common4 = 43, 44 ) `)) const mergedFile = `// Package comments package main // The imports import ( "commonDep" ) // Common free standing comment // Common comment const COMMON_INDEPENDENT = 1234 // Group comment const ( COMMON_GROUP = "COMMON_GROUP" ) // Group3 comment const ( sub1Common1 = 11 sub1Common3_LONG = 13 sub2Common2 = 22 sub2Common3 = 23 ) type commonInt int func commonF() string { return commonDep.Use("common") } // Group4 comment const ( sub3Common1 = 31 sub3Common4 = 34 ) ` // Generate source code for different "architectures" var inFiles, outFiles []srcFile for _, arch := range strings.Fields("A B C D") { buf := new(bytes.Buffer) err := inTmpl.Execute(buf, arch) if err != nil { t.Fatal(err) } inFiles = append(inFiles, srcFile{"file" + arch, buf.Bytes()}) buf = new(bytes.Buffer) err = outTmpl.Execute(buf, arch) if err != nil { t.Fatal(err) } outFiles = append(outFiles, srcFile{"file" + arch, buf.Bytes()}) } t.Run("getCodeSet", func(t *testing.T) { got, err := getCodeSet(inFiles[0].src) if err != nil { t.Fatal(err) } expectedElems := []codeElem{ {token.COMMENT, "Package comments\n"}, {token.COMMENT, "build directives for archA\n"}, {token.COMMENT, "go:build goos && archA\n"}, {token.CONST, `COMMON_INDEPENDENT = 1234`}, {token.CONST, `UNIQUE_INDEPENDENT_A = "UNIQUE_INDEPENDENT_A"`}, {token.CONST, `COMMON_GROUP = "COMMON_GROUP"`}, {token.CONST, `UNIQUE_GROUP_A = "UNIQUE_GROUP_A"`}, {token.CONST, `UNIQUE_GROUP21_A = "UNIQUE_GROUP21_A"`}, {token.CONST, `UNIQUE_GROUP22_A = "UNIQUE_GROUP22_A"`}, {token.CONST, `sub1Common1 = 11`}, {token.CONST, `sub1Unique2A = 12`}, {token.CONST, `sub1Common3_LONG = 13`}, {token.CONST, `sub2Unique1A = 21`}, {token.CONST, `sub2Common2 = 22`}, {token.CONST, `sub2Common3 = 23`}, {token.CONST, `sub2Unique4A = 24`}, {token.CONST, `sub3Common1 = 31`}, {token.CONST, `sub3Unique2A = 32`}, {token.CONST, `sub3Unique3A = 33`}, {token.CONST, `sub3Common4 = 34`}, {token.CONST, `sub4Common1, sub4Unique2A = 41, 42`}, {token.CONST, `sub4Unique3A, sub4Common4 = 43, 44`}, {token.TYPE, `commonInt int`}, {token.TYPE, `uniqueIntA int`}, {token.FUNC, `func commonF() string { return commonDep.Use("common") }`}, {token.FUNC, `func uniqueF() string { C.utimes(0, 0) return uniqueDepA.Use("A") }`}, } expected := newCodeSet() for _, d := range expectedElems { expected.add(d) } if len(got.set) != len(expected.set) { t.Errorf("Got %d codeElems, expected %d", len(got.set), len(expected.set)) } for expElem := range expected.set { if !got.has(expElem) { t.Errorf("Didn't get expected codeElem %#v", expElem) } } for gotElem := range got.set { if !expected.has(gotElem) { t.Errorf("Got unexpected codeElem %#v", gotElem) } } }) t.Run("getCommonSet", func(t *testing.T) { got, err := getCommonSet(inFiles) if err != nil { t.Fatal(err) } expected := newCodeSet() expected.add(codeElem{token.COMMENT, "Package comments\n"}) expected.add(codeElem{token.CONST, `COMMON_INDEPENDENT = 1234`}) expected.add(codeElem{token.CONST, `COMMON_GROUP = "COMMON_GROUP"`}) expected.add(codeElem{token.CONST, `sub1Common1 = 11`}) expected.add(codeElem{token.CONST, `sub1Common3_LONG = 13`}) expected.add(codeElem{token.CONST, `sub2Common2 = 22`}) expected.add(codeElem{token.CONST, `sub2Common3 = 23`}) expected.add(codeElem{token.CONST, `sub3Common1 = 31`}) expected.add(codeElem{token.CONST, `sub3Common4 = 34`}) expected.add(codeElem{token.TYPE, `commonInt int`}) expected.add(codeElem{token.FUNC, `func commonF() string { return commonDep.Use("common") }`}) if len(got.set) != len(expected.set) { t.Errorf("Got %d codeElems, expected %d", len(got.set), len(expected.set)) } for expElem := range expected.set { if !got.has(expElem) { t.Errorf("Didn't get expected codeElem %#v", expElem) } } for gotElem := range got.set { if !expected.has(gotElem) { t.Errorf("Got unexpected codeElem %#v", gotElem) } } }) t.Run("filter(keepCommon)", func(t *testing.T) { commonSet, err := getCommonSet(inFiles) if err != nil { t.Fatal(err) } got, err := filter(inFiles[0].src, commonSet.keepCommon) if err != nil { t.Fatal(err) } expected := []byte(mergedFile) if !bytes.Equal(got, expected) { t.Errorf("Got:\n%s\nExpected:\n%s", addLineNr(got), addLineNr(expected)) diffLines(t, got, expected) } }) t.Run("filter(keepArchSpecific)", func(t *testing.T) { commonSet, err := getCommonSet(inFiles) if err != nil { t.Fatal(err) } for i := range inFiles { got, err := filter(inFiles[i].src, commonSet.keepArchSpecific) if err != nil { t.Fatal(err) } expected := outFiles[i].src if !bytes.Equal(got, expected) { t.Errorf("Got:\n%s\nExpected:\n%s", addLineNr(got), addLineNr(expected)) diffLines(t, got, expected) } } }) } func TestMergedName(t *testing.T) { t.Run("getValidGOOS", func(t *testing.T) { testcases := []struct { filename, goos string ok bool }{ {"zerrors_aix.go", "aix", true}, {"zerrors_darwin.go", "darwin", true}, {"zerrors_dragonfly.go", "dragonfly", true}, {"zerrors_freebsd.go", "freebsd", true}, {"zerrors_linux.go", "linux", true}, {"zerrors_netbsd.go", "netbsd", true}, {"zerrors_openbsd.go", "openbsd", true}, {"zerrors_solaris.go", "solaris", true}, {"zerrors_multics.go", "", false}, } for _, tc := range testcases { goos, ok := getValidGOOS(tc.filename) if goos != tc.goos { t.Errorf("got GOOS %q, expected %q", goos, tc.goos) } if ok != tc.ok { t.Errorf("got ok %v, expected %v", ok, tc.ok) } } }) } // Helper functions to diff test sources func diffLines(t *testing.T, got, expected []byte) { t.Helper() gotLines := bytes.Split(got, []byte{'\n'}) expLines := bytes.Split(expected, []byte{'\n'}) i := 0 for i < len(gotLines) && i < len(expLines) { if !bytes.Equal(gotLines[i], expLines[i]) { t.Errorf("Line %d: Got:\n%q\nExpected:\n%q", i+1, gotLines[i], expLines[i]) return } i++ } if i < len(gotLines) && i >= len(expLines) { t.Errorf("Line %d: got %q, expected EOF", i+1, gotLines[i]) } if i >= len(gotLines) && i < len(expLines) { t.Errorf("Line %d: got EOF, expected %q", i+1, gotLines[i]) } } func addLineNr(src []byte) []byte { lines := bytes.Split(src, []byte("\n")) for i, line := range lines { lines[i] = []byte(fmt.Sprintf("%d: %s", i+1, line)) } return bytes.Join(lines, []byte("\n")) } dependencies/pkg/mod/golang.org/x/sys@v0.26.0/unix/internal/mkmerge/mkmerge.go0000644000000000000000000003225215107355264026036 0ustar rootroot// Copyright 2020 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 mkmerge command parses generated source files and merges common // consts, funcs, and types into a common source file, per GOOS. // // Usage: // // $ mkmerge -out MERGED FILE [FILE ...] // // Example: // // # Remove all common consts, funcs, and types from zerrors_linux_*.go // # and write the common code into zerrors_linux.go // $ mkmerge -out zerrors_linux.go zerrors_linux_*.go // // mkmerge performs the merge in the following steps: // 1. Construct the set of common code that is identical in all // architecture-specific files. // 2. Write this common code to the merged file. // 3. Remove the common code from all architecture-specific files. package main import ( "bufio" "bytes" "flag" "fmt" "go/ast" "go/format" "go/parser" "go/token" "io" "log" "os" "path" "path/filepath" "regexp" "strconv" "strings" ) const validGOOS = "aix|darwin|dragonfly|freebsd|linux|netbsd|openbsd|solaris" // getValidGOOS returns GOOS, true if filename ends with a valid "_GOOS.go" func getValidGOOS(filename string) (string, bool) { matches := regexp.MustCompile(`_(` + validGOOS + `)\.go$`).FindStringSubmatch(filename) if len(matches) != 2 { return "", false } return matches[1], true } // codeElem represents an ast.Decl in a comparable way. type codeElem struct { tok token.Token // e.g. token.CONST, token.TYPE, or token.FUNC src string // the declaration formatted as source code } // newCodeElem returns a codeElem based on tok and node, or an error is returned. func newCodeElem(tok token.Token, node ast.Node) (codeElem, error) { var b strings.Builder err := format.Node(&b, token.NewFileSet(), node) if err != nil { return codeElem{}, err } return codeElem{tok, b.String()}, nil } // codeSet is a set of codeElems type codeSet struct { set map[codeElem]bool // true for all codeElems in the set } // newCodeSet returns a new codeSet func newCodeSet() *codeSet { return &codeSet{make(map[codeElem]bool)} } // add adds elem to c func (c *codeSet) add(elem codeElem) { c.set[elem] = true } // has returns true if elem is in c func (c *codeSet) has(elem codeElem) bool { return c.set[elem] } // isEmpty returns true if the set is empty func (c *codeSet) isEmpty() bool { return len(c.set) == 0 } // intersection returns a new set which is the intersection of c and a func (c *codeSet) intersection(a *codeSet) *codeSet { res := newCodeSet() for elem := range c.set { if a.has(elem) { res.add(elem) } } return res } // keepCommon is a filterFn for filtering the merged file with common declarations. func (c *codeSet) keepCommon(elem codeElem) bool { switch elem.tok { case token.VAR: // Remove all vars from the merged file return false case token.CONST, token.TYPE, token.FUNC, token.COMMENT: // Remove arch-specific consts, types, functions, and file-level comments from the merged file return c.has(elem) case token.IMPORT: // Keep imports, they are handled by filterImports return true } log.Fatalf("keepCommon: invalid elem %v", elem) return true } // keepArchSpecific is a filterFn for filtering the GOARC-specific files. func (c *codeSet) keepArchSpecific(elem codeElem) bool { switch elem.tok { case token.CONST, token.TYPE, token.FUNC: // Remove common consts, types, or functions from the arch-specific file return !c.has(elem) } return true } // srcFile represents a source file type srcFile struct { name string src []byte } // filterFn is a helper for filter type filterFn func(codeElem) bool // filter parses and filters Go source code from src, removing top // level declarations using keep as predicate. // For src parameter, please see docs for parser.ParseFile. func filter(src interface{}, keep filterFn) ([]byte, error) { // Parse the src into an ast fset := token.NewFileSet() f, err := parser.ParseFile(fset, "", src, parser.ParseComments) if err != nil { return nil, err } cmap := ast.NewCommentMap(fset, f, f.Comments) // Group const/type specs on adjacent lines var groups specGroups = make(map[string]int) var groupID int decls := f.Decls f.Decls = f.Decls[:0] for _, decl := range decls { switch decl := decl.(type) { case *ast.GenDecl: // Filter imports, consts, types, vars specs := decl.Specs decl.Specs = decl.Specs[:0] for i, spec := range specs { elem, err := newCodeElem(decl.Tok, spec) if err != nil { return nil, err } // Create new group if there are empty lines between this and the previous spec if i > 0 && fset.Position(specs[i-1].End()).Line < fset.Position(spec.Pos()).Line-1 { groupID++ } // Check if we should keep this spec if keep(elem) { decl.Specs = append(decl.Specs, spec) groups.add(elem.src, groupID) } } // Check if we should keep this decl if len(decl.Specs) > 0 { f.Decls = append(f.Decls, decl) } case *ast.FuncDecl: // Filter funcs elem, err := newCodeElem(token.FUNC, decl) if err != nil { return nil, err } if keep(elem) { f.Decls = append(f.Decls, decl) } } } // Filter file level comments if cmap[f] != nil { commentGroups := cmap[f] cmap[f] = cmap[f][:0] for _, cGrp := range commentGroups { if keep(codeElem{token.COMMENT, cGrp.Text()}) { cmap[f] = append(cmap[f], cGrp) } } } f.Comments = cmap.Filter(f).Comments() // Generate code for the filtered ast var buf bytes.Buffer if err = format.Node(&buf, fset, f); err != nil { return nil, err } groupedSrc, err := groups.filterEmptyLines(&buf) if err != nil { return nil, err } return filterImports(groupedSrc) } // getCommonSet returns the set of consts, types, and funcs that are present in every file. func getCommonSet(files []srcFile) (*codeSet, error) { if len(files) == 0 { return nil, fmt.Errorf("no files provided") } // Use the first architecture file as the baseline baseSet, err := getCodeSet(files[0].src) if err != nil { return nil, err } // Compare baseline set with other architecture files: discard any element, // that doesn't exist in other architecture files. for _, f := range files[1:] { set, err := getCodeSet(f.src) if err != nil { return nil, err } baseSet = baseSet.intersection(set) } return baseSet, nil } // getCodeSet returns the set of all top-level consts, types, and funcs from src. // src must be string, []byte, or io.Reader (see go/parser.ParseFile docs) func getCodeSet(src interface{}) (*codeSet, error) { set := newCodeSet() fset := token.NewFileSet() f, err := parser.ParseFile(fset, "", src, parser.ParseComments) if err != nil { return nil, err } for _, decl := range f.Decls { switch decl := decl.(type) { case *ast.GenDecl: // Add const, and type declarations if !(decl.Tok == token.CONST || decl.Tok == token.TYPE) { break } for _, spec := range decl.Specs { elem, err := newCodeElem(decl.Tok, spec) if err != nil { return nil, err } set.add(elem) } case *ast.FuncDecl: // Add func declarations elem, err := newCodeElem(token.FUNC, decl) if err != nil { return nil, err } set.add(elem) } } // Add file level comments cmap := ast.NewCommentMap(fset, f, f.Comments) for _, cGrp := range cmap[f] { text := cGrp.Text() if text == "" && len(cGrp.List) == 1 && strings.HasPrefix(cGrp.List[0].Text, "//go:build ") { // ast.CommentGroup.Text doesn't include comment directives like "//go:build" // in the text. So if a comment group has empty text and a single //go:build // constraint line, make a custom codeElem. This is enough for mkmerge needs. set.add(codeElem{token.COMMENT, cGrp.List[0].Text[len("//"):] + "\n"}) continue } set.add(codeElem{token.COMMENT, text}) } return set, nil } // importName returns the identifier (PackageName) for an imported package func importName(iSpec *ast.ImportSpec) (string, error) { if iSpec.Name == nil { name, err := strconv.Unquote(iSpec.Path.Value) if err != nil { return "", err } return path.Base(name), nil } return iSpec.Name.Name, nil } // specGroups tracks grouped const/type specs with a map of line: groupID pairs type specGroups map[string]int // add spec source to group func (s specGroups) add(src string, groupID int) error { srcBytes, err := format.Source(bytes.TrimSpace([]byte(src))) if err != nil { return err } s[string(srcBytes)] = groupID return nil } // filterEmptyLines removes empty lines within groups of const/type specs. // Returns the filtered source. func (s specGroups) filterEmptyLines(src io.Reader) ([]byte, error) { scanner := bufio.NewScanner(src) var out bytes.Buffer var emptyLines bytes.Buffer prevGroupID := -1 // Initialize to invalid group for scanner.Scan() { line := bytes.TrimSpace(scanner.Bytes()) if len(line) == 0 { fmt.Fprintf(&emptyLines, "%s\n", scanner.Bytes()) continue } // Discard emptyLines if previous non-empty line belonged to the same // group as this line if src, err := format.Source(line); err == nil { groupID, ok := s[string(src)] if ok && groupID == prevGroupID { emptyLines.Reset() } prevGroupID = groupID } emptyLines.WriteTo(&out) fmt.Fprintf(&out, "%s\n", scanner.Bytes()) } if err := scanner.Err(); err != nil { return nil, err } return out.Bytes(), nil } // filterImports removes unused imports from fileSrc, and returns a formatted src. func filterImports(fileSrc []byte) ([]byte, error) { fset := token.NewFileSet() file, err := parser.ParseFile(fset, "", fileSrc, parser.ParseComments) if err != nil { return nil, err } cmap := ast.NewCommentMap(fset, file, file.Comments) // create set of references to imported identifiers keepImport := make(map[string]bool) for _, u := range file.Unresolved { keepImport[u.Name] = true } // filter import declarations decls := file.Decls file.Decls = file.Decls[:0] for _, decl := range decls { importDecl, ok := decl.(*ast.GenDecl) // Keep non-import declarations if !ok || importDecl.Tok != token.IMPORT { file.Decls = append(file.Decls, decl) continue } // Filter the import specs specs := importDecl.Specs importDecl.Specs = importDecl.Specs[:0] for _, spec := range specs { iSpec := spec.(*ast.ImportSpec) name, err := importName(iSpec) if err != nil { return nil, err } if keepImport[name] { importDecl.Specs = append(importDecl.Specs, iSpec) } } if len(importDecl.Specs) > 0 { file.Decls = append(file.Decls, importDecl) } } // filter file.Imports imports := file.Imports file.Imports = file.Imports[:0] for _, spec := range imports { name, err := importName(spec) if err != nil { return nil, err } if keepImport[name] { file.Imports = append(file.Imports, spec) } } file.Comments = cmap.Filter(file).Comments() var buf bytes.Buffer err = format.Node(&buf, fset, file) if err != nil { return nil, err } return buf.Bytes(), nil } // merge extracts duplicate code from archFiles and merges it to mergeFile. // 1. Construct commonSet: the set of code that is identical in all archFiles. // 2. Write the code in commonSet to mergedFile. // 3. Remove the commonSet code from all archFiles. func merge(mergedFile string, archFiles ...string) error { // extract and validate the GOOS part of the merged filename goos, ok := getValidGOOS(mergedFile) if !ok { return fmt.Errorf("invalid GOOS in merged file name %s", mergedFile) } // Read architecture files var inSrc []srcFile for _, file := range archFiles { src, err := os.ReadFile(file) if err != nil { return fmt.Errorf("cannot read archfile %s: %w", file, err) } inSrc = append(inSrc, srcFile{file, src}) } // 1. Construct the set of top-level declarations common for all files commonSet, err := getCommonSet(inSrc) if err != nil { return err } if commonSet.isEmpty() { // No common code => do not modify any files return nil } // 2. Write the merged file mergedSrc, err := filter(inSrc[0].src, commonSet.keepCommon) if err != nil { return err } f, err := os.Create(mergedFile) if err != nil { return err } buf := bufio.NewWriter(f) fmt.Fprintln(buf, "// Code generated by mkmerge; DO NOT EDIT.") fmt.Fprintln(buf) fmt.Fprintf(buf, "//go:build %s\n", goos) fmt.Fprintln(buf) buf.Write(mergedSrc) err = buf.Flush() if err != nil { return err } err = f.Close() if err != nil { return err } // 3. Remove duplicate declarations from the architecture files for _, inFile := range inSrc { src, err := filter(inFile.src, commonSet.keepArchSpecific) if err != nil { return err } err = os.WriteFile(inFile.name, src, 0644) if err != nil { return err } } return nil } func main() { var mergedFile string flag.StringVar(&mergedFile, "out", "", "Write merged code to `FILE`") flag.Parse() // Expand wildcards var filenames []string for _, arg := range flag.Args() { matches, err := filepath.Glob(arg) if err != nil { fmt.Fprintf(os.Stderr, "Invalid command line argument %q: %v\n", arg, err) os.Exit(1) } filenames = append(filenames, matches...) } if len(filenames) < 2 { // No need to merge return } err := merge(mergedFile, filenames...) if err != nil { fmt.Fprintf(os.Stderr, "Merge failed with error: %v\n", err) os.Exit(1) } } dependencies/pkg/mod/golang.org/x/sys@v0.26.0/unix/syscall_internal_darwin_test.go0000644000000000000000000001047715107355264027122 0ustar rootroot// Copyright 2020 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 ( "reflect" "testing" "unsafe" ) func Test_anyToSockaddr_darwin(t *testing.T) { tests := []struct { name string rsa *RawSockaddrAny sa Sockaddr err error }{ { name: "AF_SYSTEM empty", rsa: sockaddrCtlToAny(RawSockaddrCtl{}), err: EAFNOSUPPORT, }, { name: "AF_SYSTEM no sysaddr", rsa: sockaddrCtlToAny(RawSockaddrCtl{ Sc_family: AF_SYSTEM, }), err: EAFNOSUPPORT, }, { name: "AF_SYSTEM/AF_SYS_CONTROL empty ", rsa: sockaddrCtlToAny(RawSockaddrCtl{ Sc_family: AF_SYSTEM, Ss_sysaddr: AF_SYS_CONTROL, }), sa: &SockaddrCtl{}, }, { name: "AF_SYSTEM ID and unit", rsa: sockaddrCtlToAny(RawSockaddrCtl{ Sc_family: AF_SYSTEM, Ss_sysaddr: AF_SYS_CONTROL, Sc_id: 0x42, Sc_unit: 0xC71, }), sa: &SockaddrCtl{ ID: 0x42, Unit: 0xC71, }, }, { name: "AF_VSOCK empty", rsa: sockaddrVMToAny(RawSockaddrVM{}), err: EAFNOSUPPORT, }, { name: "AF_VSOCK Cid and Port", rsa: sockaddrVMToAny(RawSockaddrVM{ Family: AF_VSOCK, Cid: VMADDR_CID_HOST, Port: VMADDR_PORT_ANY, }), sa: &SockaddrVM{ CID: VMADDR_CID_HOST, Port: VMADDR_PORT_ANY, }, }, } for _, tt := range tests { t.Run(tt.name, func(t *testing.T) { fd := int(0) sa, err := anyToSockaddr(fd, tt.rsa) if err != tt.err { t.Fatalf("unexpected error: %v, want: %v", err, tt.err) } if !reflect.DeepEqual(sa, tt.sa) { t.Fatalf("unexpected Sockaddr:\n got: %#v\nwant: %#v", sa, tt.sa) } }) } } func TestSockaddrCtl_sockaddr(t *testing.T) { tests := []struct { name string sa *SockaddrCtl raw *RawSockaddrCtl err error }{ { name: "empty", sa: &SockaddrCtl{}, raw: &RawSockaddrCtl{ Sc_len: SizeofSockaddrCtl, Sc_family: AF_SYSTEM, Ss_sysaddr: AF_SYS_CONTROL, }, }, { name: "with ID and unit", sa: &SockaddrCtl{ ID: 0x42, Unit: 0xff, }, raw: &RawSockaddrCtl{ Sc_len: SizeofSockaddrCtl, Sc_family: AF_SYSTEM, Ss_sysaddr: AF_SYS_CONTROL, Sc_id: 0x42, Sc_unit: 0xff, }, }, } for _, tt := range tests { t.Run(tt.name, func(t *testing.T) { out, l, err := tt.sa.sockaddr() if err != tt.err { t.Fatalf("unexpected error: %v, want: %v", err, tt.err) } // Must be 0 on error or a fixed size otherwise. if (tt.err != nil && l != 0) || (tt.raw != nil && l != SizeofSockaddrCtl) { t.Fatalf("unexpected Socklen: %d", l) } if out != nil { raw := (*RawSockaddrCtl)(out) if !reflect.DeepEqual(raw, tt.raw) { t.Fatalf("unexpected RawSockaddrCtl:\n got: %#v\nwant: %#v", raw, tt.raw) } } }) } } func TestSockaddrVM_sockaddr(t *testing.T) { tests := []struct { name string sa *SockaddrVM raw *RawSockaddrVM err error }{ { name: "empty", sa: &SockaddrVM{}, raw: &RawSockaddrVM{ Len: SizeofSockaddrVM, Family: AF_VSOCK, }, }, { name: "with CID and port", sa: &SockaddrVM{ CID: VMADDR_CID_HOST, Port: VMADDR_PORT_ANY, }, raw: &RawSockaddrVM{ Len: SizeofSockaddrVM, Family: AF_VSOCK, Port: VMADDR_PORT_ANY, Cid: VMADDR_CID_HOST, }, }, } for _, tt := range tests { t.Run(tt.name, func(t *testing.T) { out, l, err := tt.sa.sockaddr() if err != tt.err { t.Fatalf("unexpected error: %v, want: %v", err, tt.err) } // Must be 0 on error or a fixed size otherwise. if (tt.err != nil && l != 0) || (tt.raw != nil && l != SizeofSockaddrVM) { t.Fatalf("unexpected Socklen: %d", l) } if out != nil { raw := (*RawSockaddrVM)(out) if !reflect.DeepEqual(raw, tt.raw) { t.Fatalf("unexpected RawSockaddrVM:\n got: %#v\nwant: %#v", raw, tt.raw) } } }) } } func sockaddrCtlToAny(in RawSockaddrCtl) *RawSockaddrAny { var out RawSockaddrAny copy( (*(*[SizeofSockaddrAny]byte)(unsafe.Pointer(&out)))[:], (*(*[SizeofSockaddrCtl]byte)(unsafe.Pointer(&in)))[:], ) return &out } func sockaddrVMToAny(in RawSockaddrVM) *RawSockaddrAny { var out RawSockaddrAny copy( (*(*[SizeofSockaddrAny]byte)(unsafe.Pointer(&out)))[:], (*(*[SizeofSockaddrVM]byte)(unsafe.Pointer(&in)))[:], ) return &out } dependencies/pkg/mod/golang.org/x/sys@v0.26.0/unix/syscall_freebsd_test.go0000644000000000000000000001670115107355264025350 0ustar rootroot// 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. //go:build freebsd package unix_test import ( "flag" "fmt" "net" "os" "os/exec" "path/filepath" "runtime" "testing" "golang.org/x/sys/unix" ) func TestSysctlUint64(t *testing.T) { _, err := unix.SysctlUint64("vm.swap_total") if err != nil { t.Fatal(err) } } // FIXME: Infrastructure for launching tests in subprocesses stolen from openbsd_test.go - refactor? // testCmd generates a proper command that, when executed, runs the test // corresponding to the given key. type testProc struct { fn func() // should always exit instead of returning success bool // whether zero-exit means success or failure } var ( testProcs = map[string]testProc{} procName = "" procArg = "" ) const ( optName = "sys-unix-internal-procname" optArg = "sys-unix-internal-arg" ) func init() { flag.StringVar(&procName, optName, "", "internal use only") flag.StringVar(&procArg, optArg, "", "internal use only") } func testCmd(procName string, procArg string) (*exec.Cmd, error) { exe, err := os.Executable() if err != nil { return nil, err } cmd := exec.Command(exe, "-"+optName+"="+procName, "-"+optArg+"="+procArg) cmd.Stdout, cmd.Stderr = os.Stdout, os.Stderr return cmd, nil } // ExitsCorrectly is a comprehensive, one-line-of-use wrapper for testing // a testProc with a key. func ExitsCorrectly(t *testing.T, procName string) { s := testProcs[procName] c, err := testCmd(procName, t.TempDir()) if err != nil { t.Fatalf("Failed to construct command for %s", procName) } if (c.Run() == nil) != s.success { result := "succeed" if !s.success { result = "fail" } t.Fatalf("Process did not %s when it was supposed to", result) } } func TestMain(m *testing.M) { flag.Parse() if procName != "" { t := testProcs[procName] t.fn() os.Stderr.WriteString("test function did not exit\n") if t.success { os.Exit(1) } else { os.Exit(0) } } os.Exit(m.Run()) } // end of infrastructure const testfile = "gocapmodetest" const testfile2 = testfile + "2" func CapEnterTest() { _, err := os.OpenFile(filepath.Join(procArg, testfile), os.O_WRONLY|os.O_CREATE|os.O_APPEND, 0666) if err != nil { panic(fmt.Sprintf("OpenFile: %s", err)) } err = unix.CapEnter() if err != nil { panic(fmt.Sprintf("CapEnter: %s", err)) } _, err = os.OpenFile(filepath.Join(procArg, testfile2), os.O_WRONLY|os.O_CREATE|os.O_APPEND, 0666) if err == nil { panic("OpenFile works!") } if err.(*os.PathError).Err != unix.ECAPMODE { panic(fmt.Sprintf("OpenFile failed wrong: %s %#v", err, err)) } os.Exit(0) } func init() { testProcs["cap_enter"] = testProc{ CapEnterTest, true, } } func TestCapEnter(t *testing.T) { if runtime.GOARCH != "amd64" { t.Skipf("skipping test on %s", runtime.GOARCH) } ExitsCorrectly(t, "cap_enter") } func OpenatTest() { f, err := os.Open(procArg) if err != nil { panic(err) } err = unix.CapEnter() if err != nil { panic(fmt.Sprintf("CapEnter: %s", err)) } fxx, err := unix.Openat(int(f.Fd()), "xx", os.O_WRONLY|os.O_CREATE|os.O_APPEND, 0666) if err != nil { panic(err) } unix.Close(fxx) // The right to open BASE/xx is not ambient _, err = os.OpenFile(procArg+"/xx", os.O_WRONLY|os.O_CREATE|os.O_APPEND, 0666) if err == nil { panic("OpenFile succeeded") } if err.(*os.PathError).Err != unix.ECAPMODE { panic(fmt.Sprintf("OpenFile failed wrong: %s %#v", err, err)) } // Can't make a new directory either err = os.Mkdir(procArg+"2", 0777) if err == nil { panic("MKdir succeeded") } if err.(*os.PathError).Err != unix.ECAPMODE { panic(fmt.Sprintf("Mkdir failed wrong: %s %#v", err, err)) } // Remove all caps except read and lookup. r, err := unix.CapRightsInit([]uint64{unix.CAP_READ, unix.CAP_LOOKUP}) if err != nil { panic(fmt.Sprintf("CapRightsInit failed: %s %#v", err, err)) } err = unix.CapRightsLimit(f.Fd(), r) if err != nil { panic(fmt.Sprintf("CapRightsLimit failed: %s %#v", err, err)) } // Check we can get the rights back again r, err = unix.CapRightsGet(f.Fd()) if err != nil { panic(fmt.Sprintf("CapRightsGet failed: %s %#v", err, err)) } b, err := unix.CapRightsIsSet(r, []uint64{unix.CAP_READ, unix.CAP_LOOKUP}) if err != nil { panic(fmt.Sprintf("CapRightsIsSet failed: %s %#v", err, err)) } if !b { panic("Unexpected rights") } b, err = unix.CapRightsIsSet(r, []uint64{unix.CAP_READ, unix.CAP_LOOKUP, unix.CAP_WRITE}) if err != nil { panic(fmt.Sprintf("CapRightsIsSet failed: %s %#v", err, err)) } if b { panic("Unexpected rights (2)") } // Can no longer create a file _, err = unix.Openat(int(f.Fd()), "xx2", os.O_WRONLY|os.O_CREATE|os.O_APPEND, 0666) if err == nil { panic("Openat succeeded") } if err != unix.ENOTCAPABLE { panic(fmt.Sprintf("OpenFileAt failed wrong: %s %#v", err, err)) } // But can read an existing one _, err = unix.Openat(int(f.Fd()), "xx", os.O_RDONLY, 0666) if err != nil { panic(fmt.Sprintf("Openat failed: %s %#v", err, err)) } os.Exit(0) } func init() { testProcs["openat"] = testProc{ OpenatTest, true, } } func TestOpenat(t *testing.T) { if runtime.GOARCH != "amd64" { t.Skipf("skipping test on %s", runtime.GOARCH) } ExitsCorrectly(t, "openat") } func TestCapRightsSetAndClear(t *testing.T) { r, err := unix.CapRightsInit([]uint64{unix.CAP_READ, unix.CAP_WRITE, unix.CAP_PDWAIT}) if err != nil { t.Fatalf("CapRightsInit failed: %s", err) } err = unix.CapRightsSet(r, []uint64{unix.CAP_EVENT, unix.CAP_LISTEN}) if err != nil { t.Fatalf("CapRightsSet failed: %s", err) } b, err := unix.CapRightsIsSet(r, []uint64{unix.CAP_READ, unix.CAP_WRITE, unix.CAP_PDWAIT, unix.CAP_EVENT, unix.CAP_LISTEN}) if err != nil { t.Fatalf("CapRightsIsSet failed: %s", err) } if !b { t.Fatalf("Wrong rights set") } err = unix.CapRightsClear(r, []uint64{unix.CAP_READ, unix.CAP_PDWAIT}) if err != nil { t.Fatalf("CapRightsClear failed: %s", err) } b, err = unix.CapRightsIsSet(r, []uint64{unix.CAP_WRITE, unix.CAP_EVENT, unix.CAP_LISTEN}) if err != nil { t.Fatalf("CapRightsIsSet failed: %s", err) } if !b { t.Fatalf("Wrong rights set") } } func TestGetsockoptXucred(t *testing.T) { fds, err := unix.Socketpair(unix.AF_LOCAL, unix.SOCK_STREAM, 0) if err != nil { t.Fatalf("Socketpair: %v", err) } srvFile := os.NewFile(uintptr(fds[0]), "server") cliFile := os.NewFile(uintptr(fds[1]), "client") defer srvFile.Close() defer cliFile.Close() srv, err := net.FileConn(srvFile) if err != nil { t.Fatalf("FileConn: %v", err) } defer srv.Close() cli, err := net.FileConn(cliFile) if err != nil { t.Fatalf("FileConn: %v", err) } defer cli.Close() cred, err := unix.GetsockoptXucred(fds[1], unix.SOL_LOCAL, unix.LOCAL_PEERCRED) if err == unix.ENOTCONN { t.Skip("GetsockoptXucred not supported with Socketpair on FreeBSD 11 and earlier") } else if err != nil { t.Fatal(err) } t.Logf("got: %+v", cred) if got, want := cred.Uid, os.Getuid(); int(got) != int(want) { t.Errorf("uid = %v; want %v", got, want) } } // stringsFromByteSlice converts a sequence of attributes to a []string. // On FreeBSD, each entry consists of a single byte containing the length // of the attribute name, followed by the attribute name. // The name is _not_ NULL-terminated. func stringsFromByteSlice(buf []byte) []string { var result []string i := 0 for i < len(buf) { next := i + 1 + int(buf[i]) result = append(result, string(buf[i+1:next])) i = next } return result } dependencies/pkg/mod/golang.org/x/sys@v0.26.0/unix/zsysctl_openbsd_ppc64.go0000644000000000000000000002767415107355264025421 0ustar rootroot// go run mksysctl_openbsd.go // Code generated by the command above; DO NOT EDIT. //go:build ppc64 && openbsd 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.profile", []_C_int{9, 9}}, {"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.ncpuonline", []_C_int{6, 25}}, {"hw.pagesize", []_C_int{6, 7}}, {"hw.perfpolicy", []_C_int{6, 23}}, {"hw.physmem", []_C_int{6, 19}}, {"hw.power", []_C_int{6, 26}}, {"hw.product", []_C_int{6, 15}}, {"hw.serialno", []_C_int{6, 17}}, {"hw.setperf", []_C_int{6, 13}}, {"hw.smt", []_C_int{6, 24}}, {"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.allowdt", []_C_int{1, 65}}, {"kern.allowkmem", []_C_int{1, 52}}, {"kern.argmax", []_C_int{1, 8}}, {"kern.audio", []_C_int{1, 84}}, {"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.consbuf", []_C_int{1, 83}}, {"kern.consbufsize", []_C_int{1, 82}}, {"kern.consdev", []_C_int{1, 75}}, {"kern.cp_time", []_C_int{1, 40}}, {"kern.cp_time2", []_C_int{1, 71}}, {"kern.cpustats", []_C_int{1, 85}}, {"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.global_ptrace", []_C_int{1, 81}}, {"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.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.pfstatus", []_C_int{1, 86}}, {"kern.pool_debug", []_C_int{1, 77}}, {"kern.posix1version", []_C_int{1, 17}}, {"kern.proc", []_C_int{1, 66}}, {"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.timeout_stats", []_C_int{1, 87}}, {"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.utc_offset", []_C_int{1, 88}}, {"kern.version", []_C_int{1, 4}}, {"kern.video", []_C_int{1, 89}}, {"kern.watchdog.auto", []_C_int{1, 64, 2}}, {"kern.watchdog.period", []_C_int{1, 64, 1}}, {"kern.witnesswatch", []_C_int{1, 53}}, {"kern.wxabort", []_C_int{1, 74}}, {"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.arpdown", []_C_int{4, 2, 0, 40}}, {"net.inet.ip.arpqueued", []_C_int{4, 2, 0, 36}}, {"net.inet.ip.arptimeout", []_C_int{4, 2, 0, 39}}, {"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.mrtmfc", []_C_int{4, 2, 0, 37}}, {"net.inet.ip.mrtproto", []_C_int{4, 2, 0, 34}}, {"net.inet.ip.mrtstats", []_C_int{4, 2, 0, 35}}, {"net.inet.ip.mrtvif", []_C_int{4, 2, 0, 38}}, {"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.pfsync.stats", []_C_int{4, 2, 240, 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.rootonly", []_C_int{4, 2, 6, 24}}, {"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.tcp.synhashsize", []_C_int{4, 2, 6, 25}}, {"net.inet.tcp.synuselimit", []_C_int{4, 2, 6, 23}}, {"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.rootonly", []_C_int{4, 2, 17, 6}}, {"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_umaxtries", []_C_int{4, 24, 30, 9}}, {"net.inet6.icmp6.redirtimeout", []_C_int{4, 24, 30, 3}}, {"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.mforwarding", []_C_int{4, 24, 17, 42}}, {"net.inet6.ip6.mrtmfc", []_C_int{4, 24, 17, 53}}, {"net.inet6.ip6.mrtmif", []_C_int{4, 24, 17, 52}}, {"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.soiikey", []_C_int{4, 24, 17, 54}}, {"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.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.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.malloc_conf", []_C_int{2, 12}}, {"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}}, } dependencies/pkg/mod/golang.org/x/sys@v0.26.0/unix/syscall.go0000644000000000000000000000550215107355264022614 0ustar rootroot// 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. //go:build aix || darwin || dragonfly || freebsd || linux || netbsd || openbsd || solaris || zos // 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" import ( "bytes" "strings" "unsafe" ) // 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) { if strings.IndexByte(s, 0) != -1 { 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 } // ByteSliceToString returns a string form of the text represented by the slice s, with a terminating NUL and any // bytes after the NUL removed. func ByteSliceToString(s []byte) string { if i := bytes.IndexByte(s, 0); i != -1 { s = s[:i] } return string(s) } // BytePtrToString takes a pointer to a sequence of text and returns the corresponding string. // If the pointer is nil, it returns the empty string. It assumes that the text sequence is terminated // at a zero byte; if the zero byte is not present, the program may crash. func BytePtrToString(p *byte) string { if p == nil { return "" } if *p == 0 { return "" } // Find NUL terminator. n := 0 for ptr := unsafe.Pointer(p); *(*byte)(ptr) != 0; n++ { ptr = unsafe.Pointer(uintptr(ptr) + 1) } return string(unsafe.Slice(p, n)) } // Single-word zero for use when we need a valid pointer to 0 bytes. var _zero uintptr dependencies/pkg/mod/golang.org/x/sys@v0.26.0/unix/darwin_arm64_test.go0000644000000000000000000001573515107355264024507 0ustar rootroot// go run mkasm.go darwin arm64 // Code generated by the command above; DO NOT EDIT. //go:build darwin package unix // All the _trampoline functions in zsyscall_darwin_arm64.s. var darwinTests = [...]darwinTest{ {"accept", libc_accept_trampoline_addr}, {"access", libc_access_trampoline_addr}, {"adjtime", libc_adjtime_trampoline_addr}, {"bind", libc_bind_trampoline_addr}, {"chdir", libc_chdir_trampoline_addr}, {"chflags", libc_chflags_trampoline_addr}, {"chmod", libc_chmod_trampoline_addr}, {"chown", libc_chown_trampoline_addr}, {"chroot", libc_chroot_trampoline_addr}, {"clock_gettime", libc_clock_gettime_trampoline_addr}, {"clonefile", libc_clonefile_trampoline_addr}, {"clonefileat", libc_clonefileat_trampoline_addr}, {"close", libc_close_trampoline_addr}, {"closedir", libc_closedir_trampoline_addr}, {"connect", libc_connect_trampoline_addr}, {"connectx", libc_connectx_trampoline_addr}, {"dup", libc_dup_trampoline_addr}, {"dup2", libc_dup2_trampoline_addr}, {"exchangedata", libc_exchangedata_trampoline_addr}, {"exit", libc_exit_trampoline_addr}, {"faccessat", libc_faccessat_trampoline_addr}, {"fchdir", libc_fchdir_trampoline_addr}, {"fchflags", libc_fchflags_trampoline_addr}, {"fchmod", libc_fchmod_trampoline_addr}, {"fchmodat", libc_fchmodat_trampoline_addr}, {"fchown", libc_fchown_trampoline_addr}, {"fchownat", libc_fchownat_trampoline_addr}, {"fclonefileat", libc_fclonefileat_trampoline_addr}, {"fcntl", libc_fcntl_trampoline_addr}, {"fdopendir", libc_fdopendir_trampoline_addr}, {"fgetxattr", libc_fgetxattr_trampoline_addr}, {"flistxattr", libc_flistxattr_trampoline_addr}, {"flock", libc_flock_trampoline_addr}, {"fpathconf", libc_fpathconf_trampoline_addr}, {"fremovexattr", libc_fremovexattr_trampoline_addr}, {"fsetxattr", libc_fsetxattr_trampoline_addr}, {"fstat", libc_fstat_trampoline_addr}, {"fstatat", libc_fstatat_trampoline_addr}, {"fstatfs", libc_fstatfs_trampoline_addr}, {"fsync", libc_fsync_trampoline_addr}, {"ftruncate", libc_ftruncate_trampoline_addr}, {"futimes", libc_futimes_trampoline_addr}, {"getcwd", libc_getcwd_trampoline_addr}, {"getdtablesize", libc_getdtablesize_trampoline_addr}, {"getegid", libc_getegid_trampoline_addr}, {"geteuid", libc_geteuid_trampoline_addr}, {"getfsstat", libc_getfsstat_trampoline_addr}, {"getgid", libc_getgid_trampoline_addr}, {"getgroups", libc_getgroups_trampoline_addr}, {"getpeername", libc_getpeername_trampoline_addr}, {"getpgid", libc_getpgid_trampoline_addr}, {"getpgrp", libc_getpgrp_trampoline_addr}, {"getpid", libc_getpid_trampoline_addr}, {"getppid", libc_getppid_trampoline_addr}, {"getpriority", libc_getpriority_trampoline_addr}, {"getrlimit", libc_getrlimit_trampoline_addr}, {"getrusage", libc_getrusage_trampoline_addr}, {"getsid", libc_getsid_trampoline_addr}, {"getsockname", libc_getsockname_trampoline_addr}, {"getsockopt", libc_getsockopt_trampoline_addr}, {"gettimeofday", libc_gettimeofday_trampoline_addr}, {"getuid", libc_getuid_trampoline_addr}, {"getxattr", libc_getxattr_trampoline_addr}, {"ioctl", libc_ioctl_trampoline_addr}, {"issetugid", libc_issetugid_trampoline_addr}, {"kevent", libc_kevent_trampoline_addr}, {"kill", libc_kill_trampoline_addr}, {"kqueue", libc_kqueue_trampoline_addr}, {"lchown", libc_lchown_trampoline_addr}, {"link", libc_link_trampoline_addr}, {"linkat", libc_linkat_trampoline_addr}, {"listen", libc_listen_trampoline_addr}, {"listxattr", libc_listxattr_trampoline_addr}, {"lseek", libc_lseek_trampoline_addr}, {"lstat", libc_lstat_trampoline_addr}, {"madvise", libc_madvise_trampoline_addr}, {"mkdir", libc_mkdir_trampoline_addr}, {"mkdirat", libc_mkdirat_trampoline_addr}, {"mkfifo", libc_mkfifo_trampoline_addr}, {"mknod", libc_mknod_trampoline_addr}, {"mlock", libc_mlock_trampoline_addr}, {"mlockall", libc_mlockall_trampoline_addr}, {"mmap", libc_mmap_trampoline_addr}, {"mount", libc_mount_trampoline_addr}, {"mprotect", libc_mprotect_trampoline_addr}, {"msync", libc_msync_trampoline_addr}, {"munlock", libc_munlock_trampoline_addr}, {"munlockall", libc_munlockall_trampoline_addr}, {"munmap", libc_munmap_trampoline_addr}, {"open", libc_open_trampoline_addr}, {"openat", libc_openat_trampoline_addr}, {"pathconf", libc_pathconf_trampoline_addr}, {"pipe", libc_pipe_trampoline_addr}, {"poll", libc_poll_trampoline_addr}, {"pread", libc_pread_trampoline_addr}, {"pthread_chdir_np", libc_pthread_chdir_np_trampoline_addr}, {"pthread_fchdir_np", libc_pthread_fchdir_np_trampoline_addr}, {"ptrace", libc_ptrace_trampoline_addr}, {"pwrite", libc_pwrite_trampoline_addr}, {"read", libc_read_trampoline_addr}, {"readdir_r", libc_readdir_r_trampoline_addr}, {"readlink", libc_readlink_trampoline_addr}, {"readlinkat", libc_readlinkat_trampoline_addr}, {"recvfrom", libc_recvfrom_trampoline_addr}, {"recvmsg", libc_recvmsg_trampoline_addr}, {"removexattr", libc_removexattr_trampoline_addr}, {"rename", libc_rename_trampoline_addr}, {"renameat", libc_renameat_trampoline_addr}, {"renameatx_np", libc_renameatx_np_trampoline_addr}, {"renamex_np", libc_renamex_np_trampoline_addr}, {"revoke", libc_revoke_trampoline_addr}, {"rmdir", libc_rmdir_trampoline_addr}, {"select", libc_select_trampoline_addr}, {"sendfile", libc_sendfile_trampoline_addr}, {"sendmsg", libc_sendmsg_trampoline_addr}, {"sendto", libc_sendto_trampoline_addr}, {"setattrlist", libc_setattrlist_trampoline_addr}, {"setegid", libc_setegid_trampoline_addr}, {"seteuid", libc_seteuid_trampoline_addr}, {"setgid", libc_setgid_trampoline_addr}, {"setgroups", libc_setgroups_trampoline_addr}, {"setlogin", libc_setlogin_trampoline_addr}, {"setpgid", libc_setpgid_trampoline_addr}, {"setpriority", libc_setpriority_trampoline_addr}, {"setprivexec", libc_setprivexec_trampoline_addr}, {"setregid", libc_setregid_trampoline_addr}, {"setreuid", libc_setreuid_trampoline_addr}, {"setsid", libc_setsid_trampoline_addr}, {"setsockopt", libc_setsockopt_trampoline_addr}, {"settimeofday", libc_settimeofday_trampoline_addr}, {"setuid", libc_setuid_trampoline_addr}, {"setxattr", libc_setxattr_trampoline_addr}, {"shmat", libc_shmat_trampoline_addr}, {"shmctl", libc_shmctl_trampoline_addr}, {"shmdt", libc_shmdt_trampoline_addr}, {"shmget", libc_shmget_trampoline_addr}, {"shutdown", libc_shutdown_trampoline_addr}, {"socket", libc_socket_trampoline_addr}, {"socketpair", libc_socketpair_trampoline_addr}, {"stat", libc_stat_trampoline_addr}, {"statfs", libc_statfs_trampoline_addr}, {"symlink", libc_symlink_trampoline_addr}, {"symlinkat", libc_symlinkat_trampoline_addr}, {"sync", libc_sync_trampoline_addr}, {"sysctl", libc_sysctl_trampoline_addr}, {"truncate", libc_truncate_trampoline_addr}, {"umask", libc_umask_trampoline_addr}, {"undelete", libc_undelete_trampoline_addr}, {"unlink", libc_unlink_trampoline_addr}, {"unlinkat", libc_unlinkat_trampoline_addr}, {"unmount", libc_unmount_trampoline_addr}, {"utimensat", libc_utimensat_trampoline_addr}, {"utimes", libc_utimes_trampoline_addr}, {"wait4", libc_wait4_trampoline_addr}, {"write", libc_write_trampoline_addr}, } dependencies/pkg/mod/golang.org/x/sys@v0.26.0/unix/syscall_solaris_amd64.go0000644000000000000000000000112115107355264025334 0ustar rootroot// 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. //go:build amd64 && solaris package unix func setTimespec(sec, nsec int64) Timespec { return Timespec{Sec: sec, Nsec: nsec} } func setTimeval(sec, usec int64) Timeval { return Timeval{Sec: sec, Usec: usec} } func (iov *Iovec) SetLen(length int) { iov.Len = uint64(length) } func (msghdr *Msghdr) SetIovlen(length int) { msghdr.Iovlen = int32(length) } func (cmsg *Cmsghdr) SetLen(length int) { cmsg.Len = uint32(length) } dependencies/pkg/mod/golang.org/x/sys@v0.26.0/unix/ztypes_darwin_amd64.go0000644000000000000000000003115015107355264025035 0ustar rootroot// cgo -godefs types_darwin.go | go run mkpost.go // Code generated by the command above; see README.md. DO NOT EDIT. //go:build amd64 && darwin 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 _ [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 Atim Timespec Mtim Timespec Ctim Timespec Btim 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]byte Mntonname [1024]byte Mntfromname [1024]byte Flags_ext uint32 Reserved [7]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 _ [4]byte } type Fbootstraptransfer_t struct { Offset int64 Length uint64 Buffer *byte } type Log2phys_t struct { Flags uint32 _ [16]byte } type Fsid struct { Val [2]int32 } type Dirent struct { Ino uint64 Seekoff uint64 Reclen uint16 Namlen uint16 Type uint8 Name [1024]int8 _ [3]byte } type Attrlist struct { Bitmapcount uint16 Reserved uint16 Commonattr uint32 Volattr uint32 Dirattr uint32 Fileattr uint32 Forkattr uint32 } const ( PathMax = 0x400 ) 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 RawSockaddrCtl struct { Sc_len uint8 Sc_family uint8 Ss_sysaddr uint16 Sc_id uint32 Sc_unit uint32 Sc_reserved [5]uint32 } type RawSockaddrVM struct { Len uint8 Family uint8 Reserved1 uint16 Port uint32 Cid uint32 } type XVSockPCB struct { Xv_len uint32 Xv_vsockpp uint64 Xvp_local_cid uint32 Xvp_local_port uint32 Xvp_remote_cid uint32 Xvp_remote_port uint32 Xvp_rxcnt uint32 Xvp_txcnt uint32 Xvp_peer_rxhiwat uint32 Xvp_peer_rxcnt uint32 Xvp_last_pid int32 Xvp_gencnt uint64 Xv_socket XSocket _ [4]byte } type XSocket struct { Xso_len uint32 Xso_so uint32 So_type int16 So_options int16 So_linger int16 So_state int16 So_pcb uint32 Xso_protocol int32 Xso_family int32 So_qlen int16 So_incqlen int16 So_qlimit int16 So_timeo int16 So_error uint16 So_pgid int32 So_oobmark uint32 So_rcv XSockbuf So_snd XSockbuf So_uid uint32 } type XSocket64 struct { Xso_len uint32 _ [8]byte So_type int16 So_options int16 So_linger int16 So_state int16 _ [8]byte Xso_protocol int32 Xso_family int32 So_qlen int16 So_incqlen int16 So_qlimit int16 So_timeo int16 So_error uint16 So_pgid int32 So_oobmark uint32 So_rcv XSockbuf So_snd XSockbuf So_uid uint32 } type XSockbuf struct { Cc uint32 Hiwat uint32 Mbcnt uint32 Mbmax uint32 Lowat int32 Flags int16 Timeo int16 } type XVSockPgen struct { Len uint32 Count uint64 Gen uint64 Sogen uint64 } type _Socklen uint32 type SaeAssocID uint32 type SaeConnID uint32 type SaEndpoints struct { Srcif uint32 Srcaddr *RawSockaddr Srcaddrlen uint32 Dstaddr *RawSockaddr Dstaddrlen uint32 _ [4]byte } type Xucred struct { Version uint32 Uid uint32 Ngroups int16 Groups [16]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 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 } type TCPConnectionInfo struct { State uint8 Snd_wscale uint8 Rcv_wscale uint8 _ uint8 Options uint32 Flags uint32 Rto uint32 Maxseg uint32 Snd_ssthresh uint32 Snd_cwnd uint32 Snd_wnd uint32 Snd_sbbytes uint32 Rcv_wnd uint32 Rttcur uint32 Srtt uint32 Rttvar uint32 Txpackets uint64 Txbytes uint64 Txretransmitbytes uint64 Rxpackets uint64 Rxbytes uint64 Rxoutoforderbytes uint64 Txretransmitpackets uint64 } const ( SizeofSockaddrInet4 = 0x10 SizeofSockaddrInet6 = 0x1c SizeofSockaddrAny = 0x6c SizeofSockaddrUnix = 0x6a SizeofSockaddrDatalink = 0x14 SizeofSockaddrCtl = 0x20 SizeofSockaddrVM = 0xc SizeofXvsockpcb = 0xa8 SizeofXSocket = 0x64 SizeofXSockbuf = 0x18 SizeofXVSockPgen = 0x20 SizeofXucred = 0x4c SizeofLinger = 0x8 SizeofIovec = 0x10 SizeofIPMreq = 0x8 SizeofIPMreqn = 0xc SizeofIPv6Mreq = 0x14 SizeofMsghdr = 0x30 SizeofCmsghdr = 0xc SizeofInet4Pktinfo = 0xc SizeofInet6Pktinfo = 0x14 SizeofIPv6MTUInfo = 0x20 SizeofICMPv6Filter = 0x20 SizeofTCPConnectionInfo = 0x70 ) 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 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 Metric int32 } type IfmaMsghdr struct { Msglen uint16 Version uint8 Type uint8 Addrs int32 Flags int32 Index uint16 _ [2]byte } type IfmaMsghdr2 struct { Msglen uint16 Version uint8 Type uint8 Addrs int32 Flags int32 Index uint16 Refcount int32 } type RtMsghdr struct { Msglen uint16 Version uint8 Type uint8 Index uint16 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 State uint32 Filler [3]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 Insns *BpfInsn } type BpfInsn struct { Code uint16 Jt uint8 Jf uint8 K uint32 } type BpfHdr struct { Tstamp Timeval32 Caplen uint32 Datalen uint32 Hdrlen uint16 _ [2]byte } type Termios struct { Iflag uint64 Oflag uint64 Cflag uint64 Lflag uint64 Cc [20]uint8 Ispeed uint64 Ospeed uint64 } type Winsize struct { Row uint16 Col uint16 Xpixel uint16 Ypixel uint16 } const ( AT_FDCWD = -0x2 AT_REMOVEDIR = 0x80 AT_SYMLINK_FOLLOW = 0x40 AT_SYMLINK_NOFOLLOW = 0x20 AT_EACCESS = 0x10 ) type PollFd struct { Fd int32 Events int16 Revents int16 } const ( POLLERR = 0x8 POLLHUP = 0x10 POLLIN = 0x1 POLLNVAL = 0x20 POLLOUT = 0x4 POLLPRI = 0x2 POLLRDBAND = 0x80 POLLRDNORM = 0x40 POLLWRBAND = 0x100 POLLWRNORM = 0x4 ) type Utsname struct { Sysname [256]byte Nodename [256]byte Release [256]byte Version [256]byte Machine [256]byte } const SizeofClockinfo = 0x14 type Clockinfo struct { Hz int32 Tick int32 Tickadj int32 Stathz int32 Profhz int32 } type CtlInfo struct { Id uint32 Name [96]byte } const SizeofKinfoProc = 0x288 type Eproc struct { Paddr uintptr Sess uintptr Pcred Pcred Ucred Ucred Vm Vmspace Ppid int32 Pgid int32 Jobc int16 Tdev int32 Tpgid int32 Tsess uintptr Wmesg [8]byte Xsize int32 Xrssize int16 Xccount int16 Xswrss int16 Flag int32 Login [12]byte Spare [4]int32 _ [4]byte } type ExternProc struct { P_starttime Timeval P_vmspace *Vmspace P_sigacts uintptr P_flag int32 P_stat int8 P_pid int32 P_oppid int32 P_dupfd int32 User_stack *int8 Exit_thread *byte P_debugger int32 Sigwait int32 P_estcpu uint32 P_cpticks int32 P_pctcpu uint32 P_wchan *byte P_wmesg *int8 P_swtime uint32 P_slptime uint32 P_realtimer Itimerval P_rtime Timeval P_uticks uint64 P_sticks uint64 P_iticks uint64 P_traceflag int32 P_tracep uintptr P_siglist int32 P_textvp uintptr P_holdcnt int32 P_sigmask uint32 P_sigignore uint32 P_sigcatch uint32 P_priority uint8 P_usrpri uint8 P_nice int8 P_comm [17]byte P_pgrp uintptr P_addr uintptr P_xstat uint16 P_acflag uint16 P_ru *Rusage } type Itimerval struct { Interval Timeval Value Timeval } type KinfoProc struct { Proc ExternProc Eproc Eproc } type Vmspace struct { Dummy int32 Dummy2 *int8 Dummy3 [5]int32 Dummy4 [3]*int8 } type Pcred struct { Pc_lock [72]int8 Pc_ucred uintptr P_ruid uint32 P_svuid uint32 P_rgid uint32 P_svgid uint32 P_refcnt int32 _ [4]byte } type Ucred struct { Ref int32 Uid uint32 Ngroups int16 Groups [16]uint32 } type SysvIpcPerm struct { Uid uint32 Gid uint32 Cuid uint32 Cgid uint32 Mode uint16 _ uint16 _ int32 } type SysvShmDesc struct { Perm SysvIpcPerm Segsz uint64 Lpid int32 Cpid int32 Nattch uint16 _ [34]byte } const ( IPC_CREAT = 0x200 IPC_EXCL = 0x400 IPC_NOWAIT = 0x800 IPC_PRIVATE = 0x0 ) const ( IPC_RMID = 0x0 IPC_SET = 0x1 IPC_STAT = 0x2 ) const ( SHM_RDONLY = 0x1000 SHM_RND = 0x2000 ) dependencies/pkg/mod/golang.org/x/sys@v0.26.0/unix/syscall_aix_ppc64.go0000644000000000000000000000363615107355264024477 0ustar rootroot// Copyright 2018 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:build aix && ppc64 package unix //sysnb Getrlimit(resource int, rlim *Rlimit) (err error) //sys Seek(fd int, offset int64, whence int) (off int64, err error) = lseek //sys mmap(addr uintptr, length uintptr, prot int, flags int, fd int, offset int64) (xaddr uintptr, err error) = mmap64 func setTimespec(sec, nsec int64) Timespec { return Timespec{Sec: sec, Nsec: nsec} } func setTimeval(sec, usec int64) Timeval { return Timeval{Sec: int64(sec), Usec: int32(usec)} } func (iov *Iovec) SetLen(length int) { iov.Len = uint64(length) } func (msghdr *Msghdr) SetControllen(length int) { msghdr.Controllen = uint32(length) } func (msghdr *Msghdr) SetIovlen(length int) { msghdr.Iovlen = int32(length) } func (cmsg *Cmsghdr) SetLen(length int) { cmsg.Len = uint32(length) } // In order to only have Timespec structure, type of Stat_t's fields // Atim, Mtim and Ctim is changed from StTimespec to Timespec during // ztypes generation. // On ppc64, Timespec.Nsec is an int64 while StTimespec.Nsec is an // int32, so the fields' value must be modified. func fixStatTimFields(stat *Stat_t) { stat.Atim.Nsec >>= 32 stat.Mtim.Nsec >>= 32 stat.Ctim.Nsec >>= 32 } func Fstat(fd int, stat *Stat_t) error { err := fstat(fd, stat) if err != nil { return err } fixStatTimFields(stat) return nil } func Fstatat(dirfd int, path string, stat *Stat_t, flags int) error { err := fstatat(dirfd, path, stat, flags) if err != nil { return err } fixStatTimFields(stat) return nil } func Lstat(path string, stat *Stat_t) error { err := lstat(path, stat) if err != nil { return err } fixStatTimFields(stat) return nil } func Stat(path string, statptr *Stat_t) error { err := stat(path, statptr) if err != nil { return err } fixStatTimFields(statptr) return nil } dependencies/pkg/mod/golang.org/x/sys@v0.26.0/unix/mksyscall.go0000644000000000000000000003107615107355264023151 0ustar rootroot// Copyright 2018 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:build ignore /* 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. */ package main import ( "bufio" "flag" "fmt" "os" "regexp" "strings" ) var ( b32 = flag.Bool("b32", false, "32bit big-endian") l32 = flag.Bool("l32", false, "32bit little-endian") libc = flag.Bool("libc", false, "libc system calls") plan9 = flag.Bool("plan9", false, "plan9") openbsd = flag.Bool("openbsd", false, "openbsd") netbsd = flag.Bool("netbsd", false, "netbsd") dragonfly = flag.Bool("dragonfly", false, "dragonfly") arm = flag.Bool("arm", false, "arm") // 64-bit value should use (even, odd)-pair tags = flag.String("tags", "", "build tags") filename = flag.String("output", "", "output file name (standard output if omitted)") libcPath = "libc.so" ) var ( regexpComma = regexp.MustCompile(`\s*,\s*`) regexpParamKV = regexp.MustCompile(`^(\S*) (\S*)$`) regexpSys = regexp.MustCompile(`^\/\/sys\t`) regexpSysNonblock = regexp.MustCompile(`^\/\/sysnb\t`) regexpSysDeclaration = regexp.MustCompile(`^\/\/sys(nb)?\t(\w+)\(([^()]*)\)\s*(?:\(([^()]+)\))?\s*(?:=\s*((?i)SYS_[A-Z0-9_]+))?$`) regexpPointer = regexp.MustCompile(`^\*`) regexpSlice = regexp.MustCompile(`^\[](.*)`) regexpDragonflyExtp = regexp.MustCompile(`^(?i)extp(read|write)`) regexpSyscallName = regexp.MustCompile(`([a-z])([A-Z])`) ) // cmdLine returns this programs's commandline arguments func cmdLine() string { return "go run mksyscall.go " + strings.Join(os.Args[1:], " ") } // goBuildTags returns build tags in the go:build format. func goBuildTags() string { return strings.ReplaceAll(*tags, ",", " && ") } // Param is function parameter type Param struct { Name string Type string } // usage prints the program usage func usage() { fmt.Fprintf(os.Stderr, "usage: go run mksyscall.go [-b32 | -l32] [-tags x,y] [file ...]\n") os.Exit(1) } // parseParamList parses parameter list and returns a slice of parameters func parseParamList(list string) []string { list = strings.TrimSpace(list) if list == "" { return []string{} } return regexpComma.Split(list, -1) } // parseParam splits a parameter into name and type func parseParam(p string) Param { ps := regexpParamKV.FindStringSubmatch(p) if ps == nil { fmt.Fprintf(os.Stderr, "malformed parameter: %s\n", p) os.Exit(1) } return Param{ps[1], ps[2]} } func main() { goos := os.Getenv("GOOS_TARGET") if goos == "" { goos = os.Getenv("GOOS") } if goos == "" { fmt.Fprintln(os.Stderr, "GOOS not defined in environment") os.Exit(1) } // Check that we are using the Docker-based build system if we should if goos == "linux" { if os.Getenv("GOLANG_SYS_BUILD") != "docker" { fmt.Fprintf(os.Stderr, "In the Docker-based build system, mksyscall should not be called directly.\n") fmt.Fprintf(os.Stderr, "See README.md\n") os.Exit(1) } } flag.Usage = usage flag.Parse() if len(flag.Args()) <= 0 { fmt.Fprintf(os.Stderr, "no files to parse provided\n") usage() } endianness := "" if *b32 { endianness = "big-endian" } else if *l32 { endianness = "little-endian" } if goos == "darwin" { libcPath = "/usr/lib/libSystem.B.dylib" *libc = true } trampolines := map[string]bool{} text := "" for _, path := range flag.Args() { file, err := os.Open(path) if err != nil { fmt.Fprintf(os.Stderr, err.Error()) os.Exit(1) } s := bufio.NewScanner(file) for s.Scan() { t := s.Text() nonblock := regexpSysNonblock.FindStringSubmatch(t) if regexpSys.FindStringSubmatch(t) == nil && nonblock == nil { continue } // 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. f := regexpSysDeclaration.FindStringSubmatch(t) if f == nil { fmt.Fprintf(os.Stderr, "%s:%s\nmalformed //sys declaration\n", path, t) os.Exit(1) } funct, inps, outps, sysname := f[2], f[3], f[4], f[5] // Split argument lists on comma. in := parseParamList(inps) out := parseParamList(outps) // 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. outDecl := "" if len(out) > 0 { outDecl = fmt.Sprintf(" (%s)", strings.Join(out, ", ")) } text += fmt.Sprintf("func %s(%s)%s {\n", funct, strings.Join(in, ", "), outDecl) // Check if err return available errvar := "" for _, param := range out { p := parseParam(param) if p.Type == "error" { errvar = p.Name break } } // Prepare arguments to Syscall. var args []string n := 0 for _, param := range in { p := parseParam(param) if regexpPointer.FindStringSubmatch(p.Type) != nil { args = append(args, "uintptr(unsafe.Pointer("+p.Name+"))") } else if p.Type == "string" && errvar != "" { text += fmt.Sprintf("\tvar _p%d *byte\n", n) text += fmt.Sprintf("\t_p%d, %s = BytePtrFromString(%s)\n", n, errvar, p.Name) text += fmt.Sprintf("\tif %s != nil {\n\t\treturn\n\t}\n", errvar) args = append(args, fmt.Sprintf("uintptr(unsafe.Pointer(_p%d))", n)) n++ } else if p.Type == "string" { fmt.Fprintf(os.Stderr, path+":"+funct+" uses string arguments, but has no error return\n") text += fmt.Sprintf("\tvar _p%d *byte\n", n) text += fmt.Sprintf("\t_p%d, _ = BytePtrFromString(%s)\n", n, p.Name) args = append(args, fmt.Sprintf("uintptr(unsafe.Pointer(_p%d))", n)) n++ } else if regexpSlice.FindStringSubmatch(p.Type) != nil { // 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 += fmt.Sprintf("\tvar _p%d unsafe.Pointer\n", n) text += fmt.Sprintf("\tif len(%s) > 0 {\n\t\t_p%d = unsafe.Pointer(&%s[0])\n\t}", p.Name, n, p.Name) text += fmt.Sprintf(" else {\n\t\t_p%d = unsafe.Pointer(&_zero)\n\t}\n", n) args = append(args, fmt.Sprintf("uintptr(_p%d)", n), fmt.Sprintf("uintptr(len(%s))", p.Name)) n++ } else if p.Type == "int64" && ((*openbsd && !*libc) || *netbsd) { args = append(args, "0") if endianness == "big-endian" { args = append(args, fmt.Sprintf("uintptr(%s>>32)", p.Name), fmt.Sprintf("uintptr(%s)", p.Name)) } else if endianness == "little-endian" { args = append(args, fmt.Sprintf("uintptr(%s)", p.Name), fmt.Sprintf("uintptr(%s>>32)", p.Name)) } else { args = append(args, fmt.Sprintf("uintptr(%s)", p.Name)) } } else if p.Type == "int64" && *dragonfly { if regexpDragonflyExtp.FindStringSubmatch(funct) == nil { args = append(args, "0") } if endianness == "big-endian" { args = append(args, fmt.Sprintf("uintptr(%s>>32)", p.Name), fmt.Sprintf("uintptr(%s)", p.Name)) } else if endianness == "little-endian" { args = append(args, fmt.Sprintf("uintptr(%s)", p.Name), fmt.Sprintf("uintptr(%s>>32)", p.Name)) } else { args = append(args, fmt.Sprintf("uintptr(%s)", p.Name)) } } else if (p.Type == "int64" || p.Type == "uint64") && endianness != "" { if len(args)%2 == 1 && *arm { // arm abi specifies 64-bit argument uses // (even, odd) pair args = append(args, "0") } if endianness == "big-endian" { args = append(args, fmt.Sprintf("uintptr(%s>>32)", p.Name), fmt.Sprintf("uintptr(%s)", p.Name)) } else { args = append(args, fmt.Sprintf("uintptr(%s)", p.Name), fmt.Sprintf("uintptr(%s>>32)", p.Name)) } } else { args = append(args, fmt.Sprintf("uintptr(%s)", p.Name)) } } // Determine which form to use; pad args with zeros. asm := "Syscall" if nonblock != nil { if errvar == "" && goos == "linux" { asm = "RawSyscallNoError" } else { asm = "RawSyscall" } } else { if errvar == "" && goos == "linux" { asm = "SyscallNoError" } } if len(args) <= 3 { for len(args) < 3 { args = append(args, "0") } } else if len(args) <= 6 { asm += "6" for len(args) < 6 { args = append(args, "0") } } else if len(args) <= 9 { asm += "9" for len(args) < 9 { args = append(args, "0") } } else { fmt.Fprintf(os.Stderr, "%s:%s too many arguments to system call\n", path, funct) } // System call number. if sysname == "" { sysname = "SYS_" + funct sysname = regexpSyscallName.ReplaceAllString(sysname, `${1}_$2`) sysname = strings.ToUpper(sysname) } var libcFn string if *libc { asm = "syscall_" + strings.ToLower(asm[:1]) + asm[1:] // internal syscall call sysname = strings.TrimPrefix(sysname, "SYS_") // remove SYS_ sysname = strings.ToLower(sysname) // lowercase if *openbsd && *libc { switch sysname { case "__getcwd": sysname = "getcwd" case "__sysctl": sysname = "sysctl" } } libcFn = sysname sysname = "libc_" + sysname + "_trampoline_addr" } // Actual call. arglist := strings.Join(args, ", ") call := fmt.Sprintf("%s(%s, %s)", asm, sysname, arglist) // Assign return values. body := "" ret := []string{"_", "_", "_"} doErrno := false for i := 0; i < len(out); i++ { p := parseParam(out[i]) reg := "" if p.Name == "err" && !*plan9 { reg = "e1" ret[2] = reg doErrno = true } else if p.Name == "err" && *plan9 { ret[0] = "r0" ret[2] = "e1" break } else { reg = fmt.Sprintf("r%d", i) ret[i] = reg } if p.Type == "bool" { reg = fmt.Sprintf("%s != 0", reg) } if p.Type == "int64" && endianness != "" { // 64-bit number in r1:r0 or r0:r1. if i+2 > len(out) { fmt.Fprintf(os.Stderr, "%s:%s not enough registers for int64 return\n", path, funct) } if endianness == "big-endian" { reg = fmt.Sprintf("int64(r%d)<<32 | int64(r%d)", i, i+1) } else { reg = fmt.Sprintf("int64(r%d)<<32 | int64(r%d)", i+1, i) } ret[i] = fmt.Sprintf("r%d", i) ret[i+1] = fmt.Sprintf("r%d", i+1) } if reg != "e1" || *plan9 { body += fmt.Sprintf("\t%s = %s(%s)\n", p.Name, p.Type, reg) } } if ret[0] == "_" && ret[1] == "_" && ret[2] == "_" { text += fmt.Sprintf("\t%s\n", call) } else { if errvar == "" && goos == "linux" { // raw syscall without error on Linux, see golang.org/issue/22924 text += fmt.Sprintf("\t%s, %s := %s\n", ret[0], ret[1], call) } else { text += fmt.Sprintf("\t%s, %s, %s := %s\n", ret[0], ret[1], ret[2], call) } } text += body if *plan9 && ret[2] == "e1" { text += "\tif int32(r0) == -1 {\n" text += "\t\terr = e1\n" text += "\t}\n" } else if doErrno { text += "\tif e1 != 0 {\n" text += "\t\terr = errnoErr(e1)\n" text += "\t}\n" } text += "\treturn\n" text += "}\n\n" if *libc && !trampolines[libcFn] { // Some system calls share a trampoline. trampolines[libcFn] = true // Declare assembly trampoline address. text += fmt.Sprintf("var libc_%s_trampoline_addr uintptr\n\n", libcFn) // Assembly trampoline calls the libc_* function, which this magic // redirects to use the function from libSystem. text += fmt.Sprintf("//go:cgo_import_dynamic libc_%s %s %q\n", libcFn, libcFn, libcPath) text += "\n" } } if err := s.Err(); err != nil { fmt.Fprintf(os.Stderr, err.Error()) os.Exit(1) } file.Close() } fmt.Printf(srcTemplate, cmdLine(), goBuildTags(), text) } const srcTemplate = `// %s // Code generated by the command above; see README.md. DO NOT EDIT. //go:build %s package unix import ( "syscall" "unsafe" ) var _ syscall.Errno %s ` dependencies/pkg/mod/golang.org/x/sys@v0.26.0/unix/syscall_bsd.go0000644000000000000000000003573115107355264023453 0ustar rootroot// 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. //go: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" ) const ImplementsGetwd = true func Getwd() (string, error) { var buf [PathMax]byte _, 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) 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]) } // 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 killed = 9 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) Killed() bool { return w&mask == killed && syscall.Signal(w>>shift) != SIGKILL } 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) sa.raw.Addr = sa.Addr 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 sa.raw.Addr = sa.Addr 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 sa.raw.Data = sa.Data return unsafe.Pointer(&sa.raw), SizeofSockaddrDatalink, nil } func anyToSockaddr(fd int, 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 sa.Data = pp.Data 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 } } sa.Name = string(unsafe.Slice((*byte)(unsafe.Pointer(&pp.Path[0])), n)) 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]) sa.Addr = pp.Addr 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 sa.Addr = pp.Addr return sa, nil } return anyToSockaddrGOOS(fd, rsa) } 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" || runtime.GOOS == "ios") && 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(fd, &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(fd, &rsa) } //sysnb socketpair(domain int, typ int, proto int, fd *[2]int32) (err error) // GetsockoptString returns the string value of the socket option opt for the // socket associated with fd at the given socket level. func GetsockoptString(fd, level, opt int) (string, error) { buf := make([]byte, 256) vallen := _Socklen(len(buf)) err := getsockopt(fd, level, opt, unsafe.Pointer(&buf[0]), &vallen) if err != nil { return "", err } return ByteSliceToString(buf[:vallen]), nil } //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 recvmsgRaw(fd int, iov []Iovec, oob []byte, flags int, rsa *RawSockaddrAny) (n, oobn int, recvflags int, err error) { var msg Msghdr msg.Name = (*byte)(unsafe.Pointer(rsa)) msg.Namelen = uint32(SizeofSockaddrAny) var dummy byte if len(oob) > 0 { // receive at least one normal byte if emptyIovecs(iov) { var iova [1]Iovec iova[0].Base = &dummy iova[0].SetLen(1) iov = iova[:] } msg.Control = (*byte)(unsafe.Pointer(&oob[0])) msg.SetControllen(len(oob)) } if len(iov) > 0 { msg.Iov = &iov[0] msg.SetIovlen(len(iov)) } if n, err = recvmsg(fd, &msg, flags); err != nil { return } oobn = int(msg.Controllen) recvflags = int(msg.Flags) return } //sys sendmsg(s int, msg *Msghdr, flags int) (n int, err error) func sendmsgN(fd int, iov []Iovec, oob []byte, ptr unsafe.Pointer, salen _Socklen, flags int) (n int, err error) { var msg Msghdr msg.Name = (*byte)(unsafe.Pointer(ptr)) msg.Namelen = uint32(salen) var dummy byte var empty bool if len(oob) > 0 { // send at least one normal byte empty = emptyIovecs(iov) if empty { var iova [1]Iovec iova[0].Base = &dummy iova[0].SetLen(1) iov = iova[:] } msg.Control = (*byte)(unsafe.Pointer(&oob[0])) msg.SetControllen(len(oob)) } if len(iov) > 0 { msg.Iov = &iov[0] msg.SetIovlen(len(iov)) } if n, err = sendmsg(fd, &msg, flags); err != nil { return 0, err } if len(oob) > 0 && empty { 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) } // 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 } func SysctlClockinfo(name string) (*Clockinfo, error) { mib, err := sysctlmib(name) if err != nil { return nil, err } n := uintptr(SizeofClockinfo) var ci Clockinfo if err := sysctl(mib, (*byte)(unsafe.Pointer(&ci)), &n, nil, 0); err != nil { return nil, err } if n != SizeofClockinfo { return nil, EIO } return &ci, nil } func SysctlTimeval(name string) (*Timeval, error) { mib, err := sysctlmib(name) if err != nil { return nil, err } var tv Timeval n := uintptr(unsafe.Sizeof(tv)) if err := sysctl(mib, (*byte)(unsafe.Pointer(&tv)), &n, nil, 0); err != nil { return nil, err } if n != unsafe.Sizeof(tv) { return nil, EIO } return &tv, 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 { 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 } // 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]))) } 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 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 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) } // TODO: wrap // Acct(name nil-string) (err error) // Gethostuuid(uuid *byte, timeout *Timespec) (err error) // Ptrace(req int, pid int, addr uintptr, data int) (ret uintptr, err error) //sys Madvise(b []byte, behav int) (err error) //sys Mlock(b []byte) (err error) //sys Mlockall(flags int) (err error) //sys Mprotect(b []byte, prot int) (err error) //sys Msync(b []byte, flags int) (err error) //sys Munlock(b []byte) (err error) //sys Munlockall() (err error) dependencies/pkg/mod/golang.org/x/sys@v0.26.0/unix/ztypes_linux_ppc64le.go0000644000000000000000000003043615107355264025260 0ustar rootroot// cgo -godefs -objdir=/tmp/ppc64le/cgo -- -Wall -Werror -static -I/tmp/ppc64le/include linux/types.go | go run mkpost.go // Code generated by the command above; see README.md. DO NOT EDIT. //go:build ppc64le && linux package unix const ( SizeofPtr = 0x8 SizeofLong = 0x8 ) type ( _C_long int64 ) type Timespec struct { Sec int64 Nsec int64 } type Timeval struct { Sec int64 Usec int64 } type Timex struct { Modes uint32 Offset int64 Freq int64 Maxerror int64 Esterror int64 Status int32 Constant int64 Precision int64 Tolerance int64 Time Timeval Tick int64 Ppsfreq int64 Jitter int64 Shift int32 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 Stat_t struct { Dev uint64 Ino uint64 Nlink uint64 Mode uint32 Uid uint32 Gid uint32 _ int32 Rdev uint64 Size int64 Blksize int64 Blocks int64 Atim Timespec Mtim Timespec Ctim Timespec _ uint64 _ uint64 _ uint64 } type Dirent struct { Ino uint64 Off int64 Reclen uint16 Type uint8 Name [256]uint8 _ [5]byte } type Flock_t struct { Type int16 Whence int16 Start int64 Len int64 Pid int32 _ [4]byte } type DmNameList struct { Dev uint64 Next uint32 Name [0]byte _ [4]byte } const ( FADV_DONTNEED = 0x4 FADV_NOREUSE = 0x5 ) type RawSockaddrNFCLLCP struct { Sa_family uint16 Dev_idx uint32 Target_idx uint32 Nfc_protocol uint32 Dsap uint8 Ssap uint8 Service_name [63]uint8 Service_name_len uint64 } type RawSockaddr struct { Family uint16 Data [14]uint8 } type RawSockaddrAny struct { Addr RawSockaddr Pad [96]uint8 } type Iovec struct { Base *byte Len uint64 } type Msghdr struct { Name *byte Namelen uint32 Iov *Iovec Iovlen uint64 Control *byte Controllen uint64 Flags int32 _ [4]byte } type Cmsghdr struct { Len uint64 Level int32 Type int32 } type ifreq struct { Ifrn [16]byte Ifru [24]byte } const ( SizeofSockaddrNFCLLCP = 0x60 SizeofIovec = 0x10 SizeofMsghdr = 0x38 SizeofCmsghdr = 0x10 ) const ( SizeofSockFprog = 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 Totalhigh uint64 Freehigh uint64 Unit uint32 _ [0]uint8 _ [4]byte } type Ustat_t struct { Tfree int32 Tinode uint64 Fname [6]uint8 Fpack [6]uint8 _ [4]byte } type EpollEvent struct { Events uint32 _ int32 Fd int32 Pad int32 } const ( OPEN_TREE_CLOEXEC = 0x80000 ) const ( POLLRDHUP = 0x2000 ) type Sigset_t struct { Val [16]uint64 } const _C__NSIG = 0x41 const ( SIG_BLOCK = 0x0 SIG_UNBLOCK = 0x1 SIG_SETMASK = 0x2 ) type Siginfo struct { Signo int32 Errno int32 Code int32 _ int32 _ [112]byte } type Termios struct { Iflag uint32 Oflag uint32 Cflag uint32 Lflag uint32 Cc [19]uint8 Line uint8 Ispeed uint32 Ospeed uint32 } type Taskstats struct { Version uint16 Ac_exitcode uint32 Ac_flag uint8 Ac_nice uint8 Cpu_count uint64 Cpu_delay_total uint64 Blkio_count uint64 Blkio_delay_total uint64 Swapin_count uint64 Swapin_delay_total uint64 Cpu_run_real_total uint64 Cpu_run_virtual_total uint64 Ac_comm [32]uint8 Ac_sched uint8 Ac_pad [3]uint8 _ [4]byte Ac_uid uint32 Ac_gid uint32 Ac_pid uint32 Ac_ppid uint32 Ac_btime uint32 Ac_etime uint64 Ac_utime uint64 Ac_stime uint64 Ac_minflt uint64 Ac_majflt uint64 Coremem uint64 Virtmem uint64 Hiwater_rss uint64 Hiwater_vm uint64 Read_char uint64 Write_char uint64 Read_syscalls uint64 Write_syscalls uint64 Read_bytes uint64 Write_bytes uint64 Cancelled_write_bytes uint64 Nvcsw uint64 Nivcsw uint64 Ac_utimescaled uint64 Ac_stimescaled uint64 Cpu_scaled_run_real_total uint64 Freepages_count uint64 Freepages_delay_total uint64 Thrashing_count uint64 Thrashing_delay_total uint64 Ac_btime64 uint64 Compact_count uint64 Compact_delay_total uint64 Ac_tgid uint32 Ac_tgetime uint64 Ac_exe_dev uint64 Ac_exe_inode uint64 Wpcopy_count uint64 Wpcopy_delay_total uint64 Irq_count uint64 Irq_delay_total uint64 } type cpuMask uint64 const ( _NCPUBITS = 0x40 ) const ( CBitFieldMaskBit0 = 0x1 CBitFieldMaskBit1 = 0x2 CBitFieldMaskBit2 = 0x4 CBitFieldMaskBit3 = 0x8 CBitFieldMaskBit4 = 0x10 CBitFieldMaskBit5 = 0x20 CBitFieldMaskBit6 = 0x40 CBitFieldMaskBit7 = 0x80 CBitFieldMaskBit8 = 0x100 CBitFieldMaskBit9 = 0x200 CBitFieldMaskBit10 = 0x400 CBitFieldMaskBit11 = 0x800 CBitFieldMaskBit12 = 0x1000 CBitFieldMaskBit13 = 0x2000 CBitFieldMaskBit14 = 0x4000 CBitFieldMaskBit15 = 0x8000 CBitFieldMaskBit16 = 0x10000 CBitFieldMaskBit17 = 0x20000 CBitFieldMaskBit18 = 0x40000 CBitFieldMaskBit19 = 0x80000 CBitFieldMaskBit20 = 0x100000 CBitFieldMaskBit21 = 0x200000 CBitFieldMaskBit22 = 0x400000 CBitFieldMaskBit23 = 0x800000 CBitFieldMaskBit24 = 0x1000000 CBitFieldMaskBit25 = 0x2000000 CBitFieldMaskBit26 = 0x4000000 CBitFieldMaskBit27 = 0x8000000 CBitFieldMaskBit28 = 0x10000000 CBitFieldMaskBit29 = 0x20000000 CBitFieldMaskBit30 = 0x40000000 CBitFieldMaskBit31 = 0x80000000 CBitFieldMaskBit32 = 0x100000000 CBitFieldMaskBit33 = 0x200000000 CBitFieldMaskBit34 = 0x400000000 CBitFieldMaskBit35 = 0x800000000 CBitFieldMaskBit36 = 0x1000000000 CBitFieldMaskBit37 = 0x2000000000 CBitFieldMaskBit38 = 0x4000000000 CBitFieldMaskBit39 = 0x8000000000 CBitFieldMaskBit40 = 0x10000000000 CBitFieldMaskBit41 = 0x20000000000 CBitFieldMaskBit42 = 0x40000000000 CBitFieldMaskBit43 = 0x80000000000 CBitFieldMaskBit44 = 0x100000000000 CBitFieldMaskBit45 = 0x200000000000 CBitFieldMaskBit46 = 0x400000000000 CBitFieldMaskBit47 = 0x800000000000 CBitFieldMaskBit48 = 0x1000000000000 CBitFieldMaskBit49 = 0x2000000000000 CBitFieldMaskBit50 = 0x4000000000000 CBitFieldMaskBit51 = 0x8000000000000 CBitFieldMaskBit52 = 0x10000000000000 CBitFieldMaskBit53 = 0x20000000000000 CBitFieldMaskBit54 = 0x40000000000000 CBitFieldMaskBit55 = 0x80000000000000 CBitFieldMaskBit56 = 0x100000000000000 CBitFieldMaskBit57 = 0x200000000000000 CBitFieldMaskBit58 = 0x400000000000000 CBitFieldMaskBit59 = 0x800000000000000 CBitFieldMaskBit60 = 0x1000000000000000 CBitFieldMaskBit61 = 0x2000000000000000 CBitFieldMaskBit62 = 0x4000000000000000 CBitFieldMaskBit63 = 0x8000000000000000 ) type SockaddrStorage struct { Family uint16 Data [118]byte _ uint64 } type HDGeometry struct { Heads uint8 Sectors uint8 Cylinders uint16 Start 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 TpacketHdr struct { Status uint64 Len uint32 Snaplen uint32 Mac uint16 Net uint16 Sec uint32 Usec uint32 _ [4]byte } const ( SizeofTpacketHdr = 0x20 ) type RTCPLLInfo struct { Ctrl int32 Value int32 Max int32 Min int32 Posmult int32 Negmult int32 Clock int64 } type BlkpgPartition struct { Start int64 Length int64 Pno int32 Devname [64]uint8 Volname [64]uint8 _ [4]byte } const ( BLKPG = 0x20001269 ) type CryptoUserAlg struct { Name [64]uint8 Driver_name [64]uint8 Module_name [64]uint8 Type uint32 Mask uint32 Refcnt uint32 Flags uint32 } type CryptoStatAEAD struct { Type [64]uint8 Encrypt_cnt uint64 Encrypt_tlen uint64 Decrypt_cnt uint64 Decrypt_tlen uint64 Err_cnt uint64 } type CryptoStatAKCipher struct { Type [64]uint8 Encrypt_cnt uint64 Encrypt_tlen uint64 Decrypt_cnt uint64 Decrypt_tlen uint64 Verify_cnt uint64 Sign_cnt uint64 Err_cnt uint64 } type CryptoStatCipher struct { Type [64]uint8 Encrypt_cnt uint64 Encrypt_tlen uint64 Decrypt_cnt uint64 Decrypt_tlen uint64 Err_cnt uint64 } type CryptoStatCompress struct { Type [64]uint8 Compress_cnt uint64 Compress_tlen uint64 Decompress_cnt uint64 Decompress_tlen uint64 Err_cnt uint64 } type CryptoStatHash struct { Type [64]uint8 Hash_cnt uint64 Hash_tlen uint64 Err_cnt uint64 } type CryptoStatKPP struct { Type [64]uint8 Setsecret_cnt uint64 Generate_public_key_cnt uint64 Compute_shared_secret_cnt uint64 Err_cnt uint64 } type CryptoStatRNG struct { Type [64]uint8 Generate_cnt uint64 Generate_tlen uint64 Seed_cnt uint64 Err_cnt uint64 } type CryptoStatLarval struct { Type [64]uint8 } type CryptoReportLarval struct { Type [64]uint8 } type CryptoReportHash struct { Type [64]uint8 Blocksize uint32 Digestsize uint32 } type CryptoReportCipher struct { Type [64]uint8 Blocksize uint32 Min_keysize uint32 Max_keysize uint32 } type CryptoReportBlkCipher struct { Type [64]uint8 Geniv [64]uint8 Blocksize uint32 Min_keysize uint32 Max_keysize uint32 Ivsize uint32 } type CryptoReportAEAD struct { Type [64]uint8 Geniv [64]uint8 Blocksize uint32 Maxauthsize uint32 Ivsize uint32 } type CryptoReportComp struct { Type [64]uint8 } type CryptoReportRNG struct { Type [64]uint8 Seedsize uint32 } type CryptoReportAKCipher struct { Type [64]uint8 } type CryptoReportKPP struct { Type [64]uint8 } type CryptoReportAcomp struct { Type [64]uint8 } type LoopInfo struct { Number int32 Device uint64 Inode uint64 Rdevice uint64 Offset int32 Encrypt_type int32 Encrypt_key_size int32 Flags int32 Name [64]uint8 Encrypt_key [32]uint8 Init [2]uint64 Reserved [4]uint8 _ [4]byte } type TIPCSubscr struct { Seq TIPCServiceRange Timeout uint32 Filter uint32 Handle [8]uint8 } type TIPCSIOCLNReq struct { Peer uint32 Id uint32 Linkname [68]uint8 } type TIPCSIOCNodeIDReq struct { Peer uint32 Id [16]uint8 } type PPSKInfo struct { Assert_sequence uint32 Clear_sequence uint32 Assert_tu PPSKTime Clear_tu PPSKTime Current_mode int32 _ [4]byte } const ( PPS_GETPARAMS = 0x400870a1 PPS_SETPARAMS = 0x800870a2 PPS_GETCAP = 0x400870a3 PPS_FETCH = 0xc00870a4 ) const ( PIDFD_NONBLOCK = 0x800 ) type SysvIpcPerm struct { Key int32 Uid uint32 Gid uint32 Cuid uint32 Cgid uint32 Mode uint32 Seq uint32 _ uint32 _ uint64 _ uint64 } type SysvShmDesc struct { Perm SysvIpcPerm Atime int64 Dtime int64 Ctime int64 Segsz uint64 Cpid int32 Lpid int32 Nattch uint64 _ uint64 _ uint64 } dependencies/pkg/mod/golang.org/x/sys@v0.26.0/unix/types_aix.go0000644000000000000000000001037415107355264023152 0ustar rootroot// Copyright 2018 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:build ignore && aix /* Input to cgo -godefs. See also mkerrors.sh and mkall.sh */ // +godefs map struct_in_addr [4]byte /* in_addr */ // +godefs map struct_in6_addr [16]byte /* in6_addr */ package unix /* #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 const ( SizeofPtr = C.sizeofPtr SizeofShort = C.sizeof_short SizeofInt = C.sizeof_int SizeofLong = C.sizeof_long SizeofLongLong = C.sizeof_longlong PathMax = C.PATH_MAX ) // Basic types type ( _C_short C.short _C_int C.int _C_long C.long _C_long_long C.longlong ) type off64 C.off64_t type off C.off_t type Mode_t C.mode_t // Time type Timespec C.struct_timespec type Timeval C.struct_timeval type Timeval32 C.struct_timeval32 type Timex C.struct_timex type Time_t C.time_t type Tms C.struct_tms type Utimbuf C.struct_utimbuf type Timezone C.struct_timezone // Processes type Rusage C.struct_rusage type Rlimit C.struct_rlimit64 type Pid_t C.pid_t type _Gid_t C.gid_t type dev_t C.dev_t // Files type Stat_t C.struct_stat type StatxTimestamp C.struct_statx_timestamp type Statx_t C.struct_statx 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 Cmsghdr C.struct_cmsghdr type ICMPv6Filter C.struct_icmp6_filter type Iovec C.struct_iovec type IPMreq C.struct_ip_mreq type IPv6Mreq C.struct_ipv6_mreq type IPv6MTUInfo C.struct_ip6_mtuinfo type Linger C.struct_linger type Msghdr C.struct_msghdr 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 SizeofIovec = C.sizeof_struct_iovec SizeofIPMreq = C.sizeof_struct_ip_mreq SizeofIPv6Mreq = C.sizeof_struct_ipv6_mreq SizeofIPv6MTUInfo = C.sizeof_struct_ip6_mtuinfo SizeofMsghdr = C.sizeof_struct_msghdr SizeofCmsghdr = C.sizeof_struct_cmsghdr SizeofICMPv6Filter = C.sizeof_struct_icmp6_filter ) // Routing and interface messages const ( SizeofIfMsghdr = C.sizeof_struct_if_msghdr ) type IfMsgHdr C.struct_if_msghdr // Misc type FdSet C.fd_set type Utsname C.struct_utsname type Ustat_t C.struct_ustat type Sigset_t C.sigset_t const ( AT_FDCWD = C.AT_FDCWD AT_REMOVEDIR = C.AT_REMOVEDIR AT_SYMLINK_NOFOLLOW = C.AT_SYMLINK_NOFOLLOW ) // Terminal handling type Termios C.struct_termios type Termio C.struct_termio type Winsize C.struct_winsize //poll type PollFd struct { Fd int32 Events uint16 Revents uint16 } const ( POLLERR = C.POLLERR POLLHUP = C.POLLHUP POLLIN = C.POLLIN POLLNVAL = C.POLLNVAL POLLOUT = C.POLLOUT POLLPRI = C.POLLPRI POLLRDBAND = C.POLLRDBAND POLLRDNORM = C.POLLRDNORM POLLWRBAND = C.POLLWRBAND POLLWRNORM = C.POLLWRNORM ) //flock_t type Flock_t C.struct_flock64 // Statfs type Fsid_t C.struct_fsid_t type Fsid64_t C.struct_fsid64_t type Statfs_t C.struct_statfs const RNDGETENTCNT = 0x80045200 dependencies/pkg/mod/golang.org/x/sys@v0.26.0/unix/zsyscall_illumos_amd64.go0000644000000000000000000000521215107355264025543 0ustar rootroot// go run mksyscall_solaris.go -illumos -tags illumos,amd64 syscall_illumos.go // Code generated by the command above; see README.md. DO NOT EDIT. //go:build illumos && amd64 package unix import ( "unsafe" ) //go:cgo_import_dynamic libc_readv readv "libc.so" //go:cgo_import_dynamic libc_preadv preadv "libc.so" //go:cgo_import_dynamic libc_writev writev "libc.so" //go:cgo_import_dynamic libc_pwritev pwritev "libc.so" //go:cgo_import_dynamic libc_accept4 accept4 "libsocket.so" //go:linkname procreadv libc_readv //go:linkname procpreadv libc_preadv //go:linkname procwritev libc_writev //go:linkname procpwritev libc_pwritev //go:linkname procaccept4 libc_accept4 var ( procreadv, procpreadv, procwritev, procpwritev, procaccept4 syscallFunc ) // THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT func readv(fd int, iovs []Iovec) (n int, err error) { var _p0 *Iovec if len(iovs) > 0 { _p0 = &iovs[0] } r0, _, e1 := sysvicall6(uintptr(unsafe.Pointer(&procreadv)), 3, uintptr(fd), uintptr(unsafe.Pointer(_p0)), uintptr(len(iovs)), 0, 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 preadv(fd int, iovs []Iovec, off int64) (n int, err error) { var _p0 *Iovec if len(iovs) > 0 { _p0 = &iovs[0] } r0, _, e1 := sysvicall6(uintptr(unsafe.Pointer(&procpreadv)), 4, uintptr(fd), uintptr(unsafe.Pointer(_p0)), uintptr(len(iovs)), uintptr(off), 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 writev(fd int, iovs []Iovec) (n int, err error) { var _p0 *Iovec if len(iovs) > 0 { _p0 = &iovs[0] } r0, _, e1 := sysvicall6(uintptr(unsafe.Pointer(&procwritev)), 3, uintptr(fd), uintptr(unsafe.Pointer(_p0)), uintptr(len(iovs)), 0, 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 pwritev(fd int, iovs []Iovec, off int64) (n int, err error) { var _p0 *Iovec if len(iovs) > 0 { _p0 = &iovs[0] } r0, _, e1 := sysvicall6(uintptr(unsafe.Pointer(&procpwritev)), 4, uintptr(fd), uintptr(unsafe.Pointer(_p0)), uintptr(len(iovs)), uintptr(off), 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 accept4(s int, rsa *RawSockaddrAny, addrlen *_Socklen, flags int) (fd int, err error) { r0, _, e1 := sysvicall6(uintptr(unsafe.Pointer(&procaccept4)), 4, uintptr(s), uintptr(unsafe.Pointer(rsa)), uintptr(unsafe.Pointer(addrlen)), uintptr(flags), 0, 0) fd = int(r0) if e1 != 0 { err = errnoErr(e1) } return } dependencies/pkg/mod/golang.org/x/sys@v0.26.0/unix/ztypes_zos_s390x.go0000644000000000000000000002122315107355264024337 0ustar rootroot// Copyright 2020 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:build zos && s390x // Hand edited based on ztypes_linux_s390x.go // TODO: auto-generate. package unix const ( SizeofPtr = 0x8 SizeofShort = 0x2 SizeofInt = 0x4 SizeofLong = 0x8 SizeofLongLong = 0x8 PathMax = 0x1000 ) const ( SizeofSockaddrAny = 128 SizeofCmsghdr = 12 SizeofIPMreq = 8 SizeofIPv6Mreq = 20 SizeofICMPv6Filter = 32 SizeofIPv6MTUInfo = 32 SizeofInet4Pktinfo = 8 SizeofInet6Pktinfo = 20 SizeofLinger = 8 SizeofSockaddrInet4 = 16 SizeofSockaddrInet6 = 28 SizeofTCPInfo = 0x68 SizeofUcred = 12 ) 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 timeval_zos struct { //correct (with padding and all) Sec int64 _ [4]byte // pad Usec int32 } type Tms struct { //clock_t is 4-byte unsigned int in zos Utime uint32 Stime uint32 Cutime uint32 Cstime uint32 } type Time_t int64 type Utimbuf struct { Actime int64 Modtime int64 } type Utsname struct { Sysname [16]byte Nodename [32]byte Release [8]byte Version [8]byte Machine [16]byte } type Ucred struct { Pid int32 Uid uint32 Gid uint32 } type RawSockaddrInet4 struct { Len uint8 Family uint8 Port uint16 Addr [4]byte /* in_addr */ Zero [8]uint8 } 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 [108]int8 } type RawSockaddr struct { Len uint8 Family uint8 Data [14]uint8 } type RawSockaddrAny struct { Addr RawSockaddr _ [112]uint8 // pad } 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 Iov *Iovec Control *byte Flags int32 Namelen int32 Iovlen int32 Controllen int32 } type Cmsghdr struct { Len int32 Level int32 Type int32 } type Inet4Pktinfo struct { Addr [4]byte /* in_addr */ Ifindex uint32 } type Inet6Pktinfo struct { Addr [16]byte /* in6_addr */ Ifindex uint32 } type IPv6MTUInfo struct { Addr RawSockaddrInet6 Mtu uint32 } type ICMPv6Filter struct { Data [8]uint32 } type TCPInfo struct { State uint8 Ca_state uint8 Retransmits uint8 Probes uint8 Backoff uint8 Options uint8 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 } type _Gid_t uint32 type rusage_zos struct { Utime timeval_zos Stime timeval_zos } 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 } // { int, short, short } in poll.h type PollFd struct { Fd int32 Events int16 Revents int16 } type Stat_t struct { //Linux Definition 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 Stat_LE_t struct { _ [4]byte // eye catcher Length uint16 Version uint16 Mode int32 Ino uint32 Dev uint32 Nlink int32 Uid int32 Gid int32 Size int64 Atim31 [4]byte Mtim31 [4]byte Ctim31 [4]byte Rdev uint32 Auditoraudit uint32 Useraudit uint32 Blksize int32 Creatim31 [4]byte AuditID [16]byte _ [4]byte // rsrvd1 File_tag struct { Ccsid uint16 Txtflag uint16 // aggregating Txflag:1 deferred:1 rsvflags:14 } CharsetID [8]byte Blocks int64 Genvalue uint32 Reftim31 [4]byte Fid [8]byte Filefmt byte Fspflag2 byte _ [2]byte // rsrvd2 Ctimemsec int32 Seclabel [8]byte _ [4]byte // rsrvd3 _ [4]byte // rsrvd4 Atim Time_t Mtim Time_t Ctim Time_t Creatim Time_t Reftim Time_t _ [24]byte // rsrvd5 } type Statvfs_t struct { ID [4]byte Len int32 Bsize uint64 Blocks uint64 Usedspace uint64 Bavail uint64 Flag uint64 Maxfilesize int64 _ [16]byte Frsize uint64 Bfree uint64 Files uint32 Ffree uint32 Favail uint32 Namemax31 uint32 Invarsec uint32 _ [4]byte Fsid uint64 Namemax uint64 } type Statfs_t struct { Type uint64 Bsize uint64 Blocks uint64 Bfree uint64 Bavail uint64 Files uint32 Ffree uint32 Fsid uint64 Namelen uint64 Frsize uint64 Flags uint64 _ [4]uint64 } type direntLE struct { Reclen uint16 Namlen uint16 Ino uint32 Extra uintptr Name [256]byte } type Dirent struct { Ino uint64 Off int64 Reclen uint16 Type uint8 Name [256]uint8 _ [5]byte } type FdSet struct { Bits [64]int32 } // This struct is packed on z/OS so it can't be used directly. type Flock_t struct { Type int16 Whence int16 Start int64 Len int64 Pid int32 } type Termios struct { Cflag uint32 Iflag uint32 Lflag uint32 Oflag uint32 Cc [11]uint8 } type Winsize struct { Row uint16 Col uint16 Xpixel uint16 Ypixel uint16 } type W_Mnth struct { Hid [4]byte Size int32 Cur1 int32 //32bit pointer Cur2 int32 //^ Devno uint32 _ [4]byte } type W_Mntent struct { Fstype uint32 Mode uint32 Dev uint32 Parentdev uint32 Rootino uint32 Status byte Ddname [9]byte Fstname [9]byte Fsname [45]byte Pathlen uint32 Mountpoint [1024]byte Jobname [8]byte PID int32 Parmoffset int32 Parmlen int16 Owner [8]byte Quiesceowner [8]byte _ [38]byte } type EpollEvent struct { Events uint32 _ int32 Fd int32 Pad int32 } type InotifyEvent struct { Wd int32 Mask uint32 Cookie uint32 Len uint32 Name string } const ( SizeofInotifyEvent = 0x10 ) type ConsMsg2 struct { Cm2Format uint16 Cm2R1 uint16 Cm2Msglength uint32 Cm2Msg *byte Cm2R2 [4]byte Cm2R3 [4]byte Cm2Routcde *uint32 Cm2Descr *uint32 Cm2Msgflag uint32 Cm2Token uint32 Cm2Msgid *uint32 Cm2R4 [4]byte Cm2DomToken uint32 Cm2DomMsgid *uint32 Cm2ModCartptr *byte Cm2ModConsidptr *byte Cm2MsgCart [8]byte Cm2MsgConsid [4]byte Cm2R5 [12]byte } const ( CC_modify = 1 CC_stop = 2 CONSOLE_FORMAT_2 = 2 CONSOLE_FORMAT_3 = 3 CONSOLE_HRDCPY = 0x80000000 ) type OpenHow struct { Flags uint64 Mode uint64 Resolve uint64 } const SizeofOpenHow = 0x18 const ( RESOLVE_CACHED = 0x20 RESOLVE_BENEATH = 0x8 RESOLVE_IN_ROOT = 0x10 RESOLVE_NO_MAGICLINKS = 0x2 RESOLVE_NO_SYMLINKS = 0x4 RESOLVE_NO_XDEV = 0x1 ) type Siginfo struct { Signo int32 Errno int32 Code int32 Pid int32 Uid uint32 _ [44]byte } type SysvIpcPerm struct { Uid uint32 Gid uint32 Cuid uint32 Cgid uint32 Mode int32 } type SysvShmDesc struct { Perm SysvIpcPerm _ [4]byte Lpid int32 Cpid int32 Nattch uint32 _ [4]byte _ [4]byte _ [4]byte _ int32 _ uint8 _ uint8 _ uint16 _ *byte Segsz uint64 Atime Time_t Dtime Time_t Ctime Time_t } type SysvShmDesc64 struct { Perm SysvIpcPerm _ [4]byte Lpid int32 Cpid int32 Nattch uint32 _ [4]byte _ [4]byte _ [4]byte _ int32 _ byte _ uint8 _ uint16 _ *byte Segsz uint64 Atime int64 Dtime int64 Ctime int64 } dependencies/pkg/mod/golang.org/x/sys@v0.26.0/unix/ztypes_linux_arm64.go0000644000000000000000000003012215107355264024724 0ustar rootroot// cgo -godefs -objdir=/tmp/arm64/cgo -- -Wall -Werror -static -I/tmp/arm64/include -fsigned-char linux/types.go | go run mkpost.go // Code generated by the command above; see README.md. DO NOT EDIT. //go:build arm64 && linux package unix const ( SizeofPtr = 0x8 SizeofLong = 0x8 ) type ( _C_long int64 ) type Timespec struct { Sec int64 Nsec int64 } type Timeval struct { Sec int64 Usec int64 } type Timex struct { Modes uint32 Offset int64 Freq int64 Maxerror int64 Esterror int64 Status int32 Constant int64 Precision int64 Tolerance int64 Time Timeval Tick int64 Ppsfreq int64 Jitter int64 Shift int32 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 Stat_t struct { Dev uint64 Ino uint64 Mode uint32 Nlink uint32 Uid uint32 Gid uint32 Rdev uint64 _ uint64 Size int64 Blksize int32 _ int32 Blocks int64 Atim Timespec Mtim Timespec Ctim Timespec _ [2]int32 } type Dirent struct { Ino uint64 Off int64 Reclen uint16 Type uint8 Name [256]int8 _ [5]byte } type Flock_t struct { Type int16 Whence int16 Start int64 Len int64 Pid int32 _ [4]byte } type DmNameList struct { Dev uint64 Next uint32 Name [0]byte _ [4]byte } const ( FADV_DONTNEED = 0x4 FADV_NOREUSE = 0x5 ) type RawSockaddrNFCLLCP struct { Sa_family uint16 Dev_idx uint32 Target_idx uint32 Nfc_protocol uint32 Dsap uint8 Ssap uint8 Service_name [63]uint8 Service_name_len uint64 } type RawSockaddr struct { Family uint16 Data [14]int8 } type RawSockaddrAny struct { Addr RawSockaddr Pad [96]int8 } type Iovec struct { Base *byte Len uint64 } type Msghdr struct { Name *byte Namelen uint32 Iov *Iovec Iovlen uint64 Control *byte Controllen uint64 Flags int32 _ [4]byte } type Cmsghdr struct { Len uint64 Level int32 Type int32 } type ifreq struct { Ifrn [16]byte Ifru [24]byte } const ( SizeofSockaddrNFCLLCP = 0x60 SizeofIovec = 0x10 SizeofMsghdr = 0x38 SizeofCmsghdr = 0x10 ) const ( SizeofSockFprog = 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 Totalhigh uint64 Freehigh uint64 Unit uint32 _ [0]int8 _ [4]byte } type Ustat_t struct { Tfree int32 Tinode uint64 Fname [6]int8 Fpack [6]int8 _ [4]byte } type EpollEvent struct { Events uint32 PadFd int32 Fd int32 Pad int32 } const ( OPEN_TREE_CLOEXEC = 0x80000 ) const ( POLLRDHUP = 0x2000 ) type Sigset_t struct { Val [16]uint64 } const _C__NSIG = 0x41 const ( SIG_BLOCK = 0x0 SIG_UNBLOCK = 0x1 SIG_SETMASK = 0x2 ) type Siginfo struct { Signo int32 Errno int32 Code int32 _ int32 _ [112]byte } type Termios struct { Iflag uint32 Oflag uint32 Cflag uint32 Lflag uint32 Line uint8 Cc [19]uint8 Ispeed uint32 Ospeed uint32 } type Taskstats struct { Version uint16 Ac_exitcode uint32 Ac_flag uint8 Ac_nice uint8 Cpu_count uint64 Cpu_delay_total uint64 Blkio_count uint64 Blkio_delay_total uint64 Swapin_count uint64 Swapin_delay_total uint64 Cpu_run_real_total uint64 Cpu_run_virtual_total uint64 Ac_comm [32]int8 Ac_sched uint8 Ac_pad [3]uint8 _ [4]byte Ac_uid uint32 Ac_gid uint32 Ac_pid uint32 Ac_ppid uint32 Ac_btime uint32 Ac_etime uint64 Ac_utime uint64 Ac_stime uint64 Ac_minflt uint64 Ac_majflt uint64 Coremem uint64 Virtmem uint64 Hiwater_rss uint64 Hiwater_vm uint64 Read_char uint64 Write_char uint64 Read_syscalls uint64 Write_syscalls uint64 Read_bytes uint64 Write_bytes uint64 Cancelled_write_bytes uint64 Nvcsw uint64 Nivcsw uint64 Ac_utimescaled uint64 Ac_stimescaled uint64 Cpu_scaled_run_real_total uint64 Freepages_count uint64 Freepages_delay_total uint64 Thrashing_count uint64 Thrashing_delay_total uint64 Ac_btime64 uint64 Compact_count uint64 Compact_delay_total uint64 Ac_tgid uint32 Ac_tgetime uint64 Ac_exe_dev uint64 Ac_exe_inode uint64 Wpcopy_count uint64 Wpcopy_delay_total uint64 Irq_count uint64 Irq_delay_total uint64 } type cpuMask uint64 const ( _NCPUBITS = 0x40 ) const ( CBitFieldMaskBit0 = 0x1 CBitFieldMaskBit1 = 0x2 CBitFieldMaskBit2 = 0x4 CBitFieldMaskBit3 = 0x8 CBitFieldMaskBit4 = 0x10 CBitFieldMaskBit5 = 0x20 CBitFieldMaskBit6 = 0x40 CBitFieldMaskBit7 = 0x80 CBitFieldMaskBit8 = 0x100 CBitFieldMaskBit9 = 0x200 CBitFieldMaskBit10 = 0x400 CBitFieldMaskBit11 = 0x800 CBitFieldMaskBit12 = 0x1000 CBitFieldMaskBit13 = 0x2000 CBitFieldMaskBit14 = 0x4000 CBitFieldMaskBit15 = 0x8000 CBitFieldMaskBit16 = 0x10000 CBitFieldMaskBit17 = 0x20000 CBitFieldMaskBit18 = 0x40000 CBitFieldMaskBit19 = 0x80000 CBitFieldMaskBit20 = 0x100000 CBitFieldMaskBit21 = 0x200000 CBitFieldMaskBit22 = 0x400000 CBitFieldMaskBit23 = 0x800000 CBitFieldMaskBit24 = 0x1000000 CBitFieldMaskBit25 = 0x2000000 CBitFieldMaskBit26 = 0x4000000 CBitFieldMaskBit27 = 0x8000000 CBitFieldMaskBit28 = 0x10000000 CBitFieldMaskBit29 = 0x20000000 CBitFieldMaskBit30 = 0x40000000 CBitFieldMaskBit31 = 0x80000000 CBitFieldMaskBit32 = 0x100000000 CBitFieldMaskBit33 = 0x200000000 CBitFieldMaskBit34 = 0x400000000 CBitFieldMaskBit35 = 0x800000000 CBitFieldMaskBit36 = 0x1000000000 CBitFieldMaskBit37 = 0x2000000000 CBitFieldMaskBit38 = 0x4000000000 CBitFieldMaskBit39 = 0x8000000000 CBitFieldMaskBit40 = 0x10000000000 CBitFieldMaskBit41 = 0x20000000000 CBitFieldMaskBit42 = 0x40000000000 CBitFieldMaskBit43 = 0x80000000000 CBitFieldMaskBit44 = 0x100000000000 CBitFieldMaskBit45 = 0x200000000000 CBitFieldMaskBit46 = 0x400000000000 CBitFieldMaskBit47 = 0x800000000000 CBitFieldMaskBit48 = 0x1000000000000 CBitFieldMaskBit49 = 0x2000000000000 CBitFieldMaskBit50 = 0x4000000000000 CBitFieldMaskBit51 = 0x8000000000000 CBitFieldMaskBit52 = 0x10000000000000 CBitFieldMaskBit53 = 0x20000000000000 CBitFieldMaskBit54 = 0x40000000000000 CBitFieldMaskBit55 = 0x80000000000000 CBitFieldMaskBit56 = 0x100000000000000 CBitFieldMaskBit57 = 0x200000000000000 CBitFieldMaskBit58 = 0x400000000000000 CBitFieldMaskBit59 = 0x800000000000000 CBitFieldMaskBit60 = 0x1000000000000000 CBitFieldMaskBit61 = 0x2000000000000000 CBitFieldMaskBit62 = 0x4000000000000000 CBitFieldMaskBit63 = 0x8000000000000000 ) type SockaddrStorage struct { Family uint16 Data [118]byte _ uint64 } type HDGeometry struct { Heads uint8 Sectors uint8 Cylinders uint16 Start 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 TpacketHdr struct { Status uint64 Len uint32 Snaplen uint32 Mac uint16 Net uint16 Sec uint32 Usec uint32 _ [4]byte } const ( SizeofTpacketHdr = 0x20 ) type RTCPLLInfo struct { Ctrl int32 Value int32 Max int32 Min int32 Posmult int32 Negmult int32 Clock int64 } type BlkpgPartition struct { Start int64 Length int64 Pno int32 Devname [64]uint8 Volname [64]uint8 _ [4]byte } const ( BLKPG = 0x1269 ) type CryptoUserAlg struct { Name [64]int8 Driver_name [64]int8 Module_name [64]int8 Type uint32 Mask uint32 Refcnt uint32 Flags uint32 } type CryptoStatAEAD struct { Type [64]int8 Encrypt_cnt uint64 Encrypt_tlen uint64 Decrypt_cnt uint64 Decrypt_tlen uint64 Err_cnt uint64 } type CryptoStatAKCipher struct { Type [64]int8 Encrypt_cnt uint64 Encrypt_tlen uint64 Decrypt_cnt uint64 Decrypt_tlen uint64 Verify_cnt uint64 Sign_cnt uint64 Err_cnt uint64 } type CryptoStatCipher struct { Type [64]int8 Encrypt_cnt uint64 Encrypt_tlen uint64 Decrypt_cnt uint64 Decrypt_tlen uint64 Err_cnt uint64 } type CryptoStatCompress struct { Type [64]int8 Compress_cnt uint64 Compress_tlen uint64 Decompress_cnt uint64 Decompress_tlen uint64 Err_cnt uint64 } type CryptoStatHash struct { Type [64]int8 Hash_cnt uint64 Hash_tlen uint64 Err_cnt uint64 } type CryptoStatKPP struct { Type [64]int8 Setsecret_cnt uint64 Generate_public_key_cnt uint64 Compute_shared_secret_cnt uint64 Err_cnt uint64 } type CryptoStatRNG struct { Type [64]int8 Generate_cnt uint64 Generate_tlen uint64 Seed_cnt uint64 Err_cnt uint64 } type CryptoStatLarval struct { Type [64]int8 } type CryptoReportLarval struct { Type [64]int8 } type CryptoReportHash struct { Type [64]int8 Blocksize uint32 Digestsize uint32 } type CryptoReportCipher struct { Type [64]int8 Blocksize uint32 Min_keysize uint32 Max_keysize uint32 } type CryptoReportBlkCipher struct { Type [64]int8 Geniv [64]int8 Blocksize uint32 Min_keysize uint32 Max_keysize uint32 Ivsize uint32 } type CryptoReportAEAD struct { Type [64]int8 Geniv [64]int8 Blocksize uint32 Maxauthsize uint32 Ivsize uint32 } type CryptoReportComp struct { Type [64]int8 } type CryptoReportRNG struct { Type [64]int8 Seedsize uint32 } type CryptoReportAKCipher struct { Type [64]int8 } type CryptoReportKPP struct { Type [64]int8 } type CryptoReportAcomp struct { Type [64]int8 } type LoopInfo struct { Number int32 Device uint32 Inode uint64 Rdevice uint32 Offset int32 Encrypt_type int32 Encrypt_key_size int32 Flags int32 Name [64]int8 Encrypt_key [32]uint8 Init [2]uint64 Reserved [4]int8 _ [4]byte } type TIPCSubscr struct { Seq TIPCServiceRange Timeout uint32 Filter uint32 Handle [8]int8 } type TIPCSIOCLNReq struct { Peer uint32 Id uint32 Linkname [68]int8 } type TIPCSIOCNodeIDReq struct { Peer uint32 Id [16]int8 } type PPSKInfo struct { Assert_sequence uint32 Clear_sequence uint32 Assert_tu PPSKTime Clear_tu PPSKTime Current_mode int32 _ [4]byte } const ( PPS_GETPARAMS = 0x800870a1 PPS_SETPARAMS = 0x400870a2 PPS_GETCAP = 0x800870a3 PPS_FETCH = 0xc00870a4 ) const ( PIDFD_NONBLOCK = 0x800 ) type SysvIpcPerm struct { Key int32 Uid uint32 Gid uint32 Cuid uint32 Cgid uint32 Mode uint32 _ [0]uint8 Seq uint16 _ uint16 _ uint64 _ uint64 } type SysvShmDesc struct { Perm SysvIpcPerm Segsz uint64 Atime int64 Dtime int64 Ctime int64 Cpid int32 Lpid int32 Nattch uint64 _ uint64 _ uint64 } dependencies/pkg/mod/golang.org/x/sys@v0.26.0/unix/syscall_unix.go0000644000000000000000000004146015107355264023662 0ustar rootroot// 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. //go:build aix || darwin || dragonfly || freebsd || linux || netbsd || openbsd || solaris package unix import ( "bytes" "sort" "sync" "syscall" "unsafe" ) var ( Stdin = 0 Stdout = 1 Stderr = 2 ) // Do the interface allocations only once for common // Errno values. var ( errEAGAIN error = syscall.EAGAIN errEINVAL error = syscall.EINVAL errENOENT error = syscall.ENOENT ) var ( signalNameMapOnce sync.Once signalNameMap map[string]syscall.Signal ) // 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 } // ErrnoName returns the error name for error number e. func ErrnoName(e syscall.Errno) string { i := sort.Search(len(errorList), func(i int) bool { return errorList[i].num >= e }) if i < len(errorList) && errorList[i].num == e { return errorList[i].name } return "" } // SignalName returns the signal name for signal number s. func SignalName(s syscall.Signal) string { i := sort.Search(len(signalList), func(i int) bool { return signalList[i].num >= s }) if i < len(signalList) && signalList[i].num == s { return signalList[i].name } return "" } // SignalNum returns the syscall.Signal for signal named s, // or 0 if a signal with such name is not found. // The signal name should start with "SIG". func SignalNum(s string) syscall.Signal { signalNameMapOnce.Do(func() { signalNameMap = make(map[string]syscall.Signal, len(signalList)) for _, signal := range signalList { signalNameMap[signal.name] = signal.num } }) return signalNameMap[s] } // clen returns the index of the first NULL byte in n or len(n) if n contains no NULL byte. func clen(n []byte) int { i := bytes.IndexByte(n, 0) if i == -1 { i = len(n) } return i } // 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 } // Use unsafe to convert addr into a []byte. b := unsafe.Slice((*byte)(unsafe.Pointer(addr)), length) // 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 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) } func MmapPtr(fd int, offset int64, addr unsafe.Pointer, length uintptr, prot int, flags int) (ret unsafe.Pointer, err error) { xaddr, err := mapper.mmap(uintptr(addr), length, prot, flags, fd, offset) return unsafe.Pointer(xaddr), err } func MunmapPtr(addr unsafe.Pointer, length uintptr) (err error) { return mapper.munmap(uintptr(addr), length) } 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 } func Pread(fd int, p []byte, offset int64) (n int, err error) { n, err = pread(fd, p, offset) if raceenabled { if n > 0 { raceWriteRange(unsafe.Pointer(&p[0]), n) } if err == nil { raceAcquire(unsafe.Pointer(&ioSync)) } } return } func Pwrite(fd int, p []byte, offset int64) (n int, err error) { if raceenabled { raceReleaseMerge(unsafe.Pointer(&ioSync)) } n, err = pwrite(fd, p, offset) 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 // Sockaddr represents a socket address. type Sockaddr interface { sockaddr() (ptr unsafe.Pointer, len _Socklen, err error) // lowercase; only we can define Sockaddrs } // SockaddrInet4 implements the Sockaddr interface for AF_INET type sockets. type SockaddrInet4 struct { Port int Addr [4]byte raw RawSockaddrInet4 } // SockaddrInet6 implements the Sockaddr interface for AF_INET6 type sockets. type SockaddrInet6 struct { Port int ZoneId uint32 Addr [16]byte raw RawSockaddrInet6 } // SockaddrUnix implements the Sockaddr interface for AF_UNIX type sockets. 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(fd, &rsa) } 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 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 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 } func GetsockoptLinger(fd, level, opt int) (*Linger, error) { var linger Linger vallen := _Socklen(SizeofLinger) err := getsockopt(fd, level, opt, unsafe.Pointer(&linger), &vallen) return &linger, err } func GetsockoptTimeval(fd, level, opt int) (*Timeval, error) { var tv Timeval vallen := _Socklen(unsafe.Sizeof(tv)) err := getsockopt(fd, level, opt, unsafe.Pointer(&tv), &vallen) return &tv, err } func GetsockoptUint64(fd, level, opt int) (value uint64, err error) { var n uint64 vallen := _Socklen(8) err = getsockopt(fd, level, opt, unsafe.Pointer(&n), &vallen) return 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(fd, &rsa) } return } // Recvmsg receives a message from a socket using the recvmsg system call. The // received non-control data will be written to p, and any "out of band" // control data will be written to oob. The flags are passed to recvmsg. // // The results are: // - n is the number of non-control data bytes read into p // - oobn is the number of control data bytes read into oob; this may be interpreted using [ParseSocketControlMessage] // - recvflags is flags returned by recvmsg // - from is the address of the sender // // If the underlying socket type is not SOCK_DGRAM, a received message // containing oob data and a single '\0' of non-control data is treated as if // the message contained only control data, i.e. n will be zero on return. func Recvmsg(fd int, p, oob []byte, flags int) (n, oobn int, recvflags int, from Sockaddr, err error) { var iov [1]Iovec if len(p) > 0 { iov[0].Base = &p[0] iov[0].SetLen(len(p)) } var rsa RawSockaddrAny n, oobn, recvflags, err = recvmsgRaw(fd, iov[:], oob, flags, &rsa) // source address is only specified if the socket is unconnected if rsa.Addr.Family != AF_UNSPEC { from, err = anyToSockaddr(fd, &rsa) } return } // RecvmsgBuffers receives a message from a socket using the recvmsg system // call. This function is equivalent to Recvmsg, but non-control data read is // scattered into the buffers slices. func RecvmsgBuffers(fd int, buffers [][]byte, oob []byte, flags int) (n, oobn int, recvflags int, from Sockaddr, err error) { iov := make([]Iovec, len(buffers)) for i := range buffers { if len(buffers[i]) > 0 { iov[i].Base = &buffers[i][0] iov[i].SetLen(len(buffers[i])) } else { iov[i].Base = (*byte)(unsafe.Pointer(&_zero)) } } var rsa RawSockaddrAny n, oobn, recvflags, err = recvmsgRaw(fd, iov, oob, flags, &rsa) if err == nil && rsa.Addr.Family != AF_UNSPEC { from, err = anyToSockaddr(fd, &rsa) } return } // Sendmsg sends a message on a socket to an address using the sendmsg system // call. This function is equivalent to SendmsgN, but does not return the // number of bytes actually sent. func Sendmsg(fd int, p, oob []byte, to Sockaddr, flags int) (err error) { _, err = SendmsgN(fd, p, oob, to, flags) return } // SendmsgN sends a message on a socket to an address using the sendmsg system // call. p contains the non-control data to send, and oob contains the "out of // band" control data. The flags are passed to sendmsg. The number of // non-control bytes actually written to the socket is returned. // // Some socket types do not support sending control data without accompanying // non-control data. If p is empty, and oob contains control data, and the // underlying socket type is not SOCK_DGRAM, p will be treated as containing a // single '\0' and the return value will indicate zero bytes sent. // // The Go function Recvmsg, if called with an empty p and a non-empty oob, // will read and ignore this additional '\0'. If the message is received by // code that does not use Recvmsg, or that does not use Go at all, that code // will need to be written to expect and ignore the additional '\0'. // // If you need to send non-empty oob with p actually empty, and if the // underlying socket type supports it, you can do so via a raw system call as // follows: // // msg := &unix.Msghdr{ // Control: &oob[0], // } // msg.SetControllen(len(oob)) // n, _, errno := unix.Syscall(unix.SYS_SENDMSG, uintptr(fd), uintptr(unsafe.Pointer(msg)), flags) func SendmsgN(fd int, p, oob []byte, to Sockaddr, flags int) (n int, err error) { var iov [1]Iovec if len(p) > 0 { iov[0].Base = &p[0] iov[0].SetLen(len(p)) } var ptr unsafe.Pointer var salen _Socklen if to != nil { ptr, salen, err = to.sockaddr() if err != nil { return 0, err } } return sendmsgN(fd, iov[:], oob, ptr, salen, flags) } // SendmsgBuffers sends a message on a socket to an address using the sendmsg // system call. This function is equivalent to SendmsgN, but the non-control // data is gathered from buffers. func SendmsgBuffers(fd int, buffers [][]byte, oob []byte, to Sockaddr, flags int) (n int, err error) { iov := make([]Iovec, len(buffers)) for i := range buffers { if len(buffers[i]) > 0 { iov[i].Base = &buffers[i][0] iov[i].SetLen(len(buffers[i])) } else { iov[i].Base = (*byte)(unsafe.Pointer(&_zero)) } } var ptr unsafe.Pointer var salen _Socklen if to != nil { ptr, salen, err = to.sockaddr() if err != nil { return 0, err } } return sendmsgN(fd, iov, oob, ptr, salen, flags) } func Send(s int, buf []byte, flags int) (err error) { return sendto(s, buf, flags, nil, 0) } func Sendto(fd int, p []byte, flags int, to Sockaddr) (err error) { var ptr unsafe.Pointer var salen _Socklen if to != nil { ptr, salen, err = to.sockaddr() if err != nil { return err } } return sendto(fd, p, flags, ptr, salen) } 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) { var p unsafe.Pointer if len(s) > 0 { p = unsafe.Pointer(&[]byte(s)[0]) } return setsockopt(fd, level, opt, p, 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 SetsockoptUint64(fd, level, opt int, value uint64) (err error) { return setsockopt(fd, level, opt, unsafe.Pointer(&value), 8) } 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 } 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 (flag&O_NONBLOCK != 0) == nonblocking { return nil } if nonblocking { flag |= O_NONBLOCK } else { flag &= ^O_NONBLOCK } _, err = fcntl(fd, F_SETFL, flag) return err } // Exec calls execve(2), which replaces the calling executable in the process // tree. argv0 should be the full path to an executable ("/bin/ls") and the // executable name should also be the first argument in argv (["ls", "-l"]). // envv are the environment variables that should be passed to the new // process (["USER=go", "PWD=/tmp"]). func Exec(argv0 string, argv []string, envv []string) error { return syscall.Exec(argv0, argv, envv) } // Lutimes sets the access and modification times tv on path. If path refers to // a symlink, it is not dereferenced and the timestamps are set on the symlink. // If tv is nil, the access and modification times are set to the current time. // Otherwise tv must contain exactly 2 elements, with access time as the first // element and modification time as the second element. func Lutimes(path string, tv []Timeval) error { if tv == nil { return UtimesNanoAt(AT_FDCWD, path, nil, AT_SYMLINK_NOFOLLOW) } if len(tv) != 2 { return EINVAL } ts := []Timespec{ NsecToTimespec(TimevalToNsec(tv[0])), NsecToTimespec(TimevalToNsec(tv[1])), } return UtimesNanoAt(AT_FDCWD, path, ts, AT_SYMLINK_NOFOLLOW) } // emptyIovecs reports whether there are no bytes in the slice of Iovec. func emptyIovecs(iov []Iovec) bool { for i := range iov { if iov[i].Len > 0 { return false } } return true } // Setrlimit sets a resource limit. func Setrlimit(resource int, rlim *Rlimit) error { // Just call the syscall version, because as of Go 1.21 // it will affect starting a new process. return syscall.Setrlimit(resource, (*syscall.Rlimit)(rlim)) } dependencies/pkg/mod/golang.org/x/sys@v0.26.0/unix/ztypes_aix_ppc.go0000644000000000000000000001164715107355264024212 0ustar rootroot// cgo -godefs types_aix.go | go run mkpost.go // Code generated by the command above; see README.md. DO NOT EDIT. //go:build ppc && aix package unix const ( SizeofPtr = 0x4 SizeofShort = 0x2 SizeofInt = 0x4 SizeofLong = 0x4 SizeofLongLong = 0x8 PathMax = 0x3ff ) type ( _C_short int16 _C_int int32 _C_long int32 _C_long_long int64 ) type off64 int64 type off int32 type Mode_t uint32 type Timespec struct { Sec int32 Nsec int32 } type Timeval struct { Sec int32 Usec int32 } type Timeval32 struct { Sec int32 Usec int32 } type Timex struct{} type Time_t int32 type Tms struct{} type Utimbuf struct { Actime int32 Modtime int32 } type Timezone struct { Minuteswest int32 Dsttime 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 Pid_t int32 type _Gid_t uint32 type dev_t uint32 type Stat_t struct { Dev uint32 Ino uint32 Mode uint32 Nlink int16 Flag uint16 Uid uint32 Gid uint32 Rdev uint32 Size int32 Atim Timespec Mtim Timespec Ctim Timespec Blksize int32 Blocks int32 Vfstype int32 Vfs uint32 Type uint32 Gen uint32 Reserved [9]uint32 } type StatxTimestamp struct{} type Statx_t struct{} type Dirent struct { Offset uint32 Ino uint32 Reclen uint16 Namlen uint16 Name [256]uint8 } type RawSockaddrInet4 struct { Len uint8 Family uint8 Port uint16 Addr [4]byte /* in_addr */ Zero [8]uint8 } 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 [1023]uint8 } type RawSockaddrDatalink struct { Len uint8 Family uint8 Index uint16 Type uint8 Nlen uint8 Alen uint8 Slen uint8 Data [120]uint8 } type RawSockaddr struct { Len uint8 Family uint8 Data [14]uint8 } type RawSockaddrAny struct { Addr RawSockaddr Pad [1012]uint8 } type _Socklen uint32 type Cmsghdr struct { Len uint32 Level int32 Type int32 } type ICMPv6Filter struct { Filt [8]uint32 } 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 IPv6MTUInfo struct { Addr RawSockaddrInet6 Mtu uint32 } type Linger struct { Onoff int32 Linger int32 } type Msghdr struct { Name *byte Namelen uint32 Iov *Iovec Iovlen int32 Control *byte Controllen uint32 Flags int32 } const ( SizeofSockaddrInet4 = 0x10 SizeofSockaddrInet6 = 0x1c SizeofSockaddrAny = 0x404 SizeofSockaddrUnix = 0x401 SizeofSockaddrDatalink = 0x80 SizeofLinger = 0x8 SizeofIovec = 0x8 SizeofIPMreq = 0x8 SizeofIPv6Mreq = 0x14 SizeofIPv6MTUInfo = 0x20 SizeofMsghdr = 0x1c SizeofCmsghdr = 0xc SizeofICMPv6Filter = 0x20 ) const ( SizeofIfMsghdr = 0x10 ) type IfMsgHdr struct { Msglen uint16 Version uint8 Type uint8 Addrs int32 Flags int32 Index uint16 Addrlen uint8 _ [1]byte } type FdSet struct { Bits [2048]int32 } type Utsname struct { Sysname [32]byte Nodename [32]byte Release [32]byte Version [32]byte Machine [32]byte } type Ustat_t struct{} type Sigset_t struct { Losigs uint32 Hisigs uint32 } const ( AT_FDCWD = -0x2 AT_REMOVEDIR = 0x1 AT_SYMLINK_NOFOLLOW = 0x1 ) type Termios struct { Iflag uint32 Oflag uint32 Cflag uint32 Lflag uint32 Cc [16]uint8 } type Termio struct { Iflag uint16 Oflag uint16 Cflag uint16 Lflag uint16 Line uint8 Cc [8]uint8 _ [1]byte } type Winsize struct { Row uint16 Col uint16 Xpixel uint16 Ypixel uint16 } type PollFd struct { Fd int32 Events uint16 Revents uint16 } const ( POLLERR = 0x4000 POLLHUP = 0x2000 POLLIN = 0x1 POLLNVAL = 0x8000 POLLOUT = 0x2 POLLPRI = 0x4 POLLRDBAND = 0x20 POLLRDNORM = 0x10 POLLWRBAND = 0x40 POLLWRNORM = 0x2 ) type Flock_t struct { Type int16 Whence int16 Sysid uint32 Pid int32 Vfs int32 Start int64 Len int64 } type Fsid_t struct { Val [2]uint32 } type Fsid64_t struct { Val [2]uint64 } type Statfs_t struct { Version int32 Type int32 Bsize uint32 Blocks uint32 Bfree uint32 Bavail uint32 Files uint32 Ffree uint32 Fsid Fsid_t Vfstype int32 Fsize uint32 Vfsnumber int32 Vfsoff int32 Vfslen int32 Vfsvers int32 Fname [32]uint8 Fpack [32]uint8 Name_max int32 } const RNDGETENTCNT = 0x80045200 dependencies/pkg/mod/golang.org/x/sys@v0.26.0/unix/ztypes_freebsd_amd64.go0000644000000000000000000002332015107355264025163 0ustar rootroot// cgo -godefs types_freebsd.go | go run mkpost.go // Code generated by the command above; see README.md. DO NOT EDIT. //go:build amd64 && freebsd 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 Time_t 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 ( _statfsVersion = 0x20140518 _dirblksiz = 0x400 ) type Stat_t struct { Dev uint64 Ino uint64 Nlink uint64 Mode uint16 _0 int16 Uid uint32 Gid uint32 _1 int32 Rdev uint64 Atim Timespec Mtim Timespec Ctim Timespec Btim Timespec Size int64 Blocks int64 Blksize int32 Flags uint32 Gen uint64 Spare [10]uint64 } 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]byte Mntfromname [1024]byte Mntonname [1024]byte } type Flock_t struct { Start int64 Len int64 Pid int32 Type int16 Whence int16 Sysid int32 _ [4]byte } type Dirent struct { Fileno uint64 Off int64 Reclen uint16 Type uint8 Pad0 uint8 Namlen uint16 Pad1 uint16 Name [256]int8 } type Fsid struct { Val [2]int32 } const ( PathMax = 0x400 ) 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 Xucred struct { Version uint32 Uid uint32 Ngroups int16 Groups [16]uint32 _ *byte } 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 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 SizeofXucred = 0x58 SizeofLinger = 0x8 SizeofIovec = 0x10 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 PtraceLwpInfoStruct struct { Lwpid int32 Event int32 Flags int32 Sigmask Sigset_t Siglist Sigset_t Siginfo __PtraceSiginfo Tdname [20]int8 Child_pid int32 Syscall_code uint32 Syscall_narg uint32 } type __Siginfo struct { Signo int32 Errno int32 Code int32 Pid int32 Uid uint32 Status int32 Addr *byte Value [8]byte _ [40]byte } type __PtraceSiginfo struct { Signo int32 Errno int32 Code int32 Pid int32 Uid uint32 Status int32 Addr uintptr Value [8]byte _ [40]byte } type Sigset_t struct { Val [4]uint32 } type Reg struct { R15 int64 R14 int64 R13 int64 R12 int64 R11 int64 R10 int64 R9 int64 R8 int64 Rdi int64 Rsi int64 Rbp int64 Rbx int64 Rdx int64 Rcx int64 Rax int64 Trapno uint32 Fs uint16 Gs uint16 Err uint32 Es uint16 Ds uint16 Rip int64 Cs int64 Rflags int64 Rsp int64 Ss int64 } type FpReg struct { Env [4]uint64 Acc [8][16]uint8 Xacc [16][16]uint8 Spare [12]uint64 } type FpExtendedPrecision struct{} type PtraceIoDesc struct { Op int32 Offs uintptr Addr *byte Len uint64 } type Kevent_t struct { Ident uint64 Filter int16 Flags uint16 Fflags uint32 Data int64 Udata *byte Ext [4]uint64 } type FdSet struct { 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 _ uint16 Data ifData } type IfMsghdr struct { Msglen uint16 Version uint8 Type uint8 Addrs int32 Flags int32 Index uint16 Data IfData } type ifData struct { Type uint8 Physical uint8 Addrlen uint8 Hdrlen uint8 Link_state uint8 Vhid uint8 Datalen uint16 Mtu uint32 Metric uint32 Baudrate uint64 Ipackets uint64 Ierrors uint64 Opackets uint64 Oerrors uint64 Collisions uint64 Ibytes uint64 Obytes uint64 Imcasts uint64 Omcasts uint64 Iqdrops uint64 Oqdrops uint64 Noproto uint64 Hwassist uint64 _ [8]byte _ [16]byte } 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 _ uint16 Metric int32 } type IfmaMsghdr struct { Msglen uint16 Version uint8 Type uint8 Addrs int32 Flags int32 Index uint16 _ uint16 } 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 _ uint16 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 Insns *BpfInsn } type BpfInsn struct { Code uint16 Jt uint8 Jf uint8 K uint32 } type BpfHdr struct { Tstamp Timeval Caplen uint32 Datalen uint32 Hdrlen uint16 _ [6]byte } type BpfZbufHeader struct { Kernel_gen uint32 Kernel_len uint32 User_gen uint32 _ [5]uint32 } type Termios struct { Iflag uint32 Oflag uint32 Cflag uint32 Lflag uint32 Cc [20]uint8 Ispeed uint32 Ospeed uint32 } type Winsize struct { Row uint16 Col uint16 Xpixel uint16 Ypixel uint16 } const ( AT_FDCWD = -0x64 AT_EACCESS = 0x100 AT_SYMLINK_NOFOLLOW = 0x200 AT_SYMLINK_FOLLOW = 0x400 AT_REMOVEDIR = 0x800 ) type PollFd struct { Fd int32 Events int16 Revents int16 } const ( POLLERR = 0x8 POLLHUP = 0x10 POLLIN = 0x1 POLLINIGNEOF = 0x2000 POLLNVAL = 0x20 POLLOUT = 0x4 POLLPRI = 0x2 POLLRDBAND = 0x80 POLLRDNORM = 0x40 POLLWRBAND = 0x100 POLLWRNORM = 0x4 POLLRDHUP = 0x4000 ) type CapRights struct { Rights [2]uint64 } type Utsname struct { Sysname [256]byte Nodename [256]byte Release [256]byte Version [256]byte Machine [256]byte } const SizeofClockinfo = 0x14 type Clockinfo struct { Hz int32 Tick int32 Spare int32 Stathz int32 Profhz int32 } dependencies/pkg/mod/golang.org/x/sys@v0.26.0/unix/bluetooth_linux.go0000644000000000000000000000125015107355264024362 0ustar rootroot// 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 HCI_CHANNEL_LOGGING = 4 ) // Socketoption Level const ( SOL_BLUETOOTH = 0x112 SOL_HCI = 0x0 SOL_L2CAP = 0x6 SOL_RFCOMM = 0x12 SOL_SCO = 0x11 ) dependencies/pkg/mod/golang.org/x/sys@v0.26.0/unix/race0.go0000644000000000000000000000105115107355264022127 0ustar rootroot// 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. //go:build aix || (darwin && !race) || (linux && !race) || (freebsd && !race) || netbsd || openbsd || solaris || dragonfly || zos package unix import ( "unsafe" ) const raceenabled = false func raceAcquire(addr unsafe.Pointer) { } func raceReleaseMerge(addr unsafe.Pointer) { } func raceReadRange(addr unsafe.Pointer, len int) { } func raceWriteRange(addr unsafe.Pointer, len int) { } dependencies/pkg/mod/golang.org/x/sys@v0.26.0/unix/export_mremap_test.go0000644000000000000000000000042015107355264025055 0ustar rootroot// Copyright 2023 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:build linux || netbsd package unix const ( MremapFixed = mremapFixed MremapMaymove = mremapMaymove ) dependencies/pkg/mod/golang.org/x/sys@v0.26.0/unix/xattr_test.go0000644000000000000000000001131215107355264023337 0ustar rootroot// Copyright 2018 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:build darwin || freebsd || linux || netbsd package unix_test import ( "os" "path/filepath" "runtime" "strings" "testing" "golang.org/x/sys/unix" ) func TestXattr(t *testing.T) { chtmpdir(t) f := "xattr1" touch(t, f) xattrName := "user.test" xattrDataSet := "gopher" err := unix.Setxattr(f, xattrName, []byte{}, 0) if err == unix.ENOTSUP || err == unix.EOPNOTSUPP { t.Skip("filesystem does not support extended attributes, skipping test") } else if err != nil { t.Fatalf("Setxattr: %v", err) } err = unix.Setxattr(f, xattrName, []byte(xattrDataSet), 0) if err != nil { t.Fatalf("Setxattr: %v", err) } // find size size, err := unix.Listxattr(f, nil) if err != nil { t.Fatalf("Listxattr: %v", err) } if size <= 0 { t.Fatalf("Listxattr returned an empty list of attributes") } buf := make([]byte, size) read, err := unix.Listxattr(f, buf) if err != nil { t.Fatalf("Listxattr: %v", err) } xattrs := stringsFromByteSlice(buf[:read]) xattrWant := xattrName switch runtime.GOOS { case "freebsd", "netbsd": // On FreeBSD and NetBSD, the namespace is stored separately from the xattr // name and Listxattr doesn't return the namespace prefix. xattrWant = strings.TrimPrefix(xattrWant, "user.") } found := false for _, name := range xattrs { if name == xattrWant { found = true break } } if !found { t.Errorf("Listxattr did not return previously set attribute %q in attributes %v", xattrName, xattrs) } // find size size, err = unix.Getxattr(f, xattrName, nil) if err != nil { t.Fatalf("Getxattr: %v", err) } if size <= 0 { t.Fatalf("Getxattr returned an empty attribute") } xattrDataGet := make([]byte, size) _, err = unix.Getxattr(f, xattrName, xattrDataGet) if err != nil { t.Fatalf("Getxattr: %v", err) } got := string(xattrDataGet) if got != xattrDataSet { t.Errorf("Getxattr: expected attribute value %s, got %s", xattrDataSet, got) } err = unix.Removexattr(f, xattrName) if err != nil { t.Fatalf("Removexattr: %v", err) } n := "nonexistent" err = unix.Lsetxattr(n, xattrName, []byte(xattrDataSet), 0) if err != unix.ENOENT { t.Errorf("Lsetxattr: expected %v on non-existent file, got %v", unix.ENOENT, err) } _, err = unix.Lgetxattr(n, xattrName, nil) if err != unix.ENOENT { t.Errorf("Lgetxattr: %v", err) } s := "symlink1" err = os.Symlink(n, s) if err != nil { t.Fatal(err) } err = unix.Lsetxattr(s, xattrName, []byte(xattrDataSet), 0) if err != nil { // Linux and Android doesn't support xattrs on symlinks according // to xattr(7), so just test that we get the proper error. if (runtime.GOOS != "linux" && runtime.GOOS != "android") || err != unix.EPERM { t.Fatalf("Lsetxattr: %v", err) } } } func TestFdXattr(t *testing.T) { file, err := os.Create(filepath.Join(t.TempDir(), "TestFdXattr")) if err != nil { t.Fatal(err) } defer file.Close() fd := int(file.Fd()) xattrName := "user.test" xattrDataSet := "gopher" err = unix.Fsetxattr(fd, xattrName, []byte(xattrDataSet), 0) if err == unix.ENOTSUP || err == unix.EOPNOTSUPP { t.Skip("filesystem does not support extended attributes, skipping test") } else if err != nil { t.Fatalf("Fsetxattr: %v", err) } // find size size, err := unix.Flistxattr(fd, nil) if err != nil { t.Fatalf("Flistxattr: %v", err) } if size <= 0 { t.Fatalf("Flistxattr returned an empty list of attributes") } buf := make([]byte, size) read, err := unix.Flistxattr(fd, buf) if err != nil { t.Fatalf("Flistxattr: %v", err) } xattrs := stringsFromByteSlice(buf[:read]) xattrWant := xattrName switch runtime.GOOS { case "freebsd", "netbsd": // On FreeBSD and NetBSD, the namespace is stored separately from the xattr // name and Listxattr doesn't return the namespace prefix. xattrWant = strings.TrimPrefix(xattrWant, "user.") } found := false for _, name := range xattrs { if name == xattrWant { found = true break } } if !found { t.Errorf("Flistxattr did not return previously set attribute %q in attributes %v", xattrName, xattrs) } // find size size, err = unix.Fgetxattr(fd, xattrName, nil) if err != nil { t.Fatalf("Fgetxattr: %v", err) } if size <= 0 { t.Fatalf("Fgetxattr returned an empty attribute") } xattrDataGet := make([]byte, size) _, err = unix.Fgetxattr(fd, xattrName, xattrDataGet) if err != nil { t.Fatalf("Fgetxattr: %v", err) } got := string(xattrDataGet) if got != xattrDataSet { t.Errorf("Fgetxattr: expected attribute value %s, got %s", xattrDataSet, got) } err = unix.Fremovexattr(fd, xattrName) if err != nil { t.Fatalf("Fremovexattr: %v", err) } } dependencies/pkg/mod/golang.org/x/sys@v0.26.0/unix/zsysnum_freebsd_arm.go0000644000000000000000000011014015107355264025216 0ustar rootroot// go run mksysnum.go https://cgit.freebsd.org/src/plain/sys/kern/syscalls.master?h=stable/12 // Code generated by the command above; see README.md. DO NOT EDIT. //go: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_exit_args void 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, struct rusage *rusage); } 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_CHMOD = 15 // { int chmod(char *path, int mode); } SYS_CHOWN = 16 // { int chown(char *path, int uid, int gid); } SYS_BREAK = 17 // { caddr_t break(char *nsize); } SYS_GETPID = 20 // { pid_t getpid(void); } SYS_MOUNT = 21 // { int mount(char *type, char *path, int flags, caddr_t data); } 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, int data); } SYS_RECVMSG = 27 // { int recvmsg(int s, struct msghdr *msg, int flags); } SYS_SENDMSG = 28 // { int sendmsg(int s, struct msghdr *msg, int flags); } SYS_RECVFROM = 29 // { int recvfrom(int s, caddr_t buf, size_t len, int flags, struct sockaddr * __restrict from, __socklen_t * __restrict fromlenaddr); } SYS_ACCEPT = 30 // { int accept(int s, struct sockaddr * __restrict name, __socklen_t * __restrict anamelen); } SYS_GETPEERNAME = 31 // { int getpeername(int fdes, struct sockaddr * __restrict asa, __socklen_t * __restrict alen); } SYS_GETSOCKNAME = 32 // { int getsockname(int fdes, struct sockaddr * __restrict asa, __socklen_t * __restrict alen); } 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_GETEGID = 43 // { gid_t getegid(void); } SYS_PROFIL = 44 // { int profil(caddr_t samples, size_t size, size_t offset, u_int scale); } SYS_KTRACE = 45 // { int ktrace(const char *fname, int ops, int facs, int pid); } 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 // { ssize_t readlink(char *path, char *buf, size_t count); } SYS_EXECVE = 59 // { int execve(char *fname, char **argv, char **envv); } SYS_UMASK = 60 // { int umask(int newmask); } SYS_CHROOT = 61 // { int chroot(char *path); } SYS_MSYNC = 65 // { int msync(void *addr, size_t len, int flags); } SYS_VFORK = 66 // { int 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, char *vec); } 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, struct itimerval *oitv); } 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(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, fd_set *ex, struct timeval *tv); } 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, caddr_t val, int valsize); } SYS_LISTEN = 106 // { int listen(int s, int backlog); } SYS_GETTIMEOFDAY = 116 // { int gettimeofday(struct timeval *tp, struct timezone *tzp); } SYS_GETRUSAGE = 117 // { int getrusage(int who, struct rusage *rusage); } SYS_GETSOCKOPT = 118 // { int getsockopt(int s, int level, int name, caddr_t val, int *avalsize); } SYS_READV = 120 // { int readv(int fd, struct iovec *iovp, u_int iovcnt); } SYS_WRITEV = 121 // { int writev(int fd, struct iovec *iovp, u_int iovcnt); } SYS_SETTIMEOFDAY = 122 // { int settimeofday(struct timeval *tv, struct timezone *tzp); } 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, int flags, caddr_t to, int tolen); } SYS_SHUTDOWN = 134 // { int shutdown(int s, int how); } SYS_SOCKETPAIR = 135 // { int socketpair(int domain, int type, int protocol, int *rsv); } 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, struct timeval *olddelta); } SYS_SETSID = 147 // { int setsid(void); } SYS_QUOTACTL = 148 // { int quotactl(char *path, int cmd, int uid, caddr_t arg); } SYS_NLM_SYSCALL = 154 // { int nlm_syscall(int debug_level, int grace_period, int addr_count, char **addrs); } SYS_NFSSVC = 155 // { int nfssvc(int flag, caddr_t argp); } SYS_LGETFH = 160 // { int lgetfh(char *fname, struct fhandle *fhp); } SYS_GETFH = 161 // { int getfh(char *fname, struct fhandle *fhp); } SYS_SYSARCH = 165 // { int sysarch(int op, char *parms); } SYS_RTPRIO = 166 // { int rtprio(int function, pid_t pid, struct rtprio *rtp); } SYS_SEMSYS = 169 // { int semsys(int which, int a2, int a3, int a4, int a5); } SYS_MSGSYS = 170 // { int msgsys(int which, int a2, int a3, int a4, int a5, int a6); } SYS_SHMSYS = 171 // { int shmsys(int which, int a2, int a3, int a4); } 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_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, struct rlimit *rlp); } getrlimit __getrlimit_args int SYS_SETRLIMIT = 195 // { int setrlimit(u_int which, struct rlimit *rlp); } setrlimit __setrlimit_args int SYS___SYSCTL = 202 // { int __sysctl(int *name, u_int namelen, void *old, size_t *oldlenp, void *new, size_t newlen); } __sysctl sysctl_args int 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, int timeout); } SYS_SEMGET = 221 // { int semget(key_t key, int nsems, int semflg); } SYS_SEMOP = 222 // { int semop(int semid, struct sembuf *sops, size_t nsops); } SYS_MSGGET = 225 // { int msgget(key_t key, int msgflg); } SYS_MSGSND = 226 // { int msgsnd(int msqid, const void *msgp, size_t msgsz, int msgflg); } SYS_MSGRCV = 227 // { ssize_t msgrcv(int msqid, void *msgp, size_t msgsz, long msgtyp, int msgflg); } SYS_SHMAT = 228 // { int shmat(int shmid, const void *shmaddr, int shmflg); } 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, struct timespec *tp); } SYS_CLOCK_SETTIME = 233 // { int clock_settime(clockid_t clock_id, const struct timespec *tp); } SYS_CLOCK_GETRES = 234 // { int clock_getres(clockid_t clock_id, struct timespec *tp); } SYS_KTIMER_CREATE = 235 // { int ktimer_create(clockid_t clock_id, struct sigevent *evp, int *timerid); } SYS_KTIMER_DELETE = 236 // { int ktimer_delete(int timerid); } SYS_KTIMER_SETTIME = 237 // { int ktimer_settime(int timerid, int flags, const struct itimerspec *value, struct itimerspec *ovalue); } SYS_KTIMER_GETTIME = 238 // { int ktimer_gettime(int timerid, struct itimerspec *value); } SYS_KTIMER_GETOVERRUN = 239 // { int ktimer_getoverrun(int timerid); } SYS_NANOSLEEP = 240 // { int nanosleep(const struct timespec *rqtp, struct timespec *rmtp); } SYS_FFCLOCK_GETCOUNTER = 241 // { int ffclock_getcounter(ffcounter *ffcount); } SYS_FFCLOCK_SETESTIMATE = 242 // { int ffclock_setestimate(struct ffclock_estimate *cest); } SYS_FFCLOCK_GETESTIMATE = 243 // { int ffclock_getestimate(struct ffclock_estimate *cest); } SYS_CLOCK_NANOSLEEP = 244 // { int clock_nanosleep(clockid_t clock_id, int flags, const struct timespec *rqtp, struct timespec *rmtp); } SYS_CLOCK_GETCPUCLOCKID2 = 247 // { int clock_getcpuclockid2(id_t id, int which, clockid_t *clock_id); } SYS_NTP_GETTIME = 248 // { int ntp_gettime(struct ntptimeval *ntvp); } SYS_MINHERIT = 250 // { int minherit(void *addr, size_t len, int inherit); } SYS_RFORK = 251 // { int rfork(int flags); } SYS_ISSETUGID = 253 // { int issetugid(void); } SYS_LCHOWN = 254 // { int lchown(char *path, int uid, int gid); } SYS_AIO_READ = 255 // { int aio_read(struct aiocb *aiocbp); } SYS_AIO_WRITE = 256 // { int aio_write(struct aiocb *aiocbp); } SYS_LIO_LISTIO = 257 // { int lio_listio(int mode, struct aiocb* const *acb_list, int nent, struct sigevent *sig); } SYS_LCHMOD = 274 // { int lchmod(char *path, mode_t mode); } SYS_LUTIMES = 276 // { int lutimes(char *path, struct timeval *tptr); } SYS_PREADV = 289 // { ssize_t preadv(int fd, struct iovec *iovp, u_int iovcnt, off_t offset); } SYS_PWRITEV = 290 // { ssize_t pwritev(int fd, struct iovec *iovp, u_int iovcnt, off_t offset); } 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 // { ssize_t 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_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, size_t 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, sigset_t *oset); } 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, siginfo_t *info, const struct timespec *timeout); } SYS_SIGWAITINFO = 346 // { int sigwaitinfo(const sigset_t *set, siginfo_t *info); } SYS___ACL_GET_FILE = 347 // { int __acl_get_file(const char *path, acl_type_t type, struct acl *aclp); } SYS___ACL_SET_FILE = 348 // { int __acl_set_file(const char *path, acl_type_t type, struct acl *aclp); } SYS___ACL_GET_FD = 349 // { int __acl_get_fd(int filedes, acl_type_t type, struct acl *aclp); } SYS___ACL_SET_FD = 350 // { int __acl_set_fd(int filedes, acl_type_t type, struct acl *aclp); } SYS___ACL_DELETE_FILE = 351 // { int __acl_delete_file(const char *path, acl_type_t type); } 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, acl_type_t type, struct acl *aclp); } SYS___ACL_ACLCHECK_FD = 354 // { int __acl_aclcheck_fd(int filedes, acl_type_t type, struct acl *aclp); } SYS_EXTATTRCTL = 355 // { int extattrctl(const char *path, int cmd, const char *filename, int attrnamespace, const char *attrname); } SYS_EXTATTR_SET_FILE = 356 // { ssize_t extattr_set_file(const char *path, int attrnamespace, const char *attrname, void *data, size_t nbytes); } SYS_EXTATTR_GET_FILE = 357 // { ssize_t extattr_get_file(const char *path, int attrnamespace, const char *attrname, void *data, size_t nbytes); } SYS_EXTATTR_DELETE_FILE = 358 // { int extattr_delete_file(const char *path, int attrnamespace, const char *attrname); } SYS_AIO_WAITCOMPLETE = 359 // { ssize_t 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_EXTATTR_SET_FD = 371 // { ssize_t extattr_set_fd(int fd, int attrnamespace, const char *attrname, void *data, size_t nbytes); } SYS_EXTATTR_GET_FD = 372 // { ssize_t extattr_get_fd(int fd, int attrnamespace, const char *attrname, void *data, size_t nbytes); } SYS_EXTATTR_DELETE_FD = 373 // { int extattr_delete_fd(int fd, int attrnamespace, const char *attrname); } SYS___SETUGID = 374 // { int __setugid(int flag); } SYS_EACCESS = 376 // { int eaccess(char *path, int amode); } SYS_NMOUNT = 378 // { int nmount(struct iovec *iovp, unsigned int iovcnt, int flags); } 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, struct mac *mac_p); } SYS___MAC_GET_FILE = 387 // { int __mac_get_file(const char *path_p, struct mac *mac_p); } SYS___MAC_SET_FD = 388 // { int __mac_set_fd(int fd, struct mac *mac_p); } SYS___MAC_SET_FILE = 389 // { int __mac_set_file(const char *path_p, struct mac *mac_p); } SYS_KENV = 390 // { int kenv(int what, const char *name, char *value, int len); } SYS_LCHFLAGS = 391 // { int lchflags(const char *path, u_long 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, struct sf_hdtr *hdtr, off_t *sbytes, int flags); } SYS_MAC_SYSCALL = 394 // { int mac_syscall(const char *policy, int call, void *arg); } SYS_KSEM_CLOSE = 400 // { int ksem_close(semid_t id); } SYS_KSEM_POST = 401 // { int ksem_post(semid_t id); } SYS_KSEM_WAIT = 402 // { int ksem_wait(semid_t id); } SYS_KSEM_TRYWAIT = 403 // { int ksem_trywait(semid_t id); } SYS_KSEM_INIT = 404 // { int ksem_init(semid_t *idp, unsigned int value); } SYS_KSEM_OPEN = 405 // { int ksem_open(semid_t *idp, const char *name, int oflag, mode_t mode, unsigned int value); } SYS_KSEM_UNLINK = 406 // { int ksem_unlink(const char *name); } SYS_KSEM_GETVALUE = 407 // { int ksem_getvalue(semid_t id, int *val); } SYS_KSEM_DESTROY = 408 // { int ksem_destroy(semid_t id); } SYS___MAC_GET_PID = 409 // { int __mac_get_pid(pid_t pid, struct mac *mac_p); } SYS___MAC_GET_LINK = 410 // { int __mac_get_link(const char *path_p, struct mac *mac_p); } SYS___MAC_SET_LINK = 411 // { int __mac_set_link(const char *path_p, struct mac *mac_p); } SYS_EXTATTR_SET_LINK = 412 // { ssize_t extattr_set_link(const char *path, int attrnamespace, const char *attrname, void *data, size_t nbytes); } SYS_EXTATTR_GET_LINK = 413 // { ssize_t extattr_get_link(const char *path, int attrnamespace, const char *attrname, void *data, size_t nbytes); } SYS_EXTATTR_DELETE_LINK = 414 // { int extattr_delete_link(const char *path, int attrnamespace, const char *attrname); } SYS___MAC_EXECVE = 415 // { int __mac_execve(char *fname, char **argv, char **envv, struct mac *mac_p); } SYS_SIGACTION = 416 // { int sigaction(int sig, const struct sigaction *act, struct sigaction *oact); } SYS_SIGRETURN = 417 // { int sigreturn(const struct __ucontext *sigcntxp); } SYS_GETCONTEXT = 421 // { int getcontext(struct __ucontext *ucp); } SYS_SETCONTEXT = 422 // { int setcontext(const struct __ucontext *ucp); } SYS_SWAPCONTEXT = 423 // { int swapcontext(struct __ucontext *oucp, const struct __ucontext *ucp); } SYS_SWAPOFF = 424 // { int swapoff(const char *name); } SYS___ACL_GET_LINK = 425 // { int __acl_get_link(const char *path, acl_type_t type, struct acl *aclp); } SYS___ACL_SET_LINK = 426 // { int __acl_set_link(const char *path, acl_type_t type, struct acl *aclp); } SYS___ACL_DELETE_LINK = 427 // { int __acl_delete_link(const char *path, acl_type_t type); } SYS___ACL_ACLCHECK_LINK = 428 // { int __acl_aclcheck_link(const char *path, acl_type_t type, struct acl *aclp); } SYS_SIGWAIT = 429 // { int sigwait(const sigset_t *set, int *sig); } SYS_THR_CREATE = 430 // { int thr_create(ucontext_t *ctx, long *id, int flags); } 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_JAIL_ATTACH = 436 // { int jail_attach(int jid); } SYS_EXTATTR_LIST_FD = 437 // { ssize_t extattr_list_fd(int fd, int attrnamespace, void *data, size_t nbytes); } SYS_EXTATTR_LIST_FILE = 438 // { ssize_t extattr_list_file(const char *path, int attrnamespace, void *data, size_t nbytes); } SYS_EXTATTR_LIST_LINK = 439 // { ssize_t extattr_list_link(const char *path, int attrnamespace, void *data, size_t nbytes); } SYS_KSEM_TIMEDWAIT = 441 // { int ksem_timedwait(semid_t id, const struct timespec *abstime); } SYS_THR_SUSPEND = 442 // { int thr_suspend(const struct timespec *timeout); } 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, u_int length); } SYS_AUDITON = 446 // { int auditon(int cmd, void *data, u_int length); } 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(struct auditinfo_addr *auditinfo_addr, u_int length); } SYS_SETAUDIT_ADDR = 452 // { int setaudit_addr(struct auditinfo_addr *auditinfo_addr, u_int length); } SYS_AUDITCTL = 453 // { int auditctl(char *path); } SYS__UMTX_OP = 454 // { int _umtx_op(void *obj, int op, u_long val, void *uaddr1, void *uaddr2); } SYS_THR_NEW = 455 // { int thr_new(struct thr_param *param, int param_size); } SYS_SIGQUEUE = 456 // { int sigqueue(pid_t pid, int signum, void *value); } SYS_KMQ_OPEN = 457 // { int kmq_open(const char *path, int flags, mode_t mode, const struct mq_attr *attr); } SYS_KMQ_SETATTR = 458 // { int kmq_setattr(int mqd, const struct mq_attr *attr, struct mq_attr *oattr); } SYS_KMQ_TIMEDRECEIVE = 459 // { int kmq_timedreceive(int mqd, char *msg_ptr, size_t msg_len, unsigned *msg_prio, const struct timespec *abs_timeout); } SYS_KMQ_TIMEDSEND = 460 // { int kmq_timedsend(int mqd, const char *msg_ptr, size_t msg_len, unsigned msg_prio, const struct timespec *abs_timeout); } SYS_KMQ_NOTIFY = 461 // { int kmq_notify(int mqd, const struct sigevent *sigev); } SYS_KMQ_UNLINK = 462 // { int kmq_unlink(const char *path); } 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_AIO_FSYNC = 465 // { int aio_fsync(int op, struct aiocb *aiocbp); } SYS_RTPRIO_THREAD = 466 // { int rtprio_thread(int function, lwpid_t lwpid, struct rtprio *rtp); } 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, caddr_t to, __socklen_t tolen, struct sctp_sndrcvinfo *sinfo, int flags); } SYS_SCTP_GENERIC_SENDMSG_IOV = 473 // { int sctp_generic_sendmsg_iov(int sd, struct iovec *iov, int iovlen, caddr_t to, __socklen_t tolen, struct sctp_sndrcvinfo *sinfo, int flags); } SYS_SCTP_GENERIC_RECVMSG = 474 // { int sctp_generic_recvmsg(int sd, struct iovec *iov, int iovlen, struct sockaddr *from, __socklen_t *fromlenaddr, struct sctp_sndrcvinfo *sinfo, int *msg_flags); } SYS_PREAD = 475 // { ssize_t pread(int fd, void *buf, size_t nbyte, off_t offset); } SYS_PWRITE = 476 // { ssize_t pwrite(int fd, const void *buf, size_t nbyte, off_t offset); } SYS_MMAP = 477 // { caddr_t mmap(caddr_t addr, size_t len, int prot, int flags, int fd, off_t pos); } SYS_LSEEK = 478 // { off_t lseek(int fd, off_t offset, int whence); } 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, mode_t mode); } 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, cpusetid_t setid); } SYS_CPUSET_GETID = 486 // { int cpuset_getid(cpulevel_t level, cpuwhich_t which, id_t id, cpusetid_t *setid); } SYS_CPUSET_GETAFFINITY = 487 // { int cpuset_getaffinity(cpulevel_t level, cpuwhich_t which, id_t id, size_t cpusetsize, cpuset_t *mask); } SYS_CPUSET_SETAFFINITY = 488 // { int cpuset_setaffinity(cpulevel_t level, cpuwhich_t which, id_t id, size_t cpusetsize, const cpuset_t *mask); } SYS_FACCESSAT = 489 // { int faccessat(int fd, char *path, int amode, int flag); } SYS_FCHMODAT = 490 // { int fchmodat(int fd, char *path, mode_t mode, int flag); } SYS_FCHOWNAT = 491 // { int fchownat(int fd, char *path, uid_t uid, gid_t gid, int flag); } SYS_FEXECVE = 492 // { int fexecve(int fd, char **argv, char **envv); } SYS_FUTIMESAT = 494 // { int futimesat(int fd, char *path, struct timeval *times); } SYS_LINKAT = 495 // { int linkat(int fd1, char *path1, int fd2, char *path2, int flag); } 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_OPENAT = 499 // { int openat(int fd, char *path, int flag, mode_t mode); } SYS_READLINKAT = 500 // { ssize_t readlinkat(int fd, char *path, char *buf, size_t bufsize); } SYS_RENAMEAT = 501 // { int renameat(int oldfd, char *old, int newfd, char *new); } SYS_SYMLINKAT = 502 // { int symlinkat(char *path1, int fd, char *path2); } SYS_UNLINKAT = 503 // { int unlinkat(int fd, char *path, int flag); } SYS_POSIX_OPENPT = 504 // { int posix_openpt(int flags); } SYS_GSSD_SYSCALL = 505 // { int gssd_syscall(char *path); } SYS_JAIL_GET = 506 // { int jail_get(struct iovec *iovp, unsigned int iovcnt, int flags); } SYS_JAIL_SET = 507 // { int jail_set(struct iovec *iovp, unsigned int iovcnt, int flags); } SYS_JAIL_REMOVE = 508 // { int jail_remove(int jid); } SYS_CLOSEFROM = 509 // { int closefrom(int lowfd); } SYS___SEMCTL = 510 // { int __semctl(int semid, int semnum, int cmd, union semun *arg); } SYS_MSGCTL = 511 // { int msgctl(int msqid, int cmd, struct msqid_ds *buf); } SYS_SHMCTL = 512 // { int shmctl(int shmid, int cmd, struct shmid_ds *buf); } SYS_LPATHCONF = 513 // { int lpathconf(char *path, int name); } SYS___CAP_RIGHTS_GET = 515 // { int __cap_rights_get(int version, int fd, cap_rights_t *rightsp); } 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, fd_set *ou, fd_set *ex, const struct timespec *ts, const sigset_t *sm); } SYS_GETLOGINCLASS = 523 // { int getloginclass(char *namebuf, size_t namelen); } SYS_SETLOGINCLASS = 524 // { int setloginclass(const char *namebuf); } SYS_RCTL_GET_RACCT = 525 // { int rctl_get_racct(const void *inbufp, size_t inbuflen, void *outbufp, size_t outbuflen); } SYS_RCTL_GET_RULES = 526 // { int rctl_get_rules(const void *inbufp, size_t inbuflen, void *outbufp, size_t outbuflen); } SYS_RCTL_GET_LIMITS = 527 // { int rctl_get_limits(const void *inbufp, size_t inbuflen, void *outbufp, size_t outbuflen); } SYS_RCTL_ADD_RULE = 528 // { int rctl_add_rule(const void *inbufp, size_t inbuflen, void *outbufp, size_t outbuflen); } SYS_RCTL_REMOVE_RULE = 529 // { int rctl_remove_rule(const void *inbufp, size_t inbuflen, void *outbufp, size_t outbuflen); } SYS_POSIX_FALLOCATE = 530 // { int posix_fallocate(int fd, off_t offset, off_t len); } SYS_POSIX_FADVISE = 531 // { int posix_fadvise(int fd, off_t offset, off_t len, int advice); } SYS_WAIT6 = 532 // { int wait6(idtype_t idtype, id_t id, int *status, int options, struct __wrusage *wrusage, siginfo_t *info); } SYS_CAP_RIGHTS_LIMIT = 533 // { int cap_rights_limit(int fd, cap_rights_t *rightsp); } SYS_CAP_IOCTLS_LIMIT = 534 // { int cap_ioctls_limit(int fd, const u_long *cmds, size_t ncmds); } SYS_CAP_IOCTLS_GET = 535 // { ssize_t cap_ioctls_get(int fd, u_long *cmds, size_t maxcmds); } SYS_CAP_FCNTLS_LIMIT = 536 // { int cap_fcntls_limit(int fd, uint32_t fcntlrights); } SYS_CAP_FCNTLS_GET = 537 // { int cap_fcntls_get(int fd, uint32_t *fcntlrightsp); } SYS_BINDAT = 538 // { int bindat(int fd, int s, caddr_t name, int namelen); } SYS_CONNECTAT = 539 // { int connectat(int fd, int s, caddr_t name, int namelen); } SYS_CHFLAGSAT = 540 // { int chflagsat(int fd, const char *path, u_long flags, int atflag); } SYS_ACCEPT4 = 541 // { int accept4(int s, struct sockaddr * __restrict name, __socklen_t * __restrict anamelen, int flags); } SYS_PIPE2 = 542 // { int pipe2(int *fildes, int flags); } SYS_AIO_MLOCK = 543 // { int aio_mlock(struct aiocb *aiocbp); } SYS_PROCCTL = 544 // { int procctl(idtype_t idtype, id_t id, int com, void *data); } SYS_PPOLL = 545 // { int ppoll(struct pollfd *fds, u_int nfds, const struct timespec *ts, const sigset_t *set); } SYS_FUTIMENS = 546 // { int futimens(int fd, struct timespec *times); } SYS_UTIMENSAT = 547 // { int utimensat(int fd, char *path, struct timespec *times, int flag); } SYS_FDATASYNC = 550 // { int fdatasync(int fd); } SYS_FSTAT = 551 // { int fstat(int fd, struct stat *sb); } SYS_FSTATAT = 552 // { int fstatat(int fd, char *path, struct stat *buf, int flag); } SYS_FHSTAT = 553 // { int fhstat(const struct fhandle *u_fhp, struct stat *sb); } SYS_GETDIRENTRIES = 554 // { ssize_t getdirentries(int fd, char *buf, size_t count, off_t *basep); } SYS_STATFS = 555 // { int statfs(char *path, struct statfs *buf); } SYS_FSTATFS = 556 // { int fstatfs(int fd, struct statfs *buf); } SYS_GETFSSTAT = 557 // { int getfsstat(struct statfs *buf, long bufsize, int mode); } SYS_FHSTATFS = 558 // { int fhstatfs(const struct fhandle *u_fhp, struct statfs *buf); } SYS_MKNODAT = 559 // { int mknodat(int fd, char *path, mode_t mode, dev_t dev); } SYS_KEVENT = 560 // { int kevent(int fd, struct kevent *changelist, int nchanges, struct kevent *eventlist, int nevents, const struct timespec *timeout); } SYS_CPUSET_GETDOMAIN = 561 // { int cpuset_getdomain(cpulevel_t level, cpuwhich_t which, id_t id, size_t domainsetsize, domainset_t *mask, int *policy); } SYS_CPUSET_SETDOMAIN = 562 // { int cpuset_setdomain(cpulevel_t level, cpuwhich_t which, id_t id, size_t domainsetsize, domainset_t *mask, int policy); } SYS_GETRANDOM = 563 // { int getrandom(void *buf, size_t buflen, unsigned int flags); } SYS_GETFHAT = 564 // { int getfhat(int fd, char *path, struct fhandle *fhp, int flags); } SYS_FHLINK = 565 // { int fhlink(struct fhandle *fhp, const char *to); } SYS_FHLINKAT = 566 // { int fhlinkat(struct fhandle *fhp, int tofd, const char *to,); } SYS_FHREADLINK = 567 // { int fhreadlink(struct fhandle *fhp, char *buf, size_t bufsize); } SYS___SYSCTLBYNAME = 570 // { int __sysctlbyname(const char *name, size_t namelen, void *old, size_t *oldlenp, void *new, size_t newlen); } SYS_CLOSE_RANGE = 575 // { int close_range(u_int lowfd, u_int highfd, int flags); } ) dependencies/pkg/mod/golang.org/x/sys@v0.26.0/unix/zsyscall_darwin_amd64.go0000644000000000000000000021310415107355264025344 0ustar rootroot// go run mksyscall.go -tags darwin,amd64 syscall_bsd.go syscall_darwin.go syscall_darwin_amd64.go // Code generated by the command above; see README.md. DO NOT EDIT. //go: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 := syscall_rawSyscall(libc_getgroups_trampoline_addr, uintptr(ngid), uintptr(unsafe.Pointer(gid)), 0) n = int(r0) if e1 != 0 { err = errnoErr(e1) } return } var libc_getgroups_trampoline_addr uintptr //go:cgo_import_dynamic libc_getgroups getgroups "/usr/lib/libSystem.B.dylib" // THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT func setgroups(ngid int, gid *_Gid_t) (err error) { _, _, e1 := syscall_rawSyscall(libc_setgroups_trampoline_addr, uintptr(ngid), uintptr(unsafe.Pointer(gid)), 0) if e1 != 0 { err = errnoErr(e1) } return } var libc_setgroups_trampoline_addr uintptr //go:cgo_import_dynamic libc_setgroups setgroups "/usr/lib/libSystem.B.dylib" // 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 := syscall_syscall6(libc_wait4_trampoline_addr, uintptr(pid), uintptr(unsafe.Pointer(wstatus)), uintptr(options), uintptr(unsafe.Pointer(rusage)), 0, 0) wpid = int(r0) if e1 != 0 { err = errnoErr(e1) } return } var libc_wait4_trampoline_addr uintptr //go:cgo_import_dynamic libc_wait4 wait4 "/usr/lib/libSystem.B.dylib" // 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_syscall(libc_accept_trampoline_addr, uintptr(s), uintptr(unsafe.Pointer(rsa)), uintptr(unsafe.Pointer(addrlen))) fd = int(r0) if e1 != 0 { err = errnoErr(e1) } return } var libc_accept_trampoline_addr uintptr //go:cgo_import_dynamic libc_accept accept "/usr/lib/libSystem.B.dylib" // 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_syscall(libc_bind_trampoline_addr, uintptr(s), uintptr(addr), uintptr(addrlen)) if e1 != 0 { err = errnoErr(e1) } return } var libc_bind_trampoline_addr uintptr //go:cgo_import_dynamic libc_bind bind "/usr/lib/libSystem.B.dylib" // 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_syscall(libc_connect_trampoline_addr, uintptr(s), uintptr(addr), uintptr(addrlen)) if e1 != 0 { err = errnoErr(e1) } return } var libc_connect_trampoline_addr uintptr //go:cgo_import_dynamic libc_connect connect "/usr/lib/libSystem.B.dylib" // 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 := syscall_rawSyscall(libc_socket_trampoline_addr, uintptr(domain), uintptr(typ), uintptr(proto)) fd = int(r0) if e1 != 0 { err = errnoErr(e1) } return } var libc_socket_trampoline_addr uintptr //go:cgo_import_dynamic libc_socket socket "/usr/lib/libSystem.B.dylib" // 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 := syscall_syscall6(libc_getsockopt_trampoline_addr, uintptr(s), uintptr(level), uintptr(name), uintptr(val), uintptr(unsafe.Pointer(vallen)), 0) if e1 != 0 { err = errnoErr(e1) } return } var libc_getsockopt_trampoline_addr uintptr //go:cgo_import_dynamic libc_getsockopt getsockopt "/usr/lib/libSystem.B.dylib" // 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 := syscall_syscall6(libc_setsockopt_trampoline_addr, uintptr(s), uintptr(level), uintptr(name), uintptr(val), uintptr(vallen), 0) if e1 != 0 { err = errnoErr(e1) } return } var libc_setsockopt_trampoline_addr uintptr //go:cgo_import_dynamic libc_setsockopt setsockopt "/usr/lib/libSystem.B.dylib" // THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT func getpeername(fd int, rsa *RawSockaddrAny, addrlen *_Socklen) (err error) { _, _, e1 := syscall_rawSyscall(libc_getpeername_trampoline_addr, uintptr(fd), uintptr(unsafe.Pointer(rsa)), uintptr(unsafe.Pointer(addrlen))) if e1 != 0 { err = errnoErr(e1) } return } var libc_getpeername_trampoline_addr uintptr //go:cgo_import_dynamic libc_getpeername getpeername "/usr/lib/libSystem.B.dylib" // THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT func getsockname(fd int, rsa *RawSockaddrAny, addrlen *_Socklen) (err error) { _, _, e1 := syscall_rawSyscall(libc_getsockname_trampoline_addr, uintptr(fd), uintptr(unsafe.Pointer(rsa)), uintptr(unsafe.Pointer(addrlen))) if e1 != 0 { err = errnoErr(e1) } return } var libc_getsockname_trampoline_addr uintptr //go:cgo_import_dynamic libc_getsockname getsockname "/usr/lib/libSystem.B.dylib" // THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT func Shutdown(s int, how int) (err error) { _, _, e1 := syscall_syscall(libc_shutdown_trampoline_addr, uintptr(s), uintptr(how), 0) if e1 != 0 { err = errnoErr(e1) } return } var libc_shutdown_trampoline_addr uintptr //go:cgo_import_dynamic libc_shutdown shutdown "/usr/lib/libSystem.B.dylib" // 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 := syscall_rawSyscall6(libc_socketpair_trampoline_addr, uintptr(domain), uintptr(typ), uintptr(proto), uintptr(unsafe.Pointer(fd)), 0, 0) if e1 != 0 { err = errnoErr(e1) } return } var libc_socketpair_trampoline_addr uintptr //go:cgo_import_dynamic libc_socketpair socketpair "/usr/lib/libSystem.B.dylib" // 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 := syscall_syscall6(libc_recvfrom_trampoline_addr, 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 } var libc_recvfrom_trampoline_addr uintptr //go:cgo_import_dynamic libc_recvfrom recvfrom "/usr/lib/libSystem.B.dylib" // 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 := syscall_syscall6(libc_sendto_trampoline_addr, uintptr(s), uintptr(_p0), uintptr(len(buf)), uintptr(flags), uintptr(to), uintptr(addrlen)) if e1 != 0 { err = errnoErr(e1) } return } var libc_sendto_trampoline_addr uintptr //go:cgo_import_dynamic libc_sendto sendto "/usr/lib/libSystem.B.dylib" // 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_syscall(libc_recvmsg_trampoline_addr, uintptr(s), uintptr(unsafe.Pointer(msg)), uintptr(flags)) n = int(r0) if e1 != 0 { err = errnoErr(e1) } return } var libc_recvmsg_trampoline_addr uintptr //go:cgo_import_dynamic libc_recvmsg recvmsg "/usr/lib/libSystem.B.dylib" // 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_syscall(libc_sendmsg_trampoline_addr, uintptr(s), uintptr(unsafe.Pointer(msg)), uintptr(flags)) n = int(r0) if e1 != 0 { err = errnoErr(e1) } return } var libc_sendmsg_trampoline_addr uintptr //go:cgo_import_dynamic libc_sendmsg sendmsg "/usr/lib/libSystem.B.dylib" // 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 := syscall_syscall6(libc_kevent_trampoline_addr, uintptr(kq), uintptr(change), uintptr(nchange), uintptr(event), uintptr(nevent), uintptr(unsafe.Pointer(timeout))) n = int(r0) if e1 != 0 { err = errnoErr(e1) } return } var libc_kevent_trampoline_addr uintptr //go:cgo_import_dynamic libc_kevent kevent "/usr/lib/libSystem.B.dylib" // 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_syscall(libc_utimes_trampoline_addr, uintptr(unsafe.Pointer(_p0)), uintptr(unsafe.Pointer(timeval)), 0) if e1 != 0 { err = errnoErr(e1) } return } var libc_utimes_trampoline_addr uintptr //go:cgo_import_dynamic libc_utimes utimes "/usr/lib/libSystem.B.dylib" // THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT func futimes(fd int, timeval *[2]Timeval) (err error) { _, _, e1 := syscall_syscall(libc_futimes_trampoline_addr, uintptr(fd), uintptr(unsafe.Pointer(timeval)), 0) if e1 != 0 { err = errnoErr(e1) } return } var libc_futimes_trampoline_addr uintptr //go:cgo_import_dynamic libc_futimes futimes "/usr/lib/libSystem.B.dylib" // 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_syscall(libc_poll_trampoline_addr, uintptr(unsafe.Pointer(fds)), uintptr(nfds), uintptr(timeout)) n = int(r0) if e1 != 0 { err = errnoErr(e1) } return } var libc_poll_trampoline_addr uintptr //go:cgo_import_dynamic libc_poll poll "/usr/lib/libSystem.B.dylib" // THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT func Madvise(b []byte, behav int) (err error) { var _p0 unsafe.Pointer if len(b) > 0 { _p0 = unsafe.Pointer(&b[0]) } else { _p0 = unsafe.Pointer(&_zero) } _, _, e1 := syscall_syscall(libc_madvise_trampoline_addr, uintptr(_p0), uintptr(len(b)), uintptr(behav)) if e1 != 0 { err = errnoErr(e1) } return } var libc_madvise_trampoline_addr uintptr //go:cgo_import_dynamic libc_madvise madvise "/usr/lib/libSystem.B.dylib" // 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_syscall(libc_mlock_trampoline_addr, uintptr(_p0), uintptr(len(b)), 0) if e1 != 0 { err = errnoErr(e1) } return } var libc_mlock_trampoline_addr uintptr //go:cgo_import_dynamic libc_mlock mlock "/usr/lib/libSystem.B.dylib" // THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT func Mlockall(flags int) (err error) { _, _, e1 := syscall_syscall(libc_mlockall_trampoline_addr, uintptr(flags), 0, 0) if e1 != 0 { err = errnoErr(e1) } return } var libc_mlockall_trampoline_addr uintptr //go:cgo_import_dynamic libc_mlockall mlockall "/usr/lib/libSystem.B.dylib" // 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_syscall(libc_mprotect_trampoline_addr, uintptr(_p0), uintptr(len(b)), uintptr(prot)) if e1 != 0 { err = errnoErr(e1) } return } var libc_mprotect_trampoline_addr uintptr //go:cgo_import_dynamic libc_mprotect mprotect "/usr/lib/libSystem.B.dylib" // THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT func Msync(b []byte, flags int) (err error) { var _p0 unsafe.Pointer if len(b) > 0 { _p0 = unsafe.Pointer(&b[0]) } else { _p0 = unsafe.Pointer(&_zero) } _, _, e1 := syscall_syscall(libc_msync_trampoline_addr, uintptr(_p0), uintptr(len(b)), uintptr(flags)) if e1 != 0 { err = errnoErr(e1) } return } var libc_msync_trampoline_addr uintptr //go:cgo_import_dynamic libc_msync msync "/usr/lib/libSystem.B.dylib" // 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_syscall(libc_munlock_trampoline_addr, uintptr(_p0), uintptr(len(b)), 0) if e1 != 0 { err = errnoErr(e1) } return } var libc_munlock_trampoline_addr uintptr //go:cgo_import_dynamic libc_munlock munlock "/usr/lib/libSystem.B.dylib" // THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT func Munlockall() (err error) { _, _, e1 := syscall_syscall(libc_munlockall_trampoline_addr, 0, 0, 0) if e1 != 0 { err = errnoErr(e1) } return } var libc_munlockall_trampoline_addr uintptr //go:cgo_import_dynamic libc_munlockall munlockall "/usr/lib/libSystem.B.dylib" // THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT func closedir(dir uintptr) (err error) { _, _, e1 := syscall_syscall(libc_closedir_trampoline_addr, uintptr(dir), 0, 0) if e1 != 0 { err = errnoErr(e1) } return } var libc_closedir_trampoline_addr uintptr //go:cgo_import_dynamic libc_closedir closedir "/usr/lib/libSystem.B.dylib" // THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT func readdir_r(dir uintptr, entry *Dirent, result **Dirent) (res Errno) { r0, _, _ := syscall_syscall(libc_readdir_r_trampoline_addr, uintptr(dir), uintptr(unsafe.Pointer(entry)), uintptr(unsafe.Pointer(result))) res = Errno(r0) return } var libc_readdir_r_trampoline_addr uintptr //go:cgo_import_dynamic libc_readdir_r readdir_r "/usr/lib/libSystem.B.dylib" // THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT func pipe(p *[2]int32) (err error) { _, _, e1 := syscall_rawSyscall(libc_pipe_trampoline_addr, uintptr(unsafe.Pointer(p)), 0, 0) if e1 != 0 { err = errnoErr(e1) } return } var libc_pipe_trampoline_addr uintptr //go:cgo_import_dynamic libc_pipe pipe "/usr/lib/libSystem.B.dylib" // THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT func getxattr(path string, attr string, dest *byte, size int, position uint32, options int) (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 } r0, _, e1 := syscall_syscall6(libc_getxattr_trampoline_addr, uintptr(unsafe.Pointer(_p0)), uintptr(unsafe.Pointer(_p1)), uintptr(unsafe.Pointer(dest)), uintptr(size), uintptr(position), uintptr(options)) sz = int(r0) if e1 != 0 { err = errnoErr(e1) } return } var libc_getxattr_trampoline_addr uintptr //go:cgo_import_dynamic libc_getxattr getxattr "/usr/lib/libSystem.B.dylib" // THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT func fgetxattr(fd int, attr string, dest *byte, size int, position uint32, options int) (sz int, err error) { var _p0 *byte _p0, err = BytePtrFromString(attr) if err != nil { return } r0, _, e1 := syscall_syscall6(libc_fgetxattr_trampoline_addr, uintptr(fd), uintptr(unsafe.Pointer(_p0)), uintptr(unsafe.Pointer(dest)), uintptr(size), uintptr(position), uintptr(options)) sz = int(r0) if e1 != 0 { err = errnoErr(e1) } return } var libc_fgetxattr_trampoline_addr uintptr //go:cgo_import_dynamic libc_fgetxattr fgetxattr "/usr/lib/libSystem.B.dylib" // THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT func setxattr(path string, attr string, data *byte, size int, position uint32, options 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 } _, _, e1 := syscall_syscall6(libc_setxattr_trampoline_addr, uintptr(unsafe.Pointer(_p0)), uintptr(unsafe.Pointer(_p1)), uintptr(unsafe.Pointer(data)), uintptr(size), uintptr(position), uintptr(options)) if e1 != 0 { err = errnoErr(e1) } return } var libc_setxattr_trampoline_addr uintptr //go:cgo_import_dynamic libc_setxattr setxattr "/usr/lib/libSystem.B.dylib" // THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT func fsetxattr(fd int, attr string, data *byte, size int, position uint32, options int) (err error) { var _p0 *byte _p0, err = BytePtrFromString(attr) if err != nil { return } _, _, e1 := syscall_syscall6(libc_fsetxattr_trampoline_addr, uintptr(fd), uintptr(unsafe.Pointer(_p0)), uintptr(unsafe.Pointer(data)), uintptr(size), uintptr(position), uintptr(options)) if e1 != 0 { err = errnoErr(e1) } return } var libc_fsetxattr_trampoline_addr uintptr //go:cgo_import_dynamic libc_fsetxattr fsetxattr "/usr/lib/libSystem.B.dylib" // THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT func removexattr(path string, attr string, options 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 } _, _, e1 := syscall_syscall(libc_removexattr_trampoline_addr, uintptr(unsafe.Pointer(_p0)), uintptr(unsafe.Pointer(_p1)), uintptr(options)) if e1 != 0 { err = errnoErr(e1) } return } var libc_removexattr_trampoline_addr uintptr //go:cgo_import_dynamic libc_removexattr removexattr "/usr/lib/libSystem.B.dylib" // THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT func fremovexattr(fd int, attr string, options int) (err error) { var _p0 *byte _p0, err = BytePtrFromString(attr) if err != nil { return } _, _, e1 := syscall_syscall(libc_fremovexattr_trampoline_addr, uintptr(fd), uintptr(unsafe.Pointer(_p0)), uintptr(options)) if e1 != 0 { err = errnoErr(e1) } return } var libc_fremovexattr_trampoline_addr uintptr //go:cgo_import_dynamic libc_fremovexattr fremovexattr "/usr/lib/libSystem.B.dylib" // THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT func listxattr(path string, dest *byte, size int, options int) (sz int, err error) { var _p0 *byte _p0, err = BytePtrFromString(path) if err != nil { return } r0, _, e1 := syscall_syscall6(libc_listxattr_trampoline_addr, uintptr(unsafe.Pointer(_p0)), uintptr(unsafe.Pointer(dest)), uintptr(size), uintptr(options), 0, 0) sz = int(r0) if e1 != 0 { err = errnoErr(e1) } return } var libc_listxattr_trampoline_addr uintptr //go:cgo_import_dynamic libc_listxattr listxattr "/usr/lib/libSystem.B.dylib" // THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT func flistxattr(fd int, dest *byte, size int, options int) (sz int, err error) { r0, _, e1 := syscall_syscall6(libc_flistxattr_trampoline_addr, uintptr(fd), uintptr(unsafe.Pointer(dest)), uintptr(size), uintptr(options), 0, 0) sz = int(r0) if e1 != 0 { err = errnoErr(e1) } return } var libc_flistxattr_trampoline_addr uintptr //go:cgo_import_dynamic libc_flistxattr flistxattr "/usr/lib/libSystem.B.dylib" // 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 := syscall_syscall6(libc_utimensat_trampoline_addr, uintptr(dirfd), uintptr(unsafe.Pointer(_p0)), uintptr(unsafe.Pointer(times)), uintptr(flags), 0, 0) if e1 != 0 { err = errnoErr(e1) } return } var libc_utimensat_trampoline_addr uintptr //go:cgo_import_dynamic libc_utimensat utimensat "/usr/lib/libSystem.B.dylib" // 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_syscall(libc_fcntl_trampoline_addr, uintptr(fd), uintptr(cmd), uintptr(arg)) val = int(r0) if e1 != 0 { err = errnoErr(e1) } return } var libc_fcntl_trampoline_addr uintptr //go:cgo_import_dynamic libc_fcntl fcntl "/usr/lib/libSystem.B.dylib" // 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_syscall(libc_kill_trampoline_addr, uintptr(pid), uintptr(signum), uintptr(posix)) if e1 != 0 { err = errnoErr(e1) } return } var libc_kill_trampoline_addr uintptr //go:cgo_import_dynamic libc_kill kill "/usr/lib/libSystem.B.dylib" // 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_syscall(libc_ioctl_trampoline_addr, uintptr(fd), uintptr(req), uintptr(arg)) if e1 != 0 { err = errnoErr(e1) } return } var libc_ioctl_trampoline_addr uintptr //go:cgo_import_dynamic libc_ioctl ioctl "/usr/lib/libSystem.B.dylib" // THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT func ioctlPtr(fd int, req uint, arg unsafe.Pointer) (err error) { _, _, e1 := syscall_syscall(libc_ioctl_trampoline_addr, 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 renamexNp(from string, to string, flag uint32) (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_syscall(libc_renamex_np_trampoline_addr, uintptr(unsafe.Pointer(_p0)), uintptr(unsafe.Pointer(_p1)), uintptr(flag)) if e1 != 0 { err = errnoErr(e1) } return } var libc_renamex_np_trampoline_addr uintptr //go:cgo_import_dynamic libc_renamex_np renamex_np "/usr/lib/libSystem.B.dylib" // THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT func renameatxNp(fromfd int, from string, tofd int, to string, flag uint32) (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_syscall6(libc_renameatx_np_trampoline_addr, uintptr(fromfd), uintptr(unsafe.Pointer(_p0)), uintptr(tofd), uintptr(unsafe.Pointer(_p1)), uintptr(flag), 0) if e1 != 0 { err = errnoErr(e1) } return } var libc_renameatx_np_trampoline_addr uintptr //go:cgo_import_dynamic libc_renameatx_np renameatx_np "/usr/lib/libSystem.B.dylib" // 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 := syscall_syscall6(libc_sysctl_trampoline_addr, 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 } var libc_sysctl_trampoline_addr uintptr //go:cgo_import_dynamic libc_sysctl sysctl "/usr/lib/libSystem.B.dylib" // THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT func pthread_chdir_np(path string) (err error) { var _p0 *byte _p0, err = BytePtrFromString(path) if err != nil { return } _, _, e1 := syscall_syscall(libc_pthread_chdir_np_trampoline_addr, uintptr(unsafe.Pointer(_p0)), 0, 0) if e1 != 0 { err = errnoErr(e1) } return } var libc_pthread_chdir_np_trampoline_addr uintptr //go:cgo_import_dynamic libc_pthread_chdir_np pthread_chdir_np "/usr/lib/libSystem.B.dylib" // THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT func pthread_fchdir_np(fd int) (err error) { _, _, e1 := syscall_syscall(libc_pthread_fchdir_np_trampoline_addr, uintptr(fd), 0, 0) if e1 != 0 { err = errnoErr(e1) } return } var libc_pthread_fchdir_np_trampoline_addr uintptr //go:cgo_import_dynamic libc_pthread_fchdir_np pthread_fchdir_np "/usr/lib/libSystem.B.dylib" // THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT func connectx(fd int, endpoints *SaEndpoints, associd SaeAssocID, flags uint32, iov []Iovec, n *uintptr, connid *SaeConnID) (err error) { var _p0 unsafe.Pointer if len(iov) > 0 { _p0 = unsafe.Pointer(&iov[0]) } else { _p0 = unsafe.Pointer(&_zero) } _, _, e1 := syscall_syscall9(libc_connectx_trampoline_addr, uintptr(fd), uintptr(unsafe.Pointer(endpoints)), uintptr(associd), uintptr(flags), uintptr(_p0), uintptr(len(iov)), uintptr(unsafe.Pointer(n)), uintptr(unsafe.Pointer(connid)), 0) if e1 != 0 { err = errnoErr(e1) } return } var libc_connectx_trampoline_addr uintptr //go:cgo_import_dynamic libc_connectx connectx "/usr/lib/libSystem.B.dylib" // THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT func sendfile(infd int, outfd int, offset int64, len *int64, hdtr unsafe.Pointer, flags int) (err error) { _, _, e1 := syscall_syscall6(libc_sendfile_trampoline_addr, uintptr(infd), uintptr(outfd), uintptr(offset), uintptr(unsafe.Pointer(len)), uintptr(hdtr), uintptr(flags)) if e1 != 0 { err = errnoErr(e1) } return } var libc_sendfile_trampoline_addr uintptr //go:cgo_import_dynamic libc_sendfile sendfile "/usr/lib/libSystem.B.dylib" // THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT func shmat(id int, addr uintptr, flag int) (ret uintptr, err error) { r0, _, e1 := syscall_syscall(libc_shmat_trampoline_addr, uintptr(id), uintptr(addr), uintptr(flag)) ret = uintptr(r0) if e1 != 0 { err = errnoErr(e1) } return } var libc_shmat_trampoline_addr uintptr //go:cgo_import_dynamic libc_shmat shmat "/usr/lib/libSystem.B.dylib" // THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT func shmctl(id int, cmd int, buf *SysvShmDesc) (result int, err error) { r0, _, e1 := syscall_syscall(libc_shmctl_trampoline_addr, uintptr(id), uintptr(cmd), uintptr(unsafe.Pointer(buf))) result = int(r0) if e1 != 0 { err = errnoErr(e1) } return } var libc_shmctl_trampoline_addr uintptr //go:cgo_import_dynamic libc_shmctl shmctl "/usr/lib/libSystem.B.dylib" // THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT func shmdt(addr uintptr) (err error) { _, _, e1 := syscall_syscall(libc_shmdt_trampoline_addr, uintptr(addr), 0, 0) if e1 != 0 { err = errnoErr(e1) } return } var libc_shmdt_trampoline_addr uintptr //go:cgo_import_dynamic libc_shmdt shmdt "/usr/lib/libSystem.B.dylib" // THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT func shmget(key int, size int, flag int) (id int, err error) { r0, _, e1 := syscall_syscall(libc_shmget_trampoline_addr, uintptr(key), uintptr(size), uintptr(flag)) id = int(r0) if e1 != 0 { err = errnoErr(e1) } return } var libc_shmget_trampoline_addr uintptr //go:cgo_import_dynamic libc_shmget shmget "/usr/lib/libSystem.B.dylib" // 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_syscall(libc_access_trampoline_addr, uintptr(unsafe.Pointer(_p0)), uintptr(mode), 0) if e1 != 0 { err = errnoErr(e1) } return } var libc_access_trampoline_addr uintptr //go:cgo_import_dynamic libc_access access "/usr/lib/libSystem.B.dylib" // THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT func Adjtime(delta *Timeval, olddelta *Timeval) (err error) { _, _, e1 := syscall_syscall(libc_adjtime_trampoline_addr, uintptr(unsafe.Pointer(delta)), uintptr(unsafe.Pointer(olddelta)), 0) if e1 != 0 { err = errnoErr(e1) } return } var libc_adjtime_trampoline_addr uintptr //go:cgo_import_dynamic libc_adjtime adjtime "/usr/lib/libSystem.B.dylib" // 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_syscall(libc_chdir_trampoline_addr, uintptr(unsafe.Pointer(_p0)), 0, 0) if e1 != 0 { err = errnoErr(e1) } return } var libc_chdir_trampoline_addr uintptr //go:cgo_import_dynamic libc_chdir chdir "/usr/lib/libSystem.B.dylib" // 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_syscall(libc_chflags_trampoline_addr, uintptr(unsafe.Pointer(_p0)), uintptr(flags), 0) if e1 != 0 { err = errnoErr(e1) } return } var libc_chflags_trampoline_addr uintptr //go:cgo_import_dynamic libc_chflags chflags "/usr/lib/libSystem.B.dylib" // 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_syscall(libc_chmod_trampoline_addr, uintptr(unsafe.Pointer(_p0)), uintptr(mode), 0) if e1 != 0 { err = errnoErr(e1) } return } var libc_chmod_trampoline_addr uintptr //go:cgo_import_dynamic libc_chmod chmod "/usr/lib/libSystem.B.dylib" // 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_syscall(libc_chown_trampoline_addr, uintptr(unsafe.Pointer(_p0)), uintptr(uid), uintptr(gid)) if e1 != 0 { err = errnoErr(e1) } return } var libc_chown_trampoline_addr uintptr //go:cgo_import_dynamic libc_chown chown "/usr/lib/libSystem.B.dylib" // 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_syscall(libc_chroot_trampoline_addr, uintptr(unsafe.Pointer(_p0)), 0, 0) if e1 != 0 { err = errnoErr(e1) } return } var libc_chroot_trampoline_addr uintptr //go:cgo_import_dynamic libc_chroot chroot "/usr/lib/libSystem.B.dylib" // THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT func ClockGettime(clockid int32, time *Timespec) (err error) { _, _, e1 := syscall_syscall(libc_clock_gettime_trampoline_addr, uintptr(clockid), uintptr(unsafe.Pointer(time)), 0) if e1 != 0 { err = errnoErr(e1) } return } var libc_clock_gettime_trampoline_addr uintptr //go:cgo_import_dynamic libc_clock_gettime clock_gettime "/usr/lib/libSystem.B.dylib" // THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT func Close(fd int) (err error) { _, _, e1 := syscall_syscall(libc_close_trampoline_addr, uintptr(fd), 0, 0) if e1 != 0 { err = errnoErr(e1) } return } var libc_close_trampoline_addr uintptr //go:cgo_import_dynamic libc_close close "/usr/lib/libSystem.B.dylib" // THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT func Clonefile(src string, dst string, flags int) (err error) { var _p0 *byte _p0, err = BytePtrFromString(src) if err != nil { return } var _p1 *byte _p1, err = BytePtrFromString(dst) if err != nil { return } _, _, e1 := syscall_syscall(libc_clonefile_trampoline_addr, uintptr(unsafe.Pointer(_p0)), uintptr(unsafe.Pointer(_p1)), uintptr(flags)) if e1 != 0 { err = errnoErr(e1) } return } var libc_clonefile_trampoline_addr uintptr //go:cgo_import_dynamic libc_clonefile clonefile "/usr/lib/libSystem.B.dylib" // THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT func Clonefileat(srcDirfd int, src string, dstDirfd int, dst string, flags int) (err error) { var _p0 *byte _p0, err = BytePtrFromString(src) if err != nil { return } var _p1 *byte _p1, err = BytePtrFromString(dst) if err != nil { return } _, _, e1 := syscall_syscall6(libc_clonefileat_trampoline_addr, uintptr(srcDirfd), uintptr(unsafe.Pointer(_p0)), uintptr(dstDirfd), uintptr(unsafe.Pointer(_p1)), uintptr(flags), 0) if e1 != 0 { err = errnoErr(e1) } return } var libc_clonefileat_trampoline_addr uintptr //go:cgo_import_dynamic libc_clonefileat clonefileat "/usr/lib/libSystem.B.dylib" // THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT func Dup(fd int) (nfd int, err error) { r0, _, e1 := syscall_syscall(libc_dup_trampoline_addr, uintptr(fd), 0, 0) nfd = int(r0) if e1 != 0 { err = errnoErr(e1) } return } var libc_dup_trampoline_addr uintptr //go:cgo_import_dynamic libc_dup dup "/usr/lib/libSystem.B.dylib" // THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT func Dup2(from int, to int) (err error) { _, _, e1 := syscall_syscall(libc_dup2_trampoline_addr, uintptr(from), uintptr(to), 0) if e1 != 0 { err = errnoErr(e1) } return } var libc_dup2_trampoline_addr uintptr //go:cgo_import_dynamic libc_dup2 dup2 "/usr/lib/libSystem.B.dylib" // 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_syscall(libc_exchangedata_trampoline_addr, uintptr(unsafe.Pointer(_p0)), uintptr(unsafe.Pointer(_p1)), uintptr(options)) if e1 != 0 { err = errnoErr(e1) } return } var libc_exchangedata_trampoline_addr uintptr //go:cgo_import_dynamic libc_exchangedata exchangedata "/usr/lib/libSystem.B.dylib" // THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT func Exit(code int) { syscall_syscall(libc_exit_trampoline_addr, uintptr(code), 0, 0) return } var libc_exit_trampoline_addr uintptr //go:cgo_import_dynamic libc_exit exit "/usr/lib/libSystem.B.dylib" // 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 := syscall_syscall6(libc_faccessat_trampoline_addr, uintptr(dirfd), uintptr(unsafe.Pointer(_p0)), uintptr(mode), uintptr(flags), 0, 0) if e1 != 0 { err = errnoErr(e1) } return } var libc_faccessat_trampoline_addr uintptr //go:cgo_import_dynamic libc_faccessat faccessat "/usr/lib/libSystem.B.dylib" // THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT func Fchdir(fd int) (err error) { _, _, e1 := syscall_syscall(libc_fchdir_trampoline_addr, uintptr(fd), 0, 0) if e1 != 0 { err = errnoErr(e1) } return } var libc_fchdir_trampoline_addr uintptr //go:cgo_import_dynamic libc_fchdir fchdir "/usr/lib/libSystem.B.dylib" // THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT func Fchflags(fd int, flags int) (err error) { _, _, e1 := syscall_syscall(libc_fchflags_trampoline_addr, uintptr(fd), uintptr(flags), 0) if e1 != 0 { err = errnoErr(e1) } return } var libc_fchflags_trampoline_addr uintptr //go:cgo_import_dynamic libc_fchflags fchflags "/usr/lib/libSystem.B.dylib" // THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT func Fchmod(fd int, mode uint32) (err error) { _, _, e1 := syscall_syscall(libc_fchmod_trampoline_addr, uintptr(fd), uintptr(mode), 0) if e1 != 0 { err = errnoErr(e1) } return } var libc_fchmod_trampoline_addr uintptr //go:cgo_import_dynamic libc_fchmod fchmod "/usr/lib/libSystem.B.dylib" // 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 := syscall_syscall6(libc_fchmodat_trampoline_addr, uintptr(dirfd), uintptr(unsafe.Pointer(_p0)), uintptr(mode), uintptr(flags), 0, 0) if e1 != 0 { err = errnoErr(e1) } return } var libc_fchmodat_trampoline_addr uintptr //go:cgo_import_dynamic libc_fchmodat fchmodat "/usr/lib/libSystem.B.dylib" // 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_syscall(libc_fchown_trampoline_addr, uintptr(fd), uintptr(uid), uintptr(gid)) if e1 != 0 { err = errnoErr(e1) } return } var libc_fchown_trampoline_addr uintptr //go:cgo_import_dynamic libc_fchown fchown "/usr/lib/libSystem.B.dylib" // 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 := syscall_syscall6(libc_fchownat_trampoline_addr, uintptr(dirfd), uintptr(unsafe.Pointer(_p0)), uintptr(uid), uintptr(gid), uintptr(flags), 0) if e1 != 0 { err = errnoErr(e1) } return } var libc_fchownat_trampoline_addr uintptr //go:cgo_import_dynamic libc_fchownat fchownat "/usr/lib/libSystem.B.dylib" // THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT func Fclonefileat(srcDirfd int, dstDirfd int, dst string, flags int) (err error) { var _p0 *byte _p0, err = BytePtrFromString(dst) if err != nil { return } _, _, e1 := syscall_syscall6(libc_fclonefileat_trampoline_addr, uintptr(srcDirfd), uintptr(dstDirfd), uintptr(unsafe.Pointer(_p0)), uintptr(flags), 0, 0) if e1 != 0 { err = errnoErr(e1) } return } var libc_fclonefileat_trampoline_addr uintptr //go:cgo_import_dynamic libc_fclonefileat fclonefileat "/usr/lib/libSystem.B.dylib" // THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT func Flock(fd int, how int) (err error) { _, _, e1 := syscall_syscall(libc_flock_trampoline_addr, uintptr(fd), uintptr(how), 0) if e1 != 0 { err = errnoErr(e1) } return } var libc_flock_trampoline_addr uintptr //go:cgo_import_dynamic libc_flock flock "/usr/lib/libSystem.B.dylib" // 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_syscall(libc_fpathconf_trampoline_addr, uintptr(fd), uintptr(name), 0) val = int(r0) if e1 != 0 { err = errnoErr(e1) } return } var libc_fpathconf_trampoline_addr uintptr //go:cgo_import_dynamic libc_fpathconf fpathconf "/usr/lib/libSystem.B.dylib" // THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT func Fsync(fd int) (err error) { _, _, e1 := syscall_syscall(libc_fsync_trampoline_addr, uintptr(fd), 0, 0) if e1 != 0 { err = errnoErr(e1) } return } var libc_fsync_trampoline_addr uintptr //go:cgo_import_dynamic libc_fsync fsync "/usr/lib/libSystem.B.dylib" // THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT func Ftruncate(fd int, length int64) (err error) { _, _, e1 := syscall_syscall(libc_ftruncate_trampoline_addr, uintptr(fd), uintptr(length), 0) if e1 != 0 { err = errnoErr(e1) } return } var libc_ftruncate_trampoline_addr uintptr //go:cgo_import_dynamic libc_ftruncate ftruncate "/usr/lib/libSystem.B.dylib" // 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_syscall(libc_getcwd_trampoline_addr, uintptr(_p0), uintptr(len(buf)), 0) n = int(r0) if e1 != 0 { err = errnoErr(e1) } return } var libc_getcwd_trampoline_addr uintptr //go:cgo_import_dynamic libc_getcwd getcwd "/usr/lib/libSystem.B.dylib" // THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT func Getdtablesize() (size int) { r0, _, _ := syscall_syscall(libc_getdtablesize_trampoline_addr, 0, 0, 0) size = int(r0) return } var libc_getdtablesize_trampoline_addr uintptr //go:cgo_import_dynamic libc_getdtablesize getdtablesize "/usr/lib/libSystem.B.dylib" // THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT func Getegid() (egid int) { r0, _, _ := syscall_rawSyscall(libc_getegid_trampoline_addr, 0, 0, 0) egid = int(r0) return } var libc_getegid_trampoline_addr uintptr //go:cgo_import_dynamic libc_getegid getegid "/usr/lib/libSystem.B.dylib" // THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT func Geteuid() (uid int) { r0, _, _ := syscall_rawSyscall(libc_geteuid_trampoline_addr, 0, 0, 0) uid = int(r0) return } var libc_geteuid_trampoline_addr uintptr //go:cgo_import_dynamic libc_geteuid geteuid "/usr/lib/libSystem.B.dylib" // THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT func Getgid() (gid int) { r0, _, _ := syscall_rawSyscall(libc_getgid_trampoline_addr, 0, 0, 0) gid = int(r0) return } var libc_getgid_trampoline_addr uintptr //go:cgo_import_dynamic libc_getgid getgid "/usr/lib/libSystem.B.dylib" // THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT func Getpgid(pid int) (pgid int, err error) { r0, _, e1 := syscall_rawSyscall(libc_getpgid_trampoline_addr, uintptr(pid), 0, 0) pgid = int(r0) if e1 != 0 { err = errnoErr(e1) } return } var libc_getpgid_trampoline_addr uintptr //go:cgo_import_dynamic libc_getpgid getpgid "/usr/lib/libSystem.B.dylib" // THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT func Getpgrp() (pgrp int) { r0, _, _ := syscall_rawSyscall(libc_getpgrp_trampoline_addr, 0, 0, 0) pgrp = int(r0) return } var libc_getpgrp_trampoline_addr uintptr //go:cgo_import_dynamic libc_getpgrp getpgrp "/usr/lib/libSystem.B.dylib" // THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT func Getpid() (pid int) { r0, _, _ := syscall_rawSyscall(libc_getpid_trampoline_addr, 0, 0, 0) pid = int(r0) return } var libc_getpid_trampoline_addr uintptr //go:cgo_import_dynamic libc_getpid getpid "/usr/lib/libSystem.B.dylib" // THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT func Getppid() (ppid int) { r0, _, _ := syscall_rawSyscall(libc_getppid_trampoline_addr, 0, 0, 0) ppid = int(r0) return } var libc_getppid_trampoline_addr uintptr //go:cgo_import_dynamic libc_getppid getppid "/usr/lib/libSystem.B.dylib" // 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_syscall(libc_getpriority_trampoline_addr, uintptr(which), uintptr(who), 0) prio = int(r0) if e1 != 0 { err = errnoErr(e1) } return } var libc_getpriority_trampoline_addr uintptr //go:cgo_import_dynamic libc_getpriority getpriority "/usr/lib/libSystem.B.dylib" // THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT func Getrlimit(which int, lim *Rlimit) (err error) { _, _, e1 := syscall_rawSyscall(libc_getrlimit_trampoline_addr, uintptr(which), uintptr(unsafe.Pointer(lim)), 0) if e1 != 0 { err = errnoErr(e1) } return } var libc_getrlimit_trampoline_addr uintptr //go:cgo_import_dynamic libc_getrlimit getrlimit "/usr/lib/libSystem.B.dylib" // THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT func Getrusage(who int, rusage *Rusage) (err error) { _, _, e1 := syscall_rawSyscall(libc_getrusage_trampoline_addr, uintptr(who), uintptr(unsafe.Pointer(rusage)), 0) if e1 != 0 { err = errnoErr(e1) } return } var libc_getrusage_trampoline_addr uintptr //go:cgo_import_dynamic libc_getrusage getrusage "/usr/lib/libSystem.B.dylib" // THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT func Getsid(pid int) (sid int, err error) { r0, _, e1 := syscall_rawSyscall(libc_getsid_trampoline_addr, uintptr(pid), 0, 0) sid = int(r0) if e1 != 0 { err = errnoErr(e1) } return } var libc_getsid_trampoline_addr uintptr //go:cgo_import_dynamic libc_getsid getsid "/usr/lib/libSystem.B.dylib" // THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT func Gettimeofday(tp *Timeval) (err error) { _, _, e1 := syscall_rawSyscall(libc_gettimeofday_trampoline_addr, uintptr(unsafe.Pointer(tp)), 0, 0) if e1 != 0 { err = errnoErr(e1) } return } var libc_gettimeofday_trampoline_addr uintptr //go:cgo_import_dynamic libc_gettimeofday gettimeofday "/usr/lib/libSystem.B.dylib" // THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT func Getuid() (uid int) { r0, _, _ := syscall_rawSyscall(libc_getuid_trampoline_addr, 0, 0, 0) uid = int(r0) return } var libc_getuid_trampoline_addr uintptr //go:cgo_import_dynamic libc_getuid getuid "/usr/lib/libSystem.B.dylib" // THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT func Issetugid() (tainted bool) { r0, _, _ := syscall_rawSyscall(libc_issetugid_trampoline_addr, 0, 0, 0) tainted = bool(r0 != 0) return } var libc_issetugid_trampoline_addr uintptr //go:cgo_import_dynamic libc_issetugid issetugid "/usr/lib/libSystem.B.dylib" // THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT func Kqueue() (fd int, err error) { r0, _, e1 := syscall_syscall(libc_kqueue_trampoline_addr, 0, 0, 0) fd = int(r0) if e1 != 0 { err = errnoErr(e1) } return } var libc_kqueue_trampoline_addr uintptr //go:cgo_import_dynamic libc_kqueue kqueue "/usr/lib/libSystem.B.dylib" // 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_syscall(libc_lchown_trampoline_addr, uintptr(unsafe.Pointer(_p0)), uintptr(uid), uintptr(gid)) if e1 != 0 { err = errnoErr(e1) } return } var libc_lchown_trampoline_addr uintptr //go:cgo_import_dynamic libc_lchown lchown "/usr/lib/libSystem.B.dylib" // 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_syscall(libc_link_trampoline_addr, uintptr(unsafe.Pointer(_p0)), uintptr(unsafe.Pointer(_p1)), 0) if e1 != 0 { err = errnoErr(e1) } return } var libc_link_trampoline_addr uintptr //go:cgo_import_dynamic libc_link link "/usr/lib/libSystem.B.dylib" // THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT func Linkat(pathfd int, path string, linkfd int, link string, flags int) (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_syscall6(libc_linkat_trampoline_addr, uintptr(pathfd), uintptr(unsafe.Pointer(_p0)), uintptr(linkfd), uintptr(unsafe.Pointer(_p1)), uintptr(flags), 0) if e1 != 0 { err = errnoErr(e1) } return } var libc_linkat_trampoline_addr uintptr //go:cgo_import_dynamic libc_linkat linkat "/usr/lib/libSystem.B.dylib" // THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT func Listen(s int, backlog int) (err error) { _, _, e1 := syscall_syscall(libc_listen_trampoline_addr, uintptr(s), uintptr(backlog), 0) if e1 != 0 { err = errnoErr(e1) } return } var libc_listen_trampoline_addr uintptr //go:cgo_import_dynamic libc_listen listen "/usr/lib/libSystem.B.dylib" // 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_syscall(libc_mkdir_trampoline_addr, uintptr(unsafe.Pointer(_p0)), uintptr(mode), 0) if e1 != 0 { err = errnoErr(e1) } return } var libc_mkdir_trampoline_addr uintptr //go:cgo_import_dynamic libc_mkdir mkdir "/usr/lib/libSystem.B.dylib" // 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_syscall(libc_mkdirat_trampoline_addr, uintptr(dirfd), uintptr(unsafe.Pointer(_p0)), uintptr(mode)) if e1 != 0 { err = errnoErr(e1) } return } var libc_mkdirat_trampoline_addr uintptr //go:cgo_import_dynamic libc_mkdirat mkdirat "/usr/lib/libSystem.B.dylib" // 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_syscall(libc_mkfifo_trampoline_addr, uintptr(unsafe.Pointer(_p0)), uintptr(mode), 0) if e1 != 0 { err = errnoErr(e1) } return } var libc_mkfifo_trampoline_addr uintptr //go:cgo_import_dynamic libc_mkfifo mkfifo "/usr/lib/libSystem.B.dylib" // 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_syscall(libc_mknod_trampoline_addr, uintptr(unsafe.Pointer(_p0)), uintptr(mode), uintptr(dev)) if e1 != 0 { err = errnoErr(e1) } return } var libc_mknod_trampoline_addr uintptr //go:cgo_import_dynamic libc_mknod mknod "/usr/lib/libSystem.B.dylib" // THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT func Mount(fsType string, dir string, flags int, data unsafe.Pointer) (err error) { var _p0 *byte _p0, err = BytePtrFromString(fsType) if err != nil { return } var _p1 *byte _p1, err = BytePtrFromString(dir) if err != nil { return } _, _, e1 := syscall_syscall6(libc_mount_trampoline_addr, uintptr(unsafe.Pointer(_p0)), uintptr(unsafe.Pointer(_p1)), uintptr(flags), uintptr(data), 0, 0) if e1 != 0 { err = errnoErr(e1) } return } var libc_mount_trampoline_addr uintptr //go:cgo_import_dynamic libc_mount mount "/usr/lib/libSystem.B.dylib" // 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_syscall(libc_open_trampoline_addr, uintptr(unsafe.Pointer(_p0)), uintptr(mode), uintptr(perm)) fd = int(r0) if e1 != 0 { err = errnoErr(e1) } return } var libc_open_trampoline_addr uintptr //go:cgo_import_dynamic libc_open open "/usr/lib/libSystem.B.dylib" // THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT func Openat(dirfd int, path string, mode int, perm uint32) (fd int, err error) { var _p0 *byte _p0, err = BytePtrFromString(path) if err != nil { return } r0, _, e1 := syscall_syscall6(libc_openat_trampoline_addr, uintptr(dirfd), uintptr(unsafe.Pointer(_p0)), uintptr(mode), uintptr(perm), 0, 0) fd = int(r0) if e1 != 0 { err = errnoErr(e1) } return } var libc_openat_trampoline_addr uintptr //go:cgo_import_dynamic libc_openat openat "/usr/lib/libSystem.B.dylib" // 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_syscall(libc_pathconf_trampoline_addr, uintptr(unsafe.Pointer(_p0)), uintptr(name), 0) val = int(r0) if e1 != 0 { err = errnoErr(e1) } return } var libc_pathconf_trampoline_addr uintptr //go:cgo_import_dynamic libc_pathconf pathconf "/usr/lib/libSystem.B.dylib" // 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 := syscall_syscall6(libc_pread_trampoline_addr, uintptr(fd), uintptr(_p0), uintptr(len(p)), uintptr(offset), 0, 0) n = int(r0) if e1 != 0 { err = errnoErr(e1) } return } var libc_pread_trampoline_addr uintptr //go:cgo_import_dynamic libc_pread pread "/usr/lib/libSystem.B.dylib" // 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 := syscall_syscall6(libc_pwrite_trampoline_addr, uintptr(fd), uintptr(_p0), uintptr(len(p)), uintptr(offset), 0, 0) n = int(r0) if e1 != 0 { err = errnoErr(e1) } return } var libc_pwrite_trampoline_addr uintptr //go:cgo_import_dynamic libc_pwrite pwrite "/usr/lib/libSystem.B.dylib" // 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_syscall(libc_read_trampoline_addr, uintptr(fd), uintptr(_p0), uintptr(len(p))) n = int(r0) if e1 != 0 { err = errnoErr(e1) } return } var libc_read_trampoline_addr uintptr //go:cgo_import_dynamic libc_read read "/usr/lib/libSystem.B.dylib" // 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_syscall(libc_readlink_trampoline_addr, uintptr(unsafe.Pointer(_p0)), uintptr(_p1), uintptr(len(buf))) n = int(r0) if e1 != 0 { err = errnoErr(e1) } return } var libc_readlink_trampoline_addr uintptr //go:cgo_import_dynamic libc_readlink readlink "/usr/lib/libSystem.B.dylib" // 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 := syscall_syscall6(libc_readlinkat_trampoline_addr, uintptr(dirfd), uintptr(unsafe.Pointer(_p0)), uintptr(_p1), uintptr(len(buf)), 0, 0) n = int(r0) if e1 != 0 { err = errnoErr(e1) } return } var libc_readlinkat_trampoline_addr uintptr //go:cgo_import_dynamic libc_readlinkat readlinkat "/usr/lib/libSystem.B.dylib" // 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_syscall(libc_rename_trampoline_addr, uintptr(unsafe.Pointer(_p0)), uintptr(unsafe.Pointer(_p1)), 0) if e1 != 0 { err = errnoErr(e1) } return } var libc_rename_trampoline_addr uintptr //go:cgo_import_dynamic libc_rename rename "/usr/lib/libSystem.B.dylib" // THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT func Renameat(fromfd int, from string, tofd int, 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_syscall6(libc_renameat_trampoline_addr, uintptr(fromfd), uintptr(unsafe.Pointer(_p0)), uintptr(tofd), uintptr(unsafe.Pointer(_p1)), 0, 0) if e1 != 0 { err = errnoErr(e1) } return } var libc_renameat_trampoline_addr uintptr //go:cgo_import_dynamic libc_renameat renameat "/usr/lib/libSystem.B.dylib" // 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_syscall(libc_revoke_trampoline_addr, uintptr(unsafe.Pointer(_p0)), 0, 0) if e1 != 0 { err = errnoErr(e1) } return } var libc_revoke_trampoline_addr uintptr //go:cgo_import_dynamic libc_revoke revoke "/usr/lib/libSystem.B.dylib" // 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_syscall(libc_rmdir_trampoline_addr, uintptr(unsafe.Pointer(_p0)), 0, 0) if e1 != 0 { err = errnoErr(e1) } return } var libc_rmdir_trampoline_addr uintptr //go:cgo_import_dynamic libc_rmdir rmdir "/usr/lib/libSystem.B.dylib" // 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_syscall(libc_lseek_trampoline_addr, uintptr(fd), uintptr(offset), uintptr(whence)) newoffset = int64(r0) if e1 != 0 { err = errnoErr(e1) } return } var libc_lseek_trampoline_addr uintptr //go:cgo_import_dynamic libc_lseek lseek "/usr/lib/libSystem.B.dylib" // 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 := syscall_syscall6(libc_select_trampoline_addr, 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 } var libc_select_trampoline_addr uintptr //go:cgo_import_dynamic libc_select select "/usr/lib/libSystem.B.dylib" // THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT func Setattrlist(path string, attrlist *Attrlist, attrBuf []byte, options int) (err error) { var _p0 *byte _p0, err = BytePtrFromString(path) if err != nil { return } var _p1 unsafe.Pointer if len(attrBuf) > 0 { _p1 = unsafe.Pointer(&attrBuf[0]) } else { _p1 = unsafe.Pointer(&_zero) } _, _, e1 := syscall_syscall6(libc_setattrlist_trampoline_addr, uintptr(unsafe.Pointer(_p0)), uintptr(unsafe.Pointer(attrlist)), uintptr(_p1), uintptr(len(attrBuf)), uintptr(options), 0) if e1 != 0 { err = errnoErr(e1) } return } var libc_setattrlist_trampoline_addr uintptr //go:cgo_import_dynamic libc_setattrlist setattrlist "/usr/lib/libSystem.B.dylib" // THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT func Setegid(egid int) (err error) { _, _, e1 := syscall_syscall(libc_setegid_trampoline_addr, uintptr(egid), 0, 0) if e1 != 0 { err = errnoErr(e1) } return } var libc_setegid_trampoline_addr uintptr //go:cgo_import_dynamic libc_setegid setegid "/usr/lib/libSystem.B.dylib" // THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT func Seteuid(euid int) (err error) { _, _, e1 := syscall_rawSyscall(libc_seteuid_trampoline_addr, uintptr(euid), 0, 0) if e1 != 0 { err = errnoErr(e1) } return } var libc_seteuid_trampoline_addr uintptr //go:cgo_import_dynamic libc_seteuid seteuid "/usr/lib/libSystem.B.dylib" // THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT func Setgid(gid int) (err error) { _, _, e1 := syscall_rawSyscall(libc_setgid_trampoline_addr, uintptr(gid), 0, 0) if e1 != 0 { err = errnoErr(e1) } return } var libc_setgid_trampoline_addr uintptr //go:cgo_import_dynamic libc_setgid setgid "/usr/lib/libSystem.B.dylib" // 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_syscall(libc_setlogin_trampoline_addr, uintptr(unsafe.Pointer(_p0)), 0, 0) if e1 != 0 { err = errnoErr(e1) } return } var libc_setlogin_trampoline_addr uintptr //go:cgo_import_dynamic libc_setlogin setlogin "/usr/lib/libSystem.B.dylib" // THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT func Setpgid(pid int, pgid int) (err error) { _, _, e1 := syscall_rawSyscall(libc_setpgid_trampoline_addr, uintptr(pid), uintptr(pgid), 0) if e1 != 0 { err = errnoErr(e1) } return } var libc_setpgid_trampoline_addr uintptr //go:cgo_import_dynamic libc_setpgid setpgid "/usr/lib/libSystem.B.dylib" // 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_syscall(libc_setpriority_trampoline_addr, uintptr(which), uintptr(who), uintptr(prio)) if e1 != 0 { err = errnoErr(e1) } return } var libc_setpriority_trampoline_addr uintptr //go:cgo_import_dynamic libc_setpriority setpriority "/usr/lib/libSystem.B.dylib" // THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT func Setprivexec(flag int) (err error) { _, _, e1 := syscall_syscall(libc_setprivexec_trampoline_addr, uintptr(flag), 0, 0) if e1 != 0 { err = errnoErr(e1) } return } var libc_setprivexec_trampoline_addr uintptr //go:cgo_import_dynamic libc_setprivexec setprivexec "/usr/lib/libSystem.B.dylib" // THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT func Setregid(rgid int, egid int) (err error) { _, _, e1 := syscall_rawSyscall(libc_setregid_trampoline_addr, uintptr(rgid), uintptr(egid), 0) if e1 != 0 { err = errnoErr(e1) } return } var libc_setregid_trampoline_addr uintptr //go:cgo_import_dynamic libc_setregid setregid "/usr/lib/libSystem.B.dylib" // THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT func Setreuid(ruid int, euid int) (err error) { _, _, e1 := syscall_rawSyscall(libc_setreuid_trampoline_addr, uintptr(ruid), uintptr(euid), 0) if e1 != 0 { err = errnoErr(e1) } return } var libc_setreuid_trampoline_addr uintptr //go:cgo_import_dynamic libc_setreuid setreuid "/usr/lib/libSystem.B.dylib" // THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT func Setsid() (pid int, err error) { r0, _, e1 := syscall_rawSyscall(libc_setsid_trampoline_addr, 0, 0, 0) pid = int(r0) if e1 != 0 { err = errnoErr(e1) } return } var libc_setsid_trampoline_addr uintptr //go:cgo_import_dynamic libc_setsid setsid "/usr/lib/libSystem.B.dylib" // THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT func Settimeofday(tp *Timeval) (err error) { _, _, e1 := syscall_rawSyscall(libc_settimeofday_trampoline_addr, uintptr(unsafe.Pointer(tp)), 0, 0) if e1 != 0 { err = errnoErr(e1) } return } var libc_settimeofday_trampoline_addr uintptr //go:cgo_import_dynamic libc_settimeofday settimeofday "/usr/lib/libSystem.B.dylib" // THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT func Setuid(uid int) (err error) { _, _, e1 := syscall_rawSyscall(libc_setuid_trampoline_addr, uintptr(uid), 0, 0) if e1 != 0 { err = errnoErr(e1) } return } var libc_setuid_trampoline_addr uintptr //go:cgo_import_dynamic libc_setuid setuid "/usr/lib/libSystem.B.dylib" // 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_syscall(libc_symlink_trampoline_addr, uintptr(unsafe.Pointer(_p0)), uintptr(unsafe.Pointer(_p1)), 0) if e1 != 0 { err = errnoErr(e1) } return } var libc_symlink_trampoline_addr uintptr //go:cgo_import_dynamic libc_symlink symlink "/usr/lib/libSystem.B.dylib" // 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_syscall(libc_symlinkat_trampoline_addr, uintptr(unsafe.Pointer(_p0)), uintptr(newdirfd), uintptr(unsafe.Pointer(_p1))) if e1 != 0 { err = errnoErr(e1) } return } var libc_symlinkat_trampoline_addr uintptr //go:cgo_import_dynamic libc_symlinkat symlinkat "/usr/lib/libSystem.B.dylib" // THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT func Sync() (err error) { _, _, e1 := syscall_syscall(libc_sync_trampoline_addr, 0, 0, 0) if e1 != 0 { err = errnoErr(e1) } return } var libc_sync_trampoline_addr uintptr //go:cgo_import_dynamic libc_sync sync "/usr/lib/libSystem.B.dylib" // 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_syscall(libc_truncate_trampoline_addr, uintptr(unsafe.Pointer(_p0)), uintptr(length), 0) if e1 != 0 { err = errnoErr(e1) } return } var libc_truncate_trampoline_addr uintptr //go:cgo_import_dynamic libc_truncate truncate "/usr/lib/libSystem.B.dylib" // THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT func Umask(newmask int) (oldmask int) { r0, _, _ := syscall_syscall(libc_umask_trampoline_addr, uintptr(newmask), 0, 0) oldmask = int(r0) return } var libc_umask_trampoline_addr uintptr //go:cgo_import_dynamic libc_umask umask "/usr/lib/libSystem.B.dylib" // 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_syscall(libc_undelete_trampoline_addr, uintptr(unsafe.Pointer(_p0)), 0, 0) if e1 != 0 { err = errnoErr(e1) } return } var libc_undelete_trampoline_addr uintptr //go:cgo_import_dynamic libc_undelete undelete "/usr/lib/libSystem.B.dylib" // 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_syscall(libc_unlink_trampoline_addr, uintptr(unsafe.Pointer(_p0)), 0, 0) if e1 != 0 { err = errnoErr(e1) } return } var libc_unlink_trampoline_addr uintptr //go:cgo_import_dynamic libc_unlink unlink "/usr/lib/libSystem.B.dylib" // 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_syscall(libc_unlinkat_trampoline_addr, uintptr(dirfd), uintptr(unsafe.Pointer(_p0)), uintptr(flags)) if e1 != 0 { err = errnoErr(e1) } return } var libc_unlinkat_trampoline_addr uintptr //go:cgo_import_dynamic libc_unlinkat unlinkat "/usr/lib/libSystem.B.dylib" // 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_syscall(libc_unmount_trampoline_addr, uintptr(unsafe.Pointer(_p0)), uintptr(flags), 0) if e1 != 0 { err = errnoErr(e1) } return } var libc_unmount_trampoline_addr uintptr //go:cgo_import_dynamic libc_unmount unmount "/usr/lib/libSystem.B.dylib" // 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_syscall(libc_write_trampoline_addr, uintptr(fd), uintptr(_p0), uintptr(len(p))) n = int(r0) if e1 != 0 { err = errnoErr(e1) } return } var libc_write_trampoline_addr uintptr //go:cgo_import_dynamic libc_write write "/usr/lib/libSystem.B.dylib" // 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 := syscall_syscall6(libc_mmap_trampoline_addr, uintptr(addr), uintptr(length), uintptr(prot), uintptr(flag), uintptr(fd), uintptr(pos)) ret = uintptr(r0) if e1 != 0 { err = errnoErr(e1) } return } var libc_mmap_trampoline_addr uintptr //go:cgo_import_dynamic libc_mmap mmap "/usr/lib/libSystem.B.dylib" // THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT func munmap(addr uintptr, length uintptr) (err error) { _, _, e1 := syscall_syscall(libc_munmap_trampoline_addr, uintptr(addr), uintptr(length), 0) if e1 != 0 { err = errnoErr(e1) } return } var libc_munmap_trampoline_addr uintptr //go:cgo_import_dynamic libc_munmap munmap "/usr/lib/libSystem.B.dylib" // THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT func Fstat(fd int, stat *Stat_t) (err error) { _, _, e1 := syscall_syscall(libc_fstat64_trampoline_addr, uintptr(fd), uintptr(unsafe.Pointer(stat)), 0) if e1 != 0 { err = errnoErr(e1) } return } var libc_fstat64_trampoline_addr uintptr //go:cgo_import_dynamic libc_fstat64 fstat64 "/usr/lib/libSystem.B.dylib" // 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 := syscall_syscall6(libc_fstatat64_trampoline_addr, uintptr(fd), uintptr(unsafe.Pointer(_p0)), uintptr(unsafe.Pointer(stat)), uintptr(flags), 0, 0) if e1 != 0 { err = errnoErr(e1) } return } var libc_fstatat64_trampoline_addr uintptr //go:cgo_import_dynamic libc_fstatat64 fstatat64 "/usr/lib/libSystem.B.dylib" // THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT func Fstatfs(fd int, stat *Statfs_t) (err error) { _, _, e1 := syscall_syscall(libc_fstatfs64_trampoline_addr, uintptr(fd), uintptr(unsafe.Pointer(stat)), 0) if e1 != 0 { err = errnoErr(e1) } return } var libc_fstatfs64_trampoline_addr uintptr //go:cgo_import_dynamic libc_fstatfs64 fstatfs64 "/usr/lib/libSystem.B.dylib" // THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT func getfsstat(buf unsafe.Pointer, size uintptr, flags int) (n int, err error) { r0, _, e1 := syscall_syscall(libc_getfsstat64_trampoline_addr, uintptr(buf), uintptr(size), uintptr(flags)) n = int(r0) if e1 != 0 { err = errnoErr(e1) } return } var libc_getfsstat64_trampoline_addr uintptr //go:cgo_import_dynamic libc_getfsstat64 getfsstat64 "/usr/lib/libSystem.B.dylib" // 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_syscall(libc_lstat64_trampoline_addr, uintptr(unsafe.Pointer(_p0)), uintptr(unsafe.Pointer(stat)), 0) if e1 != 0 { err = errnoErr(e1) } return } var libc_lstat64_trampoline_addr uintptr //go:cgo_import_dynamic libc_lstat64 lstat64 "/usr/lib/libSystem.B.dylib" // THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT func ptrace1(request int, pid int, addr uintptr, data uintptr) (err error) { _, _, e1 := syscall_syscall6(libc_ptrace_trampoline_addr, uintptr(request), uintptr(pid), uintptr(addr), uintptr(data), 0, 0) if e1 != 0 { err = errnoErr(e1) } return } var libc_ptrace_trampoline_addr uintptr //go:cgo_import_dynamic libc_ptrace ptrace "/usr/lib/libSystem.B.dylib" // 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_syscall(libc_stat64_trampoline_addr, uintptr(unsafe.Pointer(_p0)), uintptr(unsafe.Pointer(stat)), 0) if e1 != 0 { err = errnoErr(e1) } return } var libc_stat64_trampoline_addr uintptr //go:cgo_import_dynamic libc_stat64 stat64 "/usr/lib/libSystem.B.dylib" // 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_syscall(libc_statfs64_trampoline_addr, uintptr(unsafe.Pointer(_p0)), uintptr(unsafe.Pointer(stat)), 0) if e1 != 0 { err = errnoErr(e1) } return } var libc_statfs64_trampoline_addr uintptr //go:cgo_import_dynamic libc_statfs64 statfs64 "/usr/lib/libSystem.B.dylib" dependencies/pkg/mod/golang.org/x/sys@v0.26.0/unix/zsysctl_openbsd_arm.go0000644000000000000000000002767215107355264025242 0ustar rootroot// go run mksysctl_openbsd.go // Code generated by the command above; DO NOT EDIT. //go:build arm && openbsd 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.profile", []_C_int{9, 9}}, {"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.ncpuonline", []_C_int{6, 25}}, {"hw.pagesize", []_C_int{6, 7}}, {"hw.perfpolicy", []_C_int{6, 23}}, {"hw.physmem", []_C_int{6, 19}}, {"hw.power", []_C_int{6, 26}}, {"hw.product", []_C_int{6, 15}}, {"hw.serialno", []_C_int{6, 17}}, {"hw.setperf", []_C_int{6, 13}}, {"hw.smt", []_C_int{6, 24}}, {"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.allowdt", []_C_int{1, 65}}, {"kern.allowkmem", []_C_int{1, 52}}, {"kern.argmax", []_C_int{1, 8}}, {"kern.audio", []_C_int{1, 84}}, {"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.consbuf", []_C_int{1, 83}}, {"kern.consbufsize", []_C_int{1, 82}}, {"kern.consdev", []_C_int{1, 75}}, {"kern.cp_time", []_C_int{1, 40}}, {"kern.cp_time2", []_C_int{1, 71}}, {"kern.cpustats", []_C_int{1, 85}}, {"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.global_ptrace", []_C_int{1, 81}}, {"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.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.pfstatus", []_C_int{1, 86}}, {"kern.pool_debug", []_C_int{1, 77}}, {"kern.posix1version", []_C_int{1, 17}}, {"kern.proc", []_C_int{1, 66}}, {"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.timeout_stats", []_C_int{1, 87}}, {"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.utc_offset", []_C_int{1, 88}}, {"kern.version", []_C_int{1, 4}}, {"kern.video", []_C_int{1, 89}}, {"kern.watchdog.auto", []_C_int{1, 64, 2}}, {"kern.watchdog.period", []_C_int{1, 64, 1}}, {"kern.witnesswatch", []_C_int{1, 53}}, {"kern.wxabort", []_C_int{1, 74}}, {"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.arpdown", []_C_int{4, 2, 0, 40}}, {"net.inet.ip.arpqueued", []_C_int{4, 2, 0, 36}}, {"net.inet.ip.arptimeout", []_C_int{4, 2, 0, 39}}, {"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.mrtmfc", []_C_int{4, 2, 0, 37}}, {"net.inet.ip.mrtproto", []_C_int{4, 2, 0, 34}}, {"net.inet.ip.mrtstats", []_C_int{4, 2, 0, 35}}, {"net.inet.ip.mrtvif", []_C_int{4, 2, 0, 38}}, {"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.pfsync.stats", []_C_int{4, 2, 240, 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.rootonly", []_C_int{4, 2, 6, 24}}, {"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.tcp.synhashsize", []_C_int{4, 2, 6, 25}}, {"net.inet.tcp.synuselimit", []_C_int{4, 2, 6, 23}}, {"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.rootonly", []_C_int{4, 2, 17, 6}}, {"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_umaxtries", []_C_int{4, 24, 30, 9}}, {"net.inet6.icmp6.redirtimeout", []_C_int{4, 24, 30, 3}}, {"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.mforwarding", []_C_int{4, 24, 17, 42}}, {"net.inet6.ip6.mrtmfc", []_C_int{4, 24, 17, 53}}, {"net.inet6.ip6.mrtmif", []_C_int{4, 24, 17, 52}}, {"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.soiikey", []_C_int{4, 24, 17, 54}}, {"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.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.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.malloc_conf", []_C_int{2, 12}}, {"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}}, } dependencies/pkg/mod/golang.org/x/sys@v0.26.0/unix/types_dragonfly.go0000644000000000000000000001256615107355264024363 0ustar rootroot// 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. //go: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 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.struct_fsid // File system limits const ( PathMax = C.PATH_MAX ) // 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 SizeofIovec = C.sizeof_struct_iovec 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 type Winsize C.struct_winsize // fchmodat-like syscalls. const ( AT_FDCWD = C.AT_FDCWD AT_SYMLINK_NOFOLLOW = C.AT_SYMLINK_NOFOLLOW AT_REMOVEDIR = C.AT_REMOVEDIR AT_EACCESS = C.AT_EACCESS AT_SYMLINK_FOLLOW = C.AT_SYMLINK_FOLLOW ) // poll type PollFd C.struct_pollfd const ( POLLERR = C.POLLERR POLLHUP = C.POLLHUP POLLIN = C.POLLIN POLLNVAL = C.POLLNVAL POLLOUT = C.POLLOUT POLLPRI = C.POLLPRI POLLRDBAND = C.POLLRDBAND POLLRDNORM = C.POLLRDNORM POLLWRBAND = C.POLLWRBAND POLLWRNORM = C.POLLWRNORM ) // Uname type Utsname C.struct_utsname // Clockinfo const SizeofClockinfo = C.sizeof_struct_clockinfo type Clockinfo C.struct_clockinfo dependencies/pkg/mod/golang.org/x/sys@v0.26.0/unix/mkerrors.sh0000644000000000000000000005034315107355264023016 0ustar rootroot#!/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" = "linux" ]] && [[ "$GOLANG_SYS_BUILD" != "docker" ]]; then echo 1>&2 "In the Docker based build system, mkerrors should not be called directly." echo 1>&2 "See README.md" exit 1 fi if [[ "$GOOS" = "aix" ]]; then CC=${CC:-gcc} else CC=${CC:-cc} fi if [[ "$GOOS" = "solaris" ]]; then # Assumes GNU versions of utilities in PATH. export PATH=/usr/gnu/bin:$PATH fi uname=$(uname) includes_AIX=' #include #include #include #include #include #include #include #include #include #include #include #define AF_LOCAL AF_UNIX ' includes_Darwin=' #define _DARWIN_C_SOURCE #define KERNEL 1 #define _DARWIN_USE_64_BIT_INODE #define __APPLE_USE_RFC_3542 #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 // for backwards compatibility because moved TIOCREMOTE to Kernel.framework after MacOSX12.0.sdk. #define TIOCREMOTE 0x80047469 ' includes_DragonFly=' #include #include #include #include #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 #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 #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 #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #if defined(__sparc__) // On sparc{,64}, the kernel defines struct termios2 itself which clashes with the // definition in glibc. As only the error constants are needed here, include the // generic termibits.h (which is included by termbits.h on sparc). #include #else #include #endif #ifndef PTRACE_GETREGS #define PTRACE_GETREGS 0xc #endif #ifndef PTRACE_SETREGS #define PTRACE_SETREGS 0xd #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 // The code generator produces -0x1 for (~0), but an unsigned value is necessary // for the tipc_subscr timeout __u32 field. #undef TIPC_WAIT_FOREVER #define TIPC_WAIT_FOREVER 0xffffffff // Copied from linux/netfilter/nf_nat.h // Including linux/netfilter/nf_nat.h here causes conflicts between linux/in.h // and netinet/in.h. #define NF_NAT_RANGE_MAP_IPS (1 << 0) #define NF_NAT_RANGE_PROTO_SPECIFIED (1 << 1) #define NF_NAT_RANGE_PROTO_RANDOM (1 << 2) #define NF_NAT_RANGE_PERSISTENT (1 << 3) #define NF_NAT_RANGE_PROTO_RANDOM_FULLY (1 << 4) #define NF_NAT_RANGE_PROTO_OFFSET (1 << 5) #define NF_NAT_RANGE_NETMAP (1 << 6) #define NF_NAT_RANGE_PROTO_RANDOM_ALL \ (NF_NAT_RANGE_PROTO_RANDOM | NF_NAT_RANGE_PROTO_RANDOM_FULLY) #define NF_NAT_RANGE_MASK \ (NF_NAT_RANGE_MAP_IPS | NF_NAT_RANGE_PROTO_SPECIFIED | \ NF_NAT_RANGE_PROTO_RANDOM | NF_NAT_RANGE_PERSISTENT | \ NF_NAT_RANGE_PROTO_RANDOM_FULLY | NF_NAT_RANGE_PROTO_OFFSET | \ NF_NAT_RANGE_NETMAP) // Copied from linux/hid.h. // Keep in sync with the size of the referenced fields. #define _HIDIOCGRAWNAME_LEN 128 // sizeof_field(struct hid_device, name) #define _HIDIOCGRAWPHYS_LEN 64 // sizeof_field(struct hid_device, phys) #define _HIDIOCGRAWUNIQ_LEN 64 // sizeof_field(struct hid_device, uniq) #define _HIDIOCGRAWNAME HIDIOCGRAWNAME(_HIDIOCGRAWNAME_LEN) #define _HIDIOCGRAWPHYS HIDIOCGRAWPHYS(_HIDIOCGRAWPHYS_LEN) #define _HIDIOCGRAWUNIQ HIDIOCGRAWUNIQ(_HIDIOCGRAWUNIQ_LEN) ' includes_NetBSD=' #include #include #include #include #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 #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 #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 !~ /^ECCAPBITS/ && $2 !~ /^ETH_/ && $2 !~ /^EPROC_/ && $2 !~ /^EQUIV_/ && $2 !~ /^EXPR_/ && $2 !~ /^EVIOC/ && $2 ~ /^E[A-Z0-9_]+$/ || $2 ~ /^B[0-9_]+$/ || $2 ~ /^(OLD|NEW)DEV$/ || $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 !~ "X86_CR3_PCID_NOFLUSH" && $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 == "NFDBITS" || $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 ~ /^KCM/ || $2 ~ /^LANDLOCK_/ || $2 ~ /^LOCK_(SH|EX|NB|UN)$/ || $2 ~ /^LO_(KEY|NAME)_SIZE$/ || $2 ~ /^LOOP_(CLR|CTL|GET|SET)_/ || $2 == "LOOP_CONFIGURE" || $2 ~ /^(AF|SOCK|SO|SOL|IPPROTO|IP|IPV6|TCP|MCAST|EVFILT|NOTE|SHUT|PROT|MAP|MREMAP|MFD|T?PACKET|MSG|SCM|MCL|DT|MADV|PR|LOCAL|TCPOPT|UDP)_/ || $2 ~ /^NFC_(GENL|PROTO|COMM|RF|SE|DIRECTION|LLCP|SOCKPROTO)_/ || $2 ~ /^NFC_.*_(MAX)?SIZE$/ || $2 ~ /^RAW_PAYLOAD_/ || $2 ~ /^[US]F_/ || $2 ~ /^TP_STATUS_/ || $2 ~ /^FALLOC_/ || $2 ~ /^ICMPV?6?_(FILTER|SEC)/ || $2 == "SOMAXCONN" || $2 == "NAME_MAX" || $2 == "IFNAMSIZ" || $2 ~ /^CTL_(HW|KERN|MAXNAME|NET|QUERY)$/ || $2 ~ /^KERN_(HOSTNAME|OS(RELEASE|TYPE)|VERSION)$/ || $2 ~ /^HW_MACHINE$/ || $2 ~ /^SYSCTL_VERS/ || $2 !~ "MNT_BITS" && $2 ~ /^(MS|MNT|MOUNT|UMOUNT)_/ || $2 ~ /^NS_GET_/ || $2 ~ /^TUN(SET|GET|ATTACH|DETACH)/ || $2 ~ /^(O|F|[ES]?FD|NAME|S|PTRACE|PT|PIOD|TFD)_/ || $2 ~ /^KEXEC_/ || $2 ~ /^LINUX_REBOOT_CMD_/ || $2 ~ /^LINUX_REBOOT_MAGIC[12]$/ || $2 ~ /^MODULE_INIT_/ || $2 !~ "NLA_TYPE_MASK" && $2 !~ /^RTC_VL_(ACCURACY|BACKUP|DATA)/ && $2 ~ /^(NETLINK|NLM|NLMSG|NLA|IFA|IFAN|RT|RTC|RTCF|RTN|RTPROT|RTNH|ARPHRD|ETH_P|NETNSA)_/ || $2 ~ /^SOCK_|SK_DIAG_|SKNLGRP_$/ || $2 ~ /^(CONNECT|SAE)_/ || $2 ~ /^FIORDCHK$/ || $2 ~ /^SIOC/ || $2 ~ /^TIOC/ || $2 ~ /^TCGET/ || $2 ~ /^TCSET/ || $2 ~ /^TC(FLSH|SBRKP?|XONC)$/ || $2 !~ "RTF_BITS" && $2 ~ /^(IFF|IFT|NET_RT|RTM(GRP)?|RTF|RTV|RTA|RTAX)_/ || $2 ~ /^BIOC/ || $2 ~ /^DIOC/ || $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|BPF_FIB_LOOKUP_[A-Z]+|BPF_F_LINK)$/ && $2 ~ /^(BPF|DLT)_/ || $2 ~ /^AUDIT_/ || $2 ~ /^(CLOCK|TIMER)_/ || $2 ~ /^CAN_/ || $2 ~ /^CAP_/ || $2 ~ /^CP_/ || $2 ~ /^CPUSTATES$/ || $2 ~ /^CTLIOCGINFO$/ || $2 ~ /^ALG_/ || $2 ~ /^FI(CLONE|DEDUPERANGE)/ || $2 ~ /^FS_(POLICY_FLAGS|KEY_DESC|ENCRYPTION_MODE|[A-Z0-9_]+_KEY_SIZE)/ || $2 ~ /^FS_IOC_.*(ENCRYPTION|VERITY|[GS]ETFLAGS)/ || $2 ~ /^FS_VERITY_/ || $2 ~ /^FSCRYPT_/ || $2 ~ /^DM_/ || $2 ~ /^GRND_/ || $2 ~ /^RND/ || $2 ~ /^KEY_(SPEC|REQKEY_DEFL)_/ || $2 ~ /^KEYCTL_/ || $2 ~ /^PERF_/ || $2 ~ /^SECCOMP_/ || $2 ~ /^SEEK_/ || $2 ~ /^SCHED_/ || $2 ~ /^SPLICE_/ || $2 ~ /^SYNC_FILE_RANGE_/ || $2 !~ /IOC_MAGIC/ && $2 ~ /^[A-Z][A-Z0-9_]+_MAGIC2?$/ || $2 ~ /^(VM|VMADDR)_/ || $2 ~ /^IOCTL_VM_SOCKETS_/ || $2 ~ /^(TASKSTATS|TS)_/ || $2 ~ /^CGROUPSTATS_/ || $2 ~ /^GENL_/ || $2 ~ /^STATX_/ || $2 ~ /^RENAME/ || $2 ~ /^UBI_IOC[A-Z]/ || $2 ~ /^UTIME_/ || $2 ~ /^XATTR_(CREATE|REPLACE|NO(DEFAULT|FOLLOW|SECURITY)|SHOWCOMPRESSION)/ || $2 ~ /^ATTR_(BIT_MAP_COUNT|(CMN|VOL|FILE)_)/ || $2 ~ /^FSOPT_/ || $2 ~ /^WDIO[CFS]_/ || $2 ~ /^NFN/ || $2 !~ /^NFT_META_IIFTYPE/ && $2 ~ /^NFT_/ || $2 ~ /^NF_NAT_/ || $2 ~ /^XDP_/ || $2 ~ /^RWF_/ || $2 ~ /^(HDIO|WIN|SMART)_/ || $2 ~ /^CRYPTO_/ || $2 ~ /^TIPC_/ || $2 !~ "DEVLINK_RELOAD_LIMITS_VALID_MASK" && $2 ~ /^DEVLINK_/ || $2 ~ /^ETHTOOL_/ || $2 ~ /^LWTUNNEL_IP/ || $2 ~ /^ITIMER_/ || $2 !~ "WMESGLEN" && $2 ~ /^W[A-Z0-9]+$/ || $2 ~ /^P_/ || $2 ~/^PPPIOC/ || $2 ~ /^FAN_|FANOTIFY_/ || $2 == "HID_MAX_DESCRIPTOR_SIZE" || $2 ~ /^_?HIDIOC/ || $2 ~ /^BUS_(USB|HIL|BLUETOOTH|VIRTUAL)$/ || $2 ~ /^MTD/ || $2 ~ /^OTP/ || $2 ~ /^MEM/ || $2 ~ /^WG/ || $2 ~ /^FIB_RULE_/ || $2 ~ /^BLK[A-Z]*(GET$|SET$|BUF$|PART$|SIZE|IOMIN$|IOOPT$|ALIGNOFF$|DISCARD|ROTATIONAL$|ZEROOUT$|GETDISKSEQ$)/ {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 }' | grep -E -v '(SIGSTKSIZE|SIGSTKSZ|SIGRT|SIGMAX64)' | 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]*=" }' | grep -E -v '(SIGSTKSIZE|SIGSTKSZ|SIGRT|SIGMAX64)' | sort >_signal.grep echo '// mkerrors.sh' "$@" echo '// Code generated by the command above; see README.md. DO NOT EDIT.' echo echo "//go: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 struct tuple { int num; const char *name; }; struct tuple errors[] = { " for i in $errors do echo -E ' {'$i', "'$i'" },' done echo -E " }; struct tuple signals[] = { " for i in $signals do echo -E ' {'$i', "'$i'" },' done # Use -E because on some systems bash builtin interprets \n itself. echo -E ' }; static int tuplecmp(const void *a, const void *b) { return ((struct tuple *)a)->num - ((struct tuple *)b)->num; } int main(void) { int i, e; char buf[1024], *p; printf("\n\n// Error table\n"); printf("var errorList = [...]struct {\n"); printf("\tnum syscall.Errno\n"); printf("\tname string\n"); printf("\tdesc string\n"); printf("} {\n"); qsort(errors, nelem(errors), sizeof errors[0], tuplecmp); for(i=0; i 0 && errors[i-1].num == e) continue; strncpy(buf, strerror(e), sizeof(buf) - 1); buf[sizeof(buf) - 1] = '\0'; // 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\", \"%s\" },\n", e, errors[i].name, buf); } printf("}\n\n"); printf("\n\n// Signal table\n"); printf("var signalList = [...]struct {\n"); printf("\tnum syscall.Signal\n"); printf("\tname string\n"); printf("\tdesc string\n"); printf("} {\n"); qsort(signals, nelem(signals), sizeof signals[0], tuplecmp); for(i=0; i 0 && signals[i-1].num == e) continue; strncpy(buf, strsignal(e), sizeof(buf) - 1); buf[sizeof(buf) - 1] = '\0'; // 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\", \"%s\" },\n", e, signals[i].name, 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 dependencies/pkg/mod/golang.org/x/sys@v0.26.0/unix/ztypes_netbsd_arm64.go0000644000000000000000000002323115107355264025047 0ustar rootroot// cgo -godefs types_netbsd.go | go run mkpost.go // Code generated by the command above; see README.md. DO NOT EDIT. //go:build arm64 && 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 _ [4]byte Ino uint64 Nlink uint32 Uid uint32 Gid uint32 _ [4]byte Rdev uint64 Atim Timespec Mtim Timespec Ctim Timespec Btim Timespec Size int64 Blocks int64 Blksize uint32 Flags uint32 Gen uint32 Spare [2]uint32 _ [4]byte } type Statfs_t [0]byte type Statvfs_t struct { Flag uint64 Bsize uint64 Frsize uint64 Iosize uint64 Blocks uint64 Bfree uint64 Bavail uint64 Bresvd uint64 Files uint64 Ffree uint64 Favail uint64 Fresvd uint64 Syncreads uint64 Syncwrites uint64 Asyncreads uint64 Asyncwrites uint64 Fsidx Fsid Fsid uint64 Namemax uint64 Owner uint32 Spare [4]uint32 Fstypename [32]byte Mntonname [1024]byte Mntfromname [1024]byte _ [4]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 } const ( PathMax = 0x400 ) const ( ST_WAIT = 0x1 ST_NOWAIT = 0x2 ) 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 [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 SizeofIovec = 0x10 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 Winsize struct { Row uint16 Col uint16 Xpixel uint16 Ypixel uint16 } type Ptmget struct { Cfd int32 Sfd int32 Cn [1024]byte Sn [1024]byte } const ( AT_FDCWD = -0x64 AT_EACCESS = 0x100 AT_SYMLINK_NOFOLLOW = 0x200 AT_SYMLINK_FOLLOW = 0x400 AT_REMOVEDIR = 0x800 ) type PollFd struct { Fd int32 Events int16 Revents int16 } const ( POLLERR = 0x8 POLLHUP = 0x10 POLLIN = 0x1 POLLNVAL = 0x20 POLLOUT = 0x4 POLLPRI = 0x2 POLLRDBAND = 0x80 POLLRDNORM = 0x40 POLLWRBAND = 0x100 POLLWRNORM = 0x4 ) 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 } type Utsname struct { Sysname [256]byte Nodename [256]byte Release [256]byte Version [256]byte Machine [256]byte } const SizeofUvmexp = 0x278 type Uvmexp struct { Pagesize int64 Pagemask int64 Pageshift int64 Npages int64 Free int64 Active int64 Inactive int64 Paging int64 Wired int64 Zeropages int64 Reserve_pagedaemon int64 Reserve_kernel int64 Freemin int64 Freetarg int64 Inactarg int64 Wiredmax int64 Nswapdev int64 Swpages int64 Swpginuse int64 Swpgonly int64 Nswget int64 Unused1 int64 Cpuhit int64 Cpumiss int64 Faults int64 Traps int64 Intrs int64 Swtch int64 Softs int64 Syscalls int64 Pageins int64 Swapins int64 Swapouts int64 Pgswapin int64 Pgswapout int64 Forks int64 Forks_ppwait int64 Forks_sharevm int64 Pga_zerohit int64 Pga_zeromiss int64 Zeroaborts int64 Fltnoram int64 Fltnoanon int64 Fltpgwait int64 Fltpgrele int64 Fltrelck int64 Fltrelckok int64 Fltanget int64 Fltanretry int64 Fltamcopy int64 Fltnamap int64 Fltnomap int64 Fltlget int64 Fltget int64 Flt_anon int64 Flt_acow int64 Flt_obj int64 Flt_prcopy int64 Flt_przero int64 Pdwoke int64 Pdrevs int64 Unused4 int64 Pdfreed int64 Pdscans int64 Pdanscan int64 Pdobscan int64 Pdreact int64 Pdbusy int64 Pdpageouts int64 Pdpending int64 Pddeact int64 Anonpages int64 Filepages int64 Execpages int64 Colorhit int64 Colormiss int64 Ncolors int64 Bootpages int64 Poolpages int64 } const SizeofClockinfo = 0x14 type Clockinfo struct { Hz int32 Tick int32 Tickadj int32 Stathz int32 Profhz int32 } dependencies/pkg/mod/golang.org/x/sys@v0.26.0/unix/dev_linux.go0000644000000000000000000000305315107355264023136 0ustar rootroot// Copyright 2017 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. // Functions to access/create device major and minor numbers matching the // encoding used by the Linux kernel and glibc. // // The information below is extracted and adapted from bits/sysmacros.h in the // glibc sources: // // dev_t in glibc is 64-bit, with 32-bit major and minor numbers. glibc's // default encoding is MMMM Mmmm mmmM MMmm, where M is a hex digit of the major // number and m is a hex digit of the minor number. This is backward compatible // with legacy systems where dev_t is 16 bits wide, encoded as MMmm. It is also // backward compatible with the Linux kernel, which for some architectures uses // 32-bit dev_t, encoded as mmmM MMmm. package unix // Major returns the major component of a Linux device number. func Major(dev uint64) uint32 { major := uint32((dev & 0x00000000000fff00) >> 8) major |= uint32((dev & 0xfffff00000000000) >> 32) return major } // Minor returns the minor component of a Linux device number. func Minor(dev uint64) uint32 { minor := uint32((dev & 0x00000000000000ff) >> 0) minor |= uint32((dev & 0x00000ffffff00000) >> 12) return minor } // Mkdev returns a Linux device number generated from the given major and minor // components. func Mkdev(major, minor uint32) uint64 { dev := (uint64(major) & 0x00000fff) << 8 dev |= (uint64(major) & 0xfffff000) << 32 dev |= (uint64(minor) & 0x000000ff) << 0 dev |= (uint64(minor) & 0xffffff00) << 12 return dev } dependencies/pkg/mod/golang.org/x/sys@v0.26.0/unix/syscall_netbsd_arm.go0000644000000000000000000000146315107355264025014 0ustar rootroot// 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. //go:build arm && netbsd package unix func setTimespec(sec, nsec int64) Timespec { return Timespec{Sec: sec, Nsec: int32(nsec)} } func setTimeval(sec, usec int64) Timeval { return Timeval{Sec: sec, Usec: int32(usec)} } 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 (msghdr *Msghdr) SetIovlen(length int) { msghdr.Iovlen = int32(length) } func (cmsg *Cmsghdr) SetLen(length int) { cmsg.Len = uint32(length) } dependencies/pkg/mod/golang.org/x/sys@v0.26.0/unix/asm_zos_s390x.s0000644000000000000000000002625115107355264023424 0ustar rootroot// Copyright 2020 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:build zos && s390x && gc #include "textflag.h" #define PSALAA 1208(R0) #define GTAB64(x) 80(x) #define LCA64(x) 88(x) #define SAVSTACK_ASYNC(x) 336(x) // in the LCA #define CAA(x) 8(x) #define CEECAATHDID(x) 976(x) // in the CAA #define EDCHPXV(x) 1016(x) // in the CAA #define GOCB(x) 1104(x) // in the CAA // SS_*, where x=SAVSTACK_ASYNC #define SS_LE(x) 0(x) #define SS_GO(x) 8(x) #define SS_ERRNO(x) 16(x) #define SS_ERRNOJR(x) 20(x) // Function Descriptor Offsets #define __errno 0x156*16 #define __err2ad 0x16C*16 // Call Instructions #define LE_CALL BYTE $0x0D; BYTE $0x76 // BL R7, R6 #define SVC_LOAD BYTE $0x0A; BYTE $0x08 // SVC 08 LOAD #define SVC_DELETE BYTE $0x0A; BYTE $0x09 // SVC 09 DELETE DATA zosLibVec<>(SB)/8, $0 GLOBL zosLibVec<>(SB), NOPTR, $8 TEXT ·initZosLibVec(SB), NOSPLIT|NOFRAME, $0-0 MOVW PSALAA, R8 MOVD LCA64(R8), R8 MOVD CAA(R8), R8 MOVD EDCHPXV(R8), R8 MOVD R8, zosLibVec<>(SB) RET TEXT ·GetZosLibVec(SB), NOSPLIT|NOFRAME, $0-0 MOVD zosLibVec<>(SB), R8 MOVD R8, ret+0(FP) RET TEXT ·clearErrno(SB), NOSPLIT, $0-0 BL addrerrno<>(SB) MOVD $0, 0(R3) RET // Returns the address of errno in R3. TEXT addrerrno<>(SB), NOSPLIT|NOFRAME, $0-0 // Get library control area (LCA). MOVW PSALAA, R8 MOVD LCA64(R8), R8 // Get __errno FuncDesc. MOVD CAA(R8), R9 MOVD EDCHPXV(R9), R9 ADD $(__errno), R9 LMG 0(R9), R5, R6 // Switch to saved LE stack. MOVD SAVSTACK_ASYNC(R8), R9 MOVD 0(R9), R4 MOVD $0, 0(R9) // Call __errno function. LE_CALL NOPH // Switch back to Go stack. XOR R0, R0 // Restore R0 to $0. MOVD R4, 0(R9) // Save stack pointer. RET // func svcCall(fnptr unsafe.Pointer, argv *unsafe.Pointer, dsa *uint64) TEXT ·svcCall(SB), NOSPLIT, $0 BL runtime·save_g(SB) // Save g and stack pointer MOVW PSALAA, R8 MOVD LCA64(R8), R8 MOVD SAVSTACK_ASYNC(R8), R9 MOVD R15, 0(R9) MOVD argv+8(FP), R1 // Move function arguments into registers MOVD dsa+16(FP), g MOVD fnptr+0(FP), R15 BYTE $0x0D // Branch to function BYTE $0xEF BL runtime·load_g(SB) // Restore g and stack pointer MOVW PSALAA, R8 MOVD LCA64(R8), R8 MOVD SAVSTACK_ASYNC(R8), R9 MOVD 0(R9), R15 RET // func svcLoad(name *byte) unsafe.Pointer TEXT ·svcLoad(SB), NOSPLIT, $0 MOVD R15, R2 // Save go stack pointer MOVD name+0(FP), R0 // Move SVC args into registers MOVD $0x80000000, R1 MOVD $0, R15 SVC_LOAD MOVW R15, R3 // Save return code from SVC MOVD R2, R15 // Restore go stack pointer CMP R3, $0 // Check SVC return code BNE error MOVD $-2, R3 // Reset last bit of entry point to zero AND R0, R3 MOVD R3, ret+8(FP) // Return entry point returned by SVC CMP R0, R3 // Check if last bit of entry point was set BNE done MOVD R15, R2 // Save go stack pointer MOVD $0, R15 // Move SVC args into registers (entry point still in r0 from SVC 08) SVC_DELETE MOVD R2, R15 // Restore go stack pointer error: MOVD $0, ret+8(FP) // Return 0 on failure done: XOR R0, R0 // Reset r0 to 0 RET // func svcUnload(name *byte, fnptr unsafe.Pointer) int64 TEXT ·svcUnload(SB), NOSPLIT, $0 MOVD R15, R2 // Save go stack pointer MOVD name+0(FP), R0 // Move SVC args into registers MOVD fnptr+8(FP), R15 SVC_DELETE XOR R0, R0 // Reset r0 to 0 MOVD R15, R1 // Save SVC return code MOVD R2, R15 // Restore go stack pointer MOVD R1, ret+16(FP) // Return SVC return code RET // func gettid() uint64 TEXT ·gettid(SB), NOSPLIT, $0 // Get library control area (LCA). MOVW PSALAA, R8 MOVD LCA64(R8), R8 // Get CEECAATHDID MOVD CAA(R8), R9 MOVD CEECAATHDID(R9), R9 MOVD R9, ret+0(FP) RET // // Call LE function, if the return is -1 // errno and errno2 is retrieved // TEXT ·CallLeFuncWithErr(SB), NOSPLIT, $0 MOVW PSALAA, R8 MOVD LCA64(R8), R8 MOVD CAA(R8), R9 MOVD g, GOCB(R9) // Restore LE stack. MOVD SAVSTACK_ASYNC(R8), R9 // R9-> LE stack frame saving address MOVD 0(R9), R4 // R4-> restore previously saved stack frame pointer MOVD parms_base+8(FP), R7 // R7 -> argument array MOVD parms_len+16(FP), R8 // R8 number of arguments // arg 1 ---> R1 CMP R8, $0 BEQ docall SUB $1, R8 MOVD 0(R7), R1 // arg 2 ---> R2 CMP R8, $0 BEQ docall SUB $1, R8 ADD $8, R7 MOVD 0(R7), R2 // arg 3 --> R3 CMP R8, $0 BEQ docall SUB $1, R8 ADD $8, R7 MOVD 0(R7), R3 CMP R8, $0 BEQ docall MOVD $2176+16, R6 // starting LE stack address-8 to store 4th argument repeat: ADD $8, R7 MOVD 0(R7), R0 // advance arg pointer by 8 byte ADD $8, R6 // advance LE argument address by 8 byte MOVD R0, (R4)(R6*1) // copy argument from go-slice to le-frame SUB $1, R8 CMP R8, $0 BNE repeat docall: MOVD funcdesc+0(FP), R8 // R8-> function descriptor LMG 0(R8), R5, R6 MOVD $0, 0(R9) // R9 address of SAVSTACK_ASYNC LE_CALL // balr R7, R6 (return #1) NOPH MOVD R3, ret+32(FP) CMP R3, $-1 // compare result to -1 BNE done // retrieve errno and errno2 MOVD zosLibVec<>(SB), R8 ADD $(__errno), R8 LMG 0(R8), R5, R6 LE_CALL // balr R7, R6 __errno (return #3) NOPH MOVWZ 0(R3), R3 MOVD R3, err+48(FP) MOVD zosLibVec<>(SB), R8 ADD $(__err2ad), R8 LMG 0(R8), R5, R6 LE_CALL // balr R7, R6 __err2ad (return #2) NOPH MOVW (R3), R2 // retrieve errno2 MOVD R2, errno2+40(FP) // store in return area done: MOVD R4, 0(R9) // Save stack pointer. RET // // Call LE function, if the return is 0 // errno and errno2 is retrieved // TEXT ·CallLeFuncWithPtrReturn(SB), NOSPLIT, $0 MOVW PSALAA, R8 MOVD LCA64(R8), R8 MOVD CAA(R8), R9 MOVD g, GOCB(R9) // Restore LE stack. MOVD SAVSTACK_ASYNC(R8), R9 // R9-> LE stack frame saving address MOVD 0(R9), R4 // R4-> restore previously saved stack frame pointer MOVD parms_base+8(FP), R7 // R7 -> argument array MOVD parms_len+16(FP), R8 // R8 number of arguments // arg 1 ---> R1 CMP R8, $0 BEQ docall SUB $1, R8 MOVD 0(R7), R1 // arg 2 ---> R2 CMP R8, $0 BEQ docall SUB $1, R8 ADD $8, R7 MOVD 0(R7), R2 // arg 3 --> R3 CMP R8, $0 BEQ docall SUB $1, R8 ADD $8, R7 MOVD 0(R7), R3 CMP R8, $0 BEQ docall MOVD $2176+16, R6 // starting LE stack address-8 to store 4th argument repeat: ADD $8, R7 MOVD 0(R7), R0 // advance arg pointer by 8 byte ADD $8, R6 // advance LE argument address by 8 byte MOVD R0, (R4)(R6*1) // copy argument from go-slice to le-frame SUB $1, R8 CMP R8, $0 BNE repeat docall: MOVD funcdesc+0(FP), R8 // R8-> function descriptor LMG 0(R8), R5, R6 MOVD $0, 0(R9) // R9 address of SAVSTACK_ASYNC LE_CALL // balr R7, R6 (return #1) NOPH MOVD R3, ret+32(FP) CMP R3, $0 // compare result to 0 BNE done // retrieve errno and errno2 MOVD zosLibVec<>(SB), R8 ADD $(__errno), R8 LMG 0(R8), R5, R6 LE_CALL // balr R7, R6 __errno (return #3) NOPH MOVWZ 0(R3), R3 MOVD R3, err+48(FP) MOVD zosLibVec<>(SB), R8 ADD $(__err2ad), R8 LMG 0(R8), R5, R6 LE_CALL // balr R7, R6 __err2ad (return #2) NOPH MOVW (R3), R2 // retrieve errno2 MOVD R2, errno2+40(FP) // store in return area XOR R2, R2 MOVWZ R2, (R3) // clear errno2 done: MOVD R4, 0(R9) // Save stack pointer. RET // // function to test if a pointer can be safely dereferenced (content read) // return 0 for succces // TEXT ·ptrtest(SB), NOSPLIT, $0-16 MOVD arg+0(FP), R10 // test pointer in R10 // set up R2 to point to CEECAADMC BYTE $0xE3; BYTE $0x20; BYTE $0x04; BYTE $0xB8; BYTE $0x00; BYTE $0x17 // llgt 2,1208 BYTE $0xB9; BYTE $0x17; BYTE $0x00; BYTE $0x22 // llgtr 2,2 BYTE $0xA5; BYTE $0x26; BYTE $0x7F; BYTE $0xFF // nilh 2,32767 BYTE $0xE3; BYTE $0x22; BYTE $0x00; BYTE $0x58; BYTE $0x00; BYTE $0x04 // lg 2,88(2) BYTE $0xE3; BYTE $0x22; BYTE $0x00; BYTE $0x08; BYTE $0x00; BYTE $0x04 // lg 2,8(2) BYTE $0x41; BYTE $0x22; BYTE $0x03; BYTE $0x68 // la 2,872(2) // set up R5 to point to the "shunt" path which set 1 to R3 (failure) BYTE $0xB9; BYTE $0x82; BYTE $0x00; BYTE $0x33 // xgr 3,3 BYTE $0xA7; BYTE $0x55; BYTE $0x00; BYTE $0x04 // bras 5,lbl1 BYTE $0xA7; BYTE $0x39; BYTE $0x00; BYTE $0x01 // lghi 3,1 // if r3 is not zero (failed) then branch to finish BYTE $0xB9; BYTE $0x02; BYTE $0x00; BYTE $0x33 // lbl1 ltgr 3,3 BYTE $0xA7; BYTE $0x74; BYTE $0x00; BYTE $0x08 // brc b'0111',lbl2 // stomic store shunt address in R5 into CEECAADMC BYTE $0xE3; BYTE $0x52; BYTE $0x00; BYTE $0x00; BYTE $0x00; BYTE $0x24 // stg 5,0(2) // now try reading from the test pointer in R10, if it fails it branches to the "lghi" instruction above BYTE $0xE3; BYTE $0x9A; BYTE $0x00; BYTE $0x00; BYTE $0x00; BYTE $0x04 // lg 9,0(10) // finish here, restore 0 into CEECAADMC BYTE $0xB9; BYTE $0x82; BYTE $0x00; BYTE $0x99 // lbl2 xgr 9,9 BYTE $0xE3; BYTE $0x92; BYTE $0x00; BYTE $0x00; BYTE $0x00; BYTE $0x24 // stg 9,0(2) MOVD R3, ret+8(FP) // result in R3 RET // // function to test if a untptr can be loaded from a pointer // return 1: the 8-byte content // 2: 0 for success, 1 for failure // // func safeload(ptr uintptr) ( value uintptr, error uintptr) TEXT ·safeload(SB), NOSPLIT, $0-24 MOVD ptr+0(FP), R10 // test pointer in R10 MOVD $0x0, R6 BYTE $0xE3; BYTE $0x20; BYTE $0x04; BYTE $0xB8; BYTE $0x00; BYTE $0x17 // llgt 2,1208 BYTE $0xB9; BYTE $0x17; BYTE $0x00; BYTE $0x22 // llgtr 2,2 BYTE $0xA5; BYTE $0x26; BYTE $0x7F; BYTE $0xFF // nilh 2,32767 BYTE $0xE3; BYTE $0x22; BYTE $0x00; BYTE $0x58; BYTE $0x00; BYTE $0x04 // lg 2,88(2) BYTE $0xE3; BYTE $0x22; BYTE $0x00; BYTE $0x08; BYTE $0x00; BYTE $0x04 // lg 2,8(2) BYTE $0x41; BYTE $0x22; BYTE $0x03; BYTE $0x68 // la 2,872(2) BYTE $0xB9; BYTE $0x82; BYTE $0x00; BYTE $0x33 // xgr 3,3 BYTE $0xA7; BYTE $0x55; BYTE $0x00; BYTE $0x04 // bras 5,lbl1 BYTE $0xA7; BYTE $0x39; BYTE $0x00; BYTE $0x01 // lghi 3,1 BYTE $0xB9; BYTE $0x02; BYTE $0x00; BYTE $0x33 // lbl1 ltgr 3,3 BYTE $0xA7; BYTE $0x74; BYTE $0x00; BYTE $0x08 // brc b'0111',lbl2 BYTE $0xE3; BYTE $0x52; BYTE $0x00; BYTE $0x00; BYTE $0x00; BYTE $0x24 // stg 5,0(2) BYTE $0xE3; BYTE $0x6A; BYTE $0x00; BYTE $0x00; BYTE $0x00; BYTE $0x04 // lg 6,0(10) BYTE $0xB9; BYTE $0x82; BYTE $0x00; BYTE $0x99 // lbl2 xgr 9,9 BYTE $0xE3; BYTE $0x92; BYTE $0x00; BYTE $0x00; BYTE $0x00; BYTE $0x24 // stg 9,0(2) MOVD R6, value+8(FP) // result in R6 MOVD R3, error+16(FP) // error in R3 RET dependencies/pkg/mod/golang.org/x/sys@v0.26.0/unix/zsysnum_freebsd_arm64.go0000644000000000000000000011014215107355264025372 0ustar rootroot// go run mksysnum.go https://cgit.freebsd.org/src/plain/sys/kern/syscalls.master?h=stable/12 // Code generated by the command above; see README.md. DO NOT EDIT. //go:build arm64 && freebsd package unix const ( // SYS_NOSYS = 0; // { int nosys(void); } syscall nosys_args int SYS_EXIT = 1 // { void sys_exit(int rval); } exit sys_exit_args void 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, struct rusage *rusage); } 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_CHMOD = 15 // { int chmod(char *path, int mode); } SYS_CHOWN = 16 // { int chown(char *path, int uid, int gid); } SYS_BREAK = 17 // { caddr_t break(char *nsize); } SYS_GETPID = 20 // { pid_t getpid(void); } SYS_MOUNT = 21 // { int mount(char *type, char *path, int flags, caddr_t data); } 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, int data); } SYS_RECVMSG = 27 // { int recvmsg(int s, struct msghdr *msg, int flags); } SYS_SENDMSG = 28 // { int sendmsg(int s, struct msghdr *msg, int flags); } SYS_RECVFROM = 29 // { int recvfrom(int s, caddr_t buf, size_t len, int flags, struct sockaddr * __restrict from, __socklen_t * __restrict fromlenaddr); } SYS_ACCEPT = 30 // { int accept(int s, struct sockaddr * __restrict name, __socklen_t * __restrict anamelen); } SYS_GETPEERNAME = 31 // { int getpeername(int fdes, struct sockaddr * __restrict asa, __socklen_t * __restrict alen); } SYS_GETSOCKNAME = 32 // { int getsockname(int fdes, struct sockaddr * __restrict asa, __socklen_t * __restrict alen); } 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_GETEGID = 43 // { gid_t getegid(void); } SYS_PROFIL = 44 // { int profil(caddr_t samples, size_t size, size_t offset, u_int scale); } SYS_KTRACE = 45 // { int ktrace(const char *fname, int ops, int facs, int pid); } 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 // { ssize_t readlink(char *path, char *buf, size_t count); } SYS_EXECVE = 59 // { int execve(char *fname, char **argv, char **envv); } SYS_UMASK = 60 // { int umask(int newmask); } SYS_CHROOT = 61 // { int chroot(char *path); } SYS_MSYNC = 65 // { int msync(void *addr, size_t len, int flags); } SYS_VFORK = 66 // { int 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, char *vec); } 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, struct itimerval *oitv); } 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(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, fd_set *ex, struct timeval *tv); } 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, caddr_t val, int valsize); } SYS_LISTEN = 106 // { int listen(int s, int backlog); } SYS_GETTIMEOFDAY = 116 // { int gettimeofday(struct timeval *tp, struct timezone *tzp); } SYS_GETRUSAGE = 117 // { int getrusage(int who, struct rusage *rusage); } SYS_GETSOCKOPT = 118 // { int getsockopt(int s, int level, int name, caddr_t val, int *avalsize); } SYS_READV = 120 // { int readv(int fd, struct iovec *iovp, u_int iovcnt); } SYS_WRITEV = 121 // { int writev(int fd, struct iovec *iovp, u_int iovcnt); } SYS_SETTIMEOFDAY = 122 // { int settimeofday(struct timeval *tv, struct timezone *tzp); } 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, int flags, caddr_t to, int tolen); } SYS_SHUTDOWN = 134 // { int shutdown(int s, int how); } SYS_SOCKETPAIR = 135 // { int socketpair(int domain, int type, int protocol, int *rsv); } 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, struct timeval *olddelta); } SYS_SETSID = 147 // { int setsid(void); } SYS_QUOTACTL = 148 // { int quotactl(char *path, int cmd, int uid, caddr_t arg); } SYS_NLM_SYSCALL = 154 // { int nlm_syscall(int debug_level, int grace_period, int addr_count, char **addrs); } SYS_NFSSVC = 155 // { int nfssvc(int flag, caddr_t argp); } SYS_LGETFH = 160 // { int lgetfh(char *fname, struct fhandle *fhp); } SYS_GETFH = 161 // { int getfh(char *fname, struct fhandle *fhp); } SYS_SYSARCH = 165 // { int sysarch(int op, char *parms); } SYS_RTPRIO = 166 // { int rtprio(int function, pid_t pid, struct rtprio *rtp); } SYS_SEMSYS = 169 // { int semsys(int which, int a2, int a3, int a4, int a5); } SYS_MSGSYS = 170 // { int msgsys(int which, int a2, int a3, int a4, int a5, int a6); } SYS_SHMSYS = 171 // { int shmsys(int which, int a2, int a3, int a4); } 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_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, struct rlimit *rlp); } getrlimit __getrlimit_args int SYS_SETRLIMIT = 195 // { int setrlimit(u_int which, struct rlimit *rlp); } setrlimit __setrlimit_args int SYS___SYSCTL = 202 // { int __sysctl(int *name, u_int namelen, void *old, size_t *oldlenp, void *new, size_t newlen); } __sysctl sysctl_args int 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, int timeout); } SYS_SEMGET = 221 // { int semget(key_t key, int nsems, int semflg); } SYS_SEMOP = 222 // { int semop(int semid, struct sembuf *sops, size_t nsops); } SYS_MSGGET = 225 // { int msgget(key_t key, int msgflg); } SYS_MSGSND = 226 // { int msgsnd(int msqid, const void *msgp, size_t msgsz, int msgflg); } SYS_MSGRCV = 227 // { ssize_t msgrcv(int msqid, void *msgp, size_t msgsz, long msgtyp, int msgflg); } SYS_SHMAT = 228 // { int shmat(int shmid, const void *shmaddr, int shmflg); } 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, struct timespec *tp); } SYS_CLOCK_SETTIME = 233 // { int clock_settime(clockid_t clock_id, const struct timespec *tp); } SYS_CLOCK_GETRES = 234 // { int clock_getres(clockid_t clock_id, struct timespec *tp); } SYS_KTIMER_CREATE = 235 // { int ktimer_create(clockid_t clock_id, struct sigevent *evp, int *timerid); } SYS_KTIMER_DELETE = 236 // { int ktimer_delete(int timerid); } SYS_KTIMER_SETTIME = 237 // { int ktimer_settime(int timerid, int flags, const struct itimerspec *value, struct itimerspec *ovalue); } SYS_KTIMER_GETTIME = 238 // { int ktimer_gettime(int timerid, struct itimerspec *value); } SYS_KTIMER_GETOVERRUN = 239 // { int ktimer_getoverrun(int timerid); } SYS_NANOSLEEP = 240 // { int nanosleep(const struct timespec *rqtp, struct timespec *rmtp); } SYS_FFCLOCK_GETCOUNTER = 241 // { int ffclock_getcounter(ffcounter *ffcount); } SYS_FFCLOCK_SETESTIMATE = 242 // { int ffclock_setestimate(struct ffclock_estimate *cest); } SYS_FFCLOCK_GETESTIMATE = 243 // { int ffclock_getestimate(struct ffclock_estimate *cest); } SYS_CLOCK_NANOSLEEP = 244 // { int clock_nanosleep(clockid_t clock_id, int flags, const struct timespec *rqtp, struct timespec *rmtp); } SYS_CLOCK_GETCPUCLOCKID2 = 247 // { int clock_getcpuclockid2(id_t id, int which, clockid_t *clock_id); } SYS_NTP_GETTIME = 248 // { int ntp_gettime(struct ntptimeval *ntvp); } SYS_MINHERIT = 250 // { int minherit(void *addr, size_t len, int inherit); } SYS_RFORK = 251 // { int rfork(int flags); } SYS_ISSETUGID = 253 // { int issetugid(void); } SYS_LCHOWN = 254 // { int lchown(char *path, int uid, int gid); } SYS_AIO_READ = 255 // { int aio_read(struct aiocb *aiocbp); } SYS_AIO_WRITE = 256 // { int aio_write(struct aiocb *aiocbp); } SYS_LIO_LISTIO = 257 // { int lio_listio(int mode, struct aiocb* const *acb_list, int nent, struct sigevent *sig); } SYS_LCHMOD = 274 // { int lchmod(char *path, mode_t mode); } SYS_LUTIMES = 276 // { int lutimes(char *path, struct timeval *tptr); } SYS_PREADV = 289 // { ssize_t preadv(int fd, struct iovec *iovp, u_int iovcnt, off_t offset); } SYS_PWRITEV = 290 // { ssize_t pwritev(int fd, struct iovec *iovp, u_int iovcnt, off_t offset); } 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 // { ssize_t 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_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, size_t 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, sigset_t *oset); } 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, siginfo_t *info, const struct timespec *timeout); } SYS_SIGWAITINFO = 346 // { int sigwaitinfo(const sigset_t *set, siginfo_t *info); } SYS___ACL_GET_FILE = 347 // { int __acl_get_file(const char *path, acl_type_t type, struct acl *aclp); } SYS___ACL_SET_FILE = 348 // { int __acl_set_file(const char *path, acl_type_t type, struct acl *aclp); } SYS___ACL_GET_FD = 349 // { int __acl_get_fd(int filedes, acl_type_t type, struct acl *aclp); } SYS___ACL_SET_FD = 350 // { int __acl_set_fd(int filedes, acl_type_t type, struct acl *aclp); } SYS___ACL_DELETE_FILE = 351 // { int __acl_delete_file(const char *path, acl_type_t type); } 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, acl_type_t type, struct acl *aclp); } SYS___ACL_ACLCHECK_FD = 354 // { int __acl_aclcheck_fd(int filedes, acl_type_t type, struct acl *aclp); } SYS_EXTATTRCTL = 355 // { int extattrctl(const char *path, int cmd, const char *filename, int attrnamespace, const char *attrname); } SYS_EXTATTR_SET_FILE = 356 // { ssize_t extattr_set_file(const char *path, int attrnamespace, const char *attrname, void *data, size_t nbytes); } SYS_EXTATTR_GET_FILE = 357 // { ssize_t extattr_get_file(const char *path, int attrnamespace, const char *attrname, void *data, size_t nbytes); } SYS_EXTATTR_DELETE_FILE = 358 // { int extattr_delete_file(const char *path, int attrnamespace, const char *attrname); } SYS_AIO_WAITCOMPLETE = 359 // { ssize_t 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_EXTATTR_SET_FD = 371 // { ssize_t extattr_set_fd(int fd, int attrnamespace, const char *attrname, void *data, size_t nbytes); } SYS_EXTATTR_GET_FD = 372 // { ssize_t extattr_get_fd(int fd, int attrnamespace, const char *attrname, void *data, size_t nbytes); } SYS_EXTATTR_DELETE_FD = 373 // { int extattr_delete_fd(int fd, int attrnamespace, const char *attrname); } SYS___SETUGID = 374 // { int __setugid(int flag); } SYS_EACCESS = 376 // { int eaccess(char *path, int amode); } SYS_NMOUNT = 378 // { int nmount(struct iovec *iovp, unsigned int iovcnt, int flags); } 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, struct mac *mac_p); } SYS___MAC_GET_FILE = 387 // { int __mac_get_file(const char *path_p, struct mac *mac_p); } SYS___MAC_SET_FD = 388 // { int __mac_set_fd(int fd, struct mac *mac_p); } SYS___MAC_SET_FILE = 389 // { int __mac_set_file(const char *path_p, struct mac *mac_p); } SYS_KENV = 390 // { int kenv(int what, const char *name, char *value, int len); } SYS_LCHFLAGS = 391 // { int lchflags(const char *path, u_long 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, struct sf_hdtr *hdtr, off_t *sbytes, int flags); } SYS_MAC_SYSCALL = 394 // { int mac_syscall(const char *policy, int call, void *arg); } SYS_KSEM_CLOSE = 400 // { int ksem_close(semid_t id); } SYS_KSEM_POST = 401 // { int ksem_post(semid_t id); } SYS_KSEM_WAIT = 402 // { int ksem_wait(semid_t id); } SYS_KSEM_TRYWAIT = 403 // { int ksem_trywait(semid_t id); } SYS_KSEM_INIT = 404 // { int ksem_init(semid_t *idp, unsigned int value); } SYS_KSEM_OPEN = 405 // { int ksem_open(semid_t *idp, const char *name, int oflag, mode_t mode, unsigned int value); } SYS_KSEM_UNLINK = 406 // { int ksem_unlink(const char *name); } SYS_KSEM_GETVALUE = 407 // { int ksem_getvalue(semid_t id, int *val); } SYS_KSEM_DESTROY = 408 // { int ksem_destroy(semid_t id); } SYS___MAC_GET_PID = 409 // { int __mac_get_pid(pid_t pid, struct mac *mac_p); } SYS___MAC_GET_LINK = 410 // { int __mac_get_link(const char *path_p, struct mac *mac_p); } SYS___MAC_SET_LINK = 411 // { int __mac_set_link(const char *path_p, struct mac *mac_p); } SYS_EXTATTR_SET_LINK = 412 // { ssize_t extattr_set_link(const char *path, int attrnamespace, const char *attrname, void *data, size_t nbytes); } SYS_EXTATTR_GET_LINK = 413 // { ssize_t extattr_get_link(const char *path, int attrnamespace, const char *attrname, void *data, size_t nbytes); } SYS_EXTATTR_DELETE_LINK = 414 // { int extattr_delete_link(const char *path, int attrnamespace, const char *attrname); } SYS___MAC_EXECVE = 415 // { int __mac_execve(char *fname, char **argv, char **envv, struct mac *mac_p); } SYS_SIGACTION = 416 // { int sigaction(int sig, const struct sigaction *act, struct sigaction *oact); } SYS_SIGRETURN = 417 // { int sigreturn(const struct __ucontext *sigcntxp); } SYS_GETCONTEXT = 421 // { int getcontext(struct __ucontext *ucp); } SYS_SETCONTEXT = 422 // { int setcontext(const struct __ucontext *ucp); } SYS_SWAPCONTEXT = 423 // { int swapcontext(struct __ucontext *oucp, const struct __ucontext *ucp); } SYS_SWAPOFF = 424 // { int swapoff(const char *name); } SYS___ACL_GET_LINK = 425 // { int __acl_get_link(const char *path, acl_type_t type, struct acl *aclp); } SYS___ACL_SET_LINK = 426 // { int __acl_set_link(const char *path, acl_type_t type, struct acl *aclp); } SYS___ACL_DELETE_LINK = 427 // { int __acl_delete_link(const char *path, acl_type_t type); } SYS___ACL_ACLCHECK_LINK = 428 // { int __acl_aclcheck_link(const char *path, acl_type_t type, struct acl *aclp); } SYS_SIGWAIT = 429 // { int sigwait(const sigset_t *set, int *sig); } SYS_THR_CREATE = 430 // { int thr_create(ucontext_t *ctx, long *id, int flags); } 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_JAIL_ATTACH = 436 // { int jail_attach(int jid); } SYS_EXTATTR_LIST_FD = 437 // { ssize_t extattr_list_fd(int fd, int attrnamespace, void *data, size_t nbytes); } SYS_EXTATTR_LIST_FILE = 438 // { ssize_t extattr_list_file(const char *path, int attrnamespace, void *data, size_t nbytes); } SYS_EXTATTR_LIST_LINK = 439 // { ssize_t extattr_list_link(const char *path, int attrnamespace, void *data, size_t nbytes); } SYS_KSEM_TIMEDWAIT = 441 // { int ksem_timedwait(semid_t id, const struct timespec *abstime); } SYS_THR_SUSPEND = 442 // { int thr_suspend(const struct timespec *timeout); } 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, u_int length); } SYS_AUDITON = 446 // { int auditon(int cmd, void *data, u_int length); } 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(struct auditinfo_addr *auditinfo_addr, u_int length); } SYS_SETAUDIT_ADDR = 452 // { int setaudit_addr(struct auditinfo_addr *auditinfo_addr, u_int length); } SYS_AUDITCTL = 453 // { int auditctl(char *path); } SYS__UMTX_OP = 454 // { int _umtx_op(void *obj, int op, u_long val, void *uaddr1, void *uaddr2); } SYS_THR_NEW = 455 // { int thr_new(struct thr_param *param, int param_size); } SYS_SIGQUEUE = 456 // { int sigqueue(pid_t pid, int signum, void *value); } SYS_KMQ_OPEN = 457 // { int kmq_open(const char *path, int flags, mode_t mode, const struct mq_attr *attr); } SYS_KMQ_SETATTR = 458 // { int kmq_setattr(int mqd, const struct mq_attr *attr, struct mq_attr *oattr); } SYS_KMQ_TIMEDRECEIVE = 459 // { int kmq_timedreceive(int mqd, char *msg_ptr, size_t msg_len, unsigned *msg_prio, const struct timespec *abs_timeout); } SYS_KMQ_TIMEDSEND = 460 // { int kmq_timedsend(int mqd, const char *msg_ptr, size_t msg_len, unsigned msg_prio, const struct timespec *abs_timeout); } SYS_KMQ_NOTIFY = 461 // { int kmq_notify(int mqd, const struct sigevent *sigev); } SYS_KMQ_UNLINK = 462 // { int kmq_unlink(const char *path); } 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_AIO_FSYNC = 465 // { int aio_fsync(int op, struct aiocb *aiocbp); } SYS_RTPRIO_THREAD = 466 // { int rtprio_thread(int function, lwpid_t lwpid, struct rtprio *rtp); } 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, caddr_t to, __socklen_t tolen, struct sctp_sndrcvinfo *sinfo, int flags); } SYS_SCTP_GENERIC_SENDMSG_IOV = 473 // { int sctp_generic_sendmsg_iov(int sd, struct iovec *iov, int iovlen, caddr_t to, __socklen_t tolen, struct sctp_sndrcvinfo *sinfo, int flags); } SYS_SCTP_GENERIC_RECVMSG = 474 // { int sctp_generic_recvmsg(int sd, struct iovec *iov, int iovlen, struct sockaddr *from, __socklen_t *fromlenaddr, struct sctp_sndrcvinfo *sinfo, int *msg_flags); } SYS_PREAD = 475 // { ssize_t pread(int fd, void *buf, size_t nbyte, off_t offset); } SYS_PWRITE = 476 // { ssize_t pwrite(int fd, const void *buf, size_t nbyte, off_t offset); } SYS_MMAP = 477 // { caddr_t mmap(caddr_t addr, size_t len, int prot, int flags, int fd, off_t pos); } SYS_LSEEK = 478 // { off_t lseek(int fd, off_t offset, int whence); } 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, mode_t mode); } 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, cpusetid_t setid); } SYS_CPUSET_GETID = 486 // { int cpuset_getid(cpulevel_t level, cpuwhich_t which, id_t id, cpusetid_t *setid); } SYS_CPUSET_GETAFFINITY = 487 // { int cpuset_getaffinity(cpulevel_t level, cpuwhich_t which, id_t id, size_t cpusetsize, cpuset_t *mask); } SYS_CPUSET_SETAFFINITY = 488 // { int cpuset_setaffinity(cpulevel_t level, cpuwhich_t which, id_t id, size_t cpusetsize, const cpuset_t *mask); } SYS_FACCESSAT = 489 // { int faccessat(int fd, char *path, int amode, int flag); } SYS_FCHMODAT = 490 // { int fchmodat(int fd, char *path, mode_t mode, int flag); } SYS_FCHOWNAT = 491 // { int fchownat(int fd, char *path, uid_t uid, gid_t gid, int flag); } SYS_FEXECVE = 492 // { int fexecve(int fd, char **argv, char **envv); } SYS_FUTIMESAT = 494 // { int futimesat(int fd, char *path, struct timeval *times); } SYS_LINKAT = 495 // { int linkat(int fd1, char *path1, int fd2, char *path2, int flag); } 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_OPENAT = 499 // { int openat(int fd, char *path, int flag, mode_t mode); } SYS_READLINKAT = 500 // { ssize_t readlinkat(int fd, char *path, char *buf, size_t bufsize); } SYS_RENAMEAT = 501 // { int renameat(int oldfd, char *old, int newfd, char *new); } SYS_SYMLINKAT = 502 // { int symlinkat(char *path1, int fd, char *path2); } SYS_UNLINKAT = 503 // { int unlinkat(int fd, char *path, int flag); } SYS_POSIX_OPENPT = 504 // { int posix_openpt(int flags); } SYS_GSSD_SYSCALL = 505 // { int gssd_syscall(char *path); } SYS_JAIL_GET = 506 // { int jail_get(struct iovec *iovp, unsigned int iovcnt, int flags); } SYS_JAIL_SET = 507 // { int jail_set(struct iovec *iovp, unsigned int iovcnt, int flags); } SYS_JAIL_REMOVE = 508 // { int jail_remove(int jid); } SYS_CLOSEFROM = 509 // { int closefrom(int lowfd); } SYS___SEMCTL = 510 // { int __semctl(int semid, int semnum, int cmd, union semun *arg); } SYS_MSGCTL = 511 // { int msgctl(int msqid, int cmd, struct msqid_ds *buf); } SYS_SHMCTL = 512 // { int shmctl(int shmid, int cmd, struct shmid_ds *buf); } SYS_LPATHCONF = 513 // { int lpathconf(char *path, int name); } SYS___CAP_RIGHTS_GET = 515 // { int __cap_rights_get(int version, int fd, cap_rights_t *rightsp); } 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, fd_set *ou, fd_set *ex, const struct timespec *ts, const sigset_t *sm); } SYS_GETLOGINCLASS = 523 // { int getloginclass(char *namebuf, size_t namelen); } SYS_SETLOGINCLASS = 524 // { int setloginclass(const char *namebuf); } SYS_RCTL_GET_RACCT = 525 // { int rctl_get_racct(const void *inbufp, size_t inbuflen, void *outbufp, size_t outbuflen); } SYS_RCTL_GET_RULES = 526 // { int rctl_get_rules(const void *inbufp, size_t inbuflen, void *outbufp, size_t outbuflen); } SYS_RCTL_GET_LIMITS = 527 // { int rctl_get_limits(const void *inbufp, size_t inbuflen, void *outbufp, size_t outbuflen); } SYS_RCTL_ADD_RULE = 528 // { int rctl_add_rule(const void *inbufp, size_t inbuflen, void *outbufp, size_t outbuflen); } SYS_RCTL_REMOVE_RULE = 529 // { int rctl_remove_rule(const void *inbufp, size_t inbuflen, void *outbufp, size_t outbuflen); } SYS_POSIX_FALLOCATE = 530 // { int posix_fallocate(int fd, off_t offset, off_t len); } SYS_POSIX_FADVISE = 531 // { int posix_fadvise(int fd, off_t offset, off_t len, int advice); } SYS_WAIT6 = 532 // { int wait6(idtype_t idtype, id_t id, int *status, int options, struct __wrusage *wrusage, siginfo_t *info); } SYS_CAP_RIGHTS_LIMIT = 533 // { int cap_rights_limit(int fd, cap_rights_t *rightsp); } SYS_CAP_IOCTLS_LIMIT = 534 // { int cap_ioctls_limit(int fd, const u_long *cmds, size_t ncmds); } SYS_CAP_IOCTLS_GET = 535 // { ssize_t cap_ioctls_get(int fd, u_long *cmds, size_t maxcmds); } SYS_CAP_FCNTLS_LIMIT = 536 // { int cap_fcntls_limit(int fd, uint32_t fcntlrights); } SYS_CAP_FCNTLS_GET = 537 // { int cap_fcntls_get(int fd, uint32_t *fcntlrightsp); } SYS_BINDAT = 538 // { int bindat(int fd, int s, caddr_t name, int namelen); } SYS_CONNECTAT = 539 // { int connectat(int fd, int s, caddr_t name, int namelen); } SYS_CHFLAGSAT = 540 // { int chflagsat(int fd, const char *path, u_long flags, int atflag); } SYS_ACCEPT4 = 541 // { int accept4(int s, struct sockaddr * __restrict name, __socklen_t * __restrict anamelen, int flags); } SYS_PIPE2 = 542 // { int pipe2(int *fildes, int flags); } SYS_AIO_MLOCK = 543 // { int aio_mlock(struct aiocb *aiocbp); } SYS_PROCCTL = 544 // { int procctl(idtype_t idtype, id_t id, int com, void *data); } SYS_PPOLL = 545 // { int ppoll(struct pollfd *fds, u_int nfds, const struct timespec *ts, const sigset_t *set); } SYS_FUTIMENS = 546 // { int futimens(int fd, struct timespec *times); } SYS_UTIMENSAT = 547 // { int utimensat(int fd, char *path, struct timespec *times, int flag); } SYS_FDATASYNC = 550 // { int fdatasync(int fd); } SYS_FSTAT = 551 // { int fstat(int fd, struct stat *sb); } SYS_FSTATAT = 552 // { int fstatat(int fd, char *path, struct stat *buf, int flag); } SYS_FHSTAT = 553 // { int fhstat(const struct fhandle *u_fhp, struct stat *sb); } SYS_GETDIRENTRIES = 554 // { ssize_t getdirentries(int fd, char *buf, size_t count, off_t *basep); } SYS_STATFS = 555 // { int statfs(char *path, struct statfs *buf); } SYS_FSTATFS = 556 // { int fstatfs(int fd, struct statfs *buf); } SYS_GETFSSTAT = 557 // { int getfsstat(struct statfs *buf, long bufsize, int mode); } SYS_FHSTATFS = 558 // { int fhstatfs(const struct fhandle *u_fhp, struct statfs *buf); } SYS_MKNODAT = 559 // { int mknodat(int fd, char *path, mode_t mode, dev_t dev); } SYS_KEVENT = 560 // { int kevent(int fd, struct kevent *changelist, int nchanges, struct kevent *eventlist, int nevents, const struct timespec *timeout); } SYS_CPUSET_GETDOMAIN = 561 // { int cpuset_getdomain(cpulevel_t level, cpuwhich_t which, id_t id, size_t domainsetsize, domainset_t *mask, int *policy); } SYS_CPUSET_SETDOMAIN = 562 // { int cpuset_setdomain(cpulevel_t level, cpuwhich_t which, id_t id, size_t domainsetsize, domainset_t *mask, int policy); } SYS_GETRANDOM = 563 // { int getrandom(void *buf, size_t buflen, unsigned int flags); } SYS_GETFHAT = 564 // { int getfhat(int fd, char *path, struct fhandle *fhp, int flags); } SYS_FHLINK = 565 // { int fhlink(struct fhandle *fhp, const char *to); } SYS_FHLINKAT = 566 // { int fhlinkat(struct fhandle *fhp, int tofd, const char *to,); } SYS_FHREADLINK = 567 // { int fhreadlink(struct fhandle *fhp, char *buf, size_t bufsize); } SYS___SYSCTLBYNAME = 570 // { int __sysctlbyname(const char *name, size_t namelen, void *old, size_t *oldlenp, void *new, size_t newlen); } SYS_CLOSE_RANGE = 575 // { int close_range(u_int lowfd, u_int highfd, int flags); } ) dependencies/pkg/mod/golang.org/x/sys@v0.26.0/unix/zptrace_mipsnn_linux.go0000644000000000000000000000255615107355264025423 0ustar rootroot// Code generated by linux/mkall.go generatePtracePair("mips", "mips64"). DO NOT EDIT. //go:build linux && (mips || mips64) package unix import "unsafe" // PtraceRegsMips is the registers used by mips binaries. type PtraceRegsMips struct { Regs [32]uint64 Lo uint64 Hi uint64 Epc uint64 Badvaddr uint64 Status uint64 Cause uint64 } // PtraceGetRegsMips fetches the registers used by mips binaries. func PtraceGetRegsMips(pid int, regsout *PtraceRegsMips) error { return ptracePtr(PTRACE_GETREGS, pid, 0, unsafe.Pointer(regsout)) } // PtraceSetRegsMips sets the registers used by mips binaries. func PtraceSetRegsMips(pid int, regs *PtraceRegsMips) error { return ptracePtr(PTRACE_SETREGS, pid, 0, unsafe.Pointer(regs)) } // PtraceRegsMips64 is the registers used by mips64 binaries. type PtraceRegsMips64 struct { Regs [32]uint64 Lo uint64 Hi uint64 Epc uint64 Badvaddr uint64 Status uint64 Cause uint64 } // PtraceGetRegsMips64 fetches the registers used by mips64 binaries. func PtraceGetRegsMips64(pid int, regsout *PtraceRegsMips64) error { return ptracePtr(PTRACE_GETREGS, pid, 0, unsafe.Pointer(regsout)) } // PtraceSetRegsMips64 sets the registers used by mips64 binaries. func PtraceSetRegsMips64(pid int, regs *PtraceRegsMips64) error { return ptracePtr(PTRACE_SETREGS, pid, 0, unsafe.Pointer(regs)) } dependencies/pkg/mod/golang.org/x/sys@v0.26.0/unix/zptrace_linux_arm64.go0000644000000000000000000000132115107355264025035 0ustar rootroot// Code generated by linux/mkall.go generatePtraceRegSet("arm64"). DO NOT EDIT. package unix import "unsafe" // PtraceGetRegSetArm64 fetches the registers used by arm64 binaries. func PtraceGetRegSetArm64(pid, addr int, regsout *PtraceRegsArm64) error { iovec := Iovec{(*byte)(unsafe.Pointer(regsout)), uint64(unsafe.Sizeof(*regsout))} return ptracePtr(PTRACE_GETREGSET, pid, uintptr(addr), unsafe.Pointer(&iovec)) } // PtraceSetRegSetArm64 sets the registers used by arm64 binaries. func PtraceSetRegSetArm64(pid, addr int, regs *PtraceRegsArm64) error { iovec := Iovec{(*byte)(unsafe.Pointer(regs)), uint64(unsafe.Sizeof(*regs))} return ptracePtr(PTRACE_SETREGSET, pid, uintptr(addr), unsafe.Pointer(&iovec)) } dependencies/pkg/mod/golang.org/x/sys@v0.26.0/unix/zerrors_linux.go0000644000000000000000000056766315107355264024114 0ustar rootroot// Code generated by mkmerge; DO NOT EDIT. //go:build linux package unix import "syscall" const ( AAFS_MAGIC = 0x5a3c69f0 ADFS_SUPER_MAGIC = 0xadf5 AFFS_SUPER_MAGIC = 0xadff AFS_FS_MAGIC = 0x6b414653 AFS_SUPER_MAGIC = 0x5346414f 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 = 0x2e AF_MCTP = 0x2d 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_SMC = 0x2b AF_SNA = 0x16 AF_TIPC = 0x1e AF_UNIX = 0x1 AF_UNSPEC = 0x0 AF_VSOCK = 0x28 AF_WANPIPE = 0x19 AF_X25 = 0x9 AF_XDP = 0x2c ALG_OP_DECRYPT = 0x0 ALG_OP_ENCRYPT = 0x1 ALG_SET_AEAD_ASSOCLEN = 0x4 ALG_SET_AEAD_AUTHSIZE = 0x5 ALG_SET_DRBG_ENTROPY = 0x6 ALG_SET_IV = 0x2 ALG_SET_KEY = 0x1 ALG_SET_KEY_BY_KEY_SERIAL = 0x7 ALG_SET_OP = 0x3 ANON_INODE_FS_MAGIC = 0x9041934 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_MCTP = 0x122 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_RAWIP = 0x207 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_VSOCKMON = 0x33a ARPHRD_X25 = 0x10f AUDIT_ADD = 0x3eb AUDIT_ADD_RULE = 0x3f3 AUDIT_ALWAYS = 0x2 AUDIT_ANOM_ABEND = 0x6a5 AUDIT_ANOM_CREAT = 0x6a7 AUDIT_ANOM_LINK = 0x6a6 AUDIT_ANOM_PROMISCUOUS = 0x6a4 AUDIT_ARCH = 0xb AUDIT_ARCH_AARCH64 = 0xc00000b7 AUDIT_ARCH_ALPHA = 0xc0009026 AUDIT_ARCH_ARCOMPACT = 0x4000005d AUDIT_ARCH_ARCOMPACTBE = 0x5d AUDIT_ARCH_ARCV2 = 0x400000c3 AUDIT_ARCH_ARCV2BE = 0xc3 AUDIT_ARCH_ARM = 0x40000028 AUDIT_ARCH_ARMEB = 0x28 AUDIT_ARCH_C6X = 0x4000008c AUDIT_ARCH_C6XBE = 0x8c AUDIT_ARCH_CRIS = 0x4000004c AUDIT_ARCH_CSKY = 0x400000fc AUDIT_ARCH_FRV = 0x5441 AUDIT_ARCH_H8300 = 0x2e AUDIT_ARCH_HEXAGON = 0xa4 AUDIT_ARCH_I386 = 0x40000003 AUDIT_ARCH_IA64 = 0xc0000032 AUDIT_ARCH_LOONGARCH32 = 0x40000102 AUDIT_ARCH_LOONGARCH64 = 0xc0000102 AUDIT_ARCH_M32R = 0x58 AUDIT_ARCH_M68K = 0x4 AUDIT_ARCH_MICROBLAZE = 0xbd AUDIT_ARCH_MIPS = 0x8 AUDIT_ARCH_MIPS64 = 0x80000008 AUDIT_ARCH_MIPS64N32 = 0xa0000008 AUDIT_ARCH_MIPSEL = 0x40000008 AUDIT_ARCH_MIPSEL64 = 0xc0000008 AUDIT_ARCH_MIPSEL64N32 = 0xe0000008 AUDIT_ARCH_NDS32 = 0x400000a7 AUDIT_ARCH_NDS32BE = 0xa7 AUDIT_ARCH_NIOS2 = 0x40000071 AUDIT_ARCH_OPENRISC = 0x5c AUDIT_ARCH_PARISC = 0xf AUDIT_ARCH_PARISC64 = 0x8000000f AUDIT_ARCH_PPC = 0x14 AUDIT_ARCH_PPC64 = 0x80000015 AUDIT_ARCH_PPC64LE = 0xc0000015 AUDIT_ARCH_RISCV32 = 0x400000f3 AUDIT_ARCH_RISCV64 = 0xc00000f3 AUDIT_ARCH_S390 = 0x16 AUDIT_ARCH_S390X = 0x80000016 AUDIT_ARCH_SH = 0x2a AUDIT_ARCH_SH64 = 0x8000002a AUDIT_ARCH_SHEL = 0x4000002a AUDIT_ARCH_SHEL64 = 0xc000002a AUDIT_ARCH_SPARC = 0x2 AUDIT_ARCH_SPARC64 = 0x8000002b AUDIT_ARCH_TILEGX = 0xc00000bf AUDIT_ARCH_TILEGX32 = 0x400000bf AUDIT_ARCH_TILEPRO = 0x400000bc AUDIT_ARCH_UNICORE = 0x4000006e AUDIT_ARCH_X86_64 = 0xc000003e AUDIT_ARCH_XTENSA = 0x5e AUDIT_ARG0 = 0xc8 AUDIT_ARG1 = 0xc9 AUDIT_ARG2 = 0xca AUDIT_ARG3 = 0xcb AUDIT_AVC = 0x578 AUDIT_AVC_PATH = 0x57a AUDIT_BITMASK_SIZE = 0x40 AUDIT_BIT_MASK = 0x8000000 AUDIT_BIT_TEST = 0x48000000 AUDIT_BPF = 0x536 AUDIT_BPRM_FCAPS = 0x529 AUDIT_CAPSET = 0x52a AUDIT_CLASS_CHATTR = 0x2 AUDIT_CLASS_CHATTR_32 = 0x3 AUDIT_CLASS_DIR_WRITE = 0x0 AUDIT_CLASS_DIR_WRITE_32 = 0x1 AUDIT_CLASS_READ = 0x4 AUDIT_CLASS_READ_32 = 0x5 AUDIT_CLASS_SIGNAL = 0x8 AUDIT_CLASS_SIGNAL_32 = 0x9 AUDIT_CLASS_WRITE = 0x6 AUDIT_CLASS_WRITE_32 = 0x7 AUDIT_COMPARE_AUID_TO_EUID = 0x10 AUDIT_COMPARE_AUID_TO_FSUID = 0xe AUDIT_COMPARE_AUID_TO_OBJ_UID = 0x5 AUDIT_COMPARE_AUID_TO_SUID = 0xf AUDIT_COMPARE_EGID_TO_FSGID = 0x17 AUDIT_COMPARE_EGID_TO_OBJ_GID = 0x4 AUDIT_COMPARE_EGID_TO_SGID = 0x18 AUDIT_COMPARE_EUID_TO_FSUID = 0x12 AUDIT_COMPARE_EUID_TO_OBJ_UID = 0x3 AUDIT_COMPARE_EUID_TO_SUID = 0x11 AUDIT_COMPARE_FSGID_TO_OBJ_GID = 0x9 AUDIT_COMPARE_FSUID_TO_OBJ_UID = 0x8 AUDIT_COMPARE_GID_TO_EGID = 0x14 AUDIT_COMPARE_GID_TO_FSGID = 0x15 AUDIT_COMPARE_GID_TO_OBJ_GID = 0x2 AUDIT_COMPARE_GID_TO_SGID = 0x16 AUDIT_COMPARE_SGID_TO_FSGID = 0x19 AUDIT_COMPARE_SGID_TO_OBJ_GID = 0x7 AUDIT_COMPARE_SUID_TO_FSUID = 0x13 AUDIT_COMPARE_SUID_TO_OBJ_UID = 0x6 AUDIT_COMPARE_UID_TO_AUID = 0xa AUDIT_COMPARE_UID_TO_EUID = 0xb AUDIT_COMPARE_UID_TO_FSUID = 0xc AUDIT_COMPARE_UID_TO_OBJ_UID = 0x1 AUDIT_COMPARE_UID_TO_SUID = 0xd AUDIT_CONFIG_CHANGE = 0x519 AUDIT_CWD = 0x51b AUDIT_DAEMON_ABORT = 0x4b2 AUDIT_DAEMON_CONFIG = 0x4b3 AUDIT_DAEMON_END = 0x4b1 AUDIT_DAEMON_START = 0x4b0 AUDIT_DEL = 0x3ec AUDIT_DEL_RULE = 0x3f4 AUDIT_DEVMAJOR = 0x64 AUDIT_DEVMINOR = 0x65 AUDIT_DIR = 0x6b AUDIT_DM_CTRL = 0x53a AUDIT_DM_EVENT = 0x53b AUDIT_EGID = 0x6 AUDIT_EOE = 0x528 AUDIT_EQUAL = 0x40000000 AUDIT_EUID = 0x2 AUDIT_EVENT_LISTENER = 0x537 AUDIT_EXE = 0x70 AUDIT_EXECVE = 0x51d AUDIT_EXIT = 0x67 AUDIT_FAIL_PANIC = 0x2 AUDIT_FAIL_PRINTK = 0x1 AUDIT_FAIL_SILENT = 0x0 AUDIT_FANOTIFY = 0x533 AUDIT_FD_PAIR = 0x525 AUDIT_FEATURE_BITMAP_ALL = 0x7f AUDIT_FEATURE_BITMAP_BACKLOG_LIMIT = 0x1 AUDIT_FEATURE_BITMAP_BACKLOG_WAIT_TIME = 0x2 AUDIT_FEATURE_BITMAP_EXCLUDE_EXTEND = 0x8 AUDIT_FEATURE_BITMAP_EXECUTABLE_PATH = 0x4 AUDIT_FEATURE_BITMAP_FILTER_FS = 0x40 AUDIT_FEATURE_BITMAP_LOST_RESET = 0x20 AUDIT_FEATURE_BITMAP_SESSIONID_FILTER = 0x10 AUDIT_FEATURE_CHANGE = 0x530 AUDIT_FEATURE_LOGINUID_IMMUTABLE = 0x1 AUDIT_FEATURE_ONLY_UNSET_LOGINUID = 0x0 AUDIT_FEATURE_VERSION = 0x1 AUDIT_FIELD_COMPARE = 0x6f AUDIT_FILETYPE = 0x6c AUDIT_FILTERKEY = 0xd2 AUDIT_FILTER_ENTRY = 0x2 AUDIT_FILTER_EXCLUDE = 0x5 AUDIT_FILTER_EXIT = 0x4 AUDIT_FILTER_FS = 0x6 AUDIT_FILTER_PREPEND = 0x10 AUDIT_FILTER_TASK = 0x1 AUDIT_FILTER_TYPE = 0x5 AUDIT_FILTER_URING_EXIT = 0x7 AUDIT_FILTER_USER = 0x0 AUDIT_FILTER_WATCH = 0x3 AUDIT_FIRST_KERN_ANOM_MSG = 0x6a4 AUDIT_FIRST_USER_MSG = 0x44c AUDIT_FIRST_USER_MSG2 = 0x834 AUDIT_FSGID = 0x8 AUDIT_FSTYPE = 0x1a AUDIT_FSUID = 0x4 AUDIT_GET = 0x3e8 AUDIT_GET_FEATURE = 0x3fb AUDIT_GID = 0x5 AUDIT_GREATER_THAN = 0x20000000 AUDIT_GREATER_THAN_OR_EQUAL = 0x60000000 AUDIT_INODE = 0x66 AUDIT_INTEGRITY_DATA = 0x708 AUDIT_INTEGRITY_EVM_XATTR = 0x70e AUDIT_INTEGRITY_HASH = 0x70b AUDIT_INTEGRITY_METADATA = 0x709 AUDIT_INTEGRITY_PCR = 0x70c AUDIT_INTEGRITY_POLICY_RULE = 0x70f AUDIT_INTEGRITY_RULE = 0x70d AUDIT_INTEGRITY_STATUS = 0x70a AUDIT_IPC = 0x517 AUDIT_IPC_SET_PERM = 0x51f AUDIT_KERNEL = 0x7d0 AUDIT_KERNEL_OTHER = 0x524 AUDIT_KERN_MODULE = 0x532 AUDIT_LAST_FEATURE = 0x1 AUDIT_LAST_KERN_ANOM_MSG = 0x707 AUDIT_LAST_USER_MSG = 0x4af AUDIT_LAST_USER_MSG2 = 0xbb7 AUDIT_LESS_THAN = 0x10000000 AUDIT_LESS_THAN_OR_EQUAL = 0x50000000 AUDIT_LIST = 0x3ea AUDIT_LIST_RULES = 0x3f5 AUDIT_LOGIN = 0x3ee AUDIT_LOGINUID = 0x9 AUDIT_LOGINUID_SET = 0x18 AUDIT_MAC_CALIPSO_ADD = 0x58a AUDIT_MAC_CALIPSO_DEL = 0x58b AUDIT_MAC_CIPSOV4_ADD = 0x57f AUDIT_MAC_CIPSOV4_DEL = 0x580 AUDIT_MAC_CONFIG_CHANGE = 0x57d AUDIT_MAC_IPSEC_ADDSA = 0x583 AUDIT_MAC_IPSEC_ADDSPD = 0x585 AUDIT_MAC_IPSEC_DELSA = 0x584 AUDIT_MAC_IPSEC_DELSPD = 0x586 AUDIT_MAC_IPSEC_EVENT = 0x587 AUDIT_MAC_MAP_ADD = 0x581 AUDIT_MAC_MAP_DEL = 0x582 AUDIT_MAC_POLICY_LOAD = 0x57b AUDIT_MAC_STATUS = 0x57c AUDIT_MAC_UNLBL_ALLOW = 0x57e AUDIT_MAC_UNLBL_STCADD = 0x588 AUDIT_MAC_UNLBL_STCDEL = 0x589 AUDIT_MAKE_EQUIV = 0x3f7 AUDIT_MAX_FIELDS = 0x40 AUDIT_MAX_FIELD_COMPARE = 0x19 AUDIT_MAX_KEY_LEN = 0x100 AUDIT_MESSAGE_TEXT_MAX = 0x2170 AUDIT_MMAP = 0x52b AUDIT_MQ_GETSETATTR = 0x523 AUDIT_MQ_NOTIFY = 0x522 AUDIT_MQ_OPEN = 0x520 AUDIT_MQ_SENDRECV = 0x521 AUDIT_MSGTYPE = 0xc AUDIT_NEGATE = 0x80000000 AUDIT_NETFILTER_CFG = 0x52d AUDIT_NETFILTER_PKT = 0x52c AUDIT_NEVER = 0x0 AUDIT_NLGRP_MAX = 0x1 AUDIT_NOT_EQUAL = 0x30000000 AUDIT_NR_FILTERS = 0x8 AUDIT_OBJ_GID = 0x6e AUDIT_OBJ_LEV_HIGH = 0x17 AUDIT_OBJ_LEV_LOW = 0x16 AUDIT_OBJ_PID = 0x526 AUDIT_OBJ_ROLE = 0x14 AUDIT_OBJ_TYPE = 0x15 AUDIT_OBJ_UID = 0x6d AUDIT_OBJ_USER = 0x13 AUDIT_OPENAT2 = 0x539 AUDIT_OPERATORS = 0x78000000 AUDIT_PATH = 0x516 AUDIT_PERM = 0x6a AUDIT_PERM_ATTR = 0x8 AUDIT_PERM_EXEC = 0x1 AUDIT_PERM_READ = 0x4 AUDIT_PERM_WRITE = 0x2 AUDIT_PERS = 0xa AUDIT_PID = 0x0 AUDIT_POSSIBLE = 0x1 AUDIT_PPID = 0x12 AUDIT_PROCTITLE = 0x52f AUDIT_REPLACE = 0x531 AUDIT_SADDR_FAM = 0x71 AUDIT_SECCOMP = 0x52e AUDIT_SELINUX_ERR = 0x579 AUDIT_SESSIONID = 0x19 AUDIT_SET = 0x3e9 AUDIT_SET_FEATURE = 0x3fa AUDIT_SGID = 0x7 AUDIT_SID_UNSET = 0xffffffff AUDIT_SIGNAL_INFO = 0x3f2 AUDIT_SOCKADDR = 0x51a AUDIT_SOCKETCALL = 0x518 AUDIT_STATUS_BACKLOG_LIMIT = 0x10 AUDIT_STATUS_BACKLOG_WAIT_TIME = 0x20 AUDIT_STATUS_BACKLOG_WAIT_TIME_ACTUAL = 0x80 AUDIT_STATUS_ENABLED = 0x1 AUDIT_STATUS_FAILURE = 0x2 AUDIT_STATUS_LOST = 0x40 AUDIT_STATUS_PID = 0x4 AUDIT_STATUS_RATE_LIMIT = 0x8 AUDIT_SUBJ_CLR = 0x11 AUDIT_SUBJ_ROLE = 0xe AUDIT_SUBJ_SEN = 0x10 AUDIT_SUBJ_TYPE = 0xf AUDIT_SUBJ_USER = 0xd AUDIT_SUCCESS = 0x68 AUDIT_SUID = 0x3 AUDIT_SYSCALL = 0x514 AUDIT_SYSCALL_CLASSES = 0x10 AUDIT_TIME_ADJNTPVAL = 0x535 AUDIT_TIME_INJOFFSET = 0x534 AUDIT_TRIM = 0x3f6 AUDIT_TTY = 0x527 AUDIT_TTY_GET = 0x3f8 AUDIT_TTY_SET = 0x3f9 AUDIT_UID = 0x1 AUDIT_UID_UNSET = 0xffffffff AUDIT_UNUSED_BITS = 0x7fffc00 AUDIT_URINGOP = 0x538 AUDIT_USER = 0x3ed AUDIT_USER_AVC = 0x453 AUDIT_USER_TTY = 0x464 AUDIT_VERSION_BACKLOG_LIMIT = 0x1 AUDIT_VERSION_BACKLOG_WAIT_TIME = 0x2 AUDIT_VERSION_LATEST = 0x7f AUDIT_WATCH = 0x69 AUDIT_WATCH_INS = 0x3ef AUDIT_WATCH_LIST = 0x3f1 AUDIT_WATCH_REM = 0x3f0 AUTOFS_SUPER_MAGIC = 0x187 B0 = 0x0 B110 = 0x3 B1200 = 0x9 B134 = 0x4 B150 = 0x5 B1800 = 0xa B19200 = 0xe B200 = 0x6 B2400 = 0xb B300 = 0x7 B38400 = 0xf B4800 = 0xc B50 = 0x1 B600 = 0x8 B75 = 0x2 B9600 = 0xd BCACHEFS_SUPER_MAGIC = 0xca451a4e BDEVFS_MAGIC = 0x62646576 BINDERFS_SUPER_MAGIC = 0x6c6f6f70 BINFMTFS_MAGIC = 0x42494e4d BPF_A = 0x10 BPF_ABS = 0x20 BPF_ADD = 0x0 BPF_ALU = 0x4 BPF_ALU64 = 0x7 BPF_AND = 0x50 BPF_ARSH = 0xc0 BPF_ATOMIC = 0xc0 BPF_B = 0x10 BPF_BUILD_ID_SIZE = 0x14 BPF_CALL = 0x80 BPF_CMPXCHG = 0xf1 BPF_DIV = 0x30 BPF_DW = 0x18 BPF_END = 0xd0 BPF_EXIT = 0x90 BPF_FETCH = 0x1 BPF_FROM_BE = 0x8 BPF_FROM_LE = 0x0 BPF_FS_MAGIC = 0xcafe4a11 BPF_F_AFTER = 0x10 BPF_F_ALLOW_MULTI = 0x2 BPF_F_ALLOW_OVERRIDE = 0x1 BPF_F_ANY_ALIGNMENT = 0x2 BPF_F_BEFORE = 0x8 BPF_F_ID = 0x20 BPF_F_NETFILTER_IP_DEFRAG = 0x1 BPF_F_QUERY_EFFECTIVE = 0x1 BPF_F_REPLACE = 0x4 BPF_F_SLEEPABLE = 0x10 BPF_F_STRICT_ALIGNMENT = 0x1 BPF_F_TEST_REG_INVARIANTS = 0x80 BPF_F_TEST_RND_HI32 = 0x4 BPF_F_TEST_RUN_ON_CPU = 0x1 BPF_F_TEST_SKB_CHECKSUM_COMPLETE = 0x4 BPF_F_TEST_STATE_FREQ = 0x8 BPF_F_TEST_XDP_LIVE_FRAMES = 0x2 BPF_F_XDP_DEV_BOUND_ONLY = 0x40 BPF_F_XDP_HAS_FRAGS = 0x20 BPF_H = 0x8 BPF_IMM = 0x0 BPF_IND = 0x40 BPF_JA = 0x0 BPF_JCOND = 0xe0 BPF_JEQ = 0x10 BPF_JGE = 0x30 BPF_JGT = 0x20 BPF_JLE = 0xb0 BPF_JLT = 0xa0 BPF_JMP = 0x5 BPF_JMP32 = 0x6 BPF_JNE = 0x50 BPF_JSET = 0x40 BPF_JSGE = 0x70 BPF_JSGT = 0x60 BPF_JSLE = 0xd0 BPF_JSLT = 0xc0 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_MEMSX = 0x80 BPF_MEMWORDS = 0x10 BPF_MINOR_VERSION = 0x1 BPF_MISC = 0x7 BPF_MOD = 0x90 BPF_MOV = 0xb0 BPF_MSH = 0xa0 BPF_MUL = 0x20 BPF_NEG = 0x80 BPF_NET_OFF = -0x100000 BPF_OBJ_NAME_LEN = 0x10 BPF_OR = 0x40 BPF_PSEUDO_BTF_ID = 0x3 BPF_PSEUDO_CALL = 0x1 BPF_PSEUDO_FUNC = 0x4 BPF_PSEUDO_KFUNC_CALL = 0x2 BPF_PSEUDO_MAP_FD = 0x1 BPF_PSEUDO_MAP_IDX = 0x5 BPF_PSEUDO_MAP_IDX_VALUE = 0x6 BPF_PSEUDO_MAP_VALUE = 0x2 BPF_RET = 0x6 BPF_RSH = 0x70 BPF_ST = 0x2 BPF_STX = 0x3 BPF_SUB = 0x10 BPF_TAG_SIZE = 0x8 BPF_TAX = 0x0 BPF_TO_BE = 0x8 BPF_TO_LE = 0x0 BPF_TXA = 0x80 BPF_W = 0x0 BPF_X = 0x8 BPF_XADD = 0xc0 BPF_XCHG = 0xe1 BPF_XOR = 0xa0 BRKINT = 0x2 BS0 = 0x0 BTRFS_SUPER_MAGIC = 0x9123683e BTRFS_TEST_MAGIC = 0x73727279 BUS_BLUETOOTH = 0x5 BUS_HIL = 0x4 BUS_USB = 0x3 BUS_VIRTUAL = 0x6 CAN_BCM = 0x2 CAN_BUS_OFF_THRESHOLD = 0x100 CAN_CTRLMODE_3_SAMPLES = 0x4 CAN_CTRLMODE_BERR_REPORTING = 0x10 CAN_CTRLMODE_CC_LEN8_DLC = 0x100 CAN_CTRLMODE_FD = 0x20 CAN_CTRLMODE_FD_NON_ISO = 0x80 CAN_CTRLMODE_LISTENONLY = 0x2 CAN_CTRLMODE_LOOPBACK = 0x1 CAN_CTRLMODE_ONE_SHOT = 0x8 CAN_CTRLMODE_PRESUME_ACK = 0x40 CAN_CTRLMODE_TDC_AUTO = 0x200 CAN_CTRLMODE_TDC_MANUAL = 0x400 CAN_EFF_FLAG = 0x80000000 CAN_EFF_ID_BITS = 0x1d CAN_EFF_MASK = 0x1fffffff CAN_ERROR_PASSIVE_THRESHOLD = 0x80 CAN_ERROR_WARNING_THRESHOLD = 0x60 CAN_ERR_ACK = 0x20 CAN_ERR_BUSERROR = 0x80 CAN_ERR_BUSOFF = 0x40 CAN_ERR_CNT = 0x200 CAN_ERR_CRTL = 0x4 CAN_ERR_CRTL_ACTIVE = 0x40 CAN_ERR_CRTL_RX_OVERFLOW = 0x1 CAN_ERR_CRTL_RX_PASSIVE = 0x10 CAN_ERR_CRTL_RX_WARNING = 0x4 CAN_ERR_CRTL_TX_OVERFLOW = 0x2 CAN_ERR_CRTL_TX_PASSIVE = 0x20 CAN_ERR_CRTL_TX_WARNING = 0x8 CAN_ERR_CRTL_UNSPEC = 0x0 CAN_ERR_DLC = 0x8 CAN_ERR_FLAG = 0x20000000 CAN_ERR_LOSTARB = 0x2 CAN_ERR_LOSTARB_UNSPEC = 0x0 CAN_ERR_MASK = 0x1fffffff CAN_ERR_PROT = 0x8 CAN_ERR_PROT_ACTIVE = 0x40 CAN_ERR_PROT_BIT = 0x1 CAN_ERR_PROT_BIT0 = 0x8 CAN_ERR_PROT_BIT1 = 0x10 CAN_ERR_PROT_FORM = 0x2 CAN_ERR_PROT_LOC_ACK = 0x19 CAN_ERR_PROT_LOC_ACK_DEL = 0x1b CAN_ERR_PROT_LOC_CRC_DEL = 0x18 CAN_ERR_PROT_LOC_CRC_SEQ = 0x8 CAN_ERR_PROT_LOC_DATA = 0xa CAN_ERR_PROT_LOC_DLC = 0xb CAN_ERR_PROT_LOC_EOF = 0x1a CAN_ERR_PROT_LOC_ID04_00 = 0xe CAN_ERR_PROT_LOC_ID12_05 = 0xf CAN_ERR_PROT_LOC_ID17_13 = 0x7 CAN_ERR_PROT_LOC_ID20_18 = 0x6 CAN_ERR_PROT_LOC_ID28_21 = 0x2 CAN_ERR_PROT_LOC_IDE = 0x5 CAN_ERR_PROT_LOC_INTERM = 0x12 CAN_ERR_PROT_LOC_RES0 = 0x9 CAN_ERR_PROT_LOC_RES1 = 0xd CAN_ERR_PROT_LOC_RTR = 0xc CAN_ERR_PROT_LOC_SOF = 0x3 CAN_ERR_PROT_LOC_SRTR = 0x4 CAN_ERR_PROT_LOC_UNSPEC = 0x0 CAN_ERR_PROT_OVERLOAD = 0x20 CAN_ERR_PROT_STUFF = 0x4 CAN_ERR_PROT_TX = 0x80 CAN_ERR_PROT_UNSPEC = 0x0 CAN_ERR_RESTARTED = 0x100 CAN_ERR_TRX = 0x10 CAN_ERR_TRX_CANH_NO_WIRE = 0x4 CAN_ERR_TRX_CANH_SHORT_TO_BAT = 0x5 CAN_ERR_TRX_CANH_SHORT_TO_GND = 0x7 CAN_ERR_TRX_CANH_SHORT_TO_VCC = 0x6 CAN_ERR_TRX_CANL_NO_WIRE = 0x40 CAN_ERR_TRX_CANL_SHORT_TO_BAT = 0x50 CAN_ERR_TRX_CANL_SHORT_TO_CANH = 0x80 CAN_ERR_TRX_CANL_SHORT_TO_GND = 0x70 CAN_ERR_TRX_CANL_SHORT_TO_VCC = 0x60 CAN_ERR_TRX_UNSPEC = 0x0 CAN_ERR_TX_TIMEOUT = 0x1 CAN_INV_FILTER = 0x20000000 CAN_ISOTP = 0x6 CAN_J1939 = 0x7 CAN_MAX_DLC = 0x8 CAN_MAX_DLEN = 0x8 CAN_MAX_RAW_DLC = 0xf CAN_MCNET = 0x5 CAN_MTU = 0x10 CAN_NPROTO = 0x8 CAN_RAW = 0x1 CAN_RAW_FILTER_MAX = 0x200 CAN_RAW_XL_VCID_RX_FILTER = 0x4 CAN_RAW_XL_VCID_TX_PASS = 0x2 CAN_RAW_XL_VCID_TX_SET = 0x1 CAN_RTR_FLAG = 0x40000000 CAN_SFF_ID_BITS = 0xb CAN_SFF_MASK = 0x7ff CAN_TERMINATION_DISABLED = 0x0 CAN_TP16 = 0x3 CAN_TP20 = 0x4 CAP_AUDIT_CONTROL = 0x1e CAP_AUDIT_READ = 0x25 CAP_AUDIT_WRITE = 0x1d CAP_BLOCK_SUSPEND = 0x24 CAP_BPF = 0x27 CAP_CHECKPOINT_RESTORE = 0x28 CAP_CHOWN = 0x0 CAP_DAC_OVERRIDE = 0x1 CAP_DAC_READ_SEARCH = 0x2 CAP_FOWNER = 0x3 CAP_FSETID = 0x4 CAP_IPC_LOCK = 0xe CAP_IPC_OWNER = 0xf CAP_KILL = 0x5 CAP_LAST_CAP = 0x28 CAP_LEASE = 0x1c CAP_LINUX_IMMUTABLE = 0x9 CAP_MAC_ADMIN = 0x21 CAP_MAC_OVERRIDE = 0x20 CAP_MKNOD = 0x1b CAP_NET_ADMIN = 0xc CAP_NET_BIND_SERVICE = 0xa CAP_NET_BROADCAST = 0xb CAP_NET_RAW = 0xd CAP_PERFMON = 0x26 CAP_SETFCAP = 0x1f CAP_SETGID = 0x6 CAP_SETPCAP = 0x8 CAP_SETUID = 0x7 CAP_SYSLOG = 0x22 CAP_SYS_ADMIN = 0x15 CAP_SYS_BOOT = 0x16 CAP_SYS_CHROOT = 0x12 CAP_SYS_MODULE = 0x10 CAP_SYS_NICE = 0x17 CAP_SYS_PACCT = 0x14 CAP_SYS_PTRACE = 0x13 CAP_SYS_RAWIO = 0x11 CAP_SYS_RESOURCE = 0x18 CAP_SYS_TIME = 0x19 CAP_SYS_TTY_CONFIG = 0x1a CAP_WAKE_ALARM = 0x23 CEPH_SUPER_MAGIC = 0xc36400 CFLUSH = 0xf CGROUP2_SUPER_MAGIC = 0x63677270 CGROUP_SUPER_MAGIC = 0x27e0eb CIFS_SUPER_MAGIC = 0xff534d42 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_ARGS_SIZE_VER0 = 0x40 CLONE_ARGS_SIZE_VER1 = 0x50 CLONE_ARGS_SIZE_VER2 = 0x58 CLONE_CHILD_CLEARTID = 0x200000 CLONE_CHILD_SETTID = 0x1000000 CLONE_CLEAR_SIGHAND = 0x100000000 CLONE_DETACHED = 0x400000 CLONE_FILES = 0x400 CLONE_FS = 0x200 CLONE_INTO_CGROUP = 0x200000000 CLONE_IO = 0x80000000 CLONE_NEWCGROUP = 0x2000000 CLONE_NEWIPC = 0x8000000 CLONE_NEWNET = 0x40000000 CLONE_NEWNS = 0x20000 CLONE_NEWPID = 0x20000000 CLONE_NEWTIME = 0x80 CLONE_NEWUSER = 0x10000000 CLONE_NEWUTS = 0x4000000 CLONE_PARENT = 0x8000 CLONE_PARENT_SETTID = 0x100000 CLONE_PIDFD = 0x1000 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 CODA_SUPER_MAGIC = 0x73757245 CR0 = 0x0 CRAMFS_MAGIC = 0x28cd3d45 CRTSCTS = 0x80000000 CRYPTO_MAX_NAME = 0x40 CRYPTO_MSG_MAX = 0x15 CRYPTO_NR_MSGTYPES = 0x6 CRYPTO_REPORT_MAXSIZE = 0x160 CS5 = 0x0 CSIGNAL = 0xff CSTART = 0x11 CSTATUS = 0x0 CSTOP = 0x13 CSUSP = 0x1a DAXFS_MAGIC = 0x64646178 DEBUGFS_MAGIC = 0x64626720 DEVLINK_CMD_ESWITCH_MODE_GET = 0x1d DEVLINK_CMD_ESWITCH_MODE_SET = 0x1e DEVLINK_FLASH_OVERWRITE_IDENTIFIERS = 0x2 DEVLINK_FLASH_OVERWRITE_SETTINGS = 0x1 DEVLINK_GENL_MCGRP_CONFIG_NAME = "config" DEVLINK_GENL_NAME = "devlink" DEVLINK_GENL_VERSION = 0x1 DEVLINK_PORT_FN_CAP_IPSEC_CRYPTO = 0x4 DEVLINK_PORT_FN_CAP_IPSEC_PACKET = 0x8 DEVLINK_PORT_FN_CAP_MIGRATABLE = 0x2 DEVLINK_PORT_FN_CAP_ROCE = 0x1 DEVLINK_SB_THRESHOLD_TO_ALPHA_MAX = 0x14 DEVLINK_SUPPORTED_FLASH_OVERWRITE_SECTIONS = 0x3 DEVMEM_MAGIC = 0x454d444d DEVPTS_SUPER_MAGIC = 0x1cd1 DMA_BUF_MAGIC = 0x444d4142 DM_ACTIVE_PRESENT_FLAG = 0x20 DM_BUFFER_FULL_FLAG = 0x100 DM_CONTROL_NODE = "control" DM_DATA_OUT_FLAG = 0x10000 DM_DEFERRED_REMOVE = 0x20000 DM_DEV_ARM_POLL = 0xc138fd10 DM_DEV_CREATE = 0xc138fd03 DM_DEV_REMOVE = 0xc138fd04 DM_DEV_RENAME = 0xc138fd05 DM_DEV_SET_GEOMETRY = 0xc138fd0f DM_DEV_STATUS = 0xc138fd07 DM_DEV_SUSPEND = 0xc138fd06 DM_DEV_WAIT = 0xc138fd08 DM_DIR = "mapper" DM_GET_TARGET_VERSION = 0xc138fd11 DM_IMA_MEASUREMENT_FLAG = 0x80000 DM_INACTIVE_PRESENT_FLAG = 0x40 DM_INTERNAL_SUSPEND_FLAG = 0x40000 DM_IOCTL = 0xfd DM_LIST_DEVICES = 0xc138fd02 DM_LIST_VERSIONS = 0xc138fd0d DM_MAX_TYPE_NAME = 0x10 DM_NAME_LEN = 0x80 DM_NAME_LIST_FLAG_DOESNT_HAVE_UUID = 0x2 DM_NAME_LIST_FLAG_HAS_UUID = 0x1 DM_NOFLUSH_FLAG = 0x800 DM_PERSISTENT_DEV_FLAG = 0x8 DM_QUERY_INACTIVE_TABLE_FLAG = 0x1000 DM_READONLY_FLAG = 0x1 DM_REMOVE_ALL = 0xc138fd01 DM_SECURE_DATA_FLAG = 0x8000 DM_SKIP_BDGET_FLAG = 0x200 DM_SKIP_LOCKFS_FLAG = 0x400 DM_STATUS_TABLE_FLAG = 0x10 DM_SUSPEND_FLAG = 0x2 DM_TABLE_CLEAR = 0xc138fd0a DM_TABLE_DEPS = 0xc138fd0b DM_TABLE_LOAD = 0xc138fd09 DM_TABLE_STATUS = 0xc138fd0c DM_TARGET_MSG = 0xc138fd0e DM_UEVENT_GENERATED_FLAG = 0x2000 DM_UUID_FLAG = 0x4000 DM_UUID_LEN = 0x81 DM_VERSION = 0xc138fd00 DM_VERSION_EXTRA = "-ioctl (2023-03-01)" DM_VERSION_MAJOR = 0x4 DM_VERSION_MINOR = 0x30 DM_VERSION_PATCHLEVEL = 0x0 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 ECRYPTFS_SUPER_MAGIC = 0xf15f EFD_SEMAPHORE = 0x1 EFIVARFS_MAGIC = 0xde5e81e4 EFS_SUPER_MAGIC = 0x414a53 EM_386 = 0x3 EM_486 = 0x6 EM_68K = 0x4 EM_860 = 0x7 EM_88K = 0x5 EM_AARCH64 = 0xb7 EM_ALPHA = 0x9026 EM_ALTERA_NIOS2 = 0x71 EM_ARCOMPACT = 0x5d EM_ARCV2 = 0xc3 EM_ARM = 0x28 EM_BLACKFIN = 0x6a EM_BPF = 0xf7 EM_CRIS = 0x4c EM_CSKY = 0xfc EM_CYGNUS_M32R = 0x9041 EM_CYGNUS_MN10300 = 0xbeef EM_FRV = 0x5441 EM_H8_300 = 0x2e EM_HEXAGON = 0xa4 EM_IA_64 = 0x32 EM_LOONGARCH = 0x102 EM_M32 = 0x1 EM_M32R = 0x58 EM_MICROBLAZE = 0xbd EM_MIPS = 0x8 EM_MIPS_RS3_LE = 0xa EM_MIPS_RS4_BE = 0xa EM_MN10300 = 0x59 EM_NDS32 = 0xa7 EM_NONE = 0x0 EM_OPENRISC = 0x5c EM_PARISC = 0xf EM_PPC = 0x14 EM_PPC64 = 0x15 EM_RISCV = 0xf3 EM_S390 = 0x16 EM_S390_OLD = 0xa390 EM_SH = 0x2a EM_SPARC = 0x2 EM_SPARC32PLUS = 0x12 EM_SPARCV9 = 0x2b EM_SPU = 0x17 EM_TILEGX = 0xbf EM_TILEPRO = 0xbc EM_TI_C6000 = 0x8c EM_UNICORE = 0x6e EM_X86_64 = 0x3e EM_XTENSA = 0x5e 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_CTL_ADD = 0x1 EPOLL_CTL_DEL = 0x2 EPOLL_CTL_MOD = 0x3 EPOLL_IOC_TYPE = 0x8a EROFS_SUPER_MAGIC_V1 = 0xe0f5e1e2 ESP_V4_FLOW = 0xa ESP_V6_FLOW = 0xc ETHER_FLOW = 0x12 ETHTOOL_BUSINFO_LEN = 0x20 ETHTOOL_EROMVERS_LEN = 0x20 ETHTOOL_FEC_AUTO = 0x2 ETHTOOL_FEC_BASER = 0x10 ETHTOOL_FEC_LLRS = 0x20 ETHTOOL_FEC_NONE = 0x1 ETHTOOL_FEC_OFF = 0x4 ETHTOOL_FEC_RS = 0x8 ETHTOOL_FLAG_ALL = 0x7 ETHTOOL_FLASHDEV = 0x33 ETHTOOL_FLASH_MAX_FILENAME = 0x80 ETHTOOL_FWVERS_LEN = 0x20 ETHTOOL_F_COMPAT = 0x4 ETHTOOL_F_UNSUPPORTED = 0x1 ETHTOOL_F_WISH = 0x2 ETHTOOL_GCHANNELS = 0x3c ETHTOOL_GCOALESCE = 0xe ETHTOOL_GDRVINFO = 0x3 ETHTOOL_GEEE = 0x44 ETHTOOL_GEEPROM = 0xb ETHTOOL_GENL_NAME = "ethtool" ETHTOOL_GENL_VERSION = 0x1 ETHTOOL_GET_DUMP_DATA = 0x40 ETHTOOL_GET_DUMP_FLAG = 0x3f ETHTOOL_GET_TS_INFO = 0x41 ETHTOOL_GFEATURES = 0x3a ETHTOOL_GFECPARAM = 0x50 ETHTOOL_GFLAGS = 0x25 ETHTOOL_GGRO = 0x2b ETHTOOL_GGSO = 0x23 ETHTOOL_GLINK = 0xa ETHTOOL_GLINKSETTINGS = 0x4c ETHTOOL_GMODULEEEPROM = 0x43 ETHTOOL_GMODULEINFO = 0x42 ETHTOOL_GMSGLVL = 0x7 ETHTOOL_GPAUSEPARAM = 0x12 ETHTOOL_GPERMADDR = 0x20 ETHTOOL_GPFLAGS = 0x27 ETHTOOL_GPHYSTATS = 0x4a ETHTOOL_GREGS = 0x4 ETHTOOL_GRINGPARAM = 0x10 ETHTOOL_GRSSH = 0x46 ETHTOOL_GRXCLSRLALL = 0x30 ETHTOOL_GRXCLSRLCNT = 0x2e ETHTOOL_GRXCLSRULE = 0x2f ETHTOOL_GRXCSUM = 0x14 ETHTOOL_GRXFH = 0x29 ETHTOOL_GRXFHINDIR = 0x38 ETHTOOL_GRXNTUPLE = 0x36 ETHTOOL_GRXRINGS = 0x2d ETHTOOL_GSET = 0x1 ETHTOOL_GSG = 0x18 ETHTOOL_GSSET_INFO = 0x37 ETHTOOL_GSTATS = 0x1d ETHTOOL_GSTRINGS = 0x1b ETHTOOL_GTSO = 0x1e ETHTOOL_GTUNABLE = 0x48 ETHTOOL_GTXCSUM = 0x16 ETHTOOL_GUFO = 0x21 ETHTOOL_GWOL = 0x5 ETHTOOL_MCGRP_MONITOR_NAME = "monitor" ETHTOOL_NWAY_RST = 0x9 ETHTOOL_PERQUEUE = 0x4b ETHTOOL_PHYS_ID = 0x1c ETHTOOL_PHY_EDPD_DFLT_TX_MSECS = 0xffff ETHTOOL_PHY_EDPD_DISABLE = 0x0 ETHTOOL_PHY_EDPD_NO_TX = 0xfffe ETHTOOL_PHY_FAST_LINK_DOWN_OFF = 0xff ETHTOOL_PHY_FAST_LINK_DOWN_ON = 0x0 ETHTOOL_PHY_GTUNABLE = 0x4e ETHTOOL_PHY_STUNABLE = 0x4f ETHTOOL_RESET = 0x34 ETHTOOL_RXNTUPLE_ACTION_CLEAR = -0x2 ETHTOOL_RXNTUPLE_ACTION_DROP = -0x1 ETHTOOL_RX_FLOW_SPEC_RING = 0xffffffff ETHTOOL_RX_FLOW_SPEC_RING_VF = 0xff00000000 ETHTOOL_RX_FLOW_SPEC_RING_VF_OFF = 0x20 ETHTOOL_SCHANNELS = 0x3d ETHTOOL_SCOALESCE = 0xf ETHTOOL_SEEE = 0x45 ETHTOOL_SEEPROM = 0xc ETHTOOL_SET_DUMP = 0x3e ETHTOOL_SFEATURES = 0x3b ETHTOOL_SFECPARAM = 0x51 ETHTOOL_SFLAGS = 0x26 ETHTOOL_SGRO = 0x2c ETHTOOL_SGSO = 0x24 ETHTOOL_SLINKSETTINGS = 0x4d ETHTOOL_SMSGLVL = 0x8 ETHTOOL_SPAUSEPARAM = 0x13 ETHTOOL_SPFLAGS = 0x28 ETHTOOL_SRINGPARAM = 0x11 ETHTOOL_SRSSH = 0x47 ETHTOOL_SRXCLSRLDEL = 0x31 ETHTOOL_SRXCLSRLINS = 0x32 ETHTOOL_SRXCSUM = 0x15 ETHTOOL_SRXFH = 0x2a ETHTOOL_SRXFHINDIR = 0x39 ETHTOOL_SRXNTUPLE = 0x35 ETHTOOL_SSET = 0x2 ETHTOOL_SSG = 0x19 ETHTOOL_STSO = 0x1f ETHTOOL_STUNABLE = 0x49 ETHTOOL_STXCSUM = 0x17 ETHTOOL_SUFO = 0x22 ETHTOOL_SWOL = 0x6 ETHTOOL_TEST = 0x1a 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_CANXL = 0xe ETH_P_CFM = 0x8902 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_DSA_8021Q = 0xdadb ETH_P_DSA_A5PSW = 0xe001 ETH_P_ECONET = 0x18 ETH_P_EDSA = 0xdada ETH_P_ERSPAN = 0x88be ETH_P_ERSPAN2 = 0x22eb ETH_P_ETHERCAT = 0x88a4 ETH_P_FCOE = 0x8906 ETH_P_FIP = 0x8914 ETH_P_HDLC = 0x19 ETH_P_HSR = 0x892f ETH_P_IBOE = 0x8915 ETH_P_IEEE802154 = 0xf6 ETH_P_IEEEPUP = 0xa00 ETH_P_IEEEPUPAT = 0xa01 ETH_P_IFE = 0xed3e 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_LLDP = 0x88cc ETH_P_LOCALTALK = 0x9 ETH_P_LOOP = 0x60 ETH_P_LOOPBACK = 0x9000 ETH_P_MACSEC = 0x88e5 ETH_P_MAP = 0xf9 ETH_P_MCTP = 0xfa ETH_P_MOBITEX = 0x15 ETH_P_MPLS_MC = 0x8848 ETH_P_MPLS_UC = 0x8847 ETH_P_MRP = 0x88e3 ETH_P_MVRP = 0x88f5 ETH_P_NCSI = 0x88f8 ETH_P_NSH = 0x894f 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_PREAUTH = 0x88c7 ETH_P_PROFINET = 0x8892 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_REALTEK = 0x8899 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 EV_ABS = 0x3 EV_CNT = 0x20 EV_FF = 0x15 EV_FF_STATUS = 0x17 EV_KEY = 0x1 EV_LED = 0x11 EV_MAX = 0x1f EV_MSC = 0x4 EV_PWR = 0x16 EV_REL = 0x2 EV_REP = 0x14 EV_SND = 0x12 EV_SW = 0x5 EV_SYN = 0x0 EV_VERSION = 0x10001 EXABYTE_ENABLE_NEST = 0xf0 EXFAT_SUPER_MAGIC = 0x2011bab0 EXT2_SUPER_MAGIC = 0xef53 EXT3_SUPER_MAGIC = 0xef53 EXT4_SUPER_MAGIC = 0xef53 EXTA = 0xe EXTB = 0xf F2FS_SUPER_MAGIC = 0xf2f52010 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 FANOTIFY_METADATA_VERSION = 0x3 FAN_ACCESS = 0x1 FAN_ACCESS_PERM = 0x20000 FAN_ALLOW = 0x1 FAN_ALL_CLASS_BITS = 0xc FAN_ALL_EVENTS = 0x3b FAN_ALL_INIT_FLAGS = 0x3f FAN_ALL_MARK_FLAGS = 0xff FAN_ALL_OUTGOING_EVENTS = 0x3403b FAN_ALL_PERM_EVENTS = 0x30000 FAN_ATTRIB = 0x4 FAN_AUDIT = 0x10 FAN_CLASS_CONTENT = 0x4 FAN_CLASS_NOTIF = 0x0 FAN_CLASS_PRE_CONTENT = 0x8 FAN_CLOEXEC = 0x1 FAN_CLOSE = 0x18 FAN_CLOSE_NOWRITE = 0x10 FAN_CLOSE_WRITE = 0x8 FAN_CREATE = 0x100 FAN_DELETE = 0x200 FAN_DELETE_SELF = 0x400 FAN_DENY = 0x2 FAN_ENABLE_AUDIT = 0x40 FAN_EPIDFD = -0x2 FAN_EVENT_INFO_TYPE_DFID = 0x3 FAN_EVENT_INFO_TYPE_DFID_NAME = 0x2 FAN_EVENT_INFO_TYPE_ERROR = 0x5 FAN_EVENT_INFO_TYPE_FID = 0x1 FAN_EVENT_INFO_TYPE_NEW_DFID_NAME = 0xc FAN_EVENT_INFO_TYPE_OLD_DFID_NAME = 0xa FAN_EVENT_INFO_TYPE_PIDFD = 0x4 FAN_EVENT_METADATA_LEN = 0x18 FAN_EVENT_ON_CHILD = 0x8000000 FAN_FS_ERROR = 0x8000 FAN_INFO = 0x20 FAN_MARK_ADD = 0x1 FAN_MARK_DONT_FOLLOW = 0x4 FAN_MARK_EVICTABLE = 0x200 FAN_MARK_FILESYSTEM = 0x100 FAN_MARK_FLUSH = 0x80 FAN_MARK_IGNORE = 0x400 FAN_MARK_IGNORED_MASK = 0x20 FAN_MARK_IGNORED_SURV_MODIFY = 0x40 FAN_MARK_IGNORE_SURV = 0x440 FAN_MARK_INODE = 0x0 FAN_MARK_MOUNT = 0x10 FAN_MARK_ONLYDIR = 0x8 FAN_MARK_REMOVE = 0x2 FAN_MODIFY = 0x2 FAN_MOVE = 0xc0 FAN_MOVED_FROM = 0x40 FAN_MOVED_TO = 0x80 FAN_MOVE_SELF = 0x800 FAN_NOFD = -0x1 FAN_NONBLOCK = 0x2 FAN_NOPIDFD = -0x1 FAN_ONDIR = 0x40000000 FAN_OPEN = 0x20 FAN_OPEN_EXEC = 0x1000 FAN_OPEN_EXEC_PERM = 0x40000 FAN_OPEN_PERM = 0x10000 FAN_Q_OVERFLOW = 0x4000 FAN_RENAME = 0x10000000 FAN_REPORT_DFID_NAME = 0xc00 FAN_REPORT_DFID_NAME_TARGET = 0x1e00 FAN_REPORT_DIR_FID = 0x400 FAN_REPORT_FID = 0x200 FAN_REPORT_NAME = 0x800 FAN_REPORT_PIDFD = 0x80 FAN_REPORT_TARGET_FID = 0x1000 FAN_REPORT_TID = 0x100 FAN_RESPONSE_INFO_AUDIT_RULE = 0x1 FAN_RESPONSE_INFO_NONE = 0x0 FAN_UNLIMITED_MARKS = 0x20 FAN_UNLIMITED_QUEUE = 0x10 FD_CLOEXEC = 0x1 FD_SETSIZE = 0x400 FF0 = 0x0 FIB_RULE_DEV_DETACHED = 0x8 FIB_RULE_FIND_SADDR = 0x10000 FIB_RULE_IIF_DETACHED = 0x8 FIB_RULE_INVERT = 0x2 FIB_RULE_OIF_DETACHED = 0x10 FIB_RULE_PERMANENT = 0x1 FIB_RULE_UNRESOLVED = 0x4 FIDEDUPERANGE = 0xc0189436 FSCRYPT_KEY_DESCRIPTOR_SIZE = 0x8 FSCRYPT_KEY_DESC_PREFIX = "fscrypt:" FSCRYPT_KEY_DESC_PREFIX_SIZE = 0x8 FSCRYPT_KEY_IDENTIFIER_SIZE = 0x10 FSCRYPT_KEY_REMOVAL_STATUS_FLAG_FILES_BUSY = 0x1 FSCRYPT_KEY_REMOVAL_STATUS_FLAG_OTHER_USERS = 0x2 FSCRYPT_KEY_SPEC_TYPE_DESCRIPTOR = 0x1 FSCRYPT_KEY_SPEC_TYPE_IDENTIFIER = 0x2 FSCRYPT_KEY_STATUS_ABSENT = 0x1 FSCRYPT_KEY_STATUS_FLAG_ADDED_BY_SELF = 0x1 FSCRYPT_KEY_STATUS_INCOMPLETELY_REMOVED = 0x3 FSCRYPT_KEY_STATUS_PRESENT = 0x2 FSCRYPT_MAX_KEY_SIZE = 0x40 FSCRYPT_MODE_ADIANTUM = 0x9 FSCRYPT_MODE_AES_128_CBC = 0x5 FSCRYPT_MODE_AES_128_CTS = 0x6 FSCRYPT_MODE_AES_256_CTS = 0x4 FSCRYPT_MODE_AES_256_HCTR2 = 0xa FSCRYPT_MODE_AES_256_XTS = 0x1 FSCRYPT_MODE_SM4_CTS = 0x8 FSCRYPT_MODE_SM4_XTS = 0x7 FSCRYPT_POLICY_FLAGS_PAD_16 = 0x2 FSCRYPT_POLICY_FLAGS_PAD_32 = 0x3 FSCRYPT_POLICY_FLAGS_PAD_4 = 0x0 FSCRYPT_POLICY_FLAGS_PAD_8 = 0x1 FSCRYPT_POLICY_FLAGS_PAD_MASK = 0x3 FSCRYPT_POLICY_FLAG_DIRECT_KEY = 0x4 FSCRYPT_POLICY_FLAG_IV_INO_LBLK_32 = 0x10 FSCRYPT_POLICY_FLAG_IV_INO_LBLK_64 = 0x8 FSCRYPT_POLICY_V1 = 0x0 FSCRYPT_POLICY_V2 = 0x2 FS_ENCRYPTION_MODE_ADIANTUM = 0x9 FS_ENCRYPTION_MODE_AES_128_CBC = 0x5 FS_ENCRYPTION_MODE_AES_128_CTS = 0x6 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_ADD_ENCRYPTION_KEY = 0xc0506617 FS_IOC_GET_ENCRYPTION_KEY_STATUS = 0xc080661a FS_IOC_GET_ENCRYPTION_POLICY_EX = 0xc0096616 FS_IOC_MEASURE_VERITY = 0xc0046686 FS_IOC_READ_VERITY_METADATA = 0xc0286687 FS_IOC_REMOVE_ENCRYPTION_KEY = 0xc0406618 FS_IOC_REMOVE_ENCRYPTION_KEY_ALL_USERS = 0xc0406619 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 = 0x7 FS_VERITY_FL = 0x100000 FS_VERITY_HASH_ALG_SHA256 = 0x1 FS_VERITY_HASH_ALG_SHA512 = 0x2 FS_VERITY_METADATA_TYPE_DESCRIPTOR = 0x2 FS_VERITY_METADATA_TYPE_MERKLE_TREE = 0x1 FS_VERITY_METADATA_TYPE_SIGNATURE = 0x3 FUSE_SUPER_MAGIC = 0x65735546 FUTEXFS_SUPER_MAGIC = 0xbad1dea F_ADD_SEALS = 0x409 F_DUPFD = 0x0 F_DUPFD_CLOEXEC = 0x406 F_EXLCK = 0x4 F_GETFD = 0x1 F_GETFL = 0x3 F_GETLEASE = 0x401 F_GETOWN_EX = 0x10 F_GETPIPE_SZ = 0x408 F_GETSIG = 0xb F_GET_FILE_RW_HINT = 0x40d F_GET_RW_HINT = 0x40b F_GET_SEALS = 0x40a F_LOCK = 0x1 F_NOTIFY = 0x402 F_OFD_GETLK = 0x24 F_OFD_SETLK = 0x25 F_OFD_SETLKW = 0x26 F_OK = 0x0 F_SEAL_EXEC = 0x20 F_SEAL_FUTURE_WRITE = 0x10 F_SEAL_GROW = 0x4 F_SEAL_SEAL = 0x1 F_SEAL_SHRINK = 0x2 F_SEAL_WRITE = 0x8 F_SETFD = 0x2 F_SETFL = 0x4 F_SETLEASE = 0x400 F_SETOWN_EX = 0xf F_SETPIPE_SZ = 0x407 F_SETSIG = 0xa F_SET_FILE_RW_HINT = 0x40e F_SET_RW_HINT = 0x40c F_SHLCK = 0x8 F_TEST = 0x3 F_TLOCK = 0x2 F_ULOCK = 0x0 GENL_ADMIN_PERM = 0x1 GENL_CMD_CAP_DO = 0x2 GENL_CMD_CAP_DUMP = 0x4 GENL_CMD_CAP_HASPOL = 0x8 GENL_HDRLEN = 0x4 GENL_ID_CTRL = 0x10 GENL_ID_PMCRAID = 0x12 GENL_ID_VFS_DQUOT = 0x11 GENL_MAX_ID = 0x3ff GENL_MIN_ID = 0x10 GENL_NAMSIZ = 0x10 GENL_START_ALLOC = 0x13 GENL_UNS_ADMIN_PERM = 0x10 GRND_INSECURE = 0x4 GRND_NONBLOCK = 0x1 GRND_RANDOM = 0x2 HDIO_DRIVE_CMD = 0x31f HDIO_DRIVE_CMD_AEB = 0x31e HDIO_DRIVE_CMD_HDR_SIZE = 0x4 HDIO_DRIVE_HOB_HDR_SIZE = 0x8 HDIO_DRIVE_RESET = 0x31c HDIO_DRIVE_TASK = 0x31e HDIO_DRIVE_TASKFILE = 0x31d HDIO_DRIVE_TASK_HDR_SIZE = 0x8 HDIO_GETGEO = 0x301 HDIO_GET_32BIT = 0x309 HDIO_GET_ACOUSTIC = 0x30f HDIO_GET_ADDRESS = 0x310 HDIO_GET_BUSSTATE = 0x31a HDIO_GET_DMA = 0x30b HDIO_GET_IDENTITY = 0x30d HDIO_GET_KEEPSETTINGS = 0x308 HDIO_GET_MULTCOUNT = 0x304 HDIO_GET_NICE = 0x30c HDIO_GET_NOWERR = 0x30a HDIO_GET_QDMA = 0x305 HDIO_GET_UNMASKINTR = 0x302 HDIO_GET_WCACHE = 0x30e HDIO_OBSOLETE_IDENTITY = 0x307 HDIO_SCAN_HWIF = 0x328 HDIO_SET_32BIT = 0x324 HDIO_SET_ACOUSTIC = 0x32c HDIO_SET_ADDRESS = 0x32f HDIO_SET_BUSSTATE = 0x32d HDIO_SET_DMA = 0x326 HDIO_SET_KEEPSETTINGS = 0x323 HDIO_SET_MULTCOUNT = 0x321 HDIO_SET_NICE = 0x329 HDIO_SET_NOWERR = 0x325 HDIO_SET_PIO_MODE = 0x327 HDIO_SET_QDMA = 0x32e HDIO_SET_UNMASKINTR = 0x322 HDIO_SET_WCACHE = 0x32b HDIO_SET_XFER = 0x306 HDIO_TRISTATE_HWIF = 0x31b HDIO_UNREGISTER_HWIF = 0x32a HID_MAX_DESCRIPTOR_SIZE = 0x1000 HOSTFS_SUPER_MAGIC = 0xc0ffee HPFS_SUPER_MAGIC = 0xf995e849 HUGETLBFS_MAGIC = 0x958458f6 IBSHIFT = 0x10 ICRNL = 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 = 0xb 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_NAPI = 0x10 IFF_NAPI_FRAGS = 0x20 IFF_NOARP = 0x80 IFF_NOFILTER = 0x1000 IFF_NOTRAILERS = 0x20 IFF_NO_CARRIER = 0x40 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_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_MASK_CREATE = 0x10000000 IN_MODIFY = 0x2 IN_MOVE = 0xc0 IN_MOVED_FROM = 0x40 IN_MOVED_TO = 0x80 IN_MOVE_SELF = 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_ETHERNET = 0x8f 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_L2TP = 0x73 IPPROTO_MH = 0x87 IPPROTO_MPLS = 0x89 IPPROTO_MPTCP = 0x106 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_ADDR_PREFERENCES = 0x48 IPV6_ADD_MEMBERSHIP = 0x14 IPV6_AUTHHDR = 0xa IPV6_AUTOFLOWLABEL = 0x46 IPV6_CHECKSUM = 0x7 IPV6_DONTFRAG = 0x3e IPV6_DROP_MEMBERSHIP = 0x15 IPV6_DSTOPTS = 0x3b IPV6_FLOW = 0x11 IPV6_FREEBIND = 0x4e 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_MINHOPCOUNT = 0x49 IPV6_MTU = 0x18 IPV6_MTU_DISCOVER = 0x17 IPV6_MULTICAST_ALL = 0x1d IPV6_MULTICAST_HOPS = 0x12 IPV6_MULTICAST_IF = 0x11 IPV6_MULTICAST_LOOP = 0x13 IPV6_NEXTHOP = 0x9 IPV6_ORIGDSTADDR = 0x4a 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_RECVERR_RFC4884 = 0x1f IPV6_RECVFRAGSIZE = 0x4d IPV6_RECVHOPLIMIT = 0x33 IPV6_RECVHOPOPTS = 0x35 IPV6_RECVORIGDSTADDR = 0x4a IPV6_RECVPATHMTU = 0x3c IPV6_RECVPKTINFO = 0x31 IPV6_RECVRTHDR = 0x38 IPV6_RECVTCLASS = 0x42 IPV6_ROUTER_ALERT = 0x16 IPV6_ROUTER_ALERT_ISOLATE = 0x1e 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_TRANSPARENT = 0x4b IPV6_UNICAST_HOPS = 0x10 IPV6_UNICAST_IF = 0x4c IPV6_USER_FLOW = 0xe 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_LOCAL_PORT_RANGE = 0x33 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_PROTOCOL = 0x34 IP_RECVERR = 0xb IP_RECVERR_RFC4884 = 0x1a IP_RECVFRAGSIZE = 0x19 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_USER_FLOW = 0xd IP_XFRM_POLICY = 0x11 ISOFS_SUPER_MAGIC = 0x9660 ISTRIP = 0x20 ITIMER_PROF = 0x2 ITIMER_REAL = 0x0 ITIMER_VIRTUAL = 0x1 IUTF8 = 0x4000 IXANY = 0x800 JFFS2_SUPER_MAGIC = 0x72b6 KCMPROTO_CONNECTED = 0x0 KCM_RECV_DISABLE = 0x1 KEXEC_ARCH_386 = 0x30000 KEXEC_ARCH_68K = 0x40000 KEXEC_ARCH_AARCH64 = 0xb70000 KEXEC_ARCH_ARM = 0x280000 KEXEC_ARCH_DEFAULT = 0x0 KEXEC_ARCH_IA_64 = 0x320000 KEXEC_ARCH_LOONGARCH = 0x1020000 KEXEC_ARCH_MASK = 0xffff0000 KEXEC_ARCH_MIPS = 0x80000 KEXEC_ARCH_MIPS_LE = 0xa0000 KEXEC_ARCH_PARISC = 0xf0000 KEXEC_ARCH_PPC = 0x140000 KEXEC_ARCH_PPC64 = 0x150000 KEXEC_ARCH_RISCV = 0xf30000 KEXEC_ARCH_S390 = 0x160000 KEXEC_ARCH_SH = 0x2a0000 KEXEC_ARCH_X86_64 = 0x3e0000 KEXEC_CRASH_HOTPLUG_SUPPORT = 0x8 KEXEC_FILE_DEBUG = 0x8 KEXEC_FILE_NO_INITRAMFS = 0x4 KEXEC_FILE_ON_CRASH = 0x2 KEXEC_FILE_UNLOAD = 0x1 KEXEC_ON_CRASH = 0x1 KEXEC_PRESERVE_CONTEXT = 0x2 KEXEC_SEGMENT_MAX = 0x10 KEXEC_UPDATE_ELFCOREHDR = 0x4 KEYCTL_ASSUME_AUTHORITY = 0x10 KEYCTL_CAPABILITIES = 0x1f KEYCTL_CAPS0_BIG_KEY = 0x10 KEYCTL_CAPS0_CAPABILITIES = 0x1 KEYCTL_CAPS0_DIFFIE_HELLMAN = 0x4 KEYCTL_CAPS0_INVALIDATE = 0x20 KEYCTL_CAPS0_MOVE = 0x80 KEYCTL_CAPS0_PERSISTENT_KEYRINGS = 0x2 KEYCTL_CAPS0_PUBLIC_KEY = 0x8 KEYCTL_CAPS0_RESTRICT_KEYRING = 0x40 KEYCTL_CAPS1_NOTIFICATIONS = 0x4 KEYCTL_CAPS1_NS_KEYRING_NAME = 0x1 KEYCTL_CAPS1_NS_KEY_TAG = 0x2 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_MOVE = 0x1e KEYCTL_MOVE_EXCL = 0x1 KEYCTL_NEGATE = 0xd KEYCTL_PKEY_DECRYPT = 0x1a KEYCTL_PKEY_ENCRYPT = 0x19 KEYCTL_PKEY_QUERY = 0x18 KEYCTL_PKEY_SIGN = 0x1b KEYCTL_PKEY_VERIFY = 0x1c KEYCTL_READ = 0xb KEYCTL_REJECT = 0x13 KEYCTL_RESTRICT_KEYRING = 0x1d KEYCTL_REVOKE = 0x3 KEYCTL_SEARCH = 0xa KEYCTL_SESSION_TO_PARENT = 0x12 KEYCTL_SETPERM = 0x5 KEYCTL_SET_REQKEY_KEYRING = 0xe KEYCTL_SET_TIMEOUT = 0xf KEYCTL_SUPPORTS_DECRYPT = 0x2 KEYCTL_SUPPORTS_ENCRYPT = 0x1 KEYCTL_SUPPORTS_SIGN = 0x4 KEYCTL_SUPPORTS_VERIFY = 0x8 KEYCTL_UNLINK = 0x9 KEYCTL_UPDATE = 0x2 KEYCTL_WATCH_KEY = 0x20 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 LANDLOCK_ACCESS_FS_EXECUTE = 0x1 LANDLOCK_ACCESS_FS_IOCTL_DEV = 0x8000 LANDLOCK_ACCESS_FS_MAKE_BLOCK = 0x800 LANDLOCK_ACCESS_FS_MAKE_CHAR = 0x40 LANDLOCK_ACCESS_FS_MAKE_DIR = 0x80 LANDLOCK_ACCESS_FS_MAKE_FIFO = 0x400 LANDLOCK_ACCESS_FS_MAKE_REG = 0x100 LANDLOCK_ACCESS_FS_MAKE_SOCK = 0x200 LANDLOCK_ACCESS_FS_MAKE_SYM = 0x1000 LANDLOCK_ACCESS_FS_READ_DIR = 0x8 LANDLOCK_ACCESS_FS_READ_FILE = 0x4 LANDLOCK_ACCESS_FS_REFER = 0x2000 LANDLOCK_ACCESS_FS_REMOVE_DIR = 0x10 LANDLOCK_ACCESS_FS_REMOVE_FILE = 0x20 LANDLOCK_ACCESS_FS_TRUNCATE = 0x4000 LANDLOCK_ACCESS_FS_WRITE_FILE = 0x2 LANDLOCK_ACCESS_NET_BIND_TCP = 0x1 LANDLOCK_ACCESS_NET_CONNECT_TCP = 0x2 LANDLOCK_CREATE_RULESET_VERSION = 0x1 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 LOOP_CLR_FD = 0x4c01 LOOP_CONFIGURE = 0x4c0a LOOP_CTL_ADD = 0x4c80 LOOP_CTL_GET_FREE = 0x4c82 LOOP_CTL_REMOVE = 0x4c81 LOOP_GET_STATUS = 0x4c03 LOOP_GET_STATUS64 = 0x4c05 LOOP_SET_BLOCK_SIZE = 0x4c09 LOOP_SET_CAPACITY = 0x4c07 LOOP_SET_DIRECT_IO = 0x4c08 LOOP_SET_FD = 0x4c00 LOOP_SET_STATUS = 0x4c02 LOOP_SET_STATUS64 = 0x4c04 LOOP_SET_STATUS_CLEARABLE_FLAGS = 0x4 LOOP_SET_STATUS_SETTABLE_FLAGS = 0xc LO_KEY_SIZE = 0x20 LO_NAME_SIZE = 0x40 LWTUNNEL_IP6_MAX = 0x8 LWTUNNEL_IP_MAX = 0x8 LWTUNNEL_IP_OPTS_MAX = 0x3 LWTUNNEL_IP_OPT_ERSPAN_MAX = 0x4 LWTUNNEL_IP_OPT_GENEVE_MAX = 0x3 LWTUNNEL_IP_OPT_VXLAN_MAX = 0x1 MADV_COLD = 0x14 MADV_COLLAPSE = 0x19 MADV_DODUMP = 0x11 MADV_DOFORK = 0xb MADV_DONTDUMP = 0x10 MADV_DONTFORK = 0xa MADV_DONTNEED = 0x4 MADV_DONTNEED_LOCKED = 0x18 MADV_FREE = 0x8 MADV_HUGEPAGE = 0xe MADV_HWPOISON = 0x64 MADV_KEEPONFORK = 0x13 MADV_MERGEABLE = 0xc MADV_NOHUGEPAGE = 0xf MADV_NORMAL = 0x0 MADV_PAGEOUT = 0x15 MADV_POPULATE_READ = 0x16 MADV_POPULATE_WRITE = 0x17 MADV_RANDOM = 0x1 MADV_REMOVE = 0x9 MADV_SEQUENTIAL = 0x2 MADV_UNMERGEABLE = 0xd MADV_WILLNEED = 0x3 MADV_WIPEONFORK = 0x12 MAP_FILE = 0x0 MAP_FIXED = 0x10 MAP_FIXED_NOREPLACE = 0x100000 MAP_HUGE_16GB = 0x88000000 MAP_HUGE_16KB = 0x38000000 MAP_HUGE_16MB = 0x60000000 MAP_HUGE_1GB = 0x78000000 MAP_HUGE_1MB = 0x50000000 MAP_HUGE_256MB = 0x70000000 MAP_HUGE_2GB = 0x7c000000 MAP_HUGE_2MB = 0x54000000 MAP_HUGE_32MB = 0x64000000 MAP_HUGE_512KB = 0x4c000000 MAP_HUGE_512MB = 0x74000000 MAP_HUGE_64KB = 0x40000000 MAP_HUGE_8MB = 0x5c000000 MAP_HUGE_MASK = 0x3f MAP_HUGE_SHIFT = 0x1a MAP_PRIVATE = 0x2 MAP_SHARED = 0x1 MAP_SHARED_VALIDATE = 0x3 MAP_TYPE = 0xf MCAST_BLOCK_SOURCE = 0x2b MCAST_EXCLUDE = 0x0 MCAST_INCLUDE = 0x1 MCAST_JOIN_GROUP = 0x2a MCAST_JOIN_SOURCE_GROUP = 0x2e MCAST_LEAVE_GROUP = 0x2d MCAST_LEAVE_SOURCE_GROUP = 0x2f MCAST_MSFILTER = 0x30 MCAST_UNBLOCK_SOURCE = 0x2c MEMGETREGIONINFO = 0xc0104d08 MEMREADOOB64 = 0xc0184d16 MEMWRITE = 0xc0304d18 MEMWRITEOOB64 = 0xc0184d15 MFD_ALLOW_SEALING = 0x2 MFD_CLOEXEC = 0x1 MFD_EXEC = 0x10 MFD_HUGETLB = 0x4 MFD_HUGE_16GB = 0x88000000 MFD_HUGE_16MB = 0x60000000 MFD_HUGE_1GB = 0x78000000 MFD_HUGE_1MB = 0x50000000 MFD_HUGE_256MB = 0x70000000 MFD_HUGE_2GB = 0x7c000000 MFD_HUGE_2MB = 0x54000000 MFD_HUGE_32MB = 0x64000000 MFD_HUGE_512KB = 0x4c000000 MFD_HUGE_512MB = 0x74000000 MFD_HUGE_64KB = 0x40000000 MFD_HUGE_8MB = 0x5c000000 MFD_HUGE_MASK = 0x3f MFD_HUGE_SHIFT = 0x1a MFD_NOEXEC_SEAL = 0x8 MINIX2_SUPER_MAGIC = 0x2468 MINIX2_SUPER_MAGIC2 = 0x2478 MINIX3_SUPER_MAGIC = 0x4d5a MINIX_SUPER_MAGIC = 0x137f MINIX_SUPER_MAGIC2 = 0x138f MNT_DETACH = 0x2 MNT_EXPIRE = 0x4 MNT_FORCE = 0x1 MNT_ID_REQ_SIZE_VER0 = 0x18 MNT_ID_REQ_SIZE_VER1 = 0x20 MODULE_INIT_COMPRESSED_FILE = 0x4 MODULE_INIT_IGNORE_MODVERSIONS = 0x1 MODULE_INIT_IGNORE_VERMAGIC = 0x2 MOUNT_ATTR_IDMAP = 0x100000 MOUNT_ATTR_NOATIME = 0x10 MOUNT_ATTR_NODEV = 0x4 MOUNT_ATTR_NODIRATIME = 0x80 MOUNT_ATTR_NOEXEC = 0x8 MOUNT_ATTR_NOSUID = 0x2 MOUNT_ATTR_NOSYMFOLLOW = 0x200000 MOUNT_ATTR_RDONLY = 0x1 MOUNT_ATTR_RELATIME = 0x0 MOUNT_ATTR_SIZE_VER0 = 0x20 MOUNT_ATTR_STRICTATIME = 0x20 MOUNT_ATTR__ATIME = 0x70 MREMAP_DONTUNMAP = 0x4 MREMAP_FIXED = 0x2 MREMAP_MAYMOVE = 0x1 MSDOS_SUPER_MAGIC = 0x4d44 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 MSG_ZEROCOPY = 0x4000000 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_NOSYMFOLLOW = 0x100 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_SUBMOUNT = 0x4000000 MS_SYNC = 0x4 MS_SYNCHRONOUS = 0x10 MS_UNBINDABLE = 0x20000 MS_VERBOSE = 0x8000 MTD_ABSENT = 0x0 MTD_BIT_WRITEABLE = 0x800 MTD_CAP_NANDFLASH = 0x400 MTD_CAP_NORFLASH = 0xc00 MTD_CAP_NVRAM = 0x1c00 MTD_CAP_RAM = 0x1c00 MTD_CAP_ROM = 0x0 MTD_DATAFLASH = 0x6 MTD_INODE_FS_MAGIC = 0x11307854 MTD_MAX_ECCPOS_ENTRIES = 0x40 MTD_MAX_OOBFREE_ENTRIES = 0x8 MTD_MLCNANDFLASH = 0x8 MTD_NANDECC_AUTOPLACE = 0x2 MTD_NANDECC_AUTOPL_USR = 0x4 MTD_NANDECC_OFF = 0x0 MTD_NANDECC_PLACE = 0x1 MTD_NANDECC_PLACEONLY = 0x3 MTD_NANDFLASH = 0x4 MTD_NORFLASH = 0x3 MTD_NO_ERASE = 0x1000 MTD_OTP_FACTORY = 0x1 MTD_OTP_OFF = 0x0 MTD_OTP_USER = 0x2 MTD_POWERUP_LOCK = 0x2000 MTD_RAM = 0x1 MTD_ROM = 0x2 MTD_SLC_ON_MLC_EMULATION = 0x4000 MTD_UBIVOLUME = 0x7 MTD_WRITEABLE = 0x400 NAME_MAX = 0xff NCP_SUPER_MAGIC = 0x564c 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_EXT_ACK = 0xb NETLINK_FIB_LOOKUP = 0xa NETLINK_FIREWALL = 0x3 NETLINK_GENERIC = 0x10 NETLINK_GET_STRICT_CHK = 0xc 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_SMC = 0x16 NETLINK_SOCK_DIAG = 0x4 NETLINK_TX_RING = 0x7 NETLINK_UNUSED = 0x1 NETLINK_USERSOCK = 0x2 NETLINK_XFRM = 0x6 NETNSA_MAX = 0x5 NETNSA_NSID_NOT_ASSIGNED = -0x1 NFC_ATR_REQ_GB_MAXSIZE = 0x30 NFC_ATR_REQ_MAXSIZE = 0x40 NFC_ATR_RES_GB_MAXSIZE = 0x2f NFC_ATR_RES_MAXSIZE = 0x40 NFC_COMM_ACTIVE = 0x0 NFC_COMM_PASSIVE = 0x1 NFC_DEVICE_NAME_MAXSIZE = 0x8 NFC_DIRECTION_RX = 0x0 NFC_DIRECTION_TX = 0x1 NFC_FIRMWARE_NAME_MAXSIZE = 0x20 NFC_GB_MAXSIZE = 0x30 NFC_GENL_MCAST_EVENT_NAME = "events" NFC_GENL_NAME = "nfc" NFC_GENL_VERSION = 0x1 NFC_HEADER_SIZE = 0x1 NFC_ISO15693_UID_MAXSIZE = 0x8 NFC_LLCP_MAX_SERVICE_NAME = 0x3f NFC_LLCP_MIUX = 0x1 NFC_LLCP_REMOTE_LTO = 0x3 NFC_LLCP_REMOTE_MIU = 0x2 NFC_LLCP_REMOTE_RW = 0x4 NFC_LLCP_RW = 0x0 NFC_NFCID1_MAXSIZE = 0xa NFC_NFCID2_MAXSIZE = 0x8 NFC_NFCID3_MAXSIZE = 0xa NFC_PROTO_FELICA = 0x3 NFC_PROTO_FELICA_MASK = 0x8 NFC_PROTO_ISO14443 = 0x4 NFC_PROTO_ISO14443_B = 0x6 NFC_PROTO_ISO14443_B_MASK = 0x40 NFC_PROTO_ISO14443_MASK = 0x10 NFC_PROTO_ISO15693 = 0x7 NFC_PROTO_ISO15693_MASK = 0x80 NFC_PROTO_JEWEL = 0x1 NFC_PROTO_JEWEL_MASK = 0x2 NFC_PROTO_MAX = 0x8 NFC_PROTO_MIFARE = 0x2 NFC_PROTO_MIFARE_MASK = 0x4 NFC_PROTO_NFC_DEP = 0x5 NFC_PROTO_NFC_DEP_MASK = 0x20 NFC_RAW_HEADER_SIZE = 0x2 NFC_RF_INITIATOR = 0x0 NFC_RF_NONE = 0x2 NFC_RF_TARGET = 0x1 NFC_SENSB_RES_MAXSIZE = 0xc NFC_SENSF_RES_MAXSIZE = 0x12 NFC_SE_DISABLED = 0x0 NFC_SE_EMBEDDED = 0x2 NFC_SE_ENABLED = 0x1 NFC_SE_UICC = 0x1 NFC_SOCKPROTO_LLCP = 0x1 NFC_SOCKPROTO_MAX = 0x2 NFC_SOCKPROTO_RAW = 0x0 NFNETLINK_V0 = 0x0 NFNLGRP_ACCT_QUOTA = 0x8 NFNLGRP_CONNTRACK_DESTROY = 0x3 NFNLGRP_CONNTRACK_EXP_DESTROY = 0x6 NFNLGRP_CONNTRACK_EXP_NEW = 0x4 NFNLGRP_CONNTRACK_EXP_UPDATE = 0x5 NFNLGRP_CONNTRACK_NEW = 0x1 NFNLGRP_CONNTRACK_UPDATE = 0x2 NFNLGRP_MAX = 0x9 NFNLGRP_NFTABLES = 0x7 NFNLGRP_NFTRACE = 0x9 NFNLGRP_NONE = 0x0 NFNL_BATCH_MAX = 0x1 NFNL_MSG_BATCH_BEGIN = 0x10 NFNL_MSG_BATCH_END = 0x11 NFNL_NFA_NEST = 0x8000 NFNL_SUBSYS_ACCT = 0x7 NFNL_SUBSYS_COUNT = 0xd NFNL_SUBSYS_CTHELPER = 0x9 NFNL_SUBSYS_CTNETLINK = 0x1 NFNL_SUBSYS_CTNETLINK_EXP = 0x2 NFNL_SUBSYS_CTNETLINK_TIMEOUT = 0x8 NFNL_SUBSYS_HOOK = 0xc NFNL_SUBSYS_IPSET = 0x6 NFNL_SUBSYS_NFTABLES = 0xa NFNL_SUBSYS_NFT_COMPAT = 0xb NFNL_SUBSYS_NONE = 0x0 NFNL_SUBSYS_OSF = 0x5 NFNL_SUBSYS_QUEUE = 0x3 NFNL_SUBSYS_ULOG = 0x4 NFS_SUPER_MAGIC = 0x6969 NFT_CHAIN_FLAGS = 0x7 NFT_CHAIN_MAXNAMELEN = 0x100 NFT_CT_MAX = 0x17 NFT_DATA_RESERVED_MASK = 0xffffff00 NFT_DATA_VALUE_MAXLEN = 0x40 NFT_EXTHDR_OP_MAX = 0x4 NFT_FIB_RESULT_MAX = 0x3 NFT_INNER_MASK = 0xf NFT_LOGLEVEL_MAX = 0x8 NFT_NAME_MAXLEN = 0x100 NFT_NG_MAX = 0x1 NFT_OBJECT_CONNLIMIT = 0x5 NFT_OBJECT_COUNTER = 0x1 NFT_OBJECT_CT_EXPECT = 0x9 NFT_OBJECT_CT_HELPER = 0x3 NFT_OBJECT_CT_TIMEOUT = 0x7 NFT_OBJECT_LIMIT = 0x4 NFT_OBJECT_MAX = 0xa NFT_OBJECT_QUOTA = 0x2 NFT_OBJECT_SECMARK = 0x8 NFT_OBJECT_SYNPROXY = 0xa NFT_OBJECT_TUNNEL = 0x6 NFT_OBJECT_UNSPEC = 0x0 NFT_OBJ_MAXNAMELEN = 0x100 NFT_OSF_MAXGENRELEN = 0x10 NFT_QUEUE_FLAG_BYPASS = 0x1 NFT_QUEUE_FLAG_CPU_FANOUT = 0x2 NFT_QUEUE_FLAG_MASK = 0x3 NFT_REG32_COUNT = 0x10 NFT_REG32_SIZE = 0x4 NFT_REG_MAX = 0x4 NFT_REG_SIZE = 0x10 NFT_REJECT_ICMPX_MAX = 0x3 NFT_RT_MAX = 0x4 NFT_SECMARK_CTX_MAXLEN = 0x1000 NFT_SET_MAXNAMELEN = 0x100 NFT_SOCKET_MAX = 0x3 NFT_TABLE_F_MASK = 0x7 NFT_TABLE_MAXNAMELEN = 0x100 NFT_TRACETYPE_MAX = 0x3 NFT_TUNNEL_F_MASK = 0x7 NFT_TUNNEL_MAX = 0x1 NFT_TUNNEL_MODE_MAX = 0x2 NFT_USERDATA_MAXLEN = 0x100 NFT_XFRM_KEY_MAX = 0x6 NF_NAT_RANGE_MAP_IPS = 0x1 NF_NAT_RANGE_MASK = 0x7f NF_NAT_RANGE_NETMAP = 0x40 NF_NAT_RANGE_PERSISTENT = 0x8 NF_NAT_RANGE_PROTO_OFFSET = 0x20 NF_NAT_RANGE_PROTO_RANDOM = 0x4 NF_NAT_RANGE_PROTO_RANDOM_ALL = 0x14 NF_NAT_RANGE_PROTO_RANDOM_FULLY = 0x10 NF_NAT_RANGE_PROTO_SPECIFIED = 0x2 NILFS_SUPER_MAGIC = 0x3434 NL0 = 0x0 NL1 = 0x100 NLA_ALIGNTO = 0x4 NLA_F_NESTED = 0x8000 NLA_F_NET_BYTEORDER = 0x4000 NLA_HDRLEN = 0x4 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_ACK_TLVS = 0x200 NLM_F_APPEND = 0x800 NLM_F_ATOMIC = 0x400 NLM_F_BULK = 0x200 NLM_F_CAPPED = 0x100 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_NONREC = 0x100 NLM_F_REPLACE = 0x100 NLM_F_REQUEST = 0x1 NLM_F_ROOT = 0x100 NSFS_MAGIC = 0x6e736673 OCFS2_SUPER_MAGIC = 0x7461636f OCRNL = 0x8 OFDEL = 0x80 OFILL = 0x40 ONLRET = 0x20 ONOCR = 0x10 OPENPROM_SUPER_MAGIC = 0x9fa1 OPOST = 0x1 OVERLAYFS_SUPER_MAGIC = 0x794c7630 O_ACCMODE = 0x3 O_RDONLY = 0x0 O_RDWR = 0x2 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_IGNORE_OUTGOING = 0x4000 PACKET_FANOUT_FLAG_ROLLOVER = 0x1000 PACKET_FANOUT_FLAG_UNIQUEID = 0x2000 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_IGNORE_OUTGOING = 0x17 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 PACKET_VNET_HDR_SZ = 0x18 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 PERF_ATTR_SIZE_VER0 = 0x40 PERF_ATTR_SIZE_VER1 = 0x48 PERF_ATTR_SIZE_VER2 = 0x50 PERF_ATTR_SIZE_VER3 = 0x60 PERF_ATTR_SIZE_VER4 = 0x68 PERF_ATTR_SIZE_VER5 = 0x70 PERF_ATTR_SIZE_VER6 = 0x78 PERF_ATTR_SIZE_VER7 = 0x80 PERF_ATTR_SIZE_VER8 = 0x88 PERF_AUX_FLAG_COLLISION = 0x8 PERF_AUX_FLAG_CORESIGHT_FORMAT_CORESIGHT = 0x0 PERF_AUX_FLAG_CORESIGHT_FORMAT_RAW = 0x100 PERF_AUX_FLAG_OVERWRITE = 0x2 PERF_AUX_FLAG_PARTIAL = 0x4 PERF_AUX_FLAG_PMU_FORMAT_TYPE_MASK = 0xff00 PERF_AUX_FLAG_TRUNCATED = 0x1 PERF_BRANCH_ENTRY_INFO_BITS_MAX = 0x21 PERF_BR_ARM64_DEBUG_DATA = 0x7 PERF_BR_ARM64_DEBUG_EXIT = 0x5 PERF_BR_ARM64_DEBUG_HALT = 0x4 PERF_BR_ARM64_DEBUG_INST = 0x6 PERF_BR_ARM64_FIQ = 0x3 PERF_FLAG_FD_CLOEXEC = 0x8 PERF_FLAG_FD_NO_GROUP = 0x1 PERF_FLAG_FD_OUTPUT = 0x2 PERF_FLAG_PID_CGROUP = 0x4 PERF_HW_EVENT_MASK = 0xffffffff PERF_MAX_CONTEXTS_PER_STACK = 0x8 PERF_MAX_STACK_DEPTH = 0x7f PERF_MEM_BLK_ADDR = 0x4 PERF_MEM_BLK_DATA = 0x2 PERF_MEM_BLK_NA = 0x1 PERF_MEM_BLK_SHIFT = 0x28 PERF_MEM_HOPS_0 = 0x1 PERF_MEM_HOPS_1 = 0x2 PERF_MEM_HOPS_2 = 0x3 PERF_MEM_HOPS_3 = 0x4 PERF_MEM_HOPS_SHIFT = 0x2b PERF_MEM_LOCK_LOCKED = 0x2 PERF_MEM_LOCK_NA = 0x1 PERF_MEM_LOCK_SHIFT = 0x18 PERF_MEM_LVLNUM_ANY_CACHE = 0xb PERF_MEM_LVLNUM_CXL = 0x9 PERF_MEM_LVLNUM_IO = 0xa PERF_MEM_LVLNUM_L1 = 0x1 PERF_MEM_LVLNUM_L2 = 0x2 PERF_MEM_LVLNUM_L2_MHB = 0x5 PERF_MEM_LVLNUM_L3 = 0x3 PERF_MEM_LVLNUM_L4 = 0x4 PERF_MEM_LVLNUM_LFB = 0xc PERF_MEM_LVLNUM_MSC = 0x6 PERF_MEM_LVLNUM_NA = 0xf PERF_MEM_LVLNUM_PMEM = 0xe PERF_MEM_LVLNUM_RAM = 0xd PERF_MEM_LVLNUM_SHIFT = 0x21 PERF_MEM_LVLNUM_UNC = 0x8 PERF_MEM_LVL_HIT = 0x2 PERF_MEM_LVL_IO = 0x1000 PERF_MEM_LVL_L1 = 0x8 PERF_MEM_LVL_L2 = 0x20 PERF_MEM_LVL_L3 = 0x40 PERF_MEM_LVL_LFB = 0x10 PERF_MEM_LVL_LOC_RAM = 0x80 PERF_MEM_LVL_MISS = 0x4 PERF_MEM_LVL_NA = 0x1 PERF_MEM_LVL_REM_CCE1 = 0x400 PERF_MEM_LVL_REM_CCE2 = 0x800 PERF_MEM_LVL_REM_RAM1 = 0x100 PERF_MEM_LVL_REM_RAM2 = 0x200 PERF_MEM_LVL_SHIFT = 0x5 PERF_MEM_LVL_UNC = 0x2000 PERF_MEM_OP_EXEC = 0x10 PERF_MEM_OP_LOAD = 0x2 PERF_MEM_OP_NA = 0x1 PERF_MEM_OP_PFETCH = 0x8 PERF_MEM_OP_SHIFT = 0x0 PERF_MEM_OP_STORE = 0x4 PERF_MEM_REMOTE_REMOTE = 0x1 PERF_MEM_REMOTE_SHIFT = 0x25 PERF_MEM_SNOOPX_FWD = 0x1 PERF_MEM_SNOOPX_PEER = 0x2 PERF_MEM_SNOOPX_SHIFT = 0x26 PERF_MEM_SNOOP_HIT = 0x4 PERF_MEM_SNOOP_HITM = 0x10 PERF_MEM_SNOOP_MISS = 0x8 PERF_MEM_SNOOP_NA = 0x1 PERF_MEM_SNOOP_NONE = 0x2 PERF_MEM_SNOOP_SHIFT = 0x13 PERF_MEM_TLB_HIT = 0x2 PERF_MEM_TLB_L1 = 0x8 PERF_MEM_TLB_L2 = 0x10 PERF_MEM_TLB_MISS = 0x4 PERF_MEM_TLB_NA = 0x1 PERF_MEM_TLB_OS = 0x40 PERF_MEM_TLB_SHIFT = 0x1a PERF_MEM_TLB_WK = 0x20 PERF_PMU_TYPE_SHIFT = 0x20 PERF_RECORD_KSYMBOL_FLAGS_UNREGISTER = 0x1 PERF_RECORD_MISC_COMM_EXEC = 0x2000 PERF_RECORD_MISC_CPUMODE_MASK = 0x7 PERF_RECORD_MISC_CPUMODE_UNKNOWN = 0x0 PERF_RECORD_MISC_EXACT_IP = 0x4000 PERF_RECORD_MISC_EXT_RESERVED = 0x8000 PERF_RECORD_MISC_FORK_EXEC = 0x2000 PERF_RECORD_MISC_GUEST_KERNEL = 0x4 PERF_RECORD_MISC_GUEST_USER = 0x5 PERF_RECORD_MISC_HYPERVISOR = 0x3 PERF_RECORD_MISC_KERNEL = 0x1 PERF_RECORD_MISC_MMAP_BUILD_ID = 0x4000 PERF_RECORD_MISC_MMAP_DATA = 0x2000 PERF_RECORD_MISC_PROC_MAP_PARSE_TIMEOUT = 0x1000 PERF_RECORD_MISC_SWITCH_OUT = 0x2000 PERF_RECORD_MISC_SWITCH_OUT_PREEMPT = 0x4000 PERF_RECORD_MISC_USER = 0x2 PERF_SAMPLE_BRANCH_PLM_ALL = 0x7 PERF_SAMPLE_WEIGHT_TYPE = 0x1004000 PID_FS_MAGIC = 0x50494446 PIPEFS_MAGIC = 0x50495045 PPPIOCGNPMODE = 0xc008744c PPPIOCNEWUNIT = 0xc004743e PRIO_PGRP = 0x1 PRIO_PROCESS = 0x0 PRIO_USER = 0x2 PROCFS_IOCTL_MAGIC = 'f' PROC_SUPER_MAGIC = 0x9fa0 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_AUXV = 0x41555856 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_IO_FLUSHER = 0x3a PR_GET_KEEPCAPS = 0x7 PR_GET_MDWE = 0x42 PR_GET_MEMORY_MERGE = 0x44 PR_GET_NAME = 0x10 PR_GET_NO_NEW_PRIVS = 0x27 PR_GET_PDEATHSIG = 0x2 PR_GET_SECCOMP = 0x15 PR_GET_SECUREBITS = 0x1b PR_GET_SPECULATION_CTRL = 0x34 PR_GET_TAGGED_ADDR_CTRL = 0x38 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_MDWE_NO_INHERIT = 0x2 PR_MDWE_REFUSE_EXEC_GAIN = 0x1 PR_MPX_DISABLE_MANAGEMENT = 0x2c PR_MPX_ENABLE_MANAGEMENT = 0x2b PR_MTE_TAG_MASK = 0x7fff8 PR_MTE_TAG_SHIFT = 0x3 PR_MTE_TCF_ASYNC = 0x4 PR_MTE_TCF_MASK = 0x6 PR_MTE_TCF_NONE = 0x0 PR_MTE_TCF_SHIFT = 0x1 PR_MTE_TCF_SYNC = 0x2 PR_PAC_APDAKEY = 0x4 PR_PAC_APDBKEY = 0x8 PR_PAC_APGAKEY = 0x10 PR_PAC_APIAKEY = 0x1 PR_PAC_APIBKEY = 0x2 PR_PAC_GET_ENABLED_KEYS = 0x3d PR_PAC_RESET_KEYS = 0x36 PR_PAC_SET_ENABLED_KEYS = 0x3c PR_PPC_DEXCR_CTRL_CLEAR = 0x4 PR_PPC_DEXCR_CTRL_CLEAR_ONEXEC = 0x10 PR_PPC_DEXCR_CTRL_EDITABLE = 0x1 PR_PPC_DEXCR_CTRL_MASK = 0x1f PR_PPC_DEXCR_CTRL_SET = 0x2 PR_PPC_DEXCR_CTRL_SET_ONEXEC = 0x8 PR_PPC_DEXCR_IBRTPD = 0x1 PR_PPC_DEXCR_NPHIE = 0x3 PR_PPC_DEXCR_SBHE = 0x0 PR_PPC_DEXCR_SRAPD = 0x2 PR_PPC_GET_DEXCR = 0x48 PR_PPC_SET_DEXCR = 0x49 PR_RISCV_CTX_SW_FENCEI_OFF = 0x1 PR_RISCV_CTX_SW_FENCEI_ON = 0x0 PR_RISCV_SCOPE_PER_PROCESS = 0x0 PR_RISCV_SCOPE_PER_THREAD = 0x1 PR_RISCV_SET_ICACHE_FLUSH_CTX = 0x47 PR_RISCV_V_GET_CONTROL = 0x46 PR_RISCV_V_SET_CONTROL = 0x45 PR_RISCV_V_VSTATE_CTRL_CUR_MASK = 0x3 PR_RISCV_V_VSTATE_CTRL_DEFAULT = 0x0 PR_RISCV_V_VSTATE_CTRL_INHERIT = 0x10 PR_RISCV_V_VSTATE_CTRL_MASK = 0x1f PR_RISCV_V_VSTATE_CTRL_NEXT_MASK = 0xc PR_RISCV_V_VSTATE_CTRL_OFF = 0x1 PR_RISCV_V_VSTATE_CTRL_ON = 0x2 PR_SCHED_CORE = 0x3e PR_SCHED_CORE_CREATE = 0x1 PR_SCHED_CORE_GET = 0x0 PR_SCHED_CORE_MAX = 0x4 PR_SCHED_CORE_SCOPE_PROCESS_GROUP = 0x2 PR_SCHED_CORE_SCOPE_THREAD = 0x0 PR_SCHED_CORE_SCOPE_THREAD_GROUP = 0x1 PR_SCHED_CORE_SHARE_FROM = 0x3 PR_SCHED_CORE_SHARE_TO = 0x2 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_IO_FLUSHER = 0x39 PR_SET_KEEPCAPS = 0x8 PR_SET_MDWE = 0x41 PR_SET_MEMORY_MERGE = 0x43 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_SECCOMP = 0x16 PR_SET_SECUREBITS = 0x1c PR_SET_SPECULATION_CTRL = 0x35 PR_SET_SYSCALL_USER_DISPATCH = 0x3b PR_SET_TAGGED_ADDR_CTRL = 0x37 PR_SET_THP_DISABLE = 0x29 PR_SET_TIMERSLACK = 0x1d PR_SET_TIMING = 0xe PR_SET_TSC = 0x1a PR_SET_UNALIGN = 0x6 PR_SET_VMA = 0x53564d41 PR_SET_VMA_ANON_NAME = 0x0 PR_SME_GET_VL = 0x40 PR_SME_SET_VL = 0x3f PR_SME_SET_VL_ONEXEC = 0x40000 PR_SME_VL_INHERIT = 0x20000 PR_SME_VL_LEN_MASK = 0xffff PR_SPEC_DISABLE = 0x4 PR_SPEC_DISABLE_NOEXEC = 0x10 PR_SPEC_ENABLE = 0x2 PR_SPEC_FORCE_DISABLE = 0x8 PR_SPEC_INDIRECT_BRANCH = 0x1 PR_SPEC_L1D_FLUSH = 0x2 PR_SPEC_NOT_AFFECTED = 0x0 PR_SPEC_PRCTL = 0x1 PR_SPEC_STORE_BYPASS = 0x0 PR_SVE_GET_VL = 0x33 PR_SVE_SET_VL = 0x32 PR_SVE_SET_VL_ONEXEC = 0x40000 PR_SVE_VL_INHERIT = 0x20000 PR_SVE_VL_LEN_MASK = 0xffff PR_SYS_DISPATCH_OFF = 0x0 PR_SYS_DISPATCH_ON = 0x1 PR_TAGGED_ADDR_ENABLE = 0x1 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 PSTOREFS_MAGIC = 0x6165676c PTRACE_ATTACH = 0x10 PTRACE_CONT = 0x7 PTRACE_DETACH = 0x11 PTRACE_EVENTMSG_SYSCALL_ENTRY = 0x1 PTRACE_EVENTMSG_SYSCALL_EXIT = 0x2 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_RSEQ_CONFIGURATION = 0x420f PTRACE_GET_SYSCALL_INFO = 0x420e PTRACE_GET_SYSCALL_USER_DISPATCH_CONFIG = 0x4211 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_SECCOMP_GET_METADATA = 0x420d PTRACE_SEIZE = 0x4206 PTRACE_SETOPTIONS = 0x4200 PTRACE_SETREGS = 0xd PTRACE_SETREGSET = 0x4205 PTRACE_SETSIGINFO = 0x4203 PTRACE_SETSIGMASK = 0x420b PTRACE_SET_SYSCALL_USER_DISPATCH_CONFIG = 0x4210 PTRACE_SINGLESTEP = 0x9 PTRACE_SYSCALL = 0x18 PTRACE_SYSCALL_INFO_ENTRY = 0x1 PTRACE_SYSCALL_INFO_EXIT = 0x2 PTRACE_SYSCALL_INFO_NONE = 0x0 PTRACE_SYSCALL_INFO_SECCOMP = 0x3 PTRACE_TRACEME = 0x0 P_ALL = 0x0 P_PGID = 0x2 P_PID = 0x1 P_PIDFD = 0x3 QNX4_SUPER_MAGIC = 0x2f QNX6_SUPER_MAGIC = 0x68191122 RAMFS_MAGIC = 0x858458f6 RAW_PAYLOAD_DIGITAL = 0x3 RAW_PAYLOAD_HCI = 0x2 RAW_PAYLOAD_LLCP = 0x0 RAW_PAYLOAD_NCI = 0x1 RAW_PAYLOAD_PROPRIETARY = 0x4 RDTGROUP_SUPER_MAGIC = 0x7655821 REISERFS_SUPER_MAGIC = 0x52654973 RENAME_EXCHANGE = 0x2 RENAME_NOREPLACE = 0x1 RENAME_WHITEOUT = 0x4 RLIMIT_CORE = 0x4 RLIMIT_CPU = 0x0 RLIMIT_DATA = 0x2 RLIMIT_FSIZE = 0x1 RLIMIT_LOCKS = 0xa RLIMIT_MSGQUEUE = 0xc RLIMIT_NICE = 0xd RLIMIT_RTPRIO = 0xe RLIMIT_RTTIME = 0xf RLIMIT_SIGPENDING = 0xb RLIMIT_STACK = 0x3 RLIM_INFINITY = 0xffffffffffffffff RTAX_ADVMSS = 0x8 RTAX_CC_ALGO = 0x10 RTAX_CWND = 0x7 RTAX_FASTOPEN_NO_COOKIE = 0x11 RTAX_FEATURES = 0xc RTAX_FEATURE_ALLFRAG = 0x8 RTAX_FEATURE_ECN = 0x1 RTAX_FEATURE_MASK = 0x1f RTAX_FEATURE_SACK = 0x2 RTAX_FEATURE_TCP_USEC_TS = 0x10 RTAX_FEATURE_TIMESTAMP = 0x4 RTAX_HOPLIMIT = 0xa RTAX_INITCWND = 0xb RTAX_INITRWND = 0xe RTAX_LOCK = 0x1 RTAX_MAX = 0x11 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 = 0x1e RTCF_DIRECTSRC = 0x4000000 RTCF_DOREDIRECT = 0x1000000 RTCF_LOG = 0x2000000 RTCF_MASQ = 0x400000 RTCF_NAT = 0x800000 RTCF_VALVE = 0x200000 RTC_AF = 0x20 RTC_BSM_DIRECT = 0x1 RTC_BSM_DISABLED = 0x0 RTC_BSM_LEVEL = 0x2 RTC_BSM_STANDBY = 0x3 RTC_FEATURE_ALARM = 0x0 RTC_FEATURE_ALARM_RES_2S = 0x3 RTC_FEATURE_ALARM_RES_MINUTE = 0x1 RTC_FEATURE_ALARM_WAKEUP_ONLY = 0x7 RTC_FEATURE_BACKUP_SWITCH_MODE = 0x6 RTC_FEATURE_CNT = 0x8 RTC_FEATURE_CORRECTION = 0x5 RTC_FEATURE_NEED_WEEK_DAY = 0x2 RTC_FEATURE_UPDATE_INTERRUPT = 0x4 RTC_IRQF = 0x80 RTC_MAX_FREQ = 0x2000 RTC_PARAM_BACKUP_SWITCH_MODE = 0x2 RTC_PARAM_CORRECTION = 0x1 RTC_PARAM_FEATURES = 0x0 RTC_PF = 0x40 RTC_UF = 0x10 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 RTMGRP_DECnet_IFADDR = 0x1000 RTMGRP_DECnet_ROUTE = 0x4000 RTMGRP_IPV4_IFADDR = 0x10 RTMGRP_IPV4_MROUTE = 0x20 RTMGRP_IPV4_ROUTE = 0x40 RTMGRP_IPV4_RULE = 0x80 RTMGRP_IPV6_IFADDR = 0x100 RTMGRP_IPV6_IFINFO = 0x800 RTMGRP_IPV6_MROUTE = 0x200 RTMGRP_IPV6_PREFIX = 0x20000 RTMGRP_IPV6_ROUTE = 0x400 RTMGRP_LINK = 0x1 RTMGRP_NEIGH = 0x4 RTMGRP_NOTIFY = 0x2 RTMGRP_TC = 0x8 RTM_BASE = 0x10 RTM_DELACTION = 0x31 RTM_DELADDR = 0x15 RTM_DELADDRLABEL = 0x49 RTM_DELCHAIN = 0x65 RTM_DELLINK = 0x11 RTM_DELLINKPROP = 0x6d RTM_DELMDB = 0x55 RTM_DELNEIGH = 0x1d RTM_DELNETCONF = 0x51 RTM_DELNEXTHOP = 0x69 RTM_DELNEXTHOPBUCKET = 0x75 RTM_DELNSID = 0x59 RTM_DELQDISC = 0x25 RTM_DELROUTE = 0x19 RTM_DELRULE = 0x21 RTM_DELTCLASS = 0x29 RTM_DELTFILTER = 0x2d RTM_DELTUNNEL = 0x79 RTM_DELVLAN = 0x71 RTM_F_CLONED = 0x200 RTM_F_EQUALIZE = 0x400 RTM_F_FIB_MATCH = 0x2000 RTM_F_LOOKUP_TABLE = 0x1000 RTM_F_NOTIFY = 0x100 RTM_F_OFFLOAD = 0x4000 RTM_F_OFFLOAD_FAILED = 0x20000000 RTM_F_PREFIX = 0x800 RTM_F_TRAP = 0x8000 RTM_GETACTION = 0x32 RTM_GETADDR = 0x16 RTM_GETADDRLABEL = 0x4a RTM_GETANYCAST = 0x3e RTM_GETCHAIN = 0x66 RTM_GETDCB = 0x4e RTM_GETLINK = 0x12 RTM_GETLINKPROP = 0x6e RTM_GETMDB = 0x56 RTM_GETMULTICAST = 0x3a RTM_GETNEIGH = 0x1e RTM_GETNEIGHTBL = 0x42 RTM_GETNETCONF = 0x52 RTM_GETNEXTHOP = 0x6a RTM_GETNEXTHOPBUCKET = 0x76 RTM_GETNSID = 0x5a RTM_GETQDISC = 0x26 RTM_GETROUTE = 0x1a RTM_GETRULE = 0x22 RTM_GETSTATS = 0x5e RTM_GETTCLASS = 0x2a RTM_GETTFILTER = 0x2e RTM_GETTUNNEL = 0x7a RTM_GETVLAN = 0x72 RTM_MAX = 0x7b RTM_NEWACTION = 0x30 RTM_NEWADDR = 0x14 RTM_NEWADDRLABEL = 0x48 RTM_NEWCACHEREPORT = 0x60 RTM_NEWCHAIN = 0x64 RTM_NEWLINK = 0x10 RTM_NEWLINKPROP = 0x6c RTM_NEWMDB = 0x54 RTM_NEWNDUSEROPT = 0x44 RTM_NEWNEIGH = 0x1c RTM_NEWNEIGHTBL = 0x40 RTM_NEWNETCONF = 0x50 RTM_NEWNEXTHOP = 0x68 RTM_NEWNEXTHOPBUCKET = 0x74 RTM_NEWNSID = 0x58 RTM_NEWNVLAN = 0x70 RTM_NEWPREFIX = 0x34 RTM_NEWQDISC = 0x24 RTM_NEWROUTE = 0x18 RTM_NEWRULE = 0x20 RTM_NEWSTATS = 0x5c RTM_NEWTCLASS = 0x28 RTM_NEWTFILTER = 0x2c RTM_NEWTUNNEL = 0x78 RTM_NR_FAMILIES = 0x1b RTM_NR_MSGTYPES = 0x6c RTM_SETDCB = 0x4f RTM_SETLINK = 0x13 RTM_SETNEIGHTBL = 0x43 RTM_SETSTATS = 0x5f RTNH_ALIGNTO = 0x4 RTNH_COMPARE_MASK = 0x59 RTNH_F_DEAD = 0x1 RTNH_F_LINKDOWN = 0x10 RTNH_F_OFFLOAD = 0x8 RTNH_F_ONLINK = 0x4 RTNH_F_PERVASIVE = 0x2 RTNH_F_TRAP = 0x40 RTNH_F_UNRESOLVED = 0x20 RTN_MAX = 0xb RTPROT_BABEL = 0x2a RTPROT_BGP = 0xba RTPROT_BIRD = 0xc RTPROT_BOOT = 0x3 RTPROT_DHCP = 0x10 RTPROT_DNROUTED = 0xd RTPROT_EIGRP = 0xc0 RTPROT_GATED = 0x8 RTPROT_ISIS = 0xbb RTPROT_KEEPALIVED = 0x12 RTPROT_KERNEL = 0x2 RTPROT_MROUTED = 0x11 RTPROT_MRT = 0xa RTPROT_NTK = 0xf RTPROT_OPENR = 0x63 RTPROT_OSPF = 0xbc RTPROT_RA = 0x9 RTPROT_REDIRECT = 0x1 RTPROT_RIP = 0xbd 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 RWF_APPEND = 0x10 RWF_ATOMIC = 0x40 RWF_DSYNC = 0x2 RWF_HIPRI = 0x1 RWF_NOAPPEND = 0x20 RWF_NOWAIT = 0x8 RWF_SUPPORTED = 0x7f RWF_SYNC = 0x4 RWF_WRITE_LIFE_NOT_SET = 0x0 SCHED_BATCH = 0x3 SCHED_DEADLINE = 0x6 SCHED_FIFO = 0x1 SCHED_FLAG_ALL = 0x7f SCHED_FLAG_DL_OVERRUN = 0x4 SCHED_FLAG_KEEP_ALL = 0x18 SCHED_FLAG_KEEP_PARAMS = 0x10 SCHED_FLAG_KEEP_POLICY = 0x8 SCHED_FLAG_RECLAIM = 0x2 SCHED_FLAG_RESET_ON_FORK = 0x1 SCHED_FLAG_UTIL_CLAMP = 0x60 SCHED_FLAG_UTIL_CLAMP_MAX = 0x40 SCHED_FLAG_UTIL_CLAMP_MIN = 0x20 SCHED_IDLE = 0x5 SCHED_NORMAL = 0x0 SCHED_RESET_ON_FORK = 0x40000000 SCHED_RR = 0x2 SCM_CREDENTIALS = 0x2 SCM_PIDFD = 0x4 SCM_RIGHTS = 0x1 SCM_SECURITY = 0x3 SCM_TIMESTAMP = 0x1d SC_LOG_FLUSH = 0x100000 SECCOMP_ADDFD_FLAG_SEND = 0x2 SECCOMP_ADDFD_FLAG_SETFD = 0x1 SECCOMP_FILTER_FLAG_LOG = 0x2 SECCOMP_FILTER_FLAG_NEW_LISTENER = 0x8 SECCOMP_FILTER_FLAG_SPEC_ALLOW = 0x4 SECCOMP_FILTER_FLAG_TSYNC = 0x1 SECCOMP_FILTER_FLAG_TSYNC_ESRCH = 0x10 SECCOMP_FILTER_FLAG_WAIT_KILLABLE_RECV = 0x20 SECCOMP_GET_ACTION_AVAIL = 0x2 SECCOMP_GET_NOTIF_SIZES = 0x3 SECCOMP_IOCTL_NOTIF_RECV = 0xc0502100 SECCOMP_IOCTL_NOTIF_SEND = 0xc0182101 SECCOMP_IOC_MAGIC = '!' SECCOMP_MODE_DISABLED = 0x0 SECCOMP_MODE_FILTER = 0x2 SECCOMP_MODE_STRICT = 0x1 SECCOMP_RET_ACTION = 0x7fff0000 SECCOMP_RET_ACTION_FULL = 0xffff0000 SECCOMP_RET_ALLOW = 0x7fff0000 SECCOMP_RET_DATA = 0xffff SECCOMP_RET_ERRNO = 0x50000 SECCOMP_RET_KILL = 0x0 SECCOMP_RET_KILL_PROCESS = 0x80000000 SECCOMP_RET_KILL_THREAD = 0x0 SECCOMP_RET_LOG = 0x7ffc0000 SECCOMP_RET_TRACE = 0x7ff00000 SECCOMP_RET_TRAP = 0x30000 SECCOMP_RET_USER_NOTIF = 0x7fc00000 SECCOMP_SET_MODE_FILTER = 0x1 SECCOMP_SET_MODE_STRICT = 0x0 SECCOMP_USER_NOTIF_FD_SYNC_WAKE_UP = 0x1 SECCOMP_USER_NOTIF_FLAG_CONTINUE = 0x1 SECRETMEM_MAGIC = 0x5345434d SECURITYFS_MAGIC = 0x73636673 SEEK_CUR = 0x1 SEEK_DATA = 0x3 SEEK_END = 0x2 SEEK_HOLE = 0x4 SEEK_MAX = 0x4 SEEK_SET = 0x0 SELINUX_MAGIC = 0xf97cff8c SHUT_RD = 0x0 SHUT_RDWR = 0x2 SHUT_WR = 0x1 SIOCADDDLCI = 0x8980 SIOCADDMULTI = 0x8931 SIOCADDRT = 0x890b 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 SIOCGETLINKNAME = 0x89e0 SIOCGETNODEID = 0x89e1 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 SIOCGPPPCSTATS = 0x89f2 SIOCGPPPSTATS = 0x89f0 SIOCGPPPVER = 0x89f1 SIOCGRARP = 0x8961 SIOCGSKNS = 0x894c SIOCGSTAMP = 0x8906 SIOCGSTAMPNS = 0x8907 SIOCGSTAMPNS_OLD = 0x8907 SIOCGSTAMP_OLD = 0x8906 SIOCKCMATTACH = 0x89e0 SIOCKCMCLONE = 0x89e2 SIOCKCMUNATTACH = 0x89e1 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 SIOCSRARP = 0x8962 SIOCWANDEV = 0x894a SK_DIAG_BPF_STORAGE_MAX = 0x3 SK_DIAG_BPF_STORAGE_REQ_MAX = 0x1 SMACK_MAGIC = 0x43415d53 SMART_AUTOSAVE = 0xd2 SMART_AUTO_OFFLINE = 0xdb SMART_DISABLE = 0xd9 SMART_ENABLE = 0xd8 SMART_HCYL_PASS = 0xc2 SMART_IMMEDIATE_OFFLINE = 0xd4 SMART_LCYL_PASS = 0x4f SMART_READ_LOG_SECTOR = 0xd5 SMART_READ_THRESHOLDS = 0xd1 SMART_READ_VALUES = 0xd0 SMART_SAVE = 0xd3 SMART_STATUS = 0xda SMART_WRITE_LOG_SECTOR = 0xd6 SMART_WRITE_THRESHOLDS = 0xd7 SMB2_SUPER_MAGIC = 0xfe534d42 SMB_SUPER_MAGIC = 0x517b SOCKFS_MAGIC = 0x534f434b SOCK_BUF_LOCK_MASK = 0x3 SOCK_DCCP = 0x6 SOCK_DESTROY = 0x15 SOCK_DIAG_BY_FAMILY = 0x14 SOCK_IOC_TYPE = 0x89 SOCK_PACKET = 0xa SOCK_RAW = 0x3 SOCK_RCVBUF_LOCK = 0x2 SOCK_RDM = 0x4 SOCK_SEQPACKET = 0x5 SOCK_SNDBUF_LOCK = 0x1 SOCK_TXREHASH_DEFAULT = 0xff SOCK_TXREHASH_DISABLED = 0x0 SOCK_TXREHASH_ENABLED = 0x1 SOL_AAL = 0x109 SOL_ALG = 0x117 SOL_ATM = 0x108 SOL_CAIF = 0x116 SOL_CAN_BASE = 0x64 SOL_CAN_RAW = 0x65 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_MCTP = 0x11d SOL_MPTCP = 0x11c 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_SMC = 0x11e SOL_TCP = 0x6 SOL_TIPC = 0x10f SOL_TLS = 0x11a SOL_UDP = 0x11 SOL_VSOCK = 0x11f SOL_X25 = 0x106 SOL_XDP = 0x11b SOMAXCONN = 0x1000 SO_ATTACH_FILTER = 0x1a SO_DEBUG = 0x1 SO_DETACH_BPF = 0x1b SO_DETACH_FILTER = 0x1b SO_EE_CODE_TXTIME_INVALID_PARAM = 0x1 SO_EE_CODE_TXTIME_MISSED = 0x2 SO_EE_CODE_ZEROCOPY_COPIED = 0x1 SO_EE_ORIGIN_ICMP = 0x2 SO_EE_ORIGIN_ICMP6 = 0x3 SO_EE_ORIGIN_LOCAL = 0x1 SO_EE_ORIGIN_NONE = 0x0 SO_EE_ORIGIN_TIMESTAMPING = 0x4 SO_EE_ORIGIN_TXSTATUS = 0x4 SO_EE_ORIGIN_TXTIME = 0x6 SO_EE_ORIGIN_ZEROCOPY = 0x5 SO_EE_RFC4884_FLAG_INVALID = 0x1 SO_GET_FILTER = 0x1a SO_NO_CHECK = 0xb SO_PEERNAME = 0x1c SO_PRIORITY = 0xc SO_TIMESTAMP = 0x1d SO_TIMESTAMP_OLD = 0x1d 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_CONNECT_TIMEOUT_NEW = 0x8 SO_VM_SOCKETS_CONNECT_TIMEOUT_OLD = 0x6 SO_VM_SOCKETS_NONBLOCK_TXRX = 0x7 SO_VM_SOCKETS_PEER_HOST_VM_ID = 0x3 SO_VM_SOCKETS_TRUSTED = 0x5 SPLICE_F_GIFT = 0x8 SPLICE_F_MORE = 0x4 SPLICE_F_MOVE = 0x1 SPLICE_F_NONBLOCK = 0x2 SQUASHFS_MAGIC = 0x73717368 STACK_END_MAGIC = 0x57ac6e9d STATX_ALL = 0xfff STATX_ATIME = 0x20 STATX_ATTR_APPEND = 0x20 STATX_ATTR_AUTOMOUNT = 0x1000 STATX_ATTR_COMPRESSED = 0x4 STATX_ATTR_DAX = 0x200000 STATX_ATTR_ENCRYPTED = 0x800 STATX_ATTR_IMMUTABLE = 0x10 STATX_ATTR_MOUNT_ROOT = 0x2000 STATX_ATTR_NODUMP = 0x40 STATX_ATTR_VERITY = 0x100000 STATX_ATTR_WRITE_ATOMIC = 0x400000 STATX_BASIC_STATS = 0x7ff STATX_BLOCKS = 0x400 STATX_BTIME = 0x800 STATX_CTIME = 0x80 STATX_DIOALIGN = 0x2000 STATX_GID = 0x10 STATX_INO = 0x100 STATX_MNT_ID = 0x1000 STATX_MNT_ID_UNIQUE = 0x4000 STATX_MODE = 0x2 STATX_MTIME = 0x40 STATX_NLINK = 0x4 STATX_SIZE = 0x200 STATX_SUBVOL = 0x8000 STATX_TYPE = 0x1 STATX_UID = 0x8 STATX_WRITE_ATOMIC = 0x10000 STATX__RESERVED = 0x80000000 SYNC_FILE_RANGE_WAIT_AFTER = 0x4 SYNC_FILE_RANGE_WAIT_BEFORE = 0x1 SYNC_FILE_RANGE_WRITE = 0x2 SYNC_FILE_RANGE_WRITE_AND_WAIT = 0x7 SYSFS_MAGIC = 0x62656572 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 TASKSTATS_CMD_ATTR_MAX = 0x4 TASKSTATS_CMD_MAX = 0x2 TASKSTATS_GENL_NAME = "TASKSTATS" TASKSTATS_GENL_VERSION = 0x1 TASKSTATS_TYPE_MAX = 0x6 TASKSTATS_VERSION = 0xe TCIFLUSH = 0x0 TCIOFF = 0x2 TCIOFLUSH = 0x2 TCION = 0x3 TCOFLUSH = 0x1 TCOOFF = 0x0 TCOON = 0x1 TCPOPT_EOL = 0x0 TCPOPT_MAXSEG = 0x2 TCPOPT_NOP = 0x1 TCPOPT_SACK = 0x5 TCPOPT_SACK_PERMITTED = 0x4 TCPOPT_TIMESTAMP = 0x8 TCPOPT_TSTAMP_HDR = 0x101080a TCPOPT_WINDOW = 0x3 TCP_CC_INFO = 0x1a TCP_CM_INQ = 0x24 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_FASTOPEN_CONNECT = 0x1e TCP_FASTOPEN_KEY = 0x21 TCP_FASTOPEN_NO_COOKIE = 0x22 TCP_INFO = 0xb TCP_INQ = 0x24 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_EXT = 0x20 TCP_MD5SIG_FLAG_IFINDEX = 0x2 TCP_MD5SIG_FLAG_PREFIX = 0x1 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_OFF = 0x0 TCP_REPAIR_OFF_NO_WP = -0x1 TCP_REPAIR_ON = 0x1 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_TX_DELAY = 0x25 TCP_ULP = 0x1f TCP_USER_TIMEOUT = 0x12 TCP_V4_FLOW = 0x1 TCP_V6_FLOW = 0x5 TCP_WINDOW_CLAMP = 0xa TCP_ZEROCOPY_RECEIVE = 0x23 TFD_TIMER_ABSTIME = 0x1 TFD_TIMER_CANCEL_ON_SET = 0x2 TIMER_ABSTIME = 0x1 TIOCM_DTR = 0x2 TIOCM_LE = 0x1 TIOCM_RTS = 0x4 TIOCPKT_DATA = 0x0 TIOCPKT_DOSTOP = 0x20 TIOCPKT_FLUSHREAD = 0x1 TIOCPKT_FLUSHWRITE = 0x2 TIOCPKT_IOCTL = 0x40 TIOCPKT_NOSTOP = 0x10 TIOCPKT_START = 0x8 TIOCPKT_STOP = 0x4 TIPC_ADDR_ID = 0x3 TIPC_ADDR_MCAST = 0x1 TIPC_ADDR_NAME = 0x2 TIPC_ADDR_NAMESEQ = 0x1 TIPC_AEAD_ALG_NAME = 0x20 TIPC_AEAD_KEYLEN_MAX = 0x24 TIPC_AEAD_KEYLEN_MIN = 0x14 TIPC_AEAD_KEY_SIZE_MAX = 0x48 TIPC_CFG_SRV = 0x0 TIPC_CLUSTER_BITS = 0xc TIPC_CLUSTER_MASK = 0xfff000 TIPC_CLUSTER_OFFSET = 0xc TIPC_CLUSTER_SIZE = 0xfff TIPC_CONN_SHUTDOWN = 0x5 TIPC_CONN_TIMEOUT = 0x82 TIPC_CRITICAL_IMPORTANCE = 0x3 TIPC_DESTNAME = 0x3 TIPC_DEST_DROPPABLE = 0x81 TIPC_ERRINFO = 0x1 TIPC_ERR_NO_NAME = 0x1 TIPC_ERR_NO_NODE = 0x3 TIPC_ERR_NO_PORT = 0x2 TIPC_ERR_OVERLOAD = 0x4 TIPC_GROUP_JOIN = 0x87 TIPC_GROUP_LEAVE = 0x88 TIPC_GROUP_LOOPBACK = 0x1 TIPC_GROUP_MEMBER_EVTS = 0x2 TIPC_HIGH_IMPORTANCE = 0x2 TIPC_IMPORTANCE = 0x7f TIPC_LINK_STATE = 0x2 TIPC_LOW_IMPORTANCE = 0x0 TIPC_MAX_BEARER_NAME = 0x20 TIPC_MAX_IF_NAME = 0x10 TIPC_MAX_LINK_NAME = 0x44 TIPC_MAX_MEDIA_NAME = 0x10 TIPC_MAX_USER_MSG_SIZE = 0x101d0 TIPC_MCAST_BROADCAST = 0x85 TIPC_MCAST_REPLICAST = 0x86 TIPC_MEDIUM_IMPORTANCE = 0x1 TIPC_NODEID_LEN = 0x10 TIPC_NODELAY = 0x8a TIPC_NODE_BITS = 0xc TIPC_NODE_MASK = 0xfff TIPC_NODE_OFFSET = 0x0 TIPC_NODE_RECVQ_DEPTH = 0x83 TIPC_NODE_SIZE = 0xfff TIPC_NODE_STATE = 0x0 TIPC_OK = 0x0 TIPC_PUBLISHED = 0x1 TIPC_REKEYING_NOW = 0xffffffff TIPC_RESERVED_TYPES = 0x40 TIPC_RETDATA = 0x2 TIPC_SERVICE_ADDR = 0x2 TIPC_SERVICE_RANGE = 0x1 TIPC_SOCKET_ADDR = 0x3 TIPC_SOCK_RECVQ_DEPTH = 0x84 TIPC_SOCK_RECVQ_USED = 0x89 TIPC_SRC_DROPPABLE = 0x80 TIPC_SUBSCR_TIMEOUT = 0x3 TIPC_SUB_CANCEL = 0x4 TIPC_SUB_PORTS = 0x1 TIPC_SUB_SERVICE = 0x2 TIPC_TOP_SRV = 0x1 TIPC_WAIT_FOREVER = 0xffffffff TIPC_WITHDRAWN = 0x2 TIPC_ZONE_BITS = 0x8 TIPC_ZONE_CLUSTER_MASK = 0xfffff000 TIPC_ZONE_MASK = 0xff000000 TIPC_ZONE_OFFSET = 0x18 TIPC_ZONE_SCOPE = 0x1 TIPC_ZONE_SIZE = 0xff TMPFS_MAGIC = 0x1021994 TPACKET_ALIGNMENT = 0x10 TPACKET_HDRLEN = 0x34 TP_STATUS_AVAILABLE = 0x0 TP_STATUS_BLK_TMO = 0x20 TP_STATUS_COPY = 0x2 TP_STATUS_CSUMNOTREADY = 0x8 TP_STATUS_CSUM_VALID = 0x80 TP_STATUS_GSO_TCP = 0x100 TP_STATUS_KERNEL = 0x0 TP_STATUS_LOSING = 0x4 TP_STATUS_SENDING = 0x2 TP_STATUS_SEND_REQUEST = 0x1 TP_STATUS_TS_RAW_HARDWARE = 0x80000000 TP_STATUS_TS_SOFTWARE = 0x20000000 TP_STATUS_TS_SYS_HARDWARE = 0x40000000 TP_STATUS_USER = 0x1 TP_STATUS_VLAN_TPID_VALID = 0x40 TP_STATUS_VLAN_VALID = 0x10 TP_STATUS_WRONG_FORMAT = 0x4 TRACEFS_MAGIC = 0x74726163 TS_COMM_LEN = 0x20 UDF_SUPER_MAGIC = 0x15013346 UDP_CORK = 0x1 UDP_ENCAP = 0x64 UDP_ENCAP_ESPINUDP = 0x2 UDP_ENCAP_ESPINUDP_NON_IKE = 0x1 UDP_ENCAP_GTP0 = 0x4 UDP_ENCAP_GTP1U = 0x5 UDP_ENCAP_L2TPINUDP = 0x3 UDP_GRO = 0x68 UDP_NO_CHECK6_RX = 0x66 UDP_NO_CHECK6_TX = 0x65 UDP_SEGMENT = 0x67 UDP_V4_FLOW = 0x2 UDP_V6_FLOW = 0x6 UMOUNT_NOFOLLOW = 0x8 USBDEVICE_SUPER_MAGIC = 0x9fa2 UTIME_NOW = 0x3fffffff UTIME_OMIT = 0x3ffffffe V9FS_MAGIC = 0x1021997 VERASE = 0x2 VINTR = 0x0 VKILL = 0x3 VLNEXT = 0xf VMADDR_CID_ANY = 0xffffffff VMADDR_CID_HOST = 0x2 VMADDR_CID_HYPERVISOR = 0x0 VMADDR_CID_LOCAL = 0x1 VMADDR_FLAG_TO_HOST = 0x1 VMADDR_PORT_ANY = 0xffffffff VM_SOCKETS_INVALID_VERSION = 0xffffffff VQUIT = 0x1 VT0 = 0x0 WAKE_MAGIC = 0x20 WALL = 0x40000000 WCLONE = 0x80000000 WCONTINUED = 0x8 WDIOC_SETPRETIMEOUT = 0xc0045708 WDIOC_SETTIMEOUT = 0xc0045706 WDIOF_ALARMONLY = 0x400 WDIOF_CARDRESET = 0x20 WDIOF_EXTERN1 = 0x4 WDIOF_EXTERN2 = 0x8 WDIOF_FANFAULT = 0x2 WDIOF_KEEPALIVEPING = 0x8000 WDIOF_MAGICCLOSE = 0x100 WDIOF_OVERHEAT = 0x1 WDIOF_POWEROVER = 0x40 WDIOF_POWERUNDER = 0x10 WDIOF_PRETIMEOUT = 0x200 WDIOF_SETTIMEOUT = 0x80 WDIOF_UNKNOWN = -0x1 WDIOS_DISABLECARD = 0x1 WDIOS_ENABLECARD = 0x2 WDIOS_TEMPPANIC = 0x4 WDIOS_UNKNOWN = -0x1 WEXITED = 0x4 WGALLOWEDIP_A_MAX = 0x3 WGDEVICE_A_MAX = 0x8 WGPEER_A_MAX = 0xa WG_CMD_MAX = 0x1 WG_GENL_NAME = "wireguard" WG_GENL_VERSION = 0x1 WG_KEY_LEN = 0x20 WIN_ACKMEDIACHANGE = 0xdb WIN_CHECKPOWERMODE1 = 0xe5 WIN_CHECKPOWERMODE2 = 0x98 WIN_DEVICE_RESET = 0x8 WIN_DIAGNOSE = 0x90 WIN_DOORLOCK = 0xde WIN_DOORUNLOCK = 0xdf WIN_DOWNLOAD_MICROCODE = 0x92 WIN_FLUSH_CACHE = 0xe7 WIN_FLUSH_CACHE_EXT = 0xea WIN_FORMAT = 0x50 WIN_GETMEDIASTATUS = 0xda WIN_IDENTIFY = 0xec WIN_IDENTIFY_DMA = 0xee WIN_IDLEIMMEDIATE = 0xe1 WIN_INIT = 0x60 WIN_MEDIAEJECT = 0xed WIN_MULTREAD = 0xc4 WIN_MULTREAD_EXT = 0x29 WIN_MULTWRITE = 0xc5 WIN_MULTWRITE_EXT = 0x39 WIN_NOP = 0x0 WIN_PACKETCMD = 0xa0 WIN_PIDENTIFY = 0xa1 WIN_POSTBOOT = 0xdc WIN_PREBOOT = 0xdd WIN_QUEUED_SERVICE = 0xa2 WIN_READ = 0x20 WIN_READDMA = 0xc8 WIN_READDMA_EXT = 0x25 WIN_READDMA_ONCE = 0xc9 WIN_READDMA_QUEUED = 0xc7 WIN_READDMA_QUEUED_EXT = 0x26 WIN_READ_BUFFER = 0xe4 WIN_READ_EXT = 0x24 WIN_READ_LONG = 0x22 WIN_READ_LONG_ONCE = 0x23 WIN_READ_NATIVE_MAX = 0xf8 WIN_READ_NATIVE_MAX_EXT = 0x27 WIN_READ_ONCE = 0x21 WIN_RECAL = 0x10 WIN_RESTORE = 0x10 WIN_SECURITY_DISABLE = 0xf6 WIN_SECURITY_ERASE_PREPARE = 0xf3 WIN_SECURITY_ERASE_UNIT = 0xf4 WIN_SECURITY_FREEZE_LOCK = 0xf5 WIN_SECURITY_SET_PASS = 0xf1 WIN_SECURITY_UNLOCK = 0xf2 WIN_SEEK = 0x70 WIN_SETFEATURES = 0xef WIN_SETIDLE1 = 0xe3 WIN_SETIDLE2 = 0x97 WIN_SETMULT = 0xc6 WIN_SET_MAX = 0xf9 WIN_SET_MAX_EXT = 0x37 WIN_SLEEPNOW1 = 0xe6 WIN_SLEEPNOW2 = 0x99 WIN_SMART = 0xb0 WIN_SPECIFY = 0x91 WIN_SRST = 0x8 WIN_STANDBY = 0xe2 WIN_STANDBY2 = 0x96 WIN_STANDBYNOW1 = 0xe0 WIN_STANDBYNOW2 = 0x94 WIN_VERIFY = 0x40 WIN_VERIFY_EXT = 0x42 WIN_VERIFY_ONCE = 0x41 WIN_WRITE = 0x30 WIN_WRITEDMA = 0xca WIN_WRITEDMA_EXT = 0x35 WIN_WRITEDMA_ONCE = 0xcb WIN_WRITEDMA_QUEUED = 0xcc WIN_WRITEDMA_QUEUED_EXT = 0x36 WIN_WRITE_BUFFER = 0xe8 WIN_WRITE_EXT = 0x34 WIN_WRITE_LONG = 0x32 WIN_WRITE_LONG_ONCE = 0x33 WIN_WRITE_ONCE = 0x31 WIN_WRITE_SAME = 0xe9 WIN_WRITE_VERIFY = 0x3c WNOHANG = 0x1 WNOTHREAD = 0x20000000 WNOWAIT = 0x1000000 WSTOPPED = 0x2 WUNTRACED = 0x2 XATTR_CREATE = 0x1 XATTR_REPLACE = 0x2 XDP_COPY = 0x2 XDP_FLAGS_DRV_MODE = 0x4 XDP_FLAGS_HW_MODE = 0x8 XDP_FLAGS_MASK = 0x1f XDP_FLAGS_MODES = 0xe XDP_FLAGS_REPLACE = 0x10 XDP_FLAGS_SKB_MODE = 0x2 XDP_FLAGS_UPDATE_IF_NOEXIST = 0x1 XDP_MMAP_OFFSETS = 0x1 XDP_OPTIONS = 0x8 XDP_OPTIONS_ZEROCOPY = 0x1 XDP_PACKET_HEADROOM = 0x100 XDP_PGOFF_RX_RING = 0x0 XDP_PGOFF_TX_RING = 0x80000000 XDP_PKT_CONTD = 0x1 XDP_RING_NEED_WAKEUP = 0x1 XDP_RX_RING = 0x2 XDP_SHARED_UMEM = 0x1 XDP_STATISTICS = 0x7 XDP_TXMD_FLAGS_CHECKSUM = 0x2 XDP_TXMD_FLAGS_TIMESTAMP = 0x1 XDP_TX_METADATA = 0x2 XDP_TX_RING = 0x3 XDP_UMEM_COMPLETION_RING = 0x6 XDP_UMEM_FILL_RING = 0x5 XDP_UMEM_PGOFF_COMPLETION_RING = 0x180000000 XDP_UMEM_PGOFF_FILL_RING = 0x100000000 XDP_UMEM_REG = 0x4 XDP_UMEM_TX_METADATA_LEN = 0x4 XDP_UMEM_TX_SW_CSUM = 0x2 XDP_UMEM_UNALIGNED_CHUNK_FLAG = 0x1 XDP_USE_NEED_WAKEUP = 0x8 XDP_USE_SG = 0x10 XDP_ZEROCOPY = 0x4 XENFS_SUPER_MAGIC = 0xabba1974 XFS_SUPER_MAGIC = 0x58465342 ZONEFS_MAGIC = 0x5a4f4653 _HIDIOCGRAWNAME_LEN = 0x80 _HIDIOCGRAWPHYS_LEN = 0x40 _HIDIOCGRAWUNIQ_LEN = 0x40 ) // Errors const ( E2BIG = syscall.Errno(0x7) EACCES = syscall.Errno(0xd) EAGAIN = syscall.Errno(0xb) EBADF = syscall.Errno(0x9) EBUSY = syscall.Errno(0x10) ECHILD = syscall.Errno(0xa) EDOM = syscall.Errno(0x21) EEXIST = syscall.Errno(0x11) EFAULT = syscall.Errno(0xe) EFBIG = syscall.Errno(0x1b) EINTR = syscall.Errno(0x4) EINVAL = syscall.Errno(0x16) EIO = syscall.Errno(0x5) EISDIR = syscall.Errno(0x15) EMFILE = syscall.Errno(0x18) EMLINK = syscall.Errno(0x1f) ENFILE = syscall.Errno(0x17) ENODEV = syscall.Errno(0x13) ENOENT = syscall.Errno(0x2) ENOEXEC = syscall.Errno(0x8) ENOMEM = syscall.Errno(0xc) ENOSPC = syscall.Errno(0x1c) ENOTBLK = syscall.Errno(0xf) ENOTDIR = syscall.Errno(0x14) ENOTTY = syscall.Errno(0x19) ENXIO = syscall.Errno(0x6) EPERM = syscall.Errno(0x1) EPIPE = syscall.Errno(0x20) ERANGE = syscall.Errno(0x22) EROFS = syscall.Errno(0x1e) ESPIPE = syscall.Errno(0x1d) ESRCH = syscall.Errno(0x3) ETXTBSY = syscall.Errno(0x1a) EWOULDBLOCK = syscall.Errno(0xb) EXDEV = syscall.Errno(0x12) ) // Signals const ( SIGABRT = syscall.Signal(0x6) SIGALRM = syscall.Signal(0xe) SIGFPE = syscall.Signal(0x8) SIGHUP = syscall.Signal(0x1) SIGILL = syscall.Signal(0x4) SIGINT = syscall.Signal(0x2) SIGIOT = syscall.Signal(0x6) SIGKILL = syscall.Signal(0x9) SIGPIPE = syscall.Signal(0xd) SIGQUIT = syscall.Signal(0x3) SIGSEGV = syscall.Signal(0xb) SIGTERM = syscall.Signal(0xf) SIGTRAP = syscall.Signal(0x5) ) dependencies/pkg/mod/golang.org/x/sys@v0.26.0/unix/types_freebsd.go0000644000000000000000000001743615107355264024011 0ustar rootroot// 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. //go: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 /* #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)]; }; // 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; // FIXME: these are now unions, so maybe need to change definitions? #undef ifi_epoch time_t ifi_epoch; #undef ifi_lastchange 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 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 Time_t C.time_t // Processes type Rusage C.struct_rusage type Rlimit C.struct_rlimit type _Gid_t C.gid_t // Files const ( _statfsVersion = C.STATFS_VERSION _dirblksiz = C.DIRBLKSIZ ) 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 // File system limits const ( PathMax = C.PATH_MAX ) // 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 Xucred C.struct_xucred 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 SizeofXucred = C.sizeof_struct_xucred SizeofLinger = C.sizeof_struct_linger SizeofIovec = C.sizeof_struct_iovec 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 ) type PtraceLwpInfoStruct C.struct_ptrace_lwpinfo type __Siginfo C.struct___siginfo type Sigset_t C.sigset_t type Reg C.struct_reg type FpReg C.struct_fpreg // FpExtendedPrecision is only defined for use in a member of FpReg on freebsd/arm. type FpExtendedPrecision C.struct_fp_extended_precision type PtraceIoDesc C.struct_ptrace_io_desc // 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 type Winsize C.struct_winsize // fchmodat-like syscalls. const ( AT_FDCWD = C.AT_FDCWD AT_EACCESS = C.AT_EACCESS AT_SYMLINK_NOFOLLOW = C.AT_SYMLINK_NOFOLLOW AT_SYMLINK_FOLLOW = C.AT_SYMLINK_FOLLOW AT_REMOVEDIR = C.AT_REMOVEDIR ) // poll type PollFd C.struct_pollfd const ( POLLERR = C.POLLERR POLLHUP = C.POLLHUP POLLIN = C.POLLIN POLLINIGNEOF = C.POLLINIGNEOF POLLNVAL = C.POLLNVAL POLLOUT = C.POLLOUT POLLPRI = C.POLLPRI POLLRDBAND = C.POLLRDBAND POLLRDNORM = C.POLLRDNORM POLLWRBAND = C.POLLWRBAND POLLWRNORM = C.POLLWRNORM POLLRDHUP = C.POLLRDHUP ) // Capabilities type CapRights C.struct_cap_rights // Uname type Utsname C.struct_utsname // Clockinfo const SizeofClockinfo = C.sizeof_struct_clockinfo type Clockinfo C.struct_clockinfo dependencies/pkg/mod/golang.org/x/sys@v0.26.0/unix/zsysnum_freebsd_riscv64.go0000644000000000000000000011014415107355264025743 0ustar rootroot// go run mksysnum.go https://cgit.freebsd.org/src/plain/sys/kern/syscalls.master?h=stable/12 // Code generated by the command above; see README.md. DO NOT EDIT. //go:build riscv64 && freebsd package unix const ( // SYS_NOSYS = 0; // { int nosys(void); } syscall nosys_args int SYS_EXIT = 1 // { void sys_exit(int rval); } exit sys_exit_args void 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, struct rusage *rusage); } 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_CHMOD = 15 // { int chmod(char *path, int mode); } SYS_CHOWN = 16 // { int chown(char *path, int uid, int gid); } SYS_BREAK = 17 // { caddr_t break(char *nsize); } SYS_GETPID = 20 // { pid_t getpid(void); } SYS_MOUNT = 21 // { int mount(char *type, char *path, int flags, caddr_t data); } 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, int data); } SYS_RECVMSG = 27 // { int recvmsg(int s, struct msghdr *msg, int flags); } SYS_SENDMSG = 28 // { int sendmsg(int s, struct msghdr *msg, int flags); } SYS_RECVFROM = 29 // { int recvfrom(int s, caddr_t buf, size_t len, int flags, struct sockaddr * __restrict from, __socklen_t * __restrict fromlenaddr); } SYS_ACCEPT = 30 // { int accept(int s, struct sockaddr * __restrict name, __socklen_t * __restrict anamelen); } SYS_GETPEERNAME = 31 // { int getpeername(int fdes, struct sockaddr * __restrict asa, __socklen_t * __restrict alen); } SYS_GETSOCKNAME = 32 // { int getsockname(int fdes, struct sockaddr * __restrict asa, __socklen_t * __restrict alen); } 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_GETEGID = 43 // { gid_t getegid(void); } SYS_PROFIL = 44 // { int profil(caddr_t samples, size_t size, size_t offset, u_int scale); } SYS_KTRACE = 45 // { int ktrace(const char *fname, int ops, int facs, int pid); } 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 // { ssize_t readlink(char *path, char *buf, size_t count); } SYS_EXECVE = 59 // { int execve(char *fname, char **argv, char **envv); } SYS_UMASK = 60 // { int umask(int newmask); } SYS_CHROOT = 61 // { int chroot(char *path); } SYS_MSYNC = 65 // { int msync(void *addr, size_t len, int flags); } SYS_VFORK = 66 // { int 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, char *vec); } 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, struct itimerval *oitv); } 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(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, fd_set *ex, struct timeval *tv); } 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, caddr_t val, int valsize); } SYS_LISTEN = 106 // { int listen(int s, int backlog); } SYS_GETTIMEOFDAY = 116 // { int gettimeofday(struct timeval *tp, struct timezone *tzp); } SYS_GETRUSAGE = 117 // { int getrusage(int who, struct rusage *rusage); } SYS_GETSOCKOPT = 118 // { int getsockopt(int s, int level, int name, caddr_t val, int *avalsize); } SYS_READV = 120 // { int readv(int fd, struct iovec *iovp, u_int iovcnt); } SYS_WRITEV = 121 // { int writev(int fd, struct iovec *iovp, u_int iovcnt); } SYS_SETTIMEOFDAY = 122 // { int settimeofday(struct timeval *tv, struct timezone *tzp); } 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, int flags, caddr_t to, int tolen); } SYS_SHUTDOWN = 134 // { int shutdown(int s, int how); } SYS_SOCKETPAIR = 135 // { int socketpair(int domain, int type, int protocol, int *rsv); } 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, struct timeval *olddelta); } SYS_SETSID = 147 // { int setsid(void); } SYS_QUOTACTL = 148 // { int quotactl(char *path, int cmd, int uid, caddr_t arg); } SYS_NLM_SYSCALL = 154 // { int nlm_syscall(int debug_level, int grace_period, int addr_count, char **addrs); } SYS_NFSSVC = 155 // { int nfssvc(int flag, caddr_t argp); } SYS_LGETFH = 160 // { int lgetfh(char *fname, struct fhandle *fhp); } SYS_GETFH = 161 // { int getfh(char *fname, struct fhandle *fhp); } SYS_SYSARCH = 165 // { int sysarch(int op, char *parms); } SYS_RTPRIO = 166 // { int rtprio(int function, pid_t pid, struct rtprio *rtp); } SYS_SEMSYS = 169 // { int semsys(int which, int a2, int a3, int a4, int a5); } SYS_MSGSYS = 170 // { int msgsys(int which, int a2, int a3, int a4, int a5, int a6); } SYS_SHMSYS = 171 // { int shmsys(int which, int a2, int a3, int a4); } 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_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, struct rlimit *rlp); } getrlimit __getrlimit_args int SYS_SETRLIMIT = 195 // { int setrlimit(u_int which, struct rlimit *rlp); } setrlimit __setrlimit_args int SYS___SYSCTL = 202 // { int __sysctl(int *name, u_int namelen, void *old, size_t *oldlenp, void *new, size_t newlen); } __sysctl sysctl_args int 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, int timeout); } SYS_SEMGET = 221 // { int semget(key_t key, int nsems, int semflg); } SYS_SEMOP = 222 // { int semop(int semid, struct sembuf *sops, size_t nsops); } SYS_MSGGET = 225 // { int msgget(key_t key, int msgflg); } SYS_MSGSND = 226 // { int msgsnd(int msqid, const void *msgp, size_t msgsz, int msgflg); } SYS_MSGRCV = 227 // { ssize_t msgrcv(int msqid, void *msgp, size_t msgsz, long msgtyp, int msgflg); } SYS_SHMAT = 228 // { int shmat(int shmid, const void *shmaddr, int shmflg); } 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, struct timespec *tp); } SYS_CLOCK_SETTIME = 233 // { int clock_settime(clockid_t clock_id, const struct timespec *tp); } SYS_CLOCK_GETRES = 234 // { int clock_getres(clockid_t clock_id, struct timespec *tp); } SYS_KTIMER_CREATE = 235 // { int ktimer_create(clockid_t clock_id, struct sigevent *evp, int *timerid); } SYS_KTIMER_DELETE = 236 // { int ktimer_delete(int timerid); } SYS_KTIMER_SETTIME = 237 // { int ktimer_settime(int timerid, int flags, const struct itimerspec *value, struct itimerspec *ovalue); } SYS_KTIMER_GETTIME = 238 // { int ktimer_gettime(int timerid, struct itimerspec *value); } SYS_KTIMER_GETOVERRUN = 239 // { int ktimer_getoverrun(int timerid); } SYS_NANOSLEEP = 240 // { int nanosleep(const struct timespec *rqtp, struct timespec *rmtp); } SYS_FFCLOCK_GETCOUNTER = 241 // { int ffclock_getcounter(ffcounter *ffcount); } SYS_FFCLOCK_SETESTIMATE = 242 // { int ffclock_setestimate(struct ffclock_estimate *cest); } SYS_FFCLOCK_GETESTIMATE = 243 // { int ffclock_getestimate(struct ffclock_estimate *cest); } SYS_CLOCK_NANOSLEEP = 244 // { int clock_nanosleep(clockid_t clock_id, int flags, const struct timespec *rqtp, struct timespec *rmtp); } SYS_CLOCK_GETCPUCLOCKID2 = 247 // { int clock_getcpuclockid2(id_t id, int which, clockid_t *clock_id); } SYS_NTP_GETTIME = 248 // { int ntp_gettime(struct ntptimeval *ntvp); } SYS_MINHERIT = 250 // { int minherit(void *addr, size_t len, int inherit); } SYS_RFORK = 251 // { int rfork(int flags); } SYS_ISSETUGID = 253 // { int issetugid(void); } SYS_LCHOWN = 254 // { int lchown(char *path, int uid, int gid); } SYS_AIO_READ = 255 // { int aio_read(struct aiocb *aiocbp); } SYS_AIO_WRITE = 256 // { int aio_write(struct aiocb *aiocbp); } SYS_LIO_LISTIO = 257 // { int lio_listio(int mode, struct aiocb* const *acb_list, int nent, struct sigevent *sig); } SYS_LCHMOD = 274 // { int lchmod(char *path, mode_t mode); } SYS_LUTIMES = 276 // { int lutimes(char *path, struct timeval *tptr); } SYS_PREADV = 289 // { ssize_t preadv(int fd, struct iovec *iovp, u_int iovcnt, off_t offset); } SYS_PWRITEV = 290 // { ssize_t pwritev(int fd, struct iovec *iovp, u_int iovcnt, off_t offset); } 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 // { ssize_t 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_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, size_t 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, sigset_t *oset); } 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, siginfo_t *info, const struct timespec *timeout); } SYS_SIGWAITINFO = 346 // { int sigwaitinfo(const sigset_t *set, siginfo_t *info); } SYS___ACL_GET_FILE = 347 // { int __acl_get_file(const char *path, acl_type_t type, struct acl *aclp); } SYS___ACL_SET_FILE = 348 // { int __acl_set_file(const char *path, acl_type_t type, struct acl *aclp); } SYS___ACL_GET_FD = 349 // { int __acl_get_fd(int filedes, acl_type_t type, struct acl *aclp); } SYS___ACL_SET_FD = 350 // { int __acl_set_fd(int filedes, acl_type_t type, struct acl *aclp); } SYS___ACL_DELETE_FILE = 351 // { int __acl_delete_file(const char *path, acl_type_t type); } 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, acl_type_t type, struct acl *aclp); } SYS___ACL_ACLCHECK_FD = 354 // { int __acl_aclcheck_fd(int filedes, acl_type_t type, struct acl *aclp); } SYS_EXTATTRCTL = 355 // { int extattrctl(const char *path, int cmd, const char *filename, int attrnamespace, const char *attrname); } SYS_EXTATTR_SET_FILE = 356 // { ssize_t extattr_set_file(const char *path, int attrnamespace, const char *attrname, void *data, size_t nbytes); } SYS_EXTATTR_GET_FILE = 357 // { ssize_t extattr_get_file(const char *path, int attrnamespace, const char *attrname, void *data, size_t nbytes); } SYS_EXTATTR_DELETE_FILE = 358 // { int extattr_delete_file(const char *path, int attrnamespace, const char *attrname); } SYS_AIO_WAITCOMPLETE = 359 // { ssize_t 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_EXTATTR_SET_FD = 371 // { ssize_t extattr_set_fd(int fd, int attrnamespace, const char *attrname, void *data, size_t nbytes); } SYS_EXTATTR_GET_FD = 372 // { ssize_t extattr_get_fd(int fd, int attrnamespace, const char *attrname, void *data, size_t nbytes); } SYS_EXTATTR_DELETE_FD = 373 // { int extattr_delete_fd(int fd, int attrnamespace, const char *attrname); } SYS___SETUGID = 374 // { int __setugid(int flag); } SYS_EACCESS = 376 // { int eaccess(char *path, int amode); } SYS_NMOUNT = 378 // { int nmount(struct iovec *iovp, unsigned int iovcnt, int flags); } 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, struct mac *mac_p); } SYS___MAC_GET_FILE = 387 // { int __mac_get_file(const char *path_p, struct mac *mac_p); } SYS___MAC_SET_FD = 388 // { int __mac_set_fd(int fd, struct mac *mac_p); } SYS___MAC_SET_FILE = 389 // { int __mac_set_file(const char *path_p, struct mac *mac_p); } SYS_KENV = 390 // { int kenv(int what, const char *name, char *value, int len); } SYS_LCHFLAGS = 391 // { int lchflags(const char *path, u_long 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, struct sf_hdtr *hdtr, off_t *sbytes, int flags); } SYS_MAC_SYSCALL = 394 // { int mac_syscall(const char *policy, int call, void *arg); } SYS_KSEM_CLOSE = 400 // { int ksem_close(semid_t id); } SYS_KSEM_POST = 401 // { int ksem_post(semid_t id); } SYS_KSEM_WAIT = 402 // { int ksem_wait(semid_t id); } SYS_KSEM_TRYWAIT = 403 // { int ksem_trywait(semid_t id); } SYS_KSEM_INIT = 404 // { int ksem_init(semid_t *idp, unsigned int value); } SYS_KSEM_OPEN = 405 // { int ksem_open(semid_t *idp, const char *name, int oflag, mode_t mode, unsigned int value); } SYS_KSEM_UNLINK = 406 // { int ksem_unlink(const char *name); } SYS_KSEM_GETVALUE = 407 // { int ksem_getvalue(semid_t id, int *val); } SYS_KSEM_DESTROY = 408 // { int ksem_destroy(semid_t id); } SYS___MAC_GET_PID = 409 // { int __mac_get_pid(pid_t pid, struct mac *mac_p); } SYS___MAC_GET_LINK = 410 // { int __mac_get_link(const char *path_p, struct mac *mac_p); } SYS___MAC_SET_LINK = 411 // { int __mac_set_link(const char *path_p, struct mac *mac_p); } SYS_EXTATTR_SET_LINK = 412 // { ssize_t extattr_set_link(const char *path, int attrnamespace, const char *attrname, void *data, size_t nbytes); } SYS_EXTATTR_GET_LINK = 413 // { ssize_t extattr_get_link(const char *path, int attrnamespace, const char *attrname, void *data, size_t nbytes); } SYS_EXTATTR_DELETE_LINK = 414 // { int extattr_delete_link(const char *path, int attrnamespace, const char *attrname); } SYS___MAC_EXECVE = 415 // { int __mac_execve(char *fname, char **argv, char **envv, struct mac *mac_p); } SYS_SIGACTION = 416 // { int sigaction(int sig, const struct sigaction *act, struct sigaction *oact); } SYS_SIGRETURN = 417 // { int sigreturn(const struct __ucontext *sigcntxp); } SYS_GETCONTEXT = 421 // { int getcontext(struct __ucontext *ucp); } SYS_SETCONTEXT = 422 // { int setcontext(const struct __ucontext *ucp); } SYS_SWAPCONTEXT = 423 // { int swapcontext(struct __ucontext *oucp, const struct __ucontext *ucp); } SYS_SWAPOFF = 424 // { int swapoff(const char *name); } SYS___ACL_GET_LINK = 425 // { int __acl_get_link(const char *path, acl_type_t type, struct acl *aclp); } SYS___ACL_SET_LINK = 426 // { int __acl_set_link(const char *path, acl_type_t type, struct acl *aclp); } SYS___ACL_DELETE_LINK = 427 // { int __acl_delete_link(const char *path, acl_type_t type); } SYS___ACL_ACLCHECK_LINK = 428 // { int __acl_aclcheck_link(const char *path, acl_type_t type, struct acl *aclp); } SYS_SIGWAIT = 429 // { int sigwait(const sigset_t *set, int *sig); } SYS_THR_CREATE = 430 // { int thr_create(ucontext_t *ctx, long *id, int flags); } 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_JAIL_ATTACH = 436 // { int jail_attach(int jid); } SYS_EXTATTR_LIST_FD = 437 // { ssize_t extattr_list_fd(int fd, int attrnamespace, void *data, size_t nbytes); } SYS_EXTATTR_LIST_FILE = 438 // { ssize_t extattr_list_file(const char *path, int attrnamespace, void *data, size_t nbytes); } SYS_EXTATTR_LIST_LINK = 439 // { ssize_t extattr_list_link(const char *path, int attrnamespace, void *data, size_t nbytes); } SYS_KSEM_TIMEDWAIT = 441 // { int ksem_timedwait(semid_t id, const struct timespec *abstime); } SYS_THR_SUSPEND = 442 // { int thr_suspend(const struct timespec *timeout); } 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, u_int length); } SYS_AUDITON = 446 // { int auditon(int cmd, void *data, u_int length); } 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(struct auditinfo_addr *auditinfo_addr, u_int length); } SYS_SETAUDIT_ADDR = 452 // { int setaudit_addr(struct auditinfo_addr *auditinfo_addr, u_int length); } SYS_AUDITCTL = 453 // { int auditctl(char *path); } SYS__UMTX_OP = 454 // { int _umtx_op(void *obj, int op, u_long val, void *uaddr1, void *uaddr2); } SYS_THR_NEW = 455 // { int thr_new(struct thr_param *param, int param_size); } SYS_SIGQUEUE = 456 // { int sigqueue(pid_t pid, int signum, void *value); } SYS_KMQ_OPEN = 457 // { int kmq_open(const char *path, int flags, mode_t mode, const struct mq_attr *attr); } SYS_KMQ_SETATTR = 458 // { int kmq_setattr(int mqd, const struct mq_attr *attr, struct mq_attr *oattr); } SYS_KMQ_TIMEDRECEIVE = 459 // { int kmq_timedreceive(int mqd, char *msg_ptr, size_t msg_len, unsigned *msg_prio, const struct timespec *abs_timeout); } SYS_KMQ_TIMEDSEND = 460 // { int kmq_timedsend(int mqd, const char *msg_ptr, size_t msg_len, unsigned msg_prio, const struct timespec *abs_timeout); } SYS_KMQ_NOTIFY = 461 // { int kmq_notify(int mqd, const struct sigevent *sigev); } SYS_KMQ_UNLINK = 462 // { int kmq_unlink(const char *path); } 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_AIO_FSYNC = 465 // { int aio_fsync(int op, struct aiocb *aiocbp); } SYS_RTPRIO_THREAD = 466 // { int rtprio_thread(int function, lwpid_t lwpid, struct rtprio *rtp); } 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, caddr_t to, __socklen_t tolen, struct sctp_sndrcvinfo *sinfo, int flags); } SYS_SCTP_GENERIC_SENDMSG_IOV = 473 // { int sctp_generic_sendmsg_iov(int sd, struct iovec *iov, int iovlen, caddr_t to, __socklen_t tolen, struct sctp_sndrcvinfo *sinfo, int flags); } SYS_SCTP_GENERIC_RECVMSG = 474 // { int sctp_generic_recvmsg(int sd, struct iovec *iov, int iovlen, struct sockaddr *from, __socklen_t *fromlenaddr, struct sctp_sndrcvinfo *sinfo, int *msg_flags); } SYS_PREAD = 475 // { ssize_t pread(int fd, void *buf, size_t nbyte, off_t offset); } SYS_PWRITE = 476 // { ssize_t pwrite(int fd, const void *buf, size_t nbyte, off_t offset); } SYS_MMAP = 477 // { caddr_t mmap(caddr_t addr, size_t len, int prot, int flags, int fd, off_t pos); } SYS_LSEEK = 478 // { off_t lseek(int fd, off_t offset, int whence); } 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, mode_t mode); } 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, cpusetid_t setid); } SYS_CPUSET_GETID = 486 // { int cpuset_getid(cpulevel_t level, cpuwhich_t which, id_t id, cpusetid_t *setid); } SYS_CPUSET_GETAFFINITY = 487 // { int cpuset_getaffinity(cpulevel_t level, cpuwhich_t which, id_t id, size_t cpusetsize, cpuset_t *mask); } SYS_CPUSET_SETAFFINITY = 488 // { int cpuset_setaffinity(cpulevel_t level, cpuwhich_t which, id_t id, size_t cpusetsize, const cpuset_t *mask); } SYS_FACCESSAT = 489 // { int faccessat(int fd, char *path, int amode, int flag); } SYS_FCHMODAT = 490 // { int fchmodat(int fd, char *path, mode_t mode, int flag); } SYS_FCHOWNAT = 491 // { int fchownat(int fd, char *path, uid_t uid, gid_t gid, int flag); } SYS_FEXECVE = 492 // { int fexecve(int fd, char **argv, char **envv); } SYS_FUTIMESAT = 494 // { int futimesat(int fd, char *path, struct timeval *times); } SYS_LINKAT = 495 // { int linkat(int fd1, char *path1, int fd2, char *path2, int flag); } 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_OPENAT = 499 // { int openat(int fd, char *path, int flag, mode_t mode); } SYS_READLINKAT = 500 // { ssize_t readlinkat(int fd, char *path, char *buf, size_t bufsize); } SYS_RENAMEAT = 501 // { int renameat(int oldfd, char *old, int newfd, char *new); } SYS_SYMLINKAT = 502 // { int symlinkat(char *path1, int fd, char *path2); } SYS_UNLINKAT = 503 // { int unlinkat(int fd, char *path, int flag); } SYS_POSIX_OPENPT = 504 // { int posix_openpt(int flags); } SYS_GSSD_SYSCALL = 505 // { int gssd_syscall(char *path); } SYS_JAIL_GET = 506 // { int jail_get(struct iovec *iovp, unsigned int iovcnt, int flags); } SYS_JAIL_SET = 507 // { int jail_set(struct iovec *iovp, unsigned int iovcnt, int flags); } SYS_JAIL_REMOVE = 508 // { int jail_remove(int jid); } SYS_CLOSEFROM = 509 // { int closefrom(int lowfd); } SYS___SEMCTL = 510 // { int __semctl(int semid, int semnum, int cmd, union semun *arg); } SYS_MSGCTL = 511 // { int msgctl(int msqid, int cmd, struct msqid_ds *buf); } SYS_SHMCTL = 512 // { int shmctl(int shmid, int cmd, struct shmid_ds *buf); } SYS_LPATHCONF = 513 // { int lpathconf(char *path, int name); } SYS___CAP_RIGHTS_GET = 515 // { int __cap_rights_get(int version, int fd, cap_rights_t *rightsp); } 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, fd_set *ou, fd_set *ex, const struct timespec *ts, const sigset_t *sm); } SYS_GETLOGINCLASS = 523 // { int getloginclass(char *namebuf, size_t namelen); } SYS_SETLOGINCLASS = 524 // { int setloginclass(const char *namebuf); } SYS_RCTL_GET_RACCT = 525 // { int rctl_get_racct(const void *inbufp, size_t inbuflen, void *outbufp, size_t outbuflen); } SYS_RCTL_GET_RULES = 526 // { int rctl_get_rules(const void *inbufp, size_t inbuflen, void *outbufp, size_t outbuflen); } SYS_RCTL_GET_LIMITS = 527 // { int rctl_get_limits(const void *inbufp, size_t inbuflen, void *outbufp, size_t outbuflen); } SYS_RCTL_ADD_RULE = 528 // { int rctl_add_rule(const void *inbufp, size_t inbuflen, void *outbufp, size_t outbuflen); } SYS_RCTL_REMOVE_RULE = 529 // { int rctl_remove_rule(const void *inbufp, size_t inbuflen, void *outbufp, size_t outbuflen); } SYS_POSIX_FALLOCATE = 530 // { int posix_fallocate(int fd, off_t offset, off_t len); } SYS_POSIX_FADVISE = 531 // { int posix_fadvise(int fd, off_t offset, off_t len, int advice); } SYS_WAIT6 = 532 // { int wait6(idtype_t idtype, id_t id, int *status, int options, struct __wrusage *wrusage, siginfo_t *info); } SYS_CAP_RIGHTS_LIMIT = 533 // { int cap_rights_limit(int fd, cap_rights_t *rightsp); } SYS_CAP_IOCTLS_LIMIT = 534 // { int cap_ioctls_limit(int fd, const u_long *cmds, size_t ncmds); } SYS_CAP_IOCTLS_GET = 535 // { ssize_t cap_ioctls_get(int fd, u_long *cmds, size_t maxcmds); } SYS_CAP_FCNTLS_LIMIT = 536 // { int cap_fcntls_limit(int fd, uint32_t fcntlrights); } SYS_CAP_FCNTLS_GET = 537 // { int cap_fcntls_get(int fd, uint32_t *fcntlrightsp); } SYS_BINDAT = 538 // { int bindat(int fd, int s, caddr_t name, int namelen); } SYS_CONNECTAT = 539 // { int connectat(int fd, int s, caddr_t name, int namelen); } SYS_CHFLAGSAT = 540 // { int chflagsat(int fd, const char *path, u_long flags, int atflag); } SYS_ACCEPT4 = 541 // { int accept4(int s, struct sockaddr * __restrict name, __socklen_t * __restrict anamelen, int flags); } SYS_PIPE2 = 542 // { int pipe2(int *fildes, int flags); } SYS_AIO_MLOCK = 543 // { int aio_mlock(struct aiocb *aiocbp); } SYS_PROCCTL = 544 // { int procctl(idtype_t idtype, id_t id, int com, void *data); } SYS_PPOLL = 545 // { int ppoll(struct pollfd *fds, u_int nfds, const struct timespec *ts, const sigset_t *set); } SYS_FUTIMENS = 546 // { int futimens(int fd, struct timespec *times); } SYS_UTIMENSAT = 547 // { int utimensat(int fd, char *path, struct timespec *times, int flag); } SYS_FDATASYNC = 550 // { int fdatasync(int fd); } SYS_FSTAT = 551 // { int fstat(int fd, struct stat *sb); } SYS_FSTATAT = 552 // { int fstatat(int fd, char *path, struct stat *buf, int flag); } SYS_FHSTAT = 553 // { int fhstat(const struct fhandle *u_fhp, struct stat *sb); } SYS_GETDIRENTRIES = 554 // { ssize_t getdirentries(int fd, char *buf, size_t count, off_t *basep); } SYS_STATFS = 555 // { int statfs(char *path, struct statfs *buf); } SYS_FSTATFS = 556 // { int fstatfs(int fd, struct statfs *buf); } SYS_GETFSSTAT = 557 // { int getfsstat(struct statfs *buf, long bufsize, int mode); } SYS_FHSTATFS = 558 // { int fhstatfs(const struct fhandle *u_fhp, struct statfs *buf); } SYS_MKNODAT = 559 // { int mknodat(int fd, char *path, mode_t mode, dev_t dev); } SYS_KEVENT = 560 // { int kevent(int fd, struct kevent *changelist, int nchanges, struct kevent *eventlist, int nevents, const struct timespec *timeout); } SYS_CPUSET_GETDOMAIN = 561 // { int cpuset_getdomain(cpulevel_t level, cpuwhich_t which, id_t id, size_t domainsetsize, domainset_t *mask, int *policy); } SYS_CPUSET_SETDOMAIN = 562 // { int cpuset_setdomain(cpulevel_t level, cpuwhich_t which, id_t id, size_t domainsetsize, domainset_t *mask, int policy); } SYS_GETRANDOM = 563 // { int getrandom(void *buf, size_t buflen, unsigned int flags); } SYS_GETFHAT = 564 // { int getfhat(int fd, char *path, struct fhandle *fhp, int flags); } SYS_FHLINK = 565 // { int fhlink(struct fhandle *fhp, const char *to); } SYS_FHLINKAT = 566 // { int fhlinkat(struct fhandle *fhp, int tofd, const char *to,); } SYS_FHREADLINK = 567 // { int fhreadlink(struct fhandle *fhp, char *buf, size_t bufsize); } SYS___SYSCTLBYNAME = 570 // { int __sysctlbyname(const char *name, size_t namelen, void *old, size_t *oldlenp, void *new, size_t newlen); } SYS_CLOSE_RANGE = 575 // { int close_range(u_int lowfd, u_int highfd, int flags); } ) dependencies/pkg/mod/golang.org/x/sys@v0.26.0/unix/ztypes_linux_loong64.go0000644000000000000000000003014715107355264025272 0ustar rootroot// cgo -godefs -objdir=/tmp/loong64/cgo -- -Wall -Werror -static -I/tmp/loong64/include linux/types.go | go run mkpost.go // Code generated by the command above; see README.md. DO NOT EDIT. //go:build loong64 && linux package unix const ( SizeofPtr = 0x8 SizeofLong = 0x8 ) type ( _C_long int64 ) type Timespec struct { Sec int64 Nsec int64 } type Timeval struct { Sec int64 Usec int64 } type Timex struct { Modes uint32 Offset int64 Freq int64 Maxerror int64 Esterror int64 Status int32 Constant int64 Precision int64 Tolerance int64 Time Timeval Tick int64 Ppsfreq int64 Jitter int64 Shift int32 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 Stat_t struct { Dev uint64 Ino uint64 Mode uint32 Nlink uint32 Uid uint32 Gid uint32 Rdev uint64 _ uint64 Size int64 Blksize int32 _ int32 Blocks int64 Atim Timespec Mtim Timespec Ctim Timespec _ [2]int32 } type Dirent struct { Ino uint64 Off int64 Reclen uint16 Type uint8 Name [256]int8 _ [5]byte } type Flock_t struct { Type int16 Whence int16 Start int64 Len int64 Pid int32 _ [4]byte } type DmNameList struct { Dev uint64 Next uint32 Name [0]byte _ [4]byte } const ( FADV_DONTNEED = 0x4 FADV_NOREUSE = 0x5 ) type RawSockaddrNFCLLCP struct { Sa_family uint16 Dev_idx uint32 Target_idx uint32 Nfc_protocol uint32 Dsap uint8 Ssap uint8 Service_name [63]uint8 Service_name_len uint64 } type RawSockaddr struct { Family uint16 Data [14]int8 } type RawSockaddrAny struct { Addr RawSockaddr Pad [96]int8 } type Iovec struct { Base *byte Len uint64 } type Msghdr struct { Name *byte Namelen uint32 Iov *Iovec Iovlen uint64 Control *byte Controllen uint64 Flags int32 _ [4]byte } type Cmsghdr struct { Len uint64 Level int32 Type int32 } type ifreq struct { Ifrn [16]byte Ifru [24]byte } const ( SizeofSockaddrNFCLLCP = 0x60 SizeofIovec = 0x10 SizeofMsghdr = 0x38 SizeofCmsghdr = 0x10 ) const ( SizeofSockFprog = 0x10 ) type PtraceRegs struct { Regs [32]uint64 Orig_a0 uint64 Era uint64 Badv uint64 Reserved [10]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 Totalhigh uint64 Freehigh uint64 Unit uint32 _ [0]int8 _ [4]byte } type Ustat_t struct { Tfree int32 Tinode uint64 Fname [6]int8 Fpack [6]int8 _ [4]byte } type EpollEvent struct { Events uint32 _ int32 Fd int32 Pad int32 } const ( OPEN_TREE_CLOEXEC = 0x80000 ) const ( POLLRDHUP = 0x2000 ) type Sigset_t struct { Val [16]uint64 } const _C__NSIG = 0x41 const ( SIG_BLOCK = 0x0 SIG_UNBLOCK = 0x1 SIG_SETMASK = 0x2 ) type Siginfo struct { Signo int32 Errno int32 Code int32 _ int32 _ [112]byte } type Termios struct { Iflag uint32 Oflag uint32 Cflag uint32 Lflag uint32 Line uint8 Cc [19]uint8 Ispeed uint32 Ospeed uint32 } type Taskstats struct { Version uint16 Ac_exitcode uint32 Ac_flag uint8 Ac_nice uint8 Cpu_count uint64 Cpu_delay_total uint64 Blkio_count uint64 Blkio_delay_total uint64 Swapin_count uint64 Swapin_delay_total uint64 Cpu_run_real_total uint64 Cpu_run_virtual_total uint64 Ac_comm [32]int8 Ac_sched uint8 Ac_pad [3]uint8 _ [4]byte Ac_uid uint32 Ac_gid uint32 Ac_pid uint32 Ac_ppid uint32 Ac_btime uint32 Ac_etime uint64 Ac_utime uint64 Ac_stime uint64 Ac_minflt uint64 Ac_majflt uint64 Coremem uint64 Virtmem uint64 Hiwater_rss uint64 Hiwater_vm uint64 Read_char uint64 Write_char uint64 Read_syscalls uint64 Write_syscalls uint64 Read_bytes uint64 Write_bytes uint64 Cancelled_write_bytes uint64 Nvcsw uint64 Nivcsw uint64 Ac_utimescaled uint64 Ac_stimescaled uint64 Cpu_scaled_run_real_total uint64 Freepages_count uint64 Freepages_delay_total uint64 Thrashing_count uint64 Thrashing_delay_total uint64 Ac_btime64 uint64 Compact_count uint64 Compact_delay_total uint64 Ac_tgid uint32 Ac_tgetime uint64 Ac_exe_dev uint64 Ac_exe_inode uint64 Wpcopy_count uint64 Wpcopy_delay_total uint64 Irq_count uint64 Irq_delay_total uint64 } type cpuMask uint64 const ( _NCPUBITS = 0x40 ) const ( CBitFieldMaskBit0 = 0x1 CBitFieldMaskBit1 = 0x2 CBitFieldMaskBit2 = 0x4 CBitFieldMaskBit3 = 0x8 CBitFieldMaskBit4 = 0x10 CBitFieldMaskBit5 = 0x20 CBitFieldMaskBit6 = 0x40 CBitFieldMaskBit7 = 0x80 CBitFieldMaskBit8 = 0x100 CBitFieldMaskBit9 = 0x200 CBitFieldMaskBit10 = 0x400 CBitFieldMaskBit11 = 0x800 CBitFieldMaskBit12 = 0x1000 CBitFieldMaskBit13 = 0x2000 CBitFieldMaskBit14 = 0x4000 CBitFieldMaskBit15 = 0x8000 CBitFieldMaskBit16 = 0x10000 CBitFieldMaskBit17 = 0x20000 CBitFieldMaskBit18 = 0x40000 CBitFieldMaskBit19 = 0x80000 CBitFieldMaskBit20 = 0x100000 CBitFieldMaskBit21 = 0x200000 CBitFieldMaskBit22 = 0x400000 CBitFieldMaskBit23 = 0x800000 CBitFieldMaskBit24 = 0x1000000 CBitFieldMaskBit25 = 0x2000000 CBitFieldMaskBit26 = 0x4000000 CBitFieldMaskBit27 = 0x8000000 CBitFieldMaskBit28 = 0x10000000 CBitFieldMaskBit29 = 0x20000000 CBitFieldMaskBit30 = 0x40000000 CBitFieldMaskBit31 = 0x80000000 CBitFieldMaskBit32 = 0x100000000 CBitFieldMaskBit33 = 0x200000000 CBitFieldMaskBit34 = 0x400000000 CBitFieldMaskBit35 = 0x800000000 CBitFieldMaskBit36 = 0x1000000000 CBitFieldMaskBit37 = 0x2000000000 CBitFieldMaskBit38 = 0x4000000000 CBitFieldMaskBit39 = 0x8000000000 CBitFieldMaskBit40 = 0x10000000000 CBitFieldMaskBit41 = 0x20000000000 CBitFieldMaskBit42 = 0x40000000000 CBitFieldMaskBit43 = 0x80000000000 CBitFieldMaskBit44 = 0x100000000000 CBitFieldMaskBit45 = 0x200000000000 CBitFieldMaskBit46 = 0x400000000000 CBitFieldMaskBit47 = 0x800000000000 CBitFieldMaskBit48 = 0x1000000000000 CBitFieldMaskBit49 = 0x2000000000000 CBitFieldMaskBit50 = 0x4000000000000 CBitFieldMaskBit51 = 0x8000000000000 CBitFieldMaskBit52 = 0x10000000000000 CBitFieldMaskBit53 = 0x20000000000000 CBitFieldMaskBit54 = 0x40000000000000 CBitFieldMaskBit55 = 0x80000000000000 CBitFieldMaskBit56 = 0x100000000000000 CBitFieldMaskBit57 = 0x200000000000000 CBitFieldMaskBit58 = 0x400000000000000 CBitFieldMaskBit59 = 0x800000000000000 CBitFieldMaskBit60 = 0x1000000000000000 CBitFieldMaskBit61 = 0x2000000000000000 CBitFieldMaskBit62 = 0x4000000000000000 CBitFieldMaskBit63 = 0x8000000000000000 ) type SockaddrStorage struct { Family uint16 Data [118]byte _ uint64 } type HDGeometry struct { Heads uint8 Sectors uint8 Cylinders uint16 Start 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 TpacketHdr struct { Status uint64 Len uint32 Snaplen uint32 Mac uint16 Net uint16 Sec uint32 Usec uint32 _ [4]byte } const ( SizeofTpacketHdr = 0x20 ) type RTCPLLInfo struct { Ctrl int32 Value int32 Max int32 Min int32 Posmult int32 Negmult int32 Clock int64 } type BlkpgPartition struct { Start int64 Length int64 Pno int32 Devname [64]uint8 Volname [64]uint8 _ [4]byte } const ( BLKPG = 0x1269 ) type CryptoUserAlg struct { Name [64]int8 Driver_name [64]int8 Module_name [64]int8 Type uint32 Mask uint32 Refcnt uint32 Flags uint32 } type CryptoStatAEAD struct { Type [64]int8 Encrypt_cnt uint64 Encrypt_tlen uint64 Decrypt_cnt uint64 Decrypt_tlen uint64 Err_cnt uint64 } type CryptoStatAKCipher struct { Type [64]int8 Encrypt_cnt uint64 Encrypt_tlen uint64 Decrypt_cnt uint64 Decrypt_tlen uint64 Verify_cnt uint64 Sign_cnt uint64 Err_cnt uint64 } type CryptoStatCipher struct { Type [64]int8 Encrypt_cnt uint64 Encrypt_tlen uint64 Decrypt_cnt uint64 Decrypt_tlen uint64 Err_cnt uint64 } type CryptoStatCompress struct { Type [64]int8 Compress_cnt uint64 Compress_tlen uint64 Decompress_cnt uint64 Decompress_tlen uint64 Err_cnt uint64 } type CryptoStatHash struct { Type [64]int8 Hash_cnt uint64 Hash_tlen uint64 Err_cnt uint64 } type CryptoStatKPP struct { Type [64]int8 Setsecret_cnt uint64 Generate_public_key_cnt uint64 Compute_shared_secret_cnt uint64 Err_cnt uint64 } type CryptoStatRNG struct { Type [64]int8 Generate_cnt uint64 Generate_tlen uint64 Seed_cnt uint64 Err_cnt uint64 } type CryptoStatLarval struct { Type [64]int8 } type CryptoReportLarval struct { Type [64]int8 } type CryptoReportHash struct { Type [64]int8 Blocksize uint32 Digestsize uint32 } type CryptoReportCipher struct { Type [64]int8 Blocksize uint32 Min_keysize uint32 Max_keysize uint32 } type CryptoReportBlkCipher struct { Type [64]int8 Geniv [64]int8 Blocksize uint32 Min_keysize uint32 Max_keysize uint32 Ivsize uint32 } type CryptoReportAEAD struct { Type [64]int8 Geniv [64]int8 Blocksize uint32 Maxauthsize uint32 Ivsize uint32 } type CryptoReportComp struct { Type [64]int8 } type CryptoReportRNG struct { Type [64]int8 Seedsize uint32 } type CryptoReportAKCipher struct { Type [64]int8 } type CryptoReportKPP struct { Type [64]int8 } type CryptoReportAcomp struct { Type [64]int8 } type LoopInfo struct { Number int32 Device uint32 Inode uint64 Rdevice uint32 Offset int32 Encrypt_type int32 Encrypt_key_size int32 Flags int32 Name [64]int8 Encrypt_key [32]uint8 Init [2]uint64 Reserved [4]int8 _ [4]byte } type TIPCSubscr struct { Seq TIPCServiceRange Timeout uint32 Filter uint32 Handle [8]int8 } type TIPCSIOCLNReq struct { Peer uint32 Id uint32 Linkname [68]int8 } type TIPCSIOCNodeIDReq struct { Peer uint32 Id [16]int8 } type PPSKInfo struct { Assert_sequence uint32 Clear_sequence uint32 Assert_tu PPSKTime Clear_tu PPSKTime Current_mode int32 _ [4]byte } const ( PPS_GETPARAMS = 0x800870a1 PPS_SETPARAMS = 0x400870a2 PPS_GETCAP = 0x800870a3 PPS_FETCH = 0xc00870a4 ) const ( PIDFD_NONBLOCK = 0x800 ) type SysvIpcPerm struct { Key int32 Uid uint32 Gid uint32 Cuid uint32 Cgid uint32 Mode uint32 _ [0]uint8 Seq uint16 _ uint16 _ uint64 _ uint64 } type SysvShmDesc struct { Perm SysvIpcPerm Segsz uint64 Atime int64 Dtime int64 Ctime int64 Cpid int32 Lpid int32 Nattch uint64 _ uint64 _ uint64 } dependencies/pkg/mod/golang.org/x/sys@v0.26.0/unix/zsysnum_linux_loong64.go0000644000000000000000000002561115107355264025464 0ustar rootroot// go run linux/mksysnum.go -Wall -Werror -static -I/tmp/loong64/include /tmp/loong64/include/asm/unistd.h // Code generated by the command above; see README.md. DO NOT EDIT. //go:build loong64 && 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_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_NEWFSTATAT = 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_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 SYS_STATX = 291 SYS_IO_PGETEVENTS = 292 SYS_RSEQ = 293 SYS_KEXEC_FILE_LOAD = 294 SYS_PIDFD_SEND_SIGNAL = 424 SYS_IO_URING_SETUP = 425 SYS_IO_URING_ENTER = 426 SYS_IO_URING_REGISTER = 427 SYS_OPEN_TREE = 428 SYS_MOVE_MOUNT = 429 SYS_FSOPEN = 430 SYS_FSCONFIG = 431 SYS_FSMOUNT = 432 SYS_FSPICK = 433 SYS_PIDFD_OPEN = 434 SYS_CLONE3 = 435 SYS_CLOSE_RANGE = 436 SYS_OPENAT2 = 437 SYS_PIDFD_GETFD = 438 SYS_FACCESSAT2 = 439 SYS_PROCESS_MADVISE = 440 SYS_EPOLL_PWAIT2 = 441 SYS_MOUNT_SETATTR = 442 SYS_QUOTACTL_FD = 443 SYS_LANDLOCK_CREATE_RULESET = 444 SYS_LANDLOCK_ADD_RULE = 445 SYS_LANDLOCK_RESTRICT_SELF = 446 SYS_PROCESS_MRELEASE = 448 SYS_FUTEX_WAITV = 449 SYS_SET_MEMPOLICY_HOME_NODE = 450 SYS_CACHESTAT = 451 SYS_FCHMODAT2 = 452 SYS_MAP_SHADOW_STACK = 453 SYS_FUTEX_WAKE = 454 SYS_FUTEX_WAIT = 455 SYS_FUTEX_REQUEUE = 456 SYS_STATMOUNT = 457 SYS_LISTMOUNT = 458 SYS_LSM_GET_SELF_ATTR = 459 SYS_LSM_SET_SELF_ATTR = 460 SYS_LSM_LIST_MODULES = 461 SYS_MSEAL = 462 ) dependencies/pkg/mod/golang.org/x/sys@v0.26.0/unix/zerrors_linux_arm.go0000644000000000000000000010526415107355264024734 0ustar rootroot// mkerrors.sh -Wall -Werror -static -I/tmp/arm/include // Code generated by the command above; see README.md. DO NOT EDIT. //go:build arm && linux // Code generated by cmd/cgo -godefs; DO NOT EDIT. // cgo -godefs -- -Wall -Werror -static -I/tmp/arm/include _const.go package unix import "syscall" const ( B1000000 = 0x1008 B115200 = 0x1002 B1152000 = 0x1009 B1500000 = 0x100a B2000000 = 0x100b B230400 = 0x1003 B2500000 = 0x100c B3000000 = 0x100d B3500000 = 0x100e B4000000 = 0x100f B460800 = 0x1004 B500000 = 0x1005 B57600 = 0x1001 B576000 = 0x1006 B921600 = 0x1007 BLKALIGNOFF = 0x127a BLKBSZGET = 0x80041270 BLKBSZSET = 0x40041271 BLKDISCARD = 0x1277 BLKDISCARDZEROES = 0x127c BLKFLSBUF = 0x1261 BLKFRAGET = 0x1265 BLKFRASET = 0x1264 BLKGETDISKSEQ = 0x80081280 BLKGETSIZE = 0x1260 BLKGETSIZE64 = 0x80041272 BLKIOMIN = 0x1278 BLKIOOPT = 0x1279 BLKPBSZGET = 0x127b BLKRAGET = 0x1263 BLKRASET = 0x1262 BLKROGET = 0x125e BLKROSET = 0x125d BLKROTATIONAL = 0x127e BLKRRPART = 0x125f BLKSECDISCARD = 0x127d BLKSECTGET = 0x1267 BLKSECTSET = 0x1266 BLKSSZGET = 0x1268 BLKZEROOUT = 0x127f BOTHER = 0x1000 BS1 = 0x2000 BSDLY = 0x2000 CBAUD = 0x100f CBAUDEX = 0x1000 CIBAUD = 0x100f0000 CLOCAL = 0x800 CR1 = 0x200 CR2 = 0x400 CR3 = 0x600 CRDLY = 0x600 CREAD = 0x80 CS6 = 0x10 CS7 = 0x20 CS8 = 0x30 CSIZE = 0x30 CSTOPB = 0x40 ECCGETLAYOUT = 0x81484d11 ECCGETSTATS = 0x80104d12 ECHOCTL = 0x200 ECHOE = 0x10 ECHOK = 0x20 ECHOKE = 0x800 ECHONL = 0x40 ECHOPRT = 0x400 EFD_CLOEXEC = 0x80000 EFD_NONBLOCK = 0x800 EPIOCGPARAMS = 0x80088a02 EPIOCSPARAMS = 0x40088a01 EPOLL_CLOEXEC = 0x80000 EXTPROC = 0x10000 FF1 = 0x8000 FFDLY = 0x8000 FICLONE = 0x40049409 FICLONERANGE = 0x4020940d FLUSHO = 0x1000 FS_IOC_ENABLE_VERITY = 0x40806685 FS_IOC_GETFLAGS = 0x80046601 FS_IOC_GET_ENCRYPTION_NONCE = 0x8010661b FS_IOC_GET_ENCRYPTION_POLICY = 0x400c6615 FS_IOC_GET_ENCRYPTION_PWSALT = 0x40106614 FS_IOC_SETFLAGS = 0x40046602 FS_IOC_SET_ENCRYPTION_POLICY = 0x800c6613 F_GETLK = 0xc F_GETLK64 = 0xc F_GETOWN = 0x9 F_RDLCK = 0x0 F_SETLK = 0xd F_SETLK64 = 0xd F_SETLKW = 0xe F_SETLKW64 = 0xe F_SETOWN = 0x8 F_UNLCK = 0x2 F_WRLCK = 0x1 HIDIOCGRAWINFO = 0x80084803 HIDIOCGRDESC = 0x90044802 HIDIOCGRDESCSIZE = 0x80044801 HUPCL = 0x400 ICANON = 0x2 IEXTEN = 0x8000 IN_CLOEXEC = 0x80000 IN_NONBLOCK = 0x800 IOCTL_VM_SOCKETS_GET_LOCAL_CID = 0x7b9 ISIG = 0x1 IUCLC = 0x200 IXOFF = 0x1000 IXON = 0x400 MAP_ANON = 0x20 MAP_ANONYMOUS = 0x20 MAP_DENYWRITE = 0x800 MAP_EXECUTABLE = 0x1000 MAP_GROWSDOWN = 0x100 MAP_HUGETLB = 0x40000 MAP_LOCKED = 0x2000 MAP_NONBLOCK = 0x10000 MAP_NORESERVE = 0x4000 MAP_POPULATE = 0x8000 MAP_STACK = 0x20000 MAP_SYNC = 0x80000 MCL_CURRENT = 0x1 MCL_FUTURE = 0x2 MCL_ONFAULT = 0x4 MEMERASE = 0x40084d02 MEMERASE64 = 0x40104d14 MEMGETBADBLOCK = 0x40084d0b MEMGETINFO = 0x80204d01 MEMGETOOBSEL = 0x80c84d0a MEMGETREGIONCOUNT = 0x80044d07 MEMISLOCKED = 0x80084d17 MEMLOCK = 0x40084d05 MEMREAD = 0xc0404d1a MEMREADOOB = 0xc00c4d04 MEMSETBADBLOCK = 0x40084d0c MEMUNLOCK = 0x40084d06 MEMWRITEOOB = 0xc00c4d03 MTDFILEMODE = 0x4d13 NFDBITS = 0x20 NLDLY = 0x100 NOFLSH = 0x80 NS_GET_MNTNS_ID = 0x8008b705 NS_GET_NSTYPE = 0xb703 NS_GET_OWNER_UID = 0xb704 NS_GET_PARENT = 0xb702 NS_GET_PID_FROM_PIDNS = 0x8004b706 NS_GET_PID_IN_PIDNS = 0x8004b708 NS_GET_TGID_FROM_PIDNS = 0x8004b707 NS_GET_TGID_IN_PIDNS = 0x8004b709 NS_GET_USERNS = 0xb701 OLCUC = 0x2 ONLCR = 0x4 OTPERASE = 0x400c4d19 OTPGETREGIONCOUNT = 0x40044d0e OTPGETREGIONINFO = 0x400c4d0f OTPLOCK = 0x800c4d10 OTPSELECT = 0x80044d0d 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_RSYNC = 0x101000 O_SYNC = 0x101000 O_TMPFILE = 0x404000 O_TRUNC = 0x200 PARENB = 0x100 PARODD = 0x200 PENDIN = 0x4000 PERF_EVENT_IOC_DISABLE = 0x2401 PERF_EVENT_IOC_ENABLE = 0x2400 PERF_EVENT_IOC_ID = 0x80042407 PERF_EVENT_IOC_MODIFY_ATTRIBUTES = 0x4004240b PERF_EVENT_IOC_PAUSE_OUTPUT = 0x40042409 PERF_EVENT_IOC_PERIOD = 0x40082404 PERF_EVENT_IOC_QUERY_BPF = 0xc004240a PERF_EVENT_IOC_REFRESH = 0x2402 PERF_EVENT_IOC_RESET = 0x2403 PERF_EVENT_IOC_SET_BPF = 0x40042408 PERF_EVENT_IOC_SET_FILTER = 0x40042406 PERF_EVENT_IOC_SET_OUTPUT = 0x2405 PPPIOCATTACH = 0x4004743d PPPIOCATTCHAN = 0x40047438 PPPIOCBRIDGECHAN = 0x40047435 PPPIOCCONNECT = 0x4004743a PPPIOCDETACH = 0x4004743c PPPIOCDISCONN = 0x7439 PPPIOCGASYNCMAP = 0x80047458 PPPIOCGCHAN = 0x80047437 PPPIOCGDEBUG = 0x80047441 PPPIOCGFLAGS = 0x8004745a PPPIOCGIDLE = 0x8008743f PPPIOCGIDLE32 = 0x8008743f PPPIOCGIDLE64 = 0x8010743f PPPIOCGL2TPSTATS = 0x80487436 PPPIOCGMRU = 0x80047453 PPPIOCGRASYNCMAP = 0x80047455 PPPIOCGUNIT = 0x80047456 PPPIOCGXASYNCMAP = 0x80207450 PPPIOCSACTIVE = 0x40087446 PPPIOCSASYNCMAP = 0x40047457 PPPIOCSCOMPRESS = 0x400c744d PPPIOCSDEBUG = 0x40047440 PPPIOCSFLAGS = 0x40047459 PPPIOCSMAXCID = 0x40047451 PPPIOCSMRRU = 0x4004743b PPPIOCSMRU = 0x40047452 PPPIOCSNPMODE = 0x4008744b PPPIOCSPASS = 0x40087447 PPPIOCSRASYNCMAP = 0x40047454 PPPIOCSXASYNCMAP = 0x4020744f PPPIOCUNBRIDGECHAN = 0x7434 PPPIOCXFERUNIT = 0x744e PR_SET_PTRACER_ANY = 0xffffffff PTRACE_GETCRUNCHREGS = 0x19 PTRACE_GETFDPIC = 0x1f PTRACE_GETFDPIC_EXEC = 0x0 PTRACE_GETFDPIC_INTERP = 0x1 PTRACE_GETFPREGS = 0xe PTRACE_GETHBPREGS = 0x1d PTRACE_GETVFPREGS = 0x1b PTRACE_GETWMMXREGS = 0x12 PTRACE_GET_THREAD_AREA = 0x16 PTRACE_OLDSETOPTIONS = 0x15 PTRACE_SETCRUNCHREGS = 0x1a PTRACE_SETFPREGS = 0xf PTRACE_SETHBPREGS = 0x1e PTRACE_SETVFPREGS = 0x1c PTRACE_SETWMMXREGS = 0x13 PTRACE_SET_SYSCALL = 0x17 PT_DATA_ADDR = 0x10004 PT_TEXT_ADDR = 0x10000 PT_TEXT_END_ADDR = 0x10008 RLIMIT_AS = 0x9 RLIMIT_MEMLOCK = 0x8 RLIMIT_NOFILE = 0x7 RLIMIT_NPROC = 0x6 RLIMIT_RSS = 0x5 RNDADDENTROPY = 0x40085203 RNDADDTOENTCNT = 0x40045201 RNDCLEARPOOL = 0x5206 RNDGETENTCNT = 0x80045200 RNDGETPOOL = 0x80085202 RNDRESEEDCRNG = 0x5207 RNDZAPENTCNT = 0x5204 RTC_AIE_OFF = 0x7002 RTC_AIE_ON = 0x7001 RTC_ALM_READ = 0x80247008 RTC_ALM_SET = 0x40247007 RTC_EPOCH_READ = 0x8004700d RTC_EPOCH_SET = 0x4004700e RTC_IRQP_READ = 0x8004700b RTC_IRQP_SET = 0x4004700c RTC_PARAM_GET = 0x40187013 RTC_PARAM_SET = 0x40187014 RTC_PIE_OFF = 0x7006 RTC_PIE_ON = 0x7005 RTC_PLL_GET = 0x801c7011 RTC_PLL_SET = 0x401c7012 RTC_RD_TIME = 0x80247009 RTC_SET_TIME = 0x4024700a RTC_UIE_OFF = 0x7004 RTC_UIE_ON = 0x7003 RTC_VL_CLR = 0x7014 RTC_VL_READ = 0x80047013 RTC_WIE_OFF = 0x7010 RTC_WIE_ON = 0x700f RTC_WKALM_RD = 0x80287010 RTC_WKALM_SET = 0x4028700f SCM_TIMESTAMPING = 0x25 SCM_TIMESTAMPING_OPT_STATS = 0x36 SCM_TIMESTAMPING_PKTINFO = 0x3a SCM_TIMESTAMPNS = 0x23 SCM_TXTIME = 0x3d SCM_WIFI_STATUS = 0x29 SECCOMP_IOCTL_NOTIF_ADDFD = 0x40182103 SECCOMP_IOCTL_NOTIF_ID_VALID = 0x40082102 SECCOMP_IOCTL_NOTIF_SET_FLAGS = 0x40082104 SFD_CLOEXEC = 0x80000 SFD_NONBLOCK = 0x800 SIOCATMARK = 0x8905 SIOCGPGRP = 0x8904 SIOCGSTAMPNS_NEW = 0x80108907 SIOCGSTAMP_NEW = 0x80108906 SIOCINQ = 0x541b SIOCOUTQ = 0x5411 SIOCSPGRP = 0x8902 SOCK_CLOEXEC = 0x80000 SOCK_DGRAM = 0x2 SOCK_NONBLOCK = 0x800 SOCK_STREAM = 0x1 SOL_SOCKET = 0x1 SO_ACCEPTCONN = 0x1e SO_ATTACH_BPF = 0x32 SO_ATTACH_REUSEPORT_CBPF = 0x33 SO_ATTACH_REUSEPORT_EBPF = 0x34 SO_BINDTODEVICE = 0x19 SO_BINDTOIFINDEX = 0x3e SO_BPF_EXTENSIONS = 0x30 SO_BROADCAST = 0x6 SO_BSDCOMPAT = 0xe SO_BUF_LOCK = 0x48 SO_BUSY_POLL = 0x2e SO_BUSY_POLL_BUDGET = 0x46 SO_CNX_ADVICE = 0x35 SO_COOKIE = 0x39 SO_DETACH_REUSEPORT_BPF = 0x44 SO_DOMAIN = 0x27 SO_DONTROUTE = 0x5 SO_ERROR = 0x4 SO_INCOMING_CPU = 0x31 SO_INCOMING_NAPI_ID = 0x38 SO_KEEPALIVE = 0x9 SO_LINGER = 0xd SO_LOCK_FILTER = 0x2c SO_MARK = 0x24 SO_MAX_PACING_RATE = 0x2f SO_MEMINFO = 0x37 SO_NETNS_COOKIE = 0x47 SO_NOFCS = 0x2b SO_OOBINLINE = 0xa SO_PASSCRED = 0x10 SO_PASSPIDFD = 0x4c SO_PASSSEC = 0x22 SO_PEEK_OFF = 0x2a SO_PEERCRED = 0x11 SO_PEERGROUPS = 0x3b SO_PEERPIDFD = 0x4d SO_PEERSEC = 0x1f SO_PREFER_BUSY_POLL = 0x45 SO_PROTOCOL = 0x26 SO_RCVBUF = 0x8 SO_RCVBUFFORCE = 0x21 SO_RCVLOWAT = 0x12 SO_RCVMARK = 0x4b SO_RCVTIMEO = 0x14 SO_RCVTIMEO_NEW = 0x42 SO_RCVTIMEO_OLD = 0x14 SO_RESERVE_MEM = 0x49 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_SNDTIMEO_NEW = 0x43 SO_SNDTIMEO_OLD = 0x15 SO_TIMESTAMPING = 0x25 SO_TIMESTAMPING_NEW = 0x41 SO_TIMESTAMPING_OLD = 0x25 SO_TIMESTAMPNS = 0x23 SO_TIMESTAMPNS_NEW = 0x40 SO_TIMESTAMPNS_OLD = 0x23 SO_TIMESTAMP_NEW = 0x3f SO_TXREHASH = 0x4a SO_TXTIME = 0x3d SO_TYPE = 0x3 SO_WIFI_STATUS = 0x29 SO_ZEROCOPY = 0x3c TAB1 = 0x800 TAB2 = 0x1000 TAB3 = 0x1800 TABDLY = 0x1800 TCFLSH = 0x540b TCGETA = 0x5405 TCGETS = 0x5401 TCGETS2 = 0x802c542a TCGETX = 0x5432 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 TFD_CLOEXEC = 0x80000 TFD_NONBLOCK = 0x800 TIOCCBRK = 0x5428 TIOCCONS = 0x541d TIOCEXCL = 0x540c TIOCGDEV = 0x80045432 TIOCGETD = 0x5424 TIOCGEXCL = 0x80045440 TIOCGICOUNT = 0x545d TIOCGISO7816 = 0x80285442 TIOCGLCKTRMIOS = 0x5456 TIOCGPGRP = 0x540f TIOCGPKT = 0x80045438 TIOCGPTLCK = 0x80045439 TIOCGPTN = 0x80045430 TIOCGPTPEER = 0x5441 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_RI = 0x80 TIOCM_RNG = 0x80 TIOCM_SR = 0x10 TIOCM_ST = 0x8 TIOCNOTTY = 0x5422 TIOCNXCL = 0x540d TIOCOUTQ = 0x5411 TIOCPKT = 0x5420 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 TIOCSISO7816 = 0xc0285443 TIOCSLCKTRMIOS = 0x5457 TIOCSPGRP = 0x5410 TIOCSPTLCK = 0x40045431 TIOCSRS485 = 0x542f TIOCSSERIAL = 0x541f TIOCSSOFTCAR = 0x541a TIOCSTI = 0x5412 TIOCSWINSZ = 0x5414 TIOCVHANGUP = 0x5437 TOSTOP = 0x100 TUNATTACHFILTER = 0x400854d5 TUNDETACHFILTER = 0x400854d6 TUNGETDEVNETNS = 0x54e3 TUNGETFEATURES = 0x800454cf TUNGETFILTER = 0x800854db TUNGETIFF = 0x800454d2 TUNGETSNDBUF = 0x800454d3 TUNGETVNETBE = 0x800454df TUNGETVNETHDRSZ = 0x800454d7 TUNGETVNETLE = 0x800454dd TUNSETCARRIER = 0x400454e2 TUNSETDEBUG = 0x400454c9 TUNSETFILTEREBPF = 0x800454e1 TUNSETGROUP = 0x400454ce TUNSETIFF = 0x400454ca TUNSETIFINDEX = 0x400454da TUNSETLINK = 0x400454cd TUNSETNOCSUM = 0x400454c8 TUNSETOFFLOAD = 0x400454d0 TUNSETOWNER = 0x400454cc TUNSETPERSIST = 0x400454cb TUNSETQUEUE = 0x400454d9 TUNSETSNDBUF = 0x400454d4 TUNSETSTEERINGEBPF = 0x800454e0 TUNSETTXFILTER = 0x400454d1 TUNSETVNETBE = 0x400454de TUNSETVNETHDRSZ = 0x400454d8 TUNSETVNETLE = 0x400454dc UBI_IOCATT = 0x40186f40 UBI_IOCDET = 0x40046f41 UBI_IOCEBCH = 0x40044f02 UBI_IOCEBER = 0x40044f01 UBI_IOCEBISMAP = 0x80044f05 UBI_IOCEBMAP = 0x40084f03 UBI_IOCEBUNMAP = 0x40044f04 UBI_IOCMKVOL = 0x40986f00 UBI_IOCRMVOL = 0x40046f01 UBI_IOCRNVOL = 0x51106f03 UBI_IOCRPEB = 0x40046f04 UBI_IOCRSVOL = 0x400c6f02 UBI_IOCSETVOLPROP = 0x40104f06 UBI_IOCSPEB = 0x40046f05 UBI_IOCVOLCRBLK = 0x40804f07 UBI_IOCVOLRMBLK = 0x4f08 UBI_IOCVOLUP = 0x40084f00 VDISCARD = 0xd VEOF = 0x4 VEOL = 0xb VEOL2 = 0x10 VMIN = 0x6 VREPRINT = 0xc VSTART = 0x8 VSTOP = 0x9 VSUSP = 0xa VSWTC = 0x7 VT1 = 0x4000 VTDLY = 0x4000 VTIME = 0x5 VWERASE = 0xe WDIOC_GETBOOTSTATUS = 0x80045702 WDIOC_GETPRETIMEOUT = 0x80045709 WDIOC_GETSTATUS = 0x80045701 WDIOC_GETSUPPORT = 0x80285700 WDIOC_GETTEMP = 0x80045703 WDIOC_GETTIMELEFT = 0x8004570a WDIOC_GETTIMEOUT = 0x80045707 WDIOC_KEEPALIVE = 0x80045705 WDIOC_SETOPTIONS = 0x80045704 WORDSIZE = 0x20 XCASE = 0x4 XTABS = 0x1800 _HIDIOCGRAWNAME = 0x80804804 _HIDIOCGRAWPHYS = 0x80404805 _HIDIOCGRAWUNIQ = 0x80404808 ) // Errors const ( EADDRINUSE = syscall.Errno(0x62) EADDRNOTAVAIL = syscall.Errno(0x63) EADV = syscall.Errno(0x44) EAFNOSUPPORT = syscall.Errno(0x61) EALREADY = syscall.Errno(0x72) EBADE = syscall.Errno(0x34) EBADFD = syscall.Errno(0x4d) EBADMSG = syscall.Errno(0x4a) EBADR = syscall.Errno(0x35) EBADRQC = syscall.Errno(0x38) EBADSLT = syscall.Errno(0x39) EBFONT = syscall.Errno(0x3b) ECANCELED = syscall.Errno(0x7d) 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) EDOTDOT = syscall.Errno(0x49) EDQUOT = syscall.Errno(0x7a) EHOSTDOWN = syscall.Errno(0x70) EHOSTUNREACH = syscall.Errno(0x71) EHWPOISON = syscall.Errno(0x85) EIDRM = syscall.Errno(0x2b) EILSEQ = syscall.Errno(0x54) EINPROGRESS = syscall.Errno(0x73) EISCONN = syscall.Errno(0x6a) 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) 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) ENOANO = syscall.Errno(0x37) ENOBUFS = syscall.Errno(0x69) ENOCSI = syscall.Errno(0x32) ENODATA = syscall.Errno(0x3d) ENOKEY = syscall.Errno(0x7e) ENOLCK = syscall.Errno(0x25) ENOLINK = syscall.Errno(0x43) ENOMEDIUM = syscall.Errno(0x7b) ENOMSG = syscall.Errno(0x2a) ENONET = syscall.Errno(0x40) ENOPKG = syscall.Errno(0x41) ENOPROTOOPT = syscall.Errno(0x5c) ENOSR = syscall.Errno(0x3f) ENOSTR = syscall.Errno(0x3c) ENOSYS = syscall.Errno(0x26) ENOTCONN = syscall.Errno(0x6b) ENOTEMPTY = syscall.Errno(0x27) ENOTNAM = syscall.Errno(0x76) ENOTRECOVERABLE = syscall.Errno(0x83) ENOTSOCK = syscall.Errno(0x58) ENOTSUP = syscall.Errno(0x5f) ENOTUNIQ = syscall.Errno(0x4c) EOPNOTSUPP = syscall.Errno(0x5f) EOVERFLOW = syscall.Errno(0x4b) EOWNERDEAD = syscall.Errno(0x82) EPFNOSUPPORT = syscall.Errno(0x60) EPROTO = syscall.Errno(0x47) EPROTONOSUPPORT = syscall.Errno(0x5d) EPROTOTYPE = syscall.Errno(0x5b) EREMCHG = syscall.Errno(0x4e) EREMOTE = syscall.Errno(0x42) EREMOTEIO = syscall.Errno(0x79) ERESTART = syscall.Errno(0x55) ERFKILL = syscall.Errno(0x84) ESHUTDOWN = syscall.Errno(0x6c) ESOCKTNOSUPPORT = syscall.Errno(0x5e) ESRMNT = syscall.Errno(0x45) ESTALE = syscall.Errno(0x74) ESTRPIPE = syscall.Errno(0x56) ETIME = syscall.Errno(0x3e) ETIMEDOUT = syscall.Errno(0x6e) ETOOMANYREFS = syscall.Errno(0x6d) EUCLEAN = syscall.Errno(0x75) EUNATCH = syscall.Errno(0x31) EUSERS = syscall.Errno(0x57) EXFULL = syscall.Errno(0x36) ) // Signals const ( SIGBUS = syscall.Signal(0x7) SIGCHLD = syscall.Signal(0x11) SIGCLD = syscall.Signal(0x11) SIGCONT = syscall.Signal(0x12) SIGIO = syscall.Signal(0x1d) SIGPOLL = syscall.Signal(0x1d) SIGPROF = syscall.Signal(0x1b) SIGPWR = syscall.Signal(0x1e) SIGSTKFLT = syscall.Signal(0x10) SIGSTOP = syscall.Signal(0x13) SIGSYS = syscall.Signal(0x1f) SIGTSTP = syscall.Signal(0x14) SIGTTIN = syscall.Signal(0x15) SIGTTOU = syscall.Signal(0x16) 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 errorList = [...]struct { num syscall.Errno name string desc string }{ {1, "EPERM", "operation not permitted"}, {2, "ENOENT", "no such file or directory"}, {3, "ESRCH", "no such process"}, {4, "EINTR", "interrupted system call"}, {5, "EIO", "input/output error"}, {6, "ENXIO", "no such device or address"}, {7, "E2BIG", "argument list too long"}, {8, "ENOEXEC", "exec format error"}, {9, "EBADF", "bad file descriptor"}, {10, "ECHILD", "no child processes"}, {11, "EAGAIN", "resource temporarily unavailable"}, {12, "ENOMEM", "cannot allocate memory"}, {13, "EACCES", "permission denied"}, {14, "EFAULT", "bad address"}, {15, "ENOTBLK", "block device required"}, {16, "EBUSY", "device or resource busy"}, {17, "EEXIST", "file exists"}, {18, "EXDEV", "invalid cross-device link"}, {19, "ENODEV", "no such device"}, {20, "ENOTDIR", "not a directory"}, {21, "EISDIR", "is a directory"}, {22, "EINVAL", "invalid argument"}, {23, "ENFILE", "too many open files in system"}, {24, "EMFILE", "too many open files"}, {25, "ENOTTY", "inappropriate ioctl for device"}, {26, "ETXTBSY", "text file busy"}, {27, "EFBIG", "file too large"}, {28, "ENOSPC", "no space left on device"}, {29, "ESPIPE", "illegal seek"}, {30, "EROFS", "read-only file system"}, {31, "EMLINK", "too many links"}, {32, "EPIPE", "broken pipe"}, {33, "EDOM", "numerical argument out of domain"}, {34, "ERANGE", "numerical result out of range"}, {35, "EDEADLK", "resource deadlock avoided"}, {36, "ENAMETOOLONG", "file name too long"}, {37, "ENOLCK", "no locks available"}, {38, "ENOSYS", "function not implemented"}, {39, "ENOTEMPTY", "directory not empty"}, {40, "ELOOP", "too many levels of symbolic links"}, {42, "ENOMSG", "no message of desired type"}, {43, "EIDRM", "identifier removed"}, {44, "ECHRNG", "channel number out of range"}, {45, "EL2NSYNC", "level 2 not synchronized"}, {46, "EL3HLT", "level 3 halted"}, {47, "EL3RST", "level 3 reset"}, {48, "ELNRNG", "link number out of range"}, {49, "EUNATCH", "protocol driver not attached"}, {50, "ENOCSI", "no CSI structure available"}, {51, "EL2HLT", "level 2 halted"}, {52, "EBADE", "invalid exchange"}, {53, "EBADR", "invalid request descriptor"}, {54, "EXFULL", "exchange full"}, {55, "ENOANO", "no anode"}, {56, "EBADRQC", "invalid request code"}, {57, "EBADSLT", "invalid slot"}, {59, "EBFONT", "bad font file format"}, {60, "ENOSTR", "device not a stream"}, {61, "ENODATA", "no data available"}, {62, "ETIME", "timer expired"}, {63, "ENOSR", "out of streams resources"}, {64, "ENONET", "machine is not on the network"}, {65, "ENOPKG", "package not installed"}, {66, "EREMOTE", "object is remote"}, {67, "ENOLINK", "link has been severed"}, {68, "EADV", "advertise error"}, {69, "ESRMNT", "srmount error"}, {70, "ECOMM", "communication error on send"}, {71, "EPROTO", "protocol error"}, {72, "EMULTIHOP", "multihop attempted"}, {73, "EDOTDOT", "RFS specific error"}, {74, "EBADMSG", "bad message"}, {75, "EOVERFLOW", "value too large for defined data type"}, {76, "ENOTUNIQ", "name not unique on network"}, {77, "EBADFD", "file descriptor in bad state"}, {78, "EREMCHG", "remote address changed"}, {79, "ELIBACC", "can not access a needed shared library"}, {80, "ELIBBAD", "accessing a corrupted shared library"}, {81, "ELIBSCN", ".lib section in a.out corrupted"}, {82, "ELIBMAX", "attempting to link in too many shared libraries"}, {83, "ELIBEXEC", "cannot exec a shared library directly"}, {84, "EILSEQ", "invalid or incomplete multibyte or wide character"}, {85, "ERESTART", "interrupted system call should be restarted"}, {86, "ESTRPIPE", "streams pipe error"}, {87, "EUSERS", "too many users"}, {88, "ENOTSOCK", "socket operation on non-socket"}, {89, "EDESTADDRREQ", "destination address required"}, {90, "EMSGSIZE", "message too long"}, {91, "EPROTOTYPE", "protocol wrong type for socket"}, {92, "ENOPROTOOPT", "protocol not available"}, {93, "EPROTONOSUPPORT", "protocol not supported"}, {94, "ESOCKTNOSUPPORT", "socket type not supported"}, {95, "ENOTSUP", "operation not supported"}, {96, "EPFNOSUPPORT", "protocol family not supported"}, {97, "EAFNOSUPPORT", "address family not supported by protocol"}, {98, "EADDRINUSE", "address already in use"}, {99, "EADDRNOTAVAIL", "cannot assign requested address"}, {100, "ENETDOWN", "network is down"}, {101, "ENETUNREACH", "network is unreachable"}, {102, "ENETRESET", "network dropped connection on reset"}, {103, "ECONNABORTED", "software caused connection abort"}, {104, "ECONNRESET", "connection reset by peer"}, {105, "ENOBUFS", "no buffer space available"}, {106, "EISCONN", "transport endpoint is already connected"}, {107, "ENOTCONN", "transport endpoint is not connected"}, {108, "ESHUTDOWN", "cannot send after transport endpoint shutdown"}, {109, "ETOOMANYREFS", "too many references: cannot splice"}, {110, "ETIMEDOUT", "connection timed out"}, {111, "ECONNREFUSED", "connection refused"}, {112, "EHOSTDOWN", "host is down"}, {113, "EHOSTUNREACH", "no route to host"}, {114, "EALREADY", "operation already in progress"}, {115, "EINPROGRESS", "operation now in progress"}, {116, "ESTALE", "stale file handle"}, {117, "EUCLEAN", "structure needs cleaning"}, {118, "ENOTNAM", "not a XENIX named type file"}, {119, "ENAVAIL", "no XENIX semaphores available"}, {120, "EISNAM", "is a named type file"}, {121, "EREMOTEIO", "remote I/O error"}, {122, "EDQUOT", "disk quota exceeded"}, {123, "ENOMEDIUM", "no medium found"}, {124, "EMEDIUMTYPE", "wrong medium type"}, {125, "ECANCELED", "operation canceled"}, {126, "ENOKEY", "required key not available"}, {127, "EKEYEXPIRED", "key has expired"}, {128, "EKEYREVOKED", "key has been revoked"}, {129, "EKEYREJECTED", "key was rejected by service"}, {130, "EOWNERDEAD", "owner died"}, {131, "ENOTRECOVERABLE", "state not recoverable"}, {132, "ERFKILL", "operation not possible due to RF-kill"}, {133, "EHWPOISON", "memory page has hardware error"}, } // Signal table var signalList = [...]struct { num syscall.Signal name string desc string }{ {1, "SIGHUP", "hangup"}, {2, "SIGINT", "interrupt"}, {3, "SIGQUIT", "quit"}, {4, "SIGILL", "illegal instruction"}, {5, "SIGTRAP", "trace/breakpoint trap"}, {6, "SIGABRT", "aborted"}, {7, "SIGBUS", "bus error"}, {8, "SIGFPE", "floating point exception"}, {9, "SIGKILL", "killed"}, {10, "SIGUSR1", "user defined signal 1"}, {11, "SIGSEGV", "segmentation fault"}, {12, "SIGUSR2", "user defined signal 2"}, {13, "SIGPIPE", "broken pipe"}, {14, "SIGALRM", "alarm clock"}, {15, "SIGTERM", "terminated"}, {16, "SIGSTKFLT", "stack fault"}, {17, "SIGCHLD", "child exited"}, {18, "SIGCONT", "continued"}, {19, "SIGSTOP", "stopped (signal)"}, {20, "SIGTSTP", "stopped"}, {21, "SIGTTIN", "stopped (tty input)"}, {22, "SIGTTOU", "stopped (tty output)"}, {23, "SIGURG", "urgent I/O condition"}, {24, "SIGXCPU", "CPU time limit exceeded"}, {25, "SIGXFSZ", "file size limit exceeded"}, {26, "SIGVTALRM", "virtual timer expired"}, {27, "SIGPROF", "profiling timer expired"}, {28, "SIGWINCH", "window changed"}, {29, "SIGIO", "I/O possible"}, {30, "SIGPWR", "power failure"}, {31, "SIGSYS", "bad system call"}, } dependencies/pkg/mod/golang.org/x/sys@v0.26.0/unix/zsysnum_linux_amd64.go0000644000000000000000000003167315107355264025114 0ustar rootroot// go run linux/mksysnum.go -Wall -Werror -static -I/tmp/amd64/include -m64 /tmp/amd64/include/asm/unistd.h // Code generated by the command above; see README.md. DO NOT EDIT. //go: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 SYS_STATX = 332 SYS_IO_PGETEVENTS = 333 SYS_RSEQ = 334 SYS_URETPROBE = 335 SYS_PIDFD_SEND_SIGNAL = 424 SYS_IO_URING_SETUP = 425 SYS_IO_URING_ENTER = 426 SYS_IO_URING_REGISTER = 427 SYS_OPEN_TREE = 428 SYS_MOVE_MOUNT = 429 SYS_FSOPEN = 430 SYS_FSCONFIG = 431 SYS_FSMOUNT = 432 SYS_FSPICK = 433 SYS_PIDFD_OPEN = 434 SYS_CLONE3 = 435 SYS_CLOSE_RANGE = 436 SYS_OPENAT2 = 437 SYS_PIDFD_GETFD = 438 SYS_FACCESSAT2 = 439 SYS_PROCESS_MADVISE = 440 SYS_EPOLL_PWAIT2 = 441 SYS_MOUNT_SETATTR = 442 SYS_QUOTACTL_FD = 443 SYS_LANDLOCK_CREATE_RULESET = 444 SYS_LANDLOCK_ADD_RULE = 445 SYS_LANDLOCK_RESTRICT_SELF = 446 SYS_MEMFD_SECRET = 447 SYS_PROCESS_MRELEASE = 448 SYS_FUTEX_WAITV = 449 SYS_SET_MEMPOLICY_HOME_NODE = 450 SYS_CACHESTAT = 451 SYS_FCHMODAT2 = 452 SYS_MAP_SHADOW_STACK = 453 SYS_FUTEX_WAKE = 454 SYS_FUTEX_WAIT = 455 SYS_FUTEX_REQUEUE = 456 SYS_STATMOUNT = 457 SYS_LISTMOUNT = 458 SYS_LSM_GET_SELF_ATTR = 459 SYS_LSM_SET_SELF_ATTR = 460 SYS_LSM_LIST_MODULES = 461 SYS_MSEAL = 462 ) dependencies/pkg/mod/golang.org/x/sys@v0.26.0/unix/ztypes_solaris_amd64.go0000644000000000000000000001703715107355264025235 0ustar rootroot// cgo -godefs types_solaris.go | go run mkpost.go // Code generated by the command above; see README.md. DO NOT EDIT. //go: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 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 Blocks int64 Fstype [16]int8 } type Flock_t struct { Type int16 Whence int16 Start int64 Len int64 Sysid int32 Pid int32 Pad [4]int64 } type Dirent struct { Ino uint64 Off int64 Reclen uint16 Name [1]int8 _ [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 _ 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 *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 Iov *Iovec Iovlen int32 Accrights *int8 Accrightslen int32 _ [4]byte } 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 = 0x20 SizeofSockaddrAny = 0xfc SizeofSockaddrUnix = 0x6e SizeofSockaddrDatalink = 0xfc SizeofLinger = 0x8 SizeofIovec = 0x10 SizeofIPMreq = 0x8 SizeofIPv6Mreq = 0x14 SizeofMsghdr = 0x30 SizeofCmsghdr = 0xc SizeofInet4Pktinfo = 0xc SizeofInet6Pktinfo = 0x14 SizeofIPv6MTUInfo = 0x24 SizeofICMPv6Filter = 0x20 ) type FdSet struct { Bits [1024]int64 } type Utsname struct { Sysname [257]byte Nodename [257]byte Release [257]byte Version [257]byte Machine [257]byte } type Ustat_t struct { Tfree int64 Tinode uint64 Fname [6]int8 Fpack [6]int8 _ [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 Data IfData } type IfData struct { Type uint8 Addrlen uint8 Hdrlen 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 Lastchange Timeval32 } type IfaMsghdr struct { Msglen uint16 Version uint8 Type uint8 Addrs int32 Flags int32 Index uint16 Metric int32 } type RtMsghdr struct { Msglen uint16 Version uint8 Type uint8 Index uint16 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 _ [13]uint64 } type BpfProgram struct { Len uint32 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 _ [2]byte } type Termios struct { Iflag uint32 Oflag uint32 Cflag uint32 Lflag uint32 Cc [19]uint8 _ [1]byte } type Termio struct { Iflag uint16 Oflag uint16 Cflag uint16 Lflag uint16 Line int8 Cc [8]uint8 _ [1]byte } type Winsize struct { Row uint16 Col uint16 Xpixel uint16 Ypixel uint16 } type PollFd struct { Fd int32 Events int16 Revents int16 } const ( POLLERR = 0x8 POLLHUP = 0x10 POLLIN = 0x1 POLLNVAL = 0x20 POLLOUT = 0x4 POLLPRI = 0x2 POLLRDBAND = 0x80 POLLRDNORM = 0x40 POLLWRBAND = 0x100 POLLWRNORM = 0x4 ) type fileObj struct { Atim Timespec Mtim Timespec Ctim Timespec Pad [3]uint64 Name *int8 } type portEvent struct { Events int32 Source uint16 Pad uint16 Object uint64 User *byte } const ( PORT_SOURCE_AIO = 0x1 PORT_SOURCE_TIMER = 0x2 PORT_SOURCE_USER = 0x3 PORT_SOURCE_FD = 0x4 PORT_SOURCE_ALERT = 0x5 PORT_SOURCE_MQ = 0x6 PORT_SOURCE_FILE = 0x7 PORT_ALERT_SET = 0x1 PORT_ALERT_UPDATE = 0x2 PORT_ALERT_INVALID = 0x3 FILE_ACCESS = 0x1 FILE_MODIFIED = 0x2 FILE_ATTRIB = 0x4 FILE_TRUNC = 0x100000 FILE_NOFOLLOW = 0x10000000 FILE_DELETE = 0x10 FILE_RENAME_TO = 0x20 FILE_RENAME_FROM = 0x40 UNMOUNTED = 0x20000000 MOUNTEDOVER = 0x40000000 FILE_EXCEPTION = 0x60000070 ) const ( TUNNEWPPA = 0x540001 TUNSETPPA = 0x540002 I_STR = 0x5308 I_POP = 0x5303 I_PUSH = 0x5302 I_LINK = 0x530c I_UNLINK = 0x530d I_PLINK = 0x5316 I_PUNLINK = 0x5317 IF_UNITSEL = -0x7ffb8cca ) type strbuf struct { Maxlen int32 Len int32 Buf *int8 } type Strioctl struct { Cmd int32 Timout int32 Len int32 Dp *int8 } type Lifreq struct { Name [32]int8 Lifru1 [4]byte Type uint32 Lifru [336]byte } dependencies/pkg/mod/golang.org/x/sys@v0.26.0/unix/syscall_openbsd_test.go0000644000000000000000000000175515107355264025373 0ustar rootroot// Copyright 2018 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_test import ( "testing" "time" "golang.org/x/sys/unix" ) func TestPpoll(t *testing.T) { chtmpdir(t) f := mktmpfifo(t) const timeout = 100 * time.Millisecond ok := make(chan bool, 1) go func() { select { case <-time.After(10 * timeout): t.Errorf("Ppoll: failed to timeout after %d", 10*timeout) case <-ok: } }() fds := []unix.PollFd{{Fd: int32(f.Fd()), Events: unix.POLLIN}} timeoutTs := unix.NsecToTimespec(int64(timeout)) n, err := unix.Ppoll(fds, &timeoutTs, nil) ok <- true if err != nil { t.Errorf("Ppoll: unexpected error: %v", err) return } if n != 0 { t.Errorf("Ppoll: wrong number of events: got %v, expected %v", n, 0) return } } func TestSysctlUvmexp(t *testing.T) { uvm, err := unix.SysctlUvmexp("vm.uvmexp") if err != nil { t.Fatal(err) } t.Logf("free = %v", uvm.Free) } dependencies/pkg/mod/golang.org/x/sys@v0.26.0/unix/zptrace_mipsnnle_linux.go0000644000000000000000000000264215107355264025740 0ustar rootroot// Code generated by linux/mkall.go generatePtracePair("mipsle", "mips64le"). DO NOT EDIT. //go:build linux && (mipsle || mips64le) package unix import "unsafe" // PtraceRegsMipsle is the registers used by mipsle binaries. type PtraceRegsMipsle struct { Regs [32]uint64 Lo uint64 Hi uint64 Epc uint64 Badvaddr uint64 Status uint64 Cause uint64 } // PtraceGetRegsMipsle fetches the registers used by mipsle binaries. func PtraceGetRegsMipsle(pid int, regsout *PtraceRegsMipsle) error { return ptracePtr(PTRACE_GETREGS, pid, 0, unsafe.Pointer(regsout)) } // PtraceSetRegsMipsle sets the registers used by mipsle binaries. func PtraceSetRegsMipsle(pid int, regs *PtraceRegsMipsle) error { return ptracePtr(PTRACE_SETREGS, pid, 0, unsafe.Pointer(regs)) } // PtraceRegsMips64le is the registers used by mips64le binaries. type PtraceRegsMips64le struct { Regs [32]uint64 Lo uint64 Hi uint64 Epc uint64 Badvaddr uint64 Status uint64 Cause uint64 } // PtraceGetRegsMips64le fetches the registers used by mips64le binaries. func PtraceGetRegsMips64le(pid int, regsout *PtraceRegsMips64le) error { return ptracePtr(PTRACE_GETREGS, pid, 0, unsafe.Pointer(regsout)) } // PtraceSetRegsMips64le sets the registers used by mips64le binaries. func PtraceSetRegsMips64le(pid int, regs *PtraceRegsMips64le) error { return ptracePtr(PTRACE_SETREGS, pid, 0, unsafe.Pointer(regs)) } dependencies/pkg/mod/golang.org/x/sys@v0.26.0/unix/syscall_openbsd_arm64.go0000644000000000000000000000173615107355264025344 0ustar rootroot// Copyright 2019 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:build arm64 && openbsd package unix func setTimespec(sec, nsec int64) Timespec { return Timespec{Sec: sec, Nsec: nsec} } func setTimeval(sec, usec int64) Timeval { return Timeval{Sec: sec, Usec: usec} } 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 (msghdr *Msghdr) SetIovlen(length int) { msghdr.Iovlen = uint32(length) } func (cmsg *Cmsghdr) SetLen(length int) { cmsg.Len = uint32(length) } // SYS___SYSCTL is used by syscall_bsd.go for all BSDs, but in modern versions // of openbsd/amd64 the syscall is called sysctl instead of __sysctl. const SYS___SYSCTL = SYS_SYSCTL dependencies/pkg/mod/golang.org/x/sys@v0.26.0/unix/syscall_aix.go0000644000000000000000000004014015107355264023452 0ustar rootroot// Copyright 2018 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:build aix // Aix 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 "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 utimes(path string, times *[2]Timeval) (err error) func Utimes(path string, tv []Timeval) error { if len(tv) != 2 { return EINVAL } return utimes(path, (*[2]Timeval)(unsafe.Pointer(&tv[0]))) } //sys utimensat(dirfd int, path string, times *[2]Timespec, flag int) (err error) func UtimesNano(path string, ts []Timespec) error { 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) } 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) sa.raw.Addr = sa.Addr 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 sa.raw.Addr = sa.Addr 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 } if n == len(sa.raw.Path) && name[0] != '@' { return nil, 0, EINVAL } sa.raw.Family = AF_UNIX for i := 0; i < n; i++ { sa.raw.Path[i] = uint8(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 && sl > 3) { // Check sl > 3 so we don't change unnamed socket behavior. sa.raw.Path[0] = 0 // Don't count trailing NUL for abstract address. sl-- } return unsafe.Pointer(&sa.raw), sl, nil } 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(fd, &rsa) } //sys getcwd(buf []byte) (err error) const ImplementsGetwd = true func Getwd() (ret string, err error) { for len := uint64(4096); ; len *= 2 { b := make([]byte, len) err := getcwd(b) if err == nil { i := 0 for b[i] != 0 { i++ } return string(b[0:i]), nil } if err != ERANGE { return "", err } } } func Getcwd(buf []byte) (n int, err error) { err = getcwd(buf) if err == nil { i := 0 for buf[i] != 0 { i++ } n = i + 1 } return } 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]) } /* * Socket */ //sys accept(s int, rsa *RawSockaddrAny, addrlen *_Socklen) (fd int, err error) 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(fd, &rsa) if err != nil { Close(nfd) nfd = 0 } return } func recvmsgRaw(fd int, iov []Iovec, oob []byte, flags int, rsa *RawSockaddrAny) (n, oobn int, recvflags int, err error) { var msg Msghdr msg.Name = (*byte)(unsafe.Pointer(rsa)) msg.Namelen = uint32(SizeofSockaddrAny) var dummy byte if len(oob) > 0 { // receive at least one normal byte if emptyIovecs(iov) { var iova [1]Iovec iova[0].Base = &dummy iova[0].SetLen(1) iov = iova[:] } msg.Control = (*byte)(unsafe.Pointer(&oob[0])) msg.SetControllen(len(oob)) } if len(iov) > 0 { msg.Iov = &iov[0] msg.SetIovlen(len(iov)) } if n, err = recvmsg(fd, &msg, flags); n == -1 { return } oobn = int(msg.Controllen) recvflags = int(msg.Flags) return } func sendmsgN(fd int, iov []Iovec, oob []byte, ptr unsafe.Pointer, salen _Socklen, flags int) (n int, err error) { var msg Msghdr msg.Name = (*byte)(unsafe.Pointer(ptr)) msg.Namelen = uint32(salen) var dummy byte var empty bool if len(oob) > 0 { // send at least one normal byte empty = emptyIovecs(iov) if empty { var iova [1]Iovec iova[0].Base = &dummy iova[0].SetLen(1) iov = iova[:] } msg.Control = (*byte)(unsafe.Pointer(&oob[0])) msg.SetControllen(len(oob)) } if len(iov) > 0 { msg.Iov = &iov[0] msg.SetIovlen(len(iov)) } if n, err = sendmsg(fd, &msg, flags); err != nil { return 0, err } if len(oob) > 0 && empty { n = 0 } return n, nil } func anyToSockaddr(fd int, rsa *RawSockaddrAny) (Sockaddr, error) { switch rsa.Addr.Family { case AF_UNIX: pp := (*RawSockaddrUnix)(unsafe.Pointer(rsa)) sa := new(SockaddrUnix) // Some versions of AIX have a bug in getsockname (see IV78655). // We can't rely on sa.Len being set correctly. n := SizeofSockaddrUnix - 3 // subtract leading Family, Len, terminating NUL. for i := 0; i < n; i++ { if pp.Path[i] == 0 { n = i break } } sa.Name = string(unsafe.Slice((*byte)(unsafe.Pointer(&pp.Path[0])), n)) 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]) sa.Addr = pp.Addr 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 sa.Addr = pp.Addr return sa, nil } return nil, EAFNOSUPPORT } func Gettimeofday(tv *Timeval) (err error) { err = gettimeofday(tv, nil) 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) } // TODO func sendfile(outfd int, infd int, offset *int64, count int) (written int, err error) { return -1, ENOSYS } 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 getdirent(fd int, buf []byte) (n int, err error) func Getdents(fd int, buf []byte) (n int, err error) { return getdirent(fd, buf) } //sys wait4(pid Pid_t, status *_C_int, options int, rusage *Rusage) (wpid Pid_t, err error) func Wait4(pid int, wstatus *WaitStatus, options int, rusage *Rusage) (wpid int, err error) { var status _C_int var r Pid_t err = ERESTART // AIX wait4 may return with ERESTART errno, while the process is still // active. for err == ERESTART { r, err = wait4(Pid_t(pid), &status, options, rusage) } wpid = int(r) if wstatus != nil { *wstatus = WaitStatus(status) } return } /* * Wait */ type WaitStatus uint32 func (w WaitStatus) Stopped() bool { return w&0x40 != 0 } func (w WaitStatus) StopSignal() Signal { if !w.Stopped() { return -1 } return Signal(w>>8) & 0xFF } func (w WaitStatus) Exited() bool { return w&0xFF == 0 } func (w WaitStatus) ExitStatus() int { if !w.Exited() { return -1 } return int((w >> 8) & 0xFF) } func (w WaitStatus) Signaled() bool { return w&0x40 == 0 && w&0xFF != 0 } func (w WaitStatus) Signal() Signal { if !w.Signaled() { return -1 } return Signal(w>>16) & 0xFF } func (w WaitStatus) Continued() bool { return w&0x01000000 != 0 } func (w WaitStatus) CoreDump() bool { return w&0x80 == 0x80 } func (w WaitStatus) TrapCause() int { return -1 } //sys ioctl(fd int, req int, arg uintptr) (err error) //sys ioctlPtr(fd int, req int, arg unsafe.Pointer) (err error) = ioctl // fcntl must never be called with cmd=F_DUP2FD because it doesn't work on AIX // There is no way to create a custom fcntl and to keep //sys fcntl easily, // Therefore, the programmer must call dup2 instead of fcntl in this case. // FcntlInt performs a fcntl syscall on fd with the provided command and argument. //sys FcntlInt(fd uintptr, cmd int, arg int) (r int,err error) = fcntl // FcntlFlock performs a fcntl syscall for the F_GETLK, F_SETLK or F_SETLKW command. //sys FcntlFlock(fd uintptr, cmd int, lk *Flock_t) (err error) = fcntl //sys fcntl(fd int, cmd int, arg int) (val int, err error) //sys fsyncRange(fd int, how int, start int64, length int64) (err error) = fsync_range func Fsync(fd int) error { return fsyncRange(fd, O_SYNC, 0, 0) } /* * Direct access */ //sys Acct(path string) (err error) //sys Chdir(path string) (err error) //sys Chroot(path string) (err error) //sys Close(fd int) (err error) //sys Dup(oldfd int) (fd int, err error) //sys Exit(code int) //sys Faccessat(dirfd int, path string, mode uint32, flags int) (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 Fdatasync(fd int) (err error) // readdir_r //sysnb Getpgid(pid int) (pgid int, err error) //sys Getpgrp() (pid int) //sysnb Getpid() (pid int) //sysnb Getppid() (ppid int) //sys Getpriority(which int, who int) (prio int, err error) //sysnb Getrusage(who int, rusage *Rusage) (err error) //sysnb Getsid(pid int) (sid int, err error) //sysnb Kill(pid int, sig Signal) (err error) //sys Klogctl(typ int, buf []byte) (n int, err error) = syslog //sys Mkdir(dirfd int, 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 Mknod(path string, mode uint32, dev int) (err error) //sys Mknodat(dirfd int, path string, mode uint32, dev int) (err error) //sys Nanosleep(time *Timespec, leftover *Timespec) (err error) //sys Open(path string, mode int, perm uint32) (fd int, err error) = open64 //sys Openat(dirfd int, path string, flags int, mode uint32) (fd int, err error) //sys read(fd int, p []byte) (n int, err error) //sys Readlink(path string, buf []byte) (n int, err error) //sys Renameat(olddirfd int, oldpath string, newdirfd int, newpath string) (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 Setuid(uid int) (err error) //sys Setgid(uid int) (err error) //sys Setpriority(which int, who int, prio int) (err error) //sys Statx(dirfd int, path string, flags int, mask int, stat *Statx_t) (err error) //sys Sync() //sysnb Times(tms *Tms) (ticks uintptr, err error) //sysnb Umask(mask int) (oldmask int) //sysnb Uname(buf *Utsname) (err error) //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 write(fd int, p []byte) (n int, err error) //sys Dup2(oldfd int, newfd int) (err error) //sys Fadvise(fd int, offset int64, length int64, advice int) (err error) = posix_fadvise64 //sys Fchown(fd int, uid int, gid int) (err error) //sys fstat(fd int, stat *Stat_t) (err error) //sys fstatat(dirfd int, path string, stat *Stat_t, flags int) (err error) = fstatat //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 Getuid() (uid int) //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) = pread64 //sys pwrite(fd int, p []byte, offset int64) (n int, err error) = pwrite64 //sys Select(nfd int, r *FdSet, w *FdSet, e *FdSet, timeout *Timeval) (n int, err error) //sys Pselect(nfd int, r *FdSet, w *FdSet, e *FdSet, timeout *Timespec, sigmask *Sigset_t) (n int, err error) //sysnb Setregid(rgid int, egid 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 stat(path string, statptr *Stat_t) (err error) //sys Statfs(path string, buf *Statfs_t) (err error) //sys Truncate(path string, length int64) (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) // In order to use msghdr structure with Control, Controllen, nrecvmsg and nsendmsg must be used. //sys recvmsg(s int, msg *Msghdr, flags int) (n int, err error) = nrecvmsg //sys sendmsg(s int, msg *Msghdr, flags int) (n int, err error) = nsendmsg //sys munmap(addr uintptr, length uintptr) (err error) //sys Madvise(b []byte, advice int) (err error) //sys Mprotect(b []byte, prot int) (err error) //sys Mlock(b []byte) (err error) //sys Mlockall(flags int) (err error) //sys Msync(b []byte, flags int) (err error) //sys Munlock(b []byte) (err error) //sys Munlockall() (err error) //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) if err == nil { 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) } //sys gettimeofday(tv *Timeval, tzp *Timezone) (err error) //sysnb Time(t *Time_t) (tt Time_t, err error) //sys Utime(path string, buf *Utimbuf) (err error) //sys Getsystemcfg(label int) (n uint64) //sys umount(target string) (err error) func Unmount(target string, flags int) (err error) { if flags != 0 { // AIX doesn't have any flags for umount. return ENOSYS } return umount(target) } dependencies/pkg/mod/golang.org/x/sys@v0.26.0/unix/ptrace_ios.go0000644000000000000000000000043415107355264023271 0ustar rootroot// Copyright 2020 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:build ios package unix func ptrace(request int, pid int, addr uintptr, data uintptr) (err error) { return ENOTSUP } dependencies/pkg/mod/golang.org/x/sys@v0.26.0/unix/asm_bsd_arm64.s0000644000000000000000000000130515107355264023415 0ustar rootroot// Copyright 2021 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:build (darwin || freebsd || netbsd || openbsd) && gc #include "textflag.h" // System call support for ARM64 BSD // 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) dependencies/pkg/mod/golang.org/x/sys@v0.26.0/unix/zerrors_linux_s390x.go0000644000000000000000000011176515107355264025046 0ustar rootroot// mkerrors.sh -Wall -Werror -static -I/tmp/s390x/include -fsigned-char // Code generated by the command above; see README.md. DO NOT EDIT. //go:build s390x && linux // Code generated by cmd/cgo -godefs; DO NOT EDIT. // cgo -godefs -- -Wall -Werror -static -I/tmp/s390x/include -fsigned-char _const.go package unix import "syscall" const ( B1000000 = 0x1008 B115200 = 0x1002 B1152000 = 0x1009 B1500000 = 0x100a B2000000 = 0x100b B230400 = 0x1003 B2500000 = 0x100c B3000000 = 0x100d B3500000 = 0x100e B4000000 = 0x100f B460800 = 0x1004 B500000 = 0x1005 B57600 = 0x1001 B576000 = 0x1006 B921600 = 0x1007 BLKALIGNOFF = 0x127a BLKBSZGET = 0x80081270 BLKBSZSET = 0x40081271 BLKDISCARD = 0x1277 BLKDISCARDZEROES = 0x127c BLKFLSBUF = 0x1261 BLKFRAGET = 0x1265 BLKFRASET = 0x1264 BLKGETDISKSEQ = 0x80081280 BLKGETSIZE = 0x1260 BLKGETSIZE64 = 0x80081272 BLKIOMIN = 0x1278 BLKIOOPT = 0x1279 BLKPBSZGET = 0x127b BLKRAGET = 0x1263 BLKRASET = 0x1262 BLKROGET = 0x125e BLKROSET = 0x125d BLKROTATIONAL = 0x127e BLKRRPART = 0x125f BLKSECDISCARD = 0x127d BLKSECTGET = 0x1267 BLKSECTSET = 0x1266 BLKSSZGET = 0x1268 BLKZEROOUT = 0x127f BOTHER = 0x1000 BS1 = 0x2000 BSDLY = 0x2000 CBAUD = 0x100f CBAUDEX = 0x1000 CIBAUD = 0x100f0000 CLOCAL = 0x800 CR1 = 0x200 CR2 = 0x400 CR3 = 0x600 CRDLY = 0x600 CREAD = 0x80 CS6 = 0x10 CS7 = 0x20 CS8 = 0x30 CSIZE = 0x30 CSTOPB = 0x40 ECCGETLAYOUT = 0x81484d11 ECCGETSTATS = 0x80104d12 ECHOCTL = 0x200 ECHOE = 0x10 ECHOK = 0x20 ECHOKE = 0x800 ECHONL = 0x40 ECHOPRT = 0x400 EFD_CLOEXEC = 0x80000 EFD_NONBLOCK = 0x800 EPIOCGPARAMS = 0x80088a02 EPIOCSPARAMS = 0x40088a01 EPOLL_CLOEXEC = 0x80000 EXTPROC = 0x10000 FF1 = 0x8000 FFDLY = 0x8000 FICLONE = 0x40049409 FICLONERANGE = 0x4020940d FLUSHO = 0x1000 FS_IOC_ENABLE_VERITY = 0x40806685 FS_IOC_GETFLAGS = 0x80086601 FS_IOC_GET_ENCRYPTION_NONCE = 0x8010661b FS_IOC_GET_ENCRYPTION_POLICY = 0x400c6615 FS_IOC_GET_ENCRYPTION_PWSALT = 0x40106614 FS_IOC_SETFLAGS = 0x40086602 FS_IOC_SET_ENCRYPTION_POLICY = 0x800c6613 F_GETLK = 0x5 F_GETLK64 = 0x5 F_GETOWN = 0x9 F_RDLCK = 0x0 F_SETLK = 0x6 F_SETLK64 = 0x6 F_SETLKW = 0x7 F_SETLKW64 = 0x7 F_SETOWN = 0x8 F_UNLCK = 0x2 F_WRLCK = 0x1 HIDIOCGRAWINFO = 0x80084803 HIDIOCGRDESC = 0x90044802 HIDIOCGRDESCSIZE = 0x80044801 HUPCL = 0x400 ICANON = 0x2 IEXTEN = 0x8000 IN_CLOEXEC = 0x80000 IN_NONBLOCK = 0x800 IOCTL_VM_SOCKETS_GET_LOCAL_CID = 0x7b9 ISIG = 0x1 IUCLC = 0x200 IXOFF = 0x1000 IXON = 0x400 MAP_ANON = 0x20 MAP_ANONYMOUS = 0x20 MAP_DENYWRITE = 0x800 MAP_EXECUTABLE = 0x1000 MAP_GROWSDOWN = 0x100 MAP_HUGETLB = 0x40000 MAP_LOCKED = 0x2000 MAP_NONBLOCK = 0x10000 MAP_NORESERVE = 0x4000 MAP_POPULATE = 0x8000 MAP_STACK = 0x20000 MAP_SYNC = 0x80000 MCL_CURRENT = 0x1 MCL_FUTURE = 0x2 MCL_ONFAULT = 0x4 MEMERASE = 0x40084d02 MEMERASE64 = 0x40104d14 MEMGETBADBLOCK = 0x40084d0b MEMGETINFO = 0x80204d01 MEMGETOOBSEL = 0x80c84d0a MEMGETREGIONCOUNT = 0x80044d07 MEMISLOCKED = 0x80084d17 MEMLOCK = 0x40084d05 MEMREAD = 0xc0404d1a MEMREADOOB = 0xc0104d04 MEMSETBADBLOCK = 0x40084d0c MEMUNLOCK = 0x40084d06 MEMWRITEOOB = 0xc0104d03 MTDFILEMODE = 0x4d13 NFDBITS = 0x40 NLDLY = 0x100 NOFLSH = 0x80 NS_GET_MNTNS_ID = 0x8008b705 NS_GET_NSTYPE = 0xb703 NS_GET_OWNER_UID = 0xb704 NS_GET_PARENT = 0xb702 NS_GET_PID_FROM_PIDNS = 0x8004b706 NS_GET_PID_IN_PIDNS = 0x8004b708 NS_GET_TGID_FROM_PIDNS = 0x8004b707 NS_GET_TGID_IN_PIDNS = 0x8004b709 NS_GET_USERNS = 0xb701 OLCUC = 0x2 ONLCR = 0x4 OTPERASE = 0x400c4d19 OTPGETREGIONCOUNT = 0x40044d0e OTPGETREGIONINFO = 0x400c4d0f OTPLOCK = 0x800c4d10 OTPSELECT = 0x80044d0d 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_RSYNC = 0x101000 O_SYNC = 0x101000 O_TMPFILE = 0x410000 O_TRUNC = 0x200 PARENB = 0x100 PARODD = 0x200 PENDIN = 0x4000 PERF_EVENT_IOC_DISABLE = 0x2401 PERF_EVENT_IOC_ENABLE = 0x2400 PERF_EVENT_IOC_ID = 0x80082407 PERF_EVENT_IOC_MODIFY_ATTRIBUTES = 0x4008240b PERF_EVENT_IOC_PAUSE_OUTPUT = 0x40042409 PERF_EVENT_IOC_PERIOD = 0x40082404 PERF_EVENT_IOC_QUERY_BPF = 0xc008240a PERF_EVENT_IOC_REFRESH = 0x2402 PERF_EVENT_IOC_RESET = 0x2403 PERF_EVENT_IOC_SET_BPF = 0x40042408 PERF_EVENT_IOC_SET_FILTER = 0x40082406 PERF_EVENT_IOC_SET_OUTPUT = 0x2405 PPPIOCATTACH = 0x4004743d PPPIOCATTCHAN = 0x40047438 PPPIOCBRIDGECHAN = 0x40047435 PPPIOCCONNECT = 0x4004743a PPPIOCDETACH = 0x4004743c PPPIOCDISCONN = 0x7439 PPPIOCGASYNCMAP = 0x80047458 PPPIOCGCHAN = 0x80047437 PPPIOCGDEBUG = 0x80047441 PPPIOCGFLAGS = 0x8004745a PPPIOCGIDLE = 0x8010743f PPPIOCGIDLE32 = 0x8008743f PPPIOCGIDLE64 = 0x8010743f PPPIOCGL2TPSTATS = 0x80487436 PPPIOCGMRU = 0x80047453 PPPIOCGRASYNCMAP = 0x80047455 PPPIOCGUNIT = 0x80047456 PPPIOCGXASYNCMAP = 0x80207450 PPPIOCSACTIVE = 0x40107446 PPPIOCSASYNCMAP = 0x40047457 PPPIOCSCOMPRESS = 0x4010744d PPPIOCSDEBUG = 0x40047440 PPPIOCSFLAGS = 0x40047459 PPPIOCSMAXCID = 0x40047451 PPPIOCSMRRU = 0x4004743b PPPIOCSMRU = 0x40047452 PPPIOCSNPMODE = 0x4008744b PPPIOCSPASS = 0x40107447 PPPIOCSRASYNCMAP = 0x40047454 PPPIOCSXASYNCMAP = 0x4020744f PPPIOCUNBRIDGECHAN = 0x7434 PPPIOCXFERUNIT = 0x744e PR_SET_PTRACER_ANY = 0xffffffffffffffff PTRACE_DISABLE_TE = 0x5010 PTRACE_ENABLE_TE = 0x5009 PTRACE_GET_LAST_BREAK = 0x5006 PTRACE_OLDSETOPTIONS = 0x15 PTRACE_PEEKDATA_AREA = 0x5003 PTRACE_PEEKTEXT_AREA = 0x5002 PTRACE_PEEKUSR_AREA = 0x5000 PTRACE_PEEK_SYSTEM_CALL = 0x5007 PTRACE_POKEDATA_AREA = 0x5005 PTRACE_POKETEXT_AREA = 0x5004 PTRACE_POKEUSR_AREA = 0x5001 PTRACE_POKE_SYSTEM_CALL = 0x5008 PTRACE_PROT = 0x15 PTRACE_SINGLEBLOCK = 0xc PTRACE_SYSEMU = 0x1f PTRACE_SYSEMU_SINGLESTEP = 0x20 PTRACE_TE_ABORT_RAND = 0x5011 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_MEMLOCK = 0x8 RLIMIT_NOFILE = 0x7 RLIMIT_NPROC = 0x6 RLIMIT_RSS = 0x5 RNDADDENTROPY = 0x40085203 RNDADDTOENTCNT = 0x40045201 RNDCLEARPOOL = 0x5206 RNDGETENTCNT = 0x80045200 RNDGETPOOL = 0x80085202 RNDRESEEDCRNG = 0x5207 RNDZAPENTCNT = 0x5204 RTC_AIE_OFF = 0x7002 RTC_AIE_ON = 0x7001 RTC_ALM_READ = 0x80247008 RTC_ALM_SET = 0x40247007 RTC_EPOCH_READ = 0x8008700d RTC_EPOCH_SET = 0x4008700e RTC_IRQP_READ = 0x8008700b RTC_IRQP_SET = 0x4008700c RTC_PARAM_GET = 0x40187013 RTC_PARAM_SET = 0x40187014 RTC_PIE_OFF = 0x7006 RTC_PIE_ON = 0x7005 RTC_PLL_GET = 0x80207011 RTC_PLL_SET = 0x40207012 RTC_RD_TIME = 0x80247009 RTC_SET_TIME = 0x4024700a RTC_UIE_OFF = 0x7004 RTC_UIE_ON = 0x7003 RTC_VL_CLR = 0x7014 RTC_VL_READ = 0x80047013 RTC_WIE_OFF = 0x7010 RTC_WIE_ON = 0x700f RTC_WKALM_RD = 0x80287010 RTC_WKALM_SET = 0x4028700f SCM_TIMESTAMPING = 0x25 SCM_TIMESTAMPING_OPT_STATS = 0x36 SCM_TIMESTAMPING_PKTINFO = 0x3a SCM_TIMESTAMPNS = 0x23 SCM_TXTIME = 0x3d SCM_WIFI_STATUS = 0x29 SECCOMP_IOCTL_NOTIF_ADDFD = 0x40182103 SECCOMP_IOCTL_NOTIF_ID_VALID = 0x40082102 SECCOMP_IOCTL_NOTIF_SET_FLAGS = 0x40082104 SFD_CLOEXEC = 0x80000 SFD_NONBLOCK = 0x800 SIOCATMARK = 0x8905 SIOCGPGRP = 0x8904 SIOCGSTAMPNS_NEW = 0x80108907 SIOCGSTAMP_NEW = 0x80108906 SIOCINQ = 0x541b SIOCOUTQ = 0x5411 SIOCSPGRP = 0x8902 SOCK_CLOEXEC = 0x80000 SOCK_DGRAM = 0x2 SOCK_NONBLOCK = 0x800 SOCK_STREAM = 0x1 SOL_SOCKET = 0x1 SO_ACCEPTCONN = 0x1e SO_ATTACH_BPF = 0x32 SO_ATTACH_REUSEPORT_CBPF = 0x33 SO_ATTACH_REUSEPORT_EBPF = 0x34 SO_BINDTODEVICE = 0x19 SO_BINDTOIFINDEX = 0x3e SO_BPF_EXTENSIONS = 0x30 SO_BROADCAST = 0x6 SO_BSDCOMPAT = 0xe SO_BUF_LOCK = 0x48 SO_BUSY_POLL = 0x2e SO_BUSY_POLL_BUDGET = 0x46 SO_CNX_ADVICE = 0x35 SO_COOKIE = 0x39 SO_DETACH_REUSEPORT_BPF = 0x44 SO_DOMAIN = 0x27 SO_DONTROUTE = 0x5 SO_ERROR = 0x4 SO_INCOMING_CPU = 0x31 SO_INCOMING_NAPI_ID = 0x38 SO_KEEPALIVE = 0x9 SO_LINGER = 0xd SO_LOCK_FILTER = 0x2c SO_MARK = 0x24 SO_MAX_PACING_RATE = 0x2f SO_MEMINFO = 0x37 SO_NETNS_COOKIE = 0x47 SO_NOFCS = 0x2b SO_OOBINLINE = 0xa SO_PASSCRED = 0x10 SO_PASSPIDFD = 0x4c SO_PASSSEC = 0x22 SO_PEEK_OFF = 0x2a SO_PEERCRED = 0x11 SO_PEERGROUPS = 0x3b SO_PEERPIDFD = 0x4d SO_PEERSEC = 0x1f SO_PREFER_BUSY_POLL = 0x45 SO_PROTOCOL = 0x26 SO_RCVBUF = 0x8 SO_RCVBUFFORCE = 0x21 SO_RCVLOWAT = 0x12 SO_RCVMARK = 0x4b SO_RCVTIMEO = 0x14 SO_RCVTIMEO_NEW = 0x42 SO_RCVTIMEO_OLD = 0x14 SO_RESERVE_MEM = 0x49 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_SNDTIMEO_NEW = 0x43 SO_SNDTIMEO_OLD = 0x15 SO_TIMESTAMPING = 0x25 SO_TIMESTAMPING_NEW = 0x41 SO_TIMESTAMPING_OLD = 0x25 SO_TIMESTAMPNS = 0x23 SO_TIMESTAMPNS_NEW = 0x40 SO_TIMESTAMPNS_OLD = 0x23 SO_TIMESTAMP_NEW = 0x3f SO_TXREHASH = 0x4a SO_TXTIME = 0x3d SO_TYPE = 0x3 SO_WIFI_STATUS = 0x29 SO_ZEROCOPY = 0x3c TAB1 = 0x800 TAB2 = 0x1000 TAB3 = 0x1800 TABDLY = 0x1800 TCFLSH = 0x540b TCGETA = 0x5405 TCGETS = 0x5401 TCGETS2 = 0x802c542a TCGETX = 0x5432 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 TFD_CLOEXEC = 0x80000 TFD_NONBLOCK = 0x800 TIOCCBRK = 0x5428 TIOCCONS = 0x541d TIOCEXCL = 0x540c TIOCGDEV = 0x80045432 TIOCGETD = 0x5424 TIOCGEXCL = 0x80045440 TIOCGICOUNT = 0x545d TIOCGISO7816 = 0x80285442 TIOCGLCKTRMIOS = 0x5456 TIOCGPGRP = 0x540f TIOCGPKT = 0x80045438 TIOCGPTLCK = 0x80045439 TIOCGPTN = 0x80045430 TIOCGPTPEER = 0x5441 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_RI = 0x80 TIOCM_RNG = 0x80 TIOCM_SR = 0x10 TIOCM_ST = 0x8 TIOCNOTTY = 0x5422 TIOCNXCL = 0x540d TIOCOUTQ = 0x5411 TIOCPKT = 0x5420 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 TIOCSISO7816 = 0xc0285443 TIOCSLCKTRMIOS = 0x5457 TIOCSPGRP = 0x5410 TIOCSPTLCK = 0x40045431 TIOCSRS485 = 0x542f TIOCSSERIAL = 0x541f TIOCSSOFTCAR = 0x541a TIOCSTI = 0x5412 TIOCSWINSZ = 0x5414 TIOCVHANGUP = 0x5437 TOSTOP = 0x100 TUNATTACHFILTER = 0x401054d5 TUNDETACHFILTER = 0x401054d6 TUNGETDEVNETNS = 0x54e3 TUNGETFEATURES = 0x800454cf TUNGETFILTER = 0x801054db TUNGETIFF = 0x800454d2 TUNGETSNDBUF = 0x800454d3 TUNGETVNETBE = 0x800454df TUNGETVNETHDRSZ = 0x800454d7 TUNGETVNETLE = 0x800454dd TUNSETCARRIER = 0x400454e2 TUNSETDEBUG = 0x400454c9 TUNSETFILTEREBPF = 0x800454e1 TUNSETGROUP = 0x400454ce TUNSETIFF = 0x400454ca TUNSETIFINDEX = 0x400454da TUNSETLINK = 0x400454cd TUNSETNOCSUM = 0x400454c8 TUNSETOFFLOAD = 0x400454d0 TUNSETOWNER = 0x400454cc TUNSETPERSIST = 0x400454cb TUNSETQUEUE = 0x400454d9 TUNSETSNDBUF = 0x400454d4 TUNSETSTEERINGEBPF = 0x800454e0 TUNSETTXFILTER = 0x400454d1 TUNSETVNETBE = 0x400454de TUNSETVNETHDRSZ = 0x400454d8 TUNSETVNETLE = 0x400454dc UBI_IOCATT = 0x40186f40 UBI_IOCDET = 0x40046f41 UBI_IOCEBCH = 0x40044f02 UBI_IOCEBER = 0x40044f01 UBI_IOCEBISMAP = 0x80044f05 UBI_IOCEBMAP = 0x40084f03 UBI_IOCEBUNMAP = 0x40044f04 UBI_IOCMKVOL = 0x40986f00 UBI_IOCRMVOL = 0x40046f01 UBI_IOCRNVOL = 0x51106f03 UBI_IOCRPEB = 0x40046f04 UBI_IOCRSVOL = 0x400c6f02 UBI_IOCSETVOLPROP = 0x40104f06 UBI_IOCSPEB = 0x40046f05 UBI_IOCVOLCRBLK = 0x40804f07 UBI_IOCVOLRMBLK = 0x4f08 UBI_IOCVOLUP = 0x40084f00 VDISCARD = 0xd VEOF = 0x4 VEOL = 0xb VEOL2 = 0x10 VMIN = 0x6 VREPRINT = 0xc VSTART = 0x8 VSTOP = 0x9 VSUSP = 0xa VSWTC = 0x7 VT1 = 0x4000 VTDLY = 0x4000 VTIME = 0x5 VWERASE = 0xe WDIOC_GETBOOTSTATUS = 0x80045702 WDIOC_GETPRETIMEOUT = 0x80045709 WDIOC_GETSTATUS = 0x80045701 WDIOC_GETSUPPORT = 0x80285700 WDIOC_GETTEMP = 0x80045703 WDIOC_GETTIMELEFT = 0x8004570a WDIOC_GETTIMEOUT = 0x80045707 WDIOC_KEEPALIVE = 0x80045705 WDIOC_SETOPTIONS = 0x80045704 WORDSIZE = 0x40 XCASE = 0x4 XTABS = 0x1800 _HIDIOCGRAWNAME = 0x80804804 _HIDIOCGRAWPHYS = 0x80404805 _HIDIOCGRAWUNIQ = 0x80404808 ) // Errors const ( EADDRINUSE = syscall.Errno(0x62) EADDRNOTAVAIL = syscall.Errno(0x63) EADV = syscall.Errno(0x44) EAFNOSUPPORT = syscall.Errno(0x61) EALREADY = syscall.Errno(0x72) EBADE = syscall.Errno(0x34) EBADFD = syscall.Errno(0x4d) EBADMSG = syscall.Errno(0x4a) EBADR = syscall.Errno(0x35) EBADRQC = syscall.Errno(0x38) EBADSLT = syscall.Errno(0x39) EBFONT = syscall.Errno(0x3b) ECANCELED = syscall.Errno(0x7d) 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) EDOTDOT = syscall.Errno(0x49) EDQUOT = syscall.Errno(0x7a) EHOSTDOWN = syscall.Errno(0x70) EHOSTUNREACH = syscall.Errno(0x71) EHWPOISON = syscall.Errno(0x85) EIDRM = syscall.Errno(0x2b) EILSEQ = syscall.Errno(0x54) EINPROGRESS = syscall.Errno(0x73) EISCONN = syscall.Errno(0x6a) 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) 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) ENOANO = syscall.Errno(0x37) ENOBUFS = syscall.Errno(0x69) ENOCSI = syscall.Errno(0x32) ENODATA = syscall.Errno(0x3d) ENOKEY = syscall.Errno(0x7e) ENOLCK = syscall.Errno(0x25) ENOLINK = syscall.Errno(0x43) ENOMEDIUM = syscall.Errno(0x7b) ENOMSG = syscall.Errno(0x2a) ENONET = syscall.Errno(0x40) ENOPKG = syscall.Errno(0x41) ENOPROTOOPT = syscall.Errno(0x5c) ENOSR = syscall.Errno(0x3f) ENOSTR = syscall.Errno(0x3c) ENOSYS = syscall.Errno(0x26) ENOTCONN = syscall.Errno(0x6b) ENOTEMPTY = syscall.Errno(0x27) ENOTNAM = syscall.Errno(0x76) ENOTRECOVERABLE = syscall.Errno(0x83) ENOTSOCK = syscall.Errno(0x58) ENOTSUP = syscall.Errno(0x5f) ENOTUNIQ = syscall.Errno(0x4c) EOPNOTSUPP = syscall.Errno(0x5f) EOVERFLOW = syscall.Errno(0x4b) EOWNERDEAD = syscall.Errno(0x82) EPFNOSUPPORT = syscall.Errno(0x60) EPROTO = syscall.Errno(0x47) EPROTONOSUPPORT = syscall.Errno(0x5d) EPROTOTYPE = syscall.Errno(0x5b) EREMCHG = syscall.Errno(0x4e) EREMOTE = syscall.Errno(0x42) EREMOTEIO = syscall.Errno(0x79) ERESTART = syscall.Errno(0x55) ERFKILL = syscall.Errno(0x84) ESHUTDOWN = syscall.Errno(0x6c) ESOCKTNOSUPPORT = syscall.Errno(0x5e) ESRMNT = syscall.Errno(0x45) ESTALE = syscall.Errno(0x74) ESTRPIPE = syscall.Errno(0x56) ETIME = syscall.Errno(0x3e) ETIMEDOUT = syscall.Errno(0x6e) ETOOMANYREFS = syscall.Errno(0x6d) EUCLEAN = syscall.Errno(0x75) EUNATCH = syscall.Errno(0x31) EUSERS = syscall.Errno(0x57) EXFULL = syscall.Errno(0x36) ) // Signals const ( SIGBUS = syscall.Signal(0x7) SIGCHLD = syscall.Signal(0x11) SIGCLD = syscall.Signal(0x11) SIGCONT = syscall.Signal(0x12) SIGIO = syscall.Signal(0x1d) SIGPOLL = syscall.Signal(0x1d) SIGPROF = syscall.Signal(0x1b) SIGPWR = syscall.Signal(0x1e) SIGSTKFLT = syscall.Signal(0x10) SIGSTOP = syscall.Signal(0x13) SIGSYS = syscall.Signal(0x1f) SIGTSTP = syscall.Signal(0x14) SIGTTIN = syscall.Signal(0x15) SIGTTOU = syscall.Signal(0x16) 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 errorList = [...]struct { num syscall.Errno name string desc string }{ {1, "EPERM", "operation not permitted"}, {2, "ENOENT", "no such file or directory"}, {3, "ESRCH", "no such process"}, {4, "EINTR", "interrupted system call"}, {5, "EIO", "input/output error"}, {6, "ENXIO", "no such device or address"}, {7, "E2BIG", "argument list too long"}, {8, "ENOEXEC", "exec format error"}, {9, "EBADF", "bad file descriptor"}, {10, "ECHILD", "no child processes"}, {11, "EAGAIN", "resource temporarily unavailable"}, {12, "ENOMEM", "cannot allocate memory"}, {13, "EACCES", "permission denied"}, {14, "EFAULT", "bad address"}, {15, "ENOTBLK", "block device required"}, {16, "EBUSY", "device or resource busy"}, {17, "EEXIST", "file exists"}, {18, "EXDEV", "invalid cross-device link"}, {19, "ENODEV", "no such device"}, {20, "ENOTDIR", "not a directory"}, {21, "EISDIR", "is a directory"}, {22, "EINVAL", "invalid argument"}, {23, "ENFILE", "too many open files in system"}, {24, "EMFILE", "too many open files"}, {25, "ENOTTY", "inappropriate ioctl for device"}, {26, "ETXTBSY", "text file busy"}, {27, "EFBIG", "file too large"}, {28, "ENOSPC", "no space left on device"}, {29, "ESPIPE", "illegal seek"}, {30, "EROFS", "read-only file system"}, {31, "EMLINK", "too many links"}, {32, "EPIPE", "broken pipe"}, {33, "EDOM", "numerical argument out of domain"}, {34, "ERANGE", "numerical result out of range"}, {35, "EDEADLK", "resource deadlock avoided"}, {36, "ENAMETOOLONG", "file name too long"}, {37, "ENOLCK", "no locks available"}, {38, "ENOSYS", "function not implemented"}, {39, "ENOTEMPTY", "directory not empty"}, {40, "ELOOP", "too many levels of symbolic links"}, {42, "ENOMSG", "no message of desired type"}, {43, "EIDRM", "identifier removed"}, {44, "ECHRNG", "channel number out of range"}, {45, "EL2NSYNC", "level 2 not synchronized"}, {46, "EL3HLT", "level 3 halted"}, {47, "EL3RST", "level 3 reset"}, {48, "ELNRNG", "link number out of range"}, {49, "EUNATCH", "protocol driver not attached"}, {50, "ENOCSI", "no CSI structure available"}, {51, "EL2HLT", "level 2 halted"}, {52, "EBADE", "invalid exchange"}, {53, "EBADR", "invalid request descriptor"}, {54, "EXFULL", "exchange full"}, {55, "ENOANO", "no anode"}, {56, "EBADRQC", "invalid request code"}, {57, "EBADSLT", "invalid slot"}, {59, "EBFONT", "bad font file format"}, {60, "ENOSTR", "device not a stream"}, {61, "ENODATA", "no data available"}, {62, "ETIME", "timer expired"}, {63, "ENOSR", "out of streams resources"}, {64, "ENONET", "machine is not on the network"}, {65, "ENOPKG", "package not installed"}, {66, "EREMOTE", "object is remote"}, {67, "ENOLINK", "link has been severed"}, {68, "EADV", "advertise error"}, {69, "ESRMNT", "srmount error"}, {70, "ECOMM", "communication error on send"}, {71, "EPROTO", "protocol error"}, {72, "EMULTIHOP", "multihop attempted"}, {73, "EDOTDOT", "RFS specific error"}, {74, "EBADMSG", "bad message"}, {75, "EOVERFLOW", "value too large for defined data type"}, {76, "ENOTUNIQ", "name not unique on network"}, {77, "EBADFD", "file descriptor in bad state"}, {78, "EREMCHG", "remote address changed"}, {79, "ELIBACC", "can not access a needed shared library"}, {80, "ELIBBAD", "accessing a corrupted shared library"}, {81, "ELIBSCN", ".lib section in a.out corrupted"}, {82, "ELIBMAX", "attempting to link in too many shared libraries"}, {83, "ELIBEXEC", "cannot exec a shared library directly"}, {84, "EILSEQ", "invalid or incomplete multibyte or wide character"}, {85, "ERESTART", "interrupted system call should be restarted"}, {86, "ESTRPIPE", "streams pipe error"}, {87, "EUSERS", "too many users"}, {88, "ENOTSOCK", "socket operation on non-socket"}, {89, "EDESTADDRREQ", "destination address required"}, {90, "EMSGSIZE", "message too long"}, {91, "EPROTOTYPE", "protocol wrong type for socket"}, {92, "ENOPROTOOPT", "protocol not available"}, {93, "EPROTONOSUPPORT", "protocol not supported"}, {94, "ESOCKTNOSUPPORT", "socket type not supported"}, {95, "ENOTSUP", "operation not supported"}, {96, "EPFNOSUPPORT", "protocol family not supported"}, {97, "EAFNOSUPPORT", "address family not supported by protocol"}, {98, "EADDRINUSE", "address already in use"}, {99, "EADDRNOTAVAIL", "cannot assign requested address"}, {100, "ENETDOWN", "network is down"}, {101, "ENETUNREACH", "network is unreachable"}, {102, "ENETRESET", "network dropped connection on reset"}, {103, "ECONNABORTED", "software caused connection abort"}, {104, "ECONNRESET", "connection reset by peer"}, {105, "ENOBUFS", "no buffer space available"}, {106, "EISCONN", "transport endpoint is already connected"}, {107, "ENOTCONN", "transport endpoint is not connected"}, {108, "ESHUTDOWN", "cannot send after transport endpoint shutdown"}, {109, "ETOOMANYREFS", "too many references: cannot splice"}, {110, "ETIMEDOUT", "connection timed out"}, {111, "ECONNREFUSED", "connection refused"}, {112, "EHOSTDOWN", "host is down"}, {113, "EHOSTUNREACH", "no route to host"}, {114, "EALREADY", "operation already in progress"}, {115, "EINPROGRESS", "operation now in progress"}, {116, "ESTALE", "stale file handle"}, {117, "EUCLEAN", "structure needs cleaning"}, {118, "ENOTNAM", "not a XENIX named type file"}, {119, "ENAVAIL", "no XENIX semaphores available"}, {120, "EISNAM", "is a named type file"}, {121, "EREMOTEIO", "remote I/O error"}, {122, "EDQUOT", "disk quota exceeded"}, {123, "ENOMEDIUM", "no medium found"}, {124, "EMEDIUMTYPE", "wrong medium type"}, {125, "ECANCELED", "operation canceled"}, {126, "ENOKEY", "required key not available"}, {127, "EKEYEXPIRED", "key has expired"}, {128, "EKEYREVOKED", "key has been revoked"}, {129, "EKEYREJECTED", "key was rejected by service"}, {130, "EOWNERDEAD", "owner died"}, {131, "ENOTRECOVERABLE", "state not recoverable"}, {132, "ERFKILL", "operation not possible due to RF-kill"}, {133, "EHWPOISON", "memory page has hardware error"}, } // Signal table var signalList = [...]struct { num syscall.Signal name string desc string }{ {1, "SIGHUP", "hangup"}, {2, "SIGINT", "interrupt"}, {3, "SIGQUIT", "quit"}, {4, "SIGILL", "illegal instruction"}, {5, "SIGTRAP", "trace/breakpoint trap"}, {6, "SIGABRT", "aborted"}, {7, "SIGBUS", "bus error"}, {8, "SIGFPE", "floating point exception"}, {9, "SIGKILL", "killed"}, {10, "SIGUSR1", "user defined signal 1"}, {11, "SIGSEGV", "segmentation fault"}, {12, "SIGUSR2", "user defined signal 2"}, {13, "SIGPIPE", "broken pipe"}, {14, "SIGALRM", "alarm clock"}, {15, "SIGTERM", "terminated"}, {16, "SIGSTKFLT", "stack fault"}, {17, "SIGCHLD", "child exited"}, {18, "SIGCONT", "continued"}, {19, "SIGSTOP", "stopped (signal)"}, {20, "SIGTSTP", "stopped"}, {21, "SIGTTIN", "stopped (tty input)"}, {22, "SIGTTOU", "stopped (tty output)"}, {23, "SIGURG", "urgent I/O condition"}, {24, "SIGXCPU", "CPU time limit exceeded"}, {25, "SIGXFSZ", "file size limit exceeded"}, {26, "SIGVTALRM", "virtual timer expired"}, {27, "SIGPROF", "profiling timer expired"}, {28, "SIGWINCH", "window changed"}, {29, "SIGIO", "I/O possible"}, {30, "SIGPWR", "power failure"}, {31, "SIGSYS", "bad system call"}, } dependencies/pkg/mod/golang.org/x/sys@v0.26.0/unix/zsysnum_zos_s390x.go0000644000000000000000000044507015107355264024543 0ustar rootroot// go run mksyscall_zos_s390x.go -o_sysnum zsysnum_zos_s390x.go -o_syscall zsyscall_zos_s390x.go -i_syscall syscall_zos_s390x.go -o_asm zsymaddr_zos_s390x.s // Code generated by the command above; see README.md. DO NOT EDIT. //go:build zos && s390x package unix const ( SYS_LOG = 0x17 // 23 SYS_COSH = 0x18 // 24 SYS_TANH = 0x19 // 25 SYS_EXP = 0x1A // 26 SYS_MODF = 0x1B // 27 SYS_LOG10 = 0x1C // 28 SYS_FREXP = 0x1D // 29 SYS_LDEXP = 0x1E // 30 SYS_CEIL = 0x1F // 31 SYS_POW = 0x20 // 32 SYS_SQRT = 0x21 // 33 SYS_FLOOR = 0x22 // 34 SYS_J1 = 0x23 // 35 SYS_FABS = 0x24 // 36 SYS_FMOD = 0x25 // 37 SYS_J0 = 0x26 // 38 SYS_YN = 0x27 // 39 SYS_JN = 0x28 // 40 SYS_Y0 = 0x29 // 41 SYS_Y1 = 0x2A // 42 SYS_HYPOT = 0x2B // 43 SYS_ERF = 0x2C // 44 SYS_ERFC = 0x2D // 45 SYS_GAMMA = 0x2E // 46 SYS_ISALPHA = 0x30 // 48 SYS_ISALNUM = 0x31 // 49 SYS_ISLOWER = 0x32 // 50 SYS_ISCNTRL = 0x33 // 51 SYS_ISDIGIT = 0x34 // 52 SYS_ISGRAPH = 0x35 // 53 SYS_ISUPPER = 0x36 // 54 SYS_ISPRINT = 0x37 // 55 SYS_ISPUNCT = 0x38 // 56 SYS_ISSPACE = 0x39 // 57 SYS_SETLOCAL = 0x3A // 58 SYS_SETLOCALE = 0x3A // 58 SYS_ISXDIGIT = 0x3B // 59 SYS_TOLOWER = 0x3C // 60 SYS_TOUPPER = 0x3D // 61 SYS_ASIN = 0x3E // 62 SYS_SIN = 0x3F // 63 SYS_COS = 0x40 // 64 SYS_TAN = 0x41 // 65 SYS_SINH = 0x42 // 66 SYS_ACOS = 0x43 // 67 SYS_ATAN = 0x44 // 68 SYS_ATAN2 = 0x45 // 69 SYS_FTELL = 0x46 // 70 SYS_FGETPOS = 0x47 // 71 SYS_FSEEK = 0x48 // 72 SYS_FSETPOS = 0x49 // 73 SYS_FERROR = 0x4A // 74 SYS_REWIND = 0x4B // 75 SYS_CLEARERR = 0x4C // 76 SYS_FEOF = 0x4D // 77 SYS_ATOL = 0x4E // 78 SYS_PERROR = 0x4F // 79 SYS_ATOF = 0x50 // 80 SYS_ATOI = 0x51 // 81 SYS_RAND = 0x52 // 82 SYS_STRTOD = 0x53 // 83 SYS_STRTOL = 0x54 // 84 SYS_STRTOUL = 0x55 // 85 SYS_MALLOC = 0x56 // 86 SYS_SRAND = 0x57 // 87 SYS_CALLOC = 0x58 // 88 SYS_FREE = 0x59 // 89 SYS_EXIT = 0x5A // 90 SYS_REALLOC = 0x5B // 91 SYS_ABORT = 0x5C // 92 SYS___ABORT = 0x5C // 92 SYS_ATEXIT = 0x5D // 93 SYS_RAISE = 0x5E // 94 SYS_SETJMP = 0x5F // 95 SYS_LONGJMP = 0x60 // 96 SYS_SIGNAL = 0x61 // 97 SYS_TMPNAM = 0x62 // 98 SYS_REMOVE = 0x63 // 99 SYS_RENAME = 0x64 // 100 SYS_TMPFILE = 0x65 // 101 SYS_FREOPEN = 0x66 // 102 SYS_FCLOSE = 0x67 // 103 SYS_FFLUSH = 0x68 // 104 SYS_FOPEN = 0x69 // 105 SYS_FSCANF = 0x6A // 106 SYS_SETBUF = 0x6B // 107 SYS_SETVBUF = 0x6C // 108 SYS_FPRINTF = 0x6D // 109 SYS_SSCANF = 0x6E // 110 SYS_PRINTF = 0x6F // 111 SYS_SCANF = 0x70 // 112 SYS_SPRINTF = 0x71 // 113 SYS_FGETC = 0x72 // 114 SYS_VFPRINTF = 0x73 // 115 SYS_VPRINTF = 0x74 // 116 SYS_VSPRINTF = 0x75 // 117 SYS_GETC = 0x76 // 118 SYS_FGETS = 0x77 // 119 SYS_FPUTC = 0x78 // 120 SYS_FPUTS = 0x79 // 121 SYS_PUTCHAR = 0x7A // 122 SYS_GETCHAR = 0x7B // 123 SYS_GETS = 0x7C // 124 SYS_PUTC = 0x7D // 125 SYS_FWRITE = 0x7E // 126 SYS_PUTS = 0x7F // 127 SYS_UNGETC = 0x80 // 128 SYS_FREAD = 0x81 // 129 SYS_WCSTOMBS = 0x82 // 130 SYS_MBTOWC = 0x83 // 131 SYS_WCTOMB = 0x84 // 132 SYS_MBSTOWCS = 0x85 // 133 SYS_WCSCPY = 0x86 // 134 SYS_WCSCAT = 0x87 // 135 SYS_WCSCHR = 0x88 // 136 SYS_WCSCMP = 0x89 // 137 SYS_WCSNCMP = 0x8A // 138 SYS_WCSCSPN = 0x8B // 139 SYS_WCSLEN = 0x8C // 140 SYS_WCSNCAT = 0x8D // 141 SYS_WCSSPN = 0x8E // 142 SYS_WCSNCPY = 0x8F // 143 SYS_ABS = 0x90 // 144 SYS_DIV = 0x91 // 145 SYS_LABS = 0x92 // 146 SYS_STRNCPY = 0x93 // 147 SYS_MEMCPY = 0x94 // 148 SYS_MEMMOVE = 0x95 // 149 SYS_STRCPY = 0x96 // 150 SYS_STRCMP = 0x97 // 151 SYS_STRCAT = 0x98 // 152 SYS_STRNCAT = 0x99 // 153 SYS_MEMCMP = 0x9A // 154 SYS_MEMCHR = 0x9B // 155 SYS_STRCOLL = 0x9C // 156 SYS_STRNCMP = 0x9D // 157 SYS_STRXFRM = 0x9E // 158 SYS_STRRCHR = 0x9F // 159 SYS_STRCHR = 0xA0 // 160 SYS_STRCSPN = 0xA1 // 161 SYS_STRPBRK = 0xA2 // 162 SYS_MEMSET = 0xA3 // 163 SYS_STRSPN = 0xA4 // 164 SYS_STRSTR = 0xA5 // 165 SYS_STRTOK = 0xA6 // 166 SYS_DIFFTIME = 0xA7 // 167 SYS_STRERROR = 0xA8 // 168 SYS_STRLEN = 0xA9 // 169 SYS_CLOCK = 0xAA // 170 SYS_CTIME = 0xAB // 171 SYS_MKTIME = 0xAC // 172 SYS_TIME = 0xAD // 173 SYS_ASCTIME = 0xAE // 174 SYS_MBLEN = 0xAF // 175 SYS_GMTIME = 0xB0 // 176 SYS_LOCALTIM = 0xB1 // 177 SYS_LOCALTIME = 0xB1 // 177 SYS_STRFTIME = 0xB2 // 178 SYS___GETCB = 0xB4 // 180 SYS_FUPDATE = 0xB5 // 181 SYS___FUPDT = 0xB5 // 181 SYS_CLRMEMF = 0xBD // 189 SYS___CLRMF = 0xBD // 189 SYS_FETCHEP = 0xBF // 191 SYS___FTCHEP = 0xBF // 191 SYS_FLDATA = 0xC1 // 193 SYS___FLDATA = 0xC1 // 193 SYS_DYNFREE = 0xC2 // 194 SYS___DYNFRE = 0xC2 // 194 SYS_DYNALLOC = 0xC3 // 195 SYS___DYNALL = 0xC3 // 195 SYS___CDUMP = 0xC4 // 196 SYS_CSNAP = 0xC5 // 197 SYS___CSNAP = 0xC5 // 197 SYS_CTRACE = 0xC6 // 198 SYS___CTRACE = 0xC6 // 198 SYS___CTEST = 0xC7 // 199 SYS_SETENV = 0xC8 // 200 SYS___SETENV = 0xC8 // 200 SYS_CLEARENV = 0xC9 // 201 SYS___CLRENV = 0xC9 // 201 SYS___REGCOMP_STD = 0xEA // 234 SYS_NL_LANGINFO = 0xFC // 252 SYS_GETSYNTX = 0xFD // 253 SYS_ISBLANK = 0xFE // 254 SYS___ISBLNK = 0xFE // 254 SYS_ISWALNUM = 0xFF // 255 SYS_ISWALPHA = 0x100 // 256 SYS_ISWBLANK = 0x101 // 257 SYS___ISWBLK = 0x101 // 257 SYS_ISWCNTRL = 0x102 // 258 SYS_ISWDIGIT = 0x103 // 259 SYS_ISWGRAPH = 0x104 // 260 SYS_ISWLOWER = 0x105 // 261 SYS_ISWPRINT = 0x106 // 262 SYS_ISWPUNCT = 0x107 // 263 SYS_ISWSPACE = 0x108 // 264 SYS_ISWUPPER = 0x109 // 265 SYS_ISWXDIGI = 0x10A // 266 SYS_ISWXDIGIT = 0x10A // 266 SYS_WCTYPE = 0x10B // 267 SYS_ISWCTYPE = 0x10C // 268 SYS_TOWLOWER = 0x10D // 269 SYS_TOWUPPER = 0x10E // 270 SYS_MBSINIT = 0x10F // 271 SYS_WCTOB = 0x110 // 272 SYS_MBRLEN = 0x111 // 273 SYS_MBRTOWC = 0x112 // 274 SYS_MBSRTOWC = 0x113 // 275 SYS_MBSRTOWCS = 0x113 // 275 SYS_WCRTOMB = 0x114 // 276 SYS_WCSRTOMB = 0x115 // 277 SYS_WCSRTOMBS = 0x115 // 277 SYS___CSID = 0x116 // 278 SYS___WCSID = 0x117 // 279 SYS_STRPTIME = 0x118 // 280 SYS___STRPTM = 0x118 // 280 SYS_STRFMON = 0x119 // 281 SYS___RPMTCH = 0x11A // 282 SYS_WCSSTR = 0x11B // 283 SYS_WCSTOK = 0x12C // 300 SYS_WCSTOL = 0x12D // 301 SYS_WCSTOD = 0x12E // 302 SYS_WCSTOUL = 0x12F // 303 SYS_WCSCOLL = 0x130 // 304 SYS_WCSXFRM = 0x131 // 305 SYS_WCSWIDTH = 0x132 // 306 SYS_WCWIDTH = 0x133 // 307 SYS_WCSFTIME = 0x134 // 308 SYS_SWPRINTF = 0x135 // 309 SYS_VSWPRINT = 0x136 // 310 SYS_VSWPRINTF = 0x136 // 310 SYS_SWSCANF = 0x137 // 311 SYS_REGCOMP = 0x138 // 312 SYS_REGEXEC = 0x139 // 313 SYS_REGFREE = 0x13A // 314 SYS_REGERROR = 0x13B // 315 SYS_FGETWC = 0x13C // 316 SYS_FGETWS = 0x13D // 317 SYS_FPUTWC = 0x13E // 318 SYS_FPUTWS = 0x13F // 319 SYS_GETWC = 0x140 // 320 SYS_GETWCHAR = 0x141 // 321 SYS_PUTWC = 0x142 // 322 SYS_PUTWCHAR = 0x143 // 323 SYS_UNGETWC = 0x144 // 324 SYS_ICONV_OPEN = 0x145 // 325 SYS_ICONV = 0x146 // 326 SYS_ICONV_CLOSE = 0x147 // 327 SYS_ISMCCOLLEL = 0x14C // 332 SYS_STRTOCOLL = 0x14D // 333 SYS_COLLTOSTR = 0x14E // 334 SYS_COLLEQUIV = 0x14F // 335 SYS_COLLRANGE = 0x150 // 336 SYS_CCLASS = 0x151 // 337 SYS_COLLORDER = 0x152 // 338 SYS___DEMANGLE = 0x154 // 340 SYS_FDOPEN = 0x155 // 341 SYS___ERRNO = 0x156 // 342 SYS___ERRNO2 = 0x157 // 343 SYS___TERROR = 0x158 // 344 SYS_MAXCOLL = 0x169 // 361 SYS_GETMCCOLL = 0x16A // 362 SYS_GETWMCCOLL = 0x16B // 363 SYS___ERR2AD = 0x16C // 364 SYS_DLLQUERYFN = 0x16D // 365 SYS_DLLQUERYVAR = 0x16E // 366 SYS_DLLFREE = 0x16F // 367 SYS_DLLLOAD = 0x170 // 368 SYS__EXIT = 0x174 // 372 SYS_ACCESS = 0x175 // 373 SYS_ALARM = 0x176 // 374 SYS_CFGETISPEED = 0x177 // 375 SYS_CFGETOSPEED = 0x178 // 376 SYS_CFSETISPEED = 0x179 // 377 SYS_CFSETOSPEED = 0x17A // 378 SYS_CHDIR = 0x17B // 379 SYS_CHMOD = 0x17C // 380 SYS_CHOWN = 0x17D // 381 SYS_CLOSE = 0x17E // 382 SYS_CLOSEDIR = 0x17F // 383 SYS_CREAT = 0x180 // 384 SYS_CTERMID = 0x181 // 385 SYS_DUP = 0x182 // 386 SYS_DUP2 = 0x183 // 387 SYS_EXECL = 0x184 // 388 SYS_EXECLE = 0x185 // 389 SYS_EXECLP = 0x186 // 390 SYS_EXECV = 0x187 // 391 SYS_EXECVE = 0x188 // 392 SYS_EXECVP = 0x189 // 393 SYS_FCHMOD = 0x18A // 394 SYS_FCHOWN = 0x18B // 395 SYS_FCNTL = 0x18C // 396 SYS_FILENO = 0x18D // 397 SYS_FORK = 0x18E // 398 SYS_FPATHCONF = 0x18F // 399 SYS_FSTAT = 0x190 // 400 SYS_FSYNC = 0x191 // 401 SYS_FTRUNCATE = 0x192 // 402 SYS_GETCWD = 0x193 // 403 SYS_GETEGID = 0x194 // 404 SYS_GETEUID = 0x195 // 405 SYS_GETGID = 0x196 // 406 SYS_GETGRGID = 0x197 // 407 SYS_GETGRNAM = 0x198 // 408 SYS_GETGROUPS = 0x199 // 409 SYS_GETLOGIN = 0x19A // 410 SYS_W_GETMNTENT = 0x19B // 411 SYS_GETPGRP = 0x19C // 412 SYS_GETPID = 0x19D // 413 SYS_GETPPID = 0x19E // 414 SYS_GETPWNAM = 0x19F // 415 SYS_GETPWUID = 0x1A0 // 416 SYS_GETUID = 0x1A1 // 417 SYS_W_IOCTL = 0x1A2 // 418 SYS_ISATTY = 0x1A3 // 419 SYS_KILL = 0x1A4 // 420 SYS_LINK = 0x1A5 // 421 SYS_LSEEK = 0x1A6 // 422 SYS_LSTAT = 0x1A7 // 423 SYS_MKDIR = 0x1A8 // 424 SYS_MKFIFO = 0x1A9 // 425 SYS_MKNOD = 0x1AA // 426 SYS_MOUNT = 0x1AB // 427 SYS_OPEN = 0x1AC // 428 SYS_OPENDIR = 0x1AD // 429 SYS_PATHCONF = 0x1AE // 430 SYS_PAUSE = 0x1AF // 431 SYS_PIPE = 0x1B0 // 432 SYS_W_GETPSENT = 0x1B1 // 433 SYS_READ = 0x1B2 // 434 SYS_READDIR = 0x1B3 // 435 SYS_READLINK = 0x1B4 // 436 SYS_REWINDDIR = 0x1B5 // 437 SYS_RMDIR = 0x1B6 // 438 SYS_SETEGID = 0x1B7 // 439 SYS_SETEUID = 0x1B8 // 440 SYS_SETGID = 0x1B9 // 441 SYS_SETPGID = 0x1BA // 442 SYS_SETSID = 0x1BB // 443 SYS_SETUID = 0x1BC // 444 SYS_SIGACTION = 0x1BD // 445 SYS_SIGADDSET = 0x1BE // 446 SYS_SIGDELSET = 0x1BF // 447 SYS_SIGEMPTYSET = 0x1C0 // 448 SYS_SIGFILLSET = 0x1C1 // 449 SYS_SIGISMEMBER = 0x1C2 // 450 SYS_SIGLONGJMP = 0x1C3 // 451 SYS_SIGPENDING = 0x1C4 // 452 SYS_SIGPROCMASK = 0x1C5 // 453 SYS_SIGSETJMP = 0x1C6 // 454 SYS_SIGSUSPEND = 0x1C7 // 455 SYS_SLEEP = 0x1C8 // 456 SYS_STAT = 0x1C9 // 457 SYS_W_STATFS = 0x1CA // 458 SYS_SYMLINK = 0x1CB // 459 SYS_SYSCONF = 0x1CC // 460 SYS_TCDRAIN = 0x1CD // 461 SYS_TCFLOW = 0x1CE // 462 SYS_TCFLUSH = 0x1CF // 463 SYS_TCGETATTR = 0x1D0 // 464 SYS_TCGETPGRP = 0x1D1 // 465 SYS_TCSENDBREAK = 0x1D2 // 466 SYS_TCSETATTR = 0x1D3 // 467 SYS_TCSETPGRP = 0x1D4 // 468 SYS_TIMES = 0x1D5 // 469 SYS_TTYNAME = 0x1D6 // 470 SYS_TZSET = 0x1D7 // 471 SYS_UMASK = 0x1D8 // 472 SYS_UMOUNT = 0x1D9 // 473 SYS_UNAME = 0x1DA // 474 SYS_UNLINK = 0x1DB // 475 SYS_UTIME = 0x1DC // 476 SYS_WAIT = 0x1DD // 477 SYS_WAITPID = 0x1DE // 478 SYS_WRITE = 0x1DF // 479 SYS_CHAUDIT = 0x1E0 // 480 SYS_FCHAUDIT = 0x1E1 // 481 SYS_GETGROUPSBYNAME = 0x1E2 // 482 SYS_SIGWAIT = 0x1E3 // 483 SYS_PTHREAD_EXIT = 0x1E4 // 484 SYS_PTHREAD_KILL = 0x1E5 // 485 SYS_PTHREAD_ATTR_INIT = 0x1E6 // 486 SYS_PTHREAD_ATTR_DESTROY = 0x1E7 // 487 SYS_PTHREAD_ATTR_SETSTACKSIZE = 0x1E8 // 488 SYS_PTHREAD_ATTR_GETSTACKSIZE = 0x1E9 // 489 SYS_PTHREAD_ATTR_SETDETACHSTATE = 0x1EA // 490 SYS_PTHREAD_ATTR_GETDETACHSTATE = 0x1EB // 491 SYS_PTHREAD_ATTR_SETWEIGHT_NP = 0x1EC // 492 SYS_PTHREAD_ATTR_GETWEIGHT_NP = 0x1ED // 493 SYS_PTHREAD_CANCEL = 0x1EE // 494 SYS_PTHREAD_CLEANUP_PUSH = 0x1EF // 495 SYS_PTHREAD_CLEANUP_POP = 0x1F0 // 496 SYS_PTHREAD_CONDATTR_INIT = 0x1F1 // 497 SYS_PTHREAD_CONDATTR_DESTROY = 0x1F2 // 498 SYS_PTHREAD_COND_INIT = 0x1F3 // 499 SYS_PTHREAD_COND_DESTROY = 0x1F4 // 500 SYS_PTHREAD_COND_SIGNAL = 0x1F5 // 501 SYS_PTHREAD_COND_BROADCAST = 0x1F6 // 502 SYS_PTHREAD_COND_WAIT = 0x1F7 // 503 SYS_PTHREAD_COND_TIMEDWAIT = 0x1F8 // 504 SYS_PTHREAD_CREATE = 0x1F9 // 505 SYS_PTHREAD_DETACH = 0x1FA // 506 SYS_PTHREAD_EQUAL = 0x1FB // 507 SYS_PTHREAD_GETSPECIFIC = 0x1FC // 508 SYS_PTHREAD_JOIN = 0x1FD // 509 SYS_PTHREAD_KEY_CREATE = 0x1FE // 510 SYS_PTHREAD_MUTEXATTR_INIT = 0x1FF // 511 SYS_PTHREAD_MUTEXATTR_DESTROY = 0x200 // 512 SYS_PTHREAD_MUTEXATTR_SETKIND_NP = 0x201 // 513 SYS_PTHREAD_MUTEXATTR_GETKIND_NP = 0x202 // 514 SYS_PTHREAD_MUTEX_INIT = 0x203 // 515 SYS_PTHREAD_MUTEX_DESTROY = 0x204 // 516 SYS_PTHREAD_MUTEX_LOCK = 0x205 // 517 SYS_PTHREAD_MUTEX_TRYLOCK = 0x206 // 518 SYS_PTHREAD_MUTEX_UNLOCK = 0x207 // 519 SYS_PTHREAD_ONCE = 0x209 // 521 SYS_PTHREAD_SELF = 0x20A // 522 SYS_PTHREAD_SETINTR = 0x20B // 523 SYS_PTHREAD_SETINTRTYPE = 0x20C // 524 SYS_PTHREAD_SETSPECIFIC = 0x20D // 525 SYS_PTHREAD_TESTINTR = 0x20E // 526 SYS_PTHREAD_YIELD = 0x20F // 527 SYS_TW_OPEN = 0x210 // 528 SYS_TW_FCNTL = 0x211 // 529 SYS_PTHREAD_JOIN_D4_NP = 0x212 // 530 SYS_PTHREAD_CONDATTR_SETKIND_NP = 0x213 // 531 SYS_PTHREAD_CONDATTR_GETKIND_NP = 0x214 // 532 SYS_EXTLINK_NP = 0x215 // 533 SYS___PASSWD = 0x216 // 534 SYS_SETGROUPS = 0x217 // 535 SYS_INITGROUPS = 0x218 // 536 SYS_WCSPBRK = 0x23F // 575 SYS_WCSRCHR = 0x240 // 576 SYS_SVC99 = 0x241 // 577 SYS___SVC99 = 0x241 // 577 SYS_WCSWCS = 0x242 // 578 SYS_LOCALECO = 0x243 // 579 SYS_LOCALECONV = 0x243 // 579 SYS___LIBREL = 0x244 // 580 SYS_RELEASE = 0x245 // 581 SYS___RLSE = 0x245 // 581 SYS_FLOCATE = 0x246 // 582 SYS___FLOCT = 0x246 // 582 SYS_FDELREC = 0x247 // 583 SYS___FDLREC = 0x247 // 583 SYS_FETCH = 0x248 // 584 SYS___FETCH = 0x248 // 584 SYS_QSORT = 0x249 // 585 SYS_GETENV = 0x24A // 586 SYS_SYSTEM = 0x24B // 587 SYS_BSEARCH = 0x24C // 588 SYS_LDIV = 0x24D // 589 SYS___THROW = 0x25E // 606 SYS___RETHROW = 0x25F // 607 SYS___CLEANUPCATCH = 0x260 // 608 SYS___CATCHMATCH = 0x261 // 609 SYS___CLEAN2UPCATCH = 0x262 // 610 SYS_PUTENV = 0x26A // 618 SYS___GETENV = 0x26F // 623 SYS_GETPRIORITY = 0x270 // 624 SYS_NICE = 0x271 // 625 SYS_SETPRIORITY = 0x272 // 626 SYS_GETITIMER = 0x273 // 627 SYS_SETITIMER = 0x274 // 628 SYS_MSGCTL = 0x275 // 629 SYS_MSGGET = 0x276 // 630 SYS_MSGRCV = 0x277 // 631 SYS_MSGSND = 0x278 // 632 SYS_MSGXRCV = 0x279 // 633 SYS___MSGXR = 0x279 // 633 SYS_SEMCTL = 0x27A // 634 SYS_SEMGET = 0x27B // 635 SYS_SEMOP = 0x27C // 636 SYS_SHMAT = 0x27D // 637 SYS_SHMCTL = 0x27E // 638 SYS_SHMDT = 0x27F // 639 SYS_SHMGET = 0x280 // 640 SYS___GETIPC = 0x281 // 641 SYS_SETGRENT = 0x282 // 642 SYS_GETGRENT = 0x283 // 643 SYS_ENDGRENT = 0x284 // 644 SYS_SETPWENT = 0x285 // 645 SYS_GETPWENT = 0x286 // 646 SYS_ENDPWENT = 0x287 // 647 SYS_BSD_SIGNAL = 0x288 // 648 SYS_KILLPG = 0x289 // 649 SYS_SIGALTSTACK = 0x28A // 650 SYS_SIGHOLD = 0x28B // 651 SYS_SIGIGNORE = 0x28C // 652 SYS_SIGINTERRUPT = 0x28D // 653 SYS_SIGPAUSE = 0x28E // 654 SYS_SIGRELSE = 0x28F // 655 SYS_SIGSET = 0x290 // 656 SYS_SIGSTACK = 0x291 // 657 SYS_GETRLIMIT = 0x292 // 658 SYS_SETRLIMIT = 0x293 // 659 SYS_GETRUSAGE = 0x294 // 660 SYS_MMAP = 0x295 // 661 SYS_MPROTECT = 0x296 // 662 SYS_MSYNC = 0x297 // 663 SYS_MUNMAP = 0x298 // 664 SYS_CONFSTR = 0x299 // 665 SYS_GETOPT = 0x29A // 666 SYS_LCHOWN = 0x29B // 667 SYS_TRUNCATE = 0x29C // 668 SYS_GETSUBOPT = 0x29D // 669 SYS_SETPGRP = 0x29E // 670 SYS___GDERR = 0x29F // 671 SYS___TZONE = 0x2A0 // 672 SYS___DLGHT = 0x2A1 // 673 SYS___OPARGF = 0x2A2 // 674 SYS___OPOPTF = 0x2A3 // 675 SYS___OPINDF = 0x2A4 // 676 SYS___OPERRF = 0x2A5 // 677 SYS_GETDATE = 0x2A6 // 678 SYS_WAIT3 = 0x2A7 // 679 SYS_WAITID = 0x2A8 // 680 SYS___CATTRM = 0x2A9 // 681 SYS___GDTRM = 0x2AA // 682 SYS___RNDTRM = 0x2AB // 683 SYS_CRYPT = 0x2AC // 684 SYS_ENCRYPT = 0x2AD // 685 SYS_SETKEY = 0x2AE // 686 SYS___CNVBLK = 0x2AF // 687 SYS___CRYTRM = 0x2B0 // 688 SYS___ECRTRM = 0x2B1 // 689 SYS_DRAND48 = 0x2B2 // 690 SYS_ERAND48 = 0x2B3 // 691 SYS_FSTATVFS = 0x2B4 // 692 SYS_STATVFS = 0x2B5 // 693 SYS_CATCLOSE = 0x2B6 // 694 SYS_CATGETS = 0x2B7 // 695 SYS_CATOPEN = 0x2B8 // 696 SYS_BCMP = 0x2B9 // 697 SYS_BCOPY = 0x2BA // 698 SYS_BZERO = 0x2BB // 699 SYS_FFS = 0x2BC // 700 SYS_INDEX = 0x2BD // 701 SYS_RINDEX = 0x2BE // 702 SYS_STRCASECMP = 0x2BF // 703 SYS_STRDUP = 0x2C0 // 704 SYS_STRNCASECMP = 0x2C1 // 705 SYS_INITSTATE = 0x2C2 // 706 SYS_SETSTATE = 0x2C3 // 707 SYS_RANDOM = 0x2C4 // 708 SYS_SRANDOM = 0x2C5 // 709 SYS_HCREATE = 0x2C6 // 710 SYS_HDESTROY = 0x2C7 // 711 SYS_HSEARCH = 0x2C8 // 712 SYS_LFIND = 0x2C9 // 713 SYS_LSEARCH = 0x2CA // 714 SYS_TDELETE = 0x2CB // 715 SYS_TFIND = 0x2CC // 716 SYS_TSEARCH = 0x2CD // 717 SYS_TWALK = 0x2CE // 718 SYS_INSQUE = 0x2CF // 719 SYS_REMQUE = 0x2D0 // 720 SYS_POPEN = 0x2D1 // 721 SYS_PCLOSE = 0x2D2 // 722 SYS_SWAB = 0x2D3 // 723 SYS_MEMCCPY = 0x2D4 // 724 SYS_GETPAGESIZE = 0x2D8 // 728 SYS_FCHDIR = 0x2D9 // 729 SYS___OCLCK = 0x2DA // 730 SYS___ATOE = 0x2DB // 731 SYS___ATOE_L = 0x2DC // 732 SYS___ETOA = 0x2DD // 733 SYS___ETOA_L = 0x2DE // 734 SYS_SETUTXENT = 0x2DF // 735 SYS_GETUTXENT = 0x2E0 // 736 SYS_ENDUTXENT = 0x2E1 // 737 SYS_GETUTXID = 0x2E2 // 738 SYS_GETUTXLINE = 0x2E3 // 739 SYS_PUTUTXLINE = 0x2E4 // 740 SYS_FMTMSG = 0x2E5 // 741 SYS_JRAND48 = 0x2E6 // 742 SYS_LRAND48 = 0x2E7 // 743 SYS_MRAND48 = 0x2E8 // 744 SYS_NRAND48 = 0x2E9 // 745 SYS_LCONG48 = 0x2EA // 746 SYS_SRAND48 = 0x2EB // 747 SYS_SEED48 = 0x2EC // 748 SYS_ISASCII = 0x2ED // 749 SYS_TOASCII = 0x2EE // 750 SYS_A64L = 0x2EF // 751 SYS_L64A = 0x2F0 // 752 SYS_UALARM = 0x2F1 // 753 SYS_USLEEP = 0x2F2 // 754 SYS___UTXTRM = 0x2F3 // 755 SYS___SRCTRM = 0x2F4 // 756 SYS_FTIME = 0x2F5 // 757 SYS_GETTIMEOFDAY = 0x2F6 // 758 SYS_DBM_CLEARERR = 0x2F7 // 759 SYS_DBM_CLOSE = 0x2F8 // 760 SYS_DBM_DELETE = 0x2F9 // 761 SYS_DBM_ERROR = 0x2FA // 762 SYS_DBM_FETCH = 0x2FB // 763 SYS_DBM_FIRSTKEY = 0x2FC // 764 SYS_DBM_NEXTKEY = 0x2FD // 765 SYS_DBM_OPEN = 0x2FE // 766 SYS_DBM_STORE = 0x2FF // 767 SYS___NDMTRM = 0x300 // 768 SYS_FTOK = 0x301 // 769 SYS_BASENAME = 0x302 // 770 SYS_DIRNAME = 0x303 // 771 SYS_GETDTABLESIZE = 0x304 // 772 SYS_MKSTEMP = 0x305 // 773 SYS_MKTEMP = 0x306 // 774 SYS_NFTW = 0x307 // 775 SYS_GETWD = 0x308 // 776 SYS_LOCKF = 0x309 // 777 SYS__LONGJMP = 0x30D // 781 SYS__SETJMP = 0x30E // 782 SYS_VFORK = 0x30F // 783 SYS_WORDEXP = 0x310 // 784 SYS_WORDFREE = 0x311 // 785 SYS_GETPGID = 0x312 // 786 SYS_GETSID = 0x313 // 787 SYS___UTMPXNAME = 0x314 // 788 SYS_CUSERID = 0x315 // 789 SYS_GETPASS = 0x316 // 790 SYS_FNMATCH = 0x317 // 791 SYS_FTW = 0x318 // 792 SYS_GETW = 0x319 // 793 SYS_GLOB = 0x31A // 794 SYS_GLOBFREE = 0x31B // 795 SYS_PUTW = 0x31C // 796 SYS_SEEKDIR = 0x31D // 797 SYS_TELLDIR = 0x31E // 798 SYS_TEMPNAM = 0x31F // 799 SYS_ACOSH = 0x320 // 800 SYS_ASINH = 0x321 // 801 SYS_ATANH = 0x322 // 802 SYS_CBRT = 0x323 // 803 SYS_EXPM1 = 0x324 // 804 SYS_ILOGB = 0x325 // 805 SYS_LOGB = 0x326 // 806 SYS_LOG1P = 0x327 // 807 SYS_NEXTAFTER = 0x328 // 808 SYS_RINT = 0x329 // 809 SYS_REMAINDER = 0x32A // 810 SYS_SCALB = 0x32B // 811 SYS_LGAMMA = 0x32C // 812 SYS_TTYSLOT = 0x32D // 813 SYS_GETTIMEOFDAY_R = 0x32E // 814 SYS_SYNC = 0x32F // 815 SYS_SPAWN = 0x330 // 816 SYS_SPAWNP = 0x331 // 817 SYS_GETLOGIN_UU = 0x332 // 818 SYS_ECVT = 0x333 // 819 SYS_FCVT = 0x334 // 820 SYS_GCVT = 0x335 // 821 SYS_ACCEPT = 0x336 // 822 SYS_BIND = 0x337 // 823 SYS_CONNECT = 0x338 // 824 SYS_ENDHOSTENT = 0x339 // 825 SYS_ENDPROTOENT = 0x33A // 826 SYS_ENDSERVENT = 0x33B // 827 SYS_GETHOSTBYADDR_R = 0x33C // 828 SYS_GETHOSTBYADDR = 0x33D // 829 SYS_GETHOSTBYNAME_R = 0x33E // 830 SYS_GETHOSTBYNAME = 0x33F // 831 SYS_GETHOSTENT = 0x340 // 832 SYS_GETHOSTID = 0x341 // 833 SYS_GETHOSTNAME = 0x342 // 834 SYS_GETNETBYADDR = 0x343 // 835 SYS_GETNETBYNAME = 0x344 // 836 SYS_GETNETENT = 0x345 // 837 SYS_GETPEERNAME = 0x346 // 838 SYS_GETPROTOBYNAME = 0x347 // 839 SYS_GETPROTOBYNUMBER = 0x348 // 840 SYS_GETPROTOENT = 0x349 // 841 SYS_GETSERVBYNAME = 0x34A // 842 SYS_GETSERVBYPORT = 0x34B // 843 SYS_GETSERVENT = 0x34C // 844 SYS_GETSOCKNAME = 0x34D // 845 SYS_GETSOCKOPT = 0x34E // 846 SYS_INET_ADDR = 0x34F // 847 SYS_INET_LNAOF = 0x350 // 848 SYS_INET_MAKEADDR = 0x351 // 849 SYS_INET_NETOF = 0x352 // 850 SYS_INET_NETWORK = 0x353 // 851 SYS_INET_NTOA = 0x354 // 852 SYS_IOCTL = 0x355 // 853 SYS_LISTEN = 0x356 // 854 SYS_READV = 0x357 // 855 SYS_RECV = 0x358 // 856 SYS_RECVFROM = 0x359 // 857 SYS_SELECT = 0x35B // 859 SYS_SELECTEX = 0x35C // 860 SYS_SEND = 0x35D // 861 SYS_SENDTO = 0x35F // 863 SYS_SETHOSTENT = 0x360 // 864 SYS_SETNETENT = 0x361 // 865 SYS_SETPEER = 0x362 // 866 SYS_SETPROTOENT = 0x363 // 867 SYS_SETSERVENT = 0x364 // 868 SYS_SETSOCKOPT = 0x365 // 869 SYS_SHUTDOWN = 0x366 // 870 SYS_SOCKET = 0x367 // 871 SYS_SOCKETPAIR = 0x368 // 872 SYS_WRITEV = 0x369 // 873 SYS_CHROOT = 0x36A // 874 SYS_W_STATVFS = 0x36B // 875 SYS_ULIMIT = 0x36C // 876 SYS_ISNAN = 0x36D // 877 SYS_UTIMES = 0x36E // 878 SYS___H_ERRNO = 0x36F // 879 SYS_ENDNETENT = 0x370 // 880 SYS_CLOSELOG = 0x371 // 881 SYS_OPENLOG = 0x372 // 882 SYS_SETLOGMASK = 0x373 // 883 SYS_SYSLOG = 0x374 // 884 SYS_PTSNAME = 0x375 // 885 SYS_SETREUID = 0x376 // 886 SYS_SETREGID = 0x377 // 887 SYS_REALPATH = 0x378 // 888 SYS___SIGNGAM = 0x379 // 889 SYS_GRANTPT = 0x37A // 890 SYS_UNLOCKPT = 0x37B // 891 SYS_TCGETSID = 0x37C // 892 SYS___TCGETCP = 0x37D // 893 SYS___TCSETCP = 0x37E // 894 SYS___TCSETTABLES = 0x37F // 895 SYS_POLL = 0x380 // 896 SYS_REXEC = 0x381 // 897 SYS___ISASCII2 = 0x382 // 898 SYS___TOASCII2 = 0x383 // 899 SYS_CHPRIORITY = 0x384 // 900 SYS_PTHREAD_ATTR_SETSYNCTYPE_NP = 0x385 // 901 SYS_PTHREAD_ATTR_GETSYNCTYPE_NP = 0x386 // 902 SYS_PTHREAD_SET_LIMIT_NP = 0x387 // 903 SYS___STNETENT = 0x388 // 904 SYS___STPROTOENT = 0x389 // 905 SYS___STSERVENT = 0x38A // 906 SYS___STHOSTENT = 0x38B // 907 SYS_NLIST = 0x38C // 908 SYS___IPDBCS = 0x38D // 909 SYS___IPDSPX = 0x38E // 910 SYS___IPMSGC = 0x38F // 911 SYS___SELECT1 = 0x390 // 912 SYS_PTHREAD_SECURITY_NP = 0x391 // 913 SYS___CHECK_RESOURCE_AUTH_NP = 0x392 // 914 SYS___CONVERT_ID_NP = 0x393 // 915 SYS___OPENVMREL = 0x394 // 916 SYS_WMEMCHR = 0x395 // 917 SYS_WMEMCMP = 0x396 // 918 SYS_WMEMCPY = 0x397 // 919 SYS_WMEMMOVE = 0x398 // 920 SYS_WMEMSET = 0x399 // 921 SYS___FPUTWC = 0x400 // 1024 SYS___PUTWC = 0x401 // 1025 SYS___PWCHAR = 0x402 // 1026 SYS___WCSFTM = 0x403 // 1027 SYS___WCSTOK = 0x404 // 1028 SYS___WCWDTH = 0x405 // 1029 SYS_T_ACCEPT = 0x409 // 1033 SYS_T_ALLOC = 0x40A // 1034 SYS_T_BIND = 0x40B // 1035 SYS_T_CLOSE = 0x40C // 1036 SYS_T_CONNECT = 0x40D // 1037 SYS_T_ERROR = 0x40E // 1038 SYS_T_FREE = 0x40F // 1039 SYS_T_GETINFO = 0x410 // 1040 SYS_T_GETPROTADDR = 0x411 // 1041 SYS_T_GETSTATE = 0x412 // 1042 SYS_T_LISTEN = 0x413 // 1043 SYS_T_LOOK = 0x414 // 1044 SYS_T_OPEN = 0x415 // 1045 SYS_T_OPTMGMT = 0x416 // 1046 SYS_T_RCV = 0x417 // 1047 SYS_T_RCVCONNECT = 0x418 // 1048 SYS_T_RCVDIS = 0x419 // 1049 SYS_T_RCVREL = 0x41A // 1050 SYS_T_RCVUDATA = 0x41B // 1051 SYS_T_RCVUDERR = 0x41C // 1052 SYS_T_SND = 0x41D // 1053 SYS_T_SNDDIS = 0x41E // 1054 SYS_T_SNDREL = 0x41F // 1055 SYS_T_SNDUDATA = 0x420 // 1056 SYS_T_STRERROR = 0x421 // 1057 SYS_T_SYNC = 0x422 // 1058 SYS_T_UNBIND = 0x423 // 1059 SYS___T_ERRNO = 0x424 // 1060 SYS___RECVMSG2 = 0x425 // 1061 SYS___SENDMSG2 = 0x426 // 1062 SYS_FATTACH = 0x427 // 1063 SYS_FDETACH = 0x428 // 1064 SYS_GETMSG = 0x429 // 1065 SYS_GETPMSG = 0x42A // 1066 SYS_ISASTREAM = 0x42B // 1067 SYS_PUTMSG = 0x42C // 1068 SYS_PUTPMSG = 0x42D // 1069 SYS___ISPOSIXON = 0x42E // 1070 SYS___OPENMVSREL = 0x42F // 1071 SYS_GETCONTEXT = 0x430 // 1072 SYS_SETCONTEXT = 0x431 // 1073 SYS_MAKECONTEXT = 0x432 // 1074 SYS_SWAPCONTEXT = 0x433 // 1075 SYS_PTHREAD_GETSPECIFIC_D8_NP = 0x434 // 1076 SYS_GETCLIENTID = 0x470 // 1136 SYS___GETCLIENTID = 0x471 // 1137 SYS_GETSTABLESIZE = 0x472 // 1138 SYS_GETIBMOPT = 0x473 // 1139 SYS_GETIBMSOCKOPT = 0x474 // 1140 SYS_GIVESOCKET = 0x475 // 1141 SYS_IBMSFLUSH = 0x476 // 1142 SYS_MAXDESC = 0x477 // 1143 SYS_SETIBMOPT = 0x478 // 1144 SYS_SETIBMSOCKOPT = 0x479 // 1145 SYS_SOCK_DEBUG = 0x47A // 1146 SYS_SOCK_DO_TESTSTOR = 0x47D // 1149 SYS_TAKESOCKET = 0x47E // 1150 SYS___SERVER_INIT = 0x47F // 1151 SYS___SERVER_PWU = 0x480 // 1152 SYS_PTHREAD_TAG_NP = 0x481 // 1153 SYS___CONSOLE = 0x482 // 1154 SYS___WSINIT = 0x483 // 1155 SYS___IPTCPN = 0x489 // 1161 SYS___SMF_RECORD = 0x48A // 1162 SYS___IPHOST = 0x48B // 1163 SYS___IPNODE = 0x48C // 1164 SYS___SERVER_CLASSIFY_CREATE = 0x48D // 1165 SYS___SERVER_CLASSIFY_DESTROY = 0x48E // 1166 SYS___SERVER_CLASSIFY_RESET = 0x48F // 1167 SYS___SERVER_CLASSIFY = 0x490 // 1168 SYS___HEAPRPT = 0x496 // 1174 SYS___FNWSA = 0x49B // 1179 SYS___SPAWN2 = 0x49D // 1181 SYS___SPAWNP2 = 0x49E // 1182 SYS___GDRR = 0x4A1 // 1185 SYS___HRRNO = 0x4A2 // 1186 SYS___OPRG = 0x4A3 // 1187 SYS___OPRR = 0x4A4 // 1188 SYS___OPND = 0x4A5 // 1189 SYS___OPPT = 0x4A6 // 1190 SYS___SIGGM = 0x4A7 // 1191 SYS___DGHT = 0x4A8 // 1192 SYS___TZNE = 0x4A9 // 1193 SYS___TZZN = 0x4AA // 1194 SYS___TRRNO = 0x4AF // 1199 SYS___ENVN = 0x4B0 // 1200 SYS___MLOCKALL = 0x4B1 // 1201 SYS_CREATEWO = 0x4B2 // 1202 SYS_CREATEWORKUNIT = 0x4B2 // 1202 SYS_CONTINUE = 0x4B3 // 1203 SYS_CONTINUEWORKUNIT = 0x4B3 // 1203 SYS_CONNECTW = 0x4B4 // 1204 SYS_CONNECTWORKMGR = 0x4B4 // 1204 SYS_CONNECTS = 0x4B5 // 1205 SYS_CONNECTSERVER = 0x4B5 // 1205 SYS_DISCONNE = 0x4B6 // 1206 SYS_DISCONNECTSERVER = 0x4B6 // 1206 SYS_JOINWORK = 0x4B7 // 1207 SYS_JOINWORKUNIT = 0x4B7 // 1207 SYS_LEAVEWOR = 0x4B8 // 1208 SYS_LEAVEWORKUNIT = 0x4B8 // 1208 SYS_DELETEWO = 0x4B9 // 1209 SYS_DELETEWORKUNIT = 0x4B9 // 1209 SYS_QUERYMET = 0x4BA // 1210 SYS_QUERYMETRICS = 0x4BA // 1210 SYS_QUERYSCH = 0x4BB // 1211 SYS_QUERYSCHENV = 0x4BB // 1211 SYS_CHECKSCH = 0x4BC // 1212 SYS_CHECKSCHENV = 0x4BC // 1212 SYS___PID_AFFINITY = 0x4BD // 1213 SYS___ASINH_B = 0x4BE // 1214 SYS___ATAN_B = 0x4BF // 1215 SYS___CBRT_B = 0x4C0 // 1216 SYS___CEIL_B = 0x4C1 // 1217 SYS_COPYSIGN = 0x4C2 // 1218 SYS___COS_B = 0x4C3 // 1219 SYS___ERF_B = 0x4C4 // 1220 SYS___ERFC_B = 0x4C5 // 1221 SYS___EXPM1_B = 0x4C6 // 1222 SYS___FABS_B = 0x4C7 // 1223 SYS_FINITE = 0x4C8 // 1224 SYS___FLOOR_B = 0x4C9 // 1225 SYS___FREXP_B = 0x4CA // 1226 SYS___ILOGB_B = 0x4CB // 1227 SYS___ISNAN_B = 0x4CC // 1228 SYS___LDEXP_B = 0x4CD // 1229 SYS___LOG1P_B = 0x4CE // 1230 SYS___LOGB_B = 0x4CF // 1231 SYS_MATHERR = 0x4D0 // 1232 SYS___MODF_B = 0x4D1 // 1233 SYS___NEXTAFTER_B = 0x4D2 // 1234 SYS___RINT_B = 0x4D3 // 1235 SYS_SCALBN = 0x4D4 // 1236 SYS_SIGNIFIC = 0x4D5 // 1237 SYS_SIGNIFICAND = 0x4D5 // 1237 SYS___SIN_B = 0x4D6 // 1238 SYS___TAN_B = 0x4D7 // 1239 SYS___TANH_B = 0x4D8 // 1240 SYS___ACOS_B = 0x4D9 // 1241 SYS___ACOSH_B = 0x4DA // 1242 SYS___ASIN_B = 0x4DB // 1243 SYS___ATAN2_B = 0x4DC // 1244 SYS___ATANH_B = 0x4DD // 1245 SYS___COSH_B = 0x4DE // 1246 SYS___EXP_B = 0x4DF // 1247 SYS___FMOD_B = 0x4E0 // 1248 SYS___GAMMA_B = 0x4E1 // 1249 SYS_GAMMA_R = 0x4E2 // 1250 SYS___HYPOT_B = 0x4E3 // 1251 SYS___J0_B = 0x4E4 // 1252 SYS___Y0_B = 0x4E5 // 1253 SYS___J1_B = 0x4E6 // 1254 SYS___Y1_B = 0x4E7 // 1255 SYS___JN_B = 0x4E8 // 1256 SYS___YN_B = 0x4E9 // 1257 SYS___LGAMMA_B = 0x4EA // 1258 SYS_LGAMMA_R = 0x4EB // 1259 SYS___LOG_B = 0x4EC // 1260 SYS___LOG10_B = 0x4ED // 1261 SYS___POW_B = 0x4EE // 1262 SYS___REMAINDER_B = 0x4EF // 1263 SYS___SCALB_B = 0x4F0 // 1264 SYS___SINH_B = 0x4F1 // 1265 SYS___SQRT_B = 0x4F2 // 1266 SYS___OPENDIR2 = 0x4F3 // 1267 SYS___READDIR2 = 0x4F4 // 1268 SYS___LOGIN = 0x4F5 // 1269 SYS___OPEN_STAT = 0x4F6 // 1270 SYS_ACCEPT_AND_RECV = 0x4F7 // 1271 SYS___FP_SETMODE = 0x4F8 // 1272 SYS___SIGACTIONSET = 0x4FB // 1275 SYS___UCREATE = 0x4FC // 1276 SYS___UMALLOC = 0x4FD // 1277 SYS___UFREE = 0x4FE // 1278 SYS___UHEAPREPORT = 0x4FF // 1279 SYS___ISBFP = 0x500 // 1280 SYS___FP_CAST = 0x501 // 1281 SYS___CERTIFICATE = 0x502 // 1282 SYS_SEND_FILE = 0x503 // 1283 SYS_AIO_CANCEL = 0x504 // 1284 SYS_AIO_ERROR = 0x505 // 1285 SYS_AIO_READ = 0x506 // 1286 SYS_AIO_RETURN = 0x507 // 1287 SYS_AIO_SUSPEND = 0x508 // 1288 SYS_AIO_WRITE = 0x509 // 1289 SYS_PTHREAD_MUTEXATTR_GETPSHARED = 0x50A // 1290 SYS_PTHREAD_MUTEXATTR_SETPSHARED = 0x50B // 1291 SYS_PTHREAD_RWLOCK_DESTROY = 0x50C // 1292 SYS_PTHREAD_RWLOCK_INIT = 0x50D // 1293 SYS_PTHREAD_RWLOCK_RDLOCK = 0x50E // 1294 SYS_PTHREAD_RWLOCK_TRYRDLOCK = 0x50F // 1295 SYS_PTHREAD_RWLOCK_TRYWRLOCK = 0x510 // 1296 SYS_PTHREAD_RWLOCK_UNLOCK = 0x511 // 1297 SYS_PTHREAD_RWLOCK_WRLOCK = 0x512 // 1298 SYS_PTHREAD_RWLOCKATTR_GETPSHARED = 0x513 // 1299 SYS_PTHREAD_RWLOCKATTR_SETPSHARED = 0x514 // 1300 SYS_PTHREAD_RWLOCKATTR_INIT = 0x515 // 1301 SYS_PTHREAD_RWLOCKATTR_DESTROY = 0x516 // 1302 SYS___CTTBL = 0x517 // 1303 SYS_PTHREAD_MUTEXATTR_SETTYPE = 0x518 // 1304 SYS_PTHREAD_MUTEXATTR_GETTYPE = 0x519 // 1305 SYS___FP_CLR_FLAG = 0x51A // 1306 SYS___FP_READ_FLAG = 0x51B // 1307 SYS___FP_RAISE_XCP = 0x51C // 1308 SYS___FP_CLASS = 0x51D // 1309 SYS___FP_FINITE = 0x51E // 1310 SYS___FP_ISNAN = 0x51F // 1311 SYS___FP_UNORDERED = 0x520 // 1312 SYS___FP_READ_RND = 0x521 // 1313 SYS___FP_READ_RND_B = 0x522 // 1314 SYS___FP_SWAP_RND = 0x523 // 1315 SYS___FP_SWAP_RND_B = 0x524 // 1316 SYS___FP_LEVEL = 0x525 // 1317 SYS___FP_BTOH = 0x526 // 1318 SYS___FP_HTOB = 0x527 // 1319 SYS___FPC_RD = 0x528 // 1320 SYS___FPC_WR = 0x529 // 1321 SYS___FPC_RW = 0x52A // 1322 SYS___FPC_SM = 0x52B // 1323 SYS___FPC_RS = 0x52C // 1324 SYS_SIGTIMEDWAIT = 0x52D // 1325 SYS_SIGWAITINFO = 0x52E // 1326 SYS___CHKBFP = 0x52F // 1327 SYS___W_PIOCTL = 0x59E // 1438 SYS___OSENV = 0x59F // 1439 SYS_EXPORTWO = 0x5A1 // 1441 SYS_EXPORTWORKUNIT = 0x5A1 // 1441 SYS_UNDOEXPO = 0x5A2 // 1442 SYS_UNDOEXPORTWORKUNIT = 0x5A2 // 1442 SYS_IMPORTWO = 0x5A3 // 1443 SYS_IMPORTWORKUNIT = 0x5A3 // 1443 SYS_UNDOIMPO = 0x5A4 // 1444 SYS_UNDOIMPORTWORKUNIT = 0x5A4 // 1444 SYS_EXTRACTW = 0x5A5 // 1445 SYS_EXTRACTWORKUNIT = 0x5A5 // 1445 SYS___CPL = 0x5A6 // 1446 SYS___MAP_INIT = 0x5A7 // 1447 SYS___MAP_SERVICE = 0x5A8 // 1448 SYS_SIGQUEUE = 0x5A9 // 1449 SYS___MOUNT = 0x5AA // 1450 SYS___GETUSERID = 0x5AB // 1451 SYS___IPDOMAINNAME = 0x5AC // 1452 SYS_QUERYENC = 0x5AD // 1453 SYS_QUERYWORKUNITCLASSIFICATION = 0x5AD // 1453 SYS_CONNECTE = 0x5AE // 1454 SYS_CONNECTEXPORTIMPORT = 0x5AE // 1454 SYS___FP_SWAPMODE = 0x5AF // 1455 SYS_STRTOLL = 0x5B0 // 1456 SYS_STRTOULL = 0x5B1 // 1457 SYS___DSA_PREV = 0x5B2 // 1458 SYS___EP_FIND = 0x5B3 // 1459 SYS___SERVER_THREADS_QUERY = 0x5B4 // 1460 SYS___MSGRCV_TIMED = 0x5B7 // 1463 SYS___SEMOP_TIMED = 0x5B8 // 1464 SYS___GET_CPUID = 0x5B9 // 1465 SYS___GET_SYSTEM_SETTINGS = 0x5BA // 1466 SYS_FTELLO = 0x5C8 // 1480 SYS_FSEEKO = 0x5C9 // 1481 SYS_LLDIV = 0x5CB // 1483 SYS_WCSTOLL = 0x5CC // 1484 SYS_WCSTOULL = 0x5CD // 1485 SYS_LLABS = 0x5CE // 1486 SYS___CONSOLE2 = 0x5D2 // 1490 SYS_INET_NTOP = 0x5D3 // 1491 SYS_INET_PTON = 0x5D4 // 1492 SYS___RES = 0x5D6 // 1494 SYS_RES_MKQUERY = 0x5D7 // 1495 SYS_RES_INIT = 0x5D8 // 1496 SYS_RES_QUERY = 0x5D9 // 1497 SYS_RES_SEARCH = 0x5DA // 1498 SYS_RES_SEND = 0x5DB // 1499 SYS_RES_QUERYDOMAIN = 0x5DC // 1500 SYS_DN_EXPAND = 0x5DD // 1501 SYS_DN_SKIPNAME = 0x5DE // 1502 SYS_DN_COMP = 0x5DF // 1503 SYS_ASCTIME_R = 0x5E0 // 1504 SYS_CTIME_R = 0x5E1 // 1505 SYS_GMTIME_R = 0x5E2 // 1506 SYS_LOCALTIME_R = 0x5E3 // 1507 SYS_RAND_R = 0x5E4 // 1508 SYS_STRTOK_R = 0x5E5 // 1509 SYS_READDIR_R = 0x5E6 // 1510 SYS_GETGRGID_R = 0x5E7 // 1511 SYS_GETGRNAM_R = 0x5E8 // 1512 SYS_GETLOGIN_R = 0x5E9 // 1513 SYS_GETPWNAM_R = 0x5EA // 1514 SYS_GETPWUID_R = 0x5EB // 1515 SYS_TTYNAME_R = 0x5EC // 1516 SYS_PTHREAD_ATFORK = 0x5ED // 1517 SYS_PTHREAD_ATTR_GETGUARDSIZE = 0x5EE // 1518 SYS_PTHREAD_ATTR_GETSTACKADDR = 0x5EF // 1519 SYS_PTHREAD_ATTR_SETGUARDSIZE = 0x5F0 // 1520 SYS_PTHREAD_ATTR_SETSTACKADDR = 0x5F1 // 1521 SYS_PTHREAD_CONDATTR_GETPSHARED = 0x5F2 // 1522 SYS_PTHREAD_CONDATTR_SETPSHARED = 0x5F3 // 1523 SYS_PTHREAD_GETCONCURRENCY = 0x5F4 // 1524 SYS_PTHREAD_KEY_DELETE = 0x5F5 // 1525 SYS_PTHREAD_SETCONCURRENCY = 0x5F6 // 1526 SYS_PTHREAD_SIGMASK = 0x5F7 // 1527 SYS___DISCARDDATA = 0x5F8 // 1528 SYS_PTHREAD_ATTR_GETSCHEDPARAM = 0x5F9 // 1529 SYS_PTHREAD_ATTR_SETSCHEDPARAM = 0x5FA // 1530 SYS_PTHREAD_ATTR_GETDETACHSTATE_U98 = 0x5FB // 1531 SYS_PTHREAD_ATTR_SETDETACHSTATE_U98 = 0x5FC // 1532 SYS_PTHREAD_DETACH_U98 = 0x5FD // 1533 SYS_PTHREAD_GETSPECIFIC_U98 = 0x5FE // 1534 SYS_PTHREAD_SETCANCELSTATE = 0x5FF // 1535 SYS_PTHREAD_SETCANCELTYPE = 0x600 // 1536 SYS_PTHREAD_TESTCANCEL = 0x601 // 1537 SYS___ATANF_B = 0x602 // 1538 SYS___ATANL_B = 0x603 // 1539 SYS___CEILF_B = 0x604 // 1540 SYS___CEILL_B = 0x605 // 1541 SYS___COSF_B = 0x606 // 1542 SYS___COSL_B = 0x607 // 1543 SYS___FABSF_B = 0x608 // 1544 SYS___FABSL_B = 0x609 // 1545 SYS___FLOORF_B = 0x60A // 1546 SYS___FLOORL_B = 0x60B // 1547 SYS___FREXPF_B = 0x60C // 1548 SYS___FREXPL_B = 0x60D // 1549 SYS___LDEXPF_B = 0x60E // 1550 SYS___LDEXPL_B = 0x60F // 1551 SYS___SINF_B = 0x610 // 1552 SYS___SINL_B = 0x611 // 1553 SYS___TANF_B = 0x612 // 1554 SYS___TANL_B = 0x613 // 1555 SYS___TANHF_B = 0x614 // 1556 SYS___TANHL_B = 0x615 // 1557 SYS___ACOSF_B = 0x616 // 1558 SYS___ACOSL_B = 0x617 // 1559 SYS___ASINF_B = 0x618 // 1560 SYS___ASINL_B = 0x619 // 1561 SYS___ATAN2F_B = 0x61A // 1562 SYS___ATAN2L_B = 0x61B // 1563 SYS___COSHF_B = 0x61C // 1564 SYS___COSHL_B = 0x61D // 1565 SYS___EXPF_B = 0x61E // 1566 SYS___EXPL_B = 0x61F // 1567 SYS___LOGF_B = 0x620 // 1568 SYS___LOGL_B = 0x621 // 1569 SYS___LOG10F_B = 0x622 // 1570 SYS___LOG10L_B = 0x623 // 1571 SYS___POWF_B = 0x624 // 1572 SYS___POWL_B = 0x625 // 1573 SYS___SINHF_B = 0x626 // 1574 SYS___SINHL_B = 0x627 // 1575 SYS___SQRTF_B = 0x628 // 1576 SYS___SQRTL_B = 0x629 // 1577 SYS___ABSF_B = 0x62A // 1578 SYS___ABS_B = 0x62B // 1579 SYS___ABSL_B = 0x62C // 1580 SYS___FMODF_B = 0x62D // 1581 SYS___FMODL_B = 0x62E // 1582 SYS___MODFF_B = 0x62F // 1583 SYS___MODFL_B = 0x630 // 1584 SYS_ABSF = 0x631 // 1585 SYS_ABSL = 0x632 // 1586 SYS_ACOSF = 0x633 // 1587 SYS_ACOSL = 0x634 // 1588 SYS_ASINF = 0x635 // 1589 SYS_ASINL = 0x636 // 1590 SYS_ATAN2F = 0x637 // 1591 SYS_ATAN2L = 0x638 // 1592 SYS_ATANF = 0x639 // 1593 SYS_ATANL = 0x63A // 1594 SYS_CEILF = 0x63B // 1595 SYS_CEILL = 0x63C // 1596 SYS_COSF = 0x63D // 1597 SYS_COSL = 0x63E // 1598 SYS_COSHF = 0x63F // 1599 SYS_COSHL = 0x640 // 1600 SYS_EXPF = 0x641 // 1601 SYS_EXPL = 0x642 // 1602 SYS_TANHF = 0x643 // 1603 SYS_TANHL = 0x644 // 1604 SYS_LOG10F = 0x645 // 1605 SYS_LOG10L = 0x646 // 1606 SYS_LOGF = 0x647 // 1607 SYS_LOGL = 0x648 // 1608 SYS_POWF = 0x649 // 1609 SYS_POWL = 0x64A // 1610 SYS_SINF = 0x64B // 1611 SYS_SINL = 0x64C // 1612 SYS_SQRTF = 0x64D // 1613 SYS_SQRTL = 0x64E // 1614 SYS_SINHF = 0x64F // 1615 SYS_SINHL = 0x650 // 1616 SYS_TANF = 0x651 // 1617 SYS_TANL = 0x652 // 1618 SYS_FABSF = 0x653 // 1619 SYS_FABSL = 0x654 // 1620 SYS_FLOORF = 0x655 // 1621 SYS_FLOORL = 0x656 // 1622 SYS_FMODF = 0x657 // 1623 SYS_FMODL = 0x658 // 1624 SYS_FREXPF = 0x659 // 1625 SYS_FREXPL = 0x65A // 1626 SYS_LDEXPF = 0x65B // 1627 SYS_LDEXPL = 0x65C // 1628 SYS_MODFF = 0x65D // 1629 SYS_MODFL = 0x65E // 1630 SYS_BTOWC = 0x65F // 1631 SYS___CHATTR = 0x660 // 1632 SYS___FCHATTR = 0x661 // 1633 SYS___TOCCSID = 0x662 // 1634 SYS___CSNAMETYPE = 0x663 // 1635 SYS___TOCSNAME = 0x664 // 1636 SYS___CCSIDTYPE = 0x665 // 1637 SYS___AE_CORRESTBL_QUERY = 0x666 // 1638 SYS___AE_AUTOCONVERT_STATE = 0x667 // 1639 SYS_DN_FIND = 0x668 // 1640 SYS___GETHOSTBYADDR_A = 0x669 // 1641 SYS___GETHOSTBYNAME_A = 0x66A // 1642 SYS___RES_INIT_A = 0x66B // 1643 SYS___GETHOSTBYADDR_R_A = 0x66C // 1644 SYS___GETHOSTBYNAME_R_A = 0x66D // 1645 SYS___CHARMAP_INIT_A = 0x66E // 1646 SYS___MBLEN_A = 0x66F // 1647 SYS___MBLEN_SB_A = 0x670 // 1648 SYS___MBLEN_STD_A = 0x671 // 1649 SYS___MBLEN_UTF = 0x672 // 1650 SYS___MBSTOWCS_A = 0x673 // 1651 SYS___MBSTOWCS_STD_A = 0x674 // 1652 SYS___MBTOWC_A = 0x675 // 1653 SYS___MBTOWC_ISO1 = 0x676 // 1654 SYS___MBTOWC_SBCS = 0x677 // 1655 SYS___MBTOWC_MBCS = 0x678 // 1656 SYS___MBTOWC_UTF = 0x679 // 1657 SYS___WCSTOMBS_A = 0x67A // 1658 SYS___WCSTOMBS_STD_A = 0x67B // 1659 SYS___WCSWIDTH_A = 0x67C // 1660 SYS___GETGRGID_R_A = 0x67D // 1661 SYS___WCSWIDTH_STD_A = 0x67E // 1662 SYS___WCSWIDTH_ASIA = 0x67F // 1663 SYS___CSID_A = 0x680 // 1664 SYS___CSID_STD_A = 0x681 // 1665 SYS___WCSID_A = 0x682 // 1666 SYS___WCSID_STD_A = 0x683 // 1667 SYS___WCTOMB_A = 0x684 // 1668 SYS___WCTOMB_ISO1 = 0x685 // 1669 SYS___WCTOMB_STD_A = 0x686 // 1670 SYS___WCTOMB_UTF = 0x687 // 1671 SYS___WCWIDTH_A = 0x688 // 1672 SYS___GETGRNAM_R_A = 0x689 // 1673 SYS___WCWIDTH_STD_A = 0x68A // 1674 SYS___WCWIDTH_ASIA = 0x68B // 1675 SYS___GETPWNAM_R_A = 0x68C // 1676 SYS___GETPWUID_R_A = 0x68D // 1677 SYS___GETLOGIN_R_A = 0x68E // 1678 SYS___TTYNAME_R_A = 0x68F // 1679 SYS___READDIR_R_A = 0x690 // 1680 SYS___E2A_S = 0x691 // 1681 SYS___FNMATCH_A = 0x692 // 1682 SYS___FNMATCH_C_A = 0x693 // 1683 SYS___EXECL_A = 0x694 // 1684 SYS___FNMATCH_STD_A = 0x695 // 1685 SYS___REGCOMP_A = 0x696 // 1686 SYS___REGCOMP_STD_A = 0x697 // 1687 SYS___REGERROR_A = 0x698 // 1688 SYS___REGERROR_STD_A = 0x699 // 1689 SYS___REGEXEC_A = 0x69A // 1690 SYS___REGEXEC_STD_A = 0x69B // 1691 SYS___REGFREE_A = 0x69C // 1692 SYS___REGFREE_STD_A = 0x69D // 1693 SYS___STRCOLL_A = 0x69E // 1694 SYS___STRCOLL_C_A = 0x69F // 1695 SYS___EXECLE_A = 0x6A0 // 1696 SYS___STRCOLL_STD_A = 0x6A1 // 1697 SYS___STRXFRM_A = 0x6A2 // 1698 SYS___STRXFRM_C_A = 0x6A3 // 1699 SYS___EXECLP_A = 0x6A4 // 1700 SYS___STRXFRM_STD_A = 0x6A5 // 1701 SYS___WCSCOLL_A = 0x6A6 // 1702 SYS___WCSCOLL_C_A = 0x6A7 // 1703 SYS___WCSCOLL_STD_A = 0x6A8 // 1704 SYS___WCSXFRM_A = 0x6A9 // 1705 SYS___WCSXFRM_C_A = 0x6AA // 1706 SYS___WCSXFRM_STD_A = 0x6AB // 1707 SYS___COLLATE_INIT_A = 0x6AC // 1708 SYS___WCTYPE_A = 0x6AD // 1709 SYS___GET_WCTYPE_STD_A = 0x6AE // 1710 SYS___CTYPE_INIT_A = 0x6AF // 1711 SYS___ISWCTYPE_A = 0x6B0 // 1712 SYS___EXECV_A = 0x6B1 // 1713 SYS___IS_WCTYPE_STD_A = 0x6B2 // 1714 SYS___TOWLOWER_A = 0x6B3 // 1715 SYS___TOWLOWER_STD_A = 0x6B4 // 1716 SYS___TOWUPPER_A = 0x6B5 // 1717 SYS___TOWUPPER_STD_A = 0x6B6 // 1718 SYS___LOCALE_INIT_A = 0x6B7 // 1719 SYS___LOCALECONV_A = 0x6B8 // 1720 SYS___LOCALECONV_STD_A = 0x6B9 // 1721 SYS___NL_LANGINFO_A = 0x6BA // 1722 SYS___NL_LNAGINFO_STD_A = 0x6BB // 1723 SYS___MONETARY_INIT_A = 0x6BC // 1724 SYS___STRFMON_A = 0x6BD // 1725 SYS___STRFMON_STD_A = 0x6BE // 1726 SYS___GETADDRINFO_A = 0x6BF // 1727 SYS___CATGETS_A = 0x6C0 // 1728 SYS___EXECVE_A = 0x6C1 // 1729 SYS___EXECVP_A = 0x6C2 // 1730 SYS___SPAWN_A = 0x6C3 // 1731 SYS___GETNAMEINFO_A = 0x6C4 // 1732 SYS___SPAWNP_A = 0x6C5 // 1733 SYS___NUMERIC_INIT_A = 0x6C6 // 1734 SYS___RESP_INIT_A = 0x6C7 // 1735 SYS___RPMATCH_A = 0x6C8 // 1736 SYS___RPMATCH_C_A = 0x6C9 // 1737 SYS___RPMATCH_STD_A = 0x6CA // 1738 SYS___TIME_INIT_A = 0x6CB // 1739 SYS___STRFTIME_A = 0x6CC // 1740 SYS___STRFTIME_STD_A = 0x6CD // 1741 SYS___STRPTIME_A = 0x6CE // 1742 SYS___STRPTIME_STD_A = 0x6CF // 1743 SYS___WCSFTIME_A = 0x6D0 // 1744 SYS___WCSFTIME_STD_A = 0x6D1 // 1745 SYS_____SPAWN2_A = 0x6D2 // 1746 SYS_____SPAWNP2_A = 0x6D3 // 1747 SYS___SYNTAX_INIT_A = 0x6D4 // 1748 SYS___TOD_INIT_A = 0x6D5 // 1749 SYS___NL_CSINFO_A = 0x6D6 // 1750 SYS___NL_MONINFO_A = 0x6D7 // 1751 SYS___NL_NUMINFO_A = 0x6D8 // 1752 SYS___NL_RESPINFO_A = 0x6D9 // 1753 SYS___NL_TIMINFO_A = 0x6DA // 1754 SYS___IF_NAMETOINDEX_A = 0x6DB // 1755 SYS___IF_INDEXTONAME_A = 0x6DC // 1756 SYS___PRINTF_A = 0x6DD // 1757 SYS___ICONV_OPEN_A = 0x6DE // 1758 SYS___DLLLOAD_A = 0x6DF // 1759 SYS___DLLQUERYFN_A = 0x6E0 // 1760 SYS___DLLQUERYVAR_A = 0x6E1 // 1761 SYS_____CHATTR_A = 0x6E2 // 1762 SYS___E2A_L = 0x6E3 // 1763 SYS_____TOCCSID_A = 0x6E4 // 1764 SYS_____TOCSNAME_A = 0x6E5 // 1765 SYS_____CCSIDTYPE_A = 0x6E6 // 1766 SYS_____CSNAMETYPE_A = 0x6E7 // 1767 SYS___CHMOD_A = 0x6E8 // 1768 SYS___MKDIR_A = 0x6E9 // 1769 SYS___STAT_A = 0x6EA // 1770 SYS___STAT_O_A = 0x6EB // 1771 SYS___MKFIFO_A = 0x6EC // 1772 SYS_____OPEN_STAT_A = 0x6ED // 1773 SYS___LSTAT_A = 0x6EE // 1774 SYS___LSTAT_O_A = 0x6EF // 1775 SYS___MKNOD_A = 0x6F0 // 1776 SYS___MOUNT_A = 0x6F1 // 1777 SYS___UMOUNT_A = 0x6F2 // 1778 SYS___CHAUDIT_A = 0x6F4 // 1780 SYS___W_GETMNTENT_A = 0x6F5 // 1781 SYS___CREAT_A = 0x6F6 // 1782 SYS___OPEN_A = 0x6F7 // 1783 SYS___SETLOCALE_A = 0x6F9 // 1785 SYS___FPRINTF_A = 0x6FA // 1786 SYS___SPRINTF_A = 0x6FB // 1787 SYS___VFPRINTF_A = 0x6FC // 1788 SYS___VPRINTF_A = 0x6FD // 1789 SYS___VSPRINTF_A = 0x6FE // 1790 SYS___VSWPRINTF_A = 0x6FF // 1791 SYS___SWPRINTF_A = 0x700 // 1792 SYS___FSCANF_A = 0x701 // 1793 SYS___SCANF_A = 0x702 // 1794 SYS___SSCANF_A = 0x703 // 1795 SYS___SWSCANF_A = 0x704 // 1796 SYS___ATOF_A = 0x705 // 1797 SYS___ATOI_A = 0x706 // 1798 SYS___ATOL_A = 0x707 // 1799 SYS___STRTOD_A = 0x708 // 1800 SYS___STRTOL_A = 0x709 // 1801 SYS___STRTOUL_A = 0x70A // 1802 SYS_____AE_CORRESTBL_QUERY_A = 0x70B // 1803 SYS___A64L_A = 0x70C // 1804 SYS___ECVT_A = 0x70D // 1805 SYS___FCVT_A = 0x70E // 1806 SYS___GCVT_A = 0x70F // 1807 SYS___L64A_A = 0x710 // 1808 SYS___STRERROR_A = 0x711 // 1809 SYS___PERROR_A = 0x712 // 1810 SYS___FETCH_A = 0x713 // 1811 SYS___GETENV_A = 0x714 // 1812 SYS___MKSTEMP_A = 0x717 // 1815 SYS___PTSNAME_A = 0x718 // 1816 SYS___PUTENV_A = 0x719 // 1817 SYS___REALPATH_A = 0x71A // 1818 SYS___SETENV_A = 0x71B // 1819 SYS___SYSTEM_A = 0x71C // 1820 SYS___GETOPT_A = 0x71D // 1821 SYS___CATOPEN_A = 0x71E // 1822 SYS___ACCESS_A = 0x71F // 1823 SYS___CHDIR_A = 0x720 // 1824 SYS___CHOWN_A = 0x721 // 1825 SYS___CHROOT_A = 0x722 // 1826 SYS___GETCWD_A = 0x723 // 1827 SYS___GETWD_A = 0x724 // 1828 SYS___LCHOWN_A = 0x725 // 1829 SYS___LINK_A = 0x726 // 1830 SYS___PATHCONF_A = 0x727 // 1831 SYS___IF_NAMEINDEX_A = 0x728 // 1832 SYS___READLINK_A = 0x729 // 1833 SYS___RMDIR_A = 0x72A // 1834 SYS___STATVFS_A = 0x72B // 1835 SYS___SYMLINK_A = 0x72C // 1836 SYS___TRUNCATE_A = 0x72D // 1837 SYS___UNLINK_A = 0x72E // 1838 SYS___GAI_STRERROR_A = 0x72F // 1839 SYS___EXTLINK_NP_A = 0x730 // 1840 SYS___ISALNUM_A = 0x731 // 1841 SYS___ISALPHA_A = 0x732 // 1842 SYS___A2E_S = 0x733 // 1843 SYS___ISCNTRL_A = 0x734 // 1844 SYS___ISDIGIT_A = 0x735 // 1845 SYS___ISGRAPH_A = 0x736 // 1846 SYS___ISLOWER_A = 0x737 // 1847 SYS___ISPRINT_A = 0x738 // 1848 SYS___ISPUNCT_A = 0x739 // 1849 SYS___ISSPACE_A = 0x73A // 1850 SYS___ISUPPER_A = 0x73B // 1851 SYS___ISXDIGIT_A = 0x73C // 1852 SYS___TOLOWER_A = 0x73D // 1853 SYS___TOUPPER_A = 0x73E // 1854 SYS___ISWALNUM_A = 0x73F // 1855 SYS___ISWALPHA_A = 0x740 // 1856 SYS___A2E_L = 0x741 // 1857 SYS___ISWCNTRL_A = 0x742 // 1858 SYS___ISWDIGIT_A = 0x743 // 1859 SYS___ISWGRAPH_A = 0x744 // 1860 SYS___ISWLOWER_A = 0x745 // 1861 SYS___ISWPRINT_A = 0x746 // 1862 SYS___ISWPUNCT_A = 0x747 // 1863 SYS___ISWSPACE_A = 0x748 // 1864 SYS___ISWUPPER_A = 0x749 // 1865 SYS___ISWXDIGIT_A = 0x74A // 1866 SYS___CONFSTR_A = 0x74B // 1867 SYS___FTOK_A = 0x74C // 1868 SYS___MKTEMP_A = 0x74D // 1869 SYS___FDOPEN_A = 0x74E // 1870 SYS___FLDATA_A = 0x74F // 1871 SYS___REMOVE_A = 0x750 // 1872 SYS___RENAME_A = 0x751 // 1873 SYS___TMPNAM_A = 0x752 // 1874 SYS___FOPEN_A = 0x753 // 1875 SYS___FREOPEN_A = 0x754 // 1876 SYS___CUSERID_A = 0x755 // 1877 SYS___POPEN_A = 0x756 // 1878 SYS___TEMPNAM_A = 0x757 // 1879 SYS___FTW_A = 0x758 // 1880 SYS___GETGRENT_A = 0x759 // 1881 SYS___GETGRGID_A = 0x75A // 1882 SYS___GETGRNAM_A = 0x75B // 1883 SYS___GETGROUPSBYNAME_A = 0x75C // 1884 SYS___GETHOSTENT_A = 0x75D // 1885 SYS___GETHOSTNAME_A = 0x75E // 1886 SYS___GETLOGIN_A = 0x75F // 1887 SYS___INET_NTOP_A = 0x760 // 1888 SYS___GETPASS_A = 0x761 // 1889 SYS___GETPWENT_A = 0x762 // 1890 SYS___GETPWNAM_A = 0x763 // 1891 SYS___GETPWUID_A = 0x764 // 1892 SYS_____CHECK_RESOURCE_AUTH_NP_A = 0x765 // 1893 SYS___CHECKSCHENV_A = 0x766 // 1894 SYS___CONNECTSERVER_A = 0x767 // 1895 SYS___CONNECTWORKMGR_A = 0x768 // 1896 SYS_____CONSOLE_A = 0x769 // 1897 SYS___CREATEWORKUNIT_A = 0x76A // 1898 SYS___CTERMID_A = 0x76B // 1899 SYS___FMTMSG_A = 0x76C // 1900 SYS___INITGROUPS_A = 0x76D // 1901 SYS_____LOGIN_A = 0x76E // 1902 SYS___MSGRCV_A = 0x76F // 1903 SYS___MSGSND_A = 0x770 // 1904 SYS___MSGXRCV_A = 0x771 // 1905 SYS___NFTW_A = 0x772 // 1906 SYS_____PASSWD_A = 0x773 // 1907 SYS___PTHREAD_SECURITY_NP_A = 0x774 // 1908 SYS___QUERYMETRICS_A = 0x775 // 1909 SYS___QUERYSCHENV = 0x776 // 1910 SYS___READV_A = 0x777 // 1911 SYS_____SERVER_CLASSIFY_A = 0x778 // 1912 SYS_____SERVER_INIT_A = 0x779 // 1913 SYS_____SERVER_PWU_A = 0x77A // 1914 SYS___STRCASECMP_A = 0x77B // 1915 SYS___STRNCASECMP_A = 0x77C // 1916 SYS___TTYNAME_A = 0x77D // 1917 SYS___UNAME_A = 0x77E // 1918 SYS___UTIMES_A = 0x77F // 1919 SYS___W_GETPSENT_A = 0x780 // 1920 SYS___WRITEV_A = 0x781 // 1921 SYS___W_STATFS_A = 0x782 // 1922 SYS___W_STATVFS_A = 0x783 // 1923 SYS___FPUTC_A = 0x784 // 1924 SYS___PUTCHAR_A = 0x785 // 1925 SYS___PUTS_A = 0x786 // 1926 SYS___FGETS_A = 0x787 // 1927 SYS___GETS_A = 0x788 // 1928 SYS___FPUTS_A = 0x789 // 1929 SYS___FREAD_A = 0x78A // 1930 SYS___FWRITE_A = 0x78B // 1931 SYS___OPEN_O_A = 0x78C // 1932 SYS___ISASCII = 0x78D // 1933 SYS___CREAT_O_A = 0x78E // 1934 SYS___ENVNA = 0x78F // 1935 SYS___PUTC_A = 0x790 // 1936 SYS___AE_THREAD_SETMODE = 0x791 // 1937 SYS___AE_THREAD_SWAPMODE = 0x792 // 1938 SYS___GETNETBYADDR_A = 0x793 // 1939 SYS___GETNETBYNAME_A = 0x794 // 1940 SYS___GETNETENT_A = 0x795 // 1941 SYS___GETPROTOBYNAME_A = 0x796 // 1942 SYS___GETPROTOBYNUMBER_A = 0x797 // 1943 SYS___GETPROTOENT_A = 0x798 // 1944 SYS___GETSERVBYNAME_A = 0x799 // 1945 SYS___GETSERVBYPORT_A = 0x79A // 1946 SYS___GETSERVENT_A = 0x79B // 1947 SYS___ASCTIME_A = 0x79C // 1948 SYS___CTIME_A = 0x79D // 1949 SYS___GETDATE_A = 0x79E // 1950 SYS___TZSET_A = 0x79F // 1951 SYS___UTIME_A = 0x7A0 // 1952 SYS___ASCTIME_R_A = 0x7A1 // 1953 SYS___CTIME_R_A = 0x7A2 // 1954 SYS___STRTOLL_A = 0x7A3 // 1955 SYS___STRTOULL_A = 0x7A4 // 1956 SYS___FPUTWC_A = 0x7A5 // 1957 SYS___PUTWC_A = 0x7A6 // 1958 SYS___PUTWCHAR_A = 0x7A7 // 1959 SYS___FPUTWS_A = 0x7A8 // 1960 SYS___UNGETWC_A = 0x7A9 // 1961 SYS___FGETWC_A = 0x7AA // 1962 SYS___GETWC_A = 0x7AB // 1963 SYS___GETWCHAR_A = 0x7AC // 1964 SYS___FGETWS_A = 0x7AD // 1965 SYS___GETTIMEOFDAY_A = 0x7AE // 1966 SYS___GMTIME_A = 0x7AF // 1967 SYS___GMTIME_R_A = 0x7B0 // 1968 SYS___LOCALTIME_A = 0x7B1 // 1969 SYS___LOCALTIME_R_A = 0x7B2 // 1970 SYS___MKTIME_A = 0x7B3 // 1971 SYS___TZZNA = 0x7B4 // 1972 SYS_UNATEXIT = 0x7B5 // 1973 SYS___CEE3DMP_A = 0x7B6 // 1974 SYS___CDUMP_A = 0x7B7 // 1975 SYS___CSNAP_A = 0x7B8 // 1976 SYS___CTEST_A = 0x7B9 // 1977 SYS___CTRACE_A = 0x7BA // 1978 SYS___VSWPRNTF2_A = 0x7BB // 1979 SYS___INET_PTON_A = 0x7BC // 1980 SYS___SYSLOG_A = 0x7BD // 1981 SYS___CRYPT_A = 0x7BE // 1982 SYS_____OPENDIR2_A = 0x7BF // 1983 SYS_____READDIR2_A = 0x7C0 // 1984 SYS___OPENDIR_A = 0x7C2 // 1986 SYS___READDIR_A = 0x7C3 // 1987 SYS_PREAD = 0x7C7 // 1991 SYS_PWRITE = 0x7C8 // 1992 SYS_M_CREATE_LAYOUT = 0x7C9 // 1993 SYS_M_DESTROY_LAYOUT = 0x7CA // 1994 SYS_M_GETVALUES_LAYOUT = 0x7CB // 1995 SYS_M_SETVALUES_LAYOUT = 0x7CC // 1996 SYS_M_TRANSFORM_LAYOUT = 0x7CD // 1997 SYS_M_WTRANSFORM_LAYOUT = 0x7CE // 1998 SYS_FWPRINTF = 0x7D1 // 2001 SYS_WPRINTF = 0x7D2 // 2002 SYS_VFWPRINT = 0x7D3 // 2003 SYS_VFWPRINTF = 0x7D3 // 2003 SYS_VWPRINTF = 0x7D4 // 2004 SYS_FWSCANF = 0x7D5 // 2005 SYS_WSCANF = 0x7D6 // 2006 SYS_WCTRANS = 0x7D7 // 2007 SYS_TOWCTRAN = 0x7D8 // 2008 SYS_TOWCTRANS = 0x7D8 // 2008 SYS___WCSTOD_A = 0x7D9 // 2009 SYS___WCSTOL_A = 0x7DA // 2010 SYS___WCSTOUL_A = 0x7DB // 2011 SYS___BASENAME_A = 0x7DC // 2012 SYS___DIRNAME_A = 0x7DD // 2013 SYS___GLOB_A = 0x7DE // 2014 SYS_FWIDE = 0x7DF // 2015 SYS___OSNAME = 0x7E0 // 2016 SYS_____OSNAME_A = 0x7E1 // 2017 SYS___BTOWC_A = 0x7E4 // 2020 SYS___WCTOB_A = 0x7E5 // 2021 SYS___DBM_OPEN_A = 0x7E6 // 2022 SYS___VFPRINTF2_A = 0x7E7 // 2023 SYS___VPRINTF2_A = 0x7E8 // 2024 SYS___VSPRINTF2_A = 0x7E9 // 2025 SYS___CEIL_H = 0x7EA // 2026 SYS___FLOOR_H = 0x7EB // 2027 SYS___MODF_H = 0x7EC // 2028 SYS___FABS_H = 0x7ED // 2029 SYS___J0_H = 0x7EE // 2030 SYS___J1_H = 0x7EF // 2031 SYS___JN_H = 0x7F0 // 2032 SYS___Y0_H = 0x7F1 // 2033 SYS___Y1_H = 0x7F2 // 2034 SYS___YN_H = 0x7F3 // 2035 SYS___CEILF_H = 0x7F4 // 2036 SYS___CEILL_H = 0x7F5 // 2037 SYS___FLOORF_H = 0x7F6 // 2038 SYS___FLOORL_H = 0x7F7 // 2039 SYS___MODFF_H = 0x7F8 // 2040 SYS___MODFL_H = 0x7F9 // 2041 SYS___FABSF_H = 0x7FA // 2042 SYS___FABSL_H = 0x7FB // 2043 SYS___MALLOC24 = 0x7FC // 2044 SYS___MALLOC31 = 0x7FD // 2045 SYS_ACL_INIT = 0x7FE // 2046 SYS_ACL_FREE = 0x7FF // 2047 SYS_ACL_FIRST_ENTRY = 0x800 // 2048 SYS_ACL_GET_ENTRY = 0x801 // 2049 SYS_ACL_VALID = 0x802 // 2050 SYS_ACL_CREATE_ENTRY = 0x803 // 2051 SYS_ACL_DELETE_ENTRY = 0x804 // 2052 SYS_ACL_UPDATE_ENTRY = 0x805 // 2053 SYS_ACL_DELETE_FD = 0x806 // 2054 SYS_ACL_DELETE_FILE = 0x807 // 2055 SYS_ACL_GET_FD = 0x808 // 2056 SYS_ACL_GET_FILE = 0x809 // 2057 SYS_ACL_SET_FD = 0x80A // 2058 SYS_ACL_SET_FILE = 0x80B // 2059 SYS_ACL_FROM_TEXT = 0x80C // 2060 SYS_ACL_TO_TEXT = 0x80D // 2061 SYS_ACL_SORT = 0x80E // 2062 SYS___SHUTDOWN_REGISTRATION = 0x80F // 2063 SYS___ERFL_B = 0x810 // 2064 SYS___ERFCL_B = 0x811 // 2065 SYS___LGAMMAL_B = 0x812 // 2066 SYS___SETHOOKEVENTS = 0x813 // 2067 SYS_IF_NAMETOINDEX = 0x814 // 2068 SYS_IF_INDEXTONAME = 0x815 // 2069 SYS_IF_NAMEINDEX = 0x816 // 2070 SYS_IF_FREENAMEINDEX = 0x817 // 2071 SYS_GETADDRINFO = 0x818 // 2072 SYS_GETNAMEINFO = 0x819 // 2073 SYS_FREEADDRINFO = 0x81A // 2074 SYS_GAI_STRERROR = 0x81B // 2075 SYS_REXEC_AF = 0x81C // 2076 SYS___POE = 0x81D // 2077 SYS___DYNALLOC_A = 0x81F // 2079 SYS___DYNFREE_A = 0x820 // 2080 SYS___RES_QUERY_A = 0x821 // 2081 SYS___RES_SEARCH_A = 0x822 // 2082 SYS___RES_QUERYDOMAIN_A = 0x823 // 2083 SYS___RES_MKQUERY_A = 0x824 // 2084 SYS___RES_SEND_A = 0x825 // 2085 SYS___DN_EXPAND_A = 0x826 // 2086 SYS___DN_SKIPNAME_A = 0x827 // 2087 SYS___DN_COMP_A = 0x828 // 2088 SYS___DN_FIND_A = 0x829 // 2089 SYS___NLIST_A = 0x82A // 2090 SYS_____TCGETCP_A = 0x82B // 2091 SYS_____TCSETCP_A = 0x82C // 2092 SYS_____W_PIOCTL_A = 0x82E // 2094 SYS___INET_ADDR_A = 0x82F // 2095 SYS___INET_NTOA_A = 0x830 // 2096 SYS___INET_NETWORK_A = 0x831 // 2097 SYS___ACCEPT_A = 0x832 // 2098 SYS___ACCEPT_AND_RECV_A = 0x833 // 2099 SYS___BIND_A = 0x834 // 2100 SYS___CONNECT_A = 0x835 // 2101 SYS___GETPEERNAME_A = 0x836 // 2102 SYS___GETSOCKNAME_A = 0x837 // 2103 SYS___RECVFROM_A = 0x838 // 2104 SYS___SENDTO_A = 0x839 // 2105 SYS___SENDMSG_A = 0x83A // 2106 SYS___RECVMSG_A = 0x83B // 2107 SYS_____LCHATTR_A = 0x83C // 2108 SYS___CABEND = 0x83D // 2109 SYS___LE_CIB_GET = 0x83E // 2110 SYS___SET_LAA_FOR_JIT = 0x83F // 2111 SYS___LCHATTR = 0x840 // 2112 SYS___WRITEDOWN = 0x841 // 2113 SYS_PTHREAD_MUTEX_INIT2 = 0x842 // 2114 SYS___ACOSHF_B = 0x843 // 2115 SYS___ACOSHL_B = 0x844 // 2116 SYS___ASINHF_B = 0x845 // 2117 SYS___ASINHL_B = 0x846 // 2118 SYS___ATANHF_B = 0x847 // 2119 SYS___ATANHL_B = 0x848 // 2120 SYS___CBRTF_B = 0x849 // 2121 SYS___CBRTL_B = 0x84A // 2122 SYS___COPYSIGNF_B = 0x84B // 2123 SYS___COPYSIGNL_B = 0x84C // 2124 SYS___COTANF_B = 0x84D // 2125 SYS___COTAN_B = 0x84E // 2126 SYS___COTANL_B = 0x84F // 2127 SYS___EXP2F_B = 0x850 // 2128 SYS___EXP2L_B = 0x851 // 2129 SYS___EXPM1F_B = 0x852 // 2130 SYS___EXPM1L_B = 0x853 // 2131 SYS___FDIMF_B = 0x854 // 2132 SYS___FDIM_B = 0x855 // 2133 SYS___FDIML_B = 0x856 // 2134 SYS___HYPOTF_B = 0x857 // 2135 SYS___HYPOTL_B = 0x858 // 2136 SYS___LOG1PF_B = 0x859 // 2137 SYS___LOG1PL_B = 0x85A // 2138 SYS___LOG2F_B = 0x85B // 2139 SYS___LOG2_B = 0x85C // 2140 SYS___LOG2L_B = 0x85D // 2141 SYS___REMAINDERF_B = 0x85E // 2142 SYS___REMAINDERL_B = 0x85F // 2143 SYS___REMQUOF_B = 0x860 // 2144 SYS___REMQUO_B = 0x861 // 2145 SYS___REMQUOL_B = 0x862 // 2146 SYS___TGAMMAF_B = 0x863 // 2147 SYS___TGAMMA_B = 0x864 // 2148 SYS___TGAMMAL_B = 0x865 // 2149 SYS___TRUNCF_B = 0x866 // 2150 SYS___TRUNC_B = 0x867 // 2151 SYS___TRUNCL_B = 0x868 // 2152 SYS___LGAMMAF_B = 0x869 // 2153 SYS___LROUNDF_B = 0x86A // 2154 SYS___LROUND_B = 0x86B // 2155 SYS___ERFF_B = 0x86C // 2156 SYS___ERFCF_B = 0x86D // 2157 SYS_ACOSHF = 0x86E // 2158 SYS_ACOSHL = 0x86F // 2159 SYS_ASINHF = 0x870 // 2160 SYS_ASINHL = 0x871 // 2161 SYS_ATANHF = 0x872 // 2162 SYS_ATANHL = 0x873 // 2163 SYS_CBRTF = 0x874 // 2164 SYS_CBRTL = 0x875 // 2165 SYS_COPYSIGNF = 0x876 // 2166 SYS_CPYSIGNF = 0x876 // 2166 SYS_COPYSIGNL = 0x877 // 2167 SYS_CPYSIGNL = 0x877 // 2167 SYS_COTANF = 0x878 // 2168 SYS___COTANF = 0x878 // 2168 SYS_COTAN = 0x879 // 2169 SYS___COTAN = 0x879 // 2169 SYS_COTANL = 0x87A // 2170 SYS___COTANL = 0x87A // 2170 SYS_EXP2F = 0x87B // 2171 SYS_EXP2L = 0x87C // 2172 SYS_EXPM1F = 0x87D // 2173 SYS_EXPM1L = 0x87E // 2174 SYS_FDIMF = 0x87F // 2175 SYS_FDIM = 0x881 // 2177 SYS_FDIML = 0x882 // 2178 SYS_HYPOTF = 0x883 // 2179 SYS_HYPOTL = 0x884 // 2180 SYS_LOG1PF = 0x885 // 2181 SYS_LOG1PL = 0x886 // 2182 SYS_LOG2F = 0x887 // 2183 SYS_LOG2 = 0x888 // 2184 SYS_LOG2L = 0x889 // 2185 SYS_REMAINDERF = 0x88A // 2186 SYS_REMAINDF = 0x88A // 2186 SYS_REMAINDERL = 0x88B // 2187 SYS_REMAINDL = 0x88B // 2187 SYS_REMQUOF = 0x88C // 2188 SYS_REMQUO = 0x88D // 2189 SYS_REMQUOL = 0x88E // 2190 SYS_TGAMMAF = 0x88F // 2191 SYS_TGAMMA = 0x890 // 2192 SYS_TGAMMAL = 0x891 // 2193 SYS_TRUNCF = 0x892 // 2194 SYS_TRUNC = 0x893 // 2195 SYS_TRUNCL = 0x894 // 2196 SYS_LGAMMAF = 0x895 // 2197 SYS_LGAMMAL = 0x896 // 2198 SYS_LROUNDF = 0x897 // 2199 SYS_LROUND = 0x898 // 2200 SYS_ERFF = 0x899 // 2201 SYS_ERFL = 0x89A // 2202 SYS_ERFCF = 0x89B // 2203 SYS_ERFCL = 0x89C // 2204 SYS___EXP2_B = 0x89D // 2205 SYS_EXP2 = 0x89E // 2206 SYS___FAR_JUMP = 0x89F // 2207 SYS___TCGETATTR_A = 0x8A1 // 2209 SYS___TCSETATTR_A = 0x8A2 // 2210 SYS___SUPERKILL = 0x8A4 // 2212 SYS___LE_CONDITION_TOKEN_BUILD = 0x8A5 // 2213 SYS___LE_MSG_ADD_INSERT = 0x8A6 // 2214 SYS___LE_MSG_GET = 0x8A7 // 2215 SYS___LE_MSG_GET_AND_WRITE = 0x8A8 // 2216 SYS___LE_MSG_WRITE = 0x8A9 // 2217 SYS___ITOA = 0x8AA // 2218 SYS___UTOA = 0x8AB // 2219 SYS___LTOA = 0x8AC // 2220 SYS___ULTOA = 0x8AD // 2221 SYS___LLTOA = 0x8AE // 2222 SYS___ULLTOA = 0x8AF // 2223 SYS___ITOA_A = 0x8B0 // 2224 SYS___UTOA_A = 0x8B1 // 2225 SYS___LTOA_A = 0x8B2 // 2226 SYS___ULTOA_A = 0x8B3 // 2227 SYS___LLTOA_A = 0x8B4 // 2228 SYS___ULLTOA_A = 0x8B5 // 2229 SYS_____GETENV_A = 0x8C3 // 2243 SYS___REXEC_A = 0x8C4 // 2244 SYS___REXEC_AF_A = 0x8C5 // 2245 SYS___GETUTXENT_A = 0x8C6 // 2246 SYS___GETUTXID_A = 0x8C7 // 2247 SYS___GETUTXLINE_A = 0x8C8 // 2248 SYS___PUTUTXLINE_A = 0x8C9 // 2249 SYS_____UTMPXNAME_A = 0x8CA // 2250 SYS___PUTC_UNLOCKED_A = 0x8CB // 2251 SYS___PUTCHAR_UNLOCKED_A = 0x8CC // 2252 SYS___SNPRINTF_A = 0x8CD // 2253 SYS___VSNPRINTF_A = 0x8CE // 2254 SYS___DLOPEN_A = 0x8D0 // 2256 SYS___DLSYM_A = 0x8D1 // 2257 SYS___DLERROR_A = 0x8D2 // 2258 SYS_FLOCKFILE = 0x8D3 // 2259 SYS_FTRYLOCKFILE = 0x8D4 // 2260 SYS_FUNLOCKFILE = 0x8D5 // 2261 SYS_GETC_UNLOCKED = 0x8D6 // 2262 SYS_GETCHAR_UNLOCKED = 0x8D7 // 2263 SYS_PUTC_UNLOCKED = 0x8D8 // 2264 SYS_PUTCHAR_UNLOCKED = 0x8D9 // 2265 SYS_SNPRINTF = 0x8DA // 2266 SYS_VSNPRINTF = 0x8DB // 2267 SYS_DLOPEN = 0x8DD // 2269 SYS_DLSYM = 0x8DE // 2270 SYS_DLCLOSE = 0x8DF // 2271 SYS_DLERROR = 0x8E0 // 2272 SYS___SET_EXCEPTION_HANDLER = 0x8E2 // 2274 SYS___RESET_EXCEPTION_HANDLER = 0x8E3 // 2275 SYS___VHM_EVENT = 0x8E4 // 2276 SYS___ABS_H = 0x8E6 // 2278 SYS___ABSF_H = 0x8E7 // 2279 SYS___ABSL_H = 0x8E8 // 2280 SYS___ACOS_H = 0x8E9 // 2281 SYS___ACOSF_H = 0x8EA // 2282 SYS___ACOSL_H = 0x8EB // 2283 SYS___ACOSH_H = 0x8EC // 2284 SYS___ASIN_H = 0x8ED // 2285 SYS___ASINF_H = 0x8EE // 2286 SYS___ASINL_H = 0x8EF // 2287 SYS___ASINH_H = 0x8F0 // 2288 SYS___ATAN_H = 0x8F1 // 2289 SYS___ATANF_H = 0x8F2 // 2290 SYS___ATANL_H = 0x8F3 // 2291 SYS___ATANH_H = 0x8F4 // 2292 SYS___ATANHF_H = 0x8F5 // 2293 SYS___ATANHL_H = 0x8F6 // 2294 SYS___ATAN2_H = 0x8F7 // 2295 SYS___ATAN2F_H = 0x8F8 // 2296 SYS___ATAN2L_H = 0x8F9 // 2297 SYS___CBRT_H = 0x8FA // 2298 SYS___COPYSIGNF_H = 0x8FB // 2299 SYS___COPYSIGNL_H = 0x8FC // 2300 SYS___COS_H = 0x8FD // 2301 SYS___COSF_H = 0x8FE // 2302 SYS___COSL_H = 0x8FF // 2303 SYS___COSHF_H = 0x900 // 2304 SYS___COSHL_H = 0x901 // 2305 SYS___COTAN_H = 0x902 // 2306 SYS___COTANF_H = 0x903 // 2307 SYS___COTANL_H = 0x904 // 2308 SYS___ERF_H = 0x905 // 2309 SYS___ERFF_H = 0x906 // 2310 SYS___ERFL_H = 0x907 // 2311 SYS___ERFC_H = 0x908 // 2312 SYS___ERFCF_H = 0x909 // 2313 SYS___ERFCL_H = 0x90A // 2314 SYS___EXP_H = 0x90B // 2315 SYS___EXPF_H = 0x90C // 2316 SYS___EXPL_H = 0x90D // 2317 SYS___EXPM1_H = 0x90E // 2318 SYS___FDIM_H = 0x90F // 2319 SYS___FDIMF_H = 0x910 // 2320 SYS___FDIML_H = 0x911 // 2321 SYS___FMOD_H = 0x912 // 2322 SYS___FMODF_H = 0x913 // 2323 SYS___FMODL_H = 0x914 // 2324 SYS___GAMMA_H = 0x915 // 2325 SYS___HYPOT_H = 0x916 // 2326 SYS___ILOGB_H = 0x917 // 2327 SYS___LGAMMA_H = 0x918 // 2328 SYS___LGAMMAF_H = 0x919 // 2329 SYS___LOG_H = 0x91A // 2330 SYS___LOGF_H = 0x91B // 2331 SYS___LOGL_H = 0x91C // 2332 SYS___LOGB_H = 0x91D // 2333 SYS___LOG2_H = 0x91E // 2334 SYS___LOG2F_H = 0x91F // 2335 SYS___LOG2L_H = 0x920 // 2336 SYS___LOG1P_H = 0x921 // 2337 SYS___LOG10_H = 0x922 // 2338 SYS___LOG10F_H = 0x923 // 2339 SYS___LOG10L_H = 0x924 // 2340 SYS___LROUND_H = 0x925 // 2341 SYS___LROUNDF_H = 0x926 // 2342 SYS___NEXTAFTER_H = 0x927 // 2343 SYS___POW_H = 0x928 // 2344 SYS___POWF_H = 0x929 // 2345 SYS___POWL_H = 0x92A // 2346 SYS___REMAINDER_H = 0x92B // 2347 SYS___RINT_H = 0x92C // 2348 SYS___SCALB_H = 0x92D // 2349 SYS___SIN_H = 0x92E // 2350 SYS___SINF_H = 0x92F // 2351 SYS___SINL_H = 0x930 // 2352 SYS___SINH_H = 0x931 // 2353 SYS___SINHF_H = 0x932 // 2354 SYS___SINHL_H = 0x933 // 2355 SYS___SQRT_H = 0x934 // 2356 SYS___SQRTF_H = 0x935 // 2357 SYS___SQRTL_H = 0x936 // 2358 SYS___TAN_H = 0x937 // 2359 SYS___TANF_H = 0x938 // 2360 SYS___TANL_H = 0x939 // 2361 SYS___TANH_H = 0x93A // 2362 SYS___TANHF_H = 0x93B // 2363 SYS___TANHL_H = 0x93C // 2364 SYS___TGAMMA_H = 0x93D // 2365 SYS___TGAMMAF_H = 0x93E // 2366 SYS___TRUNC_H = 0x93F // 2367 SYS___TRUNCF_H = 0x940 // 2368 SYS___TRUNCL_H = 0x941 // 2369 SYS___COSH_H = 0x942 // 2370 SYS___LE_DEBUG_SET_RESUME_MCH = 0x943 // 2371 SYS_VFSCANF = 0x944 // 2372 SYS_VSCANF = 0x946 // 2374 SYS_VSSCANF = 0x948 // 2376 SYS_VFWSCANF = 0x94A // 2378 SYS_VWSCANF = 0x94C // 2380 SYS_VSWSCANF = 0x94E // 2382 SYS_IMAXABS = 0x950 // 2384 SYS_IMAXDIV = 0x951 // 2385 SYS_STRTOIMAX = 0x952 // 2386 SYS_STRTOUMAX = 0x953 // 2387 SYS_WCSTOIMAX = 0x954 // 2388 SYS_WCSTOUMAX = 0x955 // 2389 SYS_ATOLL = 0x956 // 2390 SYS_STRTOF = 0x957 // 2391 SYS_STRTOLD = 0x958 // 2392 SYS_WCSTOF = 0x959 // 2393 SYS_WCSTOLD = 0x95A // 2394 SYS_INET6_RTH_SPACE = 0x95B // 2395 SYS_INET6_RTH_INIT = 0x95C // 2396 SYS_INET6_RTH_ADD = 0x95D // 2397 SYS_INET6_RTH_REVERSE = 0x95E // 2398 SYS_INET6_RTH_SEGMENTS = 0x95F // 2399 SYS_INET6_RTH_GETADDR = 0x960 // 2400 SYS_INET6_OPT_INIT = 0x961 // 2401 SYS_INET6_OPT_APPEND = 0x962 // 2402 SYS_INET6_OPT_FINISH = 0x963 // 2403 SYS_INET6_OPT_SET_VAL = 0x964 // 2404 SYS_INET6_OPT_NEXT = 0x965 // 2405 SYS_INET6_OPT_FIND = 0x966 // 2406 SYS_INET6_OPT_GET_VAL = 0x967 // 2407 SYS___POW_I = 0x987 // 2439 SYS___POW_I_B = 0x988 // 2440 SYS___POW_I_H = 0x989 // 2441 SYS___POW_II = 0x98A // 2442 SYS___POW_II_B = 0x98B // 2443 SYS___POW_II_H = 0x98C // 2444 SYS_CABS = 0x98E // 2446 SYS___CABS_B = 0x98F // 2447 SYS___CABS_H = 0x990 // 2448 SYS_CABSF = 0x991 // 2449 SYS___CABSF_B = 0x992 // 2450 SYS___CABSF_H = 0x993 // 2451 SYS_CABSL = 0x994 // 2452 SYS___CABSL_B = 0x995 // 2453 SYS___CABSL_H = 0x996 // 2454 SYS_CACOS = 0x997 // 2455 SYS___CACOS_B = 0x998 // 2456 SYS___CACOS_H = 0x999 // 2457 SYS_CACOSF = 0x99A // 2458 SYS___CACOSF_B = 0x99B // 2459 SYS___CACOSF_H = 0x99C // 2460 SYS_CACOSL = 0x99D // 2461 SYS___CACOSL_B = 0x99E // 2462 SYS___CACOSL_H = 0x99F // 2463 SYS_CACOSH = 0x9A0 // 2464 SYS___CACOSH_B = 0x9A1 // 2465 SYS___CACOSH_H = 0x9A2 // 2466 SYS_CACOSHF = 0x9A3 // 2467 SYS___CACOSHF_B = 0x9A4 // 2468 SYS___CACOSHF_H = 0x9A5 // 2469 SYS_CACOSHL = 0x9A6 // 2470 SYS___CACOSHL_B = 0x9A7 // 2471 SYS___CACOSHL_H = 0x9A8 // 2472 SYS_CARG = 0x9A9 // 2473 SYS___CARG_B = 0x9AA // 2474 SYS___CARG_H = 0x9AB // 2475 SYS_CARGF = 0x9AC // 2476 SYS___CARGF_B = 0x9AD // 2477 SYS___CARGF_H = 0x9AE // 2478 SYS_CARGL = 0x9AF // 2479 SYS___CARGL_B = 0x9B0 // 2480 SYS___CARGL_H = 0x9B1 // 2481 SYS_CASIN = 0x9B2 // 2482 SYS___CASIN_B = 0x9B3 // 2483 SYS___CASIN_H = 0x9B4 // 2484 SYS_CASINF = 0x9B5 // 2485 SYS___CASINF_B = 0x9B6 // 2486 SYS___CASINF_H = 0x9B7 // 2487 SYS_CASINL = 0x9B8 // 2488 SYS___CASINL_B = 0x9B9 // 2489 SYS___CASINL_H = 0x9BA // 2490 SYS_CASINH = 0x9BB // 2491 SYS___CASINH_B = 0x9BC // 2492 SYS___CASINH_H = 0x9BD // 2493 SYS_CASINHF = 0x9BE // 2494 SYS___CASINHF_B = 0x9BF // 2495 SYS___CASINHF_H = 0x9C0 // 2496 SYS_CASINHL = 0x9C1 // 2497 SYS___CASINHL_B = 0x9C2 // 2498 SYS___CASINHL_H = 0x9C3 // 2499 SYS_CATAN = 0x9C4 // 2500 SYS___CATAN_B = 0x9C5 // 2501 SYS___CATAN_H = 0x9C6 // 2502 SYS_CATANF = 0x9C7 // 2503 SYS___CATANF_B = 0x9C8 // 2504 SYS___CATANF_H = 0x9C9 // 2505 SYS_CATANL = 0x9CA // 2506 SYS___CATANL_B = 0x9CB // 2507 SYS___CATANL_H = 0x9CC // 2508 SYS_CATANH = 0x9CD // 2509 SYS___CATANH_B = 0x9CE // 2510 SYS___CATANH_H = 0x9CF // 2511 SYS_CATANHF = 0x9D0 // 2512 SYS___CATANHF_B = 0x9D1 // 2513 SYS___CATANHF_H = 0x9D2 // 2514 SYS_CATANHL = 0x9D3 // 2515 SYS___CATANHL_B = 0x9D4 // 2516 SYS___CATANHL_H = 0x9D5 // 2517 SYS_CCOS = 0x9D6 // 2518 SYS___CCOS_B = 0x9D7 // 2519 SYS___CCOS_H = 0x9D8 // 2520 SYS_CCOSF = 0x9D9 // 2521 SYS___CCOSF_B = 0x9DA // 2522 SYS___CCOSF_H = 0x9DB // 2523 SYS_CCOSL = 0x9DC // 2524 SYS___CCOSL_B = 0x9DD // 2525 SYS___CCOSL_H = 0x9DE // 2526 SYS_CCOSH = 0x9DF // 2527 SYS___CCOSH_B = 0x9E0 // 2528 SYS___CCOSH_H = 0x9E1 // 2529 SYS_CCOSHF = 0x9E2 // 2530 SYS___CCOSHF_B = 0x9E3 // 2531 SYS___CCOSHF_H = 0x9E4 // 2532 SYS_CCOSHL = 0x9E5 // 2533 SYS___CCOSHL_B = 0x9E6 // 2534 SYS___CCOSHL_H = 0x9E7 // 2535 SYS_CEXP = 0x9E8 // 2536 SYS___CEXP_B = 0x9E9 // 2537 SYS___CEXP_H = 0x9EA // 2538 SYS_CEXPF = 0x9EB // 2539 SYS___CEXPF_B = 0x9EC // 2540 SYS___CEXPF_H = 0x9ED // 2541 SYS_CEXPL = 0x9EE // 2542 SYS___CEXPL_B = 0x9EF // 2543 SYS___CEXPL_H = 0x9F0 // 2544 SYS_CIMAG = 0x9F1 // 2545 SYS___CIMAG_B = 0x9F2 // 2546 SYS___CIMAG_H = 0x9F3 // 2547 SYS_CIMAGF = 0x9F4 // 2548 SYS___CIMAGF_B = 0x9F5 // 2549 SYS___CIMAGF_H = 0x9F6 // 2550 SYS_CIMAGL = 0x9F7 // 2551 SYS___CIMAGL_B = 0x9F8 // 2552 SYS___CIMAGL_H = 0x9F9 // 2553 SYS___CLOG = 0x9FA // 2554 SYS___CLOG_B = 0x9FB // 2555 SYS___CLOG_H = 0x9FC // 2556 SYS_CLOGF = 0x9FD // 2557 SYS___CLOGF_B = 0x9FE // 2558 SYS___CLOGF_H = 0x9FF // 2559 SYS_CLOGL = 0xA00 // 2560 SYS___CLOGL_B = 0xA01 // 2561 SYS___CLOGL_H = 0xA02 // 2562 SYS_CONJ = 0xA03 // 2563 SYS___CONJ_B = 0xA04 // 2564 SYS___CONJ_H = 0xA05 // 2565 SYS_CONJF = 0xA06 // 2566 SYS___CONJF_B = 0xA07 // 2567 SYS___CONJF_H = 0xA08 // 2568 SYS_CONJL = 0xA09 // 2569 SYS___CONJL_B = 0xA0A // 2570 SYS___CONJL_H = 0xA0B // 2571 SYS_CPOW = 0xA0C // 2572 SYS___CPOW_B = 0xA0D // 2573 SYS___CPOW_H = 0xA0E // 2574 SYS_CPOWF = 0xA0F // 2575 SYS___CPOWF_B = 0xA10 // 2576 SYS___CPOWF_H = 0xA11 // 2577 SYS_CPOWL = 0xA12 // 2578 SYS___CPOWL_B = 0xA13 // 2579 SYS___CPOWL_H = 0xA14 // 2580 SYS_CPROJ = 0xA15 // 2581 SYS___CPROJ_B = 0xA16 // 2582 SYS___CPROJ_H = 0xA17 // 2583 SYS_CPROJF = 0xA18 // 2584 SYS___CPROJF_B = 0xA19 // 2585 SYS___CPROJF_H = 0xA1A // 2586 SYS_CPROJL = 0xA1B // 2587 SYS___CPROJL_B = 0xA1C // 2588 SYS___CPROJL_H = 0xA1D // 2589 SYS_CREAL = 0xA1E // 2590 SYS___CREAL_B = 0xA1F // 2591 SYS___CREAL_H = 0xA20 // 2592 SYS_CREALF = 0xA21 // 2593 SYS___CREALF_B = 0xA22 // 2594 SYS___CREALF_H = 0xA23 // 2595 SYS_CREALL = 0xA24 // 2596 SYS___CREALL_B = 0xA25 // 2597 SYS___CREALL_H = 0xA26 // 2598 SYS_CSIN = 0xA27 // 2599 SYS___CSIN_B = 0xA28 // 2600 SYS___CSIN_H = 0xA29 // 2601 SYS_CSINF = 0xA2A // 2602 SYS___CSINF_B = 0xA2B // 2603 SYS___CSINF_H = 0xA2C // 2604 SYS_CSINL = 0xA2D // 2605 SYS___CSINL_B = 0xA2E // 2606 SYS___CSINL_H = 0xA2F // 2607 SYS_CSINH = 0xA30 // 2608 SYS___CSINH_B = 0xA31 // 2609 SYS___CSINH_H = 0xA32 // 2610 SYS_CSINHF = 0xA33 // 2611 SYS___CSINHF_B = 0xA34 // 2612 SYS___CSINHF_H = 0xA35 // 2613 SYS_CSINHL = 0xA36 // 2614 SYS___CSINHL_B = 0xA37 // 2615 SYS___CSINHL_H = 0xA38 // 2616 SYS_CSQRT = 0xA39 // 2617 SYS___CSQRT_B = 0xA3A // 2618 SYS___CSQRT_H = 0xA3B // 2619 SYS_CSQRTF = 0xA3C // 2620 SYS___CSQRTF_B = 0xA3D // 2621 SYS___CSQRTF_H = 0xA3E // 2622 SYS_CSQRTL = 0xA3F // 2623 SYS___CSQRTL_B = 0xA40 // 2624 SYS___CSQRTL_H = 0xA41 // 2625 SYS_CTAN = 0xA42 // 2626 SYS___CTAN_B = 0xA43 // 2627 SYS___CTAN_H = 0xA44 // 2628 SYS_CTANF = 0xA45 // 2629 SYS___CTANF_B = 0xA46 // 2630 SYS___CTANF_H = 0xA47 // 2631 SYS_CTANL = 0xA48 // 2632 SYS___CTANL_B = 0xA49 // 2633 SYS___CTANL_H = 0xA4A // 2634 SYS_CTANH = 0xA4B // 2635 SYS___CTANH_B = 0xA4C // 2636 SYS___CTANH_H = 0xA4D // 2637 SYS_CTANHF = 0xA4E // 2638 SYS___CTANHF_B = 0xA4F // 2639 SYS___CTANHF_H = 0xA50 // 2640 SYS_CTANHL = 0xA51 // 2641 SYS___CTANHL_B = 0xA52 // 2642 SYS___CTANHL_H = 0xA53 // 2643 SYS___ACOSHF_H = 0xA54 // 2644 SYS___ACOSHL_H = 0xA55 // 2645 SYS___ASINHF_H = 0xA56 // 2646 SYS___ASINHL_H = 0xA57 // 2647 SYS___CBRTF_H = 0xA58 // 2648 SYS___CBRTL_H = 0xA59 // 2649 SYS___COPYSIGN_B = 0xA5A // 2650 SYS___EXPM1F_H = 0xA5B // 2651 SYS___EXPM1L_H = 0xA5C // 2652 SYS___EXP2_H = 0xA5D // 2653 SYS___EXP2F_H = 0xA5E // 2654 SYS___EXP2L_H = 0xA5F // 2655 SYS___LOG1PF_H = 0xA60 // 2656 SYS___LOG1PL_H = 0xA61 // 2657 SYS___LGAMMAL_H = 0xA62 // 2658 SYS_FMA = 0xA63 // 2659 SYS___FMA_B = 0xA64 // 2660 SYS___FMA_H = 0xA65 // 2661 SYS_FMAF = 0xA66 // 2662 SYS___FMAF_B = 0xA67 // 2663 SYS___FMAF_H = 0xA68 // 2664 SYS_FMAL = 0xA69 // 2665 SYS___FMAL_B = 0xA6A // 2666 SYS___FMAL_H = 0xA6B // 2667 SYS_FMAX = 0xA6C // 2668 SYS___FMAX_B = 0xA6D // 2669 SYS___FMAX_H = 0xA6E // 2670 SYS_FMAXF = 0xA6F // 2671 SYS___FMAXF_B = 0xA70 // 2672 SYS___FMAXF_H = 0xA71 // 2673 SYS_FMAXL = 0xA72 // 2674 SYS___FMAXL_B = 0xA73 // 2675 SYS___FMAXL_H = 0xA74 // 2676 SYS_FMIN = 0xA75 // 2677 SYS___FMIN_B = 0xA76 // 2678 SYS___FMIN_H = 0xA77 // 2679 SYS_FMINF = 0xA78 // 2680 SYS___FMINF_B = 0xA79 // 2681 SYS___FMINF_H = 0xA7A // 2682 SYS_FMINL = 0xA7B // 2683 SYS___FMINL_B = 0xA7C // 2684 SYS___FMINL_H = 0xA7D // 2685 SYS_ILOGBF = 0xA7E // 2686 SYS___ILOGBF_B = 0xA7F // 2687 SYS___ILOGBF_H = 0xA80 // 2688 SYS_ILOGBL = 0xA81 // 2689 SYS___ILOGBL_B = 0xA82 // 2690 SYS___ILOGBL_H = 0xA83 // 2691 SYS_LLRINT = 0xA84 // 2692 SYS___LLRINT_B = 0xA85 // 2693 SYS___LLRINT_H = 0xA86 // 2694 SYS_LLRINTF = 0xA87 // 2695 SYS___LLRINTF_B = 0xA88 // 2696 SYS___LLRINTF_H = 0xA89 // 2697 SYS_LLRINTL = 0xA8A // 2698 SYS___LLRINTL_B = 0xA8B // 2699 SYS___LLRINTL_H = 0xA8C // 2700 SYS_LLROUND = 0xA8D // 2701 SYS___LLROUND_B = 0xA8E // 2702 SYS___LLROUND_H = 0xA8F // 2703 SYS_LLROUNDF = 0xA90 // 2704 SYS___LLROUNDF_B = 0xA91 // 2705 SYS___LLROUNDF_H = 0xA92 // 2706 SYS_LLROUNDL = 0xA93 // 2707 SYS___LLROUNDL_B = 0xA94 // 2708 SYS___LLROUNDL_H = 0xA95 // 2709 SYS_LOGBF = 0xA96 // 2710 SYS___LOGBF_B = 0xA97 // 2711 SYS___LOGBF_H = 0xA98 // 2712 SYS_LOGBL = 0xA99 // 2713 SYS___LOGBL_B = 0xA9A // 2714 SYS___LOGBL_H = 0xA9B // 2715 SYS_LRINT = 0xA9C // 2716 SYS___LRINT_B = 0xA9D // 2717 SYS___LRINT_H = 0xA9E // 2718 SYS_LRINTF = 0xA9F // 2719 SYS___LRINTF_B = 0xAA0 // 2720 SYS___LRINTF_H = 0xAA1 // 2721 SYS_LRINTL = 0xAA2 // 2722 SYS___LRINTL_B = 0xAA3 // 2723 SYS___LRINTL_H = 0xAA4 // 2724 SYS_LROUNDL = 0xAA5 // 2725 SYS___LROUNDL_B = 0xAA6 // 2726 SYS___LROUNDL_H = 0xAA7 // 2727 SYS_NAN = 0xAA8 // 2728 SYS___NAN_B = 0xAA9 // 2729 SYS_NANF = 0xAAA // 2730 SYS___NANF_B = 0xAAB // 2731 SYS_NANL = 0xAAC // 2732 SYS___NANL_B = 0xAAD // 2733 SYS_NEARBYINT = 0xAAE // 2734 SYS___NEARBYINT_B = 0xAAF // 2735 SYS___NEARBYINT_H = 0xAB0 // 2736 SYS_NEARBYINTF = 0xAB1 // 2737 SYS___NEARBYINTF_B = 0xAB2 // 2738 SYS___NEARBYINTF_H = 0xAB3 // 2739 SYS_NEARBYINTL = 0xAB4 // 2740 SYS___NEARBYINTL_B = 0xAB5 // 2741 SYS___NEARBYINTL_H = 0xAB6 // 2742 SYS_NEXTAFTERF = 0xAB7 // 2743 SYS___NEXTAFTERF_B = 0xAB8 // 2744 SYS___NEXTAFTERF_H = 0xAB9 // 2745 SYS_NEXTAFTERL = 0xABA // 2746 SYS___NEXTAFTERL_B = 0xABB // 2747 SYS___NEXTAFTERL_H = 0xABC // 2748 SYS_NEXTTOWARD = 0xABD // 2749 SYS___NEXTTOWARD_B = 0xABE // 2750 SYS___NEXTTOWARD_H = 0xABF // 2751 SYS_NEXTTOWARDF = 0xAC0 // 2752 SYS___NEXTTOWARDF_B = 0xAC1 // 2753 SYS___NEXTTOWARDF_H = 0xAC2 // 2754 SYS_NEXTTOWARDL = 0xAC3 // 2755 SYS___NEXTTOWARDL_B = 0xAC4 // 2756 SYS___NEXTTOWARDL_H = 0xAC5 // 2757 SYS___REMAINDERF_H = 0xAC6 // 2758 SYS___REMAINDERL_H = 0xAC7 // 2759 SYS___REMQUO_H = 0xAC8 // 2760 SYS___REMQUOF_H = 0xAC9 // 2761 SYS___REMQUOL_H = 0xACA // 2762 SYS_RINTF = 0xACB // 2763 SYS___RINTF_B = 0xACC // 2764 SYS_RINTL = 0xACD // 2765 SYS___RINTL_B = 0xACE // 2766 SYS_ROUND = 0xACF // 2767 SYS___ROUND_B = 0xAD0 // 2768 SYS___ROUND_H = 0xAD1 // 2769 SYS_ROUNDF = 0xAD2 // 2770 SYS___ROUNDF_B = 0xAD3 // 2771 SYS___ROUNDF_H = 0xAD4 // 2772 SYS_ROUNDL = 0xAD5 // 2773 SYS___ROUNDL_B = 0xAD6 // 2774 SYS___ROUNDL_H = 0xAD7 // 2775 SYS_SCALBLN = 0xAD8 // 2776 SYS___SCALBLN_B = 0xAD9 // 2777 SYS___SCALBLN_H = 0xADA // 2778 SYS_SCALBLNF = 0xADB // 2779 SYS___SCALBLNF_B = 0xADC // 2780 SYS___SCALBLNF_H = 0xADD // 2781 SYS_SCALBLNL = 0xADE // 2782 SYS___SCALBLNL_B = 0xADF // 2783 SYS___SCALBLNL_H = 0xAE0 // 2784 SYS___SCALBN_B = 0xAE1 // 2785 SYS___SCALBN_H = 0xAE2 // 2786 SYS_SCALBNF = 0xAE3 // 2787 SYS___SCALBNF_B = 0xAE4 // 2788 SYS___SCALBNF_H = 0xAE5 // 2789 SYS_SCALBNL = 0xAE6 // 2790 SYS___SCALBNL_B = 0xAE7 // 2791 SYS___SCALBNL_H = 0xAE8 // 2792 SYS___TGAMMAL_H = 0xAE9 // 2793 SYS_FECLEAREXCEPT = 0xAEA // 2794 SYS_FEGETENV = 0xAEB // 2795 SYS_FEGETEXCEPTFLAG = 0xAEC // 2796 SYS_FEGETROUND = 0xAED // 2797 SYS_FEHOLDEXCEPT = 0xAEE // 2798 SYS_FERAISEEXCEPT = 0xAEF // 2799 SYS_FESETENV = 0xAF0 // 2800 SYS_FESETEXCEPTFLAG = 0xAF1 // 2801 SYS_FESETROUND = 0xAF2 // 2802 SYS_FETESTEXCEPT = 0xAF3 // 2803 SYS_FEUPDATEENV = 0xAF4 // 2804 SYS___COPYSIGN_H = 0xAF5 // 2805 SYS___HYPOTF_H = 0xAF6 // 2806 SYS___HYPOTL_H = 0xAF7 // 2807 SYS___CLASS = 0xAFA // 2810 SYS___CLASS_B = 0xAFB // 2811 SYS___CLASS_H = 0xAFC // 2812 SYS___ISBLANK_A = 0xB2E // 2862 SYS___ISWBLANK_A = 0xB2F // 2863 SYS___LROUND_FIXUP = 0xB30 // 2864 SYS___LROUNDF_FIXUP = 0xB31 // 2865 SYS_SCHED_YIELD = 0xB32 // 2866 SYS_STRERROR_R = 0xB33 // 2867 SYS_UNSETENV = 0xB34 // 2868 SYS___LGAMMA_H_C99 = 0xB38 // 2872 SYS___LGAMMA_B_C99 = 0xB39 // 2873 SYS___LGAMMA_R_C99 = 0xB3A // 2874 SYS___FTELL2 = 0xB3B // 2875 SYS___FSEEK2 = 0xB3C // 2876 SYS___STATIC_REINIT = 0xB3D // 2877 SYS_PTHREAD_ATTR_GETSTACK = 0xB3E // 2878 SYS_PTHREAD_ATTR_SETSTACK = 0xB3F // 2879 SYS___TGAMMA_H_C99 = 0xB78 // 2936 SYS___TGAMMAF_H_C99 = 0xB79 // 2937 SYS___LE_TRACEBACK = 0xB7A // 2938 SYS___MUST_STAY_CLEAN = 0xB7C // 2940 SYS___O_ENV = 0xB7D // 2941 SYS_ACOSD32 = 0xB7E // 2942 SYS_ACOSD64 = 0xB7F // 2943 SYS_ACOSD128 = 0xB80 // 2944 SYS_ACOSHD32 = 0xB81 // 2945 SYS_ACOSHD64 = 0xB82 // 2946 SYS_ACOSHD128 = 0xB83 // 2947 SYS_ASIND32 = 0xB84 // 2948 SYS_ASIND64 = 0xB85 // 2949 SYS_ASIND128 = 0xB86 // 2950 SYS_ASINHD32 = 0xB87 // 2951 SYS_ASINHD64 = 0xB88 // 2952 SYS_ASINHD128 = 0xB89 // 2953 SYS_ATAND32 = 0xB8A // 2954 SYS_ATAND64 = 0xB8B // 2955 SYS_ATAND128 = 0xB8C // 2956 SYS_ATAN2D32 = 0xB8D // 2957 SYS_ATAN2D64 = 0xB8E // 2958 SYS_ATAN2D128 = 0xB8F // 2959 SYS_ATANHD32 = 0xB90 // 2960 SYS_ATANHD64 = 0xB91 // 2961 SYS_ATANHD128 = 0xB92 // 2962 SYS_CBRTD32 = 0xB93 // 2963 SYS_CBRTD64 = 0xB94 // 2964 SYS_CBRTD128 = 0xB95 // 2965 SYS_CEILD32 = 0xB96 // 2966 SYS_CEILD64 = 0xB97 // 2967 SYS_CEILD128 = 0xB98 // 2968 SYS___CLASS2 = 0xB99 // 2969 SYS___CLASS2_B = 0xB9A // 2970 SYS___CLASS2_H = 0xB9B // 2971 SYS_COPYSIGND32 = 0xB9C // 2972 SYS_COPYSIGND64 = 0xB9D // 2973 SYS_COPYSIGND128 = 0xB9E // 2974 SYS_COSD32 = 0xB9F // 2975 SYS_COSD64 = 0xBA0 // 2976 SYS_COSD128 = 0xBA1 // 2977 SYS_COSHD32 = 0xBA2 // 2978 SYS_COSHD64 = 0xBA3 // 2979 SYS_COSHD128 = 0xBA4 // 2980 SYS_ERFD32 = 0xBA5 // 2981 SYS_ERFD64 = 0xBA6 // 2982 SYS_ERFD128 = 0xBA7 // 2983 SYS_ERFCD32 = 0xBA8 // 2984 SYS_ERFCD64 = 0xBA9 // 2985 SYS_ERFCD128 = 0xBAA // 2986 SYS_EXPD32 = 0xBAB // 2987 SYS_EXPD64 = 0xBAC // 2988 SYS_EXPD128 = 0xBAD // 2989 SYS_EXP2D32 = 0xBAE // 2990 SYS_EXP2D64 = 0xBAF // 2991 SYS_EXP2D128 = 0xBB0 // 2992 SYS_EXPM1D32 = 0xBB1 // 2993 SYS_EXPM1D64 = 0xBB2 // 2994 SYS_EXPM1D128 = 0xBB3 // 2995 SYS_FABSD32 = 0xBB4 // 2996 SYS_FABSD64 = 0xBB5 // 2997 SYS_FABSD128 = 0xBB6 // 2998 SYS_FDIMD32 = 0xBB7 // 2999 SYS_FDIMD64 = 0xBB8 // 3000 SYS_FDIMD128 = 0xBB9 // 3001 SYS_FE_DEC_GETROUND = 0xBBA // 3002 SYS_FE_DEC_SETROUND = 0xBBB // 3003 SYS_FLOORD32 = 0xBBC // 3004 SYS_FLOORD64 = 0xBBD // 3005 SYS_FLOORD128 = 0xBBE // 3006 SYS_FMAD32 = 0xBBF // 3007 SYS_FMAD64 = 0xBC0 // 3008 SYS_FMAD128 = 0xBC1 // 3009 SYS_FMAXD32 = 0xBC2 // 3010 SYS_FMAXD64 = 0xBC3 // 3011 SYS_FMAXD128 = 0xBC4 // 3012 SYS_FMIND32 = 0xBC5 // 3013 SYS_FMIND64 = 0xBC6 // 3014 SYS_FMIND128 = 0xBC7 // 3015 SYS_FMODD32 = 0xBC8 // 3016 SYS_FMODD64 = 0xBC9 // 3017 SYS_FMODD128 = 0xBCA // 3018 SYS___FP_CAST_D = 0xBCB // 3019 SYS_FREXPD32 = 0xBCC // 3020 SYS_FREXPD64 = 0xBCD // 3021 SYS_FREXPD128 = 0xBCE // 3022 SYS_HYPOTD32 = 0xBCF // 3023 SYS_HYPOTD64 = 0xBD0 // 3024 SYS_HYPOTD128 = 0xBD1 // 3025 SYS_ILOGBD32 = 0xBD2 // 3026 SYS_ILOGBD64 = 0xBD3 // 3027 SYS_ILOGBD128 = 0xBD4 // 3028 SYS_LDEXPD32 = 0xBD5 // 3029 SYS_LDEXPD64 = 0xBD6 // 3030 SYS_LDEXPD128 = 0xBD7 // 3031 SYS_LGAMMAD32 = 0xBD8 // 3032 SYS_LGAMMAD64 = 0xBD9 // 3033 SYS_LGAMMAD128 = 0xBDA // 3034 SYS_LLRINTD32 = 0xBDB // 3035 SYS_LLRINTD64 = 0xBDC // 3036 SYS_LLRINTD128 = 0xBDD // 3037 SYS_LLROUNDD32 = 0xBDE // 3038 SYS_LLROUNDD64 = 0xBDF // 3039 SYS_LLROUNDD128 = 0xBE0 // 3040 SYS_LOGD32 = 0xBE1 // 3041 SYS_LOGD64 = 0xBE2 // 3042 SYS_LOGD128 = 0xBE3 // 3043 SYS_LOG10D32 = 0xBE4 // 3044 SYS_LOG10D64 = 0xBE5 // 3045 SYS_LOG10D128 = 0xBE6 // 3046 SYS_LOG1PD32 = 0xBE7 // 3047 SYS_LOG1PD64 = 0xBE8 // 3048 SYS_LOG1PD128 = 0xBE9 // 3049 SYS_LOG2D32 = 0xBEA // 3050 SYS_LOG2D64 = 0xBEB // 3051 SYS_LOG2D128 = 0xBEC // 3052 SYS_LOGBD32 = 0xBED // 3053 SYS_LOGBD64 = 0xBEE // 3054 SYS_LOGBD128 = 0xBEF // 3055 SYS_LRINTD32 = 0xBF0 // 3056 SYS_LRINTD64 = 0xBF1 // 3057 SYS_LRINTD128 = 0xBF2 // 3058 SYS_LROUNDD32 = 0xBF3 // 3059 SYS_LROUNDD64 = 0xBF4 // 3060 SYS_LROUNDD128 = 0xBF5 // 3061 SYS_MODFD32 = 0xBF6 // 3062 SYS_MODFD64 = 0xBF7 // 3063 SYS_MODFD128 = 0xBF8 // 3064 SYS_NAND32 = 0xBF9 // 3065 SYS_NAND64 = 0xBFA // 3066 SYS_NAND128 = 0xBFB // 3067 SYS_NEARBYINTD32 = 0xBFC // 3068 SYS_NEARBYINTD64 = 0xBFD // 3069 SYS_NEARBYINTD128 = 0xBFE // 3070 SYS_NEXTAFTERD32 = 0xBFF // 3071 SYS_NEXTAFTERD64 = 0xC00 // 3072 SYS_NEXTAFTERD128 = 0xC01 // 3073 SYS_NEXTTOWARDD32 = 0xC02 // 3074 SYS_NEXTTOWARDD64 = 0xC03 // 3075 SYS_NEXTTOWARDD128 = 0xC04 // 3076 SYS_POWD32 = 0xC05 // 3077 SYS_POWD64 = 0xC06 // 3078 SYS_POWD128 = 0xC07 // 3079 SYS_QUANTIZED32 = 0xC08 // 3080 SYS_QUANTIZED64 = 0xC09 // 3081 SYS_QUANTIZED128 = 0xC0A // 3082 SYS_REMAINDERD32 = 0xC0B // 3083 SYS_REMAINDERD64 = 0xC0C // 3084 SYS_REMAINDERD128 = 0xC0D // 3085 SYS___REMQUOD32 = 0xC0E // 3086 SYS___REMQUOD64 = 0xC0F // 3087 SYS___REMQUOD128 = 0xC10 // 3088 SYS_RINTD32 = 0xC11 // 3089 SYS_RINTD64 = 0xC12 // 3090 SYS_RINTD128 = 0xC13 // 3091 SYS_ROUNDD32 = 0xC14 // 3092 SYS_ROUNDD64 = 0xC15 // 3093 SYS_ROUNDD128 = 0xC16 // 3094 SYS_SAMEQUANTUMD32 = 0xC17 // 3095 SYS_SAMEQUANTUMD64 = 0xC18 // 3096 SYS_SAMEQUANTUMD128 = 0xC19 // 3097 SYS_SCALBLND32 = 0xC1A // 3098 SYS_SCALBLND64 = 0xC1B // 3099 SYS_SCALBLND128 = 0xC1C // 3100 SYS_SCALBND32 = 0xC1D // 3101 SYS_SCALBND64 = 0xC1E // 3102 SYS_SCALBND128 = 0xC1F // 3103 SYS_SIND32 = 0xC20 // 3104 SYS_SIND64 = 0xC21 // 3105 SYS_SIND128 = 0xC22 // 3106 SYS_SINHD32 = 0xC23 // 3107 SYS_SINHD64 = 0xC24 // 3108 SYS_SINHD128 = 0xC25 // 3109 SYS_SQRTD32 = 0xC26 // 3110 SYS_SQRTD64 = 0xC27 // 3111 SYS_SQRTD128 = 0xC28 // 3112 SYS_STRTOD32 = 0xC29 // 3113 SYS_STRTOD64 = 0xC2A // 3114 SYS_STRTOD128 = 0xC2B // 3115 SYS_TAND32 = 0xC2C // 3116 SYS_TAND64 = 0xC2D // 3117 SYS_TAND128 = 0xC2E // 3118 SYS_TANHD32 = 0xC2F // 3119 SYS_TANHD64 = 0xC30 // 3120 SYS_TANHD128 = 0xC31 // 3121 SYS_TGAMMAD32 = 0xC32 // 3122 SYS_TGAMMAD64 = 0xC33 // 3123 SYS_TGAMMAD128 = 0xC34 // 3124 SYS_TRUNCD32 = 0xC3E // 3134 SYS_TRUNCD64 = 0xC3F // 3135 SYS_TRUNCD128 = 0xC40 // 3136 SYS_WCSTOD32 = 0xC41 // 3137 SYS_WCSTOD64 = 0xC42 // 3138 SYS_WCSTOD128 = 0xC43 // 3139 SYS___CODEPAGE_INFO = 0xC64 // 3172 SYS_POSIX_OPENPT = 0xC66 // 3174 SYS_PSELECT = 0xC67 // 3175 SYS_SOCKATMARK = 0xC68 // 3176 SYS_AIO_FSYNC = 0xC69 // 3177 SYS_LIO_LISTIO = 0xC6A // 3178 SYS___ATANPID32 = 0xC6B // 3179 SYS___ATANPID64 = 0xC6C // 3180 SYS___ATANPID128 = 0xC6D // 3181 SYS___COSPID32 = 0xC6E // 3182 SYS___COSPID64 = 0xC6F // 3183 SYS___COSPID128 = 0xC70 // 3184 SYS___SINPID32 = 0xC71 // 3185 SYS___SINPID64 = 0xC72 // 3186 SYS___SINPID128 = 0xC73 // 3187 SYS_SETIPV4SOURCEFILTER = 0xC76 // 3190 SYS_GETIPV4SOURCEFILTER = 0xC77 // 3191 SYS_SETSOURCEFILTER = 0xC78 // 3192 SYS_GETSOURCEFILTER = 0xC79 // 3193 SYS_FWRITE_UNLOCKED = 0xC7A // 3194 SYS_FREAD_UNLOCKED = 0xC7B // 3195 SYS_FGETS_UNLOCKED = 0xC7C // 3196 SYS_GETS_UNLOCKED = 0xC7D // 3197 SYS_FPUTS_UNLOCKED = 0xC7E // 3198 SYS_PUTS_UNLOCKED = 0xC7F // 3199 SYS_FGETC_UNLOCKED = 0xC80 // 3200 SYS_FPUTC_UNLOCKED = 0xC81 // 3201 SYS_DLADDR = 0xC82 // 3202 SYS_SHM_OPEN = 0xC8C // 3212 SYS_SHM_UNLINK = 0xC8D // 3213 SYS___CLASS2F = 0xC91 // 3217 SYS___CLASS2L = 0xC92 // 3218 SYS___CLASS2F_B = 0xC93 // 3219 SYS___CLASS2F_H = 0xC94 // 3220 SYS___CLASS2L_B = 0xC95 // 3221 SYS___CLASS2L_H = 0xC96 // 3222 SYS___CLASS2D32 = 0xC97 // 3223 SYS___CLASS2D64 = 0xC98 // 3224 SYS___CLASS2D128 = 0xC99 // 3225 SYS___TOCSNAME2 = 0xC9A // 3226 SYS___D1TOP = 0xC9B // 3227 SYS___D2TOP = 0xC9C // 3228 SYS___D4TOP = 0xC9D // 3229 SYS___PTOD1 = 0xC9E // 3230 SYS___PTOD2 = 0xC9F // 3231 SYS___PTOD4 = 0xCA0 // 3232 SYS_CLEARERR_UNLOCKED = 0xCA1 // 3233 SYS_FDELREC_UNLOCKED = 0xCA2 // 3234 SYS_FEOF_UNLOCKED = 0xCA3 // 3235 SYS_FERROR_UNLOCKED = 0xCA4 // 3236 SYS_FFLUSH_UNLOCKED = 0xCA5 // 3237 SYS_FGETPOS_UNLOCKED = 0xCA6 // 3238 SYS_FGETWC_UNLOCKED = 0xCA7 // 3239 SYS_FGETWS_UNLOCKED = 0xCA8 // 3240 SYS_FILENO_UNLOCKED = 0xCA9 // 3241 SYS_FLDATA_UNLOCKED = 0xCAA // 3242 SYS_FLOCATE_UNLOCKED = 0xCAB // 3243 SYS_FPRINTF_UNLOCKED = 0xCAC // 3244 SYS_FPUTWC_UNLOCKED = 0xCAD // 3245 SYS_FPUTWS_UNLOCKED = 0xCAE // 3246 SYS_FSCANF_UNLOCKED = 0xCAF // 3247 SYS_FSEEK_UNLOCKED = 0xCB0 // 3248 SYS_FSEEKO_UNLOCKED = 0xCB1 // 3249 SYS_FSETPOS_UNLOCKED = 0xCB3 // 3251 SYS_FTELL_UNLOCKED = 0xCB4 // 3252 SYS_FTELLO_UNLOCKED = 0xCB5 // 3253 SYS_FUPDATE_UNLOCKED = 0xCB7 // 3255 SYS_FWIDE_UNLOCKED = 0xCB8 // 3256 SYS_FWPRINTF_UNLOCKED = 0xCB9 // 3257 SYS_FWSCANF_UNLOCKED = 0xCBA // 3258 SYS_GETWC_UNLOCKED = 0xCBB // 3259 SYS_GETWCHAR_UNLOCKED = 0xCBC // 3260 SYS_PERROR_UNLOCKED = 0xCBD // 3261 SYS_PRINTF_UNLOCKED = 0xCBE // 3262 SYS_PUTWC_UNLOCKED = 0xCBF // 3263 SYS_PUTWCHAR_UNLOCKED = 0xCC0 // 3264 SYS_REWIND_UNLOCKED = 0xCC1 // 3265 SYS_SCANF_UNLOCKED = 0xCC2 // 3266 SYS_UNGETC_UNLOCKED = 0xCC3 // 3267 SYS_UNGETWC_UNLOCKED = 0xCC4 // 3268 SYS_VFPRINTF_UNLOCKED = 0xCC5 // 3269 SYS_VFSCANF_UNLOCKED = 0xCC7 // 3271 SYS_VFWPRINTF_UNLOCKED = 0xCC9 // 3273 SYS_VFWSCANF_UNLOCKED = 0xCCB // 3275 SYS_VPRINTF_UNLOCKED = 0xCCD // 3277 SYS_VSCANF_UNLOCKED = 0xCCF // 3279 SYS_VWPRINTF_UNLOCKED = 0xCD1 // 3281 SYS_VWSCANF_UNLOCKED = 0xCD3 // 3283 SYS_WPRINTF_UNLOCKED = 0xCD5 // 3285 SYS_WSCANF_UNLOCKED = 0xCD6 // 3286 SYS_ASCTIME64 = 0xCD7 // 3287 SYS_ASCTIME64_R = 0xCD8 // 3288 SYS_CTIME64 = 0xCD9 // 3289 SYS_CTIME64_R = 0xCDA // 3290 SYS_DIFFTIME64 = 0xCDB // 3291 SYS_GMTIME64 = 0xCDC // 3292 SYS_GMTIME64_R = 0xCDD // 3293 SYS_LOCALTIME64 = 0xCDE // 3294 SYS_LOCALTIME64_R = 0xCDF // 3295 SYS_MKTIME64 = 0xCE0 // 3296 SYS_TIME64 = 0xCE1 // 3297 SYS___LOGIN_APPLID = 0xCE2 // 3298 SYS___PASSWD_APPLID = 0xCE3 // 3299 SYS_PTHREAD_SECURITY_APPLID_NP = 0xCE4 // 3300 SYS___GETTHENT = 0xCE5 // 3301 SYS_FREEIFADDRS = 0xCE6 // 3302 SYS_GETIFADDRS = 0xCE7 // 3303 SYS_POSIX_FALLOCATE = 0xCE8 // 3304 SYS_POSIX_MEMALIGN = 0xCE9 // 3305 SYS_SIZEOF_ALLOC = 0xCEA // 3306 SYS_RESIZE_ALLOC = 0xCEB // 3307 SYS_FREAD_NOUPDATE = 0xCEC // 3308 SYS_FREAD_NOUPDATE_UNLOCKED = 0xCED // 3309 SYS_FGETPOS64 = 0xCEE // 3310 SYS_FSEEK64 = 0xCEF // 3311 SYS_FSEEKO64 = 0xCF0 // 3312 SYS_FSETPOS64 = 0xCF1 // 3313 SYS_FTELL64 = 0xCF2 // 3314 SYS_FTELLO64 = 0xCF3 // 3315 SYS_FGETPOS64_UNLOCKED = 0xCF4 // 3316 SYS_FSEEK64_UNLOCKED = 0xCF5 // 3317 SYS_FSEEKO64_UNLOCKED = 0xCF6 // 3318 SYS_FSETPOS64_UNLOCKED = 0xCF7 // 3319 SYS_FTELL64_UNLOCKED = 0xCF8 // 3320 SYS_FTELLO64_UNLOCKED = 0xCF9 // 3321 SYS_FOPEN_UNLOCKED = 0xCFA // 3322 SYS_FREOPEN_UNLOCKED = 0xCFB // 3323 SYS_FDOPEN_UNLOCKED = 0xCFC // 3324 SYS_TMPFILE_UNLOCKED = 0xCFD // 3325 SYS___MOSERVICES = 0xD3D // 3389 SYS___GETTOD = 0xD3E // 3390 SYS_C16RTOMB = 0xD40 // 3392 SYS_C32RTOMB = 0xD41 // 3393 SYS_MBRTOC16 = 0xD42 // 3394 SYS_MBRTOC32 = 0xD43 // 3395 SYS_QUANTEXPD32 = 0xD44 // 3396 SYS_QUANTEXPD64 = 0xD45 // 3397 SYS_QUANTEXPD128 = 0xD46 // 3398 SYS___LOCALE_CTL = 0xD47 // 3399 SYS___SMF_RECORD2 = 0xD48 // 3400 SYS_FOPEN64 = 0xD49 // 3401 SYS_FOPEN64_UNLOCKED = 0xD4A // 3402 SYS_FREOPEN64 = 0xD4B // 3403 SYS_FREOPEN64_UNLOCKED = 0xD4C // 3404 SYS_TMPFILE64 = 0xD4D // 3405 SYS_TMPFILE64_UNLOCKED = 0xD4E // 3406 SYS_GETDATE64 = 0xD4F // 3407 SYS_GETTIMEOFDAY64 = 0xD50 // 3408 SYS_BIND2ADDRSEL = 0xD59 // 3417 SYS_INET6_IS_SRCADDR = 0xD5A // 3418 SYS___GETGRGID1 = 0xD5B // 3419 SYS___GETGRNAM1 = 0xD5C // 3420 SYS___FBUFSIZE = 0xD60 // 3424 SYS___FPENDING = 0xD61 // 3425 SYS___FLBF = 0xD62 // 3426 SYS___FREADABLE = 0xD63 // 3427 SYS___FWRITABLE = 0xD64 // 3428 SYS___FREADING = 0xD65 // 3429 SYS___FWRITING = 0xD66 // 3430 SYS___FSETLOCKING = 0xD67 // 3431 SYS__FLUSHLBF = 0xD68 // 3432 SYS___FPURGE = 0xD69 // 3433 SYS___FREADAHEAD = 0xD6A // 3434 SYS___FSETERR = 0xD6B // 3435 SYS___FPENDING_UNLOCKED = 0xD6C // 3436 SYS___FREADING_UNLOCKED = 0xD6D // 3437 SYS___FWRITING_UNLOCKED = 0xD6E // 3438 SYS__FLUSHLBF_UNLOCKED = 0xD6F // 3439 SYS___FPURGE_UNLOCKED = 0xD70 // 3440 SYS___FREADAHEAD_UNLOCKED = 0xD71 // 3441 SYS___LE_CEEGTJS = 0xD72 // 3442 SYS___LE_RECORD_DUMP = 0xD73 // 3443 SYS_FSTAT64 = 0xD74 // 3444 SYS_LSTAT64 = 0xD75 // 3445 SYS_STAT64 = 0xD76 // 3446 SYS___READDIR2_64 = 0xD77 // 3447 SYS___OPEN_STAT64 = 0xD78 // 3448 SYS_FTW64 = 0xD79 // 3449 SYS_NFTW64 = 0xD7A // 3450 SYS_UTIME64 = 0xD7B // 3451 SYS_UTIMES64 = 0xD7C // 3452 SYS___GETIPC64 = 0xD7D // 3453 SYS_MSGCTL64 = 0xD7E // 3454 SYS_SEMCTL64 = 0xD7F // 3455 SYS_SHMCTL64 = 0xD80 // 3456 SYS_MSGXRCV64 = 0xD81 // 3457 SYS___MGXR64 = 0xD81 // 3457 SYS_W_GETPSENT64 = 0xD82 // 3458 SYS_PTHREAD_COND_TIMEDWAIT64 = 0xD83 // 3459 SYS_FTIME64 = 0xD85 // 3461 SYS_GETUTXENT64 = 0xD86 // 3462 SYS_GETUTXID64 = 0xD87 // 3463 SYS_GETUTXLINE64 = 0xD88 // 3464 SYS_PUTUTXLINE64 = 0xD89 // 3465 SYS_NEWLOCALE = 0xD8A // 3466 SYS_FREELOCALE = 0xD8B // 3467 SYS_USELOCALE = 0xD8C // 3468 SYS_DUPLOCALE = 0xD8D // 3469 SYS___CHATTR64 = 0xD9C // 3484 SYS___LCHATTR64 = 0xD9D // 3485 SYS___FCHATTR64 = 0xD9E // 3486 SYS_____CHATTR64_A = 0xD9F // 3487 SYS_____LCHATTR64_A = 0xDA0 // 3488 SYS___LE_CEEUSGD = 0xDA1 // 3489 SYS___LE_IFAM_CON = 0xDA2 // 3490 SYS___LE_IFAM_DSC = 0xDA3 // 3491 SYS___LE_IFAM_GET = 0xDA4 // 3492 SYS___LE_IFAM_QRY = 0xDA5 // 3493 SYS_ALIGNED_ALLOC = 0xDA6 // 3494 SYS_ACCEPT4 = 0xDA7 // 3495 SYS___ACCEPT4_A = 0xDA8 // 3496 SYS_COPYFILERANGE = 0xDA9 // 3497 SYS_GETLINE = 0xDAA // 3498 SYS___GETLINE_A = 0xDAB // 3499 SYS_DIRFD = 0xDAC // 3500 SYS_CLOCK_GETTIME = 0xDAD // 3501 SYS_DUP3 = 0xDAE // 3502 SYS_EPOLL_CREATE = 0xDAF // 3503 SYS_EPOLL_CREATE1 = 0xDB0 // 3504 SYS_EPOLL_CTL = 0xDB1 // 3505 SYS_EPOLL_WAIT = 0xDB2 // 3506 SYS_EPOLL_PWAIT = 0xDB3 // 3507 SYS_EVENTFD = 0xDB4 // 3508 SYS_STATFS = 0xDB5 // 3509 SYS___STATFS_A = 0xDB6 // 3510 SYS_FSTATFS = 0xDB7 // 3511 SYS_INOTIFY_INIT = 0xDB8 // 3512 SYS_INOTIFY_INIT1 = 0xDB9 // 3513 SYS_INOTIFY_ADD_WATCH = 0xDBA // 3514 SYS___INOTIFY_ADD_WATCH_A = 0xDBB // 3515 SYS_INOTIFY_RM_WATCH = 0xDBC // 3516 SYS_PIPE2 = 0xDBD // 3517 SYS_PIVOT_ROOT = 0xDBE // 3518 SYS___PIVOT_ROOT_A = 0xDBF // 3519 SYS_PRCTL = 0xDC0 // 3520 SYS_PRLIMIT = 0xDC1 // 3521 SYS_SETHOSTNAME = 0xDC2 // 3522 SYS___SETHOSTNAME_A = 0xDC3 // 3523 SYS_SETRESUID = 0xDC4 // 3524 SYS_SETRESGID = 0xDC5 // 3525 SYS_PTHREAD_CONDATTR_GETCLOCK = 0xDC6 // 3526 SYS_FLOCK = 0xDC7 // 3527 SYS_FGETXATTR = 0xDC8 // 3528 SYS___FGETXATTR_A = 0xDC9 // 3529 SYS_FLISTXATTR = 0xDCA // 3530 SYS___FLISTXATTR_A = 0xDCB // 3531 SYS_FREMOVEXATTR = 0xDCC // 3532 SYS___FREMOVEXATTR_A = 0xDCD // 3533 SYS_FSETXATTR = 0xDCE // 3534 SYS___FSETXATTR_A = 0xDCF // 3535 SYS_GETXATTR = 0xDD0 // 3536 SYS___GETXATTR_A = 0xDD1 // 3537 SYS_LGETXATTR = 0xDD2 // 3538 SYS___LGETXATTR_A = 0xDD3 // 3539 SYS_LISTXATTR = 0xDD4 // 3540 SYS___LISTXATTR_A = 0xDD5 // 3541 SYS_LLISTXATTR = 0xDD6 // 3542 SYS___LLISTXATTR_A = 0xDD7 // 3543 SYS_LREMOVEXATTR = 0xDD8 // 3544 SYS___LREMOVEXATTR_A = 0xDD9 // 3545 SYS_LSETXATTR = 0xDDA // 3546 SYS___LSETXATTR_A = 0xDDB // 3547 SYS_REMOVEXATTR = 0xDDC // 3548 SYS___REMOVEXATTR_A = 0xDDD // 3549 SYS_SETXATTR = 0xDDE // 3550 SYS___SETXATTR_A = 0xDDF // 3551 SYS_FDATASYNC = 0xDE0 // 3552 SYS_SYNCFS = 0xDE1 // 3553 SYS_FUTIMES = 0xDE2 // 3554 SYS_FUTIMESAT = 0xDE3 // 3555 SYS___FUTIMESAT_A = 0xDE4 // 3556 SYS_LUTIMES = 0xDE5 // 3557 SYS___LUTIMES_A = 0xDE6 // 3558 SYS_INET_ATON = 0xDE7 // 3559 SYS_GETRANDOM = 0xDE8 // 3560 SYS_GETTID = 0xDE9 // 3561 SYS_MEMFD_CREATE = 0xDEA // 3562 SYS___MEMFD_CREATE_A = 0xDEB // 3563 SYS_FACCESSAT = 0xDEC // 3564 SYS___FACCESSAT_A = 0xDED // 3565 SYS_FCHMODAT = 0xDEE // 3566 SYS___FCHMODAT_A = 0xDEF // 3567 SYS_FCHOWNAT = 0xDF0 // 3568 SYS___FCHOWNAT_A = 0xDF1 // 3569 SYS_FSTATAT = 0xDF2 // 3570 SYS___FSTATAT_A = 0xDF3 // 3571 SYS_LINKAT = 0xDF4 // 3572 SYS___LINKAT_A = 0xDF5 // 3573 SYS_MKDIRAT = 0xDF6 // 3574 SYS___MKDIRAT_A = 0xDF7 // 3575 SYS_MKFIFOAT = 0xDF8 // 3576 SYS___MKFIFOAT_A = 0xDF9 // 3577 SYS_MKNODAT = 0xDFA // 3578 SYS___MKNODAT_A = 0xDFB // 3579 SYS_OPENAT = 0xDFC // 3580 SYS___OPENAT_A = 0xDFD // 3581 SYS_READLINKAT = 0xDFE // 3582 SYS___READLINKAT_A = 0xDFF // 3583 SYS_RENAMEAT = 0xE00 // 3584 SYS___RENAMEAT_A = 0xE01 // 3585 SYS_RENAMEAT2 = 0xE02 // 3586 SYS___RENAMEAT2_A = 0xE03 // 3587 SYS_SYMLINKAT = 0xE04 // 3588 SYS___SYMLINKAT_A = 0xE05 // 3589 SYS_UNLINKAT = 0xE06 // 3590 SYS___UNLINKAT_A = 0xE07 // 3591 SYS_SYSINFO = 0xE08 // 3592 SYS_WAIT4 = 0xE0A // 3594 SYS_CLONE = 0xE0B // 3595 SYS_UNSHARE = 0xE0C // 3596 SYS_SETNS = 0xE0D // 3597 SYS_CAPGET = 0xE0E // 3598 SYS_CAPSET = 0xE0F // 3599 SYS_STRCHRNUL = 0xE10 // 3600 SYS_PTHREAD_CONDATTR_SETCLOCK = 0xE12 // 3602 SYS_OPEN_BY_HANDLE_AT = 0xE13 // 3603 SYS___OPEN_BY_HANDLE_AT_A = 0xE14 // 3604 SYS___INET_ATON_A = 0xE15 // 3605 SYS_MOUNT1 = 0xE16 // 3606 SYS___MOUNT1_A = 0xE17 // 3607 SYS_UMOUNT1 = 0xE18 // 3608 SYS___UMOUNT1_A = 0xE19 // 3609 SYS_UMOUNT2 = 0xE1A // 3610 SYS___UMOUNT2_A = 0xE1B // 3611 SYS___PRCTL_A = 0xE1C // 3612 SYS_LOCALTIME_R2 = 0xE1D // 3613 SYS___LOCALTIME_R2_A = 0xE1E // 3614 SYS_OPENAT2 = 0xE1F // 3615 SYS___OPENAT2_A = 0xE20 // 3616 SYS___LE_CEEMICT = 0xE21 // 3617 SYS_GETENTROPY = 0xE22 // 3618 SYS_NANOSLEEP = 0xE23 // 3619 SYS_UTIMENSAT = 0xE24 // 3620 SYS___UTIMENSAT_A = 0xE25 // 3621 SYS_ASPRINTF = 0xE26 // 3622 SYS___ASPRINTF_A = 0xE27 // 3623 SYS_VASPRINTF = 0xE28 // 3624 SYS___VASPRINTF_A = 0xE29 // 3625 SYS_DPRINTF = 0xE2A // 3626 SYS___DPRINTF_A = 0xE2B // 3627 SYS_GETOPT_LONG = 0xE2C // 3628 SYS___GETOPT_LONG_A = 0xE2D // 3629 SYS_PSIGNAL = 0xE2E // 3630 SYS___PSIGNAL_A = 0xE2F // 3631 SYS_PSIGNAL_UNLOCKED = 0xE30 // 3632 SYS___PSIGNAL_UNLOCKED_A = 0xE31 // 3633 SYS_FSTATAT_O = 0xE32 // 3634 SYS___FSTATAT_O_A = 0xE33 // 3635 SYS_FSTATAT64 = 0xE34 // 3636 SYS___FSTATAT64_A = 0xE35 // 3637 SYS___CHATTRAT = 0xE36 // 3638 SYS_____CHATTRAT_A = 0xE37 // 3639 SYS___CHATTRAT64 = 0xE38 // 3640 SYS_____CHATTRAT64_A = 0xE39 // 3641 SYS_MADVISE = 0xE3A // 3642 SYS___AUTHENTICATE = 0xE3B // 3643 ) dependencies/pkg/mod/golang.org/x/sys@v0.26.0/unix/zsyscall_linux_ppc64.go0000644000000000000000000004345215107355264025247 0ustar rootroot// go run mksyscall.go -tags linux,ppc64 syscall_linux.go syscall_linux_ppc64x.go syscall_linux_alarm.go // Code generated by the command above; see README.md. DO NOT EDIT. //go: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 fanotifyMark(fd int, flags uint, mask uint64, dirFd int, pathname *byte) (err error) { _, _, e1 := Syscall6(SYS_FANOTIFY_MARK, uintptr(fd), uintptr(flags), uintptr(mask), uintptr(dirFd), uintptr(unsafe.Pointer(pathname)), 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 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 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 Fstatat(dirfd int, path string, stat *Stat_t, flags int) (err error) { var _p0 *byte _p0, err = BytePtrFromString(path) if err != nil { return } _, _, e1 := Syscall6(SYS_NEWFSTATAT, uintptr(dirfd), 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, _ := RawSyscallNoError(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, _ := RawSyscallNoError(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, _ := RawSyscallNoError(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, _ := RawSyscallNoError(SYS_GETUID, 0, 0, 0) uid = int(r0) 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 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 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__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_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) (prev int, err error) { r0, _, e1 := Syscall(SYS_SETFSGID, uintptr(gid), 0, 0) prev = int(r0) if e1 != 0 { err = errnoErr(e1) } return } // THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT func setfsuid(uid int) (prev int, err error) { r0, _, e1 := Syscall(SYS_SETFSUID, uintptr(uid), 0, 0) prev = int(r0) 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 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 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 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 futimesat(dirfd int, path string, times *[2]Timeval) (err error) { var _p0 *byte _p0, err = BytePtrFromString(path) if err != nil { return } _, _, e1 := Syscall(SYS_FUTIMESAT, uintptr(dirfd), uintptr(unsafe.Pointer(_p0)), 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 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 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 syncFileRange2(fd int, flags int, off int64, n int64) (err error) { _, _, e1 := Syscall6(SYS_SYNC_FILE_RANGE2, uintptr(fd), uintptr(flags), uintptr(off), uintptr(n), 0, 0) if e1 != 0 { err = errnoErr(e1) } return } // THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT func kexecFileLoad(kernelFd int, initrdFd int, cmdlineLen int, cmdline string, flags int) (err error) { var _p0 *byte _p0, err = BytePtrFromString(cmdline) if err != nil { return } _, _, e1 := Syscall6(SYS_KEXEC_FILE_LOAD, uintptr(kernelFd), uintptr(initrdFd), uintptr(cmdlineLen), 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 Alarm(seconds uint) (remaining uint, err error) { r0, _, e1 := Syscall(SYS_ALARM, uintptr(seconds), 0, 0) remaining = uint(r0) if e1 != 0 { err = errnoErr(e1) } return } dependencies/pkg/mod/golang.org/x/sys@v0.26.0/unix/zerrors_linux_mipsle.go0000644000000000000000000010600415107355264025437 0ustar rootroot// mkerrors.sh -Wall -Werror -static -I/tmp/mipsle/include // Code generated by the command above; see README.md. DO NOT EDIT. //go:build mipsle && linux // Code generated by cmd/cgo -godefs; DO NOT EDIT. // cgo -godefs -- -Wall -Werror -static -I/tmp/mipsle/include _const.go package unix import "syscall" const ( B1000000 = 0x1008 B115200 = 0x1002 B1152000 = 0x1009 B1500000 = 0x100a B2000000 = 0x100b B230400 = 0x1003 B2500000 = 0x100c B3000000 = 0x100d B3500000 = 0x100e B4000000 = 0x100f B460800 = 0x1004 B500000 = 0x1005 B57600 = 0x1001 B576000 = 0x1006 B921600 = 0x1007 BLKALIGNOFF = 0x2000127a BLKBSZGET = 0x40041270 BLKBSZSET = 0x80041271 BLKDISCARD = 0x20001277 BLKDISCARDZEROES = 0x2000127c BLKFLSBUF = 0x20001261 BLKFRAGET = 0x20001265 BLKFRASET = 0x20001264 BLKGETDISKSEQ = 0x40081280 BLKGETSIZE = 0x20001260 BLKGETSIZE64 = 0x40041272 BLKIOMIN = 0x20001278 BLKIOOPT = 0x20001279 BLKPBSZGET = 0x2000127b BLKRAGET = 0x20001263 BLKRASET = 0x20001262 BLKROGET = 0x2000125e BLKROSET = 0x2000125d BLKROTATIONAL = 0x2000127e BLKRRPART = 0x2000125f BLKSECDISCARD = 0x2000127d BLKSECTGET = 0x20001267 BLKSECTSET = 0x20001266 BLKSSZGET = 0x20001268 BLKZEROOUT = 0x2000127f BOTHER = 0x1000 BS1 = 0x2000 BSDLY = 0x2000 CBAUD = 0x100f CBAUDEX = 0x1000 CIBAUD = 0x100f0000 CLOCAL = 0x800 CR1 = 0x200 CR2 = 0x400 CR3 = 0x600 CRDLY = 0x600 CREAD = 0x80 CS6 = 0x10 CS7 = 0x20 CS8 = 0x30 CSIZE = 0x30 CSTOPB = 0x40 ECCGETLAYOUT = 0x41484d11 ECCGETSTATS = 0x40104d12 ECHOCTL = 0x200 ECHOE = 0x10 ECHOK = 0x20 ECHOKE = 0x800 ECHONL = 0x40 ECHOPRT = 0x400 EFD_CLOEXEC = 0x80000 EFD_NONBLOCK = 0x80 EPIOCGPARAMS = 0x40088a02 EPIOCSPARAMS = 0x80088a01 EPOLL_CLOEXEC = 0x80000 EXTPROC = 0x10000 FF1 = 0x8000 FFDLY = 0x8000 FICLONE = 0x80049409 FICLONERANGE = 0x8020940d FLUSHO = 0x2000 FS_IOC_ENABLE_VERITY = 0x80806685 FS_IOC_GETFLAGS = 0x40046601 FS_IOC_GET_ENCRYPTION_NONCE = 0x4010661b FS_IOC_GET_ENCRYPTION_POLICY = 0x800c6615 FS_IOC_GET_ENCRYPTION_PWSALT = 0x80106614 FS_IOC_SETFLAGS = 0x80046602 FS_IOC_SET_ENCRYPTION_POLICY = 0x400c6613 F_GETLK = 0x21 F_GETLK64 = 0x21 F_GETOWN = 0x17 F_RDLCK = 0x0 F_SETLK = 0x22 F_SETLK64 = 0x22 F_SETLKW = 0x23 F_SETLKW64 = 0x23 F_SETOWN = 0x18 F_UNLCK = 0x2 F_WRLCK = 0x1 HIDIOCGRAWINFO = 0x40084803 HIDIOCGRDESC = 0x50044802 HIDIOCGRDESCSIZE = 0x40044801 HUPCL = 0x400 ICANON = 0x2 IEXTEN = 0x100 IN_CLOEXEC = 0x80000 IN_NONBLOCK = 0x80 IOCTL_VM_SOCKETS_GET_LOCAL_CID = 0x200007b9 ISIG = 0x1 IUCLC = 0x200 IXOFF = 0x1000 IXON = 0x400 MAP_ANON = 0x800 MAP_ANONYMOUS = 0x800 MAP_DENYWRITE = 0x2000 MAP_EXECUTABLE = 0x4000 MAP_GROWSDOWN = 0x1000 MAP_HUGETLB = 0x80000 MAP_LOCKED = 0x8000 MAP_NONBLOCK = 0x20000 MAP_NORESERVE = 0x400 MAP_POPULATE = 0x10000 MAP_RENAME = 0x800 MAP_STACK = 0x40000 MCL_CURRENT = 0x1 MCL_FUTURE = 0x2 MCL_ONFAULT = 0x4 MEMERASE = 0x80084d02 MEMERASE64 = 0x80104d14 MEMGETBADBLOCK = 0x80084d0b MEMGETINFO = 0x40204d01 MEMGETOOBSEL = 0x40c84d0a MEMGETREGIONCOUNT = 0x40044d07 MEMISLOCKED = 0x40084d17 MEMLOCK = 0x80084d05 MEMREAD = 0xc0404d1a MEMREADOOB = 0xc00c4d04 MEMSETBADBLOCK = 0x80084d0c MEMUNLOCK = 0x80084d06 MEMWRITEOOB = 0xc00c4d03 MTDFILEMODE = 0x20004d13 NFDBITS = 0x20 NLDLY = 0x100 NOFLSH = 0x80 NS_GET_MNTNS_ID = 0x4008b705 NS_GET_NSTYPE = 0x2000b703 NS_GET_OWNER_UID = 0x2000b704 NS_GET_PARENT = 0x2000b702 NS_GET_PID_FROM_PIDNS = 0x4004b706 NS_GET_PID_IN_PIDNS = 0x4004b708 NS_GET_TGID_FROM_PIDNS = 0x4004b707 NS_GET_TGID_IN_PIDNS = 0x4004b709 NS_GET_USERNS = 0x2000b701 OLCUC = 0x2 ONLCR = 0x4 OTPERASE = 0x800c4d19 OTPGETREGIONCOUNT = 0x80044d0e OTPGETREGIONINFO = 0x800c4d0f OTPLOCK = 0x400c4d10 OTPSELECT = 0x40044d0d 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_RSYNC = 0x4010 O_SYNC = 0x4010 O_TMPFILE = 0x410000 O_TRUNC = 0x200 PARENB = 0x100 PARODD = 0x200 PENDIN = 0x4000 PERF_EVENT_IOC_DISABLE = 0x20002401 PERF_EVENT_IOC_ENABLE = 0x20002400 PERF_EVENT_IOC_ID = 0x40042407 PERF_EVENT_IOC_MODIFY_ATTRIBUTES = 0x8004240b PERF_EVENT_IOC_PAUSE_OUTPUT = 0x80042409 PERF_EVENT_IOC_PERIOD = 0x80082404 PERF_EVENT_IOC_QUERY_BPF = 0xc004240a PERF_EVENT_IOC_REFRESH = 0x20002402 PERF_EVENT_IOC_RESET = 0x20002403 PERF_EVENT_IOC_SET_BPF = 0x80042408 PERF_EVENT_IOC_SET_FILTER = 0x80042406 PERF_EVENT_IOC_SET_OUTPUT = 0x20002405 PPPIOCATTACH = 0x8004743d PPPIOCATTCHAN = 0x80047438 PPPIOCBRIDGECHAN = 0x80047435 PPPIOCCONNECT = 0x8004743a PPPIOCDETACH = 0x8004743c PPPIOCDISCONN = 0x20007439 PPPIOCGASYNCMAP = 0x40047458 PPPIOCGCHAN = 0x40047437 PPPIOCGDEBUG = 0x40047441 PPPIOCGFLAGS = 0x4004745a PPPIOCGIDLE = 0x4008743f PPPIOCGIDLE32 = 0x4008743f PPPIOCGIDLE64 = 0x4010743f PPPIOCGL2TPSTATS = 0x40487436 PPPIOCGMRU = 0x40047453 PPPIOCGRASYNCMAP = 0x40047455 PPPIOCGUNIT = 0x40047456 PPPIOCGXASYNCMAP = 0x40207450 PPPIOCSACTIVE = 0x80087446 PPPIOCSASYNCMAP = 0x80047457 PPPIOCSCOMPRESS = 0x800c744d PPPIOCSDEBUG = 0x80047440 PPPIOCSFLAGS = 0x80047459 PPPIOCSMAXCID = 0x80047451 PPPIOCSMRRU = 0x8004743b PPPIOCSMRU = 0x80047452 PPPIOCSNPMODE = 0x8008744b PPPIOCSPASS = 0x80087447 PPPIOCSRASYNCMAP = 0x80047454 PPPIOCSXASYNCMAP = 0x8020744f PPPIOCUNBRIDGECHAN = 0x20007434 PPPIOCXFERUNIT = 0x2000744e PR_SET_PTRACER_ANY = 0xffffffff PTRACE_GETFPREGS = 0xe PTRACE_GET_THREAD_AREA = 0x19 PTRACE_GET_THREAD_AREA_3264 = 0xc4 PTRACE_GET_WATCH_REGS = 0xd0 PTRACE_OLDSETOPTIONS = 0x15 PTRACE_PEEKDATA_3264 = 0xc1 PTRACE_PEEKTEXT_3264 = 0xc0 PTRACE_POKEDATA_3264 = 0xc3 PTRACE_POKETEXT_3264 = 0xc2 PTRACE_SETFPREGS = 0xf PTRACE_SET_THREAD_AREA = 0x1a PTRACE_SET_WATCH_REGS = 0xd1 RLIMIT_AS = 0x6 RLIMIT_MEMLOCK = 0x9 RLIMIT_NOFILE = 0x5 RLIMIT_NPROC = 0x8 RLIMIT_RSS = 0x7 RNDADDENTROPY = 0x80085203 RNDADDTOENTCNT = 0x80045201 RNDCLEARPOOL = 0x20005206 RNDGETENTCNT = 0x40045200 RNDGETPOOL = 0x40085202 RNDRESEEDCRNG = 0x20005207 RNDZAPENTCNT = 0x20005204 RTC_AIE_OFF = 0x20007002 RTC_AIE_ON = 0x20007001 RTC_ALM_READ = 0x40247008 RTC_ALM_SET = 0x80247007 RTC_EPOCH_READ = 0x4004700d RTC_EPOCH_SET = 0x8004700e RTC_IRQP_READ = 0x4004700b RTC_IRQP_SET = 0x8004700c RTC_PARAM_GET = 0x80187013 RTC_PARAM_SET = 0x80187014 RTC_PIE_OFF = 0x20007006 RTC_PIE_ON = 0x20007005 RTC_PLL_GET = 0x401c7011 RTC_PLL_SET = 0x801c7012 RTC_RD_TIME = 0x40247009 RTC_SET_TIME = 0x8024700a RTC_UIE_OFF = 0x20007004 RTC_UIE_ON = 0x20007003 RTC_VL_CLR = 0x20007014 RTC_VL_READ = 0x40047013 RTC_WIE_OFF = 0x20007010 RTC_WIE_ON = 0x2000700f RTC_WKALM_RD = 0x40287010 RTC_WKALM_SET = 0x8028700f SCM_TIMESTAMPING = 0x25 SCM_TIMESTAMPING_OPT_STATS = 0x36 SCM_TIMESTAMPING_PKTINFO = 0x3a SCM_TIMESTAMPNS = 0x23 SCM_TXTIME = 0x3d SCM_WIFI_STATUS = 0x29 SECCOMP_IOCTL_NOTIF_ADDFD = 0x80182103 SECCOMP_IOCTL_NOTIF_ID_VALID = 0x80082102 SECCOMP_IOCTL_NOTIF_SET_FLAGS = 0x80082104 SFD_CLOEXEC = 0x80000 SFD_NONBLOCK = 0x80 SIOCATMARK = 0x40047307 SIOCGPGRP = 0x40047309 SIOCGSTAMPNS_NEW = 0x40108907 SIOCGSTAMP_NEW = 0x40108906 SIOCINQ = 0x467f SIOCOUTQ = 0x7472 SIOCSPGRP = 0x80047308 SOCK_CLOEXEC = 0x80000 SOCK_DGRAM = 0x1 SOCK_NONBLOCK = 0x80 SOCK_STREAM = 0x2 SOL_SOCKET = 0xffff SO_ACCEPTCONN = 0x1009 SO_ATTACH_BPF = 0x32 SO_ATTACH_REUSEPORT_CBPF = 0x33 SO_ATTACH_REUSEPORT_EBPF = 0x34 SO_BINDTODEVICE = 0x19 SO_BINDTOIFINDEX = 0x3e SO_BPF_EXTENSIONS = 0x30 SO_BROADCAST = 0x20 SO_BSDCOMPAT = 0xe SO_BUF_LOCK = 0x48 SO_BUSY_POLL = 0x2e SO_BUSY_POLL_BUDGET = 0x46 SO_CNX_ADVICE = 0x35 SO_COOKIE = 0x39 SO_DETACH_REUSEPORT_BPF = 0x44 SO_DOMAIN = 0x1029 SO_DONTROUTE = 0x10 SO_ERROR = 0x1007 SO_INCOMING_CPU = 0x31 SO_INCOMING_NAPI_ID = 0x38 SO_KEEPALIVE = 0x8 SO_LINGER = 0x80 SO_LOCK_FILTER = 0x2c SO_MARK = 0x24 SO_MAX_PACING_RATE = 0x2f SO_MEMINFO = 0x37 SO_NETNS_COOKIE = 0x47 SO_NOFCS = 0x2b SO_OOBINLINE = 0x100 SO_PASSCRED = 0x11 SO_PASSPIDFD = 0x4c SO_PASSSEC = 0x22 SO_PEEK_OFF = 0x2a SO_PEERCRED = 0x12 SO_PEERGROUPS = 0x3b SO_PEERPIDFD = 0x4d SO_PEERSEC = 0x1e SO_PREFER_BUSY_POLL = 0x45 SO_PROTOCOL = 0x1028 SO_RCVBUF = 0x1002 SO_RCVBUFFORCE = 0x21 SO_RCVLOWAT = 0x1004 SO_RCVMARK = 0x4b SO_RCVTIMEO = 0x1006 SO_RCVTIMEO_NEW = 0x42 SO_RCVTIMEO_OLD = 0x1006 SO_RESERVE_MEM = 0x49 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_SNDTIMEO_NEW = 0x43 SO_SNDTIMEO_OLD = 0x1005 SO_STYLE = 0x1008 SO_TIMESTAMPING = 0x25 SO_TIMESTAMPING_NEW = 0x41 SO_TIMESTAMPING_OLD = 0x25 SO_TIMESTAMPNS = 0x23 SO_TIMESTAMPNS_NEW = 0x40 SO_TIMESTAMPNS_OLD = 0x23 SO_TIMESTAMP_NEW = 0x3f SO_TXREHASH = 0x4a SO_TXTIME = 0x3d SO_TYPE = 0x1008 SO_WIFI_STATUS = 0x29 SO_ZEROCOPY = 0x3c TAB1 = 0x800 TAB2 = 0x1000 TAB3 = 0x1800 TABDLY = 0x1800 TCFLSH = 0x5407 TCGETA = 0x5401 TCGETS = 0x540d TCGETS2 = 0x4030542a 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 TFD_CLOEXEC = 0x80000 TFD_NONBLOCK = 0x80 TIOCCBRK = 0x5428 TIOCCONS = 0x80047478 TIOCEXCL = 0x740d TIOCGDEV = 0x40045432 TIOCGETD = 0x7400 TIOCGETP = 0x7408 TIOCGEXCL = 0x40045440 TIOCGICOUNT = 0x5492 TIOCGISO7816 = 0x40285442 TIOCGLCKTRMIOS = 0x548b TIOCGLTC = 0x7474 TIOCGPGRP = 0x40047477 TIOCGPKT = 0x40045438 TIOCGPTLCK = 0x40045439 TIOCGPTN = 0x40045430 TIOCGPTPEER = 0x20005441 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_RI = 0x200 TIOCM_RNG = 0x200 TIOCM_SR = 0x20 TIOCM_ST = 0x10 TIOCNOTTY = 0x5471 TIOCNXCL = 0x740e TIOCOUTQ = 0x7472 TIOCPKT = 0x5470 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 TIOCSISO7816 = 0xc0285443 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 TUNGETDEVNETNS = 0x200054e3 TUNGETFEATURES = 0x400454cf TUNGETFILTER = 0x400854db TUNGETIFF = 0x400454d2 TUNGETSNDBUF = 0x400454d3 TUNGETVNETBE = 0x400454df TUNGETVNETHDRSZ = 0x400454d7 TUNGETVNETLE = 0x400454dd TUNSETCARRIER = 0x800454e2 TUNSETDEBUG = 0x800454c9 TUNSETFILTEREBPF = 0x400454e1 TUNSETGROUP = 0x800454ce TUNSETIFF = 0x800454ca TUNSETIFINDEX = 0x800454da TUNSETLINK = 0x800454cd TUNSETNOCSUM = 0x800454c8 TUNSETOFFLOAD = 0x800454d0 TUNSETOWNER = 0x800454cc TUNSETPERSIST = 0x800454cb TUNSETQUEUE = 0x800454d9 TUNSETSNDBUF = 0x800454d4 TUNSETSTEERINGEBPF = 0x400454e0 TUNSETTXFILTER = 0x800454d1 TUNSETVNETBE = 0x800454de TUNSETVNETHDRSZ = 0x800454d8 TUNSETVNETLE = 0x800454dc UBI_IOCATT = 0x80186f40 UBI_IOCDET = 0x80046f41 UBI_IOCEBCH = 0x80044f02 UBI_IOCEBER = 0x80044f01 UBI_IOCEBISMAP = 0x40044f05 UBI_IOCEBMAP = 0x80084f03 UBI_IOCEBUNMAP = 0x80044f04 UBI_IOCMKVOL = 0x80986f00 UBI_IOCRMVOL = 0x80046f01 UBI_IOCRNVOL = 0x91106f03 UBI_IOCRPEB = 0x80046f04 UBI_IOCRSVOL = 0x800c6f02 UBI_IOCSETVOLPROP = 0x80104f06 UBI_IOCSPEB = 0x80046f05 UBI_IOCVOLCRBLK = 0x80804f07 UBI_IOCVOLRMBLK = 0x20004f08 UBI_IOCVOLUP = 0x80084f00 VDISCARD = 0xd VEOF = 0x10 VEOL = 0x11 VEOL2 = 0x6 VMIN = 0x4 VREPRINT = 0xc VSTART = 0x8 VSTOP = 0x9 VSUSP = 0xa VSWTC = 0x7 VSWTCH = 0x7 VT1 = 0x4000 VTDLY = 0x4000 VTIME = 0x5 VWERASE = 0xe WDIOC_GETBOOTSTATUS = 0x40045702 WDIOC_GETPRETIMEOUT = 0x40045709 WDIOC_GETSTATUS = 0x40045701 WDIOC_GETSUPPORT = 0x40285700 WDIOC_GETTEMP = 0x40045703 WDIOC_GETTIMELEFT = 0x4004570a WDIOC_GETTIMEOUT = 0x40045707 WDIOC_KEEPALIVE = 0x40045705 WDIOC_SETOPTIONS = 0x40045704 WORDSIZE = 0x20 XCASE = 0x4 XTABS = 0x1800 _HIDIOCGRAWNAME = 0x40804804 _HIDIOCGRAWPHYS = 0x40404805 _HIDIOCGRAWUNIQ = 0x40404808 ) // Errors const ( EADDRINUSE = syscall.Errno(0x7d) EADDRNOTAVAIL = syscall.Errno(0x7e) EADV = syscall.Errno(0x44) EAFNOSUPPORT = syscall.Errno(0x7c) EALREADY = syscall.Errno(0x95) EBADE = syscall.Errno(0x32) EBADFD = syscall.Errno(0x51) EBADMSG = syscall.Errno(0x4d) EBADR = syscall.Errno(0x33) EBADRQC = syscall.Errno(0x36) EBADSLT = syscall.Errno(0x37) EBFONT = syscall.Errno(0x3b) ECANCELED = syscall.Errno(0x9e) 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) EDOTDOT = syscall.Errno(0x49) EDQUOT = syscall.Errno(0x46d) 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) EISCONN = syscall.Errno(0x85) 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) 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) ENOANO = syscall.Errno(0x35) ENOBUFS = syscall.Errno(0x84) ENOCSI = syscall.Errno(0x2b) ENODATA = syscall.Errno(0x3d) ENOKEY = syscall.Errno(0xa1) ENOLCK = syscall.Errno(0x2e) ENOLINK = syscall.Errno(0x43) ENOMEDIUM = syscall.Errno(0x9f) ENOMSG = syscall.Errno(0x23) ENONET = syscall.Errno(0x40) ENOPKG = syscall.Errno(0x41) ENOPROTOOPT = syscall.Errno(0x63) ENOSR = syscall.Errno(0x3f) ENOSTR = syscall.Errno(0x3c) ENOSYS = syscall.Errno(0x59) ENOTCONN = syscall.Errno(0x86) ENOTEMPTY = syscall.Errno(0x5d) ENOTNAM = syscall.Errno(0x89) ENOTRECOVERABLE = syscall.Errno(0xa6) ENOTSOCK = syscall.Errno(0x5f) ENOTSUP = syscall.Errno(0x7a) ENOTUNIQ = syscall.Errno(0x50) EOPNOTSUPP = syscall.Errno(0x7a) EOVERFLOW = syscall.Errno(0x4f) EOWNERDEAD = syscall.Errno(0xa5) EPFNOSUPPORT = syscall.Errno(0x7b) EPROTO = syscall.Errno(0x47) EPROTONOSUPPORT = syscall.Errno(0x78) EPROTOTYPE = syscall.Errno(0x62) EREMCHG = syscall.Errno(0x52) EREMDEV = syscall.Errno(0x8e) EREMOTE = syscall.Errno(0x42) EREMOTEIO = syscall.Errno(0x8c) ERESTART = syscall.Errno(0x5b) ERFKILL = syscall.Errno(0xa7) ESHUTDOWN = syscall.Errno(0x8f) ESOCKTNOSUPPORT = syscall.Errno(0x79) ESRMNT = syscall.Errno(0x45) ESTALE = syscall.Errno(0x97) ESTRPIPE = syscall.Errno(0x5c) ETIME = syscall.Errno(0x3e) ETIMEDOUT = syscall.Errno(0x91) ETOOMANYREFS = syscall.Errno(0x90) EUCLEAN = syscall.Errno(0x87) EUNATCH = syscall.Errno(0x2a) EUSERS = syscall.Errno(0x5e) EXFULL = syscall.Errno(0x34) ) // Signals const ( SIGBUS = syscall.Signal(0xa) SIGCHLD = syscall.Signal(0x12) SIGCLD = syscall.Signal(0x12) SIGCONT = syscall.Signal(0x19) SIGEMT = syscall.Signal(0x7) SIGIO = syscall.Signal(0x16) SIGPOLL = syscall.Signal(0x16) SIGPROF = syscall.Signal(0x1d) SIGPWR = syscall.Signal(0x13) SIGSTOP = syscall.Signal(0x17) SIGSYS = syscall.Signal(0xc) 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 errorList = [...]struct { num syscall.Errno name string desc string }{ {1, "EPERM", "operation not permitted"}, {2, "ENOENT", "no such file or directory"}, {3, "ESRCH", "no such process"}, {4, "EINTR", "interrupted system call"}, {5, "EIO", "input/output error"}, {6, "ENXIO", "no such device or address"}, {7, "E2BIG", "argument list too long"}, {8, "ENOEXEC", "exec format error"}, {9, "EBADF", "bad file descriptor"}, {10, "ECHILD", "no child processes"}, {11, "EAGAIN", "resource temporarily unavailable"}, {12, "ENOMEM", "cannot allocate memory"}, {13, "EACCES", "permission denied"}, {14, "EFAULT", "bad address"}, {15, "ENOTBLK", "block device required"}, {16, "EBUSY", "device or resource busy"}, {17, "EEXIST", "file exists"}, {18, "EXDEV", "invalid cross-device link"}, {19, "ENODEV", "no such device"}, {20, "ENOTDIR", "not a directory"}, {21, "EISDIR", "is a directory"}, {22, "EINVAL", "invalid argument"}, {23, "ENFILE", "too many open files in system"}, {24, "EMFILE", "too many open files"}, {25, "ENOTTY", "inappropriate ioctl for device"}, {26, "ETXTBSY", "text file busy"}, {27, "EFBIG", "file too large"}, {28, "ENOSPC", "no space left on device"}, {29, "ESPIPE", "illegal seek"}, {30, "EROFS", "read-only file system"}, {31, "EMLINK", "too many links"}, {32, "EPIPE", "broken pipe"}, {33, "EDOM", "numerical argument out of domain"}, {34, "ERANGE", "numerical result out of range"}, {35, "ENOMSG", "no message of desired type"}, {36, "EIDRM", "identifier removed"}, {37, "ECHRNG", "channel number out of range"}, {38, "EL2NSYNC", "level 2 not synchronized"}, {39, "EL3HLT", "level 3 halted"}, {40, "EL3RST", "level 3 reset"}, {41, "ELNRNG", "link number out of range"}, {42, "EUNATCH", "protocol driver not attached"}, {43, "ENOCSI", "no CSI structure available"}, {44, "EL2HLT", "level 2 halted"}, {45, "EDEADLK", "resource deadlock avoided"}, {46, "ENOLCK", "no locks available"}, {50, "EBADE", "invalid exchange"}, {51, "EBADR", "invalid request descriptor"}, {52, "EXFULL", "exchange full"}, {53, "ENOANO", "no anode"}, {54, "EBADRQC", "invalid request code"}, {55, "EBADSLT", "invalid slot"}, {56, "EDEADLOCK", "file locking deadlock error"}, {59, "EBFONT", "bad font file format"}, {60, "ENOSTR", "device not a stream"}, {61, "ENODATA", "no data available"}, {62, "ETIME", "timer expired"}, {63, "ENOSR", "out of streams resources"}, {64, "ENONET", "machine is not on the network"}, {65, "ENOPKG", "package not installed"}, {66, "EREMOTE", "object is remote"}, {67, "ENOLINK", "link has been severed"}, {68, "EADV", "advertise error"}, {69, "ESRMNT", "srmount error"}, {70, "ECOMM", "communication error on send"}, {71, "EPROTO", "protocol error"}, {73, "EDOTDOT", "RFS specific error"}, {74, "EMULTIHOP", "multihop attempted"}, {77, "EBADMSG", "bad message"}, {78, "ENAMETOOLONG", "file name too long"}, {79, "EOVERFLOW", "value too large for defined data type"}, {80, "ENOTUNIQ", "name not unique on network"}, {81, "EBADFD", "file descriptor in bad state"}, {82, "EREMCHG", "remote address changed"}, {83, "ELIBACC", "can not access a needed shared library"}, {84, "ELIBBAD", "accessing a corrupted shared library"}, {85, "ELIBSCN", ".lib section in a.out corrupted"}, {86, "ELIBMAX", "attempting to link in too many shared libraries"}, {87, "ELIBEXEC", "cannot exec a shared library directly"}, {88, "EILSEQ", "invalid or incomplete multibyte or wide character"}, {89, "ENOSYS", "function not implemented"}, {90, "ELOOP", "too many levels of symbolic links"}, {91, "ERESTART", "interrupted system call should be restarted"}, {92, "ESTRPIPE", "streams pipe error"}, {93, "ENOTEMPTY", "directory not empty"}, {94, "EUSERS", "too many users"}, {95, "ENOTSOCK", "socket operation on non-socket"}, {96, "EDESTADDRREQ", "destination address required"}, {97, "EMSGSIZE", "message too long"}, {98, "EPROTOTYPE", "protocol wrong type for socket"}, {99, "ENOPROTOOPT", "protocol not available"}, {120, "EPROTONOSUPPORT", "protocol not supported"}, {121, "ESOCKTNOSUPPORT", "socket type not supported"}, {122, "ENOTSUP", "operation not supported"}, {123, "EPFNOSUPPORT", "protocol family not supported"}, {124, "EAFNOSUPPORT", "address family not supported by protocol"}, {125, "EADDRINUSE", "address already in use"}, {126, "EADDRNOTAVAIL", "cannot assign requested address"}, {127, "ENETDOWN", "network is down"}, {128, "ENETUNREACH", "network is unreachable"}, {129, "ENETRESET", "network dropped connection on reset"}, {130, "ECONNABORTED", "software caused connection abort"}, {131, "ECONNRESET", "connection reset by peer"}, {132, "ENOBUFS", "no buffer space available"}, {133, "EISCONN", "transport endpoint is already connected"}, {134, "ENOTCONN", "transport endpoint is not connected"}, {135, "EUCLEAN", "structure needs cleaning"}, {137, "ENOTNAM", "not a XENIX named type file"}, {138, "ENAVAIL", "no XENIX semaphores available"}, {139, "EISNAM", "is a named type file"}, {140, "EREMOTEIO", "remote I/O error"}, {141, "EINIT", "unknown error 141"}, {142, "EREMDEV", "unknown error 142"}, {143, "ESHUTDOWN", "cannot send after transport endpoint shutdown"}, {144, "ETOOMANYREFS", "too many references: cannot splice"}, {145, "ETIMEDOUT", "connection timed out"}, {146, "ECONNREFUSED", "connection refused"}, {147, "EHOSTDOWN", "host is down"}, {148, "EHOSTUNREACH", "no route to host"}, {149, "EALREADY", "operation already in progress"}, {150, "EINPROGRESS", "operation now in progress"}, {151, "ESTALE", "stale file handle"}, {158, "ECANCELED", "operation canceled"}, {159, "ENOMEDIUM", "no medium found"}, {160, "EMEDIUMTYPE", "wrong medium type"}, {161, "ENOKEY", "required key not available"}, {162, "EKEYEXPIRED", "key has expired"}, {163, "EKEYREVOKED", "key has been revoked"}, {164, "EKEYREJECTED", "key was rejected by service"}, {165, "EOWNERDEAD", "owner died"}, {166, "ENOTRECOVERABLE", "state not recoverable"}, {167, "ERFKILL", "operation not possible due to RF-kill"}, {168, "EHWPOISON", "memory page has hardware error"}, {1133, "EDQUOT", "disk quota exceeded"}, } // Signal table var signalList = [...]struct { num syscall.Signal name string desc string }{ {1, "SIGHUP", "hangup"}, {2, "SIGINT", "interrupt"}, {3, "SIGQUIT", "quit"}, {4, "SIGILL", "illegal instruction"}, {5, "SIGTRAP", "trace/breakpoint trap"}, {6, "SIGABRT", "aborted"}, {7, "SIGEMT", "EMT trap"}, {8, "SIGFPE", "floating point exception"}, {9, "SIGKILL", "killed"}, {10, "SIGBUS", "bus error"}, {11, "SIGSEGV", "segmentation fault"}, {12, "SIGSYS", "bad system call"}, {13, "SIGPIPE", "broken pipe"}, {14, "SIGALRM", "alarm clock"}, {15, "SIGTERM", "terminated"}, {16, "SIGUSR1", "user defined signal 1"}, {17, "SIGUSR2", "user defined signal 2"}, {18, "SIGCHLD", "child exited"}, {19, "SIGPWR", "power failure"}, {20, "SIGWINCH", "window changed"}, {21, "SIGURG", "urgent I/O condition"}, {22, "SIGIO", "I/O possible"}, {23, "SIGSTOP", "stopped (signal)"}, {24, "SIGTSTP", "stopped"}, {25, "SIGCONT", "continued"}, {26, "SIGTTIN", "stopped (tty input)"}, {27, "SIGTTOU", "stopped (tty output)"}, {28, "SIGVTALRM", "virtual timer expired"}, {29, "SIGPROF", "profiling timer expired"}, {30, "SIGXCPU", "CPU time limit exceeded"}, {31, "SIGXFSZ", "file size limit exceeded"}, } dependencies/pkg/mod/golang.org/x/sys@v0.26.0/unix/zsyscall_zos_s390x.go0000644000000000000000000026026015107355264024653 0ustar rootroot// go run mksyscall_zos_s390x.go -o_sysnum zsysnum_zos_s390x.go -o_syscall zsyscall_zos_s390x.go -i_syscall syscall_zos_s390x.go -o_asm zsymaddr_zos_s390x.s // Code generated by the command above; see README.md. DO NOT EDIT. //go:build zos && s390x package unix import ( "runtime" "syscall" "unsafe" ) var _ syscall.Errno // 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) { runtime.EnterSyscall() r0, e2, e1 := CallLeFuncWithErr(GetZosLibVec()+SYS_FCNTL<<4, uintptr(fd), uintptr(cmd), uintptr(arg)) runtime.ExitSyscall() val = int(r0) if int64(r0) == -1 { err = errnoErr2(e1, e2) } return } // THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT func impl_Flistxattr(fd int, dest []byte) (sz int, err error) { var _p0 unsafe.Pointer if len(dest) > 0 { _p0 = unsafe.Pointer(&dest[0]) } else { _p0 = unsafe.Pointer(&_zero) } runtime.EnterSyscall() r0, e2, e1 := CallLeFuncWithErr(GetZosLibVec()+SYS___FLISTXATTR_A<<4, uintptr(fd), uintptr(_p0), uintptr(len(dest))) runtime.ExitSyscall() sz = int(r0) if int64(r0) == -1 { err = errnoErr2(e1, e2) } return } //go:nosplit func get_FlistxattrAddr() *(func(fd int, dest []byte) (sz int, err error)) var Flistxattr = enter_Flistxattr func enter_Flistxattr(fd int, dest []byte) (sz int, err error) { funcref := get_FlistxattrAddr() if funcptrtest(GetZosLibVec()+SYS___FLISTXATTR_A<<4, "") == 0 { *funcref = impl_Flistxattr } else { *funcref = error_Flistxattr } return (*funcref)(fd, dest) } func error_Flistxattr(fd int, dest []byte) (sz int, err error) { sz = -1 err = ENOSYS return } // THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT func impl_Fremovexattr(fd int, attr string) (err error) { var _p0 *byte _p0, err = BytePtrFromString(attr) if err != nil { return } runtime.EnterSyscall() r0, e2, e1 := CallLeFuncWithErr(GetZosLibVec()+SYS___FREMOVEXATTR_A<<4, uintptr(fd), uintptr(unsafe.Pointer(_p0))) runtime.ExitSyscall() if int64(r0) == -1 { err = errnoErr2(e1, e2) } return } //go:nosplit func get_FremovexattrAddr() *(func(fd int, attr string) (err error)) var Fremovexattr = enter_Fremovexattr func enter_Fremovexattr(fd int, attr string) (err error) { funcref := get_FremovexattrAddr() if funcptrtest(GetZosLibVec()+SYS___FREMOVEXATTR_A<<4, "") == 0 { *funcref = impl_Fremovexattr } else { *funcref = error_Fremovexattr } return (*funcref)(fd, attr) } func error_Fremovexattr(fd int, attr string) (err error) { err = ENOSYS 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) } runtime.EnterSyscall() r0, e2, e1 := CallLeFuncWithErr(GetZosLibVec()+SYS_READ<<4, uintptr(fd), uintptr(_p0), uintptr(len(p))) runtime.ExitSyscall() n = int(r0) if int64(r0) == -1 { err = errnoErr2(e1, e2) } 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) } runtime.EnterSyscall() r0, e2, e1 := CallLeFuncWithErr(GetZosLibVec()+SYS_WRITE<<4, uintptr(fd), uintptr(_p0), uintptr(len(p))) runtime.ExitSyscall() n = int(r0) if int64(r0) == -1 { err = errnoErr2(e1, e2) } return } // THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT func impl_Fgetxattr(fd int, attr string, dest []byte) (sz int, err error) { var _p0 *byte _p0, err = BytePtrFromString(attr) if err != nil { return } var _p1 unsafe.Pointer if len(dest) > 0 { _p1 = unsafe.Pointer(&dest[0]) } else { _p1 = unsafe.Pointer(&_zero) } runtime.EnterSyscall() r0, e2, e1 := CallLeFuncWithErr(GetZosLibVec()+SYS___FGETXATTR_A<<4, uintptr(fd), uintptr(unsafe.Pointer(_p0)), uintptr(_p1), uintptr(len(dest))) runtime.ExitSyscall() sz = int(r0) if int64(r0) == -1 { err = errnoErr2(e1, e2) } return } //go:nosplit func get_FgetxattrAddr() *(func(fd int, attr string, dest []byte) (sz int, err error)) var Fgetxattr = enter_Fgetxattr func enter_Fgetxattr(fd int, attr string, dest []byte) (sz int, err error) { funcref := get_FgetxattrAddr() if funcptrtest(GetZosLibVec()+SYS___FGETXATTR_A<<4, "") == 0 { *funcref = impl_Fgetxattr } else { *funcref = error_Fgetxattr } return (*funcref)(fd, attr, dest) } func error_Fgetxattr(fd int, attr string, dest []byte) (sz int, err error) { sz = -1 err = ENOSYS return } // THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT func impl_Fsetxattr(fd int, attr string, data []byte, flag int) (err error) { var _p0 *byte _p0, err = BytePtrFromString(attr) if err != nil { return } var _p1 unsafe.Pointer if len(data) > 0 { _p1 = unsafe.Pointer(&data[0]) } else { _p1 = unsafe.Pointer(&_zero) } runtime.EnterSyscall() r0, e2, e1 := CallLeFuncWithErr(GetZosLibVec()+SYS___FSETXATTR_A<<4, uintptr(fd), uintptr(unsafe.Pointer(_p0)), uintptr(_p1), uintptr(len(data)), uintptr(flag)) runtime.ExitSyscall() if int64(r0) == -1 { err = errnoErr2(e1, e2) } return } //go:nosplit func get_FsetxattrAddr() *(func(fd int, attr string, data []byte, flag int) (err error)) var Fsetxattr = enter_Fsetxattr func enter_Fsetxattr(fd int, attr string, data []byte, flag int) (err error) { funcref := get_FsetxattrAddr() if funcptrtest(GetZosLibVec()+SYS___FSETXATTR_A<<4, "") == 0 { *funcref = impl_Fsetxattr } else { *funcref = error_Fsetxattr } return (*funcref)(fd, attr, data, flag) } func error_Fsetxattr(fd int, attr string, data []byte, flag int) (err error) { err = ENOSYS 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) { runtime.EnterSyscall() r0, e2, e1 := CallLeFuncWithErr(GetZosLibVec()+SYS___ACCEPT_A<<4, uintptr(s), uintptr(unsafe.Pointer(rsa)), uintptr(unsafe.Pointer(addrlen))) runtime.ExitSyscall() fd = int(r0) if int64(r0) == -1 { err = errnoErr2(e1, e2) } return } // THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT func impl_accept4(s int, rsa *RawSockaddrAny, addrlen *_Socklen, flags int) (fd int, err error) { runtime.EnterSyscall() r0, e2, e1 := CallLeFuncWithErr(GetZosLibVec()+SYS___ACCEPT4_A<<4, uintptr(s), uintptr(unsafe.Pointer(rsa)), uintptr(unsafe.Pointer(addrlen)), uintptr(flags)) runtime.ExitSyscall() fd = int(r0) if int64(r0) == -1 { err = errnoErr2(e1, e2) } return } //go:nosplit func get_accept4Addr() *(func(s int, rsa *RawSockaddrAny, addrlen *_Socklen, flags int) (fd int, err error)) var accept4 = enter_accept4 func enter_accept4(s int, rsa *RawSockaddrAny, addrlen *_Socklen, flags int) (fd int, err error) { funcref := get_accept4Addr() if funcptrtest(GetZosLibVec()+SYS___ACCEPT4_A<<4, "") == 0 { *funcref = impl_accept4 } else { *funcref = error_accept4 } return (*funcref)(s, rsa, addrlen, flags) } func error_accept4(s int, rsa *RawSockaddrAny, addrlen *_Socklen, flags int) (fd int, err error) { fd = -1 err = ENOSYS 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) { runtime.EnterSyscall() r0, e2, e1 := CallLeFuncWithErr(GetZosLibVec()+SYS___BIND_A<<4, uintptr(s), uintptr(addr), uintptr(addrlen)) runtime.ExitSyscall() if int64(r0) == -1 { err = errnoErr2(e1, e2) } 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) { runtime.EnterSyscall() r0, e2, e1 := CallLeFuncWithErr(GetZosLibVec()+SYS___CONNECT_A<<4, uintptr(s), uintptr(addr), uintptr(addrlen)) runtime.ExitSyscall() if int64(r0) == -1 { err = errnoErr2(e1, e2) } 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, e2, e1 := CallLeFuncWithErr(GetZosLibVec()+SYS_GETGROUPS<<4, uintptr(n), uintptr(unsafe.Pointer(list))) nn = int(r0) if int64(r0) == -1 { err = errnoErr2(e1, e2) } return } // THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT func setgroups(n int, list *_Gid_t) (err error) { r0, e2, e1 := CallLeFuncWithErr(GetZosLibVec()+SYS_SETGROUPS<<4, uintptr(n), uintptr(unsafe.Pointer(list))) if int64(r0) == -1 { err = errnoErr2(e1, e2) } 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) { runtime.EnterSyscall() r0, e2, e1 := CallLeFuncWithErr(GetZosLibVec()+SYS_GETSOCKOPT<<4, uintptr(s), uintptr(level), uintptr(name), uintptr(val), uintptr(unsafe.Pointer(vallen))) runtime.ExitSyscall() if int64(r0) == -1 { err = errnoErr2(e1, e2) } 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) { runtime.EnterSyscall() r0, e2, e1 := CallLeFuncWithErr(GetZosLibVec()+SYS_SETSOCKOPT<<4, uintptr(s), uintptr(level), uintptr(name), uintptr(val), uintptr(vallen)) runtime.ExitSyscall() if int64(r0) == -1 { err = errnoErr2(e1, e2) } 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, e2, e1 := CallLeFuncWithErr(GetZosLibVec()+SYS_SOCKET<<4, uintptr(domain), uintptr(typ), uintptr(proto)) fd = int(r0) if int64(r0) == -1 { err = errnoErr2(e1, e2) } 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) { r0, e2, e1 := CallLeFuncWithErr(GetZosLibVec()+SYS_SOCKETPAIR<<4, uintptr(domain), uintptr(typ), uintptr(proto), uintptr(unsafe.Pointer(fd))) if int64(r0) == -1 { err = errnoErr2(e1, e2) } return } // THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT func getpeername(fd int, rsa *RawSockaddrAny, addrlen *_Socklen) (err error) { r0, e2, e1 := CallLeFuncWithErr(GetZosLibVec()+SYS___GETPEERNAME_A<<4, uintptr(fd), uintptr(unsafe.Pointer(rsa)), uintptr(unsafe.Pointer(addrlen))) if int64(r0) == -1 { err = errnoErr2(e1, e2) } return } // THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT func getsockname(fd int, rsa *RawSockaddrAny, addrlen *_Socklen) (err error) { r0, e2, e1 := CallLeFuncWithErr(GetZosLibVec()+SYS___GETSOCKNAME_A<<4, uintptr(fd), uintptr(unsafe.Pointer(rsa)), uintptr(unsafe.Pointer(addrlen))) if int64(r0) == -1 { err = errnoErr2(e1, e2) } return } // THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT func impl_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 } runtime.EnterSyscall() r0, e2, e1 := CallLeFuncWithErr(GetZosLibVec()+SYS___REMOVEXATTR_A<<4, uintptr(unsafe.Pointer(_p0)), uintptr(unsafe.Pointer(_p1))) runtime.ExitSyscall() if int64(r0) == -1 { err = errnoErr2(e1, e2) } return } //go:nosplit func get_RemovexattrAddr() *(func(path string, attr string) (err error)) var Removexattr = enter_Removexattr func enter_Removexattr(path string, attr string) (err error) { funcref := get_RemovexattrAddr() if funcptrtest(GetZosLibVec()+SYS___REMOVEXATTR_A<<4, "") == 0 { *funcref = impl_Removexattr } else { *funcref = error_Removexattr } return (*funcref)(path, attr) } func error_Removexattr(path string, attr string) (err error) { err = ENOSYS 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) } runtime.EnterSyscall() r0, e2, e1 := CallLeFuncWithErr(GetZosLibVec()+SYS___RECVFROM_A<<4, uintptr(fd), uintptr(_p0), uintptr(len(p)), uintptr(flags), uintptr(unsafe.Pointer(from)), uintptr(unsafe.Pointer(fromlen))) runtime.ExitSyscall() n = int(r0) if int64(r0) == -1 { err = errnoErr2(e1, e2) } 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) } runtime.EnterSyscall() r0, e2, e1 := CallLeFuncWithErr(GetZosLibVec()+SYS___SENDTO_A<<4, uintptr(s), uintptr(_p0), uintptr(len(buf)), uintptr(flags), uintptr(to), uintptr(addrlen)) runtime.ExitSyscall() if int64(r0) == -1 { err = errnoErr2(e1, e2) } 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) { runtime.EnterSyscall() r0, e2, e1 := CallLeFuncWithErr(GetZosLibVec()+SYS___RECVMSG_A<<4, uintptr(s), uintptr(unsafe.Pointer(msg)), uintptr(flags)) runtime.ExitSyscall() n = int(r0) if int64(r0) == -1 { err = errnoErr2(e1, e2) } 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) { runtime.EnterSyscall() r0, e2, e1 := CallLeFuncWithErr(GetZosLibVec()+SYS___SENDMSG_A<<4, uintptr(s), uintptr(unsafe.Pointer(msg)), uintptr(flags)) runtime.ExitSyscall() n = int(r0) if int64(r0) == -1 { err = errnoErr2(e1, e2) } 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) { runtime.EnterSyscall() r0, e2, e1 := CallLeFuncWithErr(GetZosLibVec()+SYS_MMAP<<4, uintptr(addr), uintptr(length), uintptr(prot), uintptr(flag), uintptr(fd), uintptr(pos)) runtime.ExitSyscall() ret = uintptr(r0) if int64(r0) == -1 { err = errnoErr2(e1, e2) } return } // THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT func munmap(addr uintptr, length uintptr) (err error) { runtime.EnterSyscall() r0, e2, e1 := CallLeFuncWithErr(GetZosLibVec()+SYS_MUNMAP<<4, uintptr(addr), uintptr(length)) runtime.ExitSyscall() if int64(r0) == -1 { err = errnoErr2(e1, e2) } return } // THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT func ioctl(fd int, req int, arg uintptr) (err error) { runtime.EnterSyscall() r0, e2, e1 := CallLeFuncWithErr(GetZosLibVec()+SYS_IOCTL<<4, uintptr(fd), uintptr(req), uintptr(arg)) runtime.ExitSyscall() if int64(r0) == -1 { err = errnoErr2(e1, e2) } return } // THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT func ioctlPtr(fd int, req int, arg unsafe.Pointer) (err error) { runtime.EnterSyscall() r0, e2, e1 := CallLeFuncWithErr(GetZosLibVec()+SYS_IOCTL<<4, uintptr(fd), uintptr(req), uintptr(arg)) runtime.ExitSyscall() if int64(r0) == -1 { err = errnoErr2(e1, e2) } return } // THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT func shmat(id int, addr uintptr, flag int) (ret uintptr, err error) { runtime.EnterSyscall() r0, e2, e1 := CallLeFuncWithErr(GetZosLibVec()+SYS_SHMAT<<4, uintptr(id), uintptr(addr), uintptr(flag)) runtime.ExitSyscall() ret = uintptr(r0) if int64(r0) == -1 { err = errnoErr2(e1, e2) } return } // THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT func shmctl(id int, cmd int, buf *SysvShmDesc) (result int, err error) { runtime.EnterSyscall() r0, e2, e1 := CallLeFuncWithErr(GetZosLibVec()+SYS_SHMCTL64<<4, uintptr(id), uintptr(cmd), uintptr(unsafe.Pointer(buf))) runtime.ExitSyscall() result = int(r0) if int64(r0) == -1 { err = errnoErr2(e1, e2) } return } // THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT func shmdt(addr uintptr) (err error) { runtime.EnterSyscall() r0, e2, e1 := CallLeFuncWithErr(GetZosLibVec()+SYS_SHMDT<<4, uintptr(addr)) runtime.ExitSyscall() if int64(r0) == -1 { err = errnoErr2(e1, e2) } return } // THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT func shmget(key int, size int, flag int) (id int, err error) { runtime.EnterSyscall() r0, e2, e1 := CallLeFuncWithErr(GetZosLibVec()+SYS_SHMGET<<4, uintptr(key), uintptr(size), uintptr(flag)) runtime.ExitSyscall() id = int(r0) if int64(r0) == -1 { err = errnoErr2(e1, e2) } 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 } runtime.EnterSyscall() r0, e2, e1 := CallLeFuncWithErr(GetZosLibVec()+SYS___ACCESS_A<<4, uintptr(unsafe.Pointer(_p0)), uintptr(mode)) runtime.ExitSyscall() if int64(r0) == -1 { err = errnoErr2(e1, e2) } 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 } runtime.EnterSyscall() r0, e2, e1 := CallLeFuncWithErr(GetZosLibVec()+SYS___CHDIR_A<<4, uintptr(unsafe.Pointer(_p0))) runtime.ExitSyscall() if int64(r0) == -1 { err = errnoErr2(e1, e2) } 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 } runtime.EnterSyscall() r0, e2, e1 := CallLeFuncWithErr(GetZosLibVec()+SYS___CHOWN_A<<4, uintptr(unsafe.Pointer(_p0)), uintptr(uid), uintptr(gid)) runtime.ExitSyscall() if int64(r0) == -1 { err = errnoErr2(e1, e2) } 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 } runtime.EnterSyscall() r0, e2, e1 := CallLeFuncWithErr(GetZosLibVec()+SYS___CHMOD_A<<4, uintptr(unsafe.Pointer(_p0)), uintptr(mode)) runtime.ExitSyscall() if int64(r0) == -1 { err = errnoErr2(e1, e2) } return } // THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT func Creat(path string, mode uint32) (fd int, err error) { var _p0 *byte _p0, err = BytePtrFromString(path) if err != nil { return } runtime.EnterSyscall() r0, e2, e1 := CallLeFuncWithErr(GetZosLibVec()+SYS___CREAT_A<<4, uintptr(unsafe.Pointer(_p0)), uintptr(mode)) runtime.ExitSyscall() fd = int(r0) if int64(r0) == -1 { err = errnoErr2(e1, e2) } return } // THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT func Dup(oldfd int) (fd int, err error) { runtime.EnterSyscall() r0, e2, e1 := CallLeFuncWithErr(GetZosLibVec()+SYS_DUP<<4, uintptr(oldfd)) runtime.ExitSyscall() fd = int(r0) if int64(r0) == -1 { err = errnoErr2(e1, e2) } return } // THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT func Dup2(oldfd int, newfd int) (err error) { runtime.EnterSyscall() r0, e2, e1 := CallLeFuncWithErr(GetZosLibVec()+SYS_DUP2<<4, uintptr(oldfd), uintptr(newfd)) runtime.ExitSyscall() if int64(r0) == -1 { err = errnoErr2(e1, e2) } return } // THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT func impl_Dup3(oldfd int, newfd int, flags int) (err error) { runtime.EnterSyscall() r0, e2, e1 := CallLeFuncWithErr(GetZosLibVec()+SYS_DUP3<<4, uintptr(oldfd), uintptr(newfd), uintptr(flags)) runtime.ExitSyscall() if int64(r0) == -1 { err = errnoErr2(e1, e2) } return } //go:nosplit func get_Dup3Addr() *(func(oldfd int, newfd int, flags int) (err error)) var Dup3 = enter_Dup3 func enter_Dup3(oldfd int, newfd int, flags int) (err error) { funcref := get_Dup3Addr() if funcptrtest(GetZosLibVec()+SYS_DUP3<<4, "") == 0 { *funcref = impl_Dup3 } else { *funcref = error_Dup3 } return (*funcref)(oldfd, newfd, flags) } func error_Dup3(oldfd int, newfd int, flags int) (err error) { err = ENOSYS return } // THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT func impl_Dirfd(dirp uintptr) (fd int, err error) { runtime.EnterSyscall() r0, e2, e1 := CallLeFuncWithErr(GetZosLibVec()+SYS_DIRFD<<4, uintptr(dirp)) runtime.ExitSyscall() fd = int(r0) if int64(r0) == -1 { err = errnoErr2(e1, e2) } return } //go:nosplit func get_DirfdAddr() *(func(dirp uintptr) (fd int, err error)) var Dirfd = enter_Dirfd func enter_Dirfd(dirp uintptr) (fd int, err error) { funcref := get_DirfdAddr() if funcptrtest(GetZosLibVec()+SYS_DIRFD<<4, "") == 0 { *funcref = impl_Dirfd } else { *funcref = error_Dirfd } return (*funcref)(dirp) } func error_Dirfd(dirp uintptr) (fd int, err error) { fd = -1 err = ENOSYS return } // THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT func impl_EpollCreate(size int) (fd int, err error) { runtime.EnterSyscall() r0, e2, e1 := CallLeFuncWithErr(GetZosLibVec()+SYS_EPOLL_CREATE<<4, uintptr(size)) runtime.ExitSyscall() fd = int(r0) if int64(r0) == -1 { err = errnoErr2(e1, e2) } return } //go:nosplit func get_EpollCreateAddr() *(func(size int) (fd int, err error)) var EpollCreate = enter_EpollCreate func enter_EpollCreate(size int) (fd int, err error) { funcref := get_EpollCreateAddr() if funcptrtest(GetZosLibVec()+SYS_EPOLL_CREATE<<4, "") == 0 { *funcref = impl_EpollCreate } else { *funcref = error_EpollCreate } return (*funcref)(size) } func error_EpollCreate(size int) (fd int, err error) { fd = -1 err = ENOSYS return } // THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT func impl_EpollCreate1(flags int) (fd int, err error) { runtime.EnterSyscall() r0, e2, e1 := CallLeFuncWithErr(GetZosLibVec()+SYS_EPOLL_CREATE1<<4, uintptr(flags)) runtime.ExitSyscall() fd = int(r0) if int64(r0) == -1 { err = errnoErr2(e1, e2) } return } //go:nosplit func get_EpollCreate1Addr() *(func(flags int) (fd int, err error)) var EpollCreate1 = enter_EpollCreate1 func enter_EpollCreate1(flags int) (fd int, err error) { funcref := get_EpollCreate1Addr() if funcptrtest(GetZosLibVec()+SYS_EPOLL_CREATE1<<4, "") == 0 { *funcref = impl_EpollCreate1 } else { *funcref = error_EpollCreate1 } return (*funcref)(flags) } func error_EpollCreate1(flags int) (fd int, err error) { fd = -1 err = ENOSYS return } // THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT func impl_EpollCtl(epfd int, op int, fd int, event *EpollEvent) (err error) { runtime.EnterSyscall() r0, e2, e1 := CallLeFuncWithErr(GetZosLibVec()+SYS_EPOLL_CTL<<4, uintptr(epfd), uintptr(op), uintptr(fd), uintptr(unsafe.Pointer(event))) runtime.ExitSyscall() if int64(r0) == -1 { err = errnoErr2(e1, e2) } return } //go:nosplit func get_EpollCtlAddr() *(func(epfd int, op int, fd int, event *EpollEvent) (err error)) var EpollCtl = enter_EpollCtl func enter_EpollCtl(epfd int, op int, fd int, event *EpollEvent) (err error) { funcref := get_EpollCtlAddr() if funcptrtest(GetZosLibVec()+SYS_EPOLL_CTL<<4, "") == 0 { *funcref = impl_EpollCtl } else { *funcref = error_EpollCtl } return (*funcref)(epfd, op, fd, event) } func error_EpollCtl(epfd int, op int, fd int, event *EpollEvent) (err error) { err = ENOSYS return } // THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT func impl_EpollPwait(epfd int, events []EpollEvent, msec int, sigmask *int) (n int, err error) { var _p0 unsafe.Pointer if len(events) > 0 { _p0 = unsafe.Pointer(&events[0]) } else { _p0 = unsafe.Pointer(&_zero) } runtime.EnterSyscall() r0, e2, e1 := CallLeFuncWithErr(GetZosLibVec()+SYS_EPOLL_PWAIT<<4, uintptr(epfd), uintptr(_p0), uintptr(len(events)), uintptr(msec), uintptr(unsafe.Pointer(sigmask))) runtime.ExitSyscall() n = int(r0) if int64(r0) == -1 { err = errnoErr2(e1, e2) } return } //go:nosplit func get_EpollPwaitAddr() *(func(epfd int, events []EpollEvent, msec int, sigmask *int) (n int, err error)) var EpollPwait = enter_EpollPwait func enter_EpollPwait(epfd int, events []EpollEvent, msec int, sigmask *int) (n int, err error) { funcref := get_EpollPwaitAddr() if funcptrtest(GetZosLibVec()+SYS_EPOLL_PWAIT<<4, "") == 0 { *funcref = impl_EpollPwait } else { *funcref = error_EpollPwait } return (*funcref)(epfd, events, msec, sigmask) } func error_EpollPwait(epfd int, events []EpollEvent, msec int, sigmask *int) (n int, err error) { n = -1 err = ENOSYS return } // THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT func impl_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) } runtime.EnterSyscall() r0, e2, e1 := CallLeFuncWithErr(GetZosLibVec()+SYS_EPOLL_WAIT<<4, uintptr(epfd), uintptr(_p0), uintptr(len(events)), uintptr(msec)) runtime.ExitSyscall() n = int(r0) if int64(r0) == -1 { err = errnoErr2(e1, e2) } return } //go:nosplit func get_EpollWaitAddr() *(func(epfd int, events []EpollEvent, msec int) (n int, err error)) var EpollWait = enter_EpollWait func enter_EpollWait(epfd int, events []EpollEvent, msec int) (n int, err error) { funcref := get_EpollWaitAddr() if funcptrtest(GetZosLibVec()+SYS_EPOLL_WAIT<<4, "") == 0 { *funcref = impl_EpollWait } else { *funcref = error_EpollWait } return (*funcref)(epfd, events, msec) } func error_EpollWait(epfd int, events []EpollEvent, msec int) (n int, err error) { n = -1 err = ENOSYS return } // THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT func Errno2() (er2 int) { runtime.EnterSyscall() r0, _, _ := CallLeFuncWithErr(GetZosLibVec() + SYS___ERRNO2<<4) runtime.ExitSyscall() er2 = int(r0) return } // THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT func impl_Eventfd(initval uint, flags int) (fd int, err error) { runtime.EnterSyscall() r0, e2, e1 := CallLeFuncWithErr(GetZosLibVec()+SYS_EVENTFD<<4, uintptr(initval), uintptr(flags)) runtime.ExitSyscall() fd = int(r0) if int64(r0) == -1 { err = errnoErr2(e1, e2) } return } //go:nosplit func get_EventfdAddr() *(func(initval uint, flags int) (fd int, err error)) var Eventfd = enter_Eventfd func enter_Eventfd(initval uint, flags int) (fd int, err error) { funcref := get_EventfdAddr() if funcptrtest(GetZosLibVec()+SYS_EVENTFD<<4, "") == 0 { *funcref = impl_Eventfd } else { *funcref = error_Eventfd } return (*funcref)(initval, flags) } func error_Eventfd(initval uint, flags int) (fd int, err error) { fd = -1 err = ENOSYS return } // THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT func Exit(code int) { runtime.EnterSyscall() CallLeFuncWithErr(GetZosLibVec()+SYS_EXIT<<4, uintptr(code)) runtime.ExitSyscall() return } // THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT func impl_Faccessat(dirfd int, path string, mode uint32, flags int) (err error) { var _p0 *byte _p0, err = BytePtrFromString(path) if err != nil { return } runtime.EnterSyscall() r0, e2, e1 := CallLeFuncWithErr(GetZosLibVec()+SYS___FACCESSAT_A<<4, uintptr(dirfd), uintptr(unsafe.Pointer(_p0)), uintptr(mode), uintptr(flags)) runtime.ExitSyscall() if int64(r0) == -1 { err = errnoErr2(e1, e2) } return } //go:nosplit func get_FaccessatAddr() *(func(dirfd int, path string, mode uint32, flags int) (err error)) var Faccessat = enter_Faccessat func enter_Faccessat(dirfd int, path string, mode uint32, flags int) (err error) { funcref := get_FaccessatAddr() if funcptrtest(GetZosLibVec()+SYS___FACCESSAT_A<<4, "") == 0 { *funcref = impl_Faccessat } else { *funcref = error_Faccessat } return (*funcref)(dirfd, path, mode, flags) } func error_Faccessat(dirfd int, path string, mode uint32, flags int) (err error) { err = ENOSYS return } // THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT func Fchdir(fd int) (err error) { runtime.EnterSyscall() r0, e2, e1 := CallLeFuncWithErr(GetZosLibVec()+SYS_FCHDIR<<4, uintptr(fd)) runtime.ExitSyscall() if int64(r0) == -1 { err = errnoErr2(e1, e2) } return } // THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT func Fchmod(fd int, mode uint32) (err error) { runtime.EnterSyscall() r0, e2, e1 := CallLeFuncWithErr(GetZosLibVec()+SYS_FCHMOD<<4, uintptr(fd), uintptr(mode)) runtime.ExitSyscall() if int64(r0) == -1 { err = errnoErr2(e1, e2) } return } // THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT func impl_Fchmodat(dirfd int, path string, mode uint32, flags int) (err error) { var _p0 *byte _p0, err = BytePtrFromString(path) if err != nil { return } runtime.EnterSyscall() r0, e2, e1 := CallLeFuncWithErr(GetZosLibVec()+SYS___FCHMODAT_A<<4, uintptr(dirfd), uintptr(unsafe.Pointer(_p0)), uintptr(mode), uintptr(flags)) runtime.ExitSyscall() if int64(r0) == -1 { err = errnoErr2(e1, e2) } return } //go:nosplit func get_FchmodatAddr() *(func(dirfd int, path string, mode uint32, flags int) (err error)) var Fchmodat = enter_Fchmodat func enter_Fchmodat(dirfd int, path string, mode uint32, flags int) (err error) { funcref := get_FchmodatAddr() if funcptrtest(GetZosLibVec()+SYS___FCHMODAT_A<<4, "") == 0 { *funcref = impl_Fchmodat } else { *funcref = error_Fchmodat } return (*funcref)(dirfd, path, mode, flags) } func error_Fchmodat(dirfd int, path string, mode uint32, flags int) (err error) { err = ENOSYS return } // THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT func Fchown(fd int, uid int, gid int) (err error) { runtime.EnterSyscall() r0, e2, e1 := CallLeFuncWithErr(GetZosLibVec()+SYS_FCHOWN<<4, uintptr(fd), uintptr(uid), uintptr(gid)) runtime.ExitSyscall() if int64(r0) == -1 { err = errnoErr2(e1, e2) } return } // THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT func impl_Fchownat(fd int, path string, uid int, gid int, flags int) (err error) { var _p0 *byte _p0, err = BytePtrFromString(path) if err != nil { return } runtime.EnterSyscall() r0, e2, e1 := CallLeFuncWithErr(GetZosLibVec()+SYS___FCHOWNAT_A<<4, uintptr(fd), uintptr(unsafe.Pointer(_p0)), uintptr(uid), uintptr(gid), uintptr(flags)) runtime.ExitSyscall() if int64(r0) == -1 { err = errnoErr2(e1, e2) } return } //go:nosplit func get_FchownatAddr() *(func(fd int, path string, uid int, gid int, flags int) (err error)) var Fchownat = enter_Fchownat func enter_Fchownat(fd int, path string, uid int, gid int, flags int) (err error) { funcref := get_FchownatAddr() if funcptrtest(GetZosLibVec()+SYS___FCHOWNAT_A<<4, "") == 0 { *funcref = impl_Fchownat } else { *funcref = error_Fchownat } return (*funcref)(fd, path, uid, gid, flags) } func error_Fchownat(fd int, path string, uid int, gid int, flags int) (err error) { err = ENOSYS return } // THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT func FcntlInt(fd uintptr, cmd int, arg int) (retval int, err error) { runtime.EnterSyscall() r0, e2, e1 := CallLeFuncWithErr(GetZosLibVec()+SYS_FCNTL<<4, uintptr(fd), uintptr(cmd), uintptr(arg)) runtime.ExitSyscall() retval = int(r0) if int64(r0) == -1 { err = errnoErr2(e1, e2) } return } // THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT func impl_Fdatasync(fd int) (err error) { runtime.EnterSyscall() r0, e2, e1 := CallLeFuncWithErr(GetZosLibVec()+SYS_FDATASYNC<<4, uintptr(fd)) runtime.ExitSyscall() if int64(r0) == -1 { err = errnoErr2(e1, e2) } return } //go:nosplit func get_FdatasyncAddr() *(func(fd int) (err error)) var Fdatasync = enter_Fdatasync func enter_Fdatasync(fd int) (err error) { funcref := get_FdatasyncAddr() if funcptrtest(GetZosLibVec()+SYS_FDATASYNC<<4, "") == 0 { *funcref = impl_Fdatasync } else { *funcref = error_Fdatasync } return (*funcref)(fd) } func error_Fdatasync(fd int) (err error) { err = ENOSYS return } // THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT func fstat(fd int, stat *Stat_LE_t) (err error) { runtime.EnterSyscall() r0, e2, e1 := CallLeFuncWithErr(GetZosLibVec()+SYS_FSTAT<<4, uintptr(fd), uintptr(unsafe.Pointer(stat))) runtime.ExitSyscall() if int64(r0) == -1 { err = errnoErr2(e1, e2) } return } // THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT func impl_fstatat(dirfd int, path string, stat *Stat_LE_t, flags int) (err error) { var _p0 *byte _p0, err = BytePtrFromString(path) if err != nil { return } runtime.EnterSyscall() r0, e2, e1 := CallLeFuncWithErr(GetZosLibVec()+SYS___FSTATAT_A<<4, uintptr(dirfd), uintptr(unsafe.Pointer(_p0)), uintptr(unsafe.Pointer(stat)), uintptr(flags)) runtime.ExitSyscall() if int64(r0) == -1 { err = errnoErr2(e1, e2) } return } //go:nosplit func get_fstatatAddr() *(func(dirfd int, path string, stat *Stat_LE_t, flags int) (err error)) var fstatat = enter_fstatat func enter_fstatat(dirfd int, path string, stat *Stat_LE_t, flags int) (err error) { funcref := get_fstatatAddr() if funcptrtest(GetZosLibVec()+SYS___FSTATAT_A<<4, "") == 0 { *funcref = impl_fstatat } else { *funcref = error_fstatat } return (*funcref)(dirfd, path, stat, flags) } func error_fstatat(dirfd int, path string, stat *Stat_LE_t, flags int) (err error) { err = ENOSYS return } // THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT func impl_Lgetxattr(link string, attr string, dest []byte) (sz int, err error) { var _p0 *byte _p0, err = BytePtrFromString(link) 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) } runtime.EnterSyscall() r0, e2, e1 := CallLeFuncWithErr(GetZosLibVec()+SYS___LGETXATTR_A<<4, uintptr(unsafe.Pointer(_p0)), uintptr(unsafe.Pointer(_p1)), uintptr(_p2), uintptr(len(dest))) runtime.ExitSyscall() sz = int(r0) if int64(r0) == -1 { err = errnoErr2(e1, e2) } return } //go:nosplit func get_LgetxattrAddr() *(func(link string, attr string, dest []byte) (sz int, err error)) var Lgetxattr = enter_Lgetxattr func enter_Lgetxattr(link string, attr string, dest []byte) (sz int, err error) { funcref := get_LgetxattrAddr() if funcptrtest(GetZosLibVec()+SYS___LGETXATTR_A<<4, "") == 0 { *funcref = impl_Lgetxattr } else { *funcref = error_Lgetxattr } return (*funcref)(link, attr, dest) } func error_Lgetxattr(link string, attr string, dest []byte) (sz int, err error) { sz = -1 err = ENOSYS return } // THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT func impl_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) } runtime.EnterSyscall() r0, e2, e1 := CallLeFuncWithErr(GetZosLibVec()+SYS___LSETXATTR_A<<4, uintptr(unsafe.Pointer(_p0)), uintptr(unsafe.Pointer(_p1)), uintptr(_p2), uintptr(len(data)), uintptr(flags)) runtime.ExitSyscall() if int64(r0) == -1 { err = errnoErr2(e1, e2) } return } //go:nosplit func get_LsetxattrAddr() *(func(path string, attr string, data []byte, flags int) (err error)) var Lsetxattr = enter_Lsetxattr func enter_Lsetxattr(path string, attr string, data []byte, flags int) (err error) { funcref := get_LsetxattrAddr() if funcptrtest(GetZosLibVec()+SYS___LSETXATTR_A<<4, "") == 0 { *funcref = impl_Lsetxattr } else { *funcref = error_Lsetxattr } return (*funcref)(path, attr, data, flags) } func error_Lsetxattr(path string, attr string, data []byte, flags int) (err error) { err = ENOSYS return } // THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT func impl_Fstatfs(fd int, buf *Statfs_t) (err error) { runtime.EnterSyscall() r0, e2, e1 := CallLeFuncWithErr(GetZosLibVec()+SYS_FSTATFS<<4, uintptr(fd), uintptr(unsafe.Pointer(buf))) runtime.ExitSyscall() if int64(r0) == -1 { err = errnoErr2(e1, e2) } return } //go:nosplit func get_FstatfsAddr() *(func(fd int, buf *Statfs_t) (err error)) var Fstatfs = enter_Fstatfs func enter_Fstatfs(fd int, buf *Statfs_t) (err error) { funcref := get_FstatfsAddr() if funcptrtest(GetZosLibVec()+SYS_FSTATFS<<4, "") == 0 { *funcref = impl_Fstatfs } else { *funcref = error_Fstatfs } return (*funcref)(fd, buf) } func error_Fstatfs(fd int, buf *Statfs_t) (err error) { err = ENOSYS return } // THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT func Fstatvfs(fd int, stat *Statvfs_t) (err error) { runtime.EnterSyscall() r0, e2, e1 := CallLeFuncWithErr(GetZosLibVec()+SYS_FSTATVFS<<4, uintptr(fd), uintptr(unsafe.Pointer(stat))) runtime.ExitSyscall() if int64(r0) == -1 { err = errnoErr2(e1, e2) } return } // THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT func Fsync(fd int) (err error) { runtime.EnterSyscall() r0, e2, e1 := CallLeFuncWithErr(GetZosLibVec()+SYS_FSYNC<<4, uintptr(fd)) runtime.ExitSyscall() if int64(r0) == -1 { err = errnoErr2(e1, e2) } return } // THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT func impl_Futimes(fd int, tv []Timeval) (err error) { var _p0 unsafe.Pointer if len(tv) > 0 { _p0 = unsafe.Pointer(&tv[0]) } else { _p0 = unsafe.Pointer(&_zero) } runtime.EnterSyscall() r0, e2, e1 := CallLeFuncWithErr(GetZosLibVec()+SYS_FUTIMES<<4, uintptr(fd), uintptr(_p0), uintptr(len(tv))) runtime.ExitSyscall() if int64(r0) == -1 { err = errnoErr2(e1, e2) } return } //go:nosplit func get_FutimesAddr() *(func(fd int, tv []Timeval) (err error)) var Futimes = enter_Futimes func enter_Futimes(fd int, tv []Timeval) (err error) { funcref := get_FutimesAddr() if funcptrtest(GetZosLibVec()+SYS_FUTIMES<<4, "") == 0 { *funcref = impl_Futimes } else { *funcref = error_Futimes } return (*funcref)(fd, tv) } func error_Futimes(fd int, tv []Timeval) (err error) { err = ENOSYS return } // THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT func impl_Futimesat(dirfd int, path string, tv []Timeval) (err error) { var _p0 *byte _p0, err = BytePtrFromString(path) if err != nil { return } var _p1 unsafe.Pointer if len(tv) > 0 { _p1 = unsafe.Pointer(&tv[0]) } else { _p1 = unsafe.Pointer(&_zero) } runtime.EnterSyscall() r0, e2, e1 := CallLeFuncWithErr(GetZosLibVec()+SYS___FUTIMESAT_A<<4, uintptr(dirfd), uintptr(unsafe.Pointer(_p0)), uintptr(_p1), uintptr(len(tv))) runtime.ExitSyscall() if int64(r0) == -1 { err = errnoErr2(e1, e2) } return } //go:nosplit func get_FutimesatAddr() *(func(dirfd int, path string, tv []Timeval) (err error)) var Futimesat = enter_Futimesat func enter_Futimesat(dirfd int, path string, tv []Timeval) (err error) { funcref := get_FutimesatAddr() if funcptrtest(GetZosLibVec()+SYS___FUTIMESAT_A<<4, "") == 0 { *funcref = impl_Futimesat } else { *funcref = error_Futimesat } return (*funcref)(dirfd, path, tv) } func error_Futimesat(dirfd int, path string, tv []Timeval) (err error) { err = ENOSYS return } // THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT func Ftruncate(fd int, length int64) (err error) { runtime.EnterSyscall() r0, e2, e1 := CallLeFuncWithErr(GetZosLibVec()+SYS_FTRUNCATE<<4, uintptr(fd), uintptr(length)) runtime.ExitSyscall() if int64(r0) == -1 { err = errnoErr2(e1, e2) } return } // THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT func impl_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) } runtime.EnterSyscall() r0, e2, e1 := CallLeFuncWithErr(GetZosLibVec()+SYS_GETRANDOM<<4, uintptr(_p0), uintptr(len(buf)), uintptr(flags)) runtime.ExitSyscall() n = int(r0) if int64(r0) == -1 { err = errnoErr2(e1, e2) } return } //go:nosplit func get_GetrandomAddr() *(func(buf []byte, flags int) (n int, err error)) var Getrandom = enter_Getrandom func enter_Getrandom(buf []byte, flags int) (n int, err error) { funcref := get_GetrandomAddr() if funcptrtest(GetZosLibVec()+SYS_GETRANDOM<<4, "") == 0 { *funcref = impl_Getrandom } else { *funcref = error_Getrandom } return (*funcref)(buf, flags) } func error_Getrandom(buf []byte, flags int) (n int, err error) { n = -1 err = ENOSYS return } // THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT func impl_InotifyInit() (fd int, err error) { runtime.EnterSyscall() r0, e2, e1 := CallLeFuncWithErr(GetZosLibVec() + SYS_INOTIFY_INIT<<4) runtime.ExitSyscall() fd = int(r0) if int64(r0) == -1 { err = errnoErr2(e1, e2) } return } //go:nosplit func get_InotifyInitAddr() *(func() (fd int, err error)) var InotifyInit = enter_InotifyInit func enter_InotifyInit() (fd int, err error) { funcref := get_InotifyInitAddr() if funcptrtest(GetZosLibVec()+SYS_INOTIFY_INIT<<4, "") == 0 { *funcref = impl_InotifyInit } else { *funcref = error_InotifyInit } return (*funcref)() } func error_InotifyInit() (fd int, err error) { fd = -1 err = ENOSYS return } // THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT func impl_InotifyInit1(flags int) (fd int, err error) { runtime.EnterSyscall() r0, e2, e1 := CallLeFuncWithErr(GetZosLibVec()+SYS_INOTIFY_INIT1<<4, uintptr(flags)) runtime.ExitSyscall() fd = int(r0) if int64(r0) == -1 { err = errnoErr2(e1, e2) } return } //go:nosplit func get_InotifyInit1Addr() *(func(flags int) (fd int, err error)) var InotifyInit1 = enter_InotifyInit1 func enter_InotifyInit1(flags int) (fd int, err error) { funcref := get_InotifyInit1Addr() if funcptrtest(GetZosLibVec()+SYS_INOTIFY_INIT1<<4, "") == 0 { *funcref = impl_InotifyInit1 } else { *funcref = error_InotifyInit1 } return (*funcref)(flags) } func error_InotifyInit1(flags int) (fd int, err error) { fd = -1 err = ENOSYS return } // THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT func impl_InotifyAddWatch(fd int, pathname string, mask uint32) (watchdesc int, err error) { var _p0 *byte _p0, err = BytePtrFromString(pathname) if err != nil { return } runtime.EnterSyscall() r0, e2, e1 := CallLeFuncWithErr(GetZosLibVec()+SYS___INOTIFY_ADD_WATCH_A<<4, uintptr(fd), uintptr(unsafe.Pointer(_p0)), uintptr(mask)) runtime.ExitSyscall() watchdesc = int(r0) if int64(r0) == -1 { err = errnoErr2(e1, e2) } return } //go:nosplit func get_InotifyAddWatchAddr() *(func(fd int, pathname string, mask uint32) (watchdesc int, err error)) var InotifyAddWatch = enter_InotifyAddWatch func enter_InotifyAddWatch(fd int, pathname string, mask uint32) (watchdesc int, err error) { funcref := get_InotifyAddWatchAddr() if funcptrtest(GetZosLibVec()+SYS___INOTIFY_ADD_WATCH_A<<4, "") == 0 { *funcref = impl_InotifyAddWatch } else { *funcref = error_InotifyAddWatch } return (*funcref)(fd, pathname, mask) } func error_InotifyAddWatch(fd int, pathname string, mask uint32) (watchdesc int, err error) { watchdesc = -1 err = ENOSYS return } // THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT func impl_InotifyRmWatch(fd int, watchdesc uint32) (success int, err error) { runtime.EnterSyscall() r0, e2, e1 := CallLeFuncWithErr(GetZosLibVec()+SYS_INOTIFY_RM_WATCH<<4, uintptr(fd), uintptr(watchdesc)) runtime.ExitSyscall() success = int(r0) if int64(r0) == -1 { err = errnoErr2(e1, e2) } return } //go:nosplit func get_InotifyRmWatchAddr() *(func(fd int, watchdesc uint32) (success int, err error)) var InotifyRmWatch = enter_InotifyRmWatch func enter_InotifyRmWatch(fd int, watchdesc uint32) (success int, err error) { funcref := get_InotifyRmWatchAddr() if funcptrtest(GetZosLibVec()+SYS_INOTIFY_RM_WATCH<<4, "") == 0 { *funcref = impl_InotifyRmWatch } else { *funcref = error_InotifyRmWatch } return (*funcref)(fd, watchdesc) } func error_InotifyRmWatch(fd int, watchdesc uint32) (success int, err error) { success = -1 err = ENOSYS return } // THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT func impl_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) } runtime.EnterSyscall() r0, e2, e1 := CallLeFuncWithErr(GetZosLibVec()+SYS___LISTXATTR_A<<4, uintptr(unsafe.Pointer(_p0)), uintptr(_p1), uintptr(len(dest))) runtime.ExitSyscall() sz = int(r0) if int64(r0) == -1 { err = errnoErr2(e1, e2) } return } //go:nosplit func get_ListxattrAddr() *(func(path string, dest []byte) (sz int, err error)) var Listxattr = enter_Listxattr func enter_Listxattr(path string, dest []byte) (sz int, err error) { funcref := get_ListxattrAddr() if funcptrtest(GetZosLibVec()+SYS___LISTXATTR_A<<4, "") == 0 { *funcref = impl_Listxattr } else { *funcref = error_Listxattr } return (*funcref)(path, dest) } func error_Listxattr(path string, dest []byte) (sz int, err error) { sz = -1 err = ENOSYS return } // THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT func impl_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) } runtime.EnterSyscall() r0, e2, e1 := CallLeFuncWithErr(GetZosLibVec()+SYS___LLISTXATTR_A<<4, uintptr(unsafe.Pointer(_p0)), uintptr(_p1), uintptr(len(dest))) runtime.ExitSyscall() sz = int(r0) if int64(r0) == -1 { err = errnoErr2(e1, e2) } return } //go:nosplit func get_LlistxattrAddr() *(func(path string, dest []byte) (sz int, err error)) var Llistxattr = enter_Llistxattr func enter_Llistxattr(path string, dest []byte) (sz int, err error) { funcref := get_LlistxattrAddr() if funcptrtest(GetZosLibVec()+SYS___LLISTXATTR_A<<4, "") == 0 { *funcref = impl_Llistxattr } else { *funcref = error_Llistxattr } return (*funcref)(path, dest) } func error_Llistxattr(path string, dest []byte) (sz int, err error) { sz = -1 err = ENOSYS return } // THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT func impl_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 } runtime.EnterSyscall() r0, e2, e1 := CallLeFuncWithErr(GetZosLibVec()+SYS___LREMOVEXATTR_A<<4, uintptr(unsafe.Pointer(_p0)), uintptr(unsafe.Pointer(_p1))) runtime.ExitSyscall() if int64(r0) == -1 { err = errnoErr2(e1, e2) } return } //go:nosplit func get_LremovexattrAddr() *(func(path string, attr string) (err error)) var Lremovexattr = enter_Lremovexattr func enter_Lremovexattr(path string, attr string) (err error) { funcref := get_LremovexattrAddr() if funcptrtest(GetZosLibVec()+SYS___LREMOVEXATTR_A<<4, "") == 0 { *funcref = impl_Lremovexattr } else { *funcref = error_Lremovexattr } return (*funcref)(path, attr) } func error_Lremovexattr(path string, attr string) (err error) { err = ENOSYS return } // THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT func impl_Lutimes(path string, tv []Timeval) (err error) { var _p0 *byte _p0, err = BytePtrFromString(path) if err != nil { return } var _p1 unsafe.Pointer if len(tv) > 0 { _p1 = unsafe.Pointer(&tv[0]) } else { _p1 = unsafe.Pointer(&_zero) } runtime.EnterSyscall() r0, e2, e1 := CallLeFuncWithErr(GetZosLibVec()+SYS___LUTIMES_A<<4, uintptr(unsafe.Pointer(_p0)), uintptr(_p1), uintptr(len(tv))) runtime.ExitSyscall() if int64(r0) == -1 { err = errnoErr2(e1, e2) } return } //go:nosplit func get_LutimesAddr() *(func(path string, tv []Timeval) (err error)) var Lutimes = enter_Lutimes func enter_Lutimes(path string, tv []Timeval) (err error) { funcref := get_LutimesAddr() if funcptrtest(GetZosLibVec()+SYS___LUTIMES_A<<4, "") == 0 { *funcref = impl_Lutimes } else { *funcref = error_Lutimes } return (*funcref)(path, tv) } func error_Lutimes(path string, tv []Timeval) (err error) { err = ENOSYS 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) } runtime.EnterSyscall() r0, e2, e1 := CallLeFuncWithErr(GetZosLibVec()+SYS_MPROTECT<<4, uintptr(_p0), uintptr(len(b)), uintptr(prot)) runtime.ExitSyscall() if int64(r0) == -1 { err = errnoErr2(e1, e2) } return } // THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT func Msync(b []byte, flags int) (err error) { var _p0 unsafe.Pointer if len(b) > 0 { _p0 = unsafe.Pointer(&b[0]) } else { _p0 = unsafe.Pointer(&_zero) } runtime.EnterSyscall() r0, e2, e1 := CallLeFuncWithErr(GetZosLibVec()+SYS_MSYNC<<4, uintptr(_p0), uintptr(len(b)), uintptr(flags)) runtime.ExitSyscall() if int64(r0) == -1 { err = errnoErr2(e1, e2) } return } // THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT func Console2(cmsg *ConsMsg2, modstr *byte, concmd *uint32) (err error) { runtime.EnterSyscall() r0, e2, e1 := CallLeFuncWithErr(GetZosLibVec()+SYS___CONSOLE2<<4, uintptr(unsafe.Pointer(cmsg)), uintptr(unsafe.Pointer(modstr)), uintptr(unsafe.Pointer(concmd))) runtime.ExitSyscall() if int64(r0) == -1 { err = errnoErr2(e1, e2) } return } // THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT func Poll(fds []PollFd, timeout int) (n int, err error) { var _p0 unsafe.Pointer if len(fds) > 0 { _p0 = unsafe.Pointer(&fds[0]) } else { _p0 = unsafe.Pointer(&_zero) } runtime.EnterSyscall() r0, e2, e1 := CallLeFuncWithErr(GetZosLibVec()+SYS_POLL<<4, uintptr(_p0), uintptr(len(fds)), uintptr(timeout)) runtime.ExitSyscall() n = int(r0) if int64(r0) == -1 { err = errnoErr2(e1, e2) } return } // THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT func Readdir_r(dirp uintptr, entry *direntLE, result **direntLE) (err error) { runtime.EnterSyscall() r0, e2, e1 := CallLeFuncWithErr(GetZosLibVec()+SYS___READDIR_R_A<<4, uintptr(dirp), uintptr(unsafe.Pointer(entry)), uintptr(unsafe.Pointer(result))) runtime.ExitSyscall() if int64(r0) == -1 { err = errnoErr2(e1, e2) } return } // THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT func impl_Statfs(path string, buf *Statfs_t) (err error) { var _p0 *byte _p0, err = BytePtrFromString(path) if err != nil { return } runtime.EnterSyscall() r0, e2, e1 := CallLeFuncWithErr(GetZosLibVec()+SYS___STATFS_A<<4, uintptr(unsafe.Pointer(_p0)), uintptr(unsafe.Pointer(buf))) runtime.ExitSyscall() if int64(r0) == -1 { err = errnoErr2(e1, e2) } return } //go:nosplit func get_StatfsAddr() *(func(path string, buf *Statfs_t) (err error)) var Statfs = enter_Statfs func enter_Statfs(path string, buf *Statfs_t) (err error) { funcref := get_StatfsAddr() if funcptrtest(GetZosLibVec()+SYS___STATFS_A<<4, "") == 0 { *funcref = impl_Statfs } else { *funcref = error_Statfs } return (*funcref)(path, buf) } func error_Statfs(path string, buf *Statfs_t) (err error) { err = ENOSYS return } // THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT func impl_Syncfs(fd int) (err error) { runtime.EnterSyscall() r0, e2, e1 := CallLeFuncWithErr(GetZosLibVec()+SYS_SYNCFS<<4, uintptr(fd)) runtime.ExitSyscall() if int64(r0) == -1 { err = errnoErr2(e1, e2) } return } //go:nosplit func get_SyncfsAddr() *(func(fd int) (err error)) var Syncfs = enter_Syncfs func enter_Syncfs(fd int) (err error) { funcref := get_SyncfsAddr() if funcptrtest(GetZosLibVec()+SYS_SYNCFS<<4, "") == 0 { *funcref = impl_Syncfs } else { *funcref = error_Syncfs } return (*funcref)(fd) } func error_Syncfs(fd int) (err error) { err = ENOSYS return } // THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT func Times(tms *Tms) (ticks uintptr, err error) { runtime.EnterSyscall() r0, e2, e1 := CallLeFuncWithErr(GetZosLibVec()+SYS_TIMES<<4, uintptr(unsafe.Pointer(tms))) runtime.ExitSyscall() ticks = uintptr(r0) if int64(r0) == -1 { err = errnoErr2(e1, e2) } return } // THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT func W_Getmntent(buff *byte, size int) (lastsys int, err error) { runtime.EnterSyscall() r0, e2, e1 := CallLeFuncWithErr(GetZosLibVec()+SYS_W_GETMNTENT<<4, uintptr(unsafe.Pointer(buff)), uintptr(size)) runtime.ExitSyscall() lastsys = int(r0) if int64(r0) == -1 { err = errnoErr2(e1, e2) } return } // THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT func W_Getmntent_A(buff *byte, size int) (lastsys int, err error) { runtime.EnterSyscall() r0, e2, e1 := CallLeFuncWithErr(GetZosLibVec()+SYS___W_GETMNTENT_A<<4, uintptr(unsafe.Pointer(buff)), uintptr(size)) runtime.ExitSyscall() lastsys = int(r0) if int64(r0) == -1 { err = errnoErr2(e1, e2) } return } // THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT func mount_LE(path string, filesystem string, fstype string, mtm uint32, parmlen int32, parm string) (err error) { var _p0 *byte _p0, err = BytePtrFromString(path) if err != nil { return } var _p1 *byte _p1, err = BytePtrFromString(filesystem) if err != nil { return } var _p2 *byte _p2, err = BytePtrFromString(fstype) if err != nil { return } var _p3 *byte _p3, err = BytePtrFromString(parm) if err != nil { return } runtime.EnterSyscall() r0, e2, e1 := CallLeFuncWithErr(GetZosLibVec()+SYS___MOUNT_A<<4, uintptr(unsafe.Pointer(_p0)), uintptr(unsafe.Pointer(_p1)), uintptr(unsafe.Pointer(_p2)), uintptr(mtm), uintptr(parmlen), uintptr(unsafe.Pointer(_p3))) runtime.ExitSyscall() if int64(r0) == -1 { err = errnoErr2(e1, e2) } return } // THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT func unmount_LE(filesystem string, mtm int) (err error) { var _p0 *byte _p0, err = BytePtrFromString(filesystem) if err != nil { return } runtime.EnterSyscall() r0, e2, e1 := CallLeFuncWithErr(GetZosLibVec()+SYS___UMOUNT_A<<4, uintptr(unsafe.Pointer(_p0)), uintptr(mtm)) runtime.ExitSyscall() if int64(r0) == -1 { err = errnoErr2(e1, e2) } 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 } runtime.EnterSyscall() r0, e2, e1 := CallLeFuncWithErr(GetZosLibVec()+SYS___CHROOT_A<<4, uintptr(unsafe.Pointer(_p0))) runtime.ExitSyscall() if int64(r0) == -1 { err = errnoErr2(e1, e2) } return } // THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT func Select(nmsgsfds int, r *FdSet, w *FdSet, e *FdSet, timeout *Timeval) (ret int, err error) { runtime.EnterSyscall() r0, e2, e1 := CallLeFuncWithErr(GetZosLibVec()+SYS_SELECT<<4, uintptr(nmsgsfds), uintptr(unsafe.Pointer(r)), uintptr(unsafe.Pointer(w)), uintptr(unsafe.Pointer(e)), uintptr(unsafe.Pointer(timeout))) runtime.ExitSyscall() ret = int(r0) if int64(r0) == -1 { err = errnoErr2(e1, e2) } return } // THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT func Uname(buf *Utsname) (err error) { r0, e2, e1 := CallLeFuncWithErr(GetZosLibVec()+SYS_____OSNAME_A<<4, uintptr(unsafe.Pointer(buf))) if int64(r0) == -1 { err = errnoErr2(e1, e2) } return } // THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT func impl_Unshare(flags int) (err error) { runtime.EnterSyscall() r0, e2, e1 := CallLeFuncWithErr(GetZosLibVec()+SYS_UNSHARE<<4, uintptr(flags)) runtime.ExitSyscall() if int64(r0) == -1 { err = errnoErr2(e1, e2) } return } //go:nosplit func get_UnshareAddr() *(func(flags int) (err error)) var Unshare = enter_Unshare func enter_Unshare(flags int) (err error) { funcref := get_UnshareAddr() if funcptrtest(GetZosLibVec()+SYS_UNSHARE<<4, "") == 0 { *funcref = impl_Unshare } else { *funcref = error_Unshare } return (*funcref)(flags) } func error_Unshare(flags int) (err error) { err = ENOSYS return } // THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT func Gethostname(buf []byte) (err error) { var _p0 unsafe.Pointer if len(buf) > 0 { _p0 = unsafe.Pointer(&buf[0]) } else { _p0 = unsafe.Pointer(&_zero) } runtime.EnterSyscall() r0, e2, e1 := CallLeFuncWithErr(GetZosLibVec()+SYS___GETHOSTNAME_A<<4, uintptr(_p0), uintptr(len(buf))) runtime.ExitSyscall() if int64(r0) == -1 { err = errnoErr2(e1, e2) } return } // THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT func Getgid() (gid int) { r0, _, _ := CallLeFuncWithErr(GetZosLibVec() + SYS_GETGID<<4) gid = int(r0) return } // THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT func Getpid() (pid int) { r0, _, _ := CallLeFuncWithErr(GetZosLibVec() + SYS_GETPID<<4) pid = 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, e2, e1 := CallLeFuncWithErr(GetZosLibVec()+SYS_GETPGID<<4, uintptr(pid)) pgid = int(r0) if int64(r0) == -1 { err = errnoErr2(e1, e2) } return } // THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT func Getppid() (pid int) { r0, _, _ := CallLeFuncWithErr(GetZosLibVec() + SYS_GETPPID<<4) pid = 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) { runtime.EnterSyscall() r0, e2, e1 := CallLeFuncWithErr(GetZosLibVec()+SYS_GETPRIORITY<<4, uintptr(which), uintptr(who)) runtime.ExitSyscall() prio = int(r0) if int64(r0) == -1 { err = errnoErr2(e1, e2) } return } // THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT func Getrlimit(resource int, rlim *Rlimit) (err error) { r0, e2, e1 := CallLeFuncWithErr(GetZosLibVec()+SYS_GETRLIMIT<<4, uintptr(resource), uintptr(unsafe.Pointer(rlim))) if int64(r0) == -1 { err = errnoErr2(e1, e2) } return } // THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT func getrusage(who int, rusage *rusage_zos) (err error) { r0, e2, e1 := CallLeFuncWithErr(GetZosLibVec()+SYS_GETRUSAGE<<4, uintptr(who), uintptr(unsafe.Pointer(rusage))) if int64(r0) == -1 { err = errnoErr2(e1, e2) } return } // THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT func Getegid() (egid int) { runtime.EnterSyscall() r0, _, _ := CallLeFuncWithErr(GetZosLibVec() + SYS_GETEGID<<4) runtime.ExitSyscall() egid = int(r0) return } // THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT func Geteuid() (euid int) { runtime.EnterSyscall() r0, _, _ := CallLeFuncWithErr(GetZosLibVec() + SYS_GETEUID<<4) runtime.ExitSyscall() euid = int(r0) return } // THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT func Getsid(pid int) (sid int, err error) { r0, e2, e1 := CallLeFuncWithErr(GetZosLibVec()+SYS_GETSID<<4, uintptr(pid)) sid = int(r0) if int64(r0) == -1 { err = errnoErr2(e1, e2) } return } // THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT func Getuid() (uid int) { r0, _, _ := CallLeFuncWithErr(GetZosLibVec() + SYS_GETUID<<4) uid = int(r0) return } // THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT func Kill(pid int, sig Signal) (err error) { r0, e2, e1 := CallLeFuncWithErr(GetZosLibVec()+SYS_KILL<<4, uintptr(pid), uintptr(sig)) if int64(r0) == -1 { err = errnoErr2(e1, e2) } 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 } runtime.EnterSyscall() r0, e2, e1 := CallLeFuncWithErr(GetZosLibVec()+SYS___LCHOWN_A<<4, uintptr(unsafe.Pointer(_p0)), uintptr(uid), uintptr(gid)) runtime.ExitSyscall() if int64(r0) == -1 { err = errnoErr2(e1, e2) } 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 } runtime.EnterSyscall() r0, e2, e1 := CallLeFuncWithErr(GetZosLibVec()+SYS___LINK_A<<4, uintptr(unsafe.Pointer(_p0)), uintptr(unsafe.Pointer(_p1))) runtime.ExitSyscall() if int64(r0) == -1 { err = errnoErr2(e1, e2) } return } // THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT func impl_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 } runtime.EnterSyscall() r0, e2, e1 := CallLeFuncWithErr(GetZosLibVec()+SYS___LINKAT_A<<4, uintptr(oldDirFd), uintptr(unsafe.Pointer(_p0)), uintptr(newDirFd), uintptr(unsafe.Pointer(_p1)), uintptr(flags)) runtime.ExitSyscall() if int64(r0) == -1 { err = errnoErr2(e1, e2) } return } //go:nosplit func get_LinkatAddr() *(func(oldDirFd int, oldPath string, newDirFd int, newPath string, flags int) (err error)) var Linkat = enter_Linkat func enter_Linkat(oldDirFd int, oldPath string, newDirFd int, newPath string, flags int) (err error) { funcref := get_LinkatAddr() if funcptrtest(GetZosLibVec()+SYS___LINKAT_A<<4, "") == 0 { *funcref = impl_Linkat } else { *funcref = error_Linkat } return (*funcref)(oldDirFd, oldPath, newDirFd, newPath, flags) } func error_Linkat(oldDirFd int, oldPath string, newDirFd int, newPath string, flags int) (err error) { err = ENOSYS return } // THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT func Listen(s int, n int) (err error) { runtime.EnterSyscall() r0, e2, e1 := CallLeFuncWithErr(GetZosLibVec()+SYS_LISTEN<<4, uintptr(s), uintptr(n)) runtime.ExitSyscall() if int64(r0) == -1 { err = errnoErr2(e1, e2) } return } // THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT func lstat(path string, stat *Stat_LE_t) (err error) { var _p0 *byte _p0, err = BytePtrFromString(path) if err != nil { return } runtime.EnterSyscall() r0, e2, e1 := CallLeFuncWithErr(GetZosLibVec()+SYS___LSTAT_A<<4, uintptr(unsafe.Pointer(_p0)), uintptr(unsafe.Pointer(stat))) runtime.ExitSyscall() if int64(r0) == -1 { err = errnoErr2(e1, e2) } 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 } runtime.EnterSyscall() r0, e2, e1 := CallLeFuncWithErr(GetZosLibVec()+SYS___MKDIR_A<<4, uintptr(unsafe.Pointer(_p0)), uintptr(mode)) runtime.ExitSyscall() if int64(r0) == -1 { err = errnoErr2(e1, e2) } return } // THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT func impl_Mkdirat(dirfd int, path string, mode uint32) (err error) { var _p0 *byte _p0, err = BytePtrFromString(path) if err != nil { return } runtime.EnterSyscall() r0, e2, e1 := CallLeFuncWithErr(GetZosLibVec()+SYS___MKDIRAT_A<<4, uintptr(dirfd), uintptr(unsafe.Pointer(_p0)), uintptr(mode)) runtime.ExitSyscall() if int64(r0) == -1 { err = errnoErr2(e1, e2) } return } //go:nosplit func get_MkdiratAddr() *(func(dirfd int, path string, mode uint32) (err error)) var Mkdirat = enter_Mkdirat func enter_Mkdirat(dirfd int, path string, mode uint32) (err error) { funcref := get_MkdiratAddr() if funcptrtest(GetZosLibVec()+SYS___MKDIRAT_A<<4, "") == 0 { *funcref = impl_Mkdirat } else { *funcref = error_Mkdirat } return (*funcref)(dirfd, path, mode) } func error_Mkdirat(dirfd int, path string, mode uint32) (err error) { err = ENOSYS 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 } runtime.EnterSyscall() r0, e2, e1 := CallLeFuncWithErr(GetZosLibVec()+SYS___MKFIFO_A<<4, uintptr(unsafe.Pointer(_p0)), uintptr(mode)) runtime.ExitSyscall() if int64(r0) == -1 { err = errnoErr2(e1, e2) } 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 } runtime.EnterSyscall() r0, e2, e1 := CallLeFuncWithErr(GetZosLibVec()+SYS___MKNOD_A<<4, uintptr(unsafe.Pointer(_p0)), uintptr(mode), uintptr(dev)) runtime.ExitSyscall() if int64(r0) == -1 { err = errnoErr2(e1, e2) } return } // THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT func impl_Mknodat(dirfd int, path string, mode uint32, dev int) (err error) { var _p0 *byte _p0, err = BytePtrFromString(path) if err != nil { return } runtime.EnterSyscall() r0, e2, e1 := CallLeFuncWithErr(GetZosLibVec()+SYS___MKNODAT_A<<4, uintptr(dirfd), uintptr(unsafe.Pointer(_p0)), uintptr(mode), uintptr(dev)) runtime.ExitSyscall() if int64(r0) == -1 { err = errnoErr2(e1, e2) } return } //go:nosplit func get_MknodatAddr() *(func(dirfd int, path string, mode uint32, dev int) (err error)) var Mknodat = enter_Mknodat func enter_Mknodat(dirfd int, path string, mode uint32, dev int) (err error) { funcref := get_MknodatAddr() if funcptrtest(GetZosLibVec()+SYS___MKNODAT_A<<4, "") == 0 { *funcref = impl_Mknodat } else { *funcref = error_Mknodat } return (*funcref)(dirfd, path, mode, dev) } func error_Mknodat(dirfd int, path string, mode uint32, dev int) (err error) { err = ENOSYS return } // THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT func impl_PivotRoot(newroot string, oldroot string) (err error) { var _p0 *byte _p0, err = BytePtrFromString(newroot) if err != nil { return } var _p1 *byte _p1, err = BytePtrFromString(oldroot) if err != nil { return } runtime.EnterSyscall() r0, e2, e1 := CallLeFuncWithErr(GetZosLibVec()+SYS___PIVOT_ROOT_A<<4, uintptr(unsafe.Pointer(_p0)), uintptr(unsafe.Pointer(_p1))) runtime.ExitSyscall() if int64(r0) == -1 { err = errnoErr2(e1, e2) } return } //go:nosplit func get_PivotRootAddr() *(func(newroot string, oldroot string) (err error)) var PivotRoot = enter_PivotRoot func enter_PivotRoot(newroot string, oldroot string) (err error) { funcref := get_PivotRootAddr() if funcptrtest(GetZosLibVec()+SYS___PIVOT_ROOT_A<<4, "") == 0 { *funcref = impl_PivotRoot } else { *funcref = error_PivotRoot } return (*funcref)(newroot, oldroot) } func error_PivotRoot(newroot string, oldroot string) (err error) { err = ENOSYS 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) } runtime.EnterSyscall() r0, e2, e1 := CallLeFuncWithErr(GetZosLibVec()+SYS_PREAD<<4, uintptr(fd), uintptr(_p0), uintptr(len(p)), uintptr(offset)) runtime.ExitSyscall() n = int(r0) if int64(r0) == -1 { err = errnoErr2(e1, e2) } 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) } runtime.EnterSyscall() r0, e2, e1 := CallLeFuncWithErr(GetZosLibVec()+SYS_PWRITE<<4, uintptr(fd), uintptr(_p0), uintptr(len(p)), uintptr(offset)) runtime.ExitSyscall() n = int(r0) if int64(r0) == -1 { err = errnoErr2(e1, e2) } return } // THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT func impl_Prctl(option int, arg2 uintptr, arg3 uintptr, arg4 uintptr, arg5 uintptr) (err error) { runtime.EnterSyscall() r0, e2, e1 := CallLeFuncWithErr(GetZosLibVec()+SYS___PRCTL_A<<4, uintptr(option), uintptr(arg2), uintptr(arg3), uintptr(arg4), uintptr(arg5)) runtime.ExitSyscall() if int64(r0) == -1 { err = errnoErr2(e1, e2) } return } //go:nosplit func get_PrctlAddr() *(func(option int, arg2 uintptr, arg3 uintptr, arg4 uintptr, arg5 uintptr) (err error)) var Prctl = enter_Prctl func enter_Prctl(option int, arg2 uintptr, arg3 uintptr, arg4 uintptr, arg5 uintptr) (err error) { funcref := get_PrctlAddr() if funcptrtest(GetZosLibVec()+SYS___PRCTL_A<<4, "") == 0 { *funcref = impl_Prctl } else { *funcref = error_Prctl } return (*funcref)(option, arg2, arg3, arg4, arg5) } func error_Prctl(option int, arg2 uintptr, arg3 uintptr, arg4 uintptr, arg5 uintptr) (err error) { err = ENOSYS return } // THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT func impl_Prlimit(pid int, resource int, newlimit *Rlimit, old *Rlimit) (err error) { r0, e2, e1 := CallLeFuncWithErr(GetZosLibVec()+SYS_PRLIMIT<<4, uintptr(pid), uintptr(resource), uintptr(unsafe.Pointer(newlimit)), uintptr(unsafe.Pointer(old))) if int64(r0) == -1 { err = errnoErr2(e1, e2) } return } //go:nosplit func get_PrlimitAddr() *(func(pid int, resource int, newlimit *Rlimit, old *Rlimit) (err error)) var Prlimit = enter_Prlimit func enter_Prlimit(pid int, resource int, newlimit *Rlimit, old *Rlimit) (err error) { funcref := get_PrlimitAddr() if funcptrtest(GetZosLibVec()+SYS_PRLIMIT<<4, "") == 0 { *funcref = impl_Prlimit } else { *funcref = error_Prlimit } return (*funcref)(pid, resource, newlimit, old) } func error_Prlimit(pid int, resource int, newlimit *Rlimit, old *Rlimit) (err error) { err = ENOSYS 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 } runtime.EnterSyscall() r0, e2, e1 := CallLeFuncWithErr(GetZosLibVec()+SYS___RENAME_A<<4, uintptr(unsafe.Pointer(_p0)), uintptr(unsafe.Pointer(_p1))) runtime.ExitSyscall() if int64(r0) == -1 { err = errnoErr2(e1, e2) } return } // THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT func impl_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 } runtime.EnterSyscall() r0, e2, e1 := CallLeFuncWithErr(GetZosLibVec()+SYS___RENAMEAT_A<<4, uintptr(olddirfd), uintptr(unsafe.Pointer(_p0)), uintptr(newdirfd), uintptr(unsafe.Pointer(_p1))) runtime.ExitSyscall() if int64(r0) == -1 { err = errnoErr2(e1, e2) } return } //go:nosplit func get_RenameatAddr() *(func(olddirfd int, oldpath string, newdirfd int, newpath string) (err error)) var Renameat = enter_Renameat func enter_Renameat(olddirfd int, oldpath string, newdirfd int, newpath string) (err error) { funcref := get_RenameatAddr() if funcptrtest(GetZosLibVec()+SYS___RENAMEAT_A<<4, "") == 0 { *funcref = impl_Renameat } else { *funcref = error_Renameat } return (*funcref)(olddirfd, oldpath, newdirfd, newpath) } func error_Renameat(olddirfd int, oldpath string, newdirfd int, newpath string) (err error) { err = ENOSYS return } // THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT func impl_Renameat2(olddirfd int, oldpath string, newdirfd int, newpath string, flags uint) (err error) { var _p0 *byte _p0, err = BytePtrFromString(oldpath) if err != nil { return } var _p1 *byte _p1, err = BytePtrFromString(newpath) if err != nil { return } runtime.EnterSyscall() r0, e2, e1 := CallLeFuncWithErr(GetZosLibVec()+SYS___RENAMEAT2_A<<4, uintptr(olddirfd), uintptr(unsafe.Pointer(_p0)), uintptr(newdirfd), uintptr(unsafe.Pointer(_p1)), uintptr(flags)) runtime.ExitSyscall() if int64(r0) == -1 { err = errnoErr2(e1, e2) } return } //go:nosplit func get_Renameat2Addr() *(func(olddirfd int, oldpath string, newdirfd int, newpath string, flags uint) (err error)) var Renameat2 = enter_Renameat2 func enter_Renameat2(olddirfd int, oldpath string, newdirfd int, newpath string, flags uint) (err error) { funcref := get_Renameat2Addr() if funcptrtest(GetZosLibVec()+SYS___RENAMEAT2_A<<4, "") == 0 { *funcref = impl_Renameat2 } else { *funcref = error_Renameat2 } return (*funcref)(olddirfd, oldpath, newdirfd, newpath, flags) } func error_Renameat2(olddirfd int, oldpath string, newdirfd int, newpath string, flags uint) (err error) { err = ENOSYS 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 } runtime.EnterSyscall() r0, e2, e1 := CallLeFuncWithErr(GetZosLibVec()+SYS___RMDIR_A<<4, uintptr(unsafe.Pointer(_p0))) runtime.ExitSyscall() if int64(r0) == -1 { err = errnoErr2(e1, e2) } 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) { runtime.EnterSyscall() r0, e2, e1 := CallLeFuncWithErr(GetZosLibVec()+SYS_LSEEK<<4, uintptr(fd), uintptr(offset), uintptr(whence)) runtime.ExitSyscall() off = int64(r0) if int64(r0) == -1 { err = errnoErr2(e1, e2) } return } // THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT func Setegid(egid int) (err error) { runtime.EnterSyscall() r0, e2, e1 := CallLeFuncWithErr(GetZosLibVec()+SYS_SETEGID<<4, uintptr(egid)) runtime.ExitSyscall() if int64(r0) == -1 { err = errnoErr2(e1, e2) } return } // THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT func Seteuid(euid int) (err error) { runtime.EnterSyscall() r0, e2, e1 := CallLeFuncWithErr(GetZosLibVec()+SYS_SETEUID<<4, uintptr(euid)) runtime.ExitSyscall() if int64(r0) == -1 { err = errnoErr2(e1, e2) } return } // THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT func impl_Sethostname(p []byte) (err error) { var _p0 unsafe.Pointer if len(p) > 0 { _p0 = unsafe.Pointer(&p[0]) } else { _p0 = unsafe.Pointer(&_zero) } runtime.EnterSyscall() r0, e2, e1 := CallLeFuncWithErr(GetZosLibVec()+SYS___SETHOSTNAME_A<<4, uintptr(_p0), uintptr(len(p))) runtime.ExitSyscall() if int64(r0) == -1 { err = errnoErr2(e1, e2) } return } //go:nosplit func get_SethostnameAddr() *(func(p []byte) (err error)) var Sethostname = enter_Sethostname func enter_Sethostname(p []byte) (err error) { funcref := get_SethostnameAddr() if funcptrtest(GetZosLibVec()+SYS___SETHOSTNAME_A<<4, "") == 0 { *funcref = impl_Sethostname } else { *funcref = error_Sethostname } return (*funcref)(p) } func error_Sethostname(p []byte) (err error) { err = ENOSYS return } // THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT func impl_Setns(fd int, nstype int) (err error) { runtime.EnterSyscall() r0, e2, e1 := CallLeFuncWithErr(GetZosLibVec()+SYS_SETNS<<4, uintptr(fd), uintptr(nstype)) runtime.ExitSyscall() if int64(r0) == -1 { err = errnoErr2(e1, e2) } return } //go:nosplit func get_SetnsAddr() *(func(fd int, nstype int) (err error)) var Setns = enter_Setns func enter_Setns(fd int, nstype int) (err error) { funcref := get_SetnsAddr() if funcptrtest(GetZosLibVec()+SYS_SETNS<<4, "") == 0 { *funcref = impl_Setns } else { *funcref = error_Setns } return (*funcref)(fd, nstype) } func error_Setns(fd int, nstype int) (err error) { err = ENOSYS return } // THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT func Setpriority(which int, who int, prio int) (err error) { runtime.EnterSyscall() r0, e2, e1 := CallLeFuncWithErr(GetZosLibVec()+SYS_SETPRIORITY<<4, uintptr(which), uintptr(who), uintptr(prio)) runtime.ExitSyscall() if int64(r0) == -1 { err = errnoErr2(e1, e2) } return } // THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT func Setpgid(pid int, pgid int) (err error) { r0, e2, e1 := CallLeFuncWithErr(GetZosLibVec()+SYS_SETPGID<<4, uintptr(pid), uintptr(pgid)) if int64(r0) == -1 { err = errnoErr2(e1, e2) } return } // THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT func Setrlimit(resource int, lim *Rlimit) (err error) { r0, e2, e1 := CallLeFuncWithErr(GetZosLibVec()+SYS_SETRLIMIT<<4, uintptr(resource), uintptr(unsafe.Pointer(lim))) if int64(r0) == -1 { err = errnoErr2(e1, e2) } return } // THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT func Setregid(rgid int, egid int) (err error) { r0, e2, e1 := CallLeFuncWithErr(GetZosLibVec()+SYS_SETREGID<<4, uintptr(rgid), uintptr(egid)) if int64(r0) == -1 { err = errnoErr2(e1, e2) } return } // THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT func Setreuid(ruid int, euid int) (err error) { r0, e2, e1 := CallLeFuncWithErr(GetZosLibVec()+SYS_SETREUID<<4, uintptr(ruid), uintptr(euid)) if int64(r0) == -1 { err = errnoErr2(e1, e2) } return } // THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT func Setsid() (pid int, err error) { r0, e2, e1 := CallLeFuncWithErr(GetZosLibVec() + SYS_SETSID<<4) pid = int(r0) if int64(r0) == -1 { err = errnoErr2(e1, e2) } return } // THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT func Setuid(uid int) (err error) { runtime.EnterSyscall() r0, e2, e1 := CallLeFuncWithErr(GetZosLibVec()+SYS_SETUID<<4, uintptr(uid)) runtime.ExitSyscall() if int64(r0) == -1 { err = errnoErr2(e1, e2) } return } // THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT func Setgid(uid int) (err error) { runtime.EnterSyscall() r0, e2, e1 := CallLeFuncWithErr(GetZosLibVec()+SYS_SETGID<<4, uintptr(uid)) runtime.ExitSyscall() if int64(r0) == -1 { err = errnoErr2(e1, e2) } return } // THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT func Shutdown(fd int, how int) (err error) { runtime.EnterSyscall() r0, e2, e1 := CallLeFuncWithErr(GetZosLibVec()+SYS_SHUTDOWN<<4, uintptr(fd), uintptr(how)) runtime.ExitSyscall() if int64(r0) == -1 { err = errnoErr2(e1, e2) } return } // THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT func stat(path string, statLE *Stat_LE_t) (err error) { var _p0 *byte _p0, err = BytePtrFromString(path) if err != nil { return } runtime.EnterSyscall() r0, e2, e1 := CallLeFuncWithErr(GetZosLibVec()+SYS___STAT_A<<4, uintptr(unsafe.Pointer(_p0)), uintptr(unsafe.Pointer(statLE))) runtime.ExitSyscall() if int64(r0) == -1 { err = errnoErr2(e1, e2) } 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 } runtime.EnterSyscall() r0, e2, e1 := CallLeFuncWithErr(GetZosLibVec()+SYS___SYMLINK_A<<4, uintptr(unsafe.Pointer(_p0)), uintptr(unsafe.Pointer(_p1))) runtime.ExitSyscall() if int64(r0) == -1 { err = errnoErr2(e1, e2) } return } // THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT func impl_Symlinkat(oldPath string, dirfd 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 } runtime.EnterSyscall() r0, e2, e1 := CallLeFuncWithErr(GetZosLibVec()+SYS___SYMLINKAT_A<<4, uintptr(unsafe.Pointer(_p0)), uintptr(dirfd), uintptr(unsafe.Pointer(_p1))) runtime.ExitSyscall() if int64(r0) == -1 { err = errnoErr2(e1, e2) } return } //go:nosplit func get_SymlinkatAddr() *(func(oldPath string, dirfd int, newPath string) (err error)) var Symlinkat = enter_Symlinkat func enter_Symlinkat(oldPath string, dirfd int, newPath string) (err error) { funcref := get_SymlinkatAddr() if funcptrtest(GetZosLibVec()+SYS___SYMLINKAT_A<<4, "") == 0 { *funcref = impl_Symlinkat } else { *funcref = error_Symlinkat } return (*funcref)(oldPath, dirfd, newPath) } func error_Symlinkat(oldPath string, dirfd int, newPath string) (err error) { err = ENOSYS return } // THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT func Sync() { runtime.EnterSyscall() CallLeFuncWithErr(GetZosLibVec() + SYS_SYNC<<4) runtime.ExitSyscall() 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 } runtime.EnterSyscall() r0, e2, e1 := CallLeFuncWithErr(GetZosLibVec()+SYS___TRUNCATE_A<<4, uintptr(unsafe.Pointer(_p0)), uintptr(length)) runtime.ExitSyscall() if int64(r0) == -1 { err = errnoErr2(e1, e2) } return } // THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT func Tcgetattr(fildes int, termptr *Termios) (err error) { runtime.EnterSyscall() r0, e2, e1 := CallLeFuncWithErr(GetZosLibVec()+SYS_TCGETATTR<<4, uintptr(fildes), uintptr(unsafe.Pointer(termptr))) runtime.ExitSyscall() if int64(r0) == -1 { err = errnoErr2(e1, e2) } return } // THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT func Tcsetattr(fildes int, when int, termptr *Termios) (err error) { runtime.EnterSyscall() r0, e2, e1 := CallLeFuncWithErr(GetZosLibVec()+SYS_TCSETATTR<<4, uintptr(fildes), uintptr(when), uintptr(unsafe.Pointer(termptr))) runtime.ExitSyscall() if int64(r0) == -1 { err = errnoErr2(e1, e2) } return } // THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT func Umask(mask int) (oldmask int) { runtime.EnterSyscall() r0, _, _ := CallLeFuncWithErr(GetZosLibVec()+SYS_UMASK<<4, uintptr(mask)) runtime.ExitSyscall() 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 } runtime.EnterSyscall() r0, e2, e1 := CallLeFuncWithErr(GetZosLibVec()+SYS___UNLINK_A<<4, uintptr(unsafe.Pointer(_p0))) runtime.ExitSyscall() if int64(r0) == -1 { err = errnoErr2(e1, e2) } return } // THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT func impl_Unlinkat(dirfd int, path string, flags int) (err error) { var _p0 *byte _p0, err = BytePtrFromString(path) if err != nil { return } runtime.EnterSyscall() r0, e2, e1 := CallLeFuncWithErr(GetZosLibVec()+SYS___UNLINKAT_A<<4, uintptr(dirfd), uintptr(unsafe.Pointer(_p0)), uintptr(flags)) runtime.ExitSyscall() if int64(r0) == -1 { err = errnoErr2(e1, e2) } return } //go:nosplit func get_UnlinkatAddr() *(func(dirfd int, path string, flags int) (err error)) var Unlinkat = enter_Unlinkat func enter_Unlinkat(dirfd int, path string, flags int) (err error) { funcref := get_UnlinkatAddr() if funcptrtest(GetZosLibVec()+SYS___UNLINKAT_A<<4, "") == 0 { *funcref = impl_Unlinkat } else { *funcref = error_Unlinkat } return (*funcref)(dirfd, path, flags) } func error_Unlinkat(dirfd int, path string, flags int) (err error) { err = ENOSYS return } // THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT func Utime(path string, utim *Utimbuf) (err error) { var _p0 *byte _p0, err = BytePtrFromString(path) if err != nil { return } runtime.EnterSyscall() r0, e2, e1 := CallLeFuncWithErr(GetZosLibVec()+SYS___UTIME_A<<4, uintptr(unsafe.Pointer(_p0)), uintptr(unsafe.Pointer(utim))) runtime.ExitSyscall() if int64(r0) == -1 { err = errnoErr2(e1, e2) } 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 } runtime.EnterSyscall() r0, e2, e1 := CallLeFuncWithErr(GetZosLibVec()+SYS___OPEN_A<<4, uintptr(unsafe.Pointer(_p0)), uintptr(mode), uintptr(perm)) runtime.ExitSyscall() fd = int(r0) if int64(r0) == -1 { err = errnoErr2(e1, e2) } return } // THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT func impl_openat(dirfd int, path string, flags int, mode uint32) (fd int, err error) { var _p0 *byte _p0, err = BytePtrFromString(path) if err != nil { return } runtime.EnterSyscall() r0, e2, e1 := CallLeFuncWithErr(GetZosLibVec()+SYS___OPENAT_A<<4, uintptr(dirfd), uintptr(unsafe.Pointer(_p0)), uintptr(flags), uintptr(mode)) runtime.ExitSyscall() fd = int(r0) if int64(r0) == -1 { err = errnoErr2(e1, e2) } return } //go:nosplit func get_openatAddr() *(func(dirfd int, path string, flags int, mode uint32) (fd int, err error)) var openat = enter_openat func enter_openat(dirfd int, path string, flags int, mode uint32) (fd int, err error) { funcref := get_openatAddr() if funcptrtest(GetZosLibVec()+SYS___OPENAT_A<<4, "") == 0 { *funcref = impl_openat } else { *funcref = error_openat } return (*funcref)(dirfd, path, flags, mode) } func error_openat(dirfd int, path string, flags int, mode uint32) (fd int, err error) { fd = -1 err = ENOSYS return } // THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT func impl_openat2(dirfd int, path string, open_how *OpenHow, size int) (fd int, err error) { var _p0 *byte _p0, err = BytePtrFromString(path) if err != nil { return } runtime.EnterSyscall() r0, e2, e1 := CallLeFuncWithErr(GetZosLibVec()+SYS___OPENAT2_A<<4, uintptr(dirfd), uintptr(unsafe.Pointer(_p0)), uintptr(unsafe.Pointer(open_how)), uintptr(size)) runtime.ExitSyscall() fd = int(r0) if int64(r0) == -1 { err = errnoErr2(e1, e2) } return } //go:nosplit func get_openat2Addr() *(func(dirfd int, path string, open_how *OpenHow, size int) (fd int, err error)) var openat2 = enter_openat2 func enter_openat2(dirfd int, path string, open_how *OpenHow, size int) (fd int, err error) { funcref := get_openat2Addr() if funcptrtest(GetZosLibVec()+SYS___OPENAT2_A<<4, "") == 0 { *funcref = impl_openat2 } else { *funcref = error_openat2 } return (*funcref)(dirfd, path, open_how, size) } func error_openat2(dirfd int, path string, open_how *OpenHow, size int) (fd int, err error) { fd = -1 err = ENOSYS return } // THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT func remove(path string) (err error) { var _p0 *byte _p0, err = BytePtrFromString(path) if err != nil { return } runtime.EnterSyscall() r0, e2, e1 := CallLeFuncWithErr(GetZosLibVec()+SYS_REMOVE<<4, uintptr(unsafe.Pointer(_p0))) runtime.ExitSyscall() if int64(r0) == -1 { err = errnoErr2(e1, e2) } return } // THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT func waitid(idType int, id int, info *Siginfo, options int) (err error) { runtime.EnterSyscall() r0, e2, e1 := CallLeFuncWithErr(GetZosLibVec()+SYS_WAITID<<4, uintptr(idType), uintptr(id), uintptr(unsafe.Pointer(info)), uintptr(options)) runtime.ExitSyscall() if int64(r0) == -1 { err = errnoErr2(e1, e2) } return } // THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT func waitpid(pid int, wstatus *_C_int, options int) (wpid int, err error) { runtime.EnterSyscall() r0, e2, e1 := CallLeFuncWithErr(GetZosLibVec()+SYS_WAITPID<<4, uintptr(pid), uintptr(unsafe.Pointer(wstatus)), uintptr(options)) runtime.ExitSyscall() wpid = int(r0) if int64(r0) == -1 { err = errnoErr2(e1, e2) } return } // THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT func gettimeofday(tv *timeval_zos) (err error) { r0, e2, e1 := CallLeFuncWithErr(GetZosLibVec()+SYS_GETTIMEOFDAY<<4, uintptr(unsafe.Pointer(tv))) if int64(r0) == -1 { err = errnoErr2(e1, e2) } return } // THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT func pipe(p *[2]_C_int) (err error) { r0, e2, e1 := CallLeFuncWithErr(GetZosLibVec()+SYS_PIPE<<4, uintptr(unsafe.Pointer(p))) if int64(r0) == -1 { err = errnoErr2(e1, e2) } 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 } runtime.EnterSyscall() r0, e2, e1 := CallLeFuncWithErr(GetZosLibVec()+SYS___UTIMES_A<<4, uintptr(unsafe.Pointer(_p0)), uintptr(unsafe.Pointer(timeval))) runtime.ExitSyscall() if int64(r0) == -1 { err = errnoErr2(e1, e2) } return } // THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT func impl_utimensat(dirfd int, path string, ts *[2]Timespec, flags int) (err error) { var _p0 *byte _p0, err = BytePtrFromString(path) if err != nil { return } runtime.EnterSyscall() r0, e2, e1 := CallLeFuncWithErr(GetZosLibVec()+SYS___UTIMENSAT_A<<4, uintptr(dirfd), uintptr(unsafe.Pointer(_p0)), uintptr(unsafe.Pointer(ts)), uintptr(flags)) runtime.ExitSyscall() if int64(r0) == -1 { err = errnoErr2(e1, e2) } return } //go:nosplit func get_utimensatAddr() *(func(dirfd int, path string, ts *[2]Timespec, flags int) (err error)) var utimensat = enter_utimensat func enter_utimensat(dirfd int, path string, ts *[2]Timespec, flags int) (err error) { funcref := get_utimensatAddr() if funcptrtest(GetZosLibVec()+SYS___UTIMENSAT_A<<4, "") == 0 { *funcref = impl_utimensat } else { *funcref = error_utimensat } return (*funcref)(dirfd, path, ts, flags) } func error_utimensat(dirfd int, path string, ts *[2]Timespec, flags int) (err error) { err = ENOSYS return } // THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT func Posix_openpt(oflag int) (fd int, err error) { runtime.EnterSyscall() r0, e2, e1 := CallLeFuncWithErr(GetZosLibVec()+SYS_POSIX_OPENPT<<4, uintptr(oflag)) runtime.ExitSyscall() fd = int(r0) if int64(r0) == -1 { err = errnoErr2(e1, e2) } return } // THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT func Grantpt(fildes int) (rc int, err error) { runtime.EnterSyscall() r0, e2, e1 := CallLeFuncWithErr(GetZosLibVec()+SYS_GRANTPT<<4, uintptr(fildes)) runtime.ExitSyscall() rc = int(r0) if int64(r0) == -1 { err = errnoErr2(e1, e2) } return } // THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT func Unlockpt(fildes int) (rc int, err error) { runtime.EnterSyscall() r0, e2, e1 := CallLeFuncWithErr(GetZosLibVec()+SYS_UNLOCKPT<<4, uintptr(fildes)) runtime.ExitSyscall() rc = int(r0) if int64(r0) == -1 { err = errnoErr2(e1, e2) } return } dependencies/pkg/mod/golang.org/x/sys@v0.26.0/unix/dev_linux_test.go0000644000000000000000000000270215107355264024175 0ustar rootroot// Copyright 2017 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_test import ( "fmt" "testing" "golang.org/x/sys/unix" ) func TestDevices(t *testing.T) { testCases := []struct { path string major uint32 minor uint32 }{ // well known major/minor numbers according to // https://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git/tree/Documentation/admin-guide/devices.txt {"/dev/null", 1, 3}, {"/dev/zero", 1, 5}, {"/dev/random", 1, 8}, {"/dev/full", 1, 7}, {"/dev/urandom", 1, 9}, {"/dev/tty", 5, 0}, } for _, tc := range testCases { t.Run(fmt.Sprintf("%s %v:%v", tc.path, tc.major, tc.minor), func(t *testing.T) { var stat unix.Stat_t err := unix.Stat(tc.path, &stat) if err != nil { if err == unix.EACCES { t.Skip("no permission to stat device, skipping test") } t.Errorf("failed to stat device: %v", err) return } dev := uint64(stat.Rdev) if unix.Major(dev) != tc.major { t.Errorf("for %s Major(%#x) == %d, want %d", tc.path, dev, unix.Major(dev), tc.major) } if unix.Minor(dev) != tc.minor { t.Errorf("for %s Minor(%#x) == %d, want %d", tc.path, dev, unix.Minor(dev), tc.minor) } if unix.Mkdev(tc.major, tc.minor) != dev { t.Errorf("for %s Mkdev(%d, %d) == %#x, want %#x", tc.path, tc.major, tc.minor, unix.Mkdev(tc.major, tc.minor), dev) } }) } } dependencies/pkg/mod/golang.org/x/sys@v0.26.0/unix/dev_dragonfly.go0000644000000000000000000000200615107355264023761 0ustar rootroot// Copyright 2017 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. // Functions to access/create device major and minor numbers matching the // encoding used in Dragonfly's sys/types.h header. // // The information below is extracted and adapted from sys/types.h: // // Minor gives a cookie instead of an index since in order to avoid changing the // meanings of bits 0-15 or wasting time and space shifting bits 16-31 for // devices that don't use them. package unix // Major returns the major component of a DragonFlyBSD device number. func Major(dev uint64) uint32 { return uint32((dev >> 8) & 0xff) } // Minor returns the minor component of a DragonFlyBSD device number. func Minor(dev uint64) uint32 { return uint32(dev & 0xffff00ff) } // Mkdev returns a DragonFlyBSD device number generated from the given major and // minor components. func Mkdev(major, minor uint32) uint64 { return (uint64(major) << 8) | uint64(minor) } dependencies/pkg/mod/golang.org/x/sys@v0.26.0/unix/syscall_darwin_libSystem.go0000644000000000000000000000231115107355264026206 0ustar rootroot// Copyright 2018 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:build darwin package unix import _ "unsafe" // Implemented in the runtime package (runtime/sys_darwin.go) func syscall_syscall(fn, a1, a2, a3 uintptr) (r1, r2 uintptr, err Errno) func syscall_syscall6(fn, a1, a2, a3, a4, a5, a6 uintptr) (r1, r2 uintptr, err Errno) func syscall_syscall6X(fn, a1, a2, a3, a4, a5, a6 uintptr) (r1, r2 uintptr, err Errno) func syscall_syscall9(fn, a1, a2, a3, a4, a5, a6, a7, a8, a9 uintptr) (r1, r2 uintptr, err Errno) // 32-bit only func syscall_rawSyscall(fn, a1, a2, a3 uintptr) (r1, r2 uintptr, err Errno) func syscall_rawSyscall6(fn, a1, a2, a3, a4, a5, a6 uintptr) (r1, r2 uintptr, err Errno) func syscall_syscallPtr(fn, a1, a2, a3 uintptr) (r1, r2 uintptr, err Errno) //go:linkname syscall_syscall syscall.syscall //go:linkname syscall_syscall6 syscall.syscall6 //go:linkname syscall_syscall6X syscall.syscall6X //go:linkname syscall_syscall9 syscall.syscall9 //go:linkname syscall_rawSyscall syscall.rawSyscall //go:linkname syscall_rawSyscall6 syscall.rawSyscall6 //go:linkname syscall_syscallPtr syscall.syscallPtr dependencies/pkg/mod/golang.org/x/sys@v0.26.0/unix/syscall_hurd_386.go0000644000000000000000000000067715107355264024246 0ustar rootroot// Copyright 2022 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:build 386 && hurd package unix const ( TIOCGETA = 0x62251713 ) type Winsize struct { Row uint16 Col uint16 Xpixel uint16 Ypixel uint16 } type Termios struct { Iflag uint32 Oflag uint32 Cflag uint32 Lflag uint32 Cc [20]uint8 Ispeed int32 Ospeed int32 } dependencies/pkg/mod/golang.org/x/sys@v0.26.0/unix/zsyscall_linux_mips.go0000644000000000000000000004141315107355264025256 0ustar rootroot// go run mksyscall.go -b32 -arm -tags linux,mips syscall_linux.go syscall_linux_mipsx.go syscall_linux_alarm.go // Code generated by the command above; see README.md. DO NOT EDIT. //go: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 fanotifyMark(fd int, flags uint, mask uint64, dirFd int, pathname *byte) (err error) { _, _, e1 := Syscall6(SYS_FANOTIFY_MARK, uintptr(fd), uintptr(flags), uintptr(mask>>32), uintptr(mask), uintptr(dirFd), uintptr(unsafe.Pointer(pathname))) 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 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 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 := Syscall9(SYS_FADVISE64, uintptr(fd), 0, uintptr(offset>>32), uintptr(offset), uintptr(length>>32), 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 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, _ := RawSyscallNoError(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, _ := RawSyscallNoError(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, _ := RawSyscallNoError(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, _ := RawSyscallNoError(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 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 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) (prev int, err error) { r0, _, e1 := Syscall(SYS_SETFSGID, uintptr(gid), 0, 0) prev = int(r0) if e1 != 0 { err = errnoErr(e1) } return } // THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT func setfsuid(uid int) (prev int, err error) { r0, _, e1 := Syscall(SYS_SETFSUID, uintptr(uid), 0, 0) prev = int(r0) 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 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 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 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 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 futimesat(dirfd int, path string, times *[2]Timeval) (err error) { var _p0 *byte _p0, err = BytePtrFromString(path) if err != nil { return } _, _, e1 := Syscall(SYS_FUTIMESAT, uintptr(dirfd), uintptr(unsafe.Pointer(_p0)), 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 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 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 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 Fstatat(dirfd int, path string, stat *Stat_t, flags int) (err error) { var _p0 *byte _p0, err = BytePtrFromString(path) if err != nil { return } _, _, e1 := Syscall6(SYS_FSTATAT64, uintptr(dirfd), 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 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 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 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 Alarm(seconds uint) (remaining uint, err error) { r0, _, e1 := Syscall(SYS_ALARM, uintptr(seconds), 0, 0) remaining = uint(r0) if e1 != 0 { err = errnoErr(e1) } return } dependencies/pkg/mod/golang.org/x/sys@v0.26.0/unix/syscall_openbsd_amd64.go0000644000000000000000000000173615107355264025326 0ustar rootroot// 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. //go:build amd64 && openbsd package unix func setTimespec(sec, nsec int64) Timespec { return Timespec{Sec: sec, Nsec: nsec} } func setTimeval(sec, usec int64) Timeval { return Timeval{Sec: sec, Usec: usec} } 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 (msghdr *Msghdr) SetIovlen(length int) { msghdr.Iovlen = uint32(length) } func (cmsg *Cmsghdr) SetLen(length int) { cmsg.Len = uint32(length) } // SYS___SYSCTL is used by syscall_bsd.go for all BSDs, but in modern versions // of openbsd/amd64 the syscall is called sysctl instead of __sysctl. const SYS___SYSCTL = SYS_SYSCTL dependencies/pkg/mod/golang.org/x/sys@v0.26.0/unix/zerrors_openbsd_ppc64.go0000644000000000000000000023501215107355264025377 0ustar rootroot// mkerrors.sh -m64 // Code generated by the command above; see README.md. DO NOT EDIT. //go:build ppc64 && openbsd // Code generated by cmd/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 ALTWERASE = 0x200 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_FILDROP_CAPTURE = 0x1 BPF_FILDROP_DROP = 0x2 BPF_FILDROP_PASS = 0x0 BPF_F_DIR_IN = 0x10 BPF_F_DIR_MASK = 0x30 BPF_F_DIR_OUT = 0x20 BPF_F_DIR_SHIFT = 0x4 BPF_F_FLOWID = 0x8 BPF_F_PRI_MASK = 0x7 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_RND = 0xc0 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_BOOTTIME = 0x6 CLOCK_MONOTONIC = 0x3 CLOCK_PROCESS_CPUTIME_ID = 0x2 CLOCK_REALTIME = 0x0 CLOCK_THREAD_CPUTIME_ID = 0x4 CLOCK_UPTIME = 0x5 CPUSTATES = 0x6 CP_IDLE = 0x5 CP_INTR = 0x4 CP_NICE = 0x1 CP_SPIN = 0x3 CP_SYS = 0x2 CP_USER = 0x0 CREAD = 0x800 CRTSCTS = 0x10000 CS5 = 0x0 CS6 = 0x100 CS7 = 0x200 CS8 = 0x300 CSIZE = 0x300 CSTART = 0x11 CSTATUS = 0xff CSTOP = 0x13 CSTOPB = 0x400 CSUSP = 0x1a CTL_HW = 0x6 CTL_KERN = 0x1 CTL_MAXNAME = 0xc CTL_NET = 0x4 DIOCADDQUEUE = 0xc110445d DIOCADDRULE = 0xcd604404 DIOCADDSTATE = 0xc1084425 DIOCCHANGERULE = 0xcd60441a DIOCCLRIFFLAG = 0xc028445a DIOCCLRSRCNODES = 0x20004455 DIOCCLRSTATES = 0xc0e04412 DIOCCLRSTATUS = 0xc0284416 DIOCGETLIMIT = 0xc0084427 DIOCGETQSTATS = 0xc1204460 DIOCGETQUEUE = 0xc110445f DIOCGETQUEUES = 0xc110445e DIOCGETRULE = 0xcd604407 DIOCGETRULES = 0xcd604406 DIOCGETRULESET = 0xc444443b DIOCGETRULESETS = 0xc444443a DIOCGETSRCNODES = 0xc0104454 DIOCGETSTATE = 0xc1084413 DIOCGETSTATES = 0xc0104419 DIOCGETSTATUS = 0xc1e84415 DIOCGETSYNFLWATS = 0xc0084463 DIOCGETTIMEOUT = 0xc008441e DIOCIGETIFACES = 0xc0284457 DIOCKILLSRCNODES = 0xc080445b DIOCKILLSTATES = 0xc0e04429 DIOCNATLOOK = 0xc0504417 DIOCOSFPADD = 0xc088444f DIOCOSFPFLUSH = 0x2000444e DIOCOSFPGET = 0xc0884450 DIOCRADDADDRS = 0xc4504443 DIOCRADDTABLES = 0xc450443d DIOCRCLRADDRS = 0xc4504442 DIOCRCLRASTATS = 0xc4504448 DIOCRCLRTABLES = 0xc450443c DIOCRCLRTSTATS = 0xc4504441 DIOCRDELADDRS = 0xc4504444 DIOCRDELTABLES = 0xc450443e DIOCRGETADDRS = 0xc4504446 DIOCRGETASTATS = 0xc4504447 DIOCRGETTABLES = 0xc450443f DIOCRGETTSTATS = 0xc4504440 DIOCRINADEFINE = 0xc450444d DIOCRSETADDRS = 0xc4504445 DIOCRSETTFLAGS = 0xc450444a DIOCRTSTADDRS = 0xc4504449 DIOCSETDEBUG = 0xc0044418 DIOCSETHOSTID = 0xc0044456 DIOCSETIFFLAG = 0xc0284459 DIOCSETLIMIT = 0xc0084428 DIOCSETREASS = 0xc004445c DIOCSETSTATUSIF = 0xc0284414 DIOCSETSYNCOOKIES = 0xc0014462 DIOCSETSYNFLWATS = 0xc0084461 DIOCSETTIMEOUT = 0xc008441d DIOCSTART = 0x20004401 DIOCSTOP = 0x20004402 DIOCXBEGIN = 0xc0104451 DIOCXCOMMIT = 0xc0104452 DIOCXROLLBACK = 0xc0104453 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_OPENFLOW = 0x10b 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 DLT_USBPCAP = 0xf9 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 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 ETH64_8021_RSVD_MASK = 0xfffffffffff0 ETH64_8021_RSVD_PREFIX = 0x180c2000000 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_EAPOL = 0x888e 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_MACSEC = 0x88e5 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_NHRP = 0x2001 ETHERTYPE_NOVELL = 0x8138 ETHERTYPE_NS = 0x600 ETHERTYPE_NSAT = 0x601 ETHERTYPE_NSCOMPAT = 0x807 ETHERTYPE_NSH = 0x984f ETHERTYPE_NTRAILER = 0x10 ETHERTYPE_OS9 = 0x7007 ETHERTYPE_OS9NET = 0x7009 ETHERTYPE_PACER = 0x80c6 ETHERTYPE_PBB = 0x88e7 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_HARDMTU_LEN = 0xff9b ETHER_MAX_LEN = 0x5ee ETHER_MIN_LEN = 0x40 ETHER_TYPE_LEN = 0x2 ETHER_VLAN_ENCAP_LEN = 0x4 EVFILT_AIO = -0x3 EVFILT_DEVICE = -0x8 EVFILT_EXCEPT = -0x9 EVFILT_PROC = -0x5 EVFILT_READ = -0x1 EVFILT_SIGNAL = -0x6 EVFILT_SYSCOUNT = 0x9 EVFILT_TIMER = -0x7 EVFILT_VNODE = -0x4 EVFILT_WRITE = -0x2 EVL_ENCAPLEN = 0x4 EVL_PRIO_BITS = 0xd EVL_PRIO_MAX = 0x7 EVL_VLID_MASK = 0xfff EVL_VLID_MAX = 0xffe EVL_VLID_MIN = 0x1 EVL_VLID_NULL = 0x0 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_ONESHOT = 0x10 EV_RECEIPT = 0x40 EV_SYSFLAGS = 0xf800 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_ISATTY = 0xb 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 HW_MACHINE = 0x1 ICANON = 0x100 ICMP6_FILTER = 0x12 ICRNL = 0x100 IEXTEN = 0x400 IFAN_ARRIVAL = 0x0 IFAN_DEPARTURE = 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_OACTIVE = 0x400 IFF_POINTOPOINT = 0x10 IFF_PROMISC = 0x100 IFF_RUNNING = 0x40 IFF_SIMPLEX = 0x800 IFF_STATICARP = 0x20 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_MBIM = 0xfa 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_WIREGUARD = 0xfb 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_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_SCTP = 0x84 IPPROTO_TCP = 0x6 IPPROTO_TP = 0x1d IPPROTO_UDP = 0x11 IPPROTO_UDPLITE = 0x88 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 = 0xfffffff IPV6_FLOWLABEL_MASK = 0xfffff 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_MINHOPCOUNT = 0x41 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_DROP_MEMBERSHIP = 0xd IP_ESP_NETWORK_LEVEL = 0x16 IP_ESP_TRANS_LEVEL = 0x15 IP_HDRINCL = 0x2 IP_IPCOMP_LEVEL = 0x1d IP_IPDEFTTL = 0x25 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_SENDSRCADDR = 0x7 IP_TOS = 0x3 IP_TTL = 0x4 ISIG = 0x80 ISTRIP = 0x20 ITIMER_PROF = 0x2 ITIMER_REAL = 0x0 ITIMER_VIRTUAL = 0x1 IUCLC = 0x1000 IXANY = 0x800 IXOFF = 0x400 IXON = 0x200 KERN_HOSTNAME = 0xa KERN_OSRELEASE = 0x2 KERN_OSTYPE = 0x1 KERN_VERSION = 0x4 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_ANONYMOUS = 0x1000 MAP_CONCEAL = 0x8000 MAP_COPY = 0x2 MAP_FILE = 0x0 MAP_FIXED = 0x10 MAP_FLAGMASK = 0xfff7 MAP_HASSEMAPHORE = 0x0 MAP_INHERIT = 0x0 MAP_INHERIT_COPY = 0x1 MAP_INHERIT_NONE = 0x2 MAP_INHERIT_SHARE = 0x0 MAP_INHERIT_ZERO = 0x3 MAP_NOEXTEND = 0x0 MAP_NORESERVE = 0x0 MAP_PRIVATE = 0x2 MAP_RENAME = 0x0 MAP_SHARED = 0x1 MAP_STACK = 0x4000 MAP_TRYFIXED = 0x0 MCL_CURRENT = 0x1 MCL_FUTURE = 0x2 MNT_ASYNC = 0x40 MNT_DEFEXPORTED = 0x200 MNT_DELEXPORT = 0x20000 MNT_DOOMED = 0x8000000 MNT_EXPORTANON = 0x400 MNT_EXPORTED = 0x100 MNT_EXRDONLY = 0x80 MNT_FORCE = 0x80000 MNT_LAZY = 0x3 MNT_LOCAL = 0x1000 MNT_NOATIME = 0x8000 MNT_NODEV = 0x10 MNT_NOEXEC = 0x4 MNT_NOPERM = 0x20 MNT_NOSUID = 0x8 MNT_NOWAIT = 0x2 MNT_QUOTA = 0x2000 MNT_RDONLY = 0x1 MNT_RELOAD = 0x40000 MNT_ROOTFS = 0x4000 MNT_SOFTDEP = 0x4000000 MNT_STALLED = 0x100000 MNT_SWAPPABLE = 0x200000 MNT_SYNCHRONOUS = 0x2 MNT_UPDATE = 0x10000 MNT_VISFLAGMASK = 0x400ffff MNT_WAIT = 0x1 MNT_WANTRDWR = 0x2000000 MNT_WXALLOWED = 0x800 MOUNT_AFS = "afs" MOUNT_CD9660 = "cd9660" MOUNT_EXT2FS = "ext2fs" MOUNT_FFS = "ffs" MOUNT_FUSEFS = "fuse" MOUNT_MFS = "mfs" MOUNT_MSDOS = "msdos" MOUNT_NCPFS = "ncpfs" MOUNT_NFS = "nfs" MOUNT_NTFS = "ntfs" MOUNT_TMPFS = "tmpfs" MOUNT_UDF = "udf" MOUNT_UFS = "ffs" MSG_BCAST = 0x100 MSG_CMSG_CLOEXEC = 0x800 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 MSG_WAITFORONE = 0x1000 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_IFNAMES = 0x6 NET_RT_MAXID = 0x8 NET_RT_SOURCE = 0x7 NET_RT_STATS = 0x4 NET_RT_TABLE = 0x5 NFDBITS = 0x20 NOFLSH = 0x80000000 NOKERNINFO = 0x2000000 NOTE_ATTRIB = 0x8 NOTE_CHANGE = 0x1 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_OOB = 0x4 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 OLCUC = 0x20 ONLCR = 0x2 ONLRET = 0x80 ONOCR = 0x40 ONOEOT = 0x8 OPOST = 0x1 OXTABS = 0x4 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_MEMLOCK = 0x6 RLIMIT_NOFILE = 0x8 RLIMIT_NPROC = 0x7 RLIMIT_RSS = 0x5 RLIMIT_STACK = 0x3 RLIM_INFINITY = 0x7fffffffffffffff RTAX_AUTHOR = 0x6 RTAX_BFD = 0xb RTAX_BRD = 0x7 RTAX_DNS = 0xc RTAX_DST = 0x0 RTAX_GATEWAY = 0x1 RTAX_GENMASK = 0x3 RTAX_IFA = 0x5 RTAX_IFP = 0x4 RTAX_LABEL = 0xa RTAX_MAX = 0xf RTAX_NETMASK = 0x2 RTAX_SEARCH = 0xe RTAX_SRC = 0x8 RTAX_SRCMASK = 0x9 RTAX_STATIC = 0xd RTA_AUTHOR = 0x40 RTA_BFD = 0x800 RTA_BRD = 0x80 RTA_DNS = 0x1000 RTA_DST = 0x1 RTA_GATEWAY = 0x2 RTA_GENMASK = 0x8 RTA_IFA = 0x20 RTA_IFP = 0x10 RTA_LABEL = 0x400 RTA_NETMASK = 0x4 RTA_SEARCH = 0x4000 RTA_SRC = 0x100 RTA_SRCMASK = 0x200 RTA_STATIC = 0x2000 RTF_ANNOUNCE = 0x4000 RTF_BFD = 0x1000000 RTF_BLACKHOLE = 0x1000 RTF_BROADCAST = 0x400000 RTF_CACHED = 0x20000 RTF_CLONED = 0x10000 RTF_CLONING = 0x100 RTF_CONNECTED = 0x800000 RTF_DONE = 0x40 RTF_DYNAMIC = 0x10 RTF_FMASK = 0x110fc08 RTF_GATEWAY = 0x2 RTF_HOST = 0x4 RTF_LLINFO = 0x400 RTF_LOCAL = 0x200000 RTF_MODIFIED = 0x20 RTF_MPATH = 0x40000 RTF_MPLS = 0x100000 RTF_MULTICAST = 0x200 RTF_PERMANENT_ARP = 0x2000 RTF_PROTO1 = 0x8000 RTF_PROTO2 = 0x4000 RTF_PROTO3 = 0x2000 RTF_REJECT = 0x8 RTF_STATIC = 0x800 RTF_UP = 0x1 RTF_USETRAILERS = 0x8000 RTM_80211INFO = 0x15 RTM_ADD = 0x1 RTM_BFD = 0x12 RTM_CHANGE = 0x3 RTM_CHGADDRATTR = 0x14 RTM_DELADDR = 0xd RTM_DELETE = 0x2 RTM_DESYNC = 0x10 RTM_GET = 0x4 RTM_IFANNOUNCE = 0xf RTM_IFINFO = 0xe RTM_INVALIDATE = 0x11 RTM_LOSING = 0x5 RTM_MAXSIZE = 0x800 RTM_MISS = 0x7 RTM_NEWADDR = 0xc RTM_PROPOSAL = 0x13 RTM_REDIRECT = 0x6 RTM_RESOLVE = 0xb RTM_SOURCE = 0x16 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_BITS = 0x8 RT_TABLEID_MASK = 0xff RT_TABLEID_MAX = 0xff RUSAGE_CHILDREN = -0x1 RUSAGE_SELF = 0x0 RUSAGE_THREAD = 0x1 SCM_RIGHTS = 0x1 SCM_TIMESTAMP = 0x4 SEEK_CUR = 0x1 SEEK_END = 0x2 SEEK_SET = 0x0 SHUT_RD = 0x0 SHUT_RDWR = 0x2 SHUT_WR = 0x1 SIOCADDMULTI = 0x80206931 SIOCAIFADDR = 0x8040691a SIOCAIFGROUP = 0x80286987 SIOCATMARK = 0x40047307 SIOCBRDGADD = 0x8060693c SIOCBRDGADDL = 0x80606949 SIOCBRDGADDS = 0x80606941 SIOCBRDGARL = 0x808c694d SIOCBRDGDADDR = 0x81286947 SIOCBRDGDEL = 0x8060693d SIOCBRDGDELS = 0x80606942 SIOCBRDGFLUSH = 0x80606948 SIOCBRDGFRL = 0x808c694e SIOCBRDGGCACHE = 0xc0146941 SIOCBRDGGFD = 0xc0146952 SIOCBRDGGHT = 0xc0146951 SIOCBRDGGIFFLGS = 0xc060693e SIOCBRDGGMA = 0xc0146953 SIOCBRDGGPARAM = 0xc0406958 SIOCBRDGGPRI = 0xc0146950 SIOCBRDGGRL = 0xc030694f SIOCBRDGGTO = 0xc0146946 SIOCBRDGIFS = 0xc0606942 SIOCBRDGRTS = 0xc0206943 SIOCBRDGSADDR = 0xc1286944 SIOCBRDGSCACHE = 0x80146940 SIOCBRDGSFD = 0x80146952 SIOCBRDGSHT = 0x80146951 SIOCBRDGSIFCOST = 0x80606955 SIOCBRDGSIFFLGS = 0x8060693f SIOCBRDGSIFPRIO = 0x80606954 SIOCBRDGSIFPROT = 0x8060694a SIOCBRDGSMA = 0x80146953 SIOCBRDGSPRI = 0x80146950 SIOCBRDGSPROTO = 0x8014695a SIOCBRDGSTO = 0x80146945 SIOCBRDGSTXHC = 0x80146959 SIOCDELLABEL = 0x80206997 SIOCDELMULTI = 0x80206932 SIOCDIFADDR = 0x80206919 SIOCDIFGROUP = 0x80286989 SIOCDIFPARENT = 0x802069b4 SIOCDIFPHYADDR = 0x80206949 SIOCDPWE3NEIGHBOR = 0x802069de SIOCDVNETID = 0x802069af SIOCGETKALIVE = 0xc01869a4 SIOCGETLABEL = 0x8020699a SIOCGETMPWCFG = 0xc02069ae SIOCGETPFLOW = 0xc02069fe SIOCGETPFSYNC = 0xc02069f8 SIOCGETSGCNT = 0xc0207534 SIOCGETVIFCNT = 0xc0287533 SIOCGETVLAN = 0xc0206990 SIOCGIFADDR = 0xc0206921 SIOCGIFBRDADDR = 0xc0206923 SIOCGIFCONF = 0xc0106924 SIOCGIFDATA = 0xc020691b SIOCGIFDESCR = 0xc0206981 SIOCGIFDSTADDR = 0xc0206922 SIOCGIFFLAGS = 0xc0206911 SIOCGIFGATTR = 0xc028698b SIOCGIFGENERIC = 0xc020693a SIOCGIFGLIST = 0xc028698d SIOCGIFGMEMB = 0xc028698a SIOCGIFGROUP = 0xc0286988 SIOCGIFHARDMTU = 0xc02069a5 SIOCGIFLLPRIO = 0xc02069b6 SIOCGIFMEDIA = 0xc0406938 SIOCGIFMETRIC = 0xc0206917 SIOCGIFMTU = 0xc020697e SIOCGIFNETMASK = 0xc0206925 SIOCGIFPAIR = 0xc02069b1 SIOCGIFPARENT = 0xc02069b3 SIOCGIFPRIORITY = 0xc020699c SIOCGIFRDOMAIN = 0xc02069a0 SIOCGIFRTLABEL = 0xc0206983 SIOCGIFRXR = 0x802069aa SIOCGIFSFFPAGE = 0xc1126939 SIOCGIFXFLAGS = 0xc020699e SIOCGLIFPHYADDR = 0xc218694b SIOCGLIFPHYDF = 0xc02069c2 SIOCGLIFPHYECN = 0xc02069c8 SIOCGLIFPHYRTABLE = 0xc02069a2 SIOCGLIFPHYTTL = 0xc02069a9 SIOCGPGRP = 0x40047309 SIOCGPWE3 = 0xc0206998 SIOCGPWE3CTRLWORD = 0xc02069dc SIOCGPWE3FAT = 0xc02069dd SIOCGPWE3NEIGHBOR = 0xc21869de SIOCGRXHPRIO = 0xc02069db SIOCGSPPPPARAMS = 0xc0206994 SIOCGTXHPRIO = 0xc02069c6 SIOCGUMBINFO = 0xc02069be SIOCGUMBPARAM = 0xc02069c0 SIOCGVH = 0xc02069f6 SIOCGVNETFLOWID = 0xc02069c4 SIOCGVNETID = 0xc02069a7 SIOCIFAFATTACH = 0x801169ab SIOCIFAFDETACH = 0x801169ac SIOCIFCREATE = 0x8020697a SIOCIFDESTROY = 0x80206979 SIOCIFGCLONERS = 0xc0106978 SIOCSETKALIVE = 0x801869a3 SIOCSETLABEL = 0x80206999 SIOCSETMPWCFG = 0x802069ad SIOCSETPFLOW = 0x802069fd SIOCSETPFSYNC = 0x802069f7 SIOCSETVLAN = 0x8020698f SIOCSIFADDR = 0x8020690c SIOCSIFBRDADDR = 0x80206913 SIOCSIFDESCR = 0x80206980 SIOCSIFDSTADDR = 0x8020690e SIOCSIFFLAGS = 0x80206910 SIOCSIFGATTR = 0x8028698c SIOCSIFGENERIC = 0x80206939 SIOCSIFLLADDR = 0x8020691f SIOCSIFLLPRIO = 0x802069b5 SIOCSIFMEDIA = 0xc0206937 SIOCSIFMETRIC = 0x80206918 SIOCSIFMTU = 0x8020697f SIOCSIFNETMASK = 0x80206916 SIOCSIFPAIR = 0x802069b0 SIOCSIFPARENT = 0x802069b2 SIOCSIFPRIORITY = 0x8020699b SIOCSIFRDOMAIN = 0x8020699f SIOCSIFRTLABEL = 0x80206982 SIOCSIFXFLAGS = 0x8020699d SIOCSLIFPHYADDR = 0x8218694a SIOCSLIFPHYDF = 0x802069c1 SIOCSLIFPHYECN = 0x802069c7 SIOCSLIFPHYRTABLE = 0x802069a1 SIOCSLIFPHYTTL = 0x802069a8 SIOCSPGRP = 0x80047308 SIOCSPWE3CTRLWORD = 0x802069dc SIOCSPWE3FAT = 0x802069dd SIOCSPWE3NEIGHBOR = 0x821869de SIOCSRXHPRIO = 0x802069db SIOCSSPPPPARAMS = 0x80206993 SIOCSTXHPRIO = 0x802069c5 SIOCSUMBPARAM = 0x802069bf SIOCSVH = 0xc02069f5 SIOCSVNETFLOWID = 0x802069c3 SIOCSVNETID = 0x802069a6 SOCK_CLOEXEC = 0x8000 SOCK_DGRAM = 0x2 SOCK_DNS = 0x1000 SOCK_NONBLOCK = 0x4000 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_DOMAIN = 0x1024 SO_DONTROUTE = 0x10 SO_ERROR = 0x1007 SO_KEEPALIVE = 0x8 SO_LINGER = 0x80 SO_NETPROC = 0x1020 SO_OOBINLINE = 0x100 SO_PEERCRED = 0x1022 SO_PROTOCOL = 0x1025 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 SO_ZEROIZE = 0x2000 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_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 TCIOFF = 0x3 TCIOFLUSH = 0x3 TCION = 0x4 TCOFLUSH = 0x2 TCOOFF = 0x1 TCOON = 0x2 TCPOPT_EOL = 0x0 TCPOPT_MAXSEG = 0x2 TCPOPT_NOP = 0x1 TCPOPT_SACK = 0x5 TCPOPT_SACK_HDR = 0x1010500 TCPOPT_SACK_PERMITTED = 0x4 TCPOPT_SACK_PERMIT_HDR = 0x1010402 TCPOPT_SIGNATURE = 0x13 TCPOPT_TIMESTAMP = 0x8 TCPOPT_TSTAMP_HDR = 0x101080a TCPOPT_WINDOW = 0x3 TCP_INFO = 0x9 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_SACKHOLE_LIMIT = 0x80 TCP_SACK_ENABLE = 0x8 TCSAFLUSH = 0x2 TIMER_ABSTIME = 0x1 TIMER_RELTIME = 0x0 TIOCCBRK = 0x2000747a TIOCCDTR = 0x20007478 TIOCCHKVERAUTH = 0x2000741e TIOCCLRVERAUTH = 0x2000741d 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 TIOCSETVERAUTH = 0x8004741c TIOCSFLAGS = 0x8004745c TIOCSIG = 0x8004745f TIOCSPGRP = 0x80047476 TIOCSTART = 0x2000746e TIOCSTAT = 0x20007465 TIOCSTOP = 0x2000746f TIOCSTSTAMP = 0x8008745a TIOCSWINSZ = 0x80087467 TIOCUCNTL = 0x80047466 TIOCUCNTL_CBRK = 0x7a TIOCUCNTL_SBRK = 0x7b TOSTOP = 0x400000 UTIME_NOW = -0x2 UTIME_OMIT = -0x1 VDISCARD = 0xf VDSUSP = 0xb VEOF = 0x0 VEOL = 0x1 VEOL2 = 0x2 VERASE = 0x3 VINTR = 0x8 VKILL = 0x5 VLNEXT = 0xe VMIN = 0x10 VM_ANONMIN = 0x7 VM_LOADAVG = 0x2 VM_MALLOC_CONF = 0xc VM_MAXID = 0xd VM_MAXSLP = 0xa VM_METER = 0x1 VM_NKMEMPAGES = 0x6 VM_PSSTRINGS = 0x3 VM_SWAPENCRYPT = 0x5 VM_USPACE = 0xb VM_UVMEXP = 0x4 VM_VNODEMIN = 0x9 VM_VTEXTMIN = 0x8 VQUIT = 0x9 VREPRINT = 0x6 VSTART = 0xc VSTATUS = 0x12 VSTOP = 0xd VSUSP = 0xa VTIME = 0x11 VWERASE = 0x4 WALTSIG = 0x4 WCONTINUED = 0x8 WCOREFLAG = 0x80 WNOHANG = 0x1 WUNTRACED = 0x2 XCASE = 0x1000000 ) // 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(0x5c) 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(0x5f) 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) ENOTRECOVERABLE = syscall.Errno(0x5d) ENOTSOCK = syscall.Errno(0x26) ENOTSUP = syscall.Errno(0x5b) ENOTTY = syscall.Errno(0x19) ENXIO = syscall.Errno(0x6) EOPNOTSUPP = syscall.Errno(0x2d) EOVERFLOW = syscall.Errno(0x57) EOWNERDEAD = syscall.Errno(0x5e) 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(0x5f) 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 errorList = [...]struct { num syscall.Errno name string desc string }{ {1, "EPERM", "operation not permitted"}, {2, "ENOENT", "no such file or directory"}, {3, "ESRCH", "no such process"}, {4, "EINTR", "interrupted system call"}, {5, "EIO", "input/output error"}, {6, "ENXIO", "device not configured"}, {7, "E2BIG", "argument list too long"}, {8, "ENOEXEC", "exec format error"}, {9, "EBADF", "bad file descriptor"}, {10, "ECHILD", "no child processes"}, {11, "EDEADLK", "resource deadlock avoided"}, {12, "ENOMEM", "cannot allocate memory"}, {13, "EACCES", "permission denied"}, {14, "EFAULT", "bad address"}, {15, "ENOTBLK", "block device required"}, {16, "EBUSY", "device busy"}, {17, "EEXIST", "file exists"}, {18, "EXDEV", "cross-device link"}, {19, "ENODEV", "operation not supported by device"}, {20, "ENOTDIR", "not a directory"}, {21, "EISDIR", "is a directory"}, {22, "EINVAL", "invalid argument"}, {23, "ENFILE", "too many open files in system"}, {24, "EMFILE", "too many open files"}, {25, "ENOTTY", "inappropriate ioctl for device"}, {26, "ETXTBSY", "text file busy"}, {27, "EFBIG", "file too large"}, {28, "ENOSPC", "no space left on device"}, {29, "ESPIPE", "illegal seek"}, {30, "EROFS", "read-only file system"}, {31, "EMLINK", "too many links"}, {32, "EPIPE", "broken pipe"}, {33, "EDOM", "numerical argument out of domain"}, {34, "ERANGE", "result too large"}, {35, "EAGAIN", "resource temporarily unavailable"}, {36, "EINPROGRESS", "operation now in progress"}, {37, "EALREADY", "operation already in progress"}, {38, "ENOTSOCK", "socket operation on non-socket"}, {39, "EDESTADDRREQ", "destination address required"}, {40, "EMSGSIZE", "message too long"}, {41, "EPROTOTYPE", "protocol wrong type for socket"}, {42, "ENOPROTOOPT", "protocol not available"}, {43, "EPROTONOSUPPORT", "protocol not supported"}, {44, "ESOCKTNOSUPPORT", "socket type not supported"}, {45, "EOPNOTSUPP", "operation not supported"}, {46, "EPFNOSUPPORT", "protocol family not supported"}, {47, "EAFNOSUPPORT", "address family not supported by protocol family"}, {48, "EADDRINUSE", "address already in use"}, {49, "EADDRNOTAVAIL", "can't assign requested address"}, {50, "ENETDOWN", "network is down"}, {51, "ENETUNREACH", "network is unreachable"}, {52, "ENETRESET", "network dropped connection on reset"}, {53, "ECONNABORTED", "software caused connection abort"}, {54, "ECONNRESET", "connection reset by peer"}, {55, "ENOBUFS", "no buffer space available"}, {56, "EISCONN", "socket is already connected"}, {57, "ENOTCONN", "socket is not connected"}, {58, "ESHUTDOWN", "can't send after socket shutdown"}, {59, "ETOOMANYREFS", "too many references: can't splice"}, {60, "ETIMEDOUT", "operation timed out"}, {61, "ECONNREFUSED", "connection refused"}, {62, "ELOOP", "too many levels of symbolic links"}, {63, "ENAMETOOLONG", "file name too long"}, {64, "EHOSTDOWN", "host is down"}, {65, "EHOSTUNREACH", "no route to host"}, {66, "ENOTEMPTY", "directory not empty"}, {67, "EPROCLIM", "too many processes"}, {68, "EUSERS", "too many users"}, {69, "EDQUOT", "disk quota exceeded"}, {70, "ESTALE", "stale NFS file handle"}, {71, "EREMOTE", "too many levels of remote in path"}, {72, "EBADRPC", "RPC struct is bad"}, {73, "ERPCMISMATCH", "RPC version wrong"}, {74, "EPROGUNAVAIL", "RPC program not available"}, {75, "EPROGMISMATCH", "program version wrong"}, {76, "EPROCUNAVAIL", "bad procedure for program"}, {77, "ENOLCK", "no locks available"}, {78, "ENOSYS", "function not implemented"}, {79, "EFTYPE", "inappropriate file type or format"}, {80, "EAUTH", "authentication error"}, {81, "ENEEDAUTH", "need authenticator"}, {82, "EIPSEC", "IPsec processing failure"}, {83, "ENOATTR", "attribute not found"}, {84, "EILSEQ", "illegal byte sequence"}, {85, "ENOMEDIUM", "no medium found"}, {86, "EMEDIUMTYPE", "wrong medium type"}, {87, "EOVERFLOW", "value too large to be stored in data type"}, {88, "ECANCELED", "operation canceled"}, {89, "EIDRM", "identifier removed"}, {90, "ENOMSG", "no message of desired type"}, {91, "ENOTSUP", "not supported"}, {92, "EBADMSG", "bad message"}, {93, "ENOTRECOVERABLE", "state not recoverable"}, {94, "EOWNERDEAD", "previous owner died"}, {95, "ELAST", "protocol error"}, } // Signal table var signalList = [...]struct { num syscall.Signal name string desc string }{ {1, "SIGHUP", "hangup"}, {2, "SIGINT", "interrupt"}, {3, "SIGQUIT", "quit"}, {4, "SIGILL", "illegal instruction"}, {5, "SIGTRAP", "trace/BPT trap"}, {6, "SIGABRT", "abort trap"}, {7, "SIGEMT", "EMT trap"}, {8, "SIGFPE", "floating point exception"}, {9, "SIGKILL", "killed"}, {10, "SIGBUS", "bus error"}, {11, "SIGSEGV", "segmentation fault"}, {12, "SIGSYS", "bad system call"}, {13, "SIGPIPE", "broken pipe"}, {14, "SIGALRM", "alarm clock"}, {15, "SIGTERM", "terminated"}, {16, "SIGURG", "urgent I/O condition"}, {17, "SIGSTOP", "suspended (signal)"}, {18, "SIGTSTP", "suspended"}, {19, "SIGCONT", "continued"}, {20, "SIGCHLD", "child exited"}, {21, "SIGTTIN", "stopped (tty input)"}, {22, "SIGTTOU", "stopped (tty output)"}, {23, "SIGIO", "I/O possible"}, {24, "SIGXCPU", "cputime limit exceeded"}, {25, "SIGXFSZ", "filesize limit exceeded"}, {26, "SIGVTALRM", "virtual timer expired"}, {27, "SIGPROF", "profiling timer expired"}, {28, "SIGWINCH", "window size changes"}, {29, "SIGINFO", "information request"}, {30, "SIGUSR1", "user defined signal 1"}, {31, "SIGUSR2", "user defined signal 2"}, {32, "SIGTHR", "thread AST"}, } dependencies/pkg/mod/golang.org/x/sys@v0.26.0/unix/zsysnum_linux_ppc.go0000644000000000000000000004264315107355264024762 0ustar rootroot// go run linux/mksysnum.go -Wall -Werror -static -I/tmp/ppc/include /tmp/ppc/include/asm/unistd.h // Code generated by the command above; see README.md. DO NOT EDIT. //go:build ppc && 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_MMAP2 = 192 SYS_TRUNCATE64 = 193 SYS_FTRUNCATE64 = 194 SYS_STAT64 = 195 SYS_LSTAT64 = 196 SYS_FSTAT64 = 197 SYS_PCICONFIG_READ = 198 SYS_PCICONFIG_WRITE = 199 SYS_PCICONFIG_IOBASE = 200 SYS_MULTIPLEXER = 201 SYS_GETDENTS64 = 202 SYS_PIVOT_ROOT = 203 SYS_FCNTL64 = 204 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_SENDFILE64 = 226 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_FADVISE64_64 = 254 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_FSTATAT64 = 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 SYS_STATX = 383 SYS_PKEY_ALLOC = 384 SYS_PKEY_FREE = 385 SYS_PKEY_MPROTECT = 386 SYS_RSEQ = 387 SYS_IO_PGETEVENTS = 388 SYS_SEMGET = 393 SYS_SEMCTL = 394 SYS_SHMGET = 395 SYS_SHMCTL = 396 SYS_SHMAT = 397 SYS_SHMDT = 398 SYS_MSGGET = 399 SYS_MSGSND = 400 SYS_MSGRCV = 401 SYS_MSGCTL = 402 SYS_CLOCK_GETTIME64 = 403 SYS_CLOCK_SETTIME64 = 404 SYS_CLOCK_ADJTIME64 = 405 SYS_CLOCK_GETRES_TIME64 = 406 SYS_CLOCK_NANOSLEEP_TIME64 = 407 SYS_TIMER_GETTIME64 = 408 SYS_TIMER_SETTIME64 = 409 SYS_TIMERFD_GETTIME64 = 410 SYS_TIMERFD_SETTIME64 = 411 SYS_UTIMENSAT_TIME64 = 412 SYS_PSELECT6_TIME64 = 413 SYS_PPOLL_TIME64 = 414 SYS_IO_PGETEVENTS_TIME64 = 416 SYS_RECVMMSG_TIME64 = 417 SYS_MQ_TIMEDSEND_TIME64 = 418 SYS_MQ_TIMEDRECEIVE_TIME64 = 419 SYS_SEMTIMEDOP_TIME64 = 420 SYS_RT_SIGTIMEDWAIT_TIME64 = 421 SYS_FUTEX_TIME64 = 422 SYS_SCHED_RR_GET_INTERVAL_TIME64 = 423 SYS_PIDFD_SEND_SIGNAL = 424 SYS_IO_URING_SETUP = 425 SYS_IO_URING_ENTER = 426 SYS_IO_URING_REGISTER = 427 SYS_OPEN_TREE = 428 SYS_MOVE_MOUNT = 429 SYS_FSOPEN = 430 SYS_FSCONFIG = 431 SYS_FSMOUNT = 432 SYS_FSPICK = 433 SYS_PIDFD_OPEN = 434 SYS_CLONE3 = 435 SYS_CLOSE_RANGE = 436 SYS_OPENAT2 = 437 SYS_PIDFD_GETFD = 438 SYS_FACCESSAT2 = 439 SYS_PROCESS_MADVISE = 440 SYS_EPOLL_PWAIT2 = 441 SYS_MOUNT_SETATTR = 442 SYS_QUOTACTL_FD = 443 SYS_LANDLOCK_CREATE_RULESET = 444 SYS_LANDLOCK_ADD_RULE = 445 SYS_LANDLOCK_RESTRICT_SELF = 446 SYS_PROCESS_MRELEASE = 448 SYS_FUTEX_WAITV = 449 SYS_SET_MEMPOLICY_HOME_NODE = 450 SYS_CACHESTAT = 451 SYS_FCHMODAT2 = 452 SYS_MAP_SHADOW_STACK = 453 SYS_FUTEX_WAKE = 454 SYS_FUTEX_WAIT = 455 SYS_FUTEX_REQUEUE = 456 SYS_STATMOUNT = 457 SYS_LISTMOUNT = 458 SYS_LSM_GET_SELF_ATTR = 459 SYS_LSM_SET_SELF_ATTR = 460 SYS_LSM_LIST_MODULES = 461 SYS_MSEAL = 462 ) dependencies/pkg/mod/golang.org/x/sys@v0.26.0/unix/syscall_internal_linux_test.go0000644000000000000000000005014515107355264026771 0ustar rootroot// Copyright 2019 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:build linux package unix import ( "reflect" "strings" "testing" "unsafe" ) func makeProto(proto int) *int { return &proto } func Test_anyToSockaddr(t *testing.T) { tests := []struct { name string rsa *RawSockaddrAny sa Sockaddr err error proto *int }{ { name: "AF_TIPC bad addrtype", rsa: &RawSockaddrAny{ Addr: RawSockaddr{ Family: AF_TIPC, }, }, err: EINVAL, }, { name: "AF_TIPC NameSeq", rsa: sockaddrTIPCToAny(RawSockaddrTIPC{ Family: AF_TIPC, Addrtype: TIPC_SERVICE_RANGE, Scope: 1, Addr: (&TIPCServiceRange{ Type: 1, Lower: 2, Upper: 3, }).tipcAddr(), }), sa: &SockaddrTIPC{ Scope: 1, Addr: &TIPCServiceRange{ Type: 1, Lower: 2, Upper: 3, }, }, }, { name: "AF_TIPC Name", rsa: sockaddrTIPCToAny(RawSockaddrTIPC{ Family: AF_TIPC, Addrtype: TIPC_SERVICE_ADDR, Scope: 2, Addr: (&TIPCServiceName{ Type: 1, Instance: 2, Domain: 3, }).tipcAddr(), }), sa: &SockaddrTIPC{ Scope: 2, Addr: &TIPCServiceName{ Type: 1, Instance: 2, Domain: 3, }, }, }, { name: "AF_TIPC ID", rsa: sockaddrTIPCToAny(RawSockaddrTIPC{ Family: AF_TIPC, Addrtype: TIPC_SOCKET_ADDR, Scope: 3, Addr: (&TIPCSocketAddr{ Ref: 1, Node: 2, }).tipcAddr(), }), sa: &SockaddrTIPC{ Scope: 3, Addr: &TIPCSocketAddr{ Ref: 1, Node: 2, }, }, }, { name: "AF_INET IPPROTO_L2TP", rsa: sockaddrL2TPIPToAny(RawSockaddrL2TPIP{ Family: AF_INET, Addr: [4]byte{0xef, 0x10, 0x5b, 0xa2}, Conn_id: 0x1234abcd, }), sa: &SockaddrL2TPIP{ Addr: [4]byte{0xef, 0x10, 0x5b, 0xa2}, ConnId: 0x1234abcd, }, proto: makeProto(IPPROTO_L2TP), }, { name: "AF_INET6 IPPROTO_L2TP", rsa: sockaddrL2TPIP6ToAny(RawSockaddrL2TPIP6{ Family: AF_INET6, Flowinfo: 42, Addr: [16]byte{ 0x20, 0x01, 0x0d, 0xb8, 0x85, 0xa3, 0x00, 0x00, 0x00, 0x00, 0x8a, 0x2e, 0x03, 0x70, 0x73, 0x34, }, Scope_id: 90210, Conn_id: 0x1234abcd, }), sa: &SockaddrL2TPIP6{ Addr: [16]byte{ 0x20, 0x01, 0x0d, 0xb8, 0x85, 0xa3, 0x00, 0x00, 0x00, 0x00, 0x8a, 0x2e, 0x03, 0x70, 0x73, 0x34, }, ZoneId: 90210, ConnId: 0x1234abcd, }, proto: makeProto(IPPROTO_L2TP), }, { name: "AF_UNIX unnamed/abstract", rsa: sockaddrUnixToAny(RawSockaddrUnix{ Family: AF_UNIX, }), sa: &SockaddrUnix{ Name: "@", }, }, { name: "AF_UNIX named", rsa: sockaddrUnixToAny(RawSockaddrUnix{ Family: AF_UNIX, Path: [108]int8{'g', 'o', 'p', 'h', 'e', 'r'}, }), sa: &SockaddrUnix{ Name: "gopher", }, }, { name: "AF_IUCV", rsa: sockaddrIUCVToAny(RawSockaddrIUCV{ Family: AF_IUCV, User_id: [8]int8{'*', 'M', 'S', 'G', ' ', ' ', ' ', ' '}, Name: [8]int8{' ', ' ', ' ', ' ', ' ', ' ', ' ', ' '}, }), sa: &SockaddrIUCV{ UserID: "*MSG ", Name: " ", }, }, { name: "AF_CAN CAN_RAW", rsa: sockaddrCANToAny(RawSockaddrCAN{ Family: AF_CAN, Ifindex: 12345678, Addr: [16]byte{ 0xAA, 0xAA, 0xAA, 0xAA, 0xBB, 0xBB, 0xBB, 0xBB, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, }, }), sa: &SockaddrCAN{ Ifindex: 12345678, RxID: 0xAAAAAAAA, TxID: 0xBBBBBBBB, }, proto: makeProto(CAN_RAW), }, { name: "AF_CAN CAN_J1939", rsa: sockaddrCANToAny(RawSockaddrCAN{ Family: AF_CAN, Ifindex: 12345678, Addr: [16]byte{ 0xAA, 0xAA, 0xAA, 0xAA, 0xAA, 0xAA, 0xAA, 0xAA, 0xBB, 0xBB, 0xBB, 0xBB, 0xCC, 0x00, 0x00, 0x00, }, }), sa: &SockaddrCANJ1939{ Ifindex: 12345678, Name: 0xAAAAAAAAAAAAAAAA, PGN: 0xBBBBBBBB, Addr: 0xCC, }, proto: makeProto(CAN_J1939), }, { name: "AF_NFC RAW", rsa: sockaddrNFCToAny(RawSockaddrNFC{ Sa_family: AF_NFC, Dev_idx: 10, Target_idx: 20, Nfc_protocol: 30, }), sa: &SockaddrNFC{ DeviceIdx: 10, TargetIdx: 20, NFCProtocol: 30, }, proto: makeProto(NFC_SOCKPROTO_RAW), }, { name: "AF_NFC LLCP", rsa: sockaddrNFCLLCPToAny(RawSockaddrNFCLLCP{ Sa_family: AF_NFC, Dev_idx: 10, Target_idx: 20, Nfc_protocol: 30, Dsap: 40, Ssap: 50, Service_name: [63]uint8{'t', 'e', 's', 't'}, Service_name_len: 4, }), sa: &SockaddrNFCLLCP{ DeviceIdx: 10, TargetIdx: 20, NFCProtocol: 30, DestinationSAP: 40, SourceSAP: 50, ServiceName: "test", }, proto: makeProto(NFC_SOCKPROTO_LLCP), }, { name: "AF_NFC unknown", rsa: sockaddrNFCToAny(RawSockaddrNFC{ Sa_family: AF_NFC, Dev_idx: 10, Target_idx: 20, Nfc_protocol: 30, }), err: EINVAL, proto: makeProto(^0), }, { name: "AF_VSOCK empty", rsa: sockaddrVMToAny(RawSockaddrVM{}), err: EAFNOSUPPORT, }, { name: "AF_VSOCK Cid and Port", rsa: sockaddrVMToAny(RawSockaddrVM{ Family: AF_VSOCK, Cid: VMADDR_CID_HOST, Port: VMADDR_PORT_ANY, }), sa: &SockaddrVM{ CID: VMADDR_CID_HOST, Port: VMADDR_PORT_ANY, }, }, { name: "AF_MAX EAFNOSUPPORT", rsa: &RawSockaddrAny{ Addr: RawSockaddr{ Family: AF_MAX, }, }, err: EAFNOSUPPORT, }, // TODO: expand to support other families. } realSocketProtocol := socketProtocol for _, tt := range tests { t.Run(tt.name, func(t *testing.T) { fd := int(0) if tt.proto != nil { socketProtocol = func(fd int) (int, error) { return *tt.proto, nil } } else { socketProtocol = realSocketProtocol } sa, err := anyToSockaddr(fd, tt.rsa) if err != tt.err { t.Fatalf("unexpected error: %v, want: %v", err, tt.err) } if !reflect.DeepEqual(sa, tt.sa) { t.Fatalf("unexpected Sockaddr:\n got: %#v\nwant: %#v", sa, tt.sa) } }) } } func TestSockaddrTIPC_sockaddr(t *testing.T) { tests := []struct { name string sa *SockaddrTIPC raw *RawSockaddrTIPC err error }{ { name: "no fields set", sa: &SockaddrTIPC{}, err: EINVAL, }, { name: "ID", sa: &SockaddrTIPC{ Scope: 1, Addr: &TIPCSocketAddr{ Ref: 1, Node: 2, }, }, raw: &RawSockaddrTIPC{ Family: AF_TIPC, Addrtype: TIPC_SOCKET_ADDR, Scope: 1, Addr: (&TIPCSocketAddr{ Ref: 1, Node: 2, }).tipcAddr(), }, }, { name: "NameSeq", sa: &SockaddrTIPC{ Scope: 2, Addr: &TIPCServiceRange{ Type: 1, Lower: 2, Upper: 3, }, }, raw: &RawSockaddrTIPC{ Family: AF_TIPC, Addrtype: TIPC_SERVICE_RANGE, Scope: 2, Addr: (&TIPCServiceRange{ Type: 1, Lower: 2, Upper: 3, }).tipcAddr(), }, }, { name: "Name", sa: &SockaddrTIPC{ Scope: 3, Addr: &TIPCServiceName{ Type: 1, Instance: 2, Domain: 3, }, }, raw: &RawSockaddrTIPC{ Family: AF_TIPC, Addrtype: TIPC_SERVICE_ADDR, Scope: 3, Addr: (&TIPCServiceName{ Type: 1, Instance: 2, Domain: 3, }).tipcAddr(), }, }, } for _, tt := range tests { t.Run(tt.name, func(t *testing.T) { out, l, err := tt.sa.sockaddr() if err != tt.err { t.Fatalf("unexpected error: %v, want: %v", err, tt.err) } // Must be 0 on error or a fixed size otherwise. if (tt.err != nil && l != 0) || (tt.raw != nil && l != SizeofSockaddrTIPC) { t.Fatalf("unexpected Socklen: %d", l) } if out == nil { // No pointer to cast, return early. return } raw := (*RawSockaddrTIPC)(out) if !reflect.DeepEqual(raw, tt.raw) { t.Fatalf("unexpected RawSockaddrTIPC:\n got: %#v\nwant: %#v", raw, tt.raw) } }) } } func TestSockaddrL2TPIP_sockaddr(t *testing.T) { tests := []struct { name string sa *SockaddrL2TPIP raw *RawSockaddrL2TPIP err error }{ { name: "L2TPIP", sa: &SockaddrL2TPIP{ Addr: [4]byte{0xef, 0x10, 0x5b, 0xa2}, ConnId: 0x1234abcd, }, raw: &RawSockaddrL2TPIP{ Family: AF_INET, Addr: [4]byte{0xef, 0x10, 0x5b, 0xa2}, Conn_id: 0x1234abcd, }, }, } for _, tt := range tests { t.Run(tt.name, func(t *testing.T) { out, l, err := tt.sa.sockaddr() if err != tt.err { t.Fatalf("unexpected error: %v, want: %v", err, tt.err) } // Must be 0 on error or a fixed size otherwise. if (tt.err != nil && l != 0) || (tt.raw != nil && l != SizeofSockaddrL2TPIP) { t.Fatalf("unexpected Socklen: %d", l) } if out != nil { raw := (*RawSockaddrL2TPIP)(out) if !reflect.DeepEqual(raw, tt.raw) { t.Fatalf("unexpected RawSockaddrL2TPIP:\n got: %#v\nwant: %#v", raw, tt.raw) } } }) } } func TestSockaddrL2TPIP6_sockaddr(t *testing.T) { tests := []struct { name string sa *SockaddrL2TPIP6 raw *RawSockaddrL2TPIP6 err error }{ { name: "L2TPIP6", sa: &SockaddrL2TPIP6{ Addr: [16]byte{ 0x20, 0x01, 0x0d, 0xb8, 0x85, 0xa3, 0x00, 0x00, 0x00, 0x00, 0x8a, 0x2e, 0x03, 0x70, 0x73, 0x34, }, ZoneId: 90210, ConnId: 0x1234abcd, }, raw: &RawSockaddrL2TPIP6{ Family: AF_INET6, Addr: [16]byte{ 0x20, 0x01, 0x0d, 0xb8, 0x85, 0xa3, 0x00, 0x00, 0x00, 0x00, 0x8a, 0x2e, 0x03, 0x70, 0x73, 0x34, }, Scope_id: 90210, Conn_id: 0x1234abcd, }, }, } for _, tt := range tests { t.Run(tt.name, func(t *testing.T) { out, l, err := tt.sa.sockaddr() if err != tt.err { t.Fatalf("unexpected error: %v, want: %v", err, tt.err) } // Must be 0 on error or a fixed size otherwise. if (tt.err != nil && l != 0) || (tt.raw != nil && l != SizeofSockaddrL2TPIP6) { t.Fatalf("unexpected Socklen: %d", l) } if out != nil { raw := (*RawSockaddrL2TPIP6)(out) if !reflect.DeepEqual(raw, tt.raw) { t.Fatalf("unexpected RawSockaddrL2TPIP6:\n got: %#v\nwant: %#v", raw, tt.raw) } } }) } } func TestSockaddrUnix_sockaddr(t *testing.T) { tests := []struct { name string sa *SockaddrUnix raw *RawSockaddrUnix slen _Socklen err error }{ { name: "unnamed", sa: &SockaddrUnix{}, raw: &RawSockaddrUnix{ Family: AF_UNIX, }, slen: 2, // family (uint16) }, { name: "abstract_starting_with_at", sa: &SockaddrUnix{ Name: "@", }, raw: &RawSockaddrUnix{ Family: AF_UNIX, }, slen: 3, // family (uint16) + NULL }, { name: "abstract_starting_with_null", sa: &SockaddrUnix{ Name: "\x00", }, raw: &RawSockaddrUnix{ Family: AF_UNIX, }, slen: 3, // family (uint16) + NULL }, { name: "named", sa: &SockaddrUnix{ Name: "gopher", }, raw: &RawSockaddrUnix{ Family: AF_UNIX, Path: [108]int8{'g', 'o', 'p', 'h', 'e', 'r'}, }, slen: _Socklen(3 + len("gopher")), // family (uint16) + len(gopher) }, { name: "named too long", sa: &SockaddrUnix{ Name: strings.Repeat("A", 108), }, err: EINVAL, }, } for _, tt := range tests { t.Run(tt.name, func(t *testing.T) { out, l, err := tt.sa.sockaddr() if err != tt.err { t.Fatalf("unexpected error: %v, want: %v", err, tt.err) } if l != tt.slen { t.Fatalf("unexpected Socklen: %d, want %d", l, tt.slen) } if out == nil { // No pointer to cast, return early. return } raw := (*RawSockaddrUnix)(out) if !reflect.DeepEqual(raw, tt.raw) { t.Fatalf("unexpected RawSockaddrUnix:\n got: %#v\nwant: %#v", raw, tt.raw) } }) } } func TestSockaddrIUCV_sockaddr(t *testing.T) { tests := []struct { name string sa *SockaddrIUCV raw *RawSockaddrIUCV err error }{ { name: "no fields set", sa: &SockaddrIUCV{}, raw: &RawSockaddrIUCV{ Family: AF_IUCV, Nodeid: [8]int8{' ', ' ', ' ', ' ', ' ', ' ', ' ', ' '}, User_id: [8]int8{' ', ' ', ' ', ' ', ' ', ' ', ' ', ' '}, Name: [8]int8{' ', ' ', ' ', ' ', ' ', ' ', ' ', ' '}, }, }, { name: "both fields set", sa: &SockaddrIUCV{ UserID: "USERID", Name: "NAME", }, raw: &RawSockaddrIUCV{ Family: AF_IUCV, Nodeid: [8]int8{' ', ' ', ' ', ' ', ' ', ' ', ' ', ' '}, User_id: [8]int8{'U', 'S', 'E', 'R', 'I', 'D', ' ', ' '}, Name: [8]int8{'N', 'A', 'M', 'E', ' ', ' ', ' ', ' '}, }, }, { name: "too long userid", sa: &SockaddrIUCV{ UserID: "123456789", }, err: EINVAL, }, { name: "too long name", sa: &SockaddrIUCV{ Name: "123456789", }, err: EINVAL, }, } for _, tt := range tests { t.Run(tt.name, func(t *testing.T) { out, l, err := tt.sa.sockaddr() if err != tt.err { t.Fatalf("unexpected error: %v, want: %v", err, tt.err) } // Must be 0 on error or a fixed size otherwise. if (tt.err != nil && l != 0) || (tt.raw != nil && l != SizeofSockaddrIUCV) { t.Fatalf("unexpected Socklen: %d", l) } if out == nil { // No pointer to cast, return early. return } raw := (*RawSockaddrIUCV)(out) if !reflect.DeepEqual(raw, tt.raw) { t.Fatalf("unexpected RawSockaddrIUCV:\n got: %#v\nwant: %#v", raw, tt.raw) } }) } } func TestSockaddrCAN_sockaddr(t *testing.T) { tests := []struct { name string sa *SockaddrCAN raw *RawSockaddrCAN err error }{ { name: "with ids", sa: &SockaddrCAN{ Ifindex: 12345678, RxID: 0xAAAAAAAA, TxID: 0xBBBBBBBB, }, raw: &RawSockaddrCAN{ Family: AF_CAN, Ifindex: 12345678, Addr: [16]byte{ 0xAA, 0xAA, 0xAA, 0xAA, 0xBB, 0xBB, 0xBB, 0xBB, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, }, }, }, { name: "negative ifindex", sa: &SockaddrCAN{ Ifindex: -1, }, err: EINVAL, }, } for _, tt := range tests { t.Run(tt.name, func(t *testing.T) { out, l, err := tt.sa.sockaddr() if err != tt.err { t.Fatalf("unexpected error: %v, want: %v", err, tt.err) } // Must be 0 on error or a fixed size otherwise. if (tt.err != nil && l != 0) || (tt.raw != nil && l != SizeofSockaddrCAN) { t.Fatalf("unexpected Socklen: %d", l) } if out != nil { raw := (*RawSockaddrCAN)(out) if !reflect.DeepEqual(raw, tt.raw) { t.Fatalf("unexpected RawSockaddrCAN:\n got: %#v\nwant: %#v", raw, tt.raw) } } }) } } func TestSockaddrNFC_sockaddr(t *testing.T) { tests := []struct { name string sa *SockaddrNFC raw *RawSockaddrNFC err error }{ { name: "NFC RAW", sa: &SockaddrNFC{ DeviceIdx: 12345678, TargetIdx: 87654321, NFCProtocol: 0xBBBBBBBB, }, raw: &RawSockaddrNFC{ Sa_family: AF_NFC, Dev_idx: 12345678, Target_idx: 87654321, Nfc_protocol: 0xBBBBBBBB, }, }, } for _, tt := range tests { t.Run(tt.name, func(t *testing.T) { out, l, err := tt.sa.sockaddr() if err != tt.err { t.Fatalf("unexpected error: %v, want: %v", err, tt.err) } // Must be 0 on error or a fixed size otherwise. if (tt.err != nil && l != 0) || (tt.raw != nil && l != SizeofSockaddrNFC) { t.Fatalf("unexpected Socklen: %d", l) } if out != nil { raw := (*RawSockaddrNFC)(out) if !reflect.DeepEqual(raw, tt.raw) { t.Fatalf("unexpected RawSockaddrNFC:\n got: %#v\nwant: %#v", raw, tt.raw) } } }) } } func TestSockaddrNFCLLCP_sockaddr(t *testing.T) { tests := []struct { name string sa *SockaddrNFCLLCP raw *RawSockaddrNFCLLCP err error }{ { name: "valid", sa: &SockaddrNFCLLCP{ DeviceIdx: 12345678, TargetIdx: 87654321, NFCProtocol: 0xBBBBBBBB, DestinationSAP: 55, SourceSAP: 56, ServiceName: "test service", }, raw: &RawSockaddrNFCLLCP{ Sa_family: AF_NFC, Dev_idx: 12345678, Target_idx: 87654321, Nfc_protocol: 0xBBBBBBBB, Dsap: 55, Ssap: 56, Service_name: [63]uint8{'t', 'e', 's', 't', ' ', 's', 'e', 'r', 'v', 'i', 'c', 'e'}, Service_name_len: 12, }, }, { name: "too long service name", sa: &SockaddrNFCLLCP{ DeviceIdx: 12345678, TargetIdx: 87654321, NFCProtocol: 0xBBBBBBBB, DestinationSAP: 55, SourceSAP: 56, ServiceName: "too long too long too long too long too long too long too long too long too long", }, err: EINVAL, }, } for _, tt := range tests { t.Run(tt.name, func(t *testing.T) { out, l, err := tt.sa.sockaddr() if err != tt.err { t.Fatalf("unexpected error: %v, want: %v", err, tt.err) } // Must be 0 on error or a fixed size otherwise. if (tt.err != nil && l != 0) || (tt.raw != nil && l != SizeofSockaddrNFCLLCP) { t.Fatalf("unexpected Socklen: %d", l) } if out != nil { raw := (*RawSockaddrNFCLLCP)(out) if !reflect.DeepEqual(raw, tt.raw) { t.Fatalf("unexpected RawSockaddrNFCLLCP:\n got: %#v\nwant: %#v", raw, tt.raw) } } }) } } func TestSockaddrVM_sockaddr(t *testing.T) { tests := []struct { name string sa *SockaddrVM raw *RawSockaddrVM err error }{ { name: "empty", sa: &SockaddrVM{}, raw: &RawSockaddrVM{ Family: AF_VSOCK, }, }, { name: "with CID, port and flags", sa: &SockaddrVM{ CID: VMADDR_CID_HOST, Port: VMADDR_PORT_ANY, Flags: VMADDR_FLAG_TO_HOST, }, raw: &RawSockaddrVM{ Family: AF_VSOCK, Port: VMADDR_PORT_ANY, Cid: VMADDR_CID_HOST, Flags: VMADDR_FLAG_TO_HOST, }, }, } for _, tt := range tests { t.Run(tt.name, func(t *testing.T) { out, l, err := tt.sa.sockaddr() if err != tt.err { t.Fatalf("unexpected error: %v, want: %v", err, tt.err) } // Must be 0 on error or a fixed size otherwise. if (tt.err != nil && l != 0) || (tt.raw != nil && l != SizeofSockaddrVM) { t.Fatalf("unexpected Socklen: %d", l) } if out != nil { raw := (*RawSockaddrVM)(out) if !reflect.DeepEqual(raw, tt.raw) { t.Fatalf("unexpected RawSockaddrVM:\n got: %#v\nwant: %#v", raw, tt.raw) } } }) } } // These helpers explicitly copy the contents of in into out to produce // the correct sockaddr structure, without relying on unsafe casting to // a type of a larger size. func sockaddrTIPCToAny(in RawSockaddrTIPC) *RawSockaddrAny { var out RawSockaddrAny copy( (*(*[SizeofSockaddrAny]byte)(unsafe.Pointer(&out)))[:], (*(*[SizeofSockaddrTIPC]byte)(unsafe.Pointer(&in)))[:], ) return &out } func sockaddrL2TPIPToAny(in RawSockaddrL2TPIP) *RawSockaddrAny { var out RawSockaddrAny copy( (*(*[SizeofSockaddrAny]byte)(unsafe.Pointer(&out)))[:], (*(*[SizeofSockaddrL2TPIP]byte)(unsafe.Pointer(&in)))[:], ) return &out } func sockaddrL2TPIP6ToAny(in RawSockaddrL2TPIP6) *RawSockaddrAny { var out RawSockaddrAny copy( (*(*[SizeofSockaddrAny]byte)(unsafe.Pointer(&out)))[:], (*(*[SizeofSockaddrL2TPIP6]byte)(unsafe.Pointer(&in)))[:], ) return &out } func sockaddrUnixToAny(in RawSockaddrUnix) *RawSockaddrAny { var out RawSockaddrAny copy( (*(*[SizeofSockaddrAny]byte)(unsafe.Pointer(&out)))[:], (*(*[SizeofSockaddrUnix]byte)(unsafe.Pointer(&in)))[:], ) return &out } func sockaddrIUCVToAny(in RawSockaddrIUCV) *RawSockaddrAny { var out RawSockaddrAny copy( (*(*[SizeofSockaddrAny]byte)(unsafe.Pointer(&out)))[:], (*(*[SizeofSockaddrUnix]byte)(unsafe.Pointer(&in)))[:], ) return &out } func sockaddrCANToAny(in RawSockaddrCAN) *RawSockaddrAny { var out RawSockaddrAny copy( (*(*[SizeofSockaddrAny]byte)(unsafe.Pointer(&out)))[:], (*(*[SizeofSockaddrCAN]byte)(unsafe.Pointer(&in)))[:], ) return &out } func sockaddrNFCToAny(in RawSockaddrNFC) *RawSockaddrAny { var out RawSockaddrAny copy( (*(*[SizeofSockaddrAny]byte)(unsafe.Pointer(&out)))[:], (*(*[SizeofSockaddrNFC]byte)(unsafe.Pointer(&in)))[:], ) return &out } func sockaddrNFCLLCPToAny(in RawSockaddrNFCLLCP) *RawSockaddrAny { var out RawSockaddrAny copy( (*(*[SizeofSockaddrAny]byte)(unsafe.Pointer(&out)))[:], (*(*[SizeofSockaddrNFCLLCP]byte)(unsafe.Pointer(&in)))[:], ) return &out } func sockaddrVMToAny(in RawSockaddrVM) *RawSockaddrAny { var out RawSockaddrAny copy( (*(*[SizeofSockaddrAny]byte)(unsafe.Pointer(&out)))[:], (*(*[SizeofSockaddrVM]byte)(unsafe.Pointer(&in)))[:], ) return &out } dependencies/pkg/mod/golang.org/x/sys@v0.26.0/unix/zerrors_openbsd_386.go0000644000000000000000000023506315107355264024771 0ustar rootroot// mkerrors.sh -m32 // Code generated by the command above; see README.md. DO NOT EDIT. //go:build 386 && openbsd // Code generated by cmd/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 ALTWERASE = 0x200 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_FILDROP_CAPTURE = 0x1 BPF_FILDROP_DROP = 0x2 BPF_FILDROP_PASS = 0x0 BPF_F_DIR_IN = 0x10 BPF_F_DIR_MASK = 0x30 BPF_F_DIR_OUT = 0x20 BPF_F_DIR_SHIFT = 0x4 BPF_F_FLOWID = 0x8 BPF_F_PRI_MASK = 0x7 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_RND = 0xc0 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_BOOTTIME = 0x6 CLOCK_MONOTONIC = 0x3 CLOCK_PROCESS_CPUTIME_ID = 0x2 CLOCK_REALTIME = 0x0 CLOCK_THREAD_CPUTIME_ID = 0x4 CLOCK_UPTIME = 0x5 CPUSTATES = 0x6 CP_IDLE = 0x5 CP_INTR = 0x4 CP_NICE = 0x1 CP_SPIN = 0x3 CP_SYS = 0x2 CP_USER = 0x0 CREAD = 0x800 CRTSCTS = 0x10000 CS5 = 0x0 CS6 = 0x100 CS7 = 0x200 CS8 = 0x300 CSIZE = 0x300 CSTART = 0x11 CSTATUS = 0xff CSTOP = 0x13 CSTOPB = 0x400 CSUSP = 0x1a CTL_HW = 0x6 CTL_KERN = 0x1 CTL_MAXNAME = 0xc CTL_NET = 0x4 DIOCADDQUEUE = 0xc100445d DIOCADDRULE = 0xccc84404 DIOCADDSTATE = 0xc1084425 DIOCCHANGERULE = 0xccc8441a DIOCCLRIFFLAG = 0xc024445a DIOCCLRSRCNODES = 0x20004455 DIOCCLRSTATES = 0xc0d04412 DIOCCLRSTATUS = 0xc0244416 DIOCGETLIMIT = 0xc0084427 DIOCGETQSTATS = 0xc1084460 DIOCGETQUEUE = 0xc100445f DIOCGETQUEUES = 0xc100445e DIOCGETRULE = 0xccc84407 DIOCGETRULES = 0xccc84406 DIOCGETRULESET = 0xc444443b DIOCGETRULESETS = 0xc444443a DIOCGETSRCNODES = 0xc0084454 DIOCGETSTATE = 0xc1084413 DIOCGETSTATES = 0xc0084419 DIOCGETSTATUS = 0xc1e84415 DIOCGETSYNFLWATS = 0xc0084463 DIOCGETTIMEOUT = 0xc008441e DIOCIGETIFACES = 0xc0244457 DIOCKILLSRCNODES = 0xc068445b DIOCKILLSTATES = 0xc0d04429 DIOCNATLOOK = 0xc0504417 DIOCOSFPADD = 0xc084444f DIOCOSFPFLUSH = 0x2000444e DIOCOSFPGET = 0xc0844450 DIOCRADDADDRS = 0xc44c4443 DIOCRADDTABLES = 0xc44c443d DIOCRCLRADDRS = 0xc44c4442 DIOCRCLRASTATS = 0xc44c4448 DIOCRCLRTABLES = 0xc44c443c DIOCRCLRTSTATS = 0xc44c4441 DIOCRDELADDRS = 0xc44c4444 DIOCRDELTABLES = 0xc44c443e DIOCRGETADDRS = 0xc44c4446 DIOCRGETASTATS = 0xc44c4447 DIOCRGETTABLES = 0xc44c443f DIOCRGETTSTATS = 0xc44c4440 DIOCRINADEFINE = 0xc44c444d DIOCRSETADDRS = 0xc44c4445 DIOCRSETTFLAGS = 0xc44c444a DIOCRTSTADDRS = 0xc44c4449 DIOCSETDEBUG = 0xc0044418 DIOCSETHOSTID = 0xc0044456 DIOCSETIFFLAG = 0xc0244459 DIOCSETLIMIT = 0xc0084428 DIOCSETREASS = 0xc004445c DIOCSETSTATUSIF = 0xc0244414 DIOCSETSYNCOOKIES = 0xc0014462 DIOCSETSYNFLWATS = 0xc0084461 DIOCSETTIMEOUT = 0xc008441d DIOCSTART = 0x20004401 DIOCSTOP = 0x20004402 DIOCXBEGIN = 0xc00c4451 DIOCXCOMMIT = 0xc00c4452 DIOCXROLLBACK = 0xc00c4453 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_OPENFLOW = 0x10b 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 DLT_USBPCAP = 0xf9 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 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 ETH64_8021_RSVD_MASK = 0xfffffffffff0 ETH64_8021_RSVD_PREFIX = 0x180c2000000 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_EAPOL = 0x888e 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_MACSEC = 0x88e5 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_NHRP = 0x2001 ETHERTYPE_NOVELL = 0x8138 ETHERTYPE_NS = 0x600 ETHERTYPE_NSAT = 0x601 ETHERTYPE_NSCOMPAT = 0x807 ETHERTYPE_NSH = 0x984f ETHERTYPE_NTRAILER = 0x10 ETHERTYPE_OS9 = 0x7007 ETHERTYPE_OS9NET = 0x7009 ETHERTYPE_PACER = 0x80c6 ETHERTYPE_PBB = 0x88e7 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_HARDMTU_LEN = 0xff9b ETHER_MAX_LEN = 0x5ee ETHER_MIN_LEN = 0x40 ETHER_TYPE_LEN = 0x2 ETHER_VLAN_ENCAP_LEN = 0x4 EVFILT_AIO = -0x3 EVFILT_DEVICE = -0x8 EVFILT_EXCEPT = -0x9 EVFILT_PROC = -0x5 EVFILT_READ = -0x1 EVFILT_SIGNAL = -0x6 EVFILT_SYSCOUNT = 0x9 EVFILT_TIMER = -0x7 EVFILT_VNODE = -0x4 EVFILT_WRITE = -0x2 EVL_ENCAPLEN = 0x4 EVL_PRIO_BITS = 0xd EVL_PRIO_MAX = 0x7 EVL_VLID_MASK = 0xfff EVL_VLID_MAX = 0xffe EVL_VLID_MIN = 0x1 EVL_VLID_NULL = 0x0 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_ONESHOT = 0x10 EV_RECEIPT = 0x40 EV_SYSFLAGS = 0xf800 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_ISATTY = 0xb 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 HW_MACHINE = 0x1 ICANON = 0x100 ICMP6_FILTER = 0x12 ICRNL = 0x100 IEXTEN = 0x400 IFAN_ARRIVAL = 0x0 IFAN_DEPARTURE = 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_OACTIVE = 0x400 IFF_POINTOPOINT = 0x10 IFF_PROMISC = 0x100 IFF_RUNNING = 0x40 IFF_SIMPLEX = 0x800 IFF_STATICARP = 0x20 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_MBIM = 0xfa 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_WIREGUARD = 0xfb 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_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_SCTP = 0x84 IPPROTO_TCP = 0x6 IPPROTO_TP = 0x1d IPPROTO_UDP = 0x11 IPPROTO_UDPLITE = 0x88 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_MINHOPCOUNT = 0x41 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_DROP_MEMBERSHIP = 0xd IP_ESP_NETWORK_LEVEL = 0x16 IP_ESP_TRANS_LEVEL = 0x15 IP_HDRINCL = 0x2 IP_IPCOMP_LEVEL = 0x1d IP_IPDEFTTL = 0x25 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_SENDSRCADDR = 0x7 IP_TOS = 0x3 IP_TTL = 0x4 ISIG = 0x80 ISTRIP = 0x20 ITIMER_PROF = 0x2 ITIMER_REAL = 0x0 ITIMER_VIRTUAL = 0x1 IUCLC = 0x1000 IXANY = 0x800 IXOFF = 0x400 IXON = 0x200 KERN_HOSTNAME = 0xa KERN_OSRELEASE = 0x2 KERN_OSTYPE = 0x1 KERN_VERSION = 0x4 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_ANONYMOUS = 0x1000 MAP_CONCEAL = 0x8000 MAP_COPY = 0x2 MAP_FILE = 0x0 MAP_FIXED = 0x10 MAP_FLAGMASK = 0xfff7 MAP_HASSEMAPHORE = 0x0 MAP_INHERIT = 0x0 MAP_INHERIT_COPY = 0x1 MAP_INHERIT_NONE = 0x2 MAP_INHERIT_SHARE = 0x0 MAP_INHERIT_ZERO = 0x3 MAP_NOEXTEND = 0x0 MAP_NORESERVE = 0x0 MAP_PRIVATE = 0x2 MAP_RENAME = 0x0 MAP_SHARED = 0x1 MAP_STACK = 0x4000 MAP_TRYFIXED = 0x0 MCL_CURRENT = 0x1 MCL_FUTURE = 0x2 MNT_ASYNC = 0x40 MNT_DEFEXPORTED = 0x200 MNT_DELEXPORT = 0x20000 MNT_DOOMED = 0x8000000 MNT_EXPORTANON = 0x400 MNT_EXPORTED = 0x100 MNT_EXRDONLY = 0x80 MNT_FORCE = 0x80000 MNT_LAZY = 0x3 MNT_LOCAL = 0x1000 MNT_NOATIME = 0x8000 MNT_NODEV = 0x10 MNT_NOEXEC = 0x4 MNT_NOPERM = 0x20 MNT_NOSUID = 0x8 MNT_NOWAIT = 0x2 MNT_QUOTA = 0x2000 MNT_RDONLY = 0x1 MNT_RELOAD = 0x40000 MNT_ROOTFS = 0x4000 MNT_SOFTDEP = 0x4000000 MNT_STALLED = 0x100000 MNT_SWAPPABLE = 0x200000 MNT_SYNCHRONOUS = 0x2 MNT_UPDATE = 0x10000 MNT_VISFLAGMASK = 0x400ffff MNT_WAIT = 0x1 MNT_WANTRDWR = 0x2000000 MNT_WXALLOWED = 0x800 MOUNT_AFS = "afs" MOUNT_CD9660 = "cd9660" MOUNT_EXT2FS = "ext2fs" MOUNT_FFS = "ffs" MOUNT_FUSEFS = "fuse" MOUNT_MFS = "mfs" MOUNT_MSDOS = "msdos" MOUNT_NCPFS = "ncpfs" MOUNT_NFS = "nfs" MOUNT_NTFS = "ntfs" MOUNT_TMPFS = "tmpfs" MOUNT_UDF = "udf" MOUNT_UFS = "ffs" MSG_BCAST = 0x100 MSG_CMSG_CLOEXEC = 0x800 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 MSG_WAITFORONE = 0x1000 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_IFNAMES = 0x6 NET_RT_MAXID = 0x8 NET_RT_SOURCE = 0x7 NET_RT_STATS = 0x4 NET_RT_TABLE = 0x5 NFDBITS = 0x20 NOFLSH = 0x80000000 NOKERNINFO = 0x2000000 NOTE_ATTRIB = 0x8 NOTE_CHANGE = 0x1 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_OOB = 0x4 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 OLCUC = 0x20 ONLCR = 0x2 ONLRET = 0x80 ONOCR = 0x40 ONOEOT = 0x8 OPOST = 0x1 OXTABS = 0x4 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_MEMLOCK = 0x6 RLIMIT_NOFILE = 0x8 RLIMIT_NPROC = 0x7 RLIMIT_RSS = 0x5 RLIMIT_STACK = 0x3 RLIM_INFINITY = 0x7fffffffffffffff RTAX_AUTHOR = 0x6 RTAX_BFD = 0xb RTAX_BRD = 0x7 RTAX_DNS = 0xc RTAX_DST = 0x0 RTAX_GATEWAY = 0x1 RTAX_GENMASK = 0x3 RTAX_IFA = 0x5 RTAX_IFP = 0x4 RTAX_LABEL = 0xa RTAX_MAX = 0xf RTAX_NETMASK = 0x2 RTAX_SEARCH = 0xe RTAX_SRC = 0x8 RTAX_SRCMASK = 0x9 RTAX_STATIC = 0xd RTA_AUTHOR = 0x40 RTA_BFD = 0x800 RTA_BRD = 0x80 RTA_DNS = 0x1000 RTA_DST = 0x1 RTA_GATEWAY = 0x2 RTA_GENMASK = 0x8 RTA_IFA = 0x20 RTA_IFP = 0x10 RTA_LABEL = 0x400 RTA_NETMASK = 0x4 RTA_SEARCH = 0x4000 RTA_SRC = 0x100 RTA_SRCMASK = 0x200 RTA_STATIC = 0x2000 RTF_ANNOUNCE = 0x4000 RTF_BFD = 0x1000000 RTF_BLACKHOLE = 0x1000 RTF_BROADCAST = 0x400000 RTF_CACHED = 0x20000 RTF_CLONED = 0x10000 RTF_CLONING = 0x100 RTF_CONNECTED = 0x800000 RTF_DONE = 0x40 RTF_DYNAMIC = 0x10 RTF_FMASK = 0x110fc08 RTF_GATEWAY = 0x2 RTF_HOST = 0x4 RTF_LLINFO = 0x400 RTF_LOCAL = 0x200000 RTF_MODIFIED = 0x20 RTF_MPATH = 0x40000 RTF_MPLS = 0x100000 RTF_MULTICAST = 0x200 RTF_PERMANENT_ARP = 0x2000 RTF_PROTO1 = 0x8000 RTF_PROTO2 = 0x4000 RTF_PROTO3 = 0x2000 RTF_REJECT = 0x8 RTF_STATIC = 0x800 RTF_UP = 0x1 RTF_USETRAILERS = 0x8000 RTM_80211INFO = 0x15 RTM_ADD = 0x1 RTM_BFD = 0x12 RTM_CHANGE = 0x3 RTM_CHGADDRATTR = 0x14 RTM_DELADDR = 0xd RTM_DELETE = 0x2 RTM_DESYNC = 0x10 RTM_GET = 0x4 RTM_IFANNOUNCE = 0xf RTM_IFINFO = 0xe RTM_INVALIDATE = 0x11 RTM_LOSING = 0x5 RTM_MAXSIZE = 0x800 RTM_MISS = 0x7 RTM_NEWADDR = 0xc RTM_PROPOSAL = 0x13 RTM_REDIRECT = 0x6 RTM_RESOLVE = 0xb RTM_SOURCE = 0x16 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_BITS = 0x8 RT_TABLEID_MASK = 0xff RT_TABLEID_MAX = 0xff RUSAGE_CHILDREN = -0x1 RUSAGE_SELF = 0x0 RUSAGE_THREAD = 0x1 SCM_RIGHTS = 0x1 SCM_TIMESTAMP = 0x4 SEEK_CUR = 0x1 SEEK_END = 0x2 SEEK_SET = 0x0 SHUT_RD = 0x0 SHUT_RDWR = 0x2 SHUT_WR = 0x1 SIOCADDMULTI = 0x80206931 SIOCAIFADDR = 0x8040691a SIOCAIFGROUP = 0x80246987 SIOCATMARK = 0x40047307 SIOCBRDGADD = 0x805c693c SIOCBRDGADDL = 0x805c6949 SIOCBRDGADDS = 0x805c6941 SIOCBRDGARL = 0x808c694d SIOCBRDGDADDR = 0x81286947 SIOCBRDGDEL = 0x805c693d SIOCBRDGDELS = 0x805c6942 SIOCBRDGFLUSH = 0x805c6948 SIOCBRDGFRL = 0x808c694e SIOCBRDGGCACHE = 0xc0146941 SIOCBRDGGFD = 0xc0146952 SIOCBRDGGHT = 0xc0146951 SIOCBRDGGIFFLGS = 0xc05c693e SIOCBRDGGMA = 0xc0146953 SIOCBRDGGPARAM = 0xc03c6958 SIOCBRDGGPRI = 0xc0146950 SIOCBRDGGRL = 0xc028694f SIOCBRDGGTO = 0xc0146946 SIOCBRDGIFS = 0xc05c6942 SIOCBRDGRTS = 0xc0186943 SIOCBRDGSADDR = 0xc1286944 SIOCBRDGSCACHE = 0x80146940 SIOCBRDGSFD = 0x80146952 SIOCBRDGSHT = 0x80146951 SIOCBRDGSIFCOST = 0x805c6955 SIOCBRDGSIFFLGS = 0x805c693f SIOCBRDGSIFPRIO = 0x805c6954 SIOCBRDGSIFPROT = 0x805c694a SIOCBRDGSMA = 0x80146953 SIOCBRDGSPRI = 0x80146950 SIOCBRDGSPROTO = 0x8014695a SIOCBRDGSTO = 0x80146945 SIOCBRDGSTXHC = 0x80146959 SIOCDELLABEL = 0x80206997 SIOCDELMULTI = 0x80206932 SIOCDIFADDR = 0x80206919 SIOCDIFGROUP = 0x80246989 SIOCDIFPARENT = 0x802069b4 SIOCDIFPHYADDR = 0x80206949 SIOCDPWE3NEIGHBOR = 0x802069de SIOCDVNETID = 0x802069af SIOCGETKALIVE = 0xc01869a4 SIOCGETLABEL = 0x8020699a SIOCGETMPWCFG = 0xc02069ae SIOCGETPFLOW = 0xc02069fe SIOCGETPFSYNC = 0xc02069f8 SIOCGETSGCNT = 0xc0147534 SIOCGETVIFCNT = 0xc0147533 SIOCGETVLAN = 0xc0206990 SIOCGIFADDR = 0xc0206921 SIOCGIFBRDADDR = 0xc0206923 SIOCGIFCONF = 0xc0086924 SIOCGIFDATA = 0xc020691b SIOCGIFDESCR = 0xc0206981 SIOCGIFDSTADDR = 0xc0206922 SIOCGIFFLAGS = 0xc0206911 SIOCGIFGATTR = 0xc024698b SIOCGIFGENERIC = 0xc020693a SIOCGIFGLIST = 0xc024698d SIOCGIFGMEMB = 0xc024698a SIOCGIFGROUP = 0xc0246988 SIOCGIFHARDMTU = 0xc02069a5 SIOCGIFLLPRIO = 0xc02069b6 SIOCGIFMEDIA = 0xc0386938 SIOCGIFMETRIC = 0xc0206917 SIOCGIFMTU = 0xc020697e SIOCGIFNETMASK = 0xc0206925 SIOCGIFPAIR = 0xc02069b1 SIOCGIFPARENT = 0xc02069b3 SIOCGIFPRIORITY = 0xc020699c SIOCGIFRDOMAIN = 0xc02069a0 SIOCGIFRTLABEL = 0xc0206983 SIOCGIFRXR = 0x802069aa SIOCGIFSFFPAGE = 0xc1126939 SIOCGIFXFLAGS = 0xc020699e SIOCGLIFPHYADDR = 0xc218694b SIOCGLIFPHYDF = 0xc02069c2 SIOCGLIFPHYECN = 0xc02069c8 SIOCGLIFPHYRTABLE = 0xc02069a2 SIOCGLIFPHYTTL = 0xc02069a9 SIOCGPGRP = 0x40047309 SIOCGPWE3 = 0xc0206998 SIOCGPWE3CTRLWORD = 0xc02069dc SIOCGPWE3FAT = 0xc02069dd SIOCGPWE3NEIGHBOR = 0xc21869de SIOCGRXHPRIO = 0xc02069db SIOCGSPPPPARAMS = 0xc0206994 SIOCGTXHPRIO = 0xc02069c6 SIOCGUMBINFO = 0xc02069be SIOCGUMBPARAM = 0xc02069c0 SIOCGVH = 0xc02069f6 SIOCGVNETFLOWID = 0xc02069c4 SIOCGVNETID = 0xc02069a7 SIOCIFAFATTACH = 0x801169ab SIOCIFAFDETACH = 0x801169ac SIOCIFCREATE = 0x8020697a SIOCIFDESTROY = 0x80206979 SIOCIFGCLONERS = 0xc00c6978 SIOCSETKALIVE = 0x801869a3 SIOCSETLABEL = 0x80206999 SIOCSETMPWCFG = 0x802069ad SIOCSETPFLOW = 0x802069fd SIOCSETPFSYNC = 0x802069f7 SIOCSETVLAN = 0x8020698f SIOCSIFADDR = 0x8020690c SIOCSIFBRDADDR = 0x80206913 SIOCSIFDESCR = 0x80206980 SIOCSIFDSTADDR = 0x8020690e SIOCSIFFLAGS = 0x80206910 SIOCSIFGATTR = 0x8024698c SIOCSIFGENERIC = 0x80206939 SIOCSIFLLADDR = 0x8020691f SIOCSIFLLPRIO = 0x802069b5 SIOCSIFMEDIA = 0xc0206937 SIOCSIFMETRIC = 0x80206918 SIOCSIFMTU = 0x8020697f SIOCSIFNETMASK = 0x80206916 SIOCSIFPAIR = 0x802069b0 SIOCSIFPARENT = 0x802069b2 SIOCSIFPRIORITY = 0x8020699b SIOCSIFRDOMAIN = 0x8020699f SIOCSIFRTLABEL = 0x80206982 SIOCSIFXFLAGS = 0x8020699d SIOCSLIFPHYADDR = 0x8218694a SIOCSLIFPHYDF = 0x802069c1 SIOCSLIFPHYECN = 0x802069c7 SIOCSLIFPHYRTABLE = 0x802069a1 SIOCSLIFPHYTTL = 0x802069a8 SIOCSPGRP = 0x80047308 SIOCSPWE3CTRLWORD = 0x802069dc SIOCSPWE3FAT = 0x802069dd SIOCSPWE3NEIGHBOR = 0x821869de SIOCSRXHPRIO = 0x802069db SIOCSSPPPPARAMS = 0x80206993 SIOCSTXHPRIO = 0x802069c5 SIOCSUMBPARAM = 0x802069bf SIOCSVH = 0xc02069f5 SIOCSVNETFLOWID = 0x802069c3 SIOCSVNETID = 0x802069a6 SOCK_CLOEXEC = 0x8000 SOCK_DGRAM = 0x2 SOCK_DNS = 0x1000 SOCK_NONBLOCK = 0x4000 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_DOMAIN = 0x1024 SO_DONTROUTE = 0x10 SO_ERROR = 0x1007 SO_KEEPALIVE = 0x8 SO_LINGER = 0x80 SO_NETPROC = 0x1020 SO_OOBINLINE = 0x100 SO_PEERCRED = 0x1022 SO_PROTOCOL = 0x1025 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 SO_ZEROIZE = 0x2000 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_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 TCIOFF = 0x3 TCIOFLUSH = 0x3 TCION = 0x4 TCOFLUSH = 0x2 TCOOFF = 0x1 TCOON = 0x2 TCPOPT_EOL = 0x0 TCPOPT_MAXSEG = 0x2 TCPOPT_NOP = 0x1 TCPOPT_SACK = 0x5 TCPOPT_SACK_HDR = 0x1010500 TCPOPT_SACK_PERMITTED = 0x4 TCPOPT_SACK_PERMIT_HDR = 0x1010402 TCPOPT_SIGNATURE = 0x13 TCPOPT_TIMESTAMP = 0x8 TCPOPT_TSTAMP_HDR = 0x101080a TCPOPT_WINDOW = 0x3 TCP_INFO = 0x9 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_SACKHOLE_LIMIT = 0x80 TCP_SACK_ENABLE = 0x8 TCSAFLUSH = 0x2 TIMER_ABSTIME = 0x1 TIMER_RELTIME = 0x0 TIOCCBRK = 0x2000747a TIOCCDTR = 0x20007478 TIOCCHKVERAUTH = 0x2000741e TIOCCLRVERAUTH = 0x2000741d 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 TIOCSETVERAUTH = 0x8004741c TIOCSFLAGS = 0x8004745c TIOCSIG = 0x8004745f TIOCSPGRP = 0x80047476 TIOCSTART = 0x2000746e TIOCSTAT = 0x20007465 TIOCSTOP = 0x2000746f TIOCSTSTAMP = 0x8008745a TIOCSWINSZ = 0x80087467 TIOCUCNTL = 0x80047466 TIOCUCNTL_CBRK = 0x7a TIOCUCNTL_SBRK = 0x7b TOSTOP = 0x400000 UTIME_NOW = -0x2 UTIME_OMIT = -0x1 VDISCARD = 0xf VDSUSP = 0xb VEOF = 0x0 VEOL = 0x1 VEOL2 = 0x2 VERASE = 0x3 VINTR = 0x8 VKILL = 0x5 VLNEXT = 0xe VMIN = 0x10 VM_ANONMIN = 0x7 VM_LOADAVG = 0x2 VM_MALLOC_CONF = 0xc VM_MAXID = 0xd VM_MAXSLP = 0xa VM_METER = 0x1 VM_NKMEMPAGES = 0x6 VM_PSSTRINGS = 0x3 VM_SWAPENCRYPT = 0x5 VM_USPACE = 0xb VM_UVMEXP = 0x4 VM_VNODEMIN = 0x9 VM_VTEXTMIN = 0x8 VQUIT = 0x9 VREPRINT = 0x6 VSTART = 0xc VSTATUS = 0x12 VSTOP = 0xd VSUSP = 0xa VTIME = 0x11 VWERASE = 0x4 WALTSIG = 0x4 WCONTINUED = 0x8 WCOREFLAG = 0x80 WNOHANG = 0x1 WUNTRACED = 0x2 XCASE = 0x1000000 ) // 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(0x5c) 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(0x5f) 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) ENOTRECOVERABLE = syscall.Errno(0x5d) ENOTSOCK = syscall.Errno(0x26) ENOTSUP = syscall.Errno(0x5b) ENOTTY = syscall.Errno(0x19) ENXIO = syscall.Errno(0x6) EOPNOTSUPP = syscall.Errno(0x2d) EOVERFLOW = syscall.Errno(0x57) EOWNERDEAD = syscall.Errno(0x5e) 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(0x5f) 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 errorList = [...]struct { num syscall.Errno name string desc string }{ {1, "EPERM", "operation not permitted"}, {2, "ENOENT", "no such file or directory"}, {3, "ESRCH", "no such process"}, {4, "EINTR", "interrupted system call"}, {5, "EIO", "input/output error"}, {6, "ENXIO", "device not configured"}, {7, "E2BIG", "argument list too long"}, {8, "ENOEXEC", "exec format error"}, {9, "EBADF", "bad file descriptor"}, {10, "ECHILD", "no child processes"}, {11, "EDEADLK", "resource deadlock avoided"}, {12, "ENOMEM", "cannot allocate memory"}, {13, "EACCES", "permission denied"}, {14, "EFAULT", "bad address"}, {15, "ENOTBLK", "block device required"}, {16, "EBUSY", "device busy"}, {17, "EEXIST", "file exists"}, {18, "EXDEV", "cross-device link"}, {19, "ENODEV", "operation not supported by device"}, {20, "ENOTDIR", "not a directory"}, {21, "EISDIR", "is a directory"}, {22, "EINVAL", "invalid argument"}, {23, "ENFILE", "too many open files in system"}, {24, "EMFILE", "too many open files"}, {25, "ENOTTY", "inappropriate ioctl for device"}, {26, "ETXTBSY", "text file busy"}, {27, "EFBIG", "file too large"}, {28, "ENOSPC", "no space left on device"}, {29, "ESPIPE", "illegal seek"}, {30, "EROFS", "read-only file system"}, {31, "EMLINK", "too many links"}, {32, "EPIPE", "broken pipe"}, {33, "EDOM", "numerical argument out of domain"}, {34, "ERANGE", "result too large"}, {35, "EAGAIN", "resource temporarily unavailable"}, {36, "EINPROGRESS", "operation now in progress"}, {37, "EALREADY", "operation already in progress"}, {38, "ENOTSOCK", "socket operation on non-socket"}, {39, "EDESTADDRREQ", "destination address required"}, {40, "EMSGSIZE", "message too long"}, {41, "EPROTOTYPE", "protocol wrong type for socket"}, {42, "ENOPROTOOPT", "protocol not available"}, {43, "EPROTONOSUPPORT", "protocol not supported"}, {44, "ESOCKTNOSUPPORT", "socket type not supported"}, {45, "EOPNOTSUPP", "operation not supported"}, {46, "EPFNOSUPPORT", "protocol family not supported"}, {47, "EAFNOSUPPORT", "address family not supported by protocol family"}, {48, "EADDRINUSE", "address already in use"}, {49, "EADDRNOTAVAIL", "can't assign requested address"}, {50, "ENETDOWN", "network is down"}, {51, "ENETUNREACH", "network is unreachable"}, {52, "ENETRESET", "network dropped connection on reset"}, {53, "ECONNABORTED", "software caused connection abort"}, {54, "ECONNRESET", "connection reset by peer"}, {55, "ENOBUFS", "no buffer space available"}, {56, "EISCONN", "socket is already connected"}, {57, "ENOTCONN", "socket is not connected"}, {58, "ESHUTDOWN", "can't send after socket shutdown"}, {59, "ETOOMANYREFS", "too many references: can't splice"}, {60, "ETIMEDOUT", "operation timed out"}, {61, "ECONNREFUSED", "connection refused"}, {62, "ELOOP", "too many levels of symbolic links"}, {63, "ENAMETOOLONG", "file name too long"}, {64, "EHOSTDOWN", "host is down"}, {65, "EHOSTUNREACH", "no route to host"}, {66, "ENOTEMPTY", "directory not empty"}, {67, "EPROCLIM", "too many processes"}, {68, "EUSERS", "too many users"}, {69, "EDQUOT", "disk quota exceeded"}, {70, "ESTALE", "stale NFS file handle"}, {71, "EREMOTE", "too many levels of remote in path"}, {72, "EBADRPC", "RPC struct is bad"}, {73, "ERPCMISMATCH", "RPC version wrong"}, {74, "EPROGUNAVAIL", "RPC program not available"}, {75, "EPROGMISMATCH", "program version wrong"}, {76, "EPROCUNAVAIL", "bad procedure for program"}, {77, "ENOLCK", "no locks available"}, {78, "ENOSYS", "function not implemented"}, {79, "EFTYPE", "inappropriate file type or format"}, {80, "EAUTH", "authentication error"}, {81, "ENEEDAUTH", "need authenticator"}, {82, "EIPSEC", "IPsec processing failure"}, {83, "ENOATTR", "attribute not found"}, {84, "EILSEQ", "illegal byte sequence"}, {85, "ENOMEDIUM", "no medium found"}, {86, "EMEDIUMTYPE", "wrong medium type"}, {87, "EOVERFLOW", "value too large to be stored in data type"}, {88, "ECANCELED", "operation canceled"}, {89, "EIDRM", "identifier removed"}, {90, "ENOMSG", "no message of desired type"}, {91, "ENOTSUP", "not supported"}, {92, "EBADMSG", "bad message"}, {93, "ENOTRECOVERABLE", "state not recoverable"}, {94, "EOWNERDEAD", "previous owner died"}, {95, "ELAST", "protocol error"}, } // Signal table var signalList = [...]struct { num syscall.Signal name string desc string }{ {1, "SIGHUP", "hangup"}, {2, "SIGINT", "interrupt"}, {3, "SIGQUIT", "quit"}, {4, "SIGILL", "illegal instruction"}, {5, "SIGTRAP", "trace/BPT trap"}, {6, "SIGIOT", "abort trap"}, {7, "SIGEMT", "EMT trap"}, {8, "SIGFPE", "floating point exception"}, {9, "SIGKILL", "killed"}, {10, "SIGBUS", "bus error"}, {11, "SIGSEGV", "segmentation fault"}, {12, "SIGSYS", "bad system call"}, {13, "SIGPIPE", "broken pipe"}, {14, "SIGALRM", "alarm clock"}, {15, "SIGTERM", "terminated"}, {16, "SIGURG", "urgent I/O condition"}, {17, "SIGSTOP", "suspended (signal)"}, {18, "SIGTSTP", "suspended"}, {19, "SIGCONT", "continued"}, {20, "SIGCHLD", "child exited"}, {21, "SIGTTIN", "stopped (tty input)"}, {22, "SIGTTOU", "stopped (tty output)"}, {23, "SIGIO", "I/O possible"}, {24, "SIGXCPU", "cputime limit exceeded"}, {25, "SIGXFSZ", "filesize limit exceeded"}, {26, "SIGVTALRM", "virtual timer expired"}, {27, "SIGPROF", "profiling timer expired"}, {28, "SIGWINCH", "window size changes"}, {29, "SIGINFO", "information request"}, {30, "SIGUSR1", "user defined signal 1"}, {31, "SIGUSR2", "user defined signal 2"}, {32, "SIGTHR", "thread AST"}, {28672, "SIGSTKSZ", "unknown signal"}, } dependencies/pkg/mod/golang.org/x/sys@v0.26.0/unix/asm_linux_ppc64x.s0000644000000000000000000000161515107355264024203 0ustar rootroot// 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. //go:build linux && (ppc64 || ppc64le) && gc #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 ·SyscallNoError(SB),NOSPLIT,$0-48 BL runtime·entersyscall(SB) MOVD a1+8(FP), R3 MOVD a2+16(FP), R4 MOVD a3+24(FP), R5 MOVD R0, R6 MOVD R0, R7 MOVD R0, R8 MOVD trap+0(FP), R9 // syscall entry SYSCALL R9 MOVD R3, r1+32(FP) MOVD R4, r2+40(FP) BL runtime·exitsyscall(SB) RET TEXT ·RawSyscallNoError(SB),NOSPLIT,$0-48 MOVD a1+8(FP), R3 MOVD a2+16(FP), R4 MOVD a3+24(FP), R5 MOVD R0, R6 MOVD R0, R7 MOVD R0, R8 MOVD trap+0(FP), R9 // syscall entry SYSCALL R9 MOVD R3, r1+32(FP) MOVD R4, r2+40(FP) RET dependencies/pkg/mod/golang.org/x/sys@v0.26.0/unix/zsyscall_openbsd_arm.go0000644000000000000000000016443715107355264025374 0ustar rootroot// go run mksyscall.go -l32 -openbsd -arm -libc -tags openbsd,arm syscall_bsd.go syscall_openbsd.go syscall_openbsd_arm.go // Code generated by the command above; see README.md. DO NOT EDIT. //go:build openbsd && 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 := syscall_rawSyscall(libc_getgroups_trampoline_addr, uintptr(ngid), uintptr(unsafe.Pointer(gid)), 0) n = int(r0) if e1 != 0 { err = errnoErr(e1) } return } var libc_getgroups_trampoline_addr uintptr //go:cgo_import_dynamic libc_getgroups getgroups "libc.so" // THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT func setgroups(ngid int, gid *_Gid_t) (err error) { _, _, e1 := syscall_rawSyscall(libc_setgroups_trampoline_addr, uintptr(ngid), uintptr(unsafe.Pointer(gid)), 0) if e1 != 0 { err = errnoErr(e1) } return } var libc_setgroups_trampoline_addr uintptr //go:cgo_import_dynamic libc_setgroups setgroups "libc.so" // 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 := syscall_syscall6(libc_wait4_trampoline_addr, uintptr(pid), uintptr(unsafe.Pointer(wstatus)), uintptr(options), uintptr(unsafe.Pointer(rusage)), 0, 0) wpid = int(r0) if e1 != 0 { err = errnoErr(e1) } return } var libc_wait4_trampoline_addr uintptr //go:cgo_import_dynamic libc_wait4 wait4 "libc.so" // 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_syscall(libc_accept_trampoline_addr, uintptr(s), uintptr(unsafe.Pointer(rsa)), uintptr(unsafe.Pointer(addrlen))) fd = int(r0) if e1 != 0 { err = errnoErr(e1) } return } var libc_accept_trampoline_addr uintptr //go:cgo_import_dynamic libc_accept accept "libc.so" // 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_syscall(libc_bind_trampoline_addr, uintptr(s), uintptr(addr), uintptr(addrlen)) if e1 != 0 { err = errnoErr(e1) } return } var libc_bind_trampoline_addr uintptr //go:cgo_import_dynamic libc_bind bind "libc.so" // 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_syscall(libc_connect_trampoline_addr, uintptr(s), uintptr(addr), uintptr(addrlen)) if e1 != 0 { err = errnoErr(e1) } return } var libc_connect_trampoline_addr uintptr //go:cgo_import_dynamic libc_connect connect "libc.so" // 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 := syscall_rawSyscall(libc_socket_trampoline_addr, uintptr(domain), uintptr(typ), uintptr(proto)) fd = int(r0) if e1 != 0 { err = errnoErr(e1) } return } var libc_socket_trampoline_addr uintptr //go:cgo_import_dynamic libc_socket socket "libc.so" // 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 := syscall_syscall6(libc_getsockopt_trampoline_addr, uintptr(s), uintptr(level), uintptr(name), uintptr(val), uintptr(unsafe.Pointer(vallen)), 0) if e1 != 0 { err = errnoErr(e1) } return } var libc_getsockopt_trampoline_addr uintptr //go:cgo_import_dynamic libc_getsockopt getsockopt "libc.so" // 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 := syscall_syscall6(libc_setsockopt_trampoline_addr, uintptr(s), uintptr(level), uintptr(name), uintptr(val), uintptr(vallen), 0) if e1 != 0 { err = errnoErr(e1) } return } var libc_setsockopt_trampoline_addr uintptr //go:cgo_import_dynamic libc_setsockopt setsockopt "libc.so" // THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT func getpeername(fd int, rsa *RawSockaddrAny, addrlen *_Socklen) (err error) { _, _, e1 := syscall_rawSyscall(libc_getpeername_trampoline_addr, uintptr(fd), uintptr(unsafe.Pointer(rsa)), uintptr(unsafe.Pointer(addrlen))) if e1 != 0 { err = errnoErr(e1) } return } var libc_getpeername_trampoline_addr uintptr //go:cgo_import_dynamic libc_getpeername getpeername "libc.so" // THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT func getsockname(fd int, rsa *RawSockaddrAny, addrlen *_Socklen) (err error) { _, _, e1 := syscall_rawSyscall(libc_getsockname_trampoline_addr, uintptr(fd), uintptr(unsafe.Pointer(rsa)), uintptr(unsafe.Pointer(addrlen))) if e1 != 0 { err = errnoErr(e1) } return } var libc_getsockname_trampoline_addr uintptr //go:cgo_import_dynamic libc_getsockname getsockname "libc.so" // THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT func Shutdown(s int, how int) (err error) { _, _, e1 := syscall_syscall(libc_shutdown_trampoline_addr, uintptr(s), uintptr(how), 0) if e1 != 0 { err = errnoErr(e1) } return } var libc_shutdown_trampoline_addr uintptr //go:cgo_import_dynamic libc_shutdown shutdown "libc.so" // 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 := syscall_rawSyscall6(libc_socketpair_trampoline_addr, uintptr(domain), uintptr(typ), uintptr(proto), uintptr(unsafe.Pointer(fd)), 0, 0) if e1 != 0 { err = errnoErr(e1) } return } var libc_socketpair_trampoline_addr uintptr //go:cgo_import_dynamic libc_socketpair socketpair "libc.so" // 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 := syscall_syscall6(libc_recvfrom_trampoline_addr, 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 } var libc_recvfrom_trampoline_addr uintptr //go:cgo_import_dynamic libc_recvfrom recvfrom "libc.so" // 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 := syscall_syscall6(libc_sendto_trampoline_addr, uintptr(s), uintptr(_p0), uintptr(len(buf)), uintptr(flags), uintptr(to), uintptr(addrlen)) if e1 != 0 { err = errnoErr(e1) } return } var libc_sendto_trampoline_addr uintptr //go:cgo_import_dynamic libc_sendto sendto "libc.so" // 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_syscall(libc_recvmsg_trampoline_addr, uintptr(s), uintptr(unsafe.Pointer(msg)), uintptr(flags)) n = int(r0) if e1 != 0 { err = errnoErr(e1) } return } var libc_recvmsg_trampoline_addr uintptr //go:cgo_import_dynamic libc_recvmsg recvmsg "libc.so" // 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_syscall(libc_sendmsg_trampoline_addr, uintptr(s), uintptr(unsafe.Pointer(msg)), uintptr(flags)) n = int(r0) if e1 != 0 { err = errnoErr(e1) } return } var libc_sendmsg_trampoline_addr uintptr //go:cgo_import_dynamic libc_sendmsg sendmsg "libc.so" // 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 := syscall_syscall6(libc_kevent_trampoline_addr, uintptr(kq), uintptr(change), uintptr(nchange), uintptr(event), uintptr(nevent), uintptr(unsafe.Pointer(timeout))) n = int(r0) if e1 != 0 { err = errnoErr(e1) } return } var libc_kevent_trampoline_addr uintptr //go:cgo_import_dynamic libc_kevent kevent "libc.so" // 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_syscall(libc_utimes_trampoline_addr, uintptr(unsafe.Pointer(_p0)), uintptr(unsafe.Pointer(timeval)), 0) if e1 != 0 { err = errnoErr(e1) } return } var libc_utimes_trampoline_addr uintptr //go:cgo_import_dynamic libc_utimes utimes "libc.so" // THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT func futimes(fd int, timeval *[2]Timeval) (err error) { _, _, e1 := syscall_syscall(libc_futimes_trampoline_addr, uintptr(fd), uintptr(unsafe.Pointer(timeval)), 0) if e1 != 0 { err = errnoErr(e1) } return } var libc_futimes_trampoline_addr uintptr //go:cgo_import_dynamic libc_futimes futimes "libc.so" // 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_syscall(libc_poll_trampoline_addr, uintptr(unsafe.Pointer(fds)), uintptr(nfds), uintptr(timeout)) n = int(r0) if e1 != 0 { err = errnoErr(e1) } return } var libc_poll_trampoline_addr uintptr //go:cgo_import_dynamic libc_poll poll "libc.so" // THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT func Madvise(b []byte, behav int) (err error) { var _p0 unsafe.Pointer if len(b) > 0 { _p0 = unsafe.Pointer(&b[0]) } else { _p0 = unsafe.Pointer(&_zero) } _, _, e1 := syscall_syscall(libc_madvise_trampoline_addr, uintptr(_p0), uintptr(len(b)), uintptr(behav)) if e1 != 0 { err = errnoErr(e1) } return } var libc_madvise_trampoline_addr uintptr //go:cgo_import_dynamic libc_madvise madvise "libc.so" // 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_syscall(libc_mlock_trampoline_addr, uintptr(_p0), uintptr(len(b)), 0) if e1 != 0 { err = errnoErr(e1) } return } var libc_mlock_trampoline_addr uintptr //go:cgo_import_dynamic libc_mlock mlock "libc.so" // THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT func Mlockall(flags int) (err error) { _, _, e1 := syscall_syscall(libc_mlockall_trampoline_addr, uintptr(flags), 0, 0) if e1 != 0 { err = errnoErr(e1) } return } var libc_mlockall_trampoline_addr uintptr //go:cgo_import_dynamic libc_mlockall mlockall "libc.so" // 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_syscall(libc_mprotect_trampoline_addr, uintptr(_p0), uintptr(len(b)), uintptr(prot)) if e1 != 0 { err = errnoErr(e1) } return } var libc_mprotect_trampoline_addr uintptr //go:cgo_import_dynamic libc_mprotect mprotect "libc.so" // THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT func Msync(b []byte, flags int) (err error) { var _p0 unsafe.Pointer if len(b) > 0 { _p0 = unsafe.Pointer(&b[0]) } else { _p0 = unsafe.Pointer(&_zero) } _, _, e1 := syscall_syscall(libc_msync_trampoline_addr, uintptr(_p0), uintptr(len(b)), uintptr(flags)) if e1 != 0 { err = errnoErr(e1) } return } var libc_msync_trampoline_addr uintptr //go:cgo_import_dynamic libc_msync msync "libc.so" // 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_syscall(libc_munlock_trampoline_addr, uintptr(_p0), uintptr(len(b)), 0) if e1 != 0 { err = errnoErr(e1) } return } var libc_munlock_trampoline_addr uintptr //go:cgo_import_dynamic libc_munlock munlock "libc.so" // THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT func Munlockall() (err error) { _, _, e1 := syscall_syscall(libc_munlockall_trampoline_addr, 0, 0, 0) if e1 != 0 { err = errnoErr(e1) } return } var libc_munlockall_trampoline_addr uintptr //go:cgo_import_dynamic libc_munlockall munlockall "libc.so" // THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT func pipe2(p *[2]_C_int, flags int) (err error) { _, _, e1 := syscall_rawSyscall(libc_pipe2_trampoline_addr, uintptr(unsafe.Pointer(p)), uintptr(flags), 0) if e1 != 0 { err = errnoErr(e1) } return } var libc_pipe2_trampoline_addr uintptr //go:cgo_import_dynamic libc_pipe2 pipe2 "libc.so" // 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_syscall(libc_getdents_trampoline_addr, uintptr(fd), uintptr(_p0), uintptr(len(buf))) n = int(r0) if e1 != 0 { err = errnoErr(e1) } return } var libc_getdents_trampoline_addr uintptr //go:cgo_import_dynamic libc_getdents getdents "libc.so" // 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_syscall(libc_getcwd_trampoline_addr, uintptr(_p0), uintptr(len(buf)), 0) n = int(r0) if e1 != 0 { err = errnoErr(e1) } return } var libc_getcwd_trampoline_addr uintptr //go:cgo_import_dynamic libc_getcwd getcwd "libc.so" // THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT func getresuid(ruid *_C_int, euid *_C_int, suid *_C_int) { syscall_rawSyscall(libc_getresuid_trampoline_addr, uintptr(unsafe.Pointer(ruid)), uintptr(unsafe.Pointer(euid)), uintptr(unsafe.Pointer(suid))) return } var libc_getresuid_trampoline_addr uintptr //go:cgo_import_dynamic libc_getresuid getresuid "libc.so" // THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT func getresgid(rgid *_C_int, egid *_C_int, sgid *_C_int) { syscall_rawSyscall(libc_getresgid_trampoline_addr, uintptr(unsafe.Pointer(rgid)), uintptr(unsafe.Pointer(egid)), uintptr(unsafe.Pointer(sgid))) return } var libc_getresgid_trampoline_addr uintptr //go:cgo_import_dynamic libc_getresgid getresgid "libc.so" // 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_syscall(libc_ioctl_trampoline_addr, uintptr(fd), uintptr(req), uintptr(arg)) if e1 != 0 { err = errnoErr(e1) } return } var libc_ioctl_trampoline_addr uintptr //go:cgo_import_dynamic libc_ioctl ioctl "libc.so" // THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT func ioctlPtr(fd int, req uint, arg unsafe.Pointer) (err error) { _, _, e1 := syscall_syscall(libc_ioctl_trampoline_addr, 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 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 := syscall_syscall6(libc_sysctl_trampoline_addr, 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 } var libc_sysctl_trampoline_addr uintptr //go:cgo_import_dynamic libc_sysctl sysctl "libc.so" // THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT func fcntl(fd int, cmd int, arg int) (n int, err error) { r0, _, e1 := syscall_syscall(libc_fcntl_trampoline_addr, uintptr(fd), uintptr(cmd), uintptr(arg)) n = int(r0) if e1 != 0 { err = errnoErr(e1) } return } var libc_fcntl_trampoline_addr uintptr //go:cgo_import_dynamic libc_fcntl fcntl "libc.so" // THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT func fcntlPtr(fd int, cmd int, arg unsafe.Pointer) (n int, err error) { r0, _, e1 := syscall_syscall(libc_fcntl_trampoline_addr, uintptr(fd), uintptr(cmd), uintptr(arg)) n = 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 := syscall_syscall6(libc_ppoll_trampoline_addr, 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 } var libc_ppoll_trampoline_addr uintptr //go:cgo_import_dynamic libc_ppoll ppoll "libc.so" // 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_syscall(libc_access_trampoline_addr, uintptr(unsafe.Pointer(_p0)), uintptr(mode), 0) if e1 != 0 { err = errnoErr(e1) } return } var libc_access_trampoline_addr uintptr //go:cgo_import_dynamic libc_access access "libc.so" // THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT func Adjtime(delta *Timeval, olddelta *Timeval) (err error) { _, _, e1 := syscall_syscall(libc_adjtime_trampoline_addr, uintptr(unsafe.Pointer(delta)), uintptr(unsafe.Pointer(olddelta)), 0) if e1 != 0 { err = errnoErr(e1) } return } var libc_adjtime_trampoline_addr uintptr //go:cgo_import_dynamic libc_adjtime adjtime "libc.so" // 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_syscall(libc_chdir_trampoline_addr, uintptr(unsafe.Pointer(_p0)), 0, 0) if e1 != 0 { err = errnoErr(e1) } return } var libc_chdir_trampoline_addr uintptr //go:cgo_import_dynamic libc_chdir chdir "libc.so" // 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_syscall(libc_chflags_trampoline_addr, uintptr(unsafe.Pointer(_p0)), uintptr(flags), 0) if e1 != 0 { err = errnoErr(e1) } return } var libc_chflags_trampoline_addr uintptr //go:cgo_import_dynamic libc_chflags chflags "libc.so" // 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_syscall(libc_chmod_trampoline_addr, uintptr(unsafe.Pointer(_p0)), uintptr(mode), 0) if e1 != 0 { err = errnoErr(e1) } return } var libc_chmod_trampoline_addr uintptr //go:cgo_import_dynamic libc_chmod chmod "libc.so" // 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_syscall(libc_chown_trampoline_addr, uintptr(unsafe.Pointer(_p0)), uintptr(uid), uintptr(gid)) if e1 != 0 { err = errnoErr(e1) } return } var libc_chown_trampoline_addr uintptr //go:cgo_import_dynamic libc_chown chown "libc.so" // 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_syscall(libc_chroot_trampoline_addr, uintptr(unsafe.Pointer(_p0)), 0, 0) if e1 != 0 { err = errnoErr(e1) } return } var libc_chroot_trampoline_addr uintptr //go:cgo_import_dynamic libc_chroot chroot "libc.so" // THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT func ClockGettime(clockid int32, time *Timespec) (err error) { _, _, e1 := syscall_syscall(libc_clock_gettime_trampoline_addr, uintptr(clockid), uintptr(unsafe.Pointer(time)), 0) if e1 != 0 { err = errnoErr(e1) } return } var libc_clock_gettime_trampoline_addr uintptr //go:cgo_import_dynamic libc_clock_gettime clock_gettime "libc.so" // THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT func Close(fd int) (err error) { _, _, e1 := syscall_syscall(libc_close_trampoline_addr, uintptr(fd), 0, 0) if e1 != 0 { err = errnoErr(e1) } return } var libc_close_trampoline_addr uintptr //go:cgo_import_dynamic libc_close close "libc.so" // THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT func Dup(fd int) (nfd int, err error) { r0, _, e1 := syscall_syscall(libc_dup_trampoline_addr, uintptr(fd), 0, 0) nfd = int(r0) if e1 != 0 { err = errnoErr(e1) } return } var libc_dup_trampoline_addr uintptr //go:cgo_import_dynamic libc_dup dup "libc.so" // THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT func Dup2(from int, to int) (err error) { _, _, e1 := syscall_syscall(libc_dup2_trampoline_addr, uintptr(from), uintptr(to), 0) if e1 != 0 { err = errnoErr(e1) } return } var libc_dup2_trampoline_addr uintptr //go:cgo_import_dynamic libc_dup2 dup2 "libc.so" // THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT func Dup3(from int, to int, flags int) (err error) { _, _, e1 := syscall_syscall(libc_dup3_trampoline_addr, uintptr(from), uintptr(to), uintptr(flags)) if e1 != 0 { err = errnoErr(e1) } return } var libc_dup3_trampoline_addr uintptr //go:cgo_import_dynamic libc_dup3 dup3 "libc.so" // THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT func Exit(code int) { syscall_syscall(libc_exit_trampoline_addr, uintptr(code), 0, 0) return } var libc_exit_trampoline_addr uintptr //go:cgo_import_dynamic libc_exit exit "libc.so" // 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 := syscall_syscall6(libc_faccessat_trampoline_addr, uintptr(dirfd), uintptr(unsafe.Pointer(_p0)), uintptr(mode), uintptr(flags), 0, 0) if e1 != 0 { err = errnoErr(e1) } return } var libc_faccessat_trampoline_addr uintptr //go:cgo_import_dynamic libc_faccessat faccessat "libc.so" // THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT func Fchdir(fd int) (err error) { _, _, e1 := syscall_syscall(libc_fchdir_trampoline_addr, uintptr(fd), 0, 0) if e1 != 0 { err = errnoErr(e1) } return } var libc_fchdir_trampoline_addr uintptr //go:cgo_import_dynamic libc_fchdir fchdir "libc.so" // THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT func Fchflags(fd int, flags int) (err error) { _, _, e1 := syscall_syscall(libc_fchflags_trampoline_addr, uintptr(fd), uintptr(flags), 0) if e1 != 0 { err = errnoErr(e1) } return } var libc_fchflags_trampoline_addr uintptr //go:cgo_import_dynamic libc_fchflags fchflags "libc.so" // THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT func Fchmod(fd int, mode uint32) (err error) { _, _, e1 := syscall_syscall(libc_fchmod_trampoline_addr, uintptr(fd), uintptr(mode), 0) if e1 != 0 { err = errnoErr(e1) } return } var libc_fchmod_trampoline_addr uintptr //go:cgo_import_dynamic libc_fchmod fchmod "libc.so" // 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 := syscall_syscall6(libc_fchmodat_trampoline_addr, uintptr(dirfd), uintptr(unsafe.Pointer(_p0)), uintptr(mode), uintptr(flags), 0, 0) if e1 != 0 { err = errnoErr(e1) } return } var libc_fchmodat_trampoline_addr uintptr //go:cgo_import_dynamic libc_fchmodat fchmodat "libc.so" // 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_syscall(libc_fchown_trampoline_addr, uintptr(fd), uintptr(uid), uintptr(gid)) if e1 != 0 { err = errnoErr(e1) } return } var libc_fchown_trampoline_addr uintptr //go:cgo_import_dynamic libc_fchown fchown "libc.so" // 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 := syscall_syscall6(libc_fchownat_trampoline_addr, uintptr(dirfd), uintptr(unsafe.Pointer(_p0)), uintptr(uid), uintptr(gid), uintptr(flags), 0) if e1 != 0 { err = errnoErr(e1) } return } var libc_fchownat_trampoline_addr uintptr //go:cgo_import_dynamic libc_fchownat fchownat "libc.so" // THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT func Flock(fd int, how int) (err error) { _, _, e1 := syscall_syscall(libc_flock_trampoline_addr, uintptr(fd), uintptr(how), 0) if e1 != 0 { err = errnoErr(e1) } return } var libc_flock_trampoline_addr uintptr //go:cgo_import_dynamic libc_flock flock "libc.so" // 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_syscall(libc_fpathconf_trampoline_addr, uintptr(fd), uintptr(name), 0) val = int(r0) if e1 != 0 { err = errnoErr(e1) } return } var libc_fpathconf_trampoline_addr uintptr //go:cgo_import_dynamic libc_fpathconf fpathconf "libc.so" // THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT func Fstat(fd int, stat *Stat_t) (err error) { _, _, e1 := syscall_syscall(libc_fstat_trampoline_addr, uintptr(fd), uintptr(unsafe.Pointer(stat)), 0) if e1 != 0 { err = errnoErr(e1) } return } var libc_fstat_trampoline_addr uintptr //go:cgo_import_dynamic libc_fstat fstat "libc.so" // 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 := syscall_syscall6(libc_fstatat_trampoline_addr, uintptr(fd), uintptr(unsafe.Pointer(_p0)), uintptr(unsafe.Pointer(stat)), uintptr(flags), 0, 0) if e1 != 0 { err = errnoErr(e1) } return } var libc_fstatat_trampoline_addr uintptr //go:cgo_import_dynamic libc_fstatat fstatat "libc.so" // THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT func Fstatfs(fd int, stat *Statfs_t) (err error) { _, _, e1 := syscall_syscall(libc_fstatfs_trampoline_addr, uintptr(fd), uintptr(unsafe.Pointer(stat)), 0) if e1 != 0 { err = errnoErr(e1) } return } var libc_fstatfs_trampoline_addr uintptr //go:cgo_import_dynamic libc_fstatfs fstatfs "libc.so" // THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT func Fsync(fd int) (err error) { _, _, e1 := syscall_syscall(libc_fsync_trampoline_addr, uintptr(fd), 0, 0) if e1 != 0 { err = errnoErr(e1) } return } var libc_fsync_trampoline_addr uintptr //go:cgo_import_dynamic libc_fsync fsync "libc.so" // THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT func Ftruncate(fd int, length int64) (err error) { _, _, e1 := syscall_syscall6(libc_ftruncate_trampoline_addr, uintptr(fd), 0, uintptr(length), uintptr(length>>32), 0, 0) if e1 != 0 { err = errnoErr(e1) } return } var libc_ftruncate_trampoline_addr uintptr //go:cgo_import_dynamic libc_ftruncate ftruncate "libc.so" // THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT func Getegid() (egid int) { r0, _, _ := syscall_rawSyscall(libc_getegid_trampoline_addr, 0, 0, 0) egid = int(r0) return } var libc_getegid_trampoline_addr uintptr //go:cgo_import_dynamic libc_getegid getegid "libc.so" // THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT func Geteuid() (uid int) { r0, _, _ := syscall_rawSyscall(libc_geteuid_trampoline_addr, 0, 0, 0) uid = int(r0) return } var libc_geteuid_trampoline_addr uintptr //go:cgo_import_dynamic libc_geteuid geteuid "libc.so" // THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT func Getgid() (gid int) { r0, _, _ := syscall_rawSyscall(libc_getgid_trampoline_addr, 0, 0, 0) gid = int(r0) return } var libc_getgid_trampoline_addr uintptr //go:cgo_import_dynamic libc_getgid getgid "libc.so" // THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT func Getpgid(pid int) (pgid int, err error) { r0, _, e1 := syscall_rawSyscall(libc_getpgid_trampoline_addr, uintptr(pid), 0, 0) pgid = int(r0) if e1 != 0 { err = errnoErr(e1) } return } var libc_getpgid_trampoline_addr uintptr //go:cgo_import_dynamic libc_getpgid getpgid "libc.so" // THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT func Getpgrp() (pgrp int) { r0, _, _ := syscall_rawSyscall(libc_getpgrp_trampoline_addr, 0, 0, 0) pgrp = int(r0) return } var libc_getpgrp_trampoline_addr uintptr //go:cgo_import_dynamic libc_getpgrp getpgrp "libc.so" // THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT func Getpid() (pid int) { r0, _, _ := syscall_rawSyscall(libc_getpid_trampoline_addr, 0, 0, 0) pid = int(r0) return } var libc_getpid_trampoline_addr uintptr //go:cgo_import_dynamic libc_getpid getpid "libc.so" // THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT func Getppid() (ppid int) { r0, _, _ := syscall_rawSyscall(libc_getppid_trampoline_addr, 0, 0, 0) ppid = int(r0) return } var libc_getppid_trampoline_addr uintptr //go:cgo_import_dynamic libc_getppid getppid "libc.so" // 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_syscall(libc_getpriority_trampoline_addr, uintptr(which), uintptr(who), 0) prio = int(r0) if e1 != 0 { err = errnoErr(e1) } return } var libc_getpriority_trampoline_addr uintptr //go:cgo_import_dynamic libc_getpriority getpriority "libc.so" // THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT func Getrlimit(which int, lim *Rlimit) (err error) { _, _, e1 := syscall_rawSyscall(libc_getrlimit_trampoline_addr, uintptr(which), uintptr(unsafe.Pointer(lim)), 0) if e1 != 0 { err = errnoErr(e1) } return } var libc_getrlimit_trampoline_addr uintptr //go:cgo_import_dynamic libc_getrlimit getrlimit "libc.so" // THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT func Getrtable() (rtable int, err error) { r0, _, e1 := syscall_rawSyscall(libc_getrtable_trampoline_addr, 0, 0, 0) rtable = int(r0) if e1 != 0 { err = errnoErr(e1) } return } var libc_getrtable_trampoline_addr uintptr //go:cgo_import_dynamic libc_getrtable getrtable "libc.so" // THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT func Getrusage(who int, rusage *Rusage) (err error) { _, _, e1 := syscall_rawSyscall(libc_getrusage_trampoline_addr, uintptr(who), uintptr(unsafe.Pointer(rusage)), 0) if e1 != 0 { err = errnoErr(e1) } return } var libc_getrusage_trampoline_addr uintptr //go:cgo_import_dynamic libc_getrusage getrusage "libc.so" // THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT func Getsid(pid int) (sid int, err error) { r0, _, e1 := syscall_rawSyscall(libc_getsid_trampoline_addr, uintptr(pid), 0, 0) sid = int(r0) if e1 != 0 { err = errnoErr(e1) } return } var libc_getsid_trampoline_addr uintptr //go:cgo_import_dynamic libc_getsid getsid "libc.so" // THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT func Gettimeofday(tv *Timeval) (err error) { _, _, e1 := syscall_rawSyscall(libc_gettimeofday_trampoline_addr, uintptr(unsafe.Pointer(tv)), 0, 0) if e1 != 0 { err = errnoErr(e1) } return } var libc_gettimeofday_trampoline_addr uintptr //go:cgo_import_dynamic libc_gettimeofday gettimeofday "libc.so" // THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT func Getuid() (uid int) { r0, _, _ := syscall_rawSyscall(libc_getuid_trampoline_addr, 0, 0, 0) uid = int(r0) return } var libc_getuid_trampoline_addr uintptr //go:cgo_import_dynamic libc_getuid getuid "libc.so" // THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT func Issetugid() (tainted bool) { r0, _, _ := syscall_syscall(libc_issetugid_trampoline_addr, 0, 0, 0) tainted = bool(r0 != 0) return } var libc_issetugid_trampoline_addr uintptr //go:cgo_import_dynamic libc_issetugid issetugid "libc.so" // THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT func Kill(pid int, signum syscall.Signal) (err error) { _, _, e1 := syscall_syscall(libc_kill_trampoline_addr, uintptr(pid), uintptr(signum), 0) if e1 != 0 { err = errnoErr(e1) } return } var libc_kill_trampoline_addr uintptr //go:cgo_import_dynamic libc_kill kill "libc.so" // THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT func Kqueue() (fd int, err error) { r0, _, e1 := syscall_syscall(libc_kqueue_trampoline_addr, 0, 0, 0) fd = int(r0) if e1 != 0 { err = errnoErr(e1) } return } var libc_kqueue_trampoline_addr uintptr //go:cgo_import_dynamic libc_kqueue kqueue "libc.so" // 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_syscall(libc_lchown_trampoline_addr, uintptr(unsafe.Pointer(_p0)), uintptr(uid), uintptr(gid)) if e1 != 0 { err = errnoErr(e1) } return } var libc_lchown_trampoline_addr uintptr //go:cgo_import_dynamic libc_lchown lchown "libc.so" // 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_syscall(libc_link_trampoline_addr, uintptr(unsafe.Pointer(_p0)), uintptr(unsafe.Pointer(_p1)), 0) if e1 != 0 { err = errnoErr(e1) } return } var libc_link_trampoline_addr uintptr //go:cgo_import_dynamic libc_link link "libc.so" // THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT func Linkat(pathfd int, path string, linkfd int, link string, flags int) (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_syscall6(libc_linkat_trampoline_addr, uintptr(pathfd), uintptr(unsafe.Pointer(_p0)), uintptr(linkfd), uintptr(unsafe.Pointer(_p1)), uintptr(flags), 0) if e1 != 0 { err = errnoErr(e1) } return } var libc_linkat_trampoline_addr uintptr //go:cgo_import_dynamic libc_linkat linkat "libc.so" // THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT func Listen(s int, backlog int) (err error) { _, _, e1 := syscall_syscall(libc_listen_trampoline_addr, uintptr(s), uintptr(backlog), 0) if e1 != 0 { err = errnoErr(e1) } return } var libc_listen_trampoline_addr uintptr //go:cgo_import_dynamic libc_listen listen "libc.so" // 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_syscall(libc_lstat_trampoline_addr, uintptr(unsafe.Pointer(_p0)), uintptr(unsafe.Pointer(stat)), 0) if e1 != 0 { err = errnoErr(e1) } return } var libc_lstat_trampoline_addr uintptr //go:cgo_import_dynamic libc_lstat lstat "libc.so" // 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_syscall(libc_mkdir_trampoline_addr, uintptr(unsafe.Pointer(_p0)), uintptr(mode), 0) if e1 != 0 { err = errnoErr(e1) } return } var libc_mkdir_trampoline_addr uintptr //go:cgo_import_dynamic libc_mkdir mkdir "libc.so" // 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_syscall(libc_mkdirat_trampoline_addr, uintptr(dirfd), uintptr(unsafe.Pointer(_p0)), uintptr(mode)) if e1 != 0 { err = errnoErr(e1) } return } var libc_mkdirat_trampoline_addr uintptr //go:cgo_import_dynamic libc_mkdirat mkdirat "libc.so" // 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_syscall(libc_mkfifo_trampoline_addr, uintptr(unsafe.Pointer(_p0)), uintptr(mode), 0) if e1 != 0 { err = errnoErr(e1) } return } var libc_mkfifo_trampoline_addr uintptr //go:cgo_import_dynamic libc_mkfifo mkfifo "libc.so" // THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT func Mkfifoat(dirfd int, path string, mode uint32) (err error) { var _p0 *byte _p0, err = BytePtrFromString(path) if err != nil { return } _, _, e1 := syscall_syscall(libc_mkfifoat_trampoline_addr, uintptr(dirfd), uintptr(unsafe.Pointer(_p0)), uintptr(mode)) if e1 != 0 { err = errnoErr(e1) } return } var libc_mkfifoat_trampoline_addr uintptr //go:cgo_import_dynamic libc_mkfifoat mkfifoat "libc.so" // 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_syscall(libc_mknod_trampoline_addr, uintptr(unsafe.Pointer(_p0)), uintptr(mode), uintptr(dev)) if e1 != 0 { err = errnoErr(e1) } return } var libc_mknod_trampoline_addr uintptr //go:cgo_import_dynamic libc_mknod mknod "libc.so" // 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 := syscall_syscall6(libc_mknodat_trampoline_addr, uintptr(dirfd), uintptr(unsafe.Pointer(_p0)), uintptr(mode), uintptr(dev), 0, 0) if e1 != 0 { err = errnoErr(e1) } return } var libc_mknodat_trampoline_addr uintptr //go:cgo_import_dynamic libc_mknodat mknodat "libc.so" // THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT func Mount(fsType string, dir string, flags int, data unsafe.Pointer) (err error) { var _p0 *byte _p0, err = BytePtrFromString(fsType) if err != nil { return } var _p1 *byte _p1, err = BytePtrFromString(dir) if err != nil { return } _, _, e1 := syscall_syscall6(libc_mount_trampoline_addr, uintptr(unsafe.Pointer(_p0)), uintptr(unsafe.Pointer(_p1)), uintptr(flags), uintptr(data), 0, 0) if e1 != 0 { err = errnoErr(e1) } return } var libc_mount_trampoline_addr uintptr //go:cgo_import_dynamic libc_mount mount "libc.so" // THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT func Nanosleep(time *Timespec, leftover *Timespec) (err error) { _, _, e1 := syscall_syscall(libc_nanosleep_trampoline_addr, uintptr(unsafe.Pointer(time)), uintptr(unsafe.Pointer(leftover)), 0) if e1 != 0 { err = errnoErr(e1) } return } var libc_nanosleep_trampoline_addr uintptr //go:cgo_import_dynamic libc_nanosleep nanosleep "libc.so" // 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_syscall(libc_open_trampoline_addr, uintptr(unsafe.Pointer(_p0)), uintptr(mode), uintptr(perm)) fd = int(r0) if e1 != 0 { err = errnoErr(e1) } return } var libc_open_trampoline_addr uintptr //go:cgo_import_dynamic libc_open open "libc.so" // THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT func Openat(dirfd int, path string, mode int, perm uint32) (fd int, err error) { var _p0 *byte _p0, err = BytePtrFromString(path) if err != nil { return } r0, _, e1 := syscall_syscall6(libc_openat_trampoline_addr, uintptr(dirfd), uintptr(unsafe.Pointer(_p0)), uintptr(mode), uintptr(perm), 0, 0) fd = int(r0) if e1 != 0 { err = errnoErr(e1) } return } var libc_openat_trampoline_addr uintptr //go:cgo_import_dynamic libc_openat openat "libc.so" // 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_syscall(libc_pathconf_trampoline_addr, uintptr(unsafe.Pointer(_p0)), uintptr(name), 0) val = int(r0) if e1 != 0 { err = errnoErr(e1) } return } var libc_pathconf_trampoline_addr uintptr //go:cgo_import_dynamic libc_pathconf pathconf "libc.so" // 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 := syscall_syscall6(libc_pread_trampoline_addr, uintptr(fd), uintptr(_p0), uintptr(len(p)), 0, uintptr(offset), uintptr(offset>>32)) n = int(r0) if e1 != 0 { err = errnoErr(e1) } return } var libc_pread_trampoline_addr uintptr //go:cgo_import_dynamic libc_pread pread "libc.so" // 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 := syscall_syscall6(libc_pwrite_trampoline_addr, uintptr(fd), uintptr(_p0), uintptr(len(p)), 0, uintptr(offset), uintptr(offset>>32)) n = int(r0) if e1 != 0 { err = errnoErr(e1) } return } var libc_pwrite_trampoline_addr uintptr //go:cgo_import_dynamic libc_pwrite pwrite "libc.so" // 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_syscall(libc_read_trampoline_addr, uintptr(fd), uintptr(_p0), uintptr(len(p))) n = int(r0) if e1 != 0 { err = errnoErr(e1) } return } var libc_read_trampoline_addr uintptr //go:cgo_import_dynamic libc_read read "libc.so" // 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_syscall(libc_readlink_trampoline_addr, uintptr(unsafe.Pointer(_p0)), uintptr(_p1), uintptr(len(buf))) n = int(r0) if e1 != 0 { err = errnoErr(e1) } return } var libc_readlink_trampoline_addr uintptr //go:cgo_import_dynamic libc_readlink readlink "libc.so" // 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 := syscall_syscall6(libc_readlinkat_trampoline_addr, uintptr(dirfd), uintptr(unsafe.Pointer(_p0)), uintptr(_p1), uintptr(len(buf)), 0, 0) n = int(r0) if e1 != 0 { err = errnoErr(e1) } return } var libc_readlinkat_trampoline_addr uintptr //go:cgo_import_dynamic libc_readlinkat readlinkat "libc.so" // 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_syscall(libc_rename_trampoline_addr, uintptr(unsafe.Pointer(_p0)), uintptr(unsafe.Pointer(_p1)), 0) if e1 != 0 { err = errnoErr(e1) } return } var libc_rename_trampoline_addr uintptr //go:cgo_import_dynamic libc_rename rename "libc.so" // THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT func Renameat(fromfd int, from string, tofd int, 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_syscall6(libc_renameat_trampoline_addr, uintptr(fromfd), uintptr(unsafe.Pointer(_p0)), uintptr(tofd), uintptr(unsafe.Pointer(_p1)), 0, 0) if e1 != 0 { err = errnoErr(e1) } return } var libc_renameat_trampoline_addr uintptr //go:cgo_import_dynamic libc_renameat renameat "libc.so" // 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_syscall(libc_revoke_trampoline_addr, uintptr(unsafe.Pointer(_p0)), 0, 0) if e1 != 0 { err = errnoErr(e1) } return } var libc_revoke_trampoline_addr uintptr //go:cgo_import_dynamic libc_revoke revoke "libc.so" // 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_syscall(libc_rmdir_trampoline_addr, uintptr(unsafe.Pointer(_p0)), 0, 0) if e1 != 0 { err = errnoErr(e1) } return } var libc_rmdir_trampoline_addr uintptr //go:cgo_import_dynamic libc_rmdir rmdir "libc.so" // 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 := syscall_syscall6(libc_lseek_trampoline_addr, 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 } var libc_lseek_trampoline_addr uintptr //go:cgo_import_dynamic libc_lseek lseek "libc.so" // 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 := syscall_syscall6(libc_select_trampoline_addr, 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 } var libc_select_trampoline_addr uintptr //go:cgo_import_dynamic libc_select select "libc.so" // THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT func Setegid(egid int) (err error) { _, _, e1 := syscall_rawSyscall(libc_setegid_trampoline_addr, uintptr(egid), 0, 0) if e1 != 0 { err = errnoErr(e1) } return } var libc_setegid_trampoline_addr uintptr //go:cgo_import_dynamic libc_setegid setegid "libc.so" // THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT func Seteuid(euid int) (err error) { _, _, e1 := syscall_rawSyscall(libc_seteuid_trampoline_addr, uintptr(euid), 0, 0) if e1 != 0 { err = errnoErr(e1) } return } var libc_seteuid_trampoline_addr uintptr //go:cgo_import_dynamic libc_seteuid seteuid "libc.so" // THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT func Setgid(gid int) (err error) { _, _, e1 := syscall_rawSyscall(libc_setgid_trampoline_addr, uintptr(gid), 0, 0) if e1 != 0 { err = errnoErr(e1) } return } var libc_setgid_trampoline_addr uintptr //go:cgo_import_dynamic libc_setgid setgid "libc.so" // 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_syscall(libc_setlogin_trampoline_addr, uintptr(unsafe.Pointer(_p0)), 0, 0) if e1 != 0 { err = errnoErr(e1) } return } var libc_setlogin_trampoline_addr uintptr //go:cgo_import_dynamic libc_setlogin setlogin "libc.so" // THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT func Setpgid(pid int, pgid int) (err error) { _, _, e1 := syscall_rawSyscall(libc_setpgid_trampoline_addr, uintptr(pid), uintptr(pgid), 0) if e1 != 0 { err = errnoErr(e1) } return } var libc_setpgid_trampoline_addr uintptr //go:cgo_import_dynamic libc_setpgid setpgid "libc.so" // 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_syscall(libc_setpriority_trampoline_addr, uintptr(which), uintptr(who), uintptr(prio)) if e1 != 0 { err = errnoErr(e1) } return } var libc_setpriority_trampoline_addr uintptr //go:cgo_import_dynamic libc_setpriority setpriority "libc.so" // THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT func Setregid(rgid int, egid int) (err error) { _, _, e1 := syscall_rawSyscall(libc_setregid_trampoline_addr, uintptr(rgid), uintptr(egid), 0) if e1 != 0 { err = errnoErr(e1) } return } var libc_setregid_trampoline_addr uintptr //go:cgo_import_dynamic libc_setregid setregid "libc.so" // THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT func Setreuid(ruid int, euid int) (err error) { _, _, e1 := syscall_rawSyscall(libc_setreuid_trampoline_addr, uintptr(ruid), uintptr(euid), 0) if e1 != 0 { err = errnoErr(e1) } return } var libc_setreuid_trampoline_addr uintptr //go:cgo_import_dynamic libc_setreuid setreuid "libc.so" // THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT func Setresgid(rgid int, egid int, sgid int) (err error) { _, _, e1 := syscall_rawSyscall(libc_setresgid_trampoline_addr, uintptr(rgid), uintptr(egid), uintptr(sgid)) if e1 != 0 { err = errnoErr(e1) } return } var libc_setresgid_trampoline_addr uintptr //go:cgo_import_dynamic libc_setresgid setresgid "libc.so" // THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT func Setresuid(ruid int, euid int, suid int) (err error) { _, _, e1 := syscall_rawSyscall(libc_setresuid_trampoline_addr, uintptr(ruid), uintptr(euid), uintptr(suid)) if e1 != 0 { err = errnoErr(e1) } return } var libc_setresuid_trampoline_addr uintptr //go:cgo_import_dynamic libc_setresuid setresuid "libc.so" // THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT func Setrtable(rtable int) (err error) { _, _, e1 := syscall_rawSyscall(libc_setrtable_trampoline_addr, uintptr(rtable), 0, 0) if e1 != 0 { err = errnoErr(e1) } return } var libc_setrtable_trampoline_addr uintptr //go:cgo_import_dynamic libc_setrtable setrtable "libc.so" // THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT func Setsid() (pid int, err error) { r0, _, e1 := syscall_rawSyscall(libc_setsid_trampoline_addr, 0, 0, 0) pid = int(r0) if e1 != 0 { err = errnoErr(e1) } return } var libc_setsid_trampoline_addr uintptr //go:cgo_import_dynamic libc_setsid setsid "libc.so" // THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT func Settimeofday(tp *Timeval) (err error) { _, _, e1 := syscall_rawSyscall(libc_settimeofday_trampoline_addr, uintptr(unsafe.Pointer(tp)), 0, 0) if e1 != 0 { err = errnoErr(e1) } return } var libc_settimeofday_trampoline_addr uintptr //go:cgo_import_dynamic libc_settimeofday settimeofday "libc.so" // THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT func Setuid(uid int) (err error) { _, _, e1 := syscall_rawSyscall(libc_setuid_trampoline_addr, uintptr(uid), 0, 0) if e1 != 0 { err = errnoErr(e1) } return } var libc_setuid_trampoline_addr uintptr //go:cgo_import_dynamic libc_setuid setuid "libc.so" // 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_syscall(libc_stat_trampoline_addr, uintptr(unsafe.Pointer(_p0)), uintptr(unsafe.Pointer(stat)), 0) if e1 != 0 { err = errnoErr(e1) } return } var libc_stat_trampoline_addr uintptr //go:cgo_import_dynamic libc_stat stat "libc.so" // 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_syscall(libc_statfs_trampoline_addr, uintptr(unsafe.Pointer(_p0)), uintptr(unsafe.Pointer(stat)), 0) if e1 != 0 { err = errnoErr(e1) } return } var libc_statfs_trampoline_addr uintptr //go:cgo_import_dynamic libc_statfs statfs "libc.so" // 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_syscall(libc_symlink_trampoline_addr, uintptr(unsafe.Pointer(_p0)), uintptr(unsafe.Pointer(_p1)), 0) if e1 != 0 { err = errnoErr(e1) } return } var libc_symlink_trampoline_addr uintptr //go:cgo_import_dynamic libc_symlink symlink "libc.so" // 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_syscall(libc_symlinkat_trampoline_addr, uintptr(unsafe.Pointer(_p0)), uintptr(newdirfd), uintptr(unsafe.Pointer(_p1))) if e1 != 0 { err = errnoErr(e1) } return } var libc_symlinkat_trampoline_addr uintptr //go:cgo_import_dynamic libc_symlinkat symlinkat "libc.so" // THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT func Sync() (err error) { _, _, e1 := syscall_syscall(libc_sync_trampoline_addr, 0, 0, 0) if e1 != 0 { err = errnoErr(e1) } return } var libc_sync_trampoline_addr uintptr //go:cgo_import_dynamic libc_sync sync "libc.so" // 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_syscall6(libc_truncate_trampoline_addr, uintptr(unsafe.Pointer(_p0)), 0, uintptr(length), uintptr(length>>32), 0, 0) if e1 != 0 { err = errnoErr(e1) } return } var libc_truncate_trampoline_addr uintptr //go:cgo_import_dynamic libc_truncate truncate "libc.so" // THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT func Umask(newmask int) (oldmask int) { r0, _, _ := syscall_syscall(libc_umask_trampoline_addr, uintptr(newmask), 0, 0) oldmask = int(r0) return } var libc_umask_trampoline_addr uintptr //go:cgo_import_dynamic libc_umask umask "libc.so" // 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_syscall(libc_unlink_trampoline_addr, uintptr(unsafe.Pointer(_p0)), 0, 0) if e1 != 0 { err = errnoErr(e1) } return } var libc_unlink_trampoline_addr uintptr //go:cgo_import_dynamic libc_unlink unlink "libc.so" // 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_syscall(libc_unlinkat_trampoline_addr, uintptr(dirfd), uintptr(unsafe.Pointer(_p0)), uintptr(flags)) if e1 != 0 { err = errnoErr(e1) } return } var libc_unlinkat_trampoline_addr uintptr //go:cgo_import_dynamic libc_unlinkat unlinkat "libc.so" // 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_syscall(libc_unmount_trampoline_addr, uintptr(unsafe.Pointer(_p0)), uintptr(flags), 0) if e1 != 0 { err = errnoErr(e1) } return } var libc_unmount_trampoline_addr uintptr //go:cgo_import_dynamic libc_unmount unmount "libc.so" // 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_syscall(libc_write_trampoline_addr, uintptr(fd), uintptr(_p0), uintptr(len(p))) n = int(r0) if e1 != 0 { err = errnoErr(e1) } return } var libc_write_trampoline_addr uintptr //go:cgo_import_dynamic libc_write write "libc.so" // 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 := syscall_syscall9(libc_mmap_trampoline_addr, 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 } var libc_mmap_trampoline_addr uintptr //go:cgo_import_dynamic libc_mmap mmap "libc.so" // THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT func munmap(addr uintptr, length uintptr) (err error) { _, _, e1 := syscall_syscall(libc_munmap_trampoline_addr, uintptr(addr), uintptr(length), 0) if e1 != 0 { err = errnoErr(e1) } return } var libc_munmap_trampoline_addr uintptr //go:cgo_import_dynamic libc_munmap munmap "libc.so" // THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT func getfsstat(stat *Statfs_t, bufsize uintptr, flags int) (n int, err error) { r0, _, e1 := syscall_syscall(libc_getfsstat_trampoline_addr, uintptr(unsafe.Pointer(stat)), uintptr(bufsize), uintptr(flags)) n = int(r0) if e1 != 0 { err = errnoErr(e1) } return } var libc_getfsstat_trampoline_addr uintptr //go:cgo_import_dynamic libc_getfsstat getfsstat "libc.so" // 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 := syscall_syscall6(libc_utimensat_trampoline_addr, uintptr(dirfd), uintptr(unsafe.Pointer(_p0)), uintptr(unsafe.Pointer(times)), uintptr(flags), 0, 0) if e1 != 0 { err = errnoErr(e1) } return } var libc_utimensat_trampoline_addr uintptr //go:cgo_import_dynamic libc_utimensat utimensat "libc.so" // THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT func pledge(promises *byte, execpromises *byte) (err error) { _, _, e1 := syscall_syscall(libc_pledge_trampoline_addr, uintptr(unsafe.Pointer(promises)), uintptr(unsafe.Pointer(execpromises)), 0) if e1 != 0 { err = errnoErr(e1) } return } var libc_pledge_trampoline_addr uintptr //go:cgo_import_dynamic libc_pledge pledge "libc.so" // THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT func unveil(path *byte, flags *byte) (err error) { _, _, e1 := syscall_syscall(libc_unveil_trampoline_addr, uintptr(unsafe.Pointer(path)), uintptr(unsafe.Pointer(flags)), 0) if e1 != 0 { err = errnoErr(e1) } return } var libc_unveil_trampoline_addr uintptr //go:cgo_import_dynamic libc_unveil unveil "libc.so" dependencies/pkg/mod/golang.org/x/sys@v0.26.0/unix/dev_aix_ppc64.go0000644000000000000000000000153215107355264023574 0ustar rootroot// Copyright 2018 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:build aix && ppc64 // Functions to access/create device major and minor numbers matching the // encoding used AIX. package unix // Major returns the major component of a Linux device number. func Major(dev uint64) uint32 { return uint32((dev & 0x3fffffff00000000) >> 32) } // Minor returns the minor component of a Linux device number. func Minor(dev uint64) uint32 { return uint32((dev & 0x00000000ffffffff) >> 0) } // Mkdev returns a Linux device number generated from the given major and minor // components. func Mkdev(major, minor uint32) uint64 { var DEVNO64 uint64 DEVNO64 = 0x8000000000000000 return ((uint64(major) << 32) | (uint64(minor) & 0x00000000FFFFFFFF) | DEVNO64) } dependencies/pkg/mod/golang.org/x/sys@v0.26.0/unix/affinity_linux.go0000644000000000000000000000360715107355264024176 0ustar rootroot// Copyright 2018 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. // CPU affinity functions package unix import ( "math/bits" "unsafe" ) const cpuSetSize = _CPU_SETSIZE / _NCPUBITS // CPUSet represents a CPU affinity mask. type CPUSet [cpuSetSize]cpuMask func schedAffinity(trap uintptr, pid int, set *CPUSet) error { _, _, e := RawSyscall(trap, uintptr(pid), uintptr(unsafe.Sizeof(*set)), uintptr(unsafe.Pointer(set))) if e != 0 { return errnoErr(e) } return nil } // SchedGetaffinity gets the CPU affinity mask of the thread specified by pid. // If pid is 0 the calling thread is used. func SchedGetaffinity(pid int, set *CPUSet) error { return schedAffinity(SYS_SCHED_GETAFFINITY, pid, set) } // SchedSetaffinity sets the CPU affinity mask of the thread specified by pid. // If pid is 0 the calling thread is used. func SchedSetaffinity(pid int, set *CPUSet) error { return schedAffinity(SYS_SCHED_SETAFFINITY, pid, set) } // Zero clears the set s, so that it contains no CPUs. func (s *CPUSet) Zero() { for i := range s { s[i] = 0 } } func cpuBitsIndex(cpu int) int { return cpu / _NCPUBITS } func cpuBitsMask(cpu int) cpuMask { return cpuMask(1 << (uint(cpu) % _NCPUBITS)) } // Set adds cpu to the set s. func (s *CPUSet) Set(cpu int) { i := cpuBitsIndex(cpu) if i < len(s) { s[i] |= cpuBitsMask(cpu) } } // Clear removes cpu from the set s. func (s *CPUSet) Clear(cpu int) { i := cpuBitsIndex(cpu) if i < len(s) { s[i] &^= cpuBitsMask(cpu) } } // IsSet reports whether cpu is in the set s. func (s *CPUSet) IsSet(cpu int) bool { i := cpuBitsIndex(cpu) if i < len(s) { return s[i]&cpuBitsMask(cpu) != 0 } return false } // Count returns the number of CPUs in the set s. func (s *CPUSet) Count() int { c := 0 for _, b := range s { c += bits.OnesCount64(uint64(b)) } return c } dependencies/pkg/mod/golang.org/x/sys@v0.26.0/unix/zsyscall_solaris_amd64.go0000644000000000000000000016736615107355264025556 0ustar rootroot// go run mksyscall_solaris.go -tags solaris,amd64 syscall_solaris.go syscall_solaris_amd64.go // Code generated by the command above; see README.md. DO NOT EDIT. //go:build solaris && amd64 package unix import ( "syscall" "unsafe" ) //go:cgo_import_dynamic libc_pipe pipe "libc.so" //go:cgo_import_dynamic libc_pipe2 pipe2 "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___makedev __makedev "libc.so" //go:cgo_import_dynamic libc___major __major "libc.so" //go:cgo_import_dynamic libc___minor __minor "libc.so" //go:cgo_import_dynamic libc_ioctl ioctl "libc.so" //go:cgo_import_dynamic libc_poll poll "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_clockgettime clockgettime "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_faccessat faccessat "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_flock flock "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_fstatat fstatat "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_getsid getsid "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_msync msync "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_select select "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_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_sysconf sysconf "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_sendfile sendfile "libsendfile.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_port_create port_create "libc.so" //go:cgo_import_dynamic libc_port_associate port_associate "libc.so" //go:cgo_import_dynamic libc_port_dissociate port_dissociate "libc.so" //go:cgo_import_dynamic libc_port_get port_get "libc.so" //go:cgo_import_dynamic libc_port_getn port_getn "libc.so" //go:cgo_import_dynamic libc_putmsg putmsg "libc.so" //go:cgo_import_dynamic libc_getmsg getmsg "libc.so" //go:linkname procpipe libc_pipe //go:linkname procpipe2 libc_pipe2 //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 proc__makedev libc___makedev //go:linkname proc__major libc___major //go:linkname proc__minor libc___minor //go:linkname procioctl libc_ioctl //go:linkname procpoll libc_poll //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 procClockGettime libc_clockgettime //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 procFaccessat libc_faccessat //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 procFlock libc_flock //go:linkname procFpathconf libc_fpathconf //go:linkname procFstat libc_fstat //go:linkname procFstatat libc_fstatat //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 procGetsid libc_getsid //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 procMsync libc_msync //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 procSelect libc_select //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 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 procSysconf libc_sysconf //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 procsendfile libc_sendfile //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 procport_create libc_port_create //go:linkname procport_associate libc_port_associate //go:linkname procport_dissociate libc_port_dissociate //go:linkname procport_get libc_port_get //go:linkname procport_getn libc_port_getn //go:linkname procputmsg libc_putmsg //go:linkname procgetmsg libc_getmsg var ( procpipe, procpipe2, procgetsockname, procGetcwd, procgetgroups, procsetgroups, procwait4, procgethostname, procutimes, procutimensat, procfcntl, procfutimesat, procaccept, proc__xnet_recvmsg, proc__xnet_sendmsg, procacct, proc__makedev, proc__major, proc__minor, procioctl, procpoll, procAccess, procAdjtime, procChdir, procChmod, procChown, procChroot, procClockGettime, procClose, procCreat, procDup, procDup2, procExit, procFaccessat, procFchdir, procFchmod, procFchmodat, procFchown, procFchownat, procFdatasync, procFlock, procFpathconf, procFstat, procFstatat, procFstatvfs, procGetdents, procGetgid, procGetpid, procGetpgid, procGetpgrp, procGeteuid, procGetegid, procGetppid, procGetpriority, procGetrlimit, procGetrusage, procGetsid, procGettimeofday, procGetuid, procKill, procLchown, procLink, proc__xnet_llisten, procLstat, procMadvise, procMkdir, procMkdirat, procMkfifo, procMkfifoat, procMknod, procMknodat, procMlock, procMlockall, procMprotect, procMsync, procMunlock, procMunlockall, procNanosleep, procOpen, procOpenat, procPathconf, procPause, procpread, procpwrite, procread, procReadlink, procRename, procRenameat, procRmdir, proclseek, procSelect, procSetegid, procSeteuid, procSetgid, procSethostname, procSetpgid, procSetpriority, procSetregid, procSetreuid, procSetsid, procSetuid, procshutdown, procStat, procStatvfs, procSymlink, procSync, procSysconf, procTimes, procTruncate, procFsync, procFtruncate, procUmask, procUname, procumount, procUnlink, procUnlinkat, procUstat, procUtime, proc__xnet_bind, proc__xnet_connect, procmmap, procmunmap, procsendfile, proc__xnet_sendto, proc__xnet_socket, proc__xnet_socketpair, procwrite, proc__xnet_getsockopt, procgetpeername, procsetsockopt, procrecvfrom, procport_create, procport_associate, procport_dissociate, procport_get, procport_getn, procputmsg, procgetmsg syscallFunc ) // THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT 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 = 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 := rawSysvicall6(uintptr(unsafe.Pointer(&procpipe2)), 2, uintptr(unsafe.Pointer(p)), uintptr(flags), 0, 0, 0, 0) 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 := sysvicall6(uintptr(unsafe.Pointer(&procgetsockname)), 3, uintptr(fd), uintptr(unsafe.Pointer(rsa)), uintptr(unsafe.Pointer(addrlen)), 0, 0, 0) 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 *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 = errnoErr(e1) } return } // 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 := rawSysvicall6(uintptr(unsafe.Pointer(&procgetgroups)), 2, uintptr(ngid), uintptr(unsafe.Pointer(gid)), 0, 0, 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 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 = errnoErr(e1) } return } // THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT 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 = errnoErr(e1) } return } // THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT 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 = 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 := sysvicall6(uintptr(unsafe.Pointer(&procutimes)), 2, uintptr(unsafe.Pointer(_p0)), uintptr(unsafe.Pointer(times)), 0, 0, 0, 0) if e1 != 0 { err = errnoErr(e1) } return } // THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT 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 = 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 := sysvicall6(uintptr(unsafe.Pointer(&procfcntl)), 3, uintptr(fd), uintptr(cmd), uintptr(arg), 0, 0, 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 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 = 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 := 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 = 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 := 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 = 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 := 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 = errnoErr(e1) } return } // THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT 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 = errnoErr(e1) } return } // THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT func __makedev(version int, major uint, minor uint) (val uint64) { r0, _, _ := sysvicall6(uintptr(unsafe.Pointer(&proc__makedev)), 3, uintptr(version), uintptr(major), uintptr(minor), 0, 0, 0) val = uint64(r0) return } // THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT func __major(version int, dev uint64) (val uint) { r0, _, _ := sysvicall6(uintptr(unsafe.Pointer(&proc__major)), 2, uintptr(version), uintptr(dev), 0, 0, 0, 0) val = uint(r0) return } // THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT func __minor(version int, dev uint64) (val uint) { r0, _, _ := sysvicall6(uintptr(unsafe.Pointer(&proc__minor)), 2, uintptr(version), uintptr(dev), 0, 0, 0, 0) val = uint(r0) return } // THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT func ioctlRet(fd int, req int, arg uintptr) (ret int, err error) { r0, _, e1 := sysvicall6(uintptr(unsafe.Pointer(&procioctl)), 3, uintptr(fd), uintptr(req), uintptr(arg), 0, 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 ioctlPtrRet(fd int, req int, arg unsafe.Pointer) (ret int, err error) { r0, _, e1 := sysvicall6(uintptr(unsafe.Pointer(&procioctl)), 3, uintptr(fd), uintptr(req), uintptr(arg), 0, 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 poll(fds *PollFd, nfds int, timeout int) (n int, err error) { r0, _, e1 := sysvicall6(uintptr(unsafe.Pointer(&procpoll)), 3, uintptr(unsafe.Pointer(fds)), uintptr(nfds), uintptr(timeout), 0, 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 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 = 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 := sysvicall6(uintptr(unsafe.Pointer(&procAdjtime)), 2, uintptr(unsafe.Pointer(delta)), uintptr(unsafe.Pointer(olddelta)), 0, 0, 0, 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 := sysvicall6(uintptr(unsafe.Pointer(&procChdir)), 1, uintptr(unsafe.Pointer(_p0)), 0, 0, 0, 0, 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 := sysvicall6(uintptr(unsafe.Pointer(&procChmod)), 2, uintptr(unsafe.Pointer(_p0)), uintptr(mode), 0, 0, 0, 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 := sysvicall6(uintptr(unsafe.Pointer(&procChown)), 3, uintptr(unsafe.Pointer(_p0)), uintptr(uid), uintptr(gid), 0, 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 := sysvicall6(uintptr(unsafe.Pointer(&procChroot)), 1, uintptr(unsafe.Pointer(_p0)), 0, 0, 0, 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 := sysvicall6(uintptr(unsafe.Pointer(&procClockGettime)), 2, uintptr(clockid), uintptr(unsafe.Pointer(time)), 0, 0, 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 := sysvicall6(uintptr(unsafe.Pointer(&procClose)), 1, uintptr(fd), 0, 0, 0, 0, 0) if e1 != 0 { err = errnoErr(e1) } return } // THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT 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 = 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 := sysvicall6(uintptr(unsafe.Pointer(&procDup)), 1, uintptr(fd), 0, 0, 0, 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(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 = errnoErr(e1) } return } // THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT func Exit(code int) { sysvicall6(uintptr(unsafe.Pointer(&procExit)), 1, uintptr(code), 0, 0, 0, 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 := sysvicall6(uintptr(unsafe.Pointer(&procFaccessat)), 4, 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 Fchdir(fd int) (err error) { _, _, e1 := sysvicall6(uintptr(unsafe.Pointer(&procFchdir)), 1, uintptr(fd), 0, 0, 0, 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 := sysvicall6(uintptr(unsafe.Pointer(&procFchmod)), 2, uintptr(fd), uintptr(mode), 0, 0, 0, 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 := sysvicall6(uintptr(unsafe.Pointer(&procFchmodat)), 4, 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 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 = 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 := sysvicall6(uintptr(unsafe.Pointer(&procFchownat)), 5, 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 Fdatasync(fd int) (err error) { _, _, e1 := sysvicall6(uintptr(unsafe.Pointer(&procFdatasync)), 1, uintptr(fd), 0, 0, 0, 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 := sysvicall6(uintptr(unsafe.Pointer(&procFlock)), 2, uintptr(fd), uintptr(how), 0, 0, 0, 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 := sysvicall6(uintptr(unsafe.Pointer(&procFpathconf)), 2, uintptr(fd), uintptr(name), 0, 0, 0, 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 := sysvicall6(uintptr(unsafe.Pointer(&procFstat)), 2, uintptr(fd), uintptr(unsafe.Pointer(stat)), 0, 0, 0, 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 := sysvicall6(uintptr(unsafe.Pointer(&procFstatat)), 4, 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 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 = errnoErr(e1) } return } // THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT 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 = errnoErr(e1) } return } // THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT func Getgid() (gid int) { r0, _, _ := rawSysvicall6(uintptr(unsafe.Pointer(&procGetgid)), 0, 0, 0, 0, 0, 0, 0) gid = int(r0) return } // THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT func Getpid() (pid int) { r0, _, _ := rawSysvicall6(uintptr(unsafe.Pointer(&procGetpid)), 0, 0, 0, 0, 0, 0, 0) pid = 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 := rawSysvicall6(uintptr(unsafe.Pointer(&procGetpgid)), 1, uintptr(pid), 0, 0, 0, 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() (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 = errnoErr(e1) } return } // THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT func Geteuid() (euid int) { r0, _, _ := sysvicall6(uintptr(unsafe.Pointer(&procGeteuid)), 0, 0, 0, 0, 0, 0, 0) euid = int(r0) return } // THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT func Getegid() (egid int) { r0, _, _ := sysvicall6(uintptr(unsafe.Pointer(&procGetegid)), 0, 0, 0, 0, 0, 0, 0) egid = int(r0) return } // THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT func Getppid() (ppid int) { r0, _, _ := sysvicall6(uintptr(unsafe.Pointer(&procGetppid)), 0, 0, 0, 0, 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) (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 = 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 := rawSysvicall6(uintptr(unsafe.Pointer(&procGetrlimit)), 2, uintptr(which), uintptr(unsafe.Pointer(lim)), 0, 0, 0, 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 := rawSysvicall6(uintptr(unsafe.Pointer(&procGetrusage)), 2, uintptr(who), uintptr(unsafe.Pointer(rusage)), 0, 0, 0, 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 := rawSysvicall6(uintptr(unsafe.Pointer(&procGetsid)), 1, uintptr(pid), 0, 0, 0, 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 := rawSysvicall6(uintptr(unsafe.Pointer(&procGettimeofday)), 1, uintptr(unsafe.Pointer(tv)), 0, 0, 0, 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, _, _ := rawSysvicall6(uintptr(unsafe.Pointer(&procGetuid)), 0, 0, 0, 0, 0, 0, 0) uid = int(r0) return } // THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT 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 = 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 := sysvicall6(uintptr(unsafe.Pointer(&procLchown)), 3, uintptr(unsafe.Pointer(_p0)), uintptr(uid), uintptr(gid), 0, 0, 0) 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 := sysvicall6(uintptr(unsafe.Pointer(&procLink)), 2, uintptr(unsafe.Pointer(_p0)), uintptr(unsafe.Pointer(_p1)), 0, 0, 0, 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 := sysvicall6(uintptr(unsafe.Pointer(&proc__xnet_llisten)), 2, uintptr(s), uintptr(backlog), 0, 0, 0, 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 := sysvicall6(uintptr(unsafe.Pointer(&procLstat)), 2, uintptr(unsafe.Pointer(_p0)), uintptr(unsafe.Pointer(stat)), 0, 0, 0, 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 *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 = 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 := sysvicall6(uintptr(unsafe.Pointer(&procMkdir)), 2, uintptr(unsafe.Pointer(_p0)), uintptr(mode), 0, 0, 0, 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 := sysvicall6(uintptr(unsafe.Pointer(&procMkdirat)), 3, uintptr(dirfd), uintptr(unsafe.Pointer(_p0)), uintptr(mode), 0, 0, 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 := sysvicall6(uintptr(unsafe.Pointer(&procMkfifo)), 2, uintptr(unsafe.Pointer(_p0)), uintptr(mode), 0, 0, 0, 0) if e1 != 0 { err = errnoErr(e1) } return } // THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT 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 = 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 := sysvicall6(uintptr(unsafe.Pointer(&procMknod)), 3, uintptr(unsafe.Pointer(_p0)), uintptr(mode), uintptr(dev), 0, 0, 0) 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 := sysvicall6(uintptr(unsafe.Pointer(&procMknodat)), 4, 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 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 = errnoErr(e1) } return } // THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT func Mlockall(flags int) (err error) { _, _, e1 := sysvicall6(uintptr(unsafe.Pointer(&procMlockall)), 1, uintptr(flags), 0, 0, 0, 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 *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 = errnoErr(e1) } return } // THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT func Msync(b []byte, flags int) (err error) { var _p0 *byte if len(b) > 0 { _p0 = &b[0] } _, _, e1 := sysvicall6(uintptr(unsafe.Pointer(&procMsync)), 3, uintptr(unsafe.Pointer(_p0)), uintptr(len(b)), uintptr(flags), 0, 0, 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 *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 = errnoErr(e1) } return } // THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT func Munlockall() (err error) { _, _, e1 := sysvicall6(uintptr(unsafe.Pointer(&procMunlockall)), 0, 0, 0, 0, 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 := sysvicall6(uintptr(unsafe.Pointer(&procNanosleep)), 2, uintptr(unsafe.Pointer(time)), uintptr(unsafe.Pointer(leftover)), 0, 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 := sysvicall6(uintptr(unsafe.Pointer(&procOpen)), 3, uintptr(unsafe.Pointer(_p0)), uintptr(mode), uintptr(perm), 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 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 = 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 := sysvicall6(uintptr(unsafe.Pointer(&procPathconf)), 2, uintptr(unsafe.Pointer(_p0)), uintptr(name), 0, 0, 0, 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 Pause() (err error) { _, _, e1 := sysvicall6(uintptr(unsafe.Pointer(&procPause)), 0, 0, 0, 0, 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 *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 = 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 *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 = 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 *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 = 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 *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 = 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 := sysvicall6(uintptr(unsafe.Pointer(&procRename)), 2, uintptr(unsafe.Pointer(_p0)), uintptr(unsafe.Pointer(_p1)), 0, 0, 0, 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 := sysvicall6(uintptr(unsafe.Pointer(&procRenameat)), 4, 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 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 = 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 := sysvicall6(uintptr(unsafe.Pointer(&proclseek)), 3, uintptr(fd), uintptr(offset), uintptr(whence), 0, 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(nfd int, r *FdSet, w *FdSet, e *FdSet, timeout *Timeval) (n int, err error) { r0, _, e1 := sysvicall6(uintptr(unsafe.Pointer(&procSelect)), 5, 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 Setegid(egid int) (err error) { _, _, e1 := rawSysvicall6(uintptr(unsafe.Pointer(&procSetegid)), 1, uintptr(egid), 0, 0, 0, 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 := rawSysvicall6(uintptr(unsafe.Pointer(&procSeteuid)), 1, uintptr(euid), 0, 0, 0, 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 := rawSysvicall6(uintptr(unsafe.Pointer(&procSetgid)), 1, uintptr(gid), 0, 0, 0, 0, 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 *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 = 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 := rawSysvicall6(uintptr(unsafe.Pointer(&procSetpgid)), 2, uintptr(pid), uintptr(pgid), 0, 0, 0, 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 := sysvicall6(uintptr(unsafe.Pointer(&procSetpriority)), 3, uintptr(which), uintptr(who), uintptr(prio), 0, 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 := rawSysvicall6(uintptr(unsafe.Pointer(&procSetregid)), 2, uintptr(rgid), uintptr(egid), 0, 0, 0, 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 := rawSysvicall6(uintptr(unsafe.Pointer(&procSetreuid)), 2, uintptr(ruid), uintptr(euid), 0, 0, 0, 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 := rawSysvicall6(uintptr(unsafe.Pointer(&procSetsid)), 0, 0, 0, 0, 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 Setuid(uid int) (err error) { _, _, e1 := rawSysvicall6(uintptr(unsafe.Pointer(&procSetuid)), 1, uintptr(uid), 0, 0, 0, 0, 0) 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 := sysvicall6(uintptr(unsafe.Pointer(&procshutdown)), 2, uintptr(s), uintptr(how), 0, 0, 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 := sysvicall6(uintptr(unsafe.Pointer(&procStat)), 2, uintptr(unsafe.Pointer(_p0)), uintptr(unsafe.Pointer(stat)), 0, 0, 0, 0) if e1 != 0 { err = errnoErr(e1) } return } // THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT 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 = 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 := sysvicall6(uintptr(unsafe.Pointer(&procSymlink)), 2, uintptr(unsafe.Pointer(_p0)), uintptr(unsafe.Pointer(_p1)), 0, 0, 0, 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 := sysvicall6(uintptr(unsafe.Pointer(&procSync)), 0, 0, 0, 0, 0, 0, 0) if e1 != 0 { err = errnoErr(e1) } return } // THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT func Sysconf(which int) (n int64, err error) { r0, _, e1 := sysvicall6(uintptr(unsafe.Pointer(&procSysconf)), 1, uintptr(which), 0, 0, 0, 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 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 = 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 := sysvicall6(uintptr(unsafe.Pointer(&procTruncate)), 2, uintptr(unsafe.Pointer(_p0)), uintptr(length), 0, 0, 0, 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 := sysvicall6(uintptr(unsafe.Pointer(&procFsync)), 1, uintptr(fd), 0, 0, 0, 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 := sysvicall6(uintptr(unsafe.Pointer(&procFtruncate)), 2, uintptr(fd), uintptr(length), 0, 0, 0, 0) 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, _, _ := sysvicall6(uintptr(unsafe.Pointer(&procUmask)), 1, uintptr(mask), 0, 0, 0, 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 := rawSysvicall6(uintptr(unsafe.Pointer(&procUname)), 1, uintptr(unsafe.Pointer(buf)), 0, 0, 0, 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 := sysvicall6(uintptr(unsafe.Pointer(&procumount)), 2, uintptr(unsafe.Pointer(_p0)), uintptr(flags), 0, 0, 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 := sysvicall6(uintptr(unsafe.Pointer(&procUnlink)), 1, uintptr(unsafe.Pointer(_p0)), 0, 0, 0, 0, 0) 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 := sysvicall6(uintptr(unsafe.Pointer(&procUnlinkat)), 3, uintptr(dirfd), uintptr(unsafe.Pointer(_p0)), uintptr(flags), 0, 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 := sysvicall6(uintptr(unsafe.Pointer(&procUstat)), 2, uintptr(dev), uintptr(unsafe.Pointer(ubuf)), 0, 0, 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 := sysvicall6(uintptr(unsafe.Pointer(&procUtime)), 2, uintptr(unsafe.Pointer(_p0)), uintptr(unsafe.Pointer(buf)), 0, 0, 0, 0) 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 := sysvicall6(uintptr(unsafe.Pointer(&proc__xnet_bind)), 3, uintptr(s), uintptr(addr), uintptr(addrlen), 0, 0, 0) 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 := sysvicall6(uintptr(unsafe.Pointer(&proc__xnet_connect)), 3, uintptr(s), uintptr(addr), uintptr(addrlen), 0, 0, 0) 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 := 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 = 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 := sysvicall6(uintptr(unsafe.Pointer(&procmunmap)), 2, uintptr(addr), uintptr(length), 0, 0, 0, 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 := sysvicall6(uintptr(unsafe.Pointer(&procsendfile)), 4, 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 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 = 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 := sysvicall6(uintptr(unsafe.Pointer(&proc__xnet_socket)), 3, uintptr(domain), uintptr(typ), uintptr(proto), 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 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 = 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 *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 = 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 := 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 = 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 := rawSysvicall6(uintptr(unsafe.Pointer(&procgetpeername)), 3, uintptr(fd), uintptr(unsafe.Pointer(rsa)), uintptr(unsafe.Pointer(addrlen)), 0, 0, 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 := sysvicall6(uintptr(unsafe.Pointer(&procsetsockopt)), 5, 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 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 = errnoErr(e1) } return } // THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT func port_create() (n int, err error) { r0, _, e1 := sysvicall6(uintptr(unsafe.Pointer(&procport_create)), 0, 0, 0, 0, 0, 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 port_associate(port int, source int, object uintptr, events int, user *byte) (n int, err error) { r0, _, e1 := sysvicall6(uintptr(unsafe.Pointer(&procport_associate)), 5, uintptr(port), uintptr(source), uintptr(object), uintptr(events), uintptr(unsafe.Pointer(user)), 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 port_dissociate(port int, source int, object uintptr) (n int, err error) { r0, _, e1 := sysvicall6(uintptr(unsafe.Pointer(&procport_dissociate)), 3, uintptr(port), uintptr(source), uintptr(object), 0, 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 port_get(port int, pe *portEvent, timeout *Timespec) (n int, err error) { r0, _, e1 := sysvicall6(uintptr(unsafe.Pointer(&procport_get)), 3, uintptr(port), uintptr(unsafe.Pointer(pe)), uintptr(unsafe.Pointer(timeout)), 0, 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 port_getn(port int, pe *portEvent, max uint32, nget *uint32, timeout *Timespec) (n int, err error) { r0, _, e1 := sysvicall6(uintptr(unsafe.Pointer(&procport_getn)), 5, uintptr(port), uintptr(unsafe.Pointer(pe)), uintptr(max), uintptr(unsafe.Pointer(nget)), 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 putmsg(fd int, clptr *strbuf, dataptr *strbuf, flags int) (err error) { _, _, e1 := sysvicall6(uintptr(unsafe.Pointer(&procputmsg)), 4, uintptr(fd), uintptr(unsafe.Pointer(clptr)), uintptr(unsafe.Pointer(dataptr)), 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 getmsg(fd int, clptr *strbuf, dataptr *strbuf, flags *int) (err error) { _, _, e1 := sysvicall6(uintptr(unsafe.Pointer(&procgetmsg)), 4, uintptr(fd), uintptr(unsafe.Pointer(clptr)), uintptr(unsafe.Pointer(dataptr)), uintptr(unsafe.Pointer(flags)), 0, 0) if e1 != 0 { err = errnoErr(e1) } return } dependencies/pkg/mod/golang.org/x/sys@v0.26.0/unix/syscall_unix_gc_ppc64x.go0000644000000000000000000000142215107355264025531 0ustar rootroot// Copyright 2018 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:build linux && (ppc64le || ppc64) && gc package unix import "syscall" func Syscall(trap, a1, a2, a3 uintptr) (r1, r2 uintptr, err syscall.Errno) { return syscall.Syscall(trap, a1, a2, a3) } func Syscall6(trap, a1, a2, a3, a4, a5, a6 uintptr) (r1, r2 uintptr, err syscall.Errno) { return syscall.Syscall6(trap, a1, a2, a3, a4, a5, a6) } func RawSyscall(trap, a1, a2, a3 uintptr) (r1, r2 uintptr, err syscall.Errno) { return syscall.RawSyscall(trap, a1, a2, a3) } func RawSyscall6(trap, a1, a2, a3, a4, a5, a6 uintptr) (r1, r2 uintptr, err syscall.Errno) { return syscall.RawSyscall6(trap, a1, a2, a3, a4, a5, a6) } dependencies/pkg/mod/golang.org/x/sys@v0.26.0/unix/mmap_zos_test.go0000644000000000000000000000342615107355264024031 0ustar rootroot// Copyright 2020 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:build zos && s390x // This test is based on mmap_unix_test, but tweaked for z/OS, which does not support memadvise // or anonymous mmapping. package unix_test import ( "fmt" "os" "path/filepath" "testing" "golang.org/x/sys/unix" ) func TestMmap(t *testing.T) { tempdir := t.TempDir() filename := filepath.Join(tempdir, "memmapped_file") destination, err := os.OpenFile(filename, os.O_WRONLY|os.O_CREATE, 0700) if err != nil { t.Fatal("os.Create:", err) return } fmt.Fprintf(destination, "%s\n", "0 <- Flipped between 0 and 1 when test runs successfully") fmt.Fprintf(destination, "%s\n", "//Do not change contents - mmap test relies on this") destination.Close() fd, err := unix.Open(filename, unix.O_RDWR, 0777) if err != nil { t.Fatalf("Open: %v", err) } b, err := unix.Mmap(fd, 0, 8, unix.PROT_READ, unix.MAP_SHARED) if err != nil { t.Fatalf("Mmap: %v", err) } if err := unix.Mprotect(b, unix.PROT_READ|unix.PROT_WRITE); err != nil { t.Fatalf("Mprotect: %v", err) } // Flip flag in test file via mapped memory flagWasZero := true if b[0] == '0' { b[0] = '1' } else if b[0] == '1' { b[0] = '0' flagWasZero = false } if err := unix.Msync(b, unix.MS_SYNC); err != nil { t.Fatalf("Msync: %v", err) } // Read file from FS to ensure flag flipped after msync buf, err := os.ReadFile(filename) if err != nil { t.Fatalf("Could not read mmapped file from disc for test: %v", err) } if flagWasZero && buf[0] != '1' || !flagWasZero && buf[0] != '0' { t.Error("Flag flip in MAP_SHARED mmapped file not visible") } if err := unix.Munmap(b); err != nil { t.Fatalf("Munmap: %v", err) } } dependencies/pkg/mod/golang.org/x/sys@v0.26.0/unix/zsyscall_openbsd_amd64.s0000644000000000000000000006561315107355264025361 0ustar rootroot// go run mkasm.go openbsd amd64 // Code generated by the command above; DO NOT EDIT. #include "textflag.h" TEXT libc_getgroups_trampoline<>(SB),NOSPLIT,$0-0 JMP libc_getgroups(SB) GLOBL ·libc_getgroups_trampoline_addr(SB), RODATA, $8 DATA ·libc_getgroups_trampoline_addr(SB)/8, $libc_getgroups_trampoline<>(SB) TEXT libc_setgroups_trampoline<>(SB),NOSPLIT,$0-0 JMP libc_setgroups(SB) GLOBL ·libc_setgroups_trampoline_addr(SB), RODATA, $8 DATA ·libc_setgroups_trampoline_addr(SB)/8, $libc_setgroups_trampoline<>(SB) TEXT libc_wait4_trampoline<>(SB),NOSPLIT,$0-0 JMP libc_wait4(SB) GLOBL ·libc_wait4_trampoline_addr(SB), RODATA, $8 DATA ·libc_wait4_trampoline_addr(SB)/8, $libc_wait4_trampoline<>(SB) TEXT libc_accept_trampoline<>(SB),NOSPLIT,$0-0 JMP libc_accept(SB) GLOBL ·libc_accept_trampoline_addr(SB), RODATA, $8 DATA ·libc_accept_trampoline_addr(SB)/8, $libc_accept_trampoline<>(SB) TEXT libc_bind_trampoline<>(SB),NOSPLIT,$0-0 JMP libc_bind(SB) GLOBL ·libc_bind_trampoline_addr(SB), RODATA, $8 DATA ·libc_bind_trampoline_addr(SB)/8, $libc_bind_trampoline<>(SB) TEXT libc_connect_trampoline<>(SB),NOSPLIT,$0-0 JMP libc_connect(SB) GLOBL ·libc_connect_trampoline_addr(SB), RODATA, $8 DATA ·libc_connect_trampoline_addr(SB)/8, $libc_connect_trampoline<>(SB) TEXT libc_socket_trampoline<>(SB),NOSPLIT,$0-0 JMP libc_socket(SB) GLOBL ·libc_socket_trampoline_addr(SB), RODATA, $8 DATA ·libc_socket_trampoline_addr(SB)/8, $libc_socket_trampoline<>(SB) TEXT libc_getsockopt_trampoline<>(SB),NOSPLIT,$0-0 JMP libc_getsockopt(SB) GLOBL ·libc_getsockopt_trampoline_addr(SB), RODATA, $8 DATA ·libc_getsockopt_trampoline_addr(SB)/8, $libc_getsockopt_trampoline<>(SB) TEXT libc_setsockopt_trampoline<>(SB),NOSPLIT,$0-0 JMP libc_setsockopt(SB) GLOBL ·libc_setsockopt_trampoline_addr(SB), RODATA, $8 DATA ·libc_setsockopt_trampoline_addr(SB)/8, $libc_setsockopt_trampoline<>(SB) TEXT libc_getpeername_trampoline<>(SB),NOSPLIT,$0-0 JMP libc_getpeername(SB) GLOBL ·libc_getpeername_trampoline_addr(SB), RODATA, $8 DATA ·libc_getpeername_trampoline_addr(SB)/8, $libc_getpeername_trampoline<>(SB) TEXT libc_getsockname_trampoline<>(SB),NOSPLIT,$0-0 JMP libc_getsockname(SB) GLOBL ·libc_getsockname_trampoline_addr(SB), RODATA, $8 DATA ·libc_getsockname_trampoline_addr(SB)/8, $libc_getsockname_trampoline<>(SB) TEXT libc_shutdown_trampoline<>(SB),NOSPLIT,$0-0 JMP libc_shutdown(SB) GLOBL ·libc_shutdown_trampoline_addr(SB), RODATA, $8 DATA ·libc_shutdown_trampoline_addr(SB)/8, $libc_shutdown_trampoline<>(SB) TEXT libc_socketpair_trampoline<>(SB),NOSPLIT,$0-0 JMP libc_socketpair(SB) GLOBL ·libc_socketpair_trampoline_addr(SB), RODATA, $8 DATA ·libc_socketpair_trampoline_addr(SB)/8, $libc_socketpair_trampoline<>(SB) TEXT libc_recvfrom_trampoline<>(SB),NOSPLIT,$0-0 JMP libc_recvfrom(SB) GLOBL ·libc_recvfrom_trampoline_addr(SB), RODATA, $8 DATA ·libc_recvfrom_trampoline_addr(SB)/8, $libc_recvfrom_trampoline<>(SB) TEXT libc_sendto_trampoline<>(SB),NOSPLIT,$0-0 JMP libc_sendto(SB) GLOBL ·libc_sendto_trampoline_addr(SB), RODATA, $8 DATA ·libc_sendto_trampoline_addr(SB)/8, $libc_sendto_trampoline<>(SB) TEXT libc_recvmsg_trampoline<>(SB),NOSPLIT,$0-0 JMP libc_recvmsg(SB) GLOBL ·libc_recvmsg_trampoline_addr(SB), RODATA, $8 DATA ·libc_recvmsg_trampoline_addr(SB)/8, $libc_recvmsg_trampoline<>(SB) TEXT libc_sendmsg_trampoline<>(SB),NOSPLIT,$0-0 JMP libc_sendmsg(SB) GLOBL ·libc_sendmsg_trampoline_addr(SB), RODATA, $8 DATA ·libc_sendmsg_trampoline_addr(SB)/8, $libc_sendmsg_trampoline<>(SB) TEXT libc_kevent_trampoline<>(SB),NOSPLIT,$0-0 JMP libc_kevent(SB) GLOBL ·libc_kevent_trampoline_addr(SB), RODATA, $8 DATA ·libc_kevent_trampoline_addr(SB)/8, $libc_kevent_trampoline<>(SB) TEXT libc_utimes_trampoline<>(SB),NOSPLIT,$0-0 JMP libc_utimes(SB) GLOBL ·libc_utimes_trampoline_addr(SB), RODATA, $8 DATA ·libc_utimes_trampoline_addr(SB)/8, $libc_utimes_trampoline<>(SB) TEXT libc_futimes_trampoline<>(SB),NOSPLIT,$0-0 JMP libc_futimes(SB) GLOBL ·libc_futimes_trampoline_addr(SB), RODATA, $8 DATA ·libc_futimes_trampoline_addr(SB)/8, $libc_futimes_trampoline<>(SB) TEXT libc_poll_trampoline<>(SB),NOSPLIT,$0-0 JMP libc_poll(SB) GLOBL ·libc_poll_trampoline_addr(SB), RODATA, $8 DATA ·libc_poll_trampoline_addr(SB)/8, $libc_poll_trampoline<>(SB) TEXT libc_madvise_trampoline<>(SB),NOSPLIT,$0-0 JMP libc_madvise(SB) GLOBL ·libc_madvise_trampoline_addr(SB), RODATA, $8 DATA ·libc_madvise_trampoline_addr(SB)/8, $libc_madvise_trampoline<>(SB) TEXT libc_mlock_trampoline<>(SB),NOSPLIT,$0-0 JMP libc_mlock(SB) GLOBL ·libc_mlock_trampoline_addr(SB), RODATA, $8 DATA ·libc_mlock_trampoline_addr(SB)/8, $libc_mlock_trampoline<>(SB) TEXT libc_mlockall_trampoline<>(SB),NOSPLIT,$0-0 JMP libc_mlockall(SB) GLOBL ·libc_mlockall_trampoline_addr(SB), RODATA, $8 DATA ·libc_mlockall_trampoline_addr(SB)/8, $libc_mlockall_trampoline<>(SB) TEXT libc_mprotect_trampoline<>(SB),NOSPLIT,$0-0 JMP libc_mprotect(SB) GLOBL ·libc_mprotect_trampoline_addr(SB), RODATA, $8 DATA ·libc_mprotect_trampoline_addr(SB)/8, $libc_mprotect_trampoline<>(SB) TEXT libc_msync_trampoline<>(SB),NOSPLIT,$0-0 JMP libc_msync(SB) GLOBL ·libc_msync_trampoline_addr(SB), RODATA, $8 DATA ·libc_msync_trampoline_addr(SB)/8, $libc_msync_trampoline<>(SB) TEXT libc_munlock_trampoline<>(SB),NOSPLIT,$0-0 JMP libc_munlock(SB) GLOBL ·libc_munlock_trampoline_addr(SB), RODATA, $8 DATA ·libc_munlock_trampoline_addr(SB)/8, $libc_munlock_trampoline<>(SB) TEXT libc_munlockall_trampoline<>(SB),NOSPLIT,$0-0 JMP libc_munlockall(SB) GLOBL ·libc_munlockall_trampoline_addr(SB), RODATA, $8 DATA ·libc_munlockall_trampoline_addr(SB)/8, $libc_munlockall_trampoline<>(SB) TEXT libc_pipe2_trampoline<>(SB),NOSPLIT,$0-0 JMP libc_pipe2(SB) GLOBL ·libc_pipe2_trampoline_addr(SB), RODATA, $8 DATA ·libc_pipe2_trampoline_addr(SB)/8, $libc_pipe2_trampoline<>(SB) TEXT libc_getdents_trampoline<>(SB),NOSPLIT,$0-0 JMP libc_getdents(SB) GLOBL ·libc_getdents_trampoline_addr(SB), RODATA, $8 DATA ·libc_getdents_trampoline_addr(SB)/8, $libc_getdents_trampoline<>(SB) TEXT libc_getcwd_trampoline<>(SB),NOSPLIT,$0-0 JMP libc_getcwd(SB) GLOBL ·libc_getcwd_trampoline_addr(SB), RODATA, $8 DATA ·libc_getcwd_trampoline_addr(SB)/8, $libc_getcwd_trampoline<>(SB) TEXT libc_getresuid_trampoline<>(SB),NOSPLIT,$0-0 JMP libc_getresuid(SB) GLOBL ·libc_getresuid_trampoline_addr(SB), RODATA, $8 DATA ·libc_getresuid_trampoline_addr(SB)/8, $libc_getresuid_trampoline<>(SB) TEXT libc_getresgid_trampoline<>(SB),NOSPLIT,$0-0 JMP libc_getresgid(SB) GLOBL ·libc_getresgid_trampoline_addr(SB), RODATA, $8 DATA ·libc_getresgid_trampoline_addr(SB)/8, $libc_getresgid_trampoline<>(SB) TEXT libc_ioctl_trampoline<>(SB),NOSPLIT,$0-0 JMP libc_ioctl(SB) GLOBL ·libc_ioctl_trampoline_addr(SB), RODATA, $8 DATA ·libc_ioctl_trampoline_addr(SB)/8, $libc_ioctl_trampoline<>(SB) TEXT libc_sysctl_trampoline<>(SB),NOSPLIT,$0-0 JMP libc_sysctl(SB) GLOBL ·libc_sysctl_trampoline_addr(SB), RODATA, $8 DATA ·libc_sysctl_trampoline_addr(SB)/8, $libc_sysctl_trampoline<>(SB) TEXT libc_fcntl_trampoline<>(SB),NOSPLIT,$0-0 JMP libc_fcntl(SB) GLOBL ·libc_fcntl_trampoline_addr(SB), RODATA, $8 DATA ·libc_fcntl_trampoline_addr(SB)/8, $libc_fcntl_trampoline<>(SB) TEXT libc_ppoll_trampoline<>(SB),NOSPLIT,$0-0 JMP libc_ppoll(SB) GLOBL ·libc_ppoll_trampoline_addr(SB), RODATA, $8 DATA ·libc_ppoll_trampoline_addr(SB)/8, $libc_ppoll_trampoline<>(SB) TEXT libc_access_trampoline<>(SB),NOSPLIT,$0-0 JMP libc_access(SB) GLOBL ·libc_access_trampoline_addr(SB), RODATA, $8 DATA ·libc_access_trampoline_addr(SB)/8, $libc_access_trampoline<>(SB) TEXT libc_adjtime_trampoline<>(SB),NOSPLIT,$0-0 JMP libc_adjtime(SB) GLOBL ·libc_adjtime_trampoline_addr(SB), RODATA, $8 DATA ·libc_adjtime_trampoline_addr(SB)/8, $libc_adjtime_trampoline<>(SB) TEXT libc_chdir_trampoline<>(SB),NOSPLIT,$0-0 JMP libc_chdir(SB) GLOBL ·libc_chdir_trampoline_addr(SB), RODATA, $8 DATA ·libc_chdir_trampoline_addr(SB)/8, $libc_chdir_trampoline<>(SB) TEXT libc_chflags_trampoline<>(SB),NOSPLIT,$0-0 JMP libc_chflags(SB) GLOBL ·libc_chflags_trampoline_addr(SB), RODATA, $8 DATA ·libc_chflags_trampoline_addr(SB)/8, $libc_chflags_trampoline<>(SB) TEXT libc_chmod_trampoline<>(SB),NOSPLIT,$0-0 JMP libc_chmod(SB) GLOBL ·libc_chmod_trampoline_addr(SB), RODATA, $8 DATA ·libc_chmod_trampoline_addr(SB)/8, $libc_chmod_trampoline<>(SB) TEXT libc_chown_trampoline<>(SB),NOSPLIT,$0-0 JMP libc_chown(SB) GLOBL ·libc_chown_trampoline_addr(SB), RODATA, $8 DATA ·libc_chown_trampoline_addr(SB)/8, $libc_chown_trampoline<>(SB) TEXT libc_chroot_trampoline<>(SB),NOSPLIT,$0-0 JMP libc_chroot(SB) GLOBL ·libc_chroot_trampoline_addr(SB), RODATA, $8 DATA ·libc_chroot_trampoline_addr(SB)/8, $libc_chroot_trampoline<>(SB) TEXT libc_clock_gettime_trampoline<>(SB),NOSPLIT,$0-0 JMP libc_clock_gettime(SB) GLOBL ·libc_clock_gettime_trampoline_addr(SB), RODATA, $8 DATA ·libc_clock_gettime_trampoline_addr(SB)/8, $libc_clock_gettime_trampoline<>(SB) TEXT libc_close_trampoline<>(SB),NOSPLIT,$0-0 JMP libc_close(SB) GLOBL ·libc_close_trampoline_addr(SB), RODATA, $8 DATA ·libc_close_trampoline_addr(SB)/8, $libc_close_trampoline<>(SB) TEXT libc_dup_trampoline<>(SB),NOSPLIT,$0-0 JMP libc_dup(SB) GLOBL ·libc_dup_trampoline_addr(SB), RODATA, $8 DATA ·libc_dup_trampoline_addr(SB)/8, $libc_dup_trampoline<>(SB) TEXT libc_dup2_trampoline<>(SB),NOSPLIT,$0-0 JMP libc_dup2(SB) GLOBL ·libc_dup2_trampoline_addr(SB), RODATA, $8 DATA ·libc_dup2_trampoline_addr(SB)/8, $libc_dup2_trampoline<>(SB) TEXT libc_dup3_trampoline<>(SB),NOSPLIT,$0-0 JMP libc_dup3(SB) GLOBL ·libc_dup3_trampoline_addr(SB), RODATA, $8 DATA ·libc_dup3_trampoline_addr(SB)/8, $libc_dup3_trampoline<>(SB) TEXT libc_exit_trampoline<>(SB),NOSPLIT,$0-0 JMP libc_exit(SB) GLOBL ·libc_exit_trampoline_addr(SB), RODATA, $8 DATA ·libc_exit_trampoline_addr(SB)/8, $libc_exit_trampoline<>(SB) TEXT libc_faccessat_trampoline<>(SB),NOSPLIT,$0-0 JMP libc_faccessat(SB) GLOBL ·libc_faccessat_trampoline_addr(SB), RODATA, $8 DATA ·libc_faccessat_trampoline_addr(SB)/8, $libc_faccessat_trampoline<>(SB) TEXT libc_fchdir_trampoline<>(SB),NOSPLIT,$0-0 JMP libc_fchdir(SB) GLOBL ·libc_fchdir_trampoline_addr(SB), RODATA, $8 DATA ·libc_fchdir_trampoline_addr(SB)/8, $libc_fchdir_trampoline<>(SB) TEXT libc_fchflags_trampoline<>(SB),NOSPLIT,$0-0 JMP libc_fchflags(SB) GLOBL ·libc_fchflags_trampoline_addr(SB), RODATA, $8 DATA ·libc_fchflags_trampoline_addr(SB)/8, $libc_fchflags_trampoline<>(SB) TEXT libc_fchmod_trampoline<>(SB),NOSPLIT,$0-0 JMP libc_fchmod(SB) GLOBL ·libc_fchmod_trampoline_addr(SB), RODATA, $8 DATA ·libc_fchmod_trampoline_addr(SB)/8, $libc_fchmod_trampoline<>(SB) TEXT libc_fchmodat_trampoline<>(SB),NOSPLIT,$0-0 JMP libc_fchmodat(SB) GLOBL ·libc_fchmodat_trampoline_addr(SB), RODATA, $8 DATA ·libc_fchmodat_trampoline_addr(SB)/8, $libc_fchmodat_trampoline<>(SB) TEXT libc_fchown_trampoline<>(SB),NOSPLIT,$0-0 JMP libc_fchown(SB) GLOBL ·libc_fchown_trampoline_addr(SB), RODATA, $8 DATA ·libc_fchown_trampoline_addr(SB)/8, $libc_fchown_trampoline<>(SB) TEXT libc_fchownat_trampoline<>(SB),NOSPLIT,$0-0 JMP libc_fchownat(SB) GLOBL ·libc_fchownat_trampoline_addr(SB), RODATA, $8 DATA ·libc_fchownat_trampoline_addr(SB)/8, $libc_fchownat_trampoline<>(SB) TEXT libc_flock_trampoline<>(SB),NOSPLIT,$0-0 JMP libc_flock(SB) GLOBL ·libc_flock_trampoline_addr(SB), RODATA, $8 DATA ·libc_flock_trampoline_addr(SB)/8, $libc_flock_trampoline<>(SB) TEXT libc_fpathconf_trampoline<>(SB),NOSPLIT,$0-0 JMP libc_fpathconf(SB) GLOBL ·libc_fpathconf_trampoline_addr(SB), RODATA, $8 DATA ·libc_fpathconf_trampoline_addr(SB)/8, $libc_fpathconf_trampoline<>(SB) TEXT libc_fstat_trampoline<>(SB),NOSPLIT,$0-0 JMP libc_fstat(SB) GLOBL ·libc_fstat_trampoline_addr(SB), RODATA, $8 DATA ·libc_fstat_trampoline_addr(SB)/8, $libc_fstat_trampoline<>(SB) TEXT libc_fstatat_trampoline<>(SB),NOSPLIT,$0-0 JMP libc_fstatat(SB) GLOBL ·libc_fstatat_trampoline_addr(SB), RODATA, $8 DATA ·libc_fstatat_trampoline_addr(SB)/8, $libc_fstatat_trampoline<>(SB) TEXT libc_fstatfs_trampoline<>(SB),NOSPLIT,$0-0 JMP libc_fstatfs(SB) GLOBL ·libc_fstatfs_trampoline_addr(SB), RODATA, $8 DATA ·libc_fstatfs_trampoline_addr(SB)/8, $libc_fstatfs_trampoline<>(SB) TEXT libc_fsync_trampoline<>(SB),NOSPLIT,$0-0 JMP libc_fsync(SB) GLOBL ·libc_fsync_trampoline_addr(SB), RODATA, $8 DATA ·libc_fsync_trampoline_addr(SB)/8, $libc_fsync_trampoline<>(SB) TEXT libc_ftruncate_trampoline<>(SB),NOSPLIT,$0-0 JMP libc_ftruncate(SB) GLOBL ·libc_ftruncate_trampoline_addr(SB), RODATA, $8 DATA ·libc_ftruncate_trampoline_addr(SB)/8, $libc_ftruncate_trampoline<>(SB) TEXT libc_getegid_trampoline<>(SB),NOSPLIT,$0-0 JMP libc_getegid(SB) GLOBL ·libc_getegid_trampoline_addr(SB), RODATA, $8 DATA ·libc_getegid_trampoline_addr(SB)/8, $libc_getegid_trampoline<>(SB) TEXT libc_geteuid_trampoline<>(SB),NOSPLIT,$0-0 JMP libc_geteuid(SB) GLOBL ·libc_geteuid_trampoline_addr(SB), RODATA, $8 DATA ·libc_geteuid_trampoline_addr(SB)/8, $libc_geteuid_trampoline<>(SB) TEXT libc_getgid_trampoline<>(SB),NOSPLIT,$0-0 JMP libc_getgid(SB) GLOBL ·libc_getgid_trampoline_addr(SB), RODATA, $8 DATA ·libc_getgid_trampoline_addr(SB)/8, $libc_getgid_trampoline<>(SB) TEXT libc_getpgid_trampoline<>(SB),NOSPLIT,$0-0 JMP libc_getpgid(SB) GLOBL ·libc_getpgid_trampoline_addr(SB), RODATA, $8 DATA ·libc_getpgid_trampoline_addr(SB)/8, $libc_getpgid_trampoline<>(SB) TEXT libc_getpgrp_trampoline<>(SB),NOSPLIT,$0-0 JMP libc_getpgrp(SB) GLOBL ·libc_getpgrp_trampoline_addr(SB), RODATA, $8 DATA ·libc_getpgrp_trampoline_addr(SB)/8, $libc_getpgrp_trampoline<>(SB) TEXT libc_getpid_trampoline<>(SB),NOSPLIT,$0-0 JMP libc_getpid(SB) GLOBL ·libc_getpid_trampoline_addr(SB), RODATA, $8 DATA ·libc_getpid_trampoline_addr(SB)/8, $libc_getpid_trampoline<>(SB) TEXT libc_getppid_trampoline<>(SB),NOSPLIT,$0-0 JMP libc_getppid(SB) GLOBL ·libc_getppid_trampoline_addr(SB), RODATA, $8 DATA ·libc_getppid_trampoline_addr(SB)/8, $libc_getppid_trampoline<>(SB) TEXT libc_getpriority_trampoline<>(SB),NOSPLIT,$0-0 JMP libc_getpriority(SB) GLOBL ·libc_getpriority_trampoline_addr(SB), RODATA, $8 DATA ·libc_getpriority_trampoline_addr(SB)/8, $libc_getpriority_trampoline<>(SB) TEXT libc_getrlimit_trampoline<>(SB),NOSPLIT,$0-0 JMP libc_getrlimit(SB) GLOBL ·libc_getrlimit_trampoline_addr(SB), RODATA, $8 DATA ·libc_getrlimit_trampoline_addr(SB)/8, $libc_getrlimit_trampoline<>(SB) TEXT libc_getrtable_trampoline<>(SB),NOSPLIT,$0-0 JMP libc_getrtable(SB) GLOBL ·libc_getrtable_trampoline_addr(SB), RODATA, $8 DATA ·libc_getrtable_trampoline_addr(SB)/8, $libc_getrtable_trampoline<>(SB) TEXT libc_getrusage_trampoline<>(SB),NOSPLIT,$0-0 JMP libc_getrusage(SB) GLOBL ·libc_getrusage_trampoline_addr(SB), RODATA, $8 DATA ·libc_getrusage_trampoline_addr(SB)/8, $libc_getrusage_trampoline<>(SB) TEXT libc_getsid_trampoline<>(SB),NOSPLIT,$0-0 JMP libc_getsid(SB) GLOBL ·libc_getsid_trampoline_addr(SB), RODATA, $8 DATA ·libc_getsid_trampoline_addr(SB)/8, $libc_getsid_trampoline<>(SB) TEXT libc_gettimeofday_trampoline<>(SB),NOSPLIT,$0-0 JMP libc_gettimeofday(SB) GLOBL ·libc_gettimeofday_trampoline_addr(SB), RODATA, $8 DATA ·libc_gettimeofday_trampoline_addr(SB)/8, $libc_gettimeofday_trampoline<>(SB) TEXT libc_getuid_trampoline<>(SB),NOSPLIT,$0-0 JMP libc_getuid(SB) GLOBL ·libc_getuid_trampoline_addr(SB), RODATA, $8 DATA ·libc_getuid_trampoline_addr(SB)/8, $libc_getuid_trampoline<>(SB) TEXT libc_issetugid_trampoline<>(SB),NOSPLIT,$0-0 JMP libc_issetugid(SB) GLOBL ·libc_issetugid_trampoline_addr(SB), RODATA, $8 DATA ·libc_issetugid_trampoline_addr(SB)/8, $libc_issetugid_trampoline<>(SB) TEXT libc_kill_trampoline<>(SB),NOSPLIT,$0-0 JMP libc_kill(SB) GLOBL ·libc_kill_trampoline_addr(SB), RODATA, $8 DATA ·libc_kill_trampoline_addr(SB)/8, $libc_kill_trampoline<>(SB) TEXT libc_kqueue_trampoline<>(SB),NOSPLIT,$0-0 JMP libc_kqueue(SB) GLOBL ·libc_kqueue_trampoline_addr(SB), RODATA, $8 DATA ·libc_kqueue_trampoline_addr(SB)/8, $libc_kqueue_trampoline<>(SB) TEXT libc_lchown_trampoline<>(SB),NOSPLIT,$0-0 JMP libc_lchown(SB) GLOBL ·libc_lchown_trampoline_addr(SB), RODATA, $8 DATA ·libc_lchown_trampoline_addr(SB)/8, $libc_lchown_trampoline<>(SB) TEXT libc_link_trampoline<>(SB),NOSPLIT,$0-0 JMP libc_link(SB) GLOBL ·libc_link_trampoline_addr(SB), RODATA, $8 DATA ·libc_link_trampoline_addr(SB)/8, $libc_link_trampoline<>(SB) TEXT libc_linkat_trampoline<>(SB),NOSPLIT,$0-0 JMP libc_linkat(SB) GLOBL ·libc_linkat_trampoline_addr(SB), RODATA, $8 DATA ·libc_linkat_trampoline_addr(SB)/8, $libc_linkat_trampoline<>(SB) TEXT libc_listen_trampoline<>(SB),NOSPLIT,$0-0 JMP libc_listen(SB) GLOBL ·libc_listen_trampoline_addr(SB), RODATA, $8 DATA ·libc_listen_trampoline_addr(SB)/8, $libc_listen_trampoline<>(SB) TEXT libc_lstat_trampoline<>(SB),NOSPLIT,$0-0 JMP libc_lstat(SB) GLOBL ·libc_lstat_trampoline_addr(SB), RODATA, $8 DATA ·libc_lstat_trampoline_addr(SB)/8, $libc_lstat_trampoline<>(SB) TEXT libc_mkdir_trampoline<>(SB),NOSPLIT,$0-0 JMP libc_mkdir(SB) GLOBL ·libc_mkdir_trampoline_addr(SB), RODATA, $8 DATA ·libc_mkdir_trampoline_addr(SB)/8, $libc_mkdir_trampoline<>(SB) TEXT libc_mkdirat_trampoline<>(SB),NOSPLIT,$0-0 JMP libc_mkdirat(SB) GLOBL ·libc_mkdirat_trampoline_addr(SB), RODATA, $8 DATA ·libc_mkdirat_trampoline_addr(SB)/8, $libc_mkdirat_trampoline<>(SB) TEXT libc_mkfifo_trampoline<>(SB),NOSPLIT,$0-0 JMP libc_mkfifo(SB) GLOBL ·libc_mkfifo_trampoline_addr(SB), RODATA, $8 DATA ·libc_mkfifo_trampoline_addr(SB)/8, $libc_mkfifo_trampoline<>(SB) TEXT libc_mkfifoat_trampoline<>(SB),NOSPLIT,$0-0 JMP libc_mkfifoat(SB) GLOBL ·libc_mkfifoat_trampoline_addr(SB), RODATA, $8 DATA ·libc_mkfifoat_trampoline_addr(SB)/8, $libc_mkfifoat_trampoline<>(SB) TEXT libc_mknod_trampoline<>(SB),NOSPLIT,$0-0 JMP libc_mknod(SB) GLOBL ·libc_mknod_trampoline_addr(SB), RODATA, $8 DATA ·libc_mknod_trampoline_addr(SB)/8, $libc_mknod_trampoline<>(SB) TEXT libc_mknodat_trampoline<>(SB),NOSPLIT,$0-0 JMP libc_mknodat(SB) GLOBL ·libc_mknodat_trampoline_addr(SB), RODATA, $8 DATA ·libc_mknodat_trampoline_addr(SB)/8, $libc_mknodat_trampoline<>(SB) TEXT libc_mount_trampoline<>(SB),NOSPLIT,$0-0 JMP libc_mount(SB) GLOBL ·libc_mount_trampoline_addr(SB), RODATA, $8 DATA ·libc_mount_trampoline_addr(SB)/8, $libc_mount_trampoline<>(SB) TEXT libc_nanosleep_trampoline<>(SB),NOSPLIT,$0-0 JMP libc_nanosleep(SB) GLOBL ·libc_nanosleep_trampoline_addr(SB), RODATA, $8 DATA ·libc_nanosleep_trampoline_addr(SB)/8, $libc_nanosleep_trampoline<>(SB) TEXT libc_open_trampoline<>(SB),NOSPLIT,$0-0 JMP libc_open(SB) GLOBL ·libc_open_trampoline_addr(SB), RODATA, $8 DATA ·libc_open_trampoline_addr(SB)/8, $libc_open_trampoline<>(SB) TEXT libc_openat_trampoline<>(SB),NOSPLIT,$0-0 JMP libc_openat(SB) GLOBL ·libc_openat_trampoline_addr(SB), RODATA, $8 DATA ·libc_openat_trampoline_addr(SB)/8, $libc_openat_trampoline<>(SB) TEXT libc_pathconf_trampoline<>(SB),NOSPLIT,$0-0 JMP libc_pathconf(SB) GLOBL ·libc_pathconf_trampoline_addr(SB), RODATA, $8 DATA ·libc_pathconf_trampoline_addr(SB)/8, $libc_pathconf_trampoline<>(SB) TEXT libc_pread_trampoline<>(SB),NOSPLIT,$0-0 JMP libc_pread(SB) GLOBL ·libc_pread_trampoline_addr(SB), RODATA, $8 DATA ·libc_pread_trampoline_addr(SB)/8, $libc_pread_trampoline<>(SB) TEXT libc_pwrite_trampoline<>(SB),NOSPLIT,$0-0 JMP libc_pwrite(SB) GLOBL ·libc_pwrite_trampoline_addr(SB), RODATA, $8 DATA ·libc_pwrite_trampoline_addr(SB)/8, $libc_pwrite_trampoline<>(SB) TEXT libc_read_trampoline<>(SB),NOSPLIT,$0-0 JMP libc_read(SB) GLOBL ·libc_read_trampoline_addr(SB), RODATA, $8 DATA ·libc_read_trampoline_addr(SB)/8, $libc_read_trampoline<>(SB) TEXT libc_readlink_trampoline<>(SB),NOSPLIT,$0-0 JMP libc_readlink(SB) GLOBL ·libc_readlink_trampoline_addr(SB), RODATA, $8 DATA ·libc_readlink_trampoline_addr(SB)/8, $libc_readlink_trampoline<>(SB) TEXT libc_readlinkat_trampoline<>(SB),NOSPLIT,$0-0 JMP libc_readlinkat(SB) GLOBL ·libc_readlinkat_trampoline_addr(SB), RODATA, $8 DATA ·libc_readlinkat_trampoline_addr(SB)/8, $libc_readlinkat_trampoline<>(SB) TEXT libc_rename_trampoline<>(SB),NOSPLIT,$0-0 JMP libc_rename(SB) GLOBL ·libc_rename_trampoline_addr(SB), RODATA, $8 DATA ·libc_rename_trampoline_addr(SB)/8, $libc_rename_trampoline<>(SB) TEXT libc_renameat_trampoline<>(SB),NOSPLIT,$0-0 JMP libc_renameat(SB) GLOBL ·libc_renameat_trampoline_addr(SB), RODATA, $8 DATA ·libc_renameat_trampoline_addr(SB)/8, $libc_renameat_trampoline<>(SB) TEXT libc_revoke_trampoline<>(SB),NOSPLIT,$0-0 JMP libc_revoke(SB) GLOBL ·libc_revoke_trampoline_addr(SB), RODATA, $8 DATA ·libc_revoke_trampoline_addr(SB)/8, $libc_revoke_trampoline<>(SB) TEXT libc_rmdir_trampoline<>(SB),NOSPLIT,$0-0 JMP libc_rmdir(SB) GLOBL ·libc_rmdir_trampoline_addr(SB), RODATA, $8 DATA ·libc_rmdir_trampoline_addr(SB)/8, $libc_rmdir_trampoline<>(SB) TEXT libc_lseek_trampoline<>(SB),NOSPLIT,$0-0 JMP libc_lseek(SB) GLOBL ·libc_lseek_trampoline_addr(SB), RODATA, $8 DATA ·libc_lseek_trampoline_addr(SB)/8, $libc_lseek_trampoline<>(SB) TEXT libc_select_trampoline<>(SB),NOSPLIT,$0-0 JMP libc_select(SB) GLOBL ·libc_select_trampoline_addr(SB), RODATA, $8 DATA ·libc_select_trampoline_addr(SB)/8, $libc_select_trampoline<>(SB) TEXT libc_setegid_trampoline<>(SB),NOSPLIT,$0-0 JMP libc_setegid(SB) GLOBL ·libc_setegid_trampoline_addr(SB), RODATA, $8 DATA ·libc_setegid_trampoline_addr(SB)/8, $libc_setegid_trampoline<>(SB) TEXT libc_seteuid_trampoline<>(SB),NOSPLIT,$0-0 JMP libc_seteuid(SB) GLOBL ·libc_seteuid_trampoline_addr(SB), RODATA, $8 DATA ·libc_seteuid_trampoline_addr(SB)/8, $libc_seteuid_trampoline<>(SB) TEXT libc_setgid_trampoline<>(SB),NOSPLIT,$0-0 JMP libc_setgid(SB) GLOBL ·libc_setgid_trampoline_addr(SB), RODATA, $8 DATA ·libc_setgid_trampoline_addr(SB)/8, $libc_setgid_trampoline<>(SB) TEXT libc_setlogin_trampoline<>(SB),NOSPLIT,$0-0 JMP libc_setlogin(SB) GLOBL ·libc_setlogin_trampoline_addr(SB), RODATA, $8 DATA ·libc_setlogin_trampoline_addr(SB)/8, $libc_setlogin_trampoline<>(SB) TEXT libc_setpgid_trampoline<>(SB),NOSPLIT,$0-0 JMP libc_setpgid(SB) GLOBL ·libc_setpgid_trampoline_addr(SB), RODATA, $8 DATA ·libc_setpgid_trampoline_addr(SB)/8, $libc_setpgid_trampoline<>(SB) TEXT libc_setpriority_trampoline<>(SB),NOSPLIT,$0-0 JMP libc_setpriority(SB) GLOBL ·libc_setpriority_trampoline_addr(SB), RODATA, $8 DATA ·libc_setpriority_trampoline_addr(SB)/8, $libc_setpriority_trampoline<>(SB) TEXT libc_setregid_trampoline<>(SB),NOSPLIT,$0-0 JMP libc_setregid(SB) GLOBL ·libc_setregid_trampoline_addr(SB), RODATA, $8 DATA ·libc_setregid_trampoline_addr(SB)/8, $libc_setregid_trampoline<>(SB) TEXT libc_setreuid_trampoline<>(SB),NOSPLIT,$0-0 JMP libc_setreuid(SB) GLOBL ·libc_setreuid_trampoline_addr(SB), RODATA, $8 DATA ·libc_setreuid_trampoline_addr(SB)/8, $libc_setreuid_trampoline<>(SB) TEXT libc_setresgid_trampoline<>(SB),NOSPLIT,$0-0 JMP libc_setresgid(SB) GLOBL ·libc_setresgid_trampoline_addr(SB), RODATA, $8 DATA ·libc_setresgid_trampoline_addr(SB)/8, $libc_setresgid_trampoline<>(SB) TEXT libc_setresuid_trampoline<>(SB),NOSPLIT,$0-0 JMP libc_setresuid(SB) GLOBL ·libc_setresuid_trampoline_addr(SB), RODATA, $8 DATA ·libc_setresuid_trampoline_addr(SB)/8, $libc_setresuid_trampoline<>(SB) TEXT libc_setrtable_trampoline<>(SB),NOSPLIT,$0-0 JMP libc_setrtable(SB) GLOBL ·libc_setrtable_trampoline_addr(SB), RODATA, $8 DATA ·libc_setrtable_trampoline_addr(SB)/8, $libc_setrtable_trampoline<>(SB) TEXT libc_setsid_trampoline<>(SB),NOSPLIT,$0-0 JMP libc_setsid(SB) GLOBL ·libc_setsid_trampoline_addr(SB), RODATA, $8 DATA ·libc_setsid_trampoline_addr(SB)/8, $libc_setsid_trampoline<>(SB) TEXT libc_settimeofday_trampoline<>(SB),NOSPLIT,$0-0 JMP libc_settimeofday(SB) GLOBL ·libc_settimeofday_trampoline_addr(SB), RODATA, $8 DATA ·libc_settimeofday_trampoline_addr(SB)/8, $libc_settimeofday_trampoline<>(SB) TEXT libc_setuid_trampoline<>(SB),NOSPLIT,$0-0 JMP libc_setuid(SB) GLOBL ·libc_setuid_trampoline_addr(SB), RODATA, $8 DATA ·libc_setuid_trampoline_addr(SB)/8, $libc_setuid_trampoline<>(SB) TEXT libc_stat_trampoline<>(SB),NOSPLIT,$0-0 JMP libc_stat(SB) GLOBL ·libc_stat_trampoline_addr(SB), RODATA, $8 DATA ·libc_stat_trampoline_addr(SB)/8, $libc_stat_trampoline<>(SB) TEXT libc_statfs_trampoline<>(SB),NOSPLIT,$0-0 JMP libc_statfs(SB) GLOBL ·libc_statfs_trampoline_addr(SB), RODATA, $8 DATA ·libc_statfs_trampoline_addr(SB)/8, $libc_statfs_trampoline<>(SB) TEXT libc_symlink_trampoline<>(SB),NOSPLIT,$0-0 JMP libc_symlink(SB) GLOBL ·libc_symlink_trampoline_addr(SB), RODATA, $8 DATA ·libc_symlink_trampoline_addr(SB)/8, $libc_symlink_trampoline<>(SB) TEXT libc_symlinkat_trampoline<>(SB),NOSPLIT,$0-0 JMP libc_symlinkat(SB) GLOBL ·libc_symlinkat_trampoline_addr(SB), RODATA, $8 DATA ·libc_symlinkat_trampoline_addr(SB)/8, $libc_symlinkat_trampoline<>(SB) TEXT libc_sync_trampoline<>(SB),NOSPLIT,$0-0 JMP libc_sync(SB) GLOBL ·libc_sync_trampoline_addr(SB), RODATA, $8 DATA ·libc_sync_trampoline_addr(SB)/8, $libc_sync_trampoline<>(SB) TEXT libc_truncate_trampoline<>(SB),NOSPLIT,$0-0 JMP libc_truncate(SB) GLOBL ·libc_truncate_trampoline_addr(SB), RODATA, $8 DATA ·libc_truncate_trampoline_addr(SB)/8, $libc_truncate_trampoline<>(SB) TEXT libc_umask_trampoline<>(SB),NOSPLIT,$0-0 JMP libc_umask(SB) GLOBL ·libc_umask_trampoline_addr(SB), RODATA, $8 DATA ·libc_umask_trampoline_addr(SB)/8, $libc_umask_trampoline<>(SB) TEXT libc_unlink_trampoline<>(SB),NOSPLIT,$0-0 JMP libc_unlink(SB) GLOBL ·libc_unlink_trampoline_addr(SB), RODATA, $8 DATA ·libc_unlink_trampoline_addr(SB)/8, $libc_unlink_trampoline<>(SB) TEXT libc_unlinkat_trampoline<>(SB),NOSPLIT,$0-0 JMP libc_unlinkat(SB) GLOBL ·libc_unlinkat_trampoline_addr(SB), RODATA, $8 DATA ·libc_unlinkat_trampoline_addr(SB)/8, $libc_unlinkat_trampoline<>(SB) TEXT libc_unmount_trampoline<>(SB),NOSPLIT,$0-0 JMP libc_unmount(SB) GLOBL ·libc_unmount_trampoline_addr(SB), RODATA, $8 DATA ·libc_unmount_trampoline_addr(SB)/8, $libc_unmount_trampoline<>(SB) TEXT libc_write_trampoline<>(SB),NOSPLIT,$0-0 JMP libc_write(SB) GLOBL ·libc_write_trampoline_addr(SB), RODATA, $8 DATA ·libc_write_trampoline_addr(SB)/8, $libc_write_trampoline<>(SB) TEXT libc_mmap_trampoline<>(SB),NOSPLIT,$0-0 JMP libc_mmap(SB) GLOBL ·libc_mmap_trampoline_addr(SB), RODATA, $8 DATA ·libc_mmap_trampoline_addr(SB)/8, $libc_mmap_trampoline<>(SB) TEXT libc_munmap_trampoline<>(SB),NOSPLIT,$0-0 JMP libc_munmap(SB) GLOBL ·libc_munmap_trampoline_addr(SB), RODATA, $8 DATA ·libc_munmap_trampoline_addr(SB)/8, $libc_munmap_trampoline<>(SB) TEXT libc_getfsstat_trampoline<>(SB),NOSPLIT,$0-0 JMP libc_getfsstat(SB) GLOBL ·libc_getfsstat_trampoline_addr(SB), RODATA, $8 DATA ·libc_getfsstat_trampoline_addr(SB)/8, $libc_getfsstat_trampoline<>(SB) TEXT libc_utimensat_trampoline<>(SB),NOSPLIT,$0-0 JMP libc_utimensat(SB) GLOBL ·libc_utimensat_trampoline_addr(SB), RODATA, $8 DATA ·libc_utimensat_trampoline_addr(SB)/8, $libc_utimensat_trampoline<>(SB) TEXT libc_pledge_trampoline<>(SB),NOSPLIT,$0-0 JMP libc_pledge(SB) GLOBL ·libc_pledge_trampoline_addr(SB), RODATA, $8 DATA ·libc_pledge_trampoline_addr(SB)/8, $libc_pledge_trampoline<>(SB) TEXT libc_unveil_trampoline<>(SB),NOSPLIT,$0-0 JMP libc_unveil(SB) GLOBL ·libc_unveil_trampoline_addr(SB), RODATA, $8 DATA ·libc_unveil_trampoline_addr(SB)/8, $libc_unveil_trampoline<>(SB) dependencies/pkg/mod/golang.org/x/sys@v0.26.0/unix/zsyscall_linux_loong64.go0000644000000000000000000003116215107355264025576 0ustar rootroot// go run mksyscall.go -tags linux,loong64 syscall_linux.go syscall_linux_loong64.go // Code generated by the command above; see README.md. DO NOT EDIT. //go:build linux && loong64 package unix import ( "syscall" "unsafe" ) var _ syscall.Errno // THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT func fanotifyMark(fd int, flags uint, mask uint64, dirFd int, pathname *byte) (err error) { _, _, e1 := Syscall6(SYS_FANOTIFY_MARK, uintptr(fd), uintptr(flags), uintptr(mask), uintptr(dirFd), uintptr(unsafe.Pointer(pathname)), 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 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 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 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 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, _ := RawSyscallNoError(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, _ := RawSyscallNoError(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, _ := RawSyscallNoError(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, _ := RawSyscallNoError(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 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) (prev int, err error) { r0, _, e1 := Syscall(SYS_SETFSGID, uintptr(gid), 0, 0) prev = int(r0) if e1 != 0 { err = errnoErr(e1) } return } // THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT func setfsuid(uid int) (prev int, err error) { r0, _, e1 := Syscall(SYS_SETFSUID, uintptr(uid), 0, 0) prev = int(r0) 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 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 kexecFileLoad(kernelFd int, initrdFd int, cmdlineLen int, cmdline string, flags int) (err error) { var _p0 *byte _p0, err = BytePtrFromString(cmdline) if err != nil { return } _, _, e1 := Syscall6(SYS_KEXEC_FILE_LOAD, uintptr(kernelFd), uintptr(initrdFd), uintptr(cmdlineLen), uintptr(unsafe.Pointer(_p0)), uintptr(flags), 0) if e1 != 0 { err = errnoErr(e1) } return } dependencies/pkg/mod/golang.org/x/sys@v0.26.0/unix/zerrors_dragonfly_amd64.go0000644000000000000000000021531215107355264025712 0ustar rootroot// mkerrors.sh -m64 // Code generated by the command above; see README.md. DO NOT EDIT. //go:build amd64 && dragonfly // Code generated by cmd/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 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 = 0xc0104279 BIOCGETIF = 0x4020426b BIOCGFEEDBACK = 0x4004427c 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 BIOCSFEEDBACK = 0x8004427d 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_MOD = 0x90 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 BPF_XOR = 0xa0 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 CPUSTATES = 0x5 CP_IDLE = 0x4 CP_INTR = 0x3 CP_NICE = 0x1 CP_SYS = 0x2 CP_USER = 0x0 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_HW = 0x6 CTL_KERN = 0x1 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_BREDR_BB = 0xff DLT_BLUETOOTH_HCI_H4 = 0xbb DLT_BLUETOOTH_HCI_H4_WITH_PHDR = 0xc9 DLT_BLUETOOTH_LE_LL = 0xfb DLT_BLUETOOTH_LE_LL_WITH_PHDR = 0x100 DLT_BLUETOOTH_LINUX_MONITOR = 0xfe 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_EPON = 0x103 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_INFINIBAND = 0xf7 DLT_IPFILTER = 0x74 DLT_IPMB = 0xc7 DLT_IPMB_LINUX = 0xd1 DLT_IPMI_HPM_2 = 0x104 DLT_IPNET = 0xe2 DLT_IPOIB = 0xf2 DLT_IPV4 = 0xe4 DLT_IPV6 = 0xe5 DLT_IP_OVER_FC = 0x7a DLT_ISO_14443 = 0x108 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_SLL = 0x71 DLT_LOOP = 0x6c DLT_LTALK = 0x72 DLT_MATCHING_MAX = 0x109 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_NETLINK = 0xfd DLT_NFC_LLCP = 0xf5 DLT_NFLOG = 0xef DLT_NG40 = 0xf4 DLT_NULL = 0x0 DLT_PCI_EXP = 0x7d DLT_PFLOG = 0x75 DLT_PFSYNC = 0x12 DLT_PKTAP = 0x102 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_PROFIBUS_DL = 0x101 DLT_PRONET = 0x4 DLT_RAIF1 = 0xc6 DLT_RAW = 0xc DLT_RDS = 0x109 DLT_REDBACK_SMARTEDGE = 0x20 DLT_RIO = 0x7c DLT_RTAC_SERIAL = 0xfa DLT_SCCP = 0x8e DLT_SCTP = 0xf8 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_USBPCAP = 0xf9 DLT_USB_FREEBSD = 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_WATTSTOPPER_DLM = 0x107 DLT_WIHART = 0xdf DLT_WIRESHARK_UPPER_PDU = 0xfc DLT_X2E_SERIAL = 0xd5 DLT_X2E_XORAYA = 0xd6 DLT_ZWAVE_R1_R2 = 0x105 DLT_ZWAVE_R3 = 0x106 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_HUP = 0x800 EV_NODATA = 0x1000 EV_ONESHOT = 0x10 EV_RECEIPT = 0x40 EV_SYSFLAGS = 0xf800 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 HW_MACHINE = 0x1 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 = 0x318e72 IFF_DEBUG = 0x4 IFF_IDIRECT = 0x200000 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_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 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 = 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_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_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_FW_ADD = 0x32 IP_FW_DEL = 0x33 IP_FW_FLUSH = 0x34 IP_FW_GET = 0x36 IP_FW_RESETLOG = 0x37 IP_FW_TBL_ADD = 0x2a IP_FW_TBL_CREATE = 0x28 IP_FW_TBL_DEL = 0x2b IP_FW_TBL_DESTROY = 0x29 IP_FW_TBL_EXPIRE = 0x2f IP_FW_TBL_FLUSH = 0x2c IP_FW_TBL_GET = 0x2d IP_FW_TBL_ZERO = 0x2e IP_FW_X = 0x31 IP_FW_ZERO = 0x35 IP_HDRINCL = 0x2 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 KERN_HOSTNAME = 0xa KERN_OSRELEASE = 0x2 KERN_OSTYPE = 0x1 KERN_VERSION = 0x4 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 MNT_ASYNC = 0x40 MNT_AUTOMOUNTED = 0x20 MNT_CMDFLAGS = 0xf0000 MNT_DEFEXPORTED = 0x200 MNT_DELEXPORT = 0x20000 MNT_EXKERB = 0x800 MNT_EXPORTANON = 0x400 MNT_EXPORTED = 0x100 MNT_EXPUBLIC = 0x20000000 MNT_EXRDONLY = 0x80 MNT_FORCE = 0x80000 MNT_IGNORE = 0x800000 MNT_LAZY = 0x4 MNT_LOCAL = 0x1000 MNT_NOATIME = 0x10000000 MNT_NOCLUSTERR = 0x40000000 MNT_NOCLUSTERW = 0x80000000 MNT_NODEV = 0x10 MNT_NOEXEC = 0x4 MNT_NOSUID = 0x8 MNT_NOSYMFOLLOW = 0x400000 MNT_NOWAIT = 0x2 MNT_QUOTA = 0x2000 MNT_RDONLY = 0x1 MNT_RELOAD = 0x40000 MNT_ROOTFS = 0x4000 MNT_SOFTDEP = 0x200000 MNT_SUIDDIR = 0x100000 MNT_SYNCHRONOUS = 0x2 MNT_TRIM = 0x1000000 MNT_UPDATE = 0x10000 MNT_USER = 0x8000 MNT_VISFLAGMASK = 0xf1f0ffff MNT_WAIT = 0x1 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 NFDBITS = 0x40 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_MEMLOCK = 0x6 RLIMIT_NOFILE = 0x8 RLIMIT_NPROC = 0x7 RLIMIT_RSS = 0x5 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_REDIRECT = 0x6 RTM_RESOLVE = 0xb RTM_RTTUNIT = 0xf4240 RTM_VERSION = 0x7 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 SIOCAIFADDR = 0x8040691a SIOCAIFGROUP = 0x80286987 SIOCALIFADDR = 0x8118691b SIOCATMARK = 0x40047307 SIOCDELMULTI = 0x80206932 SIOCDIFADDR = 0x80206919 SIOCDIFGROUP = 0x80286989 SIOCDIFPHYADDR = 0x80206949 SIOCDLIFADDR = 0x8118691d SIOCGDRVSPEC = 0xc028697b SIOCGETSGCNT = 0xc0207210 SIOCGETVIFCNT = 0xc028720f SIOCGHIWAT = 0x40047301 SIOCGIFADDR = 0xc0206921 SIOCGIFALIAS = 0xc0406929 SIOCGIFBRDADDR = 0xc0206923 SIOCGIFCAP = 0xc020691f SIOCGIFCONF = 0xc0106924 SIOCGIFDATA = 0xc0206926 SIOCGIFDSTADDR = 0xc0206922 SIOCGIFFLAGS = 0xc0206911 SIOCGIFGENERIC = 0xc020693a SIOCGIFGMEMB = 0xc028698a SIOCGIFGROUP = 0xc0286988 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_RERROR = 0x2000 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 S_BLKSIZE = 0x200 S_IEXEC = 0x40 S_IFBLK = 0x6000 S_IFCHR = 0x2000 S_IFDB = 0x9000 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 TAB0 = 0x0 TAB3 = 0x4 TABDLY = 0x4 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 TIMER_ABSTIME = 0x1 TIMER_RELTIME = 0x0 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 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 TIOCSTART = 0x2000746e TIOCSTAT = 0x20007465 TIOCSTI = 0x80017472 TIOCSTOP = 0x2000746f TIOCSWINSZ = 0x80087467 TIOCTIMESTAMP = 0x40107459 TIOCUCNTL = 0x80047466 TOSTOP = 0x400000 UTIME_NOW = -0x1 UTIME_OMIT = -0x2 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 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) 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) 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 errorList = [...]struct { num syscall.Errno name string desc string }{ {1, "EPERM", "operation not permitted"}, {2, "ENOENT", "no such file or directory"}, {3, "ESRCH", "no such process"}, {4, "EINTR", "interrupted system call"}, {5, "EIO", "input/output error"}, {6, "ENXIO", "device not configured"}, {7, "E2BIG", "argument list too long"}, {8, "ENOEXEC", "exec format error"}, {9, "EBADF", "bad file descriptor"}, {10, "ECHILD", "no child processes"}, {11, "EDEADLK", "resource deadlock avoided"}, {12, "ENOMEM", "cannot allocate memory"}, {13, "EACCES", "permission denied"}, {14, "EFAULT", "bad address"}, {15, "ENOTBLK", "block device required"}, {16, "EBUSY", "device busy"}, {17, "EEXIST", "file exists"}, {18, "EXDEV", "cross-device link"}, {19, "ENODEV", "operation not supported by device"}, {20, "ENOTDIR", "not a directory"}, {21, "EISDIR", "is a directory"}, {22, "EINVAL", "invalid argument"}, {23, "ENFILE", "too many open files in system"}, {24, "EMFILE", "too many open files"}, {25, "ENOTTY", "inappropriate ioctl for device"}, {26, "ETXTBSY", "text file busy"}, {27, "EFBIG", "file too large"}, {28, "ENOSPC", "no space left on device"}, {29, "ESPIPE", "illegal seek"}, {30, "EROFS", "read-only file system"}, {31, "EMLINK", "too many links"}, {32, "EPIPE", "broken pipe"}, {33, "EDOM", "numerical argument out of domain"}, {34, "ERANGE", "result too large"}, {35, "EWOULDBLOCK", "resource temporarily unavailable"}, {36, "EINPROGRESS", "operation now in progress"}, {37, "EALREADY", "operation already in progress"}, {38, "ENOTSOCK", "socket operation on non-socket"}, {39, "EDESTADDRREQ", "destination address required"}, {40, "EMSGSIZE", "message too long"}, {41, "EPROTOTYPE", "protocol wrong type for socket"}, {42, "ENOPROTOOPT", "protocol not available"}, {43, "EPROTONOSUPPORT", "protocol not supported"}, {44, "ESOCKTNOSUPPORT", "socket type not supported"}, {45, "EOPNOTSUPP", "operation not supported"}, {46, "EPFNOSUPPORT", "protocol family not supported"}, {47, "EAFNOSUPPORT", "address family not supported by protocol family"}, {48, "EADDRINUSE", "address already in use"}, {49, "EADDRNOTAVAIL", "can't assign requested address"}, {50, "ENETDOWN", "network is down"}, {51, "ENETUNREACH", "network is unreachable"}, {52, "ENETRESET", "network dropped connection on reset"}, {53, "ECONNABORTED", "software caused connection abort"}, {54, "ECONNRESET", "connection reset by peer"}, {55, "ENOBUFS", "no buffer space available"}, {56, "EISCONN", "socket is already connected"}, {57, "ENOTCONN", "socket is not connected"}, {58, "ESHUTDOWN", "can't send after socket shutdown"}, {59, "ETOOMANYREFS", "too many references: can't splice"}, {60, "ETIMEDOUT", "operation timed out"}, {61, "ECONNREFUSED", "connection refused"}, {62, "ELOOP", "too many levels of symbolic links"}, {63, "ENAMETOOLONG", "file name too long"}, {64, "EHOSTDOWN", "host is down"}, {65, "EHOSTUNREACH", "no route to host"}, {66, "ENOTEMPTY", "directory not empty"}, {67, "EPROCLIM", "too many processes"}, {68, "EUSERS", "too many users"}, {69, "EDQUOT", "disc quota exceeded"}, {70, "ESTALE", "stale NFS file handle"}, {71, "EREMOTE", "too many levels of remote in path"}, {72, "EBADRPC", "RPC struct is bad"}, {73, "ERPCMISMATCH", "RPC version wrong"}, {74, "EPROGUNAVAIL", "RPC prog. not avail"}, {75, "EPROGMISMATCH", "program version wrong"}, {76, "EPROCUNAVAIL", "bad procedure for program"}, {77, "ENOLCK", "no locks available"}, {78, "ENOSYS", "function not implemented"}, {79, "EFTYPE", "inappropriate file type or format"}, {80, "EAUTH", "authentication error"}, {81, "ENEEDAUTH", "need authenticator"}, {82, "EIDRM", "identifier removed"}, {83, "ENOMSG", "no message of desired type"}, {84, "EOVERFLOW", "value too large to be stored in data type"}, {85, "ECANCELED", "operation canceled"}, {86, "EILSEQ", "illegal byte sequence"}, {87, "ENOATTR", "attribute not found"}, {88, "EDOOFUS", "programming error"}, {89, "EBADMSG", "bad message"}, {90, "EMULTIHOP", "multihop attempted"}, {91, "ENOLINK", "link has been severed"}, {92, "EPROTO", "protocol error"}, {93, "ENOMEDIUM", "no medium found"}, {99, "EASYNC", "unknown error: 99"}, } // Signal table var signalList = [...]struct { num syscall.Signal name string desc string }{ {1, "SIGHUP", "hangup"}, {2, "SIGINT", "interrupt"}, {3, "SIGQUIT", "quit"}, {4, "SIGILL", "illegal instruction"}, {5, "SIGTRAP", "trace/BPT trap"}, {6, "SIGIOT", "abort trap"}, {7, "SIGEMT", "EMT trap"}, {8, "SIGFPE", "floating point exception"}, {9, "SIGKILL", "killed"}, {10, "SIGBUS", "bus error"}, {11, "SIGSEGV", "segmentation fault"}, {12, "SIGSYS", "bad system call"}, {13, "SIGPIPE", "broken pipe"}, {14, "SIGALRM", "alarm clock"}, {15, "SIGTERM", "terminated"}, {16, "SIGURG", "urgent I/O condition"}, {17, "SIGSTOP", "suspended (signal)"}, {18, "SIGTSTP", "suspended"}, {19, "SIGCONT", "continued"}, {20, "SIGCHLD", "child exited"}, {21, "SIGTTIN", "stopped (tty input)"}, {22, "SIGTTOU", "stopped (tty output)"}, {23, "SIGIO", "I/O possible"}, {24, "SIGXCPU", "cputime limit exceeded"}, {25, "SIGXFSZ", "filesize limit exceeded"}, {26, "SIGVTALRM", "virtual timer expired"}, {27, "SIGPROF", "profiling timer expired"}, {28, "SIGWINCH", "window size changes"}, {29, "SIGINFO", "information request"}, {30, "SIGUSR1", "user defined signal 1"}, {31, "SIGUSR2", "user defined signal 2"}, {32, "SIGTHR", "thread Scheduler"}, {33, "SIGCKPT", "checkPoint"}, {34, "SIGCKPTEXIT", "checkPointExit"}, } dependencies/pkg/mod/golang.org/x/sys@v0.26.0/unix/zsyscall_openbsd_mips64.s0000644000000000000000000006561415107355264025571 0ustar rootroot// go run mkasm.go openbsd mips64 // Code generated by the command above; DO NOT EDIT. #include "textflag.h" TEXT libc_getgroups_trampoline<>(SB),NOSPLIT,$0-0 JMP libc_getgroups(SB) GLOBL ·libc_getgroups_trampoline_addr(SB), RODATA, $8 DATA ·libc_getgroups_trampoline_addr(SB)/8, $libc_getgroups_trampoline<>(SB) TEXT libc_setgroups_trampoline<>(SB),NOSPLIT,$0-0 JMP libc_setgroups(SB) GLOBL ·libc_setgroups_trampoline_addr(SB), RODATA, $8 DATA ·libc_setgroups_trampoline_addr(SB)/8, $libc_setgroups_trampoline<>(SB) TEXT libc_wait4_trampoline<>(SB),NOSPLIT,$0-0 JMP libc_wait4(SB) GLOBL ·libc_wait4_trampoline_addr(SB), RODATA, $8 DATA ·libc_wait4_trampoline_addr(SB)/8, $libc_wait4_trampoline<>(SB) TEXT libc_accept_trampoline<>(SB),NOSPLIT,$0-0 JMP libc_accept(SB) GLOBL ·libc_accept_trampoline_addr(SB), RODATA, $8 DATA ·libc_accept_trampoline_addr(SB)/8, $libc_accept_trampoline<>(SB) TEXT libc_bind_trampoline<>(SB),NOSPLIT,$0-0 JMP libc_bind(SB) GLOBL ·libc_bind_trampoline_addr(SB), RODATA, $8 DATA ·libc_bind_trampoline_addr(SB)/8, $libc_bind_trampoline<>(SB) TEXT libc_connect_trampoline<>(SB),NOSPLIT,$0-0 JMP libc_connect(SB) GLOBL ·libc_connect_trampoline_addr(SB), RODATA, $8 DATA ·libc_connect_trampoline_addr(SB)/8, $libc_connect_trampoline<>(SB) TEXT libc_socket_trampoline<>(SB),NOSPLIT,$0-0 JMP libc_socket(SB) GLOBL ·libc_socket_trampoline_addr(SB), RODATA, $8 DATA ·libc_socket_trampoline_addr(SB)/8, $libc_socket_trampoline<>(SB) TEXT libc_getsockopt_trampoline<>(SB),NOSPLIT,$0-0 JMP libc_getsockopt(SB) GLOBL ·libc_getsockopt_trampoline_addr(SB), RODATA, $8 DATA ·libc_getsockopt_trampoline_addr(SB)/8, $libc_getsockopt_trampoline<>(SB) TEXT libc_setsockopt_trampoline<>(SB),NOSPLIT,$0-0 JMP libc_setsockopt(SB) GLOBL ·libc_setsockopt_trampoline_addr(SB), RODATA, $8 DATA ·libc_setsockopt_trampoline_addr(SB)/8, $libc_setsockopt_trampoline<>(SB) TEXT libc_getpeername_trampoline<>(SB),NOSPLIT,$0-0 JMP libc_getpeername(SB) GLOBL ·libc_getpeername_trampoline_addr(SB), RODATA, $8 DATA ·libc_getpeername_trampoline_addr(SB)/8, $libc_getpeername_trampoline<>(SB) TEXT libc_getsockname_trampoline<>(SB),NOSPLIT,$0-0 JMP libc_getsockname(SB) GLOBL ·libc_getsockname_trampoline_addr(SB), RODATA, $8 DATA ·libc_getsockname_trampoline_addr(SB)/8, $libc_getsockname_trampoline<>(SB) TEXT libc_shutdown_trampoline<>(SB),NOSPLIT,$0-0 JMP libc_shutdown(SB) GLOBL ·libc_shutdown_trampoline_addr(SB), RODATA, $8 DATA ·libc_shutdown_trampoline_addr(SB)/8, $libc_shutdown_trampoline<>(SB) TEXT libc_socketpair_trampoline<>(SB),NOSPLIT,$0-0 JMP libc_socketpair(SB) GLOBL ·libc_socketpair_trampoline_addr(SB), RODATA, $8 DATA ·libc_socketpair_trampoline_addr(SB)/8, $libc_socketpair_trampoline<>(SB) TEXT libc_recvfrom_trampoline<>(SB),NOSPLIT,$0-0 JMP libc_recvfrom(SB) GLOBL ·libc_recvfrom_trampoline_addr(SB), RODATA, $8 DATA ·libc_recvfrom_trampoline_addr(SB)/8, $libc_recvfrom_trampoline<>(SB) TEXT libc_sendto_trampoline<>(SB),NOSPLIT,$0-0 JMP libc_sendto(SB) GLOBL ·libc_sendto_trampoline_addr(SB), RODATA, $8 DATA ·libc_sendto_trampoline_addr(SB)/8, $libc_sendto_trampoline<>(SB) TEXT libc_recvmsg_trampoline<>(SB),NOSPLIT,$0-0 JMP libc_recvmsg(SB) GLOBL ·libc_recvmsg_trampoline_addr(SB), RODATA, $8 DATA ·libc_recvmsg_trampoline_addr(SB)/8, $libc_recvmsg_trampoline<>(SB) TEXT libc_sendmsg_trampoline<>(SB),NOSPLIT,$0-0 JMP libc_sendmsg(SB) GLOBL ·libc_sendmsg_trampoline_addr(SB), RODATA, $8 DATA ·libc_sendmsg_trampoline_addr(SB)/8, $libc_sendmsg_trampoline<>(SB) TEXT libc_kevent_trampoline<>(SB),NOSPLIT,$0-0 JMP libc_kevent(SB) GLOBL ·libc_kevent_trampoline_addr(SB), RODATA, $8 DATA ·libc_kevent_trampoline_addr(SB)/8, $libc_kevent_trampoline<>(SB) TEXT libc_utimes_trampoline<>(SB),NOSPLIT,$0-0 JMP libc_utimes(SB) GLOBL ·libc_utimes_trampoline_addr(SB), RODATA, $8 DATA ·libc_utimes_trampoline_addr(SB)/8, $libc_utimes_trampoline<>(SB) TEXT libc_futimes_trampoline<>(SB),NOSPLIT,$0-0 JMP libc_futimes(SB) GLOBL ·libc_futimes_trampoline_addr(SB), RODATA, $8 DATA ·libc_futimes_trampoline_addr(SB)/8, $libc_futimes_trampoline<>(SB) TEXT libc_poll_trampoline<>(SB),NOSPLIT,$0-0 JMP libc_poll(SB) GLOBL ·libc_poll_trampoline_addr(SB), RODATA, $8 DATA ·libc_poll_trampoline_addr(SB)/8, $libc_poll_trampoline<>(SB) TEXT libc_madvise_trampoline<>(SB),NOSPLIT,$0-0 JMP libc_madvise(SB) GLOBL ·libc_madvise_trampoline_addr(SB), RODATA, $8 DATA ·libc_madvise_trampoline_addr(SB)/8, $libc_madvise_trampoline<>(SB) TEXT libc_mlock_trampoline<>(SB),NOSPLIT,$0-0 JMP libc_mlock(SB) GLOBL ·libc_mlock_trampoline_addr(SB), RODATA, $8 DATA ·libc_mlock_trampoline_addr(SB)/8, $libc_mlock_trampoline<>(SB) TEXT libc_mlockall_trampoline<>(SB),NOSPLIT,$0-0 JMP libc_mlockall(SB) GLOBL ·libc_mlockall_trampoline_addr(SB), RODATA, $8 DATA ·libc_mlockall_trampoline_addr(SB)/8, $libc_mlockall_trampoline<>(SB) TEXT libc_mprotect_trampoline<>(SB),NOSPLIT,$0-0 JMP libc_mprotect(SB) GLOBL ·libc_mprotect_trampoline_addr(SB), RODATA, $8 DATA ·libc_mprotect_trampoline_addr(SB)/8, $libc_mprotect_trampoline<>(SB) TEXT libc_msync_trampoline<>(SB),NOSPLIT,$0-0 JMP libc_msync(SB) GLOBL ·libc_msync_trampoline_addr(SB), RODATA, $8 DATA ·libc_msync_trampoline_addr(SB)/8, $libc_msync_trampoline<>(SB) TEXT libc_munlock_trampoline<>(SB),NOSPLIT,$0-0 JMP libc_munlock(SB) GLOBL ·libc_munlock_trampoline_addr(SB), RODATA, $8 DATA ·libc_munlock_trampoline_addr(SB)/8, $libc_munlock_trampoline<>(SB) TEXT libc_munlockall_trampoline<>(SB),NOSPLIT,$0-0 JMP libc_munlockall(SB) GLOBL ·libc_munlockall_trampoline_addr(SB), RODATA, $8 DATA ·libc_munlockall_trampoline_addr(SB)/8, $libc_munlockall_trampoline<>(SB) TEXT libc_pipe2_trampoline<>(SB),NOSPLIT,$0-0 JMP libc_pipe2(SB) GLOBL ·libc_pipe2_trampoline_addr(SB), RODATA, $8 DATA ·libc_pipe2_trampoline_addr(SB)/8, $libc_pipe2_trampoline<>(SB) TEXT libc_getdents_trampoline<>(SB),NOSPLIT,$0-0 JMP libc_getdents(SB) GLOBL ·libc_getdents_trampoline_addr(SB), RODATA, $8 DATA ·libc_getdents_trampoline_addr(SB)/8, $libc_getdents_trampoline<>(SB) TEXT libc_getcwd_trampoline<>(SB),NOSPLIT,$0-0 JMP libc_getcwd(SB) GLOBL ·libc_getcwd_trampoline_addr(SB), RODATA, $8 DATA ·libc_getcwd_trampoline_addr(SB)/8, $libc_getcwd_trampoline<>(SB) TEXT libc_getresuid_trampoline<>(SB),NOSPLIT,$0-0 JMP libc_getresuid(SB) GLOBL ·libc_getresuid_trampoline_addr(SB), RODATA, $8 DATA ·libc_getresuid_trampoline_addr(SB)/8, $libc_getresuid_trampoline<>(SB) TEXT libc_getresgid_trampoline<>(SB),NOSPLIT,$0-0 JMP libc_getresgid(SB) GLOBL ·libc_getresgid_trampoline_addr(SB), RODATA, $8 DATA ·libc_getresgid_trampoline_addr(SB)/8, $libc_getresgid_trampoline<>(SB) TEXT libc_ioctl_trampoline<>(SB),NOSPLIT,$0-0 JMP libc_ioctl(SB) GLOBL ·libc_ioctl_trampoline_addr(SB), RODATA, $8 DATA ·libc_ioctl_trampoline_addr(SB)/8, $libc_ioctl_trampoline<>(SB) TEXT libc_sysctl_trampoline<>(SB),NOSPLIT,$0-0 JMP libc_sysctl(SB) GLOBL ·libc_sysctl_trampoline_addr(SB), RODATA, $8 DATA ·libc_sysctl_trampoline_addr(SB)/8, $libc_sysctl_trampoline<>(SB) TEXT libc_fcntl_trampoline<>(SB),NOSPLIT,$0-0 JMP libc_fcntl(SB) GLOBL ·libc_fcntl_trampoline_addr(SB), RODATA, $8 DATA ·libc_fcntl_trampoline_addr(SB)/8, $libc_fcntl_trampoline<>(SB) TEXT libc_ppoll_trampoline<>(SB),NOSPLIT,$0-0 JMP libc_ppoll(SB) GLOBL ·libc_ppoll_trampoline_addr(SB), RODATA, $8 DATA ·libc_ppoll_trampoline_addr(SB)/8, $libc_ppoll_trampoline<>(SB) TEXT libc_access_trampoline<>(SB),NOSPLIT,$0-0 JMP libc_access(SB) GLOBL ·libc_access_trampoline_addr(SB), RODATA, $8 DATA ·libc_access_trampoline_addr(SB)/8, $libc_access_trampoline<>(SB) TEXT libc_adjtime_trampoline<>(SB),NOSPLIT,$0-0 JMP libc_adjtime(SB) GLOBL ·libc_adjtime_trampoline_addr(SB), RODATA, $8 DATA ·libc_adjtime_trampoline_addr(SB)/8, $libc_adjtime_trampoline<>(SB) TEXT libc_chdir_trampoline<>(SB),NOSPLIT,$0-0 JMP libc_chdir(SB) GLOBL ·libc_chdir_trampoline_addr(SB), RODATA, $8 DATA ·libc_chdir_trampoline_addr(SB)/8, $libc_chdir_trampoline<>(SB) TEXT libc_chflags_trampoline<>(SB),NOSPLIT,$0-0 JMP libc_chflags(SB) GLOBL ·libc_chflags_trampoline_addr(SB), RODATA, $8 DATA ·libc_chflags_trampoline_addr(SB)/8, $libc_chflags_trampoline<>(SB) TEXT libc_chmod_trampoline<>(SB),NOSPLIT,$0-0 JMP libc_chmod(SB) GLOBL ·libc_chmod_trampoline_addr(SB), RODATA, $8 DATA ·libc_chmod_trampoline_addr(SB)/8, $libc_chmod_trampoline<>(SB) TEXT libc_chown_trampoline<>(SB),NOSPLIT,$0-0 JMP libc_chown(SB) GLOBL ·libc_chown_trampoline_addr(SB), RODATA, $8 DATA ·libc_chown_trampoline_addr(SB)/8, $libc_chown_trampoline<>(SB) TEXT libc_chroot_trampoline<>(SB),NOSPLIT,$0-0 JMP libc_chroot(SB) GLOBL ·libc_chroot_trampoline_addr(SB), RODATA, $8 DATA ·libc_chroot_trampoline_addr(SB)/8, $libc_chroot_trampoline<>(SB) TEXT libc_clock_gettime_trampoline<>(SB),NOSPLIT,$0-0 JMP libc_clock_gettime(SB) GLOBL ·libc_clock_gettime_trampoline_addr(SB), RODATA, $8 DATA ·libc_clock_gettime_trampoline_addr(SB)/8, $libc_clock_gettime_trampoline<>(SB) TEXT libc_close_trampoline<>(SB),NOSPLIT,$0-0 JMP libc_close(SB) GLOBL ·libc_close_trampoline_addr(SB), RODATA, $8 DATA ·libc_close_trampoline_addr(SB)/8, $libc_close_trampoline<>(SB) TEXT libc_dup_trampoline<>(SB),NOSPLIT,$0-0 JMP libc_dup(SB) GLOBL ·libc_dup_trampoline_addr(SB), RODATA, $8 DATA ·libc_dup_trampoline_addr(SB)/8, $libc_dup_trampoline<>(SB) TEXT libc_dup2_trampoline<>(SB),NOSPLIT,$0-0 JMP libc_dup2(SB) GLOBL ·libc_dup2_trampoline_addr(SB), RODATA, $8 DATA ·libc_dup2_trampoline_addr(SB)/8, $libc_dup2_trampoline<>(SB) TEXT libc_dup3_trampoline<>(SB),NOSPLIT,$0-0 JMP libc_dup3(SB) GLOBL ·libc_dup3_trampoline_addr(SB), RODATA, $8 DATA ·libc_dup3_trampoline_addr(SB)/8, $libc_dup3_trampoline<>(SB) TEXT libc_exit_trampoline<>(SB),NOSPLIT,$0-0 JMP libc_exit(SB) GLOBL ·libc_exit_trampoline_addr(SB), RODATA, $8 DATA ·libc_exit_trampoline_addr(SB)/8, $libc_exit_trampoline<>(SB) TEXT libc_faccessat_trampoline<>(SB),NOSPLIT,$0-0 JMP libc_faccessat(SB) GLOBL ·libc_faccessat_trampoline_addr(SB), RODATA, $8 DATA ·libc_faccessat_trampoline_addr(SB)/8, $libc_faccessat_trampoline<>(SB) TEXT libc_fchdir_trampoline<>(SB),NOSPLIT,$0-0 JMP libc_fchdir(SB) GLOBL ·libc_fchdir_trampoline_addr(SB), RODATA, $8 DATA ·libc_fchdir_trampoline_addr(SB)/8, $libc_fchdir_trampoline<>(SB) TEXT libc_fchflags_trampoline<>(SB),NOSPLIT,$0-0 JMP libc_fchflags(SB) GLOBL ·libc_fchflags_trampoline_addr(SB), RODATA, $8 DATA ·libc_fchflags_trampoline_addr(SB)/8, $libc_fchflags_trampoline<>(SB) TEXT libc_fchmod_trampoline<>(SB),NOSPLIT,$0-0 JMP libc_fchmod(SB) GLOBL ·libc_fchmod_trampoline_addr(SB), RODATA, $8 DATA ·libc_fchmod_trampoline_addr(SB)/8, $libc_fchmod_trampoline<>(SB) TEXT libc_fchmodat_trampoline<>(SB),NOSPLIT,$0-0 JMP libc_fchmodat(SB) GLOBL ·libc_fchmodat_trampoline_addr(SB), RODATA, $8 DATA ·libc_fchmodat_trampoline_addr(SB)/8, $libc_fchmodat_trampoline<>(SB) TEXT libc_fchown_trampoline<>(SB),NOSPLIT,$0-0 JMP libc_fchown(SB) GLOBL ·libc_fchown_trampoline_addr(SB), RODATA, $8 DATA ·libc_fchown_trampoline_addr(SB)/8, $libc_fchown_trampoline<>(SB) TEXT libc_fchownat_trampoline<>(SB),NOSPLIT,$0-0 JMP libc_fchownat(SB) GLOBL ·libc_fchownat_trampoline_addr(SB), RODATA, $8 DATA ·libc_fchownat_trampoline_addr(SB)/8, $libc_fchownat_trampoline<>(SB) TEXT libc_flock_trampoline<>(SB),NOSPLIT,$0-0 JMP libc_flock(SB) GLOBL ·libc_flock_trampoline_addr(SB), RODATA, $8 DATA ·libc_flock_trampoline_addr(SB)/8, $libc_flock_trampoline<>(SB) TEXT libc_fpathconf_trampoline<>(SB),NOSPLIT,$0-0 JMP libc_fpathconf(SB) GLOBL ·libc_fpathconf_trampoline_addr(SB), RODATA, $8 DATA ·libc_fpathconf_trampoline_addr(SB)/8, $libc_fpathconf_trampoline<>(SB) TEXT libc_fstat_trampoline<>(SB),NOSPLIT,$0-0 JMP libc_fstat(SB) GLOBL ·libc_fstat_trampoline_addr(SB), RODATA, $8 DATA ·libc_fstat_trampoline_addr(SB)/8, $libc_fstat_trampoline<>(SB) TEXT libc_fstatat_trampoline<>(SB),NOSPLIT,$0-0 JMP libc_fstatat(SB) GLOBL ·libc_fstatat_trampoline_addr(SB), RODATA, $8 DATA ·libc_fstatat_trampoline_addr(SB)/8, $libc_fstatat_trampoline<>(SB) TEXT libc_fstatfs_trampoline<>(SB),NOSPLIT,$0-0 JMP libc_fstatfs(SB) GLOBL ·libc_fstatfs_trampoline_addr(SB), RODATA, $8 DATA ·libc_fstatfs_trampoline_addr(SB)/8, $libc_fstatfs_trampoline<>(SB) TEXT libc_fsync_trampoline<>(SB),NOSPLIT,$0-0 JMP libc_fsync(SB) GLOBL ·libc_fsync_trampoline_addr(SB), RODATA, $8 DATA ·libc_fsync_trampoline_addr(SB)/8, $libc_fsync_trampoline<>(SB) TEXT libc_ftruncate_trampoline<>(SB),NOSPLIT,$0-0 JMP libc_ftruncate(SB) GLOBL ·libc_ftruncate_trampoline_addr(SB), RODATA, $8 DATA ·libc_ftruncate_trampoline_addr(SB)/8, $libc_ftruncate_trampoline<>(SB) TEXT libc_getegid_trampoline<>(SB),NOSPLIT,$0-0 JMP libc_getegid(SB) GLOBL ·libc_getegid_trampoline_addr(SB), RODATA, $8 DATA ·libc_getegid_trampoline_addr(SB)/8, $libc_getegid_trampoline<>(SB) TEXT libc_geteuid_trampoline<>(SB),NOSPLIT,$0-0 JMP libc_geteuid(SB) GLOBL ·libc_geteuid_trampoline_addr(SB), RODATA, $8 DATA ·libc_geteuid_trampoline_addr(SB)/8, $libc_geteuid_trampoline<>(SB) TEXT libc_getgid_trampoline<>(SB),NOSPLIT,$0-0 JMP libc_getgid(SB) GLOBL ·libc_getgid_trampoline_addr(SB), RODATA, $8 DATA ·libc_getgid_trampoline_addr(SB)/8, $libc_getgid_trampoline<>(SB) TEXT libc_getpgid_trampoline<>(SB),NOSPLIT,$0-0 JMP libc_getpgid(SB) GLOBL ·libc_getpgid_trampoline_addr(SB), RODATA, $8 DATA ·libc_getpgid_trampoline_addr(SB)/8, $libc_getpgid_trampoline<>(SB) TEXT libc_getpgrp_trampoline<>(SB),NOSPLIT,$0-0 JMP libc_getpgrp(SB) GLOBL ·libc_getpgrp_trampoline_addr(SB), RODATA, $8 DATA ·libc_getpgrp_trampoline_addr(SB)/8, $libc_getpgrp_trampoline<>(SB) TEXT libc_getpid_trampoline<>(SB),NOSPLIT,$0-0 JMP libc_getpid(SB) GLOBL ·libc_getpid_trampoline_addr(SB), RODATA, $8 DATA ·libc_getpid_trampoline_addr(SB)/8, $libc_getpid_trampoline<>(SB) TEXT libc_getppid_trampoline<>(SB),NOSPLIT,$0-0 JMP libc_getppid(SB) GLOBL ·libc_getppid_trampoline_addr(SB), RODATA, $8 DATA ·libc_getppid_trampoline_addr(SB)/8, $libc_getppid_trampoline<>(SB) TEXT libc_getpriority_trampoline<>(SB),NOSPLIT,$0-0 JMP libc_getpriority(SB) GLOBL ·libc_getpriority_trampoline_addr(SB), RODATA, $8 DATA ·libc_getpriority_trampoline_addr(SB)/8, $libc_getpriority_trampoline<>(SB) TEXT libc_getrlimit_trampoline<>(SB),NOSPLIT,$0-0 JMP libc_getrlimit(SB) GLOBL ·libc_getrlimit_trampoline_addr(SB), RODATA, $8 DATA ·libc_getrlimit_trampoline_addr(SB)/8, $libc_getrlimit_trampoline<>(SB) TEXT libc_getrtable_trampoline<>(SB),NOSPLIT,$0-0 JMP libc_getrtable(SB) GLOBL ·libc_getrtable_trampoline_addr(SB), RODATA, $8 DATA ·libc_getrtable_trampoline_addr(SB)/8, $libc_getrtable_trampoline<>(SB) TEXT libc_getrusage_trampoline<>(SB),NOSPLIT,$0-0 JMP libc_getrusage(SB) GLOBL ·libc_getrusage_trampoline_addr(SB), RODATA, $8 DATA ·libc_getrusage_trampoline_addr(SB)/8, $libc_getrusage_trampoline<>(SB) TEXT libc_getsid_trampoline<>(SB),NOSPLIT,$0-0 JMP libc_getsid(SB) GLOBL ·libc_getsid_trampoline_addr(SB), RODATA, $8 DATA ·libc_getsid_trampoline_addr(SB)/8, $libc_getsid_trampoline<>(SB) TEXT libc_gettimeofday_trampoline<>(SB),NOSPLIT,$0-0 JMP libc_gettimeofday(SB) GLOBL ·libc_gettimeofday_trampoline_addr(SB), RODATA, $8 DATA ·libc_gettimeofday_trampoline_addr(SB)/8, $libc_gettimeofday_trampoline<>(SB) TEXT libc_getuid_trampoline<>(SB),NOSPLIT,$0-0 JMP libc_getuid(SB) GLOBL ·libc_getuid_trampoline_addr(SB), RODATA, $8 DATA ·libc_getuid_trampoline_addr(SB)/8, $libc_getuid_trampoline<>(SB) TEXT libc_issetugid_trampoline<>(SB),NOSPLIT,$0-0 JMP libc_issetugid(SB) GLOBL ·libc_issetugid_trampoline_addr(SB), RODATA, $8 DATA ·libc_issetugid_trampoline_addr(SB)/8, $libc_issetugid_trampoline<>(SB) TEXT libc_kill_trampoline<>(SB),NOSPLIT,$0-0 JMP libc_kill(SB) GLOBL ·libc_kill_trampoline_addr(SB), RODATA, $8 DATA ·libc_kill_trampoline_addr(SB)/8, $libc_kill_trampoline<>(SB) TEXT libc_kqueue_trampoline<>(SB),NOSPLIT,$0-0 JMP libc_kqueue(SB) GLOBL ·libc_kqueue_trampoline_addr(SB), RODATA, $8 DATA ·libc_kqueue_trampoline_addr(SB)/8, $libc_kqueue_trampoline<>(SB) TEXT libc_lchown_trampoline<>(SB),NOSPLIT,$0-0 JMP libc_lchown(SB) GLOBL ·libc_lchown_trampoline_addr(SB), RODATA, $8 DATA ·libc_lchown_trampoline_addr(SB)/8, $libc_lchown_trampoline<>(SB) TEXT libc_link_trampoline<>(SB),NOSPLIT,$0-0 JMP libc_link(SB) GLOBL ·libc_link_trampoline_addr(SB), RODATA, $8 DATA ·libc_link_trampoline_addr(SB)/8, $libc_link_trampoline<>(SB) TEXT libc_linkat_trampoline<>(SB),NOSPLIT,$0-0 JMP libc_linkat(SB) GLOBL ·libc_linkat_trampoline_addr(SB), RODATA, $8 DATA ·libc_linkat_trampoline_addr(SB)/8, $libc_linkat_trampoline<>(SB) TEXT libc_listen_trampoline<>(SB),NOSPLIT,$0-0 JMP libc_listen(SB) GLOBL ·libc_listen_trampoline_addr(SB), RODATA, $8 DATA ·libc_listen_trampoline_addr(SB)/8, $libc_listen_trampoline<>(SB) TEXT libc_lstat_trampoline<>(SB),NOSPLIT,$0-0 JMP libc_lstat(SB) GLOBL ·libc_lstat_trampoline_addr(SB), RODATA, $8 DATA ·libc_lstat_trampoline_addr(SB)/8, $libc_lstat_trampoline<>(SB) TEXT libc_mkdir_trampoline<>(SB),NOSPLIT,$0-0 JMP libc_mkdir(SB) GLOBL ·libc_mkdir_trampoline_addr(SB), RODATA, $8 DATA ·libc_mkdir_trampoline_addr(SB)/8, $libc_mkdir_trampoline<>(SB) TEXT libc_mkdirat_trampoline<>(SB),NOSPLIT,$0-0 JMP libc_mkdirat(SB) GLOBL ·libc_mkdirat_trampoline_addr(SB), RODATA, $8 DATA ·libc_mkdirat_trampoline_addr(SB)/8, $libc_mkdirat_trampoline<>(SB) TEXT libc_mkfifo_trampoline<>(SB),NOSPLIT,$0-0 JMP libc_mkfifo(SB) GLOBL ·libc_mkfifo_trampoline_addr(SB), RODATA, $8 DATA ·libc_mkfifo_trampoline_addr(SB)/8, $libc_mkfifo_trampoline<>(SB) TEXT libc_mkfifoat_trampoline<>(SB),NOSPLIT,$0-0 JMP libc_mkfifoat(SB) GLOBL ·libc_mkfifoat_trampoline_addr(SB), RODATA, $8 DATA ·libc_mkfifoat_trampoline_addr(SB)/8, $libc_mkfifoat_trampoline<>(SB) TEXT libc_mknod_trampoline<>(SB),NOSPLIT,$0-0 JMP libc_mknod(SB) GLOBL ·libc_mknod_trampoline_addr(SB), RODATA, $8 DATA ·libc_mknod_trampoline_addr(SB)/8, $libc_mknod_trampoline<>(SB) TEXT libc_mknodat_trampoline<>(SB),NOSPLIT,$0-0 JMP libc_mknodat(SB) GLOBL ·libc_mknodat_trampoline_addr(SB), RODATA, $8 DATA ·libc_mknodat_trampoline_addr(SB)/8, $libc_mknodat_trampoline<>(SB) TEXT libc_mount_trampoline<>(SB),NOSPLIT,$0-0 JMP libc_mount(SB) GLOBL ·libc_mount_trampoline_addr(SB), RODATA, $8 DATA ·libc_mount_trampoline_addr(SB)/8, $libc_mount_trampoline<>(SB) TEXT libc_nanosleep_trampoline<>(SB),NOSPLIT,$0-0 JMP libc_nanosleep(SB) GLOBL ·libc_nanosleep_trampoline_addr(SB), RODATA, $8 DATA ·libc_nanosleep_trampoline_addr(SB)/8, $libc_nanosleep_trampoline<>(SB) TEXT libc_open_trampoline<>(SB),NOSPLIT,$0-0 JMP libc_open(SB) GLOBL ·libc_open_trampoline_addr(SB), RODATA, $8 DATA ·libc_open_trampoline_addr(SB)/8, $libc_open_trampoline<>(SB) TEXT libc_openat_trampoline<>(SB),NOSPLIT,$0-0 JMP libc_openat(SB) GLOBL ·libc_openat_trampoline_addr(SB), RODATA, $8 DATA ·libc_openat_trampoline_addr(SB)/8, $libc_openat_trampoline<>(SB) TEXT libc_pathconf_trampoline<>(SB),NOSPLIT,$0-0 JMP libc_pathconf(SB) GLOBL ·libc_pathconf_trampoline_addr(SB), RODATA, $8 DATA ·libc_pathconf_trampoline_addr(SB)/8, $libc_pathconf_trampoline<>(SB) TEXT libc_pread_trampoline<>(SB),NOSPLIT,$0-0 JMP libc_pread(SB) GLOBL ·libc_pread_trampoline_addr(SB), RODATA, $8 DATA ·libc_pread_trampoline_addr(SB)/8, $libc_pread_trampoline<>(SB) TEXT libc_pwrite_trampoline<>(SB),NOSPLIT,$0-0 JMP libc_pwrite(SB) GLOBL ·libc_pwrite_trampoline_addr(SB), RODATA, $8 DATA ·libc_pwrite_trampoline_addr(SB)/8, $libc_pwrite_trampoline<>(SB) TEXT libc_read_trampoline<>(SB),NOSPLIT,$0-0 JMP libc_read(SB) GLOBL ·libc_read_trampoline_addr(SB), RODATA, $8 DATA ·libc_read_trampoline_addr(SB)/8, $libc_read_trampoline<>(SB) TEXT libc_readlink_trampoline<>(SB),NOSPLIT,$0-0 JMP libc_readlink(SB) GLOBL ·libc_readlink_trampoline_addr(SB), RODATA, $8 DATA ·libc_readlink_trampoline_addr(SB)/8, $libc_readlink_trampoline<>(SB) TEXT libc_readlinkat_trampoline<>(SB),NOSPLIT,$0-0 JMP libc_readlinkat(SB) GLOBL ·libc_readlinkat_trampoline_addr(SB), RODATA, $8 DATA ·libc_readlinkat_trampoline_addr(SB)/8, $libc_readlinkat_trampoline<>(SB) TEXT libc_rename_trampoline<>(SB),NOSPLIT,$0-0 JMP libc_rename(SB) GLOBL ·libc_rename_trampoline_addr(SB), RODATA, $8 DATA ·libc_rename_trampoline_addr(SB)/8, $libc_rename_trampoline<>(SB) TEXT libc_renameat_trampoline<>(SB),NOSPLIT,$0-0 JMP libc_renameat(SB) GLOBL ·libc_renameat_trampoline_addr(SB), RODATA, $8 DATA ·libc_renameat_trampoline_addr(SB)/8, $libc_renameat_trampoline<>(SB) TEXT libc_revoke_trampoline<>(SB),NOSPLIT,$0-0 JMP libc_revoke(SB) GLOBL ·libc_revoke_trampoline_addr(SB), RODATA, $8 DATA ·libc_revoke_trampoline_addr(SB)/8, $libc_revoke_trampoline<>(SB) TEXT libc_rmdir_trampoline<>(SB),NOSPLIT,$0-0 JMP libc_rmdir(SB) GLOBL ·libc_rmdir_trampoline_addr(SB), RODATA, $8 DATA ·libc_rmdir_trampoline_addr(SB)/8, $libc_rmdir_trampoline<>(SB) TEXT libc_lseek_trampoline<>(SB),NOSPLIT,$0-0 JMP libc_lseek(SB) GLOBL ·libc_lseek_trampoline_addr(SB), RODATA, $8 DATA ·libc_lseek_trampoline_addr(SB)/8, $libc_lseek_trampoline<>(SB) TEXT libc_select_trampoline<>(SB),NOSPLIT,$0-0 JMP libc_select(SB) GLOBL ·libc_select_trampoline_addr(SB), RODATA, $8 DATA ·libc_select_trampoline_addr(SB)/8, $libc_select_trampoline<>(SB) TEXT libc_setegid_trampoline<>(SB),NOSPLIT,$0-0 JMP libc_setegid(SB) GLOBL ·libc_setegid_trampoline_addr(SB), RODATA, $8 DATA ·libc_setegid_trampoline_addr(SB)/8, $libc_setegid_trampoline<>(SB) TEXT libc_seteuid_trampoline<>(SB),NOSPLIT,$0-0 JMP libc_seteuid(SB) GLOBL ·libc_seteuid_trampoline_addr(SB), RODATA, $8 DATA ·libc_seteuid_trampoline_addr(SB)/8, $libc_seteuid_trampoline<>(SB) TEXT libc_setgid_trampoline<>(SB),NOSPLIT,$0-0 JMP libc_setgid(SB) GLOBL ·libc_setgid_trampoline_addr(SB), RODATA, $8 DATA ·libc_setgid_trampoline_addr(SB)/8, $libc_setgid_trampoline<>(SB) TEXT libc_setlogin_trampoline<>(SB),NOSPLIT,$0-0 JMP libc_setlogin(SB) GLOBL ·libc_setlogin_trampoline_addr(SB), RODATA, $8 DATA ·libc_setlogin_trampoline_addr(SB)/8, $libc_setlogin_trampoline<>(SB) TEXT libc_setpgid_trampoline<>(SB),NOSPLIT,$0-0 JMP libc_setpgid(SB) GLOBL ·libc_setpgid_trampoline_addr(SB), RODATA, $8 DATA ·libc_setpgid_trampoline_addr(SB)/8, $libc_setpgid_trampoline<>(SB) TEXT libc_setpriority_trampoline<>(SB),NOSPLIT,$0-0 JMP libc_setpriority(SB) GLOBL ·libc_setpriority_trampoline_addr(SB), RODATA, $8 DATA ·libc_setpriority_trampoline_addr(SB)/8, $libc_setpriority_trampoline<>(SB) TEXT libc_setregid_trampoline<>(SB),NOSPLIT,$0-0 JMP libc_setregid(SB) GLOBL ·libc_setregid_trampoline_addr(SB), RODATA, $8 DATA ·libc_setregid_trampoline_addr(SB)/8, $libc_setregid_trampoline<>(SB) TEXT libc_setreuid_trampoline<>(SB),NOSPLIT,$0-0 JMP libc_setreuid(SB) GLOBL ·libc_setreuid_trampoline_addr(SB), RODATA, $8 DATA ·libc_setreuid_trampoline_addr(SB)/8, $libc_setreuid_trampoline<>(SB) TEXT libc_setresgid_trampoline<>(SB),NOSPLIT,$0-0 JMP libc_setresgid(SB) GLOBL ·libc_setresgid_trampoline_addr(SB), RODATA, $8 DATA ·libc_setresgid_trampoline_addr(SB)/8, $libc_setresgid_trampoline<>(SB) TEXT libc_setresuid_trampoline<>(SB),NOSPLIT,$0-0 JMP libc_setresuid(SB) GLOBL ·libc_setresuid_trampoline_addr(SB), RODATA, $8 DATA ·libc_setresuid_trampoline_addr(SB)/8, $libc_setresuid_trampoline<>(SB) TEXT libc_setrtable_trampoline<>(SB),NOSPLIT,$0-0 JMP libc_setrtable(SB) GLOBL ·libc_setrtable_trampoline_addr(SB), RODATA, $8 DATA ·libc_setrtable_trampoline_addr(SB)/8, $libc_setrtable_trampoline<>(SB) TEXT libc_setsid_trampoline<>(SB),NOSPLIT,$0-0 JMP libc_setsid(SB) GLOBL ·libc_setsid_trampoline_addr(SB), RODATA, $8 DATA ·libc_setsid_trampoline_addr(SB)/8, $libc_setsid_trampoline<>(SB) TEXT libc_settimeofday_trampoline<>(SB),NOSPLIT,$0-0 JMP libc_settimeofday(SB) GLOBL ·libc_settimeofday_trampoline_addr(SB), RODATA, $8 DATA ·libc_settimeofday_trampoline_addr(SB)/8, $libc_settimeofday_trampoline<>(SB) TEXT libc_setuid_trampoline<>(SB),NOSPLIT,$0-0 JMP libc_setuid(SB) GLOBL ·libc_setuid_trampoline_addr(SB), RODATA, $8 DATA ·libc_setuid_trampoline_addr(SB)/8, $libc_setuid_trampoline<>(SB) TEXT libc_stat_trampoline<>(SB),NOSPLIT,$0-0 JMP libc_stat(SB) GLOBL ·libc_stat_trampoline_addr(SB), RODATA, $8 DATA ·libc_stat_trampoline_addr(SB)/8, $libc_stat_trampoline<>(SB) TEXT libc_statfs_trampoline<>(SB),NOSPLIT,$0-0 JMP libc_statfs(SB) GLOBL ·libc_statfs_trampoline_addr(SB), RODATA, $8 DATA ·libc_statfs_trampoline_addr(SB)/8, $libc_statfs_trampoline<>(SB) TEXT libc_symlink_trampoline<>(SB),NOSPLIT,$0-0 JMP libc_symlink(SB) GLOBL ·libc_symlink_trampoline_addr(SB), RODATA, $8 DATA ·libc_symlink_trampoline_addr(SB)/8, $libc_symlink_trampoline<>(SB) TEXT libc_symlinkat_trampoline<>(SB),NOSPLIT,$0-0 JMP libc_symlinkat(SB) GLOBL ·libc_symlinkat_trampoline_addr(SB), RODATA, $8 DATA ·libc_symlinkat_trampoline_addr(SB)/8, $libc_symlinkat_trampoline<>(SB) TEXT libc_sync_trampoline<>(SB),NOSPLIT,$0-0 JMP libc_sync(SB) GLOBL ·libc_sync_trampoline_addr(SB), RODATA, $8 DATA ·libc_sync_trampoline_addr(SB)/8, $libc_sync_trampoline<>(SB) TEXT libc_truncate_trampoline<>(SB),NOSPLIT,$0-0 JMP libc_truncate(SB) GLOBL ·libc_truncate_trampoline_addr(SB), RODATA, $8 DATA ·libc_truncate_trampoline_addr(SB)/8, $libc_truncate_trampoline<>(SB) TEXT libc_umask_trampoline<>(SB),NOSPLIT,$0-0 JMP libc_umask(SB) GLOBL ·libc_umask_trampoline_addr(SB), RODATA, $8 DATA ·libc_umask_trampoline_addr(SB)/8, $libc_umask_trampoline<>(SB) TEXT libc_unlink_trampoline<>(SB),NOSPLIT,$0-0 JMP libc_unlink(SB) GLOBL ·libc_unlink_trampoline_addr(SB), RODATA, $8 DATA ·libc_unlink_trampoline_addr(SB)/8, $libc_unlink_trampoline<>(SB) TEXT libc_unlinkat_trampoline<>(SB),NOSPLIT,$0-0 JMP libc_unlinkat(SB) GLOBL ·libc_unlinkat_trampoline_addr(SB), RODATA, $8 DATA ·libc_unlinkat_trampoline_addr(SB)/8, $libc_unlinkat_trampoline<>(SB) TEXT libc_unmount_trampoline<>(SB),NOSPLIT,$0-0 JMP libc_unmount(SB) GLOBL ·libc_unmount_trampoline_addr(SB), RODATA, $8 DATA ·libc_unmount_trampoline_addr(SB)/8, $libc_unmount_trampoline<>(SB) TEXT libc_write_trampoline<>(SB),NOSPLIT,$0-0 JMP libc_write(SB) GLOBL ·libc_write_trampoline_addr(SB), RODATA, $8 DATA ·libc_write_trampoline_addr(SB)/8, $libc_write_trampoline<>(SB) TEXT libc_mmap_trampoline<>(SB),NOSPLIT,$0-0 JMP libc_mmap(SB) GLOBL ·libc_mmap_trampoline_addr(SB), RODATA, $8 DATA ·libc_mmap_trampoline_addr(SB)/8, $libc_mmap_trampoline<>(SB) TEXT libc_munmap_trampoline<>(SB),NOSPLIT,$0-0 JMP libc_munmap(SB) GLOBL ·libc_munmap_trampoline_addr(SB), RODATA, $8 DATA ·libc_munmap_trampoline_addr(SB)/8, $libc_munmap_trampoline<>(SB) TEXT libc_getfsstat_trampoline<>(SB),NOSPLIT,$0-0 JMP libc_getfsstat(SB) GLOBL ·libc_getfsstat_trampoline_addr(SB), RODATA, $8 DATA ·libc_getfsstat_trampoline_addr(SB)/8, $libc_getfsstat_trampoline<>(SB) TEXT libc_utimensat_trampoline<>(SB),NOSPLIT,$0-0 JMP libc_utimensat(SB) GLOBL ·libc_utimensat_trampoline_addr(SB), RODATA, $8 DATA ·libc_utimensat_trampoline_addr(SB)/8, $libc_utimensat_trampoline<>(SB) TEXT libc_pledge_trampoline<>(SB),NOSPLIT,$0-0 JMP libc_pledge(SB) GLOBL ·libc_pledge_trampoline_addr(SB), RODATA, $8 DATA ·libc_pledge_trampoline_addr(SB)/8, $libc_pledge_trampoline<>(SB) TEXT libc_unveil_trampoline<>(SB),NOSPLIT,$0-0 JMP libc_unveil(SB) GLOBL ·libc_unveil_trampoline_addr(SB), RODATA, $8 DATA ·libc_unveil_trampoline_addr(SB)/8, $libc_unveil_trampoline<>(SB) dependencies/pkg/mod/golang.org/x/sys@v0.26.0/unix/zsyscall_netbsd_386.go0000644000000000000000000013020115107355264024740 0ustar rootroot// go run mksyscall.go -l32 -netbsd -tags netbsd,386 syscall_bsd.go syscall_netbsd.go syscall_netbsd_386.go // Code generated by the command above; see README.md. DO NOT EDIT. //go: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 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 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 } // THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT func Madvise(b []byte, behav 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(behav)) 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 Msync(b []byte, flags int) (err error) { var _p0 unsafe.Pointer if len(b) > 0 { _p0 = unsafe.Pointer(&b[0]) } else { _p0 = unsafe.Pointer(&_zero) } _, _, e1 := Syscall(SYS_MSYNC, uintptr(_p0), uintptr(len(b)), uintptr(flags)) 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 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 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 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 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 ioctlPtr(fd int, req uint, arg unsafe.Pointer) (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 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 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 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 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 Dup3(from int, to int, flags int) (err error) { _, _, e1 := Syscall(SYS_DUP3, uintptr(from), uintptr(to), uintptr(flags)) 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 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 Fadvise(fd int, offset int64, length int64, advice int) (err error) { _, _, e1 := Syscall9(SYS_POSIX_FADVISE, uintptr(fd), 0, uintptr(offset), uintptr(offset>>32), 0, uintptr(length), uintptr(length>>32), uintptr(advice), 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 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 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 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 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 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 Fstatvfs1(fd int, buf *Statvfs_t, flags int) (err error) { _, _, e1 := Syscall(SYS_FSTATVFS1, uintptr(fd), uintptr(unsafe.Pointer(buf)), uintptr(flags)) 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 Linkat(pathfd int, path string, linkfd int, link string, flags int) (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 := Syscall6(SYS_LINKAT, uintptr(pathfd), uintptr(unsafe.Pointer(_p0)), uintptr(linkfd), 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 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 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 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 Mkfifoat(dirfd int, path string, mode uint32) (err error) { var _p0 *byte _p0, err = BytePtrFromString(path) if err != nil { return } _, _, e1 := Syscall(SYS_MKFIFOAT, 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 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 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 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 Openat(dirfd int, path string, mode int, perm 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(mode), uintptr(perm), 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 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 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 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 Renameat(fromfd int, from string, tofd int, 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 := Syscall6(SYS_RENAMEAT, uintptr(fromfd), uintptr(unsafe.Pointer(_p0)), uintptr(tofd), 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 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(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 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 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 Statvfs1(path string, buf *Statvfs_t, flags int) (err error) { var _p0 *byte _p0, err = BytePtrFromString(path) if err != nil { return } _, _, e1 := Syscall(SYS_STATVFS1, uintptr(unsafe.Pointer(_p0)), uintptr(unsafe.Pointer(buf)), uintptr(flags)) 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 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 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 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 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 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 mremapNetBSD(oldp uintptr, oldsize uintptr, newp uintptr, newsize uintptr, flags int) (xaddr uintptr, err error) { r0, _, e1 := Syscall6(SYS_MREMAP, uintptr(oldp), uintptr(oldsize), uintptr(newp), uintptr(newsize), uintptr(flags), 0) xaddr = uintptr(r0) if e1 != 0 { err = errnoErr(e1) } return } dependencies/pkg/mod/golang.org/x/sys@v0.26.0/unix/cap_freebsd.go0000644000000000000000000001201315107355264023372 0ustar rootroot// Copyright 2017 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:build freebsd package unix import ( "errors" "fmt" ) // Go implementation of C mostly found in /usr/src/sys/kern/subr_capability.c const ( // This is the version of CapRights this package understands. See C implementation for parallels. capRightsGoVersion = CAP_RIGHTS_VERSION_00 capArSizeMin = CAP_RIGHTS_VERSION_00 + 2 capArSizeMax = capRightsGoVersion + 2 ) var ( bit2idx = []int{ -1, 0, 1, -1, 2, -1, -1, -1, 3, -1, -1, -1, -1, -1, -1, -1, 4, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, } ) func capidxbit(right uint64) int { return int((right >> 57) & 0x1f) } func rightToIndex(right uint64) (int, error) { idx := capidxbit(right) if idx < 0 || idx >= len(bit2idx) { return -2, fmt.Errorf("index for right 0x%x out of range", right) } return bit2idx[idx], nil } func caprver(right uint64) int { return int(right >> 62) } func capver(rights *CapRights) int { return caprver(rights.Rights[0]) } func caparsize(rights *CapRights) int { return capver(rights) + 2 } // CapRightsSet sets the permissions in setrights in rights. func CapRightsSet(rights *CapRights, setrights []uint64) error { // This is essentially a copy of cap_rights_vset() if capver(rights) != CAP_RIGHTS_VERSION_00 { return fmt.Errorf("bad rights version %d", capver(rights)) } n := caparsize(rights) if n < capArSizeMin || n > capArSizeMax { return errors.New("bad rights size") } for _, right := range setrights { if caprver(right) != CAP_RIGHTS_VERSION_00 { return errors.New("bad right version") } i, err := rightToIndex(right) if err != nil { return err } if i >= n { return errors.New("index overflow") } if capidxbit(rights.Rights[i]) != capidxbit(right) { return errors.New("index mismatch") } rights.Rights[i] |= right if capidxbit(rights.Rights[i]) != capidxbit(right) { return errors.New("index mismatch (after assign)") } } return nil } // CapRightsClear clears the permissions in clearrights from rights. func CapRightsClear(rights *CapRights, clearrights []uint64) error { // This is essentially a copy of cap_rights_vclear() if capver(rights) != CAP_RIGHTS_VERSION_00 { return fmt.Errorf("bad rights version %d", capver(rights)) } n := caparsize(rights) if n < capArSizeMin || n > capArSizeMax { return errors.New("bad rights size") } for _, right := range clearrights { if caprver(right) != CAP_RIGHTS_VERSION_00 { return errors.New("bad right version") } i, err := rightToIndex(right) if err != nil { return err } if i >= n { return errors.New("index overflow") } if capidxbit(rights.Rights[i]) != capidxbit(right) { return errors.New("index mismatch") } rights.Rights[i] &= ^(right & 0x01FFFFFFFFFFFFFF) if capidxbit(rights.Rights[i]) != capidxbit(right) { return errors.New("index mismatch (after assign)") } } return nil } // CapRightsIsSet checks whether all the permissions in setrights are present in rights. func CapRightsIsSet(rights *CapRights, setrights []uint64) (bool, error) { // This is essentially a copy of cap_rights_is_vset() if capver(rights) != CAP_RIGHTS_VERSION_00 { return false, fmt.Errorf("bad rights version %d", capver(rights)) } n := caparsize(rights) if n < capArSizeMin || n > capArSizeMax { return false, errors.New("bad rights size") } for _, right := range setrights { if caprver(right) != CAP_RIGHTS_VERSION_00 { return false, errors.New("bad right version") } i, err := rightToIndex(right) if err != nil { return false, err } if i >= n { return false, errors.New("index overflow") } if capidxbit(rights.Rights[i]) != capidxbit(right) { return false, errors.New("index mismatch") } if (rights.Rights[i] & right) != right { return false, nil } } return true, nil } func capright(idx uint64, bit uint64) uint64 { return ((1 << (57 + idx)) | bit) } // CapRightsInit returns a pointer to an initialised CapRights structure filled with rights. // See man cap_rights_init(3) and rights(4). func CapRightsInit(rights []uint64) (*CapRights, error) { var r CapRights r.Rights[0] = (capRightsGoVersion << 62) | capright(0, 0) r.Rights[1] = capright(1, 0) err := CapRightsSet(&r, rights) if err != nil { return nil, err } return &r, nil } // CapRightsLimit reduces the operations permitted on fd to at most those contained in rights. // The capability rights on fd can never be increased by CapRightsLimit. // See man cap_rights_limit(2) and rights(4). func CapRightsLimit(fd uintptr, rights *CapRights) error { return capRightsLimit(int(fd), rights) } // CapRightsGet returns a CapRights structure containing the operations permitted on fd. // See man cap_rights_get(3) and rights(4). func CapRightsGet(fd uintptr) (*CapRights, error) { r, err := CapRightsInit(nil) if err != nil { return nil, err } err = capRightsGet(capRightsGoVersion, int(fd), r) if err != nil { return nil, err } return r, nil } dependencies/pkg/mod/golang.org/x/sys@v0.26.0/unix/zsysnum_freebsd_amd64.go0000644000000000000000000011014215107355264025354 0ustar rootroot// go run mksysnum.go https://cgit.freebsd.org/src/plain/sys/kern/syscalls.master?h=stable/12 // Code generated by the command above; see README.md. DO NOT EDIT. //go: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_exit_args void 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, struct rusage *rusage); } 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_CHMOD = 15 // { int chmod(char *path, int mode); } SYS_CHOWN = 16 // { int chown(char *path, int uid, int gid); } SYS_BREAK = 17 // { caddr_t break(char *nsize); } SYS_GETPID = 20 // { pid_t getpid(void); } SYS_MOUNT = 21 // { int mount(char *type, char *path, int flags, caddr_t data); } 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, int data); } SYS_RECVMSG = 27 // { int recvmsg(int s, struct msghdr *msg, int flags); } SYS_SENDMSG = 28 // { int sendmsg(int s, struct msghdr *msg, int flags); } SYS_RECVFROM = 29 // { int recvfrom(int s, caddr_t buf, size_t len, int flags, struct sockaddr * __restrict from, __socklen_t * __restrict fromlenaddr); } SYS_ACCEPT = 30 // { int accept(int s, struct sockaddr * __restrict name, __socklen_t * __restrict anamelen); } SYS_GETPEERNAME = 31 // { int getpeername(int fdes, struct sockaddr * __restrict asa, __socklen_t * __restrict alen); } SYS_GETSOCKNAME = 32 // { int getsockname(int fdes, struct sockaddr * __restrict asa, __socklen_t * __restrict alen); } 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_GETEGID = 43 // { gid_t getegid(void); } SYS_PROFIL = 44 // { int profil(caddr_t samples, size_t size, size_t offset, u_int scale); } SYS_KTRACE = 45 // { int ktrace(const char *fname, int ops, int facs, int pid); } 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 // { ssize_t readlink(char *path, char *buf, size_t count); } SYS_EXECVE = 59 // { int execve(char *fname, char **argv, char **envv); } SYS_UMASK = 60 // { int umask(int newmask); } SYS_CHROOT = 61 // { int chroot(char *path); } SYS_MSYNC = 65 // { int msync(void *addr, size_t len, int flags); } SYS_VFORK = 66 // { int 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, char *vec); } 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, struct itimerval *oitv); } 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(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, fd_set *ex, struct timeval *tv); } 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, caddr_t val, int valsize); } SYS_LISTEN = 106 // { int listen(int s, int backlog); } SYS_GETTIMEOFDAY = 116 // { int gettimeofday(struct timeval *tp, struct timezone *tzp); } SYS_GETRUSAGE = 117 // { int getrusage(int who, struct rusage *rusage); } SYS_GETSOCKOPT = 118 // { int getsockopt(int s, int level, int name, caddr_t val, int *avalsize); } SYS_READV = 120 // { int readv(int fd, struct iovec *iovp, u_int iovcnt); } SYS_WRITEV = 121 // { int writev(int fd, struct iovec *iovp, u_int iovcnt); } SYS_SETTIMEOFDAY = 122 // { int settimeofday(struct timeval *tv, struct timezone *tzp); } 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, int flags, caddr_t to, int tolen); } SYS_SHUTDOWN = 134 // { int shutdown(int s, int how); } SYS_SOCKETPAIR = 135 // { int socketpair(int domain, int type, int protocol, int *rsv); } 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, struct timeval *olddelta); } SYS_SETSID = 147 // { int setsid(void); } SYS_QUOTACTL = 148 // { int quotactl(char *path, int cmd, int uid, caddr_t arg); } SYS_NLM_SYSCALL = 154 // { int nlm_syscall(int debug_level, int grace_period, int addr_count, char **addrs); } SYS_NFSSVC = 155 // { int nfssvc(int flag, caddr_t argp); } SYS_LGETFH = 160 // { int lgetfh(char *fname, struct fhandle *fhp); } SYS_GETFH = 161 // { int getfh(char *fname, struct fhandle *fhp); } SYS_SYSARCH = 165 // { int sysarch(int op, char *parms); } SYS_RTPRIO = 166 // { int rtprio(int function, pid_t pid, struct rtprio *rtp); } SYS_SEMSYS = 169 // { int semsys(int which, int a2, int a3, int a4, int a5); } SYS_MSGSYS = 170 // { int msgsys(int which, int a2, int a3, int a4, int a5, int a6); } SYS_SHMSYS = 171 // { int shmsys(int which, int a2, int a3, int a4); } 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_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, struct rlimit *rlp); } getrlimit __getrlimit_args int SYS_SETRLIMIT = 195 // { int setrlimit(u_int which, struct rlimit *rlp); } setrlimit __setrlimit_args int SYS___SYSCTL = 202 // { int __sysctl(int *name, u_int namelen, void *old, size_t *oldlenp, void *new, size_t newlen); } __sysctl sysctl_args int 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, int timeout); } SYS_SEMGET = 221 // { int semget(key_t key, int nsems, int semflg); } SYS_SEMOP = 222 // { int semop(int semid, struct sembuf *sops, size_t nsops); } SYS_MSGGET = 225 // { int msgget(key_t key, int msgflg); } SYS_MSGSND = 226 // { int msgsnd(int msqid, const void *msgp, size_t msgsz, int msgflg); } SYS_MSGRCV = 227 // { ssize_t msgrcv(int msqid, void *msgp, size_t msgsz, long msgtyp, int msgflg); } SYS_SHMAT = 228 // { int shmat(int shmid, const void *shmaddr, int shmflg); } 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, struct timespec *tp); } SYS_CLOCK_SETTIME = 233 // { int clock_settime(clockid_t clock_id, const struct timespec *tp); } SYS_CLOCK_GETRES = 234 // { int clock_getres(clockid_t clock_id, struct timespec *tp); } SYS_KTIMER_CREATE = 235 // { int ktimer_create(clockid_t clock_id, struct sigevent *evp, int *timerid); } SYS_KTIMER_DELETE = 236 // { int ktimer_delete(int timerid); } SYS_KTIMER_SETTIME = 237 // { int ktimer_settime(int timerid, int flags, const struct itimerspec *value, struct itimerspec *ovalue); } SYS_KTIMER_GETTIME = 238 // { int ktimer_gettime(int timerid, struct itimerspec *value); } SYS_KTIMER_GETOVERRUN = 239 // { int ktimer_getoverrun(int timerid); } SYS_NANOSLEEP = 240 // { int nanosleep(const struct timespec *rqtp, struct timespec *rmtp); } SYS_FFCLOCK_GETCOUNTER = 241 // { int ffclock_getcounter(ffcounter *ffcount); } SYS_FFCLOCK_SETESTIMATE = 242 // { int ffclock_setestimate(struct ffclock_estimate *cest); } SYS_FFCLOCK_GETESTIMATE = 243 // { int ffclock_getestimate(struct ffclock_estimate *cest); } SYS_CLOCK_NANOSLEEP = 244 // { int clock_nanosleep(clockid_t clock_id, int flags, const struct timespec *rqtp, struct timespec *rmtp); } SYS_CLOCK_GETCPUCLOCKID2 = 247 // { int clock_getcpuclockid2(id_t id, int which, clockid_t *clock_id); } SYS_NTP_GETTIME = 248 // { int ntp_gettime(struct ntptimeval *ntvp); } SYS_MINHERIT = 250 // { int minherit(void *addr, size_t len, int inherit); } SYS_RFORK = 251 // { int rfork(int flags); } SYS_ISSETUGID = 253 // { int issetugid(void); } SYS_LCHOWN = 254 // { int lchown(char *path, int uid, int gid); } SYS_AIO_READ = 255 // { int aio_read(struct aiocb *aiocbp); } SYS_AIO_WRITE = 256 // { int aio_write(struct aiocb *aiocbp); } SYS_LIO_LISTIO = 257 // { int lio_listio(int mode, struct aiocb* const *acb_list, int nent, struct sigevent *sig); } SYS_LCHMOD = 274 // { int lchmod(char *path, mode_t mode); } SYS_LUTIMES = 276 // { int lutimes(char *path, struct timeval *tptr); } SYS_PREADV = 289 // { ssize_t preadv(int fd, struct iovec *iovp, u_int iovcnt, off_t offset); } SYS_PWRITEV = 290 // { ssize_t pwritev(int fd, struct iovec *iovp, u_int iovcnt, off_t offset); } 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 // { ssize_t 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_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, size_t 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, sigset_t *oset); } 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, siginfo_t *info, const struct timespec *timeout); } SYS_SIGWAITINFO = 346 // { int sigwaitinfo(const sigset_t *set, siginfo_t *info); } SYS___ACL_GET_FILE = 347 // { int __acl_get_file(const char *path, acl_type_t type, struct acl *aclp); } SYS___ACL_SET_FILE = 348 // { int __acl_set_file(const char *path, acl_type_t type, struct acl *aclp); } SYS___ACL_GET_FD = 349 // { int __acl_get_fd(int filedes, acl_type_t type, struct acl *aclp); } SYS___ACL_SET_FD = 350 // { int __acl_set_fd(int filedes, acl_type_t type, struct acl *aclp); } SYS___ACL_DELETE_FILE = 351 // { int __acl_delete_file(const char *path, acl_type_t type); } 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, acl_type_t type, struct acl *aclp); } SYS___ACL_ACLCHECK_FD = 354 // { int __acl_aclcheck_fd(int filedes, acl_type_t type, struct acl *aclp); } SYS_EXTATTRCTL = 355 // { int extattrctl(const char *path, int cmd, const char *filename, int attrnamespace, const char *attrname); } SYS_EXTATTR_SET_FILE = 356 // { ssize_t extattr_set_file(const char *path, int attrnamespace, const char *attrname, void *data, size_t nbytes); } SYS_EXTATTR_GET_FILE = 357 // { ssize_t extattr_get_file(const char *path, int attrnamespace, const char *attrname, void *data, size_t nbytes); } SYS_EXTATTR_DELETE_FILE = 358 // { int extattr_delete_file(const char *path, int attrnamespace, const char *attrname); } SYS_AIO_WAITCOMPLETE = 359 // { ssize_t 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_EXTATTR_SET_FD = 371 // { ssize_t extattr_set_fd(int fd, int attrnamespace, const char *attrname, void *data, size_t nbytes); } SYS_EXTATTR_GET_FD = 372 // { ssize_t extattr_get_fd(int fd, int attrnamespace, const char *attrname, void *data, size_t nbytes); } SYS_EXTATTR_DELETE_FD = 373 // { int extattr_delete_fd(int fd, int attrnamespace, const char *attrname); } SYS___SETUGID = 374 // { int __setugid(int flag); } SYS_EACCESS = 376 // { int eaccess(char *path, int amode); } SYS_NMOUNT = 378 // { int nmount(struct iovec *iovp, unsigned int iovcnt, int flags); } 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, struct mac *mac_p); } SYS___MAC_GET_FILE = 387 // { int __mac_get_file(const char *path_p, struct mac *mac_p); } SYS___MAC_SET_FD = 388 // { int __mac_set_fd(int fd, struct mac *mac_p); } SYS___MAC_SET_FILE = 389 // { int __mac_set_file(const char *path_p, struct mac *mac_p); } SYS_KENV = 390 // { int kenv(int what, const char *name, char *value, int len); } SYS_LCHFLAGS = 391 // { int lchflags(const char *path, u_long 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, struct sf_hdtr *hdtr, off_t *sbytes, int flags); } SYS_MAC_SYSCALL = 394 // { int mac_syscall(const char *policy, int call, void *arg); } SYS_KSEM_CLOSE = 400 // { int ksem_close(semid_t id); } SYS_KSEM_POST = 401 // { int ksem_post(semid_t id); } SYS_KSEM_WAIT = 402 // { int ksem_wait(semid_t id); } SYS_KSEM_TRYWAIT = 403 // { int ksem_trywait(semid_t id); } SYS_KSEM_INIT = 404 // { int ksem_init(semid_t *idp, unsigned int value); } SYS_KSEM_OPEN = 405 // { int ksem_open(semid_t *idp, const char *name, int oflag, mode_t mode, unsigned int value); } SYS_KSEM_UNLINK = 406 // { int ksem_unlink(const char *name); } SYS_KSEM_GETVALUE = 407 // { int ksem_getvalue(semid_t id, int *val); } SYS_KSEM_DESTROY = 408 // { int ksem_destroy(semid_t id); } SYS___MAC_GET_PID = 409 // { int __mac_get_pid(pid_t pid, struct mac *mac_p); } SYS___MAC_GET_LINK = 410 // { int __mac_get_link(const char *path_p, struct mac *mac_p); } SYS___MAC_SET_LINK = 411 // { int __mac_set_link(const char *path_p, struct mac *mac_p); } SYS_EXTATTR_SET_LINK = 412 // { ssize_t extattr_set_link(const char *path, int attrnamespace, const char *attrname, void *data, size_t nbytes); } SYS_EXTATTR_GET_LINK = 413 // { ssize_t extattr_get_link(const char *path, int attrnamespace, const char *attrname, void *data, size_t nbytes); } SYS_EXTATTR_DELETE_LINK = 414 // { int extattr_delete_link(const char *path, int attrnamespace, const char *attrname); } SYS___MAC_EXECVE = 415 // { int __mac_execve(char *fname, char **argv, char **envv, struct mac *mac_p); } SYS_SIGACTION = 416 // { int sigaction(int sig, const struct sigaction *act, struct sigaction *oact); } SYS_SIGRETURN = 417 // { int sigreturn(const struct __ucontext *sigcntxp); } SYS_GETCONTEXT = 421 // { int getcontext(struct __ucontext *ucp); } SYS_SETCONTEXT = 422 // { int setcontext(const struct __ucontext *ucp); } SYS_SWAPCONTEXT = 423 // { int swapcontext(struct __ucontext *oucp, const struct __ucontext *ucp); } SYS_SWAPOFF = 424 // { int swapoff(const char *name); } SYS___ACL_GET_LINK = 425 // { int __acl_get_link(const char *path, acl_type_t type, struct acl *aclp); } SYS___ACL_SET_LINK = 426 // { int __acl_set_link(const char *path, acl_type_t type, struct acl *aclp); } SYS___ACL_DELETE_LINK = 427 // { int __acl_delete_link(const char *path, acl_type_t type); } SYS___ACL_ACLCHECK_LINK = 428 // { int __acl_aclcheck_link(const char *path, acl_type_t type, struct acl *aclp); } SYS_SIGWAIT = 429 // { int sigwait(const sigset_t *set, int *sig); } SYS_THR_CREATE = 430 // { int thr_create(ucontext_t *ctx, long *id, int flags); } 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_JAIL_ATTACH = 436 // { int jail_attach(int jid); } SYS_EXTATTR_LIST_FD = 437 // { ssize_t extattr_list_fd(int fd, int attrnamespace, void *data, size_t nbytes); } SYS_EXTATTR_LIST_FILE = 438 // { ssize_t extattr_list_file(const char *path, int attrnamespace, void *data, size_t nbytes); } SYS_EXTATTR_LIST_LINK = 439 // { ssize_t extattr_list_link(const char *path, int attrnamespace, void *data, size_t nbytes); } SYS_KSEM_TIMEDWAIT = 441 // { int ksem_timedwait(semid_t id, const struct timespec *abstime); } SYS_THR_SUSPEND = 442 // { int thr_suspend(const struct timespec *timeout); } 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, u_int length); } SYS_AUDITON = 446 // { int auditon(int cmd, void *data, u_int length); } 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(struct auditinfo_addr *auditinfo_addr, u_int length); } SYS_SETAUDIT_ADDR = 452 // { int setaudit_addr(struct auditinfo_addr *auditinfo_addr, u_int length); } SYS_AUDITCTL = 453 // { int auditctl(char *path); } SYS__UMTX_OP = 454 // { int _umtx_op(void *obj, int op, u_long val, void *uaddr1, void *uaddr2); } SYS_THR_NEW = 455 // { int thr_new(struct thr_param *param, int param_size); } SYS_SIGQUEUE = 456 // { int sigqueue(pid_t pid, int signum, void *value); } SYS_KMQ_OPEN = 457 // { int kmq_open(const char *path, int flags, mode_t mode, const struct mq_attr *attr); } SYS_KMQ_SETATTR = 458 // { int kmq_setattr(int mqd, const struct mq_attr *attr, struct mq_attr *oattr); } SYS_KMQ_TIMEDRECEIVE = 459 // { int kmq_timedreceive(int mqd, char *msg_ptr, size_t msg_len, unsigned *msg_prio, const struct timespec *abs_timeout); } SYS_KMQ_TIMEDSEND = 460 // { int kmq_timedsend(int mqd, const char *msg_ptr, size_t msg_len, unsigned msg_prio, const struct timespec *abs_timeout); } SYS_KMQ_NOTIFY = 461 // { int kmq_notify(int mqd, const struct sigevent *sigev); } SYS_KMQ_UNLINK = 462 // { int kmq_unlink(const char *path); } 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_AIO_FSYNC = 465 // { int aio_fsync(int op, struct aiocb *aiocbp); } SYS_RTPRIO_THREAD = 466 // { int rtprio_thread(int function, lwpid_t lwpid, struct rtprio *rtp); } 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, caddr_t to, __socklen_t tolen, struct sctp_sndrcvinfo *sinfo, int flags); } SYS_SCTP_GENERIC_SENDMSG_IOV = 473 // { int sctp_generic_sendmsg_iov(int sd, struct iovec *iov, int iovlen, caddr_t to, __socklen_t tolen, struct sctp_sndrcvinfo *sinfo, int flags); } SYS_SCTP_GENERIC_RECVMSG = 474 // { int sctp_generic_recvmsg(int sd, struct iovec *iov, int iovlen, struct sockaddr *from, __socklen_t *fromlenaddr, struct sctp_sndrcvinfo *sinfo, int *msg_flags); } SYS_PREAD = 475 // { ssize_t pread(int fd, void *buf, size_t nbyte, off_t offset); } SYS_PWRITE = 476 // { ssize_t pwrite(int fd, const void *buf, size_t nbyte, off_t offset); } SYS_MMAP = 477 // { caddr_t mmap(caddr_t addr, size_t len, int prot, int flags, int fd, off_t pos); } SYS_LSEEK = 478 // { off_t lseek(int fd, off_t offset, int whence); } 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, mode_t mode); } 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, cpusetid_t setid); } SYS_CPUSET_GETID = 486 // { int cpuset_getid(cpulevel_t level, cpuwhich_t which, id_t id, cpusetid_t *setid); } SYS_CPUSET_GETAFFINITY = 487 // { int cpuset_getaffinity(cpulevel_t level, cpuwhich_t which, id_t id, size_t cpusetsize, cpuset_t *mask); } SYS_CPUSET_SETAFFINITY = 488 // { int cpuset_setaffinity(cpulevel_t level, cpuwhich_t which, id_t id, size_t cpusetsize, const cpuset_t *mask); } SYS_FACCESSAT = 489 // { int faccessat(int fd, char *path, int amode, int flag); } SYS_FCHMODAT = 490 // { int fchmodat(int fd, char *path, mode_t mode, int flag); } SYS_FCHOWNAT = 491 // { int fchownat(int fd, char *path, uid_t uid, gid_t gid, int flag); } SYS_FEXECVE = 492 // { int fexecve(int fd, char **argv, char **envv); } SYS_FUTIMESAT = 494 // { int futimesat(int fd, char *path, struct timeval *times); } SYS_LINKAT = 495 // { int linkat(int fd1, char *path1, int fd2, char *path2, int flag); } 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_OPENAT = 499 // { int openat(int fd, char *path, int flag, mode_t mode); } SYS_READLINKAT = 500 // { ssize_t readlinkat(int fd, char *path, char *buf, size_t bufsize); } SYS_RENAMEAT = 501 // { int renameat(int oldfd, char *old, int newfd, char *new); } SYS_SYMLINKAT = 502 // { int symlinkat(char *path1, int fd, char *path2); } SYS_UNLINKAT = 503 // { int unlinkat(int fd, char *path, int flag); } SYS_POSIX_OPENPT = 504 // { int posix_openpt(int flags); } SYS_GSSD_SYSCALL = 505 // { int gssd_syscall(char *path); } SYS_JAIL_GET = 506 // { int jail_get(struct iovec *iovp, unsigned int iovcnt, int flags); } SYS_JAIL_SET = 507 // { int jail_set(struct iovec *iovp, unsigned int iovcnt, int flags); } SYS_JAIL_REMOVE = 508 // { int jail_remove(int jid); } SYS_CLOSEFROM = 509 // { int closefrom(int lowfd); } SYS___SEMCTL = 510 // { int __semctl(int semid, int semnum, int cmd, union semun *arg); } SYS_MSGCTL = 511 // { int msgctl(int msqid, int cmd, struct msqid_ds *buf); } SYS_SHMCTL = 512 // { int shmctl(int shmid, int cmd, struct shmid_ds *buf); } SYS_LPATHCONF = 513 // { int lpathconf(char *path, int name); } SYS___CAP_RIGHTS_GET = 515 // { int __cap_rights_get(int version, int fd, cap_rights_t *rightsp); } 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, fd_set *ou, fd_set *ex, const struct timespec *ts, const sigset_t *sm); } SYS_GETLOGINCLASS = 523 // { int getloginclass(char *namebuf, size_t namelen); } SYS_SETLOGINCLASS = 524 // { int setloginclass(const char *namebuf); } SYS_RCTL_GET_RACCT = 525 // { int rctl_get_racct(const void *inbufp, size_t inbuflen, void *outbufp, size_t outbuflen); } SYS_RCTL_GET_RULES = 526 // { int rctl_get_rules(const void *inbufp, size_t inbuflen, void *outbufp, size_t outbuflen); } SYS_RCTL_GET_LIMITS = 527 // { int rctl_get_limits(const void *inbufp, size_t inbuflen, void *outbufp, size_t outbuflen); } SYS_RCTL_ADD_RULE = 528 // { int rctl_add_rule(const void *inbufp, size_t inbuflen, void *outbufp, size_t outbuflen); } SYS_RCTL_REMOVE_RULE = 529 // { int rctl_remove_rule(const void *inbufp, size_t inbuflen, void *outbufp, size_t outbuflen); } SYS_POSIX_FALLOCATE = 530 // { int posix_fallocate(int fd, off_t offset, off_t len); } SYS_POSIX_FADVISE = 531 // { int posix_fadvise(int fd, off_t offset, off_t len, int advice); } SYS_WAIT6 = 532 // { int wait6(idtype_t idtype, id_t id, int *status, int options, struct __wrusage *wrusage, siginfo_t *info); } SYS_CAP_RIGHTS_LIMIT = 533 // { int cap_rights_limit(int fd, cap_rights_t *rightsp); } SYS_CAP_IOCTLS_LIMIT = 534 // { int cap_ioctls_limit(int fd, const u_long *cmds, size_t ncmds); } SYS_CAP_IOCTLS_GET = 535 // { ssize_t cap_ioctls_get(int fd, u_long *cmds, size_t maxcmds); } SYS_CAP_FCNTLS_LIMIT = 536 // { int cap_fcntls_limit(int fd, uint32_t fcntlrights); } SYS_CAP_FCNTLS_GET = 537 // { int cap_fcntls_get(int fd, uint32_t *fcntlrightsp); } SYS_BINDAT = 538 // { int bindat(int fd, int s, caddr_t name, int namelen); } SYS_CONNECTAT = 539 // { int connectat(int fd, int s, caddr_t name, int namelen); } SYS_CHFLAGSAT = 540 // { int chflagsat(int fd, const char *path, u_long flags, int atflag); } SYS_ACCEPT4 = 541 // { int accept4(int s, struct sockaddr * __restrict name, __socklen_t * __restrict anamelen, int flags); } SYS_PIPE2 = 542 // { int pipe2(int *fildes, int flags); } SYS_AIO_MLOCK = 543 // { int aio_mlock(struct aiocb *aiocbp); } SYS_PROCCTL = 544 // { int procctl(idtype_t idtype, id_t id, int com, void *data); } SYS_PPOLL = 545 // { int ppoll(struct pollfd *fds, u_int nfds, const struct timespec *ts, const sigset_t *set); } SYS_FUTIMENS = 546 // { int futimens(int fd, struct timespec *times); } SYS_UTIMENSAT = 547 // { int utimensat(int fd, char *path, struct timespec *times, int flag); } SYS_FDATASYNC = 550 // { int fdatasync(int fd); } SYS_FSTAT = 551 // { int fstat(int fd, struct stat *sb); } SYS_FSTATAT = 552 // { int fstatat(int fd, char *path, struct stat *buf, int flag); } SYS_FHSTAT = 553 // { int fhstat(const struct fhandle *u_fhp, struct stat *sb); } SYS_GETDIRENTRIES = 554 // { ssize_t getdirentries(int fd, char *buf, size_t count, off_t *basep); } SYS_STATFS = 555 // { int statfs(char *path, struct statfs *buf); } SYS_FSTATFS = 556 // { int fstatfs(int fd, struct statfs *buf); } SYS_GETFSSTAT = 557 // { int getfsstat(struct statfs *buf, long bufsize, int mode); } SYS_FHSTATFS = 558 // { int fhstatfs(const struct fhandle *u_fhp, struct statfs *buf); } SYS_MKNODAT = 559 // { int mknodat(int fd, char *path, mode_t mode, dev_t dev); } SYS_KEVENT = 560 // { int kevent(int fd, struct kevent *changelist, int nchanges, struct kevent *eventlist, int nevents, const struct timespec *timeout); } SYS_CPUSET_GETDOMAIN = 561 // { int cpuset_getdomain(cpulevel_t level, cpuwhich_t which, id_t id, size_t domainsetsize, domainset_t *mask, int *policy); } SYS_CPUSET_SETDOMAIN = 562 // { int cpuset_setdomain(cpulevel_t level, cpuwhich_t which, id_t id, size_t domainsetsize, domainset_t *mask, int policy); } SYS_GETRANDOM = 563 // { int getrandom(void *buf, size_t buflen, unsigned int flags); } SYS_GETFHAT = 564 // { int getfhat(int fd, char *path, struct fhandle *fhp, int flags); } SYS_FHLINK = 565 // { int fhlink(struct fhandle *fhp, const char *to); } SYS_FHLINKAT = 566 // { int fhlinkat(struct fhandle *fhp, int tofd, const char *to,); } SYS_FHREADLINK = 567 // { int fhreadlink(struct fhandle *fhp, char *buf, size_t bufsize); } SYS___SYSCTLBYNAME = 570 // { int __sysctlbyname(const char *name, size_t namelen, void *old, size_t *oldlenp, void *new, size_t newlen); } SYS_CLOSE_RANGE = 575 // { int close_range(u_int lowfd, u_int highfd, int flags); } ) dependencies/pkg/mod/golang.org/x/sys@v0.26.0/unix/syscall_aix_ppc.go0000644000000000000000000000243015107355264024314 0ustar rootroot// Copyright 2018 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:build aix && ppc package unix //sysnb Getrlimit(resource int, rlim *Rlimit) (err error) = getrlimit64 //sys Seek(fd int, offset int64, whence int) (off int64, err error) = lseek64 //sys mmap(addr uintptr, length uintptr, prot int, flags int, fd int, offset int64) (xaddr uintptr, err error) func setTimespec(sec, nsec int64) Timespec { return Timespec{Sec: int32(sec), Nsec: int32(nsec)} } func setTimeval(sec, usec int64) Timeval { return Timeval{Sec: int32(sec), Usec: int32(usec)} } func (iov *Iovec) SetLen(length int) { iov.Len = uint32(length) } func (msghdr *Msghdr) SetControllen(length int) { msghdr.Controllen = uint32(length) } func (msghdr *Msghdr) SetIovlen(length int) { msghdr.Iovlen = int32(length) } func (cmsg *Cmsghdr) SetLen(length int) { cmsg.Len = uint32(length) } func Fstat(fd int, stat *Stat_t) error { return fstat(fd, stat) } func Fstatat(dirfd int, path string, stat *Stat_t, flags int) error { return fstatat(dirfd, path, stat, flags) } func Lstat(path string, stat *Stat_t) error { return lstat(path, stat) } func Stat(path string, statptr *Stat_t) error { return stat(path, statptr) } dependencies/pkg/mod/golang.org/x/sys@v0.26.0/unix/zsyscall_linux_arm.go0000644000000000000000000003715615107355264025076 0ustar rootroot// go run mksyscall.go -l32 -arm -tags linux,arm syscall_linux.go syscall_linux_arm.go // Code generated by the command above; see README.md. DO NOT EDIT. //go: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 fanotifyMark(fd int, flags uint, mask uint64, dirFd int, pathname *byte) (err error) { _, _, e1 := Syscall6(SYS_FANOTIFY_MARK, uintptr(fd), uintptr(flags), uintptr(mask), uintptr(mask>>32), uintptr(dirFd), uintptr(unsafe.Pointer(pathname))) 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 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 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 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_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 Fstatat(dirfd int, path string, stat *Stat_t, flags int) (err error) { var _p0 *byte _p0, err = BytePtrFromString(path) if err != nil { return } _, _, e1 := Syscall6(SYS_FSTATAT64, uintptr(dirfd), 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 Getegid() (egid int) { r0, _ := RawSyscallNoError(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, _ := RawSyscallNoError(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, _ := RawSyscallNoError(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, _ := RawSyscallNoError(SYS_GETUID32, 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_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 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 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 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) (prev int, err error) { r0, _, e1 := Syscall(SYS_SETFSGID32, uintptr(gid), 0, 0) prev = int(r0) if e1 != 0 { err = errnoErr(e1) } return } // THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT func setfsuid(uid int) (prev int, err error) { r0, _, e1 := Syscall(SYS_SETFSUID32, uintptr(uid), 0, 0) prev = int(r0) 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 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 futimesat(dirfd int, path string, times *[2]Timeval) (err error) { var _p0 *byte _p0, err = BytePtrFromString(path) if err != nil { return } _, _, e1 := Syscall(SYS_FUTIMESAT, uintptr(dirfd), uintptr(unsafe.Pointer(_p0)), 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 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 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 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 armSyncFileRange(fd int, flags int, off int64, n int64) (err error) { _, _, e1 := Syscall6(SYS_ARM_SYNC_FILE_RANGE, uintptr(fd), uintptr(flags), uintptr(off), uintptr(off>>32), uintptr(n), uintptr(n>>32)) if e1 != 0 { err = errnoErr(e1) } return } // THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT func kexecFileLoad(kernelFd int, initrdFd int, cmdlineLen int, cmdline string, flags int) (err error) { var _p0 *byte _p0, err = BytePtrFromString(cmdline) if err != nil { return } _, _, e1 := Syscall6(SYS_KEXEC_FILE_LOAD, uintptr(kernelFd), uintptr(initrdFd), uintptr(cmdlineLen), uintptr(unsafe.Pointer(_p0)), uintptr(flags), 0) if e1 != 0 { err = errnoErr(e1) } return } dependencies/pkg/mod/golang.org/x/sys@v0.26.0/unix/syscall_linux_s390x.go0000644000000000000000000002244515107355264025006 0ustar rootroot// 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. //go:build s390x && linux package unix import ( "unsafe" ) //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 Fstatat(dirfd int, path string, stat *Stat_t, flags int) (err error) = SYS_NEWFSTATAT //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 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 Renameat(olddirfd int, oldpath string, newdirfd int, newpath string) (err error) //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) (prev int, err error) //sys setfsuid(uid int) (prev 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 Ustat(dev int, ubuf *Ustat_t) (err error) //sysnb getgroups(n int, list *_Gid_t) (nn int, err error) //sysnb setgroups(n int, list *_Gid_t) (err error) //sys futimesat(dirfd int, path string, times *[2]Timeval) (err error) //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) //sys utimes(path string, times *[2]Timeval) (err error) func setTimespec(sec, nsec int64) Timespec { return Timespec{Sec: sec, Nsec: nsec} } func setTimeval(sec, usec int64) Timeval { return Timeval{Sec: sec, Usec: usec} } 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 (msghdr *Msghdr) SetIovlen(length int) { msghdr.Iovlen = uint64(length) } func (cmsg *Cmsghdr) SetLen(length int) { cmsg.Len = uint64(length) } func (rsa *RawSockaddrNFCLLCP) SetServiceNameLen(length int) { rsa.Service_name_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 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 := [5]uintptr{uintptr(s), uintptr(level), uintptr(name), uintptr(val), vallen} _, _, 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 kexecFileLoad(kernelFd int, initrdFd int, cmdlineLen int, cmdline string, flags int) (err error) func KexecFileLoad(kernelFd int, initrdFd int, cmdline string, flags int) error { cmdlineLen := len(cmdline) if cmdlineLen > 0 { // Account for the additional NULL byte added by // BytePtrFromString in kexecFileLoad. The kexec_file_load // syscall expects a NULL-terminated string. cmdlineLen++ } return kexecFileLoad(kernelFd, initrdFd, cmdlineLen, cmdline, flags) } dependencies/pkg/mod/golang.org/x/sys@v0.26.0/unix/zerrors_zos_s390x.go0000644000000000000000000011673115107355264024520 0ustar rootroot// Copyright 2020 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:build zos && s390x // Hand edited based on zerrors_linux_s390x.go // TODO: auto-generate. package unix const ( BRKINT = 0x0001 CLOCAL = 0x1 CLOCK_MONOTONIC = 0x1 CLOCK_PROCESS_CPUTIME_ID = 0x2 CLOCK_REALTIME = 0x0 CLOCK_THREAD_CPUTIME_ID = 0x3 CLONE_NEWIPC = 0x08000000 CLONE_NEWNET = 0x40000000 CLONE_NEWNS = 0x00020000 CLONE_NEWPID = 0x20000000 CLONE_NEWUTS = 0x04000000 CLONE_PARENT = 0x00008000 CS8 = 0x0030 CSIZE = 0x0030 ECHO = 0x00000008 ECHONL = 0x00000001 EFD_SEMAPHORE = 0x00002000 EFD_CLOEXEC = 0x00001000 EFD_NONBLOCK = 0x00000004 EPOLL_CLOEXEC = 0x00001000 EPOLL_CTL_ADD = 0 EPOLL_CTL_MOD = 1 EPOLL_CTL_DEL = 2 EPOLLRDNORM = 0x0001 EPOLLRDBAND = 0x0002 EPOLLIN = 0x0003 EPOLLOUT = 0x0004 EPOLLWRBAND = 0x0008 EPOLLPRI = 0x0010 EPOLLERR = 0x0020 EPOLLHUP = 0x0040 EPOLLEXCLUSIVE = 0x20000000 EPOLLONESHOT = 0x40000000 FD_CLOEXEC = 0x01 FD_CLOFORK = 0x02 FD_SETSIZE = 0x800 FNDELAY = 0x04 F_CLOSFD = 9 F_CONTROL_CVT = 13 F_DUPFD = 0 F_DUPFD2 = 8 F_GETFD = 1 F_GETFL = 259 F_GETLK = 5 F_GETOWN = 10 F_OK = 0x0 F_RDLCK = 1 F_SETFD = 2 F_SETFL = 4 F_SETLK = 6 F_SETLKW = 7 F_SETOWN = 11 F_SETTAG = 12 F_UNLCK = 3 F_WRLCK = 2 FSTYPE_ZFS = 0xe9 //"Z" FSTYPE_HFS = 0xc8 //"H" FSTYPE_NFS = 0xd5 //"N" FSTYPE_TFS = 0xe3 //"T" FSTYPE_AUTOMOUNT = 0xc1 //"A" GRND_NONBLOCK = 1 GRND_RANDOM = 2 HUPCL = 0x0100 // Hang up on last close IN_CLOEXEC = 0x00001000 IN_NONBLOCK = 0x00000004 IN_ACCESS = 0x00000001 IN_MODIFY = 0x00000002 IN_ATTRIB = 0x00000004 IN_CLOSE_WRITE = 0x00000008 IN_CLOSE_NOWRITE = 0x00000010 IN_OPEN = 0x00000020 IN_MOVED_FROM = 0x00000040 IN_MOVED_TO = 0x00000080 IN_CREATE = 0x00000100 IN_DELETE = 0x00000200 IN_DELETE_SELF = 0x00000400 IN_MOVE_SELF = 0x00000800 IN_UNMOUNT = 0x00002000 IN_Q_OVERFLOW = 0x00004000 IN_IGNORED = 0x00008000 IN_CLOSE = (IN_CLOSE_WRITE | IN_CLOSE_NOWRITE) IN_MOVE = (IN_MOVED_FROM | IN_MOVED_TO) IN_ALL_EVENTS = (IN_ACCESS | IN_MODIFY | IN_ATTRIB | IN_CLOSE | IN_OPEN | IN_MOVE | IN_CREATE | IN_DELETE | IN_DELETE_SELF | IN_MOVE_SELF) IN_ONLYDIR = 0x01000000 IN_DONT_FOLLOW = 0x02000000 IN_EXCL_UNLINK = 0x04000000 IN_MASK_CREATE = 0x10000000 IN_MASK_ADD = 0x20000000 IN_ISDIR = 0x40000000 IN_ONESHOT = 0x80000000 IP6F_MORE_FRAG = 0x0001 IP6F_OFF_MASK = 0xfff8 IP6F_RESERVED_MASK = 0x0006 IP6OPT_JUMBO = 0xc2 IP6OPT_JUMBO_LEN = 6 IP6OPT_MUTABLE = 0x20 IP6OPT_NSAP_ADDR = 0xc3 IP6OPT_PAD1 = 0x00 IP6OPT_PADN = 0x01 IP6OPT_ROUTER_ALERT = 0x05 IP6OPT_TUNNEL_LIMIT = 0x04 IP6OPT_TYPE_DISCARD = 0x40 IP6OPT_TYPE_FORCEICMP = 0x80 IP6OPT_TYPE_ICMP = 0xc0 IP6OPT_TYPE_SKIP = 0x00 IP6_ALERT_AN = 0x0002 IP6_ALERT_MLD = 0x0000 IP6_ALERT_RSVP = 0x0001 IPPORT_RESERVED = 1024 IPPORT_USERRESERVED = 5000 IPPROTO_AH = 51 SOL_AH = 51 IPPROTO_DSTOPTS = 60 SOL_DSTOPTS = 60 IPPROTO_EGP = 8 SOL_EGP = 8 IPPROTO_ESP = 50 SOL_ESP = 50 IPPROTO_FRAGMENT = 44 SOL_FRAGMENT = 44 IPPROTO_GGP = 2 SOL_GGP = 2 IPPROTO_HOPOPTS = 0 SOL_HOPOPTS = 0 IPPROTO_ICMP = 1 SOL_ICMP = 1 IPPROTO_ICMPV6 = 58 SOL_ICMPV6 = 58 IPPROTO_IDP = 22 SOL_IDP = 22 IPPROTO_IP = 0 SOL_IP = 0 IPPROTO_IPV6 = 41 SOL_IPV6 = 41 IPPROTO_MAX = 256 SOL_MAX = 256 IPPROTO_NONE = 59 SOL_NONE = 59 IPPROTO_PUP = 12 SOL_PUP = 12 IPPROTO_RAW = 255 SOL_RAW = 255 IPPROTO_ROUTING = 43 SOL_ROUTING = 43 IPPROTO_TCP = 6 SOL_TCP = 6 IPPROTO_UDP = 17 SOL_UDP = 17 IPV6_ADDR_PREFERENCES = 32 IPV6_CHECKSUM = 19 IPV6_DONTFRAG = 29 IPV6_DSTOPTS = 23 IPV6_HOPLIMIT = 11 IPV6_HOPOPTS = 22 IPV6_JOIN_GROUP = 5 IPV6_LEAVE_GROUP = 6 IPV6_MULTICAST_HOPS = 9 IPV6_MULTICAST_IF = 7 IPV6_MULTICAST_LOOP = 4 IPV6_NEXTHOP = 20 IPV6_PATHMTU = 12 IPV6_PKTINFO = 13 IPV6_PREFER_SRC_CGA = 0x10 IPV6_PREFER_SRC_COA = 0x02 IPV6_PREFER_SRC_HOME = 0x01 IPV6_PREFER_SRC_NONCGA = 0x20 IPV6_PREFER_SRC_PUBLIC = 0x08 IPV6_PREFER_SRC_TMP = 0x04 IPV6_RECVDSTOPTS = 28 IPV6_RECVHOPLIMIT = 14 IPV6_RECVHOPOPTS = 26 IPV6_RECVPATHMTU = 16 IPV6_RECVPKTINFO = 15 IPV6_RECVRTHDR = 25 IPV6_RECVTCLASS = 31 IPV6_RTHDR = 21 IPV6_RTHDRDSTOPTS = 24 IPV6_RTHDR_TYPE_0 = 0 IPV6_TCLASS = 30 IPV6_UNICAST_HOPS = 3 IPV6_USE_MIN_MTU = 18 IPV6_V6ONLY = 10 IP_ADD_MEMBERSHIP = 5 IP_ADD_SOURCE_MEMBERSHIP = 12 IP_BLOCK_SOURCE = 10 IP_DEFAULT_MULTICAST_LOOP = 1 IP_DEFAULT_MULTICAST_TTL = 1 IP_DROP_MEMBERSHIP = 6 IP_DROP_SOURCE_MEMBERSHIP = 13 IP_MAX_MEMBERSHIPS = 20 IP_MULTICAST_IF = 7 IP_MULTICAST_LOOP = 4 IP_MULTICAST_TTL = 3 IP_OPTIONS = 1 IP_PKTINFO = 101 IP_RECVPKTINFO = 102 IP_TOS = 2 IP_TTL = 14 IP_UNBLOCK_SOURCE = 11 ICMP6_FILTER = 1 MCAST_INCLUDE = 0 MCAST_EXCLUDE = 1 MCAST_JOIN_GROUP = 40 MCAST_LEAVE_GROUP = 41 MCAST_JOIN_SOURCE_GROUP = 42 MCAST_LEAVE_SOURCE_GROUP = 43 MCAST_BLOCK_SOURCE = 44 MCAST_UNBLOCK_SOURCE = 46 ICANON = 0x0010 ICRNL = 0x0002 IEXTEN = 0x0020 IGNBRK = 0x0004 IGNCR = 0x0008 INLCR = 0x0020 ISIG = 0x0040 ISTRIP = 0x0080 IXON = 0x0200 IXOFF = 0x0100 LOCK_SH = 0x1 LOCK_EX = 0x2 LOCK_NB = 0x4 LOCK_UN = 0x8 POLLIN = 0x0003 POLLOUT = 0x0004 POLLPRI = 0x0010 POLLERR = 0x0020 POLLHUP = 0x0040 POLLNVAL = 0x0080 PROT_READ = 0x1 // mmap - page can be read PROT_WRITE = 0x2 // page can be written PROT_NONE = 0x4 // can't be accessed PROT_EXEC = 0x8 // can be executed MAP_PRIVATE = 0x1 // changes are private MAP_SHARED = 0x2 // changes are shared MAP_FIXED = 0x4 // place exactly __MAP_MEGA = 0x8 __MAP_64 = 0x10 MAP_ANON = 0x20 MAP_ANONYMOUS = 0x20 MS_SYNC = 0x1 // msync - synchronous writes MS_ASYNC = 0x2 // asynchronous writes MS_INVALIDATE = 0x4 // invalidate mappings MS_BIND = 0x00001000 MS_MOVE = 0x00002000 MS_NOSUID = 0x00000002 MS_PRIVATE = 0x00040000 MS_REC = 0x00004000 MS_REMOUNT = 0x00008000 MS_RDONLY = 0x00000001 MS_UNBINDABLE = 0x00020000 MNT_DETACH = 0x00000004 ZOSDSFS_SUPER_MAGIC = 0x44534653 // zOS DSFS NFS_SUPER_MAGIC = 0x6969 // NFS NSFS_MAGIC = 0x6e736673 // PROCNS PROC_SUPER_MAGIC = 0x9fa0 // proc FS ZOSTFS_SUPER_MAGIC = 0x544653 // zOS TFS ZOSUFS_SUPER_MAGIC = 0x554653 // zOS UFS ZOSZFS_SUPER_MAGIC = 0x5A4653 // zOS ZFS MTM_RDONLY = 0x80000000 MTM_RDWR = 0x40000000 MTM_UMOUNT = 0x10000000 MTM_IMMED = 0x08000000 MTM_FORCE = 0x04000000 MTM_DRAIN = 0x02000000 MTM_RESET = 0x01000000 MTM_SAMEMODE = 0x00100000 MTM_UNQSEFORCE = 0x00040000 MTM_NOSUID = 0x00000400 MTM_SYNCHONLY = 0x00000200 MTM_REMOUNT = 0x00000100 MTM_NOSECURITY = 0x00000080 NFDBITS = 0x20 ONLRET = 0x0020 // NL performs CR function O_ACCMODE = 0x03 O_APPEND = 0x08 O_ASYNCSIG = 0x0200 O_CREAT = 0x80 O_DIRECT = 0x00002000 O_NOFOLLOW = 0x00004000 O_DIRECTORY = 0x00008000 O_PATH = 0x00080000 O_CLOEXEC = 0x00001000 O_EXCL = 0x40 O_GETFL = 0x0F O_LARGEFILE = 0x0400 O_NDELAY = 0x4 O_NONBLOCK = 0x04 O_RDONLY = 0x02 O_RDWR = 0x03 O_SYNC = 0x0100 O_TRUNC = 0x10 O_WRONLY = 0x01 O_NOCTTY = 0x20 OPOST = 0x0001 ONLCR = 0x0004 PARENB = 0x0200 PARMRK = 0x0400 QUERYCVT = 3 RUSAGE_CHILDREN = -0x1 RUSAGE_SELF = 0x0 // RUSAGE_THREAD unsupported on z/OS SEEK_CUR = 1 SEEK_END = 2 SEEK_SET = 0 SETAUTOCVTALL = 5 SETAUTOCVTON = 2 SETCVTALL = 4 SETCVTOFF = 0 SETCVTON = 1 AF_APPLETALK = 16 AF_CCITT = 10 AF_CHAOS = 5 AF_DATAKIT = 9 AF_DLI = 13 AF_ECMA = 8 AF_HYLINK = 15 AF_IMPLINK = 3 AF_INET = 2 AF_INET6 = 19 AF_INTF = 20 AF_IUCV = 17 AF_LAT = 14 AF_LINK = 18 AF_LOCAL = AF_UNIX // AF_LOCAL is an alias for AF_UNIX AF_MAX = 30 AF_NBS = 7 AF_NDD = 23 AF_NETWARE = 22 AF_NS = 6 AF_PUP = 4 AF_RIF = 21 AF_ROUTE = 20 AF_SNA = 11 AF_UNIX = 1 AF_UNSPEC = 0 IBMTCP_IMAGE = 1 MSG_ACK_EXPECTED = 0x10 MSG_ACK_GEN = 0x40 MSG_ACK_TIMEOUT = 0x20 MSG_CONNTERM = 0x80 MSG_CTRUNC = 0x20 MSG_DONTROUTE = 0x4 MSG_EOF = 0x8000 MSG_EOR = 0x8 MSG_MAXIOVLEN = 16 MSG_NONBLOCK = 0x4000 MSG_OOB = 0x1 MSG_PEEK = 0x2 MSG_TRUNC = 0x10 MSG_WAITALL = 0x40 PRIO_PROCESS = 1 PRIO_PGRP = 2 PRIO_USER = 3 RLIMIT_CPU = 0 RLIMIT_FSIZE = 1 RLIMIT_DATA = 2 RLIMIT_STACK = 3 RLIMIT_CORE = 4 RLIMIT_AS = 5 RLIMIT_NOFILE = 6 RLIMIT_MEMLIMIT = 7 RLIMIT_MEMLOCK = 0x8 RLIM_INFINITY = 2147483647 SCHED_FIFO = 0x2 SCM_CREDENTIALS = 0x2 SCM_RIGHTS = 0x01 SF_CLOSE = 0x00000002 SF_REUSE = 0x00000001 SHM_RND = 0x2 SHM_RDONLY = 0x1 SHMLBA = 0x1000 IPC_STAT = 0x3 IPC_SET = 0x2 IPC_RMID = 0x1 IPC_PRIVATE = 0x0 IPC_CREAT = 0x1000000 __IPC_MEGA = 0x4000000 __IPC_SHAREAS = 0x20000000 __IPC_BELOWBAR = 0x10000000 IPC_EXCL = 0x2000000 __IPC_GIGA = 0x8000000 SHUT_RD = 0 SHUT_RDWR = 2 SHUT_WR = 1 SOCK_CLOEXEC = 0x00001000 SOCK_CONN_DGRAM = 6 SOCK_DGRAM = 2 SOCK_NONBLOCK = 0x800 SOCK_RAW = 3 SOCK_RDM = 4 SOCK_SEQPACKET = 5 SOCK_STREAM = 1 SOL_SOCKET = 0xffff SOMAXCONN = 10 SO_ACCEPTCONN = 0x0002 SO_ACCEPTECONNABORTED = 0x0006 SO_ACKNOW = 0x7700 SO_BROADCAST = 0x0020 SO_BULKMODE = 0x8000 SO_CKSUMRECV = 0x0800 SO_CLOSE = 0x01 SO_CLUSTERCONNTYPE = 0x00004001 SO_CLUSTERCONNTYPE_INTERNAL = 8 SO_CLUSTERCONNTYPE_NOCONN = 0 SO_CLUSTERCONNTYPE_NONE = 1 SO_CLUSTERCONNTYPE_SAME_CLUSTER = 2 SO_CLUSTERCONNTYPE_SAME_IMAGE = 4 SO_DEBUG = 0x0001 SO_DONTROUTE = 0x0010 SO_ERROR = 0x1007 SO_IGNOREINCOMINGPUSH = 0x1 SO_IGNORESOURCEVIPA = 0x0002 SO_KEEPALIVE = 0x0008 SO_LINGER = 0x0080 SO_NONBLOCKLOCAL = 0x8001 SO_NOREUSEADDR = 0x1000 SO_OOBINLINE = 0x0100 SO_OPTACK = 0x8004 SO_OPTMSS = 0x8003 SO_RCVBUF = 0x1002 SO_RCVLOWAT = 0x1004 SO_RCVTIMEO = 0x1006 SO_REUSEADDR = 0x0004 SO_REUSEPORT = 0x0200 SO_SECINFO = 0x00004002 SO_SET = 0x0200 SO_SNDBUF = 0x1001 SO_SNDLOWAT = 0x1003 SO_SNDTIMEO = 0x1005 SO_TYPE = 0x1008 SO_UNSET = 0x0400 SO_USELOOPBACK = 0x0040 SO_USE_IFBUFS = 0x0400 S_ISUID = 0x0800 S_ISGID = 0x0400 S_ISVTX = 0x0200 S_IRUSR = 0x0100 S_IWUSR = 0x0080 S_IXUSR = 0x0040 S_IRWXU = 0x01C0 S_IRGRP = 0x0020 S_IWGRP = 0x0010 S_IXGRP = 0x0008 S_IRWXG = 0x0038 S_IROTH = 0x0004 S_IWOTH = 0x0002 S_IXOTH = 0x0001 S_IRWXO = 0x0007 S_IREAD = S_IRUSR S_IWRITE = S_IWUSR S_IEXEC = S_IXUSR S_IFDIR = 0x01000000 S_IFCHR = 0x02000000 S_IFREG = 0x03000000 S_IFFIFO = 0x04000000 S_IFIFO = 0x04000000 S_IFLNK = 0x05000000 S_IFBLK = 0x06000000 S_IFSOCK = 0x07000000 S_IFVMEXTL = 0xFE000000 S_IFVMEXTL_EXEC = 0x00010000 S_IFVMEXTL_DATA = 0x00020000 S_IFVMEXTL_MEL = 0x00030000 S_IFEXTL = 0x00000001 S_IFPROGCTL = 0x00000002 S_IFAPFCTL = 0x00000004 S_IFNOSHARE = 0x00000008 S_IFSHARELIB = 0x00000010 S_IFMT = 0xFF000000 S_IFMST = 0x00FF0000 TCP_KEEPALIVE = 0x8 TCP_NODELAY = 0x1 TIOCGWINSZ = 0x4008a368 TIOCSWINSZ = 0x8008a367 TIOCSBRK = 0x2000a77b TIOCCBRK = 0x2000a77a TIOCSTI = 0x8001a772 TIOCGPGRP = 0x4004a777 // _IOR(167, 119, int) TCSANOW = 0 TCSETS = 0 // equivalent to TCSANOW for tcsetattr TCSADRAIN = 1 TCSETSW = 1 // equivalent to TCSADRAIN for tcsetattr TCSAFLUSH = 2 TCSETSF = 2 // equivalent to TCSAFLUSH for tcsetattr TCGETS = 3 // not defined in ioctl.h -- zos golang only TCIFLUSH = 0 TCOFLUSH = 1 TCIOFLUSH = 2 TCOOFF = 0 TCOON = 1 TCIOFF = 2 TCION = 3 TIOCSPGRP = 0x8004a776 TIOCNOTTY = 0x2000a771 TIOCEXCL = 0x2000a70d TIOCNXCL = 0x2000a70e TIOCGETD = 0x4004a700 TIOCSETD = 0x8004a701 TIOCPKT = 0x8004a770 TIOCSTOP = 0x2000a76f TIOCSTART = 0x2000a76e TIOCUCNTL = 0x8004a766 TIOCREMOTE = 0x8004a769 TIOCMGET = 0x4004a76a TIOCMSET = 0x8004a76d TIOCMBIC = 0x8004a76b TIOCMBIS = 0x8004a76c VINTR = 0 VQUIT = 1 VERASE = 2 VKILL = 3 VEOF = 4 VEOL = 5 VMIN = 6 VSTART = 7 VSTOP = 8 VSUSP = 9 VTIME = 10 WCONTINUED = 0x4 WEXITED = 0x8 WNOHANG = 0x1 WNOWAIT = 0x20 WSTOPPED = 0x10 WUNTRACED = 0x2 _BPX_SWAP = 1 _BPX_NONSWAP = 2 MCL_CURRENT = 1 // for Linux compatibility -- no zos semantics MCL_FUTURE = 2 // for Linux compatibility -- no zos semantics MCL_ONFAULT = 3 // for Linux compatibility -- no zos semantics MADV_NORMAL = 0 // for Linux compatibility -- no zos semantics MADV_RANDOM = 1 // for Linux compatibility -- no zos semantics MADV_SEQUENTIAL = 2 // for Linux compatibility -- no zos semantics MADV_WILLNEED = 3 // for Linux compatibility -- no zos semantics MADV_REMOVE = 4 // for Linux compatibility -- no zos semantics MADV_DONTFORK = 5 // for Linux compatibility -- no zos semantics MADV_DOFORK = 6 // for Linux compatibility -- no zos semantics MADV_HWPOISON = 7 // for Linux compatibility -- no zos semantics MADV_MERGEABLE = 8 // for Linux compatibility -- no zos semantics MADV_UNMERGEABLE = 9 // for Linux compatibility -- no zos semantics MADV_SOFT_OFFLINE = 10 // for Linux compatibility -- no zos semantics MADV_HUGEPAGE = 11 // for Linux compatibility -- no zos semantics MADV_NOHUGEPAGE = 12 // for Linux compatibility -- no zos semantics MADV_DONTDUMP = 13 // for Linux compatibility -- no zos semantics MADV_DODUMP = 14 // for Linux compatibility -- no zos semantics MADV_FREE = 15 // for Linux compatibility -- no zos semantics MADV_WIPEONFORK = 16 // for Linux compatibility -- no zos semantics MADV_KEEPONFORK = 17 // for Linux compatibility -- no zos semantics AT_SYMLINK_FOLLOW = 0x400 AT_SYMLINK_NOFOLLOW = 0x100 XATTR_CREATE = 0x1 XATTR_REPLACE = 0x2 P_PID = 0 P_PGID = 1 P_ALL = 2 PR_SET_NAME = 15 PR_GET_NAME = 16 PR_SET_NO_NEW_PRIVS = 38 PR_GET_NO_NEW_PRIVS = 39 PR_SET_DUMPABLE = 4 PR_GET_DUMPABLE = 3 PR_SET_PDEATHSIG = 1 PR_GET_PDEATHSIG = 2 PR_SET_CHILD_SUBREAPER = 36 PR_GET_CHILD_SUBREAPER = 37 AT_FDCWD = -100 AT_EACCESS = 0x200 AT_EMPTY_PATH = 0x1000 AT_REMOVEDIR = 0x200 RENAME_NOREPLACE = 1 << 0 ST_RDONLY = 1 ST_NOSUID = 2 ) const ( EDOM = Errno(1) ERANGE = Errno(2) EACCES = Errno(111) EAGAIN = Errno(112) EBADF = Errno(113) EBUSY = Errno(114) ECHILD = Errno(115) EDEADLK = Errno(116) EEXIST = Errno(117) EFAULT = Errno(118) EFBIG = Errno(119) EINTR = Errno(120) EINVAL = Errno(121) EIO = Errno(122) EISDIR = Errno(123) EMFILE = Errno(124) EMLINK = Errno(125) ENAMETOOLONG = Errno(126) ENFILE = Errno(127) ENOATTR = Errno(265) ENODEV = Errno(128) ENOENT = Errno(129) ENOEXEC = Errno(130) ENOLCK = Errno(131) ENOMEM = Errno(132) ENOSPC = Errno(133) ENOSYS = Errno(134) ENOTDIR = Errno(135) ENOTEMPTY = Errno(136) ENOTTY = Errno(137) ENXIO = Errno(138) EPERM = Errno(139) EPIPE = Errno(140) EROFS = Errno(141) ESPIPE = Errno(142) ESRCH = Errno(143) EXDEV = Errno(144) E2BIG = Errno(145) ELOOP = Errno(146) EILSEQ = Errno(147) ENODATA = Errno(148) EOVERFLOW = Errno(149) EMVSNOTUP = Errno(150) ECMSSTORAGE = Errno(151) EMVSDYNALC = Errno(151) EMVSCVAF = Errno(152) EMVSCATLG = Errno(153) ECMSINITIAL = Errno(156) EMVSINITIAL = Errno(156) ECMSERR = Errno(157) EMVSERR = Errno(157) EMVSPARM = Errno(158) ECMSPFSFILE = Errno(159) EMVSPFSFILE = Errno(159) EMVSBADCHAR = Errno(160) ECMSPFSPERM = Errno(162) EMVSPFSPERM = Errno(162) EMVSSAFEXTRERR = Errno(163) EMVSSAF2ERR = Errno(164) EMVSTODNOTSET = Errno(165) EMVSPATHOPTS = Errno(166) EMVSNORTL = Errno(167) EMVSEXPIRE = Errno(168) EMVSPASSWORD = Errno(169) EMVSWLMERROR = Errno(170) EMVSCPLERROR = Errno(171) EMVSARMERROR = Errno(172) ELENOFORK = Errno(200) ELEMSGERR = Errno(201) EFPMASKINV = Errno(202) EFPMODEINV = Errno(203) EBUFLEN = Errno(227) EEXTLINK = Errno(228) ENODD = Errno(229) ECMSESMERR = Errno(230) ECPERR = Errno(231) ELEMULTITHREAD = Errno(232) ELEFENCE = Errno(244) EBADDATA = Errno(245) EUNKNOWN = Errno(246) ENOTSUP = Errno(247) EBADNAME = Errno(248) ENOTSAFE = Errno(249) ELEMULTITHREADFORK = Errno(257) ECUNNOENV = Errno(258) ECUNNOCONV = Errno(259) ECUNNOTALIGNED = Errno(260) ECUNERR = Errno(262) EIBMBADCALL = Errno(1000) EIBMBADPARM = Errno(1001) EIBMSOCKOUTOFRANGE = Errno(1002) EIBMSOCKINUSE = Errno(1003) EIBMIUCVERR = Errno(1004) EOFFLOADboxERROR = Errno(1005) EOFFLOADboxRESTART = Errno(1006) EOFFLOADboxDOWN = Errno(1007) EIBMCONFLICT = Errno(1008) EIBMCANCELLED = Errno(1009) EIBMBADTCPNAME = Errno(1011) ENOTBLK = Errno(1100) ETXTBSY = Errno(1101) EWOULDBLOCK = Errno(1102) EINPROGRESS = Errno(1103) EALREADY = Errno(1104) ENOTSOCK = Errno(1105) EDESTADDRREQ = Errno(1106) EMSGSIZE = Errno(1107) EPROTOTYPE = Errno(1108) ENOPROTOOPT = Errno(1109) EPROTONOSUPPORT = Errno(1110) ESOCKTNOSUPPORT = Errno(1111) EOPNOTSUPP = Errno(1112) EPFNOSUPPORT = Errno(1113) EAFNOSUPPORT = Errno(1114) EADDRINUSE = Errno(1115) EADDRNOTAVAIL = Errno(1116) ENETDOWN = Errno(1117) ENETUNREACH = Errno(1118) ENETRESET = Errno(1119) ECONNABORTED = Errno(1120) ECONNRESET = Errno(1121) ENOBUFS = Errno(1122) EISCONN = Errno(1123) ENOTCONN = Errno(1124) ESHUTDOWN = Errno(1125) ETOOMANYREFS = Errno(1126) ETIMEDOUT = Errno(1127) ECONNREFUSED = Errno(1128) EHOSTDOWN = Errno(1129) EHOSTUNREACH = Errno(1130) EPROCLIM = Errno(1131) EUSERS = Errno(1132) EDQUOT = Errno(1133) ESTALE = Errno(1134) EREMOTE = Errno(1135) ENOSTR = Errno(1136) ETIME = Errno(1137) ENOSR = Errno(1138) ENOMSG = Errno(1139) EBADMSG = Errno(1140) EIDRM = Errno(1141) ENONET = Errno(1142) ERREMOTE = Errno(1143) ENOLINK = Errno(1144) EADV = Errno(1145) ESRMNT = Errno(1146) ECOMM = Errno(1147) EPROTO = Errno(1148) EMULTIHOP = Errno(1149) EDOTDOT = Errno(1150) EREMCHG = Errno(1151) ECANCELED = Errno(1152) EINTRNODATA = Errno(1159) ENOREUSE = Errno(1160) ENOMOVE = Errno(1161) ) // Signals const ( SIGHUP = Signal(1) SIGINT = Signal(2) SIGABRT = Signal(3) SIGILL = Signal(4) SIGPOLL = Signal(5) SIGURG = Signal(6) SIGSTOP = Signal(7) SIGFPE = Signal(8) SIGKILL = Signal(9) SIGBUS = Signal(10) SIGSEGV = Signal(11) SIGSYS = Signal(12) SIGPIPE = Signal(13) SIGALRM = Signal(14) SIGTERM = Signal(15) SIGUSR1 = Signal(16) SIGUSR2 = Signal(17) SIGABND = Signal(18) SIGCONT = Signal(19) SIGCHLD = Signal(20) SIGTTIN = Signal(21) SIGTTOU = Signal(22) SIGIO = Signal(23) SIGQUIT = Signal(24) SIGTSTP = Signal(25) SIGTRAP = Signal(26) SIGIOERR = Signal(27) SIGWINCH = Signal(28) SIGXCPU = Signal(29) SIGXFSZ = Signal(30) SIGVTALRM = Signal(31) SIGPROF = Signal(32) SIGDANGER = Signal(33) SIGTHSTOP = Signal(34) SIGTHCONT = Signal(35) SIGTRACE = Signal(37) SIGDCE = Signal(38) SIGDUMP = Signal(39) ) // Error table var errorList = [...]struct { num Errno name string desc string }{ {1, "EDC5001I", "A domain error occurred."}, {2, "EDC5002I", "A range error occurred."}, {111, "EDC5111I", "Permission denied."}, {112, "EDC5112I", "Resource temporarily unavailable."}, {113, "EDC5113I", "Bad file descriptor."}, {114, "EDC5114I", "Resource busy."}, {115, "EDC5115I", "No child processes."}, {116, "EDC5116I", "Resource deadlock avoided."}, {117, "EDC5117I", "File exists."}, {118, "EDC5118I", "Incorrect address."}, {119, "EDC5119I", "File too large."}, {120, "EDC5120I", "Interrupted function call."}, {121, "EDC5121I", "Invalid argument."}, {122, "EDC5122I", "Input/output error."}, {123, "EDC5123I", "Is a directory."}, {124, "EDC5124I", "Too many open files."}, {125, "EDC5125I", "Too many links."}, {126, "EDC5126I", "Filename too long."}, {127, "EDC5127I", "Too many open files in system."}, {128, "EDC5128I", "No such device."}, {129, "EDC5129I", "No such file or directory."}, {130, "EDC5130I", "Exec format error."}, {131, "EDC5131I", "No locks available."}, {132, "EDC5132I", "Not enough memory."}, {133, "EDC5133I", "No space left on device."}, {134, "EDC5134I", "Function not implemented."}, {135, "EDC5135I", "Not a directory."}, {136, "EDC5136I", "Directory not empty."}, {137, "EDC5137I", "Inappropriate I/O control operation."}, {138, "EDC5138I", "No such device or address."}, {139, "EDC5139I", "Operation not permitted."}, {140, "EDC5140I", "Broken pipe."}, {141, "EDC5141I", "Read-only file system."}, {142, "EDC5142I", "Invalid seek."}, {143, "EDC5143I", "No such process."}, {144, "EDC5144I", "Improper link."}, {145, "EDC5145I", "The parameter list is too long, or the message to receive was too large for the buffer."}, {146, "EDC5146I", "Too many levels of symbolic links."}, {147, "EDC5147I", "Illegal byte sequence."}, {148, "EDC5148I", "The named attribute or data not available."}, {149, "EDC5149I", "Value Overflow Error."}, {150, "EDC5150I", "UNIX System Services is not active."}, {151, "EDC5151I", "Dynamic allocation error."}, {152, "EDC5152I", "Common VTOC access facility (CVAF) error."}, {153, "EDC5153I", "Catalog obtain error."}, {156, "EDC5156I", "Process initialization error."}, {157, "EDC5157I", "An internal error has occurred."}, {158, "EDC5158I", "Bad parameters were passed to the service."}, {159, "EDC5159I", "The Physical File System encountered a permanent file error."}, {160, "EDC5160I", "Bad character in environment variable name."}, {162, "EDC5162I", "The Physical File System encountered a system error."}, {163, "EDC5163I", "SAF/RACF extract error."}, {164, "EDC5164I", "SAF/RACF error."}, {165, "EDC5165I", "System TOD clock not set."}, {166, "EDC5166I", "Access mode argument on function call conflicts with PATHOPTS parameter on JCL DD statement."}, {167, "EDC5167I", "Access to the UNIX System Services version of the C RTL is denied."}, {168, "EDC5168I", "Password has expired."}, {169, "EDC5169I", "Password is invalid."}, {170, "EDC5170I", "An error was encountered with WLM."}, {171, "EDC5171I", "An error was encountered with CPL."}, {172, "EDC5172I", "An error was encountered with Application Response Measurement (ARM) component."}, {200, "EDC5200I", "The application contains a Language Environment member language that cannot tolerate a fork()."}, {201, "EDC5201I", "The Language Environment message file was not found in the hierarchical file system."}, {202, "EDC5202E", "DLL facilities are not supported under SPC environment."}, {203, "EDC5203E", "DLL facilities are not supported under POSIX environment."}, {227, "EDC5227I", "Buffer is not long enough to contain a path definition"}, {228, "EDC5228I", "The file referred to is an external link"}, {229, "EDC5229I", "No path definition for ddname in effect"}, {230, "EDC5230I", "ESM error."}, {231, "EDC5231I", "CP or the external security manager had an error"}, {232, "EDC5232I", "The function failed because it was invoked from a multithread environment."}, {244, "EDC5244I", "The program, module or DLL is not supported in this environment."}, {245, "EDC5245I", "Data is not valid."}, {246, "EDC5246I", "Unknown system state."}, {247, "EDC5247I", "Operation not supported."}, {248, "EDC5248I", "The object name specified is not correct."}, {249, "EDC5249I", "The function is not allowed."}, {257, "EDC5257I", "Function cannot be called in the child process of a fork() from a multithreaded process until exec() is called."}, {258, "EDC5258I", "A CUN_RS_NO_UNI_ENV error was issued by Unicode Services."}, {259, "EDC5259I", "A CUN_RS_NO_CONVERSION error was issued by Unicode Services."}, {260, "EDC5260I", "A CUN_RS_TABLE_NOT_ALIGNED error was issued by Unicode Services."}, {262, "EDC5262I", "An iconv() function encountered an unexpected error while using Unicode Services."}, {265, "EDC5265I", "The named attribute not available."}, {1000, "EDC8000I", "A bad socket-call constant was found in the IUCV header."}, {1001, "EDC8001I", "An error was found in the IUCV header."}, {1002, "EDC8002I", "A socket descriptor is out of range."}, {1003, "EDC8003I", "A socket descriptor is in use."}, {1004, "EDC8004I", "Request failed because of an IUCV error."}, {1005, "EDC8005I", "Offload box error."}, {1006, "EDC8006I", "Offload box restarted."}, {1007, "EDC8007I", "Offload box down."}, {1008, "EDC8008I", "Already a conflicting call outstanding on socket."}, {1009, "EDC8009I", "Request cancelled using a SOCKcallCANCEL request."}, {1011, "EDC8011I", "A name of a PFS was specified that either is not configured or is not a Sockets PFS."}, {1100, "EDC8100I", "Block device required."}, {1101, "EDC8101I", "Text file busy."}, {1102, "EDC8102I", "Operation would block."}, {1103, "EDC8103I", "Operation now in progress."}, {1104, "EDC8104I", "Connection already in progress."}, {1105, "EDC8105I", "Socket operation on non-socket."}, {1106, "EDC8106I", "Destination address required."}, {1107, "EDC8107I", "Message too long."}, {1108, "EDC8108I", "Protocol wrong type for socket."}, {1109, "EDC8109I", "Protocol not available."}, {1110, "EDC8110I", "Protocol not supported."}, {1111, "EDC8111I", "Socket type not supported."}, {1112, "EDC8112I", "Operation not supported on socket."}, {1113, "EDC8113I", "Protocol family not supported."}, {1114, "EDC8114I", "Address family not supported."}, {1115, "EDC8115I", "Address already in use."}, {1116, "EDC8116I", "Address not available."}, {1117, "EDC8117I", "Network is down."}, {1118, "EDC8118I", "Network is unreachable."}, {1119, "EDC8119I", "Network dropped connection on reset."}, {1120, "EDC8120I", "Connection ended abnormally."}, {1121, "EDC8121I", "Connection reset."}, {1122, "EDC8122I", "No buffer space available."}, {1123, "EDC8123I", "Socket already connected."}, {1124, "EDC8124I", "Socket not connected."}, {1125, "EDC8125I", "Can't send after socket shutdown."}, {1126, "EDC8126I", "Too many references; can't splice."}, {1127, "EDC8127I", "Connection timed out."}, {1128, "EDC8128I", "Connection refused."}, {1129, "EDC8129I", "Host is not available."}, {1130, "EDC8130I", "Host cannot be reached."}, {1131, "EDC8131I", "Too many processes."}, {1132, "EDC8132I", "Too many users."}, {1133, "EDC8133I", "Disk quota exceeded."}, {1134, "EDC8134I", "Stale file handle."}, {1135, "", ""}, {1136, "EDC8136I", "File is not a STREAM."}, {1137, "EDC8137I", "STREAMS ioctl() timeout."}, {1138, "EDC8138I", "No STREAMS resources."}, {1139, "EDC8139I", "The message identified by set_id and msg_id is not in the message catalog."}, {1140, "EDC8140I", "Bad message."}, {1141, "EDC8141I", "Identifier removed."}, {1142, "", ""}, {1143, "", ""}, {1144, "EDC8144I", "The link has been severed."}, {1145, "", ""}, {1146, "", ""}, {1147, "", ""}, {1148, "EDC8148I", "Protocol error."}, {1149, "EDC8149I", "Multihop not allowed."}, {1150, "", ""}, {1151, "", ""}, {1152, "EDC8152I", "The asynchronous I/O request has been canceled."}, {1159, "EDC8159I", "Function call was interrupted before any data was received."}, {1160, "EDC8160I", "Socket reuse is not supported."}, {1161, "EDC8161I", "The file system cannot currently be moved."}, } // Signal table var signalList = [...]struct { num Signal name string desc string }{ {1, "SIGHUP", "hangup"}, {2, "SIGINT", "interrupt"}, {3, "SIGABT", "aborted"}, {4, "SIGILL", "illegal instruction"}, {5, "SIGPOLL", "pollable event"}, {6, "SIGURG", "urgent I/O condition"}, {7, "SIGSTOP", "stop process"}, {8, "SIGFPE", "floating point exception"}, {9, "SIGKILL", "killed"}, {10, "SIGBUS", "bus error"}, {11, "SIGSEGV", "segmentation fault"}, {12, "SIGSYS", "bad argument to routine"}, {13, "SIGPIPE", "broken pipe"}, {14, "SIGALRM", "alarm clock"}, {15, "SIGTERM", "terminated"}, {16, "SIGUSR1", "user defined signal 1"}, {17, "SIGUSR2", "user defined signal 2"}, {18, "SIGABND", "abend"}, {19, "SIGCONT", "continued"}, {20, "SIGCHLD", "child exited"}, {21, "SIGTTIN", "stopped (tty input)"}, {22, "SIGTTOU", "stopped (tty output)"}, {23, "SIGIO", "I/O possible"}, {24, "SIGQUIT", "quit"}, {25, "SIGTSTP", "stopped"}, {26, "SIGTRAP", "trace/breakpoint trap"}, {27, "SIGIOER", "I/O error"}, {28, "SIGWINCH", "window changed"}, {29, "SIGXCPU", "CPU time limit exceeded"}, {30, "SIGXFSZ", "file size limit exceeded"}, {31, "SIGVTALRM", "virtual timer expired"}, {32, "SIGPROF", "profiling timer expired"}, {33, "SIGDANGER", "danger"}, {34, "SIGTHSTOP", "stop thread"}, {35, "SIGTHCONT", "continue thread"}, {37, "SIGTRACE", "trace"}, {38, "", "DCE"}, {39, "SIGDUMP", "dump"}, } dependencies/pkg/mod/golang.org/x/sys@v0.26.0/unix/ztypes_freebsd_arm.go0000644000000000000000000002303415107355264025031 0ustar rootroot// cgo -godefs -- -fsigned-char types_freebsd.go | go run mkpost.go // Code generated by the command above; see README.md. DO NOT EDIT. //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 _ [4]byte } type Timeval struct { Sec int64 Usec int32 _ [4]byte } type Time_t int64 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 ( _statfsVersion = 0x20140518 _dirblksiz = 0x400 ) type Stat_t struct { Dev uint64 Ino uint64 Nlink uint64 Mode uint16 _0 int16 Uid uint32 Gid uint32 _1 int32 Rdev uint64 Atim Timespec Mtim Timespec Ctim Timespec Btim Timespec Size int64 Blocks int64 Blksize int32 Flags uint32 Gen uint64 Spare [10]uint64 } 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]byte Mntfromname [1024]byte Mntonname [1024]byte } type Flock_t struct { Start int64 Len int64 Pid int32 Type int16 Whence int16 Sysid int32 _ [4]byte } type Dirent struct { Fileno uint64 Off int64 Reclen uint16 Type uint8 Pad0 uint8 Namlen uint16 Pad1 uint16 Name [256]int8 } type Fsid struct { Val [2]int32 } const ( PathMax = 0x400 ) 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 Xucred struct { Version uint32 Uid uint32 Ngroups int16 Groups [16]uint32 _ *byte } 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 SizeofXucred = 0x50 SizeofLinger = 0x8 SizeofIovec = 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 PtraceLwpInfoStruct struct { Lwpid int32 Event int32 Flags int32 Sigmask Sigset_t Siglist Sigset_t Siginfo __PtraceSiginfo Tdname [20]int8 Child_pid int32 Syscall_code uint32 Syscall_narg uint32 } type __Siginfo struct { Signo int32 Errno int32 Code int32 Pid int32 Uid uint32 Status int32 Addr *byte Value [4]byte _ [32]byte } type __PtraceSiginfo struct { Signo int32 Errno int32 Code int32 Pid int32 Uid uint32 Status int32 Addr uintptr Value [4]byte _ [32]byte } type Sigset_t struct { Val [4]uint32 } type Reg struct { R [13]uint32 Sp uint32 Lr uint32 Pc uint32 Cpsr uint32 } type FpReg struct { Fpsr uint32 Fpr [8]FpExtendedPrecision } type FpExtendedPrecision struct { Exponent uint32 Mantissa_hi uint32 Mantissa_lo uint32 } type PtraceIoDesc struct { Op int32 Offs uintptr Addr *byte Len uint32 } type Kevent_t struct { Ident uint32 Filter int16 Flags uint16 Fflags uint32 _ [4]byte Data int64 Udata *byte _ [4]byte Ext [4]uint64 } type FdSet struct { Bits [32]uint32 } const ( sizeofIfMsghdr = 0xa8 SizeofIfMsghdr = 0x70 sizeofIfData = 0x98 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 _ uint16 Data ifData } type IfMsghdr struct { Msglen uint16 Version uint8 Type uint8 Addrs int32 Flags int32 Index uint16 Data IfData } type ifData struct { Type uint8 Physical uint8 Addrlen uint8 Hdrlen uint8 Link_state uint8 Vhid uint8 Datalen uint16 Mtu uint32 Metric uint32 Baudrate uint64 Ipackets uint64 Ierrors uint64 Opackets uint64 Oerrors uint64 Collisions uint64 Ibytes uint64 Obytes uint64 Imcasts uint64 Omcasts uint64 Iqdrops uint64 Oqdrops uint64 Noproto uint64 Hwassist uint64 _ [8]byte _ [16]byte } 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 _ [4]byte Epoch int64 Lastchange Timeval } type IfaMsghdr struct { Msglen uint16 Version uint8 Type uint8 Addrs int32 Flags int32 Index uint16 _ uint16 Metric int32 } type IfmaMsghdr struct { Msglen uint16 Version uint8 Type uint8 Addrs int32 Flags int32 Index uint16 _ uint16 } 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 _ uint16 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 _ [6]byte } type BpfZbufHeader struct { Kernel_gen uint32 Kernel_len uint32 User_gen uint32 _ [5]uint32 } type Termios struct { Iflag uint32 Oflag uint32 Cflag uint32 Lflag uint32 Cc [20]uint8 Ispeed uint32 Ospeed uint32 } type Winsize struct { Row uint16 Col uint16 Xpixel uint16 Ypixel uint16 } const ( AT_FDCWD = -0x64 AT_EACCESS = 0x100 AT_SYMLINK_NOFOLLOW = 0x200 AT_SYMLINK_FOLLOW = 0x400 AT_REMOVEDIR = 0x800 ) type PollFd struct { Fd int32 Events int16 Revents int16 } const ( POLLERR = 0x8 POLLHUP = 0x10 POLLIN = 0x1 POLLINIGNEOF = 0x2000 POLLNVAL = 0x20 POLLOUT = 0x4 POLLPRI = 0x2 POLLRDBAND = 0x80 POLLRDNORM = 0x40 POLLWRBAND = 0x100 POLLWRNORM = 0x4 POLLRDHUP = 0x4000 ) type CapRights struct { Rights [2]uint64 } type Utsname struct { Sysname [256]byte Nodename [256]byte Release [256]byte Version [256]byte Machine [256]byte } const SizeofClockinfo = 0x14 type Clockinfo struct { Hz int32 Tick int32 Spare int32 Stathz int32 Profhz int32 } dependencies/pkg/mod/golang.org/x/sys@v0.26.0/unix/ztypes_openbsd_amd64.go0000644000000000000000000002237315107355264025212 0ustar rootroot// cgo -godefs types_openbsd.go | go run mkpost.go // Code generated by the command above; see README.md. DO NOT EDIT. //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 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 int32 Flags uint32 Gen uint32 _ 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]byte F_mntonname [90]byte F_mntfromname [90]byte F_mntfromspec [90]byte _ [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 _ [4]uint8 Name [256]int8 } type Fsid struct { Val [2]int32 } const ( PathMax = 0x400 ) 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 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 SizeofIovec = 0x10 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 = 0xa8 SizeofIfData = 0x90 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 Rdomain uint32 Baudrate uint64 Ipackets uint64 Ierrors uint64 Opackets uint64 Oerrors uint64 Collisions uint64 Ibytes uint64 Obytes uint64 Imcasts uint64 Omcasts uint64 Iqdrops uint64 Oqdrops uint64 Noproto uint64 Capabilities uint32 Lastchange Timeval } 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 } const ( SizeofBpfVersion = 0x4 SizeofBpfStat = 0x8 SizeofBpfProgram = 0x10 SizeofBpfInsn = 0x8 SizeofBpfHdr = 0x18 ) 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 Ifidx uint16 Flowid uint16 Flags uint8 Drops uint8 } 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 } type Winsize struct { Row uint16 Col uint16 Xpixel uint16 Ypixel uint16 } const ( AT_FDCWD = -0x64 AT_EACCESS = 0x1 AT_SYMLINK_NOFOLLOW = 0x2 AT_SYMLINK_FOLLOW = 0x4 AT_REMOVEDIR = 0x8 ) type PollFd struct { Fd int32 Events int16 Revents int16 } const ( POLLERR = 0x8 POLLHUP = 0x10 POLLIN = 0x1 POLLNVAL = 0x20 POLLOUT = 0x4 POLLPRI = 0x2 POLLRDBAND = 0x80 POLLRDNORM = 0x40 POLLWRBAND = 0x100 POLLWRNORM = 0x4 ) type Sigset_t uint32 type Utsname struct { Sysname [256]byte Nodename [256]byte Release [256]byte Version [256]byte Machine [256]byte } const SizeofUvmexp = 0x158 type Uvmexp struct { Pagesize int32 Pagemask int32 Pageshift int32 Npages int32 Free int32 Active int32 Inactive int32 Paging int32 Wired int32 Zeropages int32 Reserve_pagedaemon int32 Reserve_kernel int32 Unused01 int32 Vnodepages int32 Vtextpages int32 Freemin int32 Freetarg int32 Inactarg int32 Wiredmax int32 Anonmin int32 Vtextmin int32 Vnodemin int32 Anonminpct int32 Vtextminpct int32 Vnodeminpct int32 Nswapdev int32 Swpages int32 Swpginuse int32 Swpgonly int32 Nswget int32 Nanon int32 Unused05 int32 Unused06 int32 Faults int32 Traps int32 Intrs int32 Swtch int32 Softs int32 Syscalls int32 Pageins int32 Unused07 int32 Unused08 int32 Pgswapin int32 Pgswapout int32 Forks int32 Forks_ppwait int32 Forks_sharevm int32 Pga_zerohit int32 Pga_zeromiss int32 Unused09 int32 Fltnoram int32 Fltnoanon int32 Fltnoamap int32 Fltpgwait int32 Fltpgrele int32 Fltrelck int32 Fltrelckok int32 Fltanget int32 Fltanretry int32 Fltamcopy int32 Fltnamap int32 Fltnomap int32 Fltlget int32 Fltget int32 Flt_anon int32 Flt_acow int32 Flt_obj int32 Flt_prcopy int32 Flt_przero int32 Pdwoke int32 Pdrevs int32 Pdswout int32 Pdfreed int32 Pdscans int32 Pdanscan int32 Pdobscan int32 Pdreact int32 Pdbusy int32 Pdpageouts int32 Pdpending int32 Pddeact int32 Unused11 int32 Unused12 int32 Unused13 int32 Fpswtch int32 Kmapent int32 } const SizeofClockinfo = 0x10 type Clockinfo struct { Hz int32 Tick int32 Stathz int32 Profhz int32 } dependencies/pkg/mod/golang.org/x/sys@v0.26.0/unix/bpxsvc_zos.go0000644000000000000000000004770315107355264023353 0ustar rootroot// Copyright 2024 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:build zos package unix import ( "bytes" "fmt" "unsafe" ) //go:noescape func bpxcall(plist []unsafe.Pointer, bpx_offset int64) //go:noescape func A2e([]byte) //go:noescape func E2a([]byte) const ( BPX4STA = 192 // stat BPX4FST = 104 // fstat BPX4LST = 132 // lstat BPX4OPN = 156 // open BPX4CLO = 72 // close BPX4CHR = 500 // chattr BPX4FCR = 504 // fchattr BPX4LCR = 1180 // lchattr BPX4CTW = 492 // cond_timed_wait BPX4GTH = 1056 // __getthent BPX4PTQ = 412 // pthread_quiesc BPX4PTR = 320 // ptrace ) const ( //options //byte1 BPX_OPNFHIGH = 0x80 //byte2 BPX_OPNFEXEC = 0x80 //byte3 BPX_O_NOLARGEFILE = 0x08 BPX_O_LARGEFILE = 0x04 BPX_O_ASYNCSIG = 0x02 BPX_O_SYNC = 0x01 //byte4 BPX_O_CREXCL = 0xc0 BPX_O_CREAT = 0x80 BPX_O_EXCL = 0x40 BPX_O_NOCTTY = 0x20 BPX_O_TRUNC = 0x10 BPX_O_APPEND = 0x08 BPX_O_NONBLOCK = 0x04 BPX_FNDELAY = 0x04 BPX_O_RDWR = 0x03 BPX_O_RDONLY = 0x02 BPX_O_WRONLY = 0x01 BPX_O_ACCMODE = 0x03 BPX_O_GETFL = 0x0f //mode // byte1 (file type) BPX_FT_DIR = 1 BPX_FT_CHARSPEC = 2 BPX_FT_REGFILE = 3 BPX_FT_FIFO = 4 BPX_FT_SYMLINK = 5 BPX_FT_SOCKET = 6 //byte3 BPX_S_ISUID = 0x08 BPX_S_ISGID = 0x04 BPX_S_ISVTX = 0x02 BPX_S_IRWXU1 = 0x01 BPX_S_IRUSR = 0x01 //byte4 BPX_S_IRWXU2 = 0xc0 BPX_S_IWUSR = 0x80 BPX_S_IXUSR = 0x40 BPX_S_IRWXG = 0x38 BPX_S_IRGRP = 0x20 BPX_S_IWGRP = 0x10 BPX_S_IXGRP = 0x08 BPX_S_IRWXOX = 0x07 BPX_S_IROTH = 0x04 BPX_S_IWOTH = 0x02 BPX_S_IXOTH = 0x01 CW_INTRPT = 1 CW_CONDVAR = 32 CW_TIMEOUT = 64 PGTHA_NEXT = 2 PGTHA_CURRENT = 1 PGTHA_FIRST = 0 PGTHA_LAST = 3 PGTHA_PROCESS = 0x80 PGTHA_CONTTY = 0x40 PGTHA_PATH = 0x20 PGTHA_COMMAND = 0x10 PGTHA_FILEDATA = 0x08 PGTHA_THREAD = 0x04 PGTHA_PTAG = 0x02 PGTHA_COMMANDLONG = 0x01 PGTHA_THREADFAST = 0x80 PGTHA_FILEPATH = 0x40 PGTHA_THDSIGMASK = 0x20 // thread quiece mode QUIESCE_TERM int32 = 1 QUIESCE_FORCE int32 = 2 QUIESCE_QUERY int32 = 3 QUIESCE_FREEZE int32 = 4 QUIESCE_UNFREEZE int32 = 5 FREEZE_THIS_THREAD int32 = 6 FREEZE_EXIT int32 = 8 QUIESCE_SRB int32 = 9 ) type Pgtha struct { Pid uint32 // 0 Tid0 uint32 // 4 Tid1 uint32 Accesspid byte // C Accesstid byte // D Accessasid uint16 // E Loginname [8]byte // 10 Flag1 byte // 18 Flag1b2 byte // 19 } type Bpxystat_t struct { // DSECT BPXYSTAT St_id [4]uint8 // 0 St_length uint16 // 0x4 St_version uint16 // 0x6 St_mode uint32 // 0x8 St_ino uint32 // 0xc St_dev uint32 // 0x10 St_nlink uint32 // 0x14 St_uid uint32 // 0x18 St_gid uint32 // 0x1c St_size uint64 // 0x20 St_atime uint32 // 0x28 St_mtime uint32 // 0x2c St_ctime uint32 // 0x30 St_rdev uint32 // 0x34 St_auditoraudit uint32 // 0x38 St_useraudit uint32 // 0x3c St_blksize uint32 // 0x40 St_createtime uint32 // 0x44 St_auditid [4]uint32 // 0x48 St_res01 uint32 // 0x58 Ft_ccsid uint16 // 0x5c Ft_flags uint16 // 0x5e St_res01a [2]uint32 // 0x60 St_res02 uint32 // 0x68 St_blocks uint32 // 0x6c St_opaque [3]uint8 // 0x70 St_visible uint8 // 0x73 St_reftime uint32 // 0x74 St_fid uint64 // 0x78 St_filefmt uint8 // 0x80 St_fspflag2 uint8 // 0x81 St_res03 [2]uint8 // 0x82 St_ctimemsec uint32 // 0x84 St_seclabel [8]uint8 // 0x88 St_res04 [4]uint8 // 0x90 // end of version 1 _ uint32 // 0x94 St_atime64 uint64 // 0x98 St_mtime64 uint64 // 0xa0 St_ctime64 uint64 // 0xa8 St_createtime64 uint64 // 0xb0 St_reftime64 uint64 // 0xb8 _ uint64 // 0xc0 St_res05 [16]uint8 // 0xc8 // end of version 2 } type BpxFilestatus struct { Oflag1 byte Oflag2 byte Oflag3 byte Oflag4 byte } type BpxMode struct { Ftype byte Mode1 byte Mode2 byte Mode3 byte } // Thr attribute structure for extended attributes type Bpxyatt_t struct { // DSECT BPXYATT Att_id [4]uint8 Att_version uint16 Att_res01 [2]uint8 Att_setflags1 uint8 Att_setflags2 uint8 Att_setflags3 uint8 Att_setflags4 uint8 Att_mode uint32 Att_uid uint32 Att_gid uint32 Att_opaquemask [3]uint8 Att_visblmaskres uint8 Att_opaque [3]uint8 Att_visibleres uint8 Att_size_h uint32 Att_size_l uint32 Att_atime uint32 Att_mtime uint32 Att_auditoraudit uint32 Att_useraudit uint32 Att_ctime uint32 Att_reftime uint32 // end of version 1 Att_filefmt uint8 Att_res02 [3]uint8 Att_filetag uint32 Att_res03 [8]uint8 // end of version 2 Att_atime64 uint64 Att_mtime64 uint64 Att_ctime64 uint64 Att_reftime64 uint64 Att_seclabel [8]uint8 Att_ver3res02 [8]uint8 // end of version 3 } func BpxOpen(name string, options *BpxFilestatus, mode *BpxMode) (rv int32, rc int32, rn int32) { if len(name) < 1024 { var namebuf [1024]byte sz := int32(copy(namebuf[:], name)) A2e(namebuf[:sz]) var parms [7]unsafe.Pointer parms[0] = unsafe.Pointer(&sz) parms[1] = unsafe.Pointer(&namebuf[0]) parms[2] = unsafe.Pointer(options) parms[3] = unsafe.Pointer(mode) parms[4] = unsafe.Pointer(&rv) parms[5] = unsafe.Pointer(&rc) parms[6] = unsafe.Pointer(&rn) bpxcall(parms[:], BPX4OPN) return rv, rc, rn } return -1, -1, -1 } func BpxClose(fd int32) (rv int32, rc int32, rn int32) { var parms [4]unsafe.Pointer parms[0] = unsafe.Pointer(&fd) parms[1] = unsafe.Pointer(&rv) parms[2] = unsafe.Pointer(&rc) parms[3] = unsafe.Pointer(&rn) bpxcall(parms[:], BPX4CLO) return rv, rc, rn } func BpxFileFStat(fd int32, st *Bpxystat_t) (rv int32, rc int32, rn int32) { st.St_id = [4]uint8{0xe2, 0xe3, 0xc1, 0xe3} st.St_version = 2 stat_sz := uint32(unsafe.Sizeof(*st)) var parms [6]unsafe.Pointer parms[0] = unsafe.Pointer(&fd) parms[1] = unsafe.Pointer(&stat_sz) parms[2] = unsafe.Pointer(st) parms[3] = unsafe.Pointer(&rv) parms[4] = unsafe.Pointer(&rc) parms[5] = unsafe.Pointer(&rn) bpxcall(parms[:], BPX4FST) return rv, rc, rn } func BpxFileStat(name string, st *Bpxystat_t) (rv int32, rc int32, rn int32) { if len(name) < 1024 { var namebuf [1024]byte sz := int32(copy(namebuf[:], name)) A2e(namebuf[:sz]) st.St_id = [4]uint8{0xe2, 0xe3, 0xc1, 0xe3} st.St_version = 2 stat_sz := uint32(unsafe.Sizeof(*st)) var parms [7]unsafe.Pointer parms[0] = unsafe.Pointer(&sz) parms[1] = unsafe.Pointer(&namebuf[0]) parms[2] = unsafe.Pointer(&stat_sz) parms[3] = unsafe.Pointer(st) parms[4] = unsafe.Pointer(&rv) parms[5] = unsafe.Pointer(&rc) parms[6] = unsafe.Pointer(&rn) bpxcall(parms[:], BPX4STA) return rv, rc, rn } return -1, -1, -1 } func BpxFileLStat(name string, st *Bpxystat_t) (rv int32, rc int32, rn int32) { if len(name) < 1024 { var namebuf [1024]byte sz := int32(copy(namebuf[:], name)) A2e(namebuf[:sz]) st.St_id = [4]uint8{0xe2, 0xe3, 0xc1, 0xe3} st.St_version = 2 stat_sz := uint32(unsafe.Sizeof(*st)) var parms [7]unsafe.Pointer parms[0] = unsafe.Pointer(&sz) parms[1] = unsafe.Pointer(&namebuf[0]) parms[2] = unsafe.Pointer(&stat_sz) parms[3] = unsafe.Pointer(st) parms[4] = unsafe.Pointer(&rv) parms[5] = unsafe.Pointer(&rc) parms[6] = unsafe.Pointer(&rn) bpxcall(parms[:], BPX4LST) return rv, rc, rn } return -1, -1, -1 } func BpxChattr(path string, attr *Bpxyatt_t) (rv int32, rc int32, rn int32) { if len(path) >= 1024 { return -1, -1, -1 } var namebuf [1024]byte sz := int32(copy(namebuf[:], path)) A2e(namebuf[:sz]) attr_sz := uint32(unsafe.Sizeof(*attr)) var parms [7]unsafe.Pointer parms[0] = unsafe.Pointer(&sz) parms[1] = unsafe.Pointer(&namebuf[0]) parms[2] = unsafe.Pointer(&attr_sz) parms[3] = unsafe.Pointer(attr) parms[4] = unsafe.Pointer(&rv) parms[5] = unsafe.Pointer(&rc) parms[6] = unsafe.Pointer(&rn) bpxcall(parms[:], BPX4CHR) return rv, rc, rn } func BpxLchattr(path string, attr *Bpxyatt_t) (rv int32, rc int32, rn int32) { if len(path) >= 1024 { return -1, -1, -1 } var namebuf [1024]byte sz := int32(copy(namebuf[:], path)) A2e(namebuf[:sz]) attr_sz := uint32(unsafe.Sizeof(*attr)) var parms [7]unsafe.Pointer parms[0] = unsafe.Pointer(&sz) parms[1] = unsafe.Pointer(&namebuf[0]) parms[2] = unsafe.Pointer(&attr_sz) parms[3] = unsafe.Pointer(attr) parms[4] = unsafe.Pointer(&rv) parms[5] = unsafe.Pointer(&rc) parms[6] = unsafe.Pointer(&rn) bpxcall(parms[:], BPX4LCR) return rv, rc, rn } func BpxFchattr(fd int32, attr *Bpxyatt_t) (rv int32, rc int32, rn int32) { attr_sz := uint32(unsafe.Sizeof(*attr)) var parms [6]unsafe.Pointer parms[0] = unsafe.Pointer(&fd) parms[1] = unsafe.Pointer(&attr_sz) parms[2] = unsafe.Pointer(attr) parms[3] = unsafe.Pointer(&rv) parms[4] = unsafe.Pointer(&rc) parms[5] = unsafe.Pointer(&rn) bpxcall(parms[:], BPX4FCR) return rv, rc, rn } func BpxCondTimedWait(sec uint32, nsec uint32, events uint32, secrem *uint32, nsecrem *uint32) (rv int32, rc int32, rn int32) { var parms [8]unsafe.Pointer parms[0] = unsafe.Pointer(&sec) parms[1] = unsafe.Pointer(&nsec) parms[2] = unsafe.Pointer(&events) parms[3] = unsafe.Pointer(secrem) parms[4] = unsafe.Pointer(nsecrem) parms[5] = unsafe.Pointer(&rv) parms[6] = unsafe.Pointer(&rc) parms[7] = unsafe.Pointer(&rn) bpxcall(parms[:], BPX4CTW) return rv, rc, rn } func BpxGetthent(in *Pgtha, outlen *uint32, out unsafe.Pointer) (rv int32, rc int32, rn int32) { var parms [7]unsafe.Pointer inlen := uint32(26) // nothing else will work. Go says Pgtha is 28-byte because of alignment, but Pgtha is "packed" and must be 26-byte parms[0] = unsafe.Pointer(&inlen) parms[1] = unsafe.Pointer(&in) parms[2] = unsafe.Pointer(outlen) parms[3] = unsafe.Pointer(&out) parms[4] = unsafe.Pointer(&rv) parms[5] = unsafe.Pointer(&rc) parms[6] = unsafe.Pointer(&rn) bpxcall(parms[:], BPX4GTH) return rv, rc, rn } func ZosJobname() (jobname string, err error) { var pgtha Pgtha pgtha.Pid = uint32(Getpid()) pgtha.Accesspid = PGTHA_CURRENT pgtha.Flag1 = PGTHA_PROCESS var out [256]byte var outlen uint32 outlen = 256 rv, rc, rn := BpxGetthent(&pgtha, &outlen, unsafe.Pointer(&out[0])) if rv == 0 { gthc := []byte{0x87, 0xa3, 0x88, 0x83} // 'gthc' in ebcdic ix := bytes.Index(out[:], gthc) if ix == -1 { err = fmt.Errorf("BPX4GTH: gthc return data not found") return } jn := out[ix+80 : ix+88] // we didn't declare Pgthc, but jobname is 8-byte at offset 80 E2a(jn) jobname = string(bytes.TrimRight(jn, " ")) } else { err = fmt.Errorf("BPX4GTH: rc=%d errno=%d reason=code=0x%x", rv, rc, rn) } return } func Bpx4ptq(code int32, data string) (rv int32, rc int32, rn int32) { var userdata [8]byte var parms [5]unsafe.Pointer copy(userdata[:], data+" ") A2e(userdata[:]) parms[0] = unsafe.Pointer(&code) parms[1] = unsafe.Pointer(&userdata[0]) parms[2] = unsafe.Pointer(&rv) parms[3] = unsafe.Pointer(&rc) parms[4] = unsafe.Pointer(&rn) bpxcall(parms[:], BPX4PTQ) return rv, rc, rn } const ( PT_TRACE_ME = 0 // Debug this process PT_READ_I = 1 // Read a full word PT_READ_D = 2 // Read a full word PT_READ_U = 3 // Read control info PT_WRITE_I = 4 //Write a full word PT_WRITE_D = 5 //Write a full word PT_CONTINUE = 7 //Continue the process PT_KILL = 8 //Terminate the process PT_READ_GPR = 11 // Read GPR, CR, PSW PT_READ_FPR = 12 // Read FPR PT_READ_VR = 13 // Read VR PT_WRITE_GPR = 14 // Write GPR, CR, PSW PT_WRITE_FPR = 15 // Write FPR PT_WRITE_VR = 16 // Write VR PT_READ_BLOCK = 17 // Read storage PT_WRITE_BLOCK = 19 // Write storage PT_READ_GPRH = 20 // Read GPRH PT_WRITE_GPRH = 21 // Write GPRH PT_REGHSET = 22 // Read all GPRHs PT_ATTACH = 30 // Attach to a process PT_DETACH = 31 // Detach from a process PT_REGSET = 32 // Read all GPRs PT_REATTACH = 33 // Reattach to a process PT_LDINFO = 34 // Read loader info PT_MULTI = 35 // Multi process mode PT_LD64INFO = 36 // RMODE64 Info Area PT_BLOCKREQ = 40 // Block request PT_THREAD_INFO = 60 // Read thread info PT_THREAD_MODIFY = 61 PT_THREAD_READ_FOCUS = 62 PT_THREAD_WRITE_FOCUS = 63 PT_THREAD_HOLD = 64 PT_THREAD_SIGNAL = 65 PT_EXPLAIN = 66 PT_EVENTS = 67 PT_THREAD_INFO_EXTENDED = 68 PT_REATTACH2 = 71 PT_CAPTURE = 72 PT_UNCAPTURE = 73 PT_GET_THREAD_TCB = 74 PT_GET_ALET = 75 PT_SWAPIN = 76 PT_EXTENDED_EVENT = 98 PT_RECOVER = 99 // Debug a program check PT_GPR0 = 0 // General purpose register 0 PT_GPR1 = 1 // General purpose register 1 PT_GPR2 = 2 // General purpose register 2 PT_GPR3 = 3 // General purpose register 3 PT_GPR4 = 4 // General purpose register 4 PT_GPR5 = 5 // General purpose register 5 PT_GPR6 = 6 // General purpose register 6 PT_GPR7 = 7 // General purpose register 7 PT_GPR8 = 8 // General purpose register 8 PT_GPR9 = 9 // General purpose register 9 PT_GPR10 = 10 // General purpose register 10 PT_GPR11 = 11 // General purpose register 11 PT_GPR12 = 12 // General purpose register 12 PT_GPR13 = 13 // General purpose register 13 PT_GPR14 = 14 // General purpose register 14 PT_GPR15 = 15 // General purpose register 15 PT_FPR0 = 16 // Floating point register 0 PT_FPR1 = 17 // Floating point register 1 PT_FPR2 = 18 // Floating point register 2 PT_FPR3 = 19 // Floating point register 3 PT_FPR4 = 20 // Floating point register 4 PT_FPR5 = 21 // Floating point register 5 PT_FPR6 = 22 // Floating point register 6 PT_FPR7 = 23 // Floating point register 7 PT_FPR8 = 24 // Floating point register 8 PT_FPR9 = 25 // Floating point register 9 PT_FPR10 = 26 // Floating point register 10 PT_FPR11 = 27 // Floating point register 11 PT_FPR12 = 28 // Floating point register 12 PT_FPR13 = 29 // Floating point register 13 PT_FPR14 = 30 // Floating point register 14 PT_FPR15 = 31 // Floating point register 15 PT_FPC = 32 // Floating point control register PT_PSW = 40 // PSW PT_PSW0 = 40 // Left half of the PSW PT_PSW1 = 41 // Right half of the PSW PT_CR0 = 42 // Control register 0 PT_CR1 = 43 // Control register 1 PT_CR2 = 44 // Control register 2 PT_CR3 = 45 // Control register 3 PT_CR4 = 46 // Control register 4 PT_CR5 = 47 // Control register 5 PT_CR6 = 48 // Control register 6 PT_CR7 = 49 // Control register 7 PT_CR8 = 50 // Control register 8 PT_CR9 = 51 // Control register 9 PT_CR10 = 52 // Control register 10 PT_CR11 = 53 // Control register 11 PT_CR12 = 54 // Control register 12 PT_CR13 = 55 // Control register 13 PT_CR14 = 56 // Control register 14 PT_CR15 = 57 // Control register 15 PT_GPRH0 = 58 // GP High register 0 PT_GPRH1 = 59 // GP High register 1 PT_GPRH2 = 60 // GP High register 2 PT_GPRH3 = 61 // GP High register 3 PT_GPRH4 = 62 // GP High register 4 PT_GPRH5 = 63 // GP High register 5 PT_GPRH6 = 64 // GP High register 6 PT_GPRH7 = 65 // GP High register 7 PT_GPRH8 = 66 // GP High register 8 PT_GPRH9 = 67 // GP High register 9 PT_GPRH10 = 68 // GP High register 10 PT_GPRH11 = 69 // GP High register 11 PT_GPRH12 = 70 // GP High register 12 PT_GPRH13 = 71 // GP High register 13 PT_GPRH14 = 72 // GP High register 14 PT_GPRH15 = 73 // GP High register 15 PT_VR0 = 74 // Vector register 0 PT_VR1 = 75 // Vector register 1 PT_VR2 = 76 // Vector register 2 PT_VR3 = 77 // Vector register 3 PT_VR4 = 78 // Vector register 4 PT_VR5 = 79 // Vector register 5 PT_VR6 = 80 // Vector register 6 PT_VR7 = 81 // Vector register 7 PT_VR8 = 82 // Vector register 8 PT_VR9 = 83 // Vector register 9 PT_VR10 = 84 // Vector register 10 PT_VR11 = 85 // Vector register 11 PT_VR12 = 86 // Vector register 12 PT_VR13 = 87 // Vector register 13 PT_VR14 = 88 // Vector register 14 PT_VR15 = 89 // Vector register 15 PT_VR16 = 90 // Vector register 16 PT_VR17 = 91 // Vector register 17 PT_VR18 = 92 // Vector register 18 PT_VR19 = 93 // Vector register 19 PT_VR20 = 94 // Vector register 20 PT_VR21 = 95 // Vector register 21 PT_VR22 = 96 // Vector register 22 PT_VR23 = 97 // Vector register 23 PT_VR24 = 98 // Vector register 24 PT_VR25 = 99 // Vector register 25 PT_VR26 = 100 // Vector register 26 PT_VR27 = 101 // Vector register 27 PT_VR28 = 102 // Vector register 28 PT_VR29 = 103 // Vector register 29 PT_VR30 = 104 // Vector register 30 PT_VR31 = 105 // Vector register 31 PT_PSWG = 106 // PSWG PT_PSWG0 = 106 // Bytes 0-3 PT_PSWG1 = 107 // Bytes 4-7 PT_PSWG2 = 108 // Bytes 8-11 (IA high word) PT_PSWG3 = 109 // Bytes 12-15 (IA low word) ) func Bpx4ptr(request int32, pid int32, addr unsafe.Pointer, data unsafe.Pointer, buffer unsafe.Pointer) (rv int32, rc int32, rn int32) { var parms [8]unsafe.Pointer parms[0] = unsafe.Pointer(&request) parms[1] = unsafe.Pointer(&pid) parms[2] = unsafe.Pointer(&addr) parms[3] = unsafe.Pointer(&data) parms[4] = unsafe.Pointer(&buffer) parms[5] = unsafe.Pointer(&rv) parms[6] = unsafe.Pointer(&rc) parms[7] = unsafe.Pointer(&rn) bpxcall(parms[:], BPX4PTR) return rv, rc, rn } func copyU8(val uint8, dest []uint8) int { if len(dest) < 1 { return 0 } dest[0] = val return 1 } func copyU8Arr(src, dest []uint8) int { if len(dest) < len(src) { return 0 } for i, v := range src { dest[i] = v } return len(src) } func copyU16(val uint16, dest []uint16) int { if len(dest) < 1 { return 0 } dest[0] = val return 1 } func copyU32(val uint32, dest []uint32) int { if len(dest) < 1 { return 0 } dest[0] = val return 1 } func copyU32Arr(src, dest []uint32) int { if len(dest) < len(src) { return 0 } for i, v := range src { dest[i] = v } return len(src) } func copyU64(val uint64, dest []uint64) int { if len(dest) < 1 { return 0 } dest[0] = val return 1 } dependencies/pkg/mod/golang.org/x/sys@v0.26.0/unix/syscall_freebsd.go0000644000000000000000000003710715107355264024314 0ustar rootroot// 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 ( "errors" "sync" "unsafe" ) // See https://www.freebsd.org/doc/en_US.ISO8859-1/books/porters-handbook/versions.html. var ( osreldateOnce sync.Once osreldate uint32 ) func supportsABI(ver uint32) bool { osreldateOnce.Do(func() { osreldate, _ = SysctlUint32("kern.osreldate") }) return osreldate >= ver } // SockaddrDatalink implements the Sockaddr interface for AF_LINK type sockets. type SockaddrDatalink struct { Len uint8 Family uint8 Index uint16 Type uint8 Nlen uint8 Alen uint8 Slen uint8 Data [46]int8 raw RawSockaddrDatalink } func anyToSockaddrGOOS(fd int, rsa *RawSockaddrAny) (Sockaddr, error) { return nil, EAFNOSUPPORT } // 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)) } func Pipe(p []int) (err error) { return Pipe2(p, 0) } //sysnb pipe2(p *[2]_C_int, flags int) (err error) func Pipe2(p []int, flags int) error { if len(p) != 2 { return EINVAL } var pp [2]_C_int err := pipe2(&pp, flags) if err == nil { p[0] = int(pp[0]) p[1] = int(pp[1]) } return err } 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)) } // GetsockoptXucred is a getsockopt wrapper that returns an Xucred struct. // The usual level and opt are SOL_LOCAL and LOCAL_PEERCRED, respectively. func GetsockoptXucred(fd, level, opt int) (*Xucred, error) { x := new(Xucred) vallen := _Socklen(SizeofXucred) err := getsockopt(fd, level, opt, unsafe.Pointer(x), &vallen) return x, err } 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(fd, &rsa) if err != nil { Close(nfd) nfd = 0 } return } //sys Getcwd(buf []byte) (n int, err error) = SYS___GETCWD func Getfsstat(buf []Statfs_t, flags int) (n int, err error) { var ( _p0 unsafe.Pointer 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 } //sys ioctl(fd int, req uint, arg uintptr) (err error) = SYS_IOCTL //sys ioctlPtr(fd int, req uint, arg unsafe.Pointer) (err error) = SYS_IOCTL //sys sysctl(mib []_C_int, old *byte, oldlen *uintptr, new *byte, newlen uintptr) (err error) = SYS___SYSCTL func Uname(uname *Utsname) error { mib := []_C_int{CTL_KERN, KERN_OSTYPE} n := unsafe.Sizeof(uname.Sysname) // Suppress ENOMEM errors to be compatible with the C library __xuname() implementation. if err := sysctl(mib, &uname.Sysname[0], &n, nil, 0); err != nil && !errors.Is(err, ENOMEM) { return err } mib = []_C_int{CTL_KERN, KERN_HOSTNAME} n = unsafe.Sizeof(uname.Nodename) if err := sysctl(mib, &uname.Nodename[0], &n, nil, 0); err != nil && !errors.Is(err, ENOMEM) { return err } mib = []_C_int{CTL_KERN, KERN_OSRELEASE} n = unsafe.Sizeof(uname.Release) if err := sysctl(mib, &uname.Release[0], &n, nil, 0); err != nil && !errors.Is(err, ENOMEM) { return err } mib = []_C_int{CTL_KERN, KERN_VERSION} n = unsafe.Sizeof(uname.Version) if err := sysctl(mib, &uname.Version[0], &n, nil, 0); err != nil && !errors.Is(err, ENOMEM) { return err } // The version might have newlines or tabs in it, convert them to // spaces. for i, b := range uname.Version { if b == '\n' || b == '\t' { if i == len(uname.Version)-1 { uname.Version[i] = 0 } else { uname.Version[i] = ' ' } } } mib = []_C_int{CTL_HW, HW_MACHINE} n = unsafe.Sizeof(uname.Machine) if err := sysctl(mib, &uname.Machine[0], &n, nil, 0); err != nil && !errors.Is(err, ENOMEM) { return err } return nil } func Stat(path string, st *Stat_t) (err error) { return Fstatat(AT_FDCWD, path, st, 0) } func Lstat(path string, st *Stat_t) (err error) { return Fstatat(AT_FDCWD, path, st, AT_SYMLINK_NOFOLLOW) } func Getdents(fd int, buf []byte) (n int, err error) { return Getdirentries(fd, buf, nil) } func Getdirentries(fd int, buf []byte, basep *uintptr) (n int, err error) { if basep == nil || unsafe.Sizeof(*basep) == 8 { return getdirentries(fd, buf, (*uint64)(unsafe.Pointer(basep))) } // The syscall needs a 64-bit base. On 32-bit machines // we can't just use the basep passed in. See #32498. var base uint64 = uint64(*basep) n, err = getdirentries(fd, buf, &base) *basep = uintptr(base) if base>>32 != 0 { // We can't stuff the base back into a uintptr, so any // future calls would be suspect. Generate an error. // EIO is allowed by getdirentries. err = EIO } return } func Mknod(path string, mode uint32, dev uint64) (err error) { return Mknodat(AT_FDCWD, path, mode, dev) } 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) } //sys ptrace(request int, pid int, addr uintptr, data int) (err error) //sys ptracePtr(request int, pid int, addr unsafe.Pointer, data int) (err error) = SYS_PTRACE func PtraceAttach(pid int) (err error) { return ptrace(PT_ATTACH, pid, 0, 0) } func PtraceCont(pid int, signal int) (err error) { return ptrace(PT_CONTINUE, pid, 1, signal) } func PtraceDetach(pid int) (err error) { return ptrace(PT_DETACH, pid, 1, 0) } func PtraceGetFpRegs(pid int, fpregsout *FpReg) (err error) { return ptracePtr(PT_GETFPREGS, pid, unsafe.Pointer(fpregsout), 0) } func PtraceGetRegs(pid int, regsout *Reg) (err error) { return ptracePtr(PT_GETREGS, pid, unsafe.Pointer(regsout), 0) } func PtraceIO(req int, pid int, offs uintptr, out []byte, countin int) (count int, err error) { ioDesc := PtraceIoDesc{ Op: int32(req), Offs: offs, } if countin > 0 { _ = out[:countin] // check bounds ioDesc.Addr = &out[0] } else if out != nil { ioDesc.Addr = (*byte)(unsafe.Pointer(&_zero)) } ioDesc.SetLen(countin) err = ptracePtr(PT_IO, pid, unsafe.Pointer(&ioDesc), 0) return int(ioDesc.Len), err } func PtraceLwpEvents(pid int, enable int) (err error) { return ptrace(PT_LWP_EVENTS, pid, 0, enable) } func PtraceLwpInfo(pid int, info *PtraceLwpInfoStruct) (err error) { return ptracePtr(PT_LWPINFO, pid, unsafe.Pointer(info), int(unsafe.Sizeof(*info))) } func PtracePeekData(pid int, addr uintptr, out []byte) (count int, err error) { return PtraceIO(PIOD_READ_D, pid, addr, out, SizeofLong) } func PtracePeekText(pid int, addr uintptr, out []byte) (count int, err error) { return PtraceIO(PIOD_READ_I, pid, addr, out, SizeofLong) } func PtracePokeData(pid int, addr uintptr, data []byte) (count int, err error) { return PtraceIO(PIOD_WRITE_D, pid, addr, data, SizeofLong) } func PtracePokeText(pid int, addr uintptr, data []byte) (count int, err error) { return PtraceIO(PIOD_WRITE_I, pid, addr, data, SizeofLong) } func PtraceSetRegs(pid int, regs *Reg) (err error) { return ptracePtr(PT_SETREGS, pid, unsafe.Pointer(regs), 0) } func PtraceSingleStep(pid int) (err error) { return ptrace(PT_STEP, pid, 1, 0) } func Dup3(oldfd, newfd, flags int) error { if oldfd == newfd || flags&^O_CLOEXEC != 0 { return EINVAL } how := F_DUP2FD if flags&O_CLOEXEC != 0 { how = F_DUP2FD_CLOEXEC } _, err := fcntl(oldfd, how, newfd) return err } /* * Exposed directly */ //sys Access(path string, mode uint32) (err error) //sys Adjtime(delta *Timeval, olddelta *Timeval) (err error) //sys CapEnter() (err error) //sys capRightsGet(version int, fd int, rightsp *CapRights) (err error) = SYS___CAP_RIGHTS_GET //sys capRightsLimit(fd int, rightsp *CapRights) (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 ClockGettime(clockid int32, time *Timespec) (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 Faccessat(dirfd int, path string, mode uint32, flags int) (err error) //sys Fchdir(fd int) (err error) //sys Fchflags(fd int, flags 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 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 Fstatat(fd int, path string, stat *Stat_t, flags int) (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 *uint64) (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 Linkat(pathfd int, path string, linkfd int, link string, flags int) (err error) //sys Listen(s int, backlog 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 Mknodat(fd int, path string, mode uint32, dev uint64) (err error) //sys Nanosleep(time *Timespec, leftover *Timespec) (err error) //sys Open(path string, mode int, perm uint32) (fd int, err error) //sys Openat(fdat int, 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 Readlinkat(dirfd int, path string, buf []byte) (n int, err error) //sys Rename(from string, to string) (err error) //sys Renameat(fromfd int, from string, tofd int, 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(nfd int, r *FdSet, w *FdSet, e *FdSet, timeout *Timeval) (n int, 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 Setsid() (pid int, err error) //sysnb Settimeofday(tp *Timeval) (err error) //sysnb Setuid(uid int) (err error) //sys Statfs(path string, stat *Statfs_t) (err error) //sys Symlink(path string, link string) (err error) //sys Symlinkat(oldpath string, newdirfd int, newpath 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 Unlinkat(dirfd int, path string, flags int) (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 accept4(fd int, rsa *RawSockaddrAny, addrlen *_Socklen, flags int) (nfd int, err error) //sys utimensat(dirfd int, path string, times *[2]Timespec, flags int) (err error) dependencies/pkg/mod/golang.org/x/sys@v0.26.0/unix/asm_linux_s390x.s0000644000000000000000000000216615107355264023747 0ustar rootroot// 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. //go:build linux && s390x && gc #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 ·SyscallNoError(SB),NOSPLIT,$0-48 BL runtime·entersyscall(SB) MOVD a1+8(FP), R2 MOVD a2+16(FP), R3 MOVD a3+24(FP), R4 MOVD $0, R5 MOVD $0, R6 MOVD $0, R7 MOVD trap+0(FP), R1 // syscall entry SYSCALL MOVD R2, r1+32(FP) MOVD R3, r2+40(FP) BL runtime·exitsyscall(SB) RET TEXT ·RawSyscall(SB),NOSPLIT,$0-56 BR syscall·RawSyscall(SB) TEXT ·RawSyscall6(SB),NOSPLIT,$0-80 BR syscall·RawSyscall6(SB) TEXT ·RawSyscallNoError(SB),NOSPLIT,$0-48 MOVD a1+8(FP), R2 MOVD a2+16(FP), R3 MOVD a3+24(FP), R4 MOVD $0, R5 MOVD $0, R6 MOVD $0, R7 MOVD trap+0(FP), R1 // syscall entry SYSCALL MOVD R2, r1+32(FP) MOVD R3, r2+40(FP) RET dependencies/pkg/mod/golang.org/x/sys@v0.26.0/unix/zsyscall_netbsd_arm.go0000644000000000000000000013020615107355264025204 0ustar rootroot// go run mksyscall.go -l32 -netbsd -arm -tags netbsd,arm syscall_bsd.go syscall_netbsd.go syscall_netbsd_arm.go // Code generated by the command above; see README.md. DO NOT EDIT. //go: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 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 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 } // THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT func Madvise(b []byte, behav 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(behav)) 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 Msync(b []byte, flags int) (err error) { var _p0 unsafe.Pointer if len(b) > 0 { _p0 = unsafe.Pointer(&b[0]) } else { _p0 = unsafe.Pointer(&_zero) } _, _, e1 := Syscall(SYS_MSYNC, uintptr(_p0), uintptr(len(b)), uintptr(flags)) 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 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 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 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 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 ioctlPtr(fd int, req uint, arg unsafe.Pointer) (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 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 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 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 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 Dup3(from int, to int, flags int) (err error) { _, _, e1 := Syscall(SYS_DUP3, uintptr(from), uintptr(to), uintptr(flags)) 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 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 Fadvise(fd int, offset int64, length int64, advice int) (err error) { _, _, e1 := Syscall9(SYS_POSIX_FADVISE, uintptr(fd), 0, uintptr(offset), uintptr(offset>>32), 0, uintptr(length), uintptr(length>>32), uintptr(advice), 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 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 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 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 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 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 Fstatvfs1(fd int, buf *Statvfs_t, flags int) (err error) { _, _, e1 := Syscall(SYS_FSTATVFS1, uintptr(fd), uintptr(unsafe.Pointer(buf)), uintptr(flags)) 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 Linkat(pathfd int, path string, linkfd int, link string, flags int) (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 := Syscall6(SYS_LINKAT, uintptr(pathfd), uintptr(unsafe.Pointer(_p0)), uintptr(linkfd), 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 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 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 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 Mkfifoat(dirfd int, path string, mode uint32) (err error) { var _p0 *byte _p0, err = BytePtrFromString(path) if err != nil { return } _, _, e1 := Syscall(SYS_MKFIFOAT, 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 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 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 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 Openat(dirfd int, path string, mode int, perm 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(mode), uintptr(perm), 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 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 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 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 Renameat(fromfd int, from string, tofd int, 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 := Syscall6(SYS_RENAMEAT, uintptr(fromfd), uintptr(unsafe.Pointer(_p0)), uintptr(tofd), 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 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(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 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 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 Statvfs1(path string, buf *Statvfs_t, flags int) (err error) { var _p0 *byte _p0, err = BytePtrFromString(path) if err != nil { return } _, _, e1 := Syscall(SYS_STATVFS1, uintptr(unsafe.Pointer(_p0)), uintptr(unsafe.Pointer(buf)), uintptr(flags)) 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 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 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 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 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 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 mremapNetBSD(oldp uintptr, oldsize uintptr, newp uintptr, newsize uintptr, flags int) (xaddr uintptr, err error) { r0, _, e1 := Syscall6(SYS_MREMAP, uintptr(oldp), uintptr(oldsize), uintptr(newp), uintptr(newsize), uintptr(flags), 0) xaddr = uintptr(r0) if e1 != 0 { err = errnoErr(e1) } return } dependencies/pkg/mod/golang.org/x/sys@v0.26.0/unix/zsysnum_linux_ppc64le.go0000644000000000000000000003446415107355264025457 0ustar rootroot// go run linux/mksysnum.go -Wall -Werror -static -I/tmp/ppc64le/include /tmp/ppc64le/include/asm/unistd.h // Code generated by the command above; see README.md. DO NOT EDIT. //go: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 SYS_STATX = 383 SYS_PKEY_ALLOC = 384 SYS_PKEY_FREE = 385 SYS_PKEY_MPROTECT = 386 SYS_RSEQ = 387 SYS_IO_PGETEVENTS = 388 SYS_SEMTIMEDOP = 392 SYS_SEMGET = 393 SYS_SEMCTL = 394 SYS_SHMGET = 395 SYS_SHMCTL = 396 SYS_SHMAT = 397 SYS_SHMDT = 398 SYS_MSGGET = 399 SYS_MSGSND = 400 SYS_MSGRCV = 401 SYS_MSGCTL = 402 SYS_PIDFD_SEND_SIGNAL = 424 SYS_IO_URING_SETUP = 425 SYS_IO_URING_ENTER = 426 SYS_IO_URING_REGISTER = 427 SYS_OPEN_TREE = 428 SYS_MOVE_MOUNT = 429 SYS_FSOPEN = 430 SYS_FSCONFIG = 431 SYS_FSMOUNT = 432 SYS_FSPICK = 433 SYS_PIDFD_OPEN = 434 SYS_CLONE3 = 435 SYS_CLOSE_RANGE = 436 SYS_OPENAT2 = 437 SYS_PIDFD_GETFD = 438 SYS_FACCESSAT2 = 439 SYS_PROCESS_MADVISE = 440 SYS_EPOLL_PWAIT2 = 441 SYS_MOUNT_SETATTR = 442 SYS_QUOTACTL_FD = 443 SYS_LANDLOCK_CREATE_RULESET = 444 SYS_LANDLOCK_ADD_RULE = 445 SYS_LANDLOCK_RESTRICT_SELF = 446 SYS_PROCESS_MRELEASE = 448 SYS_FUTEX_WAITV = 449 SYS_SET_MEMPOLICY_HOME_NODE = 450 SYS_CACHESTAT = 451 SYS_FCHMODAT2 = 452 SYS_MAP_SHADOW_STACK = 453 SYS_FUTEX_WAKE = 454 SYS_FUTEX_WAIT = 455 SYS_FUTEX_REQUEUE = 456 SYS_STATMOUNT = 457 SYS_LISTMOUNT = 458 SYS_LSM_GET_SELF_ATTR = 459 SYS_LSM_SET_SELF_ATTR = 460 SYS_LSM_LIST_MODULES = 461 SYS_MSEAL = 462 ) dependencies/pkg/mod/golang.org/x/sys@v0.26.0/unix/zsysnum_linux_arm.go0000644000000000000000000004060415107355264024752 0ustar rootroot// go run linux/mksysnum.go -Wall -Werror -static -I/tmp/arm/include /tmp/arm/include/asm/unistd.h // Code generated by the command above; see README.md. DO NOT EDIT. //go:build arm && linux package unix const ( SYS_SYSCALL_MASK = 0 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 SYS_STATX = 397 SYS_RSEQ = 398 SYS_IO_PGETEVENTS = 399 SYS_MIGRATE_PAGES = 400 SYS_KEXEC_FILE_LOAD = 401 SYS_CLOCK_GETTIME64 = 403 SYS_CLOCK_SETTIME64 = 404 SYS_CLOCK_ADJTIME64 = 405 SYS_CLOCK_GETRES_TIME64 = 406 SYS_CLOCK_NANOSLEEP_TIME64 = 407 SYS_TIMER_GETTIME64 = 408 SYS_TIMER_SETTIME64 = 409 SYS_TIMERFD_GETTIME64 = 410 SYS_TIMERFD_SETTIME64 = 411 SYS_UTIMENSAT_TIME64 = 412 SYS_PSELECT6_TIME64 = 413 SYS_PPOLL_TIME64 = 414 SYS_IO_PGETEVENTS_TIME64 = 416 SYS_RECVMMSG_TIME64 = 417 SYS_MQ_TIMEDSEND_TIME64 = 418 SYS_MQ_TIMEDRECEIVE_TIME64 = 419 SYS_SEMTIMEDOP_TIME64 = 420 SYS_RT_SIGTIMEDWAIT_TIME64 = 421 SYS_FUTEX_TIME64 = 422 SYS_SCHED_RR_GET_INTERVAL_TIME64 = 423 SYS_PIDFD_SEND_SIGNAL = 424 SYS_IO_URING_SETUP = 425 SYS_IO_URING_ENTER = 426 SYS_IO_URING_REGISTER = 427 SYS_OPEN_TREE = 428 SYS_MOVE_MOUNT = 429 SYS_FSOPEN = 430 SYS_FSCONFIG = 431 SYS_FSMOUNT = 432 SYS_FSPICK = 433 SYS_PIDFD_OPEN = 434 SYS_CLONE3 = 435 SYS_CLOSE_RANGE = 436 SYS_OPENAT2 = 437 SYS_PIDFD_GETFD = 438 SYS_FACCESSAT2 = 439 SYS_PROCESS_MADVISE = 440 SYS_EPOLL_PWAIT2 = 441 SYS_MOUNT_SETATTR = 442 SYS_QUOTACTL_FD = 443 SYS_LANDLOCK_CREATE_RULESET = 444 SYS_LANDLOCK_ADD_RULE = 445 SYS_LANDLOCK_RESTRICT_SELF = 446 SYS_PROCESS_MRELEASE = 448 SYS_FUTEX_WAITV = 449 SYS_SET_MEMPOLICY_HOME_NODE = 450 SYS_CACHESTAT = 451 SYS_FCHMODAT2 = 452 SYS_MAP_SHADOW_STACK = 453 SYS_FUTEX_WAKE = 454 SYS_FUTEX_WAIT = 455 SYS_FUTEX_REQUEUE = 456 SYS_STATMOUNT = 457 SYS_LISTMOUNT = 458 SYS_LSM_GET_SELF_ATTR = 459 SYS_LSM_SET_SELF_ATTR = 460 SYS_LSM_LIST_MODULES = 461 SYS_MSEAL = 462 ) dependencies/pkg/mod/golang.org/x/sys@v0.26.0/unix/zsysnum_openbsd_386.go0000644000000000000000000004363715107355264025017 0ustar rootroot// go run mksysnum.go https://cvsweb.openbsd.org/cgi-bin/cvsweb/~checkout~/src/sys/kern/syscalls.master // Code generated by the command above; see README.md. DO NOT EDIT. //go:build 386 && openbsd package unix // Deprecated: Use libc wrappers instead of direct syscalls. 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_GETENTROPY = 7 // { int sys_getentropy(void *buf, size_t nbyte); } SYS___TFORK = 8 // { int sys___tfork(const struct __tfork *param, size_t psize); } 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, int options, struct rusage *rusage); } 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, dev_t dev); } 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_OBREAK = 17 // { int sys_obreak(char *nsize); } break SYS_GETDTABLECOUNT = 18 // { int sys_getdtablecount(void); } SYS_GETRUSAGE = 19 // { int sys_getrusage(int who, struct rusage *rusage); } SYS_GETPID = 20 // { pid_t sys_getpid(void); } SYS_MOUNT = 21 // { int sys_mount(const char *type, const char *path, int flags, void *data); } 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, 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 amode); } 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_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, struct stat *buf, int flag); } SYS_GETEGID = 43 // { gid_t sys_getegid(void); } SYS_PROFIL = 44 // { int sys_profil(caddr_t 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_SIGACTION = 46 // { int sys_sigaction(int signum, const struct sigaction *nsa, struct sigaction *osa); } SYS_GETGID = 47 // { gid_t sys_getgid(void); } SYS_SIGPROCMASK = 48 // { int sys_sigprocmask(int how, sigset_t mask); } 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, u_long com, ... void *data); } 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, 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_GETFSSTAT = 62 // { int sys_getfsstat(struct statfs *buf, size_t bufsize, int flags); } SYS_STATFS = 63 // { int sys_statfs(const char *path, struct statfs *buf); } SYS_FSTATFS = 64 // { int sys_fstatfs(int fd, struct statfs *buf); } SYS_FHSTATFS = 65 // { int sys_fhstatfs(const fhandle_t *fhp, struct statfs *buf); } SYS_VFORK = 66 // { int sys_vfork(void); } SYS_GETTIMEOFDAY = 67 // { int sys_gettimeofday(struct timeval *tp, struct timezone *tzp); } SYS_SETTIMEOFDAY = 68 // { int sys_settimeofday(const struct timeval *tv, const struct timezone *tzp); } SYS_SETITIMER = 69 // { int sys_setitimer(int which, const struct itimerval *itv, struct itimerval *oitv); } SYS_GETITIMER = 70 // { int sys_getitimer(int which, struct itimerval *itv); } SYS_SELECT = 71 // { int sys_select(int nd, fd_set *in, fd_set *ou, fd_set *ex, struct timeval *tv); } SYS_KEVENT = 72 // { int sys_kevent(int fd, const struct kevent *changelist, int nchanges, struct kevent *eventlist, int nevents, const struct timespec *timeout); } 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_UTIMES = 76 // { int sys_utimes(const char *path, const struct timeval *tptr); } SYS_FUTIMES = 77 // { int sys_futimes(int fd, const struct timeval *tptr); } 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_FUTEX = 83 // { int sys_futex(uint32_t *f, int op, int val, const struct timespec *timeout, uint32_t *g); } SYS_UTIMENSAT = 84 // { int sys_utimensat(int fd, const char *path, const struct timespec *times, int flag); } SYS_FUTIMENS = 85 // { int sys_futimens(int fd, const struct timespec *times); } SYS_KBIND = 86 // { int sys_kbind(const struct __kbind *param, size_t psize, int64_t proc_cookie); } SYS_CLOCK_GETTIME = 87 // { int sys_clock_gettime(clockid_t clock_id, struct timespec *tp); } SYS_CLOCK_SETTIME = 88 // { int sys_clock_settime(clockid_t clock_id, const struct timespec *tp); } SYS_CLOCK_GETRES = 89 // { int sys_clock_getres(clockid_t clock_id, struct timespec *tp); } SYS_DUP2 = 90 // { int sys_dup2(int from, int to); } SYS_NANOSLEEP = 91 // { int sys_nanosleep(const struct timespec *rqtp, struct timespec *rmtp); } SYS_FCNTL = 92 // { int sys_fcntl(int fd, int cmd, ... void *arg); } SYS_ACCEPT4 = 93 // { int sys_accept4(int s, struct sockaddr *name, socklen_t *anamelen, int flags); } SYS___THRSLEEP = 94 // { int sys___thrsleep(const volatile void *ident, clockid_t clock_id, const struct timespec *tp, void *lock, const int *abort); } 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, socklen_t namelen); } 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_PIPE2 = 101 // { int sys_pipe2(int *fdp, int flags); } SYS_DUP3 = 102 // { int sys_dup3(int from, int to, int flags); } SYS_SIGRETURN = 103 // { int sys_sigreturn(struct sigcontext *sigcntxp); } 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_CHFLAGSAT = 107 // { int sys_chflagsat(int fd, const char *path, u_int flags, int atflags); } SYS_PLEDGE = 108 // { int sys_pledge(const char *promises, const char *execpromises); } SYS_PPOLL = 109 // { int sys_ppoll(struct pollfd *fds, u_int nfds, const struct timespec *ts, const sigset_t *mask); } SYS_PSELECT = 110 // { int sys_pselect(int nd, fd_set *in, fd_set *ou, fd_set *ex, const struct timespec *ts, const sigset_t *mask); } SYS_SIGSUSPEND = 111 // { int sys_sigsuspend(int mask); } SYS_SENDSYSLOG = 112 // { int sys_sendsyslog(const char *buf, size_t nbyte, int flags); } SYS_UNVEIL = 114 // { int sys_unveil(const char *path, const char *permissions); } SYS_GETSOCKOPT = 118 // { int sys_getsockopt(int s, int level, int name, void *val, socklen_t *avalsize); } SYS_THRKILL = 119 // { int sys_thrkill(pid_t tid, int signum, void *tcb); } 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_KILL = 122 // { int sys_kill(int pid, int signum); } 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_ADJTIME = 140 // { int sys_adjtime(const struct timeval *delta, struct timeval *olddelta); } SYS_GETLOGIN_R = 141 // { int sys_getlogin_r(char *namebuf, u_int namelen); } SYS_SETSID = 147 // { int sys_setsid(void); } SYS_QUOTACTL = 148 // { int sys_quotactl(const char *path, int cmd, int uid, char *arg); } 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, 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_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, 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, 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_GETPGID = 207 // { pid_t sys_getpgid(pid_t pid); } SYS_UTRACE = 209 // { int sys_utrace(const char *label, const void *addr, size_t len); } 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, int msgflg); } SYS_MSGRCV = 227 // { int 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_MINHERIT = 250 // { int sys_minherit(void *addr, size_t len, int inherit); } SYS_POLL = 252 // { int sys_poll(struct pollfd *fds, u_int nfds, int timeout); } 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, const struct iovec *iovp, int iovcnt, int pad, off_t offset); } SYS_PWRITEV = 268 // { ssize_t sys_pwritev(int fd, const struct iovec *iovp, int iovcnt, int pad, off_t offset); } 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, uid_t *suid); } SYS_SETRESUID = 282 // { int sys_setresuid(uid_t ruid, uid_t euid, uid_t suid); } SYS_GETRESGID = 283 // { int sys_getresgid(gid_t *rgid, gid_t *egid, gid_t *sgid); } SYS_SETRESGID = 284 // { int sys_setresgid(gid_t rgid, gid_t egid, gid_t sgid); } SYS_MQUERY = 286 // { void *sys_mquery(void *addr, size_t len, int prot, int flags, int fd, long pad, off_t pos); } SYS_CLOSEFROM = 287 // { int sys_closefrom(int fd); } SYS_SIGALTSTACK = 288 // { int sys_sigaltstack(const struct sigaltstack *nss, struct sigaltstack *oss); } 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, size_t nsops); } SYS_FHSTAT = 294 // { int sys_fhstat(const fhandle_t *fhp, struct stat *sb); } SYS___SEMCTL = 295 // { int sys___semctl(int semid, int semnum, int cmd, union semun *arg); } SYS_SHMCTL = 296 // { int sys_shmctl(int shmid, int cmd, struct shmid_ds *buf); } SYS_MSGCTL = 297 // { int sys_msgctl(int msqid, int cmd, struct msqid_ds *buf); } 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, int n); } SYS___THREXIT = 302 // { void sys___threxit(pid_t *notdead); } SYS___THRSIGDIVERT = 303 // { int sys___thrsigdivert(sigset_t sigmask, siginfo_t *info, const struct timespec *timeout); } SYS___GETCWD = 304 // { int sys___getcwd(char *buf, size_t len); } SYS_ADJFREQ = 305 // { int sys_adjfreq(const int64_t *freq, int64_t *oldfreq); } 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, int amode, int flag); } SYS_FCHMODAT = 314 // { int sys_fchmodat(int fd, const char *path, mode_t mode, int flag); } SYS_FCHOWNAT = 315 // { int sys_fchownat(int fd, const char *path, uid_t uid, gid_t gid, int flag); } SYS_LINKAT = 317 // { int sys_linkat(int fd1, const char *path1, int fd2, const char *path2, int flag); } SYS_MKDIRAT = 318 // { int sys_mkdirat(int fd, const char *path, mode_t mode); } SYS_MKFIFOAT = 319 // { int sys_mkfifoat(int fd, const char *path, mode_t mode); } SYS_MKNODAT = 320 // { int sys_mknodat(int fd, const char *path, mode_t mode, dev_t dev); } SYS_OPENAT = 321 // { int sys_openat(int fd, const char *path, int flags, ... mode_t mode); } SYS_READLINKAT = 322 // { ssize_t sys_readlinkat(int fd, const char *path, char *buf, size_t count); } SYS_RENAMEAT = 323 // { int sys_renameat(int fromfd, const char *from, int tofd, const char *to); } SYS_SYMLINKAT = 324 // { int sys_symlinkat(const char *path, int fd, const char *link); } SYS_UNLINKAT = 325 // { int sys_unlinkat(int fd, const char *path, int flag); } SYS___SET_TCB = 329 // { void sys___set_tcb(void *tcb); } SYS___GET_TCB = 330 // { void *sys___get_tcb(void); } ) dependencies/pkg/mod/golang.org/x/sys@v0.26.0/unix/sysvshm_unix_other.go0000644000000000000000000000062715107355264025125 0ustar rootroot// Copyright 2021 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:build (darwin && !ios) || zos package unix // SysvShmCtl performs control operations on the shared memory segment // specified by id. func SysvShmCtl(id, cmd int, desc *SysvShmDesc) (result int, err error) { return shmctl(id, cmd, desc) } dependencies/pkg/mod/golang.org/x/sys@v0.26.0/unix/zsysnum_linux_mips64.go0000644000000000000000000003213215107355264025312 0ustar rootroot// go run linux/mksysnum.go -Wall -Werror -static -I/tmp/mips64/include /tmp/mips64/include/asm/unistd.h // Code generated by the command above; see README.md. DO NOT EDIT. //go: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 SYS_STATX = 5326 SYS_RSEQ = 5327 SYS_IO_PGETEVENTS = 5328 SYS_PIDFD_SEND_SIGNAL = 5424 SYS_IO_URING_SETUP = 5425 SYS_IO_URING_ENTER = 5426 SYS_IO_URING_REGISTER = 5427 SYS_OPEN_TREE = 5428 SYS_MOVE_MOUNT = 5429 SYS_FSOPEN = 5430 SYS_FSCONFIG = 5431 SYS_FSMOUNT = 5432 SYS_FSPICK = 5433 SYS_PIDFD_OPEN = 5434 SYS_CLONE3 = 5435 SYS_CLOSE_RANGE = 5436 SYS_OPENAT2 = 5437 SYS_PIDFD_GETFD = 5438 SYS_FACCESSAT2 = 5439 SYS_PROCESS_MADVISE = 5440 SYS_EPOLL_PWAIT2 = 5441 SYS_MOUNT_SETATTR = 5442 SYS_QUOTACTL_FD = 5443 SYS_LANDLOCK_CREATE_RULESET = 5444 SYS_LANDLOCK_ADD_RULE = 5445 SYS_LANDLOCK_RESTRICT_SELF = 5446 SYS_PROCESS_MRELEASE = 5448 SYS_FUTEX_WAITV = 5449 SYS_SET_MEMPOLICY_HOME_NODE = 5450 SYS_CACHESTAT = 5451 SYS_FCHMODAT2 = 5452 SYS_MAP_SHADOW_STACK = 5453 SYS_FUTEX_WAKE = 5454 SYS_FUTEX_WAIT = 5455 SYS_FUTEX_REQUEUE = 5456 SYS_STATMOUNT = 5457 SYS_LISTMOUNT = 5458 SYS_LSM_GET_SELF_ATTR = 5459 SYS_LSM_SET_SELF_ATTR = 5460 SYS_LSM_LIST_MODULES = 5461 SYS_MSEAL = 5462 ) dependencies/pkg/mod/golang.org/x/sys@v0.26.0/unix/dev_zos_test.go0000644000000000000000000000257515107355264023661 0ustar rootroot// Copyright 2020 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:build zos && s390x package unix_test // Modified from Linux tests for device numbers. import ( "fmt" "testing" "golang.org/x/sys/unix" ) func TestDevices(t *testing.T) { testCases := []struct { path string major uint32 minor uint32 }{ // Device nums found using ls -l on z/OS {"/dev/null", 4, 0}, {"/dev/zero", 4, 1}, {"/dev/random", 4, 2}, {"/dev/urandom", 4, 2}, {"/dev/tty", 3, 0}, } for _, tc := range testCases { t.Run(fmt.Sprintf("%s %v:%v", tc.path, tc.major, tc.minor), func(t *testing.T) { var stat unix.Stat_t err := unix.Stat(tc.path, &stat) if err != nil { if err == unix.EACCES { t.Skip("no permission to stat device, skipping test") } t.Errorf("failed to stat device: %v", err) return } dev := uint64(stat.Rdev) if unix.Major(dev) != tc.major { t.Errorf("for %s Major(%#x) == %d, want %d", tc.path, dev, unix.Major(dev), tc.major) } if unix.Minor(dev) != tc.minor { t.Errorf("for %s Minor(%#x) == %d, want %d", tc.path, dev, unix.Minor(dev), tc.minor) } if unix.Mkdev(tc.major, tc.minor) != dev { t.Errorf("for %s Mkdev(%d, %d) == %#x, want %#x", tc.path, tc.major, tc.minor, unix.Mkdev(tc.major, tc.minor), dev) } }) } } dependencies/pkg/mod/golang.org/x/sys@v0.26.0/unix/zerrors_linux_amd64.go0000644000000000000000000010477315107355264025074 0ustar rootroot// mkerrors.sh -Wall -Werror -static -I/tmp/amd64/include -m64 // Code generated by the command above; see README.md. DO NOT EDIT. //go:build amd64 && linux // Code generated by cmd/cgo -godefs; DO NOT EDIT. // cgo -godefs -- -Wall -Werror -static -I/tmp/amd64/include -m64 _const.go package unix import "syscall" const ( B1000000 = 0x1008 B115200 = 0x1002 B1152000 = 0x1009 B1500000 = 0x100a B2000000 = 0x100b B230400 = 0x1003 B2500000 = 0x100c B3000000 = 0x100d B3500000 = 0x100e B4000000 = 0x100f B460800 = 0x1004 B500000 = 0x1005 B57600 = 0x1001 B576000 = 0x1006 B921600 = 0x1007 BLKALIGNOFF = 0x127a BLKBSZGET = 0x80081270 BLKBSZSET = 0x40081271 BLKDISCARD = 0x1277 BLKDISCARDZEROES = 0x127c BLKFLSBUF = 0x1261 BLKFRAGET = 0x1265 BLKFRASET = 0x1264 BLKGETDISKSEQ = 0x80081280 BLKGETSIZE = 0x1260 BLKGETSIZE64 = 0x80081272 BLKIOMIN = 0x1278 BLKIOOPT = 0x1279 BLKPBSZGET = 0x127b BLKRAGET = 0x1263 BLKRASET = 0x1262 BLKROGET = 0x125e BLKROSET = 0x125d BLKROTATIONAL = 0x127e BLKRRPART = 0x125f BLKSECDISCARD = 0x127d BLKSECTGET = 0x1267 BLKSECTSET = 0x1266 BLKSSZGET = 0x1268 BLKZEROOUT = 0x127f BOTHER = 0x1000 BS1 = 0x2000 BSDLY = 0x2000 CBAUD = 0x100f CBAUDEX = 0x1000 CIBAUD = 0x100f0000 CLOCAL = 0x800 CR1 = 0x200 CR2 = 0x400 CR3 = 0x600 CRDLY = 0x600 CREAD = 0x80 CS6 = 0x10 CS7 = 0x20 CS8 = 0x30 CSIZE = 0x30 CSTOPB = 0x40 ECCGETLAYOUT = 0x81484d11 ECCGETSTATS = 0x80104d12 ECHOCTL = 0x200 ECHOE = 0x10 ECHOK = 0x20 ECHOKE = 0x800 ECHONL = 0x40 ECHOPRT = 0x400 EFD_CLOEXEC = 0x80000 EFD_NONBLOCK = 0x800 EPIOCGPARAMS = 0x80088a02 EPIOCSPARAMS = 0x40088a01 EPOLL_CLOEXEC = 0x80000 EXTPROC = 0x10000 FF1 = 0x8000 FFDLY = 0x8000 FICLONE = 0x40049409 FICLONERANGE = 0x4020940d FLUSHO = 0x1000 FP_XSTATE_MAGIC2 = 0x46505845 FS_IOC_ENABLE_VERITY = 0x40806685 FS_IOC_GETFLAGS = 0x80086601 FS_IOC_GET_ENCRYPTION_NONCE = 0x8010661b FS_IOC_GET_ENCRYPTION_POLICY = 0x400c6615 FS_IOC_GET_ENCRYPTION_PWSALT = 0x40106614 FS_IOC_SETFLAGS = 0x40086602 FS_IOC_SET_ENCRYPTION_POLICY = 0x800c6613 F_GETLK = 0x5 F_GETLK64 = 0x5 F_GETOWN = 0x9 F_RDLCK = 0x0 F_SETLK = 0x6 F_SETLK64 = 0x6 F_SETLKW = 0x7 F_SETLKW64 = 0x7 F_SETOWN = 0x8 F_UNLCK = 0x2 F_WRLCK = 0x1 HIDIOCGRAWINFO = 0x80084803 HIDIOCGRDESC = 0x90044802 HIDIOCGRDESCSIZE = 0x80044801 HUPCL = 0x400 ICANON = 0x2 IEXTEN = 0x8000 IN_CLOEXEC = 0x80000 IN_NONBLOCK = 0x800 IOCTL_VM_SOCKETS_GET_LOCAL_CID = 0x7b9 ISIG = 0x1 IUCLC = 0x200 IXOFF = 0x1000 IXON = 0x400 MAP_32BIT = 0x40 MAP_ABOVE4G = 0x80 MAP_ANON = 0x20 MAP_ANONYMOUS = 0x20 MAP_DENYWRITE = 0x800 MAP_EXECUTABLE = 0x1000 MAP_GROWSDOWN = 0x100 MAP_HUGETLB = 0x40000 MAP_LOCKED = 0x2000 MAP_NONBLOCK = 0x10000 MAP_NORESERVE = 0x4000 MAP_POPULATE = 0x8000 MAP_STACK = 0x20000 MAP_SYNC = 0x80000 MCL_CURRENT = 0x1 MCL_FUTURE = 0x2 MCL_ONFAULT = 0x4 MEMERASE = 0x40084d02 MEMERASE64 = 0x40104d14 MEMGETBADBLOCK = 0x40084d0b MEMGETINFO = 0x80204d01 MEMGETOOBSEL = 0x80c84d0a MEMGETREGIONCOUNT = 0x80044d07 MEMISLOCKED = 0x80084d17 MEMLOCK = 0x40084d05 MEMREAD = 0xc0404d1a MEMREADOOB = 0xc0104d04 MEMSETBADBLOCK = 0x40084d0c MEMUNLOCK = 0x40084d06 MEMWRITEOOB = 0xc0104d03 MTDFILEMODE = 0x4d13 NFDBITS = 0x40 NLDLY = 0x100 NOFLSH = 0x80 NS_GET_MNTNS_ID = 0x8008b705 NS_GET_NSTYPE = 0xb703 NS_GET_OWNER_UID = 0xb704 NS_GET_PARENT = 0xb702 NS_GET_PID_FROM_PIDNS = 0x8004b706 NS_GET_PID_IN_PIDNS = 0x8004b708 NS_GET_TGID_FROM_PIDNS = 0x8004b707 NS_GET_TGID_IN_PIDNS = 0x8004b709 NS_GET_USERNS = 0xb701 OLCUC = 0x2 ONLCR = 0x4 OTPERASE = 0x400c4d19 OTPGETREGIONCOUNT = 0x40044d0e OTPGETREGIONINFO = 0x400c4d0f OTPLOCK = 0x800c4d10 OTPSELECT = 0x80044d0d 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_RSYNC = 0x101000 O_SYNC = 0x101000 O_TMPFILE = 0x410000 O_TRUNC = 0x200 PARENB = 0x100 PARODD = 0x200 PENDIN = 0x4000 PERF_EVENT_IOC_DISABLE = 0x2401 PERF_EVENT_IOC_ENABLE = 0x2400 PERF_EVENT_IOC_ID = 0x80082407 PERF_EVENT_IOC_MODIFY_ATTRIBUTES = 0x4008240b PERF_EVENT_IOC_PAUSE_OUTPUT = 0x40042409 PERF_EVENT_IOC_PERIOD = 0x40082404 PERF_EVENT_IOC_QUERY_BPF = 0xc008240a PERF_EVENT_IOC_REFRESH = 0x2402 PERF_EVENT_IOC_RESET = 0x2403 PERF_EVENT_IOC_SET_BPF = 0x40042408 PERF_EVENT_IOC_SET_FILTER = 0x40082406 PERF_EVENT_IOC_SET_OUTPUT = 0x2405 PPPIOCATTACH = 0x4004743d PPPIOCATTCHAN = 0x40047438 PPPIOCBRIDGECHAN = 0x40047435 PPPIOCCONNECT = 0x4004743a PPPIOCDETACH = 0x4004743c PPPIOCDISCONN = 0x7439 PPPIOCGASYNCMAP = 0x80047458 PPPIOCGCHAN = 0x80047437 PPPIOCGDEBUG = 0x80047441 PPPIOCGFLAGS = 0x8004745a PPPIOCGIDLE = 0x8010743f PPPIOCGIDLE32 = 0x8008743f PPPIOCGIDLE64 = 0x8010743f PPPIOCGL2TPSTATS = 0x80487436 PPPIOCGMRU = 0x80047453 PPPIOCGRASYNCMAP = 0x80047455 PPPIOCGUNIT = 0x80047456 PPPIOCGXASYNCMAP = 0x80207450 PPPIOCSACTIVE = 0x40107446 PPPIOCSASYNCMAP = 0x40047457 PPPIOCSCOMPRESS = 0x4010744d PPPIOCSDEBUG = 0x40047440 PPPIOCSFLAGS = 0x40047459 PPPIOCSMAXCID = 0x40047451 PPPIOCSMRRU = 0x4004743b PPPIOCSMRU = 0x40047452 PPPIOCSNPMODE = 0x4008744b PPPIOCSPASS = 0x40107447 PPPIOCSRASYNCMAP = 0x40047454 PPPIOCSXASYNCMAP = 0x4020744f PPPIOCUNBRIDGECHAN = 0x7434 PPPIOCXFERUNIT = 0x744e PR_SET_PTRACER_ANY = 0xffffffffffffffff PTRACE_ARCH_PRCTL = 0x1e PTRACE_GETFPREGS = 0xe PTRACE_GETFPXREGS = 0x12 PTRACE_GET_THREAD_AREA = 0x19 PTRACE_OLDSETOPTIONS = 0x15 PTRACE_SETFPREGS = 0xf PTRACE_SETFPXREGS = 0x13 PTRACE_SET_THREAD_AREA = 0x1a PTRACE_SINGLEBLOCK = 0x21 PTRACE_SYSEMU = 0x1f PTRACE_SYSEMU_SINGLESTEP = 0x20 RLIMIT_AS = 0x9 RLIMIT_MEMLOCK = 0x8 RLIMIT_NOFILE = 0x7 RLIMIT_NPROC = 0x6 RLIMIT_RSS = 0x5 RNDADDENTROPY = 0x40085203 RNDADDTOENTCNT = 0x40045201 RNDCLEARPOOL = 0x5206 RNDGETENTCNT = 0x80045200 RNDGETPOOL = 0x80085202 RNDRESEEDCRNG = 0x5207 RNDZAPENTCNT = 0x5204 RTC_AIE_OFF = 0x7002 RTC_AIE_ON = 0x7001 RTC_ALM_READ = 0x80247008 RTC_ALM_SET = 0x40247007 RTC_EPOCH_READ = 0x8008700d RTC_EPOCH_SET = 0x4008700e RTC_IRQP_READ = 0x8008700b RTC_IRQP_SET = 0x4008700c RTC_PARAM_GET = 0x40187013 RTC_PARAM_SET = 0x40187014 RTC_PIE_OFF = 0x7006 RTC_PIE_ON = 0x7005 RTC_PLL_GET = 0x80207011 RTC_PLL_SET = 0x40207012 RTC_RD_TIME = 0x80247009 RTC_SET_TIME = 0x4024700a RTC_UIE_OFF = 0x7004 RTC_UIE_ON = 0x7003 RTC_VL_CLR = 0x7014 RTC_VL_READ = 0x80047013 RTC_WIE_OFF = 0x7010 RTC_WIE_ON = 0x700f RTC_WKALM_RD = 0x80287010 RTC_WKALM_SET = 0x4028700f SCM_TIMESTAMPING = 0x25 SCM_TIMESTAMPING_OPT_STATS = 0x36 SCM_TIMESTAMPING_PKTINFO = 0x3a SCM_TIMESTAMPNS = 0x23 SCM_TXTIME = 0x3d SCM_WIFI_STATUS = 0x29 SECCOMP_IOCTL_NOTIF_ADDFD = 0x40182103 SECCOMP_IOCTL_NOTIF_ID_VALID = 0x40082102 SECCOMP_IOCTL_NOTIF_SET_FLAGS = 0x40082104 SFD_CLOEXEC = 0x80000 SFD_NONBLOCK = 0x800 SIOCATMARK = 0x8905 SIOCGPGRP = 0x8904 SIOCGSTAMPNS_NEW = 0x80108907 SIOCGSTAMP_NEW = 0x80108906 SIOCINQ = 0x541b SIOCOUTQ = 0x5411 SIOCSPGRP = 0x8902 SOCK_CLOEXEC = 0x80000 SOCK_DGRAM = 0x2 SOCK_NONBLOCK = 0x800 SOCK_STREAM = 0x1 SOL_SOCKET = 0x1 SO_ACCEPTCONN = 0x1e SO_ATTACH_BPF = 0x32 SO_ATTACH_REUSEPORT_CBPF = 0x33 SO_ATTACH_REUSEPORT_EBPF = 0x34 SO_BINDTODEVICE = 0x19 SO_BINDTOIFINDEX = 0x3e SO_BPF_EXTENSIONS = 0x30 SO_BROADCAST = 0x6 SO_BSDCOMPAT = 0xe SO_BUF_LOCK = 0x48 SO_BUSY_POLL = 0x2e SO_BUSY_POLL_BUDGET = 0x46 SO_CNX_ADVICE = 0x35 SO_COOKIE = 0x39 SO_DETACH_REUSEPORT_BPF = 0x44 SO_DOMAIN = 0x27 SO_DONTROUTE = 0x5 SO_ERROR = 0x4 SO_INCOMING_CPU = 0x31 SO_INCOMING_NAPI_ID = 0x38 SO_KEEPALIVE = 0x9 SO_LINGER = 0xd SO_LOCK_FILTER = 0x2c SO_MARK = 0x24 SO_MAX_PACING_RATE = 0x2f SO_MEMINFO = 0x37 SO_NETNS_COOKIE = 0x47 SO_NOFCS = 0x2b SO_OOBINLINE = 0xa SO_PASSCRED = 0x10 SO_PASSPIDFD = 0x4c SO_PASSSEC = 0x22 SO_PEEK_OFF = 0x2a SO_PEERCRED = 0x11 SO_PEERGROUPS = 0x3b SO_PEERPIDFD = 0x4d SO_PEERSEC = 0x1f SO_PREFER_BUSY_POLL = 0x45 SO_PROTOCOL = 0x26 SO_RCVBUF = 0x8 SO_RCVBUFFORCE = 0x21 SO_RCVLOWAT = 0x12 SO_RCVMARK = 0x4b SO_RCVTIMEO = 0x14 SO_RCVTIMEO_NEW = 0x42 SO_RCVTIMEO_OLD = 0x14 SO_RESERVE_MEM = 0x49 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_SNDTIMEO_NEW = 0x43 SO_SNDTIMEO_OLD = 0x15 SO_TIMESTAMPING = 0x25 SO_TIMESTAMPING_NEW = 0x41 SO_TIMESTAMPING_OLD = 0x25 SO_TIMESTAMPNS = 0x23 SO_TIMESTAMPNS_NEW = 0x40 SO_TIMESTAMPNS_OLD = 0x23 SO_TIMESTAMP_NEW = 0x3f SO_TXREHASH = 0x4a SO_TXTIME = 0x3d SO_TYPE = 0x3 SO_WIFI_STATUS = 0x29 SO_ZEROCOPY = 0x3c TAB1 = 0x800 TAB2 = 0x1000 TAB3 = 0x1800 TABDLY = 0x1800 TCFLSH = 0x540b TCGETA = 0x5405 TCGETS = 0x5401 TCGETS2 = 0x802c542a TCGETX = 0x5432 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 TFD_CLOEXEC = 0x80000 TFD_NONBLOCK = 0x800 TIOCCBRK = 0x5428 TIOCCONS = 0x541d TIOCEXCL = 0x540c TIOCGDEV = 0x80045432 TIOCGETD = 0x5424 TIOCGEXCL = 0x80045440 TIOCGICOUNT = 0x545d TIOCGISO7816 = 0x80285442 TIOCGLCKTRMIOS = 0x5456 TIOCGPGRP = 0x540f TIOCGPKT = 0x80045438 TIOCGPTLCK = 0x80045439 TIOCGPTN = 0x80045430 TIOCGPTPEER = 0x5441 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_RI = 0x80 TIOCM_RNG = 0x80 TIOCM_SR = 0x10 TIOCM_ST = 0x8 TIOCNOTTY = 0x5422 TIOCNXCL = 0x540d TIOCOUTQ = 0x5411 TIOCPKT = 0x5420 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 TIOCSISO7816 = 0xc0285443 TIOCSLCKTRMIOS = 0x5457 TIOCSPGRP = 0x5410 TIOCSPTLCK = 0x40045431 TIOCSRS485 = 0x542f TIOCSSERIAL = 0x541f TIOCSSOFTCAR = 0x541a TIOCSTI = 0x5412 TIOCSWINSZ = 0x5414 TIOCVHANGUP = 0x5437 TOSTOP = 0x100 TUNATTACHFILTER = 0x401054d5 TUNDETACHFILTER = 0x401054d6 TUNGETDEVNETNS = 0x54e3 TUNGETFEATURES = 0x800454cf TUNGETFILTER = 0x801054db TUNGETIFF = 0x800454d2 TUNGETSNDBUF = 0x800454d3 TUNGETVNETBE = 0x800454df TUNGETVNETHDRSZ = 0x800454d7 TUNGETVNETLE = 0x800454dd TUNSETCARRIER = 0x400454e2 TUNSETDEBUG = 0x400454c9 TUNSETFILTEREBPF = 0x800454e1 TUNSETGROUP = 0x400454ce TUNSETIFF = 0x400454ca TUNSETIFINDEX = 0x400454da TUNSETLINK = 0x400454cd TUNSETNOCSUM = 0x400454c8 TUNSETOFFLOAD = 0x400454d0 TUNSETOWNER = 0x400454cc TUNSETPERSIST = 0x400454cb TUNSETQUEUE = 0x400454d9 TUNSETSNDBUF = 0x400454d4 TUNSETSTEERINGEBPF = 0x800454e0 TUNSETTXFILTER = 0x400454d1 TUNSETVNETBE = 0x400454de TUNSETVNETHDRSZ = 0x400454d8 TUNSETVNETLE = 0x400454dc UBI_IOCATT = 0x40186f40 UBI_IOCDET = 0x40046f41 UBI_IOCEBCH = 0x40044f02 UBI_IOCEBER = 0x40044f01 UBI_IOCEBISMAP = 0x80044f05 UBI_IOCEBMAP = 0x40084f03 UBI_IOCEBUNMAP = 0x40044f04 UBI_IOCMKVOL = 0x40986f00 UBI_IOCRMVOL = 0x40046f01 UBI_IOCRNVOL = 0x51106f03 UBI_IOCRPEB = 0x40046f04 UBI_IOCRSVOL = 0x400c6f02 UBI_IOCSETVOLPROP = 0x40104f06 UBI_IOCSPEB = 0x40046f05 UBI_IOCVOLCRBLK = 0x40804f07 UBI_IOCVOLRMBLK = 0x4f08 UBI_IOCVOLUP = 0x40084f00 VDISCARD = 0xd VEOF = 0x4 VEOL = 0xb VEOL2 = 0x10 VMIN = 0x6 VREPRINT = 0xc VSTART = 0x8 VSTOP = 0x9 VSUSP = 0xa VSWTC = 0x7 VT1 = 0x4000 VTDLY = 0x4000 VTIME = 0x5 VWERASE = 0xe WDIOC_GETBOOTSTATUS = 0x80045702 WDIOC_GETPRETIMEOUT = 0x80045709 WDIOC_GETSTATUS = 0x80045701 WDIOC_GETSUPPORT = 0x80285700 WDIOC_GETTEMP = 0x80045703 WDIOC_GETTIMELEFT = 0x8004570a WDIOC_GETTIMEOUT = 0x80045707 WDIOC_KEEPALIVE = 0x80045705 WDIOC_SETOPTIONS = 0x80045704 WORDSIZE = 0x40 XCASE = 0x4 XTABS = 0x1800 _HIDIOCGRAWNAME = 0x80804804 _HIDIOCGRAWPHYS = 0x80404805 _HIDIOCGRAWUNIQ = 0x80404808 ) // Errors const ( EADDRINUSE = syscall.Errno(0x62) EADDRNOTAVAIL = syscall.Errno(0x63) EADV = syscall.Errno(0x44) EAFNOSUPPORT = syscall.Errno(0x61) EALREADY = syscall.Errno(0x72) EBADE = syscall.Errno(0x34) EBADFD = syscall.Errno(0x4d) EBADMSG = syscall.Errno(0x4a) EBADR = syscall.Errno(0x35) EBADRQC = syscall.Errno(0x38) EBADSLT = syscall.Errno(0x39) EBFONT = syscall.Errno(0x3b) ECANCELED = syscall.Errno(0x7d) 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) EDOTDOT = syscall.Errno(0x49) EDQUOT = syscall.Errno(0x7a) EHOSTDOWN = syscall.Errno(0x70) EHOSTUNREACH = syscall.Errno(0x71) EHWPOISON = syscall.Errno(0x85) EIDRM = syscall.Errno(0x2b) EILSEQ = syscall.Errno(0x54) EINPROGRESS = syscall.Errno(0x73) EISCONN = syscall.Errno(0x6a) 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) 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) ENOANO = syscall.Errno(0x37) ENOBUFS = syscall.Errno(0x69) ENOCSI = syscall.Errno(0x32) ENODATA = syscall.Errno(0x3d) ENOKEY = syscall.Errno(0x7e) ENOLCK = syscall.Errno(0x25) ENOLINK = syscall.Errno(0x43) ENOMEDIUM = syscall.Errno(0x7b) ENOMSG = syscall.Errno(0x2a) ENONET = syscall.Errno(0x40) ENOPKG = syscall.Errno(0x41) ENOPROTOOPT = syscall.Errno(0x5c) ENOSR = syscall.Errno(0x3f) ENOSTR = syscall.Errno(0x3c) ENOSYS = syscall.Errno(0x26) ENOTCONN = syscall.Errno(0x6b) ENOTEMPTY = syscall.Errno(0x27) ENOTNAM = syscall.Errno(0x76) ENOTRECOVERABLE = syscall.Errno(0x83) ENOTSOCK = syscall.Errno(0x58) ENOTSUP = syscall.Errno(0x5f) ENOTUNIQ = syscall.Errno(0x4c) EOPNOTSUPP = syscall.Errno(0x5f) EOVERFLOW = syscall.Errno(0x4b) EOWNERDEAD = syscall.Errno(0x82) EPFNOSUPPORT = syscall.Errno(0x60) EPROTO = syscall.Errno(0x47) EPROTONOSUPPORT = syscall.Errno(0x5d) EPROTOTYPE = syscall.Errno(0x5b) EREMCHG = syscall.Errno(0x4e) EREMOTE = syscall.Errno(0x42) EREMOTEIO = syscall.Errno(0x79) ERESTART = syscall.Errno(0x55) ERFKILL = syscall.Errno(0x84) ESHUTDOWN = syscall.Errno(0x6c) ESOCKTNOSUPPORT = syscall.Errno(0x5e) ESRMNT = syscall.Errno(0x45) ESTALE = syscall.Errno(0x74) ESTRPIPE = syscall.Errno(0x56) ETIME = syscall.Errno(0x3e) ETIMEDOUT = syscall.Errno(0x6e) ETOOMANYREFS = syscall.Errno(0x6d) EUCLEAN = syscall.Errno(0x75) EUNATCH = syscall.Errno(0x31) EUSERS = syscall.Errno(0x57) EXFULL = syscall.Errno(0x36) ) // Signals const ( SIGBUS = syscall.Signal(0x7) SIGCHLD = syscall.Signal(0x11) SIGCLD = syscall.Signal(0x11) SIGCONT = syscall.Signal(0x12) SIGIO = syscall.Signal(0x1d) SIGPOLL = syscall.Signal(0x1d) SIGPROF = syscall.Signal(0x1b) SIGPWR = syscall.Signal(0x1e) SIGSTKFLT = syscall.Signal(0x10) SIGSTOP = syscall.Signal(0x13) SIGSYS = syscall.Signal(0x1f) SIGTSTP = syscall.Signal(0x14) SIGTTIN = syscall.Signal(0x15) SIGTTOU = syscall.Signal(0x16) 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 errorList = [...]struct { num syscall.Errno name string desc string }{ {1, "EPERM", "operation not permitted"}, {2, "ENOENT", "no such file or directory"}, {3, "ESRCH", "no such process"}, {4, "EINTR", "interrupted system call"}, {5, "EIO", "input/output error"}, {6, "ENXIO", "no such device or address"}, {7, "E2BIG", "argument list too long"}, {8, "ENOEXEC", "exec format error"}, {9, "EBADF", "bad file descriptor"}, {10, "ECHILD", "no child processes"}, {11, "EAGAIN", "resource temporarily unavailable"}, {12, "ENOMEM", "cannot allocate memory"}, {13, "EACCES", "permission denied"}, {14, "EFAULT", "bad address"}, {15, "ENOTBLK", "block device required"}, {16, "EBUSY", "device or resource busy"}, {17, "EEXIST", "file exists"}, {18, "EXDEV", "invalid cross-device link"}, {19, "ENODEV", "no such device"}, {20, "ENOTDIR", "not a directory"}, {21, "EISDIR", "is a directory"}, {22, "EINVAL", "invalid argument"}, {23, "ENFILE", "too many open files in system"}, {24, "EMFILE", "too many open files"}, {25, "ENOTTY", "inappropriate ioctl for device"}, {26, "ETXTBSY", "text file busy"}, {27, "EFBIG", "file too large"}, {28, "ENOSPC", "no space left on device"}, {29, "ESPIPE", "illegal seek"}, {30, "EROFS", "read-only file system"}, {31, "EMLINK", "too many links"}, {32, "EPIPE", "broken pipe"}, {33, "EDOM", "numerical argument out of domain"}, {34, "ERANGE", "numerical result out of range"}, {35, "EDEADLK", "resource deadlock avoided"}, {36, "ENAMETOOLONG", "file name too long"}, {37, "ENOLCK", "no locks available"}, {38, "ENOSYS", "function not implemented"}, {39, "ENOTEMPTY", "directory not empty"}, {40, "ELOOP", "too many levels of symbolic links"}, {42, "ENOMSG", "no message of desired type"}, {43, "EIDRM", "identifier removed"}, {44, "ECHRNG", "channel number out of range"}, {45, "EL2NSYNC", "level 2 not synchronized"}, {46, "EL3HLT", "level 3 halted"}, {47, "EL3RST", "level 3 reset"}, {48, "ELNRNG", "link number out of range"}, {49, "EUNATCH", "protocol driver not attached"}, {50, "ENOCSI", "no CSI structure available"}, {51, "EL2HLT", "level 2 halted"}, {52, "EBADE", "invalid exchange"}, {53, "EBADR", "invalid request descriptor"}, {54, "EXFULL", "exchange full"}, {55, "ENOANO", "no anode"}, {56, "EBADRQC", "invalid request code"}, {57, "EBADSLT", "invalid slot"}, {59, "EBFONT", "bad font file format"}, {60, "ENOSTR", "device not a stream"}, {61, "ENODATA", "no data available"}, {62, "ETIME", "timer expired"}, {63, "ENOSR", "out of streams resources"}, {64, "ENONET", "machine is not on the network"}, {65, "ENOPKG", "package not installed"}, {66, "EREMOTE", "object is remote"}, {67, "ENOLINK", "link has been severed"}, {68, "EADV", "advertise error"}, {69, "ESRMNT", "srmount error"}, {70, "ECOMM", "communication error on send"}, {71, "EPROTO", "protocol error"}, {72, "EMULTIHOP", "multihop attempted"}, {73, "EDOTDOT", "RFS specific error"}, {74, "EBADMSG", "bad message"}, {75, "EOVERFLOW", "value too large for defined data type"}, {76, "ENOTUNIQ", "name not unique on network"}, {77, "EBADFD", "file descriptor in bad state"}, {78, "EREMCHG", "remote address changed"}, {79, "ELIBACC", "can not access a needed shared library"}, {80, "ELIBBAD", "accessing a corrupted shared library"}, {81, "ELIBSCN", ".lib section in a.out corrupted"}, {82, "ELIBMAX", "attempting to link in too many shared libraries"}, {83, "ELIBEXEC", "cannot exec a shared library directly"}, {84, "EILSEQ", "invalid or incomplete multibyte or wide character"}, {85, "ERESTART", "interrupted system call should be restarted"}, {86, "ESTRPIPE", "streams pipe error"}, {87, "EUSERS", "too many users"}, {88, "ENOTSOCK", "socket operation on non-socket"}, {89, "EDESTADDRREQ", "destination address required"}, {90, "EMSGSIZE", "message too long"}, {91, "EPROTOTYPE", "protocol wrong type for socket"}, {92, "ENOPROTOOPT", "protocol not available"}, {93, "EPROTONOSUPPORT", "protocol not supported"}, {94, "ESOCKTNOSUPPORT", "socket type not supported"}, {95, "ENOTSUP", "operation not supported"}, {96, "EPFNOSUPPORT", "protocol family not supported"}, {97, "EAFNOSUPPORT", "address family not supported by protocol"}, {98, "EADDRINUSE", "address already in use"}, {99, "EADDRNOTAVAIL", "cannot assign requested address"}, {100, "ENETDOWN", "network is down"}, {101, "ENETUNREACH", "network is unreachable"}, {102, "ENETRESET", "network dropped connection on reset"}, {103, "ECONNABORTED", "software caused connection abort"}, {104, "ECONNRESET", "connection reset by peer"}, {105, "ENOBUFS", "no buffer space available"}, {106, "EISCONN", "transport endpoint is already connected"}, {107, "ENOTCONN", "transport endpoint is not connected"}, {108, "ESHUTDOWN", "cannot send after transport endpoint shutdown"}, {109, "ETOOMANYREFS", "too many references: cannot splice"}, {110, "ETIMEDOUT", "connection timed out"}, {111, "ECONNREFUSED", "connection refused"}, {112, "EHOSTDOWN", "host is down"}, {113, "EHOSTUNREACH", "no route to host"}, {114, "EALREADY", "operation already in progress"}, {115, "EINPROGRESS", "operation now in progress"}, {116, "ESTALE", "stale file handle"}, {117, "EUCLEAN", "structure needs cleaning"}, {118, "ENOTNAM", "not a XENIX named type file"}, {119, "ENAVAIL", "no XENIX semaphores available"}, {120, "EISNAM", "is a named type file"}, {121, "EREMOTEIO", "remote I/O error"}, {122, "EDQUOT", "disk quota exceeded"}, {123, "ENOMEDIUM", "no medium found"}, {124, "EMEDIUMTYPE", "wrong medium type"}, {125, "ECANCELED", "operation canceled"}, {126, "ENOKEY", "required key not available"}, {127, "EKEYEXPIRED", "key has expired"}, {128, "EKEYREVOKED", "key has been revoked"}, {129, "EKEYREJECTED", "key was rejected by service"}, {130, "EOWNERDEAD", "owner died"}, {131, "ENOTRECOVERABLE", "state not recoverable"}, {132, "ERFKILL", "operation not possible due to RF-kill"}, {133, "EHWPOISON", "memory page has hardware error"}, } // Signal table var signalList = [...]struct { num syscall.Signal name string desc string }{ {1, "SIGHUP", "hangup"}, {2, "SIGINT", "interrupt"}, {3, "SIGQUIT", "quit"}, {4, "SIGILL", "illegal instruction"}, {5, "SIGTRAP", "trace/breakpoint trap"}, {6, "SIGABRT", "aborted"}, {7, "SIGBUS", "bus error"}, {8, "SIGFPE", "floating point exception"}, {9, "SIGKILL", "killed"}, {10, "SIGUSR1", "user defined signal 1"}, {11, "SIGSEGV", "segmentation fault"}, {12, "SIGUSR2", "user defined signal 2"}, {13, "SIGPIPE", "broken pipe"}, {14, "SIGALRM", "alarm clock"}, {15, "SIGTERM", "terminated"}, {16, "SIGSTKFLT", "stack fault"}, {17, "SIGCHLD", "child exited"}, {18, "SIGCONT", "continued"}, {19, "SIGSTOP", "stopped (signal)"}, {20, "SIGTSTP", "stopped"}, {21, "SIGTTIN", "stopped (tty input)"}, {22, "SIGTTOU", "stopped (tty output)"}, {23, "SIGURG", "urgent I/O condition"}, {24, "SIGXCPU", "CPU time limit exceeded"}, {25, "SIGXFSZ", "file size limit exceeded"}, {26, "SIGVTALRM", "virtual timer expired"}, {27, "SIGPROF", "profiling timer expired"}, {28, "SIGWINCH", "window changed"}, {29, "SIGIO", "I/O possible"}, {30, "SIGPWR", "power failure"}, {31, "SIGSYS", "bad system call"}, } dependencies/pkg/mod/golang.org/x/sys@v0.26.0/unix/.gitignore0000644000000000000000000000002015107355264022571 0ustar rootroot_obj/ unix.test dependencies/pkg/mod/golang.org/x/sys@v0.26.0/unix/zsyscall_openbsd_arm64.go0000644000000000000000000016416315107355264025542 0ustar rootroot// go run mksyscall.go -openbsd -libc -tags openbsd,arm64 syscall_bsd.go syscall_openbsd.go syscall_openbsd_arm64.go // Code generated by the command above; see README.md. DO NOT EDIT. //go:build openbsd && 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 := syscall_rawSyscall(libc_getgroups_trampoline_addr, uintptr(ngid), uintptr(unsafe.Pointer(gid)), 0) n = int(r0) if e1 != 0 { err = errnoErr(e1) } return } var libc_getgroups_trampoline_addr uintptr //go:cgo_import_dynamic libc_getgroups getgroups "libc.so" // THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT func setgroups(ngid int, gid *_Gid_t) (err error) { _, _, e1 := syscall_rawSyscall(libc_setgroups_trampoline_addr, uintptr(ngid), uintptr(unsafe.Pointer(gid)), 0) if e1 != 0 { err = errnoErr(e1) } return } var libc_setgroups_trampoline_addr uintptr //go:cgo_import_dynamic libc_setgroups setgroups "libc.so" // 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 := syscall_syscall6(libc_wait4_trampoline_addr, uintptr(pid), uintptr(unsafe.Pointer(wstatus)), uintptr(options), uintptr(unsafe.Pointer(rusage)), 0, 0) wpid = int(r0) if e1 != 0 { err = errnoErr(e1) } return } var libc_wait4_trampoline_addr uintptr //go:cgo_import_dynamic libc_wait4 wait4 "libc.so" // 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_syscall(libc_accept_trampoline_addr, uintptr(s), uintptr(unsafe.Pointer(rsa)), uintptr(unsafe.Pointer(addrlen))) fd = int(r0) if e1 != 0 { err = errnoErr(e1) } return } var libc_accept_trampoline_addr uintptr //go:cgo_import_dynamic libc_accept accept "libc.so" // 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_syscall(libc_bind_trampoline_addr, uintptr(s), uintptr(addr), uintptr(addrlen)) if e1 != 0 { err = errnoErr(e1) } return } var libc_bind_trampoline_addr uintptr //go:cgo_import_dynamic libc_bind bind "libc.so" // 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_syscall(libc_connect_trampoline_addr, uintptr(s), uintptr(addr), uintptr(addrlen)) if e1 != 0 { err = errnoErr(e1) } return } var libc_connect_trampoline_addr uintptr //go:cgo_import_dynamic libc_connect connect "libc.so" // 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 := syscall_rawSyscall(libc_socket_trampoline_addr, uintptr(domain), uintptr(typ), uintptr(proto)) fd = int(r0) if e1 != 0 { err = errnoErr(e1) } return } var libc_socket_trampoline_addr uintptr //go:cgo_import_dynamic libc_socket socket "libc.so" // 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 := syscall_syscall6(libc_getsockopt_trampoline_addr, uintptr(s), uintptr(level), uintptr(name), uintptr(val), uintptr(unsafe.Pointer(vallen)), 0) if e1 != 0 { err = errnoErr(e1) } return } var libc_getsockopt_trampoline_addr uintptr //go:cgo_import_dynamic libc_getsockopt getsockopt "libc.so" // 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 := syscall_syscall6(libc_setsockopt_trampoline_addr, uintptr(s), uintptr(level), uintptr(name), uintptr(val), uintptr(vallen), 0) if e1 != 0 { err = errnoErr(e1) } return } var libc_setsockopt_trampoline_addr uintptr //go:cgo_import_dynamic libc_setsockopt setsockopt "libc.so" // THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT func getpeername(fd int, rsa *RawSockaddrAny, addrlen *_Socklen) (err error) { _, _, e1 := syscall_rawSyscall(libc_getpeername_trampoline_addr, uintptr(fd), uintptr(unsafe.Pointer(rsa)), uintptr(unsafe.Pointer(addrlen))) if e1 != 0 { err = errnoErr(e1) } return } var libc_getpeername_trampoline_addr uintptr //go:cgo_import_dynamic libc_getpeername getpeername "libc.so" // THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT func getsockname(fd int, rsa *RawSockaddrAny, addrlen *_Socklen) (err error) { _, _, e1 := syscall_rawSyscall(libc_getsockname_trampoline_addr, uintptr(fd), uintptr(unsafe.Pointer(rsa)), uintptr(unsafe.Pointer(addrlen))) if e1 != 0 { err = errnoErr(e1) } return } var libc_getsockname_trampoline_addr uintptr //go:cgo_import_dynamic libc_getsockname getsockname "libc.so" // THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT func Shutdown(s int, how int) (err error) { _, _, e1 := syscall_syscall(libc_shutdown_trampoline_addr, uintptr(s), uintptr(how), 0) if e1 != 0 { err = errnoErr(e1) } return } var libc_shutdown_trampoline_addr uintptr //go:cgo_import_dynamic libc_shutdown shutdown "libc.so" // 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 := syscall_rawSyscall6(libc_socketpair_trampoline_addr, uintptr(domain), uintptr(typ), uintptr(proto), uintptr(unsafe.Pointer(fd)), 0, 0) if e1 != 0 { err = errnoErr(e1) } return } var libc_socketpair_trampoline_addr uintptr //go:cgo_import_dynamic libc_socketpair socketpair "libc.so" // 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 := syscall_syscall6(libc_recvfrom_trampoline_addr, 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 } var libc_recvfrom_trampoline_addr uintptr //go:cgo_import_dynamic libc_recvfrom recvfrom "libc.so" // 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 := syscall_syscall6(libc_sendto_trampoline_addr, uintptr(s), uintptr(_p0), uintptr(len(buf)), uintptr(flags), uintptr(to), uintptr(addrlen)) if e1 != 0 { err = errnoErr(e1) } return } var libc_sendto_trampoline_addr uintptr //go:cgo_import_dynamic libc_sendto sendto "libc.so" // 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_syscall(libc_recvmsg_trampoline_addr, uintptr(s), uintptr(unsafe.Pointer(msg)), uintptr(flags)) n = int(r0) if e1 != 0 { err = errnoErr(e1) } return } var libc_recvmsg_trampoline_addr uintptr //go:cgo_import_dynamic libc_recvmsg recvmsg "libc.so" // 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_syscall(libc_sendmsg_trampoline_addr, uintptr(s), uintptr(unsafe.Pointer(msg)), uintptr(flags)) n = int(r0) if e1 != 0 { err = errnoErr(e1) } return } var libc_sendmsg_trampoline_addr uintptr //go:cgo_import_dynamic libc_sendmsg sendmsg "libc.so" // 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 := syscall_syscall6(libc_kevent_trampoline_addr, uintptr(kq), uintptr(change), uintptr(nchange), uintptr(event), uintptr(nevent), uintptr(unsafe.Pointer(timeout))) n = int(r0) if e1 != 0 { err = errnoErr(e1) } return } var libc_kevent_trampoline_addr uintptr //go:cgo_import_dynamic libc_kevent kevent "libc.so" // 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_syscall(libc_utimes_trampoline_addr, uintptr(unsafe.Pointer(_p0)), uintptr(unsafe.Pointer(timeval)), 0) if e1 != 0 { err = errnoErr(e1) } return } var libc_utimes_trampoline_addr uintptr //go:cgo_import_dynamic libc_utimes utimes "libc.so" // THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT func futimes(fd int, timeval *[2]Timeval) (err error) { _, _, e1 := syscall_syscall(libc_futimes_trampoline_addr, uintptr(fd), uintptr(unsafe.Pointer(timeval)), 0) if e1 != 0 { err = errnoErr(e1) } return } var libc_futimes_trampoline_addr uintptr //go:cgo_import_dynamic libc_futimes futimes "libc.so" // 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_syscall(libc_poll_trampoline_addr, uintptr(unsafe.Pointer(fds)), uintptr(nfds), uintptr(timeout)) n = int(r0) if e1 != 0 { err = errnoErr(e1) } return } var libc_poll_trampoline_addr uintptr //go:cgo_import_dynamic libc_poll poll "libc.so" // THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT func Madvise(b []byte, behav int) (err error) { var _p0 unsafe.Pointer if len(b) > 0 { _p0 = unsafe.Pointer(&b[0]) } else { _p0 = unsafe.Pointer(&_zero) } _, _, e1 := syscall_syscall(libc_madvise_trampoline_addr, uintptr(_p0), uintptr(len(b)), uintptr(behav)) if e1 != 0 { err = errnoErr(e1) } return } var libc_madvise_trampoline_addr uintptr //go:cgo_import_dynamic libc_madvise madvise "libc.so" // 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_syscall(libc_mlock_trampoline_addr, uintptr(_p0), uintptr(len(b)), 0) if e1 != 0 { err = errnoErr(e1) } return } var libc_mlock_trampoline_addr uintptr //go:cgo_import_dynamic libc_mlock mlock "libc.so" // THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT func Mlockall(flags int) (err error) { _, _, e1 := syscall_syscall(libc_mlockall_trampoline_addr, uintptr(flags), 0, 0) if e1 != 0 { err = errnoErr(e1) } return } var libc_mlockall_trampoline_addr uintptr //go:cgo_import_dynamic libc_mlockall mlockall "libc.so" // 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_syscall(libc_mprotect_trampoline_addr, uintptr(_p0), uintptr(len(b)), uintptr(prot)) if e1 != 0 { err = errnoErr(e1) } return } var libc_mprotect_trampoline_addr uintptr //go:cgo_import_dynamic libc_mprotect mprotect "libc.so" // THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT func Msync(b []byte, flags int) (err error) { var _p0 unsafe.Pointer if len(b) > 0 { _p0 = unsafe.Pointer(&b[0]) } else { _p0 = unsafe.Pointer(&_zero) } _, _, e1 := syscall_syscall(libc_msync_trampoline_addr, uintptr(_p0), uintptr(len(b)), uintptr(flags)) if e1 != 0 { err = errnoErr(e1) } return } var libc_msync_trampoline_addr uintptr //go:cgo_import_dynamic libc_msync msync "libc.so" // 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_syscall(libc_munlock_trampoline_addr, uintptr(_p0), uintptr(len(b)), 0) if e1 != 0 { err = errnoErr(e1) } return } var libc_munlock_trampoline_addr uintptr //go:cgo_import_dynamic libc_munlock munlock "libc.so" // THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT func Munlockall() (err error) { _, _, e1 := syscall_syscall(libc_munlockall_trampoline_addr, 0, 0, 0) if e1 != 0 { err = errnoErr(e1) } return } var libc_munlockall_trampoline_addr uintptr //go:cgo_import_dynamic libc_munlockall munlockall "libc.so" // THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT func pipe2(p *[2]_C_int, flags int) (err error) { _, _, e1 := syscall_rawSyscall(libc_pipe2_trampoline_addr, uintptr(unsafe.Pointer(p)), uintptr(flags), 0) if e1 != 0 { err = errnoErr(e1) } return } var libc_pipe2_trampoline_addr uintptr //go:cgo_import_dynamic libc_pipe2 pipe2 "libc.so" // 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_syscall(libc_getdents_trampoline_addr, uintptr(fd), uintptr(_p0), uintptr(len(buf))) n = int(r0) if e1 != 0 { err = errnoErr(e1) } return } var libc_getdents_trampoline_addr uintptr //go:cgo_import_dynamic libc_getdents getdents "libc.so" // 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_syscall(libc_getcwd_trampoline_addr, uintptr(_p0), uintptr(len(buf)), 0) n = int(r0) if e1 != 0 { err = errnoErr(e1) } return } var libc_getcwd_trampoline_addr uintptr //go:cgo_import_dynamic libc_getcwd getcwd "libc.so" // THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT func getresuid(ruid *_C_int, euid *_C_int, suid *_C_int) { syscall_rawSyscall(libc_getresuid_trampoline_addr, uintptr(unsafe.Pointer(ruid)), uintptr(unsafe.Pointer(euid)), uintptr(unsafe.Pointer(suid))) return } var libc_getresuid_trampoline_addr uintptr //go:cgo_import_dynamic libc_getresuid getresuid "libc.so" // THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT func getresgid(rgid *_C_int, egid *_C_int, sgid *_C_int) { syscall_rawSyscall(libc_getresgid_trampoline_addr, uintptr(unsafe.Pointer(rgid)), uintptr(unsafe.Pointer(egid)), uintptr(unsafe.Pointer(sgid))) return } var libc_getresgid_trampoline_addr uintptr //go:cgo_import_dynamic libc_getresgid getresgid "libc.so" // 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_syscall(libc_ioctl_trampoline_addr, uintptr(fd), uintptr(req), uintptr(arg)) if e1 != 0 { err = errnoErr(e1) } return } var libc_ioctl_trampoline_addr uintptr //go:cgo_import_dynamic libc_ioctl ioctl "libc.so" // THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT func ioctlPtr(fd int, req uint, arg unsafe.Pointer) (err error) { _, _, e1 := syscall_syscall(libc_ioctl_trampoline_addr, 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 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 := syscall_syscall6(libc_sysctl_trampoline_addr, 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 } var libc_sysctl_trampoline_addr uintptr //go:cgo_import_dynamic libc_sysctl sysctl "libc.so" // THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT func fcntl(fd int, cmd int, arg int) (n int, err error) { r0, _, e1 := syscall_syscall(libc_fcntl_trampoline_addr, uintptr(fd), uintptr(cmd), uintptr(arg)) n = int(r0) if e1 != 0 { err = errnoErr(e1) } return } var libc_fcntl_trampoline_addr uintptr //go:cgo_import_dynamic libc_fcntl fcntl "libc.so" // THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT func fcntlPtr(fd int, cmd int, arg unsafe.Pointer) (n int, err error) { r0, _, e1 := syscall_syscall(libc_fcntl_trampoline_addr, uintptr(fd), uintptr(cmd), uintptr(arg)) n = 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 := syscall_syscall6(libc_ppoll_trampoline_addr, 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 } var libc_ppoll_trampoline_addr uintptr //go:cgo_import_dynamic libc_ppoll ppoll "libc.so" // 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_syscall(libc_access_trampoline_addr, uintptr(unsafe.Pointer(_p0)), uintptr(mode), 0) if e1 != 0 { err = errnoErr(e1) } return } var libc_access_trampoline_addr uintptr //go:cgo_import_dynamic libc_access access "libc.so" // THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT func Adjtime(delta *Timeval, olddelta *Timeval) (err error) { _, _, e1 := syscall_syscall(libc_adjtime_trampoline_addr, uintptr(unsafe.Pointer(delta)), uintptr(unsafe.Pointer(olddelta)), 0) if e1 != 0 { err = errnoErr(e1) } return } var libc_adjtime_trampoline_addr uintptr //go:cgo_import_dynamic libc_adjtime adjtime "libc.so" // 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_syscall(libc_chdir_trampoline_addr, uintptr(unsafe.Pointer(_p0)), 0, 0) if e1 != 0 { err = errnoErr(e1) } return } var libc_chdir_trampoline_addr uintptr //go:cgo_import_dynamic libc_chdir chdir "libc.so" // 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_syscall(libc_chflags_trampoline_addr, uintptr(unsafe.Pointer(_p0)), uintptr(flags), 0) if e1 != 0 { err = errnoErr(e1) } return } var libc_chflags_trampoline_addr uintptr //go:cgo_import_dynamic libc_chflags chflags "libc.so" // 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_syscall(libc_chmod_trampoline_addr, uintptr(unsafe.Pointer(_p0)), uintptr(mode), 0) if e1 != 0 { err = errnoErr(e1) } return } var libc_chmod_trampoline_addr uintptr //go:cgo_import_dynamic libc_chmod chmod "libc.so" // 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_syscall(libc_chown_trampoline_addr, uintptr(unsafe.Pointer(_p0)), uintptr(uid), uintptr(gid)) if e1 != 0 { err = errnoErr(e1) } return } var libc_chown_trampoline_addr uintptr //go:cgo_import_dynamic libc_chown chown "libc.so" // 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_syscall(libc_chroot_trampoline_addr, uintptr(unsafe.Pointer(_p0)), 0, 0) if e1 != 0 { err = errnoErr(e1) } return } var libc_chroot_trampoline_addr uintptr //go:cgo_import_dynamic libc_chroot chroot "libc.so" // THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT func ClockGettime(clockid int32, time *Timespec) (err error) { _, _, e1 := syscall_syscall(libc_clock_gettime_trampoline_addr, uintptr(clockid), uintptr(unsafe.Pointer(time)), 0) if e1 != 0 { err = errnoErr(e1) } return } var libc_clock_gettime_trampoline_addr uintptr //go:cgo_import_dynamic libc_clock_gettime clock_gettime "libc.so" // THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT func Close(fd int) (err error) { _, _, e1 := syscall_syscall(libc_close_trampoline_addr, uintptr(fd), 0, 0) if e1 != 0 { err = errnoErr(e1) } return } var libc_close_trampoline_addr uintptr //go:cgo_import_dynamic libc_close close "libc.so" // THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT func Dup(fd int) (nfd int, err error) { r0, _, e1 := syscall_syscall(libc_dup_trampoline_addr, uintptr(fd), 0, 0) nfd = int(r0) if e1 != 0 { err = errnoErr(e1) } return } var libc_dup_trampoline_addr uintptr //go:cgo_import_dynamic libc_dup dup "libc.so" // THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT func Dup2(from int, to int) (err error) { _, _, e1 := syscall_syscall(libc_dup2_trampoline_addr, uintptr(from), uintptr(to), 0) if e1 != 0 { err = errnoErr(e1) } return } var libc_dup2_trampoline_addr uintptr //go:cgo_import_dynamic libc_dup2 dup2 "libc.so" // THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT func Dup3(from int, to int, flags int) (err error) { _, _, e1 := syscall_syscall(libc_dup3_trampoline_addr, uintptr(from), uintptr(to), uintptr(flags)) if e1 != 0 { err = errnoErr(e1) } return } var libc_dup3_trampoline_addr uintptr //go:cgo_import_dynamic libc_dup3 dup3 "libc.so" // THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT func Exit(code int) { syscall_syscall(libc_exit_trampoline_addr, uintptr(code), 0, 0) return } var libc_exit_trampoline_addr uintptr //go:cgo_import_dynamic libc_exit exit "libc.so" // 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 := syscall_syscall6(libc_faccessat_trampoline_addr, uintptr(dirfd), uintptr(unsafe.Pointer(_p0)), uintptr(mode), uintptr(flags), 0, 0) if e1 != 0 { err = errnoErr(e1) } return } var libc_faccessat_trampoline_addr uintptr //go:cgo_import_dynamic libc_faccessat faccessat "libc.so" // THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT func Fchdir(fd int) (err error) { _, _, e1 := syscall_syscall(libc_fchdir_trampoline_addr, uintptr(fd), 0, 0) if e1 != 0 { err = errnoErr(e1) } return } var libc_fchdir_trampoline_addr uintptr //go:cgo_import_dynamic libc_fchdir fchdir "libc.so" // THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT func Fchflags(fd int, flags int) (err error) { _, _, e1 := syscall_syscall(libc_fchflags_trampoline_addr, uintptr(fd), uintptr(flags), 0) if e1 != 0 { err = errnoErr(e1) } return } var libc_fchflags_trampoline_addr uintptr //go:cgo_import_dynamic libc_fchflags fchflags "libc.so" // THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT func Fchmod(fd int, mode uint32) (err error) { _, _, e1 := syscall_syscall(libc_fchmod_trampoline_addr, uintptr(fd), uintptr(mode), 0) if e1 != 0 { err = errnoErr(e1) } return } var libc_fchmod_trampoline_addr uintptr //go:cgo_import_dynamic libc_fchmod fchmod "libc.so" // 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 := syscall_syscall6(libc_fchmodat_trampoline_addr, uintptr(dirfd), uintptr(unsafe.Pointer(_p0)), uintptr(mode), uintptr(flags), 0, 0) if e1 != 0 { err = errnoErr(e1) } return } var libc_fchmodat_trampoline_addr uintptr //go:cgo_import_dynamic libc_fchmodat fchmodat "libc.so" // 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_syscall(libc_fchown_trampoline_addr, uintptr(fd), uintptr(uid), uintptr(gid)) if e1 != 0 { err = errnoErr(e1) } return } var libc_fchown_trampoline_addr uintptr //go:cgo_import_dynamic libc_fchown fchown "libc.so" // 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 := syscall_syscall6(libc_fchownat_trampoline_addr, uintptr(dirfd), uintptr(unsafe.Pointer(_p0)), uintptr(uid), uintptr(gid), uintptr(flags), 0) if e1 != 0 { err = errnoErr(e1) } return } var libc_fchownat_trampoline_addr uintptr //go:cgo_import_dynamic libc_fchownat fchownat "libc.so" // THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT func Flock(fd int, how int) (err error) { _, _, e1 := syscall_syscall(libc_flock_trampoline_addr, uintptr(fd), uintptr(how), 0) if e1 != 0 { err = errnoErr(e1) } return } var libc_flock_trampoline_addr uintptr //go:cgo_import_dynamic libc_flock flock "libc.so" // 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_syscall(libc_fpathconf_trampoline_addr, uintptr(fd), uintptr(name), 0) val = int(r0) if e1 != 0 { err = errnoErr(e1) } return } var libc_fpathconf_trampoline_addr uintptr //go:cgo_import_dynamic libc_fpathconf fpathconf "libc.so" // THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT func Fstat(fd int, stat *Stat_t) (err error) { _, _, e1 := syscall_syscall(libc_fstat_trampoline_addr, uintptr(fd), uintptr(unsafe.Pointer(stat)), 0) if e1 != 0 { err = errnoErr(e1) } return } var libc_fstat_trampoline_addr uintptr //go:cgo_import_dynamic libc_fstat fstat "libc.so" // 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 := syscall_syscall6(libc_fstatat_trampoline_addr, uintptr(fd), uintptr(unsafe.Pointer(_p0)), uintptr(unsafe.Pointer(stat)), uintptr(flags), 0, 0) if e1 != 0 { err = errnoErr(e1) } return } var libc_fstatat_trampoline_addr uintptr //go:cgo_import_dynamic libc_fstatat fstatat "libc.so" // THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT func Fstatfs(fd int, stat *Statfs_t) (err error) { _, _, e1 := syscall_syscall(libc_fstatfs_trampoline_addr, uintptr(fd), uintptr(unsafe.Pointer(stat)), 0) if e1 != 0 { err = errnoErr(e1) } return } var libc_fstatfs_trampoline_addr uintptr //go:cgo_import_dynamic libc_fstatfs fstatfs "libc.so" // THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT func Fsync(fd int) (err error) { _, _, e1 := syscall_syscall(libc_fsync_trampoline_addr, uintptr(fd), 0, 0) if e1 != 0 { err = errnoErr(e1) } return } var libc_fsync_trampoline_addr uintptr //go:cgo_import_dynamic libc_fsync fsync "libc.so" // THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT func Ftruncate(fd int, length int64) (err error) { _, _, e1 := syscall_syscall(libc_ftruncate_trampoline_addr, uintptr(fd), uintptr(length), 0) if e1 != 0 { err = errnoErr(e1) } return } var libc_ftruncate_trampoline_addr uintptr //go:cgo_import_dynamic libc_ftruncate ftruncate "libc.so" // THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT func Getegid() (egid int) { r0, _, _ := syscall_rawSyscall(libc_getegid_trampoline_addr, 0, 0, 0) egid = int(r0) return } var libc_getegid_trampoline_addr uintptr //go:cgo_import_dynamic libc_getegid getegid "libc.so" // THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT func Geteuid() (uid int) { r0, _, _ := syscall_rawSyscall(libc_geteuid_trampoline_addr, 0, 0, 0) uid = int(r0) return } var libc_geteuid_trampoline_addr uintptr //go:cgo_import_dynamic libc_geteuid geteuid "libc.so" // THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT func Getgid() (gid int) { r0, _, _ := syscall_rawSyscall(libc_getgid_trampoline_addr, 0, 0, 0) gid = int(r0) return } var libc_getgid_trampoline_addr uintptr //go:cgo_import_dynamic libc_getgid getgid "libc.so" // THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT func Getpgid(pid int) (pgid int, err error) { r0, _, e1 := syscall_rawSyscall(libc_getpgid_trampoline_addr, uintptr(pid), 0, 0) pgid = int(r0) if e1 != 0 { err = errnoErr(e1) } return } var libc_getpgid_trampoline_addr uintptr //go:cgo_import_dynamic libc_getpgid getpgid "libc.so" // THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT func Getpgrp() (pgrp int) { r0, _, _ := syscall_rawSyscall(libc_getpgrp_trampoline_addr, 0, 0, 0) pgrp = int(r0) return } var libc_getpgrp_trampoline_addr uintptr //go:cgo_import_dynamic libc_getpgrp getpgrp "libc.so" // THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT func Getpid() (pid int) { r0, _, _ := syscall_rawSyscall(libc_getpid_trampoline_addr, 0, 0, 0) pid = int(r0) return } var libc_getpid_trampoline_addr uintptr //go:cgo_import_dynamic libc_getpid getpid "libc.so" // THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT func Getppid() (ppid int) { r0, _, _ := syscall_rawSyscall(libc_getppid_trampoline_addr, 0, 0, 0) ppid = int(r0) return } var libc_getppid_trampoline_addr uintptr //go:cgo_import_dynamic libc_getppid getppid "libc.so" // 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_syscall(libc_getpriority_trampoline_addr, uintptr(which), uintptr(who), 0) prio = int(r0) if e1 != 0 { err = errnoErr(e1) } return } var libc_getpriority_trampoline_addr uintptr //go:cgo_import_dynamic libc_getpriority getpriority "libc.so" // THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT func Getrlimit(which int, lim *Rlimit) (err error) { _, _, e1 := syscall_rawSyscall(libc_getrlimit_trampoline_addr, uintptr(which), uintptr(unsafe.Pointer(lim)), 0) if e1 != 0 { err = errnoErr(e1) } return } var libc_getrlimit_trampoline_addr uintptr //go:cgo_import_dynamic libc_getrlimit getrlimit "libc.so" // THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT func Getrtable() (rtable int, err error) { r0, _, e1 := syscall_rawSyscall(libc_getrtable_trampoline_addr, 0, 0, 0) rtable = int(r0) if e1 != 0 { err = errnoErr(e1) } return } var libc_getrtable_trampoline_addr uintptr //go:cgo_import_dynamic libc_getrtable getrtable "libc.so" // THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT func Getrusage(who int, rusage *Rusage) (err error) { _, _, e1 := syscall_rawSyscall(libc_getrusage_trampoline_addr, uintptr(who), uintptr(unsafe.Pointer(rusage)), 0) if e1 != 0 { err = errnoErr(e1) } return } var libc_getrusage_trampoline_addr uintptr //go:cgo_import_dynamic libc_getrusage getrusage "libc.so" // THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT func Getsid(pid int) (sid int, err error) { r0, _, e1 := syscall_rawSyscall(libc_getsid_trampoline_addr, uintptr(pid), 0, 0) sid = int(r0) if e1 != 0 { err = errnoErr(e1) } return } var libc_getsid_trampoline_addr uintptr //go:cgo_import_dynamic libc_getsid getsid "libc.so" // THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT func Gettimeofday(tv *Timeval) (err error) { _, _, e1 := syscall_rawSyscall(libc_gettimeofday_trampoline_addr, uintptr(unsafe.Pointer(tv)), 0, 0) if e1 != 0 { err = errnoErr(e1) } return } var libc_gettimeofday_trampoline_addr uintptr //go:cgo_import_dynamic libc_gettimeofday gettimeofday "libc.so" // THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT func Getuid() (uid int) { r0, _, _ := syscall_rawSyscall(libc_getuid_trampoline_addr, 0, 0, 0) uid = int(r0) return } var libc_getuid_trampoline_addr uintptr //go:cgo_import_dynamic libc_getuid getuid "libc.so" // THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT func Issetugid() (tainted bool) { r0, _, _ := syscall_syscall(libc_issetugid_trampoline_addr, 0, 0, 0) tainted = bool(r0 != 0) return } var libc_issetugid_trampoline_addr uintptr //go:cgo_import_dynamic libc_issetugid issetugid "libc.so" // THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT func Kill(pid int, signum syscall.Signal) (err error) { _, _, e1 := syscall_syscall(libc_kill_trampoline_addr, uintptr(pid), uintptr(signum), 0) if e1 != 0 { err = errnoErr(e1) } return } var libc_kill_trampoline_addr uintptr //go:cgo_import_dynamic libc_kill kill "libc.so" // THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT func Kqueue() (fd int, err error) { r0, _, e1 := syscall_syscall(libc_kqueue_trampoline_addr, 0, 0, 0) fd = int(r0) if e1 != 0 { err = errnoErr(e1) } return } var libc_kqueue_trampoline_addr uintptr //go:cgo_import_dynamic libc_kqueue kqueue "libc.so" // 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_syscall(libc_lchown_trampoline_addr, uintptr(unsafe.Pointer(_p0)), uintptr(uid), uintptr(gid)) if e1 != 0 { err = errnoErr(e1) } return } var libc_lchown_trampoline_addr uintptr //go:cgo_import_dynamic libc_lchown lchown "libc.so" // 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_syscall(libc_link_trampoline_addr, uintptr(unsafe.Pointer(_p0)), uintptr(unsafe.Pointer(_p1)), 0) if e1 != 0 { err = errnoErr(e1) } return } var libc_link_trampoline_addr uintptr //go:cgo_import_dynamic libc_link link "libc.so" // THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT func Linkat(pathfd int, path string, linkfd int, link string, flags int) (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_syscall6(libc_linkat_trampoline_addr, uintptr(pathfd), uintptr(unsafe.Pointer(_p0)), uintptr(linkfd), uintptr(unsafe.Pointer(_p1)), uintptr(flags), 0) if e1 != 0 { err = errnoErr(e1) } return } var libc_linkat_trampoline_addr uintptr //go:cgo_import_dynamic libc_linkat linkat "libc.so" // THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT func Listen(s int, backlog int) (err error) { _, _, e1 := syscall_syscall(libc_listen_trampoline_addr, uintptr(s), uintptr(backlog), 0) if e1 != 0 { err = errnoErr(e1) } return } var libc_listen_trampoline_addr uintptr //go:cgo_import_dynamic libc_listen listen "libc.so" // 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_syscall(libc_lstat_trampoline_addr, uintptr(unsafe.Pointer(_p0)), uintptr(unsafe.Pointer(stat)), 0) if e1 != 0 { err = errnoErr(e1) } return } var libc_lstat_trampoline_addr uintptr //go:cgo_import_dynamic libc_lstat lstat "libc.so" // 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_syscall(libc_mkdir_trampoline_addr, uintptr(unsafe.Pointer(_p0)), uintptr(mode), 0) if e1 != 0 { err = errnoErr(e1) } return } var libc_mkdir_trampoline_addr uintptr //go:cgo_import_dynamic libc_mkdir mkdir "libc.so" // 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_syscall(libc_mkdirat_trampoline_addr, uintptr(dirfd), uintptr(unsafe.Pointer(_p0)), uintptr(mode)) if e1 != 0 { err = errnoErr(e1) } return } var libc_mkdirat_trampoline_addr uintptr //go:cgo_import_dynamic libc_mkdirat mkdirat "libc.so" // 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_syscall(libc_mkfifo_trampoline_addr, uintptr(unsafe.Pointer(_p0)), uintptr(mode), 0) if e1 != 0 { err = errnoErr(e1) } return } var libc_mkfifo_trampoline_addr uintptr //go:cgo_import_dynamic libc_mkfifo mkfifo "libc.so" // THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT func Mkfifoat(dirfd int, path string, mode uint32) (err error) { var _p0 *byte _p0, err = BytePtrFromString(path) if err != nil { return } _, _, e1 := syscall_syscall(libc_mkfifoat_trampoline_addr, uintptr(dirfd), uintptr(unsafe.Pointer(_p0)), uintptr(mode)) if e1 != 0 { err = errnoErr(e1) } return } var libc_mkfifoat_trampoline_addr uintptr //go:cgo_import_dynamic libc_mkfifoat mkfifoat "libc.so" // 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_syscall(libc_mknod_trampoline_addr, uintptr(unsafe.Pointer(_p0)), uintptr(mode), uintptr(dev)) if e1 != 0 { err = errnoErr(e1) } return } var libc_mknod_trampoline_addr uintptr //go:cgo_import_dynamic libc_mknod mknod "libc.so" // 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 := syscall_syscall6(libc_mknodat_trampoline_addr, uintptr(dirfd), uintptr(unsafe.Pointer(_p0)), uintptr(mode), uintptr(dev), 0, 0) if e1 != 0 { err = errnoErr(e1) } return } var libc_mknodat_trampoline_addr uintptr //go:cgo_import_dynamic libc_mknodat mknodat "libc.so" // THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT func Mount(fsType string, dir string, flags int, data unsafe.Pointer) (err error) { var _p0 *byte _p0, err = BytePtrFromString(fsType) if err != nil { return } var _p1 *byte _p1, err = BytePtrFromString(dir) if err != nil { return } _, _, e1 := syscall_syscall6(libc_mount_trampoline_addr, uintptr(unsafe.Pointer(_p0)), uintptr(unsafe.Pointer(_p1)), uintptr(flags), uintptr(data), 0, 0) if e1 != 0 { err = errnoErr(e1) } return } var libc_mount_trampoline_addr uintptr //go:cgo_import_dynamic libc_mount mount "libc.so" // THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT func Nanosleep(time *Timespec, leftover *Timespec) (err error) { _, _, e1 := syscall_syscall(libc_nanosleep_trampoline_addr, uintptr(unsafe.Pointer(time)), uintptr(unsafe.Pointer(leftover)), 0) if e1 != 0 { err = errnoErr(e1) } return } var libc_nanosleep_trampoline_addr uintptr //go:cgo_import_dynamic libc_nanosleep nanosleep "libc.so" // 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_syscall(libc_open_trampoline_addr, uintptr(unsafe.Pointer(_p0)), uintptr(mode), uintptr(perm)) fd = int(r0) if e1 != 0 { err = errnoErr(e1) } return } var libc_open_trampoline_addr uintptr //go:cgo_import_dynamic libc_open open "libc.so" // THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT func Openat(dirfd int, path string, mode int, perm uint32) (fd int, err error) { var _p0 *byte _p0, err = BytePtrFromString(path) if err != nil { return } r0, _, e1 := syscall_syscall6(libc_openat_trampoline_addr, uintptr(dirfd), uintptr(unsafe.Pointer(_p0)), uintptr(mode), uintptr(perm), 0, 0) fd = int(r0) if e1 != 0 { err = errnoErr(e1) } return } var libc_openat_trampoline_addr uintptr //go:cgo_import_dynamic libc_openat openat "libc.so" // 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_syscall(libc_pathconf_trampoline_addr, uintptr(unsafe.Pointer(_p0)), uintptr(name), 0) val = int(r0) if e1 != 0 { err = errnoErr(e1) } return } var libc_pathconf_trampoline_addr uintptr //go:cgo_import_dynamic libc_pathconf pathconf "libc.so" // 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 := syscall_syscall6(libc_pread_trampoline_addr, uintptr(fd), uintptr(_p0), uintptr(len(p)), uintptr(offset), 0, 0) n = int(r0) if e1 != 0 { err = errnoErr(e1) } return } var libc_pread_trampoline_addr uintptr //go:cgo_import_dynamic libc_pread pread "libc.so" // 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 := syscall_syscall6(libc_pwrite_trampoline_addr, uintptr(fd), uintptr(_p0), uintptr(len(p)), uintptr(offset), 0, 0) n = int(r0) if e1 != 0 { err = errnoErr(e1) } return } var libc_pwrite_trampoline_addr uintptr //go:cgo_import_dynamic libc_pwrite pwrite "libc.so" // 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_syscall(libc_read_trampoline_addr, uintptr(fd), uintptr(_p0), uintptr(len(p))) n = int(r0) if e1 != 0 { err = errnoErr(e1) } return } var libc_read_trampoline_addr uintptr //go:cgo_import_dynamic libc_read read "libc.so" // 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_syscall(libc_readlink_trampoline_addr, uintptr(unsafe.Pointer(_p0)), uintptr(_p1), uintptr(len(buf))) n = int(r0) if e1 != 0 { err = errnoErr(e1) } return } var libc_readlink_trampoline_addr uintptr //go:cgo_import_dynamic libc_readlink readlink "libc.so" // 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 := syscall_syscall6(libc_readlinkat_trampoline_addr, uintptr(dirfd), uintptr(unsafe.Pointer(_p0)), uintptr(_p1), uintptr(len(buf)), 0, 0) n = int(r0) if e1 != 0 { err = errnoErr(e1) } return } var libc_readlinkat_trampoline_addr uintptr //go:cgo_import_dynamic libc_readlinkat readlinkat "libc.so" // 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_syscall(libc_rename_trampoline_addr, uintptr(unsafe.Pointer(_p0)), uintptr(unsafe.Pointer(_p1)), 0) if e1 != 0 { err = errnoErr(e1) } return } var libc_rename_trampoline_addr uintptr //go:cgo_import_dynamic libc_rename rename "libc.so" // THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT func Renameat(fromfd int, from string, tofd int, 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_syscall6(libc_renameat_trampoline_addr, uintptr(fromfd), uintptr(unsafe.Pointer(_p0)), uintptr(tofd), uintptr(unsafe.Pointer(_p1)), 0, 0) if e1 != 0 { err = errnoErr(e1) } return } var libc_renameat_trampoline_addr uintptr //go:cgo_import_dynamic libc_renameat renameat "libc.so" // 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_syscall(libc_revoke_trampoline_addr, uintptr(unsafe.Pointer(_p0)), 0, 0) if e1 != 0 { err = errnoErr(e1) } return } var libc_revoke_trampoline_addr uintptr //go:cgo_import_dynamic libc_revoke revoke "libc.so" // 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_syscall(libc_rmdir_trampoline_addr, uintptr(unsafe.Pointer(_p0)), 0, 0) if e1 != 0 { err = errnoErr(e1) } return } var libc_rmdir_trampoline_addr uintptr //go:cgo_import_dynamic libc_rmdir rmdir "libc.so" // 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_syscall(libc_lseek_trampoline_addr, uintptr(fd), uintptr(offset), uintptr(whence)) newoffset = int64(r0) if e1 != 0 { err = errnoErr(e1) } return } var libc_lseek_trampoline_addr uintptr //go:cgo_import_dynamic libc_lseek lseek "libc.so" // 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 := syscall_syscall6(libc_select_trampoline_addr, 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 } var libc_select_trampoline_addr uintptr //go:cgo_import_dynamic libc_select select "libc.so" // THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT func Setegid(egid int) (err error) { _, _, e1 := syscall_rawSyscall(libc_setegid_trampoline_addr, uintptr(egid), 0, 0) if e1 != 0 { err = errnoErr(e1) } return } var libc_setegid_trampoline_addr uintptr //go:cgo_import_dynamic libc_setegid setegid "libc.so" // THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT func Seteuid(euid int) (err error) { _, _, e1 := syscall_rawSyscall(libc_seteuid_trampoline_addr, uintptr(euid), 0, 0) if e1 != 0 { err = errnoErr(e1) } return } var libc_seteuid_trampoline_addr uintptr //go:cgo_import_dynamic libc_seteuid seteuid "libc.so" // THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT func Setgid(gid int) (err error) { _, _, e1 := syscall_rawSyscall(libc_setgid_trampoline_addr, uintptr(gid), 0, 0) if e1 != 0 { err = errnoErr(e1) } return } var libc_setgid_trampoline_addr uintptr //go:cgo_import_dynamic libc_setgid setgid "libc.so" // 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_syscall(libc_setlogin_trampoline_addr, uintptr(unsafe.Pointer(_p0)), 0, 0) if e1 != 0 { err = errnoErr(e1) } return } var libc_setlogin_trampoline_addr uintptr //go:cgo_import_dynamic libc_setlogin setlogin "libc.so" // THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT func Setpgid(pid int, pgid int) (err error) { _, _, e1 := syscall_rawSyscall(libc_setpgid_trampoline_addr, uintptr(pid), uintptr(pgid), 0) if e1 != 0 { err = errnoErr(e1) } return } var libc_setpgid_trampoline_addr uintptr //go:cgo_import_dynamic libc_setpgid setpgid "libc.so" // 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_syscall(libc_setpriority_trampoline_addr, uintptr(which), uintptr(who), uintptr(prio)) if e1 != 0 { err = errnoErr(e1) } return } var libc_setpriority_trampoline_addr uintptr //go:cgo_import_dynamic libc_setpriority setpriority "libc.so" // THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT func Setregid(rgid int, egid int) (err error) { _, _, e1 := syscall_rawSyscall(libc_setregid_trampoline_addr, uintptr(rgid), uintptr(egid), 0) if e1 != 0 { err = errnoErr(e1) } return } var libc_setregid_trampoline_addr uintptr //go:cgo_import_dynamic libc_setregid setregid "libc.so" // THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT func Setreuid(ruid int, euid int) (err error) { _, _, e1 := syscall_rawSyscall(libc_setreuid_trampoline_addr, uintptr(ruid), uintptr(euid), 0) if e1 != 0 { err = errnoErr(e1) } return } var libc_setreuid_trampoline_addr uintptr //go:cgo_import_dynamic libc_setreuid setreuid "libc.so" // THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT func Setresgid(rgid int, egid int, sgid int) (err error) { _, _, e1 := syscall_rawSyscall(libc_setresgid_trampoline_addr, uintptr(rgid), uintptr(egid), uintptr(sgid)) if e1 != 0 { err = errnoErr(e1) } return } var libc_setresgid_trampoline_addr uintptr //go:cgo_import_dynamic libc_setresgid setresgid "libc.so" // THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT func Setresuid(ruid int, euid int, suid int) (err error) { _, _, e1 := syscall_rawSyscall(libc_setresuid_trampoline_addr, uintptr(ruid), uintptr(euid), uintptr(suid)) if e1 != 0 { err = errnoErr(e1) } return } var libc_setresuid_trampoline_addr uintptr //go:cgo_import_dynamic libc_setresuid setresuid "libc.so" // THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT func Setrtable(rtable int) (err error) { _, _, e1 := syscall_rawSyscall(libc_setrtable_trampoline_addr, uintptr(rtable), 0, 0) if e1 != 0 { err = errnoErr(e1) } return } var libc_setrtable_trampoline_addr uintptr //go:cgo_import_dynamic libc_setrtable setrtable "libc.so" // THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT func Setsid() (pid int, err error) { r0, _, e1 := syscall_rawSyscall(libc_setsid_trampoline_addr, 0, 0, 0) pid = int(r0) if e1 != 0 { err = errnoErr(e1) } return } var libc_setsid_trampoline_addr uintptr //go:cgo_import_dynamic libc_setsid setsid "libc.so" // THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT func Settimeofday(tp *Timeval) (err error) { _, _, e1 := syscall_rawSyscall(libc_settimeofday_trampoline_addr, uintptr(unsafe.Pointer(tp)), 0, 0) if e1 != 0 { err = errnoErr(e1) } return } var libc_settimeofday_trampoline_addr uintptr //go:cgo_import_dynamic libc_settimeofday settimeofday "libc.so" // THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT func Setuid(uid int) (err error) { _, _, e1 := syscall_rawSyscall(libc_setuid_trampoline_addr, uintptr(uid), 0, 0) if e1 != 0 { err = errnoErr(e1) } return } var libc_setuid_trampoline_addr uintptr //go:cgo_import_dynamic libc_setuid setuid "libc.so" // 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_syscall(libc_stat_trampoline_addr, uintptr(unsafe.Pointer(_p0)), uintptr(unsafe.Pointer(stat)), 0) if e1 != 0 { err = errnoErr(e1) } return } var libc_stat_trampoline_addr uintptr //go:cgo_import_dynamic libc_stat stat "libc.so" // 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_syscall(libc_statfs_trampoline_addr, uintptr(unsafe.Pointer(_p0)), uintptr(unsafe.Pointer(stat)), 0) if e1 != 0 { err = errnoErr(e1) } return } var libc_statfs_trampoline_addr uintptr //go:cgo_import_dynamic libc_statfs statfs "libc.so" // 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_syscall(libc_symlink_trampoline_addr, uintptr(unsafe.Pointer(_p0)), uintptr(unsafe.Pointer(_p1)), 0) if e1 != 0 { err = errnoErr(e1) } return } var libc_symlink_trampoline_addr uintptr //go:cgo_import_dynamic libc_symlink symlink "libc.so" // 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_syscall(libc_symlinkat_trampoline_addr, uintptr(unsafe.Pointer(_p0)), uintptr(newdirfd), uintptr(unsafe.Pointer(_p1))) if e1 != 0 { err = errnoErr(e1) } return } var libc_symlinkat_trampoline_addr uintptr //go:cgo_import_dynamic libc_symlinkat symlinkat "libc.so" // THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT func Sync() (err error) { _, _, e1 := syscall_syscall(libc_sync_trampoline_addr, 0, 0, 0) if e1 != 0 { err = errnoErr(e1) } return } var libc_sync_trampoline_addr uintptr //go:cgo_import_dynamic libc_sync sync "libc.so" // 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_syscall(libc_truncate_trampoline_addr, uintptr(unsafe.Pointer(_p0)), uintptr(length), 0) if e1 != 0 { err = errnoErr(e1) } return } var libc_truncate_trampoline_addr uintptr //go:cgo_import_dynamic libc_truncate truncate "libc.so" // THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT func Umask(newmask int) (oldmask int) { r0, _, _ := syscall_syscall(libc_umask_trampoline_addr, uintptr(newmask), 0, 0) oldmask = int(r0) return } var libc_umask_trampoline_addr uintptr //go:cgo_import_dynamic libc_umask umask "libc.so" // 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_syscall(libc_unlink_trampoline_addr, uintptr(unsafe.Pointer(_p0)), 0, 0) if e1 != 0 { err = errnoErr(e1) } return } var libc_unlink_trampoline_addr uintptr //go:cgo_import_dynamic libc_unlink unlink "libc.so" // 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_syscall(libc_unlinkat_trampoline_addr, uintptr(dirfd), uintptr(unsafe.Pointer(_p0)), uintptr(flags)) if e1 != 0 { err = errnoErr(e1) } return } var libc_unlinkat_trampoline_addr uintptr //go:cgo_import_dynamic libc_unlinkat unlinkat "libc.so" // 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_syscall(libc_unmount_trampoline_addr, uintptr(unsafe.Pointer(_p0)), uintptr(flags), 0) if e1 != 0 { err = errnoErr(e1) } return } var libc_unmount_trampoline_addr uintptr //go:cgo_import_dynamic libc_unmount unmount "libc.so" // 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_syscall(libc_write_trampoline_addr, uintptr(fd), uintptr(_p0), uintptr(len(p))) n = int(r0) if e1 != 0 { err = errnoErr(e1) } return } var libc_write_trampoline_addr uintptr //go:cgo_import_dynamic libc_write write "libc.so" // 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 := syscall_syscall6(libc_mmap_trampoline_addr, uintptr(addr), uintptr(length), uintptr(prot), uintptr(flag), uintptr(fd), uintptr(pos)) ret = uintptr(r0) if e1 != 0 { err = errnoErr(e1) } return } var libc_mmap_trampoline_addr uintptr //go:cgo_import_dynamic libc_mmap mmap "libc.so" // THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT func munmap(addr uintptr, length uintptr) (err error) { _, _, e1 := syscall_syscall(libc_munmap_trampoline_addr, uintptr(addr), uintptr(length), 0) if e1 != 0 { err = errnoErr(e1) } return } var libc_munmap_trampoline_addr uintptr //go:cgo_import_dynamic libc_munmap munmap "libc.so" // THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT func getfsstat(stat *Statfs_t, bufsize uintptr, flags int) (n int, err error) { r0, _, e1 := syscall_syscall(libc_getfsstat_trampoline_addr, uintptr(unsafe.Pointer(stat)), uintptr(bufsize), uintptr(flags)) n = int(r0) if e1 != 0 { err = errnoErr(e1) } return } var libc_getfsstat_trampoline_addr uintptr //go:cgo_import_dynamic libc_getfsstat getfsstat "libc.so" // 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 := syscall_syscall6(libc_utimensat_trampoline_addr, uintptr(dirfd), uintptr(unsafe.Pointer(_p0)), uintptr(unsafe.Pointer(times)), uintptr(flags), 0, 0) if e1 != 0 { err = errnoErr(e1) } return } var libc_utimensat_trampoline_addr uintptr //go:cgo_import_dynamic libc_utimensat utimensat "libc.so" // THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT func pledge(promises *byte, execpromises *byte) (err error) { _, _, e1 := syscall_syscall(libc_pledge_trampoline_addr, uintptr(unsafe.Pointer(promises)), uintptr(unsafe.Pointer(execpromises)), 0) if e1 != 0 { err = errnoErr(e1) } return } var libc_pledge_trampoline_addr uintptr //go:cgo_import_dynamic libc_pledge pledge "libc.so" // THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT func unveil(path *byte, flags *byte) (err error) { _, _, e1 := syscall_syscall(libc_unveil_trampoline_addr, uintptr(unsafe.Pointer(path)), uintptr(unsafe.Pointer(flags)), 0) if e1 != 0 { err = errnoErr(e1) } return } var libc_unveil_trampoline_addr uintptr //go:cgo_import_dynamic libc_unveil unveil "libc.so" dependencies/pkg/mod/golang.org/x/sys@v0.26.0/unix/fcntl.go0000644000000000000000000000206315107355264022247 0ustar rootroot// 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. //go:build dragonfly || freebsd || linux || netbsd package unix import "unsafe" // fcntl64Syscall is usually SYS_FCNTL, but is overridden on 32-bit Linux // systems by fcntl_linux_32bit.go to be SYS_FCNTL64. var fcntl64Syscall uintptr = SYS_FCNTL func fcntl(fd int, cmd, arg int) (int, error) { valptr, _, errno := Syscall(fcntl64Syscall, uintptr(fd), uintptr(cmd), uintptr(arg)) var err error if errno != 0 { err = errno } return int(valptr), err } // FcntlInt performs a fcntl syscall on fd with the provided command and argument. func FcntlInt(fd uintptr, cmd, arg int) (int, error) { return fcntl(int(fd), cmd, arg) } // 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 } dependencies/pkg/mod/golang.org/x/sys@v0.26.0/unix/mkall.sh0000644000000000000000000002016015107355264022244 0ustar rootroot#!/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="go run mksyscall.go" mkerrors="./mkerrors.sh" zerrors="zerrors_$GOOSARCH.go" mksysctl="" zsysctl="zsysctl_$GOOSARCH.go" mksysnum= mktypes= mkasm= 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" ]]; then # Use the Docker-based 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 $(cd -- "$(dirname -- "$0")/.." && pwd):/build generate:$GOOS exit fi GOOSARCH_in=syscall_$GOOSARCH.go case "$GOOSARCH" in _* | *_ | _) echo 'undefined $GOOS_$GOARCH:' "$GOOSARCH" 1>&2 exit 1 ;; aix_ppc) mkerrors="$mkerrors -maix32" mksyscall="go run mksyscall_aix_ppc.go -aix" mktypes="GOARCH=$GOARCH go tool cgo -godefs" ;; aix_ppc64) mkerrors="$mkerrors -maix64" mksyscall="go run mksyscall_aix_ppc64.go -aix" mktypes="GOARCH=$GOARCH go tool cgo -godefs" ;; darwin_amd64) mkerrors="$mkerrors -m64" mktypes="GOARCH=$GOARCH go tool cgo -godefs" mkasm="go run mkasm.go" ;; darwin_arm64) mkerrors="$mkerrors -m64" mktypes="GOARCH=$GOARCH go tool cgo -godefs" mkasm="go run mkasm.go" ;; dragonfly_amd64) mkerrors="$mkerrors -m64" mksyscall="go run mksyscall.go -dragonfly" mksysnum="go run mksysnum.go 'https://gitweb.dragonflybsd.org/dragonfly.git/blob_plain/HEAD:/sys/kern/syscalls.master'" mktypes="GOARCH=$GOARCH go tool cgo -godefs" ;; freebsd_386) mkerrors="$mkerrors -m32" mksyscall="go run mksyscall.go -l32" mksysnum="go run mksysnum.go 'https://cgit.freebsd.org/src/plain/sys/kern/syscalls.master?h=stable/12'" mktypes="GOARCH=$GOARCH go tool cgo -godefs" ;; freebsd_amd64) mkerrors="$mkerrors -m64" mksysnum="go run mksysnum.go 'https://cgit.freebsd.org/src/plain/sys/kern/syscalls.master?h=stable/12'" mktypes="GOARCH=$GOARCH go tool cgo -godefs" ;; freebsd_arm) mkerrors="$mkerrors" mksyscall="go run mksyscall.go -l32 -arm" mksysnum="go run mksysnum.go 'https://cgit.freebsd.org/src/plain/sys/kern/syscalls.master?h=stable/12'" # Let the type of C char be signed for making the bare syscall # API consistent across platforms. mktypes="GOARCH=$GOARCH go tool cgo -godefs -- -fsigned-char" ;; freebsd_arm64) mkerrors="$mkerrors -m64" mksysnum="go run mksysnum.go 'https://cgit.freebsd.org/src/plain/sys/kern/syscalls.master?h=stable/12'" mktypes="GOARCH=$GOARCH go tool cgo -godefs -- -fsigned-char" ;; freebsd_riscv64) mkerrors="$mkerrors -m64" mksysnum="go run mksysnum.go 'https://cgit.freebsd.org/src/plain/sys/kern/syscalls.master?h=stable/12'" mktypes="GOARCH=$GOARCH go tool cgo -godefs -- -fsigned-char" ;; netbsd_386) mkerrors="$mkerrors -m32" mksyscall="go run mksyscall.go -l32 -netbsd" mksysnum="go run mksysnum.go 'http://cvsweb.netbsd.org/bsdweb.cgi/~checkout~/src/sys/kern/syscalls.master'" mktypes="GOARCH=$GOARCH go tool cgo -godefs" ;; netbsd_amd64) mkerrors="$mkerrors -m64" mksyscall="go run mksyscall.go -netbsd" mksysnum="go run mksysnum.go 'http://cvsweb.netbsd.org/bsdweb.cgi/~checkout~/src/sys/kern/syscalls.master'" mktypes="GOARCH=$GOARCH go tool cgo -godefs" ;; netbsd_arm) mkerrors="$mkerrors" mksyscall="go run mksyscall.go -l32 -netbsd -arm" mksysnum="go run mksysnum.go 'http://cvsweb.netbsd.org/bsdweb.cgi/~checkout~/src/sys/kern/syscalls.master'" # Let the type of C char be signed for making the bare syscall # API consistent across platforms. mktypes="GOARCH=$GOARCH go tool cgo -godefs -- -fsigned-char" ;; netbsd_arm64) mkerrors="$mkerrors -m64" mksyscall="go run mksyscall.go -netbsd" mksysnum="go run mksysnum.go 'http://cvsweb.netbsd.org/bsdweb.cgi/~checkout~/src/sys/kern/syscalls.master'" mktypes="GOARCH=$GOARCH go tool cgo -godefs" ;; openbsd_386) mkasm="go run mkasm.go" mkerrors="$mkerrors -m32" mksyscall="go run mksyscall.go -l32 -openbsd -libc" mksysctl="go run mksysctl_openbsd.go" mktypes="GOARCH=$GOARCH go tool cgo -godefs" ;; openbsd_amd64) mkasm="go run mkasm.go" mkerrors="$mkerrors -m64" mksyscall="go run mksyscall.go -openbsd -libc" mksysctl="go run mksysctl_openbsd.go" mktypes="GOARCH=$GOARCH go tool cgo -godefs" ;; openbsd_arm) mkasm="go run mkasm.go" mkerrors="$mkerrors" mksyscall="go run mksyscall.go -l32 -openbsd -arm -libc" mksysctl="go run mksysctl_openbsd.go" # Let the type of C char be signed for making the bare syscall # API consistent across platforms. mktypes="GOARCH=$GOARCH go tool cgo -godefs -- -fsigned-char" ;; openbsd_arm64) mkasm="go run mkasm.go" mkerrors="$mkerrors -m64" mksyscall="go run mksyscall.go -openbsd -libc" mksysctl="go run mksysctl_openbsd.go" # Let the type of C char be signed for making the bare syscall # API consistent across platforms. mktypes="GOARCH=$GOARCH go tool cgo -godefs -- -fsigned-char" ;; openbsd_mips64) mkasm="go run mkasm.go" mkerrors="$mkerrors -m64" mksyscall="go run mksyscall.go -openbsd -libc" mksysctl="go run mksysctl_openbsd.go" # Let the type of C char be signed for making the bare syscall # API consistent across platforms. mktypes="GOARCH=$GOARCH go tool cgo -godefs -- -fsigned-char" ;; openbsd_ppc64) mkasm="go run mkasm.go" mkerrors="$mkerrors -m64" mksyscall="go run mksyscall.go -openbsd -libc" mksysctl="go run mksysctl_openbsd.go" # Let the type of C char be signed for making the bare syscall # API consistent across platforms. mktypes="GOARCH=$GOARCH go tool cgo -godefs -- -fsigned-char" ;; openbsd_riscv64) mkasm="go run mkasm.go" mkerrors="$mkerrors -m64" mksyscall="go run mksyscall.go -openbsd -libc" mksysctl="go run mksysctl_openbsd.go" # Let the type of C char be signed for making the bare syscall # API consistent across platforms. mktypes="GOARCH=$GOARCH go tool cgo -godefs -- -fsigned-char" ;; solaris_amd64) mksyscall="go run mksyscall_solaris.go" mkerrors="$mkerrors -m64" mksysnum= mktypes="GOARCH=$GOARCH go tool cgo -godefs" ;; illumos_amd64) mksyscall="go run mksyscall_solaris.go" mkerrors= 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 if [ "$GOOSARCH" == "aix_ppc64" ]; then # aix/ppc64 script generates files instead of writing to stdin. echo "$mksyscall -tags $GOOS,$GOARCH $syscall_goos $GOOSARCH_in && gofmt -w zsyscall_$GOOSARCH.go && gofmt -w zsyscall_"$GOOSARCH"_gccgo.go && gofmt -w zsyscall_"$GOOSARCH"_gc.go " ; elif [ "$GOOS" == "illumos" ]; then # illumos code generation requires a --illumos switch echo "$mksyscall -illumos -tags illumos,$GOARCH syscall_illumos.go |gofmt > zsyscall_illumos_$GOARCH.go"; # illumos implies solaris, so solaris code generation is also required echo "$mksyscall -tags solaris,$GOARCH syscall_solaris.go syscall_solaris_$GOARCH.go |gofmt >zsyscall_solaris_$GOARCH.go"; else echo "$mksyscall -tags $GOOS,$GOARCH $syscall_goos $GOOSARCH_in |gofmt >zsyscall_$GOOSARCH.go"; fi 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 if [ -n "$mkasm" ]; then echo "$mkasm $GOOS $GOARCH"; fi ) | $run dependencies/pkg/mod/golang.org/x/sys@v0.26.0/unix/zerrors_aix_ppc64.go0000644000000000000000000015125415107355264024533 0ustar rootroot// mkerrors.sh -maix64 // Code generated by the command above; see README.md. DO NOT EDIT. //go:build ppc64 && aix // Code generated by cmd/cgo -godefs; DO NOT EDIT. // cgo -godefs -- -maix64 _const.go package unix import "syscall" const ( AF_APPLETALK = 0x10 AF_BYPASS = 0x19 AF_CCITT = 0xa AF_CHAOS = 0x5 AF_DATAKIT = 0x9 AF_DECnet = 0xc AF_DLI = 0xd AF_ECMA = 0x8 AF_HYLINK = 0xf AF_IMPLINK = 0x3 AF_INET = 0x2 AF_INET6 = 0x18 AF_INTF = 0x14 AF_ISO = 0x7 AF_LAT = 0xe AF_LINK = 0x12 AF_LOCAL = 0x1 AF_MAX = 0x1e AF_NDD = 0x17 AF_NETWARE = 0x16 AF_NS = 0x6 AF_OSI = 0x7 AF_PUP = 0x4 AF_RIF = 0x15 AF_ROUTE = 0x11 AF_SNA = 0xb AF_UNIX = 0x1 AF_UNSPEC = 0x0 ALTWERASE = 0x400000 ARPHRD_802_3 = 0x6 ARPHRD_802_5 = 0x6 ARPHRD_ETHER = 0x1 ARPHRD_FDDI = 0x1 B0 = 0x0 B110 = 0x3 B1200 = 0x9 B134 = 0x4 B150 = 0x5 B1800 = 0xa B19200 = 0xe B200 = 0x6 B2400 = 0xb B300 = 0x7 B38400 = 0xf B4800 = 0xc B50 = 0x1 B600 = 0x8 B75 = 0x2 B9600 = 0xd BRKINT = 0x2 BS0 = 0x0 BS1 = 0x1000 BSDLY = 0x1000 CAP_AACCT = 0x6 CAP_ARM_APPLICATION = 0x5 CAP_BYPASS_RAC_VMM = 0x3 CAP_CLEAR = 0x0 CAP_CREDENTIALS = 0x7 CAP_EFFECTIVE = 0x1 CAP_EWLM_AGENT = 0x4 CAP_INHERITABLE = 0x2 CAP_MAXIMUM = 0x7 CAP_NUMA_ATTACH = 0x2 CAP_PERMITTED = 0x3 CAP_PROPAGATE = 0x1 CAP_PROPOGATE = 0x1 CAP_SET = 0x1 CBAUD = 0xf CFLUSH = 0xf CIBAUD = 0xf0000 CLOCAL = 0x800 CLOCK_MONOTONIC = 0xa CLOCK_PROCESS_CPUTIME_ID = 0xb CLOCK_REALTIME = 0x9 CLOCK_THREAD_CPUTIME_ID = 0xc CR0 = 0x0 CR1 = 0x100 CR2 = 0x200 CR3 = 0x300 CRDLY = 0x300 CREAD = 0x80 CS5 = 0x0 CS6 = 0x10 CS7 = 0x20 CS8 = 0x30 CSIOCGIFCONF = -0x3fef96dc CSIZE = 0x30 CSMAP_DIR = "/usr/lib/nls/csmap/" CSTART = '\021' CSTOP = '\023' CSTOPB = 0x40 CSUSP = 0x1a ECHO = 0x8 ECHOCTL = 0x20000 ECHOE = 0x10 ECHOK = 0x20 ECHOKE = 0x80000 ECHONL = 0x40 ECHOPRT = 0x40000 ECH_ICMPID = 0x2 ETHERNET_CSMACD = 0x6 EVENP = 0x80 EXCONTINUE = 0x0 EXDLOK = 0x3 EXIO = 0x2 EXPGIO = 0x0 EXRESUME = 0x2 EXRETURN = 0x1 EXSIG = 0x4 EXTA = 0xe EXTB = 0xf EXTRAP = 0x1 EYEC_RTENTRYA = 0x257274656e747241 EYEC_RTENTRYF = 0x257274656e747246 E_ACC = 0x0 FD_CLOEXEC = 0x1 FD_SETSIZE = 0xfffe FF0 = 0x0 FF1 = 0x2000 FFDLY = 0x2000 FLUSHBAND = 0x40 FLUSHLOW = 0x8 FLUSHO = 0x100000 FLUSHR = 0x1 FLUSHRW = 0x3 FLUSHW = 0x2 F_CLOSEM = 0xa F_DUP2FD = 0xe F_DUPFD = 0x0 F_GETFD = 0x1 F_GETFL = 0x3 F_GETLK = 0xb F_GETLK64 = 0xb F_GETOWN = 0x8 F_LOCK = 0x1 F_OK = 0x0 F_RDLCK = 0x1 F_SETFD = 0x2 F_SETFL = 0x4 F_SETLK = 0xc F_SETLK64 = 0xc F_SETLKW = 0xd F_SETLKW64 = 0xd F_SETOWN = 0x9 F_TEST = 0x3 F_TLOCK = 0x2 F_TSTLK = 0xf F_ULOCK = 0x0 F_UNLCK = 0x3 F_WRLCK = 0x2 HUPCL = 0x400 IBSHIFT = 0x10 ICANON = 0x2 ICMP6_FILTER = 0x26 ICMP6_SEC_SEND_DEL = 0x46 ICMP6_SEC_SEND_GET = 0x47 ICMP6_SEC_SEND_SET = 0x44 ICMP6_SEC_SEND_SET_CGA_ADDR = 0x45 ICRNL = 0x100 IEXTEN = 0x200000 IFA_FIRSTALIAS = 0x2000 IFA_ROUTE = 0x1 IFF_64BIT = 0x4000000 IFF_ALLCAST = 0x20000 IFF_ALLMULTI = 0x200 IFF_BPF = 0x8000000 IFF_BRIDGE = 0x40000 IFF_BROADCAST = 0x2 IFF_CANTCHANGE = 0x80c52 IFF_CHECKSUM_OFFLOAD = 0x10000000 IFF_D1 = 0x8000 IFF_D2 = 0x4000 IFF_D3 = 0x2000 IFF_D4 = 0x1000 IFF_DEBUG = 0x4 IFF_DEVHEALTH = 0x4000 IFF_DO_HW_LOOPBACK = 0x10000 IFF_GROUP_ROUTING = 0x2000000 IFF_IFBUFMGT = 0x800000 IFF_LINK0 = 0x100000 IFF_LINK1 = 0x200000 IFF_LINK2 = 0x400000 IFF_LOOPBACK = 0x8 IFF_MULTICAST = 0x80000 IFF_NOARP = 0x80 IFF_NOECHO = 0x800 IFF_NOTRAILERS = 0x20 IFF_OACTIVE = 0x400 IFF_POINTOPOINT = 0x10 IFF_PROMISC = 0x100 IFF_PSEG = 0x40000000 IFF_RUNNING = 0x40 IFF_SIMPLEX = 0x800 IFF_SNAP = 0x8000 IFF_TCP_DISABLE_CKSUM = 0x20000000 IFF_TCP_NOCKSUM = 0x1000000 IFF_UP = 0x1 IFF_VIPA = 0x80000000 IFNAMSIZ = 0x10 IFO_FLUSH = 0x1 IFT_1822 = 0x2 IFT_AAL5 = 0x31 IFT_ARCNET = 0x23 IFT_ARCNETPLUS = 0x24 IFT_ATM = 0x25 IFT_CEPT = 0x13 IFT_CLUSTER = 0x3e IFT_DS3 = 0x1e IFT_EON = 0x19 IFT_ETHER = 0x6 IFT_FCS = 0x3a IFT_FDDI = 0xf IFT_FRELAY = 0x20 IFT_FRELAYDCE = 0x2c IFT_GIFTUNNEL = 0x3c IFT_HDH1822 = 0x3 IFT_HF = 0x3d IFT_HIPPI = 0x2f IFT_HSSI = 0x2e IFT_HY = 0xe IFT_IB = 0xc7 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_SN = 0x38 IFT_SONET = 0x27 IFT_SONETPATH = 0x32 IFT_SONETVT = 0x33 IFT_SP = 0x39 IFT_STARLAN = 0xb IFT_T1 = 0x12 IFT_TUNNEL = 0x3b IFT_ULTRA = 0x1d IFT_V35 = 0x2d IFT_VIPA = 0x37 IFT_X25 = 0x5 IFT_X25DDN = 0x4 IFT_X25PLE = 0x28 IFT_XETHER = 0x1a IGNBRK = 0x1 IGNCR = 0x80 IGNPAR = 0x4 IMAXBEL = 0x10000 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_USE = 0x1 IPPROTO_AH = 0x33 IPPROTO_BIP = 0x53 IPPROTO_DSTOPTS = 0x3c IPPROTO_EGP = 0x8 IPPROTO_EON = 0x50 IPPROTO_ESP = 0x32 IPPROTO_FRAGMENT = 0x2c IPPROTO_GGP = 0x3 IPPROTO_GIF = 0x8c 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_LOCAL = 0x3f IPPROTO_MAX = 0x100 IPPROTO_MH = 0x87 IPPROTO_NONE = 0x3b IPPROTO_PUP = 0xc IPPROTO_QOS = 0x2d IPPROTO_RAW = 0xff IPPROTO_ROUTING = 0x2b IPPROTO_RSVP = 0x2e IPPROTO_SCTP = 0x84 IPPROTO_TCP = 0x6 IPPROTO_TP = 0x1d IPPROTO_UDP = 0x11 IPV6_ADDRFORM = 0x16 IPV6_ADDR_PREFERENCES = 0x4a IPV6_ADD_MEMBERSHIP = 0xc IPV6_AIXRAWSOCKET = 0x39 IPV6_CHECKSUM = 0x27 IPV6_DONTFRAG = 0x2d IPV6_DROP_MEMBERSHIP = 0xd IPV6_DSTOPTS = 0x36 IPV6_FLOWINFO_FLOWLABEL = 0xffffff IPV6_FLOWINFO_PRIFLOW = 0xfffffff IPV6_FLOWINFO_PRIORITY = 0xf000000 IPV6_FLOWINFO_SRFLAG = 0x10000000 IPV6_FLOWINFO_VERSION = 0xf0000000 IPV6_HOPLIMIT = 0x28 IPV6_HOPOPTS = 0x34 IPV6_JOIN_GROUP = 0xc IPV6_LEAVE_GROUP = 0xd IPV6_MIPDSTOPTS = 0x36 IPV6_MULTICAST_HOPS = 0xa IPV6_MULTICAST_IF = 0x9 IPV6_MULTICAST_LOOP = 0xb IPV6_NEXTHOP = 0x30 IPV6_NOPROBE = 0x1c IPV6_PATHMTU = 0x2e IPV6_PKTINFO = 0x21 IPV6_PKTOPTIONS = 0x24 IPV6_PRIORITY_10 = 0xa000000 IPV6_PRIORITY_11 = 0xb000000 IPV6_PRIORITY_12 = 0xc000000 IPV6_PRIORITY_13 = 0xd000000 IPV6_PRIORITY_14 = 0xe000000 IPV6_PRIORITY_15 = 0xf000000 IPV6_PRIORITY_8 = 0x8000000 IPV6_PRIORITY_9 = 0x9000000 IPV6_PRIORITY_BULK = 0x4000000 IPV6_PRIORITY_CONTROL = 0x7000000 IPV6_PRIORITY_FILLER = 0x1000000 IPV6_PRIORITY_INTERACTIVE = 0x6000000 IPV6_PRIORITY_RESERVED1 = 0x3000000 IPV6_PRIORITY_RESERVED2 = 0x5000000 IPV6_PRIORITY_UNATTENDED = 0x2000000 IPV6_PRIORITY_UNCHARACTERIZED = 0x0 IPV6_RECVDSTOPTS = 0x38 IPV6_RECVHOPLIMIT = 0x29 IPV6_RECVHOPOPTS = 0x35 IPV6_RECVHOPS = 0x22 IPV6_RECVIF = 0x1e IPV6_RECVPATHMTU = 0x2f IPV6_RECVPKTINFO = 0x23 IPV6_RECVRTHDR = 0x33 IPV6_RECVSRCRT = 0x1d IPV6_RECVTCLASS = 0x2a IPV6_RTHDR = 0x32 IPV6_RTHDRDSTOPTS = 0x37 IPV6_RTHDR_TYPE_0 = 0x0 IPV6_RTHDR_TYPE_2 = 0x2 IPV6_SENDIF = 0x1f IPV6_SRFLAG_LOOSE = 0x0 IPV6_SRFLAG_STRICT = 0x10000000 IPV6_TCLASS = 0x2b IPV6_TOKEN_LENGTH = 0x40 IPV6_UNICAST_HOPS = 0x4 IPV6_USE_MIN_MTU = 0x2c IPV6_V6ONLY = 0x25 IPV6_VERSION = 0x60000000 IP_ADDRFORM = 0x16 IP_ADD_MEMBERSHIP = 0xc IP_ADD_SOURCE_MEMBERSHIP = 0x3c IP_BLOCK_SOURCE = 0x3a IP_BROADCAST_IF = 0x10 IP_CACHE_LINE_SIZE = 0x80 IP_DEFAULT_MULTICAST_LOOP = 0x1 IP_DEFAULT_MULTICAST_TTL = 0x1 IP_DF = 0x4000 IP_DHCPMODE = 0x11 IP_DONTFRAG = 0x19 IP_DROP_MEMBERSHIP = 0xd IP_DROP_SOURCE_MEMBERSHIP = 0x3d IP_FINDPMTU = 0x1a IP_HDRINCL = 0x2 IP_INC_MEMBERSHIPS = 0x14 IP_INIT_MEMBERSHIP = 0x14 IP_MAXPACKET = 0xffff IP_MF = 0x2000 IP_MSS = 0x240 IP_MULTICAST_HOPS = 0xa IP_MULTICAST_IF = 0x9 IP_MULTICAST_LOOP = 0xb IP_MULTICAST_TTL = 0xa IP_OPT = 0x1b IP_OPTIONS = 0x1 IP_PMTUAGE = 0x1b IP_RECVDSTADDR = 0x7 IP_RECVIF = 0x14 IP_RECVIFINFO = 0xf IP_RECVINTERFACE = 0x20 IP_RECVMACHDR = 0xe IP_RECVOPTS = 0x5 IP_RECVRETOPTS = 0x6 IP_RECVTTL = 0x22 IP_RETOPTS = 0x8 IP_SOURCE_FILTER = 0x48 IP_TOS = 0x3 IP_TTL = 0x4 IP_UNBLOCK_SOURCE = 0x3b IP_UNICAST_HOPS = 0x4 ISIG = 0x1 ISTRIP = 0x20 IUCLC = 0x800 IXANY = 0x1000 IXOFF = 0x400 IXON = 0x200 I_FLUSH = 0x20005305 LNOFLSH = 0x8000 LOCK_EX = 0x2 LOCK_NB = 0x4 LOCK_SH = 0x1 LOCK_UN = 0x8 MADV_DONTNEED = 0x4 MADV_NORMAL = 0x0 MADV_RANDOM = 0x1 MADV_SEQUENTIAL = 0x2 MADV_SPACEAVAIL = 0x5 MADV_WILLNEED = 0x3 MAP_ANON = 0x10 MAP_ANONYMOUS = 0x10 MAP_FILE = 0x0 MAP_FIXED = 0x100 MAP_PRIVATE = 0x2 MAP_SHARED = 0x1 MAP_TYPE = 0xf0 MAP_VARIABLE = 0x0 MCAST_BLOCK_SOURCE = 0x40 MCAST_EXCLUDE = 0x2 MCAST_INCLUDE = 0x1 MCAST_JOIN_GROUP = 0x3e MCAST_JOIN_SOURCE_GROUP = 0x42 MCAST_LEAVE_GROUP = 0x3f MCAST_LEAVE_SOURCE_GROUP = 0x43 MCAST_SOURCE_FILTER = 0x49 MCAST_UNBLOCK_SOURCE = 0x41 MCL_CURRENT = 0x100 MCL_FUTURE = 0x200 MSG_ANY = 0x4 MSG_ARGEXT = 0x400 MSG_BAND = 0x2 MSG_COMPAT = 0x8000 MSG_CTRUNC = 0x20 MSG_DONTROUTE = 0x4 MSG_EOR = 0x8 MSG_HIPRI = 0x1 MSG_MAXIOVLEN = 0x10 MSG_MPEG2 = 0x80 MSG_NONBLOCK = 0x4000 MSG_NOSIGNAL = 0x100 MSG_OOB = 0x1 MSG_PEEK = 0x2 MSG_TRUNC = 0x10 MSG_WAITALL = 0x40 MSG_WAITFORONE = 0x200 MS_ASYNC = 0x10 MS_EINTR = 0x80 MS_INVALIDATE = 0x40 MS_PER_SEC = 0x3e8 MS_SYNC = 0x20 NFDBITS = 0x40 NL0 = 0x0 NL1 = 0x4000 NL2 = 0x8000 NL3 = 0xc000 NLDLY = 0x4000 NOFLSH = 0x80 NOFLUSH = 0x80000000 OCRNL = 0x8 OFDEL = 0x80 OFILL = 0x40 OLCUC = 0x2 ONLCR = 0x4 ONLRET = 0x20 ONOCR = 0x10 ONOEOT = 0x80000 OPOST = 0x1 OXTABS = 0x40000 O_ACCMODE = 0x23 O_APPEND = 0x8 O_CIO = 0x80 O_CIOR = 0x800000000 O_CLOEXEC = 0x800000 O_CREAT = 0x100 O_DEFER = 0x2000 O_DELAY = 0x4000 O_DIRECT = 0x8000000 O_DIRECTORY = 0x80000 O_DSYNC = 0x400000 O_EFSOFF = 0x400000000 O_EFSON = 0x200000000 O_EXCL = 0x400 O_EXEC = 0x20 O_LARGEFILE = 0x4000000 O_NDELAY = 0x8000 O_NOCACHE = 0x100000 O_NOCTTY = 0x800 O_NOFOLLOW = 0x1000000 O_NONBLOCK = 0x4 O_NONE = 0x3 O_NSHARE = 0x10000 O_RAW = 0x100000000 O_RDONLY = 0x0 O_RDWR = 0x2 O_RSHARE = 0x1000 O_RSYNC = 0x200000 O_SEARCH = 0x20 O_SNAPSHOT = 0x40 O_SYNC = 0x10 O_TRUNC = 0x200 O_TTY_INIT = 0x0 O_WRONLY = 0x1 PARENB = 0x100 PAREXT = 0x100000 PARMRK = 0x8 PARODD = 0x200 PENDIN = 0x20000000 PRIO_PGRP = 0x1 PRIO_PROCESS = 0x0 PRIO_USER = 0x2 PROT_EXEC = 0x4 PROT_NONE = 0x0 PROT_READ = 0x1 PROT_WRITE = 0x2 PR_64BIT = 0x20 PR_ADDR = 0x2 PR_ARGEXT = 0x400 PR_ATOMIC = 0x1 PR_CONNREQUIRED = 0x4 PR_FASTHZ = 0x5 PR_INP = 0x40 PR_INTRLEVEL = 0x8000 PR_MLS = 0x100 PR_MLS_1_LABEL = 0x200 PR_NOEOR = 0x4000 PR_RIGHTS = 0x10 PR_SLOWHZ = 0x2 PR_WANTRCVD = 0x8 RLIMIT_AS = 0x6 RLIMIT_CORE = 0x4 RLIMIT_CPU = 0x0 RLIMIT_DATA = 0x2 RLIMIT_FSIZE = 0x1 RLIMIT_NOFILE = 0x7 RLIMIT_NPROC = 0x9 RLIMIT_RSS = 0x5 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_DOWNSTREAM = 0x100 RTA_DST = 0x1 RTA_GATEWAY = 0x2 RTA_GENMASK = 0x8 RTA_IFA = 0x20 RTA_IFP = 0x10 RTA_NETMASK = 0x4 RTC_IA64 = 0x3 RTC_POWER = 0x1 RTC_POWER_PC = 0x2 RTF_ACTIVE_DGD = 0x1000000 RTF_BCE = 0x80000 RTF_BLACKHOLE = 0x1000 RTF_BROADCAST = 0x400000 RTF_BUL = 0x2000 RTF_CLONE = 0x10000 RTF_CLONED = 0x20000 RTF_CLONING = 0x100 RTF_DONE = 0x40 RTF_DYNAMIC = 0x10 RTF_FREE_IN_PROG = 0x4000000 RTF_GATEWAY = 0x2 RTF_HOST = 0x4 RTF_LLINFO = 0x400 RTF_LOCAL = 0x200000 RTF_MASK = 0x80 RTF_MODIFIED = 0x20 RTF_MULTICAST = 0x800000 RTF_PERMANENT6 = 0x8000000 RTF_PINNED = 0x100000 RTF_PROTO1 = 0x8000 RTF_PROTO2 = 0x4000 RTF_PROTO3 = 0x40000 RTF_REJECT = 0x8 RTF_SMALLMTU = 0x40000 RTF_STATIC = 0x800 RTF_STOPSRCH = 0x2000000 RTF_UNREACHABLE = 0x10000000 RTF_UP = 0x1 RTF_XRESOLVE = 0x200 RTM_ADD = 0x1 RTM_CHANGE = 0x3 RTM_DELADDR = 0xd RTM_DELETE = 0x2 RTM_EXPIRE = 0xf RTM_GET = 0x4 RTM_GETNEXT = 0x11 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_RTLOST = 0x10 RTM_RTTUNIT = 0xf4240 RTM_SAMEADDR = 0x12 RTM_SET = 0x13 RTM_VERSION = 0x2 RTM_VERSION_GR = 0x4 RTM_VERSION_GR_COMPAT = 0x3 RTM_VERSION_POLICY = 0x5 RTM_VERSION_POLICY_EXT = 0x6 RTM_VERSION_POLICY_PRFN = 0x7 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 RUSAGE_THREAD = 0x1 SCM_RIGHTS = 0x1 SHUT_RD = 0x0 SHUT_RDWR = 0x2 SHUT_WR = 0x1 SIGMAX64 = 0xff SIGQUEUE_MAX = 0x20 SIOCADDIFVIPA = 0x20006942 SIOCADDMTU = -0x7ffb9690 SIOCADDMULTI = -0x7fdf96cf SIOCADDNETID = -0x7fd796a9 SIOCADDRT = -0x7fc78df6 SIOCAIFADDR = -0x7fbf96e6 SIOCATMARK = 0x40047307 SIOCDARP = -0x7fb396e0 SIOCDELIFVIPA = 0x20006943 SIOCDELMTU = -0x7ffb968f SIOCDELMULTI = -0x7fdf96ce SIOCDELPMTU = -0x7fd78ff6 SIOCDELRT = -0x7fc78df5 SIOCDIFADDR = -0x7fd796e7 SIOCDNETOPT = -0x3ffe9680 SIOCDX25XLATE = -0x7fd7969b SIOCFIFADDR = -0x7fdf966d SIOCGARP = -0x3fb396da SIOCGETMTUS = 0x2000696f SIOCGETSGCNT = -0x3feb8acc SIOCGETVIFCNT = -0x3feb8acd SIOCGHIWAT = 0x40047301 SIOCGIFADDR = -0x3fd796df SIOCGIFADDRS = 0x2000698c SIOCGIFBAUDRATE = -0x3fdf9669 SIOCGIFBRDADDR = -0x3fd796dd SIOCGIFCONF = -0x3fef96bb SIOCGIFCONFGLOB = -0x3fef9670 SIOCGIFDSTADDR = -0x3fd796de SIOCGIFFLAGS = -0x3fd796ef SIOCGIFGIDLIST = 0x20006968 SIOCGIFHWADDR = -0x3fab966b SIOCGIFMETRIC = -0x3fd796e9 SIOCGIFMTU = -0x3fd796aa SIOCGIFNETMASK = -0x3fd796db SIOCGIFOPTIONS = -0x3fd796d6 SIOCGISNO = -0x3fd79695 SIOCGLOADF = -0x3ffb967e SIOCGLOWAT = 0x40047303 SIOCGNETOPT = -0x3ffe96a5 SIOCGNETOPT1 = -0x3fdf967f SIOCGNMTUS = 0x2000696e SIOCGPGRP = 0x40047309 SIOCGSIZIFCONF = 0x4004696a SIOCGSRCFILTER = -0x3fe796cb SIOCGTUNEPHASE = -0x3ffb9676 SIOCGX25XLATE = -0x3fd7969c SIOCIFATTACH = -0x7fdf9699 SIOCIFDETACH = -0x7fdf969a SIOCIFGETPKEY = -0x7fdf969b SIOCIF_ATM_DARP = -0x7fdf9683 SIOCIF_ATM_DUMPARP = -0x7fdf9685 SIOCIF_ATM_GARP = -0x7fdf9682 SIOCIF_ATM_IDLE = -0x7fdf9686 SIOCIF_ATM_SARP = -0x7fdf9681 SIOCIF_ATM_SNMPARP = -0x7fdf9687 SIOCIF_ATM_SVC = -0x7fdf9684 SIOCIF_ATM_UBR = -0x7fdf9688 SIOCIF_DEVHEALTH = -0x7ffb966c SIOCIF_IB_ARP_INCOMP = -0x7fdf9677 SIOCIF_IB_ARP_TIMER = -0x7fdf9678 SIOCIF_IB_CLEAR_PINFO = -0x3fdf966f SIOCIF_IB_DEL_ARP = -0x7fdf967f SIOCIF_IB_DEL_PINFO = -0x3fdf9670 SIOCIF_IB_DUMP_ARP = -0x7fdf9680 SIOCIF_IB_GET_ARP = -0x7fdf967e SIOCIF_IB_GET_INFO = -0x3f879675 SIOCIF_IB_GET_STATS = -0x3f879672 SIOCIF_IB_NOTIFY_ADDR_REM = -0x3f87966a SIOCIF_IB_RESET_STATS = -0x3f879671 SIOCIF_IB_RESIZE_CQ = -0x7fdf9679 SIOCIF_IB_SET_ARP = -0x7fdf967d SIOCIF_IB_SET_PKEY = -0x7fdf967c SIOCIF_IB_SET_PORT = -0x7fdf967b SIOCIF_IB_SET_QKEY = -0x7fdf9676 SIOCIF_IB_SET_QSIZE = -0x7fdf967a SIOCLISTIFVIPA = 0x20006944 SIOCSARP = -0x7fb396e2 SIOCSHIWAT = 0xffffffff80047300 SIOCSIFADDR = -0x7fd796f4 SIOCSIFADDRORI = -0x7fdb9673 SIOCSIFBRDADDR = -0x7fd796ed SIOCSIFDSTADDR = -0x7fd796f2 SIOCSIFFLAGS = -0x7fd796f0 SIOCSIFGIDLIST = 0x20006969 SIOCSIFMETRIC = -0x7fd796e8 SIOCSIFMTU = -0x7fd796a8 SIOCSIFNETDUMP = -0x7fd796e4 SIOCSIFNETMASK = -0x7fd796ea SIOCSIFOPTIONS = -0x7fd796d7 SIOCSIFSUBCHAN = -0x7fd796e5 SIOCSISNO = -0x7fd79694 SIOCSLOADF = -0x3ffb967d SIOCSLOWAT = 0xffffffff80047302 SIOCSNETOPT = -0x7ffe96a6 SIOCSPGRP = 0xffffffff80047308 SIOCSX25XLATE = -0x7fd7969d SOCK_CONN_DGRAM = 0x6 SOCK_DGRAM = 0x2 SOCK_RAW = 0x3 SOCK_RDM = 0x4 SOCK_SEQPACKET = 0x5 SOCK_STREAM = 0x1 SOL_SOCKET = 0xffff SOMAXCONN = 0x400 SO_ACCEPTCONN = 0x2 SO_AUDIT = 0x8000 SO_BROADCAST = 0x20 SO_CKSUMRECV = 0x800 SO_DEBUG = 0x1 SO_DONTROUTE = 0x10 SO_ERROR = 0x1007 SO_KEEPALIVE = 0x8 SO_KERNACCEPT = 0x2000 SO_LINGER = 0x80 SO_NOMULTIPATH = 0x4000 SO_NOREUSEADDR = 0x1000 SO_OOBINLINE = 0x100 SO_PEERID = 0x1009 SO_RCVBUF = 0x1002 SO_RCVLOWAT = 0x1004 SO_RCVTIMEO = 0x1006 SO_REUSEADDR = 0x4 SO_REUSEPORT = 0x200 SO_SNDBUF = 0x1001 SO_SNDLOWAT = 0x1003 SO_SNDTIMEO = 0x1005 SO_TIMESTAMPNS = 0x100a SO_TYPE = 0x1008 SO_USELOOPBACK = 0x40 SO_USE_IFBUFS = 0x400 S_BANDURG = 0x400 S_EMODFMT = 0x3c000000 S_ENFMT = 0x400 S_ERROR = 0x100 S_HANGUP = 0x200 S_HIPRI = 0x2 S_ICRYPTO = 0x80000 S_IEXEC = 0x40 S_IFBLK = 0x6000 S_IFCHR = 0x2000 S_IFDIR = 0x4000 S_IFIFO = 0x1000 S_IFJOURNAL = 0x10000 S_IFLNK = 0xa000 S_IFMPX = 0x2200 S_IFMT = 0xf000 S_IFPDIR = 0x4000000 S_IFPSDIR = 0x8000000 S_IFPSSDIR = 0xc000000 S_IFREG = 0x8000 S_IFSOCK = 0xc000 S_IFSYSEA = 0x30000000 S_INPUT = 0x1 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_ITCB = 0x1000000 S_ITP = 0x800000 S_IWGRP = 0x10 S_IWOTH = 0x2 S_IWRITE = 0x80 S_IWUSR = 0x80 S_IXACL = 0x2000000 S_IXATTR = 0x40000 S_IXGRP = 0x8 S_IXINTERFACE = 0x100000 S_IXMOD = 0x40000000 S_IXOTH = 0x1 S_IXUSR = 0x40 S_MSG = 0x8 S_OUTPUT = 0x4 S_RDBAND = 0x20 S_RDNORM = 0x10 S_RESERVED1 = 0x20000 S_RESERVED2 = 0x200000 S_RESERVED3 = 0x400000 S_RESERVED4 = 0x80000000 S_RESFMT1 = 0x10000000 S_RESFMT10 = 0x34000000 S_RESFMT11 = 0x38000000 S_RESFMT12 = 0x3c000000 S_RESFMT2 = 0x14000000 S_RESFMT3 = 0x18000000 S_RESFMT4 = 0x1c000000 S_RESFMT5 = 0x20000000 S_RESFMT6 = 0x24000000 S_RESFMT7 = 0x28000000 S_RESFMT8 = 0x2c000000 S_WRBAND = 0x80 S_WRNORM = 0x40 TAB0 = 0x0 TAB1 = 0x400 TAB2 = 0x800 TAB3 = 0xc00 TABDLY = 0xc00 TCFLSH = 0x540c TCGETA = 0x5405 TCGETS = 0x5401 TCIFLUSH = 0x0 TCIOFF = 0x2 TCIOFLUSH = 0x2 TCION = 0x3 TCOFLUSH = 0x1 TCOOFF = 0x0 TCOON = 0x1 TCP_24DAYS_WORTH_OF_SLOWTICKS = 0x3f4800 TCP_ACLADD = 0x23 TCP_ACLBIND = 0x26 TCP_ACLCLEAR = 0x22 TCP_ACLDEL = 0x24 TCP_ACLDENY = 0x8 TCP_ACLFLUSH = 0x21 TCP_ACLGID = 0x1 TCP_ACLLS = 0x25 TCP_ACLSUBNET = 0x4 TCP_ACLUID = 0x2 TCP_CWND_DF = 0x16 TCP_CWND_IF = 0x15 TCP_DELAY_ACK_FIN = 0x2 TCP_DELAY_ACK_SYN = 0x1 TCP_FASTNAME = 0x101080a TCP_KEEPCNT = 0x13 TCP_KEEPIDLE = 0x11 TCP_KEEPINTVL = 0x12 TCP_LSPRIV = 0x29 TCP_LUID = 0x20 TCP_MAXBURST = 0x8 TCP_MAXDF = 0x64 TCP_MAXIF = 0x64 TCP_MAXSEG = 0x2 TCP_MAXWIN = 0xffff TCP_MAXWINDOWSCALE = 0xe TCP_MAX_SACK = 0x4 TCP_MSS = 0x5b4 TCP_NODELAY = 0x1 TCP_NODELAYACK = 0x14 TCP_NOREDUCE_CWND_EXIT_FRXMT = 0x19 TCP_NOREDUCE_CWND_IN_FRXMT = 0x18 TCP_NOTENTER_SSTART = 0x17 TCP_OPT = 0x19 TCP_RFC1323 = 0x4 TCP_SETPRIV = 0x27 TCP_STDURG = 0x10 TCP_TIMESTAMP_OPTLEN = 0xc TCP_UNSETPRIV = 0x28 TCSAFLUSH = 0x2 TCSBRK = 0x5409 TCSETA = 0x5406 TCSETAF = 0x5408 TCSETAW = 0x5407 TCSETS = 0x5402 TCSETSF = 0x5404 TCSETSW = 0x5403 TCXONC = 0x540b TIMER_ABSTIME = 0x3e7 TIMER_MAX = 0x20 TIOC = 0x5400 TIOCCBRK = 0x2000747a TIOCCDTR = 0x20007478 TIOCCONS = 0xffffffff80047462 TIOCEXCL = 0x2000740d TIOCFLUSH = 0xffffffff80047410 TIOCGETC = 0x40067412 TIOCGETD = 0x40047400 TIOCGETP = 0x40067408 TIOCGLTC = 0x40067474 TIOCGPGRP = 0x40047477 TIOCGSID = 0x40047448 TIOCGSIZE = 0x40087468 TIOCGWINSZ = 0x40087468 TIOCHPCL = 0x20007402 TIOCLBIC = 0xffffffff8004747e TIOCLBIS = 0xffffffff8004747f TIOCLGET = 0x4004747c TIOCLSET = 0xffffffff8004747d TIOCMBIC = 0xffffffff8004746b TIOCMBIS = 0xffffffff8004746c TIOCMGET = 0x4004746a TIOCMIWAIT = 0xffffffff80047464 TIOCMODG = 0x40047403 TIOCMODS = 0xffffffff80047404 TIOCMSET = 0xffffffff8004746d 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 = 0xffffffff80047470 TIOCPKT_DATA = 0x0 TIOCPKT_DOSTOP = 0x20 TIOCPKT_FLUSHREAD = 0x1 TIOCPKT_FLUSHWRITE = 0x2 TIOCPKT_NOSTOP = 0x10 TIOCPKT_START = 0x8 TIOCPKT_STOP = 0x4 TIOCREMOTE = 0xffffffff80047469 TIOCSBRK = 0x2000747b TIOCSDTR = 0x20007479 TIOCSETC = 0xffffffff80067411 TIOCSETD = 0xffffffff80047401 TIOCSETN = 0xffffffff8006740a TIOCSETP = 0xffffffff80067409 TIOCSLTC = 0xffffffff80067475 TIOCSPGRP = 0xffffffff80047476 TIOCSSIZE = 0xffffffff80087467 TIOCSTART = 0x2000746e TIOCSTI = 0xffffffff80017472 TIOCSTOP = 0x2000746f TIOCSWINSZ = 0xffffffff80087467 TIOCUCNTL = 0xffffffff80047466 TOSTOP = 0x10000 UTIME_NOW = -0x2 UTIME_OMIT = -0x3 VDISCRD = 0xc VDSUSP = 0xa VEOF = 0x4 VEOL = 0x5 VEOL2 = 0x6 VERASE = 0x2 VINTR = 0x0 VKILL = 0x3 VLNEXT = 0xe VMIN = 0x4 VQUIT = 0x1 VREPRINT = 0xb VSTART = 0x7 VSTOP = 0x8 VSTRT = 0x7 VSUSP = 0x9 VT0 = 0x0 VT1 = 0x8000 VTDELAY = 0x2000 VTDLY = 0x8000 VTIME = 0x5 VWERSE = 0xd WPARSTART = 0x1 WPARSTOP = 0x2 WPARTTYNAME = "Global" XCASE = 0x4 XTABS = 0xc00 _FDATAFLUSH = 0x2000000000 ) // Errors const ( E2BIG = syscall.Errno(0x7) EACCES = syscall.Errno(0xd) EADDRINUSE = syscall.Errno(0x43) EADDRNOTAVAIL = syscall.Errno(0x44) EAFNOSUPPORT = syscall.Errno(0x42) EAGAIN = syscall.Errno(0xb) EALREADY = syscall.Errno(0x38) EBADF = syscall.Errno(0x9) EBADMSG = syscall.Errno(0x78) EBUSY = syscall.Errno(0x10) ECANCELED = syscall.Errno(0x75) ECHILD = syscall.Errno(0xa) ECHRNG = syscall.Errno(0x25) ECLONEME = syscall.Errno(0x52) ECONNABORTED = syscall.Errno(0x48) ECONNREFUSED = syscall.Errno(0x4f) ECONNRESET = syscall.Errno(0x49) ECORRUPT = syscall.Errno(0x59) EDEADLK = syscall.Errno(0x2d) EDESTADDREQ = syscall.Errno(0x3a) EDESTADDRREQ = syscall.Errno(0x3a) EDIST = syscall.Errno(0x35) EDOM = syscall.Errno(0x21) EDQUOT = syscall.Errno(0x58) EEXIST = syscall.Errno(0x11) EFAULT = syscall.Errno(0xe) EFBIG = syscall.Errno(0x1b) EFORMAT = syscall.Errno(0x30) EHOSTDOWN = syscall.Errno(0x50) EHOSTUNREACH = syscall.Errno(0x51) EIDRM = syscall.Errno(0x24) EILSEQ = syscall.Errno(0x74) EINPROGRESS = syscall.Errno(0x37) EINTR = syscall.Errno(0x4) EINVAL = syscall.Errno(0x16) EIO = syscall.Errno(0x5) EISCONN = syscall.Errno(0x4b) EISDIR = syscall.Errno(0x15) EL2HLT = syscall.Errno(0x2c) EL2NSYNC = syscall.Errno(0x26) EL3HLT = syscall.Errno(0x27) EL3RST = syscall.Errno(0x28) ELNRNG = syscall.Errno(0x29) ELOOP = syscall.Errno(0x55) EMEDIA = syscall.Errno(0x6e) EMFILE = syscall.Errno(0x18) EMLINK = syscall.Errno(0x1f) EMSGSIZE = syscall.Errno(0x3b) EMULTIHOP = syscall.Errno(0x7d) ENAMETOOLONG = syscall.Errno(0x56) ENETDOWN = syscall.Errno(0x45) ENETRESET = syscall.Errno(0x47) ENETUNREACH = syscall.Errno(0x46) ENFILE = syscall.Errno(0x17) ENOATTR = syscall.Errno(0x70) ENOBUFS = syscall.Errno(0x4a) ENOCONNECT = syscall.Errno(0x32) ENOCSI = syscall.Errno(0x2b) ENODATA = syscall.Errno(0x7a) ENODEV = syscall.Errno(0x13) ENOENT = syscall.Errno(0x2) ENOEXEC = syscall.Errno(0x8) ENOLCK = syscall.Errno(0x31) ENOLINK = syscall.Errno(0x7e) ENOMEM = syscall.Errno(0xc) ENOMSG = syscall.Errno(0x23) ENOPROTOOPT = syscall.Errno(0x3d) ENOSPC = syscall.Errno(0x1c) ENOSR = syscall.Errno(0x76) ENOSTR = syscall.Errno(0x7b) ENOSYS = syscall.Errno(0x6d) ENOTBLK = syscall.Errno(0xf) ENOTCONN = syscall.Errno(0x4c) ENOTDIR = syscall.Errno(0x14) ENOTEMPTY = syscall.Errno(0x11) ENOTREADY = syscall.Errno(0x2e) ENOTRECOVERABLE = syscall.Errno(0x5e) ENOTRUST = syscall.Errno(0x72) ENOTSOCK = syscall.Errno(0x39) ENOTSUP = syscall.Errno(0x7c) ENOTTY = syscall.Errno(0x19) ENXIO = syscall.Errno(0x6) EOPNOTSUPP = syscall.Errno(0x40) EOVERFLOW = syscall.Errno(0x7f) EOWNERDEAD = syscall.Errno(0x5f) EPERM = syscall.Errno(0x1) EPFNOSUPPORT = syscall.Errno(0x41) EPIPE = syscall.Errno(0x20) EPROCLIM = syscall.Errno(0x53) EPROTO = syscall.Errno(0x79) EPROTONOSUPPORT = syscall.Errno(0x3e) EPROTOTYPE = syscall.Errno(0x3c) ERANGE = syscall.Errno(0x22) EREMOTE = syscall.Errno(0x5d) ERESTART = syscall.Errno(0x52) EROFS = syscall.Errno(0x1e) ESAD = syscall.Errno(0x71) ESHUTDOWN = syscall.Errno(0x4d) ESOCKTNOSUPPORT = syscall.Errno(0x3f) ESOFT = syscall.Errno(0x6f) ESPIPE = syscall.Errno(0x1d) ESRCH = syscall.Errno(0x3) ESTALE = syscall.Errno(0x34) ESYSERROR = syscall.Errno(0x5a) ETIME = syscall.Errno(0x77) ETIMEDOUT = syscall.Errno(0x4e) ETOOMANYREFS = syscall.Errno(0x73) ETXTBSY = syscall.Errno(0x1a) EUNATCH = syscall.Errno(0x2a) EUSERS = syscall.Errno(0x54) EWOULDBLOCK = syscall.Errno(0xb) EWRPROTECT = syscall.Errno(0x2f) EXDEV = syscall.Errno(0x12) ) // Signals const ( SIGABRT = syscall.Signal(0x6) SIGAIO = syscall.Signal(0x17) SIGALRM = syscall.Signal(0xe) SIGALRM1 = syscall.Signal(0x26) SIGBUS = syscall.Signal(0xa) SIGCAPI = syscall.Signal(0x31) SIGCHLD = syscall.Signal(0x14) SIGCLD = syscall.Signal(0x14) SIGCONT = syscall.Signal(0x13) SIGCPUFAIL = syscall.Signal(0x3b) SIGDANGER = syscall.Signal(0x21) SIGEMT = syscall.Signal(0x7) SIGFPE = syscall.Signal(0x8) SIGGRANT = syscall.Signal(0x3c) SIGHUP = syscall.Signal(0x1) SIGILL = syscall.Signal(0x4) SIGINT = syscall.Signal(0x2) SIGIO = syscall.Signal(0x17) SIGIOINT = syscall.Signal(0x10) SIGIOT = syscall.Signal(0x6) SIGKAP = syscall.Signal(0x3c) SIGKILL = syscall.Signal(0x9) SIGLOST = syscall.Signal(0x6) SIGMAX = syscall.Signal(0xff) SIGMAX32 = syscall.Signal(0x3f) SIGMIGRATE = syscall.Signal(0x23) SIGMSG = syscall.Signal(0x1b) SIGPIPE = syscall.Signal(0xd) SIGPOLL = syscall.Signal(0x17) SIGPRE = syscall.Signal(0x24) SIGPROF = syscall.Signal(0x20) SIGPTY = syscall.Signal(0x17) SIGPWR = syscall.Signal(0x1d) SIGQUIT = syscall.Signal(0x3) SIGRECONFIG = syscall.Signal(0x3a) SIGRETRACT = syscall.Signal(0x3d) SIGSAK = syscall.Signal(0x3f) SIGSEGV = syscall.Signal(0xb) SIGSOUND = syscall.Signal(0x3e) SIGSTOP = syscall.Signal(0x11) SIGSYS = syscall.Signal(0xc) SIGSYSERROR = syscall.Signal(0x30) SIGTALRM = syscall.Signal(0x26) 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) SIGVIRT = syscall.Signal(0x25) SIGVTALRM = syscall.Signal(0x22) SIGWAITING = syscall.Signal(0x27) SIGWINCH = syscall.Signal(0x1c) SIGXCPU = syscall.Signal(0x18) SIGXFSZ = syscall.Signal(0x19) ) // Error table var errorList = [...]struct { num syscall.Errno name string desc string }{ {1, "EPERM", "not owner"}, {2, "ENOENT", "no such file or directory"}, {3, "ESRCH", "no such process"}, {4, "EINTR", "interrupted system call"}, {5, "EIO", "I/O error"}, {6, "ENXIO", "no such device or address"}, {7, "E2BIG", "arg list too long"}, {8, "ENOEXEC", "exec format error"}, {9, "EBADF", "bad file number"}, {10, "ECHILD", "no child processes"}, {11, "EWOULDBLOCK", "resource temporarily unavailable"}, {12, "ENOMEM", "not enough space"}, {13, "EACCES", "permission denied"}, {14, "EFAULT", "bad address"}, {15, "ENOTBLK", "block device required"}, {16, "EBUSY", "device busy"}, {17, "ENOTEMPTY", "file exists"}, {18, "EXDEV", "cross-device link"}, {19, "ENODEV", "no such device"}, {20, "ENOTDIR", "not a directory"}, {21, "EISDIR", "is a directory"}, {22, "EINVAL", "invalid argument"}, {23, "ENFILE", "file table overflow"}, {24, "EMFILE", "too many open files"}, {25, "ENOTTY", "not a typewriter"}, {26, "ETXTBSY", "text file busy"}, {27, "EFBIG", "file too large"}, {28, "ENOSPC", "no space left on device"}, {29, "ESPIPE", "illegal seek"}, {30, "EROFS", "read-only file system"}, {31, "EMLINK", "too many links"}, {32, "EPIPE", "broken pipe"}, {33, "EDOM", "argument out of domain"}, {34, "ERANGE", "result too large"}, {35, "ENOMSG", "no message of desired type"}, {36, "EIDRM", "identifier removed"}, {37, "ECHRNG", "channel number out of range"}, {38, "EL2NSYNC", "level 2 not synchronized"}, {39, "EL3HLT", "level 3 halted"}, {40, "EL3RST", "level 3 reset"}, {41, "ELNRNG", "link number out of range"}, {42, "EUNATCH", "protocol driver not attached"}, {43, "ENOCSI", "no CSI structure available"}, {44, "EL2HLT", "level 2 halted"}, {45, "EDEADLK", "deadlock condition if locked"}, {46, "ENOTREADY", "device not ready"}, {47, "EWRPROTECT", "write-protected media"}, {48, "EFORMAT", "unformatted or incompatible media"}, {49, "ENOLCK", "no locks available"}, {50, "ENOCONNECT", "cannot Establish Connection"}, {52, "ESTALE", "missing file or filesystem"}, {53, "EDIST", "requests blocked by Administrator"}, {55, "EINPROGRESS", "operation now in progress"}, {56, "EALREADY", "operation already in progress"}, {57, "ENOTSOCK", "socket operation on non-socket"}, {58, "EDESTADDREQ", "destination address required"}, {59, "EMSGSIZE", "message too long"}, {60, "EPROTOTYPE", "protocol wrong type for socket"}, {61, "ENOPROTOOPT", "protocol not available"}, {62, "EPROTONOSUPPORT", "protocol not supported"}, {63, "ESOCKTNOSUPPORT", "socket type not supported"}, {64, "EOPNOTSUPP", "operation not supported on socket"}, {65, "EPFNOSUPPORT", "protocol family not supported"}, {66, "EAFNOSUPPORT", "addr family not supported by protocol"}, {67, "EADDRINUSE", "address already in use"}, {68, "EADDRNOTAVAIL", "can't assign requested address"}, {69, "ENETDOWN", "network is down"}, {70, "ENETUNREACH", "network is unreachable"}, {71, "ENETRESET", "network dropped connection on reset"}, {72, "ECONNABORTED", "software caused connection abort"}, {73, "ECONNRESET", "connection reset by peer"}, {74, "ENOBUFS", "no buffer space available"}, {75, "EISCONN", "socket is already connected"}, {76, "ENOTCONN", "socket is not connected"}, {77, "ESHUTDOWN", "can't send after socket shutdown"}, {78, "ETIMEDOUT", "connection timed out"}, {79, "ECONNREFUSED", "connection refused"}, {80, "EHOSTDOWN", "host is down"}, {81, "EHOSTUNREACH", "no route to host"}, {82, "ERESTART", "restart the system call"}, {83, "EPROCLIM", "too many processes"}, {84, "EUSERS", "too many users"}, {85, "ELOOP", "too many levels of symbolic links"}, {86, "ENAMETOOLONG", "file name too long"}, {88, "EDQUOT", "disk quota exceeded"}, {89, "ECORRUPT", "invalid file system control data detected"}, {90, "ESYSERROR", "for future use "}, {93, "EREMOTE", "item is not local to host"}, {94, "ENOTRECOVERABLE", "state not recoverable "}, {95, "EOWNERDEAD", "previous owner died "}, {109, "ENOSYS", "function not implemented"}, {110, "EMEDIA", "media surface error"}, {111, "ESOFT", "I/O completed, but needs relocation"}, {112, "ENOATTR", "no attribute found"}, {113, "ESAD", "security Authentication Denied"}, {114, "ENOTRUST", "not a Trusted Program"}, {115, "ETOOMANYREFS", "too many references: can't splice"}, {116, "EILSEQ", "invalid wide character"}, {117, "ECANCELED", "asynchronous I/O cancelled"}, {118, "ENOSR", "out of STREAMS resources"}, {119, "ETIME", "system call timed out"}, {120, "EBADMSG", "next message has wrong type"}, {121, "EPROTO", "error in protocol"}, {122, "ENODATA", "no message on stream head read q"}, {123, "ENOSTR", "fd not associated with a stream"}, {124, "ENOTSUP", "unsupported attribute value"}, {125, "EMULTIHOP", "multihop is not allowed"}, {126, "ENOLINK", "the server link has been severed"}, {127, "EOVERFLOW", "value too large to be stored in data type"}, } // Signal table var signalList = [...]struct { num syscall.Signal name string desc string }{ {1, "SIGHUP", "hangup"}, {2, "SIGINT", "interrupt"}, {3, "SIGQUIT", "quit"}, {4, "SIGILL", "illegal instruction"}, {5, "SIGTRAP", "trace/BPT trap"}, {6, "SIGIOT", "IOT/Abort trap"}, {7, "SIGEMT", "EMT trap"}, {8, "SIGFPE", "floating point exception"}, {9, "SIGKILL", "killed"}, {10, "SIGBUS", "bus error"}, {11, "SIGSEGV", "segmentation fault"}, {12, "SIGSYS", "bad system call"}, {13, "SIGPIPE", "broken pipe"}, {14, "SIGALRM", "alarm clock"}, {15, "SIGTERM", "terminated"}, {16, "SIGURG", "urgent I/O condition"}, {17, "SIGSTOP", "stopped (signal)"}, {18, "SIGTSTP", "stopped"}, {19, "SIGCONT", "continued"}, {20, "SIGCHLD", "child exited"}, {21, "SIGTTIN", "stopped (tty input)"}, {22, "SIGTTOU", "stopped (tty output)"}, {23, "SIGIO", "I/O possible/complete"}, {24, "SIGXCPU", "cputime limit exceeded"}, {25, "SIGXFSZ", "filesize limit exceeded"}, {27, "SIGMSG", "input device data"}, {28, "SIGWINCH", "window size changes"}, {29, "SIGPWR", "power-failure"}, {30, "SIGUSR1", "user defined signal 1"}, {31, "SIGUSR2", "user defined signal 2"}, {32, "SIGPROF", "profiling timer expired"}, {33, "SIGDANGER", "paging space low"}, {34, "SIGVTALRM", "virtual timer expired"}, {35, "SIGMIGRATE", "signal 35"}, {36, "SIGPRE", "signal 36"}, {37, "SIGVIRT", "signal 37"}, {38, "SIGTALRM", "signal 38"}, {39, "SIGWAITING", "signal 39"}, {48, "SIGSYSERROR", "signal 48"}, {49, "SIGCAPI", "signal 49"}, {58, "SIGRECONFIG", "signal 58"}, {59, "SIGCPUFAIL", "CPU Failure Predicted"}, {60, "SIGGRANT", "monitor mode granted"}, {61, "SIGRETRACT", "monitor mode retracted"}, {62, "SIGSOUND", "sound completed"}, {63, "SIGMAX32", "secure attention"}, {255, "SIGMAX", "signal 255"}, } dependencies/pkg/mod/golang.org/x/sys@v0.26.0/unix/zerrors_linux_ppc64.go0000644000000000000000000011240115107355264025100 0ustar rootroot// mkerrors.sh -Wall -Werror -static -I/tmp/ppc64/include // Code generated by the command above; see README.md. DO NOT EDIT. //go:build ppc64 && linux // Code generated by cmd/cgo -godefs; DO NOT EDIT. // cgo -godefs -- -Wall -Werror -static -I/tmp/ppc64/include _const.go package unix import "syscall" const ( B1000000 = 0x17 B115200 = 0x11 B1152000 = 0x18 B1500000 = 0x19 B2000000 = 0x1a B230400 = 0x12 B2500000 = 0x1b B3000000 = 0x1c B3500000 = 0x1d B4000000 = 0x1e B460800 = 0x13 B500000 = 0x14 B57600 = 0x10 B576000 = 0x15 B921600 = 0x16 BLKALIGNOFF = 0x2000127a BLKBSZGET = 0x40081270 BLKBSZSET = 0x80081271 BLKDISCARD = 0x20001277 BLKDISCARDZEROES = 0x2000127c BLKFLSBUF = 0x20001261 BLKFRAGET = 0x20001265 BLKFRASET = 0x20001264 BLKGETDISKSEQ = 0x40081280 BLKGETSIZE = 0x20001260 BLKGETSIZE64 = 0x40081272 BLKIOMIN = 0x20001278 BLKIOOPT = 0x20001279 BLKPBSZGET = 0x2000127b BLKRAGET = 0x20001263 BLKRASET = 0x20001262 BLKROGET = 0x2000125e BLKROSET = 0x2000125d BLKROTATIONAL = 0x2000127e BLKRRPART = 0x2000125f BLKSECDISCARD = 0x2000127d BLKSECTGET = 0x20001267 BLKSECTSET = 0x20001266 BLKSSZGET = 0x20001268 BLKZEROOUT = 0x2000127f BOTHER = 0x1f BS1 = 0x8000 BSDLY = 0x8000 CBAUD = 0xff CBAUDEX = 0x0 CIBAUD = 0xff0000 CLOCAL = 0x8000 CR1 = 0x1000 CR2 = 0x2000 CR3 = 0x3000 CRDLY = 0x3000 CREAD = 0x800 CS6 = 0x100 CS7 = 0x200 CS8 = 0x300 CSIZE = 0x300 CSTOPB = 0x400 ECCGETLAYOUT = 0x41484d11 ECCGETSTATS = 0x40104d12 ECHOCTL = 0x40 ECHOE = 0x2 ECHOK = 0x4 ECHOKE = 0x1 ECHONL = 0x10 ECHOPRT = 0x20 EFD_CLOEXEC = 0x80000 EFD_NONBLOCK = 0x800 EPIOCGPARAMS = 0x40088a02 EPIOCSPARAMS = 0x80088a01 EPOLL_CLOEXEC = 0x80000 EXTPROC = 0x10000000 FF1 = 0x4000 FFDLY = 0x4000 FICLONE = 0x80049409 FICLONERANGE = 0x8020940d FLUSHO = 0x800000 FS_IOC_ENABLE_VERITY = 0x80806685 FS_IOC_GETFLAGS = 0x40086601 FS_IOC_GET_ENCRYPTION_NONCE = 0x4010661b FS_IOC_GET_ENCRYPTION_POLICY = 0x800c6615 FS_IOC_GET_ENCRYPTION_PWSALT = 0x80106614 FS_IOC_SETFLAGS = 0x80086602 FS_IOC_SET_ENCRYPTION_POLICY = 0x400c6613 F_GETLK = 0x5 F_GETLK64 = 0xc F_GETOWN = 0x9 F_RDLCK = 0x0 F_SETLK = 0x6 F_SETLK64 = 0xd F_SETLKW = 0x7 F_SETLKW64 = 0xe F_SETOWN = 0x8 F_UNLCK = 0x2 F_WRLCK = 0x1 HIDIOCGRAWINFO = 0x40084803 HIDIOCGRDESC = 0x50044802 HIDIOCGRDESCSIZE = 0x40044801 HUPCL = 0x4000 ICANON = 0x100 IEXTEN = 0x400 IN_CLOEXEC = 0x80000 IN_NONBLOCK = 0x800 IOCTL_VM_SOCKETS_GET_LOCAL_CID = 0x200007b9 ISIG = 0x80 IUCLC = 0x1000 IXOFF = 0x400 IXON = 0x200 MAP_ANON = 0x20 MAP_ANONYMOUS = 0x20 MAP_DENYWRITE = 0x800 MAP_EXECUTABLE = 0x1000 MAP_GROWSDOWN = 0x100 MAP_HUGETLB = 0x40000 MAP_LOCKED = 0x80 MAP_NONBLOCK = 0x10000 MAP_NORESERVE = 0x40 MAP_POPULATE = 0x8000 MAP_STACK = 0x20000 MAP_SYNC = 0x80000 MCL_CURRENT = 0x2000 MCL_FUTURE = 0x4000 MCL_ONFAULT = 0x8000 MEMERASE = 0x80084d02 MEMERASE64 = 0x80104d14 MEMGETBADBLOCK = 0x80084d0b MEMGETINFO = 0x40204d01 MEMGETOOBSEL = 0x40c84d0a MEMGETREGIONCOUNT = 0x40044d07 MEMISLOCKED = 0x40084d17 MEMLOCK = 0x80084d05 MEMREAD = 0xc0404d1a MEMREADOOB = 0xc0104d04 MEMSETBADBLOCK = 0x80084d0c MEMUNLOCK = 0x80084d06 MEMWRITEOOB = 0xc0104d03 MTDFILEMODE = 0x20004d13 NFDBITS = 0x40 NL2 = 0x200 NL3 = 0x300 NLDLY = 0x300 NOFLSH = 0x80000000 NS_GET_MNTNS_ID = 0x4008b705 NS_GET_NSTYPE = 0x2000b703 NS_GET_OWNER_UID = 0x2000b704 NS_GET_PARENT = 0x2000b702 NS_GET_PID_FROM_PIDNS = 0x4004b706 NS_GET_PID_IN_PIDNS = 0x4004b708 NS_GET_TGID_FROM_PIDNS = 0x4004b707 NS_GET_TGID_IN_PIDNS = 0x4004b709 NS_GET_USERNS = 0x2000b701 OLCUC = 0x4 ONLCR = 0x2 OTPERASE = 0x800c4d19 OTPGETREGIONCOUNT = 0x80044d0e OTPGETREGIONINFO = 0x800c4d0f OTPLOCK = 0x400c4d10 OTPSELECT = 0x40044d0d 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_RSYNC = 0x101000 O_SYNC = 0x101000 O_TMPFILE = 0x404000 O_TRUNC = 0x200 PARENB = 0x1000 PARODD = 0x2000 PENDIN = 0x20000000 PERF_EVENT_IOC_DISABLE = 0x20002401 PERF_EVENT_IOC_ENABLE = 0x20002400 PERF_EVENT_IOC_ID = 0x40082407 PERF_EVENT_IOC_MODIFY_ATTRIBUTES = 0x8008240b PERF_EVENT_IOC_PAUSE_OUTPUT = 0x80042409 PERF_EVENT_IOC_PERIOD = 0x80082404 PERF_EVENT_IOC_QUERY_BPF = 0xc008240a PERF_EVENT_IOC_REFRESH = 0x20002402 PERF_EVENT_IOC_RESET = 0x20002403 PERF_EVENT_IOC_SET_BPF = 0x80042408 PERF_EVENT_IOC_SET_FILTER = 0x80082406 PERF_EVENT_IOC_SET_OUTPUT = 0x20002405 PPPIOCATTACH = 0x8004743d PPPIOCATTCHAN = 0x80047438 PPPIOCBRIDGECHAN = 0x80047435 PPPIOCCONNECT = 0x8004743a PPPIOCDETACH = 0x8004743c PPPIOCDISCONN = 0x20007439 PPPIOCGASYNCMAP = 0x40047458 PPPIOCGCHAN = 0x40047437 PPPIOCGDEBUG = 0x40047441 PPPIOCGFLAGS = 0x4004745a PPPIOCGIDLE = 0x4010743f PPPIOCGIDLE32 = 0x4008743f PPPIOCGIDLE64 = 0x4010743f PPPIOCGL2TPSTATS = 0x40487436 PPPIOCGMRU = 0x40047453 PPPIOCGRASYNCMAP = 0x40047455 PPPIOCGUNIT = 0x40047456 PPPIOCGXASYNCMAP = 0x40207450 PPPIOCSACTIVE = 0x80107446 PPPIOCSASYNCMAP = 0x80047457 PPPIOCSCOMPRESS = 0x8010744d PPPIOCSDEBUG = 0x80047440 PPPIOCSFLAGS = 0x80047459 PPPIOCSMAXCID = 0x80047451 PPPIOCSMRRU = 0x8004743b PPPIOCSMRU = 0x80047452 PPPIOCSNPMODE = 0x8008744b PPPIOCSPASS = 0x80107447 PPPIOCSRASYNCMAP = 0x80047454 PPPIOCSXASYNCMAP = 0x8020744f PPPIOCUNBRIDGECHAN = 0x20007434 PPPIOCXFERUNIT = 0x2000744e PROT_SAO = 0x10 PR_SET_PTRACER_ANY = 0xffffffffffffffff PTRACE_GETEVRREGS = 0x14 PTRACE_GETFPREGS = 0xe PTRACE_GETREGS64 = 0x16 PTRACE_GETVRREGS = 0x12 PTRACE_GETVSRREGS = 0x1b PTRACE_GET_DEBUGREG = 0x19 PTRACE_SETEVRREGS = 0x15 PTRACE_SETFPREGS = 0xf PTRACE_SETREGS64 = 0x17 PTRACE_SETVRREGS = 0x13 PTRACE_SETVSRREGS = 0x1c PTRACE_SET_DEBUGREG = 0x1a PTRACE_SINGLEBLOCK = 0x100 PTRACE_SYSEMU = 0x1d PTRACE_SYSEMU_SINGLESTEP = 0x1e 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_MEMLOCK = 0x8 RLIMIT_NOFILE = 0x7 RLIMIT_NPROC = 0x6 RLIMIT_RSS = 0x5 RNDADDENTROPY = 0x80085203 RNDADDTOENTCNT = 0x80045201 RNDCLEARPOOL = 0x20005206 RNDGETENTCNT = 0x40045200 RNDGETPOOL = 0x40085202 RNDRESEEDCRNG = 0x20005207 RNDZAPENTCNT = 0x20005204 RTC_AIE_OFF = 0x20007002 RTC_AIE_ON = 0x20007001 RTC_ALM_READ = 0x40247008 RTC_ALM_SET = 0x80247007 RTC_EPOCH_READ = 0x4008700d RTC_EPOCH_SET = 0x8008700e RTC_IRQP_READ = 0x4008700b RTC_IRQP_SET = 0x8008700c RTC_PARAM_GET = 0x80187013 RTC_PARAM_SET = 0x80187014 RTC_PIE_OFF = 0x20007006 RTC_PIE_ON = 0x20007005 RTC_PLL_GET = 0x40207011 RTC_PLL_SET = 0x80207012 RTC_RD_TIME = 0x40247009 RTC_SET_TIME = 0x8024700a RTC_UIE_OFF = 0x20007004 RTC_UIE_ON = 0x20007003 RTC_VL_CLR = 0x20007014 RTC_VL_READ = 0x40047013 RTC_WIE_OFF = 0x20007010 RTC_WIE_ON = 0x2000700f RTC_WKALM_RD = 0x40287010 RTC_WKALM_SET = 0x8028700f SCM_TIMESTAMPING = 0x25 SCM_TIMESTAMPING_OPT_STATS = 0x36 SCM_TIMESTAMPING_PKTINFO = 0x3a SCM_TIMESTAMPNS = 0x23 SCM_TXTIME = 0x3d SCM_WIFI_STATUS = 0x29 SECCOMP_IOCTL_NOTIF_ADDFD = 0x80182103 SECCOMP_IOCTL_NOTIF_ID_VALID = 0x80082102 SECCOMP_IOCTL_NOTIF_SET_FLAGS = 0x80082104 SFD_CLOEXEC = 0x80000 SFD_NONBLOCK = 0x800 SIOCATMARK = 0x8905 SIOCGPGRP = 0x8904 SIOCGSTAMPNS_NEW = 0x40108907 SIOCGSTAMP_NEW = 0x40108906 SIOCINQ = 0x4004667f SIOCOUTQ = 0x40047473 SIOCSPGRP = 0x8902 SOCK_CLOEXEC = 0x80000 SOCK_DGRAM = 0x2 SOCK_NONBLOCK = 0x800 SOCK_STREAM = 0x1 SOL_SOCKET = 0x1 SO_ACCEPTCONN = 0x1e SO_ATTACH_BPF = 0x32 SO_ATTACH_REUSEPORT_CBPF = 0x33 SO_ATTACH_REUSEPORT_EBPF = 0x34 SO_BINDTODEVICE = 0x19 SO_BINDTOIFINDEX = 0x3e SO_BPF_EXTENSIONS = 0x30 SO_BROADCAST = 0x6 SO_BSDCOMPAT = 0xe SO_BUF_LOCK = 0x48 SO_BUSY_POLL = 0x2e SO_BUSY_POLL_BUDGET = 0x46 SO_CNX_ADVICE = 0x35 SO_COOKIE = 0x39 SO_DETACH_REUSEPORT_BPF = 0x44 SO_DOMAIN = 0x27 SO_DONTROUTE = 0x5 SO_ERROR = 0x4 SO_INCOMING_CPU = 0x31 SO_INCOMING_NAPI_ID = 0x38 SO_KEEPALIVE = 0x9 SO_LINGER = 0xd SO_LOCK_FILTER = 0x2c SO_MARK = 0x24 SO_MAX_PACING_RATE = 0x2f SO_MEMINFO = 0x37 SO_NETNS_COOKIE = 0x47 SO_NOFCS = 0x2b SO_OOBINLINE = 0xa SO_PASSCRED = 0x14 SO_PASSPIDFD = 0x4c SO_PASSSEC = 0x22 SO_PEEK_OFF = 0x2a SO_PEERCRED = 0x15 SO_PEERGROUPS = 0x3b SO_PEERPIDFD = 0x4d SO_PEERSEC = 0x1f SO_PREFER_BUSY_POLL = 0x45 SO_PROTOCOL = 0x26 SO_RCVBUF = 0x8 SO_RCVBUFFORCE = 0x21 SO_RCVLOWAT = 0x10 SO_RCVMARK = 0x4b SO_RCVTIMEO = 0x12 SO_RCVTIMEO_NEW = 0x42 SO_RCVTIMEO_OLD = 0x12 SO_RESERVE_MEM = 0x49 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_SNDTIMEO_NEW = 0x43 SO_SNDTIMEO_OLD = 0x13 SO_TIMESTAMPING = 0x25 SO_TIMESTAMPING_NEW = 0x41 SO_TIMESTAMPING_OLD = 0x25 SO_TIMESTAMPNS = 0x23 SO_TIMESTAMPNS_NEW = 0x40 SO_TIMESTAMPNS_OLD = 0x23 SO_TIMESTAMP_NEW = 0x3f SO_TXREHASH = 0x4a SO_TXTIME = 0x3d SO_TYPE = 0x3 SO_WIFI_STATUS = 0x29 SO_ZEROCOPY = 0x3c TAB1 = 0x400 TAB2 = 0x800 TAB3 = 0xc00 TABDLY = 0xc00 TCFLSH = 0x2000741f TCGETA = 0x40147417 TCGETS = 0x402c7413 TCSAFLUSH = 0x2 TCSBRK = 0x2000741d TCSBRKP = 0x5425 TCSETA = 0x80147418 TCSETAF = 0x8014741c TCSETAW = 0x80147419 TCSETS = 0x802c7414 TCSETSF = 0x802c7416 TCSETSW = 0x802c7415 TCXONC = 0x2000741e TFD_CLOEXEC = 0x80000 TFD_NONBLOCK = 0x800 TIOCCBRK = 0x5428 TIOCCONS = 0x541d TIOCEXCL = 0x540c TIOCGDEV = 0x40045432 TIOCGETC = 0x40067412 TIOCGETD = 0x5424 TIOCGETP = 0x40067408 TIOCGEXCL = 0x40045440 TIOCGICOUNT = 0x545d TIOCGISO7816 = 0x40285442 TIOCGLCKTRMIOS = 0x5456 TIOCGLTC = 0x40067474 TIOCGPGRP = 0x40047477 TIOCGPKT = 0x40045438 TIOCGPTLCK = 0x40045439 TIOCGPTN = 0x40045430 TIOCGPTPEER = 0x20005441 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_LOOP = 0x8000 TIOCM_OUT1 = 0x2000 TIOCM_OUT2 = 0x4000 TIOCM_RI = 0x80 TIOCM_RNG = 0x80 TIOCM_SR = 0x10 TIOCM_ST = 0x8 TIOCNOTTY = 0x5422 TIOCNXCL = 0x540d TIOCOUTQ = 0x40047473 TIOCPKT = 0x5420 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 TIOCSISO7816 = 0xc0285443 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 TUNGETDEVNETNS = 0x200054e3 TUNGETFEATURES = 0x400454cf TUNGETFILTER = 0x401054db TUNGETIFF = 0x400454d2 TUNGETSNDBUF = 0x400454d3 TUNGETVNETBE = 0x400454df TUNGETVNETHDRSZ = 0x400454d7 TUNGETVNETLE = 0x400454dd TUNSETCARRIER = 0x800454e2 TUNSETDEBUG = 0x800454c9 TUNSETFILTEREBPF = 0x400454e1 TUNSETGROUP = 0x800454ce TUNSETIFF = 0x800454ca TUNSETIFINDEX = 0x800454da TUNSETLINK = 0x800454cd TUNSETNOCSUM = 0x800454c8 TUNSETOFFLOAD = 0x800454d0 TUNSETOWNER = 0x800454cc TUNSETPERSIST = 0x800454cb TUNSETQUEUE = 0x800454d9 TUNSETSNDBUF = 0x800454d4 TUNSETSTEERINGEBPF = 0x400454e0 TUNSETTXFILTER = 0x800454d1 TUNSETVNETBE = 0x800454de TUNSETVNETHDRSZ = 0x800454d8 TUNSETVNETLE = 0x800454dc UBI_IOCATT = 0x80186f40 UBI_IOCDET = 0x80046f41 UBI_IOCEBCH = 0x80044f02 UBI_IOCEBER = 0x80044f01 UBI_IOCEBISMAP = 0x40044f05 UBI_IOCEBMAP = 0x80084f03 UBI_IOCEBUNMAP = 0x80044f04 UBI_IOCMKVOL = 0x80986f00 UBI_IOCRMVOL = 0x80046f01 UBI_IOCRNVOL = 0x91106f03 UBI_IOCRPEB = 0x80046f04 UBI_IOCRSVOL = 0x800c6f02 UBI_IOCSETVOLPROP = 0x80104f06 UBI_IOCSPEB = 0x80046f05 UBI_IOCVOLCRBLK = 0x80804f07 UBI_IOCVOLRMBLK = 0x20004f08 UBI_IOCVOLUP = 0x80084f00 VDISCARD = 0x10 VEOF = 0x4 VEOL = 0x6 VEOL2 = 0x8 VMIN = 0x5 VREPRINT = 0xb VSTART = 0xd VSTOP = 0xe VSUSP = 0xc VSWTC = 0x9 VT1 = 0x10000 VTDLY = 0x10000 VTIME = 0x7 VWERASE = 0xa WDIOC_GETBOOTSTATUS = 0x40045702 WDIOC_GETPRETIMEOUT = 0x40045709 WDIOC_GETSTATUS = 0x40045701 WDIOC_GETSUPPORT = 0x40285700 WDIOC_GETTEMP = 0x40045703 WDIOC_GETTIMELEFT = 0x4004570a WDIOC_GETTIMEOUT = 0x40045707 WDIOC_KEEPALIVE = 0x40045705 WDIOC_SETOPTIONS = 0x40045704 WORDSIZE = 0x40 XCASE = 0x4000 XTABS = 0xc00 _HIDIOCGRAWNAME = 0x40804804 _HIDIOCGRAWPHYS = 0x40404805 _HIDIOCGRAWUNIQ = 0x40404808 ) // Errors const ( EADDRINUSE = syscall.Errno(0x62) EADDRNOTAVAIL = syscall.Errno(0x63) EADV = syscall.Errno(0x44) EAFNOSUPPORT = syscall.Errno(0x61) EALREADY = syscall.Errno(0x72) EBADE = syscall.Errno(0x34) EBADFD = syscall.Errno(0x4d) EBADMSG = syscall.Errno(0x4a) EBADR = syscall.Errno(0x35) EBADRQC = syscall.Errno(0x38) EBADSLT = syscall.Errno(0x39) EBFONT = syscall.Errno(0x3b) ECANCELED = syscall.Errno(0x7d) 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) EDOTDOT = syscall.Errno(0x49) EDQUOT = syscall.Errno(0x7a) EHOSTDOWN = syscall.Errno(0x70) EHOSTUNREACH = syscall.Errno(0x71) EHWPOISON = syscall.Errno(0x85) EIDRM = syscall.Errno(0x2b) EILSEQ = syscall.Errno(0x54) EINPROGRESS = syscall.Errno(0x73) EISCONN = syscall.Errno(0x6a) 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) 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) ENOANO = syscall.Errno(0x37) ENOBUFS = syscall.Errno(0x69) ENOCSI = syscall.Errno(0x32) ENODATA = syscall.Errno(0x3d) ENOKEY = syscall.Errno(0x7e) ENOLCK = syscall.Errno(0x25) ENOLINK = syscall.Errno(0x43) ENOMEDIUM = syscall.Errno(0x7b) ENOMSG = syscall.Errno(0x2a) ENONET = syscall.Errno(0x40) ENOPKG = syscall.Errno(0x41) ENOPROTOOPT = syscall.Errno(0x5c) ENOSR = syscall.Errno(0x3f) ENOSTR = syscall.Errno(0x3c) ENOSYS = syscall.Errno(0x26) ENOTCONN = syscall.Errno(0x6b) ENOTEMPTY = syscall.Errno(0x27) ENOTNAM = syscall.Errno(0x76) ENOTRECOVERABLE = syscall.Errno(0x83) ENOTSOCK = syscall.Errno(0x58) ENOTSUP = syscall.Errno(0x5f) ENOTUNIQ = syscall.Errno(0x4c) EOPNOTSUPP = syscall.Errno(0x5f) EOVERFLOW = syscall.Errno(0x4b) EOWNERDEAD = syscall.Errno(0x82) EPFNOSUPPORT = syscall.Errno(0x60) EPROTO = syscall.Errno(0x47) EPROTONOSUPPORT = syscall.Errno(0x5d) EPROTOTYPE = syscall.Errno(0x5b) EREMCHG = syscall.Errno(0x4e) EREMOTE = syscall.Errno(0x42) EREMOTEIO = syscall.Errno(0x79) ERESTART = syscall.Errno(0x55) ERFKILL = syscall.Errno(0x84) ESHUTDOWN = syscall.Errno(0x6c) ESOCKTNOSUPPORT = syscall.Errno(0x5e) ESRMNT = syscall.Errno(0x45) ESTALE = syscall.Errno(0x74) ESTRPIPE = syscall.Errno(0x56) ETIME = syscall.Errno(0x3e) ETIMEDOUT = syscall.Errno(0x6e) ETOOMANYREFS = syscall.Errno(0x6d) EUCLEAN = syscall.Errno(0x75) EUNATCH = syscall.Errno(0x31) EUSERS = syscall.Errno(0x57) EXFULL = syscall.Errno(0x36) ) // Signals const ( SIGBUS = syscall.Signal(0x7) SIGCHLD = syscall.Signal(0x11) SIGCLD = syscall.Signal(0x11) SIGCONT = syscall.Signal(0x12) SIGIO = syscall.Signal(0x1d) SIGPOLL = syscall.Signal(0x1d) SIGPROF = syscall.Signal(0x1b) SIGPWR = syscall.Signal(0x1e) SIGSTKFLT = syscall.Signal(0x10) SIGSTOP = syscall.Signal(0x13) SIGSYS = syscall.Signal(0x1f) SIGTSTP = syscall.Signal(0x14) SIGTTIN = syscall.Signal(0x15) SIGTTOU = syscall.Signal(0x16) 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 errorList = [...]struct { num syscall.Errno name string desc string }{ {1, "EPERM", "operation not permitted"}, {2, "ENOENT", "no such file or directory"}, {3, "ESRCH", "no such process"}, {4, "EINTR", "interrupted system call"}, {5, "EIO", "input/output error"}, {6, "ENXIO", "no such device or address"}, {7, "E2BIG", "argument list too long"}, {8, "ENOEXEC", "exec format error"}, {9, "EBADF", "bad file descriptor"}, {10, "ECHILD", "no child processes"}, {11, "EAGAIN", "resource temporarily unavailable"}, {12, "ENOMEM", "cannot allocate memory"}, {13, "EACCES", "permission denied"}, {14, "EFAULT", "bad address"}, {15, "ENOTBLK", "block device required"}, {16, "EBUSY", "device or resource busy"}, {17, "EEXIST", "file exists"}, {18, "EXDEV", "invalid cross-device link"}, {19, "ENODEV", "no such device"}, {20, "ENOTDIR", "not a directory"}, {21, "EISDIR", "is a directory"}, {22, "EINVAL", "invalid argument"}, {23, "ENFILE", "too many open files in system"}, {24, "EMFILE", "too many open files"}, {25, "ENOTTY", "inappropriate ioctl for device"}, {26, "ETXTBSY", "text file busy"}, {27, "EFBIG", "file too large"}, {28, "ENOSPC", "no space left on device"}, {29, "ESPIPE", "illegal seek"}, {30, "EROFS", "read-only file system"}, {31, "EMLINK", "too many links"}, {32, "EPIPE", "broken pipe"}, {33, "EDOM", "numerical argument out of domain"}, {34, "ERANGE", "numerical result out of range"}, {35, "EDEADLK", "resource deadlock avoided"}, {36, "ENAMETOOLONG", "file name too long"}, {37, "ENOLCK", "no locks available"}, {38, "ENOSYS", "function not implemented"}, {39, "ENOTEMPTY", "directory not empty"}, {40, "ELOOP", "too many levels of symbolic links"}, {42, "ENOMSG", "no message of desired type"}, {43, "EIDRM", "identifier removed"}, {44, "ECHRNG", "channel number out of range"}, {45, "EL2NSYNC", "level 2 not synchronized"}, {46, "EL3HLT", "level 3 halted"}, {47, "EL3RST", "level 3 reset"}, {48, "ELNRNG", "link number out of range"}, {49, "EUNATCH", "protocol driver not attached"}, {50, "ENOCSI", "no CSI structure available"}, {51, "EL2HLT", "level 2 halted"}, {52, "EBADE", "invalid exchange"}, {53, "EBADR", "invalid request descriptor"}, {54, "EXFULL", "exchange full"}, {55, "ENOANO", "no anode"}, {56, "EBADRQC", "invalid request code"}, {57, "EBADSLT", "invalid slot"}, {58, "EDEADLOCK", "file locking deadlock error"}, {59, "EBFONT", "bad font file format"}, {60, "ENOSTR", "device not a stream"}, {61, "ENODATA", "no data available"}, {62, "ETIME", "timer expired"}, {63, "ENOSR", "out of streams resources"}, {64, "ENONET", "machine is not on the network"}, {65, "ENOPKG", "package not installed"}, {66, "EREMOTE", "object is remote"}, {67, "ENOLINK", "link has been severed"}, {68, "EADV", "advertise error"}, {69, "ESRMNT", "srmount error"}, {70, "ECOMM", "communication error on send"}, {71, "EPROTO", "protocol error"}, {72, "EMULTIHOP", "multihop attempted"}, {73, "EDOTDOT", "RFS specific error"}, {74, "EBADMSG", "bad message"}, {75, "EOVERFLOW", "value too large for defined data type"}, {76, "ENOTUNIQ", "name not unique on network"}, {77, "EBADFD", "file descriptor in bad state"}, {78, "EREMCHG", "remote address changed"}, {79, "ELIBACC", "can not access a needed shared library"}, {80, "ELIBBAD", "accessing a corrupted shared library"}, {81, "ELIBSCN", ".lib section in a.out corrupted"}, {82, "ELIBMAX", "attempting to link in too many shared libraries"}, {83, "ELIBEXEC", "cannot exec a shared library directly"}, {84, "EILSEQ", "invalid or incomplete multibyte or wide character"}, {85, "ERESTART", "interrupted system call should be restarted"}, {86, "ESTRPIPE", "streams pipe error"}, {87, "EUSERS", "too many users"}, {88, "ENOTSOCK", "socket operation on non-socket"}, {89, "EDESTADDRREQ", "destination address required"}, {90, "EMSGSIZE", "message too long"}, {91, "EPROTOTYPE", "protocol wrong type for socket"}, {92, "ENOPROTOOPT", "protocol not available"}, {93, "EPROTONOSUPPORT", "protocol not supported"}, {94, "ESOCKTNOSUPPORT", "socket type not supported"}, {95, "ENOTSUP", "operation not supported"}, {96, "EPFNOSUPPORT", "protocol family not supported"}, {97, "EAFNOSUPPORT", "address family not supported by protocol"}, {98, "EADDRINUSE", "address already in use"}, {99, "EADDRNOTAVAIL", "cannot assign requested address"}, {100, "ENETDOWN", "network is down"}, {101, "ENETUNREACH", "network is unreachable"}, {102, "ENETRESET", "network dropped connection on reset"}, {103, "ECONNABORTED", "software caused connection abort"}, {104, "ECONNRESET", "connection reset by peer"}, {105, "ENOBUFS", "no buffer space available"}, {106, "EISCONN", "transport endpoint is already connected"}, {107, "ENOTCONN", "transport endpoint is not connected"}, {108, "ESHUTDOWN", "cannot send after transport endpoint shutdown"}, {109, "ETOOMANYREFS", "too many references: cannot splice"}, {110, "ETIMEDOUT", "connection timed out"}, {111, "ECONNREFUSED", "connection refused"}, {112, "EHOSTDOWN", "host is down"}, {113, "EHOSTUNREACH", "no route to host"}, {114, "EALREADY", "operation already in progress"}, {115, "EINPROGRESS", "operation now in progress"}, {116, "ESTALE", "stale file handle"}, {117, "EUCLEAN", "structure needs cleaning"}, {118, "ENOTNAM", "not a XENIX named type file"}, {119, "ENAVAIL", "no XENIX semaphores available"}, {120, "EISNAM", "is a named type file"}, {121, "EREMOTEIO", "remote I/O error"}, {122, "EDQUOT", "disk quota exceeded"}, {123, "ENOMEDIUM", "no medium found"}, {124, "EMEDIUMTYPE", "wrong medium type"}, {125, "ECANCELED", "operation canceled"}, {126, "ENOKEY", "required key not available"}, {127, "EKEYEXPIRED", "key has expired"}, {128, "EKEYREVOKED", "key has been revoked"}, {129, "EKEYREJECTED", "key was rejected by service"}, {130, "EOWNERDEAD", "owner died"}, {131, "ENOTRECOVERABLE", "state not recoverable"}, {132, "ERFKILL", "operation not possible due to RF-kill"}, {133, "EHWPOISON", "memory page has hardware error"}, } // Signal table var signalList = [...]struct { num syscall.Signal name string desc string }{ {1, "SIGHUP", "hangup"}, {2, "SIGINT", "interrupt"}, {3, "SIGQUIT", "quit"}, {4, "SIGILL", "illegal instruction"}, {5, "SIGTRAP", "trace/breakpoint trap"}, {6, "SIGABRT", "aborted"}, {7, "SIGBUS", "bus error"}, {8, "SIGFPE", "floating point exception"}, {9, "SIGKILL", "killed"}, {10, "SIGUSR1", "user defined signal 1"}, {11, "SIGSEGV", "segmentation fault"}, {12, "SIGUSR2", "user defined signal 2"}, {13, "SIGPIPE", "broken pipe"}, {14, "SIGALRM", "alarm clock"}, {15, "SIGTERM", "terminated"}, {16, "SIGSTKFLT", "stack fault"}, {17, "SIGCHLD", "child exited"}, {18, "SIGCONT", "continued"}, {19, "SIGSTOP", "stopped (signal)"}, {20, "SIGTSTP", "stopped"}, {21, "SIGTTIN", "stopped (tty input)"}, {22, "SIGTTOU", "stopped (tty output)"}, {23, "SIGURG", "urgent I/O condition"}, {24, "SIGXCPU", "CPU time limit exceeded"}, {25, "SIGXFSZ", "file size limit exceeded"}, {26, "SIGVTALRM", "virtual timer expired"}, {27, "SIGPROF", "profiling timer expired"}, {28, "SIGWINCH", "window changed"}, {29, "SIGIO", "I/O possible"}, {30, "SIGPWR", "power failure"}, {31, "SIGSYS", "bad system call"}, } dependencies/pkg/mod/golang.org/x/sys@v0.26.0/unix/zerrors_freebsd_arm64.go0000644000000000000000000023633715107355264025367 0ustar rootroot// mkerrors.sh -m64 // Code generated by the command above; see README.md. DO NOT EDIT. //go:build arm64 && freebsd // Code generated by cmd/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 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 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 BIOCSETVLANPCP = 0x80044285 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_MOD = 0x90 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 BPF_XOR = 0xa0 BRKINT = 0x2 CAP_ACCEPT = 0x200000020000000 CAP_ACL_CHECK = 0x400000000010000 CAP_ACL_DELETE = 0x400000000020000 CAP_ACL_GET = 0x400000000040000 CAP_ACL_SET = 0x400000000080000 CAP_ALL0 = 0x20007ffffffffff CAP_ALL1 = 0x4000000001fffff CAP_BIND = 0x200000040000000 CAP_BINDAT = 0x200008000000400 CAP_CHFLAGSAT = 0x200000000001400 CAP_CONNECT = 0x200000080000000 CAP_CONNECTAT = 0x200010000000400 CAP_CREATE = 0x200000000000040 CAP_EVENT = 0x400000000000020 CAP_EXTATTR_DELETE = 0x400000000001000 CAP_EXTATTR_GET = 0x400000000002000 CAP_EXTATTR_LIST = 0x400000000004000 CAP_EXTATTR_SET = 0x400000000008000 CAP_FCHDIR = 0x200000000000800 CAP_FCHFLAGS = 0x200000000001000 CAP_FCHMOD = 0x200000000002000 CAP_FCHMODAT = 0x200000000002400 CAP_FCHOWN = 0x200000000004000 CAP_FCHOWNAT = 0x200000000004400 CAP_FCNTL = 0x200000000008000 CAP_FCNTL_ALL = 0x78 CAP_FCNTL_GETFL = 0x8 CAP_FCNTL_GETOWN = 0x20 CAP_FCNTL_SETFL = 0x10 CAP_FCNTL_SETOWN = 0x40 CAP_FEXECVE = 0x200000000000080 CAP_FLOCK = 0x200000000010000 CAP_FPATHCONF = 0x200000000020000 CAP_FSCK = 0x200000000040000 CAP_FSTAT = 0x200000000080000 CAP_FSTATAT = 0x200000000080400 CAP_FSTATFS = 0x200000000100000 CAP_FSYNC = 0x200000000000100 CAP_FTRUNCATE = 0x200000000000200 CAP_FUTIMES = 0x200000000200000 CAP_FUTIMESAT = 0x200000000200400 CAP_GETPEERNAME = 0x200000100000000 CAP_GETSOCKNAME = 0x200000200000000 CAP_GETSOCKOPT = 0x200000400000000 CAP_IOCTL = 0x400000000000080 CAP_IOCTLS_ALL = 0x7fffffffffffffff CAP_KQUEUE = 0x400000000100040 CAP_KQUEUE_CHANGE = 0x400000000100000 CAP_KQUEUE_EVENT = 0x400000000000040 CAP_LINKAT_SOURCE = 0x200020000000400 CAP_LINKAT_TARGET = 0x200000000400400 CAP_LISTEN = 0x200000800000000 CAP_LOOKUP = 0x200000000000400 CAP_MAC_GET = 0x400000000000001 CAP_MAC_SET = 0x400000000000002 CAP_MKDIRAT = 0x200000000800400 CAP_MKFIFOAT = 0x200000001000400 CAP_MKNODAT = 0x200000002000400 CAP_MMAP = 0x200000000000010 CAP_MMAP_R = 0x20000000000001d CAP_MMAP_RW = 0x20000000000001f CAP_MMAP_RWX = 0x20000000000003f CAP_MMAP_RX = 0x20000000000003d CAP_MMAP_W = 0x20000000000001e CAP_MMAP_WX = 0x20000000000003e CAP_MMAP_X = 0x20000000000003c CAP_PDGETPID = 0x400000000000200 CAP_PDKILL = 0x400000000000800 CAP_PDWAIT = 0x400000000000400 CAP_PEELOFF = 0x200001000000000 CAP_POLL_EVENT = 0x400000000000020 CAP_PREAD = 0x20000000000000d CAP_PWRITE = 0x20000000000000e CAP_READ = 0x200000000000001 CAP_RECV = 0x200000000000001 CAP_RENAMEAT_SOURCE = 0x200000004000400 CAP_RENAMEAT_TARGET = 0x200040000000400 CAP_RIGHTS_VERSION = 0x0 CAP_RIGHTS_VERSION_00 = 0x0 CAP_SEEK = 0x20000000000000c CAP_SEEK_TELL = 0x200000000000004 CAP_SEM_GETVALUE = 0x400000000000004 CAP_SEM_POST = 0x400000000000008 CAP_SEM_WAIT = 0x400000000000010 CAP_SEND = 0x200000000000002 CAP_SETSOCKOPT = 0x200002000000000 CAP_SHUTDOWN = 0x200004000000000 CAP_SOCK_CLIENT = 0x200007780000003 CAP_SOCK_SERVER = 0x200007f60000003 CAP_SYMLINKAT = 0x200000008000400 CAP_TTYHOOK = 0x400000000000100 CAP_UNLINKAT = 0x200000010000400 CAP_UNUSED0_44 = 0x200080000000000 CAP_UNUSED0_57 = 0x300000000000000 CAP_UNUSED1_22 = 0x400000000200000 CAP_UNUSED1_57 = 0x500000000000000 CAP_WRITE = 0x200000000000002 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 CPUSTATES = 0x5 CP_IDLE = 0x4 CP_INTR = 0x3 CP_NICE = 0x1 CP_SYS = 0x2 CP_USER = 0x0 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_HW = 0x6 CTL_KERN = 0x1 CTL_MAXNAME = 0x18 CTL_NET = 0x4 DIOCGATTR = 0xc148648e DIOCGDELETE = 0x80106488 DIOCGFLUSH = 0x20006487 DIOCGFRONTSTUFF = 0x40086486 DIOCGFWHEADS = 0x40046483 DIOCGFWSECTORS = 0x40046482 DIOCGIDENT = 0x41006489 DIOCGMEDIASIZE = 0x40086481 DIOCGPHYSPATH = 0x4400648d DIOCGPROVIDERNAME = 0x4400648a DIOCGSECTORSIZE = 0x40046480 DIOCGSTRIPEOFFSET = 0x4008648c DIOCGSTRIPESIZE = 0x4008648b DIOCSKERNELDUMP = 0x80506490 DIOCSKERNELDUMP_FREEBSD11 = 0x80046485 DIOCZONECMD = 0xc080648f 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_BREDR_BB = 0xff DLT_BLUETOOTH_HCI_H4 = 0xbb DLT_BLUETOOTH_HCI_H4_WITH_PHDR = 0xc9 DLT_BLUETOOTH_LE_LL = 0xfb DLT_BLUETOOTH_LE_LL_WITH_PHDR = 0x100 DLT_BLUETOOTH_LINUX_MONITOR = 0xfe DLT_CAN20B = 0xbe DLT_CAN_SOCKETCAN = 0xe3 DLT_CHAOS = 0x5 DLT_CHDLC = 0x68 DLT_CISCO_IOS = 0x76 DLT_CLASS_NETBSD_RAWAF = 0x2240000 DLT_C_HDLC = 0x68 DLT_C_HDLC_WITH_DIR = 0xcd DLT_DBUS = 0xe7 DLT_DECT = 0xdd DLT_DISPLAYPORT_AUX = 0x113 DLT_DOCSIS = 0x8f DLT_DOCSIS31_XRA31 = 0x111 DLT_DVB_CI = 0xeb DLT_ECONET = 0x73 DLT_EN10MB = 0x1 DLT_EN3MB = 0x2 DLT_ENC = 0x6d DLT_EPON = 0x103 DLT_ERF = 0xc5 DLT_ERF_ETH = 0xaf DLT_ERF_POS = 0xb0 DLT_ETHERNET_MPACKET = 0x112 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_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_INFINIBAND = 0xf7 DLT_IPFILTER = 0x74 DLT_IPMB_KONTRON = 0xc7 DLT_IPMB_LINUX = 0xd1 DLT_IPMI_HPM_2 = 0x104 DLT_IPNET = 0xe2 DLT_IPOIB = 0xf2 DLT_IPV4 = 0xe4 DLT_IPV6 = 0xe5 DLT_IP_OVER_FC = 0x7a DLT_ISO_14443 = 0x108 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_LINUX_SLL2 = 0x114 DLT_LOOP = 0x6c DLT_LORATAP = 0x10e DLT_LTALK = 0x72 DLT_MATCHING_MAX = 0x114 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_NETLINK = 0xfd DLT_NFC_LLCP = 0xf5 DLT_NFLOG = 0xef DLT_NG40 = 0xf4 DLT_NORDIC_BLE = 0x110 DLT_NULL = 0x0 DLT_OPENFLOW = 0x10b DLT_PCI_EXP = 0x7d DLT_PFLOG = 0x75 DLT_PFSYNC = 0x79 DLT_PKTAP = 0x102 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_PPP_WITH_DIRECTION = 0xa6 DLT_PRISM_HEADER = 0x77 DLT_PROFIBUS_DL = 0x101 DLT_PRONET = 0x4 DLT_RAIF1 = 0xc6 DLT_RAW = 0xc DLT_RDS = 0x109 DLT_REDBACK_SMARTEDGE = 0x20 DLT_RIO = 0x7c DLT_RTAC_SERIAL = 0xfa DLT_SCCP = 0x8e DLT_SCTP = 0xf8 DLT_SDLC = 0x10c DLT_SITA = 0xc4 DLT_SLIP = 0x8 DLT_SLIP_BSDOS = 0xd DLT_STANAG_5066_D_PDU = 0xed DLT_SUNATM = 0x7b DLT_SYMANTEC_FIREWALL = 0x63 DLT_TI_LLN_SNIFFER = 0x10d DLT_TZSP = 0x80 DLT_USB = 0xba DLT_USBPCAP = 0xf9 DLT_USB_DARWIN = 0x10a DLT_USB_FREEBSD = 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_VSOCK = 0x10f DLT_WATTSTOPPER_DLM = 0x107 DLT_WIHART = 0xdf DLT_WIRESHARK_UPPER_PDU = 0xfc DLT_X2E_SERIAL = 0xd5 DLT_X2E_XORAYA = 0xd6 DLT_ZWAVE_R1_R2 = 0x105 DLT_ZWAVE_R3 = 0x106 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_EMPTY = -0xd EVFILT_FS = -0x9 EVFILT_LIO = -0xa EVFILT_PROC = -0x5 EVFILT_PROCDESC = -0x8 EVFILT_READ = -0x1 EVFILT_SENDFILE = -0xc EVFILT_SIGNAL = -0x6 EVFILT_SYSCOUNT = 0xd EVFILT_TIMER = -0x7 EVFILT_USER = -0xb EVFILT_VNODE = -0x4 EVFILT_WRITE = -0x2 EVNAMEMAP_NAME_SIZE = 0x40 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_FLAG2 = 0x4000 EV_FORCEONESHOT = 0x100 EV_ONESHOT = 0x10 EV_RECEIPT = 0x40 EV_SYSFLAGS = 0xf000 EXTA = 0x4b00 EXTATTR_MAXNAMELEN = 0xff 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 HW_MACHINE = 0x1 ICANON = 0x100 ICMP6_FILTER = 0x12 ICRNL = 0x100 IEXTEN = 0x400 IFAN_ARRIVAL = 0x0 IFAN_DEPARTURE = 0x1 IFCAP_WOL_MAGIC = 0x2000 IFF_ALLMULTI = 0x200 IFF_ALTPHYS = 0x4000 IFF_BROADCAST = 0x2 IFF_CANTCHANGE = 0x218f52 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_NOGROUP = 0x800000 IFF_OACTIVE = 0x400 IFF_POINTOPOINT = 0x10 IFF_PPROMISC = 0x20000 IFF_PROMISC = 0x100 IFF_RENAMING = 0x400000 IFF_RUNNING = 0x40 IFF_SIMPLEX = 0x800 IFF_STATICARP = 0x80000 IFF_UP = 0x1 IFNAMSIZ = 0x10 IFT_BRIDGE = 0xd1 IFT_CARP = 0xf8 IFT_IEEE1394 = 0x90 IFT_INFINIBAND = 0xc7 IFT_L2VLAN = 0x87 IFT_L3IPVLAN = 0x88 IFT_PPP = 0x17 IFT_PROPVIRTUAL = 0x35 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_DCCP = 0x21 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_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_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_BINDMULTI = 0x41 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_FLOWID = 0x43 IPV6_FLOWINFO_MASK = 0xffffff0f IPV6_FLOWLABEL_LEN = 0x14 IPV6_FLOWLABEL_MASK = 0xffff0f00 IPV6_FLOWTYPE = 0x44 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_MMTU = 0x500 IPV6_MSFILTER = 0x4a IPV6_MULTICAST_HOPS = 0xa IPV6_MULTICAST_IF = 0x9 IPV6_MULTICAST_LOOP = 0xb IPV6_NEXTHOP = 0x30 IPV6_ORIGDSTADDR = 0x48 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_RECVFLOWID = 0x46 IPV6_RECVHOPLIMIT = 0x25 IPV6_RECVHOPOPTS = 0x27 IPV6_RECVORIGDSTADDR = 0x48 IPV6_RECVPATHMTU = 0x2b IPV6_RECVPKTINFO = 0x24 IPV6_RECVRSSBUCKETID = 0x47 IPV6_RECVRTHDR = 0x26 IPV6_RECVTCLASS = 0x39 IPV6_RSSBUCKETID = 0x45 IPV6_RSS_LISTEN_BUCKET = 0x42 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 IPV6_VLAN_PCP = 0x4b IP_ADD_MEMBERSHIP = 0xc IP_ADD_SOURCE_MEMBERSHIP = 0x46 IP_BINDANY = 0x18 IP_BINDMULTI = 0x19 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_FLOWID = 0x5a IP_FLOWTYPE = 0x5b 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_MF = 0x2000 IP_MINTTL = 0x42 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_ORIGDSTADDR = 0x1b IP_PORTRANGE = 0x13 IP_PORTRANGE_DEFAULT = 0x0 IP_PORTRANGE_HIGH = 0x1 IP_PORTRANGE_LOW = 0x2 IP_RECVDSTADDR = 0x7 IP_RECVFLOWID = 0x5d IP_RECVIF = 0x14 IP_RECVOPTS = 0x5 IP_RECVORIGDSTADDR = 0x1b IP_RECVRETOPTS = 0x6 IP_RECVRSSBUCKETID = 0x5e IP_RECVTOS = 0x44 IP_RECVTTL = 0x41 IP_RETOPTS = 0x8 IP_RF = 0x8000 IP_RSSBUCKETID = 0x5c IP_RSS_LISTEN_BUCKET = 0x1a 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 IP_VLAN_PCP = 0x4b ISIG = 0x80 ISTRIP = 0x20 ITIMER_PROF = 0x2 ITIMER_REAL = 0x0 ITIMER_VIRTUAL = 0x1 IXANY = 0x800 IXOFF = 0x400 IXON = 0x200 KERN_HOSTNAME = 0xa KERN_OSRELEASE = 0x2 KERN_OSTYPE = 0x1 KERN_VERSION = 0x4 LOCAL_CONNWAIT = 0x4 LOCAL_CREDS = 0x2 LOCAL_PEERCRED = 0x1 LOCAL_VENDOR = 0x80000000 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_GUARD = 0x2000 MAP_HASSEMAPHORE = 0x200 MAP_NOCORE = 0x20000 MAP_NOSYNC = 0x800 MAP_PREFAULT_READ = 0x40000 MAP_PRIVATE = 0x2 MAP_RESERVED0020 = 0x20 MAP_RESERVED0040 = 0x40 MAP_RESERVED0080 = 0x80 MAP_RESERVED0100 = 0x100 MAP_SHARED = 0x1 MAP_STACK = 0x400 MCAST_BLOCK_SOURCE = 0x54 MCAST_EXCLUDE = 0x2 MCAST_INCLUDE = 0x1 MCAST_JOIN_GROUP = 0x50 MCAST_JOIN_SOURCE_GROUP = 0x52 MCAST_LEAVE_GROUP = 0x51 MCAST_LEAVE_SOURCE_GROUP = 0x53 MCAST_UNBLOCK_SOURCE = 0x55 MCAST_UNDEFINED = 0x0 MCL_CURRENT = 0x1 MCL_FUTURE = 0x2 MNT_ACLS = 0x8000000 MNT_ASYNC = 0x40 MNT_AUTOMOUNTED = 0x200000000 MNT_BYFSID = 0x8000000 MNT_CMDFLAGS = 0xd0f0000 MNT_DEFEXPORTED = 0x200 MNT_DELEXPORT = 0x20000 MNT_EXKERB = 0x800 MNT_EXPORTANON = 0x400 MNT_EXPORTED = 0x100 MNT_EXPUBLIC = 0x20000000 MNT_EXRDONLY = 0x80 MNT_FORCE = 0x80000 MNT_GJOURNAL = 0x2000000 MNT_IGNORE = 0x800000 MNT_LAZY = 0x3 MNT_LOCAL = 0x1000 MNT_MULTILABEL = 0x4000000 MNT_NFS4ACLS = 0x10 MNT_NOATIME = 0x10000000 MNT_NOCLUSTERR = 0x40000000 MNT_NOCLUSTERW = 0x80000000 MNT_NOEXEC = 0x4 MNT_NONBUSY = 0x4000000 MNT_NOSUID = 0x8 MNT_NOSYMFOLLOW = 0x400000 MNT_NOWAIT = 0x2 MNT_QUOTA = 0x2000 MNT_RDONLY = 0x1 MNT_RELOAD = 0x40000 MNT_ROOTFS = 0x4000 MNT_SNAPSHOT = 0x1000000 MNT_SOFTDEP = 0x200000 MNT_SUIDDIR = 0x100000 MNT_SUJ = 0x100000000 MNT_SUSPEND = 0x4 MNT_SYNCHRONOUS = 0x2 MNT_UNION = 0x20 MNT_UNTRUSTED = 0x800000000 MNT_UPDATE = 0x10000 MNT_UPDATEMASK = 0xad8d0807e MNT_USER = 0x8000 MNT_VERIFIED = 0x400000000 MNT_VISFLAGMASK = 0xffef0ffff MNT_WAIT = 0x1 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 MSG_WAITFORONE = 0x80000 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 NFDBITS = 0x40 NOFLSH = 0x80000000 NOKERNINFO = 0x2000000 NOTE_ABSTIME = 0x10 NOTE_ATTRIB = 0x8 NOTE_CHILD = 0x4 NOTE_CLOSE = 0x100 NOTE_CLOSE_WRITE = 0x200 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_FILE_POLL = 0x2 NOTE_FORK = 0x40000000 NOTE_LINK = 0x10 NOTE_LOWAT = 0x1 NOTE_MSECONDS = 0x2 NOTE_NSECONDS = 0x8 NOTE_OPEN = 0x80 NOTE_PCTRLMASK = 0xf0000000 NOTE_PDATAMASK = 0xfffff NOTE_READ = 0x400 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 OXTABS = 0x4 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_RESOLVE_BENEATH = 0x800000 O_SEARCH = 0x40000 O_SHLOCK = 0x10 O_SYNC = 0x80 O_TRUNC = 0x400 O_TTY_INIT = 0x80000 O_VERIFY = 0x200000 O_WRONLY = 0x1 PARENB = 0x1000 PARMRK = 0x8 PARODD = 0x2000 PENDIN = 0x20000000 PIOD_READ_D = 0x1 PIOD_READ_I = 0x3 PIOD_WRITE_D = 0x2 PIOD_WRITE_I = 0x4 PRIO_PGRP = 0x1 PRIO_PROCESS = 0x0 PRIO_USER = 0x2 PROT_EXEC = 0x4 PROT_NONE = 0x0 PROT_READ = 0x1 PROT_WRITE = 0x2 PTRACE_DEFAULT = 0x1 PTRACE_EXEC = 0x1 PTRACE_FORK = 0x8 PTRACE_LWP = 0x10 PTRACE_SCE = 0x2 PTRACE_SCX = 0x4 PTRACE_SYSCALL = 0x6 PTRACE_VFORK = 0x20 PT_ATTACH = 0xa PT_CLEARSTEP = 0x10 PT_CONTINUE = 0x7 PT_DETACH = 0xb PT_FIRSTMACH = 0x40 PT_FOLLOW_FORK = 0x17 PT_GETDBREGS = 0x25 PT_GETFPREGS = 0x23 PT_GETLWPLIST = 0xf PT_GETNUMLWPS = 0xe PT_GETREGS = 0x21 PT_GET_EVENT_MASK = 0x19 PT_GET_SC_ARGS = 0x1b PT_GET_SC_RET = 0x1c PT_IO = 0xc PT_KILL = 0x8 PT_LWPINFO = 0xd PT_LWP_EVENTS = 0x18 PT_READ_D = 0x2 PT_READ_I = 0x1 PT_RESUME = 0x13 PT_SETDBREGS = 0x26 PT_SETFPREGS = 0x24 PT_SETREGS = 0x22 PT_SETSTEP = 0x11 PT_SET_EVENT_MASK = 0x1a PT_STEP = 0x9 PT_SUSPEND = 0x12 PT_SYSCALL = 0x16 PT_TO_SCE = 0x14 PT_TO_SCX = 0x15 PT_TRACE_ME = 0x0 PT_VM_ENTRY = 0x29 PT_VM_TIMESTAMP = 0x28 PT_WRITE_D = 0x5 PT_WRITE_I = 0x4 P_ZONEID = 0xc RLIMIT_AS = 0xa RLIMIT_CORE = 0x4 RLIMIT_CPU = 0x0 RLIMIT_DATA = 0x2 RLIMIT_FSIZE = 0x1 RLIMIT_MEMLOCK = 0x6 RLIMIT_NOFILE = 0x8 RLIMIT_NPROC = 0x7 RLIMIT_RSS = 0x5 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_FIXEDMTU = 0x80000 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_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_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_BLACKHOLE = 0x40 RT_DEFAULT_FIB = 0x0 RT_HAS_GW = 0x80 RT_HAS_HEADER = 0x10 RT_HAS_HEADER_BIT = 0x4 RT_L2_ME = 0x4 RT_L2_ME_BIT = 0x2 RT_LLE_CACHE = 0x100 RT_MAY_LOOP = 0x8 RT_MAY_LOOP_BIT = 0x3 RT_REJECT = 0x20 RUSAGE_CHILDREN = -0x1 RUSAGE_SELF = 0x0 RUSAGE_THREAD = 0x1 SCM_BINTIME = 0x4 SCM_CREDS = 0x3 SCM_MONOTONIC = 0x6 SCM_REALTIME = 0x5 SCM_RIGHTS = 0x1 SCM_TIMESTAMP = 0x2 SCM_TIME_INFO = 0x7 SEEK_CUR = 0x1 SEEK_DATA = 0x3 SEEK_END = 0x2 SEEK_HOLE = 0x4 SEEK_SET = 0x0 SHUT_RD = 0x0 SHUT_RDWR = 0x2 SHUT_WR = 0x1 SIOCADDMULTI = 0x80206931 SIOCAIFADDR = 0x8040691a SIOCAIFGROUP = 0x80286987 SIOCATMARK = 0x40047307 SIOCDELMULTI = 0x80206932 SIOCDIFADDR = 0x80206919 SIOCDIFGROUP = 0x80286989 SIOCDIFPHYADDR = 0x80206949 SIOCGDRVSPEC = 0xc028697b SIOCGETSGCNT = 0xc0207210 SIOCGETVIFCNT = 0xc028720f SIOCGHIWAT = 0x40047301 SIOCGHWADDR = 0xc020693e SIOCGI2C = 0xc020693d SIOCGIFADDR = 0xc0206921 SIOCGIFALIAS = 0xc044692d SIOCGIFBRDADDR = 0xc0206923 SIOCGIFCAP = 0xc020691f SIOCGIFCONF = 0xc0106924 SIOCGIFDESCR = 0xc020692a SIOCGIFDOWNREASON = 0xc058699a 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 SIOCGIFRSSHASH = 0xc0186997 SIOCGIFRSSKEY = 0xc0946996 SIOCGIFSTATUS = 0xc331693b SIOCGIFXMEDIA = 0xc030698b SIOCGLANPCP = 0xc0206998 SIOCGLOWAT = 0x40047303 SIOCGPGRP = 0x40047309 SIOCGPRIVATE_0 = 0xc0206950 SIOCGPRIVATE_1 = 0xc0206951 SIOCGTUNFIB = 0xc020695e 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 SIOCSLANPCP = 0x80206999 SIOCSLOWAT = 0x80047302 SIOCSPGRP = 0x80047308 SIOCSTUNFIB = 0x8020695f 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_LOCAL = 0x0 SOL_SOCKET = 0xffff SOMAXCONN = 0x80 SO_ACCEPTCONN = 0x2 SO_ACCEPTFILTER = 0x1000 SO_BINTIME = 0x2000 SO_BROADCAST = 0x20 SO_DEBUG = 0x1 SO_DOMAIN = 0x1019 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_MAX_PACING_RATE = 0x1018 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_RERROR = 0x20000 SO_REUSEADDR = 0x4 SO_REUSEPORT = 0x200 SO_REUSEPORT_LB = 0x10000 SO_SETFIB = 0x1014 SO_SNDBUF = 0x1001 SO_SNDLOWAT = 0x1003 SO_SNDTIMEO = 0x1005 SO_TIMESTAMP = 0x400 SO_TS_BINTIME = 0x1 SO_TS_CLOCK = 0x1017 SO_TS_CLOCK_MAX = 0x3 SO_TS_DEFAULT = 0x0 SO_TS_MONOTONIC = 0x3 SO_TS_REALTIME = 0x2 SO_TS_REALTIME_MICRO = 0x0 SO_TYPE = 0x1008 SO_USELOOPBACK = 0x40 SO_USER_COOKIE = 0x1015 SO_VENDOR = 0x80000000 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 TAB0 = 0x0 TAB3 = 0x4 TABDLY = 0x4 TCIFLUSH = 0x1 TCIOFF = 0x3 TCIOFLUSH = 0x3 TCION = 0x4 TCOFLUSH = 0x2 TCOOFF = 0x1 TCOON = 0x2 TCPOPT_EOL = 0x0 TCPOPT_FAST_OPEN = 0x22 TCPOPT_MAXSEG = 0x2 TCPOPT_NOP = 0x1 TCPOPT_PAD = 0x0 TCPOPT_SACK = 0x5 TCPOPT_SACK_PERMITTED = 0x4 TCPOPT_SIGNATURE = 0x13 TCPOPT_TIMESTAMP = 0x8 TCPOPT_WINDOW = 0x3 TCP_BBR_ACK_COMP_ALG = 0x448 TCP_BBR_ALGORITHM = 0x43b TCP_BBR_DRAIN_INC_EXTRA = 0x43c TCP_BBR_DRAIN_PG = 0x42e TCP_BBR_EXTRA_GAIN = 0x449 TCP_BBR_EXTRA_STATE = 0x453 TCP_BBR_FLOOR_MIN_TSO = 0x454 TCP_BBR_HDWR_PACE = 0x451 TCP_BBR_HOLD_TARGET = 0x436 TCP_BBR_IWINTSO = 0x42b TCP_BBR_LOWGAIN_FD = 0x436 TCP_BBR_LOWGAIN_HALF = 0x435 TCP_BBR_LOWGAIN_THRESH = 0x434 TCP_BBR_MAX_RTO = 0x439 TCP_BBR_MIN_RTO = 0x438 TCP_BBR_MIN_TOPACEOUT = 0x455 TCP_BBR_ONE_RETRAN = 0x431 TCP_BBR_PACE_CROSS = 0x442 TCP_BBR_PACE_DEL_TAR = 0x43f TCP_BBR_PACE_OH = 0x435 TCP_BBR_PACE_PER_SEC = 0x43e TCP_BBR_PACE_SEG_MAX = 0x440 TCP_BBR_PACE_SEG_MIN = 0x441 TCP_BBR_POLICER_DETECT = 0x457 TCP_BBR_PROBE_RTT_GAIN = 0x44d TCP_BBR_PROBE_RTT_INT = 0x430 TCP_BBR_PROBE_RTT_LEN = 0x44e TCP_BBR_RACK_RTT_USE = 0x44a TCP_BBR_RECFORCE = 0x42c TCP_BBR_REC_OVER_HPTS = 0x43a TCP_BBR_RETRAN_WTSO = 0x44b TCP_BBR_RWND_IS_APP = 0x42f TCP_BBR_SEND_IWND_IN_TSO = 0x44f TCP_BBR_STARTUP_EXIT_EPOCH = 0x43d TCP_BBR_STARTUP_LOSS_EXIT = 0x432 TCP_BBR_STARTUP_PG = 0x42d TCP_BBR_TMR_PACE_OH = 0x448 TCP_BBR_TSLIMITS = 0x434 TCP_BBR_TSTMP_RAISES = 0x456 TCP_BBR_UNLIMITED = 0x43b TCP_BBR_USEDEL_RATE = 0x437 TCP_BBR_USE_LOWGAIN = 0x433 TCP_BBR_USE_RACK_CHEAT = 0x450 TCP_BBR_UTTER_MAX_TSO = 0x452 TCP_CA_NAME_MAX = 0x10 TCP_CCALGOOPT = 0x41 TCP_CONGESTION = 0x40 TCP_DATA_AFTER_CLOSE = 0x44c TCP_DELACK = 0x48 TCP_FASTOPEN = 0x401 TCP_FASTOPEN_MAX_COOKIE_LEN = 0x10 TCP_FASTOPEN_MIN_COOKIE_LEN = 0x4 TCP_FASTOPEN_PSK_LEN = 0x10 TCP_FUNCTION_BLK = 0x2000 TCP_FUNCTION_NAME_LEN_MAX = 0x20 TCP_INFO = 0x20 TCP_KEEPCNT = 0x400 TCP_KEEPIDLE = 0x100 TCP_KEEPINIT = 0x80 TCP_KEEPINTVL = 0x200 TCP_LOG = 0x22 TCP_LOGBUF = 0x23 TCP_LOGDUMP = 0x25 TCP_LOGDUMPID = 0x26 TCP_LOGID = 0x24 TCP_LOG_ID_LEN = 0x40 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_PCAP_IN = 0x1000 TCP_PCAP_OUT = 0x800 TCP_RACK_EARLY_RECOV = 0x423 TCP_RACK_EARLY_SEG = 0x424 TCP_RACK_GP_INCREASE = 0x446 TCP_RACK_IDLE_REDUCE_HIGH = 0x444 TCP_RACK_MIN_PACE = 0x445 TCP_RACK_MIN_PACE_SEG = 0x446 TCP_RACK_MIN_TO = 0x422 TCP_RACK_PACE_ALWAYS = 0x41f TCP_RACK_PACE_MAX_SEG = 0x41e TCP_RACK_PACE_REDUCE = 0x41d TCP_RACK_PKT_DELAY = 0x428 TCP_RACK_PROP = 0x41b TCP_RACK_PROP_RATE = 0x420 TCP_RACK_PRR_SENDALOT = 0x421 TCP_RACK_REORD_FADE = 0x426 TCP_RACK_REORD_THRESH = 0x425 TCP_RACK_TLP_INC_VAR = 0x429 TCP_RACK_TLP_REDUCE = 0x41c TCP_RACK_TLP_THRESH = 0x427 TCP_RACK_TLP_USE = 0x447 TCP_VENDOR = 0x80000000 TCSAFLUSH = 0x2 TIMER_ABSTIME = 0x1 TIMER_RELTIME = 0x0 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 UTIME_NOW = -0x1 UTIME_OMIT = -0x2 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 = 0x19000000 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) EINTEGRITY = syscall.Errno(0x61) EINTR = syscall.Errno(0x4) EINVAL = syscall.Errno(0x16) EIO = syscall.Errno(0x5) EISCONN = syscall.Errno(0x38) EISDIR = syscall.Errno(0x15) ELAST = syscall.Errno(0x61) 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 errorList = [...]struct { num syscall.Errno name string desc string }{ {1, "EPERM", "operation not permitted"}, {2, "ENOENT", "no such file or directory"}, {3, "ESRCH", "no such process"}, {4, "EINTR", "interrupted system call"}, {5, "EIO", "input/output error"}, {6, "ENXIO", "device not configured"}, {7, "E2BIG", "argument list too long"}, {8, "ENOEXEC", "exec format error"}, {9, "EBADF", "bad file descriptor"}, {10, "ECHILD", "no child processes"}, {11, "EDEADLK", "resource deadlock avoided"}, {12, "ENOMEM", "cannot allocate memory"}, {13, "EACCES", "permission denied"}, {14, "EFAULT", "bad address"}, {15, "ENOTBLK", "block device required"}, {16, "EBUSY", "device busy"}, {17, "EEXIST", "file exists"}, {18, "EXDEV", "cross-device link"}, {19, "ENODEV", "operation not supported by device"}, {20, "ENOTDIR", "not a directory"}, {21, "EISDIR", "is a directory"}, {22, "EINVAL", "invalid argument"}, {23, "ENFILE", "too many open files in system"}, {24, "EMFILE", "too many open files"}, {25, "ENOTTY", "inappropriate ioctl for device"}, {26, "ETXTBSY", "text file busy"}, {27, "EFBIG", "file too large"}, {28, "ENOSPC", "no space left on device"}, {29, "ESPIPE", "illegal seek"}, {30, "EROFS", "read-only file system"}, {31, "EMLINK", "too many links"}, {32, "EPIPE", "broken pipe"}, {33, "EDOM", "numerical argument out of domain"}, {34, "ERANGE", "result too large"}, {35, "EWOULDBLOCK", "resource temporarily unavailable"}, {36, "EINPROGRESS", "operation now in progress"}, {37, "EALREADY", "operation already in progress"}, {38, "ENOTSOCK", "socket operation on non-socket"}, {39, "EDESTADDRREQ", "destination address required"}, {40, "EMSGSIZE", "message too long"}, {41, "EPROTOTYPE", "protocol wrong type for socket"}, {42, "ENOPROTOOPT", "protocol not available"}, {43, "EPROTONOSUPPORT", "protocol not supported"}, {44, "ESOCKTNOSUPPORT", "socket type not supported"}, {45, "EOPNOTSUPP", "operation not supported"}, {46, "EPFNOSUPPORT", "protocol family not supported"}, {47, "EAFNOSUPPORT", "address family not supported by protocol family"}, {48, "EADDRINUSE", "address already in use"}, {49, "EADDRNOTAVAIL", "can't assign requested address"}, {50, "ENETDOWN", "network is down"}, {51, "ENETUNREACH", "network is unreachable"}, {52, "ENETRESET", "network dropped connection on reset"}, {53, "ECONNABORTED", "software caused connection abort"}, {54, "ECONNRESET", "connection reset by peer"}, {55, "ENOBUFS", "no buffer space available"}, {56, "EISCONN", "socket is already connected"}, {57, "ENOTCONN", "socket is not connected"}, {58, "ESHUTDOWN", "can't send after socket shutdown"}, {59, "ETOOMANYREFS", "too many references: can't splice"}, {60, "ETIMEDOUT", "operation timed out"}, {61, "ECONNREFUSED", "connection refused"}, {62, "ELOOP", "too many levels of symbolic links"}, {63, "ENAMETOOLONG", "file name too long"}, {64, "EHOSTDOWN", "host is down"}, {65, "EHOSTUNREACH", "no route to host"}, {66, "ENOTEMPTY", "directory not empty"}, {67, "EPROCLIM", "too many processes"}, {68, "EUSERS", "too many users"}, {69, "EDQUOT", "disc quota exceeded"}, {70, "ESTALE", "stale NFS file handle"}, {71, "EREMOTE", "too many levels of remote in path"}, {72, "EBADRPC", "RPC struct is bad"}, {73, "ERPCMISMATCH", "RPC version wrong"}, {74, "EPROGUNAVAIL", "RPC prog. not avail"}, {75, "EPROGMISMATCH", "program version wrong"}, {76, "EPROCUNAVAIL", "bad procedure for program"}, {77, "ENOLCK", "no locks available"}, {78, "ENOSYS", "function not implemented"}, {79, "EFTYPE", "inappropriate file type or format"}, {80, "EAUTH", "authentication error"}, {81, "ENEEDAUTH", "need authenticator"}, {82, "EIDRM", "identifier removed"}, {83, "ENOMSG", "no message of desired type"}, {84, "EOVERFLOW", "value too large to be stored in data type"}, {85, "ECANCELED", "operation canceled"}, {86, "EILSEQ", "illegal byte sequence"}, {87, "ENOATTR", "attribute not found"}, {88, "EDOOFUS", "programming error"}, {89, "EBADMSG", "bad message"}, {90, "EMULTIHOP", "multihop attempted"}, {91, "ENOLINK", "link has been severed"}, {92, "EPROTO", "protocol error"}, {93, "ENOTCAPABLE", "capabilities insufficient"}, {94, "ECAPMODE", "not permitted in capability mode"}, {95, "ENOTRECOVERABLE", "state not recoverable"}, {96, "EOWNERDEAD", "previous owner died"}, {97, "EINTEGRITY", "integrity check failed"}, } // Signal table var signalList = [...]struct { num syscall.Signal name string desc string }{ {1, "SIGHUP", "hangup"}, {2, "SIGINT", "interrupt"}, {3, "SIGQUIT", "quit"}, {4, "SIGILL", "illegal instruction"}, {5, "SIGTRAP", "trace/BPT trap"}, {6, "SIGIOT", "abort trap"}, {7, "SIGEMT", "EMT trap"}, {8, "SIGFPE", "floating point exception"}, {9, "SIGKILL", "killed"}, {10, "SIGBUS", "bus error"}, {11, "SIGSEGV", "segmentation fault"}, {12, "SIGSYS", "bad system call"}, {13, "SIGPIPE", "broken pipe"}, {14, "SIGALRM", "alarm clock"}, {15, "SIGTERM", "terminated"}, {16, "SIGURG", "urgent I/O condition"}, {17, "SIGSTOP", "suspended (signal)"}, {18, "SIGTSTP", "suspended"}, {19, "SIGCONT", "continued"}, {20, "SIGCHLD", "child exited"}, {21, "SIGTTIN", "stopped (tty input)"}, {22, "SIGTTOU", "stopped (tty output)"}, {23, "SIGIO", "I/O possible"}, {24, "SIGXCPU", "cputime limit exceeded"}, {25, "SIGXFSZ", "filesize limit exceeded"}, {26, "SIGVTALRM", "virtual timer expired"}, {27, "SIGPROF", "profiling timer expired"}, {28, "SIGWINCH", "window size changes"}, {29, "SIGINFO", "information request"}, {30, "SIGUSR1", "user defined signal 1"}, {31, "SIGUSR2", "user defined signal 2"}, {32, "SIGTHR", "unknown signal"}, {33, "SIGLIBRT", "unknown signal"}, } dependencies/pkg/mod/golang.org/x/sys@v0.26.0/unix/asm_bsd_arm.s0000644000000000000000000000125615107355264023250 0ustar rootroot// Copyright 2021 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:build (freebsd || netbsd || openbsd) && gc #include "textflag.h" // System call support for ARM BSD // 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) dependencies/pkg/mod/golang.org/x/sys@v0.26.0/unix/zsyscall_aix_ppc.go0000644000000000000000000010726615107355264024523 0ustar rootroot// go run mksyscall_aix_ppc.go -aix -tags aix,ppc syscall_aix.go syscall_aix_ppc.go // Code generated by the command above; see README.md. DO NOT EDIT. //go:build aix && ppc package unix /* #include #include int utimes(uintptr_t, uintptr_t); int utimensat(int, uintptr_t, uintptr_t, int); int getcwd(uintptr_t, size_t); int accept(int, uintptr_t, uintptr_t); int getdirent(int, uintptr_t, size_t); int wait4(int, uintptr_t, int, uintptr_t); int ioctl(int, int, uintptr_t); int fcntl(uintptr_t, int, uintptr_t); int fsync_range(int, int, long long, long long); int acct(uintptr_t); int chdir(uintptr_t); int chroot(uintptr_t); int close(int); int dup(int); void exit(int); int faccessat(int, uintptr_t, unsigned int, int); int fchdir(int); int fchmod(int, unsigned int); int fchmodat(int, uintptr_t, unsigned int, int); int fchownat(int, uintptr_t, int, int, int); int fdatasync(int); int getpgid(int); int getpgrp(); int getpid(); int getppid(); int getpriority(int, int); int getrusage(int, uintptr_t); int getsid(int); int kill(int, int); int syslog(int, uintptr_t, size_t); int mkdir(int, uintptr_t, unsigned int); int mkdirat(int, uintptr_t, unsigned int); int mkfifo(uintptr_t, unsigned int); int mknod(uintptr_t, unsigned int, int); int mknodat(int, uintptr_t, unsigned int, int); int nanosleep(uintptr_t, uintptr_t); int open64(uintptr_t, int, unsigned int); int openat(int, uintptr_t, int, unsigned int); int read(int, uintptr_t, size_t); int readlink(uintptr_t, uintptr_t, size_t); int renameat(int, uintptr_t, int, uintptr_t); int setdomainname(uintptr_t, size_t); int sethostname(uintptr_t, size_t); int setpgid(int, int); int setsid(); int settimeofday(uintptr_t); int setuid(int); int setgid(int); int setpriority(int, int, int); int statx(int, uintptr_t, int, int, uintptr_t); int sync(); uintptr_t times(uintptr_t); int umask(int); int uname(uintptr_t); int unlink(uintptr_t); int unlinkat(int, uintptr_t, int); int ustat(int, uintptr_t); int write(int, uintptr_t, size_t); int dup2(int, int); int posix_fadvise64(int, long long, long long, int); int fchown(int, int, int); int fstat(int, uintptr_t); int fstatat(int, uintptr_t, uintptr_t, int); int fstatfs(int, uintptr_t); int ftruncate(int, long long); int getegid(); int geteuid(); int getgid(); int getuid(); int lchown(uintptr_t, int, int); int listen(int, int); int lstat(uintptr_t, uintptr_t); int pause(); int pread64(int, uintptr_t, size_t, long long); int pwrite64(int, uintptr_t, size_t, long long); #define c_select select int select(int, uintptr_t, uintptr_t, uintptr_t, uintptr_t); int pselect(int, uintptr_t, uintptr_t, uintptr_t, uintptr_t, uintptr_t); int setregid(int, int); int setreuid(int, int); int shutdown(int, int); long long splice(int, uintptr_t, int, uintptr_t, int, int); int stat(uintptr_t, uintptr_t); int statfs(uintptr_t, uintptr_t); int truncate(uintptr_t, long long); int bind(int, uintptr_t, uintptr_t); int connect(int, uintptr_t, uintptr_t); int getgroups(int, uintptr_t); int setgroups(int, uintptr_t); int getsockopt(int, int, int, uintptr_t, uintptr_t); int setsockopt(int, int, int, uintptr_t, uintptr_t); int socket(int, int, int); int socketpair(int, int, int, uintptr_t); int getpeername(int, uintptr_t, uintptr_t); int getsockname(int, uintptr_t, uintptr_t); int recvfrom(int, uintptr_t, size_t, int, uintptr_t, uintptr_t); int sendto(int, uintptr_t, size_t, int, uintptr_t, uintptr_t); int nrecvmsg(int, uintptr_t, int); int nsendmsg(int, uintptr_t, int); int munmap(uintptr_t, uintptr_t); int madvise(uintptr_t, size_t, int); int mprotect(uintptr_t, size_t, int); int mlock(uintptr_t, size_t); int mlockall(int); int msync(uintptr_t, size_t, int); int munlock(uintptr_t, size_t); int munlockall(); int pipe(uintptr_t); int poll(uintptr_t, int, int); int gettimeofday(uintptr_t, uintptr_t); int time(uintptr_t); int utime(uintptr_t, uintptr_t); unsigned long long getsystemcfg(int); int umount(uintptr_t); int getrlimit64(int, uintptr_t); long long lseek64(int, long long, int); uintptr_t mmap(uintptr_t, uintptr_t, int, int, int, long long); */ import "C" import ( "unsafe" ) // THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT func utimes(path string, times *[2]Timeval) (err error) { _p0 := uintptr(unsafe.Pointer(C.CString(path))) r0, er := C.utimes(C.uintptr_t(_p0), C.uintptr_t(uintptr(unsafe.Pointer(times)))) if r0 == -1 && er != nil { err = er } return } // THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT func utimensat(dirfd int, path string, times *[2]Timespec, flag int) (err error) { _p0 := uintptr(unsafe.Pointer(C.CString(path))) r0, er := C.utimensat(C.int(dirfd), C.uintptr_t(_p0), C.uintptr_t(uintptr(unsafe.Pointer(times))), C.int(flag)) if r0 == -1 && er != nil { err = er } return } // THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT func getcwd(buf []byte) (err error) { var _p0 *byte if len(buf) > 0 { _p0 = &buf[0] } var _p1 int _p1 = len(buf) r0, er := C.getcwd(C.uintptr_t(uintptr(unsafe.Pointer(_p0))), C.size_t(_p1)) if r0 == -1 && er != nil { err = er } 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, er := C.accept(C.int(s), C.uintptr_t(uintptr(unsafe.Pointer(rsa))), C.uintptr_t(uintptr(unsafe.Pointer(addrlen)))) fd = int(r0) if r0 == -1 && er != nil { err = er } return } // THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT func getdirent(fd int, buf []byte) (n int, err error) { var _p0 *byte if len(buf) > 0 { _p0 = &buf[0] } var _p1 int _p1 = len(buf) r0, er := C.getdirent(C.int(fd), C.uintptr_t(uintptr(unsafe.Pointer(_p0))), C.size_t(_p1)) n = int(r0) if r0 == -1 && er != nil { err = er } return } // THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT func wait4(pid Pid_t, status *_C_int, options int, rusage *Rusage) (wpid Pid_t, err error) { r0, er := C.wait4(C.int(pid), C.uintptr_t(uintptr(unsafe.Pointer(status))), C.int(options), C.uintptr_t(uintptr(unsafe.Pointer(rusage)))) wpid = Pid_t(r0) if r0 == -1 && er != nil { err = er } return } // THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT func ioctl(fd int, req int, arg uintptr) (err error) { r0, er := C.ioctl(C.int(fd), C.int(req), C.uintptr_t(arg)) if r0 == -1 && er != nil { err = er } return } // THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT func ioctlPtr(fd int, req int, arg unsafe.Pointer) (err error) { r0, er := C.ioctl(C.int(fd), C.int(req), C.uintptr_t(uintptr(arg))) if r0 == -1 && er != nil { err = er } return } // THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT func FcntlInt(fd uintptr, cmd int, arg int) (r int, err error) { r0, er := C.fcntl(C.uintptr_t(fd), C.int(cmd), C.uintptr_t(arg)) r = int(r0) if r0 == -1 && er != nil { err = er } return } // THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT func FcntlFlock(fd uintptr, cmd int, lk *Flock_t) (err error) { r0, er := C.fcntl(C.uintptr_t(fd), C.int(cmd), C.uintptr_t(uintptr(unsafe.Pointer(lk)))) if r0 == -1 && er != nil { err = er } 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, er := C.fcntl(C.uintptr_t(fd), C.int(cmd), C.uintptr_t(arg)) val = int(r0) if r0 == -1 && er != nil { err = er } return } // THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT func fsyncRange(fd int, how int, start int64, length int64) (err error) { r0, er := C.fsync_range(C.int(fd), C.int(how), C.longlong(start), C.longlong(length)) if r0 == -1 && er != nil { err = er } return } // THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT func Acct(path string) (err error) { _p0 := uintptr(unsafe.Pointer(C.CString(path))) r0, er := C.acct(C.uintptr_t(_p0)) if r0 == -1 && er != nil { err = er } return } // THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT func Chdir(path string) (err error) { _p0 := uintptr(unsafe.Pointer(C.CString(path))) r0, er := C.chdir(C.uintptr_t(_p0)) if r0 == -1 && er != nil { err = er } return } // THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT func Chroot(path string) (err error) { _p0 := uintptr(unsafe.Pointer(C.CString(path))) r0, er := C.chroot(C.uintptr_t(_p0)) if r0 == -1 && er != nil { err = er } return } // THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT func Close(fd int) (err error) { r0, er := C.close(C.int(fd)) if r0 == -1 && er != nil { err = er } return } // THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT func Dup(oldfd int) (fd int, err error) { r0, er := C.dup(C.int(oldfd)) fd = int(r0) if r0 == -1 && er != nil { err = er } return } // THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT func Exit(code int) { C.exit(C.int(code)) 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) { _p0 := uintptr(unsafe.Pointer(C.CString(path))) r0, er := C.faccessat(C.int(dirfd), C.uintptr_t(_p0), C.uint(mode), C.int(flags)) if r0 == -1 && er != nil { err = er } return } // THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT func Fchdir(fd int) (err error) { r0, er := C.fchdir(C.int(fd)) if r0 == -1 && er != nil { err = er } return } // THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT func Fchmod(fd int, mode uint32) (err error) { r0, er := C.fchmod(C.int(fd), C.uint(mode)) if r0 == -1 && er != nil { err = er } 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) { _p0 := uintptr(unsafe.Pointer(C.CString(path))) r0, er := C.fchmodat(C.int(dirfd), C.uintptr_t(_p0), C.uint(mode), C.int(flags)) if r0 == -1 && er != nil { err = er } 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) { _p0 := uintptr(unsafe.Pointer(C.CString(path))) r0, er := C.fchownat(C.int(dirfd), C.uintptr_t(_p0), C.int(uid), C.int(gid), C.int(flags)) if r0 == -1 && er != nil { err = er } return } // THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT func Fdatasync(fd int) (err error) { r0, er := C.fdatasync(C.int(fd)) if r0 == -1 && er != nil { err = er } return } // THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT func Getpgid(pid int) (pgid int, err error) { r0, er := C.getpgid(C.int(pid)) pgid = int(r0) if r0 == -1 && er != nil { err = er } return } // THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT func Getpgrp() (pid int) { r0, _ := C.getpgrp() pid = int(r0) return } // THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT func Getpid() (pid int) { r0, _ := C.getpid() pid = int(r0) return } // THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT func Getppid() (ppid int) { r0, _ := C.getppid() 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, er := C.getpriority(C.int(which), C.int(who)) prio = int(r0) if r0 == -1 && er != nil { err = er } return } // THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT func Getrusage(who int, rusage *Rusage) (err error) { r0, er := C.getrusage(C.int(who), C.uintptr_t(uintptr(unsafe.Pointer(rusage)))) if r0 == -1 && er != nil { err = er } return } // THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT func Getsid(pid int) (sid int, err error) { r0, er := C.getsid(C.int(pid)) sid = int(r0) if r0 == -1 && er != nil { err = er } return } // THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT func Kill(pid int, sig Signal) (err error) { r0, er := C.kill(C.int(pid), C.int(sig)) if r0 == -1 && er != nil { err = er } 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 *byte if len(buf) > 0 { _p0 = &buf[0] } var _p1 int _p1 = len(buf) r0, er := C.syslog(C.int(typ), C.uintptr_t(uintptr(unsafe.Pointer(_p0))), C.size_t(_p1)) n = int(r0) if r0 == -1 && er != nil { err = er } return } // THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT func Mkdir(dirfd int, path string, mode uint32) (err error) { _p0 := uintptr(unsafe.Pointer(C.CString(path))) r0, er := C.mkdir(C.int(dirfd), C.uintptr_t(_p0), C.uint(mode)) if r0 == -1 && er != nil { err = er } return } // THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT func Mkdirat(dirfd int, path string, mode uint32) (err error) { _p0 := uintptr(unsafe.Pointer(C.CString(path))) r0, er := C.mkdirat(C.int(dirfd), C.uintptr_t(_p0), C.uint(mode)) if r0 == -1 && er != nil { err = er } return } // THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT func Mkfifo(path string, mode uint32) (err error) { _p0 := uintptr(unsafe.Pointer(C.CString(path))) r0, er := C.mkfifo(C.uintptr_t(_p0), C.uint(mode)) if r0 == -1 && er != nil { err = er } return } // THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT func Mknod(path string, mode uint32, dev int) (err error) { _p0 := uintptr(unsafe.Pointer(C.CString(path))) r0, er := C.mknod(C.uintptr_t(_p0), C.uint(mode), C.int(dev)) if r0 == -1 && er != nil { err = er } 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) { _p0 := uintptr(unsafe.Pointer(C.CString(path))) r0, er := C.mknodat(C.int(dirfd), C.uintptr_t(_p0), C.uint(mode), C.int(dev)) if r0 == -1 && er != nil { err = er } return } // THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT func Nanosleep(time *Timespec, leftover *Timespec) (err error) { r0, er := C.nanosleep(C.uintptr_t(uintptr(unsafe.Pointer(time))), C.uintptr_t(uintptr(unsafe.Pointer(leftover)))) if r0 == -1 && er != nil { err = er } 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) { _p0 := uintptr(unsafe.Pointer(C.CString(path))) r0, er := C.open64(C.uintptr_t(_p0), C.int(mode), C.uint(perm)) fd = int(r0) if r0 == -1 && er != nil { err = er } 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) { _p0 := uintptr(unsafe.Pointer(C.CString(path))) r0, er := C.openat(C.int(dirfd), C.uintptr_t(_p0), C.int(flags), C.uint(mode)) fd = int(r0) if r0 == -1 && er != nil { err = er } 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 *byte if len(p) > 0 { _p0 = &p[0] } var _p1 int _p1 = len(p) r0, er := C.read(C.int(fd), C.uintptr_t(uintptr(unsafe.Pointer(_p0))), C.size_t(_p1)) n = int(r0) if r0 == -1 && er != nil { err = er } return } // THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT func Readlink(path string, buf []byte) (n int, err error) { _p0 := uintptr(unsafe.Pointer(C.CString(path))) var _p1 *byte if len(buf) > 0 { _p1 = &buf[0] } var _p2 int _p2 = len(buf) r0, er := C.readlink(C.uintptr_t(_p0), C.uintptr_t(uintptr(unsafe.Pointer(_p1))), C.size_t(_p2)) n = int(r0) if r0 == -1 && er != nil { err = er } 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) { _p0 := uintptr(unsafe.Pointer(C.CString(oldpath))) _p1 := uintptr(unsafe.Pointer(C.CString(newpath))) r0, er := C.renameat(C.int(olddirfd), C.uintptr_t(_p0), C.int(newdirfd), C.uintptr_t(_p1)) if r0 == -1 && er != nil { err = er } return } // THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT func Setdomainname(p []byte) (err error) { var _p0 *byte if len(p) > 0 { _p0 = &p[0] } var _p1 int _p1 = len(p) r0, er := C.setdomainname(C.uintptr_t(uintptr(unsafe.Pointer(_p0))), C.size_t(_p1)) if r0 == -1 && er != nil { err = er } return } // THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT func Sethostname(p []byte) (err error) { var _p0 *byte if len(p) > 0 { _p0 = &p[0] } var _p1 int _p1 = len(p) r0, er := C.sethostname(C.uintptr_t(uintptr(unsafe.Pointer(_p0))), C.size_t(_p1)) if r0 == -1 && er != nil { err = er } return } // THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT func Setpgid(pid int, pgid int) (err error) { r0, er := C.setpgid(C.int(pid), C.int(pgid)) if r0 == -1 && er != nil { err = er } return } // THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT func Setsid() (pid int, err error) { r0, er := C.setsid() pid = int(r0) if r0 == -1 && er != nil { err = er } return } // THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT func Settimeofday(tv *Timeval) (err error) { r0, er := C.settimeofday(C.uintptr_t(uintptr(unsafe.Pointer(tv)))) if r0 == -1 && er != nil { err = er } return } // THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT func Setuid(uid int) (err error) { r0, er := C.setuid(C.int(uid)) if r0 == -1 && er != nil { err = er } return } // THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT func Setgid(uid int) (err error) { r0, er := C.setgid(C.int(uid)) if r0 == -1 && er != nil { err = er } return } // THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT func Setpriority(which int, who int, prio int) (err error) { r0, er := C.setpriority(C.int(which), C.int(who), C.int(prio)) if r0 == -1 && er != nil { err = er } return } // THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT func Statx(dirfd int, path string, flags int, mask int, stat *Statx_t) (err error) { _p0 := uintptr(unsafe.Pointer(C.CString(path))) r0, er := C.statx(C.int(dirfd), C.uintptr_t(_p0), C.int(flags), C.int(mask), C.uintptr_t(uintptr(unsafe.Pointer(stat)))) if r0 == -1 && er != nil { err = er } return } // THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT func Sync() { C.sync() return } // THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT func Times(tms *Tms) (ticks uintptr, err error) { r0, er := C.times(C.uintptr_t(uintptr(unsafe.Pointer(tms)))) ticks = uintptr(r0) if uintptr(r0) == ^uintptr(0) && er != nil { err = er } return } // THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT func Umask(mask int) (oldmask int) { r0, _ := C.umask(C.int(mask)) oldmask = int(r0) return } // THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT func Uname(buf *Utsname) (err error) { r0, er := C.uname(C.uintptr_t(uintptr(unsafe.Pointer(buf)))) if r0 == -1 && er != nil { err = er } return } // THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT func Unlink(path string) (err error) { _p0 := uintptr(unsafe.Pointer(C.CString(path))) r0, er := C.unlink(C.uintptr_t(_p0)) if r0 == -1 && er != nil { err = er } return } // THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT func Unlinkat(dirfd int, path string, flags int) (err error) { _p0 := uintptr(unsafe.Pointer(C.CString(path))) r0, er := C.unlinkat(C.int(dirfd), C.uintptr_t(_p0), C.int(flags)) if r0 == -1 && er != nil { err = er } return } // THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT func Ustat(dev int, ubuf *Ustat_t) (err error) { r0, er := C.ustat(C.int(dev), C.uintptr_t(uintptr(unsafe.Pointer(ubuf)))) if r0 == -1 && er != nil { err = er } 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 *byte if len(p) > 0 { _p0 = &p[0] } var _p1 int _p1 = len(p) r0, er := C.write(C.int(fd), C.uintptr_t(uintptr(unsafe.Pointer(_p0))), C.size_t(_p1)) n = int(r0) if r0 == -1 && er != nil { err = er } return } // THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT func Dup2(oldfd int, newfd int) (err error) { r0, er := C.dup2(C.int(oldfd), C.int(newfd)) if r0 == -1 && er != nil { err = er } 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) { r0, er := C.posix_fadvise64(C.int(fd), C.longlong(offset), C.longlong(length), C.int(advice)) if r0 == -1 && er != nil { err = er } return } // THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT func Fchown(fd int, uid int, gid int) (err error) { r0, er := C.fchown(C.int(fd), C.int(uid), C.int(gid)) if r0 == -1 && er != nil { err = er } return } // THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT func fstat(fd int, stat *Stat_t) (err error) { r0, er := C.fstat(C.int(fd), C.uintptr_t(uintptr(unsafe.Pointer(stat)))) if r0 == -1 && er != nil { err = er } return } // THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT func fstatat(dirfd int, path string, stat *Stat_t, flags int) (err error) { _p0 := uintptr(unsafe.Pointer(C.CString(path))) r0, er := C.fstatat(C.int(dirfd), C.uintptr_t(_p0), C.uintptr_t(uintptr(unsafe.Pointer(stat))), C.int(flags)) if r0 == -1 && er != nil { err = er } return } // THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT func Fstatfs(fd int, buf *Statfs_t) (err error) { r0, er := C.fstatfs(C.int(fd), C.uintptr_t(uintptr(unsafe.Pointer(buf)))) if r0 == -1 && er != nil { err = er } return } // THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT func Ftruncate(fd int, length int64) (err error) { r0, er := C.ftruncate(C.int(fd), C.longlong(length)) if r0 == -1 && er != nil { err = er } return } // THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT func Getegid() (egid int) { r0, _ := C.getegid() egid = int(r0) return } // THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT func Geteuid() (euid int) { r0, _ := C.geteuid() euid = int(r0) return } // THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT func Getgid() (gid int) { r0, _ := C.getgid() gid = int(r0) return } // THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT func Getuid() (uid int) { r0, _ := C.getuid() 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) { _p0 := uintptr(unsafe.Pointer(C.CString(path))) r0, er := C.lchown(C.uintptr_t(_p0), C.int(uid), C.int(gid)) if r0 == -1 && er != nil { err = er } return } // THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT func Listen(s int, n int) (err error) { r0, er := C.listen(C.int(s), C.int(n)) if r0 == -1 && er != nil { err = er } return } // THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT func lstat(path string, stat *Stat_t) (err error) { _p0 := uintptr(unsafe.Pointer(C.CString(path))) r0, er := C.lstat(C.uintptr_t(_p0), C.uintptr_t(uintptr(unsafe.Pointer(stat)))) if r0 == -1 && er != nil { err = er } return } // THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT func Pause() (err error) { r0, er := C.pause() if r0 == -1 && er != nil { err = er } 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 *byte if len(p) > 0 { _p0 = &p[0] } var _p1 int _p1 = len(p) r0, er := C.pread64(C.int(fd), C.uintptr_t(uintptr(unsafe.Pointer(_p0))), C.size_t(_p1), C.longlong(offset)) n = int(r0) if r0 == -1 && er != nil { err = er } 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 *byte if len(p) > 0 { _p0 = &p[0] } var _p1 int _p1 = len(p) r0, er := C.pwrite64(C.int(fd), C.uintptr_t(uintptr(unsafe.Pointer(_p0))), C.size_t(_p1), C.longlong(offset)) n = int(r0) if r0 == -1 && er != nil { err = er } 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, er := C.c_select(C.int(nfd), C.uintptr_t(uintptr(unsafe.Pointer(r))), C.uintptr_t(uintptr(unsafe.Pointer(w))), C.uintptr_t(uintptr(unsafe.Pointer(e))), C.uintptr_t(uintptr(unsafe.Pointer(timeout)))) n = int(r0) if r0 == -1 && er != nil { err = er } return } // THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT func Pselect(nfd int, r *FdSet, w *FdSet, e *FdSet, timeout *Timespec, sigmask *Sigset_t) (n int, err error) { r0, er := C.pselect(C.int(nfd), C.uintptr_t(uintptr(unsafe.Pointer(r))), C.uintptr_t(uintptr(unsafe.Pointer(w))), C.uintptr_t(uintptr(unsafe.Pointer(e))), C.uintptr_t(uintptr(unsafe.Pointer(timeout))), C.uintptr_t(uintptr(unsafe.Pointer(sigmask)))) n = int(r0) if r0 == -1 && er != nil { err = er } return } // THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT func Setregid(rgid int, egid int) (err error) { r0, er := C.setregid(C.int(rgid), C.int(egid)) if r0 == -1 && er != nil { err = er } return } // THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT func Setreuid(ruid int, euid int) (err error) { r0, er := C.setreuid(C.int(ruid), C.int(euid)) if r0 == -1 && er != nil { err = er } return } // THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT func Shutdown(fd int, how int) (err error) { r0, er := C.shutdown(C.int(fd), C.int(how)) if r0 == -1 && er != nil { err = er } 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, er := C.splice(C.int(rfd), C.uintptr_t(uintptr(unsafe.Pointer(roff))), C.int(wfd), C.uintptr_t(uintptr(unsafe.Pointer(woff))), C.int(len), C.int(flags)) n = int64(r0) if r0 == -1 && er != nil { err = er } return } // THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT func stat(path string, statptr *Stat_t) (err error) { _p0 := uintptr(unsafe.Pointer(C.CString(path))) r0, er := C.stat(C.uintptr_t(_p0), C.uintptr_t(uintptr(unsafe.Pointer(statptr)))) if r0 == -1 && er != nil { err = er } return } // THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT func Statfs(path string, buf *Statfs_t) (err error) { _p0 := uintptr(unsafe.Pointer(C.CString(path))) r0, er := C.statfs(C.uintptr_t(_p0), C.uintptr_t(uintptr(unsafe.Pointer(buf)))) if r0 == -1 && er != nil { err = er } return } // THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT func Truncate(path string, length int64) (err error) { _p0 := uintptr(unsafe.Pointer(C.CString(path))) r0, er := C.truncate(C.uintptr_t(_p0), C.longlong(length)) if r0 == -1 && er != nil { err = er } 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) { r0, er := C.bind(C.int(s), C.uintptr_t(uintptr(addr)), C.uintptr_t(uintptr(addrlen))) if r0 == -1 && er != nil { err = er } 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) { r0, er := C.connect(C.int(s), C.uintptr_t(uintptr(addr)), C.uintptr_t(uintptr(addrlen))) if r0 == -1 && er != nil { err = er } 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, er := C.getgroups(C.int(n), C.uintptr_t(uintptr(unsafe.Pointer(list)))) nn = int(r0) if r0 == -1 && er != nil { err = er } return } // THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT func setgroups(n int, list *_Gid_t) (err error) { r0, er := C.setgroups(C.int(n), C.uintptr_t(uintptr(unsafe.Pointer(list)))) if r0 == -1 && er != nil { err = er } 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) { r0, er := C.getsockopt(C.int(s), C.int(level), C.int(name), C.uintptr_t(uintptr(val)), C.uintptr_t(uintptr(unsafe.Pointer(vallen)))) if r0 == -1 && er != nil { err = er } 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) { r0, er := C.setsockopt(C.int(s), C.int(level), C.int(name), C.uintptr_t(uintptr(val)), C.uintptr_t(vallen)) if r0 == -1 && er != nil { err = er } 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, er := C.socket(C.int(domain), C.int(typ), C.int(proto)) fd = int(r0) if r0 == -1 && er != nil { err = er } 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) { r0, er := C.socketpair(C.int(domain), C.int(typ), C.int(proto), C.uintptr_t(uintptr(unsafe.Pointer(fd)))) if r0 == -1 && er != nil { err = er } return } // THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT func getpeername(fd int, rsa *RawSockaddrAny, addrlen *_Socklen) (err error) { r0, er := C.getpeername(C.int(fd), C.uintptr_t(uintptr(unsafe.Pointer(rsa))), C.uintptr_t(uintptr(unsafe.Pointer(addrlen)))) if r0 == -1 && er != nil { err = er } return } // THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT func getsockname(fd int, rsa *RawSockaddrAny, addrlen *_Socklen) (err error) { r0, er := C.getsockname(C.int(fd), C.uintptr_t(uintptr(unsafe.Pointer(rsa))), C.uintptr_t(uintptr(unsafe.Pointer(addrlen)))) if r0 == -1 && er != nil { err = er } 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 *byte if len(p) > 0 { _p0 = &p[0] } var _p1 int _p1 = len(p) r0, er := C.recvfrom(C.int(fd), C.uintptr_t(uintptr(unsafe.Pointer(_p0))), C.size_t(_p1), C.int(flags), C.uintptr_t(uintptr(unsafe.Pointer(from))), C.uintptr_t(uintptr(unsafe.Pointer(fromlen)))) n = int(r0) if r0 == -1 && er != nil { err = er } 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 *byte if len(buf) > 0 { _p0 = &buf[0] } var _p1 int _p1 = len(buf) r0, er := C.sendto(C.int(s), C.uintptr_t(uintptr(unsafe.Pointer(_p0))), C.size_t(_p1), C.int(flags), C.uintptr_t(uintptr(to)), C.uintptr_t(uintptr(addrlen))) if r0 == -1 && er != nil { err = er } 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, er := C.nrecvmsg(C.int(s), C.uintptr_t(uintptr(unsafe.Pointer(msg))), C.int(flags)) n = int(r0) if r0 == -1 && er != nil { err = er } 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, er := C.nsendmsg(C.int(s), C.uintptr_t(uintptr(unsafe.Pointer(msg))), C.int(flags)) n = int(r0) if r0 == -1 && er != nil { err = er } return } // THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT func munmap(addr uintptr, length uintptr) (err error) { r0, er := C.munmap(C.uintptr_t(addr), C.uintptr_t(length)) if r0 == -1 && er != nil { err = er } return } // THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT func Madvise(b []byte, advice int) (err error) { var _p0 *byte if len(b) > 0 { _p0 = &b[0] } var _p1 int _p1 = len(b) r0, er := C.madvise(C.uintptr_t(uintptr(unsafe.Pointer(_p0))), C.size_t(_p1), C.int(advice)) if r0 == -1 && er != nil { err = er } return } // THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT func Mprotect(b []byte, prot int) (err error) { var _p0 *byte if len(b) > 0 { _p0 = &b[0] } var _p1 int _p1 = len(b) r0, er := C.mprotect(C.uintptr_t(uintptr(unsafe.Pointer(_p0))), C.size_t(_p1), C.int(prot)) if r0 == -1 && er != nil { err = er } return } // THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT func Mlock(b []byte) (err error) { var _p0 *byte if len(b) > 0 { _p0 = &b[0] } var _p1 int _p1 = len(b) r0, er := C.mlock(C.uintptr_t(uintptr(unsafe.Pointer(_p0))), C.size_t(_p1)) if r0 == -1 && er != nil { err = er } return } // THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT func Mlockall(flags int) (err error) { r0, er := C.mlockall(C.int(flags)) if r0 == -1 && er != nil { err = er } return } // THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT func Msync(b []byte, flags int) (err error) { var _p0 *byte if len(b) > 0 { _p0 = &b[0] } var _p1 int _p1 = len(b) r0, er := C.msync(C.uintptr_t(uintptr(unsafe.Pointer(_p0))), C.size_t(_p1), C.int(flags)) if r0 == -1 && er != nil { err = er } return } // THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT func Munlock(b []byte) (err error) { var _p0 *byte if len(b) > 0 { _p0 = &b[0] } var _p1 int _p1 = len(b) r0, er := C.munlock(C.uintptr_t(uintptr(unsafe.Pointer(_p0))), C.size_t(_p1)) if r0 == -1 && er != nil { err = er } return } // THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT func Munlockall() (err error) { r0, er := C.munlockall() if r0 == -1 && er != nil { err = er } return } // THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT func pipe(p *[2]_C_int) (err error) { r0, er := C.pipe(C.uintptr_t(uintptr(unsafe.Pointer(p)))) if r0 == -1 && er != nil { err = er } 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, er := C.poll(C.uintptr_t(uintptr(unsafe.Pointer(fds))), C.int(nfds), C.int(timeout)) n = int(r0) if r0 == -1 && er != nil { err = er } return } // THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT func gettimeofday(tv *Timeval, tzp *Timezone) (err error) { r0, er := C.gettimeofday(C.uintptr_t(uintptr(unsafe.Pointer(tv))), C.uintptr_t(uintptr(unsafe.Pointer(tzp)))) if r0 == -1 && er != nil { err = er } 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, er := C.time(C.uintptr_t(uintptr(unsafe.Pointer(t)))) tt = Time_t(r0) if r0 == -1 && er != nil { err = er } return } // THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT func Utime(path string, buf *Utimbuf) (err error) { _p0 := uintptr(unsafe.Pointer(C.CString(path))) r0, er := C.utime(C.uintptr_t(_p0), C.uintptr_t(uintptr(unsafe.Pointer(buf)))) if r0 == -1 && er != nil { err = er } return } // THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT func Getsystemcfg(label int) (n uint64) { r0, _ := C.getsystemcfg(C.int(label)) n = uint64(r0) return } // THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT func umount(target string) (err error) { _p0 := uintptr(unsafe.Pointer(C.CString(target))) r0, er := C.umount(C.uintptr_t(_p0)) if r0 == -1 && er != nil { err = er } return } // THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT func Getrlimit(resource int, rlim *Rlimit) (err error) { r0, er := C.getrlimit64(C.int(resource), C.uintptr_t(uintptr(unsafe.Pointer(rlim)))) if r0 == -1 && er != nil { err = er } 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, er := C.lseek64(C.int(fd), C.longlong(offset), C.int(whence)) off = int64(r0) if r0 == -1 && er != nil { err = er } 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, er := C.mmap(C.uintptr_t(addr), C.uintptr_t(length), C.int(prot), C.int(flags), C.int(fd), C.longlong(offset)) xaddr = uintptr(r0) if uintptr(r0) == ^uintptr(0) && er != nil { err = er } return } dependencies/pkg/mod/golang.org/x/sys@v0.26.0/unix/zsysnum_netbsd_arm.go0000644000000000000000000006334615107355264025102 0ustar rootroot// go run mksysnum.go http://cvsweb.netbsd.org/bsdweb.cgi/~checkout~/src/sys/kern/syscalls.master // Code generated by the command above; see README.md. DO NOT EDIT. //go: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_MSYNC = 277 // { int|sys|13|msync(void *addr, size_t len, int flags); } 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); } ) dependencies/pkg/mod/golang.org/x/sys@v0.26.0/unix/zerrors_openbsd_arm64.go0000644000000000000000000023506515107355264025404 0ustar rootroot// mkerrors.sh -m64 // Code generated by the command above; see README.md. DO NOT EDIT. //go:build arm64 && openbsd // Code generated by cmd/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 ALTWERASE = 0x200 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_FILDROP_CAPTURE = 0x1 BPF_FILDROP_DROP = 0x2 BPF_FILDROP_PASS = 0x0 BPF_F_DIR_IN = 0x10 BPF_F_DIR_MASK = 0x30 BPF_F_DIR_OUT = 0x20 BPF_F_DIR_SHIFT = 0x4 BPF_F_FLOWID = 0x8 BPF_F_PRI_MASK = 0x7 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_RND = 0xc0 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_BOOTTIME = 0x6 CLOCK_MONOTONIC = 0x3 CLOCK_PROCESS_CPUTIME_ID = 0x2 CLOCK_REALTIME = 0x0 CLOCK_THREAD_CPUTIME_ID = 0x4 CLOCK_UPTIME = 0x5 CPUSTATES = 0x6 CP_IDLE = 0x5 CP_INTR = 0x4 CP_NICE = 0x1 CP_SPIN = 0x3 CP_SYS = 0x2 CP_USER = 0x0 CREAD = 0x800 CRTSCTS = 0x10000 CS5 = 0x0 CS6 = 0x100 CS7 = 0x200 CS8 = 0x300 CSIZE = 0x300 CSTART = 0x11 CSTATUS = 0xff CSTOP = 0x13 CSTOPB = 0x400 CSUSP = 0x1a CTL_HW = 0x6 CTL_KERN = 0x1 CTL_MAXNAME = 0xc CTL_NET = 0x4 DIOCADDQUEUE = 0xc110445d DIOCADDRULE = 0xcd604404 DIOCADDSTATE = 0xc1084425 DIOCCHANGERULE = 0xcd60441a DIOCCLRIFFLAG = 0xc028445a DIOCCLRSRCNODES = 0x20004455 DIOCCLRSTATES = 0xc0e04412 DIOCCLRSTATUS = 0xc0284416 DIOCGETLIMIT = 0xc0084427 DIOCGETQSTATS = 0xc1204460 DIOCGETQUEUE = 0xc110445f DIOCGETQUEUES = 0xc110445e DIOCGETRULE = 0xcd604407 DIOCGETRULES = 0xcd604406 DIOCGETRULESET = 0xc444443b DIOCGETRULESETS = 0xc444443a DIOCGETSRCNODES = 0xc0104454 DIOCGETSTATE = 0xc1084413 DIOCGETSTATES = 0xc0104419 DIOCGETSTATUS = 0xc1e84415 DIOCGETSYNFLWATS = 0xc0084463 DIOCGETTIMEOUT = 0xc008441e DIOCIGETIFACES = 0xc0284457 DIOCKILLSRCNODES = 0xc080445b DIOCKILLSTATES = 0xc0e04429 DIOCNATLOOK = 0xc0504417 DIOCOSFPADD = 0xc088444f DIOCOSFPFLUSH = 0x2000444e DIOCOSFPGET = 0xc0884450 DIOCRADDADDRS = 0xc4504443 DIOCRADDTABLES = 0xc450443d DIOCRCLRADDRS = 0xc4504442 DIOCRCLRASTATS = 0xc4504448 DIOCRCLRTABLES = 0xc450443c DIOCRCLRTSTATS = 0xc4504441 DIOCRDELADDRS = 0xc4504444 DIOCRDELTABLES = 0xc450443e DIOCRGETADDRS = 0xc4504446 DIOCRGETASTATS = 0xc4504447 DIOCRGETTABLES = 0xc450443f DIOCRGETTSTATS = 0xc4504440 DIOCRINADEFINE = 0xc450444d DIOCRSETADDRS = 0xc4504445 DIOCRSETTFLAGS = 0xc450444a DIOCRTSTADDRS = 0xc4504449 DIOCSETDEBUG = 0xc0044418 DIOCSETHOSTID = 0xc0044456 DIOCSETIFFLAG = 0xc0284459 DIOCSETLIMIT = 0xc0084428 DIOCSETREASS = 0xc004445c DIOCSETSTATUSIF = 0xc0284414 DIOCSETSYNCOOKIES = 0xc0014462 DIOCSETSYNFLWATS = 0xc0084461 DIOCSETTIMEOUT = 0xc008441d DIOCSTART = 0x20004401 DIOCSTOP = 0x20004402 DIOCXBEGIN = 0xc0104451 DIOCXCOMMIT = 0xc0104452 DIOCXROLLBACK = 0xc0104453 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_OPENFLOW = 0x10b 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 DLT_USBPCAP = 0xf9 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 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 ETH64_8021_RSVD_MASK = 0xfffffffffff0 ETH64_8021_RSVD_PREFIX = 0x180c2000000 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_EAPOL = 0x888e 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_MACSEC = 0x88e5 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_NHRP = 0x2001 ETHERTYPE_NOVELL = 0x8138 ETHERTYPE_NS = 0x600 ETHERTYPE_NSAT = 0x601 ETHERTYPE_NSCOMPAT = 0x807 ETHERTYPE_NSH = 0x984f ETHERTYPE_NTRAILER = 0x10 ETHERTYPE_OS9 = 0x7007 ETHERTYPE_OS9NET = 0x7009 ETHERTYPE_PACER = 0x80c6 ETHERTYPE_PBB = 0x88e7 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_HARDMTU_LEN = 0xff9b ETHER_MAX_LEN = 0x5ee ETHER_MIN_LEN = 0x40 ETHER_TYPE_LEN = 0x2 ETHER_VLAN_ENCAP_LEN = 0x4 EVFILT_AIO = -0x3 EVFILT_DEVICE = -0x8 EVFILT_EXCEPT = -0x9 EVFILT_PROC = -0x5 EVFILT_READ = -0x1 EVFILT_SIGNAL = -0x6 EVFILT_SYSCOUNT = 0x9 EVFILT_TIMER = -0x7 EVFILT_VNODE = -0x4 EVFILT_WRITE = -0x2 EVL_ENCAPLEN = 0x4 EVL_PRIO_BITS = 0xd EVL_PRIO_MAX = 0x7 EVL_VLID_MASK = 0xfff EVL_VLID_MAX = 0xffe EVL_VLID_MIN = 0x1 EVL_VLID_NULL = 0x0 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_ONESHOT = 0x10 EV_RECEIPT = 0x40 EV_SYSFLAGS = 0xf800 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_ISATTY = 0xb 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 HW_MACHINE = 0x1 ICANON = 0x100 ICMP6_FILTER = 0x12 ICRNL = 0x100 IEXTEN = 0x400 IFAN_ARRIVAL = 0x0 IFAN_DEPARTURE = 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_OACTIVE = 0x400 IFF_POINTOPOINT = 0x10 IFF_PROMISC = 0x100 IFF_RUNNING = 0x40 IFF_SIMPLEX = 0x800 IFF_STATICARP = 0x20 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_MBIM = 0xfa 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_WIREGUARD = 0xfb 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_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_SCTP = 0x84 IPPROTO_TCP = 0x6 IPPROTO_TP = 0x1d IPPROTO_UDP = 0x11 IPPROTO_UDPLITE = 0x88 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_MINHOPCOUNT = 0x41 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_DROP_MEMBERSHIP = 0xd IP_ESP_NETWORK_LEVEL = 0x16 IP_ESP_TRANS_LEVEL = 0x15 IP_HDRINCL = 0x2 IP_IPCOMP_LEVEL = 0x1d IP_IPDEFTTL = 0x25 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_SENDSRCADDR = 0x7 IP_TOS = 0x3 IP_TTL = 0x4 ISIG = 0x80 ISTRIP = 0x20 ITIMER_PROF = 0x2 ITIMER_REAL = 0x0 ITIMER_VIRTUAL = 0x1 IUCLC = 0x1000 IXANY = 0x800 IXOFF = 0x400 IXON = 0x200 KERN_HOSTNAME = 0xa KERN_OSRELEASE = 0x2 KERN_OSTYPE = 0x1 KERN_VERSION = 0x4 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_ANONYMOUS = 0x1000 MAP_CONCEAL = 0x8000 MAP_COPY = 0x2 MAP_FILE = 0x0 MAP_FIXED = 0x10 MAP_FLAGMASK = 0xfff7 MAP_HASSEMAPHORE = 0x0 MAP_INHERIT = 0x0 MAP_INHERIT_COPY = 0x1 MAP_INHERIT_NONE = 0x2 MAP_INHERIT_SHARE = 0x0 MAP_INHERIT_ZERO = 0x3 MAP_NOEXTEND = 0x0 MAP_NORESERVE = 0x0 MAP_PRIVATE = 0x2 MAP_RENAME = 0x0 MAP_SHARED = 0x1 MAP_STACK = 0x4000 MAP_TRYFIXED = 0x0 MCL_CURRENT = 0x1 MCL_FUTURE = 0x2 MNT_ASYNC = 0x40 MNT_DEFEXPORTED = 0x200 MNT_DELEXPORT = 0x20000 MNT_DOOMED = 0x8000000 MNT_EXPORTANON = 0x400 MNT_EXPORTED = 0x100 MNT_EXRDONLY = 0x80 MNT_FORCE = 0x80000 MNT_LAZY = 0x3 MNT_LOCAL = 0x1000 MNT_NOATIME = 0x8000 MNT_NODEV = 0x10 MNT_NOEXEC = 0x4 MNT_NOPERM = 0x20 MNT_NOSUID = 0x8 MNT_NOWAIT = 0x2 MNT_QUOTA = 0x2000 MNT_RDONLY = 0x1 MNT_RELOAD = 0x40000 MNT_ROOTFS = 0x4000 MNT_SOFTDEP = 0x4000000 MNT_STALLED = 0x100000 MNT_SWAPPABLE = 0x200000 MNT_SYNCHRONOUS = 0x2 MNT_UPDATE = 0x10000 MNT_VISFLAGMASK = 0x400ffff MNT_WAIT = 0x1 MNT_WANTRDWR = 0x2000000 MNT_WXALLOWED = 0x800 MOUNT_AFS = "afs" MOUNT_CD9660 = "cd9660" MOUNT_EXT2FS = "ext2fs" MOUNT_FFS = "ffs" MOUNT_FUSEFS = "fuse" MOUNT_MFS = "mfs" MOUNT_MSDOS = "msdos" MOUNT_NCPFS = "ncpfs" MOUNT_NFS = "nfs" MOUNT_NTFS = "ntfs" MOUNT_TMPFS = "tmpfs" MOUNT_UDF = "udf" MOUNT_UFS = "ffs" MSG_BCAST = 0x100 MSG_CMSG_CLOEXEC = 0x800 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 MSG_WAITFORONE = 0x1000 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_IFNAMES = 0x6 NET_RT_MAXID = 0x8 NET_RT_SOURCE = 0x7 NET_RT_STATS = 0x4 NET_RT_TABLE = 0x5 NFDBITS = 0x20 NOFLSH = 0x80000000 NOKERNINFO = 0x2000000 NOTE_ATTRIB = 0x8 NOTE_CHANGE = 0x1 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_OOB = 0x4 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 OLCUC = 0x20 ONLCR = 0x2 ONLRET = 0x80 ONOCR = 0x40 ONOEOT = 0x8 OPOST = 0x1 OXTABS = 0x4 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_MEMLOCK = 0x6 RLIMIT_NOFILE = 0x8 RLIMIT_NPROC = 0x7 RLIMIT_RSS = 0x5 RLIMIT_STACK = 0x3 RLIM_INFINITY = 0x7fffffffffffffff RTAX_AUTHOR = 0x6 RTAX_BFD = 0xb RTAX_BRD = 0x7 RTAX_DNS = 0xc RTAX_DST = 0x0 RTAX_GATEWAY = 0x1 RTAX_GENMASK = 0x3 RTAX_IFA = 0x5 RTAX_IFP = 0x4 RTAX_LABEL = 0xa RTAX_MAX = 0xf RTAX_NETMASK = 0x2 RTAX_SEARCH = 0xe RTAX_SRC = 0x8 RTAX_SRCMASK = 0x9 RTAX_STATIC = 0xd RTA_AUTHOR = 0x40 RTA_BFD = 0x800 RTA_BRD = 0x80 RTA_DNS = 0x1000 RTA_DST = 0x1 RTA_GATEWAY = 0x2 RTA_GENMASK = 0x8 RTA_IFA = 0x20 RTA_IFP = 0x10 RTA_LABEL = 0x400 RTA_NETMASK = 0x4 RTA_SEARCH = 0x4000 RTA_SRC = 0x100 RTA_SRCMASK = 0x200 RTA_STATIC = 0x2000 RTF_ANNOUNCE = 0x4000 RTF_BFD = 0x1000000 RTF_BLACKHOLE = 0x1000 RTF_BROADCAST = 0x400000 RTF_CACHED = 0x20000 RTF_CLONED = 0x10000 RTF_CLONING = 0x100 RTF_CONNECTED = 0x800000 RTF_DONE = 0x40 RTF_DYNAMIC = 0x10 RTF_FMASK = 0x110fc08 RTF_GATEWAY = 0x2 RTF_HOST = 0x4 RTF_LLINFO = 0x400 RTF_LOCAL = 0x200000 RTF_MODIFIED = 0x20 RTF_MPATH = 0x40000 RTF_MPLS = 0x100000 RTF_MULTICAST = 0x200 RTF_PERMANENT_ARP = 0x2000 RTF_PROTO1 = 0x8000 RTF_PROTO2 = 0x4000 RTF_PROTO3 = 0x2000 RTF_REJECT = 0x8 RTF_STATIC = 0x800 RTF_UP = 0x1 RTF_USETRAILERS = 0x8000 RTM_80211INFO = 0x15 RTM_ADD = 0x1 RTM_BFD = 0x12 RTM_CHANGE = 0x3 RTM_CHGADDRATTR = 0x14 RTM_DELADDR = 0xd RTM_DELETE = 0x2 RTM_DESYNC = 0x10 RTM_GET = 0x4 RTM_IFANNOUNCE = 0xf RTM_IFINFO = 0xe RTM_INVALIDATE = 0x11 RTM_LOSING = 0x5 RTM_MAXSIZE = 0x800 RTM_MISS = 0x7 RTM_NEWADDR = 0xc RTM_PROPOSAL = 0x13 RTM_REDIRECT = 0x6 RTM_RESOLVE = 0xb RTM_SOURCE = 0x16 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_BITS = 0x8 RT_TABLEID_MASK = 0xff RT_TABLEID_MAX = 0xff RUSAGE_CHILDREN = -0x1 RUSAGE_SELF = 0x0 RUSAGE_THREAD = 0x1 SCM_RIGHTS = 0x1 SCM_TIMESTAMP = 0x4 SEEK_CUR = 0x1 SEEK_END = 0x2 SEEK_SET = 0x0 SHUT_RD = 0x0 SHUT_RDWR = 0x2 SHUT_WR = 0x1 SIOCADDMULTI = 0x80206931 SIOCAIFADDR = 0x8040691a SIOCAIFGROUP = 0x80286987 SIOCATMARK = 0x40047307 SIOCBRDGADD = 0x8060693c SIOCBRDGADDL = 0x80606949 SIOCBRDGADDS = 0x80606941 SIOCBRDGARL = 0x808c694d SIOCBRDGDADDR = 0x81286947 SIOCBRDGDEL = 0x8060693d SIOCBRDGDELS = 0x80606942 SIOCBRDGFLUSH = 0x80606948 SIOCBRDGFRL = 0x808c694e SIOCBRDGGCACHE = 0xc0146941 SIOCBRDGGFD = 0xc0146952 SIOCBRDGGHT = 0xc0146951 SIOCBRDGGIFFLGS = 0xc060693e SIOCBRDGGMA = 0xc0146953 SIOCBRDGGPARAM = 0xc0406958 SIOCBRDGGPRI = 0xc0146950 SIOCBRDGGRL = 0xc030694f SIOCBRDGGTO = 0xc0146946 SIOCBRDGIFS = 0xc0606942 SIOCBRDGRTS = 0xc0206943 SIOCBRDGSADDR = 0xc1286944 SIOCBRDGSCACHE = 0x80146940 SIOCBRDGSFD = 0x80146952 SIOCBRDGSHT = 0x80146951 SIOCBRDGSIFCOST = 0x80606955 SIOCBRDGSIFFLGS = 0x8060693f SIOCBRDGSIFPRIO = 0x80606954 SIOCBRDGSIFPROT = 0x8060694a SIOCBRDGSMA = 0x80146953 SIOCBRDGSPRI = 0x80146950 SIOCBRDGSPROTO = 0x8014695a SIOCBRDGSTO = 0x80146945 SIOCBRDGSTXHC = 0x80146959 SIOCDELLABEL = 0x80206997 SIOCDELMULTI = 0x80206932 SIOCDIFADDR = 0x80206919 SIOCDIFGROUP = 0x80286989 SIOCDIFPARENT = 0x802069b4 SIOCDIFPHYADDR = 0x80206949 SIOCDPWE3NEIGHBOR = 0x802069de SIOCDVNETID = 0x802069af SIOCGETKALIVE = 0xc01869a4 SIOCGETLABEL = 0x8020699a SIOCGETMPWCFG = 0xc02069ae SIOCGETPFLOW = 0xc02069fe SIOCGETPFSYNC = 0xc02069f8 SIOCGETSGCNT = 0xc0207534 SIOCGETVIFCNT = 0xc0287533 SIOCGETVLAN = 0xc0206990 SIOCGIFADDR = 0xc0206921 SIOCGIFBRDADDR = 0xc0206923 SIOCGIFCONF = 0xc0106924 SIOCGIFDATA = 0xc020691b SIOCGIFDESCR = 0xc0206981 SIOCGIFDSTADDR = 0xc0206922 SIOCGIFFLAGS = 0xc0206911 SIOCGIFGATTR = 0xc028698b SIOCGIFGENERIC = 0xc020693a SIOCGIFGLIST = 0xc028698d SIOCGIFGMEMB = 0xc028698a SIOCGIFGROUP = 0xc0286988 SIOCGIFHARDMTU = 0xc02069a5 SIOCGIFLLPRIO = 0xc02069b6 SIOCGIFMEDIA = 0xc0406938 SIOCGIFMETRIC = 0xc0206917 SIOCGIFMTU = 0xc020697e SIOCGIFNETMASK = 0xc0206925 SIOCGIFPAIR = 0xc02069b1 SIOCGIFPARENT = 0xc02069b3 SIOCGIFPRIORITY = 0xc020699c SIOCGIFRDOMAIN = 0xc02069a0 SIOCGIFRTLABEL = 0xc0206983 SIOCGIFRXR = 0x802069aa SIOCGIFSFFPAGE = 0xc1126939 SIOCGIFXFLAGS = 0xc020699e SIOCGLIFPHYADDR = 0xc218694b SIOCGLIFPHYDF = 0xc02069c2 SIOCGLIFPHYECN = 0xc02069c8 SIOCGLIFPHYRTABLE = 0xc02069a2 SIOCGLIFPHYTTL = 0xc02069a9 SIOCGPGRP = 0x40047309 SIOCGPWE3 = 0xc0206998 SIOCGPWE3CTRLWORD = 0xc02069dc SIOCGPWE3FAT = 0xc02069dd SIOCGPWE3NEIGHBOR = 0xc21869de SIOCGRXHPRIO = 0xc02069db SIOCGSPPPPARAMS = 0xc0206994 SIOCGTXHPRIO = 0xc02069c6 SIOCGUMBINFO = 0xc02069be SIOCGUMBPARAM = 0xc02069c0 SIOCGVH = 0xc02069f6 SIOCGVNETFLOWID = 0xc02069c4 SIOCGVNETID = 0xc02069a7 SIOCIFAFATTACH = 0x801169ab SIOCIFAFDETACH = 0x801169ac SIOCIFCREATE = 0x8020697a SIOCIFDESTROY = 0x80206979 SIOCIFGCLONERS = 0xc0106978 SIOCSETKALIVE = 0x801869a3 SIOCSETLABEL = 0x80206999 SIOCSETMPWCFG = 0x802069ad SIOCSETPFLOW = 0x802069fd SIOCSETPFSYNC = 0x802069f7 SIOCSETVLAN = 0x8020698f SIOCSIFADDR = 0x8020690c SIOCSIFBRDADDR = 0x80206913 SIOCSIFDESCR = 0x80206980 SIOCSIFDSTADDR = 0x8020690e SIOCSIFFLAGS = 0x80206910 SIOCSIFGATTR = 0x8028698c SIOCSIFGENERIC = 0x80206939 SIOCSIFLLADDR = 0x8020691f SIOCSIFLLPRIO = 0x802069b5 SIOCSIFMEDIA = 0xc0206937 SIOCSIFMETRIC = 0x80206918 SIOCSIFMTU = 0x8020697f SIOCSIFNETMASK = 0x80206916 SIOCSIFPAIR = 0x802069b0 SIOCSIFPARENT = 0x802069b2 SIOCSIFPRIORITY = 0x8020699b SIOCSIFRDOMAIN = 0x8020699f SIOCSIFRTLABEL = 0x80206982 SIOCSIFXFLAGS = 0x8020699d SIOCSLIFPHYADDR = 0x8218694a SIOCSLIFPHYDF = 0x802069c1 SIOCSLIFPHYECN = 0x802069c7 SIOCSLIFPHYRTABLE = 0x802069a1 SIOCSLIFPHYTTL = 0x802069a8 SIOCSPGRP = 0x80047308 SIOCSPWE3CTRLWORD = 0x802069dc SIOCSPWE3FAT = 0x802069dd SIOCSPWE3NEIGHBOR = 0x821869de SIOCSRXHPRIO = 0x802069db SIOCSSPPPPARAMS = 0x80206993 SIOCSTXHPRIO = 0x802069c5 SIOCSUMBPARAM = 0x802069bf SIOCSVH = 0xc02069f5 SIOCSVNETFLOWID = 0x802069c3 SIOCSVNETID = 0x802069a6 SOCK_CLOEXEC = 0x8000 SOCK_DGRAM = 0x2 SOCK_DNS = 0x1000 SOCK_NONBLOCK = 0x4000 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_DOMAIN = 0x1024 SO_DONTROUTE = 0x10 SO_ERROR = 0x1007 SO_KEEPALIVE = 0x8 SO_LINGER = 0x80 SO_NETPROC = 0x1020 SO_OOBINLINE = 0x100 SO_PEERCRED = 0x1022 SO_PROTOCOL = 0x1025 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 SO_ZEROIZE = 0x2000 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_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 TCIOFF = 0x3 TCIOFLUSH = 0x3 TCION = 0x4 TCOFLUSH = 0x2 TCOOFF = 0x1 TCOON = 0x2 TCPOPT_EOL = 0x0 TCPOPT_MAXSEG = 0x2 TCPOPT_NOP = 0x1 TCPOPT_SACK = 0x5 TCPOPT_SACK_HDR = 0x1010500 TCPOPT_SACK_PERMITTED = 0x4 TCPOPT_SACK_PERMIT_HDR = 0x1010402 TCPOPT_SIGNATURE = 0x13 TCPOPT_TIMESTAMP = 0x8 TCPOPT_TSTAMP_HDR = 0x101080a TCPOPT_WINDOW = 0x3 TCP_INFO = 0x9 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_SACKHOLE_LIMIT = 0x80 TCP_SACK_ENABLE = 0x8 TCSAFLUSH = 0x2 TIMER_ABSTIME = 0x1 TIMER_RELTIME = 0x0 TIOCCBRK = 0x2000747a TIOCCDTR = 0x20007478 TIOCCHKVERAUTH = 0x2000741e TIOCCLRVERAUTH = 0x2000741d 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 TIOCSETVERAUTH = 0x8004741c TIOCSFLAGS = 0x8004745c TIOCSIG = 0x8004745f TIOCSPGRP = 0x80047476 TIOCSTART = 0x2000746e TIOCSTAT = 0x20007465 TIOCSTOP = 0x2000746f TIOCSTSTAMP = 0x8008745a TIOCSWINSZ = 0x80087467 TIOCUCNTL = 0x80047466 TIOCUCNTL_CBRK = 0x7a TIOCUCNTL_SBRK = 0x7b TOSTOP = 0x400000 UTIME_NOW = -0x2 UTIME_OMIT = -0x1 VDISCARD = 0xf VDSUSP = 0xb VEOF = 0x0 VEOL = 0x1 VEOL2 = 0x2 VERASE = 0x3 VINTR = 0x8 VKILL = 0x5 VLNEXT = 0xe VMIN = 0x10 VM_ANONMIN = 0x7 VM_LOADAVG = 0x2 VM_MALLOC_CONF = 0xc VM_MAXID = 0xd VM_MAXSLP = 0xa VM_METER = 0x1 VM_NKMEMPAGES = 0x6 VM_PSSTRINGS = 0x3 VM_SWAPENCRYPT = 0x5 VM_USPACE = 0xb VM_UVMEXP = 0x4 VM_VNODEMIN = 0x9 VM_VTEXTMIN = 0x8 VQUIT = 0x9 VREPRINT = 0x6 VSTART = 0xc VSTATUS = 0x12 VSTOP = 0xd VSUSP = 0xa VTIME = 0x11 VWERASE = 0x4 WALTSIG = 0x4 WCONTINUED = 0x8 WCOREFLAG = 0x80 WNOHANG = 0x1 WUNTRACED = 0x2 XCASE = 0x1000000 ) // 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(0x5c) 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(0x5f) 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) ENOTRECOVERABLE = syscall.Errno(0x5d) ENOTSOCK = syscall.Errno(0x26) ENOTSUP = syscall.Errno(0x5b) ENOTTY = syscall.Errno(0x19) ENXIO = syscall.Errno(0x6) EOPNOTSUPP = syscall.Errno(0x2d) EOVERFLOW = syscall.Errno(0x57) EOWNERDEAD = syscall.Errno(0x5e) 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(0x5f) 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 errorList = [...]struct { num syscall.Errno name string desc string }{ {1, "EPERM", "operation not permitted"}, {2, "ENOENT", "no such file or directory"}, {3, "ESRCH", "no such process"}, {4, "EINTR", "interrupted system call"}, {5, "EIO", "input/output error"}, {6, "ENXIO", "device not configured"}, {7, "E2BIG", "argument list too long"}, {8, "ENOEXEC", "exec format error"}, {9, "EBADF", "bad file descriptor"}, {10, "ECHILD", "no child processes"}, {11, "EDEADLK", "resource deadlock avoided"}, {12, "ENOMEM", "cannot allocate memory"}, {13, "EACCES", "permission denied"}, {14, "EFAULT", "bad address"}, {15, "ENOTBLK", "block device required"}, {16, "EBUSY", "device busy"}, {17, "EEXIST", "file exists"}, {18, "EXDEV", "cross-device link"}, {19, "ENODEV", "operation not supported by device"}, {20, "ENOTDIR", "not a directory"}, {21, "EISDIR", "is a directory"}, {22, "EINVAL", "invalid argument"}, {23, "ENFILE", "too many open files in system"}, {24, "EMFILE", "too many open files"}, {25, "ENOTTY", "inappropriate ioctl for device"}, {26, "ETXTBSY", "text file busy"}, {27, "EFBIG", "file too large"}, {28, "ENOSPC", "no space left on device"}, {29, "ESPIPE", "illegal seek"}, {30, "EROFS", "read-only file system"}, {31, "EMLINK", "too many links"}, {32, "EPIPE", "broken pipe"}, {33, "EDOM", "numerical argument out of domain"}, {34, "ERANGE", "result too large"}, {35, "EAGAIN", "resource temporarily unavailable"}, {36, "EINPROGRESS", "operation now in progress"}, {37, "EALREADY", "operation already in progress"}, {38, "ENOTSOCK", "socket operation on non-socket"}, {39, "EDESTADDRREQ", "destination address required"}, {40, "EMSGSIZE", "message too long"}, {41, "EPROTOTYPE", "protocol wrong type for socket"}, {42, "ENOPROTOOPT", "protocol not available"}, {43, "EPROTONOSUPPORT", "protocol not supported"}, {44, "ESOCKTNOSUPPORT", "socket type not supported"}, {45, "EOPNOTSUPP", "operation not supported"}, {46, "EPFNOSUPPORT", "protocol family not supported"}, {47, "EAFNOSUPPORT", "address family not supported by protocol family"}, {48, "EADDRINUSE", "address already in use"}, {49, "EADDRNOTAVAIL", "can't assign requested address"}, {50, "ENETDOWN", "network is down"}, {51, "ENETUNREACH", "network is unreachable"}, {52, "ENETRESET", "network dropped connection on reset"}, {53, "ECONNABORTED", "software caused connection abort"}, {54, "ECONNRESET", "connection reset by peer"}, {55, "ENOBUFS", "no buffer space available"}, {56, "EISCONN", "socket is already connected"}, {57, "ENOTCONN", "socket is not connected"}, {58, "ESHUTDOWN", "can't send after socket shutdown"}, {59, "ETOOMANYREFS", "too many references: can't splice"}, {60, "ETIMEDOUT", "operation timed out"}, {61, "ECONNREFUSED", "connection refused"}, {62, "ELOOP", "too many levels of symbolic links"}, {63, "ENAMETOOLONG", "file name too long"}, {64, "EHOSTDOWN", "host is down"}, {65, "EHOSTUNREACH", "no route to host"}, {66, "ENOTEMPTY", "directory not empty"}, {67, "EPROCLIM", "too many processes"}, {68, "EUSERS", "too many users"}, {69, "EDQUOT", "disk quota exceeded"}, {70, "ESTALE", "stale NFS file handle"}, {71, "EREMOTE", "too many levels of remote in path"}, {72, "EBADRPC", "RPC struct is bad"}, {73, "ERPCMISMATCH", "RPC version wrong"}, {74, "EPROGUNAVAIL", "RPC program not available"}, {75, "EPROGMISMATCH", "program version wrong"}, {76, "EPROCUNAVAIL", "bad procedure for program"}, {77, "ENOLCK", "no locks available"}, {78, "ENOSYS", "function not implemented"}, {79, "EFTYPE", "inappropriate file type or format"}, {80, "EAUTH", "authentication error"}, {81, "ENEEDAUTH", "need authenticator"}, {82, "EIPSEC", "IPsec processing failure"}, {83, "ENOATTR", "attribute not found"}, {84, "EILSEQ", "illegal byte sequence"}, {85, "ENOMEDIUM", "no medium found"}, {86, "EMEDIUMTYPE", "wrong medium type"}, {87, "EOVERFLOW", "value too large to be stored in data type"}, {88, "ECANCELED", "operation canceled"}, {89, "EIDRM", "identifier removed"}, {90, "ENOMSG", "no message of desired type"}, {91, "ENOTSUP", "not supported"}, {92, "EBADMSG", "bad message"}, {93, "ENOTRECOVERABLE", "state not recoverable"}, {94, "EOWNERDEAD", "previous owner died"}, {95, "ELAST", "protocol error"}, } // Signal table var signalList = [...]struct { num syscall.Signal name string desc string }{ {1, "SIGHUP", "hangup"}, {2, "SIGINT", "interrupt"}, {3, "SIGQUIT", "quit"}, {4, "SIGILL", "illegal instruction"}, {5, "SIGTRAP", "trace/BPT trap"}, {6, "SIGIOT", "abort trap"}, {7, "SIGEMT", "EMT trap"}, {8, "SIGFPE", "floating point exception"}, {9, "SIGKILL", "killed"}, {10, "SIGBUS", "bus error"}, {11, "SIGSEGV", "segmentation fault"}, {12, "SIGSYS", "bad system call"}, {13, "SIGPIPE", "broken pipe"}, {14, "SIGALRM", "alarm clock"}, {15, "SIGTERM", "terminated"}, {16, "SIGURG", "urgent I/O condition"}, {17, "SIGSTOP", "suspended (signal)"}, {18, "SIGTSTP", "suspended"}, {19, "SIGCONT", "continued"}, {20, "SIGCHLD", "child exited"}, {21, "SIGTTIN", "stopped (tty input)"}, {22, "SIGTTOU", "stopped (tty output)"}, {23, "SIGIO", "I/O possible"}, {24, "SIGXCPU", "cputime limit exceeded"}, {25, "SIGXFSZ", "filesize limit exceeded"}, {26, "SIGVTALRM", "virtual timer expired"}, {27, "SIGPROF", "profiling timer expired"}, {28, "SIGWINCH", "window size changes"}, {29, "SIGINFO", "information request"}, {30, "SIGUSR1", "user defined signal 1"}, {31, "SIGUSR2", "user defined signal 2"}, {32, "SIGTHR", "thread AST"}, {28672, "SIGSTKSZ", "unknown signal"}, } dependencies/pkg/mod/golang.org/x/sys@v0.26.0/unix/vgetrandom_unsupported.go0000644000000000000000000000044415107355264025760 0ustar rootroot// Copyright 2024 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:build !linux || !go1.24 package unix func vgetrandom(p []byte, flags uint32) (ret int, supported bool) { return -1, false } dependencies/pkg/mod/golang.org/x/sys@v0.26.0/unix/zsyscall_linux_amd64.go0000644000000000000000000004077715107355264025235 0ustar rootroot// go run mksyscall.go -tags linux,amd64 syscall_linux.go syscall_linux_amd64.go syscall_linux_alarm.go // Code generated by the command above; see README.md. DO NOT EDIT. //go: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 fanotifyMark(fd int, flags uint, mask uint64, dirFd int, pathname *byte) (err error) { _, _, e1 := Syscall6(SYS_FANOTIFY_MARK, uintptr(fd), uintptr(flags), uintptr(mask), uintptr(dirFd), uintptr(unsafe.Pointer(pathname)), 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 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 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 Fstatat(dirfd int, path string, stat *Stat_t, flags int) (err error) { var _p0 *byte _p0, err = BytePtrFromString(path) if err != nil { return } _, _, e1 := Syscall6(SYS_NEWFSTATAT, uintptr(dirfd), 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, _ := RawSyscallNoError(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, _ := RawSyscallNoError(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, _ := RawSyscallNoError(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, _ := RawSyscallNoError(SYS_GETUID, 0, 0, 0) uid = int(r0) 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 MemfdSecret(flags int) (fd int, err error) { r0, _, e1 := Syscall(SYS_MEMFD_SECRET, 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 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 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 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 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) (prev int, err error) { r0, _, e1 := Syscall(SYS_SETFSGID, uintptr(gid), 0, 0) prev = int(r0) if e1 != 0 { err = errnoErr(e1) } return } // THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT func setfsuid(uid int) (prev int, err error) { r0, _, e1 := Syscall(SYS_SETFSUID, uintptr(uid), 0, 0) prev = int(r0) 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 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 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 futimesat(dirfd int, path string, times *[2]Timeval) (err error) { var _p0 *byte _p0, err = BytePtrFromString(path) if err != nil { return } _, _, e1 := Syscall(SYS_FUTIMESAT, uintptr(dirfd), uintptr(unsafe.Pointer(_p0)), 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 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 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 kexecFileLoad(kernelFd int, initrdFd int, cmdlineLen int, cmdline string, flags int) (err error) { var _p0 *byte _p0, err = BytePtrFromString(cmdline) if err != nil { return } _, _, e1 := Syscall6(SYS_KEXEC_FILE_LOAD, uintptr(kernelFd), uintptr(initrdFd), uintptr(cmdlineLen), 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 Alarm(seconds uint) (remaining uint, err error) { r0, _, e1 := Syscall(SYS_ALARM, uintptr(seconds), 0, 0) remaining = uint(r0) if e1 != 0 { err = errnoErr(e1) } return } dependencies/pkg/mod/golang.org/x/sys@v0.26.0/unix/zsyscall_linux_mips64le.go0000644000000000000000000004001415107355264025745 0ustar rootroot// go run mksyscall.go -tags linux,mips64le syscall_linux.go syscall_linux_mips64x.go // Code generated by the command above; see README.md. DO NOT EDIT. //go: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 fanotifyMark(fd int, flags uint, mask uint64, dirFd int, pathname *byte) (err error) { _, _, e1 := Syscall6(SYS_FANOTIFY_MARK, uintptr(fd), uintptr(flags), uintptr(mask), uintptr(dirFd), uintptr(unsafe.Pointer(pathname)), 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 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 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 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, _ := RawSyscallNoError(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, _ := RawSyscallNoError(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, _ := RawSyscallNoError(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, _ := RawSyscallNoError(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 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 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 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) (prev int, err error) { r0, _, e1 := Syscall(SYS_SETFSGID, uintptr(gid), 0, 0) prev = int(r0) if e1 != 0 { err = errnoErr(e1) } return } // THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT func setfsuid(uid int) (prev int, err error) { r0, _, e1 := Syscall(SYS_SETFSUID, uintptr(uid), 0, 0) prev = int(r0) 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 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 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 futimesat(dirfd int, path string, times *[2]Timeval) (err error) { var _p0 *byte _p0, err = BytePtrFromString(path) if err != nil { return } _, _, e1 := Syscall(SYS_FUTIMESAT, uintptr(dirfd), uintptr(unsafe.Pointer(_p0)), 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 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 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 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 fstatat(dirfd int, path string, st *stat_t, flags int) (err error) { var _p0 *byte _p0, err = BytePtrFromString(path) if err != nil { return } _, _, e1 := Syscall6(SYS_NEWFSTATAT, uintptr(dirfd), uintptr(unsafe.Pointer(_p0)), uintptr(unsafe.Pointer(st)), 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 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 } dependencies/pkg/mod/golang.org/x/sys@v0.26.0/unix/fcntl_linux_32bit.go0000644000000000000000000000066415107355264024476 0ustar rootroot// 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. //go:build (linux && 386) || (linux && arm) || (linux && mips) || (linux && mipsle) || (linux && ppc) 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 } dependencies/pkg/mod/golang.org/x/sys@v0.26.0/unix/ztypes_linux_arm.go0000644000000000000000000003032015107355264024552 0ustar rootroot// cgo -godefs -objdir=/tmp/arm/cgo -- -Wall -Werror -static -I/tmp/arm/include linux/types.go | go run mkpost.go // Code generated by the command above; see README.md. DO NOT EDIT. //go:build arm && linux package unix const ( SizeofPtr = 0x4 SizeofLong = 0x4 ) type ( _C_long int32 ) 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 _ [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 Stat_t struct { Dev uint64 _ uint16 _ uint32 Mode uint32 Nlink uint32 Uid uint32 Gid uint32 Rdev uint64 _ uint16 _ [4]byte Size int64 Blksize int32 _ [4]byte Blocks int64 Atim Timespec Mtim Timespec Ctim Timespec Ino uint64 } type Dirent struct { Ino uint64 Off int64 Reclen uint16 Type uint8 Name [256]uint8 _ [5]byte } type Flock_t struct { Type int16 Whence int16 _ [4]byte Start int64 Len int64 Pid int32 _ [4]byte } type DmNameList struct { Dev uint64 Next uint32 Name [0]byte _ [4]byte } const ( FADV_DONTNEED = 0x4 FADV_NOREUSE = 0x5 ) type RawSockaddrNFCLLCP struct { Sa_family uint16 Dev_idx uint32 Target_idx uint32 Nfc_protocol uint32 Dsap uint8 Ssap uint8 Service_name [63]uint8 Service_name_len uint32 } type RawSockaddr struct { Family uint16 Data [14]uint8 } type RawSockaddrAny struct { Addr RawSockaddr Pad [96]uint8 } type Iovec struct { Base *byte Len 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 ifreq struct { Ifrn [16]byte Ifru [16]byte } const ( SizeofSockaddrNFCLLCP = 0x58 SizeofIovec = 0x8 SizeofMsghdr = 0x1c SizeofCmsghdr = 0xc ) const ( SizeofSockFprog = 0x8 ) 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 _ [8]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 ( OPEN_TREE_CLOEXEC = 0x80000 ) const ( POLLRDHUP = 0x2000 ) type Sigset_t struct { Val [32]uint32 } const _C__NSIG = 0x41 const ( SIG_BLOCK = 0x0 SIG_UNBLOCK = 0x1 SIG_SETMASK = 0x2 ) type Siginfo struct { Signo int32 Errno int32 Code int32 _ [116]byte } type Termios struct { Iflag uint32 Oflag uint32 Cflag uint32 Lflag uint32 Line uint8 Cc [19]uint8 Ispeed uint32 Ospeed uint32 } type Taskstats struct { Version uint16 Ac_exitcode uint32 Ac_flag uint8 Ac_nice uint8 _ [4]byte Cpu_count uint64 Cpu_delay_total uint64 Blkio_count uint64 Blkio_delay_total uint64 Swapin_count uint64 Swapin_delay_total uint64 Cpu_run_real_total uint64 Cpu_run_virtual_total uint64 Ac_comm [32]uint8 Ac_sched uint8 Ac_pad [3]uint8 _ [4]byte Ac_uid uint32 Ac_gid uint32 Ac_pid uint32 Ac_ppid uint32 Ac_btime uint32 _ [4]byte Ac_etime uint64 Ac_utime uint64 Ac_stime uint64 Ac_minflt uint64 Ac_majflt uint64 Coremem uint64 Virtmem uint64 Hiwater_rss uint64 Hiwater_vm uint64 Read_char uint64 Write_char uint64 Read_syscalls uint64 Write_syscalls uint64 Read_bytes uint64 Write_bytes uint64 Cancelled_write_bytes uint64 Nvcsw uint64 Nivcsw uint64 Ac_utimescaled uint64 Ac_stimescaled uint64 Cpu_scaled_run_real_total uint64 Freepages_count uint64 Freepages_delay_total uint64 Thrashing_count uint64 Thrashing_delay_total uint64 Ac_btime64 uint64 Compact_count uint64 Compact_delay_total uint64 Ac_tgid uint32 _ [4]byte Ac_tgetime uint64 Ac_exe_dev uint64 Ac_exe_inode uint64 Wpcopy_count uint64 Wpcopy_delay_total uint64 Irq_count uint64 Irq_delay_total uint64 } type cpuMask uint32 const ( _NCPUBITS = 0x20 ) const ( CBitFieldMaskBit0 = 0x1 CBitFieldMaskBit1 = 0x2 CBitFieldMaskBit2 = 0x4 CBitFieldMaskBit3 = 0x8 CBitFieldMaskBit4 = 0x10 CBitFieldMaskBit5 = 0x20 CBitFieldMaskBit6 = 0x40 CBitFieldMaskBit7 = 0x80 CBitFieldMaskBit8 = 0x100 CBitFieldMaskBit9 = 0x200 CBitFieldMaskBit10 = 0x400 CBitFieldMaskBit11 = 0x800 CBitFieldMaskBit12 = 0x1000 CBitFieldMaskBit13 = 0x2000 CBitFieldMaskBit14 = 0x4000 CBitFieldMaskBit15 = 0x8000 CBitFieldMaskBit16 = 0x10000 CBitFieldMaskBit17 = 0x20000 CBitFieldMaskBit18 = 0x40000 CBitFieldMaskBit19 = 0x80000 CBitFieldMaskBit20 = 0x100000 CBitFieldMaskBit21 = 0x200000 CBitFieldMaskBit22 = 0x400000 CBitFieldMaskBit23 = 0x800000 CBitFieldMaskBit24 = 0x1000000 CBitFieldMaskBit25 = 0x2000000 CBitFieldMaskBit26 = 0x4000000 CBitFieldMaskBit27 = 0x8000000 CBitFieldMaskBit28 = 0x10000000 CBitFieldMaskBit29 = 0x20000000 CBitFieldMaskBit30 = 0x40000000 CBitFieldMaskBit31 = 0x80000000 CBitFieldMaskBit32 = 0x100000000 CBitFieldMaskBit33 = 0x200000000 CBitFieldMaskBit34 = 0x400000000 CBitFieldMaskBit35 = 0x800000000 CBitFieldMaskBit36 = 0x1000000000 CBitFieldMaskBit37 = 0x2000000000 CBitFieldMaskBit38 = 0x4000000000 CBitFieldMaskBit39 = 0x8000000000 CBitFieldMaskBit40 = 0x10000000000 CBitFieldMaskBit41 = 0x20000000000 CBitFieldMaskBit42 = 0x40000000000 CBitFieldMaskBit43 = 0x80000000000 CBitFieldMaskBit44 = 0x100000000000 CBitFieldMaskBit45 = 0x200000000000 CBitFieldMaskBit46 = 0x400000000000 CBitFieldMaskBit47 = 0x800000000000 CBitFieldMaskBit48 = 0x1000000000000 CBitFieldMaskBit49 = 0x2000000000000 CBitFieldMaskBit50 = 0x4000000000000 CBitFieldMaskBit51 = 0x8000000000000 CBitFieldMaskBit52 = 0x10000000000000 CBitFieldMaskBit53 = 0x20000000000000 CBitFieldMaskBit54 = 0x40000000000000 CBitFieldMaskBit55 = 0x80000000000000 CBitFieldMaskBit56 = 0x100000000000000 CBitFieldMaskBit57 = 0x200000000000000 CBitFieldMaskBit58 = 0x400000000000000 CBitFieldMaskBit59 = 0x800000000000000 CBitFieldMaskBit60 = 0x1000000000000000 CBitFieldMaskBit61 = 0x2000000000000000 CBitFieldMaskBit62 = 0x4000000000000000 CBitFieldMaskBit63 = 0x8000000000000000 ) type SockaddrStorage struct { Family uint16 Data [122]byte _ uint32 } type HDGeometry struct { Heads uint8 Sectors uint8 Cylinders uint16 Start uint32 } 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 _ [4]byte } type TpacketHdr struct { Status uint32 Len uint32 Snaplen uint32 Mac uint16 Net uint16 Sec uint32 Usec uint32 } const ( SizeofTpacketHdr = 0x18 ) type RTCPLLInfo struct { Ctrl int32 Value int32 Max int32 Min int32 Posmult int32 Negmult int32 Clock int32 } type BlkpgPartition struct { Start int64 Length int64 Pno int32 Devname [64]uint8 Volname [64]uint8 _ [4]byte } const ( BLKPG = 0x1269 ) type CryptoUserAlg struct { Name [64]uint8 Driver_name [64]uint8 Module_name [64]uint8 Type uint32 Mask uint32 Refcnt uint32 Flags uint32 } type CryptoStatAEAD struct { Type [64]uint8 Encrypt_cnt uint64 Encrypt_tlen uint64 Decrypt_cnt uint64 Decrypt_tlen uint64 Err_cnt uint64 } type CryptoStatAKCipher struct { Type [64]uint8 Encrypt_cnt uint64 Encrypt_tlen uint64 Decrypt_cnt uint64 Decrypt_tlen uint64 Verify_cnt uint64 Sign_cnt uint64 Err_cnt uint64 } type CryptoStatCipher struct { Type [64]uint8 Encrypt_cnt uint64 Encrypt_tlen uint64 Decrypt_cnt uint64 Decrypt_tlen uint64 Err_cnt uint64 } type CryptoStatCompress struct { Type [64]uint8 Compress_cnt uint64 Compress_tlen uint64 Decompress_cnt uint64 Decompress_tlen uint64 Err_cnt uint64 } type CryptoStatHash struct { Type [64]uint8 Hash_cnt uint64 Hash_tlen uint64 Err_cnt uint64 } type CryptoStatKPP struct { Type [64]uint8 Setsecret_cnt uint64 Generate_public_key_cnt uint64 Compute_shared_secret_cnt uint64 Err_cnt uint64 } type CryptoStatRNG struct { Type [64]uint8 Generate_cnt uint64 Generate_tlen uint64 Seed_cnt uint64 Err_cnt uint64 } type CryptoStatLarval struct { Type [64]uint8 } type CryptoReportLarval struct { Type [64]uint8 } type CryptoReportHash struct { Type [64]uint8 Blocksize uint32 Digestsize uint32 } type CryptoReportCipher struct { Type [64]uint8 Blocksize uint32 Min_keysize uint32 Max_keysize uint32 } type CryptoReportBlkCipher struct { Type [64]uint8 Geniv [64]uint8 Blocksize uint32 Min_keysize uint32 Max_keysize uint32 Ivsize uint32 } type CryptoReportAEAD struct { Type [64]uint8 Geniv [64]uint8 Blocksize uint32 Maxauthsize uint32 Ivsize uint32 } type CryptoReportComp struct { Type [64]uint8 } type CryptoReportRNG struct { Type [64]uint8 Seedsize uint32 } type CryptoReportAKCipher struct { Type [64]uint8 } type CryptoReportKPP struct { Type [64]uint8 } type CryptoReportAcomp struct { Type [64]uint8 } type LoopInfo struct { Number int32 Device uint16 Inode uint32 Rdevice uint16 Offset int32 Encrypt_type int32 Encrypt_key_size int32 Flags int32 Name [64]uint8 Encrypt_key [32]uint8 Init [2]uint32 Reserved [4]uint8 } type TIPCSubscr struct { Seq TIPCServiceRange Timeout uint32 Filter uint32 Handle [8]uint8 } type TIPCSIOCLNReq struct { Peer uint32 Id uint32 Linkname [68]uint8 } type TIPCSIOCNodeIDReq struct { Peer uint32 Id [16]uint8 } type PPSKInfo struct { Assert_sequence uint32 Clear_sequence uint32 Assert_tu PPSKTime Clear_tu PPSKTime Current_mode int32 _ [4]byte } const ( PPS_GETPARAMS = 0x800470a1 PPS_SETPARAMS = 0x400470a2 PPS_GETCAP = 0x800470a3 PPS_FETCH = 0xc00470a4 ) const ( PIDFD_NONBLOCK = 0x800 ) type SysvIpcPerm struct { Key int32 Uid uint32 Gid uint32 Cuid uint32 Cgid uint32 Mode uint16 _ [2]uint8 Seq uint16 _ uint16 _ uint32 _ uint32 } type SysvShmDesc struct { Perm SysvIpcPerm Segsz uint32 Atime uint32 Atime_high uint32 Dtime uint32 Dtime_high uint32 Ctime uint32 Ctime_high uint32 Cpid int32 Lpid int32 Nattch uint32 _ uint32 _ uint32 } dependencies/pkg/mod/golang.org/x/sys@v0.26.0/unix/syscall_linux_arm.go0000644000000000000000000001570115107355264024674 0ustar rootroot// 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. //go:build arm && linux package unix import ( "unsafe" ) func setTimespec(sec, nsec int64) Timespec { return Timespec{Sec: int32(sec), Nsec: int32(nsec)} } func setTimeval(sec, usec int64) Timeval { return Timeval{Sec: int32(sec), Usec: int32(usec)} } 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 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 EpollWait(epfd int, events []EpollEvent, msec int) (n 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 //sys Fstatat(dirfd int, path string, stat *Stat_t, flags int) (err error) = SYS_FSTATAT64 //sysnb Getegid() (egid int) = SYS_GETEGID32 //sysnb Geteuid() (euid int) = SYS_GETEUID32 //sysnb Getgid() (gid int) = SYS_GETGID32 //sysnb Getuid() (uid int) = SYS_GETUID32 //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 Pause() (err error) //sys Renameat(olddirfd int, oldpath string, newdirfd int, newpath string) (err error) //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) (prev int, err error) = SYS_SETFSGID32 //sys setfsuid(uid int) (prev int, err error) = SYS_SETFSUID32 //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 //sys Ustat(dev int, ubuf *Ustat_t) (err error) //sys futimesat(dirfd int, path string, times *[2]Timeval) (err error) //sysnb Gettimeofday(tv *Timeval) (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 utimes(path string, times *[2]Timeval) (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 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 } 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 (msghdr *Msghdr) SetIovlen(length int) { msghdr.Iovlen = uint32(length) } func (cmsg *Cmsghdr) SetLen(length int) { cmsg.Len = uint32(length) } func (rsa *RawSockaddrNFCLLCP) SetServiceNameLen(length int) { rsa.Service_name_len = uint32(length) } //sys armSyncFileRange(fd int, flags int, off int64, n int64) (err error) = SYS_ARM_SYNC_FILE_RANGE func SyncFileRange(fd int, off int64, n int64, flags int) error { // The sync_file_range and arm_sync_file_range syscalls differ only in the // order of their arguments. return armSyncFileRange(fd, flags, off, n) } //sys kexecFileLoad(kernelFd int, initrdFd int, cmdlineLen int, cmdline string, flags int) (err error) func KexecFileLoad(kernelFd int, initrdFd int, cmdline string, flags int) error { cmdlineLen := len(cmdline) if cmdlineLen > 0 { // Account for the additional NULL byte added by // BytePtrFromString in kexecFileLoad. The kexec_file_load // syscall expects a NULL-terminated string. cmdlineLen++ } return kexecFileLoad(kernelFd, initrdFd, cmdlineLen, cmdline, flags) } dependencies/pkg/mod/golang.org/x/sys@v0.26.0/unix/ztypes_openbsd_mips64.go0000644000000000000000000002241515107355264025416 0ustar rootroot// cgo -godefs -- -fsigned-char types_openbsd.go | go run mkpost.go // Code generated by the command above; see README.md. DO NOT EDIT. //go:build mips64 && 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 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 int32 Flags uint32 Gen uint32 _ 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]byte F_mntonname [90]byte F_mntfromname [90]byte F_mntfromspec [90]byte _ [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 _ [4]uint8 Name [256]int8 } type Fsid struct { Val [2]int32 } const ( PathMax = 0x400 ) 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 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 SizeofIovec = 0x10 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 = 0xa8 SizeofIfData = 0x90 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 Rdomain uint32 Baudrate uint64 Ipackets uint64 Ierrors uint64 Opackets uint64 Oerrors uint64 Collisions uint64 Ibytes uint64 Obytes uint64 Imcasts uint64 Omcasts uint64 Iqdrops uint64 Oqdrops uint64 Noproto uint64 Capabilities uint32 Lastchange Timeval } 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 } const ( SizeofBpfVersion = 0x4 SizeofBpfStat = 0x8 SizeofBpfProgram = 0x10 SizeofBpfInsn = 0x8 SizeofBpfHdr = 0x18 ) 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 Ifidx uint16 Flowid uint16 Flags uint8 Drops uint8 } 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 } type Winsize struct { Row uint16 Col uint16 Xpixel uint16 Ypixel uint16 } const ( AT_FDCWD = -0x64 AT_EACCESS = 0x1 AT_SYMLINK_NOFOLLOW = 0x2 AT_SYMLINK_FOLLOW = 0x4 AT_REMOVEDIR = 0x8 ) type PollFd struct { Fd int32 Events int16 Revents int16 } const ( POLLERR = 0x8 POLLHUP = 0x10 POLLIN = 0x1 POLLNVAL = 0x20 POLLOUT = 0x4 POLLPRI = 0x2 POLLRDBAND = 0x80 POLLRDNORM = 0x40 POLLWRBAND = 0x100 POLLWRNORM = 0x4 ) type Sigset_t uint32 type Utsname struct { Sysname [256]byte Nodename [256]byte Release [256]byte Version [256]byte Machine [256]byte } const SizeofUvmexp = 0x158 type Uvmexp struct { Pagesize int32 Pagemask int32 Pageshift int32 Npages int32 Free int32 Active int32 Inactive int32 Paging int32 Wired int32 Zeropages int32 Reserve_pagedaemon int32 Reserve_kernel int32 Unused01 int32 Vnodepages int32 Vtextpages int32 Freemin int32 Freetarg int32 Inactarg int32 Wiredmax int32 Anonmin int32 Vtextmin int32 Vnodemin int32 Anonminpct int32 Vtextminpct int32 Vnodeminpct int32 Nswapdev int32 Swpages int32 Swpginuse int32 Swpgonly int32 Nswget int32 Nanon int32 Unused05 int32 Unused06 int32 Faults int32 Traps int32 Intrs int32 Swtch int32 Softs int32 Syscalls int32 Pageins int32 Unused07 int32 Unused08 int32 Pgswapin int32 Pgswapout int32 Forks int32 Forks_ppwait int32 Forks_sharevm int32 Pga_zerohit int32 Pga_zeromiss int32 Unused09 int32 Fltnoram int32 Fltnoanon int32 Fltnoamap int32 Fltpgwait int32 Fltpgrele int32 Fltrelck int32 Fltrelckok int32 Fltanget int32 Fltanretry int32 Fltamcopy int32 Fltnamap int32 Fltnomap int32 Fltlget int32 Fltget int32 Flt_anon int32 Flt_acow int32 Flt_obj int32 Flt_prcopy int32 Flt_przero int32 Pdwoke int32 Pdrevs int32 Pdswout int32 Pdfreed int32 Pdscans int32 Pdanscan int32 Pdobscan int32 Pdreact int32 Pdbusy int32 Pdpageouts int32 Pdpending int32 Pddeact int32 Unused11 int32 Unused12 int32 Unused13 int32 Fpswtch int32 Kmapent int32 } const SizeofClockinfo = 0x10 type Clockinfo struct { Hz int32 Tick int32 Stathz int32 Profhz int32 } dependencies/pkg/mod/golang.org/x/sys@v0.26.0/unix/aliases.go0000644000000000000000000000060115107355264022556 0ustar rootroot// Copyright 2018 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:build aix || darwin || dragonfly || freebsd || linux || netbsd || openbsd || solaris || zos package unix import "syscall" type Signal = syscall.Signal type Errno = syscall.Errno type SysProcAttr = syscall.SysProcAttr dependencies/pkg/mod/golang.org/x/sys@v0.26.0/unix/syscall_dragonfly_amd64.go0000644000000000000000000000237415107355264025660 0ustar rootroot// 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. //go:build amd64 && dragonfly package unix import ( "syscall" "unsafe" ) func setTimespec(sec, nsec int64) Timespec { return Timespec{Sec: sec, Nsec: nsec} } func setTimeval(sec, usec int64) Timeval { return Timeval{Sec: sec, Usec: usec} } 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 (msghdr *Msghdr) SetIovlen(length int) { msghdr.Iovlen = int32(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) dependencies/pkg/mod/golang.org/x/sys@v0.26.0/unix/syscall_unix_test.go0000644000000000000000000006572715107355264024735 0ustar rootroot// 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. //go:build aix || darwin || dragonfly || freebsd || linux || netbsd || openbsd || solaris package unix_test import ( "bytes" "flag" "fmt" "io" "net" "os" "os/exec" "path/filepath" "reflect" "runtime" "strconv" "sync" "syscall" "testing" "time" "golang.org/x/sys/unix" ) // Tests that below functions, structures and constants are consistent // on all Unix-like systems. func _() { // program scheduling priority functions and constants var ( _ func(int, int, int) error = unix.Setpriority _ func(int, int) (int, error) = unix.Getpriority ) const ( _ int = unix.PRIO_USER _ int = unix.PRIO_PROCESS _ int = unix.PRIO_PGRP ) // termios constants const ( _ int = unix.TCIFLUSH _ int = unix.TCIOFLUSH _ int = unix.TCOFLUSH ) // fcntl file locking structure and constants var ( _ = unix.Flock_t{ Type: int16(0), Whence: int16(0), Start: int64(0), Len: int64(0), Pid: int32(0), } ) const ( _ = unix.F_GETLK _ = unix.F_SETLK _ = unix.F_SETLKW ) } func TestErrnoSignalName(t *testing.T) { testErrors := []struct { num syscall.Errno name string }{ {syscall.EPERM, "EPERM"}, {syscall.EINVAL, "EINVAL"}, {syscall.ENOENT, "ENOENT"}, } for _, te := range testErrors { t.Run(fmt.Sprintf("%d/%s", te.num, te.name), func(t *testing.T) { e := unix.ErrnoName(te.num) if e != te.name { t.Errorf("ErrnoName(%d) returned %s, want %s", te.num, e, te.name) } }) } testSignals := []struct { num syscall.Signal name string }{ {syscall.SIGHUP, "SIGHUP"}, {syscall.SIGPIPE, "SIGPIPE"}, {syscall.SIGSEGV, "SIGSEGV"}, } for _, ts := range testSignals { t.Run(fmt.Sprintf("%d/%s", ts.num, ts.name), func(t *testing.T) { s := unix.SignalName(ts.num) if s != ts.name { t.Errorf("SignalName(%d) returned %s, want %s", ts.num, s, ts.name) } }) } } func TestSignalNum(t *testing.T) { testSignals := []struct { name string want syscall.Signal }{ {"SIGHUP", syscall.SIGHUP}, {"SIGPIPE", syscall.SIGPIPE}, {"SIGSEGV", syscall.SIGSEGV}, {"NONEXISTS", 0}, } for _, ts := range testSignals { t.Run(fmt.Sprintf("%s/%d", ts.name, ts.want), func(t *testing.T) { got := unix.SignalNum(ts.name) if got != ts.want { t.Errorf("SignalNum(%s) returned %d, want %d", ts.name, got, ts.want) } }) } } func TestFcntlInt(t *testing.T) { t.Parallel() file, err := os.Create(filepath.Join(t.TempDir(), t.Name())) if err != nil { t.Fatal(err) } defer file.Close() f := file.Fd() flags, err := unix.FcntlInt(f, unix.F_GETFD, 0) if err != nil { t.Fatal(err) } if flags&unix.FD_CLOEXEC == 0 { t.Errorf("flags %#x do not include FD_CLOEXEC", flags) } } // TestFcntlFlock tests whether the file locking structure matches // the calling convention of each kernel. func TestFcntlFlock(t *testing.T) { name := filepath.Join(t.TempDir(), "TestFcntlFlock") fd, err := unix.Open(name, unix.O_CREAT|unix.O_RDWR|unix.O_CLOEXEC, 0) if err != nil { t.Fatalf("Open failed: %v", err) } defer unix.Close(fd) flock := unix.Flock_t{ Type: unix.F_RDLCK, Start: 0, Len: 0, Whence: 1, } if err := unix.FcntlFlock(uintptr(fd), unix.F_GETLK, &flock); err != nil { t.Fatalf("FcntlFlock failed: %v", err) } } // TestPassFD tests passing a file descriptor over a Unix socket. // // This test involved both a parent and child process. The parent // process is invoked as a normal test, with "go test", which then // runs the child process by running the current test binary with args // "-test.run=^TestPassFD$" and an environment variable used to signal // that the test should become the child process instead. func TestPassFD(t *testing.T) { if runtime.GOOS == "ios" { t.Skip("cannot exec subprocess on iOS, skipping test") } if os.Getenv("GO_WANT_HELPER_PROCESS") == "1" { passFDChild() return } if runtime.GOOS == "aix" { // Unix network isn't properly working on AIX // 7.2 with Technical Level < 2 out, err := exec.Command("oslevel", "-s").Output() if err != nil { t.Skipf("skipping on AIX because oslevel -s failed: %v", err) } if len(out) < len("7200-XX-ZZ-YYMM") { // AIX 7.2, Tech Level XX, Service Pack ZZ, date YYMM t.Skip("skipping on AIX because oslevel -s hasn't the right length") } aixVer := string(out[:4]) tl, err := strconv.Atoi(string(out[5:7])) if err != nil { t.Skipf("skipping on AIX because oslevel -s output cannot be parsed: %v", err) } if aixVer < "7200" || (aixVer == "7200" && tl < 2) { t.Skip("skipped on AIX versions previous to 7.2 TL 2") } } fds, err := unix.Socketpair(unix.AF_LOCAL, unix.SOCK_STREAM, 0) if err != nil { t.Fatalf("Socketpair: %v", err) } writeFile := os.NewFile(uintptr(fds[0]), "child-writes") readFile := os.NewFile(uintptr(fds[1]), "parent-reads") defer writeFile.Close() defer readFile.Close() exe, err := os.Executable() if err != nil { t.Fatal(err) } cmd := exec.Command(exe, "-test.run=^TestPassFD$", "--", t.TempDir()) cmd.Env = []string{"GO_WANT_HELPER_PROCESS=1"} if lp := os.Getenv("LD_LIBRARY_PATH"); lp != "" { cmd.Env = append(cmd.Env, "LD_LIBRARY_PATH="+lp) } cmd.ExtraFiles = []*os.File{writeFile} out, err := cmd.CombinedOutput() if len(out) > 0 || err != nil { t.Fatalf("child process: %q, %v", out, err) } c, err := net.FileConn(readFile) if err != nil { t.Fatalf("FileConn: %v", err) } defer c.Close() uc, ok := c.(*net.UnixConn) if !ok { t.Fatalf("unexpected FileConn type; expected UnixConn, got %T", c) } buf := make([]byte, 32) // expect 1 byte oob := make([]byte, 32) // expect 24 bytes closeUnix := time.AfterFunc(5*time.Second, func() { t.Logf("timeout reading from unix socket") uc.Close() }) _, oobn, _, _, err := uc.ReadMsgUnix(buf, oob) if err != nil { t.Fatalf("ReadMsgUnix: %v", err) } closeUnix.Stop() scms, err := unix.ParseSocketControlMessage(oob[:oobn]) if err != nil { t.Fatalf("ParseSocketControlMessage: %v", err) } if len(scms) != 1 { t.Fatalf("expected 1 SocketControlMessage; got scms = %#v", scms) } scm := scms[0] gotFds, err := unix.ParseUnixRights(&scm) if err != nil { t.Fatalf("unix.ParseUnixRights: %v", err) } if len(gotFds) != 1 { t.Fatalf("wanted 1 fd; got %#v", gotFds) } f := os.NewFile(uintptr(gotFds[0]), "fd-from-child") defer f.Close() got, err := io.ReadAll(f) want := "Hello from child process!\n" if string(got) != want { t.Errorf("child process ReadAll: %q, %v; want %q", got, err, want) } } // passFDChild is the child process used by TestPassFD. func passFDChild() { defer os.Exit(0) // Look for our fd. It should be fd 3, but we work around an fd leak // bug here (http://golang.org/issue/2603) to let it be elsewhere. var uc *net.UnixConn for fd := uintptr(3); fd <= 10; fd++ { f := os.NewFile(fd, "unix-conn") var ok bool netc, _ := net.FileConn(f) uc, ok = netc.(*net.UnixConn) if ok { break } } if uc == nil { fmt.Println("failed to find unix fd") return } // Make a file f to send to our parent process on uc. // We make it in tempDir, which our parent will clean up. flag.Parse() tempDir := flag.Arg(0) f, err := os.Create(filepath.Join(tempDir, "file")) if err != nil { fmt.Println(err) return } f.Write([]byte("Hello from child process!\n")) f.Seek(0, 0) rights := unix.UnixRights(int(f.Fd())) dummyByte := []byte("x") n, oobn, err := uc.WriteMsgUnix(dummyByte, rights, nil) if err != nil { fmt.Printf("WriteMsgUnix: %v", err) return } if n != 1 || oobn != len(rights) { fmt.Printf("WriteMsgUnix = %d, %d; want 1, %d", n, oobn, len(rights)) return } } // TestUnixRightsRoundtrip tests that UnixRights, ParseSocketControlMessage, ParseOneSocketControlMessage, // and ParseUnixRights are able to successfully round-trip lists of file descriptors. func TestUnixRightsRoundtrip(t *testing.T) { testCases := [...][][]int{ {{42}}, {{1, 2}}, {{3, 4, 5}}, {{}}, {{1, 2}, {3, 4, 5}, {}, {7}}, } for _, testCase := range testCases { b := []byte{} var n int for _, fds := range testCase { // Last assignment to n wins n = len(b) + unix.CmsgLen(4*len(fds)) b = append(b, unix.UnixRights(fds...)...) } // Truncate b b = b[:n] scms, err := unix.ParseSocketControlMessage(b) if err != nil { t.Fatalf("ParseSocketControlMessage: %v", err) } if len(scms) != len(testCase) { t.Fatalf("expected %v SocketControlMessage; got scms = %#v", len(testCase), scms) } var c int for len(b) > 0 { hdr, data, remainder, err := unix.ParseOneSocketControlMessage(b) if err != nil { t.Fatalf("ParseOneSocketControlMessage: %v", err) } if scms[c].Header != hdr || !bytes.Equal(scms[c].Data, data) { t.Fatal("expected SocketControlMessage header and data to match") } b = remainder c++ } if c != len(scms) { t.Fatalf("expected %d SocketControlMessages; got %d", len(scms), c) } for i, scm := range scms { gotFds, err := unix.ParseUnixRights(&scm) if err != nil { t.Fatalf("ParseUnixRights: %v", err) } wantFds := testCase[i] if len(gotFds) != len(wantFds) { t.Fatalf("expected %v fds, got %#v", len(wantFds), gotFds) } for j, fd := range gotFds { if fd != wantFds[j] { t.Fatalf("expected fd %v, got %v", wantFds[j], fd) } } } } } func TestRlimit(t *testing.T) { var rlimit, zero unix.Rlimit err := unix.Getrlimit(unix.RLIMIT_NOFILE, &rlimit) if err != nil { t.Fatalf("Getrlimit: save failed: %v", err) } if zero == rlimit { t.Fatalf("Getrlimit: save failed: got zero value %#v", rlimit) } set := rlimit set.Cur = set.Max - 1 if (runtime.GOOS == "darwin" || runtime.GOOS == "ios") && set.Cur > 4096 { // rlim_min for RLIMIT_NOFILE should be equal to // or lower than kern.maxfilesperproc, which on // some machines are 4096. See #40564. set.Cur = 4096 } err = unix.Setrlimit(unix.RLIMIT_NOFILE, &set) if err != nil { t.Fatalf("Setrlimit: set failed: %#v %v", set, err) } var get unix.Rlimit err = unix.Getrlimit(unix.RLIMIT_NOFILE, &get) if err != nil { t.Fatalf("Getrlimit: get failed: %v", err) } set = rlimit set.Cur = set.Max - 1 if (runtime.GOOS == "darwin" || runtime.GOOS == "ios") && set.Cur > 4096 { set.Cur = 4096 } if set != get { // Seems like Darwin requires some privilege to // increase the soft limit of rlimit sandbox, though // Setrlimit never reports an error. switch runtime.GOOS { case "darwin", "ios": default: t.Fatalf("Rlimit: change failed: wanted %#v got %#v", set, get) } } err = unix.Setrlimit(unix.RLIMIT_NOFILE, &rlimit) if err != nil { t.Fatalf("Setrlimit: restore failed: %#v %v", rlimit, err) } // make sure RLIM_INFINITY can be assigned to Rlimit members _ = unix.Rlimit{ Cur: unix.RLIM_INFINITY, Max: unix.RLIM_INFINITY, } } func TestSeekFailure(t *testing.T) { _, err := unix.Seek(-1, 0, 0) if err == nil { t.Fatalf("Seek(-1, 0, 0) did not fail") } str := err.Error() // used to crash on Linux t.Logf("Seek: %v", str) if str == "" { t.Fatalf("Seek(-1, 0, 0) return error with empty message") } } func TestSetsockoptString(t *testing.T) { // should not panic on empty string, see issue #31277 err := unix.SetsockoptString(-1, 0, 0, "") if err == nil { t.Fatalf("SetsockoptString: did not fail") } } func TestDup(t *testing.T) { file, err := os.Create(filepath.Join(t.TempDir(), t.Name())) if err != nil { t.Fatal(err) } defer file.Close() f := int(file.Fd()) newFd, err := unix.Dup(f) if err != nil { t.Fatalf("Dup: %v", err) } // Create and reserve a file descriptor. // Dup2 automatically closes it before reusing it. nullFile, err := os.Open("/dev/null") if err != nil { t.Fatal(err) } dupFd := int(file.Fd()) err = unix.Dup2(newFd, dupFd) if err != nil { t.Fatalf("Dup2: %v", err) } // Keep the dummy file open long enough to not be closed in // its finalizer. runtime.KeepAlive(nullFile) b1 := []byte("Test123") b2 := make([]byte, 7) _, err = unix.Write(dupFd, b1) if err != nil { t.Fatalf("Write to dup2 fd failed: %v", err) } _, err = unix.Seek(f, 0, 0) if err != nil { t.Fatalf("Seek failed: %v", err) } _, err = unix.Read(f, b2) if err != nil { t.Fatalf("Read back failed: %v", err) } if string(b1) != string(b2) { t.Errorf("Dup: stdout write not in file, expected %v, got %v", string(b1), string(b2)) } } func TestPoll(t *testing.T) { if runtime.GOOS == "android" || runtime.GOOS == "ios" { t.Skip("mkfifo syscall is not available on android and iOS, skipping test") } chtmpdir(t) f := mktmpfifo(t) const timeout = 100 ok := make(chan bool, 1) go func() { select { case <-time.After(10 * timeout * time.Millisecond): t.Errorf("Poll: failed to timeout after %d milliseconds", 10*timeout) case <-ok: } }() for { fds := []unix.PollFd{{Fd: int32(f.Fd()), Events: unix.POLLIN}} n, err := unix.Poll(fds, timeout) ok <- true if err == unix.EINTR { t.Logf("Poll interrupted") continue } else if err != nil { t.Errorf("Poll: unexpected error: %v", err) return } if n != 0 { t.Errorf("Poll: wrong number of events: got %v, expected %v", n, 0) // Identify which event(s) caused Poll to return. // We can't trivially use a table here because Revents // isn't the same type on all systems. if fds[0].Revents&unix.POLLIN != 0 { t.Log("found POLLIN event") } if fds[0].Revents&unix.POLLPRI != 0 { t.Log("found POLLPRI event") } if fds[0].Revents&unix.POLLOUT != 0 { t.Log("found POLLOUT event") } if fds[0].Revents&unix.POLLERR != 0 { t.Log("found POLLERR event") } if fds[0].Revents&unix.POLLHUP != 0 { t.Log("found POLLHUP event") } if fds[0].Revents&unix.POLLNVAL != 0 { t.Log("found POLLNVAL event") } } break } } func TestSelect(t *testing.T) { for { n, err := unix.Select(0, nil, nil, nil, &unix.Timeval{Sec: 0, Usec: 0}) if err == unix.EINTR { t.Logf("Select interrupted") continue } else if err != nil { t.Fatalf("Select: %v", err) } if n != 0 { t.Fatalf("Select: got %v ready file descriptors, expected 0", n) } break } dur := 250 * time.Millisecond var took time.Duration for { // On some platforms (e.g. Linux), the passed-in timeval is // updated by select(2). Make sure to reset to the full duration // in case of an EINTR. tv := unix.NsecToTimeval(int64(dur)) start := time.Now() n, err := unix.Select(0, nil, nil, nil, &tv) took = time.Since(start) if err == unix.EINTR { t.Logf("Select interrupted after %v", took) continue } else if err != nil { t.Fatalf("Select: %v", err) } if n != 0 { t.Fatalf("Select: got %v ready file descriptors, expected 0", n) } break } // On some platforms (e.g. NetBSD) the actual timeout might be arbitrarily // less than requested. However, Linux in particular promises to only return // early if a file descriptor becomes ready (not applicable here), or the call // is interrupted by a signal handler (explicitly retried in the loop above), // or the timeout expires. if took < dur { if runtime.GOOS == "linux" { t.Errorf("Select: slept for %v, expected %v", took, dur) } else { t.Logf("Select: slept for %v, requested %v", took, dur) } } rr, ww, err := os.Pipe() if err != nil { t.Fatal(err) } defer rr.Close() defer ww.Close() if _, err := ww.Write([]byte("HELLO GOPHER")); err != nil { t.Fatal(err) } rFdSet := &unix.FdSet{} fd := int(rr.Fd()) rFdSet.Set(fd) for { n, err := unix.Select(fd+1, rFdSet, nil, nil, nil) if err == unix.EINTR { t.Log("Select interrupted") continue } else if err != nil { t.Fatalf("Select: %v", err) } if n != 1 { t.Fatalf("Select: got %v ready file descriptors, expected 1", n) } break } } func TestGetwd(t *testing.T) { fd, err := os.Open(".") if err != nil { t.Fatalf("Open .: %s", err) } defer fd.Close() // Directory list for test. Do not worry if any are symlinks or do not // exist on some common unix desktop environments. That will be checked. dirs := []string{"/", "/usr/bin", "/etc", "/var", "/opt"} switch runtime.GOOS { case "android": dirs = []string{"/", "/system/bin"} case "ios": dirs = []string{t.TempDir(), t.TempDir()} } oldwd := os.Getenv("PWD") for _, d := range dirs { // Check whether d exists, is a dir and that d's path does not contain a symlink fi, err := os.Stat(d) if err != nil || !fi.IsDir() { t.Logf("Test dir %s stat error (%v) or not a directory, skipping", d, err) continue } check, err := filepath.EvalSymlinks(d) if err != nil || check != d { t.Logf("Test dir %s (%s) is symlink or other error (%v), skipping", d, check, err) continue } err = os.Chdir(d) if err != nil { t.Fatalf("Chdir: %v", err) } pwd, err := unix.Getwd() if err != nil { t.Fatalf("Getwd in %s: %s", d, err) } os.Setenv("PWD", oldwd) err = fd.Chdir() if err != nil { // We changed the current directory and cannot go back. // Don't let the tests continue; they'll scribble // all over some other directory. fmt.Fprintf(os.Stderr, "fchdir back to dot failed: %s\n", err) os.Exit(1) } if pwd != d { t.Fatalf("Getwd returned %q want %q", pwd, d) } } } func compareStat_t(t *testing.T, otherStat string, st1, st2 *unix.Stat_t) { if st2.Dev != st1.Dev { t.Errorf("%s/Fstatat: got dev %v, expected %v", otherStat, st2.Dev, st1.Dev) } if st2.Ino != st1.Ino { t.Errorf("%s/Fstatat: got ino %v, expected %v", otherStat, st2.Ino, st1.Ino) } if st2.Mode != st1.Mode { t.Errorf("%s/Fstatat: got mode %v, expected %v", otherStat, st2.Mode, st1.Mode) } if st2.Uid != st1.Uid { t.Errorf("%s/Fstatat: got uid %v, expected %v", otherStat, st2.Uid, st1.Uid) } if st2.Gid != st1.Gid { t.Errorf("%s/Fstatat: got gid %v, expected %v", otherStat, st2.Gid, st1.Gid) } if st2.Size != st1.Size { t.Errorf("%s/Fstatat: got size %v, expected %v", otherStat, st2.Size, st1.Size) } } func TestFstatat(t *testing.T) { chtmpdir(t) touch(t, "file1") var st1 unix.Stat_t err := unix.Stat("file1", &st1) if err != nil { t.Fatalf("Stat: %v", err) } var st2 unix.Stat_t err = unix.Fstatat(unix.AT_FDCWD, "file1", &st2, 0) if err != nil { t.Fatalf("Fstatat: %v", err) } compareStat_t(t, "Stat", &st1, &st2) err = os.Symlink("file1", "symlink1") if err != nil { t.Fatal(err) } err = unix.Lstat("symlink1", &st1) if err != nil { t.Fatalf("Lstat: %v", err) } err = unix.Fstatat(unix.AT_FDCWD, "symlink1", &st2, unix.AT_SYMLINK_NOFOLLOW) if err != nil { t.Fatalf("Fstatat: %v", err) } compareStat_t(t, "Lstat", &st1, &st2) } func TestFchmodat(t *testing.T) { chtmpdir(t) touch(t, "file1") err := os.Symlink("file1", "symlink1") if err != nil { t.Fatal(err) } mode := os.FileMode(0444) err = unix.Fchmodat(unix.AT_FDCWD, "symlink1", uint32(mode), 0) if err != nil { t.Fatalf("Fchmodat: unexpected error: %v", err) } fi, err := os.Stat("file1") if err != nil { t.Fatal(err) } if fi.Mode() != mode { t.Errorf("Fchmodat: failed to change file mode: expected %v, got %v", mode, fi.Mode()) } mode = os.FileMode(0644) didChmodSymlink := true err = unix.Fchmodat(unix.AT_FDCWD, "symlink1", uint32(mode), unix.AT_SYMLINK_NOFOLLOW) if err != nil { if (runtime.GOOS == "android" || runtime.GOOS == "linux" || runtime.GOOS == "solaris" || runtime.GOOS == "illumos") && err == unix.EOPNOTSUPP { // Linux and Illumos don't support flags != 0 didChmodSymlink = false } else { t.Fatalf("Fchmodat: unexpected error: %v", err) } } if !didChmodSymlink { // Didn't change mode of the symlink. On Linux, the permissions // of a symbolic link are always 0777 according to symlink(7) mode = os.FileMode(0777) } var st unix.Stat_t err = unix.Lstat("symlink1", &st) if err != nil { t.Fatal(err) } got := os.FileMode(st.Mode & 0777) if got != mode { t.Errorf("Fchmodat: failed to change symlink mode: expected %v, got %v", mode, got) } } func TestMkdev(t *testing.T) { major := uint32(42) minor := uint32(7) dev := unix.Mkdev(major, minor) if unix.Major(dev) != major { t.Errorf("Major(%#x) == %d, want %d", dev, unix.Major(dev), major) } if unix.Minor(dev) != minor { t.Errorf("Minor(%#x) == %d, want %d", dev, unix.Minor(dev), minor) } } func TestPipe(t *testing.T) { const s = "hello" var pipes [2]int err := unix.Pipe(pipes[:]) if err != nil { t.Fatalf("pipe: %v", err) } r := pipes[0] w := pipes[1] go func() { n, err := unix.Write(w, []byte(s)) if err != nil { t.Errorf("bad write: %v", err) return } if n != len(s) { t.Errorf("bad write count: %d", n) return } err = unix.Close(w) if err != nil { t.Errorf("bad close: %v", err) return } }() var buf [10 + len(s)]byte n, err := unix.Read(r, buf[:]) if err != nil { t.Fatalf("bad read: %v", err) } if n != len(s) { t.Fatalf("bad read count: %d", n) } if string(buf[:n]) != s { t.Fatalf("bad contents: %s", string(buf[:n])) } err = unix.Close(r) if err != nil { t.Fatalf("bad close: %v", err) } } func TestRenameat(t *testing.T) { chtmpdir(t) from, to := "renamefrom", "renameto" touch(t, from) err := unix.Renameat(unix.AT_FDCWD, from, unix.AT_FDCWD, to) if err != nil { t.Fatalf("Renameat: unexpected error: %v", err) } _, err = os.Stat(to) if err != nil { t.Error(err) } _, err = os.Stat(from) if err == nil { t.Errorf("Renameat: stat of renamed file %q unexpectedly succeeded", from) } } func TestUtimesNanoAt(t *testing.T) { chtmpdir(t) symlink := "symlink1" os.Remove(symlink) err := os.Symlink("nonexisting", symlink) if err != nil { t.Fatal(err) } // Some filesystems only support microsecond resolution. Account for // that in Nsec. ts := []unix.Timespec{ {Sec: 1111, Nsec: 2000}, {Sec: 3333, Nsec: 4000}, } err = unix.UtimesNanoAt(unix.AT_FDCWD, symlink, ts, unix.AT_SYMLINK_NOFOLLOW) if err != nil { t.Fatalf("UtimesNanoAt: %v", err) } var st unix.Stat_t err = unix.Lstat(symlink, &st) if err != nil { t.Fatalf("Lstat: %v", err) } // Only check Mtim, Atim might not be supported by the underlying filesystem expected := ts[1] if st.Mtim.Nsec == 0 { // Some filesystems only support 1-second time stamp resolution // and will always set Nsec to 0. expected.Nsec = 0 } if st.Mtim != expected { t.Errorf("UtimesNanoAt: wrong mtime: got %v, expected %v", st.Mtim, expected) } } func TestSend(t *testing.T) { ec := make(chan error, 2) ts := []byte("HELLO GOPHER") fds, err := unix.Socketpair(unix.AF_LOCAL, unix.SOCK_STREAM, 0) if err != nil { t.Fatalf("Socketpair: %v", err) } defer unix.Close(fds[0]) defer unix.Close(fds[1]) go func() { data := make([]byte, len(ts)) _, _, err := unix.Recvfrom(fds[1], data, 0) if err != nil { ec <- err } if !bytes.Equal(ts, data) { ec <- fmt.Errorf("data sent != data received. Received %q", data) } ec <- nil }() err = unix.Send(fds[0], ts, 0) if err != nil { ec <- err } select { case err = <-ec: if err != nil { t.Fatalf("Send: %v", err) } case <-time.After(2 * time.Second): t.Fatal("Send: nothing received after 2 seconds") } } func TestSendmsgBuffers(t *testing.T) { fds, err := unix.Socketpair(unix.AF_LOCAL, unix.SOCK_STREAM, 0) if err != nil { t.Fatal(err) } defer unix.Close(fds[0]) defer unix.Close(fds[1]) var wg sync.WaitGroup wg.Add(1) go func() { defer wg.Done() bufs := [][]byte{ make([]byte, 5), nil, make([]byte, 5), } n, oobn, recvflags, _, err := unix.RecvmsgBuffers(fds[1], bufs, nil, 0) if err != nil { t.Error(err) return } if n != 10 { t.Errorf("got %d bytes, want 10", n) } if oobn != 0 { t.Errorf("got %d OOB bytes, want 0", oobn) } if recvflags != 0 { t.Errorf("got flags %#x, want %#x", recvflags, 0) } want := [][]byte{ []byte("01234"), nil, []byte("56789"), } if !reflect.DeepEqual(bufs, want) { t.Errorf("got data %q, want %q", bufs, want) } }() defer wg.Wait() bufs := [][]byte{ []byte("012"), []byte("34"), nil, []byte("5678"), []byte("9"), } n, err := unix.SendmsgBuffers(fds[0], bufs, nil, nil, 0) if err != nil { t.Fatal(err) } if n != 10 { t.Errorf("sent %d bytes, want 10", n) } } // Issue 56384. func TestRecvmsgControl(t *testing.T) { switch runtime.GOOS { case "solaris", "illumos": // Test fails on Solaris, saying // "got 0 control messages, want 1". // Not sure why; Solaris recvmsg man page says // "For processes on the same host, recvmsg() can be // used to receive a file descriptor from another // process, but it cannot receive ancillary data." t.Skipf("skipping on %s", runtime.GOOS) } fds, err := unix.Socketpair(unix.AF_UNIX, unix.SOCK_STREAM, 0) if err != nil { t.Fatal(err) } defer unix.Close(fds[0]) defer unix.Close(fds[1]) const payload = "hello" // Start a goroutine that sends a control message followed by // a payload on fds[1]. go func() { f, err := os.Create(filepath.Join(t.TempDir(), "file")) if err != nil { t.Error(err) return } defer f.Close() rc, err := f.SyscallConn() if err != nil { t.Error(err) return } var rights []byte err = rc.Control(func(fd uintptr) { rights = unix.UnixRights(int(fd)) }) if err != nil { t.Error(err) return } _, err = unix.SendmsgN(fds[1], nil, rights, nil, 0) if err != nil { t.Error(err) } if _, err := unix.Write(fds[1], []byte(payload)); err != nil { t.Error(err) } }() // Read the control message sent by the goroutine. The // goroutine writes to fds[1], we read from fds[0]. cbuf := make([]byte, unix.CmsgSpace(4)) _, cn, _, _, err := unix.Recvmsg(fds[0], nil, cbuf, 0) if err != nil { t.Fatal(err) } cbuf = cbuf[:cn] // Read the payload sent by the goroutine. buf := make([]byte, len(payload)) n, err := unix.Read(fds[0], buf) if err != nil { t.Fatal(err) } buf = buf[:n] if payload != string(buf) { t.Errorf("read payload %q, want %q", buf, payload) } // Check the control message. cmsgs, err := unix.ParseSocketControlMessage(cbuf) if err != nil { t.Fatal(err) } if len(cmsgs) != 1 { t.Fatalf("got %d control messages, want 1", len(cmsgs)) } cfds, err := unix.ParseUnixRights(&cmsgs[0]) if err != nil { t.Fatal(err) } if len(cfds) != 1 { t.Fatalf("got %d fds, want 1", len(cfds)) } defer unix.Close(cfds[0]) } // mktmpfifo creates a temporary FIFO and sets up a cleanup function. func mktmpfifo(t *testing.T) *os.File { t.Helper() err := unix.Mkfifo("fifo", 0666) if err != nil { t.Fatalf("mktmpfifo: failed to create FIFO: %v", err) } f, err := os.OpenFile("fifo", os.O_RDWR, 0666) if err != nil { os.Remove("fifo") t.Fatal(err) } t.Cleanup(func() { f.Close() os.Remove("fifo") }) return f } // utilities taken from os/os_test.go func touch(t *testing.T, name string) { t.Helper() f, err := os.Create(name) if err != nil { t.Fatal(err) } if err := f.Close(); err != nil { t.Fatal(err) } } // chtmpdir changes the working directory to a new temporary directory and // sets up a cleanup function. Used when PWD is read-only. func chtmpdir(t *testing.T) { t.Helper() oldwd, err := os.Getwd() if err != nil { t.Fatal(err) } if err := os.Chdir(t.TempDir()); err != nil { t.Fatal(err) } t.Cleanup(func() { if err := os.Chdir(oldwd); err != nil { t.Fatal(err) } }) } dependencies/pkg/mod/golang.org/x/sys@v0.26.0/unix/zsyscall_openbsd_riscv64.go0000644000000000000000000016417115107355264026110 0ustar rootroot// go run mksyscall.go -openbsd -libc -tags openbsd,riscv64 syscall_bsd.go syscall_openbsd.go syscall_openbsd_riscv64.go // Code generated by the command above; see README.md. DO NOT EDIT. //go:build openbsd && riscv64 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 := syscall_rawSyscall(libc_getgroups_trampoline_addr, uintptr(ngid), uintptr(unsafe.Pointer(gid)), 0) n = int(r0) if e1 != 0 { err = errnoErr(e1) } return } var libc_getgroups_trampoline_addr uintptr //go:cgo_import_dynamic libc_getgroups getgroups "libc.so" // THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT func setgroups(ngid int, gid *_Gid_t) (err error) { _, _, e1 := syscall_rawSyscall(libc_setgroups_trampoline_addr, uintptr(ngid), uintptr(unsafe.Pointer(gid)), 0) if e1 != 0 { err = errnoErr(e1) } return } var libc_setgroups_trampoline_addr uintptr //go:cgo_import_dynamic libc_setgroups setgroups "libc.so" // 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 := syscall_syscall6(libc_wait4_trampoline_addr, uintptr(pid), uintptr(unsafe.Pointer(wstatus)), uintptr(options), uintptr(unsafe.Pointer(rusage)), 0, 0) wpid = int(r0) if e1 != 0 { err = errnoErr(e1) } return } var libc_wait4_trampoline_addr uintptr //go:cgo_import_dynamic libc_wait4 wait4 "libc.so" // 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_syscall(libc_accept_trampoline_addr, uintptr(s), uintptr(unsafe.Pointer(rsa)), uintptr(unsafe.Pointer(addrlen))) fd = int(r0) if e1 != 0 { err = errnoErr(e1) } return } var libc_accept_trampoline_addr uintptr //go:cgo_import_dynamic libc_accept accept "libc.so" // 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_syscall(libc_bind_trampoline_addr, uintptr(s), uintptr(addr), uintptr(addrlen)) if e1 != 0 { err = errnoErr(e1) } return } var libc_bind_trampoline_addr uintptr //go:cgo_import_dynamic libc_bind bind "libc.so" // 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_syscall(libc_connect_trampoline_addr, uintptr(s), uintptr(addr), uintptr(addrlen)) if e1 != 0 { err = errnoErr(e1) } return } var libc_connect_trampoline_addr uintptr //go:cgo_import_dynamic libc_connect connect "libc.so" // 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 := syscall_rawSyscall(libc_socket_trampoline_addr, uintptr(domain), uintptr(typ), uintptr(proto)) fd = int(r0) if e1 != 0 { err = errnoErr(e1) } return } var libc_socket_trampoline_addr uintptr //go:cgo_import_dynamic libc_socket socket "libc.so" // 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 := syscall_syscall6(libc_getsockopt_trampoline_addr, uintptr(s), uintptr(level), uintptr(name), uintptr(val), uintptr(unsafe.Pointer(vallen)), 0) if e1 != 0 { err = errnoErr(e1) } return } var libc_getsockopt_trampoline_addr uintptr //go:cgo_import_dynamic libc_getsockopt getsockopt "libc.so" // 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 := syscall_syscall6(libc_setsockopt_trampoline_addr, uintptr(s), uintptr(level), uintptr(name), uintptr(val), uintptr(vallen), 0) if e1 != 0 { err = errnoErr(e1) } return } var libc_setsockopt_trampoline_addr uintptr //go:cgo_import_dynamic libc_setsockopt setsockopt "libc.so" // THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT func getpeername(fd int, rsa *RawSockaddrAny, addrlen *_Socklen) (err error) { _, _, e1 := syscall_rawSyscall(libc_getpeername_trampoline_addr, uintptr(fd), uintptr(unsafe.Pointer(rsa)), uintptr(unsafe.Pointer(addrlen))) if e1 != 0 { err = errnoErr(e1) } return } var libc_getpeername_trampoline_addr uintptr //go:cgo_import_dynamic libc_getpeername getpeername "libc.so" // THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT func getsockname(fd int, rsa *RawSockaddrAny, addrlen *_Socklen) (err error) { _, _, e1 := syscall_rawSyscall(libc_getsockname_trampoline_addr, uintptr(fd), uintptr(unsafe.Pointer(rsa)), uintptr(unsafe.Pointer(addrlen))) if e1 != 0 { err = errnoErr(e1) } return } var libc_getsockname_trampoline_addr uintptr //go:cgo_import_dynamic libc_getsockname getsockname "libc.so" // THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT func Shutdown(s int, how int) (err error) { _, _, e1 := syscall_syscall(libc_shutdown_trampoline_addr, uintptr(s), uintptr(how), 0) if e1 != 0 { err = errnoErr(e1) } return } var libc_shutdown_trampoline_addr uintptr //go:cgo_import_dynamic libc_shutdown shutdown "libc.so" // 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 := syscall_rawSyscall6(libc_socketpair_trampoline_addr, uintptr(domain), uintptr(typ), uintptr(proto), uintptr(unsafe.Pointer(fd)), 0, 0) if e1 != 0 { err = errnoErr(e1) } return } var libc_socketpair_trampoline_addr uintptr //go:cgo_import_dynamic libc_socketpair socketpair "libc.so" // 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 := syscall_syscall6(libc_recvfrom_trampoline_addr, 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 } var libc_recvfrom_trampoline_addr uintptr //go:cgo_import_dynamic libc_recvfrom recvfrom "libc.so" // 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 := syscall_syscall6(libc_sendto_trampoline_addr, uintptr(s), uintptr(_p0), uintptr(len(buf)), uintptr(flags), uintptr(to), uintptr(addrlen)) if e1 != 0 { err = errnoErr(e1) } return } var libc_sendto_trampoline_addr uintptr //go:cgo_import_dynamic libc_sendto sendto "libc.so" // 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_syscall(libc_recvmsg_trampoline_addr, uintptr(s), uintptr(unsafe.Pointer(msg)), uintptr(flags)) n = int(r0) if e1 != 0 { err = errnoErr(e1) } return } var libc_recvmsg_trampoline_addr uintptr //go:cgo_import_dynamic libc_recvmsg recvmsg "libc.so" // 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_syscall(libc_sendmsg_trampoline_addr, uintptr(s), uintptr(unsafe.Pointer(msg)), uintptr(flags)) n = int(r0) if e1 != 0 { err = errnoErr(e1) } return } var libc_sendmsg_trampoline_addr uintptr //go:cgo_import_dynamic libc_sendmsg sendmsg "libc.so" // 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 := syscall_syscall6(libc_kevent_trampoline_addr, uintptr(kq), uintptr(change), uintptr(nchange), uintptr(event), uintptr(nevent), uintptr(unsafe.Pointer(timeout))) n = int(r0) if e1 != 0 { err = errnoErr(e1) } return } var libc_kevent_trampoline_addr uintptr //go:cgo_import_dynamic libc_kevent kevent "libc.so" // 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_syscall(libc_utimes_trampoline_addr, uintptr(unsafe.Pointer(_p0)), uintptr(unsafe.Pointer(timeval)), 0) if e1 != 0 { err = errnoErr(e1) } return } var libc_utimes_trampoline_addr uintptr //go:cgo_import_dynamic libc_utimes utimes "libc.so" // THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT func futimes(fd int, timeval *[2]Timeval) (err error) { _, _, e1 := syscall_syscall(libc_futimes_trampoline_addr, uintptr(fd), uintptr(unsafe.Pointer(timeval)), 0) if e1 != 0 { err = errnoErr(e1) } return } var libc_futimes_trampoline_addr uintptr //go:cgo_import_dynamic libc_futimes futimes "libc.so" // 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_syscall(libc_poll_trampoline_addr, uintptr(unsafe.Pointer(fds)), uintptr(nfds), uintptr(timeout)) n = int(r0) if e1 != 0 { err = errnoErr(e1) } return } var libc_poll_trampoline_addr uintptr //go:cgo_import_dynamic libc_poll poll "libc.so" // THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT func Madvise(b []byte, behav int) (err error) { var _p0 unsafe.Pointer if len(b) > 0 { _p0 = unsafe.Pointer(&b[0]) } else { _p0 = unsafe.Pointer(&_zero) } _, _, e1 := syscall_syscall(libc_madvise_trampoline_addr, uintptr(_p0), uintptr(len(b)), uintptr(behav)) if e1 != 0 { err = errnoErr(e1) } return } var libc_madvise_trampoline_addr uintptr //go:cgo_import_dynamic libc_madvise madvise "libc.so" // 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_syscall(libc_mlock_trampoline_addr, uintptr(_p0), uintptr(len(b)), 0) if e1 != 0 { err = errnoErr(e1) } return } var libc_mlock_trampoline_addr uintptr //go:cgo_import_dynamic libc_mlock mlock "libc.so" // THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT func Mlockall(flags int) (err error) { _, _, e1 := syscall_syscall(libc_mlockall_trampoline_addr, uintptr(flags), 0, 0) if e1 != 0 { err = errnoErr(e1) } return } var libc_mlockall_trampoline_addr uintptr //go:cgo_import_dynamic libc_mlockall mlockall "libc.so" // 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_syscall(libc_mprotect_trampoline_addr, uintptr(_p0), uintptr(len(b)), uintptr(prot)) if e1 != 0 { err = errnoErr(e1) } return } var libc_mprotect_trampoline_addr uintptr //go:cgo_import_dynamic libc_mprotect mprotect "libc.so" // THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT func Msync(b []byte, flags int) (err error) { var _p0 unsafe.Pointer if len(b) > 0 { _p0 = unsafe.Pointer(&b[0]) } else { _p0 = unsafe.Pointer(&_zero) } _, _, e1 := syscall_syscall(libc_msync_trampoline_addr, uintptr(_p0), uintptr(len(b)), uintptr(flags)) if e1 != 0 { err = errnoErr(e1) } return } var libc_msync_trampoline_addr uintptr //go:cgo_import_dynamic libc_msync msync "libc.so" // 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_syscall(libc_munlock_trampoline_addr, uintptr(_p0), uintptr(len(b)), 0) if e1 != 0 { err = errnoErr(e1) } return } var libc_munlock_trampoline_addr uintptr //go:cgo_import_dynamic libc_munlock munlock "libc.so" // THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT func Munlockall() (err error) { _, _, e1 := syscall_syscall(libc_munlockall_trampoline_addr, 0, 0, 0) if e1 != 0 { err = errnoErr(e1) } return } var libc_munlockall_trampoline_addr uintptr //go:cgo_import_dynamic libc_munlockall munlockall "libc.so" // THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT func pipe2(p *[2]_C_int, flags int) (err error) { _, _, e1 := syscall_rawSyscall(libc_pipe2_trampoline_addr, uintptr(unsafe.Pointer(p)), uintptr(flags), 0) if e1 != 0 { err = errnoErr(e1) } return } var libc_pipe2_trampoline_addr uintptr //go:cgo_import_dynamic libc_pipe2 pipe2 "libc.so" // 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_syscall(libc_getdents_trampoline_addr, uintptr(fd), uintptr(_p0), uintptr(len(buf))) n = int(r0) if e1 != 0 { err = errnoErr(e1) } return } var libc_getdents_trampoline_addr uintptr //go:cgo_import_dynamic libc_getdents getdents "libc.so" // 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_syscall(libc_getcwd_trampoline_addr, uintptr(_p0), uintptr(len(buf)), 0) n = int(r0) if e1 != 0 { err = errnoErr(e1) } return } var libc_getcwd_trampoline_addr uintptr //go:cgo_import_dynamic libc_getcwd getcwd "libc.so" // THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT func getresuid(ruid *_C_int, euid *_C_int, suid *_C_int) { syscall_rawSyscall(libc_getresuid_trampoline_addr, uintptr(unsafe.Pointer(ruid)), uintptr(unsafe.Pointer(euid)), uintptr(unsafe.Pointer(suid))) return } var libc_getresuid_trampoline_addr uintptr //go:cgo_import_dynamic libc_getresuid getresuid "libc.so" // THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT func getresgid(rgid *_C_int, egid *_C_int, sgid *_C_int) { syscall_rawSyscall(libc_getresgid_trampoline_addr, uintptr(unsafe.Pointer(rgid)), uintptr(unsafe.Pointer(egid)), uintptr(unsafe.Pointer(sgid))) return } var libc_getresgid_trampoline_addr uintptr //go:cgo_import_dynamic libc_getresgid getresgid "libc.so" // 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_syscall(libc_ioctl_trampoline_addr, uintptr(fd), uintptr(req), uintptr(arg)) if e1 != 0 { err = errnoErr(e1) } return } var libc_ioctl_trampoline_addr uintptr //go:cgo_import_dynamic libc_ioctl ioctl "libc.so" // THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT func ioctlPtr(fd int, req uint, arg unsafe.Pointer) (err error) { _, _, e1 := syscall_syscall(libc_ioctl_trampoline_addr, 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 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 := syscall_syscall6(libc_sysctl_trampoline_addr, 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 } var libc_sysctl_trampoline_addr uintptr //go:cgo_import_dynamic libc_sysctl sysctl "libc.so" // THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT func fcntl(fd int, cmd int, arg int) (n int, err error) { r0, _, e1 := syscall_syscall(libc_fcntl_trampoline_addr, uintptr(fd), uintptr(cmd), uintptr(arg)) n = int(r0) if e1 != 0 { err = errnoErr(e1) } return } var libc_fcntl_trampoline_addr uintptr //go:cgo_import_dynamic libc_fcntl fcntl "libc.so" // THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT func fcntlPtr(fd int, cmd int, arg unsafe.Pointer) (n int, err error) { r0, _, e1 := syscall_syscall(libc_fcntl_trampoline_addr, uintptr(fd), uintptr(cmd), uintptr(arg)) n = 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 := syscall_syscall6(libc_ppoll_trampoline_addr, 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 } var libc_ppoll_trampoline_addr uintptr //go:cgo_import_dynamic libc_ppoll ppoll "libc.so" // 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_syscall(libc_access_trampoline_addr, uintptr(unsafe.Pointer(_p0)), uintptr(mode), 0) if e1 != 0 { err = errnoErr(e1) } return } var libc_access_trampoline_addr uintptr //go:cgo_import_dynamic libc_access access "libc.so" // THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT func Adjtime(delta *Timeval, olddelta *Timeval) (err error) { _, _, e1 := syscall_syscall(libc_adjtime_trampoline_addr, uintptr(unsafe.Pointer(delta)), uintptr(unsafe.Pointer(olddelta)), 0) if e1 != 0 { err = errnoErr(e1) } return } var libc_adjtime_trampoline_addr uintptr //go:cgo_import_dynamic libc_adjtime adjtime "libc.so" // 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_syscall(libc_chdir_trampoline_addr, uintptr(unsafe.Pointer(_p0)), 0, 0) if e1 != 0 { err = errnoErr(e1) } return } var libc_chdir_trampoline_addr uintptr //go:cgo_import_dynamic libc_chdir chdir "libc.so" // 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_syscall(libc_chflags_trampoline_addr, uintptr(unsafe.Pointer(_p0)), uintptr(flags), 0) if e1 != 0 { err = errnoErr(e1) } return } var libc_chflags_trampoline_addr uintptr //go:cgo_import_dynamic libc_chflags chflags "libc.so" // 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_syscall(libc_chmod_trampoline_addr, uintptr(unsafe.Pointer(_p0)), uintptr(mode), 0) if e1 != 0 { err = errnoErr(e1) } return } var libc_chmod_trampoline_addr uintptr //go:cgo_import_dynamic libc_chmod chmod "libc.so" // 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_syscall(libc_chown_trampoline_addr, uintptr(unsafe.Pointer(_p0)), uintptr(uid), uintptr(gid)) if e1 != 0 { err = errnoErr(e1) } return } var libc_chown_trampoline_addr uintptr //go:cgo_import_dynamic libc_chown chown "libc.so" // 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_syscall(libc_chroot_trampoline_addr, uintptr(unsafe.Pointer(_p0)), 0, 0) if e1 != 0 { err = errnoErr(e1) } return } var libc_chroot_trampoline_addr uintptr //go:cgo_import_dynamic libc_chroot chroot "libc.so" // THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT func ClockGettime(clockid int32, time *Timespec) (err error) { _, _, e1 := syscall_syscall(libc_clock_gettime_trampoline_addr, uintptr(clockid), uintptr(unsafe.Pointer(time)), 0) if e1 != 0 { err = errnoErr(e1) } return } var libc_clock_gettime_trampoline_addr uintptr //go:cgo_import_dynamic libc_clock_gettime clock_gettime "libc.so" // THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT func Close(fd int) (err error) { _, _, e1 := syscall_syscall(libc_close_trampoline_addr, uintptr(fd), 0, 0) if e1 != 0 { err = errnoErr(e1) } return } var libc_close_trampoline_addr uintptr //go:cgo_import_dynamic libc_close close "libc.so" // THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT func Dup(fd int) (nfd int, err error) { r0, _, e1 := syscall_syscall(libc_dup_trampoline_addr, uintptr(fd), 0, 0) nfd = int(r0) if e1 != 0 { err = errnoErr(e1) } return } var libc_dup_trampoline_addr uintptr //go:cgo_import_dynamic libc_dup dup "libc.so" // THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT func Dup2(from int, to int) (err error) { _, _, e1 := syscall_syscall(libc_dup2_trampoline_addr, uintptr(from), uintptr(to), 0) if e1 != 0 { err = errnoErr(e1) } return } var libc_dup2_trampoline_addr uintptr //go:cgo_import_dynamic libc_dup2 dup2 "libc.so" // THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT func Dup3(from int, to int, flags int) (err error) { _, _, e1 := syscall_syscall(libc_dup3_trampoline_addr, uintptr(from), uintptr(to), uintptr(flags)) if e1 != 0 { err = errnoErr(e1) } return } var libc_dup3_trampoline_addr uintptr //go:cgo_import_dynamic libc_dup3 dup3 "libc.so" // THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT func Exit(code int) { syscall_syscall(libc_exit_trampoline_addr, uintptr(code), 0, 0) return } var libc_exit_trampoline_addr uintptr //go:cgo_import_dynamic libc_exit exit "libc.so" // 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 := syscall_syscall6(libc_faccessat_trampoline_addr, uintptr(dirfd), uintptr(unsafe.Pointer(_p0)), uintptr(mode), uintptr(flags), 0, 0) if e1 != 0 { err = errnoErr(e1) } return } var libc_faccessat_trampoline_addr uintptr //go:cgo_import_dynamic libc_faccessat faccessat "libc.so" // THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT func Fchdir(fd int) (err error) { _, _, e1 := syscall_syscall(libc_fchdir_trampoline_addr, uintptr(fd), 0, 0) if e1 != 0 { err = errnoErr(e1) } return } var libc_fchdir_trampoline_addr uintptr //go:cgo_import_dynamic libc_fchdir fchdir "libc.so" // THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT func Fchflags(fd int, flags int) (err error) { _, _, e1 := syscall_syscall(libc_fchflags_trampoline_addr, uintptr(fd), uintptr(flags), 0) if e1 != 0 { err = errnoErr(e1) } return } var libc_fchflags_trampoline_addr uintptr //go:cgo_import_dynamic libc_fchflags fchflags "libc.so" // THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT func Fchmod(fd int, mode uint32) (err error) { _, _, e1 := syscall_syscall(libc_fchmod_trampoline_addr, uintptr(fd), uintptr(mode), 0) if e1 != 0 { err = errnoErr(e1) } return } var libc_fchmod_trampoline_addr uintptr //go:cgo_import_dynamic libc_fchmod fchmod "libc.so" // 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 := syscall_syscall6(libc_fchmodat_trampoline_addr, uintptr(dirfd), uintptr(unsafe.Pointer(_p0)), uintptr(mode), uintptr(flags), 0, 0) if e1 != 0 { err = errnoErr(e1) } return } var libc_fchmodat_trampoline_addr uintptr //go:cgo_import_dynamic libc_fchmodat fchmodat "libc.so" // 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_syscall(libc_fchown_trampoline_addr, uintptr(fd), uintptr(uid), uintptr(gid)) if e1 != 0 { err = errnoErr(e1) } return } var libc_fchown_trampoline_addr uintptr //go:cgo_import_dynamic libc_fchown fchown "libc.so" // 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 := syscall_syscall6(libc_fchownat_trampoline_addr, uintptr(dirfd), uintptr(unsafe.Pointer(_p0)), uintptr(uid), uintptr(gid), uintptr(flags), 0) if e1 != 0 { err = errnoErr(e1) } return } var libc_fchownat_trampoline_addr uintptr //go:cgo_import_dynamic libc_fchownat fchownat "libc.so" // THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT func Flock(fd int, how int) (err error) { _, _, e1 := syscall_syscall(libc_flock_trampoline_addr, uintptr(fd), uintptr(how), 0) if e1 != 0 { err = errnoErr(e1) } return } var libc_flock_trampoline_addr uintptr //go:cgo_import_dynamic libc_flock flock "libc.so" // 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_syscall(libc_fpathconf_trampoline_addr, uintptr(fd), uintptr(name), 0) val = int(r0) if e1 != 0 { err = errnoErr(e1) } return } var libc_fpathconf_trampoline_addr uintptr //go:cgo_import_dynamic libc_fpathconf fpathconf "libc.so" // THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT func Fstat(fd int, stat *Stat_t) (err error) { _, _, e1 := syscall_syscall(libc_fstat_trampoline_addr, uintptr(fd), uintptr(unsafe.Pointer(stat)), 0) if e1 != 0 { err = errnoErr(e1) } return } var libc_fstat_trampoline_addr uintptr //go:cgo_import_dynamic libc_fstat fstat "libc.so" // 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 := syscall_syscall6(libc_fstatat_trampoline_addr, uintptr(fd), uintptr(unsafe.Pointer(_p0)), uintptr(unsafe.Pointer(stat)), uintptr(flags), 0, 0) if e1 != 0 { err = errnoErr(e1) } return } var libc_fstatat_trampoline_addr uintptr //go:cgo_import_dynamic libc_fstatat fstatat "libc.so" // THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT func Fstatfs(fd int, stat *Statfs_t) (err error) { _, _, e1 := syscall_syscall(libc_fstatfs_trampoline_addr, uintptr(fd), uintptr(unsafe.Pointer(stat)), 0) if e1 != 0 { err = errnoErr(e1) } return } var libc_fstatfs_trampoline_addr uintptr //go:cgo_import_dynamic libc_fstatfs fstatfs "libc.so" // THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT func Fsync(fd int) (err error) { _, _, e1 := syscall_syscall(libc_fsync_trampoline_addr, uintptr(fd), 0, 0) if e1 != 0 { err = errnoErr(e1) } return } var libc_fsync_trampoline_addr uintptr //go:cgo_import_dynamic libc_fsync fsync "libc.so" // THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT func Ftruncate(fd int, length int64) (err error) { _, _, e1 := syscall_syscall(libc_ftruncate_trampoline_addr, uintptr(fd), uintptr(length), 0) if e1 != 0 { err = errnoErr(e1) } return } var libc_ftruncate_trampoline_addr uintptr //go:cgo_import_dynamic libc_ftruncate ftruncate "libc.so" // THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT func Getegid() (egid int) { r0, _, _ := syscall_rawSyscall(libc_getegid_trampoline_addr, 0, 0, 0) egid = int(r0) return } var libc_getegid_trampoline_addr uintptr //go:cgo_import_dynamic libc_getegid getegid "libc.so" // THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT func Geteuid() (uid int) { r0, _, _ := syscall_rawSyscall(libc_geteuid_trampoline_addr, 0, 0, 0) uid = int(r0) return } var libc_geteuid_trampoline_addr uintptr //go:cgo_import_dynamic libc_geteuid geteuid "libc.so" // THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT func Getgid() (gid int) { r0, _, _ := syscall_rawSyscall(libc_getgid_trampoline_addr, 0, 0, 0) gid = int(r0) return } var libc_getgid_trampoline_addr uintptr //go:cgo_import_dynamic libc_getgid getgid "libc.so" // THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT func Getpgid(pid int) (pgid int, err error) { r0, _, e1 := syscall_rawSyscall(libc_getpgid_trampoline_addr, uintptr(pid), 0, 0) pgid = int(r0) if e1 != 0 { err = errnoErr(e1) } return } var libc_getpgid_trampoline_addr uintptr //go:cgo_import_dynamic libc_getpgid getpgid "libc.so" // THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT func Getpgrp() (pgrp int) { r0, _, _ := syscall_rawSyscall(libc_getpgrp_trampoline_addr, 0, 0, 0) pgrp = int(r0) return } var libc_getpgrp_trampoline_addr uintptr //go:cgo_import_dynamic libc_getpgrp getpgrp "libc.so" // THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT func Getpid() (pid int) { r0, _, _ := syscall_rawSyscall(libc_getpid_trampoline_addr, 0, 0, 0) pid = int(r0) return } var libc_getpid_trampoline_addr uintptr //go:cgo_import_dynamic libc_getpid getpid "libc.so" // THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT func Getppid() (ppid int) { r0, _, _ := syscall_rawSyscall(libc_getppid_trampoline_addr, 0, 0, 0) ppid = int(r0) return } var libc_getppid_trampoline_addr uintptr //go:cgo_import_dynamic libc_getppid getppid "libc.so" // 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_syscall(libc_getpriority_trampoline_addr, uintptr(which), uintptr(who), 0) prio = int(r0) if e1 != 0 { err = errnoErr(e1) } return } var libc_getpriority_trampoline_addr uintptr //go:cgo_import_dynamic libc_getpriority getpriority "libc.so" // THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT func Getrlimit(which int, lim *Rlimit) (err error) { _, _, e1 := syscall_rawSyscall(libc_getrlimit_trampoline_addr, uintptr(which), uintptr(unsafe.Pointer(lim)), 0) if e1 != 0 { err = errnoErr(e1) } return } var libc_getrlimit_trampoline_addr uintptr //go:cgo_import_dynamic libc_getrlimit getrlimit "libc.so" // THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT func Getrtable() (rtable int, err error) { r0, _, e1 := syscall_rawSyscall(libc_getrtable_trampoline_addr, 0, 0, 0) rtable = int(r0) if e1 != 0 { err = errnoErr(e1) } return } var libc_getrtable_trampoline_addr uintptr //go:cgo_import_dynamic libc_getrtable getrtable "libc.so" // THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT func Getrusage(who int, rusage *Rusage) (err error) { _, _, e1 := syscall_rawSyscall(libc_getrusage_trampoline_addr, uintptr(who), uintptr(unsafe.Pointer(rusage)), 0) if e1 != 0 { err = errnoErr(e1) } return } var libc_getrusage_trampoline_addr uintptr //go:cgo_import_dynamic libc_getrusage getrusage "libc.so" // THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT func Getsid(pid int) (sid int, err error) { r0, _, e1 := syscall_rawSyscall(libc_getsid_trampoline_addr, uintptr(pid), 0, 0) sid = int(r0) if e1 != 0 { err = errnoErr(e1) } return } var libc_getsid_trampoline_addr uintptr //go:cgo_import_dynamic libc_getsid getsid "libc.so" // THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT func Gettimeofday(tv *Timeval) (err error) { _, _, e1 := syscall_rawSyscall(libc_gettimeofday_trampoline_addr, uintptr(unsafe.Pointer(tv)), 0, 0) if e1 != 0 { err = errnoErr(e1) } return } var libc_gettimeofday_trampoline_addr uintptr //go:cgo_import_dynamic libc_gettimeofday gettimeofday "libc.so" // THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT func Getuid() (uid int) { r0, _, _ := syscall_rawSyscall(libc_getuid_trampoline_addr, 0, 0, 0) uid = int(r0) return } var libc_getuid_trampoline_addr uintptr //go:cgo_import_dynamic libc_getuid getuid "libc.so" // THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT func Issetugid() (tainted bool) { r0, _, _ := syscall_syscall(libc_issetugid_trampoline_addr, 0, 0, 0) tainted = bool(r0 != 0) return } var libc_issetugid_trampoline_addr uintptr //go:cgo_import_dynamic libc_issetugid issetugid "libc.so" // THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT func Kill(pid int, signum syscall.Signal) (err error) { _, _, e1 := syscall_syscall(libc_kill_trampoline_addr, uintptr(pid), uintptr(signum), 0) if e1 != 0 { err = errnoErr(e1) } return } var libc_kill_trampoline_addr uintptr //go:cgo_import_dynamic libc_kill kill "libc.so" // THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT func Kqueue() (fd int, err error) { r0, _, e1 := syscall_syscall(libc_kqueue_trampoline_addr, 0, 0, 0) fd = int(r0) if e1 != 0 { err = errnoErr(e1) } return } var libc_kqueue_trampoline_addr uintptr //go:cgo_import_dynamic libc_kqueue kqueue "libc.so" // 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_syscall(libc_lchown_trampoline_addr, uintptr(unsafe.Pointer(_p0)), uintptr(uid), uintptr(gid)) if e1 != 0 { err = errnoErr(e1) } return } var libc_lchown_trampoline_addr uintptr //go:cgo_import_dynamic libc_lchown lchown "libc.so" // 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_syscall(libc_link_trampoline_addr, uintptr(unsafe.Pointer(_p0)), uintptr(unsafe.Pointer(_p1)), 0) if e1 != 0 { err = errnoErr(e1) } return } var libc_link_trampoline_addr uintptr //go:cgo_import_dynamic libc_link link "libc.so" // THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT func Linkat(pathfd int, path string, linkfd int, link string, flags int) (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_syscall6(libc_linkat_trampoline_addr, uintptr(pathfd), uintptr(unsafe.Pointer(_p0)), uintptr(linkfd), uintptr(unsafe.Pointer(_p1)), uintptr(flags), 0) if e1 != 0 { err = errnoErr(e1) } return } var libc_linkat_trampoline_addr uintptr //go:cgo_import_dynamic libc_linkat linkat "libc.so" // THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT func Listen(s int, backlog int) (err error) { _, _, e1 := syscall_syscall(libc_listen_trampoline_addr, uintptr(s), uintptr(backlog), 0) if e1 != 0 { err = errnoErr(e1) } return } var libc_listen_trampoline_addr uintptr //go:cgo_import_dynamic libc_listen listen "libc.so" // 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_syscall(libc_lstat_trampoline_addr, uintptr(unsafe.Pointer(_p0)), uintptr(unsafe.Pointer(stat)), 0) if e1 != 0 { err = errnoErr(e1) } return } var libc_lstat_trampoline_addr uintptr //go:cgo_import_dynamic libc_lstat lstat "libc.so" // 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_syscall(libc_mkdir_trampoline_addr, uintptr(unsafe.Pointer(_p0)), uintptr(mode), 0) if e1 != 0 { err = errnoErr(e1) } return } var libc_mkdir_trampoline_addr uintptr //go:cgo_import_dynamic libc_mkdir mkdir "libc.so" // 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_syscall(libc_mkdirat_trampoline_addr, uintptr(dirfd), uintptr(unsafe.Pointer(_p0)), uintptr(mode)) if e1 != 0 { err = errnoErr(e1) } return } var libc_mkdirat_trampoline_addr uintptr //go:cgo_import_dynamic libc_mkdirat mkdirat "libc.so" // 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_syscall(libc_mkfifo_trampoline_addr, uintptr(unsafe.Pointer(_p0)), uintptr(mode), 0) if e1 != 0 { err = errnoErr(e1) } return } var libc_mkfifo_trampoline_addr uintptr //go:cgo_import_dynamic libc_mkfifo mkfifo "libc.so" // THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT func Mkfifoat(dirfd int, path string, mode uint32) (err error) { var _p0 *byte _p0, err = BytePtrFromString(path) if err != nil { return } _, _, e1 := syscall_syscall(libc_mkfifoat_trampoline_addr, uintptr(dirfd), uintptr(unsafe.Pointer(_p0)), uintptr(mode)) if e1 != 0 { err = errnoErr(e1) } return } var libc_mkfifoat_trampoline_addr uintptr //go:cgo_import_dynamic libc_mkfifoat mkfifoat "libc.so" // 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_syscall(libc_mknod_trampoline_addr, uintptr(unsafe.Pointer(_p0)), uintptr(mode), uintptr(dev)) if e1 != 0 { err = errnoErr(e1) } return } var libc_mknod_trampoline_addr uintptr //go:cgo_import_dynamic libc_mknod mknod "libc.so" // 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 := syscall_syscall6(libc_mknodat_trampoline_addr, uintptr(dirfd), uintptr(unsafe.Pointer(_p0)), uintptr(mode), uintptr(dev), 0, 0) if e1 != 0 { err = errnoErr(e1) } return } var libc_mknodat_trampoline_addr uintptr //go:cgo_import_dynamic libc_mknodat mknodat "libc.so" // THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT func Mount(fsType string, dir string, flags int, data unsafe.Pointer) (err error) { var _p0 *byte _p0, err = BytePtrFromString(fsType) if err != nil { return } var _p1 *byte _p1, err = BytePtrFromString(dir) if err != nil { return } _, _, e1 := syscall_syscall6(libc_mount_trampoline_addr, uintptr(unsafe.Pointer(_p0)), uintptr(unsafe.Pointer(_p1)), uintptr(flags), uintptr(data), 0, 0) if e1 != 0 { err = errnoErr(e1) } return } var libc_mount_trampoline_addr uintptr //go:cgo_import_dynamic libc_mount mount "libc.so" // THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT func Nanosleep(time *Timespec, leftover *Timespec) (err error) { _, _, e1 := syscall_syscall(libc_nanosleep_trampoline_addr, uintptr(unsafe.Pointer(time)), uintptr(unsafe.Pointer(leftover)), 0) if e1 != 0 { err = errnoErr(e1) } return } var libc_nanosleep_trampoline_addr uintptr //go:cgo_import_dynamic libc_nanosleep nanosleep "libc.so" // 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_syscall(libc_open_trampoline_addr, uintptr(unsafe.Pointer(_p0)), uintptr(mode), uintptr(perm)) fd = int(r0) if e1 != 0 { err = errnoErr(e1) } return } var libc_open_trampoline_addr uintptr //go:cgo_import_dynamic libc_open open "libc.so" // THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT func Openat(dirfd int, path string, mode int, perm uint32) (fd int, err error) { var _p0 *byte _p0, err = BytePtrFromString(path) if err != nil { return } r0, _, e1 := syscall_syscall6(libc_openat_trampoline_addr, uintptr(dirfd), uintptr(unsafe.Pointer(_p0)), uintptr(mode), uintptr(perm), 0, 0) fd = int(r0) if e1 != 0 { err = errnoErr(e1) } return } var libc_openat_trampoline_addr uintptr //go:cgo_import_dynamic libc_openat openat "libc.so" // 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_syscall(libc_pathconf_trampoline_addr, uintptr(unsafe.Pointer(_p0)), uintptr(name), 0) val = int(r0) if e1 != 0 { err = errnoErr(e1) } return } var libc_pathconf_trampoline_addr uintptr //go:cgo_import_dynamic libc_pathconf pathconf "libc.so" // 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 := syscall_syscall6(libc_pread_trampoline_addr, uintptr(fd), uintptr(_p0), uintptr(len(p)), uintptr(offset), 0, 0) n = int(r0) if e1 != 0 { err = errnoErr(e1) } return } var libc_pread_trampoline_addr uintptr //go:cgo_import_dynamic libc_pread pread "libc.so" // 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 := syscall_syscall6(libc_pwrite_trampoline_addr, uintptr(fd), uintptr(_p0), uintptr(len(p)), uintptr(offset), 0, 0) n = int(r0) if e1 != 0 { err = errnoErr(e1) } return } var libc_pwrite_trampoline_addr uintptr //go:cgo_import_dynamic libc_pwrite pwrite "libc.so" // 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_syscall(libc_read_trampoline_addr, uintptr(fd), uintptr(_p0), uintptr(len(p))) n = int(r0) if e1 != 0 { err = errnoErr(e1) } return } var libc_read_trampoline_addr uintptr //go:cgo_import_dynamic libc_read read "libc.so" // 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_syscall(libc_readlink_trampoline_addr, uintptr(unsafe.Pointer(_p0)), uintptr(_p1), uintptr(len(buf))) n = int(r0) if e1 != 0 { err = errnoErr(e1) } return } var libc_readlink_trampoline_addr uintptr //go:cgo_import_dynamic libc_readlink readlink "libc.so" // 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 := syscall_syscall6(libc_readlinkat_trampoline_addr, uintptr(dirfd), uintptr(unsafe.Pointer(_p0)), uintptr(_p1), uintptr(len(buf)), 0, 0) n = int(r0) if e1 != 0 { err = errnoErr(e1) } return } var libc_readlinkat_trampoline_addr uintptr //go:cgo_import_dynamic libc_readlinkat readlinkat "libc.so" // 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_syscall(libc_rename_trampoline_addr, uintptr(unsafe.Pointer(_p0)), uintptr(unsafe.Pointer(_p1)), 0) if e1 != 0 { err = errnoErr(e1) } return } var libc_rename_trampoline_addr uintptr //go:cgo_import_dynamic libc_rename rename "libc.so" // THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT func Renameat(fromfd int, from string, tofd int, 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_syscall6(libc_renameat_trampoline_addr, uintptr(fromfd), uintptr(unsafe.Pointer(_p0)), uintptr(tofd), uintptr(unsafe.Pointer(_p1)), 0, 0) if e1 != 0 { err = errnoErr(e1) } return } var libc_renameat_trampoline_addr uintptr //go:cgo_import_dynamic libc_renameat renameat "libc.so" // 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_syscall(libc_revoke_trampoline_addr, uintptr(unsafe.Pointer(_p0)), 0, 0) if e1 != 0 { err = errnoErr(e1) } return } var libc_revoke_trampoline_addr uintptr //go:cgo_import_dynamic libc_revoke revoke "libc.so" // 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_syscall(libc_rmdir_trampoline_addr, uintptr(unsafe.Pointer(_p0)), 0, 0) if e1 != 0 { err = errnoErr(e1) } return } var libc_rmdir_trampoline_addr uintptr //go:cgo_import_dynamic libc_rmdir rmdir "libc.so" // 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_syscall(libc_lseek_trampoline_addr, uintptr(fd), uintptr(offset), uintptr(whence)) newoffset = int64(r0) if e1 != 0 { err = errnoErr(e1) } return } var libc_lseek_trampoline_addr uintptr //go:cgo_import_dynamic libc_lseek lseek "libc.so" // 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 := syscall_syscall6(libc_select_trampoline_addr, 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 } var libc_select_trampoline_addr uintptr //go:cgo_import_dynamic libc_select select "libc.so" // THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT func Setegid(egid int) (err error) { _, _, e1 := syscall_rawSyscall(libc_setegid_trampoline_addr, uintptr(egid), 0, 0) if e1 != 0 { err = errnoErr(e1) } return } var libc_setegid_trampoline_addr uintptr //go:cgo_import_dynamic libc_setegid setegid "libc.so" // THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT func Seteuid(euid int) (err error) { _, _, e1 := syscall_rawSyscall(libc_seteuid_trampoline_addr, uintptr(euid), 0, 0) if e1 != 0 { err = errnoErr(e1) } return } var libc_seteuid_trampoline_addr uintptr //go:cgo_import_dynamic libc_seteuid seteuid "libc.so" // THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT func Setgid(gid int) (err error) { _, _, e1 := syscall_rawSyscall(libc_setgid_trampoline_addr, uintptr(gid), 0, 0) if e1 != 0 { err = errnoErr(e1) } return } var libc_setgid_trampoline_addr uintptr //go:cgo_import_dynamic libc_setgid setgid "libc.so" // 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_syscall(libc_setlogin_trampoline_addr, uintptr(unsafe.Pointer(_p0)), 0, 0) if e1 != 0 { err = errnoErr(e1) } return } var libc_setlogin_trampoline_addr uintptr //go:cgo_import_dynamic libc_setlogin setlogin "libc.so" // THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT func Setpgid(pid int, pgid int) (err error) { _, _, e1 := syscall_rawSyscall(libc_setpgid_trampoline_addr, uintptr(pid), uintptr(pgid), 0) if e1 != 0 { err = errnoErr(e1) } return } var libc_setpgid_trampoline_addr uintptr //go:cgo_import_dynamic libc_setpgid setpgid "libc.so" // 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_syscall(libc_setpriority_trampoline_addr, uintptr(which), uintptr(who), uintptr(prio)) if e1 != 0 { err = errnoErr(e1) } return } var libc_setpriority_trampoline_addr uintptr //go:cgo_import_dynamic libc_setpriority setpriority "libc.so" // THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT func Setregid(rgid int, egid int) (err error) { _, _, e1 := syscall_rawSyscall(libc_setregid_trampoline_addr, uintptr(rgid), uintptr(egid), 0) if e1 != 0 { err = errnoErr(e1) } return } var libc_setregid_trampoline_addr uintptr //go:cgo_import_dynamic libc_setregid setregid "libc.so" // THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT func Setreuid(ruid int, euid int) (err error) { _, _, e1 := syscall_rawSyscall(libc_setreuid_trampoline_addr, uintptr(ruid), uintptr(euid), 0) if e1 != 0 { err = errnoErr(e1) } return } var libc_setreuid_trampoline_addr uintptr //go:cgo_import_dynamic libc_setreuid setreuid "libc.so" // THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT func Setresgid(rgid int, egid int, sgid int) (err error) { _, _, e1 := syscall_rawSyscall(libc_setresgid_trampoline_addr, uintptr(rgid), uintptr(egid), uintptr(sgid)) if e1 != 0 { err = errnoErr(e1) } return } var libc_setresgid_trampoline_addr uintptr //go:cgo_import_dynamic libc_setresgid setresgid "libc.so" // THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT func Setresuid(ruid int, euid int, suid int) (err error) { _, _, e1 := syscall_rawSyscall(libc_setresuid_trampoline_addr, uintptr(ruid), uintptr(euid), uintptr(suid)) if e1 != 0 { err = errnoErr(e1) } return } var libc_setresuid_trampoline_addr uintptr //go:cgo_import_dynamic libc_setresuid setresuid "libc.so" // THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT func Setrtable(rtable int) (err error) { _, _, e1 := syscall_rawSyscall(libc_setrtable_trampoline_addr, uintptr(rtable), 0, 0) if e1 != 0 { err = errnoErr(e1) } return } var libc_setrtable_trampoline_addr uintptr //go:cgo_import_dynamic libc_setrtable setrtable "libc.so" // THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT func Setsid() (pid int, err error) { r0, _, e1 := syscall_rawSyscall(libc_setsid_trampoline_addr, 0, 0, 0) pid = int(r0) if e1 != 0 { err = errnoErr(e1) } return } var libc_setsid_trampoline_addr uintptr //go:cgo_import_dynamic libc_setsid setsid "libc.so" // THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT func Settimeofday(tp *Timeval) (err error) { _, _, e1 := syscall_rawSyscall(libc_settimeofday_trampoline_addr, uintptr(unsafe.Pointer(tp)), 0, 0) if e1 != 0 { err = errnoErr(e1) } return } var libc_settimeofday_trampoline_addr uintptr //go:cgo_import_dynamic libc_settimeofday settimeofday "libc.so" // THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT func Setuid(uid int) (err error) { _, _, e1 := syscall_rawSyscall(libc_setuid_trampoline_addr, uintptr(uid), 0, 0) if e1 != 0 { err = errnoErr(e1) } return } var libc_setuid_trampoline_addr uintptr //go:cgo_import_dynamic libc_setuid setuid "libc.so" // 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_syscall(libc_stat_trampoline_addr, uintptr(unsafe.Pointer(_p0)), uintptr(unsafe.Pointer(stat)), 0) if e1 != 0 { err = errnoErr(e1) } return } var libc_stat_trampoline_addr uintptr //go:cgo_import_dynamic libc_stat stat "libc.so" // 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_syscall(libc_statfs_trampoline_addr, uintptr(unsafe.Pointer(_p0)), uintptr(unsafe.Pointer(stat)), 0) if e1 != 0 { err = errnoErr(e1) } return } var libc_statfs_trampoline_addr uintptr //go:cgo_import_dynamic libc_statfs statfs "libc.so" // 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_syscall(libc_symlink_trampoline_addr, uintptr(unsafe.Pointer(_p0)), uintptr(unsafe.Pointer(_p1)), 0) if e1 != 0 { err = errnoErr(e1) } return } var libc_symlink_trampoline_addr uintptr //go:cgo_import_dynamic libc_symlink symlink "libc.so" // 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_syscall(libc_symlinkat_trampoline_addr, uintptr(unsafe.Pointer(_p0)), uintptr(newdirfd), uintptr(unsafe.Pointer(_p1))) if e1 != 0 { err = errnoErr(e1) } return } var libc_symlinkat_trampoline_addr uintptr //go:cgo_import_dynamic libc_symlinkat symlinkat "libc.so" // THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT func Sync() (err error) { _, _, e1 := syscall_syscall(libc_sync_trampoline_addr, 0, 0, 0) if e1 != 0 { err = errnoErr(e1) } return } var libc_sync_trampoline_addr uintptr //go:cgo_import_dynamic libc_sync sync "libc.so" // 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_syscall(libc_truncate_trampoline_addr, uintptr(unsafe.Pointer(_p0)), uintptr(length), 0) if e1 != 0 { err = errnoErr(e1) } return } var libc_truncate_trampoline_addr uintptr //go:cgo_import_dynamic libc_truncate truncate "libc.so" // THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT func Umask(newmask int) (oldmask int) { r0, _, _ := syscall_syscall(libc_umask_trampoline_addr, uintptr(newmask), 0, 0) oldmask = int(r0) return } var libc_umask_trampoline_addr uintptr //go:cgo_import_dynamic libc_umask umask "libc.so" // 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_syscall(libc_unlink_trampoline_addr, uintptr(unsafe.Pointer(_p0)), 0, 0) if e1 != 0 { err = errnoErr(e1) } return } var libc_unlink_trampoline_addr uintptr //go:cgo_import_dynamic libc_unlink unlink "libc.so" // 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_syscall(libc_unlinkat_trampoline_addr, uintptr(dirfd), uintptr(unsafe.Pointer(_p0)), uintptr(flags)) if e1 != 0 { err = errnoErr(e1) } return } var libc_unlinkat_trampoline_addr uintptr //go:cgo_import_dynamic libc_unlinkat unlinkat "libc.so" // 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_syscall(libc_unmount_trampoline_addr, uintptr(unsafe.Pointer(_p0)), uintptr(flags), 0) if e1 != 0 { err = errnoErr(e1) } return } var libc_unmount_trampoline_addr uintptr //go:cgo_import_dynamic libc_unmount unmount "libc.so" // 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_syscall(libc_write_trampoline_addr, uintptr(fd), uintptr(_p0), uintptr(len(p))) n = int(r0) if e1 != 0 { err = errnoErr(e1) } return } var libc_write_trampoline_addr uintptr //go:cgo_import_dynamic libc_write write "libc.so" // 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 := syscall_syscall6(libc_mmap_trampoline_addr, uintptr(addr), uintptr(length), uintptr(prot), uintptr(flag), uintptr(fd), uintptr(pos)) ret = uintptr(r0) if e1 != 0 { err = errnoErr(e1) } return } var libc_mmap_trampoline_addr uintptr //go:cgo_import_dynamic libc_mmap mmap "libc.so" // THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT func munmap(addr uintptr, length uintptr) (err error) { _, _, e1 := syscall_syscall(libc_munmap_trampoline_addr, uintptr(addr), uintptr(length), 0) if e1 != 0 { err = errnoErr(e1) } return } var libc_munmap_trampoline_addr uintptr //go:cgo_import_dynamic libc_munmap munmap "libc.so" // THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT func getfsstat(stat *Statfs_t, bufsize uintptr, flags int) (n int, err error) { r0, _, e1 := syscall_syscall(libc_getfsstat_trampoline_addr, uintptr(unsafe.Pointer(stat)), uintptr(bufsize), uintptr(flags)) n = int(r0) if e1 != 0 { err = errnoErr(e1) } return } var libc_getfsstat_trampoline_addr uintptr //go:cgo_import_dynamic libc_getfsstat getfsstat "libc.so" // 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 := syscall_syscall6(libc_utimensat_trampoline_addr, uintptr(dirfd), uintptr(unsafe.Pointer(_p0)), uintptr(unsafe.Pointer(times)), uintptr(flags), 0, 0) if e1 != 0 { err = errnoErr(e1) } return } var libc_utimensat_trampoline_addr uintptr //go:cgo_import_dynamic libc_utimensat utimensat "libc.so" // THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT func pledge(promises *byte, execpromises *byte) (err error) { _, _, e1 := syscall_syscall(libc_pledge_trampoline_addr, uintptr(unsafe.Pointer(promises)), uintptr(unsafe.Pointer(execpromises)), 0) if e1 != 0 { err = errnoErr(e1) } return } var libc_pledge_trampoline_addr uintptr //go:cgo_import_dynamic libc_pledge pledge "libc.so" // THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT func unveil(path *byte, flags *byte) (err error) { _, _, e1 := syscall_syscall(libc_unveil_trampoline_addr, uintptr(unsafe.Pointer(path)), uintptr(unsafe.Pointer(flags)), 0) if e1 != 0 { err = errnoErr(e1) } return } var libc_unveil_trampoline_addr uintptr //go:cgo_import_dynamic libc_unveil unveil "libc.so" dependencies/pkg/mod/golang.org/x/sys@v0.26.0/unix/syscall_linux_386.go0000644000000000000000000002161215107355264024433 0ustar rootroot// 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. //go:build 386 && linux package unix import ( "unsafe" ) func setTimespec(sec, nsec int64) Timespec { return Timespec{Sec: int32(sec), Nsec: int32(nsec)} } func setTimeval(sec, usec int64) Timeval { return Timeval{Sec: int32(sec), Usec: int32(usec)} } // 64-bit file system and 32-bit uid calls // (386 default is 32-bit file system and 16-bit uid). //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_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 Fstatat(dirfd int, path string, stat *Stat_t, flags int) (err error) = SYS_FSTATAT64 //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 //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 Renameat(olddirfd int, oldpath string, newdirfd int, newpath string) (err error) //sys sendfile(outfd int, infd int, offset *int64, count int) (written int, err error) = SYS_SENDFILE64 //sys setfsgid(gid int) (prev int, err error) = SYS_SETFSGID32 //sys setfsuid(uid int) (prev int, err error) = SYS_SETFSUID32 //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 //sys Ustat(dev int, ubuf *Ustat_t) (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 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 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 } 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 futimesat(dirfd int, path string, times *[2]Timeval) (err error) //sysnb Gettimeofday(tv *Timeval) (err error) //sysnb Time(t *Time_t) (tt Time_t, err error) //sys Utime(path string, buf *Utimbuf) (err error) //sys utimes(path string, times *[2]Timeval) (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 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 (msghdr *Msghdr) SetIovlen(length int) { msghdr.Iovlen = uint32(length) } func (cmsg *Cmsghdr) SetLen(length int) { cmsg.Len = uint32(length) } func (rsa *RawSockaddrNFCLLCP) SetServiceNameLen(length int) { rsa.Service_name_len = uint32(length) } dependencies/pkg/mod/golang.org/x/sys@v0.26.0/unix/zsysnum_openbsd_amd64.go0000644000000000000000000004364115107355264025405 0ustar rootroot// go run mksysnum.go https://cvsweb.openbsd.org/cgi-bin/cvsweb/~checkout~/src/sys/kern/syscalls.master // Code generated by the command above; see README.md. DO NOT EDIT. //go:build amd64 && openbsd package unix // Deprecated: Use libc wrappers instead of direct syscalls. 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_GETENTROPY = 7 // { int sys_getentropy(void *buf, size_t nbyte); } SYS___TFORK = 8 // { int sys___tfork(const struct __tfork *param, size_t psize); } 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, int options, struct rusage *rusage); } 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, dev_t dev); } 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_OBREAK = 17 // { int sys_obreak(char *nsize); } break SYS_GETDTABLECOUNT = 18 // { int sys_getdtablecount(void); } SYS_GETRUSAGE = 19 // { int sys_getrusage(int who, struct rusage *rusage); } SYS_GETPID = 20 // { pid_t sys_getpid(void); } SYS_MOUNT = 21 // { int sys_mount(const char *type, const char *path, int flags, void *data); } 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, 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 amode); } 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_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, struct stat *buf, int flag); } SYS_GETEGID = 43 // { gid_t sys_getegid(void); } SYS_PROFIL = 44 // { int sys_profil(caddr_t 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_SIGACTION = 46 // { int sys_sigaction(int signum, const struct sigaction *nsa, struct sigaction *osa); } SYS_GETGID = 47 // { gid_t sys_getgid(void); } SYS_SIGPROCMASK = 48 // { int sys_sigprocmask(int how, sigset_t mask); } 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, u_long com, ... void *data); } 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, 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_GETFSSTAT = 62 // { int sys_getfsstat(struct statfs *buf, size_t bufsize, int flags); } SYS_STATFS = 63 // { int sys_statfs(const char *path, struct statfs *buf); } SYS_FSTATFS = 64 // { int sys_fstatfs(int fd, struct statfs *buf); } SYS_FHSTATFS = 65 // { int sys_fhstatfs(const fhandle_t *fhp, struct statfs *buf); } SYS_VFORK = 66 // { int sys_vfork(void); } SYS_GETTIMEOFDAY = 67 // { int sys_gettimeofday(struct timeval *tp, struct timezone *tzp); } SYS_SETTIMEOFDAY = 68 // { int sys_settimeofday(const struct timeval *tv, const struct timezone *tzp); } SYS_SETITIMER = 69 // { int sys_setitimer(int which, const struct itimerval *itv, struct itimerval *oitv); } SYS_GETITIMER = 70 // { int sys_getitimer(int which, struct itimerval *itv); } SYS_SELECT = 71 // { int sys_select(int nd, fd_set *in, fd_set *ou, fd_set *ex, struct timeval *tv); } SYS_KEVENT = 72 // { int sys_kevent(int fd, const struct kevent *changelist, int nchanges, struct kevent *eventlist, int nevents, const struct timespec *timeout); } 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_UTIMES = 76 // { int sys_utimes(const char *path, const struct timeval *tptr); } SYS_FUTIMES = 77 // { int sys_futimes(int fd, const struct timeval *tptr); } 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_FUTEX = 83 // { int sys_futex(uint32_t *f, int op, int val, const struct timespec *timeout, uint32_t *g); } SYS_UTIMENSAT = 84 // { int sys_utimensat(int fd, const char *path, const struct timespec *times, int flag); } SYS_FUTIMENS = 85 // { int sys_futimens(int fd, const struct timespec *times); } SYS_KBIND = 86 // { int sys_kbind(const struct __kbind *param, size_t psize, int64_t proc_cookie); } SYS_CLOCK_GETTIME = 87 // { int sys_clock_gettime(clockid_t clock_id, struct timespec *tp); } SYS_CLOCK_SETTIME = 88 // { int sys_clock_settime(clockid_t clock_id, const struct timespec *tp); } SYS_CLOCK_GETRES = 89 // { int sys_clock_getres(clockid_t clock_id, struct timespec *tp); } SYS_DUP2 = 90 // { int sys_dup2(int from, int to); } SYS_NANOSLEEP = 91 // { int sys_nanosleep(const struct timespec *rqtp, struct timespec *rmtp); } SYS_FCNTL = 92 // { int sys_fcntl(int fd, int cmd, ... void *arg); } SYS_ACCEPT4 = 93 // { int sys_accept4(int s, struct sockaddr *name, socklen_t *anamelen, int flags); } SYS___THRSLEEP = 94 // { int sys___thrsleep(const volatile void *ident, clockid_t clock_id, const struct timespec *tp, void *lock, const int *abort); } 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, socklen_t namelen); } 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_PIPE2 = 101 // { int sys_pipe2(int *fdp, int flags); } SYS_DUP3 = 102 // { int sys_dup3(int from, int to, int flags); } SYS_SIGRETURN = 103 // { int sys_sigreturn(struct sigcontext *sigcntxp); } 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_CHFLAGSAT = 107 // { int sys_chflagsat(int fd, const char *path, u_int flags, int atflags); } SYS_PLEDGE = 108 // { int sys_pledge(const char *promises, const char *execpromises); } SYS_PPOLL = 109 // { int sys_ppoll(struct pollfd *fds, u_int nfds, const struct timespec *ts, const sigset_t *mask); } SYS_PSELECT = 110 // { int sys_pselect(int nd, fd_set *in, fd_set *ou, fd_set *ex, const struct timespec *ts, const sigset_t *mask); } SYS_SIGSUSPEND = 111 // { int sys_sigsuspend(int mask); } SYS_SENDSYSLOG = 112 // { int sys_sendsyslog(const char *buf, size_t nbyte, int flags); } SYS_UNVEIL = 114 // { int sys_unveil(const char *path, const char *permissions); } SYS_GETSOCKOPT = 118 // { int sys_getsockopt(int s, int level, int name, void *val, socklen_t *avalsize); } SYS_THRKILL = 119 // { int sys_thrkill(pid_t tid, int signum, void *tcb); } 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_KILL = 122 // { int sys_kill(int pid, int signum); } 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_ADJTIME = 140 // { int sys_adjtime(const struct timeval *delta, struct timeval *olddelta); } SYS_GETLOGIN_R = 141 // { int sys_getlogin_r(char *namebuf, u_int namelen); } SYS_SETSID = 147 // { int sys_setsid(void); } SYS_QUOTACTL = 148 // { int sys_quotactl(const char *path, int cmd, int uid, char *arg); } 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, 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_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, 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, 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_GETPGID = 207 // { pid_t sys_getpgid(pid_t pid); } SYS_UTRACE = 209 // { int sys_utrace(const char *label, const void *addr, size_t len); } 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, int msgflg); } SYS_MSGRCV = 227 // { int 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_MINHERIT = 250 // { int sys_minherit(void *addr, size_t len, int inherit); } SYS_POLL = 252 // { int sys_poll(struct pollfd *fds, u_int nfds, int timeout); } 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, const struct iovec *iovp, int iovcnt, int pad, off_t offset); } SYS_PWRITEV = 268 // { ssize_t sys_pwritev(int fd, const struct iovec *iovp, int iovcnt, int pad, off_t offset); } 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, uid_t *suid); } SYS_SETRESUID = 282 // { int sys_setresuid(uid_t ruid, uid_t euid, uid_t suid); } SYS_GETRESGID = 283 // { int sys_getresgid(gid_t *rgid, gid_t *egid, gid_t *sgid); } SYS_SETRESGID = 284 // { int sys_setresgid(gid_t rgid, gid_t egid, gid_t sgid); } SYS_MQUERY = 286 // { void *sys_mquery(void *addr, size_t len, int prot, int flags, int fd, long pad, off_t pos); } SYS_CLOSEFROM = 287 // { int sys_closefrom(int fd); } SYS_SIGALTSTACK = 288 // { int sys_sigaltstack(const struct sigaltstack *nss, struct sigaltstack *oss); } 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, size_t nsops); } SYS_FHSTAT = 294 // { int sys_fhstat(const fhandle_t *fhp, struct stat *sb); } SYS___SEMCTL = 295 // { int sys___semctl(int semid, int semnum, int cmd, union semun *arg); } SYS_SHMCTL = 296 // { int sys_shmctl(int shmid, int cmd, struct shmid_ds *buf); } SYS_MSGCTL = 297 // { int sys_msgctl(int msqid, int cmd, struct msqid_ds *buf); } 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, int n); } SYS___THREXIT = 302 // { void sys___threxit(pid_t *notdead); } SYS___THRSIGDIVERT = 303 // { int sys___thrsigdivert(sigset_t sigmask, siginfo_t *info, const struct timespec *timeout); } SYS___GETCWD = 304 // { int sys___getcwd(char *buf, size_t len); } SYS_ADJFREQ = 305 // { int sys_adjfreq(const int64_t *freq, int64_t *oldfreq); } 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, int amode, int flag); } SYS_FCHMODAT = 314 // { int sys_fchmodat(int fd, const char *path, mode_t mode, int flag); } SYS_FCHOWNAT = 315 // { int sys_fchownat(int fd, const char *path, uid_t uid, gid_t gid, int flag); } SYS_LINKAT = 317 // { int sys_linkat(int fd1, const char *path1, int fd2, const char *path2, int flag); } SYS_MKDIRAT = 318 // { int sys_mkdirat(int fd, const char *path, mode_t mode); } SYS_MKFIFOAT = 319 // { int sys_mkfifoat(int fd, const char *path, mode_t mode); } SYS_MKNODAT = 320 // { int sys_mknodat(int fd, const char *path, mode_t mode, dev_t dev); } SYS_OPENAT = 321 // { int sys_openat(int fd, const char *path, int flags, ... mode_t mode); } SYS_READLINKAT = 322 // { ssize_t sys_readlinkat(int fd, const char *path, char *buf, size_t count); } SYS_RENAMEAT = 323 // { int sys_renameat(int fromfd, const char *from, int tofd, const char *to); } SYS_SYMLINKAT = 324 // { int sys_symlinkat(const char *path, int fd, const char *link); } SYS_UNLINKAT = 325 // { int sys_unlinkat(int fd, const char *path, int flag); } SYS___SET_TCB = 329 // { void sys___set_tcb(void *tcb); } SYS___GET_TCB = 330 // { void *sys___get_tcb(void); } ) dependencies/pkg/mod/golang.org/x/sys@v0.26.0/unix/syscall_linux_amd64.go0000644000000000000000000001244315107355264025030 0ustar rootroot// 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. //go:build amd64 && linux package unix //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 Fstatat(dirfd int, path string, stat *Stat_t, flags int) (err error) = SYS_NEWFSTATAT //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 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) func Lstat(path string, stat *Stat_t) (err error) { return Fstatat(AT_FDCWD, path, stat, AT_SYMLINK_NOFOLLOW) } //sys MemfdSecret(flags int) (fd 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 Renameat(olddirfd int, oldpath string, newdirfd int, newpath string) (err error) //sys Seek(fd int, offset int64, whence int) (off int64, err error) = SYS_LSEEK func Select(nfd int, r *FdSet, w *FdSet, e *FdSet, timeout *Timeval) (n int, err error) { var ts *Timespec if timeout != nil { ts = &Timespec{Sec: timeout.Sec, Nsec: timeout.Usec * 1000} } return pselect6(nfd, r, w, e, ts, nil) } //sys sendfile(outfd int, infd int, offset *int64, count int) (written int, err error) //sys setfsgid(gid int) (prev int, err error) //sys setfsuid(uid int) (prev 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) { // Use fstatat, because Android's seccomp policy blocks stat. return Fstatat(AT_FDCWD, path, stat, 0) } //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 Ustat(dev int, ubuf *Ustat_t) (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) //sys futimesat(dirfd int, path string, times *[2]Timeval) (err error) func Gettimeofday(tv *Timeval) (err error) { errno := gettimeofday(tv) if errno != 0 { return errno } return nil } 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) //sys utimes(path string, times *[2]Timeval) (err error) func setTimespec(sec, nsec int64) Timespec { return Timespec{Sec: sec, Nsec: nsec} } func setTimeval(sec, usec int64) Timeval { return Timeval{Sec: sec, Usec: usec} } 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 (msghdr *Msghdr) SetIovlen(length int) { msghdr.Iovlen = uint64(length) } func (cmsg *Cmsghdr) SetLen(length int) { cmsg.Len = uint64(length) } func (rsa *RawSockaddrNFCLLCP) SetServiceNameLen(length int) { rsa.Service_name_len = uint64(length) } //sys kexecFileLoad(kernelFd int, initrdFd int, cmdlineLen int, cmdline string, flags int) (err error) func KexecFileLoad(kernelFd int, initrdFd int, cmdline string, flags int) error { cmdlineLen := len(cmdline) if cmdlineLen > 0 { // Account for the additional NULL byte added by // BytePtrFromString in kexecFileLoad. The kexec_file_load // syscall expects a NULL-terminated string. cmdlineLen++ } return kexecFileLoad(kernelFd, initrdFd, cmdlineLen, cmdline, flags) } dependencies/pkg/mod/golang.org/x/sys@v0.26.0/unix/zerrors_netbsd_arm.go0000644000000000000000000021761715107355264025062 0ustar rootroot// mkerrors.sh -marm // Code generated by the command above; see README.md. DO NOT EDIT. //go:build arm && netbsd // Code generated by cmd/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 CPUSTATES = 0x5 CP_IDLE = 0x4 CP_INTR = 0x3 CP_NICE = 0x1 CP_SYS = 0x2 CP_USER = 0x0 CREAD = 0x800 CRTSCTS = 0x10000 CS5 = 0x0 CS6 = 0x100 CS7 = 0x200 CS8 = 0x300 CSIZE = 0x300 CSTART = 0x11 CSTATUS = 0x14 CSTOP = 0x13 CSTOPB = 0x400 CSUSP = 0x1a CTL_HW = 0x6 CTL_KERN = 0x1 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 EXTATTR_CMD_START = 0x1 EXTATTR_CMD_STOP = 0x2 EXTATTR_NAMESPACE_SYSTEM = 0x2 EXTATTR_NAMESPACE_USER = 0x1 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 HW_MACHINE = 0x1 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 KERN_HOSTNAME = 0xa KERN_OSRELEASE = 0x2 KERN_OSTYPE = 0x1 KERN_VERSION = 0x4 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 MNT_ASYNC = 0x40 MNT_BASIC_FLAGS = 0xe782807f MNT_DEFEXPORTED = 0x200 MNT_DISCARD = 0x800000 MNT_EXKERB = 0x800 MNT_EXNORESPORT = 0x8000000 MNT_EXPORTANON = 0x400 MNT_EXPORTED = 0x100 MNT_EXPUBLIC = 0x10000000 MNT_EXRDONLY = 0x80 MNT_EXTATTR = 0x1000000 MNT_FORCE = 0x80000 MNT_GETARGS = 0x400000 MNT_IGNORE = 0x100000 MNT_LAZY = 0x3 MNT_LOCAL = 0x1000 MNT_LOG = 0x2000000 MNT_NOATIME = 0x4000000 MNT_NOCOREDUMP = 0x8000 MNT_NODEV = 0x10 MNT_NODEVMTIME = 0x40000000 MNT_NOEXEC = 0x4 MNT_NOSUID = 0x8 MNT_NOWAIT = 0x2 MNT_OP_FLAGS = 0x4d0000 MNT_QUOTA = 0x2000 MNT_RDONLY = 0x1 MNT_RELATIME = 0x20000 MNT_RELOAD = 0x40000 MNT_ROOTFS = 0x4000 MNT_SOFTDEP = 0x80000000 MNT_SYMPERM = 0x20000000 MNT_SYNCHRONOUS = 0x2 MNT_UNION = 0x20 MNT_UPDATE = 0x10000 MNT_VISFLAGMASK = 0xff90ffff MNT_WAIT = 0x1 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 NFDBITS = 0x20 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_MEMLOCK = 0x6 RLIMIT_NOFILE = 0x8 RLIMIT_NPROC = 0x7 RLIMIT_RSS = 0x5 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 errorList = [...]struct { num syscall.Errno name string desc string }{ {1, "EPERM", "operation not permitted"}, {2, "ENOENT", "no such file or directory"}, {3, "ESRCH", "no such process"}, {4, "EINTR", "interrupted system call"}, {5, "EIO", "input/output error"}, {6, "ENXIO", "device not configured"}, {7, "E2BIG", "argument list too long"}, {8, "ENOEXEC", "exec format error"}, {9, "EBADF", "bad file descriptor"}, {10, "ECHILD", "no child processes"}, {11, "EDEADLK", "resource deadlock avoided"}, {12, "ENOMEM", "cannot allocate memory"}, {13, "EACCES", "permission denied"}, {14, "EFAULT", "bad address"}, {15, "ENOTBLK", "block device required"}, {16, "EBUSY", "device busy"}, {17, "EEXIST", "file exists"}, {18, "EXDEV", "cross-device link"}, {19, "ENODEV", "operation not supported by device"}, {20, "ENOTDIR", "not a directory"}, {21, "EISDIR", "is a directory"}, {22, "EINVAL", "invalid argument"}, {23, "ENFILE", "too many open files in system"}, {24, "EMFILE", "too many open files"}, {25, "ENOTTY", "inappropriate ioctl for device"}, {26, "ETXTBSY", "text file busy"}, {27, "EFBIG", "file too large"}, {28, "ENOSPC", "no space left on device"}, {29, "ESPIPE", "illegal seek"}, {30, "EROFS", "read-only file system"}, {31, "EMLINK", "too many links"}, {32, "EPIPE", "broken pipe"}, {33, "EDOM", "numerical argument out of domain"}, {34, "ERANGE", "result too large or too small"}, {35, "EAGAIN", "resource temporarily unavailable"}, {36, "EINPROGRESS", "operation now in progress"}, {37, "EALREADY", "operation already in progress"}, {38, "ENOTSOCK", "socket operation on non-socket"}, {39, "EDESTADDRREQ", "destination address required"}, {40, "EMSGSIZE", "message too long"}, {41, "EPROTOTYPE", "protocol wrong type for socket"}, {42, "ENOPROTOOPT", "protocol option not available"}, {43, "EPROTONOSUPPORT", "protocol not supported"}, {44, "ESOCKTNOSUPPORT", "socket type not supported"}, {45, "EOPNOTSUPP", "operation not supported"}, {46, "EPFNOSUPPORT", "protocol family not supported"}, {47, "EAFNOSUPPORT", "address family not supported by protocol family"}, {48, "EADDRINUSE", "address already in use"}, {49, "EADDRNOTAVAIL", "can't assign requested address"}, {50, "ENETDOWN", "network is down"}, {51, "ENETUNREACH", "network is unreachable"}, {52, "ENETRESET", "network dropped connection on reset"}, {53, "ECONNABORTED", "software caused connection abort"}, {54, "ECONNRESET", "connection reset by peer"}, {55, "ENOBUFS", "no buffer space available"}, {56, "EISCONN", "socket is already connected"}, {57, "ENOTCONN", "socket is not connected"}, {58, "ESHUTDOWN", "can't send after socket shutdown"}, {59, "ETOOMANYREFS", "too many references: can't splice"}, {60, "ETIMEDOUT", "connection timed out"}, {61, "ECONNREFUSED", "connection refused"}, {62, "ELOOP", "too many levels of symbolic links"}, {63, "ENAMETOOLONG", "file name too long"}, {64, "EHOSTDOWN", "host is down"}, {65, "EHOSTUNREACH", "no route to host"}, {66, "ENOTEMPTY", "directory not empty"}, {67, "EPROCLIM", "too many processes"}, {68, "EUSERS", "too many users"}, {69, "EDQUOT", "disc quota exceeded"}, {70, "ESTALE", "stale NFS file handle"}, {71, "EREMOTE", "too many levels of remote in path"}, {72, "EBADRPC", "RPC struct is bad"}, {73, "ERPCMISMATCH", "RPC version wrong"}, {74, "EPROGUNAVAIL", "RPC prog. not avail"}, {75, "EPROGMISMATCH", "program version wrong"}, {76, "EPROCUNAVAIL", "bad procedure for program"}, {77, "ENOLCK", "no locks available"}, {78, "ENOSYS", "function not implemented"}, {79, "EFTYPE", "inappropriate file type or format"}, {80, "EAUTH", "authentication error"}, {81, "ENEEDAUTH", "need authenticator"}, {82, "EIDRM", "identifier removed"}, {83, "ENOMSG", "no message of desired type"}, {84, "EOVERFLOW", "value too large to be stored in data type"}, {85, "EILSEQ", "illegal byte sequence"}, {86, "ENOTSUP", "not supported"}, {87, "ECANCELED", "operation Canceled"}, {88, "EBADMSG", "bad or Corrupt message"}, {89, "ENODATA", "no message available"}, {90, "ENOSR", "no STREAM resources"}, {91, "ENOSTR", "not a STREAM"}, {92, "ETIME", "STREAM ioctl timeout"}, {93, "ENOATTR", "attribute not found"}, {94, "EMULTIHOP", "multihop attempted"}, {95, "ENOLINK", "link has been severed"}, {96, "ELAST", "protocol error"}, } // Signal table var signalList = [...]struct { num syscall.Signal name string desc string }{ {1, "SIGHUP", "hangup"}, {2, "SIGINT", "interrupt"}, {3, "SIGQUIT", "quit"}, {4, "SIGILL", "illegal instruction"}, {5, "SIGTRAP", "trace/BPT trap"}, {6, "SIGIOT", "abort trap"}, {7, "SIGEMT", "EMT trap"}, {8, "SIGFPE", "floating point exception"}, {9, "SIGKILL", "killed"}, {10, "SIGBUS", "bus error"}, {11, "SIGSEGV", "segmentation fault"}, {12, "SIGSYS", "bad system call"}, {13, "SIGPIPE", "broken pipe"}, {14, "SIGALRM", "alarm clock"}, {15, "SIGTERM", "terminated"}, {16, "SIGURG", "urgent I/O condition"}, {17, "SIGSTOP", "stopped (signal)"}, {18, "SIGTSTP", "stopped"}, {19, "SIGCONT", "continued"}, {20, "SIGCHLD", "child exited"}, {21, "SIGTTIN", "stopped (tty input)"}, {22, "SIGTTOU", "stopped (tty output)"}, {23, "SIGIO", "I/O possible"}, {24, "SIGXCPU", "cputime limit exceeded"}, {25, "SIGXFSZ", "filesize limit exceeded"}, {26, "SIGVTALRM", "virtual timer expired"}, {27, "SIGPROF", "profiling timer expired"}, {28, "SIGWINCH", "window size changes"}, {29, "SIGINFO", "information request"}, {30, "SIGUSR1", "user defined signal 1"}, {31, "SIGUSR2", "user defined signal 2"}, {32, "SIGPWR", "power fail/restart"}, } dependencies/pkg/mod/golang.org/x/sys@v0.26.0/unix/asm_bsd_amd64.s0000644000000000000000000000132215107355264023376 0ustar rootroot// Copyright 2021 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:build (darwin || dragonfly || freebsd || netbsd || openbsd) && gc #include "textflag.h" // System call support for AMD64 BSD // 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) dependencies/pkg/mod/golang.org/x/sys@v0.26.0/unix/syscall_linux_mipsx.go0000644000000000000000000001347715107355264025265 0ustar rootroot// 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. //go:build linux && (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 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 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 Renameat(olddirfd int, oldpath string, newdirfd int, newpath string) (err error) //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) (prev int, err error) //sys setfsuid(uid int) (prev 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 int, 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 Ustat(dev int, ubuf *Ustat_t) (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 Ioperm(from int, num int, on int) (err error) //sys Iopl(level int) (err error) //sys futimesat(dirfd int, path string, times *[2]Timeval) (err error) //sysnb Gettimeofday(tv *Timeval) (err error) //sysnb Time(t *Time_t) (tt Time_t, err error) //sys Utime(path string, buf *Utimbuf) (err error) //sys utimes(path string, times *[2]Timeval) (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 Fstatat(dirfd int, path string, stat *Stat_t, flags int) (err error) = SYS_FSTATAT64 //sys Stat(path string, stat *Stat_t) (err error) = SYS_STAT64 //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 setTimespec(sec, nsec int64) Timespec { return Timespec{Sec: int32(sec), Nsec: int32(nsec)} } func setTimeval(sec, usec int64) Timeval { return Timeval{Sec: int32(sec), Usec: int32(usec)} } //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 } 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 (msghdr *Msghdr) SetIovlen(length int) { msghdr.Iovlen = uint32(length) } func (cmsg *Cmsghdr) SetLen(length int) { cmsg.Len = uint32(length) } func (rsa *RawSockaddrNFCLLCP) SetServiceNameLen(length int) { rsa.Service_name_len = uint32(length) } dependencies/pkg/mod/golang.org/x/sys@v0.26.0/unix/ztypes_linux_sparc64.go0000644000000000000000000003021115107355264025254 0ustar rootroot// cgo -godefs -objdir=/tmp/sparc64/cgo -- -Wall -Werror -static -I/tmp/sparc64/include linux/types.go | go run mkpost.go // Code generated by the command above; see README.md. DO NOT EDIT. //go:build sparc64 && linux package unix const ( SizeofPtr = 0x8 SizeofLong = 0x8 ) type ( _C_long int64 ) type Timespec struct { Sec int64 Nsec int64 } type Timeval struct { Sec int64 Usec int32 _ [4]byte } type Timex struct { Modes uint32 Offset int64 Freq int64 Maxerror int64 Esterror int64 Status int32 Constant int64 Precision int64 Tolerance int64 Time Timeval Tick int64 Ppsfreq int64 Jitter int64 Shift int32 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 Stat_t struct { Dev uint64 _ uint16 Ino uint64 Mode uint32 Nlink uint32 Uid uint32 Gid uint32 Rdev uint64 _ uint16 Size int64 Blksize int64 Blocks int64 Atim Timespec Mtim Timespec Ctim Timespec _ uint64 _ uint64 } type Dirent struct { Ino uint64 Off int64 Reclen uint16 Type uint8 Name [256]int8 _ [5]byte } type Flock_t struct { Type int16 Whence int16 Start int64 Len int64 Pid int32 _ int16 _ [2]byte } type DmNameList struct { Dev uint64 Next uint32 Name [0]byte _ [4]byte } const ( FADV_DONTNEED = 0x4 FADV_NOREUSE = 0x5 ) type RawSockaddrNFCLLCP struct { Sa_family uint16 Dev_idx uint32 Target_idx uint32 Nfc_protocol uint32 Dsap uint8 Ssap uint8 Service_name [63]uint8 Service_name_len uint64 } type RawSockaddr struct { Family uint16 Data [14]int8 } type RawSockaddrAny struct { Addr RawSockaddr Pad [96]int8 } type Iovec struct { Base *byte Len uint64 } type Msghdr struct { Name *byte Namelen uint32 Iov *Iovec Iovlen uint64 Control *byte Controllen uint64 Flags int32 _ [4]byte } type Cmsghdr struct { Len uint64 Level int32 Type int32 } type ifreq struct { Ifrn [16]byte Ifru [24]byte } const ( SizeofSockaddrNFCLLCP = 0x60 SizeofIovec = 0x10 SizeofMsghdr = 0x38 SizeofCmsghdr = 0x10 ) const ( SizeofSockFprog = 0x10 ) type PtraceRegs struct { Regs [16]uint64 Tstate uint64 Tpc uint64 Tnpc uint64 Y uint32 Magic uint32 } 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 Totalhigh uint64 Freehigh uint64 Unit uint32 _ [0]int8 _ [4]byte } type Ustat_t struct { Tfree int32 Tinode uint64 Fname [6]int8 Fpack [6]int8 _ [4]byte } type EpollEvent struct { Events uint32 _ int32 Fd int32 Pad int32 } const ( OPEN_TREE_CLOEXEC = 0x400000 ) const ( POLLRDHUP = 0x800 ) type Sigset_t struct { Val [16]uint64 } const _C__NSIG = 0x41 const ( SIG_BLOCK = 0x1 SIG_UNBLOCK = 0x2 SIG_SETMASK = 0x4 ) type Siginfo struct { Signo int32 Errno int32 Code int32 _ int32 _ [112]byte } type Termios struct { Iflag uint32 Oflag uint32 Cflag uint32 Lflag uint32 Line uint8 Cc [19]uint8 Ispeed uint32 Ospeed uint32 } type Taskstats struct { Version uint16 Ac_exitcode uint32 Ac_flag uint8 Ac_nice uint8 Cpu_count uint64 Cpu_delay_total uint64 Blkio_count uint64 Blkio_delay_total uint64 Swapin_count uint64 Swapin_delay_total uint64 Cpu_run_real_total uint64 Cpu_run_virtual_total uint64 Ac_comm [32]int8 Ac_sched uint8 Ac_pad [3]uint8 _ [4]byte Ac_uid uint32 Ac_gid uint32 Ac_pid uint32 Ac_ppid uint32 Ac_btime uint32 Ac_etime uint64 Ac_utime uint64 Ac_stime uint64 Ac_minflt uint64 Ac_majflt uint64 Coremem uint64 Virtmem uint64 Hiwater_rss uint64 Hiwater_vm uint64 Read_char uint64 Write_char uint64 Read_syscalls uint64 Write_syscalls uint64 Read_bytes uint64 Write_bytes uint64 Cancelled_write_bytes uint64 Nvcsw uint64 Nivcsw uint64 Ac_utimescaled uint64 Ac_stimescaled uint64 Cpu_scaled_run_real_total uint64 Freepages_count uint64 Freepages_delay_total uint64 Thrashing_count uint64 Thrashing_delay_total uint64 Ac_btime64 uint64 Compact_count uint64 Compact_delay_total uint64 Ac_tgid uint32 Ac_tgetime uint64 Ac_exe_dev uint64 Ac_exe_inode uint64 Wpcopy_count uint64 Wpcopy_delay_total uint64 Irq_count uint64 Irq_delay_total uint64 } type cpuMask uint64 const ( _NCPUBITS = 0x40 ) const ( CBitFieldMaskBit0 = 0x8000000000000000 CBitFieldMaskBit1 = 0x4000000000000000 CBitFieldMaskBit2 = 0x2000000000000000 CBitFieldMaskBit3 = 0x1000000000000000 CBitFieldMaskBit4 = 0x800000000000000 CBitFieldMaskBit5 = 0x400000000000000 CBitFieldMaskBit6 = 0x200000000000000 CBitFieldMaskBit7 = 0x100000000000000 CBitFieldMaskBit8 = 0x80000000000000 CBitFieldMaskBit9 = 0x40000000000000 CBitFieldMaskBit10 = 0x20000000000000 CBitFieldMaskBit11 = 0x10000000000000 CBitFieldMaskBit12 = 0x8000000000000 CBitFieldMaskBit13 = 0x4000000000000 CBitFieldMaskBit14 = 0x2000000000000 CBitFieldMaskBit15 = 0x1000000000000 CBitFieldMaskBit16 = 0x800000000000 CBitFieldMaskBit17 = 0x400000000000 CBitFieldMaskBit18 = 0x200000000000 CBitFieldMaskBit19 = 0x100000000000 CBitFieldMaskBit20 = 0x80000000000 CBitFieldMaskBit21 = 0x40000000000 CBitFieldMaskBit22 = 0x20000000000 CBitFieldMaskBit23 = 0x10000000000 CBitFieldMaskBit24 = 0x8000000000 CBitFieldMaskBit25 = 0x4000000000 CBitFieldMaskBit26 = 0x2000000000 CBitFieldMaskBit27 = 0x1000000000 CBitFieldMaskBit28 = 0x800000000 CBitFieldMaskBit29 = 0x400000000 CBitFieldMaskBit30 = 0x200000000 CBitFieldMaskBit31 = 0x100000000 CBitFieldMaskBit32 = 0x80000000 CBitFieldMaskBit33 = 0x40000000 CBitFieldMaskBit34 = 0x20000000 CBitFieldMaskBit35 = 0x10000000 CBitFieldMaskBit36 = 0x8000000 CBitFieldMaskBit37 = 0x4000000 CBitFieldMaskBit38 = 0x2000000 CBitFieldMaskBit39 = 0x1000000 CBitFieldMaskBit40 = 0x800000 CBitFieldMaskBit41 = 0x400000 CBitFieldMaskBit42 = 0x200000 CBitFieldMaskBit43 = 0x100000 CBitFieldMaskBit44 = 0x80000 CBitFieldMaskBit45 = 0x40000 CBitFieldMaskBit46 = 0x20000 CBitFieldMaskBit47 = 0x10000 CBitFieldMaskBit48 = 0x8000 CBitFieldMaskBit49 = 0x4000 CBitFieldMaskBit50 = 0x2000 CBitFieldMaskBit51 = 0x1000 CBitFieldMaskBit52 = 0x800 CBitFieldMaskBit53 = 0x400 CBitFieldMaskBit54 = 0x200 CBitFieldMaskBit55 = 0x100 CBitFieldMaskBit56 = 0x80 CBitFieldMaskBit57 = 0x40 CBitFieldMaskBit58 = 0x20 CBitFieldMaskBit59 = 0x10 CBitFieldMaskBit60 = 0x8 CBitFieldMaskBit61 = 0x4 CBitFieldMaskBit62 = 0x2 CBitFieldMaskBit63 = 0x1 ) type SockaddrStorage struct { Family uint16 Data [118]byte _ uint64 } type HDGeometry struct { Heads uint8 Sectors uint8 Cylinders uint16 Start 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 TpacketHdr struct { Status uint64 Len uint32 Snaplen uint32 Mac uint16 Net uint16 Sec uint32 Usec uint32 _ [4]byte } const ( SizeofTpacketHdr = 0x20 ) type RTCPLLInfo struct { Ctrl int32 Value int32 Max int32 Min int32 Posmult int32 Negmult int32 Clock int64 } type BlkpgPartition struct { Start int64 Length int64 Pno int32 Devname [64]uint8 Volname [64]uint8 _ [4]byte } const ( BLKPG = 0x20001269 ) type CryptoUserAlg struct { Name [64]int8 Driver_name [64]int8 Module_name [64]int8 Type uint32 Mask uint32 Refcnt uint32 Flags uint32 } type CryptoStatAEAD struct { Type [64]int8 Encrypt_cnt uint64 Encrypt_tlen uint64 Decrypt_cnt uint64 Decrypt_tlen uint64 Err_cnt uint64 } type CryptoStatAKCipher struct { Type [64]int8 Encrypt_cnt uint64 Encrypt_tlen uint64 Decrypt_cnt uint64 Decrypt_tlen uint64 Verify_cnt uint64 Sign_cnt uint64 Err_cnt uint64 } type CryptoStatCipher struct { Type [64]int8 Encrypt_cnt uint64 Encrypt_tlen uint64 Decrypt_cnt uint64 Decrypt_tlen uint64 Err_cnt uint64 } type CryptoStatCompress struct { Type [64]int8 Compress_cnt uint64 Compress_tlen uint64 Decompress_cnt uint64 Decompress_tlen uint64 Err_cnt uint64 } type CryptoStatHash struct { Type [64]int8 Hash_cnt uint64 Hash_tlen uint64 Err_cnt uint64 } type CryptoStatKPP struct { Type [64]int8 Setsecret_cnt uint64 Generate_public_key_cnt uint64 Compute_shared_secret_cnt uint64 Err_cnt uint64 } type CryptoStatRNG struct { Type [64]int8 Generate_cnt uint64 Generate_tlen uint64 Seed_cnt uint64 Err_cnt uint64 } type CryptoStatLarval struct { Type [64]int8 } type CryptoReportLarval struct { Type [64]int8 } type CryptoReportHash struct { Type [64]int8 Blocksize uint32 Digestsize uint32 } type CryptoReportCipher struct { Type [64]int8 Blocksize uint32 Min_keysize uint32 Max_keysize uint32 } type CryptoReportBlkCipher struct { Type [64]int8 Geniv [64]int8 Blocksize uint32 Min_keysize uint32 Max_keysize uint32 Ivsize uint32 } type CryptoReportAEAD struct { Type [64]int8 Geniv [64]int8 Blocksize uint32 Maxauthsize uint32 Ivsize uint32 } type CryptoReportComp struct { Type [64]int8 } type CryptoReportRNG struct { Type [64]int8 Seedsize uint32 } type CryptoReportAKCipher struct { Type [64]int8 } type CryptoReportKPP struct { Type [64]int8 } type CryptoReportAcomp struct { Type [64]int8 } type LoopInfo struct { Number int32 Device uint32 Inode uint64 Rdevice uint32 Offset int32 Encrypt_type int32 Encrypt_key_size int32 Flags int32 Name [64]int8 Encrypt_key [32]uint8 Init [2]uint64 Reserved [4]int8 _ [4]byte } type TIPCSubscr struct { Seq TIPCServiceRange Timeout uint32 Filter uint32 Handle [8]int8 } type TIPCSIOCLNReq struct { Peer uint32 Id uint32 Linkname [68]int8 } type TIPCSIOCNodeIDReq struct { Peer uint32 Id [16]int8 } type PPSKInfo struct { Assert_sequence uint32 Clear_sequence uint32 Assert_tu PPSKTime Clear_tu PPSKTime Current_mode int32 _ [4]byte } const ( PPS_GETPARAMS = 0x400870a1 PPS_SETPARAMS = 0x800870a2 PPS_GETCAP = 0x400870a3 PPS_FETCH = 0xc00870a4 ) const ( PIDFD_NONBLOCK = 0x4000 ) type SysvIpcPerm struct { Key int32 Uid uint32 Gid uint32 Cuid uint32 Cgid uint32 Mode uint32 _ uint16 Seq uint16 _ uint64 _ uint64 } type SysvShmDesc struct { Perm SysvIpcPerm Atime int64 Dtime int64 Ctime int64 Segsz uint64 Cpid int32 Lpid int32 Nattch uint64 _ uint64 _ uint64 } dependencies/pkg/mod/golang.org/x/sys@v0.26.0/unix/zerrors_linux_riscv64.go0000644000000000000000000010405615107355264025453 0ustar rootroot// mkerrors.sh -Wall -Werror -static -I/tmp/riscv64/include // Code generated by the command above; see README.md. DO NOT EDIT. //go:build riscv64 && linux // Code generated by cmd/cgo -godefs; DO NOT EDIT. // cgo -godefs -- -Wall -Werror -static -I/tmp/riscv64/include _const.go package unix import "syscall" const ( B1000000 = 0x1008 B115200 = 0x1002 B1152000 = 0x1009 B1500000 = 0x100a B2000000 = 0x100b B230400 = 0x1003 B2500000 = 0x100c B3000000 = 0x100d B3500000 = 0x100e B4000000 = 0x100f B460800 = 0x1004 B500000 = 0x1005 B57600 = 0x1001 B576000 = 0x1006 B921600 = 0x1007 BLKALIGNOFF = 0x127a BLKBSZGET = 0x80081270 BLKBSZSET = 0x40081271 BLKDISCARD = 0x1277 BLKDISCARDZEROES = 0x127c BLKFLSBUF = 0x1261 BLKFRAGET = 0x1265 BLKFRASET = 0x1264 BLKGETDISKSEQ = 0x80081280 BLKGETSIZE = 0x1260 BLKGETSIZE64 = 0x80081272 BLKIOMIN = 0x1278 BLKIOOPT = 0x1279 BLKPBSZGET = 0x127b BLKRAGET = 0x1263 BLKRASET = 0x1262 BLKROGET = 0x125e BLKROSET = 0x125d BLKROTATIONAL = 0x127e BLKRRPART = 0x125f BLKSECDISCARD = 0x127d BLKSECTGET = 0x1267 BLKSECTSET = 0x1266 BLKSSZGET = 0x1268 BLKZEROOUT = 0x127f BOTHER = 0x1000 BS1 = 0x2000 BSDLY = 0x2000 CBAUD = 0x100f CBAUDEX = 0x1000 CIBAUD = 0x100f0000 CLOCAL = 0x800 CR1 = 0x200 CR2 = 0x400 CR3 = 0x600 CRDLY = 0x600 CREAD = 0x80 CS6 = 0x10 CS7 = 0x20 CS8 = 0x30 CSIZE = 0x30 CSTOPB = 0x40 ECCGETLAYOUT = 0x81484d11 ECCGETSTATS = 0x80104d12 ECHOCTL = 0x200 ECHOE = 0x10 ECHOK = 0x20 ECHOKE = 0x800 ECHONL = 0x40 ECHOPRT = 0x400 EFD_CLOEXEC = 0x80000 EFD_NONBLOCK = 0x800 EPIOCGPARAMS = 0x80088a02 EPIOCSPARAMS = 0x40088a01 EPOLL_CLOEXEC = 0x80000 EXTPROC = 0x10000 FF1 = 0x8000 FFDLY = 0x8000 FICLONE = 0x40049409 FICLONERANGE = 0x4020940d FLUSHO = 0x1000 FS_IOC_ENABLE_VERITY = 0x40806685 FS_IOC_GETFLAGS = 0x80086601 FS_IOC_GET_ENCRYPTION_NONCE = 0x8010661b FS_IOC_GET_ENCRYPTION_POLICY = 0x400c6615 FS_IOC_GET_ENCRYPTION_PWSALT = 0x40106614 FS_IOC_SETFLAGS = 0x40086602 FS_IOC_SET_ENCRYPTION_POLICY = 0x800c6613 F_GETLK = 0x5 F_GETLK64 = 0x5 F_GETOWN = 0x9 F_RDLCK = 0x0 F_SETLK = 0x6 F_SETLK64 = 0x6 F_SETLKW = 0x7 F_SETLKW64 = 0x7 F_SETOWN = 0x8 F_UNLCK = 0x2 F_WRLCK = 0x1 HIDIOCGRAWINFO = 0x80084803 HIDIOCGRDESC = 0x90044802 HIDIOCGRDESCSIZE = 0x80044801 HUPCL = 0x400 ICANON = 0x2 IEXTEN = 0x8000 IN_CLOEXEC = 0x80000 IN_NONBLOCK = 0x800 IOCTL_VM_SOCKETS_GET_LOCAL_CID = 0x7b9 ISIG = 0x1 IUCLC = 0x200 IXOFF = 0x1000 IXON = 0x400 MAP_ANON = 0x20 MAP_ANONYMOUS = 0x20 MAP_DENYWRITE = 0x800 MAP_EXECUTABLE = 0x1000 MAP_GROWSDOWN = 0x100 MAP_HUGETLB = 0x40000 MAP_LOCKED = 0x2000 MAP_NONBLOCK = 0x10000 MAP_NORESERVE = 0x4000 MAP_POPULATE = 0x8000 MAP_STACK = 0x20000 MAP_SYNC = 0x80000 MCL_CURRENT = 0x1 MCL_FUTURE = 0x2 MCL_ONFAULT = 0x4 MEMERASE = 0x40084d02 MEMERASE64 = 0x40104d14 MEMGETBADBLOCK = 0x40084d0b MEMGETINFO = 0x80204d01 MEMGETOOBSEL = 0x80c84d0a MEMGETREGIONCOUNT = 0x80044d07 MEMISLOCKED = 0x80084d17 MEMLOCK = 0x40084d05 MEMREAD = 0xc0404d1a MEMREADOOB = 0xc0104d04 MEMSETBADBLOCK = 0x40084d0c MEMUNLOCK = 0x40084d06 MEMWRITEOOB = 0xc0104d03 MTDFILEMODE = 0x4d13 NFDBITS = 0x40 NLDLY = 0x100 NOFLSH = 0x80 NS_GET_MNTNS_ID = 0x8008b705 NS_GET_NSTYPE = 0xb703 NS_GET_OWNER_UID = 0xb704 NS_GET_PARENT = 0xb702 NS_GET_PID_FROM_PIDNS = 0x8004b706 NS_GET_PID_IN_PIDNS = 0x8004b708 NS_GET_TGID_FROM_PIDNS = 0x8004b707 NS_GET_TGID_IN_PIDNS = 0x8004b709 NS_GET_USERNS = 0xb701 OLCUC = 0x2 ONLCR = 0x4 OTPERASE = 0x400c4d19 OTPGETREGIONCOUNT = 0x40044d0e OTPGETREGIONINFO = 0x400c4d0f OTPLOCK = 0x800c4d10 OTPSELECT = 0x80044d0d 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_RSYNC = 0x101000 O_SYNC = 0x101000 O_TMPFILE = 0x410000 O_TRUNC = 0x200 PARENB = 0x100 PARODD = 0x200 PENDIN = 0x4000 PERF_EVENT_IOC_DISABLE = 0x2401 PERF_EVENT_IOC_ENABLE = 0x2400 PERF_EVENT_IOC_ID = 0x80082407 PERF_EVENT_IOC_MODIFY_ATTRIBUTES = 0x4008240b PERF_EVENT_IOC_PAUSE_OUTPUT = 0x40042409 PERF_EVENT_IOC_PERIOD = 0x40082404 PERF_EVENT_IOC_QUERY_BPF = 0xc008240a PERF_EVENT_IOC_REFRESH = 0x2402 PERF_EVENT_IOC_RESET = 0x2403 PERF_EVENT_IOC_SET_BPF = 0x40042408 PERF_EVENT_IOC_SET_FILTER = 0x40082406 PERF_EVENT_IOC_SET_OUTPUT = 0x2405 PPPIOCATTACH = 0x4004743d PPPIOCATTCHAN = 0x40047438 PPPIOCBRIDGECHAN = 0x40047435 PPPIOCCONNECT = 0x4004743a PPPIOCDETACH = 0x4004743c PPPIOCDISCONN = 0x7439 PPPIOCGASYNCMAP = 0x80047458 PPPIOCGCHAN = 0x80047437 PPPIOCGDEBUG = 0x80047441 PPPIOCGFLAGS = 0x8004745a PPPIOCGIDLE = 0x8010743f PPPIOCGIDLE32 = 0x8008743f PPPIOCGIDLE64 = 0x8010743f PPPIOCGL2TPSTATS = 0x80487436 PPPIOCGMRU = 0x80047453 PPPIOCGRASYNCMAP = 0x80047455 PPPIOCGUNIT = 0x80047456 PPPIOCGXASYNCMAP = 0x80207450 PPPIOCSACTIVE = 0x40107446 PPPIOCSASYNCMAP = 0x40047457 PPPIOCSCOMPRESS = 0x4010744d PPPIOCSDEBUG = 0x40047440 PPPIOCSFLAGS = 0x40047459 PPPIOCSMAXCID = 0x40047451 PPPIOCSMRRU = 0x4004743b PPPIOCSMRU = 0x40047452 PPPIOCSNPMODE = 0x4008744b PPPIOCSPASS = 0x40107447 PPPIOCSRASYNCMAP = 0x40047454 PPPIOCSXASYNCMAP = 0x4020744f PPPIOCUNBRIDGECHAN = 0x7434 PPPIOCXFERUNIT = 0x744e PR_SET_PTRACER_ANY = 0xffffffffffffffff PTRACE_GETFDPIC = 0x21 PTRACE_GETFDPIC_EXEC = 0x0 PTRACE_GETFDPIC_INTERP = 0x1 RLIMIT_AS = 0x9 RLIMIT_MEMLOCK = 0x8 RLIMIT_NOFILE = 0x7 RLIMIT_NPROC = 0x6 RLIMIT_RSS = 0x5 RNDADDENTROPY = 0x40085203 RNDADDTOENTCNT = 0x40045201 RNDCLEARPOOL = 0x5206 RNDGETENTCNT = 0x80045200 RNDGETPOOL = 0x80085202 RNDRESEEDCRNG = 0x5207 RNDZAPENTCNT = 0x5204 RTC_AIE_OFF = 0x7002 RTC_AIE_ON = 0x7001 RTC_ALM_READ = 0x80247008 RTC_ALM_SET = 0x40247007 RTC_EPOCH_READ = 0x8008700d RTC_EPOCH_SET = 0x4008700e RTC_IRQP_READ = 0x8008700b RTC_IRQP_SET = 0x4008700c RTC_PARAM_GET = 0x40187013 RTC_PARAM_SET = 0x40187014 RTC_PIE_OFF = 0x7006 RTC_PIE_ON = 0x7005 RTC_PLL_GET = 0x80207011 RTC_PLL_SET = 0x40207012 RTC_RD_TIME = 0x80247009 RTC_SET_TIME = 0x4024700a RTC_UIE_OFF = 0x7004 RTC_UIE_ON = 0x7003 RTC_VL_CLR = 0x7014 RTC_VL_READ = 0x80047013 RTC_WIE_OFF = 0x7010 RTC_WIE_ON = 0x700f RTC_WKALM_RD = 0x80287010 RTC_WKALM_SET = 0x4028700f SCM_TIMESTAMPING = 0x25 SCM_TIMESTAMPING_OPT_STATS = 0x36 SCM_TIMESTAMPING_PKTINFO = 0x3a SCM_TIMESTAMPNS = 0x23 SCM_TXTIME = 0x3d SCM_WIFI_STATUS = 0x29 SECCOMP_IOCTL_NOTIF_ADDFD = 0x40182103 SECCOMP_IOCTL_NOTIF_ID_VALID = 0x40082102 SECCOMP_IOCTL_NOTIF_SET_FLAGS = 0x40082104 SFD_CLOEXEC = 0x80000 SFD_NONBLOCK = 0x800 SIOCATMARK = 0x8905 SIOCGPGRP = 0x8904 SIOCGSTAMPNS_NEW = 0x80108907 SIOCGSTAMP_NEW = 0x80108906 SIOCINQ = 0x541b SIOCOUTQ = 0x5411 SIOCSPGRP = 0x8902 SOCK_CLOEXEC = 0x80000 SOCK_DGRAM = 0x2 SOCK_NONBLOCK = 0x800 SOCK_STREAM = 0x1 SOL_SOCKET = 0x1 SO_ACCEPTCONN = 0x1e SO_ATTACH_BPF = 0x32 SO_ATTACH_REUSEPORT_CBPF = 0x33 SO_ATTACH_REUSEPORT_EBPF = 0x34 SO_BINDTODEVICE = 0x19 SO_BINDTOIFINDEX = 0x3e SO_BPF_EXTENSIONS = 0x30 SO_BROADCAST = 0x6 SO_BSDCOMPAT = 0xe SO_BUF_LOCK = 0x48 SO_BUSY_POLL = 0x2e SO_BUSY_POLL_BUDGET = 0x46 SO_CNX_ADVICE = 0x35 SO_COOKIE = 0x39 SO_DETACH_REUSEPORT_BPF = 0x44 SO_DOMAIN = 0x27 SO_DONTROUTE = 0x5 SO_ERROR = 0x4 SO_INCOMING_CPU = 0x31 SO_INCOMING_NAPI_ID = 0x38 SO_KEEPALIVE = 0x9 SO_LINGER = 0xd SO_LOCK_FILTER = 0x2c SO_MARK = 0x24 SO_MAX_PACING_RATE = 0x2f SO_MEMINFO = 0x37 SO_NETNS_COOKIE = 0x47 SO_NOFCS = 0x2b SO_OOBINLINE = 0xa SO_PASSCRED = 0x10 SO_PASSPIDFD = 0x4c SO_PASSSEC = 0x22 SO_PEEK_OFF = 0x2a SO_PEERCRED = 0x11 SO_PEERGROUPS = 0x3b SO_PEERPIDFD = 0x4d SO_PEERSEC = 0x1f SO_PREFER_BUSY_POLL = 0x45 SO_PROTOCOL = 0x26 SO_RCVBUF = 0x8 SO_RCVBUFFORCE = 0x21 SO_RCVLOWAT = 0x12 SO_RCVMARK = 0x4b SO_RCVTIMEO = 0x14 SO_RCVTIMEO_NEW = 0x42 SO_RCVTIMEO_OLD = 0x14 SO_RESERVE_MEM = 0x49 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_SNDTIMEO_NEW = 0x43 SO_SNDTIMEO_OLD = 0x15 SO_TIMESTAMPING = 0x25 SO_TIMESTAMPING_NEW = 0x41 SO_TIMESTAMPING_OLD = 0x25 SO_TIMESTAMPNS = 0x23 SO_TIMESTAMPNS_NEW = 0x40 SO_TIMESTAMPNS_OLD = 0x23 SO_TIMESTAMP_NEW = 0x3f SO_TXREHASH = 0x4a SO_TXTIME = 0x3d SO_TYPE = 0x3 SO_WIFI_STATUS = 0x29 SO_ZEROCOPY = 0x3c TAB1 = 0x800 TAB2 = 0x1000 TAB3 = 0x1800 TABDLY = 0x1800 TCFLSH = 0x540b TCGETA = 0x5405 TCGETS = 0x5401 TCGETS2 = 0x802c542a TCGETX = 0x5432 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 TFD_CLOEXEC = 0x80000 TFD_NONBLOCK = 0x800 TIOCCBRK = 0x5428 TIOCCONS = 0x541d TIOCEXCL = 0x540c TIOCGDEV = 0x80045432 TIOCGETD = 0x5424 TIOCGEXCL = 0x80045440 TIOCGICOUNT = 0x545d TIOCGISO7816 = 0x80285442 TIOCGLCKTRMIOS = 0x5456 TIOCGPGRP = 0x540f TIOCGPKT = 0x80045438 TIOCGPTLCK = 0x80045439 TIOCGPTN = 0x80045430 TIOCGPTPEER = 0x5441 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_RI = 0x80 TIOCM_RNG = 0x80 TIOCM_SR = 0x10 TIOCM_ST = 0x8 TIOCNOTTY = 0x5422 TIOCNXCL = 0x540d TIOCOUTQ = 0x5411 TIOCPKT = 0x5420 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 TIOCSISO7816 = 0xc0285443 TIOCSLCKTRMIOS = 0x5457 TIOCSPGRP = 0x5410 TIOCSPTLCK = 0x40045431 TIOCSRS485 = 0x542f TIOCSSERIAL = 0x541f TIOCSSOFTCAR = 0x541a TIOCSTI = 0x5412 TIOCSWINSZ = 0x5414 TIOCVHANGUP = 0x5437 TOSTOP = 0x100 TUNATTACHFILTER = 0x401054d5 TUNDETACHFILTER = 0x401054d6 TUNGETDEVNETNS = 0x54e3 TUNGETFEATURES = 0x800454cf TUNGETFILTER = 0x801054db TUNGETIFF = 0x800454d2 TUNGETSNDBUF = 0x800454d3 TUNGETVNETBE = 0x800454df TUNGETVNETHDRSZ = 0x800454d7 TUNGETVNETLE = 0x800454dd TUNSETCARRIER = 0x400454e2 TUNSETDEBUG = 0x400454c9 TUNSETFILTEREBPF = 0x800454e1 TUNSETGROUP = 0x400454ce TUNSETIFF = 0x400454ca TUNSETIFINDEX = 0x400454da TUNSETLINK = 0x400454cd TUNSETNOCSUM = 0x400454c8 TUNSETOFFLOAD = 0x400454d0 TUNSETOWNER = 0x400454cc TUNSETPERSIST = 0x400454cb TUNSETQUEUE = 0x400454d9 TUNSETSNDBUF = 0x400454d4 TUNSETSTEERINGEBPF = 0x800454e0 TUNSETTXFILTER = 0x400454d1 TUNSETVNETBE = 0x400454de TUNSETVNETHDRSZ = 0x400454d8 TUNSETVNETLE = 0x400454dc UBI_IOCATT = 0x40186f40 UBI_IOCDET = 0x40046f41 UBI_IOCEBCH = 0x40044f02 UBI_IOCEBER = 0x40044f01 UBI_IOCEBISMAP = 0x80044f05 UBI_IOCEBMAP = 0x40084f03 UBI_IOCEBUNMAP = 0x40044f04 UBI_IOCMKVOL = 0x40986f00 UBI_IOCRMVOL = 0x40046f01 UBI_IOCRNVOL = 0x51106f03 UBI_IOCRPEB = 0x40046f04 UBI_IOCRSVOL = 0x400c6f02 UBI_IOCSETVOLPROP = 0x40104f06 UBI_IOCSPEB = 0x40046f05 UBI_IOCVOLCRBLK = 0x40804f07 UBI_IOCVOLRMBLK = 0x4f08 UBI_IOCVOLUP = 0x40084f00 VDISCARD = 0xd VEOF = 0x4 VEOL = 0xb VEOL2 = 0x10 VMIN = 0x6 VREPRINT = 0xc VSTART = 0x8 VSTOP = 0x9 VSUSP = 0xa VSWTC = 0x7 VT1 = 0x4000 VTDLY = 0x4000 VTIME = 0x5 VWERASE = 0xe WDIOC_GETBOOTSTATUS = 0x80045702 WDIOC_GETPRETIMEOUT = 0x80045709 WDIOC_GETSTATUS = 0x80045701 WDIOC_GETSUPPORT = 0x80285700 WDIOC_GETTEMP = 0x80045703 WDIOC_GETTIMELEFT = 0x8004570a WDIOC_GETTIMEOUT = 0x80045707 WDIOC_KEEPALIVE = 0x80045705 WDIOC_SETOPTIONS = 0x80045704 WORDSIZE = 0x40 XCASE = 0x4 XTABS = 0x1800 _HIDIOCGRAWNAME = 0x80804804 _HIDIOCGRAWPHYS = 0x80404805 _HIDIOCGRAWUNIQ = 0x80404808 ) // Errors const ( EADDRINUSE = syscall.Errno(0x62) EADDRNOTAVAIL = syscall.Errno(0x63) EADV = syscall.Errno(0x44) EAFNOSUPPORT = syscall.Errno(0x61) EALREADY = syscall.Errno(0x72) EBADE = syscall.Errno(0x34) EBADFD = syscall.Errno(0x4d) EBADMSG = syscall.Errno(0x4a) EBADR = syscall.Errno(0x35) EBADRQC = syscall.Errno(0x38) EBADSLT = syscall.Errno(0x39) EBFONT = syscall.Errno(0x3b) ECANCELED = syscall.Errno(0x7d) 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) EDOTDOT = syscall.Errno(0x49) EDQUOT = syscall.Errno(0x7a) EHOSTDOWN = syscall.Errno(0x70) EHOSTUNREACH = syscall.Errno(0x71) EHWPOISON = syscall.Errno(0x85) EIDRM = syscall.Errno(0x2b) EILSEQ = syscall.Errno(0x54) EINPROGRESS = syscall.Errno(0x73) EISCONN = syscall.Errno(0x6a) 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) 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) ENOANO = syscall.Errno(0x37) ENOBUFS = syscall.Errno(0x69) ENOCSI = syscall.Errno(0x32) ENODATA = syscall.Errno(0x3d) ENOKEY = syscall.Errno(0x7e) ENOLCK = syscall.Errno(0x25) ENOLINK = syscall.Errno(0x43) ENOMEDIUM = syscall.Errno(0x7b) ENOMSG = syscall.Errno(0x2a) ENONET = syscall.Errno(0x40) ENOPKG = syscall.Errno(0x41) ENOPROTOOPT = syscall.Errno(0x5c) ENOSR = syscall.Errno(0x3f) ENOSTR = syscall.Errno(0x3c) ENOSYS = syscall.Errno(0x26) ENOTCONN = syscall.Errno(0x6b) ENOTEMPTY = syscall.Errno(0x27) ENOTNAM = syscall.Errno(0x76) ENOTRECOVERABLE = syscall.Errno(0x83) ENOTSOCK = syscall.Errno(0x58) ENOTSUP = syscall.Errno(0x5f) ENOTUNIQ = syscall.Errno(0x4c) EOPNOTSUPP = syscall.Errno(0x5f) EOVERFLOW = syscall.Errno(0x4b) EOWNERDEAD = syscall.Errno(0x82) EPFNOSUPPORT = syscall.Errno(0x60) EPROTO = syscall.Errno(0x47) EPROTONOSUPPORT = syscall.Errno(0x5d) EPROTOTYPE = syscall.Errno(0x5b) EREMCHG = syscall.Errno(0x4e) EREMOTE = syscall.Errno(0x42) EREMOTEIO = syscall.Errno(0x79) ERESTART = syscall.Errno(0x55) ERFKILL = syscall.Errno(0x84) ESHUTDOWN = syscall.Errno(0x6c) ESOCKTNOSUPPORT = syscall.Errno(0x5e) ESRMNT = syscall.Errno(0x45) ESTALE = syscall.Errno(0x74) ESTRPIPE = syscall.Errno(0x56) ETIME = syscall.Errno(0x3e) ETIMEDOUT = syscall.Errno(0x6e) ETOOMANYREFS = syscall.Errno(0x6d) EUCLEAN = syscall.Errno(0x75) EUNATCH = syscall.Errno(0x31) EUSERS = syscall.Errno(0x57) EXFULL = syscall.Errno(0x36) ) // Signals const ( SIGBUS = syscall.Signal(0x7) SIGCHLD = syscall.Signal(0x11) SIGCLD = syscall.Signal(0x11) SIGCONT = syscall.Signal(0x12) SIGIO = syscall.Signal(0x1d) SIGPOLL = syscall.Signal(0x1d) SIGPROF = syscall.Signal(0x1b) SIGPWR = syscall.Signal(0x1e) SIGSTKFLT = syscall.Signal(0x10) SIGSTOP = syscall.Signal(0x13) SIGSYS = syscall.Signal(0x1f) SIGTSTP = syscall.Signal(0x14) SIGTTIN = syscall.Signal(0x15) SIGTTOU = syscall.Signal(0x16) 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 errorList = [...]struct { num syscall.Errno name string desc string }{ {1, "EPERM", "operation not permitted"}, {2, "ENOENT", "no such file or directory"}, {3, "ESRCH", "no such process"}, {4, "EINTR", "interrupted system call"}, {5, "EIO", "input/output error"}, {6, "ENXIO", "no such device or address"}, {7, "E2BIG", "argument list too long"}, {8, "ENOEXEC", "exec format error"}, {9, "EBADF", "bad file descriptor"}, {10, "ECHILD", "no child processes"}, {11, "EAGAIN", "resource temporarily unavailable"}, {12, "ENOMEM", "cannot allocate memory"}, {13, "EACCES", "permission denied"}, {14, "EFAULT", "bad address"}, {15, "ENOTBLK", "block device required"}, {16, "EBUSY", "device or resource busy"}, {17, "EEXIST", "file exists"}, {18, "EXDEV", "invalid cross-device link"}, {19, "ENODEV", "no such device"}, {20, "ENOTDIR", "not a directory"}, {21, "EISDIR", "is a directory"}, {22, "EINVAL", "invalid argument"}, {23, "ENFILE", "too many open files in system"}, {24, "EMFILE", "too many open files"}, {25, "ENOTTY", "inappropriate ioctl for device"}, {26, "ETXTBSY", "text file busy"}, {27, "EFBIG", "file too large"}, {28, "ENOSPC", "no space left on device"}, {29, "ESPIPE", "illegal seek"}, {30, "EROFS", "read-only file system"}, {31, "EMLINK", "too many links"}, {32, "EPIPE", "broken pipe"}, {33, "EDOM", "numerical argument out of domain"}, {34, "ERANGE", "numerical result out of range"}, {35, "EDEADLK", "resource deadlock avoided"}, {36, "ENAMETOOLONG", "file name too long"}, {37, "ENOLCK", "no locks available"}, {38, "ENOSYS", "function not implemented"}, {39, "ENOTEMPTY", "directory not empty"}, {40, "ELOOP", "too many levels of symbolic links"}, {42, "ENOMSG", "no message of desired type"}, {43, "EIDRM", "identifier removed"}, {44, "ECHRNG", "channel number out of range"}, {45, "EL2NSYNC", "level 2 not synchronized"}, {46, "EL3HLT", "level 3 halted"}, {47, "EL3RST", "level 3 reset"}, {48, "ELNRNG", "link number out of range"}, {49, "EUNATCH", "protocol driver not attached"}, {50, "ENOCSI", "no CSI structure available"}, {51, "EL2HLT", "level 2 halted"}, {52, "EBADE", "invalid exchange"}, {53, "EBADR", "invalid request descriptor"}, {54, "EXFULL", "exchange full"}, {55, "ENOANO", "no anode"}, {56, "EBADRQC", "invalid request code"}, {57, "EBADSLT", "invalid slot"}, {59, "EBFONT", "bad font file format"}, {60, "ENOSTR", "device not a stream"}, {61, "ENODATA", "no data available"}, {62, "ETIME", "timer expired"}, {63, "ENOSR", "out of streams resources"}, {64, "ENONET", "machine is not on the network"}, {65, "ENOPKG", "package not installed"}, {66, "EREMOTE", "object is remote"}, {67, "ENOLINK", "link has been severed"}, {68, "EADV", "advertise error"}, {69, "ESRMNT", "srmount error"}, {70, "ECOMM", "communication error on send"}, {71, "EPROTO", "protocol error"}, {72, "EMULTIHOP", "multihop attempted"}, {73, "EDOTDOT", "RFS specific error"}, {74, "EBADMSG", "bad message"}, {75, "EOVERFLOW", "value too large for defined data type"}, {76, "ENOTUNIQ", "name not unique on network"}, {77, "EBADFD", "file descriptor in bad state"}, {78, "EREMCHG", "remote address changed"}, {79, "ELIBACC", "can not access a needed shared library"}, {80, "ELIBBAD", "accessing a corrupted shared library"}, {81, "ELIBSCN", ".lib section in a.out corrupted"}, {82, "ELIBMAX", "attempting to link in too many shared libraries"}, {83, "ELIBEXEC", "cannot exec a shared library directly"}, {84, "EILSEQ", "invalid or incomplete multibyte or wide character"}, {85, "ERESTART", "interrupted system call should be restarted"}, {86, "ESTRPIPE", "streams pipe error"}, {87, "EUSERS", "too many users"}, {88, "ENOTSOCK", "socket operation on non-socket"}, {89, "EDESTADDRREQ", "destination address required"}, {90, "EMSGSIZE", "message too long"}, {91, "EPROTOTYPE", "protocol wrong type for socket"}, {92, "ENOPROTOOPT", "protocol not available"}, {93, "EPROTONOSUPPORT", "protocol not supported"}, {94, "ESOCKTNOSUPPORT", "socket type not supported"}, {95, "ENOTSUP", "operation not supported"}, {96, "EPFNOSUPPORT", "protocol family not supported"}, {97, "EAFNOSUPPORT", "address family not supported by protocol"}, {98, "EADDRINUSE", "address already in use"}, {99, "EADDRNOTAVAIL", "cannot assign requested address"}, {100, "ENETDOWN", "network is down"}, {101, "ENETUNREACH", "network is unreachable"}, {102, "ENETRESET", "network dropped connection on reset"}, {103, "ECONNABORTED", "software caused connection abort"}, {104, "ECONNRESET", "connection reset by peer"}, {105, "ENOBUFS", "no buffer space available"}, {106, "EISCONN", "transport endpoint is already connected"}, {107, "ENOTCONN", "transport endpoint is not connected"}, {108, "ESHUTDOWN", "cannot send after transport endpoint shutdown"}, {109, "ETOOMANYREFS", "too many references: cannot splice"}, {110, "ETIMEDOUT", "connection timed out"}, {111, "ECONNREFUSED", "connection refused"}, {112, "EHOSTDOWN", "host is down"}, {113, "EHOSTUNREACH", "no route to host"}, {114, "EALREADY", "operation already in progress"}, {115, "EINPROGRESS", "operation now in progress"}, {116, "ESTALE", "stale file handle"}, {117, "EUCLEAN", "structure needs cleaning"}, {118, "ENOTNAM", "not a XENIX named type file"}, {119, "ENAVAIL", "no XENIX semaphores available"}, {120, "EISNAM", "is a named type file"}, {121, "EREMOTEIO", "remote I/O error"}, {122, "EDQUOT", "disk quota exceeded"}, {123, "ENOMEDIUM", "no medium found"}, {124, "EMEDIUMTYPE", "wrong medium type"}, {125, "ECANCELED", "operation canceled"}, {126, "ENOKEY", "required key not available"}, {127, "EKEYEXPIRED", "key has expired"}, {128, "EKEYREVOKED", "key has been revoked"}, {129, "EKEYREJECTED", "key was rejected by service"}, {130, "EOWNERDEAD", "owner died"}, {131, "ENOTRECOVERABLE", "state not recoverable"}, {132, "ERFKILL", "operation not possible due to RF-kill"}, {133, "EHWPOISON", "memory page has hardware error"}, } // Signal table var signalList = [...]struct { num syscall.Signal name string desc string }{ {1, "SIGHUP", "hangup"}, {2, "SIGINT", "interrupt"}, {3, "SIGQUIT", "quit"}, {4, "SIGILL", "illegal instruction"}, {5, "SIGTRAP", "trace/breakpoint trap"}, {6, "SIGABRT", "aborted"}, {7, "SIGBUS", "bus error"}, {8, "SIGFPE", "floating point exception"}, {9, "SIGKILL", "killed"}, {10, "SIGUSR1", "user defined signal 1"}, {11, "SIGSEGV", "segmentation fault"}, {12, "SIGUSR2", "user defined signal 2"}, {13, "SIGPIPE", "broken pipe"}, {14, "SIGALRM", "alarm clock"}, {15, "SIGTERM", "terminated"}, {16, "SIGSTKFLT", "stack fault"}, {17, "SIGCHLD", "child exited"}, {18, "SIGCONT", "continued"}, {19, "SIGSTOP", "stopped (signal)"}, {20, "SIGTSTP", "stopped"}, {21, "SIGTTIN", "stopped (tty input)"}, {22, "SIGTTOU", "stopped (tty output)"}, {23, "SIGURG", "urgent I/O condition"}, {24, "SIGXCPU", "CPU time limit exceeded"}, {25, "SIGXFSZ", "file size limit exceeded"}, {26, "SIGVTALRM", "virtual timer expired"}, {27, "SIGPROF", "profiling timer expired"}, {28, "SIGWINCH", "window changed"}, {29, "SIGIO", "I/O possible"}, {30, "SIGPWR", "power failure"}, {31, "SIGSYS", "bad system call"}, } dependencies/pkg/mod/golang.org/x/sys@v0.26.0/unix/zerrors_linux_loong64.go0000644000000000000000000010430315107355264025436 0ustar rootroot// mkerrors.sh -Wall -Werror -static -I/tmp/loong64/include // Code generated by the command above; see README.md. DO NOT EDIT. //go:build loong64 && linux // Code generated by cmd/cgo -godefs; DO NOT EDIT. // cgo -godefs -- -Wall -Werror -static -I/tmp/loong64/include _const.go package unix import "syscall" const ( B1000000 = 0x1008 B115200 = 0x1002 B1152000 = 0x1009 B1500000 = 0x100a B2000000 = 0x100b B230400 = 0x1003 B2500000 = 0x100c B3000000 = 0x100d B3500000 = 0x100e B4000000 = 0x100f B460800 = 0x1004 B500000 = 0x1005 B57600 = 0x1001 B576000 = 0x1006 B921600 = 0x1007 BLKALIGNOFF = 0x127a BLKBSZGET = 0x80081270 BLKBSZSET = 0x40081271 BLKDISCARD = 0x1277 BLKDISCARDZEROES = 0x127c BLKFLSBUF = 0x1261 BLKFRAGET = 0x1265 BLKFRASET = 0x1264 BLKGETDISKSEQ = 0x80081280 BLKGETSIZE = 0x1260 BLKGETSIZE64 = 0x80081272 BLKIOMIN = 0x1278 BLKIOOPT = 0x1279 BLKPBSZGET = 0x127b BLKRAGET = 0x1263 BLKRASET = 0x1262 BLKROGET = 0x125e BLKROSET = 0x125d BLKROTATIONAL = 0x127e BLKRRPART = 0x125f BLKSECDISCARD = 0x127d BLKSECTGET = 0x1267 BLKSECTSET = 0x1266 BLKSSZGET = 0x1268 BLKZEROOUT = 0x127f BOTHER = 0x1000 BS1 = 0x2000 BSDLY = 0x2000 CBAUD = 0x100f CBAUDEX = 0x1000 CIBAUD = 0x100f0000 CLOCAL = 0x800 CR1 = 0x200 CR2 = 0x400 CR3 = 0x600 CRDLY = 0x600 CREAD = 0x80 CS6 = 0x10 CS7 = 0x20 CS8 = 0x30 CSIZE = 0x30 CSTOPB = 0x40 ECCGETLAYOUT = 0x81484d11 ECCGETSTATS = 0x80104d12 ECHOCTL = 0x200 ECHOE = 0x10 ECHOK = 0x20 ECHOKE = 0x800 ECHONL = 0x40 ECHOPRT = 0x400 EFD_CLOEXEC = 0x80000 EFD_NONBLOCK = 0x800 EPIOCGPARAMS = 0x80088a02 EPIOCSPARAMS = 0x40088a01 EPOLL_CLOEXEC = 0x80000 EXTPROC = 0x10000 FF1 = 0x8000 FFDLY = 0x8000 FICLONE = 0x40049409 FICLONERANGE = 0x4020940d FLUSHO = 0x1000 FPU_CTX_MAGIC = 0x46505501 FS_IOC_ENABLE_VERITY = 0x40806685 FS_IOC_GETFLAGS = 0x80086601 FS_IOC_GET_ENCRYPTION_NONCE = 0x8010661b FS_IOC_GET_ENCRYPTION_POLICY = 0x400c6615 FS_IOC_GET_ENCRYPTION_PWSALT = 0x40106614 FS_IOC_SETFLAGS = 0x40086602 FS_IOC_SET_ENCRYPTION_POLICY = 0x800c6613 F_GETLK = 0x5 F_GETLK64 = 0x5 F_GETOWN = 0x9 F_RDLCK = 0x0 F_SETLK = 0x6 F_SETLK64 = 0x6 F_SETLKW = 0x7 F_SETLKW64 = 0x7 F_SETOWN = 0x8 F_UNLCK = 0x2 F_WRLCK = 0x1 HIDIOCGRAWINFO = 0x80084803 HIDIOCGRDESC = 0x90044802 HIDIOCGRDESCSIZE = 0x80044801 HUPCL = 0x400 ICANON = 0x2 IEXTEN = 0x8000 IN_CLOEXEC = 0x80000 IN_NONBLOCK = 0x800 IOCTL_VM_SOCKETS_GET_LOCAL_CID = 0x7b9 ISIG = 0x1 IUCLC = 0x200 IXOFF = 0x1000 IXON = 0x400 LASX_CTX_MAGIC = 0x41535801 LBT_CTX_MAGIC = 0x42540001 LSX_CTX_MAGIC = 0x53580001 MAP_ANON = 0x20 MAP_ANONYMOUS = 0x20 MAP_DENYWRITE = 0x800 MAP_EXECUTABLE = 0x1000 MAP_GROWSDOWN = 0x100 MAP_HUGETLB = 0x40000 MAP_LOCKED = 0x2000 MAP_NONBLOCK = 0x10000 MAP_NORESERVE = 0x4000 MAP_POPULATE = 0x8000 MAP_STACK = 0x20000 MAP_SYNC = 0x80000 MCL_CURRENT = 0x1 MCL_FUTURE = 0x2 MCL_ONFAULT = 0x4 MEMERASE = 0x40084d02 MEMERASE64 = 0x40104d14 MEMGETBADBLOCK = 0x40084d0b MEMGETINFO = 0x80204d01 MEMGETOOBSEL = 0x80c84d0a MEMGETREGIONCOUNT = 0x80044d07 MEMISLOCKED = 0x80084d17 MEMLOCK = 0x40084d05 MEMREAD = 0xc0404d1a MEMREADOOB = 0xc0104d04 MEMSETBADBLOCK = 0x40084d0c MEMUNLOCK = 0x40084d06 MEMWRITEOOB = 0xc0104d03 MTDFILEMODE = 0x4d13 NFDBITS = 0x40 NLDLY = 0x100 NOFLSH = 0x80 NS_GET_MNTNS_ID = 0x8008b705 NS_GET_NSTYPE = 0xb703 NS_GET_OWNER_UID = 0xb704 NS_GET_PARENT = 0xb702 NS_GET_PID_FROM_PIDNS = 0x8004b706 NS_GET_PID_IN_PIDNS = 0x8004b708 NS_GET_TGID_FROM_PIDNS = 0x8004b707 NS_GET_TGID_IN_PIDNS = 0x8004b709 NS_GET_USERNS = 0xb701 OLCUC = 0x2 ONLCR = 0x4 OTPERASE = 0x400c4d19 OTPGETREGIONCOUNT = 0x40044d0e OTPGETREGIONINFO = 0x400c4d0f OTPLOCK = 0x800c4d10 OTPSELECT = 0x80044d0d 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_RSYNC = 0x101000 O_SYNC = 0x101000 O_TMPFILE = 0x410000 O_TRUNC = 0x200 PARENB = 0x100 PARODD = 0x200 PENDIN = 0x4000 PERF_EVENT_IOC_DISABLE = 0x2401 PERF_EVENT_IOC_ENABLE = 0x2400 PERF_EVENT_IOC_ID = 0x80082407 PERF_EVENT_IOC_MODIFY_ATTRIBUTES = 0x4008240b PERF_EVENT_IOC_PAUSE_OUTPUT = 0x40042409 PERF_EVENT_IOC_PERIOD = 0x40082404 PERF_EVENT_IOC_QUERY_BPF = 0xc008240a PERF_EVENT_IOC_REFRESH = 0x2402 PERF_EVENT_IOC_RESET = 0x2403 PERF_EVENT_IOC_SET_BPF = 0x40042408 PERF_EVENT_IOC_SET_FILTER = 0x40082406 PERF_EVENT_IOC_SET_OUTPUT = 0x2405 PPPIOCATTACH = 0x4004743d PPPIOCATTCHAN = 0x40047438 PPPIOCBRIDGECHAN = 0x40047435 PPPIOCCONNECT = 0x4004743a PPPIOCDETACH = 0x4004743c PPPIOCDISCONN = 0x7439 PPPIOCGASYNCMAP = 0x80047458 PPPIOCGCHAN = 0x80047437 PPPIOCGDEBUG = 0x80047441 PPPIOCGFLAGS = 0x8004745a PPPIOCGIDLE = 0x8010743f PPPIOCGIDLE32 = 0x8008743f PPPIOCGIDLE64 = 0x8010743f PPPIOCGL2TPSTATS = 0x80487436 PPPIOCGMRU = 0x80047453 PPPIOCGRASYNCMAP = 0x80047455 PPPIOCGUNIT = 0x80047456 PPPIOCGXASYNCMAP = 0x80207450 PPPIOCSACTIVE = 0x40107446 PPPIOCSASYNCMAP = 0x40047457 PPPIOCSCOMPRESS = 0x4010744d PPPIOCSDEBUG = 0x40047440 PPPIOCSFLAGS = 0x40047459 PPPIOCSMAXCID = 0x40047451 PPPIOCSMRRU = 0x4004743b PPPIOCSMRU = 0x40047452 PPPIOCSNPMODE = 0x4008744b PPPIOCSPASS = 0x40107447 PPPIOCSRASYNCMAP = 0x40047454 PPPIOCSXASYNCMAP = 0x4020744f PPPIOCUNBRIDGECHAN = 0x7434 PPPIOCXFERUNIT = 0x744e PR_SET_PTRACER_ANY = 0xffffffffffffffff PTRACE_SYSEMU = 0x1f PTRACE_SYSEMU_SINGLESTEP = 0x20 RLIMIT_AS = 0x9 RLIMIT_MEMLOCK = 0x8 RLIMIT_NOFILE = 0x7 RLIMIT_NPROC = 0x6 RLIMIT_RSS = 0x5 RNDADDENTROPY = 0x40085203 RNDADDTOENTCNT = 0x40045201 RNDCLEARPOOL = 0x5206 RNDGETENTCNT = 0x80045200 RNDGETPOOL = 0x80085202 RNDRESEEDCRNG = 0x5207 RNDZAPENTCNT = 0x5204 RTC_AIE_OFF = 0x7002 RTC_AIE_ON = 0x7001 RTC_ALM_READ = 0x80247008 RTC_ALM_SET = 0x40247007 RTC_EPOCH_READ = 0x8008700d RTC_EPOCH_SET = 0x4008700e RTC_IRQP_READ = 0x8008700b RTC_IRQP_SET = 0x4008700c RTC_PARAM_GET = 0x40187013 RTC_PARAM_SET = 0x40187014 RTC_PIE_OFF = 0x7006 RTC_PIE_ON = 0x7005 RTC_PLL_GET = 0x80207011 RTC_PLL_SET = 0x40207012 RTC_RD_TIME = 0x80247009 RTC_SET_TIME = 0x4024700a RTC_UIE_OFF = 0x7004 RTC_UIE_ON = 0x7003 RTC_VL_CLR = 0x7014 RTC_VL_READ = 0x80047013 RTC_WIE_OFF = 0x7010 RTC_WIE_ON = 0x700f RTC_WKALM_RD = 0x80287010 RTC_WKALM_SET = 0x4028700f SCM_TIMESTAMPING = 0x25 SCM_TIMESTAMPING_OPT_STATS = 0x36 SCM_TIMESTAMPING_PKTINFO = 0x3a SCM_TIMESTAMPNS = 0x23 SCM_TXTIME = 0x3d SCM_WIFI_STATUS = 0x29 SECCOMP_IOCTL_NOTIF_ADDFD = 0x40182103 SECCOMP_IOCTL_NOTIF_ID_VALID = 0x40082102 SECCOMP_IOCTL_NOTIF_SET_FLAGS = 0x40082104 SFD_CLOEXEC = 0x80000 SFD_NONBLOCK = 0x800 SIOCATMARK = 0x8905 SIOCGPGRP = 0x8904 SIOCGSTAMPNS_NEW = 0x80108907 SIOCGSTAMP_NEW = 0x80108906 SIOCINQ = 0x541b SIOCOUTQ = 0x5411 SIOCSPGRP = 0x8902 SOCK_CLOEXEC = 0x80000 SOCK_DGRAM = 0x2 SOCK_NONBLOCK = 0x800 SOCK_STREAM = 0x1 SOL_SOCKET = 0x1 SO_ACCEPTCONN = 0x1e SO_ATTACH_BPF = 0x32 SO_ATTACH_REUSEPORT_CBPF = 0x33 SO_ATTACH_REUSEPORT_EBPF = 0x34 SO_BINDTODEVICE = 0x19 SO_BINDTOIFINDEX = 0x3e SO_BPF_EXTENSIONS = 0x30 SO_BROADCAST = 0x6 SO_BSDCOMPAT = 0xe SO_BUF_LOCK = 0x48 SO_BUSY_POLL = 0x2e SO_BUSY_POLL_BUDGET = 0x46 SO_CNX_ADVICE = 0x35 SO_COOKIE = 0x39 SO_DETACH_REUSEPORT_BPF = 0x44 SO_DOMAIN = 0x27 SO_DONTROUTE = 0x5 SO_ERROR = 0x4 SO_INCOMING_CPU = 0x31 SO_INCOMING_NAPI_ID = 0x38 SO_KEEPALIVE = 0x9 SO_LINGER = 0xd SO_LOCK_FILTER = 0x2c SO_MARK = 0x24 SO_MAX_PACING_RATE = 0x2f SO_MEMINFO = 0x37 SO_NETNS_COOKIE = 0x47 SO_NOFCS = 0x2b SO_OOBINLINE = 0xa SO_PASSCRED = 0x10 SO_PASSPIDFD = 0x4c SO_PASSSEC = 0x22 SO_PEEK_OFF = 0x2a SO_PEERCRED = 0x11 SO_PEERGROUPS = 0x3b SO_PEERPIDFD = 0x4d SO_PEERSEC = 0x1f SO_PREFER_BUSY_POLL = 0x45 SO_PROTOCOL = 0x26 SO_RCVBUF = 0x8 SO_RCVBUFFORCE = 0x21 SO_RCVLOWAT = 0x12 SO_RCVMARK = 0x4b SO_RCVTIMEO = 0x14 SO_RCVTIMEO_NEW = 0x42 SO_RCVTIMEO_OLD = 0x14 SO_RESERVE_MEM = 0x49 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_SNDTIMEO_NEW = 0x43 SO_SNDTIMEO_OLD = 0x15 SO_TIMESTAMPING = 0x25 SO_TIMESTAMPING_NEW = 0x41 SO_TIMESTAMPING_OLD = 0x25 SO_TIMESTAMPNS = 0x23 SO_TIMESTAMPNS_NEW = 0x40 SO_TIMESTAMPNS_OLD = 0x23 SO_TIMESTAMP_NEW = 0x3f SO_TXREHASH = 0x4a SO_TXTIME = 0x3d SO_TYPE = 0x3 SO_WIFI_STATUS = 0x29 SO_ZEROCOPY = 0x3c TAB1 = 0x800 TAB2 = 0x1000 TAB3 = 0x1800 TABDLY = 0x1800 TCFLSH = 0x540b TCGETA = 0x5405 TCGETS = 0x5401 TCGETS2 = 0x802c542a TCGETX = 0x5432 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 TFD_CLOEXEC = 0x80000 TFD_NONBLOCK = 0x800 TIOCCBRK = 0x5428 TIOCCONS = 0x541d TIOCEXCL = 0x540c TIOCGDEV = 0x80045432 TIOCGETD = 0x5424 TIOCGEXCL = 0x80045440 TIOCGICOUNT = 0x545d TIOCGISO7816 = 0x80285442 TIOCGLCKTRMIOS = 0x5456 TIOCGPGRP = 0x540f TIOCGPKT = 0x80045438 TIOCGPTLCK = 0x80045439 TIOCGPTN = 0x80045430 TIOCGPTPEER = 0x5441 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_RI = 0x80 TIOCM_RNG = 0x80 TIOCM_SR = 0x10 TIOCM_ST = 0x8 TIOCNOTTY = 0x5422 TIOCNXCL = 0x540d TIOCOUTQ = 0x5411 TIOCPKT = 0x5420 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 TIOCSISO7816 = 0xc0285443 TIOCSLCKTRMIOS = 0x5457 TIOCSPGRP = 0x5410 TIOCSPTLCK = 0x40045431 TIOCSRS485 = 0x542f TIOCSSERIAL = 0x541f TIOCSSOFTCAR = 0x541a TIOCSTI = 0x5412 TIOCSWINSZ = 0x5414 TIOCVHANGUP = 0x5437 TOSTOP = 0x100 TUNATTACHFILTER = 0x401054d5 TUNDETACHFILTER = 0x401054d6 TUNGETDEVNETNS = 0x54e3 TUNGETFEATURES = 0x800454cf TUNGETFILTER = 0x801054db TUNGETIFF = 0x800454d2 TUNGETSNDBUF = 0x800454d3 TUNGETVNETBE = 0x800454df TUNGETVNETHDRSZ = 0x800454d7 TUNGETVNETLE = 0x800454dd TUNSETCARRIER = 0x400454e2 TUNSETDEBUG = 0x400454c9 TUNSETFILTEREBPF = 0x800454e1 TUNSETGROUP = 0x400454ce TUNSETIFF = 0x400454ca TUNSETIFINDEX = 0x400454da TUNSETLINK = 0x400454cd TUNSETNOCSUM = 0x400454c8 TUNSETOFFLOAD = 0x400454d0 TUNSETOWNER = 0x400454cc TUNSETPERSIST = 0x400454cb TUNSETQUEUE = 0x400454d9 TUNSETSNDBUF = 0x400454d4 TUNSETSTEERINGEBPF = 0x800454e0 TUNSETTXFILTER = 0x400454d1 TUNSETVNETBE = 0x400454de TUNSETVNETHDRSZ = 0x400454d8 TUNSETVNETLE = 0x400454dc UBI_IOCATT = 0x40186f40 UBI_IOCDET = 0x40046f41 UBI_IOCEBCH = 0x40044f02 UBI_IOCEBER = 0x40044f01 UBI_IOCEBISMAP = 0x80044f05 UBI_IOCEBMAP = 0x40084f03 UBI_IOCEBUNMAP = 0x40044f04 UBI_IOCMKVOL = 0x40986f00 UBI_IOCRMVOL = 0x40046f01 UBI_IOCRNVOL = 0x51106f03 UBI_IOCRPEB = 0x40046f04 UBI_IOCRSVOL = 0x400c6f02 UBI_IOCSETVOLPROP = 0x40104f06 UBI_IOCSPEB = 0x40046f05 UBI_IOCVOLCRBLK = 0x40804f07 UBI_IOCVOLRMBLK = 0x4f08 UBI_IOCVOLUP = 0x40084f00 VDISCARD = 0xd VEOF = 0x4 VEOL = 0xb VEOL2 = 0x10 VMIN = 0x6 VREPRINT = 0xc VSTART = 0x8 VSTOP = 0x9 VSUSP = 0xa VSWTC = 0x7 VT1 = 0x4000 VTDLY = 0x4000 VTIME = 0x5 VWERASE = 0xe WDIOC_GETBOOTSTATUS = 0x80045702 WDIOC_GETPRETIMEOUT = 0x80045709 WDIOC_GETSTATUS = 0x80045701 WDIOC_GETSUPPORT = 0x80285700 WDIOC_GETTEMP = 0x80045703 WDIOC_GETTIMELEFT = 0x8004570a WDIOC_GETTIMEOUT = 0x80045707 WDIOC_KEEPALIVE = 0x80045705 WDIOC_SETOPTIONS = 0x80045704 WORDSIZE = 0x40 XCASE = 0x4 XTABS = 0x1800 _HIDIOCGRAWNAME = 0x80804804 _HIDIOCGRAWPHYS = 0x80404805 _HIDIOCGRAWUNIQ = 0x80404808 ) // Errors const ( EADDRINUSE = syscall.Errno(0x62) EADDRNOTAVAIL = syscall.Errno(0x63) EADV = syscall.Errno(0x44) EAFNOSUPPORT = syscall.Errno(0x61) EALREADY = syscall.Errno(0x72) EBADE = syscall.Errno(0x34) EBADFD = syscall.Errno(0x4d) EBADMSG = syscall.Errno(0x4a) EBADR = syscall.Errno(0x35) EBADRQC = syscall.Errno(0x38) EBADSLT = syscall.Errno(0x39) EBFONT = syscall.Errno(0x3b) ECANCELED = syscall.Errno(0x7d) 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) EDOTDOT = syscall.Errno(0x49) EDQUOT = syscall.Errno(0x7a) EHOSTDOWN = syscall.Errno(0x70) EHOSTUNREACH = syscall.Errno(0x71) EHWPOISON = syscall.Errno(0x85) EIDRM = syscall.Errno(0x2b) EILSEQ = syscall.Errno(0x54) EINPROGRESS = syscall.Errno(0x73) EISCONN = syscall.Errno(0x6a) 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) 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) ENOANO = syscall.Errno(0x37) ENOBUFS = syscall.Errno(0x69) ENOCSI = syscall.Errno(0x32) ENODATA = syscall.Errno(0x3d) ENOKEY = syscall.Errno(0x7e) ENOLCK = syscall.Errno(0x25) ENOLINK = syscall.Errno(0x43) ENOMEDIUM = syscall.Errno(0x7b) ENOMSG = syscall.Errno(0x2a) ENONET = syscall.Errno(0x40) ENOPKG = syscall.Errno(0x41) ENOPROTOOPT = syscall.Errno(0x5c) ENOSR = syscall.Errno(0x3f) ENOSTR = syscall.Errno(0x3c) ENOSYS = syscall.Errno(0x26) ENOTCONN = syscall.Errno(0x6b) ENOTEMPTY = syscall.Errno(0x27) ENOTNAM = syscall.Errno(0x76) ENOTRECOVERABLE = syscall.Errno(0x83) ENOTSOCK = syscall.Errno(0x58) ENOTSUP = syscall.Errno(0x5f) ENOTUNIQ = syscall.Errno(0x4c) EOPNOTSUPP = syscall.Errno(0x5f) EOVERFLOW = syscall.Errno(0x4b) EOWNERDEAD = syscall.Errno(0x82) EPFNOSUPPORT = syscall.Errno(0x60) EPROTO = syscall.Errno(0x47) EPROTONOSUPPORT = syscall.Errno(0x5d) EPROTOTYPE = syscall.Errno(0x5b) EREMCHG = syscall.Errno(0x4e) EREMOTE = syscall.Errno(0x42) EREMOTEIO = syscall.Errno(0x79) ERESTART = syscall.Errno(0x55) ERFKILL = syscall.Errno(0x84) ESHUTDOWN = syscall.Errno(0x6c) ESOCKTNOSUPPORT = syscall.Errno(0x5e) ESRMNT = syscall.Errno(0x45) ESTALE = syscall.Errno(0x74) ESTRPIPE = syscall.Errno(0x56) ETIME = syscall.Errno(0x3e) ETIMEDOUT = syscall.Errno(0x6e) ETOOMANYREFS = syscall.Errno(0x6d) EUCLEAN = syscall.Errno(0x75) EUNATCH = syscall.Errno(0x31) EUSERS = syscall.Errno(0x57) EXFULL = syscall.Errno(0x36) ) // Signals const ( SIGBUS = syscall.Signal(0x7) SIGCHLD = syscall.Signal(0x11) SIGCLD = syscall.Signal(0x11) SIGCONT = syscall.Signal(0x12) SIGIO = syscall.Signal(0x1d) SIGPOLL = syscall.Signal(0x1d) SIGPROF = syscall.Signal(0x1b) SIGPWR = syscall.Signal(0x1e) SIGSTKFLT = syscall.Signal(0x10) SIGSTOP = syscall.Signal(0x13) SIGSYS = syscall.Signal(0x1f) SIGTSTP = syscall.Signal(0x14) SIGTTIN = syscall.Signal(0x15) SIGTTOU = syscall.Signal(0x16) 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 errorList = [...]struct { num syscall.Errno name string desc string }{ {1, "EPERM", "operation not permitted"}, {2, "ENOENT", "no such file or directory"}, {3, "ESRCH", "no such process"}, {4, "EINTR", "interrupted system call"}, {5, "EIO", "input/output error"}, {6, "ENXIO", "no such device or address"}, {7, "E2BIG", "argument list too long"}, {8, "ENOEXEC", "exec format error"}, {9, "EBADF", "bad file descriptor"}, {10, "ECHILD", "no child processes"}, {11, "EAGAIN", "resource temporarily unavailable"}, {12, "ENOMEM", "cannot allocate memory"}, {13, "EACCES", "permission denied"}, {14, "EFAULT", "bad address"}, {15, "ENOTBLK", "block device required"}, {16, "EBUSY", "device or resource busy"}, {17, "EEXIST", "file exists"}, {18, "EXDEV", "invalid cross-device link"}, {19, "ENODEV", "no such device"}, {20, "ENOTDIR", "not a directory"}, {21, "EISDIR", "is a directory"}, {22, "EINVAL", "invalid argument"}, {23, "ENFILE", "too many open files in system"}, {24, "EMFILE", "too many open files"}, {25, "ENOTTY", "inappropriate ioctl for device"}, {26, "ETXTBSY", "text file busy"}, {27, "EFBIG", "file too large"}, {28, "ENOSPC", "no space left on device"}, {29, "ESPIPE", "illegal seek"}, {30, "EROFS", "read-only file system"}, {31, "EMLINK", "too many links"}, {32, "EPIPE", "broken pipe"}, {33, "EDOM", "numerical argument out of domain"}, {34, "ERANGE", "numerical result out of range"}, {35, "EDEADLK", "resource deadlock avoided"}, {36, "ENAMETOOLONG", "file name too long"}, {37, "ENOLCK", "no locks available"}, {38, "ENOSYS", "function not implemented"}, {39, "ENOTEMPTY", "directory not empty"}, {40, "ELOOP", "too many levels of symbolic links"}, {42, "ENOMSG", "no message of desired type"}, {43, "EIDRM", "identifier removed"}, {44, "ECHRNG", "channel number out of range"}, {45, "EL2NSYNC", "level 2 not synchronized"}, {46, "EL3HLT", "level 3 halted"}, {47, "EL3RST", "level 3 reset"}, {48, "ELNRNG", "link number out of range"}, {49, "EUNATCH", "protocol driver not attached"}, {50, "ENOCSI", "no CSI structure available"}, {51, "EL2HLT", "level 2 halted"}, {52, "EBADE", "invalid exchange"}, {53, "EBADR", "invalid request descriptor"}, {54, "EXFULL", "exchange full"}, {55, "ENOANO", "no anode"}, {56, "EBADRQC", "invalid request code"}, {57, "EBADSLT", "invalid slot"}, {59, "EBFONT", "bad font file format"}, {60, "ENOSTR", "device not a stream"}, {61, "ENODATA", "no data available"}, {62, "ETIME", "timer expired"}, {63, "ENOSR", "out of streams resources"}, {64, "ENONET", "machine is not on the network"}, {65, "ENOPKG", "package not installed"}, {66, "EREMOTE", "object is remote"}, {67, "ENOLINK", "link has been severed"}, {68, "EADV", "advertise error"}, {69, "ESRMNT", "srmount error"}, {70, "ECOMM", "communication error on send"}, {71, "EPROTO", "protocol error"}, {72, "EMULTIHOP", "multihop attempted"}, {73, "EDOTDOT", "RFS specific error"}, {74, "EBADMSG", "bad message"}, {75, "EOVERFLOW", "value too large for defined data type"}, {76, "ENOTUNIQ", "name not unique on network"}, {77, "EBADFD", "file descriptor in bad state"}, {78, "EREMCHG", "remote address changed"}, {79, "ELIBACC", "can not access a needed shared library"}, {80, "ELIBBAD", "accessing a corrupted shared library"}, {81, "ELIBSCN", ".lib section in a.out corrupted"}, {82, "ELIBMAX", "attempting to link in too many shared libraries"}, {83, "ELIBEXEC", "cannot exec a shared library directly"}, {84, "EILSEQ", "invalid or incomplete multibyte or wide character"}, {85, "ERESTART", "interrupted system call should be restarted"}, {86, "ESTRPIPE", "streams pipe error"}, {87, "EUSERS", "too many users"}, {88, "ENOTSOCK", "socket operation on non-socket"}, {89, "EDESTADDRREQ", "destination address required"}, {90, "EMSGSIZE", "message too long"}, {91, "EPROTOTYPE", "protocol wrong type for socket"}, {92, "ENOPROTOOPT", "protocol not available"}, {93, "EPROTONOSUPPORT", "protocol not supported"}, {94, "ESOCKTNOSUPPORT", "socket type not supported"}, {95, "ENOTSUP", "operation not supported"}, {96, "EPFNOSUPPORT", "protocol family not supported"}, {97, "EAFNOSUPPORT", "address family not supported by protocol"}, {98, "EADDRINUSE", "address already in use"}, {99, "EADDRNOTAVAIL", "cannot assign requested address"}, {100, "ENETDOWN", "network is down"}, {101, "ENETUNREACH", "network is unreachable"}, {102, "ENETRESET", "network dropped connection on reset"}, {103, "ECONNABORTED", "software caused connection abort"}, {104, "ECONNRESET", "connection reset by peer"}, {105, "ENOBUFS", "no buffer space available"}, {106, "EISCONN", "transport endpoint is already connected"}, {107, "ENOTCONN", "transport endpoint is not connected"}, {108, "ESHUTDOWN", "cannot send after transport endpoint shutdown"}, {109, "ETOOMANYREFS", "too many references: cannot splice"}, {110, "ETIMEDOUT", "connection timed out"}, {111, "ECONNREFUSED", "connection refused"}, {112, "EHOSTDOWN", "host is down"}, {113, "EHOSTUNREACH", "no route to host"}, {114, "EALREADY", "operation already in progress"}, {115, "EINPROGRESS", "operation now in progress"}, {116, "ESTALE", "stale file handle"}, {117, "EUCLEAN", "structure needs cleaning"}, {118, "ENOTNAM", "not a XENIX named type file"}, {119, "ENAVAIL", "no XENIX semaphores available"}, {120, "EISNAM", "is a named type file"}, {121, "EREMOTEIO", "remote I/O error"}, {122, "EDQUOT", "disk quota exceeded"}, {123, "ENOMEDIUM", "no medium found"}, {124, "EMEDIUMTYPE", "wrong medium type"}, {125, "ECANCELED", "operation canceled"}, {126, "ENOKEY", "required key not available"}, {127, "EKEYEXPIRED", "key has expired"}, {128, "EKEYREVOKED", "key has been revoked"}, {129, "EKEYREJECTED", "key was rejected by service"}, {130, "EOWNERDEAD", "owner died"}, {131, "ENOTRECOVERABLE", "state not recoverable"}, {132, "ERFKILL", "operation not possible due to RF-kill"}, {133, "EHWPOISON", "memory page has hardware error"}, } // Signal table var signalList = [...]struct { num syscall.Signal name string desc string }{ {1, "SIGHUP", "hangup"}, {2, "SIGINT", "interrupt"}, {3, "SIGQUIT", "quit"}, {4, "SIGILL", "illegal instruction"}, {5, "SIGTRAP", "trace/breakpoint trap"}, {6, "SIGABRT", "aborted"}, {7, "SIGBUS", "bus error"}, {8, "SIGFPE", "floating point exception"}, {9, "SIGKILL", "killed"}, {10, "SIGUSR1", "user defined signal 1"}, {11, "SIGSEGV", "segmentation fault"}, {12, "SIGUSR2", "user defined signal 2"}, {13, "SIGPIPE", "broken pipe"}, {14, "SIGALRM", "alarm clock"}, {15, "SIGTERM", "terminated"}, {16, "SIGSTKFLT", "stack fault"}, {17, "SIGCHLD", "child exited"}, {18, "SIGCONT", "continued"}, {19, "SIGSTOP", "stopped (signal)"}, {20, "SIGTSTP", "stopped"}, {21, "SIGTTIN", "stopped (tty input)"}, {22, "SIGTTOU", "stopped (tty output)"}, {23, "SIGURG", "urgent I/O condition"}, {24, "SIGXCPU", "CPU time limit exceeded"}, {25, "SIGXFSZ", "file size limit exceeded"}, {26, "SIGVTALRM", "virtual timer expired"}, {27, "SIGPROF", "profiling timer expired"}, {28, "SIGWINCH", "window changed"}, {29, "SIGIO", "I/O possible"}, {30, "SIGPWR", "power failure"}, {31, "SIGSYS", "bad system call"}, } dependencies/pkg/mod/golang.org/x/sys@v0.26.0/unix/syscall_linux_riscv64.go0000644000000000000000000001424515107355264025417 0ustar rootroot// Copyright 2018 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:build riscv64 && linux package unix import "unsafe" //sys EpollWait(epfd int, events []EpollEvent, msec int) (n int, err error) = SYS_EPOLL_PWAIT //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 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 MemfdSecret(flags int) (fd 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 func Select(nfd int, r *FdSet, w *FdSet, e *FdSet, timeout *Timeval) (n int, err error) { var ts *Timespec if timeout != nil { ts = &Timespec{Sec: timeout.Sec, Nsec: timeout.Usec * 1000} } return pselect6(nfd, r, w, e, ts, nil) } //sys sendfile(outfd int, infd int, offset *int64, count int) (written int, err error) //sys setfsgid(gid int) (prev int, err error) //sys setfsuid(uid int) (prev 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) func Ustat(dev int, ubuf *Ustat_t) (err error) { return ENOSYS } //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) //sysnb Gettimeofday(tv *Timeval) (err error) func setTimespec(sec, nsec int64) Timespec { return Timespec{Sec: sec, Nsec: nsec} } func setTimeval(sec, usec int64) Timeval { return Timeval{Sec: sec, Usec: usec} } func futimesat(dirfd int, path string, tv *[2]Timeval) (err error) { if tv == nil { return utimensat(dirfd, path, nil, 0) } ts := []Timespec{ NsecToTimespec(TimevalToNsec(tv[0])), NsecToTimespec(TimevalToNsec(tv[1])), } return utimensat(dirfd, path, (*[2]Timespec)(unsafe.Pointer(&ts[0])), 0) } 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 utimes(path string, tv *[2]Timeval) (err error) { if tv == nil { return utimensat(AT_FDCWD, path, nil, 0) } ts := []Timespec{ NsecToTimespec(TimevalToNsec(tv[0])), NsecToTimespec(TimevalToNsec(tv[1])), } return utimensat(AT_FDCWD, path, (*[2]Timespec)(unsafe.Pointer(&ts[0])), 0) } 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 (msghdr *Msghdr) SetIovlen(length int) { msghdr.Iovlen = uint64(length) } func (cmsg *Cmsghdr) SetLen(length int) { cmsg.Len = uint64(length) } func (rsa *RawSockaddrNFCLLCP) SetServiceNameLen(length int) { rsa.Service_name_len = uint64(length) } func Pause() error { _, err := ppoll(nil, 0, nil, nil) return err } func Renameat(olddirfd int, oldpath string, newdirfd int, newpath string) (err error) { return Renameat2(olddirfd, oldpath, newdirfd, newpath, 0) } //sys kexecFileLoad(kernelFd int, initrdFd int, cmdlineLen int, cmdline string, flags int) (err error) func KexecFileLoad(kernelFd int, initrdFd int, cmdline string, flags int) error { cmdlineLen := len(cmdline) if cmdlineLen > 0 { // Account for the additional NULL byte added by // BytePtrFromString in kexecFileLoad. The kexec_file_load // syscall expects a NULL-terminated string. cmdlineLen++ } return kexecFileLoad(kernelFd, initrdFd, cmdlineLen, cmdline, flags) } //sys riscvHWProbe(pairs []RISCVHWProbePairs, cpuCount uintptr, cpus *CPUSet, flags uint) (err error) func RISCVHWProbe(pairs []RISCVHWProbePairs, set *CPUSet, flags uint) (err error) { var setSize uintptr if set != nil { setSize = uintptr(unsafe.Sizeof(*set)) } return riscvHWProbe(pairs, setSize, set, flags) } const SYS_FSTATAT = SYS_NEWFSTATAT dependencies/pkg/mod/golang.org/x/sys@v0.26.0/unix/ztypes_darwin_arm64.go0000644000000000000000000003115015107355264025053 0ustar rootroot// cgo -godefs types_darwin.go | go run mkpost.go // Code generated by the command above; see README.md. DO NOT EDIT. //go:build arm64 && darwin 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 _ [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 Atim Timespec Mtim Timespec Ctim Timespec Btim 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]byte Mntonname [1024]byte Mntfromname [1024]byte Flags_ext uint32 Reserved [7]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 _ [4]byte } type Fbootstraptransfer_t struct { Offset int64 Length uint64 Buffer *byte } type Log2phys_t struct { Flags uint32 _ [16]byte } type Fsid struct { Val [2]int32 } type Dirent struct { Ino uint64 Seekoff uint64 Reclen uint16 Namlen uint16 Type uint8 Name [1024]int8 _ [3]byte } type Attrlist struct { Bitmapcount uint16 Reserved uint16 Commonattr uint32 Volattr uint32 Dirattr uint32 Fileattr uint32 Forkattr uint32 } const ( PathMax = 0x400 ) 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 RawSockaddrCtl struct { Sc_len uint8 Sc_family uint8 Ss_sysaddr uint16 Sc_id uint32 Sc_unit uint32 Sc_reserved [5]uint32 } type RawSockaddrVM struct { Len uint8 Family uint8 Reserved1 uint16 Port uint32 Cid uint32 } type XVSockPCB struct { Xv_len uint32 Xv_vsockpp uint64 Xvp_local_cid uint32 Xvp_local_port uint32 Xvp_remote_cid uint32 Xvp_remote_port uint32 Xvp_rxcnt uint32 Xvp_txcnt uint32 Xvp_peer_rxhiwat uint32 Xvp_peer_rxcnt uint32 Xvp_last_pid int32 Xvp_gencnt uint64 Xv_socket XSocket _ [4]byte } type XSocket struct { Xso_len uint32 Xso_so uint32 So_type int16 So_options int16 So_linger int16 So_state int16 So_pcb uint32 Xso_protocol int32 Xso_family int32 So_qlen int16 So_incqlen int16 So_qlimit int16 So_timeo int16 So_error uint16 So_pgid int32 So_oobmark uint32 So_rcv XSockbuf So_snd XSockbuf So_uid uint32 } type XSocket64 struct { Xso_len uint32 _ [8]byte So_type int16 So_options int16 So_linger int16 So_state int16 _ [8]byte Xso_protocol int32 Xso_family int32 So_qlen int16 So_incqlen int16 So_qlimit int16 So_timeo int16 So_error uint16 So_pgid int32 So_oobmark uint32 So_rcv XSockbuf So_snd XSockbuf So_uid uint32 } type XSockbuf struct { Cc uint32 Hiwat uint32 Mbcnt uint32 Mbmax uint32 Lowat int32 Flags int16 Timeo int16 } type XVSockPgen struct { Len uint32 Count uint64 Gen uint64 Sogen uint64 } type _Socklen uint32 type SaeAssocID uint32 type SaeConnID uint32 type SaEndpoints struct { Srcif uint32 Srcaddr *RawSockaddr Srcaddrlen uint32 Dstaddr *RawSockaddr Dstaddrlen uint32 _ [4]byte } type Xucred struct { Version uint32 Uid uint32 Ngroups int16 Groups [16]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 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 } type TCPConnectionInfo struct { State uint8 Snd_wscale uint8 Rcv_wscale uint8 _ uint8 Options uint32 Flags uint32 Rto uint32 Maxseg uint32 Snd_ssthresh uint32 Snd_cwnd uint32 Snd_wnd uint32 Snd_sbbytes uint32 Rcv_wnd uint32 Rttcur uint32 Srtt uint32 Rttvar uint32 Txpackets uint64 Txbytes uint64 Txretransmitbytes uint64 Rxpackets uint64 Rxbytes uint64 Rxoutoforderbytes uint64 Txretransmitpackets uint64 } const ( SizeofSockaddrInet4 = 0x10 SizeofSockaddrInet6 = 0x1c SizeofSockaddrAny = 0x6c SizeofSockaddrUnix = 0x6a SizeofSockaddrDatalink = 0x14 SizeofSockaddrCtl = 0x20 SizeofSockaddrVM = 0xc SizeofXvsockpcb = 0xa8 SizeofXSocket = 0x64 SizeofXSockbuf = 0x18 SizeofXVSockPgen = 0x20 SizeofXucred = 0x4c SizeofLinger = 0x8 SizeofIovec = 0x10 SizeofIPMreq = 0x8 SizeofIPMreqn = 0xc SizeofIPv6Mreq = 0x14 SizeofMsghdr = 0x30 SizeofCmsghdr = 0xc SizeofInet4Pktinfo = 0xc SizeofInet6Pktinfo = 0x14 SizeofIPv6MTUInfo = 0x20 SizeofICMPv6Filter = 0x20 SizeofTCPConnectionInfo = 0x70 ) 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 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 Metric int32 } type IfmaMsghdr struct { Msglen uint16 Version uint8 Type uint8 Addrs int32 Flags int32 Index uint16 _ [2]byte } type IfmaMsghdr2 struct { Msglen uint16 Version uint8 Type uint8 Addrs int32 Flags int32 Index uint16 Refcount int32 } type RtMsghdr struct { Msglen uint16 Version uint8 Type uint8 Index uint16 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 State uint32 Filler [3]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 Insns *BpfInsn } type BpfInsn struct { Code uint16 Jt uint8 Jf uint8 K uint32 } type BpfHdr struct { Tstamp Timeval32 Caplen uint32 Datalen uint32 Hdrlen uint16 _ [2]byte } type Termios struct { Iflag uint64 Oflag uint64 Cflag uint64 Lflag uint64 Cc [20]uint8 Ispeed uint64 Ospeed uint64 } type Winsize struct { Row uint16 Col uint16 Xpixel uint16 Ypixel uint16 } const ( AT_FDCWD = -0x2 AT_REMOVEDIR = 0x80 AT_SYMLINK_FOLLOW = 0x40 AT_SYMLINK_NOFOLLOW = 0x20 AT_EACCESS = 0x10 ) type PollFd struct { Fd int32 Events int16 Revents int16 } const ( POLLERR = 0x8 POLLHUP = 0x10 POLLIN = 0x1 POLLNVAL = 0x20 POLLOUT = 0x4 POLLPRI = 0x2 POLLRDBAND = 0x80 POLLRDNORM = 0x40 POLLWRBAND = 0x100 POLLWRNORM = 0x4 ) type Utsname struct { Sysname [256]byte Nodename [256]byte Release [256]byte Version [256]byte Machine [256]byte } const SizeofClockinfo = 0x14 type Clockinfo struct { Hz int32 Tick int32 Tickadj int32 Stathz int32 Profhz int32 } type CtlInfo struct { Id uint32 Name [96]byte } const SizeofKinfoProc = 0x288 type Eproc struct { Paddr uintptr Sess uintptr Pcred Pcred Ucred Ucred Vm Vmspace Ppid int32 Pgid int32 Jobc int16 Tdev int32 Tpgid int32 Tsess uintptr Wmesg [8]byte Xsize int32 Xrssize int16 Xccount int16 Xswrss int16 Flag int32 Login [12]byte Spare [4]int32 _ [4]byte } type ExternProc struct { P_starttime Timeval P_vmspace *Vmspace P_sigacts uintptr P_flag int32 P_stat int8 P_pid int32 P_oppid int32 P_dupfd int32 User_stack *int8 Exit_thread *byte P_debugger int32 Sigwait int32 P_estcpu uint32 P_cpticks int32 P_pctcpu uint32 P_wchan *byte P_wmesg *int8 P_swtime uint32 P_slptime uint32 P_realtimer Itimerval P_rtime Timeval P_uticks uint64 P_sticks uint64 P_iticks uint64 P_traceflag int32 P_tracep uintptr P_siglist int32 P_textvp uintptr P_holdcnt int32 P_sigmask uint32 P_sigignore uint32 P_sigcatch uint32 P_priority uint8 P_usrpri uint8 P_nice int8 P_comm [17]byte P_pgrp uintptr P_addr uintptr P_xstat uint16 P_acflag uint16 P_ru *Rusage } type Itimerval struct { Interval Timeval Value Timeval } type KinfoProc struct { Proc ExternProc Eproc Eproc } type Vmspace struct { Dummy int32 Dummy2 *int8 Dummy3 [5]int32 Dummy4 [3]*int8 } type Pcred struct { Pc_lock [72]int8 Pc_ucred uintptr P_ruid uint32 P_svuid uint32 P_rgid uint32 P_svgid uint32 P_refcnt int32 _ [4]byte } type Ucred struct { Ref int32 Uid uint32 Ngroups int16 Groups [16]uint32 } type SysvIpcPerm struct { Uid uint32 Gid uint32 Cuid uint32 Cgid uint32 Mode uint16 _ uint16 _ int32 } type SysvShmDesc struct { Perm SysvIpcPerm Segsz uint64 Lpid int32 Cpid int32 Nattch uint16 _ [34]byte } const ( IPC_CREAT = 0x200 IPC_EXCL = 0x400 IPC_NOWAIT = 0x800 IPC_PRIVATE = 0x0 ) const ( IPC_RMID = 0x0 IPC_SET = 0x1 IPC_STAT = 0x2 ) const ( SHM_RDONLY = 0x1000 SHM_RND = 0x2000 ) dependencies/pkg/mod/golang.org/x/sys@v0.26.0/unix/zsysnum_linux_arm64.go0000644000000000000000000002603415107355264025125 0ustar rootroot// go run linux/mksysnum.go -Wall -Werror -static -I/tmp/arm64/include -fsigned-char /tmp/arm64/include/asm/unistd.h // Code generated by the command above; see README.md. DO NOT EDIT. //go: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_NEWFSTATAT = 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 SYS_STATX = 291 SYS_IO_PGETEVENTS = 292 SYS_RSEQ = 293 SYS_KEXEC_FILE_LOAD = 294 SYS_PIDFD_SEND_SIGNAL = 424 SYS_IO_URING_SETUP = 425 SYS_IO_URING_ENTER = 426 SYS_IO_URING_REGISTER = 427 SYS_OPEN_TREE = 428 SYS_MOVE_MOUNT = 429 SYS_FSOPEN = 430 SYS_FSCONFIG = 431 SYS_FSMOUNT = 432 SYS_FSPICK = 433 SYS_PIDFD_OPEN = 434 SYS_CLONE3 = 435 SYS_CLOSE_RANGE = 436 SYS_OPENAT2 = 437 SYS_PIDFD_GETFD = 438 SYS_FACCESSAT2 = 439 SYS_PROCESS_MADVISE = 440 SYS_EPOLL_PWAIT2 = 441 SYS_MOUNT_SETATTR = 442 SYS_QUOTACTL_FD = 443 SYS_LANDLOCK_CREATE_RULESET = 444 SYS_LANDLOCK_ADD_RULE = 445 SYS_LANDLOCK_RESTRICT_SELF = 446 SYS_MEMFD_SECRET = 447 SYS_PROCESS_MRELEASE = 448 SYS_FUTEX_WAITV = 449 SYS_SET_MEMPOLICY_HOME_NODE = 450 SYS_CACHESTAT = 451 SYS_FCHMODAT2 = 452 SYS_MAP_SHADOW_STACK = 453 SYS_FUTEX_WAKE = 454 SYS_FUTEX_WAIT = 455 SYS_FUTEX_REQUEUE = 456 SYS_STATMOUNT = 457 SYS_LISTMOUNT = 458 SYS_LSM_GET_SELF_ATTR = 459 SYS_LSM_SET_SELF_ATTR = 460 SYS_LSM_LIST_MODULES = 461 SYS_MSEAL = 462 ) dependencies/pkg/mod/golang.org/x/sys@v0.26.0/unix/ztypes_aix_ppc64.go0000644000000000000000000001175715107355264024366 0ustar rootroot// cgo -godefs types_aix.go | go run mkpost.go // Code generated by the command above; see README.md. DO NOT EDIT. //go:build ppc64 && aix package unix const ( SizeofPtr = 0x8 SizeofShort = 0x2 SizeofInt = 0x4 SizeofLong = 0x8 SizeofLongLong = 0x8 PathMax = 0x3ff ) type ( _C_short int16 _C_int int32 _C_long int64 _C_long_long int64 ) type off64 int64 type off int64 type Mode_t uint32 type Timespec struct { Sec int64 Nsec int64 } type Timeval struct { Sec int64 Usec int32 _ [4]byte } type Timeval32 struct { Sec int32 Usec int32 } type Timex struct{} type Time_t int64 type Tms struct{} type Utimbuf struct { Actime int64 Modtime int64 } type Timezone struct { Minuteswest int32 Dsttime 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 Pid_t int32 type _Gid_t uint32 type dev_t uint64 type Stat_t struct { Dev uint64 Ino uint64 Mode uint32 Nlink int16 Flag uint16 Uid uint32 Gid uint32 Rdev uint64 Ssize int32 Atim Timespec Mtim Timespec Ctim Timespec Blksize int64 Blocks int64 Vfstype int32 Vfs uint32 Type uint32 Gen uint32 Reserved [9]uint32 Padto_ll uint32 Size int64 } type StatxTimestamp struct{} type Statx_t struct{} type Dirent struct { Offset uint64 Ino uint64 Reclen uint16 Namlen uint16 Name [256]uint8 _ [4]byte } type RawSockaddrInet4 struct { Len uint8 Family uint8 Port uint16 Addr [4]byte /* in_addr */ Zero [8]uint8 } 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 [1023]uint8 } type RawSockaddrDatalink struct { Len uint8 Family uint8 Index uint16 Type uint8 Nlen uint8 Alen uint8 Slen uint8 Data [120]uint8 } type RawSockaddr struct { Len uint8 Family uint8 Data [14]uint8 } type RawSockaddrAny struct { Addr RawSockaddr Pad [1012]uint8 } type _Socklen uint32 type Cmsghdr struct { Len uint32 Level int32 Type int32 } type ICMPv6Filter struct { Filt [8]uint32 } 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 IPv6MTUInfo struct { Addr RawSockaddrInet6 Mtu uint32 } type Linger struct { Onoff int32 Linger int32 } type Msghdr struct { Name *byte Namelen uint32 Iov *Iovec Iovlen int32 Control *byte Controllen uint32 Flags int32 } const ( SizeofSockaddrInet4 = 0x10 SizeofSockaddrInet6 = 0x1c SizeofSockaddrAny = 0x404 SizeofSockaddrUnix = 0x401 SizeofSockaddrDatalink = 0x80 SizeofLinger = 0x8 SizeofIovec = 0x10 SizeofIPMreq = 0x8 SizeofIPv6Mreq = 0x14 SizeofIPv6MTUInfo = 0x20 SizeofMsghdr = 0x30 SizeofCmsghdr = 0xc SizeofICMPv6Filter = 0x20 ) const ( SizeofIfMsghdr = 0x10 ) type IfMsgHdr struct { Msglen uint16 Version uint8 Type uint8 Addrs int32 Flags int32 Index uint16 Addrlen uint8 _ [1]byte } type FdSet struct { Bits [1024]int64 } type Utsname struct { Sysname [32]byte Nodename [32]byte Release [32]byte Version [32]byte Machine [32]byte } type Ustat_t struct{} type Sigset_t struct { Set [4]uint64 } const ( AT_FDCWD = -0x2 AT_REMOVEDIR = 0x1 AT_SYMLINK_NOFOLLOW = 0x1 ) type Termios struct { Iflag uint32 Oflag uint32 Cflag uint32 Lflag uint32 Cc [16]uint8 } type Termio struct { Iflag uint16 Oflag uint16 Cflag uint16 Lflag uint16 Line uint8 Cc [8]uint8 _ [1]byte } type Winsize struct { Row uint16 Col uint16 Xpixel uint16 Ypixel uint16 } type PollFd struct { Fd int32 Events uint16 Revents uint16 } const ( POLLERR = 0x4000 POLLHUP = 0x2000 POLLIN = 0x1 POLLNVAL = 0x8000 POLLOUT = 0x2 POLLPRI = 0x4 POLLRDBAND = 0x20 POLLRDNORM = 0x10 POLLWRBAND = 0x40 POLLWRNORM = 0x2 ) type Flock_t struct { Type int16 Whence int16 Sysid uint32 Pid int32 Vfs int32 Start int64 Len int64 } type Fsid_t struct { Val [2]uint32 } type Fsid64_t struct { Val [2]uint64 } type Statfs_t struct { Version int32 Type int32 Bsize uint64 Blocks uint64 Bfree uint64 Bavail uint64 Files uint64 Ffree uint64 Fsid Fsid64_t Vfstype int32 Fsize uint64 Vfsnumber int32 Vfsoff int32 Vfslen int32 Vfsvers int32 Fname [32]uint8 Fpack [32]uint8 Name_max int32 _ [4]byte } const RNDGETENTCNT = 0x80045200 dependencies/pkg/mod/golang.org/x/sys@v0.26.0/unix/zsyscall_linux_ppc64le.go0000644000000000000000000004345615107355264025574 0ustar rootroot// go run mksyscall.go -tags linux,ppc64le syscall_linux.go syscall_linux_ppc64x.go syscall_linux_alarm.go // Code generated by the command above; see README.md. DO NOT EDIT. //go: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 fanotifyMark(fd int, flags uint, mask uint64, dirFd int, pathname *byte) (err error) { _, _, e1 := Syscall6(SYS_FANOTIFY_MARK, uintptr(fd), uintptr(flags), uintptr(mask), uintptr(dirFd), uintptr(unsafe.Pointer(pathname)), 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 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 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 Fstatat(dirfd int, path string, stat *Stat_t, flags int) (err error) { var _p0 *byte _p0, err = BytePtrFromString(path) if err != nil { return } _, _, e1 := Syscall6(SYS_NEWFSTATAT, uintptr(dirfd), 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, _ := RawSyscallNoError(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, _ := RawSyscallNoError(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, _ := RawSyscallNoError(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, _ := RawSyscallNoError(SYS_GETUID, 0, 0, 0) uid = int(r0) 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 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 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__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_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) (prev int, err error) { r0, _, e1 := Syscall(SYS_SETFSGID, uintptr(gid), 0, 0) prev = int(r0) if e1 != 0 { err = errnoErr(e1) } return } // THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT func setfsuid(uid int) (prev int, err error) { r0, _, e1 := Syscall(SYS_SETFSUID, uintptr(uid), 0, 0) prev = int(r0) 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 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 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 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 futimesat(dirfd int, path string, times *[2]Timeval) (err error) { var _p0 *byte _p0, err = BytePtrFromString(path) if err != nil { return } _, _, e1 := Syscall(SYS_FUTIMESAT, uintptr(dirfd), uintptr(unsafe.Pointer(_p0)), 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 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 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 syncFileRange2(fd int, flags int, off int64, n int64) (err error) { _, _, e1 := Syscall6(SYS_SYNC_FILE_RANGE2, uintptr(fd), uintptr(flags), uintptr(off), uintptr(n), 0, 0) if e1 != 0 { err = errnoErr(e1) } return } // THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT func kexecFileLoad(kernelFd int, initrdFd int, cmdlineLen int, cmdline string, flags int) (err error) { var _p0 *byte _p0, err = BytePtrFromString(cmdline) if err != nil { return } _, _, e1 := Syscall6(SYS_KEXEC_FILE_LOAD, uintptr(kernelFd), uintptr(initrdFd), uintptr(cmdlineLen), 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 Alarm(seconds uint) (remaining uint, err error) { r0, _, e1 := Syscall(SYS_ALARM, uintptr(seconds), 0, 0) remaining = uint(r0) if e1 != 0 { err = errnoErr(e1) } return } dependencies/pkg/mod/golang.org/x/sys@v0.26.0/unix/gccgo.go0000644000000000000000000000364015107355264022225 0ustar rootroot// 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:build gccgo && !aix && !hurd 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. func realSyscallNoError(trap, a1, a2, a3, a4, a5, a6, a7, a8, a9 uintptr) (r uintptr) func realSyscall(trap, a1, a2, a3, a4, a5, a6, a7, a8, a9 uintptr) (r, errno uintptr) func SyscallNoError(trap, a1, a2, a3 uintptr) (r1, r2 uintptr) { syscall.Entersyscall() r := realSyscallNoError(trap, a1, a2, a3, 0, 0, 0, 0, 0, 0) syscall.Exitsyscall() return r, 0 } 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 RawSyscallNoError(trap, a1, a2, a3 uintptr) (r1, r2 uintptr) { r := realSyscallNoError(trap, a1, a2, a3, 0, 0, 0, 0, 0, 0) return r, 0 } 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) } dependencies/pkg/mod/golang.org/x/sys@v0.26.0/unix/syscall_freebsd_386.go0000644000000000000000000000275615107355264024716 0ustar rootroot// 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. //go:build 386 && freebsd package unix import ( "syscall" "unsafe" ) func setTimespec(sec, nsec int64) Timespec { return Timespec{Sec: int32(sec), Nsec: int32(nsec)} } func setTimeval(sec, usec int64) Timeval { return Timeval{Sec: int32(sec), Usec: int32(usec)} } 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 (msghdr *Msghdr) SetIovlen(length int) { msghdr.Iovlen = int32(length) } func (cmsg *Cmsghdr) SetLen(length int) { cmsg.Len = uint32(length) } func (d *PtraceIoDesc) SetLen(length int) { d.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) func PtraceGetFsBase(pid int, fsbase *int64) (err error) { return ptracePtr(PT_GETFSBASE, pid, unsafe.Pointer(fsbase), 0) } dependencies/pkg/mod/golang.org/x/sys@v0.26.0/unix/zsyscall_linux.go0000644000000000000000000015512515107355264024234 0ustar rootroot// Code generated by mkmerge; DO NOT EDIT. //go:build linux package unix import ( "syscall" "unsafe" ) // THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT func FanotifyInit(flags uint, event_f_flags uint) (fd int, err error) { r0, _, e1 := Syscall(SYS_FANOTIFY_INIT, uintptr(flags), uintptr(event_f_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 fchmodat(dirfd int, path string, mode uint32) (err error) { var _p0 *byte _p0, err = BytePtrFromString(path) if err != nil { return } _, _, e1 := Syscall(SYS_FCHMODAT, 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 fchmodat2(dirfd int, path string, mode uint32, flags int) (err error) { var _p0 *byte _p0, err = BytePtrFromString(path) if err != nil { return } _, _, e1 := Syscall6(SYS_FCHMODAT2, 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 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 ioctlPtr(fd int, req uint, arg unsafe.Pointer) (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 openat2(dirfd int, path string, open_how *OpenHow, size int) (fd int, err error) { var _p0 *byte _p0, err = BytePtrFromString(path) if err != nil { return } r0, _, e1 := Syscall6(SYS_OPENAT2, uintptr(dirfd), uintptr(unsafe.Pointer(_p0)), uintptr(unsafe.Pointer(open_how)), 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 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 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 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 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 Waitid(idType int, id int, info *Siginfo, options int, rusage *Rusage) (err error) { _, _, e1 := Syscall6(SYS_WAITID, uintptr(idType), uintptr(id), uintptr(unsafe.Pointer(info)), uintptr(options), 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 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 keyctlRestrictKeyringByType(cmd int, arg2 int, keyType string, restriction string) (err error) { var _p0 *byte _p0, err = BytePtrFromString(keyType) if err != nil { return } var _p1 *byte _p1, err = BytePtrFromString(restriction) if err != nil { return } _, _, e1 := Syscall6(SYS_KEYCTL, uintptr(cmd), uintptr(arg2), uintptr(unsafe.Pointer(_p0)), 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 keyctlRestrictKeyring(cmd int, arg2 int) (err error) { _, _, e1 := Syscall(SYS_KEYCTL, uintptr(cmd), uintptr(arg2), 0) 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 ptracePtr(request int, pid int, addr uintptr, data unsafe.Pointer) (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 mountSetattr(dirfd int, pathname string, flags uint, attr *MountAttr, size uintptr) (err error) { var _p0 *byte _p0, err = BytePtrFromString(pathname) if err != nil { return } _, _, e1 := Syscall6(SYS_MOUNT_SETATTR, uintptr(dirfd), uintptr(unsafe.Pointer(_p0)), uintptr(flags), uintptr(unsafe.Pointer(attr)), uintptr(size), 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 Capget(hdr *CapUserHeader, data *CapUserData) (err error) { _, _, e1 := RawSyscall(SYS_CAPGET, uintptr(unsafe.Pointer(hdr)), 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 Capset(hdr *CapUserHeader, data *CapUserData) (err error) { _, _, e1 := RawSyscall(SYS_CAPSET, uintptr(unsafe.Pointer(hdr)), 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 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 ClockAdjtime(clockid int32, buf *Timex) (state int, err error) { r0, _, e1 := Syscall(SYS_CLOCK_ADJTIME, uintptr(clockid), uintptr(unsafe.Pointer(buf)), 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 ClockGetres(clockid int32, res *Timespec) (err error) { _, _, e1 := Syscall(SYS_CLOCK_GETRES, uintptr(clockid), uintptr(unsafe.Pointer(res)), 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 ClockNanosleep(clockid int32, flags int, request *Timespec, remain *Timespec) (err error) { _, _, e1 := Syscall6(SYS_CLOCK_NANOSLEEP, uintptr(clockid), uintptr(flags), uintptr(unsafe.Pointer(request)), uintptr(unsafe.Pointer(remain)), 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 CloseRange(first uint, last uint, flags uint) (err error) { _, _, e1 := Syscall(SYS_CLOSE_RANGE, uintptr(first), uintptr(last), uintptr(flags)) 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 DeleteModule(name string, flags int) (err error) { var _p0 *byte _p0, err = BytePtrFromString(name) if err != nil { return } _, _, e1 := Syscall(SYS_DELETE_MODULE, 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 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 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) { SyscallNoError(SYS_EXIT_GROUP, 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 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 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 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 Fgetxattr(fd int, attr string, dest []byte) (sz int, err error) { var _p0 *byte _p0, err = BytePtrFromString(attr) if err != nil { return } var _p1 unsafe.Pointer if len(dest) > 0 { _p1 = unsafe.Pointer(&dest[0]) } else { _p1 = unsafe.Pointer(&_zero) } r0, _, e1 := Syscall6(SYS_FGETXATTR, uintptr(fd), uintptr(unsafe.Pointer(_p0)), uintptr(_p1), 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 FinitModule(fd int, params string, flags int) (err error) { var _p0 *byte _p0, err = BytePtrFromString(params) if err != nil { return } _, _, e1 := Syscall(SYS_FINIT_MODULE, uintptr(fd), 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 Flistxattr(fd int, dest []byte) (sz int, err error) { var _p0 unsafe.Pointer if len(dest) > 0 { _p0 = unsafe.Pointer(&dest[0]) } else { _p0 = unsafe.Pointer(&_zero) } r0, _, e1 := Syscall(SYS_FLISTXATTR, uintptr(fd), uintptr(_p0), 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 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 Fremovexattr(fd int, attr string) (err error) { var _p0 *byte _p0, err = BytePtrFromString(attr) if err != nil { return } _, _, e1 := Syscall(SYS_FREMOVEXATTR, uintptr(fd), uintptr(unsafe.Pointer(_p0)), 0) if e1 != 0 { err = errnoErr(e1) } return } // THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT func Fsetxattr(fd int, attr string, dest []byte, flags int) (err error) { var _p0 *byte _p0, err = BytePtrFromString(attr) if err != nil { return } var _p1 unsafe.Pointer if len(dest) > 0 { _p1 = unsafe.Pointer(&dest[0]) } else { _p1 = unsafe.Pointer(&_zero) } _, _, e1 := Syscall6(SYS_FSETXATTR, uintptr(fd), uintptr(unsafe.Pointer(_p0)), uintptr(_p1), uintptr(len(dest)), uintptr(flags), 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 Fsmount(fd int, flags int, mountAttrs int) (fsfd int, err error) { r0, _, e1 := Syscall(SYS_FSMOUNT, uintptr(fd), uintptr(flags), uintptr(mountAttrs)) fsfd = int(r0) if e1 != 0 { err = errnoErr(e1) } return } // THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT func Fsopen(fsName string, flags int) (fd int, err error) { var _p0 *byte _p0, err = BytePtrFromString(fsName) if err != nil { return } r0, _, e1 := Syscall(SYS_FSOPEN, uintptr(unsafe.Pointer(_p0)), 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 Fspick(dirfd int, pathName string, flags int) (fd int, err error) { var _p0 *byte _p0, err = BytePtrFromString(pathName) if err != nil { return } r0, _, e1 := Syscall(SYS_FSPICK, uintptr(dirfd), uintptr(unsafe.Pointer(_p0)), uintptr(flags)) fd = int(r0) if e1 != 0 { err = errnoErr(e1) } return } // THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT func fsconfig(fd int, cmd uint, key *byte, value *byte, aux int) (err error) { _, _, e1 := Syscall6(SYS_FSCONFIG, uintptr(fd), uintptr(cmd), uintptr(unsafe.Pointer(key)), uintptr(unsafe.Pointer(value)), uintptr(aux), 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, _ := RawSyscallNoError(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, _ := RawSyscallNoError(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 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, _ := RawSyscallNoError(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 InitModule(moduleImage []byte, params string) (err error) { var _p0 unsafe.Pointer if len(moduleImage) > 0 { _p0 = unsafe.Pointer(&moduleImage[0]) } else { _p0 = unsafe.Pointer(&_zero) } var _p1 *byte _p1, err = BytePtrFromString(params) if err != nil { return } _, _, e1 := Syscall(SYS_INIT_MODULE, uintptr(_p0), uintptr(len(moduleImage)), 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 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 MemfdCreate(name string, flags int) (fd int, err error) { var _p0 *byte _p0, err = BytePtrFromString(name) if err != nil { return } r0, _, e1 := Syscall(SYS_MEMFD_CREATE, uintptr(unsafe.Pointer(_p0)), 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 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 MoveMount(fromDirfd int, fromPathName string, toDirfd int, toPathName string, flags int) (err error) { var _p0 *byte _p0, err = BytePtrFromString(fromPathName) if err != nil { return } var _p1 *byte _p1, err = BytePtrFromString(toPathName) if err != nil { return } _, _, e1 := Syscall6(SYS_MOVE_MOUNT, uintptr(fromDirfd), uintptr(unsafe.Pointer(_p0)), uintptr(toDirfd), 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 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 OpenTree(dfd int, fileName string, flags uint) (r int, err error) { var _p0 *byte _p0, err = BytePtrFromString(fileName) if err != nil { return } r0, _, e1 := Syscall(SYS_OPEN_TREE, uintptr(dfd), uintptr(unsafe.Pointer(_p0)), uintptr(flags)) r = int(r0) if e1 != 0 { err = errnoErr(e1) } return } // THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT func PerfEventOpen(attr *PerfEventAttr, pid int, cpu int, groupFd int, flags int) (fd int, err error) { r0, _, e1 := Syscall6(SYS_PERF_EVENT_OPEN, uintptr(unsafe.Pointer(attr)), uintptr(pid), uintptr(cpu), uintptr(groupFd), 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 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 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 pselect6(nfd int, r *FdSet, w *FdSet, e *FdSet, timeout *Timespec, sigmask *sigset_argpack) (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)), uintptr(unsafe.Pointer(sigmask))) 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 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 Renameat2(olddirfd int, oldpath string, newdirfd int, newpath string, flags uint) (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_RENAMEAT2, 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 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 signalfd(fd int, sigmask *Sigset_t, maskSize uintptr, flags int) (newfd int, err error) { r0, _, e1 := Syscall6(SYS_SIGNALFD4, uintptr(fd), uintptr(unsafe.Pointer(sigmask)), uintptr(maskSize), uintptr(flags), 0, 0) newfd = int(r0) if e1 != 0 { err = errnoErr(e1) } return } // THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT func Statx(dirfd int, path string, flags int, mask int, stat *Statx_t) (err error) { var _p0 *byte _p0, err = BytePtrFromString(path) if err != nil { return } _, _, e1 := Syscall6(SYS_STATX, uintptr(dirfd), uintptr(unsafe.Pointer(_p0)), uintptr(flags), uintptr(mask), 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 Sync() { SyscallNoError(SYS_SYNC, 0, 0, 0) return } // THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT func Syncfs(fd int) (err error) { _, _, e1 := Syscall(SYS_SYNCFS, 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 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 TimerfdCreate(clockid int, flags int) (fd int, err error) { r0, _, e1 := RawSyscall(SYS_TIMERFD_CREATE, uintptr(clockid), 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 TimerfdGettime(fd int, currValue *ItimerSpec) (err error) { _, _, e1 := RawSyscall(SYS_TIMERFD_GETTIME, uintptr(fd), uintptr(unsafe.Pointer(currValue)), 0) if e1 != 0 { err = errnoErr(e1) } return } // THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT func TimerfdSettime(fd int, flags int, newValue *ItimerSpec, oldValue *ItimerSpec) (err error) { _, _, e1 := RawSyscall6(SYS_TIMERFD_SETTIME, uintptr(fd), uintptr(flags), uintptr(unsafe.Pointer(newValue)), uintptr(unsafe.Pointer(oldValue)), 0, 0) 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, _ := RawSyscallNoError(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 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 readv(fd int, iovs []Iovec) (n int, err error) { var _p0 unsafe.Pointer if len(iovs) > 0 { _p0 = unsafe.Pointer(&iovs[0]) } else { _p0 = unsafe.Pointer(&_zero) } r0, _, e1 := Syscall(SYS_READV, uintptr(fd), uintptr(_p0), uintptr(len(iovs))) n = int(r0) if e1 != 0 { err = errnoErr(e1) } return } // THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT func writev(fd int, iovs []Iovec) (n int, err error) { var _p0 unsafe.Pointer if len(iovs) > 0 { _p0 = unsafe.Pointer(&iovs[0]) } else { _p0 = unsafe.Pointer(&_zero) } r0, _, e1 := Syscall(SYS_WRITEV, uintptr(fd), uintptr(_p0), uintptr(len(iovs))) n = int(r0) if e1 != 0 { err = errnoErr(e1) } return } // THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT func preadv(fd int, iovs []Iovec, offs_l uintptr, offs_h uintptr) (n int, err error) { var _p0 unsafe.Pointer if len(iovs) > 0 { _p0 = unsafe.Pointer(&iovs[0]) } else { _p0 = unsafe.Pointer(&_zero) } r0, _, e1 := Syscall6(SYS_PREADV, uintptr(fd), uintptr(_p0), uintptr(len(iovs)), uintptr(offs_l), uintptr(offs_h), 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 pwritev(fd int, iovs []Iovec, offs_l uintptr, offs_h uintptr) (n int, err error) { var _p0 unsafe.Pointer if len(iovs) > 0 { _p0 = unsafe.Pointer(&iovs[0]) } else { _p0 = unsafe.Pointer(&_zero) } r0, _, e1 := Syscall6(SYS_PWRITEV, uintptr(fd), uintptr(_p0), uintptr(len(iovs)), uintptr(offs_l), uintptr(offs_h), 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 preadv2(fd int, iovs []Iovec, offs_l uintptr, offs_h uintptr, flags int) (n int, err error) { var _p0 unsafe.Pointer if len(iovs) > 0 { _p0 = unsafe.Pointer(&iovs[0]) } else { _p0 = unsafe.Pointer(&_zero) } r0, _, e1 := Syscall6(SYS_PREADV2, uintptr(fd), uintptr(_p0), uintptr(len(iovs)), uintptr(offs_l), uintptr(offs_h), 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 pwritev2(fd int, iovs []Iovec, offs_l uintptr, offs_h uintptr, flags int) (n int, err error) { var _p0 unsafe.Pointer if len(iovs) > 0 { _p0 = unsafe.Pointer(&iovs[0]) } else { _p0 = unsafe.Pointer(&_zero) } r0, _, e1 := Syscall6(SYS_PWRITEV2, uintptr(fd), uintptr(_p0), uintptr(len(iovs)), uintptr(offs_l), uintptr(offs_h), 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 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 mremap(oldaddr uintptr, oldlength uintptr, newlength uintptr, flags int, newaddr uintptr) (xaddr uintptr, err error) { r0, _, e1 := Syscall6(SYS_MREMAP, uintptr(oldaddr), uintptr(oldlength), uintptr(newlength), uintptr(flags), uintptr(newaddr), 0) xaddr = uintptr(r0) 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 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 Msync(b []byte, flags int) (err error) { var _p0 unsafe.Pointer if len(b) > 0 { _p0 = unsafe.Pointer(&b[0]) } else { _p0 = unsafe.Pointer(&_zero) } _, _, e1 := Syscall(SYS_MSYNC, uintptr(_p0), uintptr(len(b)), uintptr(flags)) 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 faccessat(dirfd int, path string, mode uint32) (err error) { var _p0 *byte _p0, err = BytePtrFromString(path) if err != nil { return } _, _, e1 := Syscall(SYS_FACCESSAT, 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 Faccessat2(dirfd int, path string, mode uint32, flags int) (err error) { var _p0 *byte _p0, err = BytePtrFromString(path) if err != nil { return } _, _, e1 := Syscall6(SYS_FACCESSAT2, 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 nameToHandleAt(dirFD int, pathname string, fh *fileHandle, mountID *_C_int, flags int) (err error) { var _p0 *byte _p0, err = BytePtrFromString(pathname) if err != nil { return } _, _, e1 := Syscall6(SYS_NAME_TO_HANDLE_AT, uintptr(dirFD), uintptr(unsafe.Pointer(_p0)), uintptr(unsafe.Pointer(fh)), uintptr(unsafe.Pointer(mountID)), uintptr(flags), 0) if e1 != 0 { err = errnoErr(e1) } return } // THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT func openByHandleAt(mountFD int, fh *fileHandle, flags int) (fd int, err error) { r0, _, e1 := Syscall(SYS_OPEN_BY_HANDLE_AT, uintptr(mountFD), uintptr(unsafe.Pointer(fh)), uintptr(flags)) fd = int(r0) if e1 != 0 { err = errnoErr(e1) } return } // THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT func ProcessVMReadv(pid int, localIov []Iovec, remoteIov []RemoteIovec, flags uint) (n int, err error) { var _p0 unsafe.Pointer if len(localIov) > 0 { _p0 = unsafe.Pointer(&localIov[0]) } else { _p0 = unsafe.Pointer(&_zero) } var _p1 unsafe.Pointer if len(remoteIov) > 0 { _p1 = unsafe.Pointer(&remoteIov[0]) } else { _p1 = unsafe.Pointer(&_zero) } r0, _, e1 := Syscall6(SYS_PROCESS_VM_READV, uintptr(pid), uintptr(_p0), uintptr(len(localIov)), uintptr(_p1), uintptr(len(remoteIov)), 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 ProcessVMWritev(pid int, localIov []Iovec, remoteIov []RemoteIovec, flags uint) (n int, err error) { var _p0 unsafe.Pointer if len(localIov) > 0 { _p0 = unsafe.Pointer(&localIov[0]) } else { _p0 = unsafe.Pointer(&_zero) } var _p1 unsafe.Pointer if len(remoteIov) > 0 { _p1 = unsafe.Pointer(&remoteIov[0]) } else { _p1 = unsafe.Pointer(&_zero) } r0, _, e1 := Syscall6(SYS_PROCESS_VM_WRITEV, uintptr(pid), uintptr(_p0), uintptr(len(localIov)), uintptr(_p1), uintptr(len(remoteIov)), 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 PidfdOpen(pid int, flags int) (fd int, err error) { r0, _, e1 := Syscall(SYS_PIDFD_OPEN, uintptr(pid), 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 PidfdGetfd(pidfd int, targetfd int, flags int) (fd int, err error) { r0, _, e1 := Syscall(SYS_PIDFD_GETFD, uintptr(pidfd), uintptr(targetfd), uintptr(flags)) fd = int(r0) if e1 != 0 { err = errnoErr(e1) } return } // THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT func PidfdSendSignal(pidfd int, sig Signal, info *Siginfo, flags int) (err error) { _, _, e1 := Syscall6(SYS_PIDFD_SEND_SIGNAL, uintptr(pidfd), uintptr(sig), uintptr(unsafe.Pointer(info)), 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 shmat(id int, addr uintptr, flag int) (ret uintptr, err error) { r0, _, e1 := Syscall(SYS_SHMAT, uintptr(id), uintptr(addr), uintptr(flag)) ret = uintptr(r0) if e1 != 0 { err = errnoErr(e1) } return } // THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT func shmctl(id int, cmd int, buf *SysvShmDesc) (result int, err error) { r0, _, e1 := Syscall(SYS_SHMCTL, uintptr(id), uintptr(cmd), uintptr(unsafe.Pointer(buf))) result = int(r0) if e1 != 0 { err = errnoErr(e1) } return } // THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT func shmdt(addr uintptr) (err error) { _, _, e1 := Syscall(SYS_SHMDT, uintptr(addr), 0, 0) if e1 != 0 { err = errnoErr(e1) } return } // THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT func shmget(key int, size int, flag int) (id int, err error) { r0, _, e1 := Syscall(SYS_SHMGET, uintptr(key), uintptr(size), uintptr(flag)) id = int(r0) if e1 != 0 { err = errnoErr(e1) } return } // THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT func getitimer(which int, currValue *Itimerval) (err error) { _, _, e1 := Syscall(SYS_GETITIMER, uintptr(which), uintptr(unsafe.Pointer(currValue)), 0) if e1 != 0 { err = errnoErr(e1) } return } // THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT func setitimer(which int, newValue *Itimerval, oldValue *Itimerval) (err error) { _, _, e1 := Syscall(SYS_SETITIMER, uintptr(which), uintptr(unsafe.Pointer(newValue)), uintptr(unsafe.Pointer(oldValue))) if e1 != 0 { err = errnoErr(e1) } return } // THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT func rtSigprocmask(how int, set *Sigset_t, oldset *Sigset_t, sigsetsize uintptr) (err error) { _, _, e1 := RawSyscall6(SYS_RT_SIGPROCMASK, uintptr(how), uintptr(unsafe.Pointer(set)), uintptr(unsafe.Pointer(oldset)), uintptr(sigsetsize), 0, 0) if e1 != 0 { err = errnoErr(e1) } return } // THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT func getresuid(ruid *_C_int, euid *_C_int, suid *_C_int) { RawSyscallNoError(SYS_GETRESUID, uintptr(unsafe.Pointer(ruid)), uintptr(unsafe.Pointer(euid)), uintptr(unsafe.Pointer(suid))) return } // THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT func getresgid(rgid *_C_int, egid *_C_int, sgid *_C_int) { RawSyscallNoError(SYS_GETRESGID, uintptr(unsafe.Pointer(rgid)), uintptr(unsafe.Pointer(egid)), uintptr(unsafe.Pointer(sgid))) return } // THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT func schedSetattr(pid int, attr *SchedAttr, flags uint) (err error) { _, _, e1 := Syscall(SYS_SCHED_SETATTR, uintptr(pid), uintptr(unsafe.Pointer(attr)), uintptr(flags)) if e1 != 0 { err = errnoErr(e1) } return } // THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT func schedGetattr(pid int, attr *SchedAttr, size uint, flags uint) (err error) { _, _, e1 := Syscall6(SYS_SCHED_GETATTR, uintptr(pid), uintptr(unsafe.Pointer(attr)), uintptr(size), 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 Cachestat(fd uint, crange *CachestatRange, cstat *Cachestat_t, flags uint) (err error) { _, _, e1 := Syscall6(SYS_CACHESTAT, uintptr(fd), uintptr(unsafe.Pointer(crange)), uintptr(unsafe.Pointer(cstat)), 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 Mseal(b []byte, flags uint) (err error) { var _p0 unsafe.Pointer if len(b) > 0 { _p0 = unsafe.Pointer(&b[0]) } else { _p0 = unsafe.Pointer(&_zero) } _, _, e1 := Syscall(SYS_MSEAL, uintptr(_p0), uintptr(len(b)), uintptr(flags)) if e1 != 0 { err = errnoErr(e1) } return } dependencies/pkg/mod/golang.org/x/sys@v0.26.0/unix/zsysnum_freebsd_386.go0000644000000000000000000011014015107355264024757 0ustar rootroot// go run mksysnum.go https://cgit.freebsd.org/src/plain/sys/kern/syscalls.master?h=stable/12 // Code generated by the command above; see README.md. DO NOT EDIT. //go: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_exit_args void 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, struct rusage *rusage); } 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_CHMOD = 15 // { int chmod(char *path, int mode); } SYS_CHOWN = 16 // { int chown(char *path, int uid, int gid); } SYS_BREAK = 17 // { caddr_t break(char *nsize); } SYS_GETPID = 20 // { pid_t getpid(void); } SYS_MOUNT = 21 // { int mount(char *type, char *path, int flags, caddr_t data); } 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, int data); } SYS_RECVMSG = 27 // { int recvmsg(int s, struct msghdr *msg, int flags); } SYS_SENDMSG = 28 // { int sendmsg(int s, struct msghdr *msg, int flags); } SYS_RECVFROM = 29 // { int recvfrom(int s, caddr_t buf, size_t len, int flags, struct sockaddr * __restrict from, __socklen_t * __restrict fromlenaddr); } SYS_ACCEPT = 30 // { int accept(int s, struct sockaddr * __restrict name, __socklen_t * __restrict anamelen); } SYS_GETPEERNAME = 31 // { int getpeername(int fdes, struct sockaddr * __restrict asa, __socklen_t * __restrict alen); } SYS_GETSOCKNAME = 32 // { int getsockname(int fdes, struct sockaddr * __restrict asa, __socklen_t * __restrict alen); } 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_GETEGID = 43 // { gid_t getegid(void); } SYS_PROFIL = 44 // { int profil(caddr_t samples, size_t size, size_t offset, u_int scale); } SYS_KTRACE = 45 // { int ktrace(const char *fname, int ops, int facs, int pid); } 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 // { ssize_t readlink(char *path, char *buf, size_t count); } SYS_EXECVE = 59 // { int execve(char *fname, char **argv, char **envv); } SYS_UMASK = 60 // { int umask(int newmask); } SYS_CHROOT = 61 // { int chroot(char *path); } SYS_MSYNC = 65 // { int msync(void *addr, size_t len, int flags); } SYS_VFORK = 66 // { int 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, char *vec); } 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, struct itimerval *oitv); } 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(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, fd_set *ex, struct timeval *tv); } 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, caddr_t val, int valsize); } SYS_LISTEN = 106 // { int listen(int s, int backlog); } SYS_GETTIMEOFDAY = 116 // { int gettimeofday(struct timeval *tp, struct timezone *tzp); } SYS_GETRUSAGE = 117 // { int getrusage(int who, struct rusage *rusage); } SYS_GETSOCKOPT = 118 // { int getsockopt(int s, int level, int name, caddr_t val, int *avalsize); } SYS_READV = 120 // { int readv(int fd, struct iovec *iovp, u_int iovcnt); } SYS_WRITEV = 121 // { int writev(int fd, struct iovec *iovp, u_int iovcnt); } SYS_SETTIMEOFDAY = 122 // { int settimeofday(struct timeval *tv, struct timezone *tzp); } 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, int flags, caddr_t to, int tolen); } SYS_SHUTDOWN = 134 // { int shutdown(int s, int how); } SYS_SOCKETPAIR = 135 // { int socketpair(int domain, int type, int protocol, int *rsv); } 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, struct timeval *olddelta); } SYS_SETSID = 147 // { int setsid(void); } SYS_QUOTACTL = 148 // { int quotactl(char *path, int cmd, int uid, caddr_t arg); } SYS_NLM_SYSCALL = 154 // { int nlm_syscall(int debug_level, int grace_period, int addr_count, char **addrs); } SYS_NFSSVC = 155 // { int nfssvc(int flag, caddr_t argp); } SYS_LGETFH = 160 // { int lgetfh(char *fname, struct fhandle *fhp); } SYS_GETFH = 161 // { int getfh(char *fname, struct fhandle *fhp); } SYS_SYSARCH = 165 // { int sysarch(int op, char *parms); } SYS_RTPRIO = 166 // { int rtprio(int function, pid_t pid, struct rtprio *rtp); } SYS_SEMSYS = 169 // { int semsys(int which, int a2, int a3, int a4, int a5); } SYS_MSGSYS = 170 // { int msgsys(int which, int a2, int a3, int a4, int a5, int a6); } SYS_SHMSYS = 171 // { int shmsys(int which, int a2, int a3, int a4); } 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_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, struct rlimit *rlp); } getrlimit __getrlimit_args int SYS_SETRLIMIT = 195 // { int setrlimit(u_int which, struct rlimit *rlp); } setrlimit __setrlimit_args int SYS___SYSCTL = 202 // { int __sysctl(int *name, u_int namelen, void *old, size_t *oldlenp, void *new, size_t newlen); } __sysctl sysctl_args int 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, int timeout); } SYS_SEMGET = 221 // { int semget(key_t key, int nsems, int semflg); } SYS_SEMOP = 222 // { int semop(int semid, struct sembuf *sops, size_t nsops); } SYS_MSGGET = 225 // { int msgget(key_t key, int msgflg); } SYS_MSGSND = 226 // { int msgsnd(int msqid, const void *msgp, size_t msgsz, int msgflg); } SYS_MSGRCV = 227 // { ssize_t msgrcv(int msqid, void *msgp, size_t msgsz, long msgtyp, int msgflg); } SYS_SHMAT = 228 // { int shmat(int shmid, const void *shmaddr, int shmflg); } 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, struct timespec *tp); } SYS_CLOCK_SETTIME = 233 // { int clock_settime(clockid_t clock_id, const struct timespec *tp); } SYS_CLOCK_GETRES = 234 // { int clock_getres(clockid_t clock_id, struct timespec *tp); } SYS_KTIMER_CREATE = 235 // { int ktimer_create(clockid_t clock_id, struct sigevent *evp, int *timerid); } SYS_KTIMER_DELETE = 236 // { int ktimer_delete(int timerid); } SYS_KTIMER_SETTIME = 237 // { int ktimer_settime(int timerid, int flags, const struct itimerspec *value, struct itimerspec *ovalue); } SYS_KTIMER_GETTIME = 238 // { int ktimer_gettime(int timerid, struct itimerspec *value); } SYS_KTIMER_GETOVERRUN = 239 // { int ktimer_getoverrun(int timerid); } SYS_NANOSLEEP = 240 // { int nanosleep(const struct timespec *rqtp, struct timespec *rmtp); } SYS_FFCLOCK_GETCOUNTER = 241 // { int ffclock_getcounter(ffcounter *ffcount); } SYS_FFCLOCK_SETESTIMATE = 242 // { int ffclock_setestimate(struct ffclock_estimate *cest); } SYS_FFCLOCK_GETESTIMATE = 243 // { int ffclock_getestimate(struct ffclock_estimate *cest); } SYS_CLOCK_NANOSLEEP = 244 // { int clock_nanosleep(clockid_t clock_id, int flags, const struct timespec *rqtp, struct timespec *rmtp); } SYS_CLOCK_GETCPUCLOCKID2 = 247 // { int clock_getcpuclockid2(id_t id, int which, clockid_t *clock_id); } SYS_NTP_GETTIME = 248 // { int ntp_gettime(struct ntptimeval *ntvp); } SYS_MINHERIT = 250 // { int minherit(void *addr, size_t len, int inherit); } SYS_RFORK = 251 // { int rfork(int flags); } SYS_ISSETUGID = 253 // { int issetugid(void); } SYS_LCHOWN = 254 // { int lchown(char *path, int uid, int gid); } SYS_AIO_READ = 255 // { int aio_read(struct aiocb *aiocbp); } SYS_AIO_WRITE = 256 // { int aio_write(struct aiocb *aiocbp); } SYS_LIO_LISTIO = 257 // { int lio_listio(int mode, struct aiocb* const *acb_list, int nent, struct sigevent *sig); } SYS_LCHMOD = 274 // { int lchmod(char *path, mode_t mode); } SYS_LUTIMES = 276 // { int lutimes(char *path, struct timeval *tptr); } SYS_PREADV = 289 // { ssize_t preadv(int fd, struct iovec *iovp, u_int iovcnt, off_t offset); } SYS_PWRITEV = 290 // { ssize_t pwritev(int fd, struct iovec *iovp, u_int iovcnt, off_t offset); } 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 // { ssize_t 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_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, size_t 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, sigset_t *oset); } 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, siginfo_t *info, const struct timespec *timeout); } SYS_SIGWAITINFO = 346 // { int sigwaitinfo(const sigset_t *set, siginfo_t *info); } SYS___ACL_GET_FILE = 347 // { int __acl_get_file(const char *path, acl_type_t type, struct acl *aclp); } SYS___ACL_SET_FILE = 348 // { int __acl_set_file(const char *path, acl_type_t type, struct acl *aclp); } SYS___ACL_GET_FD = 349 // { int __acl_get_fd(int filedes, acl_type_t type, struct acl *aclp); } SYS___ACL_SET_FD = 350 // { int __acl_set_fd(int filedes, acl_type_t type, struct acl *aclp); } SYS___ACL_DELETE_FILE = 351 // { int __acl_delete_file(const char *path, acl_type_t type); } 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, acl_type_t type, struct acl *aclp); } SYS___ACL_ACLCHECK_FD = 354 // { int __acl_aclcheck_fd(int filedes, acl_type_t type, struct acl *aclp); } SYS_EXTATTRCTL = 355 // { int extattrctl(const char *path, int cmd, const char *filename, int attrnamespace, const char *attrname); } SYS_EXTATTR_SET_FILE = 356 // { ssize_t extattr_set_file(const char *path, int attrnamespace, const char *attrname, void *data, size_t nbytes); } SYS_EXTATTR_GET_FILE = 357 // { ssize_t extattr_get_file(const char *path, int attrnamespace, const char *attrname, void *data, size_t nbytes); } SYS_EXTATTR_DELETE_FILE = 358 // { int extattr_delete_file(const char *path, int attrnamespace, const char *attrname); } SYS_AIO_WAITCOMPLETE = 359 // { ssize_t 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_EXTATTR_SET_FD = 371 // { ssize_t extattr_set_fd(int fd, int attrnamespace, const char *attrname, void *data, size_t nbytes); } SYS_EXTATTR_GET_FD = 372 // { ssize_t extattr_get_fd(int fd, int attrnamespace, const char *attrname, void *data, size_t nbytes); } SYS_EXTATTR_DELETE_FD = 373 // { int extattr_delete_fd(int fd, int attrnamespace, const char *attrname); } SYS___SETUGID = 374 // { int __setugid(int flag); } SYS_EACCESS = 376 // { int eaccess(char *path, int amode); } SYS_NMOUNT = 378 // { int nmount(struct iovec *iovp, unsigned int iovcnt, int flags); } 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, struct mac *mac_p); } SYS___MAC_GET_FILE = 387 // { int __mac_get_file(const char *path_p, struct mac *mac_p); } SYS___MAC_SET_FD = 388 // { int __mac_set_fd(int fd, struct mac *mac_p); } SYS___MAC_SET_FILE = 389 // { int __mac_set_file(const char *path_p, struct mac *mac_p); } SYS_KENV = 390 // { int kenv(int what, const char *name, char *value, int len); } SYS_LCHFLAGS = 391 // { int lchflags(const char *path, u_long 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, struct sf_hdtr *hdtr, off_t *sbytes, int flags); } SYS_MAC_SYSCALL = 394 // { int mac_syscall(const char *policy, int call, void *arg); } SYS_KSEM_CLOSE = 400 // { int ksem_close(semid_t id); } SYS_KSEM_POST = 401 // { int ksem_post(semid_t id); } SYS_KSEM_WAIT = 402 // { int ksem_wait(semid_t id); } SYS_KSEM_TRYWAIT = 403 // { int ksem_trywait(semid_t id); } SYS_KSEM_INIT = 404 // { int ksem_init(semid_t *idp, unsigned int value); } SYS_KSEM_OPEN = 405 // { int ksem_open(semid_t *idp, const char *name, int oflag, mode_t mode, unsigned int value); } SYS_KSEM_UNLINK = 406 // { int ksem_unlink(const char *name); } SYS_KSEM_GETVALUE = 407 // { int ksem_getvalue(semid_t id, int *val); } SYS_KSEM_DESTROY = 408 // { int ksem_destroy(semid_t id); } SYS___MAC_GET_PID = 409 // { int __mac_get_pid(pid_t pid, struct mac *mac_p); } SYS___MAC_GET_LINK = 410 // { int __mac_get_link(const char *path_p, struct mac *mac_p); } SYS___MAC_SET_LINK = 411 // { int __mac_set_link(const char *path_p, struct mac *mac_p); } SYS_EXTATTR_SET_LINK = 412 // { ssize_t extattr_set_link(const char *path, int attrnamespace, const char *attrname, void *data, size_t nbytes); } SYS_EXTATTR_GET_LINK = 413 // { ssize_t extattr_get_link(const char *path, int attrnamespace, const char *attrname, void *data, size_t nbytes); } SYS_EXTATTR_DELETE_LINK = 414 // { int extattr_delete_link(const char *path, int attrnamespace, const char *attrname); } SYS___MAC_EXECVE = 415 // { int __mac_execve(char *fname, char **argv, char **envv, struct mac *mac_p); } SYS_SIGACTION = 416 // { int sigaction(int sig, const struct sigaction *act, struct sigaction *oact); } SYS_SIGRETURN = 417 // { int sigreturn(const struct __ucontext *sigcntxp); } SYS_GETCONTEXT = 421 // { int getcontext(struct __ucontext *ucp); } SYS_SETCONTEXT = 422 // { int setcontext(const struct __ucontext *ucp); } SYS_SWAPCONTEXT = 423 // { int swapcontext(struct __ucontext *oucp, const struct __ucontext *ucp); } SYS_SWAPOFF = 424 // { int swapoff(const char *name); } SYS___ACL_GET_LINK = 425 // { int __acl_get_link(const char *path, acl_type_t type, struct acl *aclp); } SYS___ACL_SET_LINK = 426 // { int __acl_set_link(const char *path, acl_type_t type, struct acl *aclp); } SYS___ACL_DELETE_LINK = 427 // { int __acl_delete_link(const char *path, acl_type_t type); } SYS___ACL_ACLCHECK_LINK = 428 // { int __acl_aclcheck_link(const char *path, acl_type_t type, struct acl *aclp); } SYS_SIGWAIT = 429 // { int sigwait(const sigset_t *set, int *sig); } SYS_THR_CREATE = 430 // { int thr_create(ucontext_t *ctx, long *id, int flags); } 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_JAIL_ATTACH = 436 // { int jail_attach(int jid); } SYS_EXTATTR_LIST_FD = 437 // { ssize_t extattr_list_fd(int fd, int attrnamespace, void *data, size_t nbytes); } SYS_EXTATTR_LIST_FILE = 438 // { ssize_t extattr_list_file(const char *path, int attrnamespace, void *data, size_t nbytes); } SYS_EXTATTR_LIST_LINK = 439 // { ssize_t extattr_list_link(const char *path, int attrnamespace, void *data, size_t nbytes); } SYS_KSEM_TIMEDWAIT = 441 // { int ksem_timedwait(semid_t id, const struct timespec *abstime); } SYS_THR_SUSPEND = 442 // { int thr_suspend(const struct timespec *timeout); } 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, u_int length); } SYS_AUDITON = 446 // { int auditon(int cmd, void *data, u_int length); } 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(struct auditinfo_addr *auditinfo_addr, u_int length); } SYS_SETAUDIT_ADDR = 452 // { int setaudit_addr(struct auditinfo_addr *auditinfo_addr, u_int length); } SYS_AUDITCTL = 453 // { int auditctl(char *path); } SYS__UMTX_OP = 454 // { int _umtx_op(void *obj, int op, u_long val, void *uaddr1, void *uaddr2); } SYS_THR_NEW = 455 // { int thr_new(struct thr_param *param, int param_size); } SYS_SIGQUEUE = 456 // { int sigqueue(pid_t pid, int signum, void *value); } SYS_KMQ_OPEN = 457 // { int kmq_open(const char *path, int flags, mode_t mode, const struct mq_attr *attr); } SYS_KMQ_SETATTR = 458 // { int kmq_setattr(int mqd, const struct mq_attr *attr, struct mq_attr *oattr); } SYS_KMQ_TIMEDRECEIVE = 459 // { int kmq_timedreceive(int mqd, char *msg_ptr, size_t msg_len, unsigned *msg_prio, const struct timespec *abs_timeout); } SYS_KMQ_TIMEDSEND = 460 // { int kmq_timedsend(int mqd, const char *msg_ptr, size_t msg_len, unsigned msg_prio, const struct timespec *abs_timeout); } SYS_KMQ_NOTIFY = 461 // { int kmq_notify(int mqd, const struct sigevent *sigev); } SYS_KMQ_UNLINK = 462 // { int kmq_unlink(const char *path); } 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_AIO_FSYNC = 465 // { int aio_fsync(int op, struct aiocb *aiocbp); } SYS_RTPRIO_THREAD = 466 // { int rtprio_thread(int function, lwpid_t lwpid, struct rtprio *rtp); } 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, caddr_t to, __socklen_t tolen, struct sctp_sndrcvinfo *sinfo, int flags); } SYS_SCTP_GENERIC_SENDMSG_IOV = 473 // { int sctp_generic_sendmsg_iov(int sd, struct iovec *iov, int iovlen, caddr_t to, __socklen_t tolen, struct sctp_sndrcvinfo *sinfo, int flags); } SYS_SCTP_GENERIC_RECVMSG = 474 // { int sctp_generic_recvmsg(int sd, struct iovec *iov, int iovlen, struct sockaddr *from, __socklen_t *fromlenaddr, struct sctp_sndrcvinfo *sinfo, int *msg_flags); } SYS_PREAD = 475 // { ssize_t pread(int fd, void *buf, size_t nbyte, off_t offset); } SYS_PWRITE = 476 // { ssize_t pwrite(int fd, const void *buf, size_t nbyte, off_t offset); } SYS_MMAP = 477 // { caddr_t mmap(caddr_t addr, size_t len, int prot, int flags, int fd, off_t pos); } SYS_LSEEK = 478 // { off_t lseek(int fd, off_t offset, int whence); } 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, mode_t mode); } 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, cpusetid_t setid); } SYS_CPUSET_GETID = 486 // { int cpuset_getid(cpulevel_t level, cpuwhich_t which, id_t id, cpusetid_t *setid); } SYS_CPUSET_GETAFFINITY = 487 // { int cpuset_getaffinity(cpulevel_t level, cpuwhich_t which, id_t id, size_t cpusetsize, cpuset_t *mask); } SYS_CPUSET_SETAFFINITY = 488 // { int cpuset_setaffinity(cpulevel_t level, cpuwhich_t which, id_t id, size_t cpusetsize, const cpuset_t *mask); } SYS_FACCESSAT = 489 // { int faccessat(int fd, char *path, int amode, int flag); } SYS_FCHMODAT = 490 // { int fchmodat(int fd, char *path, mode_t mode, int flag); } SYS_FCHOWNAT = 491 // { int fchownat(int fd, char *path, uid_t uid, gid_t gid, int flag); } SYS_FEXECVE = 492 // { int fexecve(int fd, char **argv, char **envv); } SYS_FUTIMESAT = 494 // { int futimesat(int fd, char *path, struct timeval *times); } SYS_LINKAT = 495 // { int linkat(int fd1, char *path1, int fd2, char *path2, int flag); } 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_OPENAT = 499 // { int openat(int fd, char *path, int flag, mode_t mode); } SYS_READLINKAT = 500 // { ssize_t readlinkat(int fd, char *path, char *buf, size_t bufsize); } SYS_RENAMEAT = 501 // { int renameat(int oldfd, char *old, int newfd, char *new); } SYS_SYMLINKAT = 502 // { int symlinkat(char *path1, int fd, char *path2); } SYS_UNLINKAT = 503 // { int unlinkat(int fd, char *path, int flag); } SYS_POSIX_OPENPT = 504 // { int posix_openpt(int flags); } SYS_GSSD_SYSCALL = 505 // { int gssd_syscall(char *path); } SYS_JAIL_GET = 506 // { int jail_get(struct iovec *iovp, unsigned int iovcnt, int flags); } SYS_JAIL_SET = 507 // { int jail_set(struct iovec *iovp, unsigned int iovcnt, int flags); } SYS_JAIL_REMOVE = 508 // { int jail_remove(int jid); } SYS_CLOSEFROM = 509 // { int closefrom(int lowfd); } SYS___SEMCTL = 510 // { int __semctl(int semid, int semnum, int cmd, union semun *arg); } SYS_MSGCTL = 511 // { int msgctl(int msqid, int cmd, struct msqid_ds *buf); } SYS_SHMCTL = 512 // { int shmctl(int shmid, int cmd, struct shmid_ds *buf); } SYS_LPATHCONF = 513 // { int lpathconf(char *path, int name); } SYS___CAP_RIGHTS_GET = 515 // { int __cap_rights_get(int version, int fd, cap_rights_t *rightsp); } 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, fd_set *ou, fd_set *ex, const struct timespec *ts, const sigset_t *sm); } SYS_GETLOGINCLASS = 523 // { int getloginclass(char *namebuf, size_t namelen); } SYS_SETLOGINCLASS = 524 // { int setloginclass(const char *namebuf); } SYS_RCTL_GET_RACCT = 525 // { int rctl_get_racct(const void *inbufp, size_t inbuflen, void *outbufp, size_t outbuflen); } SYS_RCTL_GET_RULES = 526 // { int rctl_get_rules(const void *inbufp, size_t inbuflen, void *outbufp, size_t outbuflen); } SYS_RCTL_GET_LIMITS = 527 // { int rctl_get_limits(const void *inbufp, size_t inbuflen, void *outbufp, size_t outbuflen); } SYS_RCTL_ADD_RULE = 528 // { int rctl_add_rule(const void *inbufp, size_t inbuflen, void *outbufp, size_t outbuflen); } SYS_RCTL_REMOVE_RULE = 529 // { int rctl_remove_rule(const void *inbufp, size_t inbuflen, void *outbufp, size_t outbuflen); } SYS_POSIX_FALLOCATE = 530 // { int posix_fallocate(int fd, off_t offset, off_t len); } SYS_POSIX_FADVISE = 531 // { int posix_fadvise(int fd, off_t offset, off_t len, int advice); } SYS_WAIT6 = 532 // { int wait6(idtype_t idtype, id_t id, int *status, int options, struct __wrusage *wrusage, siginfo_t *info); } SYS_CAP_RIGHTS_LIMIT = 533 // { int cap_rights_limit(int fd, cap_rights_t *rightsp); } SYS_CAP_IOCTLS_LIMIT = 534 // { int cap_ioctls_limit(int fd, const u_long *cmds, size_t ncmds); } SYS_CAP_IOCTLS_GET = 535 // { ssize_t cap_ioctls_get(int fd, u_long *cmds, size_t maxcmds); } SYS_CAP_FCNTLS_LIMIT = 536 // { int cap_fcntls_limit(int fd, uint32_t fcntlrights); } SYS_CAP_FCNTLS_GET = 537 // { int cap_fcntls_get(int fd, uint32_t *fcntlrightsp); } SYS_BINDAT = 538 // { int bindat(int fd, int s, caddr_t name, int namelen); } SYS_CONNECTAT = 539 // { int connectat(int fd, int s, caddr_t name, int namelen); } SYS_CHFLAGSAT = 540 // { int chflagsat(int fd, const char *path, u_long flags, int atflag); } SYS_ACCEPT4 = 541 // { int accept4(int s, struct sockaddr * __restrict name, __socklen_t * __restrict anamelen, int flags); } SYS_PIPE2 = 542 // { int pipe2(int *fildes, int flags); } SYS_AIO_MLOCK = 543 // { int aio_mlock(struct aiocb *aiocbp); } SYS_PROCCTL = 544 // { int procctl(idtype_t idtype, id_t id, int com, void *data); } SYS_PPOLL = 545 // { int ppoll(struct pollfd *fds, u_int nfds, const struct timespec *ts, const sigset_t *set); } SYS_FUTIMENS = 546 // { int futimens(int fd, struct timespec *times); } SYS_UTIMENSAT = 547 // { int utimensat(int fd, char *path, struct timespec *times, int flag); } SYS_FDATASYNC = 550 // { int fdatasync(int fd); } SYS_FSTAT = 551 // { int fstat(int fd, struct stat *sb); } SYS_FSTATAT = 552 // { int fstatat(int fd, char *path, struct stat *buf, int flag); } SYS_FHSTAT = 553 // { int fhstat(const struct fhandle *u_fhp, struct stat *sb); } SYS_GETDIRENTRIES = 554 // { ssize_t getdirentries(int fd, char *buf, size_t count, off_t *basep); } SYS_STATFS = 555 // { int statfs(char *path, struct statfs *buf); } SYS_FSTATFS = 556 // { int fstatfs(int fd, struct statfs *buf); } SYS_GETFSSTAT = 557 // { int getfsstat(struct statfs *buf, long bufsize, int mode); } SYS_FHSTATFS = 558 // { int fhstatfs(const struct fhandle *u_fhp, struct statfs *buf); } SYS_MKNODAT = 559 // { int mknodat(int fd, char *path, mode_t mode, dev_t dev); } SYS_KEVENT = 560 // { int kevent(int fd, struct kevent *changelist, int nchanges, struct kevent *eventlist, int nevents, const struct timespec *timeout); } SYS_CPUSET_GETDOMAIN = 561 // { int cpuset_getdomain(cpulevel_t level, cpuwhich_t which, id_t id, size_t domainsetsize, domainset_t *mask, int *policy); } SYS_CPUSET_SETDOMAIN = 562 // { int cpuset_setdomain(cpulevel_t level, cpuwhich_t which, id_t id, size_t domainsetsize, domainset_t *mask, int policy); } SYS_GETRANDOM = 563 // { int getrandom(void *buf, size_t buflen, unsigned int flags); } SYS_GETFHAT = 564 // { int getfhat(int fd, char *path, struct fhandle *fhp, int flags); } SYS_FHLINK = 565 // { int fhlink(struct fhandle *fhp, const char *to); } SYS_FHLINKAT = 566 // { int fhlinkat(struct fhandle *fhp, int tofd, const char *to,); } SYS_FHREADLINK = 567 // { int fhreadlink(struct fhandle *fhp, char *buf, size_t bufsize); } SYS___SYSCTLBYNAME = 570 // { int __sysctlbyname(const char *name, size_t namelen, void *old, size_t *oldlenp, void *new, size_t newlen); } SYS_CLOSE_RANGE = 575 // { int close_range(u_int lowfd, u_int highfd, int flags); } ) dependencies/pkg/mod/golang.org/x/sys@v0.26.0/unix/syscall_linux_arm64.go0000644000000000000000000001400715107355264025044 0ustar rootroot// 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:build arm64 && linux package unix import "unsafe" //sys EpollWait(epfd int, events []EpollEvent, msec int) (n int, err error) = SYS_EPOLL_PWAIT //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 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 MemfdSecret(flags int) (fd 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 Renameat(olddirfd int, oldpath string, newdirfd int, newpath string) (err error) //sys Seek(fd int, offset int64, whence int) (off int64, err error) = SYS_LSEEK func Select(nfd int, r *FdSet, w *FdSet, e *FdSet, timeout *Timeval) (n int, err error) { var ts *Timespec if timeout != nil { ts = &Timespec{Sec: timeout.Sec, Nsec: timeout.Usec * 1000} } return pselect6(nfd, r, w, e, ts, nil) } //sys sendfile(outfd int, infd int, offset *int64, count int) (written int, err error) //sys setfsgid(gid int) (prev int, err error) //sys setfsuid(uid int) (prev 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) func Ustat(dev int, ubuf *Ustat_t) (err error) { return ENOSYS } //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) //sysnb Gettimeofday(tv *Timeval) (err error) func setTimespec(sec, nsec int64) Timespec { return Timespec{Sec: sec, Nsec: nsec} } func setTimeval(sec, usec int64) Timeval { return Timeval{Sec: sec, Usec: usec} } func futimesat(dirfd int, path string, tv *[2]Timeval) (err error) { if tv == nil { return utimensat(dirfd, path, nil, 0) } ts := []Timespec{ NsecToTimespec(TimevalToNsec(tv[0])), NsecToTimespec(TimevalToNsec(tv[1])), } return utimensat(dirfd, path, (*[2]Timespec)(unsafe.Pointer(&ts[0])), 0) } 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 utimes(path string, tv *[2]Timeval) (err error) { if tv == nil { return utimensat(AT_FDCWD, path, nil, 0) } ts := []Timespec{ NsecToTimespec(TimevalToNsec(tv[0])), NsecToTimespec(TimevalToNsec(tv[1])), } return utimensat(AT_FDCWD, path, (*[2]Timespec)(unsafe.Pointer(&ts[0])), 0) } // Getrlimit prefers the prlimit64 system call. See issue 38604. func Getrlimit(resource int, rlim *Rlimit) error { err := Prlimit(0, resource, nil, rlim) if err != ENOSYS { return err } return getrlimit(resource, rlim) } 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 (msghdr *Msghdr) SetIovlen(length int) { msghdr.Iovlen = uint64(length) } func (cmsg *Cmsghdr) SetLen(length int) { cmsg.Len = uint64(length) } func (rsa *RawSockaddrNFCLLCP) SetServiceNameLen(length int) { rsa.Service_name_len = uint64(length) } func Pause() error { _, err := ppoll(nil, 0, nil, nil) return err } //sys kexecFileLoad(kernelFd int, initrdFd int, cmdlineLen int, cmdline string, flags int) (err error) func KexecFileLoad(kernelFd int, initrdFd int, cmdline string, flags int) error { cmdlineLen := len(cmdline) if cmdlineLen > 0 { // Account for the additional NULL byte added by // BytePtrFromString in kexecFileLoad. The kexec_file_load // syscall expects a NULL-terminated string. cmdlineLen++ } return kexecFileLoad(kernelFd, initrdFd, cmdlineLen, cmdline, flags) } const SYS_FSTATAT = SYS_NEWFSTATAT dependencies/pkg/mod/golang.org/x/sys@v0.26.0/unix/bpxsvc_zos.s0000644000000000000000000002021615107355264023176 0ustar rootroot// Copyright 2024 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. #include "go_asm.h" #include "textflag.h" // function to call USS assembly language services // // doc: https://www.ibm.com/support/knowledgecenter/en/SSLTBW_3.1.0/com.ibm.zos.v3r1.bpxb100/bit64env.htm // // arg1 unsafe.Pointer array that ressembles an OS PLIST // // arg2 function offset as in // doc: https://www.ibm.com/support/knowledgecenter/en/SSLTBW_3.1.0/com.ibm.zos.v3r1.bpxb100/bpx2cr_List_of_offsets.htm // // func bpxcall(plist []unsafe.Pointer, bpx_offset int64) TEXT ·bpxcall(SB), NOSPLIT|NOFRAME, $0 MOVD plist_base+0(FP), R1 // r1 points to plist MOVD bpx_offset+24(FP), R2 // r2 offset to BPX vector table MOVD R14, R7 // save r14 MOVD R15, R8 // save r15 MOVWZ 16(R0), R9 MOVWZ 544(R9), R9 MOVWZ 24(R9), R9 // call vector in r9 ADD R2, R9 // add offset to vector table MOVWZ (R9), R9 // r9 points to entry point BYTE $0x0D // BL R14,R9 --> basr r14,r9 BYTE $0xE9 // clobbers 0,1,14,15 MOVD R8, R15 // restore 15 JMP R7 // return via saved return address // func A2e(arr [] byte) // code page conversion from 819 to 1047 TEXT ·A2e(SB), NOSPLIT|NOFRAME, $0 MOVD arg_base+0(FP), R2 // pointer to arry of characters MOVD arg_len+8(FP), R3 // count XOR R0, R0 XOR R1, R1 BYTE $0xA7; BYTE $0x15; BYTE $0x00; BYTE $0x82 // BRAS 1,(2+(256/2)) // ASCII -> EBCDIC conversion table: BYTE $0x00; BYTE $0x01; BYTE $0x02; BYTE $0x03 BYTE $0x37; BYTE $0x2d; BYTE $0x2e; BYTE $0x2f BYTE $0x16; BYTE $0x05; BYTE $0x15; BYTE $0x0b BYTE $0x0c; BYTE $0x0d; BYTE $0x0e; BYTE $0x0f BYTE $0x10; BYTE $0x11; BYTE $0x12; BYTE $0x13 BYTE $0x3c; BYTE $0x3d; BYTE $0x32; BYTE $0x26 BYTE $0x18; BYTE $0x19; BYTE $0x3f; BYTE $0x27 BYTE $0x1c; BYTE $0x1d; BYTE $0x1e; BYTE $0x1f BYTE $0x40; BYTE $0x5a; BYTE $0x7f; BYTE $0x7b BYTE $0x5b; BYTE $0x6c; BYTE $0x50; BYTE $0x7d BYTE $0x4d; BYTE $0x5d; BYTE $0x5c; BYTE $0x4e BYTE $0x6b; BYTE $0x60; BYTE $0x4b; BYTE $0x61 BYTE $0xf0; BYTE $0xf1; BYTE $0xf2; BYTE $0xf3 BYTE $0xf4; BYTE $0xf5; BYTE $0xf6; BYTE $0xf7 BYTE $0xf8; BYTE $0xf9; BYTE $0x7a; BYTE $0x5e BYTE $0x4c; BYTE $0x7e; BYTE $0x6e; BYTE $0x6f BYTE $0x7c; BYTE $0xc1; BYTE $0xc2; BYTE $0xc3 BYTE $0xc4; BYTE $0xc5; BYTE $0xc6; BYTE $0xc7 BYTE $0xc8; BYTE $0xc9; BYTE $0xd1; BYTE $0xd2 BYTE $0xd3; BYTE $0xd4; BYTE $0xd5; BYTE $0xd6 BYTE $0xd7; BYTE $0xd8; BYTE $0xd9; BYTE $0xe2 BYTE $0xe3; BYTE $0xe4; BYTE $0xe5; BYTE $0xe6 BYTE $0xe7; BYTE $0xe8; BYTE $0xe9; BYTE $0xad BYTE $0xe0; BYTE $0xbd; BYTE $0x5f; BYTE $0x6d BYTE $0x79; BYTE $0x81; BYTE $0x82; BYTE $0x83 BYTE $0x84; BYTE $0x85; BYTE $0x86; BYTE $0x87 BYTE $0x88; BYTE $0x89; BYTE $0x91; BYTE $0x92 BYTE $0x93; BYTE $0x94; BYTE $0x95; BYTE $0x96 BYTE $0x97; BYTE $0x98; BYTE $0x99; BYTE $0xa2 BYTE $0xa3; BYTE $0xa4; BYTE $0xa5; BYTE $0xa6 BYTE $0xa7; BYTE $0xa8; BYTE $0xa9; BYTE $0xc0 BYTE $0x4f; BYTE $0xd0; BYTE $0xa1; BYTE $0x07 BYTE $0x20; BYTE $0x21; BYTE $0x22; BYTE $0x23 BYTE $0x24; BYTE $0x25; BYTE $0x06; BYTE $0x17 BYTE $0x28; BYTE $0x29; BYTE $0x2a; BYTE $0x2b BYTE $0x2c; BYTE $0x09; BYTE $0x0a; BYTE $0x1b BYTE $0x30; BYTE $0x31; BYTE $0x1a; BYTE $0x33 BYTE $0x34; BYTE $0x35; BYTE $0x36; BYTE $0x08 BYTE $0x38; BYTE $0x39; BYTE $0x3a; BYTE $0x3b BYTE $0x04; BYTE $0x14; BYTE $0x3e; BYTE $0xff BYTE $0x41; BYTE $0xaa; BYTE $0x4a; BYTE $0xb1 BYTE $0x9f; BYTE $0xb2; BYTE $0x6a; BYTE $0xb5 BYTE $0xbb; BYTE $0xb4; BYTE $0x9a; BYTE $0x8a BYTE $0xb0; BYTE $0xca; BYTE $0xaf; BYTE $0xbc BYTE $0x90; BYTE $0x8f; BYTE $0xea; BYTE $0xfa BYTE $0xbe; BYTE $0xa0; BYTE $0xb6; BYTE $0xb3 BYTE $0x9d; BYTE $0xda; BYTE $0x9b; BYTE $0x8b BYTE $0xb7; BYTE $0xb8; BYTE $0xb9; BYTE $0xab BYTE $0x64; BYTE $0x65; BYTE $0x62; BYTE $0x66 BYTE $0x63; BYTE $0x67; BYTE $0x9e; BYTE $0x68 BYTE $0x74; BYTE $0x71; BYTE $0x72; BYTE $0x73 BYTE $0x78; BYTE $0x75; BYTE $0x76; BYTE $0x77 BYTE $0xac; BYTE $0x69; BYTE $0xed; BYTE $0xee BYTE $0xeb; BYTE $0xef; BYTE $0xec; BYTE $0xbf BYTE $0x80; BYTE $0xfd; BYTE $0xfe; BYTE $0xfb BYTE $0xfc; BYTE $0xba; BYTE $0xae; BYTE $0x59 BYTE $0x44; BYTE $0x45; BYTE $0x42; BYTE $0x46 BYTE $0x43; BYTE $0x47; BYTE $0x9c; BYTE $0x48 BYTE $0x54; BYTE $0x51; BYTE $0x52; BYTE $0x53 BYTE $0x58; BYTE $0x55; BYTE $0x56; BYTE $0x57 BYTE $0x8c; BYTE $0x49; BYTE $0xcd; BYTE $0xce BYTE $0xcb; BYTE $0xcf; BYTE $0xcc; BYTE $0xe1 BYTE $0x70; BYTE $0xdd; BYTE $0xde; BYTE $0xdb BYTE $0xdc; BYTE $0x8d; BYTE $0x8e; BYTE $0xdf retry: WORD $0xB9931022 // TROO 2,2,b'0001' BVS retry RET // func e2a(arr [] byte) // code page conversion from 1047 to 819 TEXT ·E2a(SB), NOSPLIT|NOFRAME, $0 MOVD arg_base+0(FP), R2 // pointer to arry of characters MOVD arg_len+8(FP), R3 // count XOR R0, R0 XOR R1, R1 BYTE $0xA7; BYTE $0x15; BYTE $0x00; BYTE $0x82 // BRAS 1,(2+(256/2)) // EBCDIC -> ASCII conversion table: BYTE $0x00; BYTE $0x01; BYTE $0x02; BYTE $0x03 BYTE $0x9c; BYTE $0x09; BYTE $0x86; BYTE $0x7f BYTE $0x97; BYTE $0x8d; BYTE $0x8e; BYTE $0x0b BYTE $0x0c; BYTE $0x0d; BYTE $0x0e; BYTE $0x0f BYTE $0x10; BYTE $0x11; BYTE $0x12; BYTE $0x13 BYTE $0x9d; BYTE $0x0a; BYTE $0x08; BYTE $0x87 BYTE $0x18; BYTE $0x19; BYTE $0x92; BYTE $0x8f BYTE $0x1c; BYTE $0x1d; BYTE $0x1e; BYTE $0x1f BYTE $0x80; BYTE $0x81; BYTE $0x82; BYTE $0x83 BYTE $0x84; BYTE $0x85; BYTE $0x17; BYTE $0x1b BYTE $0x88; BYTE $0x89; BYTE $0x8a; BYTE $0x8b BYTE $0x8c; BYTE $0x05; BYTE $0x06; BYTE $0x07 BYTE $0x90; BYTE $0x91; BYTE $0x16; BYTE $0x93 BYTE $0x94; BYTE $0x95; BYTE $0x96; BYTE $0x04 BYTE $0x98; BYTE $0x99; BYTE $0x9a; BYTE $0x9b BYTE $0x14; BYTE $0x15; BYTE $0x9e; BYTE $0x1a BYTE $0x20; BYTE $0xa0; BYTE $0xe2; BYTE $0xe4 BYTE $0xe0; BYTE $0xe1; BYTE $0xe3; BYTE $0xe5 BYTE $0xe7; BYTE $0xf1; BYTE $0xa2; BYTE $0x2e BYTE $0x3c; BYTE $0x28; BYTE $0x2b; BYTE $0x7c BYTE $0x26; BYTE $0xe9; BYTE $0xea; BYTE $0xeb BYTE $0xe8; BYTE $0xed; BYTE $0xee; BYTE $0xef BYTE $0xec; BYTE $0xdf; BYTE $0x21; BYTE $0x24 BYTE $0x2a; BYTE $0x29; BYTE $0x3b; BYTE $0x5e BYTE $0x2d; BYTE $0x2f; BYTE $0xc2; BYTE $0xc4 BYTE $0xc0; BYTE $0xc1; BYTE $0xc3; BYTE $0xc5 BYTE $0xc7; BYTE $0xd1; BYTE $0xa6; BYTE $0x2c BYTE $0x25; BYTE $0x5f; BYTE $0x3e; BYTE $0x3f BYTE $0xf8; BYTE $0xc9; BYTE $0xca; BYTE $0xcb BYTE $0xc8; BYTE $0xcd; BYTE $0xce; BYTE $0xcf BYTE $0xcc; BYTE $0x60; BYTE $0x3a; BYTE $0x23 BYTE $0x40; BYTE $0x27; BYTE $0x3d; BYTE $0x22 BYTE $0xd8; BYTE $0x61; BYTE $0x62; BYTE $0x63 BYTE $0x64; BYTE $0x65; BYTE $0x66; BYTE $0x67 BYTE $0x68; BYTE $0x69; BYTE $0xab; BYTE $0xbb BYTE $0xf0; BYTE $0xfd; BYTE $0xfe; BYTE $0xb1 BYTE $0xb0; BYTE $0x6a; BYTE $0x6b; BYTE $0x6c BYTE $0x6d; BYTE $0x6e; BYTE $0x6f; BYTE $0x70 BYTE $0x71; BYTE $0x72; BYTE $0xaa; BYTE $0xba BYTE $0xe6; BYTE $0xb8; BYTE $0xc6; BYTE $0xa4 BYTE $0xb5; BYTE $0x7e; BYTE $0x73; BYTE $0x74 BYTE $0x75; BYTE $0x76; BYTE $0x77; BYTE $0x78 BYTE $0x79; BYTE $0x7a; BYTE $0xa1; BYTE $0xbf BYTE $0xd0; BYTE $0x5b; BYTE $0xde; BYTE $0xae BYTE $0xac; BYTE $0xa3; BYTE $0xa5; BYTE $0xb7 BYTE $0xa9; BYTE $0xa7; BYTE $0xb6; BYTE $0xbc BYTE $0xbd; BYTE $0xbe; BYTE $0xdd; BYTE $0xa8 BYTE $0xaf; BYTE $0x5d; BYTE $0xb4; BYTE $0xd7 BYTE $0x7b; BYTE $0x41; BYTE $0x42; BYTE $0x43 BYTE $0x44; BYTE $0x45; BYTE $0x46; BYTE $0x47 BYTE $0x48; BYTE $0x49; BYTE $0xad; BYTE $0xf4 BYTE $0xf6; BYTE $0xf2; BYTE $0xf3; BYTE $0xf5 BYTE $0x7d; BYTE $0x4a; BYTE $0x4b; BYTE $0x4c BYTE $0x4d; BYTE $0x4e; BYTE $0x4f; BYTE $0x50 BYTE $0x51; BYTE $0x52; BYTE $0xb9; BYTE $0xfb BYTE $0xfc; BYTE $0xf9; BYTE $0xfa; BYTE $0xff BYTE $0x5c; BYTE $0xf7; BYTE $0x53; BYTE $0x54 BYTE $0x55; BYTE $0x56; BYTE $0x57; BYTE $0x58 BYTE $0x59; BYTE $0x5a; BYTE $0xb2; BYTE $0xd4 BYTE $0xd6; BYTE $0xd2; BYTE $0xd3; BYTE $0xd5 BYTE $0x30; BYTE $0x31; BYTE $0x32; BYTE $0x33 BYTE $0x34; BYTE $0x35; BYTE $0x36; BYTE $0x37 BYTE $0x38; BYTE $0x39; BYTE $0xb3; BYTE $0xdb BYTE $0xdc; BYTE $0xd9; BYTE $0xda; BYTE $0x9f retry: WORD $0xB9931022 // TROO 2,2,b'0001' BVS retry RET dependencies/pkg/mod/golang.org/x/sys@v0.26.0/unix/gccgo_c.c0000644000000000000000000000276615107355264022354 0ustar rootroot// 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:build gccgo && !aix && !hurd #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) __asm__(GOSYM_PREFIX GOPKGPATH ".realSyscall"); 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; } uintptr_t gccgoRealSyscallNoError(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) __asm__(GOSYM_PREFIX GOPKGPATH ".realSyscallNoError"); uintptr_t gccgoRealSyscallNoError(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) { return syscall(trap, a1, a2, a3, a4, a5, a6, a7, a8, a9); } dependencies/pkg/mod/golang.org/x/sys@v0.26.0/unix/zsyscall_openbsd_amd64.go0000644000000000000000000016416315107355264025524 0ustar rootroot// go run mksyscall.go -openbsd -libc -tags openbsd,amd64 syscall_bsd.go syscall_openbsd.go syscall_openbsd_amd64.go // Code generated by the command above; see README.md. DO NOT EDIT. //go: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 := syscall_rawSyscall(libc_getgroups_trampoline_addr, uintptr(ngid), uintptr(unsafe.Pointer(gid)), 0) n = int(r0) if e1 != 0 { err = errnoErr(e1) } return } var libc_getgroups_trampoline_addr uintptr //go:cgo_import_dynamic libc_getgroups getgroups "libc.so" // THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT func setgroups(ngid int, gid *_Gid_t) (err error) { _, _, e1 := syscall_rawSyscall(libc_setgroups_trampoline_addr, uintptr(ngid), uintptr(unsafe.Pointer(gid)), 0) if e1 != 0 { err = errnoErr(e1) } return } var libc_setgroups_trampoline_addr uintptr //go:cgo_import_dynamic libc_setgroups setgroups "libc.so" // 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 := syscall_syscall6(libc_wait4_trampoline_addr, uintptr(pid), uintptr(unsafe.Pointer(wstatus)), uintptr(options), uintptr(unsafe.Pointer(rusage)), 0, 0) wpid = int(r0) if e1 != 0 { err = errnoErr(e1) } return } var libc_wait4_trampoline_addr uintptr //go:cgo_import_dynamic libc_wait4 wait4 "libc.so" // 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_syscall(libc_accept_trampoline_addr, uintptr(s), uintptr(unsafe.Pointer(rsa)), uintptr(unsafe.Pointer(addrlen))) fd = int(r0) if e1 != 0 { err = errnoErr(e1) } return } var libc_accept_trampoline_addr uintptr //go:cgo_import_dynamic libc_accept accept "libc.so" // 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_syscall(libc_bind_trampoline_addr, uintptr(s), uintptr(addr), uintptr(addrlen)) if e1 != 0 { err = errnoErr(e1) } return } var libc_bind_trampoline_addr uintptr //go:cgo_import_dynamic libc_bind bind "libc.so" // 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_syscall(libc_connect_trampoline_addr, uintptr(s), uintptr(addr), uintptr(addrlen)) if e1 != 0 { err = errnoErr(e1) } return } var libc_connect_trampoline_addr uintptr //go:cgo_import_dynamic libc_connect connect "libc.so" // 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 := syscall_rawSyscall(libc_socket_trampoline_addr, uintptr(domain), uintptr(typ), uintptr(proto)) fd = int(r0) if e1 != 0 { err = errnoErr(e1) } return } var libc_socket_trampoline_addr uintptr //go:cgo_import_dynamic libc_socket socket "libc.so" // 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 := syscall_syscall6(libc_getsockopt_trampoline_addr, uintptr(s), uintptr(level), uintptr(name), uintptr(val), uintptr(unsafe.Pointer(vallen)), 0) if e1 != 0 { err = errnoErr(e1) } return } var libc_getsockopt_trampoline_addr uintptr //go:cgo_import_dynamic libc_getsockopt getsockopt "libc.so" // 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 := syscall_syscall6(libc_setsockopt_trampoline_addr, uintptr(s), uintptr(level), uintptr(name), uintptr(val), uintptr(vallen), 0) if e1 != 0 { err = errnoErr(e1) } return } var libc_setsockopt_trampoline_addr uintptr //go:cgo_import_dynamic libc_setsockopt setsockopt "libc.so" // THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT func getpeername(fd int, rsa *RawSockaddrAny, addrlen *_Socklen) (err error) { _, _, e1 := syscall_rawSyscall(libc_getpeername_trampoline_addr, uintptr(fd), uintptr(unsafe.Pointer(rsa)), uintptr(unsafe.Pointer(addrlen))) if e1 != 0 { err = errnoErr(e1) } return } var libc_getpeername_trampoline_addr uintptr //go:cgo_import_dynamic libc_getpeername getpeername "libc.so" // THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT func getsockname(fd int, rsa *RawSockaddrAny, addrlen *_Socklen) (err error) { _, _, e1 := syscall_rawSyscall(libc_getsockname_trampoline_addr, uintptr(fd), uintptr(unsafe.Pointer(rsa)), uintptr(unsafe.Pointer(addrlen))) if e1 != 0 { err = errnoErr(e1) } return } var libc_getsockname_trampoline_addr uintptr //go:cgo_import_dynamic libc_getsockname getsockname "libc.so" // THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT func Shutdown(s int, how int) (err error) { _, _, e1 := syscall_syscall(libc_shutdown_trampoline_addr, uintptr(s), uintptr(how), 0) if e1 != 0 { err = errnoErr(e1) } return } var libc_shutdown_trampoline_addr uintptr //go:cgo_import_dynamic libc_shutdown shutdown "libc.so" // 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 := syscall_rawSyscall6(libc_socketpair_trampoline_addr, uintptr(domain), uintptr(typ), uintptr(proto), uintptr(unsafe.Pointer(fd)), 0, 0) if e1 != 0 { err = errnoErr(e1) } return } var libc_socketpair_trampoline_addr uintptr //go:cgo_import_dynamic libc_socketpair socketpair "libc.so" // 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 := syscall_syscall6(libc_recvfrom_trampoline_addr, 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 } var libc_recvfrom_trampoline_addr uintptr //go:cgo_import_dynamic libc_recvfrom recvfrom "libc.so" // 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 := syscall_syscall6(libc_sendto_trampoline_addr, uintptr(s), uintptr(_p0), uintptr(len(buf)), uintptr(flags), uintptr(to), uintptr(addrlen)) if e1 != 0 { err = errnoErr(e1) } return } var libc_sendto_trampoline_addr uintptr //go:cgo_import_dynamic libc_sendto sendto "libc.so" // 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_syscall(libc_recvmsg_trampoline_addr, uintptr(s), uintptr(unsafe.Pointer(msg)), uintptr(flags)) n = int(r0) if e1 != 0 { err = errnoErr(e1) } return } var libc_recvmsg_trampoline_addr uintptr //go:cgo_import_dynamic libc_recvmsg recvmsg "libc.so" // 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_syscall(libc_sendmsg_trampoline_addr, uintptr(s), uintptr(unsafe.Pointer(msg)), uintptr(flags)) n = int(r0) if e1 != 0 { err = errnoErr(e1) } return } var libc_sendmsg_trampoline_addr uintptr //go:cgo_import_dynamic libc_sendmsg sendmsg "libc.so" // 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 := syscall_syscall6(libc_kevent_trampoline_addr, uintptr(kq), uintptr(change), uintptr(nchange), uintptr(event), uintptr(nevent), uintptr(unsafe.Pointer(timeout))) n = int(r0) if e1 != 0 { err = errnoErr(e1) } return } var libc_kevent_trampoline_addr uintptr //go:cgo_import_dynamic libc_kevent kevent "libc.so" // 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_syscall(libc_utimes_trampoline_addr, uintptr(unsafe.Pointer(_p0)), uintptr(unsafe.Pointer(timeval)), 0) if e1 != 0 { err = errnoErr(e1) } return } var libc_utimes_trampoline_addr uintptr //go:cgo_import_dynamic libc_utimes utimes "libc.so" // THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT func futimes(fd int, timeval *[2]Timeval) (err error) { _, _, e1 := syscall_syscall(libc_futimes_trampoline_addr, uintptr(fd), uintptr(unsafe.Pointer(timeval)), 0) if e1 != 0 { err = errnoErr(e1) } return } var libc_futimes_trampoline_addr uintptr //go:cgo_import_dynamic libc_futimes futimes "libc.so" // 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_syscall(libc_poll_trampoline_addr, uintptr(unsafe.Pointer(fds)), uintptr(nfds), uintptr(timeout)) n = int(r0) if e1 != 0 { err = errnoErr(e1) } return } var libc_poll_trampoline_addr uintptr //go:cgo_import_dynamic libc_poll poll "libc.so" // THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT func Madvise(b []byte, behav int) (err error) { var _p0 unsafe.Pointer if len(b) > 0 { _p0 = unsafe.Pointer(&b[0]) } else { _p0 = unsafe.Pointer(&_zero) } _, _, e1 := syscall_syscall(libc_madvise_trampoline_addr, uintptr(_p0), uintptr(len(b)), uintptr(behav)) if e1 != 0 { err = errnoErr(e1) } return } var libc_madvise_trampoline_addr uintptr //go:cgo_import_dynamic libc_madvise madvise "libc.so" // 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_syscall(libc_mlock_trampoline_addr, uintptr(_p0), uintptr(len(b)), 0) if e1 != 0 { err = errnoErr(e1) } return } var libc_mlock_trampoline_addr uintptr //go:cgo_import_dynamic libc_mlock mlock "libc.so" // THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT func Mlockall(flags int) (err error) { _, _, e1 := syscall_syscall(libc_mlockall_trampoline_addr, uintptr(flags), 0, 0) if e1 != 0 { err = errnoErr(e1) } return } var libc_mlockall_trampoline_addr uintptr //go:cgo_import_dynamic libc_mlockall mlockall "libc.so" // 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_syscall(libc_mprotect_trampoline_addr, uintptr(_p0), uintptr(len(b)), uintptr(prot)) if e1 != 0 { err = errnoErr(e1) } return } var libc_mprotect_trampoline_addr uintptr //go:cgo_import_dynamic libc_mprotect mprotect "libc.so" // THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT func Msync(b []byte, flags int) (err error) { var _p0 unsafe.Pointer if len(b) > 0 { _p0 = unsafe.Pointer(&b[0]) } else { _p0 = unsafe.Pointer(&_zero) } _, _, e1 := syscall_syscall(libc_msync_trampoline_addr, uintptr(_p0), uintptr(len(b)), uintptr(flags)) if e1 != 0 { err = errnoErr(e1) } return } var libc_msync_trampoline_addr uintptr //go:cgo_import_dynamic libc_msync msync "libc.so" // 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_syscall(libc_munlock_trampoline_addr, uintptr(_p0), uintptr(len(b)), 0) if e1 != 0 { err = errnoErr(e1) } return } var libc_munlock_trampoline_addr uintptr //go:cgo_import_dynamic libc_munlock munlock "libc.so" // THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT func Munlockall() (err error) { _, _, e1 := syscall_syscall(libc_munlockall_trampoline_addr, 0, 0, 0) if e1 != 0 { err = errnoErr(e1) } return } var libc_munlockall_trampoline_addr uintptr //go:cgo_import_dynamic libc_munlockall munlockall "libc.so" // THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT func pipe2(p *[2]_C_int, flags int) (err error) { _, _, e1 := syscall_rawSyscall(libc_pipe2_trampoline_addr, uintptr(unsafe.Pointer(p)), uintptr(flags), 0) if e1 != 0 { err = errnoErr(e1) } return } var libc_pipe2_trampoline_addr uintptr //go:cgo_import_dynamic libc_pipe2 pipe2 "libc.so" // 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_syscall(libc_getdents_trampoline_addr, uintptr(fd), uintptr(_p0), uintptr(len(buf))) n = int(r0) if e1 != 0 { err = errnoErr(e1) } return } var libc_getdents_trampoline_addr uintptr //go:cgo_import_dynamic libc_getdents getdents "libc.so" // 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_syscall(libc_getcwd_trampoline_addr, uintptr(_p0), uintptr(len(buf)), 0) n = int(r0) if e1 != 0 { err = errnoErr(e1) } return } var libc_getcwd_trampoline_addr uintptr //go:cgo_import_dynamic libc_getcwd getcwd "libc.so" // THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT func getresuid(ruid *_C_int, euid *_C_int, suid *_C_int) { syscall_rawSyscall(libc_getresuid_trampoline_addr, uintptr(unsafe.Pointer(ruid)), uintptr(unsafe.Pointer(euid)), uintptr(unsafe.Pointer(suid))) return } var libc_getresuid_trampoline_addr uintptr //go:cgo_import_dynamic libc_getresuid getresuid "libc.so" // THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT func getresgid(rgid *_C_int, egid *_C_int, sgid *_C_int) { syscall_rawSyscall(libc_getresgid_trampoline_addr, uintptr(unsafe.Pointer(rgid)), uintptr(unsafe.Pointer(egid)), uintptr(unsafe.Pointer(sgid))) return } var libc_getresgid_trampoline_addr uintptr //go:cgo_import_dynamic libc_getresgid getresgid "libc.so" // 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_syscall(libc_ioctl_trampoline_addr, uintptr(fd), uintptr(req), uintptr(arg)) if e1 != 0 { err = errnoErr(e1) } return } var libc_ioctl_trampoline_addr uintptr //go:cgo_import_dynamic libc_ioctl ioctl "libc.so" // THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT func ioctlPtr(fd int, req uint, arg unsafe.Pointer) (err error) { _, _, e1 := syscall_syscall(libc_ioctl_trampoline_addr, 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 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 := syscall_syscall6(libc_sysctl_trampoline_addr, 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 } var libc_sysctl_trampoline_addr uintptr //go:cgo_import_dynamic libc_sysctl sysctl "libc.so" // THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT func fcntl(fd int, cmd int, arg int) (n int, err error) { r0, _, e1 := syscall_syscall(libc_fcntl_trampoline_addr, uintptr(fd), uintptr(cmd), uintptr(arg)) n = int(r0) if e1 != 0 { err = errnoErr(e1) } return } var libc_fcntl_trampoline_addr uintptr //go:cgo_import_dynamic libc_fcntl fcntl "libc.so" // THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT func fcntlPtr(fd int, cmd int, arg unsafe.Pointer) (n int, err error) { r0, _, e1 := syscall_syscall(libc_fcntl_trampoline_addr, uintptr(fd), uintptr(cmd), uintptr(arg)) n = 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 := syscall_syscall6(libc_ppoll_trampoline_addr, 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 } var libc_ppoll_trampoline_addr uintptr //go:cgo_import_dynamic libc_ppoll ppoll "libc.so" // 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_syscall(libc_access_trampoline_addr, uintptr(unsafe.Pointer(_p0)), uintptr(mode), 0) if e1 != 0 { err = errnoErr(e1) } return } var libc_access_trampoline_addr uintptr //go:cgo_import_dynamic libc_access access "libc.so" // THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT func Adjtime(delta *Timeval, olddelta *Timeval) (err error) { _, _, e1 := syscall_syscall(libc_adjtime_trampoline_addr, uintptr(unsafe.Pointer(delta)), uintptr(unsafe.Pointer(olddelta)), 0) if e1 != 0 { err = errnoErr(e1) } return } var libc_adjtime_trampoline_addr uintptr //go:cgo_import_dynamic libc_adjtime adjtime "libc.so" // 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_syscall(libc_chdir_trampoline_addr, uintptr(unsafe.Pointer(_p0)), 0, 0) if e1 != 0 { err = errnoErr(e1) } return } var libc_chdir_trampoline_addr uintptr //go:cgo_import_dynamic libc_chdir chdir "libc.so" // 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_syscall(libc_chflags_trampoline_addr, uintptr(unsafe.Pointer(_p0)), uintptr(flags), 0) if e1 != 0 { err = errnoErr(e1) } return } var libc_chflags_trampoline_addr uintptr //go:cgo_import_dynamic libc_chflags chflags "libc.so" // 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_syscall(libc_chmod_trampoline_addr, uintptr(unsafe.Pointer(_p0)), uintptr(mode), 0) if e1 != 0 { err = errnoErr(e1) } return } var libc_chmod_trampoline_addr uintptr //go:cgo_import_dynamic libc_chmod chmod "libc.so" // 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_syscall(libc_chown_trampoline_addr, uintptr(unsafe.Pointer(_p0)), uintptr(uid), uintptr(gid)) if e1 != 0 { err = errnoErr(e1) } return } var libc_chown_trampoline_addr uintptr //go:cgo_import_dynamic libc_chown chown "libc.so" // 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_syscall(libc_chroot_trampoline_addr, uintptr(unsafe.Pointer(_p0)), 0, 0) if e1 != 0 { err = errnoErr(e1) } return } var libc_chroot_trampoline_addr uintptr //go:cgo_import_dynamic libc_chroot chroot "libc.so" // THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT func ClockGettime(clockid int32, time *Timespec) (err error) { _, _, e1 := syscall_syscall(libc_clock_gettime_trampoline_addr, uintptr(clockid), uintptr(unsafe.Pointer(time)), 0) if e1 != 0 { err = errnoErr(e1) } return } var libc_clock_gettime_trampoline_addr uintptr //go:cgo_import_dynamic libc_clock_gettime clock_gettime "libc.so" // THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT func Close(fd int) (err error) { _, _, e1 := syscall_syscall(libc_close_trampoline_addr, uintptr(fd), 0, 0) if e1 != 0 { err = errnoErr(e1) } return } var libc_close_trampoline_addr uintptr //go:cgo_import_dynamic libc_close close "libc.so" // THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT func Dup(fd int) (nfd int, err error) { r0, _, e1 := syscall_syscall(libc_dup_trampoline_addr, uintptr(fd), 0, 0) nfd = int(r0) if e1 != 0 { err = errnoErr(e1) } return } var libc_dup_trampoline_addr uintptr //go:cgo_import_dynamic libc_dup dup "libc.so" // THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT func Dup2(from int, to int) (err error) { _, _, e1 := syscall_syscall(libc_dup2_trampoline_addr, uintptr(from), uintptr(to), 0) if e1 != 0 { err = errnoErr(e1) } return } var libc_dup2_trampoline_addr uintptr //go:cgo_import_dynamic libc_dup2 dup2 "libc.so" // THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT func Dup3(from int, to int, flags int) (err error) { _, _, e1 := syscall_syscall(libc_dup3_trampoline_addr, uintptr(from), uintptr(to), uintptr(flags)) if e1 != 0 { err = errnoErr(e1) } return } var libc_dup3_trampoline_addr uintptr //go:cgo_import_dynamic libc_dup3 dup3 "libc.so" // THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT func Exit(code int) { syscall_syscall(libc_exit_trampoline_addr, uintptr(code), 0, 0) return } var libc_exit_trampoline_addr uintptr //go:cgo_import_dynamic libc_exit exit "libc.so" // 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 := syscall_syscall6(libc_faccessat_trampoline_addr, uintptr(dirfd), uintptr(unsafe.Pointer(_p0)), uintptr(mode), uintptr(flags), 0, 0) if e1 != 0 { err = errnoErr(e1) } return } var libc_faccessat_trampoline_addr uintptr //go:cgo_import_dynamic libc_faccessat faccessat "libc.so" // THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT func Fchdir(fd int) (err error) { _, _, e1 := syscall_syscall(libc_fchdir_trampoline_addr, uintptr(fd), 0, 0) if e1 != 0 { err = errnoErr(e1) } return } var libc_fchdir_trampoline_addr uintptr //go:cgo_import_dynamic libc_fchdir fchdir "libc.so" // THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT func Fchflags(fd int, flags int) (err error) { _, _, e1 := syscall_syscall(libc_fchflags_trampoline_addr, uintptr(fd), uintptr(flags), 0) if e1 != 0 { err = errnoErr(e1) } return } var libc_fchflags_trampoline_addr uintptr //go:cgo_import_dynamic libc_fchflags fchflags "libc.so" // THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT func Fchmod(fd int, mode uint32) (err error) { _, _, e1 := syscall_syscall(libc_fchmod_trampoline_addr, uintptr(fd), uintptr(mode), 0) if e1 != 0 { err = errnoErr(e1) } return } var libc_fchmod_trampoline_addr uintptr //go:cgo_import_dynamic libc_fchmod fchmod "libc.so" // 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 := syscall_syscall6(libc_fchmodat_trampoline_addr, uintptr(dirfd), uintptr(unsafe.Pointer(_p0)), uintptr(mode), uintptr(flags), 0, 0) if e1 != 0 { err = errnoErr(e1) } return } var libc_fchmodat_trampoline_addr uintptr //go:cgo_import_dynamic libc_fchmodat fchmodat "libc.so" // 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_syscall(libc_fchown_trampoline_addr, uintptr(fd), uintptr(uid), uintptr(gid)) if e1 != 0 { err = errnoErr(e1) } return } var libc_fchown_trampoline_addr uintptr //go:cgo_import_dynamic libc_fchown fchown "libc.so" // 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 := syscall_syscall6(libc_fchownat_trampoline_addr, uintptr(dirfd), uintptr(unsafe.Pointer(_p0)), uintptr(uid), uintptr(gid), uintptr(flags), 0) if e1 != 0 { err = errnoErr(e1) } return } var libc_fchownat_trampoline_addr uintptr //go:cgo_import_dynamic libc_fchownat fchownat "libc.so" // THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT func Flock(fd int, how int) (err error) { _, _, e1 := syscall_syscall(libc_flock_trampoline_addr, uintptr(fd), uintptr(how), 0) if e1 != 0 { err = errnoErr(e1) } return } var libc_flock_trampoline_addr uintptr //go:cgo_import_dynamic libc_flock flock "libc.so" // 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_syscall(libc_fpathconf_trampoline_addr, uintptr(fd), uintptr(name), 0) val = int(r0) if e1 != 0 { err = errnoErr(e1) } return } var libc_fpathconf_trampoline_addr uintptr //go:cgo_import_dynamic libc_fpathconf fpathconf "libc.so" // THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT func Fstat(fd int, stat *Stat_t) (err error) { _, _, e1 := syscall_syscall(libc_fstat_trampoline_addr, uintptr(fd), uintptr(unsafe.Pointer(stat)), 0) if e1 != 0 { err = errnoErr(e1) } return } var libc_fstat_trampoline_addr uintptr //go:cgo_import_dynamic libc_fstat fstat "libc.so" // 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 := syscall_syscall6(libc_fstatat_trampoline_addr, uintptr(fd), uintptr(unsafe.Pointer(_p0)), uintptr(unsafe.Pointer(stat)), uintptr(flags), 0, 0) if e1 != 0 { err = errnoErr(e1) } return } var libc_fstatat_trampoline_addr uintptr //go:cgo_import_dynamic libc_fstatat fstatat "libc.so" // THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT func Fstatfs(fd int, stat *Statfs_t) (err error) { _, _, e1 := syscall_syscall(libc_fstatfs_trampoline_addr, uintptr(fd), uintptr(unsafe.Pointer(stat)), 0) if e1 != 0 { err = errnoErr(e1) } return } var libc_fstatfs_trampoline_addr uintptr //go:cgo_import_dynamic libc_fstatfs fstatfs "libc.so" // THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT func Fsync(fd int) (err error) { _, _, e1 := syscall_syscall(libc_fsync_trampoline_addr, uintptr(fd), 0, 0) if e1 != 0 { err = errnoErr(e1) } return } var libc_fsync_trampoline_addr uintptr //go:cgo_import_dynamic libc_fsync fsync "libc.so" // THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT func Ftruncate(fd int, length int64) (err error) { _, _, e1 := syscall_syscall(libc_ftruncate_trampoline_addr, uintptr(fd), uintptr(length), 0) if e1 != 0 { err = errnoErr(e1) } return } var libc_ftruncate_trampoline_addr uintptr //go:cgo_import_dynamic libc_ftruncate ftruncate "libc.so" // THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT func Getegid() (egid int) { r0, _, _ := syscall_rawSyscall(libc_getegid_trampoline_addr, 0, 0, 0) egid = int(r0) return } var libc_getegid_trampoline_addr uintptr //go:cgo_import_dynamic libc_getegid getegid "libc.so" // THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT func Geteuid() (uid int) { r0, _, _ := syscall_rawSyscall(libc_geteuid_trampoline_addr, 0, 0, 0) uid = int(r0) return } var libc_geteuid_trampoline_addr uintptr //go:cgo_import_dynamic libc_geteuid geteuid "libc.so" // THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT func Getgid() (gid int) { r0, _, _ := syscall_rawSyscall(libc_getgid_trampoline_addr, 0, 0, 0) gid = int(r0) return } var libc_getgid_trampoline_addr uintptr //go:cgo_import_dynamic libc_getgid getgid "libc.so" // THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT func Getpgid(pid int) (pgid int, err error) { r0, _, e1 := syscall_rawSyscall(libc_getpgid_trampoline_addr, uintptr(pid), 0, 0) pgid = int(r0) if e1 != 0 { err = errnoErr(e1) } return } var libc_getpgid_trampoline_addr uintptr //go:cgo_import_dynamic libc_getpgid getpgid "libc.so" // THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT func Getpgrp() (pgrp int) { r0, _, _ := syscall_rawSyscall(libc_getpgrp_trampoline_addr, 0, 0, 0) pgrp = int(r0) return } var libc_getpgrp_trampoline_addr uintptr //go:cgo_import_dynamic libc_getpgrp getpgrp "libc.so" // THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT func Getpid() (pid int) { r0, _, _ := syscall_rawSyscall(libc_getpid_trampoline_addr, 0, 0, 0) pid = int(r0) return } var libc_getpid_trampoline_addr uintptr //go:cgo_import_dynamic libc_getpid getpid "libc.so" // THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT func Getppid() (ppid int) { r0, _, _ := syscall_rawSyscall(libc_getppid_trampoline_addr, 0, 0, 0) ppid = int(r0) return } var libc_getppid_trampoline_addr uintptr //go:cgo_import_dynamic libc_getppid getppid "libc.so" // 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_syscall(libc_getpriority_trampoline_addr, uintptr(which), uintptr(who), 0) prio = int(r0) if e1 != 0 { err = errnoErr(e1) } return } var libc_getpriority_trampoline_addr uintptr //go:cgo_import_dynamic libc_getpriority getpriority "libc.so" // THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT func Getrlimit(which int, lim *Rlimit) (err error) { _, _, e1 := syscall_rawSyscall(libc_getrlimit_trampoline_addr, uintptr(which), uintptr(unsafe.Pointer(lim)), 0) if e1 != 0 { err = errnoErr(e1) } return } var libc_getrlimit_trampoline_addr uintptr //go:cgo_import_dynamic libc_getrlimit getrlimit "libc.so" // THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT func Getrtable() (rtable int, err error) { r0, _, e1 := syscall_rawSyscall(libc_getrtable_trampoline_addr, 0, 0, 0) rtable = int(r0) if e1 != 0 { err = errnoErr(e1) } return } var libc_getrtable_trampoline_addr uintptr //go:cgo_import_dynamic libc_getrtable getrtable "libc.so" // THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT func Getrusage(who int, rusage *Rusage) (err error) { _, _, e1 := syscall_rawSyscall(libc_getrusage_trampoline_addr, uintptr(who), uintptr(unsafe.Pointer(rusage)), 0) if e1 != 0 { err = errnoErr(e1) } return } var libc_getrusage_trampoline_addr uintptr //go:cgo_import_dynamic libc_getrusage getrusage "libc.so" // THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT func Getsid(pid int) (sid int, err error) { r0, _, e1 := syscall_rawSyscall(libc_getsid_trampoline_addr, uintptr(pid), 0, 0) sid = int(r0) if e1 != 0 { err = errnoErr(e1) } return } var libc_getsid_trampoline_addr uintptr //go:cgo_import_dynamic libc_getsid getsid "libc.so" // THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT func Gettimeofday(tv *Timeval) (err error) { _, _, e1 := syscall_rawSyscall(libc_gettimeofday_trampoline_addr, uintptr(unsafe.Pointer(tv)), 0, 0) if e1 != 0 { err = errnoErr(e1) } return } var libc_gettimeofday_trampoline_addr uintptr //go:cgo_import_dynamic libc_gettimeofday gettimeofday "libc.so" // THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT func Getuid() (uid int) { r0, _, _ := syscall_rawSyscall(libc_getuid_trampoline_addr, 0, 0, 0) uid = int(r0) return } var libc_getuid_trampoline_addr uintptr //go:cgo_import_dynamic libc_getuid getuid "libc.so" // THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT func Issetugid() (tainted bool) { r0, _, _ := syscall_syscall(libc_issetugid_trampoline_addr, 0, 0, 0) tainted = bool(r0 != 0) return } var libc_issetugid_trampoline_addr uintptr //go:cgo_import_dynamic libc_issetugid issetugid "libc.so" // THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT func Kill(pid int, signum syscall.Signal) (err error) { _, _, e1 := syscall_syscall(libc_kill_trampoline_addr, uintptr(pid), uintptr(signum), 0) if e1 != 0 { err = errnoErr(e1) } return } var libc_kill_trampoline_addr uintptr //go:cgo_import_dynamic libc_kill kill "libc.so" // THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT func Kqueue() (fd int, err error) { r0, _, e1 := syscall_syscall(libc_kqueue_trampoline_addr, 0, 0, 0) fd = int(r0) if e1 != 0 { err = errnoErr(e1) } return } var libc_kqueue_trampoline_addr uintptr //go:cgo_import_dynamic libc_kqueue kqueue "libc.so" // 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_syscall(libc_lchown_trampoline_addr, uintptr(unsafe.Pointer(_p0)), uintptr(uid), uintptr(gid)) if e1 != 0 { err = errnoErr(e1) } return } var libc_lchown_trampoline_addr uintptr //go:cgo_import_dynamic libc_lchown lchown "libc.so" // 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_syscall(libc_link_trampoline_addr, uintptr(unsafe.Pointer(_p0)), uintptr(unsafe.Pointer(_p1)), 0) if e1 != 0 { err = errnoErr(e1) } return } var libc_link_trampoline_addr uintptr //go:cgo_import_dynamic libc_link link "libc.so" // THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT func Linkat(pathfd int, path string, linkfd int, link string, flags int) (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_syscall6(libc_linkat_trampoline_addr, uintptr(pathfd), uintptr(unsafe.Pointer(_p0)), uintptr(linkfd), uintptr(unsafe.Pointer(_p1)), uintptr(flags), 0) if e1 != 0 { err = errnoErr(e1) } return } var libc_linkat_trampoline_addr uintptr //go:cgo_import_dynamic libc_linkat linkat "libc.so" // THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT func Listen(s int, backlog int) (err error) { _, _, e1 := syscall_syscall(libc_listen_trampoline_addr, uintptr(s), uintptr(backlog), 0) if e1 != 0 { err = errnoErr(e1) } return } var libc_listen_trampoline_addr uintptr //go:cgo_import_dynamic libc_listen listen "libc.so" // 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_syscall(libc_lstat_trampoline_addr, uintptr(unsafe.Pointer(_p0)), uintptr(unsafe.Pointer(stat)), 0) if e1 != 0 { err = errnoErr(e1) } return } var libc_lstat_trampoline_addr uintptr //go:cgo_import_dynamic libc_lstat lstat "libc.so" // 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_syscall(libc_mkdir_trampoline_addr, uintptr(unsafe.Pointer(_p0)), uintptr(mode), 0) if e1 != 0 { err = errnoErr(e1) } return } var libc_mkdir_trampoline_addr uintptr //go:cgo_import_dynamic libc_mkdir mkdir "libc.so" // 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_syscall(libc_mkdirat_trampoline_addr, uintptr(dirfd), uintptr(unsafe.Pointer(_p0)), uintptr(mode)) if e1 != 0 { err = errnoErr(e1) } return } var libc_mkdirat_trampoline_addr uintptr //go:cgo_import_dynamic libc_mkdirat mkdirat "libc.so" // 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_syscall(libc_mkfifo_trampoline_addr, uintptr(unsafe.Pointer(_p0)), uintptr(mode), 0) if e1 != 0 { err = errnoErr(e1) } return } var libc_mkfifo_trampoline_addr uintptr //go:cgo_import_dynamic libc_mkfifo mkfifo "libc.so" // THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT func Mkfifoat(dirfd int, path string, mode uint32) (err error) { var _p0 *byte _p0, err = BytePtrFromString(path) if err != nil { return } _, _, e1 := syscall_syscall(libc_mkfifoat_trampoline_addr, uintptr(dirfd), uintptr(unsafe.Pointer(_p0)), uintptr(mode)) if e1 != 0 { err = errnoErr(e1) } return } var libc_mkfifoat_trampoline_addr uintptr //go:cgo_import_dynamic libc_mkfifoat mkfifoat "libc.so" // 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_syscall(libc_mknod_trampoline_addr, uintptr(unsafe.Pointer(_p0)), uintptr(mode), uintptr(dev)) if e1 != 0 { err = errnoErr(e1) } return } var libc_mknod_trampoline_addr uintptr //go:cgo_import_dynamic libc_mknod mknod "libc.so" // 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 := syscall_syscall6(libc_mknodat_trampoline_addr, uintptr(dirfd), uintptr(unsafe.Pointer(_p0)), uintptr(mode), uintptr(dev), 0, 0) if e1 != 0 { err = errnoErr(e1) } return } var libc_mknodat_trampoline_addr uintptr //go:cgo_import_dynamic libc_mknodat mknodat "libc.so" // THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT func Mount(fsType string, dir string, flags int, data unsafe.Pointer) (err error) { var _p0 *byte _p0, err = BytePtrFromString(fsType) if err != nil { return } var _p1 *byte _p1, err = BytePtrFromString(dir) if err != nil { return } _, _, e1 := syscall_syscall6(libc_mount_trampoline_addr, uintptr(unsafe.Pointer(_p0)), uintptr(unsafe.Pointer(_p1)), uintptr(flags), uintptr(data), 0, 0) if e1 != 0 { err = errnoErr(e1) } return } var libc_mount_trampoline_addr uintptr //go:cgo_import_dynamic libc_mount mount "libc.so" // THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT func Nanosleep(time *Timespec, leftover *Timespec) (err error) { _, _, e1 := syscall_syscall(libc_nanosleep_trampoline_addr, uintptr(unsafe.Pointer(time)), uintptr(unsafe.Pointer(leftover)), 0) if e1 != 0 { err = errnoErr(e1) } return } var libc_nanosleep_trampoline_addr uintptr //go:cgo_import_dynamic libc_nanosleep nanosleep "libc.so" // 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_syscall(libc_open_trampoline_addr, uintptr(unsafe.Pointer(_p0)), uintptr(mode), uintptr(perm)) fd = int(r0) if e1 != 0 { err = errnoErr(e1) } return } var libc_open_trampoline_addr uintptr //go:cgo_import_dynamic libc_open open "libc.so" // THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT func Openat(dirfd int, path string, mode int, perm uint32) (fd int, err error) { var _p0 *byte _p0, err = BytePtrFromString(path) if err != nil { return } r0, _, e1 := syscall_syscall6(libc_openat_trampoline_addr, uintptr(dirfd), uintptr(unsafe.Pointer(_p0)), uintptr(mode), uintptr(perm), 0, 0) fd = int(r0) if e1 != 0 { err = errnoErr(e1) } return } var libc_openat_trampoline_addr uintptr //go:cgo_import_dynamic libc_openat openat "libc.so" // 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_syscall(libc_pathconf_trampoline_addr, uintptr(unsafe.Pointer(_p0)), uintptr(name), 0) val = int(r0) if e1 != 0 { err = errnoErr(e1) } return } var libc_pathconf_trampoline_addr uintptr //go:cgo_import_dynamic libc_pathconf pathconf "libc.so" // 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 := syscall_syscall6(libc_pread_trampoline_addr, uintptr(fd), uintptr(_p0), uintptr(len(p)), uintptr(offset), 0, 0) n = int(r0) if e1 != 0 { err = errnoErr(e1) } return } var libc_pread_trampoline_addr uintptr //go:cgo_import_dynamic libc_pread pread "libc.so" // 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 := syscall_syscall6(libc_pwrite_trampoline_addr, uintptr(fd), uintptr(_p0), uintptr(len(p)), uintptr(offset), 0, 0) n = int(r0) if e1 != 0 { err = errnoErr(e1) } return } var libc_pwrite_trampoline_addr uintptr //go:cgo_import_dynamic libc_pwrite pwrite "libc.so" // 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_syscall(libc_read_trampoline_addr, uintptr(fd), uintptr(_p0), uintptr(len(p))) n = int(r0) if e1 != 0 { err = errnoErr(e1) } return } var libc_read_trampoline_addr uintptr //go:cgo_import_dynamic libc_read read "libc.so" // 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_syscall(libc_readlink_trampoline_addr, uintptr(unsafe.Pointer(_p0)), uintptr(_p1), uintptr(len(buf))) n = int(r0) if e1 != 0 { err = errnoErr(e1) } return } var libc_readlink_trampoline_addr uintptr //go:cgo_import_dynamic libc_readlink readlink "libc.so" // 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 := syscall_syscall6(libc_readlinkat_trampoline_addr, uintptr(dirfd), uintptr(unsafe.Pointer(_p0)), uintptr(_p1), uintptr(len(buf)), 0, 0) n = int(r0) if e1 != 0 { err = errnoErr(e1) } return } var libc_readlinkat_trampoline_addr uintptr //go:cgo_import_dynamic libc_readlinkat readlinkat "libc.so" // 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_syscall(libc_rename_trampoline_addr, uintptr(unsafe.Pointer(_p0)), uintptr(unsafe.Pointer(_p1)), 0) if e1 != 0 { err = errnoErr(e1) } return } var libc_rename_trampoline_addr uintptr //go:cgo_import_dynamic libc_rename rename "libc.so" // THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT func Renameat(fromfd int, from string, tofd int, 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_syscall6(libc_renameat_trampoline_addr, uintptr(fromfd), uintptr(unsafe.Pointer(_p0)), uintptr(tofd), uintptr(unsafe.Pointer(_p1)), 0, 0) if e1 != 0 { err = errnoErr(e1) } return } var libc_renameat_trampoline_addr uintptr //go:cgo_import_dynamic libc_renameat renameat "libc.so" // 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_syscall(libc_revoke_trampoline_addr, uintptr(unsafe.Pointer(_p0)), 0, 0) if e1 != 0 { err = errnoErr(e1) } return } var libc_revoke_trampoline_addr uintptr //go:cgo_import_dynamic libc_revoke revoke "libc.so" // 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_syscall(libc_rmdir_trampoline_addr, uintptr(unsafe.Pointer(_p0)), 0, 0) if e1 != 0 { err = errnoErr(e1) } return } var libc_rmdir_trampoline_addr uintptr //go:cgo_import_dynamic libc_rmdir rmdir "libc.so" // 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_syscall(libc_lseek_trampoline_addr, uintptr(fd), uintptr(offset), uintptr(whence)) newoffset = int64(r0) if e1 != 0 { err = errnoErr(e1) } return } var libc_lseek_trampoline_addr uintptr //go:cgo_import_dynamic libc_lseek lseek "libc.so" // 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 := syscall_syscall6(libc_select_trampoline_addr, 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 } var libc_select_trampoline_addr uintptr //go:cgo_import_dynamic libc_select select "libc.so" // THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT func Setegid(egid int) (err error) { _, _, e1 := syscall_rawSyscall(libc_setegid_trampoline_addr, uintptr(egid), 0, 0) if e1 != 0 { err = errnoErr(e1) } return } var libc_setegid_trampoline_addr uintptr //go:cgo_import_dynamic libc_setegid setegid "libc.so" // THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT func Seteuid(euid int) (err error) { _, _, e1 := syscall_rawSyscall(libc_seteuid_trampoline_addr, uintptr(euid), 0, 0) if e1 != 0 { err = errnoErr(e1) } return } var libc_seteuid_trampoline_addr uintptr //go:cgo_import_dynamic libc_seteuid seteuid "libc.so" // THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT func Setgid(gid int) (err error) { _, _, e1 := syscall_rawSyscall(libc_setgid_trampoline_addr, uintptr(gid), 0, 0) if e1 != 0 { err = errnoErr(e1) } return } var libc_setgid_trampoline_addr uintptr //go:cgo_import_dynamic libc_setgid setgid "libc.so" // 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_syscall(libc_setlogin_trampoline_addr, uintptr(unsafe.Pointer(_p0)), 0, 0) if e1 != 0 { err = errnoErr(e1) } return } var libc_setlogin_trampoline_addr uintptr //go:cgo_import_dynamic libc_setlogin setlogin "libc.so" // THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT func Setpgid(pid int, pgid int) (err error) { _, _, e1 := syscall_rawSyscall(libc_setpgid_trampoline_addr, uintptr(pid), uintptr(pgid), 0) if e1 != 0 { err = errnoErr(e1) } return } var libc_setpgid_trampoline_addr uintptr //go:cgo_import_dynamic libc_setpgid setpgid "libc.so" // 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_syscall(libc_setpriority_trampoline_addr, uintptr(which), uintptr(who), uintptr(prio)) if e1 != 0 { err = errnoErr(e1) } return } var libc_setpriority_trampoline_addr uintptr //go:cgo_import_dynamic libc_setpriority setpriority "libc.so" // THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT func Setregid(rgid int, egid int) (err error) { _, _, e1 := syscall_rawSyscall(libc_setregid_trampoline_addr, uintptr(rgid), uintptr(egid), 0) if e1 != 0 { err = errnoErr(e1) } return } var libc_setregid_trampoline_addr uintptr //go:cgo_import_dynamic libc_setregid setregid "libc.so" // THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT func Setreuid(ruid int, euid int) (err error) { _, _, e1 := syscall_rawSyscall(libc_setreuid_trampoline_addr, uintptr(ruid), uintptr(euid), 0) if e1 != 0 { err = errnoErr(e1) } return } var libc_setreuid_trampoline_addr uintptr //go:cgo_import_dynamic libc_setreuid setreuid "libc.so" // THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT func Setresgid(rgid int, egid int, sgid int) (err error) { _, _, e1 := syscall_rawSyscall(libc_setresgid_trampoline_addr, uintptr(rgid), uintptr(egid), uintptr(sgid)) if e1 != 0 { err = errnoErr(e1) } return } var libc_setresgid_trampoline_addr uintptr //go:cgo_import_dynamic libc_setresgid setresgid "libc.so" // THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT func Setresuid(ruid int, euid int, suid int) (err error) { _, _, e1 := syscall_rawSyscall(libc_setresuid_trampoline_addr, uintptr(ruid), uintptr(euid), uintptr(suid)) if e1 != 0 { err = errnoErr(e1) } return } var libc_setresuid_trampoline_addr uintptr //go:cgo_import_dynamic libc_setresuid setresuid "libc.so" // THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT func Setrtable(rtable int) (err error) { _, _, e1 := syscall_rawSyscall(libc_setrtable_trampoline_addr, uintptr(rtable), 0, 0) if e1 != 0 { err = errnoErr(e1) } return } var libc_setrtable_trampoline_addr uintptr //go:cgo_import_dynamic libc_setrtable setrtable "libc.so" // THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT func Setsid() (pid int, err error) { r0, _, e1 := syscall_rawSyscall(libc_setsid_trampoline_addr, 0, 0, 0) pid = int(r0) if e1 != 0 { err = errnoErr(e1) } return } var libc_setsid_trampoline_addr uintptr //go:cgo_import_dynamic libc_setsid setsid "libc.so" // THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT func Settimeofday(tp *Timeval) (err error) { _, _, e1 := syscall_rawSyscall(libc_settimeofday_trampoline_addr, uintptr(unsafe.Pointer(tp)), 0, 0) if e1 != 0 { err = errnoErr(e1) } return } var libc_settimeofday_trampoline_addr uintptr //go:cgo_import_dynamic libc_settimeofday settimeofday "libc.so" // THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT func Setuid(uid int) (err error) { _, _, e1 := syscall_rawSyscall(libc_setuid_trampoline_addr, uintptr(uid), 0, 0) if e1 != 0 { err = errnoErr(e1) } return } var libc_setuid_trampoline_addr uintptr //go:cgo_import_dynamic libc_setuid setuid "libc.so" // 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_syscall(libc_stat_trampoline_addr, uintptr(unsafe.Pointer(_p0)), uintptr(unsafe.Pointer(stat)), 0) if e1 != 0 { err = errnoErr(e1) } return } var libc_stat_trampoline_addr uintptr //go:cgo_import_dynamic libc_stat stat "libc.so" // 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_syscall(libc_statfs_trampoline_addr, uintptr(unsafe.Pointer(_p0)), uintptr(unsafe.Pointer(stat)), 0) if e1 != 0 { err = errnoErr(e1) } return } var libc_statfs_trampoline_addr uintptr //go:cgo_import_dynamic libc_statfs statfs "libc.so" // 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_syscall(libc_symlink_trampoline_addr, uintptr(unsafe.Pointer(_p0)), uintptr(unsafe.Pointer(_p1)), 0) if e1 != 0 { err = errnoErr(e1) } return } var libc_symlink_trampoline_addr uintptr //go:cgo_import_dynamic libc_symlink symlink "libc.so" // 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_syscall(libc_symlinkat_trampoline_addr, uintptr(unsafe.Pointer(_p0)), uintptr(newdirfd), uintptr(unsafe.Pointer(_p1))) if e1 != 0 { err = errnoErr(e1) } return } var libc_symlinkat_trampoline_addr uintptr //go:cgo_import_dynamic libc_symlinkat symlinkat "libc.so" // THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT func Sync() (err error) { _, _, e1 := syscall_syscall(libc_sync_trampoline_addr, 0, 0, 0) if e1 != 0 { err = errnoErr(e1) } return } var libc_sync_trampoline_addr uintptr //go:cgo_import_dynamic libc_sync sync "libc.so" // 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_syscall(libc_truncate_trampoline_addr, uintptr(unsafe.Pointer(_p0)), uintptr(length), 0) if e1 != 0 { err = errnoErr(e1) } return } var libc_truncate_trampoline_addr uintptr //go:cgo_import_dynamic libc_truncate truncate "libc.so" // THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT func Umask(newmask int) (oldmask int) { r0, _, _ := syscall_syscall(libc_umask_trampoline_addr, uintptr(newmask), 0, 0) oldmask = int(r0) return } var libc_umask_trampoline_addr uintptr //go:cgo_import_dynamic libc_umask umask "libc.so" // 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_syscall(libc_unlink_trampoline_addr, uintptr(unsafe.Pointer(_p0)), 0, 0) if e1 != 0 { err = errnoErr(e1) } return } var libc_unlink_trampoline_addr uintptr //go:cgo_import_dynamic libc_unlink unlink "libc.so" // 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_syscall(libc_unlinkat_trampoline_addr, uintptr(dirfd), uintptr(unsafe.Pointer(_p0)), uintptr(flags)) if e1 != 0 { err = errnoErr(e1) } return } var libc_unlinkat_trampoline_addr uintptr //go:cgo_import_dynamic libc_unlinkat unlinkat "libc.so" // 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_syscall(libc_unmount_trampoline_addr, uintptr(unsafe.Pointer(_p0)), uintptr(flags), 0) if e1 != 0 { err = errnoErr(e1) } return } var libc_unmount_trampoline_addr uintptr //go:cgo_import_dynamic libc_unmount unmount "libc.so" // 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_syscall(libc_write_trampoline_addr, uintptr(fd), uintptr(_p0), uintptr(len(p))) n = int(r0) if e1 != 0 { err = errnoErr(e1) } return } var libc_write_trampoline_addr uintptr //go:cgo_import_dynamic libc_write write "libc.so" // 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 := syscall_syscall6(libc_mmap_trampoline_addr, uintptr(addr), uintptr(length), uintptr(prot), uintptr(flag), uintptr(fd), uintptr(pos)) ret = uintptr(r0) if e1 != 0 { err = errnoErr(e1) } return } var libc_mmap_trampoline_addr uintptr //go:cgo_import_dynamic libc_mmap mmap "libc.so" // THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT func munmap(addr uintptr, length uintptr) (err error) { _, _, e1 := syscall_syscall(libc_munmap_trampoline_addr, uintptr(addr), uintptr(length), 0) if e1 != 0 { err = errnoErr(e1) } return } var libc_munmap_trampoline_addr uintptr //go:cgo_import_dynamic libc_munmap munmap "libc.so" // THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT func getfsstat(stat *Statfs_t, bufsize uintptr, flags int) (n int, err error) { r0, _, e1 := syscall_syscall(libc_getfsstat_trampoline_addr, uintptr(unsafe.Pointer(stat)), uintptr(bufsize), uintptr(flags)) n = int(r0) if e1 != 0 { err = errnoErr(e1) } return } var libc_getfsstat_trampoline_addr uintptr //go:cgo_import_dynamic libc_getfsstat getfsstat "libc.so" // 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 := syscall_syscall6(libc_utimensat_trampoline_addr, uintptr(dirfd), uintptr(unsafe.Pointer(_p0)), uintptr(unsafe.Pointer(times)), uintptr(flags), 0, 0) if e1 != 0 { err = errnoErr(e1) } return } var libc_utimensat_trampoline_addr uintptr //go:cgo_import_dynamic libc_utimensat utimensat "libc.so" // THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT func pledge(promises *byte, execpromises *byte) (err error) { _, _, e1 := syscall_syscall(libc_pledge_trampoline_addr, uintptr(unsafe.Pointer(promises)), uintptr(unsafe.Pointer(execpromises)), 0) if e1 != 0 { err = errnoErr(e1) } return } var libc_pledge_trampoline_addr uintptr //go:cgo_import_dynamic libc_pledge pledge "libc.so" // THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT func unveil(path *byte, flags *byte) (err error) { _, _, e1 := syscall_syscall(libc_unveil_trampoline_addr, uintptr(unsafe.Pointer(path)), uintptr(unsafe.Pointer(flags)), 0) if e1 != 0 { err = errnoErr(e1) } return } var libc_unveil_trampoline_addr uintptr //go:cgo_import_dynamic libc_unveil unveil "libc.so" dependencies/pkg/mod/golang.org/x/sys@v0.26.0/unix/syscall_hurd.go0000644000000000000000000000121315107355264023631 0ustar rootroot// Copyright 2022 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:build hurd package unix /* #include int ioctl(int, unsigned long int, uintptr_t); */ import "C" import "unsafe" func ioctl(fd int, req uint, arg uintptr) (err error) { r0, er := C.ioctl(C.int(fd), C.ulong(req), C.uintptr_t(arg)) if r0 == -1 && er != nil { err = er } return } func ioctlPtr(fd int, req uint, arg unsafe.Pointer) (err error) { r0, er := C.ioctl(C.int(fd), C.ulong(req), C.uintptr_t(uintptr(arg))) if r0 == -1 && er != nil { err = er } return } dependencies/pkg/mod/golang.org/x/sys@v0.26.0/unix/asm_linux_riscv64.s0000644000000000000000000000202115107355264024347 0ustar rootroot// Copyright 2019 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:build riscv64 && gc #include "textflag.h" // // System calls for linux/riscv64. // // Where available, just jump to package syscall's implementation of // these functions. TEXT ·Syscall(SB),NOSPLIT,$0-56 JMP syscall·Syscall(SB) TEXT ·Syscall6(SB),NOSPLIT,$0-80 JMP syscall·Syscall6(SB) TEXT ·SyscallNoError(SB),NOSPLIT,$0-48 CALL runtime·entersyscall(SB) MOV a1+8(FP), A0 MOV a2+16(FP), A1 MOV a3+24(FP), A2 MOV trap+0(FP), A7 // syscall entry ECALL MOV A0, r1+32(FP) // r1 MOV A1, r2+40(FP) // r2 CALL runtime·exitsyscall(SB) RET TEXT ·RawSyscall(SB),NOSPLIT,$0-56 JMP syscall·RawSyscall(SB) TEXT ·RawSyscall6(SB),NOSPLIT,$0-80 JMP syscall·RawSyscall6(SB) TEXT ·RawSyscallNoError(SB),NOSPLIT,$0-48 MOV a1+8(FP), A0 MOV a2+16(FP), A1 MOV a3+24(FP), A2 MOV trap+0(FP), A7 // syscall entry ECALL MOV A0, r1+32(FP) MOV A1, r2+40(FP) RET dependencies/pkg/mod/golang.org/x/sys@v0.26.0/unix/syscall_netbsd_amd64.go0000644000000000000000000000145615107355264025152 0ustar rootroot// 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. //go:build amd64 && netbsd package unix func setTimespec(sec, nsec int64) Timespec { return Timespec{Sec: sec, Nsec: nsec} } func setTimeval(sec, usec int64) Timeval { return Timeval{Sec: sec, Usec: int32(usec)} } 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 (msghdr *Msghdr) SetIovlen(length int) { msghdr.Iovlen = int32(length) } func (cmsg *Cmsghdr) SetLen(length int) { cmsg.Len = uint32(length) } dependencies/pkg/mod/golang.org/x/sys@v0.26.0/unix/zerrors_openbsd_riscv64.go0000644000000000000000000023474415107355264025756 0ustar rootroot// mkerrors.sh -m64 // Code generated by the command above; see README.md. DO NOT EDIT. //go:build riscv64 && openbsd // Code generated by cmd/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 ALTWERASE = 0x200 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_FILDROP_CAPTURE = 0x1 BPF_FILDROP_DROP = 0x2 BPF_FILDROP_PASS = 0x0 BPF_F_DIR_IN = 0x10 BPF_F_DIR_MASK = 0x30 BPF_F_DIR_OUT = 0x20 BPF_F_DIR_SHIFT = 0x4 BPF_F_FLOWID = 0x8 BPF_F_PRI_MASK = 0x7 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_RND = 0xc0 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_BOOTTIME = 0x6 CLOCK_MONOTONIC = 0x3 CLOCK_PROCESS_CPUTIME_ID = 0x2 CLOCK_REALTIME = 0x0 CLOCK_THREAD_CPUTIME_ID = 0x4 CLOCK_UPTIME = 0x5 CPUSTATES = 0x6 CP_IDLE = 0x5 CP_INTR = 0x4 CP_NICE = 0x1 CP_SPIN = 0x3 CP_SYS = 0x2 CP_USER = 0x0 CREAD = 0x800 CRTSCTS = 0x10000 CS5 = 0x0 CS6 = 0x100 CS7 = 0x200 CS8 = 0x300 CSIZE = 0x300 CSTART = 0x11 CSTATUS = 0xff CSTOP = 0x13 CSTOPB = 0x400 CSUSP = 0x1a CTL_HW = 0x6 CTL_KERN = 0x1 CTL_MAXNAME = 0xc CTL_NET = 0x4 DIOCADDQUEUE = 0xc110445d DIOCADDRULE = 0xcd604404 DIOCADDSTATE = 0xc1084425 DIOCCHANGERULE = 0xcd60441a DIOCCLRIFFLAG = 0xc028445a DIOCCLRSRCNODES = 0x20004455 DIOCCLRSTATES = 0xc0e04412 DIOCCLRSTATUS = 0xc0284416 DIOCGETLIMIT = 0xc0084427 DIOCGETQSTATS = 0xc1204460 DIOCGETQUEUE = 0xc110445f DIOCGETQUEUES = 0xc110445e DIOCGETRULE = 0xcd604407 DIOCGETRULES = 0xcd604406 DIOCGETRULESET = 0xc444443b DIOCGETRULESETS = 0xc444443a DIOCGETSRCNODES = 0xc0104454 DIOCGETSTATE = 0xc1084413 DIOCGETSTATES = 0xc0104419 DIOCGETSTATUS = 0xc1e84415 DIOCGETSYNFLWATS = 0xc0084463 DIOCGETTIMEOUT = 0xc008441e DIOCIGETIFACES = 0xc0284457 DIOCKILLSRCNODES = 0xc080445b DIOCKILLSTATES = 0xc0e04429 DIOCNATLOOK = 0xc0504417 DIOCOSFPADD = 0xc088444f DIOCOSFPFLUSH = 0x2000444e DIOCOSFPGET = 0xc0884450 DIOCRADDADDRS = 0xc4504443 DIOCRADDTABLES = 0xc450443d DIOCRCLRADDRS = 0xc4504442 DIOCRCLRASTATS = 0xc4504448 DIOCRCLRTABLES = 0xc450443c DIOCRCLRTSTATS = 0xc4504441 DIOCRDELADDRS = 0xc4504444 DIOCRDELTABLES = 0xc450443e DIOCRGETADDRS = 0xc4504446 DIOCRGETASTATS = 0xc4504447 DIOCRGETTABLES = 0xc450443f DIOCRGETTSTATS = 0xc4504440 DIOCRINADEFINE = 0xc450444d DIOCRSETADDRS = 0xc4504445 DIOCRSETTFLAGS = 0xc450444a DIOCRTSTADDRS = 0xc4504449 DIOCSETDEBUG = 0xc0044418 DIOCSETHOSTID = 0xc0044456 DIOCSETIFFLAG = 0xc0284459 DIOCSETLIMIT = 0xc0084428 DIOCSETREASS = 0xc004445c DIOCSETSTATUSIF = 0xc0284414 DIOCSETSYNCOOKIES = 0xc0014462 DIOCSETSYNFLWATS = 0xc0084461 DIOCSETTIMEOUT = 0xc008441d DIOCSTART = 0x20004401 DIOCSTOP = 0x20004402 DIOCXBEGIN = 0xc0104451 DIOCXCOMMIT = 0xc0104452 DIOCXROLLBACK = 0xc0104453 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_OPENFLOW = 0x10b 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 DLT_USBPCAP = 0xf9 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 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 ETH64_8021_RSVD_MASK = 0xfffffffffff0 ETH64_8021_RSVD_PREFIX = 0x180c2000000 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_EAPOL = 0x888e 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_MACSEC = 0x88e5 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_NHRP = 0x2001 ETHERTYPE_NOVELL = 0x8138 ETHERTYPE_NS = 0x600 ETHERTYPE_NSAT = 0x601 ETHERTYPE_NSCOMPAT = 0x807 ETHERTYPE_NSH = 0x984f ETHERTYPE_NTRAILER = 0x10 ETHERTYPE_OS9 = 0x7007 ETHERTYPE_OS9NET = 0x7009 ETHERTYPE_PACER = 0x80c6 ETHERTYPE_PBB = 0x88e7 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_HARDMTU_LEN = 0xff9b ETHER_MAX_LEN = 0x5ee ETHER_MIN_LEN = 0x40 ETHER_TYPE_LEN = 0x2 ETHER_VLAN_ENCAP_LEN = 0x4 EVFILT_AIO = -0x3 EVFILT_DEVICE = -0x8 EVFILT_EXCEPT = -0x9 EVFILT_PROC = -0x5 EVFILT_READ = -0x1 EVFILT_SIGNAL = -0x6 EVFILT_SYSCOUNT = 0x9 EVFILT_TIMER = -0x7 EVFILT_VNODE = -0x4 EVFILT_WRITE = -0x2 EVL_ENCAPLEN = 0x4 EVL_PRIO_BITS = 0xd EVL_PRIO_MAX = 0x7 EVL_VLID_MASK = 0xfff EVL_VLID_MAX = 0xffe EVL_VLID_MIN = 0x1 EVL_VLID_NULL = 0x0 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_ONESHOT = 0x10 EV_RECEIPT = 0x40 EV_SYSFLAGS = 0xf800 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_ISATTY = 0xb 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 HW_MACHINE = 0x1 ICANON = 0x100 ICMP6_FILTER = 0x12 ICRNL = 0x100 IEXTEN = 0x400 IFAN_ARRIVAL = 0x0 IFAN_DEPARTURE = 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_OACTIVE = 0x400 IFF_POINTOPOINT = 0x10 IFF_PROMISC = 0x100 IFF_RUNNING = 0x40 IFF_SIMPLEX = 0x800 IFF_STATICARP = 0x20 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_MBIM = 0xfa 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_WIREGUARD = 0xfb 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_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_SCTP = 0x84 IPPROTO_TCP = 0x6 IPPROTO_TP = 0x1d IPPROTO_UDP = 0x11 IPPROTO_UDPLITE = 0x88 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_MINHOPCOUNT = 0x41 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_DROP_MEMBERSHIP = 0xd IP_ESP_NETWORK_LEVEL = 0x16 IP_ESP_TRANS_LEVEL = 0x15 IP_HDRINCL = 0x2 IP_IPCOMP_LEVEL = 0x1d IP_IPDEFTTL = 0x25 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_SENDSRCADDR = 0x7 IP_TOS = 0x3 IP_TTL = 0x4 ISIG = 0x80 ISTRIP = 0x20 ITIMER_PROF = 0x2 ITIMER_REAL = 0x0 ITIMER_VIRTUAL = 0x1 IUCLC = 0x1000 IXANY = 0x800 IXOFF = 0x400 IXON = 0x200 KERN_HOSTNAME = 0xa KERN_OSRELEASE = 0x2 KERN_OSTYPE = 0x1 KERN_VERSION = 0x4 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_ANONYMOUS = 0x1000 MAP_CONCEAL = 0x8000 MAP_COPY = 0x2 MAP_FILE = 0x0 MAP_FIXED = 0x10 MAP_FLAGMASK = 0xfff7 MAP_HASSEMAPHORE = 0x0 MAP_INHERIT = 0x0 MAP_INHERIT_COPY = 0x1 MAP_INHERIT_NONE = 0x2 MAP_INHERIT_SHARE = 0x0 MAP_INHERIT_ZERO = 0x3 MAP_NOEXTEND = 0x0 MAP_NORESERVE = 0x0 MAP_PRIVATE = 0x2 MAP_RENAME = 0x0 MAP_SHARED = 0x1 MAP_STACK = 0x4000 MAP_TRYFIXED = 0x0 MCL_CURRENT = 0x1 MCL_FUTURE = 0x2 MNT_ASYNC = 0x40 MNT_DEFEXPORTED = 0x200 MNT_DELEXPORT = 0x20000 MNT_DOOMED = 0x8000000 MNT_EXPORTANON = 0x400 MNT_EXPORTED = 0x100 MNT_EXRDONLY = 0x80 MNT_FORCE = 0x80000 MNT_LAZY = 0x3 MNT_LOCAL = 0x1000 MNT_NOATIME = 0x8000 MNT_NODEV = 0x10 MNT_NOEXEC = 0x4 MNT_NOPERM = 0x20 MNT_NOSUID = 0x8 MNT_NOWAIT = 0x2 MNT_QUOTA = 0x2000 MNT_RDONLY = 0x1 MNT_RELOAD = 0x40000 MNT_ROOTFS = 0x4000 MNT_SOFTDEP = 0x4000000 MNT_STALLED = 0x100000 MNT_SWAPPABLE = 0x200000 MNT_SYNCHRONOUS = 0x2 MNT_UPDATE = 0x10000 MNT_VISFLAGMASK = 0x400ffff MNT_WAIT = 0x1 MNT_WANTRDWR = 0x2000000 MNT_WXALLOWED = 0x800 MOUNT_AFS = "afs" MOUNT_CD9660 = "cd9660" MOUNT_EXT2FS = "ext2fs" MOUNT_FFS = "ffs" MOUNT_FUSEFS = "fuse" MOUNT_MFS = "mfs" MOUNT_MSDOS = "msdos" MOUNT_NCPFS = "ncpfs" MOUNT_NFS = "nfs" MOUNT_NTFS = "ntfs" MOUNT_TMPFS = "tmpfs" MOUNT_UDF = "udf" MOUNT_UFS = "ffs" MSG_BCAST = 0x100 MSG_CMSG_CLOEXEC = 0x800 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_IFNAMES = 0x6 NET_RT_MAXID = 0x8 NET_RT_SOURCE = 0x7 NET_RT_STATS = 0x4 NET_RT_TABLE = 0x5 NFDBITS = 0x20 NOFLSH = 0x80000000 NOKERNINFO = 0x2000000 NOTE_ATTRIB = 0x8 NOTE_CHANGE = 0x1 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_OOB = 0x4 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 OLCUC = 0x20 ONLCR = 0x2 ONLRET = 0x80 ONOCR = 0x40 ONOEOT = 0x8 OPOST = 0x1 OXTABS = 0x4 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_MEMLOCK = 0x6 RLIMIT_NOFILE = 0x8 RLIMIT_NPROC = 0x7 RLIMIT_RSS = 0x5 RLIMIT_STACK = 0x3 RLIM_INFINITY = 0x7fffffffffffffff RTAX_AUTHOR = 0x6 RTAX_BFD = 0xb RTAX_BRD = 0x7 RTAX_DNS = 0xc RTAX_DST = 0x0 RTAX_GATEWAY = 0x1 RTAX_GENMASK = 0x3 RTAX_IFA = 0x5 RTAX_IFP = 0x4 RTAX_LABEL = 0xa RTAX_MAX = 0xf RTAX_NETMASK = 0x2 RTAX_SEARCH = 0xe RTAX_SRC = 0x8 RTAX_SRCMASK = 0x9 RTAX_STATIC = 0xd RTA_AUTHOR = 0x40 RTA_BFD = 0x800 RTA_BRD = 0x80 RTA_DNS = 0x1000 RTA_DST = 0x1 RTA_GATEWAY = 0x2 RTA_GENMASK = 0x8 RTA_IFA = 0x20 RTA_IFP = 0x10 RTA_LABEL = 0x400 RTA_NETMASK = 0x4 RTA_SEARCH = 0x4000 RTA_SRC = 0x100 RTA_SRCMASK = 0x200 RTA_STATIC = 0x2000 RTF_ANNOUNCE = 0x4000 RTF_BFD = 0x1000000 RTF_BLACKHOLE = 0x1000 RTF_BROADCAST = 0x400000 RTF_CACHED = 0x20000 RTF_CLONED = 0x10000 RTF_CLONING = 0x100 RTF_CONNECTED = 0x800000 RTF_DONE = 0x40 RTF_DYNAMIC = 0x10 RTF_FMASK = 0x110fc08 RTF_GATEWAY = 0x2 RTF_HOST = 0x4 RTF_LLINFO = 0x400 RTF_LOCAL = 0x200000 RTF_MODIFIED = 0x20 RTF_MPATH = 0x40000 RTF_MPLS = 0x100000 RTF_MULTICAST = 0x200 RTF_PERMANENT_ARP = 0x2000 RTF_PROTO1 = 0x8000 RTF_PROTO2 = 0x4000 RTF_PROTO3 = 0x2000 RTF_REJECT = 0x8 RTF_STATIC = 0x800 RTF_UP = 0x1 RTF_USETRAILERS = 0x8000 RTM_80211INFO = 0x15 RTM_ADD = 0x1 RTM_BFD = 0x12 RTM_CHANGE = 0x3 RTM_CHGADDRATTR = 0x14 RTM_DELADDR = 0xd RTM_DELETE = 0x2 RTM_DESYNC = 0x10 RTM_GET = 0x4 RTM_IFANNOUNCE = 0xf RTM_IFINFO = 0xe RTM_INVALIDATE = 0x11 RTM_LOSING = 0x5 RTM_MAXSIZE = 0x800 RTM_MISS = 0x7 RTM_NEWADDR = 0xc RTM_PROPOSAL = 0x13 RTM_REDIRECT = 0x6 RTM_RESOLVE = 0xb RTM_SOURCE = 0x16 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_BITS = 0x8 RT_TABLEID_MASK = 0xff RT_TABLEID_MAX = 0xff RUSAGE_CHILDREN = -0x1 RUSAGE_SELF = 0x0 RUSAGE_THREAD = 0x1 SCM_RIGHTS = 0x1 SCM_TIMESTAMP = 0x4 SEEK_CUR = 0x1 SEEK_END = 0x2 SEEK_SET = 0x0 SHUT_RD = 0x0 SHUT_RDWR = 0x2 SHUT_WR = 0x1 SIOCADDMULTI = 0x80206931 SIOCAIFADDR = 0x8040691a SIOCAIFGROUP = 0x80286987 SIOCATMARK = 0x40047307 SIOCBRDGADD = 0x8060693c SIOCBRDGADDL = 0x80606949 SIOCBRDGADDS = 0x80606941 SIOCBRDGARL = 0x808c694d SIOCBRDGDADDR = 0x81286947 SIOCBRDGDEL = 0x8060693d SIOCBRDGDELS = 0x80606942 SIOCBRDGFLUSH = 0x80606948 SIOCBRDGFRL = 0x808c694e SIOCBRDGGCACHE = 0xc0146941 SIOCBRDGGFD = 0xc0146952 SIOCBRDGGHT = 0xc0146951 SIOCBRDGGIFFLGS = 0xc060693e SIOCBRDGGMA = 0xc0146953 SIOCBRDGGPARAM = 0xc0406958 SIOCBRDGGPRI = 0xc0146950 SIOCBRDGGRL = 0xc030694f SIOCBRDGGTO = 0xc0146946 SIOCBRDGIFS = 0xc0606942 SIOCBRDGRTS = 0xc0206943 SIOCBRDGSADDR = 0xc1286944 SIOCBRDGSCACHE = 0x80146940 SIOCBRDGSFD = 0x80146952 SIOCBRDGSHT = 0x80146951 SIOCBRDGSIFCOST = 0x80606955 SIOCBRDGSIFFLGS = 0x8060693f SIOCBRDGSIFPRIO = 0x80606954 SIOCBRDGSIFPROT = 0x8060694a SIOCBRDGSMA = 0x80146953 SIOCBRDGSPRI = 0x80146950 SIOCBRDGSPROTO = 0x8014695a SIOCBRDGSTO = 0x80146945 SIOCBRDGSTXHC = 0x80146959 SIOCDELLABEL = 0x80206997 SIOCDELMULTI = 0x80206932 SIOCDIFADDR = 0x80206919 SIOCDIFGROUP = 0x80286989 SIOCDIFPARENT = 0x802069b4 SIOCDIFPHYADDR = 0x80206949 SIOCDPWE3NEIGHBOR = 0x802069de SIOCDVNETID = 0x802069af SIOCGETKALIVE = 0xc01869a4 SIOCGETLABEL = 0x8020699a SIOCGETMPWCFG = 0xc02069ae SIOCGETPFLOW = 0xc02069fe SIOCGETPFSYNC = 0xc02069f8 SIOCGETSGCNT = 0xc0207534 SIOCGETVIFCNT = 0xc0287533 SIOCGETVLAN = 0xc0206990 SIOCGIFADDR = 0xc0206921 SIOCGIFBRDADDR = 0xc0206923 SIOCGIFCONF = 0xc0106924 SIOCGIFDATA = 0xc020691b SIOCGIFDESCR = 0xc0206981 SIOCGIFDSTADDR = 0xc0206922 SIOCGIFFLAGS = 0xc0206911 SIOCGIFGATTR = 0xc028698b SIOCGIFGENERIC = 0xc020693a SIOCGIFGLIST = 0xc028698d SIOCGIFGMEMB = 0xc028698a SIOCGIFGROUP = 0xc0286988 SIOCGIFHARDMTU = 0xc02069a5 SIOCGIFLLPRIO = 0xc02069b6 SIOCGIFMEDIA = 0xc0406938 SIOCGIFMETRIC = 0xc0206917 SIOCGIFMTU = 0xc020697e SIOCGIFNETMASK = 0xc0206925 SIOCGIFPAIR = 0xc02069b1 SIOCGIFPARENT = 0xc02069b3 SIOCGIFPRIORITY = 0xc020699c SIOCGIFRDOMAIN = 0xc02069a0 SIOCGIFRTLABEL = 0xc0206983 SIOCGIFRXR = 0x802069aa SIOCGIFSFFPAGE = 0xc1126939 SIOCGIFXFLAGS = 0xc020699e SIOCGLIFPHYADDR = 0xc218694b SIOCGLIFPHYDF = 0xc02069c2 SIOCGLIFPHYECN = 0xc02069c8 SIOCGLIFPHYRTABLE = 0xc02069a2 SIOCGLIFPHYTTL = 0xc02069a9 SIOCGPGRP = 0x40047309 SIOCGPWE3 = 0xc0206998 SIOCGPWE3CTRLWORD = 0xc02069dc SIOCGPWE3FAT = 0xc02069dd SIOCGPWE3NEIGHBOR = 0xc21869de SIOCGRXHPRIO = 0xc02069db SIOCGSPPPPARAMS = 0xc0206994 SIOCGTXHPRIO = 0xc02069c6 SIOCGUMBINFO = 0xc02069be SIOCGUMBPARAM = 0xc02069c0 SIOCGVH = 0xc02069f6 SIOCGVNETFLOWID = 0xc02069c4 SIOCGVNETID = 0xc02069a7 SIOCIFAFATTACH = 0x801169ab SIOCIFAFDETACH = 0x801169ac SIOCIFCREATE = 0x8020697a SIOCIFDESTROY = 0x80206979 SIOCIFGCLONERS = 0xc0106978 SIOCSETKALIVE = 0x801869a3 SIOCSETLABEL = 0x80206999 SIOCSETMPWCFG = 0x802069ad SIOCSETPFLOW = 0x802069fd SIOCSETPFSYNC = 0x802069f7 SIOCSETVLAN = 0x8020698f SIOCSIFADDR = 0x8020690c SIOCSIFBRDADDR = 0x80206913 SIOCSIFDESCR = 0x80206980 SIOCSIFDSTADDR = 0x8020690e SIOCSIFFLAGS = 0x80206910 SIOCSIFGATTR = 0x8028698c SIOCSIFGENERIC = 0x80206939 SIOCSIFLLADDR = 0x8020691f SIOCSIFLLPRIO = 0x802069b5 SIOCSIFMEDIA = 0xc0206937 SIOCSIFMETRIC = 0x80206918 SIOCSIFMTU = 0x8020697f SIOCSIFNETMASK = 0x80206916 SIOCSIFPAIR = 0x802069b0 SIOCSIFPARENT = 0x802069b2 SIOCSIFPRIORITY = 0x8020699b SIOCSIFRDOMAIN = 0x8020699f SIOCSIFRTLABEL = 0x80206982 SIOCSIFXFLAGS = 0x8020699d SIOCSLIFPHYADDR = 0x8218694a SIOCSLIFPHYDF = 0x802069c1 SIOCSLIFPHYECN = 0x802069c7 SIOCSLIFPHYRTABLE = 0x802069a1 SIOCSLIFPHYTTL = 0x802069a8 SIOCSPGRP = 0x80047308 SIOCSPWE3CTRLWORD = 0x802069dc SIOCSPWE3FAT = 0x802069dd SIOCSPWE3NEIGHBOR = 0x821869de SIOCSRXHPRIO = 0x802069db SIOCSSPPPPARAMS = 0x80206993 SIOCSTXHPRIO = 0x802069c5 SIOCSUMBPARAM = 0x802069bf SIOCSVH = 0xc02069f5 SIOCSVNETFLOWID = 0x802069c3 SIOCSVNETID = 0x802069a6 SOCK_CLOEXEC = 0x8000 SOCK_DGRAM = 0x2 SOCK_DNS = 0x1000 SOCK_NONBLOCK = 0x4000 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_DOMAIN = 0x1024 SO_DONTROUTE = 0x10 SO_ERROR = 0x1007 SO_KEEPALIVE = 0x8 SO_LINGER = 0x80 SO_NETPROC = 0x1020 SO_OOBINLINE = 0x100 SO_PEERCRED = 0x1022 SO_PROTOCOL = 0x1025 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 SO_ZEROIZE = 0x2000 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_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 TCIOFF = 0x3 TCIOFLUSH = 0x3 TCION = 0x4 TCOFLUSH = 0x2 TCOOFF = 0x1 TCOON = 0x2 TCPOPT_EOL = 0x0 TCPOPT_MAXSEG = 0x2 TCPOPT_NOP = 0x1 TCPOPT_SACK = 0x5 TCPOPT_SACK_HDR = 0x1010500 TCPOPT_SACK_PERMITTED = 0x4 TCPOPT_SACK_PERMIT_HDR = 0x1010402 TCPOPT_SIGNATURE = 0x13 TCPOPT_TIMESTAMP = 0x8 TCPOPT_TSTAMP_HDR = 0x101080a TCPOPT_WINDOW = 0x3 TCP_INFO = 0x9 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_SACKHOLE_LIMIT = 0x80 TCP_SACK_ENABLE = 0x8 TCSAFLUSH = 0x2 TIMER_ABSTIME = 0x1 TIMER_RELTIME = 0x0 TIOCCBRK = 0x2000747a TIOCCDTR = 0x20007478 TIOCCHKVERAUTH = 0x2000741e TIOCCLRVERAUTH = 0x2000741d 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 TIOCSETVERAUTH = 0x8004741c TIOCSFLAGS = 0x8004745c TIOCSIG = 0x8004745f TIOCSPGRP = 0x80047476 TIOCSTART = 0x2000746e TIOCSTAT = 0x20007465 TIOCSTOP = 0x2000746f TIOCSTSTAMP = 0x8008745a TIOCSWINSZ = 0x80087467 TIOCUCNTL = 0x80047466 TIOCUCNTL_CBRK = 0x7a TIOCUCNTL_SBRK = 0x7b TOSTOP = 0x400000 UTIME_NOW = -0x2 UTIME_OMIT = -0x1 VDISCARD = 0xf VDSUSP = 0xb VEOF = 0x0 VEOL = 0x1 VEOL2 = 0x2 VERASE = 0x3 VINTR = 0x8 VKILL = 0x5 VLNEXT = 0xe VMIN = 0x10 VM_ANONMIN = 0x7 VM_LOADAVG = 0x2 VM_MALLOC_CONF = 0xc VM_MAXID = 0xd VM_MAXSLP = 0xa VM_METER = 0x1 VM_NKMEMPAGES = 0x6 VM_PSSTRINGS = 0x3 VM_SWAPENCRYPT = 0x5 VM_USPACE = 0xb VM_UVMEXP = 0x4 VM_VNODEMIN = 0x9 VM_VTEXTMIN = 0x8 VQUIT = 0x9 VREPRINT = 0x6 VSTART = 0xc VSTATUS = 0x12 VSTOP = 0xd VSUSP = 0xa VTIME = 0x11 VWERASE = 0x4 WALTSIG = 0x4 WCONTINUED = 0x8 WCOREFLAG = 0x80 WNOHANG = 0x1 WUNTRACED = 0x2 XCASE = 0x1000000 ) // 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(0x5c) 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(0x5f) 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) ENOTRECOVERABLE = syscall.Errno(0x5d) ENOTSOCK = syscall.Errno(0x26) ENOTSUP = syscall.Errno(0x5b) ENOTTY = syscall.Errno(0x19) ENXIO = syscall.Errno(0x6) EOPNOTSUPP = syscall.Errno(0x2d) EOVERFLOW = syscall.Errno(0x57) EOWNERDEAD = syscall.Errno(0x5e) 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(0x5f) 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 errorList = [...]struct { num syscall.Errno name string desc string }{ {1, "EPERM", "operation not permitted"}, {2, "ENOENT", "no such file or directory"}, {3, "ESRCH", "no such process"}, {4, "EINTR", "interrupted system call"}, {5, "EIO", "input/output error"}, {6, "ENXIO", "device not configured"}, {7, "E2BIG", "argument list too long"}, {8, "ENOEXEC", "exec format error"}, {9, "EBADF", "bad file descriptor"}, {10, "ECHILD", "no child processes"}, {11, "EDEADLK", "resource deadlock avoided"}, {12, "ENOMEM", "cannot allocate memory"}, {13, "EACCES", "permission denied"}, {14, "EFAULT", "bad address"}, {15, "ENOTBLK", "block device required"}, {16, "EBUSY", "device busy"}, {17, "EEXIST", "file exists"}, {18, "EXDEV", "cross-device link"}, {19, "ENODEV", "operation not supported by device"}, {20, "ENOTDIR", "not a directory"}, {21, "EISDIR", "is a directory"}, {22, "EINVAL", "invalid argument"}, {23, "ENFILE", "too many open files in system"}, {24, "EMFILE", "too many open files"}, {25, "ENOTTY", "inappropriate ioctl for device"}, {26, "ETXTBSY", "text file busy"}, {27, "EFBIG", "file too large"}, {28, "ENOSPC", "no space left on device"}, {29, "ESPIPE", "illegal seek"}, {30, "EROFS", "read-only file system"}, {31, "EMLINK", "too many links"}, {32, "EPIPE", "broken pipe"}, {33, "EDOM", "numerical argument out of domain"}, {34, "ERANGE", "result too large"}, {35, "EAGAIN", "resource temporarily unavailable"}, {36, "EINPROGRESS", "operation now in progress"}, {37, "EALREADY", "operation already in progress"}, {38, "ENOTSOCK", "socket operation on non-socket"}, {39, "EDESTADDRREQ", "destination address required"}, {40, "EMSGSIZE", "message too long"}, {41, "EPROTOTYPE", "protocol wrong type for socket"}, {42, "ENOPROTOOPT", "protocol not available"}, {43, "EPROTONOSUPPORT", "protocol not supported"}, {44, "ESOCKTNOSUPPORT", "socket type not supported"}, {45, "EOPNOTSUPP", "operation not supported"}, {46, "EPFNOSUPPORT", "protocol family not supported"}, {47, "EAFNOSUPPORT", "address family not supported by protocol family"}, {48, "EADDRINUSE", "address already in use"}, {49, "EADDRNOTAVAIL", "can't assign requested address"}, {50, "ENETDOWN", "network is down"}, {51, "ENETUNREACH", "network is unreachable"}, {52, "ENETRESET", "network dropped connection on reset"}, {53, "ECONNABORTED", "software caused connection abort"}, {54, "ECONNRESET", "connection reset by peer"}, {55, "ENOBUFS", "no buffer space available"}, {56, "EISCONN", "socket is already connected"}, {57, "ENOTCONN", "socket is not connected"}, {58, "ESHUTDOWN", "can't send after socket shutdown"}, {59, "ETOOMANYREFS", "too many references: can't splice"}, {60, "ETIMEDOUT", "operation timed out"}, {61, "ECONNREFUSED", "connection refused"}, {62, "ELOOP", "too many levels of symbolic links"}, {63, "ENAMETOOLONG", "file name too long"}, {64, "EHOSTDOWN", "host is down"}, {65, "EHOSTUNREACH", "no route to host"}, {66, "ENOTEMPTY", "directory not empty"}, {67, "EPROCLIM", "too many processes"}, {68, "EUSERS", "too many users"}, {69, "EDQUOT", "disk quota exceeded"}, {70, "ESTALE", "stale NFS file handle"}, {71, "EREMOTE", "too many levels of remote in path"}, {72, "EBADRPC", "RPC struct is bad"}, {73, "ERPCMISMATCH", "RPC version wrong"}, {74, "EPROGUNAVAIL", "RPC program not available"}, {75, "EPROGMISMATCH", "program version wrong"}, {76, "EPROCUNAVAIL", "bad procedure for program"}, {77, "ENOLCK", "no locks available"}, {78, "ENOSYS", "function not implemented"}, {79, "EFTYPE", "inappropriate file type or format"}, {80, "EAUTH", "authentication error"}, {81, "ENEEDAUTH", "need authenticator"}, {82, "EIPSEC", "IPsec processing failure"}, {83, "ENOATTR", "attribute not found"}, {84, "EILSEQ", "illegal byte sequence"}, {85, "ENOMEDIUM", "no medium found"}, {86, "EMEDIUMTYPE", "wrong medium type"}, {87, "EOVERFLOW", "value too large to be stored in data type"}, {88, "ECANCELED", "operation canceled"}, {89, "EIDRM", "identifier removed"}, {90, "ENOMSG", "no message of desired type"}, {91, "ENOTSUP", "not supported"}, {92, "EBADMSG", "bad message"}, {93, "ENOTRECOVERABLE", "state not recoverable"}, {94, "EOWNERDEAD", "previous owner died"}, {95, "ELAST", "protocol error"}, } // Signal table var signalList = [...]struct { num syscall.Signal name string desc string }{ {1, "SIGHUP", "hangup"}, {2, "SIGINT", "interrupt"}, {3, "SIGQUIT", "quit"}, {4, "SIGILL", "illegal instruction"}, {5, "SIGTRAP", "trace/BPT trap"}, {6, "SIGABRT", "abort trap"}, {7, "SIGEMT", "EMT trap"}, {8, "SIGFPE", "floating point exception"}, {9, "SIGKILL", "killed"}, {10, "SIGBUS", "bus error"}, {11, "SIGSEGV", "segmentation fault"}, {12, "SIGSYS", "bad system call"}, {13, "SIGPIPE", "broken pipe"}, {14, "SIGALRM", "alarm clock"}, {15, "SIGTERM", "terminated"}, {16, "SIGURG", "urgent I/O condition"}, {17, "SIGSTOP", "suspended (signal)"}, {18, "SIGTSTP", "suspended"}, {19, "SIGCONT", "continued"}, {20, "SIGCHLD", "child exited"}, {21, "SIGTTIN", "stopped (tty input)"}, {22, "SIGTTOU", "stopped (tty output)"}, {23, "SIGIO", "I/O possible"}, {24, "SIGXCPU", "cputime limit exceeded"}, {25, "SIGXFSZ", "filesize limit exceeded"}, {26, "SIGVTALRM", "virtual timer expired"}, {27, "SIGPROF", "profiling timer expired"}, {28, "SIGWINCH", "window size changes"}, {29, "SIGINFO", "information request"}, {30, "SIGUSR1", "user defined signal 1"}, {31, "SIGUSR2", "user defined signal 2"}, {32, "SIGTHR", "thread AST"}, } dependencies/pkg/mod/golang.org/x/sys@v0.26.0/unix/syscall_darwin_amd64.go0000644000000000000000000000277215107355264025161 0ustar rootroot// 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. //go:build amd64 && darwin package unix import "syscall" func setTimespec(sec, nsec int64) Timespec { return Timespec{Sec: sec, Nsec: nsec} } func setTimeval(sec, usec int64) Timeval { return Timeval{Sec: sec, Usec: int32(usec)} } 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 (msghdr *Msghdr) SetIovlen(length int) { msghdr.Iovlen = int32(length) } func (cmsg *Cmsghdr) SetLen(length int) { cmsg.Len = uint32(length) } func Syscall9(num, a1, a2, a3, a4, a5, a6, a7, a8, a9 uintptr) (r1, r2 uintptr, err syscall.Errno) //sys Fstat(fd int, stat *Stat_t) (err error) = SYS_FSTAT64 //sys Fstatat(fd int, path string, stat *Stat_t, flags int) (err error) = SYS_FSTATAT64 //sys Fstatfs(fd int, stat *Statfs_t) (err error) = SYS_FSTATFS64 //sys getfsstat(buf unsafe.Pointer, size uintptr, flags int) (n int, err error) = SYS_GETFSSTAT64 //sys Lstat(path string, stat *Stat_t) (err error) = SYS_LSTAT64 //sys ptrace1(request int, pid int, addr uintptr, data uintptr) (err error) = SYS_ptrace //sys Stat(path string, stat *Stat_t) (err error) = SYS_STAT64 //sys Statfs(path string, stat *Statfs_t) (err error) = SYS_STATFS64 dependencies/pkg/mod/golang.org/x/sys@v0.26.0/unix/types_netbsd.go0000644000000000000000000001376715107355264023661 0ustar rootroot// 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. //go: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 #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 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 Statvfs_t C.struct_statvfs type Flock_t C.struct_flock type Dirent C.struct_dirent type Fsid C.fsid_t // File system limits const ( PathMax = C.PATH_MAX ) // Fstatvfs/Statvfs flags const ( ST_WAIT = C.ST_WAIT ST_NOWAIT = C.ST_NOWAIT ) // 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 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 SizeofIovec = C.sizeof_struct_iovec 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 type Winsize C.struct_winsize type Ptmget C.struct_ptmget // fchmodat-like syscalls. const ( AT_FDCWD = C.AT_FDCWD AT_EACCESS = C.AT_EACCESS AT_SYMLINK_NOFOLLOW = C.AT_SYMLINK_NOFOLLOW AT_SYMLINK_FOLLOW = C.AT_SYMLINK_FOLLOW AT_REMOVEDIR = C.AT_REMOVEDIR ) // poll type PollFd C.struct_pollfd const ( POLLERR = C.POLLERR POLLHUP = C.POLLHUP POLLIN = C.POLLIN POLLNVAL = C.POLLNVAL POLLOUT = C.POLLOUT POLLPRI = C.POLLPRI POLLRDBAND = C.POLLRDBAND POLLRDNORM = C.POLLRDNORM POLLWRBAND = C.POLLWRBAND POLLWRNORM = C.POLLWRNORM ) // Sysctl type Sysctlnode C.struct_sysctlnode // Uname type Utsname C.struct_utsname // Uvmexp const SizeofUvmexp = C.sizeof_struct_uvmexp_sysctl type Uvmexp C.struct_uvmexp_sysctl // Clockinfo const SizeofClockinfo = C.sizeof_struct_clockinfo type Clockinfo C.struct_clockinfo dependencies/pkg/mod/golang.org/x/sys@v0.26.0/unix/zerrors_linux_sparc64.go0000644000000000000000000011611015107355264025427 0ustar rootroot// mkerrors.sh -Wall -Werror -static -I/tmp/sparc64/include // Code generated by the command above; see README.md. DO NOT EDIT. //go:build sparc64 && linux // Code generated by cmd/cgo -godefs; DO NOT EDIT. // cgo -godefs -- -Wall -Werror -static -I/tmp/sparc64/include _const.go package unix import "syscall" const ( ASI_LEON_DFLUSH = 0x11 ASI_LEON_IFLUSH = 0x10 ASI_LEON_MMUFLUSH = 0x18 B1000000 = 0x1008 B115200 = 0x1002 B1152000 = 0x1009 B1500000 = 0x100a B2000000 = 0x100b B230400 = 0x1003 B2500000 = 0x100c B3000000 = 0x100d B3500000 = 0x100e B4000000 = 0x100f B460800 = 0x1004 B500000 = 0x1005 B57600 = 0x1001 B576000 = 0x1006 B921600 = 0x1007 BLKALIGNOFF = 0x2000127a BLKBSZGET = 0x40081270 BLKBSZSET = 0x80081271 BLKDISCARD = 0x20001277 BLKDISCARDZEROES = 0x2000127c BLKFLSBUF = 0x20001261 BLKFRAGET = 0x20001265 BLKFRASET = 0x20001264 BLKGETDISKSEQ = 0x40081280 BLKGETSIZE = 0x20001260 BLKGETSIZE64 = 0x40081272 BLKIOMIN = 0x20001278 BLKIOOPT = 0x20001279 BLKPBSZGET = 0x2000127b BLKRAGET = 0x20001263 BLKRASET = 0x20001262 BLKROGET = 0x2000125e BLKROSET = 0x2000125d BLKROTATIONAL = 0x2000127e BLKRRPART = 0x2000125f BLKSECDISCARD = 0x2000127d BLKSECTGET = 0x20001267 BLKSECTSET = 0x20001266 BLKSSZGET = 0x20001268 BLKZEROOUT = 0x2000127f BOTHER = 0x1000 BS1 = 0x2000 BSDLY = 0x2000 CBAUD = 0x100f CBAUDEX = 0x1000 CIBAUD = 0x100f0000 CLOCAL = 0x800 CR1 = 0x200 CR2 = 0x400 CR3 = 0x600 CRDLY = 0x600 CREAD = 0x80 CS6 = 0x10 CS7 = 0x20 CS8 = 0x30 CSIZE = 0x30 CSTOPB = 0x40 ECCGETLAYOUT = 0x41484d11 ECCGETSTATS = 0x40104d12 ECHOCTL = 0x200 ECHOE = 0x10 ECHOK = 0x20 ECHOKE = 0x800 ECHONL = 0x40 ECHOPRT = 0x400 EFD_CLOEXEC = 0x400000 EFD_NONBLOCK = 0x4000 EMT_TAGOVF = 0x1 EPIOCGPARAMS = 0x40088a02 EPIOCSPARAMS = 0x80088a01 EPOLL_CLOEXEC = 0x400000 EXTPROC = 0x10000 FF1 = 0x8000 FFDLY = 0x8000 FICLONE = 0x80049409 FICLONERANGE = 0x8020940d FLUSHO = 0x1000 FS_IOC_ENABLE_VERITY = 0x80806685 FS_IOC_GETFLAGS = 0x40086601 FS_IOC_GET_ENCRYPTION_NONCE = 0x4010661b FS_IOC_GET_ENCRYPTION_POLICY = 0x800c6615 FS_IOC_GET_ENCRYPTION_PWSALT = 0x80106614 FS_IOC_SETFLAGS = 0x80086602 FS_IOC_SET_ENCRYPTION_POLICY = 0x400c6613 F_GETLK = 0x7 F_GETLK64 = 0x7 F_GETOWN = 0x5 F_RDLCK = 0x1 F_SETLK = 0x8 F_SETLK64 = 0x8 F_SETLKW = 0x9 F_SETLKW64 = 0x9 F_SETOWN = 0x6 F_UNLCK = 0x3 F_WRLCK = 0x2 HIDIOCGRAWINFO = 0x40084803 HIDIOCGRDESC = 0x50044802 HIDIOCGRDESCSIZE = 0x40044801 HUPCL = 0x400 ICANON = 0x2 IEXTEN = 0x8000 IN_CLOEXEC = 0x400000 IN_NONBLOCK = 0x4000 IOCTL_VM_SOCKETS_GET_LOCAL_CID = 0x200007b9 ISIG = 0x1 IUCLC = 0x200 IXOFF = 0x1000 IXON = 0x400 MAP_ANON = 0x20 MAP_ANONYMOUS = 0x20 MAP_DENYWRITE = 0x800 MAP_EXECUTABLE = 0x1000 MAP_GROWSDOWN = 0x200 MAP_HUGETLB = 0x40000 MAP_LOCKED = 0x100 MAP_NONBLOCK = 0x10000 MAP_NORESERVE = 0x40 MAP_POPULATE = 0x8000 MAP_RENAME = 0x20 MAP_STACK = 0x20000 MAP_SYNC = 0x80000 MCL_CURRENT = 0x2000 MCL_FUTURE = 0x4000 MCL_ONFAULT = 0x8000 MEMERASE = 0x80084d02 MEMERASE64 = 0x80104d14 MEMGETBADBLOCK = 0x80084d0b MEMGETINFO = 0x40204d01 MEMGETOOBSEL = 0x40c84d0a MEMGETREGIONCOUNT = 0x40044d07 MEMISLOCKED = 0x40084d17 MEMLOCK = 0x80084d05 MEMREAD = 0xc0404d1a MEMREADOOB = 0xc0104d04 MEMSETBADBLOCK = 0x80084d0c MEMUNLOCK = 0x80084d06 MEMWRITEOOB = 0xc0104d03 MTDFILEMODE = 0x20004d13 NFDBITS = 0x40 NLDLY = 0x100 NOFLSH = 0x80 NS_GET_MNTNS_ID = 0x4008b705 NS_GET_NSTYPE = 0x2000b703 NS_GET_OWNER_UID = 0x2000b704 NS_GET_PARENT = 0x2000b702 NS_GET_PID_FROM_PIDNS = 0x4004b706 NS_GET_PID_IN_PIDNS = 0x4004b708 NS_GET_TGID_FROM_PIDNS = 0x4004b707 NS_GET_TGID_IN_PIDNS = 0x4004b709 NS_GET_USERNS = 0x2000b701 OLCUC = 0x2 ONLCR = 0x4 OTPERASE = 0x800c4d19 OTPGETREGIONCOUNT = 0x80044d0e OTPGETREGIONINFO = 0x800c4d0f OTPLOCK = 0x400c4d10 OTPSELECT = 0x40044d0d 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_RSYNC = 0x802000 O_SYNC = 0x802000 O_TMPFILE = 0x2010000 O_TRUNC = 0x400 PARENB = 0x100 PARODD = 0x200 PENDIN = 0x4000 PERF_EVENT_IOC_DISABLE = 0x20002401 PERF_EVENT_IOC_ENABLE = 0x20002400 PERF_EVENT_IOC_ID = 0x40082407 PERF_EVENT_IOC_MODIFY_ATTRIBUTES = 0x8008240b PERF_EVENT_IOC_PAUSE_OUTPUT = 0x80042409 PERF_EVENT_IOC_PERIOD = 0x80082404 PERF_EVENT_IOC_QUERY_BPF = 0xc008240a PERF_EVENT_IOC_REFRESH = 0x20002402 PERF_EVENT_IOC_RESET = 0x20002403 PERF_EVENT_IOC_SET_BPF = 0x80042408 PERF_EVENT_IOC_SET_FILTER = 0x80082406 PERF_EVENT_IOC_SET_OUTPUT = 0x20002405 PPPIOCATTACH = 0x8004743d PPPIOCATTCHAN = 0x80047438 PPPIOCBRIDGECHAN = 0x80047435 PPPIOCCONNECT = 0x8004743a PPPIOCDETACH = 0x8004743c PPPIOCDISCONN = 0x20007439 PPPIOCGASYNCMAP = 0x40047458 PPPIOCGCHAN = 0x40047437 PPPIOCGDEBUG = 0x40047441 PPPIOCGFLAGS = 0x4004745a PPPIOCGIDLE = 0x4010743f PPPIOCGIDLE32 = 0x4008743f PPPIOCGIDLE64 = 0x4010743f PPPIOCGL2TPSTATS = 0x40487436 PPPIOCGMRU = 0x40047453 PPPIOCGRASYNCMAP = 0x40047455 PPPIOCGUNIT = 0x40047456 PPPIOCGXASYNCMAP = 0x40207450 PPPIOCSACTIVE = 0x80107446 PPPIOCSASYNCMAP = 0x80047457 PPPIOCSCOMPRESS = 0x8010744d PPPIOCSDEBUG = 0x80047440 PPPIOCSFLAGS = 0x80047459 PPPIOCSMAXCID = 0x80047451 PPPIOCSMRRU = 0x8004743b PPPIOCSMRU = 0x80047452 PPPIOCSNPMODE = 0x8008744b PPPIOCSPASS = 0x80107447 PPPIOCSRASYNCMAP = 0x80047454 PPPIOCSXASYNCMAP = 0x8020744f PPPIOCUNBRIDGECHAN = 0x20007434 PPPIOCXFERUNIT = 0x2000744e PR_SET_PTRACER_ANY = 0xffffffffffffffff PTRACE_GETFPAREGS = 0x14 PTRACE_GETFPREGS = 0xe PTRACE_GETFPREGS64 = 0x19 PTRACE_GETREGS64 = 0x16 PTRACE_READDATA = 0x10 PTRACE_READTEXT = 0x12 PTRACE_SETFPAREGS = 0x15 PTRACE_SETFPREGS = 0xf PTRACE_SETFPREGS64 = 0x1a PTRACE_SETREGS64 = 0x17 PTRACE_SPARC_DETACH = 0xb 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_MEMLOCK = 0x8 RLIMIT_NOFILE = 0x6 RLIMIT_NPROC = 0x7 RLIMIT_RSS = 0x5 RNDADDENTROPY = 0x80085203 RNDADDTOENTCNT = 0x80045201 RNDCLEARPOOL = 0x20005206 RNDGETENTCNT = 0x40045200 RNDGETPOOL = 0x40085202 RNDRESEEDCRNG = 0x20005207 RNDZAPENTCNT = 0x20005204 RTC_AIE_OFF = 0x20007002 RTC_AIE_ON = 0x20007001 RTC_ALM_READ = 0x40247008 RTC_ALM_SET = 0x80247007 RTC_EPOCH_READ = 0x4008700d RTC_EPOCH_SET = 0x8008700e RTC_IRQP_READ = 0x4008700b RTC_IRQP_SET = 0x8008700c RTC_PARAM_GET = 0x80187013 RTC_PARAM_SET = 0x80187014 RTC_PIE_OFF = 0x20007006 RTC_PIE_ON = 0x20007005 RTC_PLL_GET = 0x40207011 RTC_PLL_SET = 0x80207012 RTC_RD_TIME = 0x40247009 RTC_SET_TIME = 0x8024700a RTC_UIE_OFF = 0x20007004 RTC_UIE_ON = 0x20007003 RTC_VL_CLR = 0x20007014 RTC_VL_READ = 0x40047013 RTC_WIE_OFF = 0x20007010 RTC_WIE_ON = 0x2000700f RTC_WKALM_RD = 0x40287010 RTC_WKALM_SET = 0x8028700f SCM_TIMESTAMPING = 0x23 SCM_TIMESTAMPING_OPT_STATS = 0x38 SCM_TIMESTAMPING_PKTINFO = 0x3c SCM_TIMESTAMPNS = 0x21 SCM_TXTIME = 0x3f SCM_WIFI_STATUS = 0x25 SECCOMP_IOCTL_NOTIF_ADDFD = 0x80182103 SECCOMP_IOCTL_NOTIF_ID_VALID = 0x80082102 SECCOMP_IOCTL_NOTIF_SET_FLAGS = 0x80082104 SFD_CLOEXEC = 0x400000 SFD_NONBLOCK = 0x4000 SF_FP = 0x38 SF_I0 = 0x20 SF_I1 = 0x24 SF_I2 = 0x28 SF_I3 = 0x2c SF_I4 = 0x30 SF_I5 = 0x34 SF_L0 = 0x0 SF_L1 = 0x4 SF_L2 = 0x8 SF_L3 = 0xc SF_L4 = 0x10 SF_L5 = 0x14 SF_L6 = 0x18 SF_L7 = 0x1c SF_PC = 0x3c SF_RETP = 0x40 SF_V9_FP = 0x70 SF_V9_I0 = 0x40 SF_V9_I1 = 0x48 SF_V9_I2 = 0x50 SF_V9_I3 = 0x58 SF_V9_I4 = 0x60 SF_V9_I5 = 0x68 SF_V9_L0 = 0x0 SF_V9_L1 = 0x8 SF_V9_L2 = 0x10 SF_V9_L3 = 0x18 SF_V9_L4 = 0x20 SF_V9_L5 = 0x28 SF_V9_L6 = 0x30 SF_V9_L7 = 0x38 SF_V9_PC = 0x78 SF_V9_RETP = 0x80 SF_V9_XARG0 = 0x88 SF_V9_XARG1 = 0x90 SF_V9_XARG2 = 0x98 SF_V9_XARG3 = 0xa0 SF_V9_XARG4 = 0xa8 SF_V9_XARG5 = 0xb0 SF_V9_XXARG = 0xb8 SF_XARG0 = 0x44 SF_XARG1 = 0x48 SF_XARG2 = 0x4c SF_XARG3 = 0x50 SF_XARG4 = 0x54 SF_XARG5 = 0x58 SF_XXARG = 0x5c SIOCATMARK = 0x8905 SIOCGPGRP = 0x8904 SIOCGSTAMPNS_NEW = 0x40108907 SIOCGSTAMP_NEW = 0x40108906 SIOCINQ = 0x4004667f SIOCOUTQ = 0x40047473 SIOCSPGRP = 0x8902 SOCK_CLOEXEC = 0x400000 SOCK_DGRAM = 0x2 SOCK_NONBLOCK = 0x4000 SOCK_STREAM = 0x1 SOL_SOCKET = 0xffff SO_ACCEPTCONN = 0x8000 SO_ATTACH_BPF = 0x34 SO_ATTACH_REUSEPORT_CBPF = 0x35 SO_ATTACH_REUSEPORT_EBPF = 0x36 SO_BINDTODEVICE = 0xd SO_BINDTOIFINDEX = 0x41 SO_BPF_EXTENSIONS = 0x32 SO_BROADCAST = 0x20 SO_BSDCOMPAT = 0x400 SO_BUF_LOCK = 0x51 SO_BUSY_POLL = 0x30 SO_BUSY_POLL_BUDGET = 0x49 SO_CNX_ADVICE = 0x37 SO_COOKIE = 0x3b SO_DETACH_REUSEPORT_BPF = 0x47 SO_DOMAIN = 0x1029 SO_DONTROUTE = 0x10 SO_ERROR = 0x1007 SO_INCOMING_CPU = 0x33 SO_INCOMING_NAPI_ID = 0x3a SO_KEEPALIVE = 0x8 SO_LINGER = 0x80 SO_LOCK_FILTER = 0x28 SO_MARK = 0x22 SO_MAX_PACING_RATE = 0x31 SO_MEMINFO = 0x39 SO_NETNS_COOKIE = 0x50 SO_NOFCS = 0x27 SO_OOBINLINE = 0x100 SO_PASSCRED = 0x2 SO_PASSPIDFD = 0x55 SO_PASSSEC = 0x1f SO_PEEK_OFF = 0x26 SO_PEERCRED = 0x40 SO_PEERGROUPS = 0x3d SO_PEERPIDFD = 0x56 SO_PEERSEC = 0x1e SO_PREFER_BUSY_POLL = 0x48 SO_PROTOCOL = 0x1028 SO_RCVBUF = 0x1002 SO_RCVBUFFORCE = 0x100b SO_RCVLOWAT = 0x800 SO_RCVMARK = 0x54 SO_RCVTIMEO = 0x2000 SO_RCVTIMEO_NEW = 0x44 SO_RCVTIMEO_OLD = 0x2000 SO_RESERVE_MEM = 0x52 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_SNDTIMEO_NEW = 0x45 SO_SNDTIMEO_OLD = 0x4000 SO_TIMESTAMPING = 0x23 SO_TIMESTAMPING_NEW = 0x43 SO_TIMESTAMPING_OLD = 0x23 SO_TIMESTAMPNS = 0x21 SO_TIMESTAMPNS_NEW = 0x42 SO_TIMESTAMPNS_OLD = 0x21 SO_TIMESTAMP_NEW = 0x46 SO_TXREHASH = 0x53 SO_TXTIME = 0x3f SO_TYPE = 0x1008 SO_WIFI_STATUS = 0x25 SO_ZEROCOPY = 0x3e TAB1 = 0x800 TAB2 = 0x1000 TAB3 = 0x1800 TABDLY = 0x1800 TCFLSH = 0x20005407 TCGETA = 0x40125401 TCGETS = 0x40245408 TCGETS2 = 0x402c540c 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 TFD_CLOEXEC = 0x400000 TFD_NONBLOCK = 0x4000 TIOCCBRK = 0x2000747a TIOCCONS = 0x20007424 TIOCEXCL = 0x2000740d TIOCGDEV = 0x40045432 TIOCGETD = 0x40047400 TIOCGEXCL = 0x40045440 TIOCGICOUNT = 0x545d TIOCGISO7816 = 0x40285443 TIOCGLCKTRMIOS = 0x5456 TIOCGPGRP = 0x40047483 TIOCGPKT = 0x40045438 TIOCGPTLCK = 0x40045439 TIOCGPTN = 0x40047486 TIOCGPTPEER = 0x20007489 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_RI = 0x80 TIOCM_RNG = 0x80 TIOCM_SR = 0x10 TIOCM_ST = 0x8 TIOCNOTTY = 0x20007471 TIOCNXCL = 0x2000740e TIOCOUTQ = 0x40047473 TIOCPKT = 0x80047470 TIOCSBRK = 0x2000747b TIOCSCTTY = 0x20007484 TIOCSERCONFIG = 0x5453 TIOCSERGETLSR = 0x5459 TIOCSERGETMULTI = 0x545a TIOCSERGSTRUCT = 0x5458 TIOCSERGWILD = 0x5454 TIOCSERSETMULTI = 0x545b TIOCSERSWILD = 0x5455 TIOCSETD = 0x80047401 TIOCSIG = 0x80047488 TIOCSISO7816 = 0xc0285444 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 TUNGETDEVNETNS = 0x200054e3 TUNGETFEATURES = 0x400454cf TUNGETFILTER = 0x401054db TUNGETIFF = 0x400454d2 TUNGETSNDBUF = 0x400454d3 TUNGETVNETBE = 0x400454df TUNGETVNETHDRSZ = 0x400454d7 TUNGETVNETLE = 0x400454dd TUNSETCARRIER = 0x800454e2 TUNSETDEBUG = 0x800454c9 TUNSETFILTEREBPF = 0x400454e1 TUNSETGROUP = 0x800454ce TUNSETIFF = 0x800454ca TUNSETIFINDEX = 0x800454da TUNSETLINK = 0x800454cd TUNSETNOCSUM = 0x800454c8 TUNSETOFFLOAD = 0x800454d0 TUNSETOWNER = 0x800454cc TUNSETPERSIST = 0x800454cb TUNSETQUEUE = 0x800454d9 TUNSETSNDBUF = 0x800454d4 TUNSETSTEERINGEBPF = 0x400454e0 TUNSETTXFILTER = 0x800454d1 TUNSETVNETBE = 0x800454de TUNSETVNETHDRSZ = 0x800454d8 TUNSETVNETLE = 0x800454dc UBI_IOCATT = 0x80186f40 UBI_IOCDET = 0x80046f41 UBI_IOCEBCH = 0x80044f02 UBI_IOCEBER = 0x80044f01 UBI_IOCEBISMAP = 0x40044f05 UBI_IOCEBMAP = 0x80084f03 UBI_IOCEBUNMAP = 0x80044f04 UBI_IOCMKVOL = 0x80986f00 UBI_IOCRMVOL = 0x80046f01 UBI_IOCRNVOL = 0x91106f03 UBI_IOCRPEB = 0x80046f04 UBI_IOCRSVOL = 0x800c6f02 UBI_IOCSETVOLPROP = 0x80104f06 UBI_IOCSPEB = 0x80046f05 UBI_IOCVOLCRBLK = 0x80804f07 UBI_IOCVOLRMBLK = 0x20004f08 UBI_IOCVOLUP = 0x80084f00 VDISCARD = 0xd VEOF = 0x4 VEOL = 0xb VEOL2 = 0x10 VMIN = 0x6 VREPRINT = 0xc VSTART = 0x8 VSTOP = 0x9 VSUSP = 0xa VSWTC = 0x7 VT1 = 0x4000 VTDLY = 0x4000 VTIME = 0x5 VWERASE = 0xe WDIOC_GETBOOTSTATUS = 0x40045702 WDIOC_GETPRETIMEOUT = 0x40045709 WDIOC_GETSTATUS = 0x40045701 WDIOC_GETSUPPORT = 0x40285700 WDIOC_GETTEMP = 0x40045703 WDIOC_GETTIMELEFT = 0x4004570a WDIOC_GETTIMEOUT = 0x40045707 WDIOC_KEEPALIVE = 0x40045705 WDIOC_SETOPTIONS = 0x40045704 WORDSIZE = 0x40 XCASE = 0x4 XTABS = 0x1800 _HIDIOCGRAWNAME = 0x40804804 _HIDIOCGRAWPHYS = 0x40404805 _HIDIOCGRAWUNIQ = 0x40404808 __TIOCFLUSH = 0x80047410 ) // Errors const ( EADDRINUSE = syscall.Errno(0x30) EADDRNOTAVAIL = syscall.Errno(0x31) EADV = syscall.Errno(0x53) EAFNOSUPPORT = syscall.Errno(0x2f) EALREADY = syscall.Errno(0x25) EBADE = syscall.Errno(0x66) EBADFD = syscall.Errno(0x5d) EBADMSG = syscall.Errno(0x4c) EBADR = syscall.Errno(0x67) EBADRQC = syscall.Errno(0x6a) EBADSLT = syscall.Errno(0x6b) EBFONT = syscall.Errno(0x6d) ECANCELED = syscall.Errno(0x7f) 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) EDOTDOT = syscall.Errno(0x58) EDQUOT = syscall.Errno(0x45) EHOSTDOWN = syscall.Errno(0x40) EHOSTUNREACH = syscall.Errno(0x41) EHWPOISON = syscall.Errno(0x87) EIDRM = syscall.Errno(0x4d) EILSEQ = syscall.Errno(0x7a) EINPROGRESS = syscall.Errno(0x24) EISCONN = syscall.Errno(0x38) 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) 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) ENOANO = syscall.Errno(0x69) ENOBUFS = syscall.Errno(0x37) ENOCSI = syscall.Errno(0x64) ENODATA = syscall.Errno(0x6f) ENOKEY = syscall.Errno(0x80) ENOLCK = syscall.Errno(0x4f) ENOLINK = syscall.Errno(0x52) ENOMEDIUM = syscall.Errno(0x7d) ENOMSG = syscall.Errno(0x4b) ENONET = syscall.Errno(0x50) ENOPKG = syscall.Errno(0x71) ENOPROTOOPT = syscall.Errno(0x2a) ENOSR = syscall.Errno(0x4a) ENOSTR = syscall.Errno(0x48) ENOSYS = syscall.Errno(0x5a) ENOTCONN = syscall.Errno(0x39) ENOTEMPTY = syscall.Errno(0x42) ENOTNAM = syscall.Errno(0x76) ENOTRECOVERABLE = syscall.Errno(0x85) ENOTSOCK = syscall.Errno(0x26) ENOTSUP = syscall.Errno(0x2d) ENOTUNIQ = syscall.Errno(0x73) EOPNOTSUPP = syscall.Errno(0x2d) EOVERFLOW = syscall.Errno(0x5c) EOWNERDEAD = syscall.Errno(0x84) EPFNOSUPPORT = syscall.Errno(0x2e) EPROCLIM = syscall.Errno(0x43) EPROTO = syscall.Errno(0x56) EPROTONOSUPPORT = syscall.Errno(0x2b) EPROTOTYPE = syscall.Errno(0x29) EREMCHG = syscall.Errno(0x59) EREMOTE = syscall.Errno(0x47) EREMOTEIO = syscall.Errno(0x79) ERESTART = syscall.Errno(0x74) ERFKILL = syscall.Errno(0x86) ERREMOTE = syscall.Errno(0x51) ESHUTDOWN = syscall.Errno(0x3a) ESOCKTNOSUPPORT = syscall.Errno(0x2c) ESRMNT = syscall.Errno(0x54) ESTALE = syscall.Errno(0x46) ESTRPIPE = syscall.Errno(0x5b) ETIME = syscall.Errno(0x49) ETIMEDOUT = syscall.Errno(0x3c) ETOOMANYREFS = syscall.Errno(0x3b) EUCLEAN = syscall.Errno(0x75) EUNATCH = syscall.Errno(0x63) EUSERS = syscall.Errno(0x44) EXFULL = syscall.Errno(0x68) ) // Signals const ( SIGBUS = syscall.Signal(0xa) SIGCHLD = syscall.Signal(0x14) SIGCLD = syscall.Signal(0x14) SIGCONT = syscall.Signal(0x13) SIGEMT = syscall.Signal(0x7) SIGIO = syscall.Signal(0x17) SIGLOST = syscall.Signal(0x1d) SIGPOLL = syscall.Signal(0x17) SIGPROF = syscall.Signal(0x1b) SIGPWR = syscall.Signal(0x1d) SIGSTOP = syscall.Signal(0x11) SIGSYS = syscall.Signal(0xc) 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 errorList = [...]struct { num syscall.Errno name string desc string }{ {1, "EPERM", "operation not permitted"}, {2, "ENOENT", "no such file or directory"}, {3, "ESRCH", "no such process"}, {4, "EINTR", "interrupted system call"}, {5, "EIO", "input/output error"}, {6, "ENXIO", "no such device or address"}, {7, "E2BIG", "argument list too long"}, {8, "ENOEXEC", "exec format error"}, {9, "EBADF", "bad file descriptor"}, {10, "ECHILD", "no child processes"}, {11, "EAGAIN", "resource temporarily unavailable"}, {12, "ENOMEM", "cannot allocate memory"}, {13, "EACCES", "permission denied"}, {14, "EFAULT", "bad address"}, {15, "ENOTBLK", "block device required"}, {16, "EBUSY", "device or resource busy"}, {17, "EEXIST", "file exists"}, {18, "EXDEV", "invalid cross-device link"}, {19, "ENODEV", "no such device"}, {20, "ENOTDIR", "not a directory"}, {21, "EISDIR", "is a directory"}, {22, "EINVAL", "invalid argument"}, {23, "ENFILE", "too many open files in system"}, {24, "EMFILE", "too many open files"}, {25, "ENOTTY", "inappropriate ioctl for device"}, {26, "ETXTBSY", "text file busy"}, {27, "EFBIG", "file too large"}, {28, "ENOSPC", "no space left on device"}, {29, "ESPIPE", "illegal seek"}, {30, "EROFS", "read-only file system"}, {31, "EMLINK", "too many links"}, {32, "EPIPE", "broken pipe"}, {33, "EDOM", "numerical argument out of domain"}, {34, "ERANGE", "numerical result out of range"}, {36, "EINPROGRESS", "operation now in progress"}, {37, "EALREADY", "operation already in progress"}, {38, "ENOTSOCK", "socket operation on non-socket"}, {39, "EDESTADDRREQ", "destination address required"}, {40, "EMSGSIZE", "message too long"}, {41, "EPROTOTYPE", "protocol wrong type for socket"}, {42, "ENOPROTOOPT", "protocol not available"}, {43, "EPROTONOSUPPORT", "protocol not supported"}, {44, "ESOCKTNOSUPPORT", "socket type not supported"}, {45, "ENOTSUP", "operation not supported"}, {46, "EPFNOSUPPORT", "protocol family not supported"}, {47, "EAFNOSUPPORT", "address family not supported by protocol"}, {48, "EADDRINUSE", "address already in use"}, {49, "EADDRNOTAVAIL", "cannot assign requested address"}, {50, "ENETDOWN", "network is down"}, {51, "ENETUNREACH", "network is unreachable"}, {52, "ENETRESET", "network dropped connection on reset"}, {53, "ECONNABORTED", "software caused connection abort"}, {54, "ECONNRESET", "connection reset by peer"}, {55, "ENOBUFS", "no buffer space available"}, {56, "EISCONN", "transport endpoint is already connected"}, {57, "ENOTCONN", "transport endpoint is not connected"}, {58, "ESHUTDOWN", "cannot send after transport endpoint shutdown"}, {59, "ETOOMANYREFS", "too many references: cannot splice"}, {60, "ETIMEDOUT", "connection timed out"}, {61, "ECONNREFUSED", "connection refused"}, {62, "ELOOP", "too many levels of symbolic links"}, {63, "ENAMETOOLONG", "file name too long"}, {64, "EHOSTDOWN", "host is down"}, {65, "EHOSTUNREACH", "no route to host"}, {66, "ENOTEMPTY", "directory not empty"}, {67, "EPROCLIM", "too many processes"}, {68, "EUSERS", "too many users"}, {69, "EDQUOT", "disk quota exceeded"}, {70, "ESTALE", "stale file handle"}, {71, "EREMOTE", "object is remote"}, {72, "ENOSTR", "device not a stream"}, {73, "ETIME", "timer expired"}, {74, "ENOSR", "out of streams resources"}, {75, "ENOMSG", "no message of desired type"}, {76, "EBADMSG", "bad message"}, {77, "EIDRM", "identifier removed"}, {78, "EDEADLK", "resource deadlock avoided"}, {79, "ENOLCK", "no locks available"}, {80, "ENONET", "machine is not on the network"}, {81, "ERREMOTE", "unknown error 81"}, {82, "ENOLINK", "link has been severed"}, {83, "EADV", "advertise error"}, {84, "ESRMNT", "srmount error"}, {85, "ECOMM", "communication error on send"}, {86, "EPROTO", "protocol error"}, {87, "EMULTIHOP", "multihop attempted"}, {88, "EDOTDOT", "RFS specific error"}, {89, "EREMCHG", "remote address changed"}, {90, "ENOSYS", "function not implemented"}, {91, "ESTRPIPE", "streams pipe error"}, {92, "EOVERFLOW", "value too large for defined data type"}, {93, "EBADFD", "file descriptor in bad state"}, {94, "ECHRNG", "channel number out of range"}, {95, "EL2NSYNC", "level 2 not synchronized"}, {96, "EL3HLT", "level 3 halted"}, {97, "EL3RST", "level 3 reset"}, {98, "ELNRNG", "link number out of range"}, {99, "EUNATCH", "protocol driver not attached"}, {100, "ENOCSI", "no CSI structure available"}, {101, "EL2HLT", "level 2 halted"}, {102, "EBADE", "invalid exchange"}, {103, "EBADR", "invalid request descriptor"}, {104, "EXFULL", "exchange full"}, {105, "ENOANO", "no anode"}, {106, "EBADRQC", "invalid request code"}, {107, "EBADSLT", "invalid slot"}, {108, "EDEADLOCK", "file locking deadlock error"}, {109, "EBFONT", "bad font file format"}, {110, "ELIBEXEC", "cannot exec a shared library directly"}, {111, "ENODATA", "no data available"}, {112, "ELIBBAD", "accessing a corrupted shared library"}, {113, "ENOPKG", "package not installed"}, {114, "ELIBACC", "can not access a needed shared library"}, {115, "ENOTUNIQ", "name not unique on network"}, {116, "ERESTART", "interrupted system call should be restarted"}, {117, "EUCLEAN", "structure needs cleaning"}, {118, "ENOTNAM", "not a XENIX named type file"}, {119, "ENAVAIL", "no XENIX semaphores available"}, {120, "EISNAM", "is a named type file"}, {121, "EREMOTEIO", "remote I/O error"}, {122, "EILSEQ", "invalid or incomplete multibyte or wide character"}, {123, "ELIBMAX", "attempting to link in too many shared libraries"}, {124, "ELIBSCN", ".lib section in a.out corrupted"}, {125, "ENOMEDIUM", "no medium found"}, {126, "EMEDIUMTYPE", "wrong medium type"}, {127, "ECANCELED", "operation canceled"}, {128, "ENOKEY", "required key not available"}, {129, "EKEYEXPIRED", "key has expired"}, {130, "EKEYREVOKED", "key has been revoked"}, {131, "EKEYREJECTED", "key was rejected by service"}, {132, "EOWNERDEAD", "owner died"}, {133, "ENOTRECOVERABLE", "state not recoverable"}, {134, "ERFKILL", "operation not possible due to RF-kill"}, {135, "EHWPOISON", "memory page has hardware error"}, } // Signal table var signalList = [...]struct { num syscall.Signal name string desc string }{ {1, "SIGHUP", "hangup"}, {2, "SIGINT", "interrupt"}, {3, "SIGQUIT", "quit"}, {4, "SIGILL", "illegal instruction"}, {5, "SIGTRAP", "trace/breakpoint trap"}, {6, "SIGABRT", "aborted"}, {7, "SIGEMT", "EMT trap"}, {8, "SIGFPE", "floating point exception"}, {9, "SIGKILL", "killed"}, {10, "SIGBUS", "bus error"}, {11, "SIGSEGV", "segmentation fault"}, {12, "SIGSYS", "bad system call"}, {13, "SIGPIPE", "broken pipe"}, {14, "SIGALRM", "alarm clock"}, {15, "SIGTERM", "terminated"}, {16, "SIGURG", "urgent I/O condition"}, {17, "SIGSTOP", "stopped (signal)"}, {18, "SIGTSTP", "stopped"}, {19, "SIGCONT", "continued"}, {20, "SIGCHLD", "child exited"}, {21, "SIGTTIN", "stopped (tty input)"}, {22, "SIGTTOU", "stopped (tty output)"}, {23, "SIGIO", "I/O possible"}, {24, "SIGXCPU", "CPU time limit exceeded"}, {25, "SIGXFSZ", "file size limit exceeded"}, {26, "SIGVTALRM", "virtual timer expired"}, {27, "SIGPROF", "profiling timer expired"}, {28, "SIGWINCH", "window changed"}, {29, "SIGLOST", "power failure"}, {30, "SIGUSR1", "user defined signal 1"}, {31, "SIGUSR2", "user defined signal 2"}, } dependencies/pkg/mod/golang.org/x/sys@v0.26.0/unix/zsysnum_openbsd_ppc64.go0000644000000000000000000004341715107355264025427 0ustar rootroot// go run mksysnum.go https://cvsweb.openbsd.org/cgi-bin/cvsweb/~checkout~/src/sys/kern/syscalls.master // Code generated by the command above; see README.md. DO NOT EDIT. //go:build ppc64 && 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, 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_GETENTROPY = 7 // { int sys_getentropy(void *buf, size_t nbyte); } SYS___TFORK = 8 // { int sys___tfork(const struct __tfork *param, size_t psize); } 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, int options, struct rusage *rusage); } 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, dev_t dev); } 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_OBREAK = 17 // { int sys_obreak(char *nsize); } break SYS_GETDTABLECOUNT = 18 // { int sys_getdtablecount(void); } SYS_GETRUSAGE = 19 // { int sys_getrusage(int who, struct rusage *rusage); } SYS_GETPID = 20 // { pid_t sys_getpid(void); } SYS_MOUNT = 21 // { int sys_mount(const char *type, const char *path, int flags, void *data); } 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, 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 amode); } 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_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, struct stat *buf, int flag); } SYS_GETEGID = 43 // { gid_t sys_getegid(void); } SYS_PROFIL = 44 // { int sys_profil(caddr_t 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_SIGACTION = 46 // { int sys_sigaction(int signum, const struct sigaction *nsa, struct sigaction *osa); } SYS_GETGID = 47 // { gid_t sys_getgid(void); } SYS_SIGPROCMASK = 48 // { int sys_sigprocmask(int how, sigset_t mask); } 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, u_long com, ... void *data); } 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, 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_GETFSSTAT = 62 // { int sys_getfsstat(struct statfs *buf, size_t bufsize, int flags); } SYS_STATFS = 63 // { int sys_statfs(const char *path, struct statfs *buf); } SYS_FSTATFS = 64 // { int sys_fstatfs(int fd, struct statfs *buf); } SYS_FHSTATFS = 65 // { int sys_fhstatfs(const fhandle_t *fhp, struct statfs *buf); } SYS_VFORK = 66 // { int sys_vfork(void); } SYS_GETTIMEOFDAY = 67 // { int sys_gettimeofday(struct timeval *tp, struct timezone *tzp); } SYS_SETTIMEOFDAY = 68 // { int sys_settimeofday(const struct timeval *tv, const struct timezone *tzp); } SYS_SETITIMER = 69 // { int sys_setitimer(int which, const struct itimerval *itv, struct itimerval *oitv); } SYS_GETITIMER = 70 // { int sys_getitimer(int which, struct itimerval *itv); } SYS_SELECT = 71 // { int sys_select(int nd, fd_set *in, fd_set *ou, fd_set *ex, struct timeval *tv); } SYS_KEVENT = 72 // { int sys_kevent(int fd, const struct kevent *changelist, int nchanges, struct kevent *eventlist, int nevents, const struct timespec *timeout); } 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_UTIMES = 76 // { int sys_utimes(const char *path, const struct timeval *tptr); } SYS_FUTIMES = 77 // { int sys_futimes(int fd, const struct timeval *tptr); } 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_FUTEX = 83 // { int sys_futex(uint32_t *f, int op, int val, const struct timespec *timeout, uint32_t *g); } SYS_UTIMENSAT = 84 // { int sys_utimensat(int fd, const char *path, const struct timespec *times, int flag); } SYS_FUTIMENS = 85 // { int sys_futimens(int fd, const struct timespec *times); } SYS_KBIND = 86 // { int sys_kbind(const struct __kbind *param, size_t psize, int64_t proc_cookie); } SYS_CLOCK_GETTIME = 87 // { int sys_clock_gettime(clockid_t clock_id, struct timespec *tp); } SYS_CLOCK_SETTIME = 88 // { int sys_clock_settime(clockid_t clock_id, const struct timespec *tp); } SYS_CLOCK_GETRES = 89 // { int sys_clock_getres(clockid_t clock_id, struct timespec *tp); } SYS_DUP2 = 90 // { int sys_dup2(int from, int to); } SYS_NANOSLEEP = 91 // { int sys_nanosleep(const struct timespec *rqtp, struct timespec *rmtp); } SYS_FCNTL = 92 // { int sys_fcntl(int fd, int cmd, ... void *arg); } SYS_ACCEPT4 = 93 // { int sys_accept4(int s, struct sockaddr *name, socklen_t *anamelen, int flags); } SYS___THRSLEEP = 94 // { int sys___thrsleep(const volatile void *ident, clockid_t clock_id, const struct timespec *tp, void *lock, const int *abort); } 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, socklen_t namelen); } 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_PIPE2 = 101 // { int sys_pipe2(int *fdp, int flags); } SYS_DUP3 = 102 // { int sys_dup3(int from, int to, int flags); } SYS_SIGRETURN = 103 // { int sys_sigreturn(struct sigcontext *sigcntxp); } 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_CHFLAGSAT = 107 // { int sys_chflagsat(int fd, const char *path, u_int flags, int atflags); } SYS_PLEDGE = 108 // { int sys_pledge(const char *promises, const char *execpromises); } SYS_PPOLL = 109 // { int sys_ppoll(struct pollfd *fds, u_int nfds, const struct timespec *ts, const sigset_t *mask); } SYS_PSELECT = 110 // { int sys_pselect(int nd, fd_set *in, fd_set *ou, fd_set *ex, const struct timespec *ts, const sigset_t *mask); } SYS_SIGSUSPEND = 111 // { int sys_sigsuspend(int mask); } SYS_SENDSYSLOG = 112 // { int sys_sendsyslog(const char *buf, size_t nbyte, int flags); } SYS_UNVEIL = 114 // { int sys_unveil(const char *path, const char *permissions); } SYS_GETSOCKOPT = 118 // { int sys_getsockopt(int s, int level, int name, void *val, socklen_t *avalsize); } SYS_THRKILL = 119 // { int sys_thrkill(pid_t tid, int signum, void *tcb); } 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_KILL = 122 // { int sys_kill(int pid, int signum); } 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_ADJTIME = 140 // { int sys_adjtime(const struct timeval *delta, struct timeval *olddelta); } SYS_GETLOGIN_R = 141 // { int sys_getlogin_r(char *namebuf, u_int namelen); } SYS_SETSID = 147 // { int sys_setsid(void); } SYS_QUOTACTL = 148 // { int sys_quotactl(const char *path, int cmd, int uid, char *arg); } 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, 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_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, 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, 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_GETPGID = 207 // { pid_t sys_getpgid(pid_t pid); } SYS_UTRACE = 209 // { int sys_utrace(const char *label, const void *addr, size_t len); } 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, int msgflg); } SYS_MSGRCV = 227 // { int 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_MINHERIT = 250 // { int sys_minherit(void *addr, size_t len, int inherit); } SYS_POLL = 252 // { int sys_poll(struct pollfd *fds, u_int nfds, int timeout); } 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, const struct iovec *iovp, int iovcnt, int pad, off_t offset); } SYS_PWRITEV = 268 // { ssize_t sys_pwritev(int fd, const struct iovec *iovp, int iovcnt, int pad, off_t offset); } 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, uid_t *suid); } SYS_SETRESUID = 282 // { int sys_setresuid(uid_t ruid, uid_t euid, uid_t suid); } SYS_GETRESGID = 283 // { int sys_getresgid(gid_t *rgid, gid_t *egid, gid_t *sgid); } SYS_SETRESGID = 284 // { int sys_setresgid(gid_t rgid, gid_t egid, gid_t sgid); } SYS_MQUERY = 286 // { void *sys_mquery(void *addr, size_t len, int prot, int flags, int fd, long pad, off_t pos); } SYS_CLOSEFROM = 287 // { int sys_closefrom(int fd); } SYS_SIGALTSTACK = 288 // { int sys_sigaltstack(const struct sigaltstack *nss, struct sigaltstack *oss); } 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, size_t nsops); } SYS_FHSTAT = 294 // { int sys_fhstat(const fhandle_t *fhp, struct stat *sb); } SYS___SEMCTL = 295 // { int sys___semctl(int semid, int semnum, int cmd, union semun *arg); } SYS_SHMCTL = 296 // { int sys_shmctl(int shmid, int cmd, struct shmid_ds *buf); } SYS_MSGCTL = 297 // { int sys_msgctl(int msqid, int cmd, struct msqid_ds *buf); } 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, int n); } SYS___THREXIT = 302 // { void sys___threxit(pid_t *notdead); } SYS___THRSIGDIVERT = 303 // { int sys___thrsigdivert(sigset_t sigmask, siginfo_t *info, const struct timespec *timeout); } SYS___GETCWD = 304 // { int sys___getcwd(char *buf, size_t len); } SYS_ADJFREQ = 305 // { int sys_adjfreq(const int64_t *freq, int64_t *oldfreq); } 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, int amode, int flag); } SYS_FCHMODAT = 314 // { int sys_fchmodat(int fd, const char *path, mode_t mode, int flag); } SYS_FCHOWNAT = 315 // { int sys_fchownat(int fd, const char *path, uid_t uid, gid_t gid, int flag); } SYS_LINKAT = 317 // { int sys_linkat(int fd1, const char *path1, int fd2, const char *path2, int flag); } SYS_MKDIRAT = 318 // { int sys_mkdirat(int fd, const char *path, mode_t mode); } SYS_MKFIFOAT = 319 // { int sys_mkfifoat(int fd, const char *path, mode_t mode); } SYS_MKNODAT = 320 // { int sys_mknodat(int fd, const char *path, mode_t mode, dev_t dev); } SYS_OPENAT = 321 // { int sys_openat(int fd, const char *path, int flags, ... mode_t mode); } SYS_READLINKAT = 322 // { ssize_t sys_readlinkat(int fd, const char *path, char *buf, size_t count); } SYS_RENAMEAT = 323 // { int sys_renameat(int fromfd, const char *from, int tofd, const char *to); } SYS_SYMLINKAT = 324 // { int sys_symlinkat(const char *path, int fd, const char *link); } SYS_UNLINKAT = 325 // { int sys_unlinkat(int fd, const char *path, int flag); } SYS___SET_TCB = 329 // { void sys___set_tcb(void *tcb); } SYS___GET_TCB = 330 // { void *sys___get_tcb(void); } ) dependencies/pkg/mod/golang.org/x/sys@v0.26.0/unix/syscall_openbsd_386.go0000644000000000000000000000175015107355264024727 0ustar rootroot// 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. //go:build 386 && openbsd package unix func setTimespec(sec, nsec int64) Timespec { return Timespec{Sec: sec, Nsec: int32(nsec)} } func setTimeval(sec, usec int64) Timeval { return Timeval{Sec: sec, Usec: int32(usec)} } 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 (msghdr *Msghdr) SetIovlen(length int) { msghdr.Iovlen = uint32(length) } func (cmsg *Cmsghdr) SetLen(length int) { cmsg.Len = uint32(length) } // SYS___SYSCTL is used by syscall_bsd.go for all BSDs, but in modern versions // of openbsd/386 the syscall is called sysctl instead of __sysctl. const SYS___SYSCTL = SYS_SYSCTL dependencies/pkg/mod/golang.org/x/sys@v0.26.0/unix/syscall_darwin_arm64.go0000644000000000000000000000264715107355264025200 0ustar rootroot// 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:build arm64 && darwin package unix import "syscall" func setTimespec(sec, nsec int64) Timespec { return Timespec{Sec: sec, Nsec: nsec} } func setTimeval(sec, usec int64) Timeval { return Timeval{Sec: sec, Usec: int32(usec)} } 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 (msghdr *Msghdr) SetIovlen(length int) { msghdr.Iovlen = int32(length) } func (cmsg *Cmsghdr) SetLen(length int) { cmsg.Len = uint32(length) } func Syscall9(num, a1, a2, a3, a4, a5, a6, a7, a8, a9 uintptr) (r1, r2 uintptr, err syscall.Errno) // sic //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, stat *Statfs_t) (err error) //sys getfsstat(buf unsafe.Pointer, size uintptr, flags int) (n int, err error) = SYS_GETFSSTAT //sys Lstat(path string, stat *Stat_t) (err error) //sys ptrace1(request int, pid int, addr uintptr, data uintptr) (err error) = SYS_ptrace //sys Stat(path string, stat *Stat_t) (err error) //sys Statfs(path string, stat *Statfs_t) (err error) dependencies/pkg/mod/golang.org/x/sys@v0.26.0/unix/syscall_netbsd.go0000644000000000000000000003054515107355264024160 0ustar rootroot// 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" ) // SockaddrDatalink implements the Sockaddr interface for AF_LINK type sockets. type SockaddrDatalink struct { Len uint8 Family uint8 Index uint16 Type uint8 Nlen uint8 Alen uint8 Slen uint8 Data [12]int8 raw RawSockaddrDatalink } func anyToSockaddrGOOS(fd int, rsa *RawSockaddrAny) (Sockaddr, error) { return nil, EAFNOSUPPORT } 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)) } func SysctlUvmexp(name string) (*Uvmexp, error) { mib, err := sysctlmib(name) if err != nil { return nil, err } n := uintptr(SizeofUvmexp) var u Uvmexp if err := sysctl(mib, (*byte)(unsafe.Pointer(&u)), &n, nil, 0); err != nil { return nil, err } return &u, nil } func Pipe(p []int) (err error) { return Pipe2(p, 0) } //sysnb pipe2(p *[2]_C_int, flags int) (err error) func Pipe2(p []int, flags int) error { if len(p) != 2 { return EINVAL } var pp [2]_C_int err := pipe2(&pp, flags) if err == nil { p[0] = int(pp[0]) p[1] = int(pp[1]) } return err } //sys Getdents(fd int, buf []byte) (n int, err error) func Getdirentries(fd int, buf []byte, basep *uintptr) (n int, err error) { n, err = Getdents(fd, buf) if err != nil || basep == nil { return } var off int64 off, err = Seek(fd, 0, 1 /* SEEK_CUR */) if err != nil { *basep = ^uintptr(0) return } *basep = uintptr(off) if unsafe.Sizeof(*basep) == 8 { return } if off>>32 != 0 { // We can't stuff the offset back into a uintptr, so any // future calls would be suspect. Generate an error. // EIO is allowed by getdirentries. err = EIO } return } //sys Getcwd(buf []byte) (n int, err error) = SYS___GETCWD // TODO func sendfile(outfd int, infd int, offset *int64, count int) (written int, err error) { return -1, ENOSYS } //sys ioctl(fd int, req uint, arg uintptr) (err error) //sys ioctlPtr(fd int, req uint, arg unsafe.Pointer) (err error) = SYS_IOCTL //sys sysctl(mib []_C_int, old *byte, oldlen *uintptr, new *byte, newlen uintptr) (err error) = SYS___SYSCTL func IoctlGetPtmget(fd int, req uint) (*Ptmget, error) { var value Ptmget err := ioctlPtr(fd, req, unsafe.Pointer(&value)) return &value, err } func Uname(uname *Utsname) error { mib := []_C_int{CTL_KERN, KERN_OSTYPE} n := unsafe.Sizeof(uname.Sysname) if err := sysctl(mib, &uname.Sysname[0], &n, nil, 0); err != nil { return err } mib = []_C_int{CTL_KERN, KERN_HOSTNAME} n = unsafe.Sizeof(uname.Nodename) if err := sysctl(mib, &uname.Nodename[0], &n, nil, 0); err != nil { return err } mib = []_C_int{CTL_KERN, KERN_OSRELEASE} n = unsafe.Sizeof(uname.Release) if err := sysctl(mib, &uname.Release[0], &n, nil, 0); err != nil { return err } mib = []_C_int{CTL_KERN, KERN_VERSION} n = unsafe.Sizeof(uname.Version) if err := sysctl(mib, &uname.Version[0], &n, nil, 0); err != nil { return err } // The version might have newlines or tabs in it, convert them to // spaces. for i, b := range uname.Version { if b == '\n' || b == '\t' { if i == len(uname.Version)-1 { uname.Version[i] = 0 } else { uname.Version[i] = ' ' } } } mib = []_C_int{CTL_HW, HW_MACHINE} n = unsafe.Sizeof(uname.Machine) if err := sysctl(mib, &uname.Machine[0], &n, nil, 0); err != nil { return err } return nil } 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) } func Fstatvfs(fd int, buf *Statvfs_t) (err error) { return Fstatvfs1(fd, buf, ST_WAIT) } func Statvfs(path string, buf *Statvfs_t) (err error) { return Statvfs1(path, buf, ST_WAIT) } /* * 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 ClockGettime(clockid int32, time *Timespec) (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 Dup3(from int, to int, flags 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 Faccessat(dirfd int, path string, mode uint32, flags 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 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 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 Fstatat(fd int, path string, stat *Stat_t, flags int) (err error) //sys Fstatvfs1(fd int, buf *Statvfs_t, flags int) (err error) = SYS_FSTATVFS1 //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 Linkat(pathfd int, path string, linkfd int, link string, flags int) (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 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 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, 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 Readlinkat(dirfd int, path string, buf []byte) (n int, err error) //sys Rename(from string, to string) (err error) //sys Renameat(fromfd int, from string, tofd int, 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(nfd int, r *FdSet, w *FdSet, e *FdSet, timeout *Timeval) (n int, 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 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 Statvfs1(path string, buf *Statvfs_t, flags int) (err error) = SYS_STATVFS1 //sys Symlink(path string, link string) (err error) //sys Symlinkat(oldpath string, newdirfd int, newpath 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 Unlinkat(dirfd int, path string, flags int) (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 utimensat(dirfd int, path string, times *[2]Timespec, flags int) (err error) const ( mremapFixed = MAP_FIXED mremapDontunmap = 0 mremapMaymove = 0 ) //sys mremapNetBSD(oldp uintptr, oldsize uintptr, newp uintptr, newsize uintptr, flags int) (xaddr uintptr, err error) = SYS_MREMAP func mremap(oldaddr uintptr, oldlength uintptr, newlength uintptr, flags int, newaddr uintptr) (uintptr, error) { return mremapNetBSD(oldaddr, oldlength, newaddr, newlength, flags) } dependencies/pkg/mod/golang.org/x/sys@v0.26.0/unix/syscall_openbsd_riscv64.go0000644000000000000000000000174215107355264025710 0ustar rootroot// Copyright 2019 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:build riscv64 && openbsd package unix func setTimespec(sec, nsec int64) Timespec { return Timespec{Sec: sec, Nsec: nsec} } func setTimeval(sec, usec int64) Timeval { return Timeval{Sec: sec, Usec: usec} } 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 (msghdr *Msghdr) SetIovlen(length int) { msghdr.Iovlen = uint32(length) } func (cmsg *Cmsghdr) SetLen(length int) { cmsg.Len = uint32(length) } // SYS___SYSCTL is used by syscall_bsd.go for all BSDs, but in modern versions // of openbsd/riscv64 the syscall is called sysctl instead of __sysctl. const SYS___SYSCTL = SYS_SYSCTL dependencies/pkg/mod/golang.org/x/sys@v0.26.0/unix/zsysctl_openbsd_amd64.go0000644000000000000000000002767415107355264025400 0ustar rootroot// go run mksysctl_openbsd.go // Code generated by the command above; DO NOT EDIT. //go:build amd64 && openbsd 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.profile", []_C_int{9, 9}}, {"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.ncpuonline", []_C_int{6, 25}}, {"hw.pagesize", []_C_int{6, 7}}, {"hw.perfpolicy", []_C_int{6, 23}}, {"hw.physmem", []_C_int{6, 19}}, {"hw.power", []_C_int{6, 26}}, {"hw.product", []_C_int{6, 15}}, {"hw.serialno", []_C_int{6, 17}}, {"hw.setperf", []_C_int{6, 13}}, {"hw.smt", []_C_int{6, 24}}, {"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.allowdt", []_C_int{1, 65}}, {"kern.allowkmem", []_C_int{1, 52}}, {"kern.argmax", []_C_int{1, 8}}, {"kern.audio", []_C_int{1, 84}}, {"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.consbuf", []_C_int{1, 83}}, {"kern.consbufsize", []_C_int{1, 82}}, {"kern.consdev", []_C_int{1, 75}}, {"kern.cp_time", []_C_int{1, 40}}, {"kern.cp_time2", []_C_int{1, 71}}, {"kern.cpustats", []_C_int{1, 85}}, {"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.global_ptrace", []_C_int{1, 81}}, {"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.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.pfstatus", []_C_int{1, 86}}, {"kern.pool_debug", []_C_int{1, 77}}, {"kern.posix1version", []_C_int{1, 17}}, {"kern.proc", []_C_int{1, 66}}, {"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.timeout_stats", []_C_int{1, 87}}, {"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.utc_offset", []_C_int{1, 88}}, {"kern.version", []_C_int{1, 4}}, {"kern.video", []_C_int{1, 89}}, {"kern.watchdog.auto", []_C_int{1, 64, 2}}, {"kern.watchdog.period", []_C_int{1, 64, 1}}, {"kern.witnesswatch", []_C_int{1, 53}}, {"kern.wxabort", []_C_int{1, 74}}, {"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.arpdown", []_C_int{4, 2, 0, 40}}, {"net.inet.ip.arpqueued", []_C_int{4, 2, 0, 36}}, {"net.inet.ip.arptimeout", []_C_int{4, 2, 0, 39}}, {"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.mrtmfc", []_C_int{4, 2, 0, 37}}, {"net.inet.ip.mrtproto", []_C_int{4, 2, 0, 34}}, {"net.inet.ip.mrtstats", []_C_int{4, 2, 0, 35}}, {"net.inet.ip.mrtvif", []_C_int{4, 2, 0, 38}}, {"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.pfsync.stats", []_C_int{4, 2, 240, 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.rootonly", []_C_int{4, 2, 6, 24}}, {"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.tcp.synhashsize", []_C_int{4, 2, 6, 25}}, {"net.inet.tcp.synuselimit", []_C_int{4, 2, 6, 23}}, {"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.rootonly", []_C_int{4, 2, 17, 6}}, {"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_umaxtries", []_C_int{4, 24, 30, 9}}, {"net.inet6.icmp6.redirtimeout", []_C_int{4, 24, 30, 3}}, {"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.mforwarding", []_C_int{4, 24, 17, 42}}, {"net.inet6.ip6.mrtmfc", []_C_int{4, 24, 17, 53}}, {"net.inet6.ip6.mrtmif", []_C_int{4, 24, 17, 52}}, {"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.soiikey", []_C_int{4, 24, 17, 54}}, {"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.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.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.malloc_conf", []_C_int{2, 12}}, {"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}}, } dependencies/pkg/mod/golang.org/x/sys@v0.26.0/unix/zsyscall_freebsd_amd64.go0000644000000000000000000013163315107355264025500 0ustar rootroot// go run mksyscall.go -tags freebsd,amd64 syscall_bsd.go syscall_freebsd.go syscall_freebsd_amd64.go // Code generated by the command above; see README.md. DO NOT EDIT. //go: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 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 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 } // THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT func Madvise(b []byte, behav 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(behav)) 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 Msync(b []byte, flags int) (err error) { var _p0 unsafe.Pointer if len(b) > 0 { _p0 = unsafe.Pointer(&b[0]) } else { _p0 = unsafe.Pointer(&_zero) } _, _, e1 := Syscall(SYS_MSYNC, uintptr(_p0), uintptr(len(b)), uintptr(flags)) 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 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 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 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 ioctlPtr(fd int, req uint, arg unsafe.Pointer) (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 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 ptrace(request int, pid int, addr uintptr, data int) (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 ptracePtr(request int, pid int, addr unsafe.Pointer, data int) (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 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 CapEnter() (err error) { _, _, e1 := Syscall(SYS_CAP_ENTER, 0, 0, 0) if e1 != 0 { err = errnoErr(e1) } return } // THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT func capRightsGet(version int, fd int, rightsp *CapRights) (err error) { _, _, e1 := Syscall(SYS___CAP_RIGHTS_GET, uintptr(version), uintptr(fd), uintptr(unsafe.Pointer(rightsp))) if e1 != 0 { err = errnoErr(e1) } return } // THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT func capRightsLimit(fd int, rightsp *CapRights) (err error) { _, _, e1 := Syscall(SYS_CAP_RIGHTS_LIMIT, uintptr(fd), uintptr(unsafe.Pointer(rightsp)), 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 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 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 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 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 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 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 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 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 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, 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 *uint64) (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 Linkat(pathfd int, path string, linkfd int, link string, flags int) (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 := Syscall6(SYS_LINKAT, uintptr(pathfd), uintptr(unsafe.Pointer(_p0)), uintptr(linkfd), 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 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 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 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 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 Mknodat(fd int, path string, mode uint32, dev uint64) (err error) { var _p0 *byte _p0, err = BytePtrFromString(path) if err != nil { return } _, _, e1 := Syscall6(SYS_MKNODAT, uintptr(fd), 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 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 Openat(fdat int, path string, mode int, perm uint32) (fd int, err error) { var _p0 *byte _p0, err = BytePtrFromString(path) if err != nil { return } r0, _, e1 := Syscall6(SYS_OPENAT, uintptr(fdat), uintptr(unsafe.Pointer(_p0)), uintptr(mode), uintptr(perm), 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 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 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 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 Renameat(fromfd int, from string, tofd int, 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 := Syscall6(SYS_RENAMEAT, uintptr(fromfd), uintptr(unsafe.Pointer(_p0)), uintptr(tofd), 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 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(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 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 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 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 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 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 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 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 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 } // 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 } dependencies/pkg/mod/golang.org/x/sys@v0.26.0/unix/zerrors_linux_386.go0000644000000000000000000010475715107355264024503 0ustar rootroot// mkerrors.sh -Wall -Werror -static -I/tmp/386/include -m32 // Code generated by the command above; see README.md. DO NOT EDIT. //go:build 386 && linux // Code generated by cmd/cgo -godefs; DO NOT EDIT. // cgo -godefs -- -Wall -Werror -static -I/tmp/386/include -m32 _const.go package unix import "syscall" const ( B1000000 = 0x1008 B115200 = 0x1002 B1152000 = 0x1009 B1500000 = 0x100a B2000000 = 0x100b B230400 = 0x1003 B2500000 = 0x100c B3000000 = 0x100d B3500000 = 0x100e B4000000 = 0x100f B460800 = 0x1004 B500000 = 0x1005 B57600 = 0x1001 B576000 = 0x1006 B921600 = 0x1007 BLKALIGNOFF = 0x127a BLKBSZGET = 0x80041270 BLKBSZSET = 0x40041271 BLKDISCARD = 0x1277 BLKDISCARDZEROES = 0x127c BLKFLSBUF = 0x1261 BLKFRAGET = 0x1265 BLKFRASET = 0x1264 BLKGETDISKSEQ = 0x80081280 BLKGETSIZE = 0x1260 BLKGETSIZE64 = 0x80041272 BLKIOMIN = 0x1278 BLKIOOPT = 0x1279 BLKPBSZGET = 0x127b BLKRAGET = 0x1263 BLKRASET = 0x1262 BLKROGET = 0x125e BLKROSET = 0x125d BLKROTATIONAL = 0x127e BLKRRPART = 0x125f BLKSECDISCARD = 0x127d BLKSECTGET = 0x1267 BLKSECTSET = 0x1266 BLKSSZGET = 0x1268 BLKZEROOUT = 0x127f BOTHER = 0x1000 BS1 = 0x2000 BSDLY = 0x2000 CBAUD = 0x100f CBAUDEX = 0x1000 CIBAUD = 0x100f0000 CLOCAL = 0x800 CR1 = 0x200 CR2 = 0x400 CR3 = 0x600 CRDLY = 0x600 CREAD = 0x80 CS6 = 0x10 CS7 = 0x20 CS8 = 0x30 CSIZE = 0x30 CSTOPB = 0x40 ECCGETLAYOUT = 0x81484d11 ECCGETSTATS = 0x80104d12 ECHOCTL = 0x200 ECHOE = 0x10 ECHOK = 0x20 ECHOKE = 0x800 ECHONL = 0x40 ECHOPRT = 0x400 EFD_CLOEXEC = 0x80000 EFD_NONBLOCK = 0x800 EPIOCGPARAMS = 0x80088a02 EPIOCSPARAMS = 0x40088a01 EPOLL_CLOEXEC = 0x80000 EXTPROC = 0x10000 FF1 = 0x8000 FFDLY = 0x8000 FICLONE = 0x40049409 FICLONERANGE = 0x4020940d FLUSHO = 0x1000 FP_XSTATE_MAGIC2 = 0x46505845 FS_IOC_ENABLE_VERITY = 0x40806685 FS_IOC_GETFLAGS = 0x80046601 FS_IOC_GET_ENCRYPTION_NONCE = 0x8010661b FS_IOC_GET_ENCRYPTION_POLICY = 0x400c6615 FS_IOC_GET_ENCRYPTION_PWSALT = 0x40106614 FS_IOC_SETFLAGS = 0x40046602 FS_IOC_SET_ENCRYPTION_POLICY = 0x800c6613 F_GETLK = 0xc F_GETLK64 = 0xc F_GETOWN = 0x9 F_RDLCK = 0x0 F_SETLK = 0xd F_SETLK64 = 0xd F_SETLKW = 0xe F_SETLKW64 = 0xe F_SETOWN = 0x8 F_UNLCK = 0x2 F_WRLCK = 0x1 HIDIOCGRAWINFO = 0x80084803 HIDIOCGRDESC = 0x90044802 HIDIOCGRDESCSIZE = 0x80044801 HUPCL = 0x400 ICANON = 0x2 IEXTEN = 0x8000 IN_CLOEXEC = 0x80000 IN_NONBLOCK = 0x800 IOCTL_VM_SOCKETS_GET_LOCAL_CID = 0x7b9 ISIG = 0x1 IUCLC = 0x200 IXOFF = 0x1000 IXON = 0x400 MAP_32BIT = 0x40 MAP_ABOVE4G = 0x80 MAP_ANON = 0x20 MAP_ANONYMOUS = 0x20 MAP_DENYWRITE = 0x800 MAP_EXECUTABLE = 0x1000 MAP_GROWSDOWN = 0x100 MAP_HUGETLB = 0x40000 MAP_LOCKED = 0x2000 MAP_NONBLOCK = 0x10000 MAP_NORESERVE = 0x4000 MAP_POPULATE = 0x8000 MAP_STACK = 0x20000 MAP_SYNC = 0x80000 MCL_CURRENT = 0x1 MCL_FUTURE = 0x2 MCL_ONFAULT = 0x4 MEMERASE = 0x40084d02 MEMERASE64 = 0x40104d14 MEMGETBADBLOCK = 0x40084d0b MEMGETINFO = 0x80204d01 MEMGETOOBSEL = 0x80c84d0a MEMGETREGIONCOUNT = 0x80044d07 MEMISLOCKED = 0x80084d17 MEMLOCK = 0x40084d05 MEMREAD = 0xc03c4d1a MEMREADOOB = 0xc00c4d04 MEMSETBADBLOCK = 0x40084d0c MEMUNLOCK = 0x40084d06 MEMWRITEOOB = 0xc00c4d03 MTDFILEMODE = 0x4d13 NFDBITS = 0x20 NLDLY = 0x100 NOFLSH = 0x80 NS_GET_MNTNS_ID = 0x8008b705 NS_GET_NSTYPE = 0xb703 NS_GET_OWNER_UID = 0xb704 NS_GET_PARENT = 0xb702 NS_GET_PID_FROM_PIDNS = 0x8004b706 NS_GET_PID_IN_PIDNS = 0x8004b708 NS_GET_TGID_FROM_PIDNS = 0x8004b707 NS_GET_TGID_IN_PIDNS = 0x8004b709 NS_GET_USERNS = 0xb701 OLCUC = 0x2 ONLCR = 0x4 OTPERASE = 0x400c4d19 OTPGETREGIONCOUNT = 0x40044d0e OTPGETREGIONINFO = 0x400c4d0f OTPLOCK = 0x800c4d10 OTPSELECT = 0x80044d0d 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_RSYNC = 0x101000 O_SYNC = 0x101000 O_TMPFILE = 0x410000 O_TRUNC = 0x200 PARENB = 0x100 PARODD = 0x200 PENDIN = 0x4000 PERF_EVENT_IOC_DISABLE = 0x2401 PERF_EVENT_IOC_ENABLE = 0x2400 PERF_EVENT_IOC_ID = 0x80042407 PERF_EVENT_IOC_MODIFY_ATTRIBUTES = 0x4004240b PERF_EVENT_IOC_PAUSE_OUTPUT = 0x40042409 PERF_EVENT_IOC_PERIOD = 0x40082404 PERF_EVENT_IOC_QUERY_BPF = 0xc004240a PERF_EVENT_IOC_REFRESH = 0x2402 PERF_EVENT_IOC_RESET = 0x2403 PERF_EVENT_IOC_SET_BPF = 0x40042408 PERF_EVENT_IOC_SET_FILTER = 0x40042406 PERF_EVENT_IOC_SET_OUTPUT = 0x2405 PPPIOCATTACH = 0x4004743d PPPIOCATTCHAN = 0x40047438 PPPIOCBRIDGECHAN = 0x40047435 PPPIOCCONNECT = 0x4004743a PPPIOCDETACH = 0x4004743c PPPIOCDISCONN = 0x7439 PPPIOCGASYNCMAP = 0x80047458 PPPIOCGCHAN = 0x80047437 PPPIOCGDEBUG = 0x80047441 PPPIOCGFLAGS = 0x8004745a PPPIOCGIDLE = 0x8008743f PPPIOCGIDLE32 = 0x8008743f PPPIOCGIDLE64 = 0x8010743f PPPIOCGL2TPSTATS = 0x80487436 PPPIOCGMRU = 0x80047453 PPPIOCGRASYNCMAP = 0x80047455 PPPIOCGUNIT = 0x80047456 PPPIOCGXASYNCMAP = 0x80207450 PPPIOCSACTIVE = 0x40087446 PPPIOCSASYNCMAP = 0x40047457 PPPIOCSCOMPRESS = 0x400c744d PPPIOCSDEBUG = 0x40047440 PPPIOCSFLAGS = 0x40047459 PPPIOCSMAXCID = 0x40047451 PPPIOCSMRRU = 0x4004743b PPPIOCSMRU = 0x40047452 PPPIOCSNPMODE = 0x4008744b PPPIOCSPASS = 0x40087447 PPPIOCSRASYNCMAP = 0x40047454 PPPIOCSXASYNCMAP = 0x4020744f PPPIOCUNBRIDGECHAN = 0x7434 PPPIOCXFERUNIT = 0x744e PR_SET_PTRACER_ANY = 0xffffffff PTRACE_GETFPREGS = 0xe PTRACE_GETFPXREGS = 0x12 PTRACE_GET_THREAD_AREA = 0x19 PTRACE_OLDSETOPTIONS = 0x15 PTRACE_SETFPREGS = 0xf PTRACE_SETFPXREGS = 0x13 PTRACE_SET_THREAD_AREA = 0x1a PTRACE_SINGLEBLOCK = 0x21 PTRACE_SYSEMU = 0x1f PTRACE_SYSEMU_SINGLESTEP = 0x20 RLIMIT_AS = 0x9 RLIMIT_MEMLOCK = 0x8 RLIMIT_NOFILE = 0x7 RLIMIT_NPROC = 0x6 RLIMIT_RSS = 0x5 RNDADDENTROPY = 0x40085203 RNDADDTOENTCNT = 0x40045201 RNDCLEARPOOL = 0x5206 RNDGETENTCNT = 0x80045200 RNDGETPOOL = 0x80085202 RNDRESEEDCRNG = 0x5207 RNDZAPENTCNT = 0x5204 RTC_AIE_OFF = 0x7002 RTC_AIE_ON = 0x7001 RTC_ALM_READ = 0x80247008 RTC_ALM_SET = 0x40247007 RTC_EPOCH_READ = 0x8004700d RTC_EPOCH_SET = 0x4004700e RTC_IRQP_READ = 0x8004700b RTC_IRQP_SET = 0x4004700c RTC_PARAM_GET = 0x40187013 RTC_PARAM_SET = 0x40187014 RTC_PIE_OFF = 0x7006 RTC_PIE_ON = 0x7005 RTC_PLL_GET = 0x801c7011 RTC_PLL_SET = 0x401c7012 RTC_RD_TIME = 0x80247009 RTC_SET_TIME = 0x4024700a RTC_UIE_OFF = 0x7004 RTC_UIE_ON = 0x7003 RTC_VL_CLR = 0x7014 RTC_VL_READ = 0x80047013 RTC_WIE_OFF = 0x7010 RTC_WIE_ON = 0x700f RTC_WKALM_RD = 0x80287010 RTC_WKALM_SET = 0x4028700f SCM_TIMESTAMPING = 0x25 SCM_TIMESTAMPING_OPT_STATS = 0x36 SCM_TIMESTAMPING_PKTINFO = 0x3a SCM_TIMESTAMPNS = 0x23 SCM_TXTIME = 0x3d SCM_WIFI_STATUS = 0x29 SECCOMP_IOCTL_NOTIF_ADDFD = 0x40182103 SECCOMP_IOCTL_NOTIF_ID_VALID = 0x40082102 SECCOMP_IOCTL_NOTIF_SET_FLAGS = 0x40082104 SFD_CLOEXEC = 0x80000 SFD_NONBLOCK = 0x800 SIOCATMARK = 0x8905 SIOCGPGRP = 0x8904 SIOCGSTAMPNS_NEW = 0x80108907 SIOCGSTAMP_NEW = 0x80108906 SIOCINQ = 0x541b SIOCOUTQ = 0x5411 SIOCSPGRP = 0x8902 SOCK_CLOEXEC = 0x80000 SOCK_DGRAM = 0x2 SOCK_NONBLOCK = 0x800 SOCK_STREAM = 0x1 SOL_SOCKET = 0x1 SO_ACCEPTCONN = 0x1e SO_ATTACH_BPF = 0x32 SO_ATTACH_REUSEPORT_CBPF = 0x33 SO_ATTACH_REUSEPORT_EBPF = 0x34 SO_BINDTODEVICE = 0x19 SO_BINDTOIFINDEX = 0x3e SO_BPF_EXTENSIONS = 0x30 SO_BROADCAST = 0x6 SO_BSDCOMPAT = 0xe SO_BUF_LOCK = 0x48 SO_BUSY_POLL = 0x2e SO_BUSY_POLL_BUDGET = 0x46 SO_CNX_ADVICE = 0x35 SO_COOKIE = 0x39 SO_DETACH_REUSEPORT_BPF = 0x44 SO_DOMAIN = 0x27 SO_DONTROUTE = 0x5 SO_ERROR = 0x4 SO_INCOMING_CPU = 0x31 SO_INCOMING_NAPI_ID = 0x38 SO_KEEPALIVE = 0x9 SO_LINGER = 0xd SO_LOCK_FILTER = 0x2c SO_MARK = 0x24 SO_MAX_PACING_RATE = 0x2f SO_MEMINFO = 0x37 SO_NETNS_COOKIE = 0x47 SO_NOFCS = 0x2b SO_OOBINLINE = 0xa SO_PASSCRED = 0x10 SO_PASSPIDFD = 0x4c SO_PASSSEC = 0x22 SO_PEEK_OFF = 0x2a SO_PEERCRED = 0x11 SO_PEERGROUPS = 0x3b SO_PEERPIDFD = 0x4d SO_PEERSEC = 0x1f SO_PREFER_BUSY_POLL = 0x45 SO_PROTOCOL = 0x26 SO_RCVBUF = 0x8 SO_RCVBUFFORCE = 0x21 SO_RCVLOWAT = 0x12 SO_RCVMARK = 0x4b SO_RCVTIMEO = 0x14 SO_RCVTIMEO_NEW = 0x42 SO_RCVTIMEO_OLD = 0x14 SO_RESERVE_MEM = 0x49 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_SNDTIMEO_NEW = 0x43 SO_SNDTIMEO_OLD = 0x15 SO_TIMESTAMPING = 0x25 SO_TIMESTAMPING_NEW = 0x41 SO_TIMESTAMPING_OLD = 0x25 SO_TIMESTAMPNS = 0x23 SO_TIMESTAMPNS_NEW = 0x40 SO_TIMESTAMPNS_OLD = 0x23 SO_TIMESTAMP_NEW = 0x3f SO_TXREHASH = 0x4a SO_TXTIME = 0x3d SO_TYPE = 0x3 SO_WIFI_STATUS = 0x29 SO_ZEROCOPY = 0x3c TAB1 = 0x800 TAB2 = 0x1000 TAB3 = 0x1800 TABDLY = 0x1800 TCFLSH = 0x540b TCGETA = 0x5405 TCGETS = 0x5401 TCGETS2 = 0x802c542a TCGETX = 0x5432 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 TFD_CLOEXEC = 0x80000 TFD_NONBLOCK = 0x800 TIOCCBRK = 0x5428 TIOCCONS = 0x541d TIOCEXCL = 0x540c TIOCGDEV = 0x80045432 TIOCGETD = 0x5424 TIOCGEXCL = 0x80045440 TIOCGICOUNT = 0x545d TIOCGISO7816 = 0x80285442 TIOCGLCKTRMIOS = 0x5456 TIOCGPGRP = 0x540f TIOCGPKT = 0x80045438 TIOCGPTLCK = 0x80045439 TIOCGPTN = 0x80045430 TIOCGPTPEER = 0x5441 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_RI = 0x80 TIOCM_RNG = 0x80 TIOCM_SR = 0x10 TIOCM_ST = 0x8 TIOCNOTTY = 0x5422 TIOCNXCL = 0x540d TIOCOUTQ = 0x5411 TIOCPKT = 0x5420 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 TIOCSISO7816 = 0xc0285443 TIOCSLCKTRMIOS = 0x5457 TIOCSPGRP = 0x5410 TIOCSPTLCK = 0x40045431 TIOCSRS485 = 0x542f TIOCSSERIAL = 0x541f TIOCSSOFTCAR = 0x541a TIOCSTI = 0x5412 TIOCSWINSZ = 0x5414 TIOCVHANGUP = 0x5437 TOSTOP = 0x100 TUNATTACHFILTER = 0x400854d5 TUNDETACHFILTER = 0x400854d6 TUNGETDEVNETNS = 0x54e3 TUNGETFEATURES = 0x800454cf TUNGETFILTER = 0x800854db TUNGETIFF = 0x800454d2 TUNGETSNDBUF = 0x800454d3 TUNGETVNETBE = 0x800454df TUNGETVNETHDRSZ = 0x800454d7 TUNGETVNETLE = 0x800454dd TUNSETCARRIER = 0x400454e2 TUNSETDEBUG = 0x400454c9 TUNSETFILTEREBPF = 0x800454e1 TUNSETGROUP = 0x400454ce TUNSETIFF = 0x400454ca TUNSETIFINDEX = 0x400454da TUNSETLINK = 0x400454cd TUNSETNOCSUM = 0x400454c8 TUNSETOFFLOAD = 0x400454d0 TUNSETOWNER = 0x400454cc TUNSETPERSIST = 0x400454cb TUNSETQUEUE = 0x400454d9 TUNSETSNDBUF = 0x400454d4 TUNSETSTEERINGEBPF = 0x800454e0 TUNSETTXFILTER = 0x400454d1 TUNSETVNETBE = 0x400454de TUNSETVNETHDRSZ = 0x400454d8 TUNSETVNETLE = 0x400454dc UBI_IOCATT = 0x40186f40 UBI_IOCDET = 0x40046f41 UBI_IOCEBCH = 0x40044f02 UBI_IOCEBER = 0x40044f01 UBI_IOCEBISMAP = 0x80044f05 UBI_IOCEBMAP = 0x40084f03 UBI_IOCEBUNMAP = 0x40044f04 UBI_IOCMKVOL = 0x40986f00 UBI_IOCRMVOL = 0x40046f01 UBI_IOCRNVOL = 0x51106f03 UBI_IOCRPEB = 0x40046f04 UBI_IOCRSVOL = 0x400c6f02 UBI_IOCSETVOLPROP = 0x40104f06 UBI_IOCSPEB = 0x40046f05 UBI_IOCVOLCRBLK = 0x40804f07 UBI_IOCVOLRMBLK = 0x4f08 UBI_IOCVOLUP = 0x40084f00 VDISCARD = 0xd VEOF = 0x4 VEOL = 0xb VEOL2 = 0x10 VMIN = 0x6 VREPRINT = 0xc VSTART = 0x8 VSTOP = 0x9 VSUSP = 0xa VSWTC = 0x7 VT1 = 0x4000 VTDLY = 0x4000 VTIME = 0x5 VWERASE = 0xe WDIOC_GETBOOTSTATUS = 0x80045702 WDIOC_GETPRETIMEOUT = 0x80045709 WDIOC_GETSTATUS = 0x80045701 WDIOC_GETSUPPORT = 0x80285700 WDIOC_GETTEMP = 0x80045703 WDIOC_GETTIMELEFT = 0x8004570a WDIOC_GETTIMEOUT = 0x80045707 WDIOC_KEEPALIVE = 0x80045705 WDIOC_SETOPTIONS = 0x80045704 WORDSIZE = 0x20 X86_FXSR_MAGIC = 0x0 XCASE = 0x4 XTABS = 0x1800 _HIDIOCGRAWNAME = 0x80804804 _HIDIOCGRAWPHYS = 0x80404805 _HIDIOCGRAWUNIQ = 0x80404808 ) // Errors const ( EADDRINUSE = syscall.Errno(0x62) EADDRNOTAVAIL = syscall.Errno(0x63) EADV = syscall.Errno(0x44) EAFNOSUPPORT = syscall.Errno(0x61) EALREADY = syscall.Errno(0x72) EBADE = syscall.Errno(0x34) EBADFD = syscall.Errno(0x4d) EBADMSG = syscall.Errno(0x4a) EBADR = syscall.Errno(0x35) EBADRQC = syscall.Errno(0x38) EBADSLT = syscall.Errno(0x39) EBFONT = syscall.Errno(0x3b) ECANCELED = syscall.Errno(0x7d) 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) EDOTDOT = syscall.Errno(0x49) EDQUOT = syscall.Errno(0x7a) EHOSTDOWN = syscall.Errno(0x70) EHOSTUNREACH = syscall.Errno(0x71) EHWPOISON = syscall.Errno(0x85) EIDRM = syscall.Errno(0x2b) EILSEQ = syscall.Errno(0x54) EINPROGRESS = syscall.Errno(0x73) EISCONN = syscall.Errno(0x6a) 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) 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) ENOANO = syscall.Errno(0x37) ENOBUFS = syscall.Errno(0x69) ENOCSI = syscall.Errno(0x32) ENODATA = syscall.Errno(0x3d) ENOKEY = syscall.Errno(0x7e) ENOLCK = syscall.Errno(0x25) ENOLINK = syscall.Errno(0x43) ENOMEDIUM = syscall.Errno(0x7b) ENOMSG = syscall.Errno(0x2a) ENONET = syscall.Errno(0x40) ENOPKG = syscall.Errno(0x41) ENOPROTOOPT = syscall.Errno(0x5c) ENOSR = syscall.Errno(0x3f) ENOSTR = syscall.Errno(0x3c) ENOSYS = syscall.Errno(0x26) ENOTCONN = syscall.Errno(0x6b) ENOTEMPTY = syscall.Errno(0x27) ENOTNAM = syscall.Errno(0x76) ENOTRECOVERABLE = syscall.Errno(0x83) ENOTSOCK = syscall.Errno(0x58) ENOTSUP = syscall.Errno(0x5f) ENOTUNIQ = syscall.Errno(0x4c) EOPNOTSUPP = syscall.Errno(0x5f) EOVERFLOW = syscall.Errno(0x4b) EOWNERDEAD = syscall.Errno(0x82) EPFNOSUPPORT = syscall.Errno(0x60) EPROTO = syscall.Errno(0x47) EPROTONOSUPPORT = syscall.Errno(0x5d) EPROTOTYPE = syscall.Errno(0x5b) EREMCHG = syscall.Errno(0x4e) EREMOTE = syscall.Errno(0x42) EREMOTEIO = syscall.Errno(0x79) ERESTART = syscall.Errno(0x55) ERFKILL = syscall.Errno(0x84) ESHUTDOWN = syscall.Errno(0x6c) ESOCKTNOSUPPORT = syscall.Errno(0x5e) ESRMNT = syscall.Errno(0x45) ESTALE = syscall.Errno(0x74) ESTRPIPE = syscall.Errno(0x56) ETIME = syscall.Errno(0x3e) ETIMEDOUT = syscall.Errno(0x6e) ETOOMANYREFS = syscall.Errno(0x6d) EUCLEAN = syscall.Errno(0x75) EUNATCH = syscall.Errno(0x31) EUSERS = syscall.Errno(0x57) EXFULL = syscall.Errno(0x36) ) // Signals const ( SIGBUS = syscall.Signal(0x7) SIGCHLD = syscall.Signal(0x11) SIGCLD = syscall.Signal(0x11) SIGCONT = syscall.Signal(0x12) SIGIO = syscall.Signal(0x1d) SIGPOLL = syscall.Signal(0x1d) SIGPROF = syscall.Signal(0x1b) SIGPWR = syscall.Signal(0x1e) SIGSTKFLT = syscall.Signal(0x10) SIGSTOP = syscall.Signal(0x13) SIGSYS = syscall.Signal(0x1f) SIGTSTP = syscall.Signal(0x14) SIGTTIN = syscall.Signal(0x15) SIGTTOU = syscall.Signal(0x16) 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 errorList = [...]struct { num syscall.Errno name string desc string }{ {1, "EPERM", "operation not permitted"}, {2, "ENOENT", "no such file or directory"}, {3, "ESRCH", "no such process"}, {4, "EINTR", "interrupted system call"}, {5, "EIO", "input/output error"}, {6, "ENXIO", "no such device or address"}, {7, "E2BIG", "argument list too long"}, {8, "ENOEXEC", "exec format error"}, {9, "EBADF", "bad file descriptor"}, {10, "ECHILD", "no child processes"}, {11, "EAGAIN", "resource temporarily unavailable"}, {12, "ENOMEM", "cannot allocate memory"}, {13, "EACCES", "permission denied"}, {14, "EFAULT", "bad address"}, {15, "ENOTBLK", "block device required"}, {16, "EBUSY", "device or resource busy"}, {17, "EEXIST", "file exists"}, {18, "EXDEV", "invalid cross-device link"}, {19, "ENODEV", "no such device"}, {20, "ENOTDIR", "not a directory"}, {21, "EISDIR", "is a directory"}, {22, "EINVAL", "invalid argument"}, {23, "ENFILE", "too many open files in system"}, {24, "EMFILE", "too many open files"}, {25, "ENOTTY", "inappropriate ioctl for device"}, {26, "ETXTBSY", "text file busy"}, {27, "EFBIG", "file too large"}, {28, "ENOSPC", "no space left on device"}, {29, "ESPIPE", "illegal seek"}, {30, "EROFS", "read-only file system"}, {31, "EMLINK", "too many links"}, {32, "EPIPE", "broken pipe"}, {33, "EDOM", "numerical argument out of domain"}, {34, "ERANGE", "numerical result out of range"}, {35, "EDEADLK", "resource deadlock avoided"}, {36, "ENAMETOOLONG", "file name too long"}, {37, "ENOLCK", "no locks available"}, {38, "ENOSYS", "function not implemented"}, {39, "ENOTEMPTY", "directory not empty"}, {40, "ELOOP", "too many levels of symbolic links"}, {42, "ENOMSG", "no message of desired type"}, {43, "EIDRM", "identifier removed"}, {44, "ECHRNG", "channel number out of range"}, {45, "EL2NSYNC", "level 2 not synchronized"}, {46, "EL3HLT", "level 3 halted"}, {47, "EL3RST", "level 3 reset"}, {48, "ELNRNG", "link number out of range"}, {49, "EUNATCH", "protocol driver not attached"}, {50, "ENOCSI", "no CSI structure available"}, {51, "EL2HLT", "level 2 halted"}, {52, "EBADE", "invalid exchange"}, {53, "EBADR", "invalid request descriptor"}, {54, "EXFULL", "exchange full"}, {55, "ENOANO", "no anode"}, {56, "EBADRQC", "invalid request code"}, {57, "EBADSLT", "invalid slot"}, {59, "EBFONT", "bad font file format"}, {60, "ENOSTR", "device not a stream"}, {61, "ENODATA", "no data available"}, {62, "ETIME", "timer expired"}, {63, "ENOSR", "out of streams resources"}, {64, "ENONET", "machine is not on the network"}, {65, "ENOPKG", "package not installed"}, {66, "EREMOTE", "object is remote"}, {67, "ENOLINK", "link has been severed"}, {68, "EADV", "advertise error"}, {69, "ESRMNT", "srmount error"}, {70, "ECOMM", "communication error on send"}, {71, "EPROTO", "protocol error"}, {72, "EMULTIHOP", "multihop attempted"}, {73, "EDOTDOT", "RFS specific error"}, {74, "EBADMSG", "bad message"}, {75, "EOVERFLOW", "value too large for defined data type"}, {76, "ENOTUNIQ", "name not unique on network"}, {77, "EBADFD", "file descriptor in bad state"}, {78, "EREMCHG", "remote address changed"}, {79, "ELIBACC", "can not access a needed shared library"}, {80, "ELIBBAD", "accessing a corrupted shared library"}, {81, "ELIBSCN", ".lib section in a.out corrupted"}, {82, "ELIBMAX", "attempting to link in too many shared libraries"}, {83, "ELIBEXEC", "cannot exec a shared library directly"}, {84, "EILSEQ", "invalid or incomplete multibyte or wide character"}, {85, "ERESTART", "interrupted system call should be restarted"}, {86, "ESTRPIPE", "streams pipe error"}, {87, "EUSERS", "too many users"}, {88, "ENOTSOCK", "socket operation on non-socket"}, {89, "EDESTADDRREQ", "destination address required"}, {90, "EMSGSIZE", "message too long"}, {91, "EPROTOTYPE", "protocol wrong type for socket"}, {92, "ENOPROTOOPT", "protocol not available"}, {93, "EPROTONOSUPPORT", "protocol not supported"}, {94, "ESOCKTNOSUPPORT", "socket type not supported"}, {95, "ENOTSUP", "operation not supported"}, {96, "EPFNOSUPPORT", "protocol family not supported"}, {97, "EAFNOSUPPORT", "address family not supported by protocol"}, {98, "EADDRINUSE", "address already in use"}, {99, "EADDRNOTAVAIL", "cannot assign requested address"}, {100, "ENETDOWN", "network is down"}, {101, "ENETUNREACH", "network is unreachable"}, {102, "ENETRESET", "network dropped connection on reset"}, {103, "ECONNABORTED", "software caused connection abort"}, {104, "ECONNRESET", "connection reset by peer"}, {105, "ENOBUFS", "no buffer space available"}, {106, "EISCONN", "transport endpoint is already connected"}, {107, "ENOTCONN", "transport endpoint is not connected"}, {108, "ESHUTDOWN", "cannot send after transport endpoint shutdown"}, {109, "ETOOMANYREFS", "too many references: cannot splice"}, {110, "ETIMEDOUT", "connection timed out"}, {111, "ECONNREFUSED", "connection refused"}, {112, "EHOSTDOWN", "host is down"}, {113, "EHOSTUNREACH", "no route to host"}, {114, "EALREADY", "operation already in progress"}, {115, "EINPROGRESS", "operation now in progress"}, {116, "ESTALE", "stale file handle"}, {117, "EUCLEAN", "structure needs cleaning"}, {118, "ENOTNAM", "not a XENIX named type file"}, {119, "ENAVAIL", "no XENIX semaphores available"}, {120, "EISNAM", "is a named type file"}, {121, "EREMOTEIO", "remote I/O error"}, {122, "EDQUOT", "disk quota exceeded"}, {123, "ENOMEDIUM", "no medium found"}, {124, "EMEDIUMTYPE", "wrong medium type"}, {125, "ECANCELED", "operation canceled"}, {126, "ENOKEY", "required key not available"}, {127, "EKEYEXPIRED", "key has expired"}, {128, "EKEYREVOKED", "key has been revoked"}, {129, "EKEYREJECTED", "key was rejected by service"}, {130, "EOWNERDEAD", "owner died"}, {131, "ENOTRECOVERABLE", "state not recoverable"}, {132, "ERFKILL", "operation not possible due to RF-kill"}, {133, "EHWPOISON", "memory page has hardware error"}, } // Signal table var signalList = [...]struct { num syscall.Signal name string desc string }{ {1, "SIGHUP", "hangup"}, {2, "SIGINT", "interrupt"}, {3, "SIGQUIT", "quit"}, {4, "SIGILL", "illegal instruction"}, {5, "SIGTRAP", "trace/breakpoint trap"}, {6, "SIGABRT", "aborted"}, {7, "SIGBUS", "bus error"}, {8, "SIGFPE", "floating point exception"}, {9, "SIGKILL", "killed"}, {10, "SIGUSR1", "user defined signal 1"}, {11, "SIGSEGV", "segmentation fault"}, {12, "SIGUSR2", "user defined signal 2"}, {13, "SIGPIPE", "broken pipe"}, {14, "SIGALRM", "alarm clock"}, {15, "SIGTERM", "terminated"}, {16, "SIGSTKFLT", "stack fault"}, {17, "SIGCHLD", "child exited"}, {18, "SIGCONT", "continued"}, {19, "SIGSTOP", "stopped (signal)"}, {20, "SIGTSTP", "stopped"}, {21, "SIGTTIN", "stopped (tty input)"}, {22, "SIGTTOU", "stopped (tty output)"}, {23, "SIGURG", "urgent I/O condition"}, {24, "SIGXCPU", "CPU time limit exceeded"}, {25, "SIGXFSZ", "file size limit exceeded"}, {26, "SIGVTALRM", "virtual timer expired"}, {27, "SIGPROF", "profiling timer expired"}, {28, "SIGWINCH", "window changed"}, {29, "SIGIO", "I/O possible"}, {30, "SIGPWR", "power failure"}, {31, "SIGSYS", "bad system call"}, } dependencies/pkg/mod/golang.org/x/sys@v0.26.0/unix/zsyscall_darwin_amd64.s0000644000000000000000000007460415107355264025213 0ustar rootroot// go run mkasm.go darwin amd64 // Code generated by the command above; DO NOT EDIT. #include "textflag.h" TEXT libc_fdopendir_trampoline<>(SB),NOSPLIT,$0-0 JMP libc_fdopendir(SB) GLOBL ·libc_fdopendir_trampoline_addr(SB), RODATA, $8 DATA ·libc_fdopendir_trampoline_addr(SB)/8, $libc_fdopendir_trampoline<>(SB) TEXT libc_getgroups_trampoline<>(SB),NOSPLIT,$0-0 JMP libc_getgroups(SB) GLOBL ·libc_getgroups_trampoline_addr(SB), RODATA, $8 DATA ·libc_getgroups_trampoline_addr(SB)/8, $libc_getgroups_trampoline<>(SB) TEXT libc_setgroups_trampoline<>(SB),NOSPLIT,$0-0 JMP libc_setgroups(SB) GLOBL ·libc_setgroups_trampoline_addr(SB), RODATA, $8 DATA ·libc_setgroups_trampoline_addr(SB)/8, $libc_setgroups_trampoline<>(SB) TEXT libc_wait4_trampoline<>(SB),NOSPLIT,$0-0 JMP libc_wait4(SB) GLOBL ·libc_wait4_trampoline_addr(SB), RODATA, $8 DATA ·libc_wait4_trampoline_addr(SB)/8, $libc_wait4_trampoline<>(SB) TEXT libc_accept_trampoline<>(SB),NOSPLIT,$0-0 JMP libc_accept(SB) GLOBL ·libc_accept_trampoline_addr(SB), RODATA, $8 DATA ·libc_accept_trampoline_addr(SB)/8, $libc_accept_trampoline<>(SB) TEXT libc_bind_trampoline<>(SB),NOSPLIT,$0-0 JMP libc_bind(SB) GLOBL ·libc_bind_trampoline_addr(SB), RODATA, $8 DATA ·libc_bind_trampoline_addr(SB)/8, $libc_bind_trampoline<>(SB) TEXT libc_connect_trampoline<>(SB),NOSPLIT,$0-0 JMP libc_connect(SB) GLOBL ·libc_connect_trampoline_addr(SB), RODATA, $8 DATA ·libc_connect_trampoline_addr(SB)/8, $libc_connect_trampoline<>(SB) TEXT libc_socket_trampoline<>(SB),NOSPLIT,$0-0 JMP libc_socket(SB) GLOBL ·libc_socket_trampoline_addr(SB), RODATA, $8 DATA ·libc_socket_trampoline_addr(SB)/8, $libc_socket_trampoline<>(SB) TEXT libc_getsockopt_trampoline<>(SB),NOSPLIT,$0-0 JMP libc_getsockopt(SB) GLOBL ·libc_getsockopt_trampoline_addr(SB), RODATA, $8 DATA ·libc_getsockopt_trampoline_addr(SB)/8, $libc_getsockopt_trampoline<>(SB) TEXT libc_setsockopt_trampoline<>(SB),NOSPLIT,$0-0 JMP libc_setsockopt(SB) GLOBL ·libc_setsockopt_trampoline_addr(SB), RODATA, $8 DATA ·libc_setsockopt_trampoline_addr(SB)/8, $libc_setsockopt_trampoline<>(SB) TEXT libc_getpeername_trampoline<>(SB),NOSPLIT,$0-0 JMP libc_getpeername(SB) GLOBL ·libc_getpeername_trampoline_addr(SB), RODATA, $8 DATA ·libc_getpeername_trampoline_addr(SB)/8, $libc_getpeername_trampoline<>(SB) TEXT libc_getsockname_trampoline<>(SB),NOSPLIT,$0-0 JMP libc_getsockname(SB) GLOBL ·libc_getsockname_trampoline_addr(SB), RODATA, $8 DATA ·libc_getsockname_trampoline_addr(SB)/8, $libc_getsockname_trampoline<>(SB) TEXT libc_shutdown_trampoline<>(SB),NOSPLIT,$0-0 JMP libc_shutdown(SB) GLOBL ·libc_shutdown_trampoline_addr(SB), RODATA, $8 DATA ·libc_shutdown_trampoline_addr(SB)/8, $libc_shutdown_trampoline<>(SB) TEXT libc_socketpair_trampoline<>(SB),NOSPLIT,$0-0 JMP libc_socketpair(SB) GLOBL ·libc_socketpair_trampoline_addr(SB), RODATA, $8 DATA ·libc_socketpair_trampoline_addr(SB)/8, $libc_socketpair_trampoline<>(SB) TEXT libc_recvfrom_trampoline<>(SB),NOSPLIT,$0-0 JMP libc_recvfrom(SB) GLOBL ·libc_recvfrom_trampoline_addr(SB), RODATA, $8 DATA ·libc_recvfrom_trampoline_addr(SB)/8, $libc_recvfrom_trampoline<>(SB) TEXT libc_sendto_trampoline<>(SB),NOSPLIT,$0-0 JMP libc_sendto(SB) GLOBL ·libc_sendto_trampoline_addr(SB), RODATA, $8 DATA ·libc_sendto_trampoline_addr(SB)/8, $libc_sendto_trampoline<>(SB) TEXT libc_recvmsg_trampoline<>(SB),NOSPLIT,$0-0 JMP libc_recvmsg(SB) GLOBL ·libc_recvmsg_trampoline_addr(SB), RODATA, $8 DATA ·libc_recvmsg_trampoline_addr(SB)/8, $libc_recvmsg_trampoline<>(SB) TEXT libc_sendmsg_trampoline<>(SB),NOSPLIT,$0-0 JMP libc_sendmsg(SB) GLOBL ·libc_sendmsg_trampoline_addr(SB), RODATA, $8 DATA ·libc_sendmsg_trampoline_addr(SB)/8, $libc_sendmsg_trampoline<>(SB) TEXT libc_kevent_trampoline<>(SB),NOSPLIT,$0-0 JMP libc_kevent(SB) GLOBL ·libc_kevent_trampoline_addr(SB), RODATA, $8 DATA ·libc_kevent_trampoline_addr(SB)/8, $libc_kevent_trampoline<>(SB) TEXT libc_utimes_trampoline<>(SB),NOSPLIT,$0-0 JMP libc_utimes(SB) GLOBL ·libc_utimes_trampoline_addr(SB), RODATA, $8 DATA ·libc_utimes_trampoline_addr(SB)/8, $libc_utimes_trampoline<>(SB) TEXT libc_futimes_trampoline<>(SB),NOSPLIT,$0-0 JMP libc_futimes(SB) GLOBL ·libc_futimes_trampoline_addr(SB), RODATA, $8 DATA ·libc_futimes_trampoline_addr(SB)/8, $libc_futimes_trampoline<>(SB) TEXT libc_poll_trampoline<>(SB),NOSPLIT,$0-0 JMP libc_poll(SB) GLOBL ·libc_poll_trampoline_addr(SB), RODATA, $8 DATA ·libc_poll_trampoline_addr(SB)/8, $libc_poll_trampoline<>(SB) TEXT libc_madvise_trampoline<>(SB),NOSPLIT,$0-0 JMP libc_madvise(SB) GLOBL ·libc_madvise_trampoline_addr(SB), RODATA, $8 DATA ·libc_madvise_trampoline_addr(SB)/8, $libc_madvise_trampoline<>(SB) TEXT libc_mlock_trampoline<>(SB),NOSPLIT,$0-0 JMP libc_mlock(SB) GLOBL ·libc_mlock_trampoline_addr(SB), RODATA, $8 DATA ·libc_mlock_trampoline_addr(SB)/8, $libc_mlock_trampoline<>(SB) TEXT libc_mlockall_trampoline<>(SB),NOSPLIT,$0-0 JMP libc_mlockall(SB) GLOBL ·libc_mlockall_trampoline_addr(SB), RODATA, $8 DATA ·libc_mlockall_trampoline_addr(SB)/8, $libc_mlockall_trampoline<>(SB) TEXT libc_mprotect_trampoline<>(SB),NOSPLIT,$0-0 JMP libc_mprotect(SB) GLOBL ·libc_mprotect_trampoline_addr(SB), RODATA, $8 DATA ·libc_mprotect_trampoline_addr(SB)/8, $libc_mprotect_trampoline<>(SB) TEXT libc_msync_trampoline<>(SB),NOSPLIT,$0-0 JMP libc_msync(SB) GLOBL ·libc_msync_trampoline_addr(SB), RODATA, $8 DATA ·libc_msync_trampoline_addr(SB)/8, $libc_msync_trampoline<>(SB) TEXT libc_munlock_trampoline<>(SB),NOSPLIT,$0-0 JMP libc_munlock(SB) GLOBL ·libc_munlock_trampoline_addr(SB), RODATA, $8 DATA ·libc_munlock_trampoline_addr(SB)/8, $libc_munlock_trampoline<>(SB) TEXT libc_munlockall_trampoline<>(SB),NOSPLIT,$0-0 JMP libc_munlockall(SB) GLOBL ·libc_munlockall_trampoline_addr(SB), RODATA, $8 DATA ·libc_munlockall_trampoline_addr(SB)/8, $libc_munlockall_trampoline<>(SB) TEXT libc_closedir_trampoline<>(SB),NOSPLIT,$0-0 JMP libc_closedir(SB) GLOBL ·libc_closedir_trampoline_addr(SB), RODATA, $8 DATA ·libc_closedir_trampoline_addr(SB)/8, $libc_closedir_trampoline<>(SB) TEXT libc_readdir_r_trampoline<>(SB),NOSPLIT,$0-0 JMP libc_readdir_r(SB) GLOBL ·libc_readdir_r_trampoline_addr(SB), RODATA, $8 DATA ·libc_readdir_r_trampoline_addr(SB)/8, $libc_readdir_r_trampoline<>(SB) TEXT libc_pipe_trampoline<>(SB),NOSPLIT,$0-0 JMP libc_pipe(SB) GLOBL ·libc_pipe_trampoline_addr(SB), RODATA, $8 DATA ·libc_pipe_trampoline_addr(SB)/8, $libc_pipe_trampoline<>(SB) TEXT libc_getxattr_trampoline<>(SB),NOSPLIT,$0-0 JMP libc_getxattr(SB) GLOBL ·libc_getxattr_trampoline_addr(SB), RODATA, $8 DATA ·libc_getxattr_trampoline_addr(SB)/8, $libc_getxattr_trampoline<>(SB) TEXT libc_fgetxattr_trampoline<>(SB),NOSPLIT,$0-0 JMP libc_fgetxattr(SB) GLOBL ·libc_fgetxattr_trampoline_addr(SB), RODATA, $8 DATA ·libc_fgetxattr_trampoline_addr(SB)/8, $libc_fgetxattr_trampoline<>(SB) TEXT libc_setxattr_trampoline<>(SB),NOSPLIT,$0-0 JMP libc_setxattr(SB) GLOBL ·libc_setxattr_trampoline_addr(SB), RODATA, $8 DATA ·libc_setxattr_trampoline_addr(SB)/8, $libc_setxattr_trampoline<>(SB) TEXT libc_fsetxattr_trampoline<>(SB),NOSPLIT,$0-0 JMP libc_fsetxattr(SB) GLOBL ·libc_fsetxattr_trampoline_addr(SB), RODATA, $8 DATA ·libc_fsetxattr_trampoline_addr(SB)/8, $libc_fsetxattr_trampoline<>(SB) TEXT libc_removexattr_trampoline<>(SB),NOSPLIT,$0-0 JMP libc_removexattr(SB) GLOBL ·libc_removexattr_trampoline_addr(SB), RODATA, $8 DATA ·libc_removexattr_trampoline_addr(SB)/8, $libc_removexattr_trampoline<>(SB) TEXT libc_fremovexattr_trampoline<>(SB),NOSPLIT,$0-0 JMP libc_fremovexattr(SB) GLOBL ·libc_fremovexattr_trampoline_addr(SB), RODATA, $8 DATA ·libc_fremovexattr_trampoline_addr(SB)/8, $libc_fremovexattr_trampoline<>(SB) TEXT libc_listxattr_trampoline<>(SB),NOSPLIT,$0-0 JMP libc_listxattr(SB) GLOBL ·libc_listxattr_trampoline_addr(SB), RODATA, $8 DATA ·libc_listxattr_trampoline_addr(SB)/8, $libc_listxattr_trampoline<>(SB) TEXT libc_flistxattr_trampoline<>(SB),NOSPLIT,$0-0 JMP libc_flistxattr(SB) GLOBL ·libc_flistxattr_trampoline_addr(SB), RODATA, $8 DATA ·libc_flistxattr_trampoline_addr(SB)/8, $libc_flistxattr_trampoline<>(SB) TEXT libc_utimensat_trampoline<>(SB),NOSPLIT,$0-0 JMP libc_utimensat(SB) GLOBL ·libc_utimensat_trampoline_addr(SB), RODATA, $8 DATA ·libc_utimensat_trampoline_addr(SB)/8, $libc_utimensat_trampoline<>(SB) TEXT libc_fcntl_trampoline<>(SB),NOSPLIT,$0-0 JMP libc_fcntl(SB) GLOBL ·libc_fcntl_trampoline_addr(SB), RODATA, $8 DATA ·libc_fcntl_trampoline_addr(SB)/8, $libc_fcntl_trampoline<>(SB) TEXT libc_kill_trampoline<>(SB),NOSPLIT,$0-0 JMP libc_kill(SB) GLOBL ·libc_kill_trampoline_addr(SB), RODATA, $8 DATA ·libc_kill_trampoline_addr(SB)/8, $libc_kill_trampoline<>(SB) TEXT libc_ioctl_trampoline<>(SB),NOSPLIT,$0-0 JMP libc_ioctl(SB) GLOBL ·libc_ioctl_trampoline_addr(SB), RODATA, $8 DATA ·libc_ioctl_trampoline_addr(SB)/8, $libc_ioctl_trampoline<>(SB) TEXT libc_renamex_np_trampoline<>(SB),NOSPLIT,$0-0 JMP libc_renamex_np(SB) GLOBL ·libc_renamex_np_trampoline_addr(SB), RODATA, $8 DATA ·libc_renamex_np_trampoline_addr(SB)/8, $libc_renamex_np_trampoline<>(SB) TEXT libc_renameatx_np_trampoline<>(SB),NOSPLIT,$0-0 JMP libc_renameatx_np(SB) GLOBL ·libc_renameatx_np_trampoline_addr(SB), RODATA, $8 DATA ·libc_renameatx_np_trampoline_addr(SB)/8, $libc_renameatx_np_trampoline<>(SB) TEXT libc_sysctl_trampoline<>(SB),NOSPLIT,$0-0 JMP libc_sysctl(SB) GLOBL ·libc_sysctl_trampoline_addr(SB), RODATA, $8 DATA ·libc_sysctl_trampoline_addr(SB)/8, $libc_sysctl_trampoline<>(SB) TEXT libc_pthread_chdir_np_trampoline<>(SB),NOSPLIT,$0-0 JMP libc_pthread_chdir_np(SB) GLOBL ·libc_pthread_chdir_np_trampoline_addr(SB), RODATA, $8 DATA ·libc_pthread_chdir_np_trampoline_addr(SB)/8, $libc_pthread_chdir_np_trampoline<>(SB) TEXT libc_pthread_fchdir_np_trampoline<>(SB),NOSPLIT,$0-0 JMP libc_pthread_fchdir_np(SB) GLOBL ·libc_pthread_fchdir_np_trampoline_addr(SB), RODATA, $8 DATA ·libc_pthread_fchdir_np_trampoline_addr(SB)/8, $libc_pthread_fchdir_np_trampoline<>(SB) TEXT libc_connectx_trampoline<>(SB),NOSPLIT,$0-0 JMP libc_connectx(SB) GLOBL ·libc_connectx_trampoline_addr(SB), RODATA, $8 DATA ·libc_connectx_trampoline_addr(SB)/8, $libc_connectx_trampoline<>(SB) TEXT libc_sendfile_trampoline<>(SB),NOSPLIT,$0-0 JMP libc_sendfile(SB) GLOBL ·libc_sendfile_trampoline_addr(SB), RODATA, $8 DATA ·libc_sendfile_trampoline_addr(SB)/8, $libc_sendfile_trampoline<>(SB) TEXT libc_shmat_trampoline<>(SB),NOSPLIT,$0-0 JMP libc_shmat(SB) GLOBL ·libc_shmat_trampoline_addr(SB), RODATA, $8 DATA ·libc_shmat_trampoline_addr(SB)/8, $libc_shmat_trampoline<>(SB) TEXT libc_shmctl_trampoline<>(SB),NOSPLIT,$0-0 JMP libc_shmctl(SB) GLOBL ·libc_shmctl_trampoline_addr(SB), RODATA, $8 DATA ·libc_shmctl_trampoline_addr(SB)/8, $libc_shmctl_trampoline<>(SB) TEXT libc_shmdt_trampoline<>(SB),NOSPLIT,$0-0 JMP libc_shmdt(SB) GLOBL ·libc_shmdt_trampoline_addr(SB), RODATA, $8 DATA ·libc_shmdt_trampoline_addr(SB)/8, $libc_shmdt_trampoline<>(SB) TEXT libc_shmget_trampoline<>(SB),NOSPLIT,$0-0 JMP libc_shmget(SB) GLOBL ·libc_shmget_trampoline_addr(SB), RODATA, $8 DATA ·libc_shmget_trampoline_addr(SB)/8, $libc_shmget_trampoline<>(SB) TEXT libc_access_trampoline<>(SB),NOSPLIT,$0-0 JMP libc_access(SB) GLOBL ·libc_access_trampoline_addr(SB), RODATA, $8 DATA ·libc_access_trampoline_addr(SB)/8, $libc_access_trampoline<>(SB) TEXT libc_adjtime_trampoline<>(SB),NOSPLIT,$0-0 JMP libc_adjtime(SB) GLOBL ·libc_adjtime_trampoline_addr(SB), RODATA, $8 DATA ·libc_adjtime_trampoline_addr(SB)/8, $libc_adjtime_trampoline<>(SB) TEXT libc_chdir_trampoline<>(SB),NOSPLIT,$0-0 JMP libc_chdir(SB) GLOBL ·libc_chdir_trampoline_addr(SB), RODATA, $8 DATA ·libc_chdir_trampoline_addr(SB)/8, $libc_chdir_trampoline<>(SB) TEXT libc_chflags_trampoline<>(SB),NOSPLIT,$0-0 JMP libc_chflags(SB) GLOBL ·libc_chflags_trampoline_addr(SB), RODATA, $8 DATA ·libc_chflags_trampoline_addr(SB)/8, $libc_chflags_trampoline<>(SB) TEXT libc_chmod_trampoline<>(SB),NOSPLIT,$0-0 JMP libc_chmod(SB) GLOBL ·libc_chmod_trampoline_addr(SB), RODATA, $8 DATA ·libc_chmod_trampoline_addr(SB)/8, $libc_chmod_trampoline<>(SB) TEXT libc_chown_trampoline<>(SB),NOSPLIT,$0-0 JMP libc_chown(SB) GLOBL ·libc_chown_trampoline_addr(SB), RODATA, $8 DATA ·libc_chown_trampoline_addr(SB)/8, $libc_chown_trampoline<>(SB) TEXT libc_chroot_trampoline<>(SB),NOSPLIT,$0-0 JMP libc_chroot(SB) GLOBL ·libc_chroot_trampoline_addr(SB), RODATA, $8 DATA ·libc_chroot_trampoline_addr(SB)/8, $libc_chroot_trampoline<>(SB) TEXT libc_clock_gettime_trampoline<>(SB),NOSPLIT,$0-0 JMP libc_clock_gettime(SB) GLOBL ·libc_clock_gettime_trampoline_addr(SB), RODATA, $8 DATA ·libc_clock_gettime_trampoline_addr(SB)/8, $libc_clock_gettime_trampoline<>(SB) TEXT libc_close_trampoline<>(SB),NOSPLIT,$0-0 JMP libc_close(SB) GLOBL ·libc_close_trampoline_addr(SB), RODATA, $8 DATA ·libc_close_trampoline_addr(SB)/8, $libc_close_trampoline<>(SB) TEXT libc_clonefile_trampoline<>(SB),NOSPLIT,$0-0 JMP libc_clonefile(SB) GLOBL ·libc_clonefile_trampoline_addr(SB), RODATA, $8 DATA ·libc_clonefile_trampoline_addr(SB)/8, $libc_clonefile_trampoline<>(SB) TEXT libc_clonefileat_trampoline<>(SB),NOSPLIT,$0-0 JMP libc_clonefileat(SB) GLOBL ·libc_clonefileat_trampoline_addr(SB), RODATA, $8 DATA ·libc_clonefileat_trampoline_addr(SB)/8, $libc_clonefileat_trampoline<>(SB) TEXT libc_dup_trampoline<>(SB),NOSPLIT,$0-0 JMP libc_dup(SB) GLOBL ·libc_dup_trampoline_addr(SB), RODATA, $8 DATA ·libc_dup_trampoline_addr(SB)/8, $libc_dup_trampoline<>(SB) TEXT libc_dup2_trampoline<>(SB),NOSPLIT,$0-0 JMP libc_dup2(SB) GLOBL ·libc_dup2_trampoline_addr(SB), RODATA, $8 DATA ·libc_dup2_trampoline_addr(SB)/8, $libc_dup2_trampoline<>(SB) TEXT libc_exchangedata_trampoline<>(SB),NOSPLIT,$0-0 JMP libc_exchangedata(SB) GLOBL ·libc_exchangedata_trampoline_addr(SB), RODATA, $8 DATA ·libc_exchangedata_trampoline_addr(SB)/8, $libc_exchangedata_trampoline<>(SB) TEXT libc_exit_trampoline<>(SB),NOSPLIT,$0-0 JMP libc_exit(SB) GLOBL ·libc_exit_trampoline_addr(SB), RODATA, $8 DATA ·libc_exit_trampoline_addr(SB)/8, $libc_exit_trampoline<>(SB) TEXT libc_faccessat_trampoline<>(SB),NOSPLIT,$0-0 JMP libc_faccessat(SB) GLOBL ·libc_faccessat_trampoline_addr(SB), RODATA, $8 DATA ·libc_faccessat_trampoline_addr(SB)/8, $libc_faccessat_trampoline<>(SB) TEXT libc_fchdir_trampoline<>(SB),NOSPLIT,$0-0 JMP libc_fchdir(SB) GLOBL ·libc_fchdir_trampoline_addr(SB), RODATA, $8 DATA ·libc_fchdir_trampoline_addr(SB)/8, $libc_fchdir_trampoline<>(SB) TEXT libc_fchflags_trampoline<>(SB),NOSPLIT,$0-0 JMP libc_fchflags(SB) GLOBL ·libc_fchflags_trampoline_addr(SB), RODATA, $8 DATA ·libc_fchflags_trampoline_addr(SB)/8, $libc_fchflags_trampoline<>(SB) TEXT libc_fchmod_trampoline<>(SB),NOSPLIT,$0-0 JMP libc_fchmod(SB) GLOBL ·libc_fchmod_trampoline_addr(SB), RODATA, $8 DATA ·libc_fchmod_trampoline_addr(SB)/8, $libc_fchmod_trampoline<>(SB) TEXT libc_fchmodat_trampoline<>(SB),NOSPLIT,$0-0 JMP libc_fchmodat(SB) GLOBL ·libc_fchmodat_trampoline_addr(SB), RODATA, $8 DATA ·libc_fchmodat_trampoline_addr(SB)/8, $libc_fchmodat_trampoline<>(SB) TEXT libc_fchown_trampoline<>(SB),NOSPLIT,$0-0 JMP libc_fchown(SB) GLOBL ·libc_fchown_trampoline_addr(SB), RODATA, $8 DATA ·libc_fchown_trampoline_addr(SB)/8, $libc_fchown_trampoline<>(SB) TEXT libc_fchownat_trampoline<>(SB),NOSPLIT,$0-0 JMP libc_fchownat(SB) GLOBL ·libc_fchownat_trampoline_addr(SB), RODATA, $8 DATA ·libc_fchownat_trampoline_addr(SB)/8, $libc_fchownat_trampoline<>(SB) TEXT libc_fclonefileat_trampoline<>(SB),NOSPLIT,$0-0 JMP libc_fclonefileat(SB) GLOBL ·libc_fclonefileat_trampoline_addr(SB), RODATA, $8 DATA ·libc_fclonefileat_trampoline_addr(SB)/8, $libc_fclonefileat_trampoline<>(SB) TEXT libc_flock_trampoline<>(SB),NOSPLIT,$0-0 JMP libc_flock(SB) GLOBL ·libc_flock_trampoline_addr(SB), RODATA, $8 DATA ·libc_flock_trampoline_addr(SB)/8, $libc_flock_trampoline<>(SB) TEXT libc_fpathconf_trampoline<>(SB),NOSPLIT,$0-0 JMP libc_fpathconf(SB) GLOBL ·libc_fpathconf_trampoline_addr(SB), RODATA, $8 DATA ·libc_fpathconf_trampoline_addr(SB)/8, $libc_fpathconf_trampoline<>(SB) TEXT libc_fsync_trampoline<>(SB),NOSPLIT,$0-0 JMP libc_fsync(SB) GLOBL ·libc_fsync_trampoline_addr(SB), RODATA, $8 DATA ·libc_fsync_trampoline_addr(SB)/8, $libc_fsync_trampoline<>(SB) TEXT libc_ftruncate_trampoline<>(SB),NOSPLIT,$0-0 JMP libc_ftruncate(SB) GLOBL ·libc_ftruncate_trampoline_addr(SB), RODATA, $8 DATA ·libc_ftruncate_trampoline_addr(SB)/8, $libc_ftruncate_trampoline<>(SB) TEXT libc_getcwd_trampoline<>(SB),NOSPLIT,$0-0 JMP libc_getcwd(SB) GLOBL ·libc_getcwd_trampoline_addr(SB), RODATA, $8 DATA ·libc_getcwd_trampoline_addr(SB)/8, $libc_getcwd_trampoline<>(SB) TEXT libc_getdtablesize_trampoline<>(SB),NOSPLIT,$0-0 JMP libc_getdtablesize(SB) GLOBL ·libc_getdtablesize_trampoline_addr(SB), RODATA, $8 DATA ·libc_getdtablesize_trampoline_addr(SB)/8, $libc_getdtablesize_trampoline<>(SB) TEXT libc_getegid_trampoline<>(SB),NOSPLIT,$0-0 JMP libc_getegid(SB) GLOBL ·libc_getegid_trampoline_addr(SB), RODATA, $8 DATA ·libc_getegid_trampoline_addr(SB)/8, $libc_getegid_trampoline<>(SB) TEXT libc_geteuid_trampoline<>(SB),NOSPLIT,$0-0 JMP libc_geteuid(SB) GLOBL ·libc_geteuid_trampoline_addr(SB), RODATA, $8 DATA ·libc_geteuid_trampoline_addr(SB)/8, $libc_geteuid_trampoline<>(SB) TEXT libc_getgid_trampoline<>(SB),NOSPLIT,$0-0 JMP libc_getgid(SB) GLOBL ·libc_getgid_trampoline_addr(SB), RODATA, $8 DATA ·libc_getgid_trampoline_addr(SB)/8, $libc_getgid_trampoline<>(SB) TEXT libc_getpgid_trampoline<>(SB),NOSPLIT,$0-0 JMP libc_getpgid(SB) GLOBL ·libc_getpgid_trampoline_addr(SB), RODATA, $8 DATA ·libc_getpgid_trampoline_addr(SB)/8, $libc_getpgid_trampoline<>(SB) TEXT libc_getpgrp_trampoline<>(SB),NOSPLIT,$0-0 JMP libc_getpgrp(SB) GLOBL ·libc_getpgrp_trampoline_addr(SB), RODATA, $8 DATA ·libc_getpgrp_trampoline_addr(SB)/8, $libc_getpgrp_trampoline<>(SB) TEXT libc_getpid_trampoline<>(SB),NOSPLIT,$0-0 JMP libc_getpid(SB) GLOBL ·libc_getpid_trampoline_addr(SB), RODATA, $8 DATA ·libc_getpid_trampoline_addr(SB)/8, $libc_getpid_trampoline<>(SB) TEXT libc_getppid_trampoline<>(SB),NOSPLIT,$0-0 JMP libc_getppid(SB) GLOBL ·libc_getppid_trampoline_addr(SB), RODATA, $8 DATA ·libc_getppid_trampoline_addr(SB)/8, $libc_getppid_trampoline<>(SB) TEXT libc_getpriority_trampoline<>(SB),NOSPLIT,$0-0 JMP libc_getpriority(SB) GLOBL ·libc_getpriority_trampoline_addr(SB), RODATA, $8 DATA ·libc_getpriority_trampoline_addr(SB)/8, $libc_getpriority_trampoline<>(SB) TEXT libc_getrlimit_trampoline<>(SB),NOSPLIT,$0-0 JMP libc_getrlimit(SB) GLOBL ·libc_getrlimit_trampoline_addr(SB), RODATA, $8 DATA ·libc_getrlimit_trampoline_addr(SB)/8, $libc_getrlimit_trampoline<>(SB) TEXT libc_getrusage_trampoline<>(SB),NOSPLIT,$0-0 JMP libc_getrusage(SB) GLOBL ·libc_getrusage_trampoline_addr(SB), RODATA, $8 DATA ·libc_getrusage_trampoline_addr(SB)/8, $libc_getrusage_trampoline<>(SB) TEXT libc_getsid_trampoline<>(SB),NOSPLIT,$0-0 JMP libc_getsid(SB) GLOBL ·libc_getsid_trampoline_addr(SB), RODATA, $8 DATA ·libc_getsid_trampoline_addr(SB)/8, $libc_getsid_trampoline<>(SB) TEXT libc_gettimeofday_trampoline<>(SB),NOSPLIT,$0-0 JMP libc_gettimeofday(SB) GLOBL ·libc_gettimeofday_trampoline_addr(SB), RODATA, $8 DATA ·libc_gettimeofday_trampoline_addr(SB)/8, $libc_gettimeofday_trampoline<>(SB) TEXT libc_getuid_trampoline<>(SB),NOSPLIT,$0-0 JMP libc_getuid(SB) GLOBL ·libc_getuid_trampoline_addr(SB), RODATA, $8 DATA ·libc_getuid_trampoline_addr(SB)/8, $libc_getuid_trampoline<>(SB) TEXT libc_issetugid_trampoline<>(SB),NOSPLIT,$0-0 JMP libc_issetugid(SB) GLOBL ·libc_issetugid_trampoline_addr(SB), RODATA, $8 DATA ·libc_issetugid_trampoline_addr(SB)/8, $libc_issetugid_trampoline<>(SB) TEXT libc_kqueue_trampoline<>(SB),NOSPLIT,$0-0 JMP libc_kqueue(SB) GLOBL ·libc_kqueue_trampoline_addr(SB), RODATA, $8 DATA ·libc_kqueue_trampoline_addr(SB)/8, $libc_kqueue_trampoline<>(SB) TEXT libc_lchown_trampoline<>(SB),NOSPLIT,$0-0 JMP libc_lchown(SB) GLOBL ·libc_lchown_trampoline_addr(SB), RODATA, $8 DATA ·libc_lchown_trampoline_addr(SB)/8, $libc_lchown_trampoline<>(SB) TEXT libc_link_trampoline<>(SB),NOSPLIT,$0-0 JMP libc_link(SB) GLOBL ·libc_link_trampoline_addr(SB), RODATA, $8 DATA ·libc_link_trampoline_addr(SB)/8, $libc_link_trampoline<>(SB) TEXT libc_linkat_trampoline<>(SB),NOSPLIT,$0-0 JMP libc_linkat(SB) GLOBL ·libc_linkat_trampoline_addr(SB), RODATA, $8 DATA ·libc_linkat_trampoline_addr(SB)/8, $libc_linkat_trampoline<>(SB) TEXT libc_listen_trampoline<>(SB),NOSPLIT,$0-0 JMP libc_listen(SB) GLOBL ·libc_listen_trampoline_addr(SB), RODATA, $8 DATA ·libc_listen_trampoline_addr(SB)/8, $libc_listen_trampoline<>(SB) TEXT libc_mkdir_trampoline<>(SB),NOSPLIT,$0-0 JMP libc_mkdir(SB) GLOBL ·libc_mkdir_trampoline_addr(SB), RODATA, $8 DATA ·libc_mkdir_trampoline_addr(SB)/8, $libc_mkdir_trampoline<>(SB) TEXT libc_mkdirat_trampoline<>(SB),NOSPLIT,$0-0 JMP libc_mkdirat(SB) GLOBL ·libc_mkdirat_trampoline_addr(SB), RODATA, $8 DATA ·libc_mkdirat_trampoline_addr(SB)/8, $libc_mkdirat_trampoline<>(SB) TEXT libc_mkfifo_trampoline<>(SB),NOSPLIT,$0-0 JMP libc_mkfifo(SB) GLOBL ·libc_mkfifo_trampoline_addr(SB), RODATA, $8 DATA ·libc_mkfifo_trampoline_addr(SB)/8, $libc_mkfifo_trampoline<>(SB) TEXT libc_mknod_trampoline<>(SB),NOSPLIT,$0-0 JMP libc_mknod(SB) GLOBL ·libc_mknod_trampoline_addr(SB), RODATA, $8 DATA ·libc_mknod_trampoline_addr(SB)/8, $libc_mknod_trampoline<>(SB) TEXT libc_mount_trampoline<>(SB),NOSPLIT,$0-0 JMP libc_mount(SB) GLOBL ·libc_mount_trampoline_addr(SB), RODATA, $8 DATA ·libc_mount_trampoline_addr(SB)/8, $libc_mount_trampoline<>(SB) TEXT libc_open_trampoline<>(SB),NOSPLIT,$0-0 JMP libc_open(SB) GLOBL ·libc_open_trampoline_addr(SB), RODATA, $8 DATA ·libc_open_trampoline_addr(SB)/8, $libc_open_trampoline<>(SB) TEXT libc_openat_trampoline<>(SB),NOSPLIT,$0-0 JMP libc_openat(SB) GLOBL ·libc_openat_trampoline_addr(SB), RODATA, $8 DATA ·libc_openat_trampoline_addr(SB)/8, $libc_openat_trampoline<>(SB) TEXT libc_pathconf_trampoline<>(SB),NOSPLIT,$0-0 JMP libc_pathconf(SB) GLOBL ·libc_pathconf_trampoline_addr(SB), RODATA, $8 DATA ·libc_pathconf_trampoline_addr(SB)/8, $libc_pathconf_trampoline<>(SB) TEXT libc_pread_trampoline<>(SB),NOSPLIT,$0-0 JMP libc_pread(SB) GLOBL ·libc_pread_trampoline_addr(SB), RODATA, $8 DATA ·libc_pread_trampoline_addr(SB)/8, $libc_pread_trampoline<>(SB) TEXT libc_pwrite_trampoline<>(SB),NOSPLIT,$0-0 JMP libc_pwrite(SB) GLOBL ·libc_pwrite_trampoline_addr(SB), RODATA, $8 DATA ·libc_pwrite_trampoline_addr(SB)/8, $libc_pwrite_trampoline<>(SB) TEXT libc_read_trampoline<>(SB),NOSPLIT,$0-0 JMP libc_read(SB) GLOBL ·libc_read_trampoline_addr(SB), RODATA, $8 DATA ·libc_read_trampoline_addr(SB)/8, $libc_read_trampoline<>(SB) TEXT libc_readlink_trampoline<>(SB),NOSPLIT,$0-0 JMP libc_readlink(SB) GLOBL ·libc_readlink_trampoline_addr(SB), RODATA, $8 DATA ·libc_readlink_trampoline_addr(SB)/8, $libc_readlink_trampoline<>(SB) TEXT libc_readlinkat_trampoline<>(SB),NOSPLIT,$0-0 JMP libc_readlinkat(SB) GLOBL ·libc_readlinkat_trampoline_addr(SB), RODATA, $8 DATA ·libc_readlinkat_trampoline_addr(SB)/8, $libc_readlinkat_trampoline<>(SB) TEXT libc_rename_trampoline<>(SB),NOSPLIT,$0-0 JMP libc_rename(SB) GLOBL ·libc_rename_trampoline_addr(SB), RODATA, $8 DATA ·libc_rename_trampoline_addr(SB)/8, $libc_rename_trampoline<>(SB) TEXT libc_renameat_trampoline<>(SB),NOSPLIT,$0-0 JMP libc_renameat(SB) GLOBL ·libc_renameat_trampoline_addr(SB), RODATA, $8 DATA ·libc_renameat_trampoline_addr(SB)/8, $libc_renameat_trampoline<>(SB) TEXT libc_revoke_trampoline<>(SB),NOSPLIT,$0-0 JMP libc_revoke(SB) GLOBL ·libc_revoke_trampoline_addr(SB), RODATA, $8 DATA ·libc_revoke_trampoline_addr(SB)/8, $libc_revoke_trampoline<>(SB) TEXT libc_rmdir_trampoline<>(SB),NOSPLIT,$0-0 JMP libc_rmdir(SB) GLOBL ·libc_rmdir_trampoline_addr(SB), RODATA, $8 DATA ·libc_rmdir_trampoline_addr(SB)/8, $libc_rmdir_trampoline<>(SB) TEXT libc_lseek_trampoline<>(SB),NOSPLIT,$0-0 JMP libc_lseek(SB) GLOBL ·libc_lseek_trampoline_addr(SB), RODATA, $8 DATA ·libc_lseek_trampoline_addr(SB)/8, $libc_lseek_trampoline<>(SB) TEXT libc_select_trampoline<>(SB),NOSPLIT,$0-0 JMP libc_select(SB) GLOBL ·libc_select_trampoline_addr(SB), RODATA, $8 DATA ·libc_select_trampoline_addr(SB)/8, $libc_select_trampoline<>(SB) TEXT libc_setattrlist_trampoline<>(SB),NOSPLIT,$0-0 JMP libc_setattrlist(SB) GLOBL ·libc_setattrlist_trampoline_addr(SB), RODATA, $8 DATA ·libc_setattrlist_trampoline_addr(SB)/8, $libc_setattrlist_trampoline<>(SB) TEXT libc_setegid_trampoline<>(SB),NOSPLIT,$0-0 JMP libc_setegid(SB) GLOBL ·libc_setegid_trampoline_addr(SB), RODATA, $8 DATA ·libc_setegid_trampoline_addr(SB)/8, $libc_setegid_trampoline<>(SB) TEXT libc_seteuid_trampoline<>(SB),NOSPLIT,$0-0 JMP libc_seteuid(SB) GLOBL ·libc_seteuid_trampoline_addr(SB), RODATA, $8 DATA ·libc_seteuid_trampoline_addr(SB)/8, $libc_seteuid_trampoline<>(SB) TEXT libc_setgid_trampoline<>(SB),NOSPLIT,$0-0 JMP libc_setgid(SB) GLOBL ·libc_setgid_trampoline_addr(SB), RODATA, $8 DATA ·libc_setgid_trampoline_addr(SB)/8, $libc_setgid_trampoline<>(SB) TEXT libc_setlogin_trampoline<>(SB),NOSPLIT,$0-0 JMP libc_setlogin(SB) GLOBL ·libc_setlogin_trampoline_addr(SB), RODATA, $8 DATA ·libc_setlogin_trampoline_addr(SB)/8, $libc_setlogin_trampoline<>(SB) TEXT libc_setpgid_trampoline<>(SB),NOSPLIT,$0-0 JMP libc_setpgid(SB) GLOBL ·libc_setpgid_trampoline_addr(SB), RODATA, $8 DATA ·libc_setpgid_trampoline_addr(SB)/8, $libc_setpgid_trampoline<>(SB) TEXT libc_setpriority_trampoline<>(SB),NOSPLIT,$0-0 JMP libc_setpriority(SB) GLOBL ·libc_setpriority_trampoline_addr(SB), RODATA, $8 DATA ·libc_setpriority_trampoline_addr(SB)/8, $libc_setpriority_trampoline<>(SB) TEXT libc_setprivexec_trampoline<>(SB),NOSPLIT,$0-0 JMP libc_setprivexec(SB) GLOBL ·libc_setprivexec_trampoline_addr(SB), RODATA, $8 DATA ·libc_setprivexec_trampoline_addr(SB)/8, $libc_setprivexec_trampoline<>(SB) TEXT libc_setregid_trampoline<>(SB),NOSPLIT,$0-0 JMP libc_setregid(SB) GLOBL ·libc_setregid_trampoline_addr(SB), RODATA, $8 DATA ·libc_setregid_trampoline_addr(SB)/8, $libc_setregid_trampoline<>(SB) TEXT libc_setreuid_trampoline<>(SB),NOSPLIT,$0-0 JMP libc_setreuid(SB) GLOBL ·libc_setreuid_trampoline_addr(SB), RODATA, $8 DATA ·libc_setreuid_trampoline_addr(SB)/8, $libc_setreuid_trampoline<>(SB) TEXT libc_setsid_trampoline<>(SB),NOSPLIT,$0-0 JMP libc_setsid(SB) GLOBL ·libc_setsid_trampoline_addr(SB), RODATA, $8 DATA ·libc_setsid_trampoline_addr(SB)/8, $libc_setsid_trampoline<>(SB) TEXT libc_settimeofday_trampoline<>(SB),NOSPLIT,$0-0 JMP libc_settimeofday(SB) GLOBL ·libc_settimeofday_trampoline_addr(SB), RODATA, $8 DATA ·libc_settimeofday_trampoline_addr(SB)/8, $libc_settimeofday_trampoline<>(SB) TEXT libc_setuid_trampoline<>(SB),NOSPLIT,$0-0 JMP libc_setuid(SB) GLOBL ·libc_setuid_trampoline_addr(SB), RODATA, $8 DATA ·libc_setuid_trampoline_addr(SB)/8, $libc_setuid_trampoline<>(SB) TEXT libc_symlink_trampoline<>(SB),NOSPLIT,$0-0 JMP libc_symlink(SB) GLOBL ·libc_symlink_trampoline_addr(SB), RODATA, $8 DATA ·libc_symlink_trampoline_addr(SB)/8, $libc_symlink_trampoline<>(SB) TEXT libc_symlinkat_trampoline<>(SB),NOSPLIT,$0-0 JMP libc_symlinkat(SB) GLOBL ·libc_symlinkat_trampoline_addr(SB), RODATA, $8 DATA ·libc_symlinkat_trampoline_addr(SB)/8, $libc_symlinkat_trampoline<>(SB) TEXT libc_sync_trampoline<>(SB),NOSPLIT,$0-0 JMP libc_sync(SB) GLOBL ·libc_sync_trampoline_addr(SB), RODATA, $8 DATA ·libc_sync_trampoline_addr(SB)/8, $libc_sync_trampoline<>(SB) TEXT libc_truncate_trampoline<>(SB),NOSPLIT,$0-0 JMP libc_truncate(SB) GLOBL ·libc_truncate_trampoline_addr(SB), RODATA, $8 DATA ·libc_truncate_trampoline_addr(SB)/8, $libc_truncate_trampoline<>(SB) TEXT libc_umask_trampoline<>(SB),NOSPLIT,$0-0 JMP libc_umask(SB) GLOBL ·libc_umask_trampoline_addr(SB), RODATA, $8 DATA ·libc_umask_trampoline_addr(SB)/8, $libc_umask_trampoline<>(SB) TEXT libc_undelete_trampoline<>(SB),NOSPLIT,$0-0 JMP libc_undelete(SB) GLOBL ·libc_undelete_trampoline_addr(SB), RODATA, $8 DATA ·libc_undelete_trampoline_addr(SB)/8, $libc_undelete_trampoline<>(SB) TEXT libc_unlink_trampoline<>(SB),NOSPLIT,$0-0 JMP libc_unlink(SB) GLOBL ·libc_unlink_trampoline_addr(SB), RODATA, $8 DATA ·libc_unlink_trampoline_addr(SB)/8, $libc_unlink_trampoline<>(SB) TEXT libc_unlinkat_trampoline<>(SB),NOSPLIT,$0-0 JMP libc_unlinkat(SB) GLOBL ·libc_unlinkat_trampoline_addr(SB), RODATA, $8 DATA ·libc_unlinkat_trampoline_addr(SB)/8, $libc_unlinkat_trampoline<>(SB) TEXT libc_unmount_trampoline<>(SB),NOSPLIT,$0-0 JMP libc_unmount(SB) GLOBL ·libc_unmount_trampoline_addr(SB), RODATA, $8 DATA ·libc_unmount_trampoline_addr(SB)/8, $libc_unmount_trampoline<>(SB) TEXT libc_write_trampoline<>(SB),NOSPLIT,$0-0 JMP libc_write(SB) GLOBL ·libc_write_trampoline_addr(SB), RODATA, $8 DATA ·libc_write_trampoline_addr(SB)/8, $libc_write_trampoline<>(SB) TEXT libc_mmap_trampoline<>(SB),NOSPLIT,$0-0 JMP libc_mmap(SB) GLOBL ·libc_mmap_trampoline_addr(SB), RODATA, $8 DATA ·libc_mmap_trampoline_addr(SB)/8, $libc_mmap_trampoline<>(SB) TEXT libc_munmap_trampoline<>(SB),NOSPLIT,$0-0 JMP libc_munmap(SB) GLOBL ·libc_munmap_trampoline_addr(SB), RODATA, $8 DATA ·libc_munmap_trampoline_addr(SB)/8, $libc_munmap_trampoline<>(SB) TEXT libc_fstat64_trampoline<>(SB),NOSPLIT,$0-0 JMP libc_fstat64(SB) GLOBL ·libc_fstat64_trampoline_addr(SB), RODATA, $8 DATA ·libc_fstat64_trampoline_addr(SB)/8, $libc_fstat64_trampoline<>(SB) TEXT libc_fstatat64_trampoline<>(SB),NOSPLIT,$0-0 JMP libc_fstatat64(SB) GLOBL ·libc_fstatat64_trampoline_addr(SB), RODATA, $8 DATA ·libc_fstatat64_trampoline_addr(SB)/8, $libc_fstatat64_trampoline<>(SB) TEXT libc_fstatfs64_trampoline<>(SB),NOSPLIT,$0-0 JMP libc_fstatfs64(SB) GLOBL ·libc_fstatfs64_trampoline_addr(SB), RODATA, $8 DATA ·libc_fstatfs64_trampoline_addr(SB)/8, $libc_fstatfs64_trampoline<>(SB) TEXT libc_getfsstat64_trampoline<>(SB),NOSPLIT,$0-0 JMP libc_getfsstat64(SB) GLOBL ·libc_getfsstat64_trampoline_addr(SB), RODATA, $8 DATA ·libc_getfsstat64_trampoline_addr(SB)/8, $libc_getfsstat64_trampoline<>(SB) TEXT libc_lstat64_trampoline<>(SB),NOSPLIT,$0-0 JMP libc_lstat64(SB) GLOBL ·libc_lstat64_trampoline_addr(SB), RODATA, $8 DATA ·libc_lstat64_trampoline_addr(SB)/8, $libc_lstat64_trampoline<>(SB) TEXT libc_ptrace_trampoline<>(SB),NOSPLIT,$0-0 JMP libc_ptrace(SB) GLOBL ·libc_ptrace_trampoline_addr(SB), RODATA, $8 DATA ·libc_ptrace_trampoline_addr(SB)/8, $libc_ptrace_trampoline<>(SB) TEXT libc_stat64_trampoline<>(SB),NOSPLIT,$0-0 JMP libc_stat64(SB) GLOBL ·libc_stat64_trampoline_addr(SB), RODATA, $8 DATA ·libc_stat64_trampoline_addr(SB)/8, $libc_stat64_trampoline<>(SB) TEXT libc_statfs64_trampoline<>(SB),NOSPLIT,$0-0 JMP libc_statfs64(SB) GLOBL ·libc_statfs64_trampoline_addr(SB), RODATA, $8 DATA ·libc_statfs64_trampoline_addr(SB)/8, $libc_statfs64_trampoline<>(SB) dependencies/pkg/mod/golang.org/x/sys@v0.26.0/unix/asm_linux_mipsx.s0000644000000000000000000000221515107355264024214 0ustar rootroot// 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. //go:build linux && (mips || mipsle) && gc #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 ·SyscallNoError(SB),NOSPLIT,$0-24 JAL runtime·entersyscall(SB) MOVW a1+4(FP), R4 MOVW a2+8(FP), R5 MOVW a3+12(FP), R6 MOVW R0, R7 MOVW trap+0(FP), R2 // syscall entry SYSCALL MOVW R2, r1+16(FP) // r1 MOVW R3, r2+20(FP) // r2 JAL runtime·exitsyscall(SB) RET TEXT ·RawSyscall(SB),NOSPLIT,$0-28 JMP syscall·RawSyscall(SB) TEXT ·RawSyscall6(SB),NOSPLIT,$0-40 JMP syscall·RawSyscall6(SB) TEXT ·RawSyscallNoError(SB),NOSPLIT,$0-24 MOVW a1+4(FP), R4 MOVW a2+8(FP), R5 MOVW a3+12(FP), R6 MOVW trap+0(FP), R2 // syscall entry SYSCALL MOVW R2, r1+16(FP) MOVW R3, r2+20(FP) RET dependencies/pkg/mod/golang.org/x/sys@v0.26.0/unix/zsyscall_netbsd_amd64.go0000644000000000000000000012770015107355264025345 0ustar rootroot// go run mksyscall.go -netbsd -tags netbsd,amd64 syscall_bsd.go syscall_netbsd.go syscall_netbsd_amd64.go // Code generated by the command above; see README.md. DO NOT EDIT. //go: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 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 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 } // THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT func Madvise(b []byte, behav 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(behav)) 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 Msync(b []byte, flags int) (err error) { var _p0 unsafe.Pointer if len(b) > 0 { _p0 = unsafe.Pointer(&b[0]) } else { _p0 = unsafe.Pointer(&_zero) } _, _, e1 := Syscall(SYS_MSYNC, uintptr(_p0), uintptr(len(b)), uintptr(flags)) 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 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 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 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 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 ioctlPtr(fd int, req uint, arg unsafe.Pointer) (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 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 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 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 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 Dup3(from int, to int, flags int) (err error) { _, _, e1 := Syscall(SYS_DUP3, uintptr(from), uintptr(to), uintptr(flags)) 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 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 Fadvise(fd int, offset int64, length int64, advice int) (err error) { _, _, e1 := Syscall6(SYS_POSIX_FADVISE, uintptr(fd), 0, uintptr(offset), 0, uintptr(length), 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 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 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 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 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 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 Fstatvfs1(fd int, buf *Statvfs_t, flags int) (err error) { _, _, e1 := Syscall(SYS_FSTATVFS1, uintptr(fd), uintptr(unsafe.Pointer(buf)), uintptr(flags)) 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 Linkat(pathfd int, path string, linkfd int, link string, flags int) (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 := Syscall6(SYS_LINKAT, uintptr(pathfd), uintptr(unsafe.Pointer(_p0)), uintptr(linkfd), 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 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 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 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 Mkfifoat(dirfd int, path string, mode uint32) (err error) { var _p0 *byte _p0, err = BytePtrFromString(path) if err != nil { return } _, _, e1 := Syscall(SYS_MKFIFOAT, 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 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 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 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 Openat(dirfd int, path string, mode int, perm 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(mode), uintptr(perm), 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 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 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 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 Renameat(fromfd int, from string, tofd int, 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 := Syscall6(SYS_RENAMEAT, uintptr(fromfd), uintptr(unsafe.Pointer(_p0)), uintptr(tofd), 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 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(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 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 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 Statvfs1(path string, buf *Statvfs_t, flags int) (err error) { var _p0 *byte _p0, err = BytePtrFromString(path) if err != nil { return } _, _, e1 := Syscall(SYS_STATVFS1, uintptr(unsafe.Pointer(_p0)), uintptr(unsafe.Pointer(buf)), uintptr(flags)) 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 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 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 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 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 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 mremapNetBSD(oldp uintptr, oldsize uintptr, newp uintptr, newsize uintptr, flags int) (xaddr uintptr, err error) { r0, _, e1 := Syscall6(SYS_MREMAP, uintptr(oldp), uintptr(oldsize), uintptr(newp), uintptr(newsize), uintptr(flags), 0) xaddr = uintptr(r0) if e1 != 0 { err = errnoErr(e1) } return } dependencies/pkg/mod/golang.org/x/sys@v0.26.0/unix/readdirent_getdents.go0000644000000000000000000000062115107355264025155 0ustar rootroot// Copyright 2019 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:build aix || dragonfly || freebsd || linux || netbsd || openbsd package unix // ReadDirent reads directory entries from fd and writes them into buf. func ReadDirent(fd int, buf []byte) (n int, err error) { return Getdents(fd, buf) } dependencies/pkg/mod/golang.org/x/sys@v0.26.0/unix/zsyscall_freebsd_riscv64.go0000644000000000000000000013164115107355264026064 0ustar rootroot// go run mksyscall.go -tags freebsd,riscv64 syscall_bsd.go syscall_freebsd.go syscall_freebsd_riscv64.go // Code generated by the command above; see README.md. DO NOT EDIT. //go:build freebsd && riscv64 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 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 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 } // THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT func Madvise(b []byte, behav 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(behav)) 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 Msync(b []byte, flags int) (err error) { var _p0 unsafe.Pointer if len(b) > 0 { _p0 = unsafe.Pointer(&b[0]) } else { _p0 = unsafe.Pointer(&_zero) } _, _, e1 := Syscall(SYS_MSYNC, uintptr(_p0), uintptr(len(b)), uintptr(flags)) 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 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 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 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 ioctlPtr(fd int, req uint, arg unsafe.Pointer) (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 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 ptrace(request int, pid int, addr uintptr, data int) (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 ptracePtr(request int, pid int, addr unsafe.Pointer, data int) (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 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 CapEnter() (err error) { _, _, e1 := Syscall(SYS_CAP_ENTER, 0, 0, 0) if e1 != 0 { err = errnoErr(e1) } return } // THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT func capRightsGet(version int, fd int, rightsp *CapRights) (err error) { _, _, e1 := Syscall(SYS___CAP_RIGHTS_GET, uintptr(version), uintptr(fd), uintptr(unsafe.Pointer(rightsp))) if e1 != 0 { err = errnoErr(e1) } return } // THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT func capRightsLimit(fd int, rightsp *CapRights) (err error) { _, _, e1 := Syscall(SYS_CAP_RIGHTS_LIMIT, uintptr(fd), uintptr(unsafe.Pointer(rightsp)), 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 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 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 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 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 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 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 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 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 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, 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 *uint64) (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 Linkat(pathfd int, path string, linkfd int, link string, flags int) (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 := Syscall6(SYS_LINKAT, uintptr(pathfd), uintptr(unsafe.Pointer(_p0)), uintptr(linkfd), 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 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 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 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 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 Mknodat(fd int, path string, mode uint32, dev uint64) (err error) { var _p0 *byte _p0, err = BytePtrFromString(path) if err != nil { return } _, _, e1 := Syscall6(SYS_MKNODAT, uintptr(fd), 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 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 Openat(fdat int, path string, mode int, perm uint32) (fd int, err error) { var _p0 *byte _p0, err = BytePtrFromString(path) if err != nil { return } r0, _, e1 := Syscall6(SYS_OPENAT, uintptr(fdat), uintptr(unsafe.Pointer(_p0)), uintptr(mode), uintptr(perm), 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 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 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 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 Renameat(fromfd int, from string, tofd int, 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 := Syscall6(SYS_RENAMEAT, uintptr(fromfd), uintptr(unsafe.Pointer(_p0)), uintptr(tofd), 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 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(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 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 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 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 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 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 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 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 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 } // 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 } dependencies/pkg/mod/golang.org/x/sys@v0.26.0/unix/timestruct_test.go0000644000000000000000000000332215107355264024402 0ustar rootroot// Copyright 2017 The Go Authors. All right reserved. // Use of this source code is governed by a BSD-style // license that can be found in the LICENSE file. //go:build aix || darwin || dragonfly || freebsd || linux || netbsd || openbsd || solaris package unix_test import ( "testing" "time" "unsafe" "golang.org/x/sys/unix" ) func TestTimeToTimespec(t *testing.T) { timeTests := []struct { time time.Time valid bool }{ {time.Unix(0, 0), true}, {time.Date(2009, time.November, 10, 23, 0, 0, 0, time.UTC), true}, {time.Date(2262, time.December, 31, 23, 0, 0, 0, time.UTC), false}, {time.Unix(0x7FFFFFFF, 0), true}, {time.Unix(0x80000000, 0), false}, {time.Unix(0x7FFFFFFF, 1000000000), false}, {time.Unix(0x7FFFFFFF, 999999999), true}, {time.Unix(-0x80000000, 0), true}, {time.Unix(-0x80000001, 0), false}, {time.Date(2038, time.January, 19, 3, 14, 7, 0, time.UTC), true}, {time.Date(2038, time.January, 19, 3, 14, 8, 0, time.UTC), false}, {time.Date(1901, time.December, 13, 20, 45, 52, 0, time.UTC), true}, {time.Date(1901, time.December, 13, 20, 45, 51, 0, time.UTC), false}, } // Currently all targets have either int32 or int64 for Timespec.Sec. // If there were a new target with unsigned or floating point type for // it, this test must be adjusted. have64BitTime := (unsafe.Sizeof(unix.Timespec{}.Sec) == 8) for _, tt := range timeTests { ts, err := unix.TimeToTimespec(tt.time) tt.valid = tt.valid || have64BitTime if tt.valid && err != nil { t.Errorf("TimeToTimespec(%v): %v", tt.time, err) } if err == nil { tstime := time.Unix(int64(ts.Sec), int64(ts.Nsec)) if !tstime.Equal(tt.time) { t.Errorf("TimeToTimespec(%v) is the time %v", tt.time, tstime) } } } } dependencies/pkg/mod/golang.org/x/sys@v0.26.0/unix/env_unix.go0000644000000000000000000000120515107355264022771 0ustar rootroot// Copyright 2010 The Go Authors. All rights reserved. // Use of this source code is governed by a BSD-style // license that can be found in the LICENSE file. //go:build aix || darwin || dragonfly || freebsd || linux || netbsd || openbsd || solaris || zos // 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() } func Unsetenv(key string) error { return syscall.Unsetenv(key) } dependencies/pkg/mod/golang.org/x/sys@v0.26.0/unix/zsyscall_darwin_arm64.s0000644000000000000000000007447615107355264025240 0ustar rootroot// go run mkasm.go darwin arm64 // Code generated by the command above; DO NOT EDIT. #include "textflag.h" TEXT libc_fdopendir_trampoline<>(SB),NOSPLIT,$0-0 JMP libc_fdopendir(SB) GLOBL ·libc_fdopendir_trampoline_addr(SB), RODATA, $8 DATA ·libc_fdopendir_trampoline_addr(SB)/8, $libc_fdopendir_trampoline<>(SB) TEXT libc_getgroups_trampoline<>(SB),NOSPLIT,$0-0 JMP libc_getgroups(SB) GLOBL ·libc_getgroups_trampoline_addr(SB), RODATA, $8 DATA ·libc_getgroups_trampoline_addr(SB)/8, $libc_getgroups_trampoline<>(SB) TEXT libc_setgroups_trampoline<>(SB),NOSPLIT,$0-0 JMP libc_setgroups(SB) GLOBL ·libc_setgroups_trampoline_addr(SB), RODATA, $8 DATA ·libc_setgroups_trampoline_addr(SB)/8, $libc_setgroups_trampoline<>(SB) TEXT libc_wait4_trampoline<>(SB),NOSPLIT,$0-0 JMP libc_wait4(SB) GLOBL ·libc_wait4_trampoline_addr(SB), RODATA, $8 DATA ·libc_wait4_trampoline_addr(SB)/8, $libc_wait4_trampoline<>(SB) TEXT libc_accept_trampoline<>(SB),NOSPLIT,$0-0 JMP libc_accept(SB) GLOBL ·libc_accept_trampoline_addr(SB), RODATA, $8 DATA ·libc_accept_trampoline_addr(SB)/8, $libc_accept_trampoline<>(SB) TEXT libc_bind_trampoline<>(SB),NOSPLIT,$0-0 JMP libc_bind(SB) GLOBL ·libc_bind_trampoline_addr(SB), RODATA, $8 DATA ·libc_bind_trampoline_addr(SB)/8, $libc_bind_trampoline<>(SB) TEXT libc_connect_trampoline<>(SB),NOSPLIT,$0-0 JMP libc_connect(SB) GLOBL ·libc_connect_trampoline_addr(SB), RODATA, $8 DATA ·libc_connect_trampoline_addr(SB)/8, $libc_connect_trampoline<>(SB) TEXT libc_socket_trampoline<>(SB),NOSPLIT,$0-0 JMP libc_socket(SB) GLOBL ·libc_socket_trampoline_addr(SB), RODATA, $8 DATA ·libc_socket_trampoline_addr(SB)/8, $libc_socket_trampoline<>(SB) TEXT libc_getsockopt_trampoline<>(SB),NOSPLIT,$0-0 JMP libc_getsockopt(SB) GLOBL ·libc_getsockopt_trampoline_addr(SB), RODATA, $8 DATA ·libc_getsockopt_trampoline_addr(SB)/8, $libc_getsockopt_trampoline<>(SB) TEXT libc_setsockopt_trampoline<>(SB),NOSPLIT,$0-0 JMP libc_setsockopt(SB) GLOBL ·libc_setsockopt_trampoline_addr(SB), RODATA, $8 DATA ·libc_setsockopt_trampoline_addr(SB)/8, $libc_setsockopt_trampoline<>(SB) TEXT libc_getpeername_trampoline<>(SB),NOSPLIT,$0-0 JMP libc_getpeername(SB) GLOBL ·libc_getpeername_trampoline_addr(SB), RODATA, $8 DATA ·libc_getpeername_trampoline_addr(SB)/8, $libc_getpeername_trampoline<>(SB) TEXT libc_getsockname_trampoline<>(SB),NOSPLIT,$0-0 JMP libc_getsockname(SB) GLOBL ·libc_getsockname_trampoline_addr(SB), RODATA, $8 DATA ·libc_getsockname_trampoline_addr(SB)/8, $libc_getsockname_trampoline<>(SB) TEXT libc_shutdown_trampoline<>(SB),NOSPLIT,$0-0 JMP libc_shutdown(SB) GLOBL ·libc_shutdown_trampoline_addr(SB), RODATA, $8 DATA ·libc_shutdown_trampoline_addr(SB)/8, $libc_shutdown_trampoline<>(SB) TEXT libc_socketpair_trampoline<>(SB),NOSPLIT,$0-0 JMP libc_socketpair(SB) GLOBL ·libc_socketpair_trampoline_addr(SB), RODATA, $8 DATA ·libc_socketpair_trampoline_addr(SB)/8, $libc_socketpair_trampoline<>(SB) TEXT libc_recvfrom_trampoline<>(SB),NOSPLIT,$0-0 JMP libc_recvfrom(SB) GLOBL ·libc_recvfrom_trampoline_addr(SB), RODATA, $8 DATA ·libc_recvfrom_trampoline_addr(SB)/8, $libc_recvfrom_trampoline<>(SB) TEXT libc_sendto_trampoline<>(SB),NOSPLIT,$0-0 JMP libc_sendto(SB) GLOBL ·libc_sendto_trampoline_addr(SB), RODATA, $8 DATA ·libc_sendto_trampoline_addr(SB)/8, $libc_sendto_trampoline<>(SB) TEXT libc_recvmsg_trampoline<>(SB),NOSPLIT,$0-0 JMP libc_recvmsg(SB) GLOBL ·libc_recvmsg_trampoline_addr(SB), RODATA, $8 DATA ·libc_recvmsg_trampoline_addr(SB)/8, $libc_recvmsg_trampoline<>(SB) TEXT libc_sendmsg_trampoline<>(SB),NOSPLIT,$0-0 JMP libc_sendmsg(SB) GLOBL ·libc_sendmsg_trampoline_addr(SB), RODATA, $8 DATA ·libc_sendmsg_trampoline_addr(SB)/8, $libc_sendmsg_trampoline<>(SB) TEXT libc_kevent_trampoline<>(SB),NOSPLIT,$0-0 JMP libc_kevent(SB) GLOBL ·libc_kevent_trampoline_addr(SB), RODATA, $8 DATA ·libc_kevent_trampoline_addr(SB)/8, $libc_kevent_trampoline<>(SB) TEXT libc_utimes_trampoline<>(SB),NOSPLIT,$0-0 JMP libc_utimes(SB) GLOBL ·libc_utimes_trampoline_addr(SB), RODATA, $8 DATA ·libc_utimes_trampoline_addr(SB)/8, $libc_utimes_trampoline<>(SB) TEXT libc_futimes_trampoline<>(SB),NOSPLIT,$0-0 JMP libc_futimes(SB) GLOBL ·libc_futimes_trampoline_addr(SB), RODATA, $8 DATA ·libc_futimes_trampoline_addr(SB)/8, $libc_futimes_trampoline<>(SB) TEXT libc_poll_trampoline<>(SB),NOSPLIT,$0-0 JMP libc_poll(SB) GLOBL ·libc_poll_trampoline_addr(SB), RODATA, $8 DATA ·libc_poll_trampoline_addr(SB)/8, $libc_poll_trampoline<>(SB) TEXT libc_madvise_trampoline<>(SB),NOSPLIT,$0-0 JMP libc_madvise(SB) GLOBL ·libc_madvise_trampoline_addr(SB), RODATA, $8 DATA ·libc_madvise_trampoline_addr(SB)/8, $libc_madvise_trampoline<>(SB) TEXT libc_mlock_trampoline<>(SB),NOSPLIT,$0-0 JMP libc_mlock(SB) GLOBL ·libc_mlock_trampoline_addr(SB), RODATA, $8 DATA ·libc_mlock_trampoline_addr(SB)/8, $libc_mlock_trampoline<>(SB) TEXT libc_mlockall_trampoline<>(SB),NOSPLIT,$0-0 JMP libc_mlockall(SB) GLOBL ·libc_mlockall_trampoline_addr(SB), RODATA, $8 DATA ·libc_mlockall_trampoline_addr(SB)/8, $libc_mlockall_trampoline<>(SB) TEXT libc_mprotect_trampoline<>(SB),NOSPLIT,$0-0 JMP libc_mprotect(SB) GLOBL ·libc_mprotect_trampoline_addr(SB), RODATA, $8 DATA ·libc_mprotect_trampoline_addr(SB)/8, $libc_mprotect_trampoline<>(SB) TEXT libc_msync_trampoline<>(SB),NOSPLIT,$0-0 JMP libc_msync(SB) GLOBL ·libc_msync_trampoline_addr(SB), RODATA, $8 DATA ·libc_msync_trampoline_addr(SB)/8, $libc_msync_trampoline<>(SB) TEXT libc_munlock_trampoline<>(SB),NOSPLIT,$0-0 JMP libc_munlock(SB) GLOBL ·libc_munlock_trampoline_addr(SB), RODATA, $8 DATA ·libc_munlock_trampoline_addr(SB)/8, $libc_munlock_trampoline<>(SB) TEXT libc_munlockall_trampoline<>(SB),NOSPLIT,$0-0 JMP libc_munlockall(SB) GLOBL ·libc_munlockall_trampoline_addr(SB), RODATA, $8 DATA ·libc_munlockall_trampoline_addr(SB)/8, $libc_munlockall_trampoline<>(SB) TEXT libc_closedir_trampoline<>(SB),NOSPLIT,$0-0 JMP libc_closedir(SB) GLOBL ·libc_closedir_trampoline_addr(SB), RODATA, $8 DATA ·libc_closedir_trampoline_addr(SB)/8, $libc_closedir_trampoline<>(SB) TEXT libc_readdir_r_trampoline<>(SB),NOSPLIT,$0-0 JMP libc_readdir_r(SB) GLOBL ·libc_readdir_r_trampoline_addr(SB), RODATA, $8 DATA ·libc_readdir_r_trampoline_addr(SB)/8, $libc_readdir_r_trampoline<>(SB) TEXT libc_pipe_trampoline<>(SB),NOSPLIT,$0-0 JMP libc_pipe(SB) GLOBL ·libc_pipe_trampoline_addr(SB), RODATA, $8 DATA ·libc_pipe_trampoline_addr(SB)/8, $libc_pipe_trampoline<>(SB) TEXT libc_getxattr_trampoline<>(SB),NOSPLIT,$0-0 JMP libc_getxattr(SB) GLOBL ·libc_getxattr_trampoline_addr(SB), RODATA, $8 DATA ·libc_getxattr_trampoline_addr(SB)/8, $libc_getxattr_trampoline<>(SB) TEXT libc_fgetxattr_trampoline<>(SB),NOSPLIT,$0-0 JMP libc_fgetxattr(SB) GLOBL ·libc_fgetxattr_trampoline_addr(SB), RODATA, $8 DATA ·libc_fgetxattr_trampoline_addr(SB)/8, $libc_fgetxattr_trampoline<>(SB) TEXT libc_setxattr_trampoline<>(SB),NOSPLIT,$0-0 JMP libc_setxattr(SB) GLOBL ·libc_setxattr_trampoline_addr(SB), RODATA, $8 DATA ·libc_setxattr_trampoline_addr(SB)/8, $libc_setxattr_trampoline<>(SB) TEXT libc_fsetxattr_trampoline<>(SB),NOSPLIT,$0-0 JMP libc_fsetxattr(SB) GLOBL ·libc_fsetxattr_trampoline_addr(SB), RODATA, $8 DATA ·libc_fsetxattr_trampoline_addr(SB)/8, $libc_fsetxattr_trampoline<>(SB) TEXT libc_removexattr_trampoline<>(SB),NOSPLIT,$0-0 JMP libc_removexattr(SB) GLOBL ·libc_removexattr_trampoline_addr(SB), RODATA, $8 DATA ·libc_removexattr_trampoline_addr(SB)/8, $libc_removexattr_trampoline<>(SB) TEXT libc_fremovexattr_trampoline<>(SB),NOSPLIT,$0-0 JMP libc_fremovexattr(SB) GLOBL ·libc_fremovexattr_trampoline_addr(SB), RODATA, $8 DATA ·libc_fremovexattr_trampoline_addr(SB)/8, $libc_fremovexattr_trampoline<>(SB) TEXT libc_listxattr_trampoline<>(SB),NOSPLIT,$0-0 JMP libc_listxattr(SB) GLOBL ·libc_listxattr_trampoline_addr(SB), RODATA, $8 DATA ·libc_listxattr_trampoline_addr(SB)/8, $libc_listxattr_trampoline<>(SB) TEXT libc_flistxattr_trampoline<>(SB),NOSPLIT,$0-0 JMP libc_flistxattr(SB) GLOBL ·libc_flistxattr_trampoline_addr(SB), RODATA, $8 DATA ·libc_flistxattr_trampoline_addr(SB)/8, $libc_flistxattr_trampoline<>(SB) TEXT libc_utimensat_trampoline<>(SB),NOSPLIT,$0-0 JMP libc_utimensat(SB) GLOBL ·libc_utimensat_trampoline_addr(SB), RODATA, $8 DATA ·libc_utimensat_trampoline_addr(SB)/8, $libc_utimensat_trampoline<>(SB) TEXT libc_fcntl_trampoline<>(SB),NOSPLIT,$0-0 JMP libc_fcntl(SB) GLOBL ·libc_fcntl_trampoline_addr(SB), RODATA, $8 DATA ·libc_fcntl_trampoline_addr(SB)/8, $libc_fcntl_trampoline<>(SB) TEXT libc_kill_trampoline<>(SB),NOSPLIT,$0-0 JMP libc_kill(SB) GLOBL ·libc_kill_trampoline_addr(SB), RODATA, $8 DATA ·libc_kill_trampoline_addr(SB)/8, $libc_kill_trampoline<>(SB) TEXT libc_ioctl_trampoline<>(SB),NOSPLIT,$0-0 JMP libc_ioctl(SB) GLOBL ·libc_ioctl_trampoline_addr(SB), RODATA, $8 DATA ·libc_ioctl_trampoline_addr(SB)/8, $libc_ioctl_trampoline<>(SB) TEXT libc_renamex_np_trampoline<>(SB),NOSPLIT,$0-0 JMP libc_renamex_np(SB) GLOBL ·libc_renamex_np_trampoline_addr(SB), RODATA, $8 DATA ·libc_renamex_np_trampoline_addr(SB)/8, $libc_renamex_np_trampoline<>(SB) TEXT libc_renameatx_np_trampoline<>(SB),NOSPLIT,$0-0 JMP libc_renameatx_np(SB) GLOBL ·libc_renameatx_np_trampoline_addr(SB), RODATA, $8 DATA ·libc_renameatx_np_trampoline_addr(SB)/8, $libc_renameatx_np_trampoline<>(SB) TEXT libc_sysctl_trampoline<>(SB),NOSPLIT,$0-0 JMP libc_sysctl(SB) GLOBL ·libc_sysctl_trampoline_addr(SB), RODATA, $8 DATA ·libc_sysctl_trampoline_addr(SB)/8, $libc_sysctl_trampoline<>(SB) TEXT libc_pthread_chdir_np_trampoline<>(SB),NOSPLIT,$0-0 JMP libc_pthread_chdir_np(SB) GLOBL ·libc_pthread_chdir_np_trampoline_addr(SB), RODATA, $8 DATA ·libc_pthread_chdir_np_trampoline_addr(SB)/8, $libc_pthread_chdir_np_trampoline<>(SB) TEXT libc_pthread_fchdir_np_trampoline<>(SB),NOSPLIT,$0-0 JMP libc_pthread_fchdir_np(SB) GLOBL ·libc_pthread_fchdir_np_trampoline_addr(SB), RODATA, $8 DATA ·libc_pthread_fchdir_np_trampoline_addr(SB)/8, $libc_pthread_fchdir_np_trampoline<>(SB) TEXT libc_connectx_trampoline<>(SB),NOSPLIT,$0-0 JMP libc_connectx(SB) GLOBL ·libc_connectx_trampoline_addr(SB), RODATA, $8 DATA ·libc_connectx_trampoline_addr(SB)/8, $libc_connectx_trampoline<>(SB) TEXT libc_sendfile_trampoline<>(SB),NOSPLIT,$0-0 JMP libc_sendfile(SB) GLOBL ·libc_sendfile_trampoline_addr(SB), RODATA, $8 DATA ·libc_sendfile_trampoline_addr(SB)/8, $libc_sendfile_trampoline<>(SB) TEXT libc_shmat_trampoline<>(SB),NOSPLIT,$0-0 JMP libc_shmat(SB) GLOBL ·libc_shmat_trampoline_addr(SB), RODATA, $8 DATA ·libc_shmat_trampoline_addr(SB)/8, $libc_shmat_trampoline<>(SB) TEXT libc_shmctl_trampoline<>(SB),NOSPLIT,$0-0 JMP libc_shmctl(SB) GLOBL ·libc_shmctl_trampoline_addr(SB), RODATA, $8 DATA ·libc_shmctl_trampoline_addr(SB)/8, $libc_shmctl_trampoline<>(SB) TEXT libc_shmdt_trampoline<>(SB),NOSPLIT,$0-0 JMP libc_shmdt(SB) GLOBL ·libc_shmdt_trampoline_addr(SB), RODATA, $8 DATA ·libc_shmdt_trampoline_addr(SB)/8, $libc_shmdt_trampoline<>(SB) TEXT libc_shmget_trampoline<>(SB),NOSPLIT,$0-0 JMP libc_shmget(SB) GLOBL ·libc_shmget_trampoline_addr(SB), RODATA, $8 DATA ·libc_shmget_trampoline_addr(SB)/8, $libc_shmget_trampoline<>(SB) TEXT libc_access_trampoline<>(SB),NOSPLIT,$0-0 JMP libc_access(SB) GLOBL ·libc_access_trampoline_addr(SB), RODATA, $8 DATA ·libc_access_trampoline_addr(SB)/8, $libc_access_trampoline<>(SB) TEXT libc_adjtime_trampoline<>(SB),NOSPLIT,$0-0 JMP libc_adjtime(SB) GLOBL ·libc_adjtime_trampoline_addr(SB), RODATA, $8 DATA ·libc_adjtime_trampoline_addr(SB)/8, $libc_adjtime_trampoline<>(SB) TEXT libc_chdir_trampoline<>(SB),NOSPLIT,$0-0 JMP libc_chdir(SB) GLOBL ·libc_chdir_trampoline_addr(SB), RODATA, $8 DATA ·libc_chdir_trampoline_addr(SB)/8, $libc_chdir_trampoline<>(SB) TEXT libc_chflags_trampoline<>(SB),NOSPLIT,$0-0 JMP libc_chflags(SB) GLOBL ·libc_chflags_trampoline_addr(SB), RODATA, $8 DATA ·libc_chflags_trampoline_addr(SB)/8, $libc_chflags_trampoline<>(SB) TEXT libc_chmod_trampoline<>(SB),NOSPLIT,$0-0 JMP libc_chmod(SB) GLOBL ·libc_chmod_trampoline_addr(SB), RODATA, $8 DATA ·libc_chmod_trampoline_addr(SB)/8, $libc_chmod_trampoline<>(SB) TEXT libc_chown_trampoline<>(SB),NOSPLIT,$0-0 JMP libc_chown(SB) GLOBL ·libc_chown_trampoline_addr(SB), RODATA, $8 DATA ·libc_chown_trampoline_addr(SB)/8, $libc_chown_trampoline<>(SB) TEXT libc_chroot_trampoline<>(SB),NOSPLIT,$0-0 JMP libc_chroot(SB) GLOBL ·libc_chroot_trampoline_addr(SB), RODATA, $8 DATA ·libc_chroot_trampoline_addr(SB)/8, $libc_chroot_trampoline<>(SB) TEXT libc_clock_gettime_trampoline<>(SB),NOSPLIT,$0-0 JMP libc_clock_gettime(SB) GLOBL ·libc_clock_gettime_trampoline_addr(SB), RODATA, $8 DATA ·libc_clock_gettime_trampoline_addr(SB)/8, $libc_clock_gettime_trampoline<>(SB) TEXT libc_close_trampoline<>(SB),NOSPLIT,$0-0 JMP libc_close(SB) GLOBL ·libc_close_trampoline_addr(SB), RODATA, $8 DATA ·libc_close_trampoline_addr(SB)/8, $libc_close_trampoline<>(SB) TEXT libc_clonefile_trampoline<>(SB),NOSPLIT,$0-0 JMP libc_clonefile(SB) GLOBL ·libc_clonefile_trampoline_addr(SB), RODATA, $8 DATA ·libc_clonefile_trampoline_addr(SB)/8, $libc_clonefile_trampoline<>(SB) TEXT libc_clonefileat_trampoline<>(SB),NOSPLIT,$0-0 JMP libc_clonefileat(SB) GLOBL ·libc_clonefileat_trampoline_addr(SB), RODATA, $8 DATA ·libc_clonefileat_trampoline_addr(SB)/8, $libc_clonefileat_trampoline<>(SB) TEXT libc_dup_trampoline<>(SB),NOSPLIT,$0-0 JMP libc_dup(SB) GLOBL ·libc_dup_trampoline_addr(SB), RODATA, $8 DATA ·libc_dup_trampoline_addr(SB)/8, $libc_dup_trampoline<>(SB) TEXT libc_dup2_trampoline<>(SB),NOSPLIT,$0-0 JMP libc_dup2(SB) GLOBL ·libc_dup2_trampoline_addr(SB), RODATA, $8 DATA ·libc_dup2_trampoline_addr(SB)/8, $libc_dup2_trampoline<>(SB) TEXT libc_exchangedata_trampoline<>(SB),NOSPLIT,$0-0 JMP libc_exchangedata(SB) GLOBL ·libc_exchangedata_trampoline_addr(SB), RODATA, $8 DATA ·libc_exchangedata_trampoline_addr(SB)/8, $libc_exchangedata_trampoline<>(SB) TEXT libc_exit_trampoline<>(SB),NOSPLIT,$0-0 JMP libc_exit(SB) GLOBL ·libc_exit_trampoline_addr(SB), RODATA, $8 DATA ·libc_exit_trampoline_addr(SB)/8, $libc_exit_trampoline<>(SB) TEXT libc_faccessat_trampoline<>(SB),NOSPLIT,$0-0 JMP libc_faccessat(SB) GLOBL ·libc_faccessat_trampoline_addr(SB), RODATA, $8 DATA ·libc_faccessat_trampoline_addr(SB)/8, $libc_faccessat_trampoline<>(SB) TEXT libc_fchdir_trampoline<>(SB),NOSPLIT,$0-0 JMP libc_fchdir(SB) GLOBL ·libc_fchdir_trampoline_addr(SB), RODATA, $8 DATA ·libc_fchdir_trampoline_addr(SB)/8, $libc_fchdir_trampoline<>(SB) TEXT libc_fchflags_trampoline<>(SB),NOSPLIT,$0-0 JMP libc_fchflags(SB) GLOBL ·libc_fchflags_trampoline_addr(SB), RODATA, $8 DATA ·libc_fchflags_trampoline_addr(SB)/8, $libc_fchflags_trampoline<>(SB) TEXT libc_fchmod_trampoline<>(SB),NOSPLIT,$0-0 JMP libc_fchmod(SB) GLOBL ·libc_fchmod_trampoline_addr(SB), RODATA, $8 DATA ·libc_fchmod_trampoline_addr(SB)/8, $libc_fchmod_trampoline<>(SB) TEXT libc_fchmodat_trampoline<>(SB),NOSPLIT,$0-0 JMP libc_fchmodat(SB) GLOBL ·libc_fchmodat_trampoline_addr(SB), RODATA, $8 DATA ·libc_fchmodat_trampoline_addr(SB)/8, $libc_fchmodat_trampoline<>(SB) TEXT libc_fchown_trampoline<>(SB),NOSPLIT,$0-0 JMP libc_fchown(SB) GLOBL ·libc_fchown_trampoline_addr(SB), RODATA, $8 DATA ·libc_fchown_trampoline_addr(SB)/8, $libc_fchown_trampoline<>(SB) TEXT libc_fchownat_trampoline<>(SB),NOSPLIT,$0-0 JMP libc_fchownat(SB) GLOBL ·libc_fchownat_trampoline_addr(SB), RODATA, $8 DATA ·libc_fchownat_trampoline_addr(SB)/8, $libc_fchownat_trampoline<>(SB) TEXT libc_fclonefileat_trampoline<>(SB),NOSPLIT,$0-0 JMP libc_fclonefileat(SB) GLOBL ·libc_fclonefileat_trampoline_addr(SB), RODATA, $8 DATA ·libc_fclonefileat_trampoline_addr(SB)/8, $libc_fclonefileat_trampoline<>(SB) TEXT libc_flock_trampoline<>(SB),NOSPLIT,$0-0 JMP libc_flock(SB) GLOBL ·libc_flock_trampoline_addr(SB), RODATA, $8 DATA ·libc_flock_trampoline_addr(SB)/8, $libc_flock_trampoline<>(SB) TEXT libc_fpathconf_trampoline<>(SB),NOSPLIT,$0-0 JMP libc_fpathconf(SB) GLOBL ·libc_fpathconf_trampoline_addr(SB), RODATA, $8 DATA ·libc_fpathconf_trampoline_addr(SB)/8, $libc_fpathconf_trampoline<>(SB) TEXT libc_fsync_trampoline<>(SB),NOSPLIT,$0-0 JMP libc_fsync(SB) GLOBL ·libc_fsync_trampoline_addr(SB), RODATA, $8 DATA ·libc_fsync_trampoline_addr(SB)/8, $libc_fsync_trampoline<>(SB) TEXT libc_ftruncate_trampoline<>(SB),NOSPLIT,$0-0 JMP libc_ftruncate(SB) GLOBL ·libc_ftruncate_trampoline_addr(SB), RODATA, $8 DATA ·libc_ftruncate_trampoline_addr(SB)/8, $libc_ftruncate_trampoline<>(SB) TEXT libc_getcwd_trampoline<>(SB),NOSPLIT,$0-0 JMP libc_getcwd(SB) GLOBL ·libc_getcwd_trampoline_addr(SB), RODATA, $8 DATA ·libc_getcwd_trampoline_addr(SB)/8, $libc_getcwd_trampoline<>(SB) TEXT libc_getdtablesize_trampoline<>(SB),NOSPLIT,$0-0 JMP libc_getdtablesize(SB) GLOBL ·libc_getdtablesize_trampoline_addr(SB), RODATA, $8 DATA ·libc_getdtablesize_trampoline_addr(SB)/8, $libc_getdtablesize_trampoline<>(SB) TEXT libc_getegid_trampoline<>(SB),NOSPLIT,$0-0 JMP libc_getegid(SB) GLOBL ·libc_getegid_trampoline_addr(SB), RODATA, $8 DATA ·libc_getegid_trampoline_addr(SB)/8, $libc_getegid_trampoline<>(SB) TEXT libc_geteuid_trampoline<>(SB),NOSPLIT,$0-0 JMP libc_geteuid(SB) GLOBL ·libc_geteuid_trampoline_addr(SB), RODATA, $8 DATA ·libc_geteuid_trampoline_addr(SB)/8, $libc_geteuid_trampoline<>(SB) TEXT libc_getgid_trampoline<>(SB),NOSPLIT,$0-0 JMP libc_getgid(SB) GLOBL ·libc_getgid_trampoline_addr(SB), RODATA, $8 DATA ·libc_getgid_trampoline_addr(SB)/8, $libc_getgid_trampoline<>(SB) TEXT libc_getpgid_trampoline<>(SB),NOSPLIT,$0-0 JMP libc_getpgid(SB) GLOBL ·libc_getpgid_trampoline_addr(SB), RODATA, $8 DATA ·libc_getpgid_trampoline_addr(SB)/8, $libc_getpgid_trampoline<>(SB) TEXT libc_getpgrp_trampoline<>(SB),NOSPLIT,$0-0 JMP libc_getpgrp(SB) GLOBL ·libc_getpgrp_trampoline_addr(SB), RODATA, $8 DATA ·libc_getpgrp_trampoline_addr(SB)/8, $libc_getpgrp_trampoline<>(SB) TEXT libc_getpid_trampoline<>(SB),NOSPLIT,$0-0 JMP libc_getpid(SB) GLOBL ·libc_getpid_trampoline_addr(SB), RODATA, $8 DATA ·libc_getpid_trampoline_addr(SB)/8, $libc_getpid_trampoline<>(SB) TEXT libc_getppid_trampoline<>(SB),NOSPLIT,$0-0 JMP libc_getppid(SB) GLOBL ·libc_getppid_trampoline_addr(SB), RODATA, $8 DATA ·libc_getppid_trampoline_addr(SB)/8, $libc_getppid_trampoline<>(SB) TEXT libc_getpriority_trampoline<>(SB),NOSPLIT,$0-0 JMP libc_getpriority(SB) GLOBL ·libc_getpriority_trampoline_addr(SB), RODATA, $8 DATA ·libc_getpriority_trampoline_addr(SB)/8, $libc_getpriority_trampoline<>(SB) TEXT libc_getrlimit_trampoline<>(SB),NOSPLIT,$0-0 JMP libc_getrlimit(SB) GLOBL ·libc_getrlimit_trampoline_addr(SB), RODATA, $8 DATA ·libc_getrlimit_trampoline_addr(SB)/8, $libc_getrlimit_trampoline<>(SB) TEXT libc_getrusage_trampoline<>(SB),NOSPLIT,$0-0 JMP libc_getrusage(SB) GLOBL ·libc_getrusage_trampoline_addr(SB), RODATA, $8 DATA ·libc_getrusage_trampoline_addr(SB)/8, $libc_getrusage_trampoline<>(SB) TEXT libc_getsid_trampoline<>(SB),NOSPLIT,$0-0 JMP libc_getsid(SB) GLOBL ·libc_getsid_trampoline_addr(SB), RODATA, $8 DATA ·libc_getsid_trampoline_addr(SB)/8, $libc_getsid_trampoline<>(SB) TEXT libc_gettimeofday_trampoline<>(SB),NOSPLIT,$0-0 JMP libc_gettimeofday(SB) GLOBL ·libc_gettimeofday_trampoline_addr(SB), RODATA, $8 DATA ·libc_gettimeofday_trampoline_addr(SB)/8, $libc_gettimeofday_trampoline<>(SB) TEXT libc_getuid_trampoline<>(SB),NOSPLIT,$0-0 JMP libc_getuid(SB) GLOBL ·libc_getuid_trampoline_addr(SB), RODATA, $8 DATA ·libc_getuid_trampoline_addr(SB)/8, $libc_getuid_trampoline<>(SB) TEXT libc_issetugid_trampoline<>(SB),NOSPLIT,$0-0 JMP libc_issetugid(SB) GLOBL ·libc_issetugid_trampoline_addr(SB), RODATA, $8 DATA ·libc_issetugid_trampoline_addr(SB)/8, $libc_issetugid_trampoline<>(SB) TEXT libc_kqueue_trampoline<>(SB),NOSPLIT,$0-0 JMP libc_kqueue(SB) GLOBL ·libc_kqueue_trampoline_addr(SB), RODATA, $8 DATA ·libc_kqueue_trampoline_addr(SB)/8, $libc_kqueue_trampoline<>(SB) TEXT libc_lchown_trampoline<>(SB),NOSPLIT,$0-0 JMP libc_lchown(SB) GLOBL ·libc_lchown_trampoline_addr(SB), RODATA, $8 DATA ·libc_lchown_trampoline_addr(SB)/8, $libc_lchown_trampoline<>(SB) TEXT libc_link_trampoline<>(SB),NOSPLIT,$0-0 JMP libc_link(SB) GLOBL ·libc_link_trampoline_addr(SB), RODATA, $8 DATA ·libc_link_trampoline_addr(SB)/8, $libc_link_trampoline<>(SB) TEXT libc_linkat_trampoline<>(SB),NOSPLIT,$0-0 JMP libc_linkat(SB) GLOBL ·libc_linkat_trampoline_addr(SB), RODATA, $8 DATA ·libc_linkat_trampoline_addr(SB)/8, $libc_linkat_trampoline<>(SB) TEXT libc_listen_trampoline<>(SB),NOSPLIT,$0-0 JMP libc_listen(SB) GLOBL ·libc_listen_trampoline_addr(SB), RODATA, $8 DATA ·libc_listen_trampoline_addr(SB)/8, $libc_listen_trampoline<>(SB) TEXT libc_mkdir_trampoline<>(SB),NOSPLIT,$0-0 JMP libc_mkdir(SB) GLOBL ·libc_mkdir_trampoline_addr(SB), RODATA, $8 DATA ·libc_mkdir_trampoline_addr(SB)/8, $libc_mkdir_trampoline<>(SB) TEXT libc_mkdirat_trampoline<>(SB),NOSPLIT,$0-0 JMP libc_mkdirat(SB) GLOBL ·libc_mkdirat_trampoline_addr(SB), RODATA, $8 DATA ·libc_mkdirat_trampoline_addr(SB)/8, $libc_mkdirat_trampoline<>(SB) TEXT libc_mkfifo_trampoline<>(SB),NOSPLIT,$0-0 JMP libc_mkfifo(SB) GLOBL ·libc_mkfifo_trampoline_addr(SB), RODATA, $8 DATA ·libc_mkfifo_trampoline_addr(SB)/8, $libc_mkfifo_trampoline<>(SB) TEXT libc_mknod_trampoline<>(SB),NOSPLIT,$0-0 JMP libc_mknod(SB) GLOBL ·libc_mknod_trampoline_addr(SB), RODATA, $8 DATA ·libc_mknod_trampoline_addr(SB)/8, $libc_mknod_trampoline<>(SB) TEXT libc_mount_trampoline<>(SB),NOSPLIT,$0-0 JMP libc_mount(SB) GLOBL ·libc_mount_trampoline_addr(SB), RODATA, $8 DATA ·libc_mount_trampoline_addr(SB)/8, $libc_mount_trampoline<>(SB) TEXT libc_open_trampoline<>(SB),NOSPLIT,$0-0 JMP libc_open(SB) GLOBL ·libc_open_trampoline_addr(SB), RODATA, $8 DATA ·libc_open_trampoline_addr(SB)/8, $libc_open_trampoline<>(SB) TEXT libc_openat_trampoline<>(SB),NOSPLIT,$0-0 JMP libc_openat(SB) GLOBL ·libc_openat_trampoline_addr(SB), RODATA, $8 DATA ·libc_openat_trampoline_addr(SB)/8, $libc_openat_trampoline<>(SB) TEXT libc_pathconf_trampoline<>(SB),NOSPLIT,$0-0 JMP libc_pathconf(SB) GLOBL ·libc_pathconf_trampoline_addr(SB), RODATA, $8 DATA ·libc_pathconf_trampoline_addr(SB)/8, $libc_pathconf_trampoline<>(SB) TEXT libc_pread_trampoline<>(SB),NOSPLIT,$0-0 JMP libc_pread(SB) GLOBL ·libc_pread_trampoline_addr(SB), RODATA, $8 DATA ·libc_pread_trampoline_addr(SB)/8, $libc_pread_trampoline<>(SB) TEXT libc_pwrite_trampoline<>(SB),NOSPLIT,$0-0 JMP libc_pwrite(SB) GLOBL ·libc_pwrite_trampoline_addr(SB), RODATA, $8 DATA ·libc_pwrite_trampoline_addr(SB)/8, $libc_pwrite_trampoline<>(SB) TEXT libc_read_trampoline<>(SB),NOSPLIT,$0-0 JMP libc_read(SB) GLOBL ·libc_read_trampoline_addr(SB), RODATA, $8 DATA ·libc_read_trampoline_addr(SB)/8, $libc_read_trampoline<>(SB) TEXT libc_readlink_trampoline<>(SB),NOSPLIT,$0-0 JMP libc_readlink(SB) GLOBL ·libc_readlink_trampoline_addr(SB), RODATA, $8 DATA ·libc_readlink_trampoline_addr(SB)/8, $libc_readlink_trampoline<>(SB) TEXT libc_readlinkat_trampoline<>(SB),NOSPLIT,$0-0 JMP libc_readlinkat(SB) GLOBL ·libc_readlinkat_trampoline_addr(SB), RODATA, $8 DATA ·libc_readlinkat_trampoline_addr(SB)/8, $libc_readlinkat_trampoline<>(SB) TEXT libc_rename_trampoline<>(SB),NOSPLIT,$0-0 JMP libc_rename(SB) GLOBL ·libc_rename_trampoline_addr(SB), RODATA, $8 DATA ·libc_rename_trampoline_addr(SB)/8, $libc_rename_trampoline<>(SB) TEXT libc_renameat_trampoline<>(SB),NOSPLIT,$0-0 JMP libc_renameat(SB) GLOBL ·libc_renameat_trampoline_addr(SB), RODATA, $8 DATA ·libc_renameat_trampoline_addr(SB)/8, $libc_renameat_trampoline<>(SB) TEXT libc_revoke_trampoline<>(SB),NOSPLIT,$0-0 JMP libc_revoke(SB) GLOBL ·libc_revoke_trampoline_addr(SB), RODATA, $8 DATA ·libc_revoke_trampoline_addr(SB)/8, $libc_revoke_trampoline<>(SB) TEXT libc_rmdir_trampoline<>(SB),NOSPLIT,$0-0 JMP libc_rmdir(SB) GLOBL ·libc_rmdir_trampoline_addr(SB), RODATA, $8 DATA ·libc_rmdir_trampoline_addr(SB)/8, $libc_rmdir_trampoline<>(SB) TEXT libc_lseek_trampoline<>(SB),NOSPLIT,$0-0 JMP libc_lseek(SB) GLOBL ·libc_lseek_trampoline_addr(SB), RODATA, $8 DATA ·libc_lseek_trampoline_addr(SB)/8, $libc_lseek_trampoline<>(SB) TEXT libc_select_trampoline<>(SB),NOSPLIT,$0-0 JMP libc_select(SB) GLOBL ·libc_select_trampoline_addr(SB), RODATA, $8 DATA ·libc_select_trampoline_addr(SB)/8, $libc_select_trampoline<>(SB) TEXT libc_setattrlist_trampoline<>(SB),NOSPLIT,$0-0 JMP libc_setattrlist(SB) GLOBL ·libc_setattrlist_trampoline_addr(SB), RODATA, $8 DATA ·libc_setattrlist_trampoline_addr(SB)/8, $libc_setattrlist_trampoline<>(SB) TEXT libc_setegid_trampoline<>(SB),NOSPLIT,$0-0 JMP libc_setegid(SB) GLOBL ·libc_setegid_trampoline_addr(SB), RODATA, $8 DATA ·libc_setegid_trampoline_addr(SB)/8, $libc_setegid_trampoline<>(SB) TEXT libc_seteuid_trampoline<>(SB),NOSPLIT,$0-0 JMP libc_seteuid(SB) GLOBL ·libc_seteuid_trampoline_addr(SB), RODATA, $8 DATA ·libc_seteuid_trampoline_addr(SB)/8, $libc_seteuid_trampoline<>(SB) TEXT libc_setgid_trampoline<>(SB),NOSPLIT,$0-0 JMP libc_setgid(SB) GLOBL ·libc_setgid_trampoline_addr(SB), RODATA, $8 DATA ·libc_setgid_trampoline_addr(SB)/8, $libc_setgid_trampoline<>(SB) TEXT libc_setlogin_trampoline<>(SB),NOSPLIT,$0-0 JMP libc_setlogin(SB) GLOBL ·libc_setlogin_trampoline_addr(SB), RODATA, $8 DATA ·libc_setlogin_trampoline_addr(SB)/8, $libc_setlogin_trampoline<>(SB) TEXT libc_setpgid_trampoline<>(SB),NOSPLIT,$0-0 JMP libc_setpgid(SB) GLOBL ·libc_setpgid_trampoline_addr(SB), RODATA, $8 DATA ·libc_setpgid_trampoline_addr(SB)/8, $libc_setpgid_trampoline<>(SB) TEXT libc_setpriority_trampoline<>(SB),NOSPLIT,$0-0 JMP libc_setpriority(SB) GLOBL ·libc_setpriority_trampoline_addr(SB), RODATA, $8 DATA ·libc_setpriority_trampoline_addr(SB)/8, $libc_setpriority_trampoline<>(SB) TEXT libc_setprivexec_trampoline<>(SB),NOSPLIT,$0-0 JMP libc_setprivexec(SB) GLOBL ·libc_setprivexec_trampoline_addr(SB), RODATA, $8 DATA ·libc_setprivexec_trampoline_addr(SB)/8, $libc_setprivexec_trampoline<>(SB) TEXT libc_setregid_trampoline<>(SB),NOSPLIT,$0-0 JMP libc_setregid(SB) GLOBL ·libc_setregid_trampoline_addr(SB), RODATA, $8 DATA ·libc_setregid_trampoline_addr(SB)/8, $libc_setregid_trampoline<>(SB) TEXT libc_setreuid_trampoline<>(SB),NOSPLIT,$0-0 JMP libc_setreuid(SB) GLOBL ·libc_setreuid_trampoline_addr(SB), RODATA, $8 DATA ·libc_setreuid_trampoline_addr(SB)/8, $libc_setreuid_trampoline<>(SB) TEXT libc_setsid_trampoline<>(SB),NOSPLIT,$0-0 JMP libc_setsid(SB) GLOBL ·libc_setsid_trampoline_addr(SB), RODATA, $8 DATA ·libc_setsid_trampoline_addr(SB)/8, $libc_setsid_trampoline<>(SB) TEXT libc_settimeofday_trampoline<>(SB),NOSPLIT,$0-0 JMP libc_settimeofday(SB) GLOBL ·libc_settimeofday_trampoline_addr(SB), RODATA, $8 DATA ·libc_settimeofday_trampoline_addr(SB)/8, $libc_settimeofday_trampoline<>(SB) TEXT libc_setuid_trampoline<>(SB),NOSPLIT,$0-0 JMP libc_setuid(SB) GLOBL ·libc_setuid_trampoline_addr(SB), RODATA, $8 DATA ·libc_setuid_trampoline_addr(SB)/8, $libc_setuid_trampoline<>(SB) TEXT libc_symlink_trampoline<>(SB),NOSPLIT,$0-0 JMP libc_symlink(SB) GLOBL ·libc_symlink_trampoline_addr(SB), RODATA, $8 DATA ·libc_symlink_trampoline_addr(SB)/8, $libc_symlink_trampoline<>(SB) TEXT libc_symlinkat_trampoline<>(SB),NOSPLIT,$0-0 JMP libc_symlinkat(SB) GLOBL ·libc_symlinkat_trampoline_addr(SB), RODATA, $8 DATA ·libc_symlinkat_trampoline_addr(SB)/8, $libc_symlinkat_trampoline<>(SB) TEXT libc_sync_trampoline<>(SB),NOSPLIT,$0-0 JMP libc_sync(SB) GLOBL ·libc_sync_trampoline_addr(SB), RODATA, $8 DATA ·libc_sync_trampoline_addr(SB)/8, $libc_sync_trampoline<>(SB) TEXT libc_truncate_trampoline<>(SB),NOSPLIT,$0-0 JMP libc_truncate(SB) GLOBL ·libc_truncate_trampoline_addr(SB), RODATA, $8 DATA ·libc_truncate_trampoline_addr(SB)/8, $libc_truncate_trampoline<>(SB) TEXT libc_umask_trampoline<>(SB),NOSPLIT,$0-0 JMP libc_umask(SB) GLOBL ·libc_umask_trampoline_addr(SB), RODATA, $8 DATA ·libc_umask_trampoline_addr(SB)/8, $libc_umask_trampoline<>(SB) TEXT libc_undelete_trampoline<>(SB),NOSPLIT,$0-0 JMP libc_undelete(SB) GLOBL ·libc_undelete_trampoline_addr(SB), RODATA, $8 DATA ·libc_undelete_trampoline_addr(SB)/8, $libc_undelete_trampoline<>(SB) TEXT libc_unlink_trampoline<>(SB),NOSPLIT,$0-0 JMP libc_unlink(SB) GLOBL ·libc_unlink_trampoline_addr(SB), RODATA, $8 DATA ·libc_unlink_trampoline_addr(SB)/8, $libc_unlink_trampoline<>(SB) TEXT libc_unlinkat_trampoline<>(SB),NOSPLIT,$0-0 JMP libc_unlinkat(SB) GLOBL ·libc_unlinkat_trampoline_addr(SB), RODATA, $8 DATA ·libc_unlinkat_trampoline_addr(SB)/8, $libc_unlinkat_trampoline<>(SB) TEXT libc_unmount_trampoline<>(SB),NOSPLIT,$0-0 JMP libc_unmount(SB) GLOBL ·libc_unmount_trampoline_addr(SB), RODATA, $8 DATA ·libc_unmount_trampoline_addr(SB)/8, $libc_unmount_trampoline<>(SB) TEXT libc_write_trampoline<>(SB),NOSPLIT,$0-0 JMP libc_write(SB) GLOBL ·libc_write_trampoline_addr(SB), RODATA, $8 DATA ·libc_write_trampoline_addr(SB)/8, $libc_write_trampoline<>(SB) TEXT libc_mmap_trampoline<>(SB),NOSPLIT,$0-0 JMP libc_mmap(SB) GLOBL ·libc_mmap_trampoline_addr(SB), RODATA, $8 DATA ·libc_mmap_trampoline_addr(SB)/8, $libc_mmap_trampoline<>(SB) TEXT libc_munmap_trampoline<>(SB),NOSPLIT,$0-0 JMP libc_munmap(SB) GLOBL ·libc_munmap_trampoline_addr(SB), RODATA, $8 DATA ·libc_munmap_trampoline_addr(SB)/8, $libc_munmap_trampoline<>(SB) TEXT libc_fstat_trampoline<>(SB),NOSPLIT,$0-0 JMP libc_fstat(SB) GLOBL ·libc_fstat_trampoline_addr(SB), RODATA, $8 DATA ·libc_fstat_trampoline_addr(SB)/8, $libc_fstat_trampoline<>(SB) TEXT libc_fstatat_trampoline<>(SB),NOSPLIT,$0-0 JMP libc_fstatat(SB) GLOBL ·libc_fstatat_trampoline_addr(SB), RODATA, $8 DATA ·libc_fstatat_trampoline_addr(SB)/8, $libc_fstatat_trampoline<>(SB) TEXT libc_fstatfs_trampoline<>(SB),NOSPLIT,$0-0 JMP libc_fstatfs(SB) GLOBL ·libc_fstatfs_trampoline_addr(SB), RODATA, $8 DATA ·libc_fstatfs_trampoline_addr(SB)/8, $libc_fstatfs_trampoline<>(SB) TEXT libc_getfsstat_trampoline<>(SB),NOSPLIT,$0-0 JMP libc_getfsstat(SB) GLOBL ·libc_getfsstat_trampoline_addr(SB), RODATA, $8 DATA ·libc_getfsstat_trampoline_addr(SB)/8, $libc_getfsstat_trampoline<>(SB) TEXT libc_lstat_trampoline<>(SB),NOSPLIT,$0-0 JMP libc_lstat(SB) GLOBL ·libc_lstat_trampoline_addr(SB), RODATA, $8 DATA ·libc_lstat_trampoline_addr(SB)/8, $libc_lstat_trampoline<>(SB) TEXT libc_ptrace_trampoline<>(SB),NOSPLIT,$0-0 JMP libc_ptrace(SB) GLOBL ·libc_ptrace_trampoline_addr(SB), RODATA, $8 DATA ·libc_ptrace_trampoline_addr(SB)/8, $libc_ptrace_trampoline<>(SB) TEXT libc_stat_trampoline<>(SB),NOSPLIT,$0-0 JMP libc_stat(SB) GLOBL ·libc_stat_trampoline_addr(SB), RODATA, $8 DATA ·libc_stat_trampoline_addr(SB)/8, $libc_stat_trampoline<>(SB) TEXT libc_statfs_trampoline<>(SB),NOSPLIT,$0-0 JMP libc_statfs(SB) GLOBL ·libc_statfs_trampoline_addr(SB), RODATA, $8 DATA ·libc_statfs_trampoline_addr(SB)/8, $libc_statfs_trampoline<>(SB) dependencies/pkg/mod/golang.org/x/sys@v0.26.0/unix/zerrors_openbsd_arm.go0000644000000000000000000023505115107355264025225 0ustar rootroot// mkerrors.sh // Code generated by the command above; see README.md. DO NOT EDIT. //go:build arm && openbsd // Code generated by cmd/cgo -godefs; DO NOT EDIT. // cgo -godefs -- _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 ALTWERASE = 0x200 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 = 0x4010426e 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 = 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_FILDROP_CAPTURE = 0x1 BPF_FILDROP_DROP = 0x2 BPF_FILDROP_PASS = 0x0 BPF_F_DIR_IN = 0x10 BPF_F_DIR_MASK = 0x30 BPF_F_DIR_OUT = 0x20 BPF_F_DIR_SHIFT = 0x4 BPF_F_FLOWID = 0x8 BPF_F_PRI_MASK = 0x7 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_RND = 0xc0 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_BOOTTIME = 0x6 CLOCK_MONOTONIC = 0x3 CLOCK_PROCESS_CPUTIME_ID = 0x2 CLOCK_REALTIME = 0x0 CLOCK_THREAD_CPUTIME_ID = 0x4 CLOCK_UPTIME = 0x5 CPUSTATES = 0x6 CP_IDLE = 0x5 CP_INTR = 0x4 CP_NICE = 0x1 CP_SPIN = 0x3 CP_SYS = 0x2 CP_USER = 0x0 CREAD = 0x800 CRTSCTS = 0x10000 CS5 = 0x0 CS6 = 0x100 CS7 = 0x200 CS8 = 0x300 CSIZE = 0x300 CSTART = 0x11 CSTATUS = 0xff CSTOP = 0x13 CSTOPB = 0x400 CSUSP = 0x1a CTL_HW = 0x6 CTL_KERN = 0x1 CTL_MAXNAME = 0xc CTL_NET = 0x4 DIOCADDQUEUE = 0xc100445d DIOCADDRULE = 0xcce04404 DIOCADDSTATE = 0xc1084425 DIOCCHANGERULE = 0xcce0441a DIOCCLRIFFLAG = 0xc024445a DIOCCLRSRCNODES = 0x20004455 DIOCCLRSTATES = 0xc0d04412 DIOCCLRSTATUS = 0xc0244416 DIOCGETLIMIT = 0xc0084427 DIOCGETQSTATS = 0xc1084460 DIOCGETQUEUE = 0xc100445f DIOCGETQUEUES = 0xc100445e DIOCGETRULE = 0xcce04407 DIOCGETRULES = 0xcce04406 DIOCGETRULESET = 0xc444443b DIOCGETRULESETS = 0xc444443a DIOCGETSRCNODES = 0xc0084454 DIOCGETSTATE = 0xc1084413 DIOCGETSTATES = 0xc0084419 DIOCGETSTATUS = 0xc1e84415 DIOCGETSYNFLWATS = 0xc0084463 DIOCGETTIMEOUT = 0xc008441e DIOCIGETIFACES = 0xc0244457 DIOCKILLSRCNODES = 0xc068445b DIOCKILLSTATES = 0xc0d04429 DIOCNATLOOK = 0xc0504417 DIOCOSFPADD = 0xc088444f DIOCOSFPFLUSH = 0x2000444e DIOCOSFPGET = 0xc0884450 DIOCRADDADDRS = 0xc44c4443 DIOCRADDTABLES = 0xc44c443d DIOCRCLRADDRS = 0xc44c4442 DIOCRCLRASTATS = 0xc44c4448 DIOCRCLRTABLES = 0xc44c443c DIOCRCLRTSTATS = 0xc44c4441 DIOCRDELADDRS = 0xc44c4444 DIOCRDELTABLES = 0xc44c443e DIOCRGETADDRS = 0xc44c4446 DIOCRGETASTATS = 0xc44c4447 DIOCRGETTABLES = 0xc44c443f DIOCRGETTSTATS = 0xc44c4440 DIOCRINADEFINE = 0xc44c444d DIOCRSETADDRS = 0xc44c4445 DIOCRSETTFLAGS = 0xc44c444a DIOCRTSTADDRS = 0xc44c4449 DIOCSETDEBUG = 0xc0044418 DIOCSETHOSTID = 0xc0044456 DIOCSETIFFLAG = 0xc0244459 DIOCSETLIMIT = 0xc0084428 DIOCSETREASS = 0xc004445c DIOCSETSTATUSIF = 0xc0244414 DIOCSETSYNCOOKIES = 0xc0014462 DIOCSETSYNFLWATS = 0xc0084461 DIOCSETTIMEOUT = 0xc008441d DIOCSTART = 0x20004401 DIOCSTOP = 0x20004402 DIOCXBEGIN = 0xc00c4451 DIOCXCOMMIT = 0xc00c4452 DIOCXROLLBACK = 0xc00c4453 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_OPENFLOW = 0x10b 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 DLT_USBPCAP = 0xf9 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 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 ETH64_8021_RSVD_MASK = 0xfffffffffff0 ETH64_8021_RSVD_PREFIX = 0x180c2000000 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_EAPOL = 0x888e 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_MACSEC = 0x88e5 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_NHRP = 0x2001 ETHERTYPE_NOVELL = 0x8138 ETHERTYPE_NS = 0x600 ETHERTYPE_NSAT = 0x601 ETHERTYPE_NSCOMPAT = 0x807 ETHERTYPE_NSH = 0x984f ETHERTYPE_NTRAILER = 0x10 ETHERTYPE_OS9 = 0x7007 ETHERTYPE_OS9NET = 0x7009 ETHERTYPE_PACER = 0x80c6 ETHERTYPE_PBB = 0x88e7 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_HARDMTU_LEN = 0xff9b ETHER_MAX_LEN = 0x5ee ETHER_MIN_LEN = 0x40 ETHER_TYPE_LEN = 0x2 ETHER_VLAN_ENCAP_LEN = 0x4 EVFILT_AIO = -0x3 EVFILT_DEVICE = -0x8 EVFILT_EXCEPT = -0x9 EVFILT_PROC = -0x5 EVFILT_READ = -0x1 EVFILT_SIGNAL = -0x6 EVFILT_SYSCOUNT = 0x9 EVFILT_TIMER = -0x7 EVFILT_VNODE = -0x4 EVFILT_WRITE = -0x2 EVL_ENCAPLEN = 0x4 EVL_PRIO_BITS = 0xd EVL_PRIO_MAX = 0x7 EVL_VLID_MASK = 0xfff EVL_VLID_MAX = 0xffe EVL_VLID_MIN = 0x1 EVL_VLID_NULL = 0x0 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_ONESHOT = 0x10 EV_RECEIPT = 0x40 EV_SYSFLAGS = 0xf800 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_ISATTY = 0xb 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 HW_MACHINE = 0x1 ICANON = 0x100 ICMP6_FILTER = 0x12 ICRNL = 0x100 IEXTEN = 0x400 IFAN_ARRIVAL = 0x0 IFAN_DEPARTURE = 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_OACTIVE = 0x400 IFF_POINTOPOINT = 0x10 IFF_PROMISC = 0x100 IFF_RUNNING = 0x40 IFF_SIMPLEX = 0x800 IFF_STATICARP = 0x20 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_MBIM = 0xfa 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_WIREGUARD = 0xfb 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_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_SCTP = 0x84 IPPROTO_TCP = 0x6 IPPROTO_TP = 0x1d IPPROTO_UDP = 0x11 IPPROTO_UDPLITE = 0x88 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_MINHOPCOUNT = 0x41 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_DROP_MEMBERSHIP = 0xd IP_ESP_NETWORK_LEVEL = 0x16 IP_ESP_TRANS_LEVEL = 0x15 IP_HDRINCL = 0x2 IP_IPCOMP_LEVEL = 0x1d IP_IPDEFTTL = 0x25 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_SENDSRCADDR = 0x7 IP_TOS = 0x3 IP_TTL = 0x4 ISIG = 0x80 ISTRIP = 0x20 ITIMER_PROF = 0x2 ITIMER_REAL = 0x0 ITIMER_VIRTUAL = 0x1 IUCLC = 0x1000 IXANY = 0x800 IXOFF = 0x400 IXON = 0x200 KERN_HOSTNAME = 0xa KERN_OSRELEASE = 0x2 KERN_OSTYPE = 0x1 KERN_VERSION = 0x4 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_ANONYMOUS = 0x1000 MAP_CONCEAL = 0x8000 MAP_COPY = 0x2 MAP_FILE = 0x0 MAP_FIXED = 0x10 MAP_FLAGMASK = 0xfff7 MAP_HASSEMAPHORE = 0x0 MAP_INHERIT = 0x0 MAP_INHERIT_COPY = 0x1 MAP_INHERIT_NONE = 0x2 MAP_INHERIT_SHARE = 0x0 MAP_INHERIT_ZERO = 0x3 MAP_NOEXTEND = 0x0 MAP_NORESERVE = 0x0 MAP_PRIVATE = 0x2 MAP_RENAME = 0x0 MAP_SHARED = 0x1 MAP_STACK = 0x4000 MAP_TRYFIXED = 0x0 MCL_CURRENT = 0x1 MCL_FUTURE = 0x2 MNT_ASYNC = 0x40 MNT_DEFEXPORTED = 0x200 MNT_DELEXPORT = 0x20000 MNT_DOOMED = 0x8000000 MNT_EXPORTANON = 0x400 MNT_EXPORTED = 0x100 MNT_EXRDONLY = 0x80 MNT_FORCE = 0x80000 MNT_LAZY = 0x3 MNT_LOCAL = 0x1000 MNT_NOATIME = 0x8000 MNT_NODEV = 0x10 MNT_NOEXEC = 0x4 MNT_NOPERM = 0x20 MNT_NOSUID = 0x8 MNT_NOWAIT = 0x2 MNT_QUOTA = 0x2000 MNT_RDONLY = 0x1 MNT_RELOAD = 0x40000 MNT_ROOTFS = 0x4000 MNT_SOFTDEP = 0x4000000 MNT_STALLED = 0x100000 MNT_SWAPPABLE = 0x200000 MNT_SYNCHRONOUS = 0x2 MNT_UPDATE = 0x10000 MNT_VISFLAGMASK = 0x400ffff MNT_WAIT = 0x1 MNT_WANTRDWR = 0x2000000 MNT_WXALLOWED = 0x800 MOUNT_AFS = "afs" MOUNT_CD9660 = "cd9660" MOUNT_EXT2FS = "ext2fs" MOUNT_FFS = "ffs" MOUNT_FUSEFS = "fuse" MOUNT_MFS = "mfs" MOUNT_MSDOS = "msdos" MOUNT_NCPFS = "ncpfs" MOUNT_NFS = "nfs" MOUNT_NTFS = "ntfs" MOUNT_TMPFS = "tmpfs" MOUNT_UDF = "udf" MOUNT_UFS = "ffs" MSG_BCAST = 0x100 MSG_CMSG_CLOEXEC = 0x800 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 MSG_WAITFORONE = 0x1000 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_IFNAMES = 0x6 NET_RT_MAXID = 0x8 NET_RT_SOURCE = 0x7 NET_RT_STATS = 0x4 NET_RT_TABLE = 0x5 NFDBITS = 0x20 NOFLSH = 0x80000000 NOKERNINFO = 0x2000000 NOTE_ATTRIB = 0x8 NOTE_CHANGE = 0x1 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_OOB = 0x4 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 OLCUC = 0x20 ONLCR = 0x2 ONLRET = 0x80 ONOCR = 0x40 ONOEOT = 0x8 OPOST = 0x1 OXTABS = 0x4 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_MEMLOCK = 0x6 RLIMIT_NOFILE = 0x8 RLIMIT_NPROC = 0x7 RLIMIT_RSS = 0x5 RLIMIT_STACK = 0x3 RLIM_INFINITY = 0x7fffffffffffffff RTAX_AUTHOR = 0x6 RTAX_BFD = 0xb RTAX_BRD = 0x7 RTAX_DNS = 0xc RTAX_DST = 0x0 RTAX_GATEWAY = 0x1 RTAX_GENMASK = 0x3 RTAX_IFA = 0x5 RTAX_IFP = 0x4 RTAX_LABEL = 0xa RTAX_MAX = 0xf RTAX_NETMASK = 0x2 RTAX_SEARCH = 0xe RTAX_SRC = 0x8 RTAX_SRCMASK = 0x9 RTAX_STATIC = 0xd RTA_AUTHOR = 0x40 RTA_BFD = 0x800 RTA_BRD = 0x80 RTA_DNS = 0x1000 RTA_DST = 0x1 RTA_GATEWAY = 0x2 RTA_GENMASK = 0x8 RTA_IFA = 0x20 RTA_IFP = 0x10 RTA_LABEL = 0x400 RTA_NETMASK = 0x4 RTA_SEARCH = 0x4000 RTA_SRC = 0x100 RTA_SRCMASK = 0x200 RTA_STATIC = 0x2000 RTF_ANNOUNCE = 0x4000 RTF_BFD = 0x1000000 RTF_BLACKHOLE = 0x1000 RTF_BROADCAST = 0x400000 RTF_CACHED = 0x20000 RTF_CLONED = 0x10000 RTF_CLONING = 0x100 RTF_CONNECTED = 0x800000 RTF_DONE = 0x40 RTF_DYNAMIC = 0x10 RTF_FMASK = 0x110fc08 RTF_GATEWAY = 0x2 RTF_HOST = 0x4 RTF_LLINFO = 0x400 RTF_LOCAL = 0x200000 RTF_MODIFIED = 0x20 RTF_MPATH = 0x40000 RTF_MPLS = 0x100000 RTF_MULTICAST = 0x200 RTF_PERMANENT_ARP = 0x2000 RTF_PROTO1 = 0x8000 RTF_PROTO2 = 0x4000 RTF_PROTO3 = 0x2000 RTF_REJECT = 0x8 RTF_STATIC = 0x800 RTF_UP = 0x1 RTF_USETRAILERS = 0x8000 RTM_80211INFO = 0x15 RTM_ADD = 0x1 RTM_BFD = 0x12 RTM_CHANGE = 0x3 RTM_CHGADDRATTR = 0x14 RTM_DELADDR = 0xd RTM_DELETE = 0x2 RTM_DESYNC = 0x10 RTM_GET = 0x4 RTM_IFANNOUNCE = 0xf RTM_IFINFO = 0xe RTM_INVALIDATE = 0x11 RTM_LOSING = 0x5 RTM_MAXSIZE = 0x800 RTM_MISS = 0x7 RTM_NEWADDR = 0xc RTM_PROPOSAL = 0x13 RTM_REDIRECT = 0x6 RTM_RESOLVE = 0xb RTM_SOURCE = 0x16 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_BITS = 0x8 RT_TABLEID_MASK = 0xff RT_TABLEID_MAX = 0xff RUSAGE_CHILDREN = -0x1 RUSAGE_SELF = 0x0 RUSAGE_THREAD = 0x1 SCM_RIGHTS = 0x1 SCM_TIMESTAMP = 0x4 SEEK_CUR = 0x1 SEEK_END = 0x2 SEEK_SET = 0x0 SHUT_RD = 0x0 SHUT_RDWR = 0x2 SHUT_WR = 0x1 SIOCADDMULTI = 0x80206931 SIOCAIFADDR = 0x8040691a SIOCAIFGROUP = 0x80246987 SIOCATMARK = 0x40047307 SIOCBRDGADD = 0x8060693c SIOCBRDGADDL = 0x80606949 SIOCBRDGADDS = 0x80606941 SIOCBRDGARL = 0x808c694d SIOCBRDGDADDR = 0x81286947 SIOCBRDGDEL = 0x8060693d SIOCBRDGDELS = 0x80606942 SIOCBRDGFLUSH = 0x80606948 SIOCBRDGFRL = 0x808c694e SIOCBRDGGCACHE = 0xc0146941 SIOCBRDGGFD = 0xc0146952 SIOCBRDGGHT = 0xc0146951 SIOCBRDGGIFFLGS = 0xc060693e SIOCBRDGGMA = 0xc0146953 SIOCBRDGGPARAM = 0xc0406958 SIOCBRDGGPRI = 0xc0146950 SIOCBRDGGRL = 0xc028694f SIOCBRDGGTO = 0xc0146946 SIOCBRDGIFS = 0xc0606942 SIOCBRDGRTS = 0xc0186943 SIOCBRDGSADDR = 0xc1286944 SIOCBRDGSCACHE = 0x80146940 SIOCBRDGSFD = 0x80146952 SIOCBRDGSHT = 0x80146951 SIOCBRDGSIFCOST = 0x80606955 SIOCBRDGSIFFLGS = 0x8060693f SIOCBRDGSIFPRIO = 0x80606954 SIOCBRDGSIFPROT = 0x8060694a SIOCBRDGSMA = 0x80146953 SIOCBRDGSPRI = 0x80146950 SIOCBRDGSPROTO = 0x8014695a SIOCBRDGSTO = 0x80146945 SIOCBRDGSTXHC = 0x80146959 SIOCDELLABEL = 0x80206997 SIOCDELMULTI = 0x80206932 SIOCDIFADDR = 0x80206919 SIOCDIFGROUP = 0x80246989 SIOCDIFPARENT = 0x802069b4 SIOCDIFPHYADDR = 0x80206949 SIOCDPWE3NEIGHBOR = 0x802069de SIOCDVNETID = 0x802069af SIOCGETKALIVE = 0xc01869a4 SIOCGETLABEL = 0x8020699a SIOCGETMPWCFG = 0xc02069ae SIOCGETPFLOW = 0xc02069fe SIOCGETPFSYNC = 0xc02069f8 SIOCGETSGCNT = 0xc0147534 SIOCGETVIFCNT = 0xc0147533 SIOCGETVLAN = 0xc0206990 SIOCGIFADDR = 0xc0206921 SIOCGIFBRDADDR = 0xc0206923 SIOCGIFCONF = 0xc0086924 SIOCGIFDATA = 0xc020691b SIOCGIFDESCR = 0xc0206981 SIOCGIFDSTADDR = 0xc0206922 SIOCGIFFLAGS = 0xc0206911 SIOCGIFGATTR = 0xc024698b SIOCGIFGENERIC = 0xc020693a SIOCGIFGLIST = 0xc024698d SIOCGIFGMEMB = 0xc024698a SIOCGIFGROUP = 0xc0246988 SIOCGIFHARDMTU = 0xc02069a5 SIOCGIFLLPRIO = 0xc02069b6 SIOCGIFMEDIA = 0xc0386938 SIOCGIFMETRIC = 0xc0206917 SIOCGIFMTU = 0xc020697e SIOCGIFNETMASK = 0xc0206925 SIOCGIFPAIR = 0xc02069b1 SIOCGIFPARENT = 0xc02069b3 SIOCGIFPRIORITY = 0xc020699c SIOCGIFRDOMAIN = 0xc02069a0 SIOCGIFRTLABEL = 0xc0206983 SIOCGIFRXR = 0x802069aa SIOCGIFSFFPAGE = 0xc1126939 SIOCGIFXFLAGS = 0xc020699e SIOCGLIFPHYADDR = 0xc218694b SIOCGLIFPHYDF = 0xc02069c2 SIOCGLIFPHYECN = 0xc02069c8 SIOCGLIFPHYRTABLE = 0xc02069a2 SIOCGLIFPHYTTL = 0xc02069a9 SIOCGPGRP = 0x40047309 SIOCGPWE3 = 0xc0206998 SIOCGPWE3CTRLWORD = 0xc02069dc SIOCGPWE3FAT = 0xc02069dd SIOCGPWE3NEIGHBOR = 0xc21869de SIOCGRXHPRIO = 0xc02069db SIOCGSPPPPARAMS = 0xc0206994 SIOCGTXHPRIO = 0xc02069c6 SIOCGUMBINFO = 0xc02069be SIOCGUMBPARAM = 0xc02069c0 SIOCGVH = 0xc02069f6 SIOCGVNETFLOWID = 0xc02069c4 SIOCGVNETID = 0xc02069a7 SIOCIFAFATTACH = 0x801169ab SIOCIFAFDETACH = 0x801169ac SIOCIFCREATE = 0x8020697a SIOCIFDESTROY = 0x80206979 SIOCIFGCLONERS = 0xc00c6978 SIOCSETKALIVE = 0x801869a3 SIOCSETLABEL = 0x80206999 SIOCSETMPWCFG = 0x802069ad SIOCSETPFLOW = 0x802069fd SIOCSETPFSYNC = 0x802069f7 SIOCSETVLAN = 0x8020698f SIOCSIFADDR = 0x8020690c SIOCSIFBRDADDR = 0x80206913 SIOCSIFDESCR = 0x80206980 SIOCSIFDSTADDR = 0x8020690e SIOCSIFFLAGS = 0x80206910 SIOCSIFGATTR = 0x8024698c SIOCSIFGENERIC = 0x80206939 SIOCSIFLLADDR = 0x8020691f SIOCSIFLLPRIO = 0x802069b5 SIOCSIFMEDIA = 0xc0206937 SIOCSIFMETRIC = 0x80206918 SIOCSIFMTU = 0x8020697f SIOCSIFNETMASK = 0x80206916 SIOCSIFPAIR = 0x802069b0 SIOCSIFPARENT = 0x802069b2 SIOCSIFPRIORITY = 0x8020699b SIOCSIFRDOMAIN = 0x8020699f SIOCSIFRTLABEL = 0x80206982 SIOCSIFXFLAGS = 0x8020699d SIOCSLIFPHYADDR = 0x8218694a SIOCSLIFPHYDF = 0x802069c1 SIOCSLIFPHYECN = 0x802069c7 SIOCSLIFPHYRTABLE = 0x802069a1 SIOCSLIFPHYTTL = 0x802069a8 SIOCSPGRP = 0x80047308 SIOCSPWE3CTRLWORD = 0x802069dc SIOCSPWE3FAT = 0x802069dd SIOCSPWE3NEIGHBOR = 0x821869de SIOCSRXHPRIO = 0x802069db SIOCSSPPPPARAMS = 0x80206993 SIOCSTXHPRIO = 0x802069c5 SIOCSUMBPARAM = 0x802069bf SIOCSVH = 0xc02069f5 SIOCSVNETFLOWID = 0x802069c3 SIOCSVNETID = 0x802069a6 SOCK_CLOEXEC = 0x8000 SOCK_DGRAM = 0x2 SOCK_DNS = 0x1000 SOCK_NONBLOCK = 0x4000 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_DOMAIN = 0x1024 SO_DONTROUTE = 0x10 SO_ERROR = 0x1007 SO_KEEPALIVE = 0x8 SO_LINGER = 0x80 SO_NETPROC = 0x1020 SO_OOBINLINE = 0x100 SO_PEERCRED = 0x1022 SO_PROTOCOL = 0x1025 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 SO_ZEROIZE = 0x2000 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_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 TCIOFF = 0x3 TCIOFLUSH = 0x3 TCION = 0x4 TCOFLUSH = 0x2 TCOOFF = 0x1 TCOON = 0x2 TCPOPT_EOL = 0x0 TCPOPT_MAXSEG = 0x2 TCPOPT_NOP = 0x1 TCPOPT_SACK = 0x5 TCPOPT_SACK_HDR = 0x1010500 TCPOPT_SACK_PERMITTED = 0x4 TCPOPT_SACK_PERMIT_HDR = 0x1010402 TCPOPT_SIGNATURE = 0x13 TCPOPT_TIMESTAMP = 0x8 TCPOPT_TSTAMP_HDR = 0x101080a TCPOPT_WINDOW = 0x3 TCP_INFO = 0x9 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_SACKHOLE_LIMIT = 0x80 TCP_SACK_ENABLE = 0x8 TCSAFLUSH = 0x2 TIMER_ABSTIME = 0x1 TIMER_RELTIME = 0x0 TIOCCBRK = 0x2000747a TIOCCDTR = 0x20007478 TIOCCHKVERAUTH = 0x2000741e TIOCCLRVERAUTH = 0x2000741d 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 TIOCSETVERAUTH = 0x8004741c TIOCSFLAGS = 0x8004745c TIOCSIG = 0x8004745f TIOCSPGRP = 0x80047476 TIOCSTART = 0x2000746e TIOCSTAT = 0x20007465 TIOCSTOP = 0x2000746f TIOCSTSTAMP = 0x8008745a TIOCSWINSZ = 0x80087467 TIOCUCNTL = 0x80047466 TIOCUCNTL_CBRK = 0x7a TIOCUCNTL_SBRK = 0x7b TOSTOP = 0x400000 UTIME_NOW = -0x2 UTIME_OMIT = -0x1 VDISCARD = 0xf VDSUSP = 0xb VEOF = 0x0 VEOL = 0x1 VEOL2 = 0x2 VERASE = 0x3 VINTR = 0x8 VKILL = 0x5 VLNEXT = 0xe VMIN = 0x10 VM_ANONMIN = 0x7 VM_LOADAVG = 0x2 VM_MALLOC_CONF = 0xc VM_MAXID = 0xd VM_MAXSLP = 0xa VM_METER = 0x1 VM_NKMEMPAGES = 0x6 VM_PSSTRINGS = 0x3 VM_SWAPENCRYPT = 0x5 VM_USPACE = 0xb VM_UVMEXP = 0x4 VM_VNODEMIN = 0x9 VM_VTEXTMIN = 0x8 VQUIT = 0x9 VREPRINT = 0x6 VSTART = 0xc VSTATUS = 0x12 VSTOP = 0xd VSUSP = 0xa VTIME = 0x11 VWERASE = 0x4 WALTSIG = 0x4 WCONTINUED = 0x8 WCOREFLAG = 0x80 WNOHANG = 0x1 WUNTRACED = 0x2 XCASE = 0x1000000 ) // 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(0x5c) 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(0x5f) 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) ENOTRECOVERABLE = syscall.Errno(0x5d) ENOTSOCK = syscall.Errno(0x26) ENOTSUP = syscall.Errno(0x5b) ENOTTY = syscall.Errno(0x19) ENXIO = syscall.Errno(0x6) EOPNOTSUPP = syscall.Errno(0x2d) EOVERFLOW = syscall.Errno(0x57) EOWNERDEAD = syscall.Errno(0x5e) 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(0x5f) 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 errorList = [...]struct { num syscall.Errno name string desc string }{ {1, "EPERM", "operation not permitted"}, {2, "ENOENT", "no such file or directory"}, {3, "ESRCH", "no such process"}, {4, "EINTR", "interrupted system call"}, {5, "EIO", "input/output error"}, {6, "ENXIO", "device not configured"}, {7, "E2BIG", "argument list too long"}, {8, "ENOEXEC", "exec format error"}, {9, "EBADF", "bad file descriptor"}, {10, "ECHILD", "no child processes"}, {11, "EDEADLK", "resource deadlock avoided"}, {12, "ENOMEM", "cannot allocate memory"}, {13, "EACCES", "permission denied"}, {14, "EFAULT", "bad address"}, {15, "ENOTBLK", "block device required"}, {16, "EBUSY", "device busy"}, {17, "EEXIST", "file exists"}, {18, "EXDEV", "cross-device link"}, {19, "ENODEV", "operation not supported by device"}, {20, "ENOTDIR", "not a directory"}, {21, "EISDIR", "is a directory"}, {22, "EINVAL", "invalid argument"}, {23, "ENFILE", "too many open files in system"}, {24, "EMFILE", "too many open files"}, {25, "ENOTTY", "inappropriate ioctl for device"}, {26, "ETXTBSY", "text file busy"}, {27, "EFBIG", "file too large"}, {28, "ENOSPC", "no space left on device"}, {29, "ESPIPE", "illegal seek"}, {30, "EROFS", "read-only file system"}, {31, "EMLINK", "too many links"}, {32, "EPIPE", "broken pipe"}, {33, "EDOM", "numerical argument out of domain"}, {34, "ERANGE", "result too large"}, {35, "EAGAIN", "resource temporarily unavailable"}, {36, "EINPROGRESS", "operation now in progress"}, {37, "EALREADY", "operation already in progress"}, {38, "ENOTSOCK", "socket operation on non-socket"}, {39, "EDESTADDRREQ", "destination address required"}, {40, "EMSGSIZE", "message too long"}, {41, "EPROTOTYPE", "protocol wrong type for socket"}, {42, "ENOPROTOOPT", "protocol not available"}, {43, "EPROTONOSUPPORT", "protocol not supported"}, {44, "ESOCKTNOSUPPORT", "socket type not supported"}, {45, "EOPNOTSUPP", "operation not supported"}, {46, "EPFNOSUPPORT", "protocol family not supported"}, {47, "EAFNOSUPPORT", "address family not supported by protocol family"}, {48, "EADDRINUSE", "address already in use"}, {49, "EADDRNOTAVAIL", "can't assign requested address"}, {50, "ENETDOWN", "network is down"}, {51, "ENETUNREACH", "network is unreachable"}, {52, "ENETRESET", "network dropped connection on reset"}, {53, "ECONNABORTED", "software caused connection abort"}, {54, "ECONNRESET", "connection reset by peer"}, {55, "ENOBUFS", "no buffer space available"}, {56, "EISCONN", "socket is already connected"}, {57, "ENOTCONN", "socket is not connected"}, {58, "ESHUTDOWN", "can't send after socket shutdown"}, {59, "ETOOMANYREFS", "too many references: can't splice"}, {60, "ETIMEDOUT", "operation timed out"}, {61, "ECONNREFUSED", "connection refused"}, {62, "ELOOP", "too many levels of symbolic links"}, {63, "ENAMETOOLONG", "file name too long"}, {64, "EHOSTDOWN", "host is down"}, {65, "EHOSTUNREACH", "no route to host"}, {66, "ENOTEMPTY", "directory not empty"}, {67, "EPROCLIM", "too many processes"}, {68, "EUSERS", "too many users"}, {69, "EDQUOT", "disk quota exceeded"}, {70, "ESTALE", "stale NFS file handle"}, {71, "EREMOTE", "too many levels of remote in path"}, {72, "EBADRPC", "RPC struct is bad"}, {73, "ERPCMISMATCH", "RPC version wrong"}, {74, "EPROGUNAVAIL", "RPC program not available"}, {75, "EPROGMISMATCH", "program version wrong"}, {76, "EPROCUNAVAIL", "bad procedure for program"}, {77, "ENOLCK", "no locks available"}, {78, "ENOSYS", "function not implemented"}, {79, "EFTYPE", "inappropriate file type or format"}, {80, "EAUTH", "authentication error"}, {81, "ENEEDAUTH", "need authenticator"}, {82, "EIPSEC", "IPsec processing failure"}, {83, "ENOATTR", "attribute not found"}, {84, "EILSEQ", "illegal byte sequence"}, {85, "ENOMEDIUM", "no medium found"}, {86, "EMEDIUMTYPE", "wrong medium type"}, {87, "EOVERFLOW", "value too large to be stored in data type"}, {88, "ECANCELED", "operation canceled"}, {89, "EIDRM", "identifier removed"}, {90, "ENOMSG", "no message of desired type"}, {91, "ENOTSUP", "not supported"}, {92, "EBADMSG", "bad message"}, {93, "ENOTRECOVERABLE", "state not recoverable"}, {94, "EOWNERDEAD", "previous owner died"}, {95, "ELAST", "protocol error"}, } // Signal table var signalList = [...]struct { num syscall.Signal name string desc string }{ {1, "SIGHUP", "hangup"}, {2, "SIGINT", "interrupt"}, {3, "SIGQUIT", "quit"}, {4, "SIGILL", "illegal instruction"}, {5, "SIGTRAP", "trace/BPT trap"}, {6, "SIGIOT", "abort trap"}, {7, "SIGEMT", "EMT trap"}, {8, "SIGFPE", "floating point exception"}, {9, "SIGKILL", "killed"}, {10, "SIGBUS", "bus error"}, {11, "SIGSEGV", "segmentation fault"}, {12, "SIGSYS", "bad system call"}, {13, "SIGPIPE", "broken pipe"}, {14, "SIGALRM", "alarm clock"}, {15, "SIGTERM", "terminated"}, {16, "SIGURG", "urgent I/O condition"}, {17, "SIGSTOP", "suspended (signal)"}, {18, "SIGTSTP", "suspended"}, {19, "SIGCONT", "continued"}, {20, "SIGCHLD", "child exited"}, {21, "SIGTTIN", "stopped (tty input)"}, {22, "SIGTTOU", "stopped (tty output)"}, {23, "SIGIO", "I/O possible"}, {24, "SIGXCPU", "cputime limit exceeded"}, {25, "SIGXFSZ", "filesize limit exceeded"}, {26, "SIGVTALRM", "virtual timer expired"}, {27, "SIGPROF", "profiling timer expired"}, {28, "SIGWINCH", "window size changes"}, {29, "SIGINFO", "information request"}, {30, "SIGUSR1", "user defined signal 1"}, {31, "SIGUSR2", "user defined signal 2"}, {32, "SIGTHR", "thread AST"}, {28672, "SIGSTKSZ", "unknown signal"}, } dependencies/pkg/mod/golang.org/x/sys@v0.26.0/unix/gccgo_linux_amd64.go0000644000000000000000000000066415107355264024442 0ustar rootroot// 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: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 } dependencies/pkg/mod/golang.org/x/sys@v0.26.0/unix/zerrors_darwin_amd64.go0000644000000000000000000026002415107355264025211 0ustar rootroot// mkerrors.sh -m64 // Code generated by the command above; see README.md. DO NOT EDIT. //go:build amd64 && darwin // Code generated by cmd/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 = 0x29 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_SYS_CONTROL = 0x2 AF_UNIX = 0x1 AF_UNSPEC = 0x0 AF_UTUN = 0x26 AF_VSOCK = 0x28 ALTWERASE = 0x200 ATTR_BIT_MAP_COUNT = 0x5 ATTR_CMN_ACCESSMASK = 0x20000 ATTR_CMN_ACCTIME = 0x1000 ATTR_CMN_ADDEDTIME = 0x10000000 ATTR_CMN_BKUPTIME = 0x2000 ATTR_CMN_CHGTIME = 0x800 ATTR_CMN_CRTIME = 0x200 ATTR_CMN_DATA_PROTECT_FLAGS = 0x40000000 ATTR_CMN_DEVID = 0x2 ATTR_CMN_DOCUMENT_ID = 0x100000 ATTR_CMN_ERROR = 0x20000000 ATTR_CMN_EXTENDED_SECURITY = 0x400000 ATTR_CMN_FILEID = 0x2000000 ATTR_CMN_FLAGS = 0x40000 ATTR_CMN_FNDRINFO = 0x4000 ATTR_CMN_FSID = 0x4 ATTR_CMN_FULLPATH = 0x8000000 ATTR_CMN_GEN_COUNT = 0x80000 ATTR_CMN_GRPID = 0x10000 ATTR_CMN_GRPUUID = 0x1000000 ATTR_CMN_MODTIME = 0x400 ATTR_CMN_NAME = 0x1 ATTR_CMN_NAMEDATTRCOUNT = 0x80000 ATTR_CMN_NAMEDATTRLIST = 0x100000 ATTR_CMN_OBJID = 0x20 ATTR_CMN_OBJPERMANENTID = 0x40 ATTR_CMN_OBJTAG = 0x10 ATTR_CMN_OBJTYPE = 0x8 ATTR_CMN_OWNERID = 0x8000 ATTR_CMN_PARENTID = 0x4000000 ATTR_CMN_PAROBJID = 0x80 ATTR_CMN_RETURNED_ATTRS = 0x80000000 ATTR_CMN_SCRIPT = 0x100 ATTR_CMN_SETMASK = 0x51c7ff00 ATTR_CMN_USERACCESS = 0x200000 ATTR_CMN_UUID = 0x800000 ATTR_CMN_VALIDMASK = 0xffffffff ATTR_CMN_VOLSETMASK = 0x6700 ATTR_FILE_ALLOCSIZE = 0x4 ATTR_FILE_CLUMPSIZE = 0x10 ATTR_FILE_DATAALLOCSIZE = 0x400 ATTR_FILE_DATAEXTENTS = 0x800 ATTR_FILE_DATALENGTH = 0x200 ATTR_FILE_DEVTYPE = 0x20 ATTR_FILE_FILETYPE = 0x40 ATTR_FILE_FORKCOUNT = 0x80 ATTR_FILE_FORKLIST = 0x100 ATTR_FILE_IOBLOCKSIZE = 0x8 ATTR_FILE_LINKCOUNT = 0x1 ATTR_FILE_RSRCALLOCSIZE = 0x2000 ATTR_FILE_RSRCEXTENTS = 0x4000 ATTR_FILE_RSRCLENGTH = 0x1000 ATTR_FILE_SETMASK = 0x20 ATTR_FILE_TOTALSIZE = 0x2 ATTR_FILE_VALIDMASK = 0x37ff ATTR_VOL_ALLOCATIONCLUMP = 0x40 ATTR_VOL_ATTRIBUTES = 0x40000000 ATTR_VOL_CAPABILITIES = 0x20000 ATTR_VOL_DIRCOUNT = 0x400 ATTR_VOL_ENCODINGSUSED = 0x10000 ATTR_VOL_FILECOUNT = 0x200 ATTR_VOL_FSTYPE = 0x1 ATTR_VOL_INFO = 0x80000000 ATTR_VOL_IOBLOCKSIZE = 0x80 ATTR_VOL_MAXOBJCOUNT = 0x800 ATTR_VOL_MINALLOCATION = 0x20 ATTR_VOL_MOUNTEDDEVICE = 0x8000 ATTR_VOL_MOUNTFLAGS = 0x4000 ATTR_VOL_MOUNTPOINT = 0x1000 ATTR_VOL_NAME = 0x2000 ATTR_VOL_OBJCOUNT = 0x100 ATTR_VOL_QUOTA_SIZE = 0x10000000 ATTR_VOL_RESERVED_SIZE = 0x20000000 ATTR_VOL_SETMASK = 0x80002000 ATTR_VOL_SIGNATURE = 0x2 ATTR_VOL_SIZE = 0x4 ATTR_VOL_SPACEAVAIL = 0x10 ATTR_VOL_SPACEFREE = 0x8 ATTR_VOL_SPACEUSED = 0x800000 ATTR_VOL_UUID = 0x40000 ATTR_VOL_VALIDMASK = 0xf087ffff 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 BS0 = 0x0 BS1 = 0x8000 BSDLY = 0x8000 CFLUSH = 0xf CLOCAL = 0x8000 CLOCK_MONOTONIC = 0x6 CLOCK_MONOTONIC_RAW = 0x4 CLOCK_MONOTONIC_RAW_APPROX = 0x5 CLOCK_PROCESS_CPUTIME_ID = 0xc CLOCK_REALTIME = 0x0 CLOCK_THREAD_CPUTIME_ID = 0x10 CLOCK_UPTIME_RAW = 0x8 CLOCK_UPTIME_RAW_APPROX = 0x9 CLONE_NOFOLLOW = 0x1 CLONE_NOOWNERCOPY = 0x2 CONNECT_DATA_AUTHENTICATED = 0x4 CONNECT_DATA_IDEMPOTENT = 0x2 CONNECT_RESUME_ON_READ_WRITE = 0x1 CR0 = 0x0 CR1 = 0x1000 CR2 = 0x2000 CR3 = 0x3000 CRDLY = 0x3000 CREAD = 0x800 CRTSCTS = 0x30000 CS5 = 0x0 CS6 = 0x100 CS7 = 0x200 CS8 = 0x300 CSIZE = 0x300 CSTART = 0x11 CSTATUS = 0x14 CSTOP = 0x13 CSTOPB = 0x400 CSUSP = 0x1a CTLIOCGINFO = 0xc0644e03 CTL_HW = 0x6 CTL_KERN = 0x1 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 = 0x10a 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_DARWIN = 0x10a 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_EXCEPT = -0xf EVFILT_FS = -0x9 EVFILT_MACHPORT = -0x8 EVFILT_PROC = -0x5 EVFILT_READ = -0x1 EVFILT_SIGNAL = -0x6 EVFILT_SYSCOUNT = 0x11 EVFILT_THREADMARKER = 0x11 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_DISPATCH2 = 0x180 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 EV_UDATA_SPECIFIC = 0x100 EV_VANISHED = 0x200 EXTA = 0x4b00 EXTB = 0x9600 EXTPROC = 0x800 FD_CLOEXEC = 0x1 FD_SETSIZE = 0x400 FF0 = 0x0 FF1 = 0x4000 FFDLY = 0x4000 FLUSHO = 0x800000 FSOPT_ATTR_CMN_EXTENDED = 0x20 FSOPT_NOFOLLOW = 0x1 FSOPT_NOINMEMUPDATE = 0x2 FSOPT_PACK_INVAL_ATTRS = 0x8 FSOPT_REPORT_FULLSIZE = 0x4 FSOPT_RETURN_REALDEV = 0x200 F_ADDFILESIGS = 0x3d F_ADDFILESIGS_FOR_DYLD_SIM = 0x53 F_ADDFILESIGS_INFO = 0x67 F_ADDFILESIGS_RETURN = 0x61 F_ADDFILESUPPL = 0x68 F_ADDSIGS = 0x3b F_ALLOCATEALL = 0x4 F_ALLOCATECONTIG = 0x2 F_BARRIERFSYNC = 0x55 F_CHECK_LV = 0x62 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_GETPATH_NOFIRMLINK = 0x66 F_GETPROTECTIONCLASS = 0x3f F_GETPROTECTIONLEVEL = 0x4d F_GETSIGSINFO = 0x69 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_PUNCHHOLE = 0x63 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_SPECULATIVE_READ = 0x65 F_THAW_FS = 0x36 F_TRANSCODEKEY = 0x4b F_TRIM_ACTIVE_FILE = 0x64 F_UNLCK = 0x2 F_VOLPOSMODE = 0x4 F_WRLCK = 0x3 HUPCL = 0x4000 HW_MACHINE = 0x1 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_6LOWPAN = 0x40 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 IOCTL_VM_SOCKETS_GET_LOCAL_CID = 0x400473d1 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_3542DSTOPTS = 0x32 IPV6_3542HOPLIMIT = 0x2f IPV6_3542HOPOPTS = 0x31 IPV6_3542NEXTHOP = 0x30 IPV6_3542PKTINFO = 0x2e IPV6_3542RTHDR = 0x33 IPV6_ADDR_MC_FLAGS_PREFIX = 0x20 IPV6_ADDR_MC_FLAGS_TRANSIENT = 0x10 IPV6_ADDR_MC_FLAGS_UNICAST_BASED = 0x30 IPV6_AUTOFLOWLABEL = 0x3b IPV6_BINDV6ONLY = 0x1b IPV6_BOUND_IF = 0x7d 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_FLOW_ECN_MASK = 0x3000 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_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 = 0x3d IPV6_RECVRTHDR = 0x26 IPV6_RECVTCLASS = 0x23 IPV6_RTHDR = 0x33 IPV6_RTHDRDSTOPTS = 0x39 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_USE_MIN_MTU = 0x2a 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_DONTFRAG = 0x1c 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_RECVTOS = 0x1b 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 KERN_HOSTNAME = 0xa KERN_OSRELEASE = 0x2 KERN_OSTYPE = 0x1 KERN_VERSION = 0x4 LOCAL_PEERCRED = 0x1 LOCAL_PEEREPID = 0x3 LOCAL_PEEREUUID = 0x5 LOCAL_PEERPID = 0x2 LOCAL_PEERTOKEN = 0x6 LOCAL_PEERUUID = 0x4 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_PAGEOUT = 0xa MADV_RANDOM = 0x1 MADV_SEQUENTIAL = 0x2 MADV_WILLNEED = 0x3 MADV_ZERO_WIRED_PAGES = 0x6 MAP_32BIT = 0x8000 MAP_ANON = 0x1000 MAP_ANONYMOUS = 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_RESILIENT_CODESIGN = 0x2000 MAP_RESILIENT_MEDIA = 0x4000 MAP_SHARED = 0x1 MAP_TRANSLATED_ALLOW_EXECUTE = 0x20000 MAP_UNIX03 = 0x40000 MCAST_BLOCK_SOURCE = 0x54 MCAST_EXCLUDE = 0x2 MCAST_INCLUDE = 0x1 MCAST_JOIN_GROUP = 0x50 MCAST_JOIN_SOURCE_GROUP = 0x52 MCAST_LEAVE_GROUP = 0x51 MCAST_LEAVE_SOURCE_GROUP = 0x53 MCAST_UNBLOCK_SOURCE = 0x55 MCAST_UNDEFINED = 0x0 MCL_CURRENT = 0x1 MCL_FUTURE = 0x2 MNT_ASYNC = 0x40 MNT_AUTOMOUNTED = 0x400000 MNT_CMDFLAGS = 0xf0000 MNT_CPROTECT = 0x80 MNT_DEFWRITE = 0x2000000 MNT_DONTBROWSE = 0x100000 MNT_DOVOLFS = 0x8000 MNT_DWAIT = 0x4 MNT_EXPORTED = 0x100 MNT_EXT_ROOT_DATA_VOL = 0x1 MNT_FORCE = 0x80000 MNT_IGNORE_OWNERSHIP = 0x200000 MNT_JOURNALED = 0x800000 MNT_LOCAL = 0x1000 MNT_MULTILABEL = 0x4000000 MNT_NOATIME = 0x10000000 MNT_NOBLOCK = 0x20000 MNT_NODEV = 0x10 MNT_NOEXEC = 0x4 MNT_NOSUID = 0x8 MNT_NOUSERXATTR = 0x1000000 MNT_NOWAIT = 0x2 MNT_QUARANTINE = 0x400 MNT_QUOTA = 0x2000 MNT_RDONLY = 0x1 MNT_RELOAD = 0x40000 MNT_REMOVABLE = 0x200 MNT_ROOTFS = 0x4000 MNT_SNAPSHOT = 0x40000000 MNT_STRICTATIME = 0x80000000 MNT_SYNCHRONOUS = 0x2 MNT_UNION = 0x20 MNT_UNKNOWNPERMISSIONS = 0x200000 MNT_UPDATE = 0x10000 MNT_VISFLAGMASK = 0xd7f0f7ff MNT_WAIT = 0x1 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_NOSIGNAL = 0x80000 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_FLAGS_PRIV = 0xa NET_RT_IFLIST = 0x3 NET_RT_IFLIST2 = 0x6 NET_RT_MAXID = 0xb NET_RT_STAT = 0x4 NET_RT_TRASH = 0x5 NFDBITS = 0x20 NL0 = 0x0 NL1 = 0x100 NL2 = 0x200 NL3 = 0x300 NLDLY = 0x300 NOFLSH = 0x80000000 NOKERNINFO = 0x2000000 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_FUNLOCK = 0x100 NOTE_LEEWAY = 0x10 NOTE_LINK = 0x10 NOTE_LOWAT = 0x1 NOTE_MACHTIME = 0x100 NOTE_MACH_CONTINUOUS_TIME = 0x80 NOTE_NONE = 0x80 NOTE_NSECONDS = 0x4 NOTE_OOB = 0x2 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 OXTABS = 0x4 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_DP_GETRAWUNENCRYPTED = 0x2 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_NOFOLLOW_ANY = 0x20000000 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 RENAME_EXCL = 0x4 RENAME_NOFOLLOW_ANY = 0x10 RENAME_RESERVED1 = 0x8 RENAME_SECLUDE = 0x1 RENAME_SWAP = 0x2 RLIMIT_AS = 0x5 RLIMIT_CORE = 0x4 RLIMIT_CPU = 0x0 RLIMIT_CPU_USAGE_MONITOR = 0x2 RLIMIT_DATA = 0x2 RLIMIT_FSIZE = 0x1 RLIMIT_MEMLOCK = 0x6 RLIMIT_NOFILE = 0x8 RLIMIT_NPROC = 0x7 RLIMIT_RSS = 0x5 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_DEAD = 0x20000000 RTF_DELCLONE = 0x80 RTF_DONE = 0x40 RTF_DYNAMIC = 0x10 RTF_GATEWAY = 0x2 RTF_GLOBAL = 0x40000000 RTF_HOST = 0x4 RTF_IFREF = 0x4000000 RTF_IFSCOPE = 0x1000000 RTF_LLDATA = 0x400 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 SAE_ASSOCID_ALL = 0xffffffff SAE_ASSOCID_ANY = 0x0 SAE_CONNID_ALL = 0xffffffff SAE_CONNID_ANY = 0x0 SCM_CREDS = 0x3 SCM_RIGHTS = 0x1 SCM_TIMESTAMP = 0x2 SCM_TIMESTAMP_MONOTONIC = 0x4 SEEK_CUR = 0x1 SEEK_DATA = 0x4 SEEK_END = 0x2 SEEK_HOLE = 0x3 SEEK_SET = 0x0 SF_APPEND = 0x40000 SF_ARCHIVED = 0x10000 SF_DATALESS = 0x40000000 SF_FIRMLINK = 0x800000 SF_IMMUTABLE = 0x20000 SF_NOUNLINK = 0x100000 SF_RESTRICTED = 0x80000 SF_SETTABLE = 0x3fff0000 SF_SUPPORTED = 0x9f0000 SF_SYNTHETIC = 0xc0000000 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 SIOCGIF6LOWPAN = 0xc02069c5 SIOCGIFADDR = 0xc0206921 SIOCGIFALTMTU = 0xc0206948 SIOCGIFASYNCMAP = 0xc020697c SIOCGIFBOND = 0xc0206947 SIOCGIFBRDADDR = 0xc0206923 SIOCGIFCAP = 0xc020695b SIOCGIFCONF = 0xc00c6924 SIOCGIFDEVMTU = 0xc0206944 SIOCGIFDSTADDR = 0xc0206922 SIOCGIFFLAGS = 0xc0206911 SIOCGIFFUNCTIONALTYPE = 0xc02069ad 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 SIOCGIFXMEDIA = 0xc02c6948 SIOCGLOWAT = 0x40047303 SIOCGPGRP = 0x40047309 SIOCIFCREATE = 0xc0206978 SIOCIFCREATE2 = 0xc020697a SIOCIFDESTROY = 0x80206979 SIOCIFGCLONERS = 0xc0106981 SIOCRSLVMULTI = 0xc010693b SIOCSDRVSPEC = 0x8028697b SIOCSETVLAN = 0x8020697e SIOCSHIWAT = 0x80047300 SIOCSIF6LOWPAN = 0x802069c4 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_LOCAL = 0x0 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_NETSVC_MARKING_LEVEL = 0x1119 SO_NET_SERVICE_TYPE = 0x1116 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_TRACKER_ATTRIBUTE_FLAGS_APP_APPROVED = 0x1 SO_TRACKER_ATTRIBUTE_FLAGS_DOMAIN_SHORT = 0x4 SO_TRACKER_ATTRIBUTE_FLAGS_TRACKER = 0x2 SO_TRACKER_TRANSPARENCY_VERSION = 0x3 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 TAB0 = 0x0 TAB1 = 0x400 TAB2 = 0x800 TAB3 = 0x4 TABDLY = 0xc04 TCIFLUSH = 0x1 TCIOFF = 0x3 TCIOFLUSH = 0x3 TCION = 0x4 TCOFLUSH = 0x2 TCOOFF = 0x1 TCOON = 0x2 TCPOPT_CC = 0xb TCPOPT_CCECHO = 0xd TCPOPT_CCNEW = 0xc TCPOPT_EOL = 0x0 TCPOPT_FASTOPEN = 0x22 TCPOPT_MAXSEG = 0x2 TCPOPT_NOP = 0x1 TCPOPT_SACK = 0x5 TCPOPT_SACK_HDR = 0x1010500 TCPOPT_SACK_PERMITTED = 0x4 TCPOPT_SACK_PERMIT_HDR = 0x1010402 TCPOPT_SIGNATURE = 0x13 TCPOPT_TIMESTAMP = 0x8 TCPOPT_TSTAMP_HDR = 0x101080a TCPOPT_WINDOW = 0x3 TCP_CONNECTIONTIMEOUT = 0x20 TCP_CONNECTION_INFO = 0x106 TCP_ENABLE_ECN = 0x104 TCP_FASTOPEN = 0x105 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 UF_APPEND = 0x4 UF_COMPRESSED = 0x20 UF_DATAVAULT = 0x80 UF_HIDDEN = 0x8000 UF_IMMUTABLE = 0x2 UF_NODUMP = 0x1 UF_OPAQUE = 0x8 UF_SETTABLE = 0xffff UF_TRACKED = 0x40 VDISCARD = 0xf VDSUSP = 0xb VEOF = 0x0 VEOL = 0x1 VEOL2 = 0x2 VERASE = 0x3 VINTR = 0x8 VKILL = 0x5 VLNEXT = 0xe VMADDR_CID_ANY = 0xffffffff VMADDR_CID_HOST = 0x2 VMADDR_CID_HYPERVISOR = 0x0 VMADDR_CID_RESERVED = 0x1 VMADDR_PORT_ANY = 0xffffffff VMIN = 0x10 VM_LOADAVG = 0x2 VM_MACHFACTOR = 0x4 VM_MAXID = 0x6 VM_METER = 0x1 VM_SWAPUSAGE = 0x5 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 XATTR_CREATE = 0x2 XATTR_NODEFAULT = 0x10 XATTR_NOFOLLOW = 0x1 XATTR_NOSECURITY = 0x8 XATTR_REPLACE = 0x4 XATTR_SHOWCOMPRESSION = 0x20 ) // 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 errorList = [...]struct { num syscall.Errno name string desc string }{ {1, "EPERM", "operation not permitted"}, {2, "ENOENT", "no such file or directory"}, {3, "ESRCH", "no such process"}, {4, "EINTR", "interrupted system call"}, {5, "EIO", "input/output error"}, {6, "ENXIO", "device not configured"}, {7, "E2BIG", "argument list too long"}, {8, "ENOEXEC", "exec format error"}, {9, "EBADF", "bad file descriptor"}, {10, "ECHILD", "no child processes"}, {11, "EDEADLK", "resource deadlock avoided"}, {12, "ENOMEM", "cannot allocate memory"}, {13, "EACCES", "permission denied"}, {14, "EFAULT", "bad address"}, {15, "ENOTBLK", "block device required"}, {16, "EBUSY", "resource busy"}, {17, "EEXIST", "file exists"}, {18, "EXDEV", "cross-device link"}, {19, "ENODEV", "operation not supported by device"}, {20, "ENOTDIR", "not a directory"}, {21, "EISDIR", "is a directory"}, {22, "EINVAL", "invalid argument"}, {23, "ENFILE", "too many open files in system"}, {24, "EMFILE", "too many open files"}, {25, "ENOTTY", "inappropriate ioctl for device"}, {26, "ETXTBSY", "text file busy"}, {27, "EFBIG", "file too large"}, {28, "ENOSPC", "no space left on device"}, {29, "ESPIPE", "illegal seek"}, {30, "EROFS", "read-only file system"}, {31, "EMLINK", "too many links"}, {32, "EPIPE", "broken pipe"}, {33, "EDOM", "numerical argument out of domain"}, {34, "ERANGE", "result too large"}, {35, "EAGAIN", "resource temporarily unavailable"}, {36, "EINPROGRESS", "operation now in progress"}, {37, "EALREADY", "operation already in progress"}, {38, "ENOTSOCK", "socket operation on non-socket"}, {39, "EDESTADDRREQ", "destination address required"}, {40, "EMSGSIZE", "message too long"}, {41, "EPROTOTYPE", "protocol wrong type for socket"}, {42, "ENOPROTOOPT", "protocol not available"}, {43, "EPROTONOSUPPORT", "protocol not supported"}, {44, "ESOCKTNOSUPPORT", "socket type not supported"}, {45, "ENOTSUP", "operation not supported"}, {46, "EPFNOSUPPORT", "protocol family not supported"}, {47, "EAFNOSUPPORT", "address family not supported by protocol family"}, {48, "EADDRINUSE", "address already in use"}, {49, "EADDRNOTAVAIL", "can't assign requested address"}, {50, "ENETDOWN", "network is down"}, {51, "ENETUNREACH", "network is unreachable"}, {52, "ENETRESET", "network dropped connection on reset"}, {53, "ECONNABORTED", "software caused connection abort"}, {54, "ECONNRESET", "connection reset by peer"}, {55, "ENOBUFS", "no buffer space available"}, {56, "EISCONN", "socket is already connected"}, {57, "ENOTCONN", "socket is not connected"}, {58, "ESHUTDOWN", "can't send after socket shutdown"}, {59, "ETOOMANYREFS", "too many references: can't splice"}, {60, "ETIMEDOUT", "operation timed out"}, {61, "ECONNREFUSED", "connection refused"}, {62, "ELOOP", "too many levels of symbolic links"}, {63, "ENAMETOOLONG", "file name too long"}, {64, "EHOSTDOWN", "host is down"}, {65, "EHOSTUNREACH", "no route to host"}, {66, "ENOTEMPTY", "directory not empty"}, {67, "EPROCLIM", "too many processes"}, {68, "EUSERS", "too many users"}, {69, "EDQUOT", "disc quota exceeded"}, {70, "ESTALE", "stale NFS file handle"}, {71, "EREMOTE", "too many levels of remote in path"}, {72, "EBADRPC", "RPC struct is bad"}, {73, "ERPCMISMATCH", "RPC version wrong"}, {74, "EPROGUNAVAIL", "RPC prog. not avail"}, {75, "EPROGMISMATCH", "program version wrong"}, {76, "EPROCUNAVAIL", "bad procedure for program"}, {77, "ENOLCK", "no locks available"}, {78, "ENOSYS", "function not implemented"}, {79, "EFTYPE", "inappropriate file type or format"}, {80, "EAUTH", "authentication error"}, {81, "ENEEDAUTH", "need authenticator"}, {82, "EPWROFF", "device power is off"}, {83, "EDEVERR", "device error"}, {84, "EOVERFLOW", "value too large to be stored in data type"}, {85, "EBADEXEC", "bad executable (or shared library)"}, {86, "EBADARCH", "bad CPU type in executable"}, {87, "ESHLIBVERS", "shared library version mismatch"}, {88, "EBADMACHO", "malformed Mach-o file"}, {89, "ECANCELED", "operation canceled"}, {90, "EIDRM", "identifier removed"}, {91, "ENOMSG", "no message of desired type"}, {92, "EILSEQ", "illegal byte sequence"}, {93, "ENOATTR", "attribute not found"}, {94, "EBADMSG", "bad message"}, {95, "EMULTIHOP", "EMULTIHOP (Reserved)"}, {96, "ENODATA", "no message available on STREAM"}, {97, "ENOLINK", "ENOLINK (Reserved)"}, {98, "ENOSR", "no STREAM resources"}, {99, "ENOSTR", "not a STREAM"}, {100, "EPROTO", "protocol error"}, {101, "ETIME", "STREAM ioctl timeout"}, {102, "EOPNOTSUPP", "operation not supported on socket"}, {103, "ENOPOLICY", "policy not found"}, {104, "ENOTRECOVERABLE", "state not recoverable"}, {105, "EOWNERDEAD", "previous owner died"}, {106, "EQFULL", "interface output queue is full"}, } // Signal table var signalList = [...]struct { num syscall.Signal name string desc string }{ {1, "SIGHUP", "hangup"}, {2, "SIGINT", "interrupt"}, {3, "SIGQUIT", "quit"}, {4, "SIGILL", "illegal instruction"}, {5, "SIGTRAP", "trace/BPT trap"}, {6, "SIGABRT", "abort trap"}, {7, "SIGEMT", "EMT trap"}, {8, "SIGFPE", "floating point exception"}, {9, "SIGKILL", "killed"}, {10, "SIGBUS", "bus error"}, {11, "SIGSEGV", "segmentation fault"}, {12, "SIGSYS", "bad system call"}, {13, "SIGPIPE", "broken pipe"}, {14, "SIGALRM", "alarm clock"}, {15, "SIGTERM", "terminated"}, {16, "SIGURG", "urgent I/O condition"}, {17, "SIGSTOP", "suspended (signal)"}, {18, "SIGTSTP", "suspended"}, {19, "SIGCONT", "continued"}, {20, "SIGCHLD", "child exited"}, {21, "SIGTTIN", "stopped (tty input)"}, {22, "SIGTTOU", "stopped (tty output)"}, {23, "SIGIO", "I/O possible"}, {24, "SIGXCPU", "cputime limit exceeded"}, {25, "SIGXFSZ", "filesize limit exceeded"}, {26, "SIGVTALRM", "virtual timer expired"}, {27, "SIGPROF", "profiling timer expired"}, {28, "SIGWINCH", "window size changes"}, {29, "SIGINFO", "information request"}, {30, "SIGUSR1", "user defined signal 1"}, {31, "SIGUSR2", "user defined signal 2"}, } dependencies/pkg/mod/golang.org/x/sys@v0.26.0/unix/zsysnum_linux_ppc64.go0000644000000000000000000003445615107355264025137 0ustar rootroot// go run linux/mksysnum.go -Wall -Werror -static -I/tmp/ppc64/include /tmp/ppc64/include/asm/unistd.h // Code generated by the command above; see README.md. DO NOT EDIT. //go: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 SYS_STATX = 383 SYS_PKEY_ALLOC = 384 SYS_PKEY_FREE = 385 SYS_PKEY_MPROTECT = 386 SYS_RSEQ = 387 SYS_IO_PGETEVENTS = 388 SYS_SEMTIMEDOP = 392 SYS_SEMGET = 393 SYS_SEMCTL = 394 SYS_SHMGET = 395 SYS_SHMCTL = 396 SYS_SHMAT = 397 SYS_SHMDT = 398 SYS_MSGGET = 399 SYS_MSGSND = 400 SYS_MSGRCV = 401 SYS_MSGCTL = 402 SYS_PIDFD_SEND_SIGNAL = 424 SYS_IO_URING_SETUP = 425 SYS_IO_URING_ENTER = 426 SYS_IO_URING_REGISTER = 427 SYS_OPEN_TREE = 428 SYS_MOVE_MOUNT = 429 SYS_FSOPEN = 430 SYS_FSCONFIG = 431 SYS_FSMOUNT = 432 SYS_FSPICK = 433 SYS_PIDFD_OPEN = 434 SYS_CLONE3 = 435 SYS_CLOSE_RANGE = 436 SYS_OPENAT2 = 437 SYS_PIDFD_GETFD = 438 SYS_FACCESSAT2 = 439 SYS_PROCESS_MADVISE = 440 SYS_EPOLL_PWAIT2 = 441 SYS_MOUNT_SETATTR = 442 SYS_QUOTACTL_FD = 443 SYS_LANDLOCK_CREATE_RULESET = 444 SYS_LANDLOCK_ADD_RULE = 445 SYS_LANDLOCK_RESTRICT_SELF = 446 SYS_PROCESS_MRELEASE = 448 SYS_FUTEX_WAITV = 449 SYS_SET_MEMPOLICY_HOME_NODE = 450 SYS_CACHESTAT = 451 SYS_FCHMODAT2 = 452 SYS_MAP_SHADOW_STACK = 453 SYS_FUTEX_WAKE = 454 SYS_FUTEX_WAIT = 455 SYS_FUTEX_REQUEUE = 456 SYS_STATMOUNT = 457 SYS_LISTMOUNT = 458 SYS_LSM_GET_SELF_ATTR = 459 SYS_LSM_SET_SELF_ATTR = 460 SYS_LSM_LIST_MODULES = 461 SYS_MSEAL = 462 ) dependencies/pkg/mod/golang.org/x/sys@v0.26.0/unix/sysctl_netbsd_test.go0000644000000000000000000000050715107355264025061 0ustar rootroot// Copyright 2023 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 "testing" func TestSysctlUvmexp(t *testing.T) { uvm, err := SysctlUvmexp("vm.uvmexp2") if err != nil { t.Fatal(err) } t.Logf("%#v", uvm) } dependencies/pkg/mod/golang.org/x/sys@v0.26.0/unix/ioctl_signed.go0000644000000000000000000000431315107355264023604 0ustar rootroot// Copyright 2018 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:build aix || solaris package unix import ( "unsafe" ) // 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 int, value int) error { return ioctl(fd, req, uintptr(value)) } // IoctlSetPointerInt performs an ioctl operation which sets an // integer value on fd, using the specified request number. The ioctl // argument is called with a pointer to the integer value, rather than // passing the integer value directly. func IoctlSetPointerInt(fd int, req int, value int) error { v := int32(value) return ioctlPtr(fd, req, unsafe.Pointer(&v)) } // IoctlSetWinsize performs an ioctl on fd with a *Winsize argument. // // To change fd's window size, the req argument should be TIOCSWINSZ. func IoctlSetWinsize(fd int, req int, value *Winsize) error { // TODO: if we get the chance, remove the req parameter and // hardcode TIOCSWINSZ. return ioctlPtr(fd, req, unsafe.Pointer(value)) } // IoctlSetTermios performs an ioctl on fd with a *Termios. // // The req value will usually be TCSETA or TIOCSETA. func IoctlSetTermios(fd int, req int, value *Termios) error { // TODO: if we get the chance, remove the req parameter. return ioctlPtr(fd, req, unsafe.Pointer(value)) } // IoctlGetInt performs an ioctl operation which gets an integer value // from fd, using the specified request number. // // A few ioctl requests use the return value as an output parameter; // for those, IoctlRetInt should be used instead of this function. func IoctlGetInt(fd int, req int) (int, error) { var value int err := ioctlPtr(fd, req, unsafe.Pointer(&value)) return value, err } func IoctlGetWinsize(fd int, req int) (*Winsize, error) { var value Winsize err := ioctlPtr(fd, req, unsafe.Pointer(&value)) return &value, err } func IoctlGetTermios(fd int, req int) (*Termios, error) { var value Termios err := ioctlPtr(fd, req, unsafe.Pointer(&value)) return &value, err } dependencies/pkg/mod/golang.org/x/sys@v0.26.0/unix/syscall_linux_gc_arm.go0000644000000000000000000000063315107355264025343 0ustar rootroot// 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. //go:build arm && gc && linux package unix import "syscall" // 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) dependencies/pkg/mod/golang.org/x/sys@v0.26.0/unix/zsysnum_linux_mipsle.go0000644000000000000000000004326615107355264025473 0ustar rootroot// go run linux/mksysnum.go -Wall -Werror -static -I/tmp/mipsle/include /tmp/mipsle/include/asm/unistd.h // Code generated by the command above; see README.md. DO NOT EDIT. //go: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 SYS_STATX = 4366 SYS_RSEQ = 4367 SYS_IO_PGETEVENTS = 4368 SYS_SEMGET = 4393 SYS_SEMCTL = 4394 SYS_SHMGET = 4395 SYS_SHMCTL = 4396 SYS_SHMAT = 4397 SYS_SHMDT = 4398 SYS_MSGGET = 4399 SYS_MSGSND = 4400 SYS_MSGRCV = 4401 SYS_MSGCTL = 4402 SYS_CLOCK_GETTIME64 = 4403 SYS_CLOCK_SETTIME64 = 4404 SYS_CLOCK_ADJTIME64 = 4405 SYS_CLOCK_GETRES_TIME64 = 4406 SYS_CLOCK_NANOSLEEP_TIME64 = 4407 SYS_TIMER_GETTIME64 = 4408 SYS_TIMER_SETTIME64 = 4409 SYS_TIMERFD_GETTIME64 = 4410 SYS_TIMERFD_SETTIME64 = 4411 SYS_UTIMENSAT_TIME64 = 4412 SYS_PSELECT6_TIME64 = 4413 SYS_PPOLL_TIME64 = 4414 SYS_IO_PGETEVENTS_TIME64 = 4416 SYS_RECVMMSG_TIME64 = 4417 SYS_MQ_TIMEDSEND_TIME64 = 4418 SYS_MQ_TIMEDRECEIVE_TIME64 = 4419 SYS_SEMTIMEDOP_TIME64 = 4420 SYS_RT_SIGTIMEDWAIT_TIME64 = 4421 SYS_FUTEX_TIME64 = 4422 SYS_SCHED_RR_GET_INTERVAL_TIME64 = 4423 SYS_PIDFD_SEND_SIGNAL = 4424 SYS_IO_URING_SETUP = 4425 SYS_IO_URING_ENTER = 4426 SYS_IO_URING_REGISTER = 4427 SYS_OPEN_TREE = 4428 SYS_MOVE_MOUNT = 4429 SYS_FSOPEN = 4430 SYS_FSCONFIG = 4431 SYS_FSMOUNT = 4432 SYS_FSPICK = 4433 SYS_PIDFD_OPEN = 4434 SYS_CLONE3 = 4435 SYS_CLOSE_RANGE = 4436 SYS_OPENAT2 = 4437 SYS_PIDFD_GETFD = 4438 SYS_FACCESSAT2 = 4439 SYS_PROCESS_MADVISE = 4440 SYS_EPOLL_PWAIT2 = 4441 SYS_MOUNT_SETATTR = 4442 SYS_QUOTACTL_FD = 4443 SYS_LANDLOCK_CREATE_RULESET = 4444 SYS_LANDLOCK_ADD_RULE = 4445 SYS_LANDLOCK_RESTRICT_SELF = 4446 SYS_PROCESS_MRELEASE = 4448 SYS_FUTEX_WAITV = 4449 SYS_SET_MEMPOLICY_HOME_NODE = 4450 SYS_CACHESTAT = 4451 SYS_FCHMODAT2 = 4452 SYS_MAP_SHADOW_STACK = 4453 SYS_FUTEX_WAKE = 4454 SYS_FUTEX_WAIT = 4455 SYS_FUTEX_REQUEUE = 4456 SYS_STATMOUNT = 4457 SYS_LISTMOUNT = 4458 SYS_LSM_GET_SELF_ATTR = 4459 SYS_LSM_SET_SELF_ATTR = 4460 SYS_LSM_LIST_MODULES = 4461 SYS_MSEAL = 4462 ) dependencies/pkg/mod/golang.org/x/sys@v0.26.0/unix/fdset_test.go0000644000000000000000000000241315107355264023304 0ustar rootroot// Copyright 2019 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:build aix || darwin || dragonfly || freebsd || linux || netbsd || openbsd || solaris package unix_test import ( "testing" "golang.org/x/sys/unix" ) func TestFdSet(t *testing.T) { var fdSet unix.FdSet fdSet.Zero() for fd := 0; fd < unix.FD_SETSIZE; fd++ { if fdSet.IsSet(fd) { t.Fatalf("Zero did not clear fd %d", fd) } fdSet.Set(fd) } for fd := 0; fd < unix.FD_SETSIZE; fd++ { if !fdSet.IsSet(fd) { t.Fatalf("IsSet(%d): expected true, got false", fd) } } fdSet.Zero() for fd := 0; fd < unix.FD_SETSIZE; fd++ { if fdSet.IsSet(fd) { t.Fatalf("Zero did not clear fd %d", fd) } } for fd := 1; fd < unix.FD_SETSIZE; fd += 2 { fdSet.Set(fd) } for fd := 0; fd < unix.FD_SETSIZE; fd++ { if fd&0x1 == 0x1 { if !fdSet.IsSet(fd) { t.Fatalf("IsSet(%d): expected true, got false", fd) } } else { if fdSet.IsSet(fd) { t.Fatalf("IsSet(%d): expected false, got true", fd) } } } for fd := 1; fd < unix.FD_SETSIZE; fd += 2 { fdSet.Clear(fd) } for fd := 0; fd < unix.FD_SETSIZE; fd++ { if fdSet.IsSet(fd) { t.Fatalf("Clear(%d) did not clear fd", fd) } } } dependencies/pkg/mod/golang.org/x/sys@v0.26.0/unix/syscall_darwin_test.go0000644000000000000000000001406115107355264025217 0ustar rootroot// Copyright 2018 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_test import ( "bytes" "net" "os" "path/filepath" "testing" "golang.org/x/sys/unix" ) var testData = []byte("This is a test\n") // stringsFromByteSlice converts a sequence of attributes to a []string. // On Darwin, each entry is a NULL-terminated string. func stringsFromByteSlice(buf []byte) []string { var result []string off := 0 for i, b := range buf { if b == 0 { result = append(result, string(buf[off:i])) off = i + 1 } } return result } func createTestFile(t *testing.T) string { filename := filepath.Join(t.TempDir(), t.Name()) err := os.WriteFile(filename, testData, 0600) if err != nil { t.Fatal(err) } return filename } func TestClonefile(t *testing.T) { fileName := createTestFile(t) clonedName := fileName + "-cloned" err := unix.Clonefile(fileName, clonedName, 0) if err == unix.ENOSYS || err == unix.ENOTSUP { t.Skip("clonefile is not available or supported, skipping test") } else if err != nil { t.Fatal(err) } clonedData, err := os.ReadFile(clonedName) if err != nil { t.Fatal(err) } if !bytes.Equal(testData, clonedData) { t.Errorf("Clonefile: got %q, expected %q", clonedData, testData) } } func TestClonefileatWithCwd(t *testing.T) { fileName := createTestFile(t) clonedName := fileName + "-cloned" err := unix.Clonefileat(unix.AT_FDCWD, fileName, unix.AT_FDCWD, clonedName, 0) if err == unix.ENOSYS || err == unix.ENOTSUP { t.Skip("clonefileat is not available or supported, skipping test") } else if err != nil { t.Fatal(err) } clonedData, err := os.ReadFile(clonedName) if err != nil { t.Fatal(err) } if !bytes.Equal(testData, clonedData) { t.Errorf("Clonefileat: got %q, expected %q", clonedData, testData) } } func TestClonefileatWithRelativePaths(t *testing.T) { srcFileName := createTestFile(t) srcDir := filepath.Dir(srcFileName) srcFd, err := unix.Open(srcDir, unix.O_RDONLY|unix.O_DIRECTORY, 0) if err != nil { t.Fatal(err) } defer unix.Close(srcFd) dstDir := t.TempDir() dstFd, err := unix.Open(dstDir, unix.O_RDONLY|unix.O_DIRECTORY, 0) if err != nil { t.Fatal(err) } defer unix.Close(dstFd) dstFile, err := os.Create(filepath.Join(dstDir, "TestClonefileat")) if err != nil { t.Fatal(err) } err = os.Remove(dstFile.Name()) if err != nil { t.Fatal(err) } src := filepath.Base(srcFileName) dst := filepath.Base(dstFile.Name()) err = unix.Clonefileat(srcFd, src, dstFd, dst, 0) if err == unix.ENOSYS || err == unix.ENOTSUP { t.Skip("clonefileat is not available or supported, skipping test") } else if err != nil { t.Fatal(err) } clonedData, err := os.ReadFile(dstFile.Name()) if err != nil { t.Fatal(err) } if !bytes.Equal(testData, clonedData) { t.Errorf("Clonefileat: got %q, expected %q", clonedData, testData) } } func TestFclonefileat(t *testing.T) { fileName := createTestFile(t) dir := filepath.Dir(fileName) fd, err := unix.Open(fileName, unix.O_RDONLY, 0) if err != nil { t.Fatal(err) } defer unix.Close(fd) dstFile, err := os.Create(filepath.Join(dir, "dst")) if err != nil { t.Fatal(err) } os.Remove(dstFile.Name()) err = unix.Fclonefileat(fd, unix.AT_FDCWD, dstFile.Name(), 0) if err == unix.ENOSYS || err == unix.ENOTSUP { t.Skip("clonefileat is not available or supported, skipping test") } else if err != nil { t.Fatal(err) } clonedData, err := os.ReadFile(dstFile.Name()) if err != nil { t.Fatal(err) } if !bytes.Equal(testData, clonedData) { t.Errorf("Fclonefileat: got %q, expected %q", clonedData, testData) } } func TestFcntlFstore(t *testing.T) { f, err := os.CreateTemp(t.TempDir(), t.Name()) if err != nil { t.Fatal(err) } defer f.Close() fstore := &unix.Fstore_t{ Flags: unix.F_ALLOCATEALL, Posmode: unix.F_PEOFPOSMODE, Offset: 0, Length: 1 << 10, } err = unix.FcntlFstore(f.Fd(), unix.F_PREALLOCATE, fstore) if err == unix.EOPNOTSUPP { t.Skipf("fcntl with F_PREALLOCATE not supported, skipping test") } else if err != nil { t.Fatalf("FcntlFstore: %v", err) } st, err := f.Stat() if err != nil { t.Fatal(err) } if st.Size() != 0 { t.Errorf("FcntlFstore: got size = %d, want %d", st.Size(), 0) } } func TestGetsockoptXucred(t *testing.T) { fds, err := unix.Socketpair(unix.AF_LOCAL, unix.SOCK_STREAM, 0) if err != nil { t.Fatalf("Socketpair: %v", err) } srvFile := os.NewFile(uintptr(fds[0]), "server") cliFile := os.NewFile(uintptr(fds[1]), "client") defer srvFile.Close() defer cliFile.Close() srv, err := net.FileConn(srvFile) if err != nil { t.Fatalf("FileConn: %v", err) } defer srv.Close() cli, err := net.FileConn(cliFile) if err != nil { t.Fatalf("FileConn: %v", err) } defer cli.Close() cred, err := unix.GetsockoptXucred(fds[1], unix.SOL_LOCAL, unix.LOCAL_PEERCRED) if err != nil { t.Fatal(err) } t.Logf("got: %+v", cred) if got, want := cred.Uid, os.Getuid(); int(got) != int(want) { t.Errorf("uid = %v; want %v", got, want) } if cred.Ngroups > 0 { if got, want := cred.Groups[0], os.Getgid(); int(got) != int(want) { t.Errorf("gid = %v; want %v", got, want) } } } func TestSysctlKinfoProc(t *testing.T) { pid := unix.Getpid() kp, err := unix.SysctlKinfoProc("kern.proc.pid", pid) if err != nil { t.Fatalf("SysctlKinfoProc: %v", err) } if got, want := int(kp.Proc.P_pid), pid; got != want { t.Errorf("got pid %d, want %d", got, want) } } func TestSysctlKinfoProcSlice(t *testing.T) { kps, err := unix.SysctlKinfoProcSlice("kern.proc.all") if err != nil { t.Fatalf("SysctlKinfoProc: %v", err) } if len(kps) == 0 { t.Errorf("SysctlKinfoProcSlice: expected at least one process") } uid := unix.Getuid() kps, err = unix.SysctlKinfoProcSlice("kern.proc.uid", uid) if err != nil { t.Fatalf("SysctlKinfoProc: %v", err) } if len(kps) == 0 { t.Errorf("SysctlKinfoProcSlice: expected at least one process") } for _, kp := range kps { if got, want := int(kp.Eproc.Ucred.Uid), uid; got != want { t.Errorf("process %d: got uid %d, want %d", kp.Proc.P_pid, got, want) } } } dependencies/pkg/mod/golang.org/x/sys@v0.26.0/unix/darwin_test.go0000644000000000000000000000453615107355264023473 0ustar rootroot// Copyright 2018 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:build darwin package unix import ( "os" "os/exec" "strings" "testing" ) type darwinTest struct { name string f uintptr } // TODO(khr): decide whether to keep this test enabled permanently or // only temporarily. func TestDarwinLoader(t *testing.T) { // Make sure the Darwin dynamic loader can actually resolve // all the system calls into libSystem.dylib. Unfortunately // there is no easy way to test this at compile time. So we // implement a crazy hack here, calling into the syscall // function with all its arguments set to junk, and see what // error we get. We are happy with any error (or none) except // an error from the dynamic loader. // // We have to run each test in a separate subprocess for fault isolation. // // Hopefully the junk args won't accidentally ask the system to do "rm -fr /". // // In an ideal world each syscall would have its own test, so this test // would be unnecessary. Unfortunately, we do not live in that world. exe, err := os.Executable() if err != nil { t.Fatal(err) } for _, test := range darwinTests { // Call the test binary recursively, giving it a magic argument // (see init below) and the name of the test to run. cmd := exec.Command(exe, "testDarwinLoader", test.name) // Run subprocess, collect results. Note that we expect the subprocess // to fail somehow, so the error is irrelevant. out, _ := cmd.CombinedOutput() if strings.Contains(string(out), "dyld: Symbol not found:") { t.Errorf("can't resolve %s in libSystem.dylib", test.name) } if !strings.Contains(string(out), "success") { // Not really an error. Might be a syscall that never returns, // like exit, or one that segfaults, like gettimeofday. t.Logf("test never finished: %s: %s", test.name, string(out)) } } } func init() { // The test binary execs itself with the "testDarwinLoader" argument. // Run the test specified by os.Args[2], then panic. if len(os.Args) >= 3 && os.Args[1] == "testDarwinLoader" { for _, test := range darwinTests { if test.name == os.Args[2] { syscall_syscall(test.f, ^uintptr(0), ^uintptr(0), ^uintptr(0)) } } // Panic with a "success" label, so the parent process can check it. panic("success") } } dependencies/pkg/mod/golang.org/x/sys@v0.26.0/unix/zsyscall_linux_riscv64.go0000644000000000000000000003432115107355264025606 0ustar rootroot// go run mksyscall.go -tags linux,riscv64 syscall_linux.go syscall_linux_riscv64.go // Code generated by the command above; see README.md. DO NOT EDIT. //go:build linux && riscv64 package unix import ( "syscall" "unsafe" ) var _ syscall.Errno // THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT func fanotifyMark(fd int, flags uint, mask uint64, dirFd int, pathname *byte) (err error) { _, _, e1 := Syscall6(SYS_FANOTIFY_MARK, uintptr(fd), uintptr(flags), uintptr(mask), uintptr(dirFd), uintptr(unsafe.Pointer(pathname)), 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 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 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 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 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, _ := RawSyscallNoError(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, _ := RawSyscallNoError(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, _ := RawSyscallNoError(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, _ := RawSyscallNoError(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 MemfdSecret(flags int) (fd int, err error) { r0, _, e1 := Syscall(SYS_MEMFD_SECRET, 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 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 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) (prev int, err error) { r0, _, e1 := Syscall(SYS_SETFSGID, uintptr(gid), 0, 0) prev = int(r0) if e1 != 0 { err = errnoErr(e1) } return } // THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT func setfsuid(uid int) (prev int, err error) { r0, _, e1 := Syscall(SYS_SETFSUID, uintptr(uid), 0, 0) prev = int(r0) 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 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 kexecFileLoad(kernelFd int, initrdFd int, cmdlineLen int, cmdline string, flags int) (err error) { var _p0 *byte _p0, err = BytePtrFromString(cmdline) if err != nil { return } _, _, e1 := Syscall6(SYS_KEXEC_FILE_LOAD, uintptr(kernelFd), uintptr(initrdFd), uintptr(cmdlineLen), 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 riscvHWProbe(pairs []RISCVHWProbePairs, cpuCount uintptr, cpus *CPUSet, flags uint) (err error) { var _p0 unsafe.Pointer if len(pairs) > 0 { _p0 = unsafe.Pointer(&pairs[0]) } else { _p0 = unsafe.Pointer(&_zero) } _, _, e1 := Syscall6(SYS_RISCV_HWPROBE, uintptr(_p0), uintptr(len(pairs)), uintptr(cpuCount), uintptr(unsafe.Pointer(cpus)), uintptr(flags), 0) if e1 != 0 { err = errnoErr(e1) } return } dependencies/pkg/mod/golang.org/x/sys@v0.26.0/unix/pagesize_unix.go0000644000000000000000000000061415107355264024013 0ustar rootroot// Copyright 2017 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:build aix || darwin || dragonfly || freebsd || linux || netbsd || openbsd || solaris || zos // For Unix, get the pagesize from the runtime. package unix import "syscall" func Getpagesize() int { return syscall.Getpagesize() } dependencies/pkg/mod/golang.org/x/sys@v0.26.0/unix/dev_aix_ppc.go0000644000000000000000000000134315107355264023422 0ustar rootroot// Copyright 2018 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:build aix && ppc // Functions to access/create device major and minor numbers matching the // encoding used by AIX. package unix // Major returns the major component of a Linux device number. func Major(dev uint64) uint32 { return uint32((dev >> 16) & 0xffff) } // Minor returns the minor component of a Linux device number. func Minor(dev uint64) uint32 { return uint32(dev & 0xffff) } // Mkdev returns a Linux device number generated from the given major and minor // components. func Mkdev(major, minor uint32) uint64 { return uint64(((major) << 16) | (minor)) } dependencies/pkg/mod/golang.org/x/sys@v0.26.0/unix/creds_test.go0000644000000000000000000001635715107355264023313 0ustar rootroot// 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. //go:build linux package unix_test import ( "bytes" "errors" "net" "os" "testing" "time" "golang.org/x/sys/unix" ) // TestSCMCredentials tests the sending and receiving of credentials // (PID, UID, GID) in an ancillary message between two UNIX // sockets. The SO_PASSCRED socket option is enabled on the sending // socket for this to work. func TestSCMCredentials(t *testing.T) { socketTypeTests := []struct { socketType int dataLen int }{ { unix.SOCK_STREAM, 1, }, { unix.SOCK_DGRAM, 0, }, } for _, tt := range socketTypeTests { fds, err := unix.Socketpair(unix.AF_LOCAL, tt.socketType, 0) if err != nil { t.Fatalf("Socketpair: %v", err) } err = unix.SetsockoptInt(fds[0], unix.SOL_SOCKET, unix.SO_PASSCRED, 1) if err != nil { unix.Close(fds[0]) unix.Close(fds[1]) t.Fatalf("SetsockoptInt: %v", err) } srvFile := os.NewFile(uintptr(fds[0]), "server") cliFile := os.NewFile(uintptr(fds[1]), "client") defer srvFile.Close() defer cliFile.Close() srv, err := net.FileConn(srvFile) if err != nil { t.Errorf("FileConn: %v", err) return } defer srv.Close() cli, err := net.FileConn(cliFile) if err != nil { t.Errorf("FileConn: %v", err) return } defer cli.Close() var ucred unix.Ucred ucred.Pid = int32(os.Getpid()) ucred.Uid = uint32(os.Getuid()) ucred.Gid = uint32(os.Getgid()) oob := unix.UnixCredentials(&ucred) // On SOCK_STREAM, this is internally going to send a dummy byte n, oobn, err := cli.(*net.UnixConn).WriteMsgUnix(nil, oob, nil) if err != nil { t.Fatalf("WriteMsgUnix: %v", err) } if n != 0 { t.Fatalf("WriteMsgUnix n = %d, want 0", n) } if oobn != len(oob) { t.Fatalf("WriteMsgUnix oobn = %d, want %d", oobn, len(oob)) } oob2 := make([]byte, 10*len(oob)) n, oobn2, flags, _, err := srv.(*net.UnixConn).ReadMsgUnix(nil, oob2) if err != nil { t.Fatalf("ReadMsgUnix: %v", err) } if flags != 0 && flags != unix.MSG_CMSG_CLOEXEC { t.Fatalf("ReadMsgUnix flags = %#x, want 0 or %#x (MSG_CMSG_CLOEXEC)", flags, unix.MSG_CMSG_CLOEXEC) } if n != tt.dataLen { t.Fatalf("ReadMsgUnix n = %d, want %d", n, tt.dataLen) } if oobn2 != oobn { // without SO_PASSCRED set on the socket, ReadMsgUnix will // return zero oob bytes t.Fatalf("ReadMsgUnix oobn = %d, want %d", oobn2, oobn) } oob2 = oob2[:oobn2] if !bytes.Equal(oob, oob2) { t.Fatal("ReadMsgUnix oob bytes don't match") } scm, err := unix.ParseSocketControlMessage(oob2) if err != nil { t.Fatalf("ParseSocketControlMessage: %v", err) } newUcred, err := unix.ParseUnixCredentials(&scm[0]) if err != nil { t.Fatalf("ParseUnixCredentials: %v", err) } if *newUcred != ucred { t.Fatalf("ParseUnixCredentials = %+v, want %+v", newUcred, ucred) } } } func TestPktInfo(t *testing.T) { testcases := []struct { network string address *net.UDPAddr }{ {"udp4", &net.UDPAddr{IP: net.ParseIP("127.0.0.1")}}, {"udp6", &net.UDPAddr{IP: net.ParseIP("::1")}}, } for _, test := range testcases { t.Run(test.network, func(t *testing.T) { conn, err := net.ListenUDP(test.network, test.address) if errors.Is(err, unix.EADDRNOTAVAIL) || errors.Is(err, unix.EAFNOSUPPORT) { t.Skipf("%v is not available", test.address) } if err != nil { t.Fatal("Listen:", err) } defer conn.Close() var pktInfo []byte var src net.IP switch test.network { case "udp4": var info4 unix.Inet4Pktinfo src = net.ParseIP("127.0.0.2").To4() copy(info4.Spec_dst[:], src) pktInfo = unix.PktInfo4(&info4) case "udp6": var info6 unix.Inet6Pktinfo src = net.ParseIP("2001:0DB8::1") copy(info6.Addr[:], src) pktInfo = unix.PktInfo6(&info6) raw, err := conn.SyscallConn() if err != nil { t.Fatal("SyscallConn:", err) } var opErr error err = raw.Control(func(fd uintptr) { opErr = unix.SetsockoptInt(int(fd), unix.SOL_IPV6, unix.IPV6_FREEBIND, 1) }) if err != nil { t.Fatal("Control:", err) } if errors.Is(opErr, unix.ENOPROTOOPT) { // Happens on android-amd64-emu, maybe Android has disabled // IPV6_FREEBIND? t.Skip("IPV6_FREEBIND not supported") } if opErr != nil { t.Fatal("Can't enable IPV6_FREEBIND:", opErr) } } msg := []byte{1} addr := conn.LocalAddr().(*net.UDPAddr) _, _, err = conn.WriteMsgUDP(msg, pktInfo, addr) if err != nil { t.Fatal("WriteMsgUDP:", err) } conn.SetReadDeadline(time.Now().Add(100 * time.Millisecond)) _, _, _, remote, err := conn.ReadMsgUDP(msg, nil) if err != nil { t.Fatal("ReadMsgUDP:", err) } if !remote.IP.Equal(src) { t.Errorf("Got packet from %v, want %v", remote.IP, src) } }) } } func TestParseOrigDstAddr(t *testing.T) { testcases := []struct { network string address *net.UDPAddr }{ {"udp4", &net.UDPAddr{IP: net.IPv4(127, 0, 0, 1)}}, {"udp6", &net.UDPAddr{IP: net.IPv6loopback}}, } for _, test := range testcases { t.Run(test.network, func(t *testing.T) { conn, err := net.ListenUDP(test.network, test.address) if errors.Is(err, unix.EADDRNOTAVAIL) || errors.Is(err, unix.EAFNOSUPPORT) { t.Skipf("%v is not available", test.address) } if err != nil { t.Fatal("Listen:", err) } defer conn.Close() raw, err := conn.SyscallConn() if err != nil { t.Fatal("SyscallConn:", err) } var opErr error err = raw.Control(func(fd uintptr) { switch test.network { case "udp4": opErr = unix.SetsockoptInt(int(fd), unix.SOL_IP, unix.IP_RECVORIGDSTADDR, 1) case "udp6": opErr = unix.SetsockoptInt(int(fd), unix.SOL_IPV6, unix.IPV6_RECVORIGDSTADDR, 1) } }) if err != nil { t.Fatal("Control:", err) } if opErr != nil { t.Fatal("Can't enable RECVORIGDSTADDR:", err) } msg := []byte{1} addr := conn.LocalAddr().(*net.UDPAddr) _, err = conn.WriteToUDP(msg, addr) if err != nil { t.Fatal("WriteToUDP:", err) } conn.SetReadDeadline(time.Now().Add(100 * time.Millisecond)) oob := make([]byte, unix.CmsgSpace(unix.SizeofSockaddrInet6)) _, oobn, _, _, err := conn.ReadMsgUDP(msg, oob) if err != nil { t.Fatal("ReadMsgUDP:", err) } scms, err := unix.ParseSocketControlMessage(oob[:oobn]) if err != nil { t.Fatal("ParseSocketControlMessage:", err) } sa, err := unix.ParseOrigDstAddr(&scms[0]) if err != nil { t.Fatal("ParseOrigDstAddr:", err) } switch test.network { case "udp4": sa4, ok := sa.(*unix.SockaddrInet4) if !ok { t.Fatalf("Got %T not *SockaddrInet4", sa) } lo := net.IPv4(127, 0, 0, 1) if addr := net.IP(sa4.Addr[:]); !lo.Equal(addr) { t.Errorf("Got address %v, want %v", addr, lo) } if sa4.Port != addr.Port { t.Errorf("Got port %d, want %d", sa4.Port, addr.Port) } case "udp6": sa6, ok := sa.(*unix.SockaddrInet6) if !ok { t.Fatalf("Got %T, want *SockaddrInet6", sa) } if addr := net.IP(sa6.Addr[:]); !net.IPv6loopback.Equal(addr) { t.Errorf("Got address %v, want %v", addr, net.IPv6loopback) } if sa6.Port != addr.Port { t.Errorf("Got port %d, want %d", sa6.Port, addr.Port) } } }) } } dependencies/pkg/mod/golang.org/x/sys@v0.26.0/unix/asm_linux_arm.s0000644000000000000000000000216015107355264023632 0ustar rootroot// 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. //go:build gc #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 ·SyscallNoError(SB),NOSPLIT,$0-24 BL runtime·entersyscall(SB) MOVW trap+0(FP), R7 MOVW a1+4(FP), R0 MOVW a2+8(FP), R1 MOVW a3+12(FP), R2 MOVW $0, R3 MOVW $0, R4 MOVW $0, R5 SWI $0 MOVW R0, r1+16(FP) MOVW $0, R0 MOVW R0, r2+20(FP) BL runtime·exitsyscall(SB) RET TEXT ·RawSyscall(SB),NOSPLIT,$0-28 B syscall·RawSyscall(SB) TEXT ·RawSyscall6(SB),NOSPLIT,$0-40 B syscall·RawSyscall6(SB) TEXT ·RawSyscallNoError(SB),NOSPLIT,$0-24 MOVW trap+0(FP), R7 // syscall entry MOVW a1+4(FP), R0 MOVW a2+8(FP), R1 MOVW a3+12(FP), R2 SWI $0 MOVW R0, r1+16(FP) MOVW $0, R0 MOVW R0, r2+20(FP) RET TEXT ·seek(SB),NOSPLIT,$0-28 B syscall·seek(SB) dependencies/pkg/mod/golang.org/x/sys@v0.26.0/unix/syscall_aix_test.go0000644000000000000000000000414415107355264024515 0ustar rootroot// Copyright 2018 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:build aix package unix_test import ( "os" "runtime" "testing" "time" "golang.org/x/sys/unix" ) func TestIoctlGetInt(t *testing.T) { f, err := os.Open("/dev/random") if err != nil { t.Fatalf("failed to open device: %v", err) } defer f.Close() v, err := unix.IoctlGetInt(int(f.Fd()), unix.RNDGETENTCNT) if err != nil { t.Fatalf("failed to perform ioctl: %v", err) } t.Logf("%d bits of entropy available", v) } func TestTime(t *testing.T) { var ut unix.Time_t ut2, err := unix.Time(&ut) if err != nil { t.Fatalf("Time: %v", err) } if ut != ut2 { t.Errorf("Time: return value %v should be equal to argument %v", ut2, ut) } var now time.Time for i := 0; i < 10; i++ { ut, err = unix.Time(nil) if err != nil { t.Fatalf("Time: %v", err) } now = time.Now() diff := int64(ut) - now.Unix() if -1 <= diff && diff <= 1 { return } } t.Errorf("Time: return value %v should be nearly equal to time.Now().Unix() %v±1", ut, now.Unix()) } func TestUtime(t *testing.T) { chtmpdir(t) touch(t, "file1") buf := &unix.Utimbuf{ Modtime: 12345, } err := unix.Utime("file1", buf) if err != nil { t.Fatalf("Utime: %v", err) } fi, err := os.Stat("file1") if err != nil { t.Fatal(err) } if fi.ModTime().Unix() != 12345 { t.Errorf("Utime: failed to change modtime: expected %v, got %v", 12345, fi.ModTime().Unix()) } } func TestPselect(t *testing.T) { if runtime.GOARCH == "ppc64" { t.Skip("pselect issue with structure timespec on AIX 7.2 tl0, skipping test") } _, err := unix.Pselect(0, nil, nil, nil, &unix.Timespec{Sec: 0, Nsec: 0}, nil) if err != nil { t.Fatalf("Pselect: %v", err) } dur := 2500 * time.Microsecond ts := unix.NsecToTimespec(int64(dur)) start := time.Now() _, err = unix.Pselect(0, nil, nil, nil, &ts, nil) took := time.Since(start) if err != nil { t.Fatalf("Pselect: %v", err) } if took < dur { t.Errorf("Pselect: timeout should have been at least %v, got %v", dur, took) } } dependencies/pkg/mod/golang.org/x/sys@v0.26.0/unix/mkpost.go0000644000000000000000000002413715107355264022464 0ustar rootroot// 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. //go: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" "log" "os" "regexp" ) func main() { // Get the OS and architecture (using GOARCH_TARGET if it exists) goos := os.Getenv("GOOS_TARGET") if goos == "" { goos = os.Getenv("GOOS") } goarch := os.Getenv("GOARCH_TARGET") if goarch == "" { goarch = os.Getenv("GOARCH") } // Check that we are using the Docker-based build system if we should be. if goos == "linux" { if os.Getenv("GOLANG_SYS_BUILD") != "docker" { os.Stderr.WriteString("In the Docker-based build system, mkpost should not be called directly.\n") os.Stderr.WriteString("See README.md\n") os.Exit(1) } } b, err := io.ReadAll(os.Stdin) if err != nil { log.Fatal(err) } if goos == "aix" { // Replace type of Atim, Mtim and Ctim by Timespec in Stat_t // to avoid having both StTimespec and Timespec. sttimespec := regexp.MustCompile(`_Ctype_struct_st_timespec`) b = sttimespec.ReplaceAll(b, []byte("Timespec")) } if goos == "darwin" { // KinfoProc contains various pointers to objects stored // in kernel space. Replace these by uintptr to prevent // accidental dereferencing. kinfoProcPointerRegex := regexp.MustCompile(`\*_Ctype_struct_(pgrp|proc|session|sigacts|ucred|user|vnode)`) b = kinfoProcPointerRegex.ReplaceAll(b, []byte("uintptr")) // ExternProc contains a p_un member that in kernel // space stores a pair of pointers and in user space // stores the process creation time. We only care about // the process creation time. externProcStarttimeRegex := regexp.MustCompile(`P_un\s*\[\d+\]byte`) b = externProcStarttimeRegex.ReplaceAll(b, []byte("P_starttime Timeval")) // Convert [n]int8 to [n]byte in Eproc and ExternProc members to // simplify conversion to string. convertEprocRegex := regexp.MustCompile(`(P_comm|Wmesg|Login)(\s+)\[(\d+)\]int8`) b = convertEprocRegex.ReplaceAll(b, []byte("$1$2[$3]byte")) } if goos == "freebsd" { // Inside PtraceLwpInfoStruct replace __Siginfo with __PtraceSiginfo, // Create __PtraceSiginfo as a copy of __Siginfo where every *byte instance is replaced by uintptr ptraceLwpInfoStruct := regexp.MustCompile(`(?s:type PtraceLwpInfoStruct struct \{.*?\})`) b = ptraceLwpInfoStruct.ReplaceAllFunc(b, func(in []byte) []byte { return bytes.ReplaceAll(in, []byte("__Siginfo"), []byte("__PtraceSiginfo")) }) siginfoStruct := regexp.MustCompile(`(?s:type __Siginfo struct \{.*?\})`) b = siginfoStruct.ReplaceAllFunc(b, func(in []byte) []byte { out := append([]byte{}, in...) out = append(out, '\n', '\n') out = append(out, bytes.ReplaceAll( bytes.ReplaceAll(in, []byte("__Siginfo"), []byte("__PtraceSiginfo")), []byte("*byte"), []byte("uintptr"))...) return out }) // Inside PtraceIoDesc replace the Offs field, which refers to an address // in the child process (not the Go parent), with a uintptr. ptraceIoDescStruct := regexp.MustCompile(`(?s:type PtraceIoDesc struct \{.*?\})`) addrField := regexp.MustCompile(`(\bOffs\s+)\*byte`) b = ptraceIoDescStruct.ReplaceAllFunc(b, func(in []byte) []byte { return addrField.ReplaceAll(in, []byte(`${1}uintptr`)) }) } if goos == "solaris" { // Convert *int8 to *byte in Iovec.Base like on every other platform. convertIovecBase := regexp.MustCompile(`Base\s+\*int8`) iovecType := regexp.MustCompile(`type Iovec struct {[^}]*}`) iovecStructs := iovecType.FindAll(b, -1) for _, s := range iovecStructs { newNames := convertIovecBase.ReplaceAll(s, []byte("Base *byte")) b = bytes.Replace(b, s, newNames, 1) } } if goos == "linux" && goarch != "riscv64" { // The RISCV_HWPROBE_ constants are only defined on Linux for riscv64 hwprobeConstRexexp := regexp.MustCompile(`const\s+\(\s+RISCV_HWPROBE_[^\)]+\)`) b = hwprobeConstRexexp.ReplaceAll(b, nil) } // Intentionally export __val fields in Fsid and Sigset_t valRegex := regexp.MustCompile(`type (Fsid|Sigset_t) struct {(\s+)X__(bits|val)(\s+\S+\s+)}`) b = valRegex.ReplaceAll(b, []byte("type $1 struct {${2}Val$4}")) // Intentionally export __fds_bits field in FdSet fdSetRegex := regexp.MustCompile(`type (FdSet) struct {(\s+)X__fds_bits(\s+\S+\s+)}`) b = fdSetRegex.ReplaceAll(b, []byte("type $1 struct {${2}Bits$3}")) // Intentionally export __icmp6_filt field in icmpv6_filter icmpV6Regex := regexp.MustCompile(`type (ICMPv6Filter) struct {(\s+)X__icmp6_filt(\s+\S+\s+)}`) b = icmpV6Regex.ReplaceAll(b, []byte("type $1 struct {${2}Filt$3}")) // Intentionally export address storage field in SockaddrStorage convert it to [N]byte. convertSockaddrStorageData := regexp.MustCompile(`(X__ss_padding)\s+\[(\d+)\]u?int8`) sockaddrStorageType := regexp.MustCompile(`type SockaddrStorage struct {[^}]*}`) sockaddrStorageStructs := sockaddrStorageType.FindAll(b, -1) for _, s := range sockaddrStorageStructs { newNames := convertSockaddrStorageData.ReplaceAll(s, []byte("Data [$2]byte")) b = bytes.Replace(b, s, newNames, 1) } // 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) // If we have an empty RISCVHWProbePairs struct, we should delete it. Only riscv64 emits // nonempty RISCVHWProbePairs structs. hwprobeRexexp := regexp.MustCompile(`type RISCVHWProbePairs struct {\s*}`) b = hwprobeRexexp.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 identifiers are private. removeFieldsRegex := regexp.MustCompile(`X__glibc\S*`) b = removeFieldsRegex.ReplaceAll(b, []byte("_")) // Convert [65]int8 to [65]byte in Utsname members to simplify // conversion to string; see golang.org/issue/20753 convertUtsnameRegex := regexp.MustCompile(`((Sys|Node|Domain)name|Release|Version|Machine)(\s+)\[(\d+)\]u?int8`) b = convertUtsnameRegex.ReplaceAll(b, []byte("$1$3[$4]byte")) // Convert [n]int8 to [n]byte in Statvfs_t and Statfs_t members to simplify // conversion to string. convertStatvfsRegex := regexp.MustCompile(`(([Ff]stype|[Mm]nton|[Mm]ntfrom)name|mntfromspec)(\s+)\[(\d+)\]int8`) b = convertStatvfsRegex.ReplaceAll(b, []byte("$1$3[$4]byte")) // Convert []int8 to []byte in device mapper ioctl interface convertDmIoctlNames := regexp.MustCompile(`(Name|Uuid|Target_type|Data)(\s+)\[(\d+)\]u?int8`) dmIoctlTypes := regexp.MustCompile(`type Dm(\S+) struct {[^}]*}`) dmStructs := dmIoctlTypes.FindAll(b, -1) for _, s := range dmStructs { newNames := convertDmIoctlNames.ReplaceAll(s, []byte("$1$2[$3]byte")) b = bytes.Replace(b, s, newNames, 1) } // Convert []int8 to []byte in EthtoolDrvinfo convertEthtoolDrvinfoNames := regexp.MustCompile(`(Driver|Version|Fw_version|Bus_info|Erom_version|Reserved2)(\s+)\[(\d+)\]u?int8`) ethtoolDrvinfoTypes := regexp.MustCompile(`type EthtoolDrvinfo struct {[^}]*}`) ethtoolDrvinfoStructs := ethtoolDrvinfoTypes.FindAll(b, -1) for _, s := range ethtoolDrvinfoStructs { newNames := convertEthtoolDrvinfoNames.ReplaceAll(s, []byte("$1$2[$3]byte")) b = bytes.Replace(b, s, newNames, 1) } // Convert []int8 to []byte in ctl_info ioctl interface convertCtlInfoName := regexp.MustCompile(`(Name)(\s+)\[(\d+)\]int8`) ctlInfoType := regexp.MustCompile(`type CtlInfo struct {[^}]*}`) ctlInfoStructs := ctlInfoType.FindAll(b, -1) for _, s := range ctlInfoStructs { newNames := convertCtlInfoName.ReplaceAll(s, []byte("$1$2[$3]byte")) b = bytes.Replace(b, s, newNames, 1) } // Convert [1024]int8 to [1024]byte in Ptmget members convertPtmget := regexp.MustCompile(`([SC]n)(\s+)\[(\d+)\]u?int8`) b = convertPtmget.ReplaceAll(b, []byte("$1[$3]byte")) // Remove spare fields (e.g. in Statx_t) spareFieldsRegex := regexp.MustCompile(`X__spare\S*`) b = spareFieldsRegex.ReplaceAll(b, []byte("_")) // Rename chunk_size field in XDPUmemReg. // When the struct was originally added (CL 136695) the only // field with a prefix was chunk_size, so cgo rewrote the // field to Size. Later Linux added a tx_metadata_len field, // so cgo left chunk_size as Chunk_size (CL 577975). // Go back to Size so that packages like gvisor don't have // to adjust. xdpUmemRegType := regexp.MustCompile(`type XDPUmemReg struct {[^}]*}`) xdpUmemRegStructs := xdpUmemRegType.FindAll(b, -1) for _, s := range xdpUmemRegStructs { newName := bytes.Replace(s, []byte("Chunk_size"), []byte("Size"), 1) b = bytes.Replace(b, s, newName, 1) } // Remove cgo padding fields removePaddingFieldsRegex := regexp.MustCompile(`Pad_cgo_\d+`) b = removePaddingFieldsRegex.ReplaceAll(b, []byte("_")) // Remove padding, hidden, or unused fields removeFieldsRegex = regexp.MustCompile(`\b(X_\S+|Padding)`) 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. //go:build %s && %s`, goarch, goos) cgoCommandRegex := regexp.MustCompile(`(cgo -godefs .*)`) b = cgoCommandRegex.ReplaceAll(b, []byte(replacement)) // Rename Stat_t time fields if goos == "freebsd" && goarch == "386" { // Hide Stat_t.[AMCB]tim_ext fields renameStatTimeExtFieldsRegex := regexp.MustCompile(`[AMCB]tim_ext`) b = renameStatTimeExtFieldsRegex.ReplaceAll(b, []byte("_")) } renameStatTimeFieldsRegex := regexp.MustCompile(`([AMCB])(?:irth)?time?(?:spec)?\s+(Timespec|StTimespec)`) b = renameStatTimeFieldsRegex.ReplaceAll(b, []byte("${1}tim ${2}")) // gofmt b, err = format.Source(b) if err != nil { log.Fatal(err) } os.Stdout.Write(b) } dependencies/pkg/mod/golang.org/x/sys@v0.26.0/unix/zerrors_netbsd_386.go0000644000000000000000000022140615107355264024612 0ustar rootroot// mkerrors.sh -m32 // Code generated by the command above; see README.md. DO NOT EDIT. //go:build 386 && netbsd // Code generated by cmd/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 CPUSTATES = 0x5 CP_IDLE = 0x4 CP_INTR = 0x3 CP_NICE = 0x1 CP_SYS = 0x2 CP_USER = 0x0 CREAD = 0x800 CRTSCTS = 0x10000 CS5 = 0x0 CS6 = 0x100 CS7 = 0x200 CS8 = 0x300 CSIZE = 0x300 CSTART = 0x11 CSTATUS = 0x14 CSTOP = 0x13 CSTOPB = 0x400 CSUSP = 0x1a CTL_HW = 0x6 CTL_KERN = 0x1 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 EXTATTR_CMD_START = 0x1 EXTATTR_CMD_STOP = 0x2 EXTATTR_NAMESPACE_SYSTEM = 0x2 EXTATTR_NAMESPACE_USER = 0x1 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 HW_MACHINE = 0x1 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 KERN_HOSTNAME = 0xa KERN_OSRELEASE = 0x2 KERN_OSTYPE = 0x1 KERN_VERSION = 0x4 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 MNT_ASYNC = 0x40 MNT_BASIC_FLAGS = 0xe782807f MNT_DEFEXPORTED = 0x200 MNT_DISCARD = 0x800000 MNT_EXKERB = 0x800 MNT_EXNORESPORT = 0x8000000 MNT_EXPORTANON = 0x400 MNT_EXPORTED = 0x100 MNT_EXPUBLIC = 0x10000000 MNT_EXRDONLY = 0x80 MNT_EXTATTR = 0x1000000 MNT_FORCE = 0x80000 MNT_GETARGS = 0x400000 MNT_IGNORE = 0x100000 MNT_LAZY = 0x3 MNT_LOCAL = 0x1000 MNT_LOG = 0x2000000 MNT_NOATIME = 0x4000000 MNT_NOCOREDUMP = 0x8000 MNT_NODEV = 0x10 MNT_NODEVMTIME = 0x40000000 MNT_NOEXEC = 0x4 MNT_NOSUID = 0x8 MNT_NOWAIT = 0x2 MNT_OP_FLAGS = 0x4d0000 MNT_QUOTA = 0x2000 MNT_RDONLY = 0x1 MNT_RELATIME = 0x20000 MNT_RELOAD = 0x40000 MNT_ROOTFS = 0x4000 MNT_SOFTDEP = 0x80000000 MNT_SYMPERM = 0x20000000 MNT_SYNCHRONOUS = 0x2 MNT_UNION = 0x20 MNT_UPDATE = 0x10000 MNT_VISFLAGMASK = 0xff90ffff MNT_WAIT = 0x1 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 NFDBITS = 0x20 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_MEMLOCK = 0x6 RLIMIT_NOFILE = 0x8 RLIMIT_NPROC = 0x7 RLIMIT_RSS = 0x5 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 errorList = [...]struct { num syscall.Errno name string desc string }{ {1, "EPERM", "operation not permitted"}, {2, "ENOENT", "no such file or directory"}, {3, "ESRCH", "no such process"}, {4, "EINTR", "interrupted system call"}, {5, "EIO", "input/output error"}, {6, "ENXIO", "device not configured"}, {7, "E2BIG", "argument list too long"}, {8, "ENOEXEC", "exec format error"}, {9, "EBADF", "bad file descriptor"}, {10, "ECHILD", "no child processes"}, {11, "EDEADLK", "resource deadlock avoided"}, {12, "ENOMEM", "cannot allocate memory"}, {13, "EACCES", "permission denied"}, {14, "EFAULT", "bad address"}, {15, "ENOTBLK", "block device required"}, {16, "EBUSY", "device busy"}, {17, "EEXIST", "file exists"}, {18, "EXDEV", "cross-device link"}, {19, "ENODEV", "operation not supported by device"}, {20, "ENOTDIR", "not a directory"}, {21, "EISDIR", "is a directory"}, {22, "EINVAL", "invalid argument"}, {23, "ENFILE", "too many open files in system"}, {24, "EMFILE", "too many open files"}, {25, "ENOTTY", "inappropriate ioctl for device"}, {26, "ETXTBSY", "text file busy"}, {27, "EFBIG", "file too large"}, {28, "ENOSPC", "no space left on device"}, {29, "ESPIPE", "illegal seek"}, {30, "EROFS", "read-only file system"}, {31, "EMLINK", "too many links"}, {32, "EPIPE", "broken pipe"}, {33, "EDOM", "numerical argument out of domain"}, {34, "ERANGE", "result too large or too small"}, {35, "EAGAIN", "resource temporarily unavailable"}, {36, "EINPROGRESS", "operation now in progress"}, {37, "EALREADY", "operation already in progress"}, {38, "ENOTSOCK", "socket operation on non-socket"}, {39, "EDESTADDRREQ", "destination address required"}, {40, "EMSGSIZE", "message too long"}, {41, "EPROTOTYPE", "protocol wrong type for socket"}, {42, "ENOPROTOOPT", "protocol option not available"}, {43, "EPROTONOSUPPORT", "protocol not supported"}, {44, "ESOCKTNOSUPPORT", "socket type not supported"}, {45, "EOPNOTSUPP", "operation not supported"}, {46, "EPFNOSUPPORT", "protocol family not supported"}, {47, "EAFNOSUPPORT", "address family not supported by protocol family"}, {48, "EADDRINUSE", "address already in use"}, {49, "EADDRNOTAVAIL", "can't assign requested address"}, {50, "ENETDOWN", "network is down"}, {51, "ENETUNREACH", "network is unreachable"}, {52, "ENETRESET", "network dropped connection on reset"}, {53, "ECONNABORTED", "software caused connection abort"}, {54, "ECONNRESET", "connection reset by peer"}, {55, "ENOBUFS", "no buffer space available"}, {56, "EISCONN", "socket is already connected"}, {57, "ENOTCONN", "socket is not connected"}, {58, "ESHUTDOWN", "can't send after socket shutdown"}, {59, "ETOOMANYREFS", "too many references: can't splice"}, {60, "ETIMEDOUT", "connection timed out"}, {61, "ECONNREFUSED", "connection refused"}, {62, "ELOOP", "too many levels of symbolic links"}, {63, "ENAMETOOLONG", "file name too long"}, {64, "EHOSTDOWN", "host is down"}, {65, "EHOSTUNREACH", "no route to host"}, {66, "ENOTEMPTY", "directory not empty"}, {67, "EPROCLIM", "too many processes"}, {68, "EUSERS", "too many users"}, {69, "EDQUOT", "disc quota exceeded"}, {70, "ESTALE", "stale NFS file handle"}, {71, "EREMOTE", "too many levels of remote in path"}, {72, "EBADRPC", "RPC struct is bad"}, {73, "ERPCMISMATCH", "RPC version wrong"}, {74, "EPROGUNAVAIL", "RPC prog. not avail"}, {75, "EPROGMISMATCH", "program version wrong"}, {76, "EPROCUNAVAIL", "bad procedure for program"}, {77, "ENOLCK", "no locks available"}, {78, "ENOSYS", "function not implemented"}, {79, "EFTYPE", "inappropriate file type or format"}, {80, "EAUTH", "authentication error"}, {81, "ENEEDAUTH", "need authenticator"}, {82, "EIDRM", "identifier removed"}, {83, "ENOMSG", "no message of desired type"}, {84, "EOVERFLOW", "value too large to be stored in data type"}, {85, "EILSEQ", "illegal byte sequence"}, {86, "ENOTSUP", "not supported"}, {87, "ECANCELED", "operation Canceled"}, {88, "EBADMSG", "bad or Corrupt message"}, {89, "ENODATA", "no message available"}, {90, "ENOSR", "no STREAM resources"}, {91, "ENOSTR", "not a STREAM"}, {92, "ETIME", "STREAM ioctl timeout"}, {93, "ENOATTR", "attribute not found"}, {94, "EMULTIHOP", "multihop attempted"}, {95, "ENOLINK", "link has been severed"}, {96, "ELAST", "protocol error"}, } // Signal table var signalList = [...]struct { num syscall.Signal name string desc string }{ {1, "SIGHUP", "hangup"}, {2, "SIGINT", "interrupt"}, {3, "SIGQUIT", "quit"}, {4, "SIGILL", "illegal instruction"}, {5, "SIGTRAP", "trace/BPT trap"}, {6, "SIGIOT", "abort trap"}, {7, "SIGEMT", "EMT trap"}, {8, "SIGFPE", "floating point exception"}, {9, "SIGKILL", "killed"}, {10, "SIGBUS", "bus error"}, {11, "SIGSEGV", "segmentation fault"}, {12, "SIGSYS", "bad system call"}, {13, "SIGPIPE", "broken pipe"}, {14, "SIGALRM", "alarm clock"}, {15, "SIGTERM", "terminated"}, {16, "SIGURG", "urgent I/O condition"}, {17, "SIGSTOP", "stopped (signal)"}, {18, "SIGTSTP", "stopped"}, {19, "SIGCONT", "continued"}, {20, "SIGCHLD", "child exited"}, {21, "SIGTTIN", "stopped (tty input)"}, {22, "SIGTTOU", "stopped (tty output)"}, {23, "SIGIO", "I/O possible"}, {24, "SIGXCPU", "cputime limit exceeded"}, {25, "SIGXFSZ", "filesize limit exceeded"}, {26, "SIGVTALRM", "virtual timer expired"}, {27, "SIGPROF", "profiling timer expired"}, {28, "SIGWINCH", "window size changes"}, {29, "SIGINFO", "information request"}, {30, "SIGUSR1", "user defined signal 1"}, {31, "SIGUSR2", "user defined signal 2"}, {32, "SIGPWR", "power fail/restart"}, } dependencies/pkg/mod/golang.org/x/sys@v0.26.0/unix/syscall_illumos.go0000644000000000000000000000341515107355264024361 0ustar rootroot// Copyright 2021 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. // illumos system calls not present on Solaris. //go:build amd64 && illumos package unix import ( "unsafe" ) func bytes2iovec(bs [][]byte) []Iovec { iovecs := make([]Iovec, len(bs)) for i, b := range bs { iovecs[i].SetLen(len(b)) if len(b) > 0 { iovecs[i].Base = &b[0] } else { iovecs[i].Base = (*byte)(unsafe.Pointer(&_zero)) } } return iovecs } //sys readv(fd int, iovs []Iovec) (n int, err error) func Readv(fd int, iovs [][]byte) (n int, err error) { iovecs := bytes2iovec(iovs) n, err = readv(fd, iovecs) return n, err } //sys preadv(fd int, iovs []Iovec, off int64) (n int, err error) func Preadv(fd int, iovs [][]byte, off int64) (n int, err error) { iovecs := bytes2iovec(iovs) n, err = preadv(fd, iovecs, off) return n, err } //sys writev(fd int, iovs []Iovec) (n int, err error) func Writev(fd int, iovs [][]byte) (n int, err error) { iovecs := bytes2iovec(iovs) n, err = writev(fd, iovecs) return n, err } //sys pwritev(fd int, iovs []Iovec, off int64) (n int, err error) func Pwritev(fd int, iovs [][]byte, off int64) (n int, err error) { iovecs := bytes2iovec(iovs) n, err = pwritev(fd, iovecs, off) return n, err } //sys accept4(s int, rsa *RawSockaddrAny, addrlen *_Socklen, flags int) (fd int, err error) = libsocket.accept4 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(fd, &rsa) if err != nil { Close(nfd) nfd = 0 } return } dependencies/pkg/mod/golang.org/x/sys@v0.26.0/unix/mksyscall_aix_ppc.go0000644000000000000000000002773515107355264024663 0ustar rootroot// Copyright 2019 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:build ignore /* This program reads a file containing function prototypes (like syscall_aix.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 err. - If go func name needs to be different than its libc name, - or the function is not in libc, name could be specified - at the end, after "=" sign, like //sys getsockopt(s int, level int, name int, val uintptr, vallen *_Socklen) (err error) = libsocket.getsockopt */ package main import ( "bufio" "flag" "fmt" "os" "regexp" "strings" ) var ( b32 = flag.Bool("b32", false, "32bit big-endian") l32 = flag.Bool("l32", false, "32bit little-endian") aix = flag.Bool("aix", false, "aix") tags = flag.String("tags", "", "build tags") ) // cmdLine returns this programs's commandline arguments func cmdLine() string { return "go run mksyscall_aix_ppc.go " + strings.Join(os.Args[1:], " ") } // goBuildTags returns build tags in the go:build format. func goBuildTags() string { return strings.ReplaceAll(*tags, ",", " && ") } // Param is function parameter type Param struct { Name string Type string } // usage prints the program usage func usage() { fmt.Fprintf(os.Stderr, "usage: go run mksyscall_aix_ppc.go [-b32 | -l32] [-tags x,y] [file ...]\n") os.Exit(1) } // parseParamList parses parameter list and returns a slice of parameters func parseParamList(list string) []string { list = strings.TrimSpace(list) if list == "" { return []string{} } return regexp.MustCompile(`\s*,\s*`).Split(list, -1) } // parseParam splits a parameter into name and type func parseParam(p string) Param { ps := regexp.MustCompile(`^(\S*) (\S*)$`).FindStringSubmatch(p) if ps == nil { fmt.Fprintf(os.Stderr, "malformed parameter: %s\n", p) os.Exit(1) } return Param{ps[1], ps[2]} } func main() { flag.Usage = usage flag.Parse() if len(flag.Args()) <= 0 { fmt.Fprintf(os.Stderr, "no files to parse provided\n") usage() } endianness := "" if *b32 { endianness = "big-endian" } else if *l32 { endianness = "little-endian" } pack := "" text := "" cExtern := "/*\n#include \n#include \n" for _, path := range flag.Args() { file, err := os.Open(path) if err != nil { fmt.Fprintf(os.Stderr, err.Error()) os.Exit(1) } s := bufio.NewScanner(file) for s.Scan() { t := s.Text() if p := regexp.MustCompile(`^package (\S+)$`).FindStringSubmatch(t); p != nil && pack == "" { pack = p[1] } nonblock := regexp.MustCompile(`^\/\/sysnb\t`).FindStringSubmatch(t) if regexp.MustCompile(`^\/\/sys\t`).FindStringSubmatch(t) == nil && nonblock == nil { continue } // 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. f := regexp.MustCompile(`^\/\/sys(nb)?\t(\w+)\(([^()]*)\)\s*(?:\(([^()]+)\))?\s*(?:=\s*(?:(\w*)\.)?(\w*))?$`).FindStringSubmatch(t) if f == nil { fmt.Fprintf(os.Stderr, "%s:%s\nmalformed //sys declaration\n", path, t) os.Exit(1) } funct, inps, outps, modname, sysname := f[2], f[3], f[4], f[5], f[6] // Split argument lists on comma. in := parseParamList(inps) out := parseParamList(outps) inps = strings.Join(in, ", ") outps = strings.Join(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" // Check if value return, err return available errvar := "" retvar := "" rettype := "" for _, param := range out { p := parseParam(param) if p.Type == "error" { errvar = p.Name } else { retvar = p.Name rettype = p.Type } } // System call name. if sysname == "" { sysname = funct } sysname = regexp.MustCompile(`([a-z])([A-Z])`).ReplaceAllString(sysname, `${1}_$2`) sysname = strings.ToLower(sysname) // All libc functions are lowercase. cRettype := "" if rettype == "unsafe.Pointer" { cRettype = "uintptr_t" } else if rettype == "uintptr" { cRettype = "uintptr_t" } else if regexp.MustCompile(`^_`).FindStringSubmatch(rettype) != nil { cRettype = "uintptr_t" } else if rettype == "int" { cRettype = "int" } else if rettype == "int32" { cRettype = "int" } else if rettype == "int64" { cRettype = "long long" } else if rettype == "uint32" { cRettype = "unsigned int" } else if rettype == "uint64" { cRettype = "unsigned long long" } else { cRettype = "int" } if sysname == "exit" { cRettype = "void" } // Change p.Types to c var cIn []string for _, param := range in { p := parseParam(param) if regexp.MustCompile(`^\*`).FindStringSubmatch(p.Type) != nil { cIn = append(cIn, "uintptr_t") } else if p.Type == "string" { cIn = append(cIn, "uintptr_t") } else if regexp.MustCompile(`^\[\](.*)`).FindStringSubmatch(p.Type) != nil { cIn = append(cIn, "uintptr_t", "size_t") } else if p.Type == "unsafe.Pointer" { cIn = append(cIn, "uintptr_t") } else if p.Type == "uintptr" { cIn = append(cIn, "uintptr_t") } else if regexp.MustCompile(`^_`).FindStringSubmatch(p.Type) != nil { cIn = append(cIn, "uintptr_t") } else if p.Type == "int" { cIn = append(cIn, "int") } else if p.Type == "int32" { cIn = append(cIn, "int") } else if p.Type == "int64" { cIn = append(cIn, "long long") } else if p.Type == "uint32" { cIn = append(cIn, "unsigned int") } else if p.Type == "uint64" { cIn = append(cIn, "unsigned long long") } else { cIn = append(cIn, "int") } } if funct != "fcntl" && funct != "FcntlInt" && funct != "ioctlPtr" { if sysname == "select" { // select is a keyword of Go. Its name is // changed to c_select. cExtern += "#define c_select select\n" } // Imports of system calls from libc cExtern += fmt.Sprintf("%s %s", cRettype, sysname) cIn := strings.Join(cIn, ", ") cExtern += fmt.Sprintf("(%s);\n", cIn) } // So file name. if *aix { if modname == "" { modname = "libc.a/shr_64.o" } else { fmt.Fprintf(os.Stderr, "%s: only syscall using libc are available\n", funct) os.Exit(1) } } strconvfunc := "C.CString" // Go function header. if outps != "" { outps = fmt.Sprintf(" (%s)", outps) } if text != "" { text += "\n" } text += fmt.Sprintf("func %s(%s)%s {\n", funct, strings.Join(in, ", "), outps) // Prepare arguments to Syscall. var args []string n := 0 argN := 0 for _, param := range in { p := parseParam(param) if regexp.MustCompile(`^\*`).FindStringSubmatch(p.Type) != nil { args = append(args, "C.uintptr_t(uintptr(unsafe.Pointer("+p.Name+")))") } else if p.Type == "string" && errvar != "" { text += fmt.Sprintf("\t_p%d := uintptr(unsafe.Pointer(%s(%s)))\n", n, strconvfunc, p.Name) args = append(args, fmt.Sprintf("C.uintptr_t(_p%d)", n)) n++ } else if p.Type == "string" { fmt.Fprintf(os.Stderr, path+":"+funct+" uses string arguments, but has no error return\n") text += fmt.Sprintf("\t_p%d := uintptr(unsafe.Pointer(%s(%s)))\n", n, strconvfunc, p.Name) args = append(args, fmt.Sprintf("C.uintptr_t(_p%d)", n)) n++ } else if m := regexp.MustCompile(`^\[\](.*)`).FindStringSubmatch(p.Type); m != nil { // 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 += fmt.Sprintf("\tvar _p%d *%s\n", n, m[1]) text += fmt.Sprintf("\tif len(%s) > 0 {\n\t\t_p%d = &%s[0]\n\t}\n", p.Name, n, p.Name) args = append(args, fmt.Sprintf("C.uintptr_t(uintptr(unsafe.Pointer(_p%d)))", n)) n++ text += fmt.Sprintf("\tvar _p%d int\n", n) text += fmt.Sprintf("\t_p%d = len(%s)\n", n, p.Name) args = append(args, fmt.Sprintf("C.size_t(_p%d)", n)) n++ } else if p.Type == "int64" && endianness != "" { if endianness == "big-endian" { args = append(args, fmt.Sprintf("uintptr(%s>>32)", p.Name), fmt.Sprintf("uintptr(%s)", p.Name)) } else { args = append(args, fmt.Sprintf("uintptr(%s)", p.Name), fmt.Sprintf("uintptr(%s>>32)", p.Name)) } n++ } else if p.Type == "bool" { text += fmt.Sprintf("\tvar _p%d uint32\n", n) text += fmt.Sprintf("\tif %s {\n\t\t_p%d = 1\n\t} else {\n\t\t_p%d = 0\n\t}\n", p.Name, n, n) args = append(args, fmt.Sprintf("_p%d", n)) } else if regexp.MustCompile(`^_`).FindStringSubmatch(p.Type) != nil { args = append(args, fmt.Sprintf("C.uintptr_t(uintptr(%s))", p.Name)) } else if p.Type == "unsafe.Pointer" { args = append(args, fmt.Sprintf("C.uintptr_t(uintptr(%s))", p.Name)) } else if p.Type == "int" { if argN == 0 && funct == "fcntl" { args = append(args, fmt.Sprintf("C.uintptr_t(%s)", p.Name)) } else if (argN == 2) && ((funct == "fcntl") || (funct == "FcntlInt")) { args = append(args, fmt.Sprintf("C.uintptr_t(%s)", p.Name)) } else { args = append(args, fmt.Sprintf("C.int(%s)", p.Name)) } } else if p.Type == "int32" { args = append(args, fmt.Sprintf("C.int(%s)", p.Name)) } else if p.Type == "int64" { args = append(args, fmt.Sprintf("C.longlong(%s)", p.Name)) } else if p.Type == "uint32" { args = append(args, fmt.Sprintf("C.uint(%s)", p.Name)) } else if p.Type == "uint64" { args = append(args, fmt.Sprintf("C.ulonglong(%s)", p.Name)) } else if p.Type == "uintptr" { args = append(args, fmt.Sprintf("C.uintptr_t(%s)", p.Name)) } else { args = append(args, fmt.Sprintf("C.int(%s)", p.Name)) } argN++ } // Actual call. arglist := strings.Join(args, ", ") call := "" if sysname == "exit" { if errvar != "" { call += "er :=" } else { call += "" } } else if errvar != "" { call += "r0,er :=" } else if retvar != "" { call += "r0,_ :=" } else { call += "" } if sysname == "select" { // select is a keyword of Go. Its name is // changed to c_select. call += fmt.Sprintf("C.c_%s(%s)", sysname, arglist) } else { call += fmt.Sprintf("C.%s(%s)", sysname, arglist) } // Assign return values. body := "" for i := 0; i < len(out); i++ { p := parseParam(out[i]) reg := "" if p.Name == "err" { reg = "e1" } else { reg = "r0" } if reg != "e1" { body += fmt.Sprintf("\t%s = %s(%s)\n", p.Name, p.Type, reg) } } // verify return if sysname != "exit" && errvar != "" { if regexp.MustCompile(`^uintptr`).FindStringSubmatch(cRettype) != nil { body += "\tif (uintptr(r0) ==^uintptr(0) && er != nil) {\n" body += fmt.Sprintf("\t\t%s = er\n", errvar) body += "\t}\n" } else { body += "\tif (r0 ==-1 && er != nil) {\n" body += fmt.Sprintf("\t\t%s = er\n", errvar) body += "\t}\n" } } else if errvar != "" { body += "\tif (er != nil) {\n" body += fmt.Sprintf("\t\t%s = er\n", errvar) body += "\t}\n" } text += fmt.Sprintf("\t%s\n", call) text += body text += "\treturn\n" text += "}\n" } if err := s.Err(); err != nil { fmt.Fprintf(os.Stderr, err.Error()) os.Exit(1) } file.Close() } imp := "" if pack != "unix" { imp = "import \"golang.org/x/sys/unix\"\n" } fmt.Printf(srcTemplate, cmdLine(), goBuildTags(), pack, cExtern, imp, text) } const srcTemplate = `// %s // Code generated by the command above; see README.md. DO NOT EDIT. //go:build %s package %s %s */ import "C" import ( "unsafe" ) %s %s ` dependencies/pkg/mod/golang.org/x/sys@v0.26.0/unix/sockcmsg_unix.go0000644000000000000000000000621615107355264024021 0ustar rootroot// 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. //go:build aix || darwin || dragonfly || freebsd || linux || netbsd || openbsd || solaris || zos // Socket control messages package unix import ( "unsafe" ) // CmsgLen returns the value to store in the Len field of the Cmsghdr // structure, taking into account any necessary alignment. func CmsgLen(datalen int) int { return cmsgAlignOf(SizeofCmsghdr) + datalen } // CmsgSpace returns the number of bytes an ancillary element with // payload of the passed data length occupies. func CmsgSpace(datalen int) int { return cmsgAlignOf(SizeofCmsghdr) + cmsgAlignOf(datalen) } func (h *Cmsghdr) data(offset uintptr) unsafe.Pointer { return unsafe.Pointer(uintptr(unsafe.Pointer(h)) + uintptr(cmsgAlignOf(SizeofCmsghdr)) + offset) } // SocketControlMessage represents a socket control message. type SocketControlMessage struct { Header Cmsghdr Data []byte } // ParseSocketControlMessage parses b as an array of socket control // messages. func ParseSocketControlMessage(b []byte) ([]SocketControlMessage, error) { var msgs []SocketControlMessage i := 0 for i+CmsgLen(0) <= len(b) { h, dbuf, err := socketControlMessageHeaderAndData(b[i:]) if err != nil { return nil, err } m := SocketControlMessage{Header: *h, Data: dbuf} msgs = append(msgs, m) i += cmsgAlignOf(int(h.Len)) } return msgs, nil } // ParseOneSocketControlMessage parses a single socket control message from b, returning the message header, // message data (a slice of b), and the remainder of b after that single message. // When there are no remaining messages, len(remainder) == 0. func ParseOneSocketControlMessage(b []byte) (hdr Cmsghdr, data []byte, remainder []byte, err error) { h, dbuf, err := socketControlMessageHeaderAndData(b) if err != nil { return Cmsghdr{}, nil, nil, err } if i := cmsgAlignOf(int(h.Len)); i < len(b) { remainder = b[i:] } return *h, dbuf, remainder, nil } func socketControlMessageHeaderAndData(b []byte) (*Cmsghdr, []byte, error) { h := (*Cmsghdr)(unsafe.Pointer(&b[0])) if h.Len < SizeofCmsghdr || uint64(h.Len) > 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)) for i, fd := range fds { *(*int32)(h.data(4 * uintptr(i))) = int32(fd) } 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 } dependencies/pkg/mod/golang.org/x/sys@v0.26.0/unix/sysvshm_unix_test.go0000644000000000000000000000374515107355264024767 0ustar rootroot// Copyright 2021 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:build (darwin && amd64) || linux || zos package unix_test import ( "runtime" "testing" "golang.org/x/sys/unix" ) func TestSysvSharedMemory(t *testing.T) { // create ipc id, err := unix.SysvShmGet(unix.IPC_PRIVATE, 1024, unix.IPC_CREAT|unix.IPC_EXCL|0o600) // ipc isn't implemented on android, should fail if runtime.GOOS == "android" { if err != unix.ENOSYS { t.Fatalf("expected android to fail, but it didn't") } return } // The kernel may have been built without System V IPC support. if err == unix.ENOSYS { t.Skip("shmget not supported") } if err != nil { t.Fatalf("SysvShmGet: %v", err) } defer func() { _, err := unix.SysvShmCtl(id, unix.IPC_RMID, nil) if err != nil { t.Errorf("Remove failed: %v", err) } }() // attach b1, err := unix.SysvShmAttach(id, 0, 0) if err != nil { t.Fatalf("Attach: %v", err) } if runtime.GOOS == "zos" { // The minimum shared memory size is no less than units of 1M bytes in z/OS if len(b1) < 1024 { t.Fatalf("b1 len = %v, less than 1024", len(b1)) } } else { if len(b1) != 1024 { t.Fatalf("b1 len = %v, want 1024", len(b1)) } } b1[42] = 'x' // attach again b2, err := unix.SysvShmAttach(id, 0, 0) if err != nil { t.Fatalf("Attach: %v", err) } if runtime.GOOS == "zos" { // The returned shared memory aligns with the pagesize. // If pagesize is not 1024 bytes, the shared memory could be larger if len(b2) < 1024 { t.Fatalf("b1 len = %v, less than 1024", len(b2)) } } else { if len(b2) != 1024 { t.Fatalf("b1 len = %v, want 1024", len(b2)) } } b2[43] = 'y' if b2[42] != 'x' || b1[43] != 'y' { t.Fatalf("shared memory isn't shared") } // detach if err = unix.SysvShmDetach(b2); err != nil { t.Fatalf("Detach: %v", err) } if b1[42] != 'x' || b1[43] != 'y' { t.Fatalf("shared memory was invalidated") } } dependencies/pkg/mod/golang.org/x/sys@v0.26.0/unix/syscall_internal_solaris_test.go0000644000000000000000000002140315107355264027301 0ustar rootroot// Copyright 2022 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:build solaris package unix import ( "fmt" "os" "runtime" "testing" ) func (e *EventPort) checkInternals(t *testing.T, fds, paths, cookies, pending int) { t.Helper() p, err := e.Pending() if err != nil { t.Fatalf("failed to query how many events are pending") } if len(e.fds) != fds || len(e.paths) != paths || len(e.cookies) != cookies || p != pending { format := "| fds: %d | paths: %d | cookies: %d | pending: %d |" expected := fmt.Sprintf(format, fds, paths, cookies, pending) got := fmt.Sprintf(format, len(e.fds), len(e.paths), len(e.cookies), p) t.Errorf("Internal state mismatch\nfound: %s\nexpected: %s", got, expected) } } // getOneRetry wraps EventPort.GetOne which in turn wraps a syscall that can be // interrupted causing us to receive EINTR. // To prevent our tests from flaking, we retry the syscall until it works // rather than get unexpected results in our tests. func getOneRetry(t *testing.T, p *EventPort, timeout *Timespec) (e *PortEvent, err error) { t.Helper() for { e, err = p.GetOne(timeout) if err != EINTR { break } } return e, err } // getRetry wraps EventPort.Get which in turn wraps a syscall that can be // interrupted causing us to receive EINTR. // To prevent our tests from flaking, we retry the syscall until it works // rather than get unexpected results in our tests. func getRetry(t *testing.T, p *EventPort, s []PortEvent, min int, timeout *Timespec) (n int, err error) { t.Helper() for { n, err = p.Get(s, min, timeout) if err != EINTR { break } // If we did get EINTR, make sure we got 0 events if n != 0 { t.Fatalf("EventPort.Get returned events on EINTR.\ngot: %d\nexpected: 0", n) } } return n, err } // Regression test for DissociatePath returning ENOENT // This test is intended to create a linear worst // case scenario of events being associated and // fired but not consumed before additional // calls to dissociate and associate happen // This needs to be an internal test so that // we can validate the state of the private maps func TestEventPortDissociateAlreadyGone(t *testing.T) { port, err := NewEventPort() if err != nil { t.Fatalf("failed to create an EventPort") } defer port.Close() dir := t.TempDir() tmpfile, err := os.CreateTemp(dir, "eventport") if err != nil { t.Fatalf("unable to create a tempfile: %v", err) } path := tmpfile.Name() stat, err := os.Stat(path) if err != nil { t.Fatalf("unexpected failure to Stat file: %v", err) } err = port.AssociatePath(path, stat, FILE_MODIFIED, "cookie1") if err != nil { t.Fatalf("unexpected failure associating file: %v", err) } // We should have 1 path registered and 1 cookie in the jar port.checkInternals(t, 0, 1, 1, 0) // The path is associated, let's delete it. err = os.Remove(path) if err != nil { t.Fatalf("unexpected failure deleting file: %v", err) } // The file has been deleted, some sort of pending event is probably // queued in the kernel waiting for us to get it AND the kernel is // no longer watching for events on it. BUT... Because we haven't // consumed the event, this API thinks it's still watched: watched := port.PathIsWatched(path) if !watched { t.Errorf("unexpected result from PathIsWatched") } // Ok, let's dissociate the file even before reading the event. // Oh, ENOENT. I guess it's not associated any more err = port.DissociatePath(path) if err != ENOENT { t.Errorf("unexpected result dissociating a seemingly associated path we know isn't: %v", err) } // As established by the return value above, this should clearly be false now: // Narrator voice: in the first version of this API, it wasn't. watched = port.PathIsWatched(path) if watched { t.Errorf("definitively unwatched file still in the map") } // We should have nothing registered, but 1 pending event corresponding // to the cookie in the jar port.checkInternals(t, 0, 0, 1, 1) f, err := os.OpenFile(path, os.O_WRONLY|os.O_CREATE, 0666) if err != nil { t.Fatalf("creating test file failed: %s", err) } err = f.Close() if err != nil { t.Fatalf("unexpected failure closing file: %v", err) } stat, err = os.Stat(path) if err != nil { t.Fatalf("unexpected failure to Stat file: %v", err) } c := "cookie2" // c is for cookie, that's good enough for me err = port.AssociatePath(path, stat, FILE_MODIFIED, c) if err != nil { t.Errorf("unexpected failure associating file: %v", err) } // We should have 1 registered path and its cookie // as well as a second cookie corresponding to the pending event port.checkInternals(t, 0, 1, 2, 1) // Fire another event err = os.Remove(path) if err != nil { t.Fatalf("unexpected failure deleting file: %v", err) } port.checkInternals(t, 0, 1, 2, 2) err = port.DissociatePath(path) if err != ENOENT { t.Errorf("unexpected result dissociating a seemingly associated path we know isn't: %v", err) } // By dissociating this path after deletion we ensure that the paths map is now empty // If we're not careful we could trigger a nil pointer exception port.checkInternals(t, 0, 0, 2, 2) f, err = os.OpenFile(path, os.O_WRONLY|os.O_CREATE, 0666) if err != nil { t.Fatalf("creating test file failed: %s", err) } err = f.Close() if err != nil { t.Fatalf("unexpected failure closing file: %v", err) } stat, err = os.Stat(path) if err != nil { t.Fatalf("unexpected failure to Stat file: %v", err) } // Put a seemingly duplicate cookie in the jar to see if we can trigger an incorrect removal from the paths map err = port.AssociatePath(path, stat, FILE_MODIFIED, c) if err != nil { t.Errorf("unexpected failure associating file: %v", err) } port.checkInternals(t, 0, 1, 3, 2) // run the garbage collector so that if we messed up it should be painfully clear runtime.GC() // Before the fix, this would cause a nil pointer exception e, err := getOneRetry(t, port, nil) if err != nil { t.Errorf("failed to get an event: %v", err) } port.checkInternals(t, 0, 1, 2, 1) if e.Cookie != "cookie1" { t.Errorf(`expected "cookie1", got "%v"`, e.Cookie) } // Make sure that a cookie of the same value doesn't cause removal from the paths map incorrectly e, err = getOneRetry(t, port, nil) if err != nil { t.Errorf("failed to get an event: %v", err) } port.checkInternals(t, 0, 1, 1, 0) if e.Cookie != "cookie2" { t.Errorf(`expected "cookie2", got "%v"`, e.Cookie) } err = os.Remove(path) if err != nil { t.Fatalf("unexpected failure deleting file: %v", err) } // Event has fired, but until processed it should still be in the map port.checkInternals(t, 0, 1, 1, 1) e, err = getOneRetry(t, port, nil) if err != nil { t.Errorf("failed to get an event: %v", err) } if e.Cookie != "cookie2" { t.Errorf(`expected "cookie2", got "%v"`, e.Cookie) } // The maps should be empty and there should be no pending events port.checkInternals(t, 0, 0, 0, 0) } // Regression test for spuriously triggering a panic about memory mismanagement // that can be triggered by an event processing thread trying to process an event // after a different thread has already called port.Close(). // Implemented as an internal test so that we can just simulate the Close() // because if you call close first in the same thread, things work properly // anyway. func TestEventPortGetAfterClose(t *testing.T) { port, err := NewEventPort() if err != nil { t.Fatalf("NewEventPort failed: %v", err) } // Create, associate, and delete 2 files for i := 0; i < 2; i++ { tmpfile, err := os.CreateTemp("", "eventport") if err != nil { t.Fatalf("unable to create tempfile: %v", err) } path := tmpfile.Name() stat, err := os.Stat(path) if err != nil { t.Fatalf("unable to stat tempfile: %v", err) } err = port.AssociatePath(path, stat, FILE_MODIFIED, nil) if err != nil { t.Fatalf("unable to AssociatePath tempfile: %v", err) } err = os.Remove(path) if err != nil { t.Fatalf("unable to Remove tempfile: %v", err) } } n, err := port.Pending() if err != nil { t.Errorf("Pending failed: %v", err) } if n != 2 { t.Errorf("expected 2 pending events, got %d", n) } // Simulate a close from a different thread port.fds = nil port.paths = nil port.cookies = nil // Ensure that we get back reasonable errors rather than panic _, err = getOneRetry(t, port, nil) if err == nil || err.Error() != "this EventPort is already closed" { t.Errorf("didn't receive expected error of 'this EventPort is already closed'; got: %v", err) } events := make([]PortEvent, 2) n, err = getRetry(t, port, events, 1, nil) if n != 0 { t.Errorf("expected to get back 0 events, got %d", n) } if err == nil || err.Error() != "this EventPort is already closed" { t.Errorf("didn't receive expected error of 'this EventPort is already closed'; got: %v", err) } } dependencies/pkg/mod/golang.org/x/sys@v0.26.0/unix/zsyscall_freebsd_arm.go0000644000000000000000000013220315107355264025336 0ustar rootroot// go run mksyscall.go -l32 -arm -tags freebsd,arm syscall_bsd.go syscall_freebsd.go syscall_freebsd_arm.go // Code generated by the command above; see README.md. DO NOT EDIT. //go: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 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 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 } // THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT func Madvise(b []byte, behav 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(behav)) 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 Msync(b []byte, flags int) (err error) { var _p0 unsafe.Pointer if len(b) > 0 { _p0 = unsafe.Pointer(&b[0]) } else { _p0 = unsafe.Pointer(&_zero) } _, _, e1 := Syscall(SYS_MSYNC, uintptr(_p0), uintptr(len(b)), uintptr(flags)) 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 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 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 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 ioctlPtr(fd int, req uint, arg unsafe.Pointer) (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 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 ptrace(request int, pid int, addr uintptr, data int) (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 ptracePtr(request int, pid int, addr unsafe.Pointer, data int) (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 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 CapEnter() (err error) { _, _, e1 := Syscall(SYS_CAP_ENTER, 0, 0, 0) if e1 != 0 { err = errnoErr(e1) } return } // THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT func capRightsGet(version int, fd int, rightsp *CapRights) (err error) { _, _, e1 := Syscall(SYS___CAP_RIGHTS_GET, uintptr(version), uintptr(fd), uintptr(unsafe.Pointer(rightsp))) if e1 != 0 { err = errnoErr(e1) } return } // THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT func capRightsLimit(fd int, rightsp *CapRights) (err error) { _, _, e1 := Syscall(SYS_CAP_RIGHTS_LIMIT, uintptr(fd), uintptr(unsafe.Pointer(rightsp)), 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 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 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 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 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 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 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 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 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 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, 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 *uint64) (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 Linkat(pathfd int, path string, linkfd int, link string, flags int) (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 := Syscall6(SYS_LINKAT, uintptr(pathfd), uintptr(unsafe.Pointer(_p0)), uintptr(linkfd), 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 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 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 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 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 Mknodat(fd int, path string, mode uint32, dev uint64) (err error) { var _p0 *byte _p0, err = BytePtrFromString(path) if err != nil { return } _, _, e1 := Syscall6(SYS_MKNODAT, uintptr(fd), uintptr(unsafe.Pointer(_p0)), uintptr(mode), 0, uintptr(dev), uintptr(dev>>32)) 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 Openat(fdat int, path string, mode int, perm uint32) (fd int, err error) { var _p0 *byte _p0, err = BytePtrFromString(path) if err != nil { return } r0, _, e1 := Syscall6(SYS_OPENAT, uintptr(fdat), uintptr(unsafe.Pointer(_p0)), uintptr(mode), uintptr(perm), 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 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 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 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 Renameat(fromfd int, from string, tofd int, 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 := Syscall6(SYS_RENAMEAT, uintptr(fromfd), uintptr(unsafe.Pointer(_p0)), uintptr(tofd), 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 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(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 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 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 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 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 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 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 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 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 } // 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 } dependencies/pkg/mod/golang.org/x/sys@v0.26.0/unix/zerrors_linux_mips64le.go0000644000000000000000000010601115107355264025607 0ustar rootroot// mkerrors.sh -Wall -Werror -static -I/tmp/mips64le/include // Code generated by the command above; see README.md. DO NOT EDIT. //go:build mips64le && linux // Code generated by cmd/cgo -godefs; DO NOT EDIT. // cgo -godefs -- -Wall -Werror -static -I/tmp/mips64le/include _const.go package unix import "syscall" const ( B1000000 = 0x1008 B115200 = 0x1002 B1152000 = 0x1009 B1500000 = 0x100a B2000000 = 0x100b B230400 = 0x1003 B2500000 = 0x100c B3000000 = 0x100d B3500000 = 0x100e B4000000 = 0x100f B460800 = 0x1004 B500000 = 0x1005 B57600 = 0x1001 B576000 = 0x1006 B921600 = 0x1007 BLKALIGNOFF = 0x2000127a BLKBSZGET = 0x40081270 BLKBSZSET = 0x80081271 BLKDISCARD = 0x20001277 BLKDISCARDZEROES = 0x2000127c BLKFLSBUF = 0x20001261 BLKFRAGET = 0x20001265 BLKFRASET = 0x20001264 BLKGETDISKSEQ = 0x40081280 BLKGETSIZE = 0x20001260 BLKGETSIZE64 = 0x40081272 BLKIOMIN = 0x20001278 BLKIOOPT = 0x20001279 BLKPBSZGET = 0x2000127b BLKRAGET = 0x20001263 BLKRASET = 0x20001262 BLKROGET = 0x2000125e BLKROSET = 0x2000125d BLKROTATIONAL = 0x2000127e BLKRRPART = 0x2000125f BLKSECDISCARD = 0x2000127d BLKSECTGET = 0x20001267 BLKSECTSET = 0x20001266 BLKSSZGET = 0x20001268 BLKZEROOUT = 0x2000127f BOTHER = 0x1000 BS1 = 0x2000 BSDLY = 0x2000 CBAUD = 0x100f CBAUDEX = 0x1000 CIBAUD = 0x100f0000 CLOCAL = 0x800 CR1 = 0x200 CR2 = 0x400 CR3 = 0x600 CRDLY = 0x600 CREAD = 0x80 CS6 = 0x10 CS7 = 0x20 CS8 = 0x30 CSIZE = 0x30 CSTOPB = 0x40 ECCGETLAYOUT = 0x41484d11 ECCGETSTATS = 0x40104d12 ECHOCTL = 0x200 ECHOE = 0x10 ECHOK = 0x20 ECHOKE = 0x800 ECHONL = 0x40 ECHOPRT = 0x400 EFD_CLOEXEC = 0x80000 EFD_NONBLOCK = 0x80 EPIOCGPARAMS = 0x40088a02 EPIOCSPARAMS = 0x80088a01 EPOLL_CLOEXEC = 0x80000 EXTPROC = 0x10000 FF1 = 0x8000 FFDLY = 0x8000 FICLONE = 0x80049409 FICLONERANGE = 0x8020940d FLUSHO = 0x2000 FS_IOC_ENABLE_VERITY = 0x80806685 FS_IOC_GETFLAGS = 0x40086601 FS_IOC_GET_ENCRYPTION_NONCE = 0x4010661b FS_IOC_GET_ENCRYPTION_POLICY = 0x800c6615 FS_IOC_GET_ENCRYPTION_PWSALT = 0x80106614 FS_IOC_SETFLAGS = 0x80086602 FS_IOC_SET_ENCRYPTION_POLICY = 0x400c6613 F_GETLK = 0xe F_GETLK64 = 0xe F_GETOWN = 0x17 F_RDLCK = 0x0 F_SETLK = 0x6 F_SETLK64 = 0x6 F_SETLKW = 0x7 F_SETLKW64 = 0x7 F_SETOWN = 0x18 F_UNLCK = 0x2 F_WRLCK = 0x1 HIDIOCGRAWINFO = 0x40084803 HIDIOCGRDESC = 0x50044802 HIDIOCGRDESCSIZE = 0x40044801 HUPCL = 0x400 ICANON = 0x2 IEXTEN = 0x100 IN_CLOEXEC = 0x80000 IN_NONBLOCK = 0x80 IOCTL_VM_SOCKETS_GET_LOCAL_CID = 0x200007b9 ISIG = 0x1 IUCLC = 0x200 IXOFF = 0x1000 IXON = 0x400 MAP_ANON = 0x800 MAP_ANONYMOUS = 0x800 MAP_DENYWRITE = 0x2000 MAP_EXECUTABLE = 0x4000 MAP_GROWSDOWN = 0x1000 MAP_HUGETLB = 0x80000 MAP_LOCKED = 0x8000 MAP_NONBLOCK = 0x20000 MAP_NORESERVE = 0x400 MAP_POPULATE = 0x10000 MAP_RENAME = 0x800 MAP_STACK = 0x40000 MCL_CURRENT = 0x1 MCL_FUTURE = 0x2 MCL_ONFAULT = 0x4 MEMERASE = 0x80084d02 MEMERASE64 = 0x80104d14 MEMGETBADBLOCK = 0x80084d0b MEMGETINFO = 0x40204d01 MEMGETOOBSEL = 0x40c84d0a MEMGETREGIONCOUNT = 0x40044d07 MEMISLOCKED = 0x40084d17 MEMLOCK = 0x80084d05 MEMREAD = 0xc0404d1a MEMREADOOB = 0xc0104d04 MEMSETBADBLOCK = 0x80084d0c MEMUNLOCK = 0x80084d06 MEMWRITEOOB = 0xc0104d03 MTDFILEMODE = 0x20004d13 NFDBITS = 0x40 NLDLY = 0x100 NOFLSH = 0x80 NS_GET_MNTNS_ID = 0x4008b705 NS_GET_NSTYPE = 0x2000b703 NS_GET_OWNER_UID = 0x2000b704 NS_GET_PARENT = 0x2000b702 NS_GET_PID_FROM_PIDNS = 0x4004b706 NS_GET_PID_IN_PIDNS = 0x4004b708 NS_GET_TGID_FROM_PIDNS = 0x4004b707 NS_GET_TGID_IN_PIDNS = 0x4004b709 NS_GET_USERNS = 0x2000b701 OLCUC = 0x2 ONLCR = 0x4 OTPERASE = 0x800c4d19 OTPGETREGIONCOUNT = 0x80044d0e OTPGETREGIONINFO = 0x800c4d0f OTPLOCK = 0x400c4d10 OTPSELECT = 0x40044d0d 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_RSYNC = 0x4010 O_SYNC = 0x4010 O_TMPFILE = 0x410000 O_TRUNC = 0x200 PARENB = 0x100 PARODD = 0x200 PENDIN = 0x4000 PERF_EVENT_IOC_DISABLE = 0x20002401 PERF_EVENT_IOC_ENABLE = 0x20002400 PERF_EVENT_IOC_ID = 0x40082407 PERF_EVENT_IOC_MODIFY_ATTRIBUTES = 0x8008240b PERF_EVENT_IOC_PAUSE_OUTPUT = 0x80042409 PERF_EVENT_IOC_PERIOD = 0x80082404 PERF_EVENT_IOC_QUERY_BPF = 0xc008240a PERF_EVENT_IOC_REFRESH = 0x20002402 PERF_EVENT_IOC_RESET = 0x20002403 PERF_EVENT_IOC_SET_BPF = 0x80042408 PERF_EVENT_IOC_SET_FILTER = 0x80082406 PERF_EVENT_IOC_SET_OUTPUT = 0x20002405 PPPIOCATTACH = 0x8004743d PPPIOCATTCHAN = 0x80047438 PPPIOCBRIDGECHAN = 0x80047435 PPPIOCCONNECT = 0x8004743a PPPIOCDETACH = 0x8004743c PPPIOCDISCONN = 0x20007439 PPPIOCGASYNCMAP = 0x40047458 PPPIOCGCHAN = 0x40047437 PPPIOCGDEBUG = 0x40047441 PPPIOCGFLAGS = 0x4004745a PPPIOCGIDLE = 0x4010743f PPPIOCGIDLE32 = 0x4008743f PPPIOCGIDLE64 = 0x4010743f PPPIOCGL2TPSTATS = 0x40487436 PPPIOCGMRU = 0x40047453 PPPIOCGRASYNCMAP = 0x40047455 PPPIOCGUNIT = 0x40047456 PPPIOCGXASYNCMAP = 0x40207450 PPPIOCSACTIVE = 0x80107446 PPPIOCSASYNCMAP = 0x80047457 PPPIOCSCOMPRESS = 0x8010744d PPPIOCSDEBUG = 0x80047440 PPPIOCSFLAGS = 0x80047459 PPPIOCSMAXCID = 0x80047451 PPPIOCSMRRU = 0x8004743b PPPIOCSMRU = 0x80047452 PPPIOCSNPMODE = 0x8008744b PPPIOCSPASS = 0x80107447 PPPIOCSRASYNCMAP = 0x80047454 PPPIOCSXASYNCMAP = 0x8020744f PPPIOCUNBRIDGECHAN = 0x20007434 PPPIOCXFERUNIT = 0x2000744e PR_SET_PTRACER_ANY = 0xffffffffffffffff PTRACE_GETFPREGS = 0xe PTRACE_GET_THREAD_AREA = 0x19 PTRACE_GET_THREAD_AREA_3264 = 0xc4 PTRACE_GET_WATCH_REGS = 0xd0 PTRACE_OLDSETOPTIONS = 0x15 PTRACE_PEEKDATA_3264 = 0xc1 PTRACE_PEEKTEXT_3264 = 0xc0 PTRACE_POKEDATA_3264 = 0xc3 PTRACE_POKETEXT_3264 = 0xc2 PTRACE_SETFPREGS = 0xf PTRACE_SET_THREAD_AREA = 0x1a PTRACE_SET_WATCH_REGS = 0xd1 RLIMIT_AS = 0x6 RLIMIT_MEMLOCK = 0x9 RLIMIT_NOFILE = 0x5 RLIMIT_NPROC = 0x8 RLIMIT_RSS = 0x7 RNDADDENTROPY = 0x80085203 RNDADDTOENTCNT = 0x80045201 RNDCLEARPOOL = 0x20005206 RNDGETENTCNT = 0x40045200 RNDGETPOOL = 0x40085202 RNDRESEEDCRNG = 0x20005207 RNDZAPENTCNT = 0x20005204 RTC_AIE_OFF = 0x20007002 RTC_AIE_ON = 0x20007001 RTC_ALM_READ = 0x40247008 RTC_ALM_SET = 0x80247007 RTC_EPOCH_READ = 0x4008700d RTC_EPOCH_SET = 0x8008700e RTC_IRQP_READ = 0x4008700b RTC_IRQP_SET = 0x8008700c RTC_PARAM_GET = 0x80187013 RTC_PARAM_SET = 0x80187014 RTC_PIE_OFF = 0x20007006 RTC_PIE_ON = 0x20007005 RTC_PLL_GET = 0x40207011 RTC_PLL_SET = 0x80207012 RTC_RD_TIME = 0x40247009 RTC_SET_TIME = 0x8024700a RTC_UIE_OFF = 0x20007004 RTC_UIE_ON = 0x20007003 RTC_VL_CLR = 0x20007014 RTC_VL_READ = 0x40047013 RTC_WIE_OFF = 0x20007010 RTC_WIE_ON = 0x2000700f RTC_WKALM_RD = 0x40287010 RTC_WKALM_SET = 0x8028700f SCM_TIMESTAMPING = 0x25 SCM_TIMESTAMPING_OPT_STATS = 0x36 SCM_TIMESTAMPING_PKTINFO = 0x3a SCM_TIMESTAMPNS = 0x23 SCM_TXTIME = 0x3d SCM_WIFI_STATUS = 0x29 SECCOMP_IOCTL_NOTIF_ADDFD = 0x80182103 SECCOMP_IOCTL_NOTIF_ID_VALID = 0x80082102 SECCOMP_IOCTL_NOTIF_SET_FLAGS = 0x80082104 SFD_CLOEXEC = 0x80000 SFD_NONBLOCK = 0x80 SIOCATMARK = 0x40047307 SIOCGPGRP = 0x40047309 SIOCGSTAMPNS_NEW = 0x40108907 SIOCGSTAMP_NEW = 0x40108906 SIOCINQ = 0x467f SIOCOUTQ = 0x7472 SIOCSPGRP = 0x80047308 SOCK_CLOEXEC = 0x80000 SOCK_DGRAM = 0x1 SOCK_NONBLOCK = 0x80 SOCK_STREAM = 0x2 SOL_SOCKET = 0xffff SO_ACCEPTCONN = 0x1009 SO_ATTACH_BPF = 0x32 SO_ATTACH_REUSEPORT_CBPF = 0x33 SO_ATTACH_REUSEPORT_EBPF = 0x34 SO_BINDTODEVICE = 0x19 SO_BINDTOIFINDEX = 0x3e SO_BPF_EXTENSIONS = 0x30 SO_BROADCAST = 0x20 SO_BSDCOMPAT = 0xe SO_BUF_LOCK = 0x48 SO_BUSY_POLL = 0x2e SO_BUSY_POLL_BUDGET = 0x46 SO_CNX_ADVICE = 0x35 SO_COOKIE = 0x39 SO_DETACH_REUSEPORT_BPF = 0x44 SO_DOMAIN = 0x1029 SO_DONTROUTE = 0x10 SO_ERROR = 0x1007 SO_INCOMING_CPU = 0x31 SO_INCOMING_NAPI_ID = 0x38 SO_KEEPALIVE = 0x8 SO_LINGER = 0x80 SO_LOCK_FILTER = 0x2c SO_MARK = 0x24 SO_MAX_PACING_RATE = 0x2f SO_MEMINFO = 0x37 SO_NETNS_COOKIE = 0x47 SO_NOFCS = 0x2b SO_OOBINLINE = 0x100 SO_PASSCRED = 0x11 SO_PASSPIDFD = 0x4c SO_PASSSEC = 0x22 SO_PEEK_OFF = 0x2a SO_PEERCRED = 0x12 SO_PEERGROUPS = 0x3b SO_PEERPIDFD = 0x4d SO_PEERSEC = 0x1e SO_PREFER_BUSY_POLL = 0x45 SO_PROTOCOL = 0x1028 SO_RCVBUF = 0x1002 SO_RCVBUFFORCE = 0x21 SO_RCVLOWAT = 0x1004 SO_RCVMARK = 0x4b SO_RCVTIMEO = 0x1006 SO_RCVTIMEO_NEW = 0x42 SO_RCVTIMEO_OLD = 0x1006 SO_RESERVE_MEM = 0x49 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_SNDTIMEO_NEW = 0x43 SO_SNDTIMEO_OLD = 0x1005 SO_STYLE = 0x1008 SO_TIMESTAMPING = 0x25 SO_TIMESTAMPING_NEW = 0x41 SO_TIMESTAMPING_OLD = 0x25 SO_TIMESTAMPNS = 0x23 SO_TIMESTAMPNS_NEW = 0x40 SO_TIMESTAMPNS_OLD = 0x23 SO_TIMESTAMP_NEW = 0x3f SO_TXREHASH = 0x4a SO_TXTIME = 0x3d SO_TYPE = 0x1008 SO_WIFI_STATUS = 0x29 SO_ZEROCOPY = 0x3c TAB1 = 0x800 TAB2 = 0x1000 TAB3 = 0x1800 TABDLY = 0x1800 TCFLSH = 0x5407 TCGETA = 0x5401 TCGETS = 0x540d TCGETS2 = 0x4030542a 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 TFD_CLOEXEC = 0x80000 TFD_NONBLOCK = 0x80 TIOCCBRK = 0x5428 TIOCCONS = 0x80047478 TIOCEXCL = 0x740d TIOCGDEV = 0x40045432 TIOCGETD = 0x7400 TIOCGETP = 0x7408 TIOCGEXCL = 0x40045440 TIOCGICOUNT = 0x5492 TIOCGISO7816 = 0x40285442 TIOCGLCKTRMIOS = 0x548b TIOCGLTC = 0x7474 TIOCGPGRP = 0x40047477 TIOCGPKT = 0x40045438 TIOCGPTLCK = 0x40045439 TIOCGPTN = 0x40045430 TIOCGPTPEER = 0x20005441 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_RI = 0x200 TIOCM_RNG = 0x200 TIOCM_SR = 0x20 TIOCM_ST = 0x10 TIOCNOTTY = 0x5471 TIOCNXCL = 0x740e TIOCOUTQ = 0x7472 TIOCPKT = 0x5470 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 TIOCSISO7816 = 0xc0285443 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 TUNGETDEVNETNS = 0x200054e3 TUNGETFEATURES = 0x400454cf TUNGETFILTER = 0x401054db TUNGETIFF = 0x400454d2 TUNGETSNDBUF = 0x400454d3 TUNGETVNETBE = 0x400454df TUNGETVNETHDRSZ = 0x400454d7 TUNGETVNETLE = 0x400454dd TUNSETCARRIER = 0x800454e2 TUNSETDEBUG = 0x800454c9 TUNSETFILTEREBPF = 0x400454e1 TUNSETGROUP = 0x800454ce TUNSETIFF = 0x800454ca TUNSETIFINDEX = 0x800454da TUNSETLINK = 0x800454cd TUNSETNOCSUM = 0x800454c8 TUNSETOFFLOAD = 0x800454d0 TUNSETOWNER = 0x800454cc TUNSETPERSIST = 0x800454cb TUNSETQUEUE = 0x800454d9 TUNSETSNDBUF = 0x800454d4 TUNSETSTEERINGEBPF = 0x400454e0 TUNSETTXFILTER = 0x800454d1 TUNSETVNETBE = 0x800454de TUNSETVNETHDRSZ = 0x800454d8 TUNSETVNETLE = 0x800454dc UBI_IOCATT = 0x80186f40 UBI_IOCDET = 0x80046f41 UBI_IOCEBCH = 0x80044f02 UBI_IOCEBER = 0x80044f01 UBI_IOCEBISMAP = 0x40044f05 UBI_IOCEBMAP = 0x80084f03 UBI_IOCEBUNMAP = 0x80044f04 UBI_IOCMKVOL = 0x80986f00 UBI_IOCRMVOL = 0x80046f01 UBI_IOCRNVOL = 0x91106f03 UBI_IOCRPEB = 0x80046f04 UBI_IOCRSVOL = 0x800c6f02 UBI_IOCSETVOLPROP = 0x80104f06 UBI_IOCSPEB = 0x80046f05 UBI_IOCVOLCRBLK = 0x80804f07 UBI_IOCVOLRMBLK = 0x20004f08 UBI_IOCVOLUP = 0x80084f00 VDISCARD = 0xd VEOF = 0x10 VEOL = 0x11 VEOL2 = 0x6 VMIN = 0x4 VREPRINT = 0xc VSTART = 0x8 VSTOP = 0x9 VSUSP = 0xa VSWTC = 0x7 VSWTCH = 0x7 VT1 = 0x4000 VTDLY = 0x4000 VTIME = 0x5 VWERASE = 0xe WDIOC_GETBOOTSTATUS = 0x40045702 WDIOC_GETPRETIMEOUT = 0x40045709 WDIOC_GETSTATUS = 0x40045701 WDIOC_GETSUPPORT = 0x40285700 WDIOC_GETTEMP = 0x40045703 WDIOC_GETTIMELEFT = 0x4004570a WDIOC_GETTIMEOUT = 0x40045707 WDIOC_KEEPALIVE = 0x40045705 WDIOC_SETOPTIONS = 0x40045704 WORDSIZE = 0x40 XCASE = 0x4 XTABS = 0x1800 _HIDIOCGRAWNAME = 0x40804804 _HIDIOCGRAWPHYS = 0x40404805 _HIDIOCGRAWUNIQ = 0x40404808 ) // Errors const ( EADDRINUSE = syscall.Errno(0x7d) EADDRNOTAVAIL = syscall.Errno(0x7e) EADV = syscall.Errno(0x44) EAFNOSUPPORT = syscall.Errno(0x7c) EALREADY = syscall.Errno(0x95) EBADE = syscall.Errno(0x32) EBADFD = syscall.Errno(0x51) EBADMSG = syscall.Errno(0x4d) EBADR = syscall.Errno(0x33) EBADRQC = syscall.Errno(0x36) EBADSLT = syscall.Errno(0x37) EBFONT = syscall.Errno(0x3b) ECANCELED = syscall.Errno(0x9e) 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) EDOTDOT = syscall.Errno(0x49) EDQUOT = syscall.Errno(0x46d) 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) EISCONN = syscall.Errno(0x85) 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) 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) ENOANO = syscall.Errno(0x35) ENOBUFS = syscall.Errno(0x84) ENOCSI = syscall.Errno(0x2b) ENODATA = syscall.Errno(0x3d) ENOKEY = syscall.Errno(0xa1) ENOLCK = syscall.Errno(0x2e) ENOLINK = syscall.Errno(0x43) ENOMEDIUM = syscall.Errno(0x9f) ENOMSG = syscall.Errno(0x23) ENONET = syscall.Errno(0x40) ENOPKG = syscall.Errno(0x41) ENOPROTOOPT = syscall.Errno(0x63) ENOSR = syscall.Errno(0x3f) ENOSTR = syscall.Errno(0x3c) ENOSYS = syscall.Errno(0x59) ENOTCONN = syscall.Errno(0x86) ENOTEMPTY = syscall.Errno(0x5d) ENOTNAM = syscall.Errno(0x89) ENOTRECOVERABLE = syscall.Errno(0xa6) ENOTSOCK = syscall.Errno(0x5f) ENOTSUP = syscall.Errno(0x7a) ENOTUNIQ = syscall.Errno(0x50) EOPNOTSUPP = syscall.Errno(0x7a) EOVERFLOW = syscall.Errno(0x4f) EOWNERDEAD = syscall.Errno(0xa5) EPFNOSUPPORT = syscall.Errno(0x7b) EPROTO = syscall.Errno(0x47) EPROTONOSUPPORT = syscall.Errno(0x78) EPROTOTYPE = syscall.Errno(0x62) EREMCHG = syscall.Errno(0x52) EREMDEV = syscall.Errno(0x8e) EREMOTE = syscall.Errno(0x42) EREMOTEIO = syscall.Errno(0x8c) ERESTART = syscall.Errno(0x5b) ERFKILL = syscall.Errno(0xa7) ESHUTDOWN = syscall.Errno(0x8f) ESOCKTNOSUPPORT = syscall.Errno(0x79) ESRMNT = syscall.Errno(0x45) ESTALE = syscall.Errno(0x97) ESTRPIPE = syscall.Errno(0x5c) ETIME = syscall.Errno(0x3e) ETIMEDOUT = syscall.Errno(0x91) ETOOMANYREFS = syscall.Errno(0x90) EUCLEAN = syscall.Errno(0x87) EUNATCH = syscall.Errno(0x2a) EUSERS = syscall.Errno(0x5e) EXFULL = syscall.Errno(0x34) ) // Signals const ( SIGBUS = syscall.Signal(0xa) SIGCHLD = syscall.Signal(0x12) SIGCLD = syscall.Signal(0x12) SIGCONT = syscall.Signal(0x19) SIGEMT = syscall.Signal(0x7) SIGIO = syscall.Signal(0x16) SIGPOLL = syscall.Signal(0x16) SIGPROF = syscall.Signal(0x1d) SIGPWR = syscall.Signal(0x13) SIGSTOP = syscall.Signal(0x17) SIGSYS = syscall.Signal(0xc) 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 errorList = [...]struct { num syscall.Errno name string desc string }{ {1, "EPERM", "operation not permitted"}, {2, "ENOENT", "no such file or directory"}, {3, "ESRCH", "no such process"}, {4, "EINTR", "interrupted system call"}, {5, "EIO", "input/output error"}, {6, "ENXIO", "no such device or address"}, {7, "E2BIG", "argument list too long"}, {8, "ENOEXEC", "exec format error"}, {9, "EBADF", "bad file descriptor"}, {10, "ECHILD", "no child processes"}, {11, "EAGAIN", "resource temporarily unavailable"}, {12, "ENOMEM", "cannot allocate memory"}, {13, "EACCES", "permission denied"}, {14, "EFAULT", "bad address"}, {15, "ENOTBLK", "block device required"}, {16, "EBUSY", "device or resource busy"}, {17, "EEXIST", "file exists"}, {18, "EXDEV", "invalid cross-device link"}, {19, "ENODEV", "no such device"}, {20, "ENOTDIR", "not a directory"}, {21, "EISDIR", "is a directory"}, {22, "EINVAL", "invalid argument"}, {23, "ENFILE", "too many open files in system"}, {24, "EMFILE", "too many open files"}, {25, "ENOTTY", "inappropriate ioctl for device"}, {26, "ETXTBSY", "text file busy"}, {27, "EFBIG", "file too large"}, {28, "ENOSPC", "no space left on device"}, {29, "ESPIPE", "illegal seek"}, {30, "EROFS", "read-only file system"}, {31, "EMLINK", "too many links"}, {32, "EPIPE", "broken pipe"}, {33, "EDOM", "numerical argument out of domain"}, {34, "ERANGE", "numerical result out of range"}, {35, "ENOMSG", "no message of desired type"}, {36, "EIDRM", "identifier removed"}, {37, "ECHRNG", "channel number out of range"}, {38, "EL2NSYNC", "level 2 not synchronized"}, {39, "EL3HLT", "level 3 halted"}, {40, "EL3RST", "level 3 reset"}, {41, "ELNRNG", "link number out of range"}, {42, "EUNATCH", "protocol driver not attached"}, {43, "ENOCSI", "no CSI structure available"}, {44, "EL2HLT", "level 2 halted"}, {45, "EDEADLK", "resource deadlock avoided"}, {46, "ENOLCK", "no locks available"}, {50, "EBADE", "invalid exchange"}, {51, "EBADR", "invalid request descriptor"}, {52, "EXFULL", "exchange full"}, {53, "ENOANO", "no anode"}, {54, "EBADRQC", "invalid request code"}, {55, "EBADSLT", "invalid slot"}, {56, "EDEADLOCK", "file locking deadlock error"}, {59, "EBFONT", "bad font file format"}, {60, "ENOSTR", "device not a stream"}, {61, "ENODATA", "no data available"}, {62, "ETIME", "timer expired"}, {63, "ENOSR", "out of streams resources"}, {64, "ENONET", "machine is not on the network"}, {65, "ENOPKG", "package not installed"}, {66, "EREMOTE", "object is remote"}, {67, "ENOLINK", "link has been severed"}, {68, "EADV", "advertise error"}, {69, "ESRMNT", "srmount error"}, {70, "ECOMM", "communication error on send"}, {71, "EPROTO", "protocol error"}, {73, "EDOTDOT", "RFS specific error"}, {74, "EMULTIHOP", "multihop attempted"}, {77, "EBADMSG", "bad message"}, {78, "ENAMETOOLONG", "file name too long"}, {79, "EOVERFLOW", "value too large for defined data type"}, {80, "ENOTUNIQ", "name not unique on network"}, {81, "EBADFD", "file descriptor in bad state"}, {82, "EREMCHG", "remote address changed"}, {83, "ELIBACC", "can not access a needed shared library"}, {84, "ELIBBAD", "accessing a corrupted shared library"}, {85, "ELIBSCN", ".lib section in a.out corrupted"}, {86, "ELIBMAX", "attempting to link in too many shared libraries"}, {87, "ELIBEXEC", "cannot exec a shared library directly"}, {88, "EILSEQ", "invalid or incomplete multibyte or wide character"}, {89, "ENOSYS", "function not implemented"}, {90, "ELOOP", "too many levels of symbolic links"}, {91, "ERESTART", "interrupted system call should be restarted"}, {92, "ESTRPIPE", "streams pipe error"}, {93, "ENOTEMPTY", "directory not empty"}, {94, "EUSERS", "too many users"}, {95, "ENOTSOCK", "socket operation on non-socket"}, {96, "EDESTADDRREQ", "destination address required"}, {97, "EMSGSIZE", "message too long"}, {98, "EPROTOTYPE", "protocol wrong type for socket"}, {99, "ENOPROTOOPT", "protocol not available"}, {120, "EPROTONOSUPPORT", "protocol not supported"}, {121, "ESOCKTNOSUPPORT", "socket type not supported"}, {122, "ENOTSUP", "operation not supported"}, {123, "EPFNOSUPPORT", "protocol family not supported"}, {124, "EAFNOSUPPORT", "address family not supported by protocol"}, {125, "EADDRINUSE", "address already in use"}, {126, "EADDRNOTAVAIL", "cannot assign requested address"}, {127, "ENETDOWN", "network is down"}, {128, "ENETUNREACH", "network is unreachable"}, {129, "ENETRESET", "network dropped connection on reset"}, {130, "ECONNABORTED", "software caused connection abort"}, {131, "ECONNRESET", "connection reset by peer"}, {132, "ENOBUFS", "no buffer space available"}, {133, "EISCONN", "transport endpoint is already connected"}, {134, "ENOTCONN", "transport endpoint is not connected"}, {135, "EUCLEAN", "structure needs cleaning"}, {137, "ENOTNAM", "not a XENIX named type file"}, {138, "ENAVAIL", "no XENIX semaphores available"}, {139, "EISNAM", "is a named type file"}, {140, "EREMOTEIO", "remote I/O error"}, {141, "EINIT", "unknown error 141"}, {142, "EREMDEV", "unknown error 142"}, {143, "ESHUTDOWN", "cannot send after transport endpoint shutdown"}, {144, "ETOOMANYREFS", "too many references: cannot splice"}, {145, "ETIMEDOUT", "connection timed out"}, {146, "ECONNREFUSED", "connection refused"}, {147, "EHOSTDOWN", "host is down"}, {148, "EHOSTUNREACH", "no route to host"}, {149, "EALREADY", "operation already in progress"}, {150, "EINPROGRESS", "operation now in progress"}, {151, "ESTALE", "stale file handle"}, {158, "ECANCELED", "operation canceled"}, {159, "ENOMEDIUM", "no medium found"}, {160, "EMEDIUMTYPE", "wrong medium type"}, {161, "ENOKEY", "required key not available"}, {162, "EKEYEXPIRED", "key has expired"}, {163, "EKEYREVOKED", "key has been revoked"}, {164, "EKEYREJECTED", "key was rejected by service"}, {165, "EOWNERDEAD", "owner died"}, {166, "ENOTRECOVERABLE", "state not recoverable"}, {167, "ERFKILL", "operation not possible due to RF-kill"}, {168, "EHWPOISON", "memory page has hardware error"}, {1133, "EDQUOT", "disk quota exceeded"}, } // Signal table var signalList = [...]struct { num syscall.Signal name string desc string }{ {1, "SIGHUP", "hangup"}, {2, "SIGINT", "interrupt"}, {3, "SIGQUIT", "quit"}, {4, "SIGILL", "illegal instruction"}, {5, "SIGTRAP", "trace/breakpoint trap"}, {6, "SIGABRT", "aborted"}, {7, "SIGEMT", "EMT trap"}, {8, "SIGFPE", "floating point exception"}, {9, "SIGKILL", "killed"}, {10, "SIGBUS", "bus error"}, {11, "SIGSEGV", "segmentation fault"}, {12, "SIGSYS", "bad system call"}, {13, "SIGPIPE", "broken pipe"}, {14, "SIGALRM", "alarm clock"}, {15, "SIGTERM", "terminated"}, {16, "SIGUSR1", "user defined signal 1"}, {17, "SIGUSR2", "user defined signal 2"}, {18, "SIGCHLD", "child exited"}, {19, "SIGPWR", "power failure"}, {20, "SIGWINCH", "window changed"}, {21, "SIGURG", "urgent I/O condition"}, {22, "SIGIO", "I/O possible"}, {23, "SIGSTOP", "stopped (signal)"}, {24, "SIGTSTP", "stopped"}, {25, "SIGCONT", "continued"}, {26, "SIGTTIN", "stopped (tty input)"}, {27, "SIGTTOU", "stopped (tty output)"}, {28, "SIGVTALRM", "virtual timer expired"}, {29, "SIGPROF", "profiling timer expired"}, {30, "SIGXCPU", "CPU time limit exceeded"}, {31, "SIGXFSZ", "file size limit exceeded"}, } dependencies/pkg/mod/golang.org/x/sys@v0.26.0/unix/dev_darwin.go0000644000000000000000000000135315107355264023264 0ustar rootroot// Copyright 2017 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. // Functions to access/create device major and minor numbers matching the // encoding used in Darwin's sys/types.h header. package unix // Major returns the major component of a Darwin device number. func Major(dev uint64) uint32 { return uint32((dev >> 24) & 0xff) } // Minor returns the minor component of a Darwin device number. func Minor(dev uint64) uint32 { return uint32(dev & 0xffffff) } // Mkdev returns a Darwin device number generated from the given major and minor // components. func Mkdev(major, minor uint32) uint64 { return (uint64(major) << 24) | uint64(minor) } dependencies/pkg/mod/golang.org/x/sys@v0.26.0/unix/zsyscall_openbsd_386.s0000644000000000000000000006561115107355264024764 0ustar rootroot// go run mkasm.go openbsd 386 // Code generated by the command above; DO NOT EDIT. #include "textflag.h" TEXT libc_getgroups_trampoline<>(SB),NOSPLIT,$0-0 JMP libc_getgroups(SB) GLOBL ·libc_getgroups_trampoline_addr(SB), RODATA, $4 DATA ·libc_getgroups_trampoline_addr(SB)/4, $libc_getgroups_trampoline<>(SB) TEXT libc_setgroups_trampoline<>(SB),NOSPLIT,$0-0 JMP libc_setgroups(SB) GLOBL ·libc_setgroups_trampoline_addr(SB), RODATA, $4 DATA ·libc_setgroups_trampoline_addr(SB)/4, $libc_setgroups_trampoline<>(SB) TEXT libc_wait4_trampoline<>(SB),NOSPLIT,$0-0 JMP libc_wait4(SB) GLOBL ·libc_wait4_trampoline_addr(SB), RODATA, $4 DATA ·libc_wait4_trampoline_addr(SB)/4, $libc_wait4_trampoline<>(SB) TEXT libc_accept_trampoline<>(SB),NOSPLIT,$0-0 JMP libc_accept(SB) GLOBL ·libc_accept_trampoline_addr(SB), RODATA, $4 DATA ·libc_accept_trampoline_addr(SB)/4, $libc_accept_trampoline<>(SB) TEXT libc_bind_trampoline<>(SB),NOSPLIT,$0-0 JMP libc_bind(SB) GLOBL ·libc_bind_trampoline_addr(SB), RODATA, $4 DATA ·libc_bind_trampoline_addr(SB)/4, $libc_bind_trampoline<>(SB) TEXT libc_connect_trampoline<>(SB),NOSPLIT,$0-0 JMP libc_connect(SB) GLOBL ·libc_connect_trampoline_addr(SB), RODATA, $4 DATA ·libc_connect_trampoline_addr(SB)/4, $libc_connect_trampoline<>(SB) TEXT libc_socket_trampoline<>(SB),NOSPLIT,$0-0 JMP libc_socket(SB) GLOBL ·libc_socket_trampoline_addr(SB), RODATA, $4 DATA ·libc_socket_trampoline_addr(SB)/4, $libc_socket_trampoline<>(SB) TEXT libc_getsockopt_trampoline<>(SB),NOSPLIT,$0-0 JMP libc_getsockopt(SB) GLOBL ·libc_getsockopt_trampoline_addr(SB), RODATA, $4 DATA ·libc_getsockopt_trampoline_addr(SB)/4, $libc_getsockopt_trampoline<>(SB) TEXT libc_setsockopt_trampoline<>(SB),NOSPLIT,$0-0 JMP libc_setsockopt(SB) GLOBL ·libc_setsockopt_trampoline_addr(SB), RODATA, $4 DATA ·libc_setsockopt_trampoline_addr(SB)/4, $libc_setsockopt_trampoline<>(SB) TEXT libc_getpeername_trampoline<>(SB),NOSPLIT,$0-0 JMP libc_getpeername(SB) GLOBL ·libc_getpeername_trampoline_addr(SB), RODATA, $4 DATA ·libc_getpeername_trampoline_addr(SB)/4, $libc_getpeername_trampoline<>(SB) TEXT libc_getsockname_trampoline<>(SB),NOSPLIT,$0-0 JMP libc_getsockname(SB) GLOBL ·libc_getsockname_trampoline_addr(SB), RODATA, $4 DATA ·libc_getsockname_trampoline_addr(SB)/4, $libc_getsockname_trampoline<>(SB) TEXT libc_shutdown_trampoline<>(SB),NOSPLIT,$0-0 JMP libc_shutdown(SB) GLOBL ·libc_shutdown_trampoline_addr(SB), RODATA, $4 DATA ·libc_shutdown_trampoline_addr(SB)/4, $libc_shutdown_trampoline<>(SB) TEXT libc_socketpair_trampoline<>(SB),NOSPLIT,$0-0 JMP libc_socketpair(SB) GLOBL ·libc_socketpair_trampoline_addr(SB), RODATA, $4 DATA ·libc_socketpair_trampoline_addr(SB)/4, $libc_socketpair_trampoline<>(SB) TEXT libc_recvfrom_trampoline<>(SB),NOSPLIT,$0-0 JMP libc_recvfrom(SB) GLOBL ·libc_recvfrom_trampoline_addr(SB), RODATA, $4 DATA ·libc_recvfrom_trampoline_addr(SB)/4, $libc_recvfrom_trampoline<>(SB) TEXT libc_sendto_trampoline<>(SB),NOSPLIT,$0-0 JMP libc_sendto(SB) GLOBL ·libc_sendto_trampoline_addr(SB), RODATA, $4 DATA ·libc_sendto_trampoline_addr(SB)/4, $libc_sendto_trampoline<>(SB) TEXT libc_recvmsg_trampoline<>(SB),NOSPLIT,$0-0 JMP libc_recvmsg(SB) GLOBL ·libc_recvmsg_trampoline_addr(SB), RODATA, $4 DATA ·libc_recvmsg_trampoline_addr(SB)/4, $libc_recvmsg_trampoline<>(SB) TEXT libc_sendmsg_trampoline<>(SB),NOSPLIT,$0-0 JMP libc_sendmsg(SB) GLOBL ·libc_sendmsg_trampoline_addr(SB), RODATA, $4 DATA ·libc_sendmsg_trampoline_addr(SB)/4, $libc_sendmsg_trampoline<>(SB) TEXT libc_kevent_trampoline<>(SB),NOSPLIT,$0-0 JMP libc_kevent(SB) GLOBL ·libc_kevent_trampoline_addr(SB), RODATA, $4 DATA ·libc_kevent_trampoline_addr(SB)/4, $libc_kevent_trampoline<>(SB) TEXT libc_utimes_trampoline<>(SB),NOSPLIT,$0-0 JMP libc_utimes(SB) GLOBL ·libc_utimes_trampoline_addr(SB), RODATA, $4 DATA ·libc_utimes_trampoline_addr(SB)/4, $libc_utimes_trampoline<>(SB) TEXT libc_futimes_trampoline<>(SB),NOSPLIT,$0-0 JMP libc_futimes(SB) GLOBL ·libc_futimes_trampoline_addr(SB), RODATA, $4 DATA ·libc_futimes_trampoline_addr(SB)/4, $libc_futimes_trampoline<>(SB) TEXT libc_poll_trampoline<>(SB),NOSPLIT,$0-0 JMP libc_poll(SB) GLOBL ·libc_poll_trampoline_addr(SB), RODATA, $4 DATA ·libc_poll_trampoline_addr(SB)/4, $libc_poll_trampoline<>(SB) TEXT libc_madvise_trampoline<>(SB),NOSPLIT,$0-0 JMP libc_madvise(SB) GLOBL ·libc_madvise_trampoline_addr(SB), RODATA, $4 DATA ·libc_madvise_trampoline_addr(SB)/4, $libc_madvise_trampoline<>(SB) TEXT libc_mlock_trampoline<>(SB),NOSPLIT,$0-0 JMP libc_mlock(SB) GLOBL ·libc_mlock_trampoline_addr(SB), RODATA, $4 DATA ·libc_mlock_trampoline_addr(SB)/4, $libc_mlock_trampoline<>(SB) TEXT libc_mlockall_trampoline<>(SB),NOSPLIT,$0-0 JMP libc_mlockall(SB) GLOBL ·libc_mlockall_trampoline_addr(SB), RODATA, $4 DATA ·libc_mlockall_trampoline_addr(SB)/4, $libc_mlockall_trampoline<>(SB) TEXT libc_mprotect_trampoline<>(SB),NOSPLIT,$0-0 JMP libc_mprotect(SB) GLOBL ·libc_mprotect_trampoline_addr(SB), RODATA, $4 DATA ·libc_mprotect_trampoline_addr(SB)/4, $libc_mprotect_trampoline<>(SB) TEXT libc_msync_trampoline<>(SB),NOSPLIT,$0-0 JMP libc_msync(SB) GLOBL ·libc_msync_trampoline_addr(SB), RODATA, $4 DATA ·libc_msync_trampoline_addr(SB)/4, $libc_msync_trampoline<>(SB) TEXT libc_munlock_trampoline<>(SB),NOSPLIT,$0-0 JMP libc_munlock(SB) GLOBL ·libc_munlock_trampoline_addr(SB), RODATA, $4 DATA ·libc_munlock_trampoline_addr(SB)/4, $libc_munlock_trampoline<>(SB) TEXT libc_munlockall_trampoline<>(SB),NOSPLIT,$0-0 JMP libc_munlockall(SB) GLOBL ·libc_munlockall_trampoline_addr(SB), RODATA, $4 DATA ·libc_munlockall_trampoline_addr(SB)/4, $libc_munlockall_trampoline<>(SB) TEXT libc_pipe2_trampoline<>(SB),NOSPLIT,$0-0 JMP libc_pipe2(SB) GLOBL ·libc_pipe2_trampoline_addr(SB), RODATA, $4 DATA ·libc_pipe2_trampoline_addr(SB)/4, $libc_pipe2_trampoline<>(SB) TEXT libc_getdents_trampoline<>(SB),NOSPLIT,$0-0 JMP libc_getdents(SB) GLOBL ·libc_getdents_trampoline_addr(SB), RODATA, $4 DATA ·libc_getdents_trampoline_addr(SB)/4, $libc_getdents_trampoline<>(SB) TEXT libc_getcwd_trampoline<>(SB),NOSPLIT,$0-0 JMP libc_getcwd(SB) GLOBL ·libc_getcwd_trampoline_addr(SB), RODATA, $4 DATA ·libc_getcwd_trampoline_addr(SB)/4, $libc_getcwd_trampoline<>(SB) TEXT libc_getresuid_trampoline<>(SB),NOSPLIT,$0-0 JMP libc_getresuid(SB) GLOBL ·libc_getresuid_trampoline_addr(SB), RODATA, $4 DATA ·libc_getresuid_trampoline_addr(SB)/4, $libc_getresuid_trampoline<>(SB) TEXT libc_getresgid_trampoline<>(SB),NOSPLIT,$0-0 JMP libc_getresgid(SB) GLOBL ·libc_getresgid_trampoline_addr(SB), RODATA, $4 DATA ·libc_getresgid_trampoline_addr(SB)/4, $libc_getresgid_trampoline<>(SB) TEXT libc_ioctl_trampoline<>(SB),NOSPLIT,$0-0 JMP libc_ioctl(SB) GLOBL ·libc_ioctl_trampoline_addr(SB), RODATA, $4 DATA ·libc_ioctl_trampoline_addr(SB)/4, $libc_ioctl_trampoline<>(SB) TEXT libc_sysctl_trampoline<>(SB),NOSPLIT,$0-0 JMP libc_sysctl(SB) GLOBL ·libc_sysctl_trampoline_addr(SB), RODATA, $4 DATA ·libc_sysctl_trampoline_addr(SB)/4, $libc_sysctl_trampoline<>(SB) TEXT libc_fcntl_trampoline<>(SB),NOSPLIT,$0-0 JMP libc_fcntl(SB) GLOBL ·libc_fcntl_trampoline_addr(SB), RODATA, $4 DATA ·libc_fcntl_trampoline_addr(SB)/4, $libc_fcntl_trampoline<>(SB) TEXT libc_ppoll_trampoline<>(SB),NOSPLIT,$0-0 JMP libc_ppoll(SB) GLOBL ·libc_ppoll_trampoline_addr(SB), RODATA, $4 DATA ·libc_ppoll_trampoline_addr(SB)/4, $libc_ppoll_trampoline<>(SB) TEXT libc_access_trampoline<>(SB),NOSPLIT,$0-0 JMP libc_access(SB) GLOBL ·libc_access_trampoline_addr(SB), RODATA, $4 DATA ·libc_access_trampoline_addr(SB)/4, $libc_access_trampoline<>(SB) TEXT libc_adjtime_trampoline<>(SB),NOSPLIT,$0-0 JMP libc_adjtime(SB) GLOBL ·libc_adjtime_trampoline_addr(SB), RODATA, $4 DATA ·libc_adjtime_trampoline_addr(SB)/4, $libc_adjtime_trampoline<>(SB) TEXT libc_chdir_trampoline<>(SB),NOSPLIT,$0-0 JMP libc_chdir(SB) GLOBL ·libc_chdir_trampoline_addr(SB), RODATA, $4 DATA ·libc_chdir_trampoline_addr(SB)/4, $libc_chdir_trampoline<>(SB) TEXT libc_chflags_trampoline<>(SB),NOSPLIT,$0-0 JMP libc_chflags(SB) GLOBL ·libc_chflags_trampoline_addr(SB), RODATA, $4 DATA ·libc_chflags_trampoline_addr(SB)/4, $libc_chflags_trampoline<>(SB) TEXT libc_chmod_trampoline<>(SB),NOSPLIT,$0-0 JMP libc_chmod(SB) GLOBL ·libc_chmod_trampoline_addr(SB), RODATA, $4 DATA ·libc_chmod_trampoline_addr(SB)/4, $libc_chmod_trampoline<>(SB) TEXT libc_chown_trampoline<>(SB),NOSPLIT,$0-0 JMP libc_chown(SB) GLOBL ·libc_chown_trampoline_addr(SB), RODATA, $4 DATA ·libc_chown_trampoline_addr(SB)/4, $libc_chown_trampoline<>(SB) TEXT libc_chroot_trampoline<>(SB),NOSPLIT,$0-0 JMP libc_chroot(SB) GLOBL ·libc_chroot_trampoline_addr(SB), RODATA, $4 DATA ·libc_chroot_trampoline_addr(SB)/4, $libc_chroot_trampoline<>(SB) TEXT libc_clock_gettime_trampoline<>(SB),NOSPLIT,$0-0 JMP libc_clock_gettime(SB) GLOBL ·libc_clock_gettime_trampoline_addr(SB), RODATA, $4 DATA ·libc_clock_gettime_trampoline_addr(SB)/4, $libc_clock_gettime_trampoline<>(SB) TEXT libc_close_trampoline<>(SB),NOSPLIT,$0-0 JMP libc_close(SB) GLOBL ·libc_close_trampoline_addr(SB), RODATA, $4 DATA ·libc_close_trampoline_addr(SB)/4, $libc_close_trampoline<>(SB) TEXT libc_dup_trampoline<>(SB),NOSPLIT,$0-0 JMP libc_dup(SB) GLOBL ·libc_dup_trampoline_addr(SB), RODATA, $4 DATA ·libc_dup_trampoline_addr(SB)/4, $libc_dup_trampoline<>(SB) TEXT libc_dup2_trampoline<>(SB),NOSPLIT,$0-0 JMP libc_dup2(SB) GLOBL ·libc_dup2_trampoline_addr(SB), RODATA, $4 DATA ·libc_dup2_trampoline_addr(SB)/4, $libc_dup2_trampoline<>(SB) TEXT libc_dup3_trampoline<>(SB),NOSPLIT,$0-0 JMP libc_dup3(SB) GLOBL ·libc_dup3_trampoline_addr(SB), RODATA, $4 DATA ·libc_dup3_trampoline_addr(SB)/4, $libc_dup3_trampoline<>(SB) TEXT libc_exit_trampoline<>(SB),NOSPLIT,$0-0 JMP libc_exit(SB) GLOBL ·libc_exit_trampoline_addr(SB), RODATA, $4 DATA ·libc_exit_trampoline_addr(SB)/4, $libc_exit_trampoline<>(SB) TEXT libc_faccessat_trampoline<>(SB),NOSPLIT,$0-0 JMP libc_faccessat(SB) GLOBL ·libc_faccessat_trampoline_addr(SB), RODATA, $4 DATA ·libc_faccessat_trampoline_addr(SB)/4, $libc_faccessat_trampoline<>(SB) TEXT libc_fchdir_trampoline<>(SB),NOSPLIT,$0-0 JMP libc_fchdir(SB) GLOBL ·libc_fchdir_trampoline_addr(SB), RODATA, $4 DATA ·libc_fchdir_trampoline_addr(SB)/4, $libc_fchdir_trampoline<>(SB) TEXT libc_fchflags_trampoline<>(SB),NOSPLIT,$0-0 JMP libc_fchflags(SB) GLOBL ·libc_fchflags_trampoline_addr(SB), RODATA, $4 DATA ·libc_fchflags_trampoline_addr(SB)/4, $libc_fchflags_trampoline<>(SB) TEXT libc_fchmod_trampoline<>(SB),NOSPLIT,$0-0 JMP libc_fchmod(SB) GLOBL ·libc_fchmod_trampoline_addr(SB), RODATA, $4 DATA ·libc_fchmod_trampoline_addr(SB)/4, $libc_fchmod_trampoline<>(SB) TEXT libc_fchmodat_trampoline<>(SB),NOSPLIT,$0-0 JMP libc_fchmodat(SB) GLOBL ·libc_fchmodat_trampoline_addr(SB), RODATA, $4 DATA ·libc_fchmodat_trampoline_addr(SB)/4, $libc_fchmodat_trampoline<>(SB) TEXT libc_fchown_trampoline<>(SB),NOSPLIT,$0-0 JMP libc_fchown(SB) GLOBL ·libc_fchown_trampoline_addr(SB), RODATA, $4 DATA ·libc_fchown_trampoline_addr(SB)/4, $libc_fchown_trampoline<>(SB) TEXT libc_fchownat_trampoline<>(SB),NOSPLIT,$0-0 JMP libc_fchownat(SB) GLOBL ·libc_fchownat_trampoline_addr(SB), RODATA, $4 DATA ·libc_fchownat_trampoline_addr(SB)/4, $libc_fchownat_trampoline<>(SB) TEXT libc_flock_trampoline<>(SB),NOSPLIT,$0-0 JMP libc_flock(SB) GLOBL ·libc_flock_trampoline_addr(SB), RODATA, $4 DATA ·libc_flock_trampoline_addr(SB)/4, $libc_flock_trampoline<>(SB) TEXT libc_fpathconf_trampoline<>(SB),NOSPLIT,$0-0 JMP libc_fpathconf(SB) GLOBL ·libc_fpathconf_trampoline_addr(SB), RODATA, $4 DATA ·libc_fpathconf_trampoline_addr(SB)/4, $libc_fpathconf_trampoline<>(SB) TEXT libc_fstat_trampoline<>(SB),NOSPLIT,$0-0 JMP libc_fstat(SB) GLOBL ·libc_fstat_trampoline_addr(SB), RODATA, $4 DATA ·libc_fstat_trampoline_addr(SB)/4, $libc_fstat_trampoline<>(SB) TEXT libc_fstatat_trampoline<>(SB),NOSPLIT,$0-0 JMP libc_fstatat(SB) GLOBL ·libc_fstatat_trampoline_addr(SB), RODATA, $4 DATA ·libc_fstatat_trampoline_addr(SB)/4, $libc_fstatat_trampoline<>(SB) TEXT libc_fstatfs_trampoline<>(SB),NOSPLIT,$0-0 JMP libc_fstatfs(SB) GLOBL ·libc_fstatfs_trampoline_addr(SB), RODATA, $4 DATA ·libc_fstatfs_trampoline_addr(SB)/4, $libc_fstatfs_trampoline<>(SB) TEXT libc_fsync_trampoline<>(SB),NOSPLIT,$0-0 JMP libc_fsync(SB) GLOBL ·libc_fsync_trampoline_addr(SB), RODATA, $4 DATA ·libc_fsync_trampoline_addr(SB)/4, $libc_fsync_trampoline<>(SB) TEXT libc_ftruncate_trampoline<>(SB),NOSPLIT,$0-0 JMP libc_ftruncate(SB) GLOBL ·libc_ftruncate_trampoline_addr(SB), RODATA, $4 DATA ·libc_ftruncate_trampoline_addr(SB)/4, $libc_ftruncate_trampoline<>(SB) TEXT libc_getegid_trampoline<>(SB),NOSPLIT,$0-0 JMP libc_getegid(SB) GLOBL ·libc_getegid_trampoline_addr(SB), RODATA, $4 DATA ·libc_getegid_trampoline_addr(SB)/4, $libc_getegid_trampoline<>(SB) TEXT libc_geteuid_trampoline<>(SB),NOSPLIT,$0-0 JMP libc_geteuid(SB) GLOBL ·libc_geteuid_trampoline_addr(SB), RODATA, $4 DATA ·libc_geteuid_trampoline_addr(SB)/4, $libc_geteuid_trampoline<>(SB) TEXT libc_getgid_trampoline<>(SB),NOSPLIT,$0-0 JMP libc_getgid(SB) GLOBL ·libc_getgid_trampoline_addr(SB), RODATA, $4 DATA ·libc_getgid_trampoline_addr(SB)/4, $libc_getgid_trampoline<>(SB) TEXT libc_getpgid_trampoline<>(SB),NOSPLIT,$0-0 JMP libc_getpgid(SB) GLOBL ·libc_getpgid_trampoline_addr(SB), RODATA, $4 DATA ·libc_getpgid_trampoline_addr(SB)/4, $libc_getpgid_trampoline<>(SB) TEXT libc_getpgrp_trampoline<>(SB),NOSPLIT,$0-0 JMP libc_getpgrp(SB) GLOBL ·libc_getpgrp_trampoline_addr(SB), RODATA, $4 DATA ·libc_getpgrp_trampoline_addr(SB)/4, $libc_getpgrp_trampoline<>(SB) TEXT libc_getpid_trampoline<>(SB),NOSPLIT,$0-0 JMP libc_getpid(SB) GLOBL ·libc_getpid_trampoline_addr(SB), RODATA, $4 DATA ·libc_getpid_trampoline_addr(SB)/4, $libc_getpid_trampoline<>(SB) TEXT libc_getppid_trampoline<>(SB),NOSPLIT,$0-0 JMP libc_getppid(SB) GLOBL ·libc_getppid_trampoline_addr(SB), RODATA, $4 DATA ·libc_getppid_trampoline_addr(SB)/4, $libc_getppid_trampoline<>(SB) TEXT libc_getpriority_trampoline<>(SB),NOSPLIT,$0-0 JMP libc_getpriority(SB) GLOBL ·libc_getpriority_trampoline_addr(SB), RODATA, $4 DATA ·libc_getpriority_trampoline_addr(SB)/4, $libc_getpriority_trampoline<>(SB) TEXT libc_getrlimit_trampoline<>(SB),NOSPLIT,$0-0 JMP libc_getrlimit(SB) GLOBL ·libc_getrlimit_trampoline_addr(SB), RODATA, $4 DATA ·libc_getrlimit_trampoline_addr(SB)/4, $libc_getrlimit_trampoline<>(SB) TEXT libc_getrtable_trampoline<>(SB),NOSPLIT,$0-0 JMP libc_getrtable(SB) GLOBL ·libc_getrtable_trampoline_addr(SB), RODATA, $4 DATA ·libc_getrtable_trampoline_addr(SB)/4, $libc_getrtable_trampoline<>(SB) TEXT libc_getrusage_trampoline<>(SB),NOSPLIT,$0-0 JMP libc_getrusage(SB) GLOBL ·libc_getrusage_trampoline_addr(SB), RODATA, $4 DATA ·libc_getrusage_trampoline_addr(SB)/4, $libc_getrusage_trampoline<>(SB) TEXT libc_getsid_trampoline<>(SB),NOSPLIT,$0-0 JMP libc_getsid(SB) GLOBL ·libc_getsid_trampoline_addr(SB), RODATA, $4 DATA ·libc_getsid_trampoline_addr(SB)/4, $libc_getsid_trampoline<>(SB) TEXT libc_gettimeofday_trampoline<>(SB),NOSPLIT,$0-0 JMP libc_gettimeofday(SB) GLOBL ·libc_gettimeofday_trampoline_addr(SB), RODATA, $4 DATA ·libc_gettimeofday_trampoline_addr(SB)/4, $libc_gettimeofday_trampoline<>(SB) TEXT libc_getuid_trampoline<>(SB),NOSPLIT,$0-0 JMP libc_getuid(SB) GLOBL ·libc_getuid_trampoline_addr(SB), RODATA, $4 DATA ·libc_getuid_trampoline_addr(SB)/4, $libc_getuid_trampoline<>(SB) TEXT libc_issetugid_trampoline<>(SB),NOSPLIT,$0-0 JMP libc_issetugid(SB) GLOBL ·libc_issetugid_trampoline_addr(SB), RODATA, $4 DATA ·libc_issetugid_trampoline_addr(SB)/4, $libc_issetugid_trampoline<>(SB) TEXT libc_kill_trampoline<>(SB),NOSPLIT,$0-0 JMP libc_kill(SB) GLOBL ·libc_kill_trampoline_addr(SB), RODATA, $4 DATA ·libc_kill_trampoline_addr(SB)/4, $libc_kill_trampoline<>(SB) TEXT libc_kqueue_trampoline<>(SB),NOSPLIT,$0-0 JMP libc_kqueue(SB) GLOBL ·libc_kqueue_trampoline_addr(SB), RODATA, $4 DATA ·libc_kqueue_trampoline_addr(SB)/4, $libc_kqueue_trampoline<>(SB) TEXT libc_lchown_trampoline<>(SB),NOSPLIT,$0-0 JMP libc_lchown(SB) GLOBL ·libc_lchown_trampoline_addr(SB), RODATA, $4 DATA ·libc_lchown_trampoline_addr(SB)/4, $libc_lchown_trampoline<>(SB) TEXT libc_link_trampoline<>(SB),NOSPLIT,$0-0 JMP libc_link(SB) GLOBL ·libc_link_trampoline_addr(SB), RODATA, $4 DATA ·libc_link_trampoline_addr(SB)/4, $libc_link_trampoline<>(SB) TEXT libc_linkat_trampoline<>(SB),NOSPLIT,$0-0 JMP libc_linkat(SB) GLOBL ·libc_linkat_trampoline_addr(SB), RODATA, $4 DATA ·libc_linkat_trampoline_addr(SB)/4, $libc_linkat_trampoline<>(SB) TEXT libc_listen_trampoline<>(SB),NOSPLIT,$0-0 JMP libc_listen(SB) GLOBL ·libc_listen_trampoline_addr(SB), RODATA, $4 DATA ·libc_listen_trampoline_addr(SB)/4, $libc_listen_trampoline<>(SB) TEXT libc_lstat_trampoline<>(SB),NOSPLIT,$0-0 JMP libc_lstat(SB) GLOBL ·libc_lstat_trampoline_addr(SB), RODATA, $4 DATA ·libc_lstat_trampoline_addr(SB)/4, $libc_lstat_trampoline<>(SB) TEXT libc_mkdir_trampoline<>(SB),NOSPLIT,$0-0 JMP libc_mkdir(SB) GLOBL ·libc_mkdir_trampoline_addr(SB), RODATA, $4 DATA ·libc_mkdir_trampoline_addr(SB)/4, $libc_mkdir_trampoline<>(SB) TEXT libc_mkdirat_trampoline<>(SB),NOSPLIT,$0-0 JMP libc_mkdirat(SB) GLOBL ·libc_mkdirat_trampoline_addr(SB), RODATA, $4 DATA ·libc_mkdirat_trampoline_addr(SB)/4, $libc_mkdirat_trampoline<>(SB) TEXT libc_mkfifo_trampoline<>(SB),NOSPLIT,$0-0 JMP libc_mkfifo(SB) GLOBL ·libc_mkfifo_trampoline_addr(SB), RODATA, $4 DATA ·libc_mkfifo_trampoline_addr(SB)/4, $libc_mkfifo_trampoline<>(SB) TEXT libc_mkfifoat_trampoline<>(SB),NOSPLIT,$0-0 JMP libc_mkfifoat(SB) GLOBL ·libc_mkfifoat_trampoline_addr(SB), RODATA, $4 DATA ·libc_mkfifoat_trampoline_addr(SB)/4, $libc_mkfifoat_trampoline<>(SB) TEXT libc_mknod_trampoline<>(SB),NOSPLIT,$0-0 JMP libc_mknod(SB) GLOBL ·libc_mknod_trampoline_addr(SB), RODATA, $4 DATA ·libc_mknod_trampoline_addr(SB)/4, $libc_mknod_trampoline<>(SB) TEXT libc_mknodat_trampoline<>(SB),NOSPLIT,$0-0 JMP libc_mknodat(SB) GLOBL ·libc_mknodat_trampoline_addr(SB), RODATA, $4 DATA ·libc_mknodat_trampoline_addr(SB)/4, $libc_mknodat_trampoline<>(SB) TEXT libc_mount_trampoline<>(SB),NOSPLIT,$0-0 JMP libc_mount(SB) GLOBL ·libc_mount_trampoline_addr(SB), RODATA, $4 DATA ·libc_mount_trampoline_addr(SB)/4, $libc_mount_trampoline<>(SB) TEXT libc_nanosleep_trampoline<>(SB),NOSPLIT,$0-0 JMP libc_nanosleep(SB) GLOBL ·libc_nanosleep_trampoline_addr(SB), RODATA, $4 DATA ·libc_nanosleep_trampoline_addr(SB)/4, $libc_nanosleep_trampoline<>(SB) TEXT libc_open_trampoline<>(SB),NOSPLIT,$0-0 JMP libc_open(SB) GLOBL ·libc_open_trampoline_addr(SB), RODATA, $4 DATA ·libc_open_trampoline_addr(SB)/4, $libc_open_trampoline<>(SB) TEXT libc_openat_trampoline<>(SB),NOSPLIT,$0-0 JMP libc_openat(SB) GLOBL ·libc_openat_trampoline_addr(SB), RODATA, $4 DATA ·libc_openat_trampoline_addr(SB)/4, $libc_openat_trampoline<>(SB) TEXT libc_pathconf_trampoline<>(SB),NOSPLIT,$0-0 JMP libc_pathconf(SB) GLOBL ·libc_pathconf_trampoline_addr(SB), RODATA, $4 DATA ·libc_pathconf_trampoline_addr(SB)/4, $libc_pathconf_trampoline<>(SB) TEXT libc_pread_trampoline<>(SB),NOSPLIT,$0-0 JMP libc_pread(SB) GLOBL ·libc_pread_trampoline_addr(SB), RODATA, $4 DATA ·libc_pread_trampoline_addr(SB)/4, $libc_pread_trampoline<>(SB) TEXT libc_pwrite_trampoline<>(SB),NOSPLIT,$0-0 JMP libc_pwrite(SB) GLOBL ·libc_pwrite_trampoline_addr(SB), RODATA, $4 DATA ·libc_pwrite_trampoline_addr(SB)/4, $libc_pwrite_trampoline<>(SB) TEXT libc_read_trampoline<>(SB),NOSPLIT,$0-0 JMP libc_read(SB) GLOBL ·libc_read_trampoline_addr(SB), RODATA, $4 DATA ·libc_read_trampoline_addr(SB)/4, $libc_read_trampoline<>(SB) TEXT libc_readlink_trampoline<>(SB),NOSPLIT,$0-0 JMP libc_readlink(SB) GLOBL ·libc_readlink_trampoline_addr(SB), RODATA, $4 DATA ·libc_readlink_trampoline_addr(SB)/4, $libc_readlink_trampoline<>(SB) TEXT libc_readlinkat_trampoline<>(SB),NOSPLIT,$0-0 JMP libc_readlinkat(SB) GLOBL ·libc_readlinkat_trampoline_addr(SB), RODATA, $4 DATA ·libc_readlinkat_trampoline_addr(SB)/4, $libc_readlinkat_trampoline<>(SB) TEXT libc_rename_trampoline<>(SB),NOSPLIT,$0-0 JMP libc_rename(SB) GLOBL ·libc_rename_trampoline_addr(SB), RODATA, $4 DATA ·libc_rename_trampoline_addr(SB)/4, $libc_rename_trampoline<>(SB) TEXT libc_renameat_trampoline<>(SB),NOSPLIT,$0-0 JMP libc_renameat(SB) GLOBL ·libc_renameat_trampoline_addr(SB), RODATA, $4 DATA ·libc_renameat_trampoline_addr(SB)/4, $libc_renameat_trampoline<>(SB) TEXT libc_revoke_trampoline<>(SB),NOSPLIT,$0-0 JMP libc_revoke(SB) GLOBL ·libc_revoke_trampoline_addr(SB), RODATA, $4 DATA ·libc_revoke_trampoline_addr(SB)/4, $libc_revoke_trampoline<>(SB) TEXT libc_rmdir_trampoline<>(SB),NOSPLIT,$0-0 JMP libc_rmdir(SB) GLOBL ·libc_rmdir_trampoline_addr(SB), RODATA, $4 DATA ·libc_rmdir_trampoline_addr(SB)/4, $libc_rmdir_trampoline<>(SB) TEXT libc_lseek_trampoline<>(SB),NOSPLIT,$0-0 JMP libc_lseek(SB) GLOBL ·libc_lseek_trampoline_addr(SB), RODATA, $4 DATA ·libc_lseek_trampoline_addr(SB)/4, $libc_lseek_trampoline<>(SB) TEXT libc_select_trampoline<>(SB),NOSPLIT,$0-0 JMP libc_select(SB) GLOBL ·libc_select_trampoline_addr(SB), RODATA, $4 DATA ·libc_select_trampoline_addr(SB)/4, $libc_select_trampoline<>(SB) TEXT libc_setegid_trampoline<>(SB),NOSPLIT,$0-0 JMP libc_setegid(SB) GLOBL ·libc_setegid_trampoline_addr(SB), RODATA, $4 DATA ·libc_setegid_trampoline_addr(SB)/4, $libc_setegid_trampoline<>(SB) TEXT libc_seteuid_trampoline<>(SB),NOSPLIT,$0-0 JMP libc_seteuid(SB) GLOBL ·libc_seteuid_trampoline_addr(SB), RODATA, $4 DATA ·libc_seteuid_trampoline_addr(SB)/4, $libc_seteuid_trampoline<>(SB) TEXT libc_setgid_trampoline<>(SB),NOSPLIT,$0-0 JMP libc_setgid(SB) GLOBL ·libc_setgid_trampoline_addr(SB), RODATA, $4 DATA ·libc_setgid_trampoline_addr(SB)/4, $libc_setgid_trampoline<>(SB) TEXT libc_setlogin_trampoline<>(SB),NOSPLIT,$0-0 JMP libc_setlogin(SB) GLOBL ·libc_setlogin_trampoline_addr(SB), RODATA, $4 DATA ·libc_setlogin_trampoline_addr(SB)/4, $libc_setlogin_trampoline<>(SB) TEXT libc_setpgid_trampoline<>(SB),NOSPLIT,$0-0 JMP libc_setpgid(SB) GLOBL ·libc_setpgid_trampoline_addr(SB), RODATA, $4 DATA ·libc_setpgid_trampoline_addr(SB)/4, $libc_setpgid_trampoline<>(SB) TEXT libc_setpriority_trampoline<>(SB),NOSPLIT,$0-0 JMP libc_setpriority(SB) GLOBL ·libc_setpriority_trampoline_addr(SB), RODATA, $4 DATA ·libc_setpriority_trampoline_addr(SB)/4, $libc_setpriority_trampoline<>(SB) TEXT libc_setregid_trampoline<>(SB),NOSPLIT,$0-0 JMP libc_setregid(SB) GLOBL ·libc_setregid_trampoline_addr(SB), RODATA, $4 DATA ·libc_setregid_trampoline_addr(SB)/4, $libc_setregid_trampoline<>(SB) TEXT libc_setreuid_trampoline<>(SB),NOSPLIT,$0-0 JMP libc_setreuid(SB) GLOBL ·libc_setreuid_trampoline_addr(SB), RODATA, $4 DATA ·libc_setreuid_trampoline_addr(SB)/4, $libc_setreuid_trampoline<>(SB) TEXT libc_setresgid_trampoline<>(SB),NOSPLIT,$0-0 JMP libc_setresgid(SB) GLOBL ·libc_setresgid_trampoline_addr(SB), RODATA, $4 DATA ·libc_setresgid_trampoline_addr(SB)/4, $libc_setresgid_trampoline<>(SB) TEXT libc_setresuid_trampoline<>(SB),NOSPLIT,$0-0 JMP libc_setresuid(SB) GLOBL ·libc_setresuid_trampoline_addr(SB), RODATA, $4 DATA ·libc_setresuid_trampoline_addr(SB)/4, $libc_setresuid_trampoline<>(SB) TEXT libc_setrtable_trampoline<>(SB),NOSPLIT,$0-0 JMP libc_setrtable(SB) GLOBL ·libc_setrtable_trampoline_addr(SB), RODATA, $4 DATA ·libc_setrtable_trampoline_addr(SB)/4, $libc_setrtable_trampoline<>(SB) TEXT libc_setsid_trampoline<>(SB),NOSPLIT,$0-0 JMP libc_setsid(SB) GLOBL ·libc_setsid_trampoline_addr(SB), RODATA, $4 DATA ·libc_setsid_trampoline_addr(SB)/4, $libc_setsid_trampoline<>(SB) TEXT libc_settimeofday_trampoline<>(SB),NOSPLIT,$0-0 JMP libc_settimeofday(SB) GLOBL ·libc_settimeofday_trampoline_addr(SB), RODATA, $4 DATA ·libc_settimeofday_trampoline_addr(SB)/4, $libc_settimeofday_trampoline<>(SB) TEXT libc_setuid_trampoline<>(SB),NOSPLIT,$0-0 JMP libc_setuid(SB) GLOBL ·libc_setuid_trampoline_addr(SB), RODATA, $4 DATA ·libc_setuid_trampoline_addr(SB)/4, $libc_setuid_trampoline<>(SB) TEXT libc_stat_trampoline<>(SB),NOSPLIT,$0-0 JMP libc_stat(SB) GLOBL ·libc_stat_trampoline_addr(SB), RODATA, $4 DATA ·libc_stat_trampoline_addr(SB)/4, $libc_stat_trampoline<>(SB) TEXT libc_statfs_trampoline<>(SB),NOSPLIT,$0-0 JMP libc_statfs(SB) GLOBL ·libc_statfs_trampoline_addr(SB), RODATA, $4 DATA ·libc_statfs_trampoline_addr(SB)/4, $libc_statfs_trampoline<>(SB) TEXT libc_symlink_trampoline<>(SB),NOSPLIT,$0-0 JMP libc_symlink(SB) GLOBL ·libc_symlink_trampoline_addr(SB), RODATA, $4 DATA ·libc_symlink_trampoline_addr(SB)/4, $libc_symlink_trampoline<>(SB) TEXT libc_symlinkat_trampoline<>(SB),NOSPLIT,$0-0 JMP libc_symlinkat(SB) GLOBL ·libc_symlinkat_trampoline_addr(SB), RODATA, $4 DATA ·libc_symlinkat_trampoline_addr(SB)/4, $libc_symlinkat_trampoline<>(SB) TEXT libc_sync_trampoline<>(SB),NOSPLIT,$0-0 JMP libc_sync(SB) GLOBL ·libc_sync_trampoline_addr(SB), RODATA, $4 DATA ·libc_sync_trampoline_addr(SB)/4, $libc_sync_trampoline<>(SB) TEXT libc_truncate_trampoline<>(SB),NOSPLIT,$0-0 JMP libc_truncate(SB) GLOBL ·libc_truncate_trampoline_addr(SB), RODATA, $4 DATA ·libc_truncate_trampoline_addr(SB)/4, $libc_truncate_trampoline<>(SB) TEXT libc_umask_trampoline<>(SB),NOSPLIT,$0-0 JMP libc_umask(SB) GLOBL ·libc_umask_trampoline_addr(SB), RODATA, $4 DATA ·libc_umask_trampoline_addr(SB)/4, $libc_umask_trampoline<>(SB) TEXT libc_unlink_trampoline<>(SB),NOSPLIT,$0-0 JMP libc_unlink(SB) GLOBL ·libc_unlink_trampoline_addr(SB), RODATA, $4 DATA ·libc_unlink_trampoline_addr(SB)/4, $libc_unlink_trampoline<>(SB) TEXT libc_unlinkat_trampoline<>(SB),NOSPLIT,$0-0 JMP libc_unlinkat(SB) GLOBL ·libc_unlinkat_trampoline_addr(SB), RODATA, $4 DATA ·libc_unlinkat_trampoline_addr(SB)/4, $libc_unlinkat_trampoline<>(SB) TEXT libc_unmount_trampoline<>(SB),NOSPLIT,$0-0 JMP libc_unmount(SB) GLOBL ·libc_unmount_trampoline_addr(SB), RODATA, $4 DATA ·libc_unmount_trampoline_addr(SB)/4, $libc_unmount_trampoline<>(SB) TEXT libc_write_trampoline<>(SB),NOSPLIT,$0-0 JMP libc_write(SB) GLOBL ·libc_write_trampoline_addr(SB), RODATA, $4 DATA ·libc_write_trampoline_addr(SB)/4, $libc_write_trampoline<>(SB) TEXT libc_mmap_trampoline<>(SB),NOSPLIT,$0-0 JMP libc_mmap(SB) GLOBL ·libc_mmap_trampoline_addr(SB), RODATA, $4 DATA ·libc_mmap_trampoline_addr(SB)/4, $libc_mmap_trampoline<>(SB) TEXT libc_munmap_trampoline<>(SB),NOSPLIT,$0-0 JMP libc_munmap(SB) GLOBL ·libc_munmap_trampoline_addr(SB), RODATA, $4 DATA ·libc_munmap_trampoline_addr(SB)/4, $libc_munmap_trampoline<>(SB) TEXT libc_getfsstat_trampoline<>(SB),NOSPLIT,$0-0 JMP libc_getfsstat(SB) GLOBL ·libc_getfsstat_trampoline_addr(SB), RODATA, $4 DATA ·libc_getfsstat_trampoline_addr(SB)/4, $libc_getfsstat_trampoline<>(SB) TEXT libc_utimensat_trampoline<>(SB),NOSPLIT,$0-0 JMP libc_utimensat(SB) GLOBL ·libc_utimensat_trampoline_addr(SB), RODATA, $4 DATA ·libc_utimensat_trampoline_addr(SB)/4, $libc_utimensat_trampoline<>(SB) TEXT libc_pledge_trampoline<>(SB),NOSPLIT,$0-0 JMP libc_pledge(SB) GLOBL ·libc_pledge_trampoline_addr(SB), RODATA, $4 DATA ·libc_pledge_trampoline_addr(SB)/4, $libc_pledge_trampoline<>(SB) TEXT libc_unveil_trampoline<>(SB),NOSPLIT,$0-0 JMP libc_unveil(SB) GLOBL ·libc_unveil_trampoline_addr(SB), RODATA, $4 DATA ·libc_unveil_trampoline_addr(SB)/4, $libc_unveil_trampoline<>(SB) dependencies/pkg/mod/golang.org/x/sys@v0.26.0/unix/dirent.go0000644000000000000000000000601515107355264022427 0ustar rootroot// 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. //go:build aix || darwin || dragonfly || freebsd || linux || netbsd || openbsd || solaris || zos 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 } dependencies/pkg/mod/golang.org/x/sys@v0.26.0/unix/syscall_solaris_test.go0000644000000000000000000002455215107355264025415 0ustar rootroot// Copyright 2017 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:build solaris package unix_test import ( "fmt" "os" "os/exec" "path/filepath" "runtime" "strings" "testing" "golang.org/x/sys/unix" ) // getOneRetry wraps EventPort.GetOne which in turn wraps a syscall that can be // interrupted causing us to receive EINTR. // To prevent our tests from flaking, we retry the syscall until it works // rather than get unexpected results in our tests. func getOneRetry(t *testing.T, p *unix.EventPort, timeout *unix.Timespec) (e *unix.PortEvent, err error) { t.Helper() for { e, err = p.GetOne(timeout) if err != unix.EINTR { break } } return e, err } // getRetry wraps EventPort.Get which in turn wraps a syscall that can be // interrupted causing us to receive EINTR. // To prevent our tests from flaking, we retry the syscall until it works // rather than get unexpected results in our tests. func getRetry(t *testing.T, p *unix.EventPort, s []unix.PortEvent, min int, timeout *unix.Timespec) (n int, err error) { t.Helper() for { n, err = p.Get(s, min, timeout) if err != unix.EINTR { break } // If we did get EINTR, make sure we got 0 events if n != 0 { t.Fatalf("EventPort.Get returned events on EINTR.\ngot: %d\nexpected: 0", n) } } return n, err } func TestStatvfs(t *testing.T) { if err := unix.Statvfs("", nil); err == nil { t.Fatal(`Statvfs("") expected failure`) } statvfs := unix.Statvfs_t{} if err := unix.Statvfs("/", &statvfs); err != nil { t.Errorf(`Statvfs("/") failed: %v`, err) } if t.Failed() { mount, err := exec.Command("mount").CombinedOutput() if err != nil { t.Logf("mount: %v\n%s", err, mount) } else { t.Logf("mount: %s", mount) } } } func TestSysconf(t *testing.T) { n, err := unix.Sysconf(3 /* SC_CLK_TCK */) if err != nil { t.Fatalf("Sysconf: %v", err) } t.Logf("Sysconf(SC_CLK_TCK) = %d", n) } // Event Ports func TestBasicEventPort(t *testing.T) { tmpfile, err := os.Create(filepath.Join(t.TempDir(), "eventport")) if err != nil { t.Fatal(err) } defer tmpfile.Close() path := tmpfile.Name() stat, err := os.Stat(path) if err != nil { t.Fatalf("Failed to stat %s: %v", path, err) } port, err := unix.NewEventPort() if err != nil { t.Fatalf("NewEventPort failed: %v", err) } defer port.Close() cookie := stat.Mode() err = port.AssociatePath(path, stat, unix.FILE_MODIFIED, cookie) if err != nil { t.Errorf("AssociatePath failed: %v", err) } if !port.PathIsWatched(path) { t.Errorf("PathIsWatched unexpectedly returned false") } err = port.DissociatePath(path) if err != nil { t.Errorf("DissociatePath failed: %v", err) } err = port.AssociatePath(path, stat, unix.FILE_MODIFIED, cookie) if err != nil { t.Errorf("AssociatePath failed: %v", err) } bs := []byte{42} tmpfile.Write(bs) timeout := new(unix.Timespec) timeout.Nsec = 100 pevent, err := getOneRetry(t, port, timeout) if err == unix.ETIME { t.Errorf("GetOne timed out: %v", err) } if err != nil { t.Fatalf("GetOne failed: %v", err) } if pevent.Path != path { t.Errorf("Path mismatch: %v != %v", pevent.Path, path) } err = port.AssociatePath(path, stat, unix.FILE_MODIFIED, cookie) if err != nil { t.Errorf("AssociatePath failed: %v", err) } err = port.AssociatePath(path, stat, unix.FILE_MODIFIED, cookie) if err == nil { t.Errorf("Unexpected success associating already associated path") } } func TestEventPortFds(t *testing.T) { _, path, _, _ := runtime.Caller(0) stat, err := os.Stat(path) cookie := stat.Mode() port, err := unix.NewEventPort() if err != nil { t.Errorf("NewEventPort failed: %v", err) } defer port.Close() r, w, err := os.Pipe() if err != nil { t.Errorf("unable to create a pipe: %v", err) } defer w.Close() defer r.Close() fd := r.Fd() port.AssociateFd(fd, unix.POLLIN, cookie) if !port.FdIsWatched(fd) { t.Errorf("FdIsWatched unexpectedly returned false") } err = port.DissociateFd(fd) err = port.AssociateFd(fd, unix.POLLIN, cookie) bs := []byte{42} w.Write(bs) n, err := port.Pending() if n != 1 { t.Errorf("Pending() failed: %v, %v", n, err) } timeout := new(unix.Timespec) timeout.Nsec = 100 pevent, err := getOneRetry(t, port, timeout) if err == unix.ETIME { t.Errorf("GetOne timed out: %v", err) } if err != nil { t.Fatalf("GetOne failed: %v", err) } if pevent.Fd != fd { t.Errorf("Fd mismatch: %v != %v", pevent.Fd, fd) } var c = pevent.Cookie if c == nil { t.Errorf("Cookie missing: %v != %v", cookie, c) return } if c != cookie { t.Errorf("Cookie mismatch: %v != %v", cookie, c) } port.AssociateFd(fd, unix.POLLIN, cookie) err = port.AssociateFd(fd, unix.POLLIN, cookie) if err == nil { t.Errorf("unexpected success associating already associated fd") } } func TestEventPortErrors(t *testing.T) { tmpfile, err := os.CreateTemp("", "eventport") if err != nil { t.Errorf("unable to create a tempfile: %v", err) } path := tmpfile.Name() stat, _ := os.Stat(path) os.Remove(path) port, _ := unix.NewEventPort() defer port.Close() err = port.AssociatePath(path, stat, unix.FILE_MODIFIED, nil) if err == nil { t.Errorf("unexpected success associating nonexistent file") } err = port.DissociatePath(path) if err == nil { t.Errorf("unexpected success dissociating unassociated path") } timeout := new(unix.Timespec) timeout.Nsec = 1 _, err = getOneRetry(t, port, timeout) if err != unix.ETIME { t.Errorf("port.GetOne(%v) returned error %v, want %v", timeout, err, unix.ETIME) } err = port.DissociateFd(uintptr(0)) if err == nil { t.Errorf("unexpected success dissociating unassociated fd") } events := make([]unix.PortEvent, 4) _, err = getRetry(t, port, events, 5, nil) if err == nil { t.Errorf("unexpected success calling Get with min greater than len of slice") } _, err = getRetry(t, port, nil, 1, nil) if err == nil { t.Errorf("unexpected success calling Get with nil slice") } _, err = getRetry(t, port, nil, 0, nil) if err == nil { t.Errorf("unexpected success calling Get with nil slice") } } func ExamplePortEvent() { type MyCookie struct { Name string } cookie := MyCookie{"Cookie Monster"} port, err := unix.NewEventPort() if err != nil { fmt.Printf("NewEventPort failed: %v\n", err) return } defer port.Close() r, w, err := os.Pipe() if err != nil { fmt.Printf("os.Pipe() failed: %v\n", err) return } defer w.Close() defer r.Close() fd := r.Fd() port.AssociateFd(fd, unix.POLLIN, cookie) bs := []byte{42} w.Write(bs) timeout := new(unix.Timespec) timeout.Sec = 1 var pevent *unix.PortEvent for { pevent, err = port.GetOne(timeout) if err != unix.EINTR { break } } if err != nil { fmt.Printf("didn't get the expected event: %v\n", err) } // Use a type assertion to convert the received cookie back to its original type c := pevent.Cookie.(MyCookie) fmt.Printf("%s", c.Name) //Output: Cookie Monster } func TestPortEventSlices(t *testing.T) { port, err := unix.NewEventPort() if err != nil { t.Fatalf("NewEventPort failed: %v", err) } // Create, associate, and delete 6 files for i := 0; i < 6; i++ { tmpfile, err := os.CreateTemp("", "eventport") if err != nil { t.Fatalf("unable to create tempfile: %v", err) } path := tmpfile.Name() stat, err := os.Stat(path) if err != nil { t.Fatalf("unable to stat tempfile: %v", err) } err = port.AssociatePath(path, stat, unix.FILE_MODIFIED, nil) if err != nil { t.Fatalf("unable to AssociatePath tempfile: %v", err) } err = os.Remove(path) if err != nil { t.Fatalf("unable to Remove tempfile: %v", err) } } n, err := port.Pending() if err != nil { t.Errorf("Pending failed: %v", err) } if n != 6 { t.Errorf("expected 6 pending events, got %d", n) } timeout := new(unix.Timespec) timeout.Nsec = 1 events := make([]unix.PortEvent, 4) n, err = getRetry(t, port, events, 3, timeout) if err != nil { t.Errorf("Get failed: %v", err) } if n != 4 { t.Errorf("expected 4 events, got %d", n) } e := events[:n] for _, p := range e { if p.Events != unix.FILE_DELETE { t.Errorf("unexpected event. got %v, expected %v", p.Events, unix.FILE_DELETE) } } n, err = getRetry(t, port, events, 3, timeout) if err != unix.ETIME { t.Errorf("unexpected error. got %v, expected %v", err, unix.ETIME) } if n != 2 { t.Errorf("expected 2 events, got %d", n) } e = events[:n] for _, p := range e { if p.Events != unix.FILE_DELETE { t.Errorf("unexpected event. got %v, expected %v", p.Events, unix.FILE_DELETE) } } r, w, err := os.Pipe() if err != nil { t.Fatalf("unable to create a pipe: %v", err) } port.AssociateFd(r.Fd(), unix.POLLIN, nil) port.AssociateFd(w.Fd(), unix.POLLOUT, nil) bs := []byte{41} w.Write(bs) n, err = getRetry(t, port, events, 1, timeout) if err != nil { t.Errorf("Get failed: %v", err) } if n != 2 { t.Errorf("expected 2 events, got %d", n) } err = w.Close() if err != nil { t.Errorf("w.Close() failed: %v", err) } err = r.Close() if err != nil { t.Errorf("r.Close() failed: %v", err) } err = port.Close() if err != nil { t.Errorf("port.Close() failed: %v", err) } } func TestLifreqSetName(t *testing.T) { var l unix.Lifreq err := l.SetName("12345678901234356789012345678901234567890") if err == nil { t.Fatal(`Lifreq.SetName should reject names that are too long`) } err = l.SetName("tun0") if err != nil { t.Errorf(`Lifreq.SetName("tun0") failed: %v`, err) } } func TestLifreqGetMTU(t *testing.T) { // Find links and their MTU using CLI tooling // $ dladm show-link -p -o link,mtu // net0:1500 out, err := exec.Command("dladm", "show-link", "-p", "-o", "link,mtu").Output() if err != nil { t.Fatalf("unable to use dladm to find data links: %v", err) } lines := strings.Split(string(out), "\n") tc := make(map[string]string) for _, line := range lines { v := strings.Split(line, ":") if len(v) == 2 { tc[v[0]] = v[1] } } ip_fd, err := unix.Socket(unix.AF_INET, unix.SOCK_DGRAM, 0) if err != nil { t.Fatalf("could not open udp socket: %v", err) } var l unix.Lifreq for link, mtu := range tc { err = l.SetName(link) if err != nil { t.Fatalf("Lifreq.SetName(%q) failed: %v", link, err) } if err = unix.IoctlLifreq(ip_fd, unix.SIOCGLIFMTU, &l); err != nil { t.Fatalf("unable to SIOCGLIFMTU: %v", err) } m := l.GetLifruUint() if fmt.Sprintf("%d", m) != mtu { t.Errorf("unable to read MTU correctly: expected %s, got %d", mtu, m) } } } dependencies/pkg/mod/golang.org/x/sys@v0.26.0/unix/sockcmsg_unix_other.go0000644000000000000000000000232115107355264025213 0ustar rootroot// Copyright 2019 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:build aix || darwin || freebsd || linux || netbsd || openbsd || solaris || zos package unix import ( "runtime" ) // Round the length of a raw sockaddr up to align it properly. func cmsgAlignOf(salen int) int { salign := SizeofPtr // dragonfly needs to check ABI version at runtime, see cmsgAlignOf in // sockcmsg_dragonfly.go switch runtime.GOOS { case "aix": // There is no alignment on AIX. salign = 1 case "darwin", "ios", "illumos", "solaris": // NOTE: It seems like 64-bit Darwin, Illumos and Solaris // kernels still require 32-bit aligned access to network // subsystem. if SizeofPtr == 8 { salign = 4 } case "netbsd", "openbsd": // NetBSD and OpenBSD armv7 require 64-bit alignment. if runtime.GOARCH == "arm" { salign = 8 } // NetBSD aarch64 requires 128-bit alignment. if runtime.GOOS == "netbsd" && runtime.GOARCH == "arm64" { salign = 16 } case "zos": // z/OS socket macros use [32-bit] sizeof(int) alignment, // not pointer width. salign = SizeofInt } return (salen + salign - 1) & ^(salign - 1) } dependencies/pkg/mod/golang.org/x/sys@v0.26.0/unix/zerrors_openbsd_amd64.go0000644000000000000000000023506515107355264025366 0ustar rootroot// mkerrors.sh -m64 // Code generated by the command above; see README.md. DO NOT EDIT. //go:build amd64 && openbsd // Code generated by cmd/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 ALTWERASE = 0x200 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_FILDROP_CAPTURE = 0x1 BPF_FILDROP_DROP = 0x2 BPF_FILDROP_PASS = 0x0 BPF_F_DIR_IN = 0x10 BPF_F_DIR_MASK = 0x30 BPF_F_DIR_OUT = 0x20 BPF_F_DIR_SHIFT = 0x4 BPF_F_FLOWID = 0x8 BPF_F_PRI_MASK = 0x7 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_RND = 0xc0 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_BOOTTIME = 0x6 CLOCK_MONOTONIC = 0x3 CLOCK_PROCESS_CPUTIME_ID = 0x2 CLOCK_REALTIME = 0x0 CLOCK_THREAD_CPUTIME_ID = 0x4 CLOCK_UPTIME = 0x5 CPUSTATES = 0x6 CP_IDLE = 0x5 CP_INTR = 0x4 CP_NICE = 0x1 CP_SPIN = 0x3 CP_SYS = 0x2 CP_USER = 0x0 CREAD = 0x800 CRTSCTS = 0x10000 CS5 = 0x0 CS6 = 0x100 CS7 = 0x200 CS8 = 0x300 CSIZE = 0x300 CSTART = 0x11 CSTATUS = 0xff CSTOP = 0x13 CSTOPB = 0x400 CSUSP = 0x1a CTL_HW = 0x6 CTL_KERN = 0x1 CTL_MAXNAME = 0xc CTL_NET = 0x4 DIOCADDQUEUE = 0xc110445d DIOCADDRULE = 0xcd604404 DIOCADDSTATE = 0xc1084425 DIOCCHANGERULE = 0xcd60441a DIOCCLRIFFLAG = 0xc028445a DIOCCLRSRCNODES = 0x20004455 DIOCCLRSTATES = 0xc0e04412 DIOCCLRSTATUS = 0xc0284416 DIOCGETLIMIT = 0xc0084427 DIOCGETQSTATS = 0xc1204460 DIOCGETQUEUE = 0xc110445f DIOCGETQUEUES = 0xc110445e DIOCGETRULE = 0xcd604407 DIOCGETRULES = 0xcd604406 DIOCGETRULESET = 0xc444443b DIOCGETRULESETS = 0xc444443a DIOCGETSRCNODES = 0xc0104454 DIOCGETSTATE = 0xc1084413 DIOCGETSTATES = 0xc0104419 DIOCGETSTATUS = 0xc1e84415 DIOCGETSYNFLWATS = 0xc0084463 DIOCGETTIMEOUT = 0xc008441e DIOCIGETIFACES = 0xc0284457 DIOCKILLSRCNODES = 0xc080445b DIOCKILLSTATES = 0xc0e04429 DIOCNATLOOK = 0xc0504417 DIOCOSFPADD = 0xc088444f DIOCOSFPFLUSH = 0x2000444e DIOCOSFPGET = 0xc0884450 DIOCRADDADDRS = 0xc4504443 DIOCRADDTABLES = 0xc450443d DIOCRCLRADDRS = 0xc4504442 DIOCRCLRASTATS = 0xc4504448 DIOCRCLRTABLES = 0xc450443c DIOCRCLRTSTATS = 0xc4504441 DIOCRDELADDRS = 0xc4504444 DIOCRDELTABLES = 0xc450443e DIOCRGETADDRS = 0xc4504446 DIOCRGETASTATS = 0xc4504447 DIOCRGETTABLES = 0xc450443f DIOCRGETTSTATS = 0xc4504440 DIOCRINADEFINE = 0xc450444d DIOCRSETADDRS = 0xc4504445 DIOCRSETTFLAGS = 0xc450444a DIOCRTSTADDRS = 0xc4504449 DIOCSETDEBUG = 0xc0044418 DIOCSETHOSTID = 0xc0044456 DIOCSETIFFLAG = 0xc0284459 DIOCSETLIMIT = 0xc0084428 DIOCSETREASS = 0xc004445c DIOCSETSTATUSIF = 0xc0284414 DIOCSETSYNCOOKIES = 0xc0014462 DIOCSETSYNFLWATS = 0xc0084461 DIOCSETTIMEOUT = 0xc008441d DIOCSTART = 0x20004401 DIOCSTOP = 0x20004402 DIOCXBEGIN = 0xc0104451 DIOCXCOMMIT = 0xc0104452 DIOCXROLLBACK = 0xc0104453 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_OPENFLOW = 0x10b 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 DLT_USBPCAP = 0xf9 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 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 ETH64_8021_RSVD_MASK = 0xfffffffffff0 ETH64_8021_RSVD_PREFIX = 0x180c2000000 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_EAPOL = 0x888e 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_MACSEC = 0x88e5 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_NHRP = 0x2001 ETHERTYPE_NOVELL = 0x8138 ETHERTYPE_NS = 0x600 ETHERTYPE_NSAT = 0x601 ETHERTYPE_NSCOMPAT = 0x807 ETHERTYPE_NSH = 0x984f ETHERTYPE_NTRAILER = 0x10 ETHERTYPE_OS9 = 0x7007 ETHERTYPE_OS9NET = 0x7009 ETHERTYPE_PACER = 0x80c6 ETHERTYPE_PBB = 0x88e7 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_HARDMTU_LEN = 0xff9b ETHER_MAX_LEN = 0x5ee ETHER_MIN_LEN = 0x40 ETHER_TYPE_LEN = 0x2 ETHER_VLAN_ENCAP_LEN = 0x4 EVFILT_AIO = -0x3 EVFILT_DEVICE = -0x8 EVFILT_EXCEPT = -0x9 EVFILT_PROC = -0x5 EVFILT_READ = -0x1 EVFILT_SIGNAL = -0x6 EVFILT_SYSCOUNT = 0x9 EVFILT_TIMER = -0x7 EVFILT_VNODE = -0x4 EVFILT_WRITE = -0x2 EVL_ENCAPLEN = 0x4 EVL_PRIO_BITS = 0xd EVL_PRIO_MAX = 0x7 EVL_VLID_MASK = 0xfff EVL_VLID_MAX = 0xffe EVL_VLID_MIN = 0x1 EVL_VLID_NULL = 0x0 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_ONESHOT = 0x10 EV_RECEIPT = 0x40 EV_SYSFLAGS = 0xf800 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_ISATTY = 0xb 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 HW_MACHINE = 0x1 ICANON = 0x100 ICMP6_FILTER = 0x12 ICRNL = 0x100 IEXTEN = 0x400 IFAN_ARRIVAL = 0x0 IFAN_DEPARTURE = 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_OACTIVE = 0x400 IFF_POINTOPOINT = 0x10 IFF_PROMISC = 0x100 IFF_RUNNING = 0x40 IFF_SIMPLEX = 0x800 IFF_STATICARP = 0x20 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_MBIM = 0xfa 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_WIREGUARD = 0xfb 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_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_SCTP = 0x84 IPPROTO_TCP = 0x6 IPPROTO_TP = 0x1d IPPROTO_UDP = 0x11 IPPROTO_UDPLITE = 0x88 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_MINHOPCOUNT = 0x41 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_DROP_MEMBERSHIP = 0xd IP_ESP_NETWORK_LEVEL = 0x16 IP_ESP_TRANS_LEVEL = 0x15 IP_HDRINCL = 0x2 IP_IPCOMP_LEVEL = 0x1d IP_IPDEFTTL = 0x25 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_SENDSRCADDR = 0x7 IP_TOS = 0x3 IP_TTL = 0x4 ISIG = 0x80 ISTRIP = 0x20 ITIMER_PROF = 0x2 ITIMER_REAL = 0x0 ITIMER_VIRTUAL = 0x1 IUCLC = 0x1000 IXANY = 0x800 IXOFF = 0x400 IXON = 0x200 KERN_HOSTNAME = 0xa KERN_OSRELEASE = 0x2 KERN_OSTYPE = 0x1 KERN_VERSION = 0x4 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_ANONYMOUS = 0x1000 MAP_CONCEAL = 0x8000 MAP_COPY = 0x2 MAP_FILE = 0x0 MAP_FIXED = 0x10 MAP_FLAGMASK = 0xfff7 MAP_HASSEMAPHORE = 0x0 MAP_INHERIT = 0x0 MAP_INHERIT_COPY = 0x1 MAP_INHERIT_NONE = 0x2 MAP_INHERIT_SHARE = 0x0 MAP_INHERIT_ZERO = 0x3 MAP_NOEXTEND = 0x0 MAP_NORESERVE = 0x0 MAP_PRIVATE = 0x2 MAP_RENAME = 0x0 MAP_SHARED = 0x1 MAP_STACK = 0x4000 MAP_TRYFIXED = 0x0 MCL_CURRENT = 0x1 MCL_FUTURE = 0x2 MNT_ASYNC = 0x40 MNT_DEFEXPORTED = 0x200 MNT_DELEXPORT = 0x20000 MNT_DOOMED = 0x8000000 MNT_EXPORTANON = 0x400 MNT_EXPORTED = 0x100 MNT_EXRDONLY = 0x80 MNT_FORCE = 0x80000 MNT_LAZY = 0x3 MNT_LOCAL = 0x1000 MNT_NOATIME = 0x8000 MNT_NODEV = 0x10 MNT_NOEXEC = 0x4 MNT_NOPERM = 0x20 MNT_NOSUID = 0x8 MNT_NOWAIT = 0x2 MNT_QUOTA = 0x2000 MNT_RDONLY = 0x1 MNT_RELOAD = 0x40000 MNT_ROOTFS = 0x4000 MNT_SOFTDEP = 0x4000000 MNT_STALLED = 0x100000 MNT_SWAPPABLE = 0x200000 MNT_SYNCHRONOUS = 0x2 MNT_UPDATE = 0x10000 MNT_VISFLAGMASK = 0x400ffff MNT_WAIT = 0x1 MNT_WANTRDWR = 0x2000000 MNT_WXALLOWED = 0x800 MOUNT_AFS = "afs" MOUNT_CD9660 = "cd9660" MOUNT_EXT2FS = "ext2fs" MOUNT_FFS = "ffs" MOUNT_FUSEFS = "fuse" MOUNT_MFS = "mfs" MOUNT_MSDOS = "msdos" MOUNT_NCPFS = "ncpfs" MOUNT_NFS = "nfs" MOUNT_NTFS = "ntfs" MOUNT_TMPFS = "tmpfs" MOUNT_UDF = "udf" MOUNT_UFS = "ffs" MSG_BCAST = 0x100 MSG_CMSG_CLOEXEC = 0x800 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 MSG_WAITFORONE = 0x1000 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_IFNAMES = 0x6 NET_RT_MAXID = 0x8 NET_RT_SOURCE = 0x7 NET_RT_STATS = 0x4 NET_RT_TABLE = 0x5 NFDBITS = 0x20 NOFLSH = 0x80000000 NOKERNINFO = 0x2000000 NOTE_ATTRIB = 0x8 NOTE_CHANGE = 0x1 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_OOB = 0x4 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 OLCUC = 0x20 ONLCR = 0x2 ONLRET = 0x80 ONOCR = 0x40 ONOEOT = 0x8 OPOST = 0x1 OXTABS = 0x4 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_MEMLOCK = 0x6 RLIMIT_NOFILE = 0x8 RLIMIT_NPROC = 0x7 RLIMIT_RSS = 0x5 RLIMIT_STACK = 0x3 RLIM_INFINITY = 0x7fffffffffffffff RTAX_AUTHOR = 0x6 RTAX_BFD = 0xb RTAX_BRD = 0x7 RTAX_DNS = 0xc RTAX_DST = 0x0 RTAX_GATEWAY = 0x1 RTAX_GENMASK = 0x3 RTAX_IFA = 0x5 RTAX_IFP = 0x4 RTAX_LABEL = 0xa RTAX_MAX = 0xf RTAX_NETMASK = 0x2 RTAX_SEARCH = 0xe RTAX_SRC = 0x8 RTAX_SRCMASK = 0x9 RTAX_STATIC = 0xd RTA_AUTHOR = 0x40 RTA_BFD = 0x800 RTA_BRD = 0x80 RTA_DNS = 0x1000 RTA_DST = 0x1 RTA_GATEWAY = 0x2 RTA_GENMASK = 0x8 RTA_IFA = 0x20 RTA_IFP = 0x10 RTA_LABEL = 0x400 RTA_NETMASK = 0x4 RTA_SEARCH = 0x4000 RTA_SRC = 0x100 RTA_SRCMASK = 0x200 RTA_STATIC = 0x2000 RTF_ANNOUNCE = 0x4000 RTF_BFD = 0x1000000 RTF_BLACKHOLE = 0x1000 RTF_BROADCAST = 0x400000 RTF_CACHED = 0x20000 RTF_CLONED = 0x10000 RTF_CLONING = 0x100 RTF_CONNECTED = 0x800000 RTF_DONE = 0x40 RTF_DYNAMIC = 0x10 RTF_FMASK = 0x110fc08 RTF_GATEWAY = 0x2 RTF_HOST = 0x4 RTF_LLINFO = 0x400 RTF_LOCAL = 0x200000 RTF_MODIFIED = 0x20 RTF_MPATH = 0x40000 RTF_MPLS = 0x100000 RTF_MULTICAST = 0x200 RTF_PERMANENT_ARP = 0x2000 RTF_PROTO1 = 0x8000 RTF_PROTO2 = 0x4000 RTF_PROTO3 = 0x2000 RTF_REJECT = 0x8 RTF_STATIC = 0x800 RTF_UP = 0x1 RTF_USETRAILERS = 0x8000 RTM_80211INFO = 0x15 RTM_ADD = 0x1 RTM_BFD = 0x12 RTM_CHANGE = 0x3 RTM_CHGADDRATTR = 0x14 RTM_DELADDR = 0xd RTM_DELETE = 0x2 RTM_DESYNC = 0x10 RTM_GET = 0x4 RTM_IFANNOUNCE = 0xf RTM_IFINFO = 0xe RTM_INVALIDATE = 0x11 RTM_LOSING = 0x5 RTM_MAXSIZE = 0x800 RTM_MISS = 0x7 RTM_NEWADDR = 0xc RTM_PROPOSAL = 0x13 RTM_REDIRECT = 0x6 RTM_RESOLVE = 0xb RTM_SOURCE = 0x16 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_BITS = 0x8 RT_TABLEID_MASK = 0xff RT_TABLEID_MAX = 0xff RUSAGE_CHILDREN = -0x1 RUSAGE_SELF = 0x0 RUSAGE_THREAD = 0x1 SCM_RIGHTS = 0x1 SCM_TIMESTAMP = 0x4 SEEK_CUR = 0x1 SEEK_END = 0x2 SEEK_SET = 0x0 SHUT_RD = 0x0 SHUT_RDWR = 0x2 SHUT_WR = 0x1 SIOCADDMULTI = 0x80206931 SIOCAIFADDR = 0x8040691a SIOCAIFGROUP = 0x80286987 SIOCATMARK = 0x40047307 SIOCBRDGADD = 0x8060693c SIOCBRDGADDL = 0x80606949 SIOCBRDGADDS = 0x80606941 SIOCBRDGARL = 0x808c694d SIOCBRDGDADDR = 0x81286947 SIOCBRDGDEL = 0x8060693d SIOCBRDGDELS = 0x80606942 SIOCBRDGFLUSH = 0x80606948 SIOCBRDGFRL = 0x808c694e SIOCBRDGGCACHE = 0xc0146941 SIOCBRDGGFD = 0xc0146952 SIOCBRDGGHT = 0xc0146951 SIOCBRDGGIFFLGS = 0xc060693e SIOCBRDGGMA = 0xc0146953 SIOCBRDGGPARAM = 0xc0406958 SIOCBRDGGPRI = 0xc0146950 SIOCBRDGGRL = 0xc030694f SIOCBRDGGTO = 0xc0146946 SIOCBRDGIFS = 0xc0606942 SIOCBRDGRTS = 0xc0206943 SIOCBRDGSADDR = 0xc1286944 SIOCBRDGSCACHE = 0x80146940 SIOCBRDGSFD = 0x80146952 SIOCBRDGSHT = 0x80146951 SIOCBRDGSIFCOST = 0x80606955 SIOCBRDGSIFFLGS = 0x8060693f SIOCBRDGSIFPRIO = 0x80606954 SIOCBRDGSIFPROT = 0x8060694a SIOCBRDGSMA = 0x80146953 SIOCBRDGSPRI = 0x80146950 SIOCBRDGSPROTO = 0x8014695a SIOCBRDGSTO = 0x80146945 SIOCBRDGSTXHC = 0x80146959 SIOCDELLABEL = 0x80206997 SIOCDELMULTI = 0x80206932 SIOCDIFADDR = 0x80206919 SIOCDIFGROUP = 0x80286989 SIOCDIFPARENT = 0x802069b4 SIOCDIFPHYADDR = 0x80206949 SIOCDPWE3NEIGHBOR = 0x802069de SIOCDVNETID = 0x802069af SIOCGETKALIVE = 0xc01869a4 SIOCGETLABEL = 0x8020699a SIOCGETMPWCFG = 0xc02069ae SIOCGETPFLOW = 0xc02069fe SIOCGETPFSYNC = 0xc02069f8 SIOCGETSGCNT = 0xc0207534 SIOCGETVIFCNT = 0xc0287533 SIOCGETVLAN = 0xc0206990 SIOCGIFADDR = 0xc0206921 SIOCGIFBRDADDR = 0xc0206923 SIOCGIFCONF = 0xc0106924 SIOCGIFDATA = 0xc020691b SIOCGIFDESCR = 0xc0206981 SIOCGIFDSTADDR = 0xc0206922 SIOCGIFFLAGS = 0xc0206911 SIOCGIFGATTR = 0xc028698b SIOCGIFGENERIC = 0xc020693a SIOCGIFGLIST = 0xc028698d SIOCGIFGMEMB = 0xc028698a SIOCGIFGROUP = 0xc0286988 SIOCGIFHARDMTU = 0xc02069a5 SIOCGIFLLPRIO = 0xc02069b6 SIOCGIFMEDIA = 0xc0406938 SIOCGIFMETRIC = 0xc0206917 SIOCGIFMTU = 0xc020697e SIOCGIFNETMASK = 0xc0206925 SIOCGIFPAIR = 0xc02069b1 SIOCGIFPARENT = 0xc02069b3 SIOCGIFPRIORITY = 0xc020699c SIOCGIFRDOMAIN = 0xc02069a0 SIOCGIFRTLABEL = 0xc0206983 SIOCGIFRXR = 0x802069aa SIOCGIFSFFPAGE = 0xc1126939 SIOCGIFXFLAGS = 0xc020699e SIOCGLIFPHYADDR = 0xc218694b SIOCGLIFPHYDF = 0xc02069c2 SIOCGLIFPHYECN = 0xc02069c8 SIOCGLIFPHYRTABLE = 0xc02069a2 SIOCGLIFPHYTTL = 0xc02069a9 SIOCGPGRP = 0x40047309 SIOCGPWE3 = 0xc0206998 SIOCGPWE3CTRLWORD = 0xc02069dc SIOCGPWE3FAT = 0xc02069dd SIOCGPWE3NEIGHBOR = 0xc21869de SIOCGRXHPRIO = 0xc02069db SIOCGSPPPPARAMS = 0xc0206994 SIOCGTXHPRIO = 0xc02069c6 SIOCGUMBINFO = 0xc02069be SIOCGUMBPARAM = 0xc02069c0 SIOCGVH = 0xc02069f6 SIOCGVNETFLOWID = 0xc02069c4 SIOCGVNETID = 0xc02069a7 SIOCIFAFATTACH = 0x801169ab SIOCIFAFDETACH = 0x801169ac SIOCIFCREATE = 0x8020697a SIOCIFDESTROY = 0x80206979 SIOCIFGCLONERS = 0xc0106978 SIOCSETKALIVE = 0x801869a3 SIOCSETLABEL = 0x80206999 SIOCSETMPWCFG = 0x802069ad SIOCSETPFLOW = 0x802069fd SIOCSETPFSYNC = 0x802069f7 SIOCSETVLAN = 0x8020698f SIOCSIFADDR = 0x8020690c SIOCSIFBRDADDR = 0x80206913 SIOCSIFDESCR = 0x80206980 SIOCSIFDSTADDR = 0x8020690e SIOCSIFFLAGS = 0x80206910 SIOCSIFGATTR = 0x8028698c SIOCSIFGENERIC = 0x80206939 SIOCSIFLLADDR = 0x8020691f SIOCSIFLLPRIO = 0x802069b5 SIOCSIFMEDIA = 0xc0206937 SIOCSIFMETRIC = 0x80206918 SIOCSIFMTU = 0x8020697f SIOCSIFNETMASK = 0x80206916 SIOCSIFPAIR = 0x802069b0 SIOCSIFPARENT = 0x802069b2 SIOCSIFPRIORITY = 0x8020699b SIOCSIFRDOMAIN = 0x8020699f SIOCSIFRTLABEL = 0x80206982 SIOCSIFXFLAGS = 0x8020699d SIOCSLIFPHYADDR = 0x8218694a SIOCSLIFPHYDF = 0x802069c1 SIOCSLIFPHYECN = 0x802069c7 SIOCSLIFPHYRTABLE = 0x802069a1 SIOCSLIFPHYTTL = 0x802069a8 SIOCSPGRP = 0x80047308 SIOCSPWE3CTRLWORD = 0x802069dc SIOCSPWE3FAT = 0x802069dd SIOCSPWE3NEIGHBOR = 0x821869de SIOCSRXHPRIO = 0x802069db SIOCSSPPPPARAMS = 0x80206993 SIOCSTXHPRIO = 0x802069c5 SIOCSUMBPARAM = 0x802069bf SIOCSVH = 0xc02069f5 SIOCSVNETFLOWID = 0x802069c3 SIOCSVNETID = 0x802069a6 SOCK_CLOEXEC = 0x8000 SOCK_DGRAM = 0x2 SOCK_DNS = 0x1000 SOCK_NONBLOCK = 0x4000 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_DOMAIN = 0x1024 SO_DONTROUTE = 0x10 SO_ERROR = 0x1007 SO_KEEPALIVE = 0x8 SO_LINGER = 0x80 SO_NETPROC = 0x1020 SO_OOBINLINE = 0x100 SO_PEERCRED = 0x1022 SO_PROTOCOL = 0x1025 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 SO_ZEROIZE = 0x2000 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_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 TCIOFF = 0x3 TCIOFLUSH = 0x3 TCION = 0x4 TCOFLUSH = 0x2 TCOOFF = 0x1 TCOON = 0x2 TCPOPT_EOL = 0x0 TCPOPT_MAXSEG = 0x2 TCPOPT_NOP = 0x1 TCPOPT_SACK = 0x5 TCPOPT_SACK_HDR = 0x1010500 TCPOPT_SACK_PERMITTED = 0x4 TCPOPT_SACK_PERMIT_HDR = 0x1010402 TCPOPT_SIGNATURE = 0x13 TCPOPT_TIMESTAMP = 0x8 TCPOPT_TSTAMP_HDR = 0x101080a TCPOPT_WINDOW = 0x3 TCP_INFO = 0x9 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_SACKHOLE_LIMIT = 0x80 TCP_SACK_ENABLE = 0x8 TCSAFLUSH = 0x2 TIMER_ABSTIME = 0x1 TIMER_RELTIME = 0x0 TIOCCBRK = 0x2000747a TIOCCDTR = 0x20007478 TIOCCHKVERAUTH = 0x2000741e TIOCCLRVERAUTH = 0x2000741d 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 TIOCSETVERAUTH = 0x8004741c TIOCSFLAGS = 0x8004745c TIOCSIG = 0x8004745f TIOCSPGRP = 0x80047476 TIOCSTART = 0x2000746e TIOCSTAT = 0x20007465 TIOCSTOP = 0x2000746f TIOCSTSTAMP = 0x8008745a TIOCSWINSZ = 0x80087467 TIOCUCNTL = 0x80047466 TIOCUCNTL_CBRK = 0x7a TIOCUCNTL_SBRK = 0x7b TOSTOP = 0x400000 UTIME_NOW = -0x2 UTIME_OMIT = -0x1 VDISCARD = 0xf VDSUSP = 0xb VEOF = 0x0 VEOL = 0x1 VEOL2 = 0x2 VERASE = 0x3 VINTR = 0x8 VKILL = 0x5 VLNEXT = 0xe VMIN = 0x10 VM_ANONMIN = 0x7 VM_LOADAVG = 0x2 VM_MALLOC_CONF = 0xc VM_MAXID = 0xd VM_MAXSLP = 0xa VM_METER = 0x1 VM_NKMEMPAGES = 0x6 VM_PSSTRINGS = 0x3 VM_SWAPENCRYPT = 0x5 VM_USPACE = 0xb VM_UVMEXP = 0x4 VM_VNODEMIN = 0x9 VM_VTEXTMIN = 0x8 VQUIT = 0x9 VREPRINT = 0x6 VSTART = 0xc VSTATUS = 0x12 VSTOP = 0xd VSUSP = 0xa VTIME = 0x11 VWERASE = 0x4 WALTSIG = 0x4 WCONTINUED = 0x8 WCOREFLAG = 0x80 WNOHANG = 0x1 WUNTRACED = 0x2 XCASE = 0x1000000 ) // 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(0x5c) 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(0x5f) 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) ENOTRECOVERABLE = syscall.Errno(0x5d) ENOTSOCK = syscall.Errno(0x26) ENOTSUP = syscall.Errno(0x5b) ENOTTY = syscall.Errno(0x19) ENXIO = syscall.Errno(0x6) EOPNOTSUPP = syscall.Errno(0x2d) EOVERFLOW = syscall.Errno(0x57) EOWNERDEAD = syscall.Errno(0x5e) 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(0x5f) 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 errorList = [...]struct { num syscall.Errno name string desc string }{ {1, "EPERM", "operation not permitted"}, {2, "ENOENT", "no such file or directory"}, {3, "ESRCH", "no such process"}, {4, "EINTR", "interrupted system call"}, {5, "EIO", "input/output error"}, {6, "ENXIO", "device not configured"}, {7, "E2BIG", "argument list too long"}, {8, "ENOEXEC", "exec format error"}, {9, "EBADF", "bad file descriptor"}, {10, "ECHILD", "no child processes"}, {11, "EDEADLK", "resource deadlock avoided"}, {12, "ENOMEM", "cannot allocate memory"}, {13, "EACCES", "permission denied"}, {14, "EFAULT", "bad address"}, {15, "ENOTBLK", "block device required"}, {16, "EBUSY", "device busy"}, {17, "EEXIST", "file exists"}, {18, "EXDEV", "cross-device link"}, {19, "ENODEV", "operation not supported by device"}, {20, "ENOTDIR", "not a directory"}, {21, "EISDIR", "is a directory"}, {22, "EINVAL", "invalid argument"}, {23, "ENFILE", "too many open files in system"}, {24, "EMFILE", "too many open files"}, {25, "ENOTTY", "inappropriate ioctl for device"}, {26, "ETXTBSY", "text file busy"}, {27, "EFBIG", "file too large"}, {28, "ENOSPC", "no space left on device"}, {29, "ESPIPE", "illegal seek"}, {30, "EROFS", "read-only file system"}, {31, "EMLINK", "too many links"}, {32, "EPIPE", "broken pipe"}, {33, "EDOM", "numerical argument out of domain"}, {34, "ERANGE", "result too large"}, {35, "EAGAIN", "resource temporarily unavailable"}, {36, "EINPROGRESS", "operation now in progress"}, {37, "EALREADY", "operation already in progress"}, {38, "ENOTSOCK", "socket operation on non-socket"}, {39, "EDESTADDRREQ", "destination address required"}, {40, "EMSGSIZE", "message too long"}, {41, "EPROTOTYPE", "protocol wrong type for socket"}, {42, "ENOPROTOOPT", "protocol not available"}, {43, "EPROTONOSUPPORT", "protocol not supported"}, {44, "ESOCKTNOSUPPORT", "socket type not supported"}, {45, "EOPNOTSUPP", "operation not supported"}, {46, "EPFNOSUPPORT", "protocol family not supported"}, {47, "EAFNOSUPPORT", "address family not supported by protocol family"}, {48, "EADDRINUSE", "address already in use"}, {49, "EADDRNOTAVAIL", "can't assign requested address"}, {50, "ENETDOWN", "network is down"}, {51, "ENETUNREACH", "network is unreachable"}, {52, "ENETRESET", "network dropped connection on reset"}, {53, "ECONNABORTED", "software caused connection abort"}, {54, "ECONNRESET", "connection reset by peer"}, {55, "ENOBUFS", "no buffer space available"}, {56, "EISCONN", "socket is already connected"}, {57, "ENOTCONN", "socket is not connected"}, {58, "ESHUTDOWN", "can't send after socket shutdown"}, {59, "ETOOMANYREFS", "too many references: can't splice"}, {60, "ETIMEDOUT", "operation timed out"}, {61, "ECONNREFUSED", "connection refused"}, {62, "ELOOP", "too many levels of symbolic links"}, {63, "ENAMETOOLONG", "file name too long"}, {64, "EHOSTDOWN", "host is down"}, {65, "EHOSTUNREACH", "no route to host"}, {66, "ENOTEMPTY", "directory not empty"}, {67, "EPROCLIM", "too many processes"}, {68, "EUSERS", "too many users"}, {69, "EDQUOT", "disk quota exceeded"}, {70, "ESTALE", "stale NFS file handle"}, {71, "EREMOTE", "too many levels of remote in path"}, {72, "EBADRPC", "RPC struct is bad"}, {73, "ERPCMISMATCH", "RPC version wrong"}, {74, "EPROGUNAVAIL", "RPC program not available"}, {75, "EPROGMISMATCH", "program version wrong"}, {76, "EPROCUNAVAIL", "bad procedure for program"}, {77, "ENOLCK", "no locks available"}, {78, "ENOSYS", "function not implemented"}, {79, "EFTYPE", "inappropriate file type or format"}, {80, "EAUTH", "authentication error"}, {81, "ENEEDAUTH", "need authenticator"}, {82, "EIPSEC", "IPsec processing failure"}, {83, "ENOATTR", "attribute not found"}, {84, "EILSEQ", "illegal byte sequence"}, {85, "ENOMEDIUM", "no medium found"}, {86, "EMEDIUMTYPE", "wrong medium type"}, {87, "EOVERFLOW", "value too large to be stored in data type"}, {88, "ECANCELED", "operation canceled"}, {89, "EIDRM", "identifier removed"}, {90, "ENOMSG", "no message of desired type"}, {91, "ENOTSUP", "not supported"}, {92, "EBADMSG", "bad message"}, {93, "ENOTRECOVERABLE", "state not recoverable"}, {94, "EOWNERDEAD", "previous owner died"}, {95, "ELAST", "protocol error"}, } // Signal table var signalList = [...]struct { num syscall.Signal name string desc string }{ {1, "SIGHUP", "hangup"}, {2, "SIGINT", "interrupt"}, {3, "SIGQUIT", "quit"}, {4, "SIGILL", "illegal instruction"}, {5, "SIGTRAP", "trace/BPT trap"}, {6, "SIGIOT", "abort trap"}, {7, "SIGEMT", "EMT trap"}, {8, "SIGFPE", "floating point exception"}, {9, "SIGKILL", "killed"}, {10, "SIGBUS", "bus error"}, {11, "SIGSEGV", "segmentation fault"}, {12, "SIGSYS", "bad system call"}, {13, "SIGPIPE", "broken pipe"}, {14, "SIGALRM", "alarm clock"}, {15, "SIGTERM", "terminated"}, {16, "SIGURG", "urgent I/O condition"}, {17, "SIGSTOP", "suspended (signal)"}, {18, "SIGTSTP", "suspended"}, {19, "SIGCONT", "continued"}, {20, "SIGCHLD", "child exited"}, {21, "SIGTTIN", "stopped (tty input)"}, {22, "SIGTTOU", "stopped (tty output)"}, {23, "SIGIO", "I/O possible"}, {24, "SIGXCPU", "cputime limit exceeded"}, {25, "SIGXFSZ", "filesize limit exceeded"}, {26, "SIGVTALRM", "virtual timer expired"}, {27, "SIGPROF", "profiling timer expired"}, {28, "SIGWINCH", "window size changes"}, {29, "SIGINFO", "information request"}, {30, "SIGUSR1", "user defined signal 1"}, {31, "SIGUSR2", "user defined signal 2"}, {32, "SIGTHR", "thread AST"}, {28672, "SIGSTKSZ", "unknown signal"}, } dependencies/pkg/mod/golang.org/x/sys@v0.26.0/unix/zsyscall_aix_ppc64.go0000644000000000000000000007404615107355264024674 0ustar rootroot// go run mksyscall_aix_ppc64.go -aix -tags aix,ppc64 syscall_aix.go syscall_aix_ppc64.go // Code generated by the command above; see README.md. DO NOT EDIT. //go:build aix && ppc64 package unix import ( "unsafe" ) // 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 := callutimes(uintptr(unsafe.Pointer(_p0)), 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 utimensat(dirfd int, path string, times *[2]Timespec, flag int) (err error) { var _p0 *byte _p0, err = BytePtrFromString(path) if err != nil { return } _, e1 := callutimensat(dirfd, uintptr(unsafe.Pointer(_p0)), uintptr(unsafe.Pointer(times)), flag) if e1 != 0 { err = errnoErr(e1) } return } // THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT func getcwd(buf []byte) (err error) { var _p0 *byte if len(buf) > 0 { _p0 = &buf[0] } _, e1 := callgetcwd(uintptr(unsafe.Pointer(_p0)), len(buf)) 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 := callaccept(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 getdirent(fd int, buf []byte) (n int, err error) { var _p0 *byte if len(buf) > 0 { _p0 = &buf[0] } r0, e1 := callgetdirent(fd, uintptr(unsafe.Pointer(_p0)), 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 wait4(pid Pid_t, status *_C_int, options int, rusage *Rusage) (wpid Pid_t, err error) { r0, e1 := callwait4(int(pid), uintptr(unsafe.Pointer(status)), options, uintptr(unsafe.Pointer(rusage))) wpid = Pid_t(r0) if e1 != 0 { err = errnoErr(e1) } return } // THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT func ioctl(fd int, req int, arg uintptr) (err error) { _, e1 := callioctl(fd, req, arg) if e1 != 0 { err = errnoErr(e1) } return } // THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT func ioctlPtr(fd int, req int, arg unsafe.Pointer) (err error) { _, e1 := callioctl_ptr(fd, req, arg) if e1 != 0 { err = errnoErr(e1) } return } // THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT func FcntlInt(fd uintptr, cmd int, arg int) (r int, err error) { r0, e1 := callfcntl(fd, cmd, uintptr(arg)) r = int(r0) if e1 != 0 { err = errnoErr(e1) } return } // THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT func FcntlFlock(fd uintptr, cmd int, lk *Flock_t) (err error) { _, e1 := callfcntl(fd, cmd, uintptr(unsafe.Pointer(lk))) 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 := callfcntl(uintptr(fd), 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 fsyncRange(fd int, how int, start int64, length int64) (err error) { _, e1 := callfsync_range(fd, how, start, length) 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 := callacct(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 Chdir(path string) (err error) { var _p0 *byte _p0, err = BytePtrFromString(path) if err != nil { return } _, e1 := callchdir(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 Chroot(path string) (err error) { var _p0 *byte _p0, err = BytePtrFromString(path) if err != nil { return } _, e1 := callchroot(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 Close(fd int) (err error) { _, e1 := callclose(fd) 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 := calldup(oldfd) 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) { callexit(code) 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 := callfaccessat(dirfd, uintptr(unsafe.Pointer(_p0)), mode, flags) 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 := callfchdir(fd) 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 := callfchmod(fd, mode) 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 := callfchmodat(dirfd, uintptr(unsafe.Pointer(_p0)), mode, flags) 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 := callfchownat(dirfd, uintptr(unsafe.Pointer(_p0)), uid, gid, flags) 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 := callfdatasync(fd) 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 := callgetpgid(pid) 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() (pid int) { r0, _ := callgetpgrp() pid = int(r0) return } // THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT func Getpid() (pid int) { r0, _ := callgetpid() pid = int(r0) return } // THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT func Getppid() (ppid int) { r0, _ := callgetppid() 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 := callgetpriority(which, who) prio = 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 := callgetrusage(who, uintptr(unsafe.Pointer(rusage))) 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 := callgetsid(pid) sid = 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 Signal) (err error) { _, e1 := callkill(pid, int(sig)) 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 *byte if len(buf) > 0 { _p0 = &buf[0] } r0, e1 := callsyslog(typ, uintptr(unsafe.Pointer(_p0)), 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 Mkdir(dirfd int, path string, mode uint32) (err error) { var _p0 *byte _p0, err = BytePtrFromString(path) if err != nil { return } _, e1 := callmkdir(dirfd, uintptr(unsafe.Pointer(_p0)), mode) 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 := callmkdirat(dirfd, uintptr(unsafe.Pointer(_p0)), mode) 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 := callmkfifo(uintptr(unsafe.Pointer(_p0)), mode) 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 := callmknod(uintptr(unsafe.Pointer(_p0)), mode, dev) 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 := callmknodat(dirfd, uintptr(unsafe.Pointer(_p0)), mode, dev) 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 := callnanosleep(uintptr(unsafe.Pointer(time)), uintptr(unsafe.Pointer(leftover))) 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 := callopen64(uintptr(unsafe.Pointer(_p0)), mode, 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 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 := callopenat(dirfd, uintptr(unsafe.Pointer(_p0)), flags, mode) fd = 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 *byte if len(p) > 0 { _p0 = &p[0] } r0, e1 := callread(fd, uintptr(unsafe.Pointer(_p0)), 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 *byte if len(buf) > 0 { _p1 = &buf[0] } r0, e1 := callreadlink(uintptr(unsafe.Pointer(_p0)), uintptr(unsafe.Pointer(_p1)), 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 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 := callrenameat(olddirfd, uintptr(unsafe.Pointer(_p0)), 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 Setdomainname(p []byte) (err error) { var _p0 *byte if len(p) > 0 { _p0 = &p[0] } _, e1 := callsetdomainname(uintptr(unsafe.Pointer(_p0)), len(p)) 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 *byte if len(p) > 0 { _p0 = &p[0] } _, e1 := callsethostname(uintptr(unsafe.Pointer(_p0)), len(p)) 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 := callsetpgid(pid, pgid) 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 := callsetsid() 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 := callsettimeofday(uintptr(unsafe.Pointer(tv))) 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 := callsetuid(uid) if e1 != 0 { err = errnoErr(e1) } return } // THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT func Setgid(uid int) (err error) { _, e1 := callsetgid(uid) 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 := callsetpriority(which, who, prio) if e1 != 0 { err = errnoErr(e1) } return } // THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT func Statx(dirfd int, path string, flags int, mask int, stat *Statx_t) (err error) { var _p0 *byte _p0, err = BytePtrFromString(path) if err != nil { return } _, e1 := callstatx(dirfd, uintptr(unsafe.Pointer(_p0)), flags, mask, uintptr(unsafe.Pointer(stat))) if e1 != 0 { err = errnoErr(e1) } return } // THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT func Sync() { callsync() return } // THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT func Times(tms *Tms) (ticks uintptr, err error) { r0, e1 := calltimes(uintptr(unsafe.Pointer(tms))) 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, _ := callumask(mask) oldmask = int(r0) return } // THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT func Uname(buf *Utsname) (err error) { _, e1 := calluname(uintptr(unsafe.Pointer(buf))) 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 := callunlink(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 Unlinkat(dirfd int, path string, flags int) (err error) { var _p0 *byte _p0, err = BytePtrFromString(path) if err != nil { return } _, e1 := callunlinkat(dirfd, uintptr(unsafe.Pointer(_p0)), flags) 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 := callustat(dev, uintptr(unsafe.Pointer(ubuf))) 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 *byte if len(p) > 0 { _p0 = &p[0] } r0, e1 := callwrite(fd, uintptr(unsafe.Pointer(_p0)), 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 Dup2(oldfd int, newfd int) (err error) { _, e1 := calldup2(oldfd, newfd) 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 := callposix_fadvise64(fd, offset, length, 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 := callfchown(fd, uid, 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 := callfstat(fd, uintptr(unsafe.Pointer(stat))) if e1 != 0 { err = errnoErr(e1) } return } // THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT func fstatat(dirfd int, path string, stat *Stat_t, flags int) (err error) { var _p0 *byte _p0, err = BytePtrFromString(path) if err != nil { return } _, e1 := callfstatat(dirfd, uintptr(unsafe.Pointer(_p0)), uintptr(unsafe.Pointer(stat)), flags) 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 := callfstatfs(fd, uintptr(unsafe.Pointer(buf))) 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 := callftruncate(fd, 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, _ := callgetegid() egid = int(r0) return } // THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT func Geteuid() (euid int) { r0, _ := callgeteuid() euid = int(r0) return } // THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT func Getgid() (gid int) { r0, _ := callgetgid() gid = int(r0) return } // THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT func Getuid() (uid int) { r0, _ := callgetuid() 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 := calllchown(uintptr(unsafe.Pointer(_p0)), uid, 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 := calllisten(s, n) 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 := calllstat(uintptr(unsafe.Pointer(_p0)), uintptr(unsafe.Pointer(stat))) 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 := callpause() 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 *byte if len(p) > 0 { _p0 = &p[0] } r0, e1 := callpread64(fd, uintptr(unsafe.Pointer(_p0)), len(p), 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 *byte if len(p) > 0 { _p0 = &p[0] } r0, e1 := callpwrite64(fd, uintptr(unsafe.Pointer(_p0)), len(p), 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 := callselect(nfd, uintptr(unsafe.Pointer(r)), uintptr(unsafe.Pointer(w)), uintptr(unsafe.Pointer(e)), 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 Pselect(nfd int, r *FdSet, w *FdSet, e *FdSet, timeout *Timespec, sigmask *Sigset_t) (n int, err error) { r0, e1 := callpselect(nfd, uintptr(unsafe.Pointer(r)), uintptr(unsafe.Pointer(w)), uintptr(unsafe.Pointer(e)), uintptr(unsafe.Pointer(timeout)), uintptr(unsafe.Pointer(sigmask))) n = int(r0) 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 := callsetregid(rgid, egid) 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 := callsetreuid(ruid, euid) 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 := callshutdown(fd, how) 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 := callsplice(rfd, uintptr(unsafe.Pointer(roff)), wfd, uintptr(unsafe.Pointer(woff)), len, 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, statptr *Stat_t) (err error) { var _p0 *byte _p0, err = BytePtrFromString(path) if err != nil { return } _, e1 := callstat(uintptr(unsafe.Pointer(_p0)), uintptr(unsafe.Pointer(statptr))) 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 := callstatfs(uintptr(unsafe.Pointer(_p0)), uintptr(unsafe.Pointer(buf))) 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 := calltruncate(uintptr(unsafe.Pointer(_p0)), length) 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 := callbind(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 := callconnect(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 := callgetgroups(n, uintptr(unsafe.Pointer(list))) 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 := callsetgroups(n, uintptr(unsafe.Pointer(list))) 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 := callgetsockopt(s, level, name, uintptr(val), uintptr(unsafe.Pointer(vallen))) 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 := callsetsockopt(s, level, name, uintptr(val), vallen) 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 := callsocket(domain, typ, 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 := callsocketpair(domain, typ, proto, uintptr(unsafe.Pointer(fd))) 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 := callgetpeername(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 := callgetsockname(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 *byte if len(p) > 0 { _p0 = &p[0] } r0, e1 := callrecvfrom(fd, uintptr(unsafe.Pointer(_p0)), len(p), 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 *byte if len(buf) > 0 { _p0 = &buf[0] } _, e1 := callsendto(s, uintptr(unsafe.Pointer(_p0)), len(buf), 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 := callnrecvmsg(s, uintptr(unsafe.Pointer(msg)), 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 := callnsendmsg(s, uintptr(unsafe.Pointer(msg)), 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 munmap(addr uintptr, length uintptr) (err error) { _, e1 := callmunmap(addr, length) 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 *byte if len(b) > 0 { _p0 = &b[0] } _, e1 := callmadvise(uintptr(unsafe.Pointer(_p0)), len(b), 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 *byte if len(b) > 0 { _p0 = &b[0] } _, e1 := callmprotect(uintptr(unsafe.Pointer(_p0)), len(b), 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 *byte if len(b) > 0 { _p0 = &b[0] } _, e1 := callmlock(uintptr(unsafe.Pointer(_p0)), len(b)) 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 := callmlockall(flags) if e1 != 0 { err = errnoErr(e1) } return } // THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT func Msync(b []byte, flags int) (err error) { var _p0 *byte if len(b) > 0 { _p0 = &b[0] } _, e1 := callmsync(uintptr(unsafe.Pointer(_p0)), len(b), flags) 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 *byte if len(b) > 0 { _p0 = &b[0] } _, e1 := callmunlock(uintptr(unsafe.Pointer(_p0)), len(b)) 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 := callmunlockall() 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 := callpipe(uintptr(unsafe.Pointer(p))) 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 := callpoll(uintptr(unsafe.Pointer(fds)), nfds, 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 gettimeofday(tv *Timeval, tzp *Timezone) (err error) { _, e1 := callgettimeofday(uintptr(unsafe.Pointer(tv)), uintptr(unsafe.Pointer(tzp))) 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 := calltime(uintptr(unsafe.Pointer(t))) 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 := callutime(uintptr(unsafe.Pointer(_p0)), uintptr(unsafe.Pointer(buf))) if e1 != 0 { err = errnoErr(e1) } return } // THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT func Getsystemcfg(label int) (n uint64) { r0, _ := callgetsystemcfg(label) n = uint64(r0) return } // THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT func umount(target string) (err error) { var _p0 *byte _p0, err = BytePtrFromString(target) if err != nil { return } _, e1 := callumount(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 Getrlimit(resource int, rlim *Rlimit) (err error) { _, e1 := callgetrlimit(resource, uintptr(unsafe.Pointer(rlim))) 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 := calllseek(fd, offset, 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 mmap(addr uintptr, length uintptr, prot int, flags int, fd int, offset int64) (xaddr uintptr, err error) { r0, e1 := callmmap64(addr, length, prot, flags, fd, offset) xaddr = uintptr(r0) if e1 != 0 { err = errnoErr(e1) } return } dependencies/pkg/mod/golang.org/x/sys@v0.26.0/unix/zsysnum_linux_riscv64.go0000644000000000000000000002607015107355264025474 0ustar rootroot// go run linux/mksysnum.go -Wall -Werror -static -I/tmp/riscv64/include /tmp/riscv64/include/asm/unistd.h // Code generated by the command above; see README.md. DO NOT EDIT. //go:build riscv64 && 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_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_NEWFSTATAT = 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_RISCV_HWPROBE = 258 SYS_RISCV_FLUSH_ICACHE = 259 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 SYS_STATX = 291 SYS_IO_PGETEVENTS = 292 SYS_RSEQ = 293 SYS_KEXEC_FILE_LOAD = 294 SYS_PIDFD_SEND_SIGNAL = 424 SYS_IO_URING_SETUP = 425 SYS_IO_URING_ENTER = 426 SYS_IO_URING_REGISTER = 427 SYS_OPEN_TREE = 428 SYS_MOVE_MOUNT = 429 SYS_FSOPEN = 430 SYS_FSCONFIG = 431 SYS_FSMOUNT = 432 SYS_FSPICK = 433 SYS_PIDFD_OPEN = 434 SYS_CLONE3 = 435 SYS_CLOSE_RANGE = 436 SYS_OPENAT2 = 437 SYS_PIDFD_GETFD = 438 SYS_FACCESSAT2 = 439 SYS_PROCESS_MADVISE = 440 SYS_EPOLL_PWAIT2 = 441 SYS_MOUNT_SETATTR = 442 SYS_QUOTACTL_FD = 443 SYS_LANDLOCK_CREATE_RULESET = 444 SYS_LANDLOCK_ADD_RULE = 445 SYS_LANDLOCK_RESTRICT_SELF = 446 SYS_MEMFD_SECRET = 447 SYS_PROCESS_MRELEASE = 448 SYS_FUTEX_WAITV = 449 SYS_SET_MEMPOLICY_HOME_NODE = 450 SYS_CACHESTAT = 451 SYS_FCHMODAT2 = 452 SYS_MAP_SHADOW_STACK = 453 SYS_FUTEX_WAKE = 454 SYS_FUTEX_WAIT = 455 SYS_FUTEX_REQUEUE = 456 SYS_STATMOUNT = 457 SYS_LISTMOUNT = 458 SYS_LSM_GET_SELF_ATTR = 459 SYS_LSM_SET_SELF_ATTR = 460 SYS_LSM_LIST_MODULES = 461 SYS_MSEAL = 462 ) dependencies/pkg/mod/golang.org/x/sys@v0.26.0/unix/dev_zos.go0000644000000000000000000000147615107355264022621 0ustar rootroot// Copyright 2020 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:build zos && s390x // Functions to access/create device major and minor numbers matching the // encoding used by z/OS. // // The information below is extracted and adapted from macros. package unix // Major returns the major component of a z/OS device number. func Major(dev uint64) uint32 { return uint32((dev >> 16) & 0x0000FFFF) } // Minor returns the minor component of a z/OS device number. func Minor(dev uint64) uint32 { return uint32(dev & 0x0000FFFF) } // Mkdev returns a z/OS device number generated from the given major and minor // components. func Mkdev(major, minor uint32) uint64 { return (uint64(major) << 16) | uint64(minor) } dependencies/pkg/mod/golang.org/x/sys@v0.26.0/unix/zsyscall_darwin_arm64.go0000644000000000000000000021301415107355264025362 0ustar rootroot// go run mksyscall.go -tags darwin,arm64 syscall_bsd.go syscall_darwin.go syscall_darwin_arm64.go // Code generated by the command above; see README.md. DO NOT EDIT. //go: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 := syscall_rawSyscall(libc_getgroups_trampoline_addr, uintptr(ngid), uintptr(unsafe.Pointer(gid)), 0) n = int(r0) if e1 != 0 { err = errnoErr(e1) } return } var libc_getgroups_trampoline_addr uintptr //go:cgo_import_dynamic libc_getgroups getgroups "/usr/lib/libSystem.B.dylib" // THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT func setgroups(ngid int, gid *_Gid_t) (err error) { _, _, e1 := syscall_rawSyscall(libc_setgroups_trampoline_addr, uintptr(ngid), uintptr(unsafe.Pointer(gid)), 0) if e1 != 0 { err = errnoErr(e1) } return } var libc_setgroups_trampoline_addr uintptr //go:cgo_import_dynamic libc_setgroups setgroups "/usr/lib/libSystem.B.dylib" // 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 := syscall_syscall6(libc_wait4_trampoline_addr, uintptr(pid), uintptr(unsafe.Pointer(wstatus)), uintptr(options), uintptr(unsafe.Pointer(rusage)), 0, 0) wpid = int(r0) if e1 != 0 { err = errnoErr(e1) } return } var libc_wait4_trampoline_addr uintptr //go:cgo_import_dynamic libc_wait4 wait4 "/usr/lib/libSystem.B.dylib" // 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_syscall(libc_accept_trampoline_addr, uintptr(s), uintptr(unsafe.Pointer(rsa)), uintptr(unsafe.Pointer(addrlen))) fd = int(r0) if e1 != 0 { err = errnoErr(e1) } return } var libc_accept_trampoline_addr uintptr //go:cgo_import_dynamic libc_accept accept "/usr/lib/libSystem.B.dylib" // 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_syscall(libc_bind_trampoline_addr, uintptr(s), uintptr(addr), uintptr(addrlen)) if e1 != 0 { err = errnoErr(e1) } return } var libc_bind_trampoline_addr uintptr //go:cgo_import_dynamic libc_bind bind "/usr/lib/libSystem.B.dylib" // 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_syscall(libc_connect_trampoline_addr, uintptr(s), uintptr(addr), uintptr(addrlen)) if e1 != 0 { err = errnoErr(e1) } return } var libc_connect_trampoline_addr uintptr //go:cgo_import_dynamic libc_connect connect "/usr/lib/libSystem.B.dylib" // 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 := syscall_rawSyscall(libc_socket_trampoline_addr, uintptr(domain), uintptr(typ), uintptr(proto)) fd = int(r0) if e1 != 0 { err = errnoErr(e1) } return } var libc_socket_trampoline_addr uintptr //go:cgo_import_dynamic libc_socket socket "/usr/lib/libSystem.B.dylib" // 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 := syscall_syscall6(libc_getsockopt_trampoline_addr, uintptr(s), uintptr(level), uintptr(name), uintptr(val), uintptr(unsafe.Pointer(vallen)), 0) if e1 != 0 { err = errnoErr(e1) } return } var libc_getsockopt_trampoline_addr uintptr //go:cgo_import_dynamic libc_getsockopt getsockopt "/usr/lib/libSystem.B.dylib" // 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 := syscall_syscall6(libc_setsockopt_trampoline_addr, uintptr(s), uintptr(level), uintptr(name), uintptr(val), uintptr(vallen), 0) if e1 != 0 { err = errnoErr(e1) } return } var libc_setsockopt_trampoline_addr uintptr //go:cgo_import_dynamic libc_setsockopt setsockopt "/usr/lib/libSystem.B.dylib" // THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT func getpeername(fd int, rsa *RawSockaddrAny, addrlen *_Socklen) (err error) { _, _, e1 := syscall_rawSyscall(libc_getpeername_trampoline_addr, uintptr(fd), uintptr(unsafe.Pointer(rsa)), uintptr(unsafe.Pointer(addrlen))) if e1 != 0 { err = errnoErr(e1) } return } var libc_getpeername_trampoline_addr uintptr //go:cgo_import_dynamic libc_getpeername getpeername "/usr/lib/libSystem.B.dylib" // THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT func getsockname(fd int, rsa *RawSockaddrAny, addrlen *_Socklen) (err error) { _, _, e1 := syscall_rawSyscall(libc_getsockname_trampoline_addr, uintptr(fd), uintptr(unsafe.Pointer(rsa)), uintptr(unsafe.Pointer(addrlen))) if e1 != 0 { err = errnoErr(e1) } return } var libc_getsockname_trampoline_addr uintptr //go:cgo_import_dynamic libc_getsockname getsockname "/usr/lib/libSystem.B.dylib" // THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT func Shutdown(s int, how int) (err error) { _, _, e1 := syscall_syscall(libc_shutdown_trampoline_addr, uintptr(s), uintptr(how), 0) if e1 != 0 { err = errnoErr(e1) } return } var libc_shutdown_trampoline_addr uintptr //go:cgo_import_dynamic libc_shutdown shutdown "/usr/lib/libSystem.B.dylib" // 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 := syscall_rawSyscall6(libc_socketpair_trampoline_addr, uintptr(domain), uintptr(typ), uintptr(proto), uintptr(unsafe.Pointer(fd)), 0, 0) if e1 != 0 { err = errnoErr(e1) } return } var libc_socketpair_trampoline_addr uintptr //go:cgo_import_dynamic libc_socketpair socketpair "/usr/lib/libSystem.B.dylib" // 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 := syscall_syscall6(libc_recvfrom_trampoline_addr, 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 } var libc_recvfrom_trampoline_addr uintptr //go:cgo_import_dynamic libc_recvfrom recvfrom "/usr/lib/libSystem.B.dylib" // 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 := syscall_syscall6(libc_sendto_trampoline_addr, uintptr(s), uintptr(_p0), uintptr(len(buf)), uintptr(flags), uintptr(to), uintptr(addrlen)) if e1 != 0 { err = errnoErr(e1) } return } var libc_sendto_trampoline_addr uintptr //go:cgo_import_dynamic libc_sendto sendto "/usr/lib/libSystem.B.dylib" // 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_syscall(libc_recvmsg_trampoline_addr, uintptr(s), uintptr(unsafe.Pointer(msg)), uintptr(flags)) n = int(r0) if e1 != 0 { err = errnoErr(e1) } return } var libc_recvmsg_trampoline_addr uintptr //go:cgo_import_dynamic libc_recvmsg recvmsg "/usr/lib/libSystem.B.dylib" // 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_syscall(libc_sendmsg_trampoline_addr, uintptr(s), uintptr(unsafe.Pointer(msg)), uintptr(flags)) n = int(r0) if e1 != 0 { err = errnoErr(e1) } return } var libc_sendmsg_trampoline_addr uintptr //go:cgo_import_dynamic libc_sendmsg sendmsg "/usr/lib/libSystem.B.dylib" // 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 := syscall_syscall6(libc_kevent_trampoline_addr, uintptr(kq), uintptr(change), uintptr(nchange), uintptr(event), uintptr(nevent), uintptr(unsafe.Pointer(timeout))) n = int(r0) if e1 != 0 { err = errnoErr(e1) } return } var libc_kevent_trampoline_addr uintptr //go:cgo_import_dynamic libc_kevent kevent "/usr/lib/libSystem.B.dylib" // 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_syscall(libc_utimes_trampoline_addr, uintptr(unsafe.Pointer(_p0)), uintptr(unsafe.Pointer(timeval)), 0) if e1 != 0 { err = errnoErr(e1) } return } var libc_utimes_trampoline_addr uintptr //go:cgo_import_dynamic libc_utimes utimes "/usr/lib/libSystem.B.dylib" // THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT func futimes(fd int, timeval *[2]Timeval) (err error) { _, _, e1 := syscall_syscall(libc_futimes_trampoline_addr, uintptr(fd), uintptr(unsafe.Pointer(timeval)), 0) if e1 != 0 { err = errnoErr(e1) } return } var libc_futimes_trampoline_addr uintptr //go:cgo_import_dynamic libc_futimes futimes "/usr/lib/libSystem.B.dylib" // 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_syscall(libc_poll_trampoline_addr, uintptr(unsafe.Pointer(fds)), uintptr(nfds), uintptr(timeout)) n = int(r0) if e1 != 0 { err = errnoErr(e1) } return } var libc_poll_trampoline_addr uintptr //go:cgo_import_dynamic libc_poll poll "/usr/lib/libSystem.B.dylib" // THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT func Madvise(b []byte, behav int) (err error) { var _p0 unsafe.Pointer if len(b) > 0 { _p0 = unsafe.Pointer(&b[0]) } else { _p0 = unsafe.Pointer(&_zero) } _, _, e1 := syscall_syscall(libc_madvise_trampoline_addr, uintptr(_p0), uintptr(len(b)), uintptr(behav)) if e1 != 0 { err = errnoErr(e1) } return } var libc_madvise_trampoline_addr uintptr //go:cgo_import_dynamic libc_madvise madvise "/usr/lib/libSystem.B.dylib" // 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_syscall(libc_mlock_trampoline_addr, uintptr(_p0), uintptr(len(b)), 0) if e1 != 0 { err = errnoErr(e1) } return } var libc_mlock_trampoline_addr uintptr //go:cgo_import_dynamic libc_mlock mlock "/usr/lib/libSystem.B.dylib" // THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT func Mlockall(flags int) (err error) { _, _, e1 := syscall_syscall(libc_mlockall_trampoline_addr, uintptr(flags), 0, 0) if e1 != 0 { err = errnoErr(e1) } return } var libc_mlockall_trampoline_addr uintptr //go:cgo_import_dynamic libc_mlockall mlockall "/usr/lib/libSystem.B.dylib" // 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_syscall(libc_mprotect_trampoline_addr, uintptr(_p0), uintptr(len(b)), uintptr(prot)) if e1 != 0 { err = errnoErr(e1) } return } var libc_mprotect_trampoline_addr uintptr //go:cgo_import_dynamic libc_mprotect mprotect "/usr/lib/libSystem.B.dylib" // THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT func Msync(b []byte, flags int) (err error) { var _p0 unsafe.Pointer if len(b) > 0 { _p0 = unsafe.Pointer(&b[0]) } else { _p0 = unsafe.Pointer(&_zero) } _, _, e1 := syscall_syscall(libc_msync_trampoline_addr, uintptr(_p0), uintptr(len(b)), uintptr(flags)) if e1 != 0 { err = errnoErr(e1) } return } var libc_msync_trampoline_addr uintptr //go:cgo_import_dynamic libc_msync msync "/usr/lib/libSystem.B.dylib" // 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_syscall(libc_munlock_trampoline_addr, uintptr(_p0), uintptr(len(b)), 0) if e1 != 0 { err = errnoErr(e1) } return } var libc_munlock_trampoline_addr uintptr //go:cgo_import_dynamic libc_munlock munlock "/usr/lib/libSystem.B.dylib" // THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT func Munlockall() (err error) { _, _, e1 := syscall_syscall(libc_munlockall_trampoline_addr, 0, 0, 0) if e1 != 0 { err = errnoErr(e1) } return } var libc_munlockall_trampoline_addr uintptr //go:cgo_import_dynamic libc_munlockall munlockall "/usr/lib/libSystem.B.dylib" // THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT func closedir(dir uintptr) (err error) { _, _, e1 := syscall_syscall(libc_closedir_trampoline_addr, uintptr(dir), 0, 0) if e1 != 0 { err = errnoErr(e1) } return } var libc_closedir_trampoline_addr uintptr //go:cgo_import_dynamic libc_closedir closedir "/usr/lib/libSystem.B.dylib" // THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT func readdir_r(dir uintptr, entry *Dirent, result **Dirent) (res Errno) { r0, _, _ := syscall_syscall(libc_readdir_r_trampoline_addr, uintptr(dir), uintptr(unsafe.Pointer(entry)), uintptr(unsafe.Pointer(result))) res = Errno(r0) return } var libc_readdir_r_trampoline_addr uintptr //go:cgo_import_dynamic libc_readdir_r readdir_r "/usr/lib/libSystem.B.dylib" // THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT func pipe(p *[2]int32) (err error) { _, _, e1 := syscall_rawSyscall(libc_pipe_trampoline_addr, uintptr(unsafe.Pointer(p)), 0, 0) if e1 != 0 { err = errnoErr(e1) } return } var libc_pipe_trampoline_addr uintptr //go:cgo_import_dynamic libc_pipe pipe "/usr/lib/libSystem.B.dylib" // THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT func getxattr(path string, attr string, dest *byte, size int, position uint32, options int) (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 } r0, _, e1 := syscall_syscall6(libc_getxattr_trampoline_addr, uintptr(unsafe.Pointer(_p0)), uintptr(unsafe.Pointer(_p1)), uintptr(unsafe.Pointer(dest)), uintptr(size), uintptr(position), uintptr(options)) sz = int(r0) if e1 != 0 { err = errnoErr(e1) } return } var libc_getxattr_trampoline_addr uintptr //go:cgo_import_dynamic libc_getxattr getxattr "/usr/lib/libSystem.B.dylib" // THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT func fgetxattr(fd int, attr string, dest *byte, size int, position uint32, options int) (sz int, err error) { var _p0 *byte _p0, err = BytePtrFromString(attr) if err != nil { return } r0, _, e1 := syscall_syscall6(libc_fgetxattr_trampoline_addr, uintptr(fd), uintptr(unsafe.Pointer(_p0)), uintptr(unsafe.Pointer(dest)), uintptr(size), uintptr(position), uintptr(options)) sz = int(r0) if e1 != 0 { err = errnoErr(e1) } return } var libc_fgetxattr_trampoline_addr uintptr //go:cgo_import_dynamic libc_fgetxattr fgetxattr "/usr/lib/libSystem.B.dylib" // THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT func setxattr(path string, attr string, data *byte, size int, position uint32, options 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 } _, _, e1 := syscall_syscall6(libc_setxattr_trampoline_addr, uintptr(unsafe.Pointer(_p0)), uintptr(unsafe.Pointer(_p1)), uintptr(unsafe.Pointer(data)), uintptr(size), uintptr(position), uintptr(options)) if e1 != 0 { err = errnoErr(e1) } return } var libc_setxattr_trampoline_addr uintptr //go:cgo_import_dynamic libc_setxattr setxattr "/usr/lib/libSystem.B.dylib" // THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT func fsetxattr(fd int, attr string, data *byte, size int, position uint32, options int) (err error) { var _p0 *byte _p0, err = BytePtrFromString(attr) if err != nil { return } _, _, e1 := syscall_syscall6(libc_fsetxattr_trampoline_addr, uintptr(fd), uintptr(unsafe.Pointer(_p0)), uintptr(unsafe.Pointer(data)), uintptr(size), uintptr(position), uintptr(options)) if e1 != 0 { err = errnoErr(e1) } return } var libc_fsetxattr_trampoline_addr uintptr //go:cgo_import_dynamic libc_fsetxattr fsetxattr "/usr/lib/libSystem.B.dylib" // THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT func removexattr(path string, attr string, options 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 } _, _, e1 := syscall_syscall(libc_removexattr_trampoline_addr, uintptr(unsafe.Pointer(_p0)), uintptr(unsafe.Pointer(_p1)), uintptr(options)) if e1 != 0 { err = errnoErr(e1) } return } var libc_removexattr_trampoline_addr uintptr //go:cgo_import_dynamic libc_removexattr removexattr "/usr/lib/libSystem.B.dylib" // THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT func fremovexattr(fd int, attr string, options int) (err error) { var _p0 *byte _p0, err = BytePtrFromString(attr) if err != nil { return } _, _, e1 := syscall_syscall(libc_fremovexattr_trampoline_addr, uintptr(fd), uintptr(unsafe.Pointer(_p0)), uintptr(options)) if e1 != 0 { err = errnoErr(e1) } return } var libc_fremovexattr_trampoline_addr uintptr //go:cgo_import_dynamic libc_fremovexattr fremovexattr "/usr/lib/libSystem.B.dylib" // THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT func listxattr(path string, dest *byte, size int, options int) (sz int, err error) { var _p0 *byte _p0, err = BytePtrFromString(path) if err != nil { return } r0, _, e1 := syscall_syscall6(libc_listxattr_trampoline_addr, uintptr(unsafe.Pointer(_p0)), uintptr(unsafe.Pointer(dest)), uintptr(size), uintptr(options), 0, 0) sz = int(r0) if e1 != 0 { err = errnoErr(e1) } return } var libc_listxattr_trampoline_addr uintptr //go:cgo_import_dynamic libc_listxattr listxattr "/usr/lib/libSystem.B.dylib" // THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT func flistxattr(fd int, dest *byte, size int, options int) (sz int, err error) { r0, _, e1 := syscall_syscall6(libc_flistxattr_trampoline_addr, uintptr(fd), uintptr(unsafe.Pointer(dest)), uintptr(size), uintptr(options), 0, 0) sz = int(r0) if e1 != 0 { err = errnoErr(e1) } return } var libc_flistxattr_trampoline_addr uintptr //go:cgo_import_dynamic libc_flistxattr flistxattr "/usr/lib/libSystem.B.dylib" // 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 := syscall_syscall6(libc_utimensat_trampoline_addr, uintptr(dirfd), uintptr(unsafe.Pointer(_p0)), uintptr(unsafe.Pointer(times)), uintptr(flags), 0, 0) if e1 != 0 { err = errnoErr(e1) } return } var libc_utimensat_trampoline_addr uintptr //go:cgo_import_dynamic libc_utimensat utimensat "/usr/lib/libSystem.B.dylib" // 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_syscall(libc_fcntl_trampoline_addr, uintptr(fd), uintptr(cmd), uintptr(arg)) val = int(r0) if e1 != 0 { err = errnoErr(e1) } return } var libc_fcntl_trampoline_addr uintptr //go:cgo_import_dynamic libc_fcntl fcntl "/usr/lib/libSystem.B.dylib" // 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_syscall(libc_kill_trampoline_addr, uintptr(pid), uintptr(signum), uintptr(posix)) if e1 != 0 { err = errnoErr(e1) } return } var libc_kill_trampoline_addr uintptr //go:cgo_import_dynamic libc_kill kill "/usr/lib/libSystem.B.dylib" // 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_syscall(libc_ioctl_trampoline_addr, uintptr(fd), uintptr(req), uintptr(arg)) if e1 != 0 { err = errnoErr(e1) } return } var libc_ioctl_trampoline_addr uintptr //go:cgo_import_dynamic libc_ioctl ioctl "/usr/lib/libSystem.B.dylib" // THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT func ioctlPtr(fd int, req uint, arg unsafe.Pointer) (err error) { _, _, e1 := syscall_syscall(libc_ioctl_trampoline_addr, 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 renamexNp(from string, to string, flag uint32) (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_syscall(libc_renamex_np_trampoline_addr, uintptr(unsafe.Pointer(_p0)), uintptr(unsafe.Pointer(_p1)), uintptr(flag)) if e1 != 0 { err = errnoErr(e1) } return } var libc_renamex_np_trampoline_addr uintptr //go:cgo_import_dynamic libc_renamex_np renamex_np "/usr/lib/libSystem.B.dylib" // THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT func renameatxNp(fromfd int, from string, tofd int, to string, flag uint32) (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_syscall6(libc_renameatx_np_trampoline_addr, uintptr(fromfd), uintptr(unsafe.Pointer(_p0)), uintptr(tofd), uintptr(unsafe.Pointer(_p1)), uintptr(flag), 0) if e1 != 0 { err = errnoErr(e1) } return } var libc_renameatx_np_trampoline_addr uintptr //go:cgo_import_dynamic libc_renameatx_np renameatx_np "/usr/lib/libSystem.B.dylib" // 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 := syscall_syscall6(libc_sysctl_trampoline_addr, 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 } var libc_sysctl_trampoline_addr uintptr //go:cgo_import_dynamic libc_sysctl sysctl "/usr/lib/libSystem.B.dylib" // THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT func pthread_chdir_np(path string) (err error) { var _p0 *byte _p0, err = BytePtrFromString(path) if err != nil { return } _, _, e1 := syscall_syscall(libc_pthread_chdir_np_trampoline_addr, uintptr(unsafe.Pointer(_p0)), 0, 0) if e1 != 0 { err = errnoErr(e1) } return } var libc_pthread_chdir_np_trampoline_addr uintptr //go:cgo_import_dynamic libc_pthread_chdir_np pthread_chdir_np "/usr/lib/libSystem.B.dylib" // THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT func pthread_fchdir_np(fd int) (err error) { _, _, e1 := syscall_syscall(libc_pthread_fchdir_np_trampoline_addr, uintptr(fd), 0, 0) if e1 != 0 { err = errnoErr(e1) } return } var libc_pthread_fchdir_np_trampoline_addr uintptr //go:cgo_import_dynamic libc_pthread_fchdir_np pthread_fchdir_np "/usr/lib/libSystem.B.dylib" // THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT func connectx(fd int, endpoints *SaEndpoints, associd SaeAssocID, flags uint32, iov []Iovec, n *uintptr, connid *SaeConnID) (err error) { var _p0 unsafe.Pointer if len(iov) > 0 { _p0 = unsafe.Pointer(&iov[0]) } else { _p0 = unsafe.Pointer(&_zero) } _, _, e1 := syscall_syscall9(libc_connectx_trampoline_addr, uintptr(fd), uintptr(unsafe.Pointer(endpoints)), uintptr(associd), uintptr(flags), uintptr(_p0), uintptr(len(iov)), uintptr(unsafe.Pointer(n)), uintptr(unsafe.Pointer(connid)), 0) if e1 != 0 { err = errnoErr(e1) } return } var libc_connectx_trampoline_addr uintptr //go:cgo_import_dynamic libc_connectx connectx "/usr/lib/libSystem.B.dylib" // THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT func sendfile(infd int, outfd int, offset int64, len *int64, hdtr unsafe.Pointer, flags int) (err error) { _, _, e1 := syscall_syscall6(libc_sendfile_trampoline_addr, uintptr(infd), uintptr(outfd), uintptr(offset), uintptr(unsafe.Pointer(len)), uintptr(hdtr), uintptr(flags)) if e1 != 0 { err = errnoErr(e1) } return } var libc_sendfile_trampoline_addr uintptr //go:cgo_import_dynamic libc_sendfile sendfile "/usr/lib/libSystem.B.dylib" // THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT func shmat(id int, addr uintptr, flag int) (ret uintptr, err error) { r0, _, e1 := syscall_syscall(libc_shmat_trampoline_addr, uintptr(id), uintptr(addr), uintptr(flag)) ret = uintptr(r0) if e1 != 0 { err = errnoErr(e1) } return } var libc_shmat_trampoline_addr uintptr //go:cgo_import_dynamic libc_shmat shmat "/usr/lib/libSystem.B.dylib" // THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT func shmctl(id int, cmd int, buf *SysvShmDesc) (result int, err error) { r0, _, e1 := syscall_syscall(libc_shmctl_trampoline_addr, uintptr(id), uintptr(cmd), uintptr(unsafe.Pointer(buf))) result = int(r0) if e1 != 0 { err = errnoErr(e1) } return } var libc_shmctl_trampoline_addr uintptr //go:cgo_import_dynamic libc_shmctl shmctl "/usr/lib/libSystem.B.dylib" // THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT func shmdt(addr uintptr) (err error) { _, _, e1 := syscall_syscall(libc_shmdt_trampoline_addr, uintptr(addr), 0, 0) if e1 != 0 { err = errnoErr(e1) } return } var libc_shmdt_trampoline_addr uintptr //go:cgo_import_dynamic libc_shmdt shmdt "/usr/lib/libSystem.B.dylib" // THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT func shmget(key int, size int, flag int) (id int, err error) { r0, _, e1 := syscall_syscall(libc_shmget_trampoline_addr, uintptr(key), uintptr(size), uintptr(flag)) id = int(r0) if e1 != 0 { err = errnoErr(e1) } return } var libc_shmget_trampoline_addr uintptr //go:cgo_import_dynamic libc_shmget shmget "/usr/lib/libSystem.B.dylib" // 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_syscall(libc_access_trampoline_addr, uintptr(unsafe.Pointer(_p0)), uintptr(mode), 0) if e1 != 0 { err = errnoErr(e1) } return } var libc_access_trampoline_addr uintptr //go:cgo_import_dynamic libc_access access "/usr/lib/libSystem.B.dylib" // THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT func Adjtime(delta *Timeval, olddelta *Timeval) (err error) { _, _, e1 := syscall_syscall(libc_adjtime_trampoline_addr, uintptr(unsafe.Pointer(delta)), uintptr(unsafe.Pointer(olddelta)), 0) if e1 != 0 { err = errnoErr(e1) } return } var libc_adjtime_trampoline_addr uintptr //go:cgo_import_dynamic libc_adjtime adjtime "/usr/lib/libSystem.B.dylib" // 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_syscall(libc_chdir_trampoline_addr, uintptr(unsafe.Pointer(_p0)), 0, 0) if e1 != 0 { err = errnoErr(e1) } return } var libc_chdir_trampoline_addr uintptr //go:cgo_import_dynamic libc_chdir chdir "/usr/lib/libSystem.B.dylib" // 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_syscall(libc_chflags_trampoline_addr, uintptr(unsafe.Pointer(_p0)), uintptr(flags), 0) if e1 != 0 { err = errnoErr(e1) } return } var libc_chflags_trampoline_addr uintptr //go:cgo_import_dynamic libc_chflags chflags "/usr/lib/libSystem.B.dylib" // 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_syscall(libc_chmod_trampoline_addr, uintptr(unsafe.Pointer(_p0)), uintptr(mode), 0) if e1 != 0 { err = errnoErr(e1) } return } var libc_chmod_trampoline_addr uintptr //go:cgo_import_dynamic libc_chmod chmod "/usr/lib/libSystem.B.dylib" // 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_syscall(libc_chown_trampoline_addr, uintptr(unsafe.Pointer(_p0)), uintptr(uid), uintptr(gid)) if e1 != 0 { err = errnoErr(e1) } return } var libc_chown_trampoline_addr uintptr //go:cgo_import_dynamic libc_chown chown "/usr/lib/libSystem.B.dylib" // 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_syscall(libc_chroot_trampoline_addr, uintptr(unsafe.Pointer(_p0)), 0, 0) if e1 != 0 { err = errnoErr(e1) } return } var libc_chroot_trampoline_addr uintptr //go:cgo_import_dynamic libc_chroot chroot "/usr/lib/libSystem.B.dylib" // THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT func ClockGettime(clockid int32, time *Timespec) (err error) { _, _, e1 := syscall_syscall(libc_clock_gettime_trampoline_addr, uintptr(clockid), uintptr(unsafe.Pointer(time)), 0) if e1 != 0 { err = errnoErr(e1) } return } var libc_clock_gettime_trampoline_addr uintptr //go:cgo_import_dynamic libc_clock_gettime clock_gettime "/usr/lib/libSystem.B.dylib" // THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT func Close(fd int) (err error) { _, _, e1 := syscall_syscall(libc_close_trampoline_addr, uintptr(fd), 0, 0) if e1 != 0 { err = errnoErr(e1) } return } var libc_close_trampoline_addr uintptr //go:cgo_import_dynamic libc_close close "/usr/lib/libSystem.B.dylib" // THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT func Clonefile(src string, dst string, flags int) (err error) { var _p0 *byte _p0, err = BytePtrFromString(src) if err != nil { return } var _p1 *byte _p1, err = BytePtrFromString(dst) if err != nil { return } _, _, e1 := syscall_syscall(libc_clonefile_trampoline_addr, uintptr(unsafe.Pointer(_p0)), uintptr(unsafe.Pointer(_p1)), uintptr(flags)) if e1 != 0 { err = errnoErr(e1) } return } var libc_clonefile_trampoline_addr uintptr //go:cgo_import_dynamic libc_clonefile clonefile "/usr/lib/libSystem.B.dylib" // THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT func Clonefileat(srcDirfd int, src string, dstDirfd int, dst string, flags int) (err error) { var _p0 *byte _p0, err = BytePtrFromString(src) if err != nil { return } var _p1 *byte _p1, err = BytePtrFromString(dst) if err != nil { return } _, _, e1 := syscall_syscall6(libc_clonefileat_trampoline_addr, uintptr(srcDirfd), uintptr(unsafe.Pointer(_p0)), uintptr(dstDirfd), uintptr(unsafe.Pointer(_p1)), uintptr(flags), 0) if e1 != 0 { err = errnoErr(e1) } return } var libc_clonefileat_trampoline_addr uintptr //go:cgo_import_dynamic libc_clonefileat clonefileat "/usr/lib/libSystem.B.dylib" // THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT func Dup(fd int) (nfd int, err error) { r0, _, e1 := syscall_syscall(libc_dup_trampoline_addr, uintptr(fd), 0, 0) nfd = int(r0) if e1 != 0 { err = errnoErr(e1) } return } var libc_dup_trampoline_addr uintptr //go:cgo_import_dynamic libc_dup dup "/usr/lib/libSystem.B.dylib" // THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT func Dup2(from int, to int) (err error) { _, _, e1 := syscall_syscall(libc_dup2_trampoline_addr, uintptr(from), uintptr(to), 0) if e1 != 0 { err = errnoErr(e1) } return } var libc_dup2_trampoline_addr uintptr //go:cgo_import_dynamic libc_dup2 dup2 "/usr/lib/libSystem.B.dylib" // 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_syscall(libc_exchangedata_trampoline_addr, uintptr(unsafe.Pointer(_p0)), uintptr(unsafe.Pointer(_p1)), uintptr(options)) if e1 != 0 { err = errnoErr(e1) } return } var libc_exchangedata_trampoline_addr uintptr //go:cgo_import_dynamic libc_exchangedata exchangedata "/usr/lib/libSystem.B.dylib" // THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT func Exit(code int) { syscall_syscall(libc_exit_trampoline_addr, uintptr(code), 0, 0) return } var libc_exit_trampoline_addr uintptr //go:cgo_import_dynamic libc_exit exit "/usr/lib/libSystem.B.dylib" // 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 := syscall_syscall6(libc_faccessat_trampoline_addr, uintptr(dirfd), uintptr(unsafe.Pointer(_p0)), uintptr(mode), uintptr(flags), 0, 0) if e1 != 0 { err = errnoErr(e1) } return } var libc_faccessat_trampoline_addr uintptr //go:cgo_import_dynamic libc_faccessat faccessat "/usr/lib/libSystem.B.dylib" // THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT func Fchdir(fd int) (err error) { _, _, e1 := syscall_syscall(libc_fchdir_trampoline_addr, uintptr(fd), 0, 0) if e1 != 0 { err = errnoErr(e1) } return } var libc_fchdir_trampoline_addr uintptr //go:cgo_import_dynamic libc_fchdir fchdir "/usr/lib/libSystem.B.dylib" // THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT func Fchflags(fd int, flags int) (err error) { _, _, e1 := syscall_syscall(libc_fchflags_trampoline_addr, uintptr(fd), uintptr(flags), 0) if e1 != 0 { err = errnoErr(e1) } return } var libc_fchflags_trampoline_addr uintptr //go:cgo_import_dynamic libc_fchflags fchflags "/usr/lib/libSystem.B.dylib" // THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT func Fchmod(fd int, mode uint32) (err error) { _, _, e1 := syscall_syscall(libc_fchmod_trampoline_addr, uintptr(fd), uintptr(mode), 0) if e1 != 0 { err = errnoErr(e1) } return } var libc_fchmod_trampoline_addr uintptr //go:cgo_import_dynamic libc_fchmod fchmod "/usr/lib/libSystem.B.dylib" // 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 := syscall_syscall6(libc_fchmodat_trampoline_addr, uintptr(dirfd), uintptr(unsafe.Pointer(_p0)), uintptr(mode), uintptr(flags), 0, 0) if e1 != 0 { err = errnoErr(e1) } return } var libc_fchmodat_trampoline_addr uintptr //go:cgo_import_dynamic libc_fchmodat fchmodat "/usr/lib/libSystem.B.dylib" // 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_syscall(libc_fchown_trampoline_addr, uintptr(fd), uintptr(uid), uintptr(gid)) if e1 != 0 { err = errnoErr(e1) } return } var libc_fchown_trampoline_addr uintptr //go:cgo_import_dynamic libc_fchown fchown "/usr/lib/libSystem.B.dylib" // 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 := syscall_syscall6(libc_fchownat_trampoline_addr, uintptr(dirfd), uintptr(unsafe.Pointer(_p0)), uintptr(uid), uintptr(gid), uintptr(flags), 0) if e1 != 0 { err = errnoErr(e1) } return } var libc_fchownat_trampoline_addr uintptr //go:cgo_import_dynamic libc_fchownat fchownat "/usr/lib/libSystem.B.dylib" // THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT func Fclonefileat(srcDirfd int, dstDirfd int, dst string, flags int) (err error) { var _p0 *byte _p0, err = BytePtrFromString(dst) if err != nil { return } _, _, e1 := syscall_syscall6(libc_fclonefileat_trampoline_addr, uintptr(srcDirfd), uintptr(dstDirfd), uintptr(unsafe.Pointer(_p0)), uintptr(flags), 0, 0) if e1 != 0 { err = errnoErr(e1) } return } var libc_fclonefileat_trampoline_addr uintptr //go:cgo_import_dynamic libc_fclonefileat fclonefileat "/usr/lib/libSystem.B.dylib" // THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT func Flock(fd int, how int) (err error) { _, _, e1 := syscall_syscall(libc_flock_trampoline_addr, uintptr(fd), uintptr(how), 0) if e1 != 0 { err = errnoErr(e1) } return } var libc_flock_trampoline_addr uintptr //go:cgo_import_dynamic libc_flock flock "/usr/lib/libSystem.B.dylib" // 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_syscall(libc_fpathconf_trampoline_addr, uintptr(fd), uintptr(name), 0) val = int(r0) if e1 != 0 { err = errnoErr(e1) } return } var libc_fpathconf_trampoline_addr uintptr //go:cgo_import_dynamic libc_fpathconf fpathconf "/usr/lib/libSystem.B.dylib" // THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT func Fsync(fd int) (err error) { _, _, e1 := syscall_syscall(libc_fsync_trampoline_addr, uintptr(fd), 0, 0) if e1 != 0 { err = errnoErr(e1) } return } var libc_fsync_trampoline_addr uintptr //go:cgo_import_dynamic libc_fsync fsync "/usr/lib/libSystem.B.dylib" // THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT func Ftruncate(fd int, length int64) (err error) { _, _, e1 := syscall_syscall(libc_ftruncate_trampoline_addr, uintptr(fd), uintptr(length), 0) if e1 != 0 { err = errnoErr(e1) } return } var libc_ftruncate_trampoline_addr uintptr //go:cgo_import_dynamic libc_ftruncate ftruncate "/usr/lib/libSystem.B.dylib" // 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_syscall(libc_getcwd_trampoline_addr, uintptr(_p0), uintptr(len(buf)), 0) n = int(r0) if e1 != 0 { err = errnoErr(e1) } return } var libc_getcwd_trampoline_addr uintptr //go:cgo_import_dynamic libc_getcwd getcwd "/usr/lib/libSystem.B.dylib" // THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT func Getdtablesize() (size int) { r0, _, _ := syscall_syscall(libc_getdtablesize_trampoline_addr, 0, 0, 0) size = int(r0) return } var libc_getdtablesize_trampoline_addr uintptr //go:cgo_import_dynamic libc_getdtablesize getdtablesize "/usr/lib/libSystem.B.dylib" // THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT func Getegid() (egid int) { r0, _, _ := syscall_rawSyscall(libc_getegid_trampoline_addr, 0, 0, 0) egid = int(r0) return } var libc_getegid_trampoline_addr uintptr //go:cgo_import_dynamic libc_getegid getegid "/usr/lib/libSystem.B.dylib" // THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT func Geteuid() (uid int) { r0, _, _ := syscall_rawSyscall(libc_geteuid_trampoline_addr, 0, 0, 0) uid = int(r0) return } var libc_geteuid_trampoline_addr uintptr //go:cgo_import_dynamic libc_geteuid geteuid "/usr/lib/libSystem.B.dylib" // THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT func Getgid() (gid int) { r0, _, _ := syscall_rawSyscall(libc_getgid_trampoline_addr, 0, 0, 0) gid = int(r0) return } var libc_getgid_trampoline_addr uintptr //go:cgo_import_dynamic libc_getgid getgid "/usr/lib/libSystem.B.dylib" // THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT func Getpgid(pid int) (pgid int, err error) { r0, _, e1 := syscall_rawSyscall(libc_getpgid_trampoline_addr, uintptr(pid), 0, 0) pgid = int(r0) if e1 != 0 { err = errnoErr(e1) } return } var libc_getpgid_trampoline_addr uintptr //go:cgo_import_dynamic libc_getpgid getpgid "/usr/lib/libSystem.B.dylib" // THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT func Getpgrp() (pgrp int) { r0, _, _ := syscall_rawSyscall(libc_getpgrp_trampoline_addr, 0, 0, 0) pgrp = int(r0) return } var libc_getpgrp_trampoline_addr uintptr //go:cgo_import_dynamic libc_getpgrp getpgrp "/usr/lib/libSystem.B.dylib" // THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT func Getpid() (pid int) { r0, _, _ := syscall_rawSyscall(libc_getpid_trampoline_addr, 0, 0, 0) pid = int(r0) return } var libc_getpid_trampoline_addr uintptr //go:cgo_import_dynamic libc_getpid getpid "/usr/lib/libSystem.B.dylib" // THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT func Getppid() (ppid int) { r0, _, _ := syscall_rawSyscall(libc_getppid_trampoline_addr, 0, 0, 0) ppid = int(r0) return } var libc_getppid_trampoline_addr uintptr //go:cgo_import_dynamic libc_getppid getppid "/usr/lib/libSystem.B.dylib" // 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_syscall(libc_getpriority_trampoline_addr, uintptr(which), uintptr(who), 0) prio = int(r0) if e1 != 0 { err = errnoErr(e1) } return } var libc_getpriority_trampoline_addr uintptr //go:cgo_import_dynamic libc_getpriority getpriority "/usr/lib/libSystem.B.dylib" // THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT func Getrlimit(which int, lim *Rlimit) (err error) { _, _, e1 := syscall_rawSyscall(libc_getrlimit_trampoline_addr, uintptr(which), uintptr(unsafe.Pointer(lim)), 0) if e1 != 0 { err = errnoErr(e1) } return } var libc_getrlimit_trampoline_addr uintptr //go:cgo_import_dynamic libc_getrlimit getrlimit "/usr/lib/libSystem.B.dylib" // THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT func Getrusage(who int, rusage *Rusage) (err error) { _, _, e1 := syscall_rawSyscall(libc_getrusage_trampoline_addr, uintptr(who), uintptr(unsafe.Pointer(rusage)), 0) if e1 != 0 { err = errnoErr(e1) } return } var libc_getrusage_trampoline_addr uintptr //go:cgo_import_dynamic libc_getrusage getrusage "/usr/lib/libSystem.B.dylib" // THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT func Getsid(pid int) (sid int, err error) { r0, _, e1 := syscall_rawSyscall(libc_getsid_trampoline_addr, uintptr(pid), 0, 0) sid = int(r0) if e1 != 0 { err = errnoErr(e1) } return } var libc_getsid_trampoline_addr uintptr //go:cgo_import_dynamic libc_getsid getsid "/usr/lib/libSystem.B.dylib" // THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT func Gettimeofday(tp *Timeval) (err error) { _, _, e1 := syscall_rawSyscall(libc_gettimeofday_trampoline_addr, uintptr(unsafe.Pointer(tp)), 0, 0) if e1 != 0 { err = errnoErr(e1) } return } var libc_gettimeofday_trampoline_addr uintptr //go:cgo_import_dynamic libc_gettimeofday gettimeofday "/usr/lib/libSystem.B.dylib" // THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT func Getuid() (uid int) { r0, _, _ := syscall_rawSyscall(libc_getuid_trampoline_addr, 0, 0, 0) uid = int(r0) return } var libc_getuid_trampoline_addr uintptr //go:cgo_import_dynamic libc_getuid getuid "/usr/lib/libSystem.B.dylib" // THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT func Issetugid() (tainted bool) { r0, _, _ := syscall_rawSyscall(libc_issetugid_trampoline_addr, 0, 0, 0) tainted = bool(r0 != 0) return } var libc_issetugid_trampoline_addr uintptr //go:cgo_import_dynamic libc_issetugid issetugid "/usr/lib/libSystem.B.dylib" // THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT func Kqueue() (fd int, err error) { r0, _, e1 := syscall_syscall(libc_kqueue_trampoline_addr, 0, 0, 0) fd = int(r0) if e1 != 0 { err = errnoErr(e1) } return } var libc_kqueue_trampoline_addr uintptr //go:cgo_import_dynamic libc_kqueue kqueue "/usr/lib/libSystem.B.dylib" // 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_syscall(libc_lchown_trampoline_addr, uintptr(unsafe.Pointer(_p0)), uintptr(uid), uintptr(gid)) if e1 != 0 { err = errnoErr(e1) } return } var libc_lchown_trampoline_addr uintptr //go:cgo_import_dynamic libc_lchown lchown "/usr/lib/libSystem.B.dylib" // 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_syscall(libc_link_trampoline_addr, uintptr(unsafe.Pointer(_p0)), uintptr(unsafe.Pointer(_p1)), 0) if e1 != 0 { err = errnoErr(e1) } return } var libc_link_trampoline_addr uintptr //go:cgo_import_dynamic libc_link link "/usr/lib/libSystem.B.dylib" // THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT func Linkat(pathfd int, path string, linkfd int, link string, flags int) (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_syscall6(libc_linkat_trampoline_addr, uintptr(pathfd), uintptr(unsafe.Pointer(_p0)), uintptr(linkfd), uintptr(unsafe.Pointer(_p1)), uintptr(flags), 0) if e1 != 0 { err = errnoErr(e1) } return } var libc_linkat_trampoline_addr uintptr //go:cgo_import_dynamic libc_linkat linkat "/usr/lib/libSystem.B.dylib" // THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT func Listen(s int, backlog int) (err error) { _, _, e1 := syscall_syscall(libc_listen_trampoline_addr, uintptr(s), uintptr(backlog), 0) if e1 != 0 { err = errnoErr(e1) } return } var libc_listen_trampoline_addr uintptr //go:cgo_import_dynamic libc_listen listen "/usr/lib/libSystem.B.dylib" // 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_syscall(libc_mkdir_trampoline_addr, uintptr(unsafe.Pointer(_p0)), uintptr(mode), 0) if e1 != 0 { err = errnoErr(e1) } return } var libc_mkdir_trampoline_addr uintptr //go:cgo_import_dynamic libc_mkdir mkdir "/usr/lib/libSystem.B.dylib" // 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_syscall(libc_mkdirat_trampoline_addr, uintptr(dirfd), uintptr(unsafe.Pointer(_p0)), uintptr(mode)) if e1 != 0 { err = errnoErr(e1) } return } var libc_mkdirat_trampoline_addr uintptr //go:cgo_import_dynamic libc_mkdirat mkdirat "/usr/lib/libSystem.B.dylib" // 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_syscall(libc_mkfifo_trampoline_addr, uintptr(unsafe.Pointer(_p0)), uintptr(mode), 0) if e1 != 0 { err = errnoErr(e1) } return } var libc_mkfifo_trampoline_addr uintptr //go:cgo_import_dynamic libc_mkfifo mkfifo "/usr/lib/libSystem.B.dylib" // 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_syscall(libc_mknod_trampoline_addr, uintptr(unsafe.Pointer(_p0)), uintptr(mode), uintptr(dev)) if e1 != 0 { err = errnoErr(e1) } return } var libc_mknod_trampoline_addr uintptr //go:cgo_import_dynamic libc_mknod mknod "/usr/lib/libSystem.B.dylib" // THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT func Mount(fsType string, dir string, flags int, data unsafe.Pointer) (err error) { var _p0 *byte _p0, err = BytePtrFromString(fsType) if err != nil { return } var _p1 *byte _p1, err = BytePtrFromString(dir) if err != nil { return } _, _, e1 := syscall_syscall6(libc_mount_trampoline_addr, uintptr(unsafe.Pointer(_p0)), uintptr(unsafe.Pointer(_p1)), uintptr(flags), uintptr(data), 0, 0) if e1 != 0 { err = errnoErr(e1) } return } var libc_mount_trampoline_addr uintptr //go:cgo_import_dynamic libc_mount mount "/usr/lib/libSystem.B.dylib" // 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_syscall(libc_open_trampoline_addr, uintptr(unsafe.Pointer(_p0)), uintptr(mode), uintptr(perm)) fd = int(r0) if e1 != 0 { err = errnoErr(e1) } return } var libc_open_trampoline_addr uintptr //go:cgo_import_dynamic libc_open open "/usr/lib/libSystem.B.dylib" // THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT func Openat(dirfd int, path string, mode int, perm uint32) (fd int, err error) { var _p0 *byte _p0, err = BytePtrFromString(path) if err != nil { return } r0, _, e1 := syscall_syscall6(libc_openat_trampoline_addr, uintptr(dirfd), uintptr(unsafe.Pointer(_p0)), uintptr(mode), uintptr(perm), 0, 0) fd = int(r0) if e1 != 0 { err = errnoErr(e1) } return } var libc_openat_trampoline_addr uintptr //go:cgo_import_dynamic libc_openat openat "/usr/lib/libSystem.B.dylib" // 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_syscall(libc_pathconf_trampoline_addr, uintptr(unsafe.Pointer(_p0)), uintptr(name), 0) val = int(r0) if e1 != 0 { err = errnoErr(e1) } return } var libc_pathconf_trampoline_addr uintptr //go:cgo_import_dynamic libc_pathconf pathconf "/usr/lib/libSystem.B.dylib" // 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 := syscall_syscall6(libc_pread_trampoline_addr, uintptr(fd), uintptr(_p0), uintptr(len(p)), uintptr(offset), 0, 0) n = int(r0) if e1 != 0 { err = errnoErr(e1) } return } var libc_pread_trampoline_addr uintptr //go:cgo_import_dynamic libc_pread pread "/usr/lib/libSystem.B.dylib" // 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 := syscall_syscall6(libc_pwrite_trampoline_addr, uintptr(fd), uintptr(_p0), uintptr(len(p)), uintptr(offset), 0, 0) n = int(r0) if e1 != 0 { err = errnoErr(e1) } return } var libc_pwrite_trampoline_addr uintptr //go:cgo_import_dynamic libc_pwrite pwrite "/usr/lib/libSystem.B.dylib" // 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_syscall(libc_read_trampoline_addr, uintptr(fd), uintptr(_p0), uintptr(len(p))) n = int(r0) if e1 != 0 { err = errnoErr(e1) } return } var libc_read_trampoline_addr uintptr //go:cgo_import_dynamic libc_read read "/usr/lib/libSystem.B.dylib" // 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_syscall(libc_readlink_trampoline_addr, uintptr(unsafe.Pointer(_p0)), uintptr(_p1), uintptr(len(buf))) n = int(r0) if e1 != 0 { err = errnoErr(e1) } return } var libc_readlink_trampoline_addr uintptr //go:cgo_import_dynamic libc_readlink readlink "/usr/lib/libSystem.B.dylib" // 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 := syscall_syscall6(libc_readlinkat_trampoline_addr, uintptr(dirfd), uintptr(unsafe.Pointer(_p0)), uintptr(_p1), uintptr(len(buf)), 0, 0) n = int(r0) if e1 != 0 { err = errnoErr(e1) } return } var libc_readlinkat_trampoline_addr uintptr //go:cgo_import_dynamic libc_readlinkat readlinkat "/usr/lib/libSystem.B.dylib" // 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_syscall(libc_rename_trampoline_addr, uintptr(unsafe.Pointer(_p0)), uintptr(unsafe.Pointer(_p1)), 0) if e1 != 0 { err = errnoErr(e1) } return } var libc_rename_trampoline_addr uintptr //go:cgo_import_dynamic libc_rename rename "/usr/lib/libSystem.B.dylib" // THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT func Renameat(fromfd int, from string, tofd int, 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_syscall6(libc_renameat_trampoline_addr, uintptr(fromfd), uintptr(unsafe.Pointer(_p0)), uintptr(tofd), uintptr(unsafe.Pointer(_p1)), 0, 0) if e1 != 0 { err = errnoErr(e1) } return } var libc_renameat_trampoline_addr uintptr //go:cgo_import_dynamic libc_renameat renameat "/usr/lib/libSystem.B.dylib" // 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_syscall(libc_revoke_trampoline_addr, uintptr(unsafe.Pointer(_p0)), 0, 0) if e1 != 0 { err = errnoErr(e1) } return } var libc_revoke_trampoline_addr uintptr //go:cgo_import_dynamic libc_revoke revoke "/usr/lib/libSystem.B.dylib" // 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_syscall(libc_rmdir_trampoline_addr, uintptr(unsafe.Pointer(_p0)), 0, 0) if e1 != 0 { err = errnoErr(e1) } return } var libc_rmdir_trampoline_addr uintptr //go:cgo_import_dynamic libc_rmdir rmdir "/usr/lib/libSystem.B.dylib" // 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_syscall(libc_lseek_trampoline_addr, uintptr(fd), uintptr(offset), uintptr(whence)) newoffset = int64(r0) if e1 != 0 { err = errnoErr(e1) } return } var libc_lseek_trampoline_addr uintptr //go:cgo_import_dynamic libc_lseek lseek "/usr/lib/libSystem.B.dylib" // 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 := syscall_syscall6(libc_select_trampoline_addr, 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 } var libc_select_trampoline_addr uintptr //go:cgo_import_dynamic libc_select select "/usr/lib/libSystem.B.dylib" // THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT func Setattrlist(path string, attrlist *Attrlist, attrBuf []byte, options int) (err error) { var _p0 *byte _p0, err = BytePtrFromString(path) if err != nil { return } var _p1 unsafe.Pointer if len(attrBuf) > 0 { _p1 = unsafe.Pointer(&attrBuf[0]) } else { _p1 = unsafe.Pointer(&_zero) } _, _, e1 := syscall_syscall6(libc_setattrlist_trampoline_addr, uintptr(unsafe.Pointer(_p0)), uintptr(unsafe.Pointer(attrlist)), uintptr(_p1), uintptr(len(attrBuf)), uintptr(options), 0) if e1 != 0 { err = errnoErr(e1) } return } var libc_setattrlist_trampoline_addr uintptr //go:cgo_import_dynamic libc_setattrlist setattrlist "/usr/lib/libSystem.B.dylib" // THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT func Setegid(egid int) (err error) { _, _, e1 := syscall_syscall(libc_setegid_trampoline_addr, uintptr(egid), 0, 0) if e1 != 0 { err = errnoErr(e1) } return } var libc_setegid_trampoline_addr uintptr //go:cgo_import_dynamic libc_setegid setegid "/usr/lib/libSystem.B.dylib" // THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT func Seteuid(euid int) (err error) { _, _, e1 := syscall_rawSyscall(libc_seteuid_trampoline_addr, uintptr(euid), 0, 0) if e1 != 0 { err = errnoErr(e1) } return } var libc_seteuid_trampoline_addr uintptr //go:cgo_import_dynamic libc_seteuid seteuid "/usr/lib/libSystem.B.dylib" // THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT func Setgid(gid int) (err error) { _, _, e1 := syscall_rawSyscall(libc_setgid_trampoline_addr, uintptr(gid), 0, 0) if e1 != 0 { err = errnoErr(e1) } return } var libc_setgid_trampoline_addr uintptr //go:cgo_import_dynamic libc_setgid setgid "/usr/lib/libSystem.B.dylib" // 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_syscall(libc_setlogin_trampoline_addr, uintptr(unsafe.Pointer(_p0)), 0, 0) if e1 != 0 { err = errnoErr(e1) } return } var libc_setlogin_trampoline_addr uintptr //go:cgo_import_dynamic libc_setlogin setlogin "/usr/lib/libSystem.B.dylib" // THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT func Setpgid(pid int, pgid int) (err error) { _, _, e1 := syscall_rawSyscall(libc_setpgid_trampoline_addr, uintptr(pid), uintptr(pgid), 0) if e1 != 0 { err = errnoErr(e1) } return } var libc_setpgid_trampoline_addr uintptr //go:cgo_import_dynamic libc_setpgid setpgid "/usr/lib/libSystem.B.dylib" // 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_syscall(libc_setpriority_trampoline_addr, uintptr(which), uintptr(who), uintptr(prio)) if e1 != 0 { err = errnoErr(e1) } return } var libc_setpriority_trampoline_addr uintptr //go:cgo_import_dynamic libc_setpriority setpriority "/usr/lib/libSystem.B.dylib" // THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT func Setprivexec(flag int) (err error) { _, _, e1 := syscall_syscall(libc_setprivexec_trampoline_addr, uintptr(flag), 0, 0) if e1 != 0 { err = errnoErr(e1) } return } var libc_setprivexec_trampoline_addr uintptr //go:cgo_import_dynamic libc_setprivexec setprivexec "/usr/lib/libSystem.B.dylib" // THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT func Setregid(rgid int, egid int) (err error) { _, _, e1 := syscall_rawSyscall(libc_setregid_trampoline_addr, uintptr(rgid), uintptr(egid), 0) if e1 != 0 { err = errnoErr(e1) } return } var libc_setregid_trampoline_addr uintptr //go:cgo_import_dynamic libc_setregid setregid "/usr/lib/libSystem.B.dylib" // THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT func Setreuid(ruid int, euid int) (err error) { _, _, e1 := syscall_rawSyscall(libc_setreuid_trampoline_addr, uintptr(ruid), uintptr(euid), 0) if e1 != 0 { err = errnoErr(e1) } return } var libc_setreuid_trampoline_addr uintptr //go:cgo_import_dynamic libc_setreuid setreuid "/usr/lib/libSystem.B.dylib" // THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT func Setsid() (pid int, err error) { r0, _, e1 := syscall_rawSyscall(libc_setsid_trampoline_addr, 0, 0, 0) pid = int(r0) if e1 != 0 { err = errnoErr(e1) } return } var libc_setsid_trampoline_addr uintptr //go:cgo_import_dynamic libc_setsid setsid "/usr/lib/libSystem.B.dylib" // THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT func Settimeofday(tp *Timeval) (err error) { _, _, e1 := syscall_rawSyscall(libc_settimeofday_trampoline_addr, uintptr(unsafe.Pointer(tp)), 0, 0) if e1 != 0 { err = errnoErr(e1) } return } var libc_settimeofday_trampoline_addr uintptr //go:cgo_import_dynamic libc_settimeofday settimeofday "/usr/lib/libSystem.B.dylib" // THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT func Setuid(uid int) (err error) { _, _, e1 := syscall_rawSyscall(libc_setuid_trampoline_addr, uintptr(uid), 0, 0) if e1 != 0 { err = errnoErr(e1) } return } var libc_setuid_trampoline_addr uintptr //go:cgo_import_dynamic libc_setuid setuid "/usr/lib/libSystem.B.dylib" // 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_syscall(libc_symlink_trampoline_addr, uintptr(unsafe.Pointer(_p0)), uintptr(unsafe.Pointer(_p1)), 0) if e1 != 0 { err = errnoErr(e1) } return } var libc_symlink_trampoline_addr uintptr //go:cgo_import_dynamic libc_symlink symlink "/usr/lib/libSystem.B.dylib" // 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_syscall(libc_symlinkat_trampoline_addr, uintptr(unsafe.Pointer(_p0)), uintptr(newdirfd), uintptr(unsafe.Pointer(_p1))) if e1 != 0 { err = errnoErr(e1) } return } var libc_symlinkat_trampoline_addr uintptr //go:cgo_import_dynamic libc_symlinkat symlinkat "/usr/lib/libSystem.B.dylib" // THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT func Sync() (err error) { _, _, e1 := syscall_syscall(libc_sync_trampoline_addr, 0, 0, 0) if e1 != 0 { err = errnoErr(e1) } return } var libc_sync_trampoline_addr uintptr //go:cgo_import_dynamic libc_sync sync "/usr/lib/libSystem.B.dylib" // 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_syscall(libc_truncate_trampoline_addr, uintptr(unsafe.Pointer(_p0)), uintptr(length), 0) if e1 != 0 { err = errnoErr(e1) } return } var libc_truncate_trampoline_addr uintptr //go:cgo_import_dynamic libc_truncate truncate "/usr/lib/libSystem.B.dylib" // THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT func Umask(newmask int) (oldmask int) { r0, _, _ := syscall_syscall(libc_umask_trampoline_addr, uintptr(newmask), 0, 0) oldmask = int(r0) return } var libc_umask_trampoline_addr uintptr //go:cgo_import_dynamic libc_umask umask "/usr/lib/libSystem.B.dylib" // 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_syscall(libc_undelete_trampoline_addr, uintptr(unsafe.Pointer(_p0)), 0, 0) if e1 != 0 { err = errnoErr(e1) } return } var libc_undelete_trampoline_addr uintptr //go:cgo_import_dynamic libc_undelete undelete "/usr/lib/libSystem.B.dylib" // 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_syscall(libc_unlink_trampoline_addr, uintptr(unsafe.Pointer(_p0)), 0, 0) if e1 != 0 { err = errnoErr(e1) } return } var libc_unlink_trampoline_addr uintptr //go:cgo_import_dynamic libc_unlink unlink "/usr/lib/libSystem.B.dylib" // 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_syscall(libc_unlinkat_trampoline_addr, uintptr(dirfd), uintptr(unsafe.Pointer(_p0)), uintptr(flags)) if e1 != 0 { err = errnoErr(e1) } return } var libc_unlinkat_trampoline_addr uintptr //go:cgo_import_dynamic libc_unlinkat unlinkat "/usr/lib/libSystem.B.dylib" // 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_syscall(libc_unmount_trampoline_addr, uintptr(unsafe.Pointer(_p0)), uintptr(flags), 0) if e1 != 0 { err = errnoErr(e1) } return } var libc_unmount_trampoline_addr uintptr //go:cgo_import_dynamic libc_unmount unmount "/usr/lib/libSystem.B.dylib" // 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_syscall(libc_write_trampoline_addr, uintptr(fd), uintptr(_p0), uintptr(len(p))) n = int(r0) if e1 != 0 { err = errnoErr(e1) } return } var libc_write_trampoline_addr uintptr //go:cgo_import_dynamic libc_write write "/usr/lib/libSystem.B.dylib" // 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 := syscall_syscall6(libc_mmap_trampoline_addr, uintptr(addr), uintptr(length), uintptr(prot), uintptr(flag), uintptr(fd), uintptr(pos)) ret = uintptr(r0) if e1 != 0 { err = errnoErr(e1) } return } var libc_mmap_trampoline_addr uintptr //go:cgo_import_dynamic libc_mmap mmap "/usr/lib/libSystem.B.dylib" // THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT func munmap(addr uintptr, length uintptr) (err error) { _, _, e1 := syscall_syscall(libc_munmap_trampoline_addr, uintptr(addr), uintptr(length), 0) if e1 != 0 { err = errnoErr(e1) } return } var libc_munmap_trampoline_addr uintptr //go:cgo_import_dynamic libc_munmap munmap "/usr/lib/libSystem.B.dylib" // THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT func Fstat(fd int, stat *Stat_t) (err error) { _, _, e1 := syscall_syscall(libc_fstat_trampoline_addr, uintptr(fd), uintptr(unsafe.Pointer(stat)), 0) if e1 != 0 { err = errnoErr(e1) } return } var libc_fstat_trampoline_addr uintptr //go:cgo_import_dynamic libc_fstat fstat "/usr/lib/libSystem.B.dylib" // 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 := syscall_syscall6(libc_fstatat_trampoline_addr, uintptr(fd), uintptr(unsafe.Pointer(_p0)), uintptr(unsafe.Pointer(stat)), uintptr(flags), 0, 0) if e1 != 0 { err = errnoErr(e1) } return } var libc_fstatat_trampoline_addr uintptr //go:cgo_import_dynamic libc_fstatat fstatat "/usr/lib/libSystem.B.dylib" // THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT func Fstatfs(fd int, stat *Statfs_t) (err error) { _, _, e1 := syscall_syscall(libc_fstatfs_trampoline_addr, uintptr(fd), uintptr(unsafe.Pointer(stat)), 0) if e1 != 0 { err = errnoErr(e1) } return } var libc_fstatfs_trampoline_addr uintptr //go:cgo_import_dynamic libc_fstatfs fstatfs "/usr/lib/libSystem.B.dylib" // THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT func getfsstat(buf unsafe.Pointer, size uintptr, flags int) (n int, err error) { r0, _, e1 := syscall_syscall(libc_getfsstat_trampoline_addr, uintptr(buf), uintptr(size), uintptr(flags)) n = int(r0) if e1 != 0 { err = errnoErr(e1) } return } var libc_getfsstat_trampoline_addr uintptr //go:cgo_import_dynamic libc_getfsstat getfsstat "/usr/lib/libSystem.B.dylib" // 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_syscall(libc_lstat_trampoline_addr, uintptr(unsafe.Pointer(_p0)), uintptr(unsafe.Pointer(stat)), 0) if e1 != 0 { err = errnoErr(e1) } return } var libc_lstat_trampoline_addr uintptr //go:cgo_import_dynamic libc_lstat lstat "/usr/lib/libSystem.B.dylib" // THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT func ptrace1(request int, pid int, addr uintptr, data uintptr) (err error) { _, _, e1 := syscall_syscall6(libc_ptrace_trampoline_addr, uintptr(request), uintptr(pid), uintptr(addr), uintptr(data), 0, 0) if e1 != 0 { err = errnoErr(e1) } return } var libc_ptrace_trampoline_addr uintptr //go:cgo_import_dynamic libc_ptrace ptrace "/usr/lib/libSystem.B.dylib" // 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_syscall(libc_stat_trampoline_addr, uintptr(unsafe.Pointer(_p0)), uintptr(unsafe.Pointer(stat)), 0) if e1 != 0 { err = errnoErr(e1) } return } var libc_stat_trampoline_addr uintptr //go:cgo_import_dynamic libc_stat stat "/usr/lib/libSystem.B.dylib" // 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_syscall(libc_statfs_trampoline_addr, uintptr(unsafe.Pointer(_p0)), uintptr(unsafe.Pointer(stat)), 0) if e1 != 0 { err = errnoErr(e1) } return } var libc_statfs_trampoline_addr uintptr //go:cgo_import_dynamic libc_statfs statfs "/usr/lib/libSystem.B.dylib" dependencies/pkg/mod/golang.org/x/sys@v0.26.0/unix/asm_linux_amd64.s0000644000000000000000000000226415107355264023773 0ustar rootroot// 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. //go:build gc #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 ·SyscallNoError(SB),NOSPLIT,$0-48 CALL runtime·entersyscall(SB) MOVQ a1+8(FP), DI MOVQ a2+16(FP), SI MOVQ a3+24(FP), DX MOVQ $0, R10 MOVQ $0, R8 MOVQ $0, R9 MOVQ trap+0(FP), AX // syscall entry SYSCALL MOVQ AX, r1+32(FP) MOVQ DX, r2+40(FP) CALL runtime·exitsyscall(SB) RET TEXT ·RawSyscall(SB),NOSPLIT,$0-56 JMP syscall·RawSyscall(SB) TEXT ·RawSyscall6(SB),NOSPLIT,$0-80 JMP syscall·RawSyscall6(SB) TEXT ·RawSyscallNoError(SB),NOSPLIT,$0-48 MOVQ a1+8(FP), DI MOVQ a2+16(FP), SI MOVQ a3+24(FP), DX MOVQ $0, R10 MOVQ $0, R8 MOVQ $0, R9 MOVQ trap+0(FP), AX // syscall entry SYSCALL MOVQ AX, r1+32(FP) MOVQ DX, r2+40(FP) RET TEXT ·gettimeofday(SB),NOSPLIT,$0-16 JMP syscall·gettimeofday(SB) dependencies/pkg/mod/golang.org/x/sys@v0.26.0/unix/ztypes_freebsd_arm64.go0000644000000000000000000002265215107355264025210 0ustar rootroot// cgo -godefs -- -fsigned-char types_freebsd.go | go run mkpost.go // Code generated by the command above; see README.md. DO NOT EDIT. //go:build arm64 && freebsd 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 Time_t 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 ( _statfsVersion = 0x20140518 _dirblksiz = 0x400 ) type Stat_t struct { Dev uint64 Ino uint64 Nlink uint64 Mode uint16 _0 int16 Uid uint32 Gid uint32 _1 int32 Rdev uint64 Atim Timespec Mtim Timespec Ctim Timespec Btim Timespec Size int64 Blocks int64 Blksize int32 Flags uint32 Gen uint64 Spare [10]uint64 } 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]byte Mntfromname [1024]byte Mntonname [1024]byte } type Flock_t struct { Start int64 Len int64 Pid int32 Type int16 Whence int16 Sysid int32 _ [4]byte } type Dirent struct { Fileno uint64 Off int64 Reclen uint16 Type uint8 Pad0 uint8 Namlen uint16 Pad1 uint16 Name [256]int8 } type Fsid struct { Val [2]int32 } const ( PathMax = 0x400 ) 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 Xucred struct { Version uint32 Uid uint32 Ngroups int16 Groups [16]uint32 _ *byte } 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 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 SizeofXucred = 0x58 SizeofLinger = 0x8 SizeofIovec = 0x10 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 PtraceLwpInfoStruct struct { Lwpid int32 Event int32 Flags int32 Sigmask Sigset_t Siglist Sigset_t Siginfo __PtraceSiginfo Tdname [20]int8 Child_pid int32 Syscall_code uint32 Syscall_narg uint32 } type __Siginfo struct { Signo int32 Errno int32 Code int32 Pid int32 Uid uint32 Status int32 Addr *byte Value [8]byte _ [40]byte } type __PtraceSiginfo struct { Signo int32 Errno int32 Code int32 Pid int32 Uid uint32 Status int32 Addr uintptr Value [8]byte _ [40]byte } type Sigset_t struct { Val [4]uint32 } type Reg struct { X [30]uint64 Lr uint64 Sp uint64 Elr uint64 Spsr uint32 _ [4]byte } type FpReg struct { Q [32][16]uint8 Sr uint32 Cr uint32 _ [8]byte } type FpExtendedPrecision struct{} type PtraceIoDesc struct { Op int32 Offs uintptr Addr *byte Len uint64 } type Kevent_t struct { Ident uint64 Filter int16 Flags uint16 Fflags uint32 Data int64 Udata *byte Ext [4]uint64 } type FdSet struct { 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 _ uint16 Data ifData } type IfMsghdr struct { Msglen uint16 Version uint8 Type uint8 Addrs int32 Flags int32 Index uint16 Data IfData } type ifData struct { Type uint8 Physical uint8 Addrlen uint8 Hdrlen uint8 Link_state uint8 Vhid uint8 Datalen uint16 Mtu uint32 Metric uint32 Baudrate uint64 Ipackets uint64 Ierrors uint64 Opackets uint64 Oerrors uint64 Collisions uint64 Ibytes uint64 Obytes uint64 Imcasts uint64 Omcasts uint64 Iqdrops uint64 Oqdrops uint64 Noproto uint64 Hwassist uint64 _ [8]byte _ [16]byte } 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 _ uint16 Metric int32 } type IfmaMsghdr struct { Msglen uint16 Version uint8 Type uint8 Addrs int32 Flags int32 Index uint16 _ uint16 } 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 _ uint16 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 Insns *BpfInsn } type BpfInsn struct { Code uint16 Jt uint8 Jf uint8 K uint32 } type BpfHdr struct { Tstamp Timeval Caplen uint32 Datalen uint32 Hdrlen uint16 _ [6]byte } type BpfZbufHeader struct { Kernel_gen uint32 Kernel_len uint32 User_gen uint32 _ [5]uint32 } type Termios struct { Iflag uint32 Oflag uint32 Cflag uint32 Lflag uint32 Cc [20]uint8 Ispeed uint32 Ospeed uint32 } type Winsize struct { Row uint16 Col uint16 Xpixel uint16 Ypixel uint16 } const ( AT_FDCWD = -0x64 AT_EACCESS = 0x100 AT_SYMLINK_NOFOLLOW = 0x200 AT_SYMLINK_FOLLOW = 0x400 AT_REMOVEDIR = 0x800 ) type PollFd struct { Fd int32 Events int16 Revents int16 } const ( POLLERR = 0x8 POLLHUP = 0x10 POLLIN = 0x1 POLLINIGNEOF = 0x2000 POLLNVAL = 0x20 POLLOUT = 0x4 POLLPRI = 0x2 POLLRDBAND = 0x80 POLLRDNORM = 0x40 POLLWRBAND = 0x100 POLLWRNORM = 0x4 POLLRDHUP = 0x4000 ) type CapRights struct { Rights [2]uint64 } type Utsname struct { Sysname [256]byte Nodename [256]byte Release [256]byte Version [256]byte Machine [256]byte } const SizeofClockinfo = 0x14 type Clockinfo struct { Hz int32 Tick int32 Spare int32 Stathz int32 Profhz int32 } dependencies/pkg/mod/golang.org/x/sys@v0.26.0/unix/zsyscall_dragonfly_amd64.go0000644000000000000000000011545315107355264026055 0ustar rootroot// go run mksyscall.go -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. //go: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 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 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 } // THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT func Madvise(b []byte, behav 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(behav)) 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 Msync(b []byte, flags int) (err error) { var _p0 unsafe.Pointer if len(b) > 0 { _p0 = unsafe.Pointer(&b[0]) } else { _p0 = unsafe.Pointer(&_zero) } _, _, e1 := Syscall(SYS_MSYNC, uintptr(_p0), uintptr(len(b)), uintptr(flags)) 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 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 pipe2(p *[2]_C_int, flags int) (r int, w int, err error) { r0, r1, e1 := RawSyscall(SYS_PIPE2, uintptr(unsafe.Pointer(p)), uintptr(flags), 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 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 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 ioctlPtr(fd int, req uint, arg unsafe.Pointer) (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 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 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 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 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 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 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 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 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 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 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 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, 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 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 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 Linkat(pathfd int, path string, linkfd int, link string, flags int) (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 := Syscall6(SYS_LINKAT, uintptr(pathfd), uintptr(unsafe.Pointer(_p0)), uintptr(linkfd), 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 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 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 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 Mknodat(fd 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(fd), 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 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 Openat(dirfd int, path string, mode int, perm 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(mode), uintptr(perm), 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 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 Renameat(fromfd int, from string, tofd int, 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 := Syscall6(SYS_RENAMEAT, uintptr(fromfd), uintptr(unsafe.Pointer(_p0)), uintptr(tofd), 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 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(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 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 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 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 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 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 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 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 } // 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 } dependencies/pkg/mod/golang.org/x/sys@v0.26.0/unix/syscall_freebsd_riscv64.go0000644000000000000000000000250315107355264025664 0ustar rootroot// Copyright 2022 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:build riscv64 && freebsd package unix import ( "syscall" "unsafe" ) func setTimespec(sec, nsec int64) Timespec { return Timespec{Sec: sec, Nsec: nsec} } func setTimeval(sec, usec int64) Timeval { return Timeval{Sec: sec, Usec: usec} } 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 (msghdr *Msghdr) SetIovlen(length int) { msghdr.Iovlen = int32(length) } func (cmsg *Cmsghdr) SetLen(length int) { cmsg.Len = uint32(length) } func (d *PtraceIoDesc) SetLen(length int) { d.Len = uint64(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) dependencies/pkg/mod/golang.org/x/sys@v0.26.0/unix/syscall_linux.go0000644000000000000000000023757015107355264024047 0ustar rootroot// 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 ( "encoding/binary" "strconv" "syscall" "time" "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) } func EpollCreate(size int) (fd int, err error) { if size <= 0 { return -1, EINVAL } return EpollCreate1(0) } //sys FanotifyInit(flags uint, event_f_flags uint) (fd int, err error) //sys fanotifyMark(fd int, flags uint, mask uint64, dirFd int, pathname *byte) (err error) func FanotifyMark(fd int, flags uint, mask uint64, dirFd int, pathname string) (err error) { if pathname == "" { return fanotifyMark(fd, flags, mask, dirFd, nil) } p, err := BytePtrFromString(pathname) if err != nil { return err } return fanotifyMark(fd, flags, mask, dirFd, p) } //sys fchmodat(dirfd int, path string, mode uint32) (err error) //sys fchmodat2(dirfd int, path string, mode uint32, flags int) (err error) func Fchmodat(dirfd int, path string, mode uint32, flags int) error { // Linux fchmodat doesn't support the flags parameter, but fchmodat2 does. // Try fchmodat2 if flags are specified. if flags != 0 { err := fchmodat2(dirfd, path, mode, flags) if err == ENOSYS { // fchmodat2 isn't available. If the flags are known to be valid, // return EOPNOTSUPP to indicate that fchmodat doesn't support them. if flags&^(AT_SYMLINK_NOFOLLOW|AT_EMPTY_PATH) != 0 { return EINVAL } else if flags&(AT_SYMLINK_NOFOLLOW|AT_EMPTY_PATH) != 0 { return EOPNOTSUPP } } return err } return fchmodat(dirfd, path, mode) } func InotifyInit() (fd int, err error) { return InotifyInit1(0) } //sys ioctl(fd int, req uint, arg uintptr) (err error) = SYS_IOCTL //sys ioctlPtr(fd int, req uint, arg unsafe.Pointer) (err error) = SYS_IOCTL // ioctl itself should not be exposed directly, but additional get/set functions // for specific types are permissible. These are defined in ioctl.go and // ioctl_linux.go. // // The third argument to ioctl is often a pointer but sometimes an integer. // Callers should use ioctlPtr when the third argument is a pointer and ioctl // when the third argument is an integer. // // TODO: some existing code incorrectly uses ioctl when it should use ioctlPtr. //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 openat2(dirfd int, path string, open_how *OpenHow, size int) (fd int, err error) func Openat2(dirfd int, path string, how *OpenHow) (fd int, err error) { return openat2(dirfd, path, how, SizeofOpenHow) } func Pipe(p []int) error { return Pipe2(p, 0) } //sysnb pipe2(p *[2]_C_int, flags int) (err error) func Pipe2(p []int, flags int) error { if len(p) != 2 { return EINVAL } var pp [2]_C_int err := pipe2(&pp, flags) if err == nil { p[0] = int(pp[0]) p[1] = int(pp[1]) } return err } //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) } func Poll(fds []PollFd, timeout int) (n int, err error) { var ts *Timespec if timeout >= 0 { ts = new(Timespec) *ts = NsecToTimespec(int64(timeout) * 1e6) } return Ppoll(fds, ts, nil) } //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) 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 { return UtimesNanoAt(AT_FDCWD, path, ts, 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) } func Futimesat(dirfd int, path string, tv []Timeval) error { if tv == nil { return futimesat(dirfd, path, nil) } if len(tv) != 2 { return EINVAL } return futimesat(dirfd, path, (*[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/"+strconv.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 } // In some cases, Linux can return a path that starts with the // "(unreachable)" prefix, which can potentially be a valid relative // path. To work around that, return ENOENT if path is not absolute. if buf[0] != '/' { return "", ENOENT } 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 } //sys Waitid(idType int, id int, info *Siginfo, options int, rusage *Rusage) (err error) func Mkfifo(path string, mode uint32) error { return Mknod(path, mode|S_IFIFO, 0) } func Mkfifoat(dirfd int, path string, mode uint32) error { return Mknodat(dirfd, 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) sa.raw.Addr = sa.Addr 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 sa.raw.Addr = sa.Addr 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 && sl > 3) { // Check sl > 3 so we don't change unnamed socket behavior. sa.raw.Path[0] = 0 // Don't count trailing NUL for abstract address. sl-- } return unsafe.Pointer(&sa.raw), sl, nil } // SockaddrLinklayer implements the Sockaddr interface for AF_PACKET type sockets. 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 sa.raw.Addr = sa.Addr return unsafe.Pointer(&sa.raw), SizeofSockaddrLinklayer, nil } // SockaddrNetlink implements the Sockaddr interface for AF_NETLINK type sockets. 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 } // SockaddrHCI implements the Sockaddr interface for AF_BLUETOOTH type sockets // using the HCI protocol. 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 } // SockaddrL2 implements the Sockaddr interface for AF_BLUETOOTH type sockets // using the L2CAP protocol. type SockaddrL2 struct { PSM uint16 CID uint16 Addr [6]uint8 AddrType uint8 raw RawSockaddrL2 } func (sa *SockaddrL2) sockaddr() (unsafe.Pointer, _Socklen, error) { sa.raw.Family = AF_BLUETOOTH psm := (*[2]byte)(unsafe.Pointer(&sa.raw.Psm)) psm[0] = byte(sa.PSM) psm[1] = byte(sa.PSM >> 8) for i := 0; i < len(sa.Addr); i++ { sa.raw.Bdaddr[i] = sa.Addr[len(sa.Addr)-1-i] } cid := (*[2]byte)(unsafe.Pointer(&sa.raw.Cid)) cid[0] = byte(sa.CID) cid[1] = byte(sa.CID >> 8) sa.raw.Bdaddr_type = sa.AddrType return unsafe.Pointer(&sa.raw), SizeofSockaddrL2, nil } // SockaddrRFCOMM implements the Sockaddr interface for AF_BLUETOOTH type sockets // using the RFCOMM protocol. // // Server example: // // fd, _ := Socket(AF_BLUETOOTH, SOCK_STREAM, BTPROTO_RFCOMM) // _ = unix.Bind(fd, &unix.SockaddrRFCOMM{ // Channel: 1, // Addr: [6]uint8{0, 0, 0, 0, 0, 0}, // BDADDR_ANY or 00:00:00:00:00:00 // }) // _ = Listen(fd, 1) // nfd, sa, _ := Accept(fd) // fmt.Printf("conn addr=%v fd=%d", sa.(*unix.SockaddrRFCOMM).Addr, nfd) // Read(nfd, buf) // // Client example: // // fd, _ := Socket(AF_BLUETOOTH, SOCK_STREAM, BTPROTO_RFCOMM) // _ = Connect(fd, &SockaddrRFCOMM{ // Channel: 1, // Addr: [6]byte{0x11, 0x22, 0x33, 0xaa, 0xbb, 0xcc}, // CC:BB:AA:33:22:11 // }) // Write(fd, []byte(`hello`)) type SockaddrRFCOMM struct { // Addr represents a bluetooth address, byte ordering is little-endian. Addr [6]uint8 // Channel is a designated bluetooth channel, only 1-30 are available for use. // Since Linux 2.6.7 and further zero value is the first available channel. Channel uint8 raw RawSockaddrRFCOMM } func (sa *SockaddrRFCOMM) sockaddr() (unsafe.Pointer, _Socklen, error) { sa.raw.Family = AF_BLUETOOTH sa.raw.Channel = sa.Channel sa.raw.Bdaddr = sa.Addr return unsafe.Pointer(&sa.raw), SizeofSockaddrRFCOMM, 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 } // SockaddrCANJ1939 implements the Sockaddr interface for AF_CAN using J1939 // protocol (https://en.wikipedia.org/wiki/SAE_J1939). For more information // on the purposes of the fields, check the official linux kernel documentation // available here: https://www.kernel.org/doc/Documentation/networking/j1939.rst type SockaddrCANJ1939 struct { Ifindex int Name uint64 PGN uint32 Addr uint8 raw RawSockaddrCAN } func (sa *SockaddrCANJ1939) 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) n := (*[8]byte)(unsafe.Pointer(&sa.Name)) for i := 0; i < 8; i++ { sa.raw.Addr[i] = n[i] } p := (*[4]byte)(unsafe.Pointer(&sa.PGN)) for i := 0; i < 4; i++ { sa.raw.Addr[i+8] = p[i] } sa.raw.Addr[12] = sa.Addr 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) > len(sa.raw.Type)-1 { return nil, 0, EINVAL } if len(sa.Name) > len(sa.raw.Name)-1 { return nil, 0, EINVAL } sa.raw.Family = AF_ALG sa.raw.Feat = sa.Feature sa.raw.Mask = sa.Mask copy(sa.raw.Type[:], sa.Type) copy(sa.raw.Name[:], sa.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_LOCAL: refers to local communication (loopback). // - VMADDR_CID_HOST: refers to other processes on the host. CID uint32 Port uint32 Flags uint8 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 sa.raw.Flags = sa.Flags return unsafe.Pointer(&sa.raw), SizeofSockaddrVM, nil } type SockaddrXDP struct { Flags uint16 Ifindex uint32 QueueID uint32 SharedUmemFD uint32 raw RawSockaddrXDP } func (sa *SockaddrXDP) sockaddr() (unsafe.Pointer, _Socklen, error) { sa.raw.Family = AF_XDP sa.raw.Flags = sa.Flags sa.raw.Ifindex = sa.Ifindex sa.raw.Queue_id = sa.QueueID sa.raw.Shared_umem_fd = sa.SharedUmemFD return unsafe.Pointer(&sa.raw), SizeofSockaddrXDP, nil } // This constant mirrors the #define of PX_PROTO_OE in // linux/if_pppox.h. We're defining this by hand here instead of // autogenerating through mkerrors.sh because including // linux/if_pppox.h causes some declaration conflicts with other // includes (linux/if_pppox.h includes linux/in.h, which conflicts // with netinet/in.h). Given that we only need a single zero constant // out of that file, it's cleaner to just define it by hand here. const px_proto_oe = 0 type SockaddrPPPoE struct { SID uint16 Remote []byte Dev string raw RawSockaddrPPPoX } func (sa *SockaddrPPPoE) sockaddr() (unsafe.Pointer, _Socklen, error) { if len(sa.Remote) != 6 { return nil, 0, EINVAL } if len(sa.Dev) > IFNAMSIZ-1 { return nil, 0, EINVAL } *(*uint16)(unsafe.Pointer(&sa.raw[0])) = AF_PPPOX // This next field is in host-endian byte order. We can't use the // same unsafe pointer cast as above, because this value is not // 32-bit aligned and some architectures don't allow unaligned // access. // // However, the value of px_proto_oe is 0, so we can use // encoding/binary helpers to write the bytes without worrying // about the ordering. binary.BigEndian.PutUint32(sa.raw[2:6], px_proto_oe) // This field is deliberately big-endian, unlike the previous // one. The kernel expects SID to be in network byte order. binary.BigEndian.PutUint16(sa.raw[6:8], sa.SID) copy(sa.raw[8:14], sa.Remote) for i := 14; i < 14+IFNAMSIZ; i++ { sa.raw[i] = 0 } copy(sa.raw[14:], sa.Dev) return unsafe.Pointer(&sa.raw), SizeofSockaddrPPPoX, nil } // SockaddrTIPC implements the Sockaddr interface for AF_TIPC type sockets. // For more information on TIPC, see: http://tipc.sourceforge.net/. type SockaddrTIPC struct { // Scope is the publication scopes when binding service/service range. // Should be set to TIPC_CLUSTER_SCOPE or TIPC_NODE_SCOPE. Scope int // Addr is the type of address used to manipulate a socket. Addr must be // one of: // - *TIPCSocketAddr: "id" variant in the C addr union // - *TIPCServiceRange: "nameseq" variant in the C addr union // - *TIPCServiceName: "name" variant in the C addr union // // If nil, EINVAL will be returned when the structure is used. Addr TIPCAddr raw RawSockaddrTIPC } // TIPCAddr is implemented by types that can be used as an address for // SockaddrTIPC. It is only implemented by *TIPCSocketAddr, *TIPCServiceRange, // and *TIPCServiceName. type TIPCAddr interface { tipcAddrtype() uint8 tipcAddr() [12]byte } func (sa *TIPCSocketAddr) tipcAddr() [12]byte { var out [12]byte copy(out[:], (*(*[unsafe.Sizeof(TIPCSocketAddr{})]byte)(unsafe.Pointer(sa)))[:]) return out } func (sa *TIPCSocketAddr) tipcAddrtype() uint8 { return TIPC_SOCKET_ADDR } func (sa *TIPCServiceRange) tipcAddr() [12]byte { var out [12]byte copy(out[:], (*(*[unsafe.Sizeof(TIPCServiceRange{})]byte)(unsafe.Pointer(sa)))[:]) return out } func (sa *TIPCServiceRange) tipcAddrtype() uint8 { return TIPC_SERVICE_RANGE } func (sa *TIPCServiceName) tipcAddr() [12]byte { var out [12]byte copy(out[:], (*(*[unsafe.Sizeof(TIPCServiceName{})]byte)(unsafe.Pointer(sa)))[:]) return out } func (sa *TIPCServiceName) tipcAddrtype() uint8 { return TIPC_SERVICE_ADDR } func (sa *SockaddrTIPC) sockaddr() (unsafe.Pointer, _Socklen, error) { if sa.Addr == nil { return nil, 0, EINVAL } sa.raw.Family = AF_TIPC sa.raw.Scope = int8(sa.Scope) sa.raw.Addrtype = sa.Addr.tipcAddrtype() sa.raw.Addr = sa.Addr.tipcAddr() return unsafe.Pointer(&sa.raw), SizeofSockaddrTIPC, nil } // SockaddrL2TPIP implements the Sockaddr interface for IPPROTO_L2TP/AF_INET sockets. type SockaddrL2TPIP struct { Addr [4]byte ConnId uint32 raw RawSockaddrL2TPIP } func (sa *SockaddrL2TPIP) sockaddr() (unsafe.Pointer, _Socklen, error) { sa.raw.Family = AF_INET sa.raw.Conn_id = sa.ConnId sa.raw.Addr = sa.Addr return unsafe.Pointer(&sa.raw), SizeofSockaddrL2TPIP, nil } // SockaddrL2TPIP6 implements the Sockaddr interface for IPPROTO_L2TP/AF_INET6 sockets. type SockaddrL2TPIP6 struct { Addr [16]byte ZoneId uint32 ConnId uint32 raw RawSockaddrL2TPIP6 } func (sa *SockaddrL2TPIP6) sockaddr() (unsafe.Pointer, _Socklen, error) { sa.raw.Family = AF_INET6 sa.raw.Conn_id = sa.ConnId sa.raw.Scope_id = sa.ZoneId sa.raw.Addr = sa.Addr return unsafe.Pointer(&sa.raw), SizeofSockaddrL2TPIP6, nil } // SockaddrIUCV implements the Sockaddr interface for AF_IUCV sockets. type SockaddrIUCV struct { UserID string Name string raw RawSockaddrIUCV } func (sa *SockaddrIUCV) sockaddr() (unsafe.Pointer, _Socklen, error) { sa.raw.Family = AF_IUCV // These are EBCDIC encoded by the kernel, but we still need to pad them // with blanks. Initializing with blanks allows the caller to feed in either // a padded or an unpadded string. for i := 0; i < 8; i++ { sa.raw.Nodeid[i] = ' ' sa.raw.User_id[i] = ' ' sa.raw.Name[i] = ' ' } if len(sa.UserID) > 8 || len(sa.Name) > 8 { return nil, 0, EINVAL } for i, b := range []byte(sa.UserID[:]) { sa.raw.User_id[i] = int8(b) } for i, b := range []byte(sa.Name[:]) { sa.raw.Name[i] = int8(b) } return unsafe.Pointer(&sa.raw), SizeofSockaddrIUCV, nil } type SockaddrNFC struct { DeviceIdx uint32 TargetIdx uint32 NFCProtocol uint32 raw RawSockaddrNFC } func (sa *SockaddrNFC) sockaddr() (unsafe.Pointer, _Socklen, error) { sa.raw.Sa_family = AF_NFC sa.raw.Dev_idx = sa.DeviceIdx sa.raw.Target_idx = sa.TargetIdx sa.raw.Nfc_protocol = sa.NFCProtocol return unsafe.Pointer(&sa.raw), SizeofSockaddrNFC, nil } type SockaddrNFCLLCP struct { DeviceIdx uint32 TargetIdx uint32 NFCProtocol uint32 DestinationSAP uint8 SourceSAP uint8 ServiceName string raw RawSockaddrNFCLLCP } func (sa *SockaddrNFCLLCP) sockaddr() (unsafe.Pointer, _Socklen, error) { sa.raw.Sa_family = AF_NFC sa.raw.Dev_idx = sa.DeviceIdx sa.raw.Target_idx = sa.TargetIdx sa.raw.Nfc_protocol = sa.NFCProtocol sa.raw.Dsap = sa.DestinationSAP sa.raw.Ssap = sa.SourceSAP if len(sa.ServiceName) > len(sa.raw.Service_name) { return nil, 0, EINVAL } copy(sa.raw.Service_name[:], sa.ServiceName) sa.raw.SetServiceNameLen(len(sa.ServiceName)) return unsafe.Pointer(&sa.raw), SizeofSockaddrNFCLLCP, nil } var socketProtocol = func(fd int) (int, error) { return GetsockoptInt(fd, SOL_SOCKET, SO_PROTOCOL) } func anyToSockaddr(fd int, 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 sa.Addr = pp.Addr 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++ } sa.Name = string(unsafe.Slice((*byte)(unsafe.Pointer(&pp.Path[0])), n)) return sa, nil case AF_INET: proto, err := socketProtocol(fd) if err != nil { return nil, err } switch proto { case IPPROTO_L2TP: pp := (*RawSockaddrL2TPIP)(unsafe.Pointer(rsa)) sa := new(SockaddrL2TPIP) sa.ConnId = pp.Conn_id sa.Addr = pp.Addr return sa, nil default: pp := (*RawSockaddrInet4)(unsafe.Pointer(rsa)) sa := new(SockaddrInet4) p := (*[2]byte)(unsafe.Pointer(&pp.Port)) sa.Port = int(p[0])<<8 + int(p[1]) sa.Addr = pp.Addr return sa, nil } case AF_INET6: proto, err := socketProtocol(fd) if err != nil { return nil, err } switch proto { case IPPROTO_L2TP: pp := (*RawSockaddrL2TPIP6)(unsafe.Pointer(rsa)) sa := new(SockaddrL2TPIP6) sa.ConnId = pp.Conn_id sa.ZoneId = pp.Scope_id sa.Addr = pp.Addr return sa, nil default: 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 sa.Addr = pp.Addr return sa, nil } case AF_VSOCK: pp := (*RawSockaddrVM)(unsafe.Pointer(rsa)) sa := &SockaddrVM{ CID: pp.Cid, Port: pp.Port, Flags: pp.Flags, } return sa, nil case AF_BLUETOOTH: proto, err := socketProtocol(fd) if err != nil { return nil, err } // only BTPROTO_L2CAP and BTPROTO_RFCOMM can accept connections switch proto { case BTPROTO_L2CAP: pp := (*RawSockaddrL2)(unsafe.Pointer(rsa)) sa := &SockaddrL2{ PSM: pp.Psm, CID: pp.Cid, Addr: pp.Bdaddr, AddrType: pp.Bdaddr_type, } return sa, nil case BTPROTO_RFCOMM: pp := (*RawSockaddrRFCOMM)(unsafe.Pointer(rsa)) sa := &SockaddrRFCOMM{ Channel: pp.Channel, Addr: pp.Bdaddr, } return sa, nil } case AF_XDP: pp := (*RawSockaddrXDP)(unsafe.Pointer(rsa)) sa := &SockaddrXDP{ Flags: pp.Flags, Ifindex: pp.Ifindex, QueueID: pp.Queue_id, SharedUmemFD: pp.Shared_umem_fd, } return sa, nil case AF_PPPOX: pp := (*RawSockaddrPPPoX)(unsafe.Pointer(rsa)) if binary.BigEndian.Uint32(pp[2:6]) != px_proto_oe { return nil, EINVAL } sa := &SockaddrPPPoE{ SID: binary.BigEndian.Uint16(pp[6:8]), Remote: pp[8:14], } for i := 14; i < 14+IFNAMSIZ; i++ { if pp[i] == 0 { sa.Dev = string(pp[14:i]) break } } return sa, nil case AF_TIPC: pp := (*RawSockaddrTIPC)(unsafe.Pointer(rsa)) sa := &SockaddrTIPC{ Scope: int(pp.Scope), } // Determine which union variant is present in pp.Addr by checking // pp.Addrtype. switch pp.Addrtype { case TIPC_SERVICE_RANGE: sa.Addr = (*TIPCServiceRange)(unsafe.Pointer(&pp.Addr)) case TIPC_SERVICE_ADDR: sa.Addr = (*TIPCServiceName)(unsafe.Pointer(&pp.Addr)) case TIPC_SOCKET_ADDR: sa.Addr = (*TIPCSocketAddr)(unsafe.Pointer(&pp.Addr)) default: return nil, EINVAL } return sa, nil case AF_IUCV: pp := (*RawSockaddrIUCV)(unsafe.Pointer(rsa)) var user [8]byte var name [8]byte for i := 0; i < 8; i++ { user[i] = byte(pp.User_id[i]) name[i] = byte(pp.Name[i]) } sa := &SockaddrIUCV{ UserID: string(user[:]), Name: string(name[:]), } return sa, nil case AF_CAN: proto, err := socketProtocol(fd) if err != nil { return nil, err } pp := (*RawSockaddrCAN)(unsafe.Pointer(rsa)) switch proto { case CAN_J1939: sa := &SockaddrCANJ1939{ Ifindex: int(pp.Ifindex), } name := (*[8]byte)(unsafe.Pointer(&sa.Name)) for i := 0; i < 8; i++ { name[i] = pp.Addr[i] } pgn := (*[4]byte)(unsafe.Pointer(&sa.PGN)) for i := 0; i < 4; i++ { pgn[i] = pp.Addr[i+8] } addr := (*[1]byte)(unsafe.Pointer(&sa.Addr)) addr[0] = pp.Addr[12] return sa, nil default: sa := &SockaddrCAN{ Ifindex: int(pp.Ifindex), } rx := (*[4]byte)(unsafe.Pointer(&sa.RxID)) for i := 0; i < 4; i++ { rx[i] = pp.Addr[i] } tx := (*[4]byte)(unsafe.Pointer(&sa.TxID)) for i := 0; i < 4; i++ { tx[i] = pp.Addr[i+4] } return sa, nil } case AF_NFC: proto, err := socketProtocol(fd) if err != nil { return nil, err } switch proto { case NFC_SOCKPROTO_RAW: pp := (*RawSockaddrNFC)(unsafe.Pointer(rsa)) sa := &SockaddrNFC{ DeviceIdx: pp.Dev_idx, TargetIdx: pp.Target_idx, NFCProtocol: pp.Nfc_protocol, } return sa, nil case NFC_SOCKPROTO_LLCP: pp := (*RawSockaddrNFCLLCP)(unsafe.Pointer(rsa)) if uint64(pp.Service_name_len) > uint64(len(pp.Service_name)) { return nil, EINVAL } sa := &SockaddrNFCLLCP{ DeviceIdx: pp.Dev_idx, TargetIdx: pp.Target_idx, NFCProtocol: pp.Nfc_protocol, DestinationSAP: pp.Dsap, SourceSAP: pp.Ssap, ServiceName: string(pp.Service_name[:pp.Service_name_len]), } return sa, nil default: return nil, EINVAL } } return nil, EAFNOSUPPORT } func Accept(fd int) (nfd int, sa Sockaddr, err error) { var rsa RawSockaddrAny var len _Socklen = SizeofSockaddrAny nfd, err = accept4(fd, &rsa, &len, 0) if err != nil { return } sa, err = anyToSockaddr(fd, &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(fd, &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(fd, &rsa) } 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 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 } // GetsockoptTCPCCVegasInfo returns algorithm specific congestion control information for a socket using the "vegas" // algorithm. // // The socket's congestion control algorighm can be retrieved via [GetsockoptString] with the [TCP_CONGESTION] option: // // algo, err := unix.GetsockoptString(fd, unix.IPPROTO_TCP, unix.TCP_CONGESTION) func GetsockoptTCPCCVegasInfo(fd, level, opt int) (*TCPVegasInfo, error) { var value [SizeofTCPCCInfo / 4]uint32 // ensure proper alignment vallen := _Socklen(SizeofTCPCCInfo) err := getsockopt(fd, level, opt, unsafe.Pointer(&value[0]), &vallen) out := (*TCPVegasInfo)(unsafe.Pointer(&value[0])) return out, err } // GetsockoptTCPCCDCTCPInfo returns algorithm specific congestion control information for a socket using the "dctp" // algorithm. // // The socket's congestion control algorighm can be retrieved via [GetsockoptString] with the [TCP_CONGESTION] option: // // algo, err := unix.GetsockoptString(fd, unix.IPPROTO_TCP, unix.TCP_CONGESTION) func GetsockoptTCPCCDCTCPInfo(fd, level, opt int) (*TCPDCTCPInfo, error) { var value [SizeofTCPCCInfo / 4]uint32 // ensure proper alignment vallen := _Socklen(SizeofTCPCCInfo) err := getsockopt(fd, level, opt, unsafe.Pointer(&value[0]), &vallen) out := (*TCPDCTCPInfo)(unsafe.Pointer(&value[0])) return out, err } // GetsockoptTCPCCBBRInfo returns algorithm specific congestion control information for a socket using the "bbr" // algorithm. // // The socket's congestion control algorighm can be retrieved via [GetsockoptString] with the [TCP_CONGESTION] option: // // algo, err := unix.GetsockoptString(fd, unix.IPPROTO_TCP, unix.TCP_CONGESTION) func GetsockoptTCPCCBBRInfo(fd, level, opt int) (*TCPBBRInfo, error) { var value [SizeofTCPCCInfo / 4]uint32 // ensure proper alignment vallen := _Socklen(SizeofTCPCCInfo) err := getsockopt(fd, level, opt, unsafe.Pointer(&value[0]), &vallen) out := (*TCPBBRInfo)(unsafe.Pointer(&value[0])) return out, err } // GetsockoptString returns the string value of the socket option opt for the // socket associated with fd at the given socket level. func GetsockoptString(fd, level, opt int) (string, error) { buf := make([]byte, 256) vallen := _Socklen(len(buf)) err := getsockopt(fd, level, opt, unsafe.Pointer(&buf[0]), &vallen) if err != nil { if err == ERANGE { buf = make([]byte, vallen) err = getsockopt(fd, level, opt, unsafe.Pointer(&buf[0]), &vallen) } if err != nil { return "", err } } return ByteSliceToString(buf[:vallen]), nil } func GetsockoptTpacketStats(fd, level, opt int) (*TpacketStats, error) { var value TpacketStats vallen := _Socklen(SizeofTpacketStats) err := getsockopt(fd, level, opt, unsafe.Pointer(&value), &vallen) return &value, err } func GetsockoptTpacketStatsV3(fd, level, opt int) (*TpacketStatsV3, error) { var value TpacketStatsV3 vallen := _Socklen(SizeofTpacketStatsV3) 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)) } func SetsockoptPacketMreq(fd, level, opt int, mreq *PacketMreq) error { return setsockopt(fd, level, opt, unsafe.Pointer(mreq), unsafe.Sizeof(*mreq)) } // SetsockoptSockFprog attaches a classic BPF or an extended BPF program to a // socket to filter incoming packets. See 'man 7 socket' for usage information. func SetsockoptSockFprog(fd, level, opt int, fprog *SockFprog) error { return setsockopt(fd, level, opt, unsafe.Pointer(fprog), unsafe.Sizeof(*fprog)) } func SetsockoptCanRawFilter(fd, level, opt int, filter []CanFilter) error { var p unsafe.Pointer if len(filter) > 0 { p = unsafe.Pointer(&filter[0]) } return setsockopt(fd, level, opt, p, uintptr(len(filter)*SizeofCanFilter)) } func SetsockoptTpacketReq(fd, level, opt int, tp *TpacketReq) error { return setsockopt(fd, level, opt, unsafe.Pointer(tp), unsafe.Sizeof(*tp)) } func SetsockoptTpacketReq3(fd, level, opt int, tp *TpacketReq3) error { return setsockopt(fd, level, opt, unsafe.Pointer(tp), unsafe.Sizeof(*tp)) } func SetsockoptTCPRepairOpt(fd, level, opt int, o []TCPRepairOpt) (err error) { if len(o) == 0 { return EINVAL } return setsockopt(fd, level, opt, unsafe.Pointer(&o[0]), uintptr(SizeofTCPRepairOpt*len(o))) } func SetsockoptTCPMD5Sig(fd, level, opt int, s *TCPMD5Sig) error { return setsockopt(fd, level, opt, unsafe.Pointer(s), unsafe.Sizeof(*s)) } // 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) } // KeyctlRestrictKeyring implements the KEYCTL_RESTRICT_KEYRING command. This // command limits the set of keys that can be linked to the keyring, regardless // of keyring permissions. The command requires the "setattr" permission. // // When called with an empty keyType the command locks the keyring, preventing // any further keys from being linked to the keyring. // // The "asymmetric" keyType defines restrictions requiring key payloads to be // DER encoded X.509 certificates signed by keys in another keyring. Restrictions // for "asymmetric" include "builtin_trusted", "builtin_and_secondary_trusted", // "key_or_keyring:", and "key_or_keyring::chain". // // As of Linux 4.12, only the "asymmetric" keyType defines type-specific // restrictions. // // See the full documentation at: // http://man7.org/linux/man-pages/man3/keyctl_restrict_keyring.3.html // http://man7.org/linux/man-pages/man2/keyctl.2.html func KeyctlRestrictKeyring(ringid int, keyType string, restriction string) error { if keyType == "" { return keyctlRestrictKeyring(KEYCTL_RESTRICT_KEYRING, ringid) } return keyctlRestrictKeyringByType(KEYCTL_RESTRICT_KEYRING, ringid, keyType, restriction) } //sys keyctlRestrictKeyringByType(cmd int, arg2 int, keyType string, restriction string) (err error) = SYS_KEYCTL //sys keyctlRestrictKeyring(cmd int, arg2 int) (err error) = SYS_KEYCTL func recvmsgRaw(fd int, iov []Iovec, oob []byte, flags int, rsa *RawSockaddrAny) (n, oobn int, recvflags int, err error) { var msg Msghdr msg.Name = (*byte)(unsafe.Pointer(rsa)) msg.Namelen = uint32(SizeofSockaddrAny) var dummy byte if len(oob) > 0 { if emptyIovecs(iov) { var sockType int sockType, err = GetsockoptInt(fd, SOL_SOCKET, SO_TYPE) if err != nil { return } // receive at least one normal byte if sockType != SOCK_DGRAM { var iova [1]Iovec iova[0].Base = &dummy iova[0].SetLen(1) iov = iova[:] } } msg.Control = &oob[0] msg.SetControllen(len(oob)) } if len(iov) > 0 { msg.Iov = &iov[0] msg.SetIovlen(len(iov)) } if n, err = recvmsg(fd, &msg, flags); err != nil { return } oobn = int(msg.Controllen) recvflags = int(msg.Flags) return } func sendmsgN(fd int, iov []Iovec, oob []byte, ptr unsafe.Pointer, salen _Socklen, flags int) (n int, err error) { var msg Msghdr msg.Name = (*byte)(ptr) msg.Namelen = uint32(salen) var dummy byte var empty bool if len(oob) > 0 { empty = emptyIovecs(iov) if empty { var sockType int sockType, err = GetsockoptInt(fd, SOL_SOCKET, SO_TYPE) if err != nil { return 0, err } // send at least one normal byte if sockType != SOCK_DGRAM { var iova [1]Iovec iova[0].Base = &dummy iova[0].SetLen(1) iov = iova[:] } } msg.Control = &oob[0] msg.SetControllen(len(oob)) } if len(iov) > 0 { msg.Iov = &iov[0] msg.SetIovlen(len(iov)) } if n, err = sendmsg(fd, &msg, flags); err != nil { return 0, err } if len(oob) > 0 && empty { 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) //sys ptracePtr(request int, pid int, addr uintptr, data unsafe.Pointer) (err error) = SYS_PTRACE 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 = ptracePtr(req, pid, addr-addr%SizeofPtr, 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 = ptracePtr(req, pid, addr+uintptr(n), 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 = ptracePtr(peekReq, pid, addr-addr%SizeofPtr, 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 = ptracePtr(peekReq, pid, addr+uintptr(n), 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 PtracePokeUser(pid int, addr uintptr, data []byte) (count int, err error) { return ptracePoke(PTRACE_POKEUSR, PTRACE_PEEKUSR, pid, addr, data) } // elfNT_PRSTATUS is a copy of the debug/elf.NT_PRSTATUS constant so // x/sys/unix doesn't need to depend on debug/elf and thus // compress/zlib, debug/dwarf, and other packages. const elfNT_PRSTATUS = 1 func PtraceGetRegs(pid int, regsout *PtraceRegs) (err error) { var iov Iovec iov.Base = (*byte)(unsafe.Pointer(regsout)) iov.SetLen(int(unsafe.Sizeof(*regsout))) return ptracePtr(PTRACE_GETREGSET, pid, uintptr(elfNT_PRSTATUS), unsafe.Pointer(&iov)) } func PtraceSetRegs(pid int, regs *PtraceRegs) (err error) { var iov Iovec iov.Base = (*byte)(unsafe.Pointer(regs)) iov.SetLen(int(unsafe.Sizeof(*regs))) return ptracePtr(PTRACE_SETREGSET, pid, uintptr(elfNT_PRSTATUS), unsafe.Pointer(&iov)) } 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 = ptracePtr(PTRACE_GETEVENTMSG, pid, 0, 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 PtraceInterrupt(pid int) (err error) { return ptrace(PTRACE_INTERRUPT, pid, 0, 0) } func PtraceAttach(pid int) (err error) { return ptrace(PTRACE_ATTACH, pid, 0, 0) } func PtraceSeize(pid int) (err error) { return ptrace(PTRACE_SEIZE, 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 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) } //sys mountSetattr(dirfd int, pathname string, flags uint, attr *MountAttr, size uintptr) (err error) = SYS_MOUNT_SETATTR // MountSetattr is a wrapper for mount_setattr(2). // https://man7.org/linux/man-pages/man2/mount_setattr.2.html // // Requires kernel >= 5.12. func MountSetattr(dirfd int, pathname string, flags uint, attr *MountAttr) error { return mountSetattr(dirfd, pathname, flags, attr, unsafe.Sizeof(*attr)) } 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) } // 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) //sysnb Capget(hdr *CapUserHeader, data *CapUserData) (err error) //sysnb Capset(hdr *CapUserHeader, data *CapUserData) (err error) //sys Chdir(path string) (err error) //sys Chroot(path string) (err error) //sys ClockAdjtime(clockid int32, buf *Timex) (state int, err error) //sys ClockGetres(clockid int32, res *Timespec) (err error) //sys ClockGettime(clockid int32, time *Timespec) (err error) //sys ClockNanosleep(clockid int32, flags int, request *Timespec, remain *Timespec) (err error) //sys Close(fd int) (err error) //sys CloseRange(first uint, last uint, flags uint) (err error) //sys CopyFileRange(rfd int, roff *int64, wfd int, woff *int64, len int, flags int) (n int, err error) //sys DeleteModule(name string, flags int) (err error) //sys Dup(oldfd int) (fd int, err error) func Dup2(oldfd, newfd int) error { return Dup3(oldfd, newfd, 0) } //sys Dup3(oldfd int, newfd int, flags 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 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 Fchownat(dirfd int, path string, uid int, gid int, flags int) (err error) //sys Fdatasync(fd int) (err error) //sys Fgetxattr(fd int, attr string, dest []byte) (sz int, err error) //sys FinitModule(fd int, params string, flags int) (err error) //sys Flistxattr(fd int, dest []byte) (sz int, err error) //sys Flock(fd int, how int) (err error) //sys Fremovexattr(fd int, attr string) (err error) //sys Fsetxattr(fd int, attr string, dest []byte, flags int) (err error) //sys Fsync(fd int) (err error) //sys Fsmount(fd int, flags int, mountAttrs int) (fsfd int, err error) //sys Fsopen(fsName string, flags int) (fd int, err error) //sys Fspick(dirfd int, pathName string, flags int) (fd int, err error) //sys fsconfig(fd int, cmd uint, key *byte, value *byte, aux int) (err error) func fsconfigCommon(fd int, cmd uint, key string, value *byte, aux int) (err error) { var keyp *byte if keyp, err = BytePtrFromString(key); err != nil { return } return fsconfig(fd, cmd, keyp, value, aux) } // FsconfigSetFlag is equivalent to fsconfig(2) called // with cmd == FSCONFIG_SET_FLAG. // // fd is the filesystem context to act upon. // key the parameter key to set. func FsconfigSetFlag(fd int, key string) (err error) { return fsconfigCommon(fd, FSCONFIG_SET_FLAG, key, nil, 0) } // FsconfigSetString is equivalent to fsconfig(2) called // with cmd == FSCONFIG_SET_STRING. // // fd is the filesystem context to act upon. // key the parameter key to set. // value is the parameter value to set. func FsconfigSetString(fd int, key string, value string) (err error) { var valuep *byte if valuep, err = BytePtrFromString(value); err != nil { return } return fsconfigCommon(fd, FSCONFIG_SET_STRING, key, valuep, 0) } // FsconfigSetBinary is equivalent to fsconfig(2) called // with cmd == FSCONFIG_SET_BINARY. // // fd is the filesystem context to act upon. // key the parameter key to set. // value is the parameter value to set. func FsconfigSetBinary(fd int, key string, value []byte) (err error) { if len(value) == 0 { return EINVAL } return fsconfigCommon(fd, FSCONFIG_SET_BINARY, key, &value[0], len(value)) } // FsconfigSetPath is equivalent to fsconfig(2) called // with cmd == FSCONFIG_SET_PATH. // // fd is the filesystem context to act upon. // key the parameter key to set. // path is a non-empty path for specified key. // atfd is a file descriptor at which to start lookup from or AT_FDCWD. func FsconfigSetPath(fd int, key string, path string, atfd int) (err error) { var valuep *byte if valuep, err = BytePtrFromString(path); err != nil { return } return fsconfigCommon(fd, FSCONFIG_SET_PATH, key, valuep, atfd) } // FsconfigSetPathEmpty is equivalent to fsconfig(2) called // with cmd == FSCONFIG_SET_PATH_EMPTY. The same as // FconfigSetPath but with AT_PATH_EMPTY implied. func FsconfigSetPathEmpty(fd int, key string, path string, atfd int) (err error) { var valuep *byte if valuep, err = BytePtrFromString(path); err != nil { return } return fsconfigCommon(fd, FSCONFIG_SET_PATH_EMPTY, key, valuep, atfd) } // FsconfigSetFd is equivalent to fsconfig(2) called // with cmd == FSCONFIG_SET_FD. // // fd is the filesystem context to act upon. // key the parameter key to set. // value is a file descriptor to be assigned to specified key. func FsconfigSetFd(fd int, key string, value int) (err error) { return fsconfigCommon(fd, FSCONFIG_SET_FD, key, nil, value) } // FsconfigCreate is equivalent to fsconfig(2) called // with cmd == FSCONFIG_CMD_CREATE. // // fd is the filesystem context to act upon. func FsconfigCreate(fd int) (err error) { return fsconfig(fd, FSCONFIG_CMD_CREATE, nil, nil, 0) } // FsconfigReconfigure is equivalent to fsconfig(2) called // with cmd == FSCONFIG_CMD_RECONFIGURE. // // fd is the filesystem context to act upon. func FsconfigReconfigure(fd int) (err error) { return fsconfig(fd, FSCONFIG_CMD_RECONFIGURE, nil, nil, 0) } //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) func Getrandom(buf []byte, flags int) (n int, err error) { vdsoRet, supported := vgetrandom(buf, uint32(flags)) if supported { if vdsoRet < 0 { return 0, errnoErr(syscall.Errno(-vdsoRet)) } return vdsoRet, nil } var p *byte if len(buf) > 0 { p = &buf[0] } r, _, e := Syscall(SYS_GETRANDOM, uintptr(unsafe.Pointer(p)), uintptr(len(buf)), uintptr(flags)) if e != 0 { return 0, errnoErr(e) } return int(r), nil } //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 InitModule(moduleImage []byte, params string) (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 MemfdCreate(name string, flags int) (fd 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 MoveMount(fromDirfd int, fromPathName string, toDirfd int, toPathName string, flags int) (err error) //sys Nanosleep(time *Timespec, leftover *Timespec) (err error) //sys OpenTree(dfd int, fileName string, flags uint) (r int, err error) //sys PerfEventOpen(attr *PerfEventAttr, pid int, cpu int, groupFd int, flags int) (fd int, err error) //sys PivotRoot(newroot string, putold string) (err error) = SYS_PIVOT_ROOT //sys Prctl(option int, arg2 uintptr, arg3 uintptr, arg4 uintptr, arg5 uintptr) (err error) //sys pselect6(nfd int, r *FdSet, w *FdSet, e *FdSet, timeout *Timespec, sigmask *sigset_argpack) (n int, err error) //sys read(fd int, p []byte) (n int, err error) //sys Removexattr(path string, attr string) (err error) //sys Renameat2(olddirfd int, oldpath string, newdirfd int, newpath string, flags uint) (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) //go:linkname syscall_prlimit syscall.prlimit func syscall_prlimit(pid, resource int, newlimit, old *syscall.Rlimit) error func Prlimit(pid, resource int, newlimit, old *Rlimit) error { // Just call the syscall version, because as of Go 1.21 // it will affect starting a new process. return syscall_prlimit(pid, resource, (*syscall.Rlimit)(newlimit), (*syscall.Rlimit)(old)) } // PrctlRetInt performs a prctl operation specified by option and further // optional arguments arg2 through arg5 depending on option. It returns a // non-negative integer that is returned by the prctl syscall. func PrctlRetInt(option int, arg2 uintptr, arg3 uintptr, arg4 uintptr, arg5 uintptr) (int, error) { ret, _, err := Syscall6(SYS_PRCTL, uintptr(option), uintptr(arg2), uintptr(arg3), uintptr(arg4), uintptr(arg5), 0) if err != 0 { return 0, err } return int(ret), nil } func Setuid(uid int) (err error) { return syscall.Setuid(uid) } func Setgid(gid int) (err error) { return syscall.Setgid(gid) } func Setreuid(ruid, euid int) (err error) { return syscall.Setreuid(ruid, euid) } func Setregid(rgid, egid int) (err error) { return syscall.Setregid(rgid, egid) } func Setresuid(ruid, euid, suid int) (err error) { return syscall.Setresuid(ruid, euid, suid) } func Setresgid(rgid, egid, sgid int) (err error) { return syscall.Setresgid(rgid, egid, sgid) } // SetfsgidRetGid sets fsgid for current thread and returns previous fsgid set. // setfsgid(2) will return a non-nil error only if its caller lacks CAP_SETUID capability. // If the call fails due to other reasons, current fsgid will be returned. func SetfsgidRetGid(gid int) (int, error) { return setfsgid(gid) } // SetfsuidRetUid sets fsuid for current thread and returns previous fsuid set. // setfsgid(2) will return a non-nil error only if its caller lacks CAP_SETUID capability // If the call fails due to other reasons, current fsuid will be returned. func SetfsuidRetUid(uid int) (int, error) { return setfsuid(uid) } func Setfsgid(gid int) error { _, err := setfsgid(gid) return err } func Setfsuid(uid int) error { _, err := setfsuid(uid) return err } func Signalfd(fd int, sigmask *Sigset_t, flags int) (newfd int, err error) { return signalfd(fd, sigmask, _C__NSIG/8, flags) } //sys Setpriority(which int, who int, prio int) (err error) //sys Setxattr(path string, attr string, data []byte, flags int) (err error) //sys signalfd(fd int, sigmask *Sigset_t, maskSize uintptr, flags int) (newfd int, err error) = SYS_SIGNALFD4 //sys Statx(dirfd int, path string, flags int, mask int, stat *Statx_t) (err error) //sys Sync() //sys Syncfs(fd int) (err error) //sysnb Sysinfo(info *Sysinfo_t) (err error) //sys Tee(rfd int, wfd int, len int, flags int) (n int64, err error) //sysnb TimerfdCreate(clockid int, flags int) (fd int, err error) //sysnb TimerfdGettime(fd int, currValue *ItimerSpec) (err error) //sysnb TimerfdSettime(fd int, flags int, newValue *ItimerSpec, oldValue *ItimerSpec) (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 write(fd int, p []byte) (n int, err error) //sys exitThread(code int) (err error) = SYS_EXIT //sys readv(fd int, iovs []Iovec) (n int, err error) = SYS_READV //sys writev(fd int, iovs []Iovec) (n int, err error) = SYS_WRITEV //sys preadv(fd int, iovs []Iovec, offs_l uintptr, offs_h uintptr) (n int, err error) = SYS_PREADV //sys pwritev(fd int, iovs []Iovec, offs_l uintptr, offs_h uintptr) (n int, err error) = SYS_PWRITEV //sys preadv2(fd int, iovs []Iovec, offs_l uintptr, offs_h uintptr, flags int) (n int, err error) = SYS_PREADV2 //sys pwritev2(fd int, iovs []Iovec, offs_l uintptr, offs_h uintptr, flags int) (n int, err error) = SYS_PWRITEV2 // minIovec is the size of the small initial allocation used by // Readv, Writev, etc. // // This small allocation gets stack allocated, which lets the // common use case of len(iovs) <= minIovs avoid more expensive // heap allocations. const minIovec = 8 // appendBytes converts bs to Iovecs and appends them to vecs. func appendBytes(vecs []Iovec, bs [][]byte) []Iovec { for _, b := range bs { var v Iovec v.SetLen(len(b)) if len(b) > 0 { v.Base = &b[0] } else { v.Base = (*byte)(unsafe.Pointer(&_zero)) } vecs = append(vecs, v) } return vecs } // offs2lohi splits offs into its low and high order bits. func offs2lohi(offs int64) (lo, hi uintptr) { const longBits = SizeofLong * 8 return uintptr(offs), uintptr(uint64(offs) >> (longBits - 1) >> 1) // two shifts to avoid false positive in vet } func Readv(fd int, iovs [][]byte) (n int, err error) { iovecs := make([]Iovec, 0, minIovec) iovecs = appendBytes(iovecs, iovs) n, err = readv(fd, iovecs) readvRacedetect(iovecs, n, err) return n, err } func Preadv(fd int, iovs [][]byte, offset int64) (n int, err error) { iovecs := make([]Iovec, 0, minIovec) iovecs = appendBytes(iovecs, iovs) lo, hi := offs2lohi(offset) n, err = preadv(fd, iovecs, lo, hi) readvRacedetect(iovecs, n, err) return n, err } func Preadv2(fd int, iovs [][]byte, offset int64, flags int) (n int, err error) { iovecs := make([]Iovec, 0, minIovec) iovecs = appendBytes(iovecs, iovs) lo, hi := offs2lohi(offset) n, err = preadv2(fd, iovecs, lo, hi, flags) readvRacedetect(iovecs, n, err) return n, err } func readvRacedetect(iovecs []Iovec, n int, err error) { if !raceenabled { return } for i := 0; n > 0 && i < len(iovecs); i++ { m := int(iovecs[i].Len) if m > n { m = n } n -= m if m > 0 { raceWriteRange(unsafe.Pointer(iovecs[i].Base), m) } } if err == nil { raceAcquire(unsafe.Pointer(&ioSync)) } } func Writev(fd int, iovs [][]byte) (n int, err error) { iovecs := make([]Iovec, 0, minIovec) iovecs = appendBytes(iovecs, iovs) if raceenabled { raceReleaseMerge(unsafe.Pointer(&ioSync)) } n, err = writev(fd, iovecs) writevRacedetect(iovecs, n) return n, err } func Pwritev(fd int, iovs [][]byte, offset int64) (n int, err error) { iovecs := make([]Iovec, 0, minIovec) iovecs = appendBytes(iovecs, iovs) if raceenabled { raceReleaseMerge(unsafe.Pointer(&ioSync)) } lo, hi := offs2lohi(offset) n, err = pwritev(fd, iovecs, lo, hi) writevRacedetect(iovecs, n) return n, err } func Pwritev2(fd int, iovs [][]byte, offset int64, flags int) (n int, err error) { iovecs := make([]Iovec, 0, minIovec) iovecs = appendBytes(iovecs, iovs) if raceenabled { raceReleaseMerge(unsafe.Pointer(&ioSync)) } lo, hi := offs2lohi(offset) n, err = pwritev2(fd, iovecs, lo, hi, flags) writevRacedetect(iovecs, n) return n, err } func writevRacedetect(iovecs []Iovec, n int) { if !raceenabled { return } for i := 0; n > 0 && i < len(iovecs); i++ { m := int(iovecs[i].Len) if m > n { m = n } n -= m if m > 0 { raceReadRange(unsafe.Pointer(iovecs[i].Base), m) } } } // mmap varies by architecture; see syscall_linux_*.go. //sys munmap(addr uintptr, length uintptr) (err error) //sys mremap(oldaddr uintptr, oldlength uintptr, newlength uintptr, flags int, newaddr uintptr) (xaddr uintptr, err error) //sys Madvise(b []byte, advice int) (err error) //sys Mprotect(b []byte, prot int) (err error) //sys Mlock(b []byte) (err error) //sys Mlockall(flags int) (err error) //sys Msync(b []byte, flags int) (err error) //sys Munlock(b []byte) (err error) //sys Munlockall() (err error) const ( mremapFixed = MREMAP_FIXED mremapDontunmap = MREMAP_DONTUNMAP mremapMaymove = MREMAP_MAYMOVE ) // 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) { var p unsafe.Pointer if len(iovs) > 0 { p = unsafe.Pointer(&iovs[0]) } n, _, errno := Syscall6(SYS_VMSPLICE, uintptr(fd), uintptr(p), uintptr(len(iovs)), uintptr(flags), 0, 0) if errno != 0 { return 0, syscall.Errno(errno) } return int(n), nil } func isGroupMember(gid int) bool { groups, err := Getgroups() if err != nil { return false } for _, g := range groups { if g == gid { return true } } return false } func isCapDacOverrideSet() bool { hdr := CapUserHeader{Version: LINUX_CAPABILITY_VERSION_3} data := [2]CapUserData{} err := Capget(&hdr, &data[0]) return err == nil && data[0].Effective&(1<> 6) & 7 } else { var gid int if flags&AT_EACCESS != 0 { gid = Getegid() } else { gid = Getgid() } if uint32(gid) == st.Gid || isGroupMember(int(st.Gid)) { fmode = (st.Mode >> 3) & 7 } else { fmode = st.Mode & 7 } } if fmode&mode == mode { return nil } return EACCES } //sys nameToHandleAt(dirFD int, pathname string, fh *fileHandle, mountID *_C_int, flags int) (err error) = SYS_NAME_TO_HANDLE_AT //sys openByHandleAt(mountFD int, fh *fileHandle, flags int) (fd int, err error) = SYS_OPEN_BY_HANDLE_AT // fileHandle is the argument to nameToHandleAt and openByHandleAt. We // originally tried to generate it via unix/linux/types.go with "type // fileHandle C.struct_file_handle" but that generated empty structs // for mips64 and mips64le. Instead, hard code it for now (it's the // same everywhere else) until the mips64 generator issue is fixed. type fileHandle struct { Bytes uint32 Type int32 } // FileHandle represents the C struct file_handle used by // name_to_handle_at (see NameToHandleAt) and open_by_handle_at (see // OpenByHandleAt). type FileHandle struct { *fileHandle } // NewFileHandle constructs a FileHandle. func NewFileHandle(handleType int32, handle []byte) FileHandle { const hdrSize = unsafe.Sizeof(fileHandle{}) buf := make([]byte, hdrSize+uintptr(len(handle))) copy(buf[hdrSize:], handle) fh := (*fileHandle)(unsafe.Pointer(&buf[0])) fh.Type = handleType fh.Bytes = uint32(len(handle)) return FileHandle{fh} } func (fh *FileHandle) Size() int { return int(fh.fileHandle.Bytes) } func (fh *FileHandle) Type() int32 { return fh.fileHandle.Type } func (fh *FileHandle) Bytes() []byte { n := fh.Size() if n == 0 { return nil } return unsafe.Slice((*byte)(unsafe.Pointer(uintptr(unsafe.Pointer(&fh.fileHandle.Type))+4)), n) } // NameToHandleAt wraps the name_to_handle_at system call; it obtains // a handle for a path name. func NameToHandleAt(dirfd int, path string, flags int) (handle FileHandle, mountID int, err error) { var mid _C_int // Try first with a small buffer, assuming the handle will // only be 32 bytes. size := uint32(32 + unsafe.Sizeof(fileHandle{})) didResize := false for { buf := make([]byte, size) fh := (*fileHandle)(unsafe.Pointer(&buf[0])) fh.Bytes = size - uint32(unsafe.Sizeof(fileHandle{})) err = nameToHandleAt(dirfd, path, fh, &mid, flags) if err == EOVERFLOW { if didResize { // We shouldn't need to resize more than once return } didResize = true size = fh.Bytes + uint32(unsafe.Sizeof(fileHandle{})) continue } if err != nil { return } return FileHandle{fh}, int(mid), nil } } // OpenByHandleAt wraps the open_by_handle_at system call; it opens a // file via a handle as previously returned by NameToHandleAt. func OpenByHandleAt(mountFD int, handle FileHandle, flags int) (fd int, err error) { return openByHandleAt(mountFD, handle.fileHandle, flags) } // Klogset wraps the sys_syslog system call; it sets console_loglevel to // the value specified by arg and passes a dummy pointer to bufp. func Klogset(typ int, arg int) (err error) { var p unsafe.Pointer _, _, errno := Syscall(SYS_SYSLOG, uintptr(typ), uintptr(p), uintptr(arg)) if errno != 0 { return errnoErr(errno) } return nil } // RemoteIovec is Iovec with the pointer replaced with an integer. // It is used for ProcessVMReadv and ProcessVMWritev, where the pointer // refers to a location in a different process' address space, which // would confuse the Go garbage collector. type RemoteIovec struct { Base uintptr Len int } //sys ProcessVMReadv(pid int, localIov []Iovec, remoteIov []RemoteIovec, flags uint) (n int, err error) = SYS_PROCESS_VM_READV //sys ProcessVMWritev(pid int, localIov []Iovec, remoteIov []RemoteIovec, flags uint) (n int, err error) = SYS_PROCESS_VM_WRITEV //sys PidfdOpen(pid int, flags int) (fd int, err error) = SYS_PIDFD_OPEN //sys PidfdGetfd(pidfd int, targetfd int, flags int) (fd int, err error) = SYS_PIDFD_GETFD //sys PidfdSendSignal(pidfd int, sig Signal, info *Siginfo, flags int) (err error) = SYS_PIDFD_SEND_SIGNAL //sys shmat(id int, addr uintptr, flag int) (ret uintptr, err error) //sys shmctl(id int, cmd int, buf *SysvShmDesc) (result int, err error) //sys shmdt(addr uintptr) (err error) //sys shmget(key int, size int, flag int) (id int, err error) //sys getitimer(which int, currValue *Itimerval) (err error) //sys setitimer(which int, newValue *Itimerval, oldValue *Itimerval) (err error) // MakeItimerval creates an Itimerval from interval and value durations. func MakeItimerval(interval, value time.Duration) Itimerval { return Itimerval{ Interval: NsecToTimeval(interval.Nanoseconds()), Value: NsecToTimeval(value.Nanoseconds()), } } // A value which may be passed to the which parameter for Getitimer and // Setitimer. type ItimerWhich int // Possible which values for Getitimer and Setitimer. const ( ItimerReal ItimerWhich = ITIMER_REAL ItimerVirtual ItimerWhich = ITIMER_VIRTUAL ItimerProf ItimerWhich = ITIMER_PROF ) // Getitimer wraps getitimer(2) to return the current value of the timer // specified by which. func Getitimer(which ItimerWhich) (Itimerval, error) { var it Itimerval if err := getitimer(int(which), &it); err != nil { return Itimerval{}, err } return it, nil } // Setitimer wraps setitimer(2) to arm or disarm the timer specified by which. // It returns the previous value of the timer. // // If the Itimerval argument is the zero value, the timer will be disarmed. func Setitimer(which ItimerWhich, it Itimerval) (Itimerval, error) { var prev Itimerval if err := setitimer(int(which), &it, &prev); err != nil { return Itimerval{}, err } return prev, nil } //sysnb rtSigprocmask(how int, set *Sigset_t, oldset *Sigset_t, sigsetsize uintptr) (err error) = SYS_RT_SIGPROCMASK func PthreadSigmask(how int, set, oldset *Sigset_t) error { if oldset != nil { // Explicitly clear in case Sigset_t is larger than _C__NSIG. *oldset = Sigset_t{} } return rtSigprocmask(how, set, oldset, _C__NSIG/8) } //sysnb getresuid(ruid *_C_int, euid *_C_int, suid *_C_int) //sysnb getresgid(rgid *_C_int, egid *_C_int, sgid *_C_int) func Getresuid() (ruid, euid, suid int) { var r, e, s _C_int getresuid(&r, &e, &s) return int(r), int(e), int(s) } func Getresgid() (rgid, egid, sgid int) { var r, e, s _C_int getresgid(&r, &e, &s) return int(r), int(e), int(s) } // Pselect is a wrapper around the Linux pselect6 system call. // This version does not modify the timeout argument. func Pselect(nfd int, r *FdSet, w *FdSet, e *FdSet, timeout *Timespec, sigmask *Sigset_t) (n int, err error) { // Per https://man7.org/linux/man-pages/man2/select.2.html#NOTES, // The Linux pselect6() system call modifies its timeout argument. // [Not modifying the argument] is the behavior required by POSIX.1-2001. var mutableTimeout *Timespec if timeout != nil { mutableTimeout = new(Timespec) *mutableTimeout = *timeout } // The final argument of the pselect6() system call is not a // sigset_t * pointer, but is instead a structure var kernelMask *sigset_argpack if sigmask != nil { wordBits := 32 << (^uintptr(0) >> 63) // see math.intSize // A sigset stores one bit per signal, // offset by 1 (because signal 0 does not exist). // So the number of words needed is ⌈__C_NSIG - 1 / wordBits⌉. sigsetWords := (_C__NSIG - 1 + wordBits - 1) / (wordBits) sigsetBytes := uintptr(sigsetWords * (wordBits / 8)) kernelMask = &sigset_argpack{ ss: sigmask, ssLen: sigsetBytes, } } return pselect6(nfd, r, w, e, mutableTimeout, kernelMask) } //sys schedSetattr(pid int, attr *SchedAttr, flags uint) (err error) //sys schedGetattr(pid int, attr *SchedAttr, size uint, flags uint) (err error) // SchedSetAttr is a wrapper for sched_setattr(2) syscall. // https://man7.org/linux/man-pages/man2/sched_setattr.2.html func SchedSetAttr(pid int, attr *SchedAttr, flags uint) error { if attr == nil { return EINVAL } attr.Size = SizeofSchedAttr return schedSetattr(pid, attr, flags) } // SchedGetAttr is a wrapper for sched_getattr(2) syscall. // https://man7.org/linux/man-pages/man2/sched_getattr.2.html func SchedGetAttr(pid int, flags uint) (*SchedAttr, error) { attr := &SchedAttr{} if err := schedGetattr(pid, attr, SizeofSchedAttr, flags); err != nil { return nil, err } return attr, nil } //sys Cachestat(fd uint, crange *CachestatRange, cstat *Cachestat_t, flags uint) (err error) //sys Mseal(b []byte, flags uint) (err error) dependencies/pkg/mod/golang.org/x/sys@v0.26.0/unix/syscall_darwin.go0000644000000000000000000005512115107355264024162 0ustar rootroot// 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 ( "fmt" "syscall" "unsafe" ) //sys closedir(dir uintptr) (err error) //sys readdir_r(dir uintptr, entry *Dirent, result **Dirent) (res Errno) func fdopendir(fd int) (dir uintptr, err error) { r0, _, e1 := syscall_syscallPtr(libc_fdopendir_trampoline_addr, uintptr(fd), 0, 0) dir = uintptr(r0) if e1 != 0 { err = errnoErr(e1) } return } var libc_fdopendir_trampoline_addr uintptr //go:cgo_import_dynamic libc_fdopendir fdopendir "/usr/lib/libSystem.B.dylib" func Getdirentries(fd int, buf []byte, basep *uintptr) (n int, err error) { // Simulate Getdirentries using fdopendir/readdir_r/closedir. // We store the number of entries to skip in the seek // offset of fd. See issue #31368. // It's not the full required semantics, but should handle the case // of calling Getdirentries or ReadDirent repeatedly. // It won't handle assigning the results of lseek to *basep, or handle // the directory being edited underfoot. skip, err := Seek(fd, 0, 1 /* SEEK_CUR */) if err != nil { return 0, err } // We need to duplicate the incoming file descriptor // because the caller expects to retain control of it, but // fdopendir expects to take control of its argument. // Just Dup'ing the file descriptor is not enough, as the // result shares underlying state. Use Openat to make a really // new file descriptor referring to the same directory. fd2, err := Openat(fd, ".", O_RDONLY, 0) if err != nil { return 0, err } d, err := fdopendir(fd2) if err != nil { Close(fd2) return 0, err } defer closedir(d) var cnt int64 for { var entry Dirent var entryp *Dirent e := readdir_r(d, &entry, &entryp) if e != 0 { return n, errnoErr(e) } if entryp == nil { break } if skip > 0 { skip-- cnt++ continue } reclen := int(entry.Reclen) if reclen > len(buf) { // Not enough room. Return for now. // The counter will let us know where we should start up again. // Note: this strategy for suspending in the middle and // restarting is O(n^2) in the length of the directory. Oh well. break } // Copy entry into return buffer. s := unsafe.Slice((*byte)(unsafe.Pointer(&entry)), reclen) copy(buf, s) buf = buf[reclen:] n += reclen cnt++ } // Set the seek offset of the input fd to record // how many files we've already returned. _, err = Seek(fd, cnt, 0 /* SEEK_SET */) if err != nil { return n, err } return n, nil } // SockaddrDatalink implements the Sockaddr interface for AF_LINK type sockets. type SockaddrDatalink struct { Len uint8 Family uint8 Index uint16 Type uint8 Nlen uint8 Alen uint8 Slen uint8 Data [12]int8 raw RawSockaddrDatalink } // SockaddrCtl implements the Sockaddr interface for AF_SYSTEM type sockets. type SockaddrCtl struct { ID uint32 Unit uint32 raw RawSockaddrCtl } func (sa *SockaddrCtl) sockaddr() (unsafe.Pointer, _Socklen, error) { sa.raw.Sc_len = SizeofSockaddrCtl sa.raw.Sc_family = AF_SYSTEM sa.raw.Ss_sysaddr = AF_SYS_CONTROL sa.raw.Sc_id = sa.ID sa.raw.Sc_unit = sa.Unit return unsafe.Pointer(&sa.raw), SizeofSockaddrCtl, nil } // SockaddrVM implements the Sockaddr interface for AF_VSOCK type sockets. // SockaddrVM provides access to Darwin 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_LOCAL: refers to local communication (loopback). // - 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.Len = SizeofSockaddrVM sa.raw.Family = AF_VSOCK sa.raw.Port = sa.Port sa.raw.Cid = sa.CID return unsafe.Pointer(&sa.raw), SizeofSockaddrVM, nil } func anyToSockaddrGOOS(fd int, rsa *RawSockaddrAny) (Sockaddr, error) { switch rsa.Addr.Family { case AF_SYSTEM: pp := (*RawSockaddrCtl)(unsafe.Pointer(rsa)) if pp.Ss_sysaddr == AF_SYS_CONTROL { sa := new(SockaddrCtl) sa.ID = pp.Sc_id sa.Unit = pp.Sc_unit 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 } // Some external packages rely on SYS___SYSCTL being defined to implement their // own sysctl wrappers. Provide it here, even though direct syscalls are no // longer supported on darwin. const SYS___SYSCTL = SYS_SYSCTL // 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)) } 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) } func PtraceDenyAttach() (err error) { return ptrace(PT_DENY_ATTACH, 0, 0, 0) } //sysnb pipe(p *[2]int32) (err error) func Pipe(p []int) (err error) { if len(p) != 2 { return EINVAL } var x [2]int32 err = pipe(&x) if err == nil { p[0] = int(x[0]) p[1] = int(x[1]) } 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)) } return getfsstat(_p0, bufsize, flags) } func xattrPointer(dest []byte) *byte { // It's only when dest is set to NULL that the OS X implementations of // getxattr() and listxattr() return the current sizes of the named attributes. // An empty byte array is not sufficient. To maintain the same behaviour as the // linux implementation, we wrap around the system calls and pass in NULL when // dest is empty. var destp *byte if len(dest) > 0 { destp = &dest[0] } return destp } //sys getxattr(path string, attr string, dest *byte, size int, position uint32, options int) (sz int, err error) func Getxattr(path string, attr string, dest []byte) (sz int, err error) { return getxattr(path, attr, xattrPointer(dest), len(dest), 0, 0) } func Lgetxattr(link string, attr string, dest []byte) (sz int, err error) { return getxattr(link, attr, xattrPointer(dest), len(dest), 0, XATTR_NOFOLLOW) } //sys fgetxattr(fd int, attr string, dest *byte, size int, position uint32, options int) (sz int, err error) func Fgetxattr(fd int, attr string, dest []byte) (sz int, err error) { return fgetxattr(fd, attr, xattrPointer(dest), len(dest), 0, 0) } //sys setxattr(path string, attr string, data *byte, size int, position uint32, options int) (err error) func Setxattr(path string, attr string, data []byte, flags int) (err error) { // The parameters for the OS X implementation vary slightly compared to the // linux system call, specifically the position parameter: // // linux: // int setxattr( // const char *path, // const char *name, // const void *value, // size_t size, // int flags // ); // // darwin: // int setxattr( // const char *path, // const char *name, // void *value, // size_t size, // u_int32_t position, // int options // ); // // position specifies the offset within the extended attribute. In the // current implementation, only the resource fork extended attribute makes // use of this argument. For all others, position is reserved. We simply // default to setting it to zero. return setxattr(path, attr, xattrPointer(data), len(data), 0, flags) } func Lsetxattr(link string, attr string, data []byte, flags int) (err error) { return setxattr(link, attr, xattrPointer(data), len(data), 0, flags|XATTR_NOFOLLOW) } //sys fsetxattr(fd int, attr string, data *byte, size int, position uint32, options int) (err error) func Fsetxattr(fd int, attr string, data []byte, flags int) (err error) { return fsetxattr(fd, attr, xattrPointer(data), len(data), 0, 0) } //sys removexattr(path string, attr string, options int) (err error) func Removexattr(path string, attr string) (err error) { // We wrap around and explicitly zero out the options provided to the OS X // implementation of removexattr, we do so for interoperability with the // linux variant. return removexattr(path, attr, 0) } func Lremovexattr(link string, attr string) (err error) { return removexattr(link, attr, XATTR_NOFOLLOW) } //sys fremovexattr(fd int, attr string, options int) (err error) func Fremovexattr(fd int, attr string) (err error) { return fremovexattr(fd, attr, 0) } //sys listxattr(path string, dest *byte, size int, options int) (sz int, err error) func Listxattr(path string, dest []byte) (sz int, err error) { return listxattr(path, xattrPointer(dest), len(dest), 0) } func Llistxattr(link string, dest []byte) (sz int, err error) { return listxattr(link, xattrPointer(dest), len(dest), XATTR_NOFOLLOW) } //sys flistxattr(fd int, dest *byte, size int, options int) (sz int, err error) func Flistxattr(fd int, dest []byte) (sz int, err error) { return flistxattr(fd, xattrPointer(dest), len(dest), 0) } //sys utimensat(dirfd int, path string, times *[2]Timespec, flags int) (err error) /* * Wrapped */ //sys fcntl(fd int, cmd int, arg int) (val int, err error) //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) } //sys ioctl(fd int, req uint, arg uintptr) (err error) //sys ioctlPtr(fd int, req uint, arg unsafe.Pointer) (err error) = SYS_IOCTL func IoctlCtlInfo(fd int, ctlInfo *CtlInfo) error { return ioctlPtr(fd, CTLIOCGINFO, unsafe.Pointer(ctlInfo)) } // IfreqMTU is struct ifreq used to get or set a network device's MTU. type IfreqMTU struct { Name [IFNAMSIZ]byte MTU int32 } // IoctlGetIfreqMTU performs the SIOCGIFMTU ioctl operation on fd to get the MTU // of the network device specified by ifname. func IoctlGetIfreqMTU(fd int, ifname string) (*IfreqMTU, error) { var ifreq IfreqMTU copy(ifreq.Name[:], ifname) err := ioctlPtr(fd, SIOCGIFMTU, unsafe.Pointer(&ifreq)) return &ifreq, err } // IoctlSetIfreqMTU performs the SIOCSIFMTU ioctl operation on fd to set the MTU // of the network device specified by ifreq.Name. func IoctlSetIfreqMTU(fd int, ifreq *IfreqMTU) error { return ioctlPtr(fd, SIOCSIFMTU, unsafe.Pointer(ifreq)) } //sys renamexNp(from string, to string, flag uint32) (err error) func RenamexNp(from string, to string, flag uint32) (err error) { return renamexNp(from, to, flag) } //sys renameatxNp(fromfd int, from string, tofd int, to string, flag uint32) (err error) func RenameatxNp(fromfd int, from string, tofd int, to string, flag uint32) (err error) { return renameatxNp(fromfd, from, tofd, to, flag) } //sys sysctl(mib []_C_int, old *byte, oldlen *uintptr, new *byte, newlen uintptr) (err error) = SYS_SYSCTL func Uname(uname *Utsname) error { mib := []_C_int{CTL_KERN, KERN_OSTYPE} n := unsafe.Sizeof(uname.Sysname) if err := sysctl(mib, &uname.Sysname[0], &n, nil, 0); err != nil { return err } mib = []_C_int{CTL_KERN, KERN_HOSTNAME} n = unsafe.Sizeof(uname.Nodename) if err := sysctl(mib, &uname.Nodename[0], &n, nil, 0); err != nil { return err } mib = []_C_int{CTL_KERN, KERN_OSRELEASE} n = unsafe.Sizeof(uname.Release) if err := sysctl(mib, &uname.Release[0], &n, nil, 0); err != nil { return err } mib = []_C_int{CTL_KERN, KERN_VERSION} n = unsafe.Sizeof(uname.Version) if err := sysctl(mib, &uname.Version[0], &n, nil, 0); err != nil { return err } // The version might have newlines or tabs in it, convert them to // spaces. for i, b := range uname.Version { if b == '\n' || b == '\t' { if i == len(uname.Version)-1 { uname.Version[i] = 0 } else { uname.Version[i] = ' ' } } } mib = []_C_int{CTL_HW, HW_MACHINE} n = unsafe.Sizeof(uname.Machine) if err := sysctl(mib, &uname.Machine[0], &n, nil, 0); err != nil { return err } return nil } func Sendfile(outfd int, infd int, offset *int64, count int) (written int, err error) { if raceenabled { raceReleaseMerge(unsafe.Pointer(&ioSync)) } var length = int64(count) err = sendfile(infd, outfd, *offset, &length, nil, 0) written = int(length) 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)) } // GetsockoptXucred is a getsockopt wrapper that returns an Xucred struct. // The usual level and opt are SOL_LOCAL and LOCAL_PEERCRED, respectively. func GetsockoptXucred(fd, level, opt int) (*Xucred, error) { x := new(Xucred) vallen := _Socklen(SizeofXucred) err := getsockopt(fd, level, opt, unsafe.Pointer(x), &vallen) return x, err } func GetsockoptTCPConnectionInfo(fd, level, opt int) (*TCPConnectionInfo, error) { var value TCPConnectionInfo vallen := _Socklen(SizeofTCPConnectionInfo) err := getsockopt(fd, level, opt, unsafe.Pointer(&value), &vallen) return &value, err } func SysctlKinfoProc(name string, args ...int) (*KinfoProc, error) { mib, err := sysctlmib(name, args...) if err != nil { return nil, err } var kinfo KinfoProc n := uintptr(SizeofKinfoProc) if err := sysctl(mib, (*byte)(unsafe.Pointer(&kinfo)), &n, nil, 0); err != nil { return nil, err } if n != SizeofKinfoProc { return nil, EIO } return &kinfo, nil } func SysctlKinfoProcSlice(name string, args ...int) ([]KinfoProc, error) { mib, err := sysctlmib(name, args...) if err != nil { return nil, err } for { // Find size. n := uintptr(0) if err := sysctl(mib, nil, &n, nil, 0); err != nil { return nil, err } if n == 0 { return nil, nil } if n%SizeofKinfoProc != 0 { return nil, fmt.Errorf("sysctl() returned a size of %d, which is not a multiple of %d", n, SizeofKinfoProc) } // Read into buffer of that size. buf := make([]KinfoProc, n/SizeofKinfoProc) if err := sysctl(mib, (*byte)(unsafe.Pointer(&buf[0])), &n, nil, 0); err != nil { if err == ENOMEM { // Process table grew. Try again. continue } return nil, err } if n%SizeofKinfoProc != 0 { return nil, fmt.Errorf("sysctl() returned a size of %d, which is not a multiple of %d", n, SizeofKinfoProc) } // The actual call may return less than the original reported required // size so ensure we deal with that. return buf[:n/SizeofKinfoProc], nil } } //sys pthread_chdir_np(path string) (err error) func PthreadChdir(path string) (err error) { return pthread_chdir_np(path) } //sys pthread_fchdir_np(fd int) (err error) func PthreadFchdir(fd int) (err error) { return pthread_fchdir_np(fd) } // Connectx calls connectx(2) to initiate a connection on a socket. // // srcIf, srcAddr, and dstAddr are filled into a [SaEndpoints] struct and passed as the endpoints argument. // // - srcIf is the optional source interface index. 0 means unspecified. // - srcAddr is the optional source address. nil means unspecified. // - dstAddr is the destination address. // // On success, Connectx returns the number of bytes enqueued for transmission. func Connectx(fd int, srcIf uint32, srcAddr, dstAddr Sockaddr, associd SaeAssocID, flags uint32, iov []Iovec, connid *SaeConnID) (n uintptr, err error) { endpoints := SaEndpoints{ Srcif: srcIf, } if srcAddr != nil { addrp, addrlen, err := srcAddr.sockaddr() if err != nil { return 0, err } endpoints.Srcaddr = (*RawSockaddr)(addrp) endpoints.Srcaddrlen = uint32(addrlen) } if dstAddr != nil { addrp, addrlen, err := dstAddr.sockaddr() if err != nil { return 0, err } endpoints.Dstaddr = (*RawSockaddr)(addrp) endpoints.Dstaddrlen = uint32(addrlen) } err = connectx(fd, &endpoints, associd, flags, iov, &n, connid) return } //sys connectx(fd int, endpoints *SaEndpoints, associd SaeAssocID, flags uint32, iov []Iovec, n *uintptr, connid *SaeConnID) (err error) //sys sendfile(infd int, outfd int, offset int64, len *int64, hdtr unsafe.Pointer, flags int) (err error) //sys shmat(id int, addr uintptr, flag int) (ret uintptr, err error) //sys shmctl(id int, cmd int, buf *SysvShmDesc) (result int, err error) //sys shmdt(addr uintptr) (err error) //sys shmget(key int, size int, flag int) (id int, err error) /* * 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 ClockGettime(clockid int32, time *Timespec) (err error) //sys Close(fd int) (err error) //sys Clonefile(src string, dst string, flags int) (err error) //sys Clonefileat(srcDirfd int, src string, dstDirfd int, dst string, flags 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 Faccessat(dirfd int, path string, mode uint32, flags int) (err error) //sys Fchdir(fd int) (err error) //sys Fchflags(fd int, flags 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 Fclonefileat(srcDirfd int, dstDirfd int, dst string, flags int) (err error) //sys Flock(fd int, how int) (err error) //sys Fpathconf(fd int, name int) (val int, err error) //sys Fsync(fd int) (err error) //sys Ftruncate(fd int, length int64) (err error) //sys Getcwd(buf []byte) (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(tp *Timeval) (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 Linkat(pathfd int, path string, linkfd int, link string, flags int) (err error) //sys Listen(s int, backlog 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 Mknod(path string, mode uint32, dev int) (err error) //sys Mount(fsType string, dir string, flags int, data unsafe.Pointer) (err error) //sys Open(path string, mode int, perm uint32) (fd int, err error) //sys Openat(dirfd int, 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 Readlinkat(dirfd int, path string, buf []byte) (n int, err error) //sys Rename(from string, to string) (err error) //sys Renameat(fromfd int, from string, tofd int, 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(nfd int, r *FdSet, w *FdSet, e *FdSet, timeout *Timeval) (n int, err error) //sys Setattrlist(path string, attrlist *Attrlist, attrBuf []byte, options int) (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 Setsid() (pid int, err error) //sysnb Settimeofday(tp *Timeval) (err error) //sysnb Setuid(uid int) (err error) //sys Symlink(path string, link string) (err error) //sys Symlinkat(oldpath string, newdirfd int, newpath 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 Unlinkat(dirfd int, path string, flags int) (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) dependencies/pkg/mod/golang.org/x/sys@v0.26.0/unix/ztypes_linux_386.go0000644000000000000000000003041115107355264024314 0ustar rootroot// cgo -godefs -objdir=/tmp/386/cgo -- -Wall -Werror -static -I/tmp/386/include -m32 linux/types.go | go run mkpost.go // Code generated by the command above; see README.md. DO NOT EDIT. //go:build 386 && linux package unix const ( SizeofPtr = 0x4 SizeofLong = 0x4 ) type ( _C_long int32 ) 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 _ [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 Stat_t struct { Dev uint64 _ uint16 _ uint32 Mode uint32 Nlink uint32 Uid uint32 Gid uint32 Rdev uint64 _ uint16 Size int64 Blksize int32 Blocks int64 Atim Timespec Mtim Timespec Ctim Timespec Ino uint64 } type Dirent struct { Ino uint64 Off int64 Reclen uint16 Type uint8 Name [256]int8 _ [1]byte } type Flock_t struct { Type int16 Whence int16 Start int64 Len int64 Pid int32 } type DmNameList struct { Dev uint64 Next uint32 } const ( FADV_DONTNEED = 0x4 FADV_NOREUSE = 0x5 ) type RawSockaddrNFCLLCP struct { Sa_family uint16 Dev_idx uint32 Target_idx uint32 Nfc_protocol uint32 Dsap uint8 Ssap uint8 Service_name [63]uint8 Service_name_len uint32 } type RawSockaddr struct { Family uint16 Data [14]int8 } type RawSockaddrAny struct { Addr RawSockaddr Pad [96]int8 } type Iovec struct { Base *byte Len 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 ifreq struct { Ifrn [16]byte Ifru [16]byte } const ( SizeofSockaddrNFCLLCP = 0x58 SizeofIovec = 0x8 SizeofMsghdr = 0x1c SizeofCmsghdr = 0xc ) const ( SizeofSockFprog = 0x8 ) 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 _ [8]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 ( OPEN_TREE_CLOEXEC = 0x80000 ) const ( POLLRDHUP = 0x2000 ) type Sigset_t struct { Val [32]uint32 } const _C__NSIG = 0x41 const ( SIG_BLOCK = 0x0 SIG_UNBLOCK = 0x1 SIG_SETMASK = 0x2 ) type Siginfo struct { Signo int32 Errno int32 Code int32 _ [116]byte } type Termios struct { Iflag uint32 Oflag uint32 Cflag uint32 Lflag uint32 Line uint8 Cc [19]uint8 Ispeed uint32 Ospeed uint32 } type Taskstats struct { Version uint16 Ac_exitcode uint32 Ac_flag uint8 Ac_nice uint8 _ [4]byte Cpu_count uint64 Cpu_delay_total uint64 Blkio_count uint64 Blkio_delay_total uint64 Swapin_count uint64 Swapin_delay_total uint64 Cpu_run_real_total uint64 Cpu_run_virtual_total uint64 Ac_comm [32]int8 Ac_sched uint8 Ac_pad [3]uint8 _ [4]byte Ac_uid uint32 Ac_gid uint32 Ac_pid uint32 Ac_ppid uint32 Ac_btime uint32 _ [4]byte Ac_etime uint64 Ac_utime uint64 Ac_stime uint64 Ac_minflt uint64 Ac_majflt uint64 Coremem uint64 Virtmem uint64 Hiwater_rss uint64 Hiwater_vm uint64 Read_char uint64 Write_char uint64 Read_syscalls uint64 Write_syscalls uint64 Read_bytes uint64 Write_bytes uint64 Cancelled_write_bytes uint64 Nvcsw uint64 Nivcsw uint64 Ac_utimescaled uint64 Ac_stimescaled uint64 Cpu_scaled_run_real_total uint64 Freepages_count uint64 Freepages_delay_total uint64 Thrashing_count uint64 Thrashing_delay_total uint64 Ac_btime64 uint64 Compact_count uint64 Compact_delay_total uint64 Ac_tgid uint32 _ [4]byte Ac_tgetime uint64 Ac_exe_dev uint64 Ac_exe_inode uint64 Wpcopy_count uint64 Wpcopy_delay_total uint64 Irq_count uint64 Irq_delay_total uint64 } type cpuMask uint32 const ( _NCPUBITS = 0x20 ) const ( CBitFieldMaskBit0 = 0x1 CBitFieldMaskBit1 = 0x2 CBitFieldMaskBit2 = 0x4 CBitFieldMaskBit3 = 0x8 CBitFieldMaskBit4 = 0x10 CBitFieldMaskBit5 = 0x20 CBitFieldMaskBit6 = 0x40 CBitFieldMaskBit7 = 0x80 CBitFieldMaskBit8 = 0x100 CBitFieldMaskBit9 = 0x200 CBitFieldMaskBit10 = 0x400 CBitFieldMaskBit11 = 0x800 CBitFieldMaskBit12 = 0x1000 CBitFieldMaskBit13 = 0x2000 CBitFieldMaskBit14 = 0x4000 CBitFieldMaskBit15 = 0x8000 CBitFieldMaskBit16 = 0x10000 CBitFieldMaskBit17 = 0x20000 CBitFieldMaskBit18 = 0x40000 CBitFieldMaskBit19 = 0x80000 CBitFieldMaskBit20 = 0x100000 CBitFieldMaskBit21 = 0x200000 CBitFieldMaskBit22 = 0x400000 CBitFieldMaskBit23 = 0x800000 CBitFieldMaskBit24 = 0x1000000 CBitFieldMaskBit25 = 0x2000000 CBitFieldMaskBit26 = 0x4000000 CBitFieldMaskBit27 = 0x8000000 CBitFieldMaskBit28 = 0x10000000 CBitFieldMaskBit29 = 0x20000000 CBitFieldMaskBit30 = 0x40000000 CBitFieldMaskBit31 = 0x80000000 CBitFieldMaskBit32 = 0x100000000 CBitFieldMaskBit33 = 0x200000000 CBitFieldMaskBit34 = 0x400000000 CBitFieldMaskBit35 = 0x800000000 CBitFieldMaskBit36 = 0x1000000000 CBitFieldMaskBit37 = 0x2000000000 CBitFieldMaskBit38 = 0x4000000000 CBitFieldMaskBit39 = 0x8000000000 CBitFieldMaskBit40 = 0x10000000000 CBitFieldMaskBit41 = 0x20000000000 CBitFieldMaskBit42 = 0x40000000000 CBitFieldMaskBit43 = 0x80000000000 CBitFieldMaskBit44 = 0x100000000000 CBitFieldMaskBit45 = 0x200000000000 CBitFieldMaskBit46 = 0x400000000000 CBitFieldMaskBit47 = 0x800000000000 CBitFieldMaskBit48 = 0x1000000000000 CBitFieldMaskBit49 = 0x2000000000000 CBitFieldMaskBit50 = 0x4000000000000 CBitFieldMaskBit51 = 0x8000000000000 CBitFieldMaskBit52 = 0x10000000000000 CBitFieldMaskBit53 = 0x20000000000000 CBitFieldMaskBit54 = 0x40000000000000 CBitFieldMaskBit55 = 0x80000000000000 CBitFieldMaskBit56 = 0x100000000000000 CBitFieldMaskBit57 = 0x200000000000000 CBitFieldMaskBit58 = 0x400000000000000 CBitFieldMaskBit59 = 0x800000000000000 CBitFieldMaskBit60 = 0x1000000000000000 CBitFieldMaskBit61 = 0x2000000000000000 CBitFieldMaskBit62 = 0x4000000000000000 CBitFieldMaskBit63 = 0x8000000000000000 ) type SockaddrStorage struct { Family uint16 Data [122]byte _ uint32 } type HDGeometry struct { Heads uint8 Sectors uint8 Cylinders uint16 Start uint32 } 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 TpacketHdr struct { Status uint32 Len uint32 Snaplen uint32 Mac uint16 Net uint16 Sec uint32 Usec uint32 } const ( SizeofTpacketHdr = 0x18 ) type RTCPLLInfo struct { Ctrl int32 Value int32 Max int32 Min int32 Posmult int32 Negmult int32 Clock int32 } type BlkpgPartition struct { Start int64 Length int64 Pno int32 Devname [64]uint8 Volname [64]uint8 } const ( BLKPG = 0x1269 ) type CryptoUserAlg struct { Name [64]int8 Driver_name [64]int8 Module_name [64]int8 Type uint32 Mask uint32 Refcnt uint32 Flags uint32 } type CryptoStatAEAD struct { Type [64]int8 Encrypt_cnt uint64 Encrypt_tlen uint64 Decrypt_cnt uint64 Decrypt_tlen uint64 Err_cnt uint64 } type CryptoStatAKCipher struct { Type [64]int8 Encrypt_cnt uint64 Encrypt_tlen uint64 Decrypt_cnt uint64 Decrypt_tlen uint64 Verify_cnt uint64 Sign_cnt uint64 Err_cnt uint64 } type CryptoStatCipher struct { Type [64]int8 Encrypt_cnt uint64 Encrypt_tlen uint64 Decrypt_cnt uint64 Decrypt_tlen uint64 Err_cnt uint64 } type CryptoStatCompress struct { Type [64]int8 Compress_cnt uint64 Compress_tlen uint64 Decompress_cnt uint64 Decompress_tlen uint64 Err_cnt uint64 } type CryptoStatHash struct { Type [64]int8 Hash_cnt uint64 Hash_tlen uint64 Err_cnt uint64 } type CryptoStatKPP struct { Type [64]int8 Setsecret_cnt uint64 Generate_public_key_cnt uint64 Compute_shared_secret_cnt uint64 Err_cnt uint64 } type CryptoStatRNG struct { Type [64]int8 Generate_cnt uint64 Generate_tlen uint64 Seed_cnt uint64 Err_cnt uint64 } type CryptoStatLarval struct { Type [64]int8 } type CryptoReportLarval struct { Type [64]int8 } type CryptoReportHash struct { Type [64]int8 Blocksize uint32 Digestsize uint32 } type CryptoReportCipher struct { Type [64]int8 Blocksize uint32 Min_keysize uint32 Max_keysize uint32 } type CryptoReportBlkCipher struct { Type [64]int8 Geniv [64]int8 Blocksize uint32 Min_keysize uint32 Max_keysize uint32 Ivsize uint32 } type CryptoReportAEAD struct { Type [64]int8 Geniv [64]int8 Blocksize uint32 Maxauthsize uint32 Ivsize uint32 } type CryptoReportComp struct { Type [64]int8 } type CryptoReportRNG struct { Type [64]int8 Seedsize uint32 } type CryptoReportAKCipher struct { Type [64]int8 } type CryptoReportKPP struct { Type [64]int8 } type CryptoReportAcomp struct { Type [64]int8 } type LoopInfo struct { Number int32 Device uint16 Inode uint32 Rdevice uint16 Offset int32 Encrypt_type int32 Encrypt_key_size int32 Flags int32 Name [64]int8 Encrypt_key [32]uint8 Init [2]uint32 Reserved [4]int8 } type TIPCSubscr struct { Seq TIPCServiceRange Timeout uint32 Filter uint32 Handle [8]int8 } type TIPCSIOCLNReq struct { Peer uint32 Id uint32 Linkname [68]int8 } type TIPCSIOCNodeIDReq struct { Peer uint32 Id [16]int8 } type PPSKInfo struct { Assert_sequence uint32 Clear_sequence uint32 Assert_tu PPSKTime Clear_tu PPSKTime Current_mode int32 } const ( PPS_GETPARAMS = 0x800470a1 PPS_SETPARAMS = 0x400470a2 PPS_GETCAP = 0x800470a3 PPS_FETCH = 0xc00470a4 ) const ( PIDFD_NONBLOCK = 0x800 ) type SysvIpcPerm struct { Key int32 Uid uint32 Gid uint32 Cuid uint32 Cgid uint32 Mode uint16 _ [2]uint8 Seq uint16 _ uint16 _ uint32 _ uint32 } type SysvShmDesc struct { Perm SysvIpcPerm Segsz uint32 Atime uint32 Atime_high uint32 Dtime uint32 Dtime_high uint32 Ctime uint32 Ctime_high uint32 Cpid int32 Lpid int32 Nattch uint32 _ uint32 _ uint32 } dependencies/pkg/mod/golang.org/x/sys@v0.26.0/unix/sysvshm_linux.go0000644000000000000000000000101115107355264024064 0ustar rootroot// Copyright 2021 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:build linux package unix import "runtime" // SysvShmCtl performs control operations on the shared memory segment // specified by id. func SysvShmCtl(id, cmd int, desc *SysvShmDesc) (result int, err error) { if runtime.GOARCH == "arm" || runtime.GOARCH == "mips64" || runtime.GOARCH == "mips64le" { cmd |= ipc_64 } return shmctl(id, cmd, desc) } dependencies/pkg/mod/golang.org/x/sys@v0.26.0/unix/asm_bsd_riscv64.s0000644000000000000000000000130715107355264023766 0ustar rootroot// Copyright 2021 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:build (darwin || freebsd || netbsd || openbsd) && gc #include "textflag.h" // System call support for RISCV64 BSD // 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) dependencies/pkg/mod/golang.org/x/sys@v0.26.0/unix/zsysctl_openbsd_arm64.go0000644000000000000000000002767415107355264025416 0ustar rootroot// go run mksysctl_openbsd.go // Code generated by the command above; DO NOT EDIT. //go:build arm64 && openbsd 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.profile", []_C_int{9, 9}}, {"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.ncpuonline", []_C_int{6, 25}}, {"hw.pagesize", []_C_int{6, 7}}, {"hw.perfpolicy", []_C_int{6, 23}}, {"hw.physmem", []_C_int{6, 19}}, {"hw.power", []_C_int{6, 26}}, {"hw.product", []_C_int{6, 15}}, {"hw.serialno", []_C_int{6, 17}}, {"hw.setperf", []_C_int{6, 13}}, {"hw.smt", []_C_int{6, 24}}, {"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.allowdt", []_C_int{1, 65}}, {"kern.allowkmem", []_C_int{1, 52}}, {"kern.argmax", []_C_int{1, 8}}, {"kern.audio", []_C_int{1, 84}}, {"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.consbuf", []_C_int{1, 83}}, {"kern.consbufsize", []_C_int{1, 82}}, {"kern.consdev", []_C_int{1, 75}}, {"kern.cp_time", []_C_int{1, 40}}, {"kern.cp_time2", []_C_int{1, 71}}, {"kern.cpustats", []_C_int{1, 85}}, {"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.global_ptrace", []_C_int{1, 81}}, {"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.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.pfstatus", []_C_int{1, 86}}, {"kern.pool_debug", []_C_int{1, 77}}, {"kern.posix1version", []_C_int{1, 17}}, {"kern.proc", []_C_int{1, 66}}, {"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.timeout_stats", []_C_int{1, 87}}, {"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.utc_offset", []_C_int{1, 88}}, {"kern.version", []_C_int{1, 4}}, {"kern.video", []_C_int{1, 89}}, {"kern.watchdog.auto", []_C_int{1, 64, 2}}, {"kern.watchdog.period", []_C_int{1, 64, 1}}, {"kern.witnesswatch", []_C_int{1, 53}}, {"kern.wxabort", []_C_int{1, 74}}, {"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.arpdown", []_C_int{4, 2, 0, 40}}, {"net.inet.ip.arpqueued", []_C_int{4, 2, 0, 36}}, {"net.inet.ip.arptimeout", []_C_int{4, 2, 0, 39}}, {"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.mrtmfc", []_C_int{4, 2, 0, 37}}, {"net.inet.ip.mrtproto", []_C_int{4, 2, 0, 34}}, {"net.inet.ip.mrtstats", []_C_int{4, 2, 0, 35}}, {"net.inet.ip.mrtvif", []_C_int{4, 2, 0, 38}}, {"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.pfsync.stats", []_C_int{4, 2, 240, 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.rootonly", []_C_int{4, 2, 6, 24}}, {"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.tcp.synhashsize", []_C_int{4, 2, 6, 25}}, {"net.inet.tcp.synuselimit", []_C_int{4, 2, 6, 23}}, {"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.rootonly", []_C_int{4, 2, 17, 6}}, {"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_umaxtries", []_C_int{4, 24, 30, 9}}, {"net.inet6.icmp6.redirtimeout", []_C_int{4, 24, 30, 3}}, {"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.mforwarding", []_C_int{4, 24, 17, 42}}, {"net.inet6.ip6.mrtmfc", []_C_int{4, 24, 17, 53}}, {"net.inet6.ip6.mrtmif", []_C_int{4, 24, 17, 52}}, {"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.soiikey", []_C_int{4, 24, 17, 54}}, {"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.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.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.malloc_conf", []_C_int{2, 12}}, {"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}}, } dependencies/pkg/mod/golang.org/x/sys@v0.26.0/unix/mksyscall_zos_s390x.go0000644000000000000000000003172715107355264025015 0ustar rootroot// Copyright 2024 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:build ignore /* This program must be on the most current zos release. This program generates with data from //\'CEE.SCEELIB\(CELQS003\)\' syscall_zos_s390x.go to output files: zsyscall_zos_s390x.go (generated syscall) zsymaddr_zos_s390x.s (access to the function variable for functions that may not exist) zsysnum_zos_s390x.go (offset from libvec) synopsis: go run ./mksyscall_zos_s390x.go or (with default flags) go run mksyscall_zos_s390x.go -o_sysnum zsysnum_zos_s390x.go -o_syscall zsyscall_zos_s390x.go -i_syscall syscall_zos_s390x.go -o_asm zsymaddr_zos_s390x.s or if processed on a different platform go run ./mksyscall_zos_s390x.go -i_testfile CELQS003.txt where CELQS003.txt is a text file copy of //\'CEE.SCEELIB\(CELQS003\)\' */ package main import ( "bufio" "flag" "fmt" "io" "log" "os" "os/exec" "path" "regexp" "runtime" "sort" "strconv" "strings" ) var ( sysnumfile = flag.String("o_sysnum", "zsysnum_zos_s390x.go", "zos LE offsets output file in Go") outputgo = flag.String("o_syscall", "zsyscall_zos_s390x.go", "zos generated syscall output file in Go") inputgo = flag.String("i_syscall", "syscall_zos_s390x.go", "zos input file that contain //sys statements") outasm = flag.String("o_asm", "zsymaddr_zos_s390x.s", "zos output file for function variable addresses") testfile = flag.String("i_testfile", "", "file for local validation") ) var copyr = `// %s // Code generated by the command above; see README.md. DO NOT EDIT. //go:build zos && s390x ` var AsmTemplate = ` // THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT TEXT ·get_%sAddr(SB), NOSPLIT|NOFRAME, $0-8 MOVD $·%s(SB), R8 MOVD R8, ret+0(FP) RET ` // cmdLine returns this programs's commandline arguments func cmdLine() string { _, fileName, _, _ := runtime.Caller(1) return "go run " + path.Base(fileName) + " -o_sysnum " + *sysnumfile + " -o_syscall " + *outputgo + " -i_syscall " + *inputgo + " -o_asm " + *outasm } func out(ch chan string, file io.ReadCloser) { defer file.Close() defer close(ch) rd := bufio.NewReader(file) loop: for { str, err := rd.ReadString('\n') if err != nil { if err != io.EOF { log.Fatal("Read Error:", err) } break loop } else { ch <- str } } } type SO struct { Symbol string Offset int64 } type SOList []SO func (s SOList) Len() int { return len(s) } func (s SOList) Swap(i, j int) { s[i], s[j] = s[j], s[i] } func (s SOList) Less(i, j int) bool { if s[i].Offset == s[j].Offset { return s[i].Symbol < s[j].Symbol } return s[i].Offset < s[j].Offset } // Param is function parameter type Param struct { Name string Type string } // parseParamList parses parameter list and returns a slice of parameters func parseParamList(list string) []string { list = strings.TrimSpace(list) if list == "" { return []string{} } return regexp.MustCompile(`\s*,\s*`).Split(list, -1) } // parseParam splits a parameter into name and type func parseParam(p string) Param { ps := regexp.MustCompile(`^(\S*) (\S*)$`).FindStringSubmatch(p) if ps == nil { fmt.Fprintf(os.Stderr, "malformed parameter: %s\n", p) os.Exit(1) } return Param{ps[1], ps[2]} } func main() { flag.Parse() sidedeck := "//'CEE.SCEELIB(CELQS003)'" if *testfile != "" { sidedeck = *testfile } args := []string{"-u", sidedeck} cmd := exec.Command("/bin/cat", args...) stdout, err := cmd.StdoutPipe() if err != nil { println("err stdout ") log.Fatal(err) } c1 := make(chan string) go out(c1, stdout) err2 := cmd.Start() if err2 != nil { log.Fatal(err2) } longest := 0 outstanding := 1 // IMPORT DATA64,CELQV003,'environ',001 r1 := regexp.MustCompile("^ +IMPORT +CODE64,CELQV003,'([A-Za-z_][A-Za-z0-9_]*)',([0-9A-F][0-9A-F][0-9A-F]) *\n$") m := make(map[string]int64) for outstanding > 0 { select { case msg1, ok := <-c1: if ok { result := r1.FindStringSubmatch(msg1) if result != nil { if len(result) > 2 { symbol := "SYS_" + strings.ToUpper(result[1]) offset, e1 := strconv.ParseInt(result[2], 16, 64) if e1 == nil { if len(symbol) > longest { longest = len(symbol) } m[symbol] = offset } else { fmt.Printf("ERROR %s\n", msg1) } } } } else { c1 = nil outstanding-- } } } list := make(SOList, len(m)) i := 0 for k, v := range m { list[i] = SO{k, v} i++ } sort.Sort(list) fmt.Printf("Writing %s\n", *sysnumfile) err = writesysnum(*sysnumfile, &list) if err != nil { fmt.Fprintf(os.Stderr, "Error writesysnum %s %v\n", *sysnumfile, err) os.Exit(1) } err = gofmt(*sysnumfile) if err != nil { fmt.Fprintf(os.Stderr, "Error gofmt %s %v\n", *sysnumfile, err) os.Exit(1) } fmt.Printf("Reading %s\n", *inputgo) f, err := os.Open(*inputgo) if err != nil { fmt.Fprintf(os.Stderr, err.Error()) os.Exit(1) } // open and setup the asm output file fmt.Printf("Writing %s\n", *outasm) fasm, asmerr := os.Create(*outasm) if asmerr != nil { fmt.Fprintf(os.Stderr, "Error open %s %s\n", *outasm, asmerr.Error()) os.Exit(1) } asm := bufio.NewWriter(fasm) fmt.Fprintf(asm, copyr, cmdLine()) fmt.Fprintf(asm, `#include "textflag.h" // provide the address of function variable to be fixed up. `) // open and setup the Go output file fmt.Printf("Writing %s\n", *outputgo) fgo, goerr := os.Create(*outputgo) if goerr != nil { fmt.Fprintf(os.Stderr, "Error open %s %s\n", *outputgo, goerr.Error()) os.Exit(1) } go1 := bufio.NewWriter(fgo) fmt.Fprintf(go1, copyr, cmdLine()) fmt.Fprintf(go1, ` package unix import ( "syscall" "unsafe" "runtime" ) var _ syscall.Errno `) s := bufio.NewScanner(f) scanErr := processStream(s, asm, go1, &m) asm.Flush() fasm.Close() go1.Flush() fgo.Close() err = gofmt(*outputgo) if err != nil { fmt.Fprintf(os.Stderr, "Error gofmt %s %v\n", *outputgo, err) os.Exit(1) } if scanErr != nil { fmt.Fprintf(os.Stderr, "%s", scanErr.Error()) os.Exit(1) } } func writesysnum(file string, l *SOList) error { f, err := os.Create(file) if err != nil { return err } w := bufio.NewWriter(f) defer f.Close() defer w.Flush() fmt.Fprintf(w, copyr, cmdLine()) fmt.Fprintf(w, `package unix const ( `) for _, item := range *l { fmt.Fprintf(w, " %-40s = 0x%X // %d\n", item.Symbol, item.Offset, item.Offset) } fmt.Fprintf(w, ` )`) return nil } func gofmt(file string) error { cmd := exec.Command("gofmt", "-w", file) _, err := cmd.Output() if err != nil { return err } return nil } func processStream(s *bufio.Scanner, asm, go1 *bufio.Writer, m *map[string]int64) error { for s.Scan() { t := s.Text() t = strings.TrimSpace(t) t = regexp.MustCompile(`\s+`).ReplaceAllString(t, ` `) nonblock := regexp.MustCompile(`^\/\/sysnb `).FindStringSubmatch(t) if regexp.MustCompile(`^\/\/sys `).FindStringSubmatch(t) == nil && nonblock == nil { continue } // 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. f := regexp.MustCompile(`^\/\/sys(nb)? (\w+)\(([^()]*)\)\s*(?:\(([^()]+)\))?\s*(?:=\s*((?i)SYS_[A-Z0-9_]+))?$`).FindStringSubmatch(t) if f == nil { return fmt.Errorf("%s:%s\nmalformed //sys declaration\n", *inputgo, t) } funct, inps, outps, sysname := f[2], f[3], f[4], f[5] if sysname == "" { // if it is empty, it is derived from the function name sysname = "SYS_" + funct sysname = regexp.MustCompile(`([a-z])([A-Z])`).ReplaceAllString(sysname, `${1}_$2`) sysname = strings.ToUpper(sysname) } // Split argument lists on comma. in := parseParamList(inps) out := parseParamList(outps) val, ok := (*m)[sysname] if !ok { return fmt.Errorf("%s:%s\nsysname %s not found on this system\n", *inputgo, s.Text(), sysname) } var newfunc bool if val > 3488 { fmt.Fprintf(asm, AsmTemplate, funct, funct) newfunc = true } else { newfunc = false } // 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. text1 := "// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\n" text2 := "" text3 := "" // Go function header. outDecl := "" if len(out) > 0 { outDecl = fmt.Sprintf(" (%s)", strings.Join(out, ", ")) } if newfunc { text1 += fmt.Sprintf("func impl_%s(%s)%s {\n", funct, strings.Join(in, ", "), outDecl) text2 += fmt.Sprintf("//go:nosplit\nfunc get_%sAddr() *(func(%s) %s)\nvar %s = enter_%s\n", funct, strings.Join(in, ", "), outDecl, funct, funct) text2 += fmt.Sprintf("func enter_%s(%s)%s {\n", funct, strings.Join(in, ", "), outDecl) text2 += fmt.Sprintf("funcref := get_%sAddr()\n", funct) text2 += fmt.Sprintf("\tif funcptrtest(GetZosLibVec()+%s<<4, \"\") == 0 {\n\t\t*funcref = impl_%s\n", sysname, funct) text2 += fmt.Sprintf("\t} else {\n\t\t*funcref = error_%s\n", funct) text2 += fmt.Sprintf("\t}\n") text3 += fmt.Sprintf("func error_%s(%s)%s {\n", funct, strings.Join(in, ", "), outDecl) } else { text1 += fmt.Sprintf("func %s(%s)%s {\n", funct, strings.Join(in, ", "), outDecl) } // Check if err return available errvar := "" for _, param := range out { p := parseParam(param) if p.Type == "error" { errvar = p.Name break } } // Prepare arguments to Syscall. var args []string var fargs []string // for call forwarding n := 0 for _, param := range in { p := parseParam(param) fargs = append(fargs, p.Name) if regexp.MustCompile(`^\*`).FindStringSubmatch(p.Type) != nil { args = append(args, "uintptr(unsafe.Pointer("+p.Name+"))") } else if p.Type == "string" && errvar != "" { text1 += fmt.Sprintf("\tvar _p%d *byte\n", n) text1 += fmt.Sprintf("\t_p%d, %s = BytePtrFromString(%s)\n", n, errvar, p.Name) text1 += fmt.Sprintf("\tif %s != nil {\n\t\treturn\n\t}\n", errvar) args = append(args, fmt.Sprintf("uintptr(unsafe.Pointer(_p%d))", n)) n++ } else if p.Type == "string" { fmt.Fprintf(os.Stderr, *inputgo+":"+funct+" uses string arguments, but has no error return\n") text1 += fmt.Sprintf("\tvar _p%d *byte\n", n) text1 += fmt.Sprintf("\t_p%d, _ = BytePtrFromString(%s)\n", n, p.Name) args = append(args, fmt.Sprintf("uintptr(unsafe.Pointer(_p%d))", n)) n++ } else if regexp.MustCompile(`^\[\](.*)`).FindStringSubmatch(p.Type) != nil { // 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). text1 += fmt.Sprintf("\tvar _p%d unsafe.Pointer\n", n) text1 += fmt.Sprintf("\tif len(%s) > 0 {\n\t\t_p%d = unsafe.Pointer(&%s[0])\n\t}", p.Name, n, p.Name) text1 += fmt.Sprintf(" else {\n\t\t_p%d = unsafe.Pointer(&_zero)\n\t}\n", n) args = append(args, fmt.Sprintf("uintptr(_p%d)", n), fmt.Sprintf("uintptr(len(%s))", p.Name)) n++ } else { args = append(args, fmt.Sprintf("uintptr(%s)", p.Name)) } } // Determine which form to use; pad args with zeros. asmcall := "CallLeFuncWithErr" // Actual call. arglist := strings.Join(args, ", ") call := fmt.Sprintf("%s(GetZosLibVec()+%s<<4, %s)", asmcall, sysname, arglist) // Assign return values. body := "" ret := []string{"_", "_", "_"} doErrno := false for i := 0; i < len(out); i++ { p := parseParam(out[i]) reg := "" if p.Name == "err" { reg = "e1" ret[0] = "r0" ret[1] = "e2" ret[2] = reg doErrno = true } else { reg = fmt.Sprintf("r%d", i) ret[i] = reg } if p.Type == "bool" { reg = fmt.Sprintf("%s != 0", reg) } if reg != "e1" { body += fmt.Sprintf("\t%s = %s(%s)\n", p.Name, p.Type, reg) if newfunc { text3 += fmt.Sprintf("\t%s = -1\n", p.Name) } } } if ret[0] == "_" && ret[1] == "_" && ret[2] == "_" { if nonblock == nil { text1 += fmt.Sprintf("\truntime.EnterSyscall()\n") } text1 += fmt.Sprintf("\t%s\n", call) if nonblock == nil { text1 += fmt.Sprintf("\truntime.ExitSyscall()\n") } text2 += fmt.Sprintf("\t(*funcref)(%s)\n", strings.Join(fargs, ", ")) text2 += "\treturn\n" } else { if nonblock == nil { text1 += fmt.Sprintf("\truntime.EnterSyscall()\n") } text1 += fmt.Sprintf("\t%s, %s, %s := %s\n", ret[0], ret[1], ret[2], call) if nonblock == nil { text1 += fmt.Sprintf("\truntime.ExitSyscall()\n") } text2 += fmt.Sprintf("\treturn (*funcref)(%s)\n", strings.Join(fargs, ", ")) } text1 += body if doErrno { if newfunc { text3 += fmt.Sprintf("\terr = ENOSYS\n") } text1 += "\tif int64(r0) == -1 {\n" text1 += "\t\terr = errnoErr2(e1,e2)\n" text1 += "\t}\n" } if newfunc { text2 += "}\n\n" text3 += "\treturn\n" text3 += "}\n\n" } text1 += "\treturn\n" text1 += "}\n\n" fmt.Fprintf(go1, "%s", text1) if newfunc { fmt.Fprintf(go1, "%s", text2) fmt.Fprintf(go1, "%s", text3) } } if err := s.Err(); err != nil { return err } return nil } dependencies/pkg/mod/golang.org/x/sys@v0.26.0/unix/ztypes_linux.go0000644000000000000000000076752515107355264023743 0ustar rootroot// Code generated by mkmerge; DO NOT EDIT. //go:build linux package unix const ( SizeofShort = 0x2 SizeofInt = 0x4 SizeofLongLong = 0x8 PathMax = 0x1000 ) type ( _C_short int16 _C_int int32 _C_long_long int64 ) type ItimerSpec struct { Interval Timespec Value Timespec } type Itimerval struct { Interval Timeval Value Timeval } const ( ADJ_OFFSET = 0x1 ADJ_FREQUENCY = 0x2 ADJ_MAXERROR = 0x4 ADJ_ESTERROR = 0x8 ADJ_STATUS = 0x10 ADJ_TIMECONST = 0x20 ADJ_TAI = 0x80 ADJ_SETOFFSET = 0x100 ADJ_MICRO = 0x1000 ADJ_NANO = 0x2000 ADJ_TICK = 0x4000 ADJ_OFFSET_SINGLESHOT = 0x8001 ADJ_OFFSET_SS_READ = 0xa001 ) const ( STA_PLL = 0x1 STA_PPSFREQ = 0x2 STA_PPSTIME = 0x4 STA_FLL = 0x8 STA_INS = 0x10 STA_DEL = 0x20 STA_UNSYNC = 0x40 STA_FREQHOLD = 0x80 STA_PPSSIGNAL = 0x100 STA_PPSJITTER = 0x200 STA_PPSWANDER = 0x400 STA_PPSERROR = 0x800 STA_CLOCKERR = 0x1000 STA_NANO = 0x2000 STA_MODE = 0x4000 STA_CLK = 0x8000 ) const ( TIME_OK = 0x0 TIME_INS = 0x1 TIME_DEL = 0x2 TIME_OOP = 0x3 TIME_WAIT = 0x4 TIME_ERROR = 0x5 TIME_BAD = 0x5 ) type Rlimit struct { Cur uint64 Max uint64 } type _Gid_t uint32 type StatxTimestamp struct { Sec int64 Nsec uint32 _ int32 } type Statx_t struct { Mask uint32 Blksize uint32 Attributes uint64 Nlink uint32 Uid uint32 Gid uint32 Mode uint16 _ [1]uint16 Ino uint64 Size uint64 Blocks uint64 Attributes_mask uint64 Atime StatxTimestamp Btime StatxTimestamp Ctime StatxTimestamp Mtime StatxTimestamp Rdev_major uint32 Rdev_minor uint32 Dev_major uint32 Dev_minor uint32 Mnt_id uint64 Dio_mem_align uint32 Dio_offset_align uint32 Subvol uint64 Atomic_write_unit_min uint32 Atomic_write_unit_max uint32 Atomic_write_segments_max uint32 _ [1]uint32 _ [9]uint64 } type Fsid struct { Val [2]int32 } type FileCloneRange struct { Src_fd int64 Src_offset uint64 Src_length uint64 Dest_offset uint64 } type RawFileDedupeRange struct { Src_offset uint64 Src_length uint64 Dest_count uint16 Reserved1 uint16 Reserved2 uint32 } type RawFileDedupeRangeInfo struct { Dest_fd int64 Dest_offset uint64 Bytes_deduped uint64 Status int32 Reserved uint32 } const ( SizeofRawFileDedupeRange = 0x18 SizeofRawFileDedupeRangeInfo = 0x20 FILE_DEDUPE_RANGE_SAME = 0x0 FILE_DEDUPE_RANGE_DIFFERS = 0x1 ) 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 FscryptPolicyV1 struct { Version uint8 Contents_encryption_mode uint8 Filenames_encryption_mode uint8 Flags uint8 Master_key_descriptor [8]uint8 } type FscryptPolicyV2 struct { Version uint8 Contents_encryption_mode uint8 Filenames_encryption_mode uint8 Flags uint8 Log2_data_unit_size uint8 _ [3]uint8 Master_key_identifier [16]uint8 } type FscryptGetPolicyExArg struct { Size uint64 Policy [24]byte } type FscryptKeySpecifier struct { Type uint32 _ uint32 U [32]byte } type FscryptAddKeyArg struct { Key_spec FscryptKeySpecifier Raw_size uint32 Key_id uint32 _ [8]uint32 } type FscryptRemoveKeyArg struct { Key_spec FscryptKeySpecifier Removal_status_flags uint32 _ [5]uint32 } type FscryptGetKeyStatusArg struct { Key_spec FscryptKeySpecifier _ [6]uint32 Status uint32 Status_flags uint32 User_count uint32 _ [13]uint32 } type DmIoctl struct { Version [3]uint32 Data_size uint32 Data_start uint32 Target_count uint32 Open_count int32 Flags uint32 Event_nr uint32 _ uint32 Dev uint64 Name [128]byte Uuid [129]byte Data [7]byte } type DmTargetSpec struct { Sector_start uint64 Length uint64 Status int32 Next uint32 Target_type [16]byte } type DmTargetDeps struct { Count uint32 _ uint32 } type DmTargetVersions struct { Next uint32 Version [3]uint32 } type DmTargetMsg struct { Sector uint64 } const ( SizeofDmIoctl = 0x138 SizeofDmTargetSpec = 0x28 ) type KeyctlDHParams struct { Private int32 Prime int32 Base int32 } const ( FADV_NORMAL = 0x0 FADV_RANDOM = 0x1 FADV_SEQUENTIAL = 0x2 FADV_WILLNEED = 0x3 ) 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 RawSockaddrL2 struct { Family uint16 Psm uint16 Bdaddr [6]uint8 Cid uint16 Bdaddr_type uint8 _ [1]byte } type RawSockaddrRFCOMM struct { Family uint16 Bdaddr [6]uint8 Channel uint8 _ [1]byte } type RawSockaddrCAN struct { Family uint16 Ifindex int32 Addr [16]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 Flags uint8 Zero [3]uint8 } type RawSockaddrXDP struct { Family uint16 Flags uint16 Ifindex uint32 Queue_id uint32 Shared_umem_fd uint32 } type RawSockaddrPPPoX [0x1e]byte type RawSockaddrTIPC struct { Family uint16 Addrtype uint8 Scope int8 Addr [12]byte } type RawSockaddrL2TPIP struct { Family uint16 Unused uint16 Addr [4]byte /* in_addr */ Conn_id uint32 _ [4]uint8 } type RawSockaddrL2TPIP6 struct { Family uint16 Unused uint16 Flowinfo uint32 Addr [16]byte /* in6_addr */ Scope_id uint32 Conn_id uint32 } type RawSockaddrIUCV struct { Family uint16 Port uint16 Addr uint32 Nodeid [8]int8 User_id [8]int8 Name [8]int8 } type RawSockaddrNFC struct { Sa_family uint16 Dev_idx uint32 Target_idx uint32 Nfc_protocol uint32 } type _Socklen uint32 type Linger struct { Onoff int32 Linger int32 } 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 PacketMreq struct { Ifindex int32 Type uint16 Alen uint16 Address [8]uint8 } 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 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 Pacing_rate uint64 Max_pacing_rate uint64 Bytes_acked uint64 Bytes_received uint64 Segs_out uint32 Segs_in uint32 Notsent_bytes uint32 Min_rtt uint32 Data_segs_in uint32 Data_segs_out uint32 Delivery_rate uint64 Busy_time uint64 Rwnd_limited uint64 Sndbuf_limited uint64 Delivered uint32 Delivered_ce uint32 Bytes_sent uint64 Bytes_retrans uint64 Dsack_dups uint32 Reord_seen uint32 Rcv_ooopack uint32 Snd_wnd uint32 Rcv_wnd uint32 Rehash uint32 Total_rto uint16 Total_rto_recoveries uint16 Total_rto_time uint32 } type TCPVegasInfo struct { Enabled uint32 Rttcnt uint32 Rtt uint32 Minrtt uint32 } type TCPDCTCPInfo struct { Enabled uint16 Ce_state uint16 Alpha uint32 Ab_ecn uint32 Ab_tot uint32 } type TCPBBRInfo struct { Bw_lo uint32 Bw_hi uint32 Min_rtt uint32 Pacing_gain uint32 Cwnd_gain uint32 } type CanFilter struct { Id uint32 Mask uint32 } type TCPRepairOpt struct { Code uint32 Val uint32 } const ( SizeofSockaddrInet4 = 0x10 SizeofSockaddrInet6 = 0x1c SizeofSockaddrAny = 0x70 SizeofSockaddrUnix = 0x6e SizeofSockaddrLinklayer = 0x14 SizeofSockaddrNetlink = 0xc SizeofSockaddrHCI = 0x6 SizeofSockaddrL2 = 0xe SizeofSockaddrRFCOMM = 0xa SizeofSockaddrCAN = 0x18 SizeofSockaddrALG = 0x58 SizeofSockaddrVM = 0x10 SizeofSockaddrXDP = 0x10 SizeofSockaddrPPPoX = 0x1e SizeofSockaddrTIPC = 0x10 SizeofSockaddrL2TPIP = 0x10 SizeofSockaddrL2TPIP6 = 0x20 SizeofSockaddrIUCV = 0x20 SizeofSockaddrNFC = 0x10 SizeofLinger = 0x8 SizeofIPMreq = 0x8 SizeofIPMreqn = 0xc SizeofIPv6Mreq = 0x14 SizeofPacketMreq = 0x10 SizeofInet4Pktinfo = 0xc SizeofInet6Pktinfo = 0x14 SizeofIPv6MTUInfo = 0x20 SizeofICMPv6Filter = 0x20 SizeofUcred = 0xc SizeofTCPInfo = 0xf8 SizeofTCPCCInfo = 0x14 SizeofCanFilter = 0x8 SizeofTCPRepairOpt = 0x8 ) const ( NDA_UNSPEC = 0x0 NDA_DST = 0x1 NDA_LLADDR = 0x2 NDA_CACHEINFO = 0x3 NDA_PROBES = 0x4 NDA_VLAN = 0x5 NDA_PORT = 0x6 NDA_VNI = 0x7 NDA_IFINDEX = 0x8 NDA_MASTER = 0x9 NDA_LINK_NETNSID = 0xa NDA_SRC_VNI = 0xb NTF_USE = 0x1 NTF_SELF = 0x2 NTF_MASTER = 0x4 NTF_PROXY = 0x8 NTF_EXT_LEARNED = 0x10 NTF_OFFLOADED = 0x20 NTF_ROUTER = 0x80 NUD_INCOMPLETE = 0x1 NUD_REACHABLE = 0x2 NUD_STALE = 0x4 NUD_DELAY = 0x8 NUD_PROBE = 0x10 NUD_FAILED = 0x20 NUD_NOARP = 0x40 NUD_PERMANENT = 0x80 NUD_NONE = 0x0 IFA_UNSPEC = 0x0 IFA_ADDRESS = 0x1 IFA_LOCAL = 0x2 IFA_LABEL = 0x3 IFA_BROADCAST = 0x4 IFA_ANYCAST = 0x5 IFA_CACHEINFO = 0x6 IFA_MULTICAST = 0x7 IFA_FLAGS = 0x8 IFA_RT_PRIORITY = 0x9 IFA_TARGET_NETNSID = 0xa 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 RTA_MARK = 0x10 RTA_MFC_STATS = 0x11 RTA_VIA = 0x12 RTA_NEWDST = 0x13 RTA_PREF = 0x14 RTA_ENCAP_TYPE = 0x15 RTA_ENCAP = 0x16 RTA_EXPIRES = 0x17 RTA_PAD = 0x18 RTA_UID = 0x19 RTA_TTL_PROPAGATE = 0x1a RTA_IP_PROTO = 0x1b RTA_SPORT = 0x1c RTA_DPORT = 0x1d 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 SizeofNlMsghdr = 0x10 SizeofNlMsgerr = 0x14 SizeofRtGenmsg = 0x1 SizeofNlAttr = 0x4 SizeofRtAttr = 0x4 SizeofIfInfomsg = 0x10 SizeofIfAddrmsg = 0x8 SizeofIfaCacheinfo = 0x10 SizeofRtMsg = 0xc SizeofRtNexthop = 0x8 SizeofNdUseroptmsg = 0x10 SizeofNdMsg = 0xc ) 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 IfaCacheinfo struct { Prefered uint32 Valid uint32 Cstamp uint32 Tstamp 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 } type NdUseroptmsg struct { Family uint8 Pad1 uint8 Opts_len uint16 Ifindex int32 Icmp_type uint8 Icmp_code uint8 Pad2 uint16 Pad3 uint32 } type NdMsg struct { Family uint8 Pad1 uint8 Pad2 uint16 Ifindex int32 State uint16 Flags uint8 Type uint8 } const ( ICMP_FILTER = 0x1 ICMPV6_FILTER = 0x1 ICMPV6_FILTER_BLOCK = 0x1 ICMPV6_FILTER_BLOCKOTHERS = 0x3 ICMPV6_FILTER_PASS = 0x2 ICMPV6_FILTER_PASSONLY = 0x4 ) const ( SizeofSockFilter = 0x8 ) type SockFilter struct { Code uint16 Jt uint8 Jf uint8 K uint32 } type SockFprog struct { Len uint16 Filter *SockFilter } type InotifyEvent struct { Wd int32 Mask uint32 Cookie uint32 Len uint32 } const SizeofInotifyEvent = 0x10 const SI_LOAD_SHIFT = 0x10 type Utsname struct { Sysname [65]byte Nodename [65]byte Release [65]byte Version [65]byte Machine [65]byte Domainname [65]byte } const ( AT_EMPTY_PATH = 0x1000 AT_FDCWD = -0x64 AT_NO_AUTOMOUNT = 0x800 AT_REMOVEDIR = 0x200 AT_STATX_SYNC_AS_STAT = 0x0 AT_STATX_FORCE_SYNC = 0x2000 AT_STATX_DONT_SYNC = 0x4000 AT_RECURSIVE = 0x8000 AT_SYMLINK_FOLLOW = 0x400 AT_SYMLINK_NOFOLLOW = 0x100 AT_EACCESS = 0x200 OPEN_TREE_CLONE = 0x1 MOVE_MOUNT_F_SYMLINKS = 0x1 MOVE_MOUNT_F_AUTOMOUNTS = 0x2 MOVE_MOUNT_F_EMPTY_PATH = 0x4 MOVE_MOUNT_T_SYMLINKS = 0x10 MOVE_MOUNT_T_AUTOMOUNTS = 0x20 MOVE_MOUNT_T_EMPTY_PATH = 0x40 MOVE_MOUNT_SET_GROUP = 0x100 FSOPEN_CLOEXEC = 0x1 FSPICK_CLOEXEC = 0x1 FSPICK_SYMLINK_NOFOLLOW = 0x2 FSPICK_NO_AUTOMOUNT = 0x4 FSPICK_EMPTY_PATH = 0x8 FSMOUNT_CLOEXEC = 0x1 FSCONFIG_SET_FLAG = 0x0 FSCONFIG_SET_STRING = 0x1 FSCONFIG_SET_BINARY = 0x2 FSCONFIG_SET_PATH = 0x3 FSCONFIG_SET_PATH_EMPTY = 0x4 FSCONFIG_SET_FD = 0x5 FSCONFIG_CMD_CREATE = 0x6 FSCONFIG_CMD_RECONFIGURE = 0x7 ) type OpenHow struct { Flags uint64 Mode uint64 Resolve uint64 } const SizeofOpenHow = 0x18 const ( RESOLVE_BENEATH = 0x8 RESOLVE_IN_ROOT = 0x10 RESOLVE_NO_MAGICLINKS = 0x2 RESOLVE_NO_SYMLINKS = 0x4 RESOLVE_NO_XDEV = 0x1 ) type PollFd struct { Fd int32 Events int16 Revents int16 } const ( POLLIN = 0x1 POLLPRI = 0x2 POLLOUT = 0x4 POLLERR = 0x8 POLLHUP = 0x10 POLLNVAL = 0x20 ) type sigset_argpack struct { ss *Sigset_t ssLen uintptr } type SignalfdSiginfo struct { Signo uint32 Errno int32 Code int32 Pid uint32 Uid uint32 Fd int32 Tid uint32 Band uint32 Overrun uint32 Trapno uint32 Status int32 Int int32 Ptr uint64 Utime uint64 Stime uint64 Addr uint64 Addr_lsb uint16 _ uint16 Syscall int32 Call_addr uint64 Arch uint32 _ [28]uint8 } type Winsize struct { Row uint16 Col uint16 Xpixel uint16 Ypixel uint16 } const ( TASKSTATS_CMD_UNSPEC = 0x0 TASKSTATS_CMD_GET = 0x1 TASKSTATS_CMD_NEW = 0x2 TASKSTATS_TYPE_UNSPEC = 0x0 TASKSTATS_TYPE_PID = 0x1 TASKSTATS_TYPE_TGID = 0x2 TASKSTATS_TYPE_STATS = 0x3 TASKSTATS_TYPE_AGGR_PID = 0x4 TASKSTATS_TYPE_AGGR_TGID = 0x5 TASKSTATS_TYPE_NULL = 0x6 TASKSTATS_CMD_ATTR_UNSPEC = 0x0 TASKSTATS_CMD_ATTR_PID = 0x1 TASKSTATS_CMD_ATTR_TGID = 0x2 TASKSTATS_CMD_ATTR_REGISTER_CPUMASK = 0x3 TASKSTATS_CMD_ATTR_DEREGISTER_CPUMASK = 0x4 ) type CGroupStats struct { Sleeping uint64 Running uint64 Stopped uint64 Uninterruptible uint64 Io_wait uint64 } const ( CGROUPSTATS_CMD_UNSPEC = 0x3 CGROUPSTATS_CMD_GET = 0x4 CGROUPSTATS_CMD_NEW = 0x5 CGROUPSTATS_TYPE_UNSPEC = 0x0 CGROUPSTATS_TYPE_CGROUP_STATS = 0x1 CGROUPSTATS_CMD_ATTR_UNSPEC = 0x0 CGROUPSTATS_CMD_ATTR_FD = 0x1 ) type Genlmsghdr struct { Cmd uint8 Version uint8 Reserved uint16 } const ( CTRL_CMD_UNSPEC = 0x0 CTRL_CMD_NEWFAMILY = 0x1 CTRL_CMD_DELFAMILY = 0x2 CTRL_CMD_GETFAMILY = 0x3 CTRL_CMD_NEWOPS = 0x4 CTRL_CMD_DELOPS = 0x5 CTRL_CMD_GETOPS = 0x6 CTRL_CMD_NEWMCAST_GRP = 0x7 CTRL_CMD_DELMCAST_GRP = 0x8 CTRL_CMD_GETMCAST_GRP = 0x9 CTRL_CMD_GETPOLICY = 0xa CTRL_ATTR_UNSPEC = 0x0 CTRL_ATTR_FAMILY_ID = 0x1 CTRL_ATTR_FAMILY_NAME = 0x2 CTRL_ATTR_VERSION = 0x3 CTRL_ATTR_HDRSIZE = 0x4 CTRL_ATTR_MAXATTR = 0x5 CTRL_ATTR_OPS = 0x6 CTRL_ATTR_MCAST_GROUPS = 0x7 CTRL_ATTR_POLICY = 0x8 CTRL_ATTR_OP_POLICY = 0x9 CTRL_ATTR_OP = 0xa CTRL_ATTR_OP_UNSPEC = 0x0 CTRL_ATTR_OP_ID = 0x1 CTRL_ATTR_OP_FLAGS = 0x2 CTRL_ATTR_MCAST_GRP_UNSPEC = 0x0 CTRL_ATTR_MCAST_GRP_NAME = 0x1 CTRL_ATTR_MCAST_GRP_ID = 0x2 CTRL_ATTR_POLICY_UNSPEC = 0x0 CTRL_ATTR_POLICY_DO = 0x1 CTRL_ATTR_POLICY_DUMP = 0x2 CTRL_ATTR_POLICY_DUMP_MAX = 0x2 ) const ( _CPU_SETSIZE = 0x400 ) const ( BDADDR_BREDR = 0x0 BDADDR_LE_PUBLIC = 0x1 BDADDR_LE_RANDOM = 0x2 ) type PerfEventAttr struct { Type uint32 Size uint32 Config uint64 Sample uint64 Sample_type uint64 Read_format uint64 Bits uint64 Wakeup uint32 Bp_type uint32 Ext1 uint64 Ext2 uint64 Branch_sample_type uint64 Sample_regs_user uint64 Sample_stack_user uint32 Clockid int32 Sample_regs_intr uint64 Aux_watermark uint32 Sample_max_stack uint16 _ uint16 Aux_sample_size uint32 _ uint32 Sig_data uint64 } type PerfEventMmapPage struct { Version uint32 Compat_version uint32 Lock uint32 Index uint32 Offset int64 Time_enabled uint64 Time_running uint64 Capabilities uint64 Pmc_width uint16 Time_shift uint16 Time_mult uint32 Time_offset uint64 Time_zero uint64 Size uint32 _ uint32 Time_cycles uint64 Time_mask uint64 _ [928]uint8 Data_head uint64 Data_tail uint64 Data_offset uint64 Data_size uint64 Aux_head uint64 Aux_tail uint64 Aux_offset uint64 Aux_size uint64 } const ( PerfBitDisabled uint64 = CBitFieldMaskBit0 PerfBitInherit = CBitFieldMaskBit1 PerfBitPinned = CBitFieldMaskBit2 PerfBitExclusive = CBitFieldMaskBit3 PerfBitExcludeUser = CBitFieldMaskBit4 PerfBitExcludeKernel = CBitFieldMaskBit5 PerfBitExcludeHv = CBitFieldMaskBit6 PerfBitExcludeIdle = CBitFieldMaskBit7 PerfBitMmap = CBitFieldMaskBit8 PerfBitComm = CBitFieldMaskBit9 PerfBitFreq = CBitFieldMaskBit10 PerfBitInheritStat = CBitFieldMaskBit11 PerfBitEnableOnExec = CBitFieldMaskBit12 PerfBitTask = CBitFieldMaskBit13 PerfBitWatermark = CBitFieldMaskBit14 PerfBitPreciseIPBit1 = CBitFieldMaskBit15 PerfBitPreciseIPBit2 = CBitFieldMaskBit16 PerfBitMmapData = CBitFieldMaskBit17 PerfBitSampleIDAll = CBitFieldMaskBit18 PerfBitExcludeHost = CBitFieldMaskBit19 PerfBitExcludeGuest = CBitFieldMaskBit20 PerfBitExcludeCallchainKernel = CBitFieldMaskBit21 PerfBitExcludeCallchainUser = CBitFieldMaskBit22 PerfBitMmap2 = CBitFieldMaskBit23 PerfBitCommExec = CBitFieldMaskBit24 PerfBitUseClockID = CBitFieldMaskBit25 PerfBitContextSwitch = CBitFieldMaskBit26 PerfBitWriteBackward = CBitFieldMaskBit27 ) const ( PERF_TYPE_HARDWARE = 0x0 PERF_TYPE_SOFTWARE = 0x1 PERF_TYPE_TRACEPOINT = 0x2 PERF_TYPE_HW_CACHE = 0x3 PERF_TYPE_RAW = 0x4 PERF_TYPE_BREAKPOINT = 0x5 PERF_TYPE_MAX = 0x6 PERF_COUNT_HW_CPU_CYCLES = 0x0 PERF_COUNT_HW_INSTRUCTIONS = 0x1 PERF_COUNT_HW_CACHE_REFERENCES = 0x2 PERF_COUNT_HW_CACHE_MISSES = 0x3 PERF_COUNT_HW_BRANCH_INSTRUCTIONS = 0x4 PERF_COUNT_HW_BRANCH_MISSES = 0x5 PERF_COUNT_HW_BUS_CYCLES = 0x6 PERF_COUNT_HW_STALLED_CYCLES_FRONTEND = 0x7 PERF_COUNT_HW_STALLED_CYCLES_BACKEND = 0x8 PERF_COUNT_HW_REF_CPU_CYCLES = 0x9 PERF_COUNT_HW_MAX = 0xa PERF_COUNT_HW_CACHE_L1D = 0x0 PERF_COUNT_HW_CACHE_L1I = 0x1 PERF_COUNT_HW_CACHE_LL = 0x2 PERF_COUNT_HW_CACHE_DTLB = 0x3 PERF_COUNT_HW_CACHE_ITLB = 0x4 PERF_COUNT_HW_CACHE_BPU = 0x5 PERF_COUNT_HW_CACHE_NODE = 0x6 PERF_COUNT_HW_CACHE_MAX = 0x7 PERF_COUNT_HW_CACHE_OP_READ = 0x0 PERF_COUNT_HW_CACHE_OP_WRITE = 0x1 PERF_COUNT_HW_CACHE_OP_PREFETCH = 0x2 PERF_COUNT_HW_CACHE_OP_MAX = 0x3 PERF_COUNT_HW_CACHE_RESULT_ACCESS = 0x0 PERF_COUNT_HW_CACHE_RESULT_MISS = 0x1 PERF_COUNT_HW_CACHE_RESULT_MAX = 0x2 PERF_COUNT_SW_CPU_CLOCK = 0x0 PERF_COUNT_SW_TASK_CLOCK = 0x1 PERF_COUNT_SW_PAGE_FAULTS = 0x2 PERF_COUNT_SW_CONTEXT_SWITCHES = 0x3 PERF_COUNT_SW_CPU_MIGRATIONS = 0x4 PERF_COUNT_SW_PAGE_FAULTS_MIN = 0x5 PERF_COUNT_SW_PAGE_FAULTS_MAJ = 0x6 PERF_COUNT_SW_ALIGNMENT_FAULTS = 0x7 PERF_COUNT_SW_EMULATION_FAULTS = 0x8 PERF_COUNT_SW_DUMMY = 0x9 PERF_COUNT_SW_BPF_OUTPUT = 0xa PERF_COUNT_SW_MAX = 0xc PERF_SAMPLE_IP = 0x1 PERF_SAMPLE_TID = 0x2 PERF_SAMPLE_TIME = 0x4 PERF_SAMPLE_ADDR = 0x8 PERF_SAMPLE_READ = 0x10 PERF_SAMPLE_CALLCHAIN = 0x20 PERF_SAMPLE_ID = 0x40 PERF_SAMPLE_CPU = 0x80 PERF_SAMPLE_PERIOD = 0x100 PERF_SAMPLE_STREAM_ID = 0x200 PERF_SAMPLE_RAW = 0x400 PERF_SAMPLE_BRANCH_STACK = 0x800 PERF_SAMPLE_REGS_USER = 0x1000 PERF_SAMPLE_STACK_USER = 0x2000 PERF_SAMPLE_WEIGHT = 0x4000 PERF_SAMPLE_DATA_SRC = 0x8000 PERF_SAMPLE_IDENTIFIER = 0x10000 PERF_SAMPLE_TRANSACTION = 0x20000 PERF_SAMPLE_REGS_INTR = 0x40000 PERF_SAMPLE_PHYS_ADDR = 0x80000 PERF_SAMPLE_AUX = 0x100000 PERF_SAMPLE_CGROUP = 0x200000 PERF_SAMPLE_DATA_PAGE_SIZE = 0x400000 PERF_SAMPLE_CODE_PAGE_SIZE = 0x800000 PERF_SAMPLE_WEIGHT_STRUCT = 0x1000000 PERF_SAMPLE_MAX = 0x2000000 PERF_SAMPLE_BRANCH_USER_SHIFT = 0x0 PERF_SAMPLE_BRANCH_KERNEL_SHIFT = 0x1 PERF_SAMPLE_BRANCH_HV_SHIFT = 0x2 PERF_SAMPLE_BRANCH_ANY_SHIFT = 0x3 PERF_SAMPLE_BRANCH_ANY_CALL_SHIFT = 0x4 PERF_SAMPLE_BRANCH_ANY_RETURN_SHIFT = 0x5 PERF_SAMPLE_BRANCH_IND_CALL_SHIFT = 0x6 PERF_SAMPLE_BRANCH_ABORT_TX_SHIFT = 0x7 PERF_SAMPLE_BRANCH_IN_TX_SHIFT = 0x8 PERF_SAMPLE_BRANCH_NO_TX_SHIFT = 0x9 PERF_SAMPLE_BRANCH_COND_SHIFT = 0xa PERF_SAMPLE_BRANCH_CALL_STACK_SHIFT = 0xb PERF_SAMPLE_BRANCH_IND_JUMP_SHIFT = 0xc PERF_SAMPLE_BRANCH_CALL_SHIFT = 0xd PERF_SAMPLE_BRANCH_NO_FLAGS_SHIFT = 0xe PERF_SAMPLE_BRANCH_NO_CYCLES_SHIFT = 0xf PERF_SAMPLE_BRANCH_TYPE_SAVE_SHIFT = 0x10 PERF_SAMPLE_BRANCH_HW_INDEX_SHIFT = 0x11 PERF_SAMPLE_BRANCH_PRIV_SAVE_SHIFT = 0x12 PERF_SAMPLE_BRANCH_COUNTERS = 0x80000 PERF_SAMPLE_BRANCH_MAX_SHIFT = 0x14 PERF_SAMPLE_BRANCH_USER = 0x1 PERF_SAMPLE_BRANCH_KERNEL = 0x2 PERF_SAMPLE_BRANCH_HV = 0x4 PERF_SAMPLE_BRANCH_ANY = 0x8 PERF_SAMPLE_BRANCH_ANY_CALL = 0x10 PERF_SAMPLE_BRANCH_ANY_RETURN = 0x20 PERF_SAMPLE_BRANCH_IND_CALL = 0x40 PERF_SAMPLE_BRANCH_ABORT_TX = 0x80 PERF_SAMPLE_BRANCH_IN_TX = 0x100 PERF_SAMPLE_BRANCH_NO_TX = 0x200 PERF_SAMPLE_BRANCH_COND = 0x400 PERF_SAMPLE_BRANCH_CALL_STACK = 0x800 PERF_SAMPLE_BRANCH_IND_JUMP = 0x1000 PERF_SAMPLE_BRANCH_CALL = 0x2000 PERF_SAMPLE_BRANCH_NO_FLAGS = 0x4000 PERF_SAMPLE_BRANCH_NO_CYCLES = 0x8000 PERF_SAMPLE_BRANCH_TYPE_SAVE = 0x10000 PERF_SAMPLE_BRANCH_HW_INDEX = 0x20000 PERF_SAMPLE_BRANCH_PRIV_SAVE = 0x40000 PERF_SAMPLE_BRANCH_MAX = 0x100000 PERF_BR_UNKNOWN = 0x0 PERF_BR_COND = 0x1 PERF_BR_UNCOND = 0x2 PERF_BR_IND = 0x3 PERF_BR_CALL = 0x4 PERF_BR_IND_CALL = 0x5 PERF_BR_RET = 0x6 PERF_BR_SYSCALL = 0x7 PERF_BR_SYSRET = 0x8 PERF_BR_COND_CALL = 0x9 PERF_BR_COND_RET = 0xa PERF_BR_ERET = 0xb PERF_BR_IRQ = 0xc PERF_BR_SERROR = 0xd PERF_BR_NO_TX = 0xe PERF_BR_EXTEND_ABI = 0xf PERF_BR_MAX = 0x10 PERF_SAMPLE_REGS_ABI_NONE = 0x0 PERF_SAMPLE_REGS_ABI_32 = 0x1 PERF_SAMPLE_REGS_ABI_64 = 0x2 PERF_TXN_ELISION = 0x1 PERF_TXN_TRANSACTION = 0x2 PERF_TXN_SYNC = 0x4 PERF_TXN_ASYNC = 0x8 PERF_TXN_RETRY = 0x10 PERF_TXN_CONFLICT = 0x20 PERF_TXN_CAPACITY_WRITE = 0x40 PERF_TXN_CAPACITY_READ = 0x80 PERF_TXN_MAX = 0x100 PERF_TXN_ABORT_MASK = -0x100000000 PERF_TXN_ABORT_SHIFT = 0x20 PERF_FORMAT_TOTAL_TIME_ENABLED = 0x1 PERF_FORMAT_TOTAL_TIME_RUNNING = 0x2 PERF_FORMAT_ID = 0x4 PERF_FORMAT_GROUP = 0x8 PERF_FORMAT_LOST = 0x10 PERF_FORMAT_MAX = 0x20 PERF_IOC_FLAG_GROUP = 0x1 PERF_RECORD_MMAP = 0x1 PERF_RECORD_LOST = 0x2 PERF_RECORD_COMM = 0x3 PERF_RECORD_EXIT = 0x4 PERF_RECORD_THROTTLE = 0x5 PERF_RECORD_UNTHROTTLE = 0x6 PERF_RECORD_FORK = 0x7 PERF_RECORD_READ = 0x8 PERF_RECORD_SAMPLE = 0x9 PERF_RECORD_MMAP2 = 0xa PERF_RECORD_AUX = 0xb PERF_RECORD_ITRACE_START = 0xc PERF_RECORD_LOST_SAMPLES = 0xd PERF_RECORD_SWITCH = 0xe PERF_RECORD_SWITCH_CPU_WIDE = 0xf PERF_RECORD_NAMESPACES = 0x10 PERF_RECORD_KSYMBOL = 0x11 PERF_RECORD_BPF_EVENT = 0x12 PERF_RECORD_CGROUP = 0x13 PERF_RECORD_TEXT_POKE = 0x14 PERF_RECORD_AUX_OUTPUT_HW_ID = 0x15 PERF_RECORD_MAX = 0x16 PERF_RECORD_KSYMBOL_TYPE_UNKNOWN = 0x0 PERF_RECORD_KSYMBOL_TYPE_BPF = 0x1 PERF_RECORD_KSYMBOL_TYPE_OOL = 0x2 PERF_RECORD_KSYMBOL_TYPE_MAX = 0x3 PERF_BPF_EVENT_UNKNOWN = 0x0 PERF_BPF_EVENT_PROG_LOAD = 0x1 PERF_BPF_EVENT_PROG_UNLOAD = 0x2 PERF_BPF_EVENT_MAX = 0x3 PERF_CONTEXT_HV = -0x20 PERF_CONTEXT_KERNEL = -0x80 PERF_CONTEXT_USER = -0x200 PERF_CONTEXT_GUEST = -0x800 PERF_CONTEXT_GUEST_KERNEL = -0x880 PERF_CONTEXT_GUEST_USER = -0xa00 PERF_CONTEXT_MAX = -0xfff ) type TCPMD5Sig struct { Addr SockaddrStorage Flags uint8 Prefixlen uint8 Keylen uint16 Ifindex int32 Key [80]uint8 } type HDDriveCmdHdr struct { Command uint8 Number uint8 Feature uint8 Count uint8 } type HDDriveID struct { Config uint16 Cyls uint16 Reserved2 uint16 Heads uint16 Track_bytes uint16 Sector_bytes uint16 Sectors uint16 Vendor0 uint16 Vendor1 uint16 Vendor2 uint16 Serial_no [20]uint8 Buf_type uint16 Buf_size uint16 Ecc_bytes uint16 Fw_rev [8]uint8 Model [40]uint8 Max_multsect uint8 Vendor3 uint8 Dword_io uint16 Vendor4 uint8 Capability uint8 Reserved50 uint16 Vendor5 uint8 TPIO uint8 Vendor6 uint8 TDMA uint8 Field_valid uint16 Cur_cyls uint16 Cur_heads uint16 Cur_sectors uint16 Cur_capacity0 uint16 Cur_capacity1 uint16 Multsect uint8 Multsect_valid uint8 Lba_capacity uint32 Dma_1word uint16 Dma_mword uint16 Eide_pio_modes uint16 Eide_dma_min uint16 Eide_dma_time uint16 Eide_pio uint16 Eide_pio_iordy uint16 Words69_70 [2]uint16 Words71_74 [4]uint16 Queue_depth uint16 Words76_79 [4]uint16 Major_rev_num uint16 Minor_rev_num uint16 Command_set_1 uint16 Command_set_2 uint16 Cfsse uint16 Cfs_enable_1 uint16 Cfs_enable_2 uint16 Csf_default uint16 Dma_ultra uint16 Trseuc uint16 TrsEuc uint16 CurAPMvalues uint16 Mprc uint16 Hw_config uint16 Acoustic uint16 Msrqs uint16 Sxfert uint16 Sal uint16 Spg uint32 Lba_capacity_2 uint64 Words104_125 [22]uint16 Last_lun uint16 Word127 uint16 Dlf uint16 Csfo uint16 Words130_155 [26]uint16 Word156 uint16 Words157_159 [3]uint16 Cfa_power uint16 Words161_175 [15]uint16 Words176_205 [30]uint16 Words206_254 [49]uint16 Integrity_word uint16 } const ( ST_MANDLOCK = 0x40 ST_NOATIME = 0x400 ST_NODEV = 0x4 ST_NODIRATIME = 0x800 ST_NOEXEC = 0x8 ST_NOSUID = 0x2 ST_RDONLY = 0x1 ST_RELATIME = 0x1000 ST_SYNCHRONOUS = 0x10 ) type Tpacket2Hdr struct { Status uint32 Len uint32 Snaplen uint32 Mac uint16 Net uint16 Sec uint32 Nsec uint32 Vlan_tci uint16 Vlan_tpid uint16 _ [4]uint8 } type Tpacket3Hdr struct { Next_offset uint32 Sec uint32 Nsec uint32 Snaplen uint32 Len uint32 Status uint32 Mac uint16 Net uint16 Hv1 TpacketHdrVariant1 _ [8]uint8 } type TpacketHdrVariant1 struct { Rxhash uint32 Vlan_tci uint32 Vlan_tpid uint16 _ uint16 } type TpacketBlockDesc struct { Version uint32 To_priv uint32 Hdr [40]byte } type TpacketBDTS struct { Sec uint32 Usec uint32 } type TpacketHdrV1 struct { Block_status uint32 Num_pkts uint32 Offset_to_first_pkt uint32 Blk_len uint32 Seq_num uint64 Ts_first_pkt TpacketBDTS Ts_last_pkt TpacketBDTS } type TpacketReq struct { Block_size uint32 Block_nr uint32 Frame_size uint32 Frame_nr uint32 } type TpacketReq3 struct { Block_size uint32 Block_nr uint32 Frame_size uint32 Frame_nr uint32 Retire_blk_tov uint32 Sizeof_priv uint32 Feature_req_word uint32 } type TpacketStats struct { Packets uint32 Drops uint32 } type TpacketStatsV3 struct { Packets uint32 Drops uint32 Freeze_q_cnt uint32 } type TpacketAuxdata struct { Status uint32 Len uint32 Snaplen uint32 Mac uint16 Net uint16 Vlan_tci uint16 Vlan_tpid uint16 } const ( TPACKET_V1 = 0x0 TPACKET_V2 = 0x1 TPACKET_V3 = 0x2 ) const ( SizeofTpacket2Hdr = 0x20 SizeofTpacket3Hdr = 0x30 SizeofTpacketStats = 0x8 SizeofTpacketStatsV3 = 0xc ) const ( 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_NUM_VF = 0x15 IFLA_VFINFO_LIST = 0x16 IFLA_STATS64 = 0x17 IFLA_VF_PORTS = 0x18 IFLA_PORT_SELF = 0x19 IFLA_AF_SPEC = 0x1a IFLA_GROUP = 0x1b IFLA_NET_NS_FD = 0x1c IFLA_EXT_MASK = 0x1d IFLA_PROMISCUITY = 0x1e IFLA_NUM_TX_QUEUES = 0x1f IFLA_NUM_RX_QUEUES = 0x20 IFLA_CARRIER = 0x21 IFLA_PHYS_PORT_ID = 0x22 IFLA_CARRIER_CHANGES = 0x23 IFLA_PHYS_SWITCH_ID = 0x24 IFLA_LINK_NETNSID = 0x25 IFLA_PHYS_PORT_NAME = 0x26 IFLA_PROTO_DOWN = 0x27 IFLA_GSO_MAX_SEGS = 0x28 IFLA_GSO_MAX_SIZE = 0x29 IFLA_PAD = 0x2a IFLA_XDP = 0x2b IFLA_EVENT = 0x2c IFLA_NEW_NETNSID = 0x2d IFLA_IF_NETNSID = 0x2e IFLA_TARGET_NETNSID = 0x2e IFLA_CARRIER_UP_COUNT = 0x2f IFLA_CARRIER_DOWN_COUNT = 0x30 IFLA_NEW_IFINDEX = 0x31 IFLA_MIN_MTU = 0x32 IFLA_MAX_MTU = 0x33 IFLA_PROP_LIST = 0x34 IFLA_ALT_IFNAME = 0x35 IFLA_PERM_ADDRESS = 0x36 IFLA_PROTO_DOWN_REASON = 0x37 IFLA_PARENT_DEV_NAME = 0x38 IFLA_PARENT_DEV_BUS_NAME = 0x39 IFLA_GRO_MAX_SIZE = 0x3a IFLA_TSO_MAX_SIZE = 0x3b IFLA_TSO_MAX_SEGS = 0x3c IFLA_ALLMULTI = 0x3d IFLA_DEVLINK_PORT = 0x3e IFLA_GSO_IPV4_MAX_SIZE = 0x3f IFLA_GRO_IPV4_MAX_SIZE = 0x40 IFLA_DPLL_PIN = 0x41 IFLA_PROTO_DOWN_REASON_UNSPEC = 0x0 IFLA_PROTO_DOWN_REASON_MASK = 0x1 IFLA_PROTO_DOWN_REASON_VALUE = 0x2 IFLA_PROTO_DOWN_REASON_MAX = 0x2 IFLA_INET_UNSPEC = 0x0 IFLA_INET_CONF = 0x1 IFLA_INET6_UNSPEC = 0x0 IFLA_INET6_FLAGS = 0x1 IFLA_INET6_CONF = 0x2 IFLA_INET6_STATS = 0x3 IFLA_INET6_MCAST = 0x4 IFLA_INET6_CACHEINFO = 0x5 IFLA_INET6_ICMP6STATS = 0x6 IFLA_INET6_TOKEN = 0x7 IFLA_INET6_ADDR_GEN_MODE = 0x8 IFLA_INET6_RA_MTU = 0x9 IFLA_BR_UNSPEC = 0x0 IFLA_BR_FORWARD_DELAY = 0x1 IFLA_BR_HELLO_TIME = 0x2 IFLA_BR_MAX_AGE = 0x3 IFLA_BR_AGEING_TIME = 0x4 IFLA_BR_STP_STATE = 0x5 IFLA_BR_PRIORITY = 0x6 IFLA_BR_VLAN_FILTERING = 0x7 IFLA_BR_VLAN_PROTOCOL = 0x8 IFLA_BR_GROUP_FWD_MASK = 0x9 IFLA_BR_ROOT_ID = 0xa IFLA_BR_BRIDGE_ID = 0xb IFLA_BR_ROOT_PORT = 0xc IFLA_BR_ROOT_PATH_COST = 0xd IFLA_BR_TOPOLOGY_CHANGE = 0xe IFLA_BR_TOPOLOGY_CHANGE_DETECTED = 0xf IFLA_BR_HELLO_TIMER = 0x10 IFLA_BR_TCN_TIMER = 0x11 IFLA_BR_TOPOLOGY_CHANGE_TIMER = 0x12 IFLA_BR_GC_TIMER = 0x13 IFLA_BR_GROUP_ADDR = 0x14 IFLA_BR_FDB_FLUSH = 0x15 IFLA_BR_MCAST_ROUTER = 0x16 IFLA_BR_MCAST_SNOOPING = 0x17 IFLA_BR_MCAST_QUERY_USE_IFADDR = 0x18 IFLA_BR_MCAST_QUERIER = 0x19 IFLA_BR_MCAST_HASH_ELASTICITY = 0x1a IFLA_BR_MCAST_HASH_MAX = 0x1b IFLA_BR_MCAST_LAST_MEMBER_CNT = 0x1c IFLA_BR_MCAST_STARTUP_QUERY_CNT = 0x1d IFLA_BR_MCAST_LAST_MEMBER_INTVL = 0x1e IFLA_BR_MCAST_MEMBERSHIP_INTVL = 0x1f IFLA_BR_MCAST_QUERIER_INTVL = 0x20 IFLA_BR_MCAST_QUERY_INTVL = 0x21 IFLA_BR_MCAST_QUERY_RESPONSE_INTVL = 0x22 IFLA_BR_MCAST_STARTUP_QUERY_INTVL = 0x23 IFLA_BR_NF_CALL_IPTABLES = 0x24 IFLA_BR_NF_CALL_IP6TABLES = 0x25 IFLA_BR_NF_CALL_ARPTABLES = 0x26 IFLA_BR_VLAN_DEFAULT_PVID = 0x27 IFLA_BR_PAD = 0x28 IFLA_BR_VLAN_STATS_ENABLED = 0x29 IFLA_BR_MCAST_STATS_ENABLED = 0x2a IFLA_BR_MCAST_IGMP_VERSION = 0x2b IFLA_BR_MCAST_MLD_VERSION = 0x2c IFLA_BR_VLAN_STATS_PER_PORT = 0x2d IFLA_BR_MULTI_BOOLOPT = 0x2e IFLA_BR_MCAST_QUERIER_STATE = 0x2f IFLA_BR_FDB_N_LEARNED = 0x30 IFLA_BR_FDB_MAX_LEARNED = 0x31 IFLA_BRPORT_UNSPEC = 0x0 IFLA_BRPORT_STATE = 0x1 IFLA_BRPORT_PRIORITY = 0x2 IFLA_BRPORT_COST = 0x3 IFLA_BRPORT_MODE = 0x4 IFLA_BRPORT_GUARD = 0x5 IFLA_BRPORT_PROTECT = 0x6 IFLA_BRPORT_FAST_LEAVE = 0x7 IFLA_BRPORT_LEARNING = 0x8 IFLA_BRPORT_UNICAST_FLOOD = 0x9 IFLA_BRPORT_PROXYARP = 0xa IFLA_BRPORT_LEARNING_SYNC = 0xb IFLA_BRPORT_PROXYARP_WIFI = 0xc IFLA_BRPORT_ROOT_ID = 0xd IFLA_BRPORT_BRIDGE_ID = 0xe IFLA_BRPORT_DESIGNATED_PORT = 0xf IFLA_BRPORT_DESIGNATED_COST = 0x10 IFLA_BRPORT_ID = 0x11 IFLA_BRPORT_NO = 0x12 IFLA_BRPORT_TOPOLOGY_CHANGE_ACK = 0x13 IFLA_BRPORT_CONFIG_PENDING = 0x14 IFLA_BRPORT_MESSAGE_AGE_TIMER = 0x15 IFLA_BRPORT_FORWARD_DELAY_TIMER = 0x16 IFLA_BRPORT_HOLD_TIMER = 0x17 IFLA_BRPORT_FLUSH = 0x18 IFLA_BRPORT_MULTICAST_ROUTER = 0x19 IFLA_BRPORT_PAD = 0x1a IFLA_BRPORT_MCAST_FLOOD = 0x1b IFLA_BRPORT_MCAST_TO_UCAST = 0x1c IFLA_BRPORT_VLAN_TUNNEL = 0x1d IFLA_BRPORT_BCAST_FLOOD = 0x1e IFLA_BRPORT_GROUP_FWD_MASK = 0x1f IFLA_BRPORT_NEIGH_SUPPRESS = 0x20 IFLA_BRPORT_ISOLATED = 0x21 IFLA_BRPORT_BACKUP_PORT = 0x22 IFLA_BRPORT_MRP_RING_OPEN = 0x23 IFLA_BRPORT_MRP_IN_OPEN = 0x24 IFLA_BRPORT_MCAST_EHT_HOSTS_LIMIT = 0x25 IFLA_BRPORT_MCAST_EHT_HOSTS_CNT = 0x26 IFLA_BRPORT_LOCKED = 0x27 IFLA_BRPORT_MAB = 0x28 IFLA_BRPORT_MCAST_N_GROUPS = 0x29 IFLA_BRPORT_MCAST_MAX_GROUPS = 0x2a IFLA_BRPORT_NEIGH_VLAN_SUPPRESS = 0x2b IFLA_BRPORT_BACKUP_NHID = 0x2c IFLA_INFO_UNSPEC = 0x0 IFLA_INFO_KIND = 0x1 IFLA_INFO_DATA = 0x2 IFLA_INFO_XSTATS = 0x3 IFLA_INFO_SLAVE_KIND = 0x4 IFLA_INFO_SLAVE_DATA = 0x5 IFLA_VLAN_UNSPEC = 0x0 IFLA_VLAN_ID = 0x1 IFLA_VLAN_FLAGS = 0x2 IFLA_VLAN_EGRESS_QOS = 0x3 IFLA_VLAN_INGRESS_QOS = 0x4 IFLA_VLAN_PROTOCOL = 0x5 IFLA_VLAN_QOS_UNSPEC = 0x0 IFLA_VLAN_QOS_MAPPING = 0x1 IFLA_MACVLAN_UNSPEC = 0x0 IFLA_MACVLAN_MODE = 0x1 IFLA_MACVLAN_FLAGS = 0x2 IFLA_MACVLAN_MACADDR_MODE = 0x3 IFLA_MACVLAN_MACADDR = 0x4 IFLA_MACVLAN_MACADDR_DATA = 0x5 IFLA_MACVLAN_MACADDR_COUNT = 0x6 IFLA_MACVLAN_BC_QUEUE_LEN = 0x7 IFLA_MACVLAN_BC_QUEUE_LEN_USED = 0x8 IFLA_MACVLAN_BC_CUTOFF = 0x9 IFLA_VRF_UNSPEC = 0x0 IFLA_VRF_TABLE = 0x1 IFLA_VRF_PORT_UNSPEC = 0x0 IFLA_VRF_PORT_TABLE = 0x1 IFLA_MACSEC_UNSPEC = 0x0 IFLA_MACSEC_SCI = 0x1 IFLA_MACSEC_PORT = 0x2 IFLA_MACSEC_ICV_LEN = 0x3 IFLA_MACSEC_CIPHER_SUITE = 0x4 IFLA_MACSEC_WINDOW = 0x5 IFLA_MACSEC_ENCODING_SA = 0x6 IFLA_MACSEC_ENCRYPT = 0x7 IFLA_MACSEC_PROTECT = 0x8 IFLA_MACSEC_INC_SCI = 0x9 IFLA_MACSEC_ES = 0xa IFLA_MACSEC_SCB = 0xb IFLA_MACSEC_REPLAY_PROTECT = 0xc IFLA_MACSEC_VALIDATION = 0xd IFLA_MACSEC_PAD = 0xe IFLA_MACSEC_OFFLOAD = 0xf IFLA_XFRM_UNSPEC = 0x0 IFLA_XFRM_LINK = 0x1 IFLA_XFRM_IF_ID = 0x2 IFLA_XFRM_COLLECT_METADATA = 0x3 IFLA_IPVLAN_UNSPEC = 0x0 IFLA_IPVLAN_MODE = 0x1 IFLA_IPVLAN_FLAGS = 0x2 NETKIT_NEXT = -0x1 NETKIT_PASS = 0x0 NETKIT_DROP = 0x2 NETKIT_REDIRECT = 0x7 NETKIT_L2 = 0x0 NETKIT_L3 = 0x1 IFLA_NETKIT_UNSPEC = 0x0 IFLA_NETKIT_PEER_INFO = 0x1 IFLA_NETKIT_PRIMARY = 0x2 IFLA_NETKIT_POLICY = 0x3 IFLA_NETKIT_PEER_POLICY = 0x4 IFLA_NETKIT_MODE = 0x5 IFLA_VXLAN_UNSPEC = 0x0 IFLA_VXLAN_ID = 0x1 IFLA_VXLAN_GROUP = 0x2 IFLA_VXLAN_LINK = 0x3 IFLA_VXLAN_LOCAL = 0x4 IFLA_VXLAN_TTL = 0x5 IFLA_VXLAN_TOS = 0x6 IFLA_VXLAN_LEARNING = 0x7 IFLA_VXLAN_AGEING = 0x8 IFLA_VXLAN_LIMIT = 0x9 IFLA_VXLAN_PORT_RANGE = 0xa IFLA_VXLAN_PROXY = 0xb IFLA_VXLAN_RSC = 0xc IFLA_VXLAN_L2MISS = 0xd IFLA_VXLAN_L3MISS = 0xe IFLA_VXLAN_PORT = 0xf IFLA_VXLAN_GROUP6 = 0x10 IFLA_VXLAN_LOCAL6 = 0x11 IFLA_VXLAN_UDP_CSUM = 0x12 IFLA_VXLAN_UDP_ZERO_CSUM6_TX = 0x13 IFLA_VXLAN_UDP_ZERO_CSUM6_RX = 0x14 IFLA_VXLAN_REMCSUM_TX = 0x15 IFLA_VXLAN_REMCSUM_RX = 0x16 IFLA_VXLAN_GBP = 0x17 IFLA_VXLAN_REMCSUM_NOPARTIAL = 0x18 IFLA_VXLAN_COLLECT_METADATA = 0x19 IFLA_VXLAN_LABEL = 0x1a IFLA_VXLAN_GPE = 0x1b IFLA_VXLAN_TTL_INHERIT = 0x1c IFLA_VXLAN_DF = 0x1d IFLA_VXLAN_VNIFILTER = 0x1e IFLA_VXLAN_LOCALBYPASS = 0x1f IFLA_GENEVE_UNSPEC = 0x0 IFLA_GENEVE_ID = 0x1 IFLA_GENEVE_REMOTE = 0x2 IFLA_GENEVE_TTL = 0x3 IFLA_GENEVE_TOS = 0x4 IFLA_GENEVE_PORT = 0x5 IFLA_GENEVE_COLLECT_METADATA = 0x6 IFLA_GENEVE_REMOTE6 = 0x7 IFLA_GENEVE_UDP_CSUM = 0x8 IFLA_GENEVE_UDP_ZERO_CSUM6_TX = 0x9 IFLA_GENEVE_UDP_ZERO_CSUM6_RX = 0xa IFLA_GENEVE_LABEL = 0xb IFLA_GENEVE_TTL_INHERIT = 0xc IFLA_GENEVE_DF = 0xd IFLA_GENEVE_INNER_PROTO_INHERIT = 0xe IFLA_BAREUDP_UNSPEC = 0x0 IFLA_BAREUDP_PORT = 0x1 IFLA_BAREUDP_ETHERTYPE = 0x2 IFLA_BAREUDP_SRCPORT_MIN = 0x3 IFLA_BAREUDP_MULTIPROTO_MODE = 0x4 IFLA_PPP_UNSPEC = 0x0 IFLA_PPP_DEV_FD = 0x1 IFLA_GTP_UNSPEC = 0x0 IFLA_GTP_FD0 = 0x1 IFLA_GTP_FD1 = 0x2 IFLA_GTP_PDP_HASHSIZE = 0x3 IFLA_GTP_ROLE = 0x4 IFLA_GTP_CREATE_SOCKETS = 0x5 IFLA_GTP_RESTART_COUNT = 0x6 IFLA_BOND_UNSPEC = 0x0 IFLA_BOND_MODE = 0x1 IFLA_BOND_ACTIVE_SLAVE = 0x2 IFLA_BOND_MIIMON = 0x3 IFLA_BOND_UPDELAY = 0x4 IFLA_BOND_DOWNDELAY = 0x5 IFLA_BOND_USE_CARRIER = 0x6 IFLA_BOND_ARP_INTERVAL = 0x7 IFLA_BOND_ARP_IP_TARGET = 0x8 IFLA_BOND_ARP_VALIDATE = 0x9 IFLA_BOND_ARP_ALL_TARGETS = 0xa IFLA_BOND_PRIMARY = 0xb IFLA_BOND_PRIMARY_RESELECT = 0xc IFLA_BOND_FAIL_OVER_MAC = 0xd IFLA_BOND_XMIT_HASH_POLICY = 0xe IFLA_BOND_RESEND_IGMP = 0xf IFLA_BOND_NUM_PEER_NOTIF = 0x10 IFLA_BOND_ALL_SLAVES_ACTIVE = 0x11 IFLA_BOND_MIN_LINKS = 0x12 IFLA_BOND_LP_INTERVAL = 0x13 IFLA_BOND_PACKETS_PER_SLAVE = 0x14 IFLA_BOND_AD_LACP_RATE = 0x15 IFLA_BOND_AD_SELECT = 0x16 IFLA_BOND_AD_INFO = 0x17 IFLA_BOND_AD_ACTOR_SYS_PRIO = 0x18 IFLA_BOND_AD_USER_PORT_KEY = 0x19 IFLA_BOND_AD_ACTOR_SYSTEM = 0x1a IFLA_BOND_TLB_DYNAMIC_LB = 0x1b IFLA_BOND_PEER_NOTIF_DELAY = 0x1c IFLA_BOND_AD_LACP_ACTIVE = 0x1d IFLA_BOND_MISSED_MAX = 0x1e IFLA_BOND_NS_IP6_TARGET = 0x1f IFLA_BOND_AD_INFO_UNSPEC = 0x0 IFLA_BOND_AD_INFO_AGGREGATOR = 0x1 IFLA_BOND_AD_INFO_NUM_PORTS = 0x2 IFLA_BOND_AD_INFO_ACTOR_KEY = 0x3 IFLA_BOND_AD_INFO_PARTNER_KEY = 0x4 IFLA_BOND_AD_INFO_PARTNER_MAC = 0x5 IFLA_BOND_SLAVE_UNSPEC = 0x0 IFLA_BOND_SLAVE_STATE = 0x1 IFLA_BOND_SLAVE_MII_STATUS = 0x2 IFLA_BOND_SLAVE_LINK_FAILURE_COUNT = 0x3 IFLA_BOND_SLAVE_PERM_HWADDR = 0x4 IFLA_BOND_SLAVE_QUEUE_ID = 0x5 IFLA_BOND_SLAVE_AD_AGGREGATOR_ID = 0x6 IFLA_BOND_SLAVE_AD_ACTOR_OPER_PORT_STATE = 0x7 IFLA_BOND_SLAVE_AD_PARTNER_OPER_PORT_STATE = 0x8 IFLA_BOND_SLAVE_PRIO = 0x9 IFLA_VF_INFO_UNSPEC = 0x0 IFLA_VF_INFO = 0x1 IFLA_VF_UNSPEC = 0x0 IFLA_VF_MAC = 0x1 IFLA_VF_VLAN = 0x2 IFLA_VF_TX_RATE = 0x3 IFLA_VF_SPOOFCHK = 0x4 IFLA_VF_LINK_STATE = 0x5 IFLA_VF_RATE = 0x6 IFLA_VF_RSS_QUERY_EN = 0x7 IFLA_VF_STATS = 0x8 IFLA_VF_TRUST = 0x9 IFLA_VF_IB_NODE_GUID = 0xa IFLA_VF_IB_PORT_GUID = 0xb IFLA_VF_VLAN_LIST = 0xc IFLA_VF_BROADCAST = 0xd IFLA_VF_VLAN_INFO_UNSPEC = 0x0 IFLA_VF_VLAN_INFO = 0x1 IFLA_VF_LINK_STATE_AUTO = 0x0 IFLA_VF_LINK_STATE_ENABLE = 0x1 IFLA_VF_LINK_STATE_DISABLE = 0x2 IFLA_VF_STATS_RX_PACKETS = 0x0 IFLA_VF_STATS_TX_PACKETS = 0x1 IFLA_VF_STATS_RX_BYTES = 0x2 IFLA_VF_STATS_TX_BYTES = 0x3 IFLA_VF_STATS_BROADCAST = 0x4 IFLA_VF_STATS_MULTICAST = 0x5 IFLA_VF_STATS_PAD = 0x6 IFLA_VF_STATS_RX_DROPPED = 0x7 IFLA_VF_STATS_TX_DROPPED = 0x8 IFLA_VF_PORT_UNSPEC = 0x0 IFLA_VF_PORT = 0x1 IFLA_PORT_UNSPEC = 0x0 IFLA_PORT_VF = 0x1 IFLA_PORT_PROFILE = 0x2 IFLA_PORT_VSI_TYPE = 0x3 IFLA_PORT_INSTANCE_UUID = 0x4 IFLA_PORT_HOST_UUID = 0x5 IFLA_PORT_REQUEST = 0x6 IFLA_PORT_RESPONSE = 0x7 IFLA_IPOIB_UNSPEC = 0x0 IFLA_IPOIB_PKEY = 0x1 IFLA_IPOIB_MODE = 0x2 IFLA_IPOIB_UMCAST = 0x3 IFLA_HSR_UNSPEC = 0x0 IFLA_HSR_SLAVE1 = 0x1 IFLA_HSR_SLAVE2 = 0x2 IFLA_HSR_MULTICAST_SPEC = 0x3 IFLA_HSR_SUPERVISION_ADDR = 0x4 IFLA_HSR_SEQ_NR = 0x5 IFLA_HSR_VERSION = 0x6 IFLA_HSR_PROTOCOL = 0x7 IFLA_STATS_UNSPEC = 0x0 IFLA_STATS_LINK_64 = 0x1 IFLA_STATS_LINK_XSTATS = 0x2 IFLA_STATS_LINK_XSTATS_SLAVE = 0x3 IFLA_STATS_LINK_OFFLOAD_XSTATS = 0x4 IFLA_STATS_AF_SPEC = 0x5 IFLA_STATS_GETSET_UNSPEC = 0x0 IFLA_STATS_GET_FILTERS = 0x1 IFLA_STATS_SET_OFFLOAD_XSTATS_L3_STATS = 0x2 IFLA_OFFLOAD_XSTATS_UNSPEC = 0x0 IFLA_OFFLOAD_XSTATS_CPU_HIT = 0x1 IFLA_OFFLOAD_XSTATS_HW_S_INFO = 0x2 IFLA_OFFLOAD_XSTATS_L3_STATS = 0x3 IFLA_OFFLOAD_XSTATS_HW_S_INFO_UNSPEC = 0x0 IFLA_OFFLOAD_XSTATS_HW_S_INFO_REQUEST = 0x1 IFLA_OFFLOAD_XSTATS_HW_S_INFO_USED = 0x2 IFLA_XDP_UNSPEC = 0x0 IFLA_XDP_FD = 0x1 IFLA_XDP_ATTACHED = 0x2 IFLA_XDP_FLAGS = 0x3 IFLA_XDP_PROG_ID = 0x4 IFLA_XDP_DRV_PROG_ID = 0x5 IFLA_XDP_SKB_PROG_ID = 0x6 IFLA_XDP_HW_PROG_ID = 0x7 IFLA_XDP_EXPECTED_FD = 0x8 IFLA_EVENT_NONE = 0x0 IFLA_EVENT_REBOOT = 0x1 IFLA_EVENT_FEATURES = 0x2 IFLA_EVENT_BONDING_FAILOVER = 0x3 IFLA_EVENT_NOTIFY_PEERS = 0x4 IFLA_EVENT_IGMP_RESEND = 0x5 IFLA_EVENT_BONDING_OPTIONS = 0x6 IFLA_TUN_UNSPEC = 0x0 IFLA_TUN_OWNER = 0x1 IFLA_TUN_GROUP = 0x2 IFLA_TUN_TYPE = 0x3 IFLA_TUN_PI = 0x4 IFLA_TUN_VNET_HDR = 0x5 IFLA_TUN_PERSIST = 0x6 IFLA_TUN_MULTI_QUEUE = 0x7 IFLA_TUN_NUM_QUEUES = 0x8 IFLA_TUN_NUM_DISABLED_QUEUES = 0x9 IFLA_RMNET_UNSPEC = 0x0 IFLA_RMNET_MUX_ID = 0x1 IFLA_RMNET_FLAGS = 0x2 IFLA_MCTP_UNSPEC = 0x0 IFLA_MCTP_NET = 0x1 IFLA_DSA_UNSPEC = 0x0 IFLA_DSA_CONDUIT = 0x1 IFLA_DSA_MASTER = 0x1 ) const ( NF_INET_PRE_ROUTING = 0x0 NF_INET_LOCAL_IN = 0x1 NF_INET_FORWARD = 0x2 NF_INET_LOCAL_OUT = 0x3 NF_INET_POST_ROUTING = 0x4 NF_INET_NUMHOOKS = 0x5 ) const ( NF_NETDEV_INGRESS = 0x0 NF_NETDEV_EGRESS = 0x1 NF_NETDEV_NUMHOOKS = 0x2 ) const ( NFPROTO_UNSPEC = 0x0 NFPROTO_INET = 0x1 NFPROTO_IPV4 = 0x2 NFPROTO_ARP = 0x3 NFPROTO_NETDEV = 0x5 NFPROTO_BRIDGE = 0x7 NFPROTO_IPV6 = 0xa NFPROTO_DECNET = 0xc NFPROTO_NUMPROTO = 0xd ) const SO_ORIGINAL_DST = 0x50 type Nfgenmsg struct { Nfgen_family uint8 Version uint8 Res_id uint16 } const ( NFNL_BATCH_UNSPEC = 0x0 NFNL_BATCH_GENID = 0x1 ) const ( NFT_REG_VERDICT = 0x0 NFT_REG_1 = 0x1 NFT_REG_2 = 0x2 NFT_REG_3 = 0x3 NFT_REG_4 = 0x4 NFT_REG32_00 = 0x8 NFT_REG32_01 = 0x9 NFT_REG32_02 = 0xa NFT_REG32_03 = 0xb NFT_REG32_04 = 0xc NFT_REG32_05 = 0xd NFT_REG32_06 = 0xe NFT_REG32_07 = 0xf NFT_REG32_08 = 0x10 NFT_REG32_09 = 0x11 NFT_REG32_10 = 0x12 NFT_REG32_11 = 0x13 NFT_REG32_12 = 0x14 NFT_REG32_13 = 0x15 NFT_REG32_14 = 0x16 NFT_REG32_15 = 0x17 NFT_CONTINUE = -0x1 NFT_BREAK = -0x2 NFT_JUMP = -0x3 NFT_GOTO = -0x4 NFT_RETURN = -0x5 NFT_MSG_NEWTABLE = 0x0 NFT_MSG_GETTABLE = 0x1 NFT_MSG_DELTABLE = 0x2 NFT_MSG_NEWCHAIN = 0x3 NFT_MSG_GETCHAIN = 0x4 NFT_MSG_DELCHAIN = 0x5 NFT_MSG_NEWRULE = 0x6 NFT_MSG_GETRULE = 0x7 NFT_MSG_DELRULE = 0x8 NFT_MSG_NEWSET = 0x9 NFT_MSG_GETSET = 0xa NFT_MSG_DELSET = 0xb NFT_MSG_NEWSETELEM = 0xc NFT_MSG_GETSETELEM = 0xd NFT_MSG_DELSETELEM = 0xe NFT_MSG_NEWGEN = 0xf NFT_MSG_GETGEN = 0x10 NFT_MSG_TRACE = 0x11 NFT_MSG_NEWOBJ = 0x12 NFT_MSG_GETOBJ = 0x13 NFT_MSG_DELOBJ = 0x14 NFT_MSG_GETOBJ_RESET = 0x15 NFT_MSG_NEWFLOWTABLE = 0x16 NFT_MSG_GETFLOWTABLE = 0x17 NFT_MSG_DELFLOWTABLE = 0x18 NFT_MSG_GETRULE_RESET = 0x19 NFT_MSG_MAX = 0x22 NFTA_LIST_UNSPEC = 0x0 NFTA_LIST_ELEM = 0x1 NFTA_HOOK_UNSPEC = 0x0 NFTA_HOOK_HOOKNUM = 0x1 NFTA_HOOK_PRIORITY = 0x2 NFTA_HOOK_DEV = 0x3 NFT_TABLE_F_DORMANT = 0x1 NFTA_TABLE_UNSPEC = 0x0 NFTA_TABLE_NAME = 0x1 NFTA_TABLE_FLAGS = 0x2 NFTA_TABLE_USE = 0x3 NFTA_CHAIN_UNSPEC = 0x0 NFTA_CHAIN_TABLE = 0x1 NFTA_CHAIN_HANDLE = 0x2 NFTA_CHAIN_NAME = 0x3 NFTA_CHAIN_HOOK = 0x4 NFTA_CHAIN_POLICY = 0x5 NFTA_CHAIN_USE = 0x6 NFTA_CHAIN_TYPE = 0x7 NFTA_CHAIN_COUNTERS = 0x8 NFTA_CHAIN_PAD = 0x9 NFTA_RULE_UNSPEC = 0x0 NFTA_RULE_TABLE = 0x1 NFTA_RULE_CHAIN = 0x2 NFTA_RULE_HANDLE = 0x3 NFTA_RULE_EXPRESSIONS = 0x4 NFTA_RULE_COMPAT = 0x5 NFTA_RULE_POSITION = 0x6 NFTA_RULE_USERDATA = 0x7 NFTA_RULE_PAD = 0x8 NFTA_RULE_ID = 0x9 NFT_RULE_COMPAT_F_INV = 0x2 NFT_RULE_COMPAT_F_MASK = 0x2 NFTA_RULE_COMPAT_UNSPEC = 0x0 NFTA_RULE_COMPAT_PROTO = 0x1 NFTA_RULE_COMPAT_FLAGS = 0x2 NFT_SET_ANONYMOUS = 0x1 NFT_SET_CONSTANT = 0x2 NFT_SET_INTERVAL = 0x4 NFT_SET_MAP = 0x8 NFT_SET_TIMEOUT = 0x10 NFT_SET_EVAL = 0x20 NFT_SET_OBJECT = 0x40 NFT_SET_POL_PERFORMANCE = 0x0 NFT_SET_POL_MEMORY = 0x1 NFTA_SET_DESC_UNSPEC = 0x0 NFTA_SET_DESC_SIZE = 0x1 NFTA_SET_UNSPEC = 0x0 NFTA_SET_TABLE = 0x1 NFTA_SET_NAME = 0x2 NFTA_SET_FLAGS = 0x3 NFTA_SET_KEY_TYPE = 0x4 NFTA_SET_KEY_LEN = 0x5 NFTA_SET_DATA_TYPE = 0x6 NFTA_SET_DATA_LEN = 0x7 NFTA_SET_POLICY = 0x8 NFTA_SET_DESC = 0x9 NFTA_SET_ID = 0xa NFTA_SET_TIMEOUT = 0xb NFTA_SET_GC_INTERVAL = 0xc NFTA_SET_USERDATA = 0xd NFTA_SET_PAD = 0xe NFTA_SET_OBJ_TYPE = 0xf NFT_SET_ELEM_INTERVAL_END = 0x1 NFTA_SET_ELEM_UNSPEC = 0x0 NFTA_SET_ELEM_KEY = 0x1 NFTA_SET_ELEM_DATA = 0x2 NFTA_SET_ELEM_FLAGS = 0x3 NFTA_SET_ELEM_TIMEOUT = 0x4 NFTA_SET_ELEM_EXPIRATION = 0x5 NFTA_SET_ELEM_USERDATA = 0x6 NFTA_SET_ELEM_EXPR = 0x7 NFTA_SET_ELEM_PAD = 0x8 NFTA_SET_ELEM_OBJREF = 0x9 NFTA_SET_ELEM_LIST_UNSPEC = 0x0 NFTA_SET_ELEM_LIST_TABLE = 0x1 NFTA_SET_ELEM_LIST_SET = 0x2 NFTA_SET_ELEM_LIST_ELEMENTS = 0x3 NFTA_SET_ELEM_LIST_SET_ID = 0x4 NFT_DATA_VALUE = 0x0 NFT_DATA_VERDICT = 0xffffff00 NFTA_DATA_UNSPEC = 0x0 NFTA_DATA_VALUE = 0x1 NFTA_DATA_VERDICT = 0x2 NFTA_VERDICT_UNSPEC = 0x0 NFTA_VERDICT_CODE = 0x1 NFTA_VERDICT_CHAIN = 0x2 NFTA_EXPR_UNSPEC = 0x0 NFTA_EXPR_NAME = 0x1 NFTA_EXPR_DATA = 0x2 NFTA_IMMEDIATE_UNSPEC = 0x0 NFTA_IMMEDIATE_DREG = 0x1 NFTA_IMMEDIATE_DATA = 0x2 NFTA_BITWISE_UNSPEC = 0x0 NFTA_BITWISE_SREG = 0x1 NFTA_BITWISE_DREG = 0x2 NFTA_BITWISE_LEN = 0x3 NFTA_BITWISE_MASK = 0x4 NFTA_BITWISE_XOR = 0x5 NFT_BYTEORDER_NTOH = 0x0 NFT_BYTEORDER_HTON = 0x1 NFTA_BYTEORDER_UNSPEC = 0x0 NFTA_BYTEORDER_SREG = 0x1 NFTA_BYTEORDER_DREG = 0x2 NFTA_BYTEORDER_OP = 0x3 NFTA_BYTEORDER_LEN = 0x4 NFTA_BYTEORDER_SIZE = 0x5 NFT_CMP_EQ = 0x0 NFT_CMP_NEQ = 0x1 NFT_CMP_LT = 0x2 NFT_CMP_LTE = 0x3 NFT_CMP_GT = 0x4 NFT_CMP_GTE = 0x5 NFTA_CMP_UNSPEC = 0x0 NFTA_CMP_SREG = 0x1 NFTA_CMP_OP = 0x2 NFTA_CMP_DATA = 0x3 NFT_RANGE_EQ = 0x0 NFT_RANGE_NEQ = 0x1 NFTA_RANGE_UNSPEC = 0x0 NFTA_RANGE_SREG = 0x1 NFTA_RANGE_OP = 0x2 NFTA_RANGE_FROM_DATA = 0x3 NFTA_RANGE_TO_DATA = 0x4 NFT_LOOKUP_F_INV = 0x1 NFTA_LOOKUP_UNSPEC = 0x0 NFTA_LOOKUP_SET = 0x1 NFTA_LOOKUP_SREG = 0x2 NFTA_LOOKUP_DREG = 0x3 NFTA_LOOKUP_SET_ID = 0x4 NFTA_LOOKUP_FLAGS = 0x5 NFT_DYNSET_OP_ADD = 0x0 NFT_DYNSET_OP_UPDATE = 0x1 NFT_DYNSET_F_INV = 0x1 NFTA_DYNSET_UNSPEC = 0x0 NFTA_DYNSET_SET_NAME = 0x1 NFTA_DYNSET_SET_ID = 0x2 NFTA_DYNSET_OP = 0x3 NFTA_DYNSET_SREG_KEY = 0x4 NFTA_DYNSET_SREG_DATA = 0x5 NFTA_DYNSET_TIMEOUT = 0x6 NFTA_DYNSET_EXPR = 0x7 NFTA_DYNSET_PAD = 0x8 NFTA_DYNSET_FLAGS = 0x9 NFT_PAYLOAD_LL_HEADER = 0x0 NFT_PAYLOAD_NETWORK_HEADER = 0x1 NFT_PAYLOAD_TRANSPORT_HEADER = 0x2 NFT_PAYLOAD_CSUM_NONE = 0x0 NFT_PAYLOAD_CSUM_INET = 0x1 NFT_PAYLOAD_L4CSUM_PSEUDOHDR = 0x1 NFTA_PAYLOAD_UNSPEC = 0x0 NFTA_PAYLOAD_DREG = 0x1 NFTA_PAYLOAD_BASE = 0x2 NFTA_PAYLOAD_OFFSET = 0x3 NFTA_PAYLOAD_LEN = 0x4 NFTA_PAYLOAD_SREG = 0x5 NFTA_PAYLOAD_CSUM_TYPE = 0x6 NFTA_PAYLOAD_CSUM_OFFSET = 0x7 NFTA_PAYLOAD_CSUM_FLAGS = 0x8 NFT_EXTHDR_F_PRESENT = 0x1 NFT_EXTHDR_OP_IPV6 = 0x0 NFT_EXTHDR_OP_TCPOPT = 0x1 NFTA_EXTHDR_UNSPEC = 0x0 NFTA_EXTHDR_DREG = 0x1 NFTA_EXTHDR_TYPE = 0x2 NFTA_EXTHDR_OFFSET = 0x3 NFTA_EXTHDR_LEN = 0x4 NFTA_EXTHDR_FLAGS = 0x5 NFTA_EXTHDR_OP = 0x6 NFTA_EXTHDR_SREG = 0x7 NFT_META_LEN = 0x0 NFT_META_PROTOCOL = 0x1 NFT_META_PRIORITY = 0x2 NFT_META_MARK = 0x3 NFT_META_IIF = 0x4 NFT_META_OIF = 0x5 NFT_META_IIFNAME = 0x6 NFT_META_OIFNAME = 0x7 NFT_META_IIFTYPE = 0x8 NFT_META_OIFTYPE = 0x9 NFT_META_SKUID = 0xa NFT_META_SKGID = 0xb NFT_META_NFTRACE = 0xc NFT_META_RTCLASSID = 0xd NFT_META_SECMARK = 0xe NFT_META_NFPROTO = 0xf NFT_META_L4PROTO = 0x10 NFT_META_BRI_IIFNAME = 0x11 NFT_META_BRI_OIFNAME = 0x12 NFT_META_PKTTYPE = 0x13 NFT_META_CPU = 0x14 NFT_META_IIFGROUP = 0x15 NFT_META_OIFGROUP = 0x16 NFT_META_CGROUP = 0x17 NFT_META_PRANDOM = 0x18 NFT_RT_CLASSID = 0x0 NFT_RT_NEXTHOP4 = 0x1 NFT_RT_NEXTHOP6 = 0x2 NFT_RT_TCPMSS = 0x3 NFT_HASH_JENKINS = 0x0 NFT_HASH_SYM = 0x1 NFTA_HASH_UNSPEC = 0x0 NFTA_HASH_SREG = 0x1 NFTA_HASH_DREG = 0x2 NFTA_HASH_LEN = 0x3 NFTA_HASH_MODULUS = 0x4 NFTA_HASH_SEED = 0x5 NFTA_HASH_OFFSET = 0x6 NFTA_HASH_TYPE = 0x7 NFTA_META_UNSPEC = 0x0 NFTA_META_DREG = 0x1 NFTA_META_KEY = 0x2 NFTA_META_SREG = 0x3 NFTA_RT_UNSPEC = 0x0 NFTA_RT_DREG = 0x1 NFTA_RT_KEY = 0x2 NFT_CT_STATE = 0x0 NFT_CT_DIRECTION = 0x1 NFT_CT_STATUS = 0x2 NFT_CT_MARK = 0x3 NFT_CT_SECMARK = 0x4 NFT_CT_EXPIRATION = 0x5 NFT_CT_HELPER = 0x6 NFT_CT_L3PROTOCOL = 0x7 NFT_CT_SRC = 0x8 NFT_CT_DST = 0x9 NFT_CT_PROTOCOL = 0xa NFT_CT_PROTO_SRC = 0xb NFT_CT_PROTO_DST = 0xc NFT_CT_LABELS = 0xd NFT_CT_PKTS = 0xe NFT_CT_BYTES = 0xf NFT_CT_AVGPKT = 0x10 NFT_CT_ZONE = 0x11 NFT_CT_EVENTMASK = 0x12 NFTA_CT_UNSPEC = 0x0 NFTA_CT_DREG = 0x1 NFTA_CT_KEY = 0x2 NFTA_CT_DIRECTION = 0x3 NFTA_CT_SREG = 0x4 NFT_LIMIT_PKTS = 0x0 NFT_LIMIT_PKT_BYTES = 0x1 NFT_LIMIT_F_INV = 0x1 NFTA_LIMIT_UNSPEC = 0x0 NFTA_LIMIT_RATE = 0x1 NFTA_LIMIT_UNIT = 0x2 NFTA_LIMIT_BURST = 0x3 NFTA_LIMIT_TYPE = 0x4 NFTA_LIMIT_FLAGS = 0x5 NFTA_LIMIT_PAD = 0x6 NFTA_COUNTER_UNSPEC = 0x0 NFTA_COUNTER_BYTES = 0x1 NFTA_COUNTER_PACKETS = 0x2 NFTA_COUNTER_PAD = 0x3 NFTA_LOG_UNSPEC = 0x0 NFTA_LOG_GROUP = 0x1 NFTA_LOG_PREFIX = 0x2 NFTA_LOG_SNAPLEN = 0x3 NFTA_LOG_QTHRESHOLD = 0x4 NFTA_LOG_LEVEL = 0x5 NFTA_LOG_FLAGS = 0x6 NFTA_QUEUE_UNSPEC = 0x0 NFTA_QUEUE_NUM = 0x1 NFTA_QUEUE_TOTAL = 0x2 NFTA_QUEUE_FLAGS = 0x3 NFTA_QUEUE_SREG_QNUM = 0x4 NFT_QUOTA_F_INV = 0x1 NFT_QUOTA_F_DEPLETED = 0x2 NFTA_QUOTA_UNSPEC = 0x0 NFTA_QUOTA_BYTES = 0x1 NFTA_QUOTA_FLAGS = 0x2 NFTA_QUOTA_PAD = 0x3 NFTA_QUOTA_CONSUMED = 0x4 NFT_REJECT_ICMP_UNREACH = 0x0 NFT_REJECT_TCP_RST = 0x1 NFT_REJECT_ICMPX_UNREACH = 0x2 NFT_REJECT_ICMPX_NO_ROUTE = 0x0 NFT_REJECT_ICMPX_PORT_UNREACH = 0x1 NFT_REJECT_ICMPX_HOST_UNREACH = 0x2 NFT_REJECT_ICMPX_ADMIN_PROHIBITED = 0x3 NFTA_REJECT_UNSPEC = 0x0 NFTA_REJECT_TYPE = 0x1 NFTA_REJECT_ICMP_CODE = 0x2 NFT_NAT_SNAT = 0x0 NFT_NAT_DNAT = 0x1 NFTA_NAT_UNSPEC = 0x0 NFTA_NAT_TYPE = 0x1 NFTA_NAT_FAMILY = 0x2 NFTA_NAT_REG_ADDR_MIN = 0x3 NFTA_NAT_REG_ADDR_MAX = 0x4 NFTA_NAT_REG_PROTO_MIN = 0x5 NFTA_NAT_REG_PROTO_MAX = 0x6 NFTA_NAT_FLAGS = 0x7 NFTA_MASQ_UNSPEC = 0x0 NFTA_MASQ_FLAGS = 0x1 NFTA_MASQ_REG_PROTO_MIN = 0x2 NFTA_MASQ_REG_PROTO_MAX = 0x3 NFTA_REDIR_UNSPEC = 0x0 NFTA_REDIR_REG_PROTO_MIN = 0x1 NFTA_REDIR_REG_PROTO_MAX = 0x2 NFTA_REDIR_FLAGS = 0x3 NFTA_DUP_UNSPEC = 0x0 NFTA_DUP_SREG_ADDR = 0x1 NFTA_DUP_SREG_DEV = 0x2 NFTA_FWD_UNSPEC = 0x0 NFTA_FWD_SREG_DEV = 0x1 NFTA_OBJREF_UNSPEC = 0x0 NFTA_OBJREF_IMM_TYPE = 0x1 NFTA_OBJREF_IMM_NAME = 0x2 NFTA_OBJREF_SET_SREG = 0x3 NFTA_OBJREF_SET_NAME = 0x4 NFTA_OBJREF_SET_ID = 0x5 NFTA_GEN_UNSPEC = 0x0 NFTA_GEN_ID = 0x1 NFTA_GEN_PROC_PID = 0x2 NFTA_GEN_PROC_NAME = 0x3 NFTA_FIB_UNSPEC = 0x0 NFTA_FIB_DREG = 0x1 NFTA_FIB_RESULT = 0x2 NFTA_FIB_FLAGS = 0x3 NFT_FIB_RESULT_UNSPEC = 0x0 NFT_FIB_RESULT_OIF = 0x1 NFT_FIB_RESULT_OIFNAME = 0x2 NFT_FIB_RESULT_ADDRTYPE = 0x3 NFTA_FIB_F_SADDR = 0x1 NFTA_FIB_F_DADDR = 0x2 NFTA_FIB_F_MARK = 0x4 NFTA_FIB_F_IIF = 0x8 NFTA_FIB_F_OIF = 0x10 NFTA_FIB_F_PRESENT = 0x20 NFTA_CT_HELPER_UNSPEC = 0x0 NFTA_CT_HELPER_NAME = 0x1 NFTA_CT_HELPER_L3PROTO = 0x2 NFTA_CT_HELPER_L4PROTO = 0x3 NFTA_OBJ_UNSPEC = 0x0 NFTA_OBJ_TABLE = 0x1 NFTA_OBJ_NAME = 0x2 NFTA_OBJ_TYPE = 0x3 NFTA_OBJ_DATA = 0x4 NFTA_OBJ_USE = 0x5 NFTA_TRACE_UNSPEC = 0x0 NFTA_TRACE_TABLE = 0x1 NFTA_TRACE_CHAIN = 0x2 NFTA_TRACE_RULE_HANDLE = 0x3 NFTA_TRACE_TYPE = 0x4 NFTA_TRACE_VERDICT = 0x5 NFTA_TRACE_ID = 0x6 NFTA_TRACE_LL_HEADER = 0x7 NFTA_TRACE_NETWORK_HEADER = 0x8 NFTA_TRACE_TRANSPORT_HEADER = 0x9 NFTA_TRACE_IIF = 0xa NFTA_TRACE_IIFTYPE = 0xb NFTA_TRACE_OIF = 0xc NFTA_TRACE_OIFTYPE = 0xd NFTA_TRACE_MARK = 0xe NFTA_TRACE_NFPROTO = 0xf NFTA_TRACE_POLICY = 0x10 NFTA_TRACE_PAD = 0x11 NFT_TRACETYPE_UNSPEC = 0x0 NFT_TRACETYPE_POLICY = 0x1 NFT_TRACETYPE_RETURN = 0x2 NFT_TRACETYPE_RULE = 0x3 NFTA_NG_UNSPEC = 0x0 NFTA_NG_DREG = 0x1 NFTA_NG_MODULUS = 0x2 NFTA_NG_TYPE = 0x3 NFTA_NG_OFFSET = 0x4 NFT_NG_INCREMENTAL = 0x0 NFT_NG_RANDOM = 0x1 ) const ( NFTA_TARGET_UNSPEC = 0x0 NFTA_TARGET_NAME = 0x1 NFTA_TARGET_REV = 0x2 NFTA_TARGET_INFO = 0x3 NFTA_MATCH_UNSPEC = 0x0 NFTA_MATCH_NAME = 0x1 NFTA_MATCH_REV = 0x2 NFTA_MATCH_INFO = 0x3 NFTA_COMPAT_UNSPEC = 0x0 NFTA_COMPAT_NAME = 0x1 NFTA_COMPAT_REV = 0x2 NFTA_COMPAT_TYPE = 0x3 ) type RTCTime struct { Sec int32 Min int32 Hour int32 Mday int32 Mon int32 Year int32 Wday int32 Yday int32 Isdst int32 } type RTCWkAlrm struct { Enabled uint8 Pending uint8 Time RTCTime } type BlkpgIoctlArg struct { Op int32 Flags int32 Datalen int32 Data *byte } const ( BLKPG_ADD_PARTITION = 0x1 BLKPG_DEL_PARTITION = 0x2 BLKPG_RESIZE_PARTITION = 0x3 ) const ( NETNSA_NONE = 0x0 NETNSA_NSID = 0x1 NETNSA_PID = 0x2 NETNSA_FD = 0x3 NETNSA_TARGET_NSID = 0x4 NETNSA_CURRENT_NSID = 0x5 ) type XDPRingOffset struct { Producer uint64 Consumer uint64 Desc uint64 Flags uint64 } type XDPMmapOffsets struct { Rx XDPRingOffset Tx XDPRingOffset Fr XDPRingOffset Cr XDPRingOffset } type XDPUmemReg struct { Addr uint64 Len uint64 Size uint32 Headroom uint32 Flags uint32 Tx_metadata_len uint32 } type XDPStatistics struct { Rx_dropped uint64 Rx_invalid_descs uint64 Tx_invalid_descs uint64 Rx_ring_full uint64 Rx_fill_ring_empty_descs uint64 Tx_ring_empty_descs uint64 } type XDPDesc struct { Addr uint64 Len uint32 Options uint32 } const ( NCSI_CMD_UNSPEC = 0x0 NCSI_CMD_PKG_INFO = 0x1 NCSI_CMD_SET_INTERFACE = 0x2 NCSI_CMD_CLEAR_INTERFACE = 0x3 NCSI_ATTR_UNSPEC = 0x0 NCSI_ATTR_IFINDEX = 0x1 NCSI_ATTR_PACKAGE_LIST = 0x2 NCSI_ATTR_PACKAGE_ID = 0x3 NCSI_ATTR_CHANNEL_ID = 0x4 NCSI_PKG_ATTR_UNSPEC = 0x0 NCSI_PKG_ATTR = 0x1 NCSI_PKG_ATTR_ID = 0x2 NCSI_PKG_ATTR_FORCED = 0x3 NCSI_PKG_ATTR_CHANNEL_LIST = 0x4 NCSI_CHANNEL_ATTR_UNSPEC = 0x0 NCSI_CHANNEL_ATTR = 0x1 NCSI_CHANNEL_ATTR_ID = 0x2 NCSI_CHANNEL_ATTR_VERSION_MAJOR = 0x3 NCSI_CHANNEL_ATTR_VERSION_MINOR = 0x4 NCSI_CHANNEL_ATTR_VERSION_STR = 0x5 NCSI_CHANNEL_ATTR_LINK_STATE = 0x6 NCSI_CHANNEL_ATTR_ACTIVE = 0x7 NCSI_CHANNEL_ATTR_FORCED = 0x8 NCSI_CHANNEL_ATTR_VLAN_LIST = 0x9 NCSI_CHANNEL_ATTR_VLAN_ID = 0xa ) type ScmTimestamping struct { Ts [3]Timespec } const ( SOF_TIMESTAMPING_TX_HARDWARE = 0x1 SOF_TIMESTAMPING_TX_SOFTWARE = 0x2 SOF_TIMESTAMPING_RX_HARDWARE = 0x4 SOF_TIMESTAMPING_RX_SOFTWARE = 0x8 SOF_TIMESTAMPING_SOFTWARE = 0x10 SOF_TIMESTAMPING_SYS_HARDWARE = 0x20 SOF_TIMESTAMPING_RAW_HARDWARE = 0x40 SOF_TIMESTAMPING_OPT_ID = 0x80 SOF_TIMESTAMPING_TX_SCHED = 0x100 SOF_TIMESTAMPING_TX_ACK = 0x200 SOF_TIMESTAMPING_OPT_CMSG = 0x400 SOF_TIMESTAMPING_OPT_TSONLY = 0x800 SOF_TIMESTAMPING_OPT_STATS = 0x1000 SOF_TIMESTAMPING_OPT_PKTINFO = 0x2000 SOF_TIMESTAMPING_OPT_TX_SWHW = 0x4000 SOF_TIMESTAMPING_BIND_PHC = 0x8000 SOF_TIMESTAMPING_OPT_ID_TCP = 0x10000 SOF_TIMESTAMPING_LAST = 0x10000 SOF_TIMESTAMPING_MASK = 0x1ffff SCM_TSTAMP_SND = 0x0 SCM_TSTAMP_SCHED = 0x1 SCM_TSTAMP_ACK = 0x2 ) type SockExtendedErr struct { Errno uint32 Origin uint8 Type uint8 Code uint8 Pad uint8 Info uint32 Data uint32 } type FanotifyEventMetadata struct { Event_len uint32 Vers uint8 Reserved uint8 Metadata_len uint16 Mask uint64 Fd int32 Pid int32 } type FanotifyResponse struct { Fd int32 Response uint32 } const ( CRYPTO_MSG_BASE = 0x10 CRYPTO_MSG_NEWALG = 0x10 CRYPTO_MSG_DELALG = 0x11 CRYPTO_MSG_UPDATEALG = 0x12 CRYPTO_MSG_GETALG = 0x13 CRYPTO_MSG_DELRNG = 0x14 CRYPTO_MSG_GETSTAT = 0x15 ) const ( CRYPTOCFGA_UNSPEC = 0x0 CRYPTOCFGA_PRIORITY_VAL = 0x1 CRYPTOCFGA_REPORT_LARVAL = 0x2 CRYPTOCFGA_REPORT_HASH = 0x3 CRYPTOCFGA_REPORT_BLKCIPHER = 0x4 CRYPTOCFGA_REPORT_AEAD = 0x5 CRYPTOCFGA_REPORT_COMPRESS = 0x6 CRYPTOCFGA_REPORT_RNG = 0x7 CRYPTOCFGA_REPORT_CIPHER = 0x8 CRYPTOCFGA_REPORT_AKCIPHER = 0x9 CRYPTOCFGA_REPORT_KPP = 0xa CRYPTOCFGA_REPORT_ACOMP = 0xb CRYPTOCFGA_STAT_LARVAL = 0xc CRYPTOCFGA_STAT_HASH = 0xd CRYPTOCFGA_STAT_BLKCIPHER = 0xe CRYPTOCFGA_STAT_AEAD = 0xf CRYPTOCFGA_STAT_COMPRESS = 0x10 CRYPTOCFGA_STAT_RNG = 0x11 CRYPTOCFGA_STAT_CIPHER = 0x12 CRYPTOCFGA_STAT_AKCIPHER = 0x13 CRYPTOCFGA_STAT_KPP = 0x14 CRYPTOCFGA_STAT_ACOMP = 0x15 ) const ( BPF_REG_0 = 0x0 BPF_REG_1 = 0x1 BPF_REG_2 = 0x2 BPF_REG_3 = 0x3 BPF_REG_4 = 0x4 BPF_REG_5 = 0x5 BPF_REG_6 = 0x6 BPF_REG_7 = 0x7 BPF_REG_8 = 0x8 BPF_REG_9 = 0x9 BPF_REG_10 = 0xa BPF_CGROUP_ITER_ORDER_UNSPEC = 0x0 BPF_CGROUP_ITER_SELF_ONLY = 0x1 BPF_CGROUP_ITER_DESCENDANTS_PRE = 0x2 BPF_CGROUP_ITER_DESCENDANTS_POST = 0x3 BPF_CGROUP_ITER_ANCESTORS_UP = 0x4 BPF_MAP_CREATE = 0x0 BPF_MAP_LOOKUP_ELEM = 0x1 BPF_MAP_UPDATE_ELEM = 0x2 BPF_MAP_DELETE_ELEM = 0x3 BPF_MAP_GET_NEXT_KEY = 0x4 BPF_PROG_LOAD = 0x5 BPF_OBJ_PIN = 0x6 BPF_OBJ_GET = 0x7 BPF_PROG_ATTACH = 0x8 BPF_PROG_DETACH = 0x9 BPF_PROG_TEST_RUN = 0xa BPF_PROG_RUN = 0xa BPF_PROG_GET_NEXT_ID = 0xb BPF_MAP_GET_NEXT_ID = 0xc BPF_PROG_GET_FD_BY_ID = 0xd BPF_MAP_GET_FD_BY_ID = 0xe BPF_OBJ_GET_INFO_BY_FD = 0xf BPF_PROG_QUERY = 0x10 BPF_RAW_TRACEPOINT_OPEN = 0x11 BPF_BTF_LOAD = 0x12 BPF_BTF_GET_FD_BY_ID = 0x13 BPF_TASK_FD_QUERY = 0x14 BPF_MAP_LOOKUP_AND_DELETE_ELEM = 0x15 BPF_MAP_FREEZE = 0x16 BPF_BTF_GET_NEXT_ID = 0x17 BPF_MAP_LOOKUP_BATCH = 0x18 BPF_MAP_LOOKUP_AND_DELETE_BATCH = 0x19 BPF_MAP_UPDATE_BATCH = 0x1a BPF_MAP_DELETE_BATCH = 0x1b BPF_LINK_CREATE = 0x1c BPF_LINK_UPDATE = 0x1d BPF_LINK_GET_FD_BY_ID = 0x1e BPF_LINK_GET_NEXT_ID = 0x1f BPF_ENABLE_STATS = 0x20 BPF_ITER_CREATE = 0x21 BPF_LINK_DETACH = 0x22 BPF_PROG_BIND_MAP = 0x23 BPF_MAP_TYPE_UNSPEC = 0x0 BPF_MAP_TYPE_HASH = 0x1 BPF_MAP_TYPE_ARRAY = 0x2 BPF_MAP_TYPE_PROG_ARRAY = 0x3 BPF_MAP_TYPE_PERF_EVENT_ARRAY = 0x4 BPF_MAP_TYPE_PERCPU_HASH = 0x5 BPF_MAP_TYPE_PERCPU_ARRAY = 0x6 BPF_MAP_TYPE_STACK_TRACE = 0x7 BPF_MAP_TYPE_CGROUP_ARRAY = 0x8 BPF_MAP_TYPE_LRU_HASH = 0x9 BPF_MAP_TYPE_LRU_PERCPU_HASH = 0xa BPF_MAP_TYPE_LPM_TRIE = 0xb BPF_MAP_TYPE_ARRAY_OF_MAPS = 0xc BPF_MAP_TYPE_HASH_OF_MAPS = 0xd BPF_MAP_TYPE_DEVMAP = 0xe BPF_MAP_TYPE_SOCKMAP = 0xf BPF_MAP_TYPE_CPUMAP = 0x10 BPF_MAP_TYPE_XSKMAP = 0x11 BPF_MAP_TYPE_SOCKHASH = 0x12 BPF_MAP_TYPE_CGROUP_STORAGE_DEPRECATED = 0x13 BPF_MAP_TYPE_CGROUP_STORAGE = 0x13 BPF_MAP_TYPE_REUSEPORT_SOCKARRAY = 0x14 BPF_MAP_TYPE_PERCPU_CGROUP_STORAGE = 0x15 BPF_MAP_TYPE_QUEUE = 0x16 BPF_MAP_TYPE_STACK = 0x17 BPF_MAP_TYPE_SK_STORAGE = 0x18 BPF_MAP_TYPE_DEVMAP_HASH = 0x19 BPF_MAP_TYPE_STRUCT_OPS = 0x1a BPF_MAP_TYPE_RINGBUF = 0x1b BPF_MAP_TYPE_INODE_STORAGE = 0x1c BPF_MAP_TYPE_TASK_STORAGE = 0x1d BPF_MAP_TYPE_BLOOM_FILTER = 0x1e BPF_MAP_TYPE_USER_RINGBUF = 0x1f BPF_MAP_TYPE_CGRP_STORAGE = 0x20 BPF_PROG_TYPE_UNSPEC = 0x0 BPF_PROG_TYPE_SOCKET_FILTER = 0x1 BPF_PROG_TYPE_KPROBE = 0x2 BPF_PROG_TYPE_SCHED_CLS = 0x3 BPF_PROG_TYPE_SCHED_ACT = 0x4 BPF_PROG_TYPE_TRACEPOINT = 0x5 BPF_PROG_TYPE_XDP = 0x6 BPF_PROG_TYPE_PERF_EVENT = 0x7 BPF_PROG_TYPE_CGROUP_SKB = 0x8 BPF_PROG_TYPE_CGROUP_SOCK = 0x9 BPF_PROG_TYPE_LWT_IN = 0xa BPF_PROG_TYPE_LWT_OUT = 0xb BPF_PROG_TYPE_LWT_XMIT = 0xc BPF_PROG_TYPE_SOCK_OPS = 0xd BPF_PROG_TYPE_SK_SKB = 0xe BPF_PROG_TYPE_CGROUP_DEVICE = 0xf BPF_PROG_TYPE_SK_MSG = 0x10 BPF_PROG_TYPE_RAW_TRACEPOINT = 0x11 BPF_PROG_TYPE_CGROUP_SOCK_ADDR = 0x12 BPF_PROG_TYPE_LWT_SEG6LOCAL = 0x13 BPF_PROG_TYPE_LIRC_MODE2 = 0x14 BPF_PROG_TYPE_SK_REUSEPORT = 0x15 BPF_PROG_TYPE_FLOW_DISSECTOR = 0x16 BPF_PROG_TYPE_CGROUP_SYSCTL = 0x17 BPF_PROG_TYPE_RAW_TRACEPOINT_WRITABLE = 0x18 BPF_PROG_TYPE_CGROUP_SOCKOPT = 0x19 BPF_PROG_TYPE_TRACING = 0x1a BPF_PROG_TYPE_STRUCT_OPS = 0x1b BPF_PROG_TYPE_EXT = 0x1c BPF_PROG_TYPE_LSM = 0x1d BPF_PROG_TYPE_SK_LOOKUP = 0x1e BPF_PROG_TYPE_SYSCALL = 0x1f BPF_PROG_TYPE_NETFILTER = 0x20 BPF_CGROUP_INET_INGRESS = 0x0 BPF_CGROUP_INET_EGRESS = 0x1 BPF_CGROUP_INET_SOCK_CREATE = 0x2 BPF_CGROUP_SOCK_OPS = 0x3 BPF_SK_SKB_STREAM_PARSER = 0x4 BPF_SK_SKB_STREAM_VERDICT = 0x5 BPF_CGROUP_DEVICE = 0x6 BPF_SK_MSG_VERDICT = 0x7 BPF_CGROUP_INET4_BIND = 0x8 BPF_CGROUP_INET6_BIND = 0x9 BPF_CGROUP_INET4_CONNECT = 0xa BPF_CGROUP_INET6_CONNECT = 0xb BPF_CGROUP_INET4_POST_BIND = 0xc BPF_CGROUP_INET6_POST_BIND = 0xd BPF_CGROUP_UDP4_SENDMSG = 0xe BPF_CGROUP_UDP6_SENDMSG = 0xf BPF_LIRC_MODE2 = 0x10 BPF_FLOW_DISSECTOR = 0x11 BPF_CGROUP_SYSCTL = 0x12 BPF_CGROUP_UDP4_RECVMSG = 0x13 BPF_CGROUP_UDP6_RECVMSG = 0x14 BPF_CGROUP_GETSOCKOPT = 0x15 BPF_CGROUP_SETSOCKOPT = 0x16 BPF_TRACE_RAW_TP = 0x17 BPF_TRACE_FENTRY = 0x18 BPF_TRACE_FEXIT = 0x19 BPF_MODIFY_RETURN = 0x1a BPF_LSM_MAC = 0x1b BPF_TRACE_ITER = 0x1c BPF_CGROUP_INET4_GETPEERNAME = 0x1d BPF_CGROUP_INET6_GETPEERNAME = 0x1e BPF_CGROUP_INET4_GETSOCKNAME = 0x1f BPF_CGROUP_INET6_GETSOCKNAME = 0x20 BPF_XDP_DEVMAP = 0x21 BPF_CGROUP_INET_SOCK_RELEASE = 0x22 BPF_XDP_CPUMAP = 0x23 BPF_SK_LOOKUP = 0x24 BPF_XDP = 0x25 BPF_SK_SKB_VERDICT = 0x26 BPF_SK_REUSEPORT_SELECT = 0x27 BPF_SK_REUSEPORT_SELECT_OR_MIGRATE = 0x28 BPF_PERF_EVENT = 0x29 BPF_TRACE_KPROBE_MULTI = 0x2a BPF_LSM_CGROUP = 0x2b BPF_STRUCT_OPS = 0x2c BPF_NETFILTER = 0x2d BPF_TCX_INGRESS = 0x2e BPF_TCX_EGRESS = 0x2f BPF_TRACE_UPROBE_MULTI = 0x30 BPF_LINK_TYPE_UNSPEC = 0x0 BPF_LINK_TYPE_RAW_TRACEPOINT = 0x1 BPF_LINK_TYPE_TRACING = 0x2 BPF_LINK_TYPE_CGROUP = 0x3 BPF_LINK_TYPE_ITER = 0x4 BPF_LINK_TYPE_NETNS = 0x5 BPF_LINK_TYPE_XDP = 0x6 BPF_LINK_TYPE_PERF_EVENT = 0x7 BPF_LINK_TYPE_KPROBE_MULTI = 0x8 BPF_LINK_TYPE_STRUCT_OPS = 0x9 BPF_LINK_TYPE_NETFILTER = 0xa BPF_LINK_TYPE_TCX = 0xb BPF_LINK_TYPE_UPROBE_MULTI = 0xc BPF_PERF_EVENT_UNSPEC = 0x0 BPF_PERF_EVENT_UPROBE = 0x1 BPF_PERF_EVENT_URETPROBE = 0x2 BPF_PERF_EVENT_KPROBE = 0x3 BPF_PERF_EVENT_KRETPROBE = 0x4 BPF_PERF_EVENT_TRACEPOINT = 0x5 BPF_PERF_EVENT_EVENT = 0x6 BPF_F_KPROBE_MULTI_RETURN = 0x1 BPF_F_UPROBE_MULTI_RETURN = 0x1 BPF_ANY = 0x0 BPF_NOEXIST = 0x1 BPF_EXIST = 0x2 BPF_F_LOCK = 0x4 BPF_F_NO_PREALLOC = 0x1 BPF_F_NO_COMMON_LRU = 0x2 BPF_F_NUMA_NODE = 0x4 BPF_F_RDONLY = 0x8 BPF_F_WRONLY = 0x10 BPF_F_STACK_BUILD_ID = 0x20 BPF_F_ZERO_SEED = 0x40 BPF_F_RDONLY_PROG = 0x80 BPF_F_WRONLY_PROG = 0x100 BPF_F_CLONE = 0x200 BPF_F_MMAPABLE = 0x400 BPF_F_PRESERVE_ELEMS = 0x800 BPF_F_INNER_MAP = 0x1000 BPF_F_LINK = 0x2000 BPF_F_PATH_FD = 0x4000 BPF_STATS_RUN_TIME = 0x0 BPF_STACK_BUILD_ID_EMPTY = 0x0 BPF_STACK_BUILD_ID_VALID = 0x1 BPF_STACK_BUILD_ID_IP = 0x2 BPF_F_RECOMPUTE_CSUM = 0x1 BPF_F_INVALIDATE_HASH = 0x2 BPF_F_HDR_FIELD_MASK = 0xf BPF_F_PSEUDO_HDR = 0x10 BPF_F_MARK_MANGLED_0 = 0x20 BPF_F_MARK_ENFORCE = 0x40 BPF_F_INGRESS = 0x1 BPF_F_TUNINFO_IPV6 = 0x1 BPF_F_SKIP_FIELD_MASK = 0xff BPF_F_USER_STACK = 0x100 BPF_F_FAST_STACK_CMP = 0x200 BPF_F_REUSE_STACKID = 0x400 BPF_F_USER_BUILD_ID = 0x800 BPF_F_ZERO_CSUM_TX = 0x2 BPF_F_DONT_FRAGMENT = 0x4 BPF_F_SEQ_NUMBER = 0x8 BPF_F_NO_TUNNEL_KEY = 0x10 BPF_F_TUNINFO_FLAGS = 0x10 BPF_F_INDEX_MASK = 0xffffffff BPF_F_CURRENT_CPU = 0xffffffff BPF_F_CTXLEN_MASK = 0xfffff00000000 BPF_F_CURRENT_NETNS = -0x1 BPF_CSUM_LEVEL_QUERY = 0x0 BPF_CSUM_LEVEL_INC = 0x1 BPF_CSUM_LEVEL_DEC = 0x2 BPF_CSUM_LEVEL_RESET = 0x3 BPF_F_ADJ_ROOM_FIXED_GSO = 0x1 BPF_F_ADJ_ROOM_ENCAP_L3_IPV4 = 0x2 BPF_F_ADJ_ROOM_ENCAP_L3_IPV6 = 0x4 BPF_F_ADJ_ROOM_ENCAP_L4_GRE = 0x8 BPF_F_ADJ_ROOM_ENCAP_L4_UDP = 0x10 BPF_F_ADJ_ROOM_NO_CSUM_RESET = 0x20 BPF_F_ADJ_ROOM_ENCAP_L2_ETH = 0x40 BPF_F_ADJ_ROOM_DECAP_L3_IPV4 = 0x80 BPF_F_ADJ_ROOM_DECAP_L3_IPV6 = 0x100 BPF_ADJ_ROOM_ENCAP_L2_MASK = 0xff BPF_ADJ_ROOM_ENCAP_L2_SHIFT = 0x38 BPF_F_SYSCTL_BASE_NAME = 0x1 BPF_LOCAL_STORAGE_GET_F_CREATE = 0x1 BPF_SK_STORAGE_GET_F_CREATE = 0x1 BPF_F_GET_BRANCH_RECORDS_SIZE = 0x1 BPF_RB_NO_WAKEUP = 0x1 BPF_RB_FORCE_WAKEUP = 0x2 BPF_RB_AVAIL_DATA = 0x0 BPF_RB_RING_SIZE = 0x1 BPF_RB_CONS_POS = 0x2 BPF_RB_PROD_POS = 0x3 BPF_RINGBUF_BUSY_BIT = 0x80000000 BPF_RINGBUF_DISCARD_BIT = 0x40000000 BPF_RINGBUF_HDR_SZ = 0x8 BPF_SK_LOOKUP_F_REPLACE = 0x1 BPF_SK_LOOKUP_F_NO_REUSEPORT = 0x2 BPF_ADJ_ROOM_NET = 0x0 BPF_ADJ_ROOM_MAC = 0x1 BPF_HDR_START_MAC = 0x0 BPF_HDR_START_NET = 0x1 BPF_LWT_ENCAP_SEG6 = 0x0 BPF_LWT_ENCAP_SEG6_INLINE = 0x1 BPF_LWT_ENCAP_IP = 0x2 BPF_F_BPRM_SECUREEXEC = 0x1 BPF_F_BROADCAST = 0x8 BPF_F_EXCLUDE_INGRESS = 0x10 BPF_SKB_TSTAMP_UNSPEC = 0x0 BPF_SKB_TSTAMP_DELIVERY_MONO = 0x1 BPF_OK = 0x0 BPF_DROP = 0x2 BPF_REDIRECT = 0x7 BPF_LWT_REROUTE = 0x80 BPF_FLOW_DISSECTOR_CONTINUE = 0x81 BPF_SOCK_OPS_RTO_CB_FLAG = 0x1 BPF_SOCK_OPS_RETRANS_CB_FLAG = 0x2 BPF_SOCK_OPS_STATE_CB_FLAG = 0x4 BPF_SOCK_OPS_RTT_CB_FLAG = 0x8 BPF_SOCK_OPS_PARSE_ALL_HDR_OPT_CB_FLAG = 0x10 BPF_SOCK_OPS_PARSE_UNKNOWN_HDR_OPT_CB_FLAG = 0x20 BPF_SOCK_OPS_WRITE_HDR_OPT_CB_FLAG = 0x40 BPF_SOCK_OPS_ALL_CB_FLAGS = 0x7f BPF_SOCK_OPS_VOID = 0x0 BPF_SOCK_OPS_TIMEOUT_INIT = 0x1 BPF_SOCK_OPS_RWND_INIT = 0x2 BPF_SOCK_OPS_TCP_CONNECT_CB = 0x3 BPF_SOCK_OPS_ACTIVE_ESTABLISHED_CB = 0x4 BPF_SOCK_OPS_PASSIVE_ESTABLISHED_CB = 0x5 BPF_SOCK_OPS_NEEDS_ECN = 0x6 BPF_SOCK_OPS_BASE_RTT = 0x7 BPF_SOCK_OPS_RTO_CB = 0x8 BPF_SOCK_OPS_RETRANS_CB = 0x9 BPF_SOCK_OPS_STATE_CB = 0xa BPF_SOCK_OPS_TCP_LISTEN_CB = 0xb BPF_SOCK_OPS_RTT_CB = 0xc BPF_SOCK_OPS_PARSE_HDR_OPT_CB = 0xd BPF_SOCK_OPS_HDR_OPT_LEN_CB = 0xe BPF_SOCK_OPS_WRITE_HDR_OPT_CB = 0xf BPF_TCP_ESTABLISHED = 0x1 BPF_TCP_SYN_SENT = 0x2 BPF_TCP_SYN_RECV = 0x3 BPF_TCP_FIN_WAIT1 = 0x4 BPF_TCP_FIN_WAIT2 = 0x5 BPF_TCP_TIME_WAIT = 0x6 BPF_TCP_CLOSE = 0x7 BPF_TCP_CLOSE_WAIT = 0x8 BPF_TCP_LAST_ACK = 0x9 BPF_TCP_LISTEN = 0xa BPF_TCP_CLOSING = 0xb BPF_TCP_NEW_SYN_RECV = 0xc BPF_TCP_MAX_STATES = 0xe TCP_BPF_IW = 0x3e9 TCP_BPF_SNDCWND_CLAMP = 0x3ea TCP_BPF_DELACK_MAX = 0x3eb TCP_BPF_RTO_MIN = 0x3ec TCP_BPF_SYN = 0x3ed TCP_BPF_SYN_IP = 0x3ee TCP_BPF_SYN_MAC = 0x3ef BPF_LOAD_HDR_OPT_TCP_SYN = 0x1 BPF_WRITE_HDR_TCP_CURRENT_MSS = 0x1 BPF_WRITE_HDR_TCP_SYNACK_COOKIE = 0x2 BPF_DEVCG_ACC_MKNOD = 0x1 BPF_DEVCG_ACC_READ = 0x2 BPF_DEVCG_ACC_WRITE = 0x4 BPF_DEVCG_DEV_BLOCK = 0x1 BPF_DEVCG_DEV_CHAR = 0x2 BPF_FIB_LOOKUP_DIRECT = 0x1 BPF_FIB_LOOKUP_OUTPUT = 0x2 BPF_FIB_LOOKUP_SKIP_NEIGH = 0x4 BPF_FIB_LOOKUP_TBID = 0x8 BPF_FIB_LKUP_RET_SUCCESS = 0x0 BPF_FIB_LKUP_RET_BLACKHOLE = 0x1 BPF_FIB_LKUP_RET_UNREACHABLE = 0x2 BPF_FIB_LKUP_RET_PROHIBIT = 0x3 BPF_FIB_LKUP_RET_NOT_FWDED = 0x4 BPF_FIB_LKUP_RET_FWD_DISABLED = 0x5 BPF_FIB_LKUP_RET_UNSUPP_LWT = 0x6 BPF_FIB_LKUP_RET_NO_NEIGH = 0x7 BPF_FIB_LKUP_RET_FRAG_NEEDED = 0x8 BPF_MTU_CHK_SEGS = 0x1 BPF_MTU_CHK_RET_SUCCESS = 0x0 BPF_MTU_CHK_RET_FRAG_NEEDED = 0x1 BPF_MTU_CHK_RET_SEGS_TOOBIG = 0x2 BPF_FD_TYPE_RAW_TRACEPOINT = 0x0 BPF_FD_TYPE_TRACEPOINT = 0x1 BPF_FD_TYPE_KPROBE = 0x2 BPF_FD_TYPE_KRETPROBE = 0x3 BPF_FD_TYPE_UPROBE = 0x4 BPF_FD_TYPE_URETPROBE = 0x5 BPF_FLOW_DISSECTOR_F_PARSE_1ST_FRAG = 0x1 BPF_FLOW_DISSECTOR_F_STOP_AT_FLOW_LABEL = 0x2 BPF_FLOW_DISSECTOR_F_STOP_AT_ENCAP = 0x4 BPF_CORE_FIELD_BYTE_OFFSET = 0x0 BPF_CORE_FIELD_BYTE_SIZE = 0x1 BPF_CORE_FIELD_EXISTS = 0x2 BPF_CORE_FIELD_SIGNED = 0x3 BPF_CORE_FIELD_LSHIFT_U64 = 0x4 BPF_CORE_FIELD_RSHIFT_U64 = 0x5 BPF_CORE_TYPE_ID_LOCAL = 0x6 BPF_CORE_TYPE_ID_TARGET = 0x7 BPF_CORE_TYPE_EXISTS = 0x8 BPF_CORE_TYPE_SIZE = 0x9 BPF_CORE_ENUMVAL_EXISTS = 0xa BPF_CORE_ENUMVAL_VALUE = 0xb BPF_CORE_TYPE_MATCHES = 0xc BPF_F_TIMER_ABS = 0x1 ) const ( 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_DECnet_IFADDR = 0xd RTNLGRP_NOP2 = 0xe RTNLGRP_DECnet_ROUTE = 0xf RTNLGRP_DECnet_RULE = 0x10 RTNLGRP_NOP4 = 0x11 RTNLGRP_IPV6_PREFIX = 0x12 RTNLGRP_IPV6_RULE = 0x13 RTNLGRP_ND_USEROPT = 0x14 RTNLGRP_PHONET_IFADDR = 0x15 RTNLGRP_PHONET_ROUTE = 0x16 RTNLGRP_DCB = 0x17 RTNLGRP_IPV4_NETCONF = 0x18 RTNLGRP_IPV6_NETCONF = 0x19 RTNLGRP_MDB = 0x1a RTNLGRP_MPLS_ROUTE = 0x1b RTNLGRP_NSID = 0x1c RTNLGRP_MPLS_NETCONF = 0x1d RTNLGRP_IPV4_MROUTE_R = 0x1e RTNLGRP_IPV6_MROUTE_R = 0x1f RTNLGRP_NEXTHOP = 0x20 RTNLGRP_BRVLAN = 0x21 ) type CapUserHeader struct { Version uint32 Pid int32 } type CapUserData struct { Effective uint32 Permitted uint32 Inheritable uint32 } const ( LINUX_CAPABILITY_VERSION_1 = 0x19980330 LINUX_CAPABILITY_VERSION_2 = 0x20071026 LINUX_CAPABILITY_VERSION_3 = 0x20080522 ) const ( LO_FLAGS_READ_ONLY = 0x1 LO_FLAGS_AUTOCLEAR = 0x4 LO_FLAGS_PARTSCAN = 0x8 LO_FLAGS_DIRECT_IO = 0x10 ) type LoopInfo64 struct { Device uint64 Inode uint64 Rdevice uint64 Offset uint64 Sizelimit uint64 Number uint32 Encrypt_type uint32 Encrypt_key_size uint32 Flags uint32 File_name [64]uint8 Crypt_name [64]uint8 Encrypt_key [32]uint8 Init [2]uint64 } type LoopConfig struct { Fd uint32 Size uint32 Info LoopInfo64 _ [8]uint64 } type TIPCSocketAddr struct { Ref uint32 Node uint32 } type TIPCServiceRange struct { Type uint32 Lower uint32 Upper uint32 } type TIPCServiceName struct { Type uint32 Instance uint32 Domain uint32 } type TIPCEvent struct { Event uint32 Lower uint32 Upper uint32 Port TIPCSocketAddr S TIPCSubscr } type TIPCGroupReq struct { Type uint32 Instance uint32 Scope uint32 Flags uint32 } const ( TIPC_CLUSTER_SCOPE = 0x2 TIPC_NODE_SCOPE = 0x3 ) const ( SYSLOG_ACTION_CLOSE = 0 SYSLOG_ACTION_OPEN = 1 SYSLOG_ACTION_READ = 2 SYSLOG_ACTION_READ_ALL = 3 SYSLOG_ACTION_READ_CLEAR = 4 SYSLOG_ACTION_CLEAR = 5 SYSLOG_ACTION_CONSOLE_OFF = 6 SYSLOG_ACTION_CONSOLE_ON = 7 SYSLOG_ACTION_CONSOLE_LEVEL = 8 SYSLOG_ACTION_SIZE_UNREAD = 9 SYSLOG_ACTION_SIZE_BUFFER = 10 ) const ( DEVLINK_CMD_UNSPEC = 0x0 DEVLINK_CMD_GET = 0x1 DEVLINK_CMD_SET = 0x2 DEVLINK_CMD_NEW = 0x3 DEVLINK_CMD_DEL = 0x4 DEVLINK_CMD_PORT_GET = 0x5 DEVLINK_CMD_PORT_SET = 0x6 DEVLINK_CMD_PORT_NEW = 0x7 DEVLINK_CMD_PORT_DEL = 0x8 DEVLINK_CMD_PORT_SPLIT = 0x9 DEVLINK_CMD_PORT_UNSPLIT = 0xa DEVLINK_CMD_SB_GET = 0xb DEVLINK_CMD_SB_SET = 0xc DEVLINK_CMD_SB_NEW = 0xd DEVLINK_CMD_SB_DEL = 0xe DEVLINK_CMD_SB_POOL_GET = 0xf DEVLINK_CMD_SB_POOL_SET = 0x10 DEVLINK_CMD_SB_POOL_NEW = 0x11 DEVLINK_CMD_SB_POOL_DEL = 0x12 DEVLINK_CMD_SB_PORT_POOL_GET = 0x13 DEVLINK_CMD_SB_PORT_POOL_SET = 0x14 DEVLINK_CMD_SB_PORT_POOL_NEW = 0x15 DEVLINK_CMD_SB_PORT_POOL_DEL = 0x16 DEVLINK_CMD_SB_TC_POOL_BIND_GET = 0x17 DEVLINK_CMD_SB_TC_POOL_BIND_SET = 0x18 DEVLINK_CMD_SB_TC_POOL_BIND_NEW = 0x19 DEVLINK_CMD_SB_TC_POOL_BIND_DEL = 0x1a DEVLINK_CMD_SB_OCC_SNAPSHOT = 0x1b DEVLINK_CMD_SB_OCC_MAX_CLEAR = 0x1c DEVLINK_CMD_ESWITCH_GET = 0x1d DEVLINK_CMD_ESWITCH_SET = 0x1e DEVLINK_CMD_DPIPE_TABLE_GET = 0x1f DEVLINK_CMD_DPIPE_ENTRIES_GET = 0x20 DEVLINK_CMD_DPIPE_HEADERS_GET = 0x21 DEVLINK_CMD_DPIPE_TABLE_COUNTERS_SET = 0x22 DEVLINK_CMD_RESOURCE_SET = 0x23 DEVLINK_CMD_RESOURCE_DUMP = 0x24 DEVLINK_CMD_RELOAD = 0x25 DEVLINK_CMD_PARAM_GET = 0x26 DEVLINK_CMD_PARAM_SET = 0x27 DEVLINK_CMD_PARAM_NEW = 0x28 DEVLINK_CMD_PARAM_DEL = 0x29 DEVLINK_CMD_REGION_GET = 0x2a DEVLINK_CMD_REGION_SET = 0x2b DEVLINK_CMD_REGION_NEW = 0x2c DEVLINK_CMD_REGION_DEL = 0x2d DEVLINK_CMD_REGION_READ = 0x2e DEVLINK_CMD_PORT_PARAM_GET = 0x2f DEVLINK_CMD_PORT_PARAM_SET = 0x30 DEVLINK_CMD_PORT_PARAM_NEW = 0x31 DEVLINK_CMD_PORT_PARAM_DEL = 0x32 DEVLINK_CMD_INFO_GET = 0x33 DEVLINK_CMD_HEALTH_REPORTER_GET = 0x34 DEVLINK_CMD_HEALTH_REPORTER_SET = 0x35 DEVLINK_CMD_HEALTH_REPORTER_RECOVER = 0x36 DEVLINK_CMD_HEALTH_REPORTER_DIAGNOSE = 0x37 DEVLINK_CMD_HEALTH_REPORTER_DUMP_GET = 0x38 DEVLINK_CMD_HEALTH_REPORTER_DUMP_CLEAR = 0x39 DEVLINK_CMD_FLASH_UPDATE = 0x3a DEVLINK_CMD_FLASH_UPDATE_END = 0x3b DEVLINK_CMD_FLASH_UPDATE_STATUS = 0x3c DEVLINK_CMD_TRAP_GET = 0x3d DEVLINK_CMD_TRAP_SET = 0x3e DEVLINK_CMD_TRAP_NEW = 0x3f DEVLINK_CMD_TRAP_DEL = 0x40 DEVLINK_CMD_TRAP_GROUP_GET = 0x41 DEVLINK_CMD_TRAP_GROUP_SET = 0x42 DEVLINK_CMD_TRAP_GROUP_NEW = 0x43 DEVLINK_CMD_TRAP_GROUP_DEL = 0x44 DEVLINK_CMD_TRAP_POLICER_GET = 0x45 DEVLINK_CMD_TRAP_POLICER_SET = 0x46 DEVLINK_CMD_TRAP_POLICER_NEW = 0x47 DEVLINK_CMD_TRAP_POLICER_DEL = 0x48 DEVLINK_CMD_HEALTH_REPORTER_TEST = 0x49 DEVLINK_CMD_RATE_GET = 0x4a DEVLINK_CMD_RATE_SET = 0x4b DEVLINK_CMD_RATE_NEW = 0x4c DEVLINK_CMD_RATE_DEL = 0x4d DEVLINK_CMD_LINECARD_GET = 0x4e DEVLINK_CMD_LINECARD_SET = 0x4f DEVLINK_CMD_LINECARD_NEW = 0x50 DEVLINK_CMD_LINECARD_DEL = 0x51 DEVLINK_CMD_SELFTESTS_GET = 0x52 DEVLINK_CMD_MAX = 0x54 DEVLINK_PORT_TYPE_NOTSET = 0x0 DEVLINK_PORT_TYPE_AUTO = 0x1 DEVLINK_PORT_TYPE_ETH = 0x2 DEVLINK_PORT_TYPE_IB = 0x3 DEVLINK_SB_POOL_TYPE_INGRESS = 0x0 DEVLINK_SB_POOL_TYPE_EGRESS = 0x1 DEVLINK_SB_THRESHOLD_TYPE_STATIC = 0x0 DEVLINK_SB_THRESHOLD_TYPE_DYNAMIC = 0x1 DEVLINK_ESWITCH_MODE_LEGACY = 0x0 DEVLINK_ESWITCH_MODE_SWITCHDEV = 0x1 DEVLINK_ESWITCH_INLINE_MODE_NONE = 0x0 DEVLINK_ESWITCH_INLINE_MODE_LINK = 0x1 DEVLINK_ESWITCH_INLINE_MODE_NETWORK = 0x2 DEVLINK_ESWITCH_INLINE_MODE_TRANSPORT = 0x3 DEVLINK_ESWITCH_ENCAP_MODE_NONE = 0x0 DEVLINK_ESWITCH_ENCAP_MODE_BASIC = 0x1 DEVLINK_PORT_FLAVOUR_PHYSICAL = 0x0 DEVLINK_PORT_FLAVOUR_CPU = 0x1 DEVLINK_PORT_FLAVOUR_DSA = 0x2 DEVLINK_PORT_FLAVOUR_PCI_PF = 0x3 DEVLINK_PORT_FLAVOUR_PCI_VF = 0x4 DEVLINK_PORT_FLAVOUR_VIRTUAL = 0x5 DEVLINK_PORT_FLAVOUR_UNUSED = 0x6 DEVLINK_PARAM_CMODE_RUNTIME = 0x0 DEVLINK_PARAM_CMODE_DRIVERINIT = 0x1 DEVLINK_PARAM_CMODE_PERMANENT = 0x2 DEVLINK_PARAM_CMODE_MAX = 0x2 DEVLINK_PARAM_FW_LOAD_POLICY_VALUE_DRIVER = 0x0 DEVLINK_PARAM_FW_LOAD_POLICY_VALUE_FLASH = 0x1 DEVLINK_PARAM_FW_LOAD_POLICY_VALUE_DISK = 0x2 DEVLINK_PARAM_FW_LOAD_POLICY_VALUE_UNKNOWN = 0x3 DEVLINK_PARAM_RESET_DEV_ON_DRV_PROBE_VALUE_UNKNOWN = 0x0 DEVLINK_PARAM_RESET_DEV_ON_DRV_PROBE_VALUE_ALWAYS = 0x1 DEVLINK_PARAM_RESET_DEV_ON_DRV_PROBE_VALUE_NEVER = 0x2 DEVLINK_PARAM_RESET_DEV_ON_DRV_PROBE_VALUE_DISK = 0x3 DEVLINK_ATTR_STATS_RX_PACKETS = 0x0 DEVLINK_ATTR_STATS_RX_BYTES = 0x1 DEVLINK_ATTR_STATS_RX_DROPPED = 0x2 DEVLINK_ATTR_STATS_MAX = 0x2 DEVLINK_FLASH_OVERWRITE_SETTINGS_BIT = 0x0 DEVLINK_FLASH_OVERWRITE_IDENTIFIERS_BIT = 0x1 DEVLINK_FLASH_OVERWRITE_MAX_BIT = 0x1 DEVLINK_TRAP_ACTION_DROP = 0x0 DEVLINK_TRAP_ACTION_TRAP = 0x1 DEVLINK_TRAP_ACTION_MIRROR = 0x2 DEVLINK_TRAP_TYPE_DROP = 0x0 DEVLINK_TRAP_TYPE_EXCEPTION = 0x1 DEVLINK_TRAP_TYPE_CONTROL = 0x2 DEVLINK_ATTR_TRAP_METADATA_TYPE_IN_PORT = 0x0 DEVLINK_ATTR_TRAP_METADATA_TYPE_FA_COOKIE = 0x1 DEVLINK_RELOAD_ACTION_UNSPEC = 0x0 DEVLINK_RELOAD_ACTION_DRIVER_REINIT = 0x1 DEVLINK_RELOAD_ACTION_FW_ACTIVATE = 0x2 DEVLINK_RELOAD_ACTION_MAX = 0x2 DEVLINK_RELOAD_LIMIT_UNSPEC = 0x0 DEVLINK_RELOAD_LIMIT_NO_RESET = 0x1 DEVLINK_RELOAD_LIMIT_MAX = 0x1 DEVLINK_ATTR_UNSPEC = 0x0 DEVLINK_ATTR_BUS_NAME = 0x1 DEVLINK_ATTR_DEV_NAME = 0x2 DEVLINK_ATTR_PORT_INDEX = 0x3 DEVLINK_ATTR_PORT_TYPE = 0x4 DEVLINK_ATTR_PORT_DESIRED_TYPE = 0x5 DEVLINK_ATTR_PORT_NETDEV_IFINDEX = 0x6 DEVLINK_ATTR_PORT_NETDEV_NAME = 0x7 DEVLINK_ATTR_PORT_IBDEV_NAME = 0x8 DEVLINK_ATTR_PORT_SPLIT_COUNT = 0x9 DEVLINK_ATTR_PORT_SPLIT_GROUP = 0xa DEVLINK_ATTR_SB_INDEX = 0xb DEVLINK_ATTR_SB_SIZE = 0xc DEVLINK_ATTR_SB_INGRESS_POOL_COUNT = 0xd DEVLINK_ATTR_SB_EGRESS_POOL_COUNT = 0xe DEVLINK_ATTR_SB_INGRESS_TC_COUNT = 0xf DEVLINK_ATTR_SB_EGRESS_TC_COUNT = 0x10 DEVLINK_ATTR_SB_POOL_INDEX = 0x11 DEVLINK_ATTR_SB_POOL_TYPE = 0x12 DEVLINK_ATTR_SB_POOL_SIZE = 0x13 DEVLINK_ATTR_SB_POOL_THRESHOLD_TYPE = 0x14 DEVLINK_ATTR_SB_THRESHOLD = 0x15 DEVLINK_ATTR_SB_TC_INDEX = 0x16 DEVLINK_ATTR_SB_OCC_CUR = 0x17 DEVLINK_ATTR_SB_OCC_MAX = 0x18 DEVLINK_ATTR_ESWITCH_MODE = 0x19 DEVLINK_ATTR_ESWITCH_INLINE_MODE = 0x1a DEVLINK_ATTR_DPIPE_TABLES = 0x1b DEVLINK_ATTR_DPIPE_TABLE = 0x1c DEVLINK_ATTR_DPIPE_TABLE_NAME = 0x1d DEVLINK_ATTR_DPIPE_TABLE_SIZE = 0x1e DEVLINK_ATTR_DPIPE_TABLE_MATCHES = 0x1f DEVLINK_ATTR_DPIPE_TABLE_ACTIONS = 0x20 DEVLINK_ATTR_DPIPE_TABLE_COUNTERS_ENABLED = 0x21 DEVLINK_ATTR_DPIPE_ENTRIES = 0x22 DEVLINK_ATTR_DPIPE_ENTRY = 0x23 DEVLINK_ATTR_DPIPE_ENTRY_INDEX = 0x24 DEVLINK_ATTR_DPIPE_ENTRY_MATCH_VALUES = 0x25 DEVLINK_ATTR_DPIPE_ENTRY_ACTION_VALUES = 0x26 DEVLINK_ATTR_DPIPE_ENTRY_COUNTER = 0x27 DEVLINK_ATTR_DPIPE_MATCH = 0x28 DEVLINK_ATTR_DPIPE_MATCH_VALUE = 0x29 DEVLINK_ATTR_DPIPE_MATCH_TYPE = 0x2a DEVLINK_ATTR_DPIPE_ACTION = 0x2b DEVLINK_ATTR_DPIPE_ACTION_VALUE = 0x2c DEVLINK_ATTR_DPIPE_ACTION_TYPE = 0x2d DEVLINK_ATTR_DPIPE_VALUE = 0x2e DEVLINK_ATTR_DPIPE_VALUE_MASK = 0x2f DEVLINK_ATTR_DPIPE_VALUE_MAPPING = 0x30 DEVLINK_ATTR_DPIPE_HEADERS = 0x31 DEVLINK_ATTR_DPIPE_HEADER = 0x32 DEVLINK_ATTR_DPIPE_HEADER_NAME = 0x33 DEVLINK_ATTR_DPIPE_HEADER_ID = 0x34 DEVLINK_ATTR_DPIPE_HEADER_FIELDS = 0x35 DEVLINK_ATTR_DPIPE_HEADER_GLOBAL = 0x36 DEVLINK_ATTR_DPIPE_HEADER_INDEX = 0x37 DEVLINK_ATTR_DPIPE_FIELD = 0x38 DEVLINK_ATTR_DPIPE_FIELD_NAME = 0x39 DEVLINK_ATTR_DPIPE_FIELD_ID = 0x3a DEVLINK_ATTR_DPIPE_FIELD_BITWIDTH = 0x3b DEVLINK_ATTR_DPIPE_FIELD_MAPPING_TYPE = 0x3c DEVLINK_ATTR_PAD = 0x3d DEVLINK_ATTR_ESWITCH_ENCAP_MODE = 0x3e DEVLINK_ATTR_RESOURCE_LIST = 0x3f DEVLINK_ATTR_RESOURCE = 0x40 DEVLINK_ATTR_RESOURCE_NAME = 0x41 DEVLINK_ATTR_RESOURCE_ID = 0x42 DEVLINK_ATTR_RESOURCE_SIZE = 0x43 DEVLINK_ATTR_RESOURCE_SIZE_NEW = 0x44 DEVLINK_ATTR_RESOURCE_SIZE_VALID = 0x45 DEVLINK_ATTR_RESOURCE_SIZE_MIN = 0x46 DEVLINK_ATTR_RESOURCE_SIZE_MAX = 0x47 DEVLINK_ATTR_RESOURCE_SIZE_GRAN = 0x48 DEVLINK_ATTR_RESOURCE_UNIT = 0x49 DEVLINK_ATTR_RESOURCE_OCC = 0x4a DEVLINK_ATTR_DPIPE_TABLE_RESOURCE_ID = 0x4b DEVLINK_ATTR_DPIPE_TABLE_RESOURCE_UNITS = 0x4c DEVLINK_ATTR_PORT_FLAVOUR = 0x4d DEVLINK_ATTR_PORT_NUMBER = 0x4e DEVLINK_ATTR_PORT_SPLIT_SUBPORT_NUMBER = 0x4f DEVLINK_ATTR_PARAM = 0x50 DEVLINK_ATTR_PARAM_NAME = 0x51 DEVLINK_ATTR_PARAM_GENERIC = 0x52 DEVLINK_ATTR_PARAM_TYPE = 0x53 DEVLINK_ATTR_PARAM_VALUES_LIST = 0x54 DEVLINK_ATTR_PARAM_VALUE = 0x55 DEVLINK_ATTR_PARAM_VALUE_DATA = 0x56 DEVLINK_ATTR_PARAM_VALUE_CMODE = 0x57 DEVLINK_ATTR_REGION_NAME = 0x58 DEVLINK_ATTR_REGION_SIZE = 0x59 DEVLINK_ATTR_REGION_SNAPSHOTS = 0x5a DEVLINK_ATTR_REGION_SNAPSHOT = 0x5b DEVLINK_ATTR_REGION_SNAPSHOT_ID = 0x5c DEVLINK_ATTR_REGION_CHUNKS = 0x5d DEVLINK_ATTR_REGION_CHUNK = 0x5e DEVLINK_ATTR_REGION_CHUNK_DATA = 0x5f DEVLINK_ATTR_REGION_CHUNK_ADDR = 0x60 DEVLINK_ATTR_REGION_CHUNK_LEN = 0x61 DEVLINK_ATTR_INFO_DRIVER_NAME = 0x62 DEVLINK_ATTR_INFO_SERIAL_NUMBER = 0x63 DEVLINK_ATTR_INFO_VERSION_FIXED = 0x64 DEVLINK_ATTR_INFO_VERSION_RUNNING = 0x65 DEVLINK_ATTR_INFO_VERSION_STORED = 0x66 DEVLINK_ATTR_INFO_VERSION_NAME = 0x67 DEVLINK_ATTR_INFO_VERSION_VALUE = 0x68 DEVLINK_ATTR_SB_POOL_CELL_SIZE = 0x69 DEVLINK_ATTR_FMSG = 0x6a DEVLINK_ATTR_FMSG_OBJ_NEST_START = 0x6b DEVLINK_ATTR_FMSG_PAIR_NEST_START = 0x6c DEVLINK_ATTR_FMSG_ARR_NEST_START = 0x6d DEVLINK_ATTR_FMSG_NEST_END = 0x6e DEVLINK_ATTR_FMSG_OBJ_NAME = 0x6f DEVLINK_ATTR_FMSG_OBJ_VALUE_TYPE = 0x70 DEVLINK_ATTR_FMSG_OBJ_VALUE_DATA = 0x71 DEVLINK_ATTR_HEALTH_REPORTER = 0x72 DEVLINK_ATTR_HEALTH_REPORTER_NAME = 0x73 DEVLINK_ATTR_HEALTH_REPORTER_STATE = 0x74 DEVLINK_ATTR_HEALTH_REPORTER_ERR_COUNT = 0x75 DEVLINK_ATTR_HEALTH_REPORTER_RECOVER_COUNT = 0x76 DEVLINK_ATTR_HEALTH_REPORTER_DUMP_TS = 0x77 DEVLINK_ATTR_HEALTH_REPORTER_GRACEFUL_PERIOD = 0x78 DEVLINK_ATTR_HEALTH_REPORTER_AUTO_RECOVER = 0x79 DEVLINK_ATTR_FLASH_UPDATE_FILE_NAME = 0x7a DEVLINK_ATTR_FLASH_UPDATE_COMPONENT = 0x7b DEVLINK_ATTR_FLASH_UPDATE_STATUS_MSG = 0x7c DEVLINK_ATTR_FLASH_UPDATE_STATUS_DONE = 0x7d DEVLINK_ATTR_FLASH_UPDATE_STATUS_TOTAL = 0x7e DEVLINK_ATTR_PORT_PCI_PF_NUMBER = 0x7f DEVLINK_ATTR_PORT_PCI_VF_NUMBER = 0x80 DEVLINK_ATTR_STATS = 0x81 DEVLINK_ATTR_TRAP_NAME = 0x82 DEVLINK_ATTR_TRAP_ACTION = 0x83 DEVLINK_ATTR_TRAP_TYPE = 0x84 DEVLINK_ATTR_TRAP_GENERIC = 0x85 DEVLINK_ATTR_TRAP_METADATA = 0x86 DEVLINK_ATTR_TRAP_GROUP_NAME = 0x87 DEVLINK_ATTR_RELOAD_FAILED = 0x88 DEVLINK_ATTR_HEALTH_REPORTER_DUMP_TS_NS = 0x89 DEVLINK_ATTR_NETNS_FD = 0x8a DEVLINK_ATTR_NETNS_PID = 0x8b DEVLINK_ATTR_NETNS_ID = 0x8c DEVLINK_ATTR_HEALTH_REPORTER_AUTO_DUMP = 0x8d DEVLINK_ATTR_TRAP_POLICER_ID = 0x8e DEVLINK_ATTR_TRAP_POLICER_RATE = 0x8f DEVLINK_ATTR_TRAP_POLICER_BURST = 0x90 DEVLINK_ATTR_PORT_FUNCTION = 0x91 DEVLINK_ATTR_INFO_BOARD_SERIAL_NUMBER = 0x92 DEVLINK_ATTR_PORT_LANES = 0x93 DEVLINK_ATTR_PORT_SPLITTABLE = 0x94 DEVLINK_ATTR_PORT_EXTERNAL = 0x95 DEVLINK_ATTR_PORT_CONTROLLER_NUMBER = 0x96 DEVLINK_ATTR_FLASH_UPDATE_STATUS_TIMEOUT = 0x97 DEVLINK_ATTR_FLASH_UPDATE_OVERWRITE_MASK = 0x98 DEVLINK_ATTR_RELOAD_ACTION = 0x99 DEVLINK_ATTR_RELOAD_ACTIONS_PERFORMED = 0x9a DEVLINK_ATTR_RELOAD_LIMITS = 0x9b DEVLINK_ATTR_DEV_STATS = 0x9c DEVLINK_ATTR_RELOAD_STATS = 0x9d DEVLINK_ATTR_RELOAD_STATS_ENTRY = 0x9e DEVLINK_ATTR_RELOAD_STATS_LIMIT = 0x9f DEVLINK_ATTR_RELOAD_STATS_VALUE = 0xa0 DEVLINK_ATTR_REMOTE_RELOAD_STATS = 0xa1 DEVLINK_ATTR_RELOAD_ACTION_INFO = 0xa2 DEVLINK_ATTR_RELOAD_ACTION_STATS = 0xa3 DEVLINK_ATTR_PORT_PCI_SF_NUMBER = 0xa4 DEVLINK_ATTR_RATE_TYPE = 0xa5 DEVLINK_ATTR_RATE_TX_SHARE = 0xa6 DEVLINK_ATTR_RATE_TX_MAX = 0xa7 DEVLINK_ATTR_RATE_NODE_NAME = 0xa8 DEVLINK_ATTR_RATE_PARENT_NODE_NAME = 0xa9 DEVLINK_ATTR_REGION_MAX_SNAPSHOTS = 0xaa DEVLINK_ATTR_LINECARD_INDEX = 0xab DEVLINK_ATTR_LINECARD_STATE = 0xac DEVLINK_ATTR_LINECARD_TYPE = 0xad DEVLINK_ATTR_LINECARD_SUPPORTED_TYPES = 0xae DEVLINK_ATTR_NESTED_DEVLINK = 0xaf DEVLINK_ATTR_SELFTESTS = 0xb0 DEVLINK_ATTR_MAX = 0xb3 DEVLINK_DPIPE_FIELD_MAPPING_TYPE_NONE = 0x0 DEVLINK_DPIPE_FIELD_MAPPING_TYPE_IFINDEX = 0x1 DEVLINK_DPIPE_MATCH_TYPE_FIELD_EXACT = 0x0 DEVLINK_DPIPE_ACTION_TYPE_FIELD_MODIFY = 0x0 DEVLINK_DPIPE_FIELD_ETHERNET_DST_MAC = 0x0 DEVLINK_DPIPE_FIELD_IPV4_DST_IP = 0x0 DEVLINK_DPIPE_FIELD_IPV6_DST_IP = 0x0 DEVLINK_DPIPE_HEADER_ETHERNET = 0x0 DEVLINK_DPIPE_HEADER_IPV4 = 0x1 DEVLINK_DPIPE_HEADER_IPV6 = 0x2 DEVLINK_RESOURCE_UNIT_ENTRY = 0x0 DEVLINK_PORT_FUNCTION_ATTR_UNSPEC = 0x0 DEVLINK_PORT_FUNCTION_ATTR_HW_ADDR = 0x1 DEVLINK_PORT_FN_ATTR_STATE = 0x2 DEVLINK_PORT_FN_ATTR_OPSTATE = 0x3 DEVLINK_PORT_FN_ATTR_CAPS = 0x4 DEVLINK_PORT_FUNCTION_ATTR_MAX = 0x6 ) type FsverityDigest struct { Algorithm uint16 Size uint16 } type FsverityEnableArg struct { Version uint32 Hash_algorithm uint32 Block_size uint32 Salt_size uint32 Salt_ptr uint64 Sig_size uint32 _ uint32 Sig_ptr uint64 _ [11]uint64 } type Nhmsg struct { Family uint8 Scope uint8 Protocol uint8 Resvd uint8 Flags uint32 } type NexthopGrp struct { Id uint32 Weight uint8 Resvd1 uint8 Resvd2 uint16 } const ( NHA_UNSPEC = 0x0 NHA_ID = 0x1 NHA_GROUP = 0x2 NHA_GROUP_TYPE = 0x3 NHA_BLACKHOLE = 0x4 NHA_OIF = 0x5 NHA_GATEWAY = 0x6 NHA_ENCAP_TYPE = 0x7 NHA_ENCAP = 0x8 NHA_GROUPS = 0x9 NHA_MASTER = 0xa ) const ( CAN_RAW_FILTER = 0x1 CAN_RAW_ERR_FILTER = 0x2 CAN_RAW_LOOPBACK = 0x3 CAN_RAW_RECV_OWN_MSGS = 0x4 CAN_RAW_FD_FRAMES = 0x5 CAN_RAW_JOIN_FILTERS = 0x6 ) type WatchdogInfo struct { Options uint32 Version uint32 Identity [32]uint8 } type PPSFData struct { Info PPSKInfo Timeout PPSKTime } type PPSKParams struct { Api_version int32 Mode int32 Assert_off_tu PPSKTime Clear_off_tu PPSKTime } type PPSKTime struct { Sec int64 Nsec int32 Flags uint32 } const ( LWTUNNEL_ENCAP_NONE = 0x0 LWTUNNEL_ENCAP_MPLS = 0x1 LWTUNNEL_ENCAP_IP = 0x2 LWTUNNEL_ENCAP_ILA = 0x3 LWTUNNEL_ENCAP_IP6 = 0x4 LWTUNNEL_ENCAP_SEG6 = 0x5 LWTUNNEL_ENCAP_BPF = 0x6 LWTUNNEL_ENCAP_SEG6_LOCAL = 0x7 LWTUNNEL_ENCAP_RPL = 0x8 LWTUNNEL_ENCAP_IOAM6 = 0x9 LWTUNNEL_ENCAP_XFRM = 0xa LWTUNNEL_ENCAP_MAX = 0xa MPLS_IPTUNNEL_UNSPEC = 0x0 MPLS_IPTUNNEL_DST = 0x1 MPLS_IPTUNNEL_TTL = 0x2 MPLS_IPTUNNEL_MAX = 0x2 ) const ( ETHTOOL_ID_UNSPEC = 0x0 ETHTOOL_RX_COPYBREAK = 0x1 ETHTOOL_TX_COPYBREAK = 0x2 ETHTOOL_PFC_PREVENTION_TOUT = 0x3 ETHTOOL_TUNABLE_UNSPEC = 0x0 ETHTOOL_TUNABLE_U8 = 0x1 ETHTOOL_TUNABLE_U16 = 0x2 ETHTOOL_TUNABLE_U32 = 0x3 ETHTOOL_TUNABLE_U64 = 0x4 ETHTOOL_TUNABLE_STRING = 0x5 ETHTOOL_TUNABLE_S8 = 0x6 ETHTOOL_TUNABLE_S16 = 0x7 ETHTOOL_TUNABLE_S32 = 0x8 ETHTOOL_TUNABLE_S64 = 0x9 ETHTOOL_PHY_ID_UNSPEC = 0x0 ETHTOOL_PHY_DOWNSHIFT = 0x1 ETHTOOL_PHY_FAST_LINK_DOWN = 0x2 ETHTOOL_PHY_EDPD = 0x3 ETHTOOL_LINK_EXT_STATE_AUTONEG = 0x0 ETHTOOL_LINK_EXT_STATE_LINK_TRAINING_FAILURE = 0x1 ETHTOOL_LINK_EXT_STATE_LINK_LOGICAL_MISMATCH = 0x2 ETHTOOL_LINK_EXT_STATE_BAD_SIGNAL_INTEGRITY = 0x3 ETHTOOL_LINK_EXT_STATE_NO_CABLE = 0x4 ETHTOOL_LINK_EXT_STATE_CABLE_ISSUE = 0x5 ETHTOOL_LINK_EXT_STATE_EEPROM_ISSUE = 0x6 ETHTOOL_LINK_EXT_STATE_CALIBRATION_FAILURE = 0x7 ETHTOOL_LINK_EXT_STATE_POWER_BUDGET_EXCEEDED = 0x8 ETHTOOL_LINK_EXT_STATE_OVERHEAT = 0x9 ETHTOOL_LINK_EXT_SUBSTATE_AN_NO_PARTNER_DETECTED = 0x1 ETHTOOL_LINK_EXT_SUBSTATE_AN_ACK_NOT_RECEIVED = 0x2 ETHTOOL_LINK_EXT_SUBSTATE_AN_NEXT_PAGE_EXCHANGE_FAILED = 0x3 ETHTOOL_LINK_EXT_SUBSTATE_AN_NO_PARTNER_DETECTED_FORCE_MODE = 0x4 ETHTOOL_LINK_EXT_SUBSTATE_AN_FEC_MISMATCH_DURING_OVERRIDE = 0x5 ETHTOOL_LINK_EXT_SUBSTATE_AN_NO_HCD = 0x6 ETHTOOL_LINK_EXT_SUBSTATE_LT_KR_FRAME_LOCK_NOT_ACQUIRED = 0x1 ETHTOOL_LINK_EXT_SUBSTATE_LT_KR_LINK_INHIBIT_TIMEOUT = 0x2 ETHTOOL_LINK_EXT_SUBSTATE_LT_KR_LINK_PARTNER_DID_NOT_SET_RECEIVER_READY = 0x3 ETHTOOL_LINK_EXT_SUBSTATE_LT_REMOTE_FAULT = 0x4 ETHTOOL_LINK_EXT_SUBSTATE_LLM_PCS_DID_NOT_ACQUIRE_BLOCK_LOCK = 0x1 ETHTOOL_LINK_EXT_SUBSTATE_LLM_PCS_DID_NOT_ACQUIRE_AM_LOCK = 0x2 ETHTOOL_LINK_EXT_SUBSTATE_LLM_PCS_DID_NOT_GET_ALIGN_STATUS = 0x3 ETHTOOL_LINK_EXT_SUBSTATE_LLM_FC_FEC_IS_NOT_LOCKED = 0x4 ETHTOOL_LINK_EXT_SUBSTATE_LLM_RS_FEC_IS_NOT_LOCKED = 0x5 ETHTOOL_LINK_EXT_SUBSTATE_BSI_LARGE_NUMBER_OF_PHYSICAL_ERRORS = 0x1 ETHTOOL_LINK_EXT_SUBSTATE_BSI_UNSUPPORTED_RATE = 0x2 ETHTOOL_LINK_EXT_SUBSTATE_CI_UNSUPPORTED_CABLE = 0x1 ETHTOOL_LINK_EXT_SUBSTATE_CI_CABLE_TEST_FAILURE = 0x2 ETHTOOL_FLASH_ALL_REGIONS = 0x0 ETHTOOL_F_UNSUPPORTED__BIT = 0x0 ETHTOOL_F_WISH__BIT = 0x1 ETHTOOL_F_COMPAT__BIT = 0x2 ETHTOOL_FEC_NONE_BIT = 0x0 ETHTOOL_FEC_AUTO_BIT = 0x1 ETHTOOL_FEC_OFF_BIT = 0x2 ETHTOOL_FEC_RS_BIT = 0x3 ETHTOOL_FEC_BASER_BIT = 0x4 ETHTOOL_FEC_LLRS_BIT = 0x5 ETHTOOL_LINK_MODE_10baseT_Half_BIT = 0x0 ETHTOOL_LINK_MODE_10baseT_Full_BIT = 0x1 ETHTOOL_LINK_MODE_100baseT_Half_BIT = 0x2 ETHTOOL_LINK_MODE_100baseT_Full_BIT = 0x3 ETHTOOL_LINK_MODE_1000baseT_Half_BIT = 0x4 ETHTOOL_LINK_MODE_1000baseT_Full_BIT = 0x5 ETHTOOL_LINK_MODE_Autoneg_BIT = 0x6 ETHTOOL_LINK_MODE_TP_BIT = 0x7 ETHTOOL_LINK_MODE_AUI_BIT = 0x8 ETHTOOL_LINK_MODE_MII_BIT = 0x9 ETHTOOL_LINK_MODE_FIBRE_BIT = 0xa ETHTOOL_LINK_MODE_BNC_BIT = 0xb ETHTOOL_LINK_MODE_10000baseT_Full_BIT = 0xc ETHTOOL_LINK_MODE_Pause_BIT = 0xd ETHTOOL_LINK_MODE_Asym_Pause_BIT = 0xe ETHTOOL_LINK_MODE_2500baseX_Full_BIT = 0xf ETHTOOL_LINK_MODE_Backplane_BIT = 0x10 ETHTOOL_LINK_MODE_1000baseKX_Full_BIT = 0x11 ETHTOOL_LINK_MODE_10000baseKX4_Full_BIT = 0x12 ETHTOOL_LINK_MODE_10000baseKR_Full_BIT = 0x13 ETHTOOL_LINK_MODE_10000baseR_FEC_BIT = 0x14 ETHTOOL_LINK_MODE_20000baseMLD2_Full_BIT = 0x15 ETHTOOL_LINK_MODE_20000baseKR2_Full_BIT = 0x16 ETHTOOL_LINK_MODE_40000baseKR4_Full_BIT = 0x17 ETHTOOL_LINK_MODE_40000baseCR4_Full_BIT = 0x18 ETHTOOL_LINK_MODE_40000baseSR4_Full_BIT = 0x19 ETHTOOL_LINK_MODE_40000baseLR4_Full_BIT = 0x1a ETHTOOL_LINK_MODE_56000baseKR4_Full_BIT = 0x1b ETHTOOL_LINK_MODE_56000baseCR4_Full_BIT = 0x1c ETHTOOL_LINK_MODE_56000baseSR4_Full_BIT = 0x1d ETHTOOL_LINK_MODE_56000baseLR4_Full_BIT = 0x1e ETHTOOL_LINK_MODE_25000baseCR_Full_BIT = 0x1f ETHTOOL_LINK_MODE_25000baseKR_Full_BIT = 0x20 ETHTOOL_LINK_MODE_25000baseSR_Full_BIT = 0x21 ETHTOOL_LINK_MODE_50000baseCR2_Full_BIT = 0x22 ETHTOOL_LINK_MODE_50000baseKR2_Full_BIT = 0x23 ETHTOOL_LINK_MODE_100000baseKR4_Full_BIT = 0x24 ETHTOOL_LINK_MODE_100000baseSR4_Full_BIT = 0x25 ETHTOOL_LINK_MODE_100000baseCR4_Full_BIT = 0x26 ETHTOOL_LINK_MODE_100000baseLR4_ER4_Full_BIT = 0x27 ETHTOOL_LINK_MODE_50000baseSR2_Full_BIT = 0x28 ETHTOOL_LINK_MODE_1000baseX_Full_BIT = 0x29 ETHTOOL_LINK_MODE_10000baseCR_Full_BIT = 0x2a ETHTOOL_LINK_MODE_10000baseSR_Full_BIT = 0x2b ETHTOOL_LINK_MODE_10000baseLR_Full_BIT = 0x2c ETHTOOL_LINK_MODE_10000baseLRM_Full_BIT = 0x2d ETHTOOL_LINK_MODE_10000baseER_Full_BIT = 0x2e ETHTOOL_LINK_MODE_2500baseT_Full_BIT = 0x2f ETHTOOL_LINK_MODE_5000baseT_Full_BIT = 0x30 ETHTOOL_LINK_MODE_FEC_NONE_BIT = 0x31 ETHTOOL_LINK_MODE_FEC_RS_BIT = 0x32 ETHTOOL_LINK_MODE_FEC_BASER_BIT = 0x33 ETHTOOL_LINK_MODE_50000baseKR_Full_BIT = 0x34 ETHTOOL_LINK_MODE_50000baseSR_Full_BIT = 0x35 ETHTOOL_LINK_MODE_50000baseCR_Full_BIT = 0x36 ETHTOOL_LINK_MODE_50000baseLR_ER_FR_Full_BIT = 0x37 ETHTOOL_LINK_MODE_50000baseDR_Full_BIT = 0x38 ETHTOOL_LINK_MODE_100000baseKR2_Full_BIT = 0x39 ETHTOOL_LINK_MODE_100000baseSR2_Full_BIT = 0x3a ETHTOOL_LINK_MODE_100000baseCR2_Full_BIT = 0x3b ETHTOOL_LINK_MODE_100000baseLR2_ER2_FR2_Full_BIT = 0x3c ETHTOOL_LINK_MODE_100000baseDR2_Full_BIT = 0x3d ETHTOOL_LINK_MODE_200000baseKR4_Full_BIT = 0x3e ETHTOOL_LINK_MODE_200000baseSR4_Full_BIT = 0x3f ETHTOOL_LINK_MODE_200000baseLR4_ER4_FR4_Full_BIT = 0x40 ETHTOOL_LINK_MODE_200000baseDR4_Full_BIT = 0x41 ETHTOOL_LINK_MODE_200000baseCR4_Full_BIT = 0x42 ETHTOOL_LINK_MODE_100baseT1_Full_BIT = 0x43 ETHTOOL_LINK_MODE_1000baseT1_Full_BIT = 0x44 ETHTOOL_LINK_MODE_400000baseKR8_Full_BIT = 0x45 ETHTOOL_LINK_MODE_400000baseSR8_Full_BIT = 0x46 ETHTOOL_LINK_MODE_400000baseLR8_ER8_FR8_Full_BIT = 0x47 ETHTOOL_LINK_MODE_400000baseDR8_Full_BIT = 0x48 ETHTOOL_LINK_MODE_400000baseCR8_Full_BIT = 0x49 ETHTOOL_LINK_MODE_FEC_LLRS_BIT = 0x4a ETHTOOL_LINK_MODE_100000baseKR_Full_BIT = 0x4b ETHTOOL_LINK_MODE_100000baseSR_Full_BIT = 0x4c ETHTOOL_LINK_MODE_100000baseLR_ER_FR_Full_BIT = 0x4d ETHTOOL_LINK_MODE_100000baseCR_Full_BIT = 0x4e ETHTOOL_LINK_MODE_100000baseDR_Full_BIT = 0x4f ETHTOOL_LINK_MODE_200000baseKR2_Full_BIT = 0x50 ETHTOOL_LINK_MODE_200000baseSR2_Full_BIT = 0x51 ETHTOOL_LINK_MODE_200000baseLR2_ER2_FR2_Full_BIT = 0x52 ETHTOOL_LINK_MODE_200000baseDR2_Full_BIT = 0x53 ETHTOOL_LINK_MODE_200000baseCR2_Full_BIT = 0x54 ETHTOOL_LINK_MODE_400000baseKR4_Full_BIT = 0x55 ETHTOOL_LINK_MODE_400000baseSR4_Full_BIT = 0x56 ETHTOOL_LINK_MODE_400000baseLR4_ER4_FR4_Full_BIT = 0x57 ETHTOOL_LINK_MODE_400000baseDR4_Full_BIT = 0x58 ETHTOOL_LINK_MODE_400000baseCR4_Full_BIT = 0x59 ETHTOOL_LINK_MODE_100baseFX_Half_BIT = 0x5a ETHTOOL_LINK_MODE_100baseFX_Full_BIT = 0x5b ETHTOOL_MSG_USER_NONE = 0x0 ETHTOOL_MSG_STRSET_GET = 0x1 ETHTOOL_MSG_LINKINFO_GET = 0x2 ETHTOOL_MSG_LINKINFO_SET = 0x3 ETHTOOL_MSG_LINKMODES_GET = 0x4 ETHTOOL_MSG_LINKMODES_SET = 0x5 ETHTOOL_MSG_LINKSTATE_GET = 0x6 ETHTOOL_MSG_DEBUG_GET = 0x7 ETHTOOL_MSG_DEBUG_SET = 0x8 ETHTOOL_MSG_WOL_GET = 0x9 ETHTOOL_MSG_WOL_SET = 0xa ETHTOOL_MSG_FEATURES_GET = 0xb ETHTOOL_MSG_FEATURES_SET = 0xc ETHTOOL_MSG_PRIVFLAGS_GET = 0xd ETHTOOL_MSG_PRIVFLAGS_SET = 0xe ETHTOOL_MSG_RINGS_GET = 0xf ETHTOOL_MSG_RINGS_SET = 0x10 ETHTOOL_MSG_CHANNELS_GET = 0x11 ETHTOOL_MSG_CHANNELS_SET = 0x12 ETHTOOL_MSG_COALESCE_GET = 0x13 ETHTOOL_MSG_COALESCE_SET = 0x14 ETHTOOL_MSG_PAUSE_GET = 0x15 ETHTOOL_MSG_PAUSE_SET = 0x16 ETHTOOL_MSG_EEE_GET = 0x17 ETHTOOL_MSG_EEE_SET = 0x18 ETHTOOL_MSG_TSINFO_GET = 0x19 ETHTOOL_MSG_CABLE_TEST_ACT = 0x1a ETHTOOL_MSG_CABLE_TEST_TDR_ACT = 0x1b ETHTOOL_MSG_TUNNEL_INFO_GET = 0x1c ETHTOOL_MSG_FEC_GET = 0x1d ETHTOOL_MSG_FEC_SET = 0x1e ETHTOOL_MSG_MODULE_EEPROM_GET = 0x1f ETHTOOL_MSG_STATS_GET = 0x20 ETHTOOL_MSG_PHC_VCLOCKS_GET = 0x21 ETHTOOL_MSG_MODULE_GET = 0x22 ETHTOOL_MSG_MODULE_SET = 0x23 ETHTOOL_MSG_PSE_GET = 0x24 ETHTOOL_MSG_PSE_SET = 0x25 ETHTOOL_MSG_RSS_GET = 0x26 ETHTOOL_MSG_USER_MAX = 0x2c ETHTOOL_MSG_KERNEL_NONE = 0x0 ETHTOOL_MSG_STRSET_GET_REPLY = 0x1 ETHTOOL_MSG_LINKINFO_GET_REPLY = 0x2 ETHTOOL_MSG_LINKINFO_NTF = 0x3 ETHTOOL_MSG_LINKMODES_GET_REPLY = 0x4 ETHTOOL_MSG_LINKMODES_NTF = 0x5 ETHTOOL_MSG_LINKSTATE_GET_REPLY = 0x6 ETHTOOL_MSG_DEBUG_GET_REPLY = 0x7 ETHTOOL_MSG_DEBUG_NTF = 0x8 ETHTOOL_MSG_WOL_GET_REPLY = 0x9 ETHTOOL_MSG_WOL_NTF = 0xa ETHTOOL_MSG_FEATURES_GET_REPLY = 0xb ETHTOOL_MSG_FEATURES_SET_REPLY = 0xc ETHTOOL_MSG_FEATURES_NTF = 0xd ETHTOOL_MSG_PRIVFLAGS_GET_REPLY = 0xe ETHTOOL_MSG_PRIVFLAGS_NTF = 0xf ETHTOOL_MSG_RINGS_GET_REPLY = 0x10 ETHTOOL_MSG_RINGS_NTF = 0x11 ETHTOOL_MSG_CHANNELS_GET_REPLY = 0x12 ETHTOOL_MSG_CHANNELS_NTF = 0x13 ETHTOOL_MSG_COALESCE_GET_REPLY = 0x14 ETHTOOL_MSG_COALESCE_NTF = 0x15 ETHTOOL_MSG_PAUSE_GET_REPLY = 0x16 ETHTOOL_MSG_PAUSE_NTF = 0x17 ETHTOOL_MSG_EEE_GET_REPLY = 0x18 ETHTOOL_MSG_EEE_NTF = 0x19 ETHTOOL_MSG_TSINFO_GET_REPLY = 0x1a ETHTOOL_MSG_CABLE_TEST_NTF = 0x1b ETHTOOL_MSG_CABLE_TEST_TDR_NTF = 0x1c ETHTOOL_MSG_TUNNEL_INFO_GET_REPLY = 0x1d ETHTOOL_MSG_FEC_GET_REPLY = 0x1e ETHTOOL_MSG_FEC_NTF = 0x1f ETHTOOL_MSG_MODULE_EEPROM_GET_REPLY = 0x20 ETHTOOL_MSG_STATS_GET_REPLY = 0x21 ETHTOOL_MSG_PHC_VCLOCKS_GET_REPLY = 0x22 ETHTOOL_MSG_MODULE_GET_REPLY = 0x23 ETHTOOL_MSG_MODULE_NTF = 0x24 ETHTOOL_MSG_PSE_GET_REPLY = 0x25 ETHTOOL_MSG_RSS_GET_REPLY = 0x26 ETHTOOL_MSG_KERNEL_MAX = 0x2c ETHTOOL_FLAG_COMPACT_BITSETS = 0x1 ETHTOOL_FLAG_OMIT_REPLY = 0x2 ETHTOOL_FLAG_STATS = 0x4 ETHTOOL_A_HEADER_UNSPEC = 0x0 ETHTOOL_A_HEADER_DEV_INDEX = 0x1 ETHTOOL_A_HEADER_DEV_NAME = 0x2 ETHTOOL_A_HEADER_FLAGS = 0x3 ETHTOOL_A_HEADER_MAX = 0x3 ETHTOOL_A_BITSET_BIT_UNSPEC = 0x0 ETHTOOL_A_BITSET_BIT_INDEX = 0x1 ETHTOOL_A_BITSET_BIT_NAME = 0x2 ETHTOOL_A_BITSET_BIT_VALUE = 0x3 ETHTOOL_A_BITSET_BIT_MAX = 0x3 ETHTOOL_A_BITSET_BITS_UNSPEC = 0x0 ETHTOOL_A_BITSET_BITS_BIT = 0x1 ETHTOOL_A_BITSET_BITS_MAX = 0x1 ETHTOOL_A_BITSET_UNSPEC = 0x0 ETHTOOL_A_BITSET_NOMASK = 0x1 ETHTOOL_A_BITSET_SIZE = 0x2 ETHTOOL_A_BITSET_BITS = 0x3 ETHTOOL_A_BITSET_VALUE = 0x4 ETHTOOL_A_BITSET_MASK = 0x5 ETHTOOL_A_BITSET_MAX = 0x5 ETHTOOL_A_STRING_UNSPEC = 0x0 ETHTOOL_A_STRING_INDEX = 0x1 ETHTOOL_A_STRING_VALUE = 0x2 ETHTOOL_A_STRING_MAX = 0x2 ETHTOOL_A_STRINGS_UNSPEC = 0x0 ETHTOOL_A_STRINGS_STRING = 0x1 ETHTOOL_A_STRINGS_MAX = 0x1 ETHTOOL_A_STRINGSET_UNSPEC = 0x0 ETHTOOL_A_STRINGSET_ID = 0x1 ETHTOOL_A_STRINGSET_COUNT = 0x2 ETHTOOL_A_STRINGSET_STRINGS = 0x3 ETHTOOL_A_STRINGSET_MAX = 0x3 ETHTOOL_A_STRINGSETS_UNSPEC = 0x0 ETHTOOL_A_STRINGSETS_STRINGSET = 0x1 ETHTOOL_A_STRINGSETS_MAX = 0x1 ETHTOOL_A_STRSET_UNSPEC = 0x0 ETHTOOL_A_STRSET_HEADER = 0x1 ETHTOOL_A_STRSET_STRINGSETS = 0x2 ETHTOOL_A_STRSET_COUNTS_ONLY = 0x3 ETHTOOL_A_STRSET_MAX = 0x3 ETHTOOL_A_LINKINFO_UNSPEC = 0x0 ETHTOOL_A_LINKINFO_HEADER = 0x1 ETHTOOL_A_LINKINFO_PORT = 0x2 ETHTOOL_A_LINKINFO_PHYADDR = 0x3 ETHTOOL_A_LINKINFO_TP_MDIX = 0x4 ETHTOOL_A_LINKINFO_TP_MDIX_CTRL = 0x5 ETHTOOL_A_LINKINFO_TRANSCEIVER = 0x6 ETHTOOL_A_LINKINFO_MAX = 0x6 ETHTOOL_A_LINKMODES_UNSPEC = 0x0 ETHTOOL_A_LINKMODES_HEADER = 0x1 ETHTOOL_A_LINKMODES_AUTONEG = 0x2 ETHTOOL_A_LINKMODES_OURS = 0x3 ETHTOOL_A_LINKMODES_PEER = 0x4 ETHTOOL_A_LINKMODES_SPEED = 0x5 ETHTOOL_A_LINKMODES_DUPLEX = 0x6 ETHTOOL_A_LINKMODES_MASTER_SLAVE_CFG = 0x7 ETHTOOL_A_LINKMODES_MASTER_SLAVE_STATE = 0x8 ETHTOOL_A_LINKMODES_LANES = 0x9 ETHTOOL_A_LINKMODES_RATE_MATCHING = 0xa ETHTOOL_A_LINKMODES_MAX = 0xa ETHTOOL_A_LINKSTATE_UNSPEC = 0x0 ETHTOOL_A_LINKSTATE_HEADER = 0x1 ETHTOOL_A_LINKSTATE_LINK = 0x2 ETHTOOL_A_LINKSTATE_SQI = 0x3 ETHTOOL_A_LINKSTATE_SQI_MAX = 0x4 ETHTOOL_A_LINKSTATE_EXT_STATE = 0x5 ETHTOOL_A_LINKSTATE_EXT_SUBSTATE = 0x6 ETHTOOL_A_LINKSTATE_EXT_DOWN_CNT = 0x7 ETHTOOL_A_LINKSTATE_MAX = 0x7 ETHTOOL_A_DEBUG_UNSPEC = 0x0 ETHTOOL_A_DEBUG_HEADER = 0x1 ETHTOOL_A_DEBUG_MSGMASK = 0x2 ETHTOOL_A_DEBUG_MAX = 0x2 ETHTOOL_A_WOL_UNSPEC = 0x0 ETHTOOL_A_WOL_HEADER = 0x1 ETHTOOL_A_WOL_MODES = 0x2 ETHTOOL_A_WOL_SOPASS = 0x3 ETHTOOL_A_WOL_MAX = 0x3 ETHTOOL_A_FEATURES_UNSPEC = 0x0 ETHTOOL_A_FEATURES_HEADER = 0x1 ETHTOOL_A_FEATURES_HW = 0x2 ETHTOOL_A_FEATURES_WANTED = 0x3 ETHTOOL_A_FEATURES_ACTIVE = 0x4 ETHTOOL_A_FEATURES_NOCHANGE = 0x5 ETHTOOL_A_FEATURES_MAX = 0x5 ETHTOOL_A_PRIVFLAGS_UNSPEC = 0x0 ETHTOOL_A_PRIVFLAGS_HEADER = 0x1 ETHTOOL_A_PRIVFLAGS_FLAGS = 0x2 ETHTOOL_A_PRIVFLAGS_MAX = 0x2 ETHTOOL_A_RINGS_UNSPEC = 0x0 ETHTOOL_A_RINGS_HEADER = 0x1 ETHTOOL_A_RINGS_RX_MAX = 0x2 ETHTOOL_A_RINGS_RX_MINI_MAX = 0x3 ETHTOOL_A_RINGS_RX_JUMBO_MAX = 0x4 ETHTOOL_A_RINGS_TX_MAX = 0x5 ETHTOOL_A_RINGS_RX = 0x6 ETHTOOL_A_RINGS_RX_MINI = 0x7 ETHTOOL_A_RINGS_RX_JUMBO = 0x8 ETHTOOL_A_RINGS_TX = 0x9 ETHTOOL_A_RINGS_RX_BUF_LEN = 0xa ETHTOOL_A_RINGS_TCP_DATA_SPLIT = 0xb ETHTOOL_A_RINGS_CQE_SIZE = 0xc ETHTOOL_A_RINGS_TX_PUSH = 0xd ETHTOOL_A_RINGS_MAX = 0x10 ETHTOOL_A_CHANNELS_UNSPEC = 0x0 ETHTOOL_A_CHANNELS_HEADER = 0x1 ETHTOOL_A_CHANNELS_RX_MAX = 0x2 ETHTOOL_A_CHANNELS_TX_MAX = 0x3 ETHTOOL_A_CHANNELS_OTHER_MAX = 0x4 ETHTOOL_A_CHANNELS_COMBINED_MAX = 0x5 ETHTOOL_A_CHANNELS_RX_COUNT = 0x6 ETHTOOL_A_CHANNELS_TX_COUNT = 0x7 ETHTOOL_A_CHANNELS_OTHER_COUNT = 0x8 ETHTOOL_A_CHANNELS_COMBINED_COUNT = 0x9 ETHTOOL_A_CHANNELS_MAX = 0x9 ETHTOOL_A_COALESCE_UNSPEC = 0x0 ETHTOOL_A_COALESCE_HEADER = 0x1 ETHTOOL_A_COALESCE_RX_USECS = 0x2 ETHTOOL_A_COALESCE_RX_MAX_FRAMES = 0x3 ETHTOOL_A_COALESCE_RX_USECS_IRQ = 0x4 ETHTOOL_A_COALESCE_RX_MAX_FRAMES_IRQ = 0x5 ETHTOOL_A_COALESCE_TX_USECS = 0x6 ETHTOOL_A_COALESCE_TX_MAX_FRAMES = 0x7 ETHTOOL_A_COALESCE_TX_USECS_IRQ = 0x8 ETHTOOL_A_COALESCE_TX_MAX_FRAMES_IRQ = 0x9 ETHTOOL_A_COALESCE_STATS_BLOCK_USECS = 0xa ETHTOOL_A_COALESCE_USE_ADAPTIVE_RX = 0xb ETHTOOL_A_COALESCE_USE_ADAPTIVE_TX = 0xc ETHTOOL_A_COALESCE_PKT_RATE_LOW = 0xd ETHTOOL_A_COALESCE_RX_USECS_LOW = 0xe ETHTOOL_A_COALESCE_RX_MAX_FRAMES_LOW = 0xf ETHTOOL_A_COALESCE_TX_USECS_LOW = 0x10 ETHTOOL_A_COALESCE_TX_MAX_FRAMES_LOW = 0x11 ETHTOOL_A_COALESCE_PKT_RATE_HIGH = 0x12 ETHTOOL_A_COALESCE_RX_USECS_HIGH = 0x13 ETHTOOL_A_COALESCE_RX_MAX_FRAMES_HIGH = 0x14 ETHTOOL_A_COALESCE_TX_USECS_HIGH = 0x15 ETHTOOL_A_COALESCE_TX_MAX_FRAMES_HIGH = 0x16 ETHTOOL_A_COALESCE_RATE_SAMPLE_INTERVAL = 0x17 ETHTOOL_A_COALESCE_USE_CQE_MODE_TX = 0x18 ETHTOOL_A_COALESCE_USE_CQE_MODE_RX = 0x19 ETHTOOL_A_COALESCE_MAX = 0x1e ETHTOOL_A_PAUSE_UNSPEC = 0x0 ETHTOOL_A_PAUSE_HEADER = 0x1 ETHTOOL_A_PAUSE_AUTONEG = 0x2 ETHTOOL_A_PAUSE_RX = 0x3 ETHTOOL_A_PAUSE_TX = 0x4 ETHTOOL_A_PAUSE_STATS = 0x5 ETHTOOL_A_PAUSE_MAX = 0x6 ETHTOOL_A_PAUSE_STAT_UNSPEC = 0x0 ETHTOOL_A_PAUSE_STAT_PAD = 0x1 ETHTOOL_A_PAUSE_STAT_TX_FRAMES = 0x2 ETHTOOL_A_PAUSE_STAT_RX_FRAMES = 0x3 ETHTOOL_A_PAUSE_STAT_MAX = 0x3 ETHTOOL_A_EEE_UNSPEC = 0x0 ETHTOOL_A_EEE_HEADER = 0x1 ETHTOOL_A_EEE_MODES_OURS = 0x2 ETHTOOL_A_EEE_MODES_PEER = 0x3 ETHTOOL_A_EEE_ACTIVE = 0x4 ETHTOOL_A_EEE_ENABLED = 0x5 ETHTOOL_A_EEE_TX_LPI_ENABLED = 0x6 ETHTOOL_A_EEE_TX_LPI_TIMER = 0x7 ETHTOOL_A_EEE_MAX = 0x7 ETHTOOL_A_TSINFO_UNSPEC = 0x0 ETHTOOL_A_TSINFO_HEADER = 0x1 ETHTOOL_A_TSINFO_TIMESTAMPING = 0x2 ETHTOOL_A_TSINFO_TX_TYPES = 0x3 ETHTOOL_A_TSINFO_RX_FILTERS = 0x4 ETHTOOL_A_TSINFO_PHC_INDEX = 0x5 ETHTOOL_A_TSINFO_MAX = 0x6 ETHTOOL_A_CABLE_TEST_UNSPEC = 0x0 ETHTOOL_A_CABLE_TEST_HEADER = 0x1 ETHTOOL_A_CABLE_TEST_MAX = 0x1 ETHTOOL_A_CABLE_RESULT_CODE_UNSPEC = 0x0 ETHTOOL_A_CABLE_RESULT_CODE_OK = 0x1 ETHTOOL_A_CABLE_RESULT_CODE_OPEN = 0x2 ETHTOOL_A_CABLE_RESULT_CODE_SAME_SHORT = 0x3 ETHTOOL_A_CABLE_RESULT_CODE_CROSS_SHORT = 0x4 ETHTOOL_A_CABLE_PAIR_A = 0x0 ETHTOOL_A_CABLE_PAIR_B = 0x1 ETHTOOL_A_CABLE_PAIR_C = 0x2 ETHTOOL_A_CABLE_PAIR_D = 0x3 ETHTOOL_A_CABLE_RESULT_UNSPEC = 0x0 ETHTOOL_A_CABLE_RESULT_PAIR = 0x1 ETHTOOL_A_CABLE_RESULT_CODE = 0x2 ETHTOOL_A_CABLE_RESULT_MAX = 0x2 ETHTOOL_A_CABLE_FAULT_LENGTH_UNSPEC = 0x0 ETHTOOL_A_CABLE_FAULT_LENGTH_PAIR = 0x1 ETHTOOL_A_CABLE_FAULT_LENGTH_CM = 0x2 ETHTOOL_A_CABLE_FAULT_LENGTH_MAX = 0x2 ETHTOOL_A_CABLE_TEST_NTF_STATUS_UNSPEC = 0x0 ETHTOOL_A_CABLE_TEST_NTF_STATUS_STARTED = 0x1 ETHTOOL_A_CABLE_TEST_NTF_STATUS_COMPLETED = 0x2 ETHTOOL_A_CABLE_NEST_UNSPEC = 0x0 ETHTOOL_A_CABLE_NEST_RESULT = 0x1 ETHTOOL_A_CABLE_NEST_FAULT_LENGTH = 0x2 ETHTOOL_A_CABLE_NEST_MAX = 0x2 ETHTOOL_A_CABLE_TEST_NTF_UNSPEC = 0x0 ETHTOOL_A_CABLE_TEST_NTF_HEADER = 0x1 ETHTOOL_A_CABLE_TEST_NTF_STATUS = 0x2 ETHTOOL_A_CABLE_TEST_NTF_NEST = 0x3 ETHTOOL_A_CABLE_TEST_NTF_MAX = 0x3 ETHTOOL_A_CABLE_TEST_TDR_CFG_UNSPEC = 0x0 ETHTOOL_A_CABLE_TEST_TDR_CFG_FIRST = 0x1 ETHTOOL_A_CABLE_TEST_TDR_CFG_LAST = 0x2 ETHTOOL_A_CABLE_TEST_TDR_CFG_STEP = 0x3 ETHTOOL_A_CABLE_TEST_TDR_CFG_PAIR = 0x4 ETHTOOL_A_CABLE_TEST_TDR_CFG_MAX = 0x4 ETHTOOL_A_CABLE_TEST_TDR_UNSPEC = 0x0 ETHTOOL_A_CABLE_TEST_TDR_HEADER = 0x1 ETHTOOL_A_CABLE_TEST_TDR_CFG = 0x2 ETHTOOL_A_CABLE_TEST_TDR_MAX = 0x2 ETHTOOL_A_CABLE_AMPLITUDE_UNSPEC = 0x0 ETHTOOL_A_CABLE_AMPLITUDE_PAIR = 0x1 ETHTOOL_A_CABLE_AMPLITUDE_mV = 0x2 ETHTOOL_A_CABLE_AMPLITUDE_MAX = 0x2 ETHTOOL_A_CABLE_PULSE_UNSPEC = 0x0 ETHTOOL_A_CABLE_PULSE_mV = 0x1 ETHTOOL_A_CABLE_PULSE_MAX = 0x1 ETHTOOL_A_CABLE_STEP_UNSPEC = 0x0 ETHTOOL_A_CABLE_STEP_FIRST_DISTANCE = 0x1 ETHTOOL_A_CABLE_STEP_LAST_DISTANCE = 0x2 ETHTOOL_A_CABLE_STEP_STEP_DISTANCE = 0x3 ETHTOOL_A_CABLE_STEP_MAX = 0x3 ETHTOOL_A_CABLE_TDR_NEST_UNSPEC = 0x0 ETHTOOL_A_CABLE_TDR_NEST_STEP = 0x1 ETHTOOL_A_CABLE_TDR_NEST_AMPLITUDE = 0x2 ETHTOOL_A_CABLE_TDR_NEST_PULSE = 0x3 ETHTOOL_A_CABLE_TDR_NEST_MAX = 0x3 ETHTOOL_A_CABLE_TEST_TDR_NTF_UNSPEC = 0x0 ETHTOOL_A_CABLE_TEST_TDR_NTF_HEADER = 0x1 ETHTOOL_A_CABLE_TEST_TDR_NTF_STATUS = 0x2 ETHTOOL_A_CABLE_TEST_TDR_NTF_NEST = 0x3 ETHTOOL_A_CABLE_TEST_TDR_NTF_MAX = 0x3 ETHTOOL_UDP_TUNNEL_TYPE_VXLAN = 0x0 ETHTOOL_UDP_TUNNEL_TYPE_GENEVE = 0x1 ETHTOOL_UDP_TUNNEL_TYPE_VXLAN_GPE = 0x2 ETHTOOL_A_TUNNEL_UDP_ENTRY_UNSPEC = 0x0 ETHTOOL_A_TUNNEL_UDP_ENTRY_PORT = 0x1 ETHTOOL_A_TUNNEL_UDP_ENTRY_TYPE = 0x2 ETHTOOL_A_TUNNEL_UDP_ENTRY_MAX = 0x2 ETHTOOL_A_TUNNEL_UDP_TABLE_UNSPEC = 0x0 ETHTOOL_A_TUNNEL_UDP_TABLE_SIZE = 0x1 ETHTOOL_A_TUNNEL_UDP_TABLE_TYPES = 0x2 ETHTOOL_A_TUNNEL_UDP_TABLE_ENTRY = 0x3 ETHTOOL_A_TUNNEL_UDP_TABLE_MAX = 0x3 ETHTOOL_A_TUNNEL_UDP_UNSPEC = 0x0 ETHTOOL_A_TUNNEL_UDP_TABLE = 0x1 ETHTOOL_A_TUNNEL_UDP_MAX = 0x1 ETHTOOL_A_TUNNEL_INFO_UNSPEC = 0x0 ETHTOOL_A_TUNNEL_INFO_HEADER = 0x1 ETHTOOL_A_TUNNEL_INFO_UDP_PORTS = 0x2 ETHTOOL_A_TUNNEL_INFO_MAX = 0x2 ) const SPEED_UNKNOWN = -0x1 type EthtoolDrvinfo struct { Cmd uint32 Driver [32]byte Version [32]byte Fw_version [32]byte Bus_info [32]byte Erom_version [32]byte Reserved2 [12]byte N_priv_flags uint32 N_stats uint32 Testinfo_len uint32 Eedump_len uint32 Regdump_len uint32 } type ( HIDRawReportDescriptor struct { Size uint32 Value [4096]uint8 } HIDRawDevInfo struct { Bustype uint32 Vendor int16 Product int16 } ) const ( CLOSE_RANGE_UNSHARE = 0x2 CLOSE_RANGE_CLOEXEC = 0x4 ) const ( NLMSGERR_ATTR_MSG = 0x1 NLMSGERR_ATTR_OFFS = 0x2 NLMSGERR_ATTR_COOKIE = 0x3 ) type ( EraseInfo struct { Start uint32 Length uint32 } EraseInfo64 struct { Start uint64 Length uint64 } MtdOobBuf struct { Start uint32 Length uint32 Ptr *uint8 } MtdOobBuf64 struct { Start uint64 Pad uint32 Length uint32 Ptr uint64 } MtdWriteReq struct { Start uint64 Len uint64 Ooblen uint64 Data uint64 Oob uint64 Mode uint8 _ [7]uint8 } MtdInfo struct { Type uint8 Flags uint32 Size uint32 Erasesize uint32 Writesize uint32 Oobsize uint32 _ uint64 } RegionInfo struct { Offset uint32 Erasesize uint32 Numblocks uint32 Regionindex uint32 } OtpInfo struct { Start uint32 Length uint32 Locked uint32 } NandOobinfo struct { Useecc uint32 Eccbytes uint32 Oobfree [8][2]uint32 Eccpos [32]uint32 } NandOobfree struct { Offset uint32 Length uint32 } NandEcclayout struct { Eccbytes uint32 Eccpos [64]uint32 Oobavail uint32 Oobfree [8]NandOobfree } MtdEccStats struct { Corrected uint32 Failed uint32 Badblocks uint32 Bbtblocks uint32 } ) const ( MTD_OPS_PLACE_OOB = 0x0 MTD_OPS_AUTO_OOB = 0x1 MTD_OPS_RAW = 0x2 ) const ( MTD_FILE_MODE_NORMAL = 0x0 MTD_FILE_MODE_OTP_FACTORY = 0x1 MTD_FILE_MODE_OTP_USER = 0x2 MTD_FILE_MODE_RAW = 0x3 ) const ( NFC_CMD_UNSPEC = 0x0 NFC_CMD_GET_DEVICE = 0x1 NFC_CMD_DEV_UP = 0x2 NFC_CMD_DEV_DOWN = 0x3 NFC_CMD_DEP_LINK_UP = 0x4 NFC_CMD_DEP_LINK_DOWN = 0x5 NFC_CMD_START_POLL = 0x6 NFC_CMD_STOP_POLL = 0x7 NFC_CMD_GET_TARGET = 0x8 NFC_EVENT_TARGETS_FOUND = 0x9 NFC_EVENT_DEVICE_ADDED = 0xa NFC_EVENT_DEVICE_REMOVED = 0xb NFC_EVENT_TARGET_LOST = 0xc NFC_EVENT_TM_ACTIVATED = 0xd NFC_EVENT_TM_DEACTIVATED = 0xe NFC_CMD_LLC_GET_PARAMS = 0xf NFC_CMD_LLC_SET_PARAMS = 0x10 NFC_CMD_ENABLE_SE = 0x11 NFC_CMD_DISABLE_SE = 0x12 NFC_CMD_LLC_SDREQ = 0x13 NFC_EVENT_LLC_SDRES = 0x14 NFC_CMD_FW_DOWNLOAD = 0x15 NFC_EVENT_SE_ADDED = 0x16 NFC_EVENT_SE_REMOVED = 0x17 NFC_EVENT_SE_CONNECTIVITY = 0x18 NFC_EVENT_SE_TRANSACTION = 0x19 NFC_CMD_GET_SE = 0x1a NFC_CMD_SE_IO = 0x1b NFC_CMD_ACTIVATE_TARGET = 0x1c NFC_CMD_VENDOR = 0x1d NFC_CMD_DEACTIVATE_TARGET = 0x1e NFC_ATTR_UNSPEC = 0x0 NFC_ATTR_DEVICE_INDEX = 0x1 NFC_ATTR_DEVICE_NAME = 0x2 NFC_ATTR_PROTOCOLS = 0x3 NFC_ATTR_TARGET_INDEX = 0x4 NFC_ATTR_TARGET_SENS_RES = 0x5 NFC_ATTR_TARGET_SEL_RES = 0x6 NFC_ATTR_TARGET_NFCID1 = 0x7 NFC_ATTR_TARGET_SENSB_RES = 0x8 NFC_ATTR_TARGET_SENSF_RES = 0x9 NFC_ATTR_COMM_MODE = 0xa NFC_ATTR_RF_MODE = 0xb NFC_ATTR_DEVICE_POWERED = 0xc NFC_ATTR_IM_PROTOCOLS = 0xd NFC_ATTR_TM_PROTOCOLS = 0xe NFC_ATTR_LLC_PARAM_LTO = 0xf NFC_ATTR_LLC_PARAM_RW = 0x10 NFC_ATTR_LLC_PARAM_MIUX = 0x11 NFC_ATTR_SE = 0x12 NFC_ATTR_LLC_SDP = 0x13 NFC_ATTR_FIRMWARE_NAME = 0x14 NFC_ATTR_SE_INDEX = 0x15 NFC_ATTR_SE_TYPE = 0x16 NFC_ATTR_SE_AID = 0x17 NFC_ATTR_FIRMWARE_DOWNLOAD_STATUS = 0x18 NFC_ATTR_SE_APDU = 0x19 NFC_ATTR_TARGET_ISO15693_DSFID = 0x1a NFC_ATTR_TARGET_ISO15693_UID = 0x1b NFC_ATTR_SE_PARAMS = 0x1c NFC_ATTR_VENDOR_ID = 0x1d NFC_ATTR_VENDOR_SUBCMD = 0x1e NFC_ATTR_VENDOR_DATA = 0x1f NFC_SDP_ATTR_UNSPEC = 0x0 NFC_SDP_ATTR_URI = 0x1 NFC_SDP_ATTR_SAP = 0x2 ) type LandlockRulesetAttr struct { Access_fs uint64 Access_net uint64 } type LandlockPathBeneathAttr struct { Allowed_access uint64 Parent_fd int32 } const ( LANDLOCK_RULE_PATH_BENEATH = 0x1 ) const ( IPC_CREAT = 0x200 IPC_EXCL = 0x400 IPC_NOWAIT = 0x800 IPC_PRIVATE = 0x0 ipc_64 = 0x100 ) const ( IPC_RMID = 0x0 IPC_SET = 0x1 IPC_STAT = 0x2 ) const ( SHM_RDONLY = 0x1000 SHM_RND = 0x2000 ) type MountAttr struct { Attr_set uint64 Attr_clr uint64 Propagation uint64 Userns_fd uint64 } const ( WG_CMD_GET_DEVICE = 0x0 WG_CMD_SET_DEVICE = 0x1 WGDEVICE_F_REPLACE_PEERS = 0x1 WGDEVICE_A_UNSPEC = 0x0 WGDEVICE_A_IFINDEX = 0x1 WGDEVICE_A_IFNAME = 0x2 WGDEVICE_A_PRIVATE_KEY = 0x3 WGDEVICE_A_PUBLIC_KEY = 0x4 WGDEVICE_A_FLAGS = 0x5 WGDEVICE_A_LISTEN_PORT = 0x6 WGDEVICE_A_FWMARK = 0x7 WGDEVICE_A_PEERS = 0x8 WGPEER_F_REMOVE_ME = 0x1 WGPEER_F_REPLACE_ALLOWEDIPS = 0x2 WGPEER_F_UPDATE_ONLY = 0x4 WGPEER_A_UNSPEC = 0x0 WGPEER_A_PUBLIC_KEY = 0x1 WGPEER_A_PRESHARED_KEY = 0x2 WGPEER_A_FLAGS = 0x3 WGPEER_A_ENDPOINT = 0x4 WGPEER_A_PERSISTENT_KEEPALIVE_INTERVAL = 0x5 WGPEER_A_LAST_HANDSHAKE_TIME = 0x6 WGPEER_A_RX_BYTES = 0x7 WGPEER_A_TX_BYTES = 0x8 WGPEER_A_ALLOWEDIPS = 0x9 WGPEER_A_PROTOCOL_VERSION = 0xa WGALLOWEDIP_A_UNSPEC = 0x0 WGALLOWEDIP_A_FAMILY = 0x1 WGALLOWEDIP_A_IPADDR = 0x2 WGALLOWEDIP_A_CIDR_MASK = 0x3 ) const ( NL_ATTR_TYPE_INVALID = 0x0 NL_ATTR_TYPE_FLAG = 0x1 NL_ATTR_TYPE_U8 = 0x2 NL_ATTR_TYPE_U16 = 0x3 NL_ATTR_TYPE_U32 = 0x4 NL_ATTR_TYPE_U64 = 0x5 NL_ATTR_TYPE_S8 = 0x6 NL_ATTR_TYPE_S16 = 0x7 NL_ATTR_TYPE_S32 = 0x8 NL_ATTR_TYPE_S64 = 0x9 NL_ATTR_TYPE_BINARY = 0xa NL_ATTR_TYPE_STRING = 0xb NL_ATTR_TYPE_NUL_STRING = 0xc NL_ATTR_TYPE_NESTED = 0xd NL_ATTR_TYPE_NESTED_ARRAY = 0xe NL_ATTR_TYPE_BITFIELD32 = 0xf NL_POLICY_TYPE_ATTR_UNSPEC = 0x0 NL_POLICY_TYPE_ATTR_TYPE = 0x1 NL_POLICY_TYPE_ATTR_MIN_VALUE_S = 0x2 NL_POLICY_TYPE_ATTR_MAX_VALUE_S = 0x3 NL_POLICY_TYPE_ATTR_MIN_VALUE_U = 0x4 NL_POLICY_TYPE_ATTR_MAX_VALUE_U = 0x5 NL_POLICY_TYPE_ATTR_MIN_LENGTH = 0x6 NL_POLICY_TYPE_ATTR_MAX_LENGTH = 0x7 NL_POLICY_TYPE_ATTR_POLICY_IDX = 0x8 NL_POLICY_TYPE_ATTR_POLICY_MAXTYPE = 0x9 NL_POLICY_TYPE_ATTR_BITFIELD32_MASK = 0xa NL_POLICY_TYPE_ATTR_PAD = 0xb NL_POLICY_TYPE_ATTR_MASK = 0xc NL_POLICY_TYPE_ATTR_MAX = 0xc ) type CANBitTiming struct { Bitrate uint32 Sample_point uint32 Tq uint32 Prop_seg uint32 Phase_seg1 uint32 Phase_seg2 uint32 Sjw uint32 Brp uint32 } type CANBitTimingConst struct { Name [16]uint8 Tseg1_min uint32 Tseg1_max uint32 Tseg2_min uint32 Tseg2_max uint32 Sjw_max uint32 Brp_min uint32 Brp_max uint32 Brp_inc uint32 } type CANClock struct { Freq uint32 } type CANBusErrorCounters struct { Txerr uint16 Rxerr uint16 } type CANCtrlMode struct { Mask uint32 Flags uint32 } type CANDeviceStats struct { Bus_error uint32 Error_warning uint32 Error_passive uint32 Bus_off uint32 Arbitration_lost uint32 Restarts uint32 } const ( CAN_STATE_ERROR_ACTIVE = 0x0 CAN_STATE_ERROR_WARNING = 0x1 CAN_STATE_ERROR_PASSIVE = 0x2 CAN_STATE_BUS_OFF = 0x3 CAN_STATE_STOPPED = 0x4 CAN_STATE_SLEEPING = 0x5 CAN_STATE_MAX = 0x6 ) const ( IFLA_CAN_UNSPEC = 0x0 IFLA_CAN_BITTIMING = 0x1 IFLA_CAN_BITTIMING_CONST = 0x2 IFLA_CAN_CLOCK = 0x3 IFLA_CAN_STATE = 0x4 IFLA_CAN_CTRLMODE = 0x5 IFLA_CAN_RESTART_MS = 0x6 IFLA_CAN_RESTART = 0x7 IFLA_CAN_BERR_COUNTER = 0x8 IFLA_CAN_DATA_BITTIMING = 0x9 IFLA_CAN_DATA_BITTIMING_CONST = 0xa IFLA_CAN_TERMINATION = 0xb IFLA_CAN_TERMINATION_CONST = 0xc IFLA_CAN_BITRATE_CONST = 0xd IFLA_CAN_DATA_BITRATE_CONST = 0xe IFLA_CAN_BITRATE_MAX = 0xf ) type KCMAttach struct { Fd int32 Bpf_fd int32 } type KCMUnattach struct { Fd int32 } type KCMClone struct { Fd int32 } const ( NL80211_AC_BE = 0x2 NL80211_AC_BK = 0x3 NL80211_ACL_POLICY_ACCEPT_UNLESS_LISTED = 0x0 NL80211_ACL_POLICY_DENY_UNLESS_LISTED = 0x1 NL80211_AC_VI = 0x1 NL80211_AC_VO = 0x0 NL80211_AP_SETTINGS_EXTERNAL_AUTH_SUPPORT = 0x1 NL80211_AP_SETTINGS_SA_QUERY_OFFLOAD_SUPPORT = 0x2 NL80211_AP_SME_SA_QUERY_OFFLOAD = 0x1 NL80211_ATTR_4ADDR = 0x53 NL80211_ATTR_ACK = 0x5c NL80211_ATTR_ACK_SIGNAL = 0x107 NL80211_ATTR_ACL_POLICY = 0xa5 NL80211_ATTR_ADMITTED_TIME = 0xd4 NL80211_ATTR_AIRTIME_WEIGHT = 0x112 NL80211_ATTR_AKM_SUITES = 0x4c NL80211_ATTR_AP_ISOLATE = 0x60 NL80211_ATTR_AP_SETTINGS_FLAGS = 0x135 NL80211_ATTR_AUTH_DATA = 0x9c NL80211_ATTR_AUTH_TYPE = 0x35 NL80211_ATTR_BANDS = 0xef NL80211_ATTR_BEACON_HEAD = 0xe NL80211_ATTR_BEACON_INTERVAL = 0xc NL80211_ATTR_BEACON_TAIL = 0xf NL80211_ATTR_BG_SCAN_PERIOD = 0x98 NL80211_ATTR_BSS_BASIC_RATES = 0x24 NL80211_ATTR_BSS = 0x2f NL80211_ATTR_BSS_CTS_PROT = 0x1c NL80211_ATTR_BSS_HT_OPMODE = 0x6d NL80211_ATTR_BSSID = 0xf5 NL80211_ATTR_BSS_SELECT = 0xe3 NL80211_ATTR_BSS_SHORT_PREAMBLE = 0x1d NL80211_ATTR_BSS_SHORT_SLOT_TIME = 0x1e NL80211_ATTR_CENTER_FREQ1 = 0xa0 NL80211_ATTR_CENTER_FREQ1_OFFSET = 0x123 NL80211_ATTR_CENTER_FREQ2 = 0xa1 NL80211_ATTR_CHANNEL_WIDTH = 0x9f NL80211_ATTR_CH_SWITCH_BLOCK_TX = 0xb8 NL80211_ATTR_CH_SWITCH_COUNT = 0xb7 NL80211_ATTR_CIPHER_SUITE_GROUP = 0x4a NL80211_ATTR_CIPHER_SUITES = 0x39 NL80211_ATTR_CIPHER_SUITES_PAIRWISE = 0x49 NL80211_ATTR_CNTDWN_OFFS_BEACON = 0xba NL80211_ATTR_CNTDWN_OFFS_PRESP = 0xbb NL80211_ATTR_COALESCE_RULE = 0xb6 NL80211_ATTR_COALESCE_RULE_CONDITION = 0x2 NL80211_ATTR_COALESCE_RULE_DELAY = 0x1 NL80211_ATTR_COALESCE_RULE_MAX = 0x3 NL80211_ATTR_COALESCE_RULE_PKT_PATTERN = 0x3 NL80211_ATTR_COLOR_CHANGE_COLOR = 0x130 NL80211_ATTR_COLOR_CHANGE_COUNT = 0x12f NL80211_ATTR_COLOR_CHANGE_ELEMS = 0x131 NL80211_ATTR_CONN_FAILED_REASON = 0x9b NL80211_ATTR_CONTROL_PORT = 0x44 NL80211_ATTR_CONTROL_PORT_ETHERTYPE = 0x66 NL80211_ATTR_CONTROL_PORT_NO_ENCRYPT = 0x67 NL80211_ATTR_CONTROL_PORT_NO_PREAUTH = 0x11e NL80211_ATTR_CONTROL_PORT_OVER_NL80211 = 0x108 NL80211_ATTR_COOKIE = 0x58 NL80211_ATTR_CQM_BEACON_LOSS_EVENT = 0x8 NL80211_ATTR_CQM = 0x5e NL80211_ATTR_CQM_MAX = 0x9 NL80211_ATTR_CQM_PKT_LOSS_EVENT = 0x4 NL80211_ATTR_CQM_RSSI_HYST = 0x2 NL80211_ATTR_CQM_RSSI_LEVEL = 0x9 NL80211_ATTR_CQM_RSSI_THOLD = 0x1 NL80211_ATTR_CQM_RSSI_THRESHOLD_EVENT = 0x3 NL80211_ATTR_CQM_TXE_INTVL = 0x7 NL80211_ATTR_CQM_TXE_PKTS = 0x6 NL80211_ATTR_CQM_TXE_RATE = 0x5 NL80211_ATTR_CRIT_PROT_ID = 0xb3 NL80211_ATTR_CSA_C_OFF_BEACON = 0xba NL80211_ATTR_CSA_C_OFF_PRESP = 0xbb NL80211_ATTR_CSA_C_OFFSETS_TX = 0xcd NL80211_ATTR_CSA_IES = 0xb9 NL80211_ATTR_DEVICE_AP_SME = 0x8d NL80211_ATTR_DFS_CAC_TIME = 0x7 NL80211_ATTR_DFS_REGION = 0x92 NL80211_ATTR_DISABLE_EHT = 0x137 NL80211_ATTR_DISABLE_HE = 0x12d NL80211_ATTR_DISABLE_HT = 0x93 NL80211_ATTR_DISABLE_VHT = 0xaf NL80211_ATTR_DISCONNECTED_BY_AP = 0x47 NL80211_ATTR_DONT_WAIT_FOR_ACK = 0x8e NL80211_ATTR_DTIM_PERIOD = 0xd NL80211_ATTR_DURATION = 0x57 NL80211_ATTR_EHT_CAPABILITY = 0x136 NL80211_ATTR_EML_CAPABILITY = 0x13d NL80211_ATTR_EXT_CAPA = 0xa9 NL80211_ATTR_EXT_CAPA_MASK = 0xaa NL80211_ATTR_EXTERNAL_AUTH_ACTION = 0x104 NL80211_ATTR_EXTERNAL_AUTH_SUPPORT = 0x105 NL80211_ATTR_EXT_FEATURES = 0xd9 NL80211_ATTR_FEATURE_FLAGS = 0x8f NL80211_ATTR_FILS_CACHE_ID = 0xfd NL80211_ATTR_FILS_DISCOVERY = 0x126 NL80211_ATTR_FILS_ERP_NEXT_SEQ_NUM = 0xfb NL80211_ATTR_FILS_ERP_REALM = 0xfa NL80211_ATTR_FILS_ERP_RRK = 0xfc NL80211_ATTR_FILS_ERP_USERNAME = 0xf9 NL80211_ATTR_FILS_KEK = 0xf2 NL80211_ATTR_FILS_NONCES = 0xf3 NL80211_ATTR_FRAME = 0x33 NL80211_ATTR_FRAME_MATCH = 0x5b NL80211_ATTR_FRAME_TYPE = 0x65 NL80211_ATTR_FREQ_AFTER = 0x3b NL80211_ATTR_FREQ_BEFORE = 0x3a NL80211_ATTR_FREQ_FIXED = 0x3c NL80211_ATTR_FREQ_RANGE_END = 0x3 NL80211_ATTR_FREQ_RANGE_MAX_BW = 0x4 NL80211_ATTR_FREQ_RANGE_START = 0x2 NL80211_ATTR_FTM_RESPONDER = 0x10e NL80211_ATTR_FTM_RESPONDER_STATS = 0x10f NL80211_ATTR_GENERATION = 0x2e NL80211_ATTR_HANDLE_DFS = 0xbf NL80211_ATTR_HE_6GHZ_CAPABILITY = 0x125 NL80211_ATTR_HE_BSS_COLOR = 0x11b NL80211_ATTR_HE_CAPABILITY = 0x10d NL80211_ATTR_HE_OBSS_PD = 0x117 NL80211_ATTR_HIDDEN_SSID = 0x7e NL80211_ATTR_HT_CAPABILITY = 0x1f NL80211_ATTR_HT_CAPABILITY_MASK = 0x94 NL80211_ATTR_IE_ASSOC_RESP = 0x80 NL80211_ATTR_IE = 0x2a NL80211_ATTR_IE_PROBE_RESP = 0x7f NL80211_ATTR_IE_RIC = 0xb2 NL80211_ATTR_IFACE_SOCKET_OWNER = 0xcc NL80211_ATTR_IFINDEX = 0x3 NL80211_ATTR_IFNAME = 0x4 NL80211_ATTR_IFTYPE_AKM_SUITES = 0x11c NL80211_ATTR_IFTYPE = 0x5 NL80211_ATTR_IFTYPE_EXT_CAPA = 0xe6 NL80211_ATTR_INACTIVITY_TIMEOUT = 0x96 NL80211_ATTR_INTERFACE_COMBINATIONS = 0x78 NL80211_ATTR_KEY_CIPHER = 0x9 NL80211_ATTR_KEY = 0x50 NL80211_ATTR_KEY_DATA = 0x7 NL80211_ATTR_KEY_DEFAULT = 0xb NL80211_ATTR_KEY_DEFAULT_MGMT = 0x28 NL80211_ATTR_KEY_DEFAULT_TYPES = 0x6e NL80211_ATTR_KEY_IDX = 0x8 NL80211_ATTR_KEYS = 0x51 NL80211_ATTR_KEY_SEQ = 0xa NL80211_ATTR_KEY_TYPE = 0x37 NL80211_ATTR_LOCAL_MESH_POWER_MODE = 0xa4 NL80211_ATTR_LOCAL_STATE_CHANGE = 0x5f NL80211_ATTR_MAC_ACL_MAX = 0xa7 NL80211_ATTR_MAC_ADDRS = 0xa6 NL80211_ATTR_MAC = 0x6 NL80211_ATTR_MAC_HINT = 0xc8 NL80211_ATTR_MAC_MASK = 0xd7 NL80211_ATTR_MAX_AP_ASSOC_STA = 0xca NL80211_ATTR_MAX = 0x14c NL80211_ATTR_MAX_CRIT_PROT_DURATION = 0xb4 NL80211_ATTR_MAX_CSA_COUNTERS = 0xce NL80211_ATTR_MAX_MATCH_SETS = 0x85 NL80211_ATTR_MAX_NUM_AKM_SUITES = 0x13c NL80211_ATTR_MAX_NUM_PMKIDS = 0x56 NL80211_ATTR_MAX_NUM_SCAN_SSIDS = 0x2b NL80211_ATTR_MAX_NUM_SCHED_SCAN_PLANS = 0xde NL80211_ATTR_MAX_NUM_SCHED_SCAN_SSIDS = 0x7b NL80211_ATTR_MAX_REMAIN_ON_CHANNEL_DURATION = 0x6f NL80211_ATTR_MAX_SCAN_IE_LEN = 0x38 NL80211_ATTR_MAX_SCAN_PLAN_INTERVAL = 0xdf NL80211_ATTR_MAX_SCAN_PLAN_ITERATIONS = 0xe0 NL80211_ATTR_MAX_SCHED_SCAN_IE_LEN = 0x7c NL80211_ATTR_MBSSID_CONFIG = 0x132 NL80211_ATTR_MBSSID_ELEMS = 0x133 NL80211_ATTR_MCAST_RATE = 0x6b NL80211_ATTR_MDID = 0xb1 NL80211_ATTR_MEASUREMENT_DURATION = 0xeb NL80211_ATTR_MEASUREMENT_DURATION_MANDATORY = 0xec NL80211_ATTR_MESH_CONFIG = 0x23 NL80211_ATTR_MESH_ID = 0x18 NL80211_ATTR_MESH_PEER_AID = 0xed NL80211_ATTR_MESH_SETUP = 0x70 NL80211_ATTR_MGMT_SUBTYPE = 0x29 NL80211_ATTR_MLD_ADDR = 0x13a NL80211_ATTR_MLD_CAPA_AND_OPS = 0x13e NL80211_ATTR_MLO_LINK_ID = 0x139 NL80211_ATTR_MLO_LINKS = 0x138 NL80211_ATTR_MLO_SUPPORT = 0x13b NL80211_ATTR_MNTR_FLAGS = 0x17 NL80211_ATTR_MPATH_INFO = 0x1b NL80211_ATTR_MPATH_NEXT_HOP = 0x1a NL80211_ATTR_MULTICAST_TO_UNICAST_ENABLED = 0xf4 NL80211_ATTR_MU_MIMO_FOLLOW_MAC_ADDR = 0xe8 NL80211_ATTR_MU_MIMO_GROUP_DATA = 0xe7 NL80211_ATTR_NAN_FUNC = 0xf0 NL80211_ATTR_NAN_MASTER_PREF = 0xee NL80211_ATTR_NAN_MATCH = 0xf1 NL80211_ATTR_NETNS_FD = 0xdb NL80211_ATTR_NOACK_MAP = 0x95 NL80211_ATTR_NSS = 0x106 NL80211_ATTR_OBSS_COLOR_BITMAP = 0x12e NL80211_ATTR_OFFCHANNEL_TX_OK = 0x6c NL80211_ATTR_OPER_CLASS = 0xd6 NL80211_ATTR_OPMODE_NOTIF = 0xc2 NL80211_ATTR_P2P_CTWINDOW = 0xa2 NL80211_ATTR_P2P_OPPPS = 0xa3 NL80211_ATTR_PAD = 0xe5 NL80211_ATTR_PBSS = 0xe2 NL80211_ATTR_PEER_AID = 0xb5 NL80211_ATTR_PEER_MEASUREMENTS = 0x111 NL80211_ATTR_PID = 0x52 NL80211_ATTR_PMK = 0xfe NL80211_ATTR_PMKID = 0x55 NL80211_ATTR_PMK_LIFETIME = 0x11f NL80211_ATTR_PMKR0_NAME = 0x102 NL80211_ATTR_PMK_REAUTH_THRESHOLD = 0x120 NL80211_ATTR_PMKSA_CANDIDATE = 0x86 NL80211_ATTR_PORT_AUTHORIZED = 0x103 NL80211_ATTR_POWER_RULE_MAX_ANT_GAIN = 0x5 NL80211_ATTR_POWER_RULE_MAX_EIRP = 0x6 NL80211_ATTR_PREV_BSSID = 0x4f NL80211_ATTR_PRIVACY = 0x46 NL80211_ATTR_PROBE_RESP = 0x91 NL80211_ATTR_PROBE_RESP_OFFLOAD = 0x90 NL80211_ATTR_PROTOCOL_FEATURES = 0xad NL80211_ATTR_PS_STATE = 0x5d NL80211_ATTR_QOS_MAP = 0xc7 NL80211_ATTR_RADAR_BACKGROUND = 0x134 NL80211_ATTR_RADAR_EVENT = 0xa8 NL80211_ATTR_REASON_CODE = 0x36 NL80211_ATTR_RECEIVE_MULTICAST = 0x121 NL80211_ATTR_RECONNECT_REQUESTED = 0x12b NL80211_ATTR_REG_ALPHA2 = 0x21 NL80211_ATTR_REG_INDOOR = 0xdd NL80211_ATTR_REG_INITIATOR = 0x30 NL80211_ATTR_REG_RULE_FLAGS = 0x1 NL80211_ATTR_REG_RULES = 0x22 NL80211_ATTR_REG_TYPE = 0x31 NL80211_ATTR_REKEY_DATA = 0x7a NL80211_ATTR_REQ_IE = 0x4d NL80211_ATTR_RESP_IE = 0x4e NL80211_ATTR_ROAM_SUPPORT = 0x83 NL80211_ATTR_RX_FRAME_TYPES = 0x64 NL80211_ATTR_RX_HW_TIMESTAMP = 0x140 NL80211_ATTR_RXMGMT_FLAGS = 0xbc NL80211_ATTR_RX_SIGNAL_DBM = 0x97 NL80211_ATTR_S1G_CAPABILITY = 0x128 NL80211_ATTR_S1G_CAPABILITY_MASK = 0x129 NL80211_ATTR_SAE_DATA = 0x9c NL80211_ATTR_SAE_PASSWORD = 0x115 NL80211_ATTR_SAE_PWE = 0x12a NL80211_ATTR_SAR_SPEC = 0x12c NL80211_ATTR_SCAN_FLAGS = 0x9e NL80211_ATTR_SCAN_FREQ_KHZ = 0x124 NL80211_ATTR_SCAN_FREQUENCIES = 0x2c NL80211_ATTR_SCAN_GENERATION = 0x2e NL80211_ATTR_SCAN_SSIDS = 0x2d NL80211_ATTR_SCAN_START_TIME_TSF_BSSID = 0xea NL80211_ATTR_SCAN_START_TIME_TSF = 0xe9 NL80211_ATTR_SCAN_SUPP_RATES = 0x7d NL80211_ATTR_SCHED_SCAN_DELAY = 0xdc NL80211_ATTR_SCHED_SCAN_INTERVAL = 0x77 NL80211_ATTR_SCHED_SCAN_MATCH = 0x84 NL80211_ATTR_SCHED_SCAN_MATCH_SSID = 0x1 NL80211_ATTR_SCHED_SCAN_MAX_REQS = 0x100 NL80211_ATTR_SCHED_SCAN_MULTI = 0xff NL80211_ATTR_SCHED_SCAN_PLANS = 0xe1 NL80211_ATTR_SCHED_SCAN_RELATIVE_RSSI = 0xf6 NL80211_ATTR_SCHED_SCAN_RSSI_ADJUST = 0xf7 NL80211_ATTR_SMPS_MODE = 0xd5 NL80211_ATTR_SOCKET_OWNER = 0xcc NL80211_ATTR_SOFTWARE_IFTYPES = 0x79 NL80211_ATTR_SPLIT_WIPHY_DUMP = 0xae NL80211_ATTR_SSID = 0x34 NL80211_ATTR_STA_AID = 0x10 NL80211_ATTR_STA_CAPABILITY = 0xab NL80211_ATTR_STA_EXT_CAPABILITY = 0xac NL80211_ATTR_STA_FLAGS2 = 0x43 NL80211_ATTR_STA_FLAGS = 0x11 NL80211_ATTR_STA_INFO = 0x15 NL80211_ATTR_STA_LISTEN_INTERVAL = 0x12 NL80211_ATTR_STA_PLINK_ACTION = 0x19 NL80211_ATTR_STA_PLINK_STATE = 0x74 NL80211_ATTR_STA_SUPPORTED_CHANNELS = 0xbd NL80211_ATTR_STA_SUPPORTED_OPER_CLASSES = 0xbe NL80211_ATTR_STA_SUPPORTED_RATES = 0x13 NL80211_ATTR_STA_SUPPORT_P2P_PS = 0xe4 NL80211_ATTR_STATUS_CODE = 0x48 NL80211_ATTR_STA_TX_POWER = 0x114 NL80211_ATTR_STA_TX_POWER_SETTING = 0x113 NL80211_ATTR_STA_VLAN = 0x14 NL80211_ATTR_STA_WME = 0x81 NL80211_ATTR_SUPPORT_10_MHZ = 0xc1 NL80211_ATTR_SUPPORT_5_MHZ = 0xc0 NL80211_ATTR_SUPPORT_AP_UAPSD = 0x82 NL80211_ATTR_SUPPORTED_COMMANDS = 0x32 NL80211_ATTR_SUPPORTED_IFTYPES = 0x20 NL80211_ATTR_SUPPORT_IBSS_RSN = 0x68 NL80211_ATTR_SUPPORT_MESH_AUTH = 0x73 NL80211_ATTR_SURVEY_INFO = 0x54 NL80211_ATTR_SURVEY_RADIO_STATS = 0xda NL80211_ATTR_TD_BITMAP = 0x141 NL80211_ATTR_TDLS_ACTION = 0x88 NL80211_ATTR_TDLS_DIALOG_TOKEN = 0x89 NL80211_ATTR_TDLS_EXTERNAL_SETUP = 0x8c NL80211_ATTR_TDLS_INITIATOR = 0xcf NL80211_ATTR_TDLS_OPERATION = 0x8a NL80211_ATTR_TDLS_PEER_CAPABILITY = 0xcb NL80211_ATTR_TDLS_SUPPORT = 0x8b NL80211_ATTR_TESTDATA = 0x45 NL80211_ATTR_TID_CONFIG = 0x11d NL80211_ATTR_TIMED_OUT = 0x41 NL80211_ATTR_TIMEOUT = 0x110 NL80211_ATTR_TIMEOUT_REASON = 0xf8 NL80211_ATTR_TSID = 0xd2 NL80211_ATTR_TWT_RESPONDER = 0x116 NL80211_ATTR_TX_FRAME_TYPES = 0x63 NL80211_ATTR_TX_HW_TIMESTAMP = 0x13f NL80211_ATTR_TX_NO_CCK_RATE = 0x87 NL80211_ATTR_TXQ_LIMIT = 0x10a NL80211_ATTR_TXQ_MEMORY_LIMIT = 0x10b NL80211_ATTR_TXQ_QUANTUM = 0x10c NL80211_ATTR_TXQ_STATS = 0x109 NL80211_ATTR_TX_RATES = 0x5a NL80211_ATTR_UNSOL_BCAST_PROBE_RESP = 0x127 NL80211_ATTR_UNSPEC = 0x0 NL80211_ATTR_USE_MFP = 0x42 NL80211_ATTR_USER_PRIO = 0xd3 NL80211_ATTR_USER_REG_HINT_TYPE = 0x9a NL80211_ATTR_USE_RRM = 0xd0 NL80211_ATTR_VENDOR_DATA = 0xc5 NL80211_ATTR_VENDOR_EVENTS = 0xc6 NL80211_ATTR_VENDOR_ID = 0xc3 NL80211_ATTR_VENDOR_SUBCMD = 0xc4 NL80211_ATTR_VHT_CAPABILITY = 0x9d NL80211_ATTR_VHT_CAPABILITY_MASK = 0xb0 NL80211_ATTR_VLAN_ID = 0x11a NL80211_ATTR_WANT_1X_4WAY_HS = 0x101 NL80211_ATTR_WDEV = 0x99 NL80211_ATTR_WIPHY_ANTENNA_AVAIL_RX = 0x72 NL80211_ATTR_WIPHY_ANTENNA_AVAIL_TX = 0x71 NL80211_ATTR_WIPHY_ANTENNA_RX = 0x6a NL80211_ATTR_WIPHY_ANTENNA_TX = 0x69 NL80211_ATTR_WIPHY_BANDS = 0x16 NL80211_ATTR_WIPHY_CHANNEL_TYPE = 0x27 NL80211_ATTR_WIPHY = 0x1 NL80211_ATTR_WIPHY_COVERAGE_CLASS = 0x59 NL80211_ATTR_WIPHY_DYN_ACK = 0xd1 NL80211_ATTR_WIPHY_EDMG_BW_CONFIG = 0x119 NL80211_ATTR_WIPHY_EDMG_CHANNELS = 0x118 NL80211_ATTR_WIPHY_FRAG_THRESHOLD = 0x3f NL80211_ATTR_WIPHY_FREQ = 0x26 NL80211_ATTR_WIPHY_FREQ_HINT = 0xc9 NL80211_ATTR_WIPHY_FREQ_OFFSET = 0x122 NL80211_ATTR_WIPHY_NAME = 0x2 NL80211_ATTR_WIPHY_RETRY_LONG = 0x3e NL80211_ATTR_WIPHY_RETRY_SHORT = 0x3d NL80211_ATTR_WIPHY_RTS_THRESHOLD = 0x40 NL80211_ATTR_WIPHY_SELF_MANAGED_REG = 0xd8 NL80211_ATTR_WIPHY_TX_POWER_LEVEL = 0x62 NL80211_ATTR_WIPHY_TX_POWER_SETTING = 0x61 NL80211_ATTR_WIPHY_TXQ_PARAMS = 0x25 NL80211_ATTR_WOWLAN_TRIGGERS = 0x75 NL80211_ATTR_WOWLAN_TRIGGERS_SUPPORTED = 0x76 NL80211_ATTR_WPA_VERSIONS = 0x4b NL80211_AUTHTYPE_AUTOMATIC = 0x8 NL80211_AUTHTYPE_FILS_PK = 0x7 NL80211_AUTHTYPE_FILS_SK = 0x5 NL80211_AUTHTYPE_FILS_SK_PFS = 0x6 NL80211_AUTHTYPE_FT = 0x2 NL80211_AUTHTYPE_MAX = 0x7 NL80211_AUTHTYPE_NETWORK_EAP = 0x3 NL80211_AUTHTYPE_OPEN_SYSTEM = 0x0 NL80211_AUTHTYPE_SAE = 0x4 NL80211_AUTHTYPE_SHARED_KEY = 0x1 NL80211_BAND_2GHZ = 0x0 NL80211_BAND_5GHZ = 0x1 NL80211_BAND_60GHZ = 0x2 NL80211_BAND_6GHZ = 0x3 NL80211_BAND_ATTR_EDMG_BW_CONFIG = 0xb NL80211_BAND_ATTR_EDMG_CHANNELS = 0xa NL80211_BAND_ATTR_FREQS = 0x1 NL80211_BAND_ATTR_HT_AMPDU_DENSITY = 0x6 NL80211_BAND_ATTR_HT_AMPDU_FACTOR = 0x5 NL80211_BAND_ATTR_HT_CAPA = 0x4 NL80211_BAND_ATTR_HT_MCS_SET = 0x3 NL80211_BAND_ATTR_IFTYPE_DATA = 0x9 NL80211_BAND_ATTR_MAX = 0xd NL80211_BAND_ATTR_RATES = 0x2 NL80211_BAND_ATTR_VHT_CAPA = 0x8 NL80211_BAND_ATTR_VHT_MCS_SET = 0x7 NL80211_BAND_IFTYPE_ATTR_EHT_CAP_MAC = 0x8 NL80211_BAND_IFTYPE_ATTR_EHT_CAP_MCS_SET = 0xa NL80211_BAND_IFTYPE_ATTR_EHT_CAP_PHY = 0x9 NL80211_BAND_IFTYPE_ATTR_EHT_CAP_PPE = 0xb NL80211_BAND_IFTYPE_ATTR_HE_6GHZ_CAPA = 0x6 NL80211_BAND_IFTYPE_ATTR_HE_CAP_MAC = 0x2 NL80211_BAND_IFTYPE_ATTR_HE_CAP_MCS_SET = 0x4 NL80211_BAND_IFTYPE_ATTR_HE_CAP_PHY = 0x3 NL80211_BAND_IFTYPE_ATTR_HE_CAP_PPE = 0x5 NL80211_BAND_IFTYPE_ATTR_IFTYPES = 0x1 NL80211_BAND_IFTYPE_ATTR_MAX = 0xb NL80211_BAND_IFTYPE_ATTR_VENDOR_ELEMS = 0x7 NL80211_BAND_LC = 0x5 NL80211_BAND_S1GHZ = 0x4 NL80211_BITRATE_ATTR_2GHZ_SHORTPREAMBLE = 0x2 NL80211_BITRATE_ATTR_MAX = 0x2 NL80211_BITRATE_ATTR_RATE = 0x1 NL80211_BSS_BEACON_IES = 0xb NL80211_BSS_BEACON_INTERVAL = 0x4 NL80211_BSS_BEACON_TSF = 0xd NL80211_BSS_BSSID = 0x1 NL80211_BSS_CAPABILITY = 0x5 NL80211_BSS_CHAIN_SIGNAL = 0x13 NL80211_BSS_CHAN_WIDTH_10 = 0x1 NL80211_BSS_CHAN_WIDTH_1 = 0x3 NL80211_BSS_CHAN_WIDTH_20 = 0x0 NL80211_BSS_CHAN_WIDTH_2 = 0x4 NL80211_BSS_CHAN_WIDTH_5 = 0x2 NL80211_BSS_CHAN_WIDTH = 0xc NL80211_BSS_FREQUENCY = 0x2 NL80211_BSS_FREQUENCY_OFFSET = 0x14 NL80211_BSS_INFORMATION_ELEMENTS = 0x6 NL80211_BSS_LAST_SEEN_BOOTTIME = 0xf NL80211_BSS_MAX = 0x18 NL80211_BSS_MLD_ADDR = 0x16 NL80211_BSS_MLO_LINK_ID = 0x15 NL80211_BSS_PAD = 0x10 NL80211_BSS_PARENT_BSSID = 0x12 NL80211_BSS_PARENT_TSF = 0x11 NL80211_BSS_PRESP_DATA = 0xe NL80211_BSS_SEEN_MS_AGO = 0xa NL80211_BSS_SELECT_ATTR_BAND_PREF = 0x2 NL80211_BSS_SELECT_ATTR_MAX = 0x3 NL80211_BSS_SELECT_ATTR_RSSI_ADJUST = 0x3 NL80211_BSS_SELECT_ATTR_RSSI = 0x1 NL80211_BSS_SIGNAL_MBM = 0x7 NL80211_BSS_SIGNAL_UNSPEC = 0x8 NL80211_BSS_STATUS_ASSOCIATED = 0x1 NL80211_BSS_STATUS_AUTHENTICATED = 0x0 NL80211_BSS_STATUS = 0x9 NL80211_BSS_STATUS_IBSS_JOINED = 0x2 NL80211_BSS_TSF = 0x3 NL80211_CHAN_HT20 = 0x1 NL80211_CHAN_HT40MINUS = 0x2 NL80211_CHAN_HT40PLUS = 0x3 NL80211_CHAN_NO_HT = 0x0 NL80211_CHAN_WIDTH_10 = 0x7 NL80211_CHAN_WIDTH_160 = 0x5 NL80211_CHAN_WIDTH_16 = 0xc NL80211_CHAN_WIDTH_1 = 0x8 NL80211_CHAN_WIDTH_20 = 0x1 NL80211_CHAN_WIDTH_20_NOHT = 0x0 NL80211_CHAN_WIDTH_2 = 0x9 NL80211_CHAN_WIDTH_320 = 0xd NL80211_CHAN_WIDTH_40 = 0x2 NL80211_CHAN_WIDTH_4 = 0xa NL80211_CHAN_WIDTH_5 = 0x6 NL80211_CHAN_WIDTH_80 = 0x3 NL80211_CHAN_WIDTH_80P80 = 0x4 NL80211_CHAN_WIDTH_8 = 0xb NL80211_CMD_ABORT_SCAN = 0x72 NL80211_CMD_ACTION = 0x3b NL80211_CMD_ACTION_TX_STATUS = 0x3c NL80211_CMD_ADD_LINK = 0x94 NL80211_CMD_ADD_LINK_STA = 0x96 NL80211_CMD_ADD_NAN_FUNCTION = 0x75 NL80211_CMD_ADD_TX_TS = 0x69 NL80211_CMD_ASSOC_COMEBACK = 0x93 NL80211_CMD_ASSOCIATE = 0x26 NL80211_CMD_AUTHENTICATE = 0x25 NL80211_CMD_CANCEL_REMAIN_ON_CHANNEL = 0x38 NL80211_CMD_CHANGE_NAN_CONFIG = 0x77 NL80211_CMD_CHANNEL_SWITCH = 0x66 NL80211_CMD_CH_SWITCH_NOTIFY = 0x58 NL80211_CMD_CH_SWITCH_STARTED_NOTIFY = 0x6e NL80211_CMD_COLOR_CHANGE_ABORTED = 0x90 NL80211_CMD_COLOR_CHANGE_COMPLETED = 0x91 NL80211_CMD_COLOR_CHANGE_REQUEST = 0x8e NL80211_CMD_COLOR_CHANGE_STARTED = 0x8f NL80211_CMD_CONNECT = 0x2e NL80211_CMD_CONN_FAILED = 0x5b NL80211_CMD_CONTROL_PORT_FRAME = 0x81 NL80211_CMD_CONTROL_PORT_FRAME_TX_STATUS = 0x8b NL80211_CMD_CRIT_PROTOCOL_START = 0x62 NL80211_CMD_CRIT_PROTOCOL_STOP = 0x63 NL80211_CMD_DEAUTHENTICATE = 0x27 NL80211_CMD_DEL_BEACON = 0x10 NL80211_CMD_DEL_INTERFACE = 0x8 NL80211_CMD_DEL_KEY = 0xc NL80211_CMD_DEL_MPATH = 0x18 NL80211_CMD_DEL_NAN_FUNCTION = 0x76 NL80211_CMD_DEL_PMK = 0x7c NL80211_CMD_DEL_PMKSA = 0x35 NL80211_CMD_DEL_STATION = 0x14 NL80211_CMD_DEL_TX_TS = 0x6a NL80211_CMD_DEL_WIPHY = 0x4 NL80211_CMD_DISASSOCIATE = 0x28 NL80211_CMD_DISCONNECT = 0x30 NL80211_CMD_EXTERNAL_AUTH = 0x7f NL80211_CMD_FLUSH_PMKSA = 0x36 NL80211_CMD_FRAME = 0x3b NL80211_CMD_FRAME_TX_STATUS = 0x3c NL80211_CMD_FRAME_WAIT_CANCEL = 0x43 NL80211_CMD_FT_EVENT = 0x61 NL80211_CMD_GET_BEACON = 0xd NL80211_CMD_GET_COALESCE = 0x64 NL80211_CMD_GET_FTM_RESPONDER_STATS = 0x82 NL80211_CMD_GET_INTERFACE = 0x5 NL80211_CMD_GET_KEY = 0x9 NL80211_CMD_GET_MESH_CONFIG = 0x1c NL80211_CMD_GET_MESH_PARAMS = 0x1c NL80211_CMD_GET_MPATH = 0x15 NL80211_CMD_GET_MPP = 0x6b NL80211_CMD_GET_POWER_SAVE = 0x3e NL80211_CMD_GET_PROTOCOL_FEATURES = 0x5f NL80211_CMD_GET_REG = 0x1f NL80211_CMD_GET_SCAN = 0x20 NL80211_CMD_GET_STATION = 0x11 NL80211_CMD_GET_SURVEY = 0x32 NL80211_CMD_GET_WIPHY = 0x1 NL80211_CMD_GET_WOWLAN = 0x49 NL80211_CMD_JOIN_IBSS = 0x2b NL80211_CMD_JOIN_MESH = 0x44 NL80211_CMD_JOIN_OCB = 0x6c NL80211_CMD_LEAVE_IBSS = 0x2c NL80211_CMD_LEAVE_MESH = 0x45 NL80211_CMD_LEAVE_OCB = 0x6d NL80211_CMD_MAX = 0x9b NL80211_CMD_MICHAEL_MIC_FAILURE = 0x29 NL80211_CMD_MODIFY_LINK_STA = 0x97 NL80211_CMD_NAN_MATCH = 0x78 NL80211_CMD_NEW_BEACON = 0xf NL80211_CMD_NEW_INTERFACE = 0x7 NL80211_CMD_NEW_KEY = 0xb NL80211_CMD_NEW_MPATH = 0x17 NL80211_CMD_NEW_PEER_CANDIDATE = 0x48 NL80211_CMD_NEW_SCAN_RESULTS = 0x22 NL80211_CMD_NEW_STATION = 0x13 NL80211_CMD_NEW_SURVEY_RESULTS = 0x33 NL80211_CMD_NEW_WIPHY = 0x3 NL80211_CMD_NOTIFY_CQM = 0x40 NL80211_CMD_NOTIFY_RADAR = 0x86 NL80211_CMD_OBSS_COLOR_COLLISION = 0x8d NL80211_CMD_PEER_MEASUREMENT_COMPLETE = 0x85 NL80211_CMD_PEER_MEASUREMENT_RESULT = 0x84 NL80211_CMD_PEER_MEASUREMENT_START = 0x83 NL80211_CMD_PMKSA_CANDIDATE = 0x50 NL80211_CMD_PORT_AUTHORIZED = 0x7d NL80211_CMD_PROBE_CLIENT = 0x54 NL80211_CMD_PROBE_MESH_LINK = 0x88 NL80211_CMD_RADAR_DETECT = 0x5e NL80211_CMD_REG_BEACON_HINT = 0x2a NL80211_CMD_REG_CHANGE = 0x24 NL80211_CMD_REGISTER_ACTION = 0x3a NL80211_CMD_REGISTER_BEACONS = 0x55 NL80211_CMD_REGISTER_FRAME = 0x3a NL80211_CMD_RELOAD_REGDB = 0x7e NL80211_CMD_REMAIN_ON_CHANNEL = 0x37 NL80211_CMD_REMOVE_LINK = 0x95 NL80211_CMD_REMOVE_LINK_STA = 0x98 NL80211_CMD_REQ_SET_REG = 0x1b NL80211_CMD_ROAM = 0x2f NL80211_CMD_SCAN_ABORTED = 0x23 NL80211_CMD_SCHED_SCAN_RESULTS = 0x4d NL80211_CMD_SCHED_SCAN_STOPPED = 0x4e NL80211_CMD_SET_BEACON = 0xe NL80211_CMD_SET_BSS = 0x19 NL80211_CMD_SET_CHANNEL = 0x41 NL80211_CMD_SET_COALESCE = 0x65 NL80211_CMD_SET_CQM = 0x3f NL80211_CMD_SET_FILS_AAD = 0x92 NL80211_CMD_SET_INTERFACE = 0x6 NL80211_CMD_SET_KEY = 0xa NL80211_CMD_SET_MAC_ACL = 0x5d NL80211_CMD_SET_MCAST_RATE = 0x5c NL80211_CMD_SET_MESH_CONFIG = 0x1d NL80211_CMD_SET_MESH_PARAMS = 0x1d NL80211_CMD_SET_MGMT_EXTRA_IE = 0x1e NL80211_CMD_SET_MPATH = 0x16 NL80211_CMD_SET_MULTICAST_TO_UNICAST = 0x79 NL80211_CMD_SET_NOACK_MAP = 0x57 NL80211_CMD_SET_PMK = 0x7b NL80211_CMD_SET_PMKSA = 0x34 NL80211_CMD_SET_POWER_SAVE = 0x3d NL80211_CMD_SET_QOS_MAP = 0x68 NL80211_CMD_SET_REG = 0x1a NL80211_CMD_SET_REKEY_OFFLOAD = 0x4f NL80211_CMD_SET_SAR_SPECS = 0x8c NL80211_CMD_SET_STATION = 0x12 NL80211_CMD_SET_TID_CONFIG = 0x89 NL80211_CMD_SET_TX_BITRATE_MASK = 0x39 NL80211_CMD_SET_WDS_PEER = 0x42 NL80211_CMD_SET_WIPHY = 0x2 NL80211_CMD_SET_WIPHY_NETNS = 0x31 NL80211_CMD_SET_WOWLAN = 0x4a NL80211_CMD_STA_OPMODE_CHANGED = 0x80 NL80211_CMD_START_AP = 0xf NL80211_CMD_START_NAN = 0x73 NL80211_CMD_START_P2P_DEVICE = 0x59 NL80211_CMD_START_SCHED_SCAN = 0x4b NL80211_CMD_STOP_AP = 0x10 NL80211_CMD_STOP_NAN = 0x74 NL80211_CMD_STOP_P2P_DEVICE = 0x5a NL80211_CMD_STOP_SCHED_SCAN = 0x4c NL80211_CMD_TDLS_CANCEL_CHANNEL_SWITCH = 0x70 NL80211_CMD_TDLS_CHANNEL_SWITCH = 0x6f NL80211_CMD_TDLS_MGMT = 0x52 NL80211_CMD_TDLS_OPER = 0x51 NL80211_CMD_TESTMODE = 0x2d NL80211_CMD_TRIGGER_SCAN = 0x21 NL80211_CMD_UNEXPECTED_4ADDR_FRAME = 0x56 NL80211_CMD_UNEXPECTED_FRAME = 0x53 NL80211_CMD_UNPROT_BEACON = 0x8a NL80211_CMD_UNPROT_DEAUTHENTICATE = 0x46 NL80211_CMD_UNPROT_DISASSOCIATE = 0x47 NL80211_CMD_UNSPEC = 0x0 NL80211_CMD_UPDATE_CONNECT_PARAMS = 0x7a NL80211_CMD_UPDATE_FT_IES = 0x60 NL80211_CMD_UPDATE_OWE_INFO = 0x87 NL80211_CMD_VENDOR = 0x67 NL80211_CMD_WIPHY_REG_CHANGE = 0x71 NL80211_COALESCE_CONDITION_MATCH = 0x0 NL80211_COALESCE_CONDITION_NO_MATCH = 0x1 NL80211_CONN_FAIL_BLOCKED_CLIENT = 0x1 NL80211_CONN_FAIL_MAX_CLIENTS = 0x0 NL80211_CQM_RSSI_BEACON_LOSS_EVENT = 0x2 NL80211_CQM_RSSI_THRESHOLD_EVENT_HIGH = 0x1 NL80211_CQM_RSSI_THRESHOLD_EVENT_LOW = 0x0 NL80211_CQM_TXE_MAX_INTVL = 0x708 NL80211_CRIT_PROTO_APIPA = 0x3 NL80211_CRIT_PROTO_DHCP = 0x1 NL80211_CRIT_PROTO_EAPOL = 0x2 NL80211_CRIT_PROTO_MAX_DURATION = 0x1388 NL80211_CRIT_PROTO_UNSPEC = 0x0 NL80211_DFS_AVAILABLE = 0x2 NL80211_DFS_ETSI = 0x2 NL80211_DFS_FCC = 0x1 NL80211_DFS_JP = 0x3 NL80211_DFS_UNAVAILABLE = 0x1 NL80211_DFS_UNSET = 0x0 NL80211_DFS_USABLE = 0x0 NL80211_EDMG_BW_CONFIG_MAX = 0xf NL80211_EDMG_BW_CONFIG_MIN = 0x4 NL80211_EDMG_CHANNELS_MAX = 0x3c NL80211_EDMG_CHANNELS_MIN = 0x1 NL80211_EHT_MAX_CAPABILITY_LEN = 0x33 NL80211_EHT_MIN_CAPABILITY_LEN = 0xd NL80211_EXTERNAL_AUTH_ABORT = 0x1 NL80211_EXTERNAL_AUTH_START = 0x0 NL80211_EXT_FEATURE_4WAY_HANDSHAKE_AP_PSK = 0x32 NL80211_EXT_FEATURE_4WAY_HANDSHAKE_STA_1X = 0x10 NL80211_EXT_FEATURE_4WAY_HANDSHAKE_STA_PSK = 0xf NL80211_EXT_FEATURE_ACCEPT_BCAST_PROBE_RESP = 0x12 NL80211_EXT_FEATURE_ACK_SIGNAL_SUPPORT = 0x1b NL80211_EXT_FEATURE_AIRTIME_FAIRNESS = 0x21 NL80211_EXT_FEATURE_AP_PMKSA_CACHING = 0x22 NL80211_EXT_FEATURE_AQL = 0x28 NL80211_EXT_FEATURE_BEACON_PROTECTION_CLIENT = 0x2e NL80211_EXT_FEATURE_BEACON_PROTECTION = 0x29 NL80211_EXT_FEATURE_BEACON_RATE_HE = 0x36 NL80211_EXT_FEATURE_BEACON_RATE_HT = 0x7 NL80211_EXT_FEATURE_BEACON_RATE_LEGACY = 0x6 NL80211_EXT_FEATURE_BEACON_RATE_VHT = 0x8 NL80211_EXT_FEATURE_BSS_COLOR = 0x3a NL80211_EXT_FEATURE_BSS_PARENT_TSF = 0x4 NL80211_EXT_FEATURE_CAN_REPLACE_PTK0 = 0x1f NL80211_EXT_FEATURE_CONTROL_PORT_NO_PREAUTH = 0x2a NL80211_EXT_FEATURE_CONTROL_PORT_OVER_NL80211 = 0x1a NL80211_EXT_FEATURE_CONTROL_PORT_OVER_NL80211_TX_STATUS = 0x30 NL80211_EXT_FEATURE_CQM_RSSI_LIST = 0xd NL80211_EXT_FEATURE_DATA_ACK_SIGNAL_SUPPORT = 0x1b NL80211_EXT_FEATURE_DEL_IBSS_STA = 0x2c NL80211_EXT_FEATURE_DFS_OFFLOAD = 0x19 NL80211_EXT_FEATURE_ENABLE_FTM_RESPONDER = 0x20 NL80211_EXT_FEATURE_EXT_KEY_ID = 0x24 NL80211_EXT_FEATURE_FILS_CRYPTO_OFFLOAD = 0x3b NL80211_EXT_FEATURE_FILS_DISCOVERY = 0x34 NL80211_EXT_FEATURE_FILS_MAX_CHANNEL_TIME = 0x11 NL80211_EXT_FEATURE_FILS_SK_OFFLOAD = 0xe NL80211_EXT_FEATURE_FILS_STA = 0x9 NL80211_EXT_FEATURE_HIGH_ACCURACY_SCAN = 0x18 NL80211_EXT_FEATURE_LOW_POWER_SCAN = 0x17 NL80211_EXT_FEATURE_LOW_SPAN_SCAN = 0x16 NL80211_EXT_FEATURE_MFP_OPTIONAL = 0x15 NL80211_EXT_FEATURE_MGMT_TX_RANDOM_TA = 0xa NL80211_EXT_FEATURE_MGMT_TX_RANDOM_TA_CONNECTED = 0xb NL80211_EXT_FEATURE_MULTICAST_REGISTRATIONS = 0x2d NL80211_EXT_FEATURE_MU_MIMO_AIR_SNIFFER = 0x2 NL80211_EXT_FEATURE_OCE_PROBE_REQ_DEFERRAL_SUPPRESSION = 0x14 NL80211_EXT_FEATURE_OCE_PROBE_REQ_HIGH_TX_RATE = 0x13 NL80211_EXT_FEATURE_OPERATING_CHANNEL_VALIDATION = 0x31 NL80211_EXT_FEATURE_POWERED_ADDR_CHANGE = 0x3d NL80211_EXT_FEATURE_PROTECTED_TWT = 0x2b NL80211_EXT_FEATURE_PROT_RANGE_NEGO_AND_MEASURE = 0x39 NL80211_EXT_FEATURE_RADAR_BACKGROUND = 0x3c NL80211_EXT_FEATURE_RRM = 0x1 NL80211_EXT_FEATURE_SAE_OFFLOAD_AP = 0x33 NL80211_EXT_FEATURE_SAE_OFFLOAD = 0x26 NL80211_EXT_FEATURE_SCAN_FREQ_KHZ = 0x2f NL80211_EXT_FEATURE_SCAN_MIN_PREQ_CONTENT = 0x1e NL80211_EXT_FEATURE_SCAN_RANDOM_SN = 0x1d NL80211_EXT_FEATURE_SCAN_START_TIME = 0x3 NL80211_EXT_FEATURE_SCHED_SCAN_BAND_SPECIFIC_RSSI_THOLD = 0x23 NL80211_EXT_FEATURE_SCHED_SCAN_RELATIVE_RSSI = 0xc NL80211_EXT_FEATURE_SECURE_LTF = 0x37 NL80211_EXT_FEATURE_SECURE_RTT = 0x38 NL80211_EXT_FEATURE_SET_SCAN_DWELL = 0x5 NL80211_EXT_FEATURE_STA_TX_PWR = 0x25 NL80211_EXT_FEATURE_TXQS = 0x1c NL80211_EXT_FEATURE_UNSOL_BCAST_PROBE_RESP = 0x35 NL80211_EXT_FEATURE_VHT_IBSS = 0x0 NL80211_EXT_FEATURE_VLAN_OFFLOAD = 0x27 NL80211_FEATURE_ACKTO_ESTIMATION = 0x800000 NL80211_FEATURE_ACTIVE_MONITOR = 0x20000 NL80211_FEATURE_ADVERTISE_CHAN_LIMITS = 0x4000 NL80211_FEATURE_AP_MODE_CHAN_WIDTH_CHANGE = 0x40000 NL80211_FEATURE_AP_SCAN = 0x100 NL80211_FEATURE_CELL_BASE_REG_HINTS = 0x8 NL80211_FEATURE_DS_PARAM_SET_IE_IN_PROBES = 0x80000 NL80211_FEATURE_DYNAMIC_SMPS = 0x2000000 NL80211_FEATURE_FULL_AP_CLIENT_STATE = 0x8000 NL80211_FEATURE_HT_IBSS = 0x2 NL80211_FEATURE_INACTIVITY_TIMER = 0x4 NL80211_FEATURE_LOW_PRIORITY_SCAN = 0x40 NL80211_FEATURE_MAC_ON_CREATE = 0x8000000 NL80211_FEATURE_ND_RANDOM_MAC_ADDR = 0x80000000 NL80211_FEATURE_NEED_OBSS_SCAN = 0x400 NL80211_FEATURE_P2P_DEVICE_NEEDS_CHANNEL = 0x10 NL80211_FEATURE_P2P_GO_CTWIN = 0x800 NL80211_FEATURE_P2P_GO_OPPPS = 0x1000 NL80211_FEATURE_QUIET = 0x200000 NL80211_FEATURE_SAE = 0x20 NL80211_FEATURE_SCAN_FLUSH = 0x80 NL80211_FEATURE_SCAN_RANDOM_MAC_ADDR = 0x20000000 NL80211_FEATURE_SCHED_SCAN_RANDOM_MAC_ADDR = 0x40000000 NL80211_FEATURE_SK_TX_STATUS = 0x1 NL80211_FEATURE_STATIC_SMPS = 0x1000000 NL80211_FEATURE_SUPPORTS_WMM_ADMISSION = 0x4000000 NL80211_FEATURE_TDLS_CHANNEL_SWITCH = 0x10000000 NL80211_FEATURE_TX_POWER_INSERTION = 0x400000 NL80211_FEATURE_USERSPACE_MPM = 0x10000 NL80211_FEATURE_VIF_TXPOWER = 0x200 NL80211_FEATURE_WFA_TPC_IE_IN_PROBES = 0x100000 NL80211_FILS_DISCOVERY_ATTR_INT_MAX = 0x2 NL80211_FILS_DISCOVERY_ATTR_INT_MIN = 0x1 NL80211_FILS_DISCOVERY_ATTR_MAX = 0x3 NL80211_FILS_DISCOVERY_ATTR_TMPL = 0x3 NL80211_FILS_DISCOVERY_TMPL_MIN_LEN = 0x2a NL80211_FREQUENCY_ATTR_16MHZ = 0x19 NL80211_FREQUENCY_ATTR_1MHZ = 0x15 NL80211_FREQUENCY_ATTR_2MHZ = 0x16 NL80211_FREQUENCY_ATTR_4MHZ = 0x17 NL80211_FREQUENCY_ATTR_8MHZ = 0x18 NL80211_FREQUENCY_ATTR_DFS_CAC_TIME = 0xd NL80211_FREQUENCY_ATTR_DFS_STATE = 0x7 NL80211_FREQUENCY_ATTR_DFS_TIME = 0x8 NL80211_FREQUENCY_ATTR_DISABLED = 0x2 NL80211_FREQUENCY_ATTR_FREQ = 0x1 NL80211_FREQUENCY_ATTR_GO_CONCURRENT = 0xf NL80211_FREQUENCY_ATTR_INDOOR_ONLY = 0xe NL80211_FREQUENCY_ATTR_IR_CONCURRENT = 0xf NL80211_FREQUENCY_ATTR_MAX = 0x21 NL80211_FREQUENCY_ATTR_MAX_TX_POWER = 0x6 NL80211_FREQUENCY_ATTR_NO_10MHZ = 0x11 NL80211_FREQUENCY_ATTR_NO_160MHZ = 0xc NL80211_FREQUENCY_ATTR_NO_20MHZ = 0x10 NL80211_FREQUENCY_ATTR_NO_320MHZ = 0x1a NL80211_FREQUENCY_ATTR_NO_80MHZ = 0xb NL80211_FREQUENCY_ATTR_NO_EHT = 0x1b NL80211_FREQUENCY_ATTR_NO_HE = 0x13 NL80211_FREQUENCY_ATTR_NO_HT40_MINUS = 0x9 NL80211_FREQUENCY_ATTR_NO_HT40_PLUS = 0xa NL80211_FREQUENCY_ATTR_NO_IBSS = 0x3 NL80211_FREQUENCY_ATTR_NO_IR = 0x3 NL80211_FREQUENCY_ATTR_OFFSET = 0x14 NL80211_FREQUENCY_ATTR_PASSIVE_SCAN = 0x3 NL80211_FREQUENCY_ATTR_RADAR = 0x5 NL80211_FREQUENCY_ATTR_WMM = 0x12 NL80211_FTM_RESP_ATTR_CIVICLOC = 0x3 NL80211_FTM_RESP_ATTR_ENABLED = 0x1 NL80211_FTM_RESP_ATTR_LCI = 0x2 NL80211_FTM_RESP_ATTR_MAX = 0x3 NL80211_FTM_STATS_ASAP_NUM = 0x4 NL80211_FTM_STATS_FAILED_NUM = 0x3 NL80211_FTM_STATS_MAX = 0xa NL80211_FTM_STATS_NON_ASAP_NUM = 0x5 NL80211_FTM_STATS_OUT_OF_WINDOW_TRIGGERS_NUM = 0x9 NL80211_FTM_STATS_PAD = 0xa NL80211_FTM_STATS_PARTIAL_NUM = 0x2 NL80211_FTM_STATS_RESCHEDULE_REQUESTS_NUM = 0x8 NL80211_FTM_STATS_SUCCESS_NUM = 0x1 NL80211_FTM_STATS_TOTAL_DURATION_MSEC = 0x6 NL80211_FTM_STATS_UNKNOWN_TRIGGERS_NUM = 0x7 NL80211_GENL_NAME = "nl80211" NL80211_HE_BSS_COLOR_ATTR_COLOR = 0x1 NL80211_HE_BSS_COLOR_ATTR_DISABLED = 0x2 NL80211_HE_BSS_COLOR_ATTR_MAX = 0x3 NL80211_HE_BSS_COLOR_ATTR_PARTIAL = 0x3 NL80211_HE_MAX_CAPABILITY_LEN = 0x36 NL80211_HE_MIN_CAPABILITY_LEN = 0x10 NL80211_HE_NSS_MAX = 0x8 NL80211_HE_OBSS_PD_ATTR_BSS_COLOR_BITMAP = 0x4 NL80211_HE_OBSS_PD_ATTR_MAX = 0x6 NL80211_HE_OBSS_PD_ATTR_MAX_OFFSET = 0x2 NL80211_HE_OBSS_PD_ATTR_MIN_OFFSET = 0x1 NL80211_HE_OBSS_PD_ATTR_NON_SRG_MAX_OFFSET = 0x3 NL80211_HE_OBSS_PD_ATTR_PARTIAL_BSSID_BITMAP = 0x5 NL80211_HE_OBSS_PD_ATTR_SR_CTRL = 0x6 NL80211_HIDDEN_SSID_NOT_IN_USE = 0x0 NL80211_HIDDEN_SSID_ZERO_CONTENTS = 0x2 NL80211_HIDDEN_SSID_ZERO_LEN = 0x1 NL80211_HT_CAPABILITY_LEN = 0x1a NL80211_IFACE_COMB_BI_MIN_GCD = 0x7 NL80211_IFACE_COMB_LIMITS = 0x1 NL80211_IFACE_COMB_MAXNUM = 0x2 NL80211_IFACE_COMB_NUM_CHANNELS = 0x4 NL80211_IFACE_COMB_RADAR_DETECT_REGIONS = 0x6 NL80211_IFACE_COMB_RADAR_DETECT_WIDTHS = 0x5 NL80211_IFACE_COMB_STA_AP_BI_MATCH = 0x3 NL80211_IFACE_COMB_UNSPEC = 0x0 NL80211_IFACE_LIMIT_MAX = 0x1 NL80211_IFACE_LIMIT_TYPES = 0x2 NL80211_IFACE_LIMIT_UNSPEC = 0x0 NL80211_IFTYPE_ADHOC = 0x1 NL80211_IFTYPE_AKM_ATTR_IFTYPES = 0x1 NL80211_IFTYPE_AKM_ATTR_MAX = 0x2 NL80211_IFTYPE_AKM_ATTR_SUITES = 0x2 NL80211_IFTYPE_AP = 0x3 NL80211_IFTYPE_AP_VLAN = 0x4 NL80211_IFTYPE_MAX = 0xc NL80211_IFTYPE_MESH_POINT = 0x7 NL80211_IFTYPE_MONITOR = 0x6 NL80211_IFTYPE_NAN = 0xc NL80211_IFTYPE_OCB = 0xb NL80211_IFTYPE_P2P_CLIENT = 0x8 NL80211_IFTYPE_P2P_DEVICE = 0xa NL80211_IFTYPE_P2P_GO = 0x9 NL80211_IFTYPE_STATION = 0x2 NL80211_IFTYPE_UNSPECIFIED = 0x0 NL80211_IFTYPE_WDS = 0x5 NL80211_KCK_EXT_LEN = 0x18 NL80211_KCK_LEN = 0x10 NL80211_KEK_EXT_LEN = 0x20 NL80211_KEK_LEN = 0x10 NL80211_KEY_CIPHER = 0x3 NL80211_KEY_DATA = 0x1 NL80211_KEY_DEFAULT_BEACON = 0xa NL80211_KEY_DEFAULT = 0x5 NL80211_KEY_DEFAULT_MGMT = 0x6 NL80211_KEY_DEFAULT_TYPE_MULTICAST = 0x2 NL80211_KEY_DEFAULT_TYPES = 0x8 NL80211_KEY_DEFAULT_TYPE_UNICAST = 0x1 NL80211_KEY_IDX = 0x2 NL80211_KEY_MAX = 0xa NL80211_KEY_MODE = 0x9 NL80211_KEY_NO_TX = 0x1 NL80211_KEY_RX_TX = 0x0 NL80211_KEY_SEQ = 0x4 NL80211_KEY_SET_TX = 0x2 NL80211_KEY_TYPE = 0x7 NL80211_KEYTYPE_GROUP = 0x0 NL80211_KEYTYPE_PAIRWISE = 0x1 NL80211_KEYTYPE_PEERKEY = 0x2 NL80211_MAX_NR_AKM_SUITES = 0x2 NL80211_MAX_NR_CIPHER_SUITES = 0x5 NL80211_MAX_SUPP_HT_RATES = 0x4d NL80211_MAX_SUPP_RATES = 0x20 NL80211_MAX_SUPP_REG_RULES = 0x80 NL80211_MBSSID_CONFIG_ATTR_EMA = 0x5 NL80211_MBSSID_CONFIG_ATTR_INDEX = 0x3 NL80211_MBSSID_CONFIG_ATTR_MAX = 0x5 NL80211_MBSSID_CONFIG_ATTR_MAX_EMA_PROFILE_PERIODICITY = 0x2 NL80211_MBSSID_CONFIG_ATTR_MAX_INTERFACES = 0x1 NL80211_MBSSID_CONFIG_ATTR_TX_IFINDEX = 0x4 NL80211_MESHCONF_ATTR_MAX = 0x1f NL80211_MESHCONF_AUTO_OPEN_PLINKS = 0x7 NL80211_MESHCONF_AWAKE_WINDOW = 0x1b NL80211_MESHCONF_CONFIRM_TIMEOUT = 0x2 NL80211_MESHCONF_CONNECTED_TO_AS = 0x1f NL80211_MESHCONF_CONNECTED_TO_GATE = 0x1d NL80211_MESHCONF_ELEMENT_TTL = 0xf NL80211_MESHCONF_FORWARDING = 0x13 NL80211_MESHCONF_GATE_ANNOUNCEMENTS = 0x11 NL80211_MESHCONF_HOLDING_TIMEOUT = 0x3 NL80211_MESHCONF_HT_OPMODE = 0x16 NL80211_MESHCONF_HWMP_ACTIVE_PATH_TIMEOUT = 0xb NL80211_MESHCONF_HWMP_CONFIRMATION_INTERVAL = 0x19 NL80211_MESHCONF_HWMP_MAX_PREQ_RETRIES = 0x8 NL80211_MESHCONF_HWMP_NET_DIAM_TRVS_TIME = 0xd NL80211_MESHCONF_HWMP_PATH_TO_ROOT_TIMEOUT = 0x17 NL80211_MESHCONF_HWMP_PERR_MIN_INTERVAL = 0x12 NL80211_MESHCONF_HWMP_PREQ_MIN_INTERVAL = 0xc NL80211_MESHCONF_HWMP_RANN_INTERVAL = 0x10 NL80211_MESHCONF_HWMP_ROOT_INTERVAL = 0x18 NL80211_MESHCONF_HWMP_ROOTMODE = 0xe NL80211_MESHCONF_MAX_PEER_LINKS = 0x4 NL80211_MESHCONF_MAX_RETRIES = 0x5 NL80211_MESHCONF_MIN_DISCOVERY_TIMEOUT = 0xa NL80211_MESHCONF_NOLEARN = 0x1e NL80211_MESHCONF_PATH_REFRESH_TIME = 0x9 NL80211_MESHCONF_PLINK_TIMEOUT = 0x1c NL80211_MESHCONF_POWER_MODE = 0x1a NL80211_MESHCONF_RETRY_TIMEOUT = 0x1 NL80211_MESHCONF_RSSI_THRESHOLD = 0x14 NL80211_MESHCONF_SYNC_OFFSET_MAX_NEIGHBOR = 0x15 NL80211_MESHCONF_TTL = 0x6 NL80211_MESH_POWER_ACTIVE = 0x1 NL80211_MESH_POWER_DEEP_SLEEP = 0x3 NL80211_MESH_POWER_LIGHT_SLEEP = 0x2 NL80211_MESH_POWER_MAX = 0x3 NL80211_MESH_POWER_UNKNOWN = 0x0 NL80211_MESH_SETUP_ATTR_MAX = 0x8 NL80211_MESH_SETUP_AUTH_PROTOCOL = 0x8 NL80211_MESH_SETUP_ENABLE_VENDOR_METRIC = 0x2 NL80211_MESH_SETUP_ENABLE_VENDOR_PATH_SEL = 0x1 NL80211_MESH_SETUP_ENABLE_VENDOR_SYNC = 0x6 NL80211_MESH_SETUP_IE = 0x3 NL80211_MESH_SETUP_USERSPACE_AMPE = 0x5 NL80211_MESH_SETUP_USERSPACE_AUTH = 0x4 NL80211_MESH_SETUP_USERSPACE_MPM = 0x7 NL80211_MESH_SETUP_VENDOR_PATH_SEL_IE = 0x3 NL80211_MFP_NO = 0x0 NL80211_MFP_OPTIONAL = 0x2 NL80211_MFP_REQUIRED = 0x1 NL80211_MIN_REMAIN_ON_CHANNEL_TIME = 0xa NL80211_MNTR_FLAG_ACTIVE = 0x6 NL80211_MNTR_FLAG_CONTROL = 0x3 NL80211_MNTR_FLAG_COOK_FRAMES = 0x5 NL80211_MNTR_FLAG_FCSFAIL = 0x1 NL80211_MNTR_FLAG_MAX = 0x6 NL80211_MNTR_FLAG_OTHER_BSS = 0x4 NL80211_MNTR_FLAG_PLCPFAIL = 0x2 NL80211_MPATH_FLAG_ACTIVE = 0x1 NL80211_MPATH_FLAG_FIXED = 0x8 NL80211_MPATH_FLAG_RESOLVED = 0x10 NL80211_MPATH_FLAG_RESOLVING = 0x2 NL80211_MPATH_FLAG_SN_VALID = 0x4 NL80211_MPATH_INFO_DISCOVERY_RETRIES = 0x7 NL80211_MPATH_INFO_DISCOVERY_TIMEOUT = 0x6 NL80211_MPATH_INFO_EXPTIME = 0x4 NL80211_MPATH_INFO_FLAGS = 0x5 NL80211_MPATH_INFO_FRAME_QLEN = 0x1 NL80211_MPATH_INFO_HOP_COUNT = 0x8 NL80211_MPATH_INFO_MAX = 0x9 NL80211_MPATH_INFO_METRIC = 0x3 NL80211_MPATH_INFO_PATH_CHANGE = 0x9 NL80211_MPATH_INFO_SN = 0x2 NL80211_MULTICAST_GROUP_CONFIG = "config" NL80211_MULTICAST_GROUP_MLME = "mlme" NL80211_MULTICAST_GROUP_NAN = "nan" NL80211_MULTICAST_GROUP_REG = "regulatory" NL80211_MULTICAST_GROUP_SCAN = "scan" NL80211_MULTICAST_GROUP_TESTMODE = "testmode" NL80211_MULTICAST_GROUP_VENDOR = "vendor" NL80211_NAN_FUNC_ATTR_MAX = 0x10 NL80211_NAN_FUNC_CLOSE_RANGE = 0x9 NL80211_NAN_FUNC_FOLLOW_UP = 0x2 NL80211_NAN_FUNC_FOLLOW_UP_DEST = 0x8 NL80211_NAN_FUNC_FOLLOW_UP_ID = 0x6 NL80211_NAN_FUNC_FOLLOW_UP_REQ_ID = 0x7 NL80211_NAN_FUNC_INSTANCE_ID = 0xf NL80211_NAN_FUNC_MAX_TYPE = 0x2 NL80211_NAN_FUNC_PUBLISH_BCAST = 0x4 NL80211_NAN_FUNC_PUBLISH = 0x0 NL80211_NAN_FUNC_PUBLISH_TYPE = 0x3 NL80211_NAN_FUNC_RX_MATCH_FILTER = 0xd NL80211_NAN_FUNC_SERVICE_ID = 0x2 NL80211_NAN_FUNC_SERVICE_ID_LEN = 0x6 NL80211_NAN_FUNC_SERVICE_INFO = 0xb NL80211_NAN_FUNC_SERVICE_SPEC_INFO_MAX_LEN = 0xff NL80211_NAN_FUNC_SRF = 0xc NL80211_NAN_FUNC_SRF_MAX_LEN = 0xff NL80211_NAN_FUNC_SUBSCRIBE_ACTIVE = 0x5 NL80211_NAN_FUNC_SUBSCRIBE = 0x1 NL80211_NAN_FUNC_TERM_REASON = 0x10 NL80211_NAN_FUNC_TERM_REASON_ERROR = 0x2 NL80211_NAN_FUNC_TERM_REASON_TTL_EXPIRED = 0x1 NL80211_NAN_FUNC_TERM_REASON_USER_REQUEST = 0x0 NL80211_NAN_FUNC_TTL = 0xa NL80211_NAN_FUNC_TX_MATCH_FILTER = 0xe NL80211_NAN_FUNC_TYPE = 0x1 NL80211_NAN_MATCH_ATTR_MAX = 0x2 NL80211_NAN_MATCH_FUNC_LOCAL = 0x1 NL80211_NAN_MATCH_FUNC_PEER = 0x2 NL80211_NAN_SOLICITED_PUBLISH = 0x1 NL80211_NAN_SRF_ATTR_MAX = 0x4 NL80211_NAN_SRF_BF = 0x2 NL80211_NAN_SRF_BF_IDX = 0x3 NL80211_NAN_SRF_INCLUDE = 0x1 NL80211_NAN_SRF_MAC_ADDRS = 0x4 NL80211_NAN_UNSOLICITED_PUBLISH = 0x2 NL80211_NUM_ACS = 0x4 NL80211_P2P_PS_SUPPORTED = 0x1 NL80211_P2P_PS_UNSUPPORTED = 0x0 NL80211_PKTPAT_MASK = 0x1 NL80211_PKTPAT_OFFSET = 0x3 NL80211_PKTPAT_PATTERN = 0x2 NL80211_PLINK_ACTION_BLOCK = 0x2 NL80211_PLINK_ACTION_NO_ACTION = 0x0 NL80211_PLINK_ACTION_OPEN = 0x1 NL80211_PLINK_BLOCKED = 0x6 NL80211_PLINK_CNF_RCVD = 0x3 NL80211_PLINK_ESTAB = 0x4 NL80211_PLINK_HOLDING = 0x5 NL80211_PLINK_LISTEN = 0x0 NL80211_PLINK_OPN_RCVD = 0x2 NL80211_PLINK_OPN_SNT = 0x1 NL80211_PMKSA_CANDIDATE_BSSID = 0x2 NL80211_PMKSA_CANDIDATE_INDEX = 0x1 NL80211_PMKSA_CANDIDATE_PREAUTH = 0x3 NL80211_PMSR_ATTR_MAX = 0x5 NL80211_PMSR_ATTR_MAX_PEERS = 0x1 NL80211_PMSR_ATTR_PEERS = 0x5 NL80211_PMSR_ATTR_RANDOMIZE_MAC_ADDR = 0x3 NL80211_PMSR_ATTR_REPORT_AP_TSF = 0x2 NL80211_PMSR_ATTR_TYPE_CAPA = 0x4 NL80211_PMSR_FTM_CAPA_ATTR_ASAP = 0x1 NL80211_PMSR_FTM_CAPA_ATTR_BANDWIDTHS = 0x6 NL80211_PMSR_FTM_CAPA_ATTR_MAX_BURSTS_EXPONENT = 0x7 NL80211_PMSR_FTM_CAPA_ATTR_MAX = 0xa NL80211_PMSR_FTM_CAPA_ATTR_MAX_FTMS_PER_BURST = 0x8 NL80211_PMSR_FTM_CAPA_ATTR_NON_ASAP = 0x2 NL80211_PMSR_FTM_CAPA_ATTR_NON_TRIGGER_BASED = 0xa NL80211_PMSR_FTM_CAPA_ATTR_PREAMBLES = 0x5 NL80211_PMSR_FTM_CAPA_ATTR_REQ_CIVICLOC = 0x4 NL80211_PMSR_FTM_CAPA_ATTR_REQ_LCI = 0x3 NL80211_PMSR_FTM_CAPA_ATTR_TRIGGER_BASED = 0x9 NL80211_PMSR_FTM_FAILURE_BAD_CHANGED_PARAMS = 0x7 NL80211_PMSR_FTM_FAILURE_INVALID_TIMESTAMP = 0x5 NL80211_PMSR_FTM_FAILURE_NO_RESPONSE = 0x1 NL80211_PMSR_FTM_FAILURE_PEER_BUSY = 0x6 NL80211_PMSR_FTM_FAILURE_PEER_NOT_CAPABLE = 0x4 NL80211_PMSR_FTM_FAILURE_REJECTED = 0x2 NL80211_PMSR_FTM_FAILURE_UNSPECIFIED = 0x0 NL80211_PMSR_FTM_FAILURE_WRONG_CHANNEL = 0x3 NL80211_PMSR_FTM_REQ_ATTR_ASAP = 0x1 NL80211_PMSR_FTM_REQ_ATTR_BSS_COLOR = 0xd NL80211_PMSR_FTM_REQ_ATTR_BURST_DURATION = 0x5 NL80211_PMSR_FTM_REQ_ATTR_BURST_PERIOD = 0x4 NL80211_PMSR_FTM_REQ_ATTR_FTMS_PER_BURST = 0x6 NL80211_PMSR_FTM_REQ_ATTR_LMR_FEEDBACK = 0xc NL80211_PMSR_FTM_REQ_ATTR_MAX = 0xd NL80211_PMSR_FTM_REQ_ATTR_NON_TRIGGER_BASED = 0xb NL80211_PMSR_FTM_REQ_ATTR_NUM_BURSTS_EXP = 0x3 NL80211_PMSR_FTM_REQ_ATTR_NUM_FTMR_RETRIES = 0x7 NL80211_PMSR_FTM_REQ_ATTR_PREAMBLE = 0x2 NL80211_PMSR_FTM_REQ_ATTR_REQUEST_CIVICLOC = 0x9 NL80211_PMSR_FTM_REQ_ATTR_REQUEST_LCI = 0x8 NL80211_PMSR_FTM_REQ_ATTR_TRIGGER_BASED = 0xa NL80211_PMSR_FTM_RESP_ATTR_BURST_DURATION = 0x7 NL80211_PMSR_FTM_RESP_ATTR_BURST_INDEX = 0x2 NL80211_PMSR_FTM_RESP_ATTR_BUSY_RETRY_TIME = 0x5 NL80211_PMSR_FTM_RESP_ATTR_CIVICLOC = 0x14 NL80211_PMSR_FTM_RESP_ATTR_DIST_AVG = 0x10 NL80211_PMSR_FTM_RESP_ATTR_DIST_SPREAD = 0x12 NL80211_PMSR_FTM_RESP_ATTR_DIST_VARIANCE = 0x11 NL80211_PMSR_FTM_RESP_ATTR_FAIL_REASON = 0x1 NL80211_PMSR_FTM_RESP_ATTR_FTMS_PER_BURST = 0x8 NL80211_PMSR_FTM_RESP_ATTR_LCI = 0x13 NL80211_PMSR_FTM_RESP_ATTR_MAX = 0x15 NL80211_PMSR_FTM_RESP_ATTR_NUM_BURSTS_EXP = 0x6 NL80211_PMSR_FTM_RESP_ATTR_NUM_FTMR_ATTEMPTS = 0x3 NL80211_PMSR_FTM_RESP_ATTR_NUM_FTMR_SUCCESSES = 0x4 NL80211_PMSR_FTM_RESP_ATTR_PAD = 0x15 NL80211_PMSR_FTM_RESP_ATTR_RSSI_AVG = 0x9 NL80211_PMSR_FTM_RESP_ATTR_RSSI_SPREAD = 0xa NL80211_PMSR_FTM_RESP_ATTR_RTT_AVG = 0xd NL80211_PMSR_FTM_RESP_ATTR_RTT_SPREAD = 0xf NL80211_PMSR_FTM_RESP_ATTR_RTT_VARIANCE = 0xe NL80211_PMSR_FTM_RESP_ATTR_RX_RATE = 0xc NL80211_PMSR_FTM_RESP_ATTR_TX_RATE = 0xb NL80211_PMSR_PEER_ATTR_ADDR = 0x1 NL80211_PMSR_PEER_ATTR_CHAN = 0x2 NL80211_PMSR_PEER_ATTR_MAX = 0x4 NL80211_PMSR_PEER_ATTR_REQ = 0x3 NL80211_PMSR_PEER_ATTR_RESP = 0x4 NL80211_PMSR_REQ_ATTR_DATA = 0x1 NL80211_PMSR_REQ_ATTR_GET_AP_TSF = 0x2 NL80211_PMSR_REQ_ATTR_MAX = 0x2 NL80211_PMSR_RESP_ATTR_AP_TSF = 0x4 NL80211_PMSR_RESP_ATTR_DATA = 0x1 NL80211_PMSR_RESP_ATTR_FINAL = 0x5 NL80211_PMSR_RESP_ATTR_HOST_TIME = 0x3 NL80211_PMSR_RESP_ATTR_MAX = 0x6 NL80211_PMSR_RESP_ATTR_PAD = 0x6 NL80211_PMSR_RESP_ATTR_STATUS = 0x2 NL80211_PMSR_STATUS_FAILURE = 0x3 NL80211_PMSR_STATUS_REFUSED = 0x1 NL80211_PMSR_STATUS_SUCCESS = 0x0 NL80211_PMSR_STATUS_TIMEOUT = 0x2 NL80211_PMSR_TYPE_FTM = 0x1 NL80211_PMSR_TYPE_INVALID = 0x0 NL80211_PMSR_TYPE_MAX = 0x1 NL80211_PREAMBLE_DMG = 0x3 NL80211_PREAMBLE_HE = 0x4 NL80211_PREAMBLE_HT = 0x1 NL80211_PREAMBLE_LEGACY = 0x0 NL80211_PREAMBLE_VHT = 0x2 NL80211_PROBE_RESP_OFFLOAD_SUPPORT_80211U = 0x8 NL80211_PROBE_RESP_OFFLOAD_SUPPORT_P2P = 0x4 NL80211_PROBE_RESP_OFFLOAD_SUPPORT_WPS2 = 0x2 NL80211_PROBE_RESP_OFFLOAD_SUPPORT_WPS = 0x1 NL80211_PROTOCOL_FEATURE_SPLIT_WIPHY_DUMP = 0x1 NL80211_PS_DISABLED = 0x0 NL80211_PS_ENABLED = 0x1 NL80211_RADAR_CAC_ABORTED = 0x2 NL80211_RADAR_CAC_FINISHED = 0x1 NL80211_RADAR_CAC_STARTED = 0x5 NL80211_RADAR_DETECTED = 0x0 NL80211_RADAR_NOP_FINISHED = 0x3 NL80211_RADAR_PRE_CAC_EXPIRED = 0x4 NL80211_RATE_INFO_10_MHZ_WIDTH = 0xb NL80211_RATE_INFO_160_MHZ_WIDTH = 0xa NL80211_RATE_INFO_320_MHZ_WIDTH = 0x12 NL80211_RATE_INFO_40_MHZ_WIDTH = 0x3 NL80211_RATE_INFO_5_MHZ_WIDTH = 0xc NL80211_RATE_INFO_80_MHZ_WIDTH = 0x8 NL80211_RATE_INFO_80P80_MHZ_WIDTH = 0x9 NL80211_RATE_INFO_BITRATE32 = 0x5 NL80211_RATE_INFO_BITRATE = 0x1 NL80211_RATE_INFO_EHT_GI_0_8 = 0x0 NL80211_RATE_INFO_EHT_GI_1_6 = 0x1 NL80211_RATE_INFO_EHT_GI_3_2 = 0x2 NL80211_RATE_INFO_EHT_GI = 0x15 NL80211_RATE_INFO_EHT_MCS = 0x13 NL80211_RATE_INFO_EHT_NSS = 0x14 NL80211_RATE_INFO_EHT_RU_ALLOC_106 = 0x3 NL80211_RATE_INFO_EHT_RU_ALLOC_106P26 = 0x4 NL80211_RATE_INFO_EHT_RU_ALLOC_242 = 0x5 NL80211_RATE_INFO_EHT_RU_ALLOC_26 = 0x0 NL80211_RATE_INFO_EHT_RU_ALLOC_2x996 = 0xb NL80211_RATE_INFO_EHT_RU_ALLOC_2x996P484 = 0xc NL80211_RATE_INFO_EHT_RU_ALLOC_3x996 = 0xd NL80211_RATE_INFO_EHT_RU_ALLOC_3x996P484 = 0xe NL80211_RATE_INFO_EHT_RU_ALLOC_484 = 0x6 NL80211_RATE_INFO_EHT_RU_ALLOC_484P242 = 0x7 NL80211_RATE_INFO_EHT_RU_ALLOC_4x996 = 0xf NL80211_RATE_INFO_EHT_RU_ALLOC_52 = 0x1 NL80211_RATE_INFO_EHT_RU_ALLOC_52P26 = 0x2 NL80211_RATE_INFO_EHT_RU_ALLOC_996 = 0x8 NL80211_RATE_INFO_EHT_RU_ALLOC_996P484 = 0x9 NL80211_RATE_INFO_EHT_RU_ALLOC_996P484P242 = 0xa NL80211_RATE_INFO_EHT_RU_ALLOC = 0x16 NL80211_RATE_INFO_HE_1XLTF = 0x0 NL80211_RATE_INFO_HE_2XLTF = 0x1 NL80211_RATE_INFO_HE_4XLTF = 0x2 NL80211_RATE_INFO_HE_DCM = 0x10 NL80211_RATE_INFO_HE_GI_0_8 = 0x0 NL80211_RATE_INFO_HE_GI_1_6 = 0x1 NL80211_RATE_INFO_HE_GI_3_2 = 0x2 NL80211_RATE_INFO_HE_GI = 0xf NL80211_RATE_INFO_HE_MCS = 0xd NL80211_RATE_INFO_HE_NSS = 0xe NL80211_RATE_INFO_HE_RU_ALLOC_106 = 0x2 NL80211_RATE_INFO_HE_RU_ALLOC_242 = 0x3 NL80211_RATE_INFO_HE_RU_ALLOC_26 = 0x0 NL80211_RATE_INFO_HE_RU_ALLOC_2x996 = 0x6 NL80211_RATE_INFO_HE_RU_ALLOC_484 = 0x4 NL80211_RATE_INFO_HE_RU_ALLOC_52 = 0x1 NL80211_RATE_INFO_HE_RU_ALLOC_996 = 0x5 NL80211_RATE_INFO_HE_RU_ALLOC = 0x11 NL80211_RATE_INFO_MAX = 0x1d NL80211_RATE_INFO_MCS = 0x2 NL80211_RATE_INFO_SHORT_GI = 0x4 NL80211_RATE_INFO_VHT_MCS = 0x6 NL80211_RATE_INFO_VHT_NSS = 0x7 NL80211_REGDOM_SET_BY_CORE = 0x0 NL80211_REGDOM_SET_BY_COUNTRY_IE = 0x3 NL80211_REGDOM_SET_BY_DRIVER = 0x2 NL80211_REGDOM_SET_BY_USER = 0x1 NL80211_REGDOM_TYPE_COUNTRY = 0x0 NL80211_REGDOM_TYPE_CUSTOM_WORLD = 0x2 NL80211_REGDOM_TYPE_INTERSECTION = 0x3 NL80211_REGDOM_TYPE_WORLD = 0x1 NL80211_REG_RULE_ATTR_MAX = 0x8 NL80211_REKEY_DATA_AKM = 0x4 NL80211_REKEY_DATA_KCK = 0x2 NL80211_REKEY_DATA_KEK = 0x1 NL80211_REKEY_DATA_REPLAY_CTR = 0x3 NL80211_REPLAY_CTR_LEN = 0x8 NL80211_RRF_AUTO_BW = 0x800 NL80211_RRF_DFS = 0x10 NL80211_RRF_GO_CONCURRENT = 0x1000 NL80211_RRF_IR_CONCURRENT = 0x1000 NL80211_RRF_NO_160MHZ = 0x10000 NL80211_RRF_NO_320MHZ = 0x40000 NL80211_RRF_NO_80MHZ = 0x8000 NL80211_RRF_NO_CCK = 0x2 NL80211_RRF_NO_HE = 0x20000 NL80211_RRF_NO_HT40 = 0x6000 NL80211_RRF_NO_HT40MINUS = 0x2000 NL80211_RRF_NO_HT40PLUS = 0x4000 NL80211_RRF_NO_IBSS = 0x80 NL80211_RRF_NO_INDOOR = 0x4 NL80211_RRF_NO_IR_ALL = 0x180 NL80211_RRF_NO_IR = 0x80 NL80211_RRF_NO_OFDM = 0x1 NL80211_RRF_NO_OUTDOOR = 0x8 NL80211_RRF_PASSIVE_SCAN = 0x80 NL80211_RRF_PTMP_ONLY = 0x40 NL80211_RRF_PTP_ONLY = 0x20 NL80211_RXMGMT_FLAG_ANSWERED = 0x1 NL80211_RXMGMT_FLAG_EXTERNAL_AUTH = 0x2 NL80211_SAE_PWE_BOTH = 0x3 NL80211_SAE_PWE_HASH_TO_ELEMENT = 0x2 NL80211_SAE_PWE_HUNT_AND_PECK = 0x1 NL80211_SAE_PWE_UNSPECIFIED = 0x0 NL80211_SAR_ATTR_MAX = 0x2 NL80211_SAR_ATTR_SPECS = 0x2 NL80211_SAR_ATTR_SPECS_END_FREQ = 0x4 NL80211_SAR_ATTR_SPECS_MAX = 0x4 NL80211_SAR_ATTR_SPECS_POWER = 0x1 NL80211_SAR_ATTR_SPECS_RANGE_INDEX = 0x2 NL80211_SAR_ATTR_SPECS_START_FREQ = 0x3 NL80211_SAR_ATTR_TYPE = 0x1 NL80211_SAR_TYPE_POWER = 0x0 NL80211_SCAN_FLAG_ACCEPT_BCAST_PROBE_RESP = 0x20 NL80211_SCAN_FLAG_AP = 0x4 NL80211_SCAN_FLAG_COLOCATED_6GHZ = 0x4000 NL80211_SCAN_FLAG_FILS_MAX_CHANNEL_TIME = 0x10 NL80211_SCAN_FLAG_FLUSH = 0x2 NL80211_SCAN_FLAG_FREQ_KHZ = 0x2000 NL80211_SCAN_FLAG_HIGH_ACCURACY = 0x400 NL80211_SCAN_FLAG_LOW_POWER = 0x200 NL80211_SCAN_FLAG_LOW_PRIORITY = 0x1 NL80211_SCAN_FLAG_LOW_SPAN = 0x100 NL80211_SCAN_FLAG_MIN_PREQ_CONTENT = 0x1000 NL80211_SCAN_FLAG_OCE_PROBE_REQ_DEFERRAL_SUPPRESSION = 0x80 NL80211_SCAN_FLAG_OCE_PROBE_REQ_HIGH_TX_RATE = 0x40 NL80211_SCAN_FLAG_RANDOM_ADDR = 0x8 NL80211_SCAN_FLAG_RANDOM_SN = 0x800 NL80211_SCAN_RSSI_THOLD_OFF = -0x12c NL80211_SCHED_SCAN_MATCH_ATTR_BSSID = 0x5 NL80211_SCHED_SCAN_MATCH_ATTR_MAX = 0x6 NL80211_SCHED_SCAN_MATCH_ATTR_RELATIVE_RSSI = 0x3 NL80211_SCHED_SCAN_MATCH_ATTR_RSSI_ADJUST = 0x4 NL80211_SCHED_SCAN_MATCH_ATTR_RSSI = 0x2 NL80211_SCHED_SCAN_MATCH_ATTR_SSID = 0x1 NL80211_SCHED_SCAN_MATCH_PER_BAND_RSSI = 0x6 NL80211_SCHED_SCAN_PLAN_INTERVAL = 0x1 NL80211_SCHED_SCAN_PLAN_ITERATIONS = 0x2 NL80211_SCHED_SCAN_PLAN_MAX = 0x2 NL80211_SMPS_DYNAMIC = 0x2 NL80211_SMPS_MAX = 0x2 NL80211_SMPS_OFF = 0x0 NL80211_SMPS_STATIC = 0x1 NL80211_STA_BSS_PARAM_BEACON_INTERVAL = 0x5 NL80211_STA_BSS_PARAM_CTS_PROT = 0x1 NL80211_STA_BSS_PARAM_DTIM_PERIOD = 0x4 NL80211_STA_BSS_PARAM_MAX = 0x5 NL80211_STA_BSS_PARAM_SHORT_PREAMBLE = 0x2 NL80211_STA_BSS_PARAM_SHORT_SLOT_TIME = 0x3 NL80211_STA_FLAG_ASSOCIATED = 0x7 NL80211_STA_FLAG_AUTHENTICATED = 0x5 NL80211_STA_FLAG_AUTHORIZED = 0x1 NL80211_STA_FLAG_MAX = 0x8 NL80211_STA_FLAG_MAX_OLD_API = 0x6 NL80211_STA_FLAG_MFP = 0x4 NL80211_STA_FLAG_SHORT_PREAMBLE = 0x2 NL80211_STA_FLAG_TDLS_PEER = 0x6 NL80211_STA_FLAG_WME = 0x3 NL80211_STA_INFO_ACK_SIGNAL_AVG = 0x23 NL80211_STA_INFO_ACK_SIGNAL = 0x22 NL80211_STA_INFO_AIRTIME_LINK_METRIC = 0x29 NL80211_STA_INFO_AIRTIME_WEIGHT = 0x28 NL80211_STA_INFO_ASSOC_AT_BOOTTIME = 0x2a NL80211_STA_INFO_BEACON_LOSS = 0x12 NL80211_STA_INFO_BEACON_RX = 0x1d NL80211_STA_INFO_BEACON_SIGNAL_AVG = 0x1e NL80211_STA_INFO_BSS_PARAM = 0xf NL80211_STA_INFO_CHAIN_SIGNAL_AVG = 0x1a NL80211_STA_INFO_CHAIN_SIGNAL = 0x19 NL80211_STA_INFO_CONNECTED_TIME = 0x10 NL80211_STA_INFO_CONNECTED_TO_AS = 0x2b NL80211_STA_INFO_CONNECTED_TO_GATE = 0x26 NL80211_STA_INFO_DATA_ACK_SIGNAL_AVG = 0x23 NL80211_STA_INFO_EXPECTED_THROUGHPUT = 0x1b NL80211_STA_INFO_FCS_ERROR_COUNT = 0x25 NL80211_STA_INFO_INACTIVE_TIME = 0x1 NL80211_STA_INFO_LLID = 0x4 NL80211_STA_INFO_LOCAL_PM = 0x14 NL80211_STA_INFO_MAX = 0x2b NL80211_STA_INFO_NONPEER_PM = 0x16 NL80211_STA_INFO_PAD = 0x21 NL80211_STA_INFO_PEER_PM = 0x15 NL80211_STA_INFO_PLID = 0x5 NL80211_STA_INFO_PLINK_STATE = 0x6 NL80211_STA_INFO_RX_BITRATE = 0xe NL80211_STA_INFO_RX_BYTES64 = 0x17 NL80211_STA_INFO_RX_BYTES = 0x2 NL80211_STA_INFO_RX_DROP_MISC = 0x1c NL80211_STA_INFO_RX_DURATION = 0x20 NL80211_STA_INFO_RX_MPDUS = 0x24 NL80211_STA_INFO_RX_PACKETS = 0x9 NL80211_STA_INFO_SIGNAL_AVG = 0xd NL80211_STA_INFO_SIGNAL = 0x7 NL80211_STA_INFO_STA_FLAGS = 0x11 NL80211_STA_INFO_TID_STATS = 0x1f NL80211_STA_INFO_T_OFFSET = 0x13 NL80211_STA_INFO_TX_BITRATE = 0x8 NL80211_STA_INFO_TX_BYTES64 = 0x18 NL80211_STA_INFO_TX_BYTES = 0x3 NL80211_STA_INFO_TX_DURATION = 0x27 NL80211_STA_INFO_TX_FAILED = 0xc NL80211_STA_INFO_TX_PACKETS = 0xa NL80211_STA_INFO_TX_RETRIES = 0xb NL80211_STA_WME_MAX = 0x2 NL80211_STA_WME_MAX_SP = 0x2 NL80211_STA_WME_UAPSD_QUEUES = 0x1 NL80211_SURVEY_INFO_CHANNEL_TIME_BUSY = 0x5 NL80211_SURVEY_INFO_CHANNEL_TIME = 0x4 NL80211_SURVEY_INFO_CHANNEL_TIME_EXT_BUSY = 0x6 NL80211_SURVEY_INFO_CHANNEL_TIME_RX = 0x7 NL80211_SURVEY_INFO_CHANNEL_TIME_TX = 0x8 NL80211_SURVEY_INFO_FREQUENCY = 0x1 NL80211_SURVEY_INFO_FREQUENCY_OFFSET = 0xc NL80211_SURVEY_INFO_IN_USE = 0x3 NL80211_SURVEY_INFO_MAX = 0xc NL80211_SURVEY_INFO_NOISE = 0x2 NL80211_SURVEY_INFO_PAD = 0xa NL80211_SURVEY_INFO_TIME_BSS_RX = 0xb NL80211_SURVEY_INFO_TIME_BUSY = 0x5 NL80211_SURVEY_INFO_TIME = 0x4 NL80211_SURVEY_INFO_TIME_EXT_BUSY = 0x6 NL80211_SURVEY_INFO_TIME_RX = 0x7 NL80211_SURVEY_INFO_TIME_SCAN = 0x9 NL80211_SURVEY_INFO_TIME_TX = 0x8 NL80211_TDLS_DISABLE_LINK = 0x4 NL80211_TDLS_DISCOVERY_REQ = 0x0 NL80211_TDLS_ENABLE_LINK = 0x3 NL80211_TDLS_PEER_HE = 0x8 NL80211_TDLS_PEER_HT = 0x1 NL80211_TDLS_PEER_VHT = 0x2 NL80211_TDLS_PEER_WMM = 0x4 NL80211_TDLS_SETUP = 0x1 NL80211_TDLS_TEARDOWN = 0x2 NL80211_TID_CONFIG_ATTR_AMPDU_CTRL = 0x9 NL80211_TID_CONFIG_ATTR_AMSDU_CTRL = 0xb NL80211_TID_CONFIG_ATTR_MAX = 0xd NL80211_TID_CONFIG_ATTR_NOACK = 0x6 NL80211_TID_CONFIG_ATTR_OVERRIDE = 0x4 NL80211_TID_CONFIG_ATTR_PAD = 0x1 NL80211_TID_CONFIG_ATTR_PEER_SUPP = 0x3 NL80211_TID_CONFIG_ATTR_RETRY_LONG = 0x8 NL80211_TID_CONFIG_ATTR_RETRY_SHORT = 0x7 NL80211_TID_CONFIG_ATTR_RTSCTS_CTRL = 0xa NL80211_TID_CONFIG_ATTR_TIDS = 0x5 NL80211_TID_CONFIG_ATTR_TX_RATE = 0xd NL80211_TID_CONFIG_ATTR_TX_RATE_TYPE = 0xc NL80211_TID_CONFIG_ATTR_VIF_SUPP = 0x2 NL80211_TID_CONFIG_DISABLE = 0x1 NL80211_TID_CONFIG_ENABLE = 0x0 NL80211_TID_STATS_MAX = 0x6 NL80211_TID_STATS_PAD = 0x5 NL80211_TID_STATS_RX_MSDU = 0x1 NL80211_TID_STATS_TX_MSDU = 0x2 NL80211_TID_STATS_TX_MSDU_FAILED = 0x4 NL80211_TID_STATS_TX_MSDU_RETRIES = 0x3 NL80211_TID_STATS_TXQ_STATS = 0x6 NL80211_TIMEOUT_ASSOC = 0x3 NL80211_TIMEOUT_AUTH = 0x2 NL80211_TIMEOUT_SCAN = 0x1 NL80211_TIMEOUT_UNSPECIFIED = 0x0 NL80211_TKIP_DATA_OFFSET_ENCR_KEY = 0x0 NL80211_TKIP_DATA_OFFSET_RX_MIC_KEY = 0x18 NL80211_TKIP_DATA_OFFSET_TX_MIC_KEY = 0x10 NL80211_TX_POWER_AUTOMATIC = 0x0 NL80211_TX_POWER_FIXED = 0x2 NL80211_TX_POWER_LIMITED = 0x1 NL80211_TXQ_ATTR_AC = 0x1 NL80211_TXQ_ATTR_AIFS = 0x5 NL80211_TXQ_ATTR_CWMAX = 0x4 NL80211_TXQ_ATTR_CWMIN = 0x3 NL80211_TXQ_ATTR_MAX = 0x5 NL80211_TXQ_ATTR_QUEUE = 0x1 NL80211_TXQ_ATTR_TXOP = 0x2 NL80211_TXQ_Q_BE = 0x2 NL80211_TXQ_Q_BK = 0x3 NL80211_TXQ_Q_VI = 0x1 NL80211_TXQ_Q_VO = 0x0 NL80211_TXQ_STATS_BACKLOG_BYTES = 0x1 NL80211_TXQ_STATS_BACKLOG_PACKETS = 0x2 NL80211_TXQ_STATS_COLLISIONS = 0x8 NL80211_TXQ_STATS_DROPS = 0x4 NL80211_TXQ_STATS_ECN_MARKS = 0x5 NL80211_TXQ_STATS_FLOWS = 0x3 NL80211_TXQ_STATS_MAX = 0xb NL80211_TXQ_STATS_MAX_FLOWS = 0xb NL80211_TXQ_STATS_OVERLIMIT = 0x6 NL80211_TXQ_STATS_OVERMEMORY = 0x7 NL80211_TXQ_STATS_TX_BYTES = 0x9 NL80211_TXQ_STATS_TX_PACKETS = 0xa NL80211_TX_RATE_AUTOMATIC = 0x0 NL80211_TXRATE_DEFAULT_GI = 0x0 NL80211_TX_RATE_FIXED = 0x2 NL80211_TXRATE_FORCE_LGI = 0x2 NL80211_TXRATE_FORCE_SGI = 0x1 NL80211_TXRATE_GI = 0x4 NL80211_TXRATE_HE = 0x5 NL80211_TXRATE_HE_GI = 0x6 NL80211_TXRATE_HE_LTF = 0x7 NL80211_TXRATE_HT = 0x2 NL80211_TXRATE_LEGACY = 0x1 NL80211_TX_RATE_LIMITED = 0x1 NL80211_TXRATE_MAX = 0x7 NL80211_TXRATE_MCS = 0x2 NL80211_TXRATE_VHT = 0x3 NL80211_UNSOL_BCAST_PROBE_RESP_ATTR_INT = 0x1 NL80211_UNSOL_BCAST_PROBE_RESP_ATTR_MAX = 0x2 NL80211_UNSOL_BCAST_PROBE_RESP_ATTR_TMPL = 0x2 NL80211_USER_REG_HINT_CELL_BASE = 0x1 NL80211_USER_REG_HINT_INDOOR = 0x2 NL80211_USER_REG_HINT_USER = 0x0 NL80211_VENDOR_ID_IS_LINUX = 0x80000000 NL80211_VHT_CAPABILITY_LEN = 0xc NL80211_VHT_NSS_MAX = 0x8 NL80211_WIPHY_NAME_MAXLEN = 0x40 NL80211_WMMR_AIFSN = 0x3 NL80211_WMMR_CW_MAX = 0x2 NL80211_WMMR_CW_MIN = 0x1 NL80211_WMMR_MAX = 0x4 NL80211_WMMR_TXOP = 0x4 NL80211_WOWLAN_PKTPAT_MASK = 0x1 NL80211_WOWLAN_PKTPAT_OFFSET = 0x3 NL80211_WOWLAN_PKTPAT_PATTERN = 0x2 NL80211_WOWLAN_TCP_DATA_INTERVAL = 0x9 NL80211_WOWLAN_TCP_DATA_PAYLOAD = 0x6 NL80211_WOWLAN_TCP_DATA_PAYLOAD_SEQ = 0x7 NL80211_WOWLAN_TCP_DATA_PAYLOAD_TOKEN = 0x8 NL80211_WOWLAN_TCP_DST_IPV4 = 0x2 NL80211_WOWLAN_TCP_DST_MAC = 0x3 NL80211_WOWLAN_TCP_DST_PORT = 0x5 NL80211_WOWLAN_TCP_SRC_IPV4 = 0x1 NL80211_WOWLAN_TCP_SRC_PORT = 0x4 NL80211_WOWLAN_TCP_WAKE_MASK = 0xb NL80211_WOWLAN_TCP_WAKE_PAYLOAD = 0xa NL80211_WOWLAN_TRIG_4WAY_HANDSHAKE = 0x8 NL80211_WOWLAN_TRIG_ANY = 0x1 NL80211_WOWLAN_TRIG_DISCONNECT = 0x2 NL80211_WOWLAN_TRIG_EAP_IDENT_REQUEST = 0x7 NL80211_WOWLAN_TRIG_GTK_REKEY_FAILURE = 0x6 NL80211_WOWLAN_TRIG_GTK_REKEY_SUPPORTED = 0x5 NL80211_WOWLAN_TRIG_MAGIC_PKT = 0x3 NL80211_WOWLAN_TRIG_NET_DETECT = 0x12 NL80211_WOWLAN_TRIG_NET_DETECT_RESULTS = 0x13 NL80211_WOWLAN_TRIG_PKT_PATTERN = 0x4 NL80211_WOWLAN_TRIG_RFKILL_RELEASE = 0x9 NL80211_WOWLAN_TRIG_TCP_CONNECTION = 0xe NL80211_WOWLAN_TRIG_WAKEUP_PKT_80211 = 0xa NL80211_WOWLAN_TRIG_WAKEUP_PKT_80211_LEN = 0xb NL80211_WOWLAN_TRIG_WAKEUP_PKT_8023 = 0xc NL80211_WOWLAN_TRIG_WAKEUP_PKT_8023_LEN = 0xd NL80211_WOWLAN_TRIG_WAKEUP_TCP_CONNLOST = 0x10 NL80211_WOWLAN_TRIG_WAKEUP_TCP_MATCH = 0xf NL80211_WOWLAN_TRIG_WAKEUP_TCP_NOMORETOKENS = 0x11 NL80211_WPA_VERSION_1 = 0x1 NL80211_WPA_VERSION_2 = 0x2 NL80211_WPA_VERSION_3 = 0x4 ) const ( FRA_UNSPEC = 0x0 FRA_DST = 0x1 FRA_SRC = 0x2 FRA_IIFNAME = 0x3 FRA_GOTO = 0x4 FRA_UNUSED2 = 0x5 FRA_PRIORITY = 0x6 FRA_UNUSED3 = 0x7 FRA_UNUSED4 = 0x8 FRA_UNUSED5 = 0x9 FRA_FWMARK = 0xa FRA_FLOW = 0xb FRA_TUN_ID = 0xc FRA_SUPPRESS_IFGROUP = 0xd FRA_SUPPRESS_PREFIXLEN = 0xe FRA_TABLE = 0xf FRA_FWMASK = 0x10 FRA_OIFNAME = 0x11 FRA_PAD = 0x12 FRA_L3MDEV = 0x13 FRA_UID_RANGE = 0x14 FRA_PROTOCOL = 0x15 FRA_IP_PROTO = 0x16 FRA_SPORT_RANGE = 0x17 FRA_DPORT_RANGE = 0x18 FR_ACT_UNSPEC = 0x0 FR_ACT_TO_TBL = 0x1 FR_ACT_GOTO = 0x2 FR_ACT_NOP = 0x3 FR_ACT_RES3 = 0x4 FR_ACT_RES4 = 0x5 FR_ACT_BLACKHOLE = 0x6 FR_ACT_UNREACHABLE = 0x7 FR_ACT_PROHIBIT = 0x8 ) const ( AUDIT_NLGRP_NONE = 0x0 AUDIT_NLGRP_READLOG = 0x1 ) const ( TUN_F_CSUM = 0x1 TUN_F_TSO4 = 0x2 TUN_F_TSO6 = 0x4 TUN_F_TSO_ECN = 0x8 TUN_F_UFO = 0x10 TUN_F_USO4 = 0x20 TUN_F_USO6 = 0x40 ) const ( VIRTIO_NET_HDR_F_NEEDS_CSUM = 0x1 VIRTIO_NET_HDR_F_DATA_VALID = 0x2 VIRTIO_NET_HDR_F_RSC_INFO = 0x4 ) const ( VIRTIO_NET_HDR_GSO_NONE = 0x0 VIRTIO_NET_HDR_GSO_TCPV4 = 0x1 VIRTIO_NET_HDR_GSO_UDP = 0x3 VIRTIO_NET_HDR_GSO_TCPV6 = 0x4 VIRTIO_NET_HDR_GSO_UDP_L4 = 0x5 VIRTIO_NET_HDR_GSO_ECN = 0x80 ) type SchedAttr struct { Size uint32 Policy uint32 Flags uint64 Nice int32 Priority uint32 Runtime uint64 Deadline uint64 Period uint64 Util_min uint32 Util_max uint32 } const SizeofSchedAttr = 0x38 type Cachestat_t struct { Cache uint64 Dirty uint64 Writeback uint64 Evicted uint64 Recently_evicted uint64 } type CachestatRange struct { Off uint64 Len uint64 } const ( SK_MEMINFO_RMEM_ALLOC = 0x0 SK_MEMINFO_RCVBUF = 0x1 SK_MEMINFO_WMEM_ALLOC = 0x2 SK_MEMINFO_SNDBUF = 0x3 SK_MEMINFO_FWD_ALLOC = 0x4 SK_MEMINFO_WMEM_QUEUED = 0x5 SK_MEMINFO_OPTMEM = 0x6 SK_MEMINFO_BACKLOG = 0x7 SK_MEMINFO_DROPS = 0x8 SK_MEMINFO_VARS = 0x9 SKNLGRP_NONE = 0x0 SKNLGRP_INET_TCP_DESTROY = 0x1 SKNLGRP_INET_UDP_DESTROY = 0x2 SKNLGRP_INET6_TCP_DESTROY = 0x3 SKNLGRP_INET6_UDP_DESTROY = 0x4 SK_DIAG_BPF_STORAGE_REQ_NONE = 0x0 SK_DIAG_BPF_STORAGE_REQ_MAP_FD = 0x1 SK_DIAG_BPF_STORAGE_REP_NONE = 0x0 SK_DIAG_BPF_STORAGE = 0x1 SK_DIAG_BPF_STORAGE_NONE = 0x0 SK_DIAG_BPF_STORAGE_PAD = 0x1 SK_DIAG_BPF_STORAGE_MAP_ID = 0x2 SK_DIAG_BPF_STORAGE_MAP_VALUE = 0x3 ) type SockDiagReq struct { Family uint8 Protocol uint8 } dependencies/pkg/mod/golang.org/x/sys@v0.26.0/unix/zsysnum_linux_s390x.go0000644000000000000000000003226715107355264025067 0ustar rootroot// go run linux/mksysnum.go -Wall -Werror -static -I/tmp/s390x/include -fsigned-char /tmp/s390x/include/asm/unistd.h // Code generated by the command above; see README.md. DO NOT EDIT. //go: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_SELECT = 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_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_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_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_NEWFSTATAT = 293 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_S390_GUARDED_STORAGE = 378 SYS_STATX = 379 SYS_S390_STHYI = 380 SYS_KEXEC_FILE_LOAD = 381 SYS_IO_PGETEVENTS = 382 SYS_RSEQ = 383 SYS_PKEY_MPROTECT = 384 SYS_PKEY_ALLOC = 385 SYS_PKEY_FREE = 386 SYS_SEMTIMEDOP = 392 SYS_SEMGET = 393 SYS_SEMCTL = 394 SYS_SHMGET = 395 SYS_SHMCTL = 396 SYS_SHMAT = 397 SYS_SHMDT = 398 SYS_MSGGET = 399 SYS_MSGSND = 400 SYS_MSGRCV = 401 SYS_MSGCTL = 402 SYS_PIDFD_SEND_SIGNAL = 424 SYS_IO_URING_SETUP = 425 SYS_IO_URING_ENTER = 426 SYS_IO_URING_REGISTER = 427 SYS_OPEN_TREE = 428 SYS_MOVE_MOUNT = 429 SYS_FSOPEN = 430 SYS_FSCONFIG = 431 SYS_FSMOUNT = 432 SYS_FSPICK = 433 SYS_PIDFD_OPEN = 434 SYS_CLONE3 = 435 SYS_CLOSE_RANGE = 436 SYS_OPENAT2 = 437 SYS_PIDFD_GETFD = 438 SYS_FACCESSAT2 = 439 SYS_PROCESS_MADVISE = 440 SYS_EPOLL_PWAIT2 = 441 SYS_MOUNT_SETATTR = 442 SYS_QUOTACTL_FD = 443 SYS_LANDLOCK_CREATE_RULESET = 444 SYS_LANDLOCK_ADD_RULE = 445 SYS_LANDLOCK_RESTRICT_SELF = 446 SYS_MEMFD_SECRET = 447 SYS_PROCESS_MRELEASE = 448 SYS_FUTEX_WAITV = 449 SYS_SET_MEMPOLICY_HOME_NODE = 450 SYS_CACHESTAT = 451 SYS_FCHMODAT2 = 452 SYS_MAP_SHADOW_STACK = 453 SYS_FUTEX_WAKE = 454 SYS_FUTEX_WAIT = 455 SYS_FUTEX_REQUEUE = 456 SYS_STATMOUNT = 457 SYS_LISTMOUNT = 458 SYS_LSM_GET_SELF_ATTR = 459 SYS_LSM_SET_SELF_ATTR = 460 SYS_LSM_LIST_MODULES = 461 SYS_MSEAL = 462 ) dependencies/pkg/mod/golang.org/x/sys@v0.26.0/unix/syscall_linux_ppc64x.go0000644000000000000000000001175115107355264025242 0ustar rootroot// 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. //go:build linux && (ppc64 || ppc64le) package unix //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 Fstatat(dirfd int, path string, stat *Stat_t, flags int) (err error) = SYS_NEWFSTATAT //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) //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 Renameat(olddirfd int, oldpath string, newdirfd int, newpath string) (err error) //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__NEWSELECT //sys sendfile(outfd int, infd int, offset *int64, count int) (written int, err error) //sys setfsgid(gid int) (prev int, err error) //sys setfsuid(uid int) (prev 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 Truncate(path string, length int64) (err error) //sys Ustat(dev int, ubuf *Ustat_t) (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) //sys futimesat(dirfd int, path string, times *[2]Timeval) (err error) //sysnb Gettimeofday(tv *Timeval) (err error) //sysnb Time(t *Time_t) (tt Time_t, err error) //sys Utime(path string, buf *Utimbuf) (err error) //sys utimes(path string, times *[2]Timeval) (err error) func setTimespec(sec, nsec int64) Timespec { return Timespec{Sec: sec, Nsec: nsec} } func setTimeval(sec, usec int64) Timeval { return Timeval{Sec: sec, Usec: usec} } 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 (msghdr *Msghdr) SetIovlen(length int) { msghdr.Iovlen = uint64(length) } func (cmsg *Cmsghdr) SetLen(length int) { cmsg.Len = uint64(length) } func (rsa *RawSockaddrNFCLLCP) SetServiceNameLen(length int) { rsa.Service_name_len = uint64(length) } //sys syncFileRange2(fd int, flags int, off int64, n int64) (err error) = SYS_SYNC_FILE_RANGE2 func SyncFileRange(fd int, off int64, n int64, flags int) error { // The sync_file_range and sync_file_range2 syscalls differ only in the // order of their arguments. return syncFileRange2(fd, flags, off, n) } //sys kexecFileLoad(kernelFd int, initrdFd int, cmdlineLen int, cmdline string, flags int) (err error) func KexecFileLoad(kernelFd int, initrdFd int, cmdline string, flags int) error { cmdlineLen := len(cmdline) if cmdlineLen > 0 { // Account for the additional NULL byte added by // BytePtrFromString in kexecFileLoad. The kexec_file_load // syscall expects a NULL-terminated string. cmdlineLen++ } return kexecFileLoad(kernelFd, initrdFd, cmdlineLen, cmdline, flags) } dependencies/pkg/mod/golang.org/x/sys@v0.26.0/unix/zerrors_freebsd_arm.go0000644000000000000000000023630215107355264025205 0ustar rootroot// mkerrors.sh // Code generated by the command above; see README.md. DO NOT EDIT. //go:build arm && freebsd // Code generated by cmd/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 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 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 = 0x4010426e 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 BIOCSETVLANPCP = 0x80044285 BIOCSETWF = 0x8008427b BIOCSETZBUF = 0x800c4281 BIOCSHDRCMPLT = 0x80044275 BIOCSRSIG = 0x80044273 BIOCSRTIMEOUT = 0x8010426d 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_MOD = 0x90 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 BPF_XOR = 0xa0 BRKINT = 0x2 CAP_ACCEPT = 0x200000020000000 CAP_ACL_CHECK = 0x400000000010000 CAP_ACL_DELETE = 0x400000000020000 CAP_ACL_GET = 0x400000000040000 CAP_ACL_SET = 0x400000000080000 CAP_ALL0 = 0x20007ffffffffff CAP_ALL1 = 0x4000000001fffff CAP_BIND = 0x200000040000000 CAP_BINDAT = 0x200008000000400 CAP_CHFLAGSAT = 0x200000000001400 CAP_CONNECT = 0x200000080000000 CAP_CONNECTAT = 0x200010000000400 CAP_CREATE = 0x200000000000040 CAP_EVENT = 0x400000000000020 CAP_EXTATTR_DELETE = 0x400000000001000 CAP_EXTATTR_GET = 0x400000000002000 CAP_EXTATTR_LIST = 0x400000000004000 CAP_EXTATTR_SET = 0x400000000008000 CAP_FCHDIR = 0x200000000000800 CAP_FCHFLAGS = 0x200000000001000 CAP_FCHMOD = 0x200000000002000 CAP_FCHMODAT = 0x200000000002400 CAP_FCHOWN = 0x200000000004000 CAP_FCHOWNAT = 0x200000000004400 CAP_FCNTL = 0x200000000008000 CAP_FCNTL_ALL = 0x78 CAP_FCNTL_GETFL = 0x8 CAP_FCNTL_GETOWN = 0x20 CAP_FCNTL_SETFL = 0x10 CAP_FCNTL_SETOWN = 0x40 CAP_FEXECVE = 0x200000000000080 CAP_FLOCK = 0x200000000010000 CAP_FPATHCONF = 0x200000000020000 CAP_FSCK = 0x200000000040000 CAP_FSTAT = 0x200000000080000 CAP_FSTATAT = 0x200000000080400 CAP_FSTATFS = 0x200000000100000 CAP_FSYNC = 0x200000000000100 CAP_FTRUNCATE = 0x200000000000200 CAP_FUTIMES = 0x200000000200000 CAP_FUTIMESAT = 0x200000000200400 CAP_GETPEERNAME = 0x200000100000000 CAP_GETSOCKNAME = 0x200000200000000 CAP_GETSOCKOPT = 0x200000400000000 CAP_IOCTL = 0x400000000000080 CAP_IOCTLS_ALL = 0x7fffffff CAP_KQUEUE = 0x400000000100040 CAP_KQUEUE_CHANGE = 0x400000000100000 CAP_KQUEUE_EVENT = 0x400000000000040 CAP_LINKAT_SOURCE = 0x200020000000400 CAP_LINKAT_TARGET = 0x200000000400400 CAP_LISTEN = 0x200000800000000 CAP_LOOKUP = 0x200000000000400 CAP_MAC_GET = 0x400000000000001 CAP_MAC_SET = 0x400000000000002 CAP_MKDIRAT = 0x200000000800400 CAP_MKFIFOAT = 0x200000001000400 CAP_MKNODAT = 0x200000002000400 CAP_MMAP = 0x200000000000010 CAP_MMAP_R = 0x20000000000001d CAP_MMAP_RW = 0x20000000000001f CAP_MMAP_RWX = 0x20000000000003f CAP_MMAP_RX = 0x20000000000003d CAP_MMAP_W = 0x20000000000001e CAP_MMAP_WX = 0x20000000000003e CAP_MMAP_X = 0x20000000000003c CAP_PDGETPID = 0x400000000000200 CAP_PDKILL = 0x400000000000800 CAP_PDWAIT = 0x400000000000400 CAP_PEELOFF = 0x200001000000000 CAP_POLL_EVENT = 0x400000000000020 CAP_PREAD = 0x20000000000000d CAP_PWRITE = 0x20000000000000e CAP_READ = 0x200000000000001 CAP_RECV = 0x200000000000001 CAP_RENAMEAT_SOURCE = 0x200000004000400 CAP_RENAMEAT_TARGET = 0x200040000000400 CAP_RIGHTS_VERSION = 0x0 CAP_RIGHTS_VERSION_00 = 0x0 CAP_SEEK = 0x20000000000000c CAP_SEEK_TELL = 0x200000000000004 CAP_SEM_GETVALUE = 0x400000000000004 CAP_SEM_POST = 0x400000000000008 CAP_SEM_WAIT = 0x400000000000010 CAP_SEND = 0x200000000000002 CAP_SETSOCKOPT = 0x200002000000000 CAP_SHUTDOWN = 0x200004000000000 CAP_SOCK_CLIENT = 0x200007780000003 CAP_SOCK_SERVER = 0x200007f60000003 CAP_SYMLINKAT = 0x200000008000400 CAP_TTYHOOK = 0x400000000000100 CAP_UNLINKAT = 0x200000010000400 CAP_UNUSED0_44 = 0x200080000000000 CAP_UNUSED0_57 = 0x300000000000000 CAP_UNUSED1_22 = 0x400000000200000 CAP_UNUSED1_57 = 0x500000000000000 CAP_WRITE = 0x200000000000002 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 CPUSTATES = 0x5 CP_IDLE = 0x4 CP_INTR = 0x3 CP_NICE = 0x1 CP_SYS = 0x2 CP_USER = 0x0 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_HW = 0x6 CTL_KERN = 0x1 CTL_MAXNAME = 0x18 CTL_NET = 0x4 DIOCGATTR = 0xc148648e DIOCGDELETE = 0x80106488 DIOCGFLUSH = 0x20006487 DIOCGFRONTSTUFF = 0x40086486 DIOCGFWHEADS = 0x40046483 DIOCGFWSECTORS = 0x40046482 DIOCGIDENT = 0x41006489 DIOCGMEDIASIZE = 0x40086481 DIOCGPHYSPATH = 0x4400648d DIOCGPROVIDERNAME = 0x4400648a DIOCGSECTORSIZE = 0x40046480 DIOCGSTRIPEOFFSET = 0x4008648c DIOCGSTRIPESIZE = 0x4008648b DIOCSKERNELDUMP = 0x804c6490 DIOCSKERNELDUMP_FREEBSD11 = 0x80046485 DIOCZONECMD = 0xc078648f 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_BREDR_BB = 0xff DLT_BLUETOOTH_HCI_H4 = 0xbb DLT_BLUETOOTH_HCI_H4_WITH_PHDR = 0xc9 DLT_BLUETOOTH_LE_LL = 0xfb DLT_BLUETOOTH_LE_LL_WITH_PHDR = 0x100 DLT_BLUETOOTH_LINUX_MONITOR = 0xfe DLT_CAN20B = 0xbe DLT_CAN_SOCKETCAN = 0xe3 DLT_CHAOS = 0x5 DLT_CHDLC = 0x68 DLT_CISCO_IOS = 0x76 DLT_CLASS_NETBSD_RAWAF = 0x2240000 DLT_C_HDLC = 0x68 DLT_C_HDLC_WITH_DIR = 0xcd DLT_DBUS = 0xe7 DLT_DECT = 0xdd DLT_DISPLAYPORT_AUX = 0x113 DLT_DOCSIS = 0x8f DLT_DOCSIS31_XRA31 = 0x111 DLT_DVB_CI = 0xeb DLT_ECONET = 0x73 DLT_EN10MB = 0x1 DLT_EN3MB = 0x2 DLT_ENC = 0x6d DLT_EPON = 0x103 DLT_ERF = 0xc5 DLT_ERF_ETH = 0xaf DLT_ERF_POS = 0xb0 DLT_ETHERNET_MPACKET = 0x112 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_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_INFINIBAND = 0xf7 DLT_IPFILTER = 0x74 DLT_IPMB_KONTRON = 0xc7 DLT_IPMB_LINUX = 0xd1 DLT_IPMI_HPM_2 = 0x104 DLT_IPNET = 0xe2 DLT_IPOIB = 0xf2 DLT_IPV4 = 0xe4 DLT_IPV6 = 0xe5 DLT_IP_OVER_FC = 0x7a DLT_ISO_14443 = 0x108 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_LINUX_SLL2 = 0x114 DLT_LOOP = 0x6c DLT_LORATAP = 0x10e DLT_LTALK = 0x72 DLT_MATCHING_MAX = 0x114 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_NETLINK = 0xfd DLT_NFC_LLCP = 0xf5 DLT_NFLOG = 0xef DLT_NG40 = 0xf4 DLT_NORDIC_BLE = 0x110 DLT_NULL = 0x0 DLT_OPENFLOW = 0x10b DLT_PCI_EXP = 0x7d DLT_PFLOG = 0x75 DLT_PFSYNC = 0x79 DLT_PKTAP = 0x102 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_PPP_WITH_DIRECTION = 0xa6 DLT_PRISM_HEADER = 0x77 DLT_PROFIBUS_DL = 0x101 DLT_PRONET = 0x4 DLT_RAIF1 = 0xc6 DLT_RAW = 0xc DLT_RDS = 0x109 DLT_REDBACK_SMARTEDGE = 0x20 DLT_RIO = 0x7c DLT_RTAC_SERIAL = 0xfa DLT_SCCP = 0x8e DLT_SCTP = 0xf8 DLT_SDLC = 0x10c DLT_SITA = 0xc4 DLT_SLIP = 0x8 DLT_SLIP_BSDOS = 0xd DLT_STANAG_5066_D_PDU = 0xed DLT_SUNATM = 0x7b DLT_SYMANTEC_FIREWALL = 0x63 DLT_TI_LLN_SNIFFER = 0x10d DLT_TZSP = 0x80 DLT_USB = 0xba DLT_USBPCAP = 0xf9 DLT_USB_DARWIN = 0x10a DLT_USB_FREEBSD = 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_VSOCK = 0x10f DLT_WATTSTOPPER_DLM = 0x107 DLT_WIHART = 0xdf DLT_WIRESHARK_UPPER_PDU = 0xfc DLT_X2E_SERIAL = 0xd5 DLT_X2E_XORAYA = 0xd6 DLT_ZWAVE_R1_R2 = 0x105 DLT_ZWAVE_R3 = 0x106 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_EMPTY = -0xd EVFILT_FS = -0x9 EVFILT_LIO = -0xa EVFILT_PROC = -0x5 EVFILT_PROCDESC = -0x8 EVFILT_READ = -0x1 EVFILT_SENDFILE = -0xc EVFILT_SIGNAL = -0x6 EVFILT_SYSCOUNT = 0xd EVFILT_TIMER = -0x7 EVFILT_USER = -0xb EVFILT_VNODE = -0x4 EVFILT_WRITE = -0x2 EVNAMEMAP_NAME_SIZE = 0x40 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_FLAG2 = 0x4000 EV_FORCEONESHOT = 0x100 EV_ONESHOT = 0x10 EV_RECEIPT = 0x40 EV_SYSFLAGS = 0xf000 EXTA = 0x4b00 EXTATTR_MAXNAMELEN = 0xff 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 HW_MACHINE = 0x1 ICANON = 0x100 ICMP6_FILTER = 0x12 ICRNL = 0x100 IEXTEN = 0x400 IFAN_ARRIVAL = 0x0 IFAN_DEPARTURE = 0x1 IFCAP_WOL_MAGIC = 0x2000 IFF_ALLMULTI = 0x200 IFF_ALTPHYS = 0x4000 IFF_BROADCAST = 0x2 IFF_CANTCHANGE = 0x218f52 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_NOGROUP = 0x800000 IFF_OACTIVE = 0x400 IFF_POINTOPOINT = 0x10 IFF_PPROMISC = 0x20000 IFF_PROMISC = 0x100 IFF_RENAMING = 0x400000 IFF_RUNNING = 0x40 IFF_SIMPLEX = 0x800 IFF_STATICARP = 0x80000 IFF_UP = 0x1 IFNAMSIZ = 0x10 IFT_BRIDGE = 0xd1 IFT_CARP = 0xf8 IFT_IEEE1394 = 0x90 IFT_INFINIBAND = 0xc7 IFT_L2VLAN = 0x87 IFT_L3IPVLAN = 0x88 IFT_PPP = 0x17 IFT_PROPVIRTUAL = 0x35 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_DCCP = 0x21 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_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_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_BINDMULTI = 0x41 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_FLOWID = 0x43 IPV6_FLOWINFO_MASK = 0xffffff0f IPV6_FLOWLABEL_LEN = 0x14 IPV6_FLOWLABEL_MASK = 0xffff0f00 IPV6_FLOWTYPE = 0x44 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_MMTU = 0x500 IPV6_MSFILTER = 0x4a IPV6_MULTICAST_HOPS = 0xa IPV6_MULTICAST_IF = 0x9 IPV6_MULTICAST_LOOP = 0xb IPV6_NEXTHOP = 0x30 IPV6_ORIGDSTADDR = 0x48 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_RECVFLOWID = 0x46 IPV6_RECVHOPLIMIT = 0x25 IPV6_RECVHOPOPTS = 0x27 IPV6_RECVORIGDSTADDR = 0x48 IPV6_RECVPATHMTU = 0x2b IPV6_RECVPKTINFO = 0x24 IPV6_RECVRSSBUCKETID = 0x47 IPV6_RECVRTHDR = 0x26 IPV6_RECVTCLASS = 0x39 IPV6_RSSBUCKETID = 0x45 IPV6_RSS_LISTEN_BUCKET = 0x42 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 IPV6_VLAN_PCP = 0x4b IP_ADD_MEMBERSHIP = 0xc IP_ADD_SOURCE_MEMBERSHIP = 0x46 IP_BINDANY = 0x18 IP_BINDMULTI = 0x19 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_FLOWID = 0x5a IP_FLOWTYPE = 0x5b 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_MF = 0x2000 IP_MINTTL = 0x42 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_ORIGDSTADDR = 0x1b IP_PORTRANGE = 0x13 IP_PORTRANGE_DEFAULT = 0x0 IP_PORTRANGE_HIGH = 0x1 IP_PORTRANGE_LOW = 0x2 IP_RECVDSTADDR = 0x7 IP_RECVFLOWID = 0x5d IP_RECVIF = 0x14 IP_RECVOPTS = 0x5 IP_RECVORIGDSTADDR = 0x1b IP_RECVRETOPTS = 0x6 IP_RECVRSSBUCKETID = 0x5e IP_RECVTOS = 0x44 IP_RECVTTL = 0x41 IP_RETOPTS = 0x8 IP_RF = 0x8000 IP_RSSBUCKETID = 0x5c IP_RSS_LISTEN_BUCKET = 0x1a 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 IP_VLAN_PCP = 0x4b ISIG = 0x80 ISTRIP = 0x20 ITIMER_PROF = 0x2 ITIMER_REAL = 0x0 ITIMER_VIRTUAL = 0x1 IXANY = 0x800 IXOFF = 0x400 IXON = 0x200 KERN_HOSTNAME = 0xa KERN_OSRELEASE = 0x2 KERN_OSTYPE = 0x1 KERN_VERSION = 0x4 LOCAL_CONNWAIT = 0x4 LOCAL_CREDS = 0x2 LOCAL_PEERCRED = 0x1 LOCAL_VENDOR = 0x80000000 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_GUARD = 0x2000 MAP_HASSEMAPHORE = 0x200 MAP_NOCORE = 0x20000 MAP_NOSYNC = 0x800 MAP_PREFAULT_READ = 0x40000 MAP_PRIVATE = 0x2 MAP_RESERVED0020 = 0x20 MAP_RESERVED0040 = 0x40 MAP_RESERVED0080 = 0x80 MAP_RESERVED0100 = 0x100 MAP_SHARED = 0x1 MAP_STACK = 0x400 MCAST_BLOCK_SOURCE = 0x54 MCAST_EXCLUDE = 0x2 MCAST_INCLUDE = 0x1 MCAST_JOIN_GROUP = 0x50 MCAST_JOIN_SOURCE_GROUP = 0x52 MCAST_LEAVE_GROUP = 0x51 MCAST_LEAVE_SOURCE_GROUP = 0x53 MCAST_UNBLOCK_SOURCE = 0x55 MCAST_UNDEFINED = 0x0 MCL_CURRENT = 0x1 MCL_FUTURE = 0x2 MNT_ACLS = 0x8000000 MNT_ASYNC = 0x40 MNT_AUTOMOUNTED = 0x200000000 MNT_BYFSID = 0x8000000 MNT_CMDFLAGS = 0xd0f0000 MNT_DEFEXPORTED = 0x200 MNT_DELEXPORT = 0x20000 MNT_EXKERB = 0x800 MNT_EXPORTANON = 0x400 MNT_EXPORTED = 0x100 MNT_EXPUBLIC = 0x20000000 MNT_EXRDONLY = 0x80 MNT_FORCE = 0x80000 MNT_GJOURNAL = 0x2000000 MNT_IGNORE = 0x800000 MNT_LAZY = 0x3 MNT_LOCAL = 0x1000 MNT_MULTILABEL = 0x4000000 MNT_NFS4ACLS = 0x10 MNT_NOATIME = 0x10000000 MNT_NOCLUSTERR = 0x40000000 MNT_NOCLUSTERW = 0x80000000 MNT_NOEXEC = 0x4 MNT_NONBUSY = 0x4000000 MNT_NOSUID = 0x8 MNT_NOSYMFOLLOW = 0x400000 MNT_NOWAIT = 0x2 MNT_QUOTA = 0x2000 MNT_RDONLY = 0x1 MNT_RELOAD = 0x40000 MNT_ROOTFS = 0x4000 MNT_SNAPSHOT = 0x1000000 MNT_SOFTDEP = 0x200000 MNT_SUIDDIR = 0x100000 MNT_SUJ = 0x100000000 MNT_SUSPEND = 0x4 MNT_SYNCHRONOUS = 0x2 MNT_UNION = 0x20 MNT_UNTRUSTED = 0x800000000 MNT_UPDATE = 0x10000 MNT_UPDATEMASK = 0xad8d0807e MNT_USER = 0x8000 MNT_VERIFIED = 0x400000000 MNT_VISFLAGMASK = 0xffef0ffff MNT_WAIT = 0x1 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 MSG_WAITFORONE = 0x80000 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 NFDBITS = 0x20 NOFLSH = 0x80000000 NOKERNINFO = 0x2000000 NOTE_ABSTIME = 0x10 NOTE_ATTRIB = 0x8 NOTE_CHILD = 0x4 NOTE_CLOSE = 0x100 NOTE_CLOSE_WRITE = 0x200 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_FILE_POLL = 0x2 NOTE_FORK = 0x40000000 NOTE_LINK = 0x10 NOTE_LOWAT = 0x1 NOTE_MSECONDS = 0x2 NOTE_NSECONDS = 0x8 NOTE_OPEN = 0x80 NOTE_PCTRLMASK = 0xf0000000 NOTE_PDATAMASK = 0xfffff NOTE_READ = 0x400 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 OXTABS = 0x4 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_RESOLVE_BENEATH = 0x800000 O_SEARCH = 0x40000 O_SHLOCK = 0x10 O_SYNC = 0x80 O_TRUNC = 0x400 O_TTY_INIT = 0x80000 O_VERIFY = 0x200000 O_WRONLY = 0x1 PARENB = 0x1000 PARMRK = 0x8 PARODD = 0x2000 PENDIN = 0x20000000 PIOD_READ_D = 0x1 PIOD_READ_I = 0x3 PIOD_WRITE_D = 0x2 PIOD_WRITE_I = 0x4 PRIO_PGRP = 0x1 PRIO_PROCESS = 0x0 PRIO_USER = 0x2 PROT_EXEC = 0x4 PROT_NONE = 0x0 PROT_READ = 0x1 PROT_WRITE = 0x2 PTRACE_DEFAULT = 0x1 PTRACE_EXEC = 0x1 PTRACE_FORK = 0x8 PTRACE_LWP = 0x10 PTRACE_SCE = 0x2 PTRACE_SCX = 0x4 PTRACE_SYSCALL = 0x6 PTRACE_VFORK = 0x20 PT_ATTACH = 0xa PT_CLEARSTEP = 0x10 PT_CONTINUE = 0x7 PT_DETACH = 0xb PT_FIRSTMACH = 0x40 PT_FOLLOW_FORK = 0x17 PT_GETDBREGS = 0x25 PT_GETFPREGS = 0x23 PT_GETLWPLIST = 0xf PT_GETNUMLWPS = 0xe PT_GETREGS = 0x21 PT_GETVFPREGS = 0x40 PT_GET_EVENT_MASK = 0x19 PT_GET_SC_ARGS = 0x1b PT_GET_SC_RET = 0x1c PT_IO = 0xc PT_KILL = 0x8 PT_LWPINFO = 0xd PT_LWP_EVENTS = 0x18 PT_READ_D = 0x2 PT_READ_I = 0x1 PT_RESUME = 0x13 PT_SETDBREGS = 0x26 PT_SETFPREGS = 0x24 PT_SETREGS = 0x22 PT_SETSTEP = 0x11 PT_SETVFPREGS = 0x41 PT_SET_EVENT_MASK = 0x1a PT_STEP = 0x9 PT_SUSPEND = 0x12 PT_SYSCALL = 0x16 PT_TO_SCE = 0x14 PT_TO_SCX = 0x15 PT_TRACE_ME = 0x0 PT_VM_ENTRY = 0x29 PT_VM_TIMESTAMP = 0x28 PT_WRITE_D = 0x5 PT_WRITE_I = 0x4 P_ZONEID = 0xc RLIMIT_AS = 0xa RLIMIT_CORE = 0x4 RLIMIT_CPU = 0x0 RLIMIT_DATA = 0x2 RLIMIT_FSIZE = 0x1 RLIMIT_MEMLOCK = 0x6 RLIMIT_NOFILE = 0x8 RLIMIT_NPROC = 0x7 RLIMIT_RSS = 0x5 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_FIXEDMTU = 0x80000 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_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_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_BLACKHOLE = 0x40 RT_DEFAULT_FIB = 0x0 RT_HAS_GW = 0x80 RT_HAS_HEADER = 0x10 RT_HAS_HEADER_BIT = 0x4 RT_L2_ME = 0x4 RT_L2_ME_BIT = 0x2 RT_LLE_CACHE = 0x100 RT_MAY_LOOP = 0x8 RT_MAY_LOOP_BIT = 0x3 RT_REJECT = 0x20 RUSAGE_CHILDREN = -0x1 RUSAGE_SELF = 0x0 RUSAGE_THREAD = 0x1 SCM_BINTIME = 0x4 SCM_CREDS = 0x3 SCM_MONOTONIC = 0x6 SCM_REALTIME = 0x5 SCM_RIGHTS = 0x1 SCM_TIMESTAMP = 0x2 SCM_TIME_INFO = 0x7 SEEK_CUR = 0x1 SEEK_DATA = 0x3 SEEK_END = 0x2 SEEK_HOLE = 0x4 SEEK_SET = 0x0 SHUT_RD = 0x0 SHUT_RDWR = 0x2 SHUT_WR = 0x1 SIOCADDMULTI = 0x80206931 SIOCAIFADDR = 0x8040691a SIOCAIFGROUP = 0x80246987 SIOCATMARK = 0x40047307 SIOCDELMULTI = 0x80206932 SIOCDIFADDR = 0x80206919 SIOCDIFGROUP = 0x80246989 SIOCDIFPHYADDR = 0x80206949 SIOCGDRVSPEC = 0xc01c697b SIOCGETSGCNT = 0xc0147210 SIOCGETVIFCNT = 0xc014720f SIOCGHIWAT = 0x40047301 SIOCGHWADDR = 0xc020693e SIOCGI2C = 0xc020693d SIOCGIFADDR = 0xc0206921 SIOCGIFALIAS = 0xc044692d SIOCGIFBRDADDR = 0xc0206923 SIOCGIFCAP = 0xc020691f SIOCGIFCONF = 0xc0086924 SIOCGIFDESCR = 0xc020692a SIOCGIFDOWNREASON = 0xc058699a 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 SIOCGIFRSSHASH = 0xc0186997 SIOCGIFRSSKEY = 0xc0946996 SIOCGIFSTATUS = 0xc331693b SIOCGIFXMEDIA = 0xc028698b SIOCGLANPCP = 0xc0206998 SIOCGLOWAT = 0x40047303 SIOCGPGRP = 0x40047309 SIOCGPRIVATE_0 = 0xc0206950 SIOCGPRIVATE_1 = 0xc0206951 SIOCGTUNFIB = 0xc020695e 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 SIOCSLANPCP = 0x80206999 SIOCSLOWAT = 0x80047302 SIOCSPGRP = 0x80047308 SIOCSTUNFIB = 0x8020695f 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_LOCAL = 0x0 SOL_SOCKET = 0xffff SOMAXCONN = 0x80 SO_ACCEPTCONN = 0x2 SO_ACCEPTFILTER = 0x1000 SO_BINTIME = 0x2000 SO_BROADCAST = 0x20 SO_DEBUG = 0x1 SO_DOMAIN = 0x1019 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_MAX_PACING_RATE = 0x1018 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_RERROR = 0x20000 SO_REUSEADDR = 0x4 SO_REUSEPORT = 0x200 SO_REUSEPORT_LB = 0x10000 SO_SETFIB = 0x1014 SO_SNDBUF = 0x1001 SO_SNDLOWAT = 0x1003 SO_SNDTIMEO = 0x1005 SO_TIMESTAMP = 0x400 SO_TS_BINTIME = 0x1 SO_TS_CLOCK = 0x1017 SO_TS_CLOCK_MAX = 0x3 SO_TS_DEFAULT = 0x0 SO_TS_MONOTONIC = 0x3 SO_TS_REALTIME = 0x2 SO_TS_REALTIME_MICRO = 0x0 SO_TYPE = 0x1008 SO_USELOOPBACK = 0x40 SO_USER_COOKIE = 0x1015 SO_VENDOR = 0x80000000 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 TAB0 = 0x0 TAB3 = 0x4 TABDLY = 0x4 TCIFLUSH = 0x1 TCIOFF = 0x3 TCIOFLUSH = 0x3 TCION = 0x4 TCOFLUSH = 0x2 TCOOFF = 0x1 TCOON = 0x2 TCPOPT_EOL = 0x0 TCPOPT_FAST_OPEN = 0x22 TCPOPT_MAXSEG = 0x2 TCPOPT_NOP = 0x1 TCPOPT_PAD = 0x0 TCPOPT_SACK = 0x5 TCPOPT_SACK_PERMITTED = 0x4 TCPOPT_SIGNATURE = 0x13 TCPOPT_TIMESTAMP = 0x8 TCPOPT_WINDOW = 0x3 TCP_BBR_ACK_COMP_ALG = 0x448 TCP_BBR_ALGORITHM = 0x43b TCP_BBR_DRAIN_INC_EXTRA = 0x43c TCP_BBR_DRAIN_PG = 0x42e TCP_BBR_EXTRA_GAIN = 0x449 TCP_BBR_EXTRA_STATE = 0x453 TCP_BBR_FLOOR_MIN_TSO = 0x454 TCP_BBR_HDWR_PACE = 0x451 TCP_BBR_HOLD_TARGET = 0x436 TCP_BBR_IWINTSO = 0x42b TCP_BBR_LOWGAIN_FD = 0x436 TCP_BBR_LOWGAIN_HALF = 0x435 TCP_BBR_LOWGAIN_THRESH = 0x434 TCP_BBR_MAX_RTO = 0x439 TCP_BBR_MIN_RTO = 0x438 TCP_BBR_MIN_TOPACEOUT = 0x455 TCP_BBR_ONE_RETRAN = 0x431 TCP_BBR_PACE_CROSS = 0x442 TCP_BBR_PACE_DEL_TAR = 0x43f TCP_BBR_PACE_OH = 0x435 TCP_BBR_PACE_PER_SEC = 0x43e TCP_BBR_PACE_SEG_MAX = 0x440 TCP_BBR_PACE_SEG_MIN = 0x441 TCP_BBR_POLICER_DETECT = 0x457 TCP_BBR_PROBE_RTT_GAIN = 0x44d TCP_BBR_PROBE_RTT_INT = 0x430 TCP_BBR_PROBE_RTT_LEN = 0x44e TCP_BBR_RACK_RTT_USE = 0x44a TCP_BBR_RECFORCE = 0x42c TCP_BBR_REC_OVER_HPTS = 0x43a TCP_BBR_RETRAN_WTSO = 0x44b TCP_BBR_RWND_IS_APP = 0x42f TCP_BBR_SEND_IWND_IN_TSO = 0x44f TCP_BBR_STARTUP_EXIT_EPOCH = 0x43d TCP_BBR_STARTUP_LOSS_EXIT = 0x432 TCP_BBR_STARTUP_PG = 0x42d TCP_BBR_TMR_PACE_OH = 0x448 TCP_BBR_TSLIMITS = 0x434 TCP_BBR_TSTMP_RAISES = 0x456 TCP_BBR_UNLIMITED = 0x43b TCP_BBR_USEDEL_RATE = 0x437 TCP_BBR_USE_LOWGAIN = 0x433 TCP_BBR_USE_RACK_CHEAT = 0x450 TCP_BBR_UTTER_MAX_TSO = 0x452 TCP_CA_NAME_MAX = 0x10 TCP_CCALGOOPT = 0x41 TCP_CONGESTION = 0x40 TCP_DATA_AFTER_CLOSE = 0x44c TCP_DELACK = 0x48 TCP_FASTOPEN = 0x401 TCP_FASTOPEN_MAX_COOKIE_LEN = 0x10 TCP_FASTOPEN_MIN_COOKIE_LEN = 0x4 TCP_FASTOPEN_PSK_LEN = 0x10 TCP_FUNCTION_BLK = 0x2000 TCP_FUNCTION_NAME_LEN_MAX = 0x20 TCP_INFO = 0x20 TCP_KEEPCNT = 0x400 TCP_KEEPIDLE = 0x100 TCP_KEEPINIT = 0x80 TCP_KEEPINTVL = 0x200 TCP_LOG = 0x22 TCP_LOGBUF = 0x23 TCP_LOGDUMP = 0x25 TCP_LOGDUMPID = 0x26 TCP_LOGID = 0x24 TCP_LOG_ID_LEN = 0x40 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_PCAP_IN = 0x1000 TCP_PCAP_OUT = 0x800 TCP_RACK_EARLY_RECOV = 0x423 TCP_RACK_EARLY_SEG = 0x424 TCP_RACK_GP_INCREASE = 0x446 TCP_RACK_IDLE_REDUCE_HIGH = 0x444 TCP_RACK_MIN_PACE = 0x445 TCP_RACK_MIN_PACE_SEG = 0x446 TCP_RACK_MIN_TO = 0x422 TCP_RACK_PACE_ALWAYS = 0x41f TCP_RACK_PACE_MAX_SEG = 0x41e TCP_RACK_PACE_REDUCE = 0x41d TCP_RACK_PKT_DELAY = 0x428 TCP_RACK_PROP = 0x41b TCP_RACK_PROP_RATE = 0x420 TCP_RACK_PRR_SENDALOT = 0x421 TCP_RACK_REORD_FADE = 0x426 TCP_RACK_REORD_THRESH = 0x425 TCP_RACK_TLP_INC_VAR = 0x429 TCP_RACK_TLP_REDUCE = 0x41c TCP_RACK_TLP_THRESH = 0x427 TCP_RACK_TLP_USE = 0x447 TCP_VENDOR = 0x80000000 TCSAFLUSH = 0x2 TIMER_ABSTIME = 0x1 TIMER_RELTIME = 0x0 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 UTIME_NOW = -0x1 UTIME_OMIT = -0x2 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) EINTEGRITY = syscall.Errno(0x61) EINTR = syscall.Errno(0x4) EINVAL = syscall.Errno(0x16) EIO = syscall.Errno(0x5) EISCONN = syscall.Errno(0x38) EISDIR = syscall.Errno(0x15) ELAST = syscall.Errno(0x61) 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 errorList = [...]struct { num syscall.Errno name string desc string }{ {1, "EPERM", "operation not permitted"}, {2, "ENOENT", "no such file or directory"}, {3, "ESRCH", "no such process"}, {4, "EINTR", "interrupted system call"}, {5, "EIO", "input/output error"}, {6, "ENXIO", "device not configured"}, {7, "E2BIG", "argument list too long"}, {8, "ENOEXEC", "exec format error"}, {9, "EBADF", "bad file descriptor"}, {10, "ECHILD", "no child processes"}, {11, "EDEADLK", "resource deadlock avoided"}, {12, "ENOMEM", "cannot allocate memory"}, {13, "EACCES", "permission denied"}, {14, "EFAULT", "bad address"}, {15, "ENOTBLK", "block device required"}, {16, "EBUSY", "device busy"}, {17, "EEXIST", "file exists"}, {18, "EXDEV", "cross-device link"}, {19, "ENODEV", "operation not supported by device"}, {20, "ENOTDIR", "not a directory"}, {21, "EISDIR", "is a directory"}, {22, "EINVAL", "invalid argument"}, {23, "ENFILE", "too many open files in system"}, {24, "EMFILE", "too many open files"}, {25, "ENOTTY", "inappropriate ioctl for device"}, {26, "ETXTBSY", "text file busy"}, {27, "EFBIG", "file too large"}, {28, "ENOSPC", "no space left on device"}, {29, "ESPIPE", "illegal seek"}, {30, "EROFS", "read-only file system"}, {31, "EMLINK", "too many links"}, {32, "EPIPE", "broken pipe"}, {33, "EDOM", "numerical argument out of domain"}, {34, "ERANGE", "result too large"}, {35, "EWOULDBLOCK", "resource temporarily unavailable"}, {36, "EINPROGRESS", "operation now in progress"}, {37, "EALREADY", "operation already in progress"}, {38, "ENOTSOCK", "socket operation on non-socket"}, {39, "EDESTADDRREQ", "destination address required"}, {40, "EMSGSIZE", "message too long"}, {41, "EPROTOTYPE", "protocol wrong type for socket"}, {42, "ENOPROTOOPT", "protocol not available"}, {43, "EPROTONOSUPPORT", "protocol not supported"}, {44, "ESOCKTNOSUPPORT", "socket type not supported"}, {45, "EOPNOTSUPP", "operation not supported"}, {46, "EPFNOSUPPORT", "protocol family not supported"}, {47, "EAFNOSUPPORT", "address family not supported by protocol family"}, {48, "EADDRINUSE", "address already in use"}, {49, "EADDRNOTAVAIL", "can't assign requested address"}, {50, "ENETDOWN", "network is down"}, {51, "ENETUNREACH", "network is unreachable"}, {52, "ENETRESET", "network dropped connection on reset"}, {53, "ECONNABORTED", "software caused connection abort"}, {54, "ECONNRESET", "connection reset by peer"}, {55, "ENOBUFS", "no buffer space available"}, {56, "EISCONN", "socket is already connected"}, {57, "ENOTCONN", "socket is not connected"}, {58, "ESHUTDOWN", "can't send after socket shutdown"}, {59, "ETOOMANYREFS", "too many references: can't splice"}, {60, "ETIMEDOUT", "operation timed out"}, {61, "ECONNREFUSED", "connection refused"}, {62, "ELOOP", "too many levels of symbolic links"}, {63, "ENAMETOOLONG", "file name too long"}, {64, "EHOSTDOWN", "host is down"}, {65, "EHOSTUNREACH", "no route to host"}, {66, "ENOTEMPTY", "directory not empty"}, {67, "EPROCLIM", "too many processes"}, {68, "EUSERS", "too many users"}, {69, "EDQUOT", "disc quota exceeded"}, {70, "ESTALE", "stale NFS file handle"}, {71, "EREMOTE", "too many levels of remote in path"}, {72, "EBADRPC", "RPC struct is bad"}, {73, "ERPCMISMATCH", "RPC version wrong"}, {74, "EPROGUNAVAIL", "RPC prog. not avail"}, {75, "EPROGMISMATCH", "program version wrong"}, {76, "EPROCUNAVAIL", "bad procedure for program"}, {77, "ENOLCK", "no locks available"}, {78, "ENOSYS", "function not implemented"}, {79, "EFTYPE", "inappropriate file type or format"}, {80, "EAUTH", "authentication error"}, {81, "ENEEDAUTH", "need authenticator"}, {82, "EIDRM", "identifier removed"}, {83, "ENOMSG", "no message of desired type"}, {84, "EOVERFLOW", "value too large to be stored in data type"}, {85, "ECANCELED", "operation canceled"}, {86, "EILSEQ", "illegal byte sequence"}, {87, "ENOATTR", "attribute not found"}, {88, "EDOOFUS", "programming error"}, {89, "EBADMSG", "bad message"}, {90, "EMULTIHOP", "multihop attempted"}, {91, "ENOLINK", "link has been severed"}, {92, "EPROTO", "protocol error"}, {93, "ENOTCAPABLE", "capabilities insufficient"}, {94, "ECAPMODE", "not permitted in capability mode"}, {95, "ENOTRECOVERABLE", "state not recoverable"}, {96, "EOWNERDEAD", "previous owner died"}, {97, "EINTEGRITY", "integrity check failed"}, } // Signal table var signalList = [...]struct { num syscall.Signal name string desc string }{ {1, "SIGHUP", "hangup"}, {2, "SIGINT", "interrupt"}, {3, "SIGQUIT", "quit"}, {4, "SIGILL", "illegal instruction"}, {5, "SIGTRAP", "trace/BPT trap"}, {6, "SIGIOT", "abort trap"}, {7, "SIGEMT", "EMT trap"}, {8, "SIGFPE", "floating point exception"}, {9, "SIGKILL", "killed"}, {10, "SIGBUS", "bus error"}, {11, "SIGSEGV", "segmentation fault"}, {12, "SIGSYS", "bad system call"}, {13, "SIGPIPE", "broken pipe"}, {14, "SIGALRM", "alarm clock"}, {15, "SIGTERM", "terminated"}, {16, "SIGURG", "urgent I/O condition"}, {17, "SIGSTOP", "suspended (signal)"}, {18, "SIGTSTP", "suspended"}, {19, "SIGCONT", "continued"}, {20, "SIGCHLD", "child exited"}, {21, "SIGTTIN", "stopped (tty input)"}, {22, "SIGTTOU", "stopped (tty output)"}, {23, "SIGIO", "I/O possible"}, {24, "SIGXCPU", "cputime limit exceeded"}, {25, "SIGXFSZ", "filesize limit exceeded"}, {26, "SIGVTALRM", "virtual timer expired"}, {27, "SIGPROF", "profiling timer expired"}, {28, "SIGWINCH", "window size changes"}, {29, "SIGINFO", "information request"}, {30, "SIGUSR1", "user defined signal 1"}, {31, "SIGUSR2", "user defined signal 2"}, {32, "SIGTHR", "unknown signal"}, {33, "SIGLIBRT", "unknown signal"}, } dependencies/pkg/mod/golang.org/x/sys@v0.26.0/unix/zerrors_linux_ppc64le.go0000644000000000000000000011240715107355264025427 0ustar rootroot// mkerrors.sh -Wall -Werror -static -I/tmp/ppc64le/include // Code generated by the command above; see README.md. DO NOT EDIT. //go:build ppc64le && linux // Code generated by cmd/cgo -godefs; DO NOT EDIT. // cgo -godefs -- -Wall -Werror -static -I/tmp/ppc64le/include _const.go package unix import "syscall" const ( B1000000 = 0x17 B115200 = 0x11 B1152000 = 0x18 B1500000 = 0x19 B2000000 = 0x1a B230400 = 0x12 B2500000 = 0x1b B3000000 = 0x1c B3500000 = 0x1d B4000000 = 0x1e B460800 = 0x13 B500000 = 0x14 B57600 = 0x10 B576000 = 0x15 B921600 = 0x16 BLKALIGNOFF = 0x2000127a BLKBSZGET = 0x40081270 BLKBSZSET = 0x80081271 BLKDISCARD = 0x20001277 BLKDISCARDZEROES = 0x2000127c BLKFLSBUF = 0x20001261 BLKFRAGET = 0x20001265 BLKFRASET = 0x20001264 BLKGETDISKSEQ = 0x40081280 BLKGETSIZE = 0x20001260 BLKGETSIZE64 = 0x40081272 BLKIOMIN = 0x20001278 BLKIOOPT = 0x20001279 BLKPBSZGET = 0x2000127b BLKRAGET = 0x20001263 BLKRASET = 0x20001262 BLKROGET = 0x2000125e BLKROSET = 0x2000125d BLKROTATIONAL = 0x2000127e BLKRRPART = 0x2000125f BLKSECDISCARD = 0x2000127d BLKSECTGET = 0x20001267 BLKSECTSET = 0x20001266 BLKSSZGET = 0x20001268 BLKZEROOUT = 0x2000127f BOTHER = 0x1f BS1 = 0x8000 BSDLY = 0x8000 CBAUD = 0xff CBAUDEX = 0x0 CIBAUD = 0xff0000 CLOCAL = 0x8000 CR1 = 0x1000 CR2 = 0x2000 CR3 = 0x3000 CRDLY = 0x3000 CREAD = 0x800 CS6 = 0x100 CS7 = 0x200 CS8 = 0x300 CSIZE = 0x300 CSTOPB = 0x400 ECCGETLAYOUT = 0x41484d11 ECCGETSTATS = 0x40104d12 ECHOCTL = 0x40 ECHOE = 0x2 ECHOK = 0x4 ECHOKE = 0x1 ECHONL = 0x10 ECHOPRT = 0x20 EFD_CLOEXEC = 0x80000 EFD_NONBLOCK = 0x800 EPIOCGPARAMS = 0x40088a02 EPIOCSPARAMS = 0x80088a01 EPOLL_CLOEXEC = 0x80000 EXTPROC = 0x10000000 FF1 = 0x4000 FFDLY = 0x4000 FICLONE = 0x80049409 FICLONERANGE = 0x8020940d FLUSHO = 0x800000 FS_IOC_ENABLE_VERITY = 0x80806685 FS_IOC_GETFLAGS = 0x40086601 FS_IOC_GET_ENCRYPTION_NONCE = 0x4010661b FS_IOC_GET_ENCRYPTION_POLICY = 0x800c6615 FS_IOC_GET_ENCRYPTION_PWSALT = 0x80106614 FS_IOC_SETFLAGS = 0x80086602 FS_IOC_SET_ENCRYPTION_POLICY = 0x400c6613 F_GETLK = 0x5 F_GETLK64 = 0xc F_GETOWN = 0x9 F_RDLCK = 0x0 F_SETLK = 0x6 F_SETLK64 = 0xd F_SETLKW = 0x7 F_SETLKW64 = 0xe F_SETOWN = 0x8 F_UNLCK = 0x2 F_WRLCK = 0x1 HIDIOCGRAWINFO = 0x40084803 HIDIOCGRDESC = 0x50044802 HIDIOCGRDESCSIZE = 0x40044801 HUPCL = 0x4000 ICANON = 0x100 IEXTEN = 0x400 IN_CLOEXEC = 0x80000 IN_NONBLOCK = 0x800 IOCTL_VM_SOCKETS_GET_LOCAL_CID = 0x200007b9 ISIG = 0x80 IUCLC = 0x1000 IXOFF = 0x400 IXON = 0x200 MAP_ANON = 0x20 MAP_ANONYMOUS = 0x20 MAP_DENYWRITE = 0x800 MAP_EXECUTABLE = 0x1000 MAP_GROWSDOWN = 0x100 MAP_HUGETLB = 0x40000 MAP_LOCKED = 0x80 MAP_NONBLOCK = 0x10000 MAP_NORESERVE = 0x40 MAP_POPULATE = 0x8000 MAP_STACK = 0x20000 MAP_SYNC = 0x80000 MCL_CURRENT = 0x2000 MCL_FUTURE = 0x4000 MCL_ONFAULT = 0x8000 MEMERASE = 0x80084d02 MEMERASE64 = 0x80104d14 MEMGETBADBLOCK = 0x80084d0b MEMGETINFO = 0x40204d01 MEMGETOOBSEL = 0x40c84d0a MEMGETREGIONCOUNT = 0x40044d07 MEMISLOCKED = 0x40084d17 MEMLOCK = 0x80084d05 MEMREAD = 0xc0404d1a MEMREADOOB = 0xc0104d04 MEMSETBADBLOCK = 0x80084d0c MEMUNLOCK = 0x80084d06 MEMWRITEOOB = 0xc0104d03 MTDFILEMODE = 0x20004d13 NFDBITS = 0x40 NL2 = 0x200 NL3 = 0x300 NLDLY = 0x300 NOFLSH = 0x80000000 NS_GET_MNTNS_ID = 0x4008b705 NS_GET_NSTYPE = 0x2000b703 NS_GET_OWNER_UID = 0x2000b704 NS_GET_PARENT = 0x2000b702 NS_GET_PID_FROM_PIDNS = 0x4004b706 NS_GET_PID_IN_PIDNS = 0x4004b708 NS_GET_TGID_FROM_PIDNS = 0x4004b707 NS_GET_TGID_IN_PIDNS = 0x4004b709 NS_GET_USERNS = 0x2000b701 OLCUC = 0x4 ONLCR = 0x2 OTPERASE = 0x800c4d19 OTPGETREGIONCOUNT = 0x80044d0e OTPGETREGIONINFO = 0x800c4d0f OTPLOCK = 0x400c4d10 OTPSELECT = 0x40044d0d 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_RSYNC = 0x101000 O_SYNC = 0x101000 O_TMPFILE = 0x404000 O_TRUNC = 0x200 PARENB = 0x1000 PARODD = 0x2000 PENDIN = 0x20000000 PERF_EVENT_IOC_DISABLE = 0x20002401 PERF_EVENT_IOC_ENABLE = 0x20002400 PERF_EVENT_IOC_ID = 0x40082407 PERF_EVENT_IOC_MODIFY_ATTRIBUTES = 0x8008240b PERF_EVENT_IOC_PAUSE_OUTPUT = 0x80042409 PERF_EVENT_IOC_PERIOD = 0x80082404 PERF_EVENT_IOC_QUERY_BPF = 0xc008240a PERF_EVENT_IOC_REFRESH = 0x20002402 PERF_EVENT_IOC_RESET = 0x20002403 PERF_EVENT_IOC_SET_BPF = 0x80042408 PERF_EVENT_IOC_SET_FILTER = 0x80082406 PERF_EVENT_IOC_SET_OUTPUT = 0x20002405 PPPIOCATTACH = 0x8004743d PPPIOCATTCHAN = 0x80047438 PPPIOCBRIDGECHAN = 0x80047435 PPPIOCCONNECT = 0x8004743a PPPIOCDETACH = 0x8004743c PPPIOCDISCONN = 0x20007439 PPPIOCGASYNCMAP = 0x40047458 PPPIOCGCHAN = 0x40047437 PPPIOCGDEBUG = 0x40047441 PPPIOCGFLAGS = 0x4004745a PPPIOCGIDLE = 0x4010743f PPPIOCGIDLE32 = 0x4008743f PPPIOCGIDLE64 = 0x4010743f PPPIOCGL2TPSTATS = 0x40487436 PPPIOCGMRU = 0x40047453 PPPIOCGRASYNCMAP = 0x40047455 PPPIOCGUNIT = 0x40047456 PPPIOCGXASYNCMAP = 0x40207450 PPPIOCSACTIVE = 0x80107446 PPPIOCSASYNCMAP = 0x80047457 PPPIOCSCOMPRESS = 0x8010744d PPPIOCSDEBUG = 0x80047440 PPPIOCSFLAGS = 0x80047459 PPPIOCSMAXCID = 0x80047451 PPPIOCSMRRU = 0x8004743b PPPIOCSMRU = 0x80047452 PPPIOCSNPMODE = 0x8008744b PPPIOCSPASS = 0x80107447 PPPIOCSRASYNCMAP = 0x80047454 PPPIOCSXASYNCMAP = 0x8020744f PPPIOCUNBRIDGECHAN = 0x20007434 PPPIOCXFERUNIT = 0x2000744e PROT_SAO = 0x10 PR_SET_PTRACER_ANY = 0xffffffffffffffff PTRACE_GETEVRREGS = 0x14 PTRACE_GETFPREGS = 0xe PTRACE_GETREGS64 = 0x16 PTRACE_GETVRREGS = 0x12 PTRACE_GETVSRREGS = 0x1b PTRACE_GET_DEBUGREG = 0x19 PTRACE_SETEVRREGS = 0x15 PTRACE_SETFPREGS = 0xf PTRACE_SETREGS64 = 0x17 PTRACE_SETVRREGS = 0x13 PTRACE_SETVSRREGS = 0x1c PTRACE_SET_DEBUGREG = 0x1a PTRACE_SINGLEBLOCK = 0x100 PTRACE_SYSEMU = 0x1d PTRACE_SYSEMU_SINGLESTEP = 0x1e 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_MEMLOCK = 0x8 RLIMIT_NOFILE = 0x7 RLIMIT_NPROC = 0x6 RLIMIT_RSS = 0x5 RNDADDENTROPY = 0x80085203 RNDADDTOENTCNT = 0x80045201 RNDCLEARPOOL = 0x20005206 RNDGETENTCNT = 0x40045200 RNDGETPOOL = 0x40085202 RNDRESEEDCRNG = 0x20005207 RNDZAPENTCNT = 0x20005204 RTC_AIE_OFF = 0x20007002 RTC_AIE_ON = 0x20007001 RTC_ALM_READ = 0x40247008 RTC_ALM_SET = 0x80247007 RTC_EPOCH_READ = 0x4008700d RTC_EPOCH_SET = 0x8008700e RTC_IRQP_READ = 0x4008700b RTC_IRQP_SET = 0x8008700c RTC_PARAM_GET = 0x80187013 RTC_PARAM_SET = 0x80187014 RTC_PIE_OFF = 0x20007006 RTC_PIE_ON = 0x20007005 RTC_PLL_GET = 0x40207011 RTC_PLL_SET = 0x80207012 RTC_RD_TIME = 0x40247009 RTC_SET_TIME = 0x8024700a RTC_UIE_OFF = 0x20007004 RTC_UIE_ON = 0x20007003 RTC_VL_CLR = 0x20007014 RTC_VL_READ = 0x40047013 RTC_WIE_OFF = 0x20007010 RTC_WIE_ON = 0x2000700f RTC_WKALM_RD = 0x40287010 RTC_WKALM_SET = 0x8028700f SCM_TIMESTAMPING = 0x25 SCM_TIMESTAMPING_OPT_STATS = 0x36 SCM_TIMESTAMPING_PKTINFO = 0x3a SCM_TIMESTAMPNS = 0x23 SCM_TXTIME = 0x3d SCM_WIFI_STATUS = 0x29 SECCOMP_IOCTL_NOTIF_ADDFD = 0x80182103 SECCOMP_IOCTL_NOTIF_ID_VALID = 0x80082102 SECCOMP_IOCTL_NOTIF_SET_FLAGS = 0x80082104 SFD_CLOEXEC = 0x80000 SFD_NONBLOCK = 0x800 SIOCATMARK = 0x8905 SIOCGPGRP = 0x8904 SIOCGSTAMPNS_NEW = 0x40108907 SIOCGSTAMP_NEW = 0x40108906 SIOCINQ = 0x4004667f SIOCOUTQ = 0x40047473 SIOCSPGRP = 0x8902 SOCK_CLOEXEC = 0x80000 SOCK_DGRAM = 0x2 SOCK_NONBLOCK = 0x800 SOCK_STREAM = 0x1 SOL_SOCKET = 0x1 SO_ACCEPTCONN = 0x1e SO_ATTACH_BPF = 0x32 SO_ATTACH_REUSEPORT_CBPF = 0x33 SO_ATTACH_REUSEPORT_EBPF = 0x34 SO_BINDTODEVICE = 0x19 SO_BINDTOIFINDEX = 0x3e SO_BPF_EXTENSIONS = 0x30 SO_BROADCAST = 0x6 SO_BSDCOMPAT = 0xe SO_BUF_LOCK = 0x48 SO_BUSY_POLL = 0x2e SO_BUSY_POLL_BUDGET = 0x46 SO_CNX_ADVICE = 0x35 SO_COOKIE = 0x39 SO_DETACH_REUSEPORT_BPF = 0x44 SO_DOMAIN = 0x27 SO_DONTROUTE = 0x5 SO_ERROR = 0x4 SO_INCOMING_CPU = 0x31 SO_INCOMING_NAPI_ID = 0x38 SO_KEEPALIVE = 0x9 SO_LINGER = 0xd SO_LOCK_FILTER = 0x2c SO_MARK = 0x24 SO_MAX_PACING_RATE = 0x2f SO_MEMINFO = 0x37 SO_NETNS_COOKIE = 0x47 SO_NOFCS = 0x2b SO_OOBINLINE = 0xa SO_PASSCRED = 0x14 SO_PASSPIDFD = 0x4c SO_PASSSEC = 0x22 SO_PEEK_OFF = 0x2a SO_PEERCRED = 0x15 SO_PEERGROUPS = 0x3b SO_PEERPIDFD = 0x4d SO_PEERSEC = 0x1f SO_PREFER_BUSY_POLL = 0x45 SO_PROTOCOL = 0x26 SO_RCVBUF = 0x8 SO_RCVBUFFORCE = 0x21 SO_RCVLOWAT = 0x10 SO_RCVMARK = 0x4b SO_RCVTIMEO = 0x12 SO_RCVTIMEO_NEW = 0x42 SO_RCVTIMEO_OLD = 0x12 SO_RESERVE_MEM = 0x49 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_SNDTIMEO_NEW = 0x43 SO_SNDTIMEO_OLD = 0x13 SO_TIMESTAMPING = 0x25 SO_TIMESTAMPING_NEW = 0x41 SO_TIMESTAMPING_OLD = 0x25 SO_TIMESTAMPNS = 0x23 SO_TIMESTAMPNS_NEW = 0x40 SO_TIMESTAMPNS_OLD = 0x23 SO_TIMESTAMP_NEW = 0x3f SO_TXREHASH = 0x4a SO_TXTIME = 0x3d SO_TYPE = 0x3 SO_WIFI_STATUS = 0x29 SO_ZEROCOPY = 0x3c TAB1 = 0x400 TAB2 = 0x800 TAB3 = 0xc00 TABDLY = 0xc00 TCFLSH = 0x2000741f TCGETA = 0x40147417 TCGETS = 0x402c7413 TCSAFLUSH = 0x2 TCSBRK = 0x2000741d TCSBRKP = 0x5425 TCSETA = 0x80147418 TCSETAF = 0x8014741c TCSETAW = 0x80147419 TCSETS = 0x802c7414 TCSETSF = 0x802c7416 TCSETSW = 0x802c7415 TCXONC = 0x2000741e TFD_CLOEXEC = 0x80000 TFD_NONBLOCK = 0x800 TIOCCBRK = 0x5428 TIOCCONS = 0x541d TIOCEXCL = 0x540c TIOCGDEV = 0x40045432 TIOCGETC = 0x40067412 TIOCGETD = 0x5424 TIOCGETP = 0x40067408 TIOCGEXCL = 0x40045440 TIOCGICOUNT = 0x545d TIOCGISO7816 = 0x40285442 TIOCGLCKTRMIOS = 0x5456 TIOCGLTC = 0x40067474 TIOCGPGRP = 0x40047477 TIOCGPKT = 0x40045438 TIOCGPTLCK = 0x40045439 TIOCGPTN = 0x40045430 TIOCGPTPEER = 0x20005441 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_LOOP = 0x8000 TIOCM_OUT1 = 0x2000 TIOCM_OUT2 = 0x4000 TIOCM_RI = 0x80 TIOCM_RNG = 0x80 TIOCM_SR = 0x10 TIOCM_ST = 0x8 TIOCNOTTY = 0x5422 TIOCNXCL = 0x540d TIOCOUTQ = 0x40047473 TIOCPKT = 0x5420 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 TIOCSISO7816 = 0xc0285443 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 TUNGETDEVNETNS = 0x200054e3 TUNGETFEATURES = 0x400454cf TUNGETFILTER = 0x401054db TUNGETIFF = 0x400454d2 TUNGETSNDBUF = 0x400454d3 TUNGETVNETBE = 0x400454df TUNGETVNETHDRSZ = 0x400454d7 TUNGETVNETLE = 0x400454dd TUNSETCARRIER = 0x800454e2 TUNSETDEBUG = 0x800454c9 TUNSETFILTEREBPF = 0x400454e1 TUNSETGROUP = 0x800454ce TUNSETIFF = 0x800454ca TUNSETIFINDEX = 0x800454da TUNSETLINK = 0x800454cd TUNSETNOCSUM = 0x800454c8 TUNSETOFFLOAD = 0x800454d0 TUNSETOWNER = 0x800454cc TUNSETPERSIST = 0x800454cb TUNSETQUEUE = 0x800454d9 TUNSETSNDBUF = 0x800454d4 TUNSETSTEERINGEBPF = 0x400454e0 TUNSETTXFILTER = 0x800454d1 TUNSETVNETBE = 0x800454de TUNSETVNETHDRSZ = 0x800454d8 TUNSETVNETLE = 0x800454dc UBI_IOCATT = 0x80186f40 UBI_IOCDET = 0x80046f41 UBI_IOCEBCH = 0x80044f02 UBI_IOCEBER = 0x80044f01 UBI_IOCEBISMAP = 0x40044f05 UBI_IOCEBMAP = 0x80084f03 UBI_IOCEBUNMAP = 0x80044f04 UBI_IOCMKVOL = 0x80986f00 UBI_IOCRMVOL = 0x80046f01 UBI_IOCRNVOL = 0x91106f03 UBI_IOCRPEB = 0x80046f04 UBI_IOCRSVOL = 0x800c6f02 UBI_IOCSETVOLPROP = 0x80104f06 UBI_IOCSPEB = 0x80046f05 UBI_IOCVOLCRBLK = 0x80804f07 UBI_IOCVOLRMBLK = 0x20004f08 UBI_IOCVOLUP = 0x80084f00 VDISCARD = 0x10 VEOF = 0x4 VEOL = 0x6 VEOL2 = 0x8 VMIN = 0x5 VREPRINT = 0xb VSTART = 0xd VSTOP = 0xe VSUSP = 0xc VSWTC = 0x9 VT1 = 0x10000 VTDLY = 0x10000 VTIME = 0x7 VWERASE = 0xa WDIOC_GETBOOTSTATUS = 0x40045702 WDIOC_GETPRETIMEOUT = 0x40045709 WDIOC_GETSTATUS = 0x40045701 WDIOC_GETSUPPORT = 0x40285700 WDIOC_GETTEMP = 0x40045703 WDIOC_GETTIMELEFT = 0x4004570a WDIOC_GETTIMEOUT = 0x40045707 WDIOC_KEEPALIVE = 0x40045705 WDIOC_SETOPTIONS = 0x40045704 WORDSIZE = 0x40 XCASE = 0x4000 XTABS = 0xc00 _HIDIOCGRAWNAME = 0x40804804 _HIDIOCGRAWPHYS = 0x40404805 _HIDIOCGRAWUNIQ = 0x40404808 ) // Errors const ( EADDRINUSE = syscall.Errno(0x62) EADDRNOTAVAIL = syscall.Errno(0x63) EADV = syscall.Errno(0x44) EAFNOSUPPORT = syscall.Errno(0x61) EALREADY = syscall.Errno(0x72) EBADE = syscall.Errno(0x34) EBADFD = syscall.Errno(0x4d) EBADMSG = syscall.Errno(0x4a) EBADR = syscall.Errno(0x35) EBADRQC = syscall.Errno(0x38) EBADSLT = syscall.Errno(0x39) EBFONT = syscall.Errno(0x3b) ECANCELED = syscall.Errno(0x7d) 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) EDOTDOT = syscall.Errno(0x49) EDQUOT = syscall.Errno(0x7a) EHOSTDOWN = syscall.Errno(0x70) EHOSTUNREACH = syscall.Errno(0x71) EHWPOISON = syscall.Errno(0x85) EIDRM = syscall.Errno(0x2b) EILSEQ = syscall.Errno(0x54) EINPROGRESS = syscall.Errno(0x73) EISCONN = syscall.Errno(0x6a) 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) 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) ENOANO = syscall.Errno(0x37) ENOBUFS = syscall.Errno(0x69) ENOCSI = syscall.Errno(0x32) ENODATA = syscall.Errno(0x3d) ENOKEY = syscall.Errno(0x7e) ENOLCK = syscall.Errno(0x25) ENOLINK = syscall.Errno(0x43) ENOMEDIUM = syscall.Errno(0x7b) ENOMSG = syscall.Errno(0x2a) ENONET = syscall.Errno(0x40) ENOPKG = syscall.Errno(0x41) ENOPROTOOPT = syscall.Errno(0x5c) ENOSR = syscall.Errno(0x3f) ENOSTR = syscall.Errno(0x3c) ENOSYS = syscall.Errno(0x26) ENOTCONN = syscall.Errno(0x6b) ENOTEMPTY = syscall.Errno(0x27) ENOTNAM = syscall.Errno(0x76) ENOTRECOVERABLE = syscall.Errno(0x83) ENOTSOCK = syscall.Errno(0x58) ENOTSUP = syscall.Errno(0x5f) ENOTUNIQ = syscall.Errno(0x4c) EOPNOTSUPP = syscall.Errno(0x5f) EOVERFLOW = syscall.Errno(0x4b) EOWNERDEAD = syscall.Errno(0x82) EPFNOSUPPORT = syscall.Errno(0x60) EPROTO = syscall.Errno(0x47) EPROTONOSUPPORT = syscall.Errno(0x5d) EPROTOTYPE = syscall.Errno(0x5b) EREMCHG = syscall.Errno(0x4e) EREMOTE = syscall.Errno(0x42) EREMOTEIO = syscall.Errno(0x79) ERESTART = syscall.Errno(0x55) ERFKILL = syscall.Errno(0x84) ESHUTDOWN = syscall.Errno(0x6c) ESOCKTNOSUPPORT = syscall.Errno(0x5e) ESRMNT = syscall.Errno(0x45) ESTALE = syscall.Errno(0x74) ESTRPIPE = syscall.Errno(0x56) ETIME = syscall.Errno(0x3e) ETIMEDOUT = syscall.Errno(0x6e) ETOOMANYREFS = syscall.Errno(0x6d) EUCLEAN = syscall.Errno(0x75) EUNATCH = syscall.Errno(0x31) EUSERS = syscall.Errno(0x57) EXFULL = syscall.Errno(0x36) ) // Signals const ( SIGBUS = syscall.Signal(0x7) SIGCHLD = syscall.Signal(0x11) SIGCLD = syscall.Signal(0x11) SIGCONT = syscall.Signal(0x12) SIGIO = syscall.Signal(0x1d) SIGPOLL = syscall.Signal(0x1d) SIGPROF = syscall.Signal(0x1b) SIGPWR = syscall.Signal(0x1e) SIGSTKFLT = syscall.Signal(0x10) SIGSTOP = syscall.Signal(0x13) SIGSYS = syscall.Signal(0x1f) SIGTSTP = syscall.Signal(0x14) SIGTTIN = syscall.Signal(0x15) SIGTTOU = syscall.Signal(0x16) 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 errorList = [...]struct { num syscall.Errno name string desc string }{ {1, "EPERM", "operation not permitted"}, {2, "ENOENT", "no such file or directory"}, {3, "ESRCH", "no such process"}, {4, "EINTR", "interrupted system call"}, {5, "EIO", "input/output error"}, {6, "ENXIO", "no such device or address"}, {7, "E2BIG", "argument list too long"}, {8, "ENOEXEC", "exec format error"}, {9, "EBADF", "bad file descriptor"}, {10, "ECHILD", "no child processes"}, {11, "EAGAIN", "resource temporarily unavailable"}, {12, "ENOMEM", "cannot allocate memory"}, {13, "EACCES", "permission denied"}, {14, "EFAULT", "bad address"}, {15, "ENOTBLK", "block device required"}, {16, "EBUSY", "device or resource busy"}, {17, "EEXIST", "file exists"}, {18, "EXDEV", "invalid cross-device link"}, {19, "ENODEV", "no such device"}, {20, "ENOTDIR", "not a directory"}, {21, "EISDIR", "is a directory"}, {22, "EINVAL", "invalid argument"}, {23, "ENFILE", "too many open files in system"}, {24, "EMFILE", "too many open files"}, {25, "ENOTTY", "inappropriate ioctl for device"}, {26, "ETXTBSY", "text file busy"}, {27, "EFBIG", "file too large"}, {28, "ENOSPC", "no space left on device"}, {29, "ESPIPE", "illegal seek"}, {30, "EROFS", "read-only file system"}, {31, "EMLINK", "too many links"}, {32, "EPIPE", "broken pipe"}, {33, "EDOM", "numerical argument out of domain"}, {34, "ERANGE", "numerical result out of range"}, {35, "EDEADLK", "resource deadlock avoided"}, {36, "ENAMETOOLONG", "file name too long"}, {37, "ENOLCK", "no locks available"}, {38, "ENOSYS", "function not implemented"}, {39, "ENOTEMPTY", "directory not empty"}, {40, "ELOOP", "too many levels of symbolic links"}, {42, "ENOMSG", "no message of desired type"}, {43, "EIDRM", "identifier removed"}, {44, "ECHRNG", "channel number out of range"}, {45, "EL2NSYNC", "level 2 not synchronized"}, {46, "EL3HLT", "level 3 halted"}, {47, "EL3RST", "level 3 reset"}, {48, "ELNRNG", "link number out of range"}, {49, "EUNATCH", "protocol driver not attached"}, {50, "ENOCSI", "no CSI structure available"}, {51, "EL2HLT", "level 2 halted"}, {52, "EBADE", "invalid exchange"}, {53, "EBADR", "invalid request descriptor"}, {54, "EXFULL", "exchange full"}, {55, "ENOANO", "no anode"}, {56, "EBADRQC", "invalid request code"}, {57, "EBADSLT", "invalid slot"}, {58, "EDEADLOCK", "file locking deadlock error"}, {59, "EBFONT", "bad font file format"}, {60, "ENOSTR", "device not a stream"}, {61, "ENODATA", "no data available"}, {62, "ETIME", "timer expired"}, {63, "ENOSR", "out of streams resources"}, {64, "ENONET", "machine is not on the network"}, {65, "ENOPKG", "package not installed"}, {66, "EREMOTE", "object is remote"}, {67, "ENOLINK", "link has been severed"}, {68, "EADV", "advertise error"}, {69, "ESRMNT", "srmount error"}, {70, "ECOMM", "communication error on send"}, {71, "EPROTO", "protocol error"}, {72, "EMULTIHOP", "multihop attempted"}, {73, "EDOTDOT", "RFS specific error"}, {74, "EBADMSG", "bad message"}, {75, "EOVERFLOW", "value too large for defined data type"}, {76, "ENOTUNIQ", "name not unique on network"}, {77, "EBADFD", "file descriptor in bad state"}, {78, "EREMCHG", "remote address changed"}, {79, "ELIBACC", "can not access a needed shared library"}, {80, "ELIBBAD", "accessing a corrupted shared library"}, {81, "ELIBSCN", ".lib section in a.out corrupted"}, {82, "ELIBMAX", "attempting to link in too many shared libraries"}, {83, "ELIBEXEC", "cannot exec a shared library directly"}, {84, "EILSEQ", "invalid or incomplete multibyte or wide character"}, {85, "ERESTART", "interrupted system call should be restarted"}, {86, "ESTRPIPE", "streams pipe error"}, {87, "EUSERS", "too many users"}, {88, "ENOTSOCK", "socket operation on non-socket"}, {89, "EDESTADDRREQ", "destination address required"}, {90, "EMSGSIZE", "message too long"}, {91, "EPROTOTYPE", "protocol wrong type for socket"}, {92, "ENOPROTOOPT", "protocol not available"}, {93, "EPROTONOSUPPORT", "protocol not supported"}, {94, "ESOCKTNOSUPPORT", "socket type not supported"}, {95, "ENOTSUP", "operation not supported"}, {96, "EPFNOSUPPORT", "protocol family not supported"}, {97, "EAFNOSUPPORT", "address family not supported by protocol"}, {98, "EADDRINUSE", "address already in use"}, {99, "EADDRNOTAVAIL", "cannot assign requested address"}, {100, "ENETDOWN", "network is down"}, {101, "ENETUNREACH", "network is unreachable"}, {102, "ENETRESET", "network dropped connection on reset"}, {103, "ECONNABORTED", "software caused connection abort"}, {104, "ECONNRESET", "connection reset by peer"}, {105, "ENOBUFS", "no buffer space available"}, {106, "EISCONN", "transport endpoint is already connected"}, {107, "ENOTCONN", "transport endpoint is not connected"}, {108, "ESHUTDOWN", "cannot send after transport endpoint shutdown"}, {109, "ETOOMANYREFS", "too many references: cannot splice"}, {110, "ETIMEDOUT", "connection timed out"}, {111, "ECONNREFUSED", "connection refused"}, {112, "EHOSTDOWN", "host is down"}, {113, "EHOSTUNREACH", "no route to host"}, {114, "EALREADY", "operation already in progress"}, {115, "EINPROGRESS", "operation now in progress"}, {116, "ESTALE", "stale file handle"}, {117, "EUCLEAN", "structure needs cleaning"}, {118, "ENOTNAM", "not a XENIX named type file"}, {119, "ENAVAIL", "no XENIX semaphores available"}, {120, "EISNAM", "is a named type file"}, {121, "EREMOTEIO", "remote I/O error"}, {122, "EDQUOT", "disk quota exceeded"}, {123, "ENOMEDIUM", "no medium found"}, {124, "EMEDIUMTYPE", "wrong medium type"}, {125, "ECANCELED", "operation canceled"}, {126, "ENOKEY", "required key not available"}, {127, "EKEYEXPIRED", "key has expired"}, {128, "EKEYREVOKED", "key has been revoked"}, {129, "EKEYREJECTED", "key was rejected by service"}, {130, "EOWNERDEAD", "owner died"}, {131, "ENOTRECOVERABLE", "state not recoverable"}, {132, "ERFKILL", "operation not possible due to RF-kill"}, {133, "EHWPOISON", "memory page has hardware error"}, } // Signal table var signalList = [...]struct { num syscall.Signal name string desc string }{ {1, "SIGHUP", "hangup"}, {2, "SIGINT", "interrupt"}, {3, "SIGQUIT", "quit"}, {4, "SIGILL", "illegal instruction"}, {5, "SIGTRAP", "trace/breakpoint trap"}, {6, "SIGABRT", "aborted"}, {7, "SIGBUS", "bus error"}, {8, "SIGFPE", "floating point exception"}, {9, "SIGKILL", "killed"}, {10, "SIGUSR1", "user defined signal 1"}, {11, "SIGSEGV", "segmentation fault"}, {12, "SIGUSR2", "user defined signal 2"}, {13, "SIGPIPE", "broken pipe"}, {14, "SIGALRM", "alarm clock"}, {15, "SIGTERM", "terminated"}, {16, "SIGSTKFLT", "stack fault"}, {17, "SIGCHLD", "child exited"}, {18, "SIGCONT", "continued"}, {19, "SIGSTOP", "stopped (signal)"}, {20, "SIGTSTP", "stopped"}, {21, "SIGTTIN", "stopped (tty input)"}, {22, "SIGTTOU", "stopped (tty output)"}, {23, "SIGURG", "urgent I/O condition"}, {24, "SIGXCPU", "CPU time limit exceeded"}, {25, "SIGXFSZ", "file size limit exceeded"}, {26, "SIGVTALRM", "virtual timer expired"}, {27, "SIGPROF", "profiling timer expired"}, {28, "SIGWINCH", "window changed"}, {29, "SIGIO", "I/O possible"}, {30, "SIGPWR", "power failure"}, {31, "SIGSYS", "bad system call"}, } dependencies/pkg/mod/golang.org/x/sys@v0.26.0/unix/zsymaddr_zos_s390x.s0000644000000000000000000002146315107355264024501 0ustar rootroot// go run mksyscall_zos_s390x.go -o_sysnum zsysnum_zos_s390x.go -o_syscall zsyscall_zos_s390x.go -i_syscall syscall_zos_s390x.go -o_asm zsymaddr_zos_s390x.s // Code generated by the command above; see README.md. DO NOT EDIT. //go:build zos && s390x #include "textflag.h" // provide the address of function variable to be fixed up. // THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT TEXT ·get_FlistxattrAddr(SB), NOSPLIT|NOFRAME, $0-8 MOVD $·Flistxattr(SB), R8 MOVD R8, ret+0(FP) RET // THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT TEXT ·get_FremovexattrAddr(SB), NOSPLIT|NOFRAME, $0-8 MOVD $·Fremovexattr(SB), R8 MOVD R8, ret+0(FP) RET // THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT TEXT ·get_FgetxattrAddr(SB), NOSPLIT|NOFRAME, $0-8 MOVD $·Fgetxattr(SB), R8 MOVD R8, ret+0(FP) RET // THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT TEXT ·get_FsetxattrAddr(SB), NOSPLIT|NOFRAME, $0-8 MOVD $·Fsetxattr(SB), R8 MOVD R8, ret+0(FP) RET // THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT TEXT ·get_accept4Addr(SB), NOSPLIT|NOFRAME, $0-8 MOVD $·accept4(SB), R8 MOVD R8, ret+0(FP) RET // THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT TEXT ·get_RemovexattrAddr(SB), NOSPLIT|NOFRAME, $0-8 MOVD $·Removexattr(SB), R8 MOVD R8, ret+0(FP) RET // THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT TEXT ·get_Dup3Addr(SB), NOSPLIT|NOFRAME, $0-8 MOVD $·Dup3(SB), R8 MOVD R8, ret+0(FP) RET // THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT TEXT ·get_DirfdAddr(SB), NOSPLIT|NOFRAME, $0-8 MOVD $·Dirfd(SB), R8 MOVD R8, ret+0(FP) RET // THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT TEXT ·get_EpollCreateAddr(SB), NOSPLIT|NOFRAME, $0-8 MOVD $·EpollCreate(SB), R8 MOVD R8, ret+0(FP) RET // THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT TEXT ·get_EpollCreate1Addr(SB), NOSPLIT|NOFRAME, $0-8 MOVD $·EpollCreate1(SB), R8 MOVD R8, ret+0(FP) RET // THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT TEXT ·get_EpollCtlAddr(SB), NOSPLIT|NOFRAME, $0-8 MOVD $·EpollCtl(SB), R8 MOVD R8, ret+0(FP) RET // THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT TEXT ·get_EpollPwaitAddr(SB), NOSPLIT|NOFRAME, $0-8 MOVD $·EpollPwait(SB), R8 MOVD R8, ret+0(FP) RET // THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT TEXT ·get_EpollWaitAddr(SB), NOSPLIT|NOFRAME, $0-8 MOVD $·EpollWait(SB), R8 MOVD R8, ret+0(FP) RET // THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT TEXT ·get_EventfdAddr(SB), NOSPLIT|NOFRAME, $0-8 MOVD $·Eventfd(SB), R8 MOVD R8, ret+0(FP) RET // THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT TEXT ·get_FaccessatAddr(SB), NOSPLIT|NOFRAME, $0-8 MOVD $·Faccessat(SB), R8 MOVD R8, ret+0(FP) RET // THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT TEXT ·get_FchmodatAddr(SB), NOSPLIT|NOFRAME, $0-8 MOVD $·Fchmodat(SB), R8 MOVD R8, ret+0(FP) RET // THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT TEXT ·get_FchownatAddr(SB), NOSPLIT|NOFRAME, $0-8 MOVD $·Fchownat(SB), R8 MOVD R8, ret+0(FP) RET // THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT TEXT ·get_FdatasyncAddr(SB), NOSPLIT|NOFRAME, $0-8 MOVD $·Fdatasync(SB), R8 MOVD R8, ret+0(FP) RET // THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT TEXT ·get_fstatatAddr(SB), NOSPLIT|NOFRAME, $0-8 MOVD $·fstatat(SB), R8 MOVD R8, ret+0(FP) RET // THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT TEXT ·get_LgetxattrAddr(SB), NOSPLIT|NOFRAME, $0-8 MOVD $·Lgetxattr(SB), R8 MOVD R8, ret+0(FP) RET // THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT TEXT ·get_LsetxattrAddr(SB), NOSPLIT|NOFRAME, $0-8 MOVD $·Lsetxattr(SB), R8 MOVD R8, ret+0(FP) RET // THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT TEXT ·get_FstatfsAddr(SB), NOSPLIT|NOFRAME, $0-8 MOVD $·Fstatfs(SB), R8 MOVD R8, ret+0(FP) RET // THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT TEXT ·get_FutimesAddr(SB), NOSPLIT|NOFRAME, $0-8 MOVD $·Futimes(SB), R8 MOVD R8, ret+0(FP) RET // THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT TEXT ·get_FutimesatAddr(SB), NOSPLIT|NOFRAME, $0-8 MOVD $·Futimesat(SB), R8 MOVD R8, ret+0(FP) RET // THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT TEXT ·get_GetrandomAddr(SB), NOSPLIT|NOFRAME, $0-8 MOVD $·Getrandom(SB), R8 MOVD R8, ret+0(FP) RET // THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT TEXT ·get_InotifyInitAddr(SB), NOSPLIT|NOFRAME, $0-8 MOVD $·InotifyInit(SB), R8 MOVD R8, ret+0(FP) RET // THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT TEXT ·get_InotifyInit1Addr(SB), NOSPLIT|NOFRAME, $0-8 MOVD $·InotifyInit1(SB), R8 MOVD R8, ret+0(FP) RET // THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT TEXT ·get_InotifyAddWatchAddr(SB), NOSPLIT|NOFRAME, $0-8 MOVD $·InotifyAddWatch(SB), R8 MOVD R8, ret+0(FP) RET // THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT TEXT ·get_InotifyRmWatchAddr(SB), NOSPLIT|NOFRAME, $0-8 MOVD $·InotifyRmWatch(SB), R8 MOVD R8, ret+0(FP) RET // THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT TEXT ·get_ListxattrAddr(SB), NOSPLIT|NOFRAME, $0-8 MOVD $·Listxattr(SB), R8 MOVD R8, ret+0(FP) RET // THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT TEXT ·get_LlistxattrAddr(SB), NOSPLIT|NOFRAME, $0-8 MOVD $·Llistxattr(SB), R8 MOVD R8, ret+0(FP) RET // THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT TEXT ·get_LremovexattrAddr(SB), NOSPLIT|NOFRAME, $0-8 MOVD $·Lremovexattr(SB), R8 MOVD R8, ret+0(FP) RET // THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT TEXT ·get_LutimesAddr(SB), NOSPLIT|NOFRAME, $0-8 MOVD $·Lutimes(SB), R8 MOVD R8, ret+0(FP) RET // THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT TEXT ·get_StatfsAddr(SB), NOSPLIT|NOFRAME, $0-8 MOVD $·Statfs(SB), R8 MOVD R8, ret+0(FP) RET // THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT TEXT ·get_SyncfsAddr(SB), NOSPLIT|NOFRAME, $0-8 MOVD $·Syncfs(SB), R8 MOVD R8, ret+0(FP) RET // THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT TEXT ·get_UnshareAddr(SB), NOSPLIT|NOFRAME, $0-8 MOVD $·Unshare(SB), R8 MOVD R8, ret+0(FP) RET // THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT TEXT ·get_LinkatAddr(SB), NOSPLIT|NOFRAME, $0-8 MOVD $·Linkat(SB), R8 MOVD R8, ret+0(FP) RET // THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT TEXT ·get_MkdiratAddr(SB), NOSPLIT|NOFRAME, $0-8 MOVD $·Mkdirat(SB), R8 MOVD R8, ret+0(FP) RET // THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT TEXT ·get_MknodatAddr(SB), NOSPLIT|NOFRAME, $0-8 MOVD $·Mknodat(SB), R8 MOVD R8, ret+0(FP) RET // THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT TEXT ·get_PivotRootAddr(SB), NOSPLIT|NOFRAME, $0-8 MOVD $·PivotRoot(SB), R8 MOVD R8, ret+0(FP) RET // THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT TEXT ·get_PrctlAddr(SB), NOSPLIT|NOFRAME, $0-8 MOVD $·Prctl(SB), R8 MOVD R8, ret+0(FP) RET // THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT TEXT ·get_PrlimitAddr(SB), NOSPLIT|NOFRAME, $0-8 MOVD $·Prlimit(SB), R8 MOVD R8, ret+0(FP) RET // THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT TEXT ·get_RenameatAddr(SB), NOSPLIT|NOFRAME, $0-8 MOVD $·Renameat(SB), R8 MOVD R8, ret+0(FP) RET // THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT TEXT ·get_Renameat2Addr(SB), NOSPLIT|NOFRAME, $0-8 MOVD $·Renameat2(SB), R8 MOVD R8, ret+0(FP) RET // THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT TEXT ·get_SethostnameAddr(SB), NOSPLIT|NOFRAME, $0-8 MOVD $·Sethostname(SB), R8 MOVD R8, ret+0(FP) RET // THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT TEXT ·get_SetnsAddr(SB), NOSPLIT|NOFRAME, $0-8 MOVD $·Setns(SB), R8 MOVD R8, ret+0(FP) RET // THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT TEXT ·get_SymlinkatAddr(SB), NOSPLIT|NOFRAME, $0-8 MOVD $·Symlinkat(SB), R8 MOVD R8, ret+0(FP) RET // THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT TEXT ·get_UnlinkatAddr(SB), NOSPLIT|NOFRAME, $0-8 MOVD $·Unlinkat(SB), R8 MOVD R8, ret+0(FP) RET // THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT TEXT ·get_openatAddr(SB), NOSPLIT|NOFRAME, $0-8 MOVD $·openat(SB), R8 MOVD R8, ret+0(FP) RET // THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT TEXT ·get_openat2Addr(SB), NOSPLIT|NOFRAME, $0-8 MOVD $·openat2(SB), R8 MOVD R8, ret+0(FP) RET // THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT TEXT ·get_utimensatAddr(SB), NOSPLIT|NOFRAME, $0-8 MOVD $·utimensat(SB), R8 MOVD R8, ret+0(FP) RET dependencies/pkg/mod/golang.org/x/sys@v0.26.0/unix/timestruct.go0000644000000000000000000000431615107355264023347 0ustar rootroot// Copyright 2017 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:build aix || darwin || dragonfly || freebsd || linux || netbsd || openbsd || solaris || zos package unix import "time" // TimespecToNsec returns the time stored in ts as nanoseconds. func TimespecToNsec(ts Timespec) int64 { return ts.Nano() } // NsecToTimespec converts a number of nanoseconds into a Timespec. func NsecToTimespec(nsec int64) Timespec { sec := nsec / 1e9 nsec = nsec % 1e9 if nsec < 0 { nsec += 1e9 sec-- } return setTimespec(sec, nsec) } // TimeToTimespec converts t into a Timespec. // On some 32-bit systems the range of valid Timespec values are smaller // than that of time.Time values. So if t is out of the valid range of // Timespec, it returns a zero Timespec and ERANGE. func TimeToTimespec(t time.Time) (Timespec, error) { sec := t.Unix() nsec := int64(t.Nanosecond()) ts := setTimespec(sec, nsec) // Currently all targets have either int32 or int64 for Timespec.Sec. // If there were a new target with floating point type for it, we have // to consider the rounding error. if int64(ts.Sec) != sec { return Timespec{}, ERANGE } return ts, nil } // TimevalToNsec returns the time stored in tv as nanoseconds. func TimevalToNsec(tv Timeval) int64 { return tv.Nano() } // NsecToTimeval converts a number of nanoseconds into a Timeval. func NsecToTimeval(nsec int64) Timeval { nsec += 999 // round up to microsecond usec := nsec % 1e9 / 1e3 sec := nsec / 1e9 if usec < 0 { usec += 1e6 sec-- } return setTimeval(sec, usec) } // Unix returns the time stored in ts as seconds plus nanoseconds. func (ts *Timespec) Unix() (sec int64, nsec int64) { return int64(ts.Sec), int64(ts.Nsec) } // Unix returns the time stored in tv as seconds plus nanoseconds. func (tv *Timeval) Unix() (sec int64, nsec int64) { return int64(tv.Sec), int64(tv.Usec) * 1000 } // Nano returns the time stored in ts as nanoseconds. func (ts *Timespec) Nano() int64 { return int64(ts.Sec)*1e9 + int64(ts.Nsec) } // Nano returns the time stored in tv as nanoseconds. func (tv *Timeval) Nano() int64 { return int64(tv.Sec)*1e9 + int64(tv.Usec)*1000 } dependencies/pkg/mod/golang.org/x/sys@v0.26.0/unix/ptrace_darwin.go0000644000000000000000000000047315107355264023766 0ustar rootroot// Copyright 2020 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:build darwin && !ios package unix func ptrace(request int, pid int, addr uintptr, data uintptr) error { return ptrace1(request, pid, addr, data) } dependencies/pkg/mod/golang.org/x/sys@v0.26.0/unix/syscall_openbsd_ppc64.go0000644000000000000000000000173615107355264025347 0ustar rootroot// Copyright 2019 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:build ppc64 && openbsd package unix func setTimespec(sec, nsec int64) Timespec { return Timespec{Sec: sec, Nsec: nsec} } func setTimeval(sec, usec int64) Timeval { return Timeval{Sec: sec, Usec: usec} } 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 (msghdr *Msghdr) SetIovlen(length int) { msghdr.Iovlen = uint32(length) } func (cmsg *Cmsghdr) SetLen(length int) { cmsg.Len = uint32(length) } // SYS___SYSCTL is used by syscall_bsd.go for all BSDs, but in modern versions // of openbsd/ppc64 the syscall is called sysctl instead of __sysctl. const SYS___SYSCTL = SYS_SYSCTL dependencies/pkg/mod/golang.org/x/sys@v0.26.0/unix/asm_linux_386.s0000644000000000000000000000267615107355264023407 0ustar rootroot// 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. //go:build gc #include "textflag.h" // // System calls for 386, Linux // // See ../runtime/sys_linux_386.s for the reason why we always use int 0x80 // instead of the glibc-specific "CALL 0x10(GS)". #define INVOKE_SYSCALL INT $0x80 // 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 ·SyscallNoError(SB),NOSPLIT,$0-24 CALL runtime·entersyscall(SB) MOVL trap+0(FP), AX // syscall entry MOVL a1+4(FP), BX MOVL a2+8(FP), CX MOVL a3+12(FP), DX MOVL $0, SI MOVL $0, DI INVOKE_SYSCALL MOVL AX, r1+16(FP) MOVL DX, r2+20(FP) CALL runtime·exitsyscall(SB) RET TEXT ·RawSyscall(SB),NOSPLIT,$0-28 JMP syscall·RawSyscall(SB) TEXT ·RawSyscall6(SB),NOSPLIT,$0-40 JMP syscall·RawSyscall6(SB) TEXT ·RawSyscallNoError(SB),NOSPLIT,$0-24 MOVL trap+0(FP), AX // syscall entry MOVL a1+4(FP), BX MOVL a2+8(FP), CX MOVL a3+12(FP), DX MOVL $0, SI MOVL $0, DI INVOKE_SYSCALL MOVL AX, r1+16(FP) MOVL DX, r2+20(FP) RET 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) dependencies/pkg/mod/golang.org/x/sys@v0.26.0/unix/zsysnum_openbsd_arm64.go0000644000000000000000000004351415107355264025422 0ustar rootroot// go run mksysnum.go https://cvsweb.openbsd.org/cgi-bin/cvsweb/~checkout~/src/sys/kern/syscalls.master // Code generated by the command above; see README.md. DO NOT EDIT. //go:build arm64 && openbsd package unix // Deprecated: Use libc wrappers instead of direct syscalls. 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_GETENTROPY = 7 // { int sys_getentropy(void *buf, size_t nbyte); } SYS___TFORK = 8 // { int sys___tfork(const struct __tfork *param, size_t psize); } 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, int options, struct rusage *rusage); } 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, dev_t dev); } 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_OBREAK = 17 // { int sys_obreak(char *nsize); } break SYS_GETDTABLECOUNT = 18 // { int sys_getdtablecount(void); } SYS_GETRUSAGE = 19 // { int sys_getrusage(int who, struct rusage *rusage); } SYS_GETPID = 20 // { pid_t sys_getpid(void); } SYS_MOUNT = 21 // { int sys_mount(const char *type, const char *path, int flags, void *data); } 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, 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 amode); } 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_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, struct stat *buf, int flag); } SYS_GETEGID = 43 // { gid_t sys_getegid(void); } SYS_PROFIL = 44 // { int sys_profil(caddr_t 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_SIGACTION = 46 // { int sys_sigaction(int signum, const struct sigaction *nsa, struct sigaction *osa); } SYS_GETGID = 47 // { gid_t sys_getgid(void); } SYS_SIGPROCMASK = 48 // { int sys_sigprocmask(int how, sigset_t mask); } 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, u_long com, ... void *data); } 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, 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_GETFSSTAT = 62 // { int sys_getfsstat(struct statfs *buf, size_t bufsize, int flags); } SYS_STATFS = 63 // { int sys_statfs(const char *path, struct statfs *buf); } SYS_FSTATFS = 64 // { int sys_fstatfs(int fd, struct statfs *buf); } SYS_FHSTATFS = 65 // { int sys_fhstatfs(const fhandle_t *fhp, struct statfs *buf); } SYS_VFORK = 66 // { int sys_vfork(void); } SYS_GETTIMEOFDAY = 67 // { int sys_gettimeofday(struct timeval *tp, struct timezone *tzp); } SYS_SETTIMEOFDAY = 68 // { int sys_settimeofday(const struct timeval *tv, const struct timezone *tzp); } SYS_SETITIMER = 69 // { int sys_setitimer(int which, const struct itimerval *itv, struct itimerval *oitv); } SYS_GETITIMER = 70 // { int sys_getitimer(int which, struct itimerval *itv); } SYS_SELECT = 71 // { int sys_select(int nd, fd_set *in, fd_set *ou, fd_set *ex, struct timeval *tv); } SYS_KEVENT = 72 // { int sys_kevent(int fd, const struct kevent *changelist, int nchanges, struct kevent *eventlist, int nevents, const struct timespec *timeout); } 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_UTIMES = 76 // { int sys_utimes(const char *path, const struct timeval *tptr); } SYS_FUTIMES = 77 // { int sys_futimes(int fd, const struct timeval *tptr); } 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_FUTEX = 83 // { int sys_futex(uint32_t *f, int op, int val, const struct timespec *timeout, uint32_t *g); } SYS_UTIMENSAT = 84 // { int sys_utimensat(int fd, const char *path, const struct timespec *times, int flag); } SYS_FUTIMENS = 85 // { int sys_futimens(int fd, const struct timespec *times); } SYS_KBIND = 86 // { int sys_kbind(const struct __kbind *param, size_t psize, int64_t proc_cookie); } SYS_CLOCK_GETTIME = 87 // { int sys_clock_gettime(clockid_t clock_id, struct timespec *tp); } SYS_CLOCK_SETTIME = 88 // { int sys_clock_settime(clockid_t clock_id, const struct timespec *tp); } SYS_CLOCK_GETRES = 89 // { int sys_clock_getres(clockid_t clock_id, struct timespec *tp); } SYS_DUP2 = 90 // { int sys_dup2(int from, int to); } SYS_NANOSLEEP = 91 // { int sys_nanosleep(const struct timespec *rqtp, struct timespec *rmtp); } SYS_FCNTL = 92 // { int sys_fcntl(int fd, int cmd, ... void *arg); } SYS_ACCEPT4 = 93 // { int sys_accept4(int s, struct sockaddr *name, socklen_t *anamelen, int flags); } SYS___THRSLEEP = 94 // { int sys___thrsleep(const volatile void *ident, clockid_t clock_id, const struct timespec *tp, void *lock, const int *abort); } 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, socklen_t namelen); } 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_PIPE2 = 101 // { int sys_pipe2(int *fdp, int flags); } SYS_DUP3 = 102 // { int sys_dup3(int from, int to, int flags); } SYS_SIGRETURN = 103 // { int sys_sigreturn(struct sigcontext *sigcntxp); } 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_CHFLAGSAT = 107 // { int sys_chflagsat(int fd, const char *path, u_int flags, int atflags); } SYS_PLEDGE = 108 // { int sys_pledge(const char *promises, const char *execpromises); } SYS_PPOLL = 109 // { int sys_ppoll(struct pollfd *fds, u_int nfds, const struct timespec *ts, const sigset_t *mask); } SYS_PSELECT = 110 // { int sys_pselect(int nd, fd_set *in, fd_set *ou, fd_set *ex, const struct timespec *ts, const sigset_t *mask); } SYS_SIGSUSPEND = 111 // { int sys_sigsuspend(int mask); } SYS_SENDSYSLOG = 112 // { int sys_sendsyslog(const char *buf, size_t nbyte, int flags); } SYS_UNVEIL = 114 // { int sys_unveil(const char *path, const char *permissions); } SYS_GETSOCKOPT = 118 // { int sys_getsockopt(int s, int level, int name, void *val, socklen_t *avalsize); } SYS_THRKILL = 119 // { int sys_thrkill(pid_t tid, int signum, void *tcb); } 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_KILL = 122 // { int sys_kill(int pid, int signum); } 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_ADJTIME = 140 // { int sys_adjtime(const struct timeval *delta, struct timeval *olddelta); } SYS_GETLOGIN_R = 141 // { int sys_getlogin_r(char *namebuf, u_int namelen); } SYS_SETSID = 147 // { int sys_setsid(void); } SYS_QUOTACTL = 148 // { int sys_quotactl(const char *path, int cmd, int uid, char *arg); } 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, 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_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, 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, 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_GETPGID = 207 // { pid_t sys_getpgid(pid_t pid); } SYS_UTRACE = 209 // { int sys_utrace(const char *label, const void *addr, size_t len); } 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, int msgflg); } SYS_MSGRCV = 227 // { int 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_MINHERIT = 250 // { int sys_minherit(void *addr, size_t len, int inherit); } SYS_POLL = 252 // { int sys_poll(struct pollfd *fds, u_int nfds, int timeout); } 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, const struct iovec *iovp, int iovcnt, int pad, off_t offset); } SYS_PWRITEV = 268 // { ssize_t sys_pwritev(int fd, const struct iovec *iovp, int iovcnt, int pad, off_t offset); } 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, uid_t *suid); } SYS_SETRESUID = 282 // { int sys_setresuid(uid_t ruid, uid_t euid, uid_t suid); } SYS_GETRESGID = 283 // { int sys_getresgid(gid_t *rgid, gid_t *egid, gid_t *sgid); } SYS_SETRESGID = 284 // { int sys_setresgid(gid_t rgid, gid_t egid, gid_t sgid); } SYS_MQUERY = 286 // { void *sys_mquery(void *addr, size_t len, int prot, int flags, int fd, long pad, off_t pos); } SYS_CLOSEFROM = 287 // { int sys_closefrom(int fd); } SYS_SIGALTSTACK = 288 // { int sys_sigaltstack(const struct sigaltstack *nss, struct sigaltstack *oss); } 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, size_t nsops); } SYS_FHSTAT = 294 // { int sys_fhstat(const fhandle_t *fhp, struct stat *sb); } SYS___SEMCTL = 295 // { int sys___semctl(int semid, int semnum, int cmd, union semun *arg); } SYS_SHMCTL = 296 // { int sys_shmctl(int shmid, int cmd, struct shmid_ds *buf); } SYS_MSGCTL = 297 // { int sys_msgctl(int msqid, int cmd, struct msqid_ds *buf); } 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, int n); } SYS___THREXIT = 302 // { void sys___threxit(pid_t *notdead); } SYS___THRSIGDIVERT = 303 // { int sys___thrsigdivert(sigset_t sigmask, siginfo_t *info, const struct timespec *timeout); } SYS___GETCWD = 304 // { int sys___getcwd(char *buf, size_t len); } SYS_ADJFREQ = 305 // { int sys_adjfreq(const int64_t *freq, int64_t *oldfreq); } 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, int amode, int flag); } SYS_FCHMODAT = 314 // { int sys_fchmodat(int fd, const char *path, mode_t mode, int flag); } SYS_FCHOWNAT = 315 // { int sys_fchownat(int fd, const char *path, uid_t uid, gid_t gid, int flag); } SYS_LINKAT = 317 // { int sys_linkat(int fd1, const char *path1, int fd2, const char *path2, int flag); } SYS_MKDIRAT = 318 // { int sys_mkdirat(int fd, const char *path, mode_t mode); } SYS_MKFIFOAT = 319 // { int sys_mkfifoat(int fd, const char *path, mode_t mode); } SYS_MKNODAT = 320 // { int sys_mknodat(int fd, const char *path, mode_t mode, dev_t dev); } SYS_OPENAT = 321 // { int sys_openat(int fd, const char *path, int flags, ... mode_t mode); } SYS_READLINKAT = 322 // { ssize_t sys_readlinkat(int fd, const char *path, char *buf, size_t count); } SYS_RENAMEAT = 323 // { int sys_renameat(int fromfd, const char *from, int tofd, const char *to); } SYS_SYMLINKAT = 324 // { int sys_symlinkat(const char *path, int fd, const char *link); } SYS_UNLINKAT = 325 // { int sys_unlinkat(int fd, const char *path, int flag); } SYS___SET_TCB = 329 // { void sys___set_tcb(void *tcb); } SYS___GET_TCB = 330 // { void *sys___get_tcb(void); } ) dependencies/pkg/mod/golang.org/x/sys@v0.26.0/unix/ztypes_linux_mipsle.go0000644000000000000000000003042415107355264025271 0ustar rootroot// cgo -godefs -objdir=/tmp/mipsle/cgo -- -Wall -Werror -static -I/tmp/mipsle/include linux/types.go | go run mkpost.go // Code generated by the command above; see README.md. DO NOT EDIT. //go:build mipsle && linux package unix const ( SizeofPtr = 0x4 SizeofLong = 0x4 ) type ( _C_long int32 ) 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 _ [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 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 Dirent struct { Ino uint64 Off int64 Reclen uint16 Type uint8 Name [256]int8 _ [5]byte } type Flock_t struct { Type int16 Whence int16 _ [4]byte Start int64 Len int64 Pid int32 _ [4]byte } type DmNameList struct { Dev uint64 Next uint32 Name [0]byte _ [4]byte } const ( FADV_DONTNEED = 0x4 FADV_NOREUSE = 0x5 ) type RawSockaddrNFCLLCP struct { Sa_family uint16 Dev_idx uint32 Target_idx uint32 Nfc_protocol uint32 Dsap uint8 Ssap uint8 Service_name [63]uint8 Service_name_len uint32 } type RawSockaddr struct { Family uint16 Data [14]int8 } type RawSockaddrAny struct { Addr RawSockaddr Pad [96]int8 } type Iovec struct { Base *byte Len 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 ifreq struct { Ifrn [16]byte Ifru [16]byte } const ( SizeofSockaddrNFCLLCP = 0x58 SizeofIovec = 0x8 SizeofMsghdr = 0x1c SizeofCmsghdr = 0xc ) const ( SizeofSockFprog = 0x8 ) 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 _ [8]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 ( OPEN_TREE_CLOEXEC = 0x80000 ) const ( POLLRDHUP = 0x2000 ) type Sigset_t struct { Val [32]uint32 } const _C__NSIG = 0x80 const ( SIG_BLOCK = 0x1 SIG_UNBLOCK = 0x2 SIG_SETMASK = 0x3 ) type Siginfo struct { Signo int32 Code int32 Errno int32 _ [116]byte } type Termios struct { Iflag uint32 Oflag uint32 Cflag uint32 Lflag uint32 Line uint8 Cc [23]uint8 Ispeed uint32 Ospeed uint32 } type Taskstats struct { Version uint16 Ac_exitcode uint32 Ac_flag uint8 Ac_nice uint8 _ [4]byte Cpu_count uint64 Cpu_delay_total uint64 Blkio_count uint64 Blkio_delay_total uint64 Swapin_count uint64 Swapin_delay_total uint64 Cpu_run_real_total uint64 Cpu_run_virtual_total uint64 Ac_comm [32]int8 Ac_sched uint8 Ac_pad [3]uint8 _ [4]byte Ac_uid uint32 Ac_gid uint32 Ac_pid uint32 Ac_ppid uint32 Ac_btime uint32 _ [4]byte Ac_etime uint64 Ac_utime uint64 Ac_stime uint64 Ac_minflt uint64 Ac_majflt uint64 Coremem uint64 Virtmem uint64 Hiwater_rss uint64 Hiwater_vm uint64 Read_char uint64 Write_char uint64 Read_syscalls uint64 Write_syscalls uint64 Read_bytes uint64 Write_bytes uint64 Cancelled_write_bytes uint64 Nvcsw uint64 Nivcsw uint64 Ac_utimescaled uint64 Ac_stimescaled uint64 Cpu_scaled_run_real_total uint64 Freepages_count uint64 Freepages_delay_total uint64 Thrashing_count uint64 Thrashing_delay_total uint64 Ac_btime64 uint64 Compact_count uint64 Compact_delay_total uint64 Ac_tgid uint32 _ [4]byte Ac_tgetime uint64 Ac_exe_dev uint64 Ac_exe_inode uint64 Wpcopy_count uint64 Wpcopy_delay_total uint64 Irq_count uint64 Irq_delay_total uint64 } type cpuMask uint32 const ( _NCPUBITS = 0x20 ) const ( CBitFieldMaskBit0 = 0x1 CBitFieldMaskBit1 = 0x2 CBitFieldMaskBit2 = 0x4 CBitFieldMaskBit3 = 0x8 CBitFieldMaskBit4 = 0x10 CBitFieldMaskBit5 = 0x20 CBitFieldMaskBit6 = 0x40 CBitFieldMaskBit7 = 0x80 CBitFieldMaskBit8 = 0x100 CBitFieldMaskBit9 = 0x200 CBitFieldMaskBit10 = 0x400 CBitFieldMaskBit11 = 0x800 CBitFieldMaskBit12 = 0x1000 CBitFieldMaskBit13 = 0x2000 CBitFieldMaskBit14 = 0x4000 CBitFieldMaskBit15 = 0x8000 CBitFieldMaskBit16 = 0x10000 CBitFieldMaskBit17 = 0x20000 CBitFieldMaskBit18 = 0x40000 CBitFieldMaskBit19 = 0x80000 CBitFieldMaskBit20 = 0x100000 CBitFieldMaskBit21 = 0x200000 CBitFieldMaskBit22 = 0x400000 CBitFieldMaskBit23 = 0x800000 CBitFieldMaskBit24 = 0x1000000 CBitFieldMaskBit25 = 0x2000000 CBitFieldMaskBit26 = 0x4000000 CBitFieldMaskBit27 = 0x8000000 CBitFieldMaskBit28 = 0x10000000 CBitFieldMaskBit29 = 0x20000000 CBitFieldMaskBit30 = 0x40000000 CBitFieldMaskBit31 = 0x80000000 CBitFieldMaskBit32 = 0x100000000 CBitFieldMaskBit33 = 0x200000000 CBitFieldMaskBit34 = 0x400000000 CBitFieldMaskBit35 = 0x800000000 CBitFieldMaskBit36 = 0x1000000000 CBitFieldMaskBit37 = 0x2000000000 CBitFieldMaskBit38 = 0x4000000000 CBitFieldMaskBit39 = 0x8000000000 CBitFieldMaskBit40 = 0x10000000000 CBitFieldMaskBit41 = 0x20000000000 CBitFieldMaskBit42 = 0x40000000000 CBitFieldMaskBit43 = 0x80000000000 CBitFieldMaskBit44 = 0x100000000000 CBitFieldMaskBit45 = 0x200000000000 CBitFieldMaskBit46 = 0x400000000000 CBitFieldMaskBit47 = 0x800000000000 CBitFieldMaskBit48 = 0x1000000000000 CBitFieldMaskBit49 = 0x2000000000000 CBitFieldMaskBit50 = 0x4000000000000 CBitFieldMaskBit51 = 0x8000000000000 CBitFieldMaskBit52 = 0x10000000000000 CBitFieldMaskBit53 = 0x20000000000000 CBitFieldMaskBit54 = 0x40000000000000 CBitFieldMaskBit55 = 0x80000000000000 CBitFieldMaskBit56 = 0x100000000000000 CBitFieldMaskBit57 = 0x200000000000000 CBitFieldMaskBit58 = 0x400000000000000 CBitFieldMaskBit59 = 0x800000000000000 CBitFieldMaskBit60 = 0x1000000000000000 CBitFieldMaskBit61 = 0x2000000000000000 CBitFieldMaskBit62 = 0x4000000000000000 CBitFieldMaskBit63 = 0x8000000000000000 ) type SockaddrStorage struct { Family uint16 Data [122]byte _ uint32 } type HDGeometry struct { Heads uint8 Sectors uint8 Cylinders uint16 Start uint32 } type Statfs_t struct { Type int32 Bsize int32 Frsize int32 _ [4]byte Blocks uint64 Bfree uint64 Files uint64 Ffree uint64 Bavail uint64 Fsid Fsid Namelen int32 Flags int32 Spare [5]int32 _ [4]byte } type TpacketHdr struct { Status uint32 Len uint32 Snaplen uint32 Mac uint16 Net uint16 Sec uint32 Usec uint32 } const ( SizeofTpacketHdr = 0x18 ) type RTCPLLInfo struct { Ctrl int32 Value int32 Max int32 Min int32 Posmult int32 Negmult int32 Clock int32 } type BlkpgPartition struct { Start int64 Length int64 Pno int32 Devname [64]uint8 Volname [64]uint8 _ [4]byte } const ( BLKPG = 0x20001269 ) type CryptoUserAlg struct { Name [64]int8 Driver_name [64]int8 Module_name [64]int8 Type uint32 Mask uint32 Refcnt uint32 Flags uint32 } type CryptoStatAEAD struct { Type [64]int8 Encrypt_cnt uint64 Encrypt_tlen uint64 Decrypt_cnt uint64 Decrypt_tlen uint64 Err_cnt uint64 } type CryptoStatAKCipher struct { Type [64]int8 Encrypt_cnt uint64 Encrypt_tlen uint64 Decrypt_cnt uint64 Decrypt_tlen uint64 Verify_cnt uint64 Sign_cnt uint64 Err_cnt uint64 } type CryptoStatCipher struct { Type [64]int8 Encrypt_cnt uint64 Encrypt_tlen uint64 Decrypt_cnt uint64 Decrypt_tlen uint64 Err_cnt uint64 } type CryptoStatCompress struct { Type [64]int8 Compress_cnt uint64 Compress_tlen uint64 Decompress_cnt uint64 Decompress_tlen uint64 Err_cnt uint64 } type CryptoStatHash struct { Type [64]int8 Hash_cnt uint64 Hash_tlen uint64 Err_cnt uint64 } type CryptoStatKPP struct { Type [64]int8 Setsecret_cnt uint64 Generate_public_key_cnt uint64 Compute_shared_secret_cnt uint64 Err_cnt uint64 } type CryptoStatRNG struct { Type [64]int8 Generate_cnt uint64 Generate_tlen uint64 Seed_cnt uint64 Err_cnt uint64 } type CryptoStatLarval struct { Type [64]int8 } type CryptoReportLarval struct { Type [64]int8 } type CryptoReportHash struct { Type [64]int8 Blocksize uint32 Digestsize uint32 } type CryptoReportCipher struct { Type [64]int8 Blocksize uint32 Min_keysize uint32 Max_keysize uint32 } type CryptoReportBlkCipher struct { Type [64]int8 Geniv [64]int8 Blocksize uint32 Min_keysize uint32 Max_keysize uint32 Ivsize uint32 } type CryptoReportAEAD struct { Type [64]int8 Geniv [64]int8 Blocksize uint32 Maxauthsize uint32 Ivsize uint32 } type CryptoReportComp struct { Type [64]int8 } type CryptoReportRNG struct { Type [64]int8 Seedsize uint32 } type CryptoReportAKCipher struct { Type [64]int8 } type CryptoReportKPP struct { Type [64]int8 } type CryptoReportAcomp struct { Type [64]int8 } type LoopInfo struct { Number int32 Device uint32 Inode uint32 Rdevice uint32 Offset int32 Encrypt_type int32 Encrypt_key_size int32 Flags int32 Name [64]int8 Encrypt_key [32]uint8 Init [2]uint32 Reserved [4]int8 } type TIPCSubscr struct { Seq TIPCServiceRange Timeout uint32 Filter uint32 Handle [8]int8 } type TIPCSIOCLNReq struct { Peer uint32 Id uint32 Linkname [68]int8 } type TIPCSIOCNodeIDReq struct { Peer uint32 Id [16]int8 } type PPSKInfo struct { Assert_sequence uint32 Clear_sequence uint32 Assert_tu PPSKTime Clear_tu PPSKTime Current_mode int32 _ [4]byte } const ( PPS_GETPARAMS = 0x400470a1 PPS_SETPARAMS = 0x800470a2 PPS_GETCAP = 0x400470a3 PPS_FETCH = 0xc00470a4 ) const ( PIDFD_NONBLOCK = 0x80 ) type SysvIpcPerm struct { Key int32 Uid uint32 Gid uint32 Cuid uint32 Cgid uint32 Mode uint32 _ [0]uint8 Seq uint16 _ uint16 _ uint32 _ uint32 } type SysvShmDesc struct { Perm SysvIpcPerm Segsz uint32 Atime uint32 Dtime uint32 Ctime uint32 Cpid int32 Lpid int32 Nattch uint32 Atime_high uint16 Dtime_high uint16 Ctime_high uint16 _ uint16 } dependencies/pkg/mod/golang.org/x/sys@v0.26.0/unix/fcntl_darwin.go0000644000000000000000000000144615107355264023617 0ustar rootroot// Copyright 2019 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 "unsafe" // FcntlInt performs a fcntl syscall on fd with the provided command and argument. func FcntlInt(fd uintptr, cmd, arg int) (int, error) { return fcntl(int(fd), cmd, arg) } // 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 { _, err := fcntl(int(fd), cmd, int(uintptr(unsafe.Pointer(lk)))) return err } // FcntlFstore performs a fcntl syscall for the F_PREALLOCATE command. func FcntlFstore(fd uintptr, cmd int, fstore *Fstore_t) error { _, err := fcntl(int(fd), cmd, int(uintptr(unsafe.Pointer(fstore)))) return err } dependencies/pkg/mod/golang.org/x/sys@v0.26.0/unix/syscall_openbsd_libc.go0000644000000000000000000000215015107355264025313 0ustar rootroot// Copyright 2022 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:build openbsd package unix import _ "unsafe" // Implemented in the runtime package (runtime/sys_openbsd3.go) func syscall_syscall(fn, a1, a2, a3 uintptr) (r1, r2 uintptr, err Errno) func syscall_syscall6(fn, a1, a2, a3, a4, a5, a6 uintptr) (r1, r2 uintptr, err Errno) func syscall_syscall10(fn, a1, a2, a3, a4, a5, a6, a7, a8, a9, a10 uintptr) (r1, r2 uintptr, err Errno) func syscall_rawSyscall(fn, a1, a2, a3 uintptr) (r1, r2 uintptr, err Errno) func syscall_rawSyscall6(fn, a1, a2, a3, a4, a5, a6 uintptr) (r1, r2 uintptr, err Errno) //go:linkname syscall_syscall syscall.syscall //go:linkname syscall_syscall6 syscall.syscall6 //go:linkname syscall_syscall10 syscall.syscall10 //go:linkname syscall_rawSyscall syscall.rawSyscall //go:linkname syscall_rawSyscall6 syscall.rawSyscall6 func syscall_syscall9(fn, a1, a2, a3, a4, a5, a6, a7, a8, a9 uintptr) (r1, r2 uintptr, err Errno) { return syscall_syscall10(fn, a1, a2, a3, a4, a5, a6, a7, a8, a9, 0) } dependencies/pkg/mod/golang.org/x/sys@v0.26.0/unix/zsysnum_openbsd_riscv64.go0000644000000000000000000004351615107355264025773 0ustar rootroot// go run mksysnum.go https://cvsweb.openbsd.org/cgi-bin/cvsweb/~checkout~/src/sys/kern/syscalls.master // Code generated by the command above; see README.md. DO NOT EDIT. //go:build riscv64 && openbsd package unix // Deprecated: Use libc wrappers instead of direct syscalls. 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_GETENTROPY = 7 // { int sys_getentropy(void *buf, size_t nbyte); } SYS___TFORK = 8 // { int sys___tfork(const struct __tfork *param, size_t psize); } 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, int options, struct rusage *rusage); } 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, dev_t dev); } 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_OBREAK = 17 // { int sys_obreak(char *nsize); } break SYS_GETDTABLECOUNT = 18 // { int sys_getdtablecount(void); } SYS_GETRUSAGE = 19 // { int sys_getrusage(int who, struct rusage *rusage); } SYS_GETPID = 20 // { pid_t sys_getpid(void); } SYS_MOUNT = 21 // { int sys_mount(const char *type, const char *path, int flags, void *data); } 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, 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 amode); } 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_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, struct stat *buf, int flag); } SYS_GETEGID = 43 // { gid_t sys_getegid(void); } SYS_PROFIL = 44 // { int sys_profil(caddr_t 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_SIGACTION = 46 // { int sys_sigaction(int signum, const struct sigaction *nsa, struct sigaction *osa); } SYS_GETGID = 47 // { gid_t sys_getgid(void); } SYS_SIGPROCMASK = 48 // { int sys_sigprocmask(int how, sigset_t mask); } 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, u_long com, ... void *data); } 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, 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_GETFSSTAT = 62 // { int sys_getfsstat(struct statfs *buf, size_t bufsize, int flags); } SYS_STATFS = 63 // { int sys_statfs(const char *path, struct statfs *buf); } SYS_FSTATFS = 64 // { int sys_fstatfs(int fd, struct statfs *buf); } SYS_FHSTATFS = 65 // { int sys_fhstatfs(const fhandle_t *fhp, struct statfs *buf); } SYS_VFORK = 66 // { int sys_vfork(void); } SYS_GETTIMEOFDAY = 67 // { int sys_gettimeofday(struct timeval *tp, struct timezone *tzp); } SYS_SETTIMEOFDAY = 68 // { int sys_settimeofday(const struct timeval *tv, const struct timezone *tzp); } SYS_SETITIMER = 69 // { int sys_setitimer(int which, const struct itimerval *itv, struct itimerval *oitv); } SYS_GETITIMER = 70 // { int sys_getitimer(int which, struct itimerval *itv); } SYS_SELECT = 71 // { int sys_select(int nd, fd_set *in, fd_set *ou, fd_set *ex, struct timeval *tv); } SYS_KEVENT = 72 // { int sys_kevent(int fd, const struct kevent *changelist, int nchanges, struct kevent *eventlist, int nevents, const struct timespec *timeout); } 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_UTIMES = 76 // { int sys_utimes(const char *path, const struct timeval *tptr); } SYS_FUTIMES = 77 // { int sys_futimes(int fd, const struct timeval *tptr); } 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_FUTEX = 83 // { int sys_futex(uint32_t *f, int op, int val, const struct timespec *timeout, uint32_t *g); } SYS_UTIMENSAT = 84 // { int sys_utimensat(int fd, const char *path, const struct timespec *times, int flag); } SYS_FUTIMENS = 85 // { int sys_futimens(int fd, const struct timespec *times); } SYS_KBIND = 86 // { int sys_kbind(const struct __kbind *param, size_t psize, int64_t proc_cookie); } SYS_CLOCK_GETTIME = 87 // { int sys_clock_gettime(clockid_t clock_id, struct timespec *tp); } SYS_CLOCK_SETTIME = 88 // { int sys_clock_settime(clockid_t clock_id, const struct timespec *tp); } SYS_CLOCK_GETRES = 89 // { int sys_clock_getres(clockid_t clock_id, struct timespec *tp); } SYS_DUP2 = 90 // { int sys_dup2(int from, int to); } SYS_NANOSLEEP = 91 // { int sys_nanosleep(const struct timespec *rqtp, struct timespec *rmtp); } SYS_FCNTL = 92 // { int sys_fcntl(int fd, int cmd, ... void *arg); } SYS_ACCEPT4 = 93 // { int sys_accept4(int s, struct sockaddr *name, socklen_t *anamelen, int flags); } SYS___THRSLEEP = 94 // { int sys___thrsleep(const volatile void *ident, clockid_t clock_id, const struct timespec *tp, void *lock, const int *abort); } 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, socklen_t namelen); } 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_PIPE2 = 101 // { int sys_pipe2(int *fdp, int flags); } SYS_DUP3 = 102 // { int sys_dup3(int from, int to, int flags); } SYS_SIGRETURN = 103 // { int sys_sigreturn(struct sigcontext *sigcntxp); } 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_CHFLAGSAT = 107 // { int sys_chflagsat(int fd, const char *path, u_int flags, int atflags); } SYS_PLEDGE = 108 // { int sys_pledge(const char *promises, const char *execpromises); } SYS_PPOLL = 109 // { int sys_ppoll(struct pollfd *fds, u_int nfds, const struct timespec *ts, const sigset_t *mask); } SYS_PSELECT = 110 // { int sys_pselect(int nd, fd_set *in, fd_set *ou, fd_set *ex, const struct timespec *ts, const sigset_t *mask); } SYS_SIGSUSPEND = 111 // { int sys_sigsuspend(int mask); } SYS_SENDSYSLOG = 112 // { int sys_sendsyslog(const char *buf, size_t nbyte, int flags); } SYS_UNVEIL = 114 // { int sys_unveil(const char *path, const char *permissions); } SYS_GETSOCKOPT = 118 // { int sys_getsockopt(int s, int level, int name, void *val, socklen_t *avalsize); } SYS_THRKILL = 119 // { int sys_thrkill(pid_t tid, int signum, void *tcb); } 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_KILL = 122 // { int sys_kill(int pid, int signum); } 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_ADJTIME = 140 // { int sys_adjtime(const struct timeval *delta, struct timeval *olddelta); } SYS_GETLOGIN_R = 141 // { int sys_getlogin_r(char *namebuf, u_int namelen); } SYS_SETSID = 147 // { int sys_setsid(void); } SYS_QUOTACTL = 148 // { int sys_quotactl(const char *path, int cmd, int uid, char *arg); } 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, 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_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, 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, 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_GETPGID = 207 // { pid_t sys_getpgid(pid_t pid); } SYS_UTRACE = 209 // { int sys_utrace(const char *label, const void *addr, size_t len); } 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, int msgflg); } SYS_MSGRCV = 227 // { int 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_MINHERIT = 250 // { int sys_minherit(void *addr, size_t len, int inherit); } SYS_POLL = 252 // { int sys_poll(struct pollfd *fds, u_int nfds, int timeout); } 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, const struct iovec *iovp, int iovcnt, int pad, off_t offset); } SYS_PWRITEV = 268 // { ssize_t sys_pwritev(int fd, const struct iovec *iovp, int iovcnt, int pad, off_t offset); } 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, uid_t *suid); } SYS_SETRESUID = 282 // { int sys_setresuid(uid_t ruid, uid_t euid, uid_t suid); } SYS_GETRESGID = 283 // { int sys_getresgid(gid_t *rgid, gid_t *egid, gid_t *sgid); } SYS_SETRESGID = 284 // { int sys_setresgid(gid_t rgid, gid_t egid, gid_t sgid); } SYS_MQUERY = 286 // { void *sys_mquery(void *addr, size_t len, int prot, int flags, int fd, long pad, off_t pos); } SYS_CLOSEFROM = 287 // { int sys_closefrom(int fd); } SYS_SIGALTSTACK = 288 // { int sys_sigaltstack(const struct sigaltstack *nss, struct sigaltstack *oss); } 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, size_t nsops); } SYS_FHSTAT = 294 // { int sys_fhstat(const fhandle_t *fhp, struct stat *sb); } SYS___SEMCTL = 295 // { int sys___semctl(int semid, int semnum, int cmd, union semun *arg); } SYS_SHMCTL = 296 // { int sys_shmctl(int shmid, int cmd, struct shmid_ds *buf); } SYS_MSGCTL = 297 // { int sys_msgctl(int msqid, int cmd, struct msqid_ds *buf); } 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, int n); } SYS___THREXIT = 302 // { void sys___threxit(pid_t *notdead); } SYS___THRSIGDIVERT = 303 // { int sys___thrsigdivert(sigset_t sigmask, siginfo_t *info, const struct timespec *timeout); } SYS___GETCWD = 304 // { int sys___getcwd(char *buf, size_t len); } SYS_ADJFREQ = 305 // { int sys_adjfreq(const int64_t *freq, int64_t *oldfreq); } 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, int amode, int flag); } SYS_FCHMODAT = 314 // { int sys_fchmodat(int fd, const char *path, mode_t mode, int flag); } SYS_FCHOWNAT = 315 // { int sys_fchownat(int fd, const char *path, uid_t uid, gid_t gid, int flag); } SYS_LINKAT = 317 // { int sys_linkat(int fd1, const char *path1, int fd2, const char *path2, int flag); } SYS_MKDIRAT = 318 // { int sys_mkdirat(int fd, const char *path, mode_t mode); } SYS_MKFIFOAT = 319 // { int sys_mkfifoat(int fd, const char *path, mode_t mode); } SYS_MKNODAT = 320 // { int sys_mknodat(int fd, const char *path, mode_t mode, dev_t dev); } SYS_OPENAT = 321 // { int sys_openat(int fd, const char *path, int flags, ... mode_t mode); } SYS_READLINKAT = 322 // { ssize_t sys_readlinkat(int fd, const char *path, char *buf, size_t count); } SYS_RENAMEAT = 323 // { int sys_renameat(int fromfd, const char *from, int tofd, const char *to); } SYS_SYMLINKAT = 324 // { int sys_symlinkat(const char *path, int fd, const char *link); } SYS_UNLINKAT = 325 // { int sys_unlinkat(int fd, const char *path, int flag); } SYS___SET_TCB = 329 // { void sys___set_tcb(void *tcb); } SYS___GET_TCB = 330 // { void *sys___get_tcb(void); } ) dependencies/pkg/mod/golang.org/x/sys@v0.26.0/unix/zerrors_netbsd_amd64.go0000644000000000000000000022054415107355264025207 0ustar rootroot// mkerrors.sh -m64 // Code generated by the command above; see README.md. DO NOT EDIT. //go:build amd64 && netbsd // Code generated by cmd/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 CPUSTATES = 0x5 CP_IDLE = 0x4 CP_INTR = 0x3 CP_NICE = 0x1 CP_SYS = 0x2 CP_USER = 0x0 CREAD = 0x800 CRTSCTS = 0x10000 CS5 = 0x0 CS6 = 0x100 CS7 = 0x200 CS8 = 0x300 CSIZE = 0x300 CSTART = 0x11 CSTATUS = 0x14 CSTOP = 0x13 CSTOPB = 0x400 CSUSP = 0x1a CTL_HW = 0x6 CTL_KERN = 0x1 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 EXTATTR_CMD_START = 0x1 EXTATTR_CMD_STOP = 0x2 EXTATTR_NAMESPACE_SYSTEM = 0x2 EXTATTR_NAMESPACE_USER = 0x1 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 HW_MACHINE = 0x1 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 KERN_HOSTNAME = 0xa KERN_OSRELEASE = 0x2 KERN_OSTYPE = 0x1 KERN_VERSION = 0x4 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 MNT_ASYNC = 0x40 MNT_BASIC_FLAGS = 0xe782807f MNT_DEFEXPORTED = 0x200 MNT_DISCARD = 0x800000 MNT_EXKERB = 0x800 MNT_EXNORESPORT = 0x8000000 MNT_EXPORTANON = 0x400 MNT_EXPORTED = 0x100 MNT_EXPUBLIC = 0x10000000 MNT_EXRDONLY = 0x80 MNT_EXTATTR = 0x1000000 MNT_FORCE = 0x80000 MNT_GETARGS = 0x400000 MNT_IGNORE = 0x100000 MNT_LAZY = 0x3 MNT_LOCAL = 0x1000 MNT_LOG = 0x2000000 MNT_NOATIME = 0x4000000 MNT_NOCOREDUMP = 0x8000 MNT_NODEV = 0x10 MNT_NODEVMTIME = 0x40000000 MNT_NOEXEC = 0x4 MNT_NOSUID = 0x8 MNT_NOWAIT = 0x2 MNT_OP_FLAGS = 0x4d0000 MNT_QUOTA = 0x2000 MNT_RDONLY = 0x1 MNT_RELATIME = 0x20000 MNT_RELOAD = 0x40000 MNT_ROOTFS = 0x4000 MNT_SOFTDEP = 0x80000000 MNT_SYMPERM = 0x20000000 MNT_SYNCHRONOUS = 0x2 MNT_UNION = 0x20 MNT_UPDATE = 0x10000 MNT_VISFLAGMASK = 0xff90ffff MNT_WAIT = 0x1 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 NFDBITS = 0x20 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_MEMLOCK = 0x6 RLIMIT_NOFILE = 0x8 RLIMIT_NPROC = 0x7 RLIMIT_RSS = 0x5 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 errorList = [...]struct { num syscall.Errno name string desc string }{ {1, "EPERM", "operation not permitted"}, {2, "ENOENT", "no such file or directory"}, {3, "ESRCH", "no such process"}, {4, "EINTR", "interrupted system call"}, {5, "EIO", "input/output error"}, {6, "ENXIO", "device not configured"}, {7, "E2BIG", "argument list too long"}, {8, "ENOEXEC", "exec format error"}, {9, "EBADF", "bad file descriptor"}, {10, "ECHILD", "no child processes"}, {11, "EDEADLK", "resource deadlock avoided"}, {12, "ENOMEM", "cannot allocate memory"}, {13, "EACCES", "permission denied"}, {14, "EFAULT", "bad address"}, {15, "ENOTBLK", "block device required"}, {16, "EBUSY", "device busy"}, {17, "EEXIST", "file exists"}, {18, "EXDEV", "cross-device link"}, {19, "ENODEV", "operation not supported by device"}, {20, "ENOTDIR", "not a directory"}, {21, "EISDIR", "is a directory"}, {22, "EINVAL", "invalid argument"}, {23, "ENFILE", "too many open files in system"}, {24, "EMFILE", "too many open files"}, {25, "ENOTTY", "inappropriate ioctl for device"}, {26, "ETXTBSY", "text file busy"}, {27, "EFBIG", "file too large"}, {28, "ENOSPC", "no space left on device"}, {29, "ESPIPE", "illegal seek"}, {30, "EROFS", "read-only file system"}, {31, "EMLINK", "too many links"}, {32, "EPIPE", "broken pipe"}, {33, "EDOM", "numerical argument out of domain"}, {34, "ERANGE", "result too large or too small"}, {35, "EAGAIN", "resource temporarily unavailable"}, {36, "EINPROGRESS", "operation now in progress"}, {37, "EALREADY", "operation already in progress"}, {38, "ENOTSOCK", "socket operation on non-socket"}, {39, "EDESTADDRREQ", "destination address required"}, {40, "EMSGSIZE", "message too long"}, {41, "EPROTOTYPE", "protocol wrong type for socket"}, {42, "ENOPROTOOPT", "protocol option not available"}, {43, "EPROTONOSUPPORT", "protocol not supported"}, {44, "ESOCKTNOSUPPORT", "socket type not supported"}, {45, "EOPNOTSUPP", "operation not supported"}, {46, "EPFNOSUPPORT", "protocol family not supported"}, {47, "EAFNOSUPPORT", "address family not supported by protocol family"}, {48, "EADDRINUSE", "address already in use"}, {49, "EADDRNOTAVAIL", "can't assign requested address"}, {50, "ENETDOWN", "network is down"}, {51, "ENETUNREACH", "network is unreachable"}, {52, "ENETRESET", "network dropped connection on reset"}, {53, "ECONNABORTED", "software caused connection abort"}, {54, "ECONNRESET", "connection reset by peer"}, {55, "ENOBUFS", "no buffer space available"}, {56, "EISCONN", "socket is already connected"}, {57, "ENOTCONN", "socket is not connected"}, {58, "ESHUTDOWN", "can't send after socket shutdown"}, {59, "ETOOMANYREFS", "too many references: can't splice"}, {60, "ETIMEDOUT", "connection timed out"}, {61, "ECONNREFUSED", "connection refused"}, {62, "ELOOP", "too many levels of symbolic links"}, {63, "ENAMETOOLONG", "file name too long"}, {64, "EHOSTDOWN", "host is down"}, {65, "EHOSTUNREACH", "no route to host"}, {66, "ENOTEMPTY", "directory not empty"}, {67, "EPROCLIM", "too many processes"}, {68, "EUSERS", "too many users"}, {69, "EDQUOT", "disc quota exceeded"}, {70, "ESTALE", "stale NFS file handle"}, {71, "EREMOTE", "too many levels of remote in path"}, {72, "EBADRPC", "RPC struct is bad"}, {73, "ERPCMISMATCH", "RPC version wrong"}, {74, "EPROGUNAVAIL", "RPC prog. not avail"}, {75, "EPROGMISMATCH", "program version wrong"}, {76, "EPROCUNAVAIL", "bad procedure for program"}, {77, "ENOLCK", "no locks available"}, {78, "ENOSYS", "function not implemented"}, {79, "EFTYPE", "inappropriate file type or format"}, {80, "EAUTH", "authentication error"}, {81, "ENEEDAUTH", "need authenticator"}, {82, "EIDRM", "identifier removed"}, {83, "ENOMSG", "no message of desired type"}, {84, "EOVERFLOW", "value too large to be stored in data type"}, {85, "EILSEQ", "illegal byte sequence"}, {86, "ENOTSUP", "not supported"}, {87, "ECANCELED", "operation Canceled"}, {88, "EBADMSG", "bad or Corrupt message"}, {89, "ENODATA", "no message available"}, {90, "ENOSR", "no STREAM resources"}, {91, "ENOSTR", "not a STREAM"}, {92, "ETIME", "STREAM ioctl timeout"}, {93, "ENOATTR", "attribute not found"}, {94, "EMULTIHOP", "multihop attempted"}, {95, "ENOLINK", "link has been severed"}, {96, "ELAST", "protocol error"}, } // Signal table var signalList = [...]struct { num syscall.Signal name string desc string }{ {1, "SIGHUP", "hangup"}, {2, "SIGINT", "interrupt"}, {3, "SIGQUIT", "quit"}, {4, "SIGILL", "illegal instruction"}, {5, "SIGTRAP", "trace/BPT trap"}, {6, "SIGIOT", "abort trap"}, {7, "SIGEMT", "EMT trap"}, {8, "SIGFPE", "floating point exception"}, {9, "SIGKILL", "killed"}, {10, "SIGBUS", "bus error"}, {11, "SIGSEGV", "segmentation fault"}, {12, "SIGSYS", "bad system call"}, {13, "SIGPIPE", "broken pipe"}, {14, "SIGALRM", "alarm clock"}, {15, "SIGTERM", "terminated"}, {16, "SIGURG", "urgent I/O condition"}, {17, "SIGSTOP", "stopped (signal)"}, {18, "SIGTSTP", "stopped"}, {19, "SIGCONT", "continued"}, {20, "SIGCHLD", "child exited"}, {21, "SIGTTIN", "stopped (tty input)"}, {22, "SIGTTOU", "stopped (tty output)"}, {23, "SIGIO", "I/O possible"}, {24, "SIGXCPU", "cputime limit exceeded"}, {25, "SIGXFSZ", "filesize limit exceeded"}, {26, "SIGVTALRM", "virtual timer expired"}, {27, "SIGPROF", "profiling timer expired"}, {28, "SIGWINCH", "window size changes"}, {29, "SIGINFO", "information request"}, {30, "SIGUSR1", "user defined signal 1"}, {31, "SIGUSR2", "user defined signal 2"}, {32, "SIGPWR", "power fail/restart"}, } dependencies/pkg/mod/golang.org/x/sys@v0.26.0/unix/syscall_linux_gc.go0000644000000000000000000000075715107355264024513 0ustar rootroot// Copyright 2018 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:build linux && gc package unix // SyscallNoError may be used instead of Syscall for syscalls that don't fail. func SyscallNoError(trap, a1, a2, a3 uintptr) (r1, r2 uintptr) // RawSyscallNoError may be used instead of RawSyscall for syscalls that don't // fail. func RawSyscallNoError(trap, a1, a2, a3 uintptr) (r1, r2 uintptr) dependencies/pkg/mod/golang.org/x/sys@v0.26.0/unix/zsyscall_openbsd_ppc64.go0000644000000000000000000016416315107355264025545 0ustar rootroot// go run mksyscall.go -openbsd -libc -tags openbsd,ppc64 syscall_bsd.go syscall_openbsd.go syscall_openbsd_ppc64.go // Code generated by the command above; see README.md. DO NOT EDIT. //go:build openbsd && ppc64 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 := syscall_rawSyscall(libc_getgroups_trampoline_addr, uintptr(ngid), uintptr(unsafe.Pointer(gid)), 0) n = int(r0) if e1 != 0 { err = errnoErr(e1) } return } var libc_getgroups_trampoline_addr uintptr //go:cgo_import_dynamic libc_getgroups getgroups "libc.so" // THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT func setgroups(ngid int, gid *_Gid_t) (err error) { _, _, e1 := syscall_rawSyscall(libc_setgroups_trampoline_addr, uintptr(ngid), uintptr(unsafe.Pointer(gid)), 0) if e1 != 0 { err = errnoErr(e1) } return } var libc_setgroups_trampoline_addr uintptr //go:cgo_import_dynamic libc_setgroups setgroups "libc.so" // 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 := syscall_syscall6(libc_wait4_trampoline_addr, uintptr(pid), uintptr(unsafe.Pointer(wstatus)), uintptr(options), uintptr(unsafe.Pointer(rusage)), 0, 0) wpid = int(r0) if e1 != 0 { err = errnoErr(e1) } return } var libc_wait4_trampoline_addr uintptr //go:cgo_import_dynamic libc_wait4 wait4 "libc.so" // 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_syscall(libc_accept_trampoline_addr, uintptr(s), uintptr(unsafe.Pointer(rsa)), uintptr(unsafe.Pointer(addrlen))) fd = int(r0) if e1 != 0 { err = errnoErr(e1) } return } var libc_accept_trampoline_addr uintptr //go:cgo_import_dynamic libc_accept accept "libc.so" // 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_syscall(libc_bind_trampoline_addr, uintptr(s), uintptr(addr), uintptr(addrlen)) if e1 != 0 { err = errnoErr(e1) } return } var libc_bind_trampoline_addr uintptr //go:cgo_import_dynamic libc_bind bind "libc.so" // 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_syscall(libc_connect_trampoline_addr, uintptr(s), uintptr(addr), uintptr(addrlen)) if e1 != 0 { err = errnoErr(e1) } return } var libc_connect_trampoline_addr uintptr //go:cgo_import_dynamic libc_connect connect "libc.so" // 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 := syscall_rawSyscall(libc_socket_trampoline_addr, uintptr(domain), uintptr(typ), uintptr(proto)) fd = int(r0) if e1 != 0 { err = errnoErr(e1) } return } var libc_socket_trampoline_addr uintptr //go:cgo_import_dynamic libc_socket socket "libc.so" // 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 := syscall_syscall6(libc_getsockopt_trampoline_addr, uintptr(s), uintptr(level), uintptr(name), uintptr(val), uintptr(unsafe.Pointer(vallen)), 0) if e1 != 0 { err = errnoErr(e1) } return } var libc_getsockopt_trampoline_addr uintptr //go:cgo_import_dynamic libc_getsockopt getsockopt "libc.so" // 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 := syscall_syscall6(libc_setsockopt_trampoline_addr, uintptr(s), uintptr(level), uintptr(name), uintptr(val), uintptr(vallen), 0) if e1 != 0 { err = errnoErr(e1) } return } var libc_setsockopt_trampoline_addr uintptr //go:cgo_import_dynamic libc_setsockopt setsockopt "libc.so" // THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT func getpeername(fd int, rsa *RawSockaddrAny, addrlen *_Socklen) (err error) { _, _, e1 := syscall_rawSyscall(libc_getpeername_trampoline_addr, uintptr(fd), uintptr(unsafe.Pointer(rsa)), uintptr(unsafe.Pointer(addrlen))) if e1 != 0 { err = errnoErr(e1) } return } var libc_getpeername_trampoline_addr uintptr //go:cgo_import_dynamic libc_getpeername getpeername "libc.so" // THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT func getsockname(fd int, rsa *RawSockaddrAny, addrlen *_Socklen) (err error) { _, _, e1 := syscall_rawSyscall(libc_getsockname_trampoline_addr, uintptr(fd), uintptr(unsafe.Pointer(rsa)), uintptr(unsafe.Pointer(addrlen))) if e1 != 0 { err = errnoErr(e1) } return } var libc_getsockname_trampoline_addr uintptr //go:cgo_import_dynamic libc_getsockname getsockname "libc.so" // THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT func Shutdown(s int, how int) (err error) { _, _, e1 := syscall_syscall(libc_shutdown_trampoline_addr, uintptr(s), uintptr(how), 0) if e1 != 0 { err = errnoErr(e1) } return } var libc_shutdown_trampoline_addr uintptr //go:cgo_import_dynamic libc_shutdown shutdown "libc.so" // 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 := syscall_rawSyscall6(libc_socketpair_trampoline_addr, uintptr(domain), uintptr(typ), uintptr(proto), uintptr(unsafe.Pointer(fd)), 0, 0) if e1 != 0 { err = errnoErr(e1) } return } var libc_socketpair_trampoline_addr uintptr //go:cgo_import_dynamic libc_socketpair socketpair "libc.so" // 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 := syscall_syscall6(libc_recvfrom_trampoline_addr, 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 } var libc_recvfrom_trampoline_addr uintptr //go:cgo_import_dynamic libc_recvfrom recvfrom "libc.so" // 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 := syscall_syscall6(libc_sendto_trampoline_addr, uintptr(s), uintptr(_p0), uintptr(len(buf)), uintptr(flags), uintptr(to), uintptr(addrlen)) if e1 != 0 { err = errnoErr(e1) } return } var libc_sendto_trampoline_addr uintptr //go:cgo_import_dynamic libc_sendto sendto "libc.so" // 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_syscall(libc_recvmsg_trampoline_addr, uintptr(s), uintptr(unsafe.Pointer(msg)), uintptr(flags)) n = int(r0) if e1 != 0 { err = errnoErr(e1) } return } var libc_recvmsg_trampoline_addr uintptr //go:cgo_import_dynamic libc_recvmsg recvmsg "libc.so" // 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_syscall(libc_sendmsg_trampoline_addr, uintptr(s), uintptr(unsafe.Pointer(msg)), uintptr(flags)) n = int(r0) if e1 != 0 { err = errnoErr(e1) } return } var libc_sendmsg_trampoline_addr uintptr //go:cgo_import_dynamic libc_sendmsg sendmsg "libc.so" // 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 := syscall_syscall6(libc_kevent_trampoline_addr, uintptr(kq), uintptr(change), uintptr(nchange), uintptr(event), uintptr(nevent), uintptr(unsafe.Pointer(timeout))) n = int(r0) if e1 != 0 { err = errnoErr(e1) } return } var libc_kevent_trampoline_addr uintptr //go:cgo_import_dynamic libc_kevent kevent "libc.so" // 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_syscall(libc_utimes_trampoline_addr, uintptr(unsafe.Pointer(_p0)), uintptr(unsafe.Pointer(timeval)), 0) if e1 != 0 { err = errnoErr(e1) } return } var libc_utimes_trampoline_addr uintptr //go:cgo_import_dynamic libc_utimes utimes "libc.so" // THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT func futimes(fd int, timeval *[2]Timeval) (err error) { _, _, e1 := syscall_syscall(libc_futimes_trampoline_addr, uintptr(fd), uintptr(unsafe.Pointer(timeval)), 0) if e1 != 0 { err = errnoErr(e1) } return } var libc_futimes_trampoline_addr uintptr //go:cgo_import_dynamic libc_futimes futimes "libc.so" // 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_syscall(libc_poll_trampoline_addr, uintptr(unsafe.Pointer(fds)), uintptr(nfds), uintptr(timeout)) n = int(r0) if e1 != 0 { err = errnoErr(e1) } return } var libc_poll_trampoline_addr uintptr //go:cgo_import_dynamic libc_poll poll "libc.so" // THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT func Madvise(b []byte, behav int) (err error) { var _p0 unsafe.Pointer if len(b) > 0 { _p0 = unsafe.Pointer(&b[0]) } else { _p0 = unsafe.Pointer(&_zero) } _, _, e1 := syscall_syscall(libc_madvise_trampoline_addr, uintptr(_p0), uintptr(len(b)), uintptr(behav)) if e1 != 0 { err = errnoErr(e1) } return } var libc_madvise_trampoline_addr uintptr //go:cgo_import_dynamic libc_madvise madvise "libc.so" // 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_syscall(libc_mlock_trampoline_addr, uintptr(_p0), uintptr(len(b)), 0) if e1 != 0 { err = errnoErr(e1) } return } var libc_mlock_trampoline_addr uintptr //go:cgo_import_dynamic libc_mlock mlock "libc.so" // THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT func Mlockall(flags int) (err error) { _, _, e1 := syscall_syscall(libc_mlockall_trampoline_addr, uintptr(flags), 0, 0) if e1 != 0 { err = errnoErr(e1) } return } var libc_mlockall_trampoline_addr uintptr //go:cgo_import_dynamic libc_mlockall mlockall "libc.so" // 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_syscall(libc_mprotect_trampoline_addr, uintptr(_p0), uintptr(len(b)), uintptr(prot)) if e1 != 0 { err = errnoErr(e1) } return } var libc_mprotect_trampoline_addr uintptr //go:cgo_import_dynamic libc_mprotect mprotect "libc.so" // THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT func Msync(b []byte, flags int) (err error) { var _p0 unsafe.Pointer if len(b) > 0 { _p0 = unsafe.Pointer(&b[0]) } else { _p0 = unsafe.Pointer(&_zero) } _, _, e1 := syscall_syscall(libc_msync_trampoline_addr, uintptr(_p0), uintptr(len(b)), uintptr(flags)) if e1 != 0 { err = errnoErr(e1) } return } var libc_msync_trampoline_addr uintptr //go:cgo_import_dynamic libc_msync msync "libc.so" // 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_syscall(libc_munlock_trampoline_addr, uintptr(_p0), uintptr(len(b)), 0) if e1 != 0 { err = errnoErr(e1) } return } var libc_munlock_trampoline_addr uintptr //go:cgo_import_dynamic libc_munlock munlock "libc.so" // THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT func Munlockall() (err error) { _, _, e1 := syscall_syscall(libc_munlockall_trampoline_addr, 0, 0, 0) if e1 != 0 { err = errnoErr(e1) } return } var libc_munlockall_trampoline_addr uintptr //go:cgo_import_dynamic libc_munlockall munlockall "libc.so" // THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT func pipe2(p *[2]_C_int, flags int) (err error) { _, _, e1 := syscall_rawSyscall(libc_pipe2_trampoline_addr, uintptr(unsafe.Pointer(p)), uintptr(flags), 0) if e1 != 0 { err = errnoErr(e1) } return } var libc_pipe2_trampoline_addr uintptr //go:cgo_import_dynamic libc_pipe2 pipe2 "libc.so" // 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_syscall(libc_getdents_trampoline_addr, uintptr(fd), uintptr(_p0), uintptr(len(buf))) n = int(r0) if e1 != 0 { err = errnoErr(e1) } return } var libc_getdents_trampoline_addr uintptr //go:cgo_import_dynamic libc_getdents getdents "libc.so" // 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_syscall(libc_getcwd_trampoline_addr, uintptr(_p0), uintptr(len(buf)), 0) n = int(r0) if e1 != 0 { err = errnoErr(e1) } return } var libc_getcwd_trampoline_addr uintptr //go:cgo_import_dynamic libc_getcwd getcwd "libc.so" // THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT func getresuid(ruid *_C_int, euid *_C_int, suid *_C_int) { syscall_rawSyscall(libc_getresuid_trampoline_addr, uintptr(unsafe.Pointer(ruid)), uintptr(unsafe.Pointer(euid)), uintptr(unsafe.Pointer(suid))) return } var libc_getresuid_trampoline_addr uintptr //go:cgo_import_dynamic libc_getresuid getresuid "libc.so" // THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT func getresgid(rgid *_C_int, egid *_C_int, sgid *_C_int) { syscall_rawSyscall(libc_getresgid_trampoline_addr, uintptr(unsafe.Pointer(rgid)), uintptr(unsafe.Pointer(egid)), uintptr(unsafe.Pointer(sgid))) return } var libc_getresgid_trampoline_addr uintptr //go:cgo_import_dynamic libc_getresgid getresgid "libc.so" // 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_syscall(libc_ioctl_trampoline_addr, uintptr(fd), uintptr(req), uintptr(arg)) if e1 != 0 { err = errnoErr(e1) } return } var libc_ioctl_trampoline_addr uintptr //go:cgo_import_dynamic libc_ioctl ioctl "libc.so" // THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT func ioctlPtr(fd int, req uint, arg unsafe.Pointer) (err error) { _, _, e1 := syscall_syscall(libc_ioctl_trampoline_addr, 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 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 := syscall_syscall6(libc_sysctl_trampoline_addr, 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 } var libc_sysctl_trampoline_addr uintptr //go:cgo_import_dynamic libc_sysctl sysctl "libc.so" // THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT func fcntl(fd int, cmd int, arg int) (n int, err error) { r0, _, e1 := syscall_syscall(libc_fcntl_trampoline_addr, uintptr(fd), uintptr(cmd), uintptr(arg)) n = int(r0) if e1 != 0 { err = errnoErr(e1) } return } var libc_fcntl_trampoline_addr uintptr //go:cgo_import_dynamic libc_fcntl fcntl "libc.so" // THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT func fcntlPtr(fd int, cmd int, arg unsafe.Pointer) (n int, err error) { r0, _, e1 := syscall_syscall(libc_fcntl_trampoline_addr, uintptr(fd), uintptr(cmd), uintptr(arg)) n = 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 := syscall_syscall6(libc_ppoll_trampoline_addr, 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 } var libc_ppoll_trampoline_addr uintptr //go:cgo_import_dynamic libc_ppoll ppoll "libc.so" // 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_syscall(libc_access_trampoline_addr, uintptr(unsafe.Pointer(_p0)), uintptr(mode), 0) if e1 != 0 { err = errnoErr(e1) } return } var libc_access_trampoline_addr uintptr //go:cgo_import_dynamic libc_access access "libc.so" // THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT func Adjtime(delta *Timeval, olddelta *Timeval) (err error) { _, _, e1 := syscall_syscall(libc_adjtime_trampoline_addr, uintptr(unsafe.Pointer(delta)), uintptr(unsafe.Pointer(olddelta)), 0) if e1 != 0 { err = errnoErr(e1) } return } var libc_adjtime_trampoline_addr uintptr //go:cgo_import_dynamic libc_adjtime adjtime "libc.so" // 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_syscall(libc_chdir_trampoline_addr, uintptr(unsafe.Pointer(_p0)), 0, 0) if e1 != 0 { err = errnoErr(e1) } return } var libc_chdir_trampoline_addr uintptr //go:cgo_import_dynamic libc_chdir chdir "libc.so" // 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_syscall(libc_chflags_trampoline_addr, uintptr(unsafe.Pointer(_p0)), uintptr(flags), 0) if e1 != 0 { err = errnoErr(e1) } return } var libc_chflags_trampoline_addr uintptr //go:cgo_import_dynamic libc_chflags chflags "libc.so" // 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_syscall(libc_chmod_trampoline_addr, uintptr(unsafe.Pointer(_p0)), uintptr(mode), 0) if e1 != 0 { err = errnoErr(e1) } return } var libc_chmod_trampoline_addr uintptr //go:cgo_import_dynamic libc_chmod chmod "libc.so" // 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_syscall(libc_chown_trampoline_addr, uintptr(unsafe.Pointer(_p0)), uintptr(uid), uintptr(gid)) if e1 != 0 { err = errnoErr(e1) } return } var libc_chown_trampoline_addr uintptr //go:cgo_import_dynamic libc_chown chown "libc.so" // 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_syscall(libc_chroot_trampoline_addr, uintptr(unsafe.Pointer(_p0)), 0, 0) if e1 != 0 { err = errnoErr(e1) } return } var libc_chroot_trampoline_addr uintptr //go:cgo_import_dynamic libc_chroot chroot "libc.so" // THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT func ClockGettime(clockid int32, time *Timespec) (err error) { _, _, e1 := syscall_syscall(libc_clock_gettime_trampoline_addr, uintptr(clockid), uintptr(unsafe.Pointer(time)), 0) if e1 != 0 { err = errnoErr(e1) } return } var libc_clock_gettime_trampoline_addr uintptr //go:cgo_import_dynamic libc_clock_gettime clock_gettime "libc.so" // THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT func Close(fd int) (err error) { _, _, e1 := syscall_syscall(libc_close_trampoline_addr, uintptr(fd), 0, 0) if e1 != 0 { err = errnoErr(e1) } return } var libc_close_trampoline_addr uintptr //go:cgo_import_dynamic libc_close close "libc.so" // THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT func Dup(fd int) (nfd int, err error) { r0, _, e1 := syscall_syscall(libc_dup_trampoline_addr, uintptr(fd), 0, 0) nfd = int(r0) if e1 != 0 { err = errnoErr(e1) } return } var libc_dup_trampoline_addr uintptr //go:cgo_import_dynamic libc_dup dup "libc.so" // THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT func Dup2(from int, to int) (err error) { _, _, e1 := syscall_syscall(libc_dup2_trampoline_addr, uintptr(from), uintptr(to), 0) if e1 != 0 { err = errnoErr(e1) } return } var libc_dup2_trampoline_addr uintptr //go:cgo_import_dynamic libc_dup2 dup2 "libc.so" // THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT func Dup3(from int, to int, flags int) (err error) { _, _, e1 := syscall_syscall(libc_dup3_trampoline_addr, uintptr(from), uintptr(to), uintptr(flags)) if e1 != 0 { err = errnoErr(e1) } return } var libc_dup3_trampoline_addr uintptr //go:cgo_import_dynamic libc_dup3 dup3 "libc.so" // THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT func Exit(code int) { syscall_syscall(libc_exit_trampoline_addr, uintptr(code), 0, 0) return } var libc_exit_trampoline_addr uintptr //go:cgo_import_dynamic libc_exit exit "libc.so" // 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 := syscall_syscall6(libc_faccessat_trampoline_addr, uintptr(dirfd), uintptr(unsafe.Pointer(_p0)), uintptr(mode), uintptr(flags), 0, 0) if e1 != 0 { err = errnoErr(e1) } return } var libc_faccessat_trampoline_addr uintptr //go:cgo_import_dynamic libc_faccessat faccessat "libc.so" // THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT func Fchdir(fd int) (err error) { _, _, e1 := syscall_syscall(libc_fchdir_trampoline_addr, uintptr(fd), 0, 0) if e1 != 0 { err = errnoErr(e1) } return } var libc_fchdir_trampoline_addr uintptr //go:cgo_import_dynamic libc_fchdir fchdir "libc.so" // THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT func Fchflags(fd int, flags int) (err error) { _, _, e1 := syscall_syscall(libc_fchflags_trampoline_addr, uintptr(fd), uintptr(flags), 0) if e1 != 0 { err = errnoErr(e1) } return } var libc_fchflags_trampoline_addr uintptr //go:cgo_import_dynamic libc_fchflags fchflags "libc.so" // THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT func Fchmod(fd int, mode uint32) (err error) { _, _, e1 := syscall_syscall(libc_fchmod_trampoline_addr, uintptr(fd), uintptr(mode), 0) if e1 != 0 { err = errnoErr(e1) } return } var libc_fchmod_trampoline_addr uintptr //go:cgo_import_dynamic libc_fchmod fchmod "libc.so" // 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 := syscall_syscall6(libc_fchmodat_trampoline_addr, uintptr(dirfd), uintptr(unsafe.Pointer(_p0)), uintptr(mode), uintptr(flags), 0, 0) if e1 != 0 { err = errnoErr(e1) } return } var libc_fchmodat_trampoline_addr uintptr //go:cgo_import_dynamic libc_fchmodat fchmodat "libc.so" // 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_syscall(libc_fchown_trampoline_addr, uintptr(fd), uintptr(uid), uintptr(gid)) if e1 != 0 { err = errnoErr(e1) } return } var libc_fchown_trampoline_addr uintptr //go:cgo_import_dynamic libc_fchown fchown "libc.so" // 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 := syscall_syscall6(libc_fchownat_trampoline_addr, uintptr(dirfd), uintptr(unsafe.Pointer(_p0)), uintptr(uid), uintptr(gid), uintptr(flags), 0) if e1 != 0 { err = errnoErr(e1) } return } var libc_fchownat_trampoline_addr uintptr //go:cgo_import_dynamic libc_fchownat fchownat "libc.so" // THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT func Flock(fd int, how int) (err error) { _, _, e1 := syscall_syscall(libc_flock_trampoline_addr, uintptr(fd), uintptr(how), 0) if e1 != 0 { err = errnoErr(e1) } return } var libc_flock_trampoline_addr uintptr //go:cgo_import_dynamic libc_flock flock "libc.so" // 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_syscall(libc_fpathconf_trampoline_addr, uintptr(fd), uintptr(name), 0) val = int(r0) if e1 != 0 { err = errnoErr(e1) } return } var libc_fpathconf_trampoline_addr uintptr //go:cgo_import_dynamic libc_fpathconf fpathconf "libc.so" // THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT func Fstat(fd int, stat *Stat_t) (err error) { _, _, e1 := syscall_syscall(libc_fstat_trampoline_addr, uintptr(fd), uintptr(unsafe.Pointer(stat)), 0) if e1 != 0 { err = errnoErr(e1) } return } var libc_fstat_trampoline_addr uintptr //go:cgo_import_dynamic libc_fstat fstat "libc.so" // 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 := syscall_syscall6(libc_fstatat_trampoline_addr, uintptr(fd), uintptr(unsafe.Pointer(_p0)), uintptr(unsafe.Pointer(stat)), uintptr(flags), 0, 0) if e1 != 0 { err = errnoErr(e1) } return } var libc_fstatat_trampoline_addr uintptr //go:cgo_import_dynamic libc_fstatat fstatat "libc.so" // THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT func Fstatfs(fd int, stat *Statfs_t) (err error) { _, _, e1 := syscall_syscall(libc_fstatfs_trampoline_addr, uintptr(fd), uintptr(unsafe.Pointer(stat)), 0) if e1 != 0 { err = errnoErr(e1) } return } var libc_fstatfs_trampoline_addr uintptr //go:cgo_import_dynamic libc_fstatfs fstatfs "libc.so" // THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT func Fsync(fd int) (err error) { _, _, e1 := syscall_syscall(libc_fsync_trampoline_addr, uintptr(fd), 0, 0) if e1 != 0 { err = errnoErr(e1) } return } var libc_fsync_trampoline_addr uintptr //go:cgo_import_dynamic libc_fsync fsync "libc.so" // THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT func Ftruncate(fd int, length int64) (err error) { _, _, e1 := syscall_syscall(libc_ftruncate_trampoline_addr, uintptr(fd), uintptr(length), 0) if e1 != 0 { err = errnoErr(e1) } return } var libc_ftruncate_trampoline_addr uintptr //go:cgo_import_dynamic libc_ftruncate ftruncate "libc.so" // THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT func Getegid() (egid int) { r0, _, _ := syscall_rawSyscall(libc_getegid_trampoline_addr, 0, 0, 0) egid = int(r0) return } var libc_getegid_trampoline_addr uintptr //go:cgo_import_dynamic libc_getegid getegid "libc.so" // THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT func Geteuid() (uid int) { r0, _, _ := syscall_rawSyscall(libc_geteuid_trampoline_addr, 0, 0, 0) uid = int(r0) return } var libc_geteuid_trampoline_addr uintptr //go:cgo_import_dynamic libc_geteuid geteuid "libc.so" // THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT func Getgid() (gid int) { r0, _, _ := syscall_rawSyscall(libc_getgid_trampoline_addr, 0, 0, 0) gid = int(r0) return } var libc_getgid_trampoline_addr uintptr //go:cgo_import_dynamic libc_getgid getgid "libc.so" // THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT func Getpgid(pid int) (pgid int, err error) { r0, _, e1 := syscall_rawSyscall(libc_getpgid_trampoline_addr, uintptr(pid), 0, 0) pgid = int(r0) if e1 != 0 { err = errnoErr(e1) } return } var libc_getpgid_trampoline_addr uintptr //go:cgo_import_dynamic libc_getpgid getpgid "libc.so" // THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT func Getpgrp() (pgrp int) { r0, _, _ := syscall_rawSyscall(libc_getpgrp_trampoline_addr, 0, 0, 0) pgrp = int(r0) return } var libc_getpgrp_trampoline_addr uintptr //go:cgo_import_dynamic libc_getpgrp getpgrp "libc.so" // THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT func Getpid() (pid int) { r0, _, _ := syscall_rawSyscall(libc_getpid_trampoline_addr, 0, 0, 0) pid = int(r0) return } var libc_getpid_trampoline_addr uintptr //go:cgo_import_dynamic libc_getpid getpid "libc.so" // THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT func Getppid() (ppid int) { r0, _, _ := syscall_rawSyscall(libc_getppid_trampoline_addr, 0, 0, 0) ppid = int(r0) return } var libc_getppid_trampoline_addr uintptr //go:cgo_import_dynamic libc_getppid getppid "libc.so" // 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_syscall(libc_getpriority_trampoline_addr, uintptr(which), uintptr(who), 0) prio = int(r0) if e1 != 0 { err = errnoErr(e1) } return } var libc_getpriority_trampoline_addr uintptr //go:cgo_import_dynamic libc_getpriority getpriority "libc.so" // THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT func Getrlimit(which int, lim *Rlimit) (err error) { _, _, e1 := syscall_rawSyscall(libc_getrlimit_trampoline_addr, uintptr(which), uintptr(unsafe.Pointer(lim)), 0) if e1 != 0 { err = errnoErr(e1) } return } var libc_getrlimit_trampoline_addr uintptr //go:cgo_import_dynamic libc_getrlimit getrlimit "libc.so" // THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT func Getrtable() (rtable int, err error) { r0, _, e1 := syscall_rawSyscall(libc_getrtable_trampoline_addr, 0, 0, 0) rtable = int(r0) if e1 != 0 { err = errnoErr(e1) } return } var libc_getrtable_trampoline_addr uintptr //go:cgo_import_dynamic libc_getrtable getrtable "libc.so" // THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT func Getrusage(who int, rusage *Rusage) (err error) { _, _, e1 := syscall_rawSyscall(libc_getrusage_trampoline_addr, uintptr(who), uintptr(unsafe.Pointer(rusage)), 0) if e1 != 0 { err = errnoErr(e1) } return } var libc_getrusage_trampoline_addr uintptr //go:cgo_import_dynamic libc_getrusage getrusage "libc.so" // THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT func Getsid(pid int) (sid int, err error) { r0, _, e1 := syscall_rawSyscall(libc_getsid_trampoline_addr, uintptr(pid), 0, 0) sid = int(r0) if e1 != 0 { err = errnoErr(e1) } return } var libc_getsid_trampoline_addr uintptr //go:cgo_import_dynamic libc_getsid getsid "libc.so" // THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT func Gettimeofday(tv *Timeval) (err error) { _, _, e1 := syscall_rawSyscall(libc_gettimeofday_trampoline_addr, uintptr(unsafe.Pointer(tv)), 0, 0) if e1 != 0 { err = errnoErr(e1) } return } var libc_gettimeofday_trampoline_addr uintptr //go:cgo_import_dynamic libc_gettimeofday gettimeofday "libc.so" // THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT func Getuid() (uid int) { r0, _, _ := syscall_rawSyscall(libc_getuid_trampoline_addr, 0, 0, 0) uid = int(r0) return } var libc_getuid_trampoline_addr uintptr //go:cgo_import_dynamic libc_getuid getuid "libc.so" // THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT func Issetugid() (tainted bool) { r0, _, _ := syscall_syscall(libc_issetugid_trampoline_addr, 0, 0, 0) tainted = bool(r0 != 0) return } var libc_issetugid_trampoline_addr uintptr //go:cgo_import_dynamic libc_issetugid issetugid "libc.so" // THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT func Kill(pid int, signum syscall.Signal) (err error) { _, _, e1 := syscall_syscall(libc_kill_trampoline_addr, uintptr(pid), uintptr(signum), 0) if e1 != 0 { err = errnoErr(e1) } return } var libc_kill_trampoline_addr uintptr //go:cgo_import_dynamic libc_kill kill "libc.so" // THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT func Kqueue() (fd int, err error) { r0, _, e1 := syscall_syscall(libc_kqueue_trampoline_addr, 0, 0, 0) fd = int(r0) if e1 != 0 { err = errnoErr(e1) } return } var libc_kqueue_trampoline_addr uintptr //go:cgo_import_dynamic libc_kqueue kqueue "libc.so" // 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_syscall(libc_lchown_trampoline_addr, uintptr(unsafe.Pointer(_p0)), uintptr(uid), uintptr(gid)) if e1 != 0 { err = errnoErr(e1) } return } var libc_lchown_trampoline_addr uintptr //go:cgo_import_dynamic libc_lchown lchown "libc.so" // 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_syscall(libc_link_trampoline_addr, uintptr(unsafe.Pointer(_p0)), uintptr(unsafe.Pointer(_p1)), 0) if e1 != 0 { err = errnoErr(e1) } return } var libc_link_trampoline_addr uintptr //go:cgo_import_dynamic libc_link link "libc.so" // THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT func Linkat(pathfd int, path string, linkfd int, link string, flags int) (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_syscall6(libc_linkat_trampoline_addr, uintptr(pathfd), uintptr(unsafe.Pointer(_p0)), uintptr(linkfd), uintptr(unsafe.Pointer(_p1)), uintptr(flags), 0) if e1 != 0 { err = errnoErr(e1) } return } var libc_linkat_trampoline_addr uintptr //go:cgo_import_dynamic libc_linkat linkat "libc.so" // THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT func Listen(s int, backlog int) (err error) { _, _, e1 := syscall_syscall(libc_listen_trampoline_addr, uintptr(s), uintptr(backlog), 0) if e1 != 0 { err = errnoErr(e1) } return } var libc_listen_trampoline_addr uintptr //go:cgo_import_dynamic libc_listen listen "libc.so" // 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_syscall(libc_lstat_trampoline_addr, uintptr(unsafe.Pointer(_p0)), uintptr(unsafe.Pointer(stat)), 0) if e1 != 0 { err = errnoErr(e1) } return } var libc_lstat_trampoline_addr uintptr //go:cgo_import_dynamic libc_lstat lstat "libc.so" // 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_syscall(libc_mkdir_trampoline_addr, uintptr(unsafe.Pointer(_p0)), uintptr(mode), 0) if e1 != 0 { err = errnoErr(e1) } return } var libc_mkdir_trampoline_addr uintptr //go:cgo_import_dynamic libc_mkdir mkdir "libc.so" // 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_syscall(libc_mkdirat_trampoline_addr, uintptr(dirfd), uintptr(unsafe.Pointer(_p0)), uintptr(mode)) if e1 != 0 { err = errnoErr(e1) } return } var libc_mkdirat_trampoline_addr uintptr //go:cgo_import_dynamic libc_mkdirat mkdirat "libc.so" // 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_syscall(libc_mkfifo_trampoline_addr, uintptr(unsafe.Pointer(_p0)), uintptr(mode), 0) if e1 != 0 { err = errnoErr(e1) } return } var libc_mkfifo_trampoline_addr uintptr //go:cgo_import_dynamic libc_mkfifo mkfifo "libc.so" // THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT func Mkfifoat(dirfd int, path string, mode uint32) (err error) { var _p0 *byte _p0, err = BytePtrFromString(path) if err != nil { return } _, _, e1 := syscall_syscall(libc_mkfifoat_trampoline_addr, uintptr(dirfd), uintptr(unsafe.Pointer(_p0)), uintptr(mode)) if e1 != 0 { err = errnoErr(e1) } return } var libc_mkfifoat_trampoline_addr uintptr //go:cgo_import_dynamic libc_mkfifoat mkfifoat "libc.so" // 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_syscall(libc_mknod_trampoline_addr, uintptr(unsafe.Pointer(_p0)), uintptr(mode), uintptr(dev)) if e1 != 0 { err = errnoErr(e1) } return } var libc_mknod_trampoline_addr uintptr //go:cgo_import_dynamic libc_mknod mknod "libc.so" // 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 := syscall_syscall6(libc_mknodat_trampoline_addr, uintptr(dirfd), uintptr(unsafe.Pointer(_p0)), uintptr(mode), uintptr(dev), 0, 0) if e1 != 0 { err = errnoErr(e1) } return } var libc_mknodat_trampoline_addr uintptr //go:cgo_import_dynamic libc_mknodat mknodat "libc.so" // THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT func Mount(fsType string, dir string, flags int, data unsafe.Pointer) (err error) { var _p0 *byte _p0, err = BytePtrFromString(fsType) if err != nil { return } var _p1 *byte _p1, err = BytePtrFromString(dir) if err != nil { return } _, _, e1 := syscall_syscall6(libc_mount_trampoline_addr, uintptr(unsafe.Pointer(_p0)), uintptr(unsafe.Pointer(_p1)), uintptr(flags), uintptr(data), 0, 0) if e1 != 0 { err = errnoErr(e1) } return } var libc_mount_trampoline_addr uintptr //go:cgo_import_dynamic libc_mount mount "libc.so" // THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT func Nanosleep(time *Timespec, leftover *Timespec) (err error) { _, _, e1 := syscall_syscall(libc_nanosleep_trampoline_addr, uintptr(unsafe.Pointer(time)), uintptr(unsafe.Pointer(leftover)), 0) if e1 != 0 { err = errnoErr(e1) } return } var libc_nanosleep_trampoline_addr uintptr //go:cgo_import_dynamic libc_nanosleep nanosleep "libc.so" // 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_syscall(libc_open_trampoline_addr, uintptr(unsafe.Pointer(_p0)), uintptr(mode), uintptr(perm)) fd = int(r0) if e1 != 0 { err = errnoErr(e1) } return } var libc_open_trampoline_addr uintptr //go:cgo_import_dynamic libc_open open "libc.so" // THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT func Openat(dirfd int, path string, mode int, perm uint32) (fd int, err error) { var _p0 *byte _p0, err = BytePtrFromString(path) if err != nil { return } r0, _, e1 := syscall_syscall6(libc_openat_trampoline_addr, uintptr(dirfd), uintptr(unsafe.Pointer(_p0)), uintptr(mode), uintptr(perm), 0, 0) fd = int(r0) if e1 != 0 { err = errnoErr(e1) } return } var libc_openat_trampoline_addr uintptr //go:cgo_import_dynamic libc_openat openat "libc.so" // 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_syscall(libc_pathconf_trampoline_addr, uintptr(unsafe.Pointer(_p0)), uintptr(name), 0) val = int(r0) if e1 != 0 { err = errnoErr(e1) } return } var libc_pathconf_trampoline_addr uintptr //go:cgo_import_dynamic libc_pathconf pathconf "libc.so" // 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 := syscall_syscall6(libc_pread_trampoline_addr, uintptr(fd), uintptr(_p0), uintptr(len(p)), uintptr(offset), 0, 0) n = int(r0) if e1 != 0 { err = errnoErr(e1) } return } var libc_pread_trampoline_addr uintptr //go:cgo_import_dynamic libc_pread pread "libc.so" // 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 := syscall_syscall6(libc_pwrite_trampoline_addr, uintptr(fd), uintptr(_p0), uintptr(len(p)), uintptr(offset), 0, 0) n = int(r0) if e1 != 0 { err = errnoErr(e1) } return } var libc_pwrite_trampoline_addr uintptr //go:cgo_import_dynamic libc_pwrite pwrite "libc.so" // 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_syscall(libc_read_trampoline_addr, uintptr(fd), uintptr(_p0), uintptr(len(p))) n = int(r0) if e1 != 0 { err = errnoErr(e1) } return } var libc_read_trampoline_addr uintptr //go:cgo_import_dynamic libc_read read "libc.so" // 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_syscall(libc_readlink_trampoline_addr, uintptr(unsafe.Pointer(_p0)), uintptr(_p1), uintptr(len(buf))) n = int(r0) if e1 != 0 { err = errnoErr(e1) } return } var libc_readlink_trampoline_addr uintptr //go:cgo_import_dynamic libc_readlink readlink "libc.so" // 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 := syscall_syscall6(libc_readlinkat_trampoline_addr, uintptr(dirfd), uintptr(unsafe.Pointer(_p0)), uintptr(_p1), uintptr(len(buf)), 0, 0) n = int(r0) if e1 != 0 { err = errnoErr(e1) } return } var libc_readlinkat_trampoline_addr uintptr //go:cgo_import_dynamic libc_readlinkat readlinkat "libc.so" // 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_syscall(libc_rename_trampoline_addr, uintptr(unsafe.Pointer(_p0)), uintptr(unsafe.Pointer(_p1)), 0) if e1 != 0 { err = errnoErr(e1) } return } var libc_rename_trampoline_addr uintptr //go:cgo_import_dynamic libc_rename rename "libc.so" // THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT func Renameat(fromfd int, from string, tofd int, 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_syscall6(libc_renameat_trampoline_addr, uintptr(fromfd), uintptr(unsafe.Pointer(_p0)), uintptr(tofd), uintptr(unsafe.Pointer(_p1)), 0, 0) if e1 != 0 { err = errnoErr(e1) } return } var libc_renameat_trampoline_addr uintptr //go:cgo_import_dynamic libc_renameat renameat "libc.so" // 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_syscall(libc_revoke_trampoline_addr, uintptr(unsafe.Pointer(_p0)), 0, 0) if e1 != 0 { err = errnoErr(e1) } return } var libc_revoke_trampoline_addr uintptr //go:cgo_import_dynamic libc_revoke revoke "libc.so" // 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_syscall(libc_rmdir_trampoline_addr, uintptr(unsafe.Pointer(_p0)), 0, 0) if e1 != 0 { err = errnoErr(e1) } return } var libc_rmdir_trampoline_addr uintptr //go:cgo_import_dynamic libc_rmdir rmdir "libc.so" // 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_syscall(libc_lseek_trampoline_addr, uintptr(fd), uintptr(offset), uintptr(whence)) newoffset = int64(r0) if e1 != 0 { err = errnoErr(e1) } return } var libc_lseek_trampoline_addr uintptr //go:cgo_import_dynamic libc_lseek lseek "libc.so" // 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 := syscall_syscall6(libc_select_trampoline_addr, 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 } var libc_select_trampoline_addr uintptr //go:cgo_import_dynamic libc_select select "libc.so" // THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT func Setegid(egid int) (err error) { _, _, e1 := syscall_rawSyscall(libc_setegid_trampoline_addr, uintptr(egid), 0, 0) if e1 != 0 { err = errnoErr(e1) } return } var libc_setegid_trampoline_addr uintptr //go:cgo_import_dynamic libc_setegid setegid "libc.so" // THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT func Seteuid(euid int) (err error) { _, _, e1 := syscall_rawSyscall(libc_seteuid_trampoline_addr, uintptr(euid), 0, 0) if e1 != 0 { err = errnoErr(e1) } return } var libc_seteuid_trampoline_addr uintptr //go:cgo_import_dynamic libc_seteuid seteuid "libc.so" // THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT func Setgid(gid int) (err error) { _, _, e1 := syscall_rawSyscall(libc_setgid_trampoline_addr, uintptr(gid), 0, 0) if e1 != 0 { err = errnoErr(e1) } return } var libc_setgid_trampoline_addr uintptr //go:cgo_import_dynamic libc_setgid setgid "libc.so" // 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_syscall(libc_setlogin_trampoline_addr, uintptr(unsafe.Pointer(_p0)), 0, 0) if e1 != 0 { err = errnoErr(e1) } return } var libc_setlogin_trampoline_addr uintptr //go:cgo_import_dynamic libc_setlogin setlogin "libc.so" // THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT func Setpgid(pid int, pgid int) (err error) { _, _, e1 := syscall_rawSyscall(libc_setpgid_trampoline_addr, uintptr(pid), uintptr(pgid), 0) if e1 != 0 { err = errnoErr(e1) } return } var libc_setpgid_trampoline_addr uintptr //go:cgo_import_dynamic libc_setpgid setpgid "libc.so" // 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_syscall(libc_setpriority_trampoline_addr, uintptr(which), uintptr(who), uintptr(prio)) if e1 != 0 { err = errnoErr(e1) } return } var libc_setpriority_trampoline_addr uintptr //go:cgo_import_dynamic libc_setpriority setpriority "libc.so" // THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT func Setregid(rgid int, egid int) (err error) { _, _, e1 := syscall_rawSyscall(libc_setregid_trampoline_addr, uintptr(rgid), uintptr(egid), 0) if e1 != 0 { err = errnoErr(e1) } return } var libc_setregid_trampoline_addr uintptr //go:cgo_import_dynamic libc_setregid setregid "libc.so" // THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT func Setreuid(ruid int, euid int) (err error) { _, _, e1 := syscall_rawSyscall(libc_setreuid_trampoline_addr, uintptr(ruid), uintptr(euid), 0) if e1 != 0 { err = errnoErr(e1) } return } var libc_setreuid_trampoline_addr uintptr //go:cgo_import_dynamic libc_setreuid setreuid "libc.so" // THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT func Setresgid(rgid int, egid int, sgid int) (err error) { _, _, e1 := syscall_rawSyscall(libc_setresgid_trampoline_addr, uintptr(rgid), uintptr(egid), uintptr(sgid)) if e1 != 0 { err = errnoErr(e1) } return } var libc_setresgid_trampoline_addr uintptr //go:cgo_import_dynamic libc_setresgid setresgid "libc.so" // THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT func Setresuid(ruid int, euid int, suid int) (err error) { _, _, e1 := syscall_rawSyscall(libc_setresuid_trampoline_addr, uintptr(ruid), uintptr(euid), uintptr(suid)) if e1 != 0 { err = errnoErr(e1) } return } var libc_setresuid_trampoline_addr uintptr //go:cgo_import_dynamic libc_setresuid setresuid "libc.so" // THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT func Setrtable(rtable int) (err error) { _, _, e1 := syscall_rawSyscall(libc_setrtable_trampoline_addr, uintptr(rtable), 0, 0) if e1 != 0 { err = errnoErr(e1) } return } var libc_setrtable_trampoline_addr uintptr //go:cgo_import_dynamic libc_setrtable setrtable "libc.so" // THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT func Setsid() (pid int, err error) { r0, _, e1 := syscall_rawSyscall(libc_setsid_trampoline_addr, 0, 0, 0) pid = int(r0) if e1 != 0 { err = errnoErr(e1) } return } var libc_setsid_trampoline_addr uintptr //go:cgo_import_dynamic libc_setsid setsid "libc.so" // THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT func Settimeofday(tp *Timeval) (err error) { _, _, e1 := syscall_rawSyscall(libc_settimeofday_trampoline_addr, uintptr(unsafe.Pointer(tp)), 0, 0) if e1 != 0 { err = errnoErr(e1) } return } var libc_settimeofday_trampoline_addr uintptr //go:cgo_import_dynamic libc_settimeofday settimeofday "libc.so" // THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT func Setuid(uid int) (err error) { _, _, e1 := syscall_rawSyscall(libc_setuid_trampoline_addr, uintptr(uid), 0, 0) if e1 != 0 { err = errnoErr(e1) } return } var libc_setuid_trampoline_addr uintptr //go:cgo_import_dynamic libc_setuid setuid "libc.so" // 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_syscall(libc_stat_trampoline_addr, uintptr(unsafe.Pointer(_p0)), uintptr(unsafe.Pointer(stat)), 0) if e1 != 0 { err = errnoErr(e1) } return } var libc_stat_trampoline_addr uintptr //go:cgo_import_dynamic libc_stat stat "libc.so" // 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_syscall(libc_statfs_trampoline_addr, uintptr(unsafe.Pointer(_p0)), uintptr(unsafe.Pointer(stat)), 0) if e1 != 0 { err = errnoErr(e1) } return } var libc_statfs_trampoline_addr uintptr //go:cgo_import_dynamic libc_statfs statfs "libc.so" // 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_syscall(libc_symlink_trampoline_addr, uintptr(unsafe.Pointer(_p0)), uintptr(unsafe.Pointer(_p1)), 0) if e1 != 0 { err = errnoErr(e1) } return } var libc_symlink_trampoline_addr uintptr //go:cgo_import_dynamic libc_symlink symlink "libc.so" // 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_syscall(libc_symlinkat_trampoline_addr, uintptr(unsafe.Pointer(_p0)), uintptr(newdirfd), uintptr(unsafe.Pointer(_p1))) if e1 != 0 { err = errnoErr(e1) } return } var libc_symlinkat_trampoline_addr uintptr //go:cgo_import_dynamic libc_symlinkat symlinkat "libc.so" // THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT func Sync() (err error) { _, _, e1 := syscall_syscall(libc_sync_trampoline_addr, 0, 0, 0) if e1 != 0 { err = errnoErr(e1) } return } var libc_sync_trampoline_addr uintptr //go:cgo_import_dynamic libc_sync sync "libc.so" // 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_syscall(libc_truncate_trampoline_addr, uintptr(unsafe.Pointer(_p0)), uintptr(length), 0) if e1 != 0 { err = errnoErr(e1) } return } var libc_truncate_trampoline_addr uintptr //go:cgo_import_dynamic libc_truncate truncate "libc.so" // THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT func Umask(newmask int) (oldmask int) { r0, _, _ := syscall_syscall(libc_umask_trampoline_addr, uintptr(newmask), 0, 0) oldmask = int(r0) return } var libc_umask_trampoline_addr uintptr //go:cgo_import_dynamic libc_umask umask "libc.so" // 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_syscall(libc_unlink_trampoline_addr, uintptr(unsafe.Pointer(_p0)), 0, 0) if e1 != 0 { err = errnoErr(e1) } return } var libc_unlink_trampoline_addr uintptr //go:cgo_import_dynamic libc_unlink unlink "libc.so" // 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_syscall(libc_unlinkat_trampoline_addr, uintptr(dirfd), uintptr(unsafe.Pointer(_p0)), uintptr(flags)) if e1 != 0 { err = errnoErr(e1) } return } var libc_unlinkat_trampoline_addr uintptr //go:cgo_import_dynamic libc_unlinkat unlinkat "libc.so" // 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_syscall(libc_unmount_trampoline_addr, uintptr(unsafe.Pointer(_p0)), uintptr(flags), 0) if e1 != 0 { err = errnoErr(e1) } return } var libc_unmount_trampoline_addr uintptr //go:cgo_import_dynamic libc_unmount unmount "libc.so" // 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_syscall(libc_write_trampoline_addr, uintptr(fd), uintptr(_p0), uintptr(len(p))) n = int(r0) if e1 != 0 { err = errnoErr(e1) } return } var libc_write_trampoline_addr uintptr //go:cgo_import_dynamic libc_write write "libc.so" // 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 := syscall_syscall6(libc_mmap_trampoline_addr, uintptr(addr), uintptr(length), uintptr(prot), uintptr(flag), uintptr(fd), uintptr(pos)) ret = uintptr(r0) if e1 != 0 { err = errnoErr(e1) } return } var libc_mmap_trampoline_addr uintptr //go:cgo_import_dynamic libc_mmap mmap "libc.so" // THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT func munmap(addr uintptr, length uintptr) (err error) { _, _, e1 := syscall_syscall(libc_munmap_trampoline_addr, uintptr(addr), uintptr(length), 0) if e1 != 0 { err = errnoErr(e1) } return } var libc_munmap_trampoline_addr uintptr //go:cgo_import_dynamic libc_munmap munmap "libc.so" // THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT func getfsstat(stat *Statfs_t, bufsize uintptr, flags int) (n int, err error) { r0, _, e1 := syscall_syscall(libc_getfsstat_trampoline_addr, uintptr(unsafe.Pointer(stat)), uintptr(bufsize), uintptr(flags)) n = int(r0) if e1 != 0 { err = errnoErr(e1) } return } var libc_getfsstat_trampoline_addr uintptr //go:cgo_import_dynamic libc_getfsstat getfsstat "libc.so" // 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 := syscall_syscall6(libc_utimensat_trampoline_addr, uintptr(dirfd), uintptr(unsafe.Pointer(_p0)), uintptr(unsafe.Pointer(times)), uintptr(flags), 0, 0) if e1 != 0 { err = errnoErr(e1) } return } var libc_utimensat_trampoline_addr uintptr //go:cgo_import_dynamic libc_utimensat utimensat "libc.so" // THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT func pledge(promises *byte, execpromises *byte) (err error) { _, _, e1 := syscall_syscall(libc_pledge_trampoline_addr, uintptr(unsafe.Pointer(promises)), uintptr(unsafe.Pointer(execpromises)), 0) if e1 != 0 { err = errnoErr(e1) } return } var libc_pledge_trampoline_addr uintptr //go:cgo_import_dynamic libc_pledge pledge "libc.so" // THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT func unveil(path *byte, flags *byte) (err error) { _, _, e1 := syscall_syscall(libc_unveil_trampoline_addr, uintptr(unsafe.Pointer(path)), uintptr(unsafe.Pointer(flags)), 0) if e1 != 0 { err = errnoErr(e1) } return } var libc_unveil_trampoline_addr uintptr //go:cgo_import_dynamic libc_unveil unveil "libc.so" dependencies/pkg/mod/golang.org/x/sys@v0.26.0/unix/zsyscall_netbsd_arm64.go0000644000000000000000000012770015107355264025363 0ustar rootroot// go run mksyscall.go -netbsd -tags netbsd,arm64 syscall_bsd.go syscall_netbsd.go syscall_netbsd_arm64.go // Code generated by the command above; see README.md. DO NOT EDIT. //go:build netbsd && 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 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 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 } // THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT func Madvise(b []byte, behav 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(behav)) 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 Msync(b []byte, flags int) (err error) { var _p0 unsafe.Pointer if len(b) > 0 { _p0 = unsafe.Pointer(&b[0]) } else { _p0 = unsafe.Pointer(&_zero) } _, _, e1 := Syscall(SYS_MSYNC, uintptr(_p0), uintptr(len(b)), uintptr(flags)) 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 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 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 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 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 ioctlPtr(fd int, req uint, arg unsafe.Pointer) (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 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 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 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 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 Dup3(from int, to int, flags int) (err error) { _, _, e1 := Syscall(SYS_DUP3, uintptr(from), uintptr(to), uintptr(flags)) 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 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 Fadvise(fd int, offset int64, length int64, advice int) (err error) { _, _, e1 := Syscall6(SYS_POSIX_FADVISE, uintptr(fd), 0, uintptr(offset), 0, uintptr(length), 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 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 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 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 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 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 Fstatvfs1(fd int, buf *Statvfs_t, flags int) (err error) { _, _, e1 := Syscall(SYS_FSTATVFS1, uintptr(fd), uintptr(unsafe.Pointer(buf)), uintptr(flags)) 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 Linkat(pathfd int, path string, linkfd int, link string, flags int) (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 := Syscall6(SYS_LINKAT, uintptr(pathfd), uintptr(unsafe.Pointer(_p0)), uintptr(linkfd), 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 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 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 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 Mkfifoat(dirfd int, path string, mode uint32) (err error) { var _p0 *byte _p0, err = BytePtrFromString(path) if err != nil { return } _, _, e1 := Syscall(SYS_MKFIFOAT, 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 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 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 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 Openat(dirfd int, path string, mode int, perm 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(mode), uintptr(perm), 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 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 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 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 Renameat(fromfd int, from string, tofd int, 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 := Syscall6(SYS_RENAMEAT, uintptr(fromfd), uintptr(unsafe.Pointer(_p0)), uintptr(tofd), 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 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(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 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 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 Statvfs1(path string, buf *Statvfs_t, flags int) (err error) { var _p0 *byte _p0, err = BytePtrFromString(path) if err != nil { return } _, _, e1 := Syscall(SYS_STATVFS1, uintptr(unsafe.Pointer(_p0)), uintptr(unsafe.Pointer(buf)), uintptr(flags)) 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 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 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 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 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 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 mremapNetBSD(oldp uintptr, oldsize uintptr, newp uintptr, newsize uintptr, flags int) (xaddr uintptr, err error) { r0, _, e1 := Syscall6(SYS_MREMAP, uintptr(oldp), uintptr(oldsize), uintptr(newp), uintptr(newsize), uintptr(flags), 0) xaddr = uintptr(r0) if e1 != 0 { err = errnoErr(e1) } return } dependencies/pkg/mod/golang.org/x/sys@v0.26.0/unix/ztypes_netbsd_386.go0000644000000000000000000002273315107355264024444 0ustar rootroot// cgo -godefs types_netbsd.go | go run mkpost.go // Code generated by the command above; see README.md. DO NOT EDIT. //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 Atim Timespec Mtim Timespec Ctim Timespec Btim Timespec Size int64 Blocks int64 Blksize uint32 Flags uint32 Gen uint32 Spare [2]uint32 } type Statfs_t [0]byte type Statvfs_t struct { Flag uint32 Bsize uint32 Frsize uint32 Iosize uint32 Blocks uint64 Bfree uint64 Bavail uint64 Bresvd uint64 Files uint64 Ffree uint64 Favail uint64 Fresvd uint64 Syncreads uint64 Syncwrites uint64 Asyncreads uint64 Asyncwrites uint64 Fsidx Fsid Fsid uint32 Namemax uint32 Owner uint32 Spare [4]uint32 Fstypename [32]byte Mntonname [1024]byte Mntfromname [1024]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 } const ( PathMax = 0x400 ) const ( ST_WAIT = 0x1 ST_NOWAIT = 0x2 ) 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 [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 SizeofIovec = 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 Winsize struct { Row uint16 Col uint16 Xpixel uint16 Ypixel uint16 } type Ptmget struct { Cfd int32 Sfd int32 Cn [1024]byte Sn [1024]byte } const ( AT_FDCWD = -0x64 AT_EACCESS = 0x100 AT_SYMLINK_NOFOLLOW = 0x200 AT_SYMLINK_FOLLOW = 0x400 AT_REMOVEDIR = 0x800 ) type PollFd struct { Fd int32 Events int16 Revents int16 } const ( POLLERR = 0x8 POLLHUP = 0x10 POLLIN = 0x1 POLLNVAL = 0x20 POLLOUT = 0x4 POLLPRI = 0x2 POLLRDBAND = 0x80 POLLRDNORM = 0x40 POLLWRBAND = 0x100 POLLWRNORM = 0x4 ) 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 } type Utsname struct { Sysname [256]byte Nodename [256]byte Release [256]byte Version [256]byte Machine [256]byte } const SizeofUvmexp = 0x278 type Uvmexp struct { Pagesize int64 Pagemask int64 Pageshift int64 Npages int64 Free int64 Active int64 Inactive int64 Paging int64 Wired int64 Zeropages int64 Reserve_pagedaemon int64 Reserve_kernel int64 Freemin int64 Freetarg int64 Inactarg int64 Wiredmax int64 Nswapdev int64 Swpages int64 Swpginuse int64 Swpgonly int64 Nswget int64 Unused1 int64 Cpuhit int64 Cpumiss int64 Faults int64 Traps int64 Intrs int64 Swtch int64 Softs int64 Syscalls int64 Pageins int64 Swapins int64 Swapouts int64 Pgswapin int64 Pgswapout int64 Forks int64 Forks_ppwait int64 Forks_sharevm int64 Pga_zerohit int64 Pga_zeromiss int64 Zeroaborts int64 Fltnoram int64 Fltnoanon int64 Fltpgwait int64 Fltpgrele int64 Fltrelck int64 Fltrelckok int64 Fltanget int64 Fltanretry int64 Fltamcopy int64 Fltnamap int64 Fltnomap int64 Fltlget int64 Fltget int64 Flt_anon int64 Flt_acow int64 Flt_obj int64 Flt_prcopy int64 Flt_przero int64 Pdwoke int64 Pdrevs int64 Unused4 int64 Pdfreed int64 Pdscans int64 Pdanscan int64 Pdobscan int64 Pdreact int64 Pdbusy int64 Pdpageouts int64 Pdpending int64 Pddeact int64 Anonpages int64 Filepages int64 Execpages int64 Colorhit int64 Colormiss int64 Ncolors int64 Bootpages int64 Poolpages int64 } const SizeofClockinfo = 0x14 type Clockinfo struct { Hz int32 Tick int32 Tickadj int32 Stathz int32 Profhz int32 } dependencies/pkg/mod/golang.org/x/sys@v0.26.0/unix/sendfile_test.go0000644000000000000000000000443715107355264024000 0ustar rootroot// Copyright 2018 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:build (darwin && amd64) || dragonfly || freebsd || linux || solaris package unix_test import ( "io" "net" "os" "path/filepath" "testing" "golang.org/x/sys/unix" ) func TestSendfile(t *testing.T) { // Set up source data file. name := filepath.Join(t.TempDir(), "source") const contents = "contents" err := os.WriteFile(name, []byte(contents), 0666) if err != nil { t.Fatal(err) } done := make(chan bool) // Start server listening on a socket. ln, err := net.Listen("tcp", "127.0.0.1:0") if err != nil { t.Skipf("listen failed: %s\n", err) } defer ln.Close() go func() { conn, err := ln.Accept() if err != nil { t.Errorf("failed to accept: %v", err) return } defer conn.Close() b, err := io.ReadAll(conn) if err != nil { t.Errorf("failed to read: %v", err) return } if string(b) != contents { t.Errorf("contents not transmitted: got %s (len=%d), want %s", string(b), len(b), contents) } done <- true }() // Open source file. src, err := os.Open(name) if err != nil { t.Fatal(err) } // Send source file to server. conn, err := net.Dial("tcp", ln.Addr().String()) if err != nil { t.Fatal(err) } file, err := conn.(*net.TCPConn).File() if err != nil { t.Fatal(err) } var off int64 n, err := unix.Sendfile(int(file.Fd()), int(src.Fd()), &off, len(contents)) if err != nil { t.Errorf("Sendfile failed %s\n", err) } if n != len(contents) { t.Errorf("written count wrong: want %d, got %d", len(contents), n) } // Note: off is updated on some systems and not others. Oh well. // Linux: increments off by the amount sent. // Darwin: leaves off unchanged. // It would be nice to fix Darwin if we can. if off != 0 && off != int64(len(contents)) { t.Errorf("offset wrong: god %d, want %d or %d", off, 0, len(contents)) } // The cursor position should be unchanged. pos, err := src.Seek(0, 1) if err != nil { t.Errorf("can't get cursor position %s\n", err) } if pos != 0 { t.Errorf("cursor position wrong: got %d, want 0", pos) } file.Close() // Note: required to have the close below really send EOF to the server. conn.Close() // Wait for server to close. <-done } dependencies/pkg/mod/golang.org/x/sys@v0.26.0/unix/ioctl_linux.go0000644000000000000000000002010715107355264023471 0ustar rootroot// Copyright 2021 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 "unsafe" // IoctlRetInt performs an ioctl operation specified by req on a device // associated with opened file descriptor fd, and returns a non-negative // integer that is returned by the ioctl syscall. func IoctlRetInt(fd int, req uint) (int, error) { ret, _, err := Syscall(SYS_IOCTL, uintptr(fd), uintptr(req), 0) if err != 0 { return 0, err } return int(ret), nil } func IoctlGetUint32(fd int, req uint) (uint32, error) { var value uint32 err := ioctlPtr(fd, req, unsafe.Pointer(&value)) return value, err } func IoctlGetRTCTime(fd int) (*RTCTime, error) { var value RTCTime err := ioctlPtr(fd, RTC_RD_TIME, unsafe.Pointer(&value)) return &value, err } func IoctlSetRTCTime(fd int, value *RTCTime) error { return ioctlPtr(fd, RTC_SET_TIME, unsafe.Pointer(value)) } func IoctlGetRTCWkAlrm(fd int) (*RTCWkAlrm, error) { var value RTCWkAlrm err := ioctlPtr(fd, RTC_WKALM_RD, unsafe.Pointer(&value)) return &value, err } func IoctlSetRTCWkAlrm(fd int, value *RTCWkAlrm) error { return ioctlPtr(fd, RTC_WKALM_SET, unsafe.Pointer(value)) } // IoctlGetEthtoolDrvinfo fetches ethtool driver information for the network // device specified by ifname. func IoctlGetEthtoolDrvinfo(fd int, ifname string) (*EthtoolDrvinfo, error) { ifr, err := NewIfreq(ifname) if err != nil { return nil, err } value := EthtoolDrvinfo{Cmd: ETHTOOL_GDRVINFO} ifrd := ifr.withData(unsafe.Pointer(&value)) err = ioctlIfreqData(fd, SIOCETHTOOL, &ifrd) return &value, err } // IoctlGetWatchdogInfo fetches information about a watchdog device from the // Linux watchdog API. For more information, see: // https://www.kernel.org/doc/html/latest/watchdog/watchdog-api.html. func IoctlGetWatchdogInfo(fd int) (*WatchdogInfo, error) { var value WatchdogInfo err := ioctlPtr(fd, WDIOC_GETSUPPORT, unsafe.Pointer(&value)) return &value, err } // IoctlWatchdogKeepalive issues a keepalive ioctl to a watchdog device. For // more information, see: // https://www.kernel.org/doc/html/latest/watchdog/watchdog-api.html. func IoctlWatchdogKeepalive(fd int) error { // arg is ignored and not a pointer, so ioctl is fine instead of ioctlPtr. return ioctl(fd, WDIOC_KEEPALIVE, 0) } // IoctlFileCloneRange performs an FICLONERANGE ioctl operation to clone the // range of data conveyed in value to the file associated with the file // descriptor destFd. See the ioctl_ficlonerange(2) man page for details. func IoctlFileCloneRange(destFd int, value *FileCloneRange) error { return ioctlPtr(destFd, FICLONERANGE, unsafe.Pointer(value)) } // IoctlFileClone performs an FICLONE ioctl operation to clone the entire file // associated with the file description srcFd to the file associated with the // file descriptor destFd. See the ioctl_ficlone(2) man page for details. func IoctlFileClone(destFd, srcFd int) error { return ioctl(destFd, FICLONE, uintptr(srcFd)) } type FileDedupeRange struct { Src_offset uint64 Src_length uint64 Reserved1 uint16 Reserved2 uint32 Info []FileDedupeRangeInfo } type FileDedupeRangeInfo struct { Dest_fd int64 Dest_offset uint64 Bytes_deduped uint64 Status int32 Reserved uint32 } // IoctlFileDedupeRange performs an FIDEDUPERANGE ioctl operation to share the // range of data conveyed in value from the file associated with the file // descriptor srcFd to the value.Info destinations. See the // ioctl_fideduperange(2) man page for details. func IoctlFileDedupeRange(srcFd int, value *FileDedupeRange) error { buf := make([]byte, SizeofRawFileDedupeRange+ len(value.Info)*SizeofRawFileDedupeRangeInfo) rawrange := (*RawFileDedupeRange)(unsafe.Pointer(&buf[0])) rawrange.Src_offset = value.Src_offset rawrange.Src_length = value.Src_length rawrange.Dest_count = uint16(len(value.Info)) rawrange.Reserved1 = value.Reserved1 rawrange.Reserved2 = value.Reserved2 for i := range value.Info { rawinfo := (*RawFileDedupeRangeInfo)(unsafe.Pointer( uintptr(unsafe.Pointer(&buf[0])) + uintptr(SizeofRawFileDedupeRange) + uintptr(i*SizeofRawFileDedupeRangeInfo))) rawinfo.Dest_fd = value.Info[i].Dest_fd rawinfo.Dest_offset = value.Info[i].Dest_offset rawinfo.Bytes_deduped = value.Info[i].Bytes_deduped rawinfo.Status = value.Info[i].Status rawinfo.Reserved = value.Info[i].Reserved } err := ioctlPtr(srcFd, FIDEDUPERANGE, unsafe.Pointer(&buf[0])) // Output for i := range value.Info { rawinfo := (*RawFileDedupeRangeInfo)(unsafe.Pointer( uintptr(unsafe.Pointer(&buf[0])) + uintptr(SizeofRawFileDedupeRange) + uintptr(i*SizeofRawFileDedupeRangeInfo))) value.Info[i].Dest_fd = rawinfo.Dest_fd value.Info[i].Dest_offset = rawinfo.Dest_offset value.Info[i].Bytes_deduped = rawinfo.Bytes_deduped value.Info[i].Status = rawinfo.Status value.Info[i].Reserved = rawinfo.Reserved } return err } func IoctlHIDGetDesc(fd int, value *HIDRawReportDescriptor) error { return ioctlPtr(fd, HIDIOCGRDESC, unsafe.Pointer(value)) } func IoctlHIDGetRawInfo(fd int) (*HIDRawDevInfo, error) { var value HIDRawDevInfo err := ioctlPtr(fd, HIDIOCGRAWINFO, unsafe.Pointer(&value)) return &value, err } func IoctlHIDGetRawName(fd int) (string, error) { var value [_HIDIOCGRAWNAME_LEN]byte err := ioctlPtr(fd, _HIDIOCGRAWNAME, unsafe.Pointer(&value[0])) return ByteSliceToString(value[:]), err } func IoctlHIDGetRawPhys(fd int) (string, error) { var value [_HIDIOCGRAWPHYS_LEN]byte err := ioctlPtr(fd, _HIDIOCGRAWPHYS, unsafe.Pointer(&value[0])) return ByteSliceToString(value[:]), err } func IoctlHIDGetRawUniq(fd int) (string, error) { var value [_HIDIOCGRAWUNIQ_LEN]byte err := ioctlPtr(fd, _HIDIOCGRAWUNIQ, unsafe.Pointer(&value[0])) return ByteSliceToString(value[:]), err } // IoctlIfreq performs an ioctl using an Ifreq structure for input and/or // output. See the netdevice(7) man page for details. func IoctlIfreq(fd int, req uint, value *Ifreq) error { // It is possible we will add more fields to *Ifreq itself later to prevent // misuse, so pass the raw *ifreq directly. return ioctlPtr(fd, req, unsafe.Pointer(&value.raw)) } // TODO(mdlayher): export if and when IfreqData is exported. // ioctlIfreqData performs an ioctl using an ifreqData structure for input // and/or output. See the netdevice(7) man page for details. func ioctlIfreqData(fd int, req uint, value *ifreqData) error { // The memory layout of IfreqData (type-safe) and ifreq (not type-safe) are // identical so pass *IfreqData directly. return ioctlPtr(fd, req, unsafe.Pointer(value)) } // IoctlKCMClone attaches a new file descriptor to a multiplexor by cloning an // existing KCM socket, returning a structure containing the file descriptor of // the new socket. func IoctlKCMClone(fd int) (*KCMClone, error) { var info KCMClone if err := ioctlPtr(fd, SIOCKCMCLONE, unsafe.Pointer(&info)); err != nil { return nil, err } return &info, nil } // IoctlKCMAttach attaches a TCP socket and associated BPF program file // descriptor to a multiplexor. func IoctlKCMAttach(fd int, info KCMAttach) error { return ioctlPtr(fd, SIOCKCMATTACH, unsafe.Pointer(&info)) } // IoctlKCMUnattach unattaches a TCP socket file descriptor from a multiplexor. func IoctlKCMUnattach(fd int, info KCMUnattach) error { return ioctlPtr(fd, SIOCKCMUNATTACH, unsafe.Pointer(&info)) } // IoctlLoopGetStatus64 gets the status of the loop device associated with the // file descriptor fd using the LOOP_GET_STATUS64 operation. func IoctlLoopGetStatus64(fd int) (*LoopInfo64, error) { var value LoopInfo64 if err := ioctlPtr(fd, LOOP_GET_STATUS64, unsafe.Pointer(&value)); err != nil { return nil, err } return &value, nil } // IoctlLoopSetStatus64 sets the status of the loop device associated with the // file descriptor fd using the LOOP_SET_STATUS64 operation. func IoctlLoopSetStatus64(fd int, value *LoopInfo64) error { return ioctlPtr(fd, LOOP_SET_STATUS64, unsafe.Pointer(value)) } // IoctlLoopConfigure configures all loop device parameters in a single step func IoctlLoopConfigure(fd int, value *LoopConfig) error { return ioctlPtr(fd, LOOP_CONFIGURE, unsafe.Pointer(value)) } dependencies/pkg/mod/golang.org/x/sys@v0.26.0/unix/syscall_linux_gccgo_arm.go0000644000000000000000000000112415107355264026030 0ustar rootroot// Copyright 2018 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:build linux && gccgo && arm package unix import ( "syscall" "unsafe" ) func seek(fd int, offset int64, whence int) (int64, syscall.Errno) { var newoffset int64 offsetLow := uint32(offset & 0xffffffff) offsetHigh := uint32((offset >> 32) & 0xffffffff) _, _, err := Syscall6(SYS__LLSEEK, uintptr(fd), uintptr(offsetHigh), uintptr(offsetLow), uintptr(unsafe.Pointer(&newoffset)), uintptr(whence), 0) return newoffset, err } dependencies/pkg/mod/golang.org/x/sys@v0.26.0/unix/sockcmsg_dragonfly.go0000644000000000000000000000104015107355264025011 0ustar rootroot// Copyright 2019 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 // Round the length of a raw sockaddr up to align it properly. func cmsgAlignOf(salen int) int { salign := SizeofPtr if SizeofPtr == 8 && !supportsABI(_dragonflyABIChangeVersion) { // 64-bit Dragonfly before the September 2019 ABI changes still requires // 32-bit aligned access to network subsystem. salign = 4 } return (salen + salign - 1) & ^(salign - 1) } dependencies/pkg/mod/golang.org/x/sys@v0.26.0/unix/zsysnum_darwin_amd64.go0000644000000000000000000004353615107355264025242 0ustar rootroot// go run mksysnum.go /Applications/Xcode.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX10.14.sdk/usr/include/sys/syscall.h // Code generated by the command above; see README.md. DO NOT EDIT. //go:build amd64 && darwin package unix // Deprecated: Use libSystem wrappers instead of direct syscalls. 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_TYPEFILTER = 177 SYS_KDEBUG_TRACE_STRING = 178 SYS_KDEBUG_TRACE64 = 179 SYS_KDEBUG_TRACE = 180 SYS_SETGID = 181 SYS_SETEGID = 182 SYS_SETEUID = 183 SYS_SIGRETURN = 184 SYS_THREAD_SELFCOUNTS = 186 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_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_KEVENT_QOS = 374 SYS_KEVENT_ID = 375 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_PSELECT = 394 SYS_PSELECT_NOCANCEL = 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_USRCTL = 445 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_CLONEFILEAT = 462 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_RENAMEATX_NP = 488 SYS_MREMAP_ENCRYPTED = 489 SYS_NETAGENT_TRIGGER = 490 SYS_STACK_SNAPSHOT_WITH_CONFIG = 491 SYS_MICROSTACKSHOT = 492 SYS_GRAB_PGO_DATA = 493 SYS_PERSONA = 494 SYS_WORK_INTERVAL_CTL = 499 SYS_GETENTROPY = 500 SYS_NECP_OPEN = 501 SYS_NECP_CLIENT_ACTION = 502 SYS___NEXUS_OPEN = 503 SYS___NEXUS_REGISTER = 504 SYS___NEXUS_DEREGISTER = 505 SYS___NEXUS_CREATE = 506 SYS___NEXUS_DESTROY = 507 SYS___NEXUS_GET_OPT = 508 SYS___NEXUS_SET_OPT = 509 SYS___CHANNEL_OPEN = 510 SYS___CHANNEL_GET_INFO = 511 SYS___CHANNEL_SYNC = 512 SYS___CHANNEL_GET_OPT = 513 SYS___CHANNEL_SET_OPT = 514 SYS_ULOCK_WAIT = 515 SYS_ULOCK_WAKE = 516 SYS_FCLONEFILEAT = 517 SYS_FS_SNAPSHOT = 518 SYS_TERMINATE_WITH_PAYLOAD = 520 SYS_ABORT_WITH_PAYLOAD = 521 SYS_NECP_SESSION_OPEN = 522 SYS_NECP_SESSION_ACTION = 523 SYS_SETATTRLISTAT = 524 SYS_NET_QOS_GUIDELINE = 525 SYS_FMOUNT = 526 SYS_NTP_ADJTIME = 527 SYS_NTP_GETTIME = 528 SYS_OS_FAULT_WITH_PAYLOAD = 529 SYS_KQUEUE_WORKLOOP_CTL = 530 SYS___MACH_BRIDGE_REMOTE_TIME = 531 SYS_MAXSYSCALL = 532 SYS_INVALID = 63 ) dependencies/pkg/mod/golang.org/x/sys@v0.26.0/unix/zerrors_freebsd_amd64.go0000644000000000000000000023670315107355264025346 0ustar rootroot// mkerrors.sh -m64 // Code generated by the command above; see README.md. DO NOT EDIT. //go:build amd64 && freebsd // Code generated by cmd/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 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 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 BIOCSETVLANPCP = 0x80044285 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_MOD = 0x90 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 BPF_XOR = 0xa0 BRKINT = 0x2 CAP_ACCEPT = 0x200000020000000 CAP_ACL_CHECK = 0x400000000010000 CAP_ACL_DELETE = 0x400000000020000 CAP_ACL_GET = 0x400000000040000 CAP_ACL_SET = 0x400000000080000 CAP_ALL0 = 0x20007ffffffffff CAP_ALL1 = 0x4000000001fffff CAP_BIND = 0x200000040000000 CAP_BINDAT = 0x200008000000400 CAP_CHFLAGSAT = 0x200000000001400 CAP_CONNECT = 0x200000080000000 CAP_CONNECTAT = 0x200010000000400 CAP_CREATE = 0x200000000000040 CAP_EVENT = 0x400000000000020 CAP_EXTATTR_DELETE = 0x400000000001000 CAP_EXTATTR_GET = 0x400000000002000 CAP_EXTATTR_LIST = 0x400000000004000 CAP_EXTATTR_SET = 0x400000000008000 CAP_FCHDIR = 0x200000000000800 CAP_FCHFLAGS = 0x200000000001000 CAP_FCHMOD = 0x200000000002000 CAP_FCHMODAT = 0x200000000002400 CAP_FCHOWN = 0x200000000004000 CAP_FCHOWNAT = 0x200000000004400 CAP_FCNTL = 0x200000000008000 CAP_FCNTL_ALL = 0x78 CAP_FCNTL_GETFL = 0x8 CAP_FCNTL_GETOWN = 0x20 CAP_FCNTL_SETFL = 0x10 CAP_FCNTL_SETOWN = 0x40 CAP_FEXECVE = 0x200000000000080 CAP_FLOCK = 0x200000000010000 CAP_FPATHCONF = 0x200000000020000 CAP_FSCK = 0x200000000040000 CAP_FSTAT = 0x200000000080000 CAP_FSTATAT = 0x200000000080400 CAP_FSTATFS = 0x200000000100000 CAP_FSYNC = 0x200000000000100 CAP_FTRUNCATE = 0x200000000000200 CAP_FUTIMES = 0x200000000200000 CAP_FUTIMESAT = 0x200000000200400 CAP_GETPEERNAME = 0x200000100000000 CAP_GETSOCKNAME = 0x200000200000000 CAP_GETSOCKOPT = 0x200000400000000 CAP_IOCTL = 0x400000000000080 CAP_IOCTLS_ALL = 0x7fffffffffffffff CAP_KQUEUE = 0x400000000100040 CAP_KQUEUE_CHANGE = 0x400000000100000 CAP_KQUEUE_EVENT = 0x400000000000040 CAP_LINKAT_SOURCE = 0x200020000000400 CAP_LINKAT_TARGET = 0x200000000400400 CAP_LISTEN = 0x200000800000000 CAP_LOOKUP = 0x200000000000400 CAP_MAC_GET = 0x400000000000001 CAP_MAC_SET = 0x400000000000002 CAP_MKDIRAT = 0x200000000800400 CAP_MKFIFOAT = 0x200000001000400 CAP_MKNODAT = 0x200000002000400 CAP_MMAP = 0x200000000000010 CAP_MMAP_R = 0x20000000000001d CAP_MMAP_RW = 0x20000000000001f CAP_MMAP_RWX = 0x20000000000003f CAP_MMAP_RX = 0x20000000000003d CAP_MMAP_W = 0x20000000000001e CAP_MMAP_WX = 0x20000000000003e CAP_MMAP_X = 0x20000000000003c CAP_PDGETPID = 0x400000000000200 CAP_PDKILL = 0x400000000000800 CAP_PDWAIT = 0x400000000000400 CAP_PEELOFF = 0x200001000000000 CAP_POLL_EVENT = 0x400000000000020 CAP_PREAD = 0x20000000000000d CAP_PWRITE = 0x20000000000000e CAP_READ = 0x200000000000001 CAP_RECV = 0x200000000000001 CAP_RENAMEAT_SOURCE = 0x200000004000400 CAP_RENAMEAT_TARGET = 0x200040000000400 CAP_RIGHTS_VERSION = 0x0 CAP_RIGHTS_VERSION_00 = 0x0 CAP_SEEK = 0x20000000000000c CAP_SEEK_TELL = 0x200000000000004 CAP_SEM_GETVALUE = 0x400000000000004 CAP_SEM_POST = 0x400000000000008 CAP_SEM_WAIT = 0x400000000000010 CAP_SEND = 0x200000000000002 CAP_SETSOCKOPT = 0x200002000000000 CAP_SHUTDOWN = 0x200004000000000 CAP_SOCK_CLIENT = 0x200007780000003 CAP_SOCK_SERVER = 0x200007f60000003 CAP_SYMLINKAT = 0x200000008000400 CAP_TTYHOOK = 0x400000000000100 CAP_UNLINKAT = 0x200000010000400 CAP_UNUSED0_44 = 0x200080000000000 CAP_UNUSED0_57 = 0x300000000000000 CAP_UNUSED1_22 = 0x400000000200000 CAP_UNUSED1_57 = 0x500000000000000 CAP_WRITE = 0x200000000000002 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 CPUSTATES = 0x5 CP_IDLE = 0x4 CP_INTR = 0x3 CP_NICE = 0x1 CP_SYS = 0x2 CP_USER = 0x0 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_HW = 0x6 CTL_KERN = 0x1 CTL_MAXNAME = 0x18 CTL_NET = 0x4 DIOCGATTR = 0xc148648e DIOCGDELETE = 0x80106488 DIOCGFLUSH = 0x20006487 DIOCGFRONTSTUFF = 0x40086486 DIOCGFWHEADS = 0x40046483 DIOCGFWSECTORS = 0x40046482 DIOCGIDENT = 0x41006489 DIOCGMEDIASIZE = 0x40086481 DIOCGPHYSPATH = 0x4400648d DIOCGPROVIDERNAME = 0x4400648a DIOCGSECTORSIZE = 0x40046480 DIOCGSTRIPEOFFSET = 0x4008648c DIOCGSTRIPESIZE = 0x4008648b DIOCSKERNELDUMP = 0x80506490 DIOCSKERNELDUMP_FREEBSD11 = 0x80046485 DIOCZONECMD = 0xc080648f 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_BREDR_BB = 0xff DLT_BLUETOOTH_HCI_H4 = 0xbb DLT_BLUETOOTH_HCI_H4_WITH_PHDR = 0xc9 DLT_BLUETOOTH_LE_LL = 0xfb DLT_BLUETOOTH_LE_LL_WITH_PHDR = 0x100 DLT_BLUETOOTH_LINUX_MONITOR = 0xfe DLT_CAN20B = 0xbe DLT_CAN_SOCKETCAN = 0xe3 DLT_CHAOS = 0x5 DLT_CHDLC = 0x68 DLT_CISCO_IOS = 0x76 DLT_CLASS_NETBSD_RAWAF = 0x2240000 DLT_C_HDLC = 0x68 DLT_C_HDLC_WITH_DIR = 0xcd DLT_DBUS = 0xe7 DLT_DECT = 0xdd DLT_DISPLAYPORT_AUX = 0x113 DLT_DOCSIS = 0x8f DLT_DOCSIS31_XRA31 = 0x111 DLT_DVB_CI = 0xeb DLT_ECONET = 0x73 DLT_EN10MB = 0x1 DLT_EN3MB = 0x2 DLT_ENC = 0x6d DLT_EPON = 0x103 DLT_ERF = 0xc5 DLT_ERF_ETH = 0xaf DLT_ERF_POS = 0xb0 DLT_ETHERNET_MPACKET = 0x112 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_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_INFINIBAND = 0xf7 DLT_IPFILTER = 0x74 DLT_IPMB_KONTRON = 0xc7 DLT_IPMB_LINUX = 0xd1 DLT_IPMI_HPM_2 = 0x104 DLT_IPNET = 0xe2 DLT_IPOIB = 0xf2 DLT_IPV4 = 0xe4 DLT_IPV6 = 0xe5 DLT_IP_OVER_FC = 0x7a DLT_ISO_14443 = 0x108 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_LINUX_SLL2 = 0x114 DLT_LOOP = 0x6c DLT_LORATAP = 0x10e DLT_LTALK = 0x72 DLT_MATCHING_MAX = 0x114 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_NETLINK = 0xfd DLT_NFC_LLCP = 0xf5 DLT_NFLOG = 0xef DLT_NG40 = 0xf4 DLT_NORDIC_BLE = 0x110 DLT_NULL = 0x0 DLT_OPENFLOW = 0x10b DLT_PCI_EXP = 0x7d DLT_PFLOG = 0x75 DLT_PFSYNC = 0x79 DLT_PKTAP = 0x102 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_PPP_WITH_DIRECTION = 0xa6 DLT_PRISM_HEADER = 0x77 DLT_PROFIBUS_DL = 0x101 DLT_PRONET = 0x4 DLT_RAIF1 = 0xc6 DLT_RAW = 0xc DLT_RDS = 0x109 DLT_REDBACK_SMARTEDGE = 0x20 DLT_RIO = 0x7c DLT_RTAC_SERIAL = 0xfa DLT_SCCP = 0x8e DLT_SCTP = 0xf8 DLT_SDLC = 0x10c DLT_SITA = 0xc4 DLT_SLIP = 0x8 DLT_SLIP_BSDOS = 0xd DLT_STANAG_5066_D_PDU = 0xed DLT_SUNATM = 0x7b DLT_SYMANTEC_FIREWALL = 0x63 DLT_TI_LLN_SNIFFER = 0x10d DLT_TZSP = 0x80 DLT_USB = 0xba DLT_USBPCAP = 0xf9 DLT_USB_DARWIN = 0x10a DLT_USB_FREEBSD = 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_VSOCK = 0x10f DLT_WATTSTOPPER_DLM = 0x107 DLT_WIHART = 0xdf DLT_WIRESHARK_UPPER_PDU = 0xfc DLT_X2E_SERIAL = 0xd5 DLT_X2E_XORAYA = 0xd6 DLT_ZWAVE_R1_R2 = 0x105 DLT_ZWAVE_R3 = 0x106 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_EMPTY = -0xd EVFILT_FS = -0x9 EVFILT_LIO = -0xa EVFILT_PROC = -0x5 EVFILT_PROCDESC = -0x8 EVFILT_READ = -0x1 EVFILT_SENDFILE = -0xc EVFILT_SIGNAL = -0x6 EVFILT_SYSCOUNT = 0xd EVFILT_TIMER = -0x7 EVFILT_USER = -0xb EVFILT_VNODE = -0x4 EVFILT_WRITE = -0x2 EVNAMEMAP_NAME_SIZE = 0x40 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_FLAG2 = 0x4000 EV_FORCEONESHOT = 0x100 EV_ONESHOT = 0x10 EV_RECEIPT = 0x40 EV_SYSFLAGS = 0xf000 EXTA = 0x4b00 EXTATTR_MAXNAMELEN = 0xff 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 HW_MACHINE = 0x1 ICANON = 0x100 ICMP6_FILTER = 0x12 ICRNL = 0x100 IEXTEN = 0x400 IFAN_ARRIVAL = 0x0 IFAN_DEPARTURE = 0x1 IFCAP_WOL_MAGIC = 0x2000 IFF_ALLMULTI = 0x200 IFF_ALTPHYS = 0x4000 IFF_BROADCAST = 0x2 IFF_CANTCHANGE = 0x218f52 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_NOGROUP = 0x800000 IFF_OACTIVE = 0x400 IFF_POINTOPOINT = 0x10 IFF_PPROMISC = 0x20000 IFF_PROMISC = 0x100 IFF_RENAMING = 0x400000 IFF_RUNNING = 0x40 IFF_SIMPLEX = 0x800 IFF_STATICARP = 0x80000 IFF_UP = 0x1 IFNAMSIZ = 0x10 IFT_BRIDGE = 0xd1 IFT_CARP = 0xf8 IFT_IEEE1394 = 0x90 IFT_INFINIBAND = 0xc7 IFT_L2VLAN = 0x87 IFT_L3IPVLAN = 0x88 IFT_PPP = 0x17 IFT_PROPVIRTUAL = 0x35 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_DCCP = 0x21 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_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_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_BINDMULTI = 0x41 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_FLOWID = 0x43 IPV6_FLOWINFO_MASK = 0xffffff0f IPV6_FLOWLABEL_LEN = 0x14 IPV6_FLOWLABEL_MASK = 0xffff0f00 IPV6_FLOWTYPE = 0x44 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_MMTU = 0x500 IPV6_MSFILTER = 0x4a IPV6_MULTICAST_HOPS = 0xa IPV6_MULTICAST_IF = 0x9 IPV6_MULTICAST_LOOP = 0xb IPV6_NEXTHOP = 0x30 IPV6_ORIGDSTADDR = 0x48 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_RECVFLOWID = 0x46 IPV6_RECVHOPLIMIT = 0x25 IPV6_RECVHOPOPTS = 0x27 IPV6_RECVORIGDSTADDR = 0x48 IPV6_RECVPATHMTU = 0x2b IPV6_RECVPKTINFO = 0x24 IPV6_RECVRSSBUCKETID = 0x47 IPV6_RECVRTHDR = 0x26 IPV6_RECVTCLASS = 0x39 IPV6_RSSBUCKETID = 0x45 IPV6_RSS_LISTEN_BUCKET = 0x42 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 IPV6_VLAN_PCP = 0x4b IP_ADD_MEMBERSHIP = 0xc IP_ADD_SOURCE_MEMBERSHIP = 0x46 IP_BINDANY = 0x18 IP_BINDMULTI = 0x19 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_FLOWID = 0x5a IP_FLOWTYPE = 0x5b 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_MF = 0x2000 IP_MINTTL = 0x42 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_ORIGDSTADDR = 0x1b IP_PORTRANGE = 0x13 IP_PORTRANGE_DEFAULT = 0x0 IP_PORTRANGE_HIGH = 0x1 IP_PORTRANGE_LOW = 0x2 IP_RECVDSTADDR = 0x7 IP_RECVFLOWID = 0x5d IP_RECVIF = 0x14 IP_RECVOPTS = 0x5 IP_RECVORIGDSTADDR = 0x1b IP_RECVRETOPTS = 0x6 IP_RECVRSSBUCKETID = 0x5e IP_RECVTOS = 0x44 IP_RECVTTL = 0x41 IP_RETOPTS = 0x8 IP_RF = 0x8000 IP_RSSBUCKETID = 0x5c IP_RSS_LISTEN_BUCKET = 0x1a 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 IP_VLAN_PCP = 0x4b ISIG = 0x80 ISTRIP = 0x20 ITIMER_PROF = 0x2 ITIMER_REAL = 0x0 ITIMER_VIRTUAL = 0x1 IXANY = 0x800 IXOFF = 0x400 IXON = 0x200 KERN_HOSTNAME = 0xa KERN_OSRELEASE = 0x2 KERN_OSTYPE = 0x1 KERN_VERSION = 0x4 LOCAL_CONNWAIT = 0x4 LOCAL_CREDS = 0x2 LOCAL_PEERCRED = 0x1 LOCAL_VENDOR = 0x80000000 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_GUARD = 0x2000 MAP_HASSEMAPHORE = 0x200 MAP_NOCORE = 0x20000 MAP_NOSYNC = 0x800 MAP_PREFAULT_READ = 0x40000 MAP_PRIVATE = 0x2 MAP_RESERVED0020 = 0x20 MAP_RESERVED0040 = 0x40 MAP_RESERVED0080 = 0x80 MAP_RESERVED0100 = 0x100 MAP_SHARED = 0x1 MAP_STACK = 0x400 MCAST_BLOCK_SOURCE = 0x54 MCAST_EXCLUDE = 0x2 MCAST_INCLUDE = 0x1 MCAST_JOIN_GROUP = 0x50 MCAST_JOIN_SOURCE_GROUP = 0x52 MCAST_LEAVE_GROUP = 0x51 MCAST_LEAVE_SOURCE_GROUP = 0x53 MCAST_UNBLOCK_SOURCE = 0x55 MCAST_UNDEFINED = 0x0 MCL_CURRENT = 0x1 MCL_FUTURE = 0x2 MNT_ACLS = 0x8000000 MNT_ASYNC = 0x40 MNT_AUTOMOUNTED = 0x200000000 MNT_BYFSID = 0x8000000 MNT_CMDFLAGS = 0xd0f0000 MNT_DEFEXPORTED = 0x200 MNT_DELEXPORT = 0x20000 MNT_EXKERB = 0x800 MNT_EXPORTANON = 0x400 MNT_EXPORTED = 0x100 MNT_EXPUBLIC = 0x20000000 MNT_EXRDONLY = 0x80 MNT_FORCE = 0x80000 MNT_GJOURNAL = 0x2000000 MNT_IGNORE = 0x800000 MNT_LAZY = 0x3 MNT_LOCAL = 0x1000 MNT_MULTILABEL = 0x4000000 MNT_NFS4ACLS = 0x10 MNT_NOATIME = 0x10000000 MNT_NOCLUSTERR = 0x40000000 MNT_NOCLUSTERW = 0x80000000 MNT_NOEXEC = 0x4 MNT_NONBUSY = 0x4000000 MNT_NOSUID = 0x8 MNT_NOSYMFOLLOW = 0x400000 MNT_NOWAIT = 0x2 MNT_QUOTA = 0x2000 MNT_RDONLY = 0x1 MNT_RELOAD = 0x40000 MNT_ROOTFS = 0x4000 MNT_SNAPSHOT = 0x1000000 MNT_SOFTDEP = 0x200000 MNT_SUIDDIR = 0x100000 MNT_SUJ = 0x100000000 MNT_SUSPEND = 0x4 MNT_SYNCHRONOUS = 0x2 MNT_UNION = 0x20 MNT_UNTRUSTED = 0x800000000 MNT_UPDATE = 0x10000 MNT_UPDATEMASK = 0xad8d0807e MNT_USER = 0x8000 MNT_VERIFIED = 0x400000000 MNT_VISFLAGMASK = 0xffef0ffff MNT_WAIT = 0x1 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 MSG_WAITFORONE = 0x80000 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 NFDBITS = 0x40 NOFLSH = 0x80000000 NOKERNINFO = 0x2000000 NOTE_ABSTIME = 0x10 NOTE_ATTRIB = 0x8 NOTE_CHILD = 0x4 NOTE_CLOSE = 0x100 NOTE_CLOSE_WRITE = 0x200 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_FILE_POLL = 0x2 NOTE_FORK = 0x40000000 NOTE_LINK = 0x10 NOTE_LOWAT = 0x1 NOTE_MSECONDS = 0x2 NOTE_NSECONDS = 0x8 NOTE_OPEN = 0x80 NOTE_PCTRLMASK = 0xf0000000 NOTE_PDATAMASK = 0xfffff NOTE_READ = 0x400 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 OXTABS = 0x4 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_RESOLVE_BENEATH = 0x800000 O_SEARCH = 0x40000 O_SHLOCK = 0x10 O_SYNC = 0x80 O_TRUNC = 0x400 O_TTY_INIT = 0x80000 O_VERIFY = 0x200000 O_WRONLY = 0x1 PARENB = 0x1000 PARMRK = 0x8 PARODD = 0x2000 PENDIN = 0x20000000 PIOD_READ_D = 0x1 PIOD_READ_I = 0x3 PIOD_WRITE_D = 0x2 PIOD_WRITE_I = 0x4 PRIO_PGRP = 0x1 PRIO_PROCESS = 0x0 PRIO_USER = 0x2 PROT_EXEC = 0x4 PROT_NONE = 0x0 PROT_READ = 0x1 PROT_WRITE = 0x2 PTRACE_DEFAULT = 0x1 PTRACE_EXEC = 0x1 PTRACE_FORK = 0x8 PTRACE_LWP = 0x10 PTRACE_SCE = 0x2 PTRACE_SCX = 0x4 PTRACE_SYSCALL = 0x6 PTRACE_VFORK = 0x20 PT_ATTACH = 0xa PT_CLEARSTEP = 0x10 PT_CONTINUE = 0x7 PT_DETACH = 0xb PT_FIRSTMACH = 0x40 PT_FOLLOW_FORK = 0x17 PT_GETDBREGS = 0x25 PT_GETFPREGS = 0x23 PT_GETFSBASE = 0x47 PT_GETGSBASE = 0x49 PT_GETLWPLIST = 0xf PT_GETNUMLWPS = 0xe PT_GETREGS = 0x21 PT_GETXSTATE = 0x45 PT_GETXSTATE_INFO = 0x44 PT_GET_EVENT_MASK = 0x19 PT_GET_SC_ARGS = 0x1b PT_GET_SC_RET = 0x1c PT_IO = 0xc PT_KILL = 0x8 PT_LWPINFO = 0xd PT_LWP_EVENTS = 0x18 PT_READ_D = 0x2 PT_READ_I = 0x1 PT_RESUME = 0x13 PT_SETDBREGS = 0x26 PT_SETFPREGS = 0x24 PT_SETFSBASE = 0x48 PT_SETGSBASE = 0x4a PT_SETREGS = 0x22 PT_SETSTEP = 0x11 PT_SETXSTATE = 0x46 PT_SET_EVENT_MASK = 0x1a PT_STEP = 0x9 PT_SUSPEND = 0x12 PT_SYSCALL = 0x16 PT_TO_SCE = 0x14 PT_TO_SCX = 0x15 PT_TRACE_ME = 0x0 PT_VM_ENTRY = 0x29 PT_VM_TIMESTAMP = 0x28 PT_WRITE_D = 0x5 PT_WRITE_I = 0x4 P_ZONEID = 0xc RLIMIT_AS = 0xa RLIMIT_CORE = 0x4 RLIMIT_CPU = 0x0 RLIMIT_DATA = 0x2 RLIMIT_FSIZE = 0x1 RLIMIT_MEMLOCK = 0x6 RLIMIT_NOFILE = 0x8 RLIMIT_NPROC = 0x7 RLIMIT_RSS = 0x5 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_FIXEDMTU = 0x80000 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_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_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_BLACKHOLE = 0x40 RT_DEFAULT_FIB = 0x0 RT_HAS_GW = 0x80 RT_HAS_HEADER = 0x10 RT_HAS_HEADER_BIT = 0x4 RT_L2_ME = 0x4 RT_L2_ME_BIT = 0x2 RT_LLE_CACHE = 0x100 RT_MAY_LOOP = 0x8 RT_MAY_LOOP_BIT = 0x3 RT_REJECT = 0x20 RUSAGE_CHILDREN = -0x1 RUSAGE_SELF = 0x0 RUSAGE_THREAD = 0x1 SCM_BINTIME = 0x4 SCM_CREDS = 0x3 SCM_MONOTONIC = 0x6 SCM_REALTIME = 0x5 SCM_RIGHTS = 0x1 SCM_TIMESTAMP = 0x2 SCM_TIME_INFO = 0x7 SEEK_CUR = 0x1 SEEK_DATA = 0x3 SEEK_END = 0x2 SEEK_HOLE = 0x4 SEEK_SET = 0x0 SHUT_RD = 0x0 SHUT_RDWR = 0x2 SHUT_WR = 0x1 SIOCADDMULTI = 0x80206931 SIOCAIFADDR = 0x8040691a SIOCAIFGROUP = 0x80286987 SIOCATMARK = 0x40047307 SIOCDELMULTI = 0x80206932 SIOCDIFADDR = 0x80206919 SIOCDIFGROUP = 0x80286989 SIOCDIFPHYADDR = 0x80206949 SIOCGDRVSPEC = 0xc028697b SIOCGETSGCNT = 0xc0207210 SIOCGETVIFCNT = 0xc028720f SIOCGHIWAT = 0x40047301 SIOCGHWADDR = 0xc020693e SIOCGI2C = 0xc020693d SIOCGIFADDR = 0xc0206921 SIOCGIFALIAS = 0xc044692d SIOCGIFBRDADDR = 0xc0206923 SIOCGIFCAP = 0xc020691f SIOCGIFCONF = 0xc0106924 SIOCGIFDESCR = 0xc020692a SIOCGIFDOWNREASON = 0xc058699a 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 SIOCGIFRSSHASH = 0xc0186997 SIOCGIFRSSKEY = 0xc0946996 SIOCGIFSTATUS = 0xc331693b SIOCGIFXMEDIA = 0xc030698b SIOCGLANPCP = 0xc0206998 SIOCGLOWAT = 0x40047303 SIOCGPGRP = 0x40047309 SIOCGPRIVATE_0 = 0xc0206950 SIOCGPRIVATE_1 = 0xc0206951 SIOCGTUNFIB = 0xc020695e 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 SIOCSLANPCP = 0x80206999 SIOCSLOWAT = 0x80047302 SIOCSPGRP = 0x80047308 SIOCSTUNFIB = 0x8020695f 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_LOCAL = 0x0 SOL_SOCKET = 0xffff SOMAXCONN = 0x80 SO_ACCEPTCONN = 0x2 SO_ACCEPTFILTER = 0x1000 SO_BINTIME = 0x2000 SO_BROADCAST = 0x20 SO_DEBUG = 0x1 SO_DOMAIN = 0x1019 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_MAX_PACING_RATE = 0x1018 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_RERROR = 0x20000 SO_REUSEADDR = 0x4 SO_REUSEPORT = 0x200 SO_REUSEPORT_LB = 0x10000 SO_SETFIB = 0x1014 SO_SNDBUF = 0x1001 SO_SNDLOWAT = 0x1003 SO_SNDTIMEO = 0x1005 SO_TIMESTAMP = 0x400 SO_TS_BINTIME = 0x1 SO_TS_CLOCK = 0x1017 SO_TS_CLOCK_MAX = 0x3 SO_TS_DEFAULT = 0x0 SO_TS_MONOTONIC = 0x3 SO_TS_REALTIME = 0x2 SO_TS_REALTIME_MICRO = 0x0 SO_TYPE = 0x1008 SO_USELOOPBACK = 0x40 SO_USER_COOKIE = 0x1015 SO_VENDOR = 0x80000000 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 TAB0 = 0x0 TAB3 = 0x4 TABDLY = 0x4 TCIFLUSH = 0x1 TCIOFF = 0x3 TCIOFLUSH = 0x3 TCION = 0x4 TCOFLUSH = 0x2 TCOOFF = 0x1 TCOON = 0x2 TCPOPT_EOL = 0x0 TCPOPT_FAST_OPEN = 0x22 TCPOPT_MAXSEG = 0x2 TCPOPT_NOP = 0x1 TCPOPT_PAD = 0x0 TCPOPT_SACK = 0x5 TCPOPT_SACK_PERMITTED = 0x4 TCPOPT_SIGNATURE = 0x13 TCPOPT_TIMESTAMP = 0x8 TCPOPT_WINDOW = 0x3 TCP_BBR_ACK_COMP_ALG = 0x448 TCP_BBR_ALGORITHM = 0x43b TCP_BBR_DRAIN_INC_EXTRA = 0x43c TCP_BBR_DRAIN_PG = 0x42e TCP_BBR_EXTRA_GAIN = 0x449 TCP_BBR_EXTRA_STATE = 0x453 TCP_BBR_FLOOR_MIN_TSO = 0x454 TCP_BBR_HDWR_PACE = 0x451 TCP_BBR_HOLD_TARGET = 0x436 TCP_BBR_IWINTSO = 0x42b TCP_BBR_LOWGAIN_FD = 0x436 TCP_BBR_LOWGAIN_HALF = 0x435 TCP_BBR_LOWGAIN_THRESH = 0x434 TCP_BBR_MAX_RTO = 0x439 TCP_BBR_MIN_RTO = 0x438 TCP_BBR_MIN_TOPACEOUT = 0x455 TCP_BBR_ONE_RETRAN = 0x431 TCP_BBR_PACE_CROSS = 0x442 TCP_BBR_PACE_DEL_TAR = 0x43f TCP_BBR_PACE_OH = 0x435 TCP_BBR_PACE_PER_SEC = 0x43e TCP_BBR_PACE_SEG_MAX = 0x440 TCP_BBR_PACE_SEG_MIN = 0x441 TCP_BBR_POLICER_DETECT = 0x457 TCP_BBR_PROBE_RTT_GAIN = 0x44d TCP_BBR_PROBE_RTT_INT = 0x430 TCP_BBR_PROBE_RTT_LEN = 0x44e TCP_BBR_RACK_RTT_USE = 0x44a TCP_BBR_RECFORCE = 0x42c TCP_BBR_REC_OVER_HPTS = 0x43a TCP_BBR_RETRAN_WTSO = 0x44b TCP_BBR_RWND_IS_APP = 0x42f TCP_BBR_SEND_IWND_IN_TSO = 0x44f TCP_BBR_STARTUP_EXIT_EPOCH = 0x43d TCP_BBR_STARTUP_LOSS_EXIT = 0x432 TCP_BBR_STARTUP_PG = 0x42d TCP_BBR_TMR_PACE_OH = 0x448 TCP_BBR_TSLIMITS = 0x434 TCP_BBR_TSTMP_RAISES = 0x456 TCP_BBR_UNLIMITED = 0x43b TCP_BBR_USEDEL_RATE = 0x437 TCP_BBR_USE_LOWGAIN = 0x433 TCP_BBR_USE_RACK_CHEAT = 0x450 TCP_BBR_UTTER_MAX_TSO = 0x452 TCP_CA_NAME_MAX = 0x10 TCP_CCALGOOPT = 0x41 TCP_CONGESTION = 0x40 TCP_DATA_AFTER_CLOSE = 0x44c TCP_DELACK = 0x48 TCP_FASTOPEN = 0x401 TCP_FASTOPEN_MAX_COOKIE_LEN = 0x10 TCP_FASTOPEN_MIN_COOKIE_LEN = 0x4 TCP_FASTOPEN_PSK_LEN = 0x10 TCP_FUNCTION_BLK = 0x2000 TCP_FUNCTION_NAME_LEN_MAX = 0x20 TCP_INFO = 0x20 TCP_KEEPCNT = 0x400 TCP_KEEPIDLE = 0x100 TCP_KEEPINIT = 0x80 TCP_KEEPINTVL = 0x200 TCP_LOG = 0x22 TCP_LOGBUF = 0x23 TCP_LOGDUMP = 0x25 TCP_LOGDUMPID = 0x26 TCP_LOGID = 0x24 TCP_LOG_ID_LEN = 0x40 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_PCAP_IN = 0x1000 TCP_PCAP_OUT = 0x800 TCP_RACK_EARLY_RECOV = 0x423 TCP_RACK_EARLY_SEG = 0x424 TCP_RACK_GP_INCREASE = 0x446 TCP_RACK_IDLE_REDUCE_HIGH = 0x444 TCP_RACK_MIN_PACE = 0x445 TCP_RACK_MIN_PACE_SEG = 0x446 TCP_RACK_MIN_TO = 0x422 TCP_RACK_PACE_ALWAYS = 0x41f TCP_RACK_PACE_MAX_SEG = 0x41e TCP_RACK_PACE_REDUCE = 0x41d TCP_RACK_PKT_DELAY = 0x428 TCP_RACK_PROP = 0x41b TCP_RACK_PROP_RATE = 0x420 TCP_RACK_PRR_SENDALOT = 0x421 TCP_RACK_REORD_FADE = 0x426 TCP_RACK_REORD_THRESH = 0x425 TCP_RACK_TLP_INC_VAR = 0x429 TCP_RACK_TLP_REDUCE = 0x41c TCP_RACK_TLP_THRESH = 0x427 TCP_RACK_TLP_USE = 0x447 TCP_VENDOR = 0x80000000 TCSAFLUSH = 0x2 TIMER_ABSTIME = 0x1 TIMER_RELTIME = 0x0 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 UTIME_NOW = -0x1 UTIME_OMIT = -0x2 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) EINTEGRITY = syscall.Errno(0x61) EINTR = syscall.Errno(0x4) EINVAL = syscall.Errno(0x16) EIO = syscall.Errno(0x5) EISCONN = syscall.Errno(0x38) EISDIR = syscall.Errno(0x15) ELAST = syscall.Errno(0x61) 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 errorList = [...]struct { num syscall.Errno name string desc string }{ {1, "EPERM", "operation not permitted"}, {2, "ENOENT", "no such file or directory"}, {3, "ESRCH", "no such process"}, {4, "EINTR", "interrupted system call"}, {5, "EIO", "input/output error"}, {6, "ENXIO", "device not configured"}, {7, "E2BIG", "argument list too long"}, {8, "ENOEXEC", "exec format error"}, {9, "EBADF", "bad file descriptor"}, {10, "ECHILD", "no child processes"}, {11, "EDEADLK", "resource deadlock avoided"}, {12, "ENOMEM", "cannot allocate memory"}, {13, "EACCES", "permission denied"}, {14, "EFAULT", "bad address"}, {15, "ENOTBLK", "block device required"}, {16, "EBUSY", "device busy"}, {17, "EEXIST", "file exists"}, {18, "EXDEV", "cross-device link"}, {19, "ENODEV", "operation not supported by device"}, {20, "ENOTDIR", "not a directory"}, {21, "EISDIR", "is a directory"}, {22, "EINVAL", "invalid argument"}, {23, "ENFILE", "too many open files in system"}, {24, "EMFILE", "too many open files"}, {25, "ENOTTY", "inappropriate ioctl for device"}, {26, "ETXTBSY", "text file busy"}, {27, "EFBIG", "file too large"}, {28, "ENOSPC", "no space left on device"}, {29, "ESPIPE", "illegal seek"}, {30, "EROFS", "read-only file system"}, {31, "EMLINK", "too many links"}, {32, "EPIPE", "broken pipe"}, {33, "EDOM", "numerical argument out of domain"}, {34, "ERANGE", "result too large"}, {35, "EWOULDBLOCK", "resource temporarily unavailable"}, {36, "EINPROGRESS", "operation now in progress"}, {37, "EALREADY", "operation already in progress"}, {38, "ENOTSOCK", "socket operation on non-socket"}, {39, "EDESTADDRREQ", "destination address required"}, {40, "EMSGSIZE", "message too long"}, {41, "EPROTOTYPE", "protocol wrong type for socket"}, {42, "ENOPROTOOPT", "protocol not available"}, {43, "EPROTONOSUPPORT", "protocol not supported"}, {44, "ESOCKTNOSUPPORT", "socket type not supported"}, {45, "EOPNOTSUPP", "operation not supported"}, {46, "EPFNOSUPPORT", "protocol family not supported"}, {47, "EAFNOSUPPORT", "address family not supported by protocol family"}, {48, "EADDRINUSE", "address already in use"}, {49, "EADDRNOTAVAIL", "can't assign requested address"}, {50, "ENETDOWN", "network is down"}, {51, "ENETUNREACH", "network is unreachable"}, {52, "ENETRESET", "network dropped connection on reset"}, {53, "ECONNABORTED", "software caused connection abort"}, {54, "ECONNRESET", "connection reset by peer"}, {55, "ENOBUFS", "no buffer space available"}, {56, "EISCONN", "socket is already connected"}, {57, "ENOTCONN", "socket is not connected"}, {58, "ESHUTDOWN", "can't send after socket shutdown"}, {59, "ETOOMANYREFS", "too many references: can't splice"}, {60, "ETIMEDOUT", "operation timed out"}, {61, "ECONNREFUSED", "connection refused"}, {62, "ELOOP", "too many levels of symbolic links"}, {63, "ENAMETOOLONG", "file name too long"}, {64, "EHOSTDOWN", "host is down"}, {65, "EHOSTUNREACH", "no route to host"}, {66, "ENOTEMPTY", "directory not empty"}, {67, "EPROCLIM", "too many processes"}, {68, "EUSERS", "too many users"}, {69, "EDQUOT", "disc quota exceeded"}, {70, "ESTALE", "stale NFS file handle"}, {71, "EREMOTE", "too many levels of remote in path"}, {72, "EBADRPC", "RPC struct is bad"}, {73, "ERPCMISMATCH", "RPC version wrong"}, {74, "EPROGUNAVAIL", "RPC prog. not avail"}, {75, "EPROGMISMATCH", "program version wrong"}, {76, "EPROCUNAVAIL", "bad procedure for program"}, {77, "ENOLCK", "no locks available"}, {78, "ENOSYS", "function not implemented"}, {79, "EFTYPE", "inappropriate file type or format"}, {80, "EAUTH", "authentication error"}, {81, "ENEEDAUTH", "need authenticator"}, {82, "EIDRM", "identifier removed"}, {83, "ENOMSG", "no message of desired type"}, {84, "EOVERFLOW", "value too large to be stored in data type"}, {85, "ECANCELED", "operation canceled"}, {86, "EILSEQ", "illegal byte sequence"}, {87, "ENOATTR", "attribute not found"}, {88, "EDOOFUS", "programming error"}, {89, "EBADMSG", "bad message"}, {90, "EMULTIHOP", "multihop attempted"}, {91, "ENOLINK", "link has been severed"}, {92, "EPROTO", "protocol error"}, {93, "ENOTCAPABLE", "capabilities insufficient"}, {94, "ECAPMODE", "not permitted in capability mode"}, {95, "ENOTRECOVERABLE", "state not recoverable"}, {96, "EOWNERDEAD", "previous owner died"}, {97, "EINTEGRITY", "integrity check failed"}, } // Signal table var signalList = [...]struct { num syscall.Signal name string desc string }{ {1, "SIGHUP", "hangup"}, {2, "SIGINT", "interrupt"}, {3, "SIGQUIT", "quit"}, {4, "SIGILL", "illegal instruction"}, {5, "SIGTRAP", "trace/BPT trap"}, {6, "SIGIOT", "abort trap"}, {7, "SIGEMT", "EMT trap"}, {8, "SIGFPE", "floating point exception"}, {9, "SIGKILL", "killed"}, {10, "SIGBUS", "bus error"}, {11, "SIGSEGV", "segmentation fault"}, {12, "SIGSYS", "bad system call"}, {13, "SIGPIPE", "broken pipe"}, {14, "SIGALRM", "alarm clock"}, {15, "SIGTERM", "terminated"}, {16, "SIGURG", "urgent I/O condition"}, {17, "SIGSTOP", "suspended (signal)"}, {18, "SIGTSTP", "suspended"}, {19, "SIGCONT", "continued"}, {20, "SIGCHLD", "child exited"}, {21, "SIGTTIN", "stopped (tty input)"}, {22, "SIGTTOU", "stopped (tty output)"}, {23, "SIGIO", "I/O possible"}, {24, "SIGXCPU", "cputime limit exceeded"}, {25, "SIGXFSZ", "filesize limit exceeded"}, {26, "SIGVTALRM", "virtual timer expired"}, {27, "SIGPROF", "profiling timer expired"}, {28, "SIGWINCH", "window size changes"}, {29, "SIGINFO", "information request"}, {30, "SIGUSR1", "user defined signal 1"}, {31, "SIGUSR2", "user defined signal 2"}, {32, "SIGTHR", "unknown signal"}, {33, "SIGLIBRT", "unknown signal"}, } dependencies/pkg/mod/golang.org/x/sys@v0.26.0/unix/zsysnum_linux_sparc64.go0000644000000000000000000003314515107355264025457 0ustar rootroot// go run linux/mksysnum.go -Wall -Werror -static -I/tmp/sparc64/include /tmp/sparc64/include/asm/unistd.h // Code generated by the command above; see README.md. DO NOT EDIT. //go: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_VSERVER = 267 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 SYS_STATX = 360 SYS_IO_PGETEVENTS = 361 SYS_PKEY_MPROTECT = 362 SYS_PKEY_ALLOC = 363 SYS_PKEY_FREE = 364 SYS_RSEQ = 365 SYS_SEMTIMEDOP = 392 SYS_SEMGET = 393 SYS_SEMCTL = 394 SYS_SHMGET = 395 SYS_SHMCTL = 396 SYS_SHMAT = 397 SYS_SHMDT = 398 SYS_MSGGET = 399 SYS_MSGSND = 400 SYS_MSGRCV = 401 SYS_MSGCTL = 402 SYS_PIDFD_SEND_SIGNAL = 424 SYS_IO_URING_SETUP = 425 SYS_IO_URING_ENTER = 426 SYS_IO_URING_REGISTER = 427 SYS_OPEN_TREE = 428 SYS_MOVE_MOUNT = 429 SYS_FSOPEN = 430 SYS_FSCONFIG = 431 SYS_FSMOUNT = 432 SYS_FSPICK = 433 SYS_PIDFD_OPEN = 434 SYS_CLOSE_RANGE = 436 SYS_OPENAT2 = 437 SYS_PIDFD_GETFD = 438 SYS_FACCESSAT2 = 439 SYS_PROCESS_MADVISE = 440 SYS_EPOLL_PWAIT2 = 441 SYS_MOUNT_SETATTR = 442 SYS_QUOTACTL_FD = 443 SYS_LANDLOCK_CREATE_RULESET = 444 SYS_LANDLOCK_ADD_RULE = 445 SYS_LANDLOCK_RESTRICT_SELF = 446 SYS_PROCESS_MRELEASE = 448 SYS_FUTEX_WAITV = 449 SYS_SET_MEMPOLICY_HOME_NODE = 450 SYS_CACHESTAT = 451 SYS_FCHMODAT2 = 452 SYS_MAP_SHADOW_STACK = 453 SYS_FUTEX_WAKE = 454 SYS_FUTEX_WAIT = 455 SYS_FUTEX_REQUEUE = 456 SYS_STATMOUNT = 457 SYS_LISTMOUNT = 458 SYS_LSM_GET_SELF_ATTR = 459 SYS_LSM_SET_SELF_ATTR = 460 SYS_LSM_LIST_MODULES = 461 SYS_MSEAL = 462 ) dependencies/pkg/mod/golang.org/x/sys@v0.26.0/unix/syscall_solaris.go0000644000000000000000000007615415107355264024363 0ustar rootroot// 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 ( "fmt" "os" "runtime" "sync" "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) // SockaddrDatalink implements the Sockaddr interface for AF_LINK type sockets. type SockaddrDatalink struct { Family uint16 Index uint16 Type uint8 Nlen uint8 Alen uint8 Slen uint8 Data [244]int8 raw RawSockaddrDatalink } 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 } if err == nil { p[0] = int(pp[0]) p[1] = int(pp[1]) } return nil } //sysnb pipe2(p *[2]_C_int, flags int) (err error) func Pipe2(p []int, flags int) error { if len(p) != 2 { return EINVAL } var pp [2]_C_int err := pipe2(&pp, flags) if err == nil { p[0] = int(pp[0]) p[1] = int(pp[1]) } return err } 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) sa.raw.Addr = sa.Addr 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 sa.raw.Addr = sa.Addr 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 && sl > 3) { // Check sl > 3 so we don't change unnamed socket behavior. 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(fd, &rsa) } // GetsockoptString returns the string value of the socket option opt for the // socket associated with fd at the given socket level. func GetsockoptString(fd, level, opt int) (string, error) { buf := make([]byte, 256) vallen := _Socklen(len(buf)) err := getsockopt(fd, level, opt, unsafe.Pointer(&buf[0]), &vallen) if err != nil { return "", err } return ByteSliceToString(buf[:vallen]), nil } 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]) } // ReadDirent reads directory entries from fd and writes them into buf. 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) // FcntlInt performs a fcntl syscall on fd with the provided command and argument. func FcntlInt(fd uintptr, cmd, arg int) (int, error) { valptr, _, errno := sysvicall6(uintptr(unsafe.Pointer(&procfcntl)), 3, uintptr(fd), uintptr(cmd), uintptr(arg), 0, 0, 0) var err error if errno != 0 { err = errno } return int(valptr), err } // 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(fd int, 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++ } sa.Name = string(unsafe.Slice((*byte)(unsafe.Pointer(&pp.Path[0])), n)) 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]) sa.Addr = pp.Addr 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 sa.Addr = pp.Addr 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(fd, &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 recvmsgRaw(fd int, iov []Iovec, oob []byte, flags int, rsa *RawSockaddrAny) (n, oobn int, recvflags int, err error) { var msg Msghdr msg.Name = (*byte)(unsafe.Pointer(rsa)) msg.Namelen = uint32(SizeofSockaddrAny) var dummy byte if len(oob) > 0 { // receive at least one normal byte if emptyIovecs(iov) { var iova [1]Iovec iova[0].Base = &dummy iova[0].SetLen(1) iov = iova[:] } msg.Accrightslen = int32(len(oob)) } if len(iov) > 0 { msg.Iov = &iov[0] msg.SetIovlen(len(iov)) } if n, err = recvmsg(fd, &msg, flags); n == -1 { return } oobn = int(msg.Accrightslen) return } //sys sendmsg(s int, msg *Msghdr, flags int) (n int, err error) = libsocket.__xnet_sendmsg func sendmsgN(fd int, iov []Iovec, oob []byte, ptr unsafe.Pointer, salen _Socklen, flags int) (n int, err error) { var msg Msghdr msg.Name = (*byte)(unsafe.Pointer(ptr)) msg.Namelen = uint32(salen) var dummy byte var empty bool if len(oob) > 0 { // send at least one normal byte empty = emptyIovecs(iov) if empty { var iova [1]Iovec iova[0].Base = &dummy iova[0].SetLen(1) iov = iova[:] } msg.Accrightslen = int32(len(oob)) } if len(iov) > 0 { msg.Iov = &iov[0] msg.SetIovlen(len(iov)) } if n, err = sendmsg(fd, &msg, flags); err != nil { return 0, err } if len(oob) > 0 && empty { 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) } //sys __makedev(version int, major uint, minor uint) (val uint64) func Mkdev(major, minor uint32) uint64 { return __makedev(NEWDEV, uint(major), uint(minor)) } //sys __major(version int, dev uint64) (val uint) func Major(dev uint64) uint32 { return uint32(__major(NEWDEV, dev)) } //sys __minor(version int, dev uint64) (val uint) func Minor(dev uint64) uint32 { return uint32(__minor(NEWDEV, dev)) } /* * Expose the ioctl function */ //sys ioctlRet(fd int, req int, arg uintptr) (ret int, err error) = libc.ioctl //sys ioctlPtrRet(fd int, req int, arg unsafe.Pointer) (ret int, err error) = libc.ioctl func ioctl(fd int, req int, arg uintptr) (err error) { _, err = ioctlRet(fd, req, arg) return err } func ioctlPtr(fd int, req int, arg unsafe.Pointer) (err error) { _, err = ioctlPtrRet(fd, req, arg) return err } func IoctlSetTermio(fd int, req int, value *Termio) error { return ioctlPtr(fd, req, unsafe.Pointer(value)) } func IoctlGetTermio(fd int, req int) (*Termio, error) { var value Termio err := ioctlPtr(fd, req, unsafe.Pointer(&value)) return &value, err } //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 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) } /* * 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 ClockGettime(clockid int32, time *Timespec) (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 Faccessat(dirfd int, path string, mode uint32, flags int) (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 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 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 Fstatat(fd int, path string, stat *Stat_t, flags int) (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 Getsid(pid int) (sid int, 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 Msync(b []byte, flags 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 //sys Select(nfd int, r *FdSet, w *FdSet, e *FdSet, timeout *Timeval) (n int, err error) //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 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) //sys Sysconf(which int) (n int64, 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 sendfile(outfd int, infd int, offset *int64, count int) (written int, err error) = libsendfile.sendfile //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 // Event Ports type fileObjCookie struct { fobj *fileObj cookie interface{} } // EventPort provides a safe abstraction on top of Solaris/illumos Event Ports. type EventPort struct { port int mu sync.Mutex fds map[uintptr]*fileObjCookie paths map[string]*fileObjCookie // The user cookie presents an interesting challenge from a memory management perspective. // There are two paths by which we can discover that it is no longer in use: // 1. The user calls port_dissociate before any events fire // 2. An event fires and we return it to the user // The tricky situation is if the event has fired in the kernel but // the user hasn't requested/received it yet. // If the user wants to port_dissociate before the event has been processed, // we should handle things gracefully. To do so, we need to keep an extra // reference to the cookie around until the event is processed // thus the otherwise seemingly extraneous "cookies" map // The key of this map is a pointer to the corresponding fCookie cookies map[*fileObjCookie]struct{} } // PortEvent is an abstraction of the port_event C struct. // Compare Source against PORT_SOURCE_FILE or PORT_SOURCE_FD // to see if Path or Fd was the event source. The other will be // uninitialized. type PortEvent struct { Cookie interface{} Events int32 Fd uintptr Path string Source uint16 fobj *fileObj } // NewEventPort creates a new EventPort including the // underlying call to port_create(3c). func NewEventPort() (*EventPort, error) { port, err := port_create() if err != nil { return nil, err } e := &EventPort{ port: port, fds: make(map[uintptr]*fileObjCookie), paths: make(map[string]*fileObjCookie), cookies: make(map[*fileObjCookie]struct{}), } return e, nil } //sys port_create() (n int, err error) //sys port_associate(port int, source int, object uintptr, events int, user *byte) (n int, err error) //sys port_dissociate(port int, source int, object uintptr) (n int, err error) //sys port_get(port int, pe *portEvent, timeout *Timespec) (n int, err error) //sys port_getn(port int, pe *portEvent, max uint32, nget *uint32, timeout *Timespec) (n int, err error) // Close closes the event port. func (e *EventPort) Close() error { e.mu.Lock() defer e.mu.Unlock() err := Close(e.port) if err != nil { return err } e.fds = nil e.paths = nil e.cookies = nil return nil } // PathIsWatched checks to see if path is associated with this EventPort. func (e *EventPort) PathIsWatched(path string) bool { e.mu.Lock() defer e.mu.Unlock() _, found := e.paths[path] return found } // FdIsWatched checks to see if fd is associated with this EventPort. func (e *EventPort) FdIsWatched(fd uintptr) bool { e.mu.Lock() defer e.mu.Unlock() _, found := e.fds[fd] return found } // AssociatePath wraps port_associate(3c) for a filesystem path including // creating the necessary file_obj from the provided stat information. func (e *EventPort) AssociatePath(path string, stat os.FileInfo, events int, cookie interface{}) error { e.mu.Lock() defer e.mu.Unlock() if _, found := e.paths[path]; found { return fmt.Errorf("%v is already associated with this Event Port", path) } fCookie, err := createFileObjCookie(path, stat, cookie) if err != nil { return err } _, err = port_associate(e.port, PORT_SOURCE_FILE, uintptr(unsafe.Pointer(fCookie.fobj)), events, (*byte)(unsafe.Pointer(fCookie))) if err != nil { return err } e.paths[path] = fCookie e.cookies[fCookie] = struct{}{} return nil } // DissociatePath wraps port_dissociate(3c) for a filesystem path. func (e *EventPort) DissociatePath(path string) error { e.mu.Lock() defer e.mu.Unlock() f, ok := e.paths[path] if !ok { return fmt.Errorf("%v is not associated with this Event Port", path) } _, err := port_dissociate(e.port, PORT_SOURCE_FILE, uintptr(unsafe.Pointer(f.fobj))) // If the path is no longer associated with this event port (ENOENT) // we should delete it from our map. We can still return ENOENT to the caller. // But we need to save the cookie if err != nil && err != ENOENT { return err } if err == nil { // dissociate was successful, safe to delete the cookie fCookie := e.paths[path] delete(e.cookies, fCookie) } delete(e.paths, path) return err } // AssociateFd wraps calls to port_associate(3c) on file descriptors. func (e *EventPort) AssociateFd(fd uintptr, events int, cookie interface{}) error { e.mu.Lock() defer e.mu.Unlock() if _, found := e.fds[fd]; found { return fmt.Errorf("%v is already associated with this Event Port", fd) } fCookie, err := createFileObjCookie("", nil, cookie) if err != nil { return err } _, err = port_associate(e.port, PORT_SOURCE_FD, fd, events, (*byte)(unsafe.Pointer(fCookie))) if err != nil { return err } e.fds[fd] = fCookie e.cookies[fCookie] = struct{}{} return nil } // DissociateFd wraps calls to port_dissociate(3c) on file descriptors. func (e *EventPort) DissociateFd(fd uintptr) error { e.mu.Lock() defer e.mu.Unlock() _, ok := e.fds[fd] if !ok { return fmt.Errorf("%v is not associated with this Event Port", fd) } _, err := port_dissociate(e.port, PORT_SOURCE_FD, fd) if err != nil && err != ENOENT { return err } if err == nil { // dissociate was successful, safe to delete the cookie fCookie := e.fds[fd] delete(e.cookies, fCookie) } delete(e.fds, fd) return err } func createFileObjCookie(name string, stat os.FileInfo, cookie interface{}) (*fileObjCookie, error) { fCookie := new(fileObjCookie) fCookie.cookie = cookie if name != "" && stat != nil { fCookie.fobj = new(fileObj) bs, err := ByteSliceFromString(name) if err != nil { return nil, err } fCookie.fobj.Name = (*int8)(unsafe.Pointer(&bs[0])) s := stat.Sys().(*syscall.Stat_t) fCookie.fobj.Atim.Sec = s.Atim.Sec fCookie.fobj.Atim.Nsec = s.Atim.Nsec fCookie.fobj.Mtim.Sec = s.Mtim.Sec fCookie.fobj.Mtim.Nsec = s.Mtim.Nsec fCookie.fobj.Ctim.Sec = s.Ctim.Sec fCookie.fobj.Ctim.Nsec = s.Ctim.Nsec } return fCookie, nil } // GetOne wraps port_get(3c) and returns a single PortEvent. func (e *EventPort) GetOne(t *Timespec) (*PortEvent, error) { pe := new(portEvent) _, err := port_get(e.port, pe, t) if err != nil { return nil, err } p := new(PortEvent) e.mu.Lock() defer e.mu.Unlock() err = e.peIntToExt(pe, p) if err != nil { return nil, err } return p, nil } // peIntToExt converts a cgo portEvent struct into the friendlier PortEvent // NOTE: Always call this function while holding the e.mu mutex func (e *EventPort) peIntToExt(peInt *portEvent, peExt *PortEvent) error { if e.cookies == nil { return fmt.Errorf("this EventPort is already closed") } peExt.Events = peInt.Events peExt.Source = peInt.Source fCookie := (*fileObjCookie)(unsafe.Pointer(peInt.User)) _, found := e.cookies[fCookie] if !found { panic("unexpected event port address; may be due to kernel bug; see https://go.dev/issue/54254") } peExt.Cookie = fCookie.cookie delete(e.cookies, fCookie) switch peInt.Source { case PORT_SOURCE_FD: peExt.Fd = uintptr(peInt.Object) // Only remove the fds entry if it exists and this cookie matches if fobj, ok := e.fds[peExt.Fd]; ok { if fobj == fCookie { delete(e.fds, peExt.Fd) } } case PORT_SOURCE_FILE: peExt.fobj = fCookie.fobj peExt.Path = BytePtrToString((*byte)(unsafe.Pointer(peExt.fobj.Name))) // Only remove the paths entry if it exists and this cookie matches if fobj, ok := e.paths[peExt.Path]; ok { if fobj == fCookie { delete(e.paths, peExt.Path) } } } return nil } // Pending wraps port_getn(3c) and returns how many events are pending. func (e *EventPort) Pending() (int, error) { var n uint32 = 0 _, err := port_getn(e.port, nil, 0, &n, nil) return int(n), err } // Get wraps port_getn(3c) and fills a slice of PortEvent. // It will block until either min events have been received // or the timeout has been exceeded. It will return how many // events were actually received along with any error information. func (e *EventPort) Get(s []PortEvent, min int, timeout *Timespec) (int, error) { if min == 0 { return 0, fmt.Errorf("need to request at least one event or use Pending() instead") } if len(s) < min { return 0, fmt.Errorf("len(s) (%d) is less than min events requested (%d)", len(s), min) } got := uint32(min) max := uint32(len(s)) var err error ps := make([]portEvent, max) _, err = port_getn(e.port, &ps[0], max, &got, timeout) // got will be trustworthy with ETIME, but not any other error. if err != nil && err != ETIME { return 0, err } e.mu.Lock() defer e.mu.Unlock() valid := 0 for i := 0; i < int(got); i++ { err2 := e.peIntToExt(&ps[i], &s[i]) if err2 != nil { if valid == 0 && err == nil { // If err2 is the only error and there are no valid events // to return, return it to the caller. err = err2 } break } valid = i + 1 } return valid, err } //sys putmsg(fd int, clptr *strbuf, dataptr *strbuf, flags int) (err error) func Putmsg(fd int, cl []byte, data []byte, flags int) (err error) { var clp, datap *strbuf if len(cl) > 0 { clp = &strbuf{ Len: int32(len(cl)), Buf: (*int8)(unsafe.Pointer(&cl[0])), } } if len(data) > 0 { datap = &strbuf{ Len: int32(len(data)), Buf: (*int8)(unsafe.Pointer(&data[0])), } } return putmsg(fd, clp, datap, flags) } //sys getmsg(fd int, clptr *strbuf, dataptr *strbuf, flags *int) (err error) func Getmsg(fd int, cl []byte, data []byte) (retCl []byte, retData []byte, flags int, err error) { var clp, datap *strbuf if len(cl) > 0 { clp = &strbuf{ Maxlen: int32(len(cl)), Buf: (*int8)(unsafe.Pointer(&cl[0])), } } if len(data) > 0 { datap = &strbuf{ Maxlen: int32(len(data)), Buf: (*int8)(unsafe.Pointer(&data[0])), } } if err = getmsg(fd, clp, datap, &flags); err != nil { return nil, nil, 0, err } if len(cl) > 0 { retCl = cl[:clp.Len] } if len(data) > 0 { retData = data[:datap.Len] } return retCl, retData, flags, nil } func IoctlSetIntRetInt(fd int, req int, arg int) (int, error) { return ioctlRet(fd, req, uintptr(arg)) } func IoctlSetString(fd int, req int, val string) error { bs := make([]byte, len(val)+1) copy(bs[:len(bs)-1], val) err := ioctlPtr(fd, req, unsafe.Pointer(&bs[0])) runtime.KeepAlive(&bs[0]) return err } // Lifreq Helpers func (l *Lifreq) SetName(name string) error { if len(name) >= len(l.Name) { return fmt.Errorf("name cannot be more than %d characters", len(l.Name)-1) } for i := range name { l.Name[i] = int8(name[i]) } return nil } func (l *Lifreq) SetLifruInt(d int) { *(*int)(unsafe.Pointer(&l.Lifru[0])) = d } func (l *Lifreq) GetLifruInt() int { return *(*int)(unsafe.Pointer(&l.Lifru[0])) } func (l *Lifreq) SetLifruUint(d uint) { *(*uint)(unsafe.Pointer(&l.Lifru[0])) = d } func (l *Lifreq) GetLifruUint() uint { return *(*uint)(unsafe.Pointer(&l.Lifru[0])) } func IoctlLifreq(fd int, req int, l *Lifreq) error { return ioctlPtr(fd, req, unsafe.Pointer(l)) } // Strioctl Helpers func (s *Strioctl) SetInt(i int) { s.Len = int32(unsafe.Sizeof(i)) s.Dp = (*int8)(unsafe.Pointer(&i)) } func IoctlSetStrioctlRetInt(fd int, req int, s *Strioctl) (int, error) { return ioctlPtrRet(fd, req, unsafe.Pointer(s)) } dependencies/pkg/mod/golang.org/x/sys@v0.26.0/unix/asm_bsd_ppc64.s0000644000000000000000000000131415107355264023420 0ustar rootroot// Copyright 2022 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:build (darwin || freebsd || netbsd || openbsd) && gc #include "textflag.h" // // System call support for ppc64, BSD // // 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) dependencies/pkg/mod/golang.org/x/sys@v0.26.0/unix/syscall_linux_amd64_gc.go0000644000000000000000000000044215107355264025475 0ustar rootroot// 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. //go:build amd64 && linux && gc package unix import "syscall" //go:noescape func gettimeofday(tv *Timeval) (err syscall.Errno) dependencies/pkg/mod/golang.org/x/sys@v0.26.0/unix/zerrors_freebsd_386.go0000644000000000000000000023706515107355264024755 0ustar rootroot// mkerrors.sh -m32 // Code generated by the command above; see README.md. DO NOT EDIT. //go:build 386 && freebsd // Code generated by cmd/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 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 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 BIOCSETVLANPCP = 0x80044285 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_MOD = 0x90 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 BPF_XOR = 0xa0 BRKINT = 0x2 CAP_ACCEPT = 0x200000020000000 CAP_ACL_CHECK = 0x400000000010000 CAP_ACL_DELETE = 0x400000000020000 CAP_ACL_GET = 0x400000000040000 CAP_ACL_SET = 0x400000000080000 CAP_ALL0 = 0x20007ffffffffff CAP_ALL1 = 0x4000000001fffff CAP_BIND = 0x200000040000000 CAP_BINDAT = 0x200008000000400 CAP_CHFLAGSAT = 0x200000000001400 CAP_CONNECT = 0x200000080000000 CAP_CONNECTAT = 0x200010000000400 CAP_CREATE = 0x200000000000040 CAP_EVENT = 0x400000000000020 CAP_EXTATTR_DELETE = 0x400000000001000 CAP_EXTATTR_GET = 0x400000000002000 CAP_EXTATTR_LIST = 0x400000000004000 CAP_EXTATTR_SET = 0x400000000008000 CAP_FCHDIR = 0x200000000000800 CAP_FCHFLAGS = 0x200000000001000 CAP_FCHMOD = 0x200000000002000 CAP_FCHMODAT = 0x200000000002400 CAP_FCHOWN = 0x200000000004000 CAP_FCHOWNAT = 0x200000000004400 CAP_FCNTL = 0x200000000008000 CAP_FCNTL_ALL = 0x78 CAP_FCNTL_GETFL = 0x8 CAP_FCNTL_GETOWN = 0x20 CAP_FCNTL_SETFL = 0x10 CAP_FCNTL_SETOWN = 0x40 CAP_FEXECVE = 0x200000000000080 CAP_FLOCK = 0x200000000010000 CAP_FPATHCONF = 0x200000000020000 CAP_FSCK = 0x200000000040000 CAP_FSTAT = 0x200000000080000 CAP_FSTATAT = 0x200000000080400 CAP_FSTATFS = 0x200000000100000 CAP_FSYNC = 0x200000000000100 CAP_FTRUNCATE = 0x200000000000200 CAP_FUTIMES = 0x200000000200000 CAP_FUTIMESAT = 0x200000000200400 CAP_GETPEERNAME = 0x200000100000000 CAP_GETSOCKNAME = 0x200000200000000 CAP_GETSOCKOPT = 0x200000400000000 CAP_IOCTL = 0x400000000000080 CAP_IOCTLS_ALL = 0x7fffffff CAP_KQUEUE = 0x400000000100040 CAP_KQUEUE_CHANGE = 0x400000000100000 CAP_KQUEUE_EVENT = 0x400000000000040 CAP_LINKAT_SOURCE = 0x200020000000400 CAP_LINKAT_TARGET = 0x200000000400400 CAP_LISTEN = 0x200000800000000 CAP_LOOKUP = 0x200000000000400 CAP_MAC_GET = 0x400000000000001 CAP_MAC_SET = 0x400000000000002 CAP_MKDIRAT = 0x200000000800400 CAP_MKFIFOAT = 0x200000001000400 CAP_MKNODAT = 0x200000002000400 CAP_MMAP = 0x200000000000010 CAP_MMAP_R = 0x20000000000001d CAP_MMAP_RW = 0x20000000000001f CAP_MMAP_RWX = 0x20000000000003f CAP_MMAP_RX = 0x20000000000003d CAP_MMAP_W = 0x20000000000001e CAP_MMAP_WX = 0x20000000000003e CAP_MMAP_X = 0x20000000000003c CAP_PDGETPID = 0x400000000000200 CAP_PDKILL = 0x400000000000800 CAP_PDWAIT = 0x400000000000400 CAP_PEELOFF = 0x200001000000000 CAP_POLL_EVENT = 0x400000000000020 CAP_PREAD = 0x20000000000000d CAP_PWRITE = 0x20000000000000e CAP_READ = 0x200000000000001 CAP_RECV = 0x200000000000001 CAP_RENAMEAT_SOURCE = 0x200000004000400 CAP_RENAMEAT_TARGET = 0x200040000000400 CAP_RIGHTS_VERSION = 0x0 CAP_RIGHTS_VERSION_00 = 0x0 CAP_SEEK = 0x20000000000000c CAP_SEEK_TELL = 0x200000000000004 CAP_SEM_GETVALUE = 0x400000000000004 CAP_SEM_POST = 0x400000000000008 CAP_SEM_WAIT = 0x400000000000010 CAP_SEND = 0x200000000000002 CAP_SETSOCKOPT = 0x200002000000000 CAP_SHUTDOWN = 0x200004000000000 CAP_SOCK_CLIENT = 0x200007780000003 CAP_SOCK_SERVER = 0x200007f60000003 CAP_SYMLINKAT = 0x200000008000400 CAP_TTYHOOK = 0x400000000000100 CAP_UNLINKAT = 0x200000010000400 CAP_UNUSED0_44 = 0x200080000000000 CAP_UNUSED0_57 = 0x300000000000000 CAP_UNUSED1_22 = 0x400000000200000 CAP_UNUSED1_57 = 0x500000000000000 CAP_WRITE = 0x200000000000002 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 CPUSTATES = 0x5 CP_IDLE = 0x4 CP_INTR = 0x3 CP_NICE = 0x1 CP_SYS = 0x2 CP_USER = 0x0 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_HW = 0x6 CTL_KERN = 0x1 CTL_MAXNAME = 0x18 CTL_NET = 0x4 DIOCGATTR = 0xc144648e DIOCGDELETE = 0x80106488 DIOCGFLUSH = 0x20006487 DIOCGFRONTSTUFF = 0x40086486 DIOCGFWHEADS = 0x40046483 DIOCGFWSECTORS = 0x40046482 DIOCGIDENT = 0x41006489 DIOCGMEDIASIZE = 0x40086481 DIOCGPHYSPATH = 0x4400648d DIOCGPROVIDERNAME = 0x4400648a DIOCGSECTORSIZE = 0x40046480 DIOCGSTRIPEOFFSET = 0x4008648c DIOCGSTRIPESIZE = 0x4008648b DIOCSKERNELDUMP = 0x804c6490 DIOCSKERNELDUMP_FREEBSD11 = 0x80046485 DIOCZONECMD = 0xc06c648f 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_BREDR_BB = 0xff DLT_BLUETOOTH_HCI_H4 = 0xbb DLT_BLUETOOTH_HCI_H4_WITH_PHDR = 0xc9 DLT_BLUETOOTH_LE_LL = 0xfb DLT_BLUETOOTH_LE_LL_WITH_PHDR = 0x100 DLT_BLUETOOTH_LINUX_MONITOR = 0xfe DLT_CAN20B = 0xbe DLT_CAN_SOCKETCAN = 0xe3 DLT_CHAOS = 0x5 DLT_CHDLC = 0x68 DLT_CISCO_IOS = 0x76 DLT_CLASS_NETBSD_RAWAF = 0x2240000 DLT_C_HDLC = 0x68 DLT_C_HDLC_WITH_DIR = 0xcd DLT_DBUS = 0xe7 DLT_DECT = 0xdd DLT_DISPLAYPORT_AUX = 0x113 DLT_DOCSIS = 0x8f DLT_DOCSIS31_XRA31 = 0x111 DLT_DVB_CI = 0xeb DLT_ECONET = 0x73 DLT_EN10MB = 0x1 DLT_EN3MB = 0x2 DLT_ENC = 0x6d DLT_EPON = 0x103 DLT_ERF = 0xc5 DLT_ERF_ETH = 0xaf DLT_ERF_POS = 0xb0 DLT_ETHERNET_MPACKET = 0x112 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_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_INFINIBAND = 0xf7 DLT_IPFILTER = 0x74 DLT_IPMB_KONTRON = 0xc7 DLT_IPMB_LINUX = 0xd1 DLT_IPMI_HPM_2 = 0x104 DLT_IPNET = 0xe2 DLT_IPOIB = 0xf2 DLT_IPV4 = 0xe4 DLT_IPV6 = 0xe5 DLT_IP_OVER_FC = 0x7a DLT_ISO_14443 = 0x108 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_LINUX_SLL2 = 0x114 DLT_LOOP = 0x6c DLT_LORATAP = 0x10e DLT_LTALK = 0x72 DLT_MATCHING_MAX = 0x114 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_NETLINK = 0xfd DLT_NFC_LLCP = 0xf5 DLT_NFLOG = 0xef DLT_NG40 = 0xf4 DLT_NORDIC_BLE = 0x110 DLT_NULL = 0x0 DLT_OPENFLOW = 0x10b DLT_PCI_EXP = 0x7d DLT_PFLOG = 0x75 DLT_PFSYNC = 0x79 DLT_PKTAP = 0x102 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_PPP_WITH_DIRECTION = 0xa6 DLT_PRISM_HEADER = 0x77 DLT_PROFIBUS_DL = 0x101 DLT_PRONET = 0x4 DLT_RAIF1 = 0xc6 DLT_RAW = 0xc DLT_RDS = 0x109 DLT_REDBACK_SMARTEDGE = 0x20 DLT_RIO = 0x7c DLT_RTAC_SERIAL = 0xfa DLT_SCCP = 0x8e DLT_SCTP = 0xf8 DLT_SDLC = 0x10c DLT_SITA = 0xc4 DLT_SLIP = 0x8 DLT_SLIP_BSDOS = 0xd DLT_STANAG_5066_D_PDU = 0xed DLT_SUNATM = 0x7b DLT_SYMANTEC_FIREWALL = 0x63 DLT_TI_LLN_SNIFFER = 0x10d DLT_TZSP = 0x80 DLT_USB = 0xba DLT_USBPCAP = 0xf9 DLT_USB_DARWIN = 0x10a DLT_USB_FREEBSD = 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_VSOCK = 0x10f DLT_WATTSTOPPER_DLM = 0x107 DLT_WIHART = 0xdf DLT_WIRESHARK_UPPER_PDU = 0xfc DLT_X2E_SERIAL = 0xd5 DLT_X2E_XORAYA = 0xd6 DLT_ZWAVE_R1_R2 = 0x105 DLT_ZWAVE_R3 = 0x106 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_EMPTY = -0xd EVFILT_FS = -0x9 EVFILT_LIO = -0xa EVFILT_PROC = -0x5 EVFILT_PROCDESC = -0x8 EVFILT_READ = -0x1 EVFILT_SENDFILE = -0xc EVFILT_SIGNAL = -0x6 EVFILT_SYSCOUNT = 0xd EVFILT_TIMER = -0x7 EVFILT_USER = -0xb EVFILT_VNODE = -0x4 EVFILT_WRITE = -0x2 EVNAMEMAP_NAME_SIZE = 0x40 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_FLAG2 = 0x4000 EV_FORCEONESHOT = 0x100 EV_ONESHOT = 0x10 EV_RECEIPT = 0x40 EV_SYSFLAGS = 0xf000 EXTA = 0x4b00 EXTATTR_MAXNAMELEN = 0xff 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 HW_MACHINE = 0x1 ICANON = 0x100 ICMP6_FILTER = 0x12 ICRNL = 0x100 IEXTEN = 0x400 IFAN_ARRIVAL = 0x0 IFAN_DEPARTURE = 0x1 IFCAP_WOL_MAGIC = 0x2000 IFF_ALLMULTI = 0x200 IFF_ALTPHYS = 0x4000 IFF_BROADCAST = 0x2 IFF_CANTCHANGE = 0x218f52 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_NOGROUP = 0x800000 IFF_OACTIVE = 0x400 IFF_POINTOPOINT = 0x10 IFF_PPROMISC = 0x20000 IFF_PROMISC = 0x100 IFF_RENAMING = 0x400000 IFF_RUNNING = 0x40 IFF_SIMPLEX = 0x800 IFF_STATICARP = 0x80000 IFF_UP = 0x1 IFNAMSIZ = 0x10 IFT_BRIDGE = 0xd1 IFT_CARP = 0xf8 IFT_IEEE1394 = 0x90 IFT_INFINIBAND = 0xc7 IFT_L2VLAN = 0x87 IFT_L3IPVLAN = 0x88 IFT_PPP = 0x17 IFT_PROPVIRTUAL = 0x35 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_DCCP = 0x21 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_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_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_BINDMULTI = 0x41 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_FLOWID = 0x43 IPV6_FLOWINFO_MASK = 0xffffff0f IPV6_FLOWLABEL_LEN = 0x14 IPV6_FLOWLABEL_MASK = 0xffff0f00 IPV6_FLOWTYPE = 0x44 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_MMTU = 0x500 IPV6_MSFILTER = 0x4a IPV6_MULTICAST_HOPS = 0xa IPV6_MULTICAST_IF = 0x9 IPV6_MULTICAST_LOOP = 0xb IPV6_NEXTHOP = 0x30 IPV6_ORIGDSTADDR = 0x48 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_RECVFLOWID = 0x46 IPV6_RECVHOPLIMIT = 0x25 IPV6_RECVHOPOPTS = 0x27 IPV6_RECVORIGDSTADDR = 0x48 IPV6_RECVPATHMTU = 0x2b IPV6_RECVPKTINFO = 0x24 IPV6_RECVRSSBUCKETID = 0x47 IPV6_RECVRTHDR = 0x26 IPV6_RECVTCLASS = 0x39 IPV6_RSSBUCKETID = 0x45 IPV6_RSS_LISTEN_BUCKET = 0x42 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 IPV6_VLAN_PCP = 0x4b IP_ADD_MEMBERSHIP = 0xc IP_ADD_SOURCE_MEMBERSHIP = 0x46 IP_BINDANY = 0x18 IP_BINDMULTI = 0x19 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_FLOWID = 0x5a IP_FLOWTYPE = 0x5b 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_MF = 0x2000 IP_MINTTL = 0x42 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_ORIGDSTADDR = 0x1b IP_PORTRANGE = 0x13 IP_PORTRANGE_DEFAULT = 0x0 IP_PORTRANGE_HIGH = 0x1 IP_PORTRANGE_LOW = 0x2 IP_RECVDSTADDR = 0x7 IP_RECVFLOWID = 0x5d IP_RECVIF = 0x14 IP_RECVOPTS = 0x5 IP_RECVORIGDSTADDR = 0x1b IP_RECVRETOPTS = 0x6 IP_RECVRSSBUCKETID = 0x5e IP_RECVTOS = 0x44 IP_RECVTTL = 0x41 IP_RETOPTS = 0x8 IP_RF = 0x8000 IP_RSSBUCKETID = 0x5c IP_RSS_LISTEN_BUCKET = 0x1a 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 IP_VLAN_PCP = 0x4b ISIG = 0x80 ISTRIP = 0x20 ITIMER_PROF = 0x2 ITIMER_REAL = 0x0 ITIMER_VIRTUAL = 0x1 IXANY = 0x800 IXOFF = 0x400 IXON = 0x200 KERN_HOSTNAME = 0xa KERN_OSRELEASE = 0x2 KERN_OSTYPE = 0x1 KERN_VERSION = 0x4 LOCAL_CONNWAIT = 0x4 LOCAL_CREDS = 0x2 LOCAL_PEERCRED = 0x1 LOCAL_VENDOR = 0x80000000 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_GUARD = 0x2000 MAP_HASSEMAPHORE = 0x200 MAP_NOCORE = 0x20000 MAP_NOSYNC = 0x800 MAP_PREFAULT_READ = 0x40000 MAP_PRIVATE = 0x2 MAP_RESERVED0020 = 0x20 MAP_RESERVED0040 = 0x40 MAP_RESERVED0080 = 0x80 MAP_RESERVED0100 = 0x100 MAP_SHARED = 0x1 MAP_STACK = 0x400 MCAST_BLOCK_SOURCE = 0x54 MCAST_EXCLUDE = 0x2 MCAST_INCLUDE = 0x1 MCAST_JOIN_GROUP = 0x50 MCAST_JOIN_SOURCE_GROUP = 0x52 MCAST_LEAVE_GROUP = 0x51 MCAST_LEAVE_SOURCE_GROUP = 0x53 MCAST_UNBLOCK_SOURCE = 0x55 MCAST_UNDEFINED = 0x0 MCL_CURRENT = 0x1 MCL_FUTURE = 0x2 MNT_ACLS = 0x8000000 MNT_ASYNC = 0x40 MNT_AUTOMOUNTED = 0x200000000 MNT_BYFSID = 0x8000000 MNT_CMDFLAGS = 0xd0f0000 MNT_DEFEXPORTED = 0x200 MNT_DELEXPORT = 0x20000 MNT_EXKERB = 0x800 MNT_EXPORTANON = 0x400 MNT_EXPORTED = 0x100 MNT_EXPUBLIC = 0x20000000 MNT_EXRDONLY = 0x80 MNT_FORCE = 0x80000 MNT_GJOURNAL = 0x2000000 MNT_IGNORE = 0x800000 MNT_LAZY = 0x3 MNT_LOCAL = 0x1000 MNT_MULTILABEL = 0x4000000 MNT_NFS4ACLS = 0x10 MNT_NOATIME = 0x10000000 MNT_NOCLUSTERR = 0x40000000 MNT_NOCLUSTERW = 0x80000000 MNT_NOEXEC = 0x4 MNT_NONBUSY = 0x4000000 MNT_NOSUID = 0x8 MNT_NOSYMFOLLOW = 0x400000 MNT_NOWAIT = 0x2 MNT_QUOTA = 0x2000 MNT_RDONLY = 0x1 MNT_RELOAD = 0x40000 MNT_ROOTFS = 0x4000 MNT_SNAPSHOT = 0x1000000 MNT_SOFTDEP = 0x200000 MNT_SUIDDIR = 0x100000 MNT_SUJ = 0x100000000 MNT_SUSPEND = 0x4 MNT_SYNCHRONOUS = 0x2 MNT_UNION = 0x20 MNT_UNTRUSTED = 0x800000000 MNT_UPDATE = 0x10000 MNT_UPDATEMASK = 0xad8d0807e MNT_USER = 0x8000 MNT_VERIFIED = 0x400000000 MNT_VISFLAGMASK = 0xffef0ffff MNT_WAIT = 0x1 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 MSG_WAITFORONE = 0x80000 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 NFDBITS = 0x20 NOFLSH = 0x80000000 NOKERNINFO = 0x2000000 NOTE_ABSTIME = 0x10 NOTE_ATTRIB = 0x8 NOTE_CHILD = 0x4 NOTE_CLOSE = 0x100 NOTE_CLOSE_WRITE = 0x200 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_FILE_POLL = 0x2 NOTE_FORK = 0x40000000 NOTE_LINK = 0x10 NOTE_LOWAT = 0x1 NOTE_MSECONDS = 0x2 NOTE_NSECONDS = 0x8 NOTE_OPEN = 0x80 NOTE_PCTRLMASK = 0xf0000000 NOTE_PDATAMASK = 0xfffff NOTE_READ = 0x400 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 OXTABS = 0x4 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_RESOLVE_BENEATH = 0x800000 O_SEARCH = 0x40000 O_SHLOCK = 0x10 O_SYNC = 0x80 O_TRUNC = 0x400 O_TTY_INIT = 0x80000 O_VERIFY = 0x200000 O_WRONLY = 0x1 PARENB = 0x1000 PARMRK = 0x8 PARODD = 0x2000 PENDIN = 0x20000000 PIOD_READ_D = 0x1 PIOD_READ_I = 0x3 PIOD_WRITE_D = 0x2 PIOD_WRITE_I = 0x4 PRIO_PGRP = 0x1 PRIO_PROCESS = 0x0 PRIO_USER = 0x2 PROT_EXEC = 0x4 PROT_NONE = 0x0 PROT_READ = 0x1 PROT_WRITE = 0x2 PTRACE_DEFAULT = 0x1 PTRACE_EXEC = 0x1 PTRACE_FORK = 0x8 PTRACE_LWP = 0x10 PTRACE_SCE = 0x2 PTRACE_SCX = 0x4 PTRACE_SYSCALL = 0x6 PTRACE_VFORK = 0x20 PT_ATTACH = 0xa PT_CLEARSTEP = 0x10 PT_CONTINUE = 0x7 PT_DETACH = 0xb PT_FIRSTMACH = 0x40 PT_FOLLOW_FORK = 0x17 PT_GETDBREGS = 0x25 PT_GETFPREGS = 0x23 PT_GETFSBASE = 0x47 PT_GETGSBASE = 0x49 PT_GETLWPLIST = 0xf PT_GETNUMLWPS = 0xe PT_GETREGS = 0x21 PT_GETXMMREGS = 0x40 PT_GETXSTATE = 0x45 PT_GETXSTATE_INFO = 0x44 PT_GET_EVENT_MASK = 0x19 PT_GET_SC_ARGS = 0x1b PT_GET_SC_RET = 0x1c PT_IO = 0xc PT_KILL = 0x8 PT_LWPINFO = 0xd PT_LWP_EVENTS = 0x18 PT_READ_D = 0x2 PT_READ_I = 0x1 PT_RESUME = 0x13 PT_SETDBREGS = 0x26 PT_SETFPREGS = 0x24 PT_SETFSBASE = 0x48 PT_SETGSBASE = 0x4a PT_SETREGS = 0x22 PT_SETSTEP = 0x11 PT_SETXMMREGS = 0x41 PT_SETXSTATE = 0x46 PT_SET_EVENT_MASK = 0x1a PT_STEP = 0x9 PT_SUSPEND = 0x12 PT_SYSCALL = 0x16 PT_TO_SCE = 0x14 PT_TO_SCX = 0x15 PT_TRACE_ME = 0x0 PT_VM_ENTRY = 0x29 PT_VM_TIMESTAMP = 0x28 PT_WRITE_D = 0x5 PT_WRITE_I = 0x4 P_ZONEID = 0xc RLIMIT_AS = 0xa RLIMIT_CORE = 0x4 RLIMIT_CPU = 0x0 RLIMIT_DATA = 0x2 RLIMIT_FSIZE = 0x1 RLIMIT_MEMLOCK = 0x6 RLIMIT_NOFILE = 0x8 RLIMIT_NPROC = 0x7 RLIMIT_RSS = 0x5 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_FIXEDMTU = 0x80000 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_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_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_BLACKHOLE = 0x40 RT_DEFAULT_FIB = 0x0 RT_HAS_GW = 0x80 RT_HAS_HEADER = 0x10 RT_HAS_HEADER_BIT = 0x4 RT_L2_ME = 0x4 RT_L2_ME_BIT = 0x2 RT_LLE_CACHE = 0x100 RT_MAY_LOOP = 0x8 RT_MAY_LOOP_BIT = 0x3 RT_REJECT = 0x20 RUSAGE_CHILDREN = -0x1 RUSAGE_SELF = 0x0 RUSAGE_THREAD = 0x1 SCM_BINTIME = 0x4 SCM_CREDS = 0x3 SCM_MONOTONIC = 0x6 SCM_REALTIME = 0x5 SCM_RIGHTS = 0x1 SCM_TIMESTAMP = 0x2 SCM_TIME_INFO = 0x7 SEEK_CUR = 0x1 SEEK_DATA = 0x3 SEEK_END = 0x2 SEEK_HOLE = 0x4 SEEK_SET = 0x0 SHUT_RD = 0x0 SHUT_RDWR = 0x2 SHUT_WR = 0x1 SIOCADDMULTI = 0x80206931 SIOCAIFADDR = 0x8040691a SIOCAIFGROUP = 0x80246987 SIOCATMARK = 0x40047307 SIOCDELMULTI = 0x80206932 SIOCDIFADDR = 0x80206919 SIOCDIFGROUP = 0x80246989 SIOCDIFPHYADDR = 0x80206949 SIOCGDRVSPEC = 0xc01c697b SIOCGETSGCNT = 0xc0147210 SIOCGETVIFCNT = 0xc014720f SIOCGHIWAT = 0x40047301 SIOCGHWADDR = 0xc020693e SIOCGI2C = 0xc020693d SIOCGIFADDR = 0xc0206921 SIOCGIFALIAS = 0xc044692d SIOCGIFBRDADDR = 0xc0206923 SIOCGIFCAP = 0xc020691f SIOCGIFCONF = 0xc0086924 SIOCGIFDESCR = 0xc020692a SIOCGIFDOWNREASON = 0xc058699a 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 SIOCGIFRSSHASH = 0xc0186997 SIOCGIFRSSKEY = 0xc0946996 SIOCGIFSTATUS = 0xc331693b SIOCGIFXMEDIA = 0xc028698b SIOCGLANPCP = 0xc0206998 SIOCGLOWAT = 0x40047303 SIOCGPGRP = 0x40047309 SIOCGPRIVATE_0 = 0xc0206950 SIOCGPRIVATE_1 = 0xc0206951 SIOCGTUNFIB = 0xc020695e 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 SIOCSLANPCP = 0x80206999 SIOCSLOWAT = 0x80047302 SIOCSPGRP = 0x80047308 SIOCSTUNFIB = 0x8020695f 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_LOCAL = 0x0 SOL_SOCKET = 0xffff SOMAXCONN = 0x80 SO_ACCEPTCONN = 0x2 SO_ACCEPTFILTER = 0x1000 SO_BINTIME = 0x2000 SO_BROADCAST = 0x20 SO_DEBUG = 0x1 SO_DOMAIN = 0x1019 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_MAX_PACING_RATE = 0x1018 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_RERROR = 0x20000 SO_REUSEADDR = 0x4 SO_REUSEPORT = 0x200 SO_REUSEPORT_LB = 0x10000 SO_SETFIB = 0x1014 SO_SNDBUF = 0x1001 SO_SNDLOWAT = 0x1003 SO_SNDTIMEO = 0x1005 SO_TIMESTAMP = 0x400 SO_TS_BINTIME = 0x1 SO_TS_CLOCK = 0x1017 SO_TS_CLOCK_MAX = 0x3 SO_TS_DEFAULT = 0x0 SO_TS_MONOTONIC = 0x3 SO_TS_REALTIME = 0x2 SO_TS_REALTIME_MICRO = 0x0 SO_TYPE = 0x1008 SO_USELOOPBACK = 0x40 SO_USER_COOKIE = 0x1015 SO_VENDOR = 0x80000000 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 TAB0 = 0x0 TAB3 = 0x4 TABDLY = 0x4 TCIFLUSH = 0x1 TCIOFF = 0x3 TCIOFLUSH = 0x3 TCION = 0x4 TCOFLUSH = 0x2 TCOOFF = 0x1 TCOON = 0x2 TCPOPT_EOL = 0x0 TCPOPT_FAST_OPEN = 0x22 TCPOPT_MAXSEG = 0x2 TCPOPT_NOP = 0x1 TCPOPT_PAD = 0x0 TCPOPT_SACK = 0x5 TCPOPT_SACK_PERMITTED = 0x4 TCPOPT_SIGNATURE = 0x13 TCPOPT_TIMESTAMP = 0x8 TCPOPT_WINDOW = 0x3 TCP_BBR_ACK_COMP_ALG = 0x448 TCP_BBR_ALGORITHM = 0x43b TCP_BBR_DRAIN_INC_EXTRA = 0x43c TCP_BBR_DRAIN_PG = 0x42e TCP_BBR_EXTRA_GAIN = 0x449 TCP_BBR_EXTRA_STATE = 0x453 TCP_BBR_FLOOR_MIN_TSO = 0x454 TCP_BBR_HDWR_PACE = 0x451 TCP_BBR_HOLD_TARGET = 0x436 TCP_BBR_IWINTSO = 0x42b TCP_BBR_LOWGAIN_FD = 0x436 TCP_BBR_LOWGAIN_HALF = 0x435 TCP_BBR_LOWGAIN_THRESH = 0x434 TCP_BBR_MAX_RTO = 0x439 TCP_BBR_MIN_RTO = 0x438 TCP_BBR_MIN_TOPACEOUT = 0x455 TCP_BBR_ONE_RETRAN = 0x431 TCP_BBR_PACE_CROSS = 0x442 TCP_BBR_PACE_DEL_TAR = 0x43f TCP_BBR_PACE_OH = 0x435 TCP_BBR_PACE_PER_SEC = 0x43e TCP_BBR_PACE_SEG_MAX = 0x440 TCP_BBR_PACE_SEG_MIN = 0x441 TCP_BBR_POLICER_DETECT = 0x457 TCP_BBR_PROBE_RTT_GAIN = 0x44d TCP_BBR_PROBE_RTT_INT = 0x430 TCP_BBR_PROBE_RTT_LEN = 0x44e TCP_BBR_RACK_RTT_USE = 0x44a TCP_BBR_RECFORCE = 0x42c TCP_BBR_REC_OVER_HPTS = 0x43a TCP_BBR_RETRAN_WTSO = 0x44b TCP_BBR_RWND_IS_APP = 0x42f TCP_BBR_SEND_IWND_IN_TSO = 0x44f TCP_BBR_STARTUP_EXIT_EPOCH = 0x43d TCP_BBR_STARTUP_LOSS_EXIT = 0x432 TCP_BBR_STARTUP_PG = 0x42d TCP_BBR_TMR_PACE_OH = 0x448 TCP_BBR_TSLIMITS = 0x434 TCP_BBR_TSTMP_RAISES = 0x456 TCP_BBR_UNLIMITED = 0x43b TCP_BBR_USEDEL_RATE = 0x437 TCP_BBR_USE_LOWGAIN = 0x433 TCP_BBR_USE_RACK_CHEAT = 0x450 TCP_BBR_UTTER_MAX_TSO = 0x452 TCP_CA_NAME_MAX = 0x10 TCP_CCALGOOPT = 0x41 TCP_CONGESTION = 0x40 TCP_DATA_AFTER_CLOSE = 0x44c TCP_DELACK = 0x48 TCP_FASTOPEN = 0x401 TCP_FASTOPEN_MAX_COOKIE_LEN = 0x10 TCP_FASTOPEN_MIN_COOKIE_LEN = 0x4 TCP_FASTOPEN_PSK_LEN = 0x10 TCP_FUNCTION_BLK = 0x2000 TCP_FUNCTION_NAME_LEN_MAX = 0x20 TCP_INFO = 0x20 TCP_KEEPCNT = 0x400 TCP_KEEPIDLE = 0x100 TCP_KEEPINIT = 0x80 TCP_KEEPINTVL = 0x200 TCP_LOG = 0x22 TCP_LOGBUF = 0x23 TCP_LOGDUMP = 0x25 TCP_LOGDUMPID = 0x26 TCP_LOGID = 0x24 TCP_LOG_ID_LEN = 0x40 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_PCAP_IN = 0x1000 TCP_PCAP_OUT = 0x800 TCP_RACK_EARLY_RECOV = 0x423 TCP_RACK_EARLY_SEG = 0x424 TCP_RACK_GP_INCREASE = 0x446 TCP_RACK_IDLE_REDUCE_HIGH = 0x444 TCP_RACK_MIN_PACE = 0x445 TCP_RACK_MIN_PACE_SEG = 0x446 TCP_RACK_MIN_TO = 0x422 TCP_RACK_PACE_ALWAYS = 0x41f TCP_RACK_PACE_MAX_SEG = 0x41e TCP_RACK_PACE_REDUCE = 0x41d TCP_RACK_PKT_DELAY = 0x428 TCP_RACK_PROP = 0x41b TCP_RACK_PROP_RATE = 0x420 TCP_RACK_PRR_SENDALOT = 0x421 TCP_RACK_REORD_FADE = 0x426 TCP_RACK_REORD_THRESH = 0x425 TCP_RACK_TLP_INC_VAR = 0x429 TCP_RACK_TLP_REDUCE = 0x41c TCP_RACK_TLP_THRESH = 0x427 TCP_RACK_TLP_USE = 0x447 TCP_VENDOR = 0x80000000 TCSAFLUSH = 0x2 TIMER_ABSTIME = 0x1 TIMER_RELTIME = 0x0 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 UTIME_NOW = -0x1 UTIME_OMIT = -0x2 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 = 0x70e0000 VM_SWZONE_SIZE_MAX = 0x2280000 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) EINTEGRITY = syscall.Errno(0x61) EINTR = syscall.Errno(0x4) EINVAL = syscall.Errno(0x16) EIO = syscall.Errno(0x5) EISCONN = syscall.Errno(0x38) EISDIR = syscall.Errno(0x15) ELAST = syscall.Errno(0x61) 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 errorList = [...]struct { num syscall.Errno name string desc string }{ {1, "EPERM", "operation not permitted"}, {2, "ENOENT", "no such file or directory"}, {3, "ESRCH", "no such process"}, {4, "EINTR", "interrupted system call"}, {5, "EIO", "input/output error"}, {6, "ENXIO", "device not configured"}, {7, "E2BIG", "argument list too long"}, {8, "ENOEXEC", "exec format error"}, {9, "EBADF", "bad file descriptor"}, {10, "ECHILD", "no child processes"}, {11, "EDEADLK", "resource deadlock avoided"}, {12, "ENOMEM", "cannot allocate memory"}, {13, "EACCES", "permission denied"}, {14, "EFAULT", "bad address"}, {15, "ENOTBLK", "block device required"}, {16, "EBUSY", "device busy"}, {17, "EEXIST", "file exists"}, {18, "EXDEV", "cross-device link"}, {19, "ENODEV", "operation not supported by device"}, {20, "ENOTDIR", "not a directory"}, {21, "EISDIR", "is a directory"}, {22, "EINVAL", "invalid argument"}, {23, "ENFILE", "too many open files in system"}, {24, "EMFILE", "too many open files"}, {25, "ENOTTY", "inappropriate ioctl for device"}, {26, "ETXTBSY", "text file busy"}, {27, "EFBIG", "file too large"}, {28, "ENOSPC", "no space left on device"}, {29, "ESPIPE", "illegal seek"}, {30, "EROFS", "read-only file system"}, {31, "EMLINK", "too many links"}, {32, "EPIPE", "broken pipe"}, {33, "EDOM", "numerical argument out of domain"}, {34, "ERANGE", "result too large"}, {35, "EWOULDBLOCK", "resource temporarily unavailable"}, {36, "EINPROGRESS", "operation now in progress"}, {37, "EALREADY", "operation already in progress"}, {38, "ENOTSOCK", "socket operation on non-socket"}, {39, "EDESTADDRREQ", "destination address required"}, {40, "EMSGSIZE", "message too long"}, {41, "EPROTOTYPE", "protocol wrong type for socket"}, {42, "ENOPROTOOPT", "protocol not available"}, {43, "EPROTONOSUPPORT", "protocol not supported"}, {44, "ESOCKTNOSUPPORT", "socket type not supported"}, {45, "EOPNOTSUPP", "operation not supported"}, {46, "EPFNOSUPPORT", "protocol family not supported"}, {47, "EAFNOSUPPORT", "address family not supported by protocol family"}, {48, "EADDRINUSE", "address already in use"}, {49, "EADDRNOTAVAIL", "can't assign requested address"}, {50, "ENETDOWN", "network is down"}, {51, "ENETUNREACH", "network is unreachable"}, {52, "ENETRESET", "network dropped connection on reset"}, {53, "ECONNABORTED", "software caused connection abort"}, {54, "ECONNRESET", "connection reset by peer"}, {55, "ENOBUFS", "no buffer space available"}, {56, "EISCONN", "socket is already connected"}, {57, "ENOTCONN", "socket is not connected"}, {58, "ESHUTDOWN", "can't send after socket shutdown"}, {59, "ETOOMANYREFS", "too many references: can't splice"}, {60, "ETIMEDOUT", "operation timed out"}, {61, "ECONNREFUSED", "connection refused"}, {62, "ELOOP", "too many levels of symbolic links"}, {63, "ENAMETOOLONG", "file name too long"}, {64, "EHOSTDOWN", "host is down"}, {65, "EHOSTUNREACH", "no route to host"}, {66, "ENOTEMPTY", "directory not empty"}, {67, "EPROCLIM", "too many processes"}, {68, "EUSERS", "too many users"}, {69, "EDQUOT", "disc quota exceeded"}, {70, "ESTALE", "stale NFS file handle"}, {71, "EREMOTE", "too many levels of remote in path"}, {72, "EBADRPC", "RPC struct is bad"}, {73, "ERPCMISMATCH", "RPC version wrong"}, {74, "EPROGUNAVAIL", "RPC prog. not avail"}, {75, "EPROGMISMATCH", "program version wrong"}, {76, "EPROCUNAVAIL", "bad procedure for program"}, {77, "ENOLCK", "no locks available"}, {78, "ENOSYS", "function not implemented"}, {79, "EFTYPE", "inappropriate file type or format"}, {80, "EAUTH", "authentication error"}, {81, "ENEEDAUTH", "need authenticator"}, {82, "EIDRM", "identifier removed"}, {83, "ENOMSG", "no message of desired type"}, {84, "EOVERFLOW", "value too large to be stored in data type"}, {85, "ECANCELED", "operation canceled"}, {86, "EILSEQ", "illegal byte sequence"}, {87, "ENOATTR", "attribute not found"}, {88, "EDOOFUS", "programming error"}, {89, "EBADMSG", "bad message"}, {90, "EMULTIHOP", "multihop attempted"}, {91, "ENOLINK", "link has been severed"}, {92, "EPROTO", "protocol error"}, {93, "ENOTCAPABLE", "capabilities insufficient"}, {94, "ECAPMODE", "not permitted in capability mode"}, {95, "ENOTRECOVERABLE", "state not recoverable"}, {96, "EOWNERDEAD", "previous owner died"}, {97, "EINTEGRITY", "integrity check failed"}, } // Signal table var signalList = [...]struct { num syscall.Signal name string desc string }{ {1, "SIGHUP", "hangup"}, {2, "SIGINT", "interrupt"}, {3, "SIGQUIT", "quit"}, {4, "SIGILL", "illegal instruction"}, {5, "SIGTRAP", "trace/BPT trap"}, {6, "SIGIOT", "abort trap"}, {7, "SIGEMT", "EMT trap"}, {8, "SIGFPE", "floating point exception"}, {9, "SIGKILL", "killed"}, {10, "SIGBUS", "bus error"}, {11, "SIGSEGV", "segmentation fault"}, {12, "SIGSYS", "bad system call"}, {13, "SIGPIPE", "broken pipe"}, {14, "SIGALRM", "alarm clock"}, {15, "SIGTERM", "terminated"}, {16, "SIGURG", "urgent I/O condition"}, {17, "SIGSTOP", "suspended (signal)"}, {18, "SIGTSTP", "suspended"}, {19, "SIGCONT", "continued"}, {20, "SIGCHLD", "child exited"}, {21, "SIGTTIN", "stopped (tty input)"}, {22, "SIGTTOU", "stopped (tty output)"}, {23, "SIGIO", "I/O possible"}, {24, "SIGXCPU", "cputime limit exceeded"}, {25, "SIGXFSZ", "filesize limit exceeded"}, {26, "SIGVTALRM", "virtual timer expired"}, {27, "SIGPROF", "profiling timer expired"}, {28, "SIGWINCH", "window size changes"}, {29, "SIGINFO", "information request"}, {30, "SIGUSR1", "user defined signal 1"}, {31, "SIGUSR2", "user defined signal 2"}, {32, "SIGTHR", "unknown signal"}, {33, "SIGLIBRT", "unknown signal"}, } dependencies/pkg/mod/golang.org/x/sys@v0.26.0/unix/zerrors_openbsd_mips64.go0000644000000000000000000023506215107355264025572 0ustar rootroot// mkerrors.sh -m64 // Code generated by the command above; see README.md. DO NOT EDIT. //go:build mips64 && openbsd // Code generated by cmd/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 ALTWERASE = 0x200 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_FILDROP_CAPTURE = 0x1 BPF_FILDROP_DROP = 0x2 BPF_FILDROP_PASS = 0x0 BPF_F_DIR_IN = 0x10 BPF_F_DIR_MASK = 0x30 BPF_F_DIR_OUT = 0x20 BPF_F_DIR_SHIFT = 0x4 BPF_F_FLOWID = 0x8 BPF_F_PRI_MASK = 0x7 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_RND = 0xc0 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_BOOTTIME = 0x6 CLOCK_MONOTONIC = 0x3 CLOCK_PROCESS_CPUTIME_ID = 0x2 CLOCK_REALTIME = 0x0 CLOCK_THREAD_CPUTIME_ID = 0x4 CLOCK_UPTIME = 0x5 CPUSTATES = 0x6 CP_IDLE = 0x5 CP_INTR = 0x4 CP_NICE = 0x1 CP_SPIN = 0x3 CP_SYS = 0x2 CP_USER = 0x0 CREAD = 0x800 CRTSCTS = 0x10000 CS5 = 0x0 CS6 = 0x100 CS7 = 0x200 CS8 = 0x300 CSIZE = 0x300 CSTART = 0x11 CSTATUS = 0xff CSTOP = 0x13 CSTOPB = 0x400 CSUSP = 0x1a CTL_HW = 0x6 CTL_KERN = 0x1 CTL_MAXNAME = 0xc CTL_NET = 0x4 DIOCADDQUEUE = 0xc110445d DIOCADDRULE = 0xcd604404 DIOCADDSTATE = 0xc1084425 DIOCCHANGERULE = 0xcd60441a DIOCCLRIFFLAG = 0xc028445a DIOCCLRSRCNODES = 0x20004455 DIOCCLRSTATES = 0xc0e04412 DIOCCLRSTATUS = 0xc0284416 DIOCGETLIMIT = 0xc0084427 DIOCGETQSTATS = 0xc1204460 DIOCGETQUEUE = 0xc110445f DIOCGETQUEUES = 0xc110445e DIOCGETRULE = 0xcd604407 DIOCGETRULES = 0xcd604406 DIOCGETRULESET = 0xc444443b DIOCGETRULESETS = 0xc444443a DIOCGETSRCNODES = 0xc0104454 DIOCGETSTATE = 0xc1084413 DIOCGETSTATES = 0xc0104419 DIOCGETSTATUS = 0xc1e84415 DIOCGETSYNFLWATS = 0xc0084463 DIOCGETTIMEOUT = 0xc008441e DIOCIGETIFACES = 0xc0284457 DIOCKILLSRCNODES = 0xc080445b DIOCKILLSTATES = 0xc0e04429 DIOCNATLOOK = 0xc0504417 DIOCOSFPADD = 0xc088444f DIOCOSFPFLUSH = 0x2000444e DIOCOSFPGET = 0xc0884450 DIOCRADDADDRS = 0xc4504443 DIOCRADDTABLES = 0xc450443d DIOCRCLRADDRS = 0xc4504442 DIOCRCLRASTATS = 0xc4504448 DIOCRCLRTABLES = 0xc450443c DIOCRCLRTSTATS = 0xc4504441 DIOCRDELADDRS = 0xc4504444 DIOCRDELTABLES = 0xc450443e DIOCRGETADDRS = 0xc4504446 DIOCRGETASTATS = 0xc4504447 DIOCRGETTABLES = 0xc450443f DIOCRGETTSTATS = 0xc4504440 DIOCRINADEFINE = 0xc450444d DIOCRSETADDRS = 0xc4504445 DIOCRSETTFLAGS = 0xc450444a DIOCRTSTADDRS = 0xc4504449 DIOCSETDEBUG = 0xc0044418 DIOCSETHOSTID = 0xc0044456 DIOCSETIFFLAG = 0xc0284459 DIOCSETLIMIT = 0xc0084428 DIOCSETREASS = 0xc004445c DIOCSETSTATUSIF = 0xc0284414 DIOCSETSYNCOOKIES = 0xc0014462 DIOCSETSYNFLWATS = 0xc0084461 DIOCSETTIMEOUT = 0xc008441d DIOCSTART = 0x20004401 DIOCSTOP = 0x20004402 DIOCXBEGIN = 0xc0104451 DIOCXCOMMIT = 0xc0104452 DIOCXROLLBACK = 0xc0104453 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_OPENFLOW = 0x10b 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 DLT_USBPCAP = 0xf9 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 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 ETH64_8021_RSVD_MASK = 0xfffffffffff0 ETH64_8021_RSVD_PREFIX = 0x180c2000000 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_EAPOL = 0x888e 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_MACSEC = 0x88e5 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_NHRP = 0x2001 ETHERTYPE_NOVELL = 0x8138 ETHERTYPE_NS = 0x600 ETHERTYPE_NSAT = 0x601 ETHERTYPE_NSCOMPAT = 0x807 ETHERTYPE_NSH = 0x984f ETHERTYPE_NTRAILER = 0x10 ETHERTYPE_OS9 = 0x7007 ETHERTYPE_OS9NET = 0x7009 ETHERTYPE_PACER = 0x80c6 ETHERTYPE_PBB = 0x88e7 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_HARDMTU_LEN = 0xff9b ETHER_MAX_LEN = 0x5ee ETHER_MIN_LEN = 0x40 ETHER_TYPE_LEN = 0x2 ETHER_VLAN_ENCAP_LEN = 0x4 EVFILT_AIO = -0x3 EVFILT_DEVICE = -0x8 EVFILT_EXCEPT = -0x9 EVFILT_PROC = -0x5 EVFILT_READ = -0x1 EVFILT_SIGNAL = -0x6 EVFILT_SYSCOUNT = 0x9 EVFILT_TIMER = -0x7 EVFILT_VNODE = -0x4 EVFILT_WRITE = -0x2 EVL_ENCAPLEN = 0x4 EVL_PRIO_BITS = 0xd EVL_PRIO_MAX = 0x7 EVL_VLID_MASK = 0xfff EVL_VLID_MAX = 0xffe EVL_VLID_MIN = 0x1 EVL_VLID_NULL = 0x0 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_ONESHOT = 0x10 EV_RECEIPT = 0x40 EV_SYSFLAGS = 0xf800 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_ISATTY = 0xb 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 HW_MACHINE = 0x1 ICANON = 0x100 ICMP6_FILTER = 0x12 ICRNL = 0x100 IEXTEN = 0x400 IFAN_ARRIVAL = 0x0 IFAN_DEPARTURE = 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_OACTIVE = 0x400 IFF_POINTOPOINT = 0x10 IFF_PROMISC = 0x100 IFF_RUNNING = 0x40 IFF_SIMPLEX = 0x800 IFF_STATICARP = 0x20 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_MBIM = 0xfa 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_WIREGUARD = 0xfb 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_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_SCTP = 0x84 IPPROTO_TCP = 0x6 IPPROTO_TP = 0x1d IPPROTO_UDP = 0x11 IPPROTO_UDPLITE = 0x88 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 = 0xfffffff IPV6_FLOWLABEL_MASK = 0xfffff 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_MINHOPCOUNT = 0x41 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_DROP_MEMBERSHIP = 0xd IP_ESP_NETWORK_LEVEL = 0x16 IP_ESP_TRANS_LEVEL = 0x15 IP_HDRINCL = 0x2 IP_IPCOMP_LEVEL = 0x1d IP_IPDEFTTL = 0x25 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_SENDSRCADDR = 0x7 IP_TOS = 0x3 IP_TTL = 0x4 ISIG = 0x80 ISTRIP = 0x20 ITIMER_PROF = 0x2 ITIMER_REAL = 0x0 ITIMER_VIRTUAL = 0x1 IUCLC = 0x1000 IXANY = 0x800 IXOFF = 0x400 IXON = 0x200 KERN_HOSTNAME = 0xa KERN_OSRELEASE = 0x2 KERN_OSTYPE = 0x1 KERN_VERSION = 0x4 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_ANONYMOUS = 0x1000 MAP_CONCEAL = 0x8000 MAP_COPY = 0x2 MAP_FILE = 0x0 MAP_FIXED = 0x10 MAP_FLAGMASK = 0xfff7 MAP_HASSEMAPHORE = 0x0 MAP_INHERIT = 0x0 MAP_INHERIT_COPY = 0x1 MAP_INHERIT_NONE = 0x2 MAP_INHERIT_SHARE = 0x0 MAP_INHERIT_ZERO = 0x3 MAP_NOEXTEND = 0x0 MAP_NORESERVE = 0x0 MAP_PRIVATE = 0x2 MAP_RENAME = 0x0 MAP_SHARED = 0x1 MAP_STACK = 0x4000 MAP_TRYFIXED = 0x0 MCL_CURRENT = 0x1 MCL_FUTURE = 0x2 MNT_ASYNC = 0x40 MNT_DEFEXPORTED = 0x200 MNT_DELEXPORT = 0x20000 MNT_DOOMED = 0x8000000 MNT_EXPORTANON = 0x400 MNT_EXPORTED = 0x100 MNT_EXRDONLY = 0x80 MNT_FORCE = 0x80000 MNT_LAZY = 0x3 MNT_LOCAL = 0x1000 MNT_NOATIME = 0x8000 MNT_NODEV = 0x10 MNT_NOEXEC = 0x4 MNT_NOPERM = 0x20 MNT_NOSUID = 0x8 MNT_NOWAIT = 0x2 MNT_QUOTA = 0x2000 MNT_RDONLY = 0x1 MNT_RELOAD = 0x40000 MNT_ROOTFS = 0x4000 MNT_SOFTDEP = 0x4000000 MNT_STALLED = 0x100000 MNT_SWAPPABLE = 0x200000 MNT_SYNCHRONOUS = 0x2 MNT_UPDATE = 0x10000 MNT_VISFLAGMASK = 0x400ffff MNT_WAIT = 0x1 MNT_WANTRDWR = 0x2000000 MNT_WXALLOWED = 0x800 MOUNT_AFS = "afs" MOUNT_CD9660 = "cd9660" MOUNT_EXT2FS = "ext2fs" MOUNT_FFS = "ffs" MOUNT_FUSEFS = "fuse" MOUNT_MFS = "mfs" MOUNT_MSDOS = "msdos" MOUNT_NCPFS = "ncpfs" MOUNT_NFS = "nfs" MOUNT_NTFS = "ntfs" MOUNT_TMPFS = "tmpfs" MOUNT_UDF = "udf" MOUNT_UFS = "ffs" MSG_BCAST = 0x100 MSG_CMSG_CLOEXEC = 0x800 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 MSG_WAITFORONE = 0x1000 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_IFNAMES = 0x6 NET_RT_MAXID = 0x8 NET_RT_SOURCE = 0x7 NET_RT_STATS = 0x4 NET_RT_TABLE = 0x5 NFDBITS = 0x20 NOFLSH = 0x80000000 NOKERNINFO = 0x2000000 NOTE_ATTRIB = 0x8 NOTE_CHANGE = 0x1 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_OOB = 0x4 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 OLCUC = 0x20 ONLCR = 0x2 ONLRET = 0x80 ONOCR = 0x40 ONOEOT = 0x8 OPOST = 0x1 OXTABS = 0x4 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_MEMLOCK = 0x6 RLIMIT_NOFILE = 0x8 RLIMIT_NPROC = 0x7 RLIMIT_RSS = 0x5 RLIMIT_STACK = 0x3 RLIM_INFINITY = 0x7fffffffffffffff RTAX_AUTHOR = 0x6 RTAX_BFD = 0xb RTAX_BRD = 0x7 RTAX_DNS = 0xc RTAX_DST = 0x0 RTAX_GATEWAY = 0x1 RTAX_GENMASK = 0x3 RTAX_IFA = 0x5 RTAX_IFP = 0x4 RTAX_LABEL = 0xa RTAX_MAX = 0xf RTAX_NETMASK = 0x2 RTAX_SEARCH = 0xe RTAX_SRC = 0x8 RTAX_SRCMASK = 0x9 RTAX_STATIC = 0xd RTA_AUTHOR = 0x40 RTA_BFD = 0x800 RTA_BRD = 0x80 RTA_DNS = 0x1000 RTA_DST = 0x1 RTA_GATEWAY = 0x2 RTA_GENMASK = 0x8 RTA_IFA = 0x20 RTA_IFP = 0x10 RTA_LABEL = 0x400 RTA_NETMASK = 0x4 RTA_SEARCH = 0x4000 RTA_SRC = 0x100 RTA_SRCMASK = 0x200 RTA_STATIC = 0x2000 RTF_ANNOUNCE = 0x4000 RTF_BFD = 0x1000000 RTF_BLACKHOLE = 0x1000 RTF_BROADCAST = 0x400000 RTF_CACHED = 0x20000 RTF_CLONED = 0x10000 RTF_CLONING = 0x100 RTF_CONNECTED = 0x800000 RTF_DONE = 0x40 RTF_DYNAMIC = 0x10 RTF_FMASK = 0x110fc08 RTF_GATEWAY = 0x2 RTF_HOST = 0x4 RTF_LLINFO = 0x400 RTF_LOCAL = 0x200000 RTF_MODIFIED = 0x20 RTF_MPATH = 0x40000 RTF_MPLS = 0x100000 RTF_MULTICAST = 0x200 RTF_PERMANENT_ARP = 0x2000 RTF_PROTO1 = 0x8000 RTF_PROTO2 = 0x4000 RTF_PROTO3 = 0x2000 RTF_REJECT = 0x8 RTF_STATIC = 0x800 RTF_UP = 0x1 RTF_USETRAILERS = 0x8000 RTM_80211INFO = 0x15 RTM_ADD = 0x1 RTM_BFD = 0x12 RTM_CHANGE = 0x3 RTM_CHGADDRATTR = 0x14 RTM_DELADDR = 0xd RTM_DELETE = 0x2 RTM_DESYNC = 0x10 RTM_GET = 0x4 RTM_IFANNOUNCE = 0xf RTM_IFINFO = 0xe RTM_INVALIDATE = 0x11 RTM_LOSING = 0x5 RTM_MAXSIZE = 0x800 RTM_MISS = 0x7 RTM_NEWADDR = 0xc RTM_PROPOSAL = 0x13 RTM_REDIRECT = 0x6 RTM_RESOLVE = 0xb RTM_SOURCE = 0x16 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_BITS = 0x8 RT_TABLEID_MASK = 0xff RT_TABLEID_MAX = 0xff RUSAGE_CHILDREN = -0x1 RUSAGE_SELF = 0x0 RUSAGE_THREAD = 0x1 SCM_RIGHTS = 0x1 SCM_TIMESTAMP = 0x4 SEEK_CUR = 0x1 SEEK_END = 0x2 SEEK_SET = 0x0 SHUT_RD = 0x0 SHUT_RDWR = 0x2 SHUT_WR = 0x1 SIOCADDMULTI = 0x80206931 SIOCAIFADDR = 0x8040691a SIOCAIFGROUP = 0x80286987 SIOCATMARK = 0x40047307 SIOCBRDGADD = 0x8060693c SIOCBRDGADDL = 0x80606949 SIOCBRDGADDS = 0x80606941 SIOCBRDGARL = 0x808c694d SIOCBRDGDADDR = 0x81286947 SIOCBRDGDEL = 0x8060693d SIOCBRDGDELS = 0x80606942 SIOCBRDGFLUSH = 0x80606948 SIOCBRDGFRL = 0x808c694e SIOCBRDGGCACHE = 0xc0146941 SIOCBRDGGFD = 0xc0146952 SIOCBRDGGHT = 0xc0146951 SIOCBRDGGIFFLGS = 0xc060693e SIOCBRDGGMA = 0xc0146953 SIOCBRDGGPARAM = 0xc0406958 SIOCBRDGGPRI = 0xc0146950 SIOCBRDGGRL = 0xc030694f SIOCBRDGGTO = 0xc0146946 SIOCBRDGIFS = 0xc0606942 SIOCBRDGRTS = 0xc0206943 SIOCBRDGSADDR = 0xc1286944 SIOCBRDGSCACHE = 0x80146940 SIOCBRDGSFD = 0x80146952 SIOCBRDGSHT = 0x80146951 SIOCBRDGSIFCOST = 0x80606955 SIOCBRDGSIFFLGS = 0x8060693f SIOCBRDGSIFPRIO = 0x80606954 SIOCBRDGSIFPROT = 0x8060694a SIOCBRDGSMA = 0x80146953 SIOCBRDGSPRI = 0x80146950 SIOCBRDGSPROTO = 0x8014695a SIOCBRDGSTO = 0x80146945 SIOCBRDGSTXHC = 0x80146959 SIOCDELLABEL = 0x80206997 SIOCDELMULTI = 0x80206932 SIOCDIFADDR = 0x80206919 SIOCDIFGROUP = 0x80286989 SIOCDIFPARENT = 0x802069b4 SIOCDIFPHYADDR = 0x80206949 SIOCDPWE3NEIGHBOR = 0x802069de SIOCDVNETID = 0x802069af SIOCGETKALIVE = 0xc01869a4 SIOCGETLABEL = 0x8020699a SIOCGETMPWCFG = 0xc02069ae SIOCGETPFLOW = 0xc02069fe SIOCGETPFSYNC = 0xc02069f8 SIOCGETSGCNT = 0xc0207534 SIOCGETVIFCNT = 0xc0287533 SIOCGETVLAN = 0xc0206990 SIOCGIFADDR = 0xc0206921 SIOCGIFBRDADDR = 0xc0206923 SIOCGIFCONF = 0xc0106924 SIOCGIFDATA = 0xc020691b SIOCGIFDESCR = 0xc0206981 SIOCGIFDSTADDR = 0xc0206922 SIOCGIFFLAGS = 0xc0206911 SIOCGIFGATTR = 0xc028698b SIOCGIFGENERIC = 0xc020693a SIOCGIFGLIST = 0xc028698d SIOCGIFGMEMB = 0xc028698a SIOCGIFGROUP = 0xc0286988 SIOCGIFHARDMTU = 0xc02069a5 SIOCGIFLLPRIO = 0xc02069b6 SIOCGIFMEDIA = 0xc0406938 SIOCGIFMETRIC = 0xc0206917 SIOCGIFMTU = 0xc020697e SIOCGIFNETMASK = 0xc0206925 SIOCGIFPAIR = 0xc02069b1 SIOCGIFPARENT = 0xc02069b3 SIOCGIFPRIORITY = 0xc020699c SIOCGIFRDOMAIN = 0xc02069a0 SIOCGIFRTLABEL = 0xc0206983 SIOCGIFRXR = 0x802069aa SIOCGIFSFFPAGE = 0xc1126939 SIOCGIFXFLAGS = 0xc020699e SIOCGLIFPHYADDR = 0xc218694b SIOCGLIFPHYDF = 0xc02069c2 SIOCGLIFPHYECN = 0xc02069c8 SIOCGLIFPHYRTABLE = 0xc02069a2 SIOCGLIFPHYTTL = 0xc02069a9 SIOCGPGRP = 0x40047309 SIOCGPWE3 = 0xc0206998 SIOCGPWE3CTRLWORD = 0xc02069dc SIOCGPWE3FAT = 0xc02069dd SIOCGPWE3NEIGHBOR = 0xc21869de SIOCGRXHPRIO = 0xc02069db SIOCGSPPPPARAMS = 0xc0206994 SIOCGTXHPRIO = 0xc02069c6 SIOCGUMBINFO = 0xc02069be SIOCGUMBPARAM = 0xc02069c0 SIOCGVH = 0xc02069f6 SIOCGVNETFLOWID = 0xc02069c4 SIOCGVNETID = 0xc02069a7 SIOCIFAFATTACH = 0x801169ab SIOCIFAFDETACH = 0x801169ac SIOCIFCREATE = 0x8020697a SIOCIFDESTROY = 0x80206979 SIOCIFGCLONERS = 0xc0106978 SIOCSETKALIVE = 0x801869a3 SIOCSETLABEL = 0x80206999 SIOCSETMPWCFG = 0x802069ad SIOCSETPFLOW = 0x802069fd SIOCSETPFSYNC = 0x802069f7 SIOCSETVLAN = 0x8020698f SIOCSIFADDR = 0x8020690c SIOCSIFBRDADDR = 0x80206913 SIOCSIFDESCR = 0x80206980 SIOCSIFDSTADDR = 0x8020690e SIOCSIFFLAGS = 0x80206910 SIOCSIFGATTR = 0x8028698c SIOCSIFGENERIC = 0x80206939 SIOCSIFLLADDR = 0x8020691f SIOCSIFLLPRIO = 0x802069b5 SIOCSIFMEDIA = 0xc0206937 SIOCSIFMETRIC = 0x80206918 SIOCSIFMTU = 0x8020697f SIOCSIFNETMASK = 0x80206916 SIOCSIFPAIR = 0x802069b0 SIOCSIFPARENT = 0x802069b2 SIOCSIFPRIORITY = 0x8020699b SIOCSIFRDOMAIN = 0x8020699f SIOCSIFRTLABEL = 0x80206982 SIOCSIFXFLAGS = 0x8020699d SIOCSLIFPHYADDR = 0x8218694a SIOCSLIFPHYDF = 0x802069c1 SIOCSLIFPHYECN = 0x802069c7 SIOCSLIFPHYRTABLE = 0x802069a1 SIOCSLIFPHYTTL = 0x802069a8 SIOCSPGRP = 0x80047308 SIOCSPWE3CTRLWORD = 0x802069dc SIOCSPWE3FAT = 0x802069dd SIOCSPWE3NEIGHBOR = 0x821869de SIOCSRXHPRIO = 0x802069db SIOCSSPPPPARAMS = 0x80206993 SIOCSTXHPRIO = 0x802069c5 SIOCSUMBPARAM = 0x802069bf SIOCSVH = 0xc02069f5 SIOCSVNETFLOWID = 0x802069c3 SIOCSVNETID = 0x802069a6 SOCK_CLOEXEC = 0x8000 SOCK_DGRAM = 0x2 SOCK_DNS = 0x1000 SOCK_NONBLOCK = 0x4000 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_DOMAIN = 0x1024 SO_DONTROUTE = 0x10 SO_ERROR = 0x1007 SO_KEEPALIVE = 0x8 SO_LINGER = 0x80 SO_NETPROC = 0x1020 SO_OOBINLINE = 0x100 SO_PEERCRED = 0x1022 SO_PROTOCOL = 0x1025 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 SO_ZEROIZE = 0x2000 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_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 TCIOFF = 0x3 TCIOFLUSH = 0x3 TCION = 0x4 TCOFLUSH = 0x2 TCOOFF = 0x1 TCOON = 0x2 TCPOPT_EOL = 0x0 TCPOPT_MAXSEG = 0x2 TCPOPT_NOP = 0x1 TCPOPT_SACK = 0x5 TCPOPT_SACK_HDR = 0x1010500 TCPOPT_SACK_PERMITTED = 0x4 TCPOPT_SACK_PERMIT_HDR = 0x1010402 TCPOPT_SIGNATURE = 0x13 TCPOPT_TIMESTAMP = 0x8 TCPOPT_TSTAMP_HDR = 0x101080a TCPOPT_WINDOW = 0x3 TCP_INFO = 0x9 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_SACKHOLE_LIMIT = 0x80 TCP_SACK_ENABLE = 0x8 TCSAFLUSH = 0x2 TIMER_ABSTIME = 0x1 TIMER_RELTIME = 0x0 TIOCCBRK = 0x2000747a TIOCCDTR = 0x20007478 TIOCCHKVERAUTH = 0x2000741e TIOCCLRVERAUTH = 0x2000741d 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 TIOCSETVERAUTH = 0x8004741c TIOCSFLAGS = 0x8004745c TIOCSIG = 0x8004745f TIOCSPGRP = 0x80047476 TIOCSTART = 0x2000746e TIOCSTAT = 0x20007465 TIOCSTOP = 0x2000746f TIOCSTSTAMP = 0x8008745a TIOCSWINSZ = 0x80087467 TIOCUCNTL = 0x80047466 TIOCUCNTL_CBRK = 0x7a TIOCUCNTL_SBRK = 0x7b TOSTOP = 0x400000 UTIME_NOW = -0x2 UTIME_OMIT = -0x1 VDISCARD = 0xf VDSUSP = 0xb VEOF = 0x0 VEOL = 0x1 VEOL2 = 0x2 VERASE = 0x3 VINTR = 0x8 VKILL = 0x5 VLNEXT = 0xe VMIN = 0x10 VM_ANONMIN = 0x7 VM_LOADAVG = 0x2 VM_MALLOC_CONF = 0xc VM_MAXID = 0xd VM_MAXSLP = 0xa VM_METER = 0x1 VM_NKMEMPAGES = 0x6 VM_PSSTRINGS = 0x3 VM_SWAPENCRYPT = 0x5 VM_USPACE = 0xb VM_UVMEXP = 0x4 VM_VNODEMIN = 0x9 VM_VTEXTMIN = 0x8 VQUIT = 0x9 VREPRINT = 0x6 VSTART = 0xc VSTATUS = 0x12 VSTOP = 0xd VSUSP = 0xa VTIME = 0x11 VWERASE = 0x4 WALTSIG = 0x4 WCONTINUED = 0x8 WCOREFLAG = 0x80 WNOHANG = 0x1 WUNTRACED = 0x2 XCASE = 0x1000000 ) // 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(0x5c) 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(0x5f) 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) ENOTRECOVERABLE = syscall.Errno(0x5d) ENOTSOCK = syscall.Errno(0x26) ENOTSUP = syscall.Errno(0x5b) ENOTTY = syscall.Errno(0x19) ENXIO = syscall.Errno(0x6) EOPNOTSUPP = syscall.Errno(0x2d) EOVERFLOW = syscall.Errno(0x57) EOWNERDEAD = syscall.Errno(0x5e) 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(0x5f) 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 errorList = [...]struct { num syscall.Errno name string desc string }{ {1, "EPERM", "operation not permitted"}, {2, "ENOENT", "no such file or directory"}, {3, "ESRCH", "no such process"}, {4, "EINTR", "interrupted system call"}, {5, "EIO", "input/output error"}, {6, "ENXIO", "device not configured"}, {7, "E2BIG", "argument list too long"}, {8, "ENOEXEC", "exec format error"}, {9, "EBADF", "bad file descriptor"}, {10, "ECHILD", "no child processes"}, {11, "EDEADLK", "resource deadlock avoided"}, {12, "ENOMEM", "cannot allocate memory"}, {13, "EACCES", "permission denied"}, {14, "EFAULT", "bad address"}, {15, "ENOTBLK", "block device required"}, {16, "EBUSY", "device busy"}, {17, "EEXIST", "file exists"}, {18, "EXDEV", "cross-device link"}, {19, "ENODEV", "operation not supported by device"}, {20, "ENOTDIR", "not a directory"}, {21, "EISDIR", "is a directory"}, {22, "EINVAL", "invalid argument"}, {23, "ENFILE", "too many open files in system"}, {24, "EMFILE", "too many open files"}, {25, "ENOTTY", "inappropriate ioctl for device"}, {26, "ETXTBSY", "text file busy"}, {27, "EFBIG", "file too large"}, {28, "ENOSPC", "no space left on device"}, {29, "ESPIPE", "illegal seek"}, {30, "EROFS", "read-only file system"}, {31, "EMLINK", "too many links"}, {32, "EPIPE", "broken pipe"}, {33, "EDOM", "numerical argument out of domain"}, {34, "ERANGE", "result too large"}, {35, "EAGAIN", "resource temporarily unavailable"}, {36, "EINPROGRESS", "operation now in progress"}, {37, "EALREADY", "operation already in progress"}, {38, "ENOTSOCK", "socket operation on non-socket"}, {39, "EDESTADDRREQ", "destination address required"}, {40, "EMSGSIZE", "message too long"}, {41, "EPROTOTYPE", "protocol wrong type for socket"}, {42, "ENOPROTOOPT", "protocol not available"}, {43, "EPROTONOSUPPORT", "protocol not supported"}, {44, "ESOCKTNOSUPPORT", "socket type not supported"}, {45, "EOPNOTSUPP", "operation not supported"}, {46, "EPFNOSUPPORT", "protocol family not supported"}, {47, "EAFNOSUPPORT", "address family not supported by protocol family"}, {48, "EADDRINUSE", "address already in use"}, {49, "EADDRNOTAVAIL", "can't assign requested address"}, {50, "ENETDOWN", "network is down"}, {51, "ENETUNREACH", "network is unreachable"}, {52, "ENETRESET", "network dropped connection on reset"}, {53, "ECONNABORTED", "software caused connection abort"}, {54, "ECONNRESET", "connection reset by peer"}, {55, "ENOBUFS", "no buffer space available"}, {56, "EISCONN", "socket is already connected"}, {57, "ENOTCONN", "socket is not connected"}, {58, "ESHUTDOWN", "can't send after socket shutdown"}, {59, "ETOOMANYREFS", "too many references: can't splice"}, {60, "ETIMEDOUT", "operation timed out"}, {61, "ECONNREFUSED", "connection refused"}, {62, "ELOOP", "too many levels of symbolic links"}, {63, "ENAMETOOLONG", "file name too long"}, {64, "EHOSTDOWN", "host is down"}, {65, "EHOSTUNREACH", "no route to host"}, {66, "ENOTEMPTY", "directory not empty"}, {67, "EPROCLIM", "too many processes"}, {68, "EUSERS", "too many users"}, {69, "EDQUOT", "disk quota exceeded"}, {70, "ESTALE", "stale NFS file handle"}, {71, "EREMOTE", "too many levels of remote in path"}, {72, "EBADRPC", "RPC struct is bad"}, {73, "ERPCMISMATCH", "RPC version wrong"}, {74, "EPROGUNAVAIL", "RPC program not available"}, {75, "EPROGMISMATCH", "program version wrong"}, {76, "EPROCUNAVAIL", "bad procedure for program"}, {77, "ENOLCK", "no locks available"}, {78, "ENOSYS", "function not implemented"}, {79, "EFTYPE", "inappropriate file type or format"}, {80, "EAUTH", "authentication error"}, {81, "ENEEDAUTH", "need authenticator"}, {82, "EIPSEC", "IPsec processing failure"}, {83, "ENOATTR", "attribute not found"}, {84, "EILSEQ", "illegal byte sequence"}, {85, "ENOMEDIUM", "no medium found"}, {86, "EMEDIUMTYPE", "wrong medium type"}, {87, "EOVERFLOW", "value too large to be stored in data type"}, {88, "ECANCELED", "operation canceled"}, {89, "EIDRM", "identifier removed"}, {90, "ENOMSG", "no message of desired type"}, {91, "ENOTSUP", "not supported"}, {92, "EBADMSG", "bad message"}, {93, "ENOTRECOVERABLE", "state not recoverable"}, {94, "EOWNERDEAD", "previous owner died"}, {95, "ELAST", "protocol error"}, } // Signal table var signalList = [...]struct { num syscall.Signal name string desc string }{ {1, "SIGHUP", "hangup"}, {2, "SIGINT", "interrupt"}, {3, "SIGQUIT", "quit"}, {4, "SIGILL", "illegal instruction"}, {5, "SIGTRAP", "trace/BPT trap"}, {6, "SIGIOT", "abort trap"}, {7, "SIGEMT", "EMT trap"}, {8, "SIGFPE", "floating point exception"}, {9, "SIGKILL", "killed"}, {10, "SIGBUS", "bus error"}, {11, "SIGSEGV", "segmentation fault"}, {12, "SIGSYS", "bad system call"}, {13, "SIGPIPE", "broken pipe"}, {14, "SIGALRM", "alarm clock"}, {15, "SIGTERM", "terminated"}, {16, "SIGURG", "urgent I/O condition"}, {17, "SIGSTOP", "suspended (signal)"}, {18, "SIGTSTP", "suspended"}, {19, "SIGCONT", "continued"}, {20, "SIGCHLD", "child exited"}, {21, "SIGTTIN", "stopped (tty input)"}, {22, "SIGTTOU", "stopped (tty output)"}, {23, "SIGIO", "I/O possible"}, {24, "SIGXCPU", "cputime limit exceeded"}, {25, "SIGXFSZ", "filesize limit exceeded"}, {26, "SIGVTALRM", "virtual timer expired"}, {27, "SIGPROF", "profiling timer expired"}, {28, "SIGWINCH", "window size changes"}, {29, "SIGINFO", "information request"}, {30, "SIGUSR1", "user defined signal 1"}, {31, "SIGUSR2", "user defined signal 2"}, {32, "SIGTHR", "thread AST"}, {81920, "SIGSTKSZ", "unknown signal"}, } dependencies/pkg/mod/golang.org/x/sys@v0.26.0/unix/zsysnum_dragonfly_amd64.go0000644000000000000000000006716015107355264025742 0ustar rootroot// go run mksysnum.go https://gitweb.dragonflybsd.org/dragonfly.git/blob_plain/HEAD:/sys/kern/syscalls.master // Code generated by the command above; see README.md. DO NOT EDIT. //go:build amd64 && dragonfly package unix const ( 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, struct rusage *rusage); } wait4 wait_args int // SYS_NOSYS = 8; // { int nosys(void); } __nosys nosys_args int 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, int flags); } SYS_GETPID = 20 // { pid_t getpid(void); } SYS_MOUNT = 21 // { int mount(char *type, char *path, int flags, caddr_t data); } 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, int data); } 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, int flags, caddr_t from, int *fromlenaddr); } 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(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(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, u_long offset, u_int scale); } SYS_KTRACE = 45 // { int ktrace(const char *fname, int ops, int facs, int pid); } SYS_GETGID = 47 // { gid_t getgid(void); } SYS_GETLOGIN = 49 // { int getlogin(char *namebuf, size_t 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 // { caddr_t sbrk(size_t incr); } SYS_SSTK = 70 // { int sstk(size_t 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, char *vec); } 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, struct itimerval *oitv); } 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, fd_set *ex, struct timeval *tv); } 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, caddr_t val, int valsize); } SYS_LISTEN = 106 // { int listen(int s, int backlog); } SYS_GETTIMEOFDAY = 116 // { int gettimeofday(struct timeval *tp, struct timezone *tzp); } SYS_GETRUSAGE = 117 // { int getrusage(int who, struct rusage *rusage); } SYS_GETSOCKOPT = 118 // { int getsockopt(int s, int level, int name, caddr_t val, int *avalsize); } SYS_READV = 120 // { int readv(int fd, struct iovec *iovp, u_int iovcnt); } SYS_WRITEV = 121 // { int writev(int fd, struct iovec *iovp, u_int iovcnt); } SYS_SETTIMEOFDAY = 122 // { int settimeofday(struct timeval *tv, struct timezone *tzp); } 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, int flags, caddr_t to, int tolen); } SYS_SHUTDOWN = 134 // { int shutdown(int s, int how); } SYS_SOCKETPAIR = 135 // { int socketpair(int domain, int type, int protocol, int *rsv); } 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, struct timeval *olddelta); } SYS_SETSID = 147 // { int setsid(void); } SYS_QUOTACTL = 148 // { int quotactl(char *path, int cmd, int uid, caddr_t arg); } 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_SYSARCH = 165 // { int sysarch(int op, char *parms); } SYS_RTPRIO = 166 // { int rtprio(int function, pid_t pid, struct rtprio *rtp); } SYS_EXTPREAD = 173 // { ssize_t extpread(int fd, void *buf, size_t nbyte, int flags, off_t offset); } SYS_EXTPWRITE = 174 // { ssize_t extpwrite(int fd, const void *buf, size_t nbyte, int flags, off_t offset); } 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, struct rlimit *rlp); } getrlimit __getrlimit_args int SYS_SETRLIMIT = 195 // { int setrlimit(u_int which, struct rlimit *rlp); } setrlimit __setrlimit_args int SYS_MMAP = 197 // { caddr_t mmap(caddr_t addr, size_t len, int prot, int flags, int fd, int pad, off_t pos); } SYS_LSEEK = 199 // { off_t lseek(int fd, int pad, off_t offset, int whence); } 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, size_t *oldlenp, void *new, size_t newlen); } __sysctl sysctl_args int 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, int timeout); } SYS___SEMCTL = 220 // { int __semctl(int semid, int semnum, int cmd, union semun *arg); } SYS_SEMGET = 221 // { int semget(key_t key, int nsems, int semflg); } SYS_SEMOP = 222 // { int semop(int semid, struct sembuf *sops, u_int nsops); } SYS_MSGCTL = 224 // { int msgctl(int msqid, int cmd, struct msqid_ds *buf); } SYS_MSGGET = 225 // { int msgget(key_t key, int msgflg); } SYS_MSGSND = 226 // { int msgsnd(int msqid, const void *msgp, size_t msgsz, int msgflg); } SYS_MSGRCV = 227 // { int msgrcv(int msqid, void *msgp, size_t msgsz, long msgtyp, int msgflg); } SYS_SHMAT = 228 // { caddr_t shmat(int shmid, const void *shmaddr, int shmflg); } SYS_SHMCTL = 229 // { int shmctl(int shmid, int cmd, struct shmid_ds *buf); } 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, struct timespec *tp); } SYS_CLOCK_SETTIME = 233 // { int clock_settime(clockid_t clock_id, const struct timespec *tp); } SYS_CLOCK_GETRES = 234 // { int clock_getres(clockid_t clock_id, struct timespec *tp); } SYS_NANOSLEEP = 240 // { int nanosleep(const struct timespec *rqtp, struct timespec *rmtp); } 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, int timeout); } 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, const struct iovec *iovp, int iovcnt, int flags, off_t offset); } SYS_EXTPWRITEV = 290 // { ssize_t extpwritev(int fd, const struct iovec *iovp, int iovcnt, int flags, off_t offset); } 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, sigset_t *oset); } SYS_SIGSUSPEND = 341 // { int sigsuspend(const sigset_t *sigmask); } SYS_SIGACTION = 342 // { int sigaction(int sig, const struct sigaction *act, struct sigaction *oact); } 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,siginfo_t *info, const struct timespec *timeout); } SYS_SIGWAITINFO = 346 // { int sigwaitinfo(const sigset_t *set,siginfo_t *info); } SYS___ACL_GET_FILE = 347 // { int __acl_get_file(const char *path, acl_type_t type, struct acl *aclp); } SYS___ACL_SET_FILE = 348 // { int __acl_set_file(const char *path, acl_type_t type, struct acl *aclp); } SYS___ACL_GET_FD = 349 // { int __acl_get_fd(int filedes, acl_type_t type, struct acl *aclp); } SYS___ACL_SET_FD = 350 // { int __acl_set_fd(int filedes, acl_type_t type, struct acl *aclp); } SYS___ACL_DELETE_FILE = 351 // { int __acl_delete_file(const char *path, acl_type_t type); } 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, acl_type_t type, struct acl *aclp); } SYS___ACL_ACLCHECK_FD = 354 // { int __acl_aclcheck_fd(int filedes, acl_type_t type, struct acl *aclp); } SYS_EXTATTRCTL = 355 // { int extattrctl(const char *path, int cmd, const char *filename, int attrnamespace, const char *attrname); } SYS_EXTATTR_SET_FILE = 356 // { int extattr_set_file(const char *path, int attrnamespace, const char *attrname, void *data, size_t nbytes); } SYS_EXTATTR_GET_FILE = 357 // { int extattr_get_file(const char *path, int attrnamespace, const char *attrname, void *data, size_t nbytes); } SYS_EXTATTR_DELETE_FILE = 358 // { int extattr_delete_file(const char *path, int attrnamespace, const char *attrname); } 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, const struct kevent *changelist, int nchanges, struct kevent *eventlist, int nevents, const struct timespec *timeout); } SYS_KENV = 390 // { int kenv(int what, const char *name, char *value, int len); } SYS_LCHFLAGS = 391 // { int lchflags(const char *path, u_long 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, struct sf_hdtr *hdtr, off_t *sbytes, int flags); } 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, long *basep); } 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, int bytes); } 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, struct trapframe *tframe, struct vextframe *vframe); } SYS_VMSPACE_MMAP = 489 // { int vmspace_mmap(void *id, void *addr, size_t len, int prot, int flags, int fd, off_t offset); } SYS_VMSPACE_MUNMAP = 490 // { int vmspace_munmap(void *id, void *addr, size_t len); } SYS_VMSPACE_MCONTROL = 491 // { int vmspace_mcontrol(void *id, void *addr, size_t len, int behav, off_t value); } SYS_VMSPACE_PREAD = 492 // { ssize_t vmspace_pread(void *id, void *buf, size_t nbyte, int flags, off_t offset); } SYS_VMSPACE_PWRITE = 493 // { ssize_t vmspace_pwrite(void *id, const void *buf, size_t nbyte, int flags, off_t offset); } 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, fd_set *ex, const struct timespec *ts, const sigset_t *sigmask); } 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, struct statvfs *vbuf, long vbufsize, int flags); } SYS_OPENAT = 504 // { int openat(int fd, char *path, int flags, int mode); } SYS_FSTATAT = 505 // { int fstatat(int fd, char *path, struct stat *sb, int flags); } SYS_FCHMODAT = 506 // { int fchmodat(int fd, char *path, int mode, int flags); } SYS_FCHOWNAT = 507 // { int fchownat(int fd, char *path, int uid, int gid, int flags); } SYS_UNLINKAT = 508 // { int unlinkat(int fd, char *path, int flags); } SYS_FACCESSAT = 509 // { int faccessat(int fd, char *path, int amode, int flags); } SYS_MQ_OPEN = 510 // { mqd_t mq_open(const char * name, int oflag, mode_t mode, struct mq_attr *attr); } 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, struct mq_attr *mqstat); } SYS_MQ_SETATTR = 514 // { int mq_setattr(mqd_t mqdes, const struct mq_attr *mqstat, struct mq_attr *omqstat); } SYS_MQ_NOTIFY = 515 // { int mq_notify(mqd_t mqdes, const struct sigevent *notification); } SYS_MQ_SEND = 516 // { int mq_send(mqd_t mqdes, const char *msg_ptr, size_t msg_len, unsigned msg_prio); } SYS_MQ_RECEIVE = 517 // { ssize_t mq_receive(mqd_t mqdes, char *msg_ptr, size_t msg_len, unsigned *msg_prio); } SYS_MQ_TIMEDSEND = 518 // { int mq_timedsend(mqd_t mqdes, const char *msg_ptr, size_t msg_len, unsigned msg_prio, const struct timespec *abs_timeout); } SYS_MQ_TIMEDRECEIVE = 519 // { ssize_t mq_timedreceive(mqd_t mqdes, char *msg_ptr, size_t msg_len, unsigned *msg_prio, const struct timespec *abs_timeout); } 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, char *new); } 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, dev_t dev); } SYS_READLINKAT = 527 // { int readlinkat(int fd, char *path, char *buf, size_t bufsize); } 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, struct plistref *pref); } SYS_LINKAT = 531 // { int linkat(int fd1, char *path1, int fd2, char *path2, int flags); } 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, u_long 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, const struct timespec *ts, const sigset_t *sigmask); } 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); } SYS_GETCPUCLOCKID = 547 // { int getcpuclockid(pid_t pid, lwpid_t lwp_id, clockid_t *clock_id); } SYS_WAIT6 = 548 // { int wait6(idtype_t idtype, id_t id, int *status, int options, struct __wrusage *wrusage, siginfo_t *info); } SYS_LWP_GETNAME = 549 // { int lwp_getname(lwpid_t tid, char *name, size_t len); } SYS_GETRANDOM = 550 // { ssize_t getrandom(void *buf, size_t len, unsigned flags); } SYS___REALPATH = 551 // { ssize_t __realpath(const char *path, char *buf, size_t len); } ) dependencies/pkg/mod/golang.org/x/sys@v0.26.0/unix/zptrace_armnn_linux.go0000644000000000000000000000226015107355264025222 0ustar rootroot// Code generated by linux/mkall.go generatePtracePair("arm", "arm64"). DO NOT EDIT. //go:build linux && (arm || arm64) package unix import "unsafe" // PtraceRegsArm is the registers used by arm binaries. type PtraceRegsArm struct { Uregs [18]uint32 } // PtraceGetRegsArm fetches the registers used by arm binaries. func PtraceGetRegsArm(pid int, regsout *PtraceRegsArm) error { return ptracePtr(PTRACE_GETREGS, pid, 0, unsafe.Pointer(regsout)) } // PtraceSetRegsArm sets the registers used by arm binaries. func PtraceSetRegsArm(pid int, regs *PtraceRegsArm) error { return ptracePtr(PTRACE_SETREGS, pid, 0, unsafe.Pointer(regs)) } // PtraceRegsArm64 is the registers used by arm64 binaries. type PtraceRegsArm64 struct { Regs [31]uint64 Sp uint64 Pc uint64 Pstate uint64 } // PtraceGetRegsArm64 fetches the registers used by arm64 binaries. func PtraceGetRegsArm64(pid int, regsout *PtraceRegsArm64) error { return ptracePtr(PTRACE_GETREGS, pid, 0, unsafe.Pointer(regsout)) } // PtraceSetRegsArm64 sets the registers used by arm64 binaries. func PtraceSetRegsArm64(pid int, regs *PtraceRegsArm64) error { return ptracePtr(PTRACE_SETREGS, pid, 0, unsafe.Pointer(regs)) } dependencies/pkg/mod/golang.org/x/sys@v0.26.0/unix/zsyscall_openbsd_ppc64.s0000644000000000000000000006731515107355264025403 0ustar rootroot// go run mkasm.go openbsd ppc64 // Code generated by the command above; DO NOT EDIT. #include "textflag.h" TEXT libc_getgroups_trampoline<>(SB),NOSPLIT,$0-0 CALL libc_getgroups(SB) RET GLOBL ·libc_getgroups_trampoline_addr(SB), RODATA, $8 DATA ·libc_getgroups_trampoline_addr(SB)/8, $libc_getgroups_trampoline<>(SB) TEXT libc_setgroups_trampoline<>(SB),NOSPLIT,$0-0 CALL libc_setgroups(SB) RET GLOBL ·libc_setgroups_trampoline_addr(SB), RODATA, $8 DATA ·libc_setgroups_trampoline_addr(SB)/8, $libc_setgroups_trampoline<>(SB) TEXT libc_wait4_trampoline<>(SB),NOSPLIT,$0-0 CALL libc_wait4(SB) RET GLOBL ·libc_wait4_trampoline_addr(SB), RODATA, $8 DATA ·libc_wait4_trampoline_addr(SB)/8, $libc_wait4_trampoline<>(SB) TEXT libc_accept_trampoline<>(SB),NOSPLIT,$0-0 CALL libc_accept(SB) RET GLOBL ·libc_accept_trampoline_addr(SB), RODATA, $8 DATA ·libc_accept_trampoline_addr(SB)/8, $libc_accept_trampoline<>(SB) TEXT libc_bind_trampoline<>(SB),NOSPLIT,$0-0 CALL libc_bind(SB) RET GLOBL ·libc_bind_trampoline_addr(SB), RODATA, $8 DATA ·libc_bind_trampoline_addr(SB)/8, $libc_bind_trampoline<>(SB) TEXT libc_connect_trampoline<>(SB),NOSPLIT,$0-0 CALL libc_connect(SB) RET GLOBL ·libc_connect_trampoline_addr(SB), RODATA, $8 DATA ·libc_connect_trampoline_addr(SB)/8, $libc_connect_trampoline<>(SB) TEXT libc_socket_trampoline<>(SB),NOSPLIT,$0-0 CALL libc_socket(SB) RET GLOBL ·libc_socket_trampoline_addr(SB), RODATA, $8 DATA ·libc_socket_trampoline_addr(SB)/8, $libc_socket_trampoline<>(SB) TEXT libc_getsockopt_trampoline<>(SB),NOSPLIT,$0-0 CALL libc_getsockopt(SB) RET GLOBL ·libc_getsockopt_trampoline_addr(SB), RODATA, $8 DATA ·libc_getsockopt_trampoline_addr(SB)/8, $libc_getsockopt_trampoline<>(SB) TEXT libc_setsockopt_trampoline<>(SB),NOSPLIT,$0-0 CALL libc_setsockopt(SB) RET GLOBL ·libc_setsockopt_trampoline_addr(SB), RODATA, $8 DATA ·libc_setsockopt_trampoline_addr(SB)/8, $libc_setsockopt_trampoline<>(SB) TEXT libc_getpeername_trampoline<>(SB),NOSPLIT,$0-0 CALL libc_getpeername(SB) RET GLOBL ·libc_getpeername_trampoline_addr(SB), RODATA, $8 DATA ·libc_getpeername_trampoline_addr(SB)/8, $libc_getpeername_trampoline<>(SB) TEXT libc_getsockname_trampoline<>(SB),NOSPLIT,$0-0 CALL libc_getsockname(SB) RET GLOBL ·libc_getsockname_trampoline_addr(SB), RODATA, $8 DATA ·libc_getsockname_trampoline_addr(SB)/8, $libc_getsockname_trampoline<>(SB) TEXT libc_shutdown_trampoline<>(SB),NOSPLIT,$0-0 CALL libc_shutdown(SB) RET GLOBL ·libc_shutdown_trampoline_addr(SB), RODATA, $8 DATA ·libc_shutdown_trampoline_addr(SB)/8, $libc_shutdown_trampoline<>(SB) TEXT libc_socketpair_trampoline<>(SB),NOSPLIT,$0-0 CALL libc_socketpair(SB) RET GLOBL ·libc_socketpair_trampoline_addr(SB), RODATA, $8 DATA ·libc_socketpair_trampoline_addr(SB)/8, $libc_socketpair_trampoline<>(SB) TEXT libc_recvfrom_trampoline<>(SB),NOSPLIT,$0-0 CALL libc_recvfrom(SB) RET GLOBL ·libc_recvfrom_trampoline_addr(SB), RODATA, $8 DATA ·libc_recvfrom_trampoline_addr(SB)/8, $libc_recvfrom_trampoline<>(SB) TEXT libc_sendto_trampoline<>(SB),NOSPLIT,$0-0 CALL libc_sendto(SB) RET GLOBL ·libc_sendto_trampoline_addr(SB), RODATA, $8 DATA ·libc_sendto_trampoline_addr(SB)/8, $libc_sendto_trampoline<>(SB) TEXT libc_recvmsg_trampoline<>(SB),NOSPLIT,$0-0 CALL libc_recvmsg(SB) RET GLOBL ·libc_recvmsg_trampoline_addr(SB), RODATA, $8 DATA ·libc_recvmsg_trampoline_addr(SB)/8, $libc_recvmsg_trampoline<>(SB) TEXT libc_sendmsg_trampoline<>(SB),NOSPLIT,$0-0 CALL libc_sendmsg(SB) RET GLOBL ·libc_sendmsg_trampoline_addr(SB), RODATA, $8 DATA ·libc_sendmsg_trampoline_addr(SB)/8, $libc_sendmsg_trampoline<>(SB) TEXT libc_kevent_trampoline<>(SB),NOSPLIT,$0-0 CALL libc_kevent(SB) RET GLOBL ·libc_kevent_trampoline_addr(SB), RODATA, $8 DATA ·libc_kevent_trampoline_addr(SB)/8, $libc_kevent_trampoline<>(SB) TEXT libc_utimes_trampoline<>(SB),NOSPLIT,$0-0 CALL libc_utimes(SB) RET GLOBL ·libc_utimes_trampoline_addr(SB), RODATA, $8 DATA ·libc_utimes_trampoline_addr(SB)/8, $libc_utimes_trampoline<>(SB) TEXT libc_futimes_trampoline<>(SB),NOSPLIT,$0-0 CALL libc_futimes(SB) RET GLOBL ·libc_futimes_trampoline_addr(SB), RODATA, $8 DATA ·libc_futimes_trampoline_addr(SB)/8, $libc_futimes_trampoline<>(SB) TEXT libc_poll_trampoline<>(SB),NOSPLIT,$0-0 CALL libc_poll(SB) RET GLOBL ·libc_poll_trampoline_addr(SB), RODATA, $8 DATA ·libc_poll_trampoline_addr(SB)/8, $libc_poll_trampoline<>(SB) TEXT libc_madvise_trampoline<>(SB),NOSPLIT,$0-0 CALL libc_madvise(SB) RET GLOBL ·libc_madvise_trampoline_addr(SB), RODATA, $8 DATA ·libc_madvise_trampoline_addr(SB)/8, $libc_madvise_trampoline<>(SB) TEXT libc_mlock_trampoline<>(SB),NOSPLIT,$0-0 CALL libc_mlock(SB) RET GLOBL ·libc_mlock_trampoline_addr(SB), RODATA, $8 DATA ·libc_mlock_trampoline_addr(SB)/8, $libc_mlock_trampoline<>(SB) TEXT libc_mlockall_trampoline<>(SB),NOSPLIT,$0-0 CALL libc_mlockall(SB) RET GLOBL ·libc_mlockall_trampoline_addr(SB), RODATA, $8 DATA ·libc_mlockall_trampoline_addr(SB)/8, $libc_mlockall_trampoline<>(SB) TEXT libc_mprotect_trampoline<>(SB),NOSPLIT,$0-0 CALL libc_mprotect(SB) RET GLOBL ·libc_mprotect_trampoline_addr(SB), RODATA, $8 DATA ·libc_mprotect_trampoline_addr(SB)/8, $libc_mprotect_trampoline<>(SB) TEXT libc_msync_trampoline<>(SB),NOSPLIT,$0-0 CALL libc_msync(SB) RET GLOBL ·libc_msync_trampoline_addr(SB), RODATA, $8 DATA ·libc_msync_trampoline_addr(SB)/8, $libc_msync_trampoline<>(SB) TEXT libc_munlock_trampoline<>(SB),NOSPLIT,$0-0 CALL libc_munlock(SB) RET GLOBL ·libc_munlock_trampoline_addr(SB), RODATA, $8 DATA ·libc_munlock_trampoline_addr(SB)/8, $libc_munlock_trampoline<>(SB) TEXT libc_munlockall_trampoline<>(SB),NOSPLIT,$0-0 CALL libc_munlockall(SB) RET GLOBL ·libc_munlockall_trampoline_addr(SB), RODATA, $8 DATA ·libc_munlockall_trampoline_addr(SB)/8, $libc_munlockall_trampoline<>(SB) TEXT libc_pipe2_trampoline<>(SB),NOSPLIT,$0-0 CALL libc_pipe2(SB) RET GLOBL ·libc_pipe2_trampoline_addr(SB), RODATA, $8 DATA ·libc_pipe2_trampoline_addr(SB)/8, $libc_pipe2_trampoline<>(SB) TEXT libc_getdents_trampoline<>(SB),NOSPLIT,$0-0 CALL libc_getdents(SB) RET GLOBL ·libc_getdents_trampoline_addr(SB), RODATA, $8 DATA ·libc_getdents_trampoline_addr(SB)/8, $libc_getdents_trampoline<>(SB) TEXT libc_getcwd_trampoline<>(SB),NOSPLIT,$0-0 CALL libc_getcwd(SB) RET GLOBL ·libc_getcwd_trampoline_addr(SB), RODATA, $8 DATA ·libc_getcwd_trampoline_addr(SB)/8, $libc_getcwd_trampoline<>(SB) TEXT libc_getresuid_trampoline<>(SB),NOSPLIT,$0-0 CALL libc_getresuid(SB) RET GLOBL ·libc_getresuid_trampoline_addr(SB), RODATA, $8 DATA ·libc_getresuid_trampoline_addr(SB)/8, $libc_getresuid_trampoline<>(SB) TEXT libc_getresgid_trampoline<>(SB),NOSPLIT,$0-0 CALL libc_getresgid(SB) RET GLOBL ·libc_getresgid_trampoline_addr(SB), RODATA, $8 DATA ·libc_getresgid_trampoline_addr(SB)/8, $libc_getresgid_trampoline<>(SB) TEXT libc_ioctl_trampoline<>(SB),NOSPLIT,$0-0 CALL libc_ioctl(SB) RET GLOBL ·libc_ioctl_trampoline_addr(SB), RODATA, $8 DATA ·libc_ioctl_trampoline_addr(SB)/8, $libc_ioctl_trampoline<>(SB) TEXT libc_sysctl_trampoline<>(SB),NOSPLIT,$0-0 CALL libc_sysctl(SB) RET GLOBL ·libc_sysctl_trampoline_addr(SB), RODATA, $8 DATA ·libc_sysctl_trampoline_addr(SB)/8, $libc_sysctl_trampoline<>(SB) TEXT libc_fcntl_trampoline<>(SB),NOSPLIT,$0-0 CALL libc_fcntl(SB) RET GLOBL ·libc_fcntl_trampoline_addr(SB), RODATA, $8 DATA ·libc_fcntl_trampoline_addr(SB)/8, $libc_fcntl_trampoline<>(SB) TEXT libc_ppoll_trampoline<>(SB),NOSPLIT,$0-0 CALL libc_ppoll(SB) RET GLOBL ·libc_ppoll_trampoline_addr(SB), RODATA, $8 DATA ·libc_ppoll_trampoline_addr(SB)/8, $libc_ppoll_trampoline<>(SB) TEXT libc_access_trampoline<>(SB),NOSPLIT,$0-0 CALL libc_access(SB) RET GLOBL ·libc_access_trampoline_addr(SB), RODATA, $8 DATA ·libc_access_trampoline_addr(SB)/8, $libc_access_trampoline<>(SB) TEXT libc_adjtime_trampoline<>(SB),NOSPLIT,$0-0 CALL libc_adjtime(SB) RET GLOBL ·libc_adjtime_trampoline_addr(SB), RODATA, $8 DATA ·libc_adjtime_trampoline_addr(SB)/8, $libc_adjtime_trampoline<>(SB) TEXT libc_chdir_trampoline<>(SB),NOSPLIT,$0-0 CALL libc_chdir(SB) RET GLOBL ·libc_chdir_trampoline_addr(SB), RODATA, $8 DATA ·libc_chdir_trampoline_addr(SB)/8, $libc_chdir_trampoline<>(SB) TEXT libc_chflags_trampoline<>(SB),NOSPLIT,$0-0 CALL libc_chflags(SB) RET GLOBL ·libc_chflags_trampoline_addr(SB), RODATA, $8 DATA ·libc_chflags_trampoline_addr(SB)/8, $libc_chflags_trampoline<>(SB) TEXT libc_chmod_trampoline<>(SB),NOSPLIT,$0-0 CALL libc_chmod(SB) RET GLOBL ·libc_chmod_trampoline_addr(SB), RODATA, $8 DATA ·libc_chmod_trampoline_addr(SB)/8, $libc_chmod_trampoline<>(SB) TEXT libc_chown_trampoline<>(SB),NOSPLIT,$0-0 CALL libc_chown(SB) RET GLOBL ·libc_chown_trampoline_addr(SB), RODATA, $8 DATA ·libc_chown_trampoline_addr(SB)/8, $libc_chown_trampoline<>(SB) TEXT libc_chroot_trampoline<>(SB),NOSPLIT,$0-0 CALL libc_chroot(SB) RET GLOBL ·libc_chroot_trampoline_addr(SB), RODATA, $8 DATA ·libc_chroot_trampoline_addr(SB)/8, $libc_chroot_trampoline<>(SB) TEXT libc_clock_gettime_trampoline<>(SB),NOSPLIT,$0-0 CALL libc_clock_gettime(SB) RET GLOBL ·libc_clock_gettime_trampoline_addr(SB), RODATA, $8 DATA ·libc_clock_gettime_trampoline_addr(SB)/8, $libc_clock_gettime_trampoline<>(SB) TEXT libc_close_trampoline<>(SB),NOSPLIT,$0-0 CALL libc_close(SB) RET GLOBL ·libc_close_trampoline_addr(SB), RODATA, $8 DATA ·libc_close_trampoline_addr(SB)/8, $libc_close_trampoline<>(SB) TEXT libc_dup_trampoline<>(SB),NOSPLIT,$0-0 CALL libc_dup(SB) RET GLOBL ·libc_dup_trampoline_addr(SB), RODATA, $8 DATA ·libc_dup_trampoline_addr(SB)/8, $libc_dup_trampoline<>(SB) TEXT libc_dup2_trampoline<>(SB),NOSPLIT,$0-0 CALL libc_dup2(SB) RET GLOBL ·libc_dup2_trampoline_addr(SB), RODATA, $8 DATA ·libc_dup2_trampoline_addr(SB)/8, $libc_dup2_trampoline<>(SB) TEXT libc_dup3_trampoline<>(SB),NOSPLIT,$0-0 CALL libc_dup3(SB) RET GLOBL ·libc_dup3_trampoline_addr(SB), RODATA, $8 DATA ·libc_dup3_trampoline_addr(SB)/8, $libc_dup3_trampoline<>(SB) TEXT libc_exit_trampoline<>(SB),NOSPLIT,$0-0 CALL libc_exit(SB) RET GLOBL ·libc_exit_trampoline_addr(SB), RODATA, $8 DATA ·libc_exit_trampoline_addr(SB)/8, $libc_exit_trampoline<>(SB) TEXT libc_faccessat_trampoline<>(SB),NOSPLIT,$0-0 CALL libc_faccessat(SB) RET GLOBL ·libc_faccessat_trampoline_addr(SB), RODATA, $8 DATA ·libc_faccessat_trampoline_addr(SB)/8, $libc_faccessat_trampoline<>(SB) TEXT libc_fchdir_trampoline<>(SB),NOSPLIT,$0-0 CALL libc_fchdir(SB) RET GLOBL ·libc_fchdir_trampoline_addr(SB), RODATA, $8 DATA ·libc_fchdir_trampoline_addr(SB)/8, $libc_fchdir_trampoline<>(SB) TEXT libc_fchflags_trampoline<>(SB),NOSPLIT,$0-0 CALL libc_fchflags(SB) RET GLOBL ·libc_fchflags_trampoline_addr(SB), RODATA, $8 DATA ·libc_fchflags_trampoline_addr(SB)/8, $libc_fchflags_trampoline<>(SB) TEXT libc_fchmod_trampoline<>(SB),NOSPLIT,$0-0 CALL libc_fchmod(SB) RET GLOBL ·libc_fchmod_trampoline_addr(SB), RODATA, $8 DATA ·libc_fchmod_trampoline_addr(SB)/8, $libc_fchmod_trampoline<>(SB) TEXT libc_fchmodat_trampoline<>(SB),NOSPLIT,$0-0 CALL libc_fchmodat(SB) RET GLOBL ·libc_fchmodat_trampoline_addr(SB), RODATA, $8 DATA ·libc_fchmodat_trampoline_addr(SB)/8, $libc_fchmodat_trampoline<>(SB) TEXT libc_fchown_trampoline<>(SB),NOSPLIT,$0-0 CALL libc_fchown(SB) RET GLOBL ·libc_fchown_trampoline_addr(SB), RODATA, $8 DATA ·libc_fchown_trampoline_addr(SB)/8, $libc_fchown_trampoline<>(SB) TEXT libc_fchownat_trampoline<>(SB),NOSPLIT,$0-0 CALL libc_fchownat(SB) RET GLOBL ·libc_fchownat_trampoline_addr(SB), RODATA, $8 DATA ·libc_fchownat_trampoline_addr(SB)/8, $libc_fchownat_trampoline<>(SB) TEXT libc_flock_trampoline<>(SB),NOSPLIT,$0-0 CALL libc_flock(SB) RET GLOBL ·libc_flock_trampoline_addr(SB), RODATA, $8 DATA ·libc_flock_trampoline_addr(SB)/8, $libc_flock_trampoline<>(SB) TEXT libc_fpathconf_trampoline<>(SB),NOSPLIT,$0-0 CALL libc_fpathconf(SB) RET GLOBL ·libc_fpathconf_trampoline_addr(SB), RODATA, $8 DATA ·libc_fpathconf_trampoline_addr(SB)/8, $libc_fpathconf_trampoline<>(SB) TEXT libc_fstat_trampoline<>(SB),NOSPLIT,$0-0 CALL libc_fstat(SB) RET GLOBL ·libc_fstat_trampoline_addr(SB), RODATA, $8 DATA ·libc_fstat_trampoline_addr(SB)/8, $libc_fstat_trampoline<>(SB) TEXT libc_fstatat_trampoline<>(SB),NOSPLIT,$0-0 CALL libc_fstatat(SB) RET GLOBL ·libc_fstatat_trampoline_addr(SB), RODATA, $8 DATA ·libc_fstatat_trampoline_addr(SB)/8, $libc_fstatat_trampoline<>(SB) TEXT libc_fstatfs_trampoline<>(SB),NOSPLIT,$0-0 CALL libc_fstatfs(SB) RET GLOBL ·libc_fstatfs_trampoline_addr(SB), RODATA, $8 DATA ·libc_fstatfs_trampoline_addr(SB)/8, $libc_fstatfs_trampoline<>(SB) TEXT libc_fsync_trampoline<>(SB),NOSPLIT,$0-0 CALL libc_fsync(SB) RET GLOBL ·libc_fsync_trampoline_addr(SB), RODATA, $8 DATA ·libc_fsync_trampoline_addr(SB)/8, $libc_fsync_trampoline<>(SB) TEXT libc_ftruncate_trampoline<>(SB),NOSPLIT,$0-0 CALL libc_ftruncate(SB) RET GLOBL ·libc_ftruncate_trampoline_addr(SB), RODATA, $8 DATA ·libc_ftruncate_trampoline_addr(SB)/8, $libc_ftruncate_trampoline<>(SB) TEXT libc_getegid_trampoline<>(SB),NOSPLIT,$0-0 CALL libc_getegid(SB) RET GLOBL ·libc_getegid_trampoline_addr(SB), RODATA, $8 DATA ·libc_getegid_trampoline_addr(SB)/8, $libc_getegid_trampoline<>(SB) TEXT libc_geteuid_trampoline<>(SB),NOSPLIT,$0-0 CALL libc_geteuid(SB) RET GLOBL ·libc_geteuid_trampoline_addr(SB), RODATA, $8 DATA ·libc_geteuid_trampoline_addr(SB)/8, $libc_geteuid_trampoline<>(SB) TEXT libc_getgid_trampoline<>(SB),NOSPLIT,$0-0 CALL libc_getgid(SB) RET GLOBL ·libc_getgid_trampoline_addr(SB), RODATA, $8 DATA ·libc_getgid_trampoline_addr(SB)/8, $libc_getgid_trampoline<>(SB) TEXT libc_getpgid_trampoline<>(SB),NOSPLIT,$0-0 CALL libc_getpgid(SB) RET GLOBL ·libc_getpgid_trampoline_addr(SB), RODATA, $8 DATA ·libc_getpgid_trampoline_addr(SB)/8, $libc_getpgid_trampoline<>(SB) TEXT libc_getpgrp_trampoline<>(SB),NOSPLIT,$0-0 CALL libc_getpgrp(SB) RET GLOBL ·libc_getpgrp_trampoline_addr(SB), RODATA, $8 DATA ·libc_getpgrp_trampoline_addr(SB)/8, $libc_getpgrp_trampoline<>(SB) TEXT libc_getpid_trampoline<>(SB),NOSPLIT,$0-0 CALL libc_getpid(SB) RET GLOBL ·libc_getpid_trampoline_addr(SB), RODATA, $8 DATA ·libc_getpid_trampoline_addr(SB)/8, $libc_getpid_trampoline<>(SB) TEXT libc_getppid_trampoline<>(SB),NOSPLIT,$0-0 CALL libc_getppid(SB) RET GLOBL ·libc_getppid_trampoline_addr(SB), RODATA, $8 DATA ·libc_getppid_trampoline_addr(SB)/8, $libc_getppid_trampoline<>(SB) TEXT libc_getpriority_trampoline<>(SB),NOSPLIT,$0-0 CALL libc_getpriority(SB) RET GLOBL ·libc_getpriority_trampoline_addr(SB), RODATA, $8 DATA ·libc_getpriority_trampoline_addr(SB)/8, $libc_getpriority_trampoline<>(SB) TEXT libc_getrlimit_trampoline<>(SB),NOSPLIT,$0-0 CALL libc_getrlimit(SB) RET GLOBL ·libc_getrlimit_trampoline_addr(SB), RODATA, $8 DATA ·libc_getrlimit_trampoline_addr(SB)/8, $libc_getrlimit_trampoline<>(SB) TEXT libc_getrtable_trampoline<>(SB),NOSPLIT,$0-0 CALL libc_getrtable(SB) RET GLOBL ·libc_getrtable_trampoline_addr(SB), RODATA, $8 DATA ·libc_getrtable_trampoline_addr(SB)/8, $libc_getrtable_trampoline<>(SB) TEXT libc_getrusage_trampoline<>(SB),NOSPLIT,$0-0 CALL libc_getrusage(SB) RET GLOBL ·libc_getrusage_trampoline_addr(SB), RODATA, $8 DATA ·libc_getrusage_trampoline_addr(SB)/8, $libc_getrusage_trampoline<>(SB) TEXT libc_getsid_trampoline<>(SB),NOSPLIT,$0-0 CALL libc_getsid(SB) RET GLOBL ·libc_getsid_trampoline_addr(SB), RODATA, $8 DATA ·libc_getsid_trampoline_addr(SB)/8, $libc_getsid_trampoline<>(SB) TEXT libc_gettimeofday_trampoline<>(SB),NOSPLIT,$0-0 CALL libc_gettimeofday(SB) RET GLOBL ·libc_gettimeofday_trampoline_addr(SB), RODATA, $8 DATA ·libc_gettimeofday_trampoline_addr(SB)/8, $libc_gettimeofday_trampoline<>(SB) TEXT libc_getuid_trampoline<>(SB),NOSPLIT,$0-0 CALL libc_getuid(SB) RET GLOBL ·libc_getuid_trampoline_addr(SB), RODATA, $8 DATA ·libc_getuid_trampoline_addr(SB)/8, $libc_getuid_trampoline<>(SB) TEXT libc_issetugid_trampoline<>(SB),NOSPLIT,$0-0 CALL libc_issetugid(SB) RET GLOBL ·libc_issetugid_trampoline_addr(SB), RODATA, $8 DATA ·libc_issetugid_trampoline_addr(SB)/8, $libc_issetugid_trampoline<>(SB) TEXT libc_kill_trampoline<>(SB),NOSPLIT,$0-0 CALL libc_kill(SB) RET GLOBL ·libc_kill_trampoline_addr(SB), RODATA, $8 DATA ·libc_kill_trampoline_addr(SB)/8, $libc_kill_trampoline<>(SB) TEXT libc_kqueue_trampoline<>(SB),NOSPLIT,$0-0 CALL libc_kqueue(SB) RET GLOBL ·libc_kqueue_trampoline_addr(SB), RODATA, $8 DATA ·libc_kqueue_trampoline_addr(SB)/8, $libc_kqueue_trampoline<>(SB) TEXT libc_lchown_trampoline<>(SB),NOSPLIT,$0-0 CALL libc_lchown(SB) RET GLOBL ·libc_lchown_trampoline_addr(SB), RODATA, $8 DATA ·libc_lchown_trampoline_addr(SB)/8, $libc_lchown_trampoline<>(SB) TEXT libc_link_trampoline<>(SB),NOSPLIT,$0-0 CALL libc_link(SB) RET GLOBL ·libc_link_trampoline_addr(SB), RODATA, $8 DATA ·libc_link_trampoline_addr(SB)/8, $libc_link_trampoline<>(SB) TEXT libc_linkat_trampoline<>(SB),NOSPLIT,$0-0 CALL libc_linkat(SB) RET GLOBL ·libc_linkat_trampoline_addr(SB), RODATA, $8 DATA ·libc_linkat_trampoline_addr(SB)/8, $libc_linkat_trampoline<>(SB) TEXT libc_listen_trampoline<>(SB),NOSPLIT,$0-0 CALL libc_listen(SB) RET GLOBL ·libc_listen_trampoline_addr(SB), RODATA, $8 DATA ·libc_listen_trampoline_addr(SB)/8, $libc_listen_trampoline<>(SB) TEXT libc_lstat_trampoline<>(SB),NOSPLIT,$0-0 CALL libc_lstat(SB) RET GLOBL ·libc_lstat_trampoline_addr(SB), RODATA, $8 DATA ·libc_lstat_trampoline_addr(SB)/8, $libc_lstat_trampoline<>(SB) TEXT libc_mkdir_trampoline<>(SB),NOSPLIT,$0-0 CALL libc_mkdir(SB) RET GLOBL ·libc_mkdir_trampoline_addr(SB), RODATA, $8 DATA ·libc_mkdir_trampoline_addr(SB)/8, $libc_mkdir_trampoline<>(SB) TEXT libc_mkdirat_trampoline<>(SB),NOSPLIT,$0-0 CALL libc_mkdirat(SB) RET GLOBL ·libc_mkdirat_trampoline_addr(SB), RODATA, $8 DATA ·libc_mkdirat_trampoline_addr(SB)/8, $libc_mkdirat_trampoline<>(SB) TEXT libc_mkfifo_trampoline<>(SB),NOSPLIT,$0-0 CALL libc_mkfifo(SB) RET GLOBL ·libc_mkfifo_trampoline_addr(SB), RODATA, $8 DATA ·libc_mkfifo_trampoline_addr(SB)/8, $libc_mkfifo_trampoline<>(SB) TEXT libc_mkfifoat_trampoline<>(SB),NOSPLIT,$0-0 CALL libc_mkfifoat(SB) RET GLOBL ·libc_mkfifoat_trampoline_addr(SB), RODATA, $8 DATA ·libc_mkfifoat_trampoline_addr(SB)/8, $libc_mkfifoat_trampoline<>(SB) TEXT libc_mknod_trampoline<>(SB),NOSPLIT,$0-0 CALL libc_mknod(SB) RET GLOBL ·libc_mknod_trampoline_addr(SB), RODATA, $8 DATA ·libc_mknod_trampoline_addr(SB)/8, $libc_mknod_trampoline<>(SB) TEXT libc_mknodat_trampoline<>(SB),NOSPLIT,$0-0 CALL libc_mknodat(SB) RET GLOBL ·libc_mknodat_trampoline_addr(SB), RODATA, $8 DATA ·libc_mknodat_trampoline_addr(SB)/8, $libc_mknodat_trampoline<>(SB) TEXT libc_mount_trampoline<>(SB),NOSPLIT,$0-0 CALL libc_mount(SB) RET GLOBL ·libc_mount_trampoline_addr(SB), RODATA, $8 DATA ·libc_mount_trampoline_addr(SB)/8, $libc_mount_trampoline<>(SB) TEXT libc_nanosleep_trampoline<>(SB),NOSPLIT,$0-0 CALL libc_nanosleep(SB) RET GLOBL ·libc_nanosleep_trampoline_addr(SB), RODATA, $8 DATA ·libc_nanosleep_trampoline_addr(SB)/8, $libc_nanosleep_trampoline<>(SB) TEXT libc_open_trampoline<>(SB),NOSPLIT,$0-0 CALL libc_open(SB) RET GLOBL ·libc_open_trampoline_addr(SB), RODATA, $8 DATA ·libc_open_trampoline_addr(SB)/8, $libc_open_trampoline<>(SB) TEXT libc_openat_trampoline<>(SB),NOSPLIT,$0-0 CALL libc_openat(SB) RET GLOBL ·libc_openat_trampoline_addr(SB), RODATA, $8 DATA ·libc_openat_trampoline_addr(SB)/8, $libc_openat_trampoline<>(SB) TEXT libc_pathconf_trampoline<>(SB),NOSPLIT,$0-0 CALL libc_pathconf(SB) RET GLOBL ·libc_pathconf_trampoline_addr(SB), RODATA, $8 DATA ·libc_pathconf_trampoline_addr(SB)/8, $libc_pathconf_trampoline<>(SB) TEXT libc_pread_trampoline<>(SB),NOSPLIT,$0-0 CALL libc_pread(SB) RET GLOBL ·libc_pread_trampoline_addr(SB), RODATA, $8 DATA ·libc_pread_trampoline_addr(SB)/8, $libc_pread_trampoline<>(SB) TEXT libc_pwrite_trampoline<>(SB),NOSPLIT,$0-0 CALL libc_pwrite(SB) RET GLOBL ·libc_pwrite_trampoline_addr(SB), RODATA, $8 DATA ·libc_pwrite_trampoline_addr(SB)/8, $libc_pwrite_trampoline<>(SB) TEXT libc_read_trampoline<>(SB),NOSPLIT,$0-0 CALL libc_read(SB) RET GLOBL ·libc_read_trampoline_addr(SB), RODATA, $8 DATA ·libc_read_trampoline_addr(SB)/8, $libc_read_trampoline<>(SB) TEXT libc_readlink_trampoline<>(SB),NOSPLIT,$0-0 CALL libc_readlink(SB) RET GLOBL ·libc_readlink_trampoline_addr(SB), RODATA, $8 DATA ·libc_readlink_trampoline_addr(SB)/8, $libc_readlink_trampoline<>(SB) TEXT libc_readlinkat_trampoline<>(SB),NOSPLIT,$0-0 CALL libc_readlinkat(SB) RET GLOBL ·libc_readlinkat_trampoline_addr(SB), RODATA, $8 DATA ·libc_readlinkat_trampoline_addr(SB)/8, $libc_readlinkat_trampoline<>(SB) TEXT libc_rename_trampoline<>(SB),NOSPLIT,$0-0 CALL libc_rename(SB) RET GLOBL ·libc_rename_trampoline_addr(SB), RODATA, $8 DATA ·libc_rename_trampoline_addr(SB)/8, $libc_rename_trampoline<>(SB) TEXT libc_renameat_trampoline<>(SB),NOSPLIT,$0-0 CALL libc_renameat(SB) RET GLOBL ·libc_renameat_trampoline_addr(SB), RODATA, $8 DATA ·libc_renameat_trampoline_addr(SB)/8, $libc_renameat_trampoline<>(SB) TEXT libc_revoke_trampoline<>(SB),NOSPLIT,$0-0 CALL libc_revoke(SB) RET GLOBL ·libc_revoke_trampoline_addr(SB), RODATA, $8 DATA ·libc_revoke_trampoline_addr(SB)/8, $libc_revoke_trampoline<>(SB) TEXT libc_rmdir_trampoline<>(SB),NOSPLIT,$0-0 CALL libc_rmdir(SB) RET GLOBL ·libc_rmdir_trampoline_addr(SB), RODATA, $8 DATA ·libc_rmdir_trampoline_addr(SB)/8, $libc_rmdir_trampoline<>(SB) TEXT libc_lseek_trampoline<>(SB),NOSPLIT,$0-0 CALL libc_lseek(SB) RET GLOBL ·libc_lseek_trampoline_addr(SB), RODATA, $8 DATA ·libc_lseek_trampoline_addr(SB)/8, $libc_lseek_trampoline<>(SB) TEXT libc_select_trampoline<>(SB),NOSPLIT,$0-0 CALL libc_select(SB) RET GLOBL ·libc_select_trampoline_addr(SB), RODATA, $8 DATA ·libc_select_trampoline_addr(SB)/8, $libc_select_trampoline<>(SB) TEXT libc_setegid_trampoline<>(SB),NOSPLIT,$0-0 CALL libc_setegid(SB) RET GLOBL ·libc_setegid_trampoline_addr(SB), RODATA, $8 DATA ·libc_setegid_trampoline_addr(SB)/8, $libc_setegid_trampoline<>(SB) TEXT libc_seteuid_trampoline<>(SB),NOSPLIT,$0-0 CALL libc_seteuid(SB) RET GLOBL ·libc_seteuid_trampoline_addr(SB), RODATA, $8 DATA ·libc_seteuid_trampoline_addr(SB)/8, $libc_seteuid_trampoline<>(SB) TEXT libc_setgid_trampoline<>(SB),NOSPLIT,$0-0 CALL libc_setgid(SB) RET GLOBL ·libc_setgid_trampoline_addr(SB), RODATA, $8 DATA ·libc_setgid_trampoline_addr(SB)/8, $libc_setgid_trampoline<>(SB) TEXT libc_setlogin_trampoline<>(SB),NOSPLIT,$0-0 CALL libc_setlogin(SB) RET GLOBL ·libc_setlogin_trampoline_addr(SB), RODATA, $8 DATA ·libc_setlogin_trampoline_addr(SB)/8, $libc_setlogin_trampoline<>(SB) TEXT libc_setpgid_trampoline<>(SB),NOSPLIT,$0-0 CALL libc_setpgid(SB) RET GLOBL ·libc_setpgid_trampoline_addr(SB), RODATA, $8 DATA ·libc_setpgid_trampoline_addr(SB)/8, $libc_setpgid_trampoline<>(SB) TEXT libc_setpriority_trampoline<>(SB),NOSPLIT,$0-0 CALL libc_setpriority(SB) RET GLOBL ·libc_setpriority_trampoline_addr(SB), RODATA, $8 DATA ·libc_setpriority_trampoline_addr(SB)/8, $libc_setpriority_trampoline<>(SB) TEXT libc_setregid_trampoline<>(SB),NOSPLIT,$0-0 CALL libc_setregid(SB) RET GLOBL ·libc_setregid_trampoline_addr(SB), RODATA, $8 DATA ·libc_setregid_trampoline_addr(SB)/8, $libc_setregid_trampoline<>(SB) TEXT libc_setreuid_trampoline<>(SB),NOSPLIT,$0-0 CALL libc_setreuid(SB) RET GLOBL ·libc_setreuid_trampoline_addr(SB), RODATA, $8 DATA ·libc_setreuid_trampoline_addr(SB)/8, $libc_setreuid_trampoline<>(SB) TEXT libc_setresgid_trampoline<>(SB),NOSPLIT,$0-0 CALL libc_setresgid(SB) RET GLOBL ·libc_setresgid_trampoline_addr(SB), RODATA, $8 DATA ·libc_setresgid_trampoline_addr(SB)/8, $libc_setresgid_trampoline<>(SB) TEXT libc_setresuid_trampoline<>(SB),NOSPLIT,$0-0 CALL libc_setresuid(SB) RET GLOBL ·libc_setresuid_trampoline_addr(SB), RODATA, $8 DATA ·libc_setresuid_trampoline_addr(SB)/8, $libc_setresuid_trampoline<>(SB) TEXT libc_setrtable_trampoline<>(SB),NOSPLIT,$0-0 CALL libc_setrtable(SB) RET GLOBL ·libc_setrtable_trampoline_addr(SB), RODATA, $8 DATA ·libc_setrtable_trampoline_addr(SB)/8, $libc_setrtable_trampoline<>(SB) TEXT libc_setsid_trampoline<>(SB),NOSPLIT,$0-0 CALL libc_setsid(SB) RET GLOBL ·libc_setsid_trampoline_addr(SB), RODATA, $8 DATA ·libc_setsid_trampoline_addr(SB)/8, $libc_setsid_trampoline<>(SB) TEXT libc_settimeofday_trampoline<>(SB),NOSPLIT,$0-0 CALL libc_settimeofday(SB) RET GLOBL ·libc_settimeofday_trampoline_addr(SB), RODATA, $8 DATA ·libc_settimeofday_trampoline_addr(SB)/8, $libc_settimeofday_trampoline<>(SB) TEXT libc_setuid_trampoline<>(SB),NOSPLIT,$0-0 CALL libc_setuid(SB) RET GLOBL ·libc_setuid_trampoline_addr(SB), RODATA, $8 DATA ·libc_setuid_trampoline_addr(SB)/8, $libc_setuid_trampoline<>(SB) TEXT libc_stat_trampoline<>(SB),NOSPLIT,$0-0 CALL libc_stat(SB) RET GLOBL ·libc_stat_trampoline_addr(SB), RODATA, $8 DATA ·libc_stat_trampoline_addr(SB)/8, $libc_stat_trampoline<>(SB) TEXT libc_statfs_trampoline<>(SB),NOSPLIT,$0-0 CALL libc_statfs(SB) RET GLOBL ·libc_statfs_trampoline_addr(SB), RODATA, $8 DATA ·libc_statfs_trampoline_addr(SB)/8, $libc_statfs_trampoline<>(SB) TEXT libc_symlink_trampoline<>(SB),NOSPLIT,$0-0 CALL libc_symlink(SB) RET GLOBL ·libc_symlink_trampoline_addr(SB), RODATA, $8 DATA ·libc_symlink_trampoline_addr(SB)/8, $libc_symlink_trampoline<>(SB) TEXT libc_symlinkat_trampoline<>(SB),NOSPLIT,$0-0 CALL libc_symlinkat(SB) RET GLOBL ·libc_symlinkat_trampoline_addr(SB), RODATA, $8 DATA ·libc_symlinkat_trampoline_addr(SB)/8, $libc_symlinkat_trampoline<>(SB) TEXT libc_sync_trampoline<>(SB),NOSPLIT,$0-0 CALL libc_sync(SB) RET GLOBL ·libc_sync_trampoline_addr(SB), RODATA, $8 DATA ·libc_sync_trampoline_addr(SB)/8, $libc_sync_trampoline<>(SB) TEXT libc_truncate_trampoline<>(SB),NOSPLIT,$0-0 CALL libc_truncate(SB) RET GLOBL ·libc_truncate_trampoline_addr(SB), RODATA, $8 DATA ·libc_truncate_trampoline_addr(SB)/8, $libc_truncate_trampoline<>(SB) TEXT libc_umask_trampoline<>(SB),NOSPLIT,$0-0 CALL libc_umask(SB) RET GLOBL ·libc_umask_trampoline_addr(SB), RODATA, $8 DATA ·libc_umask_trampoline_addr(SB)/8, $libc_umask_trampoline<>(SB) TEXT libc_unlink_trampoline<>(SB),NOSPLIT,$0-0 CALL libc_unlink(SB) RET GLOBL ·libc_unlink_trampoline_addr(SB), RODATA, $8 DATA ·libc_unlink_trampoline_addr(SB)/8, $libc_unlink_trampoline<>(SB) TEXT libc_unlinkat_trampoline<>(SB),NOSPLIT,$0-0 CALL libc_unlinkat(SB) RET GLOBL ·libc_unlinkat_trampoline_addr(SB), RODATA, $8 DATA ·libc_unlinkat_trampoline_addr(SB)/8, $libc_unlinkat_trampoline<>(SB) TEXT libc_unmount_trampoline<>(SB),NOSPLIT,$0-0 CALL libc_unmount(SB) RET GLOBL ·libc_unmount_trampoline_addr(SB), RODATA, $8 DATA ·libc_unmount_trampoline_addr(SB)/8, $libc_unmount_trampoline<>(SB) TEXT libc_write_trampoline<>(SB),NOSPLIT,$0-0 CALL libc_write(SB) RET GLOBL ·libc_write_trampoline_addr(SB), RODATA, $8 DATA ·libc_write_trampoline_addr(SB)/8, $libc_write_trampoline<>(SB) TEXT libc_mmap_trampoline<>(SB),NOSPLIT,$0-0 CALL libc_mmap(SB) RET GLOBL ·libc_mmap_trampoline_addr(SB), RODATA, $8 DATA ·libc_mmap_trampoline_addr(SB)/8, $libc_mmap_trampoline<>(SB) TEXT libc_munmap_trampoline<>(SB),NOSPLIT,$0-0 CALL libc_munmap(SB) RET GLOBL ·libc_munmap_trampoline_addr(SB), RODATA, $8 DATA ·libc_munmap_trampoline_addr(SB)/8, $libc_munmap_trampoline<>(SB) TEXT libc_getfsstat_trampoline<>(SB),NOSPLIT,$0-0 CALL libc_getfsstat(SB) RET GLOBL ·libc_getfsstat_trampoline_addr(SB), RODATA, $8 DATA ·libc_getfsstat_trampoline_addr(SB)/8, $libc_getfsstat_trampoline<>(SB) TEXT libc_utimensat_trampoline<>(SB),NOSPLIT,$0-0 CALL libc_utimensat(SB) RET GLOBL ·libc_utimensat_trampoline_addr(SB), RODATA, $8 DATA ·libc_utimensat_trampoline_addr(SB)/8, $libc_utimensat_trampoline<>(SB) TEXT libc_pledge_trampoline<>(SB),NOSPLIT,$0-0 CALL libc_pledge(SB) RET GLOBL ·libc_pledge_trampoline_addr(SB), RODATA, $8 DATA ·libc_pledge_trampoline_addr(SB)/8, $libc_pledge_trampoline<>(SB) TEXT libc_unveil_trampoline<>(SB),NOSPLIT,$0-0 CALL libc_unveil(SB) RET GLOBL ·libc_unveil_trampoline_addr(SB), RODATA, $8 DATA ·libc_unveil_trampoline_addr(SB)/8, $libc_unveil_trampoline<>(SB) dependencies/pkg/mod/golang.org/x/sys@v0.26.0/unix/syscall_internal_bsd_test.go0000644000000000000000000000624415107355264026403 0ustar rootroot// Copyright 2020 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:build darwin || dragonfly || freebsd || netbsd || openbsd package unix import ( "reflect" "strings" "testing" "unsafe" ) func Test_anyToSockaddr(t *testing.T) { tests := []struct { name string rsa *RawSockaddrAny sa Sockaddr err error }{ { name: "AF_UNIX zero length", rsa: sockaddrUnixToAny(RawSockaddrUnix{ Family: AF_UNIX, }), err: EINVAL, }, { name: "AF_UNIX unnamed", rsa: sockaddrUnixToAny(RawSockaddrUnix{ Len: 2, // family (uint16) Family: AF_UNIX, }), sa: &SockaddrUnix{}, }, { name: "AF_UNIX named", rsa: sockaddrUnixToAny(RawSockaddrUnix{ Len: uint8(2 + len("gopher")), // family (uint16) + len(gopher) Family: AF_UNIX, Path: [104]int8{'g', 'o', 'p', 'h', 'e', 'r'}, }), sa: &SockaddrUnix{ Name: "gopher", }, }, { name: "AF_UNIX named", rsa: sockaddrUnixToAny(RawSockaddrUnix{ Len: uint8(2 + len("go")), Family: AF_UNIX, Path: [104]int8{'g', 'o', 'p', 'h', 'e', 'r'}, }), sa: &SockaddrUnix{ Name: "go", }, }, { name: "AF_MAX EAFNOSUPPORT", rsa: &RawSockaddrAny{ Addr: RawSockaddr{ Family: AF_MAX, }, }, err: EAFNOSUPPORT, }, // TODO: expand to support other families. } for _, tt := range tests { t.Run(tt.name, func(t *testing.T) { fd := int(0) sa, err := anyToSockaddr(fd, tt.rsa) if err != tt.err { t.Fatalf("unexpected error: %v, want: %v", err, tt.err) } if !reflect.DeepEqual(sa, tt.sa) { t.Fatalf("unexpected Sockaddr:\n got: %#v\nwant: %#v", sa, tt.sa) } }) } } func TestSockaddrUnix_sockaddr(t *testing.T) { tests := []struct { name string sa *SockaddrUnix raw *RawSockaddrUnix err error }{ { name: "unnamed", sa: &SockaddrUnix{}, raw: &RawSockaddrUnix{ Family: AF_UNIX, }, err: EINVAL, }, { name: "named", sa: &SockaddrUnix{ Name: "gopher", }, raw: &RawSockaddrUnix{ Len: uint8(2 + len("gopher") + 1), // family (uint16) + len(gopher) + '\0' Family: AF_UNIX, Path: [104]int8{'g', 'o', 'p', 'h', 'e', 'r'}, }, }, { name: "named too long", sa: &SockaddrUnix{ Name: strings.Repeat("A", 104), }, err: EINVAL, }, } for _, tt := range tests { t.Run(tt.name, func(t *testing.T) { out, _, err := tt.sa.sockaddr() if err != tt.err { t.Fatalf("unexpected error: %v, want: %v", err, tt.err) } if out == nil { // No pointer to cast, return early. return } raw := (*RawSockaddrUnix)(out) if !reflect.DeepEqual(raw, tt.raw) { t.Fatalf("unexpected RawSockaddrUnix:\n got: %#v\nwant: %#v", raw, tt.raw) } }) } } func sockaddrUnixToAny(in RawSockaddrUnix) *RawSockaddrAny { var out RawSockaddrAny // Explicitly copy the contents of in into out to produce the correct // sockaddr structure, without relying on unsafe casting to a type of a // larger size. copy( (*(*[SizeofSockaddrAny]byte)(unsafe.Pointer(&out)))[:], (*(*[SizeofSockaddrUnix]byte)(unsafe.Pointer(&in)))[:], ) return &out } dependencies/pkg/mod/golang.org/x/sys@v0.26.0/unix/ioctl_unsigned.go0000644000000000000000000000441015107355264024145 0ustar rootroot// Copyright 2018 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:build darwin || dragonfly || freebsd || hurd || linux || netbsd || openbsd package unix import ( "unsafe" ) // 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) error { return ioctl(fd, req, uintptr(value)) } // IoctlSetPointerInt performs an ioctl operation which sets an // integer value on fd, using the specified request number. The ioctl // argument is called with a pointer to the integer value, rather than // passing the integer value directly. func IoctlSetPointerInt(fd int, req uint, value int) error { v := int32(value) return ioctlPtr(fd, req, unsafe.Pointer(&v)) } // IoctlSetWinsize performs an ioctl on fd with a *Winsize argument. // // To change fd's window size, the req argument should be TIOCSWINSZ. func IoctlSetWinsize(fd int, req uint, value *Winsize) error { // TODO: if we get the chance, remove the req parameter and // hardcode TIOCSWINSZ. return ioctlPtr(fd, req, unsafe.Pointer(value)) } // IoctlSetTermios performs an ioctl on fd with a *Termios. // // The req value will usually be TCSETA or TIOCSETA. func IoctlSetTermios(fd int, req uint, value *Termios) error { // TODO: if we get the chance, remove the req parameter. return ioctlPtr(fd, req, unsafe.Pointer(value)) } // IoctlGetInt performs an ioctl operation which gets an integer value // from fd, using the specified request number. // // A few ioctl requests use the return value as an output parameter; // for those, IoctlRetInt should be used instead of this function. func IoctlGetInt(fd int, req uint) (int, error) { var value int err := ioctlPtr(fd, req, unsafe.Pointer(&value)) return value, err } func IoctlGetWinsize(fd int, req uint) (*Winsize, error) { var value Winsize err := ioctlPtr(fd, req, unsafe.Pointer(&value)) return &value, err } func IoctlGetTermios(fd int, req uint) (*Termios, error) { var value Termios err := ioctlPtr(fd, req, unsafe.Pointer(&value)) return &value, err } dependencies/pkg/mod/golang.org/x/sys@v0.26.0/unix/syscall_freebsd_amd64.go0000644000000000000000000000267715107355264025313 0ustar rootroot// 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. //go:build amd64 && freebsd package unix import ( "syscall" "unsafe" ) func setTimespec(sec, nsec int64) Timespec { return Timespec{Sec: sec, Nsec: nsec} } func setTimeval(sec, usec int64) Timeval { return Timeval{Sec: sec, Usec: usec} } 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 (msghdr *Msghdr) SetIovlen(length int) { msghdr.Iovlen = int32(length) } func (cmsg *Cmsghdr) SetLen(length int) { cmsg.Len = uint32(length) } func (d *PtraceIoDesc) SetLen(length int) { d.Len = uint64(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) func PtraceGetFsBase(pid int, fsbase *int64) (err error) { return ptracePtr(PT_GETFSBASE, pid, unsafe.Pointer(fsbase), 0) } dependencies/pkg/mod/golang.org/x/sys@v0.26.0/unix/syscall_zos_s390x.go0000644000000000000000000025057715107355264024473 0ustar rootroot// Copyright 2020 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:build zos && s390x // Many of the following syscalls are not available on all versions of z/OS. // Some missing calls have legacy implementations/simulations but others // will be missing completely. To achieve consistent failing behaviour on // legacy systems, we first test the function pointer via a safeloading // mechanism to see if the function exists on a given system. Then execution // is branched to either continue the function call, or return an error. package unix import ( "bytes" "fmt" "os" "reflect" "regexp" "runtime" "sort" "strings" "sync" "syscall" "unsafe" ) //go:noescape func initZosLibVec() //go:noescape func GetZosLibVec() uintptr func init() { initZosLibVec() r0, _, _ := CallLeFuncWithPtrReturn(GetZosLibVec()+SYS_____GETENV_A<<4, uintptr(unsafe.Pointer(&([]byte("__ZOS_XSYSTRACE\x00"))[0]))) if r0 != 0 { n, _, _ := CallLeFuncWithPtrReturn(GetZosLibVec()+SYS___ATOI_A<<4, r0) ZosTraceLevel = int(n) r0, _, _ := CallLeFuncWithPtrReturn(GetZosLibVec()+SYS_____GETENV_A<<4, uintptr(unsafe.Pointer(&([]byte("__ZOS_XSYSTRACEFD\x00"))[0]))) if r0 != 0 { fd, _, _ := CallLeFuncWithPtrReturn(GetZosLibVec()+SYS___ATOI_A<<4, r0) f := os.NewFile(fd, "zostracefile") if f != nil { ZosTracefile = f } } } } //go:noescape func CallLeFuncWithErr(funcdesc uintptr, parms ...uintptr) (ret, errno2 uintptr, err Errno) //go:noescape func CallLeFuncWithPtrReturn(funcdesc uintptr, parms ...uintptr) (ret, errno2 uintptr, err Errno) // ------------------------------- // pointer validity test // good pointer returns 0 // bad pointer returns 1 // //go:nosplit func ptrtest(uintptr) uint64 // Load memory at ptr location with error handling if the location is invalid // //go:noescape func safeload(ptr uintptr) (value uintptr, error uintptr) const ( entrypointLocationOffset = 8 // From function descriptor xplinkEyecatcher = 0x00c300c500c500f1 // ".C.E.E.1" eyecatcherOffset = 16 // From function entrypoint (negative) ppa1LocationOffset = 8 // From function entrypoint (negative) nameLenOffset = 0x14 // From PPA1 start nameOffset = 0x16 // From PPA1 start ) func getPpaOffset(funcptr uintptr) int64 { entrypoint, err := safeload(funcptr + entrypointLocationOffset) if err != 0 { return -1 } // XPLink functions have ".C.E.E.1" as the first 8 bytes (EBCDIC) val, err := safeload(entrypoint - eyecatcherOffset) if err != 0 { return -1 } if val != xplinkEyecatcher { return -1 } ppaoff, err := safeload(entrypoint - ppa1LocationOffset) if err != 0 { return -1 } ppaoff >>= 32 return int64(ppaoff) } //------------------------------- // function descriptor pointer validity test // good pointer returns 0 // bad pointer returns 1 // TODO: currently mksyscall_zos_s390x.go generate empty string for funcName // have correct funcName pass to the funcptrtest function func funcptrtest(funcptr uintptr, funcName string) uint64 { entrypoint, err := safeload(funcptr + entrypointLocationOffset) if err != 0 { return 1 } ppaoff := getPpaOffset(funcptr) if ppaoff == -1 { return 1 } // PPA1 offset value is from the start of the entire function block, not the entrypoint ppa1 := (entrypoint - eyecatcherOffset) + uintptr(ppaoff) nameLen, err := safeload(ppa1 + nameLenOffset) if err != 0 { return 1 } nameLen >>= 48 if nameLen > 128 { return 1 } // no function name input to argument end here if funcName == "" { return 0 } var funcname [128]byte for i := 0; i < int(nameLen); i += 8 { v, err := safeload(ppa1 + nameOffset + uintptr(i)) if err != 0 { return 1 } funcname[i] = byte(v >> 56) funcname[i+1] = byte(v >> 48) funcname[i+2] = byte(v >> 40) funcname[i+3] = byte(v >> 32) funcname[i+4] = byte(v >> 24) funcname[i+5] = byte(v >> 16) funcname[i+6] = byte(v >> 8) funcname[i+7] = byte(v) } runtime.CallLeFuncByPtr(runtime.XplinkLibvec+SYS___E2A_L<<4, // __e2a_l []uintptr{uintptr(unsafe.Pointer(&funcname[0])), nameLen}) name := string(funcname[:nameLen]) if name != funcName { return 1 } return 0 } // For detection of capabilities on a system. // Is function descriptor f a valid function? func isValidLeFunc(f uintptr) error { ret := funcptrtest(f, "") if ret != 0 { return fmt.Errorf("Bad pointer, not an LE function ") } return nil } // Retrieve function name from descriptor func getLeFuncName(f uintptr) (string, error) { // assume it has been checked, only check ppa1 validity here entry := ((*[2]uintptr)(unsafe.Pointer(f)))[1] preamp := ((*[4]uint32)(unsafe.Pointer(entry - eyecatcherOffset))) offsetPpa1 := preamp[2] if offsetPpa1 > 0x0ffff { return "", fmt.Errorf("PPA1 offset seems too big 0x%x\n", offsetPpa1) } ppa1 := uintptr(unsafe.Pointer(preamp)) + uintptr(offsetPpa1) res := ptrtest(ppa1) if res != 0 { return "", fmt.Errorf("PPA1 address not valid") } size := *(*uint16)(unsafe.Pointer(ppa1 + nameLenOffset)) if size > 128 { return "", fmt.Errorf("Function name seems too long, length=%d\n", size) } var name [128]byte funcname := (*[128]byte)(unsafe.Pointer(ppa1 + nameOffset)) copy(name[0:size], funcname[0:size]) runtime.CallLeFuncByPtr(runtime.XplinkLibvec+SYS___E2A_L<<4, // __e2a_l []uintptr{uintptr(unsafe.Pointer(&name[0])), uintptr(size)}) return string(name[:size]), nil } // Check z/OS version func zosLeVersion() (version, release uint32) { p1 := (*(*uintptr)(unsafe.Pointer(uintptr(1208)))) >> 32 p1 = *(*uintptr)(unsafe.Pointer(uintptr(p1 + 88))) p1 = *(*uintptr)(unsafe.Pointer(uintptr(p1 + 8))) p1 = *(*uintptr)(unsafe.Pointer(uintptr(p1 + 984))) vrm := *(*uint32)(unsafe.Pointer(p1 + 80)) version = (vrm & 0x00ff0000) >> 16 release = (vrm & 0x0000ff00) >> 8 return } // returns a zos C FILE * for stdio fd 0, 1, 2 func ZosStdioFilep(fd int32) uintptr { return uintptr(*(*uint64)(unsafe.Pointer(uintptr(*(*uint64)(unsafe.Pointer(uintptr(*(*uint64)(unsafe.Pointer(uintptr(uint64(*(*uint32)(unsafe.Pointer(uintptr(1208)))) + 80))) + uint64((fd+2)<<3)))))))) } func copyStat(stat *Stat_t, statLE *Stat_LE_t) { stat.Dev = uint64(statLE.Dev) stat.Ino = uint64(statLE.Ino) stat.Nlink = uint64(statLE.Nlink) stat.Mode = uint32(statLE.Mode) stat.Uid = uint32(statLE.Uid) stat.Gid = uint32(statLE.Gid) stat.Rdev = uint64(statLE.Rdev) stat.Size = statLE.Size stat.Atim.Sec = int64(statLE.Atim) stat.Atim.Nsec = 0 //zos doesn't return nanoseconds stat.Mtim.Sec = int64(statLE.Mtim) stat.Mtim.Nsec = 0 //zos doesn't return nanoseconds stat.Ctim.Sec = int64(statLE.Ctim) stat.Ctim.Nsec = 0 //zos doesn't return nanoseconds stat.Blksize = int64(statLE.Blksize) stat.Blocks = statLE.Blocks } func svcCall(fnptr unsafe.Pointer, argv *unsafe.Pointer, dsa *uint64) func svcLoad(name *byte) unsafe.Pointer func svcUnload(name *byte, fnptr unsafe.Pointer) int64 func (d *Dirent) NameString() string { if d == nil { return "" } s := string(d.Name[:]) idx := strings.IndexByte(s, 0) if idx == -1 { return s } else { return s[:idx] } } func DecodeData(dest []byte, sz int, val uint64) { for i := 0; i < sz; i++ { dest[sz-1-i] = byte((val >> (uint64(i * 8))) & 0xff) } } func EncodeData(data []byte) uint64 { var value uint64 sz := len(data) for i := 0; i < sz; i++ { value |= uint64(data[i]) << uint64(((sz - i - 1) * 8)) } return value } 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 anyToSockaddr(_ int, rsa *RawSockaddrAny) (Sockaddr, error) { // TODO(neeilan): Implement use of first param (fd) switch rsa.Addr.Family { case AF_UNIX: pp := (*RawSockaddrUnix)(unsafe.Pointer(rsa)) sa := new(SockaddrUnix) // For z/OS, only replace NUL with @ when the // length is not zero. if pp.Len != 0 && 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. // // For z/OS, the length of the name is a field // in the structure. To be on the safe side, we // will still scan the name for a NUL but only // to the length provided in the structure. // // 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 < int(pp.Len) && pp.Path[n] != 0 { n++ } sa.Name = string(unsafe.Slice((*byte)(unsafe.Pointer(&pp.Path[0])), n)) 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 } // TODO(neeilan): Remove 0 in call sa, err = anyToSockaddr(0, &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") } // TODO(neeilan): Remove 0 in call sa, err = anyToSockaddr(0, &rsa) if err != nil { Close(nfd) nfd = 0 } return } func Ctermid() (tty string, err error) { var termdev [1025]byte runtime.EnterSyscall() r0, err2, err1 := CallLeFuncWithPtrReturn(GetZosLibVec()+SYS___CTERMID_A<<4, uintptr(unsafe.Pointer(&termdev[0]))) runtime.ExitSyscall() if r0 == 0 { return "", fmt.Errorf("%s (errno2=0x%x)\n", err1.Error(), err2) } s := string(termdev[:]) idx := strings.Index(s, string(rune(0))) if idx == -1 { tty = s } else { tty = s[:idx] } return } func (iov *Iovec) SetLen(length int) { iov.Len = uint64(length) } func (msghdr *Msghdr) SetControllen(length int) { msghdr.Controllen = int32(length) } func (cmsg *Cmsghdr) SetLen(length int) { cmsg.Len = int32(length) } //sys fcntl(fd int, cmd int, arg int) (val int, err error) //sys Flistxattr(fd int, dest []byte) (sz int, err error) = SYS___FLISTXATTR_A //sys Fremovexattr(fd int, attr string) (err error) = SYS___FREMOVEXATTR_A //sys read(fd int, p []byte) (n int, err error) //sys write(fd int, p []byte) (n int, err error) //sys Fgetxattr(fd int, attr string, dest []byte) (sz int, err error) = SYS___FGETXATTR_A //sys Fsetxattr(fd int, attr string, data []byte, flag int) (err error) = SYS___FSETXATTR_A //sys accept(s int, rsa *RawSockaddrAny, addrlen *_Socklen) (fd int, err error) = SYS___ACCEPT_A //sys accept4(s int, rsa *RawSockaddrAny, addrlen *_Socklen, flags int) (fd int, err error) = SYS___ACCEPT4_A //sys bind(s int, addr unsafe.Pointer, addrlen _Socklen) (err error) = SYS___BIND_A //sys connect(s int, addr unsafe.Pointer, addrlen _Socklen) (err error) = SYS___CONNECT_A //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) = SYS___GETPEERNAME_A //sysnb getsockname(fd int, rsa *RawSockaddrAny, addrlen *_Socklen) (err error) = SYS___GETSOCKNAME_A //sys Removexattr(path string, attr string) (err error) = SYS___REMOVEXATTR_A //sys recvfrom(fd int, p []byte, flags int, from *RawSockaddrAny, fromlen *_Socklen) (n int, err error) = SYS___RECVFROM_A //sys sendto(s int, buf []byte, flags int, to unsafe.Pointer, addrlen _Socklen) (err error) = SYS___SENDTO_A //sys recvmsg(s int, msg *Msghdr, flags int) (n int, err error) = SYS___RECVMSG_A //sys sendmsg(s int, msg *Msghdr, flags int) (n int, err error) = SYS___SENDMSG_A //sys mmap(addr uintptr, length uintptr, prot int, flag int, fd int, pos int64) (ret uintptr, err error) = SYS_MMAP //sys munmap(addr uintptr, length uintptr) (err error) = SYS_MUNMAP //sys ioctl(fd int, req int, arg uintptr) (err error) = SYS_IOCTL //sys ioctlPtr(fd int, req int, arg unsafe.Pointer) (err error) = SYS_IOCTL //sys shmat(id int, addr uintptr, flag int) (ret uintptr, err error) = SYS_SHMAT //sys shmctl(id int, cmd int, buf *SysvShmDesc) (result int, err error) = SYS_SHMCTL64 //sys shmdt(addr uintptr) (err error) = SYS_SHMDT //sys shmget(key int, size int, flag int) (id int, err error) = SYS_SHMGET //sys Access(path string, mode uint32) (err error) = SYS___ACCESS_A //sys Chdir(path string) (err error) = SYS___CHDIR_A //sys Chown(path string, uid int, gid int) (err error) = SYS___CHOWN_A //sys Chmod(path string, mode uint32) (err error) = SYS___CHMOD_A //sys Creat(path string, mode uint32) (fd int, err error) = SYS___CREAT_A //sys Dup(oldfd int) (fd int, err error) //sys Dup2(oldfd int, newfd int) (err error) //sys Dup3(oldfd int, newfd int, flags int) (err error) = SYS_DUP3 //sys Dirfd(dirp uintptr) (fd int, err error) = SYS_DIRFD //sys EpollCreate(size int) (fd int, err error) = SYS_EPOLL_CREATE //sys EpollCreate1(flags int) (fd int, err error) = SYS_EPOLL_CREATE1 //sys EpollCtl(epfd int, op int, fd int, event *EpollEvent) (err error) = SYS_EPOLL_CTL //sys EpollPwait(epfd int, events []EpollEvent, msec int, sigmask *int) (n int, err error) = SYS_EPOLL_PWAIT //sys EpollWait(epfd int, events []EpollEvent, msec int) (n int, err error) = SYS_EPOLL_WAIT //sys Errno2() (er2 int) = SYS___ERRNO2 //sys Eventfd(initval uint, flags int) (fd int, err error) = SYS_EVENTFD //sys Exit(code int) //sys Faccessat(dirfd int, path string, mode uint32, flags int) (err error) = SYS___FACCESSAT_A func Faccessat2(dirfd int, path string, mode uint32, flags int) (err error) { return Faccessat(dirfd, path, mode, flags) } //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___FCHMODAT_A //sys Fchown(fd int, uid int, gid int) (err error) //sys Fchownat(fd int, path string, uid int, gid int, flags int) (err error) = SYS___FCHOWNAT_A //sys FcntlInt(fd uintptr, cmd int, arg int) (retval int, err error) = SYS_FCNTL //sys Fdatasync(fd int) (err error) = SYS_FDATASYNC //sys fstat(fd int, stat *Stat_LE_t) (err error) //sys fstatat(dirfd int, path string, stat *Stat_LE_t, flags int) (err error) = SYS___FSTATAT_A func Fstat(fd int, stat *Stat_t) (err error) { var statLE Stat_LE_t err = fstat(fd, &statLE) copyStat(stat, &statLE) return } func Fstatat(dirfd int, path string, stat *Stat_t, flags int) (err error) { var statLE Stat_LE_t err = fstatat(dirfd, path, &statLE, flags) copyStat(stat, &statLE) return } func impl_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, e2, e1 := CallLeFuncWithErr(GetZosLibVec()+SYS___GETXATTR_A<<4, uintptr(unsafe.Pointer(_p0)), uintptr(unsafe.Pointer(_p1)), uintptr(_p2), uintptr(len(dest))) sz = int(r0) if int64(r0) == -1 { err = errnoErr2(e1, e2) } return } //go:nosplit func get_GetxattrAddr() *(func(path string, attr string, dest []byte) (sz int, err error)) var Getxattr = enter_Getxattr func enter_Getxattr(path string, attr string, dest []byte) (sz int, err error) { funcref := get_GetxattrAddr() if validGetxattr() { *funcref = impl_Getxattr } else { *funcref = error_Getxattr } return (*funcref)(path, attr, dest) } func error_Getxattr(path string, attr string, dest []byte) (sz int, err error) { return -1, ENOSYS } func validGetxattr() bool { if funcptrtest(GetZosLibVec()+SYS___GETXATTR_A<<4, "") == 0 { if name, err := getLeFuncName(GetZosLibVec() + SYS___GETXATTR_A<<4); err == nil { return name == "__getxattr_a" } } return false } //sys Lgetxattr(link string, attr string, dest []byte) (sz int, err error) = SYS___LGETXATTR_A //sys Lsetxattr(path string, attr string, data []byte, flags int) (err error) = SYS___LSETXATTR_A func impl_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) } r0, e2, e1 := CallLeFuncWithErr(GetZosLibVec()+SYS___SETXATTR_A<<4, uintptr(unsafe.Pointer(_p0)), uintptr(unsafe.Pointer(_p1)), uintptr(_p2), uintptr(len(data)), uintptr(flags)) if int64(r0) == -1 { err = errnoErr2(e1, e2) } return } //go:nosplit func get_SetxattrAddr() *(func(path string, attr string, data []byte, flags int) (err error)) var Setxattr = enter_Setxattr func enter_Setxattr(path string, attr string, data []byte, flags int) (err error) { funcref := get_SetxattrAddr() if validSetxattr() { *funcref = impl_Setxattr } else { *funcref = error_Setxattr } return (*funcref)(path, attr, data, flags) } func error_Setxattr(path string, attr string, data []byte, flags int) (err error) { return ENOSYS } func validSetxattr() bool { if funcptrtest(GetZosLibVec()+SYS___SETXATTR_A<<4, "") == 0 { if name, err := getLeFuncName(GetZosLibVec() + SYS___SETXATTR_A<<4); err == nil { return name == "__setxattr_a" } } return false } //sys Fstatfs(fd int, buf *Statfs_t) (err error) = SYS_FSTATFS //sys Fstatvfs(fd int, stat *Statvfs_t) (err error) = SYS_FSTATVFS //sys Fsync(fd int) (err error) //sys Futimes(fd int, tv []Timeval) (err error) = SYS_FUTIMES //sys Futimesat(dirfd int, path string, tv []Timeval) (err error) = SYS___FUTIMESAT_A //sys Ftruncate(fd int, length int64) (err error) //sys Getrandom(buf []byte, flags int) (n int, err error) = SYS_GETRANDOM //sys InotifyInit() (fd int, err error) = SYS_INOTIFY_INIT //sys InotifyInit1(flags int) (fd int, err error) = SYS_INOTIFY_INIT1 //sys InotifyAddWatch(fd int, pathname string, mask uint32) (watchdesc int, err error) = SYS___INOTIFY_ADD_WATCH_A //sys InotifyRmWatch(fd int, watchdesc uint32) (success int, err error) = SYS_INOTIFY_RM_WATCH //sys Listxattr(path string, dest []byte) (sz int, err error) = SYS___LISTXATTR_A //sys Llistxattr(path string, dest []byte) (sz int, err error) = SYS___LLISTXATTR_A //sys Lremovexattr(path string, attr string) (err error) = SYS___LREMOVEXATTR_A //sys Lutimes(path string, tv []Timeval) (err error) = SYS___LUTIMES_A //sys Mprotect(b []byte, prot int) (err error) = SYS_MPROTECT //sys Msync(b []byte, flags int) (err error) = SYS_MSYNC //sys Console2(cmsg *ConsMsg2, modstr *byte, concmd *uint32) (err error) = SYS___CONSOLE2 // Pipe2 begin //go:nosplit func getPipe2Addr() *(func([]int, int) error) var Pipe2 = pipe2Enter func pipe2Enter(p []int, flags int) (err error) { if funcptrtest(GetZosLibVec()+SYS_PIPE2<<4, "") == 0 { *getPipe2Addr() = pipe2Impl } else { *getPipe2Addr() = pipe2Error } return (*getPipe2Addr())(p, flags) } func pipe2Impl(p []int, flags int) (err error) { var pp [2]_C_int r0, e2, e1 := CallLeFuncWithErr(GetZosLibVec()+SYS_PIPE2<<4, uintptr(unsafe.Pointer(&pp[0])), uintptr(flags)) if int64(r0) == -1 { err = errnoErr2(e1, e2) } else { p[0] = int(pp[0]) p[1] = int(pp[1]) } return } func pipe2Error(p []int, flags int) (err error) { return fmt.Errorf("Pipe2 is not available on this system") } // Pipe2 end //sys Poll(fds []PollFd, timeout int) (n int, err error) = SYS_POLL func Readdir(dir uintptr) (dirent *Dirent, err error) { runtime.EnterSyscall() r0, e2, e1 := CallLeFuncWithErr(GetZosLibVec()+SYS___READDIR_A<<4, uintptr(dir)) runtime.ExitSyscall() dirent = (*Dirent)(unsafe.Pointer(r0)) if int64(r0) == -1 { err = errnoErr2(e1, e2) } return } //sys Readdir_r(dirp uintptr, entry *direntLE, result **direntLE) (err error) = SYS___READDIR_R_A //sys Statfs(path string, buf *Statfs_t) (err error) = SYS___STATFS_A //sys Syncfs(fd int) (err error) = SYS_SYNCFS //sys Times(tms *Tms) (ticks uintptr, err error) = SYS_TIMES //sys W_Getmntent(buff *byte, size int) (lastsys int, err error) = SYS_W_GETMNTENT //sys W_Getmntent_A(buff *byte, size int) (lastsys int, err error) = SYS___W_GETMNTENT_A //sys mount_LE(path string, filesystem string, fstype string, mtm uint32, parmlen int32, parm string) (err error) = SYS___MOUNT_A //sys unmount_LE(filesystem string, mtm int) (err error) = SYS___UMOUNT_A //sys Chroot(path string) (err error) = SYS___CHROOT_A //sys Select(nmsgsfds int, r *FdSet, w *FdSet, e *FdSet, timeout *Timeval) (ret int, err error) = SYS_SELECT //sysnb Uname(buf *Utsname) (err error) = SYS_____OSNAME_A //sys Unshare(flags int) (err error) = SYS_UNSHARE func Ptsname(fd int) (name string, err error) { runtime.EnterSyscall() r0, e2, e1 := CallLeFuncWithPtrReturn(GetZosLibVec()+SYS___PTSNAME_A<<4, uintptr(fd)) runtime.ExitSyscall() if r0 == 0 { err = errnoErr2(e1, e2) } else { name = u2s(unsafe.Pointer(r0)) } return } func u2s(cstr unsafe.Pointer) string { str := (*[1024]uint8)(cstr) i := 0 for str[i] != 0 { i++ } return string(str[:i]) } func Close(fd int) (err error) { runtime.EnterSyscall() r0, e2, e1 := CallLeFuncWithErr(GetZosLibVec()+SYS_CLOSE<<4, uintptr(fd)) runtime.ExitSyscall() for i := 0; e1 == EAGAIN && i < 10; i++ { runtime.EnterSyscall() CallLeFuncWithErr(GetZosLibVec()+SYS_USLEEP<<4, uintptr(10)) runtime.ExitSyscall() runtime.EnterSyscall() r0, e2, e1 = CallLeFuncWithErr(GetZosLibVec()+SYS_CLOSE<<4, uintptr(fd)) runtime.ExitSyscall() } if r0 != 0 { err = errnoErr2(e1, e2) } return } // Dummy function: there are no semantics for Madvise on z/OS func Madvise(b []byte, advice int) (err error) { return } 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 Gethostname(buf []byte) (err error) = SYS___GETHOSTNAME_A //sysnb Getgid() (gid int) //sysnb Getpid() (pid int) //sysnb Getpgid(pid int) (pgid int, err error) = SYS_GETPGID func Getpgrp() (pid int) { pid, _ = Getpgid(0) return } //sysnb Getppid() (pid int) //sys Getpriority(which int, who int) (prio int, err error) //sysnb Getrlimit(resource int, rlim *Rlimit) (err error) = SYS_GETRLIMIT //sysnb getrusage(who int, rusage *rusage_zos) (err error) = SYS_GETRUSAGE func Getrusage(who int, rusage *Rusage) (err error) { var ruz rusage_zos err = getrusage(who, &ruz) //Only the first two fields of Rusage are set rusage.Utime.Sec = ruz.Utime.Sec rusage.Utime.Usec = int64(ruz.Utime.Usec) rusage.Stime.Sec = ruz.Stime.Sec rusage.Stime.Usec = int64(ruz.Stime.Usec) return } //sys Getegid() (egid int) = SYS_GETEGID //sys Geteuid() (euid int) = SYS_GETEUID //sysnb Getsid(pid int) (sid int, err error) = SYS_GETSID //sysnb Getuid() (uid int) //sysnb Kill(pid int, sig Signal) (err error) //sys Lchown(path string, uid int, gid int) (err error) = SYS___LCHOWN_A //sys Link(path string, link string) (err error) = SYS___LINK_A //sys Linkat(oldDirFd int, oldPath string, newDirFd int, newPath string, flags int) (err error) = SYS___LINKAT_A //sys Listen(s int, n int) (err error) //sys lstat(path string, stat *Stat_LE_t) (err error) = SYS___LSTAT_A func Lstat(path string, stat *Stat_t) (err error) { var statLE Stat_LE_t err = lstat(path, &statLE) copyStat(stat, &statLE) return } // for checking symlinks begins with $VERSION/ $SYSNAME/ $SYSSYMR/ $SYSSYMA/ func isSpecialPath(path []byte) (v bool) { var special = [4][8]byte{ [8]byte{'V', 'E', 'R', 'S', 'I', 'O', 'N', '/'}, [8]byte{'S', 'Y', 'S', 'N', 'A', 'M', 'E', '/'}, [8]byte{'S', 'Y', 'S', 'S', 'Y', 'M', 'R', '/'}, [8]byte{'S', 'Y', 'S', 'S', 'Y', 'M', 'A', '/'}} var i, j int for i = 0; i < len(special); i++ { for j = 0; j < len(special[i]); j++ { if path[j] != special[i][j] { break } } if j == len(special[i]) { return true } } return false } func realpath(srcpath string, abspath []byte) (pathlen int, errno int) { var source [1024]byte copy(source[:], srcpath) source[len(srcpath)] = 0 ret := runtime.CallLeFuncByPtr(runtime.XplinkLibvec+SYS___REALPATH_A<<4, //__realpath_a() []uintptr{uintptr(unsafe.Pointer(&source[0])), uintptr(unsafe.Pointer(&abspath[0]))}) if ret != 0 { index := bytes.IndexByte(abspath[:], byte(0)) if index != -1 { return index, 0 } } else { errptr := (*int)(unsafe.Pointer(runtime.CallLeFuncByPtr(runtime.XplinkLibvec+SYS___ERRNO<<4, []uintptr{}))) //__errno() return 0, *errptr } return 0, 245 // EBADDATA 245 } 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) } n = int(runtime.CallLeFuncByPtr(runtime.XplinkLibvec+SYS___READLINK_A<<4, []uintptr{uintptr(unsafe.Pointer(_p0)), uintptr(_p1), uintptr(len(buf))})) runtime.KeepAlive(unsafe.Pointer(_p0)) if n == -1 { value := *(*int32)(unsafe.Pointer(runtime.CallLeFuncByPtr(runtime.XplinkLibvec+SYS___ERRNO<<4, []uintptr{}))) err = errnoErr(Errno(value)) } else { if buf[0] == '$' { if isSpecialPath(buf[1:9]) { cnt, err1 := realpath(path, buf) if err1 == 0 { n = cnt } } } } return } func impl_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) } runtime.EnterSyscall() r0, e2, e1 := CallLeFuncWithErr(GetZosLibVec()+SYS___READLINKAT_A<<4, uintptr(dirfd), uintptr(unsafe.Pointer(_p0)), uintptr(_p1), uintptr(len(buf))) runtime.ExitSyscall() n = int(r0) if int64(r0) == -1 { err = errnoErr2(e1, e2) return n, err } else { if buf[0] == '$' { if isSpecialPath(buf[1:9]) { cnt, err1 := realpath(path, buf) if err1 == 0 { n = cnt } } } } return } //go:nosplit func get_ReadlinkatAddr() *(func(dirfd int, path string, buf []byte) (n int, err error)) var Readlinkat = enter_Readlinkat func enter_Readlinkat(dirfd int, path string, buf []byte) (n int, err error) { funcref := get_ReadlinkatAddr() if funcptrtest(GetZosLibVec()+SYS___READLINKAT_A<<4, "") == 0 { *funcref = impl_Readlinkat } else { *funcref = error_Readlinkat } return (*funcref)(dirfd, path, buf) } func error_Readlinkat(dirfd int, path string, buf []byte) (n int, err error) { n = -1 err = ENOSYS return } //sys Mkdir(path string, mode uint32) (err error) = SYS___MKDIR_A //sys Mkdirat(dirfd int, path string, mode uint32) (err error) = SYS___MKDIRAT_A //sys Mkfifo(path string, mode uint32) (err error) = SYS___MKFIFO_A //sys Mknod(path string, mode uint32, dev int) (err error) = SYS___MKNOD_A //sys Mknodat(dirfd int, path string, mode uint32, dev int) (err error) = SYS___MKNODAT_A //sys PivotRoot(newroot string, oldroot string) (err error) = SYS___PIVOT_ROOT_A //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 Prctl(option int, arg2 uintptr, arg3 uintptr, arg4 uintptr, arg5 uintptr) (err error) = SYS___PRCTL_A //sysnb Prlimit(pid int, resource int, newlimit *Rlimit, old *Rlimit) (err error) = SYS_PRLIMIT //sys Rename(from string, to string) (err error) = SYS___RENAME_A //sys Renameat(olddirfd int, oldpath string, newdirfd int, newpath string) (err error) = SYS___RENAMEAT_A //sys Renameat2(olddirfd int, oldpath string, newdirfd int, newpath string, flags uint) (err error) = SYS___RENAMEAT2_A //sys Rmdir(path string) (err error) = SYS___RMDIR_A //sys Seek(fd int, offset int64, whence int) (off int64, err error) = SYS_LSEEK //sys Setegid(egid int) (err error) = SYS_SETEGID //sys Seteuid(euid int) (err error) = SYS_SETEUID //sys Sethostname(p []byte) (err error) = SYS___SETHOSTNAME_A //sys Setns(fd int, nstype int) (err error) = SYS_SETNS //sys Setpriority(which int, who int, prio int) (err error) //sysnb Setpgid(pid int, pgid int) (err error) = SYS_SETPGID //sysnb Setrlimit(resource int, lim *Rlimit) (err error) //sysnb Setregid(rgid int, egid int) (err error) = SYS_SETREGID //sysnb Setreuid(ruid int, euid int) (err error) = SYS_SETREUID //sysnb Setsid() (pid int, err error) = SYS_SETSID //sys Setuid(uid int) (err error) = SYS_SETUID //sys Setgid(uid int) (err error) = SYS_SETGID //sys Shutdown(fd int, how int) (err error) //sys stat(path string, statLE *Stat_LE_t) (err error) = SYS___STAT_A func Stat(path string, sta *Stat_t) (err error) { var statLE Stat_LE_t err = stat(path, &statLE) copyStat(sta, &statLE) return } //sys Symlink(path string, link string) (err error) = SYS___SYMLINK_A //sys Symlinkat(oldPath string, dirfd int, newPath string) (err error) = SYS___SYMLINKAT_A //sys Sync() = SYS_SYNC //sys Truncate(path string, length int64) (err error) = SYS___TRUNCATE_A //sys Tcgetattr(fildes int, termptr *Termios) (err error) = SYS_TCGETATTR //sys Tcsetattr(fildes int, when int, termptr *Termios) (err error) = SYS_TCSETATTR //sys Umask(mask int) (oldmask int) //sys Unlink(path string) (err error) = SYS___UNLINK_A //sys Unlinkat(dirfd int, path string, flags int) (err error) = SYS___UNLINKAT_A //sys Utime(path string, utim *Utimbuf) (err error) = SYS___UTIME_A //sys open(path string, mode int, perm uint32) (fd int, err error) = SYS___OPEN_A func Open(path string, mode int, perm uint32) (fd int, err error) { if mode&O_ACCMODE == 0 { mode |= O_RDONLY } return open(path, mode, perm) } //sys openat(dirfd int, path string, flags int, mode uint32) (fd int, err error) = SYS___OPENAT_A func Openat(dirfd int, path string, flags int, mode uint32) (fd int, err error) { if flags&O_ACCMODE == 0 { flags |= O_RDONLY } return openat(dirfd, path, flags, mode) } //sys openat2(dirfd int, path string, open_how *OpenHow, size int) (fd int, err error) = SYS___OPENAT2_A func Openat2(dirfd int, path string, how *OpenHow) (fd int, err error) { if how.Flags&O_ACCMODE == 0 { how.Flags |= O_RDONLY } return openat2(dirfd, path, how, SizeofOpenHow) } func ZosFdToPath(dirfd int) (path string, err error) { var buffer [1024]byte runtime.EnterSyscall() ret, e2, e1 := CallLeFuncWithErr(GetZosLibVec()+SYS_W_IOCTL<<4, uintptr(dirfd), 17, 1024, uintptr(unsafe.Pointer(&buffer[0]))) runtime.ExitSyscall() if ret == 0 { zb := bytes.IndexByte(buffer[:], 0) if zb == -1 { zb = len(buffer) } CallLeFuncWithErr(GetZosLibVec()+SYS___E2A_L<<4, uintptr(unsafe.Pointer(&buffer[0])), uintptr(zb)) return string(buffer[:zb]), nil } return "", errnoErr2(e1, e2) } //sys remove(path string) (err error) func Remove(path string) error { return remove(path) } const ImplementsGetwd = true func Getcwd(buf []byte) (n int, err error) { var p unsafe.Pointer if len(buf) > 0 { p = unsafe.Pointer(&buf[0]) } else { p = unsafe.Pointer(&_zero) } runtime.EnterSyscall() r0, e2, e1 := CallLeFuncWithPtrReturn(GetZosLibVec()+SYS___GETCWD_A<<4, uintptr(p), uintptr(len(buf))) runtime.ExitSyscall() n = clen(buf) + 1 if r0 == 0 { err = errnoErr2(e1, e2) } return } 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]) } func gettid() uint64 func Gettid() (tid int) { return int(gettid()) } 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() Signal { if !w.Signaled() { return -1 } return Signal(w & mask) } func (w WaitStatus) StopSignal() Signal { if !w.Stopped() { return -1 } return Signal(w>>shift) & 0xFF } func (w WaitStatus) TrapCause() int { return -1 } //sys waitid(idType int, id int, info *Siginfo, options int) (err error) func Waitid(idType int, id int, info *Siginfo, options int, rusage *Rusage) (err error) { return waitid(idType, id, info, options) } //sys waitpid(pid int, wstatus *_C_int, options int) (wpid int, err error) func impl_Wait4(pid int, wstatus *WaitStatus, options int, rusage *Rusage) (wpid int, err error) { runtime.EnterSyscall() r0, e2, e1 := CallLeFuncWithErr(GetZosLibVec()+SYS_WAIT4<<4, uintptr(pid), uintptr(unsafe.Pointer(wstatus)), uintptr(options), uintptr(unsafe.Pointer(rusage))) runtime.ExitSyscall() wpid = int(r0) if int64(r0) == -1 { err = errnoErr2(e1, e2) } return } //go:nosplit func get_Wait4Addr() *(func(pid int, wstatus *WaitStatus, options int, rusage *Rusage) (wpid int, err error)) var Wait4 = enter_Wait4 func enter_Wait4(pid int, wstatus *WaitStatus, options int, rusage *Rusage) (wpid int, err error) { funcref := get_Wait4Addr() if funcptrtest(GetZosLibVec()+SYS_WAIT4<<4, "") == 0 { *funcref = impl_Wait4 } else { *funcref = legacyWait4 } return (*funcref)(pid, wstatus, options, rusage) } func legacyWait4(pid int, wstatus *WaitStatus, options int, rusage *Rusage) (wpid int, err error) { // TODO(mundaym): z/OS doesn't have wait4. I don't think getrusage does what we want. // At the moment rusage will not be touched. var status _C_int wpid, err = waitpid(pid, &status, options) if wstatus != nil { *wstatus = WaitStatus(status) } return } //sysnb gettimeofday(tv *timeval_zos) (err error) func Gettimeofday(tv *Timeval) (err error) { var tvz timeval_zos err = gettimeofday(&tvz) tv.Sec = tvz.Sec tv.Usec = int64(tvz.Usec) return } 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 } func setTimespec(sec, nsec int64) Timespec { return Timespec{Sec: sec, Nsec: nsec} } func setTimeval(sec, usec int64) Timeval { //fix return Timeval{Sec: sec, Usec: usec} } //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 utimes(path string, timeval *[2]Timeval) (err error) = SYS___UTIMES_A 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(dirfd int, path string, ts *[2]Timespec, flags int) (err error) = SYS___UTIMENSAT_A func validUtimensat() bool { if funcptrtest(GetZosLibVec()+SYS___UTIMENSAT_A<<4, "") == 0 { if name, err := getLeFuncName(GetZosLibVec() + SYS___UTIMENSAT_A<<4); err == nil { return name == "__utimensat_a" } } return false } // Begin UtimesNano //go:nosplit func get_UtimesNanoAddr() *(func(path string, ts []Timespec) (err error)) var UtimesNano = enter_UtimesNano func enter_UtimesNano(path string, ts []Timespec) (err error) { funcref := get_UtimesNanoAddr() if validUtimensat() { *funcref = utimesNanoImpl } else { *funcref = legacyUtimesNano } return (*funcref)(path, ts) } func utimesNanoImpl(path string, ts []Timespec) (err 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 legacyUtimesNano(path string, ts []Timespec) (err error) { 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]))) } // End UtimesNano // Begin UtimesNanoAt //go:nosplit func get_UtimesNanoAtAddr() *(func(dirfd int, path string, ts []Timespec, flags int) (err error)) var UtimesNanoAt = enter_UtimesNanoAt func enter_UtimesNanoAt(dirfd int, path string, ts []Timespec, flags int) (err error) { funcref := get_UtimesNanoAtAddr() if validUtimensat() { *funcref = utimesNanoAtImpl } else { *funcref = legacyUtimesNanoAt } return (*funcref)(dirfd, path, ts, flags) } func utimesNanoAtImpl(dirfd int, path string, ts []Timespec, flags int) (err 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) } func legacyUtimesNanoAt(dirfd int, path string, ts []Timespec, flags int) (err error) { if path[0] != '/' { dirPath, err := ZosFdToPath(dirfd) if err != nil { return err } path = dirPath + "/" + path } if flags == AT_SYMLINK_NOFOLLOW { if len(ts) != 2 { return EINVAL } if ts[0].Nsec >= 5e8 { ts[0].Sec++ } ts[0].Nsec = 0 if ts[1].Nsec >= 5e8 { ts[1].Sec++ } ts[1].Nsec = 0 // Not as efficient as it could be because Timespec and // Timeval have different types in the different OSes tv := []Timeval{ NsecToTimeval(TimespecToNsec(ts[0])), NsecToTimeval(TimespecToNsec(ts[1])), } return Lutimes(path, tv) } return UtimesNano(path, ts) } // End UtimesNanoAt 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(neeilan) : Remove this 0 ( added to get sys/unix compiling on z/OS ) return anyToSockaddr(0, &rsa) } const ( // identifier constants nwmHeaderIdentifier = 0xd5e6d4c8 nwmFilterIdentifier = 0xd5e6d4c6 nwmTCPConnIdentifier = 0xd5e6d4c3 nwmRecHeaderIdentifier = 0xd5e6d4d9 nwmIPStatsIdentifier = 0xd5e6d4c9d7e2e340 nwmIPGStatsIdentifier = 0xd5e6d4c9d7c7e2e3 nwmTCPStatsIdentifier = 0xd5e6d4e3c3d7e2e3 nwmUDPStatsIdentifier = 0xd5e6d4e4c4d7e2e3 nwmICMPGStatsEntry = 0xd5e6d4c9c3d4d7c7 nwmICMPTStatsEntry = 0xd5e6d4c9c3d4d7e3 // nwmHeader constants nwmVersion1 = 1 nwmVersion2 = 2 nwmCurrentVer = 2 nwmTCPConnType = 1 nwmGlobalStatsType = 14 // nwmFilter constants nwmFilterLclAddrMask = 0x20000000 // Local address nwmFilterSrcAddrMask = 0x20000000 // Source address nwmFilterLclPortMask = 0x10000000 // Local port nwmFilterSrcPortMask = 0x10000000 // Source port // nwmConnEntry constants nwmTCPStateClosed = 1 nwmTCPStateListen = 2 nwmTCPStateSynSent = 3 nwmTCPStateSynRcvd = 4 nwmTCPStateEstab = 5 nwmTCPStateFinWait1 = 6 nwmTCPStateFinWait2 = 7 nwmTCPStateClosWait = 8 nwmTCPStateLastAck = 9 nwmTCPStateClosing = 10 nwmTCPStateTimeWait = 11 nwmTCPStateDeletTCB = 12 // Existing constants on linux BPF_TCP_CLOSE = 1 BPF_TCP_LISTEN = 2 BPF_TCP_SYN_SENT = 3 BPF_TCP_SYN_RECV = 4 BPF_TCP_ESTABLISHED = 5 BPF_TCP_FIN_WAIT1 = 6 BPF_TCP_FIN_WAIT2 = 7 BPF_TCP_CLOSE_WAIT = 8 BPF_TCP_LAST_ACK = 9 BPF_TCP_CLOSING = 10 BPF_TCP_TIME_WAIT = 11 BPF_TCP_NEW_SYN_RECV = -1 BPF_TCP_MAX_STATES = -2 ) type nwmTriplet struct { offset uint32 length uint32 number uint32 } type nwmQuadruplet struct { offset uint32 length uint32 number uint32 match uint32 } type nwmHeader struct { ident uint32 length uint32 version uint16 nwmType uint16 bytesNeeded uint32 options uint32 _ [16]byte inputDesc nwmTriplet outputDesc nwmQuadruplet } type nwmFilter struct { ident uint32 flags uint32 resourceName [8]byte resourceId uint32 listenerId uint32 local [28]byte // union of sockaddr4 and sockaddr6 remote [28]byte // union of sockaddr4 and sockaddr6 _ uint16 _ uint16 asid uint16 _ [2]byte tnLuName [8]byte tnMonGrp uint32 tnAppl [8]byte applData [40]byte nInterface [16]byte dVipa [16]byte dVipaPfx uint16 dVipaPort uint16 dVipaFamily byte _ [3]byte destXCF [16]byte destXCFPfx uint16 destXCFFamily byte _ [1]byte targIP [16]byte targIPPfx uint16 targIPFamily byte _ [1]byte _ [20]byte } type nwmRecHeader struct { ident uint32 length uint32 number byte _ [3]byte } type nwmTCPStatsEntry struct { ident uint64 currEstab uint32 activeOpened uint32 passiveOpened uint32 connClosed uint32 estabResets uint32 attemptFails uint32 passiveDrops uint32 timeWaitReused uint32 inSegs uint64 predictAck uint32 predictData uint32 inDupAck uint32 inBadSum uint32 inBadLen uint32 inShort uint32 inDiscOldTime uint32 inAllBeforeWin uint32 inSomeBeforeWin uint32 inAllAfterWin uint32 inSomeAfterWin uint32 inOutOfOrder uint32 inAfterClose uint32 inWinProbes uint32 inWinUpdates uint32 outWinUpdates uint32 outSegs uint64 outDelayAcks uint32 outRsts uint32 retransSegs uint32 retransTimeouts uint32 retransDrops uint32 pmtuRetrans uint32 pmtuErrors uint32 outWinProbes uint32 probeDrops uint32 keepAliveProbes uint32 keepAliveDrops uint32 finwait2Drops uint32 acceptCount uint64 inBulkQSegs uint64 inDiscards uint64 connFloods uint32 connStalls uint32 cfgEphemDef uint16 ephemInUse uint16 ephemHiWater uint16 flags byte _ [1]byte ephemExhaust uint32 smcRCurrEstabLnks uint32 smcRLnkActTimeOut uint32 smcRActLnkOpened uint32 smcRPasLnkOpened uint32 smcRLnksClosed uint32 smcRCurrEstab uint32 smcRActiveOpened uint32 smcRPassiveOpened uint32 smcRConnClosed uint32 smcRInSegs uint64 smcROutSegs uint64 smcRInRsts uint32 smcROutRsts uint32 smcDCurrEstabLnks uint32 smcDActLnkOpened uint32 smcDPasLnkOpened uint32 smcDLnksClosed uint32 smcDCurrEstab uint32 smcDActiveOpened uint32 smcDPassiveOpened uint32 smcDConnClosed uint32 smcDInSegs uint64 smcDOutSegs uint64 smcDInRsts uint32 smcDOutRsts uint32 } type nwmConnEntry struct { ident uint32 local [28]byte // union of sockaddr4 and sockaddr6 remote [28]byte // union of sockaddr4 and sockaddr6 startTime [8]byte // uint64, changed to prevent padding from being inserted lastActivity [8]byte // uint64 bytesIn [8]byte // uint64 bytesOut [8]byte // uint64 inSegs [8]byte // uint64 outSegs [8]byte // uint64 state uint16 activeOpen byte flag01 byte outBuffered uint32 inBuffered uint32 maxSndWnd uint32 reXmtCount uint32 congestionWnd uint32 ssThresh uint32 roundTripTime uint32 roundTripVar uint32 sendMSS uint32 sndWnd uint32 rcvBufSize uint32 sndBufSize uint32 outOfOrderCount uint32 lcl0WindowCount uint32 rmt0WindowCount uint32 dupacks uint32 flag02 byte sockOpt6Cont byte asid uint16 resourceName [8]byte resourceId uint32 subtask uint32 sockOpt byte sockOpt6 byte clusterConnFlag byte proto byte targetAppl [8]byte luName [8]byte clientUserId [8]byte logMode [8]byte timeStamp uint32 timeStampAge uint32 serverResourceId uint32 intfName [16]byte ttlsStatPol byte ttlsStatConn byte ttlsSSLProt uint16 ttlsNegCiph [2]byte ttlsSecType byte ttlsFIPS140Mode byte ttlsUserID [8]byte applData [40]byte inOldestTime [8]byte // uint64 outOldestTime [8]byte // uint64 tcpTrustedPartner byte _ [3]byte bulkDataIntfName [16]byte ttlsNegCiph4 [4]byte smcReason uint32 lclSMCLinkId uint32 rmtSMCLinkId uint32 smcStatus byte smcFlags byte _ [2]byte rcvWnd uint32 lclSMCBufSz uint32 rmtSMCBufSz uint32 ttlsSessID [32]byte ttlsSessIDLen int16 _ [1]byte smcDStatus byte smcDReason uint32 } var svcNameTable [][]byte = [][]byte{ []byte("\xc5\xe9\xc2\xd5\xd4\xc9\xc6\xf4"), // svc_EZBNMIF4 } const ( svc_EZBNMIF4 = 0 ) func GetsockoptTCPInfo(fd, level, opt int) (*TCPInfo, error) { jobname := []byte("\x5c\x40\x40\x40\x40\x40\x40\x40") // "*" responseBuffer := [4096]byte{0} var bufferAlet, reasonCode uint32 = 0, 0 var bufferLen, returnValue, returnCode int32 = 4096, 0, 0 dsa := [18]uint64{0} var argv [7]unsafe.Pointer argv[0] = unsafe.Pointer(&jobname[0]) argv[1] = unsafe.Pointer(&responseBuffer[0]) argv[2] = unsafe.Pointer(&bufferAlet) argv[3] = unsafe.Pointer(&bufferLen) argv[4] = unsafe.Pointer(&returnValue) argv[5] = unsafe.Pointer(&returnCode) argv[6] = unsafe.Pointer(&reasonCode) request := (*struct { header nwmHeader filter nwmFilter })(unsafe.Pointer(&responseBuffer[0])) EZBNMIF4 := svcLoad(&svcNameTable[svc_EZBNMIF4][0]) if EZBNMIF4 == nil { return nil, errnoErr(EINVAL) } // GetGlobalStats EZBNMIF4 call request.header.ident = nwmHeaderIdentifier request.header.length = uint32(unsafe.Sizeof(request.header)) request.header.version = nwmCurrentVer request.header.nwmType = nwmGlobalStatsType request.header.options = 0x80000000 svcCall(EZBNMIF4, &argv[0], &dsa[0]) // outputDesc field is filled by EZBNMIF4 on success if returnCode != 0 || request.header.outputDesc.offset == 0 { return nil, errnoErr(EINVAL) } // Check that EZBNMIF4 returned a nwmRecHeader recHeader := (*nwmRecHeader)(unsafe.Pointer(&responseBuffer[request.header.outputDesc.offset])) if recHeader.ident != nwmRecHeaderIdentifier { return nil, errnoErr(EINVAL) } // Parse nwmTriplets to get offsets of returned entries var sections []*uint64 var sectionDesc *nwmTriplet = (*nwmTriplet)(unsafe.Pointer(&responseBuffer[0])) for i := uint32(0); i < uint32(recHeader.number); i++ { offset := request.header.outputDesc.offset + uint32(unsafe.Sizeof(*recHeader)) + i*uint32(unsafe.Sizeof(*sectionDesc)) sectionDesc = (*nwmTriplet)(unsafe.Pointer(&responseBuffer[offset])) for j := uint32(0); j < sectionDesc.number; j++ { offset = request.header.outputDesc.offset + sectionDesc.offset + j*sectionDesc.length sections = append(sections, (*uint64)(unsafe.Pointer(&responseBuffer[offset]))) } } // Find nwmTCPStatsEntry in returned entries var tcpStats *nwmTCPStatsEntry = nil for _, ptr := range sections { switch *ptr { case nwmTCPStatsIdentifier: if tcpStats != nil { return nil, errnoErr(EINVAL) } tcpStats = (*nwmTCPStatsEntry)(unsafe.Pointer(ptr)) case nwmIPStatsIdentifier: case nwmIPGStatsIdentifier: case nwmUDPStatsIdentifier: case nwmICMPGStatsEntry: case nwmICMPTStatsEntry: default: return nil, errnoErr(EINVAL) } } if tcpStats == nil { return nil, errnoErr(EINVAL) } // GetConnectionDetail EZBNMIF4 call responseBuffer = [4096]byte{0} dsa = [18]uint64{0} bufferAlet, reasonCode = 0, 0 bufferLen, returnValue, returnCode = 4096, 0, 0 nameptr := (*uint32)(unsafe.Pointer(uintptr(0x21c))) // Get jobname of current process nameptr = (*uint32)(unsafe.Pointer(uintptr(*nameptr + 12))) argv[0] = unsafe.Pointer(uintptr(*nameptr)) request.header.ident = nwmHeaderIdentifier request.header.length = uint32(unsafe.Sizeof(request.header)) request.header.version = nwmCurrentVer request.header.nwmType = nwmTCPConnType request.header.options = 0x80000000 request.filter.ident = nwmFilterIdentifier var localSockaddr RawSockaddrAny socklen := _Socklen(SizeofSockaddrAny) err := getsockname(fd, &localSockaddr, &socklen) if err != nil { return nil, errnoErr(EINVAL) } if localSockaddr.Addr.Family == AF_INET { localSockaddr := (*RawSockaddrInet4)(unsafe.Pointer(&localSockaddr.Addr)) localSockFilter := (*RawSockaddrInet4)(unsafe.Pointer(&request.filter.local[0])) localSockFilter.Family = AF_INET var i int for i = 0; i < 4; i++ { if localSockaddr.Addr[i] != 0 { break } } if i != 4 { request.filter.flags |= nwmFilterLclAddrMask for i = 0; i < 4; i++ { localSockFilter.Addr[i] = localSockaddr.Addr[i] } } if localSockaddr.Port != 0 { request.filter.flags |= nwmFilterLclPortMask localSockFilter.Port = localSockaddr.Port } } else if localSockaddr.Addr.Family == AF_INET6 { localSockaddr := (*RawSockaddrInet6)(unsafe.Pointer(&localSockaddr.Addr)) localSockFilter := (*RawSockaddrInet6)(unsafe.Pointer(&request.filter.local[0])) localSockFilter.Family = AF_INET6 var i int for i = 0; i < 16; i++ { if localSockaddr.Addr[i] != 0 { break } } if i != 16 { request.filter.flags |= nwmFilterLclAddrMask for i = 0; i < 16; i++ { localSockFilter.Addr[i] = localSockaddr.Addr[i] } } if localSockaddr.Port != 0 { request.filter.flags |= nwmFilterLclPortMask localSockFilter.Port = localSockaddr.Port } } svcCall(EZBNMIF4, &argv[0], &dsa[0]) // outputDesc field is filled by EZBNMIF4 on success if returnCode != 0 || request.header.outputDesc.offset == 0 { return nil, errnoErr(EINVAL) } // Check that EZBNMIF4 returned a nwmConnEntry conn := (*nwmConnEntry)(unsafe.Pointer(&responseBuffer[request.header.outputDesc.offset])) if conn.ident != nwmTCPConnIdentifier { return nil, errnoErr(EINVAL) } // Copy data from the returned data structures into tcpInfo // Stats from nwmConnEntry are specific to that connection. // Stats from nwmTCPStatsEntry are global (to the interface?) // Fields may not be an exact match. Some fields have no equivalent. var tcpinfo TCPInfo tcpinfo.State = uint8(conn.state) tcpinfo.Ca_state = 0 // dummy tcpinfo.Retransmits = uint8(tcpStats.retransSegs) tcpinfo.Probes = uint8(tcpStats.outWinProbes) tcpinfo.Backoff = 0 // dummy tcpinfo.Options = 0 // dummy tcpinfo.Rto = tcpStats.retransTimeouts tcpinfo.Ato = tcpStats.outDelayAcks tcpinfo.Snd_mss = conn.sendMSS tcpinfo.Rcv_mss = conn.sendMSS // dummy tcpinfo.Unacked = 0 // dummy tcpinfo.Sacked = 0 // dummy tcpinfo.Lost = 0 // dummy tcpinfo.Retrans = conn.reXmtCount tcpinfo.Fackets = 0 // dummy tcpinfo.Last_data_sent = uint32(*(*uint64)(unsafe.Pointer(&conn.lastActivity[0]))) tcpinfo.Last_ack_sent = uint32(*(*uint64)(unsafe.Pointer(&conn.outOldestTime[0]))) tcpinfo.Last_data_recv = uint32(*(*uint64)(unsafe.Pointer(&conn.inOldestTime[0]))) tcpinfo.Last_ack_recv = uint32(*(*uint64)(unsafe.Pointer(&conn.inOldestTime[0]))) tcpinfo.Pmtu = conn.sendMSS // dummy, NWMIfRouteMtu is a candidate tcpinfo.Rcv_ssthresh = conn.ssThresh tcpinfo.Rtt = conn.roundTripTime tcpinfo.Rttvar = conn.roundTripVar tcpinfo.Snd_ssthresh = conn.ssThresh // dummy tcpinfo.Snd_cwnd = conn.congestionWnd tcpinfo.Advmss = conn.sendMSS // dummy tcpinfo.Reordering = 0 // dummy tcpinfo.Rcv_rtt = conn.roundTripTime // dummy tcpinfo.Rcv_space = conn.sendMSS // dummy tcpinfo.Total_retrans = conn.reXmtCount svcUnload(&svcNameTable[svc_EZBNMIF4][0], EZBNMIF4) return &tcpinfo, nil } // GetsockoptString returns the string value of the socket option opt for the // socket associated with fd at the given socket level. func GetsockoptString(fd, level, opt int) (string, error) { buf := make([]byte, 256) vallen := _Socklen(len(buf)) err := getsockopt(fd, level, opt, unsafe.Pointer(&buf[0]), &vallen) if err != nil { return "", err } return ByteSliceToString(buf[:vallen]), nil } 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 = 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 { // TODO(neeilan): Remove 0 arg added to get this compiling on z/OS from, err = anyToSockaddr(0, &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 = int32(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 } func Opendir(name string) (uintptr, error) { p, err := BytePtrFromString(name) if err != nil { return 0, err } err = nil runtime.EnterSyscall() dir, e2, e1 := CallLeFuncWithPtrReturn(GetZosLibVec()+SYS___OPENDIR_A<<4, uintptr(unsafe.Pointer(p))) runtime.ExitSyscall() runtime.KeepAlive(unsafe.Pointer(p)) if dir == 0 { err = errnoErr2(e1, e2) } return dir, err } // clearsyscall.Errno resets the errno value to 0. func clearErrno() func Closedir(dir uintptr) error { runtime.EnterSyscall() r0, e2, e1 := CallLeFuncWithErr(GetZosLibVec()+SYS_CLOSEDIR<<4, dir) runtime.ExitSyscall() if r0 != 0 { return errnoErr2(e1, e2) } return nil } func Seekdir(dir uintptr, pos int) { runtime.EnterSyscall() CallLeFuncWithErr(GetZosLibVec()+SYS_SEEKDIR<<4, dir, uintptr(pos)) runtime.ExitSyscall() } func Telldir(dir uintptr) (int, error) { p, e2, e1 := CallLeFuncWithErr(GetZosLibVec()+SYS_TELLDIR<<4, dir) pos := int(p) if int64(p) == -1 { return pos, errnoErr2(e1, e2) } return pos, nil } // 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 { // struct flock is packed on z/OS. We can't emulate that in Go so // instead we pack it here. var flock [24]byte *(*int16)(unsafe.Pointer(&flock[0])) = lk.Type *(*int16)(unsafe.Pointer(&flock[2])) = lk.Whence *(*int64)(unsafe.Pointer(&flock[4])) = lk.Start *(*int64)(unsafe.Pointer(&flock[12])) = lk.Len *(*int32)(unsafe.Pointer(&flock[20])) = lk.Pid runtime.EnterSyscall() r0, e2, e1 := CallLeFuncWithErr(GetZosLibVec()+SYS_FCNTL<<4, fd, uintptr(cmd), uintptr(unsafe.Pointer(&flock))) runtime.ExitSyscall() lk.Type = *(*int16)(unsafe.Pointer(&flock[0])) lk.Whence = *(*int16)(unsafe.Pointer(&flock[2])) lk.Start = *(*int64)(unsafe.Pointer(&flock[4])) lk.Len = *(*int64)(unsafe.Pointer(&flock[12])) lk.Pid = *(*int32)(unsafe.Pointer(&flock[20])) if r0 == 0 { return nil } return errnoErr2(e1, e2) } func impl_Flock(fd int, how int) (err error) { runtime.EnterSyscall() r0, e2, e1 := CallLeFuncWithErr(GetZosLibVec()+SYS_FLOCK<<4, uintptr(fd), uintptr(how)) runtime.ExitSyscall() if int64(r0) == -1 { err = errnoErr2(e1, e2) } return } //go:nosplit func get_FlockAddr() *(func(fd int, how int) (err error)) var Flock = enter_Flock func validFlock(fp uintptr) bool { if funcptrtest(GetZosLibVec()+SYS_FLOCK<<4, "") == 0 { if name, err := getLeFuncName(GetZosLibVec() + SYS_FLOCK<<4); err == nil { return name == "flock" } } return false } func enter_Flock(fd int, how int) (err error) { funcref := get_FlockAddr() if validFlock(GetZosLibVec() + SYS_FLOCK<<4) { *funcref = impl_Flock } else { *funcref = legacyFlock } return (*funcref)(fd, how) } func legacyFlock(fd int, how int) error { var flock_type int16 var fcntl_cmd int switch how { case LOCK_SH | LOCK_NB: flock_type = F_RDLCK fcntl_cmd = F_SETLK case LOCK_EX | LOCK_NB: flock_type = F_WRLCK fcntl_cmd = F_SETLK case LOCK_EX: flock_type = F_WRLCK fcntl_cmd = F_SETLKW case LOCK_UN: flock_type = F_UNLCK fcntl_cmd = F_SETLKW default: } flock := Flock_t{ Type: int16(flock_type), Whence: int16(0), Start: int64(0), Len: int64(0), Pid: int32(Getppid()), } err := FcntlFlock(uintptr(fd), fcntl_cmd, &flock) return err } func Mlock(b []byte) (err error) { runtime.EnterSyscall() r0, e2, e1 := CallLeFuncWithErr(GetZosLibVec()+SYS___MLOCKALL<<4, _BPX_NONSWAP) runtime.ExitSyscall() if r0 != 0 { err = errnoErr2(e1, e2) } return } func Mlock2(b []byte, flags int) (err error) { runtime.EnterSyscall() r0, e2, e1 := CallLeFuncWithErr(GetZosLibVec()+SYS___MLOCKALL<<4, _BPX_NONSWAP) runtime.ExitSyscall() if r0 != 0 { err = errnoErr2(e1, e2) } return } func Mlockall(flags int) (err error) { runtime.EnterSyscall() r0, e2, e1 := CallLeFuncWithErr(GetZosLibVec()+SYS___MLOCKALL<<4, _BPX_NONSWAP) runtime.ExitSyscall() if r0 != 0 { err = errnoErr2(e1, e2) } return } func Munlock(b []byte) (err error) { runtime.EnterSyscall() r0, e2, e1 := CallLeFuncWithErr(GetZosLibVec()+SYS___MLOCKALL<<4, _BPX_SWAP) runtime.ExitSyscall() if r0 != 0 { err = errnoErr2(e1, e2) } return } func Munlockall() (err error) { runtime.EnterSyscall() r0, e2, e1 := CallLeFuncWithErr(GetZosLibVec()+SYS___MLOCKALL<<4, _BPX_SWAP) runtime.ExitSyscall() if r0 != 0 { err = errnoErr2(e1, e2) } return } func ClockGettime(clockid int32, ts *Timespec) error { var ticks_per_sec uint32 = 100 //TODO(kenan): value is currently hardcoded; need sysconf() call otherwise var nsec_per_sec int64 = 1000000000 if ts == nil { return EFAULT } if clockid == CLOCK_REALTIME || clockid == CLOCK_MONOTONIC { var nanotime int64 = runtime.Nanotime1() ts.Sec = nanotime / nsec_per_sec ts.Nsec = nanotime % nsec_per_sec } else if clockid == CLOCK_PROCESS_CPUTIME_ID || clockid == CLOCK_THREAD_CPUTIME_ID { var tm Tms _, err := Times(&tm) if err != nil { return EFAULT } ts.Sec = int64(tm.Utime / ticks_per_sec) ts.Nsec = int64(tm.Utime) * nsec_per_sec / int64(ticks_per_sec) } else { return EINVAL } return nil } // Chtag //go:nosplit func get_ChtagAddr() *(func(path string, ccsid uint64, textbit uint64) error) var Chtag = enter_Chtag func enter_Chtag(path string, ccsid uint64, textbit uint64) error { funcref := get_ChtagAddr() if validSetxattr() { *funcref = impl_Chtag } else { *funcref = legacy_Chtag } return (*funcref)(path, ccsid, textbit) } func legacy_Chtag(path string, ccsid uint64, textbit uint64) error { tag := ccsid<<16 | textbit<<15 var tag_buff [8]byte DecodeData(tag_buff[:], 8, tag) return Setxattr(path, "filetag", tag_buff[:], XATTR_REPLACE) } func impl_Chtag(path string, ccsid uint64, textbit uint64) error { tag := ccsid<<16 | textbit<<15 var tag_buff [4]byte DecodeData(tag_buff[:], 4, tag) return Setxattr(path, "system.filetag", tag_buff[:], XATTR_REPLACE) } // End of Chtag // Nanosleep //go:nosplit func get_NanosleepAddr() *(func(time *Timespec, leftover *Timespec) error) var Nanosleep = enter_Nanosleep func enter_Nanosleep(time *Timespec, leftover *Timespec) error { funcref := get_NanosleepAddr() if funcptrtest(GetZosLibVec()+SYS_NANOSLEEP<<4, "") == 0 { *funcref = impl_Nanosleep } else { *funcref = legacyNanosleep } return (*funcref)(time, leftover) } func impl_Nanosleep(time *Timespec, leftover *Timespec) error { runtime.EnterSyscall() r0, e2, e1 := CallLeFuncWithErr(GetZosLibVec()+SYS_NANOSLEEP<<4, uintptr(unsafe.Pointer(time)), uintptr(unsafe.Pointer(leftover))) runtime.ExitSyscall() if int64(r0) == -1 { return errnoErr2(e1, e2) } return nil } func legacyNanosleep(time *Timespec, leftover *Timespec) error { t0 := runtime.Nanotime1() var secrem uint32 var nsecrem uint32 total := time.Sec*1000000000 + time.Nsec elapsed := runtime.Nanotime1() - t0 var rv int32 var rc int32 var err error // repeatedly sleep for 1 second until less than 1 second left for total-elapsed > 1000000000 { rv, rc, _ = BpxCondTimedWait(uint32(1), uint32(0), uint32(CW_CONDVAR), &secrem, &nsecrem) if rv != 0 && rc != 112 { // 112 is EAGAIN if leftover != nil && rc == 120 { // 120 is EINTR leftover.Sec = int64(secrem) leftover.Nsec = int64(nsecrem) } err = Errno(rc) return err } elapsed = runtime.Nanotime1() - t0 } // sleep the remainder if total > elapsed { rv, rc, _ = BpxCondTimedWait(uint32(0), uint32(total-elapsed), uint32(CW_CONDVAR), &secrem, &nsecrem) } if leftover != nil && rc == 120 { leftover.Sec = int64(secrem) leftover.Nsec = int64(nsecrem) } if rv != 0 && rc != 112 { err = Errno(rc) } return err } // End of Nanosleep var ( Stdin = 0 Stdout = 1 Stderr = 2 ) // Do the interface allocations only once for common // Errno values. var ( errEAGAIN error = syscall.EAGAIN errEINVAL error = syscall.EINVAL errENOENT error = syscall.ENOENT ) var ZosTraceLevel int var ZosTracefile *os.File var ( signalNameMapOnce sync.Once signalNameMap map[string]syscall.Signal ) // errnoErr returns common boxed Errno values, to prevent // allocations at runtime. func errnoErr(e Errno) error { switch e { case 0: return nil case EAGAIN: return errEAGAIN case EINVAL: return errEINVAL case ENOENT: return errENOENT } return e } var reg *regexp.Regexp // enhanced with zos specific errno2 func errnoErr2(e Errno, e2 uintptr) error { switch e { case 0: return nil case EAGAIN: return errEAGAIN /* Allow the retrieval of errno2 for EINVAL and ENOENT on zos case EINVAL: return errEINVAL case ENOENT: return errENOENT */ } if ZosTraceLevel > 0 { var name string if reg == nil { reg = regexp.MustCompile("(^unix\\.[^/]+$|.*\\/unix\\.[^/]+$)") } i := 1 pc, file, line, ok := runtime.Caller(i) if ok { name = runtime.FuncForPC(pc).Name() } for ok && reg.MatchString(runtime.FuncForPC(pc).Name()) { i += 1 pc, file, line, ok = runtime.Caller(i) } if ok { if ZosTracefile == nil { ZosConsolePrintf("From %s:%d\n", file, line) ZosConsolePrintf("%s: %s (errno2=0x%x)\n", name, e.Error(), e2) } else { fmt.Fprintf(ZosTracefile, "From %s:%d\n", file, line) fmt.Fprintf(ZosTracefile, "%s: %s (errno2=0x%x)\n", name, e.Error(), e2) } } else { if ZosTracefile == nil { ZosConsolePrintf("%s (errno2=0x%x)\n", e.Error(), e2) } else { fmt.Fprintf(ZosTracefile, "%s (errno2=0x%x)\n", e.Error(), e2) } } } return e } // ErrnoName returns the error name for error number e. func ErrnoName(e Errno) string { i := sort.Search(len(errorList), func(i int) bool { return errorList[i].num >= e }) if i < len(errorList) && errorList[i].num == e { return errorList[i].name } return "" } // SignalName returns the signal name for signal number s. func SignalName(s syscall.Signal) string { i := sort.Search(len(signalList), func(i int) bool { return signalList[i].num >= s }) if i < len(signalList) && signalList[i].num == s { return signalList[i].name } return "" } // SignalNum returns the syscall.Signal for signal named s, // or 0 if a signal with such name is not found. // The signal name should start with "SIG". func SignalNum(s string) syscall.Signal { signalNameMapOnce.Do(func() { signalNameMap = make(map[string]syscall.Signal, len(signalList)) for _, signal := range signalList { signalNameMap[signal.name] = signal.num } }) return signalNameMap[s] } // clen returns the index of the first NULL byte in n or len(n) if n contains no NULL byte. func clen(n []byte) int { i := bytes.IndexByte(n, 0) if i == -1 { i = len(n) } return i } // 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 } // Set __MAP_64 by default flags |= __MAP_64 // 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 // Sockaddr represents a socket address. type Sockaddr interface { sockaddr() (ptr unsafe.Pointer, len _Socklen, err error) // lowercase; only we can define Sockaddrs } // SockaddrInet4 implements the Sockaddr interface for AF_INET type sockets. type SockaddrInet4 struct { Port int Addr [4]byte raw RawSockaddrInet4 } // SockaddrInet6 implements the Sockaddr interface for AF_INET6 type sockets. type SockaddrInet6 struct { Port int ZoneId uint32 Addr [16]byte raw RawSockaddrInet6 } // SockaddrUnix implements the Sockaddr interface for AF_UNIX type sockets. 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(fd, &rsa) } 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 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 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 } func GetsockoptLinger(fd, level, opt int) (*Linger, error) { var linger Linger vallen := _Socklen(SizeofLinger) err := getsockopt(fd, level, opt, unsafe.Pointer(&linger), &vallen) return &linger, err } func GetsockoptTimeval(fd, level, opt int) (*Timeval, error) { var tv Timeval vallen := _Socklen(unsafe.Sizeof(tv)) err := getsockopt(fd, level, opt, unsafe.Pointer(&tv), &vallen) return &tv, err } func GetsockoptUint64(fd, level, opt int) (value uint64, err error) { var n uint64 vallen := _Socklen(8) err = getsockopt(fd, level, opt, unsafe.Pointer(&n), &vallen) return 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(fd, &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) { var p unsafe.Pointer if len(s) > 0 { p = unsafe.Pointer(&[]byte(s)[0]) } return setsockopt(fd, level, opt, p, 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 SetsockoptUint64(fd, level, opt int, value uint64) (err error) { return setsockopt(fd, level, opt, unsafe.Pointer(&value), 8) } 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 } 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 } // Exec calls execve(2), which replaces the calling executable in the process // tree. argv0 should be the full path to an executable ("/bin/ls") and the // executable name should also be the first argument in argv (["ls", "-l"]). // envv are the environment variables that should be passed to the new // process (["USER=go", "PWD=/tmp"]). func Exec(argv0 string, argv []string, envv []string) error { return syscall.Exec(argv0, argv, envv) } func Getag(path string) (ccsid uint16, flag uint16, err error) { var val [8]byte sz, err := Getxattr(path, "ccsid", val[:]) if err != nil { return } ccsid = uint16(EncodeData(val[0:sz])) sz, err = Getxattr(path, "flags", val[:]) if err != nil { return } flag = uint16(EncodeData(val[0:sz]) >> 15) return } // Mount begin func impl_Mount(source string, target string, fstype string, flags uintptr, data string) (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 } var _p3 *byte _p3, err = BytePtrFromString(data) if err != nil { return } runtime.EnterSyscall() r0, e2, e1 := CallLeFuncWithErr(GetZosLibVec()+SYS___MOUNT1_A<<4, uintptr(unsafe.Pointer(_p0)), uintptr(unsafe.Pointer(_p1)), uintptr(unsafe.Pointer(_p2)), uintptr(flags), uintptr(unsafe.Pointer(_p3))) runtime.ExitSyscall() if int64(r0) == -1 { err = errnoErr2(e1, e2) } return } //go:nosplit func get_MountAddr() *(func(source string, target string, fstype string, flags uintptr, data string) (err error)) var Mount = enter_Mount func enter_Mount(source string, target string, fstype string, flags uintptr, data string) (err error) { funcref := get_MountAddr() if validMount() { *funcref = impl_Mount } else { *funcref = legacyMount } return (*funcref)(source, target, fstype, flags, data) } func legacyMount(source string, target string, fstype string, flags uintptr, data string) (err error) { if needspace := 8 - len(fstype); needspace <= 0 { fstype = fstype[0:8] } else { fstype += " "[0:needspace] } return mount_LE(target, source, fstype, uint32(flags), int32(len(data)), data) } func validMount() bool { if funcptrtest(GetZosLibVec()+SYS___MOUNT1_A<<4, "") == 0 { if name, err := getLeFuncName(GetZosLibVec() + SYS___MOUNT1_A<<4); err == nil { return name == "__mount1_a" } } return false } // Mount end // Unmount begin func impl_Unmount(target string, flags int) (err error) { var _p0 *byte _p0, err = BytePtrFromString(target) if err != nil { return } runtime.EnterSyscall() r0, e2, e1 := CallLeFuncWithErr(GetZosLibVec()+SYS___UMOUNT2_A<<4, uintptr(unsafe.Pointer(_p0)), uintptr(flags)) runtime.ExitSyscall() if int64(r0) == -1 { err = errnoErr2(e1, e2) } return } //go:nosplit func get_UnmountAddr() *(func(target string, flags int) (err error)) var Unmount = enter_Unmount func enter_Unmount(target string, flags int) (err error) { funcref := get_UnmountAddr() if funcptrtest(GetZosLibVec()+SYS___UMOUNT2_A<<4, "") == 0 { *funcref = impl_Unmount } else { *funcref = legacyUnmount } return (*funcref)(target, flags) } func legacyUnmount(name string, mtm int) (err error) { // mountpoint is always a full path and starts with a '/' // check if input string is not a mountpoint but a filesystem name if name[0] != '/' { return unmount_LE(name, mtm) } // treat name as mountpoint b2s := func(arr []byte) string { var str string for i := 0; i < len(arr); i++ { if arr[i] == 0 { str = string(arr[:i]) break } } return str } var buffer struct { header W_Mnth fsinfo [64]W_Mntent } fs_count, err := W_Getmntent_A((*byte)(unsafe.Pointer(&buffer)), int(unsafe.Sizeof(buffer))) if err == nil { err = EINVAL for i := 0; i < fs_count; i++ { if b2s(buffer.fsinfo[i].Mountpoint[:]) == name { err = unmount_LE(b2s(buffer.fsinfo[i].Fsname[:]), mtm) break } } } else if fs_count == 0 { err = EINVAL } return err } // Unmount end 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 } func direntLeToDirentUnix(dirent *direntLE, dir uintptr, path string) (Dirent, error) { var d Dirent d.Ino = uint64(dirent.Ino) offset, err := Telldir(dir) if err != nil { return d, err } d.Off = int64(offset) s := string(bytes.Split(dirent.Name[:], []byte{0})[0]) copy(d.Name[:], s) d.Reclen = uint16(24 + len(d.NameString())) var st Stat_t path = path + "/" + s err = Lstat(path, &st) if err != nil { return d, err } d.Type = uint8(st.Mode >> 24) return d, err } func Getdirentries(fd int, buf []byte, basep *uintptr) (n int, err error) { // Simulation of Getdirentries port from the Darwin implementation. // COMMENTS FROM DARWIN: // It's not the full required semantics, but should handle the case // of calling Getdirentries or ReadDirent repeatedly. // It won't handle assigning the results of lseek to *basep, or handle // the directory being edited underfoot. skip, err := Seek(fd, 0, 1 /* SEEK_CUR */) if err != nil { return 0, err } // Get path from fd to avoid unavailable call (fdopendir) path, err := ZosFdToPath(fd) if err != nil { return 0, err } d, err := Opendir(path) if err != nil { return 0, err } defer Closedir(d) var cnt int64 for { var entryLE direntLE var entrypLE *direntLE e := Readdir_r(d, &entryLE, &entrypLE) if e != nil { return n, e } if entrypLE == nil { break } if skip > 0 { skip-- cnt++ continue } // Dirent on zos has a different structure entry, e := direntLeToDirentUnix(&entryLE, d, path) if e != nil { return n, e } reclen := int(entry.Reclen) if reclen > len(buf) { // Not enough room. Return for now. // The counter will let us know where we should start up again. // Note: this strategy for suspending in the middle and // restarting is O(n^2) in the length of the directory. Oh well. break } // Copy entry into return buffer. s := unsafe.Slice((*byte)(unsafe.Pointer(&entry)), reclen) copy(buf, s) buf = buf[reclen:] n += reclen cnt++ } // Set the seek offset of the input fd to record // how many files we've already returned. _, err = Seek(fd, cnt, 0 /* SEEK_SET */) if err != nil { return n, err } return n, nil } func Err2ad() (eadd *int) { r0, _, _ := CallLeFuncWithErr(GetZosLibVec() + SYS___ERR2AD<<4) eadd = (*int)(unsafe.Pointer(r0)) return } func ZosConsolePrintf(format string, v ...interface{}) (int, error) { type __cmsg struct { _ uint16 _ [2]uint8 __msg_length uint32 __msg uintptr _ [4]uint8 } msg := fmt.Sprintf(format, v...) strptr := unsafe.Pointer((*reflect.StringHeader)(unsafe.Pointer(&msg)).Data) len := (*reflect.StringHeader)(unsafe.Pointer(&msg)).Len cmsg := __cmsg{__msg_length: uint32(len), __msg: uintptr(strptr)} cmd := uint32(0) runtime.EnterSyscall() rc, err2, err1 := CallLeFuncWithErr(GetZosLibVec()+SYS_____CONSOLE_A<<4, uintptr(unsafe.Pointer(&cmsg)), 0, uintptr(unsafe.Pointer(&cmd))) runtime.ExitSyscall() if rc != 0 { return 0, fmt.Errorf("%s (errno2=0x%x)\n", err1.Error(), err2) } return 0, nil } func ZosStringToEbcdicBytes(str string, nullterm bool) (ebcdicBytes []byte) { if nullterm { ebcdicBytes = []byte(str + "\x00") } else { ebcdicBytes = []byte(str) } A2e(ebcdicBytes) return } func ZosEbcdicBytesToString(b []byte, trimRight bool) (str string) { res := make([]byte, len(b)) copy(res, b) E2a(res) if trimRight { str = string(bytes.TrimRight(res, " \x00")) } else { str = string(res) } return } func fdToPath(dirfd int) (path string, err error) { var buffer [1024]byte // w_ctrl() ret := runtime.CallLeFuncByPtr(runtime.XplinkLibvec+SYS_W_IOCTL<<4, []uintptr{uintptr(dirfd), 17, 1024, uintptr(unsafe.Pointer(&buffer[0]))}) if ret == 0 { zb := bytes.IndexByte(buffer[:], 0) if zb == -1 { zb = len(buffer) } // __e2a_l() runtime.CallLeFuncByPtr(runtime.XplinkLibvec+SYS___E2A_L<<4, []uintptr{uintptr(unsafe.Pointer(&buffer[0])), uintptr(zb)}) return string(buffer[:zb]), nil } // __errno() errno := int(*(*int32)(unsafe.Pointer(runtime.CallLeFuncByPtr(runtime.XplinkLibvec+SYS___ERRNO<<4, []uintptr{})))) // __errno2() errno2 := int(runtime.CallLeFuncByPtr(runtime.XplinkLibvec+SYS___ERRNO2<<4, []uintptr{})) // strerror_r() ret = runtime.CallLeFuncByPtr(runtime.XplinkLibvec+SYS_STRERROR_R<<4, []uintptr{uintptr(errno), uintptr(unsafe.Pointer(&buffer[0])), 1024}) if ret == 0 { zb := bytes.IndexByte(buffer[:], 0) if zb == -1 { zb = len(buffer) } return "", fmt.Errorf("%s (errno2=0x%x)", buffer[:zb], errno2) } else { return "", fmt.Errorf("fdToPath errno %d (errno2=0x%x)", errno, errno2) } } func impl_Mkfifoat(dirfd int, path string, mode uint32) (err error) { var _p0 *byte _p0, err = BytePtrFromString(path) if err != nil { return } runtime.EnterSyscall() r0, e2, e1 := CallLeFuncWithErr(GetZosLibVec()+SYS___MKFIFOAT_A<<4, uintptr(dirfd), uintptr(unsafe.Pointer(_p0)), uintptr(mode)) runtime.ExitSyscall() if int64(r0) == -1 { err = errnoErr2(e1, e2) } return } //go:nosplit func get_MkfifoatAddr() *(func(dirfd int, path string, mode uint32) (err error)) var Mkfifoat = enter_Mkfifoat func enter_Mkfifoat(dirfd int, path string, mode uint32) (err error) { funcref := get_MkfifoatAddr() if funcptrtest(GetZosLibVec()+SYS___MKFIFOAT_A<<4, "") == 0 { *funcref = impl_Mkfifoat } else { *funcref = legacy_Mkfifoat } return (*funcref)(dirfd, path, mode) } func legacy_Mkfifoat(dirfd int, path string, mode uint32) (err error) { dirname, err := ZosFdToPath(dirfd) if err != nil { return err } return Mkfifo(dirname+"/"+path, mode) } //sys Posix_openpt(oflag int) (fd int, err error) = SYS_POSIX_OPENPT //sys Grantpt(fildes int) (rc int, err error) = SYS_GRANTPT //sys Unlockpt(fildes int) (rc int, err error) = SYS_UNLOCKPT dependencies/pkg/mod/golang.org/x/sys@v0.26.0/unix/zsysnum_darwin_arm64.go0000644000000000000000000004341515107355264025254 0ustar rootroot// go run mksysnum.go /Applications/Xcode.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS11.1.sdk/usr/include/sys/syscall.h // Code generated by the command above; see README.md. DO NOT EDIT. //go:build arm64 && darwin package unix // Deprecated: Use libSystem wrappers instead of direct syscalls. 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_TYPEFILTER = 177 SYS_KDEBUG_TRACE_STRING = 178 SYS_KDEBUG_TRACE64 = 179 SYS_KDEBUG_TRACE = 180 SYS_SETGID = 181 SYS_SETEGID = 182 SYS_SETEUID = 183 SYS_SIGRETURN = 184 SYS_THREAD_SELFCOUNTS = 186 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_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_KEVENT_QOS = 374 SYS_KEVENT_ID = 375 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_PSELECT = 394 SYS_PSELECT_NOCANCEL = 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_USRCTL = 445 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_CLONEFILEAT = 462 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_RENAMEATX_NP = 488 SYS_MREMAP_ENCRYPTED = 489 SYS_NETAGENT_TRIGGER = 490 SYS_STACK_SNAPSHOT_WITH_CONFIG = 491 SYS_MICROSTACKSHOT = 492 SYS_GRAB_PGO_DATA = 493 SYS_PERSONA = 494 SYS_WORK_INTERVAL_CTL = 499 SYS_GETENTROPY = 500 SYS_NECP_OPEN = 501 SYS_NECP_CLIENT_ACTION = 502 SYS___NEXUS_OPEN = 503 SYS___NEXUS_REGISTER = 504 SYS___NEXUS_DEREGISTER = 505 SYS___NEXUS_CREATE = 506 SYS___NEXUS_DESTROY = 507 SYS___NEXUS_GET_OPT = 508 SYS___NEXUS_SET_OPT = 509 SYS___CHANNEL_OPEN = 510 SYS___CHANNEL_GET_INFO = 511 SYS___CHANNEL_SYNC = 512 SYS___CHANNEL_GET_OPT = 513 SYS___CHANNEL_SET_OPT = 514 SYS_ULOCK_WAIT = 515 SYS_ULOCK_WAKE = 516 SYS_FCLONEFILEAT = 517 SYS_FS_SNAPSHOT = 518 SYS_TERMINATE_WITH_PAYLOAD = 520 SYS_ABORT_WITH_PAYLOAD = 521 SYS_NECP_SESSION_OPEN = 522 SYS_NECP_SESSION_ACTION = 523 SYS_SETATTRLISTAT = 524 SYS_NET_QOS_GUIDELINE = 525 SYS_FMOUNT = 526 SYS_NTP_ADJTIME = 527 SYS_NTP_GETTIME = 528 SYS_OS_FAULT_WITH_PAYLOAD = 529 SYS_MAXSYSCALL = 530 SYS_INVALID = 63 ) dependencies/pkg/mod/golang.org/x/sys@v0.26.0/unix/asm_openbsd_mips64.s0000644000000000000000000000124515107355264024473 0ustar rootroot// Copyright 2019 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:build gc #include "textflag.h" // // System call support for mips64, 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) dependencies/pkg/mod/golang.org/x/sys@v0.26.0/unix/zsysnum_netbsd_amd64.go0000644000000000000000000006335015107355264025231 0ustar rootroot// go run mksysnum.go http://cvsweb.netbsd.org/bsdweb.cgi/~checkout~/src/sys/kern/syscalls.master // Code generated by the command above; see README.md. DO NOT EDIT. //go: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_MSYNC = 277 // { int|sys|13|msync(void *addr, size_t len, int flags); } 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); } ) dependencies/pkg/mod/golang.org/x/sys@v0.26.0/unix/zerrors_linux_ppc.go0000644000000000000000000011212315107355264024727 0ustar rootroot// mkerrors.sh -Wall -Werror -static -I/tmp/ppc/include // Code generated by the command above; see README.md. DO NOT EDIT. //go:build ppc && linux // Code generated by cmd/cgo -godefs; DO NOT EDIT. // cgo -godefs -- -Wall -Werror -static -I/tmp/ppc/include _const.go package unix import "syscall" const ( B1000000 = 0x17 B115200 = 0x11 B1152000 = 0x18 B1500000 = 0x19 B2000000 = 0x1a B230400 = 0x12 B2500000 = 0x1b B3000000 = 0x1c B3500000 = 0x1d B4000000 = 0x1e B460800 = 0x13 B500000 = 0x14 B57600 = 0x10 B576000 = 0x15 B921600 = 0x16 BLKALIGNOFF = 0x2000127a BLKBSZGET = 0x40041270 BLKBSZSET = 0x80041271 BLKDISCARD = 0x20001277 BLKDISCARDZEROES = 0x2000127c BLKFLSBUF = 0x20001261 BLKFRAGET = 0x20001265 BLKFRASET = 0x20001264 BLKGETDISKSEQ = 0x40081280 BLKGETSIZE = 0x20001260 BLKGETSIZE64 = 0x40041272 BLKIOMIN = 0x20001278 BLKIOOPT = 0x20001279 BLKPBSZGET = 0x2000127b BLKRAGET = 0x20001263 BLKRASET = 0x20001262 BLKROGET = 0x2000125e BLKROSET = 0x2000125d BLKROTATIONAL = 0x2000127e BLKRRPART = 0x2000125f BLKSECDISCARD = 0x2000127d BLKSECTGET = 0x20001267 BLKSECTSET = 0x20001266 BLKSSZGET = 0x20001268 BLKZEROOUT = 0x2000127f BOTHER = 0x1f BS1 = 0x8000 BSDLY = 0x8000 CBAUD = 0xff CBAUDEX = 0x0 CIBAUD = 0xff0000 CLOCAL = 0x8000 CR1 = 0x1000 CR2 = 0x2000 CR3 = 0x3000 CRDLY = 0x3000 CREAD = 0x800 CS6 = 0x100 CS7 = 0x200 CS8 = 0x300 CSIZE = 0x300 CSTOPB = 0x400 ECCGETLAYOUT = 0x41484d11 ECCGETSTATS = 0x40104d12 ECHOCTL = 0x40 ECHOE = 0x2 ECHOK = 0x4 ECHOKE = 0x1 ECHONL = 0x10 ECHOPRT = 0x20 EFD_CLOEXEC = 0x80000 EFD_NONBLOCK = 0x800 EPIOCGPARAMS = 0x40088a02 EPIOCSPARAMS = 0x80088a01 EPOLL_CLOEXEC = 0x80000 EXTPROC = 0x10000000 FF1 = 0x4000 FFDLY = 0x4000 FICLONE = 0x80049409 FICLONERANGE = 0x8020940d FLUSHO = 0x800000 FS_IOC_ENABLE_VERITY = 0x80806685 FS_IOC_GETFLAGS = 0x40046601 FS_IOC_GET_ENCRYPTION_NONCE = 0x4010661b FS_IOC_GET_ENCRYPTION_POLICY = 0x800c6615 FS_IOC_GET_ENCRYPTION_PWSALT = 0x80106614 FS_IOC_SETFLAGS = 0x80046602 FS_IOC_SET_ENCRYPTION_POLICY = 0x400c6613 F_GETLK = 0xc F_GETLK64 = 0xc F_GETOWN = 0x9 F_RDLCK = 0x0 F_SETLK = 0xd F_SETLK64 = 0xd F_SETLKW = 0xe F_SETLKW64 = 0xe F_SETOWN = 0x8 F_UNLCK = 0x2 F_WRLCK = 0x1 HIDIOCGRAWINFO = 0x40084803 HIDIOCGRDESC = 0x50044802 HIDIOCGRDESCSIZE = 0x40044801 HUPCL = 0x4000 ICANON = 0x100 IEXTEN = 0x400 IN_CLOEXEC = 0x80000 IN_NONBLOCK = 0x800 IOCTL_VM_SOCKETS_GET_LOCAL_CID = 0x200007b9 ISIG = 0x80 IUCLC = 0x1000 IXOFF = 0x400 IXON = 0x200 MAP_ANON = 0x20 MAP_ANONYMOUS = 0x20 MAP_DENYWRITE = 0x800 MAP_EXECUTABLE = 0x1000 MAP_GROWSDOWN = 0x100 MAP_HUGETLB = 0x40000 MAP_LOCKED = 0x80 MAP_NONBLOCK = 0x10000 MAP_NORESERVE = 0x40 MAP_POPULATE = 0x8000 MAP_STACK = 0x20000 MAP_SYNC = 0x80000 MCL_CURRENT = 0x2000 MCL_FUTURE = 0x4000 MCL_ONFAULT = 0x8000 MEMERASE = 0x80084d02 MEMERASE64 = 0x80104d14 MEMGETBADBLOCK = 0x80084d0b MEMGETINFO = 0x40204d01 MEMGETOOBSEL = 0x40c84d0a MEMGETREGIONCOUNT = 0x40044d07 MEMISLOCKED = 0x40084d17 MEMLOCK = 0x80084d05 MEMREAD = 0xc0404d1a MEMREADOOB = 0xc00c4d04 MEMSETBADBLOCK = 0x80084d0c MEMUNLOCK = 0x80084d06 MEMWRITEOOB = 0xc00c4d03 MTDFILEMODE = 0x20004d13 NFDBITS = 0x20 NL2 = 0x200 NL3 = 0x300 NLDLY = 0x300 NOFLSH = 0x80000000 NS_GET_MNTNS_ID = 0x4008b705 NS_GET_NSTYPE = 0x2000b703 NS_GET_OWNER_UID = 0x2000b704 NS_GET_PARENT = 0x2000b702 NS_GET_PID_FROM_PIDNS = 0x4004b706 NS_GET_PID_IN_PIDNS = 0x4004b708 NS_GET_TGID_FROM_PIDNS = 0x4004b707 NS_GET_TGID_IN_PIDNS = 0x4004b709 NS_GET_USERNS = 0x2000b701 OLCUC = 0x4 ONLCR = 0x2 OTPERASE = 0x800c4d19 OTPGETREGIONCOUNT = 0x80044d0e OTPGETREGIONINFO = 0x800c4d0f OTPLOCK = 0x400c4d10 OTPSELECT = 0x40044d0d 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 = 0x10000 O_NDELAY = 0x800 O_NOATIME = 0x40000 O_NOCTTY = 0x100 O_NOFOLLOW = 0x8000 O_NONBLOCK = 0x800 O_PATH = 0x200000 O_RSYNC = 0x101000 O_SYNC = 0x101000 O_TMPFILE = 0x404000 O_TRUNC = 0x200 PARENB = 0x1000 PARODD = 0x2000 PENDIN = 0x20000000 PERF_EVENT_IOC_DISABLE = 0x20002401 PERF_EVENT_IOC_ENABLE = 0x20002400 PERF_EVENT_IOC_ID = 0x40042407 PERF_EVENT_IOC_MODIFY_ATTRIBUTES = 0x8004240b PERF_EVENT_IOC_PAUSE_OUTPUT = 0x80042409 PERF_EVENT_IOC_PERIOD = 0x80082404 PERF_EVENT_IOC_QUERY_BPF = 0xc004240a PERF_EVENT_IOC_REFRESH = 0x20002402 PERF_EVENT_IOC_RESET = 0x20002403 PERF_EVENT_IOC_SET_BPF = 0x80042408 PERF_EVENT_IOC_SET_FILTER = 0x80042406 PERF_EVENT_IOC_SET_OUTPUT = 0x20002405 PPPIOCATTACH = 0x8004743d PPPIOCATTCHAN = 0x80047438 PPPIOCBRIDGECHAN = 0x80047435 PPPIOCCONNECT = 0x8004743a PPPIOCDETACH = 0x8004743c PPPIOCDISCONN = 0x20007439 PPPIOCGASYNCMAP = 0x40047458 PPPIOCGCHAN = 0x40047437 PPPIOCGDEBUG = 0x40047441 PPPIOCGFLAGS = 0x4004745a PPPIOCGIDLE = 0x4008743f PPPIOCGIDLE32 = 0x4008743f PPPIOCGIDLE64 = 0x4010743f PPPIOCGL2TPSTATS = 0x40487436 PPPIOCGMRU = 0x40047453 PPPIOCGRASYNCMAP = 0x40047455 PPPIOCGUNIT = 0x40047456 PPPIOCGXASYNCMAP = 0x40207450 PPPIOCSACTIVE = 0x80087446 PPPIOCSASYNCMAP = 0x80047457 PPPIOCSCOMPRESS = 0x800c744d PPPIOCSDEBUG = 0x80047440 PPPIOCSFLAGS = 0x80047459 PPPIOCSMAXCID = 0x80047451 PPPIOCSMRRU = 0x8004743b PPPIOCSMRU = 0x80047452 PPPIOCSNPMODE = 0x8008744b PPPIOCSPASS = 0x80087447 PPPIOCSRASYNCMAP = 0x80047454 PPPIOCSXASYNCMAP = 0x8020744f PPPIOCUNBRIDGECHAN = 0x20007434 PPPIOCXFERUNIT = 0x2000744e PROT_SAO = 0x10 PR_SET_PTRACER_ANY = 0xffffffff PTRACE_GETEVRREGS = 0x14 PTRACE_GETFPREGS = 0xe PTRACE_GETREGS64 = 0x16 PTRACE_GETVRREGS = 0x12 PTRACE_GETVSRREGS = 0x1b PTRACE_GET_DEBUGREG = 0x19 PTRACE_SETEVRREGS = 0x15 PTRACE_SETFPREGS = 0xf PTRACE_SETREGS64 = 0x17 PTRACE_SETVRREGS = 0x13 PTRACE_SETVSRREGS = 0x1c PTRACE_SET_DEBUGREG = 0x1a PTRACE_SINGLEBLOCK = 0x100 PTRACE_SYSEMU = 0x1d PTRACE_SYSEMU_SINGLESTEP = 0x1e PT_CCR = 0x26 PT_CTR = 0x23 PT_DAR = 0x29 PT_DSCR = 0x2c PT_DSISR = 0x2a PT_FPR0 = 0x30 PT_FPR31 = 0x6e PT_FPSCR = 0x71 PT_LNK = 0x24 PT_MQ = 0x27 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_TRAP = 0x28 PT_XER = 0x25 RLIMIT_AS = 0x9 RLIMIT_MEMLOCK = 0x8 RLIMIT_NOFILE = 0x7 RLIMIT_NPROC = 0x6 RLIMIT_RSS = 0x5 RNDADDENTROPY = 0x80085203 RNDADDTOENTCNT = 0x80045201 RNDCLEARPOOL = 0x20005206 RNDGETENTCNT = 0x40045200 RNDGETPOOL = 0x40085202 RNDRESEEDCRNG = 0x20005207 RNDZAPENTCNT = 0x20005204 RTC_AIE_OFF = 0x20007002 RTC_AIE_ON = 0x20007001 RTC_ALM_READ = 0x40247008 RTC_ALM_SET = 0x80247007 RTC_EPOCH_READ = 0x4004700d RTC_EPOCH_SET = 0x8004700e RTC_IRQP_READ = 0x4004700b RTC_IRQP_SET = 0x8004700c RTC_PARAM_GET = 0x80187013 RTC_PARAM_SET = 0x80187014 RTC_PIE_OFF = 0x20007006 RTC_PIE_ON = 0x20007005 RTC_PLL_GET = 0x401c7011 RTC_PLL_SET = 0x801c7012 RTC_RD_TIME = 0x40247009 RTC_SET_TIME = 0x8024700a RTC_UIE_OFF = 0x20007004 RTC_UIE_ON = 0x20007003 RTC_VL_CLR = 0x20007014 RTC_VL_READ = 0x40047013 RTC_WIE_OFF = 0x20007010 RTC_WIE_ON = 0x2000700f RTC_WKALM_RD = 0x40287010 RTC_WKALM_SET = 0x8028700f SCM_TIMESTAMPING = 0x25 SCM_TIMESTAMPING_OPT_STATS = 0x36 SCM_TIMESTAMPING_PKTINFO = 0x3a SCM_TIMESTAMPNS = 0x23 SCM_TXTIME = 0x3d SCM_WIFI_STATUS = 0x29 SECCOMP_IOCTL_NOTIF_ADDFD = 0x80182103 SECCOMP_IOCTL_NOTIF_ID_VALID = 0x80082102 SECCOMP_IOCTL_NOTIF_SET_FLAGS = 0x80082104 SFD_CLOEXEC = 0x80000 SFD_NONBLOCK = 0x800 SIOCATMARK = 0x8905 SIOCGPGRP = 0x8904 SIOCGSTAMPNS_NEW = 0x40108907 SIOCGSTAMP_NEW = 0x40108906 SIOCINQ = 0x4004667f SIOCOUTQ = 0x40047473 SIOCSPGRP = 0x8902 SOCK_CLOEXEC = 0x80000 SOCK_DGRAM = 0x2 SOCK_NONBLOCK = 0x800 SOCK_STREAM = 0x1 SOL_SOCKET = 0x1 SO_ACCEPTCONN = 0x1e SO_ATTACH_BPF = 0x32 SO_ATTACH_REUSEPORT_CBPF = 0x33 SO_ATTACH_REUSEPORT_EBPF = 0x34 SO_BINDTODEVICE = 0x19 SO_BINDTOIFINDEX = 0x3e SO_BPF_EXTENSIONS = 0x30 SO_BROADCAST = 0x6 SO_BSDCOMPAT = 0xe SO_BUF_LOCK = 0x48 SO_BUSY_POLL = 0x2e SO_BUSY_POLL_BUDGET = 0x46 SO_CNX_ADVICE = 0x35 SO_COOKIE = 0x39 SO_DETACH_REUSEPORT_BPF = 0x44 SO_DOMAIN = 0x27 SO_DONTROUTE = 0x5 SO_ERROR = 0x4 SO_INCOMING_CPU = 0x31 SO_INCOMING_NAPI_ID = 0x38 SO_KEEPALIVE = 0x9 SO_LINGER = 0xd SO_LOCK_FILTER = 0x2c SO_MARK = 0x24 SO_MAX_PACING_RATE = 0x2f SO_MEMINFO = 0x37 SO_NETNS_COOKIE = 0x47 SO_NOFCS = 0x2b SO_OOBINLINE = 0xa SO_PASSCRED = 0x14 SO_PASSPIDFD = 0x4c SO_PASSSEC = 0x22 SO_PEEK_OFF = 0x2a SO_PEERCRED = 0x15 SO_PEERGROUPS = 0x3b SO_PEERPIDFD = 0x4d SO_PEERSEC = 0x1f SO_PREFER_BUSY_POLL = 0x45 SO_PROTOCOL = 0x26 SO_RCVBUF = 0x8 SO_RCVBUFFORCE = 0x21 SO_RCVLOWAT = 0x10 SO_RCVMARK = 0x4b SO_RCVTIMEO = 0x12 SO_RCVTIMEO_NEW = 0x42 SO_RCVTIMEO_OLD = 0x12 SO_RESERVE_MEM = 0x49 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_SNDTIMEO_NEW = 0x43 SO_SNDTIMEO_OLD = 0x13 SO_TIMESTAMPING = 0x25 SO_TIMESTAMPING_NEW = 0x41 SO_TIMESTAMPING_OLD = 0x25 SO_TIMESTAMPNS = 0x23 SO_TIMESTAMPNS_NEW = 0x40 SO_TIMESTAMPNS_OLD = 0x23 SO_TIMESTAMP_NEW = 0x3f SO_TXREHASH = 0x4a SO_TXTIME = 0x3d SO_TYPE = 0x3 SO_WIFI_STATUS = 0x29 SO_ZEROCOPY = 0x3c TAB1 = 0x400 TAB2 = 0x800 TAB3 = 0xc00 TABDLY = 0xc00 TCFLSH = 0x2000741f TCGETA = 0x40147417 TCGETS = 0x402c7413 TCSAFLUSH = 0x2 TCSBRK = 0x2000741d TCSBRKP = 0x5425 TCSETA = 0x80147418 TCSETAF = 0x8014741c TCSETAW = 0x80147419 TCSETS = 0x802c7414 TCSETSF = 0x802c7416 TCSETSW = 0x802c7415 TCXONC = 0x2000741e TFD_CLOEXEC = 0x80000 TFD_NONBLOCK = 0x800 TIOCCBRK = 0x5428 TIOCCONS = 0x541d TIOCEXCL = 0x540c TIOCGDEV = 0x40045432 TIOCGETC = 0x40067412 TIOCGETD = 0x5424 TIOCGETP = 0x40067408 TIOCGEXCL = 0x40045440 TIOCGICOUNT = 0x545d TIOCGISO7816 = 0x40285442 TIOCGLCKTRMIOS = 0x5456 TIOCGLTC = 0x40067474 TIOCGPGRP = 0x40047477 TIOCGPKT = 0x40045438 TIOCGPTLCK = 0x40045439 TIOCGPTN = 0x40045430 TIOCGPTPEER = 0x20005441 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_LOOP = 0x8000 TIOCM_OUT1 = 0x2000 TIOCM_OUT2 = 0x4000 TIOCM_RI = 0x80 TIOCM_RNG = 0x80 TIOCM_SR = 0x10 TIOCM_ST = 0x8 TIOCNOTTY = 0x5422 TIOCNXCL = 0x540d TIOCOUTQ = 0x40047473 TIOCPKT = 0x5420 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 TIOCSISO7816 = 0xc0285443 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 = 0x800854d5 TUNDETACHFILTER = 0x800854d6 TUNGETDEVNETNS = 0x200054e3 TUNGETFEATURES = 0x400454cf TUNGETFILTER = 0x400854db TUNGETIFF = 0x400454d2 TUNGETSNDBUF = 0x400454d3 TUNGETVNETBE = 0x400454df TUNGETVNETHDRSZ = 0x400454d7 TUNGETVNETLE = 0x400454dd TUNSETCARRIER = 0x800454e2 TUNSETDEBUG = 0x800454c9 TUNSETFILTEREBPF = 0x400454e1 TUNSETGROUP = 0x800454ce TUNSETIFF = 0x800454ca TUNSETIFINDEX = 0x800454da TUNSETLINK = 0x800454cd TUNSETNOCSUM = 0x800454c8 TUNSETOFFLOAD = 0x800454d0 TUNSETOWNER = 0x800454cc TUNSETPERSIST = 0x800454cb TUNSETQUEUE = 0x800454d9 TUNSETSNDBUF = 0x800454d4 TUNSETSTEERINGEBPF = 0x400454e0 TUNSETTXFILTER = 0x800454d1 TUNSETVNETBE = 0x800454de TUNSETVNETHDRSZ = 0x800454d8 TUNSETVNETLE = 0x800454dc UBI_IOCATT = 0x80186f40 UBI_IOCDET = 0x80046f41 UBI_IOCEBCH = 0x80044f02 UBI_IOCEBER = 0x80044f01 UBI_IOCEBISMAP = 0x40044f05 UBI_IOCEBMAP = 0x80084f03 UBI_IOCEBUNMAP = 0x80044f04 UBI_IOCMKVOL = 0x80986f00 UBI_IOCRMVOL = 0x80046f01 UBI_IOCRNVOL = 0x91106f03 UBI_IOCRPEB = 0x80046f04 UBI_IOCRSVOL = 0x800c6f02 UBI_IOCSETVOLPROP = 0x80104f06 UBI_IOCSPEB = 0x80046f05 UBI_IOCVOLCRBLK = 0x80804f07 UBI_IOCVOLRMBLK = 0x20004f08 UBI_IOCVOLUP = 0x80084f00 VDISCARD = 0x10 VEOF = 0x4 VEOL = 0x6 VEOL2 = 0x8 VMIN = 0x5 VREPRINT = 0xb VSTART = 0xd VSTOP = 0xe VSUSP = 0xc VSWTC = 0x9 VT1 = 0x10000 VTDLY = 0x10000 VTIME = 0x7 VWERASE = 0xa WDIOC_GETBOOTSTATUS = 0x40045702 WDIOC_GETPRETIMEOUT = 0x40045709 WDIOC_GETSTATUS = 0x40045701 WDIOC_GETSUPPORT = 0x40285700 WDIOC_GETTEMP = 0x40045703 WDIOC_GETTIMELEFT = 0x4004570a WDIOC_GETTIMEOUT = 0x40045707 WDIOC_KEEPALIVE = 0x40045705 WDIOC_SETOPTIONS = 0x40045704 WORDSIZE = 0x20 XCASE = 0x4000 XTABS = 0xc00 _HIDIOCGRAWNAME = 0x40804804 _HIDIOCGRAWPHYS = 0x40404805 _HIDIOCGRAWUNIQ = 0x40404808 ) // Errors const ( EADDRINUSE = syscall.Errno(0x62) EADDRNOTAVAIL = syscall.Errno(0x63) EADV = syscall.Errno(0x44) EAFNOSUPPORT = syscall.Errno(0x61) EALREADY = syscall.Errno(0x72) EBADE = syscall.Errno(0x34) EBADFD = syscall.Errno(0x4d) EBADMSG = syscall.Errno(0x4a) EBADR = syscall.Errno(0x35) EBADRQC = syscall.Errno(0x38) EBADSLT = syscall.Errno(0x39) EBFONT = syscall.Errno(0x3b) ECANCELED = syscall.Errno(0x7d) 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) EDOTDOT = syscall.Errno(0x49) EDQUOT = syscall.Errno(0x7a) EHOSTDOWN = syscall.Errno(0x70) EHOSTUNREACH = syscall.Errno(0x71) EHWPOISON = syscall.Errno(0x85) EIDRM = syscall.Errno(0x2b) EILSEQ = syscall.Errno(0x54) EINPROGRESS = syscall.Errno(0x73) EISCONN = syscall.Errno(0x6a) 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) 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) ENOANO = syscall.Errno(0x37) ENOBUFS = syscall.Errno(0x69) ENOCSI = syscall.Errno(0x32) ENODATA = syscall.Errno(0x3d) ENOKEY = syscall.Errno(0x7e) ENOLCK = syscall.Errno(0x25) ENOLINK = syscall.Errno(0x43) ENOMEDIUM = syscall.Errno(0x7b) ENOMSG = syscall.Errno(0x2a) ENONET = syscall.Errno(0x40) ENOPKG = syscall.Errno(0x41) ENOPROTOOPT = syscall.Errno(0x5c) ENOSR = syscall.Errno(0x3f) ENOSTR = syscall.Errno(0x3c) ENOSYS = syscall.Errno(0x26) ENOTCONN = syscall.Errno(0x6b) ENOTEMPTY = syscall.Errno(0x27) ENOTNAM = syscall.Errno(0x76) ENOTRECOVERABLE = syscall.Errno(0x83) ENOTSOCK = syscall.Errno(0x58) ENOTSUP = syscall.Errno(0x5f) ENOTUNIQ = syscall.Errno(0x4c) EOPNOTSUPP = syscall.Errno(0x5f) EOVERFLOW = syscall.Errno(0x4b) EOWNERDEAD = syscall.Errno(0x82) EPFNOSUPPORT = syscall.Errno(0x60) EPROTO = syscall.Errno(0x47) EPROTONOSUPPORT = syscall.Errno(0x5d) EPROTOTYPE = syscall.Errno(0x5b) EREMCHG = syscall.Errno(0x4e) EREMOTE = syscall.Errno(0x42) EREMOTEIO = syscall.Errno(0x79) ERESTART = syscall.Errno(0x55) ERFKILL = syscall.Errno(0x84) ESHUTDOWN = syscall.Errno(0x6c) ESOCKTNOSUPPORT = syscall.Errno(0x5e) ESRMNT = syscall.Errno(0x45) ESTALE = syscall.Errno(0x74) ESTRPIPE = syscall.Errno(0x56) ETIME = syscall.Errno(0x3e) ETIMEDOUT = syscall.Errno(0x6e) ETOOMANYREFS = syscall.Errno(0x6d) EUCLEAN = syscall.Errno(0x75) EUNATCH = syscall.Errno(0x31) EUSERS = syscall.Errno(0x57) EXFULL = syscall.Errno(0x36) ) // Signals const ( SIGBUS = syscall.Signal(0x7) SIGCHLD = syscall.Signal(0x11) SIGCLD = syscall.Signal(0x11) SIGCONT = syscall.Signal(0x12) SIGIO = syscall.Signal(0x1d) SIGPOLL = syscall.Signal(0x1d) SIGPROF = syscall.Signal(0x1b) SIGPWR = syscall.Signal(0x1e) SIGSTKFLT = syscall.Signal(0x10) SIGSTOP = syscall.Signal(0x13) SIGSYS = syscall.Signal(0x1f) SIGTSTP = syscall.Signal(0x14) SIGTTIN = syscall.Signal(0x15) SIGTTOU = syscall.Signal(0x16) 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 errorList = [...]struct { num syscall.Errno name string desc string }{ {1, "EPERM", "operation not permitted"}, {2, "ENOENT", "no such file or directory"}, {3, "ESRCH", "no such process"}, {4, "EINTR", "interrupted system call"}, {5, "EIO", "input/output error"}, {6, "ENXIO", "no such device or address"}, {7, "E2BIG", "argument list too long"}, {8, "ENOEXEC", "exec format error"}, {9, "EBADF", "bad file descriptor"}, {10, "ECHILD", "no child processes"}, {11, "EAGAIN", "resource temporarily unavailable"}, {12, "ENOMEM", "cannot allocate memory"}, {13, "EACCES", "permission denied"}, {14, "EFAULT", "bad address"}, {15, "ENOTBLK", "block device required"}, {16, "EBUSY", "device or resource busy"}, {17, "EEXIST", "file exists"}, {18, "EXDEV", "invalid cross-device link"}, {19, "ENODEV", "no such device"}, {20, "ENOTDIR", "not a directory"}, {21, "EISDIR", "is a directory"}, {22, "EINVAL", "invalid argument"}, {23, "ENFILE", "too many open files in system"}, {24, "EMFILE", "too many open files"}, {25, "ENOTTY", "inappropriate ioctl for device"}, {26, "ETXTBSY", "text file busy"}, {27, "EFBIG", "file too large"}, {28, "ENOSPC", "no space left on device"}, {29, "ESPIPE", "illegal seek"}, {30, "EROFS", "read-only file system"}, {31, "EMLINK", "too many links"}, {32, "EPIPE", "broken pipe"}, {33, "EDOM", "numerical argument out of domain"}, {34, "ERANGE", "numerical result out of range"}, {35, "EDEADLK", "resource deadlock avoided"}, {36, "ENAMETOOLONG", "file name too long"}, {37, "ENOLCK", "no locks available"}, {38, "ENOSYS", "function not implemented"}, {39, "ENOTEMPTY", "directory not empty"}, {40, "ELOOP", "too many levels of symbolic links"}, {42, "ENOMSG", "no message of desired type"}, {43, "EIDRM", "identifier removed"}, {44, "ECHRNG", "channel number out of range"}, {45, "EL2NSYNC", "level 2 not synchronized"}, {46, "EL3HLT", "level 3 halted"}, {47, "EL3RST", "level 3 reset"}, {48, "ELNRNG", "link number out of range"}, {49, "EUNATCH", "protocol driver not attached"}, {50, "ENOCSI", "no CSI structure available"}, {51, "EL2HLT", "level 2 halted"}, {52, "EBADE", "invalid exchange"}, {53, "EBADR", "invalid request descriptor"}, {54, "EXFULL", "exchange full"}, {55, "ENOANO", "no anode"}, {56, "EBADRQC", "invalid request code"}, {57, "EBADSLT", "invalid slot"}, {58, "EDEADLOCK", "file locking deadlock error"}, {59, "EBFONT", "bad font file format"}, {60, "ENOSTR", "device not a stream"}, {61, "ENODATA", "no data available"}, {62, "ETIME", "timer expired"}, {63, "ENOSR", "out of streams resources"}, {64, "ENONET", "machine is not on the network"}, {65, "ENOPKG", "package not installed"}, {66, "EREMOTE", "object is remote"}, {67, "ENOLINK", "link has been severed"}, {68, "EADV", "advertise error"}, {69, "ESRMNT", "srmount error"}, {70, "ECOMM", "communication error on send"}, {71, "EPROTO", "protocol error"}, {72, "EMULTIHOP", "multihop attempted"}, {73, "EDOTDOT", "RFS specific error"}, {74, "EBADMSG", "bad message"}, {75, "EOVERFLOW", "value too large for defined data type"}, {76, "ENOTUNIQ", "name not unique on network"}, {77, "EBADFD", "file descriptor in bad state"}, {78, "EREMCHG", "remote address changed"}, {79, "ELIBACC", "can not access a needed shared library"}, {80, "ELIBBAD", "accessing a corrupted shared library"}, {81, "ELIBSCN", ".lib section in a.out corrupted"}, {82, "ELIBMAX", "attempting to link in too many shared libraries"}, {83, "ELIBEXEC", "cannot exec a shared library directly"}, {84, "EILSEQ", "invalid or incomplete multibyte or wide character"}, {85, "ERESTART", "interrupted system call should be restarted"}, {86, "ESTRPIPE", "streams pipe error"}, {87, "EUSERS", "too many users"}, {88, "ENOTSOCK", "socket operation on non-socket"}, {89, "EDESTADDRREQ", "destination address required"}, {90, "EMSGSIZE", "message too long"}, {91, "EPROTOTYPE", "protocol wrong type for socket"}, {92, "ENOPROTOOPT", "protocol not available"}, {93, "EPROTONOSUPPORT", "protocol not supported"}, {94, "ESOCKTNOSUPPORT", "socket type not supported"}, {95, "ENOTSUP", "operation not supported"}, {96, "EPFNOSUPPORT", "protocol family not supported"}, {97, "EAFNOSUPPORT", "address family not supported by protocol"}, {98, "EADDRINUSE", "address already in use"}, {99, "EADDRNOTAVAIL", "cannot assign requested address"}, {100, "ENETDOWN", "network is down"}, {101, "ENETUNREACH", "network is unreachable"}, {102, "ENETRESET", "network dropped connection on reset"}, {103, "ECONNABORTED", "software caused connection abort"}, {104, "ECONNRESET", "connection reset by peer"}, {105, "ENOBUFS", "no buffer space available"}, {106, "EISCONN", "transport endpoint is already connected"}, {107, "ENOTCONN", "transport endpoint is not connected"}, {108, "ESHUTDOWN", "cannot send after transport endpoint shutdown"}, {109, "ETOOMANYREFS", "too many references: cannot splice"}, {110, "ETIMEDOUT", "connection timed out"}, {111, "ECONNREFUSED", "connection refused"}, {112, "EHOSTDOWN", "host is down"}, {113, "EHOSTUNREACH", "no route to host"}, {114, "EALREADY", "operation already in progress"}, {115, "EINPROGRESS", "operation now in progress"}, {116, "ESTALE", "stale file handle"}, {117, "EUCLEAN", "structure needs cleaning"}, {118, "ENOTNAM", "not a XENIX named type file"}, {119, "ENAVAIL", "no XENIX semaphores available"}, {120, "EISNAM", "is a named type file"}, {121, "EREMOTEIO", "remote I/O error"}, {122, "EDQUOT", "disk quota exceeded"}, {123, "ENOMEDIUM", "no medium found"}, {124, "EMEDIUMTYPE", "wrong medium type"}, {125, "ECANCELED", "operation canceled"}, {126, "ENOKEY", "required key not available"}, {127, "EKEYEXPIRED", "key has expired"}, {128, "EKEYREVOKED", "key has been revoked"}, {129, "EKEYREJECTED", "key was rejected by service"}, {130, "EOWNERDEAD", "owner died"}, {131, "ENOTRECOVERABLE", "state not recoverable"}, {132, "ERFKILL", "operation not possible due to RF-kill"}, {133, "EHWPOISON", "memory page has hardware error"}, } // Signal table var signalList = [...]struct { num syscall.Signal name string desc string }{ {1, "SIGHUP", "hangup"}, {2, "SIGINT", "interrupt"}, {3, "SIGQUIT", "quit"}, {4, "SIGILL", "illegal instruction"}, {5, "SIGTRAP", "trace/breakpoint trap"}, {6, "SIGABRT", "aborted"}, {7, "SIGBUS", "bus error"}, {8, "SIGFPE", "floating point exception"}, {9, "SIGKILL", "killed"}, {10, "SIGUSR1", "user defined signal 1"}, {11, "SIGSEGV", "segmentation fault"}, {12, "SIGUSR2", "user defined signal 2"}, {13, "SIGPIPE", "broken pipe"}, {14, "SIGALRM", "alarm clock"}, {15, "SIGTERM", "terminated"}, {16, "SIGSTKFLT", "stack fault"}, {17, "SIGCHLD", "child exited"}, {18, "SIGCONT", "continued"}, {19, "SIGSTOP", "stopped (signal)"}, {20, "SIGTSTP", "stopped"}, {21, "SIGTTIN", "stopped (tty input)"}, {22, "SIGTTOU", "stopped (tty output)"}, {23, "SIGURG", "urgent I/O condition"}, {24, "SIGXCPU", "CPU time limit exceeded"}, {25, "SIGXFSZ", "file size limit exceeded"}, {26, "SIGVTALRM", "virtual timer expired"}, {27, "SIGPROF", "profiling timer expired"}, {28, "SIGWINCH", "window changed"}, {29, "SIGIO", "I/O possible"}, {30, "SIGPWR", "power failure"}, {31, "SIGSYS", "bad system call"}, } dependencies/pkg/mod/golang.org/x/sys@v0.26.0/unix/dev_openbsd.go0000644000000000000000000000162615107355264023435 0ustar rootroot// Copyright 2017 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. // Functions to access/create device major and minor numbers matching the // encoding used in OpenBSD's sys/types.h header. package unix // Major returns the major component of an OpenBSD device number. func Major(dev uint64) uint32 { return uint32((dev & 0x0000ff00) >> 8) } // Minor returns the minor component of an OpenBSD device number. func Minor(dev uint64) uint32 { minor := uint32((dev & 0x000000ff) >> 0) minor |= uint32((dev & 0xffff0000) >> 8) return minor } // Mkdev returns an OpenBSD device number generated from the given major and minor // components. func Mkdev(major, minor uint32) uint64 { dev := (uint64(major) << 8) & 0x0000ff00 dev |= (uint64(minor) << 8) & 0xffff0000 dev |= (uint64(minor) << 0) & 0x000000ff return dev } dependencies/pkg/mod/golang.org/x/sys@v0.26.0/unix/syscall_linux_loong64.go0000644000000000000000000001531115107355264025402 0ustar rootroot// Copyright 2022 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:build loong64 && linux package unix import "unsafe" //sys EpollWait(epfd int, events []EpollEvent, msec int) (n int, err error) = SYS_EPOLL_PWAIT //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 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 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 func Select(nfd int, r *FdSet, w *FdSet, e *FdSet, timeout *Timeval) (n int, err error) { var ts *Timespec if timeout != nil { ts = &Timespec{Sec: timeout.Sec, Nsec: timeout.Usec * 1000} } return pselect6(nfd, r, w, e, ts, nil) } //sys sendfile(outfd int, infd int, offset *int64, count int) (written int, err error) //sys setfsgid(gid int) (prev int, err error) //sys setfsuid(uid int) (prev 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 timespecFromStatxTimestamp(x StatxTimestamp) Timespec { return Timespec{ Sec: x.Sec, Nsec: int64(x.Nsec), } } func Fstatat(fd int, path string, stat *Stat_t, flags int) error { var r Statx_t // Do it the glibc way, add AT_NO_AUTOMOUNT. if err := Statx(fd, path, AT_NO_AUTOMOUNT|flags, STATX_BASIC_STATS, &r); err != nil { return err } stat.Dev = Mkdev(r.Dev_major, r.Dev_minor) stat.Ino = r.Ino stat.Mode = uint32(r.Mode) stat.Nlink = r.Nlink stat.Uid = r.Uid stat.Gid = r.Gid stat.Rdev = Mkdev(r.Rdev_major, r.Rdev_minor) // hope we don't get to process files so large to overflow these size // fields... stat.Size = int64(r.Size) stat.Blksize = int32(r.Blksize) stat.Blocks = int64(r.Blocks) stat.Atim = timespecFromStatxTimestamp(r.Atime) stat.Mtim = timespecFromStatxTimestamp(r.Mtime) stat.Ctim = timespecFromStatxTimestamp(r.Ctime) return nil } func Fstat(fd int, stat *Stat_t) (err error) { return Fstatat(fd, "", stat, AT_EMPTY_PATH) } 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) func Ustat(dev int, ubuf *Ustat_t) (err error) { return ENOSYS } //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) //sysnb Gettimeofday(tv *Timeval) (err error) func setTimespec(sec, nsec int64) Timespec { return Timespec{Sec: sec, Nsec: nsec} } func setTimeval(sec, usec int64) Timeval { return Timeval{Sec: sec, Usec: usec} } func Getrlimit(resource int, rlim *Rlimit) (err error) { err = Prlimit(0, resource, nil, rlim) return } func futimesat(dirfd int, path string, tv *[2]Timeval) (err error) { if tv == nil { return utimensat(dirfd, path, nil, 0) } ts := []Timespec{ NsecToTimespec(TimevalToNsec(tv[0])), NsecToTimespec(TimevalToNsec(tv[1])), } return utimensat(dirfd, path, (*[2]Timespec)(unsafe.Pointer(&ts[0])), 0) } 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 utimes(path string, tv *[2]Timeval) (err error) { if tv == nil { return utimensat(AT_FDCWD, path, nil, 0) } ts := []Timespec{ NsecToTimespec(TimevalToNsec(tv[0])), NsecToTimespec(TimevalToNsec(tv[1])), } return utimensat(AT_FDCWD, path, (*[2]Timespec)(unsafe.Pointer(&ts[0])), 0) } func (r *PtraceRegs) PC() uint64 { return r.Era } func (r *PtraceRegs) SetPC(era uint64) { r.Era = era } func (iov *Iovec) SetLen(length int) { iov.Len = uint64(length) } func (msghdr *Msghdr) SetControllen(length int) { msghdr.Controllen = uint64(length) } func (msghdr *Msghdr) SetIovlen(length int) { msghdr.Iovlen = uint64(length) } func (cmsg *Cmsghdr) SetLen(length int) { cmsg.Len = uint64(length) } func (rsa *RawSockaddrNFCLLCP) SetServiceNameLen(length int) { rsa.Service_name_len = uint64(length) } func Pause() error { _, err := ppoll(nil, 0, nil, nil) return err } func Renameat(olddirfd int, oldpath string, newdirfd int, newpath string) (err error) { return Renameat2(olddirfd, oldpath, newdirfd, newpath, 0) } //sys kexecFileLoad(kernelFd int, initrdFd int, cmdlineLen int, cmdline string, flags int) (err error) func KexecFileLoad(kernelFd int, initrdFd int, cmdline string, flags int) error { cmdlineLen := len(cmdline) if cmdlineLen > 0 { // Account for the additional NULL byte added by // BytePtrFromString in kexecFileLoad. The kexec_file_load // syscall expects a NULL-terminated string. cmdlineLen++ } return kexecFileLoad(kernelFd, initrdFd, cmdlineLen, cmdline, flags) } const SYS_FSTATAT = SYS_NEWFSTATAT dependencies/pkg/mod/golang.org/x/sys@v0.26.0/unix/mksyscall_aix_ppc64.go0000644000000000000000000004553215107355264025030 0ustar rootroot// Copyright 2019 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:build ignore /* This program reads a file containing function prototypes (like syscall_aix.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 err. * If go func name needs to be different than its libc name, * or the function is not in libc, name could be specified * at the end, after "=" sign, like //sys getsockopt(s int, level int, name int, val uintptr, vallen *_Socklen) (err error) = libsocket.getsockopt This program will generate three files and handle both gc and gccgo implementation: - zsyscall_aix_ppc64.go: the common part of each implementation (error handler, pointer creation) - zsyscall_aix_ppc64_gc.go: gc part with //go_cgo_import_dynamic and a call to syscall6 - zsyscall_aix_ppc64_gccgo.go: gccgo part with C function and conversion to C type. The generated code looks like this zsyscall_aix_ppc64.go func asyscall(...) (n int, err error) { // Pointer Creation r1, e1 := callasyscall(...) // Type Conversion // Error Handler return } zsyscall_aix_ppc64_gc.go //go:cgo_import_dynamic libc_asyscall asyscall "libc.a/shr_64.o" //go:linkname libc_asyscall libc_asyscall var asyscall syscallFunc func callasyscall(...) (r1 uintptr, e1 Errno) { r1, _, e1 = syscall6(uintptr(unsafe.Pointer(&libc_asyscall)), "nb_args", ... ) return } zsyscall_aix_ppc64_ggcgo.go // int asyscall(...) import "C" func callasyscall(...) (r1 uintptr, e1 Errno) { r1 = uintptr(C.asyscall(...)) e1 = syscall.GetErrno() return } */ package main import ( "bufio" "flag" "fmt" "os" "regexp" "strings" ) var ( b32 = flag.Bool("b32", false, "32bit big-endian") l32 = flag.Bool("l32", false, "32bit little-endian") aix = flag.Bool("aix", false, "aix") tags = flag.String("tags", "", "build tags") ) // cmdLine returns this programs's commandline arguments func cmdLine() string { return "go run mksyscall_aix_ppc64.go " + strings.Join(os.Args[1:], " ") } // goBuildTags returns build tags in the go:build format. func goBuildTags() string { return strings.ReplaceAll(*tags, ",", " && ") } // Param is function parameter type Param struct { Name string Type string } // usage prints the program usage func usage() { fmt.Fprintf(os.Stderr, "usage: go run mksyscall_aix_ppc64.go [-b32 | -l32] [-tags x,y] [file ...]\n") os.Exit(1) } // parseParamList parses parameter list and returns a slice of parameters func parseParamList(list string) []string { list = strings.TrimSpace(list) if list == "" { return []string{} } return regexp.MustCompile(`\s*,\s*`).Split(list, -1) } // parseParam splits a parameter into name and type func parseParam(p string) Param { ps := regexp.MustCompile(`^(\S*) (\S*)$`).FindStringSubmatch(p) if ps == nil { fmt.Fprintf(os.Stderr, "malformed parameter: %s\n", p) os.Exit(1) } return Param{ps[1], ps[2]} } func main() { flag.Usage = usage flag.Parse() if len(flag.Args()) <= 0 { fmt.Fprintf(os.Stderr, "no files to parse provided\n") usage() } endianness := "" if *b32 { endianness = "big-endian" } else if *l32 { endianness = "little-endian" } pack := "" // GCCGO textgccgo := "" cExtern := "/*\n#include \n" // GC textgc := "" dynimports := "" linknames := "" var vars []string // COMMON textcommon := "" for _, path := range flag.Args() { file, err := os.Open(path) if err != nil { fmt.Fprintf(os.Stderr, err.Error()) os.Exit(1) } s := bufio.NewScanner(file) for s.Scan() { t := s.Text() if p := regexp.MustCompile(`^package (\S+)$`).FindStringSubmatch(t); p != nil && pack == "" { pack = p[1] } nonblock := regexp.MustCompile(`^\/\/sysnb\t`).FindStringSubmatch(t) if regexp.MustCompile(`^\/\/sys\t`).FindStringSubmatch(t) == nil && nonblock == nil { continue } // 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. f := regexp.MustCompile(`^\/\/sys(nb)?\t(\w+)\(([^()]*)\)\s*(?:\(([^()]+)\))?\s*(?:=\s*(?:(\w*)\.)?(\w*))?$`).FindStringSubmatch(t) if f == nil { fmt.Fprintf(os.Stderr, "%s:%s\nmalformed //sys declaration\n", path, t) os.Exit(1) } funct, inps, outps, modname, sysname := f[2], f[3], f[4], f[5], f[6] // Split argument lists on comma. in := parseParamList(inps) out := parseParamList(outps) inps = strings.Join(in, ", ") outps = strings.Join(out, ", ") if sysname == "" { sysname = funct } onlyCommon := false if funct == "FcntlInt" || funct == "FcntlFlock" || funct == "ioctlPtr" { // This function call another syscall which is already implemented. // Therefore, the gc and gccgo part must not be generated. onlyCommon = true } // 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. textcommon += "// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\n" if !onlyCommon { textgccgo += "// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\n" textgc += "// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\n" } // Check if value return, err return available errvar := "" rettype := "" for _, param := range out { p := parseParam(param) if p.Type == "error" { errvar = p.Name } else { rettype = p.Type } } sysname = regexp.MustCompile(`([a-z])([A-Z])`).ReplaceAllString(sysname, `${1}_$2`) sysname = strings.ToLower(sysname) // All libc functions are lowercase. // GCCGO Prototype return type cRettype := "" if rettype == "unsafe.Pointer" { cRettype = "uintptr_t" } else if rettype == "uintptr" { cRettype = "uintptr_t" } else if regexp.MustCompile(`^_`).FindStringSubmatch(rettype) != nil { cRettype = "uintptr_t" } else if rettype == "int" { cRettype = "int" } else if rettype == "int32" { cRettype = "int" } else if rettype == "int64" { cRettype = "long long" } else if rettype == "uint32" { cRettype = "unsigned int" } else if rettype == "uint64" { cRettype = "unsigned long long" } else { cRettype = "int" } if sysname == "exit" { cRettype = "void" } // GCCGO Prototype arguments type var cIn []string for i, param := range in { p := parseParam(param) if regexp.MustCompile(`^\*`).FindStringSubmatch(p.Type) != nil { cIn = append(cIn, "uintptr_t") } else if p.Type == "string" { cIn = append(cIn, "uintptr_t") } else if regexp.MustCompile(`^\[\](.*)`).FindStringSubmatch(p.Type) != nil { cIn = append(cIn, "uintptr_t", "size_t") } else if p.Type == "unsafe.Pointer" { cIn = append(cIn, "uintptr_t") } else if p.Type == "uintptr" { cIn = append(cIn, "uintptr_t") } else if regexp.MustCompile(`^_`).FindStringSubmatch(p.Type) != nil { cIn = append(cIn, "uintptr_t") } else if p.Type == "int" { if (i == 0 || i == 2) && funct == "fcntl" { // These fcntl arguments needs to be uintptr to be able to call FcntlInt and FcntlFlock cIn = append(cIn, "uintptr_t") } else { cIn = append(cIn, "int") } } else if p.Type == "int32" { cIn = append(cIn, "int") } else if p.Type == "int64" { cIn = append(cIn, "long long") } else if p.Type == "uint32" { cIn = append(cIn, "unsigned int") } else if p.Type == "uint64" { cIn = append(cIn, "unsigned long long") } else { cIn = append(cIn, "int") } } if !onlyCommon { // GCCGO Prototype Generation // Imports of system calls from libc if sysname == "select" { // select is a keyword of Go. Its name is // changed to c_select. cExtern += "#define c_select select\n" } cExtern += fmt.Sprintf("%s %s", cRettype, sysname) cIn := strings.Join(cIn, ", ") cExtern += fmt.Sprintf("(%s);\n", cIn) } // GC Library name if modname == "" { modname = "libc.a/shr_64.o" } else { fmt.Fprintf(os.Stderr, "%s: only syscall using libc are available\n", funct) os.Exit(1) } sysvarname := fmt.Sprintf("libc_%s", sysname) if !onlyCommon { // GC Runtime import of function to allow cross-platform builds. dynimports += fmt.Sprintf("//go:cgo_import_dynamic %s %s \"%s\"\n", sysvarname, sysname, modname) // GC Link symbol to proc address variable. linknames += fmt.Sprintf("//go:linkname %s %s\n", sysvarname, sysvarname) // GC Library proc address variable. vars = append(vars, sysvarname) } strconvfunc := "BytePtrFromString" strconvtype := "*byte" // Go function header. if outps != "" { outps = fmt.Sprintf(" (%s)", outps) } if textcommon != "" { textcommon += "\n" } textcommon += fmt.Sprintf("func %s(%s)%s {\n", funct, strings.Join(in, ", "), outps) // Prepare arguments tocall. var argscommon []string // Arguments in the common part var argscall []string // Arguments for call prototype var argsgc []string // Arguments for gc call (with syscall6) var argsgccgo []string // Arguments for gccgo call (with C.name_of_syscall) n := 0 argN := 0 for _, param := range in { p := parseParam(param) if regexp.MustCompile(`^\*`).FindStringSubmatch(p.Type) != nil { argscommon = append(argscommon, fmt.Sprintf("uintptr(unsafe.Pointer(%s))", p.Name)) argscall = append(argscall, fmt.Sprintf("%s uintptr", p.Name)) argsgc = append(argsgc, p.Name) argsgccgo = append(argsgccgo, fmt.Sprintf("C.uintptr_t(%s)", p.Name)) } else if p.Type == "string" && errvar != "" { textcommon += fmt.Sprintf("\tvar _p%d %s\n", n, strconvtype) textcommon += fmt.Sprintf("\t_p%d, %s = %s(%s)\n", n, errvar, strconvfunc, p.Name) textcommon += fmt.Sprintf("\tif %s != nil {\n\t\treturn\n\t}\n", errvar) argscommon = append(argscommon, fmt.Sprintf("uintptr(unsafe.Pointer(_p%d))", n)) argscall = append(argscall, fmt.Sprintf("_p%d uintptr ", n)) argsgc = append(argsgc, fmt.Sprintf("_p%d", n)) argsgccgo = append(argsgccgo, fmt.Sprintf("C.uintptr_t(_p%d)", n)) n++ } else if p.Type == "string" { fmt.Fprintf(os.Stderr, path+":"+funct+" uses string arguments, but has no error return\n") textcommon += fmt.Sprintf("\tvar _p%d %s\n", n, strconvtype) textcommon += fmt.Sprintf("\t_p%d, %s = %s(%s)\n", n, errvar, strconvfunc, p.Name) textcommon += fmt.Sprintf("\tif %s != nil {\n\t\treturn\n\t}\n", errvar) argscommon = append(argscommon, fmt.Sprintf("uintptr(unsafe.Pointer(_p%d))", n)) argscall = append(argscall, fmt.Sprintf("_p%d uintptr", n)) argsgc = append(argsgc, fmt.Sprintf("_p%d", n)) argsgccgo = append(argsgccgo, fmt.Sprintf("C.uintptr_t(_p%d)", n)) n++ } else if m := regexp.MustCompile(`^\[\](.*)`).FindStringSubmatch(p.Type); m != nil { // Convert slice into pointer, length. // Have to be careful not to take address of &a[0] if len == 0: // pass nil in that case. textcommon += fmt.Sprintf("\tvar _p%d *%s\n", n, m[1]) textcommon += fmt.Sprintf("\tif len(%s) > 0 {\n\t\t_p%d = &%s[0]\n\t}\n", p.Name, n, p.Name) argscommon = append(argscommon, fmt.Sprintf("uintptr(unsafe.Pointer(_p%d))", n), fmt.Sprintf("len(%s)", p.Name)) argscall = append(argscall, fmt.Sprintf("_p%d uintptr", n), fmt.Sprintf("_lenp%d int", n)) argsgc = append(argsgc, fmt.Sprintf("_p%d", n), fmt.Sprintf("uintptr(_lenp%d)", n)) argsgccgo = append(argsgccgo, fmt.Sprintf("C.uintptr_t(_p%d)", n), fmt.Sprintf("C.size_t(_lenp%d)", n)) n++ } else if p.Type == "int64" && endianness != "" { fmt.Fprintf(os.Stderr, path+":"+funct+" uses int64 with 32 bits mode. Case not yet implemented\n") } else if p.Type == "bool" { fmt.Fprintf(os.Stderr, path+":"+funct+" uses bool. Case not yet implemented\n") } else if regexp.MustCompile(`^_`).FindStringSubmatch(p.Type) != nil || p.Type == "unsafe.Pointer" { argscommon = append(argscommon, fmt.Sprintf("uintptr(%s)", p.Name)) argscall = append(argscall, fmt.Sprintf("%s uintptr", p.Name)) argsgc = append(argsgc, p.Name) argsgccgo = append(argsgccgo, fmt.Sprintf("C.uintptr_t(%s)", p.Name)) } else if p.Type == "int" { if (argN == 0 || argN == 2) && ((funct == "fcntl") || (funct == "FcntlInt") || (funct == "FcntlFlock")) { // These fcntl arguments need to be uintptr to be able to call FcntlInt and FcntlFlock argscommon = append(argscommon, fmt.Sprintf("uintptr(%s)", p.Name)) argscall = append(argscall, fmt.Sprintf("%s uintptr", p.Name)) argsgc = append(argsgc, p.Name) argsgccgo = append(argsgccgo, fmt.Sprintf("C.uintptr_t(%s)", p.Name)) } else { argscommon = append(argscommon, p.Name) argscall = append(argscall, fmt.Sprintf("%s int", p.Name)) argsgc = append(argsgc, fmt.Sprintf("uintptr(%s)", p.Name)) argsgccgo = append(argsgccgo, fmt.Sprintf("C.int(%s)", p.Name)) } } else if p.Type == "int32" { argscommon = append(argscommon, p.Name) argscall = append(argscall, fmt.Sprintf("%s int32", p.Name)) argsgc = append(argsgc, fmt.Sprintf("uintptr(%s)", p.Name)) argsgccgo = append(argsgccgo, fmt.Sprintf("C.int(%s)", p.Name)) } else if p.Type == "int64" { argscommon = append(argscommon, p.Name) argscall = append(argscall, fmt.Sprintf("%s int64", p.Name)) argsgc = append(argsgc, fmt.Sprintf("uintptr(%s)", p.Name)) argsgccgo = append(argsgccgo, fmt.Sprintf("C.longlong(%s)", p.Name)) } else if p.Type == "uint32" { argscommon = append(argscommon, p.Name) argscall = append(argscall, fmt.Sprintf("%s uint32", p.Name)) argsgc = append(argsgc, fmt.Sprintf("uintptr(%s)", p.Name)) argsgccgo = append(argsgccgo, fmt.Sprintf("C.uint(%s)", p.Name)) } else if p.Type == "uint64" { argscommon = append(argscommon, p.Name) argscall = append(argscall, fmt.Sprintf("%s uint64", p.Name)) argsgc = append(argsgc, fmt.Sprintf("uintptr(%s)", p.Name)) argsgccgo = append(argsgccgo, fmt.Sprintf("C.ulonglong(%s)", p.Name)) } else if p.Type == "uintptr" { argscommon = append(argscommon, p.Name) argscall = append(argscall, fmt.Sprintf("%s uintptr", p.Name)) argsgc = append(argsgc, p.Name) argsgccgo = append(argsgccgo, fmt.Sprintf("C.uintptr_t(%s)", p.Name)) } else { argscommon = append(argscommon, fmt.Sprintf("int(%s)", p.Name)) argscall = append(argscall, fmt.Sprintf("%s int", p.Name)) argsgc = append(argsgc, fmt.Sprintf("uintptr(%s)", p.Name)) argsgccgo = append(argsgccgo, fmt.Sprintf("C.int(%s)", p.Name)) } argN++ } nargs := len(argsgc) // COMMON function generation argscommonlist := strings.Join(argscommon, ", ") callcommon := fmt.Sprintf("call%s(%s)", sysname, argscommonlist) ret := []string{"_", "_"} body := "" doErrno := false for i := 0; i < len(out); i++ { p := parseParam(out[i]) reg := "" if p.Name == "err" { reg = "e1" ret[1] = reg doErrno = true } else { reg = "r0" ret[0] = reg } if p.Type == "bool" { reg = fmt.Sprintf("%s != 0", reg) } if reg != "e1" { body += fmt.Sprintf("\t%s = %s(%s)\n", p.Name, p.Type, reg) } } if ret[0] == "_" && ret[1] == "_" { textcommon += fmt.Sprintf("\t%s\n", callcommon) } else { textcommon += fmt.Sprintf("\t%s, %s := %s\n", ret[0], ret[1], callcommon) } textcommon += body if doErrno { textcommon += "\tif e1 != 0 {\n" textcommon += "\t\terr = errnoErr(e1)\n" textcommon += "\t}\n" } textcommon += "\treturn\n" textcommon += "}\n" if onlyCommon { continue } // CALL Prototype callProto := fmt.Sprintf("func call%s(%s) (r1 uintptr, e1 Errno) {\n", sysname, strings.Join(argscall, ", ")) // GC function generation asm := "syscall6" if nonblock != nil { asm = "rawSyscall6" } if len(argsgc) <= 6 { for len(argsgc) < 6 { argsgc = append(argsgc, "0") } } else { fmt.Fprintf(os.Stderr, "%s: too many arguments to system call", funct) os.Exit(1) } argsgclist := strings.Join(argsgc, ", ") callgc := fmt.Sprintf("%s(uintptr(unsafe.Pointer(&%s)), %d, %s)", asm, sysvarname, nargs, argsgclist) textgc += callProto textgc += fmt.Sprintf("\tr1, _, e1 = %s\n", callgc) textgc += "\treturn\n}\n" // GCCGO function generation argsgccgolist := strings.Join(argsgccgo, ", ") var callgccgo string if sysname == "select" { // select is a keyword of Go. Its name is // changed to c_select. callgccgo = fmt.Sprintf("C.c_%s(%s)", sysname, argsgccgolist) } else { callgccgo = fmt.Sprintf("C.%s(%s)", sysname, argsgccgolist) } textgccgo += callProto textgccgo += fmt.Sprintf("\tr1 = uintptr(%s)\n", callgccgo) textgccgo += "\te1 = syscall.GetErrno()\n" textgccgo += "\treturn\n}\n" } if err := s.Err(); err != nil { fmt.Fprintf(os.Stderr, err.Error()) os.Exit(1) } file.Close() } imp := "" if pack != "unix" { imp = "import \"golang.org/x/sys/unix\"\n" } // Print zsyscall_aix_ppc64.go err := os.WriteFile("zsyscall_aix_ppc64.go", []byte(fmt.Sprintf(srcTemplate1, cmdLine(), goBuildTags(), pack, imp, textcommon)), 0644) if err != nil { fmt.Fprintf(os.Stderr, err.Error()) os.Exit(1) } // Print zsyscall_aix_ppc64_gc.go vardecls := "\t" + strings.Join(vars, ",\n\t") vardecls += " syscallFunc" err = os.WriteFile("zsyscall_aix_ppc64_gc.go", []byte(fmt.Sprintf(srcTemplate2, cmdLine(), goBuildTags(), pack, imp, dynimports, linknames, vardecls, textgc)), 0644) if err != nil { fmt.Fprintf(os.Stderr, err.Error()) os.Exit(1) } // Print zsyscall_aix_ppc64_gccgo.go err = os.WriteFile("zsyscall_aix_ppc64_gccgo.go", []byte(fmt.Sprintf(srcTemplate3, cmdLine(), goBuildTags(), pack, cExtern, imp, textgccgo)), 0644) if err != nil { fmt.Fprintf(os.Stderr, err.Error()) os.Exit(1) } } const srcTemplate1 = `// %s // Code generated by the command above; see README.md. DO NOT EDIT. //go:build %s package %s import ( "unsafe" ) %s %s ` const srcTemplate2 = `// %s // Code generated by the command above; see README.md. DO NOT EDIT. //go:build %s && gc package %s import ( "unsafe" ) %s %s %s type syscallFunc uintptr var ( %s ) // Implemented in runtime/syscall_aix.go. func rawSyscall6(trap, nargs, a1, a2, a3, a4, a5, a6 uintptr) (r1, r2 uintptr, err Errno) func syscall6(trap, nargs, a1, a2, a3, a4, a5, a6 uintptr) (r1, r2 uintptr, err Errno) %s ` const srcTemplate3 = `// %s // Code generated by the command above; see README.md. DO NOT EDIT. //go:build %s && gccgo package %s %s */ import "C" import ( "syscall" ) %s %s ` dependencies/pkg/mod/golang.org/x/sys@v0.26.0/unix/ztypes_openbsd_ppc64.go0000644000000000000000000002244315107355264025231 0ustar rootroot// cgo -godefs -- -fsigned-char types_openbsd.go | go run mkpost.go // Code generated by the command above; see README.md. DO NOT EDIT. //go:build ppc64 && 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 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 int32 Flags uint32 Gen uint32 _ 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]byte F_mntonname [90]byte F_mntfromname [90]byte F_mntfromspec [90]byte _ [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 _ [4]uint8 Name [256]int8 } type Fsid struct { Val [2]int32 } const ( PathMax = 0x400 ) 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 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 SizeofIovec = 0x10 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 = 0xa8 SizeofIfData = 0x90 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 Rdomain uint32 Baudrate uint64 Ipackets uint64 Ierrors uint64 Opackets uint64 Oerrors uint64 Collisions uint64 Ibytes uint64 Obytes uint64 Imcasts uint64 Omcasts uint64 Iqdrops uint64 Oqdrops uint64 Noproto uint64 Capabilities uint32 Lastchange Timeval } 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{} const ( SizeofBpfVersion = 0x4 SizeofBpfStat = 0x8 SizeofBpfProgram = 0x10 SizeofBpfInsn = 0x8 SizeofBpfHdr = 0x18 ) 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 Ifidx uint16 Flowid uint16 Flags uint8 Drops uint8 } 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 } type Winsize struct { Row uint16 Col uint16 Xpixel uint16 Ypixel uint16 } const ( AT_FDCWD = -0x64 AT_EACCESS = 0x1 AT_SYMLINK_NOFOLLOW = 0x2 AT_SYMLINK_FOLLOW = 0x4 AT_REMOVEDIR = 0x8 ) type PollFd struct { Fd int32 Events int16 Revents int16 } const ( POLLERR = 0x8 POLLHUP = 0x10 POLLIN = 0x1 POLLNVAL = 0x20 POLLOUT = 0x4 POLLPRI = 0x2 POLLRDBAND = 0x80 POLLRDNORM = 0x40 POLLWRBAND = 0x100 POLLWRNORM = 0x4 ) type Sigset_t uint32 type Utsname struct { Sysname [256]byte Nodename [256]byte Release [256]byte Version [256]byte Machine [256]byte } const SizeofUvmexp = 0x158 type Uvmexp struct { Pagesize int32 Pagemask int32 Pageshift int32 Npages int32 Free int32 Active int32 Inactive int32 Paging int32 Wired int32 Zeropages int32 Reserve_pagedaemon int32 Reserve_kernel int32 Unused01 int32 Vnodepages int32 Vtextpages int32 Freemin int32 Freetarg int32 Inactarg int32 Wiredmax int32 Anonmin int32 Vtextmin int32 Vnodemin int32 Anonminpct int32 Vtextminpct int32 Vnodeminpct int32 Nswapdev int32 Swpages int32 Swpginuse int32 Swpgonly int32 Nswget int32 Nanon int32 Unused05 int32 Unused06 int32 Faults int32 Traps int32 Intrs int32 Swtch int32 Softs int32 Syscalls int32 Pageins int32 Unused07 int32 Unused08 int32 Pgswapin int32 Pgswapout int32 Forks int32 Forks_ppwait int32 Forks_sharevm int32 Pga_zerohit int32 Pga_zeromiss int32 Unused09 int32 Fltnoram int32 Fltnoanon int32 Fltnoamap int32 Fltpgwait int32 Fltpgrele int32 Fltrelck int32 Fltrelckok int32 Fltanget int32 Fltanretry int32 Fltamcopy int32 Fltnamap int32 Fltnomap int32 Fltlget int32 Fltget int32 Flt_anon int32 Flt_acow int32 Flt_obj int32 Flt_prcopy int32 Flt_przero int32 Pdwoke int32 Pdrevs int32 Pdswout int32 Pdfreed int32 Pdscans int32 Pdanscan int32 Pdobscan int32 Pdreact int32 Pdbusy int32 Pdpageouts int32 Pdpending int32 Pddeact int32 Unused11 int32 Unused12 int32 Unused13 int32 Fpswtch int32 Kmapent int32 } const SizeofClockinfo = 0x10 type Clockinfo struct { Hz int32 Tick int32 Stathz int32 Profhz int32 } dependencies/pkg/mod/golang.org/x/sys@v0.26.0/unix/linux/0000755000000000000000000000000015107355264021750 5ustar rootrootdependencies/pkg/mod/golang.org/x/sys@v0.26.0/unix/linux/mksysnum.go0000644000000000000000000001457415107355264024200 0ustar rootroot// Copyright 2018 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:build ignore package main import ( "bufio" "bytes" "fmt" "os" "os/exec" "regexp" "sort" "strconv" "strings" ) var ( goos, goarch string ) // cmdLine returns this programs's commandline arguments func cmdLine() string { return "go run linux/mksysnum.go " + strings.Join(os.Args[1:], " ") } // goBuildTags returns build tags in the go:build format. func goBuildTags() string { return fmt.Sprintf("%s && %s", goarch, goos) } func format(name string, num int, offset int) (int, string) { if num > 999 { // ignore deprecated syscalls that are no longer implemented // https://git.kernel.org/cgit/linux/kernel/git/torvalds/linux.git/tree/include/uapi/asm-generic/unistd.h?id=refs/heads/master#n716 return 0, "" } name = strings.ToUpper(name) num = num + offset return num, fmt.Sprintf(" SYS_%s = %d;\n", name, num) } func checkErr(err error) { if err != nil { fmt.Fprintf(os.Stderr, "%v\n", err) os.Exit(1) } } // source string and substring slice for regexp type re struct { str string // source string sub []string // matched sub-string } // Match performs regular expression match func (r *re) Match(exp string) bool { r.sub = regexp.MustCompile(exp).FindStringSubmatch(r.str) if r.sub != nil { return true } return false } // syscallNum holds the syscall number and the string // we will write to the generated file. type syscallNum struct { num int declaration string } // syscallNums is a slice of syscallNum sorted by the syscall number in ascending order. type syscallNums []syscallNum // addSyscallNum adds the syscall declaration to syscallNums. func (nums *syscallNums) addSyscallNum(num int, declaration string) { if declaration == "" { return } if len(*nums) == 0 || (*nums)[len(*nums)-1].num <= num { // This is the most common case as the syscall declarations output by the preprocessor // are almost always sorted. *nums = append(*nums, syscallNum{num, declaration}) return } i := sort.Search(len(*nums), func(i int) bool { return (*nums)[i].num >= num }) // Maintain the ordering in the preprocessor output when we have multiple definitions with // the same value. i cannot be > len(nums) - 1 as nums[len(nums)-1].num > num. for ; (*nums)[i].num == num; i++ { } *nums = append((*nums)[:i], append([]syscallNum{{num, declaration}}, (*nums)[i:]...)...) } 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 if GOOS and GOARCH environment variables are defined if goarch == "" || goos == "" { fmt.Fprintf(os.Stderr, "GOARCH or GOOS not defined in environment\n") os.Exit(1) } // Check that we are using the new build system if we should if os.Getenv("GOLANG_SYS_BUILD") != "docker" { fmt.Fprintf(os.Stderr, "In the new build system, mksysnum should not be called directly.\n") fmt.Fprintf(os.Stderr, "See README.md\n") os.Exit(1) } cc := os.Getenv("CC") if cc == "" { fmt.Fprintf(os.Stderr, "CC is not defined in environment\n") os.Exit(1) } args := os.Args[1:] args = append([]string{"-E", "-dD"}, args...) cmd, err := exec.Command(cc, args...).Output() // execute command and capture output if err != nil { fmt.Fprintf(os.Stderr, "can't run %s", cc) os.Exit(1) } switch goarch { case "riscv64", "loong64", "arm64": // Kernel linux v6.11 removed some __NR_* macros that only // existed on some architectures as an implementation detail. In // order to keep backwards compatibility we add them back. // // See https://lkml.org/lkml/2024/8/5/1283. if !bytes.Contains(cmd, []byte("#define __NR_arch_specific_syscall")) { cmd = append(cmd, []byte("#define __NR_arch_specific_syscall 244\n")...) } } s := bufio.NewScanner(strings.NewReader(string(cmd))) var offset, prev, asOffset int var nums syscallNums for s.Scan() { t := re{str: s.Text()} // The generated zsysnum_linux_*.go files for some platforms (arm64, loong64, riscv64) // treat SYS_ARCH_SPECIFIC_SYSCALL as if it's a syscall which it isn't. It's an offset. // However, as this constant is already part of the public API we leave it in place. // Lines of type SYS_ARCH_SPECIFIC_SYSCALL = 244 are thus processed twice, once to extract // the offset and once to add the constant. if t.Match(`^#define __NR_arch_specific_syscall\s+([0-9]+)`) { // riscv: extract arch specific offset asOffset, _ = strconv.Atoi(t.sub[1]) // Make asOffset=0 if empty or non-numeric } if t.Match(`^#define __NR_Linux\s+([0-9]+)`) { // mips/mips64: extract offset offset, _ = strconv.Atoi(t.sub[1]) // Make offset=0 if empty or non-numeric } else if t.Match(`^#define __NR(\w*)_SYSCALL_BASE\s+([0-9]+)`) { // arm: extract offset offset, _ = strconv.Atoi(t.sub[1]) // Make offset=0 if empty or non-numeric } else if t.Match(`^#define __NR_syscalls\s+`) { // ignore redefinitions of __NR_syscalls } else if t.Match(`^#define __NR_(\w*)Linux_syscalls\s+`) { // mips/mips64: ignore definitions about the number of syscalls } else if t.Match(`^#define __NR_(\w+)\s+([0-9]+)`) { prev, err = strconv.Atoi(t.sub[2]) checkErr(err) nums.addSyscallNum(format(t.sub[1], prev, offset)) } else if t.Match(`^#define __NR3264_(\w+)\s+([0-9]+)`) { prev, err = strconv.Atoi(t.sub[2]) checkErr(err) nums.addSyscallNum(format(t.sub[1], prev, offset)) } else if t.Match(`^#define __NR_(\w+)\s+\(\w+\+\s*([0-9]+)\)`) { r2, err := strconv.Atoi(t.sub[2]) checkErr(err) nums.addSyscallNum(format(t.sub[1], prev+r2, offset)) } else if t.Match(`^#define __NR_(\w+)\s+\(__NR_(?:SYSCALL_BASE|Linux) \+ ([0-9]+)`) { r2, err := strconv.Atoi(t.sub[2]) checkErr(err) nums.addSyscallNum(format(t.sub[1], r2, offset)) } else if asOffset != 0 && t.Match(`^#define __NR_(\w+)\s+\(__NR_arch_specific_syscall \+ ([0-9]+)`) { r2, err := strconv.Atoi(t.sub[2]) checkErr(err) nums.addSyscallNum(format(t.sub[1], r2, asOffset)) } } err = s.Err() checkErr(err) var text strings.Builder for _, num := range nums { text.WriteString(num.declaration) } fmt.Printf(template, cmdLine(), goBuildTags(), text.String()) } const template = `// %s // Code generated by the command above; see README.md. DO NOT EDIT. //go:build %s package unix const( %s)` dependencies/pkg/mod/golang.org/x/sys@v0.26.0/unix/linux/Dockerfile0000644000000000000000000000577715107355264023762 0ustar rootrootFROM ubuntu:20.04 # Disable interactive prompts on package installation ENV DEBIAN_FRONTEND noninteractive # Dependencies to get the git sources and go binaries RUN apt-get update && apt-get install -y --no-install-recommends \ ca-certificates \ curl \ git \ rsync \ && apt-get clean \ && rm -rf /var/lib/apt/lists/* # Get the git sources. If not cached, this takes O(5 minutes). WORKDIR /git RUN git config --global advice.detachedHead false # Linux Kernel: Released 15 Sep 2024 RUN git clone --branch v6.11 --depth 1 https://kernel.googlesource.com/pub/scm/linux/kernel/git/torvalds/linux # GNU C library: Released 21 July 2024 RUN git clone --branch release/2.40/master --depth 1 https://sourceware.org/git/glibc.git # Get Go ENV GOLANG_VERSION 1.23.0 ENV GOLANG_DOWNLOAD_URL https://golang.org/dl/go$GOLANG_VERSION.linux-amd64.tar.gz ENV GOLANG_DOWNLOAD_SHA256 905a297f19ead44780548933e0ff1a1b86e8327bb459e92f9c0012569f76f5e3 RUN curl -fsSL "$GOLANG_DOWNLOAD_URL" -o golang.tar.gz \ && echo "$GOLANG_DOWNLOAD_SHA256 golang.tar.gz" | sha256sum -c - \ && tar -C /usr/local -xzf golang.tar.gz \ && rm golang.tar.gz ENV PATH /usr/local/go/bin:$PATH # Linux and Glibc build dependencies and emulator RUN apt-get update && apt-get install -y --no-install-recommends \ bison gawk make python3 \ gcc gcc-multilib \ gettext texinfo \ qemu-user \ && apt-get clean \ && rm -rf /var/lib/apt/lists/* # Cross compilers (install recommended packages to get cross libc-dev) RUN apt-get update && apt-get install -y \ gcc-aarch64-linux-gnu gcc-arm-linux-gnueabi \ gcc-mips-linux-gnu gcc-mips64-linux-gnuabi64 \ gcc-mips64el-linux-gnuabi64 gcc-mipsel-linux-gnu \ gcc-powerpc-linux-gnu gcc-powerpc64-linux-gnu \ gcc-powerpc64le-linux-gnu gcc-riscv64-linux-gnu \ gcc-s390x-linux-gnu gcc-sparc64-linux-gnu \ && apt-get clean \ && rm -rf /var/lib/apt/lists/* # Only for loong64, getting tools of qemu-user and gcc-cross-compiler ENV LOONG64_BASE_URL https://github.com/loongson/build-tools/releases/download/2023.08.08 ENV LOONG64_GCC CLFS-loongarch64-8.1-x86_64-cross-tools-gcc-glibc.tar.xz ENV LOONG64_QEMU qemu-loongarch64 ENV LOONG64_GCC_DOWNLOAD_URL $LOONG64_BASE_URL/$LOONG64_GCC ENV LOONG64_QEMU_DOWNLOAD_URL $LOONG64_BASE_URL/$LOONG64_QEMU RUN apt-get update && apt-get install xz-utils -y && mkdir /loong64 && cd /loong64 \ && curl -fsSL "$LOONG64_QEMU_DOWNLOAD_URL" -o /usr/bin/"$LOONG64_QEMU" \ && chmod +x /usr/bin/"$LOONG64_QEMU" \ && curl -fsSL "$LOONG64_GCC_DOWNLOAD_URL" -o "$LOONG64_GCC" \ && tar xf "$LOONG64_GCC" -C /usr/local/ \ && ln -s /usr/local/cross-tools/bin/loongarch64-unknown-linux-gnu-gcc /usr/bin/loongarch64-linux-gnu-gcc \ && rm -rf /loong64 # Let the scripts know they are in the docker environment ENV GOLANG_SYS_BUILD docker WORKDIR /build/unix ENTRYPOINT ["go", "run", "linux/mkall.go", "/git/linux", "/git/glibc"] dependencies/pkg/mod/golang.org/x/sys@v0.26.0/unix/linux/types.go0000644000000000000000000131737615107355264023465 0ustar rootroot// 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. //go: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 */ // +godefs map struct___kernel_sockaddr_storage SockaddrStorage package unix /* #define _LARGEFILE_SOURCE #define _LARGEFILE64_SOURCE #define _FILE_OFFSET_BITS 64 #define _GNU_SOURCE #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 #if defined(__sparc__) // On sparc{,64}, the kernel defines struct termios2 itself which clashes with the // definition in glibc. Duplicate the kernel version here. #if defined(__arch64__) typedef unsigned int tcflag_t; #else typedef unsigned long tcflag_t; #endif struct termios2 { tcflag_t c_iflag; tcflag_t c_oflag; tcflag_t c_cflag; tcflag_t c_lflag; unsigned char c_line; unsigned char c_cc[19]; unsigned int c_ispeed; unsigned int c_ospeed; }; #else #include #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 #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include // This is to avoid a conflict of struct sched_param being defined by // both the kernel and the glibc (sched.h) headers. #define sched_param kernel_sched_param #include #undef kernel_sched_param #include #include #include #include #include #include #include #include #include #include #include // abi/abi.h generated by mkall.go. #include "abi/abi.h" // On mips64, the glibc stat and kernel stat do not agree #if (defined(__mips__) && _MIPS_SIM == _MIPS_SIM_ABI64) // Use the stat defined by the kernel with a few modifications. These are: // * The time fields (like st_atime and st_atimensec) use the timespec // struct (like st_atim) for consistency with the glibc fields. // * The padding fields get different names to not break compatibility. // * st_blocks is signed, again for compatibility. typedef struct { unsigned int st_dev; unsigned int st_pad1[3]; // Reserved for st_dev expansion unsigned long st_ino; mode_t st_mode; __u32 st_nlink; uid_t st_uid; gid_t st_gid; unsigned int st_rdev; unsigned int st_pad2[3]; // Reserved for st_rdev expansion off_t st_size; // These are declared as separate fields in the kernel. Here we use // the timespec struct for consistency with the other stat structs. struct timespec st_atim; struct timespec st_mtim; struct timespec st_ctim; unsigned int st_blksize; unsigned int st_pad4; long st_blocks; } my_stat; #else typedef struct stat my_stat; #endif #ifdef TCSETS2 // On systems that have "struct termios2" use this as type Termios. typedef struct termios2 termios_t; #else typedef struct termios termios_t; #endif 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_ll s5; struct sockaddr_nl s6; struct sockaddr_pppox s7; struct sockaddr_l2tpip s8; struct sockaddr_l2tpip6 s9; struct sockaddr_nfc s10; struct sockaddr_nfc_llcp s11; }; struct sockaddr_any { struct sockaddr addr; char pad[sizeof(union sockaddr_all) - sizeof(struct sockaddr)]; }; // copied from /usr/include/bluetooth/hci.h struct sockaddr_hci { sa_family_t hci_family; unsigned short hci_dev; unsigned short hci_channel; }; // copied from /usr/include/bluetooth/bluetooth.h #define BDADDR_BREDR 0x00 #define BDADDR_LE_PUBLIC 0x01 #define BDADDR_LE_RANDOM 0x02 // copied from /usr/include/bluetooth/l2cap.h struct sockaddr_l2 { sa_family_t l2_family; unsigned short l2_psm; uint8_t l2_bdaddr[6]; unsigned short l2_cid; uint8_t l2_bdaddr_type; }; // copied from /usr/include/net/bluetooth/rfcomm.h struct sockaddr_rc { sa_family_t rc_family; uint8_t rc_bdaddr[6]; uint8_t rc_channel; }; // copied from /usr/include/linux/un.h struct my_sockaddr_un { sa_family_t sun_family; #if defined(__ARM_EABI__) || defined(__powerpc__) || defined(__powerpc64__) || defined(__riscv) // on some platforms char is unsigned by default signed char sun_path[108]; #else char sun_path[108]; #endif }; // copied from /usr/include/netiucv/iucv.h modified with explicit signed chars. struct sockaddr_iucv { sa_family_t siucv_family; unsigned short siucv_port; unsigned int siucv_addr; signed char siucv_nodeid[8]; signed char siucv_user_id[8]; signed char siucv_name[8]; }; // copied from /usr/include/linux/nfc.h modified with explicit unsigned chars. struct my_sockaddr_nfc_llcp { sa_family_t sa_family; uint32_t dev_idx; uint32_t target_idx; uint32_t nfc_protocol; uint8_t dsap; uint8_t ssap; uint8_t service_name[NFC_LLCP_MAX_SERVICE_NAME]; size_t service_name_len; }; #ifdef __ARM_EABI__ typedef struct user_regs PtraceRegs; #elif defined(__aarch64__) || defined(__loongarch64) typedef struct user_pt_regs PtraceRegs; #elif defined(__mips__) || defined(__powerpc__) || defined(__powerpc64__) typedef struct pt_regs PtraceRegs; #elif defined(__s390x__) typedef struct _user_regs_struct PtraceRegs; #elif defined(__sparc__) #include typedef struct pt_regs PtraceRegs; #else typedef struct user_regs_struct PtraceRegs; #endif #if defined(__s390x__) typedef struct _user_psw_struct ptracePsw; typedef struct _user_fpregs_struct ptraceFpregs; typedef struct _user_per_struct ptracePer; #else typedef struct {} ptracePsw; typedef struct {} ptraceFpregs; typedef struct {} ptracePer; #endif // The real epoll_event is a union, and godefs doesn't handle it well. struct my_epoll_event { uint32_t events; #if defined(__ARM_EABI__) || defined(__aarch64__) || (defined(__mips__) && _MIPS_SIM == _ABIO32) // padding is not specified in linux/eventpoll.h but added to conform to the // alignment requirements of EABI int32_t padFd; #elif defined(__powerpc__) || defined(__powerpc64__) || defined(__s390x__) || defined(__sparc__) \ || defined(__riscv) || (defined(__mips__) && _MIPS_SIM == _MIPS_SIM_ABI64) \ || defined(__loongarch64) int32_t _padFd; #endif int32_t fd; int32_t pad; }; // Copied from with the following modifications: // 1) bit field after read_format redeclared as '__u64 bits' to make it // accessible from Go // 2) collapsed the unions, to avoid confusing godoc for the generated output // (e.g. having to use BpAddr as an extension of Config) struct perf_event_attr_go { __u32 type; __u32 size; __u64 config; // union { // __u64 sample_period; // __u64 sample_freq; // }; __u64 sample; __u64 sample_type; __u64 read_format; // Replaces the bit field. Flags are defined as constants. __u64 bits; // union { // __u32 wakeup_events; // __u32 wakeup_watermark; // }; __u32 wakeup; __u32 bp_type; // union { // __u64 bp_addr; // __u64 config1; // }; __u64 ext1; // union { // __u64 bp_len; // __u64 config2; // }; __u64 ext2; __u64 branch_sample_type; __u64 sample_regs_user; __u32 sample_stack_user; __s32 clockid; __u64 sample_regs_intr; __u32 aux_watermark; __u16 sample_max_stack; __u16 __reserved_2; __u32 aux_sample_size; __u32 __reserved_3; __u64 sig_data; }; // ustat is deprecated and glibc 2.28 removed ustat.h. Provide the type here for // backwards compatibility. Copied from /usr/include/bits/ustat.h struct ustat { __daddr_t f_tfree; __ino_t f_tinode; char f_fname[6]; char f_fpack[6]; }; // my_blkpg_partition is blkpg_partition with unsigned devname & volname. struct my_blkpg_partition { long long start; long long length; int pno; unsigned char devname[BLKPG_DEVNAMELTH]; unsigned char volname[BLKPG_VOLNAMELTH]; }; // tipc_service_name is a copied and slightly modified form of the "name" // variant in sockaddr_tipc's union in tipc.h, so it can be exported as part of // SockaddrTIPC's API. struct tipc_service_name { // From tipc_service_addr. __u32 type; __u32 instance; // From the union. __u32 domain; }; // copied from /usr/include/linux/can/netlink.h modified with explicit unsigned chars. struct my_can_bittiming_const { uint8_t name[16]; __u32 tseg1_min; __u32 tseg1_max; __u32 tseg2_min; __u32 tseg2_max; __u32 sjw_max; __u32 brp_min; __u32 brp_max; __u32 brp_inc; }; #if defined(__riscv) #include #else // copied from /usr/include/asm/hwprobe.h // values are not used but they need to be defined. #define RISCV_HWPROBE_KEY_MVENDORID 0 #define RISCV_HWPROBE_KEY_MARCHID 1 #define RISCV_HWPROBE_KEY_MIMPID 2 #define RISCV_HWPROBE_KEY_BASE_BEHAVIOR 3 #define RISCV_HWPROBE_BASE_BEHAVIOR_IMA (1 << 0) #define RISCV_HWPROBE_KEY_IMA_EXT_0 4 #define RISCV_HWPROBE_IMA_FD (1 << 0) #define RISCV_HWPROBE_IMA_C (1 << 1) #define RISCV_HWPROBE_IMA_V (1 << 2) #define RISCV_HWPROBE_EXT_ZBA (1 << 3) #define RISCV_HWPROBE_EXT_ZBB (1 << 4) #define RISCV_HWPROBE_EXT_ZBS (1 << 5) #define RISCV_HWPROBE_EXT_ZICBOZ (1 << 6) #define RISCV_HWPROBE_EXT_ZBC (1 << 7) #define RISCV_HWPROBE_EXT_ZBKB (1 << 8) #define RISCV_HWPROBE_EXT_ZBKC (1 << 9) #define RISCV_HWPROBE_EXT_ZBKX (1 << 10) #define RISCV_HWPROBE_EXT_ZKND (1 << 11) #define RISCV_HWPROBE_EXT_ZKNE (1 << 12) #define RISCV_HWPROBE_EXT_ZKNH (1 << 13) #define RISCV_HWPROBE_EXT_ZKSED (1 << 14) #define RISCV_HWPROBE_EXT_ZKSH (1 << 15) #define RISCV_HWPROBE_EXT_ZKT (1 << 16) #define RISCV_HWPROBE_EXT_ZVBB (1 << 17) #define RISCV_HWPROBE_EXT_ZVBC (1 << 18) #define RISCV_HWPROBE_EXT_ZVKB (1 << 19) #define RISCV_HWPROBE_EXT_ZVKG (1 << 20) #define RISCV_HWPROBE_EXT_ZVKNED (1 << 21) #define RISCV_HWPROBE_EXT_ZVKNHA (1 << 22) #define RISCV_HWPROBE_EXT_ZVKNHB (1 << 23) #define RISCV_HWPROBE_EXT_ZVKSED (1 << 24) #define RISCV_HWPROBE_EXT_ZVKSH (1 << 25) #define RISCV_HWPROBE_EXT_ZVKT (1 << 26) #define RISCV_HWPROBE_EXT_ZFH (1 << 27) #define RISCV_HWPROBE_EXT_ZFHMIN (1 << 28) #define RISCV_HWPROBE_EXT_ZIHINTNTL (1 << 29) #define RISCV_HWPROBE_EXT_ZVFH (1 << 30) #define RISCV_HWPROBE_EXT_ZVFHMIN (1ULL << 31) #define RISCV_HWPROBE_EXT_ZFA (1ULL << 32) #define RISCV_HWPROBE_EXT_ZTSO (1ULL << 33) #define RISCV_HWPROBE_EXT_ZACAS (1ULL << 34) #define RISCV_HWPROBE_EXT_ZICOND (1ULL << 35) #define RISCV_HWPROBE_EXT_ZIHINTPAUSE (1ULL << 36) #define RISCV_HWPROBE_KEY_CPUPERF_0 5 #define RISCV_HWPROBE_MISALIGNED_UNKNOWN (0 << 0) #define RISCV_HWPROBE_MISALIGNED_EMULATED (1 << 0) #define RISCV_HWPROBE_MISALIGNED_SLOW (2 << 0) #define RISCV_HWPROBE_MISALIGNED_FAST (3 << 0) #define RISCV_HWPROBE_MISALIGNED_UNSUPPORTED (4 << 0) #define RISCV_HWPROBE_MISALIGNED_MASK (7 << 0) #define RISCV_HWPROBE_KEY_ZICBOZ_BLOCK_SIZE 6 #define RISCV_HWPROBE_WHICH_CPUS (1 << 0) struct riscv_hwprobe {}; #endif // copied from /usr/include/uapi/linux/mman.h struct cachestat_range { __u64 off; __u64 len; }; struct cachestat { __u64 nr_cache; __u64 nr_dirty; __u64 nr_writeback; __u64 nr_evicted; __u64 nr_recently_evicted; }; */ import "C" // Machine characteristics const ( SizeofPtr = C.sizeofPtr SizeofShort = C.sizeof_short SizeofInt = C.sizeof_int SizeofLong = C.sizeof_long SizeofLongLong = C.sizeof_longlong PathMax = C.PATH_MAX ) // 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 Timex C.struct_timex type ItimerSpec C.struct_itimerspec type Itimerval C.struct_itimerval const ( ADJ_OFFSET = C.ADJ_OFFSET ADJ_FREQUENCY = C.ADJ_FREQUENCY ADJ_MAXERROR = C.ADJ_MAXERROR ADJ_ESTERROR = C.ADJ_ESTERROR ADJ_STATUS = C.ADJ_STATUS ADJ_TIMECONST = C.ADJ_TIMECONST ADJ_TAI = C.ADJ_TAI ADJ_SETOFFSET = C.ADJ_SETOFFSET ADJ_MICRO = C.ADJ_MICRO ADJ_NANO = C.ADJ_NANO ADJ_TICK = C.ADJ_TICK ADJ_OFFSET_SINGLESHOT = C.ADJ_OFFSET_SINGLESHOT ADJ_OFFSET_SS_READ = C.ADJ_OFFSET_SS_READ ) const ( STA_PLL = C.STA_PLL STA_PPSFREQ = C.STA_PPSFREQ STA_PPSTIME = C.STA_PPSTIME STA_FLL = C.STA_FLL STA_INS = C.STA_INS STA_DEL = C.STA_DEL STA_UNSYNC = C.STA_UNSYNC STA_FREQHOLD = C.STA_FREQHOLD STA_PPSSIGNAL = C.STA_PPSSIGNAL STA_PPSJITTER = C.STA_PPSJITTER STA_PPSWANDER = C.STA_PPSWANDER STA_PPSERROR = C.STA_PPSERROR STA_CLOCKERR = C.STA_CLOCKERR STA_NANO = C.STA_NANO STA_MODE = C.STA_MODE STA_CLK = C.STA_CLK ) const ( TIME_OK = C.TIME_OK TIME_INS = C.TIME_INS TIME_DEL = C.TIME_DEL TIME_OOP = C.TIME_OOP TIME_WAIT = C.TIME_WAIT TIME_ERROR = C.TIME_ERROR TIME_BAD = C.TIME_BAD ) type Time_t C.time_t 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 type Stat_t C.my_stat type StatxTimestamp C.struct_statx_timestamp type Statx_t C.struct_statx type Dirent C.struct_dirent type Fsid C.fsid_t type Flock_t C.struct_flock type FileCloneRange C.struct_file_clone_range type RawFileDedupeRange C.struct_file_dedupe_range type RawFileDedupeRangeInfo C.struct_file_dedupe_range_info const ( SizeofRawFileDedupeRange = C.sizeof_struct_file_dedupe_range SizeofRawFileDedupeRangeInfo = C.sizeof_struct_file_dedupe_range_info FILE_DEDUPE_RANGE_SAME = C.FILE_DEDUPE_RANGE_SAME FILE_DEDUPE_RANGE_DIFFERS = C.FILE_DEDUPE_RANGE_DIFFERS ) // Filesystem Encryption type FscryptPolicy C.struct_fscrypt_policy type FscryptKey C.struct_fscrypt_key type FscryptPolicyV1 C.struct_fscrypt_policy_v1 type FscryptPolicyV2 C.struct_fscrypt_policy_v2 type FscryptGetPolicyExArg C.struct_fscrypt_get_policy_ex_arg type FscryptKeySpecifier C.struct_fscrypt_key_specifier type FscryptAddKeyArg C.struct_fscrypt_add_key_arg type FscryptRemoveKeyArg C.struct_fscrypt_remove_key_arg type FscryptGetKeyStatusArg C.struct_fscrypt_get_key_status_arg // Device Mapper type DmIoctl C.struct_dm_ioctl type DmTargetSpec C.struct_dm_target_spec type DmTargetDeps C.struct_dm_target_deps type DmNameList C.struct_dm_name_list type DmTargetVersions C.struct_dm_target_versions type DmTargetMsg C.struct_dm_target_msg const ( SizeofDmIoctl = C.sizeof_struct_dm_ioctl SizeofDmTargetSpec = C.sizeof_struct_dm_target_spec ) // Structure for Keyctl type KeyctlDHParams C.struct_keyctl_dh_params // 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_my_sockaddr_un type RawSockaddrLinklayer C.struct_sockaddr_ll type RawSockaddrNetlink C.struct_sockaddr_nl type RawSockaddrHCI C.struct_sockaddr_hci type RawSockaddrL2 C.struct_sockaddr_l2 type RawSockaddrRFCOMM C.struct_sockaddr_rc type RawSockaddrCAN C.struct_sockaddr_can type RawSockaddrALG C.struct_sockaddr_alg type RawSockaddrVM C.struct_sockaddr_vm type RawSockaddrXDP C.struct_sockaddr_xdp type RawSockaddrPPPoX [C.sizeof_struct_sockaddr_pppox]byte type RawSockaddrTIPC C.struct_sockaddr_tipc type RawSockaddrL2TPIP C.struct_sockaddr_l2tpip type RawSockaddrL2TPIP6 C.struct_sockaddr_l2tpip6 type RawSockaddrIUCV C.struct_sockaddr_iucv type RawSockaddrNFC C.struct_sockaddr_nfc type RawSockaddrNFCLLCP C.struct_my_sockaddr_nfc_llcp 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 PacketMreq C.struct_packet_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 type Ucred C.struct_ucred type TCPInfo C.struct_tcp_info type TCPVegasInfo C.struct_tcpvegas_info type TCPDCTCPInfo C.struct_tcp_dctcp_info type TCPBBRInfo C.struct_tcp_bbr_info type CanFilter C.struct_can_filter type ifreq C.struct_ifreq type TCPRepairOpt C.struct_tcp_repair_opt 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 SizeofSockaddrLinklayer = C.sizeof_struct_sockaddr_ll SizeofSockaddrNetlink = C.sizeof_struct_sockaddr_nl SizeofSockaddrHCI = C.sizeof_struct_sockaddr_hci SizeofSockaddrL2 = C.sizeof_struct_sockaddr_l2 SizeofSockaddrRFCOMM = C.sizeof_struct_sockaddr_rc SizeofSockaddrCAN = C.sizeof_struct_sockaddr_can SizeofSockaddrALG = C.sizeof_struct_sockaddr_alg SizeofSockaddrVM = C.sizeof_struct_sockaddr_vm SizeofSockaddrXDP = C.sizeof_struct_sockaddr_xdp SizeofSockaddrPPPoX = C.sizeof_struct_sockaddr_pppox SizeofSockaddrTIPC = C.sizeof_struct_sockaddr_tipc SizeofSockaddrL2TPIP = C.sizeof_struct_sockaddr_l2tpip SizeofSockaddrL2TPIP6 = C.sizeof_struct_sockaddr_l2tpip6 SizeofSockaddrIUCV = C.sizeof_struct_sockaddr_iucv SizeofSockaddrNFC = C.sizeof_struct_sockaddr_nfc SizeofSockaddrNFCLLCP = C.sizeof_struct_sockaddr_nfc_llcp SizeofLinger = C.sizeof_struct_linger SizeofIovec = C.sizeof_struct_iovec SizeofIPMreq = C.sizeof_struct_ip_mreq SizeofIPMreqn = C.sizeof_struct_ip_mreqn SizeofIPv6Mreq = C.sizeof_struct_ipv6_mreq SizeofPacketMreq = C.sizeof_struct_packet_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 SizeofUcred = C.sizeof_struct_ucred SizeofTCPInfo = C.sizeof_struct_tcp_info SizeofTCPCCInfo = C.sizeof_union_tcp_cc_info SizeofCanFilter = C.sizeof_struct_can_filter SizeofTCPRepairOpt = C.sizeof_struct_tcp_repair_opt ) // Netlink routing and interface messages const ( NDA_UNSPEC = C.NDA_UNSPEC NDA_DST = C.NDA_DST NDA_LLADDR = C.NDA_LLADDR NDA_CACHEINFO = C.NDA_CACHEINFO NDA_PROBES = C.NDA_PROBES NDA_VLAN = C.NDA_VLAN NDA_PORT = C.NDA_PORT NDA_VNI = C.NDA_VNI NDA_IFINDEX = C.NDA_IFINDEX NDA_MASTER = C.NDA_MASTER NDA_LINK_NETNSID = C.NDA_LINK_NETNSID NDA_SRC_VNI = C.NDA_SRC_VNI NTF_USE = C.NTF_USE NTF_SELF = C.NTF_SELF NTF_MASTER = C.NTF_MASTER NTF_PROXY = C.NTF_PROXY NTF_EXT_LEARNED = C.NTF_EXT_LEARNED NTF_OFFLOADED = C.NTF_OFFLOADED NTF_ROUTER = C.NTF_ROUTER NUD_INCOMPLETE = C.NUD_INCOMPLETE NUD_REACHABLE = C.NUD_REACHABLE NUD_STALE = C.NUD_STALE NUD_DELAY = C.NUD_DELAY NUD_PROBE = C.NUD_PROBE NUD_FAILED = C.NUD_FAILED NUD_NOARP = C.NUD_NOARP NUD_PERMANENT = C.NUD_PERMANENT NUD_NONE = C.NUD_NONE IFA_UNSPEC = C.IFA_UNSPEC IFA_ADDRESS = C.IFA_ADDRESS IFA_LOCAL = C.IFA_LOCAL IFA_LABEL = C.IFA_LABEL IFA_BROADCAST = C.IFA_BROADCAST IFA_ANYCAST = C.IFA_ANYCAST IFA_CACHEINFO = C.IFA_CACHEINFO IFA_MULTICAST = C.IFA_MULTICAST IFA_FLAGS = C.IFA_FLAGS IFA_RT_PRIORITY = C.IFA_RT_PRIORITY IFA_TARGET_NETNSID = C.IFA_TARGET_NETNSID RT_SCOPE_UNIVERSE = C.RT_SCOPE_UNIVERSE RT_SCOPE_SITE = C.RT_SCOPE_SITE RT_SCOPE_LINK = C.RT_SCOPE_LINK RT_SCOPE_HOST = C.RT_SCOPE_HOST RT_SCOPE_NOWHERE = C.RT_SCOPE_NOWHERE RT_TABLE_UNSPEC = C.RT_TABLE_UNSPEC RT_TABLE_COMPAT = C.RT_TABLE_COMPAT RT_TABLE_DEFAULT = C.RT_TABLE_DEFAULT RT_TABLE_MAIN = C.RT_TABLE_MAIN RT_TABLE_LOCAL = C.RT_TABLE_LOCAL RT_TABLE_MAX = C.RT_TABLE_MAX RTA_UNSPEC = C.RTA_UNSPEC RTA_DST = C.RTA_DST RTA_SRC = C.RTA_SRC RTA_IIF = C.RTA_IIF RTA_OIF = C.RTA_OIF RTA_GATEWAY = C.RTA_GATEWAY RTA_PRIORITY = C.RTA_PRIORITY RTA_PREFSRC = C.RTA_PREFSRC RTA_METRICS = C.RTA_METRICS RTA_MULTIPATH = C.RTA_MULTIPATH RTA_FLOW = C.RTA_FLOW RTA_CACHEINFO = C.RTA_CACHEINFO RTA_TABLE = C.RTA_TABLE RTA_MARK = C.RTA_MARK RTA_MFC_STATS = C.RTA_MFC_STATS RTA_VIA = C.RTA_VIA RTA_NEWDST = C.RTA_NEWDST RTA_PREF = C.RTA_PREF RTA_ENCAP_TYPE = C.RTA_ENCAP_TYPE RTA_ENCAP = C.RTA_ENCAP RTA_EXPIRES = C.RTA_EXPIRES RTA_PAD = C.RTA_PAD RTA_UID = C.RTA_UID RTA_TTL_PROPAGATE = C.RTA_TTL_PROPAGATE RTA_IP_PROTO = C.RTA_IP_PROTO RTA_SPORT = C.RTA_SPORT RTA_DPORT = C.RTA_DPORT RTN_UNSPEC = C.RTN_UNSPEC RTN_UNICAST = C.RTN_UNICAST RTN_LOCAL = C.RTN_LOCAL RTN_BROADCAST = C.RTN_BROADCAST RTN_ANYCAST = C.RTN_ANYCAST RTN_MULTICAST = C.RTN_MULTICAST RTN_BLACKHOLE = C.RTN_BLACKHOLE RTN_UNREACHABLE = C.RTN_UNREACHABLE RTN_PROHIBIT = C.RTN_PROHIBIT RTN_THROW = C.RTN_THROW RTN_NAT = C.RTN_NAT RTN_XRESOLVE = C.RTN_XRESOLVE SizeofNlMsghdr = C.sizeof_struct_nlmsghdr SizeofNlMsgerr = C.sizeof_struct_nlmsgerr SizeofRtGenmsg = C.sizeof_struct_rtgenmsg SizeofNlAttr = C.sizeof_struct_nlattr SizeofRtAttr = C.sizeof_struct_rtattr SizeofIfInfomsg = C.sizeof_struct_ifinfomsg SizeofIfAddrmsg = C.sizeof_struct_ifaddrmsg SizeofIfaCacheinfo = C.sizeof_struct_ifa_cacheinfo SizeofRtMsg = C.sizeof_struct_rtmsg SizeofRtNexthop = C.sizeof_struct_rtnexthop SizeofNdUseroptmsg = C.sizeof_struct_nduseroptmsg SizeofNdMsg = C.sizeof_struct_ndmsg ) type NlMsghdr C.struct_nlmsghdr type NlMsgerr C.struct_nlmsgerr type RtGenmsg C.struct_rtgenmsg type NlAttr C.struct_nlattr type RtAttr C.struct_rtattr type IfInfomsg C.struct_ifinfomsg type IfAddrmsg C.struct_ifaddrmsg type IfaCacheinfo C.struct_ifa_cacheinfo type RtMsg C.struct_rtmsg type RtNexthop C.struct_rtnexthop type NdUseroptmsg C.struct_nduseroptmsg type NdMsg C.struct_ndmsg // ICMP socket options const ( ICMP_FILTER = C.ICMP_FILTER ICMPV6_FILTER = C.ICMPV6_FILTER ICMPV6_FILTER_BLOCK = C.ICMPV6_FILTER_BLOCK ICMPV6_FILTER_BLOCKOTHERS = C.ICMPV6_FILTER_BLOCKOTHERS ICMPV6_FILTER_PASS = C.ICMPV6_FILTER_PASS ICMPV6_FILTER_PASSONLY = C.ICMPV6_FILTER_PASSONLY ) // Linux socket filter const ( SizeofSockFilter = C.sizeof_struct_sock_filter SizeofSockFprog = C.sizeof_struct_sock_fprog ) type SockFilter C.struct_sock_filter type SockFprog C.struct_sock_fprog // Inotify type InotifyEvent C.struct_inotify_event const SizeofInotifyEvent = C.sizeof_struct_inotify_event // Ptrace // Register structures type PtraceRegs C.PtraceRegs // Structures contained in PtraceRegs on s390x (exported by mkpost.go) type PtracePsw C.ptracePsw type PtraceFpregs C.ptraceFpregs type PtracePer C.ptracePer // Misc type FdSet C.fd_set type Sysinfo_t C.struct_sysinfo const SI_LOAD_SHIFT = C.SI_LOAD_SHIFT type Utsname C.struct_utsname type Ustat_t C.struct_ustat type EpollEvent C.struct_my_epoll_event const ( AT_EMPTY_PATH = C.AT_EMPTY_PATH AT_FDCWD = C.AT_FDCWD AT_NO_AUTOMOUNT = C.AT_NO_AUTOMOUNT AT_REMOVEDIR = C.AT_REMOVEDIR AT_STATX_SYNC_AS_STAT = C.AT_STATX_SYNC_AS_STAT AT_STATX_FORCE_SYNC = C.AT_STATX_FORCE_SYNC AT_STATX_DONT_SYNC = C.AT_STATX_DONT_SYNC AT_RECURSIVE = C.AT_RECURSIVE AT_SYMLINK_FOLLOW = C.AT_SYMLINK_FOLLOW AT_SYMLINK_NOFOLLOW = C.AT_SYMLINK_NOFOLLOW AT_EACCESS = C.AT_EACCESS OPEN_TREE_CLONE = C.OPEN_TREE_CLONE OPEN_TREE_CLOEXEC = C.OPEN_TREE_CLOEXEC MOVE_MOUNT_F_SYMLINKS = C.MOVE_MOUNT_F_SYMLINKS MOVE_MOUNT_F_AUTOMOUNTS = C.MOVE_MOUNT_F_AUTOMOUNTS MOVE_MOUNT_F_EMPTY_PATH = C.MOVE_MOUNT_F_EMPTY_PATH MOVE_MOUNT_T_SYMLINKS = C.MOVE_MOUNT_T_SYMLINKS MOVE_MOUNT_T_AUTOMOUNTS = C.MOVE_MOUNT_T_AUTOMOUNTS MOVE_MOUNT_T_EMPTY_PATH = C.MOVE_MOUNT_T_EMPTY_PATH MOVE_MOUNT_SET_GROUP = C.MOVE_MOUNT_SET_GROUP FSOPEN_CLOEXEC = C.FSOPEN_CLOEXEC FSPICK_CLOEXEC = C.FSPICK_CLOEXEC FSPICK_SYMLINK_NOFOLLOW = C.FSPICK_SYMLINK_NOFOLLOW FSPICK_NO_AUTOMOUNT = C.FSPICK_NO_AUTOMOUNT FSPICK_EMPTY_PATH = C.FSPICK_EMPTY_PATH FSMOUNT_CLOEXEC = C.FSMOUNT_CLOEXEC FSCONFIG_SET_FLAG = C.FSCONFIG_SET_FLAG FSCONFIG_SET_STRING = C.FSCONFIG_SET_STRING FSCONFIG_SET_BINARY = C.FSCONFIG_SET_BINARY FSCONFIG_SET_PATH = C.FSCONFIG_SET_PATH FSCONFIG_SET_PATH_EMPTY = C.FSCONFIG_SET_PATH_EMPTY FSCONFIG_SET_FD = C.FSCONFIG_SET_FD FSCONFIG_CMD_CREATE = C.FSCONFIG_CMD_CREATE FSCONFIG_CMD_RECONFIGURE = C.FSCONFIG_CMD_RECONFIGURE ) type OpenHow C.struct_open_how const SizeofOpenHow = C.sizeof_struct_open_how const ( RESOLVE_BENEATH = C.RESOLVE_BENEATH RESOLVE_IN_ROOT = C.RESOLVE_IN_ROOT RESOLVE_NO_MAGICLINKS = C.RESOLVE_NO_MAGICLINKS RESOLVE_NO_SYMLINKS = C.RESOLVE_NO_SYMLINKS RESOLVE_NO_XDEV = C.RESOLVE_NO_XDEV ) type PollFd C.struct_pollfd const ( POLLIN = C.POLLIN POLLPRI = C.POLLPRI POLLOUT = C.POLLOUT POLLRDHUP = C.POLLRDHUP POLLERR = C.POLLERR POLLHUP = C.POLLHUP POLLNVAL = C.POLLNVAL ) type Sigset_t C.sigset_t type sigset_argpack struct { ss *Sigset_t ssLen uintptr // Size (in bytes) of object pointed to by ss. } const _C__NSIG = C._NSIG const ( SIG_BLOCK = C.SIG_BLOCK SIG_UNBLOCK = C.SIG_UNBLOCK SIG_SETMASK = C.SIG_SETMASK ) type SignalfdSiginfo C.struct_signalfd_siginfo type Siginfo C.siginfo_t // Terminal handling type Termios C.termios_t type Winsize C.struct_winsize // Taskstats and cgroup stats. type Taskstats C.struct_taskstats const ( TASKSTATS_CMD_UNSPEC = C.TASKSTATS_CMD_UNSPEC TASKSTATS_CMD_GET = C.TASKSTATS_CMD_GET TASKSTATS_CMD_NEW = C.TASKSTATS_CMD_NEW TASKSTATS_TYPE_UNSPEC = C.TASKSTATS_TYPE_UNSPEC TASKSTATS_TYPE_PID = C.TASKSTATS_TYPE_PID TASKSTATS_TYPE_TGID = C.TASKSTATS_TYPE_TGID TASKSTATS_TYPE_STATS = C.TASKSTATS_TYPE_STATS TASKSTATS_TYPE_AGGR_PID = C.TASKSTATS_TYPE_AGGR_PID TASKSTATS_TYPE_AGGR_TGID = C.TASKSTATS_TYPE_AGGR_TGID TASKSTATS_TYPE_NULL = C.TASKSTATS_TYPE_NULL TASKSTATS_CMD_ATTR_UNSPEC = C.TASKSTATS_CMD_ATTR_UNSPEC TASKSTATS_CMD_ATTR_PID = C.TASKSTATS_CMD_ATTR_PID TASKSTATS_CMD_ATTR_TGID = C.TASKSTATS_CMD_ATTR_TGID TASKSTATS_CMD_ATTR_REGISTER_CPUMASK = C.TASKSTATS_CMD_ATTR_REGISTER_CPUMASK TASKSTATS_CMD_ATTR_DEREGISTER_CPUMASK = C.TASKSTATS_CMD_ATTR_DEREGISTER_CPUMASK ) type CGroupStats C.struct_cgroupstats const ( CGROUPSTATS_CMD_UNSPEC = C.__TASKSTATS_CMD_MAX CGROUPSTATS_CMD_GET = C.CGROUPSTATS_CMD_GET CGROUPSTATS_CMD_NEW = C.CGROUPSTATS_CMD_NEW CGROUPSTATS_TYPE_UNSPEC = C.CGROUPSTATS_TYPE_UNSPEC CGROUPSTATS_TYPE_CGROUP_STATS = C.CGROUPSTATS_TYPE_CGROUP_STATS CGROUPSTATS_CMD_ATTR_UNSPEC = C.CGROUPSTATS_CMD_ATTR_UNSPEC CGROUPSTATS_CMD_ATTR_FD = C.CGROUPSTATS_CMD_ATTR_FD ) // Generic netlink type Genlmsghdr C.struct_genlmsghdr // Generated by: // $ perl -nlE '/^\s*(CTRL_\w+)/ && say "$1 = C.$1"' /usr/include/linux/genetlink.h const ( CTRL_CMD_UNSPEC = C.CTRL_CMD_UNSPEC CTRL_CMD_NEWFAMILY = C.CTRL_CMD_NEWFAMILY CTRL_CMD_DELFAMILY = C.CTRL_CMD_DELFAMILY CTRL_CMD_GETFAMILY = C.CTRL_CMD_GETFAMILY CTRL_CMD_NEWOPS = C.CTRL_CMD_NEWOPS CTRL_CMD_DELOPS = C.CTRL_CMD_DELOPS CTRL_CMD_GETOPS = C.CTRL_CMD_GETOPS CTRL_CMD_NEWMCAST_GRP = C.CTRL_CMD_NEWMCAST_GRP CTRL_CMD_DELMCAST_GRP = C.CTRL_CMD_DELMCAST_GRP CTRL_CMD_GETMCAST_GRP = C.CTRL_CMD_GETMCAST_GRP CTRL_CMD_GETPOLICY = C.CTRL_CMD_GETPOLICY CTRL_ATTR_UNSPEC = C.CTRL_ATTR_UNSPEC CTRL_ATTR_FAMILY_ID = C.CTRL_ATTR_FAMILY_ID CTRL_ATTR_FAMILY_NAME = C.CTRL_ATTR_FAMILY_NAME CTRL_ATTR_VERSION = C.CTRL_ATTR_VERSION CTRL_ATTR_HDRSIZE = C.CTRL_ATTR_HDRSIZE CTRL_ATTR_MAXATTR = C.CTRL_ATTR_MAXATTR CTRL_ATTR_OPS = C.CTRL_ATTR_OPS CTRL_ATTR_MCAST_GROUPS = C.CTRL_ATTR_MCAST_GROUPS CTRL_ATTR_POLICY = C.CTRL_ATTR_POLICY CTRL_ATTR_OP_POLICY = C.CTRL_ATTR_OP_POLICY CTRL_ATTR_OP = C.CTRL_ATTR_OP CTRL_ATTR_OP_UNSPEC = C.CTRL_ATTR_OP_UNSPEC CTRL_ATTR_OP_ID = C.CTRL_ATTR_OP_ID CTRL_ATTR_OP_FLAGS = C.CTRL_ATTR_OP_FLAGS CTRL_ATTR_MCAST_GRP_UNSPEC = C.CTRL_ATTR_MCAST_GRP_UNSPEC CTRL_ATTR_MCAST_GRP_NAME = C.CTRL_ATTR_MCAST_GRP_NAME CTRL_ATTR_MCAST_GRP_ID = C.CTRL_ATTR_MCAST_GRP_ID CTRL_ATTR_POLICY_UNSPEC = C.CTRL_ATTR_POLICY_UNSPEC CTRL_ATTR_POLICY_DO = C.CTRL_ATTR_POLICY_DO CTRL_ATTR_POLICY_DUMP = C.CTRL_ATTR_POLICY_DUMP CTRL_ATTR_POLICY_DUMP_MAX = C.CTRL_ATTR_POLICY_DUMP_MAX ) // CPU affinity type cpuMask C.__cpu_mask const ( _CPU_SETSIZE = C.__CPU_SETSIZE _NCPUBITS = C.__NCPUBITS ) // Bluetooth const ( BDADDR_BREDR = C.BDADDR_BREDR BDADDR_LE_PUBLIC = C.BDADDR_LE_PUBLIC BDADDR_LE_RANDOM = C.BDADDR_LE_RANDOM ) // Perf subsystem type PerfEventAttr C.struct_perf_event_attr_go type PerfEventMmapPage C.struct_perf_event_mmap_page // Bit field in struct perf_event_attr expanded as flags. // Set these on PerfEventAttr.Bits by ORing them together. const ( PerfBitDisabled uint64 = CBitFieldMaskBit0 PerfBitInherit = CBitFieldMaskBit1 PerfBitPinned = CBitFieldMaskBit2 PerfBitExclusive = CBitFieldMaskBit3 PerfBitExcludeUser = CBitFieldMaskBit4 PerfBitExcludeKernel = CBitFieldMaskBit5 PerfBitExcludeHv = CBitFieldMaskBit6 PerfBitExcludeIdle = CBitFieldMaskBit7 PerfBitMmap = CBitFieldMaskBit8 PerfBitComm = CBitFieldMaskBit9 PerfBitFreq = CBitFieldMaskBit10 PerfBitInheritStat = CBitFieldMaskBit11 PerfBitEnableOnExec = CBitFieldMaskBit12 PerfBitTask = CBitFieldMaskBit13 PerfBitWatermark = CBitFieldMaskBit14 PerfBitPreciseIPBit1 = CBitFieldMaskBit15 PerfBitPreciseIPBit2 = CBitFieldMaskBit16 PerfBitMmapData = CBitFieldMaskBit17 PerfBitSampleIDAll = CBitFieldMaskBit18 PerfBitExcludeHost = CBitFieldMaskBit19 PerfBitExcludeGuest = CBitFieldMaskBit20 PerfBitExcludeCallchainKernel = CBitFieldMaskBit21 PerfBitExcludeCallchainUser = CBitFieldMaskBit22 PerfBitMmap2 = CBitFieldMaskBit23 PerfBitCommExec = CBitFieldMaskBit24 PerfBitUseClockID = CBitFieldMaskBit25 PerfBitContextSwitch = CBitFieldMaskBit26 PerfBitWriteBackward = CBitFieldMaskBit27 ) // generated by: // perl -nlE '/^\s*(PERF_\w+)/ && say "$1 = C.$1"' /usr/include/linux/perf_event.h const ( PERF_TYPE_HARDWARE = C.PERF_TYPE_HARDWARE PERF_TYPE_SOFTWARE = C.PERF_TYPE_SOFTWARE PERF_TYPE_TRACEPOINT = C.PERF_TYPE_TRACEPOINT PERF_TYPE_HW_CACHE = C.PERF_TYPE_HW_CACHE PERF_TYPE_RAW = C.PERF_TYPE_RAW PERF_TYPE_BREAKPOINT = C.PERF_TYPE_BREAKPOINT PERF_TYPE_MAX = C.PERF_TYPE_MAX PERF_COUNT_HW_CPU_CYCLES = C.PERF_COUNT_HW_CPU_CYCLES PERF_COUNT_HW_INSTRUCTIONS = C.PERF_COUNT_HW_INSTRUCTIONS PERF_COUNT_HW_CACHE_REFERENCES = C.PERF_COUNT_HW_CACHE_REFERENCES PERF_COUNT_HW_CACHE_MISSES = C.PERF_COUNT_HW_CACHE_MISSES PERF_COUNT_HW_BRANCH_INSTRUCTIONS = C.PERF_COUNT_HW_BRANCH_INSTRUCTIONS PERF_COUNT_HW_BRANCH_MISSES = C.PERF_COUNT_HW_BRANCH_MISSES PERF_COUNT_HW_BUS_CYCLES = C.PERF_COUNT_HW_BUS_CYCLES PERF_COUNT_HW_STALLED_CYCLES_FRONTEND = C.PERF_COUNT_HW_STALLED_CYCLES_FRONTEND PERF_COUNT_HW_STALLED_CYCLES_BACKEND = C.PERF_COUNT_HW_STALLED_CYCLES_BACKEND PERF_COUNT_HW_REF_CPU_CYCLES = C.PERF_COUNT_HW_REF_CPU_CYCLES PERF_COUNT_HW_MAX = C.PERF_COUNT_HW_MAX PERF_COUNT_HW_CACHE_L1D = C.PERF_COUNT_HW_CACHE_L1D PERF_COUNT_HW_CACHE_L1I = C.PERF_COUNT_HW_CACHE_L1I PERF_COUNT_HW_CACHE_LL = C.PERF_COUNT_HW_CACHE_LL PERF_COUNT_HW_CACHE_DTLB = C.PERF_COUNT_HW_CACHE_DTLB PERF_COUNT_HW_CACHE_ITLB = C.PERF_COUNT_HW_CACHE_ITLB PERF_COUNT_HW_CACHE_BPU = C.PERF_COUNT_HW_CACHE_BPU PERF_COUNT_HW_CACHE_NODE = C.PERF_COUNT_HW_CACHE_NODE PERF_COUNT_HW_CACHE_MAX = C.PERF_COUNT_HW_CACHE_MAX PERF_COUNT_HW_CACHE_OP_READ = C.PERF_COUNT_HW_CACHE_OP_READ PERF_COUNT_HW_CACHE_OP_WRITE = C.PERF_COUNT_HW_CACHE_OP_WRITE PERF_COUNT_HW_CACHE_OP_PREFETCH = C.PERF_COUNT_HW_CACHE_OP_PREFETCH PERF_COUNT_HW_CACHE_OP_MAX = C.PERF_COUNT_HW_CACHE_OP_MAX PERF_COUNT_HW_CACHE_RESULT_ACCESS = C.PERF_COUNT_HW_CACHE_RESULT_ACCESS PERF_COUNT_HW_CACHE_RESULT_MISS = C.PERF_COUNT_HW_CACHE_RESULT_MISS PERF_COUNT_HW_CACHE_RESULT_MAX = C.PERF_COUNT_HW_CACHE_RESULT_MAX PERF_COUNT_SW_CPU_CLOCK = C.PERF_COUNT_SW_CPU_CLOCK PERF_COUNT_SW_TASK_CLOCK = C.PERF_COUNT_SW_TASK_CLOCK PERF_COUNT_SW_PAGE_FAULTS = C.PERF_COUNT_SW_PAGE_FAULTS PERF_COUNT_SW_CONTEXT_SWITCHES = C.PERF_COUNT_SW_CONTEXT_SWITCHES PERF_COUNT_SW_CPU_MIGRATIONS = C.PERF_COUNT_SW_CPU_MIGRATIONS PERF_COUNT_SW_PAGE_FAULTS_MIN = C.PERF_COUNT_SW_PAGE_FAULTS_MIN PERF_COUNT_SW_PAGE_FAULTS_MAJ = C.PERF_COUNT_SW_PAGE_FAULTS_MAJ PERF_COUNT_SW_ALIGNMENT_FAULTS = C.PERF_COUNT_SW_ALIGNMENT_FAULTS PERF_COUNT_SW_EMULATION_FAULTS = C.PERF_COUNT_SW_EMULATION_FAULTS PERF_COUNT_SW_DUMMY = C.PERF_COUNT_SW_DUMMY PERF_COUNT_SW_BPF_OUTPUT = C.PERF_COUNT_SW_BPF_OUTPUT PERF_COUNT_SW_MAX = C.PERF_COUNT_SW_MAX PERF_SAMPLE_IP = C.PERF_SAMPLE_IP PERF_SAMPLE_TID = C.PERF_SAMPLE_TID PERF_SAMPLE_TIME = C.PERF_SAMPLE_TIME PERF_SAMPLE_ADDR = C.PERF_SAMPLE_ADDR PERF_SAMPLE_READ = C.PERF_SAMPLE_READ PERF_SAMPLE_CALLCHAIN = C.PERF_SAMPLE_CALLCHAIN PERF_SAMPLE_ID = C.PERF_SAMPLE_ID PERF_SAMPLE_CPU = C.PERF_SAMPLE_CPU PERF_SAMPLE_PERIOD = C.PERF_SAMPLE_PERIOD PERF_SAMPLE_STREAM_ID = C.PERF_SAMPLE_STREAM_ID PERF_SAMPLE_RAW = C.PERF_SAMPLE_RAW PERF_SAMPLE_BRANCH_STACK = C.PERF_SAMPLE_BRANCH_STACK PERF_SAMPLE_REGS_USER = C.PERF_SAMPLE_REGS_USER PERF_SAMPLE_STACK_USER = C.PERF_SAMPLE_STACK_USER PERF_SAMPLE_WEIGHT = C.PERF_SAMPLE_WEIGHT PERF_SAMPLE_DATA_SRC = C.PERF_SAMPLE_DATA_SRC PERF_SAMPLE_IDENTIFIER = C.PERF_SAMPLE_IDENTIFIER PERF_SAMPLE_TRANSACTION = C.PERF_SAMPLE_TRANSACTION PERF_SAMPLE_REGS_INTR = C.PERF_SAMPLE_REGS_INTR PERF_SAMPLE_PHYS_ADDR = C.PERF_SAMPLE_PHYS_ADDR PERF_SAMPLE_AUX = C.PERF_SAMPLE_AUX PERF_SAMPLE_CGROUP = C.PERF_SAMPLE_CGROUP PERF_SAMPLE_DATA_PAGE_SIZE = C.PERF_SAMPLE_DATA_PAGE_SIZE PERF_SAMPLE_CODE_PAGE_SIZE = C.PERF_SAMPLE_CODE_PAGE_SIZE PERF_SAMPLE_WEIGHT_STRUCT = C.PERF_SAMPLE_WEIGHT_STRUCT PERF_SAMPLE_MAX = C.PERF_SAMPLE_MAX PERF_SAMPLE_BRANCH_USER_SHIFT = C.PERF_SAMPLE_BRANCH_USER_SHIFT PERF_SAMPLE_BRANCH_KERNEL_SHIFT = C.PERF_SAMPLE_BRANCH_KERNEL_SHIFT PERF_SAMPLE_BRANCH_HV_SHIFT = C.PERF_SAMPLE_BRANCH_HV_SHIFT PERF_SAMPLE_BRANCH_ANY_SHIFT = C.PERF_SAMPLE_BRANCH_ANY_SHIFT PERF_SAMPLE_BRANCH_ANY_CALL_SHIFT = C.PERF_SAMPLE_BRANCH_ANY_CALL_SHIFT PERF_SAMPLE_BRANCH_ANY_RETURN_SHIFT = C.PERF_SAMPLE_BRANCH_ANY_RETURN_SHIFT PERF_SAMPLE_BRANCH_IND_CALL_SHIFT = C.PERF_SAMPLE_BRANCH_IND_CALL_SHIFT PERF_SAMPLE_BRANCH_ABORT_TX_SHIFT = C.PERF_SAMPLE_BRANCH_ABORT_TX_SHIFT PERF_SAMPLE_BRANCH_IN_TX_SHIFT = C.PERF_SAMPLE_BRANCH_IN_TX_SHIFT PERF_SAMPLE_BRANCH_NO_TX_SHIFT = C.PERF_SAMPLE_BRANCH_NO_TX_SHIFT PERF_SAMPLE_BRANCH_COND_SHIFT = C.PERF_SAMPLE_BRANCH_COND_SHIFT PERF_SAMPLE_BRANCH_CALL_STACK_SHIFT = C.PERF_SAMPLE_BRANCH_CALL_STACK_SHIFT PERF_SAMPLE_BRANCH_IND_JUMP_SHIFT = C.PERF_SAMPLE_BRANCH_IND_JUMP_SHIFT PERF_SAMPLE_BRANCH_CALL_SHIFT = C.PERF_SAMPLE_BRANCH_CALL_SHIFT PERF_SAMPLE_BRANCH_NO_FLAGS_SHIFT = C.PERF_SAMPLE_BRANCH_NO_FLAGS_SHIFT PERF_SAMPLE_BRANCH_NO_CYCLES_SHIFT = C.PERF_SAMPLE_BRANCH_NO_CYCLES_SHIFT PERF_SAMPLE_BRANCH_TYPE_SAVE_SHIFT = C.PERF_SAMPLE_BRANCH_TYPE_SAVE_SHIFT PERF_SAMPLE_BRANCH_HW_INDEX_SHIFT = C.PERF_SAMPLE_BRANCH_HW_INDEX_SHIFT PERF_SAMPLE_BRANCH_PRIV_SAVE_SHIFT = C.PERF_SAMPLE_BRANCH_PRIV_SAVE_SHIFT PERF_SAMPLE_BRANCH_COUNTERS = C.PERF_SAMPLE_BRANCH_COUNTERS PERF_SAMPLE_BRANCH_MAX_SHIFT = C.PERF_SAMPLE_BRANCH_MAX_SHIFT PERF_SAMPLE_BRANCH_USER = C.PERF_SAMPLE_BRANCH_USER PERF_SAMPLE_BRANCH_KERNEL = C.PERF_SAMPLE_BRANCH_KERNEL PERF_SAMPLE_BRANCH_HV = C.PERF_SAMPLE_BRANCH_HV PERF_SAMPLE_BRANCH_ANY = C.PERF_SAMPLE_BRANCH_ANY PERF_SAMPLE_BRANCH_ANY_CALL = C.PERF_SAMPLE_BRANCH_ANY_CALL PERF_SAMPLE_BRANCH_ANY_RETURN = C.PERF_SAMPLE_BRANCH_ANY_RETURN PERF_SAMPLE_BRANCH_IND_CALL = C.PERF_SAMPLE_BRANCH_IND_CALL PERF_SAMPLE_BRANCH_ABORT_TX = C.PERF_SAMPLE_BRANCH_ABORT_TX PERF_SAMPLE_BRANCH_IN_TX = C.PERF_SAMPLE_BRANCH_IN_TX PERF_SAMPLE_BRANCH_NO_TX = C.PERF_SAMPLE_BRANCH_NO_TX PERF_SAMPLE_BRANCH_COND = C.PERF_SAMPLE_BRANCH_COND PERF_SAMPLE_BRANCH_CALL_STACK = C.PERF_SAMPLE_BRANCH_CALL_STACK PERF_SAMPLE_BRANCH_IND_JUMP = C.PERF_SAMPLE_BRANCH_IND_JUMP PERF_SAMPLE_BRANCH_CALL = C.PERF_SAMPLE_BRANCH_CALL PERF_SAMPLE_BRANCH_NO_FLAGS = C.PERF_SAMPLE_BRANCH_NO_FLAGS PERF_SAMPLE_BRANCH_NO_CYCLES = C.PERF_SAMPLE_BRANCH_NO_CYCLES PERF_SAMPLE_BRANCH_TYPE_SAVE = C.PERF_SAMPLE_BRANCH_TYPE_SAVE PERF_SAMPLE_BRANCH_HW_INDEX = C.PERF_SAMPLE_BRANCH_HW_INDEX PERF_SAMPLE_BRANCH_PRIV_SAVE = C.PERF_SAMPLE_BRANCH_PRIV_SAVE PERF_SAMPLE_BRANCH_MAX = C.PERF_SAMPLE_BRANCH_MAX PERF_BR_UNKNOWN = C.PERF_BR_UNKNOWN PERF_BR_COND = C.PERF_BR_COND PERF_BR_UNCOND = C.PERF_BR_UNCOND PERF_BR_IND = C.PERF_BR_IND PERF_BR_CALL = C.PERF_BR_CALL PERF_BR_IND_CALL = C.PERF_BR_IND_CALL PERF_BR_RET = C.PERF_BR_RET PERF_BR_SYSCALL = C.PERF_BR_SYSCALL PERF_BR_SYSRET = C.PERF_BR_SYSRET PERF_BR_COND_CALL = C.PERF_BR_COND_CALL PERF_BR_COND_RET = C.PERF_BR_COND_RET PERF_BR_ERET = C.PERF_BR_ERET PERF_BR_IRQ = C.PERF_BR_IRQ PERF_BR_SERROR = C.PERF_BR_SERROR PERF_BR_NO_TX = C.PERF_BR_NO_TX PERF_BR_EXTEND_ABI = C.PERF_BR_EXTEND_ABI PERF_BR_MAX = C.PERF_BR_MAX PERF_SAMPLE_REGS_ABI_NONE = C.PERF_SAMPLE_REGS_ABI_NONE PERF_SAMPLE_REGS_ABI_32 = C.PERF_SAMPLE_REGS_ABI_32 PERF_SAMPLE_REGS_ABI_64 = C.PERF_SAMPLE_REGS_ABI_64 PERF_TXN_ELISION = C.PERF_TXN_ELISION PERF_TXN_TRANSACTION = C.PERF_TXN_TRANSACTION PERF_TXN_SYNC = C.PERF_TXN_SYNC PERF_TXN_ASYNC = C.PERF_TXN_ASYNC PERF_TXN_RETRY = C.PERF_TXN_RETRY PERF_TXN_CONFLICT = C.PERF_TXN_CONFLICT PERF_TXN_CAPACITY_WRITE = C.PERF_TXN_CAPACITY_WRITE PERF_TXN_CAPACITY_READ = C.PERF_TXN_CAPACITY_READ PERF_TXN_MAX = C.PERF_TXN_MAX PERF_TXN_ABORT_MASK = C.PERF_TXN_ABORT_MASK PERF_TXN_ABORT_SHIFT = C.PERF_TXN_ABORT_SHIFT PERF_FORMAT_TOTAL_TIME_ENABLED = C.PERF_FORMAT_TOTAL_TIME_ENABLED PERF_FORMAT_TOTAL_TIME_RUNNING = C.PERF_FORMAT_TOTAL_TIME_RUNNING PERF_FORMAT_ID = C.PERF_FORMAT_ID PERF_FORMAT_GROUP = C.PERF_FORMAT_GROUP PERF_FORMAT_LOST = C.PERF_FORMAT_LOST PERF_FORMAT_MAX = C.PERF_FORMAT_MAX PERF_IOC_FLAG_GROUP = C.PERF_IOC_FLAG_GROUP PERF_RECORD_MMAP = C.PERF_RECORD_MMAP PERF_RECORD_LOST = C.PERF_RECORD_LOST PERF_RECORD_COMM = C.PERF_RECORD_COMM PERF_RECORD_EXIT = C.PERF_RECORD_EXIT PERF_RECORD_THROTTLE = C.PERF_RECORD_THROTTLE PERF_RECORD_UNTHROTTLE = C.PERF_RECORD_UNTHROTTLE PERF_RECORD_FORK = C.PERF_RECORD_FORK PERF_RECORD_READ = C.PERF_RECORD_READ PERF_RECORD_SAMPLE = C.PERF_RECORD_SAMPLE PERF_RECORD_MMAP2 = C.PERF_RECORD_MMAP2 PERF_RECORD_AUX = C.PERF_RECORD_AUX PERF_RECORD_ITRACE_START = C.PERF_RECORD_ITRACE_START PERF_RECORD_LOST_SAMPLES = C.PERF_RECORD_LOST_SAMPLES PERF_RECORD_SWITCH = C.PERF_RECORD_SWITCH PERF_RECORD_SWITCH_CPU_WIDE = C.PERF_RECORD_SWITCH_CPU_WIDE PERF_RECORD_NAMESPACES = C.PERF_RECORD_NAMESPACES PERF_RECORD_KSYMBOL = C.PERF_RECORD_KSYMBOL PERF_RECORD_BPF_EVENT = C.PERF_RECORD_BPF_EVENT PERF_RECORD_CGROUP = C.PERF_RECORD_CGROUP PERF_RECORD_TEXT_POKE = C.PERF_RECORD_TEXT_POKE PERF_RECORD_AUX_OUTPUT_HW_ID = C.PERF_RECORD_AUX_OUTPUT_HW_ID PERF_RECORD_MAX = C.PERF_RECORD_MAX PERF_RECORD_KSYMBOL_TYPE_UNKNOWN = C.PERF_RECORD_KSYMBOL_TYPE_UNKNOWN PERF_RECORD_KSYMBOL_TYPE_BPF = C.PERF_RECORD_KSYMBOL_TYPE_BPF PERF_RECORD_KSYMBOL_TYPE_OOL = C.PERF_RECORD_KSYMBOL_TYPE_OOL PERF_RECORD_KSYMBOL_TYPE_MAX = C.PERF_RECORD_KSYMBOL_TYPE_MAX PERF_BPF_EVENT_UNKNOWN = C.PERF_BPF_EVENT_UNKNOWN PERF_BPF_EVENT_PROG_LOAD = C.PERF_BPF_EVENT_PROG_LOAD PERF_BPF_EVENT_PROG_UNLOAD = C.PERF_BPF_EVENT_PROG_UNLOAD PERF_BPF_EVENT_MAX = C.PERF_BPF_EVENT_MAX PERF_CONTEXT_HV = C.PERF_CONTEXT_HV PERF_CONTEXT_KERNEL = C.PERF_CONTEXT_KERNEL PERF_CONTEXT_USER = C.PERF_CONTEXT_USER PERF_CONTEXT_GUEST = C.PERF_CONTEXT_GUEST PERF_CONTEXT_GUEST_KERNEL = C.PERF_CONTEXT_GUEST_KERNEL PERF_CONTEXT_GUEST_USER = C.PERF_CONTEXT_GUEST_USER PERF_CONTEXT_MAX = C.PERF_CONTEXT_MAX ) // Platform ABI and calling convention // Bit field masks for interoperability with C code that uses bit fields. // Each mask corresponds to a single bit set - bit field behavior can be replicated by combining // the masks with bitwise OR. const ( CBitFieldMaskBit0 = C.BITFIELD_MASK_0 CBitFieldMaskBit1 = C.BITFIELD_MASK_1 CBitFieldMaskBit2 = C.BITFIELD_MASK_2 CBitFieldMaskBit3 = C.BITFIELD_MASK_3 CBitFieldMaskBit4 = C.BITFIELD_MASK_4 CBitFieldMaskBit5 = C.BITFIELD_MASK_5 CBitFieldMaskBit6 = C.BITFIELD_MASK_6 CBitFieldMaskBit7 = C.BITFIELD_MASK_7 CBitFieldMaskBit8 = C.BITFIELD_MASK_8 CBitFieldMaskBit9 = C.BITFIELD_MASK_9 CBitFieldMaskBit10 = C.BITFIELD_MASK_10 CBitFieldMaskBit11 = C.BITFIELD_MASK_11 CBitFieldMaskBit12 = C.BITFIELD_MASK_12 CBitFieldMaskBit13 = C.BITFIELD_MASK_13 CBitFieldMaskBit14 = C.BITFIELD_MASK_14 CBitFieldMaskBit15 = C.BITFIELD_MASK_15 CBitFieldMaskBit16 = C.BITFIELD_MASK_16 CBitFieldMaskBit17 = C.BITFIELD_MASK_17 CBitFieldMaskBit18 = C.BITFIELD_MASK_18 CBitFieldMaskBit19 = C.BITFIELD_MASK_19 CBitFieldMaskBit20 = C.BITFIELD_MASK_20 CBitFieldMaskBit21 = C.BITFIELD_MASK_21 CBitFieldMaskBit22 = C.BITFIELD_MASK_22 CBitFieldMaskBit23 = C.BITFIELD_MASK_23 CBitFieldMaskBit24 = C.BITFIELD_MASK_24 CBitFieldMaskBit25 = C.BITFIELD_MASK_25 CBitFieldMaskBit26 = C.BITFIELD_MASK_26 CBitFieldMaskBit27 = C.BITFIELD_MASK_27 CBitFieldMaskBit28 = C.BITFIELD_MASK_28 CBitFieldMaskBit29 = C.BITFIELD_MASK_29 CBitFieldMaskBit30 = C.BITFIELD_MASK_30 CBitFieldMaskBit31 = C.BITFIELD_MASK_31 CBitFieldMaskBit32 = C.BITFIELD_MASK_32 CBitFieldMaskBit33 = C.BITFIELD_MASK_33 CBitFieldMaskBit34 = C.BITFIELD_MASK_34 CBitFieldMaskBit35 = C.BITFIELD_MASK_35 CBitFieldMaskBit36 = C.BITFIELD_MASK_36 CBitFieldMaskBit37 = C.BITFIELD_MASK_37 CBitFieldMaskBit38 = C.BITFIELD_MASK_38 CBitFieldMaskBit39 = C.BITFIELD_MASK_39 CBitFieldMaskBit40 = C.BITFIELD_MASK_40 CBitFieldMaskBit41 = C.BITFIELD_MASK_41 CBitFieldMaskBit42 = C.BITFIELD_MASK_42 CBitFieldMaskBit43 = C.BITFIELD_MASK_43 CBitFieldMaskBit44 = C.BITFIELD_MASK_44 CBitFieldMaskBit45 = C.BITFIELD_MASK_45 CBitFieldMaskBit46 = C.BITFIELD_MASK_46 CBitFieldMaskBit47 = C.BITFIELD_MASK_47 CBitFieldMaskBit48 = C.BITFIELD_MASK_48 CBitFieldMaskBit49 = C.BITFIELD_MASK_49 CBitFieldMaskBit50 = C.BITFIELD_MASK_50 CBitFieldMaskBit51 = C.BITFIELD_MASK_51 CBitFieldMaskBit52 = C.BITFIELD_MASK_52 CBitFieldMaskBit53 = C.BITFIELD_MASK_53 CBitFieldMaskBit54 = C.BITFIELD_MASK_54 CBitFieldMaskBit55 = C.BITFIELD_MASK_55 CBitFieldMaskBit56 = C.BITFIELD_MASK_56 CBitFieldMaskBit57 = C.BITFIELD_MASK_57 CBitFieldMaskBit58 = C.BITFIELD_MASK_58 CBitFieldMaskBit59 = C.BITFIELD_MASK_59 CBitFieldMaskBit60 = C.BITFIELD_MASK_60 CBitFieldMaskBit61 = C.BITFIELD_MASK_61 CBitFieldMaskBit62 = C.BITFIELD_MASK_62 CBitFieldMaskBit63 = C.BITFIELD_MASK_63 ) // TCP-MD5 signature. type SockaddrStorage C.struct_sockaddr_storage type TCPMD5Sig C.struct_tcp_md5sig // Disk drive operations. type HDDriveCmdHdr C.struct_hd_drive_cmd_hdr type HDGeometry C.struct_hd_geometry type HDDriveID C.struct_hd_driveid // Statfs type Statfs_t C.struct_statfs const ( ST_MANDLOCK = C.ST_MANDLOCK ST_NOATIME = C.ST_NOATIME ST_NODEV = C.ST_NODEV ST_NODIRATIME = C.ST_NODIRATIME ST_NOEXEC = C.ST_NOEXEC ST_NOSUID = C.ST_NOSUID ST_RDONLY = C.ST_RDONLY ST_RELATIME = C.ST_RELATIME ST_SYNCHRONOUS = C.ST_SYNCHRONOUS ) // TPacket type TpacketHdr C.struct_tpacket_hdr type Tpacket2Hdr C.struct_tpacket2_hdr type Tpacket3Hdr C.struct_tpacket3_hdr type TpacketHdrVariant1 C.struct_tpacket_hdr_variant1 type TpacketBlockDesc C.struct_tpacket_block_desc type TpacketBDTS C.struct_tpacket_bd_ts type TpacketHdrV1 C.struct_tpacket_hdr_v1 type TpacketReq C.struct_tpacket_req type TpacketReq3 C.struct_tpacket_req3 type TpacketStats C.struct_tpacket_stats type TpacketStatsV3 C.struct_tpacket_stats_v3 type TpacketAuxdata C.struct_tpacket_auxdata const ( TPACKET_V1 = C.TPACKET_V1 TPACKET_V2 = C.TPACKET_V2 TPACKET_V3 = C.TPACKET_V3 ) const ( SizeofTpacketHdr = C.sizeof_struct_tpacket_hdr SizeofTpacket2Hdr = C.sizeof_struct_tpacket2_hdr SizeofTpacket3Hdr = C.sizeof_struct_tpacket3_hdr SizeofTpacketStats = C.sizeof_struct_tpacket_stats SizeofTpacketStatsV3 = C.sizeof_struct_tpacket_stats_v3 ) // generated by: // perl -nlE '/^\s*((IFLA|NETKIT)\w+)/ && say "$1 = C.$1"' /usr/include/linux/if_link.h const ( IFLA_UNSPEC = C.IFLA_UNSPEC IFLA_ADDRESS = C.IFLA_ADDRESS IFLA_BROADCAST = C.IFLA_BROADCAST IFLA_IFNAME = C.IFLA_IFNAME IFLA_MTU = C.IFLA_MTU IFLA_LINK = C.IFLA_LINK IFLA_QDISC = C.IFLA_QDISC IFLA_STATS = C.IFLA_STATS IFLA_COST = C.IFLA_COST IFLA_PRIORITY = C.IFLA_PRIORITY IFLA_MASTER = C.IFLA_MASTER IFLA_WIRELESS = C.IFLA_WIRELESS IFLA_PROTINFO = C.IFLA_PROTINFO IFLA_TXQLEN = C.IFLA_TXQLEN IFLA_MAP = C.IFLA_MAP IFLA_WEIGHT = C.IFLA_WEIGHT IFLA_OPERSTATE = C.IFLA_OPERSTATE IFLA_LINKMODE = C.IFLA_LINKMODE IFLA_LINKINFO = C.IFLA_LINKINFO IFLA_NET_NS_PID = C.IFLA_NET_NS_PID IFLA_IFALIAS = C.IFLA_IFALIAS IFLA_NUM_VF = C.IFLA_NUM_VF IFLA_VFINFO_LIST = C.IFLA_VFINFO_LIST IFLA_STATS64 = C.IFLA_STATS64 IFLA_VF_PORTS = C.IFLA_VF_PORTS IFLA_PORT_SELF = C.IFLA_PORT_SELF IFLA_AF_SPEC = C.IFLA_AF_SPEC IFLA_GROUP = C.IFLA_GROUP IFLA_NET_NS_FD = C.IFLA_NET_NS_FD IFLA_EXT_MASK = C.IFLA_EXT_MASK IFLA_PROMISCUITY = C.IFLA_PROMISCUITY IFLA_NUM_TX_QUEUES = C.IFLA_NUM_TX_QUEUES IFLA_NUM_RX_QUEUES = C.IFLA_NUM_RX_QUEUES IFLA_CARRIER = C.IFLA_CARRIER IFLA_PHYS_PORT_ID = C.IFLA_PHYS_PORT_ID IFLA_CARRIER_CHANGES = C.IFLA_CARRIER_CHANGES IFLA_PHYS_SWITCH_ID = C.IFLA_PHYS_SWITCH_ID IFLA_LINK_NETNSID = C.IFLA_LINK_NETNSID IFLA_PHYS_PORT_NAME = C.IFLA_PHYS_PORT_NAME IFLA_PROTO_DOWN = C.IFLA_PROTO_DOWN IFLA_GSO_MAX_SEGS = C.IFLA_GSO_MAX_SEGS IFLA_GSO_MAX_SIZE = C.IFLA_GSO_MAX_SIZE IFLA_PAD = C.IFLA_PAD IFLA_XDP = C.IFLA_XDP IFLA_EVENT = C.IFLA_EVENT IFLA_NEW_NETNSID = C.IFLA_NEW_NETNSID IFLA_IF_NETNSID = C.IFLA_IF_NETNSID IFLA_TARGET_NETNSID = C.IFLA_TARGET_NETNSID IFLA_CARRIER_UP_COUNT = C.IFLA_CARRIER_UP_COUNT IFLA_CARRIER_DOWN_COUNT = C.IFLA_CARRIER_DOWN_COUNT IFLA_NEW_IFINDEX = C.IFLA_NEW_IFINDEX IFLA_MIN_MTU = C.IFLA_MIN_MTU IFLA_MAX_MTU = C.IFLA_MAX_MTU IFLA_PROP_LIST = C.IFLA_PROP_LIST IFLA_ALT_IFNAME = C.IFLA_ALT_IFNAME IFLA_PERM_ADDRESS = C.IFLA_PERM_ADDRESS IFLA_PROTO_DOWN_REASON = C.IFLA_PROTO_DOWN_REASON IFLA_PARENT_DEV_NAME = C.IFLA_PARENT_DEV_NAME IFLA_PARENT_DEV_BUS_NAME = C.IFLA_PARENT_DEV_BUS_NAME IFLA_GRO_MAX_SIZE = C.IFLA_GRO_MAX_SIZE IFLA_TSO_MAX_SIZE = C.IFLA_TSO_MAX_SIZE IFLA_TSO_MAX_SEGS = C.IFLA_TSO_MAX_SEGS IFLA_ALLMULTI = C.IFLA_ALLMULTI IFLA_DEVLINK_PORT = C.IFLA_DEVLINK_PORT IFLA_GSO_IPV4_MAX_SIZE = C.IFLA_GSO_IPV4_MAX_SIZE IFLA_GRO_IPV4_MAX_SIZE = C.IFLA_GRO_IPV4_MAX_SIZE IFLA_DPLL_PIN = C.IFLA_DPLL_PIN IFLA_PROTO_DOWN_REASON_UNSPEC = C.IFLA_PROTO_DOWN_REASON_UNSPEC IFLA_PROTO_DOWN_REASON_MASK = C.IFLA_PROTO_DOWN_REASON_MASK IFLA_PROTO_DOWN_REASON_VALUE = C.IFLA_PROTO_DOWN_REASON_VALUE IFLA_PROTO_DOWN_REASON_MAX = C.IFLA_PROTO_DOWN_REASON_MAX IFLA_INET_UNSPEC = C.IFLA_INET_UNSPEC IFLA_INET_CONF = C.IFLA_INET_CONF IFLA_INET6_UNSPEC = C.IFLA_INET6_UNSPEC IFLA_INET6_FLAGS = C.IFLA_INET6_FLAGS IFLA_INET6_CONF = C.IFLA_INET6_CONF IFLA_INET6_STATS = C.IFLA_INET6_STATS IFLA_INET6_MCAST = C.IFLA_INET6_MCAST IFLA_INET6_CACHEINFO = C.IFLA_INET6_CACHEINFO IFLA_INET6_ICMP6STATS = C.IFLA_INET6_ICMP6STATS IFLA_INET6_TOKEN = C.IFLA_INET6_TOKEN IFLA_INET6_ADDR_GEN_MODE = C.IFLA_INET6_ADDR_GEN_MODE IFLA_INET6_RA_MTU = C.IFLA_INET6_RA_MTU IFLA_BR_UNSPEC = C.IFLA_BR_UNSPEC IFLA_BR_FORWARD_DELAY = C.IFLA_BR_FORWARD_DELAY IFLA_BR_HELLO_TIME = C.IFLA_BR_HELLO_TIME IFLA_BR_MAX_AGE = C.IFLA_BR_MAX_AGE IFLA_BR_AGEING_TIME = C.IFLA_BR_AGEING_TIME IFLA_BR_STP_STATE = C.IFLA_BR_STP_STATE IFLA_BR_PRIORITY = C.IFLA_BR_PRIORITY IFLA_BR_VLAN_FILTERING = C.IFLA_BR_VLAN_FILTERING IFLA_BR_VLAN_PROTOCOL = C.IFLA_BR_VLAN_PROTOCOL IFLA_BR_GROUP_FWD_MASK = C.IFLA_BR_GROUP_FWD_MASK IFLA_BR_ROOT_ID = C.IFLA_BR_ROOT_ID IFLA_BR_BRIDGE_ID = C.IFLA_BR_BRIDGE_ID IFLA_BR_ROOT_PORT = C.IFLA_BR_ROOT_PORT IFLA_BR_ROOT_PATH_COST = C.IFLA_BR_ROOT_PATH_COST IFLA_BR_TOPOLOGY_CHANGE = C.IFLA_BR_TOPOLOGY_CHANGE IFLA_BR_TOPOLOGY_CHANGE_DETECTED = C.IFLA_BR_TOPOLOGY_CHANGE_DETECTED IFLA_BR_HELLO_TIMER = C.IFLA_BR_HELLO_TIMER IFLA_BR_TCN_TIMER = C.IFLA_BR_TCN_TIMER IFLA_BR_TOPOLOGY_CHANGE_TIMER = C.IFLA_BR_TOPOLOGY_CHANGE_TIMER IFLA_BR_GC_TIMER = C.IFLA_BR_GC_TIMER IFLA_BR_GROUP_ADDR = C.IFLA_BR_GROUP_ADDR IFLA_BR_FDB_FLUSH = C.IFLA_BR_FDB_FLUSH IFLA_BR_MCAST_ROUTER = C.IFLA_BR_MCAST_ROUTER IFLA_BR_MCAST_SNOOPING = C.IFLA_BR_MCAST_SNOOPING IFLA_BR_MCAST_QUERY_USE_IFADDR = C.IFLA_BR_MCAST_QUERY_USE_IFADDR IFLA_BR_MCAST_QUERIER = C.IFLA_BR_MCAST_QUERIER IFLA_BR_MCAST_HASH_ELASTICITY = C.IFLA_BR_MCAST_HASH_ELASTICITY IFLA_BR_MCAST_HASH_MAX = C.IFLA_BR_MCAST_HASH_MAX IFLA_BR_MCAST_LAST_MEMBER_CNT = C.IFLA_BR_MCAST_LAST_MEMBER_CNT IFLA_BR_MCAST_STARTUP_QUERY_CNT = C.IFLA_BR_MCAST_STARTUP_QUERY_CNT IFLA_BR_MCAST_LAST_MEMBER_INTVL = C.IFLA_BR_MCAST_LAST_MEMBER_INTVL IFLA_BR_MCAST_MEMBERSHIP_INTVL = C.IFLA_BR_MCAST_MEMBERSHIP_INTVL IFLA_BR_MCAST_QUERIER_INTVL = C.IFLA_BR_MCAST_QUERIER_INTVL IFLA_BR_MCAST_QUERY_INTVL = C.IFLA_BR_MCAST_QUERY_INTVL IFLA_BR_MCAST_QUERY_RESPONSE_INTVL = C.IFLA_BR_MCAST_QUERY_RESPONSE_INTVL IFLA_BR_MCAST_STARTUP_QUERY_INTVL = C.IFLA_BR_MCAST_STARTUP_QUERY_INTVL IFLA_BR_NF_CALL_IPTABLES = C.IFLA_BR_NF_CALL_IPTABLES IFLA_BR_NF_CALL_IP6TABLES = C.IFLA_BR_NF_CALL_IP6TABLES IFLA_BR_NF_CALL_ARPTABLES = C.IFLA_BR_NF_CALL_ARPTABLES IFLA_BR_VLAN_DEFAULT_PVID = C.IFLA_BR_VLAN_DEFAULT_PVID IFLA_BR_PAD = C.IFLA_BR_PAD IFLA_BR_VLAN_STATS_ENABLED = C.IFLA_BR_VLAN_STATS_ENABLED IFLA_BR_MCAST_STATS_ENABLED = C.IFLA_BR_MCAST_STATS_ENABLED IFLA_BR_MCAST_IGMP_VERSION = C.IFLA_BR_MCAST_IGMP_VERSION IFLA_BR_MCAST_MLD_VERSION = C.IFLA_BR_MCAST_MLD_VERSION IFLA_BR_VLAN_STATS_PER_PORT = C.IFLA_BR_VLAN_STATS_PER_PORT IFLA_BR_MULTI_BOOLOPT = C.IFLA_BR_MULTI_BOOLOPT IFLA_BR_MCAST_QUERIER_STATE = C.IFLA_BR_MCAST_QUERIER_STATE IFLA_BR_FDB_N_LEARNED = C.IFLA_BR_FDB_N_LEARNED IFLA_BR_FDB_MAX_LEARNED = C.IFLA_BR_FDB_MAX_LEARNED IFLA_BRPORT_UNSPEC = C.IFLA_BRPORT_UNSPEC IFLA_BRPORT_STATE = C.IFLA_BRPORT_STATE IFLA_BRPORT_PRIORITY = C.IFLA_BRPORT_PRIORITY IFLA_BRPORT_COST = C.IFLA_BRPORT_COST IFLA_BRPORT_MODE = C.IFLA_BRPORT_MODE IFLA_BRPORT_GUARD = C.IFLA_BRPORT_GUARD IFLA_BRPORT_PROTECT = C.IFLA_BRPORT_PROTECT IFLA_BRPORT_FAST_LEAVE = C.IFLA_BRPORT_FAST_LEAVE IFLA_BRPORT_LEARNING = C.IFLA_BRPORT_LEARNING IFLA_BRPORT_UNICAST_FLOOD = C.IFLA_BRPORT_UNICAST_FLOOD IFLA_BRPORT_PROXYARP = C.IFLA_BRPORT_PROXYARP IFLA_BRPORT_LEARNING_SYNC = C.IFLA_BRPORT_LEARNING_SYNC IFLA_BRPORT_PROXYARP_WIFI = C.IFLA_BRPORT_PROXYARP_WIFI IFLA_BRPORT_ROOT_ID = C.IFLA_BRPORT_ROOT_ID IFLA_BRPORT_BRIDGE_ID = C.IFLA_BRPORT_BRIDGE_ID IFLA_BRPORT_DESIGNATED_PORT = C.IFLA_BRPORT_DESIGNATED_PORT IFLA_BRPORT_DESIGNATED_COST = C.IFLA_BRPORT_DESIGNATED_COST IFLA_BRPORT_ID = C.IFLA_BRPORT_ID IFLA_BRPORT_NO = C.IFLA_BRPORT_NO IFLA_BRPORT_TOPOLOGY_CHANGE_ACK = C.IFLA_BRPORT_TOPOLOGY_CHANGE_ACK IFLA_BRPORT_CONFIG_PENDING = C.IFLA_BRPORT_CONFIG_PENDING IFLA_BRPORT_MESSAGE_AGE_TIMER = C.IFLA_BRPORT_MESSAGE_AGE_TIMER IFLA_BRPORT_FORWARD_DELAY_TIMER = C.IFLA_BRPORT_FORWARD_DELAY_TIMER IFLA_BRPORT_HOLD_TIMER = C.IFLA_BRPORT_HOLD_TIMER IFLA_BRPORT_FLUSH = C.IFLA_BRPORT_FLUSH IFLA_BRPORT_MULTICAST_ROUTER = C.IFLA_BRPORT_MULTICAST_ROUTER IFLA_BRPORT_PAD = C.IFLA_BRPORT_PAD IFLA_BRPORT_MCAST_FLOOD = C.IFLA_BRPORT_MCAST_FLOOD IFLA_BRPORT_MCAST_TO_UCAST = C.IFLA_BRPORT_MCAST_TO_UCAST IFLA_BRPORT_VLAN_TUNNEL = C.IFLA_BRPORT_VLAN_TUNNEL IFLA_BRPORT_BCAST_FLOOD = C.IFLA_BRPORT_BCAST_FLOOD IFLA_BRPORT_GROUP_FWD_MASK = C.IFLA_BRPORT_GROUP_FWD_MASK IFLA_BRPORT_NEIGH_SUPPRESS = C.IFLA_BRPORT_NEIGH_SUPPRESS IFLA_BRPORT_ISOLATED = C.IFLA_BRPORT_ISOLATED IFLA_BRPORT_BACKUP_PORT = C.IFLA_BRPORT_BACKUP_PORT IFLA_BRPORT_MRP_RING_OPEN = C.IFLA_BRPORT_MRP_RING_OPEN IFLA_BRPORT_MRP_IN_OPEN = C.IFLA_BRPORT_MRP_IN_OPEN IFLA_BRPORT_MCAST_EHT_HOSTS_LIMIT = C.IFLA_BRPORT_MCAST_EHT_HOSTS_LIMIT IFLA_BRPORT_MCAST_EHT_HOSTS_CNT = C.IFLA_BRPORT_MCAST_EHT_HOSTS_CNT IFLA_BRPORT_LOCKED = C.IFLA_BRPORT_LOCKED IFLA_BRPORT_MAB = C.IFLA_BRPORT_MAB IFLA_BRPORT_MCAST_N_GROUPS = C.IFLA_BRPORT_MCAST_N_GROUPS IFLA_BRPORT_MCAST_MAX_GROUPS = C.IFLA_BRPORT_MCAST_MAX_GROUPS IFLA_BRPORT_NEIGH_VLAN_SUPPRESS = C.IFLA_BRPORT_NEIGH_VLAN_SUPPRESS IFLA_BRPORT_BACKUP_NHID = C.IFLA_BRPORT_BACKUP_NHID IFLA_INFO_UNSPEC = C.IFLA_INFO_UNSPEC IFLA_INFO_KIND = C.IFLA_INFO_KIND IFLA_INFO_DATA = C.IFLA_INFO_DATA IFLA_INFO_XSTATS = C.IFLA_INFO_XSTATS IFLA_INFO_SLAVE_KIND = C.IFLA_INFO_SLAVE_KIND IFLA_INFO_SLAVE_DATA = C.IFLA_INFO_SLAVE_DATA IFLA_VLAN_UNSPEC = C.IFLA_VLAN_UNSPEC IFLA_VLAN_ID = C.IFLA_VLAN_ID IFLA_VLAN_FLAGS = C.IFLA_VLAN_FLAGS IFLA_VLAN_EGRESS_QOS = C.IFLA_VLAN_EGRESS_QOS IFLA_VLAN_INGRESS_QOS = C.IFLA_VLAN_INGRESS_QOS IFLA_VLAN_PROTOCOL = C.IFLA_VLAN_PROTOCOL IFLA_VLAN_QOS_UNSPEC = C.IFLA_VLAN_QOS_UNSPEC IFLA_VLAN_QOS_MAPPING = C.IFLA_VLAN_QOS_MAPPING IFLA_MACVLAN_UNSPEC = C.IFLA_MACVLAN_UNSPEC IFLA_MACVLAN_MODE = C.IFLA_MACVLAN_MODE IFLA_MACVLAN_FLAGS = C.IFLA_MACVLAN_FLAGS IFLA_MACVLAN_MACADDR_MODE = C.IFLA_MACVLAN_MACADDR_MODE IFLA_MACVLAN_MACADDR = C.IFLA_MACVLAN_MACADDR IFLA_MACVLAN_MACADDR_DATA = C.IFLA_MACVLAN_MACADDR_DATA IFLA_MACVLAN_MACADDR_COUNT = C.IFLA_MACVLAN_MACADDR_COUNT IFLA_MACVLAN_BC_QUEUE_LEN = C.IFLA_MACVLAN_BC_QUEUE_LEN IFLA_MACVLAN_BC_QUEUE_LEN_USED = C.IFLA_MACVLAN_BC_QUEUE_LEN_USED IFLA_MACVLAN_BC_CUTOFF = C.IFLA_MACVLAN_BC_CUTOFF IFLA_VRF_UNSPEC = C.IFLA_VRF_UNSPEC IFLA_VRF_TABLE = C.IFLA_VRF_TABLE IFLA_VRF_PORT_UNSPEC = C.IFLA_VRF_PORT_UNSPEC IFLA_VRF_PORT_TABLE = C.IFLA_VRF_PORT_TABLE IFLA_MACSEC_UNSPEC = C.IFLA_MACSEC_UNSPEC IFLA_MACSEC_SCI = C.IFLA_MACSEC_SCI IFLA_MACSEC_PORT = C.IFLA_MACSEC_PORT IFLA_MACSEC_ICV_LEN = C.IFLA_MACSEC_ICV_LEN IFLA_MACSEC_CIPHER_SUITE = C.IFLA_MACSEC_CIPHER_SUITE IFLA_MACSEC_WINDOW = C.IFLA_MACSEC_WINDOW IFLA_MACSEC_ENCODING_SA = C.IFLA_MACSEC_ENCODING_SA IFLA_MACSEC_ENCRYPT = C.IFLA_MACSEC_ENCRYPT IFLA_MACSEC_PROTECT = C.IFLA_MACSEC_PROTECT IFLA_MACSEC_INC_SCI = C.IFLA_MACSEC_INC_SCI IFLA_MACSEC_ES = C.IFLA_MACSEC_ES IFLA_MACSEC_SCB = C.IFLA_MACSEC_SCB IFLA_MACSEC_REPLAY_PROTECT = C.IFLA_MACSEC_REPLAY_PROTECT IFLA_MACSEC_VALIDATION = C.IFLA_MACSEC_VALIDATION IFLA_MACSEC_PAD = C.IFLA_MACSEC_PAD IFLA_MACSEC_OFFLOAD = C.IFLA_MACSEC_OFFLOAD IFLA_XFRM_UNSPEC = C.IFLA_XFRM_UNSPEC IFLA_XFRM_LINK = C.IFLA_XFRM_LINK IFLA_XFRM_IF_ID = C.IFLA_XFRM_IF_ID IFLA_XFRM_COLLECT_METADATA = C.IFLA_XFRM_COLLECT_METADATA IFLA_IPVLAN_UNSPEC = C.IFLA_IPVLAN_UNSPEC IFLA_IPVLAN_MODE = C.IFLA_IPVLAN_MODE IFLA_IPVLAN_FLAGS = C.IFLA_IPVLAN_FLAGS NETKIT_NEXT = C.NETKIT_NEXT NETKIT_PASS = C.NETKIT_PASS NETKIT_DROP = C.NETKIT_DROP NETKIT_REDIRECT = C.NETKIT_REDIRECT NETKIT_L2 = C.NETKIT_L2 NETKIT_L3 = C.NETKIT_L3 IFLA_NETKIT_UNSPEC = C.IFLA_NETKIT_UNSPEC IFLA_NETKIT_PEER_INFO = C.IFLA_NETKIT_PEER_INFO IFLA_NETKIT_PRIMARY = C.IFLA_NETKIT_PRIMARY IFLA_NETKIT_POLICY = C.IFLA_NETKIT_POLICY IFLA_NETKIT_PEER_POLICY = C.IFLA_NETKIT_PEER_POLICY IFLA_NETKIT_MODE = C.IFLA_NETKIT_MODE IFLA_VXLAN_UNSPEC = C.IFLA_VXLAN_UNSPEC IFLA_VXLAN_ID = C.IFLA_VXLAN_ID IFLA_VXLAN_GROUP = C.IFLA_VXLAN_GROUP IFLA_VXLAN_LINK = C.IFLA_VXLAN_LINK IFLA_VXLAN_LOCAL = C.IFLA_VXLAN_LOCAL IFLA_VXLAN_TTL = C.IFLA_VXLAN_TTL IFLA_VXLAN_TOS = C.IFLA_VXLAN_TOS IFLA_VXLAN_LEARNING = C.IFLA_VXLAN_LEARNING IFLA_VXLAN_AGEING = C.IFLA_VXLAN_AGEING IFLA_VXLAN_LIMIT = C.IFLA_VXLAN_LIMIT IFLA_VXLAN_PORT_RANGE = C.IFLA_VXLAN_PORT_RANGE IFLA_VXLAN_PROXY = C.IFLA_VXLAN_PROXY IFLA_VXLAN_RSC = C.IFLA_VXLAN_RSC IFLA_VXLAN_L2MISS = C.IFLA_VXLAN_L2MISS IFLA_VXLAN_L3MISS = C.IFLA_VXLAN_L3MISS IFLA_VXLAN_PORT = C.IFLA_VXLAN_PORT IFLA_VXLAN_GROUP6 = C.IFLA_VXLAN_GROUP6 IFLA_VXLAN_LOCAL6 = C.IFLA_VXLAN_LOCAL6 IFLA_VXLAN_UDP_CSUM = C.IFLA_VXLAN_UDP_CSUM IFLA_VXLAN_UDP_ZERO_CSUM6_TX = C.IFLA_VXLAN_UDP_ZERO_CSUM6_TX IFLA_VXLAN_UDP_ZERO_CSUM6_RX = C.IFLA_VXLAN_UDP_ZERO_CSUM6_RX IFLA_VXLAN_REMCSUM_TX = C.IFLA_VXLAN_REMCSUM_TX IFLA_VXLAN_REMCSUM_RX = C.IFLA_VXLAN_REMCSUM_RX IFLA_VXLAN_GBP = C.IFLA_VXLAN_GBP IFLA_VXLAN_REMCSUM_NOPARTIAL = C.IFLA_VXLAN_REMCSUM_NOPARTIAL IFLA_VXLAN_COLLECT_METADATA = C.IFLA_VXLAN_COLLECT_METADATA IFLA_VXLAN_LABEL = C.IFLA_VXLAN_LABEL IFLA_VXLAN_GPE = C.IFLA_VXLAN_GPE IFLA_VXLAN_TTL_INHERIT = C.IFLA_VXLAN_TTL_INHERIT IFLA_VXLAN_DF = C.IFLA_VXLAN_DF IFLA_VXLAN_VNIFILTER = C.IFLA_VXLAN_VNIFILTER IFLA_VXLAN_LOCALBYPASS = C.IFLA_VXLAN_LOCALBYPASS IFLA_GENEVE_UNSPEC = C.IFLA_GENEVE_UNSPEC IFLA_GENEVE_ID = C.IFLA_GENEVE_ID IFLA_GENEVE_REMOTE = C.IFLA_GENEVE_REMOTE IFLA_GENEVE_TTL = C.IFLA_GENEVE_TTL IFLA_GENEVE_TOS = C.IFLA_GENEVE_TOS IFLA_GENEVE_PORT = C.IFLA_GENEVE_PORT IFLA_GENEVE_COLLECT_METADATA = C.IFLA_GENEVE_COLLECT_METADATA IFLA_GENEVE_REMOTE6 = C.IFLA_GENEVE_REMOTE6 IFLA_GENEVE_UDP_CSUM = C.IFLA_GENEVE_UDP_CSUM IFLA_GENEVE_UDP_ZERO_CSUM6_TX = C.IFLA_GENEVE_UDP_ZERO_CSUM6_TX IFLA_GENEVE_UDP_ZERO_CSUM6_RX = C.IFLA_GENEVE_UDP_ZERO_CSUM6_RX IFLA_GENEVE_LABEL = C.IFLA_GENEVE_LABEL IFLA_GENEVE_TTL_INHERIT = C.IFLA_GENEVE_TTL_INHERIT IFLA_GENEVE_DF = C.IFLA_GENEVE_DF IFLA_GENEVE_INNER_PROTO_INHERIT = C.IFLA_GENEVE_INNER_PROTO_INHERIT IFLA_BAREUDP_UNSPEC = C.IFLA_BAREUDP_UNSPEC IFLA_BAREUDP_PORT = C.IFLA_BAREUDP_PORT IFLA_BAREUDP_ETHERTYPE = C.IFLA_BAREUDP_ETHERTYPE IFLA_BAREUDP_SRCPORT_MIN = C.IFLA_BAREUDP_SRCPORT_MIN IFLA_BAREUDP_MULTIPROTO_MODE = C.IFLA_BAREUDP_MULTIPROTO_MODE IFLA_PPP_UNSPEC = C.IFLA_PPP_UNSPEC IFLA_PPP_DEV_FD = C.IFLA_PPP_DEV_FD IFLA_GTP_UNSPEC = C.IFLA_GTP_UNSPEC IFLA_GTP_FD0 = C.IFLA_GTP_FD0 IFLA_GTP_FD1 = C.IFLA_GTP_FD1 IFLA_GTP_PDP_HASHSIZE = C.IFLA_GTP_PDP_HASHSIZE IFLA_GTP_ROLE = C.IFLA_GTP_ROLE IFLA_GTP_CREATE_SOCKETS = C.IFLA_GTP_CREATE_SOCKETS IFLA_GTP_RESTART_COUNT = C.IFLA_GTP_RESTART_COUNT IFLA_BOND_UNSPEC = C.IFLA_BOND_UNSPEC IFLA_BOND_MODE = C.IFLA_BOND_MODE IFLA_BOND_ACTIVE_SLAVE = C.IFLA_BOND_ACTIVE_SLAVE IFLA_BOND_MIIMON = C.IFLA_BOND_MIIMON IFLA_BOND_UPDELAY = C.IFLA_BOND_UPDELAY IFLA_BOND_DOWNDELAY = C.IFLA_BOND_DOWNDELAY IFLA_BOND_USE_CARRIER = C.IFLA_BOND_USE_CARRIER IFLA_BOND_ARP_INTERVAL = C.IFLA_BOND_ARP_INTERVAL IFLA_BOND_ARP_IP_TARGET = C.IFLA_BOND_ARP_IP_TARGET IFLA_BOND_ARP_VALIDATE = C.IFLA_BOND_ARP_VALIDATE IFLA_BOND_ARP_ALL_TARGETS = C.IFLA_BOND_ARP_ALL_TARGETS IFLA_BOND_PRIMARY = C.IFLA_BOND_PRIMARY IFLA_BOND_PRIMARY_RESELECT = C.IFLA_BOND_PRIMARY_RESELECT IFLA_BOND_FAIL_OVER_MAC = C.IFLA_BOND_FAIL_OVER_MAC IFLA_BOND_XMIT_HASH_POLICY = C.IFLA_BOND_XMIT_HASH_POLICY IFLA_BOND_RESEND_IGMP = C.IFLA_BOND_RESEND_IGMP IFLA_BOND_NUM_PEER_NOTIF = C.IFLA_BOND_NUM_PEER_NOTIF IFLA_BOND_ALL_SLAVES_ACTIVE = C.IFLA_BOND_ALL_SLAVES_ACTIVE IFLA_BOND_MIN_LINKS = C.IFLA_BOND_MIN_LINKS IFLA_BOND_LP_INTERVAL = C.IFLA_BOND_LP_INTERVAL IFLA_BOND_PACKETS_PER_SLAVE = C.IFLA_BOND_PACKETS_PER_SLAVE IFLA_BOND_AD_LACP_RATE = C.IFLA_BOND_AD_LACP_RATE IFLA_BOND_AD_SELECT = C.IFLA_BOND_AD_SELECT IFLA_BOND_AD_INFO = C.IFLA_BOND_AD_INFO IFLA_BOND_AD_ACTOR_SYS_PRIO = C.IFLA_BOND_AD_ACTOR_SYS_PRIO IFLA_BOND_AD_USER_PORT_KEY = C.IFLA_BOND_AD_USER_PORT_KEY IFLA_BOND_AD_ACTOR_SYSTEM = C.IFLA_BOND_AD_ACTOR_SYSTEM IFLA_BOND_TLB_DYNAMIC_LB = C.IFLA_BOND_TLB_DYNAMIC_LB IFLA_BOND_PEER_NOTIF_DELAY = C.IFLA_BOND_PEER_NOTIF_DELAY IFLA_BOND_AD_LACP_ACTIVE = C.IFLA_BOND_AD_LACP_ACTIVE IFLA_BOND_MISSED_MAX = C.IFLA_BOND_MISSED_MAX IFLA_BOND_NS_IP6_TARGET = C.IFLA_BOND_NS_IP6_TARGET IFLA_BOND_AD_INFO_UNSPEC = C.IFLA_BOND_AD_INFO_UNSPEC IFLA_BOND_AD_INFO_AGGREGATOR = C.IFLA_BOND_AD_INFO_AGGREGATOR IFLA_BOND_AD_INFO_NUM_PORTS = C.IFLA_BOND_AD_INFO_NUM_PORTS IFLA_BOND_AD_INFO_ACTOR_KEY = C.IFLA_BOND_AD_INFO_ACTOR_KEY IFLA_BOND_AD_INFO_PARTNER_KEY = C.IFLA_BOND_AD_INFO_PARTNER_KEY IFLA_BOND_AD_INFO_PARTNER_MAC = C.IFLA_BOND_AD_INFO_PARTNER_MAC IFLA_BOND_SLAVE_UNSPEC = C.IFLA_BOND_SLAVE_UNSPEC IFLA_BOND_SLAVE_STATE = C.IFLA_BOND_SLAVE_STATE IFLA_BOND_SLAVE_MII_STATUS = C.IFLA_BOND_SLAVE_MII_STATUS IFLA_BOND_SLAVE_LINK_FAILURE_COUNT = C.IFLA_BOND_SLAVE_LINK_FAILURE_COUNT IFLA_BOND_SLAVE_PERM_HWADDR = C.IFLA_BOND_SLAVE_PERM_HWADDR IFLA_BOND_SLAVE_QUEUE_ID = C.IFLA_BOND_SLAVE_QUEUE_ID IFLA_BOND_SLAVE_AD_AGGREGATOR_ID = C.IFLA_BOND_SLAVE_AD_AGGREGATOR_ID IFLA_BOND_SLAVE_AD_ACTOR_OPER_PORT_STATE = C.IFLA_BOND_SLAVE_AD_ACTOR_OPER_PORT_STATE IFLA_BOND_SLAVE_AD_PARTNER_OPER_PORT_STATE = C.IFLA_BOND_SLAVE_AD_PARTNER_OPER_PORT_STATE IFLA_BOND_SLAVE_PRIO = C.IFLA_BOND_SLAVE_PRIO IFLA_VF_INFO_UNSPEC = C.IFLA_VF_INFO_UNSPEC IFLA_VF_INFO = C.IFLA_VF_INFO IFLA_VF_UNSPEC = C.IFLA_VF_UNSPEC IFLA_VF_MAC = C.IFLA_VF_MAC IFLA_VF_VLAN = C.IFLA_VF_VLAN IFLA_VF_TX_RATE = C.IFLA_VF_TX_RATE IFLA_VF_SPOOFCHK = C.IFLA_VF_SPOOFCHK IFLA_VF_LINK_STATE = C.IFLA_VF_LINK_STATE IFLA_VF_RATE = C.IFLA_VF_RATE IFLA_VF_RSS_QUERY_EN = C.IFLA_VF_RSS_QUERY_EN IFLA_VF_STATS = C.IFLA_VF_STATS IFLA_VF_TRUST = C.IFLA_VF_TRUST IFLA_VF_IB_NODE_GUID = C.IFLA_VF_IB_NODE_GUID IFLA_VF_IB_PORT_GUID = C.IFLA_VF_IB_PORT_GUID IFLA_VF_VLAN_LIST = C.IFLA_VF_VLAN_LIST IFLA_VF_BROADCAST = C.IFLA_VF_BROADCAST IFLA_VF_VLAN_INFO_UNSPEC = C.IFLA_VF_VLAN_INFO_UNSPEC IFLA_VF_VLAN_INFO = C.IFLA_VF_VLAN_INFO IFLA_VF_LINK_STATE_AUTO = C.IFLA_VF_LINK_STATE_AUTO IFLA_VF_LINK_STATE_ENABLE = C.IFLA_VF_LINK_STATE_ENABLE IFLA_VF_LINK_STATE_DISABLE = C.IFLA_VF_LINK_STATE_DISABLE IFLA_VF_STATS_RX_PACKETS = C.IFLA_VF_STATS_RX_PACKETS IFLA_VF_STATS_TX_PACKETS = C.IFLA_VF_STATS_TX_PACKETS IFLA_VF_STATS_RX_BYTES = C.IFLA_VF_STATS_RX_BYTES IFLA_VF_STATS_TX_BYTES = C.IFLA_VF_STATS_TX_BYTES IFLA_VF_STATS_BROADCAST = C.IFLA_VF_STATS_BROADCAST IFLA_VF_STATS_MULTICAST = C.IFLA_VF_STATS_MULTICAST IFLA_VF_STATS_PAD = C.IFLA_VF_STATS_PAD IFLA_VF_STATS_RX_DROPPED = C.IFLA_VF_STATS_RX_DROPPED IFLA_VF_STATS_TX_DROPPED = C.IFLA_VF_STATS_TX_DROPPED IFLA_VF_PORT_UNSPEC = C.IFLA_VF_PORT_UNSPEC IFLA_VF_PORT = C.IFLA_VF_PORT IFLA_PORT_UNSPEC = C.IFLA_PORT_UNSPEC IFLA_PORT_VF = C.IFLA_PORT_VF IFLA_PORT_PROFILE = C.IFLA_PORT_PROFILE IFLA_PORT_VSI_TYPE = C.IFLA_PORT_VSI_TYPE IFLA_PORT_INSTANCE_UUID = C.IFLA_PORT_INSTANCE_UUID IFLA_PORT_HOST_UUID = C.IFLA_PORT_HOST_UUID IFLA_PORT_REQUEST = C.IFLA_PORT_REQUEST IFLA_PORT_RESPONSE = C.IFLA_PORT_RESPONSE IFLA_IPOIB_UNSPEC = C.IFLA_IPOIB_UNSPEC IFLA_IPOIB_PKEY = C.IFLA_IPOIB_PKEY IFLA_IPOIB_MODE = C.IFLA_IPOIB_MODE IFLA_IPOIB_UMCAST = C.IFLA_IPOIB_UMCAST IFLA_HSR_UNSPEC = C.IFLA_HSR_UNSPEC IFLA_HSR_SLAVE1 = C.IFLA_HSR_SLAVE1 IFLA_HSR_SLAVE2 = C.IFLA_HSR_SLAVE2 IFLA_HSR_MULTICAST_SPEC = C.IFLA_HSR_MULTICAST_SPEC IFLA_HSR_SUPERVISION_ADDR = C.IFLA_HSR_SUPERVISION_ADDR IFLA_HSR_SEQ_NR = C.IFLA_HSR_SEQ_NR IFLA_HSR_VERSION = C.IFLA_HSR_VERSION IFLA_HSR_PROTOCOL = C.IFLA_HSR_PROTOCOL IFLA_STATS_UNSPEC = C.IFLA_STATS_UNSPEC IFLA_STATS_LINK_64 = C.IFLA_STATS_LINK_64 IFLA_STATS_LINK_XSTATS = C.IFLA_STATS_LINK_XSTATS IFLA_STATS_LINK_XSTATS_SLAVE = C.IFLA_STATS_LINK_XSTATS_SLAVE IFLA_STATS_LINK_OFFLOAD_XSTATS = C.IFLA_STATS_LINK_OFFLOAD_XSTATS IFLA_STATS_AF_SPEC = C.IFLA_STATS_AF_SPEC IFLA_STATS_GETSET_UNSPEC = C.IFLA_STATS_GETSET_UNSPEC IFLA_STATS_GET_FILTERS = C.IFLA_STATS_GET_FILTERS IFLA_STATS_SET_OFFLOAD_XSTATS_L3_STATS = C.IFLA_STATS_SET_OFFLOAD_XSTATS_L3_STATS IFLA_OFFLOAD_XSTATS_UNSPEC = C.IFLA_OFFLOAD_XSTATS_UNSPEC IFLA_OFFLOAD_XSTATS_CPU_HIT = C.IFLA_OFFLOAD_XSTATS_CPU_HIT IFLA_OFFLOAD_XSTATS_HW_S_INFO = C.IFLA_OFFLOAD_XSTATS_HW_S_INFO IFLA_OFFLOAD_XSTATS_L3_STATS = C.IFLA_OFFLOAD_XSTATS_L3_STATS IFLA_OFFLOAD_XSTATS_HW_S_INFO_UNSPEC = C.IFLA_OFFLOAD_XSTATS_HW_S_INFO_UNSPEC IFLA_OFFLOAD_XSTATS_HW_S_INFO_REQUEST = C.IFLA_OFFLOAD_XSTATS_HW_S_INFO_REQUEST IFLA_OFFLOAD_XSTATS_HW_S_INFO_USED = C.IFLA_OFFLOAD_XSTATS_HW_S_INFO_USED IFLA_XDP_UNSPEC = C.IFLA_XDP_UNSPEC IFLA_XDP_FD = C.IFLA_XDP_FD IFLA_XDP_ATTACHED = C.IFLA_XDP_ATTACHED IFLA_XDP_FLAGS = C.IFLA_XDP_FLAGS IFLA_XDP_PROG_ID = C.IFLA_XDP_PROG_ID IFLA_XDP_DRV_PROG_ID = C.IFLA_XDP_DRV_PROG_ID IFLA_XDP_SKB_PROG_ID = C.IFLA_XDP_SKB_PROG_ID IFLA_XDP_HW_PROG_ID = C.IFLA_XDP_HW_PROG_ID IFLA_XDP_EXPECTED_FD = C.IFLA_XDP_EXPECTED_FD IFLA_EVENT_NONE = C.IFLA_EVENT_NONE IFLA_EVENT_REBOOT = C.IFLA_EVENT_REBOOT IFLA_EVENT_FEATURES = C.IFLA_EVENT_FEATURES IFLA_EVENT_BONDING_FAILOVER = C.IFLA_EVENT_BONDING_FAILOVER IFLA_EVENT_NOTIFY_PEERS = C.IFLA_EVENT_NOTIFY_PEERS IFLA_EVENT_IGMP_RESEND = C.IFLA_EVENT_IGMP_RESEND IFLA_EVENT_BONDING_OPTIONS = C.IFLA_EVENT_BONDING_OPTIONS IFLA_TUN_UNSPEC = C.IFLA_TUN_UNSPEC IFLA_TUN_OWNER = C.IFLA_TUN_OWNER IFLA_TUN_GROUP = C.IFLA_TUN_GROUP IFLA_TUN_TYPE = C.IFLA_TUN_TYPE IFLA_TUN_PI = C.IFLA_TUN_PI IFLA_TUN_VNET_HDR = C.IFLA_TUN_VNET_HDR IFLA_TUN_PERSIST = C.IFLA_TUN_PERSIST IFLA_TUN_MULTI_QUEUE = C.IFLA_TUN_MULTI_QUEUE IFLA_TUN_NUM_QUEUES = C.IFLA_TUN_NUM_QUEUES IFLA_TUN_NUM_DISABLED_QUEUES = C.IFLA_TUN_NUM_DISABLED_QUEUES IFLA_RMNET_UNSPEC = C.IFLA_RMNET_UNSPEC IFLA_RMNET_MUX_ID = C.IFLA_RMNET_MUX_ID IFLA_RMNET_FLAGS = C.IFLA_RMNET_FLAGS IFLA_MCTP_UNSPEC = C.IFLA_MCTP_UNSPEC IFLA_MCTP_NET = C.IFLA_MCTP_NET IFLA_DSA_UNSPEC = C.IFLA_DSA_UNSPEC IFLA_DSA_CONDUIT = C.IFLA_DSA_CONDUIT IFLA_DSA_MASTER = C.IFLA_DSA_MASTER ) // netfilter // generated using: // perl -nlE '/^\s*(NF\w+)/ && say "$1 = C.$1"' /usr/include/linux/netfilter.h const ( NF_INET_PRE_ROUTING = C.NF_INET_PRE_ROUTING NF_INET_LOCAL_IN = C.NF_INET_LOCAL_IN NF_INET_FORWARD = C.NF_INET_FORWARD NF_INET_LOCAL_OUT = C.NF_INET_LOCAL_OUT NF_INET_POST_ROUTING = C.NF_INET_POST_ROUTING NF_INET_NUMHOOKS = C.NF_INET_NUMHOOKS ) const ( NF_NETDEV_INGRESS = C.NF_NETDEV_INGRESS NF_NETDEV_EGRESS = C.NF_NETDEV_EGRESS NF_NETDEV_NUMHOOKS = C.NF_NETDEV_NUMHOOKS ) const ( NFPROTO_UNSPEC = C.NFPROTO_UNSPEC NFPROTO_INET = C.NFPROTO_INET NFPROTO_IPV4 = C.NFPROTO_IPV4 NFPROTO_ARP = C.NFPROTO_ARP NFPROTO_NETDEV = C.NFPROTO_NETDEV NFPROTO_BRIDGE = C.NFPROTO_BRIDGE NFPROTO_IPV6 = C.NFPROTO_IPV6 NFPROTO_DECNET = C.NFPROTO_DECNET NFPROTO_NUMPROTO = C.NFPROTO_NUMPROTO ) const SO_ORIGINAL_DST = C.SO_ORIGINAL_DST // netfilter nfnetlink type Nfgenmsg C.struct_nfgenmsg const ( NFNL_BATCH_UNSPEC = C.NFNL_BATCH_UNSPEC NFNL_BATCH_GENID = C.NFNL_BATCH_GENID ) // netfilter nf_tables // generated using: // perl -nlE '/^\s*(NFT\w+)/ && say "$1 = C.$1"' /usr/include/linux/netfilter/nf_tables.h const ( NFT_REG_VERDICT = C.NFT_REG_VERDICT NFT_REG_1 = C.NFT_REG_1 NFT_REG_2 = C.NFT_REG_2 NFT_REG_3 = C.NFT_REG_3 NFT_REG_4 = C.NFT_REG_4 NFT_REG32_00 = C.NFT_REG32_00 NFT_REG32_01 = C.NFT_REG32_01 NFT_REG32_02 = C.NFT_REG32_02 NFT_REG32_03 = C.NFT_REG32_03 NFT_REG32_04 = C.NFT_REG32_04 NFT_REG32_05 = C.NFT_REG32_05 NFT_REG32_06 = C.NFT_REG32_06 NFT_REG32_07 = C.NFT_REG32_07 NFT_REG32_08 = C.NFT_REG32_08 NFT_REG32_09 = C.NFT_REG32_09 NFT_REG32_10 = C.NFT_REG32_10 NFT_REG32_11 = C.NFT_REG32_11 NFT_REG32_12 = C.NFT_REG32_12 NFT_REG32_13 = C.NFT_REG32_13 NFT_REG32_14 = C.NFT_REG32_14 NFT_REG32_15 = C.NFT_REG32_15 NFT_CONTINUE = C.NFT_CONTINUE NFT_BREAK = C.NFT_BREAK NFT_JUMP = C.NFT_JUMP NFT_GOTO = C.NFT_GOTO NFT_RETURN = C.NFT_RETURN NFT_MSG_NEWTABLE = C.NFT_MSG_NEWTABLE NFT_MSG_GETTABLE = C.NFT_MSG_GETTABLE NFT_MSG_DELTABLE = C.NFT_MSG_DELTABLE NFT_MSG_NEWCHAIN = C.NFT_MSG_NEWCHAIN NFT_MSG_GETCHAIN = C.NFT_MSG_GETCHAIN NFT_MSG_DELCHAIN = C.NFT_MSG_DELCHAIN NFT_MSG_NEWRULE = C.NFT_MSG_NEWRULE NFT_MSG_GETRULE = C.NFT_MSG_GETRULE NFT_MSG_DELRULE = C.NFT_MSG_DELRULE NFT_MSG_NEWSET = C.NFT_MSG_NEWSET NFT_MSG_GETSET = C.NFT_MSG_GETSET NFT_MSG_DELSET = C.NFT_MSG_DELSET NFT_MSG_NEWSETELEM = C.NFT_MSG_NEWSETELEM NFT_MSG_GETSETELEM = C.NFT_MSG_GETSETELEM NFT_MSG_DELSETELEM = C.NFT_MSG_DELSETELEM NFT_MSG_NEWGEN = C.NFT_MSG_NEWGEN NFT_MSG_GETGEN = C.NFT_MSG_GETGEN NFT_MSG_TRACE = C.NFT_MSG_TRACE NFT_MSG_NEWOBJ = C.NFT_MSG_NEWOBJ NFT_MSG_GETOBJ = C.NFT_MSG_GETOBJ NFT_MSG_DELOBJ = C.NFT_MSG_DELOBJ NFT_MSG_GETOBJ_RESET = C.NFT_MSG_GETOBJ_RESET NFT_MSG_NEWFLOWTABLE = C.NFT_MSG_NEWFLOWTABLE NFT_MSG_GETFLOWTABLE = C.NFT_MSG_GETFLOWTABLE NFT_MSG_DELFLOWTABLE = C.NFT_MSG_DELFLOWTABLE NFT_MSG_GETRULE_RESET = C.NFT_MSG_GETRULE_RESET NFT_MSG_MAX = C.NFT_MSG_MAX NFTA_LIST_UNSPEC = C.NFTA_LIST_UNSPEC NFTA_LIST_ELEM = C.NFTA_LIST_ELEM NFTA_HOOK_UNSPEC = C.NFTA_HOOK_UNSPEC NFTA_HOOK_HOOKNUM = C.NFTA_HOOK_HOOKNUM NFTA_HOOK_PRIORITY = C.NFTA_HOOK_PRIORITY NFTA_HOOK_DEV = C.NFTA_HOOK_DEV NFT_TABLE_F_DORMANT = C.NFT_TABLE_F_DORMANT NFTA_TABLE_UNSPEC = C.NFTA_TABLE_UNSPEC NFTA_TABLE_NAME = C.NFTA_TABLE_NAME NFTA_TABLE_FLAGS = C.NFTA_TABLE_FLAGS NFTA_TABLE_USE = C.NFTA_TABLE_USE NFTA_CHAIN_UNSPEC = C.NFTA_CHAIN_UNSPEC NFTA_CHAIN_TABLE = C.NFTA_CHAIN_TABLE NFTA_CHAIN_HANDLE = C.NFTA_CHAIN_HANDLE NFTA_CHAIN_NAME = C.NFTA_CHAIN_NAME NFTA_CHAIN_HOOK = C.NFTA_CHAIN_HOOK NFTA_CHAIN_POLICY = C.NFTA_CHAIN_POLICY NFTA_CHAIN_USE = C.NFTA_CHAIN_USE NFTA_CHAIN_TYPE = C.NFTA_CHAIN_TYPE NFTA_CHAIN_COUNTERS = C.NFTA_CHAIN_COUNTERS NFTA_CHAIN_PAD = C.NFTA_CHAIN_PAD NFTA_RULE_UNSPEC = C.NFTA_RULE_UNSPEC NFTA_RULE_TABLE = C.NFTA_RULE_TABLE NFTA_RULE_CHAIN = C.NFTA_RULE_CHAIN NFTA_RULE_HANDLE = C.NFTA_RULE_HANDLE NFTA_RULE_EXPRESSIONS = C.NFTA_RULE_EXPRESSIONS NFTA_RULE_COMPAT = C.NFTA_RULE_COMPAT NFTA_RULE_POSITION = C.NFTA_RULE_POSITION NFTA_RULE_USERDATA = C.NFTA_RULE_USERDATA NFTA_RULE_PAD = C.NFTA_RULE_PAD NFTA_RULE_ID = C.NFTA_RULE_ID NFT_RULE_COMPAT_F_INV = C.NFT_RULE_COMPAT_F_INV NFT_RULE_COMPAT_F_MASK = C.NFT_RULE_COMPAT_F_MASK NFTA_RULE_COMPAT_UNSPEC = C.NFTA_RULE_COMPAT_UNSPEC NFTA_RULE_COMPAT_PROTO = C.NFTA_RULE_COMPAT_PROTO NFTA_RULE_COMPAT_FLAGS = C.NFTA_RULE_COMPAT_FLAGS NFT_SET_ANONYMOUS = C.NFT_SET_ANONYMOUS NFT_SET_CONSTANT = C.NFT_SET_CONSTANT NFT_SET_INTERVAL = C.NFT_SET_INTERVAL NFT_SET_MAP = C.NFT_SET_MAP NFT_SET_TIMEOUT = C.NFT_SET_TIMEOUT NFT_SET_EVAL = C.NFT_SET_EVAL NFT_SET_OBJECT = C.NFT_SET_OBJECT NFT_SET_POL_PERFORMANCE = C.NFT_SET_POL_PERFORMANCE NFT_SET_POL_MEMORY = C.NFT_SET_POL_MEMORY NFTA_SET_DESC_UNSPEC = C.NFTA_SET_DESC_UNSPEC NFTA_SET_DESC_SIZE = C.NFTA_SET_DESC_SIZE NFTA_SET_UNSPEC = C.NFTA_SET_UNSPEC NFTA_SET_TABLE = C.NFTA_SET_TABLE NFTA_SET_NAME = C.NFTA_SET_NAME NFTA_SET_FLAGS = C.NFTA_SET_FLAGS NFTA_SET_KEY_TYPE = C.NFTA_SET_KEY_TYPE NFTA_SET_KEY_LEN = C.NFTA_SET_KEY_LEN NFTA_SET_DATA_TYPE = C.NFTA_SET_DATA_TYPE NFTA_SET_DATA_LEN = C.NFTA_SET_DATA_LEN NFTA_SET_POLICY = C.NFTA_SET_POLICY NFTA_SET_DESC = C.NFTA_SET_DESC NFTA_SET_ID = C.NFTA_SET_ID NFTA_SET_TIMEOUT = C.NFTA_SET_TIMEOUT NFTA_SET_GC_INTERVAL = C.NFTA_SET_GC_INTERVAL NFTA_SET_USERDATA = C.NFTA_SET_USERDATA NFTA_SET_PAD = C.NFTA_SET_PAD NFTA_SET_OBJ_TYPE = C.NFTA_SET_OBJ_TYPE NFT_SET_ELEM_INTERVAL_END = C.NFT_SET_ELEM_INTERVAL_END NFTA_SET_ELEM_UNSPEC = C.NFTA_SET_ELEM_UNSPEC NFTA_SET_ELEM_KEY = C.NFTA_SET_ELEM_KEY NFTA_SET_ELEM_DATA = C.NFTA_SET_ELEM_DATA NFTA_SET_ELEM_FLAGS = C.NFTA_SET_ELEM_FLAGS NFTA_SET_ELEM_TIMEOUT = C.NFTA_SET_ELEM_TIMEOUT NFTA_SET_ELEM_EXPIRATION = C.NFTA_SET_ELEM_EXPIRATION NFTA_SET_ELEM_USERDATA = C.NFTA_SET_ELEM_USERDATA NFTA_SET_ELEM_EXPR = C.NFTA_SET_ELEM_EXPR NFTA_SET_ELEM_PAD = C.NFTA_SET_ELEM_PAD NFTA_SET_ELEM_OBJREF = C.NFTA_SET_ELEM_OBJREF NFTA_SET_ELEM_LIST_UNSPEC = C.NFTA_SET_ELEM_LIST_UNSPEC NFTA_SET_ELEM_LIST_TABLE = C.NFTA_SET_ELEM_LIST_TABLE NFTA_SET_ELEM_LIST_SET = C.NFTA_SET_ELEM_LIST_SET NFTA_SET_ELEM_LIST_ELEMENTS = C.NFTA_SET_ELEM_LIST_ELEMENTS NFTA_SET_ELEM_LIST_SET_ID = C.NFTA_SET_ELEM_LIST_SET_ID NFT_DATA_VALUE = C.NFT_DATA_VALUE NFT_DATA_VERDICT = C.NFT_DATA_VERDICT NFTA_DATA_UNSPEC = C.NFTA_DATA_UNSPEC NFTA_DATA_VALUE = C.NFTA_DATA_VALUE NFTA_DATA_VERDICT = C.NFTA_DATA_VERDICT NFTA_VERDICT_UNSPEC = C.NFTA_VERDICT_UNSPEC NFTA_VERDICT_CODE = C.NFTA_VERDICT_CODE NFTA_VERDICT_CHAIN = C.NFTA_VERDICT_CHAIN NFTA_EXPR_UNSPEC = C.NFTA_EXPR_UNSPEC NFTA_EXPR_NAME = C.NFTA_EXPR_NAME NFTA_EXPR_DATA = C.NFTA_EXPR_DATA NFTA_IMMEDIATE_UNSPEC = C.NFTA_IMMEDIATE_UNSPEC NFTA_IMMEDIATE_DREG = C.NFTA_IMMEDIATE_DREG NFTA_IMMEDIATE_DATA = C.NFTA_IMMEDIATE_DATA NFTA_BITWISE_UNSPEC = C.NFTA_BITWISE_UNSPEC NFTA_BITWISE_SREG = C.NFTA_BITWISE_SREG NFTA_BITWISE_DREG = C.NFTA_BITWISE_DREG NFTA_BITWISE_LEN = C.NFTA_BITWISE_LEN NFTA_BITWISE_MASK = C.NFTA_BITWISE_MASK NFTA_BITWISE_XOR = C.NFTA_BITWISE_XOR NFT_BYTEORDER_NTOH = C.NFT_BYTEORDER_NTOH NFT_BYTEORDER_HTON = C.NFT_BYTEORDER_HTON NFTA_BYTEORDER_UNSPEC = C.NFTA_BYTEORDER_UNSPEC NFTA_BYTEORDER_SREG = C.NFTA_BYTEORDER_SREG NFTA_BYTEORDER_DREG = C.NFTA_BYTEORDER_DREG NFTA_BYTEORDER_OP = C.NFTA_BYTEORDER_OP NFTA_BYTEORDER_LEN = C.NFTA_BYTEORDER_LEN NFTA_BYTEORDER_SIZE = C.NFTA_BYTEORDER_SIZE NFT_CMP_EQ = C.NFT_CMP_EQ NFT_CMP_NEQ = C.NFT_CMP_NEQ NFT_CMP_LT = C.NFT_CMP_LT NFT_CMP_LTE = C.NFT_CMP_LTE NFT_CMP_GT = C.NFT_CMP_GT NFT_CMP_GTE = C.NFT_CMP_GTE NFTA_CMP_UNSPEC = C.NFTA_CMP_UNSPEC NFTA_CMP_SREG = C.NFTA_CMP_SREG NFTA_CMP_OP = C.NFTA_CMP_OP NFTA_CMP_DATA = C.NFTA_CMP_DATA NFT_RANGE_EQ = C.NFT_RANGE_EQ NFT_RANGE_NEQ = C.NFT_RANGE_NEQ NFTA_RANGE_UNSPEC = C.NFTA_RANGE_UNSPEC NFTA_RANGE_SREG = C.NFTA_RANGE_SREG NFTA_RANGE_OP = C.NFTA_RANGE_OP NFTA_RANGE_FROM_DATA = C.NFTA_RANGE_FROM_DATA NFTA_RANGE_TO_DATA = C.NFTA_RANGE_TO_DATA NFT_LOOKUP_F_INV = C.NFT_LOOKUP_F_INV NFTA_LOOKUP_UNSPEC = C.NFTA_LOOKUP_UNSPEC NFTA_LOOKUP_SET = C.NFTA_LOOKUP_SET NFTA_LOOKUP_SREG = C.NFTA_LOOKUP_SREG NFTA_LOOKUP_DREG = C.NFTA_LOOKUP_DREG NFTA_LOOKUP_SET_ID = C.NFTA_LOOKUP_SET_ID NFTA_LOOKUP_FLAGS = C.NFTA_LOOKUP_FLAGS NFT_DYNSET_OP_ADD = C.NFT_DYNSET_OP_ADD NFT_DYNSET_OP_UPDATE = C.NFT_DYNSET_OP_UPDATE NFT_DYNSET_F_INV = C.NFT_DYNSET_F_INV NFTA_DYNSET_UNSPEC = C.NFTA_DYNSET_UNSPEC NFTA_DYNSET_SET_NAME = C.NFTA_DYNSET_SET_NAME NFTA_DYNSET_SET_ID = C.NFTA_DYNSET_SET_ID NFTA_DYNSET_OP = C.NFTA_DYNSET_OP NFTA_DYNSET_SREG_KEY = C.NFTA_DYNSET_SREG_KEY NFTA_DYNSET_SREG_DATA = C.NFTA_DYNSET_SREG_DATA NFTA_DYNSET_TIMEOUT = C.NFTA_DYNSET_TIMEOUT NFTA_DYNSET_EXPR = C.NFTA_DYNSET_EXPR NFTA_DYNSET_PAD = C.NFTA_DYNSET_PAD NFTA_DYNSET_FLAGS = C.NFTA_DYNSET_FLAGS NFT_PAYLOAD_LL_HEADER = C.NFT_PAYLOAD_LL_HEADER NFT_PAYLOAD_NETWORK_HEADER = C.NFT_PAYLOAD_NETWORK_HEADER NFT_PAYLOAD_TRANSPORT_HEADER = C.NFT_PAYLOAD_TRANSPORT_HEADER NFT_PAYLOAD_CSUM_NONE = C.NFT_PAYLOAD_CSUM_NONE NFT_PAYLOAD_CSUM_INET = C.NFT_PAYLOAD_CSUM_INET NFT_PAYLOAD_L4CSUM_PSEUDOHDR = C.NFT_PAYLOAD_L4CSUM_PSEUDOHDR NFTA_PAYLOAD_UNSPEC = C.NFTA_PAYLOAD_UNSPEC NFTA_PAYLOAD_DREG = C.NFTA_PAYLOAD_DREG NFTA_PAYLOAD_BASE = C.NFTA_PAYLOAD_BASE NFTA_PAYLOAD_OFFSET = C.NFTA_PAYLOAD_OFFSET NFTA_PAYLOAD_LEN = C.NFTA_PAYLOAD_LEN NFTA_PAYLOAD_SREG = C.NFTA_PAYLOAD_SREG NFTA_PAYLOAD_CSUM_TYPE = C.NFTA_PAYLOAD_CSUM_TYPE NFTA_PAYLOAD_CSUM_OFFSET = C.NFTA_PAYLOAD_CSUM_OFFSET NFTA_PAYLOAD_CSUM_FLAGS = C.NFTA_PAYLOAD_CSUM_FLAGS NFT_EXTHDR_F_PRESENT = C.NFT_EXTHDR_F_PRESENT NFT_EXTHDR_OP_IPV6 = C.NFT_EXTHDR_OP_IPV6 NFT_EXTHDR_OP_TCPOPT = C.NFT_EXTHDR_OP_TCPOPT NFTA_EXTHDR_UNSPEC = C.NFTA_EXTHDR_UNSPEC NFTA_EXTHDR_DREG = C.NFTA_EXTHDR_DREG NFTA_EXTHDR_TYPE = C.NFTA_EXTHDR_TYPE NFTA_EXTHDR_OFFSET = C.NFTA_EXTHDR_OFFSET NFTA_EXTHDR_LEN = C.NFTA_EXTHDR_LEN NFTA_EXTHDR_FLAGS = C.NFTA_EXTHDR_FLAGS NFTA_EXTHDR_OP = C.NFTA_EXTHDR_OP NFTA_EXTHDR_SREG = C.NFTA_EXTHDR_SREG NFT_META_LEN = C.NFT_META_LEN NFT_META_PROTOCOL = C.NFT_META_PROTOCOL NFT_META_PRIORITY = C.NFT_META_PRIORITY NFT_META_MARK = C.NFT_META_MARK NFT_META_IIF = C.NFT_META_IIF NFT_META_OIF = C.NFT_META_OIF NFT_META_IIFNAME = C.NFT_META_IIFNAME NFT_META_OIFNAME = C.NFT_META_OIFNAME NFT_META_IIFTYPE = C.NFT_META_IIFTYPE NFT_META_OIFTYPE = C.NFT_META_OIFTYPE NFT_META_SKUID = C.NFT_META_SKUID NFT_META_SKGID = C.NFT_META_SKGID NFT_META_NFTRACE = C.NFT_META_NFTRACE NFT_META_RTCLASSID = C.NFT_META_RTCLASSID NFT_META_SECMARK = C.NFT_META_SECMARK NFT_META_NFPROTO = C.NFT_META_NFPROTO NFT_META_L4PROTO = C.NFT_META_L4PROTO NFT_META_BRI_IIFNAME = C.NFT_META_BRI_IIFNAME NFT_META_BRI_OIFNAME = C.NFT_META_BRI_OIFNAME NFT_META_PKTTYPE = C.NFT_META_PKTTYPE NFT_META_CPU = C.NFT_META_CPU NFT_META_IIFGROUP = C.NFT_META_IIFGROUP NFT_META_OIFGROUP = C.NFT_META_OIFGROUP NFT_META_CGROUP = C.NFT_META_CGROUP NFT_META_PRANDOM = C.NFT_META_PRANDOM NFT_RT_CLASSID = C.NFT_RT_CLASSID NFT_RT_NEXTHOP4 = C.NFT_RT_NEXTHOP4 NFT_RT_NEXTHOP6 = C.NFT_RT_NEXTHOP6 NFT_RT_TCPMSS = C.NFT_RT_TCPMSS NFT_HASH_JENKINS = C.NFT_HASH_JENKINS NFT_HASH_SYM = C.NFT_HASH_SYM NFTA_HASH_UNSPEC = C.NFTA_HASH_UNSPEC NFTA_HASH_SREG = C.NFTA_HASH_SREG NFTA_HASH_DREG = C.NFTA_HASH_DREG NFTA_HASH_LEN = C.NFTA_HASH_LEN NFTA_HASH_MODULUS = C.NFTA_HASH_MODULUS NFTA_HASH_SEED = C.NFTA_HASH_SEED NFTA_HASH_OFFSET = C.NFTA_HASH_OFFSET NFTA_HASH_TYPE = C.NFTA_HASH_TYPE NFTA_META_UNSPEC = C.NFTA_META_UNSPEC NFTA_META_DREG = C.NFTA_META_DREG NFTA_META_KEY = C.NFTA_META_KEY NFTA_META_SREG = C.NFTA_META_SREG NFTA_RT_UNSPEC = C.NFTA_RT_UNSPEC NFTA_RT_DREG = C.NFTA_RT_DREG NFTA_RT_KEY = C.NFTA_RT_KEY NFT_CT_STATE = C.NFT_CT_STATE NFT_CT_DIRECTION = C.NFT_CT_DIRECTION NFT_CT_STATUS = C.NFT_CT_STATUS NFT_CT_MARK = C.NFT_CT_MARK NFT_CT_SECMARK = C.NFT_CT_SECMARK NFT_CT_EXPIRATION = C.NFT_CT_EXPIRATION NFT_CT_HELPER = C.NFT_CT_HELPER NFT_CT_L3PROTOCOL = C.NFT_CT_L3PROTOCOL NFT_CT_SRC = C.NFT_CT_SRC NFT_CT_DST = C.NFT_CT_DST NFT_CT_PROTOCOL = C.NFT_CT_PROTOCOL NFT_CT_PROTO_SRC = C.NFT_CT_PROTO_SRC NFT_CT_PROTO_DST = C.NFT_CT_PROTO_DST NFT_CT_LABELS = C.NFT_CT_LABELS NFT_CT_PKTS = C.NFT_CT_PKTS NFT_CT_BYTES = C.NFT_CT_BYTES NFT_CT_AVGPKT = C.NFT_CT_AVGPKT NFT_CT_ZONE = C.NFT_CT_ZONE NFT_CT_EVENTMASK = C.NFT_CT_EVENTMASK NFTA_CT_UNSPEC = C.NFTA_CT_UNSPEC NFTA_CT_DREG = C.NFTA_CT_DREG NFTA_CT_KEY = C.NFTA_CT_KEY NFTA_CT_DIRECTION = C.NFTA_CT_DIRECTION NFTA_CT_SREG = C.NFTA_CT_SREG NFT_LIMIT_PKTS = C.NFT_LIMIT_PKTS NFT_LIMIT_PKT_BYTES = C.NFT_LIMIT_PKT_BYTES NFT_LIMIT_F_INV = C.NFT_LIMIT_F_INV NFTA_LIMIT_UNSPEC = C.NFTA_LIMIT_UNSPEC NFTA_LIMIT_RATE = C.NFTA_LIMIT_RATE NFTA_LIMIT_UNIT = C.NFTA_LIMIT_UNIT NFTA_LIMIT_BURST = C.NFTA_LIMIT_BURST NFTA_LIMIT_TYPE = C.NFTA_LIMIT_TYPE NFTA_LIMIT_FLAGS = C.NFTA_LIMIT_FLAGS NFTA_LIMIT_PAD = C.NFTA_LIMIT_PAD NFTA_COUNTER_UNSPEC = C.NFTA_COUNTER_UNSPEC NFTA_COUNTER_BYTES = C.NFTA_COUNTER_BYTES NFTA_COUNTER_PACKETS = C.NFTA_COUNTER_PACKETS NFTA_COUNTER_PAD = C.NFTA_COUNTER_PAD NFTA_LOG_UNSPEC = C.NFTA_LOG_UNSPEC NFTA_LOG_GROUP = C.NFTA_LOG_GROUP NFTA_LOG_PREFIX = C.NFTA_LOG_PREFIX NFTA_LOG_SNAPLEN = C.NFTA_LOG_SNAPLEN NFTA_LOG_QTHRESHOLD = C.NFTA_LOG_QTHRESHOLD NFTA_LOG_LEVEL = C.NFTA_LOG_LEVEL NFTA_LOG_FLAGS = C.NFTA_LOG_FLAGS NFTA_QUEUE_UNSPEC = C.NFTA_QUEUE_UNSPEC NFTA_QUEUE_NUM = C.NFTA_QUEUE_NUM NFTA_QUEUE_TOTAL = C.NFTA_QUEUE_TOTAL NFTA_QUEUE_FLAGS = C.NFTA_QUEUE_FLAGS NFTA_QUEUE_SREG_QNUM = C.NFTA_QUEUE_SREG_QNUM NFT_QUOTA_F_INV = C.NFT_QUOTA_F_INV NFT_QUOTA_F_DEPLETED = C.NFT_QUOTA_F_DEPLETED NFTA_QUOTA_UNSPEC = C.NFTA_QUOTA_UNSPEC NFTA_QUOTA_BYTES = C.NFTA_QUOTA_BYTES NFTA_QUOTA_FLAGS = C.NFTA_QUOTA_FLAGS NFTA_QUOTA_PAD = C.NFTA_QUOTA_PAD NFTA_QUOTA_CONSUMED = C.NFTA_QUOTA_CONSUMED NFT_REJECT_ICMP_UNREACH = C.NFT_REJECT_ICMP_UNREACH NFT_REJECT_TCP_RST = C.NFT_REJECT_TCP_RST NFT_REJECT_ICMPX_UNREACH = C.NFT_REJECT_ICMPX_UNREACH NFT_REJECT_ICMPX_NO_ROUTE = C.NFT_REJECT_ICMPX_NO_ROUTE NFT_REJECT_ICMPX_PORT_UNREACH = C.NFT_REJECT_ICMPX_PORT_UNREACH NFT_REJECT_ICMPX_HOST_UNREACH = C.NFT_REJECT_ICMPX_HOST_UNREACH NFT_REJECT_ICMPX_ADMIN_PROHIBITED = C.NFT_REJECT_ICMPX_ADMIN_PROHIBITED NFTA_REJECT_UNSPEC = C.NFTA_REJECT_UNSPEC NFTA_REJECT_TYPE = C.NFTA_REJECT_TYPE NFTA_REJECT_ICMP_CODE = C.NFTA_REJECT_ICMP_CODE NFT_NAT_SNAT = C.NFT_NAT_SNAT NFT_NAT_DNAT = C.NFT_NAT_DNAT NFTA_NAT_UNSPEC = C.NFTA_NAT_UNSPEC NFTA_NAT_TYPE = C.NFTA_NAT_TYPE NFTA_NAT_FAMILY = C.NFTA_NAT_FAMILY NFTA_NAT_REG_ADDR_MIN = C.NFTA_NAT_REG_ADDR_MIN NFTA_NAT_REG_ADDR_MAX = C.NFTA_NAT_REG_ADDR_MAX NFTA_NAT_REG_PROTO_MIN = C.NFTA_NAT_REG_PROTO_MIN NFTA_NAT_REG_PROTO_MAX = C.NFTA_NAT_REG_PROTO_MAX NFTA_NAT_FLAGS = C.NFTA_NAT_FLAGS NFTA_MASQ_UNSPEC = C.NFTA_MASQ_UNSPEC NFTA_MASQ_FLAGS = C.NFTA_MASQ_FLAGS NFTA_MASQ_REG_PROTO_MIN = C.NFTA_MASQ_REG_PROTO_MIN NFTA_MASQ_REG_PROTO_MAX = C.NFTA_MASQ_REG_PROTO_MAX NFTA_REDIR_UNSPEC = C.NFTA_REDIR_UNSPEC NFTA_REDIR_REG_PROTO_MIN = C.NFTA_REDIR_REG_PROTO_MIN NFTA_REDIR_REG_PROTO_MAX = C.NFTA_REDIR_REG_PROTO_MAX NFTA_REDIR_FLAGS = C.NFTA_REDIR_FLAGS NFTA_DUP_UNSPEC = C.NFTA_DUP_UNSPEC NFTA_DUP_SREG_ADDR = C.NFTA_DUP_SREG_ADDR NFTA_DUP_SREG_DEV = C.NFTA_DUP_SREG_DEV NFTA_FWD_UNSPEC = C.NFTA_FWD_UNSPEC NFTA_FWD_SREG_DEV = C.NFTA_FWD_SREG_DEV NFTA_OBJREF_UNSPEC = C.NFTA_OBJREF_UNSPEC NFTA_OBJREF_IMM_TYPE = C.NFTA_OBJREF_IMM_TYPE NFTA_OBJREF_IMM_NAME = C.NFTA_OBJREF_IMM_NAME NFTA_OBJREF_SET_SREG = C.NFTA_OBJREF_SET_SREG NFTA_OBJREF_SET_NAME = C.NFTA_OBJREF_SET_NAME NFTA_OBJREF_SET_ID = C.NFTA_OBJREF_SET_ID NFTA_GEN_UNSPEC = C.NFTA_GEN_UNSPEC NFTA_GEN_ID = C.NFTA_GEN_ID NFTA_GEN_PROC_PID = C.NFTA_GEN_PROC_PID NFTA_GEN_PROC_NAME = C.NFTA_GEN_PROC_NAME NFTA_FIB_UNSPEC = C.NFTA_FIB_UNSPEC NFTA_FIB_DREG = C.NFTA_FIB_DREG NFTA_FIB_RESULT = C.NFTA_FIB_RESULT NFTA_FIB_FLAGS = C.NFTA_FIB_FLAGS NFT_FIB_RESULT_UNSPEC = C.NFT_FIB_RESULT_UNSPEC NFT_FIB_RESULT_OIF = C.NFT_FIB_RESULT_OIF NFT_FIB_RESULT_OIFNAME = C.NFT_FIB_RESULT_OIFNAME NFT_FIB_RESULT_ADDRTYPE = C.NFT_FIB_RESULT_ADDRTYPE NFTA_FIB_F_SADDR = C.NFTA_FIB_F_SADDR NFTA_FIB_F_DADDR = C.NFTA_FIB_F_DADDR NFTA_FIB_F_MARK = C.NFTA_FIB_F_MARK NFTA_FIB_F_IIF = C.NFTA_FIB_F_IIF NFTA_FIB_F_OIF = C.NFTA_FIB_F_OIF NFTA_FIB_F_PRESENT = C.NFTA_FIB_F_PRESENT NFTA_CT_HELPER_UNSPEC = C.NFTA_CT_HELPER_UNSPEC NFTA_CT_HELPER_NAME = C.NFTA_CT_HELPER_NAME NFTA_CT_HELPER_L3PROTO = C.NFTA_CT_HELPER_L3PROTO NFTA_CT_HELPER_L4PROTO = C.NFTA_CT_HELPER_L4PROTO NFTA_OBJ_UNSPEC = C.NFTA_OBJ_UNSPEC NFTA_OBJ_TABLE = C.NFTA_OBJ_TABLE NFTA_OBJ_NAME = C.NFTA_OBJ_NAME NFTA_OBJ_TYPE = C.NFTA_OBJ_TYPE NFTA_OBJ_DATA = C.NFTA_OBJ_DATA NFTA_OBJ_USE = C.NFTA_OBJ_USE NFTA_TRACE_UNSPEC = C.NFTA_TRACE_UNSPEC NFTA_TRACE_TABLE = C.NFTA_TRACE_TABLE NFTA_TRACE_CHAIN = C.NFTA_TRACE_CHAIN NFTA_TRACE_RULE_HANDLE = C.NFTA_TRACE_RULE_HANDLE NFTA_TRACE_TYPE = C.NFTA_TRACE_TYPE NFTA_TRACE_VERDICT = C.NFTA_TRACE_VERDICT NFTA_TRACE_ID = C.NFTA_TRACE_ID NFTA_TRACE_LL_HEADER = C.NFTA_TRACE_LL_HEADER NFTA_TRACE_NETWORK_HEADER = C.NFTA_TRACE_NETWORK_HEADER NFTA_TRACE_TRANSPORT_HEADER = C.NFTA_TRACE_TRANSPORT_HEADER NFTA_TRACE_IIF = C.NFTA_TRACE_IIF NFTA_TRACE_IIFTYPE = C.NFTA_TRACE_IIFTYPE NFTA_TRACE_OIF = C.NFTA_TRACE_OIF NFTA_TRACE_OIFTYPE = C.NFTA_TRACE_OIFTYPE NFTA_TRACE_MARK = C.NFTA_TRACE_MARK NFTA_TRACE_NFPROTO = C.NFTA_TRACE_NFPROTO NFTA_TRACE_POLICY = C.NFTA_TRACE_POLICY NFTA_TRACE_PAD = C.NFTA_TRACE_PAD NFT_TRACETYPE_UNSPEC = C.NFT_TRACETYPE_UNSPEC NFT_TRACETYPE_POLICY = C.NFT_TRACETYPE_POLICY NFT_TRACETYPE_RETURN = C.NFT_TRACETYPE_RETURN NFT_TRACETYPE_RULE = C.NFT_TRACETYPE_RULE NFTA_NG_UNSPEC = C.NFTA_NG_UNSPEC NFTA_NG_DREG = C.NFTA_NG_DREG NFTA_NG_MODULUS = C.NFTA_NG_MODULUS NFTA_NG_TYPE = C.NFTA_NG_TYPE NFTA_NG_OFFSET = C.NFTA_NG_OFFSET NFT_NG_INCREMENTAL = C.NFT_NG_INCREMENTAL NFT_NG_RANDOM = C.NFT_NG_RANDOM ) // netfilter nf_tables_compat // generated using: // perl -nlE '/^\s*(NFT\w+)/ && say "$1 = C.$1"' /usr/include/linux/netfilter/nf_tables_compat.h const ( NFTA_TARGET_UNSPEC = C.NFTA_TARGET_UNSPEC NFTA_TARGET_NAME = C.NFTA_TARGET_NAME NFTA_TARGET_REV = C.NFTA_TARGET_REV NFTA_TARGET_INFO = C.NFTA_TARGET_INFO NFTA_MATCH_UNSPEC = C.NFTA_MATCH_UNSPEC NFTA_MATCH_NAME = C.NFTA_MATCH_NAME NFTA_MATCH_REV = C.NFTA_MATCH_REV NFTA_MATCH_INFO = C.NFTA_MATCH_INFO NFTA_COMPAT_UNSPEC = C.NFTA_COMPAT_UNSPEC NFTA_COMPAT_NAME = C.NFTA_COMPAT_NAME NFTA_COMPAT_REV = C.NFTA_COMPAT_REV NFTA_COMPAT_TYPE = C.NFTA_COMPAT_TYPE ) type RTCTime C.struct_rtc_time type RTCWkAlrm C.struct_rtc_wkalrm type RTCPLLInfo C.struct_rtc_pll_info // BLKPG ioctl: type BlkpgIoctlArg C.struct_blkpg_ioctl_arg type BlkpgPartition C.struct_my_blkpg_partition const ( BLKPG = C.BLKPG BLKPG_ADD_PARTITION = C.BLKPG_ADD_PARTITION BLKPG_DEL_PARTITION = C.BLKPG_DEL_PARTITION BLKPG_RESIZE_PARTITION = C.BLKPG_RESIZE_PARTITION ) // netlink namespace // generated from // perl -nlE '/^\s*(NETNSA\w+)/ && say "$1 = C.$1"' /usr/include/linux/net_namespace.h const ( NETNSA_NONE = C.NETNSA_NONE NETNSA_NSID = C.NETNSA_NSID NETNSA_PID = C.NETNSA_PID NETNSA_FD = C.NETNSA_FD NETNSA_TARGET_NSID = C.NETNSA_TARGET_NSID NETNSA_CURRENT_NSID = C.NETNSA_CURRENT_NSID ) // AF_XDP: type XDPRingOffset C.struct_xdp_ring_offset type XDPMmapOffsets C.struct_xdp_mmap_offsets type XDPUmemReg C.struct_xdp_umem_reg type XDPStatistics C.struct_xdp_statistics type XDPDesc C.struct_xdp_desc // NCSI generic netlink: const ( NCSI_CMD_UNSPEC = C.NCSI_CMD_UNSPEC NCSI_CMD_PKG_INFO = C.NCSI_CMD_PKG_INFO NCSI_CMD_SET_INTERFACE = C.NCSI_CMD_SET_INTERFACE NCSI_CMD_CLEAR_INTERFACE = C.NCSI_CMD_CLEAR_INTERFACE NCSI_ATTR_UNSPEC = C.NCSI_ATTR_UNSPEC NCSI_ATTR_IFINDEX = C.NCSI_ATTR_IFINDEX NCSI_ATTR_PACKAGE_LIST = C.NCSI_ATTR_PACKAGE_LIST NCSI_ATTR_PACKAGE_ID = C.NCSI_ATTR_PACKAGE_ID NCSI_ATTR_CHANNEL_ID = C.NCSI_ATTR_CHANNEL_ID NCSI_PKG_ATTR_UNSPEC = C.NCSI_PKG_ATTR_UNSPEC NCSI_PKG_ATTR = C.NCSI_PKG_ATTR NCSI_PKG_ATTR_ID = C.NCSI_PKG_ATTR_ID NCSI_PKG_ATTR_FORCED = C.NCSI_PKG_ATTR_FORCED NCSI_PKG_ATTR_CHANNEL_LIST = C.NCSI_PKG_ATTR_CHANNEL_LIST NCSI_CHANNEL_ATTR_UNSPEC = C.NCSI_CHANNEL_ATTR_UNSPEC NCSI_CHANNEL_ATTR = C.NCSI_CHANNEL_ATTR NCSI_CHANNEL_ATTR_ID = C.NCSI_CHANNEL_ATTR_ID NCSI_CHANNEL_ATTR_VERSION_MAJOR = C.NCSI_CHANNEL_ATTR_VERSION_MAJOR NCSI_CHANNEL_ATTR_VERSION_MINOR = C.NCSI_CHANNEL_ATTR_VERSION_MINOR NCSI_CHANNEL_ATTR_VERSION_STR = C.NCSI_CHANNEL_ATTR_VERSION_STR NCSI_CHANNEL_ATTR_LINK_STATE = C.NCSI_CHANNEL_ATTR_LINK_STATE NCSI_CHANNEL_ATTR_ACTIVE = C.NCSI_CHANNEL_ATTR_ACTIVE NCSI_CHANNEL_ATTR_FORCED = C.NCSI_CHANNEL_ATTR_FORCED NCSI_CHANNEL_ATTR_VLAN_LIST = C.NCSI_CHANNEL_ATTR_VLAN_LIST NCSI_CHANNEL_ATTR_VLAN_ID = C.NCSI_CHANNEL_ATTR_VLAN_ID ) // Timestamping type ScmTimestamping C.struct_scm_timestamping const ( SOF_TIMESTAMPING_TX_HARDWARE = C.SOF_TIMESTAMPING_TX_HARDWARE SOF_TIMESTAMPING_TX_SOFTWARE = C.SOF_TIMESTAMPING_TX_SOFTWARE SOF_TIMESTAMPING_RX_HARDWARE = C.SOF_TIMESTAMPING_RX_HARDWARE SOF_TIMESTAMPING_RX_SOFTWARE = C.SOF_TIMESTAMPING_RX_SOFTWARE SOF_TIMESTAMPING_SOFTWARE = C.SOF_TIMESTAMPING_SOFTWARE SOF_TIMESTAMPING_SYS_HARDWARE = C.SOF_TIMESTAMPING_SYS_HARDWARE SOF_TIMESTAMPING_RAW_HARDWARE = C.SOF_TIMESTAMPING_RAW_HARDWARE SOF_TIMESTAMPING_OPT_ID = C.SOF_TIMESTAMPING_OPT_ID SOF_TIMESTAMPING_TX_SCHED = C.SOF_TIMESTAMPING_TX_SCHED SOF_TIMESTAMPING_TX_ACK = C.SOF_TIMESTAMPING_TX_ACK SOF_TIMESTAMPING_OPT_CMSG = C.SOF_TIMESTAMPING_OPT_CMSG SOF_TIMESTAMPING_OPT_TSONLY = C.SOF_TIMESTAMPING_OPT_TSONLY SOF_TIMESTAMPING_OPT_STATS = C.SOF_TIMESTAMPING_OPT_STATS SOF_TIMESTAMPING_OPT_PKTINFO = C.SOF_TIMESTAMPING_OPT_PKTINFO SOF_TIMESTAMPING_OPT_TX_SWHW = C.SOF_TIMESTAMPING_OPT_TX_SWHW SOF_TIMESTAMPING_BIND_PHC = C.SOF_TIMESTAMPING_BIND_PHC SOF_TIMESTAMPING_OPT_ID_TCP = C.SOF_TIMESTAMPING_OPT_ID_TCP SOF_TIMESTAMPING_LAST = C.SOF_TIMESTAMPING_LAST SOF_TIMESTAMPING_MASK = C.SOF_TIMESTAMPING_MASK SCM_TSTAMP_SND = C.SCM_TSTAMP_SND SCM_TSTAMP_SCHED = C.SCM_TSTAMP_SCHED SCM_TSTAMP_ACK = C.SCM_TSTAMP_ACK ) // Socket error queue type SockExtendedErr C.struct_sock_extended_err // Fanotify type FanotifyEventMetadata C.struct_fanotify_event_metadata type FanotifyResponse C.struct_fanotify_response // Crypto user configuration API. const ( CRYPTO_MSG_BASE = C.CRYPTO_MSG_BASE CRYPTO_MSG_NEWALG = C.CRYPTO_MSG_NEWALG CRYPTO_MSG_DELALG = C.CRYPTO_MSG_DELALG CRYPTO_MSG_UPDATEALG = C.CRYPTO_MSG_UPDATEALG CRYPTO_MSG_GETALG = C.CRYPTO_MSG_GETALG CRYPTO_MSG_DELRNG = C.CRYPTO_MSG_DELRNG CRYPTO_MSG_GETSTAT = C.CRYPTO_MSG_GETSTAT ) const ( CRYPTOCFGA_UNSPEC = C.CRYPTOCFGA_UNSPEC CRYPTOCFGA_PRIORITY_VAL = C.CRYPTOCFGA_PRIORITY_VAL CRYPTOCFGA_REPORT_LARVAL = C.CRYPTOCFGA_REPORT_LARVAL CRYPTOCFGA_REPORT_HASH = C.CRYPTOCFGA_REPORT_HASH CRYPTOCFGA_REPORT_BLKCIPHER = C.CRYPTOCFGA_REPORT_BLKCIPHER CRYPTOCFGA_REPORT_AEAD = C.CRYPTOCFGA_REPORT_AEAD CRYPTOCFGA_REPORT_COMPRESS = C.CRYPTOCFGA_REPORT_COMPRESS CRYPTOCFGA_REPORT_RNG = C.CRYPTOCFGA_REPORT_RNG CRYPTOCFGA_REPORT_CIPHER = C.CRYPTOCFGA_REPORT_CIPHER CRYPTOCFGA_REPORT_AKCIPHER = C.CRYPTOCFGA_REPORT_AKCIPHER CRYPTOCFGA_REPORT_KPP = C.CRYPTOCFGA_REPORT_KPP CRYPTOCFGA_REPORT_ACOMP = C.CRYPTOCFGA_REPORT_ACOMP CRYPTOCFGA_STAT_LARVAL = C.CRYPTOCFGA_STAT_LARVAL CRYPTOCFGA_STAT_HASH = C.CRYPTOCFGA_STAT_HASH CRYPTOCFGA_STAT_BLKCIPHER = C.CRYPTOCFGA_STAT_BLKCIPHER CRYPTOCFGA_STAT_AEAD = C.CRYPTOCFGA_STAT_AEAD CRYPTOCFGA_STAT_COMPRESS = C.CRYPTOCFGA_STAT_COMPRESS CRYPTOCFGA_STAT_RNG = C.CRYPTOCFGA_STAT_RNG CRYPTOCFGA_STAT_CIPHER = C.CRYPTOCFGA_STAT_CIPHER CRYPTOCFGA_STAT_AKCIPHER = C.CRYPTOCFGA_STAT_AKCIPHER CRYPTOCFGA_STAT_KPP = C.CRYPTOCFGA_STAT_KPP CRYPTOCFGA_STAT_ACOMP = C.CRYPTOCFGA_STAT_ACOMP ) type CryptoUserAlg C.struct_crypto_user_alg type CryptoStatAEAD C.struct_crypto_stat_aead type CryptoStatAKCipher C.struct_crypto_stat_akcipher type CryptoStatCipher C.struct_crypto_stat_cipher type CryptoStatCompress C.struct_crypto_stat_compress type CryptoStatHash C.struct_crypto_stat_hash type CryptoStatKPP C.struct_crypto_stat_kpp type CryptoStatRNG C.struct_crypto_stat_rng type CryptoStatLarval C.struct_crypto_stat_larval type CryptoReportLarval C.struct_crypto_report_larval type CryptoReportHash C.struct_crypto_report_hash type CryptoReportCipher C.struct_crypto_report_cipher type CryptoReportBlkCipher C.struct_crypto_report_blkcipher type CryptoReportAEAD C.struct_crypto_report_aead type CryptoReportComp C.struct_crypto_report_comp type CryptoReportRNG C.struct_crypto_report_rng type CryptoReportAKCipher C.struct_crypto_report_akcipher type CryptoReportKPP C.struct_crypto_report_kpp type CryptoReportAcomp C.struct_crypto_report_acomp // generated by: // perl -nlE '/^\s*((TCP_)?BPF_\w+)/ && say "$1 = C.$1"' include/uapi/linux/bpf.h const ( BPF_REG_0 = C.BPF_REG_0 BPF_REG_1 = C.BPF_REG_1 BPF_REG_2 = C.BPF_REG_2 BPF_REG_3 = C.BPF_REG_3 BPF_REG_4 = C.BPF_REG_4 BPF_REG_5 = C.BPF_REG_5 BPF_REG_6 = C.BPF_REG_6 BPF_REG_7 = C.BPF_REG_7 BPF_REG_8 = C.BPF_REG_8 BPF_REG_9 = C.BPF_REG_9 BPF_REG_10 = C.BPF_REG_10 BPF_CGROUP_ITER_ORDER_UNSPEC = C.BPF_CGROUP_ITER_ORDER_UNSPEC BPF_CGROUP_ITER_SELF_ONLY = C.BPF_CGROUP_ITER_SELF_ONLY BPF_CGROUP_ITER_DESCENDANTS_PRE = C.BPF_CGROUP_ITER_DESCENDANTS_PRE BPF_CGROUP_ITER_DESCENDANTS_POST = C.BPF_CGROUP_ITER_DESCENDANTS_POST BPF_CGROUP_ITER_ANCESTORS_UP = C.BPF_CGROUP_ITER_ANCESTORS_UP BPF_MAP_CREATE = C.BPF_MAP_CREATE BPF_MAP_LOOKUP_ELEM = C.BPF_MAP_LOOKUP_ELEM BPF_MAP_UPDATE_ELEM = C.BPF_MAP_UPDATE_ELEM BPF_MAP_DELETE_ELEM = C.BPF_MAP_DELETE_ELEM BPF_MAP_GET_NEXT_KEY = C.BPF_MAP_GET_NEXT_KEY BPF_PROG_LOAD = C.BPF_PROG_LOAD BPF_OBJ_PIN = C.BPF_OBJ_PIN BPF_OBJ_GET = C.BPF_OBJ_GET BPF_PROG_ATTACH = C.BPF_PROG_ATTACH BPF_PROG_DETACH = C.BPF_PROG_DETACH BPF_PROG_TEST_RUN = C.BPF_PROG_TEST_RUN BPF_PROG_RUN = C.BPF_PROG_RUN BPF_PROG_GET_NEXT_ID = C.BPF_PROG_GET_NEXT_ID BPF_MAP_GET_NEXT_ID = C.BPF_MAP_GET_NEXT_ID BPF_PROG_GET_FD_BY_ID = C.BPF_PROG_GET_FD_BY_ID BPF_MAP_GET_FD_BY_ID = C.BPF_MAP_GET_FD_BY_ID BPF_OBJ_GET_INFO_BY_FD = C.BPF_OBJ_GET_INFO_BY_FD BPF_PROG_QUERY = C.BPF_PROG_QUERY BPF_RAW_TRACEPOINT_OPEN = C.BPF_RAW_TRACEPOINT_OPEN BPF_BTF_LOAD = C.BPF_BTF_LOAD BPF_BTF_GET_FD_BY_ID = C.BPF_BTF_GET_FD_BY_ID BPF_TASK_FD_QUERY = C.BPF_TASK_FD_QUERY BPF_MAP_LOOKUP_AND_DELETE_ELEM = C.BPF_MAP_LOOKUP_AND_DELETE_ELEM BPF_MAP_FREEZE = C.BPF_MAP_FREEZE BPF_BTF_GET_NEXT_ID = C.BPF_BTF_GET_NEXT_ID BPF_MAP_LOOKUP_BATCH = C.BPF_MAP_LOOKUP_BATCH BPF_MAP_LOOKUP_AND_DELETE_BATCH = C.BPF_MAP_LOOKUP_AND_DELETE_BATCH BPF_MAP_UPDATE_BATCH = C.BPF_MAP_UPDATE_BATCH BPF_MAP_DELETE_BATCH = C.BPF_MAP_DELETE_BATCH BPF_LINK_CREATE = C.BPF_LINK_CREATE BPF_LINK_UPDATE = C.BPF_LINK_UPDATE BPF_LINK_GET_FD_BY_ID = C.BPF_LINK_GET_FD_BY_ID BPF_LINK_GET_NEXT_ID = C.BPF_LINK_GET_NEXT_ID BPF_ENABLE_STATS = C.BPF_ENABLE_STATS BPF_ITER_CREATE = C.BPF_ITER_CREATE BPF_LINK_DETACH = C.BPF_LINK_DETACH BPF_PROG_BIND_MAP = C.BPF_PROG_BIND_MAP BPF_MAP_TYPE_UNSPEC = C.BPF_MAP_TYPE_UNSPEC BPF_MAP_TYPE_HASH = C.BPF_MAP_TYPE_HASH BPF_MAP_TYPE_ARRAY = C.BPF_MAP_TYPE_ARRAY BPF_MAP_TYPE_PROG_ARRAY = C.BPF_MAP_TYPE_PROG_ARRAY BPF_MAP_TYPE_PERF_EVENT_ARRAY = C.BPF_MAP_TYPE_PERF_EVENT_ARRAY BPF_MAP_TYPE_PERCPU_HASH = C.BPF_MAP_TYPE_PERCPU_HASH BPF_MAP_TYPE_PERCPU_ARRAY = C.BPF_MAP_TYPE_PERCPU_ARRAY BPF_MAP_TYPE_STACK_TRACE = C.BPF_MAP_TYPE_STACK_TRACE BPF_MAP_TYPE_CGROUP_ARRAY = C.BPF_MAP_TYPE_CGROUP_ARRAY BPF_MAP_TYPE_LRU_HASH = C.BPF_MAP_TYPE_LRU_HASH BPF_MAP_TYPE_LRU_PERCPU_HASH = C.BPF_MAP_TYPE_LRU_PERCPU_HASH BPF_MAP_TYPE_LPM_TRIE = C.BPF_MAP_TYPE_LPM_TRIE BPF_MAP_TYPE_ARRAY_OF_MAPS = C.BPF_MAP_TYPE_ARRAY_OF_MAPS BPF_MAP_TYPE_HASH_OF_MAPS = C.BPF_MAP_TYPE_HASH_OF_MAPS BPF_MAP_TYPE_DEVMAP = C.BPF_MAP_TYPE_DEVMAP BPF_MAP_TYPE_SOCKMAP = C.BPF_MAP_TYPE_SOCKMAP BPF_MAP_TYPE_CPUMAP = C.BPF_MAP_TYPE_CPUMAP BPF_MAP_TYPE_XSKMAP = C.BPF_MAP_TYPE_XSKMAP BPF_MAP_TYPE_SOCKHASH = C.BPF_MAP_TYPE_SOCKHASH BPF_MAP_TYPE_CGROUP_STORAGE_DEPRECATED = C.BPF_MAP_TYPE_CGROUP_STORAGE_DEPRECATED BPF_MAP_TYPE_CGROUP_STORAGE = C.BPF_MAP_TYPE_CGROUP_STORAGE BPF_MAP_TYPE_REUSEPORT_SOCKARRAY = C.BPF_MAP_TYPE_REUSEPORT_SOCKARRAY BPF_MAP_TYPE_PERCPU_CGROUP_STORAGE = C.BPF_MAP_TYPE_PERCPU_CGROUP_STORAGE BPF_MAP_TYPE_QUEUE = C.BPF_MAP_TYPE_QUEUE BPF_MAP_TYPE_STACK = C.BPF_MAP_TYPE_STACK BPF_MAP_TYPE_SK_STORAGE = C.BPF_MAP_TYPE_SK_STORAGE BPF_MAP_TYPE_DEVMAP_HASH = C.BPF_MAP_TYPE_DEVMAP_HASH BPF_MAP_TYPE_STRUCT_OPS = C.BPF_MAP_TYPE_STRUCT_OPS BPF_MAP_TYPE_RINGBUF = C.BPF_MAP_TYPE_RINGBUF BPF_MAP_TYPE_INODE_STORAGE = C.BPF_MAP_TYPE_INODE_STORAGE BPF_MAP_TYPE_TASK_STORAGE = C.BPF_MAP_TYPE_TASK_STORAGE BPF_MAP_TYPE_BLOOM_FILTER = C.BPF_MAP_TYPE_BLOOM_FILTER BPF_MAP_TYPE_USER_RINGBUF = C.BPF_MAP_TYPE_USER_RINGBUF BPF_MAP_TYPE_CGRP_STORAGE = C.BPF_MAP_TYPE_CGRP_STORAGE BPF_PROG_TYPE_UNSPEC = C.BPF_PROG_TYPE_UNSPEC BPF_PROG_TYPE_SOCKET_FILTER = C.BPF_PROG_TYPE_SOCKET_FILTER BPF_PROG_TYPE_KPROBE = C.BPF_PROG_TYPE_KPROBE BPF_PROG_TYPE_SCHED_CLS = C.BPF_PROG_TYPE_SCHED_CLS BPF_PROG_TYPE_SCHED_ACT = C.BPF_PROG_TYPE_SCHED_ACT BPF_PROG_TYPE_TRACEPOINT = C.BPF_PROG_TYPE_TRACEPOINT BPF_PROG_TYPE_XDP = C.BPF_PROG_TYPE_XDP BPF_PROG_TYPE_PERF_EVENT = C.BPF_PROG_TYPE_PERF_EVENT BPF_PROG_TYPE_CGROUP_SKB = C.BPF_PROG_TYPE_CGROUP_SKB BPF_PROG_TYPE_CGROUP_SOCK = C.BPF_PROG_TYPE_CGROUP_SOCK BPF_PROG_TYPE_LWT_IN = C.BPF_PROG_TYPE_LWT_IN BPF_PROG_TYPE_LWT_OUT = C.BPF_PROG_TYPE_LWT_OUT BPF_PROG_TYPE_LWT_XMIT = C.BPF_PROG_TYPE_LWT_XMIT BPF_PROG_TYPE_SOCK_OPS = C.BPF_PROG_TYPE_SOCK_OPS BPF_PROG_TYPE_SK_SKB = C.BPF_PROG_TYPE_SK_SKB BPF_PROG_TYPE_CGROUP_DEVICE = C.BPF_PROG_TYPE_CGROUP_DEVICE BPF_PROG_TYPE_SK_MSG = C.BPF_PROG_TYPE_SK_MSG BPF_PROG_TYPE_RAW_TRACEPOINT = C.BPF_PROG_TYPE_RAW_TRACEPOINT BPF_PROG_TYPE_CGROUP_SOCK_ADDR = C.BPF_PROG_TYPE_CGROUP_SOCK_ADDR BPF_PROG_TYPE_LWT_SEG6LOCAL = C.BPF_PROG_TYPE_LWT_SEG6LOCAL BPF_PROG_TYPE_LIRC_MODE2 = C.BPF_PROG_TYPE_LIRC_MODE2 BPF_PROG_TYPE_SK_REUSEPORT = C.BPF_PROG_TYPE_SK_REUSEPORT BPF_PROG_TYPE_FLOW_DISSECTOR = C.BPF_PROG_TYPE_FLOW_DISSECTOR BPF_PROG_TYPE_CGROUP_SYSCTL = C.BPF_PROG_TYPE_CGROUP_SYSCTL BPF_PROG_TYPE_RAW_TRACEPOINT_WRITABLE = C.BPF_PROG_TYPE_RAW_TRACEPOINT_WRITABLE BPF_PROG_TYPE_CGROUP_SOCKOPT = C.BPF_PROG_TYPE_CGROUP_SOCKOPT BPF_PROG_TYPE_TRACING = C.BPF_PROG_TYPE_TRACING BPF_PROG_TYPE_STRUCT_OPS = C.BPF_PROG_TYPE_STRUCT_OPS BPF_PROG_TYPE_EXT = C.BPF_PROG_TYPE_EXT BPF_PROG_TYPE_LSM = C.BPF_PROG_TYPE_LSM BPF_PROG_TYPE_SK_LOOKUP = C.BPF_PROG_TYPE_SK_LOOKUP BPF_PROG_TYPE_SYSCALL = C.BPF_PROG_TYPE_SYSCALL BPF_PROG_TYPE_NETFILTER = C.BPF_PROG_TYPE_NETFILTER BPF_CGROUP_INET_INGRESS = C.BPF_CGROUP_INET_INGRESS BPF_CGROUP_INET_EGRESS = C.BPF_CGROUP_INET_EGRESS BPF_CGROUP_INET_SOCK_CREATE = C.BPF_CGROUP_INET_SOCK_CREATE BPF_CGROUP_SOCK_OPS = C.BPF_CGROUP_SOCK_OPS BPF_SK_SKB_STREAM_PARSER = C.BPF_SK_SKB_STREAM_PARSER BPF_SK_SKB_STREAM_VERDICT = C.BPF_SK_SKB_STREAM_VERDICT BPF_CGROUP_DEVICE = C.BPF_CGROUP_DEVICE BPF_SK_MSG_VERDICT = C.BPF_SK_MSG_VERDICT BPF_CGROUP_INET4_BIND = C.BPF_CGROUP_INET4_BIND BPF_CGROUP_INET6_BIND = C.BPF_CGROUP_INET6_BIND BPF_CGROUP_INET4_CONNECT = C.BPF_CGROUP_INET4_CONNECT BPF_CGROUP_INET6_CONNECT = C.BPF_CGROUP_INET6_CONNECT BPF_CGROUP_INET4_POST_BIND = C.BPF_CGROUP_INET4_POST_BIND BPF_CGROUP_INET6_POST_BIND = C.BPF_CGROUP_INET6_POST_BIND BPF_CGROUP_UDP4_SENDMSG = C.BPF_CGROUP_UDP4_SENDMSG BPF_CGROUP_UDP6_SENDMSG = C.BPF_CGROUP_UDP6_SENDMSG BPF_LIRC_MODE2 = C.BPF_LIRC_MODE2 BPF_FLOW_DISSECTOR = C.BPF_FLOW_DISSECTOR BPF_CGROUP_SYSCTL = C.BPF_CGROUP_SYSCTL BPF_CGROUP_UDP4_RECVMSG = C.BPF_CGROUP_UDP4_RECVMSG BPF_CGROUP_UDP6_RECVMSG = C.BPF_CGROUP_UDP6_RECVMSG BPF_CGROUP_GETSOCKOPT = C.BPF_CGROUP_GETSOCKOPT BPF_CGROUP_SETSOCKOPT = C.BPF_CGROUP_SETSOCKOPT BPF_TRACE_RAW_TP = C.BPF_TRACE_RAW_TP BPF_TRACE_FENTRY = C.BPF_TRACE_FENTRY BPF_TRACE_FEXIT = C.BPF_TRACE_FEXIT BPF_MODIFY_RETURN = C.BPF_MODIFY_RETURN BPF_LSM_MAC = C.BPF_LSM_MAC BPF_TRACE_ITER = C.BPF_TRACE_ITER BPF_CGROUP_INET4_GETPEERNAME = C.BPF_CGROUP_INET4_GETPEERNAME BPF_CGROUP_INET6_GETPEERNAME = C.BPF_CGROUP_INET6_GETPEERNAME BPF_CGROUP_INET4_GETSOCKNAME = C.BPF_CGROUP_INET4_GETSOCKNAME BPF_CGROUP_INET6_GETSOCKNAME = C.BPF_CGROUP_INET6_GETSOCKNAME BPF_XDP_DEVMAP = C.BPF_XDP_DEVMAP BPF_CGROUP_INET_SOCK_RELEASE = C.BPF_CGROUP_INET_SOCK_RELEASE BPF_XDP_CPUMAP = C.BPF_XDP_CPUMAP BPF_SK_LOOKUP = C.BPF_SK_LOOKUP BPF_XDP = C.BPF_XDP BPF_SK_SKB_VERDICT = C.BPF_SK_SKB_VERDICT BPF_SK_REUSEPORT_SELECT = C.BPF_SK_REUSEPORT_SELECT BPF_SK_REUSEPORT_SELECT_OR_MIGRATE = C.BPF_SK_REUSEPORT_SELECT_OR_MIGRATE BPF_PERF_EVENT = C.BPF_PERF_EVENT BPF_TRACE_KPROBE_MULTI = C.BPF_TRACE_KPROBE_MULTI BPF_LSM_CGROUP = C.BPF_LSM_CGROUP BPF_STRUCT_OPS = C.BPF_STRUCT_OPS BPF_NETFILTER = C.BPF_NETFILTER BPF_TCX_INGRESS = C.BPF_TCX_INGRESS BPF_TCX_EGRESS = C.BPF_TCX_EGRESS BPF_TRACE_UPROBE_MULTI = C.BPF_TRACE_UPROBE_MULTI BPF_LINK_TYPE_UNSPEC = C.BPF_LINK_TYPE_UNSPEC BPF_LINK_TYPE_RAW_TRACEPOINT = C.BPF_LINK_TYPE_RAW_TRACEPOINT BPF_LINK_TYPE_TRACING = C.BPF_LINK_TYPE_TRACING BPF_LINK_TYPE_CGROUP = C.BPF_LINK_TYPE_CGROUP BPF_LINK_TYPE_ITER = C.BPF_LINK_TYPE_ITER BPF_LINK_TYPE_NETNS = C.BPF_LINK_TYPE_NETNS BPF_LINK_TYPE_XDP = C.BPF_LINK_TYPE_XDP BPF_LINK_TYPE_PERF_EVENT = C.BPF_LINK_TYPE_PERF_EVENT BPF_LINK_TYPE_KPROBE_MULTI = C.BPF_LINK_TYPE_KPROBE_MULTI BPF_LINK_TYPE_STRUCT_OPS = C.BPF_LINK_TYPE_STRUCT_OPS BPF_LINK_TYPE_NETFILTER = C.BPF_LINK_TYPE_NETFILTER BPF_LINK_TYPE_TCX = C.BPF_LINK_TYPE_TCX BPF_LINK_TYPE_UPROBE_MULTI = C.BPF_LINK_TYPE_UPROBE_MULTI BPF_PERF_EVENT_UNSPEC = C.BPF_PERF_EVENT_UNSPEC BPF_PERF_EVENT_UPROBE = C.BPF_PERF_EVENT_UPROBE BPF_PERF_EVENT_URETPROBE = C.BPF_PERF_EVENT_URETPROBE BPF_PERF_EVENT_KPROBE = C.BPF_PERF_EVENT_KPROBE BPF_PERF_EVENT_KRETPROBE = C.BPF_PERF_EVENT_KRETPROBE BPF_PERF_EVENT_TRACEPOINT = C.BPF_PERF_EVENT_TRACEPOINT BPF_PERF_EVENT_EVENT = C.BPF_PERF_EVENT_EVENT BPF_F_KPROBE_MULTI_RETURN = C.BPF_F_KPROBE_MULTI_RETURN BPF_F_UPROBE_MULTI_RETURN = C.BPF_F_UPROBE_MULTI_RETURN BPF_ANY = C.BPF_ANY BPF_NOEXIST = C.BPF_NOEXIST BPF_EXIST = C.BPF_EXIST BPF_F_LOCK = C.BPF_F_LOCK BPF_F_NO_PREALLOC = C.BPF_F_NO_PREALLOC BPF_F_NO_COMMON_LRU = C.BPF_F_NO_COMMON_LRU BPF_F_NUMA_NODE = C.BPF_F_NUMA_NODE BPF_F_RDONLY = C.BPF_F_RDONLY BPF_F_WRONLY = C.BPF_F_WRONLY BPF_F_STACK_BUILD_ID = C.BPF_F_STACK_BUILD_ID BPF_F_ZERO_SEED = C.BPF_F_ZERO_SEED BPF_F_RDONLY_PROG = C.BPF_F_RDONLY_PROG BPF_F_WRONLY_PROG = C.BPF_F_WRONLY_PROG BPF_F_CLONE = C.BPF_F_CLONE BPF_F_MMAPABLE = C.BPF_F_MMAPABLE BPF_F_PRESERVE_ELEMS = C.BPF_F_PRESERVE_ELEMS BPF_F_INNER_MAP = C.BPF_F_INNER_MAP BPF_F_LINK = C.BPF_F_LINK BPF_F_PATH_FD = C.BPF_F_PATH_FD BPF_STATS_RUN_TIME = C.BPF_STATS_RUN_TIME BPF_STACK_BUILD_ID_EMPTY = C.BPF_STACK_BUILD_ID_EMPTY BPF_STACK_BUILD_ID_VALID = C.BPF_STACK_BUILD_ID_VALID BPF_STACK_BUILD_ID_IP = C.BPF_STACK_BUILD_ID_IP BPF_F_RECOMPUTE_CSUM = C.BPF_F_RECOMPUTE_CSUM BPF_F_INVALIDATE_HASH = C.BPF_F_INVALIDATE_HASH BPF_F_HDR_FIELD_MASK = C.BPF_F_HDR_FIELD_MASK BPF_F_PSEUDO_HDR = C.BPF_F_PSEUDO_HDR BPF_F_MARK_MANGLED_0 = C.BPF_F_MARK_MANGLED_0 BPF_F_MARK_ENFORCE = C.BPF_F_MARK_ENFORCE BPF_F_INGRESS = C.BPF_F_INGRESS BPF_F_TUNINFO_IPV6 = C.BPF_F_TUNINFO_IPV6 BPF_F_SKIP_FIELD_MASK = C.BPF_F_SKIP_FIELD_MASK BPF_F_USER_STACK = C.BPF_F_USER_STACK BPF_F_FAST_STACK_CMP = C.BPF_F_FAST_STACK_CMP BPF_F_REUSE_STACKID = C.BPF_F_REUSE_STACKID BPF_F_USER_BUILD_ID = C.BPF_F_USER_BUILD_ID BPF_F_ZERO_CSUM_TX = C.BPF_F_ZERO_CSUM_TX BPF_F_DONT_FRAGMENT = C.BPF_F_DONT_FRAGMENT BPF_F_SEQ_NUMBER = C.BPF_F_SEQ_NUMBER BPF_F_NO_TUNNEL_KEY = C.BPF_F_NO_TUNNEL_KEY BPF_F_TUNINFO_FLAGS = C.BPF_F_TUNINFO_FLAGS BPF_F_INDEX_MASK = C.BPF_F_INDEX_MASK BPF_F_CURRENT_CPU = C.BPF_F_CURRENT_CPU BPF_F_CTXLEN_MASK = C.BPF_F_CTXLEN_MASK BPF_F_CURRENT_NETNS = C.BPF_F_CURRENT_NETNS BPF_CSUM_LEVEL_QUERY = C.BPF_CSUM_LEVEL_QUERY BPF_CSUM_LEVEL_INC = C.BPF_CSUM_LEVEL_INC BPF_CSUM_LEVEL_DEC = C.BPF_CSUM_LEVEL_DEC BPF_CSUM_LEVEL_RESET = C.BPF_CSUM_LEVEL_RESET BPF_F_ADJ_ROOM_FIXED_GSO = C.BPF_F_ADJ_ROOM_FIXED_GSO BPF_F_ADJ_ROOM_ENCAP_L3_IPV4 = C.BPF_F_ADJ_ROOM_ENCAP_L3_IPV4 BPF_F_ADJ_ROOM_ENCAP_L3_IPV6 = C.BPF_F_ADJ_ROOM_ENCAP_L3_IPV6 BPF_F_ADJ_ROOM_ENCAP_L4_GRE = C.BPF_F_ADJ_ROOM_ENCAP_L4_GRE BPF_F_ADJ_ROOM_ENCAP_L4_UDP = C.BPF_F_ADJ_ROOM_ENCAP_L4_UDP BPF_F_ADJ_ROOM_NO_CSUM_RESET = C.BPF_F_ADJ_ROOM_NO_CSUM_RESET BPF_F_ADJ_ROOM_ENCAP_L2_ETH = C.BPF_F_ADJ_ROOM_ENCAP_L2_ETH BPF_F_ADJ_ROOM_DECAP_L3_IPV4 = C.BPF_F_ADJ_ROOM_DECAP_L3_IPV4 BPF_F_ADJ_ROOM_DECAP_L3_IPV6 = C.BPF_F_ADJ_ROOM_DECAP_L3_IPV6 BPF_ADJ_ROOM_ENCAP_L2_MASK = C.BPF_ADJ_ROOM_ENCAP_L2_MASK BPF_ADJ_ROOM_ENCAP_L2_SHIFT = C.BPF_ADJ_ROOM_ENCAP_L2_SHIFT BPF_F_SYSCTL_BASE_NAME = C.BPF_F_SYSCTL_BASE_NAME BPF_LOCAL_STORAGE_GET_F_CREATE = C.BPF_LOCAL_STORAGE_GET_F_CREATE BPF_SK_STORAGE_GET_F_CREATE = C.BPF_SK_STORAGE_GET_F_CREATE BPF_F_GET_BRANCH_RECORDS_SIZE = C.BPF_F_GET_BRANCH_RECORDS_SIZE BPF_RB_NO_WAKEUP = C.BPF_RB_NO_WAKEUP BPF_RB_FORCE_WAKEUP = C.BPF_RB_FORCE_WAKEUP BPF_RB_AVAIL_DATA = C.BPF_RB_AVAIL_DATA BPF_RB_RING_SIZE = C.BPF_RB_RING_SIZE BPF_RB_CONS_POS = C.BPF_RB_CONS_POS BPF_RB_PROD_POS = C.BPF_RB_PROD_POS BPF_RINGBUF_BUSY_BIT = C.BPF_RINGBUF_BUSY_BIT BPF_RINGBUF_DISCARD_BIT = C.BPF_RINGBUF_DISCARD_BIT BPF_RINGBUF_HDR_SZ = C.BPF_RINGBUF_HDR_SZ BPF_SK_LOOKUP_F_REPLACE = C.BPF_SK_LOOKUP_F_REPLACE BPF_SK_LOOKUP_F_NO_REUSEPORT = C.BPF_SK_LOOKUP_F_NO_REUSEPORT BPF_ADJ_ROOM_NET = C.BPF_ADJ_ROOM_NET BPF_ADJ_ROOM_MAC = C.BPF_ADJ_ROOM_MAC BPF_HDR_START_MAC = C.BPF_HDR_START_MAC BPF_HDR_START_NET = C.BPF_HDR_START_NET BPF_LWT_ENCAP_SEG6 = C.BPF_LWT_ENCAP_SEG6 BPF_LWT_ENCAP_SEG6_INLINE = C.BPF_LWT_ENCAP_SEG6_INLINE BPF_LWT_ENCAP_IP = C.BPF_LWT_ENCAP_IP BPF_F_BPRM_SECUREEXEC = C.BPF_F_BPRM_SECUREEXEC BPF_F_BROADCAST = C.BPF_F_BROADCAST BPF_F_EXCLUDE_INGRESS = C.BPF_F_EXCLUDE_INGRESS BPF_SKB_TSTAMP_UNSPEC = C.BPF_SKB_TSTAMP_UNSPEC BPF_SKB_TSTAMP_DELIVERY_MONO = C.BPF_SKB_TSTAMP_DELIVERY_MONO BPF_OK = C.BPF_OK BPF_DROP = C.BPF_DROP BPF_REDIRECT = C.BPF_REDIRECT BPF_LWT_REROUTE = C.BPF_LWT_REROUTE BPF_FLOW_DISSECTOR_CONTINUE = C.BPF_FLOW_DISSECTOR_CONTINUE BPF_SOCK_OPS_RTO_CB_FLAG = C.BPF_SOCK_OPS_RTO_CB_FLAG BPF_SOCK_OPS_RETRANS_CB_FLAG = C.BPF_SOCK_OPS_RETRANS_CB_FLAG BPF_SOCK_OPS_STATE_CB_FLAG = C.BPF_SOCK_OPS_STATE_CB_FLAG BPF_SOCK_OPS_RTT_CB_FLAG = C.BPF_SOCK_OPS_RTT_CB_FLAG BPF_SOCK_OPS_PARSE_ALL_HDR_OPT_CB_FLAG = C.BPF_SOCK_OPS_PARSE_ALL_HDR_OPT_CB_FLAG BPF_SOCK_OPS_PARSE_UNKNOWN_HDR_OPT_CB_FLAG = C.BPF_SOCK_OPS_PARSE_UNKNOWN_HDR_OPT_CB_FLAG BPF_SOCK_OPS_WRITE_HDR_OPT_CB_FLAG = C.BPF_SOCK_OPS_WRITE_HDR_OPT_CB_FLAG BPF_SOCK_OPS_ALL_CB_FLAGS = C.BPF_SOCK_OPS_ALL_CB_FLAGS BPF_SOCK_OPS_VOID = C.BPF_SOCK_OPS_VOID BPF_SOCK_OPS_TIMEOUT_INIT = C.BPF_SOCK_OPS_TIMEOUT_INIT BPF_SOCK_OPS_RWND_INIT = C.BPF_SOCK_OPS_RWND_INIT BPF_SOCK_OPS_TCP_CONNECT_CB = C.BPF_SOCK_OPS_TCP_CONNECT_CB BPF_SOCK_OPS_ACTIVE_ESTABLISHED_CB = C.BPF_SOCK_OPS_ACTIVE_ESTABLISHED_CB BPF_SOCK_OPS_PASSIVE_ESTABLISHED_CB = C.BPF_SOCK_OPS_PASSIVE_ESTABLISHED_CB BPF_SOCK_OPS_NEEDS_ECN = C.BPF_SOCK_OPS_NEEDS_ECN BPF_SOCK_OPS_BASE_RTT = C.BPF_SOCK_OPS_BASE_RTT BPF_SOCK_OPS_RTO_CB = C.BPF_SOCK_OPS_RTO_CB BPF_SOCK_OPS_RETRANS_CB = C.BPF_SOCK_OPS_RETRANS_CB BPF_SOCK_OPS_STATE_CB = C.BPF_SOCK_OPS_STATE_CB BPF_SOCK_OPS_TCP_LISTEN_CB = C.BPF_SOCK_OPS_TCP_LISTEN_CB BPF_SOCK_OPS_RTT_CB = C.BPF_SOCK_OPS_RTT_CB BPF_SOCK_OPS_PARSE_HDR_OPT_CB = C.BPF_SOCK_OPS_PARSE_HDR_OPT_CB BPF_SOCK_OPS_HDR_OPT_LEN_CB = C.BPF_SOCK_OPS_HDR_OPT_LEN_CB BPF_SOCK_OPS_WRITE_HDR_OPT_CB = C.BPF_SOCK_OPS_WRITE_HDR_OPT_CB BPF_TCP_ESTABLISHED = C.BPF_TCP_ESTABLISHED BPF_TCP_SYN_SENT = C.BPF_TCP_SYN_SENT BPF_TCP_SYN_RECV = C.BPF_TCP_SYN_RECV BPF_TCP_FIN_WAIT1 = C.BPF_TCP_FIN_WAIT1 BPF_TCP_FIN_WAIT2 = C.BPF_TCP_FIN_WAIT2 BPF_TCP_TIME_WAIT = C.BPF_TCP_TIME_WAIT BPF_TCP_CLOSE = C.BPF_TCP_CLOSE BPF_TCP_CLOSE_WAIT = C.BPF_TCP_CLOSE_WAIT BPF_TCP_LAST_ACK = C.BPF_TCP_LAST_ACK BPF_TCP_LISTEN = C.BPF_TCP_LISTEN BPF_TCP_CLOSING = C.BPF_TCP_CLOSING BPF_TCP_NEW_SYN_RECV = C.BPF_TCP_NEW_SYN_RECV BPF_TCP_MAX_STATES = C.BPF_TCP_MAX_STATES TCP_BPF_IW = C.TCP_BPF_IW TCP_BPF_SNDCWND_CLAMP = C.TCP_BPF_SNDCWND_CLAMP TCP_BPF_DELACK_MAX = C.TCP_BPF_DELACK_MAX TCP_BPF_RTO_MIN = C.TCP_BPF_RTO_MIN TCP_BPF_SYN = C.TCP_BPF_SYN TCP_BPF_SYN_IP = C.TCP_BPF_SYN_IP TCP_BPF_SYN_MAC = C.TCP_BPF_SYN_MAC BPF_LOAD_HDR_OPT_TCP_SYN = C.BPF_LOAD_HDR_OPT_TCP_SYN BPF_WRITE_HDR_TCP_CURRENT_MSS = C.BPF_WRITE_HDR_TCP_CURRENT_MSS BPF_WRITE_HDR_TCP_SYNACK_COOKIE = C.BPF_WRITE_HDR_TCP_SYNACK_COOKIE BPF_DEVCG_ACC_MKNOD = C.BPF_DEVCG_ACC_MKNOD BPF_DEVCG_ACC_READ = C.BPF_DEVCG_ACC_READ BPF_DEVCG_ACC_WRITE = C.BPF_DEVCG_ACC_WRITE BPF_DEVCG_DEV_BLOCK = C.BPF_DEVCG_DEV_BLOCK BPF_DEVCG_DEV_CHAR = C.BPF_DEVCG_DEV_CHAR BPF_FIB_LOOKUP_DIRECT = C.BPF_FIB_LOOKUP_DIRECT BPF_FIB_LOOKUP_OUTPUT = C.BPF_FIB_LOOKUP_OUTPUT BPF_FIB_LOOKUP_SKIP_NEIGH = C.BPF_FIB_LOOKUP_SKIP_NEIGH BPF_FIB_LOOKUP_TBID = C.BPF_FIB_LOOKUP_TBID BPF_FIB_LKUP_RET_SUCCESS = C.BPF_FIB_LKUP_RET_SUCCESS BPF_FIB_LKUP_RET_BLACKHOLE = C.BPF_FIB_LKUP_RET_BLACKHOLE BPF_FIB_LKUP_RET_UNREACHABLE = C.BPF_FIB_LKUP_RET_UNREACHABLE BPF_FIB_LKUP_RET_PROHIBIT = C.BPF_FIB_LKUP_RET_PROHIBIT BPF_FIB_LKUP_RET_NOT_FWDED = C.BPF_FIB_LKUP_RET_NOT_FWDED BPF_FIB_LKUP_RET_FWD_DISABLED = C.BPF_FIB_LKUP_RET_FWD_DISABLED BPF_FIB_LKUP_RET_UNSUPP_LWT = C.BPF_FIB_LKUP_RET_UNSUPP_LWT BPF_FIB_LKUP_RET_NO_NEIGH = C.BPF_FIB_LKUP_RET_NO_NEIGH BPF_FIB_LKUP_RET_FRAG_NEEDED = C.BPF_FIB_LKUP_RET_FRAG_NEEDED BPF_MTU_CHK_SEGS = C.BPF_MTU_CHK_SEGS BPF_MTU_CHK_RET_SUCCESS = C.BPF_MTU_CHK_RET_SUCCESS BPF_MTU_CHK_RET_FRAG_NEEDED = C.BPF_MTU_CHK_RET_FRAG_NEEDED BPF_MTU_CHK_RET_SEGS_TOOBIG = C.BPF_MTU_CHK_RET_SEGS_TOOBIG BPF_FD_TYPE_RAW_TRACEPOINT = C.BPF_FD_TYPE_RAW_TRACEPOINT BPF_FD_TYPE_TRACEPOINT = C.BPF_FD_TYPE_TRACEPOINT BPF_FD_TYPE_KPROBE = C.BPF_FD_TYPE_KPROBE BPF_FD_TYPE_KRETPROBE = C.BPF_FD_TYPE_KRETPROBE BPF_FD_TYPE_UPROBE = C.BPF_FD_TYPE_UPROBE BPF_FD_TYPE_URETPROBE = C.BPF_FD_TYPE_URETPROBE BPF_FLOW_DISSECTOR_F_PARSE_1ST_FRAG = C.BPF_FLOW_DISSECTOR_F_PARSE_1ST_FRAG BPF_FLOW_DISSECTOR_F_STOP_AT_FLOW_LABEL = C.BPF_FLOW_DISSECTOR_F_STOP_AT_FLOW_LABEL BPF_FLOW_DISSECTOR_F_STOP_AT_ENCAP = C.BPF_FLOW_DISSECTOR_F_STOP_AT_ENCAP BPF_CORE_FIELD_BYTE_OFFSET = C.BPF_CORE_FIELD_BYTE_OFFSET BPF_CORE_FIELD_BYTE_SIZE = C.BPF_CORE_FIELD_BYTE_SIZE BPF_CORE_FIELD_EXISTS = C.BPF_CORE_FIELD_EXISTS BPF_CORE_FIELD_SIGNED = C.BPF_CORE_FIELD_SIGNED BPF_CORE_FIELD_LSHIFT_U64 = C.BPF_CORE_FIELD_LSHIFT_U64 BPF_CORE_FIELD_RSHIFT_U64 = C.BPF_CORE_FIELD_RSHIFT_U64 BPF_CORE_TYPE_ID_LOCAL = C.BPF_CORE_TYPE_ID_LOCAL BPF_CORE_TYPE_ID_TARGET = C.BPF_CORE_TYPE_ID_TARGET BPF_CORE_TYPE_EXISTS = C.BPF_CORE_TYPE_EXISTS BPF_CORE_TYPE_SIZE = C.BPF_CORE_TYPE_SIZE BPF_CORE_ENUMVAL_EXISTS = C.BPF_CORE_ENUMVAL_EXISTS BPF_CORE_ENUMVAL_VALUE = C.BPF_CORE_ENUMVAL_VALUE BPF_CORE_TYPE_MATCHES = C.BPF_CORE_TYPE_MATCHES BPF_F_TIMER_ABS = C.BPF_F_TIMER_ABS ) // generated by: // perl -nlE '/^\s*(RTNLGRP_\w+)/ && say "$1 = C.$1"' include/uapi/linux/rtnetlink.h const ( RTNLGRP_NONE = C.RTNLGRP_NONE RTNLGRP_LINK = C.RTNLGRP_LINK RTNLGRP_NOTIFY = C.RTNLGRP_NOTIFY RTNLGRP_NEIGH = C.RTNLGRP_NEIGH RTNLGRP_TC = C.RTNLGRP_TC RTNLGRP_IPV4_IFADDR = C.RTNLGRP_IPV4_IFADDR RTNLGRP_IPV4_MROUTE = C.RTNLGRP_IPV4_MROUTE RTNLGRP_IPV4_ROUTE = C.RTNLGRP_IPV4_ROUTE RTNLGRP_IPV4_RULE = C.RTNLGRP_IPV4_RULE RTNLGRP_IPV6_IFADDR = C.RTNLGRP_IPV6_IFADDR RTNLGRP_IPV6_MROUTE = C.RTNLGRP_IPV6_MROUTE RTNLGRP_IPV6_ROUTE = C.RTNLGRP_IPV6_ROUTE RTNLGRP_IPV6_IFINFO = C.RTNLGRP_IPV6_IFINFO RTNLGRP_DECnet_IFADDR = C.RTNLGRP_DECnet_IFADDR RTNLGRP_NOP2 = C.RTNLGRP_NOP2 RTNLGRP_DECnet_ROUTE = C.RTNLGRP_DECnet_ROUTE RTNLGRP_DECnet_RULE = C.RTNLGRP_DECnet_RULE RTNLGRP_NOP4 = C.RTNLGRP_NOP4 RTNLGRP_IPV6_PREFIX = C.RTNLGRP_IPV6_PREFIX RTNLGRP_IPV6_RULE = C.RTNLGRP_IPV6_RULE RTNLGRP_ND_USEROPT = C.RTNLGRP_ND_USEROPT RTNLGRP_PHONET_IFADDR = C.RTNLGRP_PHONET_IFADDR RTNLGRP_PHONET_ROUTE = C.RTNLGRP_PHONET_ROUTE RTNLGRP_DCB = C.RTNLGRP_DCB RTNLGRP_IPV4_NETCONF = C.RTNLGRP_IPV4_NETCONF RTNLGRP_IPV6_NETCONF = C.RTNLGRP_IPV6_NETCONF RTNLGRP_MDB = C.RTNLGRP_MDB RTNLGRP_MPLS_ROUTE = C.RTNLGRP_MPLS_ROUTE RTNLGRP_NSID = C.RTNLGRP_NSID RTNLGRP_MPLS_NETCONF = C.RTNLGRP_MPLS_NETCONF RTNLGRP_IPV4_MROUTE_R = C.RTNLGRP_IPV4_MROUTE_R RTNLGRP_IPV6_MROUTE_R = C.RTNLGRP_IPV6_MROUTE_R RTNLGRP_NEXTHOP = C.RTNLGRP_NEXTHOP RTNLGRP_BRVLAN = C.RTNLGRP_BRVLAN ) // Capabilities type CapUserHeader C.struct___user_cap_header_struct type CapUserData C.struct___user_cap_data_struct const ( LINUX_CAPABILITY_VERSION_1 = C._LINUX_CAPABILITY_VERSION_1 LINUX_CAPABILITY_VERSION_2 = C._LINUX_CAPABILITY_VERSION_2 LINUX_CAPABILITY_VERSION_3 = C._LINUX_CAPABILITY_VERSION_3 ) // Loop devices const ( LO_FLAGS_READ_ONLY = C.LO_FLAGS_READ_ONLY LO_FLAGS_AUTOCLEAR = C.LO_FLAGS_AUTOCLEAR LO_FLAGS_PARTSCAN = C.LO_FLAGS_PARTSCAN LO_FLAGS_DIRECT_IO = C.LO_FLAGS_DIRECT_IO ) type LoopInfo C.struct_loop_info type LoopInfo64 C.struct_loop_info64 type LoopConfig C.struct_loop_config // AF_TIPC type TIPCSocketAddr C.struct_tipc_socket_addr type TIPCServiceRange C.struct_tipc_service_range type TIPCServiceName C.struct_tipc_service_name type TIPCSubscr C.struct_tipc_subscr type TIPCEvent C.struct_tipc_event type TIPCGroupReq C.struct_tipc_group_req type TIPCSIOCLNReq C.struct_tipc_sioc_ln_req type TIPCSIOCNodeIDReq C.struct_tipc_sioc_nodeid_req const ( TIPC_CLUSTER_SCOPE = C.TIPC_CLUSTER_SCOPE TIPC_NODE_SCOPE = C.TIPC_NODE_SCOPE ) const ( SYSLOG_ACTION_CLOSE = 0 SYSLOG_ACTION_OPEN = 1 SYSLOG_ACTION_READ = 2 SYSLOG_ACTION_READ_ALL = 3 SYSLOG_ACTION_READ_CLEAR = 4 SYSLOG_ACTION_CLEAR = 5 SYSLOG_ACTION_CONSOLE_OFF = 6 SYSLOG_ACTION_CONSOLE_ON = 7 SYSLOG_ACTION_CONSOLE_LEVEL = 8 SYSLOG_ACTION_SIZE_UNREAD = 9 SYSLOG_ACTION_SIZE_BUFFER = 10 ) // Devlink generic netlink API, generated using: // perl -nlE '/^\s*(DEVLINK_\w+)/ && say "$1 = C.$1"' devlink.h const ( DEVLINK_CMD_UNSPEC = C.DEVLINK_CMD_UNSPEC DEVLINK_CMD_GET = C.DEVLINK_CMD_GET DEVLINK_CMD_SET = C.DEVLINK_CMD_SET DEVLINK_CMD_NEW = C.DEVLINK_CMD_NEW DEVLINK_CMD_DEL = C.DEVLINK_CMD_DEL DEVLINK_CMD_PORT_GET = C.DEVLINK_CMD_PORT_GET DEVLINK_CMD_PORT_SET = C.DEVLINK_CMD_PORT_SET DEVLINK_CMD_PORT_NEW = C.DEVLINK_CMD_PORT_NEW DEVLINK_CMD_PORT_DEL = C.DEVLINK_CMD_PORT_DEL DEVLINK_CMD_PORT_SPLIT = C.DEVLINK_CMD_PORT_SPLIT DEVLINK_CMD_PORT_UNSPLIT = C.DEVLINK_CMD_PORT_UNSPLIT DEVLINK_CMD_SB_GET = C.DEVLINK_CMD_SB_GET DEVLINK_CMD_SB_SET = C.DEVLINK_CMD_SB_SET DEVLINK_CMD_SB_NEW = C.DEVLINK_CMD_SB_NEW DEVLINK_CMD_SB_DEL = C.DEVLINK_CMD_SB_DEL DEVLINK_CMD_SB_POOL_GET = C.DEVLINK_CMD_SB_POOL_GET DEVLINK_CMD_SB_POOL_SET = C.DEVLINK_CMD_SB_POOL_SET DEVLINK_CMD_SB_POOL_NEW = C.DEVLINK_CMD_SB_POOL_NEW DEVLINK_CMD_SB_POOL_DEL = C.DEVLINK_CMD_SB_POOL_DEL DEVLINK_CMD_SB_PORT_POOL_GET = C.DEVLINK_CMD_SB_PORT_POOL_GET DEVLINK_CMD_SB_PORT_POOL_SET = C.DEVLINK_CMD_SB_PORT_POOL_SET DEVLINK_CMD_SB_PORT_POOL_NEW = C.DEVLINK_CMD_SB_PORT_POOL_NEW DEVLINK_CMD_SB_PORT_POOL_DEL = C.DEVLINK_CMD_SB_PORT_POOL_DEL DEVLINK_CMD_SB_TC_POOL_BIND_GET = C.DEVLINK_CMD_SB_TC_POOL_BIND_GET DEVLINK_CMD_SB_TC_POOL_BIND_SET = C.DEVLINK_CMD_SB_TC_POOL_BIND_SET DEVLINK_CMD_SB_TC_POOL_BIND_NEW = C.DEVLINK_CMD_SB_TC_POOL_BIND_NEW DEVLINK_CMD_SB_TC_POOL_BIND_DEL = C.DEVLINK_CMD_SB_TC_POOL_BIND_DEL DEVLINK_CMD_SB_OCC_SNAPSHOT = C.DEVLINK_CMD_SB_OCC_SNAPSHOT DEVLINK_CMD_SB_OCC_MAX_CLEAR = C.DEVLINK_CMD_SB_OCC_MAX_CLEAR DEVLINK_CMD_ESWITCH_GET = C.DEVLINK_CMD_ESWITCH_GET DEVLINK_CMD_ESWITCH_SET = C.DEVLINK_CMD_ESWITCH_SET DEVLINK_CMD_DPIPE_TABLE_GET = C.DEVLINK_CMD_DPIPE_TABLE_GET DEVLINK_CMD_DPIPE_ENTRIES_GET = C.DEVLINK_CMD_DPIPE_ENTRIES_GET DEVLINK_CMD_DPIPE_HEADERS_GET = C.DEVLINK_CMD_DPIPE_HEADERS_GET DEVLINK_CMD_DPIPE_TABLE_COUNTERS_SET = C.DEVLINK_CMD_DPIPE_TABLE_COUNTERS_SET DEVLINK_CMD_RESOURCE_SET = C.DEVLINK_CMD_RESOURCE_SET DEVLINK_CMD_RESOURCE_DUMP = C.DEVLINK_CMD_RESOURCE_DUMP DEVLINK_CMD_RELOAD = C.DEVLINK_CMD_RELOAD DEVLINK_CMD_PARAM_GET = C.DEVLINK_CMD_PARAM_GET DEVLINK_CMD_PARAM_SET = C.DEVLINK_CMD_PARAM_SET DEVLINK_CMD_PARAM_NEW = C.DEVLINK_CMD_PARAM_NEW DEVLINK_CMD_PARAM_DEL = C.DEVLINK_CMD_PARAM_DEL DEVLINK_CMD_REGION_GET = C.DEVLINK_CMD_REGION_GET DEVLINK_CMD_REGION_SET = C.DEVLINK_CMD_REGION_SET DEVLINK_CMD_REGION_NEW = C.DEVLINK_CMD_REGION_NEW DEVLINK_CMD_REGION_DEL = C.DEVLINK_CMD_REGION_DEL DEVLINK_CMD_REGION_READ = C.DEVLINK_CMD_REGION_READ DEVLINK_CMD_PORT_PARAM_GET = C.DEVLINK_CMD_PORT_PARAM_GET DEVLINK_CMD_PORT_PARAM_SET = C.DEVLINK_CMD_PORT_PARAM_SET DEVLINK_CMD_PORT_PARAM_NEW = C.DEVLINK_CMD_PORT_PARAM_NEW DEVLINK_CMD_PORT_PARAM_DEL = C.DEVLINK_CMD_PORT_PARAM_DEL DEVLINK_CMD_INFO_GET = C.DEVLINK_CMD_INFO_GET DEVLINK_CMD_HEALTH_REPORTER_GET = C.DEVLINK_CMD_HEALTH_REPORTER_GET DEVLINK_CMD_HEALTH_REPORTER_SET = C.DEVLINK_CMD_HEALTH_REPORTER_SET DEVLINK_CMD_HEALTH_REPORTER_RECOVER = C.DEVLINK_CMD_HEALTH_REPORTER_RECOVER DEVLINK_CMD_HEALTH_REPORTER_DIAGNOSE = C.DEVLINK_CMD_HEALTH_REPORTER_DIAGNOSE DEVLINK_CMD_HEALTH_REPORTER_DUMP_GET = C.DEVLINK_CMD_HEALTH_REPORTER_DUMP_GET DEVLINK_CMD_HEALTH_REPORTER_DUMP_CLEAR = C.DEVLINK_CMD_HEALTH_REPORTER_DUMP_CLEAR DEVLINK_CMD_FLASH_UPDATE = C.DEVLINK_CMD_FLASH_UPDATE DEVLINK_CMD_FLASH_UPDATE_END = C.DEVLINK_CMD_FLASH_UPDATE_END DEVLINK_CMD_FLASH_UPDATE_STATUS = C.DEVLINK_CMD_FLASH_UPDATE_STATUS DEVLINK_CMD_TRAP_GET = C.DEVLINK_CMD_TRAP_GET DEVLINK_CMD_TRAP_SET = C.DEVLINK_CMD_TRAP_SET DEVLINK_CMD_TRAP_NEW = C.DEVLINK_CMD_TRAP_NEW DEVLINK_CMD_TRAP_DEL = C.DEVLINK_CMD_TRAP_DEL DEVLINK_CMD_TRAP_GROUP_GET = C.DEVLINK_CMD_TRAP_GROUP_GET DEVLINK_CMD_TRAP_GROUP_SET = C.DEVLINK_CMD_TRAP_GROUP_SET DEVLINK_CMD_TRAP_GROUP_NEW = C.DEVLINK_CMD_TRAP_GROUP_NEW DEVLINK_CMD_TRAP_GROUP_DEL = C.DEVLINK_CMD_TRAP_GROUP_DEL DEVLINK_CMD_TRAP_POLICER_GET = C.DEVLINK_CMD_TRAP_POLICER_GET DEVLINK_CMD_TRAP_POLICER_SET = C.DEVLINK_CMD_TRAP_POLICER_SET DEVLINK_CMD_TRAP_POLICER_NEW = C.DEVLINK_CMD_TRAP_POLICER_NEW DEVLINK_CMD_TRAP_POLICER_DEL = C.DEVLINK_CMD_TRAP_POLICER_DEL DEVLINK_CMD_HEALTH_REPORTER_TEST = C.DEVLINK_CMD_HEALTH_REPORTER_TEST DEVLINK_CMD_RATE_GET = C.DEVLINK_CMD_RATE_GET DEVLINK_CMD_RATE_SET = C.DEVLINK_CMD_RATE_SET DEVLINK_CMD_RATE_NEW = C.DEVLINK_CMD_RATE_NEW DEVLINK_CMD_RATE_DEL = C.DEVLINK_CMD_RATE_DEL DEVLINK_CMD_LINECARD_GET = C.DEVLINK_CMD_LINECARD_GET DEVLINK_CMD_LINECARD_SET = C.DEVLINK_CMD_LINECARD_SET DEVLINK_CMD_LINECARD_NEW = C.DEVLINK_CMD_LINECARD_NEW DEVLINK_CMD_LINECARD_DEL = C.DEVLINK_CMD_LINECARD_DEL DEVLINK_CMD_SELFTESTS_GET = C.DEVLINK_CMD_SELFTESTS_GET DEVLINK_CMD_MAX = C.DEVLINK_CMD_MAX DEVLINK_PORT_TYPE_NOTSET = C.DEVLINK_PORT_TYPE_NOTSET DEVLINK_PORT_TYPE_AUTO = C.DEVLINK_PORT_TYPE_AUTO DEVLINK_PORT_TYPE_ETH = C.DEVLINK_PORT_TYPE_ETH DEVLINK_PORT_TYPE_IB = C.DEVLINK_PORT_TYPE_IB DEVLINK_SB_POOL_TYPE_INGRESS = C.DEVLINK_SB_POOL_TYPE_INGRESS DEVLINK_SB_POOL_TYPE_EGRESS = C.DEVLINK_SB_POOL_TYPE_EGRESS DEVLINK_SB_THRESHOLD_TYPE_STATIC = C.DEVLINK_SB_THRESHOLD_TYPE_STATIC DEVLINK_SB_THRESHOLD_TYPE_DYNAMIC = C.DEVLINK_SB_THRESHOLD_TYPE_DYNAMIC DEVLINK_ESWITCH_MODE_LEGACY = C.DEVLINK_ESWITCH_MODE_LEGACY DEVLINK_ESWITCH_MODE_SWITCHDEV = C.DEVLINK_ESWITCH_MODE_SWITCHDEV DEVLINK_ESWITCH_INLINE_MODE_NONE = C.DEVLINK_ESWITCH_INLINE_MODE_NONE DEVLINK_ESWITCH_INLINE_MODE_LINK = C.DEVLINK_ESWITCH_INLINE_MODE_LINK DEVLINK_ESWITCH_INLINE_MODE_NETWORK = C.DEVLINK_ESWITCH_INLINE_MODE_NETWORK DEVLINK_ESWITCH_INLINE_MODE_TRANSPORT = C.DEVLINK_ESWITCH_INLINE_MODE_TRANSPORT DEVLINK_ESWITCH_ENCAP_MODE_NONE = C.DEVLINK_ESWITCH_ENCAP_MODE_NONE DEVLINK_ESWITCH_ENCAP_MODE_BASIC = C.DEVLINK_ESWITCH_ENCAP_MODE_BASIC DEVLINK_PORT_FLAVOUR_PHYSICAL = C.DEVLINK_PORT_FLAVOUR_PHYSICAL DEVLINK_PORT_FLAVOUR_CPU = C.DEVLINK_PORT_FLAVOUR_CPU DEVLINK_PORT_FLAVOUR_DSA = C.DEVLINK_PORT_FLAVOUR_DSA DEVLINK_PORT_FLAVOUR_PCI_PF = C.DEVLINK_PORT_FLAVOUR_PCI_PF DEVLINK_PORT_FLAVOUR_PCI_VF = C.DEVLINK_PORT_FLAVOUR_PCI_VF DEVLINK_PORT_FLAVOUR_VIRTUAL = C.DEVLINK_PORT_FLAVOUR_VIRTUAL DEVLINK_PORT_FLAVOUR_UNUSED = C.DEVLINK_PORT_FLAVOUR_UNUSED DEVLINK_PARAM_CMODE_RUNTIME = C.DEVLINK_PARAM_CMODE_RUNTIME DEVLINK_PARAM_CMODE_DRIVERINIT = C.DEVLINK_PARAM_CMODE_DRIVERINIT DEVLINK_PARAM_CMODE_PERMANENT = C.DEVLINK_PARAM_CMODE_PERMANENT DEVLINK_PARAM_CMODE_MAX = C.DEVLINK_PARAM_CMODE_MAX DEVLINK_PARAM_FW_LOAD_POLICY_VALUE_DRIVER = C.DEVLINK_PARAM_FW_LOAD_POLICY_VALUE_DRIVER DEVLINK_PARAM_FW_LOAD_POLICY_VALUE_FLASH = C.DEVLINK_PARAM_FW_LOAD_POLICY_VALUE_FLASH DEVLINK_PARAM_FW_LOAD_POLICY_VALUE_DISK = C.DEVLINK_PARAM_FW_LOAD_POLICY_VALUE_DISK DEVLINK_PARAM_FW_LOAD_POLICY_VALUE_UNKNOWN = C.DEVLINK_PARAM_FW_LOAD_POLICY_VALUE_UNKNOWN DEVLINK_PARAM_RESET_DEV_ON_DRV_PROBE_VALUE_UNKNOWN = C.DEVLINK_PARAM_RESET_DEV_ON_DRV_PROBE_VALUE_UNKNOWN DEVLINK_PARAM_RESET_DEV_ON_DRV_PROBE_VALUE_ALWAYS = C.DEVLINK_PARAM_RESET_DEV_ON_DRV_PROBE_VALUE_ALWAYS DEVLINK_PARAM_RESET_DEV_ON_DRV_PROBE_VALUE_NEVER = C.DEVLINK_PARAM_RESET_DEV_ON_DRV_PROBE_VALUE_NEVER DEVLINK_PARAM_RESET_DEV_ON_DRV_PROBE_VALUE_DISK = C.DEVLINK_PARAM_RESET_DEV_ON_DRV_PROBE_VALUE_DISK DEVLINK_ATTR_STATS_RX_PACKETS = C.DEVLINK_ATTR_STATS_RX_PACKETS DEVLINK_ATTR_STATS_RX_BYTES = C.DEVLINK_ATTR_STATS_RX_BYTES DEVLINK_ATTR_STATS_RX_DROPPED = C.DEVLINK_ATTR_STATS_RX_DROPPED DEVLINK_ATTR_STATS_MAX = C.DEVLINK_ATTR_STATS_MAX DEVLINK_FLASH_OVERWRITE_SETTINGS_BIT = C.DEVLINK_FLASH_OVERWRITE_SETTINGS_BIT DEVLINK_FLASH_OVERWRITE_IDENTIFIERS_BIT = C.DEVLINK_FLASH_OVERWRITE_IDENTIFIERS_BIT DEVLINK_FLASH_OVERWRITE_MAX_BIT = C.DEVLINK_FLASH_OVERWRITE_MAX_BIT DEVLINK_TRAP_ACTION_DROP = C.DEVLINK_TRAP_ACTION_DROP DEVLINK_TRAP_ACTION_TRAP = C.DEVLINK_TRAP_ACTION_TRAP DEVLINK_TRAP_ACTION_MIRROR = C.DEVLINK_TRAP_ACTION_MIRROR DEVLINK_TRAP_TYPE_DROP = C.DEVLINK_TRAP_TYPE_DROP DEVLINK_TRAP_TYPE_EXCEPTION = C.DEVLINK_TRAP_TYPE_EXCEPTION DEVLINK_TRAP_TYPE_CONTROL = C.DEVLINK_TRAP_TYPE_CONTROL DEVLINK_ATTR_TRAP_METADATA_TYPE_IN_PORT = C.DEVLINK_ATTR_TRAP_METADATA_TYPE_IN_PORT DEVLINK_ATTR_TRAP_METADATA_TYPE_FA_COOKIE = C.DEVLINK_ATTR_TRAP_METADATA_TYPE_FA_COOKIE DEVLINK_RELOAD_ACTION_UNSPEC = C.DEVLINK_RELOAD_ACTION_UNSPEC DEVLINK_RELOAD_ACTION_DRIVER_REINIT = C.DEVLINK_RELOAD_ACTION_DRIVER_REINIT DEVLINK_RELOAD_ACTION_FW_ACTIVATE = C.DEVLINK_RELOAD_ACTION_FW_ACTIVATE DEVLINK_RELOAD_ACTION_MAX = C.DEVLINK_RELOAD_ACTION_MAX DEVLINK_RELOAD_LIMIT_UNSPEC = C.DEVLINK_RELOAD_LIMIT_UNSPEC DEVLINK_RELOAD_LIMIT_NO_RESET = C.DEVLINK_RELOAD_LIMIT_NO_RESET DEVLINK_RELOAD_LIMIT_MAX = C.DEVLINK_RELOAD_LIMIT_MAX DEVLINK_ATTR_UNSPEC = C.DEVLINK_ATTR_UNSPEC DEVLINK_ATTR_BUS_NAME = C.DEVLINK_ATTR_BUS_NAME DEVLINK_ATTR_DEV_NAME = C.DEVLINK_ATTR_DEV_NAME DEVLINK_ATTR_PORT_INDEX = C.DEVLINK_ATTR_PORT_INDEX DEVLINK_ATTR_PORT_TYPE = C.DEVLINK_ATTR_PORT_TYPE DEVLINK_ATTR_PORT_DESIRED_TYPE = C.DEVLINK_ATTR_PORT_DESIRED_TYPE DEVLINK_ATTR_PORT_NETDEV_IFINDEX = C.DEVLINK_ATTR_PORT_NETDEV_IFINDEX DEVLINK_ATTR_PORT_NETDEV_NAME = C.DEVLINK_ATTR_PORT_NETDEV_NAME DEVLINK_ATTR_PORT_IBDEV_NAME = C.DEVLINK_ATTR_PORT_IBDEV_NAME DEVLINK_ATTR_PORT_SPLIT_COUNT = C.DEVLINK_ATTR_PORT_SPLIT_COUNT DEVLINK_ATTR_PORT_SPLIT_GROUP = C.DEVLINK_ATTR_PORT_SPLIT_GROUP DEVLINK_ATTR_SB_INDEX = C.DEVLINK_ATTR_SB_INDEX DEVLINK_ATTR_SB_SIZE = C.DEVLINK_ATTR_SB_SIZE DEVLINK_ATTR_SB_INGRESS_POOL_COUNT = C.DEVLINK_ATTR_SB_INGRESS_POOL_COUNT DEVLINK_ATTR_SB_EGRESS_POOL_COUNT = C.DEVLINK_ATTR_SB_EGRESS_POOL_COUNT DEVLINK_ATTR_SB_INGRESS_TC_COUNT = C.DEVLINK_ATTR_SB_INGRESS_TC_COUNT DEVLINK_ATTR_SB_EGRESS_TC_COUNT = C.DEVLINK_ATTR_SB_EGRESS_TC_COUNT DEVLINK_ATTR_SB_POOL_INDEX = C.DEVLINK_ATTR_SB_POOL_INDEX DEVLINK_ATTR_SB_POOL_TYPE = C.DEVLINK_ATTR_SB_POOL_TYPE DEVLINK_ATTR_SB_POOL_SIZE = C.DEVLINK_ATTR_SB_POOL_SIZE DEVLINK_ATTR_SB_POOL_THRESHOLD_TYPE = C.DEVLINK_ATTR_SB_POOL_THRESHOLD_TYPE DEVLINK_ATTR_SB_THRESHOLD = C.DEVLINK_ATTR_SB_THRESHOLD DEVLINK_ATTR_SB_TC_INDEX = C.DEVLINK_ATTR_SB_TC_INDEX DEVLINK_ATTR_SB_OCC_CUR = C.DEVLINK_ATTR_SB_OCC_CUR DEVLINK_ATTR_SB_OCC_MAX = C.DEVLINK_ATTR_SB_OCC_MAX DEVLINK_ATTR_ESWITCH_MODE = C.DEVLINK_ATTR_ESWITCH_MODE DEVLINK_ATTR_ESWITCH_INLINE_MODE = C.DEVLINK_ATTR_ESWITCH_INLINE_MODE DEVLINK_ATTR_DPIPE_TABLES = C.DEVLINK_ATTR_DPIPE_TABLES DEVLINK_ATTR_DPIPE_TABLE = C.DEVLINK_ATTR_DPIPE_TABLE DEVLINK_ATTR_DPIPE_TABLE_NAME = C.DEVLINK_ATTR_DPIPE_TABLE_NAME DEVLINK_ATTR_DPIPE_TABLE_SIZE = C.DEVLINK_ATTR_DPIPE_TABLE_SIZE DEVLINK_ATTR_DPIPE_TABLE_MATCHES = C.DEVLINK_ATTR_DPIPE_TABLE_MATCHES DEVLINK_ATTR_DPIPE_TABLE_ACTIONS = C.DEVLINK_ATTR_DPIPE_TABLE_ACTIONS DEVLINK_ATTR_DPIPE_TABLE_COUNTERS_ENABLED = C.DEVLINK_ATTR_DPIPE_TABLE_COUNTERS_ENABLED DEVLINK_ATTR_DPIPE_ENTRIES = C.DEVLINK_ATTR_DPIPE_ENTRIES DEVLINK_ATTR_DPIPE_ENTRY = C.DEVLINK_ATTR_DPIPE_ENTRY DEVLINK_ATTR_DPIPE_ENTRY_INDEX = C.DEVLINK_ATTR_DPIPE_ENTRY_INDEX DEVLINK_ATTR_DPIPE_ENTRY_MATCH_VALUES = C.DEVLINK_ATTR_DPIPE_ENTRY_MATCH_VALUES DEVLINK_ATTR_DPIPE_ENTRY_ACTION_VALUES = C.DEVLINK_ATTR_DPIPE_ENTRY_ACTION_VALUES DEVLINK_ATTR_DPIPE_ENTRY_COUNTER = C.DEVLINK_ATTR_DPIPE_ENTRY_COUNTER DEVLINK_ATTR_DPIPE_MATCH = C.DEVLINK_ATTR_DPIPE_MATCH DEVLINK_ATTR_DPIPE_MATCH_VALUE = C.DEVLINK_ATTR_DPIPE_MATCH_VALUE DEVLINK_ATTR_DPIPE_MATCH_TYPE = C.DEVLINK_ATTR_DPIPE_MATCH_TYPE DEVLINK_ATTR_DPIPE_ACTION = C.DEVLINK_ATTR_DPIPE_ACTION DEVLINK_ATTR_DPIPE_ACTION_VALUE = C.DEVLINK_ATTR_DPIPE_ACTION_VALUE DEVLINK_ATTR_DPIPE_ACTION_TYPE = C.DEVLINK_ATTR_DPIPE_ACTION_TYPE DEVLINK_ATTR_DPIPE_VALUE = C.DEVLINK_ATTR_DPIPE_VALUE DEVLINK_ATTR_DPIPE_VALUE_MASK = C.DEVLINK_ATTR_DPIPE_VALUE_MASK DEVLINK_ATTR_DPIPE_VALUE_MAPPING = C.DEVLINK_ATTR_DPIPE_VALUE_MAPPING DEVLINK_ATTR_DPIPE_HEADERS = C.DEVLINK_ATTR_DPIPE_HEADERS DEVLINK_ATTR_DPIPE_HEADER = C.DEVLINK_ATTR_DPIPE_HEADER DEVLINK_ATTR_DPIPE_HEADER_NAME = C.DEVLINK_ATTR_DPIPE_HEADER_NAME DEVLINK_ATTR_DPIPE_HEADER_ID = C.DEVLINK_ATTR_DPIPE_HEADER_ID DEVLINK_ATTR_DPIPE_HEADER_FIELDS = C.DEVLINK_ATTR_DPIPE_HEADER_FIELDS DEVLINK_ATTR_DPIPE_HEADER_GLOBAL = C.DEVLINK_ATTR_DPIPE_HEADER_GLOBAL DEVLINK_ATTR_DPIPE_HEADER_INDEX = C.DEVLINK_ATTR_DPIPE_HEADER_INDEX DEVLINK_ATTR_DPIPE_FIELD = C.DEVLINK_ATTR_DPIPE_FIELD DEVLINK_ATTR_DPIPE_FIELD_NAME = C.DEVLINK_ATTR_DPIPE_FIELD_NAME DEVLINK_ATTR_DPIPE_FIELD_ID = C.DEVLINK_ATTR_DPIPE_FIELD_ID DEVLINK_ATTR_DPIPE_FIELD_BITWIDTH = C.DEVLINK_ATTR_DPIPE_FIELD_BITWIDTH DEVLINK_ATTR_DPIPE_FIELD_MAPPING_TYPE = C.DEVLINK_ATTR_DPIPE_FIELD_MAPPING_TYPE DEVLINK_ATTR_PAD = C.DEVLINK_ATTR_PAD DEVLINK_ATTR_ESWITCH_ENCAP_MODE = C.DEVLINK_ATTR_ESWITCH_ENCAP_MODE DEVLINK_ATTR_RESOURCE_LIST = C.DEVLINK_ATTR_RESOURCE_LIST DEVLINK_ATTR_RESOURCE = C.DEVLINK_ATTR_RESOURCE DEVLINK_ATTR_RESOURCE_NAME = C.DEVLINK_ATTR_RESOURCE_NAME DEVLINK_ATTR_RESOURCE_ID = C.DEVLINK_ATTR_RESOURCE_ID DEVLINK_ATTR_RESOURCE_SIZE = C.DEVLINK_ATTR_RESOURCE_SIZE DEVLINK_ATTR_RESOURCE_SIZE_NEW = C.DEVLINK_ATTR_RESOURCE_SIZE_NEW DEVLINK_ATTR_RESOURCE_SIZE_VALID = C.DEVLINK_ATTR_RESOURCE_SIZE_VALID DEVLINK_ATTR_RESOURCE_SIZE_MIN = C.DEVLINK_ATTR_RESOURCE_SIZE_MIN DEVLINK_ATTR_RESOURCE_SIZE_MAX = C.DEVLINK_ATTR_RESOURCE_SIZE_MAX DEVLINK_ATTR_RESOURCE_SIZE_GRAN = C.DEVLINK_ATTR_RESOURCE_SIZE_GRAN DEVLINK_ATTR_RESOURCE_UNIT = C.DEVLINK_ATTR_RESOURCE_UNIT DEVLINK_ATTR_RESOURCE_OCC = C.DEVLINK_ATTR_RESOURCE_OCC DEVLINK_ATTR_DPIPE_TABLE_RESOURCE_ID = C.DEVLINK_ATTR_DPIPE_TABLE_RESOURCE_ID DEVLINK_ATTR_DPIPE_TABLE_RESOURCE_UNITS = C.DEVLINK_ATTR_DPIPE_TABLE_RESOURCE_UNITS DEVLINK_ATTR_PORT_FLAVOUR = C.DEVLINK_ATTR_PORT_FLAVOUR DEVLINK_ATTR_PORT_NUMBER = C.DEVLINK_ATTR_PORT_NUMBER DEVLINK_ATTR_PORT_SPLIT_SUBPORT_NUMBER = C.DEVLINK_ATTR_PORT_SPLIT_SUBPORT_NUMBER DEVLINK_ATTR_PARAM = C.DEVLINK_ATTR_PARAM DEVLINK_ATTR_PARAM_NAME = C.DEVLINK_ATTR_PARAM_NAME DEVLINK_ATTR_PARAM_GENERIC = C.DEVLINK_ATTR_PARAM_GENERIC DEVLINK_ATTR_PARAM_TYPE = C.DEVLINK_ATTR_PARAM_TYPE DEVLINK_ATTR_PARAM_VALUES_LIST = C.DEVLINK_ATTR_PARAM_VALUES_LIST DEVLINK_ATTR_PARAM_VALUE = C.DEVLINK_ATTR_PARAM_VALUE DEVLINK_ATTR_PARAM_VALUE_DATA = C.DEVLINK_ATTR_PARAM_VALUE_DATA DEVLINK_ATTR_PARAM_VALUE_CMODE = C.DEVLINK_ATTR_PARAM_VALUE_CMODE DEVLINK_ATTR_REGION_NAME = C.DEVLINK_ATTR_REGION_NAME DEVLINK_ATTR_REGION_SIZE = C.DEVLINK_ATTR_REGION_SIZE DEVLINK_ATTR_REGION_SNAPSHOTS = C.DEVLINK_ATTR_REGION_SNAPSHOTS DEVLINK_ATTR_REGION_SNAPSHOT = C.DEVLINK_ATTR_REGION_SNAPSHOT DEVLINK_ATTR_REGION_SNAPSHOT_ID = C.DEVLINK_ATTR_REGION_SNAPSHOT_ID DEVLINK_ATTR_REGION_CHUNKS = C.DEVLINK_ATTR_REGION_CHUNKS DEVLINK_ATTR_REGION_CHUNK = C.DEVLINK_ATTR_REGION_CHUNK DEVLINK_ATTR_REGION_CHUNK_DATA = C.DEVLINK_ATTR_REGION_CHUNK_DATA DEVLINK_ATTR_REGION_CHUNK_ADDR = C.DEVLINK_ATTR_REGION_CHUNK_ADDR DEVLINK_ATTR_REGION_CHUNK_LEN = C.DEVLINK_ATTR_REGION_CHUNK_LEN DEVLINK_ATTR_INFO_DRIVER_NAME = C.DEVLINK_ATTR_INFO_DRIVER_NAME DEVLINK_ATTR_INFO_SERIAL_NUMBER = C.DEVLINK_ATTR_INFO_SERIAL_NUMBER DEVLINK_ATTR_INFO_VERSION_FIXED = C.DEVLINK_ATTR_INFO_VERSION_FIXED DEVLINK_ATTR_INFO_VERSION_RUNNING = C.DEVLINK_ATTR_INFO_VERSION_RUNNING DEVLINK_ATTR_INFO_VERSION_STORED = C.DEVLINK_ATTR_INFO_VERSION_STORED DEVLINK_ATTR_INFO_VERSION_NAME = C.DEVLINK_ATTR_INFO_VERSION_NAME DEVLINK_ATTR_INFO_VERSION_VALUE = C.DEVLINK_ATTR_INFO_VERSION_VALUE DEVLINK_ATTR_SB_POOL_CELL_SIZE = C.DEVLINK_ATTR_SB_POOL_CELL_SIZE DEVLINK_ATTR_FMSG = C.DEVLINK_ATTR_FMSG DEVLINK_ATTR_FMSG_OBJ_NEST_START = C.DEVLINK_ATTR_FMSG_OBJ_NEST_START DEVLINK_ATTR_FMSG_PAIR_NEST_START = C.DEVLINK_ATTR_FMSG_PAIR_NEST_START DEVLINK_ATTR_FMSG_ARR_NEST_START = C.DEVLINK_ATTR_FMSG_ARR_NEST_START DEVLINK_ATTR_FMSG_NEST_END = C.DEVLINK_ATTR_FMSG_NEST_END DEVLINK_ATTR_FMSG_OBJ_NAME = C.DEVLINK_ATTR_FMSG_OBJ_NAME DEVLINK_ATTR_FMSG_OBJ_VALUE_TYPE = C.DEVLINK_ATTR_FMSG_OBJ_VALUE_TYPE DEVLINK_ATTR_FMSG_OBJ_VALUE_DATA = C.DEVLINK_ATTR_FMSG_OBJ_VALUE_DATA DEVLINK_ATTR_HEALTH_REPORTER = C.DEVLINK_ATTR_HEALTH_REPORTER DEVLINK_ATTR_HEALTH_REPORTER_NAME = C.DEVLINK_ATTR_HEALTH_REPORTER_NAME DEVLINK_ATTR_HEALTH_REPORTER_STATE = C.DEVLINK_ATTR_HEALTH_REPORTER_STATE DEVLINK_ATTR_HEALTH_REPORTER_ERR_COUNT = C.DEVLINK_ATTR_HEALTH_REPORTER_ERR_COUNT DEVLINK_ATTR_HEALTH_REPORTER_RECOVER_COUNT = C.DEVLINK_ATTR_HEALTH_REPORTER_RECOVER_COUNT DEVLINK_ATTR_HEALTH_REPORTER_DUMP_TS = C.DEVLINK_ATTR_HEALTH_REPORTER_DUMP_TS DEVLINK_ATTR_HEALTH_REPORTER_GRACEFUL_PERIOD = C.DEVLINK_ATTR_HEALTH_REPORTER_GRACEFUL_PERIOD DEVLINK_ATTR_HEALTH_REPORTER_AUTO_RECOVER = C.DEVLINK_ATTR_HEALTH_REPORTER_AUTO_RECOVER DEVLINK_ATTR_FLASH_UPDATE_FILE_NAME = C.DEVLINK_ATTR_FLASH_UPDATE_FILE_NAME DEVLINK_ATTR_FLASH_UPDATE_COMPONENT = C.DEVLINK_ATTR_FLASH_UPDATE_COMPONENT DEVLINK_ATTR_FLASH_UPDATE_STATUS_MSG = C.DEVLINK_ATTR_FLASH_UPDATE_STATUS_MSG DEVLINK_ATTR_FLASH_UPDATE_STATUS_DONE = C.DEVLINK_ATTR_FLASH_UPDATE_STATUS_DONE DEVLINK_ATTR_FLASH_UPDATE_STATUS_TOTAL = C.DEVLINK_ATTR_FLASH_UPDATE_STATUS_TOTAL DEVLINK_ATTR_PORT_PCI_PF_NUMBER = C.DEVLINK_ATTR_PORT_PCI_PF_NUMBER DEVLINK_ATTR_PORT_PCI_VF_NUMBER = C.DEVLINK_ATTR_PORT_PCI_VF_NUMBER DEVLINK_ATTR_STATS = C.DEVLINK_ATTR_STATS DEVLINK_ATTR_TRAP_NAME = C.DEVLINK_ATTR_TRAP_NAME DEVLINK_ATTR_TRAP_ACTION = C.DEVLINK_ATTR_TRAP_ACTION DEVLINK_ATTR_TRAP_TYPE = C.DEVLINK_ATTR_TRAP_TYPE DEVLINK_ATTR_TRAP_GENERIC = C.DEVLINK_ATTR_TRAP_GENERIC DEVLINK_ATTR_TRAP_METADATA = C.DEVLINK_ATTR_TRAP_METADATA DEVLINK_ATTR_TRAP_GROUP_NAME = C.DEVLINK_ATTR_TRAP_GROUP_NAME DEVLINK_ATTR_RELOAD_FAILED = C.DEVLINK_ATTR_RELOAD_FAILED DEVLINK_ATTR_HEALTH_REPORTER_DUMP_TS_NS = C.DEVLINK_ATTR_HEALTH_REPORTER_DUMP_TS_NS DEVLINK_ATTR_NETNS_FD = C.DEVLINK_ATTR_NETNS_FD DEVLINK_ATTR_NETNS_PID = C.DEVLINK_ATTR_NETNS_PID DEVLINK_ATTR_NETNS_ID = C.DEVLINK_ATTR_NETNS_ID DEVLINK_ATTR_HEALTH_REPORTER_AUTO_DUMP = C.DEVLINK_ATTR_HEALTH_REPORTER_AUTO_DUMP DEVLINK_ATTR_TRAP_POLICER_ID = C.DEVLINK_ATTR_TRAP_POLICER_ID DEVLINK_ATTR_TRAP_POLICER_RATE = C.DEVLINK_ATTR_TRAP_POLICER_RATE DEVLINK_ATTR_TRAP_POLICER_BURST = C.DEVLINK_ATTR_TRAP_POLICER_BURST DEVLINK_ATTR_PORT_FUNCTION = C.DEVLINK_ATTR_PORT_FUNCTION DEVLINK_ATTR_INFO_BOARD_SERIAL_NUMBER = C.DEVLINK_ATTR_INFO_BOARD_SERIAL_NUMBER DEVLINK_ATTR_PORT_LANES = C.DEVLINK_ATTR_PORT_LANES DEVLINK_ATTR_PORT_SPLITTABLE = C.DEVLINK_ATTR_PORT_SPLITTABLE DEVLINK_ATTR_PORT_EXTERNAL = C.DEVLINK_ATTR_PORT_EXTERNAL DEVLINK_ATTR_PORT_CONTROLLER_NUMBER = C.DEVLINK_ATTR_PORT_CONTROLLER_NUMBER DEVLINK_ATTR_FLASH_UPDATE_STATUS_TIMEOUT = C.DEVLINK_ATTR_FLASH_UPDATE_STATUS_TIMEOUT DEVLINK_ATTR_FLASH_UPDATE_OVERWRITE_MASK = C.DEVLINK_ATTR_FLASH_UPDATE_OVERWRITE_MASK DEVLINK_ATTR_RELOAD_ACTION = C.DEVLINK_ATTR_RELOAD_ACTION DEVLINK_ATTR_RELOAD_ACTIONS_PERFORMED = C.DEVLINK_ATTR_RELOAD_ACTIONS_PERFORMED DEVLINK_ATTR_RELOAD_LIMITS = C.DEVLINK_ATTR_RELOAD_LIMITS DEVLINK_ATTR_DEV_STATS = C.DEVLINK_ATTR_DEV_STATS DEVLINK_ATTR_RELOAD_STATS = C.DEVLINK_ATTR_RELOAD_STATS DEVLINK_ATTR_RELOAD_STATS_ENTRY = C.DEVLINK_ATTR_RELOAD_STATS_ENTRY DEVLINK_ATTR_RELOAD_STATS_LIMIT = C.DEVLINK_ATTR_RELOAD_STATS_LIMIT DEVLINK_ATTR_RELOAD_STATS_VALUE = C.DEVLINK_ATTR_RELOAD_STATS_VALUE DEVLINK_ATTR_REMOTE_RELOAD_STATS = C.DEVLINK_ATTR_REMOTE_RELOAD_STATS DEVLINK_ATTR_RELOAD_ACTION_INFO = C.DEVLINK_ATTR_RELOAD_ACTION_INFO DEVLINK_ATTR_RELOAD_ACTION_STATS = C.DEVLINK_ATTR_RELOAD_ACTION_STATS DEVLINK_ATTR_PORT_PCI_SF_NUMBER = C.DEVLINK_ATTR_PORT_PCI_SF_NUMBER DEVLINK_ATTR_RATE_TYPE = C.DEVLINK_ATTR_RATE_TYPE DEVLINK_ATTR_RATE_TX_SHARE = C.DEVLINK_ATTR_RATE_TX_SHARE DEVLINK_ATTR_RATE_TX_MAX = C.DEVLINK_ATTR_RATE_TX_MAX DEVLINK_ATTR_RATE_NODE_NAME = C.DEVLINK_ATTR_RATE_NODE_NAME DEVLINK_ATTR_RATE_PARENT_NODE_NAME = C.DEVLINK_ATTR_RATE_PARENT_NODE_NAME DEVLINK_ATTR_REGION_MAX_SNAPSHOTS = C.DEVLINK_ATTR_REGION_MAX_SNAPSHOTS DEVLINK_ATTR_LINECARD_INDEX = C.DEVLINK_ATTR_LINECARD_INDEX DEVLINK_ATTR_LINECARD_STATE = C.DEVLINK_ATTR_LINECARD_STATE DEVLINK_ATTR_LINECARD_TYPE = C.DEVLINK_ATTR_LINECARD_TYPE DEVLINK_ATTR_LINECARD_SUPPORTED_TYPES = C.DEVLINK_ATTR_LINECARD_SUPPORTED_TYPES DEVLINK_ATTR_NESTED_DEVLINK = C.DEVLINK_ATTR_NESTED_DEVLINK DEVLINK_ATTR_SELFTESTS = C.DEVLINK_ATTR_SELFTESTS DEVLINK_ATTR_MAX = C.DEVLINK_ATTR_MAX DEVLINK_DPIPE_FIELD_MAPPING_TYPE_NONE = C.DEVLINK_DPIPE_FIELD_MAPPING_TYPE_NONE DEVLINK_DPIPE_FIELD_MAPPING_TYPE_IFINDEX = C.DEVLINK_DPIPE_FIELD_MAPPING_TYPE_IFINDEX DEVLINK_DPIPE_MATCH_TYPE_FIELD_EXACT = C.DEVLINK_DPIPE_MATCH_TYPE_FIELD_EXACT DEVLINK_DPIPE_ACTION_TYPE_FIELD_MODIFY = C.DEVLINK_DPIPE_ACTION_TYPE_FIELD_MODIFY DEVLINK_DPIPE_FIELD_ETHERNET_DST_MAC = C.DEVLINK_DPIPE_FIELD_ETHERNET_DST_MAC DEVLINK_DPIPE_FIELD_IPV4_DST_IP = C.DEVLINK_DPIPE_FIELD_IPV4_DST_IP DEVLINK_DPIPE_FIELD_IPV6_DST_IP = C.DEVLINK_DPIPE_FIELD_IPV6_DST_IP DEVLINK_DPIPE_HEADER_ETHERNET = C.DEVLINK_DPIPE_HEADER_ETHERNET DEVLINK_DPIPE_HEADER_IPV4 = C.DEVLINK_DPIPE_HEADER_IPV4 DEVLINK_DPIPE_HEADER_IPV6 = C.DEVLINK_DPIPE_HEADER_IPV6 DEVLINK_RESOURCE_UNIT_ENTRY = C.DEVLINK_RESOURCE_UNIT_ENTRY DEVLINK_PORT_FUNCTION_ATTR_UNSPEC = C.DEVLINK_PORT_FUNCTION_ATTR_UNSPEC DEVLINK_PORT_FUNCTION_ATTR_HW_ADDR = C.DEVLINK_PORT_FUNCTION_ATTR_HW_ADDR DEVLINK_PORT_FN_ATTR_STATE = C.DEVLINK_PORT_FN_ATTR_STATE DEVLINK_PORT_FN_ATTR_OPSTATE = C.DEVLINK_PORT_FN_ATTR_OPSTATE DEVLINK_PORT_FN_ATTR_CAPS = C.DEVLINK_PORT_FN_ATTR_CAPS DEVLINK_PORT_FUNCTION_ATTR_MAX = C.DEVLINK_PORT_FUNCTION_ATTR_MAX ) // fs-verity type FsverityDigest C.struct_fsverity_digest type FsverityEnableArg C.struct_fsverity_enable_arg // nexthop type Nhmsg C.struct_nhmsg type NexthopGrp C.struct_nexthop_grp const ( NHA_UNSPEC = C.NHA_UNSPEC NHA_ID = C.NHA_ID NHA_GROUP = C.NHA_GROUP NHA_GROUP_TYPE = C.NHA_GROUP_TYPE NHA_BLACKHOLE = C.NHA_BLACKHOLE NHA_OIF = C.NHA_OIF NHA_GATEWAY = C.NHA_GATEWAY NHA_ENCAP_TYPE = C.NHA_ENCAP_TYPE NHA_ENCAP = C.NHA_ENCAP NHA_GROUPS = C.NHA_GROUPS NHA_MASTER = C.NHA_MASTER ) // raw CAN sockets const ( CAN_RAW_FILTER = C.CAN_RAW_FILTER CAN_RAW_ERR_FILTER = C.CAN_RAW_ERR_FILTER CAN_RAW_LOOPBACK = C.CAN_RAW_LOOPBACK CAN_RAW_RECV_OWN_MSGS = C.CAN_RAW_RECV_OWN_MSGS CAN_RAW_FD_FRAMES = C.CAN_RAW_FD_FRAMES CAN_RAW_JOIN_FILTERS = C.CAN_RAW_JOIN_FILTERS ) // Watchdog API type WatchdogInfo C.struct_watchdog_info // PPS API type PPSFData C.struct_pps_fdata type PPSKParams C.struct_pps_kparams type PPSKInfo C.struct_pps_kinfo type PPSKTime C.struct_pps_ktime const ( PPS_GETPARAMS = C.PPS_GETPARAMS PPS_SETPARAMS = C.PPS_SETPARAMS PPS_GETCAP = C.PPS_GETCAP PPS_FETCH = C.PPS_FETCH ) // lwtunnel and related APIs const ( LWTUNNEL_ENCAP_NONE = C.LWTUNNEL_ENCAP_NONE LWTUNNEL_ENCAP_MPLS = C.LWTUNNEL_ENCAP_MPLS LWTUNNEL_ENCAP_IP = C.LWTUNNEL_ENCAP_IP LWTUNNEL_ENCAP_ILA = C.LWTUNNEL_ENCAP_ILA LWTUNNEL_ENCAP_IP6 = C.LWTUNNEL_ENCAP_IP6 LWTUNNEL_ENCAP_SEG6 = C.LWTUNNEL_ENCAP_SEG6 LWTUNNEL_ENCAP_BPF = C.LWTUNNEL_ENCAP_BPF LWTUNNEL_ENCAP_SEG6_LOCAL = C.LWTUNNEL_ENCAP_SEG6_LOCAL LWTUNNEL_ENCAP_RPL = C.LWTUNNEL_ENCAP_RPL LWTUNNEL_ENCAP_IOAM6 = C.LWTUNNEL_ENCAP_IOAM6 LWTUNNEL_ENCAP_XFRM = C.LWTUNNEL_ENCAP_XFRM LWTUNNEL_ENCAP_MAX = C.LWTUNNEL_ENCAP_MAX MPLS_IPTUNNEL_UNSPEC = C.MPLS_IPTUNNEL_UNSPEC MPLS_IPTUNNEL_DST = C.MPLS_IPTUNNEL_DST MPLS_IPTUNNEL_TTL = C.MPLS_IPTUNNEL_TTL MPLS_IPTUNNEL_MAX = C.MPLS_IPTUNNEL_MAX ) // ethtool and its netlink interface, generated using: // // perl -nlE '/^\s*(ETHTOOL_\w+)/ && say "$1 = C.$1"' /usr/include/linux/ethtool.h // perl -nlE '/^\s*(ETHTOOL_\w+)/ && say "$1 = C.$1"' /usr/include/linux/ethtool_netlink.h // // Note that a couple of constants produced by this command will be duplicated // by mkerrors.sh, so some manual pruning was necessary. const ( ETHTOOL_ID_UNSPEC = C.ETHTOOL_ID_UNSPEC ETHTOOL_RX_COPYBREAK = C.ETHTOOL_RX_COPYBREAK ETHTOOL_TX_COPYBREAK = C.ETHTOOL_TX_COPYBREAK ETHTOOL_PFC_PREVENTION_TOUT = C.ETHTOOL_PFC_PREVENTION_TOUT ETHTOOL_TUNABLE_UNSPEC = C.ETHTOOL_TUNABLE_UNSPEC ETHTOOL_TUNABLE_U8 = C.ETHTOOL_TUNABLE_U8 ETHTOOL_TUNABLE_U16 = C.ETHTOOL_TUNABLE_U16 ETHTOOL_TUNABLE_U32 = C.ETHTOOL_TUNABLE_U32 ETHTOOL_TUNABLE_U64 = C.ETHTOOL_TUNABLE_U64 ETHTOOL_TUNABLE_STRING = C.ETHTOOL_TUNABLE_STRING ETHTOOL_TUNABLE_S8 = C.ETHTOOL_TUNABLE_S8 ETHTOOL_TUNABLE_S16 = C.ETHTOOL_TUNABLE_S16 ETHTOOL_TUNABLE_S32 = C.ETHTOOL_TUNABLE_S32 ETHTOOL_TUNABLE_S64 = C.ETHTOOL_TUNABLE_S64 ETHTOOL_PHY_ID_UNSPEC = C.ETHTOOL_PHY_ID_UNSPEC ETHTOOL_PHY_DOWNSHIFT = C.ETHTOOL_PHY_DOWNSHIFT ETHTOOL_PHY_FAST_LINK_DOWN = C.ETHTOOL_PHY_FAST_LINK_DOWN ETHTOOL_PHY_EDPD = C.ETHTOOL_PHY_EDPD ETHTOOL_LINK_EXT_STATE_AUTONEG = C.ETHTOOL_LINK_EXT_STATE_AUTONEG ETHTOOL_LINK_EXT_STATE_LINK_TRAINING_FAILURE = C.ETHTOOL_LINK_EXT_STATE_LINK_TRAINING_FAILURE ETHTOOL_LINK_EXT_STATE_LINK_LOGICAL_MISMATCH = C.ETHTOOL_LINK_EXT_STATE_LINK_LOGICAL_MISMATCH ETHTOOL_LINK_EXT_STATE_BAD_SIGNAL_INTEGRITY = C.ETHTOOL_LINK_EXT_STATE_BAD_SIGNAL_INTEGRITY ETHTOOL_LINK_EXT_STATE_NO_CABLE = C.ETHTOOL_LINK_EXT_STATE_NO_CABLE ETHTOOL_LINK_EXT_STATE_CABLE_ISSUE = C.ETHTOOL_LINK_EXT_STATE_CABLE_ISSUE ETHTOOL_LINK_EXT_STATE_EEPROM_ISSUE = C.ETHTOOL_LINK_EXT_STATE_EEPROM_ISSUE ETHTOOL_LINK_EXT_STATE_CALIBRATION_FAILURE = C.ETHTOOL_LINK_EXT_STATE_CALIBRATION_FAILURE ETHTOOL_LINK_EXT_STATE_POWER_BUDGET_EXCEEDED = C.ETHTOOL_LINK_EXT_STATE_POWER_BUDGET_EXCEEDED ETHTOOL_LINK_EXT_STATE_OVERHEAT = C.ETHTOOL_LINK_EXT_STATE_OVERHEAT ETHTOOL_LINK_EXT_SUBSTATE_AN_NO_PARTNER_DETECTED = C.ETHTOOL_LINK_EXT_SUBSTATE_AN_NO_PARTNER_DETECTED ETHTOOL_LINK_EXT_SUBSTATE_AN_ACK_NOT_RECEIVED = C.ETHTOOL_LINK_EXT_SUBSTATE_AN_ACK_NOT_RECEIVED ETHTOOL_LINK_EXT_SUBSTATE_AN_NEXT_PAGE_EXCHANGE_FAILED = C.ETHTOOL_LINK_EXT_SUBSTATE_AN_NEXT_PAGE_EXCHANGE_FAILED ETHTOOL_LINK_EXT_SUBSTATE_AN_NO_PARTNER_DETECTED_FORCE_MODE = C.ETHTOOL_LINK_EXT_SUBSTATE_AN_NO_PARTNER_DETECTED_FORCE_MODE ETHTOOL_LINK_EXT_SUBSTATE_AN_FEC_MISMATCH_DURING_OVERRIDE = C.ETHTOOL_LINK_EXT_SUBSTATE_AN_FEC_MISMATCH_DURING_OVERRIDE ETHTOOL_LINK_EXT_SUBSTATE_AN_NO_HCD = C.ETHTOOL_LINK_EXT_SUBSTATE_AN_NO_HCD ETHTOOL_LINK_EXT_SUBSTATE_LT_KR_FRAME_LOCK_NOT_ACQUIRED = C.ETHTOOL_LINK_EXT_SUBSTATE_LT_KR_FRAME_LOCK_NOT_ACQUIRED ETHTOOL_LINK_EXT_SUBSTATE_LT_KR_LINK_INHIBIT_TIMEOUT = C.ETHTOOL_LINK_EXT_SUBSTATE_LT_KR_LINK_INHIBIT_TIMEOUT ETHTOOL_LINK_EXT_SUBSTATE_LT_KR_LINK_PARTNER_DID_NOT_SET_RECEIVER_READY = C.ETHTOOL_LINK_EXT_SUBSTATE_LT_KR_LINK_PARTNER_DID_NOT_SET_RECEIVER_READY ETHTOOL_LINK_EXT_SUBSTATE_LT_REMOTE_FAULT = C.ETHTOOL_LINK_EXT_SUBSTATE_LT_REMOTE_FAULT ETHTOOL_LINK_EXT_SUBSTATE_LLM_PCS_DID_NOT_ACQUIRE_BLOCK_LOCK = C.ETHTOOL_LINK_EXT_SUBSTATE_LLM_PCS_DID_NOT_ACQUIRE_BLOCK_LOCK ETHTOOL_LINK_EXT_SUBSTATE_LLM_PCS_DID_NOT_ACQUIRE_AM_LOCK = C.ETHTOOL_LINK_EXT_SUBSTATE_LLM_PCS_DID_NOT_ACQUIRE_AM_LOCK ETHTOOL_LINK_EXT_SUBSTATE_LLM_PCS_DID_NOT_GET_ALIGN_STATUS = C.ETHTOOL_LINK_EXT_SUBSTATE_LLM_PCS_DID_NOT_GET_ALIGN_STATUS ETHTOOL_LINK_EXT_SUBSTATE_LLM_FC_FEC_IS_NOT_LOCKED = C.ETHTOOL_LINK_EXT_SUBSTATE_LLM_FC_FEC_IS_NOT_LOCKED ETHTOOL_LINK_EXT_SUBSTATE_LLM_RS_FEC_IS_NOT_LOCKED = C.ETHTOOL_LINK_EXT_SUBSTATE_LLM_RS_FEC_IS_NOT_LOCKED ETHTOOL_LINK_EXT_SUBSTATE_BSI_LARGE_NUMBER_OF_PHYSICAL_ERRORS = C.ETHTOOL_LINK_EXT_SUBSTATE_BSI_LARGE_NUMBER_OF_PHYSICAL_ERRORS ETHTOOL_LINK_EXT_SUBSTATE_BSI_UNSUPPORTED_RATE = C.ETHTOOL_LINK_EXT_SUBSTATE_BSI_UNSUPPORTED_RATE ETHTOOL_LINK_EXT_SUBSTATE_CI_UNSUPPORTED_CABLE = C.ETHTOOL_LINK_EXT_SUBSTATE_CI_UNSUPPORTED_CABLE ETHTOOL_LINK_EXT_SUBSTATE_CI_CABLE_TEST_FAILURE = C.ETHTOOL_LINK_EXT_SUBSTATE_CI_CABLE_TEST_FAILURE ETHTOOL_FLASH_ALL_REGIONS = C.ETHTOOL_FLASH_ALL_REGIONS ETHTOOL_F_UNSUPPORTED__BIT = C.ETHTOOL_F_UNSUPPORTED__BIT ETHTOOL_F_WISH__BIT = C.ETHTOOL_F_WISH__BIT ETHTOOL_F_COMPAT__BIT = C.ETHTOOL_F_COMPAT__BIT ETHTOOL_FEC_NONE_BIT = C.ETHTOOL_FEC_NONE_BIT ETHTOOL_FEC_AUTO_BIT = C.ETHTOOL_FEC_AUTO_BIT ETHTOOL_FEC_OFF_BIT = C.ETHTOOL_FEC_OFF_BIT ETHTOOL_FEC_RS_BIT = C.ETHTOOL_FEC_RS_BIT ETHTOOL_FEC_BASER_BIT = C.ETHTOOL_FEC_BASER_BIT ETHTOOL_FEC_LLRS_BIT = C.ETHTOOL_FEC_LLRS_BIT ETHTOOL_LINK_MODE_10baseT_Half_BIT = C.ETHTOOL_LINK_MODE_10baseT_Half_BIT ETHTOOL_LINK_MODE_10baseT_Full_BIT = C.ETHTOOL_LINK_MODE_10baseT_Full_BIT ETHTOOL_LINK_MODE_100baseT_Half_BIT = C.ETHTOOL_LINK_MODE_100baseT_Half_BIT ETHTOOL_LINK_MODE_100baseT_Full_BIT = C.ETHTOOL_LINK_MODE_100baseT_Full_BIT ETHTOOL_LINK_MODE_1000baseT_Half_BIT = C.ETHTOOL_LINK_MODE_1000baseT_Half_BIT ETHTOOL_LINK_MODE_1000baseT_Full_BIT = C.ETHTOOL_LINK_MODE_1000baseT_Full_BIT ETHTOOL_LINK_MODE_Autoneg_BIT = C.ETHTOOL_LINK_MODE_Autoneg_BIT ETHTOOL_LINK_MODE_TP_BIT = C.ETHTOOL_LINK_MODE_TP_BIT ETHTOOL_LINK_MODE_AUI_BIT = C.ETHTOOL_LINK_MODE_AUI_BIT ETHTOOL_LINK_MODE_MII_BIT = C.ETHTOOL_LINK_MODE_MII_BIT ETHTOOL_LINK_MODE_FIBRE_BIT = C.ETHTOOL_LINK_MODE_FIBRE_BIT ETHTOOL_LINK_MODE_BNC_BIT = C.ETHTOOL_LINK_MODE_BNC_BIT ETHTOOL_LINK_MODE_10000baseT_Full_BIT = C.ETHTOOL_LINK_MODE_10000baseT_Full_BIT ETHTOOL_LINK_MODE_Pause_BIT = C.ETHTOOL_LINK_MODE_Pause_BIT ETHTOOL_LINK_MODE_Asym_Pause_BIT = C.ETHTOOL_LINK_MODE_Asym_Pause_BIT ETHTOOL_LINK_MODE_2500baseX_Full_BIT = C.ETHTOOL_LINK_MODE_2500baseX_Full_BIT ETHTOOL_LINK_MODE_Backplane_BIT = C.ETHTOOL_LINK_MODE_Backplane_BIT ETHTOOL_LINK_MODE_1000baseKX_Full_BIT = C.ETHTOOL_LINK_MODE_1000baseKX_Full_BIT ETHTOOL_LINK_MODE_10000baseKX4_Full_BIT = C.ETHTOOL_LINK_MODE_10000baseKX4_Full_BIT ETHTOOL_LINK_MODE_10000baseKR_Full_BIT = C.ETHTOOL_LINK_MODE_10000baseKR_Full_BIT ETHTOOL_LINK_MODE_10000baseR_FEC_BIT = C.ETHTOOL_LINK_MODE_10000baseR_FEC_BIT ETHTOOL_LINK_MODE_20000baseMLD2_Full_BIT = C.ETHTOOL_LINK_MODE_20000baseMLD2_Full_BIT ETHTOOL_LINK_MODE_20000baseKR2_Full_BIT = C.ETHTOOL_LINK_MODE_20000baseKR2_Full_BIT ETHTOOL_LINK_MODE_40000baseKR4_Full_BIT = C.ETHTOOL_LINK_MODE_40000baseKR4_Full_BIT ETHTOOL_LINK_MODE_40000baseCR4_Full_BIT = C.ETHTOOL_LINK_MODE_40000baseCR4_Full_BIT ETHTOOL_LINK_MODE_40000baseSR4_Full_BIT = C.ETHTOOL_LINK_MODE_40000baseSR4_Full_BIT ETHTOOL_LINK_MODE_40000baseLR4_Full_BIT = C.ETHTOOL_LINK_MODE_40000baseLR4_Full_BIT ETHTOOL_LINK_MODE_56000baseKR4_Full_BIT = C.ETHTOOL_LINK_MODE_56000baseKR4_Full_BIT ETHTOOL_LINK_MODE_56000baseCR4_Full_BIT = C.ETHTOOL_LINK_MODE_56000baseCR4_Full_BIT ETHTOOL_LINK_MODE_56000baseSR4_Full_BIT = C.ETHTOOL_LINK_MODE_56000baseSR4_Full_BIT ETHTOOL_LINK_MODE_56000baseLR4_Full_BIT = C.ETHTOOL_LINK_MODE_56000baseLR4_Full_BIT ETHTOOL_LINK_MODE_25000baseCR_Full_BIT = C.ETHTOOL_LINK_MODE_25000baseCR_Full_BIT ETHTOOL_LINK_MODE_25000baseKR_Full_BIT = C.ETHTOOL_LINK_MODE_25000baseKR_Full_BIT ETHTOOL_LINK_MODE_25000baseSR_Full_BIT = C.ETHTOOL_LINK_MODE_25000baseSR_Full_BIT ETHTOOL_LINK_MODE_50000baseCR2_Full_BIT = C.ETHTOOL_LINK_MODE_50000baseCR2_Full_BIT ETHTOOL_LINK_MODE_50000baseKR2_Full_BIT = C.ETHTOOL_LINK_MODE_50000baseKR2_Full_BIT ETHTOOL_LINK_MODE_100000baseKR4_Full_BIT = C.ETHTOOL_LINK_MODE_100000baseKR4_Full_BIT ETHTOOL_LINK_MODE_100000baseSR4_Full_BIT = C.ETHTOOL_LINK_MODE_100000baseSR4_Full_BIT ETHTOOL_LINK_MODE_100000baseCR4_Full_BIT = C.ETHTOOL_LINK_MODE_100000baseCR4_Full_BIT ETHTOOL_LINK_MODE_100000baseLR4_ER4_Full_BIT = C.ETHTOOL_LINK_MODE_100000baseLR4_ER4_Full_BIT ETHTOOL_LINK_MODE_50000baseSR2_Full_BIT = C.ETHTOOL_LINK_MODE_50000baseSR2_Full_BIT ETHTOOL_LINK_MODE_1000baseX_Full_BIT = C.ETHTOOL_LINK_MODE_1000baseX_Full_BIT ETHTOOL_LINK_MODE_10000baseCR_Full_BIT = C.ETHTOOL_LINK_MODE_10000baseCR_Full_BIT ETHTOOL_LINK_MODE_10000baseSR_Full_BIT = C.ETHTOOL_LINK_MODE_10000baseSR_Full_BIT ETHTOOL_LINK_MODE_10000baseLR_Full_BIT = C.ETHTOOL_LINK_MODE_10000baseLR_Full_BIT ETHTOOL_LINK_MODE_10000baseLRM_Full_BIT = C.ETHTOOL_LINK_MODE_10000baseLRM_Full_BIT ETHTOOL_LINK_MODE_10000baseER_Full_BIT = C.ETHTOOL_LINK_MODE_10000baseER_Full_BIT ETHTOOL_LINK_MODE_2500baseT_Full_BIT = C.ETHTOOL_LINK_MODE_2500baseT_Full_BIT ETHTOOL_LINK_MODE_5000baseT_Full_BIT = C.ETHTOOL_LINK_MODE_5000baseT_Full_BIT ETHTOOL_LINK_MODE_FEC_NONE_BIT = C.ETHTOOL_LINK_MODE_FEC_NONE_BIT ETHTOOL_LINK_MODE_FEC_RS_BIT = C.ETHTOOL_LINK_MODE_FEC_RS_BIT ETHTOOL_LINK_MODE_FEC_BASER_BIT = C.ETHTOOL_LINK_MODE_FEC_BASER_BIT ETHTOOL_LINK_MODE_50000baseKR_Full_BIT = C.ETHTOOL_LINK_MODE_50000baseKR_Full_BIT ETHTOOL_LINK_MODE_50000baseSR_Full_BIT = C.ETHTOOL_LINK_MODE_50000baseSR_Full_BIT ETHTOOL_LINK_MODE_50000baseCR_Full_BIT = C.ETHTOOL_LINK_MODE_50000baseCR_Full_BIT ETHTOOL_LINK_MODE_50000baseLR_ER_FR_Full_BIT = C.ETHTOOL_LINK_MODE_50000baseLR_ER_FR_Full_BIT ETHTOOL_LINK_MODE_50000baseDR_Full_BIT = C.ETHTOOL_LINK_MODE_50000baseDR_Full_BIT ETHTOOL_LINK_MODE_100000baseKR2_Full_BIT = C.ETHTOOL_LINK_MODE_100000baseKR2_Full_BIT ETHTOOL_LINK_MODE_100000baseSR2_Full_BIT = C.ETHTOOL_LINK_MODE_100000baseSR2_Full_BIT ETHTOOL_LINK_MODE_100000baseCR2_Full_BIT = C.ETHTOOL_LINK_MODE_100000baseCR2_Full_BIT ETHTOOL_LINK_MODE_100000baseLR2_ER2_FR2_Full_BIT = C.ETHTOOL_LINK_MODE_100000baseLR2_ER2_FR2_Full_BIT ETHTOOL_LINK_MODE_100000baseDR2_Full_BIT = C.ETHTOOL_LINK_MODE_100000baseDR2_Full_BIT ETHTOOL_LINK_MODE_200000baseKR4_Full_BIT = C.ETHTOOL_LINK_MODE_200000baseKR4_Full_BIT ETHTOOL_LINK_MODE_200000baseSR4_Full_BIT = C.ETHTOOL_LINK_MODE_200000baseSR4_Full_BIT ETHTOOL_LINK_MODE_200000baseLR4_ER4_FR4_Full_BIT = C.ETHTOOL_LINK_MODE_200000baseLR4_ER4_FR4_Full_BIT ETHTOOL_LINK_MODE_200000baseDR4_Full_BIT = C.ETHTOOL_LINK_MODE_200000baseDR4_Full_BIT ETHTOOL_LINK_MODE_200000baseCR4_Full_BIT = C.ETHTOOL_LINK_MODE_200000baseCR4_Full_BIT ETHTOOL_LINK_MODE_100baseT1_Full_BIT = C.ETHTOOL_LINK_MODE_100baseT1_Full_BIT ETHTOOL_LINK_MODE_1000baseT1_Full_BIT = C.ETHTOOL_LINK_MODE_1000baseT1_Full_BIT ETHTOOL_LINK_MODE_400000baseKR8_Full_BIT = C.ETHTOOL_LINK_MODE_400000baseKR8_Full_BIT ETHTOOL_LINK_MODE_400000baseSR8_Full_BIT = C.ETHTOOL_LINK_MODE_400000baseSR8_Full_BIT ETHTOOL_LINK_MODE_400000baseLR8_ER8_FR8_Full_BIT = C.ETHTOOL_LINK_MODE_400000baseLR8_ER8_FR8_Full_BIT ETHTOOL_LINK_MODE_400000baseDR8_Full_BIT = C.ETHTOOL_LINK_MODE_400000baseDR8_Full_BIT ETHTOOL_LINK_MODE_400000baseCR8_Full_BIT = C.ETHTOOL_LINK_MODE_400000baseCR8_Full_BIT ETHTOOL_LINK_MODE_FEC_LLRS_BIT = C.ETHTOOL_LINK_MODE_FEC_LLRS_BIT ETHTOOL_LINK_MODE_100000baseKR_Full_BIT = C.ETHTOOL_LINK_MODE_100000baseKR_Full_BIT ETHTOOL_LINK_MODE_100000baseSR_Full_BIT = C.ETHTOOL_LINK_MODE_100000baseSR_Full_BIT ETHTOOL_LINK_MODE_100000baseLR_ER_FR_Full_BIT = C.ETHTOOL_LINK_MODE_100000baseLR_ER_FR_Full_BIT ETHTOOL_LINK_MODE_100000baseCR_Full_BIT = C.ETHTOOL_LINK_MODE_100000baseCR_Full_BIT ETHTOOL_LINK_MODE_100000baseDR_Full_BIT = C.ETHTOOL_LINK_MODE_100000baseDR_Full_BIT ETHTOOL_LINK_MODE_200000baseKR2_Full_BIT = C.ETHTOOL_LINK_MODE_200000baseKR2_Full_BIT ETHTOOL_LINK_MODE_200000baseSR2_Full_BIT = C.ETHTOOL_LINK_MODE_200000baseSR2_Full_BIT ETHTOOL_LINK_MODE_200000baseLR2_ER2_FR2_Full_BIT = C.ETHTOOL_LINK_MODE_200000baseLR2_ER2_FR2_Full_BIT ETHTOOL_LINK_MODE_200000baseDR2_Full_BIT = C.ETHTOOL_LINK_MODE_200000baseDR2_Full_BIT ETHTOOL_LINK_MODE_200000baseCR2_Full_BIT = C.ETHTOOL_LINK_MODE_200000baseCR2_Full_BIT ETHTOOL_LINK_MODE_400000baseKR4_Full_BIT = C.ETHTOOL_LINK_MODE_400000baseKR4_Full_BIT ETHTOOL_LINK_MODE_400000baseSR4_Full_BIT = C.ETHTOOL_LINK_MODE_400000baseSR4_Full_BIT ETHTOOL_LINK_MODE_400000baseLR4_ER4_FR4_Full_BIT = C.ETHTOOL_LINK_MODE_400000baseLR4_ER4_FR4_Full_BIT ETHTOOL_LINK_MODE_400000baseDR4_Full_BIT = C.ETHTOOL_LINK_MODE_400000baseDR4_Full_BIT ETHTOOL_LINK_MODE_400000baseCR4_Full_BIT = C.ETHTOOL_LINK_MODE_400000baseCR4_Full_BIT ETHTOOL_LINK_MODE_100baseFX_Half_BIT = C.ETHTOOL_LINK_MODE_100baseFX_Half_BIT ETHTOOL_LINK_MODE_100baseFX_Full_BIT = C.ETHTOOL_LINK_MODE_100baseFX_Full_BIT ETHTOOL_MSG_USER_NONE = C.ETHTOOL_MSG_USER_NONE ETHTOOL_MSG_STRSET_GET = C.ETHTOOL_MSG_STRSET_GET ETHTOOL_MSG_LINKINFO_GET = C.ETHTOOL_MSG_LINKINFO_GET ETHTOOL_MSG_LINKINFO_SET = C.ETHTOOL_MSG_LINKINFO_SET ETHTOOL_MSG_LINKMODES_GET = C.ETHTOOL_MSG_LINKMODES_GET ETHTOOL_MSG_LINKMODES_SET = C.ETHTOOL_MSG_LINKMODES_SET ETHTOOL_MSG_LINKSTATE_GET = C.ETHTOOL_MSG_LINKSTATE_GET ETHTOOL_MSG_DEBUG_GET = C.ETHTOOL_MSG_DEBUG_GET ETHTOOL_MSG_DEBUG_SET = C.ETHTOOL_MSG_DEBUG_SET ETHTOOL_MSG_WOL_GET = C.ETHTOOL_MSG_WOL_GET ETHTOOL_MSG_WOL_SET = C.ETHTOOL_MSG_WOL_SET ETHTOOL_MSG_FEATURES_GET = C.ETHTOOL_MSG_FEATURES_GET ETHTOOL_MSG_FEATURES_SET = C.ETHTOOL_MSG_FEATURES_SET ETHTOOL_MSG_PRIVFLAGS_GET = C.ETHTOOL_MSG_PRIVFLAGS_GET ETHTOOL_MSG_PRIVFLAGS_SET = C.ETHTOOL_MSG_PRIVFLAGS_SET ETHTOOL_MSG_RINGS_GET = C.ETHTOOL_MSG_RINGS_GET ETHTOOL_MSG_RINGS_SET = C.ETHTOOL_MSG_RINGS_SET ETHTOOL_MSG_CHANNELS_GET = C.ETHTOOL_MSG_CHANNELS_GET ETHTOOL_MSG_CHANNELS_SET = C.ETHTOOL_MSG_CHANNELS_SET ETHTOOL_MSG_COALESCE_GET = C.ETHTOOL_MSG_COALESCE_GET ETHTOOL_MSG_COALESCE_SET = C.ETHTOOL_MSG_COALESCE_SET ETHTOOL_MSG_PAUSE_GET = C.ETHTOOL_MSG_PAUSE_GET ETHTOOL_MSG_PAUSE_SET = C.ETHTOOL_MSG_PAUSE_SET ETHTOOL_MSG_EEE_GET = C.ETHTOOL_MSG_EEE_GET ETHTOOL_MSG_EEE_SET = C.ETHTOOL_MSG_EEE_SET ETHTOOL_MSG_TSINFO_GET = C.ETHTOOL_MSG_TSINFO_GET ETHTOOL_MSG_CABLE_TEST_ACT = C.ETHTOOL_MSG_CABLE_TEST_ACT ETHTOOL_MSG_CABLE_TEST_TDR_ACT = C.ETHTOOL_MSG_CABLE_TEST_TDR_ACT ETHTOOL_MSG_TUNNEL_INFO_GET = C.ETHTOOL_MSG_TUNNEL_INFO_GET ETHTOOL_MSG_FEC_GET = C.ETHTOOL_MSG_FEC_GET ETHTOOL_MSG_FEC_SET = C.ETHTOOL_MSG_FEC_SET ETHTOOL_MSG_MODULE_EEPROM_GET = C.ETHTOOL_MSG_MODULE_EEPROM_GET ETHTOOL_MSG_STATS_GET = C.ETHTOOL_MSG_STATS_GET ETHTOOL_MSG_PHC_VCLOCKS_GET = C.ETHTOOL_MSG_PHC_VCLOCKS_GET ETHTOOL_MSG_MODULE_GET = C.ETHTOOL_MSG_MODULE_GET ETHTOOL_MSG_MODULE_SET = C.ETHTOOL_MSG_MODULE_SET ETHTOOL_MSG_PSE_GET = C.ETHTOOL_MSG_PSE_GET ETHTOOL_MSG_PSE_SET = C.ETHTOOL_MSG_PSE_SET ETHTOOL_MSG_RSS_GET = C.ETHTOOL_MSG_RSS_GET ETHTOOL_MSG_USER_MAX = C.ETHTOOL_MSG_USER_MAX ETHTOOL_MSG_KERNEL_NONE = C.ETHTOOL_MSG_KERNEL_NONE ETHTOOL_MSG_STRSET_GET_REPLY = C.ETHTOOL_MSG_STRSET_GET_REPLY ETHTOOL_MSG_LINKINFO_GET_REPLY = C.ETHTOOL_MSG_LINKINFO_GET_REPLY ETHTOOL_MSG_LINKINFO_NTF = C.ETHTOOL_MSG_LINKINFO_NTF ETHTOOL_MSG_LINKMODES_GET_REPLY = C.ETHTOOL_MSG_LINKMODES_GET_REPLY ETHTOOL_MSG_LINKMODES_NTF = C.ETHTOOL_MSG_LINKMODES_NTF ETHTOOL_MSG_LINKSTATE_GET_REPLY = C.ETHTOOL_MSG_LINKSTATE_GET_REPLY ETHTOOL_MSG_DEBUG_GET_REPLY = C.ETHTOOL_MSG_DEBUG_GET_REPLY ETHTOOL_MSG_DEBUG_NTF = C.ETHTOOL_MSG_DEBUG_NTF ETHTOOL_MSG_WOL_GET_REPLY = C.ETHTOOL_MSG_WOL_GET_REPLY ETHTOOL_MSG_WOL_NTF = C.ETHTOOL_MSG_WOL_NTF ETHTOOL_MSG_FEATURES_GET_REPLY = C.ETHTOOL_MSG_FEATURES_GET_REPLY ETHTOOL_MSG_FEATURES_SET_REPLY = C.ETHTOOL_MSG_FEATURES_SET_REPLY ETHTOOL_MSG_FEATURES_NTF = C.ETHTOOL_MSG_FEATURES_NTF ETHTOOL_MSG_PRIVFLAGS_GET_REPLY = C.ETHTOOL_MSG_PRIVFLAGS_GET_REPLY ETHTOOL_MSG_PRIVFLAGS_NTF = C.ETHTOOL_MSG_PRIVFLAGS_NTF ETHTOOL_MSG_RINGS_GET_REPLY = C.ETHTOOL_MSG_RINGS_GET_REPLY ETHTOOL_MSG_RINGS_NTF = C.ETHTOOL_MSG_RINGS_NTF ETHTOOL_MSG_CHANNELS_GET_REPLY = C.ETHTOOL_MSG_CHANNELS_GET_REPLY ETHTOOL_MSG_CHANNELS_NTF = C.ETHTOOL_MSG_CHANNELS_NTF ETHTOOL_MSG_COALESCE_GET_REPLY = C.ETHTOOL_MSG_COALESCE_GET_REPLY ETHTOOL_MSG_COALESCE_NTF = C.ETHTOOL_MSG_COALESCE_NTF ETHTOOL_MSG_PAUSE_GET_REPLY = C.ETHTOOL_MSG_PAUSE_GET_REPLY ETHTOOL_MSG_PAUSE_NTF = C.ETHTOOL_MSG_PAUSE_NTF ETHTOOL_MSG_EEE_GET_REPLY = C.ETHTOOL_MSG_EEE_GET_REPLY ETHTOOL_MSG_EEE_NTF = C.ETHTOOL_MSG_EEE_NTF ETHTOOL_MSG_TSINFO_GET_REPLY = C.ETHTOOL_MSG_TSINFO_GET_REPLY ETHTOOL_MSG_CABLE_TEST_NTF = C.ETHTOOL_MSG_CABLE_TEST_NTF ETHTOOL_MSG_CABLE_TEST_TDR_NTF = C.ETHTOOL_MSG_CABLE_TEST_TDR_NTF ETHTOOL_MSG_TUNNEL_INFO_GET_REPLY = C.ETHTOOL_MSG_TUNNEL_INFO_GET_REPLY ETHTOOL_MSG_FEC_GET_REPLY = C.ETHTOOL_MSG_FEC_GET_REPLY ETHTOOL_MSG_FEC_NTF = C.ETHTOOL_MSG_FEC_NTF ETHTOOL_MSG_MODULE_EEPROM_GET_REPLY = C.ETHTOOL_MSG_MODULE_EEPROM_GET_REPLY ETHTOOL_MSG_STATS_GET_REPLY = C.ETHTOOL_MSG_STATS_GET_REPLY ETHTOOL_MSG_PHC_VCLOCKS_GET_REPLY = C.ETHTOOL_MSG_PHC_VCLOCKS_GET_REPLY ETHTOOL_MSG_MODULE_GET_REPLY = C.ETHTOOL_MSG_MODULE_GET_REPLY ETHTOOL_MSG_MODULE_NTF = C.ETHTOOL_MSG_MODULE_NTF ETHTOOL_MSG_PSE_GET_REPLY = C.ETHTOOL_MSG_PSE_GET_REPLY ETHTOOL_MSG_RSS_GET_REPLY = C.ETHTOOL_MSG_RSS_GET_REPLY ETHTOOL_MSG_KERNEL_MAX = C.ETHTOOL_MSG_KERNEL_MAX ETHTOOL_FLAG_COMPACT_BITSETS = C.ETHTOOL_FLAG_COMPACT_BITSETS ETHTOOL_FLAG_OMIT_REPLY = C.ETHTOOL_FLAG_OMIT_REPLY ETHTOOL_FLAG_STATS = C.ETHTOOL_FLAG_STATS ETHTOOL_A_HEADER_UNSPEC = C.ETHTOOL_A_HEADER_UNSPEC ETHTOOL_A_HEADER_DEV_INDEX = C.ETHTOOL_A_HEADER_DEV_INDEX ETHTOOL_A_HEADER_DEV_NAME = C.ETHTOOL_A_HEADER_DEV_NAME ETHTOOL_A_HEADER_FLAGS = C.ETHTOOL_A_HEADER_FLAGS ETHTOOL_A_HEADER_MAX = C.ETHTOOL_A_HEADER_MAX ETHTOOL_A_BITSET_BIT_UNSPEC = C.ETHTOOL_A_BITSET_BIT_UNSPEC ETHTOOL_A_BITSET_BIT_INDEX = C.ETHTOOL_A_BITSET_BIT_INDEX ETHTOOL_A_BITSET_BIT_NAME = C.ETHTOOL_A_BITSET_BIT_NAME ETHTOOL_A_BITSET_BIT_VALUE = C.ETHTOOL_A_BITSET_BIT_VALUE ETHTOOL_A_BITSET_BIT_MAX = C.ETHTOOL_A_BITSET_BIT_MAX ETHTOOL_A_BITSET_BITS_UNSPEC = C.ETHTOOL_A_BITSET_BITS_UNSPEC ETHTOOL_A_BITSET_BITS_BIT = C.ETHTOOL_A_BITSET_BITS_BIT ETHTOOL_A_BITSET_BITS_MAX = C.ETHTOOL_A_BITSET_BITS_MAX ETHTOOL_A_BITSET_UNSPEC = C.ETHTOOL_A_BITSET_UNSPEC ETHTOOL_A_BITSET_NOMASK = C.ETHTOOL_A_BITSET_NOMASK ETHTOOL_A_BITSET_SIZE = C.ETHTOOL_A_BITSET_SIZE ETHTOOL_A_BITSET_BITS = C.ETHTOOL_A_BITSET_BITS ETHTOOL_A_BITSET_VALUE = C.ETHTOOL_A_BITSET_VALUE ETHTOOL_A_BITSET_MASK = C.ETHTOOL_A_BITSET_MASK ETHTOOL_A_BITSET_MAX = C.ETHTOOL_A_BITSET_MAX ETHTOOL_A_STRING_UNSPEC = C.ETHTOOL_A_STRING_UNSPEC ETHTOOL_A_STRING_INDEX = C.ETHTOOL_A_STRING_INDEX ETHTOOL_A_STRING_VALUE = C.ETHTOOL_A_STRING_VALUE ETHTOOL_A_STRING_MAX = C.ETHTOOL_A_STRING_MAX ETHTOOL_A_STRINGS_UNSPEC = C.ETHTOOL_A_STRINGS_UNSPEC ETHTOOL_A_STRINGS_STRING = C.ETHTOOL_A_STRINGS_STRING ETHTOOL_A_STRINGS_MAX = C.ETHTOOL_A_STRINGS_MAX ETHTOOL_A_STRINGSET_UNSPEC = C.ETHTOOL_A_STRINGSET_UNSPEC ETHTOOL_A_STRINGSET_ID = C.ETHTOOL_A_STRINGSET_ID ETHTOOL_A_STRINGSET_COUNT = C.ETHTOOL_A_STRINGSET_COUNT ETHTOOL_A_STRINGSET_STRINGS = C.ETHTOOL_A_STRINGSET_STRINGS ETHTOOL_A_STRINGSET_MAX = C.ETHTOOL_A_STRINGSET_MAX ETHTOOL_A_STRINGSETS_UNSPEC = C.ETHTOOL_A_STRINGSETS_UNSPEC ETHTOOL_A_STRINGSETS_STRINGSET = C.ETHTOOL_A_STRINGSETS_STRINGSET ETHTOOL_A_STRINGSETS_MAX = C.ETHTOOL_A_STRINGSETS_MAX ETHTOOL_A_STRSET_UNSPEC = C.ETHTOOL_A_STRSET_UNSPEC ETHTOOL_A_STRSET_HEADER = C.ETHTOOL_A_STRSET_HEADER ETHTOOL_A_STRSET_STRINGSETS = C.ETHTOOL_A_STRSET_STRINGSETS ETHTOOL_A_STRSET_COUNTS_ONLY = C.ETHTOOL_A_STRSET_COUNTS_ONLY ETHTOOL_A_STRSET_MAX = C.ETHTOOL_A_STRSET_MAX ETHTOOL_A_LINKINFO_UNSPEC = C.ETHTOOL_A_LINKINFO_UNSPEC ETHTOOL_A_LINKINFO_HEADER = C.ETHTOOL_A_LINKINFO_HEADER ETHTOOL_A_LINKINFO_PORT = C.ETHTOOL_A_LINKINFO_PORT ETHTOOL_A_LINKINFO_PHYADDR = C.ETHTOOL_A_LINKINFO_PHYADDR ETHTOOL_A_LINKINFO_TP_MDIX = C.ETHTOOL_A_LINKINFO_TP_MDIX ETHTOOL_A_LINKINFO_TP_MDIX_CTRL = C.ETHTOOL_A_LINKINFO_TP_MDIX_CTRL ETHTOOL_A_LINKINFO_TRANSCEIVER = C.ETHTOOL_A_LINKINFO_TRANSCEIVER ETHTOOL_A_LINKINFO_MAX = C.ETHTOOL_A_LINKINFO_MAX ETHTOOL_A_LINKMODES_UNSPEC = C.ETHTOOL_A_LINKMODES_UNSPEC ETHTOOL_A_LINKMODES_HEADER = C.ETHTOOL_A_LINKMODES_HEADER ETHTOOL_A_LINKMODES_AUTONEG = C.ETHTOOL_A_LINKMODES_AUTONEG ETHTOOL_A_LINKMODES_OURS = C.ETHTOOL_A_LINKMODES_OURS ETHTOOL_A_LINKMODES_PEER = C.ETHTOOL_A_LINKMODES_PEER ETHTOOL_A_LINKMODES_SPEED = C.ETHTOOL_A_LINKMODES_SPEED ETHTOOL_A_LINKMODES_DUPLEX = C.ETHTOOL_A_LINKMODES_DUPLEX ETHTOOL_A_LINKMODES_MASTER_SLAVE_CFG = C.ETHTOOL_A_LINKMODES_MASTER_SLAVE_CFG ETHTOOL_A_LINKMODES_MASTER_SLAVE_STATE = C.ETHTOOL_A_LINKMODES_MASTER_SLAVE_STATE ETHTOOL_A_LINKMODES_LANES = C.ETHTOOL_A_LINKMODES_LANES ETHTOOL_A_LINKMODES_RATE_MATCHING = C.ETHTOOL_A_LINKMODES_RATE_MATCHING ETHTOOL_A_LINKMODES_MAX = C.ETHTOOL_A_LINKMODES_MAX ETHTOOL_A_LINKSTATE_UNSPEC = C.ETHTOOL_A_LINKSTATE_UNSPEC ETHTOOL_A_LINKSTATE_HEADER = C.ETHTOOL_A_LINKSTATE_HEADER ETHTOOL_A_LINKSTATE_LINK = C.ETHTOOL_A_LINKSTATE_LINK ETHTOOL_A_LINKSTATE_SQI = C.ETHTOOL_A_LINKSTATE_SQI ETHTOOL_A_LINKSTATE_SQI_MAX = C.ETHTOOL_A_LINKSTATE_SQI_MAX ETHTOOL_A_LINKSTATE_EXT_STATE = C.ETHTOOL_A_LINKSTATE_EXT_STATE ETHTOOL_A_LINKSTATE_EXT_SUBSTATE = C.ETHTOOL_A_LINKSTATE_EXT_SUBSTATE ETHTOOL_A_LINKSTATE_EXT_DOWN_CNT = C.ETHTOOL_A_LINKSTATE_EXT_DOWN_CNT ETHTOOL_A_LINKSTATE_MAX = C.ETHTOOL_A_LINKSTATE_MAX ETHTOOL_A_DEBUG_UNSPEC = C.ETHTOOL_A_DEBUG_UNSPEC ETHTOOL_A_DEBUG_HEADER = C.ETHTOOL_A_DEBUG_HEADER ETHTOOL_A_DEBUG_MSGMASK = C.ETHTOOL_A_DEBUG_MSGMASK ETHTOOL_A_DEBUG_MAX = C.ETHTOOL_A_DEBUG_MAX ETHTOOL_A_WOL_UNSPEC = C.ETHTOOL_A_WOL_UNSPEC ETHTOOL_A_WOL_HEADER = C.ETHTOOL_A_WOL_HEADER ETHTOOL_A_WOL_MODES = C.ETHTOOL_A_WOL_MODES ETHTOOL_A_WOL_SOPASS = C.ETHTOOL_A_WOL_SOPASS ETHTOOL_A_WOL_MAX = C.ETHTOOL_A_WOL_MAX ETHTOOL_A_FEATURES_UNSPEC = C.ETHTOOL_A_FEATURES_UNSPEC ETHTOOL_A_FEATURES_HEADER = C.ETHTOOL_A_FEATURES_HEADER ETHTOOL_A_FEATURES_HW = C.ETHTOOL_A_FEATURES_HW ETHTOOL_A_FEATURES_WANTED = C.ETHTOOL_A_FEATURES_WANTED ETHTOOL_A_FEATURES_ACTIVE = C.ETHTOOL_A_FEATURES_ACTIVE ETHTOOL_A_FEATURES_NOCHANGE = C.ETHTOOL_A_FEATURES_NOCHANGE ETHTOOL_A_FEATURES_MAX = C.ETHTOOL_A_FEATURES_MAX ETHTOOL_A_PRIVFLAGS_UNSPEC = C.ETHTOOL_A_PRIVFLAGS_UNSPEC ETHTOOL_A_PRIVFLAGS_HEADER = C.ETHTOOL_A_PRIVFLAGS_HEADER ETHTOOL_A_PRIVFLAGS_FLAGS = C.ETHTOOL_A_PRIVFLAGS_FLAGS ETHTOOL_A_PRIVFLAGS_MAX = C.ETHTOOL_A_PRIVFLAGS_MAX ETHTOOL_A_RINGS_UNSPEC = C.ETHTOOL_A_RINGS_UNSPEC ETHTOOL_A_RINGS_HEADER = C.ETHTOOL_A_RINGS_HEADER ETHTOOL_A_RINGS_RX_MAX = C.ETHTOOL_A_RINGS_RX_MAX ETHTOOL_A_RINGS_RX_MINI_MAX = C.ETHTOOL_A_RINGS_RX_MINI_MAX ETHTOOL_A_RINGS_RX_JUMBO_MAX = C.ETHTOOL_A_RINGS_RX_JUMBO_MAX ETHTOOL_A_RINGS_TX_MAX = C.ETHTOOL_A_RINGS_TX_MAX ETHTOOL_A_RINGS_RX = C.ETHTOOL_A_RINGS_RX ETHTOOL_A_RINGS_RX_MINI = C.ETHTOOL_A_RINGS_RX_MINI ETHTOOL_A_RINGS_RX_JUMBO = C.ETHTOOL_A_RINGS_RX_JUMBO ETHTOOL_A_RINGS_TX = C.ETHTOOL_A_RINGS_TX ETHTOOL_A_RINGS_RX_BUF_LEN = C.ETHTOOL_A_RINGS_RX_BUF_LEN ETHTOOL_A_RINGS_TCP_DATA_SPLIT = C.ETHTOOL_A_RINGS_TCP_DATA_SPLIT ETHTOOL_A_RINGS_CQE_SIZE = C.ETHTOOL_A_RINGS_CQE_SIZE ETHTOOL_A_RINGS_TX_PUSH = C.ETHTOOL_A_RINGS_TX_PUSH ETHTOOL_A_RINGS_MAX = C.ETHTOOL_A_RINGS_MAX ETHTOOL_A_CHANNELS_UNSPEC = C.ETHTOOL_A_CHANNELS_UNSPEC ETHTOOL_A_CHANNELS_HEADER = C.ETHTOOL_A_CHANNELS_HEADER ETHTOOL_A_CHANNELS_RX_MAX = C.ETHTOOL_A_CHANNELS_RX_MAX ETHTOOL_A_CHANNELS_TX_MAX = C.ETHTOOL_A_CHANNELS_TX_MAX ETHTOOL_A_CHANNELS_OTHER_MAX = C.ETHTOOL_A_CHANNELS_OTHER_MAX ETHTOOL_A_CHANNELS_COMBINED_MAX = C.ETHTOOL_A_CHANNELS_COMBINED_MAX ETHTOOL_A_CHANNELS_RX_COUNT = C.ETHTOOL_A_CHANNELS_RX_COUNT ETHTOOL_A_CHANNELS_TX_COUNT = C.ETHTOOL_A_CHANNELS_TX_COUNT ETHTOOL_A_CHANNELS_OTHER_COUNT = C.ETHTOOL_A_CHANNELS_OTHER_COUNT ETHTOOL_A_CHANNELS_COMBINED_COUNT = C.ETHTOOL_A_CHANNELS_COMBINED_COUNT ETHTOOL_A_CHANNELS_MAX = C.ETHTOOL_A_CHANNELS_MAX ETHTOOL_A_COALESCE_UNSPEC = C.ETHTOOL_A_COALESCE_UNSPEC ETHTOOL_A_COALESCE_HEADER = C.ETHTOOL_A_COALESCE_HEADER ETHTOOL_A_COALESCE_RX_USECS = C.ETHTOOL_A_COALESCE_RX_USECS ETHTOOL_A_COALESCE_RX_MAX_FRAMES = C.ETHTOOL_A_COALESCE_RX_MAX_FRAMES ETHTOOL_A_COALESCE_RX_USECS_IRQ = C.ETHTOOL_A_COALESCE_RX_USECS_IRQ ETHTOOL_A_COALESCE_RX_MAX_FRAMES_IRQ = C.ETHTOOL_A_COALESCE_RX_MAX_FRAMES_IRQ ETHTOOL_A_COALESCE_TX_USECS = C.ETHTOOL_A_COALESCE_TX_USECS ETHTOOL_A_COALESCE_TX_MAX_FRAMES = C.ETHTOOL_A_COALESCE_TX_MAX_FRAMES ETHTOOL_A_COALESCE_TX_USECS_IRQ = C.ETHTOOL_A_COALESCE_TX_USECS_IRQ ETHTOOL_A_COALESCE_TX_MAX_FRAMES_IRQ = C.ETHTOOL_A_COALESCE_TX_MAX_FRAMES_IRQ ETHTOOL_A_COALESCE_STATS_BLOCK_USECS = C.ETHTOOL_A_COALESCE_STATS_BLOCK_USECS ETHTOOL_A_COALESCE_USE_ADAPTIVE_RX = C.ETHTOOL_A_COALESCE_USE_ADAPTIVE_RX ETHTOOL_A_COALESCE_USE_ADAPTIVE_TX = C.ETHTOOL_A_COALESCE_USE_ADAPTIVE_TX ETHTOOL_A_COALESCE_PKT_RATE_LOW = C.ETHTOOL_A_COALESCE_PKT_RATE_LOW ETHTOOL_A_COALESCE_RX_USECS_LOW = C.ETHTOOL_A_COALESCE_RX_USECS_LOW ETHTOOL_A_COALESCE_RX_MAX_FRAMES_LOW = C.ETHTOOL_A_COALESCE_RX_MAX_FRAMES_LOW ETHTOOL_A_COALESCE_TX_USECS_LOW = C.ETHTOOL_A_COALESCE_TX_USECS_LOW ETHTOOL_A_COALESCE_TX_MAX_FRAMES_LOW = C.ETHTOOL_A_COALESCE_TX_MAX_FRAMES_LOW ETHTOOL_A_COALESCE_PKT_RATE_HIGH = C.ETHTOOL_A_COALESCE_PKT_RATE_HIGH ETHTOOL_A_COALESCE_RX_USECS_HIGH = C.ETHTOOL_A_COALESCE_RX_USECS_HIGH ETHTOOL_A_COALESCE_RX_MAX_FRAMES_HIGH = C.ETHTOOL_A_COALESCE_RX_MAX_FRAMES_HIGH ETHTOOL_A_COALESCE_TX_USECS_HIGH = C.ETHTOOL_A_COALESCE_TX_USECS_HIGH ETHTOOL_A_COALESCE_TX_MAX_FRAMES_HIGH = C.ETHTOOL_A_COALESCE_TX_MAX_FRAMES_HIGH ETHTOOL_A_COALESCE_RATE_SAMPLE_INTERVAL = C.ETHTOOL_A_COALESCE_RATE_SAMPLE_INTERVAL ETHTOOL_A_COALESCE_USE_CQE_MODE_TX = C.ETHTOOL_A_COALESCE_USE_CQE_MODE_TX ETHTOOL_A_COALESCE_USE_CQE_MODE_RX = C.ETHTOOL_A_COALESCE_USE_CQE_MODE_RX ETHTOOL_A_COALESCE_MAX = C.ETHTOOL_A_COALESCE_MAX ETHTOOL_A_PAUSE_UNSPEC = C.ETHTOOL_A_PAUSE_UNSPEC ETHTOOL_A_PAUSE_HEADER = C.ETHTOOL_A_PAUSE_HEADER ETHTOOL_A_PAUSE_AUTONEG = C.ETHTOOL_A_PAUSE_AUTONEG ETHTOOL_A_PAUSE_RX = C.ETHTOOL_A_PAUSE_RX ETHTOOL_A_PAUSE_TX = C.ETHTOOL_A_PAUSE_TX ETHTOOL_A_PAUSE_STATS = C.ETHTOOL_A_PAUSE_STATS ETHTOOL_A_PAUSE_MAX = C.ETHTOOL_A_PAUSE_MAX ETHTOOL_A_PAUSE_STAT_UNSPEC = C.ETHTOOL_A_PAUSE_STAT_UNSPEC ETHTOOL_A_PAUSE_STAT_PAD = C.ETHTOOL_A_PAUSE_STAT_PAD ETHTOOL_A_PAUSE_STAT_TX_FRAMES = C.ETHTOOL_A_PAUSE_STAT_TX_FRAMES ETHTOOL_A_PAUSE_STAT_RX_FRAMES = C.ETHTOOL_A_PAUSE_STAT_RX_FRAMES ETHTOOL_A_PAUSE_STAT_MAX = C.ETHTOOL_A_PAUSE_STAT_MAX ETHTOOL_A_EEE_UNSPEC = C.ETHTOOL_A_EEE_UNSPEC ETHTOOL_A_EEE_HEADER = C.ETHTOOL_A_EEE_HEADER ETHTOOL_A_EEE_MODES_OURS = C.ETHTOOL_A_EEE_MODES_OURS ETHTOOL_A_EEE_MODES_PEER = C.ETHTOOL_A_EEE_MODES_PEER ETHTOOL_A_EEE_ACTIVE = C.ETHTOOL_A_EEE_ACTIVE ETHTOOL_A_EEE_ENABLED = C.ETHTOOL_A_EEE_ENABLED ETHTOOL_A_EEE_TX_LPI_ENABLED = C.ETHTOOL_A_EEE_TX_LPI_ENABLED ETHTOOL_A_EEE_TX_LPI_TIMER = C.ETHTOOL_A_EEE_TX_LPI_TIMER ETHTOOL_A_EEE_MAX = C.ETHTOOL_A_EEE_MAX ETHTOOL_A_TSINFO_UNSPEC = C.ETHTOOL_A_TSINFO_UNSPEC ETHTOOL_A_TSINFO_HEADER = C.ETHTOOL_A_TSINFO_HEADER ETHTOOL_A_TSINFO_TIMESTAMPING = C.ETHTOOL_A_TSINFO_TIMESTAMPING ETHTOOL_A_TSINFO_TX_TYPES = C.ETHTOOL_A_TSINFO_TX_TYPES ETHTOOL_A_TSINFO_RX_FILTERS = C.ETHTOOL_A_TSINFO_RX_FILTERS ETHTOOL_A_TSINFO_PHC_INDEX = C.ETHTOOL_A_TSINFO_PHC_INDEX ETHTOOL_A_TSINFO_MAX = C.ETHTOOL_A_TSINFO_MAX ETHTOOL_A_CABLE_TEST_UNSPEC = C.ETHTOOL_A_CABLE_TEST_UNSPEC ETHTOOL_A_CABLE_TEST_HEADER = C.ETHTOOL_A_CABLE_TEST_HEADER ETHTOOL_A_CABLE_TEST_MAX = C.ETHTOOL_A_CABLE_TEST_MAX ETHTOOL_A_CABLE_RESULT_CODE_UNSPEC = C.ETHTOOL_A_CABLE_RESULT_CODE_UNSPEC ETHTOOL_A_CABLE_RESULT_CODE_OK = C.ETHTOOL_A_CABLE_RESULT_CODE_OK ETHTOOL_A_CABLE_RESULT_CODE_OPEN = C.ETHTOOL_A_CABLE_RESULT_CODE_OPEN ETHTOOL_A_CABLE_RESULT_CODE_SAME_SHORT = C.ETHTOOL_A_CABLE_RESULT_CODE_SAME_SHORT ETHTOOL_A_CABLE_RESULT_CODE_CROSS_SHORT = C.ETHTOOL_A_CABLE_RESULT_CODE_CROSS_SHORT ETHTOOL_A_CABLE_PAIR_A = C.ETHTOOL_A_CABLE_PAIR_A ETHTOOL_A_CABLE_PAIR_B = C.ETHTOOL_A_CABLE_PAIR_B ETHTOOL_A_CABLE_PAIR_C = C.ETHTOOL_A_CABLE_PAIR_C ETHTOOL_A_CABLE_PAIR_D = C.ETHTOOL_A_CABLE_PAIR_D ETHTOOL_A_CABLE_RESULT_UNSPEC = C.ETHTOOL_A_CABLE_RESULT_UNSPEC ETHTOOL_A_CABLE_RESULT_PAIR = C.ETHTOOL_A_CABLE_RESULT_PAIR ETHTOOL_A_CABLE_RESULT_CODE = C.ETHTOOL_A_CABLE_RESULT_CODE ETHTOOL_A_CABLE_RESULT_MAX = C.ETHTOOL_A_CABLE_RESULT_MAX ETHTOOL_A_CABLE_FAULT_LENGTH_UNSPEC = C.ETHTOOL_A_CABLE_FAULT_LENGTH_UNSPEC ETHTOOL_A_CABLE_FAULT_LENGTH_PAIR = C.ETHTOOL_A_CABLE_FAULT_LENGTH_PAIR ETHTOOL_A_CABLE_FAULT_LENGTH_CM = C.ETHTOOL_A_CABLE_FAULT_LENGTH_CM ETHTOOL_A_CABLE_FAULT_LENGTH_MAX = C.ETHTOOL_A_CABLE_FAULT_LENGTH_MAX ETHTOOL_A_CABLE_TEST_NTF_STATUS_UNSPEC = C.ETHTOOL_A_CABLE_TEST_NTF_STATUS_UNSPEC ETHTOOL_A_CABLE_TEST_NTF_STATUS_STARTED = C.ETHTOOL_A_CABLE_TEST_NTF_STATUS_STARTED ETHTOOL_A_CABLE_TEST_NTF_STATUS_COMPLETED = C.ETHTOOL_A_CABLE_TEST_NTF_STATUS_COMPLETED ETHTOOL_A_CABLE_NEST_UNSPEC = C.ETHTOOL_A_CABLE_NEST_UNSPEC ETHTOOL_A_CABLE_NEST_RESULT = C.ETHTOOL_A_CABLE_NEST_RESULT ETHTOOL_A_CABLE_NEST_FAULT_LENGTH = C.ETHTOOL_A_CABLE_NEST_FAULT_LENGTH ETHTOOL_A_CABLE_NEST_MAX = C.ETHTOOL_A_CABLE_NEST_MAX ETHTOOL_A_CABLE_TEST_NTF_UNSPEC = C.ETHTOOL_A_CABLE_TEST_NTF_UNSPEC ETHTOOL_A_CABLE_TEST_NTF_HEADER = C.ETHTOOL_A_CABLE_TEST_NTF_HEADER ETHTOOL_A_CABLE_TEST_NTF_STATUS = C.ETHTOOL_A_CABLE_TEST_NTF_STATUS ETHTOOL_A_CABLE_TEST_NTF_NEST = C.ETHTOOL_A_CABLE_TEST_NTF_NEST ETHTOOL_A_CABLE_TEST_NTF_MAX = C.ETHTOOL_A_CABLE_TEST_NTF_MAX ETHTOOL_A_CABLE_TEST_TDR_CFG_UNSPEC = C.ETHTOOL_A_CABLE_TEST_TDR_CFG_UNSPEC ETHTOOL_A_CABLE_TEST_TDR_CFG_FIRST = C.ETHTOOL_A_CABLE_TEST_TDR_CFG_FIRST ETHTOOL_A_CABLE_TEST_TDR_CFG_LAST = C.ETHTOOL_A_CABLE_TEST_TDR_CFG_LAST ETHTOOL_A_CABLE_TEST_TDR_CFG_STEP = C.ETHTOOL_A_CABLE_TEST_TDR_CFG_STEP ETHTOOL_A_CABLE_TEST_TDR_CFG_PAIR = C.ETHTOOL_A_CABLE_TEST_TDR_CFG_PAIR ETHTOOL_A_CABLE_TEST_TDR_CFG_MAX = C.ETHTOOL_A_CABLE_TEST_TDR_CFG_MAX ETHTOOL_A_CABLE_TEST_TDR_UNSPEC = C.ETHTOOL_A_CABLE_TEST_TDR_UNSPEC ETHTOOL_A_CABLE_TEST_TDR_HEADER = C.ETHTOOL_A_CABLE_TEST_TDR_HEADER ETHTOOL_A_CABLE_TEST_TDR_CFG = C.ETHTOOL_A_CABLE_TEST_TDR_CFG ETHTOOL_A_CABLE_TEST_TDR_MAX = C.ETHTOOL_A_CABLE_TEST_TDR_MAX ETHTOOL_A_CABLE_AMPLITUDE_UNSPEC = C.ETHTOOL_A_CABLE_AMPLITUDE_UNSPEC ETHTOOL_A_CABLE_AMPLITUDE_PAIR = C.ETHTOOL_A_CABLE_AMPLITUDE_PAIR ETHTOOL_A_CABLE_AMPLITUDE_mV = C.ETHTOOL_A_CABLE_AMPLITUDE_mV ETHTOOL_A_CABLE_AMPLITUDE_MAX = C.ETHTOOL_A_CABLE_AMPLITUDE_MAX ETHTOOL_A_CABLE_PULSE_UNSPEC = C.ETHTOOL_A_CABLE_PULSE_UNSPEC ETHTOOL_A_CABLE_PULSE_mV = C.ETHTOOL_A_CABLE_PULSE_mV ETHTOOL_A_CABLE_PULSE_MAX = C.ETHTOOL_A_CABLE_PULSE_MAX ETHTOOL_A_CABLE_STEP_UNSPEC = C.ETHTOOL_A_CABLE_STEP_UNSPEC ETHTOOL_A_CABLE_STEP_FIRST_DISTANCE = C.ETHTOOL_A_CABLE_STEP_FIRST_DISTANCE ETHTOOL_A_CABLE_STEP_LAST_DISTANCE = C.ETHTOOL_A_CABLE_STEP_LAST_DISTANCE ETHTOOL_A_CABLE_STEP_STEP_DISTANCE = C.ETHTOOL_A_CABLE_STEP_STEP_DISTANCE ETHTOOL_A_CABLE_STEP_MAX = C.ETHTOOL_A_CABLE_STEP_MAX ETHTOOL_A_CABLE_TDR_NEST_UNSPEC = C.ETHTOOL_A_CABLE_TDR_NEST_UNSPEC ETHTOOL_A_CABLE_TDR_NEST_STEP = C.ETHTOOL_A_CABLE_TDR_NEST_STEP ETHTOOL_A_CABLE_TDR_NEST_AMPLITUDE = C.ETHTOOL_A_CABLE_TDR_NEST_AMPLITUDE ETHTOOL_A_CABLE_TDR_NEST_PULSE = C.ETHTOOL_A_CABLE_TDR_NEST_PULSE ETHTOOL_A_CABLE_TDR_NEST_MAX = C.ETHTOOL_A_CABLE_TDR_NEST_MAX ETHTOOL_A_CABLE_TEST_TDR_NTF_UNSPEC = C.ETHTOOL_A_CABLE_TEST_TDR_NTF_UNSPEC ETHTOOL_A_CABLE_TEST_TDR_NTF_HEADER = C.ETHTOOL_A_CABLE_TEST_TDR_NTF_HEADER ETHTOOL_A_CABLE_TEST_TDR_NTF_STATUS = C.ETHTOOL_A_CABLE_TEST_TDR_NTF_STATUS ETHTOOL_A_CABLE_TEST_TDR_NTF_NEST = C.ETHTOOL_A_CABLE_TEST_TDR_NTF_NEST ETHTOOL_A_CABLE_TEST_TDR_NTF_MAX = C.ETHTOOL_A_CABLE_TEST_TDR_NTF_MAX ETHTOOL_UDP_TUNNEL_TYPE_VXLAN = C.ETHTOOL_UDP_TUNNEL_TYPE_VXLAN ETHTOOL_UDP_TUNNEL_TYPE_GENEVE = C.ETHTOOL_UDP_TUNNEL_TYPE_GENEVE ETHTOOL_UDP_TUNNEL_TYPE_VXLAN_GPE = C.ETHTOOL_UDP_TUNNEL_TYPE_VXLAN_GPE ETHTOOL_A_TUNNEL_UDP_ENTRY_UNSPEC = C.ETHTOOL_A_TUNNEL_UDP_ENTRY_UNSPEC ETHTOOL_A_TUNNEL_UDP_ENTRY_PORT = C.ETHTOOL_A_TUNNEL_UDP_ENTRY_PORT ETHTOOL_A_TUNNEL_UDP_ENTRY_TYPE = C.ETHTOOL_A_TUNNEL_UDP_ENTRY_TYPE ETHTOOL_A_TUNNEL_UDP_ENTRY_MAX = C.ETHTOOL_A_TUNNEL_UDP_ENTRY_MAX ETHTOOL_A_TUNNEL_UDP_TABLE_UNSPEC = C.ETHTOOL_A_TUNNEL_UDP_TABLE_UNSPEC ETHTOOL_A_TUNNEL_UDP_TABLE_SIZE = C.ETHTOOL_A_TUNNEL_UDP_TABLE_SIZE ETHTOOL_A_TUNNEL_UDP_TABLE_TYPES = C.ETHTOOL_A_TUNNEL_UDP_TABLE_TYPES ETHTOOL_A_TUNNEL_UDP_TABLE_ENTRY = C.ETHTOOL_A_TUNNEL_UDP_TABLE_ENTRY ETHTOOL_A_TUNNEL_UDP_TABLE_MAX = C.ETHTOOL_A_TUNNEL_UDP_TABLE_MAX ETHTOOL_A_TUNNEL_UDP_UNSPEC = C.ETHTOOL_A_TUNNEL_UDP_UNSPEC ETHTOOL_A_TUNNEL_UDP_TABLE = C.ETHTOOL_A_TUNNEL_UDP_TABLE ETHTOOL_A_TUNNEL_UDP_MAX = C.ETHTOOL_A_TUNNEL_UDP_MAX ETHTOOL_A_TUNNEL_INFO_UNSPEC = C.ETHTOOL_A_TUNNEL_INFO_UNSPEC ETHTOOL_A_TUNNEL_INFO_HEADER = C.ETHTOOL_A_TUNNEL_INFO_HEADER ETHTOOL_A_TUNNEL_INFO_UDP_PORTS = C.ETHTOOL_A_TUNNEL_INFO_UDP_PORTS ETHTOOL_A_TUNNEL_INFO_MAX = C.ETHTOOL_A_TUNNEL_INFO_MAX ) const SPEED_UNKNOWN = C.SPEED_UNKNOWN type EthtoolDrvinfo C.struct_ethtool_drvinfo type ( HIDRawReportDescriptor C.struct_hidraw_report_descriptor HIDRawDevInfo C.struct_hidraw_devinfo ) // close_range const ( CLOSE_RANGE_UNSHARE = C.CLOSE_RANGE_UNSHARE CLOSE_RANGE_CLOEXEC = C.CLOSE_RANGE_CLOEXEC ) // Netlink extended acknowledgement TLVs. const ( NLMSGERR_ATTR_MSG = C.NLMSGERR_ATTR_MSG NLMSGERR_ATTR_OFFS = C.NLMSGERR_ATTR_OFFS NLMSGERR_ATTR_COOKIE = C.NLMSGERR_ATTR_COOKIE ) // MTD type ( EraseInfo C.struct_erase_info_user EraseInfo64 C.struct_erase_info_user64 MtdOobBuf C.struct_mtd_oob_buf MtdOobBuf64 C.struct_mtd_oob_buf64 MtdWriteReq C.struct_mtd_write_req MtdInfo C.struct_mtd_info_user RegionInfo C.struct_region_info_user OtpInfo C.struct_otp_info NandOobinfo C.struct_nand_oobinfo NandOobfree C.struct_nand_oobfree NandEcclayout C.struct_nand_ecclayout_user MtdEccStats C.struct_mtd_ecc_stats ) const ( MTD_OPS_PLACE_OOB = C.MTD_OPS_PLACE_OOB MTD_OPS_AUTO_OOB = C.MTD_OPS_AUTO_OOB MTD_OPS_RAW = C.MTD_OPS_RAW ) const ( MTD_FILE_MODE_NORMAL = C.MTD_FILE_MODE_NORMAL MTD_FILE_MODE_OTP_FACTORY = C.MTD_FILE_MODE_OTP_FACTORY MTD_FILE_MODE_OTP_USER = C.MTD_FILE_MODE_OTP_USER MTD_FILE_MODE_RAW = C.MTD_FILE_MODE_RAW ) // NFC Subsystem enums. const ( NFC_CMD_UNSPEC = C.NFC_CMD_UNSPEC NFC_CMD_GET_DEVICE = C.NFC_CMD_GET_DEVICE NFC_CMD_DEV_UP = C.NFC_CMD_DEV_UP NFC_CMD_DEV_DOWN = C.NFC_CMD_DEV_DOWN NFC_CMD_DEP_LINK_UP = C.NFC_CMD_DEP_LINK_UP NFC_CMD_DEP_LINK_DOWN = C.NFC_CMD_DEP_LINK_DOWN NFC_CMD_START_POLL = C.NFC_CMD_START_POLL NFC_CMD_STOP_POLL = C.NFC_CMD_STOP_POLL NFC_CMD_GET_TARGET = C.NFC_CMD_GET_TARGET NFC_EVENT_TARGETS_FOUND = C.NFC_EVENT_TARGETS_FOUND NFC_EVENT_DEVICE_ADDED = C.NFC_EVENT_DEVICE_ADDED NFC_EVENT_DEVICE_REMOVED = C.NFC_EVENT_DEVICE_REMOVED NFC_EVENT_TARGET_LOST = C.NFC_EVENT_TARGET_LOST NFC_EVENT_TM_ACTIVATED = C.NFC_EVENT_TM_ACTIVATED NFC_EVENT_TM_DEACTIVATED = C.NFC_EVENT_TM_DEACTIVATED NFC_CMD_LLC_GET_PARAMS = C.NFC_CMD_LLC_GET_PARAMS NFC_CMD_LLC_SET_PARAMS = C.NFC_CMD_LLC_SET_PARAMS NFC_CMD_ENABLE_SE = C.NFC_CMD_ENABLE_SE NFC_CMD_DISABLE_SE = C.NFC_CMD_DISABLE_SE NFC_CMD_LLC_SDREQ = C.NFC_CMD_LLC_SDREQ NFC_EVENT_LLC_SDRES = C.NFC_EVENT_LLC_SDRES NFC_CMD_FW_DOWNLOAD = C.NFC_CMD_FW_DOWNLOAD NFC_EVENT_SE_ADDED = C.NFC_EVENT_SE_ADDED NFC_EVENT_SE_REMOVED = C.NFC_EVENT_SE_REMOVED NFC_EVENT_SE_CONNECTIVITY = C.NFC_EVENT_SE_CONNECTIVITY NFC_EVENT_SE_TRANSACTION = C.NFC_EVENT_SE_TRANSACTION NFC_CMD_GET_SE = C.NFC_CMD_GET_SE NFC_CMD_SE_IO = C.NFC_CMD_SE_IO NFC_CMD_ACTIVATE_TARGET = C.NFC_CMD_ACTIVATE_TARGET NFC_CMD_VENDOR = C.NFC_CMD_VENDOR NFC_CMD_DEACTIVATE_TARGET = C.NFC_CMD_DEACTIVATE_TARGET NFC_ATTR_UNSPEC = C.NFC_ATTR_UNSPEC NFC_ATTR_DEVICE_INDEX = C.NFC_ATTR_DEVICE_INDEX NFC_ATTR_DEVICE_NAME = C.NFC_ATTR_DEVICE_NAME NFC_ATTR_PROTOCOLS = C.NFC_ATTR_PROTOCOLS NFC_ATTR_TARGET_INDEX = C.NFC_ATTR_TARGET_INDEX NFC_ATTR_TARGET_SENS_RES = C.NFC_ATTR_TARGET_SENS_RES NFC_ATTR_TARGET_SEL_RES = C.NFC_ATTR_TARGET_SEL_RES NFC_ATTR_TARGET_NFCID1 = C.NFC_ATTR_TARGET_NFCID1 NFC_ATTR_TARGET_SENSB_RES = C.NFC_ATTR_TARGET_SENSB_RES NFC_ATTR_TARGET_SENSF_RES = C.NFC_ATTR_TARGET_SENSF_RES NFC_ATTR_COMM_MODE = C.NFC_ATTR_COMM_MODE NFC_ATTR_RF_MODE = C.NFC_ATTR_RF_MODE NFC_ATTR_DEVICE_POWERED = C.NFC_ATTR_DEVICE_POWERED NFC_ATTR_IM_PROTOCOLS = C.NFC_ATTR_IM_PROTOCOLS NFC_ATTR_TM_PROTOCOLS = C.NFC_ATTR_TM_PROTOCOLS NFC_ATTR_LLC_PARAM_LTO = C.NFC_ATTR_LLC_PARAM_LTO NFC_ATTR_LLC_PARAM_RW = C.NFC_ATTR_LLC_PARAM_RW NFC_ATTR_LLC_PARAM_MIUX = C.NFC_ATTR_LLC_PARAM_MIUX NFC_ATTR_SE = C.NFC_ATTR_SE NFC_ATTR_LLC_SDP = C.NFC_ATTR_LLC_SDP NFC_ATTR_FIRMWARE_NAME = C.NFC_ATTR_FIRMWARE_NAME NFC_ATTR_SE_INDEX = C.NFC_ATTR_SE_INDEX NFC_ATTR_SE_TYPE = C.NFC_ATTR_SE_TYPE NFC_ATTR_SE_AID = C.NFC_ATTR_SE_AID NFC_ATTR_FIRMWARE_DOWNLOAD_STATUS = C.NFC_ATTR_FIRMWARE_DOWNLOAD_STATUS NFC_ATTR_SE_APDU = C.NFC_ATTR_SE_APDU NFC_ATTR_TARGET_ISO15693_DSFID = C.NFC_ATTR_TARGET_ISO15693_DSFID NFC_ATTR_TARGET_ISO15693_UID = C.NFC_ATTR_TARGET_ISO15693_UID NFC_ATTR_SE_PARAMS = C.NFC_ATTR_SE_PARAMS NFC_ATTR_VENDOR_ID = C.NFC_ATTR_VENDOR_ID NFC_ATTR_VENDOR_SUBCMD = C.NFC_ATTR_VENDOR_SUBCMD NFC_ATTR_VENDOR_DATA = C.NFC_ATTR_VENDOR_DATA NFC_SDP_ATTR_UNSPEC = C.NFC_SDP_ATTR_UNSPEC NFC_SDP_ATTR_URI = C.NFC_SDP_ATTR_URI NFC_SDP_ATTR_SAP = C.NFC_SDP_ATTR_SAP ) // Landlock type LandlockRulesetAttr C.struct_landlock_ruleset_attr type LandlockPathBeneathAttr C.struct_landlock_path_beneath_attr const ( LANDLOCK_RULE_PATH_BENEATH = C.LANDLOCK_RULE_PATH_BENEATH ) // pidfd flags. const ( PIDFD_NONBLOCK = C.O_NONBLOCK ) // shm type SysvIpcPerm C.struct_ipc64_perm type SysvShmDesc C.struct_shmid64_ds const ( IPC_CREAT = C.IPC_CREAT IPC_EXCL = C.IPC_EXCL IPC_NOWAIT = C.IPC_NOWAIT IPC_PRIVATE = C.IPC_PRIVATE ipc_64 = C.IPC_64 ) const ( IPC_RMID = C.IPC_RMID IPC_SET = C.IPC_SET IPC_STAT = C.IPC_STAT ) const ( SHM_RDONLY = C.SHM_RDONLY SHM_RND = C.SHM_RND ) // mount_setattr type MountAttr C.struct_mount_attr // WireGuard generic netlink interface // Generated by: // perl -nlE '/^\s*(WG\w+)/ && say "$1 = C.$1"' /usr/include/linux/wireguard.h const ( WG_CMD_GET_DEVICE = C.WG_CMD_GET_DEVICE WG_CMD_SET_DEVICE = C.WG_CMD_SET_DEVICE WGDEVICE_F_REPLACE_PEERS = C.WGDEVICE_F_REPLACE_PEERS WGDEVICE_A_UNSPEC = C.WGDEVICE_A_UNSPEC WGDEVICE_A_IFINDEX = C.WGDEVICE_A_IFINDEX WGDEVICE_A_IFNAME = C.WGDEVICE_A_IFNAME WGDEVICE_A_PRIVATE_KEY = C.WGDEVICE_A_PRIVATE_KEY WGDEVICE_A_PUBLIC_KEY = C.WGDEVICE_A_PUBLIC_KEY WGDEVICE_A_FLAGS = C.WGDEVICE_A_FLAGS WGDEVICE_A_LISTEN_PORT = C.WGDEVICE_A_LISTEN_PORT WGDEVICE_A_FWMARK = C.WGDEVICE_A_FWMARK WGDEVICE_A_PEERS = C.WGDEVICE_A_PEERS WGPEER_F_REMOVE_ME = C.WGPEER_F_REMOVE_ME WGPEER_F_REPLACE_ALLOWEDIPS = C.WGPEER_F_REPLACE_ALLOWEDIPS WGPEER_F_UPDATE_ONLY = C.WGPEER_F_UPDATE_ONLY WGPEER_A_UNSPEC = C.WGPEER_A_UNSPEC WGPEER_A_PUBLIC_KEY = C.WGPEER_A_PUBLIC_KEY WGPEER_A_PRESHARED_KEY = C.WGPEER_A_PRESHARED_KEY WGPEER_A_FLAGS = C.WGPEER_A_FLAGS WGPEER_A_ENDPOINT = C.WGPEER_A_ENDPOINT WGPEER_A_PERSISTENT_KEEPALIVE_INTERVAL = C.WGPEER_A_PERSISTENT_KEEPALIVE_INTERVAL WGPEER_A_LAST_HANDSHAKE_TIME = C.WGPEER_A_LAST_HANDSHAKE_TIME WGPEER_A_RX_BYTES = C.WGPEER_A_RX_BYTES WGPEER_A_TX_BYTES = C.WGPEER_A_TX_BYTES WGPEER_A_ALLOWEDIPS = C.WGPEER_A_ALLOWEDIPS WGPEER_A_PROTOCOL_VERSION = C.WGPEER_A_PROTOCOL_VERSION WGALLOWEDIP_A_UNSPEC = C.WGALLOWEDIP_A_UNSPEC WGALLOWEDIP_A_FAMILY = C.WGALLOWEDIP_A_FAMILY WGALLOWEDIP_A_IPADDR = C.WGALLOWEDIP_A_IPADDR WGALLOWEDIP_A_CIDR_MASK = C.WGALLOWEDIP_A_CIDR_MASK ) // netlink attribute types and policies // Generated by: // perl -nlE '/^\s*(NL_ATTR\w+)/ && say "$1 = C.$1"' /usr/include/linux/netlink.h // perl -nlE '/^\s*(NL_POLICY\w+)/ && say "$1 = C.$1"' /usr/include/linux/netlink.h const ( NL_ATTR_TYPE_INVALID = C.NL_ATTR_TYPE_INVALID NL_ATTR_TYPE_FLAG = C.NL_ATTR_TYPE_FLAG NL_ATTR_TYPE_U8 = C.NL_ATTR_TYPE_U8 NL_ATTR_TYPE_U16 = C.NL_ATTR_TYPE_U16 NL_ATTR_TYPE_U32 = C.NL_ATTR_TYPE_U32 NL_ATTR_TYPE_U64 = C.NL_ATTR_TYPE_U64 NL_ATTR_TYPE_S8 = C.NL_ATTR_TYPE_S8 NL_ATTR_TYPE_S16 = C.NL_ATTR_TYPE_S16 NL_ATTR_TYPE_S32 = C.NL_ATTR_TYPE_S32 NL_ATTR_TYPE_S64 = C.NL_ATTR_TYPE_S64 NL_ATTR_TYPE_BINARY = C.NL_ATTR_TYPE_BINARY NL_ATTR_TYPE_STRING = C.NL_ATTR_TYPE_STRING NL_ATTR_TYPE_NUL_STRING = C.NL_ATTR_TYPE_NUL_STRING NL_ATTR_TYPE_NESTED = C.NL_ATTR_TYPE_NESTED NL_ATTR_TYPE_NESTED_ARRAY = C.NL_ATTR_TYPE_NESTED_ARRAY NL_ATTR_TYPE_BITFIELD32 = C.NL_ATTR_TYPE_BITFIELD32 NL_POLICY_TYPE_ATTR_UNSPEC = C.NL_POLICY_TYPE_ATTR_UNSPEC NL_POLICY_TYPE_ATTR_TYPE = C.NL_POLICY_TYPE_ATTR_TYPE NL_POLICY_TYPE_ATTR_MIN_VALUE_S = C.NL_POLICY_TYPE_ATTR_MIN_VALUE_S NL_POLICY_TYPE_ATTR_MAX_VALUE_S = C.NL_POLICY_TYPE_ATTR_MAX_VALUE_S NL_POLICY_TYPE_ATTR_MIN_VALUE_U = C.NL_POLICY_TYPE_ATTR_MIN_VALUE_U NL_POLICY_TYPE_ATTR_MAX_VALUE_U = C.NL_POLICY_TYPE_ATTR_MAX_VALUE_U NL_POLICY_TYPE_ATTR_MIN_LENGTH = C.NL_POLICY_TYPE_ATTR_MIN_LENGTH NL_POLICY_TYPE_ATTR_MAX_LENGTH = C.NL_POLICY_TYPE_ATTR_MAX_LENGTH NL_POLICY_TYPE_ATTR_POLICY_IDX = C.NL_POLICY_TYPE_ATTR_POLICY_IDX NL_POLICY_TYPE_ATTR_POLICY_MAXTYPE = C.NL_POLICY_TYPE_ATTR_POLICY_MAXTYPE NL_POLICY_TYPE_ATTR_BITFIELD32_MASK = C.NL_POLICY_TYPE_ATTR_BITFIELD32_MASK NL_POLICY_TYPE_ATTR_PAD = C.NL_POLICY_TYPE_ATTR_PAD NL_POLICY_TYPE_ATTR_MASK = C.NL_POLICY_TYPE_ATTR_MASK NL_POLICY_TYPE_ATTR_MAX = C.NL_POLICY_TYPE_ATTR_MAX ) // CAN netlink types type CANBitTiming C.struct_can_bittiming type CANBitTimingConst C.struct_my_can_bittiming_const type CANClock C.struct_can_clock type CANBusErrorCounters C.struct_can_berr_counter type CANCtrlMode C.struct_can_ctrlmode type CANDeviceStats C.struct_can_device_stats // Generated by: // perl -nlE '/^\s*(CAN_STATE\w+)/ && say "$1 = C.$1"' /usr/include/linux/can/netlink.h const ( CAN_STATE_ERROR_ACTIVE = C.CAN_STATE_ERROR_ACTIVE CAN_STATE_ERROR_WARNING = C.CAN_STATE_ERROR_WARNING CAN_STATE_ERROR_PASSIVE = C.CAN_STATE_ERROR_PASSIVE CAN_STATE_BUS_OFF = C.CAN_STATE_BUS_OFF CAN_STATE_STOPPED = C.CAN_STATE_STOPPED CAN_STATE_SLEEPING = C.CAN_STATE_SLEEPING CAN_STATE_MAX = C.CAN_STATE_MAX ) // Generated by: // perl -nlE '/^\s*(IFLA_CAN\w+)/ && say "$1 = C.$1"' /usr/include/linux/can/netlink.h const ( IFLA_CAN_UNSPEC = C.IFLA_CAN_UNSPEC IFLA_CAN_BITTIMING = C.IFLA_CAN_BITTIMING IFLA_CAN_BITTIMING_CONST = C.IFLA_CAN_BITTIMING_CONST IFLA_CAN_CLOCK = C.IFLA_CAN_CLOCK IFLA_CAN_STATE = C.IFLA_CAN_STATE IFLA_CAN_CTRLMODE = C.IFLA_CAN_CTRLMODE IFLA_CAN_RESTART_MS = C.IFLA_CAN_RESTART_MS IFLA_CAN_RESTART = C.IFLA_CAN_RESTART IFLA_CAN_BERR_COUNTER = C.IFLA_CAN_BERR_COUNTER IFLA_CAN_DATA_BITTIMING = C.IFLA_CAN_DATA_BITTIMING IFLA_CAN_DATA_BITTIMING_CONST = C.IFLA_CAN_DATA_BITTIMING_CONST IFLA_CAN_TERMINATION = C.IFLA_CAN_TERMINATION IFLA_CAN_TERMINATION_CONST = C.IFLA_CAN_TERMINATION_CONST IFLA_CAN_BITRATE_CONST = C.IFLA_CAN_BITRATE_CONST IFLA_CAN_DATA_BITRATE_CONST = C.IFLA_CAN_DATA_BITRATE_CONST IFLA_CAN_BITRATE_MAX = C.IFLA_CAN_BITRATE_MAX ) // Kernel connection multiplexor type KCMAttach C.struct_kcm_attach type KCMUnattach C.struct_kcm_unattach type KCMClone C.struct_kcm_clone // nl80211 generic netlink // Generated by the following steps: // // perl -nlE '/^#define (NL80211_\w+)/ && say "$1 = C.$1"' /usr/include/linux/nl80211.h > define.txt // perl -nlE '/^\s*(NL80211_\w+)/ && say "$1 = C.$1"' /usr/include/linux/nl80211.h > enum.txt // cat define.txt enum.txt | sort --unique // // nl80211 has some duplicated values between enums and C preprocessor macros, // so this list must be sorted and made unique. const ( NL80211_AC_BE = C.NL80211_AC_BE NL80211_AC_BK = C.NL80211_AC_BK NL80211_ACL_POLICY_ACCEPT_UNLESS_LISTED = C.NL80211_ACL_POLICY_ACCEPT_UNLESS_LISTED NL80211_ACL_POLICY_DENY_UNLESS_LISTED = C.NL80211_ACL_POLICY_DENY_UNLESS_LISTED NL80211_AC_VI = C.NL80211_AC_VI NL80211_AC_VO = C.NL80211_AC_VO NL80211_AP_SETTINGS_EXTERNAL_AUTH_SUPPORT = C.NL80211_AP_SETTINGS_EXTERNAL_AUTH_SUPPORT NL80211_AP_SETTINGS_SA_QUERY_OFFLOAD_SUPPORT = C.NL80211_AP_SETTINGS_SA_QUERY_OFFLOAD_SUPPORT NL80211_AP_SME_SA_QUERY_OFFLOAD = C.NL80211_AP_SME_SA_QUERY_OFFLOAD NL80211_ATTR_4ADDR = C.NL80211_ATTR_4ADDR NL80211_ATTR_ACK = C.NL80211_ATTR_ACK NL80211_ATTR_ACK_SIGNAL = C.NL80211_ATTR_ACK_SIGNAL NL80211_ATTR_ACL_POLICY = C.NL80211_ATTR_ACL_POLICY NL80211_ATTR_ADMITTED_TIME = C.NL80211_ATTR_ADMITTED_TIME NL80211_ATTR_AIRTIME_WEIGHT = C.NL80211_ATTR_AIRTIME_WEIGHT NL80211_ATTR_AKM_SUITES = C.NL80211_ATTR_AKM_SUITES NL80211_ATTR_AP_ISOLATE = C.NL80211_ATTR_AP_ISOLATE NL80211_ATTR_AP_SETTINGS_FLAGS = C.NL80211_ATTR_AP_SETTINGS_FLAGS NL80211_ATTR_AUTH_DATA = C.NL80211_ATTR_AUTH_DATA NL80211_ATTR_AUTH_TYPE = C.NL80211_ATTR_AUTH_TYPE NL80211_ATTR_BANDS = C.NL80211_ATTR_BANDS NL80211_ATTR_BEACON_HEAD = C.NL80211_ATTR_BEACON_HEAD NL80211_ATTR_BEACON_INTERVAL = C.NL80211_ATTR_BEACON_INTERVAL NL80211_ATTR_BEACON_TAIL = C.NL80211_ATTR_BEACON_TAIL NL80211_ATTR_BG_SCAN_PERIOD = C.NL80211_ATTR_BG_SCAN_PERIOD NL80211_ATTR_BSS_BASIC_RATES = C.NL80211_ATTR_BSS_BASIC_RATES NL80211_ATTR_BSS = C.NL80211_ATTR_BSS NL80211_ATTR_BSS_CTS_PROT = C.NL80211_ATTR_BSS_CTS_PROT NL80211_ATTR_BSS_HT_OPMODE = C.NL80211_ATTR_BSS_HT_OPMODE NL80211_ATTR_BSSID = C.NL80211_ATTR_BSSID NL80211_ATTR_BSS_SELECT = C.NL80211_ATTR_BSS_SELECT NL80211_ATTR_BSS_SHORT_PREAMBLE = C.NL80211_ATTR_BSS_SHORT_PREAMBLE NL80211_ATTR_BSS_SHORT_SLOT_TIME = C.NL80211_ATTR_BSS_SHORT_SLOT_TIME NL80211_ATTR_CENTER_FREQ1 = C.NL80211_ATTR_CENTER_FREQ1 NL80211_ATTR_CENTER_FREQ1_OFFSET = C.NL80211_ATTR_CENTER_FREQ1_OFFSET NL80211_ATTR_CENTER_FREQ2 = C.NL80211_ATTR_CENTER_FREQ2 NL80211_ATTR_CHANNEL_WIDTH = C.NL80211_ATTR_CHANNEL_WIDTH NL80211_ATTR_CH_SWITCH_BLOCK_TX = C.NL80211_ATTR_CH_SWITCH_BLOCK_TX NL80211_ATTR_CH_SWITCH_COUNT = C.NL80211_ATTR_CH_SWITCH_COUNT NL80211_ATTR_CIPHER_SUITE_GROUP = C.NL80211_ATTR_CIPHER_SUITE_GROUP NL80211_ATTR_CIPHER_SUITES = C.NL80211_ATTR_CIPHER_SUITES NL80211_ATTR_CIPHER_SUITES_PAIRWISE = C.NL80211_ATTR_CIPHER_SUITES_PAIRWISE NL80211_ATTR_CNTDWN_OFFS_BEACON = C.NL80211_ATTR_CNTDWN_OFFS_BEACON NL80211_ATTR_CNTDWN_OFFS_PRESP = C.NL80211_ATTR_CNTDWN_OFFS_PRESP NL80211_ATTR_COALESCE_RULE = C.NL80211_ATTR_COALESCE_RULE NL80211_ATTR_COALESCE_RULE_CONDITION = C.NL80211_ATTR_COALESCE_RULE_CONDITION NL80211_ATTR_COALESCE_RULE_DELAY = C.NL80211_ATTR_COALESCE_RULE_DELAY NL80211_ATTR_COALESCE_RULE_MAX = C.NL80211_ATTR_COALESCE_RULE_MAX NL80211_ATTR_COALESCE_RULE_PKT_PATTERN = C.NL80211_ATTR_COALESCE_RULE_PKT_PATTERN NL80211_ATTR_COLOR_CHANGE_COLOR = C.NL80211_ATTR_COLOR_CHANGE_COLOR NL80211_ATTR_COLOR_CHANGE_COUNT = C.NL80211_ATTR_COLOR_CHANGE_COUNT NL80211_ATTR_COLOR_CHANGE_ELEMS = C.NL80211_ATTR_COLOR_CHANGE_ELEMS NL80211_ATTR_CONN_FAILED_REASON = C.NL80211_ATTR_CONN_FAILED_REASON NL80211_ATTR_CONTROL_PORT = C.NL80211_ATTR_CONTROL_PORT NL80211_ATTR_CONTROL_PORT_ETHERTYPE = C.NL80211_ATTR_CONTROL_PORT_ETHERTYPE NL80211_ATTR_CONTROL_PORT_NO_ENCRYPT = C.NL80211_ATTR_CONTROL_PORT_NO_ENCRYPT NL80211_ATTR_CONTROL_PORT_NO_PREAUTH = C.NL80211_ATTR_CONTROL_PORT_NO_PREAUTH NL80211_ATTR_CONTROL_PORT_OVER_NL80211 = C.NL80211_ATTR_CONTROL_PORT_OVER_NL80211 NL80211_ATTR_COOKIE = C.NL80211_ATTR_COOKIE NL80211_ATTR_CQM_BEACON_LOSS_EVENT = C.NL80211_ATTR_CQM_BEACON_LOSS_EVENT NL80211_ATTR_CQM = C.NL80211_ATTR_CQM NL80211_ATTR_CQM_MAX = C.NL80211_ATTR_CQM_MAX NL80211_ATTR_CQM_PKT_LOSS_EVENT = C.NL80211_ATTR_CQM_PKT_LOSS_EVENT NL80211_ATTR_CQM_RSSI_HYST = C.NL80211_ATTR_CQM_RSSI_HYST NL80211_ATTR_CQM_RSSI_LEVEL = C.NL80211_ATTR_CQM_RSSI_LEVEL NL80211_ATTR_CQM_RSSI_THOLD = C.NL80211_ATTR_CQM_RSSI_THOLD NL80211_ATTR_CQM_RSSI_THRESHOLD_EVENT = C.NL80211_ATTR_CQM_RSSI_THRESHOLD_EVENT NL80211_ATTR_CQM_TXE_INTVL = C.NL80211_ATTR_CQM_TXE_INTVL NL80211_ATTR_CQM_TXE_PKTS = C.NL80211_ATTR_CQM_TXE_PKTS NL80211_ATTR_CQM_TXE_RATE = C.NL80211_ATTR_CQM_TXE_RATE NL80211_ATTR_CRIT_PROT_ID = C.NL80211_ATTR_CRIT_PROT_ID NL80211_ATTR_CSA_C_OFF_BEACON = C.NL80211_ATTR_CSA_C_OFF_BEACON NL80211_ATTR_CSA_C_OFF_PRESP = C.NL80211_ATTR_CSA_C_OFF_PRESP NL80211_ATTR_CSA_C_OFFSETS_TX = C.NL80211_ATTR_CSA_C_OFFSETS_TX NL80211_ATTR_CSA_IES = C.NL80211_ATTR_CSA_IES NL80211_ATTR_DEVICE_AP_SME = C.NL80211_ATTR_DEVICE_AP_SME NL80211_ATTR_DFS_CAC_TIME = C.NL80211_ATTR_DFS_CAC_TIME NL80211_ATTR_DFS_REGION = C.NL80211_ATTR_DFS_REGION NL80211_ATTR_DISABLE_EHT = C.NL80211_ATTR_DISABLE_EHT NL80211_ATTR_DISABLE_HE = C.NL80211_ATTR_DISABLE_HE NL80211_ATTR_DISABLE_HT = C.NL80211_ATTR_DISABLE_HT NL80211_ATTR_DISABLE_VHT = C.NL80211_ATTR_DISABLE_VHT NL80211_ATTR_DISCONNECTED_BY_AP = C.NL80211_ATTR_DISCONNECTED_BY_AP NL80211_ATTR_DONT_WAIT_FOR_ACK = C.NL80211_ATTR_DONT_WAIT_FOR_ACK NL80211_ATTR_DTIM_PERIOD = C.NL80211_ATTR_DTIM_PERIOD NL80211_ATTR_DURATION = C.NL80211_ATTR_DURATION NL80211_ATTR_EHT_CAPABILITY = C.NL80211_ATTR_EHT_CAPABILITY NL80211_ATTR_EML_CAPABILITY = C.NL80211_ATTR_EML_CAPABILITY NL80211_ATTR_EXT_CAPA = C.NL80211_ATTR_EXT_CAPA NL80211_ATTR_EXT_CAPA_MASK = C.NL80211_ATTR_EXT_CAPA_MASK NL80211_ATTR_EXTERNAL_AUTH_ACTION = C.NL80211_ATTR_EXTERNAL_AUTH_ACTION NL80211_ATTR_EXTERNAL_AUTH_SUPPORT = C.NL80211_ATTR_EXTERNAL_AUTH_SUPPORT NL80211_ATTR_EXT_FEATURES = C.NL80211_ATTR_EXT_FEATURES NL80211_ATTR_FEATURE_FLAGS = C.NL80211_ATTR_FEATURE_FLAGS NL80211_ATTR_FILS_CACHE_ID = C.NL80211_ATTR_FILS_CACHE_ID NL80211_ATTR_FILS_DISCOVERY = C.NL80211_ATTR_FILS_DISCOVERY NL80211_ATTR_FILS_ERP_NEXT_SEQ_NUM = C.NL80211_ATTR_FILS_ERP_NEXT_SEQ_NUM NL80211_ATTR_FILS_ERP_REALM = C.NL80211_ATTR_FILS_ERP_REALM NL80211_ATTR_FILS_ERP_RRK = C.NL80211_ATTR_FILS_ERP_RRK NL80211_ATTR_FILS_ERP_USERNAME = C.NL80211_ATTR_FILS_ERP_USERNAME NL80211_ATTR_FILS_KEK = C.NL80211_ATTR_FILS_KEK NL80211_ATTR_FILS_NONCES = C.NL80211_ATTR_FILS_NONCES NL80211_ATTR_FRAME = C.NL80211_ATTR_FRAME NL80211_ATTR_FRAME_MATCH = C.NL80211_ATTR_FRAME_MATCH NL80211_ATTR_FRAME_TYPE = C.NL80211_ATTR_FRAME_TYPE NL80211_ATTR_FREQ_AFTER = C.NL80211_ATTR_FREQ_AFTER NL80211_ATTR_FREQ_BEFORE = C.NL80211_ATTR_FREQ_BEFORE NL80211_ATTR_FREQ_FIXED = C.NL80211_ATTR_FREQ_FIXED NL80211_ATTR_FREQ_RANGE_END = C.NL80211_ATTR_FREQ_RANGE_END NL80211_ATTR_FREQ_RANGE_MAX_BW = C.NL80211_ATTR_FREQ_RANGE_MAX_BW NL80211_ATTR_FREQ_RANGE_START = C.NL80211_ATTR_FREQ_RANGE_START NL80211_ATTR_FTM_RESPONDER = C.NL80211_ATTR_FTM_RESPONDER NL80211_ATTR_FTM_RESPONDER_STATS = C.NL80211_ATTR_FTM_RESPONDER_STATS NL80211_ATTR_GENERATION = C.NL80211_ATTR_GENERATION NL80211_ATTR_HANDLE_DFS = C.NL80211_ATTR_HANDLE_DFS NL80211_ATTR_HE_6GHZ_CAPABILITY = C.NL80211_ATTR_HE_6GHZ_CAPABILITY NL80211_ATTR_HE_BSS_COLOR = C.NL80211_ATTR_HE_BSS_COLOR NL80211_ATTR_HE_CAPABILITY = C.NL80211_ATTR_HE_CAPABILITY NL80211_ATTR_HE_OBSS_PD = C.NL80211_ATTR_HE_OBSS_PD NL80211_ATTR_HIDDEN_SSID = C.NL80211_ATTR_HIDDEN_SSID NL80211_ATTR_HT_CAPABILITY = C.NL80211_ATTR_HT_CAPABILITY NL80211_ATTR_HT_CAPABILITY_MASK = C.NL80211_ATTR_HT_CAPABILITY_MASK NL80211_ATTR_IE_ASSOC_RESP = C.NL80211_ATTR_IE_ASSOC_RESP NL80211_ATTR_IE = C.NL80211_ATTR_IE NL80211_ATTR_IE_PROBE_RESP = C.NL80211_ATTR_IE_PROBE_RESP NL80211_ATTR_IE_RIC = C.NL80211_ATTR_IE_RIC NL80211_ATTR_IFACE_SOCKET_OWNER = C.NL80211_ATTR_IFACE_SOCKET_OWNER NL80211_ATTR_IFINDEX = C.NL80211_ATTR_IFINDEX NL80211_ATTR_IFNAME = C.NL80211_ATTR_IFNAME NL80211_ATTR_IFTYPE_AKM_SUITES = C.NL80211_ATTR_IFTYPE_AKM_SUITES NL80211_ATTR_IFTYPE = C.NL80211_ATTR_IFTYPE NL80211_ATTR_IFTYPE_EXT_CAPA = C.NL80211_ATTR_IFTYPE_EXT_CAPA NL80211_ATTR_INACTIVITY_TIMEOUT = C.NL80211_ATTR_INACTIVITY_TIMEOUT NL80211_ATTR_INTERFACE_COMBINATIONS = C.NL80211_ATTR_INTERFACE_COMBINATIONS NL80211_ATTR_KEY_CIPHER = C.NL80211_ATTR_KEY_CIPHER NL80211_ATTR_KEY = C.NL80211_ATTR_KEY NL80211_ATTR_KEY_DATA = C.NL80211_ATTR_KEY_DATA NL80211_ATTR_KEY_DEFAULT = C.NL80211_ATTR_KEY_DEFAULT NL80211_ATTR_KEY_DEFAULT_MGMT = C.NL80211_ATTR_KEY_DEFAULT_MGMT NL80211_ATTR_KEY_DEFAULT_TYPES = C.NL80211_ATTR_KEY_DEFAULT_TYPES NL80211_ATTR_KEY_IDX = C.NL80211_ATTR_KEY_IDX NL80211_ATTR_KEYS = C.NL80211_ATTR_KEYS NL80211_ATTR_KEY_SEQ = C.NL80211_ATTR_KEY_SEQ NL80211_ATTR_KEY_TYPE = C.NL80211_ATTR_KEY_TYPE NL80211_ATTR_LOCAL_MESH_POWER_MODE = C.NL80211_ATTR_LOCAL_MESH_POWER_MODE NL80211_ATTR_LOCAL_STATE_CHANGE = C.NL80211_ATTR_LOCAL_STATE_CHANGE NL80211_ATTR_MAC_ACL_MAX = C.NL80211_ATTR_MAC_ACL_MAX NL80211_ATTR_MAC_ADDRS = C.NL80211_ATTR_MAC_ADDRS NL80211_ATTR_MAC = C.NL80211_ATTR_MAC NL80211_ATTR_MAC_HINT = C.NL80211_ATTR_MAC_HINT NL80211_ATTR_MAC_MASK = C.NL80211_ATTR_MAC_MASK NL80211_ATTR_MAX_AP_ASSOC_STA = C.NL80211_ATTR_MAX_AP_ASSOC_STA NL80211_ATTR_MAX = C.NL80211_ATTR_MAX NL80211_ATTR_MAX_CRIT_PROT_DURATION = C.NL80211_ATTR_MAX_CRIT_PROT_DURATION NL80211_ATTR_MAX_CSA_COUNTERS = C.NL80211_ATTR_MAX_CSA_COUNTERS NL80211_ATTR_MAX_MATCH_SETS = C.NL80211_ATTR_MAX_MATCH_SETS NL80211_ATTR_MAX_NUM_AKM_SUITES = C.NL80211_ATTR_MAX_NUM_AKM_SUITES NL80211_ATTR_MAX_NUM_PMKIDS = C.NL80211_ATTR_MAX_NUM_PMKIDS NL80211_ATTR_MAX_NUM_SCAN_SSIDS = C.NL80211_ATTR_MAX_NUM_SCAN_SSIDS NL80211_ATTR_MAX_NUM_SCHED_SCAN_PLANS = C.NL80211_ATTR_MAX_NUM_SCHED_SCAN_PLANS NL80211_ATTR_MAX_NUM_SCHED_SCAN_SSIDS = C.NL80211_ATTR_MAX_NUM_SCHED_SCAN_SSIDS NL80211_ATTR_MAX_REMAIN_ON_CHANNEL_DURATION = C.NL80211_ATTR_MAX_REMAIN_ON_CHANNEL_DURATION NL80211_ATTR_MAX_SCAN_IE_LEN = C.NL80211_ATTR_MAX_SCAN_IE_LEN NL80211_ATTR_MAX_SCAN_PLAN_INTERVAL = C.NL80211_ATTR_MAX_SCAN_PLAN_INTERVAL NL80211_ATTR_MAX_SCAN_PLAN_ITERATIONS = C.NL80211_ATTR_MAX_SCAN_PLAN_ITERATIONS NL80211_ATTR_MAX_SCHED_SCAN_IE_LEN = C.NL80211_ATTR_MAX_SCHED_SCAN_IE_LEN NL80211_ATTR_MBSSID_CONFIG = C.NL80211_ATTR_MBSSID_CONFIG NL80211_ATTR_MBSSID_ELEMS = C.NL80211_ATTR_MBSSID_ELEMS NL80211_ATTR_MCAST_RATE = C.NL80211_ATTR_MCAST_RATE NL80211_ATTR_MDID = C.NL80211_ATTR_MDID NL80211_ATTR_MEASUREMENT_DURATION = C.NL80211_ATTR_MEASUREMENT_DURATION NL80211_ATTR_MEASUREMENT_DURATION_MANDATORY = C.NL80211_ATTR_MEASUREMENT_DURATION_MANDATORY NL80211_ATTR_MESH_CONFIG = C.NL80211_ATTR_MESH_CONFIG NL80211_ATTR_MESH_ID = C.NL80211_ATTR_MESH_ID NL80211_ATTR_MESH_PEER_AID = C.NL80211_ATTR_MESH_PEER_AID NL80211_ATTR_MESH_SETUP = C.NL80211_ATTR_MESH_SETUP NL80211_ATTR_MGMT_SUBTYPE = C.NL80211_ATTR_MGMT_SUBTYPE NL80211_ATTR_MLD_ADDR = C.NL80211_ATTR_MLD_ADDR NL80211_ATTR_MLD_CAPA_AND_OPS = C.NL80211_ATTR_MLD_CAPA_AND_OPS NL80211_ATTR_MLO_LINK_ID = C.NL80211_ATTR_MLO_LINK_ID NL80211_ATTR_MLO_LINKS = C.NL80211_ATTR_MLO_LINKS NL80211_ATTR_MLO_SUPPORT = C.NL80211_ATTR_MLO_SUPPORT NL80211_ATTR_MNTR_FLAGS = C.NL80211_ATTR_MNTR_FLAGS NL80211_ATTR_MPATH_INFO = C.NL80211_ATTR_MPATH_INFO NL80211_ATTR_MPATH_NEXT_HOP = C.NL80211_ATTR_MPATH_NEXT_HOP NL80211_ATTR_MULTICAST_TO_UNICAST_ENABLED = C.NL80211_ATTR_MULTICAST_TO_UNICAST_ENABLED NL80211_ATTR_MU_MIMO_FOLLOW_MAC_ADDR = C.NL80211_ATTR_MU_MIMO_FOLLOW_MAC_ADDR NL80211_ATTR_MU_MIMO_GROUP_DATA = C.NL80211_ATTR_MU_MIMO_GROUP_DATA NL80211_ATTR_NAN_FUNC = C.NL80211_ATTR_NAN_FUNC NL80211_ATTR_NAN_MASTER_PREF = C.NL80211_ATTR_NAN_MASTER_PREF NL80211_ATTR_NAN_MATCH = C.NL80211_ATTR_NAN_MATCH NL80211_ATTR_NETNS_FD = C.NL80211_ATTR_NETNS_FD NL80211_ATTR_NOACK_MAP = C.NL80211_ATTR_NOACK_MAP NL80211_ATTR_NSS = C.NL80211_ATTR_NSS NL80211_ATTR_OBSS_COLOR_BITMAP = C.NL80211_ATTR_OBSS_COLOR_BITMAP NL80211_ATTR_OFFCHANNEL_TX_OK = C.NL80211_ATTR_OFFCHANNEL_TX_OK NL80211_ATTR_OPER_CLASS = C.NL80211_ATTR_OPER_CLASS NL80211_ATTR_OPMODE_NOTIF = C.NL80211_ATTR_OPMODE_NOTIF NL80211_ATTR_P2P_CTWINDOW = C.NL80211_ATTR_P2P_CTWINDOW NL80211_ATTR_P2P_OPPPS = C.NL80211_ATTR_P2P_OPPPS NL80211_ATTR_PAD = C.NL80211_ATTR_PAD NL80211_ATTR_PBSS = C.NL80211_ATTR_PBSS NL80211_ATTR_PEER_AID = C.NL80211_ATTR_PEER_AID NL80211_ATTR_PEER_MEASUREMENTS = C.NL80211_ATTR_PEER_MEASUREMENTS NL80211_ATTR_PID = C.NL80211_ATTR_PID NL80211_ATTR_PMK = C.NL80211_ATTR_PMK NL80211_ATTR_PMKID = C.NL80211_ATTR_PMKID NL80211_ATTR_PMK_LIFETIME = C.NL80211_ATTR_PMK_LIFETIME NL80211_ATTR_PMKR0_NAME = C.NL80211_ATTR_PMKR0_NAME NL80211_ATTR_PMK_REAUTH_THRESHOLD = C.NL80211_ATTR_PMK_REAUTH_THRESHOLD NL80211_ATTR_PMKSA_CANDIDATE = C.NL80211_ATTR_PMKSA_CANDIDATE NL80211_ATTR_PORT_AUTHORIZED = C.NL80211_ATTR_PORT_AUTHORIZED NL80211_ATTR_POWER_RULE_MAX_ANT_GAIN = C.NL80211_ATTR_POWER_RULE_MAX_ANT_GAIN NL80211_ATTR_POWER_RULE_MAX_EIRP = C.NL80211_ATTR_POWER_RULE_MAX_EIRP NL80211_ATTR_PREV_BSSID = C.NL80211_ATTR_PREV_BSSID NL80211_ATTR_PRIVACY = C.NL80211_ATTR_PRIVACY NL80211_ATTR_PROBE_RESP = C.NL80211_ATTR_PROBE_RESP NL80211_ATTR_PROBE_RESP_OFFLOAD = C.NL80211_ATTR_PROBE_RESP_OFFLOAD NL80211_ATTR_PROTOCOL_FEATURES = C.NL80211_ATTR_PROTOCOL_FEATURES NL80211_ATTR_PS_STATE = C.NL80211_ATTR_PS_STATE NL80211_ATTR_QOS_MAP = C.NL80211_ATTR_QOS_MAP NL80211_ATTR_RADAR_BACKGROUND = C.NL80211_ATTR_RADAR_BACKGROUND NL80211_ATTR_RADAR_EVENT = C.NL80211_ATTR_RADAR_EVENT NL80211_ATTR_REASON_CODE = C.NL80211_ATTR_REASON_CODE NL80211_ATTR_RECEIVE_MULTICAST = C.NL80211_ATTR_RECEIVE_MULTICAST NL80211_ATTR_RECONNECT_REQUESTED = C.NL80211_ATTR_RECONNECT_REQUESTED NL80211_ATTR_REG_ALPHA2 = C.NL80211_ATTR_REG_ALPHA2 NL80211_ATTR_REG_INDOOR = C.NL80211_ATTR_REG_INDOOR NL80211_ATTR_REG_INITIATOR = C.NL80211_ATTR_REG_INITIATOR NL80211_ATTR_REG_RULE_FLAGS = C.NL80211_ATTR_REG_RULE_FLAGS NL80211_ATTR_REG_RULES = C.NL80211_ATTR_REG_RULES NL80211_ATTR_REG_TYPE = C.NL80211_ATTR_REG_TYPE NL80211_ATTR_REKEY_DATA = C.NL80211_ATTR_REKEY_DATA NL80211_ATTR_REQ_IE = C.NL80211_ATTR_REQ_IE NL80211_ATTR_RESP_IE = C.NL80211_ATTR_RESP_IE NL80211_ATTR_ROAM_SUPPORT = C.NL80211_ATTR_ROAM_SUPPORT NL80211_ATTR_RX_FRAME_TYPES = C.NL80211_ATTR_RX_FRAME_TYPES NL80211_ATTR_RX_HW_TIMESTAMP = C.NL80211_ATTR_RX_HW_TIMESTAMP NL80211_ATTR_RXMGMT_FLAGS = C.NL80211_ATTR_RXMGMT_FLAGS NL80211_ATTR_RX_SIGNAL_DBM = C.NL80211_ATTR_RX_SIGNAL_DBM NL80211_ATTR_S1G_CAPABILITY = C.NL80211_ATTR_S1G_CAPABILITY NL80211_ATTR_S1G_CAPABILITY_MASK = C.NL80211_ATTR_S1G_CAPABILITY_MASK NL80211_ATTR_SAE_DATA = C.NL80211_ATTR_SAE_DATA NL80211_ATTR_SAE_PASSWORD = C.NL80211_ATTR_SAE_PASSWORD NL80211_ATTR_SAE_PWE = C.NL80211_ATTR_SAE_PWE NL80211_ATTR_SAR_SPEC = C.NL80211_ATTR_SAR_SPEC NL80211_ATTR_SCAN_FLAGS = C.NL80211_ATTR_SCAN_FLAGS NL80211_ATTR_SCAN_FREQ_KHZ = C.NL80211_ATTR_SCAN_FREQ_KHZ NL80211_ATTR_SCAN_FREQUENCIES = C.NL80211_ATTR_SCAN_FREQUENCIES NL80211_ATTR_SCAN_GENERATION = C.NL80211_ATTR_SCAN_GENERATION NL80211_ATTR_SCAN_SSIDS = C.NL80211_ATTR_SCAN_SSIDS NL80211_ATTR_SCAN_START_TIME_TSF_BSSID = C.NL80211_ATTR_SCAN_START_TIME_TSF_BSSID NL80211_ATTR_SCAN_START_TIME_TSF = C.NL80211_ATTR_SCAN_START_TIME_TSF NL80211_ATTR_SCAN_SUPP_RATES = C.NL80211_ATTR_SCAN_SUPP_RATES NL80211_ATTR_SCHED_SCAN_DELAY = C.NL80211_ATTR_SCHED_SCAN_DELAY NL80211_ATTR_SCHED_SCAN_INTERVAL = C.NL80211_ATTR_SCHED_SCAN_INTERVAL NL80211_ATTR_SCHED_SCAN_MATCH = C.NL80211_ATTR_SCHED_SCAN_MATCH NL80211_ATTR_SCHED_SCAN_MATCH_SSID = C.NL80211_ATTR_SCHED_SCAN_MATCH_SSID NL80211_ATTR_SCHED_SCAN_MAX_REQS = C.NL80211_ATTR_SCHED_SCAN_MAX_REQS NL80211_ATTR_SCHED_SCAN_MULTI = C.NL80211_ATTR_SCHED_SCAN_MULTI NL80211_ATTR_SCHED_SCAN_PLANS = C.NL80211_ATTR_SCHED_SCAN_PLANS NL80211_ATTR_SCHED_SCAN_RELATIVE_RSSI = C.NL80211_ATTR_SCHED_SCAN_RELATIVE_RSSI NL80211_ATTR_SCHED_SCAN_RSSI_ADJUST = C.NL80211_ATTR_SCHED_SCAN_RSSI_ADJUST NL80211_ATTR_SMPS_MODE = C.NL80211_ATTR_SMPS_MODE NL80211_ATTR_SOCKET_OWNER = C.NL80211_ATTR_SOCKET_OWNER NL80211_ATTR_SOFTWARE_IFTYPES = C.NL80211_ATTR_SOFTWARE_IFTYPES NL80211_ATTR_SPLIT_WIPHY_DUMP = C.NL80211_ATTR_SPLIT_WIPHY_DUMP NL80211_ATTR_SSID = C.NL80211_ATTR_SSID NL80211_ATTR_STA_AID = C.NL80211_ATTR_STA_AID NL80211_ATTR_STA_CAPABILITY = C.NL80211_ATTR_STA_CAPABILITY NL80211_ATTR_STA_EXT_CAPABILITY = C.NL80211_ATTR_STA_EXT_CAPABILITY NL80211_ATTR_STA_FLAGS2 = C.NL80211_ATTR_STA_FLAGS2 NL80211_ATTR_STA_FLAGS = C.NL80211_ATTR_STA_FLAGS NL80211_ATTR_STA_INFO = C.NL80211_ATTR_STA_INFO NL80211_ATTR_STA_LISTEN_INTERVAL = C.NL80211_ATTR_STA_LISTEN_INTERVAL NL80211_ATTR_STA_PLINK_ACTION = C.NL80211_ATTR_STA_PLINK_ACTION NL80211_ATTR_STA_PLINK_STATE = C.NL80211_ATTR_STA_PLINK_STATE NL80211_ATTR_STA_SUPPORTED_CHANNELS = C.NL80211_ATTR_STA_SUPPORTED_CHANNELS NL80211_ATTR_STA_SUPPORTED_OPER_CLASSES = C.NL80211_ATTR_STA_SUPPORTED_OPER_CLASSES NL80211_ATTR_STA_SUPPORTED_RATES = C.NL80211_ATTR_STA_SUPPORTED_RATES NL80211_ATTR_STA_SUPPORT_P2P_PS = C.NL80211_ATTR_STA_SUPPORT_P2P_PS NL80211_ATTR_STATUS_CODE = C.NL80211_ATTR_STATUS_CODE NL80211_ATTR_STA_TX_POWER = C.NL80211_ATTR_STA_TX_POWER NL80211_ATTR_STA_TX_POWER_SETTING = C.NL80211_ATTR_STA_TX_POWER_SETTING NL80211_ATTR_STA_VLAN = C.NL80211_ATTR_STA_VLAN NL80211_ATTR_STA_WME = C.NL80211_ATTR_STA_WME NL80211_ATTR_SUPPORT_10_MHZ = C.NL80211_ATTR_SUPPORT_10_MHZ NL80211_ATTR_SUPPORT_5_MHZ = C.NL80211_ATTR_SUPPORT_5_MHZ NL80211_ATTR_SUPPORT_AP_UAPSD = C.NL80211_ATTR_SUPPORT_AP_UAPSD NL80211_ATTR_SUPPORTED_COMMANDS = C.NL80211_ATTR_SUPPORTED_COMMANDS NL80211_ATTR_SUPPORTED_IFTYPES = C.NL80211_ATTR_SUPPORTED_IFTYPES NL80211_ATTR_SUPPORT_IBSS_RSN = C.NL80211_ATTR_SUPPORT_IBSS_RSN NL80211_ATTR_SUPPORT_MESH_AUTH = C.NL80211_ATTR_SUPPORT_MESH_AUTH NL80211_ATTR_SURVEY_INFO = C.NL80211_ATTR_SURVEY_INFO NL80211_ATTR_SURVEY_RADIO_STATS = C.NL80211_ATTR_SURVEY_RADIO_STATS NL80211_ATTR_TD_BITMAP = C.NL80211_ATTR_TD_BITMAP NL80211_ATTR_TDLS_ACTION = C.NL80211_ATTR_TDLS_ACTION NL80211_ATTR_TDLS_DIALOG_TOKEN = C.NL80211_ATTR_TDLS_DIALOG_TOKEN NL80211_ATTR_TDLS_EXTERNAL_SETUP = C.NL80211_ATTR_TDLS_EXTERNAL_SETUP NL80211_ATTR_TDLS_INITIATOR = C.NL80211_ATTR_TDLS_INITIATOR NL80211_ATTR_TDLS_OPERATION = C.NL80211_ATTR_TDLS_OPERATION NL80211_ATTR_TDLS_PEER_CAPABILITY = C.NL80211_ATTR_TDLS_PEER_CAPABILITY NL80211_ATTR_TDLS_SUPPORT = C.NL80211_ATTR_TDLS_SUPPORT NL80211_ATTR_TESTDATA = C.NL80211_ATTR_TESTDATA NL80211_ATTR_TID_CONFIG = C.NL80211_ATTR_TID_CONFIG NL80211_ATTR_TIMED_OUT = C.NL80211_ATTR_TIMED_OUT NL80211_ATTR_TIMEOUT = C.NL80211_ATTR_TIMEOUT NL80211_ATTR_TIMEOUT_REASON = C.NL80211_ATTR_TIMEOUT_REASON NL80211_ATTR_TSID = C.NL80211_ATTR_TSID NL80211_ATTR_TWT_RESPONDER = C.NL80211_ATTR_TWT_RESPONDER NL80211_ATTR_TX_FRAME_TYPES = C.NL80211_ATTR_TX_FRAME_TYPES NL80211_ATTR_TX_HW_TIMESTAMP = C.NL80211_ATTR_TX_HW_TIMESTAMP NL80211_ATTR_TX_NO_CCK_RATE = C.NL80211_ATTR_TX_NO_CCK_RATE NL80211_ATTR_TXQ_LIMIT = C.NL80211_ATTR_TXQ_LIMIT NL80211_ATTR_TXQ_MEMORY_LIMIT = C.NL80211_ATTR_TXQ_MEMORY_LIMIT NL80211_ATTR_TXQ_QUANTUM = C.NL80211_ATTR_TXQ_QUANTUM NL80211_ATTR_TXQ_STATS = C.NL80211_ATTR_TXQ_STATS NL80211_ATTR_TX_RATES = C.NL80211_ATTR_TX_RATES NL80211_ATTR_UNSOL_BCAST_PROBE_RESP = C.NL80211_ATTR_UNSOL_BCAST_PROBE_RESP NL80211_ATTR_UNSPEC = C.NL80211_ATTR_UNSPEC NL80211_ATTR_USE_MFP = C.NL80211_ATTR_USE_MFP NL80211_ATTR_USER_PRIO = C.NL80211_ATTR_USER_PRIO NL80211_ATTR_USER_REG_HINT_TYPE = C.NL80211_ATTR_USER_REG_HINT_TYPE NL80211_ATTR_USE_RRM = C.NL80211_ATTR_USE_RRM NL80211_ATTR_VENDOR_DATA = C.NL80211_ATTR_VENDOR_DATA NL80211_ATTR_VENDOR_EVENTS = C.NL80211_ATTR_VENDOR_EVENTS NL80211_ATTR_VENDOR_ID = C.NL80211_ATTR_VENDOR_ID NL80211_ATTR_VENDOR_SUBCMD = C.NL80211_ATTR_VENDOR_SUBCMD NL80211_ATTR_VHT_CAPABILITY = C.NL80211_ATTR_VHT_CAPABILITY NL80211_ATTR_VHT_CAPABILITY_MASK = C.NL80211_ATTR_VHT_CAPABILITY_MASK NL80211_ATTR_VLAN_ID = C.NL80211_ATTR_VLAN_ID NL80211_ATTR_WANT_1X_4WAY_HS = C.NL80211_ATTR_WANT_1X_4WAY_HS NL80211_ATTR_WDEV = C.NL80211_ATTR_WDEV NL80211_ATTR_WIPHY_ANTENNA_AVAIL_RX = C.NL80211_ATTR_WIPHY_ANTENNA_AVAIL_RX NL80211_ATTR_WIPHY_ANTENNA_AVAIL_TX = C.NL80211_ATTR_WIPHY_ANTENNA_AVAIL_TX NL80211_ATTR_WIPHY_ANTENNA_RX = C.NL80211_ATTR_WIPHY_ANTENNA_RX NL80211_ATTR_WIPHY_ANTENNA_TX = C.NL80211_ATTR_WIPHY_ANTENNA_TX NL80211_ATTR_WIPHY_BANDS = C.NL80211_ATTR_WIPHY_BANDS NL80211_ATTR_WIPHY_CHANNEL_TYPE = C.NL80211_ATTR_WIPHY_CHANNEL_TYPE NL80211_ATTR_WIPHY = C.NL80211_ATTR_WIPHY NL80211_ATTR_WIPHY_COVERAGE_CLASS = C.NL80211_ATTR_WIPHY_COVERAGE_CLASS NL80211_ATTR_WIPHY_DYN_ACK = C.NL80211_ATTR_WIPHY_DYN_ACK NL80211_ATTR_WIPHY_EDMG_BW_CONFIG = C.NL80211_ATTR_WIPHY_EDMG_BW_CONFIG NL80211_ATTR_WIPHY_EDMG_CHANNELS = C.NL80211_ATTR_WIPHY_EDMG_CHANNELS NL80211_ATTR_WIPHY_FRAG_THRESHOLD = C.NL80211_ATTR_WIPHY_FRAG_THRESHOLD NL80211_ATTR_WIPHY_FREQ = C.NL80211_ATTR_WIPHY_FREQ NL80211_ATTR_WIPHY_FREQ_HINT = C.NL80211_ATTR_WIPHY_FREQ_HINT NL80211_ATTR_WIPHY_FREQ_OFFSET = C.NL80211_ATTR_WIPHY_FREQ_OFFSET NL80211_ATTR_WIPHY_NAME = C.NL80211_ATTR_WIPHY_NAME NL80211_ATTR_WIPHY_RETRY_LONG = C.NL80211_ATTR_WIPHY_RETRY_LONG NL80211_ATTR_WIPHY_RETRY_SHORT = C.NL80211_ATTR_WIPHY_RETRY_SHORT NL80211_ATTR_WIPHY_RTS_THRESHOLD = C.NL80211_ATTR_WIPHY_RTS_THRESHOLD NL80211_ATTR_WIPHY_SELF_MANAGED_REG = C.NL80211_ATTR_WIPHY_SELF_MANAGED_REG NL80211_ATTR_WIPHY_TX_POWER_LEVEL = C.NL80211_ATTR_WIPHY_TX_POWER_LEVEL NL80211_ATTR_WIPHY_TX_POWER_SETTING = C.NL80211_ATTR_WIPHY_TX_POWER_SETTING NL80211_ATTR_WIPHY_TXQ_PARAMS = C.NL80211_ATTR_WIPHY_TXQ_PARAMS NL80211_ATTR_WOWLAN_TRIGGERS = C.NL80211_ATTR_WOWLAN_TRIGGERS NL80211_ATTR_WOWLAN_TRIGGERS_SUPPORTED = C.NL80211_ATTR_WOWLAN_TRIGGERS_SUPPORTED NL80211_ATTR_WPA_VERSIONS = C.NL80211_ATTR_WPA_VERSIONS NL80211_AUTHTYPE_AUTOMATIC = C.NL80211_AUTHTYPE_AUTOMATIC NL80211_AUTHTYPE_FILS_PK = C.NL80211_AUTHTYPE_FILS_PK NL80211_AUTHTYPE_FILS_SK = C.NL80211_AUTHTYPE_FILS_SK NL80211_AUTHTYPE_FILS_SK_PFS = C.NL80211_AUTHTYPE_FILS_SK_PFS NL80211_AUTHTYPE_FT = C.NL80211_AUTHTYPE_FT NL80211_AUTHTYPE_MAX = C.NL80211_AUTHTYPE_MAX NL80211_AUTHTYPE_NETWORK_EAP = C.NL80211_AUTHTYPE_NETWORK_EAP NL80211_AUTHTYPE_OPEN_SYSTEM = C.NL80211_AUTHTYPE_OPEN_SYSTEM NL80211_AUTHTYPE_SAE = C.NL80211_AUTHTYPE_SAE NL80211_AUTHTYPE_SHARED_KEY = C.NL80211_AUTHTYPE_SHARED_KEY NL80211_BAND_2GHZ = C.NL80211_BAND_2GHZ NL80211_BAND_5GHZ = C.NL80211_BAND_5GHZ NL80211_BAND_60GHZ = C.NL80211_BAND_60GHZ NL80211_BAND_6GHZ = C.NL80211_BAND_6GHZ NL80211_BAND_ATTR_EDMG_BW_CONFIG = C.NL80211_BAND_ATTR_EDMG_BW_CONFIG NL80211_BAND_ATTR_EDMG_CHANNELS = C.NL80211_BAND_ATTR_EDMG_CHANNELS NL80211_BAND_ATTR_FREQS = C.NL80211_BAND_ATTR_FREQS NL80211_BAND_ATTR_HT_AMPDU_DENSITY = C.NL80211_BAND_ATTR_HT_AMPDU_DENSITY NL80211_BAND_ATTR_HT_AMPDU_FACTOR = C.NL80211_BAND_ATTR_HT_AMPDU_FACTOR NL80211_BAND_ATTR_HT_CAPA = C.NL80211_BAND_ATTR_HT_CAPA NL80211_BAND_ATTR_HT_MCS_SET = C.NL80211_BAND_ATTR_HT_MCS_SET NL80211_BAND_ATTR_IFTYPE_DATA = C.NL80211_BAND_ATTR_IFTYPE_DATA NL80211_BAND_ATTR_MAX = C.NL80211_BAND_ATTR_MAX NL80211_BAND_ATTR_RATES = C.NL80211_BAND_ATTR_RATES NL80211_BAND_ATTR_VHT_CAPA = C.NL80211_BAND_ATTR_VHT_CAPA NL80211_BAND_ATTR_VHT_MCS_SET = C.NL80211_BAND_ATTR_VHT_MCS_SET NL80211_BAND_IFTYPE_ATTR_EHT_CAP_MAC = C.NL80211_BAND_IFTYPE_ATTR_EHT_CAP_MAC NL80211_BAND_IFTYPE_ATTR_EHT_CAP_MCS_SET = C.NL80211_BAND_IFTYPE_ATTR_EHT_CAP_MCS_SET NL80211_BAND_IFTYPE_ATTR_EHT_CAP_PHY = C.NL80211_BAND_IFTYPE_ATTR_EHT_CAP_PHY NL80211_BAND_IFTYPE_ATTR_EHT_CAP_PPE = C.NL80211_BAND_IFTYPE_ATTR_EHT_CAP_PPE NL80211_BAND_IFTYPE_ATTR_HE_6GHZ_CAPA = C.NL80211_BAND_IFTYPE_ATTR_HE_6GHZ_CAPA NL80211_BAND_IFTYPE_ATTR_HE_CAP_MAC = C.NL80211_BAND_IFTYPE_ATTR_HE_CAP_MAC NL80211_BAND_IFTYPE_ATTR_HE_CAP_MCS_SET = C.NL80211_BAND_IFTYPE_ATTR_HE_CAP_MCS_SET NL80211_BAND_IFTYPE_ATTR_HE_CAP_PHY = C.NL80211_BAND_IFTYPE_ATTR_HE_CAP_PHY NL80211_BAND_IFTYPE_ATTR_HE_CAP_PPE = C.NL80211_BAND_IFTYPE_ATTR_HE_CAP_PPE NL80211_BAND_IFTYPE_ATTR_IFTYPES = C.NL80211_BAND_IFTYPE_ATTR_IFTYPES NL80211_BAND_IFTYPE_ATTR_MAX = C.NL80211_BAND_IFTYPE_ATTR_MAX NL80211_BAND_IFTYPE_ATTR_VENDOR_ELEMS = C.NL80211_BAND_IFTYPE_ATTR_VENDOR_ELEMS NL80211_BAND_LC = C.NL80211_BAND_LC NL80211_BAND_S1GHZ = C.NL80211_BAND_S1GHZ NL80211_BITRATE_ATTR_2GHZ_SHORTPREAMBLE = C.NL80211_BITRATE_ATTR_2GHZ_SHORTPREAMBLE NL80211_BITRATE_ATTR_MAX = C.NL80211_BITRATE_ATTR_MAX NL80211_BITRATE_ATTR_RATE = C.NL80211_BITRATE_ATTR_RATE NL80211_BSS_BEACON_IES = C.NL80211_BSS_BEACON_IES NL80211_BSS_BEACON_INTERVAL = C.NL80211_BSS_BEACON_INTERVAL NL80211_BSS_BEACON_TSF = C.NL80211_BSS_BEACON_TSF NL80211_BSS_BSSID = C.NL80211_BSS_BSSID NL80211_BSS_CAPABILITY = C.NL80211_BSS_CAPABILITY NL80211_BSS_CHAIN_SIGNAL = C.NL80211_BSS_CHAIN_SIGNAL NL80211_BSS_CHAN_WIDTH_10 = C.NL80211_BSS_CHAN_WIDTH_10 NL80211_BSS_CHAN_WIDTH_1 = C.NL80211_BSS_CHAN_WIDTH_1 NL80211_BSS_CHAN_WIDTH_20 = C.NL80211_BSS_CHAN_WIDTH_20 NL80211_BSS_CHAN_WIDTH_2 = C.NL80211_BSS_CHAN_WIDTH_2 NL80211_BSS_CHAN_WIDTH_5 = C.NL80211_BSS_CHAN_WIDTH_5 NL80211_BSS_CHAN_WIDTH = C.NL80211_BSS_CHAN_WIDTH NL80211_BSS_FREQUENCY = C.NL80211_BSS_FREQUENCY NL80211_BSS_FREQUENCY_OFFSET = C.NL80211_BSS_FREQUENCY_OFFSET NL80211_BSS_INFORMATION_ELEMENTS = C.NL80211_BSS_INFORMATION_ELEMENTS NL80211_BSS_LAST_SEEN_BOOTTIME = C.NL80211_BSS_LAST_SEEN_BOOTTIME NL80211_BSS_MAX = C.NL80211_BSS_MAX NL80211_BSS_MLD_ADDR = C.NL80211_BSS_MLD_ADDR NL80211_BSS_MLO_LINK_ID = C.NL80211_BSS_MLO_LINK_ID NL80211_BSS_PAD = C.NL80211_BSS_PAD NL80211_BSS_PARENT_BSSID = C.NL80211_BSS_PARENT_BSSID NL80211_BSS_PARENT_TSF = C.NL80211_BSS_PARENT_TSF NL80211_BSS_PRESP_DATA = C.NL80211_BSS_PRESP_DATA NL80211_BSS_SEEN_MS_AGO = C.NL80211_BSS_SEEN_MS_AGO NL80211_BSS_SELECT_ATTR_BAND_PREF = C.NL80211_BSS_SELECT_ATTR_BAND_PREF NL80211_BSS_SELECT_ATTR_MAX = C.NL80211_BSS_SELECT_ATTR_MAX NL80211_BSS_SELECT_ATTR_RSSI_ADJUST = C.NL80211_BSS_SELECT_ATTR_RSSI_ADJUST NL80211_BSS_SELECT_ATTR_RSSI = C.NL80211_BSS_SELECT_ATTR_RSSI NL80211_BSS_SIGNAL_MBM = C.NL80211_BSS_SIGNAL_MBM NL80211_BSS_SIGNAL_UNSPEC = C.NL80211_BSS_SIGNAL_UNSPEC NL80211_BSS_STATUS_ASSOCIATED = C.NL80211_BSS_STATUS_ASSOCIATED NL80211_BSS_STATUS_AUTHENTICATED = C.NL80211_BSS_STATUS_AUTHENTICATED NL80211_BSS_STATUS = C.NL80211_BSS_STATUS NL80211_BSS_STATUS_IBSS_JOINED = C.NL80211_BSS_STATUS_IBSS_JOINED NL80211_BSS_TSF = C.NL80211_BSS_TSF NL80211_CHAN_HT20 = C.NL80211_CHAN_HT20 NL80211_CHAN_HT40MINUS = C.NL80211_CHAN_HT40MINUS NL80211_CHAN_HT40PLUS = C.NL80211_CHAN_HT40PLUS NL80211_CHAN_NO_HT = C.NL80211_CHAN_NO_HT NL80211_CHAN_WIDTH_10 = C.NL80211_CHAN_WIDTH_10 NL80211_CHAN_WIDTH_160 = C.NL80211_CHAN_WIDTH_160 NL80211_CHAN_WIDTH_16 = C.NL80211_CHAN_WIDTH_16 NL80211_CHAN_WIDTH_1 = C.NL80211_CHAN_WIDTH_1 NL80211_CHAN_WIDTH_20 = C.NL80211_CHAN_WIDTH_20 NL80211_CHAN_WIDTH_20_NOHT = C.NL80211_CHAN_WIDTH_20_NOHT NL80211_CHAN_WIDTH_2 = C.NL80211_CHAN_WIDTH_2 NL80211_CHAN_WIDTH_320 = C.NL80211_CHAN_WIDTH_320 NL80211_CHAN_WIDTH_40 = C.NL80211_CHAN_WIDTH_40 NL80211_CHAN_WIDTH_4 = C.NL80211_CHAN_WIDTH_4 NL80211_CHAN_WIDTH_5 = C.NL80211_CHAN_WIDTH_5 NL80211_CHAN_WIDTH_80 = C.NL80211_CHAN_WIDTH_80 NL80211_CHAN_WIDTH_80P80 = C.NL80211_CHAN_WIDTH_80P80 NL80211_CHAN_WIDTH_8 = C.NL80211_CHAN_WIDTH_8 NL80211_CMD_ABORT_SCAN = C.NL80211_CMD_ABORT_SCAN NL80211_CMD_ACTION = C.NL80211_CMD_ACTION NL80211_CMD_ACTION_TX_STATUS = C.NL80211_CMD_ACTION_TX_STATUS NL80211_CMD_ADD_LINK = C.NL80211_CMD_ADD_LINK NL80211_CMD_ADD_LINK_STA = C.NL80211_CMD_ADD_LINK_STA NL80211_CMD_ADD_NAN_FUNCTION = C.NL80211_CMD_ADD_NAN_FUNCTION NL80211_CMD_ADD_TX_TS = C.NL80211_CMD_ADD_TX_TS NL80211_CMD_ASSOC_COMEBACK = C.NL80211_CMD_ASSOC_COMEBACK NL80211_CMD_ASSOCIATE = C.NL80211_CMD_ASSOCIATE NL80211_CMD_AUTHENTICATE = C.NL80211_CMD_AUTHENTICATE NL80211_CMD_CANCEL_REMAIN_ON_CHANNEL = C.NL80211_CMD_CANCEL_REMAIN_ON_CHANNEL NL80211_CMD_CHANGE_NAN_CONFIG = C.NL80211_CMD_CHANGE_NAN_CONFIG NL80211_CMD_CHANNEL_SWITCH = C.NL80211_CMD_CHANNEL_SWITCH NL80211_CMD_CH_SWITCH_NOTIFY = C.NL80211_CMD_CH_SWITCH_NOTIFY NL80211_CMD_CH_SWITCH_STARTED_NOTIFY = C.NL80211_CMD_CH_SWITCH_STARTED_NOTIFY NL80211_CMD_COLOR_CHANGE_ABORTED = C.NL80211_CMD_COLOR_CHANGE_ABORTED NL80211_CMD_COLOR_CHANGE_COMPLETED = C.NL80211_CMD_COLOR_CHANGE_COMPLETED NL80211_CMD_COLOR_CHANGE_REQUEST = C.NL80211_CMD_COLOR_CHANGE_REQUEST NL80211_CMD_COLOR_CHANGE_STARTED = C.NL80211_CMD_COLOR_CHANGE_STARTED NL80211_CMD_CONNECT = C.NL80211_CMD_CONNECT NL80211_CMD_CONN_FAILED = C.NL80211_CMD_CONN_FAILED NL80211_CMD_CONTROL_PORT_FRAME = C.NL80211_CMD_CONTROL_PORT_FRAME NL80211_CMD_CONTROL_PORT_FRAME_TX_STATUS = C.NL80211_CMD_CONTROL_PORT_FRAME_TX_STATUS NL80211_CMD_CRIT_PROTOCOL_START = C.NL80211_CMD_CRIT_PROTOCOL_START NL80211_CMD_CRIT_PROTOCOL_STOP = C.NL80211_CMD_CRIT_PROTOCOL_STOP NL80211_CMD_DEAUTHENTICATE = C.NL80211_CMD_DEAUTHENTICATE NL80211_CMD_DEL_BEACON = C.NL80211_CMD_DEL_BEACON NL80211_CMD_DEL_INTERFACE = C.NL80211_CMD_DEL_INTERFACE NL80211_CMD_DEL_KEY = C.NL80211_CMD_DEL_KEY NL80211_CMD_DEL_MPATH = C.NL80211_CMD_DEL_MPATH NL80211_CMD_DEL_NAN_FUNCTION = C.NL80211_CMD_DEL_NAN_FUNCTION NL80211_CMD_DEL_PMK = C.NL80211_CMD_DEL_PMK NL80211_CMD_DEL_PMKSA = C.NL80211_CMD_DEL_PMKSA NL80211_CMD_DEL_STATION = C.NL80211_CMD_DEL_STATION NL80211_CMD_DEL_TX_TS = C.NL80211_CMD_DEL_TX_TS NL80211_CMD_DEL_WIPHY = C.NL80211_CMD_DEL_WIPHY NL80211_CMD_DISASSOCIATE = C.NL80211_CMD_DISASSOCIATE NL80211_CMD_DISCONNECT = C.NL80211_CMD_DISCONNECT NL80211_CMD_EXTERNAL_AUTH = C.NL80211_CMD_EXTERNAL_AUTH NL80211_CMD_FLUSH_PMKSA = C.NL80211_CMD_FLUSH_PMKSA NL80211_CMD_FRAME = C.NL80211_CMD_FRAME NL80211_CMD_FRAME_TX_STATUS = C.NL80211_CMD_FRAME_TX_STATUS NL80211_CMD_FRAME_WAIT_CANCEL = C.NL80211_CMD_FRAME_WAIT_CANCEL NL80211_CMD_FT_EVENT = C.NL80211_CMD_FT_EVENT NL80211_CMD_GET_BEACON = C.NL80211_CMD_GET_BEACON NL80211_CMD_GET_COALESCE = C.NL80211_CMD_GET_COALESCE NL80211_CMD_GET_FTM_RESPONDER_STATS = C.NL80211_CMD_GET_FTM_RESPONDER_STATS NL80211_CMD_GET_INTERFACE = C.NL80211_CMD_GET_INTERFACE NL80211_CMD_GET_KEY = C.NL80211_CMD_GET_KEY NL80211_CMD_GET_MESH_CONFIG = C.NL80211_CMD_GET_MESH_CONFIG NL80211_CMD_GET_MESH_PARAMS = C.NL80211_CMD_GET_MESH_PARAMS NL80211_CMD_GET_MPATH = C.NL80211_CMD_GET_MPATH NL80211_CMD_GET_MPP = C.NL80211_CMD_GET_MPP NL80211_CMD_GET_POWER_SAVE = C.NL80211_CMD_GET_POWER_SAVE NL80211_CMD_GET_PROTOCOL_FEATURES = C.NL80211_CMD_GET_PROTOCOL_FEATURES NL80211_CMD_GET_REG = C.NL80211_CMD_GET_REG NL80211_CMD_GET_SCAN = C.NL80211_CMD_GET_SCAN NL80211_CMD_GET_STATION = C.NL80211_CMD_GET_STATION NL80211_CMD_GET_SURVEY = C.NL80211_CMD_GET_SURVEY NL80211_CMD_GET_WIPHY = C.NL80211_CMD_GET_WIPHY NL80211_CMD_GET_WOWLAN = C.NL80211_CMD_GET_WOWLAN NL80211_CMD_JOIN_IBSS = C.NL80211_CMD_JOIN_IBSS NL80211_CMD_JOIN_MESH = C.NL80211_CMD_JOIN_MESH NL80211_CMD_JOIN_OCB = C.NL80211_CMD_JOIN_OCB NL80211_CMD_LEAVE_IBSS = C.NL80211_CMD_LEAVE_IBSS NL80211_CMD_LEAVE_MESH = C.NL80211_CMD_LEAVE_MESH NL80211_CMD_LEAVE_OCB = C.NL80211_CMD_LEAVE_OCB NL80211_CMD_MAX = C.NL80211_CMD_MAX NL80211_CMD_MICHAEL_MIC_FAILURE = C.NL80211_CMD_MICHAEL_MIC_FAILURE NL80211_CMD_MODIFY_LINK_STA = C.NL80211_CMD_MODIFY_LINK_STA NL80211_CMD_NAN_MATCH = C.NL80211_CMD_NAN_MATCH NL80211_CMD_NEW_BEACON = C.NL80211_CMD_NEW_BEACON NL80211_CMD_NEW_INTERFACE = C.NL80211_CMD_NEW_INTERFACE NL80211_CMD_NEW_KEY = C.NL80211_CMD_NEW_KEY NL80211_CMD_NEW_MPATH = C.NL80211_CMD_NEW_MPATH NL80211_CMD_NEW_PEER_CANDIDATE = C.NL80211_CMD_NEW_PEER_CANDIDATE NL80211_CMD_NEW_SCAN_RESULTS = C.NL80211_CMD_NEW_SCAN_RESULTS NL80211_CMD_NEW_STATION = C.NL80211_CMD_NEW_STATION NL80211_CMD_NEW_SURVEY_RESULTS = C.NL80211_CMD_NEW_SURVEY_RESULTS NL80211_CMD_NEW_WIPHY = C.NL80211_CMD_NEW_WIPHY NL80211_CMD_NOTIFY_CQM = C.NL80211_CMD_NOTIFY_CQM NL80211_CMD_NOTIFY_RADAR = C.NL80211_CMD_NOTIFY_RADAR NL80211_CMD_OBSS_COLOR_COLLISION = C.NL80211_CMD_OBSS_COLOR_COLLISION NL80211_CMD_PEER_MEASUREMENT_COMPLETE = C.NL80211_CMD_PEER_MEASUREMENT_COMPLETE NL80211_CMD_PEER_MEASUREMENT_RESULT = C.NL80211_CMD_PEER_MEASUREMENT_RESULT NL80211_CMD_PEER_MEASUREMENT_START = C.NL80211_CMD_PEER_MEASUREMENT_START NL80211_CMD_PMKSA_CANDIDATE = C.NL80211_CMD_PMKSA_CANDIDATE NL80211_CMD_PORT_AUTHORIZED = C.NL80211_CMD_PORT_AUTHORIZED NL80211_CMD_PROBE_CLIENT = C.NL80211_CMD_PROBE_CLIENT NL80211_CMD_PROBE_MESH_LINK = C.NL80211_CMD_PROBE_MESH_LINK NL80211_CMD_RADAR_DETECT = C.NL80211_CMD_RADAR_DETECT NL80211_CMD_REG_BEACON_HINT = C.NL80211_CMD_REG_BEACON_HINT NL80211_CMD_REG_CHANGE = C.NL80211_CMD_REG_CHANGE NL80211_CMD_REGISTER_ACTION = C.NL80211_CMD_REGISTER_ACTION NL80211_CMD_REGISTER_BEACONS = C.NL80211_CMD_REGISTER_BEACONS NL80211_CMD_REGISTER_FRAME = C.NL80211_CMD_REGISTER_FRAME NL80211_CMD_RELOAD_REGDB = C.NL80211_CMD_RELOAD_REGDB NL80211_CMD_REMAIN_ON_CHANNEL = C.NL80211_CMD_REMAIN_ON_CHANNEL NL80211_CMD_REMOVE_LINK = C.NL80211_CMD_REMOVE_LINK NL80211_CMD_REMOVE_LINK_STA = C.NL80211_CMD_REMOVE_LINK_STA NL80211_CMD_REQ_SET_REG = C.NL80211_CMD_REQ_SET_REG NL80211_CMD_ROAM = C.NL80211_CMD_ROAM NL80211_CMD_SCAN_ABORTED = C.NL80211_CMD_SCAN_ABORTED NL80211_CMD_SCHED_SCAN_RESULTS = C.NL80211_CMD_SCHED_SCAN_RESULTS NL80211_CMD_SCHED_SCAN_STOPPED = C.NL80211_CMD_SCHED_SCAN_STOPPED NL80211_CMD_SET_BEACON = C.NL80211_CMD_SET_BEACON NL80211_CMD_SET_BSS = C.NL80211_CMD_SET_BSS NL80211_CMD_SET_CHANNEL = C.NL80211_CMD_SET_CHANNEL NL80211_CMD_SET_COALESCE = C.NL80211_CMD_SET_COALESCE NL80211_CMD_SET_CQM = C.NL80211_CMD_SET_CQM NL80211_CMD_SET_FILS_AAD = C.NL80211_CMD_SET_FILS_AAD NL80211_CMD_SET_INTERFACE = C.NL80211_CMD_SET_INTERFACE NL80211_CMD_SET_KEY = C.NL80211_CMD_SET_KEY NL80211_CMD_SET_MAC_ACL = C.NL80211_CMD_SET_MAC_ACL NL80211_CMD_SET_MCAST_RATE = C.NL80211_CMD_SET_MCAST_RATE NL80211_CMD_SET_MESH_CONFIG = C.NL80211_CMD_SET_MESH_CONFIG NL80211_CMD_SET_MESH_PARAMS = C.NL80211_CMD_SET_MESH_PARAMS NL80211_CMD_SET_MGMT_EXTRA_IE = C.NL80211_CMD_SET_MGMT_EXTRA_IE NL80211_CMD_SET_MPATH = C.NL80211_CMD_SET_MPATH NL80211_CMD_SET_MULTICAST_TO_UNICAST = C.NL80211_CMD_SET_MULTICAST_TO_UNICAST NL80211_CMD_SET_NOACK_MAP = C.NL80211_CMD_SET_NOACK_MAP NL80211_CMD_SET_PMK = C.NL80211_CMD_SET_PMK NL80211_CMD_SET_PMKSA = C.NL80211_CMD_SET_PMKSA NL80211_CMD_SET_POWER_SAVE = C.NL80211_CMD_SET_POWER_SAVE NL80211_CMD_SET_QOS_MAP = C.NL80211_CMD_SET_QOS_MAP NL80211_CMD_SET_REG = C.NL80211_CMD_SET_REG NL80211_CMD_SET_REKEY_OFFLOAD = C.NL80211_CMD_SET_REKEY_OFFLOAD NL80211_CMD_SET_SAR_SPECS = C.NL80211_CMD_SET_SAR_SPECS NL80211_CMD_SET_STATION = C.NL80211_CMD_SET_STATION NL80211_CMD_SET_TID_CONFIG = C.NL80211_CMD_SET_TID_CONFIG NL80211_CMD_SET_TX_BITRATE_MASK = C.NL80211_CMD_SET_TX_BITRATE_MASK NL80211_CMD_SET_WDS_PEER = C.NL80211_CMD_SET_WDS_PEER NL80211_CMD_SET_WIPHY = C.NL80211_CMD_SET_WIPHY NL80211_CMD_SET_WIPHY_NETNS = C.NL80211_CMD_SET_WIPHY_NETNS NL80211_CMD_SET_WOWLAN = C.NL80211_CMD_SET_WOWLAN NL80211_CMD_STA_OPMODE_CHANGED = C.NL80211_CMD_STA_OPMODE_CHANGED NL80211_CMD_START_AP = C.NL80211_CMD_START_AP NL80211_CMD_START_NAN = C.NL80211_CMD_START_NAN NL80211_CMD_START_P2P_DEVICE = C.NL80211_CMD_START_P2P_DEVICE NL80211_CMD_START_SCHED_SCAN = C.NL80211_CMD_START_SCHED_SCAN NL80211_CMD_STOP_AP = C.NL80211_CMD_STOP_AP NL80211_CMD_STOP_NAN = C.NL80211_CMD_STOP_NAN NL80211_CMD_STOP_P2P_DEVICE = C.NL80211_CMD_STOP_P2P_DEVICE NL80211_CMD_STOP_SCHED_SCAN = C.NL80211_CMD_STOP_SCHED_SCAN NL80211_CMD_TDLS_CANCEL_CHANNEL_SWITCH = C.NL80211_CMD_TDLS_CANCEL_CHANNEL_SWITCH NL80211_CMD_TDLS_CHANNEL_SWITCH = C.NL80211_CMD_TDLS_CHANNEL_SWITCH NL80211_CMD_TDLS_MGMT = C.NL80211_CMD_TDLS_MGMT NL80211_CMD_TDLS_OPER = C.NL80211_CMD_TDLS_OPER NL80211_CMD_TESTMODE = C.NL80211_CMD_TESTMODE NL80211_CMD_TRIGGER_SCAN = C.NL80211_CMD_TRIGGER_SCAN NL80211_CMD_UNEXPECTED_4ADDR_FRAME = C.NL80211_CMD_UNEXPECTED_4ADDR_FRAME NL80211_CMD_UNEXPECTED_FRAME = C.NL80211_CMD_UNEXPECTED_FRAME NL80211_CMD_UNPROT_BEACON = C.NL80211_CMD_UNPROT_BEACON NL80211_CMD_UNPROT_DEAUTHENTICATE = C.NL80211_CMD_UNPROT_DEAUTHENTICATE NL80211_CMD_UNPROT_DISASSOCIATE = C.NL80211_CMD_UNPROT_DISASSOCIATE NL80211_CMD_UNSPEC = C.NL80211_CMD_UNSPEC NL80211_CMD_UPDATE_CONNECT_PARAMS = C.NL80211_CMD_UPDATE_CONNECT_PARAMS NL80211_CMD_UPDATE_FT_IES = C.NL80211_CMD_UPDATE_FT_IES NL80211_CMD_UPDATE_OWE_INFO = C.NL80211_CMD_UPDATE_OWE_INFO NL80211_CMD_VENDOR = C.NL80211_CMD_VENDOR NL80211_CMD_WIPHY_REG_CHANGE = C.NL80211_CMD_WIPHY_REG_CHANGE NL80211_COALESCE_CONDITION_MATCH = C.NL80211_COALESCE_CONDITION_MATCH NL80211_COALESCE_CONDITION_NO_MATCH = C.NL80211_COALESCE_CONDITION_NO_MATCH NL80211_CONN_FAIL_BLOCKED_CLIENT = C.NL80211_CONN_FAIL_BLOCKED_CLIENT NL80211_CONN_FAIL_MAX_CLIENTS = C.NL80211_CONN_FAIL_MAX_CLIENTS NL80211_CQM_RSSI_BEACON_LOSS_EVENT = C.NL80211_CQM_RSSI_BEACON_LOSS_EVENT NL80211_CQM_RSSI_THRESHOLD_EVENT_HIGH = C.NL80211_CQM_RSSI_THRESHOLD_EVENT_HIGH NL80211_CQM_RSSI_THRESHOLD_EVENT_LOW = C.NL80211_CQM_RSSI_THRESHOLD_EVENT_LOW NL80211_CQM_TXE_MAX_INTVL = C.NL80211_CQM_TXE_MAX_INTVL NL80211_CRIT_PROTO_APIPA = C.NL80211_CRIT_PROTO_APIPA NL80211_CRIT_PROTO_DHCP = C.NL80211_CRIT_PROTO_DHCP NL80211_CRIT_PROTO_EAPOL = C.NL80211_CRIT_PROTO_EAPOL NL80211_CRIT_PROTO_MAX_DURATION = C.NL80211_CRIT_PROTO_MAX_DURATION NL80211_CRIT_PROTO_UNSPEC = C.NL80211_CRIT_PROTO_UNSPEC NL80211_DFS_AVAILABLE = C.NL80211_DFS_AVAILABLE NL80211_DFS_ETSI = C.NL80211_DFS_ETSI NL80211_DFS_FCC = C.NL80211_DFS_FCC NL80211_DFS_JP = C.NL80211_DFS_JP NL80211_DFS_UNAVAILABLE = C.NL80211_DFS_UNAVAILABLE NL80211_DFS_UNSET = C.NL80211_DFS_UNSET NL80211_DFS_USABLE = C.NL80211_DFS_USABLE NL80211_EDMG_BW_CONFIG_MAX = C.NL80211_EDMG_BW_CONFIG_MAX NL80211_EDMG_BW_CONFIG_MIN = C.NL80211_EDMG_BW_CONFIG_MIN NL80211_EDMG_CHANNELS_MAX = C.NL80211_EDMG_CHANNELS_MAX NL80211_EDMG_CHANNELS_MIN = C.NL80211_EDMG_CHANNELS_MIN NL80211_EHT_MAX_CAPABILITY_LEN = C.NL80211_EHT_MAX_CAPABILITY_LEN NL80211_EHT_MIN_CAPABILITY_LEN = C.NL80211_EHT_MIN_CAPABILITY_LEN NL80211_EXTERNAL_AUTH_ABORT = C.NL80211_EXTERNAL_AUTH_ABORT NL80211_EXTERNAL_AUTH_START = C.NL80211_EXTERNAL_AUTH_START NL80211_EXT_FEATURE_4WAY_HANDSHAKE_AP_PSK = C.NL80211_EXT_FEATURE_4WAY_HANDSHAKE_AP_PSK NL80211_EXT_FEATURE_4WAY_HANDSHAKE_STA_1X = C.NL80211_EXT_FEATURE_4WAY_HANDSHAKE_STA_1X NL80211_EXT_FEATURE_4WAY_HANDSHAKE_STA_PSK = C.NL80211_EXT_FEATURE_4WAY_HANDSHAKE_STA_PSK NL80211_EXT_FEATURE_ACCEPT_BCAST_PROBE_RESP = C.NL80211_EXT_FEATURE_ACCEPT_BCAST_PROBE_RESP NL80211_EXT_FEATURE_ACK_SIGNAL_SUPPORT = C.NL80211_EXT_FEATURE_ACK_SIGNAL_SUPPORT NL80211_EXT_FEATURE_AIRTIME_FAIRNESS = C.NL80211_EXT_FEATURE_AIRTIME_FAIRNESS NL80211_EXT_FEATURE_AP_PMKSA_CACHING = C.NL80211_EXT_FEATURE_AP_PMKSA_CACHING NL80211_EXT_FEATURE_AQL = C.NL80211_EXT_FEATURE_AQL NL80211_EXT_FEATURE_BEACON_PROTECTION_CLIENT = C.NL80211_EXT_FEATURE_BEACON_PROTECTION_CLIENT NL80211_EXT_FEATURE_BEACON_PROTECTION = C.NL80211_EXT_FEATURE_BEACON_PROTECTION NL80211_EXT_FEATURE_BEACON_RATE_HE = C.NL80211_EXT_FEATURE_BEACON_RATE_HE NL80211_EXT_FEATURE_BEACON_RATE_HT = C.NL80211_EXT_FEATURE_BEACON_RATE_HT NL80211_EXT_FEATURE_BEACON_RATE_LEGACY = C.NL80211_EXT_FEATURE_BEACON_RATE_LEGACY NL80211_EXT_FEATURE_BEACON_RATE_VHT = C.NL80211_EXT_FEATURE_BEACON_RATE_VHT NL80211_EXT_FEATURE_BSS_COLOR = C.NL80211_EXT_FEATURE_BSS_COLOR NL80211_EXT_FEATURE_BSS_PARENT_TSF = C.NL80211_EXT_FEATURE_BSS_PARENT_TSF NL80211_EXT_FEATURE_CAN_REPLACE_PTK0 = C.NL80211_EXT_FEATURE_CAN_REPLACE_PTK0 NL80211_EXT_FEATURE_CONTROL_PORT_NO_PREAUTH = C.NL80211_EXT_FEATURE_CONTROL_PORT_NO_PREAUTH NL80211_EXT_FEATURE_CONTROL_PORT_OVER_NL80211 = C.NL80211_EXT_FEATURE_CONTROL_PORT_OVER_NL80211 NL80211_EXT_FEATURE_CONTROL_PORT_OVER_NL80211_TX_STATUS = C.NL80211_EXT_FEATURE_CONTROL_PORT_OVER_NL80211_TX_STATUS NL80211_EXT_FEATURE_CQM_RSSI_LIST = C.NL80211_EXT_FEATURE_CQM_RSSI_LIST NL80211_EXT_FEATURE_DATA_ACK_SIGNAL_SUPPORT = C.NL80211_EXT_FEATURE_DATA_ACK_SIGNAL_SUPPORT NL80211_EXT_FEATURE_DEL_IBSS_STA = C.NL80211_EXT_FEATURE_DEL_IBSS_STA NL80211_EXT_FEATURE_DFS_OFFLOAD = C.NL80211_EXT_FEATURE_DFS_OFFLOAD NL80211_EXT_FEATURE_ENABLE_FTM_RESPONDER = C.NL80211_EXT_FEATURE_ENABLE_FTM_RESPONDER NL80211_EXT_FEATURE_EXT_KEY_ID = C.NL80211_EXT_FEATURE_EXT_KEY_ID NL80211_EXT_FEATURE_FILS_CRYPTO_OFFLOAD = C.NL80211_EXT_FEATURE_FILS_CRYPTO_OFFLOAD NL80211_EXT_FEATURE_FILS_DISCOVERY = C.NL80211_EXT_FEATURE_FILS_DISCOVERY NL80211_EXT_FEATURE_FILS_MAX_CHANNEL_TIME = C.NL80211_EXT_FEATURE_FILS_MAX_CHANNEL_TIME NL80211_EXT_FEATURE_FILS_SK_OFFLOAD = C.NL80211_EXT_FEATURE_FILS_SK_OFFLOAD NL80211_EXT_FEATURE_FILS_STA = C.NL80211_EXT_FEATURE_FILS_STA NL80211_EXT_FEATURE_HIGH_ACCURACY_SCAN = C.NL80211_EXT_FEATURE_HIGH_ACCURACY_SCAN NL80211_EXT_FEATURE_LOW_POWER_SCAN = C.NL80211_EXT_FEATURE_LOW_POWER_SCAN NL80211_EXT_FEATURE_LOW_SPAN_SCAN = C.NL80211_EXT_FEATURE_LOW_SPAN_SCAN NL80211_EXT_FEATURE_MFP_OPTIONAL = C.NL80211_EXT_FEATURE_MFP_OPTIONAL NL80211_EXT_FEATURE_MGMT_TX_RANDOM_TA = C.NL80211_EXT_FEATURE_MGMT_TX_RANDOM_TA NL80211_EXT_FEATURE_MGMT_TX_RANDOM_TA_CONNECTED = C.NL80211_EXT_FEATURE_MGMT_TX_RANDOM_TA_CONNECTED NL80211_EXT_FEATURE_MULTICAST_REGISTRATIONS = C.NL80211_EXT_FEATURE_MULTICAST_REGISTRATIONS NL80211_EXT_FEATURE_MU_MIMO_AIR_SNIFFER = C.NL80211_EXT_FEATURE_MU_MIMO_AIR_SNIFFER NL80211_EXT_FEATURE_OCE_PROBE_REQ_DEFERRAL_SUPPRESSION = C.NL80211_EXT_FEATURE_OCE_PROBE_REQ_DEFERRAL_SUPPRESSION NL80211_EXT_FEATURE_OCE_PROBE_REQ_HIGH_TX_RATE = C.NL80211_EXT_FEATURE_OCE_PROBE_REQ_HIGH_TX_RATE NL80211_EXT_FEATURE_OPERATING_CHANNEL_VALIDATION = C.NL80211_EXT_FEATURE_OPERATING_CHANNEL_VALIDATION NL80211_EXT_FEATURE_POWERED_ADDR_CHANGE = C.NL80211_EXT_FEATURE_POWERED_ADDR_CHANGE NL80211_EXT_FEATURE_PROTECTED_TWT = C.NL80211_EXT_FEATURE_PROTECTED_TWT NL80211_EXT_FEATURE_PROT_RANGE_NEGO_AND_MEASURE = C.NL80211_EXT_FEATURE_PROT_RANGE_NEGO_AND_MEASURE NL80211_EXT_FEATURE_RADAR_BACKGROUND = C.NL80211_EXT_FEATURE_RADAR_BACKGROUND NL80211_EXT_FEATURE_RRM = C.NL80211_EXT_FEATURE_RRM NL80211_EXT_FEATURE_SAE_OFFLOAD_AP = C.NL80211_EXT_FEATURE_SAE_OFFLOAD_AP NL80211_EXT_FEATURE_SAE_OFFLOAD = C.NL80211_EXT_FEATURE_SAE_OFFLOAD NL80211_EXT_FEATURE_SCAN_FREQ_KHZ = C.NL80211_EXT_FEATURE_SCAN_FREQ_KHZ NL80211_EXT_FEATURE_SCAN_MIN_PREQ_CONTENT = C.NL80211_EXT_FEATURE_SCAN_MIN_PREQ_CONTENT NL80211_EXT_FEATURE_SCAN_RANDOM_SN = C.NL80211_EXT_FEATURE_SCAN_RANDOM_SN NL80211_EXT_FEATURE_SCAN_START_TIME = C.NL80211_EXT_FEATURE_SCAN_START_TIME NL80211_EXT_FEATURE_SCHED_SCAN_BAND_SPECIFIC_RSSI_THOLD = C.NL80211_EXT_FEATURE_SCHED_SCAN_BAND_SPECIFIC_RSSI_THOLD NL80211_EXT_FEATURE_SCHED_SCAN_RELATIVE_RSSI = C.NL80211_EXT_FEATURE_SCHED_SCAN_RELATIVE_RSSI NL80211_EXT_FEATURE_SECURE_LTF = C.NL80211_EXT_FEATURE_SECURE_LTF NL80211_EXT_FEATURE_SECURE_RTT = C.NL80211_EXT_FEATURE_SECURE_RTT NL80211_EXT_FEATURE_SET_SCAN_DWELL = C.NL80211_EXT_FEATURE_SET_SCAN_DWELL NL80211_EXT_FEATURE_STA_TX_PWR = C.NL80211_EXT_FEATURE_STA_TX_PWR NL80211_EXT_FEATURE_TXQS = C.NL80211_EXT_FEATURE_TXQS NL80211_EXT_FEATURE_UNSOL_BCAST_PROBE_RESP = C.NL80211_EXT_FEATURE_UNSOL_BCAST_PROBE_RESP NL80211_EXT_FEATURE_VHT_IBSS = C.NL80211_EXT_FEATURE_VHT_IBSS NL80211_EXT_FEATURE_VLAN_OFFLOAD = C.NL80211_EXT_FEATURE_VLAN_OFFLOAD NL80211_FEATURE_ACKTO_ESTIMATION = C.NL80211_FEATURE_ACKTO_ESTIMATION NL80211_FEATURE_ACTIVE_MONITOR = C.NL80211_FEATURE_ACTIVE_MONITOR NL80211_FEATURE_ADVERTISE_CHAN_LIMITS = C.NL80211_FEATURE_ADVERTISE_CHAN_LIMITS NL80211_FEATURE_AP_MODE_CHAN_WIDTH_CHANGE = C.NL80211_FEATURE_AP_MODE_CHAN_WIDTH_CHANGE NL80211_FEATURE_AP_SCAN = C.NL80211_FEATURE_AP_SCAN NL80211_FEATURE_CELL_BASE_REG_HINTS = C.NL80211_FEATURE_CELL_BASE_REG_HINTS NL80211_FEATURE_DS_PARAM_SET_IE_IN_PROBES = C.NL80211_FEATURE_DS_PARAM_SET_IE_IN_PROBES NL80211_FEATURE_DYNAMIC_SMPS = C.NL80211_FEATURE_DYNAMIC_SMPS NL80211_FEATURE_FULL_AP_CLIENT_STATE = C.NL80211_FEATURE_FULL_AP_CLIENT_STATE NL80211_FEATURE_HT_IBSS = C.NL80211_FEATURE_HT_IBSS NL80211_FEATURE_INACTIVITY_TIMER = C.NL80211_FEATURE_INACTIVITY_TIMER NL80211_FEATURE_LOW_PRIORITY_SCAN = C.NL80211_FEATURE_LOW_PRIORITY_SCAN NL80211_FEATURE_MAC_ON_CREATE = C.NL80211_FEATURE_MAC_ON_CREATE NL80211_FEATURE_ND_RANDOM_MAC_ADDR = C.NL80211_FEATURE_ND_RANDOM_MAC_ADDR NL80211_FEATURE_NEED_OBSS_SCAN = C.NL80211_FEATURE_NEED_OBSS_SCAN NL80211_FEATURE_P2P_DEVICE_NEEDS_CHANNEL = C.NL80211_FEATURE_P2P_DEVICE_NEEDS_CHANNEL NL80211_FEATURE_P2P_GO_CTWIN = C.NL80211_FEATURE_P2P_GO_CTWIN NL80211_FEATURE_P2P_GO_OPPPS = C.NL80211_FEATURE_P2P_GO_OPPPS NL80211_FEATURE_QUIET = C.NL80211_FEATURE_QUIET NL80211_FEATURE_SAE = C.NL80211_FEATURE_SAE NL80211_FEATURE_SCAN_FLUSH = C.NL80211_FEATURE_SCAN_FLUSH NL80211_FEATURE_SCAN_RANDOM_MAC_ADDR = C.NL80211_FEATURE_SCAN_RANDOM_MAC_ADDR NL80211_FEATURE_SCHED_SCAN_RANDOM_MAC_ADDR = C.NL80211_FEATURE_SCHED_SCAN_RANDOM_MAC_ADDR NL80211_FEATURE_SK_TX_STATUS = C.NL80211_FEATURE_SK_TX_STATUS NL80211_FEATURE_STATIC_SMPS = C.NL80211_FEATURE_STATIC_SMPS NL80211_FEATURE_SUPPORTS_WMM_ADMISSION = C.NL80211_FEATURE_SUPPORTS_WMM_ADMISSION NL80211_FEATURE_TDLS_CHANNEL_SWITCH = C.NL80211_FEATURE_TDLS_CHANNEL_SWITCH NL80211_FEATURE_TX_POWER_INSERTION = C.NL80211_FEATURE_TX_POWER_INSERTION NL80211_FEATURE_USERSPACE_MPM = C.NL80211_FEATURE_USERSPACE_MPM NL80211_FEATURE_VIF_TXPOWER = C.NL80211_FEATURE_VIF_TXPOWER NL80211_FEATURE_WFA_TPC_IE_IN_PROBES = C.NL80211_FEATURE_WFA_TPC_IE_IN_PROBES NL80211_FILS_DISCOVERY_ATTR_INT_MAX = C.NL80211_FILS_DISCOVERY_ATTR_INT_MAX NL80211_FILS_DISCOVERY_ATTR_INT_MIN = C.NL80211_FILS_DISCOVERY_ATTR_INT_MIN NL80211_FILS_DISCOVERY_ATTR_MAX = C.NL80211_FILS_DISCOVERY_ATTR_MAX NL80211_FILS_DISCOVERY_ATTR_TMPL = C.NL80211_FILS_DISCOVERY_ATTR_TMPL NL80211_FILS_DISCOVERY_TMPL_MIN_LEN = C.NL80211_FILS_DISCOVERY_TMPL_MIN_LEN NL80211_FREQUENCY_ATTR_16MHZ = C.NL80211_FREQUENCY_ATTR_16MHZ NL80211_FREQUENCY_ATTR_1MHZ = C.NL80211_FREQUENCY_ATTR_1MHZ NL80211_FREQUENCY_ATTR_2MHZ = C.NL80211_FREQUENCY_ATTR_2MHZ NL80211_FREQUENCY_ATTR_4MHZ = C.NL80211_FREQUENCY_ATTR_4MHZ NL80211_FREQUENCY_ATTR_8MHZ = C.NL80211_FREQUENCY_ATTR_8MHZ NL80211_FREQUENCY_ATTR_DFS_CAC_TIME = C.NL80211_FREQUENCY_ATTR_DFS_CAC_TIME NL80211_FREQUENCY_ATTR_DFS_STATE = C.NL80211_FREQUENCY_ATTR_DFS_STATE NL80211_FREQUENCY_ATTR_DFS_TIME = C.NL80211_FREQUENCY_ATTR_DFS_TIME NL80211_FREQUENCY_ATTR_DISABLED = C.NL80211_FREQUENCY_ATTR_DISABLED NL80211_FREQUENCY_ATTR_FREQ = C.NL80211_FREQUENCY_ATTR_FREQ NL80211_FREQUENCY_ATTR_GO_CONCURRENT = C.NL80211_FREQUENCY_ATTR_GO_CONCURRENT NL80211_FREQUENCY_ATTR_INDOOR_ONLY = C.NL80211_FREQUENCY_ATTR_INDOOR_ONLY NL80211_FREQUENCY_ATTR_IR_CONCURRENT = C.NL80211_FREQUENCY_ATTR_IR_CONCURRENT NL80211_FREQUENCY_ATTR_MAX = C.NL80211_FREQUENCY_ATTR_MAX NL80211_FREQUENCY_ATTR_MAX_TX_POWER = C.NL80211_FREQUENCY_ATTR_MAX_TX_POWER NL80211_FREQUENCY_ATTR_NO_10MHZ = C.NL80211_FREQUENCY_ATTR_NO_10MHZ NL80211_FREQUENCY_ATTR_NO_160MHZ = C.NL80211_FREQUENCY_ATTR_NO_160MHZ NL80211_FREQUENCY_ATTR_NO_20MHZ = C.NL80211_FREQUENCY_ATTR_NO_20MHZ NL80211_FREQUENCY_ATTR_NO_320MHZ = C.NL80211_FREQUENCY_ATTR_NO_320MHZ NL80211_FREQUENCY_ATTR_NO_80MHZ = C.NL80211_FREQUENCY_ATTR_NO_80MHZ NL80211_FREQUENCY_ATTR_NO_EHT = C.NL80211_FREQUENCY_ATTR_NO_EHT NL80211_FREQUENCY_ATTR_NO_HE = C.NL80211_FREQUENCY_ATTR_NO_HE NL80211_FREQUENCY_ATTR_NO_HT40_MINUS = C.NL80211_FREQUENCY_ATTR_NO_HT40_MINUS NL80211_FREQUENCY_ATTR_NO_HT40_PLUS = C.NL80211_FREQUENCY_ATTR_NO_HT40_PLUS NL80211_FREQUENCY_ATTR_NO_IBSS = C.NL80211_FREQUENCY_ATTR_NO_IBSS NL80211_FREQUENCY_ATTR_NO_IR = C.NL80211_FREQUENCY_ATTR_NO_IR NL80211_FREQUENCY_ATTR_OFFSET = C.NL80211_FREQUENCY_ATTR_OFFSET NL80211_FREQUENCY_ATTR_PASSIVE_SCAN = C.NL80211_FREQUENCY_ATTR_PASSIVE_SCAN NL80211_FREQUENCY_ATTR_RADAR = C.NL80211_FREQUENCY_ATTR_RADAR NL80211_FREQUENCY_ATTR_WMM = C.NL80211_FREQUENCY_ATTR_WMM NL80211_FTM_RESP_ATTR_CIVICLOC = C.NL80211_FTM_RESP_ATTR_CIVICLOC NL80211_FTM_RESP_ATTR_ENABLED = C.NL80211_FTM_RESP_ATTR_ENABLED NL80211_FTM_RESP_ATTR_LCI = C.NL80211_FTM_RESP_ATTR_LCI NL80211_FTM_RESP_ATTR_MAX = C.NL80211_FTM_RESP_ATTR_MAX NL80211_FTM_STATS_ASAP_NUM = C.NL80211_FTM_STATS_ASAP_NUM NL80211_FTM_STATS_FAILED_NUM = C.NL80211_FTM_STATS_FAILED_NUM NL80211_FTM_STATS_MAX = C.NL80211_FTM_STATS_MAX NL80211_FTM_STATS_NON_ASAP_NUM = C.NL80211_FTM_STATS_NON_ASAP_NUM NL80211_FTM_STATS_OUT_OF_WINDOW_TRIGGERS_NUM = C.NL80211_FTM_STATS_OUT_OF_WINDOW_TRIGGERS_NUM NL80211_FTM_STATS_PAD = C.NL80211_FTM_STATS_PAD NL80211_FTM_STATS_PARTIAL_NUM = C.NL80211_FTM_STATS_PARTIAL_NUM NL80211_FTM_STATS_RESCHEDULE_REQUESTS_NUM = C.NL80211_FTM_STATS_RESCHEDULE_REQUESTS_NUM NL80211_FTM_STATS_SUCCESS_NUM = C.NL80211_FTM_STATS_SUCCESS_NUM NL80211_FTM_STATS_TOTAL_DURATION_MSEC = C.NL80211_FTM_STATS_TOTAL_DURATION_MSEC NL80211_FTM_STATS_UNKNOWN_TRIGGERS_NUM = C.NL80211_FTM_STATS_UNKNOWN_TRIGGERS_NUM NL80211_GENL_NAME = C.NL80211_GENL_NAME NL80211_HE_BSS_COLOR_ATTR_COLOR = C.NL80211_HE_BSS_COLOR_ATTR_COLOR NL80211_HE_BSS_COLOR_ATTR_DISABLED = C.NL80211_HE_BSS_COLOR_ATTR_DISABLED NL80211_HE_BSS_COLOR_ATTR_MAX = C.NL80211_HE_BSS_COLOR_ATTR_MAX NL80211_HE_BSS_COLOR_ATTR_PARTIAL = C.NL80211_HE_BSS_COLOR_ATTR_PARTIAL NL80211_HE_MAX_CAPABILITY_LEN = C.NL80211_HE_MAX_CAPABILITY_LEN NL80211_HE_MIN_CAPABILITY_LEN = C.NL80211_HE_MIN_CAPABILITY_LEN NL80211_HE_NSS_MAX = C.NL80211_HE_NSS_MAX NL80211_HE_OBSS_PD_ATTR_BSS_COLOR_BITMAP = C.NL80211_HE_OBSS_PD_ATTR_BSS_COLOR_BITMAP NL80211_HE_OBSS_PD_ATTR_MAX = C.NL80211_HE_OBSS_PD_ATTR_MAX NL80211_HE_OBSS_PD_ATTR_MAX_OFFSET = C.NL80211_HE_OBSS_PD_ATTR_MAX_OFFSET NL80211_HE_OBSS_PD_ATTR_MIN_OFFSET = C.NL80211_HE_OBSS_PD_ATTR_MIN_OFFSET NL80211_HE_OBSS_PD_ATTR_NON_SRG_MAX_OFFSET = C.NL80211_HE_OBSS_PD_ATTR_NON_SRG_MAX_OFFSET NL80211_HE_OBSS_PD_ATTR_PARTIAL_BSSID_BITMAP = C.NL80211_HE_OBSS_PD_ATTR_PARTIAL_BSSID_BITMAP NL80211_HE_OBSS_PD_ATTR_SR_CTRL = C.NL80211_HE_OBSS_PD_ATTR_SR_CTRL NL80211_HIDDEN_SSID_NOT_IN_USE = C.NL80211_HIDDEN_SSID_NOT_IN_USE NL80211_HIDDEN_SSID_ZERO_CONTENTS = C.NL80211_HIDDEN_SSID_ZERO_CONTENTS NL80211_HIDDEN_SSID_ZERO_LEN = C.NL80211_HIDDEN_SSID_ZERO_LEN NL80211_HT_CAPABILITY_LEN = C.NL80211_HT_CAPABILITY_LEN NL80211_IFACE_COMB_BI_MIN_GCD = C.NL80211_IFACE_COMB_BI_MIN_GCD NL80211_IFACE_COMB_LIMITS = C.NL80211_IFACE_COMB_LIMITS NL80211_IFACE_COMB_MAXNUM = C.NL80211_IFACE_COMB_MAXNUM NL80211_IFACE_COMB_NUM_CHANNELS = C.NL80211_IFACE_COMB_NUM_CHANNELS NL80211_IFACE_COMB_RADAR_DETECT_REGIONS = C.NL80211_IFACE_COMB_RADAR_DETECT_REGIONS NL80211_IFACE_COMB_RADAR_DETECT_WIDTHS = C.NL80211_IFACE_COMB_RADAR_DETECT_WIDTHS NL80211_IFACE_COMB_STA_AP_BI_MATCH = C.NL80211_IFACE_COMB_STA_AP_BI_MATCH NL80211_IFACE_COMB_UNSPEC = C.NL80211_IFACE_COMB_UNSPEC NL80211_IFACE_LIMIT_MAX = C.NL80211_IFACE_LIMIT_MAX NL80211_IFACE_LIMIT_TYPES = C.NL80211_IFACE_LIMIT_TYPES NL80211_IFACE_LIMIT_UNSPEC = C.NL80211_IFACE_LIMIT_UNSPEC NL80211_IFTYPE_ADHOC = C.NL80211_IFTYPE_ADHOC NL80211_IFTYPE_AKM_ATTR_IFTYPES = C.NL80211_IFTYPE_AKM_ATTR_IFTYPES NL80211_IFTYPE_AKM_ATTR_MAX = C.NL80211_IFTYPE_AKM_ATTR_MAX NL80211_IFTYPE_AKM_ATTR_SUITES = C.NL80211_IFTYPE_AKM_ATTR_SUITES NL80211_IFTYPE_AP = C.NL80211_IFTYPE_AP NL80211_IFTYPE_AP_VLAN = C.NL80211_IFTYPE_AP_VLAN NL80211_IFTYPE_MAX = C.NL80211_IFTYPE_MAX NL80211_IFTYPE_MESH_POINT = C.NL80211_IFTYPE_MESH_POINT NL80211_IFTYPE_MONITOR = C.NL80211_IFTYPE_MONITOR NL80211_IFTYPE_NAN = C.NL80211_IFTYPE_NAN NL80211_IFTYPE_OCB = C.NL80211_IFTYPE_OCB NL80211_IFTYPE_P2P_CLIENT = C.NL80211_IFTYPE_P2P_CLIENT NL80211_IFTYPE_P2P_DEVICE = C.NL80211_IFTYPE_P2P_DEVICE NL80211_IFTYPE_P2P_GO = C.NL80211_IFTYPE_P2P_GO NL80211_IFTYPE_STATION = C.NL80211_IFTYPE_STATION NL80211_IFTYPE_UNSPECIFIED = C.NL80211_IFTYPE_UNSPECIFIED NL80211_IFTYPE_WDS = C.NL80211_IFTYPE_WDS NL80211_KCK_EXT_LEN = C.NL80211_KCK_EXT_LEN NL80211_KCK_LEN = C.NL80211_KCK_LEN NL80211_KEK_EXT_LEN = C.NL80211_KEK_EXT_LEN NL80211_KEK_LEN = C.NL80211_KEK_LEN NL80211_KEY_CIPHER = C.NL80211_KEY_CIPHER NL80211_KEY_DATA = C.NL80211_KEY_DATA NL80211_KEY_DEFAULT_BEACON = C.NL80211_KEY_DEFAULT_BEACON NL80211_KEY_DEFAULT = C.NL80211_KEY_DEFAULT NL80211_KEY_DEFAULT_MGMT = C.NL80211_KEY_DEFAULT_MGMT NL80211_KEY_DEFAULT_TYPE_MULTICAST = C.NL80211_KEY_DEFAULT_TYPE_MULTICAST NL80211_KEY_DEFAULT_TYPES = C.NL80211_KEY_DEFAULT_TYPES NL80211_KEY_DEFAULT_TYPE_UNICAST = C.NL80211_KEY_DEFAULT_TYPE_UNICAST NL80211_KEY_IDX = C.NL80211_KEY_IDX NL80211_KEY_MAX = C.NL80211_KEY_MAX NL80211_KEY_MODE = C.NL80211_KEY_MODE NL80211_KEY_NO_TX = C.NL80211_KEY_NO_TX NL80211_KEY_RX_TX = C.NL80211_KEY_RX_TX NL80211_KEY_SEQ = C.NL80211_KEY_SEQ NL80211_KEY_SET_TX = C.NL80211_KEY_SET_TX NL80211_KEY_TYPE = C.NL80211_KEY_TYPE NL80211_KEYTYPE_GROUP = C.NL80211_KEYTYPE_GROUP NL80211_KEYTYPE_PAIRWISE = C.NL80211_KEYTYPE_PAIRWISE NL80211_KEYTYPE_PEERKEY = C.NL80211_KEYTYPE_PEERKEY NL80211_MAX_NR_AKM_SUITES = C.NL80211_MAX_NR_AKM_SUITES NL80211_MAX_NR_CIPHER_SUITES = C.NL80211_MAX_NR_CIPHER_SUITES NL80211_MAX_SUPP_HT_RATES = C.NL80211_MAX_SUPP_HT_RATES NL80211_MAX_SUPP_RATES = C.NL80211_MAX_SUPP_RATES NL80211_MAX_SUPP_REG_RULES = C.NL80211_MAX_SUPP_REG_RULES NL80211_MBSSID_CONFIG_ATTR_EMA = C.NL80211_MBSSID_CONFIG_ATTR_EMA NL80211_MBSSID_CONFIG_ATTR_INDEX = C.NL80211_MBSSID_CONFIG_ATTR_INDEX NL80211_MBSSID_CONFIG_ATTR_MAX = C.NL80211_MBSSID_CONFIG_ATTR_MAX NL80211_MBSSID_CONFIG_ATTR_MAX_EMA_PROFILE_PERIODICITY = C.NL80211_MBSSID_CONFIG_ATTR_MAX_EMA_PROFILE_PERIODICITY NL80211_MBSSID_CONFIG_ATTR_MAX_INTERFACES = C.NL80211_MBSSID_CONFIG_ATTR_MAX_INTERFACES NL80211_MBSSID_CONFIG_ATTR_TX_IFINDEX = C.NL80211_MBSSID_CONFIG_ATTR_TX_IFINDEX NL80211_MESHCONF_ATTR_MAX = C.NL80211_MESHCONF_ATTR_MAX NL80211_MESHCONF_AUTO_OPEN_PLINKS = C.NL80211_MESHCONF_AUTO_OPEN_PLINKS NL80211_MESHCONF_AWAKE_WINDOW = C.NL80211_MESHCONF_AWAKE_WINDOW NL80211_MESHCONF_CONFIRM_TIMEOUT = C.NL80211_MESHCONF_CONFIRM_TIMEOUT NL80211_MESHCONF_CONNECTED_TO_AS = C.NL80211_MESHCONF_CONNECTED_TO_AS NL80211_MESHCONF_CONNECTED_TO_GATE = C.NL80211_MESHCONF_CONNECTED_TO_GATE NL80211_MESHCONF_ELEMENT_TTL = C.NL80211_MESHCONF_ELEMENT_TTL NL80211_MESHCONF_FORWARDING = C.NL80211_MESHCONF_FORWARDING NL80211_MESHCONF_GATE_ANNOUNCEMENTS = C.NL80211_MESHCONF_GATE_ANNOUNCEMENTS NL80211_MESHCONF_HOLDING_TIMEOUT = C.NL80211_MESHCONF_HOLDING_TIMEOUT NL80211_MESHCONF_HT_OPMODE = C.NL80211_MESHCONF_HT_OPMODE NL80211_MESHCONF_HWMP_ACTIVE_PATH_TIMEOUT = C.NL80211_MESHCONF_HWMP_ACTIVE_PATH_TIMEOUT NL80211_MESHCONF_HWMP_CONFIRMATION_INTERVAL = C.NL80211_MESHCONF_HWMP_CONFIRMATION_INTERVAL NL80211_MESHCONF_HWMP_MAX_PREQ_RETRIES = C.NL80211_MESHCONF_HWMP_MAX_PREQ_RETRIES NL80211_MESHCONF_HWMP_NET_DIAM_TRVS_TIME = C.NL80211_MESHCONF_HWMP_NET_DIAM_TRVS_TIME NL80211_MESHCONF_HWMP_PATH_TO_ROOT_TIMEOUT = C.NL80211_MESHCONF_HWMP_PATH_TO_ROOT_TIMEOUT NL80211_MESHCONF_HWMP_PERR_MIN_INTERVAL = C.NL80211_MESHCONF_HWMP_PERR_MIN_INTERVAL NL80211_MESHCONF_HWMP_PREQ_MIN_INTERVAL = C.NL80211_MESHCONF_HWMP_PREQ_MIN_INTERVAL NL80211_MESHCONF_HWMP_RANN_INTERVAL = C.NL80211_MESHCONF_HWMP_RANN_INTERVAL NL80211_MESHCONF_HWMP_ROOT_INTERVAL = C.NL80211_MESHCONF_HWMP_ROOT_INTERVAL NL80211_MESHCONF_HWMP_ROOTMODE = C.NL80211_MESHCONF_HWMP_ROOTMODE NL80211_MESHCONF_MAX_PEER_LINKS = C.NL80211_MESHCONF_MAX_PEER_LINKS NL80211_MESHCONF_MAX_RETRIES = C.NL80211_MESHCONF_MAX_RETRIES NL80211_MESHCONF_MIN_DISCOVERY_TIMEOUT = C.NL80211_MESHCONF_MIN_DISCOVERY_TIMEOUT NL80211_MESHCONF_NOLEARN = C.NL80211_MESHCONF_NOLEARN NL80211_MESHCONF_PATH_REFRESH_TIME = C.NL80211_MESHCONF_PATH_REFRESH_TIME NL80211_MESHCONF_PLINK_TIMEOUT = C.NL80211_MESHCONF_PLINK_TIMEOUT NL80211_MESHCONF_POWER_MODE = C.NL80211_MESHCONF_POWER_MODE NL80211_MESHCONF_RETRY_TIMEOUT = C.NL80211_MESHCONF_RETRY_TIMEOUT NL80211_MESHCONF_RSSI_THRESHOLD = C.NL80211_MESHCONF_RSSI_THRESHOLD NL80211_MESHCONF_SYNC_OFFSET_MAX_NEIGHBOR = C.NL80211_MESHCONF_SYNC_OFFSET_MAX_NEIGHBOR NL80211_MESHCONF_TTL = C.NL80211_MESHCONF_TTL NL80211_MESH_POWER_ACTIVE = C.NL80211_MESH_POWER_ACTIVE NL80211_MESH_POWER_DEEP_SLEEP = C.NL80211_MESH_POWER_DEEP_SLEEP NL80211_MESH_POWER_LIGHT_SLEEP = C.NL80211_MESH_POWER_LIGHT_SLEEP NL80211_MESH_POWER_MAX = C.NL80211_MESH_POWER_MAX NL80211_MESH_POWER_UNKNOWN = C.NL80211_MESH_POWER_UNKNOWN NL80211_MESH_SETUP_ATTR_MAX = C.NL80211_MESH_SETUP_ATTR_MAX NL80211_MESH_SETUP_AUTH_PROTOCOL = C.NL80211_MESH_SETUP_AUTH_PROTOCOL NL80211_MESH_SETUP_ENABLE_VENDOR_METRIC = C.NL80211_MESH_SETUP_ENABLE_VENDOR_METRIC NL80211_MESH_SETUP_ENABLE_VENDOR_PATH_SEL = C.NL80211_MESH_SETUP_ENABLE_VENDOR_PATH_SEL NL80211_MESH_SETUP_ENABLE_VENDOR_SYNC = C.NL80211_MESH_SETUP_ENABLE_VENDOR_SYNC NL80211_MESH_SETUP_IE = C.NL80211_MESH_SETUP_IE NL80211_MESH_SETUP_USERSPACE_AMPE = C.NL80211_MESH_SETUP_USERSPACE_AMPE NL80211_MESH_SETUP_USERSPACE_AUTH = C.NL80211_MESH_SETUP_USERSPACE_AUTH NL80211_MESH_SETUP_USERSPACE_MPM = C.NL80211_MESH_SETUP_USERSPACE_MPM NL80211_MESH_SETUP_VENDOR_PATH_SEL_IE = C.NL80211_MESH_SETUP_VENDOR_PATH_SEL_IE NL80211_MFP_NO = C.NL80211_MFP_NO NL80211_MFP_OPTIONAL = C.NL80211_MFP_OPTIONAL NL80211_MFP_REQUIRED = C.NL80211_MFP_REQUIRED NL80211_MIN_REMAIN_ON_CHANNEL_TIME = C.NL80211_MIN_REMAIN_ON_CHANNEL_TIME NL80211_MNTR_FLAG_ACTIVE = C.NL80211_MNTR_FLAG_ACTIVE NL80211_MNTR_FLAG_CONTROL = C.NL80211_MNTR_FLAG_CONTROL NL80211_MNTR_FLAG_COOK_FRAMES = C.NL80211_MNTR_FLAG_COOK_FRAMES NL80211_MNTR_FLAG_FCSFAIL = C.NL80211_MNTR_FLAG_FCSFAIL NL80211_MNTR_FLAG_MAX = C.NL80211_MNTR_FLAG_MAX NL80211_MNTR_FLAG_OTHER_BSS = C.NL80211_MNTR_FLAG_OTHER_BSS NL80211_MNTR_FLAG_PLCPFAIL = C.NL80211_MNTR_FLAG_PLCPFAIL NL80211_MPATH_FLAG_ACTIVE = C.NL80211_MPATH_FLAG_ACTIVE NL80211_MPATH_FLAG_FIXED = C.NL80211_MPATH_FLAG_FIXED NL80211_MPATH_FLAG_RESOLVED = C.NL80211_MPATH_FLAG_RESOLVED NL80211_MPATH_FLAG_RESOLVING = C.NL80211_MPATH_FLAG_RESOLVING NL80211_MPATH_FLAG_SN_VALID = C.NL80211_MPATH_FLAG_SN_VALID NL80211_MPATH_INFO_DISCOVERY_RETRIES = C.NL80211_MPATH_INFO_DISCOVERY_RETRIES NL80211_MPATH_INFO_DISCOVERY_TIMEOUT = C.NL80211_MPATH_INFO_DISCOVERY_TIMEOUT NL80211_MPATH_INFO_EXPTIME = C.NL80211_MPATH_INFO_EXPTIME NL80211_MPATH_INFO_FLAGS = C.NL80211_MPATH_INFO_FLAGS NL80211_MPATH_INFO_FRAME_QLEN = C.NL80211_MPATH_INFO_FRAME_QLEN NL80211_MPATH_INFO_HOP_COUNT = C.NL80211_MPATH_INFO_HOP_COUNT NL80211_MPATH_INFO_MAX = C.NL80211_MPATH_INFO_MAX NL80211_MPATH_INFO_METRIC = C.NL80211_MPATH_INFO_METRIC NL80211_MPATH_INFO_PATH_CHANGE = C.NL80211_MPATH_INFO_PATH_CHANGE NL80211_MPATH_INFO_SN = C.NL80211_MPATH_INFO_SN NL80211_MULTICAST_GROUP_CONFIG = C.NL80211_MULTICAST_GROUP_CONFIG NL80211_MULTICAST_GROUP_MLME = C.NL80211_MULTICAST_GROUP_MLME NL80211_MULTICAST_GROUP_NAN = C.NL80211_MULTICAST_GROUP_NAN NL80211_MULTICAST_GROUP_REG = C.NL80211_MULTICAST_GROUP_REG NL80211_MULTICAST_GROUP_SCAN = C.NL80211_MULTICAST_GROUP_SCAN NL80211_MULTICAST_GROUP_TESTMODE = C.NL80211_MULTICAST_GROUP_TESTMODE NL80211_MULTICAST_GROUP_VENDOR = C.NL80211_MULTICAST_GROUP_VENDOR NL80211_NAN_FUNC_ATTR_MAX = C.NL80211_NAN_FUNC_ATTR_MAX NL80211_NAN_FUNC_CLOSE_RANGE = C.NL80211_NAN_FUNC_CLOSE_RANGE NL80211_NAN_FUNC_FOLLOW_UP = C.NL80211_NAN_FUNC_FOLLOW_UP NL80211_NAN_FUNC_FOLLOW_UP_DEST = C.NL80211_NAN_FUNC_FOLLOW_UP_DEST NL80211_NAN_FUNC_FOLLOW_UP_ID = C.NL80211_NAN_FUNC_FOLLOW_UP_ID NL80211_NAN_FUNC_FOLLOW_UP_REQ_ID = C.NL80211_NAN_FUNC_FOLLOW_UP_REQ_ID NL80211_NAN_FUNC_INSTANCE_ID = C.NL80211_NAN_FUNC_INSTANCE_ID NL80211_NAN_FUNC_MAX_TYPE = C.NL80211_NAN_FUNC_MAX_TYPE NL80211_NAN_FUNC_PUBLISH_BCAST = C.NL80211_NAN_FUNC_PUBLISH_BCAST NL80211_NAN_FUNC_PUBLISH = C.NL80211_NAN_FUNC_PUBLISH NL80211_NAN_FUNC_PUBLISH_TYPE = C.NL80211_NAN_FUNC_PUBLISH_TYPE NL80211_NAN_FUNC_RX_MATCH_FILTER = C.NL80211_NAN_FUNC_RX_MATCH_FILTER NL80211_NAN_FUNC_SERVICE_ID = C.NL80211_NAN_FUNC_SERVICE_ID NL80211_NAN_FUNC_SERVICE_ID_LEN = C.NL80211_NAN_FUNC_SERVICE_ID_LEN NL80211_NAN_FUNC_SERVICE_INFO = C.NL80211_NAN_FUNC_SERVICE_INFO NL80211_NAN_FUNC_SERVICE_SPEC_INFO_MAX_LEN = C.NL80211_NAN_FUNC_SERVICE_SPEC_INFO_MAX_LEN NL80211_NAN_FUNC_SRF = C.NL80211_NAN_FUNC_SRF NL80211_NAN_FUNC_SRF_MAX_LEN = C.NL80211_NAN_FUNC_SRF_MAX_LEN NL80211_NAN_FUNC_SUBSCRIBE_ACTIVE = C.NL80211_NAN_FUNC_SUBSCRIBE_ACTIVE NL80211_NAN_FUNC_SUBSCRIBE = C.NL80211_NAN_FUNC_SUBSCRIBE NL80211_NAN_FUNC_TERM_REASON = C.NL80211_NAN_FUNC_TERM_REASON NL80211_NAN_FUNC_TERM_REASON_ERROR = C.NL80211_NAN_FUNC_TERM_REASON_ERROR NL80211_NAN_FUNC_TERM_REASON_TTL_EXPIRED = C.NL80211_NAN_FUNC_TERM_REASON_TTL_EXPIRED NL80211_NAN_FUNC_TERM_REASON_USER_REQUEST = C.NL80211_NAN_FUNC_TERM_REASON_USER_REQUEST NL80211_NAN_FUNC_TTL = C.NL80211_NAN_FUNC_TTL NL80211_NAN_FUNC_TX_MATCH_FILTER = C.NL80211_NAN_FUNC_TX_MATCH_FILTER NL80211_NAN_FUNC_TYPE = C.NL80211_NAN_FUNC_TYPE NL80211_NAN_MATCH_ATTR_MAX = C.NL80211_NAN_MATCH_ATTR_MAX NL80211_NAN_MATCH_FUNC_LOCAL = C.NL80211_NAN_MATCH_FUNC_LOCAL NL80211_NAN_MATCH_FUNC_PEER = C.NL80211_NAN_MATCH_FUNC_PEER NL80211_NAN_SOLICITED_PUBLISH = C.NL80211_NAN_SOLICITED_PUBLISH NL80211_NAN_SRF_ATTR_MAX = C.NL80211_NAN_SRF_ATTR_MAX NL80211_NAN_SRF_BF = C.NL80211_NAN_SRF_BF NL80211_NAN_SRF_BF_IDX = C.NL80211_NAN_SRF_BF_IDX NL80211_NAN_SRF_INCLUDE = C.NL80211_NAN_SRF_INCLUDE NL80211_NAN_SRF_MAC_ADDRS = C.NL80211_NAN_SRF_MAC_ADDRS NL80211_NAN_UNSOLICITED_PUBLISH = C.NL80211_NAN_UNSOLICITED_PUBLISH NL80211_NUM_ACS = C.NL80211_NUM_ACS NL80211_P2P_PS_SUPPORTED = C.NL80211_P2P_PS_SUPPORTED NL80211_P2P_PS_UNSUPPORTED = C.NL80211_P2P_PS_UNSUPPORTED NL80211_PKTPAT_MASK = C.NL80211_PKTPAT_MASK NL80211_PKTPAT_OFFSET = C.NL80211_PKTPAT_OFFSET NL80211_PKTPAT_PATTERN = C.NL80211_PKTPAT_PATTERN NL80211_PLINK_ACTION_BLOCK = C.NL80211_PLINK_ACTION_BLOCK NL80211_PLINK_ACTION_NO_ACTION = C.NL80211_PLINK_ACTION_NO_ACTION NL80211_PLINK_ACTION_OPEN = C.NL80211_PLINK_ACTION_OPEN NL80211_PLINK_BLOCKED = C.NL80211_PLINK_BLOCKED NL80211_PLINK_CNF_RCVD = C.NL80211_PLINK_CNF_RCVD NL80211_PLINK_ESTAB = C.NL80211_PLINK_ESTAB NL80211_PLINK_HOLDING = C.NL80211_PLINK_HOLDING NL80211_PLINK_LISTEN = C.NL80211_PLINK_LISTEN NL80211_PLINK_OPN_RCVD = C.NL80211_PLINK_OPN_RCVD NL80211_PLINK_OPN_SNT = C.NL80211_PLINK_OPN_SNT NL80211_PMKSA_CANDIDATE_BSSID = C.NL80211_PMKSA_CANDIDATE_BSSID NL80211_PMKSA_CANDIDATE_INDEX = C.NL80211_PMKSA_CANDIDATE_INDEX NL80211_PMKSA_CANDIDATE_PREAUTH = C.NL80211_PMKSA_CANDIDATE_PREAUTH NL80211_PMSR_ATTR_MAX = C.NL80211_PMSR_ATTR_MAX NL80211_PMSR_ATTR_MAX_PEERS = C.NL80211_PMSR_ATTR_MAX_PEERS NL80211_PMSR_ATTR_PEERS = C.NL80211_PMSR_ATTR_PEERS NL80211_PMSR_ATTR_RANDOMIZE_MAC_ADDR = C.NL80211_PMSR_ATTR_RANDOMIZE_MAC_ADDR NL80211_PMSR_ATTR_REPORT_AP_TSF = C.NL80211_PMSR_ATTR_REPORT_AP_TSF NL80211_PMSR_ATTR_TYPE_CAPA = C.NL80211_PMSR_ATTR_TYPE_CAPA NL80211_PMSR_FTM_CAPA_ATTR_ASAP = C.NL80211_PMSR_FTM_CAPA_ATTR_ASAP NL80211_PMSR_FTM_CAPA_ATTR_BANDWIDTHS = C.NL80211_PMSR_FTM_CAPA_ATTR_BANDWIDTHS NL80211_PMSR_FTM_CAPA_ATTR_MAX_BURSTS_EXPONENT = C.NL80211_PMSR_FTM_CAPA_ATTR_MAX_BURSTS_EXPONENT NL80211_PMSR_FTM_CAPA_ATTR_MAX = C.NL80211_PMSR_FTM_CAPA_ATTR_MAX NL80211_PMSR_FTM_CAPA_ATTR_MAX_FTMS_PER_BURST = C.NL80211_PMSR_FTM_CAPA_ATTR_MAX_FTMS_PER_BURST NL80211_PMSR_FTM_CAPA_ATTR_NON_ASAP = C.NL80211_PMSR_FTM_CAPA_ATTR_NON_ASAP NL80211_PMSR_FTM_CAPA_ATTR_NON_TRIGGER_BASED = C.NL80211_PMSR_FTM_CAPA_ATTR_NON_TRIGGER_BASED NL80211_PMSR_FTM_CAPA_ATTR_PREAMBLES = C.NL80211_PMSR_FTM_CAPA_ATTR_PREAMBLES NL80211_PMSR_FTM_CAPA_ATTR_REQ_CIVICLOC = C.NL80211_PMSR_FTM_CAPA_ATTR_REQ_CIVICLOC NL80211_PMSR_FTM_CAPA_ATTR_REQ_LCI = C.NL80211_PMSR_FTM_CAPA_ATTR_REQ_LCI NL80211_PMSR_FTM_CAPA_ATTR_TRIGGER_BASED = C.NL80211_PMSR_FTM_CAPA_ATTR_TRIGGER_BASED NL80211_PMSR_FTM_FAILURE_BAD_CHANGED_PARAMS = C.NL80211_PMSR_FTM_FAILURE_BAD_CHANGED_PARAMS NL80211_PMSR_FTM_FAILURE_INVALID_TIMESTAMP = C.NL80211_PMSR_FTM_FAILURE_INVALID_TIMESTAMP NL80211_PMSR_FTM_FAILURE_NO_RESPONSE = C.NL80211_PMSR_FTM_FAILURE_NO_RESPONSE NL80211_PMSR_FTM_FAILURE_PEER_BUSY = C.NL80211_PMSR_FTM_FAILURE_PEER_BUSY NL80211_PMSR_FTM_FAILURE_PEER_NOT_CAPABLE = C.NL80211_PMSR_FTM_FAILURE_PEER_NOT_CAPABLE NL80211_PMSR_FTM_FAILURE_REJECTED = C.NL80211_PMSR_FTM_FAILURE_REJECTED NL80211_PMSR_FTM_FAILURE_UNSPECIFIED = C.NL80211_PMSR_FTM_FAILURE_UNSPECIFIED NL80211_PMSR_FTM_FAILURE_WRONG_CHANNEL = C.NL80211_PMSR_FTM_FAILURE_WRONG_CHANNEL NL80211_PMSR_FTM_REQ_ATTR_ASAP = C.NL80211_PMSR_FTM_REQ_ATTR_ASAP NL80211_PMSR_FTM_REQ_ATTR_BSS_COLOR = C.NL80211_PMSR_FTM_REQ_ATTR_BSS_COLOR NL80211_PMSR_FTM_REQ_ATTR_BURST_DURATION = C.NL80211_PMSR_FTM_REQ_ATTR_BURST_DURATION NL80211_PMSR_FTM_REQ_ATTR_BURST_PERIOD = C.NL80211_PMSR_FTM_REQ_ATTR_BURST_PERIOD NL80211_PMSR_FTM_REQ_ATTR_FTMS_PER_BURST = C.NL80211_PMSR_FTM_REQ_ATTR_FTMS_PER_BURST NL80211_PMSR_FTM_REQ_ATTR_LMR_FEEDBACK = C.NL80211_PMSR_FTM_REQ_ATTR_LMR_FEEDBACK NL80211_PMSR_FTM_REQ_ATTR_MAX = C.NL80211_PMSR_FTM_REQ_ATTR_MAX NL80211_PMSR_FTM_REQ_ATTR_NON_TRIGGER_BASED = C.NL80211_PMSR_FTM_REQ_ATTR_NON_TRIGGER_BASED NL80211_PMSR_FTM_REQ_ATTR_NUM_BURSTS_EXP = C.NL80211_PMSR_FTM_REQ_ATTR_NUM_BURSTS_EXP NL80211_PMSR_FTM_REQ_ATTR_NUM_FTMR_RETRIES = C.NL80211_PMSR_FTM_REQ_ATTR_NUM_FTMR_RETRIES NL80211_PMSR_FTM_REQ_ATTR_PREAMBLE = C.NL80211_PMSR_FTM_REQ_ATTR_PREAMBLE NL80211_PMSR_FTM_REQ_ATTR_REQUEST_CIVICLOC = C.NL80211_PMSR_FTM_REQ_ATTR_REQUEST_CIVICLOC NL80211_PMSR_FTM_REQ_ATTR_REQUEST_LCI = C.NL80211_PMSR_FTM_REQ_ATTR_REQUEST_LCI NL80211_PMSR_FTM_REQ_ATTR_TRIGGER_BASED = C.NL80211_PMSR_FTM_REQ_ATTR_TRIGGER_BASED NL80211_PMSR_FTM_RESP_ATTR_BURST_DURATION = C.NL80211_PMSR_FTM_RESP_ATTR_BURST_DURATION NL80211_PMSR_FTM_RESP_ATTR_BURST_INDEX = C.NL80211_PMSR_FTM_RESP_ATTR_BURST_INDEX NL80211_PMSR_FTM_RESP_ATTR_BUSY_RETRY_TIME = C.NL80211_PMSR_FTM_RESP_ATTR_BUSY_RETRY_TIME NL80211_PMSR_FTM_RESP_ATTR_CIVICLOC = C.NL80211_PMSR_FTM_RESP_ATTR_CIVICLOC NL80211_PMSR_FTM_RESP_ATTR_DIST_AVG = C.NL80211_PMSR_FTM_RESP_ATTR_DIST_AVG NL80211_PMSR_FTM_RESP_ATTR_DIST_SPREAD = C.NL80211_PMSR_FTM_RESP_ATTR_DIST_SPREAD NL80211_PMSR_FTM_RESP_ATTR_DIST_VARIANCE = C.NL80211_PMSR_FTM_RESP_ATTR_DIST_VARIANCE NL80211_PMSR_FTM_RESP_ATTR_FAIL_REASON = C.NL80211_PMSR_FTM_RESP_ATTR_FAIL_REASON NL80211_PMSR_FTM_RESP_ATTR_FTMS_PER_BURST = C.NL80211_PMSR_FTM_RESP_ATTR_FTMS_PER_BURST NL80211_PMSR_FTM_RESP_ATTR_LCI = C.NL80211_PMSR_FTM_RESP_ATTR_LCI NL80211_PMSR_FTM_RESP_ATTR_MAX = C.NL80211_PMSR_FTM_RESP_ATTR_MAX NL80211_PMSR_FTM_RESP_ATTR_NUM_BURSTS_EXP = C.NL80211_PMSR_FTM_RESP_ATTR_NUM_BURSTS_EXP NL80211_PMSR_FTM_RESP_ATTR_NUM_FTMR_ATTEMPTS = C.NL80211_PMSR_FTM_RESP_ATTR_NUM_FTMR_ATTEMPTS NL80211_PMSR_FTM_RESP_ATTR_NUM_FTMR_SUCCESSES = C.NL80211_PMSR_FTM_RESP_ATTR_NUM_FTMR_SUCCESSES NL80211_PMSR_FTM_RESP_ATTR_PAD = C.NL80211_PMSR_FTM_RESP_ATTR_PAD NL80211_PMSR_FTM_RESP_ATTR_RSSI_AVG = C.NL80211_PMSR_FTM_RESP_ATTR_RSSI_AVG NL80211_PMSR_FTM_RESP_ATTR_RSSI_SPREAD = C.NL80211_PMSR_FTM_RESP_ATTR_RSSI_SPREAD NL80211_PMSR_FTM_RESP_ATTR_RTT_AVG = C.NL80211_PMSR_FTM_RESP_ATTR_RTT_AVG NL80211_PMSR_FTM_RESP_ATTR_RTT_SPREAD = C.NL80211_PMSR_FTM_RESP_ATTR_RTT_SPREAD NL80211_PMSR_FTM_RESP_ATTR_RTT_VARIANCE = C.NL80211_PMSR_FTM_RESP_ATTR_RTT_VARIANCE NL80211_PMSR_FTM_RESP_ATTR_RX_RATE = C.NL80211_PMSR_FTM_RESP_ATTR_RX_RATE NL80211_PMSR_FTM_RESP_ATTR_TX_RATE = C.NL80211_PMSR_FTM_RESP_ATTR_TX_RATE NL80211_PMSR_PEER_ATTR_ADDR = C.NL80211_PMSR_PEER_ATTR_ADDR NL80211_PMSR_PEER_ATTR_CHAN = C.NL80211_PMSR_PEER_ATTR_CHAN NL80211_PMSR_PEER_ATTR_MAX = C.NL80211_PMSR_PEER_ATTR_MAX NL80211_PMSR_PEER_ATTR_REQ = C.NL80211_PMSR_PEER_ATTR_REQ NL80211_PMSR_PEER_ATTR_RESP = C.NL80211_PMSR_PEER_ATTR_RESP NL80211_PMSR_REQ_ATTR_DATA = C.NL80211_PMSR_REQ_ATTR_DATA NL80211_PMSR_REQ_ATTR_GET_AP_TSF = C.NL80211_PMSR_REQ_ATTR_GET_AP_TSF NL80211_PMSR_REQ_ATTR_MAX = C.NL80211_PMSR_REQ_ATTR_MAX NL80211_PMSR_RESP_ATTR_AP_TSF = C.NL80211_PMSR_RESP_ATTR_AP_TSF NL80211_PMSR_RESP_ATTR_DATA = C.NL80211_PMSR_RESP_ATTR_DATA NL80211_PMSR_RESP_ATTR_FINAL = C.NL80211_PMSR_RESP_ATTR_FINAL NL80211_PMSR_RESP_ATTR_HOST_TIME = C.NL80211_PMSR_RESP_ATTR_HOST_TIME NL80211_PMSR_RESP_ATTR_MAX = C.NL80211_PMSR_RESP_ATTR_MAX NL80211_PMSR_RESP_ATTR_PAD = C.NL80211_PMSR_RESP_ATTR_PAD NL80211_PMSR_RESP_ATTR_STATUS = C.NL80211_PMSR_RESP_ATTR_STATUS NL80211_PMSR_STATUS_FAILURE = C.NL80211_PMSR_STATUS_FAILURE NL80211_PMSR_STATUS_REFUSED = C.NL80211_PMSR_STATUS_REFUSED NL80211_PMSR_STATUS_SUCCESS = C.NL80211_PMSR_STATUS_SUCCESS NL80211_PMSR_STATUS_TIMEOUT = C.NL80211_PMSR_STATUS_TIMEOUT NL80211_PMSR_TYPE_FTM = C.NL80211_PMSR_TYPE_FTM NL80211_PMSR_TYPE_INVALID = C.NL80211_PMSR_TYPE_INVALID NL80211_PMSR_TYPE_MAX = C.NL80211_PMSR_TYPE_MAX NL80211_PREAMBLE_DMG = C.NL80211_PREAMBLE_DMG NL80211_PREAMBLE_HE = C.NL80211_PREAMBLE_HE NL80211_PREAMBLE_HT = C.NL80211_PREAMBLE_HT NL80211_PREAMBLE_LEGACY = C.NL80211_PREAMBLE_LEGACY NL80211_PREAMBLE_VHT = C.NL80211_PREAMBLE_VHT NL80211_PROBE_RESP_OFFLOAD_SUPPORT_80211U = C.NL80211_PROBE_RESP_OFFLOAD_SUPPORT_80211U NL80211_PROBE_RESP_OFFLOAD_SUPPORT_P2P = C.NL80211_PROBE_RESP_OFFLOAD_SUPPORT_P2P NL80211_PROBE_RESP_OFFLOAD_SUPPORT_WPS2 = C.NL80211_PROBE_RESP_OFFLOAD_SUPPORT_WPS2 NL80211_PROBE_RESP_OFFLOAD_SUPPORT_WPS = C.NL80211_PROBE_RESP_OFFLOAD_SUPPORT_WPS NL80211_PROTOCOL_FEATURE_SPLIT_WIPHY_DUMP = C.NL80211_PROTOCOL_FEATURE_SPLIT_WIPHY_DUMP NL80211_PS_DISABLED = C.NL80211_PS_DISABLED NL80211_PS_ENABLED = C.NL80211_PS_ENABLED NL80211_RADAR_CAC_ABORTED = C.NL80211_RADAR_CAC_ABORTED NL80211_RADAR_CAC_FINISHED = C.NL80211_RADAR_CAC_FINISHED NL80211_RADAR_CAC_STARTED = C.NL80211_RADAR_CAC_STARTED NL80211_RADAR_DETECTED = C.NL80211_RADAR_DETECTED NL80211_RADAR_NOP_FINISHED = C.NL80211_RADAR_NOP_FINISHED NL80211_RADAR_PRE_CAC_EXPIRED = C.NL80211_RADAR_PRE_CAC_EXPIRED NL80211_RATE_INFO_10_MHZ_WIDTH = C.NL80211_RATE_INFO_10_MHZ_WIDTH NL80211_RATE_INFO_160_MHZ_WIDTH = C.NL80211_RATE_INFO_160_MHZ_WIDTH NL80211_RATE_INFO_320_MHZ_WIDTH = C.NL80211_RATE_INFO_320_MHZ_WIDTH NL80211_RATE_INFO_40_MHZ_WIDTH = C.NL80211_RATE_INFO_40_MHZ_WIDTH NL80211_RATE_INFO_5_MHZ_WIDTH = C.NL80211_RATE_INFO_5_MHZ_WIDTH NL80211_RATE_INFO_80_MHZ_WIDTH = C.NL80211_RATE_INFO_80_MHZ_WIDTH NL80211_RATE_INFO_80P80_MHZ_WIDTH = C.NL80211_RATE_INFO_80P80_MHZ_WIDTH NL80211_RATE_INFO_BITRATE32 = C.NL80211_RATE_INFO_BITRATE32 NL80211_RATE_INFO_BITRATE = C.NL80211_RATE_INFO_BITRATE NL80211_RATE_INFO_EHT_GI_0_8 = C.NL80211_RATE_INFO_EHT_GI_0_8 NL80211_RATE_INFO_EHT_GI_1_6 = C.NL80211_RATE_INFO_EHT_GI_1_6 NL80211_RATE_INFO_EHT_GI_3_2 = C.NL80211_RATE_INFO_EHT_GI_3_2 NL80211_RATE_INFO_EHT_GI = C.NL80211_RATE_INFO_EHT_GI NL80211_RATE_INFO_EHT_MCS = C.NL80211_RATE_INFO_EHT_MCS NL80211_RATE_INFO_EHT_NSS = C.NL80211_RATE_INFO_EHT_NSS NL80211_RATE_INFO_EHT_RU_ALLOC_106 = C.NL80211_RATE_INFO_EHT_RU_ALLOC_106 NL80211_RATE_INFO_EHT_RU_ALLOC_106P26 = C.NL80211_RATE_INFO_EHT_RU_ALLOC_106P26 NL80211_RATE_INFO_EHT_RU_ALLOC_242 = C.NL80211_RATE_INFO_EHT_RU_ALLOC_242 NL80211_RATE_INFO_EHT_RU_ALLOC_26 = C.NL80211_RATE_INFO_EHT_RU_ALLOC_26 NL80211_RATE_INFO_EHT_RU_ALLOC_2x996 = C.NL80211_RATE_INFO_EHT_RU_ALLOC_2x996 NL80211_RATE_INFO_EHT_RU_ALLOC_2x996P484 = C.NL80211_RATE_INFO_EHT_RU_ALLOC_2x996P484 NL80211_RATE_INFO_EHT_RU_ALLOC_3x996 = C.NL80211_RATE_INFO_EHT_RU_ALLOC_3x996 NL80211_RATE_INFO_EHT_RU_ALLOC_3x996P484 = C.NL80211_RATE_INFO_EHT_RU_ALLOC_3x996P484 NL80211_RATE_INFO_EHT_RU_ALLOC_484 = C.NL80211_RATE_INFO_EHT_RU_ALLOC_484 NL80211_RATE_INFO_EHT_RU_ALLOC_484P242 = C.NL80211_RATE_INFO_EHT_RU_ALLOC_484P242 NL80211_RATE_INFO_EHT_RU_ALLOC_4x996 = C.NL80211_RATE_INFO_EHT_RU_ALLOC_4x996 NL80211_RATE_INFO_EHT_RU_ALLOC_52 = C.NL80211_RATE_INFO_EHT_RU_ALLOC_52 NL80211_RATE_INFO_EHT_RU_ALLOC_52P26 = C.NL80211_RATE_INFO_EHT_RU_ALLOC_52P26 NL80211_RATE_INFO_EHT_RU_ALLOC_996 = C.NL80211_RATE_INFO_EHT_RU_ALLOC_996 NL80211_RATE_INFO_EHT_RU_ALLOC_996P484 = C.NL80211_RATE_INFO_EHT_RU_ALLOC_996P484 NL80211_RATE_INFO_EHT_RU_ALLOC_996P484P242 = C.NL80211_RATE_INFO_EHT_RU_ALLOC_996P484P242 NL80211_RATE_INFO_EHT_RU_ALLOC = C.NL80211_RATE_INFO_EHT_RU_ALLOC NL80211_RATE_INFO_HE_1XLTF = C.NL80211_RATE_INFO_HE_1XLTF NL80211_RATE_INFO_HE_2XLTF = C.NL80211_RATE_INFO_HE_2XLTF NL80211_RATE_INFO_HE_4XLTF = C.NL80211_RATE_INFO_HE_4XLTF NL80211_RATE_INFO_HE_DCM = C.NL80211_RATE_INFO_HE_DCM NL80211_RATE_INFO_HE_GI_0_8 = C.NL80211_RATE_INFO_HE_GI_0_8 NL80211_RATE_INFO_HE_GI_1_6 = C.NL80211_RATE_INFO_HE_GI_1_6 NL80211_RATE_INFO_HE_GI_3_2 = C.NL80211_RATE_INFO_HE_GI_3_2 NL80211_RATE_INFO_HE_GI = C.NL80211_RATE_INFO_HE_GI NL80211_RATE_INFO_HE_MCS = C.NL80211_RATE_INFO_HE_MCS NL80211_RATE_INFO_HE_NSS = C.NL80211_RATE_INFO_HE_NSS NL80211_RATE_INFO_HE_RU_ALLOC_106 = C.NL80211_RATE_INFO_HE_RU_ALLOC_106 NL80211_RATE_INFO_HE_RU_ALLOC_242 = C.NL80211_RATE_INFO_HE_RU_ALLOC_242 NL80211_RATE_INFO_HE_RU_ALLOC_26 = C.NL80211_RATE_INFO_HE_RU_ALLOC_26 NL80211_RATE_INFO_HE_RU_ALLOC_2x996 = C.NL80211_RATE_INFO_HE_RU_ALLOC_2x996 NL80211_RATE_INFO_HE_RU_ALLOC_484 = C.NL80211_RATE_INFO_HE_RU_ALLOC_484 NL80211_RATE_INFO_HE_RU_ALLOC_52 = C.NL80211_RATE_INFO_HE_RU_ALLOC_52 NL80211_RATE_INFO_HE_RU_ALLOC_996 = C.NL80211_RATE_INFO_HE_RU_ALLOC_996 NL80211_RATE_INFO_HE_RU_ALLOC = C.NL80211_RATE_INFO_HE_RU_ALLOC NL80211_RATE_INFO_MAX = C.NL80211_RATE_INFO_MAX NL80211_RATE_INFO_MCS = C.NL80211_RATE_INFO_MCS NL80211_RATE_INFO_SHORT_GI = C.NL80211_RATE_INFO_SHORT_GI NL80211_RATE_INFO_VHT_MCS = C.NL80211_RATE_INFO_VHT_MCS NL80211_RATE_INFO_VHT_NSS = C.NL80211_RATE_INFO_VHT_NSS NL80211_REGDOM_SET_BY_CORE = C.NL80211_REGDOM_SET_BY_CORE NL80211_REGDOM_SET_BY_COUNTRY_IE = C.NL80211_REGDOM_SET_BY_COUNTRY_IE NL80211_REGDOM_SET_BY_DRIVER = C.NL80211_REGDOM_SET_BY_DRIVER NL80211_REGDOM_SET_BY_USER = C.NL80211_REGDOM_SET_BY_USER NL80211_REGDOM_TYPE_COUNTRY = C.NL80211_REGDOM_TYPE_COUNTRY NL80211_REGDOM_TYPE_CUSTOM_WORLD = C.NL80211_REGDOM_TYPE_CUSTOM_WORLD NL80211_REGDOM_TYPE_INTERSECTION = C.NL80211_REGDOM_TYPE_INTERSECTION NL80211_REGDOM_TYPE_WORLD = C.NL80211_REGDOM_TYPE_WORLD NL80211_REG_RULE_ATTR_MAX = C.NL80211_REG_RULE_ATTR_MAX NL80211_REKEY_DATA_AKM = C.NL80211_REKEY_DATA_AKM NL80211_REKEY_DATA_KCK = C.NL80211_REKEY_DATA_KCK NL80211_REKEY_DATA_KEK = C.NL80211_REKEY_DATA_KEK NL80211_REKEY_DATA_REPLAY_CTR = C.NL80211_REKEY_DATA_REPLAY_CTR NL80211_REPLAY_CTR_LEN = C.NL80211_REPLAY_CTR_LEN NL80211_RRF_AUTO_BW = C.NL80211_RRF_AUTO_BW NL80211_RRF_DFS = C.NL80211_RRF_DFS NL80211_RRF_GO_CONCURRENT = C.NL80211_RRF_GO_CONCURRENT NL80211_RRF_IR_CONCURRENT = C.NL80211_RRF_IR_CONCURRENT NL80211_RRF_NO_160MHZ = C.NL80211_RRF_NO_160MHZ NL80211_RRF_NO_320MHZ = C.NL80211_RRF_NO_320MHZ NL80211_RRF_NO_80MHZ = C.NL80211_RRF_NO_80MHZ NL80211_RRF_NO_CCK = C.NL80211_RRF_NO_CCK NL80211_RRF_NO_HE = C.NL80211_RRF_NO_HE NL80211_RRF_NO_HT40 = C.NL80211_RRF_NO_HT40 NL80211_RRF_NO_HT40MINUS = C.NL80211_RRF_NO_HT40MINUS NL80211_RRF_NO_HT40PLUS = C.NL80211_RRF_NO_HT40PLUS NL80211_RRF_NO_IBSS = C.NL80211_RRF_NO_IBSS NL80211_RRF_NO_INDOOR = C.NL80211_RRF_NO_INDOOR NL80211_RRF_NO_IR_ALL = C.NL80211_RRF_NO_IR_ALL NL80211_RRF_NO_IR = C.NL80211_RRF_NO_IR NL80211_RRF_NO_OFDM = C.NL80211_RRF_NO_OFDM NL80211_RRF_NO_OUTDOOR = C.NL80211_RRF_NO_OUTDOOR NL80211_RRF_PASSIVE_SCAN = C.NL80211_RRF_PASSIVE_SCAN NL80211_RRF_PTMP_ONLY = C.NL80211_RRF_PTMP_ONLY NL80211_RRF_PTP_ONLY = C.NL80211_RRF_PTP_ONLY NL80211_RXMGMT_FLAG_ANSWERED = C.NL80211_RXMGMT_FLAG_ANSWERED NL80211_RXMGMT_FLAG_EXTERNAL_AUTH = C.NL80211_RXMGMT_FLAG_EXTERNAL_AUTH NL80211_SAE_PWE_BOTH = C.NL80211_SAE_PWE_BOTH NL80211_SAE_PWE_HASH_TO_ELEMENT = C.NL80211_SAE_PWE_HASH_TO_ELEMENT NL80211_SAE_PWE_HUNT_AND_PECK = C.NL80211_SAE_PWE_HUNT_AND_PECK NL80211_SAE_PWE_UNSPECIFIED = C.NL80211_SAE_PWE_UNSPECIFIED NL80211_SAR_ATTR_MAX = C.NL80211_SAR_ATTR_MAX NL80211_SAR_ATTR_SPECS = C.NL80211_SAR_ATTR_SPECS NL80211_SAR_ATTR_SPECS_END_FREQ = C.NL80211_SAR_ATTR_SPECS_END_FREQ NL80211_SAR_ATTR_SPECS_MAX = C.NL80211_SAR_ATTR_SPECS_MAX NL80211_SAR_ATTR_SPECS_POWER = C.NL80211_SAR_ATTR_SPECS_POWER NL80211_SAR_ATTR_SPECS_RANGE_INDEX = C.NL80211_SAR_ATTR_SPECS_RANGE_INDEX NL80211_SAR_ATTR_SPECS_START_FREQ = C.NL80211_SAR_ATTR_SPECS_START_FREQ NL80211_SAR_ATTR_TYPE = C.NL80211_SAR_ATTR_TYPE NL80211_SAR_TYPE_POWER = C.NL80211_SAR_TYPE_POWER NL80211_SCAN_FLAG_ACCEPT_BCAST_PROBE_RESP = C.NL80211_SCAN_FLAG_ACCEPT_BCAST_PROBE_RESP NL80211_SCAN_FLAG_AP = C.NL80211_SCAN_FLAG_AP NL80211_SCAN_FLAG_COLOCATED_6GHZ = C.NL80211_SCAN_FLAG_COLOCATED_6GHZ NL80211_SCAN_FLAG_FILS_MAX_CHANNEL_TIME = C.NL80211_SCAN_FLAG_FILS_MAX_CHANNEL_TIME NL80211_SCAN_FLAG_FLUSH = C.NL80211_SCAN_FLAG_FLUSH NL80211_SCAN_FLAG_FREQ_KHZ = C.NL80211_SCAN_FLAG_FREQ_KHZ NL80211_SCAN_FLAG_HIGH_ACCURACY = C.NL80211_SCAN_FLAG_HIGH_ACCURACY NL80211_SCAN_FLAG_LOW_POWER = C.NL80211_SCAN_FLAG_LOW_POWER NL80211_SCAN_FLAG_LOW_PRIORITY = C.NL80211_SCAN_FLAG_LOW_PRIORITY NL80211_SCAN_FLAG_LOW_SPAN = C.NL80211_SCAN_FLAG_LOW_SPAN NL80211_SCAN_FLAG_MIN_PREQ_CONTENT = C.NL80211_SCAN_FLAG_MIN_PREQ_CONTENT NL80211_SCAN_FLAG_OCE_PROBE_REQ_DEFERRAL_SUPPRESSION = C.NL80211_SCAN_FLAG_OCE_PROBE_REQ_DEFERRAL_SUPPRESSION NL80211_SCAN_FLAG_OCE_PROBE_REQ_HIGH_TX_RATE = C.NL80211_SCAN_FLAG_OCE_PROBE_REQ_HIGH_TX_RATE NL80211_SCAN_FLAG_RANDOM_ADDR = C.NL80211_SCAN_FLAG_RANDOM_ADDR NL80211_SCAN_FLAG_RANDOM_SN = C.NL80211_SCAN_FLAG_RANDOM_SN NL80211_SCAN_RSSI_THOLD_OFF = C.NL80211_SCAN_RSSI_THOLD_OFF NL80211_SCHED_SCAN_MATCH_ATTR_BSSID = C.NL80211_SCHED_SCAN_MATCH_ATTR_BSSID NL80211_SCHED_SCAN_MATCH_ATTR_MAX = C.NL80211_SCHED_SCAN_MATCH_ATTR_MAX NL80211_SCHED_SCAN_MATCH_ATTR_RELATIVE_RSSI = C.NL80211_SCHED_SCAN_MATCH_ATTR_RELATIVE_RSSI NL80211_SCHED_SCAN_MATCH_ATTR_RSSI_ADJUST = C.NL80211_SCHED_SCAN_MATCH_ATTR_RSSI_ADJUST NL80211_SCHED_SCAN_MATCH_ATTR_RSSI = C.NL80211_SCHED_SCAN_MATCH_ATTR_RSSI NL80211_SCHED_SCAN_MATCH_ATTR_SSID = C.NL80211_SCHED_SCAN_MATCH_ATTR_SSID NL80211_SCHED_SCAN_MATCH_PER_BAND_RSSI = C.NL80211_SCHED_SCAN_MATCH_PER_BAND_RSSI NL80211_SCHED_SCAN_PLAN_INTERVAL = C.NL80211_SCHED_SCAN_PLAN_INTERVAL NL80211_SCHED_SCAN_PLAN_ITERATIONS = C.NL80211_SCHED_SCAN_PLAN_ITERATIONS NL80211_SCHED_SCAN_PLAN_MAX = C.NL80211_SCHED_SCAN_PLAN_MAX NL80211_SMPS_DYNAMIC = C.NL80211_SMPS_DYNAMIC NL80211_SMPS_MAX = C.NL80211_SMPS_MAX NL80211_SMPS_OFF = C.NL80211_SMPS_OFF NL80211_SMPS_STATIC = C.NL80211_SMPS_STATIC NL80211_STA_BSS_PARAM_BEACON_INTERVAL = C.NL80211_STA_BSS_PARAM_BEACON_INTERVAL NL80211_STA_BSS_PARAM_CTS_PROT = C.NL80211_STA_BSS_PARAM_CTS_PROT NL80211_STA_BSS_PARAM_DTIM_PERIOD = C.NL80211_STA_BSS_PARAM_DTIM_PERIOD NL80211_STA_BSS_PARAM_MAX = C.NL80211_STA_BSS_PARAM_MAX NL80211_STA_BSS_PARAM_SHORT_PREAMBLE = C.NL80211_STA_BSS_PARAM_SHORT_PREAMBLE NL80211_STA_BSS_PARAM_SHORT_SLOT_TIME = C.NL80211_STA_BSS_PARAM_SHORT_SLOT_TIME NL80211_STA_FLAG_ASSOCIATED = C.NL80211_STA_FLAG_ASSOCIATED NL80211_STA_FLAG_AUTHENTICATED = C.NL80211_STA_FLAG_AUTHENTICATED NL80211_STA_FLAG_AUTHORIZED = C.NL80211_STA_FLAG_AUTHORIZED NL80211_STA_FLAG_MAX = C.NL80211_STA_FLAG_MAX NL80211_STA_FLAG_MAX_OLD_API = C.NL80211_STA_FLAG_MAX_OLD_API NL80211_STA_FLAG_MFP = C.NL80211_STA_FLAG_MFP NL80211_STA_FLAG_SHORT_PREAMBLE = C.NL80211_STA_FLAG_SHORT_PREAMBLE NL80211_STA_FLAG_TDLS_PEER = C.NL80211_STA_FLAG_TDLS_PEER NL80211_STA_FLAG_WME = C.NL80211_STA_FLAG_WME NL80211_STA_INFO_ACK_SIGNAL_AVG = C.NL80211_STA_INFO_ACK_SIGNAL_AVG NL80211_STA_INFO_ACK_SIGNAL = C.NL80211_STA_INFO_ACK_SIGNAL NL80211_STA_INFO_AIRTIME_LINK_METRIC = C.NL80211_STA_INFO_AIRTIME_LINK_METRIC NL80211_STA_INFO_AIRTIME_WEIGHT = C.NL80211_STA_INFO_AIRTIME_WEIGHT NL80211_STA_INFO_ASSOC_AT_BOOTTIME = C.NL80211_STA_INFO_ASSOC_AT_BOOTTIME NL80211_STA_INFO_BEACON_LOSS = C.NL80211_STA_INFO_BEACON_LOSS NL80211_STA_INFO_BEACON_RX = C.NL80211_STA_INFO_BEACON_RX NL80211_STA_INFO_BEACON_SIGNAL_AVG = C.NL80211_STA_INFO_BEACON_SIGNAL_AVG NL80211_STA_INFO_BSS_PARAM = C.NL80211_STA_INFO_BSS_PARAM NL80211_STA_INFO_CHAIN_SIGNAL_AVG = C.NL80211_STA_INFO_CHAIN_SIGNAL_AVG NL80211_STA_INFO_CHAIN_SIGNAL = C.NL80211_STA_INFO_CHAIN_SIGNAL NL80211_STA_INFO_CONNECTED_TIME = C.NL80211_STA_INFO_CONNECTED_TIME NL80211_STA_INFO_CONNECTED_TO_AS = C.NL80211_STA_INFO_CONNECTED_TO_AS NL80211_STA_INFO_CONNECTED_TO_GATE = C.NL80211_STA_INFO_CONNECTED_TO_GATE NL80211_STA_INFO_DATA_ACK_SIGNAL_AVG = C.NL80211_STA_INFO_DATA_ACK_SIGNAL_AVG NL80211_STA_INFO_EXPECTED_THROUGHPUT = C.NL80211_STA_INFO_EXPECTED_THROUGHPUT NL80211_STA_INFO_FCS_ERROR_COUNT = C.NL80211_STA_INFO_FCS_ERROR_COUNT NL80211_STA_INFO_INACTIVE_TIME = C.NL80211_STA_INFO_INACTIVE_TIME NL80211_STA_INFO_LLID = C.NL80211_STA_INFO_LLID NL80211_STA_INFO_LOCAL_PM = C.NL80211_STA_INFO_LOCAL_PM NL80211_STA_INFO_MAX = C.NL80211_STA_INFO_MAX NL80211_STA_INFO_NONPEER_PM = C.NL80211_STA_INFO_NONPEER_PM NL80211_STA_INFO_PAD = C.NL80211_STA_INFO_PAD NL80211_STA_INFO_PEER_PM = C.NL80211_STA_INFO_PEER_PM NL80211_STA_INFO_PLID = C.NL80211_STA_INFO_PLID NL80211_STA_INFO_PLINK_STATE = C.NL80211_STA_INFO_PLINK_STATE NL80211_STA_INFO_RX_BITRATE = C.NL80211_STA_INFO_RX_BITRATE NL80211_STA_INFO_RX_BYTES64 = C.NL80211_STA_INFO_RX_BYTES64 NL80211_STA_INFO_RX_BYTES = C.NL80211_STA_INFO_RX_BYTES NL80211_STA_INFO_RX_DROP_MISC = C.NL80211_STA_INFO_RX_DROP_MISC NL80211_STA_INFO_RX_DURATION = C.NL80211_STA_INFO_RX_DURATION NL80211_STA_INFO_RX_MPDUS = C.NL80211_STA_INFO_RX_MPDUS NL80211_STA_INFO_RX_PACKETS = C.NL80211_STA_INFO_RX_PACKETS NL80211_STA_INFO_SIGNAL_AVG = C.NL80211_STA_INFO_SIGNAL_AVG NL80211_STA_INFO_SIGNAL = C.NL80211_STA_INFO_SIGNAL NL80211_STA_INFO_STA_FLAGS = C.NL80211_STA_INFO_STA_FLAGS NL80211_STA_INFO_TID_STATS = C.NL80211_STA_INFO_TID_STATS NL80211_STA_INFO_T_OFFSET = C.NL80211_STA_INFO_T_OFFSET NL80211_STA_INFO_TX_BITRATE = C.NL80211_STA_INFO_TX_BITRATE NL80211_STA_INFO_TX_BYTES64 = C.NL80211_STA_INFO_TX_BYTES64 NL80211_STA_INFO_TX_BYTES = C.NL80211_STA_INFO_TX_BYTES NL80211_STA_INFO_TX_DURATION = C.NL80211_STA_INFO_TX_DURATION NL80211_STA_INFO_TX_FAILED = C.NL80211_STA_INFO_TX_FAILED NL80211_STA_INFO_TX_PACKETS = C.NL80211_STA_INFO_TX_PACKETS NL80211_STA_INFO_TX_RETRIES = C.NL80211_STA_INFO_TX_RETRIES NL80211_STA_WME_MAX = C.NL80211_STA_WME_MAX NL80211_STA_WME_MAX_SP = C.NL80211_STA_WME_MAX_SP NL80211_STA_WME_UAPSD_QUEUES = C.NL80211_STA_WME_UAPSD_QUEUES NL80211_SURVEY_INFO_CHANNEL_TIME_BUSY = C.NL80211_SURVEY_INFO_CHANNEL_TIME_BUSY NL80211_SURVEY_INFO_CHANNEL_TIME = C.NL80211_SURVEY_INFO_CHANNEL_TIME NL80211_SURVEY_INFO_CHANNEL_TIME_EXT_BUSY = C.NL80211_SURVEY_INFO_CHANNEL_TIME_EXT_BUSY NL80211_SURVEY_INFO_CHANNEL_TIME_RX = C.NL80211_SURVEY_INFO_CHANNEL_TIME_RX NL80211_SURVEY_INFO_CHANNEL_TIME_TX = C.NL80211_SURVEY_INFO_CHANNEL_TIME_TX NL80211_SURVEY_INFO_FREQUENCY = C.NL80211_SURVEY_INFO_FREQUENCY NL80211_SURVEY_INFO_FREQUENCY_OFFSET = C.NL80211_SURVEY_INFO_FREQUENCY_OFFSET NL80211_SURVEY_INFO_IN_USE = C.NL80211_SURVEY_INFO_IN_USE NL80211_SURVEY_INFO_MAX = C.NL80211_SURVEY_INFO_MAX NL80211_SURVEY_INFO_NOISE = C.NL80211_SURVEY_INFO_NOISE NL80211_SURVEY_INFO_PAD = C.NL80211_SURVEY_INFO_PAD NL80211_SURVEY_INFO_TIME_BSS_RX = C.NL80211_SURVEY_INFO_TIME_BSS_RX NL80211_SURVEY_INFO_TIME_BUSY = C.NL80211_SURVEY_INFO_TIME_BUSY NL80211_SURVEY_INFO_TIME = C.NL80211_SURVEY_INFO_TIME NL80211_SURVEY_INFO_TIME_EXT_BUSY = C.NL80211_SURVEY_INFO_TIME_EXT_BUSY NL80211_SURVEY_INFO_TIME_RX = C.NL80211_SURVEY_INFO_TIME_RX NL80211_SURVEY_INFO_TIME_SCAN = C.NL80211_SURVEY_INFO_TIME_SCAN NL80211_SURVEY_INFO_TIME_TX = C.NL80211_SURVEY_INFO_TIME_TX NL80211_TDLS_DISABLE_LINK = C.NL80211_TDLS_DISABLE_LINK NL80211_TDLS_DISCOVERY_REQ = C.NL80211_TDLS_DISCOVERY_REQ NL80211_TDLS_ENABLE_LINK = C.NL80211_TDLS_ENABLE_LINK NL80211_TDLS_PEER_HE = C.NL80211_TDLS_PEER_HE NL80211_TDLS_PEER_HT = C.NL80211_TDLS_PEER_HT NL80211_TDLS_PEER_VHT = C.NL80211_TDLS_PEER_VHT NL80211_TDLS_PEER_WMM = C.NL80211_TDLS_PEER_WMM NL80211_TDLS_SETUP = C.NL80211_TDLS_SETUP NL80211_TDLS_TEARDOWN = C.NL80211_TDLS_TEARDOWN NL80211_TID_CONFIG_ATTR_AMPDU_CTRL = C.NL80211_TID_CONFIG_ATTR_AMPDU_CTRL NL80211_TID_CONFIG_ATTR_AMSDU_CTRL = C.NL80211_TID_CONFIG_ATTR_AMSDU_CTRL NL80211_TID_CONFIG_ATTR_MAX = C.NL80211_TID_CONFIG_ATTR_MAX NL80211_TID_CONFIG_ATTR_NOACK = C.NL80211_TID_CONFIG_ATTR_NOACK NL80211_TID_CONFIG_ATTR_OVERRIDE = C.NL80211_TID_CONFIG_ATTR_OVERRIDE NL80211_TID_CONFIG_ATTR_PAD = C.NL80211_TID_CONFIG_ATTR_PAD NL80211_TID_CONFIG_ATTR_PEER_SUPP = C.NL80211_TID_CONFIG_ATTR_PEER_SUPP NL80211_TID_CONFIG_ATTR_RETRY_LONG = C.NL80211_TID_CONFIG_ATTR_RETRY_LONG NL80211_TID_CONFIG_ATTR_RETRY_SHORT = C.NL80211_TID_CONFIG_ATTR_RETRY_SHORT NL80211_TID_CONFIG_ATTR_RTSCTS_CTRL = C.NL80211_TID_CONFIG_ATTR_RTSCTS_CTRL NL80211_TID_CONFIG_ATTR_TIDS = C.NL80211_TID_CONFIG_ATTR_TIDS NL80211_TID_CONFIG_ATTR_TX_RATE = C.NL80211_TID_CONFIG_ATTR_TX_RATE NL80211_TID_CONFIG_ATTR_TX_RATE_TYPE = C.NL80211_TID_CONFIG_ATTR_TX_RATE_TYPE NL80211_TID_CONFIG_ATTR_VIF_SUPP = C.NL80211_TID_CONFIG_ATTR_VIF_SUPP NL80211_TID_CONFIG_DISABLE = C.NL80211_TID_CONFIG_DISABLE NL80211_TID_CONFIG_ENABLE = C.NL80211_TID_CONFIG_ENABLE NL80211_TID_STATS_MAX = C.NL80211_TID_STATS_MAX NL80211_TID_STATS_PAD = C.NL80211_TID_STATS_PAD NL80211_TID_STATS_RX_MSDU = C.NL80211_TID_STATS_RX_MSDU NL80211_TID_STATS_TX_MSDU = C.NL80211_TID_STATS_TX_MSDU NL80211_TID_STATS_TX_MSDU_FAILED = C.NL80211_TID_STATS_TX_MSDU_FAILED NL80211_TID_STATS_TX_MSDU_RETRIES = C.NL80211_TID_STATS_TX_MSDU_RETRIES NL80211_TID_STATS_TXQ_STATS = C.NL80211_TID_STATS_TXQ_STATS NL80211_TIMEOUT_ASSOC = C.NL80211_TIMEOUT_ASSOC NL80211_TIMEOUT_AUTH = C.NL80211_TIMEOUT_AUTH NL80211_TIMEOUT_SCAN = C.NL80211_TIMEOUT_SCAN NL80211_TIMEOUT_UNSPECIFIED = C.NL80211_TIMEOUT_UNSPECIFIED NL80211_TKIP_DATA_OFFSET_ENCR_KEY = C.NL80211_TKIP_DATA_OFFSET_ENCR_KEY NL80211_TKIP_DATA_OFFSET_RX_MIC_KEY = C.NL80211_TKIP_DATA_OFFSET_RX_MIC_KEY NL80211_TKIP_DATA_OFFSET_TX_MIC_KEY = C.NL80211_TKIP_DATA_OFFSET_TX_MIC_KEY NL80211_TX_POWER_AUTOMATIC = C.NL80211_TX_POWER_AUTOMATIC NL80211_TX_POWER_FIXED = C.NL80211_TX_POWER_FIXED NL80211_TX_POWER_LIMITED = C.NL80211_TX_POWER_LIMITED NL80211_TXQ_ATTR_AC = C.NL80211_TXQ_ATTR_AC NL80211_TXQ_ATTR_AIFS = C.NL80211_TXQ_ATTR_AIFS NL80211_TXQ_ATTR_CWMAX = C.NL80211_TXQ_ATTR_CWMAX NL80211_TXQ_ATTR_CWMIN = C.NL80211_TXQ_ATTR_CWMIN NL80211_TXQ_ATTR_MAX = C.NL80211_TXQ_ATTR_MAX NL80211_TXQ_ATTR_QUEUE = C.NL80211_TXQ_ATTR_QUEUE NL80211_TXQ_ATTR_TXOP = C.NL80211_TXQ_ATTR_TXOP NL80211_TXQ_Q_BE = C.NL80211_TXQ_Q_BE NL80211_TXQ_Q_BK = C.NL80211_TXQ_Q_BK NL80211_TXQ_Q_VI = C.NL80211_TXQ_Q_VI NL80211_TXQ_Q_VO = C.NL80211_TXQ_Q_VO NL80211_TXQ_STATS_BACKLOG_BYTES = C.NL80211_TXQ_STATS_BACKLOG_BYTES NL80211_TXQ_STATS_BACKLOG_PACKETS = C.NL80211_TXQ_STATS_BACKLOG_PACKETS NL80211_TXQ_STATS_COLLISIONS = C.NL80211_TXQ_STATS_COLLISIONS NL80211_TXQ_STATS_DROPS = C.NL80211_TXQ_STATS_DROPS NL80211_TXQ_STATS_ECN_MARKS = C.NL80211_TXQ_STATS_ECN_MARKS NL80211_TXQ_STATS_FLOWS = C.NL80211_TXQ_STATS_FLOWS NL80211_TXQ_STATS_MAX = C.NL80211_TXQ_STATS_MAX NL80211_TXQ_STATS_MAX_FLOWS = C.NL80211_TXQ_STATS_MAX_FLOWS NL80211_TXQ_STATS_OVERLIMIT = C.NL80211_TXQ_STATS_OVERLIMIT NL80211_TXQ_STATS_OVERMEMORY = C.NL80211_TXQ_STATS_OVERMEMORY NL80211_TXQ_STATS_TX_BYTES = C.NL80211_TXQ_STATS_TX_BYTES NL80211_TXQ_STATS_TX_PACKETS = C.NL80211_TXQ_STATS_TX_PACKETS NL80211_TX_RATE_AUTOMATIC = C.NL80211_TX_RATE_AUTOMATIC NL80211_TXRATE_DEFAULT_GI = C.NL80211_TXRATE_DEFAULT_GI NL80211_TX_RATE_FIXED = C.NL80211_TX_RATE_FIXED NL80211_TXRATE_FORCE_LGI = C.NL80211_TXRATE_FORCE_LGI NL80211_TXRATE_FORCE_SGI = C.NL80211_TXRATE_FORCE_SGI NL80211_TXRATE_GI = C.NL80211_TXRATE_GI NL80211_TXRATE_HE = C.NL80211_TXRATE_HE NL80211_TXRATE_HE_GI = C.NL80211_TXRATE_HE_GI NL80211_TXRATE_HE_LTF = C.NL80211_TXRATE_HE_LTF NL80211_TXRATE_HT = C.NL80211_TXRATE_HT NL80211_TXRATE_LEGACY = C.NL80211_TXRATE_LEGACY NL80211_TX_RATE_LIMITED = C.NL80211_TX_RATE_LIMITED NL80211_TXRATE_MAX = C.NL80211_TXRATE_MAX NL80211_TXRATE_MCS = C.NL80211_TXRATE_MCS NL80211_TXRATE_VHT = C.NL80211_TXRATE_VHT NL80211_UNSOL_BCAST_PROBE_RESP_ATTR_INT = C.NL80211_UNSOL_BCAST_PROBE_RESP_ATTR_INT NL80211_UNSOL_BCAST_PROBE_RESP_ATTR_MAX = C.NL80211_UNSOL_BCAST_PROBE_RESP_ATTR_MAX NL80211_UNSOL_BCAST_PROBE_RESP_ATTR_TMPL = C.NL80211_UNSOL_BCAST_PROBE_RESP_ATTR_TMPL NL80211_USER_REG_HINT_CELL_BASE = C.NL80211_USER_REG_HINT_CELL_BASE NL80211_USER_REG_HINT_INDOOR = C.NL80211_USER_REG_HINT_INDOOR NL80211_USER_REG_HINT_USER = C.NL80211_USER_REG_HINT_USER NL80211_VENDOR_ID_IS_LINUX = C.NL80211_VENDOR_ID_IS_LINUX NL80211_VHT_CAPABILITY_LEN = C.NL80211_VHT_CAPABILITY_LEN NL80211_VHT_NSS_MAX = C.NL80211_VHT_NSS_MAX NL80211_WIPHY_NAME_MAXLEN = C.NL80211_WIPHY_NAME_MAXLEN NL80211_WMMR_AIFSN = C.NL80211_WMMR_AIFSN NL80211_WMMR_CW_MAX = C.NL80211_WMMR_CW_MAX NL80211_WMMR_CW_MIN = C.NL80211_WMMR_CW_MIN NL80211_WMMR_MAX = C.NL80211_WMMR_MAX NL80211_WMMR_TXOP = C.NL80211_WMMR_TXOP NL80211_WOWLAN_PKTPAT_MASK = C.NL80211_WOWLAN_PKTPAT_MASK NL80211_WOWLAN_PKTPAT_OFFSET = C.NL80211_WOWLAN_PKTPAT_OFFSET NL80211_WOWLAN_PKTPAT_PATTERN = C.NL80211_WOWLAN_PKTPAT_PATTERN NL80211_WOWLAN_TCP_DATA_INTERVAL = C.NL80211_WOWLAN_TCP_DATA_INTERVAL NL80211_WOWLAN_TCP_DATA_PAYLOAD = C.NL80211_WOWLAN_TCP_DATA_PAYLOAD NL80211_WOWLAN_TCP_DATA_PAYLOAD_SEQ = C.NL80211_WOWLAN_TCP_DATA_PAYLOAD_SEQ NL80211_WOWLAN_TCP_DATA_PAYLOAD_TOKEN = C.NL80211_WOWLAN_TCP_DATA_PAYLOAD_TOKEN NL80211_WOWLAN_TCP_DST_IPV4 = C.NL80211_WOWLAN_TCP_DST_IPV4 NL80211_WOWLAN_TCP_DST_MAC = C.NL80211_WOWLAN_TCP_DST_MAC NL80211_WOWLAN_TCP_DST_PORT = C.NL80211_WOWLAN_TCP_DST_PORT NL80211_WOWLAN_TCP_SRC_IPV4 = C.NL80211_WOWLAN_TCP_SRC_IPV4 NL80211_WOWLAN_TCP_SRC_PORT = C.NL80211_WOWLAN_TCP_SRC_PORT NL80211_WOWLAN_TCP_WAKE_MASK = C.NL80211_WOWLAN_TCP_WAKE_MASK NL80211_WOWLAN_TCP_WAKE_PAYLOAD = C.NL80211_WOWLAN_TCP_WAKE_PAYLOAD NL80211_WOWLAN_TRIG_4WAY_HANDSHAKE = C.NL80211_WOWLAN_TRIG_4WAY_HANDSHAKE NL80211_WOWLAN_TRIG_ANY = C.NL80211_WOWLAN_TRIG_ANY NL80211_WOWLAN_TRIG_DISCONNECT = C.NL80211_WOWLAN_TRIG_DISCONNECT NL80211_WOWLAN_TRIG_EAP_IDENT_REQUEST = C.NL80211_WOWLAN_TRIG_EAP_IDENT_REQUEST NL80211_WOWLAN_TRIG_GTK_REKEY_FAILURE = C.NL80211_WOWLAN_TRIG_GTK_REKEY_FAILURE NL80211_WOWLAN_TRIG_GTK_REKEY_SUPPORTED = C.NL80211_WOWLAN_TRIG_GTK_REKEY_SUPPORTED NL80211_WOWLAN_TRIG_MAGIC_PKT = C.NL80211_WOWLAN_TRIG_MAGIC_PKT NL80211_WOWLAN_TRIG_NET_DETECT = C.NL80211_WOWLAN_TRIG_NET_DETECT NL80211_WOWLAN_TRIG_NET_DETECT_RESULTS = C.NL80211_WOWLAN_TRIG_NET_DETECT_RESULTS NL80211_WOWLAN_TRIG_PKT_PATTERN = C.NL80211_WOWLAN_TRIG_PKT_PATTERN NL80211_WOWLAN_TRIG_RFKILL_RELEASE = C.NL80211_WOWLAN_TRIG_RFKILL_RELEASE NL80211_WOWLAN_TRIG_TCP_CONNECTION = C.NL80211_WOWLAN_TRIG_TCP_CONNECTION NL80211_WOWLAN_TRIG_WAKEUP_PKT_80211 = C.NL80211_WOWLAN_TRIG_WAKEUP_PKT_80211 NL80211_WOWLAN_TRIG_WAKEUP_PKT_80211_LEN = C.NL80211_WOWLAN_TRIG_WAKEUP_PKT_80211_LEN NL80211_WOWLAN_TRIG_WAKEUP_PKT_8023 = C.NL80211_WOWLAN_TRIG_WAKEUP_PKT_8023 NL80211_WOWLAN_TRIG_WAKEUP_PKT_8023_LEN = C.NL80211_WOWLAN_TRIG_WAKEUP_PKT_8023_LEN NL80211_WOWLAN_TRIG_WAKEUP_TCP_CONNLOST = C.NL80211_WOWLAN_TRIG_WAKEUP_TCP_CONNLOST NL80211_WOWLAN_TRIG_WAKEUP_TCP_MATCH = C.NL80211_WOWLAN_TRIG_WAKEUP_TCP_MATCH NL80211_WOWLAN_TRIG_WAKEUP_TCP_NOMORETOKENS = C.NL80211_WOWLAN_TRIG_WAKEUP_TCP_NOMORETOKENS NL80211_WPA_VERSION_1 = C.NL80211_WPA_VERSION_1 NL80211_WPA_VERSION_2 = C.NL80211_WPA_VERSION_2 NL80211_WPA_VERSION_3 = C.NL80211_WPA_VERSION_3 ) // generated by: // perl -nlE '/^\s*((FR_ACT|FRA)_\w+)/ && say "$1 = C.$1"' include/uapi/linux/fib_rules.h const ( FRA_UNSPEC = C.FRA_UNSPEC FRA_DST = C.FRA_DST FRA_SRC = C.FRA_SRC FRA_IIFNAME = C.FRA_IIFNAME FRA_GOTO = C.FRA_GOTO FRA_UNUSED2 = C.FRA_UNUSED2 FRA_PRIORITY = C.FRA_PRIORITY FRA_UNUSED3 = C.FRA_UNUSED3 FRA_UNUSED4 = C.FRA_UNUSED4 FRA_UNUSED5 = C.FRA_UNUSED5 FRA_FWMARK = C.FRA_FWMARK FRA_FLOW = C.FRA_FLOW FRA_TUN_ID = C.FRA_TUN_ID FRA_SUPPRESS_IFGROUP = C.FRA_SUPPRESS_IFGROUP FRA_SUPPRESS_PREFIXLEN = C.FRA_SUPPRESS_PREFIXLEN FRA_TABLE = C.FRA_TABLE FRA_FWMASK = C.FRA_FWMASK FRA_OIFNAME = C.FRA_OIFNAME FRA_PAD = C.FRA_PAD FRA_L3MDEV = C.FRA_L3MDEV FRA_UID_RANGE = C.FRA_UID_RANGE FRA_PROTOCOL = C.FRA_PROTOCOL FRA_IP_PROTO = C.FRA_IP_PROTO FRA_SPORT_RANGE = C.FRA_SPORT_RANGE FRA_DPORT_RANGE = C.FRA_DPORT_RANGE FR_ACT_UNSPEC = C.FR_ACT_UNSPEC FR_ACT_TO_TBL = C.FR_ACT_TO_TBL FR_ACT_GOTO = C.FR_ACT_GOTO FR_ACT_NOP = C.FR_ACT_NOP FR_ACT_RES3 = C.FR_ACT_RES3 FR_ACT_RES4 = C.FR_ACT_RES4 FR_ACT_BLACKHOLE = C.FR_ACT_BLACKHOLE FR_ACT_UNREACHABLE = C.FR_ACT_UNREACHABLE FR_ACT_PROHIBIT = C.FR_ACT_PROHIBIT ) // generated by: // perl -nlE '/^\s*(AUDIT_NLGRP_\w+)/ && say "$1 = C.$1"' audit.h const ( AUDIT_NLGRP_NONE = C.AUDIT_NLGRP_NONE AUDIT_NLGRP_READLOG = C.AUDIT_NLGRP_READLOG ) // generated by: // perl -nlE '/^#define (TUN_F_\w+)/ && say "$1 = C.$1"' include/uapi/linux/if_tun.h const ( TUN_F_CSUM = C.TUN_F_CSUM TUN_F_TSO4 = C.TUN_F_TSO4 TUN_F_TSO6 = C.TUN_F_TSO6 TUN_F_TSO_ECN = C.TUN_F_TSO_ECN TUN_F_UFO = C.TUN_F_UFO TUN_F_USO4 = C.TUN_F_USO4 TUN_F_USO6 = C.TUN_F_USO6 ) // generated by: // perl -nlE '/^#define (VIRTIO_NET_HDR_F_\w+)/ && say "$1 = C.$1"' include/uapi/linux/virtio_net.h const ( VIRTIO_NET_HDR_F_NEEDS_CSUM = C.VIRTIO_NET_HDR_F_NEEDS_CSUM VIRTIO_NET_HDR_F_DATA_VALID = C.VIRTIO_NET_HDR_F_DATA_VALID VIRTIO_NET_HDR_F_RSC_INFO = C.VIRTIO_NET_HDR_F_RSC_INFO ) // generated by: // perl -nlE '/^#define (VIRTIO_NET_HDR_GSO_\w+)/ && say "$1 = C.$1"' include/uapi/linux/virtio_net.h const ( VIRTIO_NET_HDR_GSO_NONE = C.VIRTIO_NET_HDR_GSO_NONE VIRTIO_NET_HDR_GSO_TCPV4 = C.VIRTIO_NET_HDR_GSO_TCPV4 VIRTIO_NET_HDR_GSO_UDP = C.VIRTIO_NET_HDR_GSO_UDP VIRTIO_NET_HDR_GSO_TCPV6 = C.VIRTIO_NET_HDR_GSO_TCPV6 VIRTIO_NET_HDR_GSO_UDP_L4 = C.VIRTIO_NET_HDR_GSO_UDP_L4 VIRTIO_NET_HDR_GSO_ECN = C.VIRTIO_NET_HDR_GSO_ECN ) type RISCVHWProbePairs C.struct_riscv_hwprobe // Filtered out for non RISC-V architectures in mkpost.go // generated by: // perl -nlE '/^#define\s+(RISCV_HWPROBE_\w+)/ && say "$1 = C.$1"' /tmp/riscv64/include/asm/hwprobe.h const ( RISCV_HWPROBE_KEY_MVENDORID = C.RISCV_HWPROBE_KEY_MVENDORID RISCV_HWPROBE_KEY_MARCHID = C.RISCV_HWPROBE_KEY_MARCHID RISCV_HWPROBE_KEY_MIMPID = C.RISCV_HWPROBE_KEY_MIMPID RISCV_HWPROBE_KEY_BASE_BEHAVIOR = C.RISCV_HWPROBE_KEY_BASE_BEHAVIOR RISCV_HWPROBE_BASE_BEHAVIOR_IMA = C.RISCV_HWPROBE_BASE_BEHAVIOR_IMA RISCV_HWPROBE_KEY_IMA_EXT_0 = C.RISCV_HWPROBE_KEY_IMA_EXT_0 RISCV_HWPROBE_IMA_FD = C.RISCV_HWPROBE_IMA_FD RISCV_HWPROBE_IMA_C = C.RISCV_HWPROBE_IMA_C RISCV_HWPROBE_IMA_V = C.RISCV_HWPROBE_IMA_V RISCV_HWPROBE_EXT_ZBA = C.RISCV_HWPROBE_EXT_ZBA RISCV_HWPROBE_EXT_ZBB = C.RISCV_HWPROBE_EXT_ZBB RISCV_HWPROBE_EXT_ZBS = C.RISCV_HWPROBE_EXT_ZBS RISCV_HWPROBE_EXT_ZICBOZ = C.RISCV_HWPROBE_EXT_ZICBOZ RISCV_HWPROBE_EXT_ZBC = C.RISCV_HWPROBE_EXT_ZBC RISCV_HWPROBE_EXT_ZBKB = C.RISCV_HWPROBE_EXT_ZBKB RISCV_HWPROBE_EXT_ZBKC = C.RISCV_HWPROBE_EXT_ZBKC RISCV_HWPROBE_EXT_ZBKX = C.RISCV_HWPROBE_EXT_ZBKX RISCV_HWPROBE_EXT_ZKND = C.RISCV_HWPROBE_EXT_ZKND RISCV_HWPROBE_EXT_ZKNE = C.RISCV_HWPROBE_EXT_ZKNE RISCV_HWPROBE_EXT_ZKNH = C.RISCV_HWPROBE_EXT_ZKNH RISCV_HWPROBE_EXT_ZKSED = C.RISCV_HWPROBE_EXT_ZKSED RISCV_HWPROBE_EXT_ZKSH = C.RISCV_HWPROBE_EXT_ZKSH RISCV_HWPROBE_EXT_ZKT = C.RISCV_HWPROBE_EXT_ZKT RISCV_HWPROBE_EXT_ZVBB = C.RISCV_HWPROBE_EXT_ZVBB RISCV_HWPROBE_EXT_ZVBC = C.RISCV_HWPROBE_EXT_ZVBC RISCV_HWPROBE_EXT_ZVKB = C.RISCV_HWPROBE_EXT_ZVKB RISCV_HWPROBE_EXT_ZVKG = C.RISCV_HWPROBE_EXT_ZVKG RISCV_HWPROBE_EXT_ZVKNED = C.RISCV_HWPROBE_EXT_ZVKNED RISCV_HWPROBE_EXT_ZVKNHA = C.RISCV_HWPROBE_EXT_ZVKNHA RISCV_HWPROBE_EXT_ZVKNHB = C.RISCV_HWPROBE_EXT_ZVKNHB RISCV_HWPROBE_EXT_ZVKSED = C.RISCV_HWPROBE_EXT_ZVKSED RISCV_HWPROBE_EXT_ZVKSH = C.RISCV_HWPROBE_EXT_ZVKSH RISCV_HWPROBE_EXT_ZVKT = C.RISCV_HWPROBE_EXT_ZVKT RISCV_HWPROBE_EXT_ZFH = C.RISCV_HWPROBE_EXT_ZFH RISCV_HWPROBE_EXT_ZFHMIN = C.RISCV_HWPROBE_EXT_ZFHMIN RISCV_HWPROBE_EXT_ZIHINTNTL = C.RISCV_HWPROBE_EXT_ZIHINTNTL RISCV_HWPROBE_EXT_ZVFH = C.RISCV_HWPROBE_EXT_ZVFH RISCV_HWPROBE_EXT_ZVFHMIN = C.RISCV_HWPROBE_EXT_ZVFHMIN RISCV_HWPROBE_EXT_ZFA = C.RISCV_HWPROBE_EXT_ZFA RISCV_HWPROBE_EXT_ZTSO = C.RISCV_HWPROBE_EXT_ZTSO RISCV_HWPROBE_EXT_ZACAS = C.RISCV_HWPROBE_EXT_ZACAS RISCV_HWPROBE_EXT_ZICOND = C.RISCV_HWPROBE_EXT_ZICOND RISCV_HWPROBE_EXT_ZIHINTPAUSE = C.RISCV_HWPROBE_EXT_ZIHINTPAUSE RISCV_HWPROBE_KEY_CPUPERF_0 = C.RISCV_HWPROBE_KEY_CPUPERF_0 RISCV_HWPROBE_MISALIGNED_UNKNOWN = C.RISCV_HWPROBE_MISALIGNED_UNKNOWN RISCV_HWPROBE_MISALIGNED_EMULATED = C.RISCV_HWPROBE_MISALIGNED_EMULATED RISCV_HWPROBE_MISALIGNED_SLOW = C.RISCV_HWPROBE_MISALIGNED_SLOW RISCV_HWPROBE_MISALIGNED_FAST = C.RISCV_HWPROBE_MISALIGNED_FAST RISCV_HWPROBE_MISALIGNED_UNSUPPORTED = C.RISCV_HWPROBE_MISALIGNED_UNSUPPORTED RISCV_HWPROBE_MISALIGNED_MASK = C.RISCV_HWPROBE_MISALIGNED_MASK RISCV_HWPROBE_KEY_ZICBOZ_BLOCK_SIZE = C.RISCV_HWPROBE_KEY_ZICBOZ_BLOCK_SIZE RISCV_HWPROBE_WHICH_CPUS = C.RISCV_HWPROBE_WHICH_CPUS ) type SchedAttr C.struct_sched_attr const SizeofSchedAttr = C.sizeof_struct_sched_attr type Cachestat_t C.struct_cachestat type CachestatRange C.struct_cachestat_range // generated by: // $ perl -nlE '/^\s*((SK_|SKNLGRP_)\w+)/ && say "$1 = C.$1"' /usr/include/linux/sock_diag.h const ( SK_MEMINFO_RMEM_ALLOC = C.SK_MEMINFO_RMEM_ALLOC SK_MEMINFO_RCVBUF = C.SK_MEMINFO_RCVBUF SK_MEMINFO_WMEM_ALLOC = C.SK_MEMINFO_WMEM_ALLOC SK_MEMINFO_SNDBUF = C.SK_MEMINFO_SNDBUF SK_MEMINFO_FWD_ALLOC = C.SK_MEMINFO_FWD_ALLOC SK_MEMINFO_WMEM_QUEUED = C.SK_MEMINFO_WMEM_QUEUED SK_MEMINFO_OPTMEM = C.SK_MEMINFO_OPTMEM SK_MEMINFO_BACKLOG = C.SK_MEMINFO_BACKLOG SK_MEMINFO_DROPS = C.SK_MEMINFO_DROPS SK_MEMINFO_VARS = C.SK_MEMINFO_VARS SKNLGRP_NONE = C.SKNLGRP_NONE SKNLGRP_INET_TCP_DESTROY = C.SKNLGRP_INET_TCP_DESTROY SKNLGRP_INET_UDP_DESTROY = C.SKNLGRP_INET_UDP_DESTROY SKNLGRP_INET6_TCP_DESTROY = C.SKNLGRP_INET6_TCP_DESTROY SKNLGRP_INET6_UDP_DESTROY = C.SKNLGRP_INET6_UDP_DESTROY SK_DIAG_BPF_STORAGE_REQ_NONE = C.SK_DIAG_BPF_STORAGE_REQ_NONE SK_DIAG_BPF_STORAGE_REQ_MAP_FD = C.SK_DIAG_BPF_STORAGE_REQ_MAP_FD SK_DIAG_BPF_STORAGE_REP_NONE = C.SK_DIAG_BPF_STORAGE_REP_NONE SK_DIAG_BPF_STORAGE = C.SK_DIAG_BPF_STORAGE SK_DIAG_BPF_STORAGE_NONE = C.SK_DIAG_BPF_STORAGE_NONE SK_DIAG_BPF_STORAGE_PAD = C.SK_DIAG_BPF_STORAGE_PAD SK_DIAG_BPF_STORAGE_MAP_ID = C.SK_DIAG_BPF_STORAGE_MAP_ID SK_DIAG_BPF_STORAGE_MAP_VALUE = C.SK_DIAG_BPF_STORAGE_MAP_VALUE ) type SockDiagReq C.struct_sock_diag_req dependencies/pkg/mod/golang.org/x/sys@v0.26.0/unix/linux/mkall.go0000644000000000000000000007255115107355264023411 0ustar rootroot// Copyright 2017 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/mkall.go - Generates all Linux zsysnum, zsyscall, zerror, and ztype // files for all Linux architectures supported by the go compiler. See // README.md for more information about the build system. // To run it you must have a git checkout of the Linux kernel and glibc. Once // the appropriate sources are ready, the program is run as: // go run linux/mkall.go //go:build ignore package main import ( "bufio" "bytes" "debug/elf" "encoding/binary" "errors" "fmt" "go/build/constraint" "io" "os" "os/exec" "path/filepath" "runtime" "strings" "sync" "unicode" ) // These will be paths to the appropriate source directories. var LinuxDir string var GlibcDir string const TempDir = "/tmp" const GOOS = "linux" // Only for Linux targets const BuildArch = "amd64" // Must be built on this architecture const MinKernel = "2.6.32" // https://go.dev/wiki/MinimumRequirements#linuxlinux type target struct { GoArch string // Architecture name according to Go LinuxArch string // Architecture name according to the Linux Kernel GNUArch string // Architecture name according to GNU tools (https://wiki.debian.org/Multiarch/Tuples) BigEndian bool // Default Little Endian SignedChar bool // Is -fsigned-char needed (default no) Bits int env []string stderrBuf bytes.Buffer compiler string } // List of all Linux targets supported by the go compiler. Currently, sparc64 is // not fully supported, but there is enough support already to generate Go type // and error definitions. var targets = []target{ { GoArch: "386", LinuxArch: "x86", GNUArch: "i686-linux-gnu", // Note "i686" not "i386" Bits: 32, }, { GoArch: "amd64", LinuxArch: "x86", GNUArch: "x86_64-linux-gnu", Bits: 64, }, { GoArch: "arm64", LinuxArch: "arm64", GNUArch: "aarch64-linux-gnu", SignedChar: true, Bits: 64, }, { GoArch: "arm", LinuxArch: "arm", GNUArch: "arm-linux-gnueabi", Bits: 32, }, { GoArch: "loong64", LinuxArch: "loongarch", GNUArch: "loongarch64-linux-gnu", Bits: 64, }, { GoArch: "mips", LinuxArch: "mips", GNUArch: "mips-linux-gnu", BigEndian: true, Bits: 32, }, { GoArch: "mipsle", LinuxArch: "mips", GNUArch: "mipsel-linux-gnu", Bits: 32, }, { GoArch: "mips64", LinuxArch: "mips", GNUArch: "mips64-linux-gnuabi64", BigEndian: true, Bits: 64, }, { GoArch: "mips64le", LinuxArch: "mips", GNUArch: "mips64el-linux-gnuabi64", Bits: 64, }, { GoArch: "ppc", LinuxArch: "powerpc", GNUArch: "powerpc-linux-gnu", BigEndian: true, Bits: 32, }, { GoArch: "ppc64", LinuxArch: "powerpc", GNUArch: "powerpc64-linux-gnu", BigEndian: true, Bits: 64, }, { GoArch: "ppc64le", LinuxArch: "powerpc", GNUArch: "powerpc64le-linux-gnu", Bits: 64, }, { GoArch: "riscv64", LinuxArch: "riscv", GNUArch: "riscv64-linux-gnu", Bits: 64, }, { GoArch: "s390x", LinuxArch: "s390", GNUArch: "s390x-linux-gnu", BigEndian: true, SignedChar: true, Bits: 64, }, { GoArch: "sparc64", LinuxArch: "sparc", GNUArch: "sparc64-linux-gnu", BigEndian: true, Bits: 64, }, } // ptracePairs is a list of pairs of targets that can, in some cases, // run each other's binaries. 'archName' is the combined name of 'a1' // and 'a2', which is used in the file name. Generally we use an 'x' // suffix in the file name to indicate that the file works for both // big-endian and little-endian, here we use 'nn' to indicate that this // file is suitable for 32-bit and 64-bit. var ptracePairs = []struct{ a1, a2, archName string }{ {"386", "amd64", "x86"}, {"arm", "arm64", "armnn"}, {"mips", "mips64", "mipsnn"}, {"mipsle", "mips64le", "mipsnnle"}, } func main() { if runtime.GOOS != GOOS || runtime.GOARCH != BuildArch { fmt.Printf("Build system has GOOS_GOARCH = %s_%s, need %s_%s\n", runtime.GOOS, runtime.GOARCH, GOOS, BuildArch) return } // Check that we are using the new build system if we should if os.Getenv("GOLANG_SYS_BUILD") != "docker" { fmt.Println("In the new build system, mkall.go should not be called directly.") fmt.Println("See README.md") return } // Parse the command line options if len(os.Args) != 3 { fmt.Println("USAGE: go run linux/mkall.go ") return } LinuxDir = os.Args[1] GlibcDir = os.Args[2] wg := sync.WaitGroup{} for _, t := range targets { fmt.Printf("arch %s: GENERATING\n", t.GoArch) if err := t.setupEnvironment(); err != nil { fmt.Printf("arch %s: could not setup environment: %v\n", t.GoArch, err) break } includeDir := filepath.Join(TempDir, t.GoArch, "include") // Make the include directory and fill it with headers if err := os.MkdirAll(includeDir, os.ModePerm); err != nil { fmt.Printf("arch %s: could not make directory: %v\n", t.GoArch, err) break } // During header generation "/git/linux/scripts/basic/fixdep" is created by "basic/Makefile" for each // instance of "make headers_install". This leads to a "text file is busy" error from any running // "make headers_install" after the first one's target. Workaround is to serialize header generation if err := t.makeHeaders(); err != nil { fmt.Printf("arch %s: could not make header files: %v\n", t.GoArch, err) break } wg.Add(1) go func(t target) { defer wg.Done() fmt.Printf("arch %s: header files generated\n", t.GoArch) if err := t.generateFiles(); err != nil { fmt.Printf("%v\n***** FAILURE: %s *****\n\n", err, t.GoArch) } else { fmt.Printf("arch %s: SUCCESS\n", t.GoArch) } }(t) } wg.Wait() fmt.Printf("----- GENERATING: merging generated files -----\n") if err := mergeFiles(); err != nil { fmt.Printf("%v\n***** FAILURE: merging generated files *****\n\n", err) } else { fmt.Printf("----- SUCCESS: merging generated files -----\n\n") } fmt.Printf("----- GENERATING ptrace pairs -----\n") ok := true for _, p := range ptracePairs { if err := generatePtracePair(p.a1, p.a2, p.archName); err != nil { fmt.Printf("%v\n***** FAILURE: %s/%s *****\n\n", err, p.a1, p.a2) ok = false } } // generate functions PtraceGetRegSetArm64 and PtraceSetRegSetArm64. if err := generatePtraceRegSet("arm64"); err != nil { fmt.Printf("%v\n***** FAILURE: generatePtraceRegSet(%q) *****\n\n", err, "arm64") ok = false } if ok { fmt.Printf("----- SUCCESS ptrace pairs -----\n\n") } } func (t *target) printAndResetBuilder() { if t.stderrBuf.Len() > 0 { for _, l := range bytes.Split(t.stderrBuf.Bytes(), []byte{'\n'}) { fmt.Printf("arch %s: stderr: %s\n", t.GoArch, l) } t.stderrBuf.Reset() } } // Makes an exec.Cmd with Stderr attached to the target string Builder, and target environment func (t *target) makeCommand(name string, args ...string) *exec.Cmd { cmd := exec.Command(name, args...) cmd.Env = t.env cmd.Stderr = &t.stderrBuf return cmd } // Set GOARCH for target and build environments. func (t *target) setTargetBuildArch(cmd *exec.Cmd) { // Set GOARCH_TARGET so command knows what GOARCH is.. var env []string env = append(env, t.env...) cmd.Env = append(env, "GOARCH_TARGET="+t.GoArch) // Set GOARCH to host arch for command, so it can run natively. for i, s := range cmd.Env { if strings.HasPrefix(s, "GOARCH=") { cmd.Env[i] = "GOARCH=" + BuildArch } } } // Runs the command, pipes output to a formatter, pipes that to an output file. func (t *target) commandFormatOutput(formatter string, outputFile string, name string, args ...string) (err error) { mainCmd := t.makeCommand(name, args...) if name == "mksyscall" { args = append([]string{"run", "mksyscall.go"}, args...) mainCmd = t.makeCommand("go", args...) t.setTargetBuildArch(mainCmd) } else if name == "mksysnum" { args = append([]string{"run", "linux/mksysnum.go"}, args...) mainCmd = t.makeCommand("go", args...) t.setTargetBuildArch(mainCmd) } fmtCmd := t.makeCommand(formatter) if formatter == "mkpost" { fmtCmd = t.makeCommand("go", "run", "mkpost.go") t.setTargetBuildArch(fmtCmd) } else if formatter == "gofmt2" { fmtCmd = t.makeCommand("gofmt") mainCmd.Dir = filepath.Join(TempDir, t.GoArch, "mkerrors") if err = os.MkdirAll(mainCmd.Dir, os.ModePerm); err != nil { return err } } defer t.printAndResetBuilder() // mainCmd | fmtCmd > outputFile if fmtCmd.Stdin, err = mainCmd.StdoutPipe(); err != nil { return } if fmtCmd.Stdout, err = os.Create(outputFile); err != nil { return } // Make sure the formatter eventually closes if err = fmtCmd.Start(); err != nil { return } defer func() { fmtErr := fmtCmd.Wait() if err == nil { err = fmtErr } }() return mainCmd.Run() } func (t *target) setupEnvironment() error { // Setup environment variables t.env = append(os.Environ(), fmt.Sprintf("%s=%s", "GOOS", GOOS)) t.env = append(t.env, fmt.Sprintf("%s=%s", "GOARCH", t.GoArch)) // Get appropriate compiler and emulator (unless on x86) if t.LinuxArch != "x86" { // Check/Setup cross compiler t.compiler = t.GNUArch + "-gcc" if _, err := exec.LookPath(t.compiler); err != nil { return err } t.env = append(t.env, fmt.Sprintf("%s=%s", "CC", t.compiler)) // Check/Setup emulator (usually first component of GNUArch) qemuArchName := t.GNUArch[:strings.Index(t.GNUArch, "-")] if t.LinuxArch == "powerpc" { qemuArchName = t.GoArch } // Fake uname for QEMU to allow running on Host kernel version < 4.15 if t.LinuxArch == "riscv" { t.env = append(t.env, fmt.Sprintf("%s=%s", "QEMU_UNAME", "4.15")) } t.env = append(t.env, fmt.Sprintf("%s=%s", "GORUN", "qemu-"+qemuArchName)) } else { t.compiler = "gcc" t.env = append(t.env, fmt.Sprintf("%s=%s", "CC", "gcc")) } return nil } // Generates all the files for a Linux target func (t *target) generateFiles() error { // Make each of the four files if err := t.makeZSysnumFile(); err != nil { return fmt.Errorf("could not make zsysnum file: %v", err) } fmt.Printf("arch %s: zsysnum file generated\n", t.GoArch) if err := t.makeZSyscallFile(); err != nil { return fmt.Errorf("could not make zsyscall file: %v", err) } fmt.Printf("arch %s: zsyscall file generated\n", t.GoArch) if err := t.makeZTypesFile(); err != nil { return fmt.Errorf("could not make ztypes file: %v", err) } fmt.Printf("arch %s: ztypes file generated\n", t.GoArch) if err := t.makeZErrorsFile(); err != nil { return fmt.Errorf("could not make zerrors file: %v", err) } fmt.Printf("arch %s: zerrors file generated\n", t.GoArch) return nil } // Create the Linux, glibc and ABI (C compiler convention) headers in the include directory. func (t *target) makeHeaders() error { defer t.printAndResetBuilder() // Make the Linux headers we need for this architecture linuxMake := t.makeCommand("make", "headers_install", "ARCH="+t.LinuxArch, "INSTALL_HDR_PATH="+filepath.Join(TempDir, t.GoArch)) linuxMake.Dir = LinuxDir if err := linuxMake.Run(); err != nil { return err } buildDir := filepath.Join(TempDir, t.GoArch, "build") // A Temporary build directory for glibc if err := os.MkdirAll(buildDir, os.ModePerm); err != nil { return err } defer os.RemoveAll(buildDir) // Make the glibc headers we need for this architecture confScript := filepath.Join(GlibcDir, "configure") glibcArgs := []string{"--prefix=" + filepath.Join(TempDir, t.GoArch), "--host=" + t.GNUArch} if t.LinuxArch == "loongarch" { // The minimum version requirement of the Loongarch for the kernel in glibc // is 5.19, if --enable-kernel is less than 5.19, glibc handles errors glibcArgs = append(glibcArgs, "--enable-kernel=5.19.0") } else { glibcArgs = append(glibcArgs, "--enable-kernel="+MinKernel) } // CET is not supported on x86 but glibc 2.39 enables it by default, it was later reverted. // See https://sourceware.org/git/?p=glibc.git;a=commit;h=25f1e16ef03a6a8fb1701c4647d46c564480d88c if t.LinuxArch == "x86" { glibcArgs = append(glibcArgs, "--enable-cet=no") } // glibc 2.38 requires libmvec to be disabled explicitly in aarch64 // since the installed compiler does not have SVE ACLE. // See https://sourceware.org/pipermail/libc-alpha/2023-May/147829.html if t.LinuxArch == "arm64" { glibcArgs = append(glibcArgs, "--disable-mathvec") } glibcConf := t.makeCommand(confScript, glibcArgs...) glibcConf.Dir = buildDir if err := glibcConf.Run(); err != nil { return err } glibcMake := t.makeCommand("make", "install-headers") glibcMake.Dir = buildDir if err := glibcMake.Run(); err != nil { return err } // We only need an empty stubs file stubsFile := filepath.Join(TempDir, t.GoArch, "include", "gnu", "stubs.h") if file, err := os.Create(stubsFile); err != nil { return err } else { file.Close() } // ABI headers will specify C compiler behavior for the target platform. return t.makeABIHeaders() } // makeABIHeaders generates C header files based on the platform's calling convention. // While many platforms have formal Application Binary Interfaces, in practice, whatever the // dominant C compilers generate is the de-facto calling convention. // // We generate C headers instead of a Go file, so as to enable references to the ABI from Cgo. func (t *target) makeABIHeaders() (err error) { abiDir := filepath.Join(TempDir, t.GoArch, "include", "abi") if err = os.Mkdir(abiDir, os.ModePerm); err != nil { return err } if t.compiler == "" { return errors.New("CC (compiler) env var not set") } // Build a sacrificial ELF file, to mine for C compiler behavior. binPath := filepath.Join(TempDir, t.GoArch, "tmp_abi.o") bin, err := t.buildELF(t.compiler, cCode, binPath) if err != nil { return fmt.Errorf("cannot build ELF to analyze: %v", err) } defer bin.Close() defer os.Remove(binPath) // Right now, we put everything in abi.h, but we may change this later. abiFile, err := os.Create(filepath.Join(abiDir, "abi.h")) if err != nil { return err } defer func() { if cerr := abiFile.Close(); cerr != nil && err == nil { err = cerr } }() if err = t.writeBitFieldMasks(bin, abiFile); err != nil { return fmt.Errorf("cannot write bitfield masks: %v", err) } return nil } func (t *target) buildELF(cc, src, path string) (*elf.File, error) { // Compile the cCode source using the set compiler - we will need its .data section. // Do not link the binary, so that we can find .data section offsets from the symbol values. ccCmd := t.makeCommand(cc, "-o", path, "-gdwarf", "-x", "c", "-c", "-") ccCmd.Stdin = strings.NewReader(src) ccCmd.Stdout = os.Stdout defer t.printAndResetBuilder() if err := ccCmd.Run(); err != nil { return nil, fmt.Errorf("compiler error: %v", err) } bin, err := elf.Open(path) if err != nil { return nil, fmt.Errorf("cannot read ELF file %s: %v", path, err) } return bin, nil } func (t *target) writeBitFieldMasks(bin *elf.File, out io.Writer) error { symbols, err := bin.Symbols() if err != nil { return fmt.Errorf("getting ELF symbols: %v", err) } var masksSym *elf.Symbol for _, sym := range symbols { if sym.Name == "masks" { masksSym = &sym } } if masksSym == nil { return errors.New("could not find the 'masks' symbol in ELF symtab") } dataSection := bin.Section(".data") if dataSection == nil { return errors.New("ELF file has no .data section") } data, err := dataSection.Data() if err != nil { return fmt.Errorf("could not read .data section: %v\n", err) } var bo binary.ByteOrder if t.BigEndian { bo = binary.BigEndian } else { bo = binary.LittleEndian } // 64 bit masks of type uint64 are stored in the data section starting at masks.Value. // Here we are running on AMD64, but these values may be big endian or little endian, // depending on target architecture. for i := uint64(0); i < 64; i++ { off := masksSym.Value + i*8 // Define each mask in native by order, so as to match target endian. fmt.Fprintf(out, "#define BITFIELD_MASK_%d %dULL\n", i, bo.Uint64(data[off:off+8])) } return nil } // makes the zsysnum_linux_$GOARCH.go file func (t *target) makeZSysnumFile() error { zsysnumFile := fmt.Sprintf("zsysnum_linux_%s.go", t.GoArch) unistdFile := filepath.Join(TempDir, t.GoArch, "include", "asm", "unistd.h") args := append(t.cFlags(), unistdFile) return t.commandFormatOutput("gofmt", zsysnumFile, "mksysnum", args...) } // makes the zsyscall_linux_$GOARCH.go file func (t *target) makeZSyscallFile() error { zsyscallFile := fmt.Sprintf("zsyscall_linux_%s.go", t.GoArch) // Find the correct architecture syscall file (might end with x.go) archSyscallFile := fmt.Sprintf("syscall_linux_%s.go", t.GoArch) if _, err := os.Stat(archSyscallFile); os.IsNotExist(err) { shortArch := strings.TrimSuffix(t.GoArch, "le") archSyscallFile = fmt.Sprintf("syscall_linux_%sx.go", shortArch) } args := append(t.mksyscallFlags(), "-tags", "linux,"+t.GoArch, "syscall_linux.go", archSyscallFile, ) files, err := t.archMksyscallFiles() if err != nil { return fmt.Errorf("failed to check GOARCH-specific mksyscall files: %v", err) } args = append(args, files...) return t.commandFormatOutput("gofmt", zsyscallFile, "mksyscall", args...) } // archMksyscallFiles produces additional file arguments to mksyscall if the // build constraints in those files match those defined for target. func (t *target) archMksyscallFiles() ([]string, error) { // These input files don't fit the typical GOOS/GOARCH file name conventions // but are included conditionally in the arguments to mksyscall based on // whether or not the target matches the build constraints defined in each // file. // // TODO(mdlayher): it should be possible to generalize this approach to work // over all of syscall_linux_* rather than hard-coding a few special files. // Investigate this. inputs := []string{ // GOARCH: all except arm* and riscv. "syscall_linux_alarm.go", } var outputs []string for _, in := range inputs { ok, err := t.matchesMksyscallFile(in) if err != nil { return nil, fmt.Errorf("failed to parse file %q: %v", in, err) } if ok { // Constraints match, use for this target's code generation. outputs = append(outputs, in) } } return outputs, nil } // matchesMksyscallFile reports whether the input file contains constraints // which match those defined for target. func (t *target) matchesMksyscallFile(file string) (bool, error) { f, err := os.Open(file) if err != nil { return false, err } defer f.Close() var ( expr constraint.Expr found bool ) s := bufio.NewScanner(f) for s.Scan() { // Keep scanning until a valid constraint is found or we hit EOF. // This is sufficient for the single-line //go:build constraints. if expr, err = constraint.Parse(s.Text()); err == nil { found = true break } } if err := s.Err(); err != nil { return false, err } if !found { return false, errors.New("no build constraints found") } // Do the defined constraints match target's GOOS/GOARCH? ok := expr.Eval(func(tag string) bool { return tag == GOOS || tag == t.GoArch }) return ok, nil } // makes the zerrors_linux_$GOARCH.go file func (t *target) makeZErrorsFile() error { zerrorsFile := fmt.Sprintf("zerrors_linux_%s.go", t.GoArch) return t.commandFormatOutput("gofmt2", zerrorsFile, "/"+filepath.Join("build", "unix", "mkerrors.sh"), t.cFlags()...) } // makes the ztypes_linux_$GOARCH.go file func (t *target) makeZTypesFile() error { ztypesFile := fmt.Sprintf("ztypes_linux_%s.go", t.GoArch) cgoDir := filepath.Join(TempDir, t.GoArch, "cgo") if err := os.MkdirAll(cgoDir, os.ModePerm); err != nil { return err } args := []string{"tool", "cgo", "-godefs", "-objdir=" + cgoDir, "--"} args = append(args, t.cFlags()...) args = append(args, "linux/types.go") return t.commandFormatOutput("mkpost", ztypesFile, "go", args...) } // Flags that should be given to gcc and cgo for this target func (t *target) cFlags() []string { // Compile statically to avoid cross-architecture dynamic linking. flags := []string{"-Wall", "-Werror", "-static", "-I" + filepath.Join(TempDir, t.GoArch, "include")} // Architecture-specific flags if t.SignedChar { flags = append(flags, "-fsigned-char") } if t.LinuxArch == "x86" { flags = append(flags, fmt.Sprintf("-m%d", t.Bits)) } return flags } // Flags that should be given to mksyscall for this target func (t *target) mksyscallFlags() (flags []string) { if t.Bits == 32 { if t.BigEndian { flags = append(flags, "-b32") } else { flags = append(flags, "-l32") } } // This flag means a 64-bit value should use (even, odd)-pair. if t.GoArch == "arm" || (t.LinuxArch == "mips" && t.Bits == 32) { flags = append(flags, "-arm") } return } // Merge all the generated files for Linux targets func mergeFiles() error { // Setup environment variables os.Setenv("GOOS", runtime.GOOS) os.Setenv("GOARCH", runtime.GOARCH) // Merge each of the four type of files for _, ztyp := range []string{"zerrors", "zsyscall", "zsysnum", "ztypes"} { cmd := exec.Command("go", "run", "./internal/mkmerge", "-out", fmt.Sprintf("%s_%s.go", ztyp, GOOS), fmt.Sprintf("%s_%s_*.go", ztyp, GOOS)) cmd.Stderr = os.Stderr err := cmd.Run() if err != nil { return fmt.Errorf("could not merge %s files: %w", ztyp, err) } fmt.Printf("%s files merged\n", ztyp) } return nil } // generatePtracePair takes a pair of GOARCH values that can run each // other's binaries, such as 386 and amd64. It extracts the PtraceRegs // type for each one. It writes a new file defining the types // PtraceRegsArch1 and PtraceRegsArch2 and the corresponding functions // Ptrace{Get,Set}Regs{arch1,arch2}. This permits debugging the other // binary on a native system. 'archName' is the combined name of 'arch1' // and 'arch2', which is used in the file name. func generatePtracePair(arch1, arch2, archName string) error { def1, err := ptraceDef(arch1) if err != nil { return err } def2, err := ptraceDef(arch2) if err != nil { return err } f, err := os.Create(fmt.Sprintf("zptrace_%s_linux.go", archName)) if err != nil { return err } buf := bufio.NewWriter(f) fmt.Fprintf(buf, "// Code generated by linux/mkall.go generatePtracePair(%q, %q). DO NOT EDIT.\n", arch1, arch2) fmt.Fprintf(buf, "\n") fmt.Fprintf(buf, "//go:build linux && (%s || %s)\n", arch1, arch2) fmt.Fprintf(buf, "\n") fmt.Fprintf(buf, "package unix\n") fmt.Fprintf(buf, "\n") fmt.Fprintf(buf, "%s\n", `import "unsafe"`) fmt.Fprintf(buf, "\n") writeOnePtrace(buf, arch1, def1) fmt.Fprintf(buf, "\n") writeOnePtrace(buf, arch2, def2) if err := buf.Flush(); err != nil { return err } if err := f.Close(); err != nil { return err } return nil } // generatePtraceRegSet takes a GOARCH value to generate a file zptrace_linux_{arch}.go // containing functions PtraceGetRegSet{arch} and PtraceSetRegSet{arch}. func generatePtraceRegSet(arch string) error { f, err := os.Create(fmt.Sprintf("zptrace_linux_%s.go", arch)) if err != nil { return err } buf := bufio.NewWriter(f) fmt.Fprintf(buf, "// Code generated by linux/mkall.go generatePtraceRegSet(%q). DO NOT EDIT.\n", arch) fmt.Fprintf(buf, "\n") fmt.Fprintf(buf, "package unix\n") fmt.Fprintf(buf, "\n") fmt.Fprintf(buf, "%s\n", `import "unsafe"`) fmt.Fprintf(buf, "\n") uarch := string(unicode.ToUpper(rune(arch[0]))) + arch[1:] fmt.Fprintf(buf, "// PtraceGetRegSet%s fetches the registers used by %s binaries.\n", uarch, arch) fmt.Fprintf(buf, "func PtraceGetRegSet%s(pid, addr int, regsout *PtraceRegs%s) error {\n", uarch, uarch) fmt.Fprintf(buf, "\tiovec := Iovec{(*byte)(unsafe.Pointer(regsout)), uint64(unsafe.Sizeof(*regsout))}\n") fmt.Fprintf(buf, "\treturn ptracePtr(PTRACE_GETREGSET, pid, uintptr(addr), unsafe.Pointer(&iovec))\n") fmt.Fprintf(buf, "}\n") fmt.Fprintf(buf, "\n") fmt.Fprintf(buf, "// PtraceSetRegSet%s sets the registers used by %s binaries.\n", uarch, arch) fmt.Fprintf(buf, "func PtraceSetRegSet%s(pid, addr int, regs *PtraceRegs%s) error {\n", uarch, uarch) fmt.Fprintf(buf, "\tiovec := Iovec{(*byte)(unsafe.Pointer(regs)), uint64(unsafe.Sizeof(*regs))}\n") fmt.Fprintf(buf, "\treturn ptracePtr(PTRACE_SETREGSET, pid, uintptr(addr), unsafe.Pointer(&iovec))\n") fmt.Fprintf(buf, "}\n") if err := buf.Flush(); err != nil { return err } if err := f.Close(); err != nil { return err } return nil } // ptraceDef returns the definition of PtraceRegs for arch. func ptraceDef(arch string) (string, error) { filename := fmt.Sprintf("ztypes_linux_%s.go", arch) data, err := os.ReadFile(filename) if err != nil { return "", fmt.Errorf("reading %s: %v", filename, err) } start := bytes.Index(data, []byte("type PtraceRegs struct")) if start < 0 { return "", fmt.Errorf("%s: no definition of PtraceRegs", filename) } data = data[start:] end := bytes.Index(data, []byte("\n}\n")) if end < 0 { return "", fmt.Errorf("%s: can't find end of PtraceRegs definition", filename) } return string(data[:end+2]), nil } // writeOnePtrace writes out the ptrace definitions for arch. func writeOnePtrace(w io.Writer, arch, def string) { uarch := string(unicode.ToUpper(rune(arch[0]))) + arch[1:] fmt.Fprintf(w, "// PtraceRegs%s is the registers used by %s binaries.\n", uarch, arch) fmt.Fprintf(w, "%s\n", strings.Replace(def, "PtraceRegs", "PtraceRegs"+uarch, 1)) fmt.Fprintf(w, "\n") fmt.Fprintf(w, "// PtraceGetRegs%s fetches the registers used by %s binaries.\n", uarch, arch) fmt.Fprintf(w, "func PtraceGetRegs%s(pid int, regsout *PtraceRegs%s) error {\n", uarch, uarch) fmt.Fprintf(w, "\treturn ptracePtr(PTRACE_GETREGS, pid, 0, unsafe.Pointer(regsout))\n") fmt.Fprintf(w, "}\n") fmt.Fprintf(w, "\n") fmt.Fprintf(w, "// PtraceSetRegs%s sets the registers used by %s binaries.\n", uarch, arch) fmt.Fprintf(w, "func PtraceSetRegs%s(pid int, regs *PtraceRegs%s) error {\n", uarch, uarch) fmt.Fprintf(w, "\treturn ptracePtr(PTRACE_SETREGS, pid, 0, unsafe.Pointer(regs))\n") fmt.Fprintf(w, "}\n") } // cCode is compiled for the target architecture, and the resulting data section is carved for // the statically initialized bit masks. const cCode = ` // Bit fields are used in some system calls and other ABIs, but their memory layout is // implementation-defined [1]. Even with formal ABIs, bit fields are a source of subtle bugs [2]. // Here we generate the offsets for all 64 bits in an uint64. // 1: http://en.cppreference.com/w/c/language/bit_field // 2: https://lwn.net/Articles/478657/ #include struct bitfield { union { uint64_t val; struct { uint64_t u64_bit_0 : 1; uint64_t u64_bit_1 : 1; uint64_t u64_bit_2 : 1; uint64_t u64_bit_3 : 1; uint64_t u64_bit_4 : 1; uint64_t u64_bit_5 : 1; uint64_t u64_bit_6 : 1; uint64_t u64_bit_7 : 1; uint64_t u64_bit_8 : 1; uint64_t u64_bit_9 : 1; uint64_t u64_bit_10 : 1; uint64_t u64_bit_11 : 1; uint64_t u64_bit_12 : 1; uint64_t u64_bit_13 : 1; uint64_t u64_bit_14 : 1; uint64_t u64_bit_15 : 1; uint64_t u64_bit_16 : 1; uint64_t u64_bit_17 : 1; uint64_t u64_bit_18 : 1; uint64_t u64_bit_19 : 1; uint64_t u64_bit_20 : 1; uint64_t u64_bit_21 : 1; uint64_t u64_bit_22 : 1; uint64_t u64_bit_23 : 1; uint64_t u64_bit_24 : 1; uint64_t u64_bit_25 : 1; uint64_t u64_bit_26 : 1; uint64_t u64_bit_27 : 1; uint64_t u64_bit_28 : 1; uint64_t u64_bit_29 : 1; uint64_t u64_bit_30 : 1; uint64_t u64_bit_31 : 1; uint64_t u64_bit_32 : 1; uint64_t u64_bit_33 : 1; uint64_t u64_bit_34 : 1; uint64_t u64_bit_35 : 1; uint64_t u64_bit_36 : 1; uint64_t u64_bit_37 : 1; uint64_t u64_bit_38 : 1; uint64_t u64_bit_39 : 1; uint64_t u64_bit_40 : 1; uint64_t u64_bit_41 : 1; uint64_t u64_bit_42 : 1; uint64_t u64_bit_43 : 1; uint64_t u64_bit_44 : 1; uint64_t u64_bit_45 : 1; uint64_t u64_bit_46 : 1; uint64_t u64_bit_47 : 1; uint64_t u64_bit_48 : 1; uint64_t u64_bit_49 : 1; uint64_t u64_bit_50 : 1; uint64_t u64_bit_51 : 1; uint64_t u64_bit_52 : 1; uint64_t u64_bit_53 : 1; uint64_t u64_bit_54 : 1; uint64_t u64_bit_55 : 1; uint64_t u64_bit_56 : 1; uint64_t u64_bit_57 : 1; uint64_t u64_bit_58 : 1; uint64_t u64_bit_59 : 1; uint64_t u64_bit_60 : 1; uint64_t u64_bit_61 : 1; uint64_t u64_bit_62 : 1; uint64_t u64_bit_63 : 1; }; }; }; struct bitfield masks[] = { {.u64_bit_0 = 1}, {.u64_bit_1 = 1}, {.u64_bit_2 = 1}, {.u64_bit_3 = 1}, {.u64_bit_4 = 1}, {.u64_bit_5 = 1}, {.u64_bit_6 = 1}, {.u64_bit_7 = 1}, {.u64_bit_8 = 1}, {.u64_bit_9 = 1}, {.u64_bit_10 = 1}, {.u64_bit_11 = 1}, {.u64_bit_12 = 1}, {.u64_bit_13 = 1}, {.u64_bit_14 = 1}, {.u64_bit_15 = 1}, {.u64_bit_16 = 1}, {.u64_bit_17 = 1}, {.u64_bit_18 = 1}, {.u64_bit_19 = 1}, {.u64_bit_20 = 1}, {.u64_bit_21 = 1}, {.u64_bit_22 = 1}, {.u64_bit_23 = 1}, {.u64_bit_24 = 1}, {.u64_bit_25 = 1}, {.u64_bit_26 = 1}, {.u64_bit_27 = 1}, {.u64_bit_28 = 1}, {.u64_bit_29 = 1}, {.u64_bit_30 = 1}, {.u64_bit_31 = 1}, {.u64_bit_32 = 1}, {.u64_bit_33 = 1}, {.u64_bit_34 = 1}, {.u64_bit_35 = 1}, {.u64_bit_36 = 1}, {.u64_bit_37 = 1}, {.u64_bit_38 = 1}, {.u64_bit_39 = 1}, {.u64_bit_40 = 1}, {.u64_bit_41 = 1}, {.u64_bit_42 = 1}, {.u64_bit_43 = 1}, {.u64_bit_44 = 1}, {.u64_bit_45 = 1}, {.u64_bit_46 = 1}, {.u64_bit_47 = 1}, {.u64_bit_48 = 1}, {.u64_bit_49 = 1}, {.u64_bit_50 = 1}, {.u64_bit_51 = 1}, {.u64_bit_52 = 1}, {.u64_bit_53 = 1}, {.u64_bit_54 = 1}, {.u64_bit_55 = 1}, {.u64_bit_56 = 1}, {.u64_bit_57 = 1}, {.u64_bit_58 = 1}, {.u64_bit_59 = 1}, {.u64_bit_60 = 1}, {.u64_bit_61 = 1}, {.u64_bit_62 = 1}, {.u64_bit_63 = 1} }; int main(int argc, char **argv) { struct bitfield *mask_ptr = &masks[0]; return mask_ptr->val; } ` dependencies/pkg/mod/golang.org/x/sys@v0.26.0/unix/zerrors_netbsd_arm64.go0000644000000000000000000022054415107355264025225 0ustar rootroot// mkerrors.sh -m64 // Code generated by the command above; see README.md. DO NOT EDIT. //go:build arm64 && netbsd // Code generated by cmd/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 CPUSTATES = 0x5 CP_IDLE = 0x4 CP_INTR = 0x3 CP_NICE = 0x1 CP_SYS = 0x2 CP_USER = 0x0 CREAD = 0x800 CRTSCTS = 0x10000 CS5 = 0x0 CS6 = 0x100 CS7 = 0x200 CS8 = 0x300 CSIZE = 0x300 CSTART = 0x11 CSTATUS = 0x14 CSTOP = 0x13 CSTOPB = 0x400 CSUSP = 0x1a CTL_HW = 0x6 CTL_KERN = 0x1 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 EXTATTR_CMD_START = 0x1 EXTATTR_CMD_STOP = 0x2 EXTATTR_NAMESPACE_SYSTEM = 0x2 EXTATTR_NAMESPACE_USER = 0x1 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 HW_MACHINE = 0x1 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 KERN_HOSTNAME = 0xa KERN_OSRELEASE = 0x2 KERN_OSTYPE = 0x1 KERN_VERSION = 0x4 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 MNT_ASYNC = 0x40 MNT_BASIC_FLAGS = 0xe782807f MNT_DEFEXPORTED = 0x200 MNT_DISCARD = 0x800000 MNT_EXKERB = 0x800 MNT_EXNORESPORT = 0x8000000 MNT_EXPORTANON = 0x400 MNT_EXPORTED = 0x100 MNT_EXPUBLIC = 0x10000000 MNT_EXRDONLY = 0x80 MNT_EXTATTR = 0x1000000 MNT_FORCE = 0x80000 MNT_GETARGS = 0x400000 MNT_IGNORE = 0x100000 MNT_LAZY = 0x3 MNT_LOCAL = 0x1000 MNT_LOG = 0x2000000 MNT_NOATIME = 0x4000000 MNT_NOCOREDUMP = 0x8000 MNT_NODEV = 0x10 MNT_NODEVMTIME = 0x40000000 MNT_NOEXEC = 0x4 MNT_NOSUID = 0x8 MNT_NOWAIT = 0x2 MNT_OP_FLAGS = 0x4d0000 MNT_QUOTA = 0x2000 MNT_RDONLY = 0x1 MNT_RELATIME = 0x20000 MNT_RELOAD = 0x40000 MNT_ROOTFS = 0x4000 MNT_SOFTDEP = 0x80000000 MNT_SYMPERM = 0x20000000 MNT_SYNCHRONOUS = 0x2 MNT_UNION = 0x20 MNT_UPDATE = 0x10000 MNT_VISFLAGMASK = 0xff90ffff MNT_WAIT = 0x1 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 NFDBITS = 0x20 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_MEMLOCK = 0x6 RLIMIT_NOFILE = 0x8 RLIMIT_NPROC = 0x7 RLIMIT_RSS = 0x5 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 errorList = [...]struct { num syscall.Errno name string desc string }{ {1, "EPERM", "operation not permitted"}, {2, "ENOENT", "no such file or directory"}, {3, "ESRCH", "no such process"}, {4, "EINTR", "interrupted system call"}, {5, "EIO", "input/output error"}, {6, "ENXIO", "device not configured"}, {7, "E2BIG", "argument list too long"}, {8, "ENOEXEC", "exec format error"}, {9, "EBADF", "bad file descriptor"}, {10, "ECHILD", "no child processes"}, {11, "EDEADLK", "resource deadlock avoided"}, {12, "ENOMEM", "cannot allocate memory"}, {13, "EACCES", "permission denied"}, {14, "EFAULT", "bad address"}, {15, "ENOTBLK", "block device required"}, {16, "EBUSY", "device busy"}, {17, "EEXIST", "file exists"}, {18, "EXDEV", "cross-device link"}, {19, "ENODEV", "operation not supported by device"}, {20, "ENOTDIR", "not a directory"}, {21, "EISDIR", "is a directory"}, {22, "EINVAL", "invalid argument"}, {23, "ENFILE", "too many open files in system"}, {24, "EMFILE", "too many open files"}, {25, "ENOTTY", "inappropriate ioctl for device"}, {26, "ETXTBSY", "text file busy"}, {27, "EFBIG", "file too large"}, {28, "ENOSPC", "no space left on device"}, {29, "ESPIPE", "illegal seek"}, {30, "EROFS", "read-only file system"}, {31, "EMLINK", "too many links"}, {32, "EPIPE", "broken pipe"}, {33, "EDOM", "numerical argument out of domain"}, {34, "ERANGE", "result too large or too small"}, {35, "EAGAIN", "resource temporarily unavailable"}, {36, "EINPROGRESS", "operation now in progress"}, {37, "EALREADY", "operation already in progress"}, {38, "ENOTSOCK", "socket operation on non-socket"}, {39, "EDESTADDRREQ", "destination address required"}, {40, "EMSGSIZE", "message too long"}, {41, "EPROTOTYPE", "protocol wrong type for socket"}, {42, "ENOPROTOOPT", "protocol option not available"}, {43, "EPROTONOSUPPORT", "protocol not supported"}, {44, "ESOCKTNOSUPPORT", "socket type not supported"}, {45, "EOPNOTSUPP", "operation not supported"}, {46, "EPFNOSUPPORT", "protocol family not supported"}, {47, "EAFNOSUPPORT", "address family not supported by protocol family"}, {48, "EADDRINUSE", "address already in use"}, {49, "EADDRNOTAVAIL", "can't assign requested address"}, {50, "ENETDOWN", "network is down"}, {51, "ENETUNREACH", "network is unreachable"}, {52, "ENETRESET", "network dropped connection on reset"}, {53, "ECONNABORTED", "software caused connection abort"}, {54, "ECONNRESET", "connection reset by peer"}, {55, "ENOBUFS", "no buffer space available"}, {56, "EISCONN", "socket is already connected"}, {57, "ENOTCONN", "socket is not connected"}, {58, "ESHUTDOWN", "can't send after socket shutdown"}, {59, "ETOOMANYREFS", "too many references: can't splice"}, {60, "ETIMEDOUT", "connection timed out"}, {61, "ECONNREFUSED", "connection refused"}, {62, "ELOOP", "too many levels of symbolic links"}, {63, "ENAMETOOLONG", "file name too long"}, {64, "EHOSTDOWN", "host is down"}, {65, "EHOSTUNREACH", "no route to host"}, {66, "ENOTEMPTY", "directory not empty"}, {67, "EPROCLIM", "too many processes"}, {68, "EUSERS", "too many users"}, {69, "EDQUOT", "disc quota exceeded"}, {70, "ESTALE", "stale NFS file handle"}, {71, "EREMOTE", "too many levels of remote in path"}, {72, "EBADRPC", "RPC struct is bad"}, {73, "ERPCMISMATCH", "RPC version wrong"}, {74, "EPROGUNAVAIL", "RPC prog. not avail"}, {75, "EPROGMISMATCH", "program version wrong"}, {76, "EPROCUNAVAIL", "bad procedure for program"}, {77, "ENOLCK", "no locks available"}, {78, "ENOSYS", "function not implemented"}, {79, "EFTYPE", "inappropriate file type or format"}, {80, "EAUTH", "authentication error"}, {81, "ENEEDAUTH", "need authenticator"}, {82, "EIDRM", "identifier removed"}, {83, "ENOMSG", "no message of desired type"}, {84, "EOVERFLOW", "value too large to be stored in data type"}, {85, "EILSEQ", "illegal byte sequence"}, {86, "ENOTSUP", "not supported"}, {87, "ECANCELED", "operation Canceled"}, {88, "EBADMSG", "bad or Corrupt message"}, {89, "ENODATA", "no message available"}, {90, "ENOSR", "no STREAM resources"}, {91, "ENOSTR", "not a STREAM"}, {92, "ETIME", "STREAM ioctl timeout"}, {93, "ENOATTR", "attribute not found"}, {94, "EMULTIHOP", "multihop attempted"}, {95, "ENOLINK", "link has been severed"}, {96, "ELAST", "protocol error"}, } // Signal table var signalList = [...]struct { num syscall.Signal name string desc string }{ {1, "SIGHUP", "hangup"}, {2, "SIGINT", "interrupt"}, {3, "SIGQUIT", "quit"}, {4, "SIGILL", "illegal instruction"}, {5, "SIGTRAP", "trace/BPT trap"}, {6, "SIGIOT", "abort trap"}, {7, "SIGEMT", "EMT trap"}, {8, "SIGFPE", "floating point exception"}, {9, "SIGKILL", "killed"}, {10, "SIGBUS", "bus error"}, {11, "SIGSEGV", "segmentation fault"}, {12, "SIGSYS", "bad system call"}, {13, "SIGPIPE", "broken pipe"}, {14, "SIGALRM", "alarm clock"}, {15, "SIGTERM", "terminated"}, {16, "SIGURG", "urgent I/O condition"}, {17, "SIGSTOP", "stopped (signal)"}, {18, "SIGTSTP", "stopped"}, {19, "SIGCONT", "continued"}, {20, "SIGCHLD", "child exited"}, {21, "SIGTTIN", "stopped (tty input)"}, {22, "SIGTTOU", "stopped (tty output)"}, {23, "SIGIO", "I/O possible"}, {24, "SIGXCPU", "cputime limit exceeded"}, {25, "SIGXFSZ", "filesize limit exceeded"}, {26, "SIGVTALRM", "virtual timer expired"}, {27, "SIGPROF", "profiling timer expired"}, {28, "SIGWINCH", "window size changes"}, {29, "SIGINFO", "information request"}, {30, "SIGUSR1", "user defined signal 1"}, {31, "SIGUSR2", "user defined signal 2"}, {32, "SIGPWR", "power fail/restart"}, } dependencies/pkg/mod/golang.org/x/sys@v0.26.0/unix/zsyscall_openbsd_arm64.s0000644000000000000000000006561315107355264025377 0ustar rootroot// go run mkasm.go openbsd arm64 // Code generated by the command above; DO NOT EDIT. #include "textflag.h" TEXT libc_getgroups_trampoline<>(SB),NOSPLIT,$0-0 JMP libc_getgroups(SB) GLOBL ·libc_getgroups_trampoline_addr(SB), RODATA, $8 DATA ·libc_getgroups_trampoline_addr(SB)/8, $libc_getgroups_trampoline<>(SB) TEXT libc_setgroups_trampoline<>(SB),NOSPLIT,$0-0 JMP libc_setgroups(SB) GLOBL ·libc_setgroups_trampoline_addr(SB), RODATA, $8 DATA ·libc_setgroups_trampoline_addr(SB)/8, $libc_setgroups_trampoline<>(SB) TEXT libc_wait4_trampoline<>(SB),NOSPLIT,$0-0 JMP libc_wait4(SB) GLOBL ·libc_wait4_trampoline_addr(SB), RODATA, $8 DATA ·libc_wait4_trampoline_addr(SB)/8, $libc_wait4_trampoline<>(SB) TEXT libc_accept_trampoline<>(SB),NOSPLIT,$0-0 JMP libc_accept(SB) GLOBL ·libc_accept_trampoline_addr(SB), RODATA, $8 DATA ·libc_accept_trampoline_addr(SB)/8, $libc_accept_trampoline<>(SB) TEXT libc_bind_trampoline<>(SB),NOSPLIT,$0-0 JMP libc_bind(SB) GLOBL ·libc_bind_trampoline_addr(SB), RODATA, $8 DATA ·libc_bind_trampoline_addr(SB)/8, $libc_bind_trampoline<>(SB) TEXT libc_connect_trampoline<>(SB),NOSPLIT,$0-0 JMP libc_connect(SB) GLOBL ·libc_connect_trampoline_addr(SB), RODATA, $8 DATA ·libc_connect_trampoline_addr(SB)/8, $libc_connect_trampoline<>(SB) TEXT libc_socket_trampoline<>(SB),NOSPLIT,$0-0 JMP libc_socket(SB) GLOBL ·libc_socket_trampoline_addr(SB), RODATA, $8 DATA ·libc_socket_trampoline_addr(SB)/8, $libc_socket_trampoline<>(SB) TEXT libc_getsockopt_trampoline<>(SB),NOSPLIT,$0-0 JMP libc_getsockopt(SB) GLOBL ·libc_getsockopt_trampoline_addr(SB), RODATA, $8 DATA ·libc_getsockopt_trampoline_addr(SB)/8, $libc_getsockopt_trampoline<>(SB) TEXT libc_setsockopt_trampoline<>(SB),NOSPLIT,$0-0 JMP libc_setsockopt(SB) GLOBL ·libc_setsockopt_trampoline_addr(SB), RODATA, $8 DATA ·libc_setsockopt_trampoline_addr(SB)/8, $libc_setsockopt_trampoline<>(SB) TEXT libc_getpeername_trampoline<>(SB),NOSPLIT,$0-0 JMP libc_getpeername(SB) GLOBL ·libc_getpeername_trampoline_addr(SB), RODATA, $8 DATA ·libc_getpeername_trampoline_addr(SB)/8, $libc_getpeername_trampoline<>(SB) TEXT libc_getsockname_trampoline<>(SB),NOSPLIT,$0-0 JMP libc_getsockname(SB) GLOBL ·libc_getsockname_trampoline_addr(SB), RODATA, $8 DATA ·libc_getsockname_trampoline_addr(SB)/8, $libc_getsockname_trampoline<>(SB) TEXT libc_shutdown_trampoline<>(SB),NOSPLIT,$0-0 JMP libc_shutdown(SB) GLOBL ·libc_shutdown_trampoline_addr(SB), RODATA, $8 DATA ·libc_shutdown_trampoline_addr(SB)/8, $libc_shutdown_trampoline<>(SB) TEXT libc_socketpair_trampoline<>(SB),NOSPLIT,$0-0 JMP libc_socketpair(SB) GLOBL ·libc_socketpair_trampoline_addr(SB), RODATA, $8 DATA ·libc_socketpair_trampoline_addr(SB)/8, $libc_socketpair_trampoline<>(SB) TEXT libc_recvfrom_trampoline<>(SB),NOSPLIT,$0-0 JMP libc_recvfrom(SB) GLOBL ·libc_recvfrom_trampoline_addr(SB), RODATA, $8 DATA ·libc_recvfrom_trampoline_addr(SB)/8, $libc_recvfrom_trampoline<>(SB) TEXT libc_sendto_trampoline<>(SB),NOSPLIT,$0-0 JMP libc_sendto(SB) GLOBL ·libc_sendto_trampoline_addr(SB), RODATA, $8 DATA ·libc_sendto_trampoline_addr(SB)/8, $libc_sendto_trampoline<>(SB) TEXT libc_recvmsg_trampoline<>(SB),NOSPLIT,$0-0 JMP libc_recvmsg(SB) GLOBL ·libc_recvmsg_trampoline_addr(SB), RODATA, $8 DATA ·libc_recvmsg_trampoline_addr(SB)/8, $libc_recvmsg_trampoline<>(SB) TEXT libc_sendmsg_trampoline<>(SB),NOSPLIT,$0-0 JMP libc_sendmsg(SB) GLOBL ·libc_sendmsg_trampoline_addr(SB), RODATA, $8 DATA ·libc_sendmsg_trampoline_addr(SB)/8, $libc_sendmsg_trampoline<>(SB) TEXT libc_kevent_trampoline<>(SB),NOSPLIT,$0-0 JMP libc_kevent(SB) GLOBL ·libc_kevent_trampoline_addr(SB), RODATA, $8 DATA ·libc_kevent_trampoline_addr(SB)/8, $libc_kevent_trampoline<>(SB) TEXT libc_utimes_trampoline<>(SB),NOSPLIT,$0-0 JMP libc_utimes(SB) GLOBL ·libc_utimes_trampoline_addr(SB), RODATA, $8 DATA ·libc_utimes_trampoline_addr(SB)/8, $libc_utimes_trampoline<>(SB) TEXT libc_futimes_trampoline<>(SB),NOSPLIT,$0-0 JMP libc_futimes(SB) GLOBL ·libc_futimes_trampoline_addr(SB), RODATA, $8 DATA ·libc_futimes_trampoline_addr(SB)/8, $libc_futimes_trampoline<>(SB) TEXT libc_poll_trampoline<>(SB),NOSPLIT,$0-0 JMP libc_poll(SB) GLOBL ·libc_poll_trampoline_addr(SB), RODATA, $8 DATA ·libc_poll_trampoline_addr(SB)/8, $libc_poll_trampoline<>(SB) TEXT libc_madvise_trampoline<>(SB),NOSPLIT,$0-0 JMP libc_madvise(SB) GLOBL ·libc_madvise_trampoline_addr(SB), RODATA, $8 DATA ·libc_madvise_trampoline_addr(SB)/8, $libc_madvise_trampoline<>(SB) TEXT libc_mlock_trampoline<>(SB),NOSPLIT,$0-0 JMP libc_mlock(SB) GLOBL ·libc_mlock_trampoline_addr(SB), RODATA, $8 DATA ·libc_mlock_trampoline_addr(SB)/8, $libc_mlock_trampoline<>(SB) TEXT libc_mlockall_trampoline<>(SB),NOSPLIT,$0-0 JMP libc_mlockall(SB) GLOBL ·libc_mlockall_trampoline_addr(SB), RODATA, $8 DATA ·libc_mlockall_trampoline_addr(SB)/8, $libc_mlockall_trampoline<>(SB) TEXT libc_mprotect_trampoline<>(SB),NOSPLIT,$0-0 JMP libc_mprotect(SB) GLOBL ·libc_mprotect_trampoline_addr(SB), RODATA, $8 DATA ·libc_mprotect_trampoline_addr(SB)/8, $libc_mprotect_trampoline<>(SB) TEXT libc_msync_trampoline<>(SB),NOSPLIT,$0-0 JMP libc_msync(SB) GLOBL ·libc_msync_trampoline_addr(SB), RODATA, $8 DATA ·libc_msync_trampoline_addr(SB)/8, $libc_msync_trampoline<>(SB) TEXT libc_munlock_trampoline<>(SB),NOSPLIT,$0-0 JMP libc_munlock(SB) GLOBL ·libc_munlock_trampoline_addr(SB), RODATA, $8 DATA ·libc_munlock_trampoline_addr(SB)/8, $libc_munlock_trampoline<>(SB) TEXT libc_munlockall_trampoline<>(SB),NOSPLIT,$0-0 JMP libc_munlockall(SB) GLOBL ·libc_munlockall_trampoline_addr(SB), RODATA, $8 DATA ·libc_munlockall_trampoline_addr(SB)/8, $libc_munlockall_trampoline<>(SB) TEXT libc_pipe2_trampoline<>(SB),NOSPLIT,$0-0 JMP libc_pipe2(SB) GLOBL ·libc_pipe2_trampoline_addr(SB), RODATA, $8 DATA ·libc_pipe2_trampoline_addr(SB)/8, $libc_pipe2_trampoline<>(SB) TEXT libc_getdents_trampoline<>(SB),NOSPLIT,$0-0 JMP libc_getdents(SB) GLOBL ·libc_getdents_trampoline_addr(SB), RODATA, $8 DATA ·libc_getdents_trampoline_addr(SB)/8, $libc_getdents_trampoline<>(SB) TEXT libc_getcwd_trampoline<>(SB),NOSPLIT,$0-0 JMP libc_getcwd(SB) GLOBL ·libc_getcwd_trampoline_addr(SB), RODATA, $8 DATA ·libc_getcwd_trampoline_addr(SB)/8, $libc_getcwd_trampoline<>(SB) TEXT libc_getresuid_trampoline<>(SB),NOSPLIT,$0-0 JMP libc_getresuid(SB) GLOBL ·libc_getresuid_trampoline_addr(SB), RODATA, $8 DATA ·libc_getresuid_trampoline_addr(SB)/8, $libc_getresuid_trampoline<>(SB) TEXT libc_getresgid_trampoline<>(SB),NOSPLIT,$0-0 JMP libc_getresgid(SB) GLOBL ·libc_getresgid_trampoline_addr(SB), RODATA, $8 DATA ·libc_getresgid_trampoline_addr(SB)/8, $libc_getresgid_trampoline<>(SB) TEXT libc_ioctl_trampoline<>(SB),NOSPLIT,$0-0 JMP libc_ioctl(SB) GLOBL ·libc_ioctl_trampoline_addr(SB), RODATA, $8 DATA ·libc_ioctl_trampoline_addr(SB)/8, $libc_ioctl_trampoline<>(SB) TEXT libc_sysctl_trampoline<>(SB),NOSPLIT,$0-0 JMP libc_sysctl(SB) GLOBL ·libc_sysctl_trampoline_addr(SB), RODATA, $8 DATA ·libc_sysctl_trampoline_addr(SB)/8, $libc_sysctl_trampoline<>(SB) TEXT libc_fcntl_trampoline<>(SB),NOSPLIT,$0-0 JMP libc_fcntl(SB) GLOBL ·libc_fcntl_trampoline_addr(SB), RODATA, $8 DATA ·libc_fcntl_trampoline_addr(SB)/8, $libc_fcntl_trampoline<>(SB) TEXT libc_ppoll_trampoline<>(SB),NOSPLIT,$0-0 JMP libc_ppoll(SB) GLOBL ·libc_ppoll_trampoline_addr(SB), RODATA, $8 DATA ·libc_ppoll_trampoline_addr(SB)/8, $libc_ppoll_trampoline<>(SB) TEXT libc_access_trampoline<>(SB),NOSPLIT,$0-0 JMP libc_access(SB) GLOBL ·libc_access_trampoline_addr(SB), RODATA, $8 DATA ·libc_access_trampoline_addr(SB)/8, $libc_access_trampoline<>(SB) TEXT libc_adjtime_trampoline<>(SB),NOSPLIT,$0-0 JMP libc_adjtime(SB) GLOBL ·libc_adjtime_trampoline_addr(SB), RODATA, $8 DATA ·libc_adjtime_trampoline_addr(SB)/8, $libc_adjtime_trampoline<>(SB) TEXT libc_chdir_trampoline<>(SB),NOSPLIT,$0-0 JMP libc_chdir(SB) GLOBL ·libc_chdir_trampoline_addr(SB), RODATA, $8 DATA ·libc_chdir_trampoline_addr(SB)/8, $libc_chdir_trampoline<>(SB) TEXT libc_chflags_trampoline<>(SB),NOSPLIT,$0-0 JMP libc_chflags(SB) GLOBL ·libc_chflags_trampoline_addr(SB), RODATA, $8 DATA ·libc_chflags_trampoline_addr(SB)/8, $libc_chflags_trampoline<>(SB) TEXT libc_chmod_trampoline<>(SB),NOSPLIT,$0-0 JMP libc_chmod(SB) GLOBL ·libc_chmod_trampoline_addr(SB), RODATA, $8 DATA ·libc_chmod_trampoline_addr(SB)/8, $libc_chmod_trampoline<>(SB) TEXT libc_chown_trampoline<>(SB),NOSPLIT,$0-0 JMP libc_chown(SB) GLOBL ·libc_chown_trampoline_addr(SB), RODATA, $8 DATA ·libc_chown_trampoline_addr(SB)/8, $libc_chown_trampoline<>(SB) TEXT libc_chroot_trampoline<>(SB),NOSPLIT,$0-0 JMP libc_chroot(SB) GLOBL ·libc_chroot_trampoline_addr(SB), RODATA, $8 DATA ·libc_chroot_trampoline_addr(SB)/8, $libc_chroot_trampoline<>(SB) TEXT libc_clock_gettime_trampoline<>(SB),NOSPLIT,$0-0 JMP libc_clock_gettime(SB) GLOBL ·libc_clock_gettime_trampoline_addr(SB), RODATA, $8 DATA ·libc_clock_gettime_trampoline_addr(SB)/8, $libc_clock_gettime_trampoline<>(SB) TEXT libc_close_trampoline<>(SB),NOSPLIT,$0-0 JMP libc_close(SB) GLOBL ·libc_close_trampoline_addr(SB), RODATA, $8 DATA ·libc_close_trampoline_addr(SB)/8, $libc_close_trampoline<>(SB) TEXT libc_dup_trampoline<>(SB),NOSPLIT,$0-0 JMP libc_dup(SB) GLOBL ·libc_dup_trampoline_addr(SB), RODATA, $8 DATA ·libc_dup_trampoline_addr(SB)/8, $libc_dup_trampoline<>(SB) TEXT libc_dup2_trampoline<>(SB),NOSPLIT,$0-0 JMP libc_dup2(SB) GLOBL ·libc_dup2_trampoline_addr(SB), RODATA, $8 DATA ·libc_dup2_trampoline_addr(SB)/8, $libc_dup2_trampoline<>(SB) TEXT libc_dup3_trampoline<>(SB),NOSPLIT,$0-0 JMP libc_dup3(SB) GLOBL ·libc_dup3_trampoline_addr(SB), RODATA, $8 DATA ·libc_dup3_trampoline_addr(SB)/8, $libc_dup3_trampoline<>(SB) TEXT libc_exit_trampoline<>(SB),NOSPLIT,$0-0 JMP libc_exit(SB) GLOBL ·libc_exit_trampoline_addr(SB), RODATA, $8 DATA ·libc_exit_trampoline_addr(SB)/8, $libc_exit_trampoline<>(SB) TEXT libc_faccessat_trampoline<>(SB),NOSPLIT,$0-0 JMP libc_faccessat(SB) GLOBL ·libc_faccessat_trampoline_addr(SB), RODATA, $8 DATA ·libc_faccessat_trampoline_addr(SB)/8, $libc_faccessat_trampoline<>(SB) TEXT libc_fchdir_trampoline<>(SB),NOSPLIT,$0-0 JMP libc_fchdir(SB) GLOBL ·libc_fchdir_trampoline_addr(SB), RODATA, $8 DATA ·libc_fchdir_trampoline_addr(SB)/8, $libc_fchdir_trampoline<>(SB) TEXT libc_fchflags_trampoline<>(SB),NOSPLIT,$0-0 JMP libc_fchflags(SB) GLOBL ·libc_fchflags_trampoline_addr(SB), RODATA, $8 DATA ·libc_fchflags_trampoline_addr(SB)/8, $libc_fchflags_trampoline<>(SB) TEXT libc_fchmod_trampoline<>(SB),NOSPLIT,$0-0 JMP libc_fchmod(SB) GLOBL ·libc_fchmod_trampoline_addr(SB), RODATA, $8 DATA ·libc_fchmod_trampoline_addr(SB)/8, $libc_fchmod_trampoline<>(SB) TEXT libc_fchmodat_trampoline<>(SB),NOSPLIT,$0-0 JMP libc_fchmodat(SB) GLOBL ·libc_fchmodat_trampoline_addr(SB), RODATA, $8 DATA ·libc_fchmodat_trampoline_addr(SB)/8, $libc_fchmodat_trampoline<>(SB) TEXT libc_fchown_trampoline<>(SB),NOSPLIT,$0-0 JMP libc_fchown(SB) GLOBL ·libc_fchown_trampoline_addr(SB), RODATA, $8 DATA ·libc_fchown_trampoline_addr(SB)/8, $libc_fchown_trampoline<>(SB) TEXT libc_fchownat_trampoline<>(SB),NOSPLIT,$0-0 JMP libc_fchownat(SB) GLOBL ·libc_fchownat_trampoline_addr(SB), RODATA, $8 DATA ·libc_fchownat_trampoline_addr(SB)/8, $libc_fchownat_trampoline<>(SB) TEXT libc_flock_trampoline<>(SB),NOSPLIT,$0-0 JMP libc_flock(SB) GLOBL ·libc_flock_trampoline_addr(SB), RODATA, $8 DATA ·libc_flock_trampoline_addr(SB)/8, $libc_flock_trampoline<>(SB) TEXT libc_fpathconf_trampoline<>(SB),NOSPLIT,$0-0 JMP libc_fpathconf(SB) GLOBL ·libc_fpathconf_trampoline_addr(SB), RODATA, $8 DATA ·libc_fpathconf_trampoline_addr(SB)/8, $libc_fpathconf_trampoline<>(SB) TEXT libc_fstat_trampoline<>(SB),NOSPLIT,$0-0 JMP libc_fstat(SB) GLOBL ·libc_fstat_trampoline_addr(SB), RODATA, $8 DATA ·libc_fstat_trampoline_addr(SB)/8, $libc_fstat_trampoline<>(SB) TEXT libc_fstatat_trampoline<>(SB),NOSPLIT,$0-0 JMP libc_fstatat(SB) GLOBL ·libc_fstatat_trampoline_addr(SB), RODATA, $8 DATA ·libc_fstatat_trampoline_addr(SB)/8, $libc_fstatat_trampoline<>(SB) TEXT libc_fstatfs_trampoline<>(SB),NOSPLIT,$0-0 JMP libc_fstatfs(SB) GLOBL ·libc_fstatfs_trampoline_addr(SB), RODATA, $8 DATA ·libc_fstatfs_trampoline_addr(SB)/8, $libc_fstatfs_trampoline<>(SB) TEXT libc_fsync_trampoline<>(SB),NOSPLIT,$0-0 JMP libc_fsync(SB) GLOBL ·libc_fsync_trampoline_addr(SB), RODATA, $8 DATA ·libc_fsync_trampoline_addr(SB)/8, $libc_fsync_trampoline<>(SB) TEXT libc_ftruncate_trampoline<>(SB),NOSPLIT,$0-0 JMP libc_ftruncate(SB) GLOBL ·libc_ftruncate_trampoline_addr(SB), RODATA, $8 DATA ·libc_ftruncate_trampoline_addr(SB)/8, $libc_ftruncate_trampoline<>(SB) TEXT libc_getegid_trampoline<>(SB),NOSPLIT,$0-0 JMP libc_getegid(SB) GLOBL ·libc_getegid_trampoline_addr(SB), RODATA, $8 DATA ·libc_getegid_trampoline_addr(SB)/8, $libc_getegid_trampoline<>(SB) TEXT libc_geteuid_trampoline<>(SB),NOSPLIT,$0-0 JMP libc_geteuid(SB) GLOBL ·libc_geteuid_trampoline_addr(SB), RODATA, $8 DATA ·libc_geteuid_trampoline_addr(SB)/8, $libc_geteuid_trampoline<>(SB) TEXT libc_getgid_trampoline<>(SB),NOSPLIT,$0-0 JMP libc_getgid(SB) GLOBL ·libc_getgid_trampoline_addr(SB), RODATA, $8 DATA ·libc_getgid_trampoline_addr(SB)/8, $libc_getgid_trampoline<>(SB) TEXT libc_getpgid_trampoline<>(SB),NOSPLIT,$0-0 JMP libc_getpgid(SB) GLOBL ·libc_getpgid_trampoline_addr(SB), RODATA, $8 DATA ·libc_getpgid_trampoline_addr(SB)/8, $libc_getpgid_trampoline<>(SB) TEXT libc_getpgrp_trampoline<>(SB),NOSPLIT,$0-0 JMP libc_getpgrp(SB) GLOBL ·libc_getpgrp_trampoline_addr(SB), RODATA, $8 DATA ·libc_getpgrp_trampoline_addr(SB)/8, $libc_getpgrp_trampoline<>(SB) TEXT libc_getpid_trampoline<>(SB),NOSPLIT,$0-0 JMP libc_getpid(SB) GLOBL ·libc_getpid_trampoline_addr(SB), RODATA, $8 DATA ·libc_getpid_trampoline_addr(SB)/8, $libc_getpid_trampoline<>(SB) TEXT libc_getppid_trampoline<>(SB),NOSPLIT,$0-0 JMP libc_getppid(SB) GLOBL ·libc_getppid_trampoline_addr(SB), RODATA, $8 DATA ·libc_getppid_trampoline_addr(SB)/8, $libc_getppid_trampoline<>(SB) TEXT libc_getpriority_trampoline<>(SB),NOSPLIT,$0-0 JMP libc_getpriority(SB) GLOBL ·libc_getpriority_trampoline_addr(SB), RODATA, $8 DATA ·libc_getpriority_trampoline_addr(SB)/8, $libc_getpriority_trampoline<>(SB) TEXT libc_getrlimit_trampoline<>(SB),NOSPLIT,$0-0 JMP libc_getrlimit(SB) GLOBL ·libc_getrlimit_trampoline_addr(SB), RODATA, $8 DATA ·libc_getrlimit_trampoline_addr(SB)/8, $libc_getrlimit_trampoline<>(SB) TEXT libc_getrtable_trampoline<>(SB),NOSPLIT,$0-0 JMP libc_getrtable(SB) GLOBL ·libc_getrtable_trampoline_addr(SB), RODATA, $8 DATA ·libc_getrtable_trampoline_addr(SB)/8, $libc_getrtable_trampoline<>(SB) TEXT libc_getrusage_trampoline<>(SB),NOSPLIT,$0-0 JMP libc_getrusage(SB) GLOBL ·libc_getrusage_trampoline_addr(SB), RODATA, $8 DATA ·libc_getrusage_trampoline_addr(SB)/8, $libc_getrusage_trampoline<>(SB) TEXT libc_getsid_trampoline<>(SB),NOSPLIT,$0-0 JMP libc_getsid(SB) GLOBL ·libc_getsid_trampoline_addr(SB), RODATA, $8 DATA ·libc_getsid_trampoline_addr(SB)/8, $libc_getsid_trampoline<>(SB) TEXT libc_gettimeofday_trampoline<>(SB),NOSPLIT,$0-0 JMP libc_gettimeofday(SB) GLOBL ·libc_gettimeofday_trampoline_addr(SB), RODATA, $8 DATA ·libc_gettimeofday_trampoline_addr(SB)/8, $libc_gettimeofday_trampoline<>(SB) TEXT libc_getuid_trampoline<>(SB),NOSPLIT,$0-0 JMP libc_getuid(SB) GLOBL ·libc_getuid_trampoline_addr(SB), RODATA, $8 DATA ·libc_getuid_trampoline_addr(SB)/8, $libc_getuid_trampoline<>(SB) TEXT libc_issetugid_trampoline<>(SB),NOSPLIT,$0-0 JMP libc_issetugid(SB) GLOBL ·libc_issetugid_trampoline_addr(SB), RODATA, $8 DATA ·libc_issetugid_trampoline_addr(SB)/8, $libc_issetugid_trampoline<>(SB) TEXT libc_kill_trampoline<>(SB),NOSPLIT,$0-0 JMP libc_kill(SB) GLOBL ·libc_kill_trampoline_addr(SB), RODATA, $8 DATA ·libc_kill_trampoline_addr(SB)/8, $libc_kill_trampoline<>(SB) TEXT libc_kqueue_trampoline<>(SB),NOSPLIT,$0-0 JMP libc_kqueue(SB) GLOBL ·libc_kqueue_trampoline_addr(SB), RODATA, $8 DATA ·libc_kqueue_trampoline_addr(SB)/8, $libc_kqueue_trampoline<>(SB) TEXT libc_lchown_trampoline<>(SB),NOSPLIT,$0-0 JMP libc_lchown(SB) GLOBL ·libc_lchown_trampoline_addr(SB), RODATA, $8 DATA ·libc_lchown_trampoline_addr(SB)/8, $libc_lchown_trampoline<>(SB) TEXT libc_link_trampoline<>(SB),NOSPLIT,$0-0 JMP libc_link(SB) GLOBL ·libc_link_trampoline_addr(SB), RODATA, $8 DATA ·libc_link_trampoline_addr(SB)/8, $libc_link_trampoline<>(SB) TEXT libc_linkat_trampoline<>(SB),NOSPLIT,$0-0 JMP libc_linkat(SB) GLOBL ·libc_linkat_trampoline_addr(SB), RODATA, $8 DATA ·libc_linkat_trampoline_addr(SB)/8, $libc_linkat_trampoline<>(SB) TEXT libc_listen_trampoline<>(SB),NOSPLIT,$0-0 JMP libc_listen(SB) GLOBL ·libc_listen_trampoline_addr(SB), RODATA, $8 DATA ·libc_listen_trampoline_addr(SB)/8, $libc_listen_trampoline<>(SB) TEXT libc_lstat_trampoline<>(SB),NOSPLIT,$0-0 JMP libc_lstat(SB) GLOBL ·libc_lstat_trampoline_addr(SB), RODATA, $8 DATA ·libc_lstat_trampoline_addr(SB)/8, $libc_lstat_trampoline<>(SB) TEXT libc_mkdir_trampoline<>(SB),NOSPLIT,$0-0 JMP libc_mkdir(SB) GLOBL ·libc_mkdir_trampoline_addr(SB), RODATA, $8 DATA ·libc_mkdir_trampoline_addr(SB)/8, $libc_mkdir_trampoline<>(SB) TEXT libc_mkdirat_trampoline<>(SB),NOSPLIT,$0-0 JMP libc_mkdirat(SB) GLOBL ·libc_mkdirat_trampoline_addr(SB), RODATA, $8 DATA ·libc_mkdirat_trampoline_addr(SB)/8, $libc_mkdirat_trampoline<>(SB) TEXT libc_mkfifo_trampoline<>(SB),NOSPLIT,$0-0 JMP libc_mkfifo(SB) GLOBL ·libc_mkfifo_trampoline_addr(SB), RODATA, $8 DATA ·libc_mkfifo_trampoline_addr(SB)/8, $libc_mkfifo_trampoline<>(SB) TEXT libc_mkfifoat_trampoline<>(SB),NOSPLIT,$0-0 JMP libc_mkfifoat(SB) GLOBL ·libc_mkfifoat_trampoline_addr(SB), RODATA, $8 DATA ·libc_mkfifoat_trampoline_addr(SB)/8, $libc_mkfifoat_trampoline<>(SB) TEXT libc_mknod_trampoline<>(SB),NOSPLIT,$0-0 JMP libc_mknod(SB) GLOBL ·libc_mknod_trampoline_addr(SB), RODATA, $8 DATA ·libc_mknod_trampoline_addr(SB)/8, $libc_mknod_trampoline<>(SB) TEXT libc_mknodat_trampoline<>(SB),NOSPLIT,$0-0 JMP libc_mknodat(SB) GLOBL ·libc_mknodat_trampoline_addr(SB), RODATA, $8 DATA ·libc_mknodat_trampoline_addr(SB)/8, $libc_mknodat_trampoline<>(SB) TEXT libc_mount_trampoline<>(SB),NOSPLIT,$0-0 JMP libc_mount(SB) GLOBL ·libc_mount_trampoline_addr(SB), RODATA, $8 DATA ·libc_mount_trampoline_addr(SB)/8, $libc_mount_trampoline<>(SB) TEXT libc_nanosleep_trampoline<>(SB),NOSPLIT,$0-0 JMP libc_nanosleep(SB) GLOBL ·libc_nanosleep_trampoline_addr(SB), RODATA, $8 DATA ·libc_nanosleep_trampoline_addr(SB)/8, $libc_nanosleep_trampoline<>(SB) TEXT libc_open_trampoline<>(SB),NOSPLIT,$0-0 JMP libc_open(SB) GLOBL ·libc_open_trampoline_addr(SB), RODATA, $8 DATA ·libc_open_trampoline_addr(SB)/8, $libc_open_trampoline<>(SB) TEXT libc_openat_trampoline<>(SB),NOSPLIT,$0-0 JMP libc_openat(SB) GLOBL ·libc_openat_trampoline_addr(SB), RODATA, $8 DATA ·libc_openat_trampoline_addr(SB)/8, $libc_openat_trampoline<>(SB) TEXT libc_pathconf_trampoline<>(SB),NOSPLIT,$0-0 JMP libc_pathconf(SB) GLOBL ·libc_pathconf_trampoline_addr(SB), RODATA, $8 DATA ·libc_pathconf_trampoline_addr(SB)/8, $libc_pathconf_trampoline<>(SB) TEXT libc_pread_trampoline<>(SB),NOSPLIT,$0-0 JMP libc_pread(SB) GLOBL ·libc_pread_trampoline_addr(SB), RODATA, $8 DATA ·libc_pread_trampoline_addr(SB)/8, $libc_pread_trampoline<>(SB) TEXT libc_pwrite_trampoline<>(SB),NOSPLIT,$0-0 JMP libc_pwrite(SB) GLOBL ·libc_pwrite_trampoline_addr(SB), RODATA, $8 DATA ·libc_pwrite_trampoline_addr(SB)/8, $libc_pwrite_trampoline<>(SB) TEXT libc_read_trampoline<>(SB),NOSPLIT,$0-0 JMP libc_read(SB) GLOBL ·libc_read_trampoline_addr(SB), RODATA, $8 DATA ·libc_read_trampoline_addr(SB)/8, $libc_read_trampoline<>(SB) TEXT libc_readlink_trampoline<>(SB),NOSPLIT,$0-0 JMP libc_readlink(SB) GLOBL ·libc_readlink_trampoline_addr(SB), RODATA, $8 DATA ·libc_readlink_trampoline_addr(SB)/8, $libc_readlink_trampoline<>(SB) TEXT libc_readlinkat_trampoline<>(SB),NOSPLIT,$0-0 JMP libc_readlinkat(SB) GLOBL ·libc_readlinkat_trampoline_addr(SB), RODATA, $8 DATA ·libc_readlinkat_trampoline_addr(SB)/8, $libc_readlinkat_trampoline<>(SB) TEXT libc_rename_trampoline<>(SB),NOSPLIT,$0-0 JMP libc_rename(SB) GLOBL ·libc_rename_trampoline_addr(SB), RODATA, $8 DATA ·libc_rename_trampoline_addr(SB)/8, $libc_rename_trampoline<>(SB) TEXT libc_renameat_trampoline<>(SB),NOSPLIT,$0-0 JMP libc_renameat(SB) GLOBL ·libc_renameat_trampoline_addr(SB), RODATA, $8 DATA ·libc_renameat_trampoline_addr(SB)/8, $libc_renameat_trampoline<>(SB) TEXT libc_revoke_trampoline<>(SB),NOSPLIT,$0-0 JMP libc_revoke(SB) GLOBL ·libc_revoke_trampoline_addr(SB), RODATA, $8 DATA ·libc_revoke_trampoline_addr(SB)/8, $libc_revoke_trampoline<>(SB) TEXT libc_rmdir_trampoline<>(SB),NOSPLIT,$0-0 JMP libc_rmdir(SB) GLOBL ·libc_rmdir_trampoline_addr(SB), RODATA, $8 DATA ·libc_rmdir_trampoline_addr(SB)/8, $libc_rmdir_trampoline<>(SB) TEXT libc_lseek_trampoline<>(SB),NOSPLIT,$0-0 JMP libc_lseek(SB) GLOBL ·libc_lseek_trampoline_addr(SB), RODATA, $8 DATA ·libc_lseek_trampoline_addr(SB)/8, $libc_lseek_trampoline<>(SB) TEXT libc_select_trampoline<>(SB),NOSPLIT,$0-0 JMP libc_select(SB) GLOBL ·libc_select_trampoline_addr(SB), RODATA, $8 DATA ·libc_select_trampoline_addr(SB)/8, $libc_select_trampoline<>(SB) TEXT libc_setegid_trampoline<>(SB),NOSPLIT,$0-0 JMP libc_setegid(SB) GLOBL ·libc_setegid_trampoline_addr(SB), RODATA, $8 DATA ·libc_setegid_trampoline_addr(SB)/8, $libc_setegid_trampoline<>(SB) TEXT libc_seteuid_trampoline<>(SB),NOSPLIT,$0-0 JMP libc_seteuid(SB) GLOBL ·libc_seteuid_trampoline_addr(SB), RODATA, $8 DATA ·libc_seteuid_trampoline_addr(SB)/8, $libc_seteuid_trampoline<>(SB) TEXT libc_setgid_trampoline<>(SB),NOSPLIT,$0-0 JMP libc_setgid(SB) GLOBL ·libc_setgid_trampoline_addr(SB), RODATA, $8 DATA ·libc_setgid_trampoline_addr(SB)/8, $libc_setgid_trampoline<>(SB) TEXT libc_setlogin_trampoline<>(SB),NOSPLIT,$0-0 JMP libc_setlogin(SB) GLOBL ·libc_setlogin_trampoline_addr(SB), RODATA, $8 DATA ·libc_setlogin_trampoline_addr(SB)/8, $libc_setlogin_trampoline<>(SB) TEXT libc_setpgid_trampoline<>(SB),NOSPLIT,$0-0 JMP libc_setpgid(SB) GLOBL ·libc_setpgid_trampoline_addr(SB), RODATA, $8 DATA ·libc_setpgid_trampoline_addr(SB)/8, $libc_setpgid_trampoline<>(SB) TEXT libc_setpriority_trampoline<>(SB),NOSPLIT,$0-0 JMP libc_setpriority(SB) GLOBL ·libc_setpriority_trampoline_addr(SB), RODATA, $8 DATA ·libc_setpriority_trampoline_addr(SB)/8, $libc_setpriority_trampoline<>(SB) TEXT libc_setregid_trampoline<>(SB),NOSPLIT,$0-0 JMP libc_setregid(SB) GLOBL ·libc_setregid_trampoline_addr(SB), RODATA, $8 DATA ·libc_setregid_trampoline_addr(SB)/8, $libc_setregid_trampoline<>(SB) TEXT libc_setreuid_trampoline<>(SB),NOSPLIT,$0-0 JMP libc_setreuid(SB) GLOBL ·libc_setreuid_trampoline_addr(SB), RODATA, $8 DATA ·libc_setreuid_trampoline_addr(SB)/8, $libc_setreuid_trampoline<>(SB) TEXT libc_setresgid_trampoline<>(SB),NOSPLIT,$0-0 JMP libc_setresgid(SB) GLOBL ·libc_setresgid_trampoline_addr(SB), RODATA, $8 DATA ·libc_setresgid_trampoline_addr(SB)/8, $libc_setresgid_trampoline<>(SB) TEXT libc_setresuid_trampoline<>(SB),NOSPLIT,$0-0 JMP libc_setresuid(SB) GLOBL ·libc_setresuid_trampoline_addr(SB), RODATA, $8 DATA ·libc_setresuid_trampoline_addr(SB)/8, $libc_setresuid_trampoline<>(SB) TEXT libc_setrtable_trampoline<>(SB),NOSPLIT,$0-0 JMP libc_setrtable(SB) GLOBL ·libc_setrtable_trampoline_addr(SB), RODATA, $8 DATA ·libc_setrtable_trampoline_addr(SB)/8, $libc_setrtable_trampoline<>(SB) TEXT libc_setsid_trampoline<>(SB),NOSPLIT,$0-0 JMP libc_setsid(SB) GLOBL ·libc_setsid_trampoline_addr(SB), RODATA, $8 DATA ·libc_setsid_trampoline_addr(SB)/8, $libc_setsid_trampoline<>(SB) TEXT libc_settimeofday_trampoline<>(SB),NOSPLIT,$0-0 JMP libc_settimeofday(SB) GLOBL ·libc_settimeofday_trampoline_addr(SB), RODATA, $8 DATA ·libc_settimeofday_trampoline_addr(SB)/8, $libc_settimeofday_trampoline<>(SB) TEXT libc_setuid_trampoline<>(SB),NOSPLIT,$0-0 JMP libc_setuid(SB) GLOBL ·libc_setuid_trampoline_addr(SB), RODATA, $8 DATA ·libc_setuid_trampoline_addr(SB)/8, $libc_setuid_trampoline<>(SB) TEXT libc_stat_trampoline<>(SB),NOSPLIT,$0-0 JMP libc_stat(SB) GLOBL ·libc_stat_trampoline_addr(SB), RODATA, $8 DATA ·libc_stat_trampoline_addr(SB)/8, $libc_stat_trampoline<>(SB) TEXT libc_statfs_trampoline<>(SB),NOSPLIT,$0-0 JMP libc_statfs(SB) GLOBL ·libc_statfs_trampoline_addr(SB), RODATA, $8 DATA ·libc_statfs_trampoline_addr(SB)/8, $libc_statfs_trampoline<>(SB) TEXT libc_symlink_trampoline<>(SB),NOSPLIT,$0-0 JMP libc_symlink(SB) GLOBL ·libc_symlink_trampoline_addr(SB), RODATA, $8 DATA ·libc_symlink_trampoline_addr(SB)/8, $libc_symlink_trampoline<>(SB) TEXT libc_symlinkat_trampoline<>(SB),NOSPLIT,$0-0 JMP libc_symlinkat(SB) GLOBL ·libc_symlinkat_trampoline_addr(SB), RODATA, $8 DATA ·libc_symlinkat_trampoline_addr(SB)/8, $libc_symlinkat_trampoline<>(SB) TEXT libc_sync_trampoline<>(SB),NOSPLIT,$0-0 JMP libc_sync(SB) GLOBL ·libc_sync_trampoline_addr(SB), RODATA, $8 DATA ·libc_sync_trampoline_addr(SB)/8, $libc_sync_trampoline<>(SB) TEXT libc_truncate_trampoline<>(SB),NOSPLIT,$0-0 JMP libc_truncate(SB) GLOBL ·libc_truncate_trampoline_addr(SB), RODATA, $8 DATA ·libc_truncate_trampoline_addr(SB)/8, $libc_truncate_trampoline<>(SB) TEXT libc_umask_trampoline<>(SB),NOSPLIT,$0-0 JMP libc_umask(SB) GLOBL ·libc_umask_trampoline_addr(SB), RODATA, $8 DATA ·libc_umask_trampoline_addr(SB)/8, $libc_umask_trampoline<>(SB) TEXT libc_unlink_trampoline<>(SB),NOSPLIT,$0-0 JMP libc_unlink(SB) GLOBL ·libc_unlink_trampoline_addr(SB), RODATA, $8 DATA ·libc_unlink_trampoline_addr(SB)/8, $libc_unlink_trampoline<>(SB) TEXT libc_unlinkat_trampoline<>(SB),NOSPLIT,$0-0 JMP libc_unlinkat(SB) GLOBL ·libc_unlinkat_trampoline_addr(SB), RODATA, $8 DATA ·libc_unlinkat_trampoline_addr(SB)/8, $libc_unlinkat_trampoline<>(SB) TEXT libc_unmount_trampoline<>(SB),NOSPLIT,$0-0 JMP libc_unmount(SB) GLOBL ·libc_unmount_trampoline_addr(SB), RODATA, $8 DATA ·libc_unmount_trampoline_addr(SB)/8, $libc_unmount_trampoline<>(SB) TEXT libc_write_trampoline<>(SB),NOSPLIT,$0-0 JMP libc_write(SB) GLOBL ·libc_write_trampoline_addr(SB), RODATA, $8 DATA ·libc_write_trampoline_addr(SB)/8, $libc_write_trampoline<>(SB) TEXT libc_mmap_trampoline<>(SB),NOSPLIT,$0-0 JMP libc_mmap(SB) GLOBL ·libc_mmap_trampoline_addr(SB), RODATA, $8 DATA ·libc_mmap_trampoline_addr(SB)/8, $libc_mmap_trampoline<>(SB) TEXT libc_munmap_trampoline<>(SB),NOSPLIT,$0-0 JMP libc_munmap(SB) GLOBL ·libc_munmap_trampoline_addr(SB), RODATA, $8 DATA ·libc_munmap_trampoline_addr(SB)/8, $libc_munmap_trampoline<>(SB) TEXT libc_getfsstat_trampoline<>(SB),NOSPLIT,$0-0 JMP libc_getfsstat(SB) GLOBL ·libc_getfsstat_trampoline_addr(SB), RODATA, $8 DATA ·libc_getfsstat_trampoline_addr(SB)/8, $libc_getfsstat_trampoline<>(SB) TEXT libc_utimensat_trampoline<>(SB),NOSPLIT,$0-0 JMP libc_utimensat(SB) GLOBL ·libc_utimensat_trampoline_addr(SB), RODATA, $8 DATA ·libc_utimensat_trampoline_addr(SB)/8, $libc_utimensat_trampoline<>(SB) TEXT libc_pledge_trampoline<>(SB),NOSPLIT,$0-0 JMP libc_pledge(SB) GLOBL ·libc_pledge_trampoline_addr(SB), RODATA, $8 DATA ·libc_pledge_trampoline_addr(SB)/8, $libc_pledge_trampoline<>(SB) TEXT libc_unveil_trampoline<>(SB),NOSPLIT,$0-0 JMP libc_unveil(SB) GLOBL ·libc_unveil_trampoline_addr(SB), RODATA, $8 DATA ·libc_unveil_trampoline_addr(SB)/8, $libc_unveil_trampoline<>(SB) dependencies/pkg/mod/golang.org/x/sys@v0.26.0/unix/mmap_nomremap.go0000644000000000000000000000052715107355264023774 0ustar rootroot// Copyright 2023 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:build aix || darwin || dragonfly || freebsd || openbsd || solaris || zos package unix var mapper = &mmapper{ active: make(map[*byte][]byte), mmap: mmap, munmap: munmap, } dependencies/pkg/mod/golang.org/x/sys@v0.26.0/unix/zsysnum_linux_mips.go0000644000000000000000000004326015107355264025144 0ustar rootroot// go run linux/mksysnum.go -Wall -Werror -static -I/tmp/mips/include /tmp/mips/include/asm/unistd.h // Code generated by the command above; see README.md. DO NOT EDIT. //go: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 SYS_STATX = 4366 SYS_RSEQ = 4367 SYS_IO_PGETEVENTS = 4368 SYS_SEMGET = 4393 SYS_SEMCTL = 4394 SYS_SHMGET = 4395 SYS_SHMCTL = 4396 SYS_SHMAT = 4397 SYS_SHMDT = 4398 SYS_MSGGET = 4399 SYS_MSGSND = 4400 SYS_MSGRCV = 4401 SYS_MSGCTL = 4402 SYS_CLOCK_GETTIME64 = 4403 SYS_CLOCK_SETTIME64 = 4404 SYS_CLOCK_ADJTIME64 = 4405 SYS_CLOCK_GETRES_TIME64 = 4406 SYS_CLOCK_NANOSLEEP_TIME64 = 4407 SYS_TIMER_GETTIME64 = 4408 SYS_TIMER_SETTIME64 = 4409 SYS_TIMERFD_GETTIME64 = 4410 SYS_TIMERFD_SETTIME64 = 4411 SYS_UTIMENSAT_TIME64 = 4412 SYS_PSELECT6_TIME64 = 4413 SYS_PPOLL_TIME64 = 4414 SYS_IO_PGETEVENTS_TIME64 = 4416 SYS_RECVMMSG_TIME64 = 4417 SYS_MQ_TIMEDSEND_TIME64 = 4418 SYS_MQ_TIMEDRECEIVE_TIME64 = 4419 SYS_SEMTIMEDOP_TIME64 = 4420 SYS_RT_SIGTIMEDWAIT_TIME64 = 4421 SYS_FUTEX_TIME64 = 4422 SYS_SCHED_RR_GET_INTERVAL_TIME64 = 4423 SYS_PIDFD_SEND_SIGNAL = 4424 SYS_IO_URING_SETUP = 4425 SYS_IO_URING_ENTER = 4426 SYS_IO_URING_REGISTER = 4427 SYS_OPEN_TREE = 4428 SYS_MOVE_MOUNT = 4429 SYS_FSOPEN = 4430 SYS_FSCONFIG = 4431 SYS_FSMOUNT = 4432 SYS_FSPICK = 4433 SYS_PIDFD_OPEN = 4434 SYS_CLONE3 = 4435 SYS_CLOSE_RANGE = 4436 SYS_OPENAT2 = 4437 SYS_PIDFD_GETFD = 4438 SYS_FACCESSAT2 = 4439 SYS_PROCESS_MADVISE = 4440 SYS_EPOLL_PWAIT2 = 4441 SYS_MOUNT_SETATTR = 4442 SYS_QUOTACTL_FD = 4443 SYS_LANDLOCK_CREATE_RULESET = 4444 SYS_LANDLOCK_ADD_RULE = 4445 SYS_LANDLOCK_RESTRICT_SELF = 4446 SYS_PROCESS_MRELEASE = 4448 SYS_FUTEX_WAITV = 4449 SYS_SET_MEMPOLICY_HOME_NODE = 4450 SYS_CACHESTAT = 4451 SYS_FCHMODAT2 = 4452 SYS_MAP_SHADOW_STACK = 4453 SYS_FUTEX_WAKE = 4454 SYS_FUTEX_WAIT = 4455 SYS_FUTEX_REQUEUE = 4456 SYS_STATMOUNT = 4457 SYS_LISTMOUNT = 4458 SYS_LSM_GET_SELF_ATTR = 4459 SYS_LSM_SET_SELF_ATTR = 4460 SYS_LSM_LIST_MODULES = 4461 SYS_MSEAL = 4462 ) dependencies/pkg/mod/golang.org/x/sys@v0.26.0/unix/syscall_linux_ppc.go0000644000000000000000000001555015107355264024701 0ustar rootroot// Copyright 2021 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:build linux && ppc package unix import ( "syscall" "unsafe" ) //sys EpollWait(epfd int, events []EpollEvent, msec int) (n int, err error) //sys Fchown(fd int, uid int, gid int) (err error) //sys Fstat(fd int, stat *Stat_t) (err error) = SYS_FSTAT64 //sys Fstatat(dirfd int, path string, stat *Stat_t, flags int) (err error) = SYS_FSTATAT64 //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 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_LSTAT64 //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 Renameat(olddirfd int, oldpath string, newdirfd int, newpath string) (err error) //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) (prev int, err error) //sys setfsuid(uid int) (prev 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 int, err error) //sys Stat(path string, stat *Stat_t) (err error) = SYS_STAT64 //sys Truncate(path string, length int64) (err error) = SYS_TRUNCATE64 //sys Ustat(dev int, ubuf *Ustat_t) (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 futimesat(dirfd int, path string, times *[2]Timeval) (err error) //sysnb Gettimeofday(tv *Timeval) (err error) //sysnb Time(t *Time_t) (tt Time_t, err error) //sys Utime(path string, buf *Utimbuf) (err error) //sys utimes(path string, times *[2]Timeval) (err error) func Fadvise(fd int, offset int64, length int64, advice int) (err error) { _, _, e1 := Syscall6(SYS_FADVISE64_64, uintptr(fd), uintptr(advice), uintptr(offset>>32), uintptr(offset), uintptr(length>>32), uintptr(length)) if e1 != 0 { err = errnoErr(e1) } return } func seek(fd int, offset int64, whence int) (int64, syscall.Errno) { var newoffset int64 offsetLow := uint32(offset & 0xffffffff) offsetHigh := uint32((offset >> 32) & 0xffffffff) _, _, err := Syscall6(SYS__LLSEEK, uintptr(fd), uintptr(offsetHigh), uintptr(offsetLow), uintptr(unsafe.Pointer(&newoffset)), uintptr(whence), 0) return newoffset, err } 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 } 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 } //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) } func setTimespec(sec, nsec int64) Timespec { return Timespec{Sec: int32(sec), Nsec: int32(nsec)} } func setTimeval(sec, usec int64) Timeval { return Timeval{Sec: int32(sec), Usec: int32(usec)} } 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 } func (r *PtraceRegs) PC() uint32 { return r.Nip } func (r *PtraceRegs) SetPC(pc uint32) { r.Nip = pc } func (iov *Iovec) SetLen(length int) { iov.Len = uint32(length) } func (msghdr *Msghdr) SetControllen(length int) { msghdr.Controllen = uint32(length) } func (msghdr *Msghdr) SetIovlen(length int) { msghdr.Iovlen = uint32(length) } func (cmsg *Cmsghdr) SetLen(length int) { cmsg.Len = uint32(length) } func (rsa *RawSockaddrNFCLLCP) SetServiceNameLen(length int) { rsa.Service_name_len = uint32(length) } //sys syncFileRange2(fd int, flags int, off int64, n int64) (err error) = SYS_SYNC_FILE_RANGE2 func SyncFileRange(fd int, off int64, n int64, flags int) error { // The sync_file_range and sync_file_range2 syscalls differ only in the // order of their arguments. return syncFileRange2(fd, flags, off, n) } //sys kexecFileLoad(kernelFd int, initrdFd int, cmdlineLen int, cmdline string, flags int) (err error) func KexecFileLoad(kernelFd int, initrdFd int, cmdline string, flags int) error { cmdlineLen := len(cmdline) if cmdlineLen > 0 { // Account for the additional NULL byte added by // BytePtrFromString in kexecFileLoad. The kexec_file_load // syscall expects a NULL-terminated string. cmdlineLen++ } return kexecFileLoad(kernelFd, initrdFd, cmdlineLen, cmdline, flags) } dependencies/pkg/mod/golang.org/x/sys@v0.26.0/unix/zerrors_freebsd_riscv64.go0000644000000000000000000024737715107355264025744 0ustar rootroot// mkerrors.sh -m64 // Code generated by the command above; see README.md. DO NOT EDIT. //go:build riscv64 && freebsd // Code generated by cmd/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_HYPERV = 0x2b 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 = 0x2b 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_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 ALTWERASE = 0x200 B0 = 0x0 B1000000 = 0xf4240 B110 = 0x6e B115200 = 0x1c200 B1200 = 0x4b0 B134 = 0x86 B14400 = 0x3840 B150 = 0x96 B1500000 = 0x16e360 B1800 = 0x708 B19200 = 0x4b00 B200 = 0xc8 B2000000 = 0x1e8480 B230400 = 0x38400 B2400 = 0x960 B2500000 = 0x2625a0 B28800 = 0x7080 B300 = 0x12c B3000000 = 0x2dc6c0 B3500000 = 0x3567e0 B38400 = 0x9600 B4000000 = 0x3d0900 B460800 = 0x70800 B4800 = 0x12c0 B50 = 0x32 B500000 = 0x7a120 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 BIOCSETVLANPCP = 0x80044285 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_MOD = 0x90 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 BPF_XOR = 0xa0 BRKINT = 0x2 CAP_ACCEPT = 0x200000020000000 CAP_ACL_CHECK = 0x400000000010000 CAP_ACL_DELETE = 0x400000000020000 CAP_ACL_GET = 0x400000000040000 CAP_ACL_SET = 0x400000000080000 CAP_ALL0 = 0x20007ffffffffff CAP_ALL1 = 0x4000000001fffff CAP_BIND = 0x200000040000000 CAP_BINDAT = 0x200008000000400 CAP_CHFLAGSAT = 0x200000000001400 CAP_CONNECT = 0x200000080000000 CAP_CONNECTAT = 0x200010000000400 CAP_CREATE = 0x200000000000040 CAP_EVENT = 0x400000000000020 CAP_EXTATTR_DELETE = 0x400000000001000 CAP_EXTATTR_GET = 0x400000000002000 CAP_EXTATTR_LIST = 0x400000000004000 CAP_EXTATTR_SET = 0x400000000008000 CAP_FCHDIR = 0x200000000000800 CAP_FCHFLAGS = 0x200000000001000 CAP_FCHMOD = 0x200000000002000 CAP_FCHMODAT = 0x200000000002400 CAP_FCHOWN = 0x200000000004000 CAP_FCHOWNAT = 0x200000000004400 CAP_FCNTL = 0x200000000008000 CAP_FCNTL_ALL = 0x78 CAP_FCNTL_GETFL = 0x8 CAP_FCNTL_GETOWN = 0x20 CAP_FCNTL_SETFL = 0x10 CAP_FCNTL_SETOWN = 0x40 CAP_FEXECVE = 0x200000000000080 CAP_FLOCK = 0x200000000010000 CAP_FPATHCONF = 0x200000000020000 CAP_FSCK = 0x200000000040000 CAP_FSTAT = 0x200000000080000 CAP_FSTATAT = 0x200000000080400 CAP_FSTATFS = 0x200000000100000 CAP_FSYNC = 0x200000000000100 CAP_FTRUNCATE = 0x200000000000200 CAP_FUTIMES = 0x200000000200000 CAP_FUTIMESAT = 0x200000000200400 CAP_GETPEERNAME = 0x200000100000000 CAP_GETSOCKNAME = 0x200000200000000 CAP_GETSOCKOPT = 0x200000400000000 CAP_IOCTL = 0x400000000000080 CAP_IOCTLS_ALL = 0x7fffffffffffffff CAP_KQUEUE = 0x400000000100040 CAP_KQUEUE_CHANGE = 0x400000000100000 CAP_KQUEUE_EVENT = 0x400000000000040 CAP_LINKAT_SOURCE = 0x200020000000400 CAP_LINKAT_TARGET = 0x200000000400400 CAP_LISTEN = 0x200000800000000 CAP_LOOKUP = 0x200000000000400 CAP_MAC_GET = 0x400000000000001 CAP_MAC_SET = 0x400000000000002 CAP_MKDIRAT = 0x200000000800400 CAP_MKFIFOAT = 0x200000001000400 CAP_MKNODAT = 0x200000002000400 CAP_MMAP = 0x200000000000010 CAP_MMAP_R = 0x20000000000001d CAP_MMAP_RW = 0x20000000000001f CAP_MMAP_RWX = 0x20000000000003f CAP_MMAP_RX = 0x20000000000003d CAP_MMAP_W = 0x20000000000001e CAP_MMAP_WX = 0x20000000000003e CAP_MMAP_X = 0x20000000000003c CAP_PDGETPID = 0x400000000000200 CAP_PDKILL = 0x400000000000800 CAP_PDWAIT = 0x400000000000400 CAP_PEELOFF = 0x200001000000000 CAP_POLL_EVENT = 0x400000000000020 CAP_PREAD = 0x20000000000000d CAP_PWRITE = 0x20000000000000e CAP_READ = 0x200000000000001 CAP_RECV = 0x200000000000001 CAP_RENAMEAT_SOURCE = 0x200000004000400 CAP_RENAMEAT_TARGET = 0x200040000000400 CAP_RIGHTS_VERSION = 0x0 CAP_RIGHTS_VERSION_00 = 0x0 CAP_SEEK = 0x20000000000000c CAP_SEEK_TELL = 0x200000000000004 CAP_SEM_GETVALUE = 0x400000000000004 CAP_SEM_POST = 0x400000000000008 CAP_SEM_WAIT = 0x400000000000010 CAP_SEND = 0x200000000000002 CAP_SETSOCKOPT = 0x200002000000000 CAP_SHUTDOWN = 0x200004000000000 CAP_SOCK_CLIENT = 0x200007780000003 CAP_SOCK_SERVER = 0x200007f60000003 CAP_SYMLINKAT = 0x200000008000400 CAP_TTYHOOK = 0x400000000000100 CAP_UNLINKAT = 0x200000010000400 CAP_UNUSED0_44 = 0x200080000000000 CAP_UNUSED0_57 = 0x300000000000000 CAP_UNUSED1_22 = 0x400000000200000 CAP_UNUSED1_57 = 0x500000000000000 CAP_WRITE = 0x200000000000002 CFLUSH = 0xf CLOCAL = 0x8000 CLOCK_BOOTTIME = 0x5 CLOCK_MONOTONIC = 0x4 CLOCK_MONOTONIC_COARSE = 0xc CLOCK_MONOTONIC_FAST = 0xc CLOCK_MONOTONIC_PRECISE = 0xb CLOCK_PROCESS_CPUTIME_ID = 0xf CLOCK_PROF = 0x2 CLOCK_REALTIME = 0x0 CLOCK_REALTIME_COARSE = 0xa 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 CPUSTATES = 0x5 CP_IDLE = 0x4 CP_INTR = 0x3 CP_NICE = 0x1 CP_SYS = 0x2 CP_USER = 0x0 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_HW = 0x6 CTL_KERN = 0x1 CTL_MAXNAME = 0x18 CTL_NET = 0x4 DIOCGATTR = 0xc148648e DIOCGDELETE = 0x80106488 DIOCGFLUSH = 0x20006487 DIOCGFWHEADS = 0x40046483 DIOCGFWSECTORS = 0x40046482 DIOCGIDENT = 0x41006489 DIOCGKERNELDUMP = 0xc0986492 DIOCGMEDIASIZE = 0x40086481 DIOCGPHYSPATH = 0x4400648d DIOCGPROVIDERNAME = 0x4400648a DIOCGSECTORSIZE = 0x40046480 DIOCGSTRIPEOFFSET = 0x4008648c DIOCGSTRIPESIZE = 0x4008648b DIOCSKERNELDUMP = 0x80986491 DIOCSKERNELDUMP_FREEBSD11 = 0x80046485 DIOCSKERNELDUMP_FREEBSD12 = 0x80506490 DIOCZONECMD = 0xc080648f 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_BREDR_BB = 0xff DLT_BLUETOOTH_HCI_H4 = 0xbb DLT_BLUETOOTH_HCI_H4_WITH_PHDR = 0xc9 DLT_BLUETOOTH_LE_LL = 0xfb DLT_BLUETOOTH_LE_LL_WITH_PHDR = 0x100 DLT_BLUETOOTH_LINUX_MONITOR = 0xfe DLT_CAN20B = 0xbe DLT_CAN_SOCKETCAN = 0xe3 DLT_CHAOS = 0x5 DLT_CHDLC = 0x68 DLT_CISCO_IOS = 0x76 DLT_CLASS_NETBSD_RAWAF = 0x2240000 DLT_C_HDLC = 0x68 DLT_C_HDLC_WITH_DIR = 0xcd DLT_DBUS = 0xe7 DLT_DECT = 0xdd DLT_DISPLAYPORT_AUX = 0x113 DLT_DOCSIS = 0x8f DLT_DOCSIS31_XRA31 = 0x111 DLT_DVB_CI = 0xeb DLT_ECONET = 0x73 DLT_EN10MB = 0x1 DLT_EN3MB = 0x2 DLT_ENC = 0x6d DLT_EPON = 0x103 DLT_ERF = 0xc5 DLT_ERF_ETH = 0xaf DLT_ERF_POS = 0xb0 DLT_ETHERNET_MPACKET = 0x112 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_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_INFINIBAND = 0xf7 DLT_IPFILTER = 0x74 DLT_IPMB_KONTRON = 0xc7 DLT_IPMB_LINUX = 0xd1 DLT_IPMI_HPM_2 = 0x104 DLT_IPNET = 0xe2 DLT_IPOIB = 0xf2 DLT_IPV4 = 0xe4 DLT_IPV6 = 0xe5 DLT_IP_OVER_FC = 0x7a DLT_ISO_14443 = 0x108 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_LINUX_SLL2 = 0x114 DLT_LOOP = 0x6c DLT_LORATAP = 0x10e DLT_LTALK = 0x72 DLT_MATCHING_MAX = 0x114 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_NETLINK = 0xfd DLT_NFC_LLCP = 0xf5 DLT_NFLOG = 0xef DLT_NG40 = 0xf4 DLT_NORDIC_BLE = 0x110 DLT_NULL = 0x0 DLT_OPENFLOW = 0x10b DLT_PCI_EXP = 0x7d DLT_PFLOG = 0x75 DLT_PFSYNC = 0x79 DLT_PKTAP = 0x102 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_PPP_WITH_DIRECTION = 0xa6 DLT_PRISM_HEADER = 0x77 DLT_PROFIBUS_DL = 0x101 DLT_PRONET = 0x4 DLT_RAIF1 = 0xc6 DLT_RAW = 0xc DLT_RDS = 0x109 DLT_REDBACK_SMARTEDGE = 0x20 DLT_RIO = 0x7c DLT_RTAC_SERIAL = 0xfa DLT_SCCP = 0x8e DLT_SCTP = 0xf8 DLT_SDLC = 0x10c DLT_SITA = 0xc4 DLT_SLIP = 0x8 DLT_SLIP_BSDOS = 0xd DLT_STANAG_5066_D_PDU = 0xed DLT_SUNATM = 0x7b DLT_SYMANTEC_FIREWALL = 0x63 DLT_TI_LLN_SNIFFER = 0x10d DLT_TZSP = 0x80 DLT_USB = 0xba DLT_USBPCAP = 0xf9 DLT_USB_DARWIN = 0x10a DLT_USB_FREEBSD = 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_VSOCK = 0x10f DLT_WATTSTOPPER_DLM = 0x107 DLT_WIHART = 0xdf DLT_WIRESHARK_UPPER_PDU = 0xfc DLT_X2E_SERIAL = 0xd5 DLT_X2E_XORAYA = 0xd6 DLT_ZWAVE_R1_R2 = 0x105 DLT_ZWAVE_R3 = 0x106 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 EHE_DEAD_PRIORITY = -0x1 EVFILT_AIO = -0x3 EVFILT_EMPTY = -0xd EVFILT_FS = -0x9 EVFILT_LIO = -0xa EVFILT_PROC = -0x5 EVFILT_PROCDESC = -0x8 EVFILT_READ = -0x1 EVFILT_SENDFILE = -0xc EVFILT_SIGNAL = -0x6 EVFILT_SYSCOUNT = 0xd EVFILT_TIMER = -0x7 EVFILT_USER = -0xb EVFILT_VNODE = -0x4 EVFILT_WRITE = -0x2 EVNAMEMAP_NAME_SIZE = 0x40 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_FLAG2 = 0x4000 EV_FORCEONESHOT = 0x100 EV_ONESHOT = 0x10 EV_RECEIPT = 0x40 EV_SYSFLAGS = 0xf000 EXTA = 0x4b00 EXTATTR_MAXNAMELEN = 0xff EXTATTR_NAMESPACE_EMPTY = 0x0 EXTATTR_NAMESPACE_SYSTEM = 0x2 EXTATTR_NAMESPACE_USER = 0x1 EXTB = 0x9600 EXTPROC = 0x800 FD_CLOEXEC = 0x1 FD_NONE = -0xc8 FD_SETSIZE = 0x400 FLUSHO = 0x800000 F_ADD_SEALS = 0x13 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_GET_SEALS = 0x14 F_ISUNIONSTACK = 0x15 F_KINFO = 0x16 F_OGETLK = 0x7 F_OK = 0x0 F_OSETLK = 0x8 F_OSETLKW = 0x9 F_RDAHEAD = 0x10 F_RDLCK = 0x1 F_READAHEAD = 0xf F_SEAL_GROW = 0x4 F_SEAL_SEAL = 0x1 F_SEAL_SHRINK = 0x2 F_SEAL_WRITE = 0x8 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 HW_MACHINE = 0x1 ICANON = 0x100 ICMP6_FILTER = 0x12 ICRNL = 0x100 IEXTEN = 0x400 IFAN_ARRIVAL = 0x0 IFAN_DEPARTURE = 0x1 IFCAP_WOL_MAGIC = 0x2000 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_KNOWSEPOCH = 0x20 IFF_LINK0 = 0x1000 IFF_LINK1 = 0x2000 IFF_LINK2 = 0x4000 IFF_LOOPBACK = 0x8 IFF_MONITOR = 0x40000 IFF_MULTICAST = 0x8000 IFF_NOARP = 0x80 IFF_NOGROUP = 0x800000 IFF_OACTIVE = 0x400 IFF_POINTOPOINT = 0x10 IFF_PPROMISC = 0x20000 IFF_PROMISC = 0x100 IFF_RENAMING = 0x400000 IFF_RUNNING = 0x40 IFF_SIMPLEX = 0x800 IFF_STATICARP = 0x80000 IFF_UP = 0x1 IFNAMSIZ = 0x10 IFT_BRIDGE = 0xd1 IFT_CARP = 0xf8 IFT_IEEE1394 = 0x90 IFT_INFINIBAND = 0xc7 IFT_L2VLAN = 0x87 IFT_L3IPVLAN = 0x88 IFT_PPP = 0x17 IFT_PROPVIRTUAL = 0x35 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_NETMASK_DEFAULT = 0xffffff00 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_DCCP = 0x21 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_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_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_BINDMULTI = 0x41 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_FLOWID = 0x43 IPV6_FLOWINFO_MASK = 0xffffff0f IPV6_FLOWLABEL_LEN = 0x14 IPV6_FLOWLABEL_MASK = 0xffff0f00 IPV6_FLOWTYPE = 0x44 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_MMTU = 0x500 IPV6_MSFILTER = 0x4a IPV6_MULTICAST_HOPS = 0xa IPV6_MULTICAST_IF = 0x9 IPV6_MULTICAST_LOOP = 0xb IPV6_NEXTHOP = 0x30 IPV6_ORIGDSTADDR = 0x48 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_RECVFLOWID = 0x46 IPV6_RECVHOPLIMIT = 0x25 IPV6_RECVHOPOPTS = 0x27 IPV6_RECVORIGDSTADDR = 0x48 IPV6_RECVPATHMTU = 0x2b IPV6_RECVPKTINFO = 0x24 IPV6_RECVRSSBUCKETID = 0x47 IPV6_RECVRTHDR = 0x26 IPV6_RECVTCLASS = 0x39 IPV6_RSSBUCKETID = 0x45 IPV6_RSS_LISTEN_BUCKET = 0x42 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 IPV6_VLAN_PCP = 0x4b IP_ADD_MEMBERSHIP = 0xc IP_ADD_SOURCE_MEMBERSHIP = 0x46 IP_BINDANY = 0x18 IP_BINDMULTI = 0x19 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_FLOWID = 0x5a IP_FLOWTYPE = 0x5b 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_MF = 0x2000 IP_MINTTL = 0x42 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_ORIGDSTADDR = 0x1b IP_PORTRANGE = 0x13 IP_PORTRANGE_DEFAULT = 0x0 IP_PORTRANGE_HIGH = 0x1 IP_PORTRANGE_LOW = 0x2 IP_RECVDSTADDR = 0x7 IP_RECVFLOWID = 0x5d IP_RECVIF = 0x14 IP_RECVOPTS = 0x5 IP_RECVORIGDSTADDR = 0x1b IP_RECVRETOPTS = 0x6 IP_RECVRSSBUCKETID = 0x5e IP_RECVTOS = 0x44 IP_RECVTTL = 0x41 IP_RETOPTS = 0x8 IP_RF = 0x8000 IP_RSSBUCKETID = 0x5c IP_RSS_LISTEN_BUCKET = 0x1a 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 IP_VLAN_PCP = 0x4b ISIG = 0x80 ISTRIP = 0x20 ITIMER_PROF = 0x2 ITIMER_REAL = 0x0 ITIMER_VIRTUAL = 0x1 IXANY = 0x800 IXOFF = 0x400 IXON = 0x200 KERN_HOSTNAME = 0xa KERN_OSRELEASE = 0x2 KERN_OSTYPE = 0x1 KERN_VERSION = 0x4 LOCAL_CONNWAIT = 0x4 LOCAL_CREDS = 0x2 LOCAL_CREDS_PERSISTENT = 0x3 LOCAL_PEERCRED = 0x1 LOCAL_VENDOR = 0x80000000 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_GUARD = 0x2000 MAP_HASSEMAPHORE = 0x200 MAP_NOCORE = 0x20000 MAP_NOSYNC = 0x800 MAP_PREFAULT_READ = 0x40000 MAP_PRIVATE = 0x2 MAP_RESERVED0020 = 0x20 MAP_RESERVED0040 = 0x40 MAP_RESERVED0080 = 0x80 MAP_RESERVED0100 = 0x100 MAP_SHARED = 0x1 MAP_STACK = 0x400 MCAST_BLOCK_SOURCE = 0x54 MCAST_EXCLUDE = 0x2 MCAST_INCLUDE = 0x1 MCAST_JOIN_GROUP = 0x50 MCAST_JOIN_SOURCE_GROUP = 0x52 MCAST_LEAVE_GROUP = 0x51 MCAST_LEAVE_SOURCE_GROUP = 0x53 MCAST_UNBLOCK_SOURCE = 0x55 MCAST_UNDEFINED = 0x0 MCL_CURRENT = 0x1 MCL_FUTURE = 0x2 MFD_ALLOW_SEALING = 0x2 MFD_CLOEXEC = 0x1 MFD_HUGETLB = 0x4 MFD_HUGE_16GB = -0x78000000 MFD_HUGE_16MB = 0x60000000 MFD_HUGE_1GB = 0x78000000 MFD_HUGE_1MB = 0x50000000 MFD_HUGE_256MB = 0x70000000 MFD_HUGE_2GB = 0x7c000000 MFD_HUGE_2MB = 0x54000000 MFD_HUGE_32MB = 0x64000000 MFD_HUGE_512KB = 0x4c000000 MFD_HUGE_512MB = 0x74000000 MFD_HUGE_64KB = 0x40000000 MFD_HUGE_8MB = 0x5c000000 MFD_HUGE_MASK = 0xfc000000 MFD_HUGE_SHIFT = 0x1a MNT_ACLS = 0x8000000 MNT_ASYNC = 0x40 MNT_AUTOMOUNTED = 0x200000000 MNT_BYFSID = 0x8000000 MNT_CMDFLAGS = 0x300d0f0000 MNT_DEFEXPORTED = 0x200 MNT_DELEXPORT = 0x20000 MNT_EMPTYDIR = 0x2000000000 MNT_EXKERB = 0x800 MNT_EXPORTANON = 0x400 MNT_EXPORTED = 0x100 MNT_EXPUBLIC = 0x20000000 MNT_EXRDONLY = 0x80 MNT_EXTLS = 0x4000000000 MNT_EXTLSCERT = 0x8000000000 MNT_EXTLSCERTUSER = 0x10000000000 MNT_FORCE = 0x80000 MNT_GJOURNAL = 0x2000000 MNT_IGNORE = 0x800000 MNT_LAZY = 0x3 MNT_LOCAL = 0x1000 MNT_MULTILABEL = 0x4000000 MNT_NFS4ACLS = 0x10 MNT_NOATIME = 0x10000000 MNT_NOCLUSTERR = 0x40000000 MNT_NOCLUSTERW = 0x80000000 MNT_NOCOVER = 0x1000000000 MNT_NOEXEC = 0x4 MNT_NONBUSY = 0x4000000 MNT_NOSUID = 0x8 MNT_NOSYMFOLLOW = 0x400000 MNT_NOWAIT = 0x2 MNT_QUOTA = 0x2000 MNT_RDONLY = 0x1 MNT_RELOAD = 0x40000 MNT_ROOTFS = 0x4000 MNT_SNAPSHOT = 0x1000000 MNT_SOFTDEP = 0x200000 MNT_SUIDDIR = 0x100000 MNT_SUJ = 0x100000000 MNT_SUSPEND = 0x4 MNT_SYNCHRONOUS = 0x2 MNT_UNION = 0x20 MNT_UNTRUSTED = 0x800000000 MNT_UPDATE = 0x10000 MNT_UPDATEMASK = 0xad8d0807e MNT_USER = 0x8000 MNT_VERIFIED = 0x400000000 MNT_VISFLAGMASK = 0xffef0ffff MNT_WAIT = 0x1 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 MSG_WAITFORONE = 0x80000 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_NHGRP = 0x7 NET_RT_NHOP = 0x6 NFDBITS = 0x40 NOFLSH = 0x80000000 NOKERNINFO = 0x2000000 NOTE_ABSTIME = 0x10 NOTE_ATTRIB = 0x8 NOTE_CHILD = 0x4 NOTE_CLOSE = 0x100 NOTE_CLOSE_WRITE = 0x200 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_FILE_POLL = 0x2 NOTE_FORK = 0x40000000 NOTE_LINK = 0x10 NOTE_LOWAT = 0x1 NOTE_MSECONDS = 0x2 NOTE_NSECONDS = 0x8 NOTE_OPEN = 0x80 NOTE_PCTRLMASK = 0xf0000000 NOTE_PDATAMASK = 0xfffff NOTE_READ = 0x400 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 OXTABS = 0x4 O_ACCMODE = 0x3 O_APPEND = 0x8 O_ASYNC = 0x40 O_CLOEXEC = 0x100000 O_CREAT = 0x200 O_DIRECT = 0x10000 O_DIRECTORY = 0x20000 O_DSYNC = 0x1000000 O_EMPTY_PATH = 0x2000000 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_PATH = 0x400000 O_RDONLY = 0x0 O_RDWR = 0x2 O_RESOLVE_BENEATH = 0x800000 O_SEARCH = 0x40000 O_SHLOCK = 0x10 O_SYNC = 0x80 O_TRUNC = 0x400 O_TTY_INIT = 0x80000 O_VERIFY = 0x200000 O_WRONLY = 0x1 PARENB = 0x1000 PARMRK = 0x8 PARODD = 0x2000 PENDIN = 0x20000000 PIOD_READ_D = 0x1 PIOD_READ_I = 0x3 PIOD_WRITE_D = 0x2 PIOD_WRITE_I = 0x4 PRIO_PGRP = 0x1 PRIO_PROCESS = 0x0 PRIO_USER = 0x2 PROT_EXEC = 0x4 PROT_NONE = 0x0 PROT_READ = 0x1 PROT_WRITE = 0x2 PTRACE_DEFAULT = 0x1 PTRACE_EXEC = 0x1 PTRACE_FORK = 0x8 PTRACE_LWP = 0x10 PTRACE_SCE = 0x2 PTRACE_SCX = 0x4 PTRACE_SYSCALL = 0x6 PTRACE_VFORK = 0x20 PT_ATTACH = 0xa PT_CLEARSTEP = 0x10 PT_CONTINUE = 0x7 PT_COREDUMP = 0x1d PT_DETACH = 0xb PT_FIRSTMACH = 0x40 PT_FOLLOW_FORK = 0x17 PT_GETDBREGS = 0x25 PT_GETFPREGS = 0x23 PT_GETLWPLIST = 0xf PT_GETNUMLWPS = 0xe PT_GETREGS = 0x21 PT_GET_EVENT_MASK = 0x19 PT_GET_SC_ARGS = 0x1b PT_GET_SC_RET = 0x1c PT_IO = 0xc PT_KILL = 0x8 PT_LWPINFO = 0xd PT_LWP_EVENTS = 0x18 PT_READ_D = 0x2 PT_READ_I = 0x1 PT_RESUME = 0x13 PT_SETDBREGS = 0x26 PT_SETFPREGS = 0x24 PT_SETREGS = 0x22 PT_SETSTEP = 0x11 PT_SET_EVENT_MASK = 0x1a PT_STEP = 0x9 PT_SUSPEND = 0x12 PT_SYSCALL = 0x16 PT_TO_SCE = 0x14 PT_TO_SCX = 0x15 PT_TRACE_ME = 0x0 PT_VM_ENTRY = 0x29 PT_VM_TIMESTAMP = 0x28 PT_WRITE_D = 0x5 PT_WRITE_I = 0x4 P_ZONEID = 0xc RLIMIT_AS = 0xa RLIMIT_CORE = 0x4 RLIMIT_CPU = 0x0 RLIMIT_DATA = 0x2 RLIMIT_FSIZE = 0x1 RLIMIT_MEMLOCK = 0x6 RLIMIT_NOFILE = 0x8 RLIMIT_NPROC = 0x7 RLIMIT_RSS = 0x5 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_FIXEDMTU = 0x80000 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_PROTO1 = 0x8000 RTF_PROTO2 = 0x4000 RTF_PROTO3 = 0x40000 RTF_REJECT = 0x8 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_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_BLACKHOLE = 0x40 RT_DEFAULT_FIB = 0x0 RT_DEFAULT_WEIGHT = 0x1 RT_HAS_GW = 0x80 RT_HAS_HEADER = 0x10 RT_HAS_HEADER_BIT = 0x4 RT_L2_ME = 0x4 RT_L2_ME_BIT = 0x2 RT_LLE_CACHE = 0x100 RT_MAX_WEIGHT = 0xffffff RT_MAY_LOOP = 0x8 RT_MAY_LOOP_BIT = 0x3 RT_REJECT = 0x20 RUSAGE_CHILDREN = -0x1 RUSAGE_SELF = 0x0 RUSAGE_THREAD = 0x1 SCM_BINTIME = 0x4 SCM_CREDS = 0x3 SCM_CREDS2 = 0x8 SCM_MONOTONIC = 0x6 SCM_REALTIME = 0x5 SCM_RIGHTS = 0x1 SCM_TIMESTAMP = 0x2 SCM_TIME_INFO = 0x7 SEEK_CUR = 0x1 SEEK_DATA = 0x3 SEEK_END = 0x2 SEEK_HOLE = 0x4 SEEK_SET = 0x0 SHUT_RD = 0x0 SHUT_RDWR = 0x2 SHUT_WR = 0x1 SIOCADDMULTI = 0x80206931 SIOCAIFADDR = 0x8040691a SIOCAIFGROUP = 0x80286987 SIOCATMARK = 0x40047307 SIOCDELMULTI = 0x80206932 SIOCDIFADDR = 0x80206919 SIOCDIFGROUP = 0x80286989 SIOCDIFPHYADDR = 0x80206949 SIOCGDRVSPEC = 0xc028697b SIOCGETSGCNT = 0xc0207210 SIOCGETVIFCNT = 0xc028720f SIOCGHIWAT = 0x40047301 SIOCGHWADDR = 0xc020693e SIOCGI2C = 0xc020693d SIOCGIFADDR = 0xc0206921 SIOCGIFALIAS = 0xc044692d SIOCGIFBRDADDR = 0xc0206923 SIOCGIFCAP = 0xc020691f SIOCGIFCONF = 0xc0106924 SIOCGIFDATA = 0x8020692c SIOCGIFDESCR = 0xc020692a SIOCGIFDOWNREASON = 0xc058699a 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 SIOCGIFRSSHASH = 0xc0186997 SIOCGIFRSSKEY = 0xc0946996 SIOCGIFSTATUS = 0xc331693b SIOCGIFXMEDIA = 0xc030698b SIOCGLANPCP = 0xc0206998 SIOCGLOWAT = 0x40047303 SIOCGPGRP = 0x40047309 SIOCGPRIVATE_0 = 0xc0206950 SIOCGPRIVATE_1 = 0xc0206951 SIOCGTUNFIB = 0xc020695e 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 SIOCSLANPCP = 0x80206999 SIOCSLOWAT = 0x80047302 SIOCSPGRP = 0x80047308 SIOCSTUNFIB = 0x8020695f 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_LOCAL = 0x0 SOL_SOCKET = 0xffff SOMAXCONN = 0x80 SO_ACCEPTCONN = 0x2 SO_ACCEPTFILTER = 0x1000 SO_BINTIME = 0x2000 SO_BROADCAST = 0x20 SO_DEBUG = 0x1 SO_DOMAIN = 0x1019 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_MAX_PACING_RATE = 0x1018 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_RERROR = 0x20000 SO_REUSEADDR = 0x4 SO_REUSEPORT = 0x200 SO_REUSEPORT_LB = 0x10000 SO_SETFIB = 0x1014 SO_SNDBUF = 0x1001 SO_SNDLOWAT = 0x1003 SO_SNDTIMEO = 0x1005 SO_TIMESTAMP = 0x400 SO_TS_BINTIME = 0x1 SO_TS_CLOCK = 0x1017 SO_TS_CLOCK_MAX = 0x3 SO_TS_DEFAULT = 0x0 SO_TS_MONOTONIC = 0x3 SO_TS_REALTIME = 0x2 SO_TS_REALTIME_MICRO = 0x0 SO_TYPE = 0x1008 SO_USELOOPBACK = 0x40 SO_USER_COOKIE = 0x1015 SO_VENDOR = 0x80000000 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 TAB0 = 0x0 TAB3 = 0x4 TABDLY = 0x4 TCIFLUSH = 0x1 TCIOFF = 0x3 TCIOFLUSH = 0x3 TCION = 0x4 TCOFLUSH = 0x2 TCOOFF = 0x1 TCOON = 0x2 TCPOPT_EOL = 0x0 TCPOPT_FAST_OPEN = 0x22 TCPOPT_MAXSEG = 0x2 TCPOPT_NOP = 0x1 TCPOPT_PAD = 0x0 TCPOPT_SACK = 0x5 TCPOPT_SACK_PERMITTED = 0x4 TCPOPT_SIGNATURE = 0x13 TCPOPT_TIMESTAMP = 0x8 TCPOPT_WINDOW = 0x3 TCP_BBR_ACK_COMP_ALG = 0x448 TCP_BBR_ALGORITHM = 0x43b TCP_BBR_DRAIN_INC_EXTRA = 0x43c TCP_BBR_DRAIN_PG = 0x42e TCP_BBR_EXTRA_GAIN = 0x449 TCP_BBR_EXTRA_STATE = 0x453 TCP_BBR_FLOOR_MIN_TSO = 0x454 TCP_BBR_HDWR_PACE = 0x451 TCP_BBR_HOLD_TARGET = 0x436 TCP_BBR_IWINTSO = 0x42b TCP_BBR_LOWGAIN_FD = 0x436 TCP_BBR_LOWGAIN_HALF = 0x435 TCP_BBR_LOWGAIN_THRESH = 0x434 TCP_BBR_MAX_RTO = 0x439 TCP_BBR_MIN_RTO = 0x438 TCP_BBR_MIN_TOPACEOUT = 0x455 TCP_BBR_ONE_RETRAN = 0x431 TCP_BBR_PACE_CROSS = 0x442 TCP_BBR_PACE_DEL_TAR = 0x43f TCP_BBR_PACE_OH = 0x435 TCP_BBR_PACE_PER_SEC = 0x43e TCP_BBR_PACE_SEG_MAX = 0x440 TCP_BBR_PACE_SEG_MIN = 0x441 TCP_BBR_POLICER_DETECT = 0x457 TCP_BBR_PROBE_RTT_GAIN = 0x44d TCP_BBR_PROBE_RTT_INT = 0x430 TCP_BBR_PROBE_RTT_LEN = 0x44e TCP_BBR_RACK_INIT_RATE = 0x458 TCP_BBR_RACK_RTT_USE = 0x44a TCP_BBR_RECFORCE = 0x42c TCP_BBR_REC_OVER_HPTS = 0x43a TCP_BBR_RETRAN_WTSO = 0x44b TCP_BBR_RWND_IS_APP = 0x42f TCP_BBR_SEND_IWND_IN_TSO = 0x44f TCP_BBR_STARTUP_EXIT_EPOCH = 0x43d TCP_BBR_STARTUP_LOSS_EXIT = 0x432 TCP_BBR_STARTUP_PG = 0x42d TCP_BBR_TMR_PACE_OH = 0x448 TCP_BBR_TSLIMITS = 0x434 TCP_BBR_TSTMP_RAISES = 0x456 TCP_BBR_UNLIMITED = 0x43b TCP_BBR_USEDEL_RATE = 0x437 TCP_BBR_USE_LOWGAIN = 0x433 TCP_BBR_USE_RACK_CHEAT = 0x450 TCP_BBR_USE_RACK_RR = 0x450 TCP_BBR_UTTER_MAX_TSO = 0x452 TCP_CA_NAME_MAX = 0x10 TCP_CCALGOOPT = 0x41 TCP_CONGESTION = 0x40 TCP_DATA_AFTER_CLOSE = 0x44c TCP_DEFER_OPTIONS = 0x470 TCP_DELACK = 0x48 TCP_FASTOPEN = 0x401 TCP_FASTOPEN_MAX_COOKIE_LEN = 0x10 TCP_FASTOPEN_MIN_COOKIE_LEN = 0x4 TCP_FASTOPEN_PSK_LEN = 0x10 TCP_FAST_RSM_HACK = 0x471 TCP_FIN_IS_RST = 0x49 TCP_FUNCTION_BLK = 0x2000 TCP_FUNCTION_NAME_LEN_MAX = 0x20 TCP_HDWR_RATE_CAP = 0x46a TCP_HDWR_UP_ONLY = 0x46c TCP_IDLE_REDUCE = 0x46 TCP_INFO = 0x20 TCP_IWND_NB = 0x2b TCP_IWND_NSEG = 0x2c TCP_KEEPCNT = 0x400 TCP_KEEPIDLE = 0x100 TCP_KEEPINIT = 0x80 TCP_KEEPINTVL = 0x200 TCP_LOG = 0x22 TCP_LOGBUF = 0x23 TCP_LOGDUMP = 0x25 TCP_LOGDUMPID = 0x26 TCP_LOGID = 0x24 TCP_LOGID_CNT = 0x2e TCP_LOG_ID_LEN = 0x40 TCP_LOG_LIMIT = 0x4a TCP_LOG_TAG = 0x2f TCP_MAXBURST = 0x4 TCP_MAXHLEN = 0x3c TCP_MAXOLEN = 0x28 TCP_MAXPEAKRATE = 0x45 TCP_MAXSEG = 0x2 TCP_MAXUNACKTIME = 0x44 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_NO_PRR = 0x462 TCP_PACING_RATE_CAP = 0x46b TCP_PCAP_IN = 0x1000 TCP_PCAP_OUT = 0x800 TCP_PERF_INFO = 0x4e TCP_PROC_ACCOUNTING = 0x4c TCP_RACK_ABC_VAL = 0x46d TCP_RACK_CHEAT_NOT_CONF_RATE = 0x459 TCP_RACK_DO_DETECTION = 0x449 TCP_RACK_EARLY_RECOV = 0x423 TCP_RACK_EARLY_SEG = 0x424 TCP_RACK_FORCE_MSEG = 0x45d TCP_RACK_GP_INCREASE = 0x446 TCP_RACK_GP_INCREASE_CA = 0x45a TCP_RACK_GP_INCREASE_REC = 0x45c TCP_RACK_GP_INCREASE_SS = 0x45b TCP_RACK_IDLE_REDUCE_HIGH = 0x444 TCP_RACK_MBUF_QUEUE = 0x41a TCP_RACK_MEASURE_CNT = 0x46f TCP_RACK_MIN_PACE = 0x445 TCP_RACK_MIN_PACE_SEG = 0x446 TCP_RACK_MIN_TO = 0x422 TCP_RACK_NONRXT_CFG_RATE = 0x463 TCP_RACK_NO_PUSH_AT_MAX = 0x466 TCP_RACK_PACE_ALWAYS = 0x41f TCP_RACK_PACE_MAX_SEG = 0x41e TCP_RACK_PACE_RATE_CA = 0x45e TCP_RACK_PACE_RATE_REC = 0x460 TCP_RACK_PACE_RATE_SS = 0x45f TCP_RACK_PACE_REDUCE = 0x41d TCP_RACK_PACE_TO_FILL = 0x467 TCP_RACK_PACING_BETA = 0x472 TCP_RACK_PACING_BETA_ECN = 0x473 TCP_RACK_PKT_DELAY = 0x428 TCP_RACK_PROFILE = 0x469 TCP_RACK_PROP = 0x41b TCP_RACK_PROP_RATE = 0x420 TCP_RACK_PRR_SENDALOT = 0x421 TCP_RACK_REORD_FADE = 0x426 TCP_RACK_REORD_THRESH = 0x425 TCP_RACK_RR_CONF = 0x459 TCP_RACK_TIMER_SLOP = 0x474 TCP_RACK_TLP_INC_VAR = 0x429 TCP_RACK_TLP_REDUCE = 0x41c TCP_RACK_TLP_THRESH = 0x427 TCP_RACK_TLP_USE = 0x447 TCP_REC_ABC_VAL = 0x46e TCP_REMOTE_UDP_ENCAPS_PORT = 0x47 TCP_REUSPORT_LB_NUMA = 0x402 TCP_REUSPORT_LB_NUMA_CURDOM = -0x1 TCP_REUSPORT_LB_NUMA_NODOM = -0x2 TCP_RXTLS_ENABLE = 0x29 TCP_RXTLS_MODE = 0x2a TCP_SHARED_CWND_ALLOWED = 0x4b TCP_SHARED_CWND_ENABLE = 0x464 TCP_SHARED_CWND_TIME_LIMIT = 0x468 TCP_STATS = 0x21 TCP_TIMELY_DYN_ADJ = 0x465 TCP_TLS_MODE_IFNET = 0x2 TCP_TLS_MODE_NONE = 0x0 TCP_TLS_MODE_SW = 0x1 TCP_TLS_MODE_TOE = 0x3 TCP_TXTLS_ENABLE = 0x27 TCP_TXTLS_MODE = 0x28 TCP_USER_LOG = 0x30 TCP_USE_CMP_ACKS = 0x4d TCP_VENDOR = 0x80000000 TCSAFLUSH = 0x2 TIMER_ABSTIME = 0x1 TIMER_RELTIME = 0x0 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 UTIME_NOW = -0x1 UTIME_OMIT = -0x2 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) EINTEGRITY = syscall.Errno(0x61) EINTR = syscall.Errno(0x4) EINVAL = syscall.Errno(0x16) EIO = syscall.Errno(0x5) EISCONN = syscall.Errno(0x38) EISDIR = syscall.Errno(0x15) ELAST = syscall.Errno(0x61) 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 errorList = [...]struct { num syscall.Errno name string desc string }{ {1, "EPERM", "operation not permitted"}, {2, "ENOENT", "no such file or directory"}, {3, "ESRCH", "no such process"}, {4, "EINTR", "interrupted system call"}, {5, "EIO", "input/output error"}, {6, "ENXIO", "device not configured"}, {7, "E2BIG", "argument list too long"}, {8, "ENOEXEC", "exec format error"}, {9, "EBADF", "bad file descriptor"}, {10, "ECHILD", "no child processes"}, {11, "EDEADLK", "resource deadlock avoided"}, {12, "ENOMEM", "cannot allocate memory"}, {13, "EACCES", "permission denied"}, {14, "EFAULT", "bad address"}, {15, "ENOTBLK", "block device required"}, {16, "EBUSY", "device busy"}, {17, "EEXIST", "file exists"}, {18, "EXDEV", "cross-device link"}, {19, "ENODEV", "operation not supported by device"}, {20, "ENOTDIR", "not a directory"}, {21, "EISDIR", "is a directory"}, {22, "EINVAL", "invalid argument"}, {23, "ENFILE", "too many open files in system"}, {24, "EMFILE", "too many open files"}, {25, "ENOTTY", "inappropriate ioctl for device"}, {26, "ETXTBSY", "text file busy"}, {27, "EFBIG", "file too large"}, {28, "ENOSPC", "no space left on device"}, {29, "ESPIPE", "illegal seek"}, {30, "EROFS", "read-only file system"}, {31, "EMLINK", "too many links"}, {32, "EPIPE", "broken pipe"}, {33, "EDOM", "numerical argument out of domain"}, {34, "ERANGE", "result too large"}, {35, "EWOULDBLOCK", "resource temporarily unavailable"}, {36, "EINPROGRESS", "operation now in progress"}, {37, "EALREADY", "operation already in progress"}, {38, "ENOTSOCK", "socket operation on non-socket"}, {39, "EDESTADDRREQ", "destination address required"}, {40, "EMSGSIZE", "message too long"}, {41, "EPROTOTYPE", "protocol wrong type for socket"}, {42, "ENOPROTOOPT", "protocol not available"}, {43, "EPROTONOSUPPORT", "protocol not supported"}, {44, "ESOCKTNOSUPPORT", "socket type not supported"}, {45, "EOPNOTSUPP", "operation not supported"}, {46, "EPFNOSUPPORT", "protocol family not supported"}, {47, "EAFNOSUPPORT", "address family not supported by protocol family"}, {48, "EADDRINUSE", "address already in use"}, {49, "EADDRNOTAVAIL", "can't assign requested address"}, {50, "ENETDOWN", "network is down"}, {51, "ENETUNREACH", "network is unreachable"}, {52, "ENETRESET", "network dropped connection on reset"}, {53, "ECONNABORTED", "software caused connection abort"}, {54, "ECONNRESET", "connection reset by peer"}, {55, "ENOBUFS", "no buffer space available"}, {56, "EISCONN", "socket is already connected"}, {57, "ENOTCONN", "socket is not connected"}, {58, "ESHUTDOWN", "can't send after socket shutdown"}, {59, "ETOOMANYREFS", "too many references: can't splice"}, {60, "ETIMEDOUT", "operation timed out"}, {61, "ECONNREFUSED", "connection refused"}, {62, "ELOOP", "too many levels of symbolic links"}, {63, "ENAMETOOLONG", "file name too long"}, {64, "EHOSTDOWN", "host is down"}, {65, "EHOSTUNREACH", "no route to host"}, {66, "ENOTEMPTY", "directory not empty"}, {67, "EPROCLIM", "too many processes"}, {68, "EUSERS", "too many users"}, {69, "EDQUOT", "disc quota exceeded"}, {70, "ESTALE", "stale NFS file handle"}, {71, "EREMOTE", "too many levels of remote in path"}, {72, "EBADRPC", "RPC struct is bad"}, {73, "ERPCMISMATCH", "RPC version wrong"}, {74, "EPROGUNAVAIL", "RPC prog. not avail"}, {75, "EPROGMISMATCH", "program version wrong"}, {76, "EPROCUNAVAIL", "bad procedure for program"}, {77, "ENOLCK", "no locks available"}, {78, "ENOSYS", "function not implemented"}, {79, "EFTYPE", "inappropriate file type or format"}, {80, "EAUTH", "authentication error"}, {81, "ENEEDAUTH", "need authenticator"}, {82, "EIDRM", "identifier removed"}, {83, "ENOMSG", "no message of desired type"}, {84, "EOVERFLOW", "value too large to be stored in data type"}, {85, "ECANCELED", "operation canceled"}, {86, "EILSEQ", "illegal byte sequence"}, {87, "ENOATTR", "attribute not found"}, {88, "EDOOFUS", "programming error"}, {89, "EBADMSG", "bad message"}, {90, "EMULTIHOP", "multihop attempted"}, {91, "ENOLINK", "link has been severed"}, {92, "EPROTO", "protocol error"}, {93, "ENOTCAPABLE", "capabilities insufficient"}, {94, "ECAPMODE", "not permitted in capability mode"}, {95, "ENOTRECOVERABLE", "state not recoverable"}, {96, "EOWNERDEAD", "previous owner died"}, {97, "EINTEGRITY", "integrity check failed"}, } // Signal table var signalList = [...]struct { num syscall.Signal name string desc string }{ {1, "SIGHUP", "hangup"}, {2, "SIGINT", "interrupt"}, {3, "SIGQUIT", "quit"}, {4, "SIGILL", "illegal instruction"}, {5, "SIGTRAP", "trace/BPT trap"}, {6, "SIGIOT", "abort trap"}, {7, "SIGEMT", "EMT trap"}, {8, "SIGFPE", "floating point exception"}, {9, "SIGKILL", "killed"}, {10, "SIGBUS", "bus error"}, {11, "SIGSEGV", "segmentation fault"}, {12, "SIGSYS", "bad system call"}, {13, "SIGPIPE", "broken pipe"}, {14, "SIGALRM", "alarm clock"}, {15, "SIGTERM", "terminated"}, {16, "SIGURG", "urgent I/O condition"}, {17, "SIGSTOP", "suspended (signal)"}, {18, "SIGTSTP", "suspended"}, {19, "SIGCONT", "continued"}, {20, "SIGCHLD", "child exited"}, {21, "SIGTTIN", "stopped (tty input)"}, {22, "SIGTTOU", "stopped (tty output)"}, {23, "SIGIO", "I/O possible"}, {24, "SIGXCPU", "cputime limit exceeded"}, {25, "SIGXFSZ", "filesize limit exceeded"}, {26, "SIGVTALRM", "virtual timer expired"}, {27, "SIGPROF", "profiling timer expired"}, {28, "SIGWINCH", "window size changes"}, {29, "SIGINFO", "information request"}, {30, "SIGUSR1", "user defined signal 1"}, {31, "SIGUSR2", "user defined signal 2"}, {32, "SIGTHR", "unknown signal"}, {33, "SIGLIBRT", "unknown signal"}, } dependencies/pkg/mod/golang.org/x/sys@v0.26.0/unix/zsyscall_freebsd_386.go0000644000000000000000000013214115107355264025100 0ustar rootroot// go run mksyscall.go -l32 -tags freebsd,386 syscall_bsd.go syscall_freebsd.go syscall_freebsd_386.go // Code generated by the command above; see README.md. DO NOT EDIT. //go: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 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 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 } // THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT func Madvise(b []byte, behav 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(behav)) 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 Msync(b []byte, flags int) (err error) { var _p0 unsafe.Pointer if len(b) > 0 { _p0 = unsafe.Pointer(&b[0]) } else { _p0 = unsafe.Pointer(&_zero) } _, _, e1 := Syscall(SYS_MSYNC, uintptr(_p0), uintptr(len(b)), uintptr(flags)) 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 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 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 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 ioctlPtr(fd int, req uint, arg unsafe.Pointer) (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 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 ptrace(request int, pid int, addr uintptr, data int) (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 ptracePtr(request int, pid int, addr unsafe.Pointer, data int) (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 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 CapEnter() (err error) { _, _, e1 := Syscall(SYS_CAP_ENTER, 0, 0, 0) if e1 != 0 { err = errnoErr(e1) } return } // THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT func capRightsGet(version int, fd int, rightsp *CapRights) (err error) { _, _, e1 := Syscall(SYS___CAP_RIGHTS_GET, uintptr(version), uintptr(fd), uintptr(unsafe.Pointer(rightsp))) if e1 != 0 { err = errnoErr(e1) } return } // THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT func capRightsLimit(fd int, rightsp *CapRights) (err error) { _, _, e1 := Syscall(SYS_CAP_RIGHTS_LIMIT, uintptr(fd), uintptr(unsafe.Pointer(rightsp)), 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 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 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 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 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 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 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 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 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 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, 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 *uint64) (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 Linkat(pathfd int, path string, linkfd int, link string, flags int) (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 := Syscall6(SYS_LINKAT, uintptr(pathfd), uintptr(unsafe.Pointer(_p0)), uintptr(linkfd), 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 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 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 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 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 Mknodat(fd int, path string, mode uint32, dev uint64) (err error) { var _p0 *byte _p0, err = BytePtrFromString(path) if err != nil { return } _, _, e1 := Syscall6(SYS_MKNODAT, uintptr(fd), uintptr(unsafe.Pointer(_p0)), uintptr(mode), uintptr(dev), uintptr(dev>>32), 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 Openat(fdat int, path string, mode int, perm uint32) (fd int, err error) { var _p0 *byte _p0, err = BytePtrFromString(path) if err != nil { return } r0, _, e1 := Syscall6(SYS_OPENAT, uintptr(fdat), uintptr(unsafe.Pointer(_p0)), uintptr(mode), uintptr(perm), 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 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 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 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 Renameat(fromfd int, from string, tofd int, 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 := Syscall6(SYS_RENAMEAT, uintptr(fromfd), uintptr(unsafe.Pointer(_p0)), uintptr(tofd), 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 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(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 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 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 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 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 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 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 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 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 } // 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 } dependencies/pkg/mod/golang.org/x/sys@v0.26.0/plan9/0000755000000000000000000000000015107355264020651 5ustar rootrootdependencies/pkg/mod/golang.org/x/sys@v0.26.0/plan9/errors_plan9.go0000644000000000000000000000303515107355264023620 0ustar rootroot// 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 plan9 import "syscall" // Constants const ( // Invented values to support what package os expects. O_CREAT = 0x02000 O_APPEND = 0x00400 O_NOCTTY = 0x00000 O_NONBLOCK = 0x00000 O_SYNC = 0x00000 O_ASYNC = 0x00000 S_IFMT = 0x1f000 S_IFIFO = 0x1000 S_IFCHR = 0x2000 S_IFDIR = 0x4000 S_IFBLK = 0x6000 S_IFREG = 0x8000 S_IFLNK = 0xa000 S_IFSOCK = 0xc000 ) // Errors var ( EINVAL = syscall.NewError("bad arg in system call") ENOTDIR = syscall.NewError("not a directory") EISDIR = syscall.NewError("file is a directory") ENOENT = syscall.NewError("file does not exist") EEXIST = syscall.NewError("file already exists") EMFILE = syscall.NewError("no free file descriptors") EIO = syscall.NewError("i/o error") ENAMETOOLONG = syscall.NewError("file name too long") EINTR = syscall.NewError("interrupted") EPERM = syscall.NewError("permission denied") EBUSY = syscall.NewError("no free devices") ETIMEDOUT = syscall.NewError("connection timed out") EPLAN9 = syscall.NewError("not supported by plan 9") // The following errors do not correspond to any // Plan 9 system messages. Invented to support // what package os and others expect. EACCES = syscall.NewError("access permission denied") EAFNOSUPPORT = syscall.NewError("address family not supported by protocol") ) dependencies/pkg/mod/golang.org/x/sys@v0.26.0/plan9/zsysnum_plan9.go0000644000000000000000000000204115107355264024030 0ustar rootroot// mksysnum_plan9.sh /opt/plan9/sys/src/libc/9syscall/sys.h // MACHINE GENERATED BY THE ABOVE COMMAND; DO NOT EDIT package plan9 const ( SYS_SYSR1 = 0 SYS_BIND = 2 SYS_CHDIR = 3 SYS_CLOSE = 4 SYS_DUP = 5 SYS_ALARM = 6 SYS_EXEC = 7 SYS_EXITS = 8 SYS_FAUTH = 10 SYS_SEGBRK = 12 SYS_OPEN = 14 SYS_OSEEK = 16 SYS_SLEEP = 17 SYS_RFORK = 19 SYS_PIPE = 21 SYS_CREATE = 22 SYS_FD2PATH = 23 SYS_BRK_ = 24 SYS_REMOVE = 25 SYS_NOTIFY = 28 SYS_NOTED = 29 SYS_SEGATTACH = 30 SYS_SEGDETACH = 31 SYS_SEGFREE = 32 SYS_SEGFLUSH = 33 SYS_RENDEZVOUS = 34 SYS_UNMOUNT = 35 SYS_SEMACQUIRE = 37 SYS_SEMRELEASE = 38 SYS_SEEK = 39 SYS_FVERSION = 40 SYS_ERRSTR = 41 SYS_STAT = 42 SYS_FSTAT = 43 SYS_WSTAT = 44 SYS_FWSTAT = 45 SYS_MOUNT = 46 SYS_AWAIT = 47 SYS_PREAD = 50 SYS_PWRITE = 51 SYS_TSEMACQUIRE = 52 SYS_NSEC = 53 ) dependencies/pkg/mod/golang.org/x/sys@v0.26.0/plan9/race.go0000644000000000000000000000111315107355264022106 0ustar rootroot// 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. //go:build plan9 && race package plan9 import ( "runtime" "unsafe" ) const raceenabled = true func raceAcquire(addr unsafe.Pointer) { runtime.RaceAcquire(addr) } func raceReleaseMerge(addr unsafe.Pointer) { runtime.RaceReleaseMerge(addr) } func raceReadRange(addr unsafe.Pointer, len int) { runtime.RaceReadRange(addr, len) } func raceWriteRange(addr unsafe.Pointer, len int) { runtime.RaceWriteRange(addr, len) } dependencies/pkg/mod/golang.org/x/sys@v0.26.0/plan9/zsyscall_plan9_amd64.go0000644000000000000000000001431015107355264025141 0ustar rootroot// go run mksyscall.go -l32 -plan9 -tags plan9,amd64 syscall_plan9.go // Code generated by the command above; see README.md. DO NOT EDIT. //go:build plan9 && amd64 package plan9 import "unsafe" // THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT func fd2path(fd int, buf []byte) (err error) { var _p0 unsafe.Pointer if len(buf) > 0 { _p0 = unsafe.Pointer(&buf[0]) } else { _p0 = unsafe.Pointer(&_zero) } r0, _, e1 := Syscall(SYS_FD2PATH, uintptr(fd), uintptr(_p0), uintptr(len(buf))) if int32(r0) == -1 { err = e1 } return } // THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT func pipe(p *[2]int32) (err error) { r0, _, e1 := Syscall(SYS_PIPE, uintptr(unsafe.Pointer(p)), 0, 0) if int32(r0) == -1 { err = e1 } return } // THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT func await(s []byte) (n int, err error) { var _p0 unsafe.Pointer if len(s) > 0 { _p0 = unsafe.Pointer(&s[0]) } else { _p0 = unsafe.Pointer(&_zero) } r0, _, e1 := Syscall(SYS_AWAIT, uintptr(_p0), uintptr(len(s)), 0) n = int(r0) if int32(r0) == -1 { err = e1 } return } // THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT func open(path string, mode int) (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), 0) fd = int(r0) if int32(r0) == -1 { err = e1 } return } // THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT func create(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_CREATE, uintptr(unsafe.Pointer(_p0)), uintptr(mode), uintptr(perm)) fd = int(r0) if int32(r0) == -1 { err = e1 } return } // THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT func remove(path string) (err error) { var _p0 *byte _p0, err = BytePtrFromString(path) if err != nil { return } r0, _, e1 := Syscall(SYS_REMOVE, uintptr(unsafe.Pointer(_p0)), 0, 0) if int32(r0) == -1 { err = e1 } return } // THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT func stat(path string, edir []byte) (n int, err error) { var _p0 *byte _p0, err = BytePtrFromString(path) if err != nil { return } var _p1 unsafe.Pointer if len(edir) > 0 { _p1 = unsafe.Pointer(&edir[0]) } else { _p1 = unsafe.Pointer(&_zero) } r0, _, e1 := Syscall(SYS_STAT, uintptr(unsafe.Pointer(_p0)), uintptr(_p1), uintptr(len(edir))) n = int(r0) if int32(r0) == -1 { err = e1 } return } // THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT func bind(name string, old string, flag int) (err error) { var _p0 *byte _p0, err = BytePtrFromString(name) if err != nil { return } var _p1 *byte _p1, err = BytePtrFromString(old) if err != nil { return } r0, _, e1 := Syscall(SYS_BIND, uintptr(unsafe.Pointer(_p0)), uintptr(unsafe.Pointer(_p1)), uintptr(flag)) if int32(r0) == -1 { err = e1 } return } // THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT func mount(fd int, afd int, old string, flag int, aname string) (err error) { var _p0 *byte _p0, err = BytePtrFromString(old) if err != nil { return } var _p1 *byte _p1, err = BytePtrFromString(aname) if err != nil { return } r0, _, e1 := Syscall6(SYS_MOUNT, uintptr(fd), uintptr(afd), uintptr(unsafe.Pointer(_p0)), uintptr(flag), uintptr(unsafe.Pointer(_p1)), 0) if int32(r0) == -1 { err = e1 } return } // THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT func wstat(path string, edir []byte) (err error) { var _p0 *byte _p0, err = BytePtrFromString(path) if err != nil { return } var _p1 unsafe.Pointer if len(edir) > 0 { _p1 = unsafe.Pointer(&edir[0]) } else { _p1 = unsafe.Pointer(&_zero) } r0, _, e1 := Syscall(SYS_WSTAT, uintptr(unsafe.Pointer(_p0)), uintptr(_p1), uintptr(len(edir))) if int32(r0) == -1 { err = 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 } r0, _, e1 := Syscall(SYS_CHDIR, uintptr(unsafe.Pointer(_p0)), 0, 0) if int32(r0) == -1 { err = e1 } return } // THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT func Dup(oldfd int, newfd int) (fd int, err error) { r0, _, e1 := Syscall(SYS_DUP, uintptr(oldfd), uintptr(newfd), 0) fd = int(r0) if int32(r0) == -1 { err = 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 int32(r0) == -1 { err = 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 int32(r0) == -1 { err = e1 } return } // THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT func Close(fd int) (err error) { r0, _, e1 := Syscall(SYS_CLOSE, uintptr(fd), 0, 0) if int32(r0) == -1 { err = e1 } return } // THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT func Fstat(fd int, edir []byte) (n int, err error) { var _p0 unsafe.Pointer if len(edir) > 0 { _p0 = unsafe.Pointer(&edir[0]) } else { _p0 = unsafe.Pointer(&_zero) } r0, _, e1 := Syscall(SYS_FSTAT, uintptr(fd), uintptr(_p0), uintptr(len(edir))) n = int(r0) if int32(r0) == -1 { err = e1 } return } // THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT func Fwstat(fd int, edir []byte) (err error) { var _p0 unsafe.Pointer if len(edir) > 0 { _p0 = unsafe.Pointer(&edir[0]) } else { _p0 = unsafe.Pointer(&_zero) } r0, _, e1 := Syscall(SYS_FWSTAT, uintptr(fd), uintptr(_p0), uintptr(len(edir))) if int32(r0) == -1 { err = e1 } return } dependencies/pkg/mod/golang.org/x/sys@v0.26.0/plan9/syscall_test.go0000644000000000000000000000141715107355264023714 0ustar rootroot// 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. //go:build plan9 package plan9_test import ( "testing" "golang.org/x/sys/plan9" ) func testSetGetenv(t *testing.T, key, value string) { err := plan9.Setenv(key, value) if err != nil { t.Fatalf("Setenv failed to set %q: %v", value, err) } newvalue, found := plan9.Getenv(key) if !found { t.Fatalf("Getenv failed to find %v variable (want value %q)", key, value) } if newvalue != value { t.Fatalf("Getenv(%v) = %q; want %q", key, newvalue, value) } } func TestEnv(t *testing.T) { testSetGetenv(t, "TESTENV", "AVALUE") // make sure TESTENV gets set to "", not deleted testSetGetenv(t, "TESTENV", "") } dependencies/pkg/mod/golang.org/x/sys@v0.26.0/plan9/pwd_go15_plan9.go0000644000000000000000000000056515107355264023736 0ustar rootroot// 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:build go1.5 package plan9 import "syscall" func fixwd() { syscall.Fixwd() } func Getwd() (wd string, err error) { return syscall.Getwd() } func Chdir(path string) error { return syscall.Chdir(path) } dependencies/pkg/mod/golang.org/x/sys@v0.26.0/plan9/const_plan9.go0000644000000000000000000000175415107355264023440 0ustar rootrootpackage plan9 // Plan 9 Constants // Open modes const ( O_RDONLY = 0 O_WRONLY = 1 O_RDWR = 2 O_TRUNC = 16 O_CLOEXEC = 32 O_EXCL = 0x1000 ) // Rfork flags const ( RFNAMEG = 1 << 0 RFENVG = 1 << 1 RFFDG = 1 << 2 RFNOTEG = 1 << 3 RFPROC = 1 << 4 RFMEM = 1 << 5 RFNOWAIT = 1 << 6 RFCNAMEG = 1 << 10 RFCENVG = 1 << 11 RFCFDG = 1 << 12 RFREND = 1 << 13 RFNOMNT = 1 << 14 ) // Qid.Type bits const ( QTDIR = 0x80 QTAPPEND = 0x40 QTEXCL = 0x20 QTMOUNT = 0x10 QTAUTH = 0x08 QTTMP = 0x04 QTFILE = 0x00 ) // Dir.Mode bits const ( DMDIR = 0x80000000 DMAPPEND = 0x40000000 DMEXCL = 0x20000000 DMMOUNT = 0x10000000 DMAUTH = 0x08000000 DMTMP = 0x04000000 DMREAD = 0x4 DMWRITE = 0x2 DMEXEC = 0x1 ) const ( STATMAX = 65535 ERRMAX = 128 STATFIXLEN = 49 ) // Mount and bind flags const ( MREPL = 0x0000 MBEFORE = 0x0001 MAFTER = 0x0002 MORDER = 0x0003 MCREATE = 0x0004 MCACHE = 0x0010 MMASK = 0x0017 ) dependencies/pkg/mod/golang.org/x/sys@v0.26.0/plan9/asm_plan9_arm.s0000644000000000000000000000120415107355264023554 0ustar rootroot// 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. #include "textflag.h" // System call support for plan9 on arm // Just jump to package syscall's implementation for all these functions. // The runtime may know about them. TEXT ·Syscall(SB),NOSPLIT,$0-32 JMP syscall·Syscall(SB) TEXT ·Syscall6(SB),NOSPLIT,$0-44 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 ·seek(SB),NOSPLIT,$0-36 JMP syscall·exit(SB) dependencies/pkg/mod/golang.org/x/sys@v0.26.0/plan9/zsyscall_plan9_386.go0000644000000000000000000001430415107355264024551 0ustar rootroot// go run mksyscall.go -l32 -plan9 -tags plan9,386 syscall_plan9.go // Code generated by the command above; see README.md. DO NOT EDIT. //go:build plan9 && 386 package plan9 import "unsafe" // THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT func fd2path(fd int, buf []byte) (err error) { var _p0 unsafe.Pointer if len(buf) > 0 { _p0 = unsafe.Pointer(&buf[0]) } else { _p0 = unsafe.Pointer(&_zero) } r0, _, e1 := Syscall(SYS_FD2PATH, uintptr(fd), uintptr(_p0), uintptr(len(buf))) if int32(r0) == -1 { err = e1 } return } // THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT func pipe(p *[2]int32) (err error) { r0, _, e1 := Syscall(SYS_PIPE, uintptr(unsafe.Pointer(p)), 0, 0) if int32(r0) == -1 { err = e1 } return } // THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT func await(s []byte) (n int, err error) { var _p0 unsafe.Pointer if len(s) > 0 { _p0 = unsafe.Pointer(&s[0]) } else { _p0 = unsafe.Pointer(&_zero) } r0, _, e1 := Syscall(SYS_AWAIT, uintptr(_p0), uintptr(len(s)), 0) n = int(r0) if int32(r0) == -1 { err = e1 } return } // THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT func open(path string, mode int) (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), 0) fd = int(r0) if int32(r0) == -1 { err = e1 } return } // THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT func create(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_CREATE, uintptr(unsafe.Pointer(_p0)), uintptr(mode), uintptr(perm)) fd = int(r0) if int32(r0) == -1 { err = e1 } return } // THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT func remove(path string) (err error) { var _p0 *byte _p0, err = BytePtrFromString(path) if err != nil { return } r0, _, e1 := Syscall(SYS_REMOVE, uintptr(unsafe.Pointer(_p0)), 0, 0) if int32(r0) == -1 { err = e1 } return } // THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT func stat(path string, edir []byte) (n int, err error) { var _p0 *byte _p0, err = BytePtrFromString(path) if err != nil { return } var _p1 unsafe.Pointer if len(edir) > 0 { _p1 = unsafe.Pointer(&edir[0]) } else { _p1 = unsafe.Pointer(&_zero) } r0, _, e1 := Syscall(SYS_STAT, uintptr(unsafe.Pointer(_p0)), uintptr(_p1), uintptr(len(edir))) n = int(r0) if int32(r0) == -1 { err = e1 } return } // THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT func bind(name string, old string, flag int) (err error) { var _p0 *byte _p0, err = BytePtrFromString(name) if err != nil { return } var _p1 *byte _p1, err = BytePtrFromString(old) if err != nil { return } r0, _, e1 := Syscall(SYS_BIND, uintptr(unsafe.Pointer(_p0)), uintptr(unsafe.Pointer(_p1)), uintptr(flag)) if int32(r0) == -1 { err = e1 } return } // THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT func mount(fd int, afd int, old string, flag int, aname string) (err error) { var _p0 *byte _p0, err = BytePtrFromString(old) if err != nil { return } var _p1 *byte _p1, err = BytePtrFromString(aname) if err != nil { return } r0, _, e1 := Syscall6(SYS_MOUNT, uintptr(fd), uintptr(afd), uintptr(unsafe.Pointer(_p0)), uintptr(flag), uintptr(unsafe.Pointer(_p1)), 0) if int32(r0) == -1 { err = e1 } return } // THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT func wstat(path string, edir []byte) (err error) { var _p0 *byte _p0, err = BytePtrFromString(path) if err != nil { return } var _p1 unsafe.Pointer if len(edir) > 0 { _p1 = unsafe.Pointer(&edir[0]) } else { _p1 = unsafe.Pointer(&_zero) } r0, _, e1 := Syscall(SYS_WSTAT, uintptr(unsafe.Pointer(_p0)), uintptr(_p1), uintptr(len(edir))) if int32(r0) == -1 { err = 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 } r0, _, e1 := Syscall(SYS_CHDIR, uintptr(unsafe.Pointer(_p0)), 0, 0) if int32(r0) == -1 { err = e1 } return } // THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT func Dup(oldfd int, newfd int) (fd int, err error) { r0, _, e1 := Syscall(SYS_DUP, uintptr(oldfd), uintptr(newfd), 0) fd = int(r0) if int32(r0) == -1 { err = 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 int32(r0) == -1 { err = 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 int32(r0) == -1 { err = e1 } return } // THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT func Close(fd int) (err error) { r0, _, e1 := Syscall(SYS_CLOSE, uintptr(fd), 0, 0) if int32(r0) == -1 { err = e1 } return } // THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT func Fstat(fd int, edir []byte) (n int, err error) { var _p0 unsafe.Pointer if len(edir) > 0 { _p0 = unsafe.Pointer(&edir[0]) } else { _p0 = unsafe.Pointer(&_zero) } r0, _, e1 := Syscall(SYS_FSTAT, uintptr(fd), uintptr(_p0), uintptr(len(edir))) n = int(r0) if int32(r0) == -1 { err = e1 } return } // THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT func Fwstat(fd int, edir []byte) (err error) { var _p0 unsafe.Pointer if len(edir) > 0 { _p0 = unsafe.Pointer(&edir[0]) } else { _p0 = unsafe.Pointer(&_zero) } r0, _, e1 := Syscall(SYS_FWSTAT, uintptr(fd), uintptr(_p0), uintptr(len(edir))) if int32(r0) == -1 { err = e1 } return } dependencies/pkg/mod/golang.org/x/sys@v0.26.0/plan9/env_plan9.go0000644000000000000000000000105315107355264023072 0ustar rootroot// 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. // Plan 9 environment variables. package plan9 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() } func Unsetenv(key string) error { return syscall.Unsetenv(key) } dependencies/pkg/mod/golang.org/x/sys@v0.26.0/plan9/str.go0000644000000000000000000000076415107355264022017 0ustar rootroot// 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. //go:build plan9 package plan9 func itoa(val int) string { // do it here rather than with fmt to avoid dependency if val < 0 { return "-" + itoa(-val) } 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:]) } dependencies/pkg/mod/golang.org/x/sys@v0.26.0/plan9/syscall.go0000644000000000000000000000644115107355264022657 0ustar rootroot// 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. //go:build plan9 // Package plan9 contains an interface to the low-level operating system // primitives. OS details vary depending on the underlying system, and // by default, godoc will display the OS-specific documentation for the current // system. If you want godoc to display 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.ErrorString. package plan9 // import "golang.org/x/sys/plan9" import ( "bytes" "strings" "unsafe" ) // 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) { if strings.IndexByte(s, 0) != -1 { 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 } // ByteSliceToString returns a string form of the text represented by the slice s, with a terminating NUL and any // bytes after the NUL removed. func ByteSliceToString(s []byte) string { if i := bytes.IndexByte(s, 0); i != -1 { s = s[:i] } return string(s) } // BytePtrToString takes a pointer to a sequence of text and returns the corresponding string. // If the pointer is nil, it returns the empty string. It assumes that the text sequence is terminated // at a zero byte; if the zero byte is not present, the program may crash. func BytePtrToString(p *byte) string { if p == nil { return "" } if *p == 0 { return "" } // Find NUL terminator. n := 0 for ptr := unsafe.Pointer(p); *(*byte)(ptr) != 0; n++ { ptr = unsafe.Pointer(uintptr(ptr) + 1) } return string(unsafe.Slice(p, n)) } // Single-word zero for use when we need a valid pointer to 0 bytes. // See mksyscall.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 } // use is a no-op, but the compiler cannot see that it is. // Calling use(p) ensures that p is kept live until that point. // //go:noescape func use(p unsafe.Pointer) dependencies/pkg/mod/golang.org/x/sys@v0.26.0/plan9/mksyscall.go0000644000000000000000000003041515107355264023205 0ustar rootroot// Copyright 2018 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:build ignore /* This program reads a file containing function prototypes (like syscall_plan9.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. */ package main import ( "bufio" "flag" "fmt" "os" "regexp" "strings" ) var ( b32 = flag.Bool("b32", false, "32bit big-endian") l32 = flag.Bool("l32", false, "32bit little-endian") plan9 = flag.Bool("plan9", false, "plan9") openbsd = flag.Bool("openbsd", false, "openbsd") netbsd = flag.Bool("netbsd", false, "netbsd") dragonfly = flag.Bool("dragonfly", false, "dragonfly") arm = flag.Bool("arm", false, "arm") // 64-bit value should use (even, odd)-pair tags = flag.String("tags", "", "build tags") filename = flag.String("output", "", "output file name (standard output if omitted)") ) // cmdLine returns this programs's commandline arguments func cmdLine() string { return "go run mksyscall.go " + strings.Join(os.Args[1:], " ") } // goBuildTags returns build tags in the go:build format. func goBuildTags() string { return strings.ReplaceAll(*tags, ",", " && ") } // Param is function parameter type Param struct { Name string Type string } // usage prints the program usage func usage() { fmt.Fprintf(os.Stderr, "usage: go run mksyscall.go [-b32 | -l32] [-tags x,y] [file ...]\n") os.Exit(1) } // parseParamList parses parameter list and returns a slice of parameters func parseParamList(list string) []string { list = strings.TrimSpace(list) if list == "" { return []string{} } return regexp.MustCompile(`\s*,\s*`).Split(list, -1) } // parseParam splits a parameter into name and type func parseParam(p string) Param { ps := regexp.MustCompile(`^(\S*) (\S*)$`).FindStringSubmatch(p) if ps == nil { fmt.Fprintf(os.Stderr, "malformed parameter: %s\n", p) os.Exit(1) } return Param{ps[1], ps[2]} } 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 Docker-based build system if we should if goos == "linux" { if os.Getenv("GOLANG_SYS_BUILD") != "docker" { fmt.Fprintf(os.Stderr, "In the Docker-based build system, mksyscall should not be called directly.\n") fmt.Fprintf(os.Stderr, "See README.md\n") os.Exit(1) } } flag.Usage = usage flag.Parse() if len(flag.Args()) <= 0 { fmt.Fprintf(os.Stderr, "no files to parse provided\n") usage() } endianness := "" if *b32 { endianness = "big-endian" } else if *l32 { endianness = "little-endian" } libc := false if goos == "darwin" && strings.Contains(goBuildTags(), " && go1.12") { libc = true } trampolines := map[string]bool{} text := "" for _, path := range flag.Args() { file, err := os.Open(path) if err != nil { fmt.Fprintf(os.Stderr, err.Error()) os.Exit(1) } s := bufio.NewScanner(file) for s.Scan() { t := s.Text() t = strings.TrimSpace(t) t = regexp.MustCompile(`\s+`).ReplaceAllString(t, ` `) nonblock := regexp.MustCompile(`^\/\/sysnb `).FindStringSubmatch(t) if regexp.MustCompile(`^\/\/sys `).FindStringSubmatch(t) == nil && nonblock == nil { continue } // 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. f := regexp.MustCompile(`^\/\/sys(nb)? (\w+)\(([^()]*)\)\s*(?:\(([^()]+)\))?\s*(?:=\s*((?i)SYS_[A-Z0-9_]+))?$`).FindStringSubmatch(t) if f == nil { fmt.Fprintf(os.Stderr, "%s:%s\nmalformed //sys declaration\n", path, t) os.Exit(1) } funct, inps, outps, sysname := f[2], f[3], f[4], f[5] // Split argument lists on comma. in := parseParamList(inps) out := parseParamList(outps) // 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. outDecl := "" if len(out) > 0 { outDecl = fmt.Sprintf(" (%s)", strings.Join(out, ", ")) } text += fmt.Sprintf("func %s(%s)%s {\n", funct, strings.Join(in, ", "), outDecl) // Check if err return available errvar := "" for _, param := range out { p := parseParam(param) if p.Type == "error" { errvar = p.Name break } } // Prepare arguments to Syscall. var args []string n := 0 for _, param := range in { p := parseParam(param) if regexp.MustCompile(`^\*`).FindStringSubmatch(p.Type) != nil { args = append(args, "uintptr(unsafe.Pointer("+p.Name+"))") } else if p.Type == "string" && errvar != "" { text += fmt.Sprintf("\tvar _p%d *byte\n", n) text += fmt.Sprintf("\t_p%d, %s = BytePtrFromString(%s)\n", n, errvar, p.Name) text += fmt.Sprintf("\tif %s != nil {\n\t\treturn\n\t}\n", errvar) args = append(args, fmt.Sprintf("uintptr(unsafe.Pointer(_p%d))", n)) n++ } else if p.Type == "string" { fmt.Fprintf(os.Stderr, path+":"+funct+" uses string arguments, but has no error return\n") text += fmt.Sprintf("\tvar _p%d *byte\n", n) text += fmt.Sprintf("\t_p%d, _ = BytePtrFromString(%s)\n", n, p.Name) args = append(args, fmt.Sprintf("uintptr(unsafe.Pointer(_p%d))", n)) n++ } else if regexp.MustCompile(`^\[\](.*)`).FindStringSubmatch(p.Type) != nil { // 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 += fmt.Sprintf("\tvar _p%d unsafe.Pointer\n", n) text += fmt.Sprintf("\tif len(%s) > 0 {\n\t\t_p%d = unsafe.Pointer(&%s[0])\n\t}", p.Name, n, p.Name) text += fmt.Sprintf(" else {\n\t\t_p%d = unsafe.Pointer(&_zero)\n\t}\n", n) args = append(args, fmt.Sprintf("uintptr(_p%d)", n), fmt.Sprintf("uintptr(len(%s))", p.Name)) n++ } else if p.Type == "int64" && (*openbsd || *netbsd) { args = append(args, "0") if endianness == "big-endian" { args = append(args, fmt.Sprintf("uintptr(%s>>32)", p.Name), fmt.Sprintf("uintptr(%s)", p.Name)) } else if endianness == "little-endian" { args = append(args, fmt.Sprintf("uintptr(%s)", p.Name), fmt.Sprintf("uintptr(%s>>32)", p.Name)) } else { args = append(args, fmt.Sprintf("uintptr(%s)", p.Name)) } } else if p.Type == "int64" && *dragonfly { if regexp.MustCompile(`^(?i)extp(read|write)`).FindStringSubmatch(funct) == nil { args = append(args, "0") } if endianness == "big-endian" { args = append(args, fmt.Sprintf("uintptr(%s>>32)", p.Name), fmt.Sprintf("uintptr(%s)", p.Name)) } else if endianness == "little-endian" { args = append(args, fmt.Sprintf("uintptr(%s)", p.Name), fmt.Sprintf("uintptr(%s>>32)", p.Name)) } else { args = append(args, fmt.Sprintf("uintptr(%s)", p.Name)) } } else if p.Type == "int64" && endianness != "" { if len(args)%2 == 1 && *arm { // arm abi specifies 64-bit argument uses // (even, odd) pair args = append(args, "0") } if endianness == "big-endian" { args = append(args, fmt.Sprintf("uintptr(%s>>32)", p.Name), fmt.Sprintf("uintptr(%s)", p.Name)) } else { args = append(args, fmt.Sprintf("uintptr(%s)", p.Name), fmt.Sprintf("uintptr(%s>>32)", p.Name)) } } else { args = append(args, fmt.Sprintf("uintptr(%s)", p.Name)) } } // Determine which form to use; pad args with zeros. asm := "Syscall" if nonblock != nil { if errvar == "" && goos == "linux" { asm = "RawSyscallNoError" } else { asm = "RawSyscall" } } else { if errvar == "" && goos == "linux" { asm = "SyscallNoError" } } if len(args) <= 3 { for len(args) < 3 { args = append(args, "0") } } else if len(args) <= 6 { asm += "6" for len(args) < 6 { args = append(args, "0") } } else if len(args) <= 9 { asm += "9" for len(args) < 9 { args = append(args, "0") } } else { fmt.Fprintf(os.Stderr, "%s:%s too many arguments to system call\n", path, funct) } // System call number. if sysname == "" { sysname = "SYS_" + funct sysname = regexp.MustCompile(`([a-z])([A-Z])`).ReplaceAllString(sysname, `${1}_$2`) sysname = strings.ToUpper(sysname) } var libcFn string if libc { asm = "syscall_" + strings.ToLower(asm[:1]) + asm[1:] // internal syscall call sysname = strings.TrimPrefix(sysname, "SYS_") // remove SYS_ sysname = strings.ToLower(sysname) // lowercase if sysname == "getdirentries64" { // Special case - libSystem name and // raw syscall name don't match. sysname = "__getdirentries64" } libcFn = sysname sysname = "funcPC(libc_" + sysname + "_trampoline)" } // Actual call. arglist := strings.Join(args, ", ") call := fmt.Sprintf("%s(%s, %s)", asm, sysname, arglist) // Assign return values. body := "" ret := []string{"_", "_", "_"} doErrno := false for i := 0; i < len(out); i++ { p := parseParam(out[i]) reg := "" if p.Name == "err" && !*plan9 { reg = "e1" ret[2] = reg doErrno = true } else if p.Name == "err" && *plan9 { ret[0] = "r0" ret[2] = "e1" break } else { reg = fmt.Sprintf("r%d", i) ret[i] = reg } if p.Type == "bool" { reg = fmt.Sprintf("%s != 0", reg) } if p.Type == "int64" && endianness != "" { // 64-bit number in r1:r0 or r0:r1. if i+2 > len(out) { fmt.Fprintf(os.Stderr, "%s:%s not enough registers for int64 return\n", path, funct) } if endianness == "big-endian" { reg = fmt.Sprintf("int64(r%d)<<32 | int64(r%d)", i, i+1) } else { reg = fmt.Sprintf("int64(r%d)<<32 | int64(r%d)", i+1, i) } ret[i] = fmt.Sprintf("r%d", i) ret[i+1] = fmt.Sprintf("r%d", i+1) } if reg != "e1" || *plan9 { body += fmt.Sprintf("\t%s = %s(%s)\n", p.Name, p.Type, reg) } } if ret[0] == "_" && ret[1] == "_" && ret[2] == "_" { text += fmt.Sprintf("\t%s\n", call) } else { if errvar == "" && goos == "linux" { // raw syscall without error on Linux, see golang.org/issue/22924 text += fmt.Sprintf("\t%s, %s := %s\n", ret[0], ret[1], call) } else { text += fmt.Sprintf("\t%s, %s, %s := %s\n", ret[0], ret[1], ret[2], call) } } text += body if *plan9 && ret[2] == "e1" { text += "\tif int32(r0) == -1 {\n" text += "\t\terr = e1\n" text += "\t}\n" } else if doErrno { text += "\tif e1 != 0 {\n" text += "\t\terr = errnoErr(e1)\n" text += "\t}\n" } text += "\treturn\n" text += "}\n\n" if libc && !trampolines[libcFn] { // some system calls share a trampoline, like read and readlen. trampolines[libcFn] = true // Declare assembly trampoline. text += fmt.Sprintf("func libc_%s_trampoline()\n", libcFn) // Assembly trampoline calls the libc_* function, which this magic // redirects to use the function from libSystem. text += fmt.Sprintf("//go:linkname libc_%s libc_%s\n", libcFn, libcFn) text += fmt.Sprintf("//go:cgo_import_dynamic libc_%s %s \"/usr/lib/libSystem.B.dylib\"\n", libcFn, libcFn) text += "\n" } } if err := s.Err(); err != nil { fmt.Fprintf(os.Stderr, err.Error()) os.Exit(1) } file.Close() } fmt.Printf(srcTemplate, cmdLine(), goBuildTags(), text) } const srcTemplate = `// %s // Code generated by the command above; see README.md. DO NOT EDIT. //go:build %s package plan9 import "unsafe" %s ` dependencies/pkg/mod/golang.org/x/sys@v0.26.0/plan9/asm_plan9_amd64.s0000644000000000000000000000130015107355264023705 0ustar rootroot// 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. #include "textflag.h" // // System call support for amd64, Plan 9 // // 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 ·RawSyscall(SB),NOSPLIT,$0-56 JMP syscall·RawSyscall(SB) TEXT ·RawSyscall6(SB),NOSPLIT,$0-80 JMP syscall·RawSyscall6(SB) TEXT ·seek(SB),NOSPLIT,$0-56 JMP syscall·seek(SB) TEXT ·exit(SB),NOSPLIT,$8-8 JMP syscall·exit(SB) dependencies/pkg/mod/golang.org/x/sys@v0.26.0/plan9/race0.go0000644000000000000000000000070215107355264022171 0ustar rootroot// 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. //go:build plan9 && !race package plan9 import ( "unsafe" ) const raceenabled = false func raceAcquire(addr unsafe.Pointer) { } func raceReleaseMerge(addr unsafe.Pointer) { } func raceReadRange(addr unsafe.Pointer, len int) { } func raceWriteRange(addr unsafe.Pointer, len int) { } dependencies/pkg/mod/golang.org/x/sys@v0.26.0/plan9/asm.s0000644000000000000000000000032615107355264021616 0ustar rootroot// 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. #include "textflag.h" TEXT ·use(SB),NOSPLIT,$0 RET dependencies/pkg/mod/golang.org/x/sys@v0.26.0/plan9/mkerrors.sh0000644000000000000000000001366415107355264023063 0ustar rootroot#!/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 CC=${CC:-gcc} uname=$(uname) includes=' #include #include #include #include #include #include #include #include #include #include #include #include #include ' ccflags="$@" # Write go tool cgo -godefs input. ( echo package plan9 echo echo '/*' indirect="includes_$(uname)" echo "${!indirect} $includes" echo '*/' echo 'import "C"' 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 !~ /^ETH_/ && $2 !~ /^EPROC_/ && $2 !~ /^EQUIV_/ && $2 !~ /^EXPR_/ && $2 ~ /^E[A-Z0-9_]+$/ || $2 ~ /^B[0-9_]+$/ || $2 ~ /^V[A-Z0-9]+$/ || $2 ~ /^CS[A-Z0-9]/ || $2 ~ /^I(SIG|CANON|CRNL|EXTEN|MAXBEL|STRIP|UTF8)$/ || $2 ~ /^IGN/ || $2 ~ /^IX(ON|ANY|OFF)$/ || $2 ~ /^IN(LCR|PCK)$/ || $2 ~ /(^FLU?SH)|(FLU?SH$)/ || $2 ~ /^C(LOCAL|READ)$/ || $2 == "BRKINT" || $2 == "HUPCL" || $2 == "PENDIN" || $2 == "TOSTOP" || $2 ~ /^PAR/ || $2 ~ /^SIG[^_]/ || $2 ~ /^O[CNPFP][A-Z]+[^_][A-Z]+$/ || $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 == "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|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 !~ "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|NOFILE|STACK)|RLIM_INFINITY/ || $2 ~ /^PRIO_(PROCESS|PGRP|USER)/ || $2 ~ /^CLONE_[A-Z_]+/ || $2 !~ /^(BPF_TIMEVAL)$/ && $2 ~ /^(BPF|DLT)_/ || $2 !~ "WMESGLEN" && $2 ~ /^W[A-Z0-9]+$/ {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 }' | grep -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]*=" }' | grep -v 'SIGSTKSIZE\|SIGSTKSZ\|SIGRT' | sort >_signal.grep echo '// mkerrors.sh' "$@" echo '// Code generated by the command above; DO NOT EDIT.' 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/=\(.*\)/= Errno(\1)/' echo ')' echo echo '// Signals' echo 'const (' cat _error.out | grep -f _signal.grep | sed 's/=\(.*\)/= 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, j, 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 dependencies/pkg/mod/golang.org/x/sys@v0.26.0/plan9/dir_plan9.go0000644000000000000000000001314615107355264023066 0ustar rootroot// 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. // Plan 9 directory marshalling. See intro(5). package plan9 import "errors" var ( ErrShortStat = errors.New("stat buffer too short") ErrBadStat = errors.New("malformed stat buffer") ErrBadName = errors.New("bad character in file name") ) // A Qid represents a 9P server's unique identification for a file. type Qid struct { Path uint64 // the file server's unique identification for the file Vers uint32 // version number for given Path Type uint8 // the type of the file (plan9.QTDIR for example) } // A Dir contains the metadata for a file. type Dir struct { // system-modified data Type uint16 // server type Dev uint32 // server subtype // file data Qid Qid // unique id from server Mode uint32 // permissions Atime uint32 // last read time Mtime uint32 // last write time Length int64 // file length Name string // last element of path Uid string // owner name Gid string // group name Muid string // last modifier name } var nullDir = Dir{ Type: ^uint16(0), Dev: ^uint32(0), Qid: Qid{ Path: ^uint64(0), Vers: ^uint32(0), Type: ^uint8(0), }, Mode: ^uint32(0), Atime: ^uint32(0), Mtime: ^uint32(0), Length: ^int64(0), } // Null assigns special "don't touch" values to members of d to // avoid modifying them during plan9.Wstat. func (d *Dir) Null() { *d = nullDir } // Marshal encodes a 9P stat message corresponding to d into b // // If there isn't enough space in b for a stat message, ErrShortStat is returned. func (d *Dir) Marshal(b []byte) (n int, err error) { n = STATFIXLEN + len(d.Name) + len(d.Uid) + len(d.Gid) + len(d.Muid) if n > len(b) { return n, ErrShortStat } for _, c := range d.Name { if c == '/' { return n, ErrBadName } } b = pbit16(b, uint16(n)-2) b = pbit16(b, d.Type) b = pbit32(b, d.Dev) b = pbit8(b, d.Qid.Type) b = pbit32(b, d.Qid.Vers) b = pbit64(b, d.Qid.Path) b = pbit32(b, d.Mode) b = pbit32(b, d.Atime) b = pbit32(b, d.Mtime) b = pbit64(b, uint64(d.Length)) b = pstring(b, d.Name) b = pstring(b, d.Uid) b = pstring(b, d.Gid) b = pstring(b, d.Muid) return n, nil } // UnmarshalDir decodes a single 9P stat message from b and returns the resulting Dir. // // If b is too small to hold a valid stat message, ErrShortStat is returned. // // If the stat message itself is invalid, ErrBadStat is returned. func UnmarshalDir(b []byte) (*Dir, error) { if len(b) < STATFIXLEN { return nil, ErrShortStat } size, buf := gbit16(b) if len(b) != int(size)+2 { return nil, ErrBadStat } b = buf var d Dir d.Type, b = gbit16(b) d.Dev, b = gbit32(b) d.Qid.Type, b = gbit8(b) d.Qid.Vers, b = gbit32(b) d.Qid.Path, b = gbit64(b) d.Mode, b = gbit32(b) d.Atime, b = gbit32(b) d.Mtime, b = gbit32(b) n, b := gbit64(b) d.Length = int64(n) var ok bool if d.Name, b, ok = gstring(b); !ok { return nil, ErrBadStat } if d.Uid, b, ok = gstring(b); !ok { return nil, ErrBadStat } if d.Gid, b, ok = gstring(b); !ok { return nil, ErrBadStat } if d.Muid, b, ok = gstring(b); !ok { return nil, ErrBadStat } return &d, nil } // pbit8 copies the 8-bit number v to b and returns the remaining slice of b. func pbit8(b []byte, v uint8) []byte { b[0] = byte(v) return b[1:] } // pbit16 copies the 16-bit number v to b in little-endian order and returns the remaining slice of b. func pbit16(b []byte, v uint16) []byte { b[0] = byte(v) b[1] = byte(v >> 8) return b[2:] } // pbit32 copies the 32-bit number v to b in little-endian order and returns the remaining slice of b. func pbit32(b []byte, v uint32) []byte { b[0] = byte(v) b[1] = byte(v >> 8) b[2] = byte(v >> 16) b[3] = byte(v >> 24) return b[4:] } // pbit64 copies the 64-bit number v to b in little-endian order and returns the remaining slice of b. func pbit64(b []byte, v uint64) []byte { b[0] = byte(v) b[1] = byte(v >> 8) b[2] = byte(v >> 16) b[3] = byte(v >> 24) b[4] = byte(v >> 32) b[5] = byte(v >> 40) b[6] = byte(v >> 48) b[7] = byte(v >> 56) return b[8:] } // pstring copies the string s to b, prepending it with a 16-bit length in little-endian order, and // returning the remaining slice of b.. func pstring(b []byte, s string) []byte { b = pbit16(b, uint16(len(s))) n := copy(b, s) return b[n:] } // gbit8 reads an 8-bit number from b and returns it with the remaining slice of b. func gbit8(b []byte) (uint8, []byte) { return uint8(b[0]), b[1:] } // gbit16 reads a 16-bit number in little-endian order from b and returns it with the remaining slice of b. func gbit16(b []byte) (uint16, []byte) { return uint16(b[0]) | uint16(b[1])<<8, b[2:] } // gbit32 reads a 32-bit number in little-endian order from b and returns it with the remaining slice of b. func gbit32(b []byte) (uint32, []byte) { return uint32(b[0]) | uint32(b[1])<<8 | uint32(b[2])<<16 | uint32(b[3])<<24, b[4:] } // gbit64 reads a 64-bit number in little-endian order from b and returns it with the remaining slice of b. func gbit64(b []byte) (uint64, []byte) { lo := uint32(b[0]) | uint32(b[1])<<8 | uint32(b[2])<<16 | uint32(b[3])<<24 hi := uint32(b[4]) | uint32(b[5])<<8 | uint32(b[6])<<16 | uint32(b[7])<<24 return uint64(lo) | uint64(hi)<<32, b[8:] } // gstring reads a string from b, prefixed with a 16-bit length in little-endian order. // It returns the string with the remaining slice of b and a boolean. If the length is // greater than the number of bytes in b, the boolean will be false. func gstring(b []byte) (string, []byte, bool) { n, b := gbit16(b) if int(n) > len(b) { return "", b, false } return string(b[:n]), b[n:], true } dependencies/pkg/mod/golang.org/x/sys@v0.26.0/plan9/zsyscall_plan9_arm.go0000644000000000000000000001430415107355264025010 0ustar rootroot// go run mksyscall.go -l32 -plan9 -tags plan9,arm syscall_plan9.go // Code generated by the command above; see README.md. DO NOT EDIT. //go:build plan9 && arm package plan9 import "unsafe" // THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT func fd2path(fd int, buf []byte) (err error) { var _p0 unsafe.Pointer if len(buf) > 0 { _p0 = unsafe.Pointer(&buf[0]) } else { _p0 = unsafe.Pointer(&_zero) } r0, _, e1 := Syscall(SYS_FD2PATH, uintptr(fd), uintptr(_p0), uintptr(len(buf))) if int32(r0) == -1 { err = e1 } return } // THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT func pipe(p *[2]int32) (err error) { r0, _, e1 := Syscall(SYS_PIPE, uintptr(unsafe.Pointer(p)), 0, 0) if int32(r0) == -1 { err = e1 } return } // THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT func await(s []byte) (n int, err error) { var _p0 unsafe.Pointer if len(s) > 0 { _p0 = unsafe.Pointer(&s[0]) } else { _p0 = unsafe.Pointer(&_zero) } r0, _, e1 := Syscall(SYS_AWAIT, uintptr(_p0), uintptr(len(s)), 0) n = int(r0) if int32(r0) == -1 { err = e1 } return } // THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT func open(path string, mode int) (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), 0) fd = int(r0) if int32(r0) == -1 { err = e1 } return } // THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT func create(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_CREATE, uintptr(unsafe.Pointer(_p0)), uintptr(mode), uintptr(perm)) fd = int(r0) if int32(r0) == -1 { err = e1 } return } // THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT func remove(path string) (err error) { var _p0 *byte _p0, err = BytePtrFromString(path) if err != nil { return } r0, _, e1 := Syscall(SYS_REMOVE, uintptr(unsafe.Pointer(_p0)), 0, 0) if int32(r0) == -1 { err = e1 } return } // THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT func stat(path string, edir []byte) (n int, err error) { var _p0 *byte _p0, err = BytePtrFromString(path) if err != nil { return } var _p1 unsafe.Pointer if len(edir) > 0 { _p1 = unsafe.Pointer(&edir[0]) } else { _p1 = unsafe.Pointer(&_zero) } r0, _, e1 := Syscall(SYS_STAT, uintptr(unsafe.Pointer(_p0)), uintptr(_p1), uintptr(len(edir))) n = int(r0) if int32(r0) == -1 { err = e1 } return } // THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT func bind(name string, old string, flag int) (err error) { var _p0 *byte _p0, err = BytePtrFromString(name) if err != nil { return } var _p1 *byte _p1, err = BytePtrFromString(old) if err != nil { return } r0, _, e1 := Syscall(SYS_BIND, uintptr(unsafe.Pointer(_p0)), uintptr(unsafe.Pointer(_p1)), uintptr(flag)) if int32(r0) == -1 { err = e1 } return } // THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT func mount(fd int, afd int, old string, flag int, aname string) (err error) { var _p0 *byte _p0, err = BytePtrFromString(old) if err != nil { return } var _p1 *byte _p1, err = BytePtrFromString(aname) if err != nil { return } r0, _, e1 := Syscall6(SYS_MOUNT, uintptr(fd), uintptr(afd), uintptr(unsafe.Pointer(_p0)), uintptr(flag), uintptr(unsafe.Pointer(_p1)), 0) if int32(r0) == -1 { err = e1 } return } // THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT func wstat(path string, edir []byte) (err error) { var _p0 *byte _p0, err = BytePtrFromString(path) if err != nil { return } var _p1 unsafe.Pointer if len(edir) > 0 { _p1 = unsafe.Pointer(&edir[0]) } else { _p1 = unsafe.Pointer(&_zero) } r0, _, e1 := Syscall(SYS_WSTAT, uintptr(unsafe.Pointer(_p0)), uintptr(_p1), uintptr(len(edir))) if int32(r0) == -1 { err = 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 } r0, _, e1 := Syscall(SYS_CHDIR, uintptr(unsafe.Pointer(_p0)), 0, 0) if int32(r0) == -1 { err = e1 } return } // THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT func Dup(oldfd int, newfd int) (fd int, err error) { r0, _, e1 := Syscall(SYS_DUP, uintptr(oldfd), uintptr(newfd), 0) fd = int(r0) if int32(r0) == -1 { err = 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 int32(r0) == -1 { err = 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 int32(r0) == -1 { err = e1 } return } // THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT func Close(fd int) (err error) { r0, _, e1 := Syscall(SYS_CLOSE, uintptr(fd), 0, 0) if int32(r0) == -1 { err = e1 } return } // THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT func Fstat(fd int, edir []byte) (n int, err error) { var _p0 unsafe.Pointer if len(edir) > 0 { _p0 = unsafe.Pointer(&edir[0]) } else { _p0 = unsafe.Pointer(&_zero) } r0, _, e1 := Syscall(SYS_FSTAT, uintptr(fd), uintptr(_p0), uintptr(len(edir))) n = int(r0) if int32(r0) == -1 { err = e1 } return } // THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT func Fwstat(fd int, edir []byte) (err error) { var _p0 unsafe.Pointer if len(edir) > 0 { _p0 = unsafe.Pointer(&edir[0]) } else { _p0 = unsafe.Pointer(&_zero) } r0, _, e1 := Syscall(SYS_FWSTAT, uintptr(fd), uintptr(_p0), uintptr(len(edir))) if int32(r0) == -1 { err = e1 } return } dependencies/pkg/mod/golang.org/x/sys@v0.26.0/plan9/syscall_plan9.go0000644000000000000000000001606015107355264023760 0ustar rootroot// 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. // Plan 9 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 plan9 import ( "bytes" "syscall" "unsafe" ) // A Note is a string describing a process note. // It implements the os.Signal interface. type Note string func (n Note) Signal() {} func (n Note) String() string { return string(n) } var ( Stdin = 0 Stdout = 1 Stderr = 2 ) // For testing: clients can set this flag to force // creation of IPv6 sockets to return EAFNOSUPPORT. var SocketDisableIPv6 bool func Syscall(trap, a1, a2, a3 uintptr) (r1, r2 uintptr, err syscall.ErrorString) func Syscall6(trap, a1, a2, a3, a4, a5, a6 uintptr) (r1, r2 uintptr, err syscall.ErrorString) func RawSyscall(trap, a1, a2, a3 uintptr) (r1, r2, err uintptr) func RawSyscall6(trap, a1, a2, a3, a4, a5, a6 uintptr) (r1, r2, err uintptr) func atoi(b []byte) (n uint) { n = 0 for i := 0; i < len(b); i++ { n = n*10 + uint(b[i]-'0') } return } func cstring(s []byte) string { i := bytes.IndexByte(s, 0) if i == -1 { i = len(s) } return string(s[:i]) } func errstr() string { var buf [ERRMAX]byte RawSyscall(SYS_ERRSTR, uintptr(unsafe.Pointer(&buf[0])), uintptr(len(buf)), 0) buf[len(buf)-1] = 0 return cstring(buf[:]) } // Implemented in assembly to import from runtime. func exit(code int) func Exit(code int) { exit(code) } func readnum(path string) (uint, error) { var b [12]byte fd, e := Open(path, O_RDONLY) if e != nil { return 0, e } defer Close(fd) n, e := Pread(fd, b[:], 0) if e != nil { return 0, e } m := 0 for ; m < n && b[m] == ' '; m++ { } return atoi(b[m : n-1]), nil } func Getpid() (pid int) { n, _ := readnum("#c/pid") return int(n) } func Getppid() (ppid int) { n, _ := readnum("#c/ppid") return int(n) } func Read(fd int, p []byte) (n int, err error) { return Pread(fd, p, -1) } func Write(fd int, p []byte) (n int, err error) { return Pwrite(fd, p, -1) } var ioSync int64 //sys fd2path(fd int, buf []byte) (err error) func Fd2path(fd int) (path string, err error) { var buf [512]byte e := fd2path(fd, buf[:]) if e != nil { return "", e } return cstring(buf[:]), nil } //sys pipe(p *[2]int32) (err error) func Pipe(p []int) (err error) { if len(p) != 2 { return syscall.ErrorString("bad arg in system call") } var pp [2]int32 err = pipe(&pp) if err == nil { 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(placeholder uintptr, fd int, offset int64, whence int) (newoffset int64, err string) func Seek(fd int, offset int64, whence int) (newoffset int64, err error) { newoffset, e := seek(0, fd, offset, whence) if newoffset == -1 { err = syscall.ErrorString(e) } return } func Mkdir(path string, mode uint32) (err error) { fd, err := Create(path, O_RDONLY, DMDIR|mode) if fd != -1 { Close(fd) } return } type Waitmsg struct { Pid int Time [3]uint32 Msg string } func (w Waitmsg) Exited() bool { return true } func (w Waitmsg) Signaled() bool { return false } func (w Waitmsg) ExitStatus() int { if len(w.Msg) == 0 { // a normal exit returns no message return 0 } return 1 } //sys await(s []byte) (n int, err error) func Await(w *Waitmsg) (err error) { var buf [512]byte var f [5][]byte n, err := await(buf[:]) if err != nil || w == nil { return } nf := 0 p := 0 for i := 0; i < n && nf < len(f)-1; i++ { if buf[i] == ' ' { f[nf] = buf[p:i] p = i + 1 nf++ } } f[nf] = buf[p:] nf++ if nf != len(f) { return syscall.ErrorString("invalid wait message") } w.Pid = int(atoi(f[0])) w.Time[0] = uint32(atoi(f[1])) w.Time[1] = uint32(atoi(f[2])) w.Time[2] = uint32(atoi(f[3])) w.Msg = cstring(f[4]) if w.Msg == "''" { // await() returns '' for no error w.Msg = "" } return } func Unmount(name, old string) (err error) { fixwd() oldp, err := BytePtrFromString(old) if err != nil { return err } oldptr := uintptr(unsafe.Pointer(oldp)) var r0 uintptr var e syscall.ErrorString // bind(2) man page: If name is zero, everything bound or mounted upon old is unbound or unmounted. if name == "" { r0, _, e = Syscall(SYS_UNMOUNT, _zero, oldptr, 0) } else { namep, err := BytePtrFromString(name) if err != nil { return err } r0, _, e = Syscall(SYS_UNMOUNT, uintptr(unsafe.Pointer(namep)), oldptr, 0) } if int32(r0) == -1 { err = e } return } func Fchdir(fd int) (err error) { path, err := Fd2path(fd) if err != nil { return } return Chdir(path) } type Timespec struct { Sec int32 Nsec int32 } type Timeval struct { Sec int32 Usec int32 } 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 nsec() int64 { var scratch int64 r0, _, _ := Syscall(SYS_NSEC, uintptr(unsafe.Pointer(&scratch)), 0, 0) // TODO(aram): remove hack after I fix _nsec in the pc64 kernel. if r0 == 0 { return scratch } return int64(r0) } func Gettimeofday(tv *Timeval) error { nsec := nsec() *tv = NsecToTimeval(nsec) return nil } func Getpagesize() int { return 0x1000 } func Getegid() (egid int) { return -1 } func Geteuid() (euid int) { return -1 } func Getgid() (gid int) { return -1 } func Getuid() (uid int) { return -1 } func Getgroups() (gids []int, err error) { return make([]int, 0), nil } //sys open(path string, mode int) (fd int, err error) func Open(path string, mode int) (fd int, err error) { fixwd() return open(path, mode) } //sys create(path string, mode int, perm uint32) (fd int, err error) func Create(path string, mode int, perm uint32) (fd int, err error) { fixwd() return create(path, mode, perm) } //sys remove(path string) (err error) func Remove(path string) error { fixwd() return remove(path) } //sys stat(path string, edir []byte) (n int, err error) func Stat(path string, edir []byte) (n int, err error) { fixwd() return stat(path, edir) } //sys bind(name string, old string, flag int) (err error) func Bind(name string, old string, flag int) (err error) { fixwd() return bind(name, old, flag) } //sys mount(fd int, afd int, old string, flag int, aname string) (err error) func Mount(fd int, afd int, old string, flag int, aname string) (err error) { fixwd() return mount(fd, afd, old, flag, aname) } //sys wstat(path string, edir []byte) (err error) func Wstat(path string, edir []byte) (err error) { fixwd() return wstat(path, edir) } //sys chdir(path string) (err error) //sys Dup(oldfd int, newfd int) (fd 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 Close(fd int) (err error) //sys Fstat(fd int, edir []byte) (n int, err error) //sys Fwstat(fd int, edir []byte) (err error) dependencies/pkg/mod/golang.org/x/sys@v0.26.0/plan9/mkall.sh0000644000000000000000000001066715107355264022317 0ustar rootroot#!/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. # The plan9 package provides access to the raw system call # interface of the underlying operating system. Porting Go to # a new architecture/operating system combination requires # some manual effort, though there are tools that automate # much of the process. The auto-generated files have names # beginning with z. # # This script runs or (given -n) prints suggested commands to generate z files # for the current system. Running those commands is not automatic. # This script is documentation more than anything else. # # * asm_${GOOS}_${GOARCH}.s # # This hand-written assembly file 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. # # * syscall_${GOOS}.go # # This hand-written Go file implements system calls that need # special handling and lists "//sys" comments giving prototypes # for ones that can be auto-generated. Mksyscall reads those # comments to generate the stubs. # # * syscall_${GOOS}_${GOARCH}.go # # Same as syscall_${GOOS}.go except that it contains code specific # to ${GOOS} on one particular architecture. # # * types_${GOOS}.c # # This hand-written C file includes standard C headers and then # creates typedef or enum names beginning with a dollar sign # (use of $ in variable names is a gcc extension). The hardest # part about preparing this file is figuring out which headers to # include and which symbols need to be #defined to get the # actual data structures that pass through to the kernel system calls. # Some C libraries present 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.c and types_linux.c for examples. # # * zerror_${GOOS}_${GOARCH}.go # # This machine-generated file defines the system's error numbers, # error strings, and signal numbers. The generator is "mkerrors.sh". # Usually no arguments are needed, but mkerrors.sh will pass its # arguments on to godefs. # # * zsyscall_${GOOS}_${GOARCH}.go # # Generated by mksyscall.pl; see syscall_${GOOS}.go above. # # * zsysnum_${GOOS}_${GOARCH}.go # # Generated by mksysnum_${GOOS}. # # * ztypes_${GOOS}_${GOARCH}.go # # Generated by godefs; see types_${GOOS}.c above. GOOSARCH="${GOOS}_${GOARCH}" # defaults mksyscall="go run mksyscall.go" mkerrors="./mkerrors.sh" zerrors="zerrors_$GOOSARCH.go" mksysctl="" zsysctl="zsysctl_$GOOSARCH.go" mksysnum= mktypes= run="sh" case "$1" in -syscalls) for i in zsyscall*go do sed 1q $i | sed 's;^// ;;' | sh > _$i && gofmt < _$i > $i rm _$i done exit 0 ;; -n) run="cat" shift esac case "$#" in 0) ;; *) echo 'usage: mkall.sh [-n]' 1>&2 exit 2 esac case "$GOOSARCH" in _* | *_ | _) echo 'undefined $GOOS_$GOARCH:' "$GOOSARCH" 1>&2 exit 1 ;; plan9_386) mkerrors= mksyscall="go run mksyscall.go -l32 -plan9 -tags plan9,386" mksysnum="./mksysnum_plan9.sh /n/sources/plan9/sys/src/libc/9syscall/sys.h" mktypes="XXX" ;; plan9_amd64) mkerrors= mksyscall="go run mksyscall.go -l32 -plan9 -tags plan9,amd64" mksysnum="./mksysnum_plan9.sh /n/sources/plan9/sys/src/libc/9syscall/sys.h" mktypes="XXX" ;; plan9_arm) mkerrors= mksyscall="go run mksyscall.go -l32 -plan9 -tags plan9,arm" mksysnum="./mksysnum_plan9.sh /n/sources/plan9/sys/src/libc/9syscall/sys.h" mktypes="XXX" ;; *) echo 'unrecognized $GOOS_$GOARCH: ' "$GOOSARCH" 1>&2 exit 1 ;; esac ( if [ -n "$mkerrors" ]; then echo "$mkerrors |gofmt >$zerrors"; fi case "$GOOS" in plan9) syscall_goos="syscall_$GOOS.go" if [ -n "$mksyscall" ]; then echo "$mksyscall $syscall_goos |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 |gofmt >ztypes_$GOOSARCH.go"; fi ) | $run dependencies/pkg/mod/golang.org/x/sys@v0.26.0/plan9/mksysnum_plan9.sh0000644000000000000000000000071315107355264024177 0ustar rootroot#!/bin/sh # 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. COMMAND="mksysnum_plan9.sh $@" cat < 0 { p0 = unsafe.Pointer(&pairs[0]) } else { p0 = unsafe.Pointer(&_zero) } _, _, e1 := syscall.Syscall6(sys_RISCV_HWPROBE, uintptr(p0), uintptr(len(pairs)), uintptr(0), uintptr(0), uintptr(flags), 0) return e1 == 0 } dependencies/pkg/mod/golang.org/x/sys@v0.26.0/cpu/cpu_x86.go0000644000000000000000000001155115107355264022243 0ustar rootroot// Copyright 2018 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:build 386 || amd64 || amd64p32 package cpu import "runtime" const cacheLineSize = 64 func initOptions() { options = []option{ {Name: "adx", Feature: &X86.HasADX}, {Name: "aes", Feature: &X86.HasAES}, {Name: "avx", Feature: &X86.HasAVX}, {Name: "avx2", Feature: &X86.HasAVX2}, {Name: "avx512", Feature: &X86.HasAVX512}, {Name: "avx512f", Feature: &X86.HasAVX512F}, {Name: "avx512cd", Feature: &X86.HasAVX512CD}, {Name: "avx512er", Feature: &X86.HasAVX512ER}, {Name: "avx512pf", Feature: &X86.HasAVX512PF}, {Name: "avx512vl", Feature: &X86.HasAVX512VL}, {Name: "avx512bw", Feature: &X86.HasAVX512BW}, {Name: "avx512dq", Feature: &X86.HasAVX512DQ}, {Name: "avx512ifma", Feature: &X86.HasAVX512IFMA}, {Name: "avx512vbmi", Feature: &X86.HasAVX512VBMI}, {Name: "avx512vnniw", Feature: &X86.HasAVX5124VNNIW}, {Name: "avx5124fmaps", Feature: &X86.HasAVX5124FMAPS}, {Name: "avx512vpopcntdq", Feature: &X86.HasAVX512VPOPCNTDQ}, {Name: "avx512vpclmulqdq", Feature: &X86.HasAVX512VPCLMULQDQ}, {Name: "avx512vnni", Feature: &X86.HasAVX512VNNI}, {Name: "avx512gfni", Feature: &X86.HasAVX512GFNI}, {Name: "avx512vaes", Feature: &X86.HasAVX512VAES}, {Name: "avx512vbmi2", Feature: &X86.HasAVX512VBMI2}, {Name: "avx512bitalg", Feature: &X86.HasAVX512BITALG}, {Name: "avx512bf16", Feature: &X86.HasAVX512BF16}, {Name: "amxtile", Feature: &X86.HasAMXTile}, {Name: "amxint8", Feature: &X86.HasAMXInt8}, {Name: "amxbf16", Feature: &X86.HasAMXBF16}, {Name: "bmi1", Feature: &X86.HasBMI1}, {Name: "bmi2", Feature: &X86.HasBMI2}, {Name: "cx16", Feature: &X86.HasCX16}, {Name: "erms", Feature: &X86.HasERMS}, {Name: "fma", Feature: &X86.HasFMA}, {Name: "osxsave", Feature: &X86.HasOSXSAVE}, {Name: "pclmulqdq", Feature: &X86.HasPCLMULQDQ}, {Name: "popcnt", Feature: &X86.HasPOPCNT}, {Name: "rdrand", Feature: &X86.HasRDRAND}, {Name: "rdseed", Feature: &X86.HasRDSEED}, {Name: "sse3", Feature: &X86.HasSSE3}, {Name: "sse41", Feature: &X86.HasSSE41}, {Name: "sse42", Feature: &X86.HasSSE42}, {Name: "ssse3", Feature: &X86.HasSSSE3}, // These capabilities should always be enabled on amd64: {Name: "sse2", Feature: &X86.HasSSE2, Required: runtime.GOARCH == "amd64"}, } } func archInit() { Initialized = true maxID, _, _, _ := cpuid(0, 0) if maxID < 1 { return } _, _, ecx1, edx1 := cpuid(1, 0) X86.HasSSE2 = isSet(26, edx1) X86.HasSSE3 = isSet(0, ecx1) X86.HasPCLMULQDQ = isSet(1, ecx1) X86.HasSSSE3 = isSet(9, ecx1) X86.HasFMA = isSet(12, ecx1) X86.HasCX16 = isSet(13, ecx1) X86.HasSSE41 = isSet(19, ecx1) X86.HasSSE42 = isSet(20, ecx1) X86.HasPOPCNT = isSet(23, ecx1) X86.HasAES = isSet(25, ecx1) X86.HasOSXSAVE = isSet(27, ecx1) X86.HasRDRAND = isSet(30, ecx1) var osSupportsAVX, osSupportsAVX512 bool // For XGETBV, OSXSAVE bit is required and sufficient. if X86.HasOSXSAVE { eax, _ := xgetbv() // Check if XMM and YMM registers have OS support. osSupportsAVX = isSet(1, eax) && isSet(2, eax) if runtime.GOOS == "darwin" { // Darwin doesn't save/restore AVX-512 mask registers correctly across signal handlers. // Since users can't rely on mask register contents, let's not advertise AVX-512 support. // See issue 49233. osSupportsAVX512 = false } else { // Check if OPMASK and ZMM registers have OS support. osSupportsAVX512 = osSupportsAVX && isSet(5, eax) && isSet(6, eax) && isSet(7, eax) } } X86.HasAVX = isSet(28, ecx1) && osSupportsAVX if maxID < 7 { return } _, ebx7, ecx7, edx7 := cpuid(7, 0) X86.HasBMI1 = isSet(3, ebx7) X86.HasAVX2 = isSet(5, ebx7) && osSupportsAVX X86.HasBMI2 = isSet(8, ebx7) X86.HasERMS = isSet(9, ebx7) X86.HasRDSEED = isSet(18, ebx7) X86.HasADX = isSet(19, ebx7) X86.HasAVX512 = isSet(16, ebx7) && osSupportsAVX512 // Because avx-512 foundation is the core required extension if X86.HasAVX512 { X86.HasAVX512F = true X86.HasAVX512CD = isSet(28, ebx7) X86.HasAVX512ER = isSet(27, ebx7) X86.HasAVX512PF = isSet(26, ebx7) X86.HasAVX512VL = isSet(31, ebx7) X86.HasAVX512BW = isSet(30, ebx7) X86.HasAVX512DQ = isSet(17, ebx7) X86.HasAVX512IFMA = isSet(21, ebx7) X86.HasAVX512VBMI = isSet(1, ecx7) X86.HasAVX5124VNNIW = isSet(2, edx7) X86.HasAVX5124FMAPS = isSet(3, edx7) X86.HasAVX512VPOPCNTDQ = isSet(14, ecx7) X86.HasAVX512VPCLMULQDQ = isSet(10, ecx7) X86.HasAVX512VNNI = isSet(11, ecx7) X86.HasAVX512GFNI = isSet(8, ecx7) X86.HasAVX512VAES = isSet(9, ecx7) X86.HasAVX512VBMI2 = isSet(6, ecx7) X86.HasAVX512BITALG = isSet(12, ecx7) eax71, _, _, _ := cpuid(7, 1) X86.HasAVX512BF16 = isSet(5, eax71) } X86.HasAMXTile = isSet(24, edx7) X86.HasAMXInt8 = isSet(25, edx7) X86.HasAMXBF16 = isSet(22, edx7) } func isSet(bitpos uint, value uint32) bool { return value&(1<>(index%64)) != 0 } // facility is a bit index for the named facility. type facility uint8 const ( // mandatory facilities zarch facility = 1 // z architecture mode is active stflef facility = 7 // store-facility-list-extended ldisp facility = 18 // long-displacement eimm facility = 21 // extended-immediate // miscellaneous facilities dfp facility = 42 // decimal-floating-point etf3eh facility = 30 // extended-translation 3 enhancement // cryptography facilities msa facility = 17 // message-security-assist msa3 facility = 76 // message-security-assist extension 3 msa4 facility = 77 // message-security-assist extension 4 msa5 facility = 57 // message-security-assist extension 5 msa8 facility = 146 // message-security-assist extension 8 msa9 facility = 155 // message-security-assist extension 9 // vector facilities vx facility = 129 // vector facility vxe facility = 135 // vector-enhancements 1 vxe2 facility = 148 // vector-enhancements 2 ) // facilityList contains the result of an STFLE call. // Bits are numbered in big endian order so the // leftmost bit (the MSB) is at index 0. type facilityList struct { bits [4]uint64 } // Has reports whether the given facilities are present. func (s *facilityList) Has(fs ...facility) bool { if len(fs) == 0 { panic("no facility bits provided") } for _, f := range fs { if !bitIsSet(s.bits[:], uint(f)) { return false } } return true } // function is the code for the named cryptographic function. type function uint8 const ( // KM{,A,C,CTR} function codes aes128 function = 18 // AES-128 aes192 function = 19 // AES-192 aes256 function = 20 // AES-256 // K{I,L}MD function codes sha1 function = 1 // SHA-1 sha256 function = 2 // SHA-256 sha512 function = 3 // SHA-512 sha3_224 function = 32 // SHA3-224 sha3_256 function = 33 // SHA3-256 sha3_384 function = 34 // SHA3-384 sha3_512 function = 35 // SHA3-512 shake128 function = 36 // SHAKE-128 shake256 function = 37 // SHAKE-256 // KLMD function codes ghash function = 65 // GHASH ) // queryResult contains the result of a Query function // call. Bits are numbered in big endian order so the // leftmost bit (the MSB) is at index 0. type queryResult struct { bits [2]uint64 } // Has reports whether the given functions are present. func (q *queryResult) Has(fns ...function) bool { if len(fns) == 0 { panic("no function codes provided") } for _, f := range fns { if !bitIsSet(q.bits[:], uint(f)) { return false } } return true } func doinit() { initS390Xbase() // We need implementations of stfle, km and so on // to detect cryptographic features. if !haveAsmFunctions() { return } // optional cryptographic functions if S390X.HasMSA { aes := []function{aes128, aes192, aes256} // cipher message km, kmc := kmQuery(), kmcQuery() S390X.HasAES = km.Has(aes...) S390X.HasAESCBC = kmc.Has(aes...) if S390X.HasSTFLE { facilities := stfle() if facilities.Has(msa4) { kmctr := kmctrQuery() S390X.HasAESCTR = kmctr.Has(aes...) } if facilities.Has(msa8) { kma := kmaQuery() S390X.HasAESGCM = kma.Has(aes...) } } // compute message digest kimd := kimdQuery() // intermediate (no padding) klmd := klmdQuery() // last (padding) S390X.HasSHA1 = kimd.Has(sha1) && klmd.Has(sha1) S390X.HasSHA256 = kimd.Has(sha256) && klmd.Has(sha256) S390X.HasSHA512 = kimd.Has(sha512) && klmd.Has(sha512) S390X.HasGHASH = kimd.Has(ghash) // KLMD-GHASH does not exist sha3 := []function{ sha3_224, sha3_256, sha3_384, sha3_512, shake128, shake256, } S390X.HasSHA3 = kimd.Has(sha3...) && klmd.Has(sha3...) } } dependencies/pkg/mod/golang.org/x/sys@v0.26.0/cpu/asm_aix_ppc64.s0000644000000000000000000000062715107355264023243 0ustar rootroot// Copyright 2018 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:build gc #include "textflag.h" // // System calls for ppc64, AIX are implemented in runtime/syscall_aix.go // TEXT ·syscall6(SB),NOSPLIT,$0-88 JMP syscall·syscall6(SB) TEXT ·rawSyscall6(SB),NOSPLIT,$0-88 JMP syscall·rawSyscall6(SB) dependencies/pkg/mod/golang.org/x/sys@v0.26.0/cpu/endian_big.go0000644000000000000000000000061515107355264023025 0ustar rootroot// Copyright 2023 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:build armbe || arm64be || m68k || mips || mips64 || mips64p32 || ppc || ppc64 || s390 || s390x || shbe || sparc || sparc64 package cpu // IsBigEndian records whether the GOARCH's byte order is big endian. const IsBigEndian = true dependencies/pkg/mod/golang.org/x/sys@v0.26.0/cpu/endian_test.go0000644000000000000000000000067115107355264023245 0ustar rootroot// Copyright 2023 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 cpu_test import ( "testing" "unsafe" "golang.org/x/sys/cpu" ) func TestIsBigEndian(t *testing.T) { b := uint16(0xff00) want := *(*byte)(unsafe.Pointer(&b)) == 0xff if cpu.IsBigEndian != want { t.Errorf("IsBigEndian = %t, want %t", cpu.IsBigEndian, want) } } dependencies/pkg/mod/golang.org/x/sys@v0.26.0/cpu/cpu_loong64.go0000644000000000000000000000036215107355264023104 0ustar rootroot// Copyright 2022 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:build loong64 package cpu const cacheLineSize = 64 func initOptions() { } dependencies/pkg/mod/golang.org/x/sys@v0.26.0/cpu/cpu_s390x_test.go0000644000000000000000000000371115107355264023542 0ustar rootroot// Copyright 2020 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 cpu_test import ( "runtime" "testing" "unsafe" "golang.org/x/sys/cpu" ) var s390xTests = []struct { name string feature bool facility uint mandatory bool }{ {"ZARCH", cpu.S390X.HasZARCH, 1, true}, {"STFLE", cpu.S390X.HasSTFLE, 7, true}, {"LDISP", cpu.S390X.HasLDISP, 18, true}, {"EIMM", cpu.S390X.HasEIMM, 21, true}, {"DFP", cpu.S390X.HasDFP, 42, false}, {"MSA", cpu.S390X.HasMSA, 17, false}, {"VX", cpu.S390X.HasVX, 129, false}, {"VXE", cpu.S390X.HasVXE, 135, false}, } // bitIsSet reports whether the bit at index is set. The bit index // is in big endian order, so bit index 0 is the leftmost bit. func bitIsSet(bits [4]uint64, i uint) bool { return bits[i/64]&((1<<63)>>(i%64)) != 0 } // facilityList contains the contents of location 200 on zos. // Bits are numbered in big endian order so the // leftmost bit (the MSB) is at index 0. type facilityList struct { bits [4]uint64 } func TestS390XVectorFacilityFeatures(t *testing.T) { // vector-enhancements require vector facility to be enabled if cpu.S390X.HasVXE && !cpu.S390X.HasVX { t.Error("HasVX expected true, got false (VXE is true)") } } func TestS390XMandatoryFeatures(t *testing.T) { for _, tc := range s390xTests { if tc.mandatory && !tc.feature { t.Errorf("Feature %s is mandatory but is not present", tc.name) } } } func TestS390XFeatures(t *testing.T) { if runtime.GOOS != "zos" { return } // Read available facilities from address 200. facilitiesAddress := uintptr(200) var facilities facilityList for i := 0; i < 4; i++ { facilities.bits[i] = *(*uint64)(unsafe.Pointer(facilitiesAddress + uintptr(8*i))) } for _, tc := range s390xTests { if want := bitIsSet(facilities.bits, tc.facility); want != tc.feature { t.Errorf("Feature %s expected %v, got %v", tc.name, want, tc.feature) } } } dependencies/pkg/mod/golang.org/x/sys@v0.26.0/cpu/endian_little.go0000644000000000000000000000066115107355264023562 0ustar rootroot// Copyright 2023 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:build 386 || amd64 || amd64p32 || alpha || arm || arm64 || loong64 || mipsle || mips64le || mips64p32le || nios2 || ppc64le || riscv || riscv64 || sh || wasm package cpu // IsBigEndian records whether the GOARCH's byte order is big endian. const IsBigEndian = false dependencies/pkg/mod/golang.org/x/sys@v0.26.0/cpu/syscall_aix_gccgo.go0000644000000000000000000000132615107355264024423 0ustar rootroot// Copyright 2020 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. // Recreate a getsystemcfg syscall handler instead of // using the one provided by x/sys/unix to avoid having // the dependency between them. (See golang.org/issue/32102) // Moreover, this file will be used during the building of // gccgo's libgo and thus must not used a CGo method. //go:build aix && gccgo package cpu import ( "syscall" ) //extern getsystemcfg func gccgoGetsystemcfg(label uint32) (r uint64) func callgetsystemcfg(label int) (r1 uintptr, e1 syscall.Errno) { r1 = uintptr(gccgoGetsystemcfg(uint32(label))) e1 = syscall.GetErrno() return } dependencies/pkg/mod/golang.org/x/sys@v0.26.0/cpu/runtime_auxv.go0000644000000000000000000000061115107355264023470 0ustar rootroot// Copyright 2023 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 cpu // getAuxvFn is non-nil on Go 1.21+ (via runtime_auxv_go121.go init) // on platforms that use auxv. var getAuxvFn func() []uintptr func getAuxv() []uintptr { if getAuxvFn == nil { return nil } return getAuxvFn() } dependencies/pkg/mod/golang.org/x/sys@v0.26.0/cpu/cpu_zos.go0000644000000000000000000000033715107355264022431 0ustar rootroot// Copyright 2020 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 cpu func archInit() { doinit() Initialized = true } dependencies/pkg/mod/golang.org/x/sys@v0.26.0/cpu/cpu_openbsd_arm64.s0000644000000000000000000000057015107355264024115 0ustar rootroot// Copyright 2022 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. #include "textflag.h" TEXT libc_sysctl_trampoline<>(SB),NOSPLIT,$0-0 JMP libc_sysctl(SB) GLOBL ·libc_sysctl_trampoline_addr(SB), RODATA, $8 DATA ·libc_sysctl_trampoline_addr(SB)/8, $libc_sysctl_trampoline<>(SB) dependencies/pkg/mod/golang.org/x/sys@v0.26.0/cpu/cpu_gccgo_x86.c0000644000000000000000000000210715107355264023217 0ustar rootroot// Copyright 2018 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:build (386 || amd64 || amd64p32) && gccgo #include #include #include // Need to wrap __get_cpuid_count because it's declared as static. int gccgoGetCpuidCount(uint32_t leaf, uint32_t subleaf, uint32_t *eax, uint32_t *ebx, uint32_t *ecx, uint32_t *edx) { return __get_cpuid_count(leaf, subleaf, eax, ebx, ecx, edx); } #pragma GCC diagnostic ignored "-Wunknown-pragmas" #pragma GCC push_options #pragma GCC target("xsave") #pragma clang attribute push (__attribute__((target("xsave"))), apply_to=function) // xgetbv reads the contents of an XCR (Extended Control Register) // specified in the ECX register into registers EDX:EAX. // Currently, the only supported value for XCR is 0. void gccgoXgetbv(uint32_t *eax, uint32_t *edx) { uint64_t v = _xgetbv(0); *eax = v & 0xffffffff; *edx = v >> 32; } #pragma clang attribute pop #pragma GCC pop_options dependencies/pkg/mod/golang.org/x/sys@v0.26.0/cpu/cpu_arm.go0000644000000000000000000000416315107355264022376 0ustar rootroot// Copyright 2018 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 cpu const cacheLineSize = 32 // HWCAP/HWCAP2 bits. // These are specific to Linux. const ( hwcap_SWP = 1 << 0 hwcap_HALF = 1 << 1 hwcap_THUMB = 1 << 2 hwcap_26BIT = 1 << 3 hwcap_FAST_MULT = 1 << 4 hwcap_FPA = 1 << 5 hwcap_VFP = 1 << 6 hwcap_EDSP = 1 << 7 hwcap_JAVA = 1 << 8 hwcap_IWMMXT = 1 << 9 hwcap_CRUNCH = 1 << 10 hwcap_THUMBEE = 1 << 11 hwcap_NEON = 1 << 12 hwcap_VFPv3 = 1 << 13 hwcap_VFPv3D16 = 1 << 14 hwcap_TLS = 1 << 15 hwcap_VFPv4 = 1 << 16 hwcap_IDIVA = 1 << 17 hwcap_IDIVT = 1 << 18 hwcap_VFPD32 = 1 << 19 hwcap_LPAE = 1 << 20 hwcap_EVTSTRM = 1 << 21 hwcap2_AES = 1 << 0 hwcap2_PMULL = 1 << 1 hwcap2_SHA1 = 1 << 2 hwcap2_SHA2 = 1 << 3 hwcap2_CRC32 = 1 << 4 ) func initOptions() { options = []option{ {Name: "pmull", Feature: &ARM.HasPMULL}, {Name: "sha1", Feature: &ARM.HasSHA1}, {Name: "sha2", Feature: &ARM.HasSHA2}, {Name: "swp", Feature: &ARM.HasSWP}, {Name: "thumb", Feature: &ARM.HasTHUMB}, {Name: "thumbee", Feature: &ARM.HasTHUMBEE}, {Name: "tls", Feature: &ARM.HasTLS}, {Name: "vfp", Feature: &ARM.HasVFP}, {Name: "vfpd32", Feature: &ARM.HasVFPD32}, {Name: "vfpv3", Feature: &ARM.HasVFPv3}, {Name: "vfpv3d16", Feature: &ARM.HasVFPv3D16}, {Name: "vfpv4", Feature: &ARM.HasVFPv4}, {Name: "half", Feature: &ARM.HasHALF}, {Name: "26bit", Feature: &ARM.Has26BIT}, {Name: "fastmul", Feature: &ARM.HasFASTMUL}, {Name: "fpa", Feature: &ARM.HasFPA}, {Name: "edsp", Feature: &ARM.HasEDSP}, {Name: "java", Feature: &ARM.HasJAVA}, {Name: "iwmmxt", Feature: &ARM.HasIWMMXT}, {Name: "crunch", Feature: &ARM.HasCRUNCH}, {Name: "neon", Feature: &ARM.HasNEON}, {Name: "idivt", Feature: &ARM.HasIDIVT}, {Name: "idiva", Feature: &ARM.HasIDIVA}, {Name: "lpae", Feature: &ARM.HasLPAE}, {Name: "evtstrm", Feature: &ARM.HasEVTSTRM}, {Name: "aes", Feature: &ARM.HasAES}, {Name: "crc32", Feature: &ARM.HasCRC32}, } } dependencies/pkg/mod/golang.org/x/sys@v0.26.0/cpu/cpu_arm64.go0000644000000000000000000001013415107355264022543 0ustar rootroot// Copyright 2019 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 cpu import "runtime" // cacheLineSize is used to prevent false sharing of cache lines. // We choose 128 because Apple Silicon, a.k.a. M1, has 128-byte cache line size. // It doesn't cost much and is much more future-proof. const cacheLineSize = 128 func initOptions() { options = []option{ {Name: "fp", Feature: &ARM64.HasFP}, {Name: "asimd", Feature: &ARM64.HasASIMD}, {Name: "evstrm", Feature: &ARM64.HasEVTSTRM}, {Name: "aes", Feature: &ARM64.HasAES}, {Name: "fphp", Feature: &ARM64.HasFPHP}, {Name: "jscvt", Feature: &ARM64.HasJSCVT}, {Name: "lrcpc", Feature: &ARM64.HasLRCPC}, {Name: "pmull", Feature: &ARM64.HasPMULL}, {Name: "sha1", Feature: &ARM64.HasSHA1}, {Name: "sha2", Feature: &ARM64.HasSHA2}, {Name: "sha3", Feature: &ARM64.HasSHA3}, {Name: "sha512", Feature: &ARM64.HasSHA512}, {Name: "sm3", Feature: &ARM64.HasSM3}, {Name: "sm4", Feature: &ARM64.HasSM4}, {Name: "sve", Feature: &ARM64.HasSVE}, {Name: "sve2", Feature: &ARM64.HasSVE2}, {Name: "crc32", Feature: &ARM64.HasCRC32}, {Name: "atomics", Feature: &ARM64.HasATOMICS}, {Name: "asimdhp", Feature: &ARM64.HasASIMDHP}, {Name: "cpuid", Feature: &ARM64.HasCPUID}, {Name: "asimrdm", Feature: &ARM64.HasASIMDRDM}, {Name: "fcma", Feature: &ARM64.HasFCMA}, {Name: "dcpop", Feature: &ARM64.HasDCPOP}, {Name: "asimddp", Feature: &ARM64.HasASIMDDP}, {Name: "asimdfhm", Feature: &ARM64.HasASIMDFHM}, {Name: "dit", Feature: &ARM64.HasDIT}, {Name: "i8mm", Feature: &ARM64.HasI8MM}, } } func archInit() { switch runtime.GOOS { case "freebsd": readARM64Registers() case "linux", "netbsd", "openbsd": doinit() default: // Many platforms don't seem to allow reading these registers. setMinimalFeatures() } } // setMinimalFeatures fakes the minimal ARM64 features expected by // TestARM64minimalFeatures. func setMinimalFeatures() { ARM64.HasASIMD = true ARM64.HasFP = true } func readARM64Registers() { Initialized = true parseARM64SystemRegisters(getisar0(), getisar1(), getpfr0()) } func parseARM64SystemRegisters(isar0, isar1, pfr0 uint64) { // ID_AA64ISAR0_EL1 switch extractBits(isar0, 4, 7) { case 1: ARM64.HasAES = true case 2: ARM64.HasAES = true ARM64.HasPMULL = true } switch extractBits(isar0, 8, 11) { case 1: ARM64.HasSHA1 = true } switch extractBits(isar0, 12, 15) { case 1: ARM64.HasSHA2 = true case 2: ARM64.HasSHA2 = true ARM64.HasSHA512 = true } switch extractBits(isar0, 16, 19) { case 1: ARM64.HasCRC32 = true } switch extractBits(isar0, 20, 23) { case 2: ARM64.HasATOMICS = true } switch extractBits(isar0, 28, 31) { case 1: ARM64.HasASIMDRDM = true } switch extractBits(isar0, 32, 35) { case 1: ARM64.HasSHA3 = true } switch extractBits(isar0, 36, 39) { case 1: ARM64.HasSM3 = true } switch extractBits(isar0, 40, 43) { case 1: ARM64.HasSM4 = true } switch extractBits(isar0, 44, 47) { case 1: ARM64.HasASIMDDP = true } // ID_AA64ISAR1_EL1 switch extractBits(isar1, 0, 3) { case 1: ARM64.HasDCPOP = true } switch extractBits(isar1, 12, 15) { case 1: ARM64.HasJSCVT = true } switch extractBits(isar1, 16, 19) { case 1: ARM64.HasFCMA = true } switch extractBits(isar1, 20, 23) { case 1: ARM64.HasLRCPC = true } switch extractBits(isar1, 52, 55) { case 1: ARM64.HasI8MM = true } // ID_AA64PFR0_EL1 switch extractBits(pfr0, 16, 19) { case 0: ARM64.HasFP = true case 1: ARM64.HasFP = true ARM64.HasFPHP = true } switch extractBits(pfr0, 20, 23) { case 0: ARM64.HasASIMD = true case 1: ARM64.HasASIMD = true ARM64.HasASIMDHP = true } switch extractBits(pfr0, 32, 35) { case 1: ARM64.HasSVE = true parseARM64SVERegister(getzfr0()) } switch extractBits(pfr0, 48, 51) { case 1: ARM64.HasDIT = true } } func parseARM64SVERegister(zfr0 uint64) { switch extractBits(zfr0, 0, 3) { case 1: ARM64.HasSVE2 = true } } func extractBits(data uint64, start, end uint) uint { return (uint)(data>>start) & ((1 << (end - start + 1)) - 1) } dependencies/pkg/mod/golang.org/x/sys@v0.26.0/cpu/cpu_linux_ppc64x.go0000644000000000000000000000140715107355264024160 0ustar rootroot// Copyright 2018 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:build linux && (ppc64 || ppc64le) package cpu // HWCAP/HWCAP2 bits. These are exposed by the kernel. const ( // ISA Level _PPC_FEATURE2_ARCH_2_07 = 0x80000000 _PPC_FEATURE2_ARCH_3_00 = 0x00800000 // CPU features _PPC_FEATURE2_DARN = 0x00200000 _PPC_FEATURE2_SCV = 0x00100000 ) func doinit() { // HWCAP2 feature bits PPC64.IsPOWER8 = isSet(hwCap2, _PPC_FEATURE2_ARCH_2_07) PPC64.IsPOWER9 = isSet(hwCap2, _PPC_FEATURE2_ARCH_3_00) PPC64.HasDARN = isSet(hwCap2, _PPC_FEATURE2_DARN) PPC64.HasSCV = isSet(hwCap2, _PPC_FEATURE2_SCV) } func isSet(hwc uint, value uint) bool { return hwc&value != 0 } dependencies/pkg/mod/golang.org/x/sys@v0.26.0/cpu/cpu_linux_arm.go0000644000000000000000000000256115107355264023615 0ustar rootroot// Copyright 2019 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 cpu func doinit() { ARM.HasSWP = isSet(hwCap, hwcap_SWP) ARM.HasHALF = isSet(hwCap, hwcap_HALF) ARM.HasTHUMB = isSet(hwCap, hwcap_THUMB) ARM.Has26BIT = isSet(hwCap, hwcap_26BIT) ARM.HasFASTMUL = isSet(hwCap, hwcap_FAST_MULT) ARM.HasFPA = isSet(hwCap, hwcap_FPA) ARM.HasVFP = isSet(hwCap, hwcap_VFP) ARM.HasEDSP = isSet(hwCap, hwcap_EDSP) ARM.HasJAVA = isSet(hwCap, hwcap_JAVA) ARM.HasIWMMXT = isSet(hwCap, hwcap_IWMMXT) ARM.HasCRUNCH = isSet(hwCap, hwcap_CRUNCH) ARM.HasTHUMBEE = isSet(hwCap, hwcap_THUMBEE) ARM.HasNEON = isSet(hwCap, hwcap_NEON) ARM.HasVFPv3 = isSet(hwCap, hwcap_VFPv3) ARM.HasVFPv3D16 = isSet(hwCap, hwcap_VFPv3D16) ARM.HasTLS = isSet(hwCap, hwcap_TLS) ARM.HasVFPv4 = isSet(hwCap, hwcap_VFPv4) ARM.HasIDIVA = isSet(hwCap, hwcap_IDIVA) ARM.HasIDIVT = isSet(hwCap, hwcap_IDIVT) ARM.HasVFPD32 = isSet(hwCap, hwcap_VFPD32) ARM.HasLPAE = isSet(hwCap, hwcap_LPAE) ARM.HasEVTSTRM = isSet(hwCap, hwcap_EVTSTRM) ARM.HasAES = isSet(hwCap2, hwcap2_AES) ARM.HasPMULL = isSet(hwCap2, hwcap2_PMULL) ARM.HasSHA1 = isSet(hwCap2, hwcap2_SHA1) ARM.HasSHA2 = isSet(hwCap2, hwcap2_SHA2) ARM.HasCRC32 = isSet(hwCap2, hwcap2_CRC32) } func isSet(hwc uint, value uint) bool { return hwc&value != 0 } dependencies/pkg/mod/golang.org/x/sys@v0.26.0/cpu/cpu.go0000644000000000000000000003235315107355264021541 0ustar rootroot// Copyright 2018 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 cpu implements processor feature detection for // various CPU architectures. package cpu import ( "os" "strings" ) // Initialized reports whether the CPU features were initialized. // // For some GOOS/GOARCH combinations initialization of the CPU features depends // on reading an operating specific file, e.g. /proc/self/auxv on linux/arm // Initialized will report false if reading the file fails. var Initialized bool // CacheLinePad is used to pad structs to avoid false sharing. type CacheLinePad struct{ _ [cacheLineSize]byte } // X86 contains the supported CPU features of the // current X86/AMD64 platform. If the current platform // is not X86/AMD64 then all feature flags are false. // // X86 is padded to avoid false sharing. Further the HasAVX // and HasAVX2 are only set if the OS supports XMM and YMM // registers in addition to the CPUID feature bit being set. var X86 struct { _ CacheLinePad HasAES bool // AES hardware implementation (AES NI) HasADX bool // Multi-precision add-carry instruction extensions HasAVX bool // Advanced vector extension HasAVX2 bool // Advanced vector extension 2 HasAVX512 bool // Advanced vector extension 512 HasAVX512F bool // Advanced vector extension 512 Foundation Instructions HasAVX512CD bool // Advanced vector extension 512 Conflict Detection Instructions HasAVX512ER bool // Advanced vector extension 512 Exponential and Reciprocal Instructions HasAVX512PF bool // Advanced vector extension 512 Prefetch Instructions HasAVX512VL bool // Advanced vector extension 512 Vector Length Extensions HasAVX512BW bool // Advanced vector extension 512 Byte and Word Instructions HasAVX512DQ bool // Advanced vector extension 512 Doubleword and Quadword Instructions HasAVX512IFMA bool // Advanced vector extension 512 Integer Fused Multiply Add HasAVX512VBMI bool // Advanced vector extension 512 Vector Byte Manipulation Instructions HasAVX5124VNNIW bool // Advanced vector extension 512 Vector Neural Network Instructions Word variable precision HasAVX5124FMAPS bool // Advanced vector extension 512 Fused Multiply Accumulation Packed Single precision HasAVX512VPOPCNTDQ bool // Advanced vector extension 512 Double and quad word population count instructions HasAVX512VPCLMULQDQ bool // Advanced vector extension 512 Vector carry-less multiply operations HasAVX512VNNI bool // Advanced vector extension 512 Vector Neural Network Instructions HasAVX512GFNI bool // Advanced vector extension 512 Galois field New Instructions HasAVX512VAES bool // Advanced vector extension 512 Vector AES instructions HasAVX512VBMI2 bool // Advanced vector extension 512 Vector Byte Manipulation Instructions 2 HasAVX512BITALG bool // Advanced vector extension 512 Bit Algorithms HasAVX512BF16 bool // Advanced vector extension 512 BFloat16 Instructions HasAMXTile bool // Advanced Matrix Extension Tile instructions HasAMXInt8 bool // Advanced Matrix Extension Int8 instructions HasAMXBF16 bool // Advanced Matrix Extension BFloat16 instructions HasBMI1 bool // Bit manipulation instruction set 1 HasBMI2 bool // Bit manipulation instruction set 2 HasCX16 bool // Compare and exchange 16 Bytes HasERMS bool // Enhanced REP for MOVSB and STOSB HasFMA bool // Fused-multiply-add instructions HasOSXSAVE bool // OS supports XSAVE/XRESTOR for saving/restoring XMM registers. HasPCLMULQDQ bool // PCLMULQDQ instruction - most often used for AES-GCM HasPOPCNT bool // Hamming weight instruction POPCNT. HasRDRAND bool // RDRAND instruction (on-chip random number generator) HasRDSEED bool // RDSEED instruction (on-chip random number generator) HasSSE2 bool // Streaming SIMD extension 2 (always available on amd64) HasSSE3 bool // Streaming SIMD extension 3 HasSSSE3 bool // Supplemental streaming SIMD extension 3 HasSSE41 bool // Streaming SIMD extension 4 and 4.1 HasSSE42 bool // Streaming SIMD extension 4 and 4.2 _ CacheLinePad } // ARM64 contains the supported CPU features of the // current ARMv8(aarch64) platform. If the current platform // is not arm64 then all feature flags are false. var ARM64 struct { _ CacheLinePad HasFP bool // Floating-point instruction set (always available) HasASIMD bool // Advanced SIMD (always available) HasEVTSTRM bool // Event stream support HasAES bool // AES hardware implementation HasPMULL bool // Polynomial multiplication instruction set HasSHA1 bool // SHA1 hardware implementation HasSHA2 bool // SHA2 hardware implementation HasCRC32 bool // CRC32 hardware implementation HasATOMICS bool // Atomic memory operation instruction set HasFPHP bool // Half precision floating-point instruction set HasASIMDHP bool // Advanced SIMD half precision instruction set HasCPUID bool // CPUID identification scheme registers HasASIMDRDM bool // Rounding double multiply add/subtract instruction set HasJSCVT bool // Javascript conversion from floating-point to integer HasFCMA bool // Floating-point multiplication and addition of complex numbers HasLRCPC bool // Release Consistent processor consistent support HasDCPOP bool // Persistent memory support HasSHA3 bool // SHA3 hardware implementation HasSM3 bool // SM3 hardware implementation HasSM4 bool // SM4 hardware implementation HasASIMDDP bool // Advanced SIMD double precision instruction set HasSHA512 bool // SHA512 hardware implementation HasSVE bool // Scalable Vector Extensions HasSVE2 bool // Scalable Vector Extensions 2 HasASIMDFHM bool // Advanced SIMD multiplication FP16 to FP32 HasDIT bool // Data Independent Timing support HasI8MM bool // Advanced SIMD Int8 matrix multiplication instructions _ CacheLinePad } // ARM contains the supported CPU features of the current ARM (32-bit) platform. // All feature flags are false if: // 1. the current platform is not arm, or // 2. the current operating system is not Linux. var ARM struct { _ CacheLinePad HasSWP bool // SWP instruction support HasHALF bool // Half-word load and store support HasTHUMB bool // ARM Thumb instruction set Has26BIT bool // Address space limited to 26-bits HasFASTMUL bool // 32-bit operand, 64-bit result multiplication support HasFPA bool // Floating point arithmetic support HasVFP bool // Vector floating point support HasEDSP bool // DSP Extensions support HasJAVA bool // Java instruction set HasIWMMXT bool // Intel Wireless MMX technology support HasCRUNCH bool // MaverickCrunch context switching and handling HasTHUMBEE bool // Thumb EE instruction set HasNEON bool // NEON instruction set HasVFPv3 bool // Vector floating point version 3 support HasVFPv3D16 bool // Vector floating point version 3 D8-D15 HasTLS bool // Thread local storage support HasVFPv4 bool // Vector floating point version 4 support HasIDIVA bool // Integer divide instruction support in ARM mode HasIDIVT bool // Integer divide instruction support in Thumb mode HasVFPD32 bool // Vector floating point version 3 D15-D31 HasLPAE bool // Large Physical Address Extensions HasEVTSTRM bool // Event stream support HasAES bool // AES hardware implementation HasPMULL bool // Polynomial multiplication instruction set HasSHA1 bool // SHA1 hardware implementation HasSHA2 bool // SHA2 hardware implementation HasCRC32 bool // CRC32 hardware implementation _ CacheLinePad } // MIPS64X contains the supported CPU features of the current mips64/mips64le // platforms. If the current platform is not mips64/mips64le or the current // operating system is not Linux then all feature flags are false. var MIPS64X struct { _ CacheLinePad HasMSA bool // MIPS SIMD architecture _ CacheLinePad } // PPC64 contains the supported CPU features of the current ppc64/ppc64le platforms. // If the current platform is not ppc64/ppc64le then all feature flags are false. // // For ppc64/ppc64le, it is safe to check only for ISA level starting on ISA v3.00, // since there are no optional categories. There are some exceptions that also // require kernel support to work (DARN, SCV), so there are feature bits for // those as well. The struct is padded to avoid false sharing. var PPC64 struct { _ CacheLinePad HasDARN bool // Hardware random number generator (requires kernel enablement) HasSCV bool // Syscall vectored (requires kernel enablement) IsPOWER8 bool // ISA v2.07 (POWER8) IsPOWER9 bool // ISA v3.00 (POWER9), implies IsPOWER8 _ CacheLinePad } // S390X contains the supported CPU features of the current IBM Z // (s390x) platform. If the current platform is not IBM Z then all // feature flags are false. // // S390X is padded to avoid false sharing. Further HasVX is only set // if the OS supports vector registers in addition to the STFLE // feature bit being set. var S390X struct { _ CacheLinePad HasZARCH bool // z/Architecture mode is active [mandatory] HasSTFLE bool // store facility list extended HasLDISP bool // long (20-bit) displacements HasEIMM bool // 32-bit immediates HasDFP bool // decimal floating point HasETF3EH bool // ETF-3 enhanced HasMSA bool // message security assist (CPACF) HasAES bool // KM-AES{128,192,256} functions HasAESCBC bool // KMC-AES{128,192,256} functions HasAESCTR bool // KMCTR-AES{128,192,256} functions HasAESGCM bool // KMA-GCM-AES{128,192,256} functions HasGHASH bool // KIMD-GHASH function HasSHA1 bool // K{I,L}MD-SHA-1 functions HasSHA256 bool // K{I,L}MD-SHA-256 functions HasSHA512 bool // K{I,L}MD-SHA-512 functions HasSHA3 bool // K{I,L}MD-SHA3-{224,256,384,512} and K{I,L}MD-SHAKE-{128,256} functions HasVX bool // vector facility HasVXE bool // vector-enhancements facility 1 _ CacheLinePad } // RISCV64 contains the supported CPU features and performance characteristics for riscv64 // platforms. The booleans in RISCV64, with the exception of HasFastMisaligned, indicate // the presence of RISC-V extensions. // // It is safe to assume that all the RV64G extensions are supported and so they are omitted from // this structure. As riscv64 Go programs require at least RV64G, the code that populates // this structure cannot run successfully if some of the RV64G extensions are missing. // The struct is padded to avoid false sharing. var RISCV64 struct { _ CacheLinePad HasFastMisaligned bool // Fast misaligned accesses HasC bool // Compressed instruction-set extension HasV bool // Vector extension compatible with RVV 1.0 HasZba bool // Address generation instructions extension HasZbb bool // Basic bit-manipulation extension HasZbs bool // Single-bit instructions extension _ CacheLinePad } func init() { archInit() initOptions() processOptions() } // options contains the cpu debug options that can be used in GODEBUG. // Options are arch dependent and are added by the arch specific initOptions functions. // Features that are mandatory for the specific GOARCH should have the Required field set // (e.g. SSE2 on amd64). var options []option // Option names should be lower case. e.g. avx instead of AVX. type option struct { Name string Feature *bool Specified bool // whether feature value was specified in GODEBUG Enable bool // whether feature should be enabled Required bool // whether feature is mandatory and can not be disabled } func processOptions() { env := os.Getenv("GODEBUG") field: for env != "" { field := "" i := strings.IndexByte(env, ',') if i < 0 { field, env = env, "" } else { field, env = env[:i], env[i+1:] } if len(field) < 4 || field[:4] != "cpu." { continue } i = strings.IndexByte(field, '=') if i < 0 { print("GODEBUG sys/cpu: no value specified for \"", field, "\"\n") continue } key, value := field[4:i], field[i+1:] // e.g. "SSE2", "on" var enable bool switch value { case "on": enable = true case "off": enable = false default: print("GODEBUG sys/cpu: value \"", value, "\" not supported for cpu option \"", key, "\"\n") continue field } if key == "all" { for i := range options { options[i].Specified = true options[i].Enable = enable || options[i].Required } continue field } for i := range options { if options[i].Name == key { options[i].Specified = true options[i].Enable = enable continue field } } print("GODEBUG sys/cpu: unknown cpu feature \"", key, "\"\n") } for _, o := range options { if !o.Specified { continue } if o.Enable && !*o.Feature { print("GODEBUG sys/cpu: can not enable \"", o.Name, "\", missing CPU support\n") continue } if !o.Enable && o.Required { print("GODEBUG sys/cpu: can not disable \"", o.Name, "\", required CPU feature\n") continue } *o.Feature = o.Enable } } dependencies/pkg/mod/golang.org/x/sys@v0.26.0/cpu/cpu_gccgo_arm64.go0000644000000000000000000000045315107355264023710 0ustar rootroot// Copyright 2019 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:build gccgo package cpu func getisar0() uint64 { return 0 } func getisar1() uint64 { return 0 } func getpfr0() uint64 { return 0 } dependencies/pkg/mod/golang.org/x/sys@v0.26.0/cpu/cpu_zos_s390x.go0000644000000000000000000000120315107355264023370 0ustar rootroot// Copyright 2020 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 cpu func initS390Xbase() { // get the facilities list facilities := stfle() // mandatory S390X.HasZARCH = facilities.Has(zarch) S390X.HasSTFLE = facilities.Has(stflef) S390X.HasLDISP = facilities.Has(ldisp) S390X.HasEIMM = facilities.Has(eimm) // optional S390X.HasETF3EH = facilities.Has(etf3eh) S390X.HasDFP = facilities.Has(dfp) S390X.HasMSA = facilities.Has(msa) S390X.HasVX = facilities.Has(vx) if S390X.HasVX { S390X.HasVXE = facilities.Has(vxe) } } dependencies/pkg/mod/golang.org/x/sys@v0.26.0/cpu/cpu_linux_mips64x.go0000644000000000000000000000074015107355264024345 0ustar rootroot// Copyright 2020 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:build linux && (mips64 || mips64le) package cpu // HWCAP bits. These are exposed by the Linux kernel 5.4. const ( // CPU features hwcap_MIPS_MSA = 1 << 1 ) func doinit() { // HWCAP feature bits MIPS64X.HasMSA = isSet(hwCap, hwcap_MIPS_MSA) } func isSet(hwc uint, value uint) bool { return hwc&value != 0 } dependencies/pkg/mod/golang.org/x/sys@v0.26.0/cpu/cpu_linux_noinit.go0000644000000000000000000000044615107355264024336 0ustar rootroot// Copyright 2019 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:build linux && !arm && !arm64 && !mips64 && !mips64le && !ppc64 && !ppc64le && !s390x && !riscv64 package cpu func doinit() {} dependencies/pkg/mod/golang.org/x/sys@v0.26.0/cpu/runtime_auxv_go121_test.go0000644000000000000000000000067415107355264025451 0ustar rootroot// Copyright 2023 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:build go1.21 package cpu import ( "runtime" "testing" ) func TestAuxvFromRuntime(t *testing.T) { got := getAuxv() t.Logf("got: %v", got) // notably: we didn't panic if runtime.GOOS == "linux" && len(got) == 0 { t.Errorf("expected auxv on linux; got zero entries") } } dependencies/pkg/mod/golang.org/x/sys@v0.26.0/cpu/proc_cpuinfo_linux.go0000644000000000000000000000213115107355264024646 0ustar rootroot// Copyright 2022 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:build linux && arm64 package cpu import ( "errors" "io" "os" "strings" ) func readLinuxProcCPUInfo() error { f, err := os.Open("/proc/cpuinfo") if err != nil { return err } defer f.Close() var buf [1 << 10]byte // enough for first CPU n, err := io.ReadFull(f, buf[:]) if err != nil && err != io.ErrUnexpectedEOF { return err } in := string(buf[:n]) const features = "\nFeatures : " i := strings.Index(in, features) if i == -1 { return errors.New("no CPU features found") } in = in[i+len(features):] if i := strings.Index(in, "\n"); i != -1 { in = in[:i] } m := map[string]*bool{} initOptions() // need it early here; it's harmless to call twice for _, o := range options { m[o.Name] = o.Feature } // The EVTSTRM field has alias "evstrm" in Go, but Linux calls it "evtstrm". m["evtstrm"] = &ARM64.HasEVTSTRM for _, f := range strings.Fields(in) { if p, ok := m[f]; ok { *p = true } } return nil } dependencies/pkg/mod/golang.org/x/sys@v0.26.0/cpu/parse.go0000644000000000000000000000200515107355264022053 0ustar rootroot// Copyright 2022 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 cpu import "strconv" // parseRelease parses a dot-separated version number. It follows the semver // syntax, but allows the minor and patch versions to be elided. // // This is a copy of the Go runtime's parseRelease from // https://golang.org/cl/209597. func parseRelease(rel string) (major, minor, patch int, ok bool) { // Strip anything after a dash or plus. for i := 0; i < len(rel); i++ { if rel[i] == '-' || rel[i] == '+' { rel = rel[:i] break } } next := func() (int, bool) { for i := 0; i < len(rel); i++ { if rel[i] == '.' { ver, err := strconv.Atoi(rel[:i]) rel = rel[i+1:] return ver, err == nil } } ver, err := strconv.Atoi(rel) rel = "" return ver, err == nil } if major, ok = next(); !ok || rel == "" { return } if minor, ok = next(); !ok || rel == "" { return } patch, ok = next() return } dependencies/pkg/mod/golang.org/x/sys@v0.26.0/cpu/cpu_x86.s0000644000000000000000000000113015107355264022070 0ustar rootroot// Copyright 2018 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:build (386 || amd64 || amd64p32) && gc #include "textflag.h" // func cpuid(eaxArg, ecxArg uint32) (eax, ebx, ecx, edx uint32) TEXT ·cpuid(SB), NOSPLIT, $0-24 MOVL eaxArg+0(FP), AX MOVL ecxArg+4(FP), CX CPUID MOVL AX, eax+8(FP) MOVL BX, ebx+12(FP) MOVL CX, ecx+16(FP) MOVL DX, edx+20(FP) RET // func xgetbv() (eax, edx uint32) TEXT ·xgetbv(SB),NOSPLIT,$0-8 MOVL $0, CX XGETBV MOVL AX, eax+0(FP) MOVL DX, edx+4(FP) RET dependencies/pkg/mod/golang.org/x/sys@v0.26.0/cpu/cpu_other_ppc64x.go0000644000000000000000000000043515107355264024142 0ustar rootroot// Copyright 2022 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:build !aix && !linux && (ppc64 || ppc64le) package cpu func archInit() { PPC64.IsPOWER8 = true Initialized = true } dependencies/pkg/mod/golang.org/x/sys@v0.26.0/cpu/cpu_gccgo_s390x.go0000644000000000000000000000200515107355264023640 0ustar rootroot// Copyright 2019 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:build gccgo package cpu // haveAsmFunctions reports whether the other functions in this file can // be safely called. func haveAsmFunctions() bool { return false } // TODO(mundaym): the following feature detection functions are currently // stubs. See https://golang.org/cl/162887 for how to fix this. // They are likely to be expensive to call so the results should be cached. func stfle() facilityList { panic("not implemented for gccgo") } func kmQuery() queryResult { panic("not implemented for gccgo") } func kmcQuery() queryResult { panic("not implemented for gccgo") } func kmctrQuery() queryResult { panic("not implemented for gccgo") } func kmaQuery() queryResult { panic("not implemented for gccgo") } func kimdQuery() queryResult { panic("not implemented for gccgo") } func klmdQuery() queryResult { panic("not implemented for gccgo") } dependencies/pkg/mod/golang.org/x/sys@v0.26.0/cpu/hwcap_linux.go0000644000000000000000000000274615107355264023276 0ustar rootroot// Copyright 2019 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 cpu import ( "os" ) const ( _AT_HWCAP = 16 _AT_HWCAP2 = 26 procAuxv = "/proc/self/auxv" uintSize = int(32 << (^uint(0) >> 63)) ) // For those platforms don't have a 'cpuid' equivalent we use HWCAP/HWCAP2 // These are initialized in cpu_$GOARCH.go // and should not be changed after they are initialized. var hwCap uint var hwCap2 uint func readHWCAP() error { // For Go 1.21+, get auxv from the Go runtime. if a := getAuxv(); len(a) > 0 { for len(a) >= 2 { tag, val := a[0], uint(a[1]) a = a[2:] switch tag { case _AT_HWCAP: hwCap = val case _AT_HWCAP2: hwCap2 = val } } return nil } buf, err := os.ReadFile(procAuxv) if err != nil { // e.g. on android /proc/self/auxv is not accessible, so silently // ignore the error and leave Initialized = false. On some // architectures (e.g. arm64) doinit() implements a fallback // readout and will set Initialized = true again. return err } bo := hostByteOrder() for len(buf) >= 2*(uintSize/8) { var tag, val uint switch uintSize { case 32: tag = uint(bo.Uint32(buf[0:])) val = uint(bo.Uint32(buf[4:])) buf = buf[8:] case 64: tag = uint(bo.Uint64(buf[0:])) val = uint(bo.Uint64(buf[8:])) buf = buf[16:] } switch tag { case _AT_HWCAP: hwCap = val case _AT_HWCAP2: hwCap2 = val } } return nil } dependencies/pkg/mod/golang.org/x/sys@v0.26.0/cpu/runtime_auxv_go121.go0000644000000000000000000000054515107355264024407 0ustar rootroot// Copyright 2023 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:build go1.21 package cpu import ( _ "unsafe" // for linkname ) //go:linkname runtime_getAuxv runtime.getAuxv func runtime_getAuxv() []uintptr func init() { getAuxvFn = runtime_getAuxv } dependencies/pkg/mod/golang.org/x/sys@v0.26.0/cpu/cpu_linux.go0000644000000000000000000000050215107355264022747 0ustar rootroot// Copyright 2018 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:build !386 && !amd64 && !amd64p32 && !arm64 package cpu func archInit() { if err := readHWCAP(); err != nil { return } doinit() Initialized = true } dependencies/pkg/mod/golang.org/x/sys@v0.26.0/cpu/cpu_other_mips64x.go0000644000000000000000000000040015107355264024320 0ustar rootroot// Copyright 2020 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:build !linux && (mips64 || mips64le) package cpu func archInit() { Initialized = true } dependencies/pkg/mod/golang.org/x/sys@v0.26.0/cpu/cpu_netbsd_arm64.go0000644000000000000000000001040715107355264024105 0ustar rootroot// Copyright 2020 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 cpu import ( "syscall" "unsafe" ) // Minimal copy of functionality from x/sys/unix so the cpu package can call // sysctl without depending on x/sys/unix. const ( _CTL_QUERY = -2 _SYSCTL_VERS_1 = 0x1000000 ) var _zero uintptr func sysctl(mib []int32, 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) } _, _, errno := syscall.Syscall6( syscall.SYS___SYSCTL, uintptr(_p0), uintptr(len(mib)), uintptr(unsafe.Pointer(old)), uintptr(unsafe.Pointer(oldlen)), uintptr(unsafe.Pointer(new)), uintptr(newlen)) if errno != 0 { return errno } return nil } type sysctlNode struct { Flags uint32 Num int32 Name [32]int8 Ver uint32 __rsvd uint32 Un [16]byte _sysctl_size [8]byte _sysctl_func [8]byte _sysctl_parent [8]byte _sysctl_desc [8]byte } func sysctlNodes(mib []int32) ([]sysctlNode, 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) ([]int32, 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:]) mib := []int32{} // 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, int32(node.Num)) break } } if len(mib) != partno+1 { return nil, err } } return mib, nil } // aarch64SysctlCPUID is struct aarch64_sysctl_cpu_id from NetBSD's type aarch64SysctlCPUID struct { midr uint64 /* Main ID Register */ revidr uint64 /* Revision ID Register */ mpidr uint64 /* Multiprocessor Affinity Register */ aa64dfr0 uint64 /* A64 Debug Feature Register 0 */ aa64dfr1 uint64 /* A64 Debug Feature Register 1 */ aa64isar0 uint64 /* A64 Instruction Set Attribute Register 0 */ aa64isar1 uint64 /* A64 Instruction Set Attribute Register 1 */ aa64mmfr0 uint64 /* A64 Memory Model Feature Register 0 */ aa64mmfr1 uint64 /* A64 Memory Model Feature Register 1 */ aa64mmfr2 uint64 /* A64 Memory Model Feature Register 2 */ aa64pfr0 uint64 /* A64 Processor Feature Register 0 */ aa64pfr1 uint64 /* A64 Processor Feature Register 1 */ aa64zfr0 uint64 /* A64 SVE Feature ID Register 0 */ mvfr0 uint32 /* Media and VFP Feature Register 0 */ mvfr1 uint32 /* Media and VFP Feature Register 1 */ mvfr2 uint32 /* Media and VFP Feature Register 2 */ pad uint32 clidr uint64 /* Cache Level ID Register */ ctr uint64 /* Cache Type Register */ } func sysctlCPUID(name string) (*aarch64SysctlCPUID, error) { mib, err := nametomib(name) if err != nil { return nil, err } out := aarch64SysctlCPUID{} n := unsafe.Sizeof(out) _, _, errno := syscall.Syscall6( syscall.SYS___SYSCTL, uintptr(unsafe.Pointer(&mib[0])), uintptr(len(mib)), uintptr(unsafe.Pointer(&out)), uintptr(unsafe.Pointer(&n)), uintptr(0), uintptr(0)) if errno != 0 { return nil, errno } return &out, nil } func doinit() { cpuid, err := sysctlCPUID("machdep.cpu0.cpu_id") if err != nil { setMinimalFeatures() return } parseARM64SystemRegisters(cpuid.aa64isar0, cpuid.aa64isar1, cpuid.aa64pfr0) Initialized = true } dependencies/pkg/mod/golang.org/x/sys@v0.26.0/cpu/cpu_linux_s390x.go0000644000000000000000000000157215107355264023725 0ustar rootroot// Copyright 2019 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 cpu const ( // bit mask values from /usr/include/bits/hwcap.h hwcap_ZARCH = 2 hwcap_STFLE = 4 hwcap_MSA = 8 hwcap_LDISP = 16 hwcap_EIMM = 32 hwcap_DFP = 64 hwcap_ETF3EH = 256 hwcap_VX = 2048 hwcap_VXE = 8192 ) func initS390Xbase() { // test HWCAP bit vector has := func(featureMask uint) bool { return hwCap&featureMask == featureMask } // mandatory S390X.HasZARCH = has(hwcap_ZARCH) // optional S390X.HasSTFLE = has(hwcap_STFLE) S390X.HasLDISP = has(hwcap_LDISP) S390X.HasEIMM = has(hwcap_EIMM) S390X.HasETF3EH = has(hwcap_ETF3EH) S390X.HasDFP = has(hwcap_DFP) S390X.HasMSA = has(hwcap_MSA) S390X.HasVX = has(hwcap_VX) if S390X.HasVX { S390X.HasVXE = has(hwcap_VXE) } } dependencies/pkg/mod/golang.org/x/sys@v0.26.0/cpu/cpu_ppc64x.go0000644000000000000000000000055015107355264022737 0ustar rootroot// Copyright 2020 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:build ppc64 || ppc64le package cpu const cacheLineSize = 128 func initOptions() { options = []option{ {Name: "darn", Feature: &PPC64.HasDARN}, {Name: "scv", Feature: &PPC64.HasSCV}, } } dependencies/pkg/mod/golang.org/x/sys@v0.26.0/cpu/cpu_s390x.s0000644000000000000000000000372715107355264022347 0ustar rootroot// Copyright 2019 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:build gc #include "textflag.h" // func stfle() facilityList TEXT ·stfle(SB), NOSPLIT|NOFRAME, $0-32 MOVD $ret+0(FP), R1 MOVD $3, R0 // last doubleword index to store XC $32, (R1), (R1) // clear 4 doublewords (32 bytes) WORD $0xb2b01000 // store facility list extended (STFLE) RET // func kmQuery() queryResult TEXT ·kmQuery(SB), NOSPLIT|NOFRAME, $0-16 MOVD $0, R0 // set function code to 0 (KM-Query) MOVD $ret+0(FP), R1 // address of 16-byte return value WORD $0xB92E0024 // cipher message (KM) RET // func kmcQuery() queryResult TEXT ·kmcQuery(SB), NOSPLIT|NOFRAME, $0-16 MOVD $0, R0 // set function code to 0 (KMC-Query) MOVD $ret+0(FP), R1 // address of 16-byte return value WORD $0xB92F0024 // cipher message with chaining (KMC) RET // func kmctrQuery() queryResult TEXT ·kmctrQuery(SB), NOSPLIT|NOFRAME, $0-16 MOVD $0, R0 // set function code to 0 (KMCTR-Query) MOVD $ret+0(FP), R1 // address of 16-byte return value WORD $0xB92D4024 // cipher message with counter (KMCTR) RET // func kmaQuery() queryResult TEXT ·kmaQuery(SB), NOSPLIT|NOFRAME, $0-16 MOVD $0, R0 // set function code to 0 (KMA-Query) MOVD $ret+0(FP), R1 // address of 16-byte return value WORD $0xb9296024 // cipher message with authentication (KMA) RET // func kimdQuery() queryResult TEXT ·kimdQuery(SB), NOSPLIT|NOFRAME, $0-16 MOVD $0, R0 // set function code to 0 (KIMD-Query) MOVD $ret+0(FP), R1 // address of 16-byte return value WORD $0xB93E0024 // compute intermediate message digest (KIMD) RET // func klmdQuery() queryResult TEXT ·klmdQuery(SB), NOSPLIT|NOFRAME, $0-16 MOVD $0, R0 // set function code to 0 (KLMD-Query) MOVD $ret+0(FP), R1 // address of 16-byte return value WORD $0xB93F0024 // compute last message digest (KLMD) RET dependencies/pkg/mod/golang.org/x/sys@v0.26.0/cpu/cpu_mipsx.go0000644000000000000000000000037015107355264022753 0ustar rootroot// Copyright 2018 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:build mips || mipsle package cpu const cacheLineSize = 32 func initOptions() {} dependencies/pkg/mod/golang.org/x/sys@v0.26.0/cpu/cpu_aix.go0000644000000000000000000000113515107355264022374 0ustar rootroot// Copyright 2019 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:build aix package cpu const ( // getsystemcfg constants _SC_IMPL = 2 _IMPL_POWER8 = 0x10000 _IMPL_POWER9 = 0x20000 ) func archInit() { impl := getsystemcfg(_SC_IMPL) if impl&_IMPL_POWER8 != 0 { PPC64.IsPOWER8 = true } if impl&_IMPL_POWER9 != 0 { PPC64.IsPOWER8 = true PPC64.IsPOWER9 = true } Initialized = true } func getsystemcfg(label int) (n uint64) { r0, _ := callgetsystemcfg(label) n = uint64(r0) return } dependencies/pkg/mod/golang.org/x/sys@v0.26.0/cpu/cpu_gc_x86.go0000644000000000000000000000076315107355264022717 0ustar rootroot// Copyright 2018 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:build (386 || amd64 || amd64p32) && gc package cpu // cpuid is implemented in cpu_x86.s for gc compiler // and in cpu_gccgo.c for gccgo. func cpuid(eaxArg, ecxArg uint32) (eax, ebx, ecx, edx uint32) // xgetbv with ecx = 0 is implemented in cpu_x86.s for gc compiler // and in cpu_gccgo.c for gccgo. func xgetbv() (eax, edx uint32) dependencies/pkg/mod/golang.org/x/sys@v0.26.0/cpu/parse_test.go0000644000000000000000000000165615107355264023125 0ustar rootroot// Copyright 2022 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 cpu import "testing" type parseReleaseTest struct { in string major, minor, patch int } var parseReleaseTests = []parseReleaseTest{ {"", -1, -1, -1}, {"x", -1, -1, -1}, {"5", 5, 0, 0}, {"5.12", 5, 12, 0}, {"5.12-x", 5, 12, 0}, {"5.12.1", 5, 12, 1}, {"5.12.1-x", 5, 12, 1}, {"5.12.1.0", 5, 12, 1}, {"5.20496382327982653440", -1, -1, -1}, } func TestParseRelease(t *testing.T) { for _, test := range parseReleaseTests { major, minor, patch, ok := parseRelease(test.in) if !ok { major, minor, patch = -1, -1, -1 } if test.major != major || test.minor != minor || test.patch != patch { t.Errorf("parseRelease(%q) = (%v, %v, %v) want (%v, %v, %v)", test.in, major, minor, patch, test.major, test.minor, test.patch) } } } dependencies/pkg/mod/golang.org/x/sys@v0.26.0/cpu/cpu_test.go0000644000000000000000000000375715107355264022606 0ustar rootroot// Copyright 2018 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 cpu_test import ( "runtime" "testing" "golang.org/x/sys/cpu" ) func TestAMD64minimalFeatures(t *testing.T) { if runtime.GOARCH == "amd64" { if !cpu.Initialized { t.Fatal("Initialized expected true, got false") } if !cpu.X86.HasSSE2 { t.Fatal("HasSSE2 expected true, got false") } } } func TestAVX2hasAVX(t *testing.T) { if runtime.GOARCH == "amd64" { if cpu.X86.HasAVX2 && !cpu.X86.HasAVX { t.Fatal("HasAVX expected true, got false") } } } func TestAVX512HasAVX2AndAVX(t *testing.T) { if runtime.GOARCH == "amd64" { if cpu.X86.HasAVX512 && !cpu.X86.HasAVX { t.Fatal("HasAVX expected true, got false") } if cpu.X86.HasAVX512 && !cpu.X86.HasAVX2 { t.Fatal("HasAVX2 expected true, got false") } } } func TestARM64minimalFeatures(t *testing.T) { if runtime.GOARCH != "arm64" || runtime.GOOS == "ios" { return } if !cpu.ARM64.HasASIMD { t.Fatal("HasASIMD expected true, got false") } if !cpu.ARM64.HasFP { t.Fatal("HasFP expected true, got false") } } func TestMIPS64Initialized(t *testing.T) { if runtime.GOARCH == "mips64" || runtime.GOARCH == "mips64le" { if !cpu.Initialized { t.Fatal("Initialized expected true, got false") } } } func TestRISCV64Initialized(t *testing.T) { if runtime.GOARCH == "riscv64" { if !cpu.Initialized { t.Fatal("Initialized expected true, got false") } } } // On ppc64x, the ISA bit for POWER8 should always be set on POWER8 and beyond. func TestPPC64minimalFeatures(t *testing.T) { // Do not run this with gccgo on ppc64, as it doesn't have POWER8 as a minimum // requirement. if runtime.Compiler == "gccgo" && runtime.GOARCH == "ppc64" { t.Skip("gccgo does not require POWER8 on ppc64; skipping") } if runtime.GOARCH == "ppc64" || runtime.GOARCH == "ppc64le" { if !cpu.PPC64.IsPOWER8 { t.Fatal("IsPOWER8 expected true, got false") } } } dependencies/pkg/mod/golang.org/x/sys@v0.26.0/cpu/cpu_arm64.s0000644000000000000000000000165115107355264022404 0ustar rootroot// Copyright 2019 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:build gc #include "textflag.h" // func getisar0() uint64 TEXT ·getisar0(SB),NOSPLIT,$0-8 // get Instruction Set Attributes 0 into x0 // mrs x0, ID_AA64ISAR0_EL1 = d5380600 WORD $0xd5380600 MOVD R0, ret+0(FP) RET // func getisar1() uint64 TEXT ·getisar1(SB),NOSPLIT,$0-8 // get Instruction Set Attributes 1 into x0 // mrs x0, ID_AA64ISAR1_EL1 = d5380620 WORD $0xd5380620 MOVD R0, ret+0(FP) RET // func getpfr0() uint64 TEXT ·getpfr0(SB),NOSPLIT,$0-8 // get Processor Feature Register 0 into x0 // mrs x0, ID_AA64PFR0_EL1 = d5380400 WORD $0xd5380400 MOVD R0, ret+0(FP) RET // func getzfr0() uint64 TEXT ·getzfr0(SB),NOSPLIT,$0-8 // get SVE Feature Register 0 into x0 // mrs x0, ID_AA64ZFR0_EL1 = d5380480 WORD $0xd5380480 MOVD R0, ret+0(FP) RET dependencies/pkg/mod/golang.org/x/sys@v0.26.0/cpu/cpu_linux_arm64.go0000644000000000000000000000711715107355264023771 0ustar rootroot// Copyright 2018 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 cpu import ( "strings" "syscall" ) // HWCAP/HWCAP2 bits. These are exposed by Linux. const ( hwcap_FP = 1 << 0 hwcap_ASIMD = 1 << 1 hwcap_EVTSTRM = 1 << 2 hwcap_AES = 1 << 3 hwcap_PMULL = 1 << 4 hwcap_SHA1 = 1 << 5 hwcap_SHA2 = 1 << 6 hwcap_CRC32 = 1 << 7 hwcap_ATOMICS = 1 << 8 hwcap_FPHP = 1 << 9 hwcap_ASIMDHP = 1 << 10 hwcap_CPUID = 1 << 11 hwcap_ASIMDRDM = 1 << 12 hwcap_JSCVT = 1 << 13 hwcap_FCMA = 1 << 14 hwcap_LRCPC = 1 << 15 hwcap_DCPOP = 1 << 16 hwcap_SHA3 = 1 << 17 hwcap_SM3 = 1 << 18 hwcap_SM4 = 1 << 19 hwcap_ASIMDDP = 1 << 20 hwcap_SHA512 = 1 << 21 hwcap_SVE = 1 << 22 hwcap_ASIMDFHM = 1 << 23 hwcap_DIT = 1 << 24 hwcap2_SVE2 = 1 << 1 hwcap2_I8MM = 1 << 13 ) // linuxKernelCanEmulateCPUID reports whether we're running // on Linux 4.11+. Ideally we'd like to ask the question about // whether the current kernel contains // https://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git/commit/?id=77c97b4ee21290f5f083173d957843b615abbff2 // but the version number will have to do. func linuxKernelCanEmulateCPUID() bool { var un syscall.Utsname syscall.Uname(&un) var sb strings.Builder for _, b := range un.Release[:] { if b == 0 { break } sb.WriteByte(byte(b)) } major, minor, _, ok := parseRelease(sb.String()) return ok && (major > 4 || major == 4 && minor >= 11) } func doinit() { if err := readHWCAP(); err != nil { // We failed to read /proc/self/auxv. This can happen if the binary has // been given extra capabilities(7) with /bin/setcap. // // When this happens, we have two options. If the Linux kernel is new // enough (4.11+), we can read the arm64 registers directly which'll // trap into the kernel and then return back to userspace. // // But on older kernels, such as Linux 4.4.180 as used on many Synology // devices, calling readARM64Registers (specifically getisar0) will // cause a SIGILL and we'll die. So for older kernels, parse /proc/cpuinfo // instead. // // See golang/go#57336. if linuxKernelCanEmulateCPUID() { readARM64Registers() } else { readLinuxProcCPUInfo() } return } // HWCAP feature bits ARM64.HasFP = isSet(hwCap, hwcap_FP) ARM64.HasASIMD = isSet(hwCap, hwcap_ASIMD) ARM64.HasEVTSTRM = isSet(hwCap, hwcap_EVTSTRM) ARM64.HasAES = isSet(hwCap, hwcap_AES) ARM64.HasPMULL = isSet(hwCap, hwcap_PMULL) ARM64.HasSHA1 = isSet(hwCap, hwcap_SHA1) ARM64.HasSHA2 = isSet(hwCap, hwcap_SHA2) ARM64.HasCRC32 = isSet(hwCap, hwcap_CRC32) ARM64.HasATOMICS = isSet(hwCap, hwcap_ATOMICS) ARM64.HasFPHP = isSet(hwCap, hwcap_FPHP) ARM64.HasASIMDHP = isSet(hwCap, hwcap_ASIMDHP) ARM64.HasCPUID = isSet(hwCap, hwcap_CPUID) ARM64.HasASIMDRDM = isSet(hwCap, hwcap_ASIMDRDM) ARM64.HasJSCVT = isSet(hwCap, hwcap_JSCVT) ARM64.HasFCMA = isSet(hwCap, hwcap_FCMA) ARM64.HasLRCPC = isSet(hwCap, hwcap_LRCPC) ARM64.HasDCPOP = isSet(hwCap, hwcap_DCPOP) ARM64.HasSHA3 = isSet(hwCap, hwcap_SHA3) ARM64.HasSM3 = isSet(hwCap, hwcap_SM3) ARM64.HasSM4 = isSet(hwCap, hwcap_SM4) ARM64.HasASIMDDP = isSet(hwCap, hwcap_ASIMDDP) ARM64.HasSHA512 = isSet(hwCap, hwcap_SHA512) ARM64.HasSVE = isSet(hwCap, hwcap_SVE) ARM64.HasASIMDFHM = isSet(hwCap, hwcap_ASIMDFHM) ARM64.HasDIT = isSet(hwCap, hwcap_DIT) // HWCAP2 feature bits ARM64.HasSVE2 = isSet(hwCap2, hwcap2_SVE2) ARM64.HasI8MM = isSet(hwCap2, hwcap2_I8MM) } func isSet(hwc uint, value uint) bool { return hwc&value != 0 } dependencies/pkg/mod/golang.org/x/sys@v0.26.0/cpu/cpu_other_riscv64.go0000644000000000000000000000036315107355264024316 0ustar rootroot// Copyright 2022 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:build !linux && riscv64 package cpu func archInit() { Initialized = true } dependencies/pkg/mod/golang.org/x/sys@v0.26.0/cpu/cpu_mips64x.go0000644000000000000000000000050015107355264023120 0ustar rootroot// Copyright 2018 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:build mips64 || mips64le package cpu const cacheLineSize = 32 func initOptions() { options = []option{ {Name: "msa", Feature: &MIPS64X.HasMSA}, } } dependencies/pkg/mod/golang.org/x/sys@v0.26.0/cpu/cpu_other_arm.go0000644000000000000000000000033215107355264023571 0ustar rootroot// Copyright 2020 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:build !linux && arm package cpu func archInit() {} dependencies/pkg/mod/golang.org/x/sys@v0.26.0/cpu/cpu_gccgo_x86.go0000644000000000000000000000143315107355264023403 0ustar rootroot// Copyright 2018 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:build (386 || amd64 || amd64p32) && gccgo package cpu //extern gccgoGetCpuidCount func gccgoGetCpuidCount(eaxArg, ecxArg uint32, eax, ebx, ecx, edx *uint32) func cpuid(eaxArg, ecxArg uint32) (eax, ebx, ecx, edx uint32) { var a, b, c, d uint32 gccgoGetCpuidCount(eaxArg, ecxArg, &a, &b, &c, &d) return a, b, c, d } //extern gccgoXgetbv func gccgoXgetbv(eax, edx *uint32) func xgetbv() (eax, edx uint32) { var a, d uint32 gccgoXgetbv(&a, &d) return a, d } // gccgo doesn't build on Darwin, per: // https://github.com/Homebrew/homebrew-core/blob/HEAD/Formula/gcc.rb#L76 func darwinSupportsAVX512() bool { return false } dependencies/pkg/mod/golang.org/x/sys@v0.26.0/.gitignore0000644000000000000000000000012515107355264021614 0ustar rootroot# Add no patterns to .gitignore except for files generated by the build. last-change dependencies/pkg/mod/golang.org/x/sys@v0.26.0/PATENTS0000644000000000000000000000242715107355264020674 0ustar rootrootAdditional 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. dependencies/pkg/mod/golang.org/x/sys@v0.26.0/go.mod0000644000000000000000000000004115107355264020727 0ustar rootrootmodule golang.org/x/sys go 1.18 dependencies/pkg/mod/golang.org/x/sys@v0.26.0/codereview.cfg0000644000000000000000000000002515107355264022440 0ustar rootrootissuerepo: golang/go dependencies/pkg/mod/golang.org/x/sys@v0.26.0/execabs/0000755000000000000000000000000015107355264021240 5ustar rootrootdependencies/pkg/mod/golang.org/x/sys@v0.26.0/execabs/execabs.go0000644000000000000000000000713115107355264023203 0ustar rootroot// Copyright 2020 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 execabs is a drop-in replacement for os/exec // that requires PATH lookups to find absolute paths. // That is, execabs.Command("cmd") runs the same PATH lookup // as exec.Command("cmd"), but if the result is a path // which is relative, the Run and Start methods will report // an error instead of running the executable. // // See https://blog.golang.org/path-security for more information // about when it may be necessary or appropriate to use this package. package execabs import ( "context" "fmt" "os/exec" "path/filepath" "reflect" "unsafe" ) // ErrNotFound is the error resulting if a path search failed to find an executable file. // It is an alias for exec.ErrNotFound. var ErrNotFound = exec.ErrNotFound // Cmd represents an external command being prepared or run. // It is an alias for exec.Cmd. type Cmd = exec.Cmd // Error is returned by LookPath when it fails to classify a file as an executable. // It is an alias for exec.Error. type Error = exec.Error // An ExitError reports an unsuccessful exit by a command. // It is an alias for exec.ExitError. type ExitError = exec.ExitError func relError(file, path string) error { return fmt.Errorf("%s resolves to executable in current directory (.%c%s)", file, filepath.Separator, path) } // LookPath searches for an executable named file in the directories // named by the PATH environment variable. If file contains a slash, // it is tried directly and the PATH is not consulted. The result will be // an absolute path. // // LookPath differs from exec.LookPath in its handling of PATH lookups, // which are used for file names without slashes. If exec.LookPath's // PATH lookup would have returned an executable from the current directory, // LookPath instead returns an error. func LookPath(file string) (string, error) { path, err := exec.LookPath(file) if err != nil && !isGo119ErrDot(err) { return "", err } if filepath.Base(file) == file && !filepath.IsAbs(path) { return "", relError(file, path) } return path, nil } func fixCmd(name string, cmd *exec.Cmd) { if filepath.Base(name) == name && !filepath.IsAbs(cmd.Path) && !isGo119ErrFieldSet(cmd) { // exec.Command was called with a bare binary name and // exec.LookPath returned a path which is not absolute. // Set cmd.lookPathErr and clear cmd.Path so that it // cannot be run. lookPathErr := (*error)(unsafe.Pointer(reflect.ValueOf(cmd).Elem().FieldByName("lookPathErr").Addr().Pointer())) if *lookPathErr == nil { *lookPathErr = relError(name, cmd.Path) } cmd.Path = "" } } // CommandContext is like Command but includes a context. // // The provided context is used to kill the process (by calling os.Process.Kill) // if the context becomes done before the command completes on its own. func CommandContext(ctx context.Context, name string, arg ...string) *exec.Cmd { cmd := exec.CommandContext(ctx, name, arg...) fixCmd(name, cmd) return cmd } // Command returns the Cmd struct to execute the named program with the given arguments. // See exec.Command for most details. // // Command differs from exec.Command in its handling of PATH lookups, // which are used when the program name contains no slashes. // If exec.Command would have returned an exec.Cmd configured to run an // executable from the current directory, Command instead // returns an exec.Cmd that will return an error from Start or Run. func Command(name string, arg ...string) *exec.Cmd { cmd := exec.Command(name, arg...) fixCmd(name, cmd) return cmd } dependencies/pkg/mod/golang.org/x/sys@v0.26.0/execabs/execabs_test.go0000644000000000000000000001015615107355264024243 0ustar rootroot// Copyright 2020 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 execabs import ( "context" "fmt" "os" "os/exec" "path/filepath" "runtime" "strings" "testing" ) // hasExec reports whether the current system can start new processes // using os.StartProcess or (more commonly) exec.Command. // Copied from internal/testenv.HasExec func hasExec() bool { switch runtime.GOOS { case "wasip1", "js", "ios": return false } return true } // mustHaveExec checks that the current system can start new processes // using os.StartProcess or (more commonly) exec.Command. // If not, mustHaveExec calls t.Skip with an explanation. // Copied from internal/testenv.MustHaveExec func mustHaveExec(t testing.TB) { if !hasExec() { t.Skipf("skipping test: cannot exec subprocess on %s/%s", runtime.GOOS, runtime.GOARCH) } } func TestFixCmd(t *testing.T) { cmd := &exec.Cmd{Path: "hello"} fixCmd("hello", cmd) if cmd.Path != "" { t.Errorf("fixCmd didn't clear cmd.Path") } expectedErr := fmt.Sprintf("hello resolves to executable in current directory (.%chello)", filepath.Separator) if err := cmd.Run(); err == nil { t.Fatal("Command.Run didn't fail") } else if err.Error() != expectedErr { t.Fatalf("Command.Run returned unexpected error: want %q, got %q", expectedErr, err.Error()) } } func TestCommand(t *testing.T) { mustHaveExec(t) for _, cmd := range []func(string) *Cmd{ func(s string) *Cmd { return Command(s) }, func(s string) *Cmd { return CommandContext(context.Background(), s) }, } { tmpDir := t.TempDir() executable := "execabs-test" if runtime.GOOS == "windows" { executable += ".exe" } if err := os.WriteFile(filepath.Join(tmpDir, executable), []byte{1, 2, 3}, 0111); err != nil { t.Fatal(err) } cwd, err := os.Getwd() if err != nil { t.Fatalf("os.Getwd failed: %s", err) } defer os.Chdir(cwd) if err = os.Chdir(tmpDir); err != nil { t.Fatalf("os.Chdir failed: %s", err) } if runtime.GOOS != "windows" { // add "." to PATH so that exec.LookPath looks in the current directory on // non-windows platforms as well origPath := os.Getenv("PATH") defer os.Setenv("PATH", origPath) os.Setenv("PATH", fmt.Sprintf(".:%s", origPath)) } expectedErr := fmt.Sprintf("execabs-test resolves to executable in current directory (.%c%s)", filepath.Separator, executable) if err = cmd("execabs-test").Run(); err == nil { t.Fatalf("Command.Run didn't fail when exec.LookPath returned a relative path") } else if err.Error() != expectedErr && !isGo119ErrDot(err) { t.Errorf("Command.Run returned unexpected error: want %q, got %q", expectedErr, err.Error()) } } } func TestLookPath(t *testing.T) { mustHaveExec(t) tmpDir := t.TempDir() executable := "execabs-test" if runtime.GOOS == "windows" { executable += ".exe" } if err := os.WriteFile(filepath.Join(tmpDir, executable), []byte{1, 2, 3}, 0111); err != nil { t.Fatal(err) } cwd, err := os.Getwd() if err != nil { t.Fatalf("os.Getwd failed: %s", err) } defer os.Chdir(cwd) if err = os.Chdir(tmpDir); err != nil { t.Fatalf("os.Chdir failed: %s", err) } if runtime.GOOS != "windows" { // add "." to PATH so that exec.LookPath looks in the current directory on // non-windows platforms as well origPath := os.Getenv("PATH") defer os.Setenv("PATH", origPath) os.Setenv("PATH", fmt.Sprintf(".:%s", origPath)) } expectedErr := fmt.Sprintf("execabs-test resolves to executable in current directory (.%c%s)", filepath.Separator, executable) if _, err := LookPath("execabs-test"); err == nil { t.Fatalf("LookPath didn't fail when finding a non-relative path") } else if err.Error() != expectedErr { t.Errorf("LookPath returned unexpected error: want %q, got %q", expectedErr, err.Error()) } } // Issue #58606 func TestDoesNotExist(t *testing.T) { err := Command("this-executable-should-not-exist").Start() if err == nil { t.Fatal("command should have failed") } if strings.Contains(err.Error(), "resolves to executable in current directory") { t.Errorf("error (%v) should not refer to current directory", err) } } dependencies/pkg/mod/golang.org/x/sys@v0.26.0/execabs/execabs_go119.go0000644000000000000000000000057015107355264024123 0ustar rootroot// Copyright 2022 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:build go1.19 package execabs import ( "errors" "os/exec" ) func isGo119ErrDot(err error) bool { return errors.Is(err, exec.ErrDot) } func isGo119ErrFieldSet(cmd *exec.Cmd) bool { return cmd.Err != nil } dependencies/pkg/mod/golang.org/x/sys@v0.26.0/execabs/execabs_go118.go0000644000000000000000000000051315107355264024117 0ustar rootroot// Copyright 2022 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:build !go1.19 package execabs import "os/exec" func isGo119ErrDot(err error) bool { return false } func isGo119ErrFieldSet(cmd *exec.Cmd) bool { return false } dependencies/pkg/mod/golang.org/x/sys@v0.26.0/windows/0000755000000000000000000000000015107355264021320 5ustar rootrootdependencies/pkg/mod/golang.org/x/sys@v0.26.0/windows/security_windows.go0000644000000000000000000015212515107355264025276 0ustar rootroot// 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 windows import ( "syscall" "unsafe" ) const ( NameUnknown = 0 NameFullyQualifiedDN = 1 NameSamCompatible = 2 NameDisplay = 3 NameUniqueId = 6 NameCanonical = 7 NameUserPrincipal = 8 NameCanonicalEx = 9 NameServicePrincipal = 10 NameDnsDomain = 12 ) // This function returns 1 byte BOOLEAN rather than the 4 byte BOOL. // http://blogs.msdn.com/b/drnick/archive/2007/12/19/windows-and-upn-format-credentials.aspx //sys TranslateName(accName *uint16, accNameFormat uint32, desiredNameFormat uint32, translatedName *uint16, nSize *uint32) (err error) [failretval&0xff==0] = secur32.TranslateNameW //sys GetUserNameEx(nameFormat uint32, nameBuffre *uint16, nSize *uint32) (err error) [failretval&0xff==0] = secur32.GetUserNameExW // TranslateAccountName converts a directory service // object name from one format to another. func TranslateAccountName(username string, from, to uint32, initSize int) (string, error) { u, e := UTF16PtrFromString(username) if e != nil { return "", e } n := uint32(50) for { b := make([]uint16, n) e = TranslateName(u, from, to, &b[0], &n) if e == nil { return UTF16ToString(b[:n]), nil } if e != ERROR_INSUFFICIENT_BUFFER { return "", e } if n <= uint32(len(b)) { return "", e } } } const ( // do not reorder NetSetupUnknownStatus = iota NetSetupUnjoined NetSetupWorkgroupName NetSetupDomainName ) type UserInfo10 struct { Name *uint16 Comment *uint16 UsrComment *uint16 FullName *uint16 } //sys NetUserGetInfo(serverName *uint16, userName *uint16, level uint32, buf **byte) (neterr error) = netapi32.NetUserGetInfo //sys NetGetJoinInformation(server *uint16, name **uint16, bufType *uint32) (neterr error) = netapi32.NetGetJoinInformation //sys NetApiBufferFree(buf *byte) (neterr error) = netapi32.NetApiBufferFree //sys NetUserEnum(serverName *uint16, level uint32, filter uint32, buf **byte, prefMaxLen uint32, entriesRead *uint32, totalEntries *uint32, resumeHandle *uint32) (neterr error) = netapi32.NetUserEnum const ( // do not reorder SidTypeUser = 1 + iota SidTypeGroup SidTypeDomain SidTypeAlias SidTypeWellKnownGroup SidTypeDeletedAccount SidTypeInvalid SidTypeUnknown SidTypeComputer SidTypeLabel ) type SidIdentifierAuthority struct { Value [6]byte } var ( SECURITY_NULL_SID_AUTHORITY = SidIdentifierAuthority{[6]byte{0, 0, 0, 0, 0, 0}} SECURITY_WORLD_SID_AUTHORITY = SidIdentifierAuthority{[6]byte{0, 0, 0, 0, 0, 1}} SECURITY_LOCAL_SID_AUTHORITY = SidIdentifierAuthority{[6]byte{0, 0, 0, 0, 0, 2}} SECURITY_CREATOR_SID_AUTHORITY = SidIdentifierAuthority{[6]byte{0, 0, 0, 0, 0, 3}} SECURITY_NON_UNIQUE_AUTHORITY = SidIdentifierAuthority{[6]byte{0, 0, 0, 0, 0, 4}} SECURITY_NT_AUTHORITY = SidIdentifierAuthority{[6]byte{0, 0, 0, 0, 0, 5}} SECURITY_MANDATORY_LABEL_AUTHORITY = SidIdentifierAuthority{[6]byte{0, 0, 0, 0, 0, 16}} ) const ( SECURITY_NULL_RID = 0 SECURITY_WORLD_RID = 0 SECURITY_LOCAL_RID = 0 SECURITY_CREATOR_OWNER_RID = 0 SECURITY_CREATOR_GROUP_RID = 1 SECURITY_DIALUP_RID = 1 SECURITY_NETWORK_RID = 2 SECURITY_BATCH_RID = 3 SECURITY_INTERACTIVE_RID = 4 SECURITY_LOGON_IDS_RID = 5 SECURITY_SERVICE_RID = 6 SECURITY_LOCAL_SYSTEM_RID = 18 SECURITY_BUILTIN_DOMAIN_RID = 32 SECURITY_PRINCIPAL_SELF_RID = 10 SECURITY_CREATOR_OWNER_SERVER_RID = 0x2 SECURITY_CREATOR_GROUP_SERVER_RID = 0x3 SECURITY_LOGON_IDS_RID_COUNT = 0x3 SECURITY_ANONYMOUS_LOGON_RID = 0x7 SECURITY_PROXY_RID = 0x8 SECURITY_ENTERPRISE_CONTROLLERS_RID = 0x9 SECURITY_SERVER_LOGON_RID = SECURITY_ENTERPRISE_CONTROLLERS_RID SECURITY_AUTHENTICATED_USER_RID = 0xb SECURITY_RESTRICTED_CODE_RID = 0xc SECURITY_NT_NON_UNIQUE_RID = 0x15 ) // Predefined domain-relative RIDs for local groups. // See https://msdn.microsoft.com/en-us/library/windows/desktop/aa379649(v=vs.85).aspx const ( DOMAIN_ALIAS_RID_ADMINS = 0x220 DOMAIN_ALIAS_RID_USERS = 0x221 DOMAIN_ALIAS_RID_GUESTS = 0x222 DOMAIN_ALIAS_RID_POWER_USERS = 0x223 DOMAIN_ALIAS_RID_ACCOUNT_OPS = 0x224 DOMAIN_ALIAS_RID_SYSTEM_OPS = 0x225 DOMAIN_ALIAS_RID_PRINT_OPS = 0x226 DOMAIN_ALIAS_RID_BACKUP_OPS = 0x227 DOMAIN_ALIAS_RID_REPLICATOR = 0x228 DOMAIN_ALIAS_RID_RAS_SERVERS = 0x229 DOMAIN_ALIAS_RID_PREW2KCOMPACCESS = 0x22a DOMAIN_ALIAS_RID_REMOTE_DESKTOP_USERS = 0x22b DOMAIN_ALIAS_RID_NETWORK_CONFIGURATION_OPS = 0x22c DOMAIN_ALIAS_RID_INCOMING_FOREST_TRUST_BUILDERS = 0x22d DOMAIN_ALIAS_RID_MONITORING_USERS = 0x22e DOMAIN_ALIAS_RID_LOGGING_USERS = 0x22f DOMAIN_ALIAS_RID_AUTHORIZATIONACCESS = 0x230 DOMAIN_ALIAS_RID_TS_LICENSE_SERVERS = 0x231 DOMAIN_ALIAS_RID_DCOM_USERS = 0x232 DOMAIN_ALIAS_RID_IUSERS = 0x238 DOMAIN_ALIAS_RID_CRYPTO_OPERATORS = 0x239 DOMAIN_ALIAS_RID_CACHEABLE_PRINCIPALS_GROUP = 0x23b DOMAIN_ALIAS_RID_NON_CACHEABLE_PRINCIPALS_GROUP = 0x23c DOMAIN_ALIAS_RID_EVENT_LOG_READERS_GROUP = 0x23d DOMAIN_ALIAS_RID_CERTSVC_DCOM_ACCESS_GROUP = 0x23e ) //sys LookupAccountSid(systemName *uint16, sid *SID, name *uint16, nameLen *uint32, refdDomainName *uint16, refdDomainNameLen *uint32, use *uint32) (err error) = advapi32.LookupAccountSidW //sys LookupAccountName(systemName *uint16, accountName *uint16, sid *SID, sidLen *uint32, refdDomainName *uint16, refdDomainNameLen *uint32, use *uint32) (err error) = advapi32.LookupAccountNameW //sys ConvertSidToStringSid(sid *SID, stringSid **uint16) (err error) = advapi32.ConvertSidToStringSidW //sys ConvertStringSidToSid(stringSid *uint16, sid **SID) (err error) = advapi32.ConvertStringSidToSidW //sys GetLengthSid(sid *SID) (len uint32) = advapi32.GetLengthSid //sys CopySid(destSidLen uint32, destSid *SID, srcSid *SID) (err error) = advapi32.CopySid //sys AllocateAndInitializeSid(identAuth *SidIdentifierAuthority, subAuth byte, subAuth0 uint32, subAuth1 uint32, subAuth2 uint32, subAuth3 uint32, subAuth4 uint32, subAuth5 uint32, subAuth6 uint32, subAuth7 uint32, sid **SID) (err error) = advapi32.AllocateAndInitializeSid //sys createWellKnownSid(sidType WELL_KNOWN_SID_TYPE, domainSid *SID, sid *SID, sizeSid *uint32) (err error) = advapi32.CreateWellKnownSid //sys isWellKnownSid(sid *SID, sidType WELL_KNOWN_SID_TYPE) (isWellKnown bool) = advapi32.IsWellKnownSid //sys FreeSid(sid *SID) (err error) [failretval!=0] = advapi32.FreeSid //sys EqualSid(sid1 *SID, sid2 *SID) (isEqual bool) = advapi32.EqualSid //sys getSidIdentifierAuthority(sid *SID) (authority *SidIdentifierAuthority) = advapi32.GetSidIdentifierAuthority //sys getSidSubAuthorityCount(sid *SID) (count *uint8) = advapi32.GetSidSubAuthorityCount //sys getSidSubAuthority(sid *SID, index uint32) (subAuthority *uint32) = advapi32.GetSidSubAuthority //sys isValidSid(sid *SID) (isValid bool) = advapi32.IsValidSid // The security identifier (SID) structure is a variable-length // structure used to uniquely identify users or groups. type SID struct{} // StringToSid converts a string-format security identifier // SID into a valid, functional SID. func StringToSid(s string) (*SID, error) { var sid *SID p, e := UTF16PtrFromString(s) if e != nil { return nil, e } e = ConvertStringSidToSid(p, &sid) if e != nil { return nil, e } defer LocalFree((Handle)(unsafe.Pointer(sid))) return sid.Copy() } // LookupSID retrieves a security identifier SID for the account // and the name of the domain on which the account was found. // System specify target computer to search. func LookupSID(system, account string) (sid *SID, domain string, accType uint32, err error) { if len(account) == 0 { return nil, "", 0, syscall.EINVAL } acc, e := UTF16PtrFromString(account) if e != nil { return nil, "", 0, e } var sys *uint16 if len(system) > 0 { sys, e = UTF16PtrFromString(system) if e != nil { return nil, "", 0, e } } n := uint32(50) dn := uint32(50) for { b := make([]byte, n) db := make([]uint16, dn) sid = (*SID)(unsafe.Pointer(&b[0])) e = LookupAccountName(sys, acc, sid, &n, &db[0], &dn, &accType) if e == nil { return sid, UTF16ToString(db), accType, nil } if e != ERROR_INSUFFICIENT_BUFFER { return nil, "", 0, e } if n <= uint32(len(b)) { return nil, "", 0, e } } } // String converts SID to a string format suitable for display, storage, or transmission. func (sid *SID) String() string { var s *uint16 e := ConvertSidToStringSid(sid, &s) if e != nil { return "" } defer LocalFree((Handle)(unsafe.Pointer(s))) return UTF16ToString((*[256]uint16)(unsafe.Pointer(s))[:]) } // Len returns the length, in bytes, of a valid security identifier SID. func (sid *SID) Len() int { return int(GetLengthSid(sid)) } // Copy creates a duplicate of security identifier SID. func (sid *SID) Copy() (*SID, error) { b := make([]byte, sid.Len()) sid2 := (*SID)(unsafe.Pointer(&b[0])) e := CopySid(uint32(len(b)), sid2, sid) if e != nil { return nil, e } return sid2, nil } // IdentifierAuthority returns the identifier authority of the SID. func (sid *SID) IdentifierAuthority() SidIdentifierAuthority { return *getSidIdentifierAuthority(sid) } // SubAuthorityCount returns the number of sub-authorities in the SID. func (sid *SID) SubAuthorityCount() uint8 { return *getSidSubAuthorityCount(sid) } // SubAuthority returns the sub-authority of the SID as specified by // the index, which must be less than sid.SubAuthorityCount(). func (sid *SID) SubAuthority(idx uint32) uint32 { if idx >= uint32(sid.SubAuthorityCount()) { panic("sub-authority index out of range") } return *getSidSubAuthority(sid, idx) } // IsValid returns whether the SID has a valid revision and length. func (sid *SID) IsValid() bool { return isValidSid(sid) } // Equals compares two SIDs for equality. func (sid *SID) Equals(sid2 *SID) bool { return EqualSid(sid, sid2) } // IsWellKnown determines whether the SID matches the well-known sidType. func (sid *SID) IsWellKnown(sidType WELL_KNOWN_SID_TYPE) bool { return isWellKnownSid(sid, sidType) } // LookupAccount retrieves the name of the account for this SID // and the name of the first domain on which this SID is found. // System specify target computer to search for. func (sid *SID) LookupAccount(system string) (account, domain string, accType uint32, err error) { var sys *uint16 if len(system) > 0 { sys, err = UTF16PtrFromString(system) if err != nil { return "", "", 0, err } } n := uint32(50) dn := uint32(50) for { b := make([]uint16, n) db := make([]uint16, dn) e := LookupAccountSid(sys, sid, &b[0], &n, &db[0], &dn, &accType) if e == nil { return UTF16ToString(b), UTF16ToString(db), accType, nil } if e != ERROR_INSUFFICIENT_BUFFER { return "", "", 0, e } if n <= uint32(len(b)) { return "", "", 0, e } } } // Various types of pre-specified SIDs that can be synthesized and compared at runtime. type WELL_KNOWN_SID_TYPE uint32 const ( WinNullSid = 0 WinWorldSid = 1 WinLocalSid = 2 WinCreatorOwnerSid = 3 WinCreatorGroupSid = 4 WinCreatorOwnerServerSid = 5 WinCreatorGroupServerSid = 6 WinNtAuthoritySid = 7 WinDialupSid = 8 WinNetworkSid = 9 WinBatchSid = 10 WinInteractiveSid = 11 WinServiceSid = 12 WinAnonymousSid = 13 WinProxySid = 14 WinEnterpriseControllersSid = 15 WinSelfSid = 16 WinAuthenticatedUserSid = 17 WinRestrictedCodeSid = 18 WinTerminalServerSid = 19 WinRemoteLogonIdSid = 20 WinLogonIdsSid = 21 WinLocalSystemSid = 22 WinLocalServiceSid = 23 WinNetworkServiceSid = 24 WinBuiltinDomainSid = 25 WinBuiltinAdministratorsSid = 26 WinBuiltinUsersSid = 27 WinBuiltinGuestsSid = 28 WinBuiltinPowerUsersSid = 29 WinBuiltinAccountOperatorsSid = 30 WinBuiltinSystemOperatorsSid = 31 WinBuiltinPrintOperatorsSid = 32 WinBuiltinBackupOperatorsSid = 33 WinBuiltinReplicatorSid = 34 WinBuiltinPreWindows2000CompatibleAccessSid = 35 WinBuiltinRemoteDesktopUsersSid = 36 WinBuiltinNetworkConfigurationOperatorsSid = 37 WinAccountAdministratorSid = 38 WinAccountGuestSid = 39 WinAccountKrbtgtSid = 40 WinAccountDomainAdminsSid = 41 WinAccountDomainUsersSid = 42 WinAccountDomainGuestsSid = 43 WinAccountComputersSid = 44 WinAccountControllersSid = 45 WinAccountCertAdminsSid = 46 WinAccountSchemaAdminsSid = 47 WinAccountEnterpriseAdminsSid = 48 WinAccountPolicyAdminsSid = 49 WinAccountRasAndIasServersSid = 50 WinNTLMAuthenticationSid = 51 WinDigestAuthenticationSid = 52 WinSChannelAuthenticationSid = 53 WinThisOrganizationSid = 54 WinOtherOrganizationSid = 55 WinBuiltinIncomingForestTrustBuildersSid = 56 WinBuiltinPerfMonitoringUsersSid = 57 WinBuiltinPerfLoggingUsersSid = 58 WinBuiltinAuthorizationAccessSid = 59 WinBuiltinTerminalServerLicenseServersSid = 60 WinBuiltinDCOMUsersSid = 61 WinBuiltinIUsersSid = 62 WinIUserSid = 63 WinBuiltinCryptoOperatorsSid = 64 WinUntrustedLabelSid = 65 WinLowLabelSid = 66 WinMediumLabelSid = 67 WinHighLabelSid = 68 WinSystemLabelSid = 69 WinWriteRestrictedCodeSid = 70 WinCreatorOwnerRightsSid = 71 WinCacheablePrincipalsGroupSid = 72 WinNonCacheablePrincipalsGroupSid = 73 WinEnterpriseReadonlyControllersSid = 74 WinAccountReadonlyControllersSid = 75 WinBuiltinEventLogReadersGroup = 76 WinNewEnterpriseReadonlyControllersSid = 77 WinBuiltinCertSvcDComAccessGroup = 78 WinMediumPlusLabelSid = 79 WinLocalLogonSid = 80 WinConsoleLogonSid = 81 WinThisOrganizationCertificateSid = 82 WinApplicationPackageAuthoritySid = 83 WinBuiltinAnyPackageSid = 84 WinCapabilityInternetClientSid = 85 WinCapabilityInternetClientServerSid = 86 WinCapabilityPrivateNetworkClientServerSid = 87 WinCapabilityPicturesLibrarySid = 88 WinCapabilityVideosLibrarySid = 89 WinCapabilityMusicLibrarySid = 90 WinCapabilityDocumentsLibrarySid = 91 WinCapabilitySharedUserCertificatesSid = 92 WinCapabilityEnterpriseAuthenticationSid = 93 WinCapabilityRemovableStorageSid = 94 WinBuiltinRDSRemoteAccessServersSid = 95 WinBuiltinRDSEndpointServersSid = 96 WinBuiltinRDSManagementServersSid = 97 WinUserModeDriversSid = 98 WinBuiltinHyperVAdminsSid = 99 WinAccountCloneableControllersSid = 100 WinBuiltinAccessControlAssistanceOperatorsSid = 101 WinBuiltinRemoteManagementUsersSid = 102 WinAuthenticationAuthorityAssertedSid = 103 WinAuthenticationServiceAssertedSid = 104 WinLocalAccountSid = 105 WinLocalAccountAndAdministratorSid = 106 WinAccountProtectedUsersSid = 107 WinCapabilityAppointmentsSid = 108 WinCapabilityContactsSid = 109 WinAccountDefaultSystemManagedSid = 110 WinBuiltinDefaultSystemManagedGroupSid = 111 WinBuiltinStorageReplicaAdminsSid = 112 WinAccountKeyAdminsSid = 113 WinAccountEnterpriseKeyAdminsSid = 114 WinAuthenticationKeyTrustSid = 115 WinAuthenticationKeyPropertyMFASid = 116 WinAuthenticationKeyPropertyAttestationSid = 117 WinAuthenticationFreshKeyAuthSid = 118 WinBuiltinDeviceOwnersSid = 119 ) // Creates a SID for a well-known predefined alias, generally using the constants of the form // Win*Sid, for the local machine. func CreateWellKnownSid(sidType WELL_KNOWN_SID_TYPE) (*SID, error) { return CreateWellKnownDomainSid(sidType, nil) } // Creates a SID for a well-known predefined alias, generally using the constants of the form // Win*Sid, for the domain specified by the domainSid parameter. func CreateWellKnownDomainSid(sidType WELL_KNOWN_SID_TYPE, domainSid *SID) (*SID, error) { n := uint32(50) for { b := make([]byte, n) sid := (*SID)(unsafe.Pointer(&b[0])) err := createWellKnownSid(sidType, domainSid, sid, &n) if err == nil { return sid, nil } if err != ERROR_INSUFFICIENT_BUFFER { return nil, err } if n <= uint32(len(b)) { return nil, err } } } const ( // do not reorder TOKEN_ASSIGN_PRIMARY = 1 << iota TOKEN_DUPLICATE TOKEN_IMPERSONATE TOKEN_QUERY TOKEN_QUERY_SOURCE TOKEN_ADJUST_PRIVILEGES TOKEN_ADJUST_GROUPS TOKEN_ADJUST_DEFAULT TOKEN_ADJUST_SESSIONID TOKEN_ALL_ACCESS = STANDARD_RIGHTS_REQUIRED | TOKEN_ASSIGN_PRIMARY | TOKEN_DUPLICATE | TOKEN_IMPERSONATE | TOKEN_QUERY | TOKEN_QUERY_SOURCE | TOKEN_ADJUST_PRIVILEGES | TOKEN_ADJUST_GROUPS | TOKEN_ADJUST_DEFAULT | TOKEN_ADJUST_SESSIONID TOKEN_READ = STANDARD_RIGHTS_READ | TOKEN_QUERY TOKEN_WRITE = STANDARD_RIGHTS_WRITE | TOKEN_ADJUST_PRIVILEGES | TOKEN_ADJUST_GROUPS | TOKEN_ADJUST_DEFAULT TOKEN_EXECUTE = STANDARD_RIGHTS_EXECUTE ) const ( // do not reorder TokenUser = 1 + iota TokenGroups TokenPrivileges TokenOwner TokenPrimaryGroup TokenDefaultDacl TokenSource TokenType TokenImpersonationLevel TokenStatistics TokenRestrictedSids TokenSessionId TokenGroupsAndPrivileges TokenSessionReference TokenSandBoxInert TokenAuditPolicy TokenOrigin TokenElevationType TokenLinkedToken TokenElevation TokenHasRestrictions TokenAccessInformation TokenVirtualizationAllowed TokenVirtualizationEnabled TokenIntegrityLevel TokenUIAccess TokenMandatoryPolicy TokenLogonSid MaxTokenInfoClass ) // Group attributes inside of Tokengroups.Groups[i].Attributes const ( SE_GROUP_MANDATORY = 0x00000001 SE_GROUP_ENABLED_BY_DEFAULT = 0x00000002 SE_GROUP_ENABLED = 0x00000004 SE_GROUP_OWNER = 0x00000008 SE_GROUP_USE_FOR_DENY_ONLY = 0x00000010 SE_GROUP_INTEGRITY = 0x00000020 SE_GROUP_INTEGRITY_ENABLED = 0x00000040 SE_GROUP_LOGON_ID = 0xC0000000 SE_GROUP_RESOURCE = 0x20000000 SE_GROUP_VALID_ATTRIBUTES = SE_GROUP_MANDATORY | SE_GROUP_ENABLED_BY_DEFAULT | SE_GROUP_ENABLED | SE_GROUP_OWNER | SE_GROUP_USE_FOR_DENY_ONLY | SE_GROUP_LOGON_ID | SE_GROUP_RESOURCE | SE_GROUP_INTEGRITY | SE_GROUP_INTEGRITY_ENABLED ) // Privilege attributes const ( SE_PRIVILEGE_ENABLED_BY_DEFAULT = 0x00000001 SE_PRIVILEGE_ENABLED = 0x00000002 SE_PRIVILEGE_REMOVED = 0x00000004 SE_PRIVILEGE_USED_FOR_ACCESS = 0x80000000 SE_PRIVILEGE_VALID_ATTRIBUTES = SE_PRIVILEGE_ENABLED_BY_DEFAULT | SE_PRIVILEGE_ENABLED | SE_PRIVILEGE_REMOVED | SE_PRIVILEGE_USED_FOR_ACCESS ) // Token types const ( TokenPrimary = 1 TokenImpersonation = 2 ) // Impersonation levels const ( SecurityAnonymous = 0 SecurityIdentification = 1 SecurityImpersonation = 2 SecurityDelegation = 3 ) type LUID struct { LowPart uint32 HighPart int32 } type LUIDAndAttributes struct { Luid LUID Attributes uint32 } type SIDAndAttributes struct { Sid *SID Attributes uint32 } type Tokenuser struct { User SIDAndAttributes } type Tokenprimarygroup struct { PrimaryGroup *SID } type Tokengroups struct { GroupCount uint32 Groups [1]SIDAndAttributes // Use AllGroups() for iterating. } // AllGroups returns a slice that can be used to iterate over the groups in g. func (g *Tokengroups) AllGroups() []SIDAndAttributes { return (*[(1 << 28) - 1]SIDAndAttributes)(unsafe.Pointer(&g.Groups[0]))[:g.GroupCount:g.GroupCount] } type Tokenprivileges struct { PrivilegeCount uint32 Privileges [1]LUIDAndAttributes // Use AllPrivileges() for iterating. } // AllPrivileges returns a slice that can be used to iterate over the privileges in p. func (p *Tokenprivileges) AllPrivileges() []LUIDAndAttributes { return (*[(1 << 27) - 1]LUIDAndAttributes)(unsafe.Pointer(&p.Privileges[0]))[:p.PrivilegeCount:p.PrivilegeCount] } type Tokenmandatorylabel struct { Label SIDAndAttributes } func (tml *Tokenmandatorylabel) Size() uint32 { return uint32(unsafe.Sizeof(Tokenmandatorylabel{})) + GetLengthSid(tml.Label.Sid) } // Authorization Functions //sys checkTokenMembership(tokenHandle Token, sidToCheck *SID, isMember *int32) (err error) = advapi32.CheckTokenMembership //sys isTokenRestricted(tokenHandle Token) (ret bool, err error) [!failretval] = advapi32.IsTokenRestricted //sys OpenProcessToken(process Handle, access uint32, token *Token) (err error) = advapi32.OpenProcessToken //sys OpenThreadToken(thread Handle, access uint32, openAsSelf bool, token *Token) (err error) = advapi32.OpenThreadToken //sys ImpersonateSelf(impersonationlevel uint32) (err error) = advapi32.ImpersonateSelf //sys RevertToSelf() (err error) = advapi32.RevertToSelf //sys SetThreadToken(thread *Handle, token Token) (err error) = advapi32.SetThreadToken //sys LookupPrivilegeValue(systemname *uint16, name *uint16, luid *LUID) (err error) = advapi32.LookupPrivilegeValueW //sys AdjustTokenPrivileges(token Token, disableAllPrivileges bool, newstate *Tokenprivileges, buflen uint32, prevstate *Tokenprivileges, returnlen *uint32) (err error) = advapi32.AdjustTokenPrivileges //sys AdjustTokenGroups(token Token, resetToDefault bool, newstate *Tokengroups, buflen uint32, prevstate *Tokengroups, returnlen *uint32) (err error) = advapi32.AdjustTokenGroups //sys GetTokenInformation(token Token, infoClass uint32, info *byte, infoLen uint32, returnedLen *uint32) (err error) = advapi32.GetTokenInformation //sys SetTokenInformation(token Token, infoClass uint32, info *byte, infoLen uint32) (err error) = advapi32.SetTokenInformation //sys DuplicateTokenEx(existingToken Token, desiredAccess uint32, tokenAttributes *SecurityAttributes, impersonationLevel uint32, tokenType uint32, newToken *Token) (err error) = advapi32.DuplicateTokenEx //sys GetUserProfileDirectory(t Token, dir *uint16, dirLen *uint32) (err error) = userenv.GetUserProfileDirectoryW //sys getSystemDirectory(dir *uint16, dirLen uint32) (len uint32, err error) = kernel32.GetSystemDirectoryW //sys getWindowsDirectory(dir *uint16, dirLen uint32) (len uint32, err error) = kernel32.GetWindowsDirectoryW //sys getSystemWindowsDirectory(dir *uint16, dirLen uint32) (len uint32, err error) = kernel32.GetSystemWindowsDirectoryW // An access token contains the security information for a logon session. // The system creates an access token when a user logs on, and every // process executed on behalf of the user has a copy of the token. // The token identifies the user, the user's groups, and the user's // privileges. The system uses the token to control access to securable // objects and to control the ability of the user to perform various // system-related operations on the local computer. type Token Handle // OpenCurrentProcessToken opens an access token associated with current // process with TOKEN_QUERY access. It is a real token that needs to be closed. // // Deprecated: Explicitly call OpenProcessToken(CurrentProcess(), ...) // with the desired access instead, or use GetCurrentProcessToken for a // TOKEN_QUERY token. func OpenCurrentProcessToken() (Token, error) { var token Token err := OpenProcessToken(CurrentProcess(), TOKEN_QUERY, &token) return token, err } // GetCurrentProcessToken returns the access token associated with // the current process. It is a pseudo token that does not need // to be closed. func GetCurrentProcessToken() Token { return Token(^uintptr(4 - 1)) } // GetCurrentThreadToken return the access token associated with // the current thread. It is a pseudo token that does not need // to be closed. func GetCurrentThreadToken() Token { return Token(^uintptr(5 - 1)) } // GetCurrentThreadEffectiveToken returns the effective access token // associated with the current thread. It is a pseudo token that does // not need to be closed. func GetCurrentThreadEffectiveToken() Token { return Token(^uintptr(6 - 1)) } // Close releases access to access token. func (t Token) Close() error { return CloseHandle(Handle(t)) } // getInfo retrieves a specified type of information about an access token. func (t Token) getInfo(class uint32, initSize int) (unsafe.Pointer, error) { n := uint32(initSize) for { b := make([]byte, n) e := GetTokenInformation(t, class, &b[0], uint32(len(b)), &n) if e == nil { return unsafe.Pointer(&b[0]), nil } if e != ERROR_INSUFFICIENT_BUFFER { return nil, e } if n <= uint32(len(b)) { return nil, e } } } // GetTokenUser retrieves access token t user account information. func (t Token) GetTokenUser() (*Tokenuser, error) { i, e := t.getInfo(TokenUser, 50) if e != nil { return nil, e } return (*Tokenuser)(i), nil } // GetTokenGroups retrieves group accounts associated with access token t. func (t Token) GetTokenGroups() (*Tokengroups, error) { i, e := t.getInfo(TokenGroups, 50) if e != nil { return nil, e } return (*Tokengroups)(i), nil } // GetTokenPrimaryGroup retrieves access token t primary group information. // A pointer to a SID structure representing a group that will become // the primary group of any objects created by a process using this access token. func (t Token) GetTokenPrimaryGroup() (*Tokenprimarygroup, error) { i, e := t.getInfo(TokenPrimaryGroup, 50) if e != nil { return nil, e } return (*Tokenprimarygroup)(i), nil } // GetUserProfileDirectory retrieves path to the // root directory of the access token t user's profile. func (t Token) GetUserProfileDirectory() (string, error) { n := uint32(100) for { b := make([]uint16, n) e := GetUserProfileDirectory(t, &b[0], &n) if e == nil { return UTF16ToString(b), nil } if e != ERROR_INSUFFICIENT_BUFFER { return "", e } if n <= uint32(len(b)) { return "", e } } } // IsElevated returns whether the current token is elevated from a UAC perspective. func (token Token) IsElevated() bool { var isElevated uint32 var outLen uint32 err := GetTokenInformation(token, TokenElevation, (*byte)(unsafe.Pointer(&isElevated)), uint32(unsafe.Sizeof(isElevated)), &outLen) if err != nil { return false } return outLen == uint32(unsafe.Sizeof(isElevated)) && isElevated != 0 } // GetLinkedToken returns the linked token, which may be an elevated UAC token. func (token Token) GetLinkedToken() (Token, error) { var linkedToken Token var outLen uint32 err := GetTokenInformation(token, TokenLinkedToken, (*byte)(unsafe.Pointer(&linkedToken)), uint32(unsafe.Sizeof(linkedToken)), &outLen) if err != nil { return Token(0), err } return linkedToken, nil } // GetSystemDirectory retrieves the path to current location of the system // directory, which is typically, though not always, `C:\Windows\System32`. func GetSystemDirectory() (string, error) { n := uint32(MAX_PATH) for { b := make([]uint16, n) l, e := getSystemDirectory(&b[0], n) if e != nil { return "", e } if l <= n { return UTF16ToString(b[:l]), nil } n = l } } // GetWindowsDirectory retrieves the path to current location of the Windows // directory, which is typically, though not always, `C:\Windows`. This may // be a private user directory in the case that the application is running // under a terminal server. func GetWindowsDirectory() (string, error) { n := uint32(MAX_PATH) for { b := make([]uint16, n) l, e := getWindowsDirectory(&b[0], n) if e != nil { return "", e } if l <= n { return UTF16ToString(b[:l]), nil } n = l } } // GetSystemWindowsDirectory retrieves the path to current location of the // Windows directory, which is typically, though not always, `C:\Windows`. func GetSystemWindowsDirectory() (string, error) { n := uint32(MAX_PATH) for { b := make([]uint16, n) l, e := getSystemWindowsDirectory(&b[0], n) if e != nil { return "", e } if l <= n { return UTF16ToString(b[:l]), nil } n = l } } // IsMember reports whether the access token t is a member of the provided SID. func (t Token) IsMember(sid *SID) (bool, error) { var b int32 if e := checkTokenMembership(t, sid, &b); e != nil { return false, e } return b != 0, nil } // IsRestricted reports whether the access token t is a restricted token. func (t Token) IsRestricted() (isRestricted bool, err error) { isRestricted, err = isTokenRestricted(t) if !isRestricted && err == syscall.EINVAL { // If err is EINVAL, this returned ERROR_SUCCESS indicating a non-restricted token. err = nil } return } const ( WTS_CONSOLE_CONNECT = 0x1 WTS_CONSOLE_DISCONNECT = 0x2 WTS_REMOTE_CONNECT = 0x3 WTS_REMOTE_DISCONNECT = 0x4 WTS_SESSION_LOGON = 0x5 WTS_SESSION_LOGOFF = 0x6 WTS_SESSION_LOCK = 0x7 WTS_SESSION_UNLOCK = 0x8 WTS_SESSION_REMOTE_CONTROL = 0x9 WTS_SESSION_CREATE = 0xa WTS_SESSION_TERMINATE = 0xb ) const ( WTSActive = 0 WTSConnected = 1 WTSConnectQuery = 2 WTSShadow = 3 WTSDisconnected = 4 WTSIdle = 5 WTSListen = 6 WTSReset = 7 WTSDown = 8 WTSInit = 9 ) type WTSSESSION_NOTIFICATION struct { Size uint32 SessionID uint32 } type WTS_SESSION_INFO struct { SessionID uint32 WindowStationName *uint16 State uint32 } //sys WTSQueryUserToken(session uint32, token *Token) (err error) = wtsapi32.WTSQueryUserToken //sys WTSEnumerateSessions(handle Handle, reserved uint32, version uint32, sessions **WTS_SESSION_INFO, count *uint32) (err error) = wtsapi32.WTSEnumerateSessionsW //sys WTSFreeMemory(ptr uintptr) = wtsapi32.WTSFreeMemory //sys WTSGetActiveConsoleSessionId() (sessionID uint32) type ACL struct { aclRevision byte sbz1 byte aclSize uint16 AceCount uint16 sbz2 uint16 } type SECURITY_DESCRIPTOR struct { revision byte sbz1 byte control SECURITY_DESCRIPTOR_CONTROL owner *SID group *SID sacl *ACL dacl *ACL } type SECURITY_QUALITY_OF_SERVICE struct { Length uint32 ImpersonationLevel uint32 ContextTrackingMode byte EffectiveOnly byte } // Constants for the ContextTrackingMode field of SECURITY_QUALITY_OF_SERVICE. const ( SECURITY_STATIC_TRACKING = 0 SECURITY_DYNAMIC_TRACKING = 1 ) type SecurityAttributes struct { Length uint32 SecurityDescriptor *SECURITY_DESCRIPTOR InheritHandle uint32 } type SE_OBJECT_TYPE uint32 // Constants for type SE_OBJECT_TYPE const ( SE_UNKNOWN_OBJECT_TYPE = 0 SE_FILE_OBJECT = 1 SE_SERVICE = 2 SE_PRINTER = 3 SE_REGISTRY_KEY = 4 SE_LMSHARE = 5 SE_KERNEL_OBJECT = 6 SE_WINDOW_OBJECT = 7 SE_DS_OBJECT = 8 SE_DS_OBJECT_ALL = 9 SE_PROVIDER_DEFINED_OBJECT = 10 SE_WMIGUID_OBJECT = 11 SE_REGISTRY_WOW64_32KEY = 12 SE_REGISTRY_WOW64_64KEY = 13 ) type SECURITY_INFORMATION uint32 // Constants for type SECURITY_INFORMATION const ( OWNER_SECURITY_INFORMATION = 0x00000001 GROUP_SECURITY_INFORMATION = 0x00000002 DACL_SECURITY_INFORMATION = 0x00000004 SACL_SECURITY_INFORMATION = 0x00000008 LABEL_SECURITY_INFORMATION = 0x00000010 ATTRIBUTE_SECURITY_INFORMATION = 0x00000020 SCOPE_SECURITY_INFORMATION = 0x00000040 BACKUP_SECURITY_INFORMATION = 0x00010000 PROTECTED_DACL_SECURITY_INFORMATION = 0x80000000 PROTECTED_SACL_SECURITY_INFORMATION = 0x40000000 UNPROTECTED_DACL_SECURITY_INFORMATION = 0x20000000 UNPROTECTED_SACL_SECURITY_INFORMATION = 0x10000000 ) type SECURITY_DESCRIPTOR_CONTROL uint16 // Constants for type SECURITY_DESCRIPTOR_CONTROL const ( SE_OWNER_DEFAULTED = 0x0001 SE_GROUP_DEFAULTED = 0x0002 SE_DACL_PRESENT = 0x0004 SE_DACL_DEFAULTED = 0x0008 SE_SACL_PRESENT = 0x0010 SE_SACL_DEFAULTED = 0x0020 SE_DACL_AUTO_INHERIT_REQ = 0x0100 SE_SACL_AUTO_INHERIT_REQ = 0x0200 SE_DACL_AUTO_INHERITED = 0x0400 SE_SACL_AUTO_INHERITED = 0x0800 SE_DACL_PROTECTED = 0x1000 SE_SACL_PROTECTED = 0x2000 SE_RM_CONTROL_VALID = 0x4000 SE_SELF_RELATIVE = 0x8000 ) type ACCESS_MASK uint32 // Constants for type ACCESS_MASK const ( DELETE = 0x00010000 READ_CONTROL = 0x00020000 WRITE_DAC = 0x00040000 WRITE_OWNER = 0x00080000 SYNCHRONIZE = 0x00100000 STANDARD_RIGHTS_REQUIRED = 0x000F0000 STANDARD_RIGHTS_READ = READ_CONTROL STANDARD_RIGHTS_WRITE = READ_CONTROL STANDARD_RIGHTS_EXECUTE = READ_CONTROL STANDARD_RIGHTS_ALL = 0x001F0000 SPECIFIC_RIGHTS_ALL = 0x0000FFFF ACCESS_SYSTEM_SECURITY = 0x01000000 MAXIMUM_ALLOWED = 0x02000000 GENERIC_READ = 0x80000000 GENERIC_WRITE = 0x40000000 GENERIC_EXECUTE = 0x20000000 GENERIC_ALL = 0x10000000 ) type ACCESS_MODE uint32 // Constants for type ACCESS_MODE const ( NOT_USED_ACCESS = 0 GRANT_ACCESS = 1 SET_ACCESS = 2 DENY_ACCESS = 3 REVOKE_ACCESS = 4 SET_AUDIT_SUCCESS = 5 SET_AUDIT_FAILURE = 6 ) // Constants for AceFlags and Inheritance fields const ( NO_INHERITANCE = 0x0 SUB_OBJECTS_ONLY_INHERIT = 0x1 SUB_CONTAINERS_ONLY_INHERIT = 0x2 SUB_CONTAINERS_AND_OBJECTS_INHERIT = 0x3 INHERIT_NO_PROPAGATE = 0x4 INHERIT_ONLY = 0x8 INHERITED_ACCESS_ENTRY = 0x10 INHERITED_PARENT = 0x10000000 INHERITED_GRANDPARENT = 0x20000000 OBJECT_INHERIT_ACE = 0x1 CONTAINER_INHERIT_ACE = 0x2 NO_PROPAGATE_INHERIT_ACE = 0x4 INHERIT_ONLY_ACE = 0x8 INHERITED_ACE = 0x10 VALID_INHERIT_FLAGS = 0x1F ) type MULTIPLE_TRUSTEE_OPERATION uint32 // Constants for MULTIPLE_TRUSTEE_OPERATION const ( NO_MULTIPLE_TRUSTEE = 0 TRUSTEE_IS_IMPERSONATE = 1 ) type TRUSTEE_FORM uint32 // Constants for TRUSTEE_FORM const ( TRUSTEE_IS_SID = 0 TRUSTEE_IS_NAME = 1 TRUSTEE_BAD_FORM = 2 TRUSTEE_IS_OBJECTS_AND_SID = 3 TRUSTEE_IS_OBJECTS_AND_NAME = 4 ) type TRUSTEE_TYPE uint32 // Constants for TRUSTEE_TYPE const ( TRUSTEE_IS_UNKNOWN = 0 TRUSTEE_IS_USER = 1 TRUSTEE_IS_GROUP = 2 TRUSTEE_IS_DOMAIN = 3 TRUSTEE_IS_ALIAS = 4 TRUSTEE_IS_WELL_KNOWN_GROUP = 5 TRUSTEE_IS_DELETED = 6 TRUSTEE_IS_INVALID = 7 TRUSTEE_IS_COMPUTER = 8 ) // Constants for ObjectsPresent field const ( ACE_OBJECT_TYPE_PRESENT = 0x1 ACE_INHERITED_OBJECT_TYPE_PRESENT = 0x2 ) type EXPLICIT_ACCESS struct { AccessPermissions ACCESS_MASK AccessMode ACCESS_MODE Inheritance uint32 Trustee TRUSTEE } // https://learn.microsoft.com/en-us/windows/win32/api/winnt/ns-winnt-ace_header type ACE_HEADER struct { AceType uint8 AceFlags uint8 AceSize uint16 } // https://learn.microsoft.com/en-us/windows/win32/api/winnt/ns-winnt-access_allowed_ace type ACCESS_ALLOWED_ACE struct { Header ACE_HEADER Mask ACCESS_MASK SidStart uint32 } const ( // Constants for AceType // https://learn.microsoft.com/en-us/windows/win32/api/winnt/ns-winnt-ace_header ACCESS_ALLOWED_ACE_TYPE = 0 ACCESS_DENIED_ACE_TYPE = 1 ) // This type is the union inside of TRUSTEE and must be created using one of the TrusteeValueFrom* functions. type TrusteeValue uintptr func TrusteeValueFromString(str string) TrusteeValue { return TrusteeValue(unsafe.Pointer(StringToUTF16Ptr(str))) } func TrusteeValueFromSID(sid *SID) TrusteeValue { return TrusteeValue(unsafe.Pointer(sid)) } func TrusteeValueFromObjectsAndSid(objectsAndSid *OBJECTS_AND_SID) TrusteeValue { return TrusteeValue(unsafe.Pointer(objectsAndSid)) } func TrusteeValueFromObjectsAndName(objectsAndName *OBJECTS_AND_NAME) TrusteeValue { return TrusteeValue(unsafe.Pointer(objectsAndName)) } type TRUSTEE struct { MultipleTrustee *TRUSTEE MultipleTrusteeOperation MULTIPLE_TRUSTEE_OPERATION TrusteeForm TRUSTEE_FORM TrusteeType TRUSTEE_TYPE TrusteeValue TrusteeValue } type OBJECTS_AND_SID struct { ObjectsPresent uint32 ObjectTypeGuid GUID InheritedObjectTypeGuid GUID Sid *SID } type OBJECTS_AND_NAME struct { ObjectsPresent uint32 ObjectType SE_OBJECT_TYPE ObjectTypeName *uint16 InheritedObjectTypeName *uint16 Name *uint16 } //sys getSecurityInfo(handle Handle, objectType SE_OBJECT_TYPE, securityInformation SECURITY_INFORMATION, owner **SID, group **SID, dacl **ACL, sacl **ACL, sd **SECURITY_DESCRIPTOR) (ret error) = advapi32.GetSecurityInfo //sys SetSecurityInfo(handle Handle, objectType SE_OBJECT_TYPE, securityInformation SECURITY_INFORMATION, owner *SID, group *SID, dacl *ACL, sacl *ACL) (ret error) = advapi32.SetSecurityInfo //sys getNamedSecurityInfo(objectName string, objectType SE_OBJECT_TYPE, securityInformation SECURITY_INFORMATION, owner **SID, group **SID, dacl **ACL, sacl **ACL, sd **SECURITY_DESCRIPTOR) (ret error) = advapi32.GetNamedSecurityInfoW //sys SetNamedSecurityInfo(objectName string, objectType SE_OBJECT_TYPE, securityInformation SECURITY_INFORMATION, owner *SID, group *SID, dacl *ACL, sacl *ACL) (ret error) = advapi32.SetNamedSecurityInfoW //sys SetKernelObjectSecurity(handle Handle, securityInformation SECURITY_INFORMATION, securityDescriptor *SECURITY_DESCRIPTOR) (err error) = advapi32.SetKernelObjectSecurity //sys buildSecurityDescriptor(owner *TRUSTEE, group *TRUSTEE, countAccessEntries uint32, accessEntries *EXPLICIT_ACCESS, countAuditEntries uint32, auditEntries *EXPLICIT_ACCESS, oldSecurityDescriptor *SECURITY_DESCRIPTOR, sizeNewSecurityDescriptor *uint32, newSecurityDescriptor **SECURITY_DESCRIPTOR) (ret error) = advapi32.BuildSecurityDescriptorW //sys initializeSecurityDescriptor(absoluteSD *SECURITY_DESCRIPTOR, revision uint32) (err error) = advapi32.InitializeSecurityDescriptor //sys getSecurityDescriptorControl(sd *SECURITY_DESCRIPTOR, control *SECURITY_DESCRIPTOR_CONTROL, revision *uint32) (err error) = advapi32.GetSecurityDescriptorControl //sys getSecurityDescriptorDacl(sd *SECURITY_DESCRIPTOR, daclPresent *bool, dacl **ACL, daclDefaulted *bool) (err error) = advapi32.GetSecurityDescriptorDacl //sys getSecurityDescriptorSacl(sd *SECURITY_DESCRIPTOR, saclPresent *bool, sacl **ACL, saclDefaulted *bool) (err error) = advapi32.GetSecurityDescriptorSacl //sys getSecurityDescriptorOwner(sd *SECURITY_DESCRIPTOR, owner **SID, ownerDefaulted *bool) (err error) = advapi32.GetSecurityDescriptorOwner //sys getSecurityDescriptorGroup(sd *SECURITY_DESCRIPTOR, group **SID, groupDefaulted *bool) (err error) = advapi32.GetSecurityDescriptorGroup //sys getSecurityDescriptorLength(sd *SECURITY_DESCRIPTOR) (len uint32) = advapi32.GetSecurityDescriptorLength //sys getSecurityDescriptorRMControl(sd *SECURITY_DESCRIPTOR, rmControl *uint8) (ret error) [failretval!=0] = advapi32.GetSecurityDescriptorRMControl //sys isValidSecurityDescriptor(sd *SECURITY_DESCRIPTOR) (isValid bool) = advapi32.IsValidSecurityDescriptor //sys setSecurityDescriptorControl(sd *SECURITY_DESCRIPTOR, controlBitsOfInterest SECURITY_DESCRIPTOR_CONTROL, controlBitsToSet SECURITY_DESCRIPTOR_CONTROL) (err error) = advapi32.SetSecurityDescriptorControl //sys setSecurityDescriptorDacl(sd *SECURITY_DESCRIPTOR, daclPresent bool, dacl *ACL, daclDefaulted bool) (err error) = advapi32.SetSecurityDescriptorDacl //sys setSecurityDescriptorSacl(sd *SECURITY_DESCRIPTOR, saclPresent bool, sacl *ACL, saclDefaulted bool) (err error) = advapi32.SetSecurityDescriptorSacl //sys setSecurityDescriptorOwner(sd *SECURITY_DESCRIPTOR, owner *SID, ownerDefaulted bool) (err error) = advapi32.SetSecurityDescriptorOwner //sys setSecurityDescriptorGroup(sd *SECURITY_DESCRIPTOR, group *SID, groupDefaulted bool) (err error) = advapi32.SetSecurityDescriptorGroup //sys setSecurityDescriptorRMControl(sd *SECURITY_DESCRIPTOR, rmControl *uint8) = advapi32.SetSecurityDescriptorRMControl //sys convertStringSecurityDescriptorToSecurityDescriptor(str string, revision uint32, sd **SECURITY_DESCRIPTOR, size *uint32) (err error) = advapi32.ConvertStringSecurityDescriptorToSecurityDescriptorW //sys convertSecurityDescriptorToStringSecurityDescriptor(sd *SECURITY_DESCRIPTOR, revision uint32, securityInformation SECURITY_INFORMATION, str **uint16, strLen *uint32) (err error) = advapi32.ConvertSecurityDescriptorToStringSecurityDescriptorW //sys makeAbsoluteSD(selfRelativeSD *SECURITY_DESCRIPTOR, absoluteSD *SECURITY_DESCRIPTOR, absoluteSDSize *uint32, dacl *ACL, daclSize *uint32, sacl *ACL, saclSize *uint32, owner *SID, ownerSize *uint32, group *SID, groupSize *uint32) (err error) = advapi32.MakeAbsoluteSD //sys makeSelfRelativeSD(absoluteSD *SECURITY_DESCRIPTOR, selfRelativeSD *SECURITY_DESCRIPTOR, selfRelativeSDSize *uint32) (err error) = advapi32.MakeSelfRelativeSD //sys setEntriesInAcl(countExplicitEntries uint32, explicitEntries *EXPLICIT_ACCESS, oldACL *ACL, newACL **ACL) (ret error) = advapi32.SetEntriesInAclW //sys GetAce(acl *ACL, aceIndex uint32, pAce **ACCESS_ALLOWED_ACE) (err error) = advapi32.GetAce // Control returns the security descriptor control bits. func (sd *SECURITY_DESCRIPTOR) Control() (control SECURITY_DESCRIPTOR_CONTROL, revision uint32, err error) { err = getSecurityDescriptorControl(sd, &control, &revision) return } // SetControl sets the security descriptor control bits. func (sd *SECURITY_DESCRIPTOR) SetControl(controlBitsOfInterest SECURITY_DESCRIPTOR_CONTROL, controlBitsToSet SECURITY_DESCRIPTOR_CONTROL) error { return setSecurityDescriptorControl(sd, controlBitsOfInterest, controlBitsToSet) } // RMControl returns the security descriptor resource manager control bits. func (sd *SECURITY_DESCRIPTOR) RMControl() (control uint8, err error) { err = getSecurityDescriptorRMControl(sd, &control) return } // SetRMControl sets the security descriptor resource manager control bits. func (sd *SECURITY_DESCRIPTOR) SetRMControl(rmControl uint8) { setSecurityDescriptorRMControl(sd, &rmControl) } // DACL returns the security descriptor DACL and whether it was defaulted. The dacl return value may be nil // if a DACL exists but is an "empty DACL", meaning fully permissive. If the DACL does not exist, err returns // ERROR_OBJECT_NOT_FOUND. func (sd *SECURITY_DESCRIPTOR) DACL() (dacl *ACL, defaulted bool, err error) { var present bool err = getSecurityDescriptorDacl(sd, &present, &dacl, &defaulted) if !present { err = ERROR_OBJECT_NOT_FOUND } return } // SetDACL sets the absolute security descriptor DACL. func (absoluteSD *SECURITY_DESCRIPTOR) SetDACL(dacl *ACL, present, defaulted bool) error { return setSecurityDescriptorDacl(absoluteSD, present, dacl, defaulted) } // SACL returns the security descriptor SACL and whether it was defaulted. The sacl return value may be nil // if a SACL exists but is an "empty SACL", meaning fully permissive. If the SACL does not exist, err returns // ERROR_OBJECT_NOT_FOUND. func (sd *SECURITY_DESCRIPTOR) SACL() (sacl *ACL, defaulted bool, err error) { var present bool err = getSecurityDescriptorSacl(sd, &present, &sacl, &defaulted) if !present { err = ERROR_OBJECT_NOT_FOUND } return } // SetSACL sets the absolute security descriptor SACL. func (absoluteSD *SECURITY_DESCRIPTOR) SetSACL(sacl *ACL, present, defaulted bool) error { return setSecurityDescriptorSacl(absoluteSD, present, sacl, defaulted) } // Owner returns the security descriptor owner and whether it was defaulted. func (sd *SECURITY_DESCRIPTOR) Owner() (owner *SID, defaulted bool, err error) { err = getSecurityDescriptorOwner(sd, &owner, &defaulted) return } // SetOwner sets the absolute security descriptor owner. func (absoluteSD *SECURITY_DESCRIPTOR) SetOwner(owner *SID, defaulted bool) error { return setSecurityDescriptorOwner(absoluteSD, owner, defaulted) } // Group returns the security descriptor group and whether it was defaulted. func (sd *SECURITY_DESCRIPTOR) Group() (group *SID, defaulted bool, err error) { err = getSecurityDescriptorGroup(sd, &group, &defaulted) return } // SetGroup sets the absolute security descriptor owner. func (absoluteSD *SECURITY_DESCRIPTOR) SetGroup(group *SID, defaulted bool) error { return setSecurityDescriptorGroup(absoluteSD, group, defaulted) } // Length returns the length of the security descriptor. func (sd *SECURITY_DESCRIPTOR) Length() uint32 { return getSecurityDescriptorLength(sd) } // IsValid returns whether the security descriptor is valid. func (sd *SECURITY_DESCRIPTOR) IsValid() bool { return isValidSecurityDescriptor(sd) } // String returns the SDDL form of the security descriptor, with a function signature that can be // used with %v formatting directives. func (sd *SECURITY_DESCRIPTOR) String() string { var sddl *uint16 err := convertSecurityDescriptorToStringSecurityDescriptor(sd, 1, 0xff, &sddl, nil) if err != nil { return "" } defer LocalFree(Handle(unsafe.Pointer(sddl))) return UTF16PtrToString(sddl) } // ToAbsolute converts a self-relative security descriptor into an absolute one. func (selfRelativeSD *SECURITY_DESCRIPTOR) ToAbsolute() (absoluteSD *SECURITY_DESCRIPTOR, err error) { control, _, err := selfRelativeSD.Control() if err != nil { return } if control&SE_SELF_RELATIVE == 0 { err = ERROR_INVALID_PARAMETER return } var absoluteSDSize, daclSize, saclSize, ownerSize, groupSize uint32 err = makeAbsoluteSD(selfRelativeSD, nil, &absoluteSDSize, nil, &daclSize, nil, &saclSize, nil, &ownerSize, nil, &groupSize) switch err { case ERROR_INSUFFICIENT_BUFFER: case nil: // makeAbsoluteSD is expected to fail, but it succeeds. return nil, ERROR_INTERNAL_ERROR default: return nil, err } if absoluteSDSize > 0 { absoluteSD = (*SECURITY_DESCRIPTOR)(unsafe.Pointer(&make([]byte, absoluteSDSize)[0])) } var ( dacl *ACL sacl *ACL owner *SID group *SID ) if daclSize > 0 { dacl = (*ACL)(unsafe.Pointer(&make([]byte, daclSize)[0])) } if saclSize > 0 { sacl = (*ACL)(unsafe.Pointer(&make([]byte, saclSize)[0])) } if ownerSize > 0 { owner = (*SID)(unsafe.Pointer(&make([]byte, ownerSize)[0])) } if groupSize > 0 { group = (*SID)(unsafe.Pointer(&make([]byte, groupSize)[0])) } err = makeAbsoluteSD(selfRelativeSD, absoluteSD, &absoluteSDSize, dacl, &daclSize, sacl, &saclSize, owner, &ownerSize, group, &groupSize) return } // ToSelfRelative converts an absolute security descriptor into a self-relative one. func (absoluteSD *SECURITY_DESCRIPTOR) ToSelfRelative() (selfRelativeSD *SECURITY_DESCRIPTOR, err error) { control, _, err := absoluteSD.Control() if err != nil { return } if control&SE_SELF_RELATIVE != 0 { err = ERROR_INVALID_PARAMETER return } var selfRelativeSDSize uint32 err = makeSelfRelativeSD(absoluteSD, nil, &selfRelativeSDSize) switch err { case ERROR_INSUFFICIENT_BUFFER: case nil: // makeSelfRelativeSD is expected to fail, but it succeeds. return nil, ERROR_INTERNAL_ERROR default: return nil, err } if selfRelativeSDSize > 0 { selfRelativeSD = (*SECURITY_DESCRIPTOR)(unsafe.Pointer(&make([]byte, selfRelativeSDSize)[0])) } err = makeSelfRelativeSD(absoluteSD, selfRelativeSD, &selfRelativeSDSize) return } func (selfRelativeSD *SECURITY_DESCRIPTOR) copySelfRelativeSecurityDescriptor() *SECURITY_DESCRIPTOR { sdLen := int(selfRelativeSD.Length()) const min = int(unsafe.Sizeof(SECURITY_DESCRIPTOR{})) if sdLen < min { sdLen = min } src := unsafe.Slice((*byte)(unsafe.Pointer(selfRelativeSD)), sdLen) // SECURITY_DESCRIPTOR has pointers in it, which means checkptr expects for it to // be aligned properly. When we're copying a Windows-allocated struct to a // Go-allocated one, make sure that the Go allocation is aligned to the // pointer size. const psize = int(unsafe.Sizeof(uintptr(0))) alloc := make([]uintptr, (sdLen+psize-1)/psize) dst := unsafe.Slice((*byte)(unsafe.Pointer(&alloc[0])), sdLen) copy(dst, src) return (*SECURITY_DESCRIPTOR)(unsafe.Pointer(&dst[0])) } // SecurityDescriptorFromString converts an SDDL string describing a security descriptor into a // self-relative security descriptor object allocated on the Go heap. func SecurityDescriptorFromString(sddl string) (sd *SECURITY_DESCRIPTOR, err error) { var winHeapSD *SECURITY_DESCRIPTOR err = convertStringSecurityDescriptorToSecurityDescriptor(sddl, 1, &winHeapSD, nil) if err != nil { return } defer LocalFree(Handle(unsafe.Pointer(winHeapSD))) return winHeapSD.copySelfRelativeSecurityDescriptor(), nil } // GetSecurityInfo queries the security information for a given handle and returns the self-relative security // descriptor result on the Go heap. func GetSecurityInfo(handle Handle, objectType SE_OBJECT_TYPE, securityInformation SECURITY_INFORMATION) (sd *SECURITY_DESCRIPTOR, err error) { var winHeapSD *SECURITY_DESCRIPTOR err = getSecurityInfo(handle, objectType, securityInformation, nil, nil, nil, nil, &winHeapSD) if err != nil { return } defer LocalFree(Handle(unsafe.Pointer(winHeapSD))) return winHeapSD.copySelfRelativeSecurityDescriptor(), nil } // GetNamedSecurityInfo queries the security information for a given named object and returns the self-relative security // descriptor result on the Go heap. func GetNamedSecurityInfo(objectName string, objectType SE_OBJECT_TYPE, securityInformation SECURITY_INFORMATION) (sd *SECURITY_DESCRIPTOR, err error) { var winHeapSD *SECURITY_DESCRIPTOR err = getNamedSecurityInfo(objectName, objectType, securityInformation, nil, nil, nil, nil, &winHeapSD) if err != nil { return } defer LocalFree(Handle(unsafe.Pointer(winHeapSD))) return winHeapSD.copySelfRelativeSecurityDescriptor(), nil } // BuildSecurityDescriptor makes a new security descriptor using the input trustees, explicit access lists, and // prior security descriptor to be merged, any of which can be nil, returning the self-relative security descriptor // result on the Go heap. func BuildSecurityDescriptor(owner *TRUSTEE, group *TRUSTEE, accessEntries []EXPLICIT_ACCESS, auditEntries []EXPLICIT_ACCESS, mergedSecurityDescriptor *SECURITY_DESCRIPTOR) (sd *SECURITY_DESCRIPTOR, err error) { var winHeapSD *SECURITY_DESCRIPTOR var winHeapSDSize uint32 var firstAccessEntry *EXPLICIT_ACCESS if len(accessEntries) > 0 { firstAccessEntry = &accessEntries[0] } var firstAuditEntry *EXPLICIT_ACCESS if len(auditEntries) > 0 { firstAuditEntry = &auditEntries[0] } err = buildSecurityDescriptor(owner, group, uint32(len(accessEntries)), firstAccessEntry, uint32(len(auditEntries)), firstAuditEntry, mergedSecurityDescriptor, &winHeapSDSize, &winHeapSD) if err != nil { return } defer LocalFree(Handle(unsafe.Pointer(winHeapSD))) return winHeapSD.copySelfRelativeSecurityDescriptor(), nil } // NewSecurityDescriptor creates and initializes a new absolute security descriptor. func NewSecurityDescriptor() (absoluteSD *SECURITY_DESCRIPTOR, err error) { absoluteSD = &SECURITY_DESCRIPTOR{} err = initializeSecurityDescriptor(absoluteSD, 1) return } // ACLFromEntries returns a new ACL on the Go heap containing a list of explicit entries as well as those of another ACL. // Both explicitEntries and mergedACL are optional and can be nil. func ACLFromEntries(explicitEntries []EXPLICIT_ACCESS, mergedACL *ACL) (acl *ACL, err error) { var firstExplicitEntry *EXPLICIT_ACCESS if len(explicitEntries) > 0 { firstExplicitEntry = &explicitEntries[0] } var winHeapACL *ACL err = setEntriesInAcl(uint32(len(explicitEntries)), firstExplicitEntry, mergedACL, &winHeapACL) if err != nil { return } defer LocalFree(Handle(unsafe.Pointer(winHeapACL))) aclBytes := make([]byte, winHeapACL.aclSize) copy(aclBytes, (*[(1 << 31) - 1]byte)(unsafe.Pointer(winHeapACL))[:len(aclBytes):len(aclBytes)]) return (*ACL)(unsafe.Pointer(&aclBytes[0])), nil } dependencies/pkg/mod/golang.org/x/sys@v0.26.0/windows/race.go0000644000000000000000000000111715107355264022561 0ustar rootroot// 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. //go:build windows && race package windows import ( "runtime" "unsafe" ) const raceenabled = true func raceAcquire(addr unsafe.Pointer) { runtime.RaceAcquire(addr) } func raceReleaseMerge(addr unsafe.Pointer) { runtime.RaceReleaseMerge(addr) } func raceReadRange(addr unsafe.Pointer, len int) { runtime.RaceReadRange(addr, len) } func raceWriteRange(addr unsafe.Pointer, len int) { runtime.RaceWriteRange(addr, len) } dependencies/pkg/mod/golang.org/x/sys@v0.26.0/windows/syscall_test.go0000644000000000000000000000567315107355264024373 0ustar rootroot// 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. //go:build windows package windows_test import ( "strings" "syscall" "testing" "golang.org/x/sys/windows" ) func testSetGetenv(t *testing.T, key, value string) { err := windows.Setenv(key, value) if err != nil { t.Fatalf("Setenv failed to set %q: %v", value, err) } newvalue, found := windows.Getenv(key) if !found { t.Fatalf("Getenv failed to find %v variable (want value %q)", key, value) } if newvalue != value { t.Fatalf("Getenv(%v) = %q; want %q", key, newvalue, value) } } func TestEnv(t *testing.T) { testSetGetenv(t, "TESTENV", "AVALUE") // make sure TESTENV gets set to "", not deleted testSetGetenv(t, "TESTENV", "") } func TestGetProcAddressByOrdinal(t *testing.T) { // Attempt calling shlwapi.dll:IsOS, resolving it by ordinal, as // suggested in // https://msdn.microsoft.com/en-us/library/windows/desktop/bb773795.aspx h, err := windows.LoadLibrary("shlwapi.dll") if err != nil { t.Fatalf("Failed to load shlwapi.dll: %s", err) } procIsOS, err := windows.GetProcAddressByOrdinal(h, 437) if err != nil { t.Fatalf("Could not find shlwapi.dll:IsOS by ordinal: %s", err) } const OS_NT = 1 r, _, _ := syscall.Syscall(procIsOS, 1, OS_NT, 0, 0) if r == 0 { t.Error("shlwapi.dll:IsOS(OS_NT) returned 0, expected non-zero value") } } func TestGetSystemDirectory(t *testing.T) { d, err := windows.GetSystemDirectory() if err != nil { t.Fatalf("Failed to get system directory: %s", err) } if !strings.HasSuffix(strings.ToLower(d), "\\system32") { t.Fatalf("System directory does not end in system32: %s", d) } } func TestGetWindowsDirectory(t *testing.T) { d1, err := windows.GetWindowsDirectory() if err != nil { t.Fatalf("Failed to get Windows directory: %s", err) } d2, err := windows.GetSystemWindowsDirectory() if err != nil { t.Fatalf("Failed to get system Windows directory: %s", err) } if !strings.HasSuffix(strings.ToLower(d1), `\windows`) { t.Fatalf("Windows directory does not end in windows: %s", d1) } if !strings.HasSuffix(strings.ToLower(d2), `\windows`) { t.Fatalf("System Windows directory does not end in windows: %s", d2) } } func TestFindProcByOrdinal(t *testing.T) { // Attempt calling shlwapi.dll:IsOS, resolving it by ordinal, as // suggested in // https://msdn.microsoft.com/en-us/library/windows/desktop/bb773795.aspx dll, err := windows.LoadDLL("shlwapi.dll") if err != nil { t.Fatalf("Failed to load shlwapi.dll: %s", err) } procIsOS, err := dll.FindProcByOrdinal(437) if err != nil { t.Fatalf("Could not find shlwapi.dll:IsOS by ordinal: %s", err) } if procIsOS.Name != "#437" { t.Fatalf("Proc's name is incorrect: %s,expected #437", procIsOS.Name) } const OS_NT = 1 r, _, _ := syscall.Syscall(procIsOS.Addr(), 1, OS_NT, 0, 0) if r == 0 { t.Error("shlwapi.dll:IsOS(OS_NT) returned 0, expected non-zero value") } } dependencies/pkg/mod/golang.org/x/sys@v0.26.0/windows/zerrors_windows.go0000644000000000000000000346653615107355264025156 0ustar rootroot// Code generated by 'mkerrors.bash'; DO NOT EDIT. package windows import "syscall" const ( FACILITY_NULL = 0 FACILITY_RPC = 1 FACILITY_DISPATCH = 2 FACILITY_STORAGE = 3 FACILITY_ITF = 4 FACILITY_WIN32 = 7 FACILITY_WINDOWS = 8 FACILITY_SSPI = 9 FACILITY_SECURITY = 9 FACILITY_CONTROL = 10 FACILITY_CERT = 11 FACILITY_INTERNET = 12 FACILITY_MEDIASERVER = 13 FACILITY_MSMQ = 14 FACILITY_SETUPAPI = 15 FACILITY_SCARD = 16 FACILITY_COMPLUS = 17 FACILITY_AAF = 18 FACILITY_URT = 19 FACILITY_ACS = 20 FACILITY_DPLAY = 21 FACILITY_UMI = 22 FACILITY_SXS = 23 FACILITY_WINDOWS_CE = 24 FACILITY_HTTP = 25 FACILITY_USERMODE_COMMONLOG = 26 FACILITY_WER = 27 FACILITY_USERMODE_FILTER_MANAGER = 31 FACILITY_BACKGROUNDCOPY = 32 FACILITY_CONFIGURATION = 33 FACILITY_WIA = 33 FACILITY_STATE_MANAGEMENT = 34 FACILITY_METADIRECTORY = 35 FACILITY_WINDOWSUPDATE = 36 FACILITY_DIRECTORYSERVICE = 37 FACILITY_GRAPHICS = 38 FACILITY_SHELL = 39 FACILITY_NAP = 39 FACILITY_TPM_SERVICES = 40 FACILITY_TPM_SOFTWARE = 41 FACILITY_UI = 42 FACILITY_XAML = 43 FACILITY_ACTION_QUEUE = 44 FACILITY_PLA = 48 FACILITY_WINDOWS_SETUP = 48 FACILITY_FVE = 49 FACILITY_FWP = 50 FACILITY_WINRM = 51 FACILITY_NDIS = 52 FACILITY_USERMODE_HYPERVISOR = 53 FACILITY_CMI = 54 FACILITY_USERMODE_VIRTUALIZATION = 55 FACILITY_USERMODE_VOLMGR = 56 FACILITY_BCD = 57 FACILITY_USERMODE_VHD = 58 FACILITY_USERMODE_HNS = 59 FACILITY_SDIAG = 60 FACILITY_WEBSERVICES = 61 FACILITY_WINPE = 61 FACILITY_WPN = 62 FACILITY_WINDOWS_STORE = 63 FACILITY_INPUT = 64 FACILITY_EAP = 66 FACILITY_WINDOWS_DEFENDER = 80 FACILITY_OPC = 81 FACILITY_XPS = 82 FACILITY_MBN = 84 FACILITY_POWERSHELL = 84 FACILITY_RAS = 83 FACILITY_P2P_INT = 98 FACILITY_P2P = 99 FACILITY_DAF = 100 FACILITY_BLUETOOTH_ATT = 101 FACILITY_AUDIO = 102 FACILITY_STATEREPOSITORY = 103 FACILITY_VISUALCPP = 109 FACILITY_SCRIPT = 112 FACILITY_PARSE = 113 FACILITY_BLB = 120 FACILITY_BLB_CLI = 121 FACILITY_WSBAPP = 122 FACILITY_BLBUI = 128 FACILITY_USN = 129 FACILITY_USERMODE_VOLSNAP = 130 FACILITY_TIERING = 131 FACILITY_WSB_ONLINE = 133 FACILITY_ONLINE_ID = 134 FACILITY_DEVICE_UPDATE_AGENT = 135 FACILITY_DRVSERVICING = 136 FACILITY_DLS = 153 FACILITY_DELIVERY_OPTIMIZATION = 208 FACILITY_USERMODE_SPACES = 231 FACILITY_USER_MODE_SECURITY_CORE = 232 FACILITY_USERMODE_LICENSING = 234 FACILITY_SOS = 160 FACILITY_DEBUGGERS = 176 FACILITY_SPP = 256 FACILITY_RESTORE = 256 FACILITY_DMSERVER = 256 FACILITY_DEPLOYMENT_SERVICES_SERVER = 257 FACILITY_DEPLOYMENT_SERVICES_IMAGING = 258 FACILITY_DEPLOYMENT_SERVICES_MANAGEMENT = 259 FACILITY_DEPLOYMENT_SERVICES_UTIL = 260 FACILITY_DEPLOYMENT_SERVICES_BINLSVC = 261 FACILITY_DEPLOYMENT_SERVICES_PXE = 263 FACILITY_DEPLOYMENT_SERVICES_TFTP = 264 FACILITY_DEPLOYMENT_SERVICES_TRANSPORT_MANAGEMENT = 272 FACILITY_DEPLOYMENT_SERVICES_DRIVER_PROVISIONING = 278 FACILITY_DEPLOYMENT_SERVICES_MULTICAST_SERVER = 289 FACILITY_DEPLOYMENT_SERVICES_MULTICAST_CLIENT = 290 FACILITY_DEPLOYMENT_SERVICES_CONTENT_PROVIDER = 293 FACILITY_LINGUISTIC_SERVICES = 305 FACILITY_AUDIOSTREAMING = 1094 FACILITY_ACCELERATOR = 1536 FACILITY_WMAAECMA = 1996 FACILITY_DIRECTMUSIC = 2168 FACILITY_DIRECT3D10 = 2169 FACILITY_DXGI = 2170 FACILITY_DXGI_DDI = 2171 FACILITY_DIRECT3D11 = 2172 FACILITY_DIRECT3D11_DEBUG = 2173 FACILITY_DIRECT3D12 = 2174 FACILITY_DIRECT3D12_DEBUG = 2175 FACILITY_LEAP = 2184 FACILITY_AUDCLNT = 2185 FACILITY_WINCODEC_DWRITE_DWM = 2200 FACILITY_WINML = 2192 FACILITY_DIRECT2D = 2201 FACILITY_DEFRAG = 2304 FACILITY_USERMODE_SDBUS = 2305 FACILITY_JSCRIPT = 2306 FACILITY_PIDGENX = 2561 FACILITY_EAS = 85 FACILITY_WEB = 885 FACILITY_WEB_SOCKET = 886 FACILITY_MOBILE = 1793 FACILITY_SQLITE = 1967 FACILITY_UTC = 1989 FACILITY_WEP = 2049 FACILITY_SYNCENGINE = 2050 FACILITY_XBOX = 2339 FACILITY_GAME = 2340 FACILITY_PIX = 2748 ERROR_SUCCESS syscall.Errno = 0 NO_ERROR = 0 SEC_E_OK Handle = 0x00000000 ERROR_INVALID_FUNCTION syscall.Errno = 1 ERROR_FILE_NOT_FOUND syscall.Errno = 2 ERROR_PATH_NOT_FOUND syscall.Errno = 3 ERROR_TOO_MANY_OPEN_FILES syscall.Errno = 4 ERROR_ACCESS_DENIED syscall.Errno = 5 ERROR_INVALID_HANDLE syscall.Errno = 6 ERROR_ARENA_TRASHED syscall.Errno = 7 ERROR_NOT_ENOUGH_MEMORY syscall.Errno = 8 ERROR_INVALID_BLOCK syscall.Errno = 9 ERROR_BAD_ENVIRONMENT syscall.Errno = 10 ERROR_BAD_FORMAT syscall.Errno = 11 ERROR_INVALID_ACCESS syscall.Errno = 12 ERROR_INVALID_DATA syscall.Errno = 13 ERROR_OUTOFMEMORY syscall.Errno = 14 ERROR_INVALID_DRIVE syscall.Errno = 15 ERROR_CURRENT_DIRECTORY syscall.Errno = 16 ERROR_NOT_SAME_DEVICE syscall.Errno = 17 ERROR_NO_MORE_FILES syscall.Errno = 18 ERROR_WRITE_PROTECT syscall.Errno = 19 ERROR_BAD_UNIT syscall.Errno = 20 ERROR_NOT_READY syscall.Errno = 21 ERROR_BAD_COMMAND syscall.Errno = 22 ERROR_CRC syscall.Errno = 23 ERROR_BAD_LENGTH syscall.Errno = 24 ERROR_SEEK syscall.Errno = 25 ERROR_NOT_DOS_DISK syscall.Errno = 26 ERROR_SECTOR_NOT_FOUND syscall.Errno = 27 ERROR_OUT_OF_PAPER syscall.Errno = 28 ERROR_WRITE_FAULT syscall.Errno = 29 ERROR_READ_FAULT syscall.Errno = 30 ERROR_GEN_FAILURE syscall.Errno = 31 ERROR_SHARING_VIOLATION syscall.Errno = 32 ERROR_LOCK_VIOLATION syscall.Errno = 33 ERROR_WRONG_DISK syscall.Errno = 34 ERROR_SHARING_BUFFER_EXCEEDED syscall.Errno = 36 ERROR_HANDLE_EOF syscall.Errno = 38 ERROR_HANDLE_DISK_FULL syscall.Errno = 39 ERROR_NOT_SUPPORTED syscall.Errno = 50 ERROR_REM_NOT_LIST syscall.Errno = 51 ERROR_DUP_NAME syscall.Errno = 52 ERROR_BAD_NETPATH syscall.Errno = 53 ERROR_NETWORK_BUSY syscall.Errno = 54 ERROR_DEV_NOT_EXIST syscall.Errno = 55 ERROR_TOO_MANY_CMDS syscall.Errno = 56 ERROR_ADAP_HDW_ERR syscall.Errno = 57 ERROR_BAD_NET_RESP syscall.Errno = 58 ERROR_UNEXP_NET_ERR syscall.Errno = 59 ERROR_BAD_REM_ADAP syscall.Errno = 60 ERROR_PRINTQ_FULL syscall.Errno = 61 ERROR_NO_SPOOL_SPACE syscall.Errno = 62 ERROR_PRINT_CANCELLED syscall.Errno = 63 ERROR_NETNAME_DELETED syscall.Errno = 64 ERROR_NETWORK_ACCESS_DENIED syscall.Errno = 65 ERROR_BAD_DEV_TYPE syscall.Errno = 66 ERROR_BAD_NET_NAME syscall.Errno = 67 ERROR_TOO_MANY_NAMES syscall.Errno = 68 ERROR_TOO_MANY_SESS syscall.Errno = 69 ERROR_SHARING_PAUSED syscall.Errno = 70 ERROR_REQ_NOT_ACCEP syscall.Errno = 71 ERROR_REDIR_PAUSED syscall.Errno = 72 ERROR_FILE_EXISTS syscall.Errno = 80 ERROR_CANNOT_MAKE syscall.Errno = 82 ERROR_FAIL_I24 syscall.Errno = 83 ERROR_OUT_OF_STRUCTURES syscall.Errno = 84 ERROR_ALREADY_ASSIGNED syscall.Errno = 85 ERROR_INVALID_PASSWORD syscall.Errno = 86 ERROR_INVALID_PARAMETER syscall.Errno = 87 ERROR_NET_WRITE_FAULT syscall.Errno = 88 ERROR_NO_PROC_SLOTS syscall.Errno = 89 ERROR_TOO_MANY_SEMAPHORES syscall.Errno = 100 ERROR_EXCL_SEM_ALREADY_OWNED syscall.Errno = 101 ERROR_SEM_IS_SET syscall.Errno = 102 ERROR_TOO_MANY_SEM_REQUESTS syscall.Errno = 103 ERROR_INVALID_AT_INTERRUPT_TIME syscall.Errno = 104 ERROR_SEM_OWNER_DIED syscall.Errno = 105 ERROR_SEM_USER_LIMIT syscall.Errno = 106 ERROR_DISK_CHANGE syscall.Errno = 107 ERROR_DRIVE_LOCKED syscall.Errno = 108 ERROR_BROKEN_PIPE syscall.Errno = 109 ERROR_OPEN_FAILED syscall.Errno = 110 ERROR_BUFFER_OVERFLOW syscall.Errno = 111 ERROR_DISK_FULL syscall.Errno = 112 ERROR_NO_MORE_SEARCH_HANDLES syscall.Errno = 113 ERROR_INVALID_TARGET_HANDLE syscall.Errno = 114 ERROR_INVALID_CATEGORY syscall.Errno = 117 ERROR_INVALID_VERIFY_SWITCH syscall.Errno = 118 ERROR_BAD_DRIVER_LEVEL syscall.Errno = 119 ERROR_CALL_NOT_IMPLEMENTED syscall.Errno = 120 ERROR_SEM_TIMEOUT syscall.Errno = 121 ERROR_INSUFFICIENT_BUFFER syscall.Errno = 122 ERROR_INVALID_NAME syscall.Errno = 123 ERROR_INVALID_LEVEL syscall.Errno = 124 ERROR_NO_VOLUME_LABEL syscall.Errno = 125 ERROR_MOD_NOT_FOUND syscall.Errno = 126 ERROR_PROC_NOT_FOUND syscall.Errno = 127 ERROR_WAIT_NO_CHILDREN syscall.Errno = 128 ERROR_CHILD_NOT_COMPLETE syscall.Errno = 129 ERROR_DIRECT_ACCESS_HANDLE syscall.Errno = 130 ERROR_NEGATIVE_SEEK syscall.Errno = 131 ERROR_SEEK_ON_DEVICE syscall.Errno = 132 ERROR_IS_JOIN_TARGET syscall.Errno = 133 ERROR_IS_JOINED syscall.Errno = 134 ERROR_IS_SUBSTED syscall.Errno = 135 ERROR_NOT_JOINED syscall.Errno = 136 ERROR_NOT_SUBSTED syscall.Errno = 137 ERROR_JOIN_TO_JOIN syscall.Errno = 138 ERROR_SUBST_TO_SUBST syscall.Errno = 139 ERROR_JOIN_TO_SUBST syscall.Errno = 140 ERROR_SUBST_TO_JOIN syscall.Errno = 141 ERROR_BUSY_DRIVE syscall.Errno = 142 ERROR_SAME_DRIVE syscall.Errno = 143 ERROR_DIR_NOT_ROOT syscall.Errno = 144 ERROR_DIR_NOT_EMPTY syscall.Errno = 145 ERROR_IS_SUBST_PATH syscall.Errno = 146 ERROR_IS_JOIN_PATH syscall.Errno = 147 ERROR_PATH_BUSY syscall.Errno = 148 ERROR_IS_SUBST_TARGET syscall.Errno = 149 ERROR_SYSTEM_TRACE syscall.Errno = 150 ERROR_INVALID_EVENT_COUNT syscall.Errno = 151 ERROR_TOO_MANY_MUXWAITERS syscall.Errno = 152 ERROR_INVALID_LIST_FORMAT syscall.Errno = 153 ERROR_LABEL_TOO_LONG syscall.Errno = 154 ERROR_TOO_MANY_TCBS syscall.Errno = 155 ERROR_SIGNAL_REFUSED syscall.Errno = 156 ERROR_DISCARDED syscall.Errno = 157 ERROR_NOT_LOCKED syscall.Errno = 158 ERROR_BAD_THREADID_ADDR syscall.Errno = 159 ERROR_BAD_ARGUMENTS syscall.Errno = 160 ERROR_BAD_PATHNAME syscall.Errno = 161 ERROR_SIGNAL_PENDING syscall.Errno = 162 ERROR_MAX_THRDS_REACHED syscall.Errno = 164 ERROR_LOCK_FAILED syscall.Errno = 167 ERROR_BUSY syscall.Errno = 170 ERROR_DEVICE_SUPPORT_IN_PROGRESS syscall.Errno = 171 ERROR_CANCEL_VIOLATION syscall.Errno = 173 ERROR_ATOMIC_LOCKS_NOT_SUPPORTED syscall.Errno = 174 ERROR_INVALID_SEGMENT_NUMBER syscall.Errno = 180 ERROR_INVALID_ORDINAL syscall.Errno = 182 ERROR_ALREADY_EXISTS syscall.Errno = 183 ERROR_INVALID_FLAG_NUMBER syscall.Errno = 186 ERROR_SEM_NOT_FOUND syscall.Errno = 187 ERROR_INVALID_STARTING_CODESEG syscall.Errno = 188 ERROR_INVALID_STACKSEG syscall.Errno = 189 ERROR_INVALID_MODULETYPE syscall.Errno = 190 ERROR_INVALID_EXE_SIGNATURE syscall.Errno = 191 ERROR_EXE_MARKED_INVALID syscall.Errno = 192 ERROR_BAD_EXE_FORMAT syscall.Errno = 193 ERROR_ITERATED_DATA_EXCEEDS_64k syscall.Errno = 194 ERROR_INVALID_MINALLOCSIZE syscall.Errno = 195 ERROR_DYNLINK_FROM_INVALID_RING syscall.Errno = 196 ERROR_IOPL_NOT_ENABLED syscall.Errno = 197 ERROR_INVALID_SEGDPL syscall.Errno = 198 ERROR_AUTODATASEG_EXCEEDS_64k syscall.Errno = 199 ERROR_RING2SEG_MUST_BE_MOVABLE syscall.Errno = 200 ERROR_RELOC_CHAIN_XEEDS_SEGLIM syscall.Errno = 201 ERROR_INFLOOP_IN_RELOC_CHAIN syscall.Errno = 202 ERROR_ENVVAR_NOT_FOUND syscall.Errno = 203 ERROR_NO_SIGNAL_SENT syscall.Errno = 205 ERROR_FILENAME_EXCED_RANGE syscall.Errno = 206 ERROR_RING2_STACK_IN_USE syscall.Errno = 207 ERROR_META_EXPANSION_TOO_LONG syscall.Errno = 208 ERROR_INVALID_SIGNAL_NUMBER syscall.Errno = 209 ERROR_THREAD_1_INACTIVE syscall.Errno = 210 ERROR_LOCKED syscall.Errno = 212 ERROR_TOO_MANY_MODULES syscall.Errno = 214 ERROR_NESTING_NOT_ALLOWED syscall.Errno = 215 ERROR_EXE_MACHINE_TYPE_MISMATCH syscall.Errno = 216 ERROR_EXE_CANNOT_MODIFY_SIGNED_BINARY syscall.Errno = 217 ERROR_EXE_CANNOT_MODIFY_STRONG_SIGNED_BINARY syscall.Errno = 218 ERROR_FILE_CHECKED_OUT syscall.Errno = 220 ERROR_CHECKOUT_REQUIRED syscall.Errno = 221 ERROR_BAD_FILE_TYPE syscall.Errno = 222 ERROR_FILE_TOO_LARGE syscall.Errno = 223 ERROR_FORMS_AUTH_REQUIRED syscall.Errno = 224 ERROR_VIRUS_INFECTED syscall.Errno = 225 ERROR_VIRUS_DELETED syscall.Errno = 226 ERROR_PIPE_LOCAL syscall.Errno = 229 ERROR_BAD_PIPE syscall.Errno = 230 ERROR_PIPE_BUSY syscall.Errno = 231 ERROR_NO_DATA syscall.Errno = 232 ERROR_PIPE_NOT_CONNECTED syscall.Errno = 233 ERROR_MORE_DATA syscall.Errno = 234 ERROR_NO_WORK_DONE syscall.Errno = 235 ERROR_VC_DISCONNECTED syscall.Errno = 240 ERROR_INVALID_EA_NAME syscall.Errno = 254 ERROR_EA_LIST_INCONSISTENT syscall.Errno = 255 WAIT_TIMEOUT syscall.Errno = 258 ERROR_NO_MORE_ITEMS syscall.Errno = 259 ERROR_CANNOT_COPY syscall.Errno = 266 ERROR_DIRECTORY syscall.Errno = 267 ERROR_EAS_DIDNT_FIT syscall.Errno = 275 ERROR_EA_FILE_CORRUPT syscall.Errno = 276 ERROR_EA_TABLE_FULL syscall.Errno = 277 ERROR_INVALID_EA_HANDLE syscall.Errno = 278 ERROR_EAS_NOT_SUPPORTED syscall.Errno = 282 ERROR_NOT_OWNER syscall.Errno = 288 ERROR_TOO_MANY_POSTS syscall.Errno = 298 ERROR_PARTIAL_COPY syscall.Errno = 299 ERROR_OPLOCK_NOT_GRANTED syscall.Errno = 300 ERROR_INVALID_OPLOCK_PROTOCOL syscall.Errno = 301 ERROR_DISK_TOO_FRAGMENTED syscall.Errno = 302 ERROR_DELETE_PENDING syscall.Errno = 303 ERROR_INCOMPATIBLE_WITH_GLOBAL_SHORT_NAME_REGISTRY_SETTING syscall.Errno = 304 ERROR_SHORT_NAMES_NOT_ENABLED_ON_VOLUME syscall.Errno = 305 ERROR_SECURITY_STREAM_IS_INCONSISTENT syscall.Errno = 306 ERROR_INVALID_LOCK_RANGE syscall.Errno = 307 ERROR_IMAGE_SUBSYSTEM_NOT_PRESENT syscall.Errno = 308 ERROR_NOTIFICATION_GUID_ALREADY_DEFINED syscall.Errno = 309 ERROR_INVALID_EXCEPTION_HANDLER syscall.Errno = 310 ERROR_DUPLICATE_PRIVILEGES syscall.Errno = 311 ERROR_NO_RANGES_PROCESSED syscall.Errno = 312 ERROR_NOT_ALLOWED_ON_SYSTEM_FILE syscall.Errno = 313 ERROR_DISK_RESOURCES_EXHAUSTED syscall.Errno = 314 ERROR_INVALID_TOKEN syscall.Errno = 315 ERROR_DEVICE_FEATURE_NOT_SUPPORTED syscall.Errno = 316 ERROR_MR_MID_NOT_FOUND syscall.Errno = 317 ERROR_SCOPE_NOT_FOUND syscall.Errno = 318 ERROR_UNDEFINED_SCOPE syscall.Errno = 319 ERROR_INVALID_CAP syscall.Errno = 320 ERROR_DEVICE_UNREACHABLE syscall.Errno = 321 ERROR_DEVICE_NO_RESOURCES syscall.Errno = 322 ERROR_DATA_CHECKSUM_ERROR syscall.Errno = 323 ERROR_INTERMIXED_KERNEL_EA_OPERATION syscall.Errno = 324 ERROR_FILE_LEVEL_TRIM_NOT_SUPPORTED syscall.Errno = 326 ERROR_OFFSET_ALIGNMENT_VIOLATION syscall.Errno = 327 ERROR_INVALID_FIELD_IN_PARAMETER_LIST syscall.Errno = 328 ERROR_OPERATION_IN_PROGRESS syscall.Errno = 329 ERROR_BAD_DEVICE_PATH syscall.Errno = 330 ERROR_TOO_MANY_DESCRIPTORS syscall.Errno = 331 ERROR_SCRUB_DATA_DISABLED syscall.Errno = 332 ERROR_NOT_REDUNDANT_STORAGE syscall.Errno = 333 ERROR_RESIDENT_FILE_NOT_SUPPORTED syscall.Errno = 334 ERROR_COMPRESSED_FILE_NOT_SUPPORTED syscall.Errno = 335 ERROR_DIRECTORY_NOT_SUPPORTED syscall.Errno = 336 ERROR_NOT_READ_FROM_COPY syscall.Errno = 337 ERROR_FT_WRITE_FAILURE syscall.Errno = 338 ERROR_FT_DI_SCAN_REQUIRED syscall.Errno = 339 ERROR_INVALID_KERNEL_INFO_VERSION syscall.Errno = 340 ERROR_INVALID_PEP_INFO_VERSION syscall.Errno = 341 ERROR_OBJECT_NOT_EXTERNALLY_BACKED syscall.Errno = 342 ERROR_EXTERNAL_BACKING_PROVIDER_UNKNOWN syscall.Errno = 343 ERROR_COMPRESSION_NOT_BENEFICIAL syscall.Errno = 344 ERROR_STORAGE_TOPOLOGY_ID_MISMATCH syscall.Errno = 345 ERROR_BLOCKED_BY_PARENTAL_CONTROLS syscall.Errno = 346 ERROR_BLOCK_TOO_MANY_REFERENCES syscall.Errno = 347 ERROR_MARKED_TO_DISALLOW_WRITES syscall.Errno = 348 ERROR_ENCLAVE_FAILURE syscall.Errno = 349 ERROR_FAIL_NOACTION_REBOOT syscall.Errno = 350 ERROR_FAIL_SHUTDOWN syscall.Errno = 351 ERROR_FAIL_RESTART syscall.Errno = 352 ERROR_MAX_SESSIONS_REACHED syscall.Errno = 353 ERROR_NETWORK_ACCESS_DENIED_EDP syscall.Errno = 354 ERROR_DEVICE_HINT_NAME_BUFFER_TOO_SMALL syscall.Errno = 355 ERROR_EDP_POLICY_DENIES_OPERATION syscall.Errno = 356 ERROR_EDP_DPL_POLICY_CANT_BE_SATISFIED syscall.Errno = 357 ERROR_CLOUD_FILE_SYNC_ROOT_METADATA_CORRUPT syscall.Errno = 358 ERROR_DEVICE_IN_MAINTENANCE syscall.Errno = 359 ERROR_NOT_SUPPORTED_ON_DAX syscall.Errno = 360 ERROR_DAX_MAPPING_EXISTS syscall.Errno = 361 ERROR_CLOUD_FILE_PROVIDER_NOT_RUNNING syscall.Errno = 362 ERROR_CLOUD_FILE_METADATA_CORRUPT syscall.Errno = 363 ERROR_CLOUD_FILE_METADATA_TOO_LARGE syscall.Errno = 364 ERROR_CLOUD_FILE_PROPERTY_BLOB_TOO_LARGE syscall.Errno = 365 ERROR_CLOUD_FILE_PROPERTY_BLOB_CHECKSUM_MISMATCH syscall.Errno = 366 ERROR_CHILD_PROCESS_BLOCKED syscall.Errno = 367 ERROR_STORAGE_LOST_DATA_PERSISTENCE syscall.Errno = 368 ERROR_FILE_SYSTEM_VIRTUALIZATION_UNAVAILABLE syscall.Errno = 369 ERROR_FILE_SYSTEM_VIRTUALIZATION_METADATA_CORRUPT syscall.Errno = 370 ERROR_FILE_SYSTEM_VIRTUALIZATION_BUSY syscall.Errno = 371 ERROR_FILE_SYSTEM_VIRTUALIZATION_PROVIDER_UNKNOWN syscall.Errno = 372 ERROR_GDI_HANDLE_LEAK syscall.Errno = 373 ERROR_CLOUD_FILE_TOO_MANY_PROPERTY_BLOBS syscall.Errno = 374 ERROR_CLOUD_FILE_PROPERTY_VERSION_NOT_SUPPORTED syscall.Errno = 375 ERROR_NOT_A_CLOUD_FILE syscall.Errno = 376 ERROR_CLOUD_FILE_NOT_IN_SYNC syscall.Errno = 377 ERROR_CLOUD_FILE_ALREADY_CONNECTED syscall.Errno = 378 ERROR_CLOUD_FILE_NOT_SUPPORTED syscall.Errno = 379 ERROR_CLOUD_FILE_INVALID_REQUEST syscall.Errno = 380 ERROR_CLOUD_FILE_READ_ONLY_VOLUME syscall.Errno = 381 ERROR_CLOUD_FILE_CONNECTED_PROVIDER_ONLY syscall.Errno = 382 ERROR_CLOUD_FILE_VALIDATION_FAILED syscall.Errno = 383 ERROR_SMB1_NOT_AVAILABLE syscall.Errno = 384 ERROR_FILE_SYSTEM_VIRTUALIZATION_INVALID_OPERATION syscall.Errno = 385 ERROR_CLOUD_FILE_AUTHENTICATION_FAILED syscall.Errno = 386 ERROR_CLOUD_FILE_INSUFFICIENT_RESOURCES syscall.Errno = 387 ERROR_CLOUD_FILE_NETWORK_UNAVAILABLE syscall.Errno = 388 ERROR_CLOUD_FILE_UNSUCCESSFUL syscall.Errno = 389 ERROR_CLOUD_FILE_NOT_UNDER_SYNC_ROOT syscall.Errno = 390 ERROR_CLOUD_FILE_IN_USE syscall.Errno = 391 ERROR_CLOUD_FILE_PINNED syscall.Errno = 392 ERROR_CLOUD_FILE_REQUEST_ABORTED syscall.Errno = 393 ERROR_CLOUD_FILE_PROPERTY_CORRUPT syscall.Errno = 394 ERROR_CLOUD_FILE_ACCESS_DENIED syscall.Errno = 395 ERROR_CLOUD_FILE_INCOMPATIBLE_HARDLINKS syscall.Errno = 396 ERROR_CLOUD_FILE_PROPERTY_LOCK_CONFLICT syscall.Errno = 397 ERROR_CLOUD_FILE_REQUEST_CANCELED syscall.Errno = 398 ERROR_EXTERNAL_SYSKEY_NOT_SUPPORTED syscall.Errno = 399 ERROR_THREAD_MODE_ALREADY_BACKGROUND syscall.Errno = 400 ERROR_THREAD_MODE_NOT_BACKGROUND syscall.Errno = 401 ERROR_PROCESS_MODE_ALREADY_BACKGROUND syscall.Errno = 402 ERROR_PROCESS_MODE_NOT_BACKGROUND syscall.Errno = 403 ERROR_CLOUD_FILE_PROVIDER_TERMINATED syscall.Errno = 404 ERROR_NOT_A_CLOUD_SYNC_ROOT syscall.Errno = 405 ERROR_FILE_PROTECTED_UNDER_DPL syscall.Errno = 406 ERROR_VOLUME_NOT_CLUSTER_ALIGNED syscall.Errno = 407 ERROR_NO_PHYSICALLY_ALIGNED_FREE_SPACE_FOUND syscall.Errno = 408 ERROR_APPX_FILE_NOT_ENCRYPTED syscall.Errno = 409 ERROR_RWRAW_ENCRYPTED_FILE_NOT_ENCRYPTED syscall.Errno = 410 ERROR_RWRAW_ENCRYPTED_INVALID_EDATAINFO_FILEOFFSET syscall.Errno = 411 ERROR_RWRAW_ENCRYPTED_INVALID_EDATAINFO_FILERANGE syscall.Errno = 412 ERROR_RWRAW_ENCRYPTED_INVALID_EDATAINFO_PARAMETER syscall.Errno = 413 ERROR_LINUX_SUBSYSTEM_NOT_PRESENT syscall.Errno = 414 ERROR_FT_READ_FAILURE syscall.Errno = 415 ERROR_STORAGE_RESERVE_ID_INVALID syscall.Errno = 416 ERROR_STORAGE_RESERVE_DOES_NOT_EXIST syscall.Errno = 417 ERROR_STORAGE_RESERVE_ALREADY_EXISTS syscall.Errno = 418 ERROR_STORAGE_RESERVE_NOT_EMPTY syscall.Errno = 419 ERROR_NOT_A_DAX_VOLUME syscall.Errno = 420 ERROR_NOT_DAX_MAPPABLE syscall.Errno = 421 ERROR_TIME_SENSITIVE_THREAD syscall.Errno = 422 ERROR_DPL_NOT_SUPPORTED_FOR_USER syscall.Errno = 423 ERROR_CASE_DIFFERING_NAMES_IN_DIR syscall.Errno = 424 ERROR_FILE_NOT_SUPPORTED syscall.Errno = 425 ERROR_CLOUD_FILE_REQUEST_TIMEOUT syscall.Errno = 426 ERROR_NO_TASK_QUEUE syscall.Errno = 427 ERROR_SRC_SRV_DLL_LOAD_FAILED syscall.Errno = 428 ERROR_NOT_SUPPORTED_WITH_BTT syscall.Errno = 429 ERROR_ENCRYPTION_DISABLED syscall.Errno = 430 ERROR_ENCRYPTING_METADATA_DISALLOWED syscall.Errno = 431 ERROR_CANT_CLEAR_ENCRYPTION_FLAG syscall.Errno = 432 ERROR_NO_SUCH_DEVICE syscall.Errno = 433 ERROR_CAPAUTHZ_NOT_DEVUNLOCKED syscall.Errno = 450 ERROR_CAPAUTHZ_CHANGE_TYPE syscall.Errno = 451 ERROR_CAPAUTHZ_NOT_PROVISIONED syscall.Errno = 452 ERROR_CAPAUTHZ_NOT_AUTHORIZED syscall.Errno = 453 ERROR_CAPAUTHZ_NO_POLICY syscall.Errno = 454 ERROR_CAPAUTHZ_DB_CORRUPTED syscall.Errno = 455 ERROR_CAPAUTHZ_SCCD_INVALID_CATALOG syscall.Errno = 456 ERROR_CAPAUTHZ_SCCD_NO_AUTH_ENTITY syscall.Errno = 457 ERROR_CAPAUTHZ_SCCD_PARSE_ERROR syscall.Errno = 458 ERROR_CAPAUTHZ_SCCD_DEV_MODE_REQUIRED syscall.Errno = 459 ERROR_CAPAUTHZ_SCCD_NO_CAPABILITY_MATCH syscall.Errno = 460 ERROR_PNP_QUERY_REMOVE_DEVICE_TIMEOUT syscall.Errno = 480 ERROR_PNP_QUERY_REMOVE_RELATED_DEVICE_TIMEOUT syscall.Errno = 481 ERROR_PNP_QUERY_REMOVE_UNRELATED_DEVICE_TIMEOUT syscall.Errno = 482 ERROR_DEVICE_HARDWARE_ERROR syscall.Errno = 483 ERROR_INVALID_ADDRESS syscall.Errno = 487 ERROR_VRF_CFG_ENABLED syscall.Errno = 1183 ERROR_PARTITION_TERMINATING syscall.Errno = 1184 ERROR_USER_PROFILE_LOAD syscall.Errno = 500 ERROR_ARITHMETIC_OVERFLOW syscall.Errno = 534 ERROR_PIPE_CONNECTED syscall.Errno = 535 ERROR_PIPE_LISTENING syscall.Errno = 536 ERROR_VERIFIER_STOP syscall.Errno = 537 ERROR_ABIOS_ERROR syscall.Errno = 538 ERROR_WX86_WARNING syscall.Errno = 539 ERROR_WX86_ERROR syscall.Errno = 540 ERROR_TIMER_NOT_CANCELED syscall.Errno = 541 ERROR_UNWIND syscall.Errno = 542 ERROR_BAD_STACK syscall.Errno = 543 ERROR_INVALID_UNWIND_TARGET syscall.Errno = 544 ERROR_INVALID_PORT_ATTRIBUTES syscall.Errno = 545 ERROR_PORT_MESSAGE_TOO_LONG syscall.Errno = 546 ERROR_INVALID_QUOTA_LOWER syscall.Errno = 547 ERROR_DEVICE_ALREADY_ATTACHED syscall.Errno = 548 ERROR_INSTRUCTION_MISALIGNMENT syscall.Errno = 549 ERROR_PROFILING_NOT_STARTED syscall.Errno = 550 ERROR_PROFILING_NOT_STOPPED syscall.Errno = 551 ERROR_COULD_NOT_INTERPRET syscall.Errno = 552 ERROR_PROFILING_AT_LIMIT syscall.Errno = 553 ERROR_CANT_WAIT syscall.Errno = 554 ERROR_CANT_TERMINATE_SELF syscall.Errno = 555 ERROR_UNEXPECTED_MM_CREATE_ERR syscall.Errno = 556 ERROR_UNEXPECTED_MM_MAP_ERROR syscall.Errno = 557 ERROR_UNEXPECTED_MM_EXTEND_ERR syscall.Errno = 558 ERROR_BAD_FUNCTION_TABLE syscall.Errno = 559 ERROR_NO_GUID_TRANSLATION syscall.Errno = 560 ERROR_INVALID_LDT_SIZE syscall.Errno = 561 ERROR_INVALID_LDT_OFFSET syscall.Errno = 563 ERROR_INVALID_LDT_DESCRIPTOR syscall.Errno = 564 ERROR_TOO_MANY_THREADS syscall.Errno = 565 ERROR_THREAD_NOT_IN_PROCESS syscall.Errno = 566 ERROR_PAGEFILE_QUOTA_EXCEEDED syscall.Errno = 567 ERROR_LOGON_SERVER_CONFLICT syscall.Errno = 568 ERROR_SYNCHRONIZATION_REQUIRED syscall.Errno = 569 ERROR_NET_OPEN_FAILED syscall.Errno = 570 ERROR_IO_PRIVILEGE_FAILED syscall.Errno = 571 ERROR_CONTROL_C_EXIT syscall.Errno = 572 ERROR_MISSING_SYSTEMFILE syscall.Errno = 573 ERROR_UNHANDLED_EXCEPTION syscall.Errno = 574 ERROR_APP_INIT_FAILURE syscall.Errno = 575 ERROR_PAGEFILE_CREATE_FAILED syscall.Errno = 576 ERROR_INVALID_IMAGE_HASH syscall.Errno = 577 ERROR_NO_PAGEFILE syscall.Errno = 578 ERROR_ILLEGAL_FLOAT_CONTEXT syscall.Errno = 579 ERROR_NO_EVENT_PAIR syscall.Errno = 580 ERROR_DOMAIN_CTRLR_CONFIG_ERROR syscall.Errno = 581 ERROR_ILLEGAL_CHARACTER syscall.Errno = 582 ERROR_UNDEFINED_CHARACTER syscall.Errno = 583 ERROR_FLOPPY_VOLUME syscall.Errno = 584 ERROR_BIOS_FAILED_TO_CONNECT_INTERRUPT syscall.Errno = 585 ERROR_BACKUP_CONTROLLER syscall.Errno = 586 ERROR_MUTANT_LIMIT_EXCEEDED syscall.Errno = 587 ERROR_FS_DRIVER_REQUIRED syscall.Errno = 588 ERROR_CANNOT_LOAD_REGISTRY_FILE syscall.Errno = 589 ERROR_DEBUG_ATTACH_FAILED syscall.Errno = 590 ERROR_SYSTEM_PROCESS_TERMINATED syscall.Errno = 591 ERROR_DATA_NOT_ACCEPTED syscall.Errno = 592 ERROR_VDM_HARD_ERROR syscall.Errno = 593 ERROR_DRIVER_CANCEL_TIMEOUT syscall.Errno = 594 ERROR_REPLY_MESSAGE_MISMATCH syscall.Errno = 595 ERROR_LOST_WRITEBEHIND_DATA syscall.Errno = 596 ERROR_CLIENT_SERVER_PARAMETERS_INVALID syscall.Errno = 597 ERROR_NOT_TINY_STREAM syscall.Errno = 598 ERROR_STACK_OVERFLOW_READ syscall.Errno = 599 ERROR_CONVERT_TO_LARGE syscall.Errno = 600 ERROR_FOUND_OUT_OF_SCOPE syscall.Errno = 601 ERROR_ALLOCATE_BUCKET syscall.Errno = 602 ERROR_MARSHALL_OVERFLOW syscall.Errno = 603 ERROR_INVALID_VARIANT syscall.Errno = 604 ERROR_BAD_COMPRESSION_BUFFER syscall.Errno = 605 ERROR_AUDIT_FAILED syscall.Errno = 606 ERROR_TIMER_RESOLUTION_NOT_SET syscall.Errno = 607 ERROR_INSUFFICIENT_LOGON_INFO syscall.Errno = 608 ERROR_BAD_DLL_ENTRYPOINT syscall.Errno = 609 ERROR_BAD_SERVICE_ENTRYPOINT syscall.Errno = 610 ERROR_IP_ADDRESS_CONFLICT1 syscall.Errno = 611 ERROR_IP_ADDRESS_CONFLICT2 syscall.Errno = 612 ERROR_REGISTRY_QUOTA_LIMIT syscall.Errno = 613 ERROR_NO_CALLBACK_ACTIVE syscall.Errno = 614 ERROR_PWD_TOO_SHORT syscall.Errno = 615 ERROR_PWD_TOO_RECENT syscall.Errno = 616 ERROR_PWD_HISTORY_CONFLICT syscall.Errno = 617 ERROR_UNSUPPORTED_COMPRESSION syscall.Errno = 618 ERROR_INVALID_HW_PROFILE syscall.Errno = 619 ERROR_INVALID_PLUGPLAY_DEVICE_PATH syscall.Errno = 620 ERROR_QUOTA_LIST_INCONSISTENT syscall.Errno = 621 ERROR_EVALUATION_EXPIRATION syscall.Errno = 622 ERROR_ILLEGAL_DLL_RELOCATION syscall.Errno = 623 ERROR_DLL_INIT_FAILED_LOGOFF syscall.Errno = 624 ERROR_VALIDATE_CONTINUE syscall.Errno = 625 ERROR_NO_MORE_MATCHES syscall.Errno = 626 ERROR_RANGE_LIST_CONFLICT syscall.Errno = 627 ERROR_SERVER_SID_MISMATCH syscall.Errno = 628 ERROR_CANT_ENABLE_DENY_ONLY syscall.Errno = 629 ERROR_FLOAT_MULTIPLE_FAULTS syscall.Errno = 630 ERROR_FLOAT_MULTIPLE_TRAPS syscall.Errno = 631 ERROR_NOINTERFACE syscall.Errno = 632 ERROR_DRIVER_FAILED_SLEEP syscall.Errno = 633 ERROR_CORRUPT_SYSTEM_FILE syscall.Errno = 634 ERROR_COMMITMENT_MINIMUM syscall.Errno = 635 ERROR_PNP_RESTART_ENUMERATION syscall.Errno = 636 ERROR_SYSTEM_IMAGE_BAD_SIGNATURE syscall.Errno = 637 ERROR_PNP_REBOOT_REQUIRED syscall.Errno = 638 ERROR_INSUFFICIENT_POWER syscall.Errno = 639 ERROR_MULTIPLE_FAULT_VIOLATION syscall.Errno = 640 ERROR_SYSTEM_SHUTDOWN syscall.Errno = 641 ERROR_PORT_NOT_SET syscall.Errno = 642 ERROR_DS_VERSION_CHECK_FAILURE syscall.Errno = 643 ERROR_RANGE_NOT_FOUND syscall.Errno = 644 ERROR_NOT_SAFE_MODE_DRIVER syscall.Errno = 646 ERROR_FAILED_DRIVER_ENTRY syscall.Errno = 647 ERROR_DEVICE_ENUMERATION_ERROR syscall.Errno = 648 ERROR_MOUNT_POINT_NOT_RESOLVED syscall.Errno = 649 ERROR_INVALID_DEVICE_OBJECT_PARAMETER syscall.Errno = 650 ERROR_MCA_OCCURED syscall.Errno = 651 ERROR_DRIVER_DATABASE_ERROR syscall.Errno = 652 ERROR_SYSTEM_HIVE_TOO_LARGE syscall.Errno = 653 ERROR_DRIVER_FAILED_PRIOR_UNLOAD syscall.Errno = 654 ERROR_VOLSNAP_PREPARE_HIBERNATE syscall.Errno = 655 ERROR_HIBERNATION_FAILURE syscall.Errno = 656 ERROR_PWD_TOO_LONG syscall.Errno = 657 ERROR_FILE_SYSTEM_LIMITATION syscall.Errno = 665 ERROR_ASSERTION_FAILURE syscall.Errno = 668 ERROR_ACPI_ERROR syscall.Errno = 669 ERROR_WOW_ASSERTION syscall.Errno = 670 ERROR_PNP_BAD_MPS_TABLE syscall.Errno = 671 ERROR_PNP_TRANSLATION_FAILED syscall.Errno = 672 ERROR_PNP_IRQ_TRANSLATION_FAILED syscall.Errno = 673 ERROR_PNP_INVALID_ID syscall.Errno = 674 ERROR_WAKE_SYSTEM_DEBUGGER syscall.Errno = 675 ERROR_HANDLES_CLOSED syscall.Errno = 676 ERROR_EXTRANEOUS_INFORMATION syscall.Errno = 677 ERROR_RXACT_COMMIT_NECESSARY syscall.Errno = 678 ERROR_MEDIA_CHECK syscall.Errno = 679 ERROR_GUID_SUBSTITUTION_MADE syscall.Errno = 680 ERROR_STOPPED_ON_SYMLINK syscall.Errno = 681 ERROR_LONGJUMP syscall.Errno = 682 ERROR_PLUGPLAY_QUERY_VETOED syscall.Errno = 683 ERROR_UNWIND_CONSOLIDATE syscall.Errno = 684 ERROR_REGISTRY_HIVE_RECOVERED syscall.Errno = 685 ERROR_DLL_MIGHT_BE_INSECURE syscall.Errno = 686 ERROR_DLL_MIGHT_BE_INCOMPATIBLE syscall.Errno = 687 ERROR_DBG_EXCEPTION_NOT_HANDLED syscall.Errno = 688 ERROR_DBG_REPLY_LATER syscall.Errno = 689 ERROR_DBG_UNABLE_TO_PROVIDE_HANDLE syscall.Errno = 690 ERROR_DBG_TERMINATE_THREAD syscall.Errno = 691 ERROR_DBG_TERMINATE_PROCESS syscall.Errno = 692 ERROR_DBG_CONTROL_C syscall.Errno = 693 ERROR_DBG_PRINTEXCEPTION_C syscall.Errno = 694 ERROR_DBG_RIPEXCEPTION syscall.Errno = 695 ERROR_DBG_CONTROL_BREAK syscall.Errno = 696 ERROR_DBG_COMMAND_EXCEPTION syscall.Errno = 697 ERROR_OBJECT_NAME_EXISTS syscall.Errno = 698 ERROR_THREAD_WAS_SUSPENDED syscall.Errno = 699 ERROR_IMAGE_NOT_AT_BASE syscall.Errno = 700 ERROR_RXACT_STATE_CREATED syscall.Errno = 701 ERROR_SEGMENT_NOTIFICATION syscall.Errno = 702 ERROR_BAD_CURRENT_DIRECTORY syscall.Errno = 703 ERROR_FT_READ_RECOVERY_FROM_BACKUP syscall.Errno = 704 ERROR_FT_WRITE_RECOVERY syscall.Errno = 705 ERROR_IMAGE_MACHINE_TYPE_MISMATCH syscall.Errno = 706 ERROR_RECEIVE_PARTIAL syscall.Errno = 707 ERROR_RECEIVE_EXPEDITED syscall.Errno = 708 ERROR_RECEIVE_PARTIAL_EXPEDITED syscall.Errno = 709 ERROR_EVENT_DONE syscall.Errno = 710 ERROR_EVENT_PENDING syscall.Errno = 711 ERROR_CHECKING_FILE_SYSTEM syscall.Errno = 712 ERROR_FATAL_APP_EXIT syscall.Errno = 713 ERROR_PREDEFINED_HANDLE syscall.Errno = 714 ERROR_WAS_UNLOCKED syscall.Errno = 715 ERROR_SERVICE_NOTIFICATION syscall.Errno = 716 ERROR_WAS_LOCKED syscall.Errno = 717 ERROR_LOG_HARD_ERROR syscall.Errno = 718 ERROR_ALREADY_WIN32 syscall.Errno = 719 ERROR_IMAGE_MACHINE_TYPE_MISMATCH_EXE syscall.Errno = 720 ERROR_NO_YIELD_PERFORMED syscall.Errno = 721 ERROR_TIMER_RESUME_IGNORED syscall.Errno = 722 ERROR_ARBITRATION_UNHANDLED syscall.Errno = 723 ERROR_CARDBUS_NOT_SUPPORTED syscall.Errno = 724 ERROR_MP_PROCESSOR_MISMATCH syscall.Errno = 725 ERROR_HIBERNATED syscall.Errno = 726 ERROR_RESUME_HIBERNATION syscall.Errno = 727 ERROR_FIRMWARE_UPDATED syscall.Errno = 728 ERROR_DRIVERS_LEAKING_LOCKED_PAGES syscall.Errno = 729 ERROR_WAKE_SYSTEM syscall.Errno = 730 ERROR_WAIT_1 syscall.Errno = 731 ERROR_WAIT_2 syscall.Errno = 732 ERROR_WAIT_3 syscall.Errno = 733 ERROR_WAIT_63 syscall.Errno = 734 ERROR_ABANDONED_WAIT_0 syscall.Errno = 735 ERROR_ABANDONED_WAIT_63 syscall.Errno = 736 ERROR_USER_APC syscall.Errno = 737 ERROR_KERNEL_APC syscall.Errno = 738 ERROR_ALERTED syscall.Errno = 739 ERROR_ELEVATION_REQUIRED syscall.Errno = 740 ERROR_REPARSE syscall.Errno = 741 ERROR_OPLOCK_BREAK_IN_PROGRESS syscall.Errno = 742 ERROR_VOLUME_MOUNTED syscall.Errno = 743 ERROR_RXACT_COMMITTED syscall.Errno = 744 ERROR_NOTIFY_CLEANUP syscall.Errno = 745 ERROR_PRIMARY_TRANSPORT_CONNECT_FAILED syscall.Errno = 746 ERROR_PAGE_FAULT_TRANSITION syscall.Errno = 747 ERROR_PAGE_FAULT_DEMAND_ZERO syscall.Errno = 748 ERROR_PAGE_FAULT_COPY_ON_WRITE syscall.Errno = 749 ERROR_PAGE_FAULT_GUARD_PAGE syscall.Errno = 750 ERROR_PAGE_FAULT_PAGING_FILE syscall.Errno = 751 ERROR_CACHE_PAGE_LOCKED syscall.Errno = 752 ERROR_CRASH_DUMP syscall.Errno = 753 ERROR_BUFFER_ALL_ZEROS syscall.Errno = 754 ERROR_REPARSE_OBJECT syscall.Errno = 755 ERROR_RESOURCE_REQUIREMENTS_CHANGED syscall.Errno = 756 ERROR_TRANSLATION_COMPLETE syscall.Errno = 757 ERROR_NOTHING_TO_TERMINATE syscall.Errno = 758 ERROR_PROCESS_NOT_IN_JOB syscall.Errno = 759 ERROR_PROCESS_IN_JOB syscall.Errno = 760 ERROR_VOLSNAP_HIBERNATE_READY syscall.Errno = 761 ERROR_FSFILTER_OP_COMPLETED_SUCCESSFULLY syscall.Errno = 762 ERROR_INTERRUPT_VECTOR_ALREADY_CONNECTED syscall.Errno = 763 ERROR_INTERRUPT_STILL_CONNECTED syscall.Errno = 764 ERROR_WAIT_FOR_OPLOCK syscall.Errno = 765 ERROR_DBG_EXCEPTION_HANDLED syscall.Errno = 766 ERROR_DBG_CONTINUE syscall.Errno = 767 ERROR_CALLBACK_POP_STACK syscall.Errno = 768 ERROR_COMPRESSION_DISABLED syscall.Errno = 769 ERROR_CANTFETCHBACKWARDS syscall.Errno = 770 ERROR_CANTSCROLLBACKWARDS syscall.Errno = 771 ERROR_ROWSNOTRELEASED syscall.Errno = 772 ERROR_BAD_ACCESSOR_FLAGS syscall.Errno = 773 ERROR_ERRORS_ENCOUNTERED syscall.Errno = 774 ERROR_NOT_CAPABLE syscall.Errno = 775 ERROR_REQUEST_OUT_OF_SEQUENCE syscall.Errno = 776 ERROR_VERSION_PARSE_ERROR syscall.Errno = 777 ERROR_BADSTARTPOSITION syscall.Errno = 778 ERROR_MEMORY_HARDWARE syscall.Errno = 779 ERROR_DISK_REPAIR_DISABLED syscall.Errno = 780 ERROR_INSUFFICIENT_RESOURCE_FOR_SPECIFIED_SHARED_SECTION_SIZE syscall.Errno = 781 ERROR_SYSTEM_POWERSTATE_TRANSITION syscall.Errno = 782 ERROR_SYSTEM_POWERSTATE_COMPLEX_TRANSITION syscall.Errno = 783 ERROR_MCA_EXCEPTION syscall.Errno = 784 ERROR_ACCESS_AUDIT_BY_POLICY syscall.Errno = 785 ERROR_ACCESS_DISABLED_NO_SAFER_UI_BY_POLICY syscall.Errno = 786 ERROR_ABANDON_HIBERFILE syscall.Errno = 787 ERROR_LOST_WRITEBEHIND_DATA_NETWORK_DISCONNECTED syscall.Errno = 788 ERROR_LOST_WRITEBEHIND_DATA_NETWORK_SERVER_ERROR syscall.Errno = 789 ERROR_LOST_WRITEBEHIND_DATA_LOCAL_DISK_ERROR syscall.Errno = 790 ERROR_BAD_MCFG_TABLE syscall.Errno = 791 ERROR_DISK_REPAIR_REDIRECTED syscall.Errno = 792 ERROR_DISK_REPAIR_UNSUCCESSFUL syscall.Errno = 793 ERROR_CORRUPT_LOG_OVERFULL syscall.Errno = 794 ERROR_CORRUPT_LOG_CORRUPTED syscall.Errno = 795 ERROR_CORRUPT_LOG_UNAVAILABLE syscall.Errno = 796 ERROR_CORRUPT_LOG_DELETED_FULL syscall.Errno = 797 ERROR_CORRUPT_LOG_CLEARED syscall.Errno = 798 ERROR_ORPHAN_NAME_EXHAUSTED syscall.Errno = 799 ERROR_OPLOCK_SWITCHED_TO_NEW_HANDLE syscall.Errno = 800 ERROR_CANNOT_GRANT_REQUESTED_OPLOCK syscall.Errno = 801 ERROR_CANNOT_BREAK_OPLOCK syscall.Errno = 802 ERROR_OPLOCK_HANDLE_CLOSED syscall.Errno = 803 ERROR_NO_ACE_CONDITION syscall.Errno = 804 ERROR_INVALID_ACE_CONDITION syscall.Errno = 805 ERROR_FILE_HANDLE_REVOKED syscall.Errno = 806 ERROR_IMAGE_AT_DIFFERENT_BASE syscall.Errno = 807 ERROR_ENCRYPTED_IO_NOT_POSSIBLE syscall.Errno = 808 ERROR_FILE_METADATA_OPTIMIZATION_IN_PROGRESS syscall.Errno = 809 ERROR_QUOTA_ACTIVITY syscall.Errno = 810 ERROR_HANDLE_REVOKED syscall.Errno = 811 ERROR_CALLBACK_INVOKE_INLINE syscall.Errno = 812 ERROR_CPU_SET_INVALID syscall.Errno = 813 ERROR_ENCLAVE_NOT_TERMINATED syscall.Errno = 814 ERROR_ENCLAVE_VIOLATION syscall.Errno = 815 ERROR_EA_ACCESS_DENIED syscall.Errno = 994 ERROR_OPERATION_ABORTED syscall.Errno = 995 ERROR_IO_INCOMPLETE syscall.Errno = 996 ERROR_IO_PENDING syscall.Errno = 997 ERROR_NOACCESS syscall.Errno = 998 ERROR_SWAPERROR syscall.Errno = 999 ERROR_STACK_OVERFLOW syscall.Errno = 1001 ERROR_INVALID_MESSAGE syscall.Errno = 1002 ERROR_CAN_NOT_COMPLETE syscall.Errno = 1003 ERROR_INVALID_FLAGS syscall.Errno = 1004 ERROR_UNRECOGNIZED_VOLUME syscall.Errno = 1005 ERROR_FILE_INVALID syscall.Errno = 1006 ERROR_FULLSCREEN_MODE syscall.Errno = 1007 ERROR_NO_TOKEN syscall.Errno = 1008 ERROR_BADDB syscall.Errno = 1009 ERROR_BADKEY syscall.Errno = 1010 ERROR_CANTOPEN syscall.Errno = 1011 ERROR_CANTREAD syscall.Errno = 1012 ERROR_CANTWRITE syscall.Errno = 1013 ERROR_REGISTRY_RECOVERED syscall.Errno = 1014 ERROR_REGISTRY_CORRUPT syscall.Errno = 1015 ERROR_REGISTRY_IO_FAILED syscall.Errno = 1016 ERROR_NOT_REGISTRY_FILE syscall.Errno = 1017 ERROR_KEY_DELETED syscall.Errno = 1018 ERROR_NO_LOG_SPACE syscall.Errno = 1019 ERROR_KEY_HAS_CHILDREN syscall.Errno = 1020 ERROR_CHILD_MUST_BE_VOLATILE syscall.Errno = 1021 ERROR_NOTIFY_ENUM_DIR syscall.Errno = 1022 ERROR_DEPENDENT_SERVICES_RUNNING syscall.Errno = 1051 ERROR_INVALID_SERVICE_CONTROL syscall.Errno = 1052 ERROR_SERVICE_REQUEST_TIMEOUT syscall.Errno = 1053 ERROR_SERVICE_NO_THREAD syscall.Errno = 1054 ERROR_SERVICE_DATABASE_LOCKED syscall.Errno = 1055 ERROR_SERVICE_ALREADY_RUNNING syscall.Errno = 1056 ERROR_INVALID_SERVICE_ACCOUNT syscall.Errno = 1057 ERROR_SERVICE_DISABLED syscall.Errno = 1058 ERROR_CIRCULAR_DEPENDENCY syscall.Errno = 1059 ERROR_SERVICE_DOES_NOT_EXIST syscall.Errno = 1060 ERROR_SERVICE_CANNOT_ACCEPT_CTRL syscall.Errno = 1061 ERROR_SERVICE_NOT_ACTIVE syscall.Errno = 1062 ERROR_FAILED_SERVICE_CONTROLLER_CONNECT syscall.Errno = 1063 ERROR_EXCEPTION_IN_SERVICE syscall.Errno = 1064 ERROR_DATABASE_DOES_NOT_EXIST syscall.Errno = 1065 ERROR_SERVICE_SPECIFIC_ERROR syscall.Errno = 1066 ERROR_PROCESS_ABORTED syscall.Errno = 1067 ERROR_SERVICE_DEPENDENCY_FAIL syscall.Errno = 1068 ERROR_SERVICE_LOGON_FAILED syscall.Errno = 1069 ERROR_SERVICE_START_HANG syscall.Errno = 1070 ERROR_INVALID_SERVICE_LOCK syscall.Errno = 1071 ERROR_SERVICE_MARKED_FOR_DELETE syscall.Errno = 1072 ERROR_SERVICE_EXISTS syscall.Errno = 1073 ERROR_ALREADY_RUNNING_LKG syscall.Errno = 1074 ERROR_SERVICE_DEPENDENCY_DELETED syscall.Errno = 1075 ERROR_BOOT_ALREADY_ACCEPTED syscall.Errno = 1076 ERROR_SERVICE_NEVER_STARTED syscall.Errno = 1077 ERROR_DUPLICATE_SERVICE_NAME syscall.Errno = 1078 ERROR_DIFFERENT_SERVICE_ACCOUNT syscall.Errno = 1079 ERROR_CANNOT_DETECT_DRIVER_FAILURE syscall.Errno = 1080 ERROR_CANNOT_DETECT_PROCESS_ABORT syscall.Errno = 1081 ERROR_NO_RECOVERY_PROGRAM syscall.Errno = 1082 ERROR_SERVICE_NOT_IN_EXE syscall.Errno = 1083 ERROR_NOT_SAFEBOOT_SERVICE syscall.Errno = 1084 ERROR_END_OF_MEDIA syscall.Errno = 1100 ERROR_FILEMARK_DETECTED syscall.Errno = 1101 ERROR_BEGINNING_OF_MEDIA syscall.Errno = 1102 ERROR_SETMARK_DETECTED syscall.Errno = 1103 ERROR_NO_DATA_DETECTED syscall.Errno = 1104 ERROR_PARTITION_FAILURE syscall.Errno = 1105 ERROR_INVALID_BLOCK_LENGTH syscall.Errno = 1106 ERROR_DEVICE_NOT_PARTITIONED syscall.Errno = 1107 ERROR_UNABLE_TO_LOCK_MEDIA syscall.Errno = 1108 ERROR_UNABLE_TO_UNLOAD_MEDIA syscall.Errno = 1109 ERROR_MEDIA_CHANGED syscall.Errno = 1110 ERROR_BUS_RESET syscall.Errno = 1111 ERROR_NO_MEDIA_IN_DRIVE syscall.Errno = 1112 ERROR_NO_UNICODE_TRANSLATION syscall.Errno = 1113 ERROR_DLL_INIT_FAILED syscall.Errno = 1114 ERROR_SHUTDOWN_IN_PROGRESS syscall.Errno = 1115 ERROR_NO_SHUTDOWN_IN_PROGRESS syscall.Errno = 1116 ERROR_IO_DEVICE syscall.Errno = 1117 ERROR_SERIAL_NO_DEVICE syscall.Errno = 1118 ERROR_IRQ_BUSY syscall.Errno = 1119 ERROR_MORE_WRITES syscall.Errno = 1120 ERROR_COUNTER_TIMEOUT syscall.Errno = 1121 ERROR_FLOPPY_ID_MARK_NOT_FOUND syscall.Errno = 1122 ERROR_FLOPPY_WRONG_CYLINDER syscall.Errno = 1123 ERROR_FLOPPY_UNKNOWN_ERROR syscall.Errno = 1124 ERROR_FLOPPY_BAD_REGISTERS syscall.Errno = 1125 ERROR_DISK_RECALIBRATE_FAILED syscall.Errno = 1126 ERROR_DISK_OPERATION_FAILED syscall.Errno = 1127 ERROR_DISK_RESET_FAILED syscall.Errno = 1128 ERROR_EOM_OVERFLOW syscall.Errno = 1129 ERROR_NOT_ENOUGH_SERVER_MEMORY syscall.Errno = 1130 ERROR_POSSIBLE_DEADLOCK syscall.Errno = 1131 ERROR_MAPPED_ALIGNMENT syscall.Errno = 1132 ERROR_SET_POWER_STATE_VETOED syscall.Errno = 1140 ERROR_SET_POWER_STATE_FAILED syscall.Errno = 1141 ERROR_TOO_MANY_LINKS syscall.Errno = 1142 ERROR_OLD_WIN_VERSION syscall.Errno = 1150 ERROR_APP_WRONG_OS syscall.Errno = 1151 ERROR_SINGLE_INSTANCE_APP syscall.Errno = 1152 ERROR_RMODE_APP syscall.Errno = 1153 ERROR_INVALID_DLL syscall.Errno = 1154 ERROR_NO_ASSOCIATION syscall.Errno = 1155 ERROR_DDE_FAIL syscall.Errno = 1156 ERROR_DLL_NOT_FOUND syscall.Errno = 1157 ERROR_NO_MORE_USER_HANDLES syscall.Errno = 1158 ERROR_MESSAGE_SYNC_ONLY syscall.Errno = 1159 ERROR_SOURCE_ELEMENT_EMPTY syscall.Errno = 1160 ERROR_DESTINATION_ELEMENT_FULL syscall.Errno = 1161 ERROR_ILLEGAL_ELEMENT_ADDRESS syscall.Errno = 1162 ERROR_MAGAZINE_NOT_PRESENT syscall.Errno = 1163 ERROR_DEVICE_REINITIALIZATION_NEEDED syscall.Errno = 1164 ERROR_DEVICE_REQUIRES_CLEANING syscall.Errno = 1165 ERROR_DEVICE_DOOR_OPEN syscall.Errno = 1166 ERROR_DEVICE_NOT_CONNECTED syscall.Errno = 1167 ERROR_NOT_FOUND syscall.Errno = 1168 ERROR_NO_MATCH syscall.Errno = 1169 ERROR_SET_NOT_FOUND syscall.Errno = 1170 ERROR_POINT_NOT_FOUND syscall.Errno = 1171 ERROR_NO_TRACKING_SERVICE syscall.Errno = 1172 ERROR_NO_VOLUME_ID syscall.Errno = 1173 ERROR_UNABLE_TO_REMOVE_REPLACED syscall.Errno = 1175 ERROR_UNABLE_TO_MOVE_REPLACEMENT syscall.Errno = 1176 ERROR_UNABLE_TO_MOVE_REPLACEMENT_2 syscall.Errno = 1177 ERROR_JOURNAL_DELETE_IN_PROGRESS syscall.Errno = 1178 ERROR_JOURNAL_NOT_ACTIVE syscall.Errno = 1179 ERROR_POTENTIAL_FILE_FOUND syscall.Errno = 1180 ERROR_JOURNAL_ENTRY_DELETED syscall.Errno = 1181 ERROR_SHUTDOWN_IS_SCHEDULED syscall.Errno = 1190 ERROR_SHUTDOWN_USERS_LOGGED_ON syscall.Errno = 1191 ERROR_BAD_DEVICE syscall.Errno = 1200 ERROR_CONNECTION_UNAVAIL syscall.Errno = 1201 ERROR_DEVICE_ALREADY_REMEMBERED syscall.Errno = 1202 ERROR_NO_NET_OR_BAD_PATH syscall.Errno = 1203 ERROR_BAD_PROVIDER syscall.Errno = 1204 ERROR_CANNOT_OPEN_PROFILE syscall.Errno = 1205 ERROR_BAD_PROFILE syscall.Errno = 1206 ERROR_NOT_CONTAINER syscall.Errno = 1207 ERROR_EXTENDED_ERROR syscall.Errno = 1208 ERROR_INVALID_GROUPNAME syscall.Errno = 1209 ERROR_INVALID_COMPUTERNAME syscall.Errno = 1210 ERROR_INVALID_EVENTNAME syscall.Errno = 1211 ERROR_INVALID_DOMAINNAME syscall.Errno = 1212 ERROR_INVALID_SERVICENAME syscall.Errno = 1213 ERROR_INVALID_NETNAME syscall.Errno = 1214 ERROR_INVALID_SHARENAME syscall.Errno = 1215 ERROR_INVALID_PASSWORDNAME syscall.Errno = 1216 ERROR_INVALID_MESSAGENAME syscall.Errno = 1217 ERROR_INVALID_MESSAGEDEST syscall.Errno = 1218 ERROR_SESSION_CREDENTIAL_CONFLICT syscall.Errno = 1219 ERROR_REMOTE_SESSION_LIMIT_EXCEEDED syscall.Errno = 1220 ERROR_DUP_DOMAINNAME syscall.Errno = 1221 ERROR_NO_NETWORK syscall.Errno = 1222 ERROR_CANCELLED syscall.Errno = 1223 ERROR_USER_MAPPED_FILE syscall.Errno = 1224 ERROR_CONNECTION_REFUSED syscall.Errno = 1225 ERROR_GRACEFUL_DISCONNECT syscall.Errno = 1226 ERROR_ADDRESS_ALREADY_ASSOCIATED syscall.Errno = 1227 ERROR_ADDRESS_NOT_ASSOCIATED syscall.Errno = 1228 ERROR_CONNECTION_INVALID syscall.Errno = 1229 ERROR_CONNECTION_ACTIVE syscall.Errno = 1230 ERROR_NETWORK_UNREACHABLE syscall.Errno = 1231 ERROR_HOST_UNREACHABLE syscall.Errno = 1232 ERROR_PROTOCOL_UNREACHABLE syscall.Errno = 1233 ERROR_PORT_UNREACHABLE syscall.Errno = 1234 ERROR_REQUEST_ABORTED syscall.Errno = 1235 ERROR_CONNECTION_ABORTED syscall.Errno = 1236 ERROR_RETRY syscall.Errno = 1237 ERROR_CONNECTION_COUNT_LIMIT syscall.Errno = 1238 ERROR_LOGIN_TIME_RESTRICTION syscall.Errno = 1239 ERROR_LOGIN_WKSTA_RESTRICTION syscall.Errno = 1240 ERROR_INCORRECT_ADDRESS syscall.Errno = 1241 ERROR_ALREADY_REGISTERED syscall.Errno = 1242 ERROR_SERVICE_NOT_FOUND syscall.Errno = 1243 ERROR_NOT_AUTHENTICATED syscall.Errno = 1244 ERROR_NOT_LOGGED_ON syscall.Errno = 1245 ERROR_CONTINUE syscall.Errno = 1246 ERROR_ALREADY_INITIALIZED syscall.Errno = 1247 ERROR_NO_MORE_DEVICES syscall.Errno = 1248 ERROR_NO_SUCH_SITE syscall.Errno = 1249 ERROR_DOMAIN_CONTROLLER_EXISTS syscall.Errno = 1250 ERROR_ONLY_IF_CONNECTED syscall.Errno = 1251 ERROR_OVERRIDE_NOCHANGES syscall.Errno = 1252 ERROR_BAD_USER_PROFILE syscall.Errno = 1253 ERROR_NOT_SUPPORTED_ON_SBS syscall.Errno = 1254 ERROR_SERVER_SHUTDOWN_IN_PROGRESS syscall.Errno = 1255 ERROR_HOST_DOWN syscall.Errno = 1256 ERROR_NON_ACCOUNT_SID syscall.Errno = 1257 ERROR_NON_DOMAIN_SID syscall.Errno = 1258 ERROR_APPHELP_BLOCK syscall.Errno = 1259 ERROR_ACCESS_DISABLED_BY_POLICY syscall.Errno = 1260 ERROR_REG_NAT_CONSUMPTION syscall.Errno = 1261 ERROR_CSCSHARE_OFFLINE syscall.Errno = 1262 ERROR_PKINIT_FAILURE syscall.Errno = 1263 ERROR_SMARTCARD_SUBSYSTEM_FAILURE syscall.Errno = 1264 ERROR_DOWNGRADE_DETECTED syscall.Errno = 1265 ERROR_MACHINE_LOCKED syscall.Errno = 1271 ERROR_SMB_GUEST_LOGON_BLOCKED syscall.Errno = 1272 ERROR_CALLBACK_SUPPLIED_INVALID_DATA syscall.Errno = 1273 ERROR_SYNC_FOREGROUND_REFRESH_REQUIRED syscall.Errno = 1274 ERROR_DRIVER_BLOCKED syscall.Errno = 1275 ERROR_INVALID_IMPORT_OF_NON_DLL syscall.Errno = 1276 ERROR_ACCESS_DISABLED_WEBBLADE syscall.Errno = 1277 ERROR_ACCESS_DISABLED_WEBBLADE_TAMPER syscall.Errno = 1278 ERROR_RECOVERY_FAILURE syscall.Errno = 1279 ERROR_ALREADY_FIBER syscall.Errno = 1280 ERROR_ALREADY_THREAD syscall.Errno = 1281 ERROR_STACK_BUFFER_OVERRUN syscall.Errno = 1282 ERROR_PARAMETER_QUOTA_EXCEEDED syscall.Errno = 1283 ERROR_DEBUGGER_INACTIVE syscall.Errno = 1284 ERROR_DELAY_LOAD_FAILED syscall.Errno = 1285 ERROR_VDM_DISALLOWED syscall.Errno = 1286 ERROR_UNIDENTIFIED_ERROR syscall.Errno = 1287 ERROR_INVALID_CRUNTIME_PARAMETER syscall.Errno = 1288 ERROR_BEYOND_VDL syscall.Errno = 1289 ERROR_INCOMPATIBLE_SERVICE_SID_TYPE syscall.Errno = 1290 ERROR_DRIVER_PROCESS_TERMINATED syscall.Errno = 1291 ERROR_IMPLEMENTATION_LIMIT syscall.Errno = 1292 ERROR_PROCESS_IS_PROTECTED syscall.Errno = 1293 ERROR_SERVICE_NOTIFY_CLIENT_LAGGING syscall.Errno = 1294 ERROR_DISK_QUOTA_EXCEEDED syscall.Errno = 1295 ERROR_CONTENT_BLOCKED syscall.Errno = 1296 ERROR_INCOMPATIBLE_SERVICE_PRIVILEGE syscall.Errno = 1297 ERROR_APP_HANG syscall.Errno = 1298 ERROR_INVALID_LABEL syscall.Errno = 1299 ERROR_NOT_ALL_ASSIGNED syscall.Errno = 1300 ERROR_SOME_NOT_MAPPED syscall.Errno = 1301 ERROR_NO_QUOTAS_FOR_ACCOUNT syscall.Errno = 1302 ERROR_LOCAL_USER_SESSION_KEY syscall.Errno = 1303 ERROR_NULL_LM_PASSWORD syscall.Errno = 1304 ERROR_UNKNOWN_REVISION syscall.Errno = 1305 ERROR_REVISION_MISMATCH syscall.Errno = 1306 ERROR_INVALID_OWNER syscall.Errno = 1307 ERROR_INVALID_PRIMARY_GROUP syscall.Errno = 1308 ERROR_NO_IMPERSONATION_TOKEN syscall.Errno = 1309 ERROR_CANT_DISABLE_MANDATORY syscall.Errno = 1310 ERROR_NO_LOGON_SERVERS syscall.Errno = 1311 ERROR_NO_SUCH_LOGON_SESSION syscall.Errno = 1312 ERROR_NO_SUCH_PRIVILEGE syscall.Errno = 1313 ERROR_PRIVILEGE_NOT_HELD syscall.Errno = 1314 ERROR_INVALID_ACCOUNT_NAME syscall.Errno = 1315 ERROR_USER_EXISTS syscall.Errno = 1316 ERROR_NO_SUCH_USER syscall.Errno = 1317 ERROR_GROUP_EXISTS syscall.Errno = 1318 ERROR_NO_SUCH_GROUP syscall.Errno = 1319 ERROR_MEMBER_IN_GROUP syscall.Errno = 1320 ERROR_MEMBER_NOT_IN_GROUP syscall.Errno = 1321 ERROR_LAST_ADMIN syscall.Errno = 1322 ERROR_WRONG_PASSWORD syscall.Errno = 1323 ERROR_ILL_FORMED_PASSWORD syscall.Errno = 1324 ERROR_PASSWORD_RESTRICTION syscall.Errno = 1325 ERROR_LOGON_FAILURE syscall.Errno = 1326 ERROR_ACCOUNT_RESTRICTION syscall.Errno = 1327 ERROR_INVALID_LOGON_HOURS syscall.Errno = 1328 ERROR_INVALID_WORKSTATION syscall.Errno = 1329 ERROR_PASSWORD_EXPIRED syscall.Errno = 1330 ERROR_ACCOUNT_DISABLED syscall.Errno = 1331 ERROR_NONE_MAPPED syscall.Errno = 1332 ERROR_TOO_MANY_LUIDS_REQUESTED syscall.Errno = 1333 ERROR_LUIDS_EXHAUSTED syscall.Errno = 1334 ERROR_INVALID_SUB_AUTHORITY syscall.Errno = 1335 ERROR_INVALID_ACL syscall.Errno = 1336 ERROR_INVALID_SID syscall.Errno = 1337 ERROR_INVALID_SECURITY_DESCR syscall.Errno = 1338 ERROR_BAD_INHERITANCE_ACL syscall.Errno = 1340 ERROR_SERVER_DISABLED syscall.Errno = 1341 ERROR_SERVER_NOT_DISABLED syscall.Errno = 1342 ERROR_INVALID_ID_AUTHORITY syscall.Errno = 1343 ERROR_ALLOTTED_SPACE_EXCEEDED syscall.Errno = 1344 ERROR_INVALID_GROUP_ATTRIBUTES syscall.Errno = 1345 ERROR_BAD_IMPERSONATION_LEVEL syscall.Errno = 1346 ERROR_CANT_OPEN_ANONYMOUS syscall.Errno = 1347 ERROR_BAD_VALIDATION_CLASS syscall.Errno = 1348 ERROR_BAD_TOKEN_TYPE syscall.Errno = 1349 ERROR_NO_SECURITY_ON_OBJECT syscall.Errno = 1350 ERROR_CANT_ACCESS_DOMAIN_INFO syscall.Errno = 1351 ERROR_INVALID_SERVER_STATE syscall.Errno = 1352 ERROR_INVALID_DOMAIN_STATE syscall.Errno = 1353 ERROR_INVALID_DOMAIN_ROLE syscall.Errno = 1354 ERROR_NO_SUCH_DOMAIN syscall.Errno = 1355 ERROR_DOMAIN_EXISTS syscall.Errno = 1356 ERROR_DOMAIN_LIMIT_EXCEEDED syscall.Errno = 1357 ERROR_INTERNAL_DB_CORRUPTION syscall.Errno = 1358 ERROR_INTERNAL_ERROR syscall.Errno = 1359 ERROR_GENERIC_NOT_MAPPED syscall.Errno = 1360 ERROR_BAD_DESCRIPTOR_FORMAT syscall.Errno = 1361 ERROR_NOT_LOGON_PROCESS syscall.Errno = 1362 ERROR_LOGON_SESSION_EXISTS syscall.Errno = 1363 ERROR_NO_SUCH_PACKAGE syscall.Errno = 1364 ERROR_BAD_LOGON_SESSION_STATE syscall.Errno = 1365 ERROR_LOGON_SESSION_COLLISION syscall.Errno = 1366 ERROR_INVALID_LOGON_TYPE syscall.Errno = 1367 ERROR_CANNOT_IMPERSONATE syscall.Errno = 1368 ERROR_RXACT_INVALID_STATE syscall.Errno = 1369 ERROR_RXACT_COMMIT_FAILURE syscall.Errno = 1370 ERROR_SPECIAL_ACCOUNT syscall.Errno = 1371 ERROR_SPECIAL_GROUP syscall.Errno = 1372 ERROR_SPECIAL_USER syscall.Errno = 1373 ERROR_MEMBERS_PRIMARY_GROUP syscall.Errno = 1374 ERROR_TOKEN_ALREADY_IN_USE syscall.Errno = 1375 ERROR_NO_SUCH_ALIAS syscall.Errno = 1376 ERROR_MEMBER_NOT_IN_ALIAS syscall.Errno = 1377 ERROR_MEMBER_IN_ALIAS syscall.Errno = 1378 ERROR_ALIAS_EXISTS syscall.Errno = 1379 ERROR_LOGON_NOT_GRANTED syscall.Errno = 1380 ERROR_TOO_MANY_SECRETS syscall.Errno = 1381 ERROR_SECRET_TOO_LONG syscall.Errno = 1382 ERROR_INTERNAL_DB_ERROR syscall.Errno = 1383 ERROR_TOO_MANY_CONTEXT_IDS syscall.Errno = 1384 ERROR_LOGON_TYPE_NOT_GRANTED syscall.Errno = 1385 ERROR_NT_CROSS_ENCRYPTION_REQUIRED syscall.Errno = 1386 ERROR_NO_SUCH_MEMBER syscall.Errno = 1387 ERROR_INVALID_MEMBER syscall.Errno = 1388 ERROR_TOO_MANY_SIDS syscall.Errno = 1389 ERROR_LM_CROSS_ENCRYPTION_REQUIRED syscall.Errno = 1390 ERROR_NO_INHERITANCE syscall.Errno = 1391 ERROR_FILE_CORRUPT syscall.Errno = 1392 ERROR_DISK_CORRUPT syscall.Errno = 1393 ERROR_NO_USER_SESSION_KEY syscall.Errno = 1394 ERROR_LICENSE_QUOTA_EXCEEDED syscall.Errno = 1395 ERROR_WRONG_TARGET_NAME syscall.Errno = 1396 ERROR_MUTUAL_AUTH_FAILED syscall.Errno = 1397 ERROR_TIME_SKEW syscall.Errno = 1398 ERROR_CURRENT_DOMAIN_NOT_ALLOWED syscall.Errno = 1399 ERROR_INVALID_WINDOW_HANDLE syscall.Errno = 1400 ERROR_INVALID_MENU_HANDLE syscall.Errno = 1401 ERROR_INVALID_CURSOR_HANDLE syscall.Errno = 1402 ERROR_INVALID_ACCEL_HANDLE syscall.Errno = 1403 ERROR_INVALID_HOOK_HANDLE syscall.Errno = 1404 ERROR_INVALID_DWP_HANDLE syscall.Errno = 1405 ERROR_TLW_WITH_WSCHILD syscall.Errno = 1406 ERROR_CANNOT_FIND_WND_CLASS syscall.Errno = 1407 ERROR_WINDOW_OF_OTHER_THREAD syscall.Errno = 1408 ERROR_HOTKEY_ALREADY_REGISTERED syscall.Errno = 1409 ERROR_CLASS_ALREADY_EXISTS syscall.Errno = 1410 ERROR_CLASS_DOES_NOT_EXIST syscall.Errno = 1411 ERROR_CLASS_HAS_WINDOWS syscall.Errno = 1412 ERROR_INVALID_INDEX syscall.Errno = 1413 ERROR_INVALID_ICON_HANDLE syscall.Errno = 1414 ERROR_PRIVATE_DIALOG_INDEX syscall.Errno = 1415 ERROR_LISTBOX_ID_NOT_FOUND syscall.Errno = 1416 ERROR_NO_WILDCARD_CHARACTERS syscall.Errno = 1417 ERROR_CLIPBOARD_NOT_OPEN syscall.Errno = 1418 ERROR_HOTKEY_NOT_REGISTERED syscall.Errno = 1419 ERROR_WINDOW_NOT_DIALOG syscall.Errno = 1420 ERROR_CONTROL_ID_NOT_FOUND syscall.Errno = 1421 ERROR_INVALID_COMBOBOX_MESSAGE syscall.Errno = 1422 ERROR_WINDOW_NOT_COMBOBOX syscall.Errno = 1423 ERROR_INVALID_EDIT_HEIGHT syscall.Errno = 1424 ERROR_DC_NOT_FOUND syscall.Errno = 1425 ERROR_INVALID_HOOK_FILTER syscall.Errno = 1426 ERROR_INVALID_FILTER_PROC syscall.Errno = 1427 ERROR_HOOK_NEEDS_HMOD syscall.Errno = 1428 ERROR_GLOBAL_ONLY_HOOK syscall.Errno = 1429 ERROR_JOURNAL_HOOK_SET syscall.Errno = 1430 ERROR_HOOK_NOT_INSTALLED syscall.Errno = 1431 ERROR_INVALID_LB_MESSAGE syscall.Errno = 1432 ERROR_SETCOUNT_ON_BAD_LB syscall.Errno = 1433 ERROR_LB_WITHOUT_TABSTOPS syscall.Errno = 1434 ERROR_DESTROY_OBJECT_OF_OTHER_THREAD syscall.Errno = 1435 ERROR_CHILD_WINDOW_MENU syscall.Errno = 1436 ERROR_NO_SYSTEM_MENU syscall.Errno = 1437 ERROR_INVALID_MSGBOX_STYLE syscall.Errno = 1438 ERROR_INVALID_SPI_VALUE syscall.Errno = 1439 ERROR_SCREEN_ALREADY_LOCKED syscall.Errno = 1440 ERROR_HWNDS_HAVE_DIFF_PARENT syscall.Errno = 1441 ERROR_NOT_CHILD_WINDOW syscall.Errno = 1442 ERROR_INVALID_GW_COMMAND syscall.Errno = 1443 ERROR_INVALID_THREAD_ID syscall.Errno = 1444 ERROR_NON_MDICHILD_WINDOW syscall.Errno = 1445 ERROR_POPUP_ALREADY_ACTIVE syscall.Errno = 1446 ERROR_NO_SCROLLBARS syscall.Errno = 1447 ERROR_INVALID_SCROLLBAR_RANGE syscall.Errno = 1448 ERROR_INVALID_SHOWWIN_COMMAND syscall.Errno = 1449 ERROR_NO_SYSTEM_RESOURCES syscall.Errno = 1450 ERROR_NONPAGED_SYSTEM_RESOURCES syscall.Errno = 1451 ERROR_PAGED_SYSTEM_RESOURCES syscall.Errno = 1452 ERROR_WORKING_SET_QUOTA syscall.Errno = 1453 ERROR_PAGEFILE_QUOTA syscall.Errno = 1454 ERROR_COMMITMENT_LIMIT syscall.Errno = 1455 ERROR_MENU_ITEM_NOT_FOUND syscall.Errno = 1456 ERROR_INVALID_KEYBOARD_HANDLE syscall.Errno = 1457 ERROR_HOOK_TYPE_NOT_ALLOWED syscall.Errno = 1458 ERROR_REQUIRES_INTERACTIVE_WINDOWSTATION syscall.Errno = 1459 ERROR_TIMEOUT syscall.Errno = 1460 ERROR_INVALID_MONITOR_HANDLE syscall.Errno = 1461 ERROR_INCORRECT_SIZE syscall.Errno = 1462 ERROR_SYMLINK_CLASS_DISABLED syscall.Errno = 1463 ERROR_SYMLINK_NOT_SUPPORTED syscall.Errno = 1464 ERROR_XML_PARSE_ERROR syscall.Errno = 1465 ERROR_XMLDSIG_ERROR syscall.Errno = 1466 ERROR_RESTART_APPLICATION syscall.Errno = 1467 ERROR_WRONG_COMPARTMENT syscall.Errno = 1468 ERROR_AUTHIP_FAILURE syscall.Errno = 1469 ERROR_NO_NVRAM_RESOURCES syscall.Errno = 1470 ERROR_NOT_GUI_PROCESS syscall.Errno = 1471 ERROR_EVENTLOG_FILE_CORRUPT syscall.Errno = 1500 ERROR_EVENTLOG_CANT_START syscall.Errno = 1501 ERROR_LOG_FILE_FULL syscall.Errno = 1502 ERROR_EVENTLOG_FILE_CHANGED syscall.Errno = 1503 ERROR_CONTAINER_ASSIGNED syscall.Errno = 1504 ERROR_JOB_NO_CONTAINER syscall.Errno = 1505 ERROR_INVALID_TASK_NAME syscall.Errno = 1550 ERROR_INVALID_TASK_INDEX syscall.Errno = 1551 ERROR_THREAD_ALREADY_IN_TASK syscall.Errno = 1552 ERROR_INSTALL_SERVICE_FAILURE syscall.Errno = 1601 ERROR_INSTALL_USEREXIT syscall.Errno = 1602 ERROR_INSTALL_FAILURE syscall.Errno = 1603 ERROR_INSTALL_SUSPEND syscall.Errno = 1604 ERROR_UNKNOWN_PRODUCT syscall.Errno = 1605 ERROR_UNKNOWN_FEATURE syscall.Errno = 1606 ERROR_UNKNOWN_COMPONENT syscall.Errno = 1607 ERROR_UNKNOWN_PROPERTY syscall.Errno = 1608 ERROR_INVALID_HANDLE_STATE syscall.Errno = 1609 ERROR_BAD_CONFIGURATION syscall.Errno = 1610 ERROR_INDEX_ABSENT syscall.Errno = 1611 ERROR_INSTALL_SOURCE_ABSENT syscall.Errno = 1612 ERROR_INSTALL_PACKAGE_VERSION syscall.Errno = 1613 ERROR_PRODUCT_UNINSTALLED syscall.Errno = 1614 ERROR_BAD_QUERY_SYNTAX syscall.Errno = 1615 ERROR_INVALID_FIELD syscall.Errno = 1616 ERROR_DEVICE_REMOVED syscall.Errno = 1617 ERROR_INSTALL_ALREADY_RUNNING syscall.Errno = 1618 ERROR_INSTALL_PACKAGE_OPEN_FAILED syscall.Errno = 1619 ERROR_INSTALL_PACKAGE_INVALID syscall.Errno = 1620 ERROR_INSTALL_UI_FAILURE syscall.Errno = 1621 ERROR_INSTALL_LOG_FAILURE syscall.Errno = 1622 ERROR_INSTALL_LANGUAGE_UNSUPPORTED syscall.Errno = 1623 ERROR_INSTALL_TRANSFORM_FAILURE syscall.Errno = 1624 ERROR_INSTALL_PACKAGE_REJECTED syscall.Errno = 1625 ERROR_FUNCTION_NOT_CALLED syscall.Errno = 1626 ERROR_FUNCTION_FAILED syscall.Errno = 1627 ERROR_INVALID_TABLE syscall.Errno = 1628 ERROR_DATATYPE_MISMATCH syscall.Errno = 1629 ERROR_UNSUPPORTED_TYPE syscall.Errno = 1630 ERROR_CREATE_FAILED syscall.Errno = 1631 ERROR_INSTALL_TEMP_UNWRITABLE syscall.Errno = 1632 ERROR_INSTALL_PLATFORM_UNSUPPORTED syscall.Errno = 1633 ERROR_INSTALL_NOTUSED syscall.Errno = 1634 ERROR_PATCH_PACKAGE_OPEN_FAILED syscall.Errno = 1635 ERROR_PATCH_PACKAGE_INVALID syscall.Errno = 1636 ERROR_PATCH_PACKAGE_UNSUPPORTED syscall.Errno = 1637 ERROR_PRODUCT_VERSION syscall.Errno = 1638 ERROR_INVALID_COMMAND_LINE syscall.Errno = 1639 ERROR_INSTALL_REMOTE_DISALLOWED syscall.Errno = 1640 ERROR_SUCCESS_REBOOT_INITIATED syscall.Errno = 1641 ERROR_PATCH_TARGET_NOT_FOUND syscall.Errno = 1642 ERROR_PATCH_PACKAGE_REJECTED syscall.Errno = 1643 ERROR_INSTALL_TRANSFORM_REJECTED syscall.Errno = 1644 ERROR_INSTALL_REMOTE_PROHIBITED syscall.Errno = 1645 ERROR_PATCH_REMOVAL_UNSUPPORTED syscall.Errno = 1646 ERROR_UNKNOWN_PATCH syscall.Errno = 1647 ERROR_PATCH_NO_SEQUENCE syscall.Errno = 1648 ERROR_PATCH_REMOVAL_DISALLOWED syscall.Errno = 1649 ERROR_INVALID_PATCH_XML syscall.Errno = 1650 ERROR_PATCH_MANAGED_ADVERTISED_PRODUCT syscall.Errno = 1651 ERROR_INSTALL_SERVICE_SAFEBOOT syscall.Errno = 1652 ERROR_FAIL_FAST_EXCEPTION syscall.Errno = 1653 ERROR_INSTALL_REJECTED syscall.Errno = 1654 ERROR_DYNAMIC_CODE_BLOCKED syscall.Errno = 1655 ERROR_NOT_SAME_OBJECT syscall.Errno = 1656 ERROR_STRICT_CFG_VIOLATION syscall.Errno = 1657 ERROR_SET_CONTEXT_DENIED syscall.Errno = 1660 ERROR_CROSS_PARTITION_VIOLATION syscall.Errno = 1661 RPC_S_INVALID_STRING_BINDING syscall.Errno = 1700 RPC_S_WRONG_KIND_OF_BINDING syscall.Errno = 1701 RPC_S_INVALID_BINDING syscall.Errno = 1702 RPC_S_PROTSEQ_NOT_SUPPORTED syscall.Errno = 1703 RPC_S_INVALID_RPC_PROTSEQ syscall.Errno = 1704 RPC_S_INVALID_STRING_UUID syscall.Errno = 1705 RPC_S_INVALID_ENDPOINT_FORMAT syscall.Errno = 1706 RPC_S_INVALID_NET_ADDR syscall.Errno = 1707 RPC_S_NO_ENDPOINT_FOUND syscall.Errno = 1708 RPC_S_INVALID_TIMEOUT syscall.Errno = 1709 RPC_S_OBJECT_NOT_FOUND syscall.Errno = 1710 RPC_S_ALREADY_REGISTERED syscall.Errno = 1711 RPC_S_TYPE_ALREADY_REGISTERED syscall.Errno = 1712 RPC_S_ALREADY_LISTENING syscall.Errno = 1713 RPC_S_NO_PROTSEQS_REGISTERED syscall.Errno = 1714 RPC_S_NOT_LISTENING syscall.Errno = 1715 RPC_S_UNKNOWN_MGR_TYPE syscall.Errno = 1716 RPC_S_UNKNOWN_IF syscall.Errno = 1717 RPC_S_NO_BINDINGS syscall.Errno = 1718 RPC_S_NO_PROTSEQS syscall.Errno = 1719 RPC_S_CANT_CREATE_ENDPOINT syscall.Errno = 1720 RPC_S_OUT_OF_RESOURCES syscall.Errno = 1721 RPC_S_SERVER_UNAVAILABLE syscall.Errno = 1722 RPC_S_SERVER_TOO_BUSY syscall.Errno = 1723 RPC_S_INVALID_NETWORK_OPTIONS syscall.Errno = 1724 RPC_S_NO_CALL_ACTIVE syscall.Errno = 1725 RPC_S_CALL_FAILED syscall.Errno = 1726 RPC_S_CALL_FAILED_DNE syscall.Errno = 1727 RPC_S_PROTOCOL_ERROR syscall.Errno = 1728 RPC_S_PROXY_ACCESS_DENIED syscall.Errno = 1729 RPC_S_UNSUPPORTED_TRANS_SYN syscall.Errno = 1730 RPC_S_UNSUPPORTED_TYPE syscall.Errno = 1732 RPC_S_INVALID_TAG syscall.Errno = 1733 RPC_S_INVALID_BOUND syscall.Errno = 1734 RPC_S_NO_ENTRY_NAME syscall.Errno = 1735 RPC_S_INVALID_NAME_SYNTAX syscall.Errno = 1736 RPC_S_UNSUPPORTED_NAME_SYNTAX syscall.Errno = 1737 RPC_S_UUID_NO_ADDRESS syscall.Errno = 1739 RPC_S_DUPLICATE_ENDPOINT syscall.Errno = 1740 RPC_S_UNKNOWN_AUTHN_TYPE syscall.Errno = 1741 RPC_S_MAX_CALLS_TOO_SMALL syscall.Errno = 1742 RPC_S_STRING_TOO_LONG syscall.Errno = 1743 RPC_S_PROTSEQ_NOT_FOUND syscall.Errno = 1744 RPC_S_PROCNUM_OUT_OF_RANGE syscall.Errno = 1745 RPC_S_BINDING_HAS_NO_AUTH syscall.Errno = 1746 RPC_S_UNKNOWN_AUTHN_SERVICE syscall.Errno = 1747 RPC_S_UNKNOWN_AUTHN_LEVEL syscall.Errno = 1748 RPC_S_INVALID_AUTH_IDENTITY syscall.Errno = 1749 RPC_S_UNKNOWN_AUTHZ_SERVICE syscall.Errno = 1750 EPT_S_INVALID_ENTRY syscall.Errno = 1751 EPT_S_CANT_PERFORM_OP syscall.Errno = 1752 EPT_S_NOT_REGISTERED syscall.Errno = 1753 RPC_S_NOTHING_TO_EXPORT syscall.Errno = 1754 RPC_S_INCOMPLETE_NAME syscall.Errno = 1755 RPC_S_INVALID_VERS_OPTION syscall.Errno = 1756 RPC_S_NO_MORE_MEMBERS syscall.Errno = 1757 RPC_S_NOT_ALL_OBJS_UNEXPORTED syscall.Errno = 1758 RPC_S_INTERFACE_NOT_FOUND syscall.Errno = 1759 RPC_S_ENTRY_ALREADY_EXISTS syscall.Errno = 1760 RPC_S_ENTRY_NOT_FOUND syscall.Errno = 1761 RPC_S_NAME_SERVICE_UNAVAILABLE syscall.Errno = 1762 RPC_S_INVALID_NAF_ID syscall.Errno = 1763 RPC_S_CANNOT_SUPPORT syscall.Errno = 1764 RPC_S_NO_CONTEXT_AVAILABLE syscall.Errno = 1765 RPC_S_INTERNAL_ERROR syscall.Errno = 1766 RPC_S_ZERO_DIVIDE syscall.Errno = 1767 RPC_S_ADDRESS_ERROR syscall.Errno = 1768 RPC_S_FP_DIV_ZERO syscall.Errno = 1769 RPC_S_FP_UNDERFLOW syscall.Errno = 1770 RPC_S_FP_OVERFLOW syscall.Errno = 1771 RPC_X_NO_MORE_ENTRIES syscall.Errno = 1772 RPC_X_SS_CHAR_TRANS_OPEN_FAIL syscall.Errno = 1773 RPC_X_SS_CHAR_TRANS_SHORT_FILE syscall.Errno = 1774 RPC_X_SS_IN_NULL_CONTEXT syscall.Errno = 1775 RPC_X_SS_CONTEXT_DAMAGED syscall.Errno = 1777 RPC_X_SS_HANDLES_MISMATCH syscall.Errno = 1778 RPC_X_SS_CANNOT_GET_CALL_HANDLE syscall.Errno = 1779 RPC_X_NULL_REF_POINTER syscall.Errno = 1780 RPC_X_ENUM_VALUE_OUT_OF_RANGE syscall.Errno = 1781 RPC_X_BYTE_COUNT_TOO_SMALL syscall.Errno = 1782 RPC_X_BAD_STUB_DATA syscall.Errno = 1783 ERROR_INVALID_USER_BUFFER syscall.Errno = 1784 ERROR_UNRECOGNIZED_MEDIA syscall.Errno = 1785 ERROR_NO_TRUST_LSA_SECRET syscall.Errno = 1786 ERROR_NO_TRUST_SAM_ACCOUNT syscall.Errno = 1787 ERROR_TRUSTED_DOMAIN_FAILURE syscall.Errno = 1788 ERROR_TRUSTED_RELATIONSHIP_FAILURE syscall.Errno = 1789 ERROR_TRUST_FAILURE syscall.Errno = 1790 RPC_S_CALL_IN_PROGRESS syscall.Errno = 1791 ERROR_NETLOGON_NOT_STARTED syscall.Errno = 1792 ERROR_ACCOUNT_EXPIRED syscall.Errno = 1793 ERROR_REDIRECTOR_HAS_OPEN_HANDLES syscall.Errno = 1794 ERROR_PRINTER_DRIVER_ALREADY_INSTALLED syscall.Errno = 1795 ERROR_UNKNOWN_PORT syscall.Errno = 1796 ERROR_UNKNOWN_PRINTER_DRIVER syscall.Errno = 1797 ERROR_UNKNOWN_PRINTPROCESSOR syscall.Errno = 1798 ERROR_INVALID_SEPARATOR_FILE syscall.Errno = 1799 ERROR_INVALID_PRIORITY syscall.Errno = 1800 ERROR_INVALID_PRINTER_NAME syscall.Errno = 1801 ERROR_PRINTER_ALREADY_EXISTS syscall.Errno = 1802 ERROR_INVALID_PRINTER_COMMAND syscall.Errno = 1803 ERROR_INVALID_DATATYPE syscall.Errno = 1804 ERROR_INVALID_ENVIRONMENT syscall.Errno = 1805 RPC_S_NO_MORE_BINDINGS syscall.Errno = 1806 ERROR_NOLOGON_INTERDOMAIN_TRUST_ACCOUNT syscall.Errno = 1807 ERROR_NOLOGON_WORKSTATION_TRUST_ACCOUNT syscall.Errno = 1808 ERROR_NOLOGON_SERVER_TRUST_ACCOUNT syscall.Errno = 1809 ERROR_DOMAIN_TRUST_INCONSISTENT syscall.Errno = 1810 ERROR_SERVER_HAS_OPEN_HANDLES syscall.Errno = 1811 ERROR_RESOURCE_DATA_NOT_FOUND syscall.Errno = 1812 ERROR_RESOURCE_TYPE_NOT_FOUND syscall.Errno = 1813 ERROR_RESOURCE_NAME_NOT_FOUND syscall.Errno = 1814 ERROR_RESOURCE_LANG_NOT_FOUND syscall.Errno = 1815 ERROR_NOT_ENOUGH_QUOTA syscall.Errno = 1816 RPC_S_NO_INTERFACES syscall.Errno = 1817 RPC_S_CALL_CANCELLED syscall.Errno = 1818 RPC_S_BINDING_INCOMPLETE syscall.Errno = 1819 RPC_S_COMM_FAILURE syscall.Errno = 1820 RPC_S_UNSUPPORTED_AUTHN_LEVEL syscall.Errno = 1821 RPC_S_NO_PRINC_NAME syscall.Errno = 1822 RPC_S_NOT_RPC_ERROR syscall.Errno = 1823 RPC_S_UUID_LOCAL_ONLY syscall.Errno = 1824 RPC_S_SEC_PKG_ERROR syscall.Errno = 1825 RPC_S_NOT_CANCELLED syscall.Errno = 1826 RPC_X_INVALID_ES_ACTION syscall.Errno = 1827 RPC_X_WRONG_ES_VERSION syscall.Errno = 1828 RPC_X_WRONG_STUB_VERSION syscall.Errno = 1829 RPC_X_INVALID_PIPE_OBJECT syscall.Errno = 1830 RPC_X_WRONG_PIPE_ORDER syscall.Errno = 1831 RPC_X_WRONG_PIPE_VERSION syscall.Errno = 1832 RPC_S_COOKIE_AUTH_FAILED syscall.Errno = 1833 RPC_S_DO_NOT_DISTURB syscall.Errno = 1834 RPC_S_SYSTEM_HANDLE_COUNT_EXCEEDED syscall.Errno = 1835 RPC_S_SYSTEM_HANDLE_TYPE_MISMATCH syscall.Errno = 1836 RPC_S_GROUP_MEMBER_NOT_FOUND syscall.Errno = 1898 EPT_S_CANT_CREATE syscall.Errno = 1899 RPC_S_INVALID_OBJECT syscall.Errno = 1900 ERROR_INVALID_TIME syscall.Errno = 1901 ERROR_INVALID_FORM_NAME syscall.Errno = 1902 ERROR_INVALID_FORM_SIZE syscall.Errno = 1903 ERROR_ALREADY_WAITING syscall.Errno = 1904 ERROR_PRINTER_DELETED syscall.Errno = 1905 ERROR_INVALID_PRINTER_STATE syscall.Errno = 1906 ERROR_PASSWORD_MUST_CHANGE syscall.Errno = 1907 ERROR_DOMAIN_CONTROLLER_NOT_FOUND syscall.Errno = 1908 ERROR_ACCOUNT_LOCKED_OUT syscall.Errno = 1909 OR_INVALID_OXID syscall.Errno = 1910 OR_INVALID_OID syscall.Errno = 1911 OR_INVALID_SET syscall.Errno = 1912 RPC_S_SEND_INCOMPLETE syscall.Errno = 1913 RPC_S_INVALID_ASYNC_HANDLE syscall.Errno = 1914 RPC_S_INVALID_ASYNC_CALL syscall.Errno = 1915 RPC_X_PIPE_CLOSED syscall.Errno = 1916 RPC_X_PIPE_DISCIPLINE_ERROR syscall.Errno = 1917 RPC_X_PIPE_EMPTY syscall.Errno = 1918 ERROR_NO_SITENAME syscall.Errno = 1919 ERROR_CANT_ACCESS_FILE syscall.Errno = 1920 ERROR_CANT_RESOLVE_FILENAME syscall.Errno = 1921 RPC_S_ENTRY_TYPE_MISMATCH syscall.Errno = 1922 RPC_S_NOT_ALL_OBJS_EXPORTED syscall.Errno = 1923 RPC_S_INTERFACE_NOT_EXPORTED syscall.Errno = 1924 RPC_S_PROFILE_NOT_ADDED syscall.Errno = 1925 RPC_S_PRF_ELT_NOT_ADDED syscall.Errno = 1926 RPC_S_PRF_ELT_NOT_REMOVED syscall.Errno = 1927 RPC_S_GRP_ELT_NOT_ADDED syscall.Errno = 1928 RPC_S_GRP_ELT_NOT_REMOVED syscall.Errno = 1929 ERROR_KM_DRIVER_BLOCKED syscall.Errno = 1930 ERROR_CONTEXT_EXPIRED syscall.Errno = 1931 ERROR_PER_USER_TRUST_QUOTA_EXCEEDED syscall.Errno = 1932 ERROR_ALL_USER_TRUST_QUOTA_EXCEEDED syscall.Errno = 1933 ERROR_USER_DELETE_TRUST_QUOTA_EXCEEDED syscall.Errno = 1934 ERROR_AUTHENTICATION_FIREWALL_FAILED syscall.Errno = 1935 ERROR_REMOTE_PRINT_CONNECTIONS_BLOCKED syscall.Errno = 1936 ERROR_NTLM_BLOCKED syscall.Errno = 1937 ERROR_PASSWORD_CHANGE_REQUIRED syscall.Errno = 1938 ERROR_LOST_MODE_LOGON_RESTRICTION syscall.Errno = 1939 ERROR_INVALID_PIXEL_FORMAT syscall.Errno = 2000 ERROR_BAD_DRIVER syscall.Errno = 2001 ERROR_INVALID_WINDOW_STYLE syscall.Errno = 2002 ERROR_METAFILE_NOT_SUPPORTED syscall.Errno = 2003 ERROR_TRANSFORM_NOT_SUPPORTED syscall.Errno = 2004 ERROR_CLIPPING_NOT_SUPPORTED syscall.Errno = 2005 ERROR_INVALID_CMM syscall.Errno = 2010 ERROR_INVALID_PROFILE syscall.Errno = 2011 ERROR_TAG_NOT_FOUND syscall.Errno = 2012 ERROR_TAG_NOT_PRESENT syscall.Errno = 2013 ERROR_DUPLICATE_TAG syscall.Errno = 2014 ERROR_PROFILE_NOT_ASSOCIATED_WITH_DEVICE syscall.Errno = 2015 ERROR_PROFILE_NOT_FOUND syscall.Errno = 2016 ERROR_INVALID_COLORSPACE syscall.Errno = 2017 ERROR_ICM_NOT_ENABLED syscall.Errno = 2018 ERROR_DELETING_ICM_XFORM syscall.Errno = 2019 ERROR_INVALID_TRANSFORM syscall.Errno = 2020 ERROR_COLORSPACE_MISMATCH syscall.Errno = 2021 ERROR_INVALID_COLORINDEX syscall.Errno = 2022 ERROR_PROFILE_DOES_NOT_MATCH_DEVICE syscall.Errno = 2023 ERROR_CONNECTED_OTHER_PASSWORD syscall.Errno = 2108 ERROR_CONNECTED_OTHER_PASSWORD_DEFAULT syscall.Errno = 2109 ERROR_BAD_USERNAME syscall.Errno = 2202 ERROR_NOT_CONNECTED syscall.Errno = 2250 ERROR_OPEN_FILES syscall.Errno = 2401 ERROR_ACTIVE_CONNECTIONS syscall.Errno = 2402 ERROR_DEVICE_IN_USE syscall.Errno = 2404 ERROR_UNKNOWN_PRINT_MONITOR syscall.Errno = 3000 ERROR_PRINTER_DRIVER_IN_USE syscall.Errno = 3001 ERROR_SPOOL_FILE_NOT_FOUND syscall.Errno = 3002 ERROR_SPL_NO_STARTDOC syscall.Errno = 3003 ERROR_SPL_NO_ADDJOB syscall.Errno = 3004 ERROR_PRINT_PROCESSOR_ALREADY_INSTALLED syscall.Errno = 3005 ERROR_PRINT_MONITOR_ALREADY_INSTALLED syscall.Errno = 3006 ERROR_INVALID_PRINT_MONITOR syscall.Errno = 3007 ERROR_PRINT_MONITOR_IN_USE syscall.Errno = 3008 ERROR_PRINTER_HAS_JOBS_QUEUED syscall.Errno = 3009 ERROR_SUCCESS_REBOOT_REQUIRED syscall.Errno = 3010 ERROR_SUCCESS_RESTART_REQUIRED syscall.Errno = 3011 ERROR_PRINTER_NOT_FOUND syscall.Errno = 3012 ERROR_PRINTER_DRIVER_WARNED syscall.Errno = 3013 ERROR_PRINTER_DRIVER_BLOCKED syscall.Errno = 3014 ERROR_PRINTER_DRIVER_PACKAGE_IN_USE syscall.Errno = 3015 ERROR_CORE_DRIVER_PACKAGE_NOT_FOUND syscall.Errno = 3016 ERROR_FAIL_REBOOT_REQUIRED syscall.Errno = 3017 ERROR_FAIL_REBOOT_INITIATED syscall.Errno = 3018 ERROR_PRINTER_DRIVER_DOWNLOAD_NEEDED syscall.Errno = 3019 ERROR_PRINT_JOB_RESTART_REQUIRED syscall.Errno = 3020 ERROR_INVALID_PRINTER_DRIVER_MANIFEST syscall.Errno = 3021 ERROR_PRINTER_NOT_SHAREABLE syscall.Errno = 3022 ERROR_REQUEST_PAUSED syscall.Errno = 3050 ERROR_APPEXEC_CONDITION_NOT_SATISFIED syscall.Errno = 3060 ERROR_APPEXEC_HANDLE_INVALIDATED syscall.Errno = 3061 ERROR_APPEXEC_INVALID_HOST_GENERATION syscall.Errno = 3062 ERROR_APPEXEC_UNEXPECTED_PROCESS_REGISTRATION syscall.Errno = 3063 ERROR_APPEXEC_INVALID_HOST_STATE syscall.Errno = 3064 ERROR_APPEXEC_NO_DONOR syscall.Errno = 3065 ERROR_APPEXEC_HOST_ID_MISMATCH syscall.Errno = 3066 ERROR_APPEXEC_UNKNOWN_USER syscall.Errno = 3067 ERROR_IO_REISSUE_AS_CACHED syscall.Errno = 3950 ERROR_WINS_INTERNAL syscall.Errno = 4000 ERROR_CAN_NOT_DEL_LOCAL_WINS syscall.Errno = 4001 ERROR_STATIC_INIT syscall.Errno = 4002 ERROR_INC_BACKUP syscall.Errno = 4003 ERROR_FULL_BACKUP syscall.Errno = 4004 ERROR_REC_NON_EXISTENT syscall.Errno = 4005 ERROR_RPL_NOT_ALLOWED syscall.Errno = 4006 PEERDIST_ERROR_CONTENTINFO_VERSION_UNSUPPORTED syscall.Errno = 4050 PEERDIST_ERROR_CANNOT_PARSE_CONTENTINFO syscall.Errno = 4051 PEERDIST_ERROR_MISSING_DATA syscall.Errno = 4052 PEERDIST_ERROR_NO_MORE syscall.Errno = 4053 PEERDIST_ERROR_NOT_INITIALIZED syscall.Errno = 4054 PEERDIST_ERROR_ALREADY_INITIALIZED syscall.Errno = 4055 PEERDIST_ERROR_SHUTDOWN_IN_PROGRESS syscall.Errno = 4056 PEERDIST_ERROR_INVALIDATED syscall.Errno = 4057 PEERDIST_ERROR_ALREADY_EXISTS syscall.Errno = 4058 PEERDIST_ERROR_OPERATION_NOTFOUND syscall.Errno = 4059 PEERDIST_ERROR_ALREADY_COMPLETED syscall.Errno = 4060 PEERDIST_ERROR_OUT_OF_BOUNDS syscall.Errno = 4061 PEERDIST_ERROR_VERSION_UNSUPPORTED syscall.Errno = 4062 PEERDIST_ERROR_INVALID_CONFIGURATION syscall.Errno = 4063 PEERDIST_ERROR_NOT_LICENSED syscall.Errno = 4064 PEERDIST_ERROR_SERVICE_UNAVAILABLE syscall.Errno = 4065 PEERDIST_ERROR_TRUST_FAILURE syscall.Errno = 4066 ERROR_DHCP_ADDRESS_CONFLICT syscall.Errno = 4100 ERROR_WMI_GUID_NOT_FOUND syscall.Errno = 4200 ERROR_WMI_INSTANCE_NOT_FOUND syscall.Errno = 4201 ERROR_WMI_ITEMID_NOT_FOUND syscall.Errno = 4202 ERROR_WMI_TRY_AGAIN syscall.Errno = 4203 ERROR_WMI_DP_NOT_FOUND syscall.Errno = 4204 ERROR_WMI_UNRESOLVED_INSTANCE_REF syscall.Errno = 4205 ERROR_WMI_ALREADY_ENABLED syscall.Errno = 4206 ERROR_WMI_GUID_DISCONNECTED syscall.Errno = 4207 ERROR_WMI_SERVER_UNAVAILABLE syscall.Errno = 4208 ERROR_WMI_DP_FAILED syscall.Errno = 4209 ERROR_WMI_INVALID_MOF syscall.Errno = 4210 ERROR_WMI_INVALID_REGINFO syscall.Errno = 4211 ERROR_WMI_ALREADY_DISABLED syscall.Errno = 4212 ERROR_WMI_READ_ONLY syscall.Errno = 4213 ERROR_WMI_SET_FAILURE syscall.Errno = 4214 ERROR_NOT_APPCONTAINER syscall.Errno = 4250 ERROR_APPCONTAINER_REQUIRED syscall.Errno = 4251 ERROR_NOT_SUPPORTED_IN_APPCONTAINER syscall.Errno = 4252 ERROR_INVALID_PACKAGE_SID_LENGTH syscall.Errno = 4253 ERROR_INVALID_MEDIA syscall.Errno = 4300 ERROR_INVALID_LIBRARY syscall.Errno = 4301 ERROR_INVALID_MEDIA_POOL syscall.Errno = 4302 ERROR_DRIVE_MEDIA_MISMATCH syscall.Errno = 4303 ERROR_MEDIA_OFFLINE syscall.Errno = 4304 ERROR_LIBRARY_OFFLINE syscall.Errno = 4305 ERROR_EMPTY syscall.Errno = 4306 ERROR_NOT_EMPTY syscall.Errno = 4307 ERROR_MEDIA_UNAVAILABLE syscall.Errno = 4308 ERROR_RESOURCE_DISABLED syscall.Errno = 4309 ERROR_INVALID_CLEANER syscall.Errno = 4310 ERROR_UNABLE_TO_CLEAN syscall.Errno = 4311 ERROR_OBJECT_NOT_FOUND syscall.Errno = 4312 ERROR_DATABASE_FAILURE syscall.Errno = 4313 ERROR_DATABASE_FULL syscall.Errno = 4314 ERROR_MEDIA_INCOMPATIBLE syscall.Errno = 4315 ERROR_RESOURCE_NOT_PRESENT syscall.Errno = 4316 ERROR_INVALID_OPERATION syscall.Errno = 4317 ERROR_MEDIA_NOT_AVAILABLE syscall.Errno = 4318 ERROR_DEVICE_NOT_AVAILABLE syscall.Errno = 4319 ERROR_REQUEST_REFUSED syscall.Errno = 4320 ERROR_INVALID_DRIVE_OBJECT syscall.Errno = 4321 ERROR_LIBRARY_FULL syscall.Errno = 4322 ERROR_MEDIUM_NOT_ACCESSIBLE syscall.Errno = 4323 ERROR_UNABLE_TO_LOAD_MEDIUM syscall.Errno = 4324 ERROR_UNABLE_TO_INVENTORY_DRIVE syscall.Errno = 4325 ERROR_UNABLE_TO_INVENTORY_SLOT syscall.Errno = 4326 ERROR_UNABLE_TO_INVENTORY_TRANSPORT syscall.Errno = 4327 ERROR_TRANSPORT_FULL syscall.Errno = 4328 ERROR_CONTROLLING_IEPORT syscall.Errno = 4329 ERROR_UNABLE_TO_EJECT_MOUNTED_MEDIA syscall.Errno = 4330 ERROR_CLEANER_SLOT_SET syscall.Errno = 4331 ERROR_CLEANER_SLOT_NOT_SET syscall.Errno = 4332 ERROR_CLEANER_CARTRIDGE_SPENT syscall.Errno = 4333 ERROR_UNEXPECTED_OMID syscall.Errno = 4334 ERROR_CANT_DELETE_LAST_ITEM syscall.Errno = 4335 ERROR_MESSAGE_EXCEEDS_MAX_SIZE syscall.Errno = 4336 ERROR_VOLUME_CONTAINS_SYS_FILES syscall.Errno = 4337 ERROR_INDIGENOUS_TYPE syscall.Errno = 4338 ERROR_NO_SUPPORTING_DRIVES syscall.Errno = 4339 ERROR_CLEANER_CARTRIDGE_INSTALLED syscall.Errno = 4340 ERROR_IEPORT_FULL syscall.Errno = 4341 ERROR_FILE_OFFLINE syscall.Errno = 4350 ERROR_REMOTE_STORAGE_NOT_ACTIVE syscall.Errno = 4351 ERROR_REMOTE_STORAGE_MEDIA_ERROR syscall.Errno = 4352 ERROR_NOT_A_REPARSE_POINT syscall.Errno = 4390 ERROR_REPARSE_ATTRIBUTE_CONFLICT syscall.Errno = 4391 ERROR_INVALID_REPARSE_DATA syscall.Errno = 4392 ERROR_REPARSE_TAG_INVALID syscall.Errno = 4393 ERROR_REPARSE_TAG_MISMATCH syscall.Errno = 4394 ERROR_REPARSE_POINT_ENCOUNTERED syscall.Errno = 4395 ERROR_APP_DATA_NOT_FOUND syscall.Errno = 4400 ERROR_APP_DATA_EXPIRED syscall.Errno = 4401 ERROR_APP_DATA_CORRUPT syscall.Errno = 4402 ERROR_APP_DATA_LIMIT_EXCEEDED syscall.Errno = 4403 ERROR_APP_DATA_REBOOT_REQUIRED syscall.Errno = 4404 ERROR_SECUREBOOT_ROLLBACK_DETECTED syscall.Errno = 4420 ERROR_SECUREBOOT_POLICY_VIOLATION syscall.Errno = 4421 ERROR_SECUREBOOT_INVALID_POLICY syscall.Errno = 4422 ERROR_SECUREBOOT_POLICY_PUBLISHER_NOT_FOUND syscall.Errno = 4423 ERROR_SECUREBOOT_POLICY_NOT_SIGNED syscall.Errno = 4424 ERROR_SECUREBOOT_NOT_ENABLED syscall.Errno = 4425 ERROR_SECUREBOOT_FILE_REPLACED syscall.Errno = 4426 ERROR_SECUREBOOT_POLICY_NOT_AUTHORIZED syscall.Errno = 4427 ERROR_SECUREBOOT_POLICY_UNKNOWN syscall.Errno = 4428 ERROR_SECUREBOOT_POLICY_MISSING_ANTIROLLBACKVERSION syscall.Errno = 4429 ERROR_SECUREBOOT_PLATFORM_ID_MISMATCH syscall.Errno = 4430 ERROR_SECUREBOOT_POLICY_ROLLBACK_DETECTED syscall.Errno = 4431 ERROR_SECUREBOOT_POLICY_UPGRADE_MISMATCH syscall.Errno = 4432 ERROR_SECUREBOOT_REQUIRED_POLICY_FILE_MISSING syscall.Errno = 4433 ERROR_SECUREBOOT_NOT_BASE_POLICY syscall.Errno = 4434 ERROR_SECUREBOOT_NOT_SUPPLEMENTAL_POLICY syscall.Errno = 4435 ERROR_OFFLOAD_READ_FLT_NOT_SUPPORTED syscall.Errno = 4440 ERROR_OFFLOAD_WRITE_FLT_NOT_SUPPORTED syscall.Errno = 4441 ERROR_OFFLOAD_READ_FILE_NOT_SUPPORTED syscall.Errno = 4442 ERROR_OFFLOAD_WRITE_FILE_NOT_SUPPORTED syscall.Errno = 4443 ERROR_ALREADY_HAS_STREAM_ID syscall.Errno = 4444 ERROR_SMR_GARBAGE_COLLECTION_REQUIRED syscall.Errno = 4445 ERROR_WOF_WIM_HEADER_CORRUPT syscall.Errno = 4446 ERROR_WOF_WIM_RESOURCE_TABLE_CORRUPT syscall.Errno = 4447 ERROR_WOF_FILE_RESOURCE_TABLE_CORRUPT syscall.Errno = 4448 ERROR_VOLUME_NOT_SIS_ENABLED syscall.Errno = 4500 ERROR_SYSTEM_INTEGRITY_ROLLBACK_DETECTED syscall.Errno = 4550 ERROR_SYSTEM_INTEGRITY_POLICY_VIOLATION syscall.Errno = 4551 ERROR_SYSTEM_INTEGRITY_INVALID_POLICY syscall.Errno = 4552 ERROR_SYSTEM_INTEGRITY_POLICY_NOT_SIGNED syscall.Errno = 4553 ERROR_SYSTEM_INTEGRITY_TOO_MANY_POLICIES syscall.Errno = 4554 ERROR_SYSTEM_INTEGRITY_SUPPLEMENTAL_POLICY_NOT_AUTHORIZED syscall.Errno = 4555 ERROR_VSM_NOT_INITIALIZED syscall.Errno = 4560 ERROR_VSM_DMA_PROTECTION_NOT_IN_USE syscall.Errno = 4561 ERROR_PLATFORM_MANIFEST_NOT_AUTHORIZED syscall.Errno = 4570 ERROR_PLATFORM_MANIFEST_INVALID syscall.Errno = 4571 ERROR_PLATFORM_MANIFEST_FILE_NOT_AUTHORIZED syscall.Errno = 4572 ERROR_PLATFORM_MANIFEST_CATALOG_NOT_AUTHORIZED syscall.Errno = 4573 ERROR_PLATFORM_MANIFEST_BINARY_ID_NOT_FOUND syscall.Errno = 4574 ERROR_PLATFORM_MANIFEST_NOT_ACTIVE syscall.Errno = 4575 ERROR_PLATFORM_MANIFEST_NOT_SIGNED syscall.Errno = 4576 ERROR_DEPENDENT_RESOURCE_EXISTS syscall.Errno = 5001 ERROR_DEPENDENCY_NOT_FOUND syscall.Errno = 5002 ERROR_DEPENDENCY_ALREADY_EXISTS syscall.Errno = 5003 ERROR_RESOURCE_NOT_ONLINE syscall.Errno = 5004 ERROR_HOST_NODE_NOT_AVAILABLE syscall.Errno = 5005 ERROR_RESOURCE_NOT_AVAILABLE syscall.Errno = 5006 ERROR_RESOURCE_NOT_FOUND syscall.Errno = 5007 ERROR_SHUTDOWN_CLUSTER syscall.Errno = 5008 ERROR_CANT_EVICT_ACTIVE_NODE syscall.Errno = 5009 ERROR_OBJECT_ALREADY_EXISTS syscall.Errno = 5010 ERROR_OBJECT_IN_LIST syscall.Errno = 5011 ERROR_GROUP_NOT_AVAILABLE syscall.Errno = 5012 ERROR_GROUP_NOT_FOUND syscall.Errno = 5013 ERROR_GROUP_NOT_ONLINE syscall.Errno = 5014 ERROR_HOST_NODE_NOT_RESOURCE_OWNER syscall.Errno = 5015 ERROR_HOST_NODE_NOT_GROUP_OWNER syscall.Errno = 5016 ERROR_RESMON_CREATE_FAILED syscall.Errno = 5017 ERROR_RESMON_ONLINE_FAILED syscall.Errno = 5018 ERROR_RESOURCE_ONLINE syscall.Errno = 5019 ERROR_QUORUM_RESOURCE syscall.Errno = 5020 ERROR_NOT_QUORUM_CAPABLE syscall.Errno = 5021 ERROR_CLUSTER_SHUTTING_DOWN syscall.Errno = 5022 ERROR_INVALID_STATE syscall.Errno = 5023 ERROR_RESOURCE_PROPERTIES_STORED syscall.Errno = 5024 ERROR_NOT_QUORUM_CLASS syscall.Errno = 5025 ERROR_CORE_RESOURCE syscall.Errno = 5026 ERROR_QUORUM_RESOURCE_ONLINE_FAILED syscall.Errno = 5027 ERROR_QUORUMLOG_OPEN_FAILED syscall.Errno = 5028 ERROR_CLUSTERLOG_CORRUPT syscall.Errno = 5029 ERROR_CLUSTERLOG_RECORD_EXCEEDS_MAXSIZE syscall.Errno = 5030 ERROR_CLUSTERLOG_EXCEEDS_MAXSIZE syscall.Errno = 5031 ERROR_CLUSTERLOG_CHKPOINT_NOT_FOUND syscall.Errno = 5032 ERROR_CLUSTERLOG_NOT_ENOUGH_SPACE syscall.Errno = 5033 ERROR_QUORUM_OWNER_ALIVE syscall.Errno = 5034 ERROR_NETWORK_NOT_AVAILABLE syscall.Errno = 5035 ERROR_NODE_NOT_AVAILABLE syscall.Errno = 5036 ERROR_ALL_NODES_NOT_AVAILABLE syscall.Errno = 5037 ERROR_RESOURCE_FAILED syscall.Errno = 5038 ERROR_CLUSTER_INVALID_NODE syscall.Errno = 5039 ERROR_CLUSTER_NODE_EXISTS syscall.Errno = 5040 ERROR_CLUSTER_JOIN_IN_PROGRESS syscall.Errno = 5041 ERROR_CLUSTER_NODE_NOT_FOUND syscall.Errno = 5042 ERROR_CLUSTER_LOCAL_NODE_NOT_FOUND syscall.Errno = 5043 ERROR_CLUSTER_NETWORK_EXISTS syscall.Errno = 5044 ERROR_CLUSTER_NETWORK_NOT_FOUND syscall.Errno = 5045 ERROR_CLUSTER_NETINTERFACE_EXISTS syscall.Errno = 5046 ERROR_CLUSTER_NETINTERFACE_NOT_FOUND syscall.Errno = 5047 ERROR_CLUSTER_INVALID_REQUEST syscall.Errno = 5048 ERROR_CLUSTER_INVALID_NETWORK_PROVIDER syscall.Errno = 5049 ERROR_CLUSTER_NODE_DOWN syscall.Errno = 5050 ERROR_CLUSTER_NODE_UNREACHABLE syscall.Errno = 5051 ERROR_CLUSTER_NODE_NOT_MEMBER syscall.Errno = 5052 ERROR_CLUSTER_JOIN_NOT_IN_PROGRESS syscall.Errno = 5053 ERROR_CLUSTER_INVALID_NETWORK syscall.Errno = 5054 ERROR_CLUSTER_NODE_UP syscall.Errno = 5056 ERROR_CLUSTER_IPADDR_IN_USE syscall.Errno = 5057 ERROR_CLUSTER_NODE_NOT_PAUSED syscall.Errno = 5058 ERROR_CLUSTER_NO_SECURITY_CONTEXT syscall.Errno = 5059 ERROR_CLUSTER_NETWORK_NOT_INTERNAL syscall.Errno = 5060 ERROR_CLUSTER_NODE_ALREADY_UP syscall.Errno = 5061 ERROR_CLUSTER_NODE_ALREADY_DOWN syscall.Errno = 5062 ERROR_CLUSTER_NETWORK_ALREADY_ONLINE syscall.Errno = 5063 ERROR_CLUSTER_NETWORK_ALREADY_OFFLINE syscall.Errno = 5064 ERROR_CLUSTER_NODE_ALREADY_MEMBER syscall.Errno = 5065 ERROR_CLUSTER_LAST_INTERNAL_NETWORK syscall.Errno = 5066 ERROR_CLUSTER_NETWORK_HAS_DEPENDENTS syscall.Errno = 5067 ERROR_INVALID_OPERATION_ON_QUORUM syscall.Errno = 5068 ERROR_DEPENDENCY_NOT_ALLOWED syscall.Errno = 5069 ERROR_CLUSTER_NODE_PAUSED syscall.Errno = 5070 ERROR_NODE_CANT_HOST_RESOURCE syscall.Errno = 5071 ERROR_CLUSTER_NODE_NOT_READY syscall.Errno = 5072 ERROR_CLUSTER_NODE_SHUTTING_DOWN syscall.Errno = 5073 ERROR_CLUSTER_JOIN_ABORTED syscall.Errno = 5074 ERROR_CLUSTER_INCOMPATIBLE_VERSIONS syscall.Errno = 5075 ERROR_CLUSTER_MAXNUM_OF_RESOURCES_EXCEEDED syscall.Errno = 5076 ERROR_CLUSTER_SYSTEM_CONFIG_CHANGED syscall.Errno = 5077 ERROR_CLUSTER_RESOURCE_TYPE_NOT_FOUND syscall.Errno = 5078 ERROR_CLUSTER_RESTYPE_NOT_SUPPORTED syscall.Errno = 5079 ERROR_CLUSTER_RESNAME_NOT_FOUND syscall.Errno = 5080 ERROR_CLUSTER_NO_RPC_PACKAGES_REGISTERED syscall.Errno = 5081 ERROR_CLUSTER_OWNER_NOT_IN_PREFLIST syscall.Errno = 5082 ERROR_CLUSTER_DATABASE_SEQMISMATCH syscall.Errno = 5083 ERROR_RESMON_INVALID_STATE syscall.Errno = 5084 ERROR_CLUSTER_GUM_NOT_LOCKER syscall.Errno = 5085 ERROR_QUORUM_DISK_NOT_FOUND syscall.Errno = 5086 ERROR_DATABASE_BACKUP_CORRUPT syscall.Errno = 5087 ERROR_CLUSTER_NODE_ALREADY_HAS_DFS_ROOT syscall.Errno = 5088 ERROR_RESOURCE_PROPERTY_UNCHANGEABLE syscall.Errno = 5089 ERROR_NO_ADMIN_ACCESS_POINT syscall.Errno = 5090 ERROR_CLUSTER_MEMBERSHIP_INVALID_STATE syscall.Errno = 5890 ERROR_CLUSTER_QUORUMLOG_NOT_FOUND syscall.Errno = 5891 ERROR_CLUSTER_MEMBERSHIP_HALT syscall.Errno = 5892 ERROR_CLUSTER_INSTANCE_ID_MISMATCH syscall.Errno = 5893 ERROR_CLUSTER_NETWORK_NOT_FOUND_FOR_IP syscall.Errno = 5894 ERROR_CLUSTER_PROPERTY_DATA_TYPE_MISMATCH syscall.Errno = 5895 ERROR_CLUSTER_EVICT_WITHOUT_CLEANUP syscall.Errno = 5896 ERROR_CLUSTER_PARAMETER_MISMATCH syscall.Errno = 5897 ERROR_NODE_CANNOT_BE_CLUSTERED syscall.Errno = 5898 ERROR_CLUSTER_WRONG_OS_VERSION syscall.Errno = 5899 ERROR_CLUSTER_CANT_CREATE_DUP_CLUSTER_NAME syscall.Errno = 5900 ERROR_CLUSCFG_ALREADY_COMMITTED syscall.Errno = 5901 ERROR_CLUSCFG_ROLLBACK_FAILED syscall.Errno = 5902 ERROR_CLUSCFG_SYSTEM_DISK_DRIVE_LETTER_CONFLICT syscall.Errno = 5903 ERROR_CLUSTER_OLD_VERSION syscall.Errno = 5904 ERROR_CLUSTER_MISMATCHED_COMPUTER_ACCT_NAME syscall.Errno = 5905 ERROR_CLUSTER_NO_NET_ADAPTERS syscall.Errno = 5906 ERROR_CLUSTER_POISONED syscall.Errno = 5907 ERROR_CLUSTER_GROUP_MOVING syscall.Errno = 5908 ERROR_CLUSTER_RESOURCE_TYPE_BUSY syscall.Errno = 5909 ERROR_RESOURCE_CALL_TIMED_OUT syscall.Errno = 5910 ERROR_INVALID_CLUSTER_IPV6_ADDRESS syscall.Errno = 5911 ERROR_CLUSTER_INTERNAL_INVALID_FUNCTION syscall.Errno = 5912 ERROR_CLUSTER_PARAMETER_OUT_OF_BOUNDS syscall.Errno = 5913 ERROR_CLUSTER_PARTIAL_SEND syscall.Errno = 5914 ERROR_CLUSTER_REGISTRY_INVALID_FUNCTION syscall.Errno = 5915 ERROR_CLUSTER_INVALID_STRING_TERMINATION syscall.Errno = 5916 ERROR_CLUSTER_INVALID_STRING_FORMAT syscall.Errno = 5917 ERROR_CLUSTER_DATABASE_TRANSACTION_IN_PROGRESS syscall.Errno = 5918 ERROR_CLUSTER_DATABASE_TRANSACTION_NOT_IN_PROGRESS syscall.Errno = 5919 ERROR_CLUSTER_NULL_DATA syscall.Errno = 5920 ERROR_CLUSTER_PARTIAL_READ syscall.Errno = 5921 ERROR_CLUSTER_PARTIAL_WRITE syscall.Errno = 5922 ERROR_CLUSTER_CANT_DESERIALIZE_DATA syscall.Errno = 5923 ERROR_DEPENDENT_RESOURCE_PROPERTY_CONFLICT syscall.Errno = 5924 ERROR_CLUSTER_NO_QUORUM syscall.Errno = 5925 ERROR_CLUSTER_INVALID_IPV6_NETWORK syscall.Errno = 5926 ERROR_CLUSTER_INVALID_IPV6_TUNNEL_NETWORK syscall.Errno = 5927 ERROR_QUORUM_NOT_ALLOWED_IN_THIS_GROUP syscall.Errno = 5928 ERROR_DEPENDENCY_TREE_TOO_COMPLEX syscall.Errno = 5929 ERROR_EXCEPTION_IN_RESOURCE_CALL syscall.Errno = 5930 ERROR_CLUSTER_RHS_FAILED_INITIALIZATION syscall.Errno = 5931 ERROR_CLUSTER_NOT_INSTALLED syscall.Errno = 5932 ERROR_CLUSTER_RESOURCES_MUST_BE_ONLINE_ON_THE_SAME_NODE syscall.Errno = 5933 ERROR_CLUSTER_MAX_NODES_IN_CLUSTER syscall.Errno = 5934 ERROR_CLUSTER_TOO_MANY_NODES syscall.Errno = 5935 ERROR_CLUSTER_OBJECT_ALREADY_USED syscall.Errno = 5936 ERROR_NONCORE_GROUPS_FOUND syscall.Errno = 5937 ERROR_FILE_SHARE_RESOURCE_CONFLICT syscall.Errno = 5938 ERROR_CLUSTER_EVICT_INVALID_REQUEST syscall.Errno = 5939 ERROR_CLUSTER_SINGLETON_RESOURCE syscall.Errno = 5940 ERROR_CLUSTER_GROUP_SINGLETON_RESOURCE syscall.Errno = 5941 ERROR_CLUSTER_RESOURCE_PROVIDER_FAILED syscall.Errno = 5942 ERROR_CLUSTER_RESOURCE_CONFIGURATION_ERROR syscall.Errno = 5943 ERROR_CLUSTER_GROUP_BUSY syscall.Errno = 5944 ERROR_CLUSTER_NOT_SHARED_VOLUME syscall.Errno = 5945 ERROR_CLUSTER_INVALID_SECURITY_DESCRIPTOR syscall.Errno = 5946 ERROR_CLUSTER_SHARED_VOLUMES_IN_USE syscall.Errno = 5947 ERROR_CLUSTER_USE_SHARED_VOLUMES_API syscall.Errno = 5948 ERROR_CLUSTER_BACKUP_IN_PROGRESS syscall.Errno = 5949 ERROR_NON_CSV_PATH syscall.Errno = 5950 ERROR_CSV_VOLUME_NOT_LOCAL syscall.Errno = 5951 ERROR_CLUSTER_WATCHDOG_TERMINATING syscall.Errno = 5952 ERROR_CLUSTER_RESOURCE_VETOED_MOVE_INCOMPATIBLE_NODES syscall.Errno = 5953 ERROR_CLUSTER_INVALID_NODE_WEIGHT syscall.Errno = 5954 ERROR_CLUSTER_RESOURCE_VETOED_CALL syscall.Errno = 5955 ERROR_RESMON_SYSTEM_RESOURCES_LACKING syscall.Errno = 5956 ERROR_CLUSTER_RESOURCE_VETOED_MOVE_NOT_ENOUGH_RESOURCES_ON_DESTINATION syscall.Errno = 5957 ERROR_CLUSTER_RESOURCE_VETOED_MOVE_NOT_ENOUGH_RESOURCES_ON_SOURCE syscall.Errno = 5958 ERROR_CLUSTER_GROUP_QUEUED syscall.Errno = 5959 ERROR_CLUSTER_RESOURCE_LOCKED_STATUS syscall.Errno = 5960 ERROR_CLUSTER_SHARED_VOLUME_FAILOVER_NOT_ALLOWED syscall.Errno = 5961 ERROR_CLUSTER_NODE_DRAIN_IN_PROGRESS syscall.Errno = 5962 ERROR_CLUSTER_DISK_NOT_CONNECTED syscall.Errno = 5963 ERROR_DISK_NOT_CSV_CAPABLE syscall.Errno = 5964 ERROR_RESOURCE_NOT_IN_AVAILABLE_STORAGE syscall.Errno = 5965 ERROR_CLUSTER_SHARED_VOLUME_REDIRECTED syscall.Errno = 5966 ERROR_CLUSTER_SHARED_VOLUME_NOT_REDIRECTED syscall.Errno = 5967 ERROR_CLUSTER_CANNOT_RETURN_PROPERTIES syscall.Errno = 5968 ERROR_CLUSTER_RESOURCE_CONTAINS_UNSUPPORTED_DIFF_AREA_FOR_SHARED_VOLUMES syscall.Errno = 5969 ERROR_CLUSTER_RESOURCE_IS_IN_MAINTENANCE_MODE syscall.Errno = 5970 ERROR_CLUSTER_AFFINITY_CONFLICT syscall.Errno = 5971 ERROR_CLUSTER_RESOURCE_IS_REPLICA_VIRTUAL_MACHINE syscall.Errno = 5972 ERROR_CLUSTER_UPGRADE_INCOMPATIBLE_VERSIONS syscall.Errno = 5973 ERROR_CLUSTER_UPGRADE_FIX_QUORUM_NOT_SUPPORTED syscall.Errno = 5974 ERROR_CLUSTER_UPGRADE_RESTART_REQUIRED syscall.Errno = 5975 ERROR_CLUSTER_UPGRADE_IN_PROGRESS syscall.Errno = 5976 ERROR_CLUSTER_UPGRADE_INCOMPLETE syscall.Errno = 5977 ERROR_CLUSTER_NODE_IN_GRACE_PERIOD syscall.Errno = 5978 ERROR_CLUSTER_CSV_IO_PAUSE_TIMEOUT syscall.Errno = 5979 ERROR_NODE_NOT_ACTIVE_CLUSTER_MEMBER syscall.Errno = 5980 ERROR_CLUSTER_RESOURCE_NOT_MONITORED syscall.Errno = 5981 ERROR_CLUSTER_RESOURCE_DOES_NOT_SUPPORT_UNMONITORED syscall.Errno = 5982 ERROR_CLUSTER_RESOURCE_IS_REPLICATED syscall.Errno = 5983 ERROR_CLUSTER_NODE_ISOLATED syscall.Errno = 5984 ERROR_CLUSTER_NODE_QUARANTINED syscall.Errno = 5985 ERROR_CLUSTER_DATABASE_UPDATE_CONDITION_FAILED syscall.Errno = 5986 ERROR_CLUSTER_SPACE_DEGRADED syscall.Errno = 5987 ERROR_CLUSTER_TOKEN_DELEGATION_NOT_SUPPORTED syscall.Errno = 5988 ERROR_CLUSTER_CSV_INVALID_HANDLE syscall.Errno = 5989 ERROR_CLUSTER_CSV_SUPPORTED_ONLY_ON_COORDINATOR syscall.Errno = 5990 ERROR_GROUPSET_NOT_AVAILABLE syscall.Errno = 5991 ERROR_GROUPSET_NOT_FOUND syscall.Errno = 5992 ERROR_GROUPSET_CANT_PROVIDE syscall.Errno = 5993 ERROR_CLUSTER_FAULT_DOMAIN_PARENT_NOT_FOUND syscall.Errno = 5994 ERROR_CLUSTER_FAULT_DOMAIN_INVALID_HIERARCHY syscall.Errno = 5995 ERROR_CLUSTER_FAULT_DOMAIN_FAILED_S2D_VALIDATION syscall.Errno = 5996 ERROR_CLUSTER_FAULT_DOMAIN_S2D_CONNECTIVITY_LOSS syscall.Errno = 5997 ERROR_CLUSTER_INVALID_INFRASTRUCTURE_FILESERVER_NAME syscall.Errno = 5998 ERROR_CLUSTERSET_MANAGEMENT_CLUSTER_UNREACHABLE syscall.Errno = 5999 ERROR_ENCRYPTION_FAILED syscall.Errno = 6000 ERROR_DECRYPTION_FAILED syscall.Errno = 6001 ERROR_FILE_ENCRYPTED syscall.Errno = 6002 ERROR_NO_RECOVERY_POLICY syscall.Errno = 6003 ERROR_NO_EFS syscall.Errno = 6004 ERROR_WRONG_EFS syscall.Errno = 6005 ERROR_NO_USER_KEYS syscall.Errno = 6006 ERROR_FILE_NOT_ENCRYPTED syscall.Errno = 6007 ERROR_NOT_EXPORT_FORMAT syscall.Errno = 6008 ERROR_FILE_READ_ONLY syscall.Errno = 6009 ERROR_DIR_EFS_DISALLOWED syscall.Errno = 6010 ERROR_EFS_SERVER_NOT_TRUSTED syscall.Errno = 6011 ERROR_BAD_RECOVERY_POLICY syscall.Errno = 6012 ERROR_EFS_ALG_BLOB_TOO_BIG syscall.Errno = 6013 ERROR_VOLUME_NOT_SUPPORT_EFS syscall.Errno = 6014 ERROR_EFS_DISABLED syscall.Errno = 6015 ERROR_EFS_VERSION_NOT_SUPPORT syscall.Errno = 6016 ERROR_CS_ENCRYPTION_INVALID_SERVER_RESPONSE syscall.Errno = 6017 ERROR_CS_ENCRYPTION_UNSUPPORTED_SERVER syscall.Errno = 6018 ERROR_CS_ENCRYPTION_EXISTING_ENCRYPTED_FILE syscall.Errno = 6019 ERROR_CS_ENCRYPTION_NEW_ENCRYPTED_FILE syscall.Errno = 6020 ERROR_CS_ENCRYPTION_FILE_NOT_CSE syscall.Errno = 6021 ERROR_ENCRYPTION_POLICY_DENIES_OPERATION syscall.Errno = 6022 ERROR_WIP_ENCRYPTION_FAILED syscall.Errno = 6023 ERROR_NO_BROWSER_SERVERS_FOUND syscall.Errno = 6118 SCHED_E_SERVICE_NOT_LOCALSYSTEM syscall.Errno = 6200 ERROR_LOG_SECTOR_INVALID syscall.Errno = 6600 ERROR_LOG_SECTOR_PARITY_INVALID syscall.Errno = 6601 ERROR_LOG_SECTOR_REMAPPED syscall.Errno = 6602 ERROR_LOG_BLOCK_INCOMPLETE syscall.Errno = 6603 ERROR_LOG_INVALID_RANGE syscall.Errno = 6604 ERROR_LOG_BLOCKS_EXHAUSTED syscall.Errno = 6605 ERROR_LOG_READ_CONTEXT_INVALID syscall.Errno = 6606 ERROR_LOG_RESTART_INVALID syscall.Errno = 6607 ERROR_LOG_BLOCK_VERSION syscall.Errno = 6608 ERROR_LOG_BLOCK_INVALID syscall.Errno = 6609 ERROR_LOG_READ_MODE_INVALID syscall.Errno = 6610 ERROR_LOG_NO_RESTART syscall.Errno = 6611 ERROR_LOG_METADATA_CORRUPT syscall.Errno = 6612 ERROR_LOG_METADATA_INVALID syscall.Errno = 6613 ERROR_LOG_METADATA_INCONSISTENT syscall.Errno = 6614 ERROR_LOG_RESERVATION_INVALID syscall.Errno = 6615 ERROR_LOG_CANT_DELETE syscall.Errno = 6616 ERROR_LOG_CONTAINER_LIMIT_EXCEEDED syscall.Errno = 6617 ERROR_LOG_START_OF_LOG syscall.Errno = 6618 ERROR_LOG_POLICY_ALREADY_INSTALLED syscall.Errno = 6619 ERROR_LOG_POLICY_NOT_INSTALLED syscall.Errno = 6620 ERROR_LOG_POLICY_INVALID syscall.Errno = 6621 ERROR_LOG_POLICY_CONFLICT syscall.Errno = 6622 ERROR_LOG_PINNED_ARCHIVE_TAIL syscall.Errno = 6623 ERROR_LOG_RECORD_NONEXISTENT syscall.Errno = 6624 ERROR_LOG_RECORDS_RESERVED_INVALID syscall.Errno = 6625 ERROR_LOG_SPACE_RESERVED_INVALID syscall.Errno = 6626 ERROR_LOG_TAIL_INVALID syscall.Errno = 6627 ERROR_LOG_FULL syscall.Errno = 6628 ERROR_COULD_NOT_RESIZE_LOG syscall.Errno = 6629 ERROR_LOG_MULTIPLEXED syscall.Errno = 6630 ERROR_LOG_DEDICATED syscall.Errno = 6631 ERROR_LOG_ARCHIVE_NOT_IN_PROGRESS syscall.Errno = 6632 ERROR_LOG_ARCHIVE_IN_PROGRESS syscall.Errno = 6633 ERROR_LOG_EPHEMERAL syscall.Errno = 6634 ERROR_LOG_NOT_ENOUGH_CONTAINERS syscall.Errno = 6635 ERROR_LOG_CLIENT_ALREADY_REGISTERED syscall.Errno = 6636 ERROR_LOG_CLIENT_NOT_REGISTERED syscall.Errno = 6637 ERROR_LOG_FULL_HANDLER_IN_PROGRESS syscall.Errno = 6638 ERROR_LOG_CONTAINER_READ_FAILED syscall.Errno = 6639 ERROR_LOG_CONTAINER_WRITE_FAILED syscall.Errno = 6640 ERROR_LOG_CONTAINER_OPEN_FAILED syscall.Errno = 6641 ERROR_LOG_CONTAINER_STATE_INVALID syscall.Errno = 6642 ERROR_LOG_STATE_INVALID syscall.Errno = 6643 ERROR_LOG_PINNED syscall.Errno = 6644 ERROR_LOG_METADATA_FLUSH_FAILED syscall.Errno = 6645 ERROR_LOG_INCONSISTENT_SECURITY syscall.Errno = 6646 ERROR_LOG_APPENDED_FLUSH_FAILED syscall.Errno = 6647 ERROR_LOG_PINNED_RESERVATION syscall.Errno = 6648 ERROR_INVALID_TRANSACTION syscall.Errno = 6700 ERROR_TRANSACTION_NOT_ACTIVE syscall.Errno = 6701 ERROR_TRANSACTION_REQUEST_NOT_VALID syscall.Errno = 6702 ERROR_TRANSACTION_NOT_REQUESTED syscall.Errno = 6703 ERROR_TRANSACTION_ALREADY_ABORTED syscall.Errno = 6704 ERROR_TRANSACTION_ALREADY_COMMITTED syscall.Errno = 6705 ERROR_TM_INITIALIZATION_FAILED syscall.Errno = 6706 ERROR_RESOURCEMANAGER_READ_ONLY syscall.Errno = 6707 ERROR_TRANSACTION_NOT_JOINED syscall.Errno = 6708 ERROR_TRANSACTION_SUPERIOR_EXISTS syscall.Errno = 6709 ERROR_CRM_PROTOCOL_ALREADY_EXISTS syscall.Errno = 6710 ERROR_TRANSACTION_PROPAGATION_FAILED syscall.Errno = 6711 ERROR_CRM_PROTOCOL_NOT_FOUND syscall.Errno = 6712 ERROR_TRANSACTION_INVALID_MARSHALL_BUFFER syscall.Errno = 6713 ERROR_CURRENT_TRANSACTION_NOT_VALID syscall.Errno = 6714 ERROR_TRANSACTION_NOT_FOUND syscall.Errno = 6715 ERROR_RESOURCEMANAGER_NOT_FOUND syscall.Errno = 6716 ERROR_ENLISTMENT_NOT_FOUND syscall.Errno = 6717 ERROR_TRANSACTIONMANAGER_NOT_FOUND syscall.Errno = 6718 ERROR_TRANSACTIONMANAGER_NOT_ONLINE syscall.Errno = 6719 ERROR_TRANSACTIONMANAGER_RECOVERY_NAME_COLLISION syscall.Errno = 6720 ERROR_TRANSACTION_NOT_ROOT syscall.Errno = 6721 ERROR_TRANSACTION_OBJECT_EXPIRED syscall.Errno = 6722 ERROR_TRANSACTION_RESPONSE_NOT_ENLISTED syscall.Errno = 6723 ERROR_TRANSACTION_RECORD_TOO_LONG syscall.Errno = 6724 ERROR_IMPLICIT_TRANSACTION_NOT_SUPPORTED syscall.Errno = 6725 ERROR_TRANSACTION_INTEGRITY_VIOLATED syscall.Errno = 6726 ERROR_TRANSACTIONMANAGER_IDENTITY_MISMATCH syscall.Errno = 6727 ERROR_RM_CANNOT_BE_FROZEN_FOR_SNAPSHOT syscall.Errno = 6728 ERROR_TRANSACTION_MUST_WRITETHROUGH syscall.Errno = 6729 ERROR_TRANSACTION_NO_SUPERIOR syscall.Errno = 6730 ERROR_HEURISTIC_DAMAGE_POSSIBLE syscall.Errno = 6731 ERROR_TRANSACTIONAL_CONFLICT syscall.Errno = 6800 ERROR_RM_NOT_ACTIVE syscall.Errno = 6801 ERROR_RM_METADATA_CORRUPT syscall.Errno = 6802 ERROR_DIRECTORY_NOT_RM syscall.Errno = 6803 ERROR_TRANSACTIONS_UNSUPPORTED_REMOTE syscall.Errno = 6805 ERROR_LOG_RESIZE_INVALID_SIZE syscall.Errno = 6806 ERROR_OBJECT_NO_LONGER_EXISTS syscall.Errno = 6807 ERROR_STREAM_MINIVERSION_NOT_FOUND syscall.Errno = 6808 ERROR_STREAM_MINIVERSION_NOT_VALID syscall.Errno = 6809 ERROR_MINIVERSION_INACCESSIBLE_FROM_SPECIFIED_TRANSACTION syscall.Errno = 6810 ERROR_CANT_OPEN_MINIVERSION_WITH_MODIFY_INTENT syscall.Errno = 6811 ERROR_CANT_CREATE_MORE_STREAM_MINIVERSIONS syscall.Errno = 6812 ERROR_REMOTE_FILE_VERSION_MISMATCH syscall.Errno = 6814 ERROR_HANDLE_NO_LONGER_VALID syscall.Errno = 6815 ERROR_NO_TXF_METADATA syscall.Errno = 6816 ERROR_LOG_CORRUPTION_DETECTED syscall.Errno = 6817 ERROR_CANT_RECOVER_WITH_HANDLE_OPEN syscall.Errno = 6818 ERROR_RM_DISCONNECTED syscall.Errno = 6819 ERROR_ENLISTMENT_NOT_SUPERIOR syscall.Errno = 6820 ERROR_RECOVERY_NOT_NEEDED syscall.Errno = 6821 ERROR_RM_ALREADY_STARTED syscall.Errno = 6822 ERROR_FILE_IDENTITY_NOT_PERSISTENT syscall.Errno = 6823 ERROR_CANT_BREAK_TRANSACTIONAL_DEPENDENCY syscall.Errno = 6824 ERROR_CANT_CROSS_RM_BOUNDARY syscall.Errno = 6825 ERROR_TXF_DIR_NOT_EMPTY syscall.Errno = 6826 ERROR_INDOUBT_TRANSACTIONS_EXIST syscall.Errno = 6827 ERROR_TM_VOLATILE syscall.Errno = 6828 ERROR_ROLLBACK_TIMER_EXPIRED syscall.Errno = 6829 ERROR_TXF_ATTRIBUTE_CORRUPT syscall.Errno = 6830 ERROR_EFS_NOT_ALLOWED_IN_TRANSACTION syscall.Errno = 6831 ERROR_TRANSACTIONAL_OPEN_NOT_ALLOWED syscall.Errno = 6832 ERROR_LOG_GROWTH_FAILED syscall.Errno = 6833 ERROR_TRANSACTED_MAPPING_UNSUPPORTED_REMOTE syscall.Errno = 6834 ERROR_TXF_METADATA_ALREADY_PRESENT syscall.Errno = 6835 ERROR_TRANSACTION_SCOPE_CALLBACKS_NOT_SET syscall.Errno = 6836 ERROR_TRANSACTION_REQUIRED_PROMOTION syscall.Errno = 6837 ERROR_CANNOT_EXECUTE_FILE_IN_TRANSACTION syscall.Errno = 6838 ERROR_TRANSACTIONS_NOT_FROZEN syscall.Errno = 6839 ERROR_TRANSACTION_FREEZE_IN_PROGRESS syscall.Errno = 6840 ERROR_NOT_SNAPSHOT_VOLUME syscall.Errno = 6841 ERROR_NO_SAVEPOINT_WITH_OPEN_FILES syscall.Errno = 6842 ERROR_DATA_LOST_REPAIR syscall.Errno = 6843 ERROR_SPARSE_NOT_ALLOWED_IN_TRANSACTION syscall.Errno = 6844 ERROR_TM_IDENTITY_MISMATCH syscall.Errno = 6845 ERROR_FLOATED_SECTION syscall.Errno = 6846 ERROR_CANNOT_ACCEPT_TRANSACTED_WORK syscall.Errno = 6847 ERROR_CANNOT_ABORT_TRANSACTIONS syscall.Errno = 6848 ERROR_BAD_CLUSTERS syscall.Errno = 6849 ERROR_COMPRESSION_NOT_ALLOWED_IN_TRANSACTION syscall.Errno = 6850 ERROR_VOLUME_DIRTY syscall.Errno = 6851 ERROR_NO_LINK_TRACKING_IN_TRANSACTION syscall.Errno = 6852 ERROR_OPERATION_NOT_SUPPORTED_IN_TRANSACTION syscall.Errno = 6853 ERROR_EXPIRED_HANDLE syscall.Errno = 6854 ERROR_TRANSACTION_NOT_ENLISTED syscall.Errno = 6855 ERROR_CTX_WINSTATION_NAME_INVALID syscall.Errno = 7001 ERROR_CTX_INVALID_PD syscall.Errno = 7002 ERROR_CTX_PD_NOT_FOUND syscall.Errno = 7003 ERROR_CTX_WD_NOT_FOUND syscall.Errno = 7004 ERROR_CTX_CANNOT_MAKE_EVENTLOG_ENTRY syscall.Errno = 7005 ERROR_CTX_SERVICE_NAME_COLLISION syscall.Errno = 7006 ERROR_CTX_CLOSE_PENDING syscall.Errno = 7007 ERROR_CTX_NO_OUTBUF syscall.Errno = 7008 ERROR_CTX_MODEM_INF_NOT_FOUND syscall.Errno = 7009 ERROR_CTX_INVALID_MODEMNAME syscall.Errno = 7010 ERROR_CTX_MODEM_RESPONSE_ERROR syscall.Errno = 7011 ERROR_CTX_MODEM_RESPONSE_TIMEOUT syscall.Errno = 7012 ERROR_CTX_MODEM_RESPONSE_NO_CARRIER syscall.Errno = 7013 ERROR_CTX_MODEM_RESPONSE_NO_DIALTONE syscall.Errno = 7014 ERROR_CTX_MODEM_RESPONSE_BUSY syscall.Errno = 7015 ERROR_CTX_MODEM_RESPONSE_VOICE syscall.Errno = 7016 ERROR_CTX_TD_ERROR syscall.Errno = 7017 ERROR_CTX_WINSTATION_NOT_FOUND syscall.Errno = 7022 ERROR_CTX_WINSTATION_ALREADY_EXISTS syscall.Errno = 7023 ERROR_CTX_WINSTATION_BUSY syscall.Errno = 7024 ERROR_CTX_BAD_VIDEO_MODE syscall.Errno = 7025 ERROR_CTX_GRAPHICS_INVALID syscall.Errno = 7035 ERROR_CTX_LOGON_DISABLED syscall.Errno = 7037 ERROR_CTX_NOT_CONSOLE syscall.Errno = 7038 ERROR_CTX_CLIENT_QUERY_TIMEOUT syscall.Errno = 7040 ERROR_CTX_CONSOLE_DISCONNECT syscall.Errno = 7041 ERROR_CTX_CONSOLE_CONNECT syscall.Errno = 7042 ERROR_CTX_SHADOW_DENIED syscall.Errno = 7044 ERROR_CTX_WINSTATION_ACCESS_DENIED syscall.Errno = 7045 ERROR_CTX_INVALID_WD syscall.Errno = 7049 ERROR_CTX_SHADOW_INVALID syscall.Errno = 7050 ERROR_CTX_SHADOW_DISABLED syscall.Errno = 7051 ERROR_CTX_CLIENT_LICENSE_IN_USE syscall.Errno = 7052 ERROR_CTX_CLIENT_LICENSE_NOT_SET syscall.Errno = 7053 ERROR_CTX_LICENSE_NOT_AVAILABLE syscall.Errno = 7054 ERROR_CTX_LICENSE_CLIENT_INVALID syscall.Errno = 7055 ERROR_CTX_LICENSE_EXPIRED syscall.Errno = 7056 ERROR_CTX_SHADOW_NOT_RUNNING syscall.Errno = 7057 ERROR_CTX_SHADOW_ENDED_BY_MODE_CHANGE syscall.Errno = 7058 ERROR_ACTIVATION_COUNT_EXCEEDED syscall.Errno = 7059 ERROR_CTX_WINSTATIONS_DISABLED syscall.Errno = 7060 ERROR_CTX_ENCRYPTION_LEVEL_REQUIRED syscall.Errno = 7061 ERROR_CTX_SESSION_IN_USE syscall.Errno = 7062 ERROR_CTX_NO_FORCE_LOGOFF syscall.Errno = 7063 ERROR_CTX_ACCOUNT_RESTRICTION syscall.Errno = 7064 ERROR_RDP_PROTOCOL_ERROR syscall.Errno = 7065 ERROR_CTX_CDM_CONNECT syscall.Errno = 7066 ERROR_CTX_CDM_DISCONNECT syscall.Errno = 7067 ERROR_CTX_SECURITY_LAYER_ERROR syscall.Errno = 7068 ERROR_TS_INCOMPATIBLE_SESSIONS syscall.Errno = 7069 ERROR_TS_VIDEO_SUBSYSTEM_ERROR syscall.Errno = 7070 FRS_ERR_INVALID_API_SEQUENCE syscall.Errno = 8001 FRS_ERR_STARTING_SERVICE syscall.Errno = 8002 FRS_ERR_STOPPING_SERVICE syscall.Errno = 8003 FRS_ERR_INTERNAL_API syscall.Errno = 8004 FRS_ERR_INTERNAL syscall.Errno = 8005 FRS_ERR_SERVICE_COMM syscall.Errno = 8006 FRS_ERR_INSUFFICIENT_PRIV syscall.Errno = 8007 FRS_ERR_AUTHENTICATION syscall.Errno = 8008 FRS_ERR_PARENT_INSUFFICIENT_PRIV syscall.Errno = 8009 FRS_ERR_PARENT_AUTHENTICATION syscall.Errno = 8010 FRS_ERR_CHILD_TO_PARENT_COMM syscall.Errno = 8011 FRS_ERR_PARENT_TO_CHILD_COMM syscall.Errno = 8012 FRS_ERR_SYSVOL_POPULATE syscall.Errno = 8013 FRS_ERR_SYSVOL_POPULATE_TIMEOUT syscall.Errno = 8014 FRS_ERR_SYSVOL_IS_BUSY syscall.Errno = 8015 FRS_ERR_SYSVOL_DEMOTE syscall.Errno = 8016 FRS_ERR_INVALID_SERVICE_PARAMETER syscall.Errno = 8017 DS_S_SUCCESS = ERROR_SUCCESS ERROR_DS_NOT_INSTALLED syscall.Errno = 8200 ERROR_DS_MEMBERSHIP_EVALUATED_LOCALLY syscall.Errno = 8201 ERROR_DS_NO_ATTRIBUTE_OR_VALUE syscall.Errno = 8202 ERROR_DS_INVALID_ATTRIBUTE_SYNTAX syscall.Errno = 8203 ERROR_DS_ATTRIBUTE_TYPE_UNDEFINED syscall.Errno = 8204 ERROR_DS_ATTRIBUTE_OR_VALUE_EXISTS syscall.Errno = 8205 ERROR_DS_BUSY syscall.Errno = 8206 ERROR_DS_UNAVAILABLE syscall.Errno = 8207 ERROR_DS_NO_RIDS_ALLOCATED syscall.Errno = 8208 ERROR_DS_NO_MORE_RIDS syscall.Errno = 8209 ERROR_DS_INCORRECT_ROLE_OWNER syscall.Errno = 8210 ERROR_DS_RIDMGR_INIT_ERROR syscall.Errno = 8211 ERROR_DS_OBJ_CLASS_VIOLATION syscall.Errno = 8212 ERROR_DS_CANT_ON_NON_LEAF syscall.Errno = 8213 ERROR_DS_CANT_ON_RDN syscall.Errno = 8214 ERROR_DS_CANT_MOD_OBJ_CLASS syscall.Errno = 8215 ERROR_DS_CROSS_DOM_MOVE_ERROR syscall.Errno = 8216 ERROR_DS_GC_NOT_AVAILABLE syscall.Errno = 8217 ERROR_SHARED_POLICY syscall.Errno = 8218 ERROR_POLICY_OBJECT_NOT_FOUND syscall.Errno = 8219 ERROR_POLICY_ONLY_IN_DS syscall.Errno = 8220 ERROR_PROMOTION_ACTIVE syscall.Errno = 8221 ERROR_NO_PROMOTION_ACTIVE syscall.Errno = 8222 ERROR_DS_OPERATIONS_ERROR syscall.Errno = 8224 ERROR_DS_PROTOCOL_ERROR syscall.Errno = 8225 ERROR_DS_TIMELIMIT_EXCEEDED syscall.Errno = 8226 ERROR_DS_SIZELIMIT_EXCEEDED syscall.Errno = 8227 ERROR_DS_ADMIN_LIMIT_EXCEEDED syscall.Errno = 8228 ERROR_DS_COMPARE_FALSE syscall.Errno = 8229 ERROR_DS_COMPARE_TRUE syscall.Errno = 8230 ERROR_DS_AUTH_METHOD_NOT_SUPPORTED syscall.Errno = 8231 ERROR_DS_STRONG_AUTH_REQUIRED syscall.Errno = 8232 ERROR_DS_INAPPROPRIATE_AUTH syscall.Errno = 8233 ERROR_DS_AUTH_UNKNOWN syscall.Errno = 8234 ERROR_DS_REFERRAL syscall.Errno = 8235 ERROR_DS_UNAVAILABLE_CRIT_EXTENSION syscall.Errno = 8236 ERROR_DS_CONFIDENTIALITY_REQUIRED syscall.Errno = 8237 ERROR_DS_INAPPROPRIATE_MATCHING syscall.Errno = 8238 ERROR_DS_CONSTRAINT_VIOLATION syscall.Errno = 8239 ERROR_DS_NO_SUCH_OBJECT syscall.Errno = 8240 ERROR_DS_ALIAS_PROBLEM syscall.Errno = 8241 ERROR_DS_INVALID_DN_SYNTAX syscall.Errno = 8242 ERROR_DS_IS_LEAF syscall.Errno = 8243 ERROR_DS_ALIAS_DEREF_PROBLEM syscall.Errno = 8244 ERROR_DS_UNWILLING_TO_PERFORM syscall.Errno = 8245 ERROR_DS_LOOP_DETECT syscall.Errno = 8246 ERROR_DS_NAMING_VIOLATION syscall.Errno = 8247 ERROR_DS_OBJECT_RESULTS_TOO_LARGE syscall.Errno = 8248 ERROR_DS_AFFECTS_MULTIPLE_DSAS syscall.Errno = 8249 ERROR_DS_SERVER_DOWN syscall.Errno = 8250 ERROR_DS_LOCAL_ERROR syscall.Errno = 8251 ERROR_DS_ENCODING_ERROR syscall.Errno = 8252 ERROR_DS_DECODING_ERROR syscall.Errno = 8253 ERROR_DS_FILTER_UNKNOWN syscall.Errno = 8254 ERROR_DS_PARAM_ERROR syscall.Errno = 8255 ERROR_DS_NOT_SUPPORTED syscall.Errno = 8256 ERROR_DS_NO_RESULTS_RETURNED syscall.Errno = 8257 ERROR_DS_CONTROL_NOT_FOUND syscall.Errno = 8258 ERROR_DS_CLIENT_LOOP syscall.Errno = 8259 ERROR_DS_REFERRAL_LIMIT_EXCEEDED syscall.Errno = 8260 ERROR_DS_SORT_CONTROL_MISSING syscall.Errno = 8261 ERROR_DS_OFFSET_RANGE_ERROR syscall.Errno = 8262 ERROR_DS_RIDMGR_DISABLED syscall.Errno = 8263 ERROR_DS_ROOT_MUST_BE_NC syscall.Errno = 8301 ERROR_DS_ADD_REPLICA_INHIBITED syscall.Errno = 8302 ERROR_DS_ATT_NOT_DEF_IN_SCHEMA syscall.Errno = 8303 ERROR_DS_MAX_OBJ_SIZE_EXCEEDED syscall.Errno = 8304 ERROR_DS_OBJ_STRING_NAME_EXISTS syscall.Errno = 8305 ERROR_DS_NO_RDN_DEFINED_IN_SCHEMA syscall.Errno = 8306 ERROR_DS_RDN_DOESNT_MATCH_SCHEMA syscall.Errno = 8307 ERROR_DS_NO_REQUESTED_ATTS_FOUND syscall.Errno = 8308 ERROR_DS_USER_BUFFER_TO_SMALL syscall.Errno = 8309 ERROR_DS_ATT_IS_NOT_ON_OBJ syscall.Errno = 8310 ERROR_DS_ILLEGAL_MOD_OPERATION syscall.Errno = 8311 ERROR_DS_OBJ_TOO_LARGE syscall.Errno = 8312 ERROR_DS_BAD_INSTANCE_TYPE syscall.Errno = 8313 ERROR_DS_MASTERDSA_REQUIRED syscall.Errno = 8314 ERROR_DS_OBJECT_CLASS_REQUIRED syscall.Errno = 8315 ERROR_DS_MISSING_REQUIRED_ATT syscall.Errno = 8316 ERROR_DS_ATT_NOT_DEF_FOR_CLASS syscall.Errno = 8317 ERROR_DS_ATT_ALREADY_EXISTS syscall.Errno = 8318 ERROR_DS_CANT_ADD_ATT_VALUES syscall.Errno = 8320 ERROR_DS_SINGLE_VALUE_CONSTRAINT syscall.Errno = 8321 ERROR_DS_RANGE_CONSTRAINT syscall.Errno = 8322 ERROR_DS_ATT_VAL_ALREADY_EXISTS syscall.Errno = 8323 ERROR_DS_CANT_REM_MISSING_ATT syscall.Errno = 8324 ERROR_DS_CANT_REM_MISSING_ATT_VAL syscall.Errno = 8325 ERROR_DS_ROOT_CANT_BE_SUBREF syscall.Errno = 8326 ERROR_DS_NO_CHAINING syscall.Errno = 8327 ERROR_DS_NO_CHAINED_EVAL syscall.Errno = 8328 ERROR_DS_NO_PARENT_OBJECT syscall.Errno = 8329 ERROR_DS_PARENT_IS_AN_ALIAS syscall.Errno = 8330 ERROR_DS_CANT_MIX_MASTER_AND_REPS syscall.Errno = 8331 ERROR_DS_CHILDREN_EXIST syscall.Errno = 8332 ERROR_DS_OBJ_NOT_FOUND syscall.Errno = 8333 ERROR_DS_ALIASED_OBJ_MISSING syscall.Errno = 8334 ERROR_DS_BAD_NAME_SYNTAX syscall.Errno = 8335 ERROR_DS_ALIAS_POINTS_TO_ALIAS syscall.Errno = 8336 ERROR_DS_CANT_DEREF_ALIAS syscall.Errno = 8337 ERROR_DS_OUT_OF_SCOPE syscall.Errno = 8338 ERROR_DS_OBJECT_BEING_REMOVED syscall.Errno = 8339 ERROR_DS_CANT_DELETE_DSA_OBJ syscall.Errno = 8340 ERROR_DS_GENERIC_ERROR syscall.Errno = 8341 ERROR_DS_DSA_MUST_BE_INT_MASTER syscall.Errno = 8342 ERROR_DS_CLASS_NOT_DSA syscall.Errno = 8343 ERROR_DS_INSUFF_ACCESS_RIGHTS syscall.Errno = 8344 ERROR_DS_ILLEGAL_SUPERIOR syscall.Errno = 8345 ERROR_DS_ATTRIBUTE_OWNED_BY_SAM syscall.Errno = 8346 ERROR_DS_NAME_TOO_MANY_PARTS syscall.Errno = 8347 ERROR_DS_NAME_TOO_LONG syscall.Errno = 8348 ERROR_DS_NAME_VALUE_TOO_LONG syscall.Errno = 8349 ERROR_DS_NAME_UNPARSEABLE syscall.Errno = 8350 ERROR_DS_NAME_TYPE_UNKNOWN syscall.Errno = 8351 ERROR_DS_NOT_AN_OBJECT syscall.Errno = 8352 ERROR_DS_SEC_DESC_TOO_SHORT syscall.Errno = 8353 ERROR_DS_SEC_DESC_INVALID syscall.Errno = 8354 ERROR_DS_NO_DELETED_NAME syscall.Errno = 8355 ERROR_DS_SUBREF_MUST_HAVE_PARENT syscall.Errno = 8356 ERROR_DS_NCNAME_MUST_BE_NC syscall.Errno = 8357 ERROR_DS_CANT_ADD_SYSTEM_ONLY syscall.Errno = 8358 ERROR_DS_CLASS_MUST_BE_CONCRETE syscall.Errno = 8359 ERROR_DS_INVALID_DMD syscall.Errno = 8360 ERROR_DS_OBJ_GUID_EXISTS syscall.Errno = 8361 ERROR_DS_NOT_ON_BACKLINK syscall.Errno = 8362 ERROR_DS_NO_CROSSREF_FOR_NC syscall.Errno = 8363 ERROR_DS_SHUTTING_DOWN syscall.Errno = 8364 ERROR_DS_UNKNOWN_OPERATION syscall.Errno = 8365 ERROR_DS_INVALID_ROLE_OWNER syscall.Errno = 8366 ERROR_DS_COULDNT_CONTACT_FSMO syscall.Errno = 8367 ERROR_DS_CROSS_NC_DN_RENAME syscall.Errno = 8368 ERROR_DS_CANT_MOD_SYSTEM_ONLY syscall.Errno = 8369 ERROR_DS_REPLICATOR_ONLY syscall.Errno = 8370 ERROR_DS_OBJ_CLASS_NOT_DEFINED syscall.Errno = 8371 ERROR_DS_OBJ_CLASS_NOT_SUBCLASS syscall.Errno = 8372 ERROR_DS_NAME_REFERENCE_INVALID syscall.Errno = 8373 ERROR_DS_CROSS_REF_EXISTS syscall.Errno = 8374 ERROR_DS_CANT_DEL_MASTER_CROSSREF syscall.Errno = 8375 ERROR_DS_SUBTREE_NOTIFY_NOT_NC_HEAD syscall.Errno = 8376 ERROR_DS_NOTIFY_FILTER_TOO_COMPLEX syscall.Errno = 8377 ERROR_DS_DUP_RDN syscall.Errno = 8378 ERROR_DS_DUP_OID syscall.Errno = 8379 ERROR_DS_DUP_MAPI_ID syscall.Errno = 8380 ERROR_DS_DUP_SCHEMA_ID_GUID syscall.Errno = 8381 ERROR_DS_DUP_LDAP_DISPLAY_NAME syscall.Errno = 8382 ERROR_DS_SEMANTIC_ATT_TEST syscall.Errno = 8383 ERROR_DS_SYNTAX_MISMATCH syscall.Errno = 8384 ERROR_DS_EXISTS_IN_MUST_HAVE syscall.Errno = 8385 ERROR_DS_EXISTS_IN_MAY_HAVE syscall.Errno = 8386 ERROR_DS_NONEXISTENT_MAY_HAVE syscall.Errno = 8387 ERROR_DS_NONEXISTENT_MUST_HAVE syscall.Errno = 8388 ERROR_DS_AUX_CLS_TEST_FAIL syscall.Errno = 8389 ERROR_DS_NONEXISTENT_POSS_SUP syscall.Errno = 8390 ERROR_DS_SUB_CLS_TEST_FAIL syscall.Errno = 8391 ERROR_DS_BAD_RDN_ATT_ID_SYNTAX syscall.Errno = 8392 ERROR_DS_EXISTS_IN_AUX_CLS syscall.Errno = 8393 ERROR_DS_EXISTS_IN_SUB_CLS syscall.Errno = 8394 ERROR_DS_EXISTS_IN_POSS_SUP syscall.Errno = 8395 ERROR_DS_RECALCSCHEMA_FAILED syscall.Errno = 8396 ERROR_DS_TREE_DELETE_NOT_FINISHED syscall.Errno = 8397 ERROR_DS_CANT_DELETE syscall.Errno = 8398 ERROR_DS_ATT_SCHEMA_REQ_ID syscall.Errno = 8399 ERROR_DS_BAD_ATT_SCHEMA_SYNTAX syscall.Errno = 8400 ERROR_DS_CANT_CACHE_ATT syscall.Errno = 8401 ERROR_DS_CANT_CACHE_CLASS syscall.Errno = 8402 ERROR_DS_CANT_REMOVE_ATT_CACHE syscall.Errno = 8403 ERROR_DS_CANT_REMOVE_CLASS_CACHE syscall.Errno = 8404 ERROR_DS_CANT_RETRIEVE_DN syscall.Errno = 8405 ERROR_DS_MISSING_SUPREF syscall.Errno = 8406 ERROR_DS_CANT_RETRIEVE_INSTANCE syscall.Errno = 8407 ERROR_DS_CODE_INCONSISTENCY syscall.Errno = 8408 ERROR_DS_DATABASE_ERROR syscall.Errno = 8409 ERROR_DS_GOVERNSID_MISSING syscall.Errno = 8410 ERROR_DS_MISSING_EXPECTED_ATT syscall.Errno = 8411 ERROR_DS_NCNAME_MISSING_CR_REF syscall.Errno = 8412 ERROR_DS_SECURITY_CHECKING_ERROR syscall.Errno = 8413 ERROR_DS_SCHEMA_NOT_LOADED syscall.Errno = 8414 ERROR_DS_SCHEMA_ALLOC_FAILED syscall.Errno = 8415 ERROR_DS_ATT_SCHEMA_REQ_SYNTAX syscall.Errno = 8416 ERROR_DS_GCVERIFY_ERROR syscall.Errno = 8417 ERROR_DS_DRA_SCHEMA_MISMATCH syscall.Errno = 8418 ERROR_DS_CANT_FIND_DSA_OBJ syscall.Errno = 8419 ERROR_DS_CANT_FIND_EXPECTED_NC syscall.Errno = 8420 ERROR_DS_CANT_FIND_NC_IN_CACHE syscall.Errno = 8421 ERROR_DS_CANT_RETRIEVE_CHILD syscall.Errno = 8422 ERROR_DS_SECURITY_ILLEGAL_MODIFY syscall.Errno = 8423 ERROR_DS_CANT_REPLACE_HIDDEN_REC syscall.Errno = 8424 ERROR_DS_BAD_HIERARCHY_FILE syscall.Errno = 8425 ERROR_DS_BUILD_HIERARCHY_TABLE_FAILED syscall.Errno = 8426 ERROR_DS_CONFIG_PARAM_MISSING syscall.Errno = 8427 ERROR_DS_COUNTING_AB_INDICES_FAILED syscall.Errno = 8428 ERROR_DS_HIERARCHY_TABLE_MALLOC_FAILED syscall.Errno = 8429 ERROR_DS_INTERNAL_FAILURE syscall.Errno = 8430 ERROR_DS_UNKNOWN_ERROR syscall.Errno = 8431 ERROR_DS_ROOT_REQUIRES_CLASS_TOP syscall.Errno = 8432 ERROR_DS_REFUSING_FSMO_ROLES syscall.Errno = 8433 ERROR_DS_MISSING_FSMO_SETTINGS syscall.Errno = 8434 ERROR_DS_UNABLE_TO_SURRENDER_ROLES syscall.Errno = 8435 ERROR_DS_DRA_GENERIC syscall.Errno = 8436 ERROR_DS_DRA_INVALID_PARAMETER syscall.Errno = 8437 ERROR_DS_DRA_BUSY syscall.Errno = 8438 ERROR_DS_DRA_BAD_DN syscall.Errno = 8439 ERROR_DS_DRA_BAD_NC syscall.Errno = 8440 ERROR_DS_DRA_DN_EXISTS syscall.Errno = 8441 ERROR_DS_DRA_INTERNAL_ERROR syscall.Errno = 8442 ERROR_DS_DRA_INCONSISTENT_DIT syscall.Errno = 8443 ERROR_DS_DRA_CONNECTION_FAILED syscall.Errno = 8444 ERROR_DS_DRA_BAD_INSTANCE_TYPE syscall.Errno = 8445 ERROR_DS_DRA_OUT_OF_MEM syscall.Errno = 8446 ERROR_DS_DRA_MAIL_PROBLEM syscall.Errno = 8447 ERROR_DS_DRA_REF_ALREADY_EXISTS syscall.Errno = 8448 ERROR_DS_DRA_REF_NOT_FOUND syscall.Errno = 8449 ERROR_DS_DRA_OBJ_IS_REP_SOURCE syscall.Errno = 8450 ERROR_DS_DRA_DB_ERROR syscall.Errno = 8451 ERROR_DS_DRA_NO_REPLICA syscall.Errno = 8452 ERROR_DS_DRA_ACCESS_DENIED syscall.Errno = 8453 ERROR_DS_DRA_NOT_SUPPORTED syscall.Errno = 8454 ERROR_DS_DRA_RPC_CANCELLED syscall.Errno = 8455 ERROR_DS_DRA_SOURCE_DISABLED syscall.Errno = 8456 ERROR_DS_DRA_SINK_DISABLED syscall.Errno = 8457 ERROR_DS_DRA_NAME_COLLISION syscall.Errno = 8458 ERROR_DS_DRA_SOURCE_REINSTALLED syscall.Errno = 8459 ERROR_DS_DRA_MISSING_PARENT syscall.Errno = 8460 ERROR_DS_DRA_PREEMPTED syscall.Errno = 8461 ERROR_DS_DRA_ABANDON_SYNC syscall.Errno = 8462 ERROR_DS_DRA_SHUTDOWN syscall.Errno = 8463 ERROR_DS_DRA_INCOMPATIBLE_PARTIAL_SET syscall.Errno = 8464 ERROR_DS_DRA_SOURCE_IS_PARTIAL_REPLICA syscall.Errno = 8465 ERROR_DS_DRA_EXTN_CONNECTION_FAILED syscall.Errno = 8466 ERROR_DS_INSTALL_SCHEMA_MISMATCH syscall.Errno = 8467 ERROR_DS_DUP_LINK_ID syscall.Errno = 8468 ERROR_DS_NAME_ERROR_RESOLVING syscall.Errno = 8469 ERROR_DS_NAME_ERROR_NOT_FOUND syscall.Errno = 8470 ERROR_DS_NAME_ERROR_NOT_UNIQUE syscall.Errno = 8471 ERROR_DS_NAME_ERROR_NO_MAPPING syscall.Errno = 8472 ERROR_DS_NAME_ERROR_DOMAIN_ONLY syscall.Errno = 8473 ERROR_DS_NAME_ERROR_NO_SYNTACTICAL_MAPPING syscall.Errno = 8474 ERROR_DS_CONSTRUCTED_ATT_MOD syscall.Errno = 8475 ERROR_DS_WRONG_OM_OBJ_CLASS syscall.Errno = 8476 ERROR_DS_DRA_REPL_PENDING syscall.Errno = 8477 ERROR_DS_DS_REQUIRED syscall.Errno = 8478 ERROR_DS_INVALID_LDAP_DISPLAY_NAME syscall.Errno = 8479 ERROR_DS_NON_BASE_SEARCH syscall.Errno = 8480 ERROR_DS_CANT_RETRIEVE_ATTS syscall.Errno = 8481 ERROR_DS_BACKLINK_WITHOUT_LINK syscall.Errno = 8482 ERROR_DS_EPOCH_MISMATCH syscall.Errno = 8483 ERROR_DS_SRC_NAME_MISMATCH syscall.Errno = 8484 ERROR_DS_SRC_AND_DST_NC_IDENTICAL syscall.Errno = 8485 ERROR_DS_DST_NC_MISMATCH syscall.Errno = 8486 ERROR_DS_NOT_AUTHORITIVE_FOR_DST_NC syscall.Errno = 8487 ERROR_DS_SRC_GUID_MISMATCH syscall.Errno = 8488 ERROR_DS_CANT_MOVE_DELETED_OBJECT syscall.Errno = 8489 ERROR_DS_PDC_OPERATION_IN_PROGRESS syscall.Errno = 8490 ERROR_DS_CROSS_DOMAIN_CLEANUP_REQD syscall.Errno = 8491 ERROR_DS_ILLEGAL_XDOM_MOVE_OPERATION syscall.Errno = 8492 ERROR_DS_CANT_WITH_ACCT_GROUP_MEMBERSHPS syscall.Errno = 8493 ERROR_DS_NC_MUST_HAVE_NC_PARENT syscall.Errno = 8494 ERROR_DS_CR_IMPOSSIBLE_TO_VALIDATE syscall.Errno = 8495 ERROR_DS_DST_DOMAIN_NOT_NATIVE syscall.Errno = 8496 ERROR_DS_MISSING_INFRASTRUCTURE_CONTAINER syscall.Errno = 8497 ERROR_DS_CANT_MOVE_ACCOUNT_GROUP syscall.Errno = 8498 ERROR_DS_CANT_MOVE_RESOURCE_GROUP syscall.Errno = 8499 ERROR_DS_INVALID_SEARCH_FLAG syscall.Errno = 8500 ERROR_DS_NO_TREE_DELETE_ABOVE_NC syscall.Errno = 8501 ERROR_DS_COULDNT_LOCK_TREE_FOR_DELETE syscall.Errno = 8502 ERROR_DS_COULDNT_IDENTIFY_OBJECTS_FOR_TREE_DELETE syscall.Errno = 8503 ERROR_DS_SAM_INIT_FAILURE syscall.Errno = 8504 ERROR_DS_SENSITIVE_GROUP_VIOLATION syscall.Errno = 8505 ERROR_DS_CANT_MOD_PRIMARYGROUPID syscall.Errno = 8506 ERROR_DS_ILLEGAL_BASE_SCHEMA_MOD syscall.Errno = 8507 ERROR_DS_NONSAFE_SCHEMA_CHANGE syscall.Errno = 8508 ERROR_DS_SCHEMA_UPDATE_DISALLOWED syscall.Errno = 8509 ERROR_DS_CANT_CREATE_UNDER_SCHEMA syscall.Errno = 8510 ERROR_DS_INSTALL_NO_SRC_SCH_VERSION syscall.Errno = 8511 ERROR_DS_INSTALL_NO_SCH_VERSION_IN_INIFILE syscall.Errno = 8512 ERROR_DS_INVALID_GROUP_TYPE syscall.Errno = 8513 ERROR_DS_NO_NEST_GLOBALGROUP_IN_MIXEDDOMAIN syscall.Errno = 8514 ERROR_DS_NO_NEST_LOCALGROUP_IN_MIXEDDOMAIN syscall.Errno = 8515 ERROR_DS_GLOBAL_CANT_HAVE_LOCAL_MEMBER syscall.Errno = 8516 ERROR_DS_GLOBAL_CANT_HAVE_UNIVERSAL_MEMBER syscall.Errno = 8517 ERROR_DS_UNIVERSAL_CANT_HAVE_LOCAL_MEMBER syscall.Errno = 8518 ERROR_DS_GLOBAL_CANT_HAVE_CROSSDOMAIN_MEMBER syscall.Errno = 8519 ERROR_DS_LOCAL_CANT_HAVE_CROSSDOMAIN_LOCAL_MEMBER syscall.Errno = 8520 ERROR_DS_HAVE_PRIMARY_MEMBERS syscall.Errno = 8521 ERROR_DS_STRING_SD_CONVERSION_FAILED syscall.Errno = 8522 ERROR_DS_NAMING_MASTER_GC syscall.Errno = 8523 ERROR_DS_DNS_LOOKUP_FAILURE syscall.Errno = 8524 ERROR_DS_COULDNT_UPDATE_SPNS syscall.Errno = 8525 ERROR_DS_CANT_RETRIEVE_SD syscall.Errno = 8526 ERROR_DS_KEY_NOT_UNIQUE syscall.Errno = 8527 ERROR_DS_WRONG_LINKED_ATT_SYNTAX syscall.Errno = 8528 ERROR_DS_SAM_NEED_BOOTKEY_PASSWORD syscall.Errno = 8529 ERROR_DS_SAM_NEED_BOOTKEY_FLOPPY syscall.Errno = 8530 ERROR_DS_CANT_START syscall.Errno = 8531 ERROR_DS_INIT_FAILURE syscall.Errno = 8532 ERROR_DS_NO_PKT_PRIVACY_ON_CONNECTION syscall.Errno = 8533 ERROR_DS_SOURCE_DOMAIN_IN_FOREST syscall.Errno = 8534 ERROR_DS_DESTINATION_DOMAIN_NOT_IN_FOREST syscall.Errno = 8535 ERROR_DS_DESTINATION_AUDITING_NOT_ENABLED syscall.Errno = 8536 ERROR_DS_CANT_FIND_DC_FOR_SRC_DOMAIN syscall.Errno = 8537 ERROR_DS_SRC_OBJ_NOT_GROUP_OR_USER syscall.Errno = 8538 ERROR_DS_SRC_SID_EXISTS_IN_FOREST syscall.Errno = 8539 ERROR_DS_SRC_AND_DST_OBJECT_CLASS_MISMATCH syscall.Errno = 8540 ERROR_SAM_INIT_FAILURE syscall.Errno = 8541 ERROR_DS_DRA_SCHEMA_INFO_SHIP syscall.Errno = 8542 ERROR_DS_DRA_SCHEMA_CONFLICT syscall.Errno = 8543 ERROR_DS_DRA_EARLIER_SCHEMA_CONFLICT syscall.Errno = 8544 ERROR_DS_DRA_OBJ_NC_MISMATCH syscall.Errno = 8545 ERROR_DS_NC_STILL_HAS_DSAS syscall.Errno = 8546 ERROR_DS_GC_REQUIRED syscall.Errno = 8547 ERROR_DS_LOCAL_MEMBER_OF_LOCAL_ONLY syscall.Errno = 8548 ERROR_DS_NO_FPO_IN_UNIVERSAL_GROUPS syscall.Errno = 8549 ERROR_DS_CANT_ADD_TO_GC syscall.Errno = 8550 ERROR_DS_NO_CHECKPOINT_WITH_PDC syscall.Errno = 8551 ERROR_DS_SOURCE_AUDITING_NOT_ENABLED syscall.Errno = 8552 ERROR_DS_CANT_CREATE_IN_NONDOMAIN_NC syscall.Errno = 8553 ERROR_DS_INVALID_NAME_FOR_SPN syscall.Errno = 8554 ERROR_DS_FILTER_USES_CONTRUCTED_ATTRS syscall.Errno = 8555 ERROR_DS_UNICODEPWD_NOT_IN_QUOTES syscall.Errno = 8556 ERROR_DS_MACHINE_ACCOUNT_QUOTA_EXCEEDED syscall.Errno = 8557 ERROR_DS_MUST_BE_RUN_ON_DST_DC syscall.Errno = 8558 ERROR_DS_SRC_DC_MUST_BE_SP4_OR_GREATER syscall.Errno = 8559 ERROR_DS_CANT_TREE_DELETE_CRITICAL_OBJ syscall.Errno = 8560 ERROR_DS_INIT_FAILURE_CONSOLE syscall.Errno = 8561 ERROR_DS_SAM_INIT_FAILURE_CONSOLE syscall.Errno = 8562 ERROR_DS_FOREST_VERSION_TOO_HIGH syscall.Errno = 8563 ERROR_DS_DOMAIN_VERSION_TOO_HIGH syscall.Errno = 8564 ERROR_DS_FOREST_VERSION_TOO_LOW syscall.Errno = 8565 ERROR_DS_DOMAIN_VERSION_TOO_LOW syscall.Errno = 8566 ERROR_DS_INCOMPATIBLE_VERSION syscall.Errno = 8567 ERROR_DS_LOW_DSA_VERSION syscall.Errno = 8568 ERROR_DS_NO_BEHAVIOR_VERSION_IN_MIXEDDOMAIN syscall.Errno = 8569 ERROR_DS_NOT_SUPPORTED_SORT_ORDER syscall.Errno = 8570 ERROR_DS_NAME_NOT_UNIQUE syscall.Errno = 8571 ERROR_DS_MACHINE_ACCOUNT_CREATED_PRENT4 syscall.Errno = 8572 ERROR_DS_OUT_OF_VERSION_STORE syscall.Errno = 8573 ERROR_DS_INCOMPATIBLE_CONTROLS_USED syscall.Errno = 8574 ERROR_DS_NO_REF_DOMAIN syscall.Errno = 8575 ERROR_DS_RESERVED_LINK_ID syscall.Errno = 8576 ERROR_DS_LINK_ID_NOT_AVAILABLE syscall.Errno = 8577 ERROR_DS_AG_CANT_HAVE_UNIVERSAL_MEMBER syscall.Errno = 8578 ERROR_DS_MODIFYDN_DISALLOWED_BY_INSTANCE_TYPE syscall.Errno = 8579 ERROR_DS_NO_OBJECT_MOVE_IN_SCHEMA_NC syscall.Errno = 8580 ERROR_DS_MODIFYDN_DISALLOWED_BY_FLAG syscall.Errno = 8581 ERROR_DS_MODIFYDN_WRONG_GRANDPARENT syscall.Errno = 8582 ERROR_DS_NAME_ERROR_TRUST_REFERRAL syscall.Errno = 8583 ERROR_NOT_SUPPORTED_ON_STANDARD_SERVER syscall.Errno = 8584 ERROR_DS_CANT_ACCESS_REMOTE_PART_OF_AD syscall.Errno = 8585 ERROR_DS_CR_IMPOSSIBLE_TO_VALIDATE_V2 syscall.Errno = 8586 ERROR_DS_THREAD_LIMIT_EXCEEDED syscall.Errno = 8587 ERROR_DS_NOT_CLOSEST syscall.Errno = 8588 ERROR_DS_CANT_DERIVE_SPN_WITHOUT_SERVER_REF syscall.Errno = 8589 ERROR_DS_SINGLE_USER_MODE_FAILED syscall.Errno = 8590 ERROR_DS_NTDSCRIPT_SYNTAX_ERROR syscall.Errno = 8591 ERROR_DS_NTDSCRIPT_PROCESS_ERROR syscall.Errno = 8592 ERROR_DS_DIFFERENT_REPL_EPOCHS syscall.Errno = 8593 ERROR_DS_DRS_EXTENSIONS_CHANGED syscall.Errno = 8594 ERROR_DS_REPLICA_SET_CHANGE_NOT_ALLOWED_ON_DISABLED_CR syscall.Errno = 8595 ERROR_DS_NO_MSDS_INTID syscall.Errno = 8596 ERROR_DS_DUP_MSDS_INTID syscall.Errno = 8597 ERROR_DS_EXISTS_IN_RDNATTID syscall.Errno = 8598 ERROR_DS_AUTHORIZATION_FAILED syscall.Errno = 8599 ERROR_DS_INVALID_SCRIPT syscall.Errno = 8600 ERROR_DS_REMOTE_CROSSREF_OP_FAILED syscall.Errno = 8601 ERROR_DS_CROSS_REF_BUSY syscall.Errno = 8602 ERROR_DS_CANT_DERIVE_SPN_FOR_DELETED_DOMAIN syscall.Errno = 8603 ERROR_DS_CANT_DEMOTE_WITH_WRITEABLE_NC syscall.Errno = 8604 ERROR_DS_DUPLICATE_ID_FOUND syscall.Errno = 8605 ERROR_DS_INSUFFICIENT_ATTR_TO_CREATE_OBJECT syscall.Errno = 8606 ERROR_DS_GROUP_CONVERSION_ERROR syscall.Errno = 8607 ERROR_DS_CANT_MOVE_APP_BASIC_GROUP syscall.Errno = 8608 ERROR_DS_CANT_MOVE_APP_QUERY_GROUP syscall.Errno = 8609 ERROR_DS_ROLE_NOT_VERIFIED syscall.Errno = 8610 ERROR_DS_WKO_CONTAINER_CANNOT_BE_SPECIAL syscall.Errno = 8611 ERROR_DS_DOMAIN_RENAME_IN_PROGRESS syscall.Errno = 8612 ERROR_DS_EXISTING_AD_CHILD_NC syscall.Errno = 8613 ERROR_DS_REPL_LIFETIME_EXCEEDED syscall.Errno = 8614 ERROR_DS_DISALLOWED_IN_SYSTEM_CONTAINER syscall.Errno = 8615 ERROR_DS_LDAP_SEND_QUEUE_FULL syscall.Errno = 8616 ERROR_DS_DRA_OUT_SCHEDULE_WINDOW syscall.Errno = 8617 ERROR_DS_POLICY_NOT_KNOWN syscall.Errno = 8618 ERROR_NO_SITE_SETTINGS_OBJECT syscall.Errno = 8619 ERROR_NO_SECRETS syscall.Errno = 8620 ERROR_NO_WRITABLE_DC_FOUND syscall.Errno = 8621 ERROR_DS_NO_SERVER_OBJECT syscall.Errno = 8622 ERROR_DS_NO_NTDSA_OBJECT syscall.Errno = 8623 ERROR_DS_NON_ASQ_SEARCH syscall.Errno = 8624 ERROR_DS_AUDIT_FAILURE syscall.Errno = 8625 ERROR_DS_INVALID_SEARCH_FLAG_SUBTREE syscall.Errno = 8626 ERROR_DS_INVALID_SEARCH_FLAG_TUPLE syscall.Errno = 8627 ERROR_DS_HIERARCHY_TABLE_TOO_DEEP syscall.Errno = 8628 ERROR_DS_DRA_CORRUPT_UTD_VECTOR syscall.Errno = 8629 ERROR_DS_DRA_SECRETS_DENIED syscall.Errno = 8630 ERROR_DS_RESERVED_MAPI_ID syscall.Errno = 8631 ERROR_DS_MAPI_ID_NOT_AVAILABLE syscall.Errno = 8632 ERROR_DS_DRA_MISSING_KRBTGT_SECRET syscall.Errno = 8633 ERROR_DS_DOMAIN_NAME_EXISTS_IN_FOREST syscall.Errno = 8634 ERROR_DS_FLAT_NAME_EXISTS_IN_FOREST syscall.Errno = 8635 ERROR_INVALID_USER_PRINCIPAL_NAME syscall.Errno = 8636 ERROR_DS_OID_MAPPED_GROUP_CANT_HAVE_MEMBERS syscall.Errno = 8637 ERROR_DS_OID_NOT_FOUND syscall.Errno = 8638 ERROR_DS_DRA_RECYCLED_TARGET syscall.Errno = 8639 ERROR_DS_DISALLOWED_NC_REDIRECT syscall.Errno = 8640 ERROR_DS_HIGH_ADLDS_FFL syscall.Errno = 8641 ERROR_DS_HIGH_DSA_VERSION syscall.Errno = 8642 ERROR_DS_LOW_ADLDS_FFL syscall.Errno = 8643 ERROR_DOMAIN_SID_SAME_AS_LOCAL_WORKSTATION syscall.Errno = 8644 ERROR_DS_UNDELETE_SAM_VALIDATION_FAILED syscall.Errno = 8645 ERROR_INCORRECT_ACCOUNT_TYPE syscall.Errno = 8646 ERROR_DS_SPN_VALUE_NOT_UNIQUE_IN_FOREST syscall.Errno = 8647 ERROR_DS_UPN_VALUE_NOT_UNIQUE_IN_FOREST syscall.Errno = 8648 ERROR_DS_MISSING_FOREST_TRUST syscall.Errno = 8649 ERROR_DS_VALUE_KEY_NOT_UNIQUE syscall.Errno = 8650 DNS_ERROR_RESPONSE_CODES_BASE syscall.Errno = 9000 DNS_ERROR_RCODE_NO_ERROR = ERROR_SUCCESS DNS_ERROR_MASK syscall.Errno = 0x00002328 DNS_ERROR_RCODE_FORMAT_ERROR syscall.Errno = 9001 DNS_ERROR_RCODE_SERVER_FAILURE syscall.Errno = 9002 DNS_ERROR_RCODE_NAME_ERROR syscall.Errno = 9003 DNS_ERROR_RCODE_NOT_IMPLEMENTED syscall.Errno = 9004 DNS_ERROR_RCODE_REFUSED syscall.Errno = 9005 DNS_ERROR_RCODE_YXDOMAIN syscall.Errno = 9006 DNS_ERROR_RCODE_YXRRSET syscall.Errno = 9007 DNS_ERROR_RCODE_NXRRSET syscall.Errno = 9008 DNS_ERROR_RCODE_NOTAUTH syscall.Errno = 9009 DNS_ERROR_RCODE_NOTZONE syscall.Errno = 9010 DNS_ERROR_RCODE_BADSIG syscall.Errno = 9016 DNS_ERROR_RCODE_BADKEY syscall.Errno = 9017 DNS_ERROR_RCODE_BADTIME syscall.Errno = 9018 DNS_ERROR_RCODE_LAST = DNS_ERROR_RCODE_BADTIME DNS_ERROR_DNSSEC_BASE syscall.Errno = 9100 DNS_ERROR_KEYMASTER_REQUIRED syscall.Errno = 9101 DNS_ERROR_NOT_ALLOWED_ON_SIGNED_ZONE syscall.Errno = 9102 DNS_ERROR_NSEC3_INCOMPATIBLE_WITH_RSA_SHA1 syscall.Errno = 9103 DNS_ERROR_NOT_ENOUGH_SIGNING_KEY_DESCRIPTORS syscall.Errno = 9104 DNS_ERROR_UNSUPPORTED_ALGORITHM syscall.Errno = 9105 DNS_ERROR_INVALID_KEY_SIZE syscall.Errno = 9106 DNS_ERROR_SIGNING_KEY_NOT_ACCESSIBLE syscall.Errno = 9107 DNS_ERROR_KSP_DOES_NOT_SUPPORT_PROTECTION syscall.Errno = 9108 DNS_ERROR_UNEXPECTED_DATA_PROTECTION_ERROR syscall.Errno = 9109 DNS_ERROR_UNEXPECTED_CNG_ERROR syscall.Errno = 9110 DNS_ERROR_UNKNOWN_SIGNING_PARAMETER_VERSION syscall.Errno = 9111 DNS_ERROR_KSP_NOT_ACCESSIBLE syscall.Errno = 9112 DNS_ERROR_TOO_MANY_SKDS syscall.Errno = 9113 DNS_ERROR_INVALID_ROLLOVER_PERIOD syscall.Errno = 9114 DNS_ERROR_INVALID_INITIAL_ROLLOVER_OFFSET syscall.Errno = 9115 DNS_ERROR_ROLLOVER_IN_PROGRESS syscall.Errno = 9116 DNS_ERROR_STANDBY_KEY_NOT_PRESENT syscall.Errno = 9117 DNS_ERROR_NOT_ALLOWED_ON_ZSK syscall.Errno = 9118 DNS_ERROR_NOT_ALLOWED_ON_ACTIVE_SKD syscall.Errno = 9119 DNS_ERROR_ROLLOVER_ALREADY_QUEUED syscall.Errno = 9120 DNS_ERROR_NOT_ALLOWED_ON_UNSIGNED_ZONE syscall.Errno = 9121 DNS_ERROR_BAD_KEYMASTER syscall.Errno = 9122 DNS_ERROR_INVALID_SIGNATURE_VALIDITY_PERIOD syscall.Errno = 9123 DNS_ERROR_INVALID_NSEC3_ITERATION_COUNT syscall.Errno = 9124 DNS_ERROR_DNSSEC_IS_DISABLED syscall.Errno = 9125 DNS_ERROR_INVALID_XML syscall.Errno = 9126 DNS_ERROR_NO_VALID_TRUST_ANCHORS syscall.Errno = 9127 DNS_ERROR_ROLLOVER_NOT_POKEABLE syscall.Errno = 9128 DNS_ERROR_NSEC3_NAME_COLLISION syscall.Errno = 9129 DNS_ERROR_NSEC_INCOMPATIBLE_WITH_NSEC3_RSA_SHA1 syscall.Errno = 9130 DNS_ERROR_PACKET_FMT_BASE syscall.Errno = 9500 DNS_INFO_NO_RECORDS syscall.Errno = 9501 DNS_ERROR_BAD_PACKET syscall.Errno = 9502 DNS_ERROR_NO_PACKET syscall.Errno = 9503 DNS_ERROR_RCODE syscall.Errno = 9504 DNS_ERROR_UNSECURE_PACKET syscall.Errno = 9505 DNS_STATUS_PACKET_UNSECURE = DNS_ERROR_UNSECURE_PACKET DNS_REQUEST_PENDING syscall.Errno = 9506 DNS_ERROR_NO_MEMORY = ERROR_OUTOFMEMORY DNS_ERROR_INVALID_NAME = ERROR_INVALID_NAME DNS_ERROR_INVALID_DATA = ERROR_INVALID_DATA DNS_ERROR_GENERAL_API_BASE syscall.Errno = 9550 DNS_ERROR_INVALID_TYPE syscall.Errno = 9551 DNS_ERROR_INVALID_IP_ADDRESS syscall.Errno = 9552 DNS_ERROR_INVALID_PROPERTY syscall.Errno = 9553 DNS_ERROR_TRY_AGAIN_LATER syscall.Errno = 9554 DNS_ERROR_NOT_UNIQUE syscall.Errno = 9555 DNS_ERROR_NON_RFC_NAME syscall.Errno = 9556 DNS_STATUS_FQDN syscall.Errno = 9557 DNS_STATUS_DOTTED_NAME syscall.Errno = 9558 DNS_STATUS_SINGLE_PART_NAME syscall.Errno = 9559 DNS_ERROR_INVALID_NAME_CHAR syscall.Errno = 9560 DNS_ERROR_NUMERIC_NAME syscall.Errno = 9561 DNS_ERROR_NOT_ALLOWED_ON_ROOT_SERVER syscall.Errno = 9562 DNS_ERROR_NOT_ALLOWED_UNDER_DELEGATION syscall.Errno = 9563 DNS_ERROR_CANNOT_FIND_ROOT_HINTS syscall.Errno = 9564 DNS_ERROR_INCONSISTENT_ROOT_HINTS syscall.Errno = 9565 DNS_ERROR_DWORD_VALUE_TOO_SMALL syscall.Errno = 9566 DNS_ERROR_DWORD_VALUE_TOO_LARGE syscall.Errno = 9567 DNS_ERROR_BACKGROUND_LOADING syscall.Errno = 9568 DNS_ERROR_NOT_ALLOWED_ON_RODC syscall.Errno = 9569 DNS_ERROR_NOT_ALLOWED_UNDER_DNAME syscall.Errno = 9570 DNS_ERROR_DELEGATION_REQUIRED syscall.Errno = 9571 DNS_ERROR_INVALID_POLICY_TABLE syscall.Errno = 9572 DNS_ERROR_ADDRESS_REQUIRED syscall.Errno = 9573 DNS_ERROR_ZONE_BASE syscall.Errno = 9600 DNS_ERROR_ZONE_DOES_NOT_EXIST syscall.Errno = 9601 DNS_ERROR_NO_ZONE_INFO syscall.Errno = 9602 DNS_ERROR_INVALID_ZONE_OPERATION syscall.Errno = 9603 DNS_ERROR_ZONE_CONFIGURATION_ERROR syscall.Errno = 9604 DNS_ERROR_ZONE_HAS_NO_SOA_RECORD syscall.Errno = 9605 DNS_ERROR_ZONE_HAS_NO_NS_RECORDS syscall.Errno = 9606 DNS_ERROR_ZONE_LOCKED syscall.Errno = 9607 DNS_ERROR_ZONE_CREATION_FAILED syscall.Errno = 9608 DNS_ERROR_ZONE_ALREADY_EXISTS syscall.Errno = 9609 DNS_ERROR_AUTOZONE_ALREADY_EXISTS syscall.Errno = 9610 DNS_ERROR_INVALID_ZONE_TYPE syscall.Errno = 9611 DNS_ERROR_SECONDARY_REQUIRES_MASTER_IP syscall.Errno = 9612 DNS_ERROR_ZONE_NOT_SECONDARY syscall.Errno = 9613 DNS_ERROR_NEED_SECONDARY_ADDRESSES syscall.Errno = 9614 DNS_ERROR_WINS_INIT_FAILED syscall.Errno = 9615 DNS_ERROR_NEED_WINS_SERVERS syscall.Errno = 9616 DNS_ERROR_NBSTAT_INIT_FAILED syscall.Errno = 9617 DNS_ERROR_SOA_DELETE_INVALID syscall.Errno = 9618 DNS_ERROR_FORWARDER_ALREADY_EXISTS syscall.Errno = 9619 DNS_ERROR_ZONE_REQUIRES_MASTER_IP syscall.Errno = 9620 DNS_ERROR_ZONE_IS_SHUTDOWN syscall.Errno = 9621 DNS_ERROR_ZONE_LOCKED_FOR_SIGNING syscall.Errno = 9622 DNS_ERROR_DATAFILE_BASE syscall.Errno = 9650 DNS_ERROR_PRIMARY_REQUIRES_DATAFILE syscall.Errno = 9651 DNS_ERROR_INVALID_DATAFILE_NAME syscall.Errno = 9652 DNS_ERROR_DATAFILE_OPEN_FAILURE syscall.Errno = 9653 DNS_ERROR_FILE_WRITEBACK_FAILED syscall.Errno = 9654 DNS_ERROR_DATAFILE_PARSING syscall.Errno = 9655 DNS_ERROR_DATABASE_BASE syscall.Errno = 9700 DNS_ERROR_RECORD_DOES_NOT_EXIST syscall.Errno = 9701 DNS_ERROR_RECORD_FORMAT syscall.Errno = 9702 DNS_ERROR_NODE_CREATION_FAILED syscall.Errno = 9703 DNS_ERROR_UNKNOWN_RECORD_TYPE syscall.Errno = 9704 DNS_ERROR_RECORD_TIMED_OUT syscall.Errno = 9705 DNS_ERROR_NAME_NOT_IN_ZONE syscall.Errno = 9706 DNS_ERROR_CNAME_LOOP syscall.Errno = 9707 DNS_ERROR_NODE_IS_CNAME syscall.Errno = 9708 DNS_ERROR_CNAME_COLLISION syscall.Errno = 9709 DNS_ERROR_RECORD_ONLY_AT_ZONE_ROOT syscall.Errno = 9710 DNS_ERROR_RECORD_ALREADY_EXISTS syscall.Errno = 9711 DNS_ERROR_SECONDARY_DATA syscall.Errno = 9712 DNS_ERROR_NO_CREATE_CACHE_DATA syscall.Errno = 9713 DNS_ERROR_NAME_DOES_NOT_EXIST syscall.Errno = 9714 DNS_WARNING_PTR_CREATE_FAILED syscall.Errno = 9715 DNS_WARNING_DOMAIN_UNDELETED syscall.Errno = 9716 DNS_ERROR_DS_UNAVAILABLE syscall.Errno = 9717 DNS_ERROR_DS_ZONE_ALREADY_EXISTS syscall.Errno = 9718 DNS_ERROR_NO_BOOTFILE_IF_DS_ZONE syscall.Errno = 9719 DNS_ERROR_NODE_IS_DNAME syscall.Errno = 9720 DNS_ERROR_DNAME_COLLISION syscall.Errno = 9721 DNS_ERROR_ALIAS_LOOP syscall.Errno = 9722 DNS_ERROR_OPERATION_BASE syscall.Errno = 9750 DNS_INFO_AXFR_COMPLETE syscall.Errno = 9751 DNS_ERROR_AXFR syscall.Errno = 9752 DNS_INFO_ADDED_LOCAL_WINS syscall.Errno = 9753 DNS_ERROR_SECURE_BASE syscall.Errno = 9800 DNS_STATUS_CONTINUE_NEEDED syscall.Errno = 9801 DNS_ERROR_SETUP_BASE syscall.Errno = 9850 DNS_ERROR_NO_TCPIP syscall.Errno = 9851 DNS_ERROR_NO_DNS_SERVERS syscall.Errno = 9852 DNS_ERROR_DP_BASE syscall.Errno = 9900 DNS_ERROR_DP_DOES_NOT_EXIST syscall.Errno = 9901 DNS_ERROR_DP_ALREADY_EXISTS syscall.Errno = 9902 DNS_ERROR_DP_NOT_ENLISTED syscall.Errno = 9903 DNS_ERROR_DP_ALREADY_ENLISTED syscall.Errno = 9904 DNS_ERROR_DP_NOT_AVAILABLE syscall.Errno = 9905 DNS_ERROR_DP_FSMO_ERROR syscall.Errno = 9906 DNS_ERROR_RRL_NOT_ENABLED syscall.Errno = 9911 DNS_ERROR_RRL_INVALID_WINDOW_SIZE syscall.Errno = 9912 DNS_ERROR_RRL_INVALID_IPV4_PREFIX syscall.Errno = 9913 DNS_ERROR_RRL_INVALID_IPV6_PREFIX syscall.Errno = 9914 DNS_ERROR_RRL_INVALID_TC_RATE syscall.Errno = 9915 DNS_ERROR_RRL_INVALID_LEAK_RATE syscall.Errno = 9916 DNS_ERROR_RRL_LEAK_RATE_LESSTHAN_TC_RATE syscall.Errno = 9917 DNS_ERROR_VIRTUALIZATION_INSTANCE_ALREADY_EXISTS syscall.Errno = 9921 DNS_ERROR_VIRTUALIZATION_INSTANCE_DOES_NOT_EXIST syscall.Errno = 9922 DNS_ERROR_VIRTUALIZATION_TREE_LOCKED syscall.Errno = 9923 DNS_ERROR_INVAILD_VIRTUALIZATION_INSTANCE_NAME syscall.Errno = 9924 DNS_ERROR_DEFAULT_VIRTUALIZATION_INSTANCE syscall.Errno = 9925 DNS_ERROR_ZONESCOPE_ALREADY_EXISTS syscall.Errno = 9951 DNS_ERROR_ZONESCOPE_DOES_NOT_EXIST syscall.Errno = 9952 DNS_ERROR_DEFAULT_ZONESCOPE syscall.Errno = 9953 DNS_ERROR_INVALID_ZONESCOPE_NAME syscall.Errno = 9954 DNS_ERROR_NOT_ALLOWED_WITH_ZONESCOPES syscall.Errno = 9955 DNS_ERROR_LOAD_ZONESCOPE_FAILED syscall.Errno = 9956 DNS_ERROR_ZONESCOPE_FILE_WRITEBACK_FAILED syscall.Errno = 9957 DNS_ERROR_INVALID_SCOPE_NAME syscall.Errno = 9958 DNS_ERROR_SCOPE_DOES_NOT_EXIST syscall.Errno = 9959 DNS_ERROR_DEFAULT_SCOPE syscall.Errno = 9960 DNS_ERROR_INVALID_SCOPE_OPERATION syscall.Errno = 9961 DNS_ERROR_SCOPE_LOCKED syscall.Errno = 9962 DNS_ERROR_SCOPE_ALREADY_EXISTS syscall.Errno = 9963 DNS_ERROR_POLICY_ALREADY_EXISTS syscall.Errno = 9971 DNS_ERROR_POLICY_DOES_NOT_EXIST syscall.Errno = 9972 DNS_ERROR_POLICY_INVALID_CRITERIA syscall.Errno = 9973 DNS_ERROR_POLICY_INVALID_SETTINGS syscall.Errno = 9974 DNS_ERROR_CLIENT_SUBNET_IS_ACCESSED syscall.Errno = 9975 DNS_ERROR_CLIENT_SUBNET_DOES_NOT_EXIST syscall.Errno = 9976 DNS_ERROR_CLIENT_SUBNET_ALREADY_EXISTS syscall.Errno = 9977 DNS_ERROR_SUBNET_DOES_NOT_EXIST syscall.Errno = 9978 DNS_ERROR_SUBNET_ALREADY_EXISTS syscall.Errno = 9979 DNS_ERROR_POLICY_LOCKED syscall.Errno = 9980 DNS_ERROR_POLICY_INVALID_WEIGHT syscall.Errno = 9981 DNS_ERROR_POLICY_INVALID_NAME syscall.Errno = 9982 DNS_ERROR_POLICY_MISSING_CRITERIA syscall.Errno = 9983 DNS_ERROR_INVALID_CLIENT_SUBNET_NAME syscall.Errno = 9984 DNS_ERROR_POLICY_PROCESSING_ORDER_INVALID syscall.Errno = 9985 DNS_ERROR_POLICY_SCOPE_MISSING syscall.Errno = 9986 DNS_ERROR_POLICY_SCOPE_NOT_ALLOWED syscall.Errno = 9987 DNS_ERROR_SERVERSCOPE_IS_REFERENCED syscall.Errno = 9988 DNS_ERROR_ZONESCOPE_IS_REFERENCED syscall.Errno = 9989 DNS_ERROR_POLICY_INVALID_CRITERIA_CLIENT_SUBNET syscall.Errno = 9990 DNS_ERROR_POLICY_INVALID_CRITERIA_TRANSPORT_PROTOCOL syscall.Errno = 9991 DNS_ERROR_POLICY_INVALID_CRITERIA_NETWORK_PROTOCOL syscall.Errno = 9992 DNS_ERROR_POLICY_INVALID_CRITERIA_INTERFACE syscall.Errno = 9993 DNS_ERROR_POLICY_INVALID_CRITERIA_FQDN syscall.Errno = 9994 DNS_ERROR_POLICY_INVALID_CRITERIA_QUERY_TYPE syscall.Errno = 9995 DNS_ERROR_POLICY_INVALID_CRITERIA_TIME_OF_DAY syscall.Errno = 9996 WSABASEERR syscall.Errno = 10000 WSAEINTR syscall.Errno = 10004 WSAEBADF syscall.Errno = 10009 WSAEACCES syscall.Errno = 10013 WSAEFAULT syscall.Errno = 10014 WSAEINVAL syscall.Errno = 10022 WSAEMFILE syscall.Errno = 10024 WSAEWOULDBLOCK syscall.Errno = 10035 WSAEINPROGRESS syscall.Errno = 10036 WSAEALREADY syscall.Errno = 10037 WSAENOTSOCK syscall.Errno = 10038 WSAEDESTADDRREQ syscall.Errno = 10039 WSAEMSGSIZE syscall.Errno = 10040 WSAEPROTOTYPE syscall.Errno = 10041 WSAENOPROTOOPT syscall.Errno = 10042 WSAEPROTONOSUPPORT syscall.Errno = 10043 WSAESOCKTNOSUPPORT syscall.Errno = 10044 WSAEOPNOTSUPP syscall.Errno = 10045 WSAEPFNOSUPPORT syscall.Errno = 10046 WSAEAFNOSUPPORT syscall.Errno = 10047 WSAEADDRINUSE syscall.Errno = 10048 WSAEADDRNOTAVAIL syscall.Errno = 10049 WSAENETDOWN syscall.Errno = 10050 WSAENETUNREACH syscall.Errno = 10051 WSAENETRESET syscall.Errno = 10052 WSAECONNABORTED syscall.Errno = 10053 WSAECONNRESET syscall.Errno = 10054 WSAENOBUFS syscall.Errno = 10055 WSAEISCONN syscall.Errno = 10056 WSAENOTCONN syscall.Errno = 10057 WSAESHUTDOWN syscall.Errno = 10058 WSAETOOMANYREFS syscall.Errno = 10059 WSAETIMEDOUT syscall.Errno = 10060 WSAECONNREFUSED syscall.Errno = 10061 WSAELOOP syscall.Errno = 10062 WSAENAMETOOLONG syscall.Errno = 10063 WSAEHOSTDOWN syscall.Errno = 10064 WSAEHOSTUNREACH syscall.Errno = 10065 WSAENOTEMPTY syscall.Errno = 10066 WSAEPROCLIM syscall.Errno = 10067 WSAEUSERS syscall.Errno = 10068 WSAEDQUOT syscall.Errno = 10069 WSAESTALE syscall.Errno = 10070 WSAEREMOTE syscall.Errno = 10071 WSASYSNOTREADY syscall.Errno = 10091 WSAVERNOTSUPPORTED syscall.Errno = 10092 WSANOTINITIALISED syscall.Errno = 10093 WSAEDISCON syscall.Errno = 10101 WSAENOMORE syscall.Errno = 10102 WSAECANCELLED syscall.Errno = 10103 WSAEINVALIDPROCTABLE syscall.Errno = 10104 WSAEINVALIDPROVIDER syscall.Errno = 10105 WSAEPROVIDERFAILEDINIT syscall.Errno = 10106 WSASYSCALLFAILURE syscall.Errno = 10107 WSASERVICE_NOT_FOUND syscall.Errno = 10108 WSATYPE_NOT_FOUND syscall.Errno = 10109 WSA_E_NO_MORE syscall.Errno = 10110 WSA_E_CANCELLED syscall.Errno = 10111 WSAEREFUSED syscall.Errno = 10112 WSAHOST_NOT_FOUND syscall.Errno = 11001 WSATRY_AGAIN syscall.Errno = 11002 WSANO_RECOVERY syscall.Errno = 11003 WSANO_DATA syscall.Errno = 11004 WSA_QOS_RECEIVERS syscall.Errno = 11005 WSA_QOS_SENDERS syscall.Errno = 11006 WSA_QOS_NO_SENDERS syscall.Errno = 11007 WSA_QOS_NO_RECEIVERS syscall.Errno = 11008 WSA_QOS_REQUEST_CONFIRMED syscall.Errno = 11009 WSA_QOS_ADMISSION_FAILURE syscall.Errno = 11010 WSA_QOS_POLICY_FAILURE syscall.Errno = 11011 WSA_QOS_BAD_STYLE syscall.Errno = 11012 WSA_QOS_BAD_OBJECT syscall.Errno = 11013 WSA_QOS_TRAFFIC_CTRL_ERROR syscall.Errno = 11014 WSA_QOS_GENERIC_ERROR syscall.Errno = 11015 WSA_QOS_ESERVICETYPE syscall.Errno = 11016 WSA_QOS_EFLOWSPEC syscall.Errno = 11017 WSA_QOS_EPROVSPECBUF syscall.Errno = 11018 WSA_QOS_EFILTERSTYLE syscall.Errno = 11019 WSA_QOS_EFILTERTYPE syscall.Errno = 11020 WSA_QOS_EFILTERCOUNT syscall.Errno = 11021 WSA_QOS_EOBJLENGTH syscall.Errno = 11022 WSA_QOS_EFLOWCOUNT syscall.Errno = 11023 WSA_QOS_EUNKOWNPSOBJ syscall.Errno = 11024 WSA_QOS_EPOLICYOBJ syscall.Errno = 11025 WSA_QOS_EFLOWDESC syscall.Errno = 11026 WSA_QOS_EPSFLOWSPEC syscall.Errno = 11027 WSA_QOS_EPSFILTERSPEC syscall.Errno = 11028 WSA_QOS_ESDMODEOBJ syscall.Errno = 11029 WSA_QOS_ESHAPERATEOBJ syscall.Errno = 11030 WSA_QOS_RESERVED_PETYPE syscall.Errno = 11031 WSA_SECURE_HOST_NOT_FOUND syscall.Errno = 11032 WSA_IPSEC_NAME_POLICY_ERROR syscall.Errno = 11033 ERROR_IPSEC_QM_POLICY_EXISTS syscall.Errno = 13000 ERROR_IPSEC_QM_POLICY_NOT_FOUND syscall.Errno = 13001 ERROR_IPSEC_QM_POLICY_IN_USE syscall.Errno = 13002 ERROR_IPSEC_MM_POLICY_EXISTS syscall.Errno = 13003 ERROR_IPSEC_MM_POLICY_NOT_FOUND syscall.Errno = 13004 ERROR_IPSEC_MM_POLICY_IN_USE syscall.Errno = 13005 ERROR_IPSEC_MM_FILTER_EXISTS syscall.Errno = 13006 ERROR_IPSEC_MM_FILTER_NOT_FOUND syscall.Errno = 13007 ERROR_IPSEC_TRANSPORT_FILTER_EXISTS syscall.Errno = 13008 ERROR_IPSEC_TRANSPORT_FILTER_NOT_FOUND syscall.Errno = 13009 ERROR_IPSEC_MM_AUTH_EXISTS syscall.Errno = 13010 ERROR_IPSEC_MM_AUTH_NOT_FOUND syscall.Errno = 13011 ERROR_IPSEC_MM_AUTH_IN_USE syscall.Errno = 13012 ERROR_IPSEC_DEFAULT_MM_POLICY_NOT_FOUND syscall.Errno = 13013 ERROR_IPSEC_DEFAULT_MM_AUTH_NOT_FOUND syscall.Errno = 13014 ERROR_IPSEC_DEFAULT_QM_POLICY_NOT_FOUND syscall.Errno = 13015 ERROR_IPSEC_TUNNEL_FILTER_EXISTS syscall.Errno = 13016 ERROR_IPSEC_TUNNEL_FILTER_NOT_FOUND syscall.Errno = 13017 ERROR_IPSEC_MM_FILTER_PENDING_DELETION syscall.Errno = 13018 ERROR_IPSEC_TRANSPORT_FILTER_PENDING_DELETION syscall.Errno = 13019 ERROR_IPSEC_TUNNEL_FILTER_PENDING_DELETION syscall.Errno = 13020 ERROR_IPSEC_MM_POLICY_PENDING_DELETION syscall.Errno = 13021 ERROR_IPSEC_MM_AUTH_PENDING_DELETION syscall.Errno = 13022 ERROR_IPSEC_QM_POLICY_PENDING_DELETION syscall.Errno = 13023 WARNING_IPSEC_MM_POLICY_PRUNED syscall.Errno = 13024 WARNING_IPSEC_QM_POLICY_PRUNED syscall.Errno = 13025 ERROR_IPSEC_IKE_NEG_STATUS_BEGIN syscall.Errno = 13800 ERROR_IPSEC_IKE_AUTH_FAIL syscall.Errno = 13801 ERROR_IPSEC_IKE_ATTRIB_FAIL syscall.Errno = 13802 ERROR_IPSEC_IKE_NEGOTIATION_PENDING syscall.Errno = 13803 ERROR_IPSEC_IKE_GENERAL_PROCESSING_ERROR syscall.Errno = 13804 ERROR_IPSEC_IKE_TIMED_OUT syscall.Errno = 13805 ERROR_IPSEC_IKE_NO_CERT syscall.Errno = 13806 ERROR_IPSEC_IKE_SA_DELETED syscall.Errno = 13807 ERROR_IPSEC_IKE_SA_REAPED syscall.Errno = 13808 ERROR_IPSEC_IKE_MM_ACQUIRE_DROP syscall.Errno = 13809 ERROR_IPSEC_IKE_QM_ACQUIRE_DROP syscall.Errno = 13810 ERROR_IPSEC_IKE_QUEUE_DROP_MM syscall.Errno = 13811 ERROR_IPSEC_IKE_QUEUE_DROP_NO_MM syscall.Errno = 13812 ERROR_IPSEC_IKE_DROP_NO_RESPONSE syscall.Errno = 13813 ERROR_IPSEC_IKE_MM_DELAY_DROP syscall.Errno = 13814 ERROR_IPSEC_IKE_QM_DELAY_DROP syscall.Errno = 13815 ERROR_IPSEC_IKE_ERROR syscall.Errno = 13816 ERROR_IPSEC_IKE_CRL_FAILED syscall.Errno = 13817 ERROR_IPSEC_IKE_INVALID_KEY_USAGE syscall.Errno = 13818 ERROR_IPSEC_IKE_INVALID_CERT_TYPE syscall.Errno = 13819 ERROR_IPSEC_IKE_NO_PRIVATE_KEY syscall.Errno = 13820 ERROR_IPSEC_IKE_SIMULTANEOUS_REKEY syscall.Errno = 13821 ERROR_IPSEC_IKE_DH_FAIL syscall.Errno = 13822 ERROR_IPSEC_IKE_CRITICAL_PAYLOAD_NOT_RECOGNIZED syscall.Errno = 13823 ERROR_IPSEC_IKE_INVALID_HEADER syscall.Errno = 13824 ERROR_IPSEC_IKE_NO_POLICY syscall.Errno = 13825 ERROR_IPSEC_IKE_INVALID_SIGNATURE syscall.Errno = 13826 ERROR_IPSEC_IKE_KERBEROS_ERROR syscall.Errno = 13827 ERROR_IPSEC_IKE_NO_PUBLIC_KEY syscall.Errno = 13828 ERROR_IPSEC_IKE_PROCESS_ERR syscall.Errno = 13829 ERROR_IPSEC_IKE_PROCESS_ERR_SA syscall.Errno = 13830 ERROR_IPSEC_IKE_PROCESS_ERR_PROP syscall.Errno = 13831 ERROR_IPSEC_IKE_PROCESS_ERR_TRANS syscall.Errno = 13832 ERROR_IPSEC_IKE_PROCESS_ERR_KE syscall.Errno = 13833 ERROR_IPSEC_IKE_PROCESS_ERR_ID syscall.Errno = 13834 ERROR_IPSEC_IKE_PROCESS_ERR_CERT syscall.Errno = 13835 ERROR_IPSEC_IKE_PROCESS_ERR_CERT_REQ syscall.Errno = 13836 ERROR_IPSEC_IKE_PROCESS_ERR_HASH syscall.Errno = 13837 ERROR_IPSEC_IKE_PROCESS_ERR_SIG syscall.Errno = 13838 ERROR_IPSEC_IKE_PROCESS_ERR_NONCE syscall.Errno = 13839 ERROR_IPSEC_IKE_PROCESS_ERR_NOTIFY syscall.Errno = 13840 ERROR_IPSEC_IKE_PROCESS_ERR_DELETE syscall.Errno = 13841 ERROR_IPSEC_IKE_PROCESS_ERR_VENDOR syscall.Errno = 13842 ERROR_IPSEC_IKE_INVALID_PAYLOAD syscall.Errno = 13843 ERROR_IPSEC_IKE_LOAD_SOFT_SA syscall.Errno = 13844 ERROR_IPSEC_IKE_SOFT_SA_TORN_DOWN syscall.Errno = 13845 ERROR_IPSEC_IKE_INVALID_COOKIE syscall.Errno = 13846 ERROR_IPSEC_IKE_NO_PEER_CERT syscall.Errno = 13847 ERROR_IPSEC_IKE_PEER_CRL_FAILED syscall.Errno = 13848 ERROR_IPSEC_IKE_POLICY_CHANGE syscall.Errno = 13849 ERROR_IPSEC_IKE_NO_MM_POLICY syscall.Errno = 13850 ERROR_IPSEC_IKE_NOTCBPRIV syscall.Errno = 13851 ERROR_IPSEC_IKE_SECLOADFAIL syscall.Errno = 13852 ERROR_IPSEC_IKE_FAILSSPINIT syscall.Errno = 13853 ERROR_IPSEC_IKE_FAILQUERYSSP syscall.Errno = 13854 ERROR_IPSEC_IKE_SRVACQFAIL syscall.Errno = 13855 ERROR_IPSEC_IKE_SRVQUERYCRED syscall.Errno = 13856 ERROR_IPSEC_IKE_GETSPIFAIL syscall.Errno = 13857 ERROR_IPSEC_IKE_INVALID_FILTER syscall.Errno = 13858 ERROR_IPSEC_IKE_OUT_OF_MEMORY syscall.Errno = 13859 ERROR_IPSEC_IKE_ADD_UPDATE_KEY_FAILED syscall.Errno = 13860 ERROR_IPSEC_IKE_INVALID_POLICY syscall.Errno = 13861 ERROR_IPSEC_IKE_UNKNOWN_DOI syscall.Errno = 13862 ERROR_IPSEC_IKE_INVALID_SITUATION syscall.Errno = 13863 ERROR_IPSEC_IKE_DH_FAILURE syscall.Errno = 13864 ERROR_IPSEC_IKE_INVALID_GROUP syscall.Errno = 13865 ERROR_IPSEC_IKE_ENCRYPT syscall.Errno = 13866 ERROR_IPSEC_IKE_DECRYPT syscall.Errno = 13867 ERROR_IPSEC_IKE_POLICY_MATCH syscall.Errno = 13868 ERROR_IPSEC_IKE_UNSUPPORTED_ID syscall.Errno = 13869 ERROR_IPSEC_IKE_INVALID_HASH syscall.Errno = 13870 ERROR_IPSEC_IKE_INVALID_HASH_ALG syscall.Errno = 13871 ERROR_IPSEC_IKE_INVALID_HASH_SIZE syscall.Errno = 13872 ERROR_IPSEC_IKE_INVALID_ENCRYPT_ALG syscall.Errno = 13873 ERROR_IPSEC_IKE_INVALID_AUTH_ALG syscall.Errno = 13874 ERROR_IPSEC_IKE_INVALID_SIG syscall.Errno = 13875 ERROR_IPSEC_IKE_LOAD_FAILED syscall.Errno = 13876 ERROR_IPSEC_IKE_RPC_DELETE syscall.Errno = 13877 ERROR_IPSEC_IKE_BENIGN_REINIT syscall.Errno = 13878 ERROR_IPSEC_IKE_INVALID_RESPONDER_LIFETIME_NOTIFY syscall.Errno = 13879 ERROR_IPSEC_IKE_INVALID_MAJOR_VERSION syscall.Errno = 13880 ERROR_IPSEC_IKE_INVALID_CERT_KEYLEN syscall.Errno = 13881 ERROR_IPSEC_IKE_MM_LIMIT syscall.Errno = 13882 ERROR_IPSEC_IKE_NEGOTIATION_DISABLED syscall.Errno = 13883 ERROR_IPSEC_IKE_QM_LIMIT syscall.Errno = 13884 ERROR_IPSEC_IKE_MM_EXPIRED syscall.Errno = 13885 ERROR_IPSEC_IKE_PEER_MM_ASSUMED_INVALID syscall.Errno = 13886 ERROR_IPSEC_IKE_CERT_CHAIN_POLICY_MISMATCH syscall.Errno = 13887 ERROR_IPSEC_IKE_UNEXPECTED_MESSAGE_ID syscall.Errno = 13888 ERROR_IPSEC_IKE_INVALID_AUTH_PAYLOAD syscall.Errno = 13889 ERROR_IPSEC_IKE_DOS_COOKIE_SENT syscall.Errno = 13890 ERROR_IPSEC_IKE_SHUTTING_DOWN syscall.Errno = 13891 ERROR_IPSEC_IKE_CGA_AUTH_FAILED syscall.Errno = 13892 ERROR_IPSEC_IKE_PROCESS_ERR_NATOA syscall.Errno = 13893 ERROR_IPSEC_IKE_INVALID_MM_FOR_QM syscall.Errno = 13894 ERROR_IPSEC_IKE_QM_EXPIRED syscall.Errno = 13895 ERROR_IPSEC_IKE_TOO_MANY_FILTERS syscall.Errno = 13896 ERROR_IPSEC_IKE_NEG_STATUS_END syscall.Errno = 13897 ERROR_IPSEC_IKE_KILL_DUMMY_NAP_TUNNEL syscall.Errno = 13898 ERROR_IPSEC_IKE_INNER_IP_ASSIGNMENT_FAILURE syscall.Errno = 13899 ERROR_IPSEC_IKE_REQUIRE_CP_PAYLOAD_MISSING syscall.Errno = 13900 ERROR_IPSEC_KEY_MODULE_IMPERSONATION_NEGOTIATION_PENDING syscall.Errno = 13901 ERROR_IPSEC_IKE_COEXISTENCE_SUPPRESS syscall.Errno = 13902 ERROR_IPSEC_IKE_RATELIMIT_DROP syscall.Errno = 13903 ERROR_IPSEC_IKE_PEER_DOESNT_SUPPORT_MOBIKE syscall.Errno = 13904 ERROR_IPSEC_IKE_AUTHORIZATION_FAILURE syscall.Errno = 13905 ERROR_IPSEC_IKE_STRONG_CRED_AUTHORIZATION_FAILURE syscall.Errno = 13906 ERROR_IPSEC_IKE_AUTHORIZATION_FAILURE_WITH_OPTIONAL_RETRY syscall.Errno = 13907 ERROR_IPSEC_IKE_STRONG_CRED_AUTHORIZATION_AND_CERTMAP_FAILURE syscall.Errno = 13908 ERROR_IPSEC_IKE_NEG_STATUS_EXTENDED_END syscall.Errno = 13909 ERROR_IPSEC_BAD_SPI syscall.Errno = 13910 ERROR_IPSEC_SA_LIFETIME_EXPIRED syscall.Errno = 13911 ERROR_IPSEC_WRONG_SA syscall.Errno = 13912 ERROR_IPSEC_REPLAY_CHECK_FAILED syscall.Errno = 13913 ERROR_IPSEC_INVALID_PACKET syscall.Errno = 13914 ERROR_IPSEC_INTEGRITY_CHECK_FAILED syscall.Errno = 13915 ERROR_IPSEC_CLEAR_TEXT_DROP syscall.Errno = 13916 ERROR_IPSEC_AUTH_FIREWALL_DROP syscall.Errno = 13917 ERROR_IPSEC_THROTTLE_DROP syscall.Errno = 13918 ERROR_IPSEC_DOSP_BLOCK syscall.Errno = 13925 ERROR_IPSEC_DOSP_RECEIVED_MULTICAST syscall.Errno = 13926 ERROR_IPSEC_DOSP_INVALID_PACKET syscall.Errno = 13927 ERROR_IPSEC_DOSP_STATE_LOOKUP_FAILED syscall.Errno = 13928 ERROR_IPSEC_DOSP_MAX_ENTRIES syscall.Errno = 13929 ERROR_IPSEC_DOSP_KEYMOD_NOT_ALLOWED syscall.Errno = 13930 ERROR_IPSEC_DOSP_NOT_INSTALLED syscall.Errno = 13931 ERROR_IPSEC_DOSP_MAX_PER_IP_RATELIMIT_QUEUES syscall.Errno = 13932 ERROR_SXS_SECTION_NOT_FOUND syscall.Errno = 14000 ERROR_SXS_CANT_GEN_ACTCTX syscall.Errno = 14001 ERROR_SXS_INVALID_ACTCTXDATA_FORMAT syscall.Errno = 14002 ERROR_SXS_ASSEMBLY_NOT_FOUND syscall.Errno = 14003 ERROR_SXS_MANIFEST_FORMAT_ERROR syscall.Errno = 14004 ERROR_SXS_MANIFEST_PARSE_ERROR syscall.Errno = 14005 ERROR_SXS_ACTIVATION_CONTEXT_DISABLED syscall.Errno = 14006 ERROR_SXS_KEY_NOT_FOUND syscall.Errno = 14007 ERROR_SXS_VERSION_CONFLICT syscall.Errno = 14008 ERROR_SXS_WRONG_SECTION_TYPE syscall.Errno = 14009 ERROR_SXS_THREAD_QUERIES_DISABLED syscall.Errno = 14010 ERROR_SXS_PROCESS_DEFAULT_ALREADY_SET syscall.Errno = 14011 ERROR_SXS_UNKNOWN_ENCODING_GROUP syscall.Errno = 14012 ERROR_SXS_UNKNOWN_ENCODING syscall.Errno = 14013 ERROR_SXS_INVALID_XML_NAMESPACE_URI syscall.Errno = 14014 ERROR_SXS_ROOT_MANIFEST_DEPENDENCY_NOT_INSTALLED syscall.Errno = 14015 ERROR_SXS_LEAF_MANIFEST_DEPENDENCY_NOT_INSTALLED syscall.Errno = 14016 ERROR_SXS_INVALID_ASSEMBLY_IDENTITY_ATTRIBUTE syscall.Errno = 14017 ERROR_SXS_MANIFEST_MISSING_REQUIRED_DEFAULT_NAMESPACE syscall.Errno = 14018 ERROR_SXS_MANIFEST_INVALID_REQUIRED_DEFAULT_NAMESPACE syscall.Errno = 14019 ERROR_SXS_PRIVATE_MANIFEST_CROSS_PATH_WITH_REPARSE_POINT syscall.Errno = 14020 ERROR_SXS_DUPLICATE_DLL_NAME syscall.Errno = 14021 ERROR_SXS_DUPLICATE_WINDOWCLASS_NAME syscall.Errno = 14022 ERROR_SXS_DUPLICATE_CLSID syscall.Errno = 14023 ERROR_SXS_DUPLICATE_IID syscall.Errno = 14024 ERROR_SXS_DUPLICATE_TLBID syscall.Errno = 14025 ERROR_SXS_DUPLICATE_PROGID syscall.Errno = 14026 ERROR_SXS_DUPLICATE_ASSEMBLY_NAME syscall.Errno = 14027 ERROR_SXS_FILE_HASH_MISMATCH syscall.Errno = 14028 ERROR_SXS_POLICY_PARSE_ERROR syscall.Errno = 14029 ERROR_SXS_XML_E_MISSINGQUOTE syscall.Errno = 14030 ERROR_SXS_XML_E_COMMENTSYNTAX syscall.Errno = 14031 ERROR_SXS_XML_E_BADSTARTNAMECHAR syscall.Errno = 14032 ERROR_SXS_XML_E_BADNAMECHAR syscall.Errno = 14033 ERROR_SXS_XML_E_BADCHARINSTRING syscall.Errno = 14034 ERROR_SXS_XML_E_XMLDECLSYNTAX syscall.Errno = 14035 ERROR_SXS_XML_E_BADCHARDATA syscall.Errno = 14036 ERROR_SXS_XML_E_MISSINGWHITESPACE syscall.Errno = 14037 ERROR_SXS_XML_E_EXPECTINGTAGEND syscall.Errno = 14038 ERROR_SXS_XML_E_MISSINGSEMICOLON syscall.Errno = 14039 ERROR_SXS_XML_E_UNBALANCEDPAREN syscall.Errno = 14040 ERROR_SXS_XML_E_INTERNALERROR syscall.Errno = 14041 ERROR_SXS_XML_E_UNEXPECTED_WHITESPACE syscall.Errno = 14042 ERROR_SXS_XML_E_INCOMPLETE_ENCODING syscall.Errno = 14043 ERROR_SXS_XML_E_MISSING_PAREN syscall.Errno = 14044 ERROR_SXS_XML_E_EXPECTINGCLOSEQUOTE syscall.Errno = 14045 ERROR_SXS_XML_E_MULTIPLE_COLONS syscall.Errno = 14046 ERROR_SXS_XML_E_INVALID_DECIMAL syscall.Errno = 14047 ERROR_SXS_XML_E_INVALID_HEXIDECIMAL syscall.Errno = 14048 ERROR_SXS_XML_E_INVALID_UNICODE syscall.Errno = 14049 ERROR_SXS_XML_E_WHITESPACEORQUESTIONMARK syscall.Errno = 14050 ERROR_SXS_XML_E_UNEXPECTEDENDTAG syscall.Errno = 14051 ERROR_SXS_XML_E_UNCLOSEDTAG syscall.Errno = 14052 ERROR_SXS_XML_E_DUPLICATEATTRIBUTE syscall.Errno = 14053 ERROR_SXS_XML_E_MULTIPLEROOTS syscall.Errno = 14054 ERROR_SXS_XML_E_INVALIDATROOTLEVEL syscall.Errno = 14055 ERROR_SXS_XML_E_BADXMLDECL syscall.Errno = 14056 ERROR_SXS_XML_E_MISSINGROOT syscall.Errno = 14057 ERROR_SXS_XML_E_UNEXPECTEDEOF syscall.Errno = 14058 ERROR_SXS_XML_E_BADPEREFINSUBSET syscall.Errno = 14059 ERROR_SXS_XML_E_UNCLOSEDSTARTTAG syscall.Errno = 14060 ERROR_SXS_XML_E_UNCLOSEDENDTAG syscall.Errno = 14061 ERROR_SXS_XML_E_UNCLOSEDSTRING syscall.Errno = 14062 ERROR_SXS_XML_E_UNCLOSEDCOMMENT syscall.Errno = 14063 ERROR_SXS_XML_E_UNCLOSEDDECL syscall.Errno = 14064 ERROR_SXS_XML_E_UNCLOSEDCDATA syscall.Errno = 14065 ERROR_SXS_XML_E_RESERVEDNAMESPACE syscall.Errno = 14066 ERROR_SXS_XML_E_INVALIDENCODING syscall.Errno = 14067 ERROR_SXS_XML_E_INVALIDSWITCH syscall.Errno = 14068 ERROR_SXS_XML_E_BADXMLCASE syscall.Errno = 14069 ERROR_SXS_XML_E_INVALID_STANDALONE syscall.Errno = 14070 ERROR_SXS_XML_E_UNEXPECTED_STANDALONE syscall.Errno = 14071 ERROR_SXS_XML_E_INVALID_VERSION syscall.Errno = 14072 ERROR_SXS_XML_E_MISSINGEQUALS syscall.Errno = 14073 ERROR_SXS_PROTECTION_RECOVERY_FAILED syscall.Errno = 14074 ERROR_SXS_PROTECTION_PUBLIC_KEY_TOO_SHORT syscall.Errno = 14075 ERROR_SXS_PROTECTION_CATALOG_NOT_VALID syscall.Errno = 14076 ERROR_SXS_UNTRANSLATABLE_HRESULT syscall.Errno = 14077 ERROR_SXS_PROTECTION_CATALOG_FILE_MISSING syscall.Errno = 14078 ERROR_SXS_MISSING_ASSEMBLY_IDENTITY_ATTRIBUTE syscall.Errno = 14079 ERROR_SXS_INVALID_ASSEMBLY_IDENTITY_ATTRIBUTE_NAME syscall.Errno = 14080 ERROR_SXS_ASSEMBLY_MISSING syscall.Errno = 14081 ERROR_SXS_CORRUPT_ACTIVATION_STACK syscall.Errno = 14082 ERROR_SXS_CORRUPTION syscall.Errno = 14083 ERROR_SXS_EARLY_DEACTIVATION syscall.Errno = 14084 ERROR_SXS_INVALID_DEACTIVATION syscall.Errno = 14085 ERROR_SXS_MULTIPLE_DEACTIVATION syscall.Errno = 14086 ERROR_SXS_PROCESS_TERMINATION_REQUESTED syscall.Errno = 14087 ERROR_SXS_RELEASE_ACTIVATION_CONTEXT syscall.Errno = 14088 ERROR_SXS_SYSTEM_DEFAULT_ACTIVATION_CONTEXT_EMPTY syscall.Errno = 14089 ERROR_SXS_INVALID_IDENTITY_ATTRIBUTE_VALUE syscall.Errno = 14090 ERROR_SXS_INVALID_IDENTITY_ATTRIBUTE_NAME syscall.Errno = 14091 ERROR_SXS_IDENTITY_DUPLICATE_ATTRIBUTE syscall.Errno = 14092 ERROR_SXS_IDENTITY_PARSE_ERROR syscall.Errno = 14093 ERROR_MALFORMED_SUBSTITUTION_STRING syscall.Errno = 14094 ERROR_SXS_INCORRECT_PUBLIC_KEY_TOKEN syscall.Errno = 14095 ERROR_UNMAPPED_SUBSTITUTION_STRING syscall.Errno = 14096 ERROR_SXS_ASSEMBLY_NOT_LOCKED syscall.Errno = 14097 ERROR_SXS_COMPONENT_STORE_CORRUPT syscall.Errno = 14098 ERROR_ADVANCED_INSTALLER_FAILED syscall.Errno = 14099 ERROR_XML_ENCODING_MISMATCH syscall.Errno = 14100 ERROR_SXS_MANIFEST_IDENTITY_SAME_BUT_CONTENTS_DIFFERENT syscall.Errno = 14101 ERROR_SXS_IDENTITIES_DIFFERENT syscall.Errno = 14102 ERROR_SXS_ASSEMBLY_IS_NOT_A_DEPLOYMENT syscall.Errno = 14103 ERROR_SXS_FILE_NOT_PART_OF_ASSEMBLY syscall.Errno = 14104 ERROR_SXS_MANIFEST_TOO_BIG syscall.Errno = 14105 ERROR_SXS_SETTING_NOT_REGISTERED syscall.Errno = 14106 ERROR_SXS_TRANSACTION_CLOSURE_INCOMPLETE syscall.Errno = 14107 ERROR_SMI_PRIMITIVE_INSTALLER_FAILED syscall.Errno = 14108 ERROR_GENERIC_COMMAND_FAILED syscall.Errno = 14109 ERROR_SXS_FILE_HASH_MISSING syscall.Errno = 14110 ERROR_SXS_DUPLICATE_ACTIVATABLE_CLASS syscall.Errno = 14111 ERROR_EVT_INVALID_CHANNEL_PATH syscall.Errno = 15000 ERROR_EVT_INVALID_QUERY syscall.Errno = 15001 ERROR_EVT_PUBLISHER_METADATA_NOT_FOUND syscall.Errno = 15002 ERROR_EVT_EVENT_TEMPLATE_NOT_FOUND syscall.Errno = 15003 ERROR_EVT_INVALID_PUBLISHER_NAME syscall.Errno = 15004 ERROR_EVT_INVALID_EVENT_DATA syscall.Errno = 15005 ERROR_EVT_CHANNEL_NOT_FOUND syscall.Errno = 15007 ERROR_EVT_MALFORMED_XML_TEXT syscall.Errno = 15008 ERROR_EVT_SUBSCRIPTION_TO_DIRECT_CHANNEL syscall.Errno = 15009 ERROR_EVT_CONFIGURATION_ERROR syscall.Errno = 15010 ERROR_EVT_QUERY_RESULT_STALE syscall.Errno = 15011 ERROR_EVT_QUERY_RESULT_INVALID_POSITION syscall.Errno = 15012 ERROR_EVT_NON_VALIDATING_MSXML syscall.Errno = 15013 ERROR_EVT_FILTER_ALREADYSCOPED syscall.Errno = 15014 ERROR_EVT_FILTER_NOTELTSET syscall.Errno = 15015 ERROR_EVT_FILTER_INVARG syscall.Errno = 15016 ERROR_EVT_FILTER_INVTEST syscall.Errno = 15017 ERROR_EVT_FILTER_INVTYPE syscall.Errno = 15018 ERROR_EVT_FILTER_PARSEERR syscall.Errno = 15019 ERROR_EVT_FILTER_UNSUPPORTEDOP syscall.Errno = 15020 ERROR_EVT_FILTER_UNEXPECTEDTOKEN syscall.Errno = 15021 ERROR_EVT_INVALID_OPERATION_OVER_ENABLED_DIRECT_CHANNEL syscall.Errno = 15022 ERROR_EVT_INVALID_CHANNEL_PROPERTY_VALUE syscall.Errno = 15023 ERROR_EVT_INVALID_PUBLISHER_PROPERTY_VALUE syscall.Errno = 15024 ERROR_EVT_CHANNEL_CANNOT_ACTIVATE syscall.Errno = 15025 ERROR_EVT_FILTER_TOO_COMPLEX syscall.Errno = 15026 ERROR_EVT_MESSAGE_NOT_FOUND syscall.Errno = 15027 ERROR_EVT_MESSAGE_ID_NOT_FOUND syscall.Errno = 15028 ERROR_EVT_UNRESOLVED_VALUE_INSERT syscall.Errno = 15029 ERROR_EVT_UNRESOLVED_PARAMETER_INSERT syscall.Errno = 15030 ERROR_EVT_MAX_INSERTS_REACHED syscall.Errno = 15031 ERROR_EVT_EVENT_DEFINITION_NOT_FOUND syscall.Errno = 15032 ERROR_EVT_MESSAGE_LOCALE_NOT_FOUND syscall.Errno = 15033 ERROR_EVT_VERSION_TOO_OLD syscall.Errno = 15034 ERROR_EVT_VERSION_TOO_NEW syscall.Errno = 15035 ERROR_EVT_CANNOT_OPEN_CHANNEL_OF_QUERY syscall.Errno = 15036 ERROR_EVT_PUBLISHER_DISABLED syscall.Errno = 15037 ERROR_EVT_FILTER_OUT_OF_RANGE syscall.Errno = 15038 ERROR_EC_SUBSCRIPTION_CANNOT_ACTIVATE syscall.Errno = 15080 ERROR_EC_LOG_DISABLED syscall.Errno = 15081 ERROR_EC_CIRCULAR_FORWARDING syscall.Errno = 15082 ERROR_EC_CREDSTORE_FULL syscall.Errno = 15083 ERROR_EC_CRED_NOT_FOUND syscall.Errno = 15084 ERROR_EC_NO_ACTIVE_CHANNEL syscall.Errno = 15085 ERROR_MUI_FILE_NOT_FOUND syscall.Errno = 15100 ERROR_MUI_INVALID_FILE syscall.Errno = 15101 ERROR_MUI_INVALID_RC_CONFIG syscall.Errno = 15102 ERROR_MUI_INVALID_LOCALE_NAME syscall.Errno = 15103 ERROR_MUI_INVALID_ULTIMATEFALLBACK_NAME syscall.Errno = 15104 ERROR_MUI_FILE_NOT_LOADED syscall.Errno = 15105 ERROR_RESOURCE_ENUM_USER_STOP syscall.Errno = 15106 ERROR_MUI_INTLSETTINGS_UILANG_NOT_INSTALLED syscall.Errno = 15107 ERROR_MUI_INTLSETTINGS_INVALID_LOCALE_NAME syscall.Errno = 15108 ERROR_MRM_RUNTIME_NO_DEFAULT_OR_NEUTRAL_RESOURCE syscall.Errno = 15110 ERROR_MRM_INVALID_PRICONFIG syscall.Errno = 15111 ERROR_MRM_INVALID_FILE_TYPE syscall.Errno = 15112 ERROR_MRM_UNKNOWN_QUALIFIER syscall.Errno = 15113 ERROR_MRM_INVALID_QUALIFIER_VALUE syscall.Errno = 15114 ERROR_MRM_NO_CANDIDATE syscall.Errno = 15115 ERROR_MRM_NO_MATCH_OR_DEFAULT_CANDIDATE syscall.Errno = 15116 ERROR_MRM_RESOURCE_TYPE_MISMATCH syscall.Errno = 15117 ERROR_MRM_DUPLICATE_MAP_NAME syscall.Errno = 15118 ERROR_MRM_DUPLICATE_ENTRY syscall.Errno = 15119 ERROR_MRM_INVALID_RESOURCE_IDENTIFIER syscall.Errno = 15120 ERROR_MRM_FILEPATH_TOO_LONG syscall.Errno = 15121 ERROR_MRM_UNSUPPORTED_DIRECTORY_TYPE syscall.Errno = 15122 ERROR_MRM_INVALID_PRI_FILE syscall.Errno = 15126 ERROR_MRM_NAMED_RESOURCE_NOT_FOUND syscall.Errno = 15127 ERROR_MRM_MAP_NOT_FOUND syscall.Errno = 15135 ERROR_MRM_UNSUPPORTED_PROFILE_TYPE syscall.Errno = 15136 ERROR_MRM_INVALID_QUALIFIER_OPERATOR syscall.Errno = 15137 ERROR_MRM_INDETERMINATE_QUALIFIER_VALUE syscall.Errno = 15138 ERROR_MRM_AUTOMERGE_ENABLED syscall.Errno = 15139 ERROR_MRM_TOO_MANY_RESOURCES syscall.Errno = 15140 ERROR_MRM_UNSUPPORTED_FILE_TYPE_FOR_MERGE syscall.Errno = 15141 ERROR_MRM_UNSUPPORTED_FILE_TYPE_FOR_LOAD_UNLOAD_PRI_FILE syscall.Errno = 15142 ERROR_MRM_NO_CURRENT_VIEW_ON_THREAD syscall.Errno = 15143 ERROR_DIFFERENT_PROFILE_RESOURCE_MANAGER_EXIST syscall.Errno = 15144 ERROR_OPERATION_NOT_ALLOWED_FROM_SYSTEM_COMPONENT syscall.Errno = 15145 ERROR_MRM_DIRECT_REF_TO_NON_DEFAULT_RESOURCE syscall.Errno = 15146 ERROR_MRM_GENERATION_COUNT_MISMATCH syscall.Errno = 15147 ERROR_PRI_MERGE_VERSION_MISMATCH syscall.Errno = 15148 ERROR_PRI_MERGE_MISSING_SCHEMA syscall.Errno = 15149 ERROR_PRI_MERGE_LOAD_FILE_FAILED syscall.Errno = 15150 ERROR_PRI_MERGE_ADD_FILE_FAILED syscall.Errno = 15151 ERROR_PRI_MERGE_WRITE_FILE_FAILED syscall.Errno = 15152 ERROR_PRI_MERGE_MULTIPLE_PACKAGE_FAMILIES_NOT_ALLOWED syscall.Errno = 15153 ERROR_PRI_MERGE_MULTIPLE_MAIN_PACKAGES_NOT_ALLOWED syscall.Errno = 15154 ERROR_PRI_MERGE_BUNDLE_PACKAGES_NOT_ALLOWED syscall.Errno = 15155 ERROR_PRI_MERGE_MAIN_PACKAGE_REQUIRED syscall.Errno = 15156 ERROR_PRI_MERGE_RESOURCE_PACKAGE_REQUIRED syscall.Errno = 15157 ERROR_PRI_MERGE_INVALID_FILE_NAME syscall.Errno = 15158 ERROR_MRM_PACKAGE_NOT_FOUND syscall.Errno = 15159 ERROR_MRM_MISSING_DEFAULT_LANGUAGE syscall.Errno = 15160 ERROR_MCA_INVALID_CAPABILITIES_STRING syscall.Errno = 15200 ERROR_MCA_INVALID_VCP_VERSION syscall.Errno = 15201 ERROR_MCA_MONITOR_VIOLATES_MCCS_SPECIFICATION syscall.Errno = 15202 ERROR_MCA_MCCS_VERSION_MISMATCH syscall.Errno = 15203 ERROR_MCA_UNSUPPORTED_MCCS_VERSION syscall.Errno = 15204 ERROR_MCA_INTERNAL_ERROR syscall.Errno = 15205 ERROR_MCA_INVALID_TECHNOLOGY_TYPE_RETURNED syscall.Errno = 15206 ERROR_MCA_UNSUPPORTED_COLOR_TEMPERATURE syscall.Errno = 15207 ERROR_AMBIGUOUS_SYSTEM_DEVICE syscall.Errno = 15250 ERROR_SYSTEM_DEVICE_NOT_FOUND syscall.Errno = 15299 ERROR_HASH_NOT_SUPPORTED syscall.Errno = 15300 ERROR_HASH_NOT_PRESENT syscall.Errno = 15301 ERROR_SECONDARY_IC_PROVIDER_NOT_REGISTERED syscall.Errno = 15321 ERROR_GPIO_CLIENT_INFORMATION_INVALID syscall.Errno = 15322 ERROR_GPIO_VERSION_NOT_SUPPORTED syscall.Errno = 15323 ERROR_GPIO_INVALID_REGISTRATION_PACKET syscall.Errno = 15324 ERROR_GPIO_OPERATION_DENIED syscall.Errno = 15325 ERROR_GPIO_INCOMPATIBLE_CONNECT_MODE syscall.Errno = 15326 ERROR_GPIO_INTERRUPT_ALREADY_UNMASKED syscall.Errno = 15327 ERROR_CANNOT_SWITCH_RUNLEVEL syscall.Errno = 15400 ERROR_INVALID_RUNLEVEL_SETTING syscall.Errno = 15401 ERROR_RUNLEVEL_SWITCH_TIMEOUT syscall.Errno = 15402 ERROR_RUNLEVEL_SWITCH_AGENT_TIMEOUT syscall.Errno = 15403 ERROR_RUNLEVEL_SWITCH_IN_PROGRESS syscall.Errno = 15404 ERROR_SERVICES_FAILED_AUTOSTART syscall.Errno = 15405 ERROR_COM_TASK_STOP_PENDING syscall.Errno = 15501 ERROR_INSTALL_OPEN_PACKAGE_FAILED syscall.Errno = 15600 ERROR_INSTALL_PACKAGE_NOT_FOUND syscall.Errno = 15601 ERROR_INSTALL_INVALID_PACKAGE syscall.Errno = 15602 ERROR_INSTALL_RESOLVE_DEPENDENCY_FAILED syscall.Errno = 15603 ERROR_INSTALL_OUT_OF_DISK_SPACE syscall.Errno = 15604 ERROR_INSTALL_NETWORK_FAILURE syscall.Errno = 15605 ERROR_INSTALL_REGISTRATION_FAILURE syscall.Errno = 15606 ERROR_INSTALL_DEREGISTRATION_FAILURE syscall.Errno = 15607 ERROR_INSTALL_CANCEL syscall.Errno = 15608 ERROR_INSTALL_FAILED syscall.Errno = 15609 ERROR_REMOVE_FAILED syscall.Errno = 15610 ERROR_PACKAGE_ALREADY_EXISTS syscall.Errno = 15611 ERROR_NEEDS_REMEDIATION syscall.Errno = 15612 ERROR_INSTALL_PREREQUISITE_FAILED syscall.Errno = 15613 ERROR_PACKAGE_REPOSITORY_CORRUPTED syscall.Errno = 15614 ERROR_INSTALL_POLICY_FAILURE syscall.Errno = 15615 ERROR_PACKAGE_UPDATING syscall.Errno = 15616 ERROR_DEPLOYMENT_BLOCKED_BY_POLICY syscall.Errno = 15617 ERROR_PACKAGES_IN_USE syscall.Errno = 15618 ERROR_RECOVERY_FILE_CORRUPT syscall.Errno = 15619 ERROR_INVALID_STAGED_SIGNATURE syscall.Errno = 15620 ERROR_DELETING_EXISTING_APPLICATIONDATA_STORE_FAILED syscall.Errno = 15621 ERROR_INSTALL_PACKAGE_DOWNGRADE syscall.Errno = 15622 ERROR_SYSTEM_NEEDS_REMEDIATION syscall.Errno = 15623 ERROR_APPX_INTEGRITY_FAILURE_CLR_NGEN syscall.Errno = 15624 ERROR_RESILIENCY_FILE_CORRUPT syscall.Errno = 15625 ERROR_INSTALL_FIREWALL_SERVICE_NOT_RUNNING syscall.Errno = 15626 ERROR_PACKAGE_MOVE_FAILED syscall.Errno = 15627 ERROR_INSTALL_VOLUME_NOT_EMPTY syscall.Errno = 15628 ERROR_INSTALL_VOLUME_OFFLINE syscall.Errno = 15629 ERROR_INSTALL_VOLUME_CORRUPT syscall.Errno = 15630 ERROR_NEEDS_REGISTRATION syscall.Errno = 15631 ERROR_INSTALL_WRONG_PROCESSOR_ARCHITECTURE syscall.Errno = 15632 ERROR_DEV_SIDELOAD_LIMIT_EXCEEDED syscall.Errno = 15633 ERROR_INSTALL_OPTIONAL_PACKAGE_REQUIRES_MAIN_PACKAGE syscall.Errno = 15634 ERROR_PACKAGE_NOT_SUPPORTED_ON_FILESYSTEM syscall.Errno = 15635 ERROR_PACKAGE_MOVE_BLOCKED_BY_STREAMING syscall.Errno = 15636 ERROR_INSTALL_OPTIONAL_PACKAGE_APPLICATIONID_NOT_UNIQUE syscall.Errno = 15637 ERROR_PACKAGE_STAGING_ONHOLD syscall.Errno = 15638 ERROR_INSTALL_INVALID_RELATED_SET_UPDATE syscall.Errno = 15639 ERROR_INSTALL_OPTIONAL_PACKAGE_REQUIRES_MAIN_PACKAGE_FULLTRUST_CAPABILITY syscall.Errno = 15640 ERROR_DEPLOYMENT_BLOCKED_BY_USER_LOG_OFF syscall.Errno = 15641 ERROR_PROVISION_OPTIONAL_PACKAGE_REQUIRES_MAIN_PACKAGE_PROVISIONED syscall.Errno = 15642 ERROR_PACKAGES_REPUTATION_CHECK_FAILED syscall.Errno = 15643 ERROR_PACKAGES_REPUTATION_CHECK_TIMEDOUT syscall.Errno = 15644 ERROR_DEPLOYMENT_OPTION_NOT_SUPPORTED syscall.Errno = 15645 ERROR_APPINSTALLER_ACTIVATION_BLOCKED syscall.Errno = 15646 ERROR_REGISTRATION_FROM_REMOTE_DRIVE_NOT_SUPPORTED syscall.Errno = 15647 ERROR_APPX_RAW_DATA_WRITE_FAILED syscall.Errno = 15648 ERROR_DEPLOYMENT_BLOCKED_BY_VOLUME_POLICY_PACKAGE syscall.Errno = 15649 ERROR_DEPLOYMENT_BLOCKED_BY_VOLUME_POLICY_MACHINE syscall.Errno = 15650 ERROR_DEPLOYMENT_BLOCKED_BY_PROFILE_POLICY syscall.Errno = 15651 ERROR_DEPLOYMENT_FAILED_CONFLICTING_MUTABLE_PACKAGE_DIRECTORY syscall.Errno = 15652 ERROR_SINGLETON_RESOURCE_INSTALLED_IN_ACTIVE_USER syscall.Errno = 15653 ERROR_DIFFERENT_VERSION_OF_PACKAGED_SERVICE_INSTALLED syscall.Errno = 15654 ERROR_SERVICE_EXISTS_AS_NON_PACKAGED_SERVICE syscall.Errno = 15655 ERROR_PACKAGED_SERVICE_REQUIRES_ADMIN_PRIVILEGES syscall.Errno = 15656 APPMODEL_ERROR_NO_PACKAGE syscall.Errno = 15700 APPMODEL_ERROR_PACKAGE_RUNTIME_CORRUPT syscall.Errno = 15701 APPMODEL_ERROR_PACKAGE_IDENTITY_CORRUPT syscall.Errno = 15702 APPMODEL_ERROR_NO_APPLICATION syscall.Errno = 15703 APPMODEL_ERROR_DYNAMIC_PROPERTY_READ_FAILED syscall.Errno = 15704 APPMODEL_ERROR_DYNAMIC_PROPERTY_INVALID syscall.Errno = 15705 APPMODEL_ERROR_PACKAGE_NOT_AVAILABLE syscall.Errno = 15706 APPMODEL_ERROR_NO_MUTABLE_DIRECTORY syscall.Errno = 15707 ERROR_STATE_LOAD_STORE_FAILED syscall.Errno = 15800 ERROR_STATE_GET_VERSION_FAILED syscall.Errno = 15801 ERROR_STATE_SET_VERSION_FAILED syscall.Errno = 15802 ERROR_STATE_STRUCTURED_RESET_FAILED syscall.Errno = 15803 ERROR_STATE_OPEN_CONTAINER_FAILED syscall.Errno = 15804 ERROR_STATE_CREATE_CONTAINER_FAILED syscall.Errno = 15805 ERROR_STATE_DELETE_CONTAINER_FAILED syscall.Errno = 15806 ERROR_STATE_READ_SETTING_FAILED syscall.Errno = 15807 ERROR_STATE_WRITE_SETTING_FAILED syscall.Errno = 15808 ERROR_STATE_DELETE_SETTING_FAILED syscall.Errno = 15809 ERROR_STATE_QUERY_SETTING_FAILED syscall.Errno = 15810 ERROR_STATE_READ_COMPOSITE_SETTING_FAILED syscall.Errno = 15811 ERROR_STATE_WRITE_COMPOSITE_SETTING_FAILED syscall.Errno = 15812 ERROR_STATE_ENUMERATE_CONTAINER_FAILED syscall.Errno = 15813 ERROR_STATE_ENUMERATE_SETTINGS_FAILED syscall.Errno = 15814 ERROR_STATE_COMPOSITE_SETTING_VALUE_SIZE_LIMIT_EXCEEDED syscall.Errno = 15815 ERROR_STATE_SETTING_VALUE_SIZE_LIMIT_EXCEEDED syscall.Errno = 15816 ERROR_STATE_SETTING_NAME_SIZE_LIMIT_EXCEEDED syscall.Errno = 15817 ERROR_STATE_CONTAINER_NAME_SIZE_LIMIT_EXCEEDED syscall.Errno = 15818 ERROR_API_UNAVAILABLE syscall.Errno = 15841 STORE_ERROR_UNLICENSED syscall.Errno = 15861 STORE_ERROR_UNLICENSED_USER syscall.Errno = 15862 STORE_ERROR_PENDING_COM_TRANSACTION syscall.Errno = 15863 STORE_ERROR_LICENSE_REVOKED syscall.Errno = 15864 SEVERITY_SUCCESS syscall.Errno = 0 SEVERITY_ERROR syscall.Errno = 1 FACILITY_NT_BIT = 0x10000000 E_NOT_SET = ERROR_NOT_FOUND E_NOT_VALID_STATE = ERROR_INVALID_STATE E_NOT_SUFFICIENT_BUFFER = ERROR_INSUFFICIENT_BUFFER E_TIME_SENSITIVE_THREAD = ERROR_TIME_SENSITIVE_THREAD E_NO_TASK_QUEUE = ERROR_NO_TASK_QUEUE NOERROR syscall.Errno = 0 E_UNEXPECTED Handle = 0x8000FFFF E_NOTIMPL Handle = 0x80004001 E_OUTOFMEMORY Handle = 0x8007000E E_INVALIDARG Handle = 0x80070057 E_NOINTERFACE Handle = 0x80004002 E_POINTER Handle = 0x80004003 E_HANDLE Handle = 0x80070006 E_ABORT Handle = 0x80004004 E_FAIL Handle = 0x80004005 E_ACCESSDENIED Handle = 0x80070005 E_PENDING Handle = 0x8000000A E_BOUNDS Handle = 0x8000000B E_CHANGED_STATE Handle = 0x8000000C E_ILLEGAL_STATE_CHANGE Handle = 0x8000000D E_ILLEGAL_METHOD_CALL Handle = 0x8000000E RO_E_METADATA_NAME_NOT_FOUND Handle = 0x8000000F RO_E_METADATA_NAME_IS_NAMESPACE Handle = 0x80000010 RO_E_METADATA_INVALID_TYPE_FORMAT Handle = 0x80000011 RO_E_INVALID_METADATA_FILE Handle = 0x80000012 RO_E_CLOSED Handle = 0x80000013 RO_E_EXCLUSIVE_WRITE Handle = 0x80000014 RO_E_CHANGE_NOTIFICATION_IN_PROGRESS Handle = 0x80000015 RO_E_ERROR_STRING_NOT_FOUND Handle = 0x80000016 E_STRING_NOT_NULL_TERMINATED Handle = 0x80000017 E_ILLEGAL_DELEGATE_ASSIGNMENT Handle = 0x80000018 E_ASYNC_OPERATION_NOT_STARTED Handle = 0x80000019 E_APPLICATION_EXITING Handle = 0x8000001A E_APPLICATION_VIEW_EXITING Handle = 0x8000001B RO_E_MUST_BE_AGILE Handle = 0x8000001C RO_E_UNSUPPORTED_FROM_MTA Handle = 0x8000001D RO_E_COMMITTED Handle = 0x8000001E RO_E_BLOCKED_CROSS_ASTA_CALL Handle = 0x8000001F RO_E_CANNOT_ACTIVATE_FULL_TRUST_SERVER Handle = 0x80000020 RO_E_CANNOT_ACTIVATE_UNIVERSAL_APPLICATION_SERVER Handle = 0x80000021 CO_E_INIT_TLS Handle = 0x80004006 CO_E_INIT_SHARED_ALLOCATOR Handle = 0x80004007 CO_E_INIT_MEMORY_ALLOCATOR Handle = 0x80004008 CO_E_INIT_CLASS_CACHE Handle = 0x80004009 CO_E_INIT_RPC_CHANNEL Handle = 0x8000400A CO_E_INIT_TLS_SET_CHANNEL_CONTROL Handle = 0x8000400B CO_E_INIT_TLS_CHANNEL_CONTROL Handle = 0x8000400C CO_E_INIT_UNACCEPTED_USER_ALLOCATOR Handle = 0x8000400D CO_E_INIT_SCM_MUTEX_EXISTS Handle = 0x8000400E CO_E_INIT_SCM_FILE_MAPPING_EXISTS Handle = 0x8000400F CO_E_INIT_SCM_MAP_VIEW_OF_FILE Handle = 0x80004010 CO_E_INIT_SCM_EXEC_FAILURE Handle = 0x80004011 CO_E_INIT_ONLY_SINGLE_THREADED Handle = 0x80004012 CO_E_CANT_REMOTE Handle = 0x80004013 CO_E_BAD_SERVER_NAME Handle = 0x80004014 CO_E_WRONG_SERVER_IDENTITY Handle = 0x80004015 CO_E_OLE1DDE_DISABLED Handle = 0x80004016 CO_E_RUNAS_SYNTAX Handle = 0x80004017 CO_E_CREATEPROCESS_FAILURE Handle = 0x80004018 CO_E_RUNAS_CREATEPROCESS_FAILURE Handle = 0x80004019 CO_E_RUNAS_LOGON_FAILURE Handle = 0x8000401A CO_E_LAUNCH_PERMSSION_DENIED Handle = 0x8000401B CO_E_START_SERVICE_FAILURE Handle = 0x8000401C CO_E_REMOTE_COMMUNICATION_FAILURE Handle = 0x8000401D CO_E_SERVER_START_TIMEOUT Handle = 0x8000401E CO_E_CLSREG_INCONSISTENT Handle = 0x8000401F CO_E_IIDREG_INCONSISTENT Handle = 0x80004020 CO_E_NOT_SUPPORTED Handle = 0x80004021 CO_E_RELOAD_DLL Handle = 0x80004022 CO_E_MSI_ERROR Handle = 0x80004023 CO_E_ATTEMPT_TO_CREATE_OUTSIDE_CLIENT_CONTEXT Handle = 0x80004024 CO_E_SERVER_PAUSED Handle = 0x80004025 CO_E_SERVER_NOT_PAUSED Handle = 0x80004026 CO_E_CLASS_DISABLED Handle = 0x80004027 CO_E_CLRNOTAVAILABLE Handle = 0x80004028 CO_E_ASYNC_WORK_REJECTED Handle = 0x80004029 CO_E_SERVER_INIT_TIMEOUT Handle = 0x8000402A CO_E_NO_SECCTX_IN_ACTIVATE Handle = 0x8000402B CO_E_TRACKER_CONFIG Handle = 0x80004030 CO_E_THREADPOOL_CONFIG Handle = 0x80004031 CO_E_SXS_CONFIG Handle = 0x80004032 CO_E_MALFORMED_SPN Handle = 0x80004033 CO_E_UNREVOKED_REGISTRATION_ON_APARTMENT_SHUTDOWN Handle = 0x80004034 CO_E_PREMATURE_STUB_RUNDOWN Handle = 0x80004035 S_OK Handle = 0 S_FALSE Handle = 1 OLE_E_FIRST Handle = 0x80040000 OLE_E_LAST Handle = 0x800400FF OLE_S_FIRST Handle = 0x00040000 OLE_S_LAST Handle = 0x000400FF OLE_E_OLEVERB Handle = 0x80040000 OLE_E_ADVF Handle = 0x80040001 OLE_E_ENUM_NOMORE Handle = 0x80040002 OLE_E_ADVISENOTSUPPORTED Handle = 0x80040003 OLE_E_NOCONNECTION Handle = 0x80040004 OLE_E_NOTRUNNING Handle = 0x80040005 OLE_E_NOCACHE Handle = 0x80040006 OLE_E_BLANK Handle = 0x80040007 OLE_E_CLASSDIFF Handle = 0x80040008 OLE_E_CANT_GETMONIKER Handle = 0x80040009 OLE_E_CANT_BINDTOSOURCE Handle = 0x8004000A OLE_E_STATIC Handle = 0x8004000B OLE_E_PROMPTSAVECANCELLED Handle = 0x8004000C OLE_E_INVALIDRECT Handle = 0x8004000D OLE_E_WRONGCOMPOBJ Handle = 0x8004000E OLE_E_INVALIDHWND Handle = 0x8004000F OLE_E_NOT_INPLACEACTIVE Handle = 0x80040010 OLE_E_CANTCONVERT Handle = 0x80040011 OLE_E_NOSTORAGE Handle = 0x80040012 DV_E_FORMATETC Handle = 0x80040064 DV_E_DVTARGETDEVICE Handle = 0x80040065 DV_E_STGMEDIUM Handle = 0x80040066 DV_E_STATDATA Handle = 0x80040067 DV_E_LINDEX Handle = 0x80040068 DV_E_TYMED Handle = 0x80040069 DV_E_CLIPFORMAT Handle = 0x8004006A DV_E_DVASPECT Handle = 0x8004006B DV_E_DVTARGETDEVICE_SIZE Handle = 0x8004006C DV_E_NOIVIEWOBJECT Handle = 0x8004006D DRAGDROP_E_FIRST syscall.Errno = 0x80040100 DRAGDROP_E_LAST syscall.Errno = 0x8004010F DRAGDROP_S_FIRST syscall.Errno = 0x00040100 DRAGDROP_S_LAST syscall.Errno = 0x0004010F DRAGDROP_E_NOTREGISTERED Handle = 0x80040100 DRAGDROP_E_ALREADYREGISTERED Handle = 0x80040101 DRAGDROP_E_INVALIDHWND Handle = 0x80040102 DRAGDROP_E_CONCURRENT_DRAG_ATTEMPTED Handle = 0x80040103 CLASSFACTORY_E_FIRST syscall.Errno = 0x80040110 CLASSFACTORY_E_LAST syscall.Errno = 0x8004011F CLASSFACTORY_S_FIRST syscall.Errno = 0x00040110 CLASSFACTORY_S_LAST syscall.Errno = 0x0004011F CLASS_E_NOAGGREGATION Handle = 0x80040110 CLASS_E_CLASSNOTAVAILABLE Handle = 0x80040111 CLASS_E_NOTLICENSED Handle = 0x80040112 MARSHAL_E_FIRST syscall.Errno = 0x80040120 MARSHAL_E_LAST syscall.Errno = 0x8004012F MARSHAL_S_FIRST syscall.Errno = 0x00040120 MARSHAL_S_LAST syscall.Errno = 0x0004012F DATA_E_FIRST syscall.Errno = 0x80040130 DATA_E_LAST syscall.Errno = 0x8004013F DATA_S_FIRST syscall.Errno = 0x00040130 DATA_S_LAST syscall.Errno = 0x0004013F VIEW_E_FIRST syscall.Errno = 0x80040140 VIEW_E_LAST syscall.Errno = 0x8004014F VIEW_S_FIRST syscall.Errno = 0x00040140 VIEW_S_LAST syscall.Errno = 0x0004014F VIEW_E_DRAW Handle = 0x80040140 REGDB_E_FIRST syscall.Errno = 0x80040150 REGDB_E_LAST syscall.Errno = 0x8004015F REGDB_S_FIRST syscall.Errno = 0x00040150 REGDB_S_LAST syscall.Errno = 0x0004015F REGDB_E_READREGDB Handle = 0x80040150 REGDB_E_WRITEREGDB Handle = 0x80040151 REGDB_E_KEYMISSING Handle = 0x80040152 REGDB_E_INVALIDVALUE Handle = 0x80040153 REGDB_E_CLASSNOTREG Handle = 0x80040154 REGDB_E_IIDNOTREG Handle = 0x80040155 REGDB_E_BADTHREADINGMODEL Handle = 0x80040156 REGDB_E_PACKAGEPOLICYVIOLATION Handle = 0x80040157 CAT_E_FIRST syscall.Errno = 0x80040160 CAT_E_LAST syscall.Errno = 0x80040161 CAT_E_CATIDNOEXIST Handle = 0x80040160 CAT_E_NODESCRIPTION Handle = 0x80040161 CS_E_FIRST syscall.Errno = 0x80040164 CS_E_LAST syscall.Errno = 0x8004016F CS_E_PACKAGE_NOTFOUND Handle = 0x80040164 CS_E_NOT_DELETABLE Handle = 0x80040165 CS_E_CLASS_NOTFOUND Handle = 0x80040166 CS_E_INVALID_VERSION Handle = 0x80040167 CS_E_NO_CLASSSTORE Handle = 0x80040168 CS_E_OBJECT_NOTFOUND Handle = 0x80040169 CS_E_OBJECT_ALREADY_EXISTS Handle = 0x8004016A CS_E_INVALID_PATH Handle = 0x8004016B CS_E_NETWORK_ERROR Handle = 0x8004016C CS_E_ADMIN_LIMIT_EXCEEDED Handle = 0x8004016D CS_E_SCHEMA_MISMATCH Handle = 0x8004016E CS_E_INTERNAL_ERROR Handle = 0x8004016F CACHE_E_FIRST syscall.Errno = 0x80040170 CACHE_E_LAST syscall.Errno = 0x8004017F CACHE_S_FIRST syscall.Errno = 0x00040170 CACHE_S_LAST syscall.Errno = 0x0004017F CACHE_E_NOCACHE_UPDATED Handle = 0x80040170 OLEOBJ_E_FIRST syscall.Errno = 0x80040180 OLEOBJ_E_LAST syscall.Errno = 0x8004018F OLEOBJ_S_FIRST syscall.Errno = 0x00040180 OLEOBJ_S_LAST syscall.Errno = 0x0004018F OLEOBJ_E_NOVERBS Handle = 0x80040180 OLEOBJ_E_INVALIDVERB Handle = 0x80040181 CLIENTSITE_E_FIRST syscall.Errno = 0x80040190 CLIENTSITE_E_LAST syscall.Errno = 0x8004019F CLIENTSITE_S_FIRST syscall.Errno = 0x00040190 CLIENTSITE_S_LAST syscall.Errno = 0x0004019F INPLACE_E_NOTUNDOABLE Handle = 0x800401A0 INPLACE_E_NOTOOLSPACE Handle = 0x800401A1 INPLACE_E_FIRST syscall.Errno = 0x800401A0 INPLACE_E_LAST syscall.Errno = 0x800401AF INPLACE_S_FIRST syscall.Errno = 0x000401A0 INPLACE_S_LAST syscall.Errno = 0x000401AF ENUM_E_FIRST syscall.Errno = 0x800401B0 ENUM_E_LAST syscall.Errno = 0x800401BF ENUM_S_FIRST syscall.Errno = 0x000401B0 ENUM_S_LAST syscall.Errno = 0x000401BF CONVERT10_E_FIRST syscall.Errno = 0x800401C0 CONVERT10_E_LAST syscall.Errno = 0x800401CF CONVERT10_S_FIRST syscall.Errno = 0x000401C0 CONVERT10_S_LAST syscall.Errno = 0x000401CF CONVERT10_E_OLESTREAM_GET Handle = 0x800401C0 CONVERT10_E_OLESTREAM_PUT Handle = 0x800401C1 CONVERT10_E_OLESTREAM_FMT Handle = 0x800401C2 CONVERT10_E_OLESTREAM_BITMAP_TO_DIB Handle = 0x800401C3 CONVERT10_E_STG_FMT Handle = 0x800401C4 CONVERT10_E_STG_NO_STD_STREAM Handle = 0x800401C5 CONVERT10_E_STG_DIB_TO_BITMAP Handle = 0x800401C6 CLIPBRD_E_FIRST syscall.Errno = 0x800401D0 CLIPBRD_E_LAST syscall.Errno = 0x800401DF CLIPBRD_S_FIRST syscall.Errno = 0x000401D0 CLIPBRD_S_LAST syscall.Errno = 0x000401DF CLIPBRD_E_CANT_OPEN Handle = 0x800401D0 CLIPBRD_E_CANT_EMPTY Handle = 0x800401D1 CLIPBRD_E_CANT_SET Handle = 0x800401D2 CLIPBRD_E_BAD_DATA Handle = 0x800401D3 CLIPBRD_E_CANT_CLOSE Handle = 0x800401D4 MK_E_FIRST syscall.Errno = 0x800401E0 MK_E_LAST syscall.Errno = 0x800401EF MK_S_FIRST syscall.Errno = 0x000401E0 MK_S_LAST syscall.Errno = 0x000401EF MK_E_CONNECTMANUALLY Handle = 0x800401E0 MK_E_EXCEEDEDDEADLINE Handle = 0x800401E1 MK_E_NEEDGENERIC Handle = 0x800401E2 MK_E_UNAVAILABLE Handle = 0x800401E3 MK_E_SYNTAX Handle = 0x800401E4 MK_E_NOOBJECT Handle = 0x800401E5 MK_E_INVALIDEXTENSION Handle = 0x800401E6 MK_E_INTERMEDIATEINTERFACENOTSUPPORTED Handle = 0x800401E7 MK_E_NOTBINDABLE Handle = 0x800401E8 MK_E_NOTBOUND Handle = 0x800401E9 MK_E_CANTOPENFILE Handle = 0x800401EA MK_E_MUSTBOTHERUSER Handle = 0x800401EB MK_E_NOINVERSE Handle = 0x800401EC MK_E_NOSTORAGE Handle = 0x800401ED MK_E_NOPREFIX Handle = 0x800401EE MK_E_ENUMERATION_FAILED Handle = 0x800401EF CO_E_FIRST syscall.Errno = 0x800401F0 CO_E_LAST syscall.Errno = 0x800401FF CO_S_FIRST syscall.Errno = 0x000401F0 CO_S_LAST syscall.Errno = 0x000401FF CO_E_NOTINITIALIZED Handle = 0x800401F0 CO_E_ALREADYINITIALIZED Handle = 0x800401F1 CO_E_CANTDETERMINECLASS Handle = 0x800401F2 CO_E_CLASSSTRING Handle = 0x800401F3 CO_E_IIDSTRING Handle = 0x800401F4 CO_E_APPNOTFOUND Handle = 0x800401F5 CO_E_APPSINGLEUSE Handle = 0x800401F6 CO_E_ERRORINAPP Handle = 0x800401F7 CO_E_DLLNOTFOUND Handle = 0x800401F8 CO_E_ERRORINDLL Handle = 0x800401F9 CO_E_WRONGOSFORAPP Handle = 0x800401FA CO_E_OBJNOTREG Handle = 0x800401FB CO_E_OBJISREG Handle = 0x800401FC CO_E_OBJNOTCONNECTED Handle = 0x800401FD CO_E_APPDIDNTREG Handle = 0x800401FE CO_E_RELEASED Handle = 0x800401FF EVENT_E_FIRST syscall.Errno = 0x80040200 EVENT_E_LAST syscall.Errno = 0x8004021F EVENT_S_FIRST syscall.Errno = 0x00040200 EVENT_S_LAST syscall.Errno = 0x0004021F EVENT_S_SOME_SUBSCRIBERS_FAILED Handle = 0x00040200 EVENT_E_ALL_SUBSCRIBERS_FAILED Handle = 0x80040201 EVENT_S_NOSUBSCRIBERS Handle = 0x00040202 EVENT_E_QUERYSYNTAX Handle = 0x80040203 EVENT_E_QUERYFIELD Handle = 0x80040204 EVENT_E_INTERNALEXCEPTION Handle = 0x80040205 EVENT_E_INTERNALERROR Handle = 0x80040206 EVENT_E_INVALID_PER_USER_SID Handle = 0x80040207 EVENT_E_USER_EXCEPTION Handle = 0x80040208 EVENT_E_TOO_MANY_METHODS Handle = 0x80040209 EVENT_E_MISSING_EVENTCLASS Handle = 0x8004020A EVENT_E_NOT_ALL_REMOVED Handle = 0x8004020B EVENT_E_COMPLUS_NOT_INSTALLED Handle = 0x8004020C EVENT_E_CANT_MODIFY_OR_DELETE_UNCONFIGURED_OBJECT Handle = 0x8004020D EVENT_E_CANT_MODIFY_OR_DELETE_CONFIGURED_OBJECT Handle = 0x8004020E EVENT_E_INVALID_EVENT_CLASS_PARTITION Handle = 0x8004020F EVENT_E_PER_USER_SID_NOT_LOGGED_ON Handle = 0x80040210 TPC_E_INVALID_PROPERTY Handle = 0x80040241 TPC_E_NO_DEFAULT_TABLET Handle = 0x80040212 TPC_E_UNKNOWN_PROPERTY Handle = 0x8004021B TPC_E_INVALID_INPUT_RECT Handle = 0x80040219 TPC_E_INVALID_STROKE Handle = 0x80040222 TPC_E_INITIALIZE_FAIL Handle = 0x80040223 TPC_E_NOT_RELEVANT Handle = 0x80040232 TPC_E_INVALID_PACKET_DESCRIPTION Handle = 0x80040233 TPC_E_RECOGNIZER_NOT_REGISTERED Handle = 0x80040235 TPC_E_INVALID_RIGHTS Handle = 0x80040236 TPC_E_OUT_OF_ORDER_CALL Handle = 0x80040237 TPC_E_QUEUE_FULL Handle = 0x80040238 TPC_E_INVALID_CONFIGURATION Handle = 0x80040239 TPC_E_INVALID_DATA_FROM_RECOGNIZER Handle = 0x8004023A TPC_S_TRUNCATED Handle = 0x00040252 TPC_S_INTERRUPTED Handle = 0x00040253 TPC_S_NO_DATA_TO_PROCESS Handle = 0x00040254 XACT_E_FIRST syscall.Errno = 0x8004D000 XACT_E_LAST syscall.Errno = 0x8004D02B XACT_S_FIRST syscall.Errno = 0x0004D000 XACT_S_LAST syscall.Errno = 0x0004D010 XACT_E_ALREADYOTHERSINGLEPHASE Handle = 0x8004D000 XACT_E_CANTRETAIN Handle = 0x8004D001 XACT_E_COMMITFAILED Handle = 0x8004D002 XACT_E_COMMITPREVENTED Handle = 0x8004D003 XACT_E_HEURISTICABORT Handle = 0x8004D004 XACT_E_HEURISTICCOMMIT Handle = 0x8004D005 XACT_E_HEURISTICDAMAGE Handle = 0x8004D006 XACT_E_HEURISTICDANGER Handle = 0x8004D007 XACT_E_ISOLATIONLEVEL Handle = 0x8004D008 XACT_E_NOASYNC Handle = 0x8004D009 XACT_E_NOENLIST Handle = 0x8004D00A XACT_E_NOISORETAIN Handle = 0x8004D00B XACT_E_NORESOURCE Handle = 0x8004D00C XACT_E_NOTCURRENT Handle = 0x8004D00D XACT_E_NOTRANSACTION Handle = 0x8004D00E XACT_E_NOTSUPPORTED Handle = 0x8004D00F XACT_E_UNKNOWNRMGRID Handle = 0x8004D010 XACT_E_WRONGSTATE Handle = 0x8004D011 XACT_E_WRONGUOW Handle = 0x8004D012 XACT_E_XTIONEXISTS Handle = 0x8004D013 XACT_E_NOIMPORTOBJECT Handle = 0x8004D014 XACT_E_INVALIDCOOKIE Handle = 0x8004D015 XACT_E_INDOUBT Handle = 0x8004D016 XACT_E_NOTIMEOUT Handle = 0x8004D017 XACT_E_ALREADYINPROGRESS Handle = 0x8004D018 XACT_E_ABORTED Handle = 0x8004D019 XACT_E_LOGFULL Handle = 0x8004D01A XACT_E_TMNOTAVAILABLE Handle = 0x8004D01B XACT_E_CONNECTION_DOWN Handle = 0x8004D01C XACT_E_CONNECTION_DENIED Handle = 0x8004D01D XACT_E_REENLISTTIMEOUT Handle = 0x8004D01E XACT_E_TIP_CONNECT_FAILED Handle = 0x8004D01F XACT_E_TIP_PROTOCOL_ERROR Handle = 0x8004D020 XACT_E_TIP_PULL_FAILED Handle = 0x8004D021 XACT_E_DEST_TMNOTAVAILABLE Handle = 0x8004D022 XACT_E_TIP_DISABLED Handle = 0x8004D023 XACT_E_NETWORK_TX_DISABLED Handle = 0x8004D024 XACT_E_PARTNER_NETWORK_TX_DISABLED Handle = 0x8004D025 XACT_E_XA_TX_DISABLED Handle = 0x8004D026 XACT_E_UNABLE_TO_READ_DTC_CONFIG Handle = 0x8004D027 XACT_E_UNABLE_TO_LOAD_DTC_PROXY Handle = 0x8004D028 XACT_E_ABORTING Handle = 0x8004D029 XACT_E_PUSH_COMM_FAILURE Handle = 0x8004D02A XACT_E_PULL_COMM_FAILURE Handle = 0x8004D02B XACT_E_LU_TX_DISABLED Handle = 0x8004D02C XACT_E_CLERKNOTFOUND Handle = 0x8004D080 XACT_E_CLERKEXISTS Handle = 0x8004D081 XACT_E_RECOVERYINPROGRESS Handle = 0x8004D082 XACT_E_TRANSACTIONCLOSED Handle = 0x8004D083 XACT_E_INVALIDLSN Handle = 0x8004D084 XACT_E_REPLAYREQUEST Handle = 0x8004D085 XACT_S_ASYNC Handle = 0x0004D000 XACT_S_DEFECT Handle = 0x0004D001 XACT_S_READONLY Handle = 0x0004D002 XACT_S_SOMENORETAIN Handle = 0x0004D003 XACT_S_OKINFORM Handle = 0x0004D004 XACT_S_MADECHANGESCONTENT Handle = 0x0004D005 XACT_S_MADECHANGESINFORM Handle = 0x0004D006 XACT_S_ALLNORETAIN Handle = 0x0004D007 XACT_S_ABORTING Handle = 0x0004D008 XACT_S_SINGLEPHASE Handle = 0x0004D009 XACT_S_LOCALLY_OK Handle = 0x0004D00A XACT_S_LASTRESOURCEMANAGER Handle = 0x0004D010 CONTEXT_E_FIRST syscall.Errno = 0x8004E000 CONTEXT_E_LAST syscall.Errno = 0x8004E02F CONTEXT_S_FIRST syscall.Errno = 0x0004E000 CONTEXT_S_LAST syscall.Errno = 0x0004E02F CONTEXT_E_ABORTED Handle = 0x8004E002 CONTEXT_E_ABORTING Handle = 0x8004E003 CONTEXT_E_NOCONTEXT Handle = 0x8004E004 CONTEXT_E_WOULD_DEADLOCK Handle = 0x8004E005 CONTEXT_E_SYNCH_TIMEOUT Handle = 0x8004E006 CONTEXT_E_OLDREF Handle = 0x8004E007 CONTEXT_E_ROLENOTFOUND Handle = 0x8004E00C CONTEXT_E_TMNOTAVAILABLE Handle = 0x8004E00F CO_E_ACTIVATIONFAILED Handle = 0x8004E021 CO_E_ACTIVATIONFAILED_EVENTLOGGED Handle = 0x8004E022 CO_E_ACTIVATIONFAILED_CATALOGERROR Handle = 0x8004E023 CO_E_ACTIVATIONFAILED_TIMEOUT Handle = 0x8004E024 CO_E_INITIALIZATIONFAILED Handle = 0x8004E025 CONTEXT_E_NOJIT Handle = 0x8004E026 CONTEXT_E_NOTRANSACTION Handle = 0x8004E027 CO_E_THREADINGMODEL_CHANGED Handle = 0x8004E028 CO_E_NOIISINTRINSICS Handle = 0x8004E029 CO_E_NOCOOKIES Handle = 0x8004E02A CO_E_DBERROR Handle = 0x8004E02B CO_E_NOTPOOLED Handle = 0x8004E02C CO_E_NOTCONSTRUCTED Handle = 0x8004E02D CO_E_NOSYNCHRONIZATION Handle = 0x8004E02E CO_E_ISOLEVELMISMATCH Handle = 0x8004E02F CO_E_CALL_OUT_OF_TX_SCOPE_NOT_ALLOWED Handle = 0x8004E030 CO_E_EXIT_TRANSACTION_SCOPE_NOT_CALLED Handle = 0x8004E031 OLE_S_USEREG Handle = 0x00040000 OLE_S_STATIC Handle = 0x00040001 OLE_S_MAC_CLIPFORMAT Handle = 0x00040002 DRAGDROP_S_DROP Handle = 0x00040100 DRAGDROP_S_CANCEL Handle = 0x00040101 DRAGDROP_S_USEDEFAULTCURSORS Handle = 0x00040102 DATA_S_SAMEFORMATETC Handle = 0x00040130 VIEW_S_ALREADY_FROZEN Handle = 0x00040140 CACHE_S_FORMATETC_NOTSUPPORTED Handle = 0x00040170 CACHE_S_SAMECACHE Handle = 0x00040171 CACHE_S_SOMECACHES_NOTUPDATED Handle = 0x00040172 OLEOBJ_S_INVALIDVERB Handle = 0x00040180 OLEOBJ_S_CANNOT_DOVERB_NOW Handle = 0x00040181 OLEOBJ_S_INVALIDHWND Handle = 0x00040182 INPLACE_S_TRUNCATED Handle = 0x000401A0 CONVERT10_S_NO_PRESENTATION Handle = 0x000401C0 MK_S_REDUCED_TO_SELF Handle = 0x000401E2 MK_S_ME Handle = 0x000401E4 MK_S_HIM Handle = 0x000401E5 MK_S_US Handle = 0x000401E6 MK_S_MONIKERALREADYREGISTERED Handle = 0x000401E7 SCHED_S_TASK_READY Handle = 0x00041300 SCHED_S_TASK_RUNNING Handle = 0x00041301 SCHED_S_TASK_DISABLED Handle = 0x00041302 SCHED_S_TASK_HAS_NOT_RUN Handle = 0x00041303 SCHED_S_TASK_NO_MORE_RUNS Handle = 0x00041304 SCHED_S_TASK_NOT_SCHEDULED Handle = 0x00041305 SCHED_S_TASK_TERMINATED Handle = 0x00041306 SCHED_S_TASK_NO_VALID_TRIGGERS Handle = 0x00041307 SCHED_S_EVENT_TRIGGER Handle = 0x00041308 SCHED_E_TRIGGER_NOT_FOUND Handle = 0x80041309 SCHED_E_TASK_NOT_READY Handle = 0x8004130A SCHED_E_TASK_NOT_RUNNING Handle = 0x8004130B SCHED_E_SERVICE_NOT_INSTALLED Handle = 0x8004130C SCHED_E_CANNOT_OPEN_TASK Handle = 0x8004130D SCHED_E_INVALID_TASK Handle = 0x8004130E SCHED_E_ACCOUNT_INFORMATION_NOT_SET Handle = 0x8004130F SCHED_E_ACCOUNT_NAME_NOT_FOUND Handle = 0x80041310 SCHED_E_ACCOUNT_DBASE_CORRUPT Handle = 0x80041311 SCHED_E_NO_SECURITY_SERVICES Handle = 0x80041312 SCHED_E_UNKNOWN_OBJECT_VERSION Handle = 0x80041313 SCHED_E_UNSUPPORTED_ACCOUNT_OPTION Handle = 0x80041314 SCHED_E_SERVICE_NOT_RUNNING Handle = 0x80041315 SCHED_E_UNEXPECTEDNODE Handle = 0x80041316 SCHED_E_NAMESPACE Handle = 0x80041317 SCHED_E_INVALIDVALUE Handle = 0x80041318 SCHED_E_MISSINGNODE Handle = 0x80041319 SCHED_E_MALFORMEDXML Handle = 0x8004131A SCHED_S_SOME_TRIGGERS_FAILED Handle = 0x0004131B SCHED_S_BATCH_LOGON_PROBLEM Handle = 0x0004131C SCHED_E_TOO_MANY_NODES Handle = 0x8004131D SCHED_E_PAST_END_BOUNDARY Handle = 0x8004131E SCHED_E_ALREADY_RUNNING Handle = 0x8004131F SCHED_E_USER_NOT_LOGGED_ON Handle = 0x80041320 SCHED_E_INVALID_TASK_HASH Handle = 0x80041321 SCHED_E_SERVICE_NOT_AVAILABLE Handle = 0x80041322 SCHED_E_SERVICE_TOO_BUSY Handle = 0x80041323 SCHED_E_TASK_ATTEMPTED Handle = 0x80041324 SCHED_S_TASK_QUEUED Handle = 0x00041325 SCHED_E_TASK_DISABLED Handle = 0x80041326 SCHED_E_TASK_NOT_V1_COMPAT Handle = 0x80041327 SCHED_E_START_ON_DEMAND Handle = 0x80041328 SCHED_E_TASK_NOT_UBPM_COMPAT Handle = 0x80041329 SCHED_E_DEPRECATED_FEATURE_USED Handle = 0x80041330 CO_E_CLASS_CREATE_FAILED Handle = 0x80080001 CO_E_SCM_ERROR Handle = 0x80080002 CO_E_SCM_RPC_FAILURE Handle = 0x80080003 CO_E_BAD_PATH Handle = 0x80080004 CO_E_SERVER_EXEC_FAILURE Handle = 0x80080005 CO_E_OBJSRV_RPC_FAILURE Handle = 0x80080006 MK_E_NO_NORMALIZED Handle = 0x80080007 CO_E_SERVER_STOPPING Handle = 0x80080008 MEM_E_INVALID_ROOT Handle = 0x80080009 MEM_E_INVALID_LINK Handle = 0x80080010 MEM_E_INVALID_SIZE Handle = 0x80080011 CO_S_NOTALLINTERFACES Handle = 0x00080012 CO_S_MACHINENAMENOTFOUND Handle = 0x00080013 CO_E_MISSING_DISPLAYNAME Handle = 0x80080015 CO_E_RUNAS_VALUE_MUST_BE_AAA Handle = 0x80080016 CO_E_ELEVATION_DISABLED Handle = 0x80080017 APPX_E_PACKAGING_INTERNAL Handle = 0x80080200 APPX_E_INTERLEAVING_NOT_ALLOWED Handle = 0x80080201 APPX_E_RELATIONSHIPS_NOT_ALLOWED Handle = 0x80080202 APPX_E_MISSING_REQUIRED_FILE Handle = 0x80080203 APPX_E_INVALID_MANIFEST Handle = 0x80080204 APPX_E_INVALID_BLOCKMAP Handle = 0x80080205 APPX_E_CORRUPT_CONTENT Handle = 0x80080206 APPX_E_BLOCK_HASH_INVALID Handle = 0x80080207 APPX_E_REQUESTED_RANGE_TOO_LARGE Handle = 0x80080208 APPX_E_INVALID_SIP_CLIENT_DATA Handle = 0x80080209 APPX_E_INVALID_KEY_INFO Handle = 0x8008020A APPX_E_INVALID_CONTENTGROUPMAP Handle = 0x8008020B APPX_E_INVALID_APPINSTALLER Handle = 0x8008020C APPX_E_DELTA_BASELINE_VERSION_MISMATCH Handle = 0x8008020D APPX_E_DELTA_PACKAGE_MISSING_FILE Handle = 0x8008020E APPX_E_INVALID_DELTA_PACKAGE Handle = 0x8008020F APPX_E_DELTA_APPENDED_PACKAGE_NOT_ALLOWED Handle = 0x80080210 APPX_E_INVALID_PACKAGING_LAYOUT Handle = 0x80080211 APPX_E_INVALID_PACKAGESIGNCONFIG Handle = 0x80080212 APPX_E_RESOURCESPRI_NOT_ALLOWED Handle = 0x80080213 APPX_E_FILE_COMPRESSION_MISMATCH Handle = 0x80080214 APPX_E_INVALID_PAYLOAD_PACKAGE_EXTENSION Handle = 0x80080215 APPX_E_INVALID_ENCRYPTION_EXCLUSION_FILE_LIST Handle = 0x80080216 BT_E_SPURIOUS_ACTIVATION Handle = 0x80080300 DISP_E_UNKNOWNINTERFACE Handle = 0x80020001 DISP_E_MEMBERNOTFOUND Handle = 0x80020003 DISP_E_PARAMNOTFOUND Handle = 0x80020004 DISP_E_TYPEMISMATCH Handle = 0x80020005 DISP_E_UNKNOWNNAME Handle = 0x80020006 DISP_E_NONAMEDARGS Handle = 0x80020007 DISP_E_BADVARTYPE Handle = 0x80020008 DISP_E_EXCEPTION Handle = 0x80020009 DISP_E_OVERFLOW Handle = 0x8002000A DISP_E_BADINDEX Handle = 0x8002000B DISP_E_UNKNOWNLCID Handle = 0x8002000C DISP_E_ARRAYISLOCKED Handle = 0x8002000D DISP_E_BADPARAMCOUNT Handle = 0x8002000E DISP_E_PARAMNOTOPTIONAL Handle = 0x8002000F DISP_E_BADCALLEE Handle = 0x80020010 DISP_E_NOTACOLLECTION Handle = 0x80020011 DISP_E_DIVBYZERO Handle = 0x80020012 DISP_E_BUFFERTOOSMALL Handle = 0x80020013 TYPE_E_BUFFERTOOSMALL Handle = 0x80028016 TYPE_E_FIELDNOTFOUND Handle = 0x80028017 TYPE_E_INVDATAREAD Handle = 0x80028018 TYPE_E_UNSUPFORMAT Handle = 0x80028019 TYPE_E_REGISTRYACCESS Handle = 0x8002801C TYPE_E_LIBNOTREGISTERED Handle = 0x8002801D TYPE_E_UNDEFINEDTYPE Handle = 0x80028027 TYPE_E_QUALIFIEDNAMEDISALLOWED Handle = 0x80028028 TYPE_E_INVALIDSTATE Handle = 0x80028029 TYPE_E_WRONGTYPEKIND Handle = 0x8002802A TYPE_E_ELEMENTNOTFOUND Handle = 0x8002802B TYPE_E_AMBIGUOUSNAME Handle = 0x8002802C TYPE_E_NAMECONFLICT Handle = 0x8002802D TYPE_E_UNKNOWNLCID Handle = 0x8002802E TYPE_E_DLLFUNCTIONNOTFOUND Handle = 0x8002802F TYPE_E_BADMODULEKIND Handle = 0x800288BD TYPE_E_SIZETOOBIG Handle = 0x800288C5 TYPE_E_DUPLICATEID Handle = 0x800288C6 TYPE_E_INVALIDID Handle = 0x800288CF TYPE_E_TYPEMISMATCH Handle = 0x80028CA0 TYPE_E_OUTOFBOUNDS Handle = 0x80028CA1 TYPE_E_IOERROR Handle = 0x80028CA2 TYPE_E_CANTCREATETMPFILE Handle = 0x80028CA3 TYPE_E_CANTLOADLIBRARY Handle = 0x80029C4A TYPE_E_INCONSISTENTPROPFUNCS Handle = 0x80029C83 TYPE_E_CIRCULARTYPE Handle = 0x80029C84 STG_E_INVALIDFUNCTION Handle = 0x80030001 STG_E_FILENOTFOUND Handle = 0x80030002 STG_E_PATHNOTFOUND Handle = 0x80030003 STG_E_TOOMANYOPENFILES Handle = 0x80030004 STG_E_ACCESSDENIED Handle = 0x80030005 STG_E_INVALIDHANDLE Handle = 0x80030006 STG_E_INSUFFICIENTMEMORY Handle = 0x80030008 STG_E_INVALIDPOINTER Handle = 0x80030009 STG_E_NOMOREFILES Handle = 0x80030012 STG_E_DISKISWRITEPROTECTED Handle = 0x80030013 STG_E_SEEKERROR Handle = 0x80030019 STG_E_WRITEFAULT Handle = 0x8003001D STG_E_READFAULT Handle = 0x8003001E STG_E_SHAREVIOLATION Handle = 0x80030020 STG_E_LOCKVIOLATION Handle = 0x80030021 STG_E_FILEALREADYEXISTS Handle = 0x80030050 STG_E_INVALIDPARAMETER Handle = 0x80030057 STG_E_MEDIUMFULL Handle = 0x80030070 STG_E_PROPSETMISMATCHED Handle = 0x800300F0 STG_E_ABNORMALAPIEXIT Handle = 0x800300FA STG_E_INVALIDHEADER Handle = 0x800300FB STG_E_INVALIDNAME Handle = 0x800300FC STG_E_UNKNOWN Handle = 0x800300FD STG_E_UNIMPLEMENTEDFUNCTION Handle = 0x800300FE STG_E_INVALIDFLAG Handle = 0x800300FF STG_E_INUSE Handle = 0x80030100 STG_E_NOTCURRENT Handle = 0x80030101 STG_E_REVERTED Handle = 0x80030102 STG_E_CANTSAVE Handle = 0x80030103 STG_E_OLDFORMAT Handle = 0x80030104 STG_E_OLDDLL Handle = 0x80030105 STG_E_SHAREREQUIRED Handle = 0x80030106 STG_E_NOTFILEBASEDSTORAGE Handle = 0x80030107 STG_E_EXTANTMARSHALLINGS Handle = 0x80030108 STG_E_DOCFILECORRUPT Handle = 0x80030109 STG_E_BADBASEADDRESS Handle = 0x80030110 STG_E_DOCFILETOOLARGE Handle = 0x80030111 STG_E_NOTSIMPLEFORMAT Handle = 0x80030112 STG_E_INCOMPLETE Handle = 0x80030201 STG_E_TERMINATED Handle = 0x80030202 STG_S_CONVERTED Handle = 0x00030200 STG_S_BLOCK Handle = 0x00030201 STG_S_RETRYNOW Handle = 0x00030202 STG_S_MONITORING Handle = 0x00030203 STG_S_MULTIPLEOPENS Handle = 0x00030204 STG_S_CONSOLIDATIONFAILED Handle = 0x00030205 STG_S_CANNOTCONSOLIDATE Handle = 0x00030206 STG_S_POWER_CYCLE_REQUIRED Handle = 0x00030207 STG_E_FIRMWARE_SLOT_INVALID Handle = 0x80030208 STG_E_FIRMWARE_IMAGE_INVALID Handle = 0x80030209 STG_E_DEVICE_UNRESPONSIVE Handle = 0x8003020A STG_E_STATUS_COPY_PROTECTION_FAILURE Handle = 0x80030305 STG_E_CSS_AUTHENTICATION_FAILURE Handle = 0x80030306 STG_E_CSS_KEY_NOT_PRESENT Handle = 0x80030307 STG_E_CSS_KEY_NOT_ESTABLISHED Handle = 0x80030308 STG_E_CSS_SCRAMBLED_SECTOR Handle = 0x80030309 STG_E_CSS_REGION_MISMATCH Handle = 0x8003030A STG_E_RESETS_EXHAUSTED Handle = 0x8003030B RPC_E_CALL_REJECTED Handle = 0x80010001 RPC_E_CALL_CANCELED Handle = 0x80010002 RPC_E_CANTPOST_INSENDCALL Handle = 0x80010003 RPC_E_CANTCALLOUT_INASYNCCALL Handle = 0x80010004 RPC_E_CANTCALLOUT_INEXTERNALCALL Handle = 0x80010005 RPC_E_CONNECTION_TERMINATED Handle = 0x80010006 RPC_E_SERVER_DIED Handle = 0x80010007 RPC_E_CLIENT_DIED Handle = 0x80010008 RPC_E_INVALID_DATAPACKET Handle = 0x80010009 RPC_E_CANTTRANSMIT_CALL Handle = 0x8001000A RPC_E_CLIENT_CANTMARSHAL_DATA Handle = 0x8001000B RPC_E_CLIENT_CANTUNMARSHAL_DATA Handle = 0x8001000C RPC_E_SERVER_CANTMARSHAL_DATA Handle = 0x8001000D RPC_E_SERVER_CANTUNMARSHAL_DATA Handle = 0x8001000E RPC_E_INVALID_DATA Handle = 0x8001000F RPC_E_INVALID_PARAMETER Handle = 0x80010010 RPC_E_CANTCALLOUT_AGAIN Handle = 0x80010011 RPC_E_SERVER_DIED_DNE Handle = 0x80010012 RPC_E_SYS_CALL_FAILED Handle = 0x80010100 RPC_E_OUT_OF_RESOURCES Handle = 0x80010101 RPC_E_ATTEMPTED_MULTITHREAD Handle = 0x80010102 RPC_E_NOT_REGISTERED Handle = 0x80010103 RPC_E_FAULT Handle = 0x80010104 RPC_E_SERVERFAULT Handle = 0x80010105 RPC_E_CHANGED_MODE Handle = 0x80010106 RPC_E_INVALIDMETHOD Handle = 0x80010107 RPC_E_DISCONNECTED Handle = 0x80010108 RPC_E_RETRY Handle = 0x80010109 RPC_E_SERVERCALL_RETRYLATER Handle = 0x8001010A RPC_E_SERVERCALL_REJECTED Handle = 0x8001010B RPC_E_INVALID_CALLDATA Handle = 0x8001010C RPC_E_CANTCALLOUT_ININPUTSYNCCALL Handle = 0x8001010D RPC_E_WRONG_THREAD Handle = 0x8001010E RPC_E_THREAD_NOT_INIT Handle = 0x8001010F RPC_E_VERSION_MISMATCH Handle = 0x80010110 RPC_E_INVALID_HEADER Handle = 0x80010111 RPC_E_INVALID_EXTENSION Handle = 0x80010112 RPC_E_INVALID_IPID Handle = 0x80010113 RPC_E_INVALID_OBJECT Handle = 0x80010114 RPC_S_CALLPENDING Handle = 0x80010115 RPC_S_WAITONTIMER Handle = 0x80010116 RPC_E_CALL_COMPLETE Handle = 0x80010117 RPC_E_UNSECURE_CALL Handle = 0x80010118 RPC_E_TOO_LATE Handle = 0x80010119 RPC_E_NO_GOOD_SECURITY_PACKAGES Handle = 0x8001011A RPC_E_ACCESS_DENIED Handle = 0x8001011B RPC_E_REMOTE_DISABLED Handle = 0x8001011C RPC_E_INVALID_OBJREF Handle = 0x8001011D RPC_E_NO_CONTEXT Handle = 0x8001011E RPC_E_TIMEOUT Handle = 0x8001011F RPC_E_NO_SYNC Handle = 0x80010120 RPC_E_FULLSIC_REQUIRED Handle = 0x80010121 RPC_E_INVALID_STD_NAME Handle = 0x80010122 CO_E_FAILEDTOIMPERSONATE Handle = 0x80010123 CO_E_FAILEDTOGETSECCTX Handle = 0x80010124 CO_E_FAILEDTOOPENTHREADTOKEN Handle = 0x80010125 CO_E_FAILEDTOGETTOKENINFO Handle = 0x80010126 CO_E_TRUSTEEDOESNTMATCHCLIENT Handle = 0x80010127 CO_E_FAILEDTOQUERYCLIENTBLANKET Handle = 0x80010128 CO_E_FAILEDTOSETDACL Handle = 0x80010129 CO_E_ACCESSCHECKFAILED Handle = 0x8001012A CO_E_NETACCESSAPIFAILED Handle = 0x8001012B CO_E_WRONGTRUSTEENAMESYNTAX Handle = 0x8001012C CO_E_INVALIDSID Handle = 0x8001012D CO_E_CONVERSIONFAILED Handle = 0x8001012E CO_E_NOMATCHINGSIDFOUND Handle = 0x8001012F CO_E_LOOKUPACCSIDFAILED Handle = 0x80010130 CO_E_NOMATCHINGNAMEFOUND Handle = 0x80010131 CO_E_LOOKUPACCNAMEFAILED Handle = 0x80010132 CO_E_SETSERLHNDLFAILED Handle = 0x80010133 CO_E_FAILEDTOGETWINDIR Handle = 0x80010134 CO_E_PATHTOOLONG Handle = 0x80010135 CO_E_FAILEDTOGENUUID Handle = 0x80010136 CO_E_FAILEDTOCREATEFILE Handle = 0x80010137 CO_E_FAILEDTOCLOSEHANDLE Handle = 0x80010138 CO_E_EXCEEDSYSACLLIMIT Handle = 0x80010139 CO_E_ACESINWRONGORDER Handle = 0x8001013A CO_E_INCOMPATIBLESTREAMVERSION Handle = 0x8001013B CO_E_FAILEDTOOPENPROCESSTOKEN Handle = 0x8001013C CO_E_DECODEFAILED Handle = 0x8001013D CO_E_ACNOTINITIALIZED Handle = 0x8001013F CO_E_CANCEL_DISABLED Handle = 0x80010140 RPC_E_UNEXPECTED Handle = 0x8001FFFF ERROR_AUDITING_DISABLED Handle = 0xC0090001 ERROR_ALL_SIDS_FILTERED Handle = 0xC0090002 ERROR_BIZRULES_NOT_ENABLED Handle = 0xC0090003 NTE_BAD_UID Handle = 0x80090001 NTE_BAD_HASH Handle = 0x80090002 NTE_BAD_KEY Handle = 0x80090003 NTE_BAD_LEN Handle = 0x80090004 NTE_BAD_DATA Handle = 0x80090005 NTE_BAD_SIGNATURE Handle = 0x80090006 NTE_BAD_VER Handle = 0x80090007 NTE_BAD_ALGID Handle = 0x80090008 NTE_BAD_FLAGS Handle = 0x80090009 NTE_BAD_TYPE Handle = 0x8009000A NTE_BAD_KEY_STATE Handle = 0x8009000B NTE_BAD_HASH_STATE Handle = 0x8009000C NTE_NO_KEY Handle = 0x8009000D NTE_NO_MEMORY Handle = 0x8009000E NTE_EXISTS Handle = 0x8009000F NTE_PERM Handle = 0x80090010 NTE_NOT_FOUND Handle = 0x80090011 NTE_DOUBLE_ENCRYPT Handle = 0x80090012 NTE_BAD_PROVIDER Handle = 0x80090013 NTE_BAD_PROV_TYPE Handle = 0x80090014 NTE_BAD_PUBLIC_KEY Handle = 0x80090015 NTE_BAD_KEYSET Handle = 0x80090016 NTE_PROV_TYPE_NOT_DEF Handle = 0x80090017 NTE_PROV_TYPE_ENTRY_BAD Handle = 0x80090018 NTE_KEYSET_NOT_DEF Handle = 0x80090019 NTE_KEYSET_ENTRY_BAD Handle = 0x8009001A NTE_PROV_TYPE_NO_MATCH Handle = 0x8009001B NTE_SIGNATURE_FILE_BAD Handle = 0x8009001C NTE_PROVIDER_DLL_FAIL Handle = 0x8009001D NTE_PROV_DLL_NOT_FOUND Handle = 0x8009001E NTE_BAD_KEYSET_PARAM Handle = 0x8009001F NTE_FAIL Handle = 0x80090020 NTE_SYS_ERR Handle = 0x80090021 NTE_SILENT_CONTEXT Handle = 0x80090022 NTE_TOKEN_KEYSET_STORAGE_FULL Handle = 0x80090023 NTE_TEMPORARY_PROFILE Handle = 0x80090024 NTE_FIXEDPARAMETER Handle = 0x80090025 NTE_INVALID_HANDLE Handle = 0x80090026 NTE_INVALID_PARAMETER Handle = 0x80090027 NTE_BUFFER_TOO_SMALL Handle = 0x80090028 NTE_NOT_SUPPORTED Handle = 0x80090029 NTE_NO_MORE_ITEMS Handle = 0x8009002A NTE_BUFFERS_OVERLAP Handle = 0x8009002B NTE_DECRYPTION_FAILURE Handle = 0x8009002C NTE_INTERNAL_ERROR Handle = 0x8009002D NTE_UI_REQUIRED Handle = 0x8009002E NTE_HMAC_NOT_SUPPORTED Handle = 0x8009002F NTE_DEVICE_NOT_READY Handle = 0x80090030 NTE_AUTHENTICATION_IGNORED Handle = 0x80090031 NTE_VALIDATION_FAILED Handle = 0x80090032 NTE_INCORRECT_PASSWORD Handle = 0x80090033 NTE_ENCRYPTION_FAILURE Handle = 0x80090034 NTE_DEVICE_NOT_FOUND Handle = 0x80090035 NTE_USER_CANCELLED Handle = 0x80090036 NTE_PASSWORD_CHANGE_REQUIRED Handle = 0x80090037 NTE_NOT_ACTIVE_CONSOLE Handle = 0x80090038 SEC_E_INSUFFICIENT_MEMORY Handle = 0x80090300 SEC_E_INVALID_HANDLE Handle = 0x80090301 SEC_E_UNSUPPORTED_FUNCTION Handle = 0x80090302 SEC_E_TARGET_UNKNOWN Handle = 0x80090303 SEC_E_INTERNAL_ERROR Handle = 0x80090304 SEC_E_SECPKG_NOT_FOUND Handle = 0x80090305 SEC_E_NOT_OWNER Handle = 0x80090306 SEC_E_CANNOT_INSTALL Handle = 0x80090307 SEC_E_INVALID_TOKEN Handle = 0x80090308 SEC_E_CANNOT_PACK Handle = 0x80090309 SEC_E_QOP_NOT_SUPPORTED Handle = 0x8009030A SEC_E_NO_IMPERSONATION Handle = 0x8009030B SEC_E_LOGON_DENIED Handle = 0x8009030C SEC_E_UNKNOWN_CREDENTIALS Handle = 0x8009030D SEC_E_NO_CREDENTIALS Handle = 0x8009030E SEC_E_MESSAGE_ALTERED Handle = 0x8009030F SEC_E_OUT_OF_SEQUENCE Handle = 0x80090310 SEC_E_NO_AUTHENTICATING_AUTHORITY Handle = 0x80090311 SEC_I_CONTINUE_NEEDED Handle = 0x00090312 SEC_I_COMPLETE_NEEDED Handle = 0x00090313 SEC_I_COMPLETE_AND_CONTINUE Handle = 0x00090314 SEC_I_LOCAL_LOGON Handle = 0x00090315 SEC_I_GENERIC_EXTENSION_RECEIVED Handle = 0x00090316 SEC_E_BAD_PKGID Handle = 0x80090316 SEC_E_CONTEXT_EXPIRED Handle = 0x80090317 SEC_I_CONTEXT_EXPIRED Handle = 0x00090317 SEC_E_INCOMPLETE_MESSAGE Handle = 0x80090318 SEC_E_INCOMPLETE_CREDENTIALS Handle = 0x80090320 SEC_E_BUFFER_TOO_SMALL Handle = 0x80090321 SEC_I_INCOMPLETE_CREDENTIALS Handle = 0x00090320 SEC_I_RENEGOTIATE Handle = 0x00090321 SEC_E_WRONG_PRINCIPAL Handle = 0x80090322 SEC_I_NO_LSA_CONTEXT Handle = 0x00090323 SEC_E_TIME_SKEW Handle = 0x80090324 SEC_E_UNTRUSTED_ROOT Handle = 0x80090325 SEC_E_ILLEGAL_MESSAGE Handle = 0x80090326 SEC_E_CERT_UNKNOWN Handle = 0x80090327 SEC_E_CERT_EXPIRED Handle = 0x80090328 SEC_E_ENCRYPT_FAILURE Handle = 0x80090329 SEC_E_DECRYPT_FAILURE Handle = 0x80090330 SEC_E_ALGORITHM_MISMATCH Handle = 0x80090331 SEC_E_SECURITY_QOS_FAILED Handle = 0x80090332 SEC_E_UNFINISHED_CONTEXT_DELETED Handle = 0x80090333 SEC_E_NO_TGT_REPLY Handle = 0x80090334 SEC_E_NO_IP_ADDRESSES Handle = 0x80090335 SEC_E_WRONG_CREDENTIAL_HANDLE Handle = 0x80090336 SEC_E_CRYPTO_SYSTEM_INVALID Handle = 0x80090337 SEC_E_MAX_REFERRALS_EXCEEDED Handle = 0x80090338 SEC_E_MUST_BE_KDC Handle = 0x80090339 SEC_E_STRONG_CRYPTO_NOT_SUPPORTED Handle = 0x8009033A SEC_E_TOO_MANY_PRINCIPALS Handle = 0x8009033B SEC_E_NO_PA_DATA Handle = 0x8009033C SEC_E_PKINIT_NAME_MISMATCH Handle = 0x8009033D SEC_E_SMARTCARD_LOGON_REQUIRED Handle = 0x8009033E SEC_E_SHUTDOWN_IN_PROGRESS Handle = 0x8009033F SEC_E_KDC_INVALID_REQUEST Handle = 0x80090340 SEC_E_KDC_UNABLE_TO_REFER Handle = 0x80090341 SEC_E_KDC_UNKNOWN_ETYPE Handle = 0x80090342 SEC_E_UNSUPPORTED_PREAUTH Handle = 0x80090343 SEC_E_DELEGATION_REQUIRED Handle = 0x80090345 SEC_E_BAD_BINDINGS Handle = 0x80090346 SEC_E_MULTIPLE_ACCOUNTS Handle = 0x80090347 SEC_E_NO_KERB_KEY Handle = 0x80090348 SEC_E_CERT_WRONG_USAGE Handle = 0x80090349 SEC_E_DOWNGRADE_DETECTED Handle = 0x80090350 SEC_E_SMARTCARD_CERT_REVOKED Handle = 0x80090351 SEC_E_ISSUING_CA_UNTRUSTED Handle = 0x80090352 SEC_E_REVOCATION_OFFLINE_C Handle = 0x80090353 SEC_E_PKINIT_CLIENT_FAILURE Handle = 0x80090354 SEC_E_SMARTCARD_CERT_EXPIRED Handle = 0x80090355 SEC_E_NO_S4U_PROT_SUPPORT Handle = 0x80090356 SEC_E_CROSSREALM_DELEGATION_FAILURE Handle = 0x80090357 SEC_E_REVOCATION_OFFLINE_KDC Handle = 0x80090358 SEC_E_ISSUING_CA_UNTRUSTED_KDC Handle = 0x80090359 SEC_E_KDC_CERT_EXPIRED Handle = 0x8009035A SEC_E_KDC_CERT_REVOKED Handle = 0x8009035B SEC_I_SIGNATURE_NEEDED Handle = 0x0009035C SEC_E_INVALID_PARAMETER Handle = 0x8009035D SEC_E_DELEGATION_POLICY Handle = 0x8009035E SEC_E_POLICY_NLTM_ONLY Handle = 0x8009035F SEC_I_NO_RENEGOTIATION Handle = 0x00090360 SEC_E_NO_CONTEXT Handle = 0x80090361 SEC_E_PKU2U_CERT_FAILURE Handle = 0x80090362 SEC_E_MUTUAL_AUTH_FAILED Handle = 0x80090363 SEC_I_MESSAGE_FRAGMENT Handle = 0x00090364 SEC_E_ONLY_HTTPS_ALLOWED Handle = 0x80090365 SEC_I_CONTINUE_NEEDED_MESSAGE_OK Handle = 0x00090366 SEC_E_APPLICATION_PROTOCOL_MISMATCH Handle = 0x80090367 SEC_I_ASYNC_CALL_PENDING Handle = 0x00090368 SEC_E_INVALID_UPN_NAME Handle = 0x80090369 SEC_E_EXT_BUFFER_TOO_SMALL Handle = 0x8009036A SEC_E_INSUFFICIENT_BUFFERS Handle = 0x8009036B SEC_E_NO_SPM = SEC_E_INTERNAL_ERROR SEC_E_NOT_SUPPORTED = SEC_E_UNSUPPORTED_FUNCTION CRYPT_E_MSG_ERROR Handle = 0x80091001 CRYPT_E_UNKNOWN_ALGO Handle = 0x80091002 CRYPT_E_OID_FORMAT Handle = 0x80091003 CRYPT_E_INVALID_MSG_TYPE Handle = 0x80091004 CRYPT_E_UNEXPECTED_ENCODING Handle = 0x80091005 CRYPT_E_AUTH_ATTR_MISSING Handle = 0x80091006 CRYPT_E_HASH_VALUE Handle = 0x80091007 CRYPT_E_INVALID_INDEX Handle = 0x80091008 CRYPT_E_ALREADY_DECRYPTED Handle = 0x80091009 CRYPT_E_NOT_DECRYPTED Handle = 0x8009100A CRYPT_E_RECIPIENT_NOT_FOUND Handle = 0x8009100B CRYPT_E_CONTROL_TYPE Handle = 0x8009100C CRYPT_E_ISSUER_SERIALNUMBER Handle = 0x8009100D CRYPT_E_SIGNER_NOT_FOUND Handle = 0x8009100E CRYPT_E_ATTRIBUTES_MISSING Handle = 0x8009100F CRYPT_E_STREAM_MSG_NOT_READY Handle = 0x80091010 CRYPT_E_STREAM_INSUFFICIENT_DATA Handle = 0x80091011 CRYPT_I_NEW_PROTECTION_REQUIRED Handle = 0x00091012 CRYPT_E_BAD_LEN Handle = 0x80092001 CRYPT_E_BAD_ENCODE Handle = 0x80092002 CRYPT_E_FILE_ERROR Handle = 0x80092003 CRYPT_E_NOT_FOUND Handle = 0x80092004 CRYPT_E_EXISTS Handle = 0x80092005 CRYPT_E_NO_PROVIDER Handle = 0x80092006 CRYPT_E_SELF_SIGNED Handle = 0x80092007 CRYPT_E_DELETED_PREV Handle = 0x80092008 CRYPT_E_NO_MATCH Handle = 0x80092009 CRYPT_E_UNEXPECTED_MSG_TYPE Handle = 0x8009200A CRYPT_E_NO_KEY_PROPERTY Handle = 0x8009200B CRYPT_E_NO_DECRYPT_CERT Handle = 0x8009200C CRYPT_E_BAD_MSG Handle = 0x8009200D CRYPT_E_NO_SIGNER Handle = 0x8009200E CRYPT_E_PENDING_CLOSE Handle = 0x8009200F CRYPT_E_REVOKED Handle = 0x80092010 CRYPT_E_NO_REVOCATION_DLL Handle = 0x80092011 CRYPT_E_NO_REVOCATION_CHECK Handle = 0x80092012 CRYPT_E_REVOCATION_OFFLINE Handle = 0x80092013 CRYPT_E_NOT_IN_REVOCATION_DATABASE Handle = 0x80092014 CRYPT_E_INVALID_NUMERIC_STRING Handle = 0x80092020 CRYPT_E_INVALID_PRINTABLE_STRING Handle = 0x80092021 CRYPT_E_INVALID_IA5_STRING Handle = 0x80092022 CRYPT_E_INVALID_X500_STRING Handle = 0x80092023 CRYPT_E_NOT_CHAR_STRING Handle = 0x80092024 CRYPT_E_FILERESIZED Handle = 0x80092025 CRYPT_E_SECURITY_SETTINGS Handle = 0x80092026 CRYPT_E_NO_VERIFY_USAGE_DLL Handle = 0x80092027 CRYPT_E_NO_VERIFY_USAGE_CHECK Handle = 0x80092028 CRYPT_E_VERIFY_USAGE_OFFLINE Handle = 0x80092029 CRYPT_E_NOT_IN_CTL Handle = 0x8009202A CRYPT_E_NO_TRUSTED_SIGNER Handle = 0x8009202B CRYPT_E_MISSING_PUBKEY_PARA Handle = 0x8009202C CRYPT_E_OBJECT_LOCATOR_OBJECT_NOT_FOUND Handle = 0x8009202D CRYPT_E_OSS_ERROR Handle = 0x80093000 OSS_MORE_BUF Handle = 0x80093001 OSS_NEGATIVE_UINTEGER Handle = 0x80093002 OSS_PDU_RANGE Handle = 0x80093003 OSS_MORE_INPUT Handle = 0x80093004 OSS_DATA_ERROR Handle = 0x80093005 OSS_BAD_ARG Handle = 0x80093006 OSS_BAD_VERSION Handle = 0x80093007 OSS_OUT_MEMORY Handle = 0x80093008 OSS_PDU_MISMATCH Handle = 0x80093009 OSS_LIMITED Handle = 0x8009300A OSS_BAD_PTR Handle = 0x8009300B OSS_BAD_TIME Handle = 0x8009300C OSS_INDEFINITE_NOT_SUPPORTED Handle = 0x8009300D OSS_MEM_ERROR Handle = 0x8009300E OSS_BAD_TABLE Handle = 0x8009300F OSS_TOO_LONG Handle = 0x80093010 OSS_CONSTRAINT_VIOLATED Handle = 0x80093011 OSS_FATAL_ERROR Handle = 0x80093012 OSS_ACCESS_SERIALIZATION_ERROR Handle = 0x80093013 OSS_NULL_TBL Handle = 0x80093014 OSS_NULL_FCN Handle = 0x80093015 OSS_BAD_ENCRULES Handle = 0x80093016 OSS_UNAVAIL_ENCRULES Handle = 0x80093017 OSS_CANT_OPEN_TRACE_WINDOW Handle = 0x80093018 OSS_UNIMPLEMENTED Handle = 0x80093019 OSS_OID_DLL_NOT_LINKED Handle = 0x8009301A OSS_CANT_OPEN_TRACE_FILE Handle = 0x8009301B OSS_TRACE_FILE_ALREADY_OPEN Handle = 0x8009301C OSS_TABLE_MISMATCH Handle = 0x8009301D OSS_TYPE_NOT_SUPPORTED Handle = 0x8009301E OSS_REAL_DLL_NOT_LINKED Handle = 0x8009301F OSS_REAL_CODE_NOT_LINKED Handle = 0x80093020 OSS_OUT_OF_RANGE Handle = 0x80093021 OSS_COPIER_DLL_NOT_LINKED Handle = 0x80093022 OSS_CONSTRAINT_DLL_NOT_LINKED Handle = 0x80093023 OSS_COMPARATOR_DLL_NOT_LINKED Handle = 0x80093024 OSS_COMPARATOR_CODE_NOT_LINKED Handle = 0x80093025 OSS_MEM_MGR_DLL_NOT_LINKED Handle = 0x80093026 OSS_PDV_DLL_NOT_LINKED Handle = 0x80093027 OSS_PDV_CODE_NOT_LINKED Handle = 0x80093028 OSS_API_DLL_NOT_LINKED Handle = 0x80093029 OSS_BERDER_DLL_NOT_LINKED Handle = 0x8009302A OSS_PER_DLL_NOT_LINKED Handle = 0x8009302B OSS_OPEN_TYPE_ERROR Handle = 0x8009302C OSS_MUTEX_NOT_CREATED Handle = 0x8009302D OSS_CANT_CLOSE_TRACE_FILE Handle = 0x8009302E CRYPT_E_ASN1_ERROR Handle = 0x80093100 CRYPT_E_ASN1_INTERNAL Handle = 0x80093101 CRYPT_E_ASN1_EOD Handle = 0x80093102 CRYPT_E_ASN1_CORRUPT Handle = 0x80093103 CRYPT_E_ASN1_LARGE Handle = 0x80093104 CRYPT_E_ASN1_CONSTRAINT Handle = 0x80093105 CRYPT_E_ASN1_MEMORY Handle = 0x80093106 CRYPT_E_ASN1_OVERFLOW Handle = 0x80093107 CRYPT_E_ASN1_BADPDU Handle = 0x80093108 CRYPT_E_ASN1_BADARGS Handle = 0x80093109 CRYPT_E_ASN1_BADREAL Handle = 0x8009310A CRYPT_E_ASN1_BADTAG Handle = 0x8009310B CRYPT_E_ASN1_CHOICE Handle = 0x8009310C CRYPT_E_ASN1_RULE Handle = 0x8009310D CRYPT_E_ASN1_UTF8 Handle = 0x8009310E CRYPT_E_ASN1_PDU_TYPE Handle = 0x80093133 CRYPT_E_ASN1_NYI Handle = 0x80093134 CRYPT_E_ASN1_EXTENDED Handle = 0x80093201 CRYPT_E_ASN1_NOEOD Handle = 0x80093202 CERTSRV_E_BAD_REQUESTSUBJECT Handle = 0x80094001 CERTSRV_E_NO_REQUEST Handle = 0x80094002 CERTSRV_E_BAD_REQUESTSTATUS Handle = 0x80094003 CERTSRV_E_PROPERTY_EMPTY Handle = 0x80094004 CERTSRV_E_INVALID_CA_CERTIFICATE Handle = 0x80094005 CERTSRV_E_SERVER_SUSPENDED Handle = 0x80094006 CERTSRV_E_ENCODING_LENGTH Handle = 0x80094007 CERTSRV_E_ROLECONFLICT Handle = 0x80094008 CERTSRV_E_RESTRICTEDOFFICER Handle = 0x80094009 CERTSRV_E_KEY_ARCHIVAL_NOT_CONFIGURED Handle = 0x8009400A CERTSRV_E_NO_VALID_KRA Handle = 0x8009400B CERTSRV_E_BAD_REQUEST_KEY_ARCHIVAL Handle = 0x8009400C CERTSRV_E_NO_CAADMIN_DEFINED Handle = 0x8009400D CERTSRV_E_BAD_RENEWAL_CERT_ATTRIBUTE Handle = 0x8009400E CERTSRV_E_NO_DB_SESSIONS Handle = 0x8009400F CERTSRV_E_ALIGNMENT_FAULT Handle = 0x80094010 CERTSRV_E_ENROLL_DENIED Handle = 0x80094011 CERTSRV_E_TEMPLATE_DENIED Handle = 0x80094012 CERTSRV_E_DOWNLEVEL_DC_SSL_OR_UPGRADE Handle = 0x80094013 CERTSRV_E_ADMIN_DENIED_REQUEST Handle = 0x80094014 CERTSRV_E_NO_POLICY_SERVER Handle = 0x80094015 CERTSRV_E_WEAK_SIGNATURE_OR_KEY Handle = 0x80094016 CERTSRV_E_KEY_ATTESTATION_NOT_SUPPORTED Handle = 0x80094017 CERTSRV_E_ENCRYPTION_CERT_REQUIRED Handle = 0x80094018 CERTSRV_E_UNSUPPORTED_CERT_TYPE Handle = 0x80094800 CERTSRV_E_NO_CERT_TYPE Handle = 0x80094801 CERTSRV_E_TEMPLATE_CONFLICT Handle = 0x80094802 CERTSRV_E_SUBJECT_ALT_NAME_REQUIRED Handle = 0x80094803 CERTSRV_E_ARCHIVED_KEY_REQUIRED Handle = 0x80094804 CERTSRV_E_SMIME_REQUIRED Handle = 0x80094805 CERTSRV_E_BAD_RENEWAL_SUBJECT Handle = 0x80094806 CERTSRV_E_BAD_TEMPLATE_VERSION Handle = 0x80094807 CERTSRV_E_TEMPLATE_POLICY_REQUIRED Handle = 0x80094808 CERTSRV_E_SIGNATURE_POLICY_REQUIRED Handle = 0x80094809 CERTSRV_E_SIGNATURE_COUNT Handle = 0x8009480A CERTSRV_E_SIGNATURE_REJECTED Handle = 0x8009480B CERTSRV_E_ISSUANCE_POLICY_REQUIRED Handle = 0x8009480C CERTSRV_E_SUBJECT_UPN_REQUIRED Handle = 0x8009480D CERTSRV_E_SUBJECT_DIRECTORY_GUID_REQUIRED Handle = 0x8009480E CERTSRV_E_SUBJECT_DNS_REQUIRED Handle = 0x8009480F CERTSRV_E_ARCHIVED_KEY_UNEXPECTED Handle = 0x80094810 CERTSRV_E_KEY_LENGTH Handle = 0x80094811 CERTSRV_E_SUBJECT_EMAIL_REQUIRED Handle = 0x80094812 CERTSRV_E_UNKNOWN_CERT_TYPE Handle = 0x80094813 CERTSRV_E_CERT_TYPE_OVERLAP Handle = 0x80094814 CERTSRV_E_TOO_MANY_SIGNATURES Handle = 0x80094815 CERTSRV_E_RENEWAL_BAD_PUBLIC_KEY Handle = 0x80094816 CERTSRV_E_INVALID_EK Handle = 0x80094817 CERTSRV_E_INVALID_IDBINDING Handle = 0x80094818 CERTSRV_E_INVALID_ATTESTATION Handle = 0x80094819 CERTSRV_E_KEY_ATTESTATION Handle = 0x8009481A CERTSRV_E_CORRUPT_KEY_ATTESTATION Handle = 0x8009481B CERTSRV_E_EXPIRED_CHALLENGE Handle = 0x8009481C CERTSRV_E_INVALID_RESPONSE Handle = 0x8009481D CERTSRV_E_INVALID_REQUESTID Handle = 0x8009481E CERTSRV_E_REQUEST_PRECERTIFICATE_MISMATCH Handle = 0x8009481F CERTSRV_E_PENDING_CLIENT_RESPONSE Handle = 0x80094820 XENROLL_E_KEY_NOT_EXPORTABLE Handle = 0x80095000 XENROLL_E_CANNOT_ADD_ROOT_CERT Handle = 0x80095001 XENROLL_E_RESPONSE_KA_HASH_NOT_FOUND Handle = 0x80095002 XENROLL_E_RESPONSE_UNEXPECTED_KA_HASH Handle = 0x80095003 XENROLL_E_RESPONSE_KA_HASH_MISMATCH Handle = 0x80095004 XENROLL_E_KEYSPEC_SMIME_MISMATCH Handle = 0x80095005 TRUST_E_SYSTEM_ERROR Handle = 0x80096001 TRUST_E_NO_SIGNER_CERT Handle = 0x80096002 TRUST_E_COUNTER_SIGNER Handle = 0x80096003 TRUST_E_CERT_SIGNATURE Handle = 0x80096004 TRUST_E_TIME_STAMP Handle = 0x80096005 TRUST_E_BAD_DIGEST Handle = 0x80096010 TRUST_E_MALFORMED_SIGNATURE Handle = 0x80096011 TRUST_E_BASIC_CONSTRAINTS Handle = 0x80096019 TRUST_E_FINANCIAL_CRITERIA Handle = 0x8009601E MSSIPOTF_E_OUTOFMEMRANGE Handle = 0x80097001 MSSIPOTF_E_CANTGETOBJECT Handle = 0x80097002 MSSIPOTF_E_NOHEADTABLE Handle = 0x80097003 MSSIPOTF_E_BAD_MAGICNUMBER Handle = 0x80097004 MSSIPOTF_E_BAD_OFFSET_TABLE Handle = 0x80097005 MSSIPOTF_E_TABLE_TAGORDER Handle = 0x80097006 MSSIPOTF_E_TABLE_LONGWORD Handle = 0x80097007 MSSIPOTF_E_BAD_FIRST_TABLE_PLACEMENT Handle = 0x80097008 MSSIPOTF_E_TABLES_OVERLAP Handle = 0x80097009 MSSIPOTF_E_TABLE_PADBYTES Handle = 0x8009700A MSSIPOTF_E_FILETOOSMALL Handle = 0x8009700B MSSIPOTF_E_TABLE_CHECKSUM Handle = 0x8009700C MSSIPOTF_E_FILE_CHECKSUM Handle = 0x8009700D MSSIPOTF_E_FAILED_POLICY Handle = 0x80097010 MSSIPOTF_E_FAILED_HINTS_CHECK Handle = 0x80097011 MSSIPOTF_E_NOT_OPENTYPE Handle = 0x80097012 MSSIPOTF_E_FILE Handle = 0x80097013 MSSIPOTF_E_CRYPT Handle = 0x80097014 MSSIPOTF_E_BADVERSION Handle = 0x80097015 MSSIPOTF_E_DSIG_STRUCTURE Handle = 0x80097016 MSSIPOTF_E_PCONST_CHECK Handle = 0x80097017 MSSIPOTF_E_STRUCTURE Handle = 0x80097018 ERROR_CRED_REQUIRES_CONFIRMATION Handle = 0x80097019 NTE_OP_OK syscall.Errno = 0 TRUST_E_PROVIDER_UNKNOWN Handle = 0x800B0001 TRUST_E_ACTION_UNKNOWN Handle = 0x800B0002 TRUST_E_SUBJECT_FORM_UNKNOWN Handle = 0x800B0003 TRUST_E_SUBJECT_NOT_TRUSTED Handle = 0x800B0004 DIGSIG_E_ENCODE Handle = 0x800B0005 DIGSIG_E_DECODE Handle = 0x800B0006 DIGSIG_E_EXTENSIBILITY Handle = 0x800B0007 DIGSIG_E_CRYPTO Handle = 0x800B0008 PERSIST_E_SIZEDEFINITE Handle = 0x800B0009 PERSIST_E_SIZEINDEFINITE Handle = 0x800B000A PERSIST_E_NOTSELFSIZING Handle = 0x800B000B TRUST_E_NOSIGNATURE Handle = 0x800B0100 CERT_E_EXPIRED Handle = 0x800B0101 CERT_E_VALIDITYPERIODNESTING Handle = 0x800B0102 CERT_E_ROLE Handle = 0x800B0103 CERT_E_PATHLENCONST Handle = 0x800B0104 CERT_E_CRITICAL Handle = 0x800B0105 CERT_E_PURPOSE Handle = 0x800B0106 CERT_E_ISSUERCHAINING Handle = 0x800B0107 CERT_E_MALFORMED Handle = 0x800B0108 CERT_E_UNTRUSTEDROOT Handle = 0x800B0109 CERT_E_CHAINING Handle = 0x800B010A TRUST_E_FAIL Handle = 0x800B010B CERT_E_REVOKED Handle = 0x800B010C CERT_E_UNTRUSTEDTESTROOT Handle = 0x800B010D CERT_E_REVOCATION_FAILURE Handle = 0x800B010E CERT_E_CN_NO_MATCH Handle = 0x800B010F CERT_E_WRONG_USAGE Handle = 0x800B0110 TRUST_E_EXPLICIT_DISTRUST Handle = 0x800B0111 CERT_E_UNTRUSTEDCA Handle = 0x800B0112 CERT_E_INVALID_POLICY Handle = 0x800B0113 CERT_E_INVALID_NAME Handle = 0x800B0114 SPAPI_E_EXPECTED_SECTION_NAME Handle = 0x800F0000 SPAPI_E_BAD_SECTION_NAME_LINE Handle = 0x800F0001 SPAPI_E_SECTION_NAME_TOO_LONG Handle = 0x800F0002 SPAPI_E_GENERAL_SYNTAX Handle = 0x800F0003 SPAPI_E_WRONG_INF_STYLE Handle = 0x800F0100 SPAPI_E_SECTION_NOT_FOUND Handle = 0x800F0101 SPAPI_E_LINE_NOT_FOUND Handle = 0x800F0102 SPAPI_E_NO_BACKUP Handle = 0x800F0103 SPAPI_E_NO_ASSOCIATED_CLASS Handle = 0x800F0200 SPAPI_E_CLASS_MISMATCH Handle = 0x800F0201 SPAPI_E_DUPLICATE_FOUND Handle = 0x800F0202 SPAPI_E_NO_DRIVER_SELECTED Handle = 0x800F0203 SPAPI_E_KEY_DOES_NOT_EXIST Handle = 0x800F0204 SPAPI_E_INVALID_DEVINST_NAME Handle = 0x800F0205 SPAPI_E_INVALID_CLASS Handle = 0x800F0206 SPAPI_E_DEVINST_ALREADY_EXISTS Handle = 0x800F0207 SPAPI_E_DEVINFO_NOT_REGISTERED Handle = 0x800F0208 SPAPI_E_INVALID_REG_PROPERTY Handle = 0x800F0209 SPAPI_E_NO_INF Handle = 0x800F020A SPAPI_E_NO_SUCH_DEVINST Handle = 0x800F020B SPAPI_E_CANT_LOAD_CLASS_ICON Handle = 0x800F020C SPAPI_E_INVALID_CLASS_INSTALLER Handle = 0x800F020D SPAPI_E_DI_DO_DEFAULT Handle = 0x800F020E SPAPI_E_DI_NOFILECOPY Handle = 0x800F020F SPAPI_E_INVALID_HWPROFILE Handle = 0x800F0210 SPAPI_E_NO_DEVICE_SELECTED Handle = 0x800F0211 SPAPI_E_DEVINFO_LIST_LOCKED Handle = 0x800F0212 SPAPI_E_DEVINFO_DATA_LOCKED Handle = 0x800F0213 SPAPI_E_DI_BAD_PATH Handle = 0x800F0214 SPAPI_E_NO_CLASSINSTALL_PARAMS Handle = 0x800F0215 SPAPI_E_FILEQUEUE_LOCKED Handle = 0x800F0216 SPAPI_E_BAD_SERVICE_INSTALLSECT Handle = 0x800F0217 SPAPI_E_NO_CLASS_DRIVER_LIST Handle = 0x800F0218 SPAPI_E_NO_ASSOCIATED_SERVICE Handle = 0x800F0219 SPAPI_E_NO_DEFAULT_DEVICE_INTERFACE Handle = 0x800F021A SPAPI_E_DEVICE_INTERFACE_ACTIVE Handle = 0x800F021B SPAPI_E_DEVICE_INTERFACE_REMOVED Handle = 0x800F021C SPAPI_E_BAD_INTERFACE_INSTALLSECT Handle = 0x800F021D SPAPI_E_NO_SUCH_INTERFACE_CLASS Handle = 0x800F021E SPAPI_E_INVALID_REFERENCE_STRING Handle = 0x800F021F SPAPI_E_INVALID_MACHINENAME Handle = 0x800F0220 SPAPI_E_REMOTE_COMM_FAILURE Handle = 0x800F0221 SPAPI_E_MACHINE_UNAVAILABLE Handle = 0x800F0222 SPAPI_E_NO_CONFIGMGR_SERVICES Handle = 0x800F0223 SPAPI_E_INVALID_PROPPAGE_PROVIDER Handle = 0x800F0224 SPAPI_E_NO_SUCH_DEVICE_INTERFACE Handle = 0x800F0225 SPAPI_E_DI_POSTPROCESSING_REQUIRED Handle = 0x800F0226 SPAPI_E_INVALID_COINSTALLER Handle = 0x800F0227 SPAPI_E_NO_COMPAT_DRIVERS Handle = 0x800F0228 SPAPI_E_NO_DEVICE_ICON Handle = 0x800F0229 SPAPI_E_INVALID_INF_LOGCONFIG Handle = 0x800F022A SPAPI_E_DI_DONT_INSTALL Handle = 0x800F022B SPAPI_E_INVALID_FILTER_DRIVER Handle = 0x800F022C SPAPI_E_NON_WINDOWS_NT_DRIVER Handle = 0x800F022D SPAPI_E_NON_WINDOWS_DRIVER Handle = 0x800F022E SPAPI_E_NO_CATALOG_FOR_OEM_INF Handle = 0x800F022F SPAPI_E_DEVINSTALL_QUEUE_NONNATIVE Handle = 0x800F0230 SPAPI_E_NOT_DISABLEABLE Handle = 0x800F0231 SPAPI_E_CANT_REMOVE_DEVINST Handle = 0x800F0232 SPAPI_E_INVALID_TARGET Handle = 0x800F0233 SPAPI_E_DRIVER_NONNATIVE Handle = 0x800F0234 SPAPI_E_IN_WOW64 Handle = 0x800F0235 SPAPI_E_SET_SYSTEM_RESTORE_POINT Handle = 0x800F0236 SPAPI_E_INCORRECTLY_COPIED_INF Handle = 0x800F0237 SPAPI_E_SCE_DISABLED Handle = 0x800F0238 SPAPI_E_UNKNOWN_EXCEPTION Handle = 0x800F0239 SPAPI_E_PNP_REGISTRY_ERROR Handle = 0x800F023A SPAPI_E_REMOTE_REQUEST_UNSUPPORTED Handle = 0x800F023B SPAPI_E_NOT_AN_INSTALLED_OEM_INF Handle = 0x800F023C SPAPI_E_INF_IN_USE_BY_DEVICES Handle = 0x800F023D SPAPI_E_DI_FUNCTION_OBSOLETE Handle = 0x800F023E SPAPI_E_NO_AUTHENTICODE_CATALOG Handle = 0x800F023F SPAPI_E_AUTHENTICODE_DISALLOWED Handle = 0x800F0240 SPAPI_E_AUTHENTICODE_TRUSTED_PUBLISHER Handle = 0x800F0241 SPAPI_E_AUTHENTICODE_TRUST_NOT_ESTABLISHED Handle = 0x800F0242 SPAPI_E_AUTHENTICODE_PUBLISHER_NOT_TRUSTED Handle = 0x800F0243 SPAPI_E_SIGNATURE_OSATTRIBUTE_MISMATCH Handle = 0x800F0244 SPAPI_E_ONLY_VALIDATE_VIA_AUTHENTICODE Handle = 0x800F0245 SPAPI_E_DEVICE_INSTALLER_NOT_READY Handle = 0x800F0246 SPAPI_E_DRIVER_STORE_ADD_FAILED Handle = 0x800F0247 SPAPI_E_DEVICE_INSTALL_BLOCKED Handle = 0x800F0248 SPAPI_E_DRIVER_INSTALL_BLOCKED Handle = 0x800F0249 SPAPI_E_WRONG_INF_TYPE Handle = 0x800F024A SPAPI_E_FILE_HASH_NOT_IN_CATALOG Handle = 0x800F024B SPAPI_E_DRIVER_STORE_DELETE_FAILED Handle = 0x800F024C SPAPI_E_UNRECOVERABLE_STACK_OVERFLOW Handle = 0x800F0300 SPAPI_E_ERROR_NOT_INSTALLED Handle = 0x800F1000 SCARD_S_SUCCESS = S_OK SCARD_F_INTERNAL_ERROR Handle = 0x80100001 SCARD_E_CANCELLED Handle = 0x80100002 SCARD_E_INVALID_HANDLE Handle = 0x80100003 SCARD_E_INVALID_PARAMETER Handle = 0x80100004 SCARD_E_INVALID_TARGET Handle = 0x80100005 SCARD_E_NO_MEMORY Handle = 0x80100006 SCARD_F_WAITED_TOO_LONG Handle = 0x80100007 SCARD_E_INSUFFICIENT_BUFFER Handle = 0x80100008 SCARD_E_UNKNOWN_READER Handle = 0x80100009 SCARD_E_TIMEOUT Handle = 0x8010000A SCARD_E_SHARING_VIOLATION Handle = 0x8010000B SCARD_E_NO_SMARTCARD Handle = 0x8010000C SCARD_E_UNKNOWN_CARD Handle = 0x8010000D SCARD_E_CANT_DISPOSE Handle = 0x8010000E SCARD_E_PROTO_MISMATCH Handle = 0x8010000F SCARD_E_NOT_READY Handle = 0x80100010 SCARD_E_INVALID_VALUE Handle = 0x80100011 SCARD_E_SYSTEM_CANCELLED Handle = 0x80100012 SCARD_F_COMM_ERROR Handle = 0x80100013 SCARD_F_UNKNOWN_ERROR Handle = 0x80100014 SCARD_E_INVALID_ATR Handle = 0x80100015 SCARD_E_NOT_TRANSACTED Handle = 0x80100016 SCARD_E_READER_UNAVAILABLE Handle = 0x80100017 SCARD_P_SHUTDOWN Handle = 0x80100018 SCARD_E_PCI_TOO_SMALL Handle = 0x80100019 SCARD_E_READER_UNSUPPORTED Handle = 0x8010001A SCARD_E_DUPLICATE_READER Handle = 0x8010001B SCARD_E_CARD_UNSUPPORTED Handle = 0x8010001C SCARD_E_NO_SERVICE Handle = 0x8010001D SCARD_E_SERVICE_STOPPED Handle = 0x8010001E SCARD_E_UNEXPECTED Handle = 0x8010001F SCARD_E_ICC_INSTALLATION Handle = 0x80100020 SCARD_E_ICC_CREATEORDER Handle = 0x80100021 SCARD_E_UNSUPPORTED_FEATURE Handle = 0x80100022 SCARD_E_DIR_NOT_FOUND Handle = 0x80100023 SCARD_E_FILE_NOT_FOUND Handle = 0x80100024 SCARD_E_NO_DIR Handle = 0x80100025 SCARD_E_NO_FILE Handle = 0x80100026 SCARD_E_NO_ACCESS Handle = 0x80100027 SCARD_E_WRITE_TOO_MANY Handle = 0x80100028 SCARD_E_BAD_SEEK Handle = 0x80100029 SCARD_E_INVALID_CHV Handle = 0x8010002A SCARD_E_UNKNOWN_RES_MNG Handle = 0x8010002B SCARD_E_NO_SUCH_CERTIFICATE Handle = 0x8010002C SCARD_E_CERTIFICATE_UNAVAILABLE Handle = 0x8010002D SCARD_E_NO_READERS_AVAILABLE Handle = 0x8010002E SCARD_E_COMM_DATA_LOST Handle = 0x8010002F SCARD_E_NO_KEY_CONTAINER Handle = 0x80100030 SCARD_E_SERVER_TOO_BUSY Handle = 0x80100031 SCARD_E_PIN_CACHE_EXPIRED Handle = 0x80100032 SCARD_E_NO_PIN_CACHE Handle = 0x80100033 SCARD_E_READ_ONLY_CARD Handle = 0x80100034 SCARD_W_UNSUPPORTED_CARD Handle = 0x80100065 SCARD_W_UNRESPONSIVE_CARD Handle = 0x80100066 SCARD_W_UNPOWERED_CARD Handle = 0x80100067 SCARD_W_RESET_CARD Handle = 0x80100068 SCARD_W_REMOVED_CARD Handle = 0x80100069 SCARD_W_SECURITY_VIOLATION Handle = 0x8010006A SCARD_W_WRONG_CHV Handle = 0x8010006B SCARD_W_CHV_BLOCKED Handle = 0x8010006C SCARD_W_EOF Handle = 0x8010006D SCARD_W_CANCELLED_BY_USER Handle = 0x8010006E SCARD_W_CARD_NOT_AUTHENTICATED Handle = 0x8010006F SCARD_W_CACHE_ITEM_NOT_FOUND Handle = 0x80100070 SCARD_W_CACHE_ITEM_STALE Handle = 0x80100071 SCARD_W_CACHE_ITEM_TOO_BIG Handle = 0x80100072 COMADMIN_E_OBJECTERRORS Handle = 0x80110401 COMADMIN_E_OBJECTINVALID Handle = 0x80110402 COMADMIN_E_KEYMISSING Handle = 0x80110403 COMADMIN_E_ALREADYINSTALLED Handle = 0x80110404 COMADMIN_E_APP_FILE_WRITEFAIL Handle = 0x80110407 COMADMIN_E_APP_FILE_READFAIL Handle = 0x80110408 COMADMIN_E_APP_FILE_VERSION Handle = 0x80110409 COMADMIN_E_BADPATH Handle = 0x8011040A COMADMIN_E_APPLICATIONEXISTS Handle = 0x8011040B COMADMIN_E_ROLEEXISTS Handle = 0x8011040C COMADMIN_E_CANTCOPYFILE Handle = 0x8011040D COMADMIN_E_NOUSER Handle = 0x8011040F COMADMIN_E_INVALIDUSERIDS Handle = 0x80110410 COMADMIN_E_NOREGISTRYCLSID Handle = 0x80110411 COMADMIN_E_BADREGISTRYPROGID Handle = 0x80110412 COMADMIN_E_AUTHENTICATIONLEVEL Handle = 0x80110413 COMADMIN_E_USERPASSWDNOTVALID Handle = 0x80110414 COMADMIN_E_CLSIDORIIDMISMATCH Handle = 0x80110418 COMADMIN_E_REMOTEINTERFACE Handle = 0x80110419 COMADMIN_E_DLLREGISTERSERVER Handle = 0x8011041A COMADMIN_E_NOSERVERSHARE Handle = 0x8011041B COMADMIN_E_DLLLOADFAILED Handle = 0x8011041D COMADMIN_E_BADREGISTRYLIBID Handle = 0x8011041E COMADMIN_E_APPDIRNOTFOUND Handle = 0x8011041F COMADMIN_E_REGISTRARFAILED Handle = 0x80110423 COMADMIN_E_COMPFILE_DOESNOTEXIST Handle = 0x80110424 COMADMIN_E_COMPFILE_LOADDLLFAIL Handle = 0x80110425 COMADMIN_E_COMPFILE_GETCLASSOBJ Handle = 0x80110426 COMADMIN_E_COMPFILE_CLASSNOTAVAIL Handle = 0x80110427 COMADMIN_E_COMPFILE_BADTLB Handle = 0x80110428 COMADMIN_E_COMPFILE_NOTINSTALLABLE Handle = 0x80110429 COMADMIN_E_NOTCHANGEABLE Handle = 0x8011042A COMADMIN_E_NOTDELETEABLE Handle = 0x8011042B COMADMIN_E_SESSION Handle = 0x8011042C COMADMIN_E_COMP_MOVE_LOCKED Handle = 0x8011042D COMADMIN_E_COMP_MOVE_BAD_DEST Handle = 0x8011042E COMADMIN_E_REGISTERTLB Handle = 0x80110430 COMADMIN_E_SYSTEMAPP Handle = 0x80110433 COMADMIN_E_COMPFILE_NOREGISTRAR Handle = 0x80110434 COMADMIN_E_COREQCOMPINSTALLED Handle = 0x80110435 COMADMIN_E_SERVICENOTINSTALLED Handle = 0x80110436 COMADMIN_E_PROPERTYSAVEFAILED Handle = 0x80110437 COMADMIN_E_OBJECTEXISTS Handle = 0x80110438 COMADMIN_E_COMPONENTEXISTS Handle = 0x80110439 COMADMIN_E_REGFILE_CORRUPT Handle = 0x8011043B COMADMIN_E_PROPERTY_OVERFLOW Handle = 0x8011043C COMADMIN_E_NOTINREGISTRY Handle = 0x8011043E COMADMIN_E_OBJECTNOTPOOLABLE Handle = 0x8011043F COMADMIN_E_APPLID_MATCHES_CLSID Handle = 0x80110446 COMADMIN_E_ROLE_DOES_NOT_EXIST Handle = 0x80110447 COMADMIN_E_START_APP_NEEDS_COMPONENTS Handle = 0x80110448 COMADMIN_E_REQUIRES_DIFFERENT_PLATFORM Handle = 0x80110449 COMADMIN_E_CAN_NOT_EXPORT_APP_PROXY Handle = 0x8011044A COMADMIN_E_CAN_NOT_START_APP Handle = 0x8011044B COMADMIN_E_CAN_NOT_EXPORT_SYS_APP Handle = 0x8011044C COMADMIN_E_CANT_SUBSCRIBE_TO_COMPONENT Handle = 0x8011044D COMADMIN_E_EVENTCLASS_CANT_BE_SUBSCRIBER Handle = 0x8011044E COMADMIN_E_LIB_APP_PROXY_INCOMPATIBLE Handle = 0x8011044F COMADMIN_E_BASE_PARTITION_ONLY Handle = 0x80110450 COMADMIN_E_START_APP_DISABLED Handle = 0x80110451 COMADMIN_E_CAT_DUPLICATE_PARTITION_NAME Handle = 0x80110457 COMADMIN_E_CAT_INVALID_PARTITION_NAME Handle = 0x80110458 COMADMIN_E_CAT_PARTITION_IN_USE Handle = 0x80110459 COMADMIN_E_FILE_PARTITION_DUPLICATE_FILES Handle = 0x8011045A COMADMIN_E_CAT_IMPORTED_COMPONENTS_NOT_ALLOWED Handle = 0x8011045B COMADMIN_E_AMBIGUOUS_APPLICATION_NAME Handle = 0x8011045C COMADMIN_E_AMBIGUOUS_PARTITION_NAME Handle = 0x8011045D COMADMIN_E_REGDB_NOTINITIALIZED Handle = 0x80110472 COMADMIN_E_REGDB_NOTOPEN Handle = 0x80110473 COMADMIN_E_REGDB_SYSTEMERR Handle = 0x80110474 COMADMIN_E_REGDB_ALREADYRUNNING Handle = 0x80110475 COMADMIN_E_MIG_VERSIONNOTSUPPORTED Handle = 0x80110480 COMADMIN_E_MIG_SCHEMANOTFOUND Handle = 0x80110481 COMADMIN_E_CAT_BITNESSMISMATCH Handle = 0x80110482 COMADMIN_E_CAT_UNACCEPTABLEBITNESS Handle = 0x80110483 COMADMIN_E_CAT_WRONGAPPBITNESS Handle = 0x80110484 COMADMIN_E_CAT_PAUSE_RESUME_NOT_SUPPORTED Handle = 0x80110485 COMADMIN_E_CAT_SERVERFAULT Handle = 0x80110486 COMQC_E_APPLICATION_NOT_QUEUED Handle = 0x80110600 COMQC_E_NO_QUEUEABLE_INTERFACES Handle = 0x80110601 COMQC_E_QUEUING_SERVICE_NOT_AVAILABLE Handle = 0x80110602 COMQC_E_NO_IPERSISTSTREAM Handle = 0x80110603 COMQC_E_BAD_MESSAGE Handle = 0x80110604 COMQC_E_UNAUTHENTICATED Handle = 0x80110605 COMQC_E_UNTRUSTED_ENQUEUER Handle = 0x80110606 MSDTC_E_DUPLICATE_RESOURCE Handle = 0x80110701 COMADMIN_E_OBJECT_PARENT_MISSING Handle = 0x80110808 COMADMIN_E_OBJECT_DOES_NOT_EXIST Handle = 0x80110809 COMADMIN_E_APP_NOT_RUNNING Handle = 0x8011080A COMADMIN_E_INVALID_PARTITION Handle = 0x8011080B COMADMIN_E_SVCAPP_NOT_POOLABLE_OR_RECYCLABLE Handle = 0x8011080D COMADMIN_E_USER_IN_SET Handle = 0x8011080E COMADMIN_E_CANTRECYCLELIBRARYAPPS Handle = 0x8011080F COMADMIN_E_CANTRECYCLESERVICEAPPS Handle = 0x80110811 COMADMIN_E_PROCESSALREADYRECYCLED Handle = 0x80110812 COMADMIN_E_PAUSEDPROCESSMAYNOTBERECYCLED Handle = 0x80110813 COMADMIN_E_CANTMAKEINPROCSERVICE Handle = 0x80110814 COMADMIN_E_PROGIDINUSEBYCLSID Handle = 0x80110815 COMADMIN_E_DEFAULT_PARTITION_NOT_IN_SET Handle = 0x80110816 COMADMIN_E_RECYCLEDPROCESSMAYNOTBEPAUSED Handle = 0x80110817 COMADMIN_E_PARTITION_ACCESSDENIED Handle = 0x80110818 COMADMIN_E_PARTITION_MSI_ONLY Handle = 0x80110819 COMADMIN_E_LEGACYCOMPS_NOT_ALLOWED_IN_1_0_FORMAT Handle = 0x8011081A COMADMIN_E_LEGACYCOMPS_NOT_ALLOWED_IN_NONBASE_PARTITIONS Handle = 0x8011081B COMADMIN_E_COMP_MOVE_SOURCE Handle = 0x8011081C COMADMIN_E_COMP_MOVE_DEST Handle = 0x8011081D COMADMIN_E_COMP_MOVE_PRIVATE Handle = 0x8011081E COMADMIN_E_BASEPARTITION_REQUIRED_IN_SET Handle = 0x8011081F COMADMIN_E_CANNOT_ALIAS_EVENTCLASS Handle = 0x80110820 COMADMIN_E_PRIVATE_ACCESSDENIED Handle = 0x80110821 COMADMIN_E_SAFERINVALID Handle = 0x80110822 COMADMIN_E_REGISTRY_ACCESSDENIED Handle = 0x80110823 COMADMIN_E_PARTITIONS_DISABLED Handle = 0x80110824 WER_S_REPORT_DEBUG Handle = 0x001B0000 WER_S_REPORT_UPLOADED Handle = 0x001B0001 WER_S_REPORT_QUEUED Handle = 0x001B0002 WER_S_DISABLED Handle = 0x001B0003 WER_S_SUSPENDED_UPLOAD Handle = 0x001B0004 WER_S_DISABLED_QUEUE Handle = 0x001B0005 WER_S_DISABLED_ARCHIVE Handle = 0x001B0006 WER_S_REPORT_ASYNC Handle = 0x001B0007 WER_S_IGNORE_ASSERT_INSTANCE Handle = 0x001B0008 WER_S_IGNORE_ALL_ASSERTS Handle = 0x001B0009 WER_S_ASSERT_CONTINUE Handle = 0x001B000A WER_S_THROTTLED Handle = 0x001B000B WER_S_REPORT_UPLOADED_CAB Handle = 0x001B000C WER_E_CRASH_FAILURE Handle = 0x801B8000 WER_E_CANCELED Handle = 0x801B8001 WER_E_NETWORK_FAILURE Handle = 0x801B8002 WER_E_NOT_INITIALIZED Handle = 0x801B8003 WER_E_ALREADY_REPORTING Handle = 0x801B8004 WER_E_DUMP_THROTTLED Handle = 0x801B8005 WER_E_INSUFFICIENT_CONSENT Handle = 0x801B8006 WER_E_TOO_HEAVY Handle = 0x801B8007 ERROR_FLT_IO_COMPLETE Handle = 0x001F0001 ERROR_FLT_NO_HANDLER_DEFINED Handle = 0x801F0001 ERROR_FLT_CONTEXT_ALREADY_DEFINED Handle = 0x801F0002 ERROR_FLT_INVALID_ASYNCHRONOUS_REQUEST Handle = 0x801F0003 ERROR_FLT_DISALLOW_FAST_IO Handle = 0x801F0004 ERROR_FLT_INVALID_NAME_REQUEST Handle = 0x801F0005 ERROR_FLT_NOT_SAFE_TO_POST_OPERATION Handle = 0x801F0006 ERROR_FLT_NOT_INITIALIZED Handle = 0x801F0007 ERROR_FLT_FILTER_NOT_READY Handle = 0x801F0008 ERROR_FLT_POST_OPERATION_CLEANUP Handle = 0x801F0009 ERROR_FLT_INTERNAL_ERROR Handle = 0x801F000A ERROR_FLT_DELETING_OBJECT Handle = 0x801F000B ERROR_FLT_MUST_BE_NONPAGED_POOL Handle = 0x801F000C ERROR_FLT_DUPLICATE_ENTRY Handle = 0x801F000D ERROR_FLT_CBDQ_DISABLED Handle = 0x801F000E ERROR_FLT_DO_NOT_ATTACH Handle = 0x801F000F ERROR_FLT_DO_NOT_DETACH Handle = 0x801F0010 ERROR_FLT_INSTANCE_ALTITUDE_COLLISION Handle = 0x801F0011 ERROR_FLT_INSTANCE_NAME_COLLISION Handle = 0x801F0012 ERROR_FLT_FILTER_NOT_FOUND Handle = 0x801F0013 ERROR_FLT_VOLUME_NOT_FOUND Handle = 0x801F0014 ERROR_FLT_INSTANCE_NOT_FOUND Handle = 0x801F0015 ERROR_FLT_CONTEXT_ALLOCATION_NOT_FOUND Handle = 0x801F0016 ERROR_FLT_INVALID_CONTEXT_REGISTRATION Handle = 0x801F0017 ERROR_FLT_NAME_CACHE_MISS Handle = 0x801F0018 ERROR_FLT_NO_DEVICE_OBJECT Handle = 0x801F0019 ERROR_FLT_VOLUME_ALREADY_MOUNTED Handle = 0x801F001A ERROR_FLT_ALREADY_ENLISTED Handle = 0x801F001B ERROR_FLT_CONTEXT_ALREADY_LINKED Handle = 0x801F001C ERROR_FLT_NO_WAITER_FOR_REPLY Handle = 0x801F0020 ERROR_FLT_REGISTRATION_BUSY Handle = 0x801F0023 ERROR_HUNG_DISPLAY_DRIVER_THREAD Handle = 0x80260001 DWM_E_COMPOSITIONDISABLED Handle = 0x80263001 DWM_E_REMOTING_NOT_SUPPORTED Handle = 0x80263002 DWM_E_NO_REDIRECTION_SURFACE_AVAILABLE Handle = 0x80263003 DWM_E_NOT_QUEUING_PRESENTS Handle = 0x80263004 DWM_E_ADAPTER_NOT_FOUND Handle = 0x80263005 DWM_S_GDI_REDIRECTION_SURFACE Handle = 0x00263005 DWM_E_TEXTURE_TOO_LARGE Handle = 0x80263007 DWM_S_GDI_REDIRECTION_SURFACE_BLT_VIA_GDI Handle = 0x00263008 ERROR_MONITOR_NO_DESCRIPTOR Handle = 0x00261001 ERROR_MONITOR_UNKNOWN_DESCRIPTOR_FORMAT Handle = 0x00261002 ERROR_MONITOR_INVALID_DESCRIPTOR_CHECKSUM Handle = 0xC0261003 ERROR_MONITOR_INVALID_STANDARD_TIMING_BLOCK Handle = 0xC0261004 ERROR_MONITOR_WMI_DATABLOCK_REGISTRATION_FAILED Handle = 0xC0261005 ERROR_MONITOR_INVALID_SERIAL_NUMBER_MONDSC_BLOCK Handle = 0xC0261006 ERROR_MONITOR_INVALID_USER_FRIENDLY_MONDSC_BLOCK Handle = 0xC0261007 ERROR_MONITOR_NO_MORE_DESCRIPTOR_DATA Handle = 0xC0261008 ERROR_MONITOR_INVALID_DETAILED_TIMING_BLOCK Handle = 0xC0261009 ERROR_MONITOR_INVALID_MANUFACTURE_DATE Handle = 0xC026100A ERROR_GRAPHICS_NOT_EXCLUSIVE_MODE_OWNER Handle = 0xC0262000 ERROR_GRAPHICS_INSUFFICIENT_DMA_BUFFER Handle = 0xC0262001 ERROR_GRAPHICS_INVALID_DISPLAY_ADAPTER Handle = 0xC0262002 ERROR_GRAPHICS_ADAPTER_WAS_RESET Handle = 0xC0262003 ERROR_GRAPHICS_INVALID_DRIVER_MODEL Handle = 0xC0262004 ERROR_GRAPHICS_PRESENT_MODE_CHANGED Handle = 0xC0262005 ERROR_GRAPHICS_PRESENT_OCCLUDED Handle = 0xC0262006 ERROR_GRAPHICS_PRESENT_DENIED Handle = 0xC0262007 ERROR_GRAPHICS_CANNOTCOLORCONVERT Handle = 0xC0262008 ERROR_GRAPHICS_DRIVER_MISMATCH Handle = 0xC0262009 ERROR_GRAPHICS_PARTIAL_DATA_POPULATED Handle = 0x4026200A ERROR_GRAPHICS_PRESENT_REDIRECTION_DISABLED Handle = 0xC026200B ERROR_GRAPHICS_PRESENT_UNOCCLUDED Handle = 0xC026200C ERROR_GRAPHICS_WINDOWDC_NOT_AVAILABLE Handle = 0xC026200D ERROR_GRAPHICS_WINDOWLESS_PRESENT_DISABLED Handle = 0xC026200E ERROR_GRAPHICS_PRESENT_INVALID_WINDOW Handle = 0xC026200F ERROR_GRAPHICS_PRESENT_BUFFER_NOT_BOUND Handle = 0xC0262010 ERROR_GRAPHICS_VAIL_STATE_CHANGED Handle = 0xC0262011 ERROR_GRAPHICS_INDIRECT_DISPLAY_ABANDON_SWAPCHAIN Handle = 0xC0262012 ERROR_GRAPHICS_INDIRECT_DISPLAY_DEVICE_STOPPED Handle = 0xC0262013 ERROR_GRAPHICS_NO_VIDEO_MEMORY Handle = 0xC0262100 ERROR_GRAPHICS_CANT_LOCK_MEMORY Handle = 0xC0262101 ERROR_GRAPHICS_ALLOCATION_BUSY Handle = 0xC0262102 ERROR_GRAPHICS_TOO_MANY_REFERENCES Handle = 0xC0262103 ERROR_GRAPHICS_TRY_AGAIN_LATER Handle = 0xC0262104 ERROR_GRAPHICS_TRY_AGAIN_NOW Handle = 0xC0262105 ERROR_GRAPHICS_ALLOCATION_INVALID Handle = 0xC0262106 ERROR_GRAPHICS_UNSWIZZLING_APERTURE_UNAVAILABLE Handle = 0xC0262107 ERROR_GRAPHICS_UNSWIZZLING_APERTURE_UNSUPPORTED Handle = 0xC0262108 ERROR_GRAPHICS_CANT_EVICT_PINNED_ALLOCATION Handle = 0xC0262109 ERROR_GRAPHICS_INVALID_ALLOCATION_USAGE Handle = 0xC0262110 ERROR_GRAPHICS_CANT_RENDER_LOCKED_ALLOCATION Handle = 0xC0262111 ERROR_GRAPHICS_ALLOCATION_CLOSED Handle = 0xC0262112 ERROR_GRAPHICS_INVALID_ALLOCATION_INSTANCE Handle = 0xC0262113 ERROR_GRAPHICS_INVALID_ALLOCATION_HANDLE Handle = 0xC0262114 ERROR_GRAPHICS_WRONG_ALLOCATION_DEVICE Handle = 0xC0262115 ERROR_GRAPHICS_ALLOCATION_CONTENT_LOST Handle = 0xC0262116 ERROR_GRAPHICS_GPU_EXCEPTION_ON_DEVICE Handle = 0xC0262200 ERROR_GRAPHICS_SKIP_ALLOCATION_PREPARATION Handle = 0x40262201 ERROR_GRAPHICS_INVALID_VIDPN_TOPOLOGY Handle = 0xC0262300 ERROR_GRAPHICS_VIDPN_TOPOLOGY_NOT_SUPPORTED Handle = 0xC0262301 ERROR_GRAPHICS_VIDPN_TOPOLOGY_CURRENTLY_NOT_SUPPORTED Handle = 0xC0262302 ERROR_GRAPHICS_INVALID_VIDPN Handle = 0xC0262303 ERROR_GRAPHICS_INVALID_VIDEO_PRESENT_SOURCE Handle = 0xC0262304 ERROR_GRAPHICS_INVALID_VIDEO_PRESENT_TARGET Handle = 0xC0262305 ERROR_GRAPHICS_VIDPN_MODALITY_NOT_SUPPORTED Handle = 0xC0262306 ERROR_GRAPHICS_MODE_NOT_PINNED Handle = 0x00262307 ERROR_GRAPHICS_INVALID_VIDPN_SOURCEMODESET Handle = 0xC0262308 ERROR_GRAPHICS_INVALID_VIDPN_TARGETMODESET Handle = 0xC0262309 ERROR_GRAPHICS_INVALID_FREQUENCY Handle = 0xC026230A ERROR_GRAPHICS_INVALID_ACTIVE_REGION Handle = 0xC026230B ERROR_GRAPHICS_INVALID_TOTAL_REGION Handle = 0xC026230C ERROR_GRAPHICS_INVALID_VIDEO_PRESENT_SOURCE_MODE Handle = 0xC0262310 ERROR_GRAPHICS_INVALID_VIDEO_PRESENT_TARGET_MODE Handle = 0xC0262311 ERROR_GRAPHICS_PINNED_MODE_MUST_REMAIN_IN_SET Handle = 0xC0262312 ERROR_GRAPHICS_PATH_ALREADY_IN_TOPOLOGY Handle = 0xC0262313 ERROR_GRAPHICS_MODE_ALREADY_IN_MODESET Handle = 0xC0262314 ERROR_GRAPHICS_INVALID_VIDEOPRESENTSOURCESET Handle = 0xC0262315 ERROR_GRAPHICS_INVALID_VIDEOPRESENTTARGETSET Handle = 0xC0262316 ERROR_GRAPHICS_SOURCE_ALREADY_IN_SET Handle = 0xC0262317 ERROR_GRAPHICS_TARGET_ALREADY_IN_SET Handle = 0xC0262318 ERROR_GRAPHICS_INVALID_VIDPN_PRESENT_PATH Handle = 0xC0262319 ERROR_GRAPHICS_NO_RECOMMENDED_VIDPN_TOPOLOGY Handle = 0xC026231A ERROR_GRAPHICS_INVALID_MONITOR_FREQUENCYRANGESET Handle = 0xC026231B ERROR_GRAPHICS_INVALID_MONITOR_FREQUENCYRANGE Handle = 0xC026231C ERROR_GRAPHICS_FREQUENCYRANGE_NOT_IN_SET Handle = 0xC026231D ERROR_GRAPHICS_NO_PREFERRED_MODE Handle = 0x0026231E ERROR_GRAPHICS_FREQUENCYRANGE_ALREADY_IN_SET Handle = 0xC026231F ERROR_GRAPHICS_STALE_MODESET Handle = 0xC0262320 ERROR_GRAPHICS_INVALID_MONITOR_SOURCEMODESET Handle = 0xC0262321 ERROR_GRAPHICS_INVALID_MONITOR_SOURCE_MODE Handle = 0xC0262322 ERROR_GRAPHICS_NO_RECOMMENDED_FUNCTIONAL_VIDPN Handle = 0xC0262323 ERROR_GRAPHICS_MODE_ID_MUST_BE_UNIQUE Handle = 0xC0262324 ERROR_GRAPHICS_EMPTY_ADAPTER_MONITOR_MODE_SUPPORT_INTERSECTION Handle = 0xC0262325 ERROR_GRAPHICS_VIDEO_PRESENT_TARGETS_LESS_THAN_SOURCES Handle = 0xC0262326 ERROR_GRAPHICS_PATH_NOT_IN_TOPOLOGY Handle = 0xC0262327 ERROR_GRAPHICS_ADAPTER_MUST_HAVE_AT_LEAST_ONE_SOURCE Handle = 0xC0262328 ERROR_GRAPHICS_ADAPTER_MUST_HAVE_AT_LEAST_ONE_TARGET Handle = 0xC0262329 ERROR_GRAPHICS_INVALID_MONITORDESCRIPTORSET Handle = 0xC026232A ERROR_GRAPHICS_INVALID_MONITORDESCRIPTOR Handle = 0xC026232B ERROR_GRAPHICS_MONITORDESCRIPTOR_NOT_IN_SET Handle = 0xC026232C ERROR_GRAPHICS_MONITORDESCRIPTOR_ALREADY_IN_SET Handle = 0xC026232D ERROR_GRAPHICS_MONITORDESCRIPTOR_ID_MUST_BE_UNIQUE Handle = 0xC026232E ERROR_GRAPHICS_INVALID_VIDPN_TARGET_SUBSET_TYPE Handle = 0xC026232F ERROR_GRAPHICS_RESOURCES_NOT_RELATED Handle = 0xC0262330 ERROR_GRAPHICS_SOURCE_ID_MUST_BE_UNIQUE Handle = 0xC0262331 ERROR_GRAPHICS_TARGET_ID_MUST_BE_UNIQUE Handle = 0xC0262332 ERROR_GRAPHICS_NO_AVAILABLE_VIDPN_TARGET Handle = 0xC0262333 ERROR_GRAPHICS_MONITOR_COULD_NOT_BE_ASSOCIATED_WITH_ADAPTER Handle = 0xC0262334 ERROR_GRAPHICS_NO_VIDPNMGR Handle = 0xC0262335 ERROR_GRAPHICS_NO_ACTIVE_VIDPN Handle = 0xC0262336 ERROR_GRAPHICS_STALE_VIDPN_TOPOLOGY Handle = 0xC0262337 ERROR_GRAPHICS_MONITOR_NOT_CONNECTED Handle = 0xC0262338 ERROR_GRAPHICS_SOURCE_NOT_IN_TOPOLOGY Handle = 0xC0262339 ERROR_GRAPHICS_INVALID_PRIMARYSURFACE_SIZE Handle = 0xC026233A ERROR_GRAPHICS_INVALID_VISIBLEREGION_SIZE Handle = 0xC026233B ERROR_GRAPHICS_INVALID_STRIDE Handle = 0xC026233C ERROR_GRAPHICS_INVALID_PIXELFORMAT Handle = 0xC026233D ERROR_GRAPHICS_INVALID_COLORBASIS Handle = 0xC026233E ERROR_GRAPHICS_INVALID_PIXELVALUEACCESSMODE Handle = 0xC026233F ERROR_GRAPHICS_TARGET_NOT_IN_TOPOLOGY Handle = 0xC0262340 ERROR_GRAPHICS_NO_DISPLAY_MODE_MANAGEMENT_SUPPORT Handle = 0xC0262341 ERROR_GRAPHICS_VIDPN_SOURCE_IN_USE Handle = 0xC0262342 ERROR_GRAPHICS_CANT_ACCESS_ACTIVE_VIDPN Handle = 0xC0262343 ERROR_GRAPHICS_INVALID_PATH_IMPORTANCE_ORDINAL Handle = 0xC0262344 ERROR_GRAPHICS_INVALID_PATH_CONTENT_GEOMETRY_TRANSFORMATION Handle = 0xC0262345 ERROR_GRAPHICS_PATH_CONTENT_GEOMETRY_TRANSFORMATION_NOT_SUPPORTED Handle = 0xC0262346 ERROR_GRAPHICS_INVALID_GAMMA_RAMP Handle = 0xC0262347 ERROR_GRAPHICS_GAMMA_RAMP_NOT_SUPPORTED Handle = 0xC0262348 ERROR_GRAPHICS_MULTISAMPLING_NOT_SUPPORTED Handle = 0xC0262349 ERROR_GRAPHICS_MODE_NOT_IN_MODESET Handle = 0xC026234A ERROR_GRAPHICS_DATASET_IS_EMPTY Handle = 0x0026234B ERROR_GRAPHICS_NO_MORE_ELEMENTS_IN_DATASET Handle = 0x0026234C ERROR_GRAPHICS_INVALID_VIDPN_TOPOLOGY_RECOMMENDATION_REASON Handle = 0xC026234D ERROR_GRAPHICS_INVALID_PATH_CONTENT_TYPE Handle = 0xC026234E ERROR_GRAPHICS_INVALID_COPYPROTECTION_TYPE Handle = 0xC026234F ERROR_GRAPHICS_UNASSIGNED_MODESET_ALREADY_EXISTS Handle = 0xC0262350 ERROR_GRAPHICS_PATH_CONTENT_GEOMETRY_TRANSFORMATION_NOT_PINNED Handle = 0x00262351 ERROR_GRAPHICS_INVALID_SCANLINE_ORDERING Handle = 0xC0262352 ERROR_GRAPHICS_TOPOLOGY_CHANGES_NOT_ALLOWED Handle = 0xC0262353 ERROR_GRAPHICS_NO_AVAILABLE_IMPORTANCE_ORDINALS Handle = 0xC0262354 ERROR_GRAPHICS_INCOMPATIBLE_PRIVATE_FORMAT Handle = 0xC0262355 ERROR_GRAPHICS_INVALID_MODE_PRUNING_ALGORITHM Handle = 0xC0262356 ERROR_GRAPHICS_INVALID_MONITOR_CAPABILITY_ORIGIN Handle = 0xC0262357 ERROR_GRAPHICS_INVALID_MONITOR_FREQUENCYRANGE_CONSTRAINT Handle = 0xC0262358 ERROR_GRAPHICS_MAX_NUM_PATHS_REACHED Handle = 0xC0262359 ERROR_GRAPHICS_CANCEL_VIDPN_TOPOLOGY_AUGMENTATION Handle = 0xC026235A ERROR_GRAPHICS_INVALID_CLIENT_TYPE Handle = 0xC026235B ERROR_GRAPHICS_CLIENTVIDPN_NOT_SET Handle = 0xC026235C ERROR_GRAPHICS_SPECIFIED_CHILD_ALREADY_CONNECTED Handle = 0xC0262400 ERROR_GRAPHICS_CHILD_DESCRIPTOR_NOT_SUPPORTED Handle = 0xC0262401 ERROR_GRAPHICS_UNKNOWN_CHILD_STATUS Handle = 0x4026242F ERROR_GRAPHICS_NOT_A_LINKED_ADAPTER Handle = 0xC0262430 ERROR_GRAPHICS_LEADLINK_NOT_ENUMERATED Handle = 0xC0262431 ERROR_GRAPHICS_CHAINLINKS_NOT_ENUMERATED Handle = 0xC0262432 ERROR_GRAPHICS_ADAPTER_CHAIN_NOT_READY Handle = 0xC0262433 ERROR_GRAPHICS_CHAINLINKS_NOT_STARTED Handle = 0xC0262434 ERROR_GRAPHICS_CHAINLINKS_NOT_POWERED_ON Handle = 0xC0262435 ERROR_GRAPHICS_INCONSISTENT_DEVICE_LINK_STATE Handle = 0xC0262436 ERROR_GRAPHICS_LEADLINK_START_DEFERRED Handle = 0x40262437 ERROR_GRAPHICS_NOT_POST_DEVICE_DRIVER Handle = 0xC0262438 ERROR_GRAPHICS_POLLING_TOO_FREQUENTLY Handle = 0x40262439 ERROR_GRAPHICS_START_DEFERRED Handle = 0x4026243A ERROR_GRAPHICS_ADAPTER_ACCESS_NOT_EXCLUDED Handle = 0xC026243B ERROR_GRAPHICS_DEPENDABLE_CHILD_STATUS Handle = 0x4026243C ERROR_GRAPHICS_OPM_NOT_SUPPORTED Handle = 0xC0262500 ERROR_GRAPHICS_COPP_NOT_SUPPORTED Handle = 0xC0262501 ERROR_GRAPHICS_UAB_NOT_SUPPORTED Handle = 0xC0262502 ERROR_GRAPHICS_OPM_INVALID_ENCRYPTED_PARAMETERS Handle = 0xC0262503 ERROR_GRAPHICS_OPM_NO_VIDEO_OUTPUTS_EXIST Handle = 0xC0262505 ERROR_GRAPHICS_OPM_INTERNAL_ERROR Handle = 0xC026250B ERROR_GRAPHICS_OPM_INVALID_HANDLE Handle = 0xC026250C ERROR_GRAPHICS_PVP_INVALID_CERTIFICATE_LENGTH Handle = 0xC026250E ERROR_GRAPHICS_OPM_SPANNING_MODE_ENABLED Handle = 0xC026250F ERROR_GRAPHICS_OPM_THEATER_MODE_ENABLED Handle = 0xC0262510 ERROR_GRAPHICS_PVP_HFS_FAILED Handle = 0xC0262511 ERROR_GRAPHICS_OPM_INVALID_SRM Handle = 0xC0262512 ERROR_GRAPHICS_OPM_OUTPUT_DOES_NOT_SUPPORT_HDCP Handle = 0xC0262513 ERROR_GRAPHICS_OPM_OUTPUT_DOES_NOT_SUPPORT_ACP Handle = 0xC0262514 ERROR_GRAPHICS_OPM_OUTPUT_DOES_NOT_SUPPORT_CGMSA Handle = 0xC0262515 ERROR_GRAPHICS_OPM_HDCP_SRM_NEVER_SET Handle = 0xC0262516 ERROR_GRAPHICS_OPM_RESOLUTION_TOO_HIGH Handle = 0xC0262517 ERROR_GRAPHICS_OPM_ALL_HDCP_HARDWARE_ALREADY_IN_USE Handle = 0xC0262518 ERROR_GRAPHICS_OPM_VIDEO_OUTPUT_NO_LONGER_EXISTS Handle = 0xC026251A ERROR_GRAPHICS_OPM_SESSION_TYPE_CHANGE_IN_PROGRESS Handle = 0xC026251B ERROR_GRAPHICS_OPM_VIDEO_OUTPUT_DOES_NOT_HAVE_COPP_SEMANTICS Handle = 0xC026251C ERROR_GRAPHICS_OPM_INVALID_INFORMATION_REQUEST Handle = 0xC026251D ERROR_GRAPHICS_OPM_DRIVER_INTERNAL_ERROR Handle = 0xC026251E ERROR_GRAPHICS_OPM_VIDEO_OUTPUT_DOES_NOT_HAVE_OPM_SEMANTICS Handle = 0xC026251F ERROR_GRAPHICS_OPM_SIGNALING_NOT_SUPPORTED Handle = 0xC0262520 ERROR_GRAPHICS_OPM_INVALID_CONFIGURATION_REQUEST Handle = 0xC0262521 ERROR_GRAPHICS_I2C_NOT_SUPPORTED Handle = 0xC0262580 ERROR_GRAPHICS_I2C_DEVICE_DOES_NOT_EXIST Handle = 0xC0262581 ERROR_GRAPHICS_I2C_ERROR_TRANSMITTING_DATA Handle = 0xC0262582 ERROR_GRAPHICS_I2C_ERROR_RECEIVING_DATA Handle = 0xC0262583 ERROR_GRAPHICS_DDCCI_VCP_NOT_SUPPORTED Handle = 0xC0262584 ERROR_GRAPHICS_DDCCI_INVALID_DATA Handle = 0xC0262585 ERROR_GRAPHICS_DDCCI_MONITOR_RETURNED_INVALID_TIMING_STATUS_BYTE Handle = 0xC0262586 ERROR_GRAPHICS_MCA_INVALID_CAPABILITIES_STRING Handle = 0xC0262587 ERROR_GRAPHICS_MCA_INTERNAL_ERROR Handle = 0xC0262588 ERROR_GRAPHICS_DDCCI_INVALID_MESSAGE_COMMAND Handle = 0xC0262589 ERROR_GRAPHICS_DDCCI_INVALID_MESSAGE_LENGTH Handle = 0xC026258A ERROR_GRAPHICS_DDCCI_INVALID_MESSAGE_CHECKSUM Handle = 0xC026258B ERROR_GRAPHICS_INVALID_PHYSICAL_MONITOR_HANDLE Handle = 0xC026258C ERROR_GRAPHICS_MONITOR_NO_LONGER_EXISTS Handle = 0xC026258D ERROR_GRAPHICS_DDCCI_CURRENT_CURRENT_VALUE_GREATER_THAN_MAXIMUM_VALUE Handle = 0xC02625D8 ERROR_GRAPHICS_MCA_INVALID_VCP_VERSION Handle = 0xC02625D9 ERROR_GRAPHICS_MCA_MONITOR_VIOLATES_MCCS_SPECIFICATION Handle = 0xC02625DA ERROR_GRAPHICS_MCA_MCCS_VERSION_MISMATCH Handle = 0xC02625DB ERROR_GRAPHICS_MCA_UNSUPPORTED_MCCS_VERSION Handle = 0xC02625DC ERROR_GRAPHICS_MCA_INVALID_TECHNOLOGY_TYPE_RETURNED Handle = 0xC02625DE ERROR_GRAPHICS_MCA_UNSUPPORTED_COLOR_TEMPERATURE Handle = 0xC02625DF ERROR_GRAPHICS_ONLY_CONSOLE_SESSION_SUPPORTED Handle = 0xC02625E0 ERROR_GRAPHICS_NO_DISPLAY_DEVICE_CORRESPONDS_TO_NAME Handle = 0xC02625E1 ERROR_GRAPHICS_DISPLAY_DEVICE_NOT_ATTACHED_TO_DESKTOP Handle = 0xC02625E2 ERROR_GRAPHICS_MIRRORING_DEVICES_NOT_SUPPORTED Handle = 0xC02625E3 ERROR_GRAPHICS_INVALID_POINTER Handle = 0xC02625E4 ERROR_GRAPHICS_NO_MONITORS_CORRESPOND_TO_DISPLAY_DEVICE Handle = 0xC02625E5 ERROR_GRAPHICS_PARAMETER_ARRAY_TOO_SMALL Handle = 0xC02625E6 ERROR_GRAPHICS_INTERNAL_ERROR Handle = 0xC02625E7 ERROR_GRAPHICS_SESSION_TYPE_CHANGE_IN_PROGRESS Handle = 0xC02605E8 NAP_E_INVALID_PACKET Handle = 0x80270001 NAP_E_MISSING_SOH Handle = 0x80270002 NAP_E_CONFLICTING_ID Handle = 0x80270003 NAP_E_NO_CACHED_SOH Handle = 0x80270004 NAP_E_STILL_BOUND Handle = 0x80270005 NAP_E_NOT_REGISTERED Handle = 0x80270006 NAP_E_NOT_INITIALIZED Handle = 0x80270007 NAP_E_MISMATCHED_ID Handle = 0x80270008 NAP_E_NOT_PENDING Handle = 0x80270009 NAP_E_ID_NOT_FOUND Handle = 0x8027000A NAP_E_MAXSIZE_TOO_SMALL Handle = 0x8027000B NAP_E_SERVICE_NOT_RUNNING Handle = 0x8027000C NAP_S_CERT_ALREADY_PRESENT Handle = 0x0027000D NAP_E_ENTITY_DISABLED Handle = 0x8027000E NAP_E_NETSH_GROUPPOLICY_ERROR Handle = 0x8027000F NAP_E_TOO_MANY_CALLS Handle = 0x80270010 NAP_E_SHV_CONFIG_EXISTED Handle = 0x80270011 NAP_E_SHV_CONFIG_NOT_FOUND Handle = 0x80270012 NAP_E_SHV_TIMEOUT Handle = 0x80270013 TPM_E_ERROR_MASK Handle = 0x80280000 TPM_E_AUTHFAIL Handle = 0x80280001 TPM_E_BADINDEX Handle = 0x80280002 TPM_E_BAD_PARAMETER Handle = 0x80280003 TPM_E_AUDITFAILURE Handle = 0x80280004 TPM_E_CLEAR_DISABLED Handle = 0x80280005 TPM_E_DEACTIVATED Handle = 0x80280006 TPM_E_DISABLED Handle = 0x80280007 TPM_E_DISABLED_CMD Handle = 0x80280008 TPM_E_FAIL Handle = 0x80280009 TPM_E_BAD_ORDINAL Handle = 0x8028000A TPM_E_INSTALL_DISABLED Handle = 0x8028000B TPM_E_INVALID_KEYHANDLE Handle = 0x8028000C TPM_E_KEYNOTFOUND Handle = 0x8028000D TPM_E_INAPPROPRIATE_ENC Handle = 0x8028000E TPM_E_MIGRATEFAIL Handle = 0x8028000F TPM_E_INVALID_PCR_INFO Handle = 0x80280010 TPM_E_NOSPACE Handle = 0x80280011 TPM_E_NOSRK Handle = 0x80280012 TPM_E_NOTSEALED_BLOB Handle = 0x80280013 TPM_E_OWNER_SET Handle = 0x80280014 TPM_E_RESOURCES Handle = 0x80280015 TPM_E_SHORTRANDOM Handle = 0x80280016 TPM_E_SIZE Handle = 0x80280017 TPM_E_WRONGPCRVAL Handle = 0x80280018 TPM_E_BAD_PARAM_SIZE Handle = 0x80280019 TPM_E_SHA_THREAD Handle = 0x8028001A TPM_E_SHA_ERROR Handle = 0x8028001B TPM_E_FAILEDSELFTEST Handle = 0x8028001C TPM_E_AUTH2FAIL Handle = 0x8028001D TPM_E_BADTAG Handle = 0x8028001E TPM_E_IOERROR Handle = 0x8028001F TPM_E_ENCRYPT_ERROR Handle = 0x80280020 TPM_E_DECRYPT_ERROR Handle = 0x80280021 TPM_E_INVALID_AUTHHANDLE Handle = 0x80280022 TPM_E_NO_ENDORSEMENT Handle = 0x80280023 TPM_E_INVALID_KEYUSAGE Handle = 0x80280024 TPM_E_WRONG_ENTITYTYPE Handle = 0x80280025 TPM_E_INVALID_POSTINIT Handle = 0x80280026 TPM_E_INAPPROPRIATE_SIG Handle = 0x80280027 TPM_E_BAD_KEY_PROPERTY Handle = 0x80280028 TPM_E_BAD_MIGRATION Handle = 0x80280029 TPM_E_BAD_SCHEME Handle = 0x8028002A TPM_E_BAD_DATASIZE Handle = 0x8028002B TPM_E_BAD_MODE Handle = 0x8028002C TPM_E_BAD_PRESENCE Handle = 0x8028002D TPM_E_BAD_VERSION Handle = 0x8028002E TPM_E_NO_WRAP_TRANSPORT Handle = 0x8028002F TPM_E_AUDITFAIL_UNSUCCESSFUL Handle = 0x80280030 TPM_E_AUDITFAIL_SUCCESSFUL Handle = 0x80280031 TPM_E_NOTRESETABLE Handle = 0x80280032 TPM_E_NOTLOCAL Handle = 0x80280033 TPM_E_BAD_TYPE Handle = 0x80280034 TPM_E_INVALID_RESOURCE Handle = 0x80280035 TPM_E_NOTFIPS Handle = 0x80280036 TPM_E_INVALID_FAMILY Handle = 0x80280037 TPM_E_NO_NV_PERMISSION Handle = 0x80280038 TPM_E_REQUIRES_SIGN Handle = 0x80280039 TPM_E_KEY_NOTSUPPORTED Handle = 0x8028003A TPM_E_AUTH_CONFLICT Handle = 0x8028003B TPM_E_AREA_LOCKED Handle = 0x8028003C TPM_E_BAD_LOCALITY Handle = 0x8028003D TPM_E_READ_ONLY Handle = 0x8028003E TPM_E_PER_NOWRITE Handle = 0x8028003F TPM_E_FAMILYCOUNT Handle = 0x80280040 TPM_E_WRITE_LOCKED Handle = 0x80280041 TPM_E_BAD_ATTRIBUTES Handle = 0x80280042 TPM_E_INVALID_STRUCTURE Handle = 0x80280043 TPM_E_KEY_OWNER_CONTROL Handle = 0x80280044 TPM_E_BAD_COUNTER Handle = 0x80280045 TPM_E_NOT_FULLWRITE Handle = 0x80280046 TPM_E_CONTEXT_GAP Handle = 0x80280047 TPM_E_MAXNVWRITES Handle = 0x80280048 TPM_E_NOOPERATOR Handle = 0x80280049 TPM_E_RESOURCEMISSING Handle = 0x8028004A TPM_E_DELEGATE_LOCK Handle = 0x8028004B TPM_E_DELEGATE_FAMILY Handle = 0x8028004C TPM_E_DELEGATE_ADMIN Handle = 0x8028004D TPM_E_TRANSPORT_NOTEXCLUSIVE Handle = 0x8028004E TPM_E_OWNER_CONTROL Handle = 0x8028004F TPM_E_DAA_RESOURCES Handle = 0x80280050 TPM_E_DAA_INPUT_DATA0 Handle = 0x80280051 TPM_E_DAA_INPUT_DATA1 Handle = 0x80280052 TPM_E_DAA_ISSUER_SETTINGS Handle = 0x80280053 TPM_E_DAA_TPM_SETTINGS Handle = 0x80280054 TPM_E_DAA_STAGE Handle = 0x80280055 TPM_E_DAA_ISSUER_VALIDITY Handle = 0x80280056 TPM_E_DAA_WRONG_W Handle = 0x80280057 TPM_E_BAD_HANDLE Handle = 0x80280058 TPM_E_BAD_DELEGATE Handle = 0x80280059 TPM_E_BADCONTEXT Handle = 0x8028005A TPM_E_TOOMANYCONTEXTS Handle = 0x8028005B TPM_E_MA_TICKET_SIGNATURE Handle = 0x8028005C TPM_E_MA_DESTINATION Handle = 0x8028005D TPM_E_MA_SOURCE Handle = 0x8028005E TPM_E_MA_AUTHORITY Handle = 0x8028005F TPM_E_PERMANENTEK Handle = 0x80280061 TPM_E_BAD_SIGNATURE Handle = 0x80280062 TPM_E_NOCONTEXTSPACE Handle = 0x80280063 TPM_20_E_ASYMMETRIC Handle = 0x80280081 TPM_20_E_ATTRIBUTES Handle = 0x80280082 TPM_20_E_HASH Handle = 0x80280083 TPM_20_E_VALUE Handle = 0x80280084 TPM_20_E_HIERARCHY Handle = 0x80280085 TPM_20_E_KEY_SIZE Handle = 0x80280087 TPM_20_E_MGF Handle = 0x80280088 TPM_20_E_MODE Handle = 0x80280089 TPM_20_E_TYPE Handle = 0x8028008A TPM_20_E_HANDLE Handle = 0x8028008B TPM_20_E_KDF Handle = 0x8028008C TPM_20_E_RANGE Handle = 0x8028008D TPM_20_E_AUTH_FAIL Handle = 0x8028008E TPM_20_E_NONCE Handle = 0x8028008F TPM_20_E_PP Handle = 0x80280090 TPM_20_E_SCHEME Handle = 0x80280092 TPM_20_E_SIZE Handle = 0x80280095 TPM_20_E_SYMMETRIC Handle = 0x80280096 TPM_20_E_TAG Handle = 0x80280097 TPM_20_E_SELECTOR Handle = 0x80280098 TPM_20_E_INSUFFICIENT Handle = 0x8028009A TPM_20_E_SIGNATURE Handle = 0x8028009B TPM_20_E_KEY Handle = 0x8028009C TPM_20_E_POLICY_FAIL Handle = 0x8028009D TPM_20_E_INTEGRITY Handle = 0x8028009F TPM_20_E_TICKET Handle = 0x802800A0 TPM_20_E_RESERVED_BITS Handle = 0x802800A1 TPM_20_E_BAD_AUTH Handle = 0x802800A2 TPM_20_E_EXPIRED Handle = 0x802800A3 TPM_20_E_POLICY_CC Handle = 0x802800A4 TPM_20_E_BINDING Handle = 0x802800A5 TPM_20_E_CURVE Handle = 0x802800A6 TPM_20_E_ECC_POINT Handle = 0x802800A7 TPM_20_E_INITIALIZE Handle = 0x80280100 TPM_20_E_FAILURE Handle = 0x80280101 TPM_20_E_SEQUENCE Handle = 0x80280103 TPM_20_E_PRIVATE Handle = 0x8028010B TPM_20_E_HMAC Handle = 0x80280119 TPM_20_E_DISABLED Handle = 0x80280120 TPM_20_E_EXCLUSIVE Handle = 0x80280121 TPM_20_E_ECC_CURVE Handle = 0x80280123 TPM_20_E_AUTH_TYPE Handle = 0x80280124 TPM_20_E_AUTH_MISSING Handle = 0x80280125 TPM_20_E_POLICY Handle = 0x80280126 TPM_20_E_PCR Handle = 0x80280127 TPM_20_E_PCR_CHANGED Handle = 0x80280128 TPM_20_E_UPGRADE Handle = 0x8028012D TPM_20_E_TOO_MANY_CONTEXTS Handle = 0x8028012E TPM_20_E_AUTH_UNAVAILABLE Handle = 0x8028012F TPM_20_E_REBOOT Handle = 0x80280130 TPM_20_E_UNBALANCED Handle = 0x80280131 TPM_20_E_COMMAND_SIZE Handle = 0x80280142 TPM_20_E_COMMAND_CODE Handle = 0x80280143 TPM_20_E_AUTHSIZE Handle = 0x80280144 TPM_20_E_AUTH_CONTEXT Handle = 0x80280145 TPM_20_E_NV_RANGE Handle = 0x80280146 TPM_20_E_NV_SIZE Handle = 0x80280147 TPM_20_E_NV_LOCKED Handle = 0x80280148 TPM_20_E_NV_AUTHORIZATION Handle = 0x80280149 TPM_20_E_NV_UNINITIALIZED Handle = 0x8028014A TPM_20_E_NV_SPACE Handle = 0x8028014B TPM_20_E_NV_DEFINED Handle = 0x8028014C TPM_20_E_BAD_CONTEXT Handle = 0x80280150 TPM_20_E_CPHASH Handle = 0x80280151 TPM_20_E_PARENT Handle = 0x80280152 TPM_20_E_NEEDS_TEST Handle = 0x80280153 TPM_20_E_NO_RESULT Handle = 0x80280154 TPM_20_E_SENSITIVE Handle = 0x80280155 TPM_E_COMMAND_BLOCKED Handle = 0x80280400 TPM_E_INVALID_HANDLE Handle = 0x80280401 TPM_E_DUPLICATE_VHANDLE Handle = 0x80280402 TPM_E_EMBEDDED_COMMAND_BLOCKED Handle = 0x80280403 TPM_E_EMBEDDED_COMMAND_UNSUPPORTED Handle = 0x80280404 TPM_E_RETRY Handle = 0x80280800 TPM_E_NEEDS_SELFTEST Handle = 0x80280801 TPM_E_DOING_SELFTEST Handle = 0x80280802 TPM_E_DEFEND_LOCK_RUNNING Handle = 0x80280803 TPM_20_E_CONTEXT_GAP Handle = 0x80280901 TPM_20_E_OBJECT_MEMORY Handle = 0x80280902 TPM_20_E_SESSION_MEMORY Handle = 0x80280903 TPM_20_E_MEMORY Handle = 0x80280904 TPM_20_E_SESSION_HANDLES Handle = 0x80280905 TPM_20_E_OBJECT_HANDLES Handle = 0x80280906 TPM_20_E_LOCALITY Handle = 0x80280907 TPM_20_E_YIELDED Handle = 0x80280908 TPM_20_E_CANCELED Handle = 0x80280909 TPM_20_E_TESTING Handle = 0x8028090A TPM_20_E_NV_RATE Handle = 0x80280920 TPM_20_E_LOCKOUT Handle = 0x80280921 TPM_20_E_RETRY Handle = 0x80280922 TPM_20_E_NV_UNAVAILABLE Handle = 0x80280923 TBS_E_INTERNAL_ERROR Handle = 0x80284001 TBS_E_BAD_PARAMETER Handle = 0x80284002 TBS_E_INVALID_OUTPUT_POINTER Handle = 0x80284003 TBS_E_INVALID_CONTEXT Handle = 0x80284004 TBS_E_INSUFFICIENT_BUFFER Handle = 0x80284005 TBS_E_IOERROR Handle = 0x80284006 TBS_E_INVALID_CONTEXT_PARAM Handle = 0x80284007 TBS_E_SERVICE_NOT_RUNNING Handle = 0x80284008 TBS_E_TOO_MANY_TBS_CONTEXTS Handle = 0x80284009 TBS_E_TOO_MANY_RESOURCES Handle = 0x8028400A TBS_E_SERVICE_START_PENDING Handle = 0x8028400B TBS_E_PPI_NOT_SUPPORTED Handle = 0x8028400C TBS_E_COMMAND_CANCELED Handle = 0x8028400D TBS_E_BUFFER_TOO_LARGE Handle = 0x8028400E TBS_E_TPM_NOT_FOUND Handle = 0x8028400F TBS_E_SERVICE_DISABLED Handle = 0x80284010 TBS_E_NO_EVENT_LOG Handle = 0x80284011 TBS_E_ACCESS_DENIED Handle = 0x80284012 TBS_E_PROVISIONING_NOT_ALLOWED Handle = 0x80284013 TBS_E_PPI_FUNCTION_UNSUPPORTED Handle = 0x80284014 TBS_E_OWNERAUTH_NOT_FOUND Handle = 0x80284015 TBS_E_PROVISIONING_INCOMPLETE Handle = 0x80284016 TPMAPI_E_INVALID_STATE Handle = 0x80290100 TPMAPI_E_NOT_ENOUGH_DATA Handle = 0x80290101 TPMAPI_E_TOO_MUCH_DATA Handle = 0x80290102 TPMAPI_E_INVALID_OUTPUT_POINTER Handle = 0x80290103 TPMAPI_E_INVALID_PARAMETER Handle = 0x80290104 TPMAPI_E_OUT_OF_MEMORY Handle = 0x80290105 TPMAPI_E_BUFFER_TOO_SMALL Handle = 0x80290106 TPMAPI_E_INTERNAL_ERROR Handle = 0x80290107 TPMAPI_E_ACCESS_DENIED Handle = 0x80290108 TPMAPI_E_AUTHORIZATION_FAILED Handle = 0x80290109 TPMAPI_E_INVALID_CONTEXT_HANDLE Handle = 0x8029010A TPMAPI_E_TBS_COMMUNICATION_ERROR Handle = 0x8029010B TPMAPI_E_TPM_COMMAND_ERROR Handle = 0x8029010C TPMAPI_E_MESSAGE_TOO_LARGE Handle = 0x8029010D TPMAPI_E_INVALID_ENCODING Handle = 0x8029010E TPMAPI_E_INVALID_KEY_SIZE Handle = 0x8029010F TPMAPI_E_ENCRYPTION_FAILED Handle = 0x80290110 TPMAPI_E_INVALID_KEY_PARAMS Handle = 0x80290111 TPMAPI_E_INVALID_MIGRATION_AUTHORIZATION_BLOB Handle = 0x80290112 TPMAPI_E_INVALID_PCR_INDEX Handle = 0x80290113 TPMAPI_E_INVALID_DELEGATE_BLOB Handle = 0x80290114 TPMAPI_E_INVALID_CONTEXT_PARAMS Handle = 0x80290115 TPMAPI_E_INVALID_KEY_BLOB Handle = 0x80290116 TPMAPI_E_INVALID_PCR_DATA Handle = 0x80290117 TPMAPI_E_INVALID_OWNER_AUTH Handle = 0x80290118 TPMAPI_E_FIPS_RNG_CHECK_FAILED Handle = 0x80290119 TPMAPI_E_EMPTY_TCG_LOG Handle = 0x8029011A TPMAPI_E_INVALID_TCG_LOG_ENTRY Handle = 0x8029011B TPMAPI_E_TCG_SEPARATOR_ABSENT Handle = 0x8029011C TPMAPI_E_TCG_INVALID_DIGEST_ENTRY Handle = 0x8029011D TPMAPI_E_POLICY_DENIES_OPERATION Handle = 0x8029011E TPMAPI_E_NV_BITS_NOT_DEFINED Handle = 0x8029011F TPMAPI_E_NV_BITS_NOT_READY Handle = 0x80290120 TPMAPI_E_SEALING_KEY_NOT_AVAILABLE Handle = 0x80290121 TPMAPI_E_NO_AUTHORIZATION_CHAIN_FOUND Handle = 0x80290122 TPMAPI_E_SVN_COUNTER_NOT_AVAILABLE Handle = 0x80290123 TPMAPI_E_OWNER_AUTH_NOT_NULL Handle = 0x80290124 TPMAPI_E_ENDORSEMENT_AUTH_NOT_NULL Handle = 0x80290125 TPMAPI_E_AUTHORIZATION_REVOKED Handle = 0x80290126 TPMAPI_E_MALFORMED_AUTHORIZATION_KEY Handle = 0x80290127 TPMAPI_E_AUTHORIZING_KEY_NOT_SUPPORTED Handle = 0x80290128 TPMAPI_E_INVALID_AUTHORIZATION_SIGNATURE Handle = 0x80290129 TPMAPI_E_MALFORMED_AUTHORIZATION_POLICY Handle = 0x8029012A TPMAPI_E_MALFORMED_AUTHORIZATION_OTHER Handle = 0x8029012B TPMAPI_E_SEALING_KEY_CHANGED Handle = 0x8029012C TBSIMP_E_BUFFER_TOO_SMALL Handle = 0x80290200 TBSIMP_E_CLEANUP_FAILED Handle = 0x80290201 TBSIMP_E_INVALID_CONTEXT_HANDLE Handle = 0x80290202 TBSIMP_E_INVALID_CONTEXT_PARAM Handle = 0x80290203 TBSIMP_E_TPM_ERROR Handle = 0x80290204 TBSIMP_E_HASH_BAD_KEY Handle = 0x80290205 TBSIMP_E_DUPLICATE_VHANDLE Handle = 0x80290206 TBSIMP_E_INVALID_OUTPUT_POINTER Handle = 0x80290207 TBSIMP_E_INVALID_PARAMETER Handle = 0x80290208 TBSIMP_E_RPC_INIT_FAILED Handle = 0x80290209 TBSIMP_E_SCHEDULER_NOT_RUNNING Handle = 0x8029020A TBSIMP_E_COMMAND_CANCELED Handle = 0x8029020B TBSIMP_E_OUT_OF_MEMORY Handle = 0x8029020C TBSIMP_E_LIST_NO_MORE_ITEMS Handle = 0x8029020D TBSIMP_E_LIST_NOT_FOUND Handle = 0x8029020E TBSIMP_E_NOT_ENOUGH_SPACE Handle = 0x8029020F TBSIMP_E_NOT_ENOUGH_TPM_CONTEXTS Handle = 0x80290210 TBSIMP_E_COMMAND_FAILED Handle = 0x80290211 TBSIMP_E_UNKNOWN_ORDINAL Handle = 0x80290212 TBSIMP_E_RESOURCE_EXPIRED Handle = 0x80290213 TBSIMP_E_INVALID_RESOURCE Handle = 0x80290214 TBSIMP_E_NOTHING_TO_UNLOAD Handle = 0x80290215 TBSIMP_E_HASH_TABLE_FULL Handle = 0x80290216 TBSIMP_E_TOO_MANY_TBS_CONTEXTS Handle = 0x80290217 TBSIMP_E_TOO_MANY_RESOURCES Handle = 0x80290218 TBSIMP_E_PPI_NOT_SUPPORTED Handle = 0x80290219 TBSIMP_E_TPM_INCOMPATIBLE Handle = 0x8029021A TBSIMP_E_NO_EVENT_LOG Handle = 0x8029021B TPM_E_PPI_ACPI_FAILURE Handle = 0x80290300 TPM_E_PPI_USER_ABORT Handle = 0x80290301 TPM_E_PPI_BIOS_FAILURE Handle = 0x80290302 TPM_E_PPI_NOT_SUPPORTED Handle = 0x80290303 TPM_E_PPI_BLOCKED_IN_BIOS Handle = 0x80290304 TPM_E_PCP_ERROR_MASK Handle = 0x80290400 TPM_E_PCP_DEVICE_NOT_READY Handle = 0x80290401 TPM_E_PCP_INVALID_HANDLE Handle = 0x80290402 TPM_E_PCP_INVALID_PARAMETER Handle = 0x80290403 TPM_E_PCP_FLAG_NOT_SUPPORTED Handle = 0x80290404 TPM_E_PCP_NOT_SUPPORTED Handle = 0x80290405 TPM_E_PCP_BUFFER_TOO_SMALL Handle = 0x80290406 TPM_E_PCP_INTERNAL_ERROR Handle = 0x80290407 TPM_E_PCP_AUTHENTICATION_FAILED Handle = 0x80290408 TPM_E_PCP_AUTHENTICATION_IGNORED Handle = 0x80290409 TPM_E_PCP_POLICY_NOT_FOUND Handle = 0x8029040A TPM_E_PCP_PROFILE_NOT_FOUND Handle = 0x8029040B TPM_E_PCP_VALIDATION_FAILED Handle = 0x8029040C TPM_E_PCP_WRONG_PARENT Handle = 0x8029040E TPM_E_KEY_NOT_LOADED Handle = 0x8029040F TPM_E_NO_KEY_CERTIFICATION Handle = 0x80290410 TPM_E_KEY_NOT_FINALIZED Handle = 0x80290411 TPM_E_ATTESTATION_CHALLENGE_NOT_SET Handle = 0x80290412 TPM_E_NOT_PCR_BOUND Handle = 0x80290413 TPM_E_KEY_ALREADY_FINALIZED Handle = 0x80290414 TPM_E_KEY_USAGE_POLICY_NOT_SUPPORTED Handle = 0x80290415 TPM_E_KEY_USAGE_POLICY_INVALID Handle = 0x80290416 TPM_E_SOFT_KEY_ERROR Handle = 0x80290417 TPM_E_KEY_NOT_AUTHENTICATED Handle = 0x80290418 TPM_E_PCP_KEY_NOT_AIK Handle = 0x80290419 TPM_E_KEY_NOT_SIGNING_KEY Handle = 0x8029041A TPM_E_LOCKED_OUT Handle = 0x8029041B TPM_E_CLAIM_TYPE_NOT_SUPPORTED Handle = 0x8029041C TPM_E_VERSION_NOT_SUPPORTED Handle = 0x8029041D TPM_E_BUFFER_LENGTH_MISMATCH Handle = 0x8029041E TPM_E_PCP_IFX_RSA_KEY_CREATION_BLOCKED Handle = 0x8029041F TPM_E_PCP_TICKET_MISSING Handle = 0x80290420 TPM_E_PCP_RAW_POLICY_NOT_SUPPORTED Handle = 0x80290421 TPM_E_PCP_KEY_HANDLE_INVALIDATED Handle = 0x80290422 TPM_E_PCP_UNSUPPORTED_PSS_SALT Handle = 0x40290423 TPM_E_ZERO_EXHAUST_ENABLED Handle = 0x80290500 PLA_E_DCS_NOT_FOUND Handle = 0x80300002 PLA_E_DCS_IN_USE Handle = 0x803000AA PLA_E_TOO_MANY_FOLDERS Handle = 0x80300045 PLA_E_NO_MIN_DISK Handle = 0x80300070 PLA_E_DCS_ALREADY_EXISTS Handle = 0x803000B7 PLA_S_PROPERTY_IGNORED Handle = 0x00300100 PLA_E_PROPERTY_CONFLICT Handle = 0x80300101 PLA_E_DCS_SINGLETON_REQUIRED Handle = 0x80300102 PLA_E_CREDENTIALS_REQUIRED Handle = 0x80300103 PLA_E_DCS_NOT_RUNNING Handle = 0x80300104 PLA_E_CONFLICT_INCL_EXCL_API Handle = 0x80300105 PLA_E_NETWORK_EXE_NOT_VALID Handle = 0x80300106 PLA_E_EXE_ALREADY_CONFIGURED Handle = 0x80300107 PLA_E_EXE_PATH_NOT_VALID Handle = 0x80300108 PLA_E_DC_ALREADY_EXISTS Handle = 0x80300109 PLA_E_DCS_START_WAIT_TIMEOUT Handle = 0x8030010A PLA_E_DC_START_WAIT_TIMEOUT Handle = 0x8030010B PLA_E_REPORT_WAIT_TIMEOUT Handle = 0x8030010C PLA_E_NO_DUPLICATES Handle = 0x8030010D PLA_E_EXE_FULL_PATH_REQUIRED Handle = 0x8030010E PLA_E_INVALID_SESSION_NAME Handle = 0x8030010F PLA_E_PLA_CHANNEL_NOT_ENABLED Handle = 0x80300110 PLA_E_TASKSCHED_CHANNEL_NOT_ENABLED Handle = 0x80300111 PLA_E_RULES_MANAGER_FAILED Handle = 0x80300112 PLA_E_CABAPI_FAILURE Handle = 0x80300113 FVE_E_LOCKED_VOLUME Handle = 0x80310000 FVE_E_NOT_ENCRYPTED Handle = 0x80310001 FVE_E_NO_TPM_BIOS Handle = 0x80310002 FVE_E_NO_MBR_METRIC Handle = 0x80310003 FVE_E_NO_BOOTSECTOR_METRIC Handle = 0x80310004 FVE_E_NO_BOOTMGR_METRIC Handle = 0x80310005 FVE_E_WRONG_BOOTMGR Handle = 0x80310006 FVE_E_SECURE_KEY_REQUIRED Handle = 0x80310007 FVE_E_NOT_ACTIVATED Handle = 0x80310008 FVE_E_ACTION_NOT_ALLOWED Handle = 0x80310009 FVE_E_AD_SCHEMA_NOT_INSTALLED Handle = 0x8031000A FVE_E_AD_INVALID_DATATYPE Handle = 0x8031000B FVE_E_AD_INVALID_DATASIZE Handle = 0x8031000C FVE_E_AD_NO_VALUES Handle = 0x8031000D FVE_E_AD_ATTR_NOT_SET Handle = 0x8031000E FVE_E_AD_GUID_NOT_FOUND Handle = 0x8031000F FVE_E_BAD_INFORMATION Handle = 0x80310010 FVE_E_TOO_SMALL Handle = 0x80310011 FVE_E_SYSTEM_VOLUME Handle = 0x80310012 FVE_E_FAILED_WRONG_FS Handle = 0x80310013 FVE_E_BAD_PARTITION_SIZE Handle = 0x80310014 FVE_E_NOT_SUPPORTED Handle = 0x80310015 FVE_E_BAD_DATA Handle = 0x80310016 FVE_E_VOLUME_NOT_BOUND Handle = 0x80310017 FVE_E_TPM_NOT_OWNED Handle = 0x80310018 FVE_E_NOT_DATA_VOLUME Handle = 0x80310019 FVE_E_AD_INSUFFICIENT_BUFFER Handle = 0x8031001A FVE_E_CONV_READ Handle = 0x8031001B FVE_E_CONV_WRITE Handle = 0x8031001C FVE_E_KEY_REQUIRED Handle = 0x8031001D FVE_E_CLUSTERING_NOT_SUPPORTED Handle = 0x8031001E FVE_E_VOLUME_BOUND_ALREADY Handle = 0x8031001F FVE_E_OS_NOT_PROTECTED Handle = 0x80310020 FVE_E_PROTECTION_DISABLED Handle = 0x80310021 FVE_E_RECOVERY_KEY_REQUIRED Handle = 0x80310022 FVE_E_FOREIGN_VOLUME Handle = 0x80310023 FVE_E_OVERLAPPED_UPDATE Handle = 0x80310024 FVE_E_TPM_SRK_AUTH_NOT_ZERO Handle = 0x80310025 FVE_E_FAILED_SECTOR_SIZE Handle = 0x80310026 FVE_E_FAILED_AUTHENTICATION Handle = 0x80310027 FVE_E_NOT_OS_VOLUME Handle = 0x80310028 FVE_E_AUTOUNLOCK_ENABLED Handle = 0x80310029 FVE_E_WRONG_BOOTSECTOR Handle = 0x8031002A FVE_E_WRONG_SYSTEM_FS Handle = 0x8031002B FVE_E_POLICY_PASSWORD_REQUIRED Handle = 0x8031002C FVE_E_CANNOT_SET_FVEK_ENCRYPTED Handle = 0x8031002D FVE_E_CANNOT_ENCRYPT_NO_KEY Handle = 0x8031002E FVE_E_BOOTABLE_CDDVD Handle = 0x80310030 FVE_E_PROTECTOR_EXISTS Handle = 0x80310031 FVE_E_RELATIVE_PATH Handle = 0x80310032 FVE_E_PROTECTOR_NOT_FOUND Handle = 0x80310033 FVE_E_INVALID_KEY_FORMAT Handle = 0x80310034 FVE_E_INVALID_PASSWORD_FORMAT Handle = 0x80310035 FVE_E_FIPS_RNG_CHECK_FAILED Handle = 0x80310036 FVE_E_FIPS_PREVENTS_RECOVERY_PASSWORD Handle = 0x80310037 FVE_E_FIPS_PREVENTS_EXTERNAL_KEY_EXPORT Handle = 0x80310038 FVE_E_NOT_DECRYPTED Handle = 0x80310039 FVE_E_INVALID_PROTECTOR_TYPE Handle = 0x8031003A FVE_E_NO_PROTECTORS_TO_TEST Handle = 0x8031003B FVE_E_KEYFILE_NOT_FOUND Handle = 0x8031003C FVE_E_KEYFILE_INVALID Handle = 0x8031003D FVE_E_KEYFILE_NO_VMK Handle = 0x8031003E FVE_E_TPM_DISABLED Handle = 0x8031003F FVE_E_NOT_ALLOWED_IN_SAFE_MODE Handle = 0x80310040 FVE_E_TPM_INVALID_PCR Handle = 0x80310041 FVE_E_TPM_NO_VMK Handle = 0x80310042 FVE_E_PIN_INVALID Handle = 0x80310043 FVE_E_AUTH_INVALID_APPLICATION Handle = 0x80310044 FVE_E_AUTH_INVALID_CONFIG Handle = 0x80310045 FVE_E_FIPS_DISABLE_PROTECTION_NOT_ALLOWED Handle = 0x80310046 FVE_E_FS_NOT_EXTENDED Handle = 0x80310047 FVE_E_FIRMWARE_TYPE_NOT_SUPPORTED Handle = 0x80310048 FVE_E_NO_LICENSE Handle = 0x80310049 FVE_E_NOT_ON_STACK Handle = 0x8031004A FVE_E_FS_MOUNTED Handle = 0x8031004B FVE_E_TOKEN_NOT_IMPERSONATED Handle = 0x8031004C FVE_E_DRY_RUN_FAILED Handle = 0x8031004D FVE_E_REBOOT_REQUIRED Handle = 0x8031004E FVE_E_DEBUGGER_ENABLED Handle = 0x8031004F FVE_E_RAW_ACCESS Handle = 0x80310050 FVE_E_RAW_BLOCKED Handle = 0x80310051 FVE_E_BCD_APPLICATIONS_PATH_INCORRECT Handle = 0x80310052 FVE_E_NOT_ALLOWED_IN_VERSION Handle = 0x80310053 FVE_E_NO_AUTOUNLOCK_MASTER_KEY Handle = 0x80310054 FVE_E_MOR_FAILED Handle = 0x80310055 FVE_E_HIDDEN_VOLUME Handle = 0x80310056 FVE_E_TRANSIENT_STATE Handle = 0x80310057 FVE_E_PUBKEY_NOT_ALLOWED Handle = 0x80310058 FVE_E_VOLUME_HANDLE_OPEN Handle = 0x80310059 FVE_E_NO_FEATURE_LICENSE Handle = 0x8031005A FVE_E_INVALID_STARTUP_OPTIONS Handle = 0x8031005B FVE_E_POLICY_RECOVERY_PASSWORD_NOT_ALLOWED Handle = 0x8031005C FVE_E_POLICY_RECOVERY_PASSWORD_REQUIRED Handle = 0x8031005D FVE_E_POLICY_RECOVERY_KEY_NOT_ALLOWED Handle = 0x8031005E FVE_E_POLICY_RECOVERY_KEY_REQUIRED Handle = 0x8031005F FVE_E_POLICY_STARTUP_PIN_NOT_ALLOWED Handle = 0x80310060 FVE_E_POLICY_STARTUP_PIN_REQUIRED Handle = 0x80310061 FVE_E_POLICY_STARTUP_KEY_NOT_ALLOWED Handle = 0x80310062 FVE_E_POLICY_STARTUP_KEY_REQUIRED Handle = 0x80310063 FVE_E_POLICY_STARTUP_PIN_KEY_NOT_ALLOWED Handle = 0x80310064 FVE_E_POLICY_STARTUP_PIN_KEY_REQUIRED Handle = 0x80310065 FVE_E_POLICY_STARTUP_TPM_NOT_ALLOWED Handle = 0x80310066 FVE_E_POLICY_STARTUP_TPM_REQUIRED Handle = 0x80310067 FVE_E_POLICY_INVALID_PIN_LENGTH Handle = 0x80310068 FVE_E_KEY_PROTECTOR_NOT_SUPPORTED Handle = 0x80310069 FVE_E_POLICY_PASSPHRASE_NOT_ALLOWED Handle = 0x8031006A FVE_E_POLICY_PASSPHRASE_REQUIRED Handle = 0x8031006B FVE_E_FIPS_PREVENTS_PASSPHRASE Handle = 0x8031006C FVE_E_OS_VOLUME_PASSPHRASE_NOT_ALLOWED Handle = 0x8031006D FVE_E_INVALID_BITLOCKER_OID Handle = 0x8031006E FVE_E_VOLUME_TOO_SMALL Handle = 0x8031006F FVE_E_DV_NOT_SUPPORTED_ON_FS Handle = 0x80310070 FVE_E_DV_NOT_ALLOWED_BY_GP Handle = 0x80310071 FVE_E_POLICY_USER_CERTIFICATE_NOT_ALLOWED Handle = 0x80310072 FVE_E_POLICY_USER_CERTIFICATE_REQUIRED Handle = 0x80310073 FVE_E_POLICY_USER_CERT_MUST_BE_HW Handle = 0x80310074 FVE_E_POLICY_USER_CONFIGURE_FDV_AUTOUNLOCK_NOT_ALLOWED Handle = 0x80310075 FVE_E_POLICY_USER_CONFIGURE_RDV_AUTOUNLOCK_NOT_ALLOWED Handle = 0x80310076 FVE_E_POLICY_USER_CONFIGURE_RDV_NOT_ALLOWED Handle = 0x80310077 FVE_E_POLICY_USER_ENABLE_RDV_NOT_ALLOWED Handle = 0x80310078 FVE_E_POLICY_USER_DISABLE_RDV_NOT_ALLOWED Handle = 0x80310079 FVE_E_POLICY_INVALID_PASSPHRASE_LENGTH Handle = 0x80310080 FVE_E_POLICY_PASSPHRASE_TOO_SIMPLE Handle = 0x80310081 FVE_E_RECOVERY_PARTITION Handle = 0x80310082 FVE_E_POLICY_CONFLICT_FDV_RK_OFF_AUK_ON Handle = 0x80310083 FVE_E_POLICY_CONFLICT_RDV_RK_OFF_AUK_ON Handle = 0x80310084 FVE_E_NON_BITLOCKER_OID Handle = 0x80310085 FVE_E_POLICY_PROHIBITS_SELFSIGNED Handle = 0x80310086 FVE_E_POLICY_CONFLICT_RO_AND_STARTUP_KEY_REQUIRED Handle = 0x80310087 FVE_E_CONV_RECOVERY_FAILED Handle = 0x80310088 FVE_E_VIRTUALIZED_SPACE_TOO_BIG Handle = 0x80310089 FVE_E_POLICY_CONFLICT_OSV_RP_OFF_ADB_ON Handle = 0x80310090 FVE_E_POLICY_CONFLICT_FDV_RP_OFF_ADB_ON Handle = 0x80310091 FVE_E_POLICY_CONFLICT_RDV_RP_OFF_ADB_ON Handle = 0x80310092 FVE_E_NON_BITLOCKER_KU Handle = 0x80310093 FVE_E_PRIVATEKEY_AUTH_FAILED Handle = 0x80310094 FVE_E_REMOVAL_OF_DRA_FAILED Handle = 0x80310095 FVE_E_OPERATION_NOT_SUPPORTED_ON_VISTA_VOLUME Handle = 0x80310096 FVE_E_CANT_LOCK_AUTOUNLOCK_ENABLED_VOLUME Handle = 0x80310097 FVE_E_FIPS_HASH_KDF_NOT_ALLOWED Handle = 0x80310098 FVE_E_ENH_PIN_INVALID Handle = 0x80310099 FVE_E_INVALID_PIN_CHARS Handle = 0x8031009A FVE_E_INVALID_DATUM_TYPE Handle = 0x8031009B FVE_E_EFI_ONLY Handle = 0x8031009C FVE_E_MULTIPLE_NKP_CERTS Handle = 0x8031009D FVE_E_REMOVAL_OF_NKP_FAILED Handle = 0x8031009E FVE_E_INVALID_NKP_CERT Handle = 0x8031009F FVE_E_NO_EXISTING_PIN Handle = 0x803100A0 FVE_E_PROTECTOR_CHANGE_PIN_MISMATCH Handle = 0x803100A1 FVE_E_PIN_PROTECTOR_CHANGE_BY_STD_USER_DISALLOWED Handle = 0x803100A2 FVE_E_PROTECTOR_CHANGE_MAX_PIN_CHANGE_ATTEMPTS_REACHED Handle = 0x803100A3 FVE_E_POLICY_PASSPHRASE_REQUIRES_ASCII Handle = 0x803100A4 FVE_E_FULL_ENCRYPTION_NOT_ALLOWED_ON_TP_STORAGE Handle = 0x803100A5 FVE_E_WIPE_NOT_ALLOWED_ON_TP_STORAGE Handle = 0x803100A6 FVE_E_KEY_LENGTH_NOT_SUPPORTED_BY_EDRIVE Handle = 0x803100A7 FVE_E_NO_EXISTING_PASSPHRASE Handle = 0x803100A8 FVE_E_PROTECTOR_CHANGE_PASSPHRASE_MISMATCH Handle = 0x803100A9 FVE_E_PASSPHRASE_TOO_LONG Handle = 0x803100AA FVE_E_NO_PASSPHRASE_WITH_TPM Handle = 0x803100AB FVE_E_NO_TPM_WITH_PASSPHRASE Handle = 0x803100AC FVE_E_NOT_ALLOWED_ON_CSV_STACK Handle = 0x803100AD FVE_E_NOT_ALLOWED_ON_CLUSTER Handle = 0x803100AE FVE_E_EDRIVE_NO_FAILOVER_TO_SW Handle = 0x803100AF FVE_E_EDRIVE_BAND_IN_USE Handle = 0x803100B0 FVE_E_EDRIVE_DISALLOWED_BY_GP Handle = 0x803100B1 FVE_E_EDRIVE_INCOMPATIBLE_VOLUME Handle = 0x803100B2 FVE_E_NOT_ALLOWED_TO_UPGRADE_WHILE_CONVERTING Handle = 0x803100B3 FVE_E_EDRIVE_DV_NOT_SUPPORTED Handle = 0x803100B4 FVE_E_NO_PREBOOT_KEYBOARD_DETECTED Handle = 0x803100B5 FVE_E_NO_PREBOOT_KEYBOARD_OR_WINRE_DETECTED Handle = 0x803100B6 FVE_E_POLICY_REQUIRES_STARTUP_PIN_ON_TOUCH_DEVICE Handle = 0x803100B7 FVE_E_POLICY_REQUIRES_RECOVERY_PASSWORD_ON_TOUCH_DEVICE Handle = 0x803100B8 FVE_E_WIPE_CANCEL_NOT_APPLICABLE Handle = 0x803100B9 FVE_E_SECUREBOOT_DISABLED Handle = 0x803100BA FVE_E_SECUREBOOT_CONFIGURATION_INVALID Handle = 0x803100BB FVE_E_EDRIVE_DRY_RUN_FAILED Handle = 0x803100BC FVE_E_SHADOW_COPY_PRESENT Handle = 0x803100BD FVE_E_POLICY_INVALID_ENHANCED_BCD_SETTINGS Handle = 0x803100BE FVE_E_EDRIVE_INCOMPATIBLE_FIRMWARE Handle = 0x803100BF FVE_E_PROTECTOR_CHANGE_MAX_PASSPHRASE_CHANGE_ATTEMPTS_REACHED Handle = 0x803100C0 FVE_E_PASSPHRASE_PROTECTOR_CHANGE_BY_STD_USER_DISALLOWED Handle = 0x803100C1 FVE_E_LIVEID_ACCOUNT_SUSPENDED Handle = 0x803100C2 FVE_E_LIVEID_ACCOUNT_BLOCKED Handle = 0x803100C3 FVE_E_NOT_PROVISIONED_ON_ALL_VOLUMES Handle = 0x803100C4 FVE_E_DE_FIXED_DATA_NOT_SUPPORTED Handle = 0x803100C5 FVE_E_DE_HARDWARE_NOT_COMPLIANT Handle = 0x803100C6 FVE_E_DE_WINRE_NOT_CONFIGURED Handle = 0x803100C7 FVE_E_DE_PROTECTION_SUSPENDED Handle = 0x803100C8 FVE_E_DE_OS_VOLUME_NOT_PROTECTED Handle = 0x803100C9 FVE_E_DE_DEVICE_LOCKEDOUT Handle = 0x803100CA FVE_E_DE_PROTECTION_NOT_YET_ENABLED Handle = 0x803100CB FVE_E_INVALID_PIN_CHARS_DETAILED Handle = 0x803100CC FVE_E_DEVICE_LOCKOUT_COUNTER_UNAVAILABLE Handle = 0x803100CD FVE_E_DEVICELOCKOUT_COUNTER_MISMATCH Handle = 0x803100CE FVE_E_BUFFER_TOO_LARGE Handle = 0x803100CF FVE_E_NO_SUCH_CAPABILITY_ON_TARGET Handle = 0x803100D0 FVE_E_DE_PREVENTED_FOR_OS Handle = 0x803100D1 FVE_E_DE_VOLUME_OPTED_OUT Handle = 0x803100D2 FVE_E_DE_VOLUME_NOT_SUPPORTED Handle = 0x803100D3 FVE_E_EOW_NOT_SUPPORTED_IN_VERSION Handle = 0x803100D4 FVE_E_ADBACKUP_NOT_ENABLED Handle = 0x803100D5 FVE_E_VOLUME_EXTEND_PREVENTS_EOW_DECRYPT Handle = 0x803100D6 FVE_E_NOT_DE_VOLUME Handle = 0x803100D7 FVE_E_PROTECTION_CANNOT_BE_DISABLED Handle = 0x803100D8 FVE_E_OSV_KSR_NOT_ALLOWED Handle = 0x803100D9 FVE_E_AD_BACKUP_REQUIRED_POLICY_NOT_SET_OS_DRIVE Handle = 0x803100DA FVE_E_AD_BACKUP_REQUIRED_POLICY_NOT_SET_FIXED_DRIVE Handle = 0x803100DB FVE_E_AD_BACKUP_REQUIRED_POLICY_NOT_SET_REMOVABLE_DRIVE Handle = 0x803100DC FVE_E_KEY_ROTATION_NOT_SUPPORTED Handle = 0x803100DD FVE_E_EXECUTE_REQUEST_SENT_TOO_SOON Handle = 0x803100DE FVE_E_KEY_ROTATION_NOT_ENABLED Handle = 0x803100DF FVE_E_DEVICE_NOT_JOINED Handle = 0x803100E0 FWP_E_CALLOUT_NOT_FOUND Handle = 0x80320001 FWP_E_CONDITION_NOT_FOUND Handle = 0x80320002 FWP_E_FILTER_NOT_FOUND Handle = 0x80320003 FWP_E_LAYER_NOT_FOUND Handle = 0x80320004 FWP_E_PROVIDER_NOT_FOUND Handle = 0x80320005 FWP_E_PROVIDER_CONTEXT_NOT_FOUND Handle = 0x80320006 FWP_E_SUBLAYER_NOT_FOUND Handle = 0x80320007 FWP_E_NOT_FOUND Handle = 0x80320008 FWP_E_ALREADY_EXISTS Handle = 0x80320009 FWP_E_IN_USE Handle = 0x8032000A FWP_E_DYNAMIC_SESSION_IN_PROGRESS Handle = 0x8032000B FWP_E_WRONG_SESSION Handle = 0x8032000C FWP_E_NO_TXN_IN_PROGRESS Handle = 0x8032000D FWP_E_TXN_IN_PROGRESS Handle = 0x8032000E FWP_E_TXN_ABORTED Handle = 0x8032000F FWP_E_SESSION_ABORTED Handle = 0x80320010 FWP_E_INCOMPATIBLE_TXN Handle = 0x80320011 FWP_E_TIMEOUT Handle = 0x80320012 FWP_E_NET_EVENTS_DISABLED Handle = 0x80320013 FWP_E_INCOMPATIBLE_LAYER Handle = 0x80320014 FWP_E_KM_CLIENTS_ONLY Handle = 0x80320015 FWP_E_LIFETIME_MISMATCH Handle = 0x80320016 FWP_E_BUILTIN_OBJECT Handle = 0x80320017 FWP_E_TOO_MANY_CALLOUTS Handle = 0x80320018 FWP_E_NOTIFICATION_DROPPED Handle = 0x80320019 FWP_E_TRAFFIC_MISMATCH Handle = 0x8032001A FWP_E_INCOMPATIBLE_SA_STATE Handle = 0x8032001B FWP_E_NULL_POINTER Handle = 0x8032001C FWP_E_INVALID_ENUMERATOR Handle = 0x8032001D FWP_E_INVALID_FLAGS Handle = 0x8032001E FWP_E_INVALID_NET_MASK Handle = 0x8032001F FWP_E_INVALID_RANGE Handle = 0x80320020 FWP_E_INVALID_INTERVAL Handle = 0x80320021 FWP_E_ZERO_LENGTH_ARRAY Handle = 0x80320022 FWP_E_NULL_DISPLAY_NAME Handle = 0x80320023 FWP_E_INVALID_ACTION_TYPE Handle = 0x80320024 FWP_E_INVALID_WEIGHT Handle = 0x80320025 FWP_E_MATCH_TYPE_MISMATCH Handle = 0x80320026 FWP_E_TYPE_MISMATCH Handle = 0x80320027 FWP_E_OUT_OF_BOUNDS Handle = 0x80320028 FWP_E_RESERVED Handle = 0x80320029 FWP_E_DUPLICATE_CONDITION Handle = 0x8032002A FWP_E_DUPLICATE_KEYMOD Handle = 0x8032002B FWP_E_ACTION_INCOMPATIBLE_WITH_LAYER Handle = 0x8032002C FWP_E_ACTION_INCOMPATIBLE_WITH_SUBLAYER Handle = 0x8032002D FWP_E_CONTEXT_INCOMPATIBLE_WITH_LAYER Handle = 0x8032002E FWP_E_CONTEXT_INCOMPATIBLE_WITH_CALLOUT Handle = 0x8032002F FWP_E_INCOMPATIBLE_AUTH_METHOD Handle = 0x80320030 FWP_E_INCOMPATIBLE_DH_GROUP Handle = 0x80320031 FWP_E_EM_NOT_SUPPORTED Handle = 0x80320032 FWP_E_NEVER_MATCH Handle = 0x80320033 FWP_E_PROVIDER_CONTEXT_MISMATCH Handle = 0x80320034 FWP_E_INVALID_PARAMETER Handle = 0x80320035 FWP_E_TOO_MANY_SUBLAYERS Handle = 0x80320036 FWP_E_CALLOUT_NOTIFICATION_FAILED Handle = 0x80320037 FWP_E_INVALID_AUTH_TRANSFORM Handle = 0x80320038 FWP_E_INVALID_CIPHER_TRANSFORM Handle = 0x80320039 FWP_E_INCOMPATIBLE_CIPHER_TRANSFORM Handle = 0x8032003A FWP_E_INVALID_TRANSFORM_COMBINATION Handle = 0x8032003B FWP_E_DUPLICATE_AUTH_METHOD Handle = 0x8032003C FWP_E_INVALID_TUNNEL_ENDPOINT Handle = 0x8032003D FWP_E_L2_DRIVER_NOT_READY Handle = 0x8032003E FWP_E_KEY_DICTATOR_ALREADY_REGISTERED Handle = 0x8032003F FWP_E_KEY_DICTATION_INVALID_KEYING_MATERIAL Handle = 0x80320040 FWP_E_CONNECTIONS_DISABLED Handle = 0x80320041 FWP_E_INVALID_DNS_NAME Handle = 0x80320042 FWP_E_STILL_ON Handle = 0x80320043 FWP_E_IKEEXT_NOT_RUNNING Handle = 0x80320044 FWP_E_DROP_NOICMP Handle = 0x80320104 WS_S_ASYNC Handle = 0x003D0000 WS_S_END Handle = 0x003D0001 WS_E_INVALID_FORMAT Handle = 0x803D0000 WS_E_OBJECT_FAULTED Handle = 0x803D0001 WS_E_NUMERIC_OVERFLOW Handle = 0x803D0002 WS_E_INVALID_OPERATION Handle = 0x803D0003 WS_E_OPERATION_ABORTED Handle = 0x803D0004 WS_E_ENDPOINT_ACCESS_DENIED Handle = 0x803D0005 WS_E_OPERATION_TIMED_OUT Handle = 0x803D0006 WS_E_OPERATION_ABANDONED Handle = 0x803D0007 WS_E_QUOTA_EXCEEDED Handle = 0x803D0008 WS_E_NO_TRANSLATION_AVAILABLE Handle = 0x803D0009 WS_E_SECURITY_VERIFICATION_FAILURE Handle = 0x803D000A WS_E_ADDRESS_IN_USE Handle = 0x803D000B WS_E_ADDRESS_NOT_AVAILABLE Handle = 0x803D000C WS_E_ENDPOINT_NOT_FOUND Handle = 0x803D000D WS_E_ENDPOINT_NOT_AVAILABLE Handle = 0x803D000E WS_E_ENDPOINT_FAILURE Handle = 0x803D000F WS_E_ENDPOINT_UNREACHABLE Handle = 0x803D0010 WS_E_ENDPOINT_ACTION_NOT_SUPPORTED Handle = 0x803D0011 WS_E_ENDPOINT_TOO_BUSY Handle = 0x803D0012 WS_E_ENDPOINT_FAULT_RECEIVED Handle = 0x803D0013 WS_E_ENDPOINT_DISCONNECTED Handle = 0x803D0014 WS_E_PROXY_FAILURE Handle = 0x803D0015 WS_E_PROXY_ACCESS_DENIED Handle = 0x803D0016 WS_E_NOT_SUPPORTED Handle = 0x803D0017 WS_E_PROXY_REQUIRES_BASIC_AUTH Handle = 0x803D0018 WS_E_PROXY_REQUIRES_DIGEST_AUTH Handle = 0x803D0019 WS_E_PROXY_REQUIRES_NTLM_AUTH Handle = 0x803D001A WS_E_PROXY_REQUIRES_NEGOTIATE_AUTH Handle = 0x803D001B WS_E_SERVER_REQUIRES_BASIC_AUTH Handle = 0x803D001C WS_E_SERVER_REQUIRES_DIGEST_AUTH Handle = 0x803D001D WS_E_SERVER_REQUIRES_NTLM_AUTH Handle = 0x803D001E WS_E_SERVER_REQUIRES_NEGOTIATE_AUTH Handle = 0x803D001F WS_E_INVALID_ENDPOINT_URL Handle = 0x803D0020 WS_E_OTHER Handle = 0x803D0021 WS_E_SECURITY_TOKEN_EXPIRED Handle = 0x803D0022 WS_E_SECURITY_SYSTEM_FAILURE Handle = 0x803D0023 ERROR_NDIS_INTERFACE_CLOSING syscall.Errno = 0x80340002 ERROR_NDIS_BAD_VERSION syscall.Errno = 0x80340004 ERROR_NDIS_BAD_CHARACTERISTICS syscall.Errno = 0x80340005 ERROR_NDIS_ADAPTER_NOT_FOUND syscall.Errno = 0x80340006 ERROR_NDIS_OPEN_FAILED syscall.Errno = 0x80340007 ERROR_NDIS_DEVICE_FAILED syscall.Errno = 0x80340008 ERROR_NDIS_MULTICAST_FULL syscall.Errno = 0x80340009 ERROR_NDIS_MULTICAST_EXISTS syscall.Errno = 0x8034000A ERROR_NDIS_MULTICAST_NOT_FOUND syscall.Errno = 0x8034000B ERROR_NDIS_REQUEST_ABORTED syscall.Errno = 0x8034000C ERROR_NDIS_RESET_IN_PROGRESS syscall.Errno = 0x8034000D ERROR_NDIS_NOT_SUPPORTED syscall.Errno = 0x803400BB ERROR_NDIS_INVALID_PACKET syscall.Errno = 0x8034000F ERROR_NDIS_ADAPTER_NOT_READY syscall.Errno = 0x80340011 ERROR_NDIS_INVALID_LENGTH syscall.Errno = 0x80340014 ERROR_NDIS_INVALID_DATA syscall.Errno = 0x80340015 ERROR_NDIS_BUFFER_TOO_SHORT syscall.Errno = 0x80340016 ERROR_NDIS_INVALID_OID syscall.Errno = 0x80340017 ERROR_NDIS_ADAPTER_REMOVED syscall.Errno = 0x80340018 ERROR_NDIS_UNSUPPORTED_MEDIA syscall.Errno = 0x80340019 ERROR_NDIS_GROUP_ADDRESS_IN_USE syscall.Errno = 0x8034001A ERROR_NDIS_FILE_NOT_FOUND syscall.Errno = 0x8034001B ERROR_NDIS_ERROR_READING_FILE syscall.Errno = 0x8034001C ERROR_NDIS_ALREADY_MAPPED syscall.Errno = 0x8034001D ERROR_NDIS_RESOURCE_CONFLICT syscall.Errno = 0x8034001E ERROR_NDIS_MEDIA_DISCONNECTED syscall.Errno = 0x8034001F ERROR_NDIS_INVALID_ADDRESS syscall.Errno = 0x80340022 ERROR_NDIS_INVALID_DEVICE_REQUEST syscall.Errno = 0x80340010 ERROR_NDIS_PAUSED syscall.Errno = 0x8034002A ERROR_NDIS_INTERFACE_NOT_FOUND syscall.Errno = 0x8034002B ERROR_NDIS_UNSUPPORTED_REVISION syscall.Errno = 0x8034002C ERROR_NDIS_INVALID_PORT syscall.Errno = 0x8034002D ERROR_NDIS_INVALID_PORT_STATE syscall.Errno = 0x8034002E ERROR_NDIS_LOW_POWER_STATE syscall.Errno = 0x8034002F ERROR_NDIS_REINIT_REQUIRED syscall.Errno = 0x80340030 ERROR_NDIS_NO_QUEUES syscall.Errno = 0x80340031 ERROR_NDIS_DOT11_AUTO_CONFIG_ENABLED syscall.Errno = 0x80342000 ERROR_NDIS_DOT11_MEDIA_IN_USE syscall.Errno = 0x80342001 ERROR_NDIS_DOT11_POWER_STATE_INVALID syscall.Errno = 0x80342002 ERROR_NDIS_PM_WOL_PATTERN_LIST_FULL syscall.Errno = 0x80342003 ERROR_NDIS_PM_PROTOCOL_OFFLOAD_LIST_FULL syscall.Errno = 0x80342004 ERROR_NDIS_DOT11_AP_CHANNEL_CURRENTLY_NOT_AVAILABLE syscall.Errno = 0x80342005 ERROR_NDIS_DOT11_AP_BAND_CURRENTLY_NOT_AVAILABLE syscall.Errno = 0x80342006 ERROR_NDIS_DOT11_AP_CHANNEL_NOT_ALLOWED syscall.Errno = 0x80342007 ERROR_NDIS_DOT11_AP_BAND_NOT_ALLOWED syscall.Errno = 0x80342008 ERROR_NDIS_INDICATION_REQUIRED syscall.Errno = 0x00340001 ERROR_NDIS_OFFLOAD_POLICY syscall.Errno = 0xC034100F ERROR_NDIS_OFFLOAD_CONNECTION_REJECTED syscall.Errno = 0xC0341012 ERROR_NDIS_OFFLOAD_PATH_REJECTED syscall.Errno = 0xC0341013 ERROR_HV_INVALID_HYPERCALL_CODE syscall.Errno = 0xC0350002 ERROR_HV_INVALID_HYPERCALL_INPUT syscall.Errno = 0xC0350003 ERROR_HV_INVALID_ALIGNMENT syscall.Errno = 0xC0350004 ERROR_HV_INVALID_PARAMETER syscall.Errno = 0xC0350005 ERROR_HV_ACCESS_DENIED syscall.Errno = 0xC0350006 ERROR_HV_INVALID_PARTITION_STATE syscall.Errno = 0xC0350007 ERROR_HV_OPERATION_DENIED syscall.Errno = 0xC0350008 ERROR_HV_UNKNOWN_PROPERTY syscall.Errno = 0xC0350009 ERROR_HV_PROPERTY_VALUE_OUT_OF_RANGE syscall.Errno = 0xC035000A ERROR_HV_INSUFFICIENT_MEMORY syscall.Errno = 0xC035000B ERROR_HV_PARTITION_TOO_DEEP syscall.Errno = 0xC035000C ERROR_HV_INVALID_PARTITION_ID syscall.Errno = 0xC035000D ERROR_HV_INVALID_VP_INDEX syscall.Errno = 0xC035000E ERROR_HV_INVALID_PORT_ID syscall.Errno = 0xC0350011 ERROR_HV_INVALID_CONNECTION_ID syscall.Errno = 0xC0350012 ERROR_HV_INSUFFICIENT_BUFFERS syscall.Errno = 0xC0350013 ERROR_HV_NOT_ACKNOWLEDGED syscall.Errno = 0xC0350014 ERROR_HV_INVALID_VP_STATE syscall.Errno = 0xC0350015 ERROR_HV_ACKNOWLEDGED syscall.Errno = 0xC0350016 ERROR_HV_INVALID_SAVE_RESTORE_STATE syscall.Errno = 0xC0350017 ERROR_HV_INVALID_SYNIC_STATE syscall.Errno = 0xC0350018 ERROR_HV_OBJECT_IN_USE syscall.Errno = 0xC0350019 ERROR_HV_INVALID_PROXIMITY_DOMAIN_INFO syscall.Errno = 0xC035001A ERROR_HV_NO_DATA syscall.Errno = 0xC035001B ERROR_HV_INACTIVE syscall.Errno = 0xC035001C ERROR_HV_NO_RESOURCES syscall.Errno = 0xC035001D ERROR_HV_FEATURE_UNAVAILABLE syscall.Errno = 0xC035001E ERROR_HV_INSUFFICIENT_BUFFER syscall.Errno = 0xC0350033 ERROR_HV_INSUFFICIENT_DEVICE_DOMAINS syscall.Errno = 0xC0350038 ERROR_HV_CPUID_FEATURE_VALIDATION syscall.Errno = 0xC035003C ERROR_HV_CPUID_XSAVE_FEATURE_VALIDATION syscall.Errno = 0xC035003D ERROR_HV_PROCESSOR_STARTUP_TIMEOUT syscall.Errno = 0xC035003E ERROR_HV_SMX_ENABLED syscall.Errno = 0xC035003F ERROR_HV_INVALID_LP_INDEX syscall.Errno = 0xC0350041 ERROR_HV_INVALID_REGISTER_VALUE syscall.Errno = 0xC0350050 ERROR_HV_INVALID_VTL_STATE syscall.Errno = 0xC0350051 ERROR_HV_NX_NOT_DETECTED syscall.Errno = 0xC0350055 ERROR_HV_INVALID_DEVICE_ID syscall.Errno = 0xC0350057 ERROR_HV_INVALID_DEVICE_STATE syscall.Errno = 0xC0350058 ERROR_HV_PENDING_PAGE_REQUESTS syscall.Errno = 0x00350059 ERROR_HV_PAGE_REQUEST_INVALID syscall.Errno = 0xC0350060 ERROR_HV_INVALID_CPU_GROUP_ID syscall.Errno = 0xC035006F ERROR_HV_INVALID_CPU_GROUP_STATE syscall.Errno = 0xC0350070 ERROR_HV_OPERATION_FAILED syscall.Errno = 0xC0350071 ERROR_HV_NOT_ALLOWED_WITH_NESTED_VIRT_ACTIVE syscall.Errno = 0xC0350072 ERROR_HV_INSUFFICIENT_ROOT_MEMORY syscall.Errno = 0xC0350073 ERROR_HV_NOT_PRESENT syscall.Errno = 0xC0351000 ERROR_VID_DUPLICATE_HANDLER syscall.Errno = 0xC0370001 ERROR_VID_TOO_MANY_HANDLERS syscall.Errno = 0xC0370002 ERROR_VID_QUEUE_FULL syscall.Errno = 0xC0370003 ERROR_VID_HANDLER_NOT_PRESENT syscall.Errno = 0xC0370004 ERROR_VID_INVALID_OBJECT_NAME syscall.Errno = 0xC0370005 ERROR_VID_PARTITION_NAME_TOO_LONG syscall.Errno = 0xC0370006 ERROR_VID_MESSAGE_QUEUE_NAME_TOO_LONG syscall.Errno = 0xC0370007 ERROR_VID_PARTITION_ALREADY_EXISTS syscall.Errno = 0xC0370008 ERROR_VID_PARTITION_DOES_NOT_EXIST syscall.Errno = 0xC0370009 ERROR_VID_PARTITION_NAME_NOT_FOUND syscall.Errno = 0xC037000A ERROR_VID_MESSAGE_QUEUE_ALREADY_EXISTS syscall.Errno = 0xC037000B ERROR_VID_EXCEEDED_MBP_ENTRY_MAP_LIMIT syscall.Errno = 0xC037000C ERROR_VID_MB_STILL_REFERENCED syscall.Errno = 0xC037000D ERROR_VID_CHILD_GPA_PAGE_SET_CORRUPTED syscall.Errno = 0xC037000E ERROR_VID_INVALID_NUMA_SETTINGS syscall.Errno = 0xC037000F ERROR_VID_INVALID_NUMA_NODE_INDEX syscall.Errno = 0xC0370010 ERROR_VID_NOTIFICATION_QUEUE_ALREADY_ASSOCIATED syscall.Errno = 0xC0370011 ERROR_VID_INVALID_MEMORY_BLOCK_HANDLE syscall.Errno = 0xC0370012 ERROR_VID_PAGE_RANGE_OVERFLOW syscall.Errno = 0xC0370013 ERROR_VID_INVALID_MESSAGE_QUEUE_HANDLE syscall.Errno = 0xC0370014 ERROR_VID_INVALID_GPA_RANGE_HANDLE syscall.Errno = 0xC0370015 ERROR_VID_NO_MEMORY_BLOCK_NOTIFICATION_QUEUE syscall.Errno = 0xC0370016 ERROR_VID_MEMORY_BLOCK_LOCK_COUNT_EXCEEDED syscall.Errno = 0xC0370017 ERROR_VID_INVALID_PPM_HANDLE syscall.Errno = 0xC0370018 ERROR_VID_MBPS_ARE_LOCKED syscall.Errno = 0xC0370019 ERROR_VID_MESSAGE_QUEUE_CLOSED syscall.Errno = 0xC037001A ERROR_VID_VIRTUAL_PROCESSOR_LIMIT_EXCEEDED syscall.Errno = 0xC037001B ERROR_VID_STOP_PENDING syscall.Errno = 0xC037001C ERROR_VID_INVALID_PROCESSOR_STATE syscall.Errno = 0xC037001D ERROR_VID_EXCEEDED_KM_CONTEXT_COUNT_LIMIT syscall.Errno = 0xC037001E ERROR_VID_KM_INTERFACE_ALREADY_INITIALIZED syscall.Errno = 0xC037001F ERROR_VID_MB_PROPERTY_ALREADY_SET_RESET syscall.Errno = 0xC0370020 ERROR_VID_MMIO_RANGE_DESTROYED syscall.Errno = 0xC0370021 ERROR_VID_INVALID_CHILD_GPA_PAGE_SET syscall.Errno = 0xC0370022 ERROR_VID_RESERVE_PAGE_SET_IS_BEING_USED syscall.Errno = 0xC0370023 ERROR_VID_RESERVE_PAGE_SET_TOO_SMALL syscall.Errno = 0xC0370024 ERROR_VID_MBP_ALREADY_LOCKED_USING_RESERVED_PAGE syscall.Errno = 0xC0370025 ERROR_VID_MBP_COUNT_EXCEEDED_LIMIT syscall.Errno = 0xC0370026 ERROR_VID_SAVED_STATE_CORRUPT syscall.Errno = 0xC0370027 ERROR_VID_SAVED_STATE_UNRECOGNIZED_ITEM syscall.Errno = 0xC0370028 ERROR_VID_SAVED_STATE_INCOMPATIBLE syscall.Errno = 0xC0370029 ERROR_VID_VTL_ACCESS_DENIED syscall.Errno = 0xC037002A ERROR_VMCOMPUTE_TERMINATED_DURING_START syscall.Errno = 0xC0370100 ERROR_VMCOMPUTE_IMAGE_MISMATCH syscall.Errno = 0xC0370101 ERROR_VMCOMPUTE_HYPERV_NOT_INSTALLED syscall.Errno = 0xC0370102 ERROR_VMCOMPUTE_OPERATION_PENDING syscall.Errno = 0xC0370103 ERROR_VMCOMPUTE_TOO_MANY_NOTIFICATIONS syscall.Errno = 0xC0370104 ERROR_VMCOMPUTE_INVALID_STATE syscall.Errno = 0xC0370105 ERROR_VMCOMPUTE_UNEXPECTED_EXIT syscall.Errno = 0xC0370106 ERROR_VMCOMPUTE_TERMINATED syscall.Errno = 0xC0370107 ERROR_VMCOMPUTE_CONNECT_FAILED syscall.Errno = 0xC0370108 ERROR_VMCOMPUTE_TIMEOUT syscall.Errno = 0xC0370109 ERROR_VMCOMPUTE_CONNECTION_CLOSED syscall.Errno = 0xC037010A ERROR_VMCOMPUTE_UNKNOWN_MESSAGE syscall.Errno = 0xC037010B ERROR_VMCOMPUTE_UNSUPPORTED_PROTOCOL_VERSION syscall.Errno = 0xC037010C ERROR_VMCOMPUTE_INVALID_JSON syscall.Errno = 0xC037010D ERROR_VMCOMPUTE_SYSTEM_NOT_FOUND syscall.Errno = 0xC037010E ERROR_VMCOMPUTE_SYSTEM_ALREADY_EXISTS syscall.Errno = 0xC037010F ERROR_VMCOMPUTE_SYSTEM_ALREADY_STOPPED syscall.Errno = 0xC0370110 ERROR_VMCOMPUTE_PROTOCOL_ERROR syscall.Errno = 0xC0370111 ERROR_VMCOMPUTE_INVALID_LAYER syscall.Errno = 0xC0370112 ERROR_VMCOMPUTE_WINDOWS_INSIDER_REQUIRED syscall.Errno = 0xC0370113 HCS_E_TERMINATED_DURING_START Handle = 0x80370100 HCS_E_IMAGE_MISMATCH Handle = 0x80370101 HCS_E_HYPERV_NOT_INSTALLED Handle = 0x80370102 HCS_E_INVALID_STATE Handle = 0x80370105 HCS_E_UNEXPECTED_EXIT Handle = 0x80370106 HCS_E_TERMINATED Handle = 0x80370107 HCS_E_CONNECT_FAILED Handle = 0x80370108 HCS_E_CONNECTION_TIMEOUT Handle = 0x80370109 HCS_E_CONNECTION_CLOSED Handle = 0x8037010A HCS_E_UNKNOWN_MESSAGE Handle = 0x8037010B HCS_E_UNSUPPORTED_PROTOCOL_VERSION Handle = 0x8037010C HCS_E_INVALID_JSON Handle = 0x8037010D HCS_E_SYSTEM_NOT_FOUND Handle = 0x8037010E HCS_E_SYSTEM_ALREADY_EXISTS Handle = 0x8037010F HCS_E_SYSTEM_ALREADY_STOPPED Handle = 0x80370110 HCS_E_PROTOCOL_ERROR Handle = 0x80370111 HCS_E_INVALID_LAYER Handle = 0x80370112 HCS_E_WINDOWS_INSIDER_REQUIRED Handle = 0x80370113 HCS_E_SERVICE_NOT_AVAILABLE Handle = 0x80370114 HCS_E_OPERATION_NOT_STARTED Handle = 0x80370115 HCS_E_OPERATION_ALREADY_STARTED Handle = 0x80370116 HCS_E_OPERATION_PENDING Handle = 0x80370117 HCS_E_OPERATION_TIMEOUT Handle = 0x80370118 HCS_E_OPERATION_SYSTEM_CALLBACK_ALREADY_SET Handle = 0x80370119 HCS_E_OPERATION_RESULT_ALLOCATION_FAILED Handle = 0x8037011A HCS_E_ACCESS_DENIED Handle = 0x8037011B HCS_E_GUEST_CRITICAL_ERROR Handle = 0x8037011C ERROR_VNET_VIRTUAL_SWITCH_NAME_NOT_FOUND syscall.Errno = 0xC0370200 ERROR_VID_REMOTE_NODE_PARENT_GPA_PAGES_USED syscall.Errno = 0x80370001 WHV_E_UNKNOWN_CAPABILITY Handle = 0x80370300 WHV_E_INSUFFICIENT_BUFFER Handle = 0x80370301 WHV_E_UNKNOWN_PROPERTY Handle = 0x80370302 WHV_E_UNSUPPORTED_HYPERVISOR_CONFIG Handle = 0x80370303 WHV_E_INVALID_PARTITION_CONFIG Handle = 0x80370304 WHV_E_GPA_RANGE_NOT_FOUND Handle = 0x80370305 WHV_E_VP_ALREADY_EXISTS Handle = 0x80370306 WHV_E_VP_DOES_NOT_EXIST Handle = 0x80370307 WHV_E_INVALID_VP_STATE Handle = 0x80370308 WHV_E_INVALID_VP_REGISTER_NAME Handle = 0x80370309 ERROR_VSMB_SAVED_STATE_FILE_NOT_FOUND syscall.Errno = 0xC0370400 ERROR_VSMB_SAVED_STATE_CORRUPT syscall.Errno = 0xC0370401 ERROR_VOLMGR_INCOMPLETE_REGENERATION syscall.Errno = 0x80380001 ERROR_VOLMGR_INCOMPLETE_DISK_MIGRATION syscall.Errno = 0x80380002 ERROR_VOLMGR_DATABASE_FULL syscall.Errno = 0xC0380001 ERROR_VOLMGR_DISK_CONFIGURATION_CORRUPTED syscall.Errno = 0xC0380002 ERROR_VOLMGR_DISK_CONFIGURATION_NOT_IN_SYNC syscall.Errno = 0xC0380003 ERROR_VOLMGR_PACK_CONFIG_UPDATE_FAILED syscall.Errno = 0xC0380004 ERROR_VOLMGR_DISK_CONTAINS_NON_SIMPLE_VOLUME syscall.Errno = 0xC0380005 ERROR_VOLMGR_DISK_DUPLICATE syscall.Errno = 0xC0380006 ERROR_VOLMGR_DISK_DYNAMIC syscall.Errno = 0xC0380007 ERROR_VOLMGR_DISK_ID_INVALID syscall.Errno = 0xC0380008 ERROR_VOLMGR_DISK_INVALID syscall.Errno = 0xC0380009 ERROR_VOLMGR_DISK_LAST_VOTER syscall.Errno = 0xC038000A ERROR_VOLMGR_DISK_LAYOUT_INVALID syscall.Errno = 0xC038000B ERROR_VOLMGR_DISK_LAYOUT_NON_BASIC_BETWEEN_BASIC_PARTITIONS syscall.Errno = 0xC038000C ERROR_VOLMGR_DISK_LAYOUT_NOT_CYLINDER_ALIGNED syscall.Errno = 0xC038000D ERROR_VOLMGR_DISK_LAYOUT_PARTITIONS_TOO_SMALL syscall.Errno = 0xC038000E ERROR_VOLMGR_DISK_LAYOUT_PRIMARY_BETWEEN_LOGICAL_PARTITIONS syscall.Errno = 0xC038000F ERROR_VOLMGR_DISK_LAYOUT_TOO_MANY_PARTITIONS syscall.Errno = 0xC0380010 ERROR_VOLMGR_DISK_MISSING syscall.Errno = 0xC0380011 ERROR_VOLMGR_DISK_NOT_EMPTY syscall.Errno = 0xC0380012 ERROR_VOLMGR_DISK_NOT_ENOUGH_SPACE syscall.Errno = 0xC0380013 ERROR_VOLMGR_DISK_REVECTORING_FAILED syscall.Errno = 0xC0380014 ERROR_VOLMGR_DISK_SECTOR_SIZE_INVALID syscall.Errno = 0xC0380015 ERROR_VOLMGR_DISK_SET_NOT_CONTAINED syscall.Errno = 0xC0380016 ERROR_VOLMGR_DISK_USED_BY_MULTIPLE_MEMBERS syscall.Errno = 0xC0380017 ERROR_VOLMGR_DISK_USED_BY_MULTIPLE_PLEXES syscall.Errno = 0xC0380018 ERROR_VOLMGR_DYNAMIC_DISK_NOT_SUPPORTED syscall.Errno = 0xC0380019 ERROR_VOLMGR_EXTENT_ALREADY_USED syscall.Errno = 0xC038001A ERROR_VOLMGR_EXTENT_NOT_CONTIGUOUS syscall.Errno = 0xC038001B ERROR_VOLMGR_EXTENT_NOT_IN_PUBLIC_REGION syscall.Errno = 0xC038001C ERROR_VOLMGR_EXTENT_NOT_SECTOR_ALIGNED syscall.Errno = 0xC038001D ERROR_VOLMGR_EXTENT_OVERLAPS_EBR_PARTITION syscall.Errno = 0xC038001E ERROR_VOLMGR_EXTENT_VOLUME_LENGTHS_DO_NOT_MATCH syscall.Errno = 0xC038001F ERROR_VOLMGR_FAULT_TOLERANT_NOT_SUPPORTED syscall.Errno = 0xC0380020 ERROR_VOLMGR_INTERLEAVE_LENGTH_INVALID syscall.Errno = 0xC0380021 ERROR_VOLMGR_MAXIMUM_REGISTERED_USERS syscall.Errno = 0xC0380022 ERROR_VOLMGR_MEMBER_IN_SYNC syscall.Errno = 0xC0380023 ERROR_VOLMGR_MEMBER_INDEX_DUPLICATE syscall.Errno = 0xC0380024 ERROR_VOLMGR_MEMBER_INDEX_INVALID syscall.Errno = 0xC0380025 ERROR_VOLMGR_MEMBER_MISSING syscall.Errno = 0xC0380026 ERROR_VOLMGR_MEMBER_NOT_DETACHED syscall.Errno = 0xC0380027 ERROR_VOLMGR_MEMBER_REGENERATING syscall.Errno = 0xC0380028 ERROR_VOLMGR_ALL_DISKS_FAILED syscall.Errno = 0xC0380029 ERROR_VOLMGR_NO_REGISTERED_USERS syscall.Errno = 0xC038002A ERROR_VOLMGR_NO_SUCH_USER syscall.Errno = 0xC038002B ERROR_VOLMGR_NOTIFICATION_RESET syscall.Errno = 0xC038002C ERROR_VOLMGR_NUMBER_OF_MEMBERS_INVALID syscall.Errno = 0xC038002D ERROR_VOLMGR_NUMBER_OF_PLEXES_INVALID syscall.Errno = 0xC038002E ERROR_VOLMGR_PACK_DUPLICATE syscall.Errno = 0xC038002F ERROR_VOLMGR_PACK_ID_INVALID syscall.Errno = 0xC0380030 ERROR_VOLMGR_PACK_INVALID syscall.Errno = 0xC0380031 ERROR_VOLMGR_PACK_NAME_INVALID syscall.Errno = 0xC0380032 ERROR_VOLMGR_PACK_OFFLINE syscall.Errno = 0xC0380033 ERROR_VOLMGR_PACK_HAS_QUORUM syscall.Errno = 0xC0380034 ERROR_VOLMGR_PACK_WITHOUT_QUORUM syscall.Errno = 0xC0380035 ERROR_VOLMGR_PARTITION_STYLE_INVALID syscall.Errno = 0xC0380036 ERROR_VOLMGR_PARTITION_UPDATE_FAILED syscall.Errno = 0xC0380037 ERROR_VOLMGR_PLEX_IN_SYNC syscall.Errno = 0xC0380038 ERROR_VOLMGR_PLEX_INDEX_DUPLICATE syscall.Errno = 0xC0380039 ERROR_VOLMGR_PLEX_INDEX_INVALID syscall.Errno = 0xC038003A ERROR_VOLMGR_PLEX_LAST_ACTIVE syscall.Errno = 0xC038003B ERROR_VOLMGR_PLEX_MISSING syscall.Errno = 0xC038003C ERROR_VOLMGR_PLEX_REGENERATING syscall.Errno = 0xC038003D ERROR_VOLMGR_PLEX_TYPE_INVALID syscall.Errno = 0xC038003E ERROR_VOLMGR_PLEX_NOT_RAID5 syscall.Errno = 0xC038003F ERROR_VOLMGR_PLEX_NOT_SIMPLE syscall.Errno = 0xC0380040 ERROR_VOLMGR_STRUCTURE_SIZE_INVALID syscall.Errno = 0xC0380041 ERROR_VOLMGR_TOO_MANY_NOTIFICATION_REQUESTS syscall.Errno = 0xC0380042 ERROR_VOLMGR_TRANSACTION_IN_PROGRESS syscall.Errno = 0xC0380043 ERROR_VOLMGR_UNEXPECTED_DISK_LAYOUT_CHANGE syscall.Errno = 0xC0380044 ERROR_VOLMGR_VOLUME_CONTAINS_MISSING_DISK syscall.Errno = 0xC0380045 ERROR_VOLMGR_VOLUME_ID_INVALID syscall.Errno = 0xC0380046 ERROR_VOLMGR_VOLUME_LENGTH_INVALID syscall.Errno = 0xC0380047 ERROR_VOLMGR_VOLUME_LENGTH_NOT_SECTOR_SIZE_MULTIPLE syscall.Errno = 0xC0380048 ERROR_VOLMGR_VOLUME_NOT_MIRRORED syscall.Errno = 0xC0380049 ERROR_VOLMGR_VOLUME_NOT_RETAINED syscall.Errno = 0xC038004A ERROR_VOLMGR_VOLUME_OFFLINE syscall.Errno = 0xC038004B ERROR_VOLMGR_VOLUME_RETAINED syscall.Errno = 0xC038004C ERROR_VOLMGR_NUMBER_OF_EXTENTS_INVALID syscall.Errno = 0xC038004D ERROR_VOLMGR_DIFFERENT_SECTOR_SIZE syscall.Errno = 0xC038004E ERROR_VOLMGR_BAD_BOOT_DISK syscall.Errno = 0xC038004F ERROR_VOLMGR_PACK_CONFIG_OFFLINE syscall.Errno = 0xC0380050 ERROR_VOLMGR_PACK_CONFIG_ONLINE syscall.Errno = 0xC0380051 ERROR_VOLMGR_NOT_PRIMARY_PACK syscall.Errno = 0xC0380052 ERROR_VOLMGR_PACK_LOG_UPDATE_FAILED syscall.Errno = 0xC0380053 ERROR_VOLMGR_NUMBER_OF_DISKS_IN_PLEX_INVALID syscall.Errno = 0xC0380054 ERROR_VOLMGR_NUMBER_OF_DISKS_IN_MEMBER_INVALID syscall.Errno = 0xC0380055 ERROR_VOLMGR_VOLUME_MIRRORED syscall.Errno = 0xC0380056 ERROR_VOLMGR_PLEX_NOT_SIMPLE_SPANNED syscall.Errno = 0xC0380057 ERROR_VOLMGR_NO_VALID_LOG_COPIES syscall.Errno = 0xC0380058 ERROR_VOLMGR_PRIMARY_PACK_PRESENT syscall.Errno = 0xC0380059 ERROR_VOLMGR_NUMBER_OF_DISKS_INVALID syscall.Errno = 0xC038005A ERROR_VOLMGR_MIRROR_NOT_SUPPORTED syscall.Errno = 0xC038005B ERROR_VOLMGR_RAID5_NOT_SUPPORTED syscall.Errno = 0xC038005C ERROR_BCD_NOT_ALL_ENTRIES_IMPORTED syscall.Errno = 0x80390001 ERROR_BCD_TOO_MANY_ELEMENTS syscall.Errno = 0xC0390002 ERROR_BCD_NOT_ALL_ENTRIES_SYNCHRONIZED syscall.Errno = 0x80390003 ERROR_VHD_DRIVE_FOOTER_MISSING syscall.Errno = 0xC03A0001 ERROR_VHD_DRIVE_FOOTER_CHECKSUM_MISMATCH syscall.Errno = 0xC03A0002 ERROR_VHD_DRIVE_FOOTER_CORRUPT syscall.Errno = 0xC03A0003 ERROR_VHD_FORMAT_UNKNOWN syscall.Errno = 0xC03A0004 ERROR_VHD_FORMAT_UNSUPPORTED_VERSION syscall.Errno = 0xC03A0005 ERROR_VHD_SPARSE_HEADER_CHECKSUM_MISMATCH syscall.Errno = 0xC03A0006 ERROR_VHD_SPARSE_HEADER_UNSUPPORTED_VERSION syscall.Errno = 0xC03A0007 ERROR_VHD_SPARSE_HEADER_CORRUPT syscall.Errno = 0xC03A0008 ERROR_VHD_BLOCK_ALLOCATION_FAILURE syscall.Errno = 0xC03A0009 ERROR_VHD_BLOCK_ALLOCATION_TABLE_CORRUPT syscall.Errno = 0xC03A000A ERROR_VHD_INVALID_BLOCK_SIZE syscall.Errno = 0xC03A000B ERROR_VHD_BITMAP_MISMATCH syscall.Errno = 0xC03A000C ERROR_VHD_PARENT_VHD_NOT_FOUND syscall.Errno = 0xC03A000D ERROR_VHD_CHILD_PARENT_ID_MISMATCH syscall.Errno = 0xC03A000E ERROR_VHD_CHILD_PARENT_TIMESTAMP_MISMATCH syscall.Errno = 0xC03A000F ERROR_VHD_METADATA_READ_FAILURE syscall.Errno = 0xC03A0010 ERROR_VHD_METADATA_WRITE_FAILURE syscall.Errno = 0xC03A0011 ERROR_VHD_INVALID_SIZE syscall.Errno = 0xC03A0012 ERROR_VHD_INVALID_FILE_SIZE syscall.Errno = 0xC03A0013 ERROR_VIRTDISK_PROVIDER_NOT_FOUND syscall.Errno = 0xC03A0014 ERROR_VIRTDISK_NOT_VIRTUAL_DISK syscall.Errno = 0xC03A0015 ERROR_VHD_PARENT_VHD_ACCESS_DENIED syscall.Errno = 0xC03A0016 ERROR_VHD_CHILD_PARENT_SIZE_MISMATCH syscall.Errno = 0xC03A0017 ERROR_VHD_DIFFERENCING_CHAIN_CYCLE_DETECTED syscall.Errno = 0xC03A0018 ERROR_VHD_DIFFERENCING_CHAIN_ERROR_IN_PARENT syscall.Errno = 0xC03A0019 ERROR_VIRTUAL_DISK_LIMITATION syscall.Errno = 0xC03A001A ERROR_VHD_INVALID_TYPE syscall.Errno = 0xC03A001B ERROR_VHD_INVALID_STATE syscall.Errno = 0xC03A001C ERROR_VIRTDISK_UNSUPPORTED_DISK_SECTOR_SIZE syscall.Errno = 0xC03A001D ERROR_VIRTDISK_DISK_ALREADY_OWNED syscall.Errno = 0xC03A001E ERROR_VIRTDISK_DISK_ONLINE_AND_WRITABLE syscall.Errno = 0xC03A001F ERROR_CTLOG_TRACKING_NOT_INITIALIZED syscall.Errno = 0xC03A0020 ERROR_CTLOG_LOGFILE_SIZE_EXCEEDED_MAXSIZE syscall.Errno = 0xC03A0021 ERROR_CTLOG_VHD_CHANGED_OFFLINE syscall.Errno = 0xC03A0022 ERROR_CTLOG_INVALID_TRACKING_STATE syscall.Errno = 0xC03A0023 ERROR_CTLOG_INCONSISTENT_TRACKING_FILE syscall.Errno = 0xC03A0024 ERROR_VHD_RESIZE_WOULD_TRUNCATE_DATA syscall.Errno = 0xC03A0025 ERROR_VHD_COULD_NOT_COMPUTE_MINIMUM_VIRTUAL_SIZE syscall.Errno = 0xC03A0026 ERROR_VHD_ALREADY_AT_OR_BELOW_MINIMUM_VIRTUAL_SIZE syscall.Errno = 0xC03A0027 ERROR_VHD_METADATA_FULL syscall.Errno = 0xC03A0028 ERROR_VHD_INVALID_CHANGE_TRACKING_ID syscall.Errno = 0xC03A0029 ERROR_VHD_CHANGE_TRACKING_DISABLED syscall.Errno = 0xC03A002A ERROR_VHD_MISSING_CHANGE_TRACKING_INFORMATION syscall.Errno = 0xC03A0030 ERROR_QUERY_STORAGE_ERROR syscall.Errno = 0x803A0001 HCN_E_NETWORK_NOT_FOUND Handle = 0x803B0001 HCN_E_ENDPOINT_NOT_FOUND Handle = 0x803B0002 HCN_E_LAYER_NOT_FOUND Handle = 0x803B0003 HCN_E_SWITCH_NOT_FOUND Handle = 0x803B0004 HCN_E_SUBNET_NOT_FOUND Handle = 0x803B0005 HCN_E_ADAPTER_NOT_FOUND Handle = 0x803B0006 HCN_E_PORT_NOT_FOUND Handle = 0x803B0007 HCN_E_POLICY_NOT_FOUND Handle = 0x803B0008 HCN_E_VFP_PORTSETTING_NOT_FOUND Handle = 0x803B0009 HCN_E_INVALID_NETWORK Handle = 0x803B000A HCN_E_INVALID_NETWORK_TYPE Handle = 0x803B000B HCN_E_INVALID_ENDPOINT Handle = 0x803B000C HCN_E_INVALID_POLICY Handle = 0x803B000D HCN_E_INVALID_POLICY_TYPE Handle = 0x803B000E HCN_E_INVALID_REMOTE_ENDPOINT_OPERATION Handle = 0x803B000F HCN_E_NETWORK_ALREADY_EXISTS Handle = 0x803B0010 HCN_E_LAYER_ALREADY_EXISTS Handle = 0x803B0011 HCN_E_POLICY_ALREADY_EXISTS Handle = 0x803B0012 HCN_E_PORT_ALREADY_EXISTS Handle = 0x803B0013 HCN_E_ENDPOINT_ALREADY_ATTACHED Handle = 0x803B0014 HCN_E_REQUEST_UNSUPPORTED Handle = 0x803B0015 HCN_E_MAPPING_NOT_SUPPORTED Handle = 0x803B0016 HCN_E_DEGRADED_OPERATION Handle = 0x803B0017 HCN_E_SHARED_SWITCH_MODIFICATION Handle = 0x803B0018 HCN_E_GUID_CONVERSION_FAILURE Handle = 0x803B0019 HCN_E_REGKEY_FAILURE Handle = 0x803B001A HCN_E_INVALID_JSON Handle = 0x803B001B HCN_E_INVALID_JSON_REFERENCE Handle = 0x803B001C HCN_E_ENDPOINT_SHARING_DISABLED Handle = 0x803B001D HCN_E_INVALID_IP Handle = 0x803B001E HCN_E_SWITCH_EXTENSION_NOT_FOUND Handle = 0x803B001F HCN_E_MANAGER_STOPPED Handle = 0x803B0020 GCN_E_MODULE_NOT_FOUND Handle = 0x803B0021 GCN_E_NO_REQUEST_HANDLERS Handle = 0x803B0022 GCN_E_REQUEST_UNSUPPORTED Handle = 0x803B0023 GCN_E_RUNTIMEKEYS_FAILED Handle = 0x803B0024 GCN_E_NETADAPTER_TIMEOUT Handle = 0x803B0025 GCN_E_NETADAPTER_NOT_FOUND Handle = 0x803B0026 GCN_E_NETCOMPARTMENT_NOT_FOUND Handle = 0x803B0027 GCN_E_NETINTERFACE_NOT_FOUND Handle = 0x803B0028 GCN_E_DEFAULTNAMESPACE_EXISTS Handle = 0x803B0029 HCN_E_ICS_DISABLED Handle = 0x803B002A HCN_E_ENDPOINT_NAMESPACE_ALREADY_EXISTS Handle = 0x803B002B HCN_E_ENTITY_HAS_REFERENCES Handle = 0x803B002C HCN_E_INVALID_INTERNAL_PORT Handle = 0x803B002D HCN_E_NAMESPACE_ATTACH_FAILED Handle = 0x803B002E HCN_E_ADDR_INVALID_OR_RESERVED Handle = 0x803B002F SDIAG_E_CANCELLED syscall.Errno = 0x803C0100 SDIAG_E_SCRIPT syscall.Errno = 0x803C0101 SDIAG_E_POWERSHELL syscall.Errno = 0x803C0102 SDIAG_E_MANAGEDHOST syscall.Errno = 0x803C0103 SDIAG_E_NOVERIFIER syscall.Errno = 0x803C0104 SDIAG_S_CANNOTRUN syscall.Errno = 0x003C0105 SDIAG_E_DISABLED syscall.Errno = 0x803C0106 SDIAG_E_TRUST syscall.Errno = 0x803C0107 SDIAG_E_CANNOTRUN syscall.Errno = 0x803C0108 SDIAG_E_VERSION syscall.Errno = 0x803C0109 SDIAG_E_RESOURCE syscall.Errno = 0x803C010A SDIAG_E_ROOTCAUSE syscall.Errno = 0x803C010B WPN_E_CHANNEL_CLOSED Handle = 0x803E0100 WPN_E_CHANNEL_REQUEST_NOT_COMPLETE Handle = 0x803E0101 WPN_E_INVALID_APP Handle = 0x803E0102 WPN_E_OUTSTANDING_CHANNEL_REQUEST Handle = 0x803E0103 WPN_E_DUPLICATE_CHANNEL Handle = 0x803E0104 WPN_E_PLATFORM_UNAVAILABLE Handle = 0x803E0105 WPN_E_NOTIFICATION_POSTED Handle = 0x803E0106 WPN_E_NOTIFICATION_HIDDEN Handle = 0x803E0107 WPN_E_NOTIFICATION_NOT_POSTED Handle = 0x803E0108 WPN_E_CLOUD_DISABLED Handle = 0x803E0109 WPN_E_CLOUD_INCAPABLE Handle = 0x803E0110 WPN_E_CLOUD_AUTH_UNAVAILABLE Handle = 0x803E011A WPN_E_CLOUD_SERVICE_UNAVAILABLE Handle = 0x803E011B WPN_E_FAILED_LOCK_SCREEN_UPDATE_INTIALIZATION Handle = 0x803E011C WPN_E_NOTIFICATION_DISABLED Handle = 0x803E0111 WPN_E_NOTIFICATION_INCAPABLE Handle = 0x803E0112 WPN_E_INTERNET_INCAPABLE Handle = 0x803E0113 WPN_E_NOTIFICATION_TYPE_DISABLED Handle = 0x803E0114 WPN_E_NOTIFICATION_SIZE Handle = 0x803E0115 WPN_E_TAG_SIZE Handle = 0x803E0116 WPN_E_ACCESS_DENIED Handle = 0x803E0117 WPN_E_DUPLICATE_REGISTRATION Handle = 0x803E0118 WPN_E_PUSH_NOTIFICATION_INCAPABLE Handle = 0x803E0119 WPN_E_DEV_ID_SIZE Handle = 0x803E0120 WPN_E_TAG_ALPHANUMERIC Handle = 0x803E012A WPN_E_INVALID_HTTP_STATUS_CODE Handle = 0x803E012B WPN_E_OUT_OF_SESSION Handle = 0x803E0200 WPN_E_POWER_SAVE Handle = 0x803E0201 WPN_E_IMAGE_NOT_FOUND_IN_CACHE Handle = 0x803E0202 WPN_E_ALL_URL_NOT_COMPLETED Handle = 0x803E0203 WPN_E_INVALID_CLOUD_IMAGE Handle = 0x803E0204 WPN_E_NOTIFICATION_ID_MATCHED Handle = 0x803E0205 WPN_E_CALLBACK_ALREADY_REGISTERED Handle = 0x803E0206 WPN_E_TOAST_NOTIFICATION_DROPPED Handle = 0x803E0207 WPN_E_STORAGE_LOCKED Handle = 0x803E0208 WPN_E_GROUP_SIZE Handle = 0x803E0209 WPN_E_GROUP_ALPHANUMERIC Handle = 0x803E020A WPN_E_CLOUD_DISABLED_FOR_APP Handle = 0x803E020B E_MBN_CONTEXT_NOT_ACTIVATED Handle = 0x80548201 E_MBN_BAD_SIM Handle = 0x80548202 E_MBN_DATA_CLASS_NOT_AVAILABLE Handle = 0x80548203 E_MBN_INVALID_ACCESS_STRING Handle = 0x80548204 E_MBN_MAX_ACTIVATED_CONTEXTS Handle = 0x80548205 E_MBN_PACKET_SVC_DETACHED Handle = 0x80548206 E_MBN_PROVIDER_NOT_VISIBLE Handle = 0x80548207 E_MBN_RADIO_POWER_OFF Handle = 0x80548208 E_MBN_SERVICE_NOT_ACTIVATED Handle = 0x80548209 E_MBN_SIM_NOT_INSERTED Handle = 0x8054820A E_MBN_VOICE_CALL_IN_PROGRESS Handle = 0x8054820B E_MBN_INVALID_CACHE Handle = 0x8054820C E_MBN_NOT_REGISTERED Handle = 0x8054820D E_MBN_PROVIDERS_NOT_FOUND Handle = 0x8054820E E_MBN_PIN_NOT_SUPPORTED Handle = 0x8054820F E_MBN_PIN_REQUIRED Handle = 0x80548210 E_MBN_PIN_DISABLED Handle = 0x80548211 E_MBN_FAILURE Handle = 0x80548212 E_MBN_INVALID_PROFILE Handle = 0x80548218 E_MBN_DEFAULT_PROFILE_EXIST Handle = 0x80548219 E_MBN_SMS_ENCODING_NOT_SUPPORTED Handle = 0x80548220 E_MBN_SMS_FILTER_NOT_SUPPORTED Handle = 0x80548221 E_MBN_SMS_INVALID_MEMORY_INDEX Handle = 0x80548222 E_MBN_SMS_LANG_NOT_SUPPORTED Handle = 0x80548223 E_MBN_SMS_MEMORY_FAILURE Handle = 0x80548224 E_MBN_SMS_NETWORK_TIMEOUT Handle = 0x80548225 E_MBN_SMS_UNKNOWN_SMSC_ADDRESS Handle = 0x80548226 E_MBN_SMS_FORMAT_NOT_SUPPORTED Handle = 0x80548227 E_MBN_SMS_OPERATION_NOT_ALLOWED Handle = 0x80548228 E_MBN_SMS_MEMORY_FULL Handle = 0x80548229 PEER_E_IPV6_NOT_INSTALLED Handle = 0x80630001 PEER_E_NOT_INITIALIZED Handle = 0x80630002 PEER_E_CANNOT_START_SERVICE Handle = 0x80630003 PEER_E_NOT_LICENSED Handle = 0x80630004 PEER_E_INVALID_GRAPH Handle = 0x80630010 PEER_E_DBNAME_CHANGED Handle = 0x80630011 PEER_E_DUPLICATE_GRAPH Handle = 0x80630012 PEER_E_GRAPH_NOT_READY Handle = 0x80630013 PEER_E_GRAPH_SHUTTING_DOWN Handle = 0x80630014 PEER_E_GRAPH_IN_USE Handle = 0x80630015 PEER_E_INVALID_DATABASE Handle = 0x80630016 PEER_E_TOO_MANY_ATTRIBUTES Handle = 0x80630017 PEER_E_CONNECTION_NOT_FOUND Handle = 0x80630103 PEER_E_CONNECT_SELF Handle = 0x80630106 PEER_E_ALREADY_LISTENING Handle = 0x80630107 PEER_E_NODE_NOT_FOUND Handle = 0x80630108 PEER_E_CONNECTION_FAILED Handle = 0x80630109 PEER_E_CONNECTION_NOT_AUTHENTICATED Handle = 0x8063010A PEER_E_CONNECTION_REFUSED Handle = 0x8063010B PEER_E_CLASSIFIER_TOO_LONG Handle = 0x80630201 PEER_E_TOO_MANY_IDENTITIES Handle = 0x80630202 PEER_E_NO_KEY_ACCESS Handle = 0x80630203 PEER_E_GROUPS_EXIST Handle = 0x80630204 PEER_E_RECORD_NOT_FOUND Handle = 0x80630301 PEER_E_DATABASE_ACCESSDENIED Handle = 0x80630302 PEER_E_DBINITIALIZATION_FAILED Handle = 0x80630303 PEER_E_MAX_RECORD_SIZE_EXCEEDED Handle = 0x80630304 PEER_E_DATABASE_ALREADY_PRESENT Handle = 0x80630305 PEER_E_DATABASE_NOT_PRESENT Handle = 0x80630306 PEER_E_IDENTITY_NOT_FOUND Handle = 0x80630401 PEER_E_EVENT_HANDLE_NOT_FOUND Handle = 0x80630501 PEER_E_INVALID_SEARCH Handle = 0x80630601 PEER_E_INVALID_ATTRIBUTES Handle = 0x80630602 PEER_E_INVITATION_NOT_TRUSTED Handle = 0x80630701 PEER_E_CHAIN_TOO_LONG Handle = 0x80630703 PEER_E_INVALID_TIME_PERIOD Handle = 0x80630705 PEER_E_CIRCULAR_CHAIN_DETECTED Handle = 0x80630706 PEER_E_CERT_STORE_CORRUPTED Handle = 0x80630801 PEER_E_NO_CLOUD Handle = 0x80631001 PEER_E_CLOUD_NAME_AMBIGUOUS Handle = 0x80631005 PEER_E_INVALID_RECORD Handle = 0x80632010 PEER_E_NOT_AUTHORIZED Handle = 0x80632020 PEER_E_PASSWORD_DOES_NOT_MEET_POLICY Handle = 0x80632021 PEER_E_DEFERRED_VALIDATION Handle = 0x80632030 PEER_E_INVALID_GROUP_PROPERTIES Handle = 0x80632040 PEER_E_INVALID_PEER_NAME Handle = 0x80632050 PEER_E_INVALID_CLASSIFIER Handle = 0x80632060 PEER_E_INVALID_FRIENDLY_NAME Handle = 0x80632070 PEER_E_INVALID_ROLE_PROPERTY Handle = 0x80632071 PEER_E_INVALID_CLASSIFIER_PROPERTY Handle = 0x80632072 PEER_E_INVALID_RECORD_EXPIRATION Handle = 0x80632080 PEER_E_INVALID_CREDENTIAL_INFO Handle = 0x80632081 PEER_E_INVALID_CREDENTIAL Handle = 0x80632082 PEER_E_INVALID_RECORD_SIZE Handle = 0x80632083 PEER_E_UNSUPPORTED_VERSION Handle = 0x80632090 PEER_E_GROUP_NOT_READY Handle = 0x80632091 PEER_E_GROUP_IN_USE Handle = 0x80632092 PEER_E_INVALID_GROUP Handle = 0x80632093 PEER_E_NO_MEMBERS_FOUND Handle = 0x80632094 PEER_E_NO_MEMBER_CONNECTIONS Handle = 0x80632095 PEER_E_UNABLE_TO_LISTEN Handle = 0x80632096 PEER_E_IDENTITY_DELETED Handle = 0x806320A0 PEER_E_SERVICE_NOT_AVAILABLE Handle = 0x806320A1 PEER_E_CONTACT_NOT_FOUND Handle = 0x80636001 PEER_S_GRAPH_DATA_CREATED Handle = 0x00630001 PEER_S_NO_EVENT_DATA Handle = 0x00630002 PEER_S_ALREADY_CONNECTED Handle = 0x00632000 PEER_S_SUBSCRIPTION_EXISTS Handle = 0x00636000 PEER_S_NO_CONNECTIVITY Handle = 0x00630005 PEER_S_ALREADY_A_MEMBER Handle = 0x00630006 PEER_E_CANNOT_CONVERT_PEER_NAME Handle = 0x80634001 PEER_E_INVALID_PEER_HOST_NAME Handle = 0x80634002 PEER_E_NO_MORE Handle = 0x80634003 PEER_E_PNRP_DUPLICATE_PEER_NAME Handle = 0x80634005 PEER_E_INVITE_CANCELLED Handle = 0x80637000 PEER_E_INVITE_RESPONSE_NOT_AVAILABLE Handle = 0x80637001 PEER_E_NOT_SIGNED_IN Handle = 0x80637003 PEER_E_PRIVACY_DECLINED Handle = 0x80637004 PEER_E_TIMEOUT Handle = 0x80637005 PEER_E_INVALID_ADDRESS Handle = 0x80637007 PEER_E_FW_EXCEPTION_DISABLED Handle = 0x80637008 PEER_E_FW_BLOCKED_BY_POLICY Handle = 0x80637009 PEER_E_FW_BLOCKED_BY_SHIELDS_UP Handle = 0x8063700A PEER_E_FW_DECLINED Handle = 0x8063700B UI_E_CREATE_FAILED Handle = 0x802A0001 UI_E_SHUTDOWN_CALLED Handle = 0x802A0002 UI_E_ILLEGAL_REENTRANCY Handle = 0x802A0003 UI_E_OBJECT_SEALED Handle = 0x802A0004 UI_E_VALUE_NOT_SET Handle = 0x802A0005 UI_E_VALUE_NOT_DETERMINED Handle = 0x802A0006 UI_E_INVALID_OUTPUT Handle = 0x802A0007 UI_E_BOOLEAN_EXPECTED Handle = 0x802A0008 UI_E_DIFFERENT_OWNER Handle = 0x802A0009 UI_E_AMBIGUOUS_MATCH Handle = 0x802A000A UI_E_FP_OVERFLOW Handle = 0x802A000B UI_E_WRONG_THREAD Handle = 0x802A000C UI_E_STORYBOARD_ACTIVE Handle = 0x802A0101 UI_E_STORYBOARD_NOT_PLAYING Handle = 0x802A0102 UI_E_START_KEYFRAME_AFTER_END Handle = 0x802A0103 UI_E_END_KEYFRAME_NOT_DETERMINED Handle = 0x802A0104 UI_E_LOOPS_OVERLAP Handle = 0x802A0105 UI_E_TRANSITION_ALREADY_USED Handle = 0x802A0106 UI_E_TRANSITION_NOT_IN_STORYBOARD Handle = 0x802A0107 UI_E_TRANSITION_ECLIPSED Handle = 0x802A0108 UI_E_TIME_BEFORE_LAST_UPDATE Handle = 0x802A0109 UI_E_TIMER_CLIENT_ALREADY_CONNECTED Handle = 0x802A010A UI_E_INVALID_DIMENSION Handle = 0x802A010B UI_E_PRIMITIVE_OUT_OF_BOUNDS Handle = 0x802A010C UI_E_WINDOW_CLOSED Handle = 0x802A0201 E_BLUETOOTH_ATT_INVALID_HANDLE Handle = 0x80650001 E_BLUETOOTH_ATT_READ_NOT_PERMITTED Handle = 0x80650002 E_BLUETOOTH_ATT_WRITE_NOT_PERMITTED Handle = 0x80650003 E_BLUETOOTH_ATT_INVALID_PDU Handle = 0x80650004 E_BLUETOOTH_ATT_INSUFFICIENT_AUTHENTICATION Handle = 0x80650005 E_BLUETOOTH_ATT_REQUEST_NOT_SUPPORTED Handle = 0x80650006 E_BLUETOOTH_ATT_INVALID_OFFSET Handle = 0x80650007 E_BLUETOOTH_ATT_INSUFFICIENT_AUTHORIZATION Handle = 0x80650008 E_BLUETOOTH_ATT_PREPARE_QUEUE_FULL Handle = 0x80650009 E_BLUETOOTH_ATT_ATTRIBUTE_NOT_FOUND Handle = 0x8065000A E_BLUETOOTH_ATT_ATTRIBUTE_NOT_LONG Handle = 0x8065000B E_BLUETOOTH_ATT_INSUFFICIENT_ENCRYPTION_KEY_SIZE Handle = 0x8065000C E_BLUETOOTH_ATT_INVALID_ATTRIBUTE_VALUE_LENGTH Handle = 0x8065000D E_BLUETOOTH_ATT_UNLIKELY Handle = 0x8065000E E_BLUETOOTH_ATT_INSUFFICIENT_ENCRYPTION Handle = 0x8065000F E_BLUETOOTH_ATT_UNSUPPORTED_GROUP_TYPE Handle = 0x80650010 E_BLUETOOTH_ATT_INSUFFICIENT_RESOURCES Handle = 0x80650011 E_BLUETOOTH_ATT_UNKNOWN_ERROR Handle = 0x80651000 E_AUDIO_ENGINE_NODE_NOT_FOUND Handle = 0x80660001 E_HDAUDIO_EMPTY_CONNECTION_LIST Handle = 0x80660002 E_HDAUDIO_CONNECTION_LIST_NOT_SUPPORTED Handle = 0x80660003 E_HDAUDIO_NO_LOGICAL_DEVICES_CREATED Handle = 0x80660004 E_HDAUDIO_NULL_LINKED_LIST_ENTRY Handle = 0x80660005 STATEREPOSITORY_E_CONCURRENCY_LOCKING_FAILURE Handle = 0x80670001 STATEREPOSITORY_E_STATEMENT_INPROGRESS Handle = 0x80670002 STATEREPOSITORY_E_CONFIGURATION_INVALID Handle = 0x80670003 STATEREPOSITORY_E_UNKNOWN_SCHEMA_VERSION Handle = 0x80670004 STATEREPOSITORY_ERROR_DICTIONARY_CORRUPTED Handle = 0x80670005 STATEREPOSITORY_E_BLOCKED Handle = 0x80670006 STATEREPOSITORY_E_BUSY_RETRY Handle = 0x80670007 STATEREPOSITORY_E_BUSY_RECOVERY_RETRY Handle = 0x80670008 STATEREPOSITORY_E_LOCKED_RETRY Handle = 0x80670009 STATEREPOSITORY_E_LOCKED_SHAREDCACHE_RETRY Handle = 0x8067000A STATEREPOSITORY_E_TRANSACTION_REQUIRED Handle = 0x8067000B STATEREPOSITORY_E_BUSY_TIMEOUT_EXCEEDED Handle = 0x8067000C STATEREPOSITORY_E_BUSY_RECOVERY_TIMEOUT_EXCEEDED Handle = 0x8067000D STATEREPOSITORY_E_LOCKED_TIMEOUT_EXCEEDED Handle = 0x8067000E STATEREPOSITORY_E_LOCKED_SHAREDCACHE_TIMEOUT_EXCEEDED Handle = 0x8067000F STATEREPOSITORY_E_SERVICE_STOP_IN_PROGRESS Handle = 0x80670010 STATEREPOSTORY_E_NESTED_TRANSACTION_NOT_SUPPORTED Handle = 0x80670011 STATEREPOSITORY_ERROR_CACHE_CORRUPTED Handle = 0x80670012 STATEREPOSITORY_TRANSACTION_CALLER_ID_CHANGED Handle = 0x00670013 STATEREPOSITORY_TRANSACTION_IN_PROGRESS Handle = 0x00670014 ERROR_SPACES_POOL_WAS_DELETED Handle = 0x00E70001 ERROR_SPACES_FAULT_DOMAIN_TYPE_INVALID Handle = 0x80E70001 ERROR_SPACES_INTERNAL_ERROR Handle = 0x80E70002 ERROR_SPACES_RESILIENCY_TYPE_INVALID Handle = 0x80E70003 ERROR_SPACES_DRIVE_SECTOR_SIZE_INVALID Handle = 0x80E70004 ERROR_SPACES_DRIVE_REDUNDANCY_INVALID Handle = 0x80E70006 ERROR_SPACES_NUMBER_OF_DATA_COPIES_INVALID Handle = 0x80E70007 ERROR_SPACES_PARITY_LAYOUT_INVALID Handle = 0x80E70008 ERROR_SPACES_INTERLEAVE_LENGTH_INVALID Handle = 0x80E70009 ERROR_SPACES_NUMBER_OF_COLUMNS_INVALID Handle = 0x80E7000A ERROR_SPACES_NOT_ENOUGH_DRIVES Handle = 0x80E7000B ERROR_SPACES_EXTENDED_ERROR Handle = 0x80E7000C ERROR_SPACES_PROVISIONING_TYPE_INVALID Handle = 0x80E7000D ERROR_SPACES_ALLOCATION_SIZE_INVALID Handle = 0x80E7000E ERROR_SPACES_ENCLOSURE_AWARE_INVALID Handle = 0x80E7000F ERROR_SPACES_WRITE_CACHE_SIZE_INVALID Handle = 0x80E70010 ERROR_SPACES_NUMBER_OF_GROUPS_INVALID Handle = 0x80E70011 ERROR_SPACES_DRIVE_OPERATIONAL_STATE_INVALID Handle = 0x80E70012 ERROR_SPACES_ENTRY_INCOMPLETE Handle = 0x80E70013 ERROR_SPACES_ENTRY_INVALID Handle = 0x80E70014 ERROR_VOLSNAP_BOOTFILE_NOT_VALID Handle = 0x80820001 ERROR_VOLSNAP_ACTIVATION_TIMEOUT Handle = 0x80820002 ERROR_TIERING_NOT_SUPPORTED_ON_VOLUME Handle = 0x80830001 ERROR_TIERING_VOLUME_DISMOUNT_IN_PROGRESS Handle = 0x80830002 ERROR_TIERING_STORAGE_TIER_NOT_FOUND Handle = 0x80830003 ERROR_TIERING_INVALID_FILE_ID Handle = 0x80830004 ERROR_TIERING_WRONG_CLUSTER_NODE Handle = 0x80830005 ERROR_TIERING_ALREADY_PROCESSING Handle = 0x80830006 ERROR_TIERING_CANNOT_PIN_OBJECT Handle = 0x80830007 ERROR_TIERING_FILE_IS_NOT_PINNED Handle = 0x80830008 ERROR_NOT_A_TIERED_VOLUME Handle = 0x80830009 ERROR_ATTRIBUTE_NOT_PRESENT Handle = 0x8083000A ERROR_SECCORE_INVALID_COMMAND Handle = 0xC0E80000 ERROR_NO_APPLICABLE_APP_LICENSES_FOUND Handle = 0xC0EA0001 ERROR_CLIP_LICENSE_NOT_FOUND Handle = 0xC0EA0002 ERROR_CLIP_DEVICE_LICENSE_MISSING Handle = 0xC0EA0003 ERROR_CLIP_LICENSE_INVALID_SIGNATURE Handle = 0xC0EA0004 ERROR_CLIP_KEYHOLDER_LICENSE_MISSING_OR_INVALID Handle = 0xC0EA0005 ERROR_CLIP_LICENSE_EXPIRED Handle = 0xC0EA0006 ERROR_CLIP_LICENSE_SIGNED_BY_UNKNOWN_SOURCE Handle = 0xC0EA0007 ERROR_CLIP_LICENSE_NOT_SIGNED Handle = 0xC0EA0008 ERROR_CLIP_LICENSE_HARDWARE_ID_OUT_OF_TOLERANCE Handle = 0xC0EA0009 ERROR_CLIP_LICENSE_DEVICE_ID_MISMATCH Handle = 0xC0EA000A DXGI_STATUS_OCCLUDED Handle = 0x087A0001 DXGI_STATUS_CLIPPED Handle = 0x087A0002 DXGI_STATUS_NO_REDIRECTION Handle = 0x087A0004 DXGI_STATUS_NO_DESKTOP_ACCESS Handle = 0x087A0005 DXGI_STATUS_GRAPHICS_VIDPN_SOURCE_IN_USE Handle = 0x087A0006 DXGI_STATUS_MODE_CHANGED Handle = 0x087A0007 DXGI_STATUS_MODE_CHANGE_IN_PROGRESS Handle = 0x087A0008 DXGI_ERROR_INVALID_CALL Handle = 0x887A0001 DXGI_ERROR_NOT_FOUND Handle = 0x887A0002 DXGI_ERROR_MORE_DATA Handle = 0x887A0003 DXGI_ERROR_UNSUPPORTED Handle = 0x887A0004 DXGI_ERROR_DEVICE_REMOVED Handle = 0x887A0005 DXGI_ERROR_DEVICE_HUNG Handle = 0x887A0006 DXGI_ERROR_DEVICE_RESET Handle = 0x887A0007 DXGI_ERROR_WAS_STILL_DRAWING Handle = 0x887A000A DXGI_ERROR_FRAME_STATISTICS_DISJOINT Handle = 0x887A000B DXGI_ERROR_GRAPHICS_VIDPN_SOURCE_IN_USE Handle = 0x887A000C DXGI_ERROR_DRIVER_INTERNAL_ERROR Handle = 0x887A0020 DXGI_ERROR_NONEXCLUSIVE Handle = 0x887A0021 DXGI_ERROR_NOT_CURRENTLY_AVAILABLE Handle = 0x887A0022 DXGI_ERROR_REMOTE_CLIENT_DISCONNECTED Handle = 0x887A0023 DXGI_ERROR_REMOTE_OUTOFMEMORY Handle = 0x887A0024 DXGI_ERROR_ACCESS_LOST Handle = 0x887A0026 DXGI_ERROR_WAIT_TIMEOUT Handle = 0x887A0027 DXGI_ERROR_SESSION_DISCONNECTED Handle = 0x887A0028 DXGI_ERROR_RESTRICT_TO_OUTPUT_STALE Handle = 0x887A0029 DXGI_ERROR_CANNOT_PROTECT_CONTENT Handle = 0x887A002A DXGI_ERROR_ACCESS_DENIED Handle = 0x887A002B DXGI_ERROR_NAME_ALREADY_EXISTS Handle = 0x887A002C DXGI_ERROR_SDK_COMPONENT_MISSING Handle = 0x887A002D DXGI_ERROR_NOT_CURRENT Handle = 0x887A002E DXGI_ERROR_HW_PROTECTION_OUTOFMEMORY Handle = 0x887A0030 DXGI_ERROR_DYNAMIC_CODE_POLICY_VIOLATION Handle = 0x887A0031 DXGI_ERROR_NON_COMPOSITED_UI Handle = 0x887A0032 DXGI_STATUS_UNOCCLUDED Handle = 0x087A0009 DXGI_STATUS_DDA_WAS_STILL_DRAWING Handle = 0x087A000A DXGI_ERROR_MODE_CHANGE_IN_PROGRESS Handle = 0x887A0025 DXGI_STATUS_PRESENT_REQUIRED Handle = 0x087A002F DXGI_ERROR_CACHE_CORRUPT Handle = 0x887A0033 DXGI_ERROR_CACHE_FULL Handle = 0x887A0034 DXGI_ERROR_CACHE_HASH_COLLISION Handle = 0x887A0035 DXGI_ERROR_ALREADY_EXISTS Handle = 0x887A0036 DXGI_DDI_ERR_WASSTILLDRAWING Handle = 0x887B0001 DXGI_DDI_ERR_UNSUPPORTED Handle = 0x887B0002 DXGI_DDI_ERR_NONEXCLUSIVE Handle = 0x887B0003 D3D10_ERROR_TOO_MANY_UNIQUE_STATE_OBJECTS Handle = 0x88790001 D3D10_ERROR_FILE_NOT_FOUND Handle = 0x88790002 D3D11_ERROR_TOO_MANY_UNIQUE_STATE_OBJECTS Handle = 0x887C0001 D3D11_ERROR_FILE_NOT_FOUND Handle = 0x887C0002 D3D11_ERROR_TOO_MANY_UNIQUE_VIEW_OBJECTS Handle = 0x887C0003 D3D11_ERROR_DEFERRED_CONTEXT_MAP_WITHOUT_INITIAL_DISCARD Handle = 0x887C0004 D3D12_ERROR_ADAPTER_NOT_FOUND Handle = 0x887E0001 D3D12_ERROR_DRIVER_VERSION_MISMATCH Handle = 0x887E0002 D2DERR_WRONG_STATE Handle = 0x88990001 D2DERR_NOT_INITIALIZED Handle = 0x88990002 D2DERR_UNSUPPORTED_OPERATION Handle = 0x88990003 D2DERR_SCANNER_FAILED Handle = 0x88990004 D2DERR_SCREEN_ACCESS_DENIED Handle = 0x88990005 D2DERR_DISPLAY_STATE_INVALID Handle = 0x88990006 D2DERR_ZERO_VECTOR Handle = 0x88990007 D2DERR_INTERNAL_ERROR Handle = 0x88990008 D2DERR_DISPLAY_FORMAT_NOT_SUPPORTED Handle = 0x88990009 D2DERR_INVALID_CALL Handle = 0x8899000A D2DERR_NO_HARDWARE_DEVICE Handle = 0x8899000B D2DERR_RECREATE_TARGET Handle = 0x8899000C D2DERR_TOO_MANY_SHADER_ELEMENTS Handle = 0x8899000D D2DERR_SHADER_COMPILE_FAILED Handle = 0x8899000E D2DERR_MAX_TEXTURE_SIZE_EXCEEDED Handle = 0x8899000F D2DERR_UNSUPPORTED_VERSION Handle = 0x88990010 D2DERR_BAD_NUMBER Handle = 0x88990011 D2DERR_WRONG_FACTORY Handle = 0x88990012 D2DERR_LAYER_ALREADY_IN_USE Handle = 0x88990013 D2DERR_POP_CALL_DID_NOT_MATCH_PUSH Handle = 0x88990014 D2DERR_WRONG_RESOURCE_DOMAIN Handle = 0x88990015 D2DERR_PUSH_POP_UNBALANCED Handle = 0x88990016 D2DERR_RENDER_TARGET_HAS_LAYER_OR_CLIPRECT Handle = 0x88990017 D2DERR_INCOMPATIBLE_BRUSH_TYPES Handle = 0x88990018 D2DERR_WIN32_ERROR Handle = 0x88990019 D2DERR_TARGET_NOT_GDI_COMPATIBLE Handle = 0x8899001A D2DERR_TEXT_EFFECT_IS_WRONG_TYPE Handle = 0x8899001B D2DERR_TEXT_RENDERER_NOT_RELEASED Handle = 0x8899001C D2DERR_EXCEEDS_MAX_BITMAP_SIZE Handle = 0x8899001D D2DERR_INVALID_GRAPH_CONFIGURATION Handle = 0x8899001E D2DERR_INVALID_INTERNAL_GRAPH_CONFIGURATION Handle = 0x8899001F D2DERR_CYCLIC_GRAPH Handle = 0x88990020 D2DERR_BITMAP_CANNOT_DRAW Handle = 0x88990021 D2DERR_OUTSTANDING_BITMAP_REFERENCES Handle = 0x88990022 D2DERR_ORIGINAL_TARGET_NOT_BOUND Handle = 0x88990023 D2DERR_INVALID_TARGET Handle = 0x88990024 D2DERR_BITMAP_BOUND_AS_TARGET Handle = 0x88990025 D2DERR_INSUFFICIENT_DEVICE_CAPABILITIES Handle = 0x88990026 D2DERR_INTERMEDIATE_TOO_LARGE Handle = 0x88990027 D2DERR_EFFECT_IS_NOT_REGISTERED Handle = 0x88990028 D2DERR_INVALID_PROPERTY Handle = 0x88990029 D2DERR_NO_SUBPROPERTIES Handle = 0x8899002A D2DERR_PRINT_JOB_CLOSED Handle = 0x8899002B D2DERR_PRINT_FORMAT_NOT_SUPPORTED Handle = 0x8899002C D2DERR_TOO_MANY_TRANSFORM_INPUTS Handle = 0x8899002D D2DERR_INVALID_GLYPH_IMAGE Handle = 0x8899002E DWRITE_E_FILEFORMAT Handle = 0x88985000 DWRITE_E_UNEXPECTED Handle = 0x88985001 DWRITE_E_NOFONT Handle = 0x88985002 DWRITE_E_FILENOTFOUND Handle = 0x88985003 DWRITE_E_FILEACCESS Handle = 0x88985004 DWRITE_E_FONTCOLLECTIONOBSOLETE Handle = 0x88985005 DWRITE_E_ALREADYREGISTERED Handle = 0x88985006 DWRITE_E_CACHEFORMAT Handle = 0x88985007 DWRITE_E_CACHEVERSION Handle = 0x88985008 DWRITE_E_UNSUPPORTEDOPERATION Handle = 0x88985009 DWRITE_E_TEXTRENDERERINCOMPATIBLE Handle = 0x8898500A DWRITE_E_FLOWDIRECTIONCONFLICTS Handle = 0x8898500B DWRITE_E_NOCOLOR Handle = 0x8898500C DWRITE_E_REMOTEFONT Handle = 0x8898500D DWRITE_E_DOWNLOADCANCELLED Handle = 0x8898500E DWRITE_E_DOWNLOADFAILED Handle = 0x8898500F DWRITE_E_TOOMANYDOWNLOADS Handle = 0x88985010 WINCODEC_ERR_WRONGSTATE Handle = 0x88982F04 WINCODEC_ERR_VALUEOUTOFRANGE Handle = 0x88982F05 WINCODEC_ERR_UNKNOWNIMAGEFORMAT Handle = 0x88982F07 WINCODEC_ERR_UNSUPPORTEDVERSION Handle = 0x88982F0B WINCODEC_ERR_NOTINITIALIZED Handle = 0x88982F0C WINCODEC_ERR_ALREADYLOCKED Handle = 0x88982F0D WINCODEC_ERR_PROPERTYNOTFOUND Handle = 0x88982F40 WINCODEC_ERR_PROPERTYNOTSUPPORTED Handle = 0x88982F41 WINCODEC_ERR_PROPERTYSIZE Handle = 0x88982F42 WINCODEC_ERR_CODECPRESENT Handle = 0x88982F43 WINCODEC_ERR_CODECNOTHUMBNAIL Handle = 0x88982F44 WINCODEC_ERR_PALETTEUNAVAILABLE Handle = 0x88982F45 WINCODEC_ERR_CODECTOOMANYSCANLINES Handle = 0x88982F46 WINCODEC_ERR_INTERNALERROR Handle = 0x88982F48 WINCODEC_ERR_SOURCERECTDOESNOTMATCHDIMENSIONS Handle = 0x88982F49 WINCODEC_ERR_COMPONENTNOTFOUND Handle = 0x88982F50 WINCODEC_ERR_IMAGESIZEOUTOFRANGE Handle = 0x88982F51 WINCODEC_ERR_TOOMUCHMETADATA Handle = 0x88982F52 WINCODEC_ERR_BADIMAGE Handle = 0x88982F60 WINCODEC_ERR_BADHEADER Handle = 0x88982F61 WINCODEC_ERR_FRAMEMISSING Handle = 0x88982F62 WINCODEC_ERR_BADMETADATAHEADER Handle = 0x88982F63 WINCODEC_ERR_BADSTREAMDATA Handle = 0x88982F70 WINCODEC_ERR_STREAMWRITE Handle = 0x88982F71 WINCODEC_ERR_STREAMREAD Handle = 0x88982F72 WINCODEC_ERR_STREAMNOTAVAILABLE Handle = 0x88982F73 WINCODEC_ERR_UNSUPPORTEDPIXELFORMAT Handle = 0x88982F80 WINCODEC_ERR_UNSUPPORTEDOPERATION Handle = 0x88982F81 WINCODEC_ERR_INVALIDREGISTRATION Handle = 0x88982F8A WINCODEC_ERR_COMPONENTINITIALIZEFAILURE Handle = 0x88982F8B WINCODEC_ERR_INSUFFICIENTBUFFER Handle = 0x88982F8C WINCODEC_ERR_DUPLICATEMETADATAPRESENT Handle = 0x88982F8D WINCODEC_ERR_PROPERTYUNEXPECTEDTYPE Handle = 0x88982F8E WINCODEC_ERR_UNEXPECTEDSIZE Handle = 0x88982F8F WINCODEC_ERR_INVALIDQUERYREQUEST Handle = 0x88982F90 WINCODEC_ERR_UNEXPECTEDMETADATATYPE Handle = 0x88982F91 WINCODEC_ERR_REQUESTONLYVALIDATMETADATAROOT Handle = 0x88982F92 WINCODEC_ERR_INVALIDQUERYCHARACTER Handle = 0x88982F93 WINCODEC_ERR_WIN32ERROR Handle = 0x88982F94 WINCODEC_ERR_INVALIDPROGRESSIVELEVEL Handle = 0x88982F95 WINCODEC_ERR_INVALIDJPEGSCANINDEX Handle = 0x88982F96 MILERR_OBJECTBUSY Handle = 0x88980001 MILERR_INSUFFICIENTBUFFER Handle = 0x88980002 MILERR_WIN32ERROR Handle = 0x88980003 MILERR_SCANNER_FAILED Handle = 0x88980004 MILERR_SCREENACCESSDENIED Handle = 0x88980005 MILERR_DISPLAYSTATEINVALID Handle = 0x88980006 MILERR_NONINVERTIBLEMATRIX Handle = 0x88980007 MILERR_ZEROVECTOR Handle = 0x88980008 MILERR_TERMINATED Handle = 0x88980009 MILERR_BADNUMBER Handle = 0x8898000A MILERR_INTERNALERROR Handle = 0x88980080 MILERR_DISPLAYFORMATNOTSUPPORTED Handle = 0x88980084 MILERR_INVALIDCALL Handle = 0x88980085 MILERR_ALREADYLOCKED Handle = 0x88980086 MILERR_NOTLOCKED Handle = 0x88980087 MILERR_DEVICECANNOTRENDERTEXT Handle = 0x88980088 MILERR_GLYPHBITMAPMISSED Handle = 0x88980089 MILERR_MALFORMEDGLYPHCACHE Handle = 0x8898008A MILERR_GENERIC_IGNORE Handle = 0x8898008B MILERR_MALFORMED_GUIDELINE_DATA Handle = 0x8898008C MILERR_NO_HARDWARE_DEVICE Handle = 0x8898008D MILERR_NEED_RECREATE_AND_PRESENT Handle = 0x8898008E MILERR_ALREADY_INITIALIZED Handle = 0x8898008F MILERR_MISMATCHED_SIZE Handle = 0x88980090 MILERR_NO_REDIRECTION_SURFACE_AVAILABLE Handle = 0x88980091 MILERR_REMOTING_NOT_SUPPORTED Handle = 0x88980092 MILERR_QUEUED_PRESENT_NOT_SUPPORTED Handle = 0x88980093 MILERR_NOT_QUEUING_PRESENTS Handle = 0x88980094 MILERR_NO_REDIRECTION_SURFACE_RETRY_LATER Handle = 0x88980095 MILERR_TOOMANYSHADERELEMNTS Handle = 0x88980096 MILERR_MROW_READLOCK_FAILED Handle = 0x88980097 MILERR_MROW_UPDATE_FAILED Handle = 0x88980098 MILERR_SHADER_COMPILE_FAILED Handle = 0x88980099 MILERR_MAX_TEXTURE_SIZE_EXCEEDED Handle = 0x8898009A MILERR_QPC_TIME_WENT_BACKWARD Handle = 0x8898009B MILERR_DXGI_ENUMERATION_OUT_OF_SYNC Handle = 0x8898009D MILERR_ADAPTER_NOT_FOUND Handle = 0x8898009E MILERR_COLORSPACE_NOT_SUPPORTED Handle = 0x8898009F MILERR_PREFILTER_NOT_SUPPORTED Handle = 0x889800A0 MILERR_DISPLAYID_ACCESS_DENIED Handle = 0x889800A1 UCEERR_INVALIDPACKETHEADER Handle = 0x88980400 UCEERR_UNKNOWNPACKET Handle = 0x88980401 UCEERR_ILLEGALPACKET Handle = 0x88980402 UCEERR_MALFORMEDPACKET Handle = 0x88980403 UCEERR_ILLEGALHANDLE Handle = 0x88980404 UCEERR_HANDLELOOKUPFAILED Handle = 0x88980405 UCEERR_RENDERTHREADFAILURE Handle = 0x88980406 UCEERR_CTXSTACKFRSTTARGETNULL Handle = 0x88980407 UCEERR_CONNECTIONIDLOOKUPFAILED Handle = 0x88980408 UCEERR_BLOCKSFULL Handle = 0x88980409 UCEERR_MEMORYFAILURE Handle = 0x8898040A UCEERR_PACKETRECORDOUTOFRANGE Handle = 0x8898040B UCEERR_ILLEGALRECORDTYPE Handle = 0x8898040C UCEERR_OUTOFHANDLES Handle = 0x8898040D UCEERR_UNCHANGABLE_UPDATE_ATTEMPTED Handle = 0x8898040E UCEERR_NO_MULTIPLE_WORKER_THREADS Handle = 0x8898040F UCEERR_REMOTINGNOTSUPPORTED Handle = 0x88980410 UCEERR_MISSINGENDCOMMAND Handle = 0x88980411 UCEERR_MISSINGBEGINCOMMAND Handle = 0x88980412 UCEERR_CHANNELSYNCTIMEDOUT Handle = 0x88980413 UCEERR_CHANNELSYNCABANDONED Handle = 0x88980414 UCEERR_UNSUPPORTEDTRANSPORTVERSION Handle = 0x88980415 UCEERR_TRANSPORTUNAVAILABLE Handle = 0x88980416 UCEERR_FEEDBACK_UNSUPPORTED Handle = 0x88980417 UCEERR_COMMANDTRANSPORTDENIED Handle = 0x88980418 UCEERR_GRAPHICSSTREAMUNAVAILABLE Handle = 0x88980419 UCEERR_GRAPHICSSTREAMALREADYOPEN Handle = 0x88980420 UCEERR_TRANSPORTDISCONNECTED Handle = 0x88980421 UCEERR_TRANSPORTOVERLOADED Handle = 0x88980422 UCEERR_PARTITION_ZOMBIED Handle = 0x88980423 MILAVERR_NOCLOCK Handle = 0x88980500 MILAVERR_NOMEDIATYPE Handle = 0x88980501 MILAVERR_NOVIDEOMIXER Handle = 0x88980502 MILAVERR_NOVIDEOPRESENTER Handle = 0x88980503 MILAVERR_NOREADYFRAMES Handle = 0x88980504 MILAVERR_MODULENOTLOADED Handle = 0x88980505 MILAVERR_WMPFACTORYNOTREGISTERED Handle = 0x88980506 MILAVERR_INVALIDWMPVERSION Handle = 0x88980507 MILAVERR_INSUFFICIENTVIDEORESOURCES Handle = 0x88980508 MILAVERR_VIDEOACCELERATIONNOTAVAILABLE Handle = 0x88980509 MILAVERR_REQUESTEDTEXTURETOOBIG Handle = 0x8898050A MILAVERR_SEEKFAILED Handle = 0x8898050B MILAVERR_UNEXPECTEDWMPFAILURE Handle = 0x8898050C MILAVERR_MEDIAPLAYERCLOSED Handle = 0x8898050D MILAVERR_UNKNOWNHARDWAREERROR Handle = 0x8898050E MILEFFECTSERR_UNKNOWNPROPERTY Handle = 0x8898060E MILEFFECTSERR_EFFECTNOTPARTOFGROUP Handle = 0x8898060F MILEFFECTSERR_NOINPUTSOURCEATTACHED Handle = 0x88980610 MILEFFECTSERR_CONNECTORNOTCONNECTED Handle = 0x88980611 MILEFFECTSERR_CONNECTORNOTASSOCIATEDWITHEFFECT Handle = 0x88980612 MILEFFECTSERR_RESERVED Handle = 0x88980613 MILEFFECTSERR_CYCLEDETECTED Handle = 0x88980614 MILEFFECTSERR_EFFECTINMORETHANONEGRAPH Handle = 0x88980615 MILEFFECTSERR_EFFECTALREADYINAGRAPH Handle = 0x88980616 MILEFFECTSERR_EFFECTHASNOCHILDREN Handle = 0x88980617 MILEFFECTSERR_ALREADYATTACHEDTOLISTENER Handle = 0x88980618 MILEFFECTSERR_NOTAFFINETRANSFORM Handle = 0x88980619 MILEFFECTSERR_EMPTYBOUNDS Handle = 0x8898061A MILEFFECTSERR_OUTPUTSIZETOOLARGE Handle = 0x8898061B DWMERR_STATE_TRANSITION_FAILED Handle = 0x88980700 DWMERR_THEME_FAILED Handle = 0x88980701 DWMERR_CATASTROPHIC_FAILURE Handle = 0x88980702 DCOMPOSITION_ERROR_WINDOW_ALREADY_COMPOSED Handle = 0x88980800 DCOMPOSITION_ERROR_SURFACE_BEING_RENDERED Handle = 0x88980801 DCOMPOSITION_ERROR_SURFACE_NOT_BEING_RENDERED Handle = 0x88980802 ONL_E_INVALID_AUTHENTICATION_TARGET Handle = 0x80860001 ONL_E_ACCESS_DENIED_BY_TOU Handle = 0x80860002 ONL_E_INVALID_APPLICATION Handle = 0x80860003 ONL_E_PASSWORD_UPDATE_REQUIRED Handle = 0x80860004 ONL_E_ACCOUNT_UPDATE_REQUIRED Handle = 0x80860005 ONL_E_FORCESIGNIN Handle = 0x80860006 ONL_E_ACCOUNT_LOCKED Handle = 0x80860007 ONL_E_PARENTAL_CONSENT_REQUIRED Handle = 0x80860008 ONL_E_EMAIL_VERIFICATION_REQUIRED Handle = 0x80860009 ONL_E_ACCOUNT_SUSPENDED_COMPROIMISE Handle = 0x8086000A ONL_E_ACCOUNT_SUSPENDED_ABUSE Handle = 0x8086000B ONL_E_ACTION_REQUIRED Handle = 0x8086000C ONL_CONNECTION_COUNT_LIMIT Handle = 0x8086000D ONL_E_CONNECTED_ACCOUNT_CAN_NOT_SIGNOUT Handle = 0x8086000E ONL_E_USER_AUTHENTICATION_REQUIRED Handle = 0x8086000F ONL_E_REQUEST_THROTTLED Handle = 0x80860010 FA_E_MAX_PERSISTED_ITEMS_REACHED Handle = 0x80270220 FA_E_HOMEGROUP_NOT_AVAILABLE Handle = 0x80270222 E_MONITOR_RESOLUTION_TOO_LOW Handle = 0x80270250 E_ELEVATED_ACTIVATION_NOT_SUPPORTED Handle = 0x80270251 E_UAC_DISABLED Handle = 0x80270252 E_FULL_ADMIN_NOT_SUPPORTED Handle = 0x80270253 E_APPLICATION_NOT_REGISTERED Handle = 0x80270254 E_MULTIPLE_EXTENSIONS_FOR_APPLICATION Handle = 0x80270255 E_MULTIPLE_PACKAGES_FOR_FAMILY Handle = 0x80270256 E_APPLICATION_MANAGER_NOT_RUNNING Handle = 0x80270257 S_STORE_LAUNCHED_FOR_REMEDIATION Handle = 0x00270258 S_APPLICATION_ACTIVATION_ERROR_HANDLED_BY_DIALOG Handle = 0x00270259 E_APPLICATION_ACTIVATION_TIMED_OUT Handle = 0x8027025A E_APPLICATION_ACTIVATION_EXEC_FAILURE Handle = 0x8027025B E_APPLICATION_TEMPORARY_LICENSE_ERROR Handle = 0x8027025C E_APPLICATION_TRIAL_LICENSE_EXPIRED Handle = 0x8027025D E_SKYDRIVE_ROOT_TARGET_FILE_SYSTEM_NOT_SUPPORTED Handle = 0x80270260 E_SKYDRIVE_ROOT_TARGET_OVERLAP Handle = 0x80270261 E_SKYDRIVE_ROOT_TARGET_CANNOT_INDEX Handle = 0x80270262 E_SKYDRIVE_FILE_NOT_UPLOADED Handle = 0x80270263 E_SKYDRIVE_UPDATE_AVAILABILITY_FAIL Handle = 0x80270264 E_SKYDRIVE_ROOT_TARGET_VOLUME_ROOT_NOT_SUPPORTED Handle = 0x80270265 E_SYNCENGINE_FILE_SIZE_OVER_LIMIT Handle = 0x8802B001 E_SYNCENGINE_FILE_SIZE_EXCEEDS_REMAINING_QUOTA Handle = 0x8802B002 E_SYNCENGINE_UNSUPPORTED_FILE_NAME Handle = 0x8802B003 E_SYNCENGINE_FOLDER_ITEM_COUNT_LIMIT_EXCEEDED Handle = 0x8802B004 E_SYNCENGINE_FILE_SYNC_PARTNER_ERROR Handle = 0x8802B005 E_SYNCENGINE_SYNC_PAUSED_BY_SERVICE Handle = 0x8802B006 E_SYNCENGINE_FILE_IDENTIFIER_UNKNOWN Handle = 0x8802C002 E_SYNCENGINE_SERVICE_AUTHENTICATION_FAILED Handle = 0x8802C003 E_SYNCENGINE_UNKNOWN_SERVICE_ERROR Handle = 0x8802C004 E_SYNCENGINE_SERVICE_RETURNED_UNEXPECTED_SIZE Handle = 0x8802C005 E_SYNCENGINE_REQUEST_BLOCKED_BY_SERVICE Handle = 0x8802C006 E_SYNCENGINE_REQUEST_BLOCKED_DUE_TO_CLIENT_ERROR Handle = 0x8802C007 E_SYNCENGINE_FOLDER_INACCESSIBLE Handle = 0x8802D001 E_SYNCENGINE_UNSUPPORTED_FOLDER_NAME Handle = 0x8802D002 E_SYNCENGINE_UNSUPPORTED_MARKET Handle = 0x8802D003 E_SYNCENGINE_PATH_LENGTH_LIMIT_EXCEEDED Handle = 0x8802D004 E_SYNCENGINE_REMOTE_PATH_LENGTH_LIMIT_EXCEEDED Handle = 0x8802D005 E_SYNCENGINE_CLIENT_UPDATE_NEEDED Handle = 0x8802D006 E_SYNCENGINE_PROXY_AUTHENTICATION_REQUIRED Handle = 0x8802D007 E_SYNCENGINE_STORAGE_SERVICE_PROVISIONING_FAILED Handle = 0x8802D008 E_SYNCENGINE_UNSUPPORTED_REPARSE_POINT Handle = 0x8802D009 E_SYNCENGINE_STORAGE_SERVICE_BLOCKED Handle = 0x8802D00A E_SYNCENGINE_FOLDER_IN_REDIRECTION Handle = 0x8802D00B EAS_E_POLICY_NOT_MANAGED_BY_OS Handle = 0x80550001 EAS_E_POLICY_COMPLIANT_WITH_ACTIONS Handle = 0x80550002 EAS_E_REQUESTED_POLICY_NOT_ENFORCEABLE Handle = 0x80550003 EAS_E_CURRENT_USER_HAS_BLANK_PASSWORD Handle = 0x80550004 EAS_E_REQUESTED_POLICY_PASSWORD_EXPIRATION_INCOMPATIBLE Handle = 0x80550005 EAS_E_USER_CANNOT_CHANGE_PASSWORD Handle = 0x80550006 EAS_E_ADMINS_HAVE_BLANK_PASSWORD Handle = 0x80550007 EAS_E_ADMINS_CANNOT_CHANGE_PASSWORD Handle = 0x80550008 EAS_E_LOCAL_CONTROLLED_USERS_CANNOT_CHANGE_PASSWORD Handle = 0x80550009 EAS_E_PASSWORD_POLICY_NOT_ENFORCEABLE_FOR_CONNECTED_ADMINS Handle = 0x8055000A EAS_E_CONNECTED_ADMINS_NEED_TO_CHANGE_PASSWORD Handle = 0x8055000B EAS_E_PASSWORD_POLICY_NOT_ENFORCEABLE_FOR_CURRENT_CONNECTED_USER Handle = 0x8055000C EAS_E_CURRENT_CONNECTED_USER_NEED_TO_CHANGE_PASSWORD Handle = 0x8055000D WEB_E_UNSUPPORTED_FORMAT Handle = 0x83750001 WEB_E_INVALID_XML Handle = 0x83750002 WEB_E_MISSING_REQUIRED_ELEMENT Handle = 0x83750003 WEB_E_MISSING_REQUIRED_ATTRIBUTE Handle = 0x83750004 WEB_E_UNEXPECTED_CONTENT Handle = 0x83750005 WEB_E_RESOURCE_TOO_LARGE Handle = 0x83750006 WEB_E_INVALID_JSON_STRING Handle = 0x83750007 WEB_E_INVALID_JSON_NUMBER Handle = 0x83750008 WEB_E_JSON_VALUE_NOT_FOUND Handle = 0x83750009 HTTP_E_STATUS_UNEXPECTED Handle = 0x80190001 HTTP_E_STATUS_UNEXPECTED_REDIRECTION Handle = 0x80190003 HTTP_E_STATUS_UNEXPECTED_CLIENT_ERROR Handle = 0x80190004 HTTP_E_STATUS_UNEXPECTED_SERVER_ERROR Handle = 0x80190005 HTTP_E_STATUS_AMBIGUOUS Handle = 0x8019012C HTTP_E_STATUS_MOVED Handle = 0x8019012D HTTP_E_STATUS_REDIRECT Handle = 0x8019012E HTTP_E_STATUS_REDIRECT_METHOD Handle = 0x8019012F HTTP_E_STATUS_NOT_MODIFIED Handle = 0x80190130 HTTP_E_STATUS_USE_PROXY Handle = 0x80190131 HTTP_E_STATUS_REDIRECT_KEEP_VERB Handle = 0x80190133 HTTP_E_STATUS_BAD_REQUEST Handle = 0x80190190 HTTP_E_STATUS_DENIED Handle = 0x80190191 HTTP_E_STATUS_PAYMENT_REQ Handle = 0x80190192 HTTP_E_STATUS_FORBIDDEN Handle = 0x80190193 HTTP_E_STATUS_NOT_FOUND Handle = 0x80190194 HTTP_E_STATUS_BAD_METHOD Handle = 0x80190195 HTTP_E_STATUS_NONE_ACCEPTABLE Handle = 0x80190196 HTTP_E_STATUS_PROXY_AUTH_REQ Handle = 0x80190197 HTTP_E_STATUS_REQUEST_TIMEOUT Handle = 0x80190198 HTTP_E_STATUS_CONFLICT Handle = 0x80190199 HTTP_E_STATUS_GONE Handle = 0x8019019A HTTP_E_STATUS_LENGTH_REQUIRED Handle = 0x8019019B HTTP_E_STATUS_PRECOND_FAILED Handle = 0x8019019C HTTP_E_STATUS_REQUEST_TOO_LARGE Handle = 0x8019019D HTTP_E_STATUS_URI_TOO_LONG Handle = 0x8019019E HTTP_E_STATUS_UNSUPPORTED_MEDIA Handle = 0x8019019F HTTP_E_STATUS_RANGE_NOT_SATISFIABLE Handle = 0x801901A0 HTTP_E_STATUS_EXPECTATION_FAILED Handle = 0x801901A1 HTTP_E_STATUS_SERVER_ERROR Handle = 0x801901F4 HTTP_E_STATUS_NOT_SUPPORTED Handle = 0x801901F5 HTTP_E_STATUS_BAD_GATEWAY Handle = 0x801901F6 HTTP_E_STATUS_SERVICE_UNAVAIL Handle = 0x801901F7 HTTP_E_STATUS_GATEWAY_TIMEOUT Handle = 0x801901F8 HTTP_E_STATUS_VERSION_NOT_SUP Handle = 0x801901F9 E_INVALID_PROTOCOL_OPERATION Handle = 0x83760001 E_INVALID_PROTOCOL_FORMAT Handle = 0x83760002 E_PROTOCOL_EXTENSIONS_NOT_SUPPORTED Handle = 0x83760003 E_SUBPROTOCOL_NOT_SUPPORTED Handle = 0x83760004 E_PROTOCOL_VERSION_NOT_SUPPORTED Handle = 0x83760005 INPUT_E_OUT_OF_ORDER Handle = 0x80400000 INPUT_E_REENTRANCY Handle = 0x80400001 INPUT_E_MULTIMODAL Handle = 0x80400002 INPUT_E_PACKET Handle = 0x80400003 INPUT_E_FRAME Handle = 0x80400004 INPUT_E_HISTORY Handle = 0x80400005 INPUT_E_DEVICE_INFO Handle = 0x80400006 INPUT_E_TRANSFORM Handle = 0x80400007 INPUT_E_DEVICE_PROPERTY Handle = 0x80400008 INET_E_INVALID_URL Handle = 0x800C0002 INET_E_NO_SESSION Handle = 0x800C0003 INET_E_CANNOT_CONNECT Handle = 0x800C0004 INET_E_RESOURCE_NOT_FOUND Handle = 0x800C0005 INET_E_OBJECT_NOT_FOUND Handle = 0x800C0006 INET_E_DATA_NOT_AVAILABLE Handle = 0x800C0007 INET_E_DOWNLOAD_FAILURE Handle = 0x800C0008 INET_E_AUTHENTICATION_REQUIRED Handle = 0x800C0009 INET_E_NO_VALID_MEDIA Handle = 0x800C000A INET_E_CONNECTION_TIMEOUT Handle = 0x800C000B INET_E_INVALID_REQUEST Handle = 0x800C000C INET_E_UNKNOWN_PROTOCOL Handle = 0x800C000D INET_E_SECURITY_PROBLEM Handle = 0x800C000E INET_E_CANNOT_LOAD_DATA Handle = 0x800C000F INET_E_CANNOT_INSTANTIATE_OBJECT Handle = 0x800C0010 INET_E_INVALID_CERTIFICATE Handle = 0x800C0019 INET_E_REDIRECT_FAILED Handle = 0x800C0014 INET_E_REDIRECT_TO_DIR Handle = 0x800C0015 ERROR_DBG_CREATE_PROCESS_FAILURE_LOCKDOWN Handle = 0x80B00001 ERROR_DBG_ATTACH_PROCESS_FAILURE_LOCKDOWN Handle = 0x80B00002 ERROR_DBG_CONNECT_SERVER_FAILURE_LOCKDOWN Handle = 0x80B00003 ERROR_DBG_START_SERVER_FAILURE_LOCKDOWN Handle = 0x80B00004 ERROR_IO_PREEMPTED Handle = 0x89010001 JSCRIPT_E_CANTEXECUTE Handle = 0x89020001 WEP_E_NOT_PROVISIONED_ON_ALL_VOLUMES Handle = 0x88010001 WEP_E_FIXED_DATA_NOT_SUPPORTED Handle = 0x88010002 WEP_E_HARDWARE_NOT_COMPLIANT Handle = 0x88010003 WEP_E_LOCK_NOT_CONFIGURED Handle = 0x88010004 WEP_E_PROTECTION_SUSPENDED Handle = 0x88010005 WEP_E_NO_LICENSE Handle = 0x88010006 WEP_E_OS_NOT_PROTECTED Handle = 0x88010007 WEP_E_UNEXPECTED_FAIL Handle = 0x88010008 WEP_E_BUFFER_TOO_LARGE Handle = 0x88010009 ERROR_SVHDX_ERROR_STORED Handle = 0xC05C0000 ERROR_SVHDX_ERROR_NOT_AVAILABLE Handle = 0xC05CFF00 ERROR_SVHDX_UNIT_ATTENTION_AVAILABLE Handle = 0xC05CFF01 ERROR_SVHDX_UNIT_ATTENTION_CAPACITY_DATA_CHANGED Handle = 0xC05CFF02 ERROR_SVHDX_UNIT_ATTENTION_RESERVATIONS_PREEMPTED Handle = 0xC05CFF03 ERROR_SVHDX_UNIT_ATTENTION_RESERVATIONS_RELEASED Handle = 0xC05CFF04 ERROR_SVHDX_UNIT_ATTENTION_REGISTRATIONS_PREEMPTED Handle = 0xC05CFF05 ERROR_SVHDX_UNIT_ATTENTION_OPERATING_DEFINITION_CHANGED Handle = 0xC05CFF06 ERROR_SVHDX_RESERVATION_CONFLICT Handle = 0xC05CFF07 ERROR_SVHDX_WRONG_FILE_TYPE Handle = 0xC05CFF08 ERROR_SVHDX_VERSION_MISMATCH Handle = 0xC05CFF09 ERROR_VHD_SHARED Handle = 0xC05CFF0A ERROR_SVHDX_NO_INITIATOR Handle = 0xC05CFF0B ERROR_VHDSET_BACKING_STORAGE_NOT_FOUND Handle = 0xC05CFF0C ERROR_SMB_NO_PREAUTH_INTEGRITY_HASH_OVERLAP Handle = 0xC05D0000 ERROR_SMB_BAD_CLUSTER_DIALECT Handle = 0xC05D0001 WININET_E_OUT_OF_HANDLES Handle = 0x80072EE1 WININET_E_TIMEOUT Handle = 0x80072EE2 WININET_E_EXTENDED_ERROR Handle = 0x80072EE3 WININET_E_INTERNAL_ERROR Handle = 0x80072EE4 WININET_E_INVALID_URL Handle = 0x80072EE5 WININET_E_UNRECOGNIZED_SCHEME Handle = 0x80072EE6 WININET_E_NAME_NOT_RESOLVED Handle = 0x80072EE7 WININET_E_PROTOCOL_NOT_FOUND Handle = 0x80072EE8 WININET_E_INVALID_OPTION Handle = 0x80072EE9 WININET_E_BAD_OPTION_LENGTH Handle = 0x80072EEA WININET_E_OPTION_NOT_SETTABLE Handle = 0x80072EEB WININET_E_SHUTDOWN Handle = 0x80072EEC WININET_E_INCORRECT_USER_NAME Handle = 0x80072EED WININET_E_INCORRECT_PASSWORD Handle = 0x80072EEE WININET_E_LOGIN_FAILURE Handle = 0x80072EEF WININET_E_INVALID_OPERATION Handle = 0x80072EF0 WININET_E_OPERATION_CANCELLED Handle = 0x80072EF1 WININET_E_INCORRECT_HANDLE_TYPE Handle = 0x80072EF2 WININET_E_INCORRECT_HANDLE_STATE Handle = 0x80072EF3 WININET_E_NOT_PROXY_REQUEST Handle = 0x80072EF4 WININET_E_REGISTRY_VALUE_NOT_FOUND Handle = 0x80072EF5 WININET_E_BAD_REGISTRY_PARAMETER Handle = 0x80072EF6 WININET_E_NO_DIRECT_ACCESS Handle = 0x80072EF7 WININET_E_NO_CONTEXT Handle = 0x80072EF8 WININET_E_NO_CALLBACK Handle = 0x80072EF9 WININET_E_REQUEST_PENDING Handle = 0x80072EFA WININET_E_INCORRECT_FORMAT Handle = 0x80072EFB WININET_E_ITEM_NOT_FOUND Handle = 0x80072EFC WININET_E_CANNOT_CONNECT Handle = 0x80072EFD WININET_E_CONNECTION_ABORTED Handle = 0x80072EFE WININET_E_CONNECTION_RESET Handle = 0x80072EFF WININET_E_FORCE_RETRY Handle = 0x80072F00 WININET_E_INVALID_PROXY_REQUEST Handle = 0x80072F01 WININET_E_NEED_UI Handle = 0x80072F02 WININET_E_HANDLE_EXISTS Handle = 0x80072F04 WININET_E_SEC_CERT_DATE_INVALID Handle = 0x80072F05 WININET_E_SEC_CERT_CN_INVALID Handle = 0x80072F06 WININET_E_HTTP_TO_HTTPS_ON_REDIR Handle = 0x80072F07 WININET_E_HTTPS_TO_HTTP_ON_REDIR Handle = 0x80072F08 WININET_E_MIXED_SECURITY Handle = 0x80072F09 WININET_E_CHG_POST_IS_NON_SECURE Handle = 0x80072F0A WININET_E_POST_IS_NON_SECURE Handle = 0x80072F0B WININET_E_CLIENT_AUTH_CERT_NEEDED Handle = 0x80072F0C WININET_E_INVALID_CA Handle = 0x80072F0D WININET_E_CLIENT_AUTH_NOT_SETUP Handle = 0x80072F0E WININET_E_ASYNC_THREAD_FAILED Handle = 0x80072F0F WININET_E_REDIRECT_SCHEME_CHANGE Handle = 0x80072F10 WININET_E_DIALOG_PENDING Handle = 0x80072F11 WININET_E_RETRY_DIALOG Handle = 0x80072F12 WININET_E_NO_NEW_CONTAINERS Handle = 0x80072F13 WININET_E_HTTPS_HTTP_SUBMIT_REDIR Handle = 0x80072F14 WININET_E_SEC_CERT_ERRORS Handle = 0x80072F17 WININET_E_SEC_CERT_REV_FAILED Handle = 0x80072F19 WININET_E_HEADER_NOT_FOUND Handle = 0x80072F76 WININET_E_DOWNLEVEL_SERVER Handle = 0x80072F77 WININET_E_INVALID_SERVER_RESPONSE Handle = 0x80072F78 WININET_E_INVALID_HEADER Handle = 0x80072F79 WININET_E_INVALID_QUERY_REQUEST Handle = 0x80072F7A WININET_E_HEADER_ALREADY_EXISTS Handle = 0x80072F7B WININET_E_REDIRECT_FAILED Handle = 0x80072F7C WININET_E_SECURITY_CHANNEL_ERROR Handle = 0x80072F7D WININET_E_UNABLE_TO_CACHE_FILE Handle = 0x80072F7E WININET_E_TCPIP_NOT_INSTALLED Handle = 0x80072F7F WININET_E_DISCONNECTED Handle = 0x80072F83 WININET_E_SERVER_UNREACHABLE Handle = 0x80072F84 WININET_E_PROXY_SERVER_UNREACHABLE Handle = 0x80072F85 WININET_E_BAD_AUTO_PROXY_SCRIPT Handle = 0x80072F86 WININET_E_UNABLE_TO_DOWNLOAD_SCRIPT Handle = 0x80072F87 WININET_E_SEC_INVALID_CERT Handle = 0x80072F89 WININET_E_SEC_CERT_REVOKED Handle = 0x80072F8A WININET_E_FAILED_DUETOSECURITYCHECK Handle = 0x80072F8B WININET_E_NOT_INITIALIZED Handle = 0x80072F8C WININET_E_LOGIN_FAILURE_DISPLAY_ENTITY_BODY Handle = 0x80072F8E WININET_E_DECODING_FAILED Handle = 0x80072F8F WININET_E_NOT_REDIRECTED Handle = 0x80072F80 WININET_E_COOKIE_NEEDS_CONFIRMATION Handle = 0x80072F81 WININET_E_COOKIE_DECLINED Handle = 0x80072F82 WININET_E_REDIRECT_NEEDS_CONFIRMATION Handle = 0x80072F88 SQLITE_E_ERROR Handle = 0x87AF0001 SQLITE_E_INTERNAL Handle = 0x87AF0002 SQLITE_E_PERM Handle = 0x87AF0003 SQLITE_E_ABORT Handle = 0x87AF0004 SQLITE_E_BUSY Handle = 0x87AF0005 SQLITE_E_LOCKED Handle = 0x87AF0006 SQLITE_E_NOMEM Handle = 0x87AF0007 SQLITE_E_READONLY Handle = 0x87AF0008 SQLITE_E_INTERRUPT Handle = 0x87AF0009 SQLITE_E_IOERR Handle = 0x87AF000A SQLITE_E_CORRUPT Handle = 0x87AF000B SQLITE_E_NOTFOUND Handle = 0x87AF000C SQLITE_E_FULL Handle = 0x87AF000D SQLITE_E_CANTOPEN Handle = 0x87AF000E SQLITE_E_PROTOCOL Handle = 0x87AF000F SQLITE_E_EMPTY Handle = 0x87AF0010 SQLITE_E_SCHEMA Handle = 0x87AF0011 SQLITE_E_TOOBIG Handle = 0x87AF0012 SQLITE_E_CONSTRAINT Handle = 0x87AF0013 SQLITE_E_MISMATCH Handle = 0x87AF0014 SQLITE_E_MISUSE Handle = 0x87AF0015 SQLITE_E_NOLFS Handle = 0x87AF0016 SQLITE_E_AUTH Handle = 0x87AF0017 SQLITE_E_FORMAT Handle = 0x87AF0018 SQLITE_E_RANGE Handle = 0x87AF0019 SQLITE_E_NOTADB Handle = 0x87AF001A SQLITE_E_NOTICE Handle = 0x87AF001B SQLITE_E_WARNING Handle = 0x87AF001C SQLITE_E_ROW Handle = 0x87AF0064 SQLITE_E_DONE Handle = 0x87AF0065 SQLITE_E_IOERR_READ Handle = 0x87AF010A SQLITE_E_IOERR_SHORT_READ Handle = 0x87AF020A SQLITE_E_IOERR_WRITE Handle = 0x87AF030A SQLITE_E_IOERR_FSYNC Handle = 0x87AF040A SQLITE_E_IOERR_DIR_FSYNC Handle = 0x87AF050A SQLITE_E_IOERR_TRUNCATE Handle = 0x87AF060A SQLITE_E_IOERR_FSTAT Handle = 0x87AF070A SQLITE_E_IOERR_UNLOCK Handle = 0x87AF080A SQLITE_E_IOERR_RDLOCK Handle = 0x87AF090A SQLITE_E_IOERR_DELETE Handle = 0x87AF0A0A SQLITE_E_IOERR_BLOCKED Handle = 0x87AF0B0A SQLITE_E_IOERR_NOMEM Handle = 0x87AF0C0A SQLITE_E_IOERR_ACCESS Handle = 0x87AF0D0A SQLITE_E_IOERR_CHECKRESERVEDLOCK Handle = 0x87AF0E0A SQLITE_E_IOERR_LOCK Handle = 0x87AF0F0A SQLITE_E_IOERR_CLOSE Handle = 0x87AF100A SQLITE_E_IOERR_DIR_CLOSE Handle = 0x87AF110A SQLITE_E_IOERR_SHMOPEN Handle = 0x87AF120A SQLITE_E_IOERR_SHMSIZE Handle = 0x87AF130A SQLITE_E_IOERR_SHMLOCK Handle = 0x87AF140A SQLITE_E_IOERR_SHMMAP Handle = 0x87AF150A SQLITE_E_IOERR_SEEK Handle = 0x87AF160A SQLITE_E_IOERR_DELETE_NOENT Handle = 0x87AF170A SQLITE_E_IOERR_MMAP Handle = 0x87AF180A SQLITE_E_IOERR_GETTEMPPATH Handle = 0x87AF190A SQLITE_E_IOERR_CONVPATH Handle = 0x87AF1A0A SQLITE_E_IOERR_VNODE Handle = 0x87AF1A02 SQLITE_E_IOERR_AUTH Handle = 0x87AF1A03 SQLITE_E_LOCKED_SHAREDCACHE Handle = 0x87AF0106 SQLITE_E_BUSY_RECOVERY Handle = 0x87AF0105 SQLITE_E_BUSY_SNAPSHOT Handle = 0x87AF0205 SQLITE_E_CANTOPEN_NOTEMPDIR Handle = 0x87AF010E SQLITE_E_CANTOPEN_ISDIR Handle = 0x87AF020E SQLITE_E_CANTOPEN_FULLPATH Handle = 0x87AF030E SQLITE_E_CANTOPEN_CONVPATH Handle = 0x87AF040E SQLITE_E_CORRUPT_VTAB Handle = 0x87AF010B SQLITE_E_READONLY_RECOVERY Handle = 0x87AF0108 SQLITE_E_READONLY_CANTLOCK Handle = 0x87AF0208 SQLITE_E_READONLY_ROLLBACK Handle = 0x87AF0308 SQLITE_E_READONLY_DBMOVED Handle = 0x87AF0408 SQLITE_E_ABORT_ROLLBACK Handle = 0x87AF0204 SQLITE_E_CONSTRAINT_CHECK Handle = 0x87AF0113 SQLITE_E_CONSTRAINT_COMMITHOOK Handle = 0x87AF0213 SQLITE_E_CONSTRAINT_FOREIGNKEY Handle = 0x87AF0313 SQLITE_E_CONSTRAINT_FUNCTION Handle = 0x87AF0413 SQLITE_E_CONSTRAINT_NOTNULL Handle = 0x87AF0513 SQLITE_E_CONSTRAINT_PRIMARYKEY Handle = 0x87AF0613 SQLITE_E_CONSTRAINT_TRIGGER Handle = 0x87AF0713 SQLITE_E_CONSTRAINT_UNIQUE Handle = 0x87AF0813 SQLITE_E_CONSTRAINT_VTAB Handle = 0x87AF0913 SQLITE_E_CONSTRAINT_ROWID Handle = 0x87AF0A13 SQLITE_E_NOTICE_RECOVER_WAL Handle = 0x87AF011B SQLITE_E_NOTICE_RECOVER_ROLLBACK Handle = 0x87AF021B SQLITE_E_WARNING_AUTOINDEX Handle = 0x87AF011C UTC_E_TOGGLE_TRACE_STARTED Handle = 0x87C51001 UTC_E_ALTERNATIVE_TRACE_CANNOT_PREEMPT Handle = 0x87C51002 UTC_E_AOT_NOT_RUNNING Handle = 0x87C51003 UTC_E_SCRIPT_TYPE_INVALID Handle = 0x87C51004 UTC_E_SCENARIODEF_NOT_FOUND Handle = 0x87C51005 UTC_E_TRACEPROFILE_NOT_FOUND Handle = 0x87C51006 UTC_E_FORWARDER_ALREADY_ENABLED Handle = 0x87C51007 UTC_E_FORWARDER_ALREADY_DISABLED Handle = 0x87C51008 UTC_E_EVENTLOG_ENTRY_MALFORMED Handle = 0x87C51009 UTC_E_DIAGRULES_SCHEMAVERSION_MISMATCH Handle = 0x87C5100A UTC_E_SCRIPT_TERMINATED Handle = 0x87C5100B UTC_E_INVALID_CUSTOM_FILTER Handle = 0x87C5100C UTC_E_TRACE_NOT_RUNNING Handle = 0x87C5100D UTC_E_REESCALATED_TOO_QUICKLY Handle = 0x87C5100E UTC_E_ESCALATION_ALREADY_RUNNING Handle = 0x87C5100F UTC_E_PERFTRACK_ALREADY_TRACING Handle = 0x87C51010 UTC_E_REACHED_MAX_ESCALATIONS Handle = 0x87C51011 UTC_E_FORWARDER_PRODUCER_MISMATCH Handle = 0x87C51012 UTC_E_INTENTIONAL_SCRIPT_FAILURE Handle = 0x87C51013 UTC_E_SQM_INIT_FAILED Handle = 0x87C51014 UTC_E_NO_WER_LOGGER_SUPPORTED Handle = 0x87C51015 UTC_E_TRACERS_DONT_EXIST Handle = 0x87C51016 UTC_E_WINRT_INIT_FAILED Handle = 0x87C51017 UTC_E_SCENARIODEF_SCHEMAVERSION_MISMATCH Handle = 0x87C51018 UTC_E_INVALID_FILTER Handle = 0x87C51019 UTC_E_EXE_TERMINATED Handle = 0x87C5101A UTC_E_ESCALATION_NOT_AUTHORIZED Handle = 0x87C5101B UTC_E_SETUP_NOT_AUTHORIZED Handle = 0x87C5101C UTC_E_CHILD_PROCESS_FAILED Handle = 0x87C5101D UTC_E_COMMAND_LINE_NOT_AUTHORIZED Handle = 0x87C5101E UTC_E_CANNOT_LOAD_SCENARIO_EDITOR_XML Handle = 0x87C5101F UTC_E_ESCALATION_TIMED_OUT Handle = 0x87C51020 UTC_E_SETUP_TIMED_OUT Handle = 0x87C51021 UTC_E_TRIGGER_MISMATCH Handle = 0x87C51022 UTC_E_TRIGGER_NOT_FOUND Handle = 0x87C51023 UTC_E_SIF_NOT_SUPPORTED Handle = 0x87C51024 UTC_E_DELAY_TERMINATED Handle = 0x87C51025 UTC_E_DEVICE_TICKET_ERROR Handle = 0x87C51026 UTC_E_TRACE_BUFFER_LIMIT_EXCEEDED Handle = 0x87C51027 UTC_E_API_RESULT_UNAVAILABLE Handle = 0x87C51028 UTC_E_RPC_TIMEOUT Handle = 0x87C51029 UTC_E_RPC_WAIT_FAILED Handle = 0x87C5102A UTC_E_API_BUSY Handle = 0x87C5102B UTC_E_TRACE_MIN_DURATION_REQUIREMENT_NOT_MET Handle = 0x87C5102C UTC_E_EXCLUSIVITY_NOT_AVAILABLE Handle = 0x87C5102D UTC_E_GETFILE_FILE_PATH_NOT_APPROVED Handle = 0x87C5102E UTC_E_ESCALATION_DIRECTORY_ALREADY_EXISTS Handle = 0x87C5102F UTC_E_TIME_TRIGGER_ON_START_INVALID Handle = 0x87C51030 UTC_E_TIME_TRIGGER_ONLY_VALID_ON_SINGLE_TRANSITION Handle = 0x87C51031 UTC_E_TIME_TRIGGER_INVALID_TIME_RANGE Handle = 0x87C51032 UTC_E_MULTIPLE_TIME_TRIGGER_ON_SINGLE_STATE Handle = 0x87C51033 UTC_E_BINARY_MISSING Handle = 0x87C51034 UTC_E_NETWORK_CAPTURE_NOT_ALLOWED Handle = 0x87C51035 UTC_E_FAILED_TO_RESOLVE_CONTAINER_ID Handle = 0x87C51036 UTC_E_UNABLE_TO_RESOLVE_SESSION Handle = 0x87C51037 UTC_E_THROTTLED Handle = 0x87C51038 UTC_E_UNAPPROVED_SCRIPT Handle = 0x87C51039 UTC_E_SCRIPT_MISSING Handle = 0x87C5103A UTC_E_SCENARIO_THROTTLED Handle = 0x87C5103B UTC_E_API_NOT_SUPPORTED Handle = 0x87C5103C UTC_E_GETFILE_EXTERNAL_PATH_NOT_APPROVED Handle = 0x87C5103D UTC_E_TRY_GET_SCENARIO_TIMEOUT_EXCEEDED Handle = 0x87C5103E UTC_E_CERT_REV_FAILED Handle = 0x87C5103F UTC_E_FAILED_TO_START_NDISCAP Handle = 0x87C51040 UTC_E_KERNELDUMP_LIMIT_REACHED Handle = 0x87C51041 UTC_E_MISSING_AGGREGATE_EVENT_TAG Handle = 0x87C51042 UTC_E_INVALID_AGGREGATION_STRUCT Handle = 0x87C51043 UTC_E_ACTION_NOT_SUPPORTED_IN_DESTINATION Handle = 0x87C51044 UTC_E_FILTER_MISSING_ATTRIBUTE Handle = 0x87C51045 UTC_E_FILTER_INVALID_TYPE Handle = 0x87C51046 UTC_E_FILTER_VARIABLE_NOT_FOUND Handle = 0x87C51047 UTC_E_FILTER_FUNCTION_RESTRICTED Handle = 0x87C51048 UTC_E_FILTER_VERSION_MISMATCH Handle = 0x87C51049 UTC_E_FILTER_INVALID_FUNCTION Handle = 0x87C51050 UTC_E_FILTER_INVALID_FUNCTION_PARAMS Handle = 0x87C51051 UTC_E_FILTER_INVALID_COMMAND Handle = 0x87C51052 UTC_E_FILTER_ILLEGAL_EVAL Handle = 0x87C51053 UTC_E_TTTRACER_RETURNED_ERROR Handle = 0x87C51054 UTC_E_AGENT_DIAGNOSTICS_TOO_LARGE Handle = 0x87C51055 UTC_E_FAILED_TO_RECEIVE_AGENT_DIAGNOSTICS Handle = 0x87C51056 UTC_E_SCENARIO_HAS_NO_ACTIONS Handle = 0x87C51057 UTC_E_TTTRACER_STORAGE_FULL Handle = 0x87C51058 UTC_E_INSUFFICIENT_SPACE_TO_START_TRACE Handle = 0x87C51059 UTC_E_ESCALATION_CANCELLED_AT_SHUTDOWN Handle = 0x87C5105A UTC_E_GETFILEINFOACTION_FILE_NOT_APPROVED Handle = 0x87C5105B UTC_E_SETREGKEYACTION_TYPE_NOT_APPROVED Handle = 0x87C5105C WINML_ERR_INVALID_DEVICE Handle = 0x88900001 WINML_ERR_INVALID_BINDING Handle = 0x88900002 WINML_ERR_VALUE_NOTFOUND Handle = 0x88900003 WINML_ERR_SIZE_MISMATCH Handle = 0x88900004 STATUS_WAIT_0 NTStatus = 0x00000000 STATUS_SUCCESS NTStatus = 0x00000000 STATUS_WAIT_1 NTStatus = 0x00000001 STATUS_WAIT_2 NTStatus = 0x00000002 STATUS_WAIT_3 NTStatus = 0x00000003 STATUS_WAIT_63 NTStatus = 0x0000003F STATUS_ABANDONED NTStatus = 0x00000080 STATUS_ABANDONED_WAIT_0 NTStatus = 0x00000080 STATUS_ABANDONED_WAIT_63 NTStatus = 0x000000BF STATUS_USER_APC NTStatus = 0x000000C0 STATUS_ALREADY_COMPLETE NTStatus = 0x000000FF STATUS_KERNEL_APC NTStatus = 0x00000100 STATUS_ALERTED NTStatus = 0x00000101 STATUS_TIMEOUT NTStatus = 0x00000102 STATUS_PENDING NTStatus = 0x00000103 STATUS_REPARSE NTStatus = 0x00000104 STATUS_MORE_ENTRIES NTStatus = 0x00000105 STATUS_NOT_ALL_ASSIGNED NTStatus = 0x00000106 STATUS_SOME_NOT_MAPPED NTStatus = 0x00000107 STATUS_OPLOCK_BREAK_IN_PROGRESS NTStatus = 0x00000108 STATUS_VOLUME_MOUNTED NTStatus = 0x00000109 STATUS_RXACT_COMMITTED NTStatus = 0x0000010A STATUS_NOTIFY_CLEANUP NTStatus = 0x0000010B STATUS_NOTIFY_ENUM_DIR NTStatus = 0x0000010C STATUS_NO_QUOTAS_FOR_ACCOUNT NTStatus = 0x0000010D STATUS_PRIMARY_TRANSPORT_CONNECT_FAILED NTStatus = 0x0000010E STATUS_PAGE_FAULT_TRANSITION NTStatus = 0x00000110 STATUS_PAGE_FAULT_DEMAND_ZERO NTStatus = 0x00000111 STATUS_PAGE_FAULT_COPY_ON_WRITE NTStatus = 0x00000112 STATUS_PAGE_FAULT_GUARD_PAGE NTStatus = 0x00000113 STATUS_PAGE_FAULT_PAGING_FILE NTStatus = 0x00000114 STATUS_CACHE_PAGE_LOCKED NTStatus = 0x00000115 STATUS_CRASH_DUMP NTStatus = 0x00000116 STATUS_BUFFER_ALL_ZEROS NTStatus = 0x00000117 STATUS_REPARSE_OBJECT NTStatus = 0x00000118 STATUS_RESOURCE_REQUIREMENTS_CHANGED NTStatus = 0x00000119 STATUS_TRANSLATION_COMPLETE NTStatus = 0x00000120 STATUS_DS_MEMBERSHIP_EVALUATED_LOCALLY NTStatus = 0x00000121 STATUS_NOTHING_TO_TERMINATE NTStatus = 0x00000122 STATUS_PROCESS_NOT_IN_JOB NTStatus = 0x00000123 STATUS_PROCESS_IN_JOB NTStatus = 0x00000124 STATUS_VOLSNAP_HIBERNATE_READY NTStatus = 0x00000125 STATUS_FSFILTER_OP_COMPLETED_SUCCESSFULLY NTStatus = 0x00000126 STATUS_INTERRUPT_VECTOR_ALREADY_CONNECTED NTStatus = 0x00000127 STATUS_INTERRUPT_STILL_CONNECTED NTStatus = 0x00000128 STATUS_PROCESS_CLONED NTStatus = 0x00000129 STATUS_FILE_LOCKED_WITH_ONLY_READERS NTStatus = 0x0000012A STATUS_FILE_LOCKED_WITH_WRITERS NTStatus = 0x0000012B STATUS_VALID_IMAGE_HASH NTStatus = 0x0000012C STATUS_VALID_CATALOG_HASH NTStatus = 0x0000012D STATUS_VALID_STRONG_CODE_HASH NTStatus = 0x0000012E STATUS_GHOSTED NTStatus = 0x0000012F STATUS_DATA_OVERWRITTEN NTStatus = 0x00000130 STATUS_RESOURCEMANAGER_READ_ONLY NTStatus = 0x00000202 STATUS_RING_PREVIOUSLY_EMPTY NTStatus = 0x00000210 STATUS_RING_PREVIOUSLY_FULL NTStatus = 0x00000211 STATUS_RING_PREVIOUSLY_ABOVE_QUOTA NTStatus = 0x00000212 STATUS_RING_NEWLY_EMPTY NTStatus = 0x00000213 STATUS_RING_SIGNAL_OPPOSITE_ENDPOINT NTStatus = 0x00000214 STATUS_OPLOCK_SWITCHED_TO_NEW_HANDLE NTStatus = 0x00000215 STATUS_OPLOCK_HANDLE_CLOSED NTStatus = 0x00000216 STATUS_WAIT_FOR_OPLOCK NTStatus = 0x00000367 STATUS_REPARSE_GLOBAL NTStatus = 0x00000368 STATUS_FLT_IO_COMPLETE NTStatus = 0x001C0001 STATUS_OBJECT_NAME_EXISTS NTStatus = 0x40000000 STATUS_THREAD_WAS_SUSPENDED NTStatus = 0x40000001 STATUS_WORKING_SET_LIMIT_RANGE NTStatus = 0x40000002 STATUS_IMAGE_NOT_AT_BASE NTStatus = 0x40000003 STATUS_RXACT_STATE_CREATED NTStatus = 0x40000004 STATUS_SEGMENT_NOTIFICATION NTStatus = 0x40000005 STATUS_LOCAL_USER_SESSION_KEY NTStatus = 0x40000006 STATUS_BAD_CURRENT_DIRECTORY NTStatus = 0x40000007 STATUS_SERIAL_MORE_WRITES NTStatus = 0x40000008 STATUS_REGISTRY_RECOVERED NTStatus = 0x40000009 STATUS_FT_READ_RECOVERY_FROM_BACKUP NTStatus = 0x4000000A STATUS_FT_WRITE_RECOVERY NTStatus = 0x4000000B STATUS_SERIAL_COUNTER_TIMEOUT NTStatus = 0x4000000C STATUS_NULL_LM_PASSWORD NTStatus = 0x4000000D STATUS_IMAGE_MACHINE_TYPE_MISMATCH NTStatus = 0x4000000E STATUS_RECEIVE_PARTIAL NTStatus = 0x4000000F STATUS_RECEIVE_EXPEDITED NTStatus = 0x40000010 STATUS_RECEIVE_PARTIAL_EXPEDITED NTStatus = 0x40000011 STATUS_EVENT_DONE NTStatus = 0x40000012 STATUS_EVENT_PENDING NTStatus = 0x40000013 STATUS_CHECKING_FILE_SYSTEM NTStatus = 0x40000014 STATUS_FATAL_APP_EXIT NTStatus = 0x40000015 STATUS_PREDEFINED_HANDLE NTStatus = 0x40000016 STATUS_WAS_UNLOCKED NTStatus = 0x40000017 STATUS_SERVICE_NOTIFICATION NTStatus = 0x40000018 STATUS_WAS_LOCKED NTStatus = 0x40000019 STATUS_LOG_HARD_ERROR NTStatus = 0x4000001A STATUS_ALREADY_WIN32 NTStatus = 0x4000001B STATUS_WX86_UNSIMULATE NTStatus = 0x4000001C STATUS_WX86_CONTINUE NTStatus = 0x4000001D STATUS_WX86_SINGLE_STEP NTStatus = 0x4000001E STATUS_WX86_BREAKPOINT NTStatus = 0x4000001F STATUS_WX86_EXCEPTION_CONTINUE NTStatus = 0x40000020 STATUS_WX86_EXCEPTION_LASTCHANCE NTStatus = 0x40000021 STATUS_WX86_EXCEPTION_CHAIN NTStatus = 0x40000022 STATUS_IMAGE_MACHINE_TYPE_MISMATCH_EXE NTStatus = 0x40000023 STATUS_NO_YIELD_PERFORMED NTStatus = 0x40000024 STATUS_TIMER_RESUME_IGNORED NTStatus = 0x40000025 STATUS_ARBITRATION_UNHANDLED NTStatus = 0x40000026 STATUS_CARDBUS_NOT_SUPPORTED NTStatus = 0x40000027 STATUS_WX86_CREATEWX86TIB NTStatus = 0x40000028 STATUS_MP_PROCESSOR_MISMATCH NTStatus = 0x40000029 STATUS_HIBERNATED NTStatus = 0x4000002A STATUS_RESUME_HIBERNATION NTStatus = 0x4000002B STATUS_FIRMWARE_UPDATED NTStatus = 0x4000002C STATUS_DRIVERS_LEAKING_LOCKED_PAGES NTStatus = 0x4000002D STATUS_MESSAGE_RETRIEVED NTStatus = 0x4000002E STATUS_SYSTEM_POWERSTATE_TRANSITION NTStatus = 0x4000002F STATUS_ALPC_CHECK_COMPLETION_LIST NTStatus = 0x40000030 STATUS_SYSTEM_POWERSTATE_COMPLEX_TRANSITION NTStatus = 0x40000031 STATUS_ACCESS_AUDIT_BY_POLICY NTStatus = 0x40000032 STATUS_ABANDON_HIBERFILE NTStatus = 0x40000033 STATUS_BIZRULES_NOT_ENABLED NTStatus = 0x40000034 STATUS_FT_READ_FROM_COPY NTStatus = 0x40000035 STATUS_IMAGE_AT_DIFFERENT_BASE NTStatus = 0x40000036 STATUS_PATCH_DEFERRED NTStatus = 0x40000037 STATUS_HEURISTIC_DAMAGE_POSSIBLE NTStatus = 0x40190001 STATUS_GUARD_PAGE_VIOLATION NTStatus = 0x80000001 STATUS_DATATYPE_MISALIGNMENT NTStatus = 0x80000002 STATUS_BREAKPOINT NTStatus = 0x80000003 STATUS_SINGLE_STEP NTStatus = 0x80000004 STATUS_BUFFER_OVERFLOW NTStatus = 0x80000005 STATUS_NO_MORE_FILES NTStatus = 0x80000006 STATUS_WAKE_SYSTEM_DEBUGGER NTStatus = 0x80000007 STATUS_HANDLES_CLOSED NTStatus = 0x8000000A STATUS_NO_INHERITANCE NTStatus = 0x8000000B STATUS_GUID_SUBSTITUTION_MADE NTStatus = 0x8000000C STATUS_PARTIAL_COPY NTStatus = 0x8000000D STATUS_DEVICE_PAPER_EMPTY NTStatus = 0x8000000E STATUS_DEVICE_POWERED_OFF NTStatus = 0x8000000F STATUS_DEVICE_OFF_LINE NTStatus = 0x80000010 STATUS_DEVICE_BUSY NTStatus = 0x80000011 STATUS_NO_MORE_EAS NTStatus = 0x80000012 STATUS_INVALID_EA_NAME NTStatus = 0x80000013 STATUS_EA_LIST_INCONSISTENT NTStatus = 0x80000014 STATUS_INVALID_EA_FLAG NTStatus = 0x80000015 STATUS_VERIFY_REQUIRED NTStatus = 0x80000016 STATUS_EXTRANEOUS_INFORMATION NTStatus = 0x80000017 STATUS_RXACT_COMMIT_NECESSARY NTStatus = 0x80000018 STATUS_NO_MORE_ENTRIES NTStatus = 0x8000001A STATUS_FILEMARK_DETECTED NTStatus = 0x8000001B STATUS_MEDIA_CHANGED NTStatus = 0x8000001C STATUS_BUS_RESET NTStatus = 0x8000001D STATUS_END_OF_MEDIA NTStatus = 0x8000001E STATUS_BEGINNING_OF_MEDIA NTStatus = 0x8000001F STATUS_MEDIA_CHECK NTStatus = 0x80000020 STATUS_SETMARK_DETECTED NTStatus = 0x80000021 STATUS_NO_DATA_DETECTED NTStatus = 0x80000022 STATUS_REDIRECTOR_HAS_OPEN_HANDLES NTStatus = 0x80000023 STATUS_SERVER_HAS_OPEN_HANDLES NTStatus = 0x80000024 STATUS_ALREADY_DISCONNECTED NTStatus = 0x80000025 STATUS_LONGJUMP NTStatus = 0x80000026 STATUS_CLEANER_CARTRIDGE_INSTALLED NTStatus = 0x80000027 STATUS_PLUGPLAY_QUERY_VETOED NTStatus = 0x80000028 STATUS_UNWIND_CONSOLIDATE NTStatus = 0x80000029 STATUS_REGISTRY_HIVE_RECOVERED NTStatus = 0x8000002A STATUS_DLL_MIGHT_BE_INSECURE NTStatus = 0x8000002B STATUS_DLL_MIGHT_BE_INCOMPATIBLE NTStatus = 0x8000002C STATUS_STOPPED_ON_SYMLINK NTStatus = 0x8000002D STATUS_CANNOT_GRANT_REQUESTED_OPLOCK NTStatus = 0x8000002E STATUS_NO_ACE_CONDITION NTStatus = 0x8000002F STATUS_DEVICE_SUPPORT_IN_PROGRESS NTStatus = 0x80000030 STATUS_DEVICE_POWER_CYCLE_REQUIRED NTStatus = 0x80000031 STATUS_NO_WORK_DONE NTStatus = 0x80000032 STATUS_CLUSTER_NODE_ALREADY_UP NTStatus = 0x80130001 STATUS_CLUSTER_NODE_ALREADY_DOWN NTStatus = 0x80130002 STATUS_CLUSTER_NETWORK_ALREADY_ONLINE NTStatus = 0x80130003 STATUS_CLUSTER_NETWORK_ALREADY_OFFLINE NTStatus = 0x80130004 STATUS_CLUSTER_NODE_ALREADY_MEMBER NTStatus = 0x80130005 STATUS_FLT_BUFFER_TOO_SMALL NTStatus = 0x801C0001 STATUS_FVE_PARTIAL_METADATA NTStatus = 0x80210001 STATUS_FVE_TRANSIENT_STATE NTStatus = 0x80210002 STATUS_CLOUD_FILE_PROPERTY_BLOB_CHECKSUM_MISMATCH NTStatus = 0x8000CF00 STATUS_UNSUCCESSFUL NTStatus = 0xC0000001 STATUS_NOT_IMPLEMENTED NTStatus = 0xC0000002 STATUS_INVALID_INFO_CLASS NTStatus = 0xC0000003 STATUS_INFO_LENGTH_MISMATCH NTStatus = 0xC0000004 STATUS_ACCESS_VIOLATION NTStatus = 0xC0000005 STATUS_IN_PAGE_ERROR NTStatus = 0xC0000006 STATUS_PAGEFILE_QUOTA NTStatus = 0xC0000007 STATUS_INVALID_HANDLE NTStatus = 0xC0000008 STATUS_BAD_INITIAL_STACK NTStatus = 0xC0000009 STATUS_BAD_INITIAL_PC NTStatus = 0xC000000A STATUS_INVALID_CID NTStatus = 0xC000000B STATUS_TIMER_NOT_CANCELED NTStatus = 0xC000000C STATUS_INVALID_PARAMETER NTStatus = 0xC000000D STATUS_NO_SUCH_DEVICE NTStatus = 0xC000000E STATUS_NO_SUCH_FILE NTStatus = 0xC000000F STATUS_INVALID_DEVICE_REQUEST NTStatus = 0xC0000010 STATUS_END_OF_FILE NTStatus = 0xC0000011 STATUS_WRONG_VOLUME NTStatus = 0xC0000012 STATUS_NO_MEDIA_IN_DEVICE NTStatus = 0xC0000013 STATUS_UNRECOGNIZED_MEDIA NTStatus = 0xC0000014 STATUS_NONEXISTENT_SECTOR NTStatus = 0xC0000015 STATUS_MORE_PROCESSING_REQUIRED NTStatus = 0xC0000016 STATUS_NO_MEMORY NTStatus = 0xC0000017 STATUS_CONFLICTING_ADDRESSES NTStatus = 0xC0000018 STATUS_NOT_MAPPED_VIEW NTStatus = 0xC0000019 STATUS_UNABLE_TO_FREE_VM NTStatus = 0xC000001A STATUS_UNABLE_TO_DELETE_SECTION NTStatus = 0xC000001B STATUS_INVALID_SYSTEM_SERVICE NTStatus = 0xC000001C STATUS_ILLEGAL_INSTRUCTION NTStatus = 0xC000001D STATUS_INVALID_LOCK_SEQUENCE NTStatus = 0xC000001E STATUS_INVALID_VIEW_SIZE NTStatus = 0xC000001F STATUS_INVALID_FILE_FOR_SECTION NTStatus = 0xC0000020 STATUS_ALREADY_COMMITTED NTStatus = 0xC0000021 STATUS_ACCESS_DENIED NTStatus = 0xC0000022 STATUS_BUFFER_TOO_SMALL NTStatus = 0xC0000023 STATUS_OBJECT_TYPE_MISMATCH NTStatus = 0xC0000024 STATUS_NONCONTINUABLE_EXCEPTION NTStatus = 0xC0000025 STATUS_INVALID_DISPOSITION NTStatus = 0xC0000026 STATUS_UNWIND NTStatus = 0xC0000027 STATUS_BAD_STACK NTStatus = 0xC0000028 STATUS_INVALID_UNWIND_TARGET NTStatus = 0xC0000029 STATUS_NOT_LOCKED NTStatus = 0xC000002A STATUS_PARITY_ERROR NTStatus = 0xC000002B STATUS_UNABLE_TO_DECOMMIT_VM NTStatus = 0xC000002C STATUS_NOT_COMMITTED NTStatus = 0xC000002D STATUS_INVALID_PORT_ATTRIBUTES NTStatus = 0xC000002E STATUS_PORT_MESSAGE_TOO_LONG NTStatus = 0xC000002F STATUS_INVALID_PARAMETER_MIX NTStatus = 0xC0000030 STATUS_INVALID_QUOTA_LOWER NTStatus = 0xC0000031 STATUS_DISK_CORRUPT_ERROR NTStatus = 0xC0000032 STATUS_OBJECT_NAME_INVALID NTStatus = 0xC0000033 STATUS_OBJECT_NAME_NOT_FOUND NTStatus = 0xC0000034 STATUS_OBJECT_NAME_COLLISION NTStatus = 0xC0000035 STATUS_PORT_DO_NOT_DISTURB NTStatus = 0xC0000036 STATUS_PORT_DISCONNECTED NTStatus = 0xC0000037 STATUS_DEVICE_ALREADY_ATTACHED NTStatus = 0xC0000038 STATUS_OBJECT_PATH_INVALID NTStatus = 0xC0000039 STATUS_OBJECT_PATH_NOT_FOUND NTStatus = 0xC000003A STATUS_OBJECT_PATH_SYNTAX_BAD NTStatus = 0xC000003B STATUS_DATA_OVERRUN NTStatus = 0xC000003C STATUS_DATA_LATE_ERROR NTStatus = 0xC000003D STATUS_DATA_ERROR NTStatus = 0xC000003E STATUS_CRC_ERROR NTStatus = 0xC000003F STATUS_SECTION_TOO_BIG NTStatus = 0xC0000040 STATUS_PORT_CONNECTION_REFUSED NTStatus = 0xC0000041 STATUS_INVALID_PORT_HANDLE NTStatus = 0xC0000042 STATUS_SHARING_VIOLATION NTStatus = 0xC0000043 STATUS_QUOTA_EXCEEDED NTStatus = 0xC0000044 STATUS_INVALID_PAGE_PROTECTION NTStatus = 0xC0000045 STATUS_MUTANT_NOT_OWNED NTStatus = 0xC0000046 STATUS_SEMAPHORE_LIMIT_EXCEEDED NTStatus = 0xC0000047 STATUS_PORT_ALREADY_SET NTStatus = 0xC0000048 STATUS_SECTION_NOT_IMAGE NTStatus = 0xC0000049 STATUS_SUSPEND_COUNT_EXCEEDED NTStatus = 0xC000004A STATUS_THREAD_IS_TERMINATING NTStatus = 0xC000004B STATUS_BAD_WORKING_SET_LIMIT NTStatus = 0xC000004C STATUS_INCOMPATIBLE_FILE_MAP NTStatus = 0xC000004D STATUS_SECTION_PROTECTION NTStatus = 0xC000004E STATUS_EAS_NOT_SUPPORTED NTStatus = 0xC000004F STATUS_EA_TOO_LARGE NTStatus = 0xC0000050 STATUS_NONEXISTENT_EA_ENTRY NTStatus = 0xC0000051 STATUS_NO_EAS_ON_FILE NTStatus = 0xC0000052 STATUS_EA_CORRUPT_ERROR NTStatus = 0xC0000053 STATUS_FILE_LOCK_CONFLICT NTStatus = 0xC0000054 STATUS_LOCK_NOT_GRANTED NTStatus = 0xC0000055 STATUS_DELETE_PENDING NTStatus = 0xC0000056 STATUS_CTL_FILE_NOT_SUPPORTED NTStatus = 0xC0000057 STATUS_UNKNOWN_REVISION NTStatus = 0xC0000058 STATUS_REVISION_MISMATCH NTStatus = 0xC0000059 STATUS_INVALID_OWNER NTStatus = 0xC000005A STATUS_INVALID_PRIMARY_GROUP NTStatus = 0xC000005B STATUS_NO_IMPERSONATION_TOKEN NTStatus = 0xC000005C STATUS_CANT_DISABLE_MANDATORY NTStatus = 0xC000005D STATUS_NO_LOGON_SERVERS NTStatus = 0xC000005E STATUS_NO_SUCH_LOGON_SESSION NTStatus = 0xC000005F STATUS_NO_SUCH_PRIVILEGE NTStatus = 0xC0000060 STATUS_PRIVILEGE_NOT_HELD NTStatus = 0xC0000061 STATUS_INVALID_ACCOUNT_NAME NTStatus = 0xC0000062 STATUS_USER_EXISTS NTStatus = 0xC0000063 STATUS_NO_SUCH_USER NTStatus = 0xC0000064 STATUS_GROUP_EXISTS NTStatus = 0xC0000065 STATUS_NO_SUCH_GROUP NTStatus = 0xC0000066 STATUS_MEMBER_IN_GROUP NTStatus = 0xC0000067 STATUS_MEMBER_NOT_IN_GROUP NTStatus = 0xC0000068 STATUS_LAST_ADMIN NTStatus = 0xC0000069 STATUS_WRONG_PASSWORD NTStatus = 0xC000006A STATUS_ILL_FORMED_PASSWORD NTStatus = 0xC000006B STATUS_PASSWORD_RESTRICTION NTStatus = 0xC000006C STATUS_LOGON_FAILURE NTStatus = 0xC000006D STATUS_ACCOUNT_RESTRICTION NTStatus = 0xC000006E STATUS_INVALID_LOGON_HOURS NTStatus = 0xC000006F STATUS_INVALID_WORKSTATION NTStatus = 0xC0000070 STATUS_PASSWORD_EXPIRED NTStatus = 0xC0000071 STATUS_ACCOUNT_DISABLED NTStatus = 0xC0000072 STATUS_NONE_MAPPED NTStatus = 0xC0000073 STATUS_TOO_MANY_LUIDS_REQUESTED NTStatus = 0xC0000074 STATUS_LUIDS_EXHAUSTED NTStatus = 0xC0000075 STATUS_INVALID_SUB_AUTHORITY NTStatus = 0xC0000076 STATUS_INVALID_ACL NTStatus = 0xC0000077 STATUS_INVALID_SID NTStatus = 0xC0000078 STATUS_INVALID_SECURITY_DESCR NTStatus = 0xC0000079 STATUS_PROCEDURE_NOT_FOUND NTStatus = 0xC000007A STATUS_INVALID_IMAGE_FORMAT NTStatus = 0xC000007B STATUS_NO_TOKEN NTStatus = 0xC000007C STATUS_BAD_INHERITANCE_ACL NTStatus = 0xC000007D STATUS_RANGE_NOT_LOCKED NTStatus = 0xC000007E STATUS_DISK_FULL NTStatus = 0xC000007F STATUS_SERVER_DISABLED NTStatus = 0xC0000080 STATUS_SERVER_NOT_DISABLED NTStatus = 0xC0000081 STATUS_TOO_MANY_GUIDS_REQUESTED NTStatus = 0xC0000082 STATUS_GUIDS_EXHAUSTED NTStatus = 0xC0000083 STATUS_INVALID_ID_AUTHORITY NTStatus = 0xC0000084 STATUS_AGENTS_EXHAUSTED NTStatus = 0xC0000085 STATUS_INVALID_VOLUME_LABEL NTStatus = 0xC0000086 STATUS_SECTION_NOT_EXTENDED NTStatus = 0xC0000087 STATUS_NOT_MAPPED_DATA NTStatus = 0xC0000088 STATUS_RESOURCE_DATA_NOT_FOUND NTStatus = 0xC0000089 STATUS_RESOURCE_TYPE_NOT_FOUND NTStatus = 0xC000008A STATUS_RESOURCE_NAME_NOT_FOUND NTStatus = 0xC000008B STATUS_ARRAY_BOUNDS_EXCEEDED NTStatus = 0xC000008C STATUS_FLOAT_DENORMAL_OPERAND NTStatus = 0xC000008D STATUS_FLOAT_DIVIDE_BY_ZERO NTStatus = 0xC000008E STATUS_FLOAT_INEXACT_RESULT NTStatus = 0xC000008F STATUS_FLOAT_INVALID_OPERATION NTStatus = 0xC0000090 STATUS_FLOAT_OVERFLOW NTStatus = 0xC0000091 STATUS_FLOAT_STACK_CHECK NTStatus = 0xC0000092 STATUS_FLOAT_UNDERFLOW NTStatus = 0xC0000093 STATUS_INTEGER_DIVIDE_BY_ZERO NTStatus = 0xC0000094 STATUS_INTEGER_OVERFLOW NTStatus = 0xC0000095 STATUS_PRIVILEGED_INSTRUCTION NTStatus = 0xC0000096 STATUS_TOO_MANY_PAGING_FILES NTStatus = 0xC0000097 STATUS_FILE_INVALID NTStatus = 0xC0000098 STATUS_ALLOTTED_SPACE_EXCEEDED NTStatus = 0xC0000099 STATUS_INSUFFICIENT_RESOURCES NTStatus = 0xC000009A STATUS_DFS_EXIT_PATH_FOUND NTStatus = 0xC000009B STATUS_DEVICE_DATA_ERROR NTStatus = 0xC000009C STATUS_DEVICE_NOT_CONNECTED NTStatus = 0xC000009D STATUS_DEVICE_POWER_FAILURE NTStatus = 0xC000009E STATUS_FREE_VM_NOT_AT_BASE NTStatus = 0xC000009F STATUS_MEMORY_NOT_ALLOCATED NTStatus = 0xC00000A0 STATUS_WORKING_SET_QUOTA NTStatus = 0xC00000A1 STATUS_MEDIA_WRITE_PROTECTED NTStatus = 0xC00000A2 STATUS_DEVICE_NOT_READY NTStatus = 0xC00000A3 STATUS_INVALID_GROUP_ATTRIBUTES NTStatus = 0xC00000A4 STATUS_BAD_IMPERSONATION_LEVEL NTStatus = 0xC00000A5 STATUS_CANT_OPEN_ANONYMOUS NTStatus = 0xC00000A6 STATUS_BAD_VALIDATION_CLASS NTStatus = 0xC00000A7 STATUS_BAD_TOKEN_TYPE NTStatus = 0xC00000A8 STATUS_BAD_MASTER_BOOT_RECORD NTStatus = 0xC00000A9 STATUS_INSTRUCTION_MISALIGNMENT NTStatus = 0xC00000AA STATUS_INSTANCE_NOT_AVAILABLE NTStatus = 0xC00000AB STATUS_PIPE_NOT_AVAILABLE NTStatus = 0xC00000AC STATUS_INVALID_PIPE_STATE NTStatus = 0xC00000AD STATUS_PIPE_BUSY NTStatus = 0xC00000AE STATUS_ILLEGAL_FUNCTION NTStatus = 0xC00000AF STATUS_PIPE_DISCONNECTED NTStatus = 0xC00000B0 STATUS_PIPE_CLOSING NTStatus = 0xC00000B1 STATUS_PIPE_CONNECTED NTStatus = 0xC00000B2 STATUS_PIPE_LISTENING NTStatus = 0xC00000B3 STATUS_INVALID_READ_MODE NTStatus = 0xC00000B4 STATUS_IO_TIMEOUT NTStatus = 0xC00000B5 STATUS_FILE_FORCED_CLOSED NTStatus = 0xC00000B6 STATUS_PROFILING_NOT_STARTED NTStatus = 0xC00000B7 STATUS_PROFILING_NOT_STOPPED NTStatus = 0xC00000B8 STATUS_COULD_NOT_INTERPRET NTStatus = 0xC00000B9 STATUS_FILE_IS_A_DIRECTORY NTStatus = 0xC00000BA STATUS_NOT_SUPPORTED NTStatus = 0xC00000BB STATUS_REMOTE_NOT_LISTENING NTStatus = 0xC00000BC STATUS_DUPLICATE_NAME NTStatus = 0xC00000BD STATUS_BAD_NETWORK_PATH NTStatus = 0xC00000BE STATUS_NETWORK_BUSY NTStatus = 0xC00000BF STATUS_DEVICE_DOES_NOT_EXIST NTStatus = 0xC00000C0 STATUS_TOO_MANY_COMMANDS NTStatus = 0xC00000C1 STATUS_ADAPTER_HARDWARE_ERROR NTStatus = 0xC00000C2 STATUS_INVALID_NETWORK_RESPONSE NTStatus = 0xC00000C3 STATUS_UNEXPECTED_NETWORK_ERROR NTStatus = 0xC00000C4 STATUS_BAD_REMOTE_ADAPTER NTStatus = 0xC00000C5 STATUS_PRINT_QUEUE_FULL NTStatus = 0xC00000C6 STATUS_NO_SPOOL_SPACE NTStatus = 0xC00000C7 STATUS_PRINT_CANCELLED NTStatus = 0xC00000C8 STATUS_NETWORK_NAME_DELETED NTStatus = 0xC00000C9 STATUS_NETWORK_ACCESS_DENIED NTStatus = 0xC00000CA STATUS_BAD_DEVICE_TYPE NTStatus = 0xC00000CB STATUS_BAD_NETWORK_NAME NTStatus = 0xC00000CC STATUS_TOO_MANY_NAMES NTStatus = 0xC00000CD STATUS_TOO_MANY_SESSIONS NTStatus = 0xC00000CE STATUS_SHARING_PAUSED NTStatus = 0xC00000CF STATUS_REQUEST_NOT_ACCEPTED NTStatus = 0xC00000D0 STATUS_REDIRECTOR_PAUSED NTStatus = 0xC00000D1 STATUS_NET_WRITE_FAULT NTStatus = 0xC00000D2 STATUS_PROFILING_AT_LIMIT NTStatus = 0xC00000D3 STATUS_NOT_SAME_DEVICE NTStatus = 0xC00000D4 STATUS_FILE_RENAMED NTStatus = 0xC00000D5 STATUS_VIRTUAL_CIRCUIT_CLOSED NTStatus = 0xC00000D6 STATUS_NO_SECURITY_ON_OBJECT NTStatus = 0xC00000D7 STATUS_CANT_WAIT NTStatus = 0xC00000D8 STATUS_PIPE_EMPTY NTStatus = 0xC00000D9 STATUS_CANT_ACCESS_DOMAIN_INFO NTStatus = 0xC00000DA STATUS_CANT_TERMINATE_SELF NTStatus = 0xC00000DB STATUS_INVALID_SERVER_STATE NTStatus = 0xC00000DC STATUS_INVALID_DOMAIN_STATE NTStatus = 0xC00000DD STATUS_INVALID_DOMAIN_ROLE NTStatus = 0xC00000DE STATUS_NO_SUCH_DOMAIN NTStatus = 0xC00000DF STATUS_DOMAIN_EXISTS NTStatus = 0xC00000E0 STATUS_DOMAIN_LIMIT_EXCEEDED NTStatus = 0xC00000E1 STATUS_OPLOCK_NOT_GRANTED NTStatus = 0xC00000E2 STATUS_INVALID_OPLOCK_PROTOCOL NTStatus = 0xC00000E3 STATUS_INTERNAL_DB_CORRUPTION NTStatus = 0xC00000E4 STATUS_INTERNAL_ERROR NTStatus = 0xC00000E5 STATUS_GENERIC_NOT_MAPPED NTStatus = 0xC00000E6 STATUS_BAD_DESCRIPTOR_FORMAT NTStatus = 0xC00000E7 STATUS_INVALID_USER_BUFFER NTStatus = 0xC00000E8 STATUS_UNEXPECTED_IO_ERROR NTStatus = 0xC00000E9 STATUS_UNEXPECTED_MM_CREATE_ERR NTStatus = 0xC00000EA STATUS_UNEXPECTED_MM_MAP_ERROR NTStatus = 0xC00000EB STATUS_UNEXPECTED_MM_EXTEND_ERR NTStatus = 0xC00000EC STATUS_NOT_LOGON_PROCESS NTStatus = 0xC00000ED STATUS_LOGON_SESSION_EXISTS NTStatus = 0xC00000EE STATUS_INVALID_PARAMETER_1 NTStatus = 0xC00000EF STATUS_INVALID_PARAMETER_2 NTStatus = 0xC00000F0 STATUS_INVALID_PARAMETER_3 NTStatus = 0xC00000F1 STATUS_INVALID_PARAMETER_4 NTStatus = 0xC00000F2 STATUS_INVALID_PARAMETER_5 NTStatus = 0xC00000F3 STATUS_INVALID_PARAMETER_6 NTStatus = 0xC00000F4 STATUS_INVALID_PARAMETER_7 NTStatus = 0xC00000F5 STATUS_INVALID_PARAMETER_8 NTStatus = 0xC00000F6 STATUS_INVALID_PARAMETER_9 NTStatus = 0xC00000F7 STATUS_INVALID_PARAMETER_10 NTStatus = 0xC00000F8 STATUS_INVALID_PARAMETER_11 NTStatus = 0xC00000F9 STATUS_INVALID_PARAMETER_12 NTStatus = 0xC00000FA STATUS_REDIRECTOR_NOT_STARTED NTStatus = 0xC00000FB STATUS_REDIRECTOR_STARTED NTStatus = 0xC00000FC STATUS_STACK_OVERFLOW NTStatus = 0xC00000FD STATUS_NO_SUCH_PACKAGE NTStatus = 0xC00000FE STATUS_BAD_FUNCTION_TABLE NTStatus = 0xC00000FF STATUS_VARIABLE_NOT_FOUND NTStatus = 0xC0000100 STATUS_DIRECTORY_NOT_EMPTY NTStatus = 0xC0000101 STATUS_FILE_CORRUPT_ERROR NTStatus = 0xC0000102 STATUS_NOT_A_DIRECTORY NTStatus = 0xC0000103 STATUS_BAD_LOGON_SESSION_STATE NTStatus = 0xC0000104 STATUS_LOGON_SESSION_COLLISION NTStatus = 0xC0000105 STATUS_NAME_TOO_LONG NTStatus = 0xC0000106 STATUS_FILES_OPEN NTStatus = 0xC0000107 STATUS_CONNECTION_IN_USE NTStatus = 0xC0000108 STATUS_MESSAGE_NOT_FOUND NTStatus = 0xC0000109 STATUS_PROCESS_IS_TERMINATING NTStatus = 0xC000010A STATUS_INVALID_LOGON_TYPE NTStatus = 0xC000010B STATUS_NO_GUID_TRANSLATION NTStatus = 0xC000010C STATUS_CANNOT_IMPERSONATE NTStatus = 0xC000010D STATUS_IMAGE_ALREADY_LOADED NTStatus = 0xC000010E STATUS_ABIOS_NOT_PRESENT NTStatus = 0xC000010F STATUS_ABIOS_LID_NOT_EXIST NTStatus = 0xC0000110 STATUS_ABIOS_LID_ALREADY_OWNED NTStatus = 0xC0000111 STATUS_ABIOS_NOT_LID_OWNER NTStatus = 0xC0000112 STATUS_ABIOS_INVALID_COMMAND NTStatus = 0xC0000113 STATUS_ABIOS_INVALID_LID NTStatus = 0xC0000114 STATUS_ABIOS_SELECTOR_NOT_AVAILABLE NTStatus = 0xC0000115 STATUS_ABIOS_INVALID_SELECTOR NTStatus = 0xC0000116 STATUS_NO_LDT NTStatus = 0xC0000117 STATUS_INVALID_LDT_SIZE NTStatus = 0xC0000118 STATUS_INVALID_LDT_OFFSET NTStatus = 0xC0000119 STATUS_INVALID_LDT_DESCRIPTOR NTStatus = 0xC000011A STATUS_INVALID_IMAGE_NE_FORMAT NTStatus = 0xC000011B STATUS_RXACT_INVALID_STATE NTStatus = 0xC000011C STATUS_RXACT_COMMIT_FAILURE NTStatus = 0xC000011D STATUS_MAPPED_FILE_SIZE_ZERO NTStatus = 0xC000011E STATUS_TOO_MANY_OPENED_FILES NTStatus = 0xC000011F STATUS_CANCELLED NTStatus = 0xC0000120 STATUS_CANNOT_DELETE NTStatus = 0xC0000121 STATUS_INVALID_COMPUTER_NAME NTStatus = 0xC0000122 STATUS_FILE_DELETED NTStatus = 0xC0000123 STATUS_SPECIAL_ACCOUNT NTStatus = 0xC0000124 STATUS_SPECIAL_GROUP NTStatus = 0xC0000125 STATUS_SPECIAL_USER NTStatus = 0xC0000126 STATUS_MEMBERS_PRIMARY_GROUP NTStatus = 0xC0000127 STATUS_FILE_CLOSED NTStatus = 0xC0000128 STATUS_TOO_MANY_THREADS NTStatus = 0xC0000129 STATUS_THREAD_NOT_IN_PROCESS NTStatus = 0xC000012A STATUS_TOKEN_ALREADY_IN_USE NTStatus = 0xC000012B STATUS_PAGEFILE_QUOTA_EXCEEDED NTStatus = 0xC000012C STATUS_COMMITMENT_LIMIT NTStatus = 0xC000012D STATUS_INVALID_IMAGE_LE_FORMAT NTStatus = 0xC000012E STATUS_INVALID_IMAGE_NOT_MZ NTStatus = 0xC000012F STATUS_INVALID_IMAGE_PROTECT NTStatus = 0xC0000130 STATUS_INVALID_IMAGE_WIN_16 NTStatus = 0xC0000131 STATUS_LOGON_SERVER_CONFLICT NTStatus = 0xC0000132 STATUS_TIME_DIFFERENCE_AT_DC NTStatus = 0xC0000133 STATUS_SYNCHRONIZATION_REQUIRED NTStatus = 0xC0000134 STATUS_DLL_NOT_FOUND NTStatus = 0xC0000135 STATUS_OPEN_FAILED NTStatus = 0xC0000136 STATUS_IO_PRIVILEGE_FAILED NTStatus = 0xC0000137 STATUS_ORDINAL_NOT_FOUND NTStatus = 0xC0000138 STATUS_ENTRYPOINT_NOT_FOUND NTStatus = 0xC0000139 STATUS_CONTROL_C_EXIT NTStatus = 0xC000013A STATUS_LOCAL_DISCONNECT NTStatus = 0xC000013B STATUS_REMOTE_DISCONNECT NTStatus = 0xC000013C STATUS_REMOTE_RESOURCES NTStatus = 0xC000013D STATUS_LINK_FAILED NTStatus = 0xC000013E STATUS_LINK_TIMEOUT NTStatus = 0xC000013F STATUS_INVALID_CONNECTION NTStatus = 0xC0000140 STATUS_INVALID_ADDRESS NTStatus = 0xC0000141 STATUS_DLL_INIT_FAILED NTStatus = 0xC0000142 STATUS_MISSING_SYSTEMFILE NTStatus = 0xC0000143 STATUS_UNHANDLED_EXCEPTION NTStatus = 0xC0000144 STATUS_APP_INIT_FAILURE NTStatus = 0xC0000145 STATUS_PAGEFILE_CREATE_FAILED NTStatus = 0xC0000146 STATUS_NO_PAGEFILE NTStatus = 0xC0000147 STATUS_INVALID_LEVEL NTStatus = 0xC0000148 STATUS_WRONG_PASSWORD_CORE NTStatus = 0xC0000149 STATUS_ILLEGAL_FLOAT_CONTEXT NTStatus = 0xC000014A STATUS_PIPE_BROKEN NTStatus = 0xC000014B STATUS_REGISTRY_CORRUPT NTStatus = 0xC000014C STATUS_REGISTRY_IO_FAILED NTStatus = 0xC000014D STATUS_NO_EVENT_PAIR NTStatus = 0xC000014E STATUS_UNRECOGNIZED_VOLUME NTStatus = 0xC000014F STATUS_SERIAL_NO_DEVICE_INITED NTStatus = 0xC0000150 STATUS_NO_SUCH_ALIAS NTStatus = 0xC0000151 STATUS_MEMBER_NOT_IN_ALIAS NTStatus = 0xC0000152 STATUS_MEMBER_IN_ALIAS NTStatus = 0xC0000153 STATUS_ALIAS_EXISTS NTStatus = 0xC0000154 STATUS_LOGON_NOT_GRANTED NTStatus = 0xC0000155 STATUS_TOO_MANY_SECRETS NTStatus = 0xC0000156 STATUS_SECRET_TOO_LONG NTStatus = 0xC0000157 STATUS_INTERNAL_DB_ERROR NTStatus = 0xC0000158 STATUS_FULLSCREEN_MODE NTStatus = 0xC0000159 STATUS_TOO_MANY_CONTEXT_IDS NTStatus = 0xC000015A STATUS_LOGON_TYPE_NOT_GRANTED NTStatus = 0xC000015B STATUS_NOT_REGISTRY_FILE NTStatus = 0xC000015C STATUS_NT_CROSS_ENCRYPTION_REQUIRED NTStatus = 0xC000015D STATUS_DOMAIN_CTRLR_CONFIG_ERROR NTStatus = 0xC000015E STATUS_FT_MISSING_MEMBER NTStatus = 0xC000015F STATUS_ILL_FORMED_SERVICE_ENTRY NTStatus = 0xC0000160 STATUS_ILLEGAL_CHARACTER NTStatus = 0xC0000161 STATUS_UNMAPPABLE_CHARACTER NTStatus = 0xC0000162 STATUS_UNDEFINED_CHARACTER NTStatus = 0xC0000163 STATUS_FLOPPY_VOLUME NTStatus = 0xC0000164 STATUS_FLOPPY_ID_MARK_NOT_FOUND NTStatus = 0xC0000165 STATUS_FLOPPY_WRONG_CYLINDER NTStatus = 0xC0000166 STATUS_FLOPPY_UNKNOWN_ERROR NTStatus = 0xC0000167 STATUS_FLOPPY_BAD_REGISTERS NTStatus = 0xC0000168 STATUS_DISK_RECALIBRATE_FAILED NTStatus = 0xC0000169 STATUS_DISK_OPERATION_FAILED NTStatus = 0xC000016A STATUS_DISK_RESET_FAILED NTStatus = 0xC000016B STATUS_SHARED_IRQ_BUSY NTStatus = 0xC000016C STATUS_FT_ORPHANING NTStatus = 0xC000016D STATUS_BIOS_FAILED_TO_CONNECT_INTERRUPT NTStatus = 0xC000016E STATUS_PARTITION_FAILURE NTStatus = 0xC0000172 STATUS_INVALID_BLOCK_LENGTH NTStatus = 0xC0000173 STATUS_DEVICE_NOT_PARTITIONED NTStatus = 0xC0000174 STATUS_UNABLE_TO_LOCK_MEDIA NTStatus = 0xC0000175 STATUS_UNABLE_TO_UNLOAD_MEDIA NTStatus = 0xC0000176 STATUS_EOM_OVERFLOW NTStatus = 0xC0000177 STATUS_NO_MEDIA NTStatus = 0xC0000178 STATUS_NO_SUCH_MEMBER NTStatus = 0xC000017A STATUS_INVALID_MEMBER NTStatus = 0xC000017B STATUS_KEY_DELETED NTStatus = 0xC000017C STATUS_NO_LOG_SPACE NTStatus = 0xC000017D STATUS_TOO_MANY_SIDS NTStatus = 0xC000017E STATUS_LM_CROSS_ENCRYPTION_REQUIRED NTStatus = 0xC000017F STATUS_KEY_HAS_CHILDREN NTStatus = 0xC0000180 STATUS_CHILD_MUST_BE_VOLATILE NTStatus = 0xC0000181 STATUS_DEVICE_CONFIGURATION_ERROR NTStatus = 0xC0000182 STATUS_DRIVER_INTERNAL_ERROR NTStatus = 0xC0000183 STATUS_INVALID_DEVICE_STATE NTStatus = 0xC0000184 STATUS_IO_DEVICE_ERROR NTStatus = 0xC0000185 STATUS_DEVICE_PROTOCOL_ERROR NTStatus = 0xC0000186 STATUS_BACKUP_CONTROLLER NTStatus = 0xC0000187 STATUS_LOG_FILE_FULL NTStatus = 0xC0000188 STATUS_TOO_LATE NTStatus = 0xC0000189 STATUS_NO_TRUST_LSA_SECRET NTStatus = 0xC000018A STATUS_NO_TRUST_SAM_ACCOUNT NTStatus = 0xC000018B STATUS_TRUSTED_DOMAIN_FAILURE NTStatus = 0xC000018C STATUS_TRUSTED_RELATIONSHIP_FAILURE NTStatus = 0xC000018D STATUS_EVENTLOG_FILE_CORRUPT NTStatus = 0xC000018E STATUS_EVENTLOG_CANT_START NTStatus = 0xC000018F STATUS_TRUST_FAILURE NTStatus = 0xC0000190 STATUS_MUTANT_LIMIT_EXCEEDED NTStatus = 0xC0000191 STATUS_NETLOGON_NOT_STARTED NTStatus = 0xC0000192 STATUS_ACCOUNT_EXPIRED NTStatus = 0xC0000193 STATUS_POSSIBLE_DEADLOCK NTStatus = 0xC0000194 STATUS_NETWORK_CREDENTIAL_CONFLICT NTStatus = 0xC0000195 STATUS_REMOTE_SESSION_LIMIT NTStatus = 0xC0000196 STATUS_EVENTLOG_FILE_CHANGED NTStatus = 0xC0000197 STATUS_NOLOGON_INTERDOMAIN_TRUST_ACCOUNT NTStatus = 0xC0000198 STATUS_NOLOGON_WORKSTATION_TRUST_ACCOUNT NTStatus = 0xC0000199 STATUS_NOLOGON_SERVER_TRUST_ACCOUNT NTStatus = 0xC000019A STATUS_DOMAIN_TRUST_INCONSISTENT NTStatus = 0xC000019B STATUS_FS_DRIVER_REQUIRED NTStatus = 0xC000019C STATUS_IMAGE_ALREADY_LOADED_AS_DLL NTStatus = 0xC000019D STATUS_INCOMPATIBLE_WITH_GLOBAL_SHORT_NAME_REGISTRY_SETTING NTStatus = 0xC000019E STATUS_SHORT_NAMES_NOT_ENABLED_ON_VOLUME NTStatus = 0xC000019F STATUS_SECURITY_STREAM_IS_INCONSISTENT NTStatus = 0xC00001A0 STATUS_INVALID_LOCK_RANGE NTStatus = 0xC00001A1 STATUS_INVALID_ACE_CONDITION NTStatus = 0xC00001A2 STATUS_IMAGE_SUBSYSTEM_NOT_PRESENT NTStatus = 0xC00001A3 STATUS_NOTIFICATION_GUID_ALREADY_DEFINED NTStatus = 0xC00001A4 STATUS_INVALID_EXCEPTION_HANDLER NTStatus = 0xC00001A5 STATUS_DUPLICATE_PRIVILEGES NTStatus = 0xC00001A6 STATUS_NOT_ALLOWED_ON_SYSTEM_FILE NTStatus = 0xC00001A7 STATUS_REPAIR_NEEDED NTStatus = 0xC00001A8 STATUS_QUOTA_NOT_ENABLED NTStatus = 0xC00001A9 STATUS_NO_APPLICATION_PACKAGE NTStatus = 0xC00001AA STATUS_FILE_METADATA_OPTIMIZATION_IN_PROGRESS NTStatus = 0xC00001AB STATUS_NOT_SAME_OBJECT NTStatus = 0xC00001AC STATUS_FATAL_MEMORY_EXHAUSTION NTStatus = 0xC00001AD STATUS_ERROR_PROCESS_NOT_IN_JOB NTStatus = 0xC00001AE STATUS_CPU_SET_INVALID NTStatus = 0xC00001AF STATUS_IO_DEVICE_INVALID_DATA NTStatus = 0xC00001B0 STATUS_IO_UNALIGNED_WRITE NTStatus = 0xC00001B1 STATUS_NETWORK_OPEN_RESTRICTION NTStatus = 0xC0000201 STATUS_NO_USER_SESSION_KEY NTStatus = 0xC0000202 STATUS_USER_SESSION_DELETED NTStatus = 0xC0000203 STATUS_RESOURCE_LANG_NOT_FOUND NTStatus = 0xC0000204 STATUS_INSUFF_SERVER_RESOURCES NTStatus = 0xC0000205 STATUS_INVALID_BUFFER_SIZE NTStatus = 0xC0000206 STATUS_INVALID_ADDRESS_COMPONENT NTStatus = 0xC0000207 STATUS_INVALID_ADDRESS_WILDCARD NTStatus = 0xC0000208 STATUS_TOO_MANY_ADDRESSES NTStatus = 0xC0000209 STATUS_ADDRESS_ALREADY_EXISTS NTStatus = 0xC000020A STATUS_ADDRESS_CLOSED NTStatus = 0xC000020B STATUS_CONNECTION_DISCONNECTED NTStatus = 0xC000020C STATUS_CONNECTION_RESET NTStatus = 0xC000020D STATUS_TOO_MANY_NODES NTStatus = 0xC000020E STATUS_TRANSACTION_ABORTED NTStatus = 0xC000020F STATUS_TRANSACTION_TIMED_OUT NTStatus = 0xC0000210 STATUS_TRANSACTION_NO_RELEASE NTStatus = 0xC0000211 STATUS_TRANSACTION_NO_MATCH NTStatus = 0xC0000212 STATUS_TRANSACTION_RESPONDED NTStatus = 0xC0000213 STATUS_TRANSACTION_INVALID_ID NTStatus = 0xC0000214 STATUS_TRANSACTION_INVALID_TYPE NTStatus = 0xC0000215 STATUS_NOT_SERVER_SESSION NTStatus = 0xC0000216 STATUS_NOT_CLIENT_SESSION NTStatus = 0xC0000217 STATUS_CANNOT_LOAD_REGISTRY_FILE NTStatus = 0xC0000218 STATUS_DEBUG_ATTACH_FAILED NTStatus = 0xC0000219 STATUS_SYSTEM_PROCESS_TERMINATED NTStatus = 0xC000021A STATUS_DATA_NOT_ACCEPTED NTStatus = 0xC000021B STATUS_NO_BROWSER_SERVERS_FOUND NTStatus = 0xC000021C STATUS_VDM_HARD_ERROR NTStatus = 0xC000021D STATUS_DRIVER_CANCEL_TIMEOUT NTStatus = 0xC000021E STATUS_REPLY_MESSAGE_MISMATCH NTStatus = 0xC000021F STATUS_MAPPED_ALIGNMENT NTStatus = 0xC0000220 STATUS_IMAGE_CHECKSUM_MISMATCH NTStatus = 0xC0000221 STATUS_LOST_WRITEBEHIND_DATA NTStatus = 0xC0000222 STATUS_CLIENT_SERVER_PARAMETERS_INVALID NTStatus = 0xC0000223 STATUS_PASSWORD_MUST_CHANGE NTStatus = 0xC0000224 STATUS_NOT_FOUND NTStatus = 0xC0000225 STATUS_NOT_TINY_STREAM NTStatus = 0xC0000226 STATUS_RECOVERY_FAILURE NTStatus = 0xC0000227 STATUS_STACK_OVERFLOW_READ NTStatus = 0xC0000228 STATUS_FAIL_CHECK NTStatus = 0xC0000229 STATUS_DUPLICATE_OBJECTID NTStatus = 0xC000022A STATUS_OBJECTID_EXISTS NTStatus = 0xC000022B STATUS_CONVERT_TO_LARGE NTStatus = 0xC000022C STATUS_RETRY NTStatus = 0xC000022D STATUS_FOUND_OUT_OF_SCOPE NTStatus = 0xC000022E STATUS_ALLOCATE_BUCKET NTStatus = 0xC000022F STATUS_PROPSET_NOT_FOUND NTStatus = 0xC0000230 STATUS_MARSHALL_OVERFLOW NTStatus = 0xC0000231 STATUS_INVALID_VARIANT NTStatus = 0xC0000232 STATUS_DOMAIN_CONTROLLER_NOT_FOUND NTStatus = 0xC0000233 STATUS_ACCOUNT_LOCKED_OUT NTStatus = 0xC0000234 STATUS_HANDLE_NOT_CLOSABLE NTStatus = 0xC0000235 STATUS_CONNECTION_REFUSED NTStatus = 0xC0000236 STATUS_GRACEFUL_DISCONNECT NTStatus = 0xC0000237 STATUS_ADDRESS_ALREADY_ASSOCIATED NTStatus = 0xC0000238 STATUS_ADDRESS_NOT_ASSOCIATED NTStatus = 0xC0000239 STATUS_CONNECTION_INVALID NTStatus = 0xC000023A STATUS_CONNECTION_ACTIVE NTStatus = 0xC000023B STATUS_NETWORK_UNREACHABLE NTStatus = 0xC000023C STATUS_HOST_UNREACHABLE NTStatus = 0xC000023D STATUS_PROTOCOL_UNREACHABLE NTStatus = 0xC000023E STATUS_PORT_UNREACHABLE NTStatus = 0xC000023F STATUS_REQUEST_ABORTED NTStatus = 0xC0000240 STATUS_CONNECTION_ABORTED NTStatus = 0xC0000241 STATUS_BAD_COMPRESSION_BUFFER NTStatus = 0xC0000242 STATUS_USER_MAPPED_FILE NTStatus = 0xC0000243 STATUS_AUDIT_FAILED NTStatus = 0xC0000244 STATUS_TIMER_RESOLUTION_NOT_SET NTStatus = 0xC0000245 STATUS_CONNECTION_COUNT_LIMIT NTStatus = 0xC0000246 STATUS_LOGIN_TIME_RESTRICTION NTStatus = 0xC0000247 STATUS_LOGIN_WKSTA_RESTRICTION NTStatus = 0xC0000248 STATUS_IMAGE_MP_UP_MISMATCH NTStatus = 0xC0000249 STATUS_INSUFFICIENT_LOGON_INFO NTStatus = 0xC0000250 STATUS_BAD_DLL_ENTRYPOINT NTStatus = 0xC0000251 STATUS_BAD_SERVICE_ENTRYPOINT NTStatus = 0xC0000252 STATUS_LPC_REPLY_LOST NTStatus = 0xC0000253 STATUS_IP_ADDRESS_CONFLICT1 NTStatus = 0xC0000254 STATUS_IP_ADDRESS_CONFLICT2 NTStatus = 0xC0000255 STATUS_REGISTRY_QUOTA_LIMIT NTStatus = 0xC0000256 STATUS_PATH_NOT_COVERED NTStatus = 0xC0000257 STATUS_NO_CALLBACK_ACTIVE NTStatus = 0xC0000258 STATUS_LICENSE_QUOTA_EXCEEDED NTStatus = 0xC0000259 STATUS_PWD_TOO_SHORT NTStatus = 0xC000025A STATUS_PWD_TOO_RECENT NTStatus = 0xC000025B STATUS_PWD_HISTORY_CONFLICT NTStatus = 0xC000025C STATUS_PLUGPLAY_NO_DEVICE NTStatus = 0xC000025E STATUS_UNSUPPORTED_COMPRESSION NTStatus = 0xC000025F STATUS_INVALID_HW_PROFILE NTStatus = 0xC0000260 STATUS_INVALID_PLUGPLAY_DEVICE_PATH NTStatus = 0xC0000261 STATUS_DRIVER_ORDINAL_NOT_FOUND NTStatus = 0xC0000262 STATUS_DRIVER_ENTRYPOINT_NOT_FOUND NTStatus = 0xC0000263 STATUS_RESOURCE_NOT_OWNED NTStatus = 0xC0000264 STATUS_TOO_MANY_LINKS NTStatus = 0xC0000265 STATUS_QUOTA_LIST_INCONSISTENT NTStatus = 0xC0000266 STATUS_FILE_IS_OFFLINE NTStatus = 0xC0000267 STATUS_EVALUATION_EXPIRATION NTStatus = 0xC0000268 STATUS_ILLEGAL_DLL_RELOCATION NTStatus = 0xC0000269 STATUS_LICENSE_VIOLATION NTStatus = 0xC000026A STATUS_DLL_INIT_FAILED_LOGOFF NTStatus = 0xC000026B STATUS_DRIVER_UNABLE_TO_LOAD NTStatus = 0xC000026C STATUS_DFS_UNAVAILABLE NTStatus = 0xC000026D STATUS_VOLUME_DISMOUNTED NTStatus = 0xC000026E STATUS_WX86_INTERNAL_ERROR NTStatus = 0xC000026F STATUS_WX86_FLOAT_STACK_CHECK NTStatus = 0xC0000270 STATUS_VALIDATE_CONTINUE NTStatus = 0xC0000271 STATUS_NO_MATCH NTStatus = 0xC0000272 STATUS_NO_MORE_MATCHES NTStatus = 0xC0000273 STATUS_NOT_A_REPARSE_POINT NTStatus = 0xC0000275 STATUS_IO_REPARSE_TAG_INVALID NTStatus = 0xC0000276 STATUS_IO_REPARSE_TAG_MISMATCH NTStatus = 0xC0000277 STATUS_IO_REPARSE_DATA_INVALID NTStatus = 0xC0000278 STATUS_IO_REPARSE_TAG_NOT_HANDLED NTStatus = 0xC0000279 STATUS_PWD_TOO_LONG NTStatus = 0xC000027A STATUS_STOWED_EXCEPTION NTStatus = 0xC000027B STATUS_CONTEXT_STOWED_EXCEPTION NTStatus = 0xC000027C STATUS_REPARSE_POINT_NOT_RESOLVED NTStatus = 0xC0000280 STATUS_DIRECTORY_IS_A_REPARSE_POINT NTStatus = 0xC0000281 STATUS_RANGE_LIST_CONFLICT NTStatus = 0xC0000282 STATUS_SOURCE_ELEMENT_EMPTY NTStatus = 0xC0000283 STATUS_DESTINATION_ELEMENT_FULL NTStatus = 0xC0000284 STATUS_ILLEGAL_ELEMENT_ADDRESS NTStatus = 0xC0000285 STATUS_MAGAZINE_NOT_PRESENT NTStatus = 0xC0000286 STATUS_REINITIALIZATION_NEEDED NTStatus = 0xC0000287 STATUS_DEVICE_REQUIRES_CLEANING NTStatus = 0x80000288 STATUS_DEVICE_DOOR_OPEN NTStatus = 0x80000289 STATUS_ENCRYPTION_FAILED NTStatus = 0xC000028A STATUS_DECRYPTION_FAILED NTStatus = 0xC000028B STATUS_RANGE_NOT_FOUND NTStatus = 0xC000028C STATUS_NO_RECOVERY_POLICY NTStatus = 0xC000028D STATUS_NO_EFS NTStatus = 0xC000028E STATUS_WRONG_EFS NTStatus = 0xC000028F STATUS_NO_USER_KEYS NTStatus = 0xC0000290 STATUS_FILE_NOT_ENCRYPTED NTStatus = 0xC0000291 STATUS_NOT_EXPORT_FORMAT NTStatus = 0xC0000292 STATUS_FILE_ENCRYPTED NTStatus = 0xC0000293 STATUS_WAKE_SYSTEM NTStatus = 0x40000294 STATUS_WMI_GUID_NOT_FOUND NTStatus = 0xC0000295 STATUS_WMI_INSTANCE_NOT_FOUND NTStatus = 0xC0000296 STATUS_WMI_ITEMID_NOT_FOUND NTStatus = 0xC0000297 STATUS_WMI_TRY_AGAIN NTStatus = 0xC0000298 STATUS_SHARED_POLICY NTStatus = 0xC0000299 STATUS_POLICY_OBJECT_NOT_FOUND NTStatus = 0xC000029A STATUS_POLICY_ONLY_IN_DS NTStatus = 0xC000029B STATUS_VOLUME_NOT_UPGRADED NTStatus = 0xC000029C STATUS_REMOTE_STORAGE_NOT_ACTIVE NTStatus = 0xC000029D STATUS_REMOTE_STORAGE_MEDIA_ERROR NTStatus = 0xC000029E STATUS_NO_TRACKING_SERVICE NTStatus = 0xC000029F STATUS_SERVER_SID_MISMATCH NTStatus = 0xC00002A0 STATUS_DS_NO_ATTRIBUTE_OR_VALUE NTStatus = 0xC00002A1 STATUS_DS_INVALID_ATTRIBUTE_SYNTAX NTStatus = 0xC00002A2 STATUS_DS_ATTRIBUTE_TYPE_UNDEFINED NTStatus = 0xC00002A3 STATUS_DS_ATTRIBUTE_OR_VALUE_EXISTS NTStatus = 0xC00002A4 STATUS_DS_BUSY NTStatus = 0xC00002A5 STATUS_DS_UNAVAILABLE NTStatus = 0xC00002A6 STATUS_DS_NO_RIDS_ALLOCATED NTStatus = 0xC00002A7 STATUS_DS_NO_MORE_RIDS NTStatus = 0xC00002A8 STATUS_DS_INCORRECT_ROLE_OWNER NTStatus = 0xC00002A9 STATUS_DS_RIDMGR_INIT_ERROR NTStatus = 0xC00002AA STATUS_DS_OBJ_CLASS_VIOLATION NTStatus = 0xC00002AB STATUS_DS_CANT_ON_NON_LEAF NTStatus = 0xC00002AC STATUS_DS_CANT_ON_RDN NTStatus = 0xC00002AD STATUS_DS_CANT_MOD_OBJ_CLASS NTStatus = 0xC00002AE STATUS_DS_CROSS_DOM_MOVE_FAILED NTStatus = 0xC00002AF STATUS_DS_GC_NOT_AVAILABLE NTStatus = 0xC00002B0 STATUS_DIRECTORY_SERVICE_REQUIRED NTStatus = 0xC00002B1 STATUS_REPARSE_ATTRIBUTE_CONFLICT NTStatus = 0xC00002B2 STATUS_CANT_ENABLE_DENY_ONLY NTStatus = 0xC00002B3 STATUS_FLOAT_MULTIPLE_FAULTS NTStatus = 0xC00002B4 STATUS_FLOAT_MULTIPLE_TRAPS NTStatus = 0xC00002B5 STATUS_DEVICE_REMOVED NTStatus = 0xC00002B6 STATUS_JOURNAL_DELETE_IN_PROGRESS NTStatus = 0xC00002B7 STATUS_JOURNAL_NOT_ACTIVE NTStatus = 0xC00002B8 STATUS_NOINTERFACE NTStatus = 0xC00002B9 STATUS_DS_RIDMGR_DISABLED NTStatus = 0xC00002BA STATUS_DS_ADMIN_LIMIT_EXCEEDED NTStatus = 0xC00002C1 STATUS_DRIVER_FAILED_SLEEP NTStatus = 0xC00002C2 STATUS_MUTUAL_AUTHENTICATION_FAILED NTStatus = 0xC00002C3 STATUS_CORRUPT_SYSTEM_FILE NTStatus = 0xC00002C4 STATUS_DATATYPE_MISALIGNMENT_ERROR NTStatus = 0xC00002C5 STATUS_WMI_READ_ONLY NTStatus = 0xC00002C6 STATUS_WMI_SET_FAILURE NTStatus = 0xC00002C7 STATUS_COMMITMENT_MINIMUM NTStatus = 0xC00002C8 STATUS_REG_NAT_CONSUMPTION NTStatus = 0xC00002C9 STATUS_TRANSPORT_FULL NTStatus = 0xC00002CA STATUS_DS_SAM_INIT_FAILURE NTStatus = 0xC00002CB STATUS_ONLY_IF_CONNECTED NTStatus = 0xC00002CC STATUS_DS_SENSITIVE_GROUP_VIOLATION NTStatus = 0xC00002CD STATUS_PNP_RESTART_ENUMERATION NTStatus = 0xC00002CE STATUS_JOURNAL_ENTRY_DELETED NTStatus = 0xC00002CF STATUS_DS_CANT_MOD_PRIMARYGROUPID NTStatus = 0xC00002D0 STATUS_SYSTEM_IMAGE_BAD_SIGNATURE NTStatus = 0xC00002D1 STATUS_PNP_REBOOT_REQUIRED NTStatus = 0xC00002D2 STATUS_POWER_STATE_INVALID NTStatus = 0xC00002D3 STATUS_DS_INVALID_GROUP_TYPE NTStatus = 0xC00002D4 STATUS_DS_NO_NEST_GLOBALGROUP_IN_MIXEDDOMAIN NTStatus = 0xC00002D5 STATUS_DS_NO_NEST_LOCALGROUP_IN_MIXEDDOMAIN NTStatus = 0xC00002D6 STATUS_DS_GLOBAL_CANT_HAVE_LOCAL_MEMBER NTStatus = 0xC00002D7 STATUS_DS_GLOBAL_CANT_HAVE_UNIVERSAL_MEMBER NTStatus = 0xC00002D8 STATUS_DS_UNIVERSAL_CANT_HAVE_LOCAL_MEMBER NTStatus = 0xC00002D9 STATUS_DS_GLOBAL_CANT_HAVE_CROSSDOMAIN_MEMBER NTStatus = 0xC00002DA STATUS_DS_LOCAL_CANT_HAVE_CROSSDOMAIN_LOCAL_MEMBER NTStatus = 0xC00002DB STATUS_DS_HAVE_PRIMARY_MEMBERS NTStatus = 0xC00002DC STATUS_WMI_NOT_SUPPORTED NTStatus = 0xC00002DD STATUS_INSUFFICIENT_POWER NTStatus = 0xC00002DE STATUS_SAM_NEED_BOOTKEY_PASSWORD NTStatus = 0xC00002DF STATUS_SAM_NEED_BOOTKEY_FLOPPY NTStatus = 0xC00002E0 STATUS_DS_CANT_START NTStatus = 0xC00002E1 STATUS_DS_INIT_FAILURE NTStatus = 0xC00002E2 STATUS_SAM_INIT_FAILURE NTStatus = 0xC00002E3 STATUS_DS_GC_REQUIRED NTStatus = 0xC00002E4 STATUS_DS_LOCAL_MEMBER_OF_LOCAL_ONLY NTStatus = 0xC00002E5 STATUS_DS_NO_FPO_IN_UNIVERSAL_GROUPS NTStatus = 0xC00002E6 STATUS_DS_MACHINE_ACCOUNT_QUOTA_EXCEEDED NTStatus = 0xC00002E7 STATUS_MULTIPLE_FAULT_VIOLATION NTStatus = 0xC00002E8 STATUS_CURRENT_DOMAIN_NOT_ALLOWED NTStatus = 0xC00002E9 STATUS_CANNOT_MAKE NTStatus = 0xC00002EA STATUS_SYSTEM_SHUTDOWN NTStatus = 0xC00002EB STATUS_DS_INIT_FAILURE_CONSOLE NTStatus = 0xC00002EC STATUS_DS_SAM_INIT_FAILURE_CONSOLE NTStatus = 0xC00002ED STATUS_UNFINISHED_CONTEXT_DELETED NTStatus = 0xC00002EE STATUS_NO_TGT_REPLY NTStatus = 0xC00002EF STATUS_OBJECTID_NOT_FOUND NTStatus = 0xC00002F0 STATUS_NO_IP_ADDRESSES NTStatus = 0xC00002F1 STATUS_WRONG_CREDENTIAL_HANDLE NTStatus = 0xC00002F2 STATUS_CRYPTO_SYSTEM_INVALID NTStatus = 0xC00002F3 STATUS_MAX_REFERRALS_EXCEEDED NTStatus = 0xC00002F4 STATUS_MUST_BE_KDC NTStatus = 0xC00002F5 STATUS_STRONG_CRYPTO_NOT_SUPPORTED NTStatus = 0xC00002F6 STATUS_TOO_MANY_PRINCIPALS NTStatus = 0xC00002F7 STATUS_NO_PA_DATA NTStatus = 0xC00002F8 STATUS_PKINIT_NAME_MISMATCH NTStatus = 0xC00002F9 STATUS_SMARTCARD_LOGON_REQUIRED NTStatus = 0xC00002FA STATUS_KDC_INVALID_REQUEST NTStatus = 0xC00002FB STATUS_KDC_UNABLE_TO_REFER NTStatus = 0xC00002FC STATUS_KDC_UNKNOWN_ETYPE NTStatus = 0xC00002FD STATUS_SHUTDOWN_IN_PROGRESS NTStatus = 0xC00002FE STATUS_SERVER_SHUTDOWN_IN_PROGRESS NTStatus = 0xC00002FF STATUS_NOT_SUPPORTED_ON_SBS NTStatus = 0xC0000300 STATUS_WMI_GUID_DISCONNECTED NTStatus = 0xC0000301 STATUS_WMI_ALREADY_DISABLED NTStatus = 0xC0000302 STATUS_WMI_ALREADY_ENABLED NTStatus = 0xC0000303 STATUS_MFT_TOO_FRAGMENTED NTStatus = 0xC0000304 STATUS_COPY_PROTECTION_FAILURE NTStatus = 0xC0000305 STATUS_CSS_AUTHENTICATION_FAILURE NTStatus = 0xC0000306 STATUS_CSS_KEY_NOT_PRESENT NTStatus = 0xC0000307 STATUS_CSS_KEY_NOT_ESTABLISHED NTStatus = 0xC0000308 STATUS_CSS_SCRAMBLED_SECTOR NTStatus = 0xC0000309 STATUS_CSS_REGION_MISMATCH NTStatus = 0xC000030A STATUS_CSS_RESETS_EXHAUSTED NTStatus = 0xC000030B STATUS_PASSWORD_CHANGE_REQUIRED NTStatus = 0xC000030C STATUS_LOST_MODE_LOGON_RESTRICTION NTStatus = 0xC000030D STATUS_PKINIT_FAILURE NTStatus = 0xC0000320 STATUS_SMARTCARD_SUBSYSTEM_FAILURE NTStatus = 0xC0000321 STATUS_NO_KERB_KEY NTStatus = 0xC0000322 STATUS_HOST_DOWN NTStatus = 0xC0000350 STATUS_UNSUPPORTED_PREAUTH NTStatus = 0xC0000351 STATUS_EFS_ALG_BLOB_TOO_BIG NTStatus = 0xC0000352 STATUS_PORT_NOT_SET NTStatus = 0xC0000353 STATUS_DEBUGGER_INACTIVE NTStatus = 0xC0000354 STATUS_DS_VERSION_CHECK_FAILURE NTStatus = 0xC0000355 STATUS_AUDITING_DISABLED NTStatus = 0xC0000356 STATUS_PRENT4_MACHINE_ACCOUNT NTStatus = 0xC0000357 STATUS_DS_AG_CANT_HAVE_UNIVERSAL_MEMBER NTStatus = 0xC0000358 STATUS_INVALID_IMAGE_WIN_32 NTStatus = 0xC0000359 STATUS_INVALID_IMAGE_WIN_64 NTStatus = 0xC000035A STATUS_BAD_BINDINGS NTStatus = 0xC000035B STATUS_NETWORK_SESSION_EXPIRED NTStatus = 0xC000035C STATUS_APPHELP_BLOCK NTStatus = 0xC000035D STATUS_ALL_SIDS_FILTERED NTStatus = 0xC000035E STATUS_NOT_SAFE_MODE_DRIVER NTStatus = 0xC000035F STATUS_ACCESS_DISABLED_BY_POLICY_DEFAULT NTStatus = 0xC0000361 STATUS_ACCESS_DISABLED_BY_POLICY_PATH NTStatus = 0xC0000362 STATUS_ACCESS_DISABLED_BY_POLICY_PUBLISHER NTStatus = 0xC0000363 STATUS_ACCESS_DISABLED_BY_POLICY_OTHER NTStatus = 0xC0000364 STATUS_FAILED_DRIVER_ENTRY NTStatus = 0xC0000365 STATUS_DEVICE_ENUMERATION_ERROR NTStatus = 0xC0000366 STATUS_MOUNT_POINT_NOT_RESOLVED NTStatus = 0xC0000368 STATUS_INVALID_DEVICE_OBJECT_PARAMETER NTStatus = 0xC0000369 STATUS_MCA_OCCURED NTStatus = 0xC000036A STATUS_DRIVER_BLOCKED_CRITICAL NTStatus = 0xC000036B STATUS_DRIVER_BLOCKED NTStatus = 0xC000036C STATUS_DRIVER_DATABASE_ERROR NTStatus = 0xC000036D STATUS_SYSTEM_HIVE_TOO_LARGE NTStatus = 0xC000036E STATUS_INVALID_IMPORT_OF_NON_DLL NTStatus = 0xC000036F STATUS_DS_SHUTTING_DOWN NTStatus = 0x40000370 STATUS_NO_SECRETS NTStatus = 0xC0000371 STATUS_ACCESS_DISABLED_NO_SAFER_UI_BY_POLICY NTStatus = 0xC0000372 STATUS_FAILED_STACK_SWITCH NTStatus = 0xC0000373 STATUS_HEAP_CORRUPTION NTStatus = 0xC0000374 STATUS_SMARTCARD_WRONG_PIN NTStatus = 0xC0000380 STATUS_SMARTCARD_CARD_BLOCKED NTStatus = 0xC0000381 STATUS_SMARTCARD_CARD_NOT_AUTHENTICATED NTStatus = 0xC0000382 STATUS_SMARTCARD_NO_CARD NTStatus = 0xC0000383 STATUS_SMARTCARD_NO_KEY_CONTAINER NTStatus = 0xC0000384 STATUS_SMARTCARD_NO_CERTIFICATE NTStatus = 0xC0000385 STATUS_SMARTCARD_NO_KEYSET NTStatus = 0xC0000386 STATUS_SMARTCARD_IO_ERROR NTStatus = 0xC0000387 STATUS_DOWNGRADE_DETECTED NTStatus = 0xC0000388 STATUS_SMARTCARD_CERT_REVOKED NTStatus = 0xC0000389 STATUS_ISSUING_CA_UNTRUSTED NTStatus = 0xC000038A STATUS_REVOCATION_OFFLINE_C NTStatus = 0xC000038B STATUS_PKINIT_CLIENT_FAILURE NTStatus = 0xC000038C STATUS_SMARTCARD_CERT_EXPIRED NTStatus = 0xC000038D STATUS_DRIVER_FAILED_PRIOR_UNLOAD NTStatus = 0xC000038E STATUS_SMARTCARD_SILENT_CONTEXT NTStatus = 0xC000038F STATUS_PER_USER_TRUST_QUOTA_EXCEEDED NTStatus = 0xC0000401 STATUS_ALL_USER_TRUST_QUOTA_EXCEEDED NTStatus = 0xC0000402 STATUS_USER_DELETE_TRUST_QUOTA_EXCEEDED NTStatus = 0xC0000403 STATUS_DS_NAME_NOT_UNIQUE NTStatus = 0xC0000404 STATUS_DS_DUPLICATE_ID_FOUND NTStatus = 0xC0000405 STATUS_DS_GROUP_CONVERSION_ERROR NTStatus = 0xC0000406 STATUS_VOLSNAP_PREPARE_HIBERNATE NTStatus = 0xC0000407 STATUS_USER2USER_REQUIRED NTStatus = 0xC0000408 STATUS_STACK_BUFFER_OVERRUN NTStatus = 0xC0000409 STATUS_NO_S4U_PROT_SUPPORT NTStatus = 0xC000040A STATUS_CROSSREALM_DELEGATION_FAILURE NTStatus = 0xC000040B STATUS_REVOCATION_OFFLINE_KDC NTStatus = 0xC000040C STATUS_ISSUING_CA_UNTRUSTED_KDC NTStatus = 0xC000040D STATUS_KDC_CERT_EXPIRED NTStatus = 0xC000040E STATUS_KDC_CERT_REVOKED NTStatus = 0xC000040F STATUS_PARAMETER_QUOTA_EXCEEDED NTStatus = 0xC0000410 STATUS_HIBERNATION_FAILURE NTStatus = 0xC0000411 STATUS_DELAY_LOAD_FAILED NTStatus = 0xC0000412 STATUS_AUTHENTICATION_FIREWALL_FAILED NTStatus = 0xC0000413 STATUS_VDM_DISALLOWED NTStatus = 0xC0000414 STATUS_HUNG_DISPLAY_DRIVER_THREAD NTStatus = 0xC0000415 STATUS_INSUFFICIENT_RESOURCE_FOR_SPECIFIED_SHARED_SECTION_SIZE NTStatus = 0xC0000416 STATUS_INVALID_CRUNTIME_PARAMETER NTStatus = 0xC0000417 STATUS_NTLM_BLOCKED NTStatus = 0xC0000418 STATUS_DS_SRC_SID_EXISTS_IN_FOREST NTStatus = 0xC0000419 STATUS_DS_DOMAIN_NAME_EXISTS_IN_FOREST NTStatus = 0xC000041A STATUS_DS_FLAT_NAME_EXISTS_IN_FOREST NTStatus = 0xC000041B STATUS_INVALID_USER_PRINCIPAL_NAME NTStatus = 0xC000041C STATUS_FATAL_USER_CALLBACK_EXCEPTION NTStatus = 0xC000041D STATUS_ASSERTION_FAILURE NTStatus = 0xC0000420 STATUS_VERIFIER_STOP NTStatus = 0xC0000421 STATUS_CALLBACK_POP_STACK NTStatus = 0xC0000423 STATUS_INCOMPATIBLE_DRIVER_BLOCKED NTStatus = 0xC0000424 STATUS_HIVE_UNLOADED NTStatus = 0xC0000425 STATUS_COMPRESSION_DISABLED NTStatus = 0xC0000426 STATUS_FILE_SYSTEM_LIMITATION NTStatus = 0xC0000427 STATUS_INVALID_IMAGE_HASH NTStatus = 0xC0000428 STATUS_NOT_CAPABLE NTStatus = 0xC0000429 STATUS_REQUEST_OUT_OF_SEQUENCE NTStatus = 0xC000042A STATUS_IMPLEMENTATION_LIMIT NTStatus = 0xC000042B STATUS_ELEVATION_REQUIRED NTStatus = 0xC000042C STATUS_NO_SECURITY_CONTEXT NTStatus = 0xC000042D STATUS_PKU2U_CERT_FAILURE NTStatus = 0xC000042F STATUS_BEYOND_VDL NTStatus = 0xC0000432 STATUS_ENCOUNTERED_WRITE_IN_PROGRESS NTStatus = 0xC0000433 STATUS_PTE_CHANGED NTStatus = 0xC0000434 STATUS_PURGE_FAILED NTStatus = 0xC0000435 STATUS_CRED_REQUIRES_CONFIRMATION NTStatus = 0xC0000440 STATUS_CS_ENCRYPTION_INVALID_SERVER_RESPONSE NTStatus = 0xC0000441 STATUS_CS_ENCRYPTION_UNSUPPORTED_SERVER NTStatus = 0xC0000442 STATUS_CS_ENCRYPTION_EXISTING_ENCRYPTED_FILE NTStatus = 0xC0000443 STATUS_CS_ENCRYPTION_NEW_ENCRYPTED_FILE NTStatus = 0xC0000444 STATUS_CS_ENCRYPTION_FILE_NOT_CSE NTStatus = 0xC0000445 STATUS_INVALID_LABEL NTStatus = 0xC0000446 STATUS_DRIVER_PROCESS_TERMINATED NTStatus = 0xC0000450 STATUS_AMBIGUOUS_SYSTEM_DEVICE NTStatus = 0xC0000451 STATUS_SYSTEM_DEVICE_NOT_FOUND NTStatus = 0xC0000452 STATUS_RESTART_BOOT_APPLICATION NTStatus = 0xC0000453 STATUS_INSUFFICIENT_NVRAM_RESOURCES NTStatus = 0xC0000454 STATUS_INVALID_SESSION NTStatus = 0xC0000455 STATUS_THREAD_ALREADY_IN_SESSION NTStatus = 0xC0000456 STATUS_THREAD_NOT_IN_SESSION NTStatus = 0xC0000457 STATUS_INVALID_WEIGHT NTStatus = 0xC0000458 STATUS_REQUEST_PAUSED NTStatus = 0xC0000459 STATUS_NO_RANGES_PROCESSED NTStatus = 0xC0000460 STATUS_DISK_RESOURCES_EXHAUSTED NTStatus = 0xC0000461 STATUS_NEEDS_REMEDIATION NTStatus = 0xC0000462 STATUS_DEVICE_FEATURE_NOT_SUPPORTED NTStatus = 0xC0000463 STATUS_DEVICE_UNREACHABLE NTStatus = 0xC0000464 STATUS_INVALID_TOKEN NTStatus = 0xC0000465 STATUS_SERVER_UNAVAILABLE NTStatus = 0xC0000466 STATUS_FILE_NOT_AVAILABLE NTStatus = 0xC0000467 STATUS_DEVICE_INSUFFICIENT_RESOURCES NTStatus = 0xC0000468 STATUS_PACKAGE_UPDATING NTStatus = 0xC0000469 STATUS_NOT_READ_FROM_COPY NTStatus = 0xC000046A STATUS_FT_WRITE_FAILURE NTStatus = 0xC000046B STATUS_FT_DI_SCAN_REQUIRED NTStatus = 0xC000046C STATUS_OBJECT_NOT_EXTERNALLY_BACKED NTStatus = 0xC000046D STATUS_EXTERNAL_BACKING_PROVIDER_UNKNOWN NTStatus = 0xC000046E STATUS_COMPRESSION_NOT_BENEFICIAL NTStatus = 0xC000046F STATUS_DATA_CHECKSUM_ERROR NTStatus = 0xC0000470 STATUS_INTERMIXED_KERNEL_EA_OPERATION NTStatus = 0xC0000471 STATUS_TRIM_READ_ZERO_NOT_SUPPORTED NTStatus = 0xC0000472 STATUS_TOO_MANY_SEGMENT_DESCRIPTORS NTStatus = 0xC0000473 STATUS_INVALID_OFFSET_ALIGNMENT NTStatus = 0xC0000474 STATUS_INVALID_FIELD_IN_PARAMETER_LIST NTStatus = 0xC0000475 STATUS_OPERATION_IN_PROGRESS NTStatus = 0xC0000476 STATUS_INVALID_INITIATOR_TARGET_PATH NTStatus = 0xC0000477 STATUS_SCRUB_DATA_DISABLED NTStatus = 0xC0000478 STATUS_NOT_REDUNDANT_STORAGE NTStatus = 0xC0000479 STATUS_RESIDENT_FILE_NOT_SUPPORTED NTStatus = 0xC000047A STATUS_COMPRESSED_FILE_NOT_SUPPORTED NTStatus = 0xC000047B STATUS_DIRECTORY_NOT_SUPPORTED NTStatus = 0xC000047C STATUS_IO_OPERATION_TIMEOUT NTStatus = 0xC000047D STATUS_SYSTEM_NEEDS_REMEDIATION NTStatus = 0xC000047E STATUS_APPX_INTEGRITY_FAILURE_CLR_NGEN NTStatus = 0xC000047F STATUS_SHARE_UNAVAILABLE NTStatus = 0xC0000480 STATUS_APISET_NOT_HOSTED NTStatus = 0xC0000481 STATUS_APISET_NOT_PRESENT NTStatus = 0xC0000482 STATUS_DEVICE_HARDWARE_ERROR NTStatus = 0xC0000483 STATUS_FIRMWARE_SLOT_INVALID NTStatus = 0xC0000484 STATUS_FIRMWARE_IMAGE_INVALID NTStatus = 0xC0000485 STATUS_STORAGE_TOPOLOGY_ID_MISMATCH NTStatus = 0xC0000486 STATUS_WIM_NOT_BOOTABLE NTStatus = 0xC0000487 STATUS_BLOCKED_BY_PARENTAL_CONTROLS NTStatus = 0xC0000488 STATUS_NEEDS_REGISTRATION NTStatus = 0xC0000489 STATUS_QUOTA_ACTIVITY NTStatus = 0xC000048A STATUS_CALLBACK_INVOKE_INLINE NTStatus = 0xC000048B STATUS_BLOCK_TOO_MANY_REFERENCES NTStatus = 0xC000048C STATUS_MARKED_TO_DISALLOW_WRITES NTStatus = 0xC000048D STATUS_NETWORK_ACCESS_DENIED_EDP NTStatus = 0xC000048E STATUS_ENCLAVE_FAILURE NTStatus = 0xC000048F STATUS_PNP_NO_COMPAT_DRIVERS NTStatus = 0xC0000490 STATUS_PNP_DRIVER_PACKAGE_NOT_FOUND NTStatus = 0xC0000491 STATUS_PNP_DRIVER_CONFIGURATION_NOT_FOUND NTStatus = 0xC0000492 STATUS_PNP_DRIVER_CONFIGURATION_INCOMPLETE NTStatus = 0xC0000493 STATUS_PNP_FUNCTION_DRIVER_REQUIRED NTStatus = 0xC0000494 STATUS_PNP_DEVICE_CONFIGURATION_PENDING NTStatus = 0xC0000495 STATUS_DEVICE_HINT_NAME_BUFFER_TOO_SMALL NTStatus = 0xC0000496 STATUS_PACKAGE_NOT_AVAILABLE NTStatus = 0xC0000497 STATUS_DEVICE_IN_MAINTENANCE NTStatus = 0xC0000499 STATUS_NOT_SUPPORTED_ON_DAX NTStatus = 0xC000049A STATUS_FREE_SPACE_TOO_FRAGMENTED NTStatus = 0xC000049B STATUS_DAX_MAPPING_EXISTS NTStatus = 0xC000049C STATUS_CHILD_PROCESS_BLOCKED NTStatus = 0xC000049D STATUS_STORAGE_LOST_DATA_PERSISTENCE NTStatus = 0xC000049E STATUS_VRF_CFG_ENABLED NTStatus = 0xC000049F STATUS_PARTITION_TERMINATING NTStatus = 0xC00004A0 STATUS_EXTERNAL_SYSKEY_NOT_SUPPORTED NTStatus = 0xC00004A1 STATUS_ENCLAVE_VIOLATION NTStatus = 0xC00004A2 STATUS_FILE_PROTECTED_UNDER_DPL NTStatus = 0xC00004A3 STATUS_VOLUME_NOT_CLUSTER_ALIGNED NTStatus = 0xC00004A4 STATUS_NO_PHYSICALLY_ALIGNED_FREE_SPACE_FOUND NTStatus = 0xC00004A5 STATUS_APPX_FILE_NOT_ENCRYPTED NTStatus = 0xC00004A6 STATUS_RWRAW_ENCRYPTED_FILE_NOT_ENCRYPTED NTStatus = 0xC00004A7 STATUS_RWRAW_ENCRYPTED_INVALID_EDATAINFO_FILEOFFSET NTStatus = 0xC00004A8 STATUS_RWRAW_ENCRYPTED_INVALID_EDATAINFO_FILERANGE NTStatus = 0xC00004A9 STATUS_RWRAW_ENCRYPTED_INVALID_EDATAINFO_PARAMETER NTStatus = 0xC00004AA STATUS_FT_READ_FAILURE NTStatus = 0xC00004AB STATUS_PATCH_CONFLICT NTStatus = 0xC00004AC STATUS_STORAGE_RESERVE_ID_INVALID NTStatus = 0xC00004AD STATUS_STORAGE_RESERVE_DOES_NOT_EXIST NTStatus = 0xC00004AE STATUS_STORAGE_RESERVE_ALREADY_EXISTS NTStatus = 0xC00004AF STATUS_STORAGE_RESERVE_NOT_EMPTY NTStatus = 0xC00004B0 STATUS_NOT_A_DAX_VOLUME NTStatus = 0xC00004B1 STATUS_NOT_DAX_MAPPABLE NTStatus = 0xC00004B2 STATUS_CASE_DIFFERING_NAMES_IN_DIR NTStatus = 0xC00004B3 STATUS_FILE_NOT_SUPPORTED NTStatus = 0xC00004B4 STATUS_NOT_SUPPORTED_WITH_BTT NTStatus = 0xC00004B5 STATUS_ENCRYPTION_DISABLED NTStatus = 0xC00004B6 STATUS_ENCRYPTING_METADATA_DISALLOWED NTStatus = 0xC00004B7 STATUS_CANT_CLEAR_ENCRYPTION_FLAG NTStatus = 0xC00004B8 STATUS_INVALID_TASK_NAME NTStatus = 0xC0000500 STATUS_INVALID_TASK_INDEX NTStatus = 0xC0000501 STATUS_THREAD_ALREADY_IN_TASK NTStatus = 0xC0000502 STATUS_CALLBACK_BYPASS NTStatus = 0xC0000503 STATUS_UNDEFINED_SCOPE NTStatus = 0xC0000504 STATUS_INVALID_CAP NTStatus = 0xC0000505 STATUS_NOT_GUI_PROCESS NTStatus = 0xC0000506 STATUS_DEVICE_HUNG NTStatus = 0xC0000507 STATUS_CONTAINER_ASSIGNED NTStatus = 0xC0000508 STATUS_JOB_NO_CONTAINER NTStatus = 0xC0000509 STATUS_DEVICE_UNRESPONSIVE NTStatus = 0xC000050A STATUS_REPARSE_POINT_ENCOUNTERED NTStatus = 0xC000050B STATUS_ATTRIBUTE_NOT_PRESENT NTStatus = 0xC000050C STATUS_NOT_A_TIERED_VOLUME NTStatus = 0xC000050D STATUS_ALREADY_HAS_STREAM_ID NTStatus = 0xC000050E STATUS_JOB_NOT_EMPTY NTStatus = 0xC000050F STATUS_ALREADY_INITIALIZED NTStatus = 0xC0000510 STATUS_ENCLAVE_NOT_TERMINATED NTStatus = 0xC0000511 STATUS_ENCLAVE_IS_TERMINATING NTStatus = 0xC0000512 STATUS_SMB1_NOT_AVAILABLE NTStatus = 0xC0000513 STATUS_SMR_GARBAGE_COLLECTION_REQUIRED NTStatus = 0xC0000514 STATUS_INTERRUPTED NTStatus = 0xC0000515 STATUS_THREAD_NOT_RUNNING NTStatus = 0xC0000516 STATUS_FAIL_FAST_EXCEPTION NTStatus = 0xC0000602 STATUS_IMAGE_CERT_REVOKED NTStatus = 0xC0000603 STATUS_DYNAMIC_CODE_BLOCKED NTStatus = 0xC0000604 STATUS_IMAGE_CERT_EXPIRED NTStatus = 0xC0000605 STATUS_STRICT_CFG_VIOLATION NTStatus = 0xC0000606 STATUS_SET_CONTEXT_DENIED NTStatus = 0xC000060A STATUS_CROSS_PARTITION_VIOLATION NTStatus = 0xC000060B STATUS_PORT_CLOSED NTStatus = 0xC0000700 STATUS_MESSAGE_LOST NTStatus = 0xC0000701 STATUS_INVALID_MESSAGE NTStatus = 0xC0000702 STATUS_REQUEST_CANCELED NTStatus = 0xC0000703 STATUS_RECURSIVE_DISPATCH NTStatus = 0xC0000704 STATUS_LPC_RECEIVE_BUFFER_EXPECTED NTStatus = 0xC0000705 STATUS_LPC_INVALID_CONNECTION_USAGE NTStatus = 0xC0000706 STATUS_LPC_REQUESTS_NOT_ALLOWED NTStatus = 0xC0000707 STATUS_RESOURCE_IN_USE NTStatus = 0xC0000708 STATUS_HARDWARE_MEMORY_ERROR NTStatus = 0xC0000709 STATUS_THREADPOOL_HANDLE_EXCEPTION NTStatus = 0xC000070A STATUS_THREADPOOL_SET_EVENT_ON_COMPLETION_FAILED NTStatus = 0xC000070B STATUS_THREADPOOL_RELEASE_SEMAPHORE_ON_COMPLETION_FAILED NTStatus = 0xC000070C STATUS_THREADPOOL_RELEASE_MUTEX_ON_COMPLETION_FAILED NTStatus = 0xC000070D STATUS_THREADPOOL_FREE_LIBRARY_ON_COMPLETION_FAILED NTStatus = 0xC000070E STATUS_THREADPOOL_RELEASED_DURING_OPERATION NTStatus = 0xC000070F STATUS_CALLBACK_RETURNED_WHILE_IMPERSONATING NTStatus = 0xC0000710 STATUS_APC_RETURNED_WHILE_IMPERSONATING NTStatus = 0xC0000711 STATUS_PROCESS_IS_PROTECTED NTStatus = 0xC0000712 STATUS_MCA_EXCEPTION NTStatus = 0xC0000713 STATUS_CERTIFICATE_MAPPING_NOT_UNIQUE NTStatus = 0xC0000714 STATUS_SYMLINK_CLASS_DISABLED NTStatus = 0xC0000715 STATUS_INVALID_IDN_NORMALIZATION NTStatus = 0xC0000716 STATUS_NO_UNICODE_TRANSLATION NTStatus = 0xC0000717 STATUS_ALREADY_REGISTERED NTStatus = 0xC0000718 STATUS_CONTEXT_MISMATCH NTStatus = 0xC0000719 STATUS_PORT_ALREADY_HAS_COMPLETION_LIST NTStatus = 0xC000071A STATUS_CALLBACK_RETURNED_THREAD_PRIORITY NTStatus = 0xC000071B STATUS_INVALID_THREAD NTStatus = 0xC000071C STATUS_CALLBACK_RETURNED_TRANSACTION NTStatus = 0xC000071D STATUS_CALLBACK_RETURNED_LDR_LOCK NTStatus = 0xC000071E STATUS_CALLBACK_RETURNED_LANG NTStatus = 0xC000071F STATUS_CALLBACK_RETURNED_PRI_BACK NTStatus = 0xC0000720 STATUS_CALLBACK_RETURNED_THREAD_AFFINITY NTStatus = 0xC0000721 STATUS_LPC_HANDLE_COUNT_EXCEEDED NTStatus = 0xC0000722 STATUS_EXECUTABLE_MEMORY_WRITE NTStatus = 0xC0000723 STATUS_KERNEL_EXECUTABLE_MEMORY_WRITE NTStatus = 0xC0000724 STATUS_ATTACHED_EXECUTABLE_MEMORY_WRITE NTStatus = 0xC0000725 STATUS_TRIGGERED_EXECUTABLE_MEMORY_WRITE NTStatus = 0xC0000726 STATUS_DISK_REPAIR_DISABLED NTStatus = 0xC0000800 STATUS_DS_DOMAIN_RENAME_IN_PROGRESS NTStatus = 0xC0000801 STATUS_DISK_QUOTA_EXCEEDED NTStatus = 0xC0000802 STATUS_DATA_LOST_REPAIR NTStatus = 0x80000803 STATUS_CONTENT_BLOCKED NTStatus = 0xC0000804 STATUS_BAD_CLUSTERS NTStatus = 0xC0000805 STATUS_VOLUME_DIRTY NTStatus = 0xC0000806 STATUS_DISK_REPAIR_REDIRECTED NTStatus = 0x40000807 STATUS_DISK_REPAIR_UNSUCCESSFUL NTStatus = 0xC0000808 STATUS_CORRUPT_LOG_OVERFULL NTStatus = 0xC0000809 STATUS_CORRUPT_LOG_CORRUPTED NTStatus = 0xC000080A STATUS_CORRUPT_LOG_UNAVAILABLE NTStatus = 0xC000080B STATUS_CORRUPT_LOG_DELETED_FULL NTStatus = 0xC000080C STATUS_CORRUPT_LOG_CLEARED NTStatus = 0xC000080D STATUS_ORPHAN_NAME_EXHAUSTED NTStatus = 0xC000080E STATUS_PROACTIVE_SCAN_IN_PROGRESS NTStatus = 0xC000080F STATUS_ENCRYPTED_IO_NOT_POSSIBLE NTStatus = 0xC0000810 STATUS_CORRUPT_LOG_UPLEVEL_RECORDS NTStatus = 0xC0000811 STATUS_FILE_CHECKED_OUT NTStatus = 0xC0000901 STATUS_CHECKOUT_REQUIRED NTStatus = 0xC0000902 STATUS_BAD_FILE_TYPE NTStatus = 0xC0000903 STATUS_FILE_TOO_LARGE NTStatus = 0xC0000904 STATUS_FORMS_AUTH_REQUIRED NTStatus = 0xC0000905 STATUS_VIRUS_INFECTED NTStatus = 0xC0000906 STATUS_VIRUS_DELETED NTStatus = 0xC0000907 STATUS_BAD_MCFG_TABLE NTStatus = 0xC0000908 STATUS_CANNOT_BREAK_OPLOCK NTStatus = 0xC0000909 STATUS_BAD_KEY NTStatus = 0xC000090A STATUS_BAD_DATA NTStatus = 0xC000090B STATUS_NO_KEY NTStatus = 0xC000090C STATUS_FILE_HANDLE_REVOKED NTStatus = 0xC0000910 STATUS_WOW_ASSERTION NTStatus = 0xC0009898 STATUS_INVALID_SIGNATURE NTStatus = 0xC000A000 STATUS_HMAC_NOT_SUPPORTED NTStatus = 0xC000A001 STATUS_AUTH_TAG_MISMATCH NTStatus = 0xC000A002 STATUS_INVALID_STATE_TRANSITION NTStatus = 0xC000A003 STATUS_INVALID_KERNEL_INFO_VERSION NTStatus = 0xC000A004 STATUS_INVALID_PEP_INFO_VERSION NTStatus = 0xC000A005 STATUS_HANDLE_REVOKED NTStatus = 0xC000A006 STATUS_EOF_ON_GHOSTED_RANGE NTStatus = 0xC000A007 STATUS_IPSEC_QUEUE_OVERFLOW NTStatus = 0xC000A010 STATUS_ND_QUEUE_OVERFLOW NTStatus = 0xC000A011 STATUS_HOPLIMIT_EXCEEDED NTStatus = 0xC000A012 STATUS_PROTOCOL_NOT_SUPPORTED NTStatus = 0xC000A013 STATUS_FASTPATH_REJECTED NTStatus = 0xC000A014 STATUS_LOST_WRITEBEHIND_DATA_NETWORK_DISCONNECTED NTStatus = 0xC000A080 STATUS_LOST_WRITEBEHIND_DATA_NETWORK_SERVER_ERROR NTStatus = 0xC000A081 STATUS_LOST_WRITEBEHIND_DATA_LOCAL_DISK_ERROR NTStatus = 0xC000A082 STATUS_XML_PARSE_ERROR NTStatus = 0xC000A083 STATUS_XMLDSIG_ERROR NTStatus = 0xC000A084 STATUS_WRONG_COMPARTMENT NTStatus = 0xC000A085 STATUS_AUTHIP_FAILURE NTStatus = 0xC000A086 STATUS_DS_OID_MAPPED_GROUP_CANT_HAVE_MEMBERS NTStatus = 0xC000A087 STATUS_DS_OID_NOT_FOUND NTStatus = 0xC000A088 STATUS_INCORRECT_ACCOUNT_TYPE NTStatus = 0xC000A089 STATUS_HASH_NOT_SUPPORTED NTStatus = 0xC000A100 STATUS_HASH_NOT_PRESENT NTStatus = 0xC000A101 STATUS_SECONDARY_IC_PROVIDER_NOT_REGISTERED NTStatus = 0xC000A121 STATUS_GPIO_CLIENT_INFORMATION_INVALID NTStatus = 0xC000A122 STATUS_GPIO_VERSION_NOT_SUPPORTED NTStatus = 0xC000A123 STATUS_GPIO_INVALID_REGISTRATION_PACKET NTStatus = 0xC000A124 STATUS_GPIO_OPERATION_DENIED NTStatus = 0xC000A125 STATUS_GPIO_INCOMPATIBLE_CONNECT_MODE NTStatus = 0xC000A126 STATUS_GPIO_INTERRUPT_ALREADY_UNMASKED NTStatus = 0x8000A127 STATUS_CANNOT_SWITCH_RUNLEVEL NTStatus = 0xC000A141 STATUS_INVALID_RUNLEVEL_SETTING NTStatus = 0xC000A142 STATUS_RUNLEVEL_SWITCH_TIMEOUT NTStatus = 0xC000A143 STATUS_SERVICES_FAILED_AUTOSTART NTStatus = 0x4000A144 STATUS_RUNLEVEL_SWITCH_AGENT_TIMEOUT NTStatus = 0xC000A145 STATUS_RUNLEVEL_SWITCH_IN_PROGRESS NTStatus = 0xC000A146 STATUS_NOT_APPCONTAINER NTStatus = 0xC000A200 STATUS_NOT_SUPPORTED_IN_APPCONTAINER NTStatus = 0xC000A201 STATUS_INVALID_PACKAGE_SID_LENGTH NTStatus = 0xC000A202 STATUS_LPAC_ACCESS_DENIED NTStatus = 0xC000A203 STATUS_ADMINLESS_ACCESS_DENIED NTStatus = 0xC000A204 STATUS_APP_DATA_NOT_FOUND NTStatus = 0xC000A281 STATUS_APP_DATA_EXPIRED NTStatus = 0xC000A282 STATUS_APP_DATA_CORRUPT NTStatus = 0xC000A283 STATUS_APP_DATA_LIMIT_EXCEEDED NTStatus = 0xC000A284 STATUS_APP_DATA_REBOOT_REQUIRED NTStatus = 0xC000A285 STATUS_OFFLOAD_READ_FLT_NOT_SUPPORTED NTStatus = 0xC000A2A1 STATUS_OFFLOAD_WRITE_FLT_NOT_SUPPORTED NTStatus = 0xC000A2A2 STATUS_OFFLOAD_READ_FILE_NOT_SUPPORTED NTStatus = 0xC000A2A3 STATUS_OFFLOAD_WRITE_FILE_NOT_SUPPORTED NTStatus = 0xC000A2A4 STATUS_WOF_WIM_HEADER_CORRUPT NTStatus = 0xC000A2A5 STATUS_WOF_WIM_RESOURCE_TABLE_CORRUPT NTStatus = 0xC000A2A6 STATUS_WOF_FILE_RESOURCE_TABLE_CORRUPT NTStatus = 0xC000A2A7 STATUS_FILE_SYSTEM_VIRTUALIZATION_UNAVAILABLE NTStatus = 0xC000CE01 STATUS_FILE_SYSTEM_VIRTUALIZATION_METADATA_CORRUPT NTStatus = 0xC000CE02 STATUS_FILE_SYSTEM_VIRTUALIZATION_BUSY NTStatus = 0xC000CE03 STATUS_FILE_SYSTEM_VIRTUALIZATION_PROVIDER_UNKNOWN NTStatus = 0xC000CE04 STATUS_FILE_SYSTEM_VIRTUALIZATION_INVALID_OPERATION NTStatus = 0xC000CE05 STATUS_CLOUD_FILE_SYNC_ROOT_METADATA_CORRUPT NTStatus = 0xC000CF00 STATUS_CLOUD_FILE_PROVIDER_NOT_RUNNING NTStatus = 0xC000CF01 STATUS_CLOUD_FILE_METADATA_CORRUPT NTStatus = 0xC000CF02 STATUS_CLOUD_FILE_METADATA_TOO_LARGE NTStatus = 0xC000CF03 STATUS_CLOUD_FILE_PROPERTY_BLOB_TOO_LARGE NTStatus = 0x8000CF04 STATUS_CLOUD_FILE_TOO_MANY_PROPERTY_BLOBS NTStatus = 0x8000CF05 STATUS_CLOUD_FILE_PROPERTY_VERSION_NOT_SUPPORTED NTStatus = 0xC000CF06 STATUS_NOT_A_CLOUD_FILE NTStatus = 0xC000CF07 STATUS_CLOUD_FILE_NOT_IN_SYNC NTStatus = 0xC000CF08 STATUS_CLOUD_FILE_ALREADY_CONNECTED NTStatus = 0xC000CF09 STATUS_CLOUD_FILE_NOT_SUPPORTED NTStatus = 0xC000CF0A STATUS_CLOUD_FILE_INVALID_REQUEST NTStatus = 0xC000CF0B STATUS_CLOUD_FILE_READ_ONLY_VOLUME NTStatus = 0xC000CF0C STATUS_CLOUD_FILE_CONNECTED_PROVIDER_ONLY NTStatus = 0xC000CF0D STATUS_CLOUD_FILE_VALIDATION_FAILED NTStatus = 0xC000CF0E STATUS_CLOUD_FILE_AUTHENTICATION_FAILED NTStatus = 0xC000CF0F STATUS_CLOUD_FILE_INSUFFICIENT_RESOURCES NTStatus = 0xC000CF10 STATUS_CLOUD_FILE_NETWORK_UNAVAILABLE NTStatus = 0xC000CF11 STATUS_CLOUD_FILE_UNSUCCESSFUL NTStatus = 0xC000CF12 STATUS_CLOUD_FILE_NOT_UNDER_SYNC_ROOT NTStatus = 0xC000CF13 STATUS_CLOUD_FILE_IN_USE NTStatus = 0xC000CF14 STATUS_CLOUD_FILE_PINNED NTStatus = 0xC000CF15 STATUS_CLOUD_FILE_REQUEST_ABORTED NTStatus = 0xC000CF16 STATUS_CLOUD_FILE_PROPERTY_CORRUPT NTStatus = 0xC000CF17 STATUS_CLOUD_FILE_ACCESS_DENIED NTStatus = 0xC000CF18 STATUS_CLOUD_FILE_INCOMPATIBLE_HARDLINKS NTStatus = 0xC000CF19 STATUS_CLOUD_FILE_PROPERTY_LOCK_CONFLICT NTStatus = 0xC000CF1A STATUS_CLOUD_FILE_REQUEST_CANCELED NTStatus = 0xC000CF1B STATUS_CLOUD_FILE_PROVIDER_TERMINATED NTStatus = 0xC000CF1D STATUS_NOT_A_CLOUD_SYNC_ROOT NTStatus = 0xC000CF1E STATUS_CLOUD_FILE_REQUEST_TIMEOUT NTStatus = 0xC000CF1F STATUS_ACPI_INVALID_OPCODE NTStatus = 0xC0140001 STATUS_ACPI_STACK_OVERFLOW NTStatus = 0xC0140002 STATUS_ACPI_ASSERT_FAILED NTStatus = 0xC0140003 STATUS_ACPI_INVALID_INDEX NTStatus = 0xC0140004 STATUS_ACPI_INVALID_ARGUMENT NTStatus = 0xC0140005 STATUS_ACPI_FATAL NTStatus = 0xC0140006 STATUS_ACPI_INVALID_SUPERNAME NTStatus = 0xC0140007 STATUS_ACPI_INVALID_ARGTYPE NTStatus = 0xC0140008 STATUS_ACPI_INVALID_OBJTYPE NTStatus = 0xC0140009 STATUS_ACPI_INVALID_TARGETTYPE NTStatus = 0xC014000A STATUS_ACPI_INCORRECT_ARGUMENT_COUNT NTStatus = 0xC014000B STATUS_ACPI_ADDRESS_NOT_MAPPED NTStatus = 0xC014000C STATUS_ACPI_INVALID_EVENTTYPE NTStatus = 0xC014000D STATUS_ACPI_HANDLER_COLLISION NTStatus = 0xC014000E STATUS_ACPI_INVALID_DATA NTStatus = 0xC014000F STATUS_ACPI_INVALID_REGION NTStatus = 0xC0140010 STATUS_ACPI_INVALID_ACCESS_SIZE NTStatus = 0xC0140011 STATUS_ACPI_ACQUIRE_GLOBAL_LOCK NTStatus = 0xC0140012 STATUS_ACPI_ALREADY_INITIALIZED NTStatus = 0xC0140013 STATUS_ACPI_NOT_INITIALIZED NTStatus = 0xC0140014 STATUS_ACPI_INVALID_MUTEX_LEVEL NTStatus = 0xC0140015 STATUS_ACPI_MUTEX_NOT_OWNED NTStatus = 0xC0140016 STATUS_ACPI_MUTEX_NOT_OWNER NTStatus = 0xC0140017 STATUS_ACPI_RS_ACCESS NTStatus = 0xC0140018 STATUS_ACPI_INVALID_TABLE NTStatus = 0xC0140019 STATUS_ACPI_REG_HANDLER_FAILED NTStatus = 0xC0140020 STATUS_ACPI_POWER_REQUEST_FAILED NTStatus = 0xC0140021 STATUS_CTX_WINSTATION_NAME_INVALID NTStatus = 0xC00A0001 STATUS_CTX_INVALID_PD NTStatus = 0xC00A0002 STATUS_CTX_PD_NOT_FOUND NTStatus = 0xC00A0003 STATUS_CTX_CDM_CONNECT NTStatus = 0x400A0004 STATUS_CTX_CDM_DISCONNECT NTStatus = 0x400A0005 STATUS_CTX_CLOSE_PENDING NTStatus = 0xC00A0006 STATUS_CTX_NO_OUTBUF NTStatus = 0xC00A0007 STATUS_CTX_MODEM_INF_NOT_FOUND NTStatus = 0xC00A0008 STATUS_CTX_INVALID_MODEMNAME NTStatus = 0xC00A0009 STATUS_CTX_RESPONSE_ERROR NTStatus = 0xC00A000A STATUS_CTX_MODEM_RESPONSE_TIMEOUT NTStatus = 0xC00A000B STATUS_CTX_MODEM_RESPONSE_NO_CARRIER NTStatus = 0xC00A000C STATUS_CTX_MODEM_RESPONSE_NO_DIALTONE NTStatus = 0xC00A000D STATUS_CTX_MODEM_RESPONSE_BUSY NTStatus = 0xC00A000E STATUS_CTX_MODEM_RESPONSE_VOICE NTStatus = 0xC00A000F STATUS_CTX_TD_ERROR NTStatus = 0xC00A0010 STATUS_CTX_LICENSE_CLIENT_INVALID NTStatus = 0xC00A0012 STATUS_CTX_LICENSE_NOT_AVAILABLE NTStatus = 0xC00A0013 STATUS_CTX_LICENSE_EXPIRED NTStatus = 0xC00A0014 STATUS_CTX_WINSTATION_NOT_FOUND NTStatus = 0xC00A0015 STATUS_CTX_WINSTATION_NAME_COLLISION NTStatus = 0xC00A0016 STATUS_CTX_WINSTATION_BUSY NTStatus = 0xC00A0017 STATUS_CTX_BAD_VIDEO_MODE NTStatus = 0xC00A0018 STATUS_CTX_GRAPHICS_INVALID NTStatus = 0xC00A0022 STATUS_CTX_NOT_CONSOLE NTStatus = 0xC00A0024 STATUS_CTX_CLIENT_QUERY_TIMEOUT NTStatus = 0xC00A0026 STATUS_CTX_CONSOLE_DISCONNECT NTStatus = 0xC00A0027 STATUS_CTX_CONSOLE_CONNECT NTStatus = 0xC00A0028 STATUS_CTX_SHADOW_DENIED NTStatus = 0xC00A002A STATUS_CTX_WINSTATION_ACCESS_DENIED NTStatus = 0xC00A002B STATUS_CTX_INVALID_WD NTStatus = 0xC00A002E STATUS_CTX_WD_NOT_FOUND NTStatus = 0xC00A002F STATUS_CTX_SHADOW_INVALID NTStatus = 0xC00A0030 STATUS_CTX_SHADOW_DISABLED NTStatus = 0xC00A0031 STATUS_RDP_PROTOCOL_ERROR NTStatus = 0xC00A0032 STATUS_CTX_CLIENT_LICENSE_NOT_SET NTStatus = 0xC00A0033 STATUS_CTX_CLIENT_LICENSE_IN_USE NTStatus = 0xC00A0034 STATUS_CTX_SHADOW_ENDED_BY_MODE_CHANGE NTStatus = 0xC00A0035 STATUS_CTX_SHADOW_NOT_RUNNING NTStatus = 0xC00A0036 STATUS_CTX_LOGON_DISABLED NTStatus = 0xC00A0037 STATUS_CTX_SECURITY_LAYER_ERROR NTStatus = 0xC00A0038 STATUS_TS_INCOMPATIBLE_SESSIONS NTStatus = 0xC00A0039 STATUS_TS_VIDEO_SUBSYSTEM_ERROR NTStatus = 0xC00A003A STATUS_PNP_BAD_MPS_TABLE NTStatus = 0xC0040035 STATUS_PNP_TRANSLATION_FAILED NTStatus = 0xC0040036 STATUS_PNP_IRQ_TRANSLATION_FAILED NTStatus = 0xC0040037 STATUS_PNP_INVALID_ID NTStatus = 0xC0040038 STATUS_IO_REISSUE_AS_CACHED NTStatus = 0xC0040039 STATUS_MUI_FILE_NOT_FOUND NTStatus = 0xC00B0001 STATUS_MUI_INVALID_FILE NTStatus = 0xC00B0002 STATUS_MUI_INVALID_RC_CONFIG NTStatus = 0xC00B0003 STATUS_MUI_INVALID_LOCALE_NAME NTStatus = 0xC00B0004 STATUS_MUI_INVALID_ULTIMATEFALLBACK_NAME NTStatus = 0xC00B0005 STATUS_MUI_FILE_NOT_LOADED NTStatus = 0xC00B0006 STATUS_RESOURCE_ENUM_USER_STOP NTStatus = 0xC00B0007 STATUS_FLT_NO_HANDLER_DEFINED NTStatus = 0xC01C0001 STATUS_FLT_CONTEXT_ALREADY_DEFINED NTStatus = 0xC01C0002 STATUS_FLT_INVALID_ASYNCHRONOUS_REQUEST NTStatus = 0xC01C0003 STATUS_FLT_DISALLOW_FAST_IO NTStatus = 0xC01C0004 STATUS_FLT_INVALID_NAME_REQUEST NTStatus = 0xC01C0005 STATUS_FLT_NOT_SAFE_TO_POST_OPERATION NTStatus = 0xC01C0006 STATUS_FLT_NOT_INITIALIZED NTStatus = 0xC01C0007 STATUS_FLT_FILTER_NOT_READY NTStatus = 0xC01C0008 STATUS_FLT_POST_OPERATION_CLEANUP NTStatus = 0xC01C0009 STATUS_FLT_INTERNAL_ERROR NTStatus = 0xC01C000A STATUS_FLT_DELETING_OBJECT NTStatus = 0xC01C000B STATUS_FLT_MUST_BE_NONPAGED_POOL NTStatus = 0xC01C000C STATUS_FLT_DUPLICATE_ENTRY NTStatus = 0xC01C000D STATUS_FLT_CBDQ_DISABLED NTStatus = 0xC01C000E STATUS_FLT_DO_NOT_ATTACH NTStatus = 0xC01C000F STATUS_FLT_DO_NOT_DETACH NTStatus = 0xC01C0010 STATUS_FLT_INSTANCE_ALTITUDE_COLLISION NTStatus = 0xC01C0011 STATUS_FLT_INSTANCE_NAME_COLLISION NTStatus = 0xC01C0012 STATUS_FLT_FILTER_NOT_FOUND NTStatus = 0xC01C0013 STATUS_FLT_VOLUME_NOT_FOUND NTStatus = 0xC01C0014 STATUS_FLT_INSTANCE_NOT_FOUND NTStatus = 0xC01C0015 STATUS_FLT_CONTEXT_ALLOCATION_NOT_FOUND NTStatus = 0xC01C0016 STATUS_FLT_INVALID_CONTEXT_REGISTRATION NTStatus = 0xC01C0017 STATUS_FLT_NAME_CACHE_MISS NTStatus = 0xC01C0018 STATUS_FLT_NO_DEVICE_OBJECT NTStatus = 0xC01C0019 STATUS_FLT_VOLUME_ALREADY_MOUNTED NTStatus = 0xC01C001A STATUS_FLT_ALREADY_ENLISTED NTStatus = 0xC01C001B STATUS_FLT_CONTEXT_ALREADY_LINKED NTStatus = 0xC01C001C STATUS_FLT_NO_WAITER_FOR_REPLY NTStatus = 0xC01C0020 STATUS_FLT_REGISTRATION_BUSY NTStatus = 0xC01C0023 STATUS_SXS_SECTION_NOT_FOUND NTStatus = 0xC0150001 STATUS_SXS_CANT_GEN_ACTCTX NTStatus = 0xC0150002 STATUS_SXS_INVALID_ACTCTXDATA_FORMAT NTStatus = 0xC0150003 STATUS_SXS_ASSEMBLY_NOT_FOUND NTStatus = 0xC0150004 STATUS_SXS_MANIFEST_FORMAT_ERROR NTStatus = 0xC0150005 STATUS_SXS_MANIFEST_PARSE_ERROR NTStatus = 0xC0150006 STATUS_SXS_ACTIVATION_CONTEXT_DISABLED NTStatus = 0xC0150007 STATUS_SXS_KEY_NOT_FOUND NTStatus = 0xC0150008 STATUS_SXS_VERSION_CONFLICT NTStatus = 0xC0150009 STATUS_SXS_WRONG_SECTION_TYPE NTStatus = 0xC015000A STATUS_SXS_THREAD_QUERIES_DISABLED NTStatus = 0xC015000B STATUS_SXS_ASSEMBLY_MISSING NTStatus = 0xC015000C STATUS_SXS_RELEASE_ACTIVATION_CONTEXT NTStatus = 0x4015000D STATUS_SXS_PROCESS_DEFAULT_ALREADY_SET NTStatus = 0xC015000E STATUS_SXS_EARLY_DEACTIVATION NTStatus = 0xC015000F STATUS_SXS_INVALID_DEACTIVATION NTStatus = 0xC0150010 STATUS_SXS_MULTIPLE_DEACTIVATION NTStatus = 0xC0150011 STATUS_SXS_SYSTEM_DEFAULT_ACTIVATION_CONTEXT_EMPTY NTStatus = 0xC0150012 STATUS_SXS_PROCESS_TERMINATION_REQUESTED NTStatus = 0xC0150013 STATUS_SXS_CORRUPT_ACTIVATION_STACK NTStatus = 0xC0150014 STATUS_SXS_CORRUPTION NTStatus = 0xC0150015 STATUS_SXS_INVALID_IDENTITY_ATTRIBUTE_VALUE NTStatus = 0xC0150016 STATUS_SXS_INVALID_IDENTITY_ATTRIBUTE_NAME NTStatus = 0xC0150017 STATUS_SXS_IDENTITY_DUPLICATE_ATTRIBUTE NTStatus = 0xC0150018 STATUS_SXS_IDENTITY_PARSE_ERROR NTStatus = 0xC0150019 STATUS_SXS_COMPONENT_STORE_CORRUPT NTStatus = 0xC015001A STATUS_SXS_FILE_HASH_MISMATCH NTStatus = 0xC015001B STATUS_SXS_MANIFEST_IDENTITY_SAME_BUT_CONTENTS_DIFFERENT NTStatus = 0xC015001C STATUS_SXS_IDENTITIES_DIFFERENT NTStatus = 0xC015001D STATUS_SXS_ASSEMBLY_IS_NOT_A_DEPLOYMENT NTStatus = 0xC015001E STATUS_SXS_FILE_NOT_PART_OF_ASSEMBLY NTStatus = 0xC015001F STATUS_ADVANCED_INSTALLER_FAILED NTStatus = 0xC0150020 STATUS_XML_ENCODING_MISMATCH NTStatus = 0xC0150021 STATUS_SXS_MANIFEST_TOO_BIG NTStatus = 0xC0150022 STATUS_SXS_SETTING_NOT_REGISTERED NTStatus = 0xC0150023 STATUS_SXS_TRANSACTION_CLOSURE_INCOMPLETE NTStatus = 0xC0150024 STATUS_SMI_PRIMITIVE_INSTALLER_FAILED NTStatus = 0xC0150025 STATUS_GENERIC_COMMAND_FAILED NTStatus = 0xC0150026 STATUS_SXS_FILE_HASH_MISSING NTStatus = 0xC0150027 STATUS_CLUSTER_INVALID_NODE NTStatus = 0xC0130001 STATUS_CLUSTER_NODE_EXISTS NTStatus = 0xC0130002 STATUS_CLUSTER_JOIN_IN_PROGRESS NTStatus = 0xC0130003 STATUS_CLUSTER_NODE_NOT_FOUND NTStatus = 0xC0130004 STATUS_CLUSTER_LOCAL_NODE_NOT_FOUND NTStatus = 0xC0130005 STATUS_CLUSTER_NETWORK_EXISTS NTStatus = 0xC0130006 STATUS_CLUSTER_NETWORK_NOT_FOUND NTStatus = 0xC0130007 STATUS_CLUSTER_NETINTERFACE_EXISTS NTStatus = 0xC0130008 STATUS_CLUSTER_NETINTERFACE_NOT_FOUND NTStatus = 0xC0130009 STATUS_CLUSTER_INVALID_REQUEST NTStatus = 0xC013000A STATUS_CLUSTER_INVALID_NETWORK_PROVIDER NTStatus = 0xC013000B STATUS_CLUSTER_NODE_DOWN NTStatus = 0xC013000C STATUS_CLUSTER_NODE_UNREACHABLE NTStatus = 0xC013000D STATUS_CLUSTER_NODE_NOT_MEMBER NTStatus = 0xC013000E STATUS_CLUSTER_JOIN_NOT_IN_PROGRESS NTStatus = 0xC013000F STATUS_CLUSTER_INVALID_NETWORK NTStatus = 0xC0130010 STATUS_CLUSTER_NO_NET_ADAPTERS NTStatus = 0xC0130011 STATUS_CLUSTER_NODE_UP NTStatus = 0xC0130012 STATUS_CLUSTER_NODE_PAUSED NTStatus = 0xC0130013 STATUS_CLUSTER_NODE_NOT_PAUSED NTStatus = 0xC0130014 STATUS_CLUSTER_NO_SECURITY_CONTEXT NTStatus = 0xC0130015 STATUS_CLUSTER_NETWORK_NOT_INTERNAL NTStatus = 0xC0130016 STATUS_CLUSTER_POISONED NTStatus = 0xC0130017 STATUS_CLUSTER_NON_CSV_PATH NTStatus = 0xC0130018 STATUS_CLUSTER_CSV_VOLUME_NOT_LOCAL NTStatus = 0xC0130019 STATUS_CLUSTER_CSV_READ_OPLOCK_BREAK_IN_PROGRESS NTStatus = 0xC0130020 STATUS_CLUSTER_CSV_AUTO_PAUSE_ERROR NTStatus = 0xC0130021 STATUS_CLUSTER_CSV_REDIRECTED NTStatus = 0xC0130022 STATUS_CLUSTER_CSV_NOT_REDIRECTED NTStatus = 0xC0130023 STATUS_CLUSTER_CSV_VOLUME_DRAINING NTStatus = 0xC0130024 STATUS_CLUSTER_CSV_SNAPSHOT_CREATION_IN_PROGRESS NTStatus = 0xC0130025 STATUS_CLUSTER_CSV_VOLUME_DRAINING_SUCCEEDED_DOWNLEVEL NTStatus = 0xC0130026 STATUS_CLUSTER_CSV_NO_SNAPSHOTS NTStatus = 0xC0130027 STATUS_CSV_IO_PAUSE_TIMEOUT NTStatus = 0xC0130028 STATUS_CLUSTER_CSV_INVALID_HANDLE NTStatus = 0xC0130029 STATUS_CLUSTER_CSV_SUPPORTED_ONLY_ON_COORDINATOR NTStatus = 0xC0130030 STATUS_CLUSTER_CAM_TICKET_REPLAY_DETECTED NTStatus = 0xC0130031 STATUS_TRANSACTIONAL_CONFLICT NTStatus = 0xC0190001 STATUS_INVALID_TRANSACTION NTStatus = 0xC0190002 STATUS_TRANSACTION_NOT_ACTIVE NTStatus = 0xC0190003 STATUS_TM_INITIALIZATION_FAILED NTStatus = 0xC0190004 STATUS_RM_NOT_ACTIVE NTStatus = 0xC0190005 STATUS_RM_METADATA_CORRUPT NTStatus = 0xC0190006 STATUS_TRANSACTION_NOT_JOINED NTStatus = 0xC0190007 STATUS_DIRECTORY_NOT_RM NTStatus = 0xC0190008 STATUS_COULD_NOT_RESIZE_LOG NTStatus = 0x80190009 STATUS_TRANSACTIONS_UNSUPPORTED_REMOTE NTStatus = 0xC019000A STATUS_LOG_RESIZE_INVALID_SIZE NTStatus = 0xC019000B STATUS_REMOTE_FILE_VERSION_MISMATCH NTStatus = 0xC019000C STATUS_CRM_PROTOCOL_ALREADY_EXISTS NTStatus = 0xC019000F STATUS_TRANSACTION_PROPAGATION_FAILED NTStatus = 0xC0190010 STATUS_CRM_PROTOCOL_NOT_FOUND NTStatus = 0xC0190011 STATUS_TRANSACTION_SUPERIOR_EXISTS NTStatus = 0xC0190012 STATUS_TRANSACTION_REQUEST_NOT_VALID NTStatus = 0xC0190013 STATUS_TRANSACTION_NOT_REQUESTED NTStatus = 0xC0190014 STATUS_TRANSACTION_ALREADY_ABORTED NTStatus = 0xC0190015 STATUS_TRANSACTION_ALREADY_COMMITTED NTStatus = 0xC0190016 STATUS_TRANSACTION_INVALID_MARSHALL_BUFFER NTStatus = 0xC0190017 STATUS_CURRENT_TRANSACTION_NOT_VALID NTStatus = 0xC0190018 STATUS_LOG_GROWTH_FAILED NTStatus = 0xC0190019 STATUS_OBJECT_NO_LONGER_EXISTS NTStatus = 0xC0190021 STATUS_STREAM_MINIVERSION_NOT_FOUND NTStatus = 0xC0190022 STATUS_STREAM_MINIVERSION_NOT_VALID NTStatus = 0xC0190023 STATUS_MINIVERSION_INACCESSIBLE_FROM_SPECIFIED_TRANSACTION NTStatus = 0xC0190024 STATUS_CANT_OPEN_MINIVERSION_WITH_MODIFY_INTENT NTStatus = 0xC0190025 STATUS_CANT_CREATE_MORE_STREAM_MINIVERSIONS NTStatus = 0xC0190026 STATUS_HANDLE_NO_LONGER_VALID NTStatus = 0xC0190028 STATUS_NO_TXF_METADATA NTStatus = 0x80190029 STATUS_LOG_CORRUPTION_DETECTED NTStatus = 0xC0190030 STATUS_CANT_RECOVER_WITH_HANDLE_OPEN NTStatus = 0x80190031 STATUS_RM_DISCONNECTED NTStatus = 0xC0190032 STATUS_ENLISTMENT_NOT_SUPERIOR NTStatus = 0xC0190033 STATUS_RECOVERY_NOT_NEEDED NTStatus = 0x40190034 STATUS_RM_ALREADY_STARTED NTStatus = 0x40190035 STATUS_FILE_IDENTITY_NOT_PERSISTENT NTStatus = 0xC0190036 STATUS_CANT_BREAK_TRANSACTIONAL_DEPENDENCY NTStatus = 0xC0190037 STATUS_CANT_CROSS_RM_BOUNDARY NTStatus = 0xC0190038 STATUS_TXF_DIR_NOT_EMPTY NTStatus = 0xC0190039 STATUS_INDOUBT_TRANSACTIONS_EXIST NTStatus = 0xC019003A STATUS_TM_VOLATILE NTStatus = 0xC019003B STATUS_ROLLBACK_TIMER_EXPIRED NTStatus = 0xC019003C STATUS_TXF_ATTRIBUTE_CORRUPT NTStatus = 0xC019003D STATUS_EFS_NOT_ALLOWED_IN_TRANSACTION NTStatus = 0xC019003E STATUS_TRANSACTIONAL_OPEN_NOT_ALLOWED NTStatus = 0xC019003F STATUS_TRANSACTED_MAPPING_UNSUPPORTED_REMOTE NTStatus = 0xC0190040 STATUS_TXF_METADATA_ALREADY_PRESENT NTStatus = 0x80190041 STATUS_TRANSACTION_SCOPE_CALLBACKS_NOT_SET NTStatus = 0x80190042 STATUS_TRANSACTION_REQUIRED_PROMOTION NTStatus = 0xC0190043 STATUS_CANNOT_EXECUTE_FILE_IN_TRANSACTION NTStatus = 0xC0190044 STATUS_TRANSACTIONS_NOT_FROZEN NTStatus = 0xC0190045 STATUS_TRANSACTION_FREEZE_IN_PROGRESS NTStatus = 0xC0190046 STATUS_NOT_SNAPSHOT_VOLUME NTStatus = 0xC0190047 STATUS_NO_SAVEPOINT_WITH_OPEN_FILES NTStatus = 0xC0190048 STATUS_SPARSE_NOT_ALLOWED_IN_TRANSACTION NTStatus = 0xC0190049 STATUS_TM_IDENTITY_MISMATCH NTStatus = 0xC019004A STATUS_FLOATED_SECTION NTStatus = 0xC019004B STATUS_CANNOT_ACCEPT_TRANSACTED_WORK NTStatus = 0xC019004C STATUS_CANNOT_ABORT_TRANSACTIONS NTStatus = 0xC019004D STATUS_TRANSACTION_NOT_FOUND NTStatus = 0xC019004E STATUS_RESOURCEMANAGER_NOT_FOUND NTStatus = 0xC019004F STATUS_ENLISTMENT_NOT_FOUND NTStatus = 0xC0190050 STATUS_TRANSACTIONMANAGER_NOT_FOUND NTStatus = 0xC0190051 STATUS_TRANSACTIONMANAGER_NOT_ONLINE NTStatus = 0xC0190052 STATUS_TRANSACTIONMANAGER_RECOVERY_NAME_COLLISION NTStatus = 0xC0190053 STATUS_TRANSACTION_NOT_ROOT NTStatus = 0xC0190054 STATUS_TRANSACTION_OBJECT_EXPIRED NTStatus = 0xC0190055 STATUS_COMPRESSION_NOT_ALLOWED_IN_TRANSACTION NTStatus = 0xC0190056 STATUS_TRANSACTION_RESPONSE_NOT_ENLISTED NTStatus = 0xC0190057 STATUS_TRANSACTION_RECORD_TOO_LONG NTStatus = 0xC0190058 STATUS_NO_LINK_TRACKING_IN_TRANSACTION NTStatus = 0xC0190059 STATUS_OPERATION_NOT_SUPPORTED_IN_TRANSACTION NTStatus = 0xC019005A STATUS_TRANSACTION_INTEGRITY_VIOLATED NTStatus = 0xC019005B STATUS_TRANSACTIONMANAGER_IDENTITY_MISMATCH NTStatus = 0xC019005C STATUS_RM_CANNOT_BE_FROZEN_FOR_SNAPSHOT NTStatus = 0xC019005D STATUS_TRANSACTION_MUST_WRITETHROUGH NTStatus = 0xC019005E STATUS_TRANSACTION_NO_SUPERIOR NTStatus = 0xC019005F STATUS_EXPIRED_HANDLE NTStatus = 0xC0190060 STATUS_TRANSACTION_NOT_ENLISTED NTStatus = 0xC0190061 STATUS_LOG_SECTOR_INVALID NTStatus = 0xC01A0001 STATUS_LOG_SECTOR_PARITY_INVALID NTStatus = 0xC01A0002 STATUS_LOG_SECTOR_REMAPPED NTStatus = 0xC01A0003 STATUS_LOG_BLOCK_INCOMPLETE NTStatus = 0xC01A0004 STATUS_LOG_INVALID_RANGE NTStatus = 0xC01A0005 STATUS_LOG_BLOCKS_EXHAUSTED NTStatus = 0xC01A0006 STATUS_LOG_READ_CONTEXT_INVALID NTStatus = 0xC01A0007 STATUS_LOG_RESTART_INVALID NTStatus = 0xC01A0008 STATUS_LOG_BLOCK_VERSION NTStatus = 0xC01A0009 STATUS_LOG_BLOCK_INVALID NTStatus = 0xC01A000A STATUS_LOG_READ_MODE_INVALID NTStatus = 0xC01A000B STATUS_LOG_NO_RESTART NTStatus = 0x401A000C STATUS_LOG_METADATA_CORRUPT NTStatus = 0xC01A000D STATUS_LOG_METADATA_INVALID NTStatus = 0xC01A000E STATUS_LOG_METADATA_INCONSISTENT NTStatus = 0xC01A000F STATUS_LOG_RESERVATION_INVALID NTStatus = 0xC01A0010 STATUS_LOG_CANT_DELETE NTStatus = 0xC01A0011 STATUS_LOG_CONTAINER_LIMIT_EXCEEDED NTStatus = 0xC01A0012 STATUS_LOG_START_OF_LOG NTStatus = 0xC01A0013 STATUS_LOG_POLICY_ALREADY_INSTALLED NTStatus = 0xC01A0014 STATUS_LOG_POLICY_NOT_INSTALLED NTStatus = 0xC01A0015 STATUS_LOG_POLICY_INVALID NTStatus = 0xC01A0016 STATUS_LOG_POLICY_CONFLICT NTStatus = 0xC01A0017 STATUS_LOG_PINNED_ARCHIVE_TAIL NTStatus = 0xC01A0018 STATUS_LOG_RECORD_NONEXISTENT NTStatus = 0xC01A0019 STATUS_LOG_RECORDS_RESERVED_INVALID NTStatus = 0xC01A001A STATUS_LOG_SPACE_RESERVED_INVALID NTStatus = 0xC01A001B STATUS_LOG_TAIL_INVALID NTStatus = 0xC01A001C STATUS_LOG_FULL NTStatus = 0xC01A001D STATUS_LOG_MULTIPLEXED NTStatus = 0xC01A001E STATUS_LOG_DEDICATED NTStatus = 0xC01A001F STATUS_LOG_ARCHIVE_NOT_IN_PROGRESS NTStatus = 0xC01A0020 STATUS_LOG_ARCHIVE_IN_PROGRESS NTStatus = 0xC01A0021 STATUS_LOG_EPHEMERAL NTStatus = 0xC01A0022 STATUS_LOG_NOT_ENOUGH_CONTAINERS NTStatus = 0xC01A0023 STATUS_LOG_CLIENT_ALREADY_REGISTERED NTStatus = 0xC01A0024 STATUS_LOG_CLIENT_NOT_REGISTERED NTStatus = 0xC01A0025 STATUS_LOG_FULL_HANDLER_IN_PROGRESS NTStatus = 0xC01A0026 STATUS_LOG_CONTAINER_READ_FAILED NTStatus = 0xC01A0027 STATUS_LOG_CONTAINER_WRITE_FAILED NTStatus = 0xC01A0028 STATUS_LOG_CONTAINER_OPEN_FAILED NTStatus = 0xC01A0029 STATUS_LOG_CONTAINER_STATE_INVALID NTStatus = 0xC01A002A STATUS_LOG_STATE_INVALID NTStatus = 0xC01A002B STATUS_LOG_PINNED NTStatus = 0xC01A002C STATUS_LOG_METADATA_FLUSH_FAILED NTStatus = 0xC01A002D STATUS_LOG_INCONSISTENT_SECURITY NTStatus = 0xC01A002E STATUS_LOG_APPENDED_FLUSH_FAILED NTStatus = 0xC01A002F STATUS_LOG_PINNED_RESERVATION NTStatus = 0xC01A0030 STATUS_VIDEO_HUNG_DISPLAY_DRIVER_THREAD NTStatus = 0xC01B00EA STATUS_VIDEO_HUNG_DISPLAY_DRIVER_THREAD_RECOVERED NTStatus = 0x801B00EB STATUS_VIDEO_DRIVER_DEBUG_REPORT_REQUEST NTStatus = 0x401B00EC STATUS_MONITOR_NO_DESCRIPTOR NTStatus = 0xC01D0001 STATUS_MONITOR_UNKNOWN_DESCRIPTOR_FORMAT NTStatus = 0xC01D0002 STATUS_MONITOR_INVALID_DESCRIPTOR_CHECKSUM NTStatus = 0xC01D0003 STATUS_MONITOR_INVALID_STANDARD_TIMING_BLOCK NTStatus = 0xC01D0004 STATUS_MONITOR_WMI_DATABLOCK_REGISTRATION_FAILED NTStatus = 0xC01D0005 STATUS_MONITOR_INVALID_SERIAL_NUMBER_MONDSC_BLOCK NTStatus = 0xC01D0006 STATUS_MONITOR_INVALID_USER_FRIENDLY_MONDSC_BLOCK NTStatus = 0xC01D0007 STATUS_MONITOR_NO_MORE_DESCRIPTOR_DATA NTStatus = 0xC01D0008 STATUS_MONITOR_INVALID_DETAILED_TIMING_BLOCK NTStatus = 0xC01D0009 STATUS_MONITOR_INVALID_MANUFACTURE_DATE NTStatus = 0xC01D000A STATUS_GRAPHICS_NOT_EXCLUSIVE_MODE_OWNER NTStatus = 0xC01E0000 STATUS_GRAPHICS_INSUFFICIENT_DMA_BUFFER NTStatus = 0xC01E0001 STATUS_GRAPHICS_INVALID_DISPLAY_ADAPTER NTStatus = 0xC01E0002 STATUS_GRAPHICS_ADAPTER_WAS_RESET NTStatus = 0xC01E0003 STATUS_GRAPHICS_INVALID_DRIVER_MODEL NTStatus = 0xC01E0004 STATUS_GRAPHICS_PRESENT_MODE_CHANGED NTStatus = 0xC01E0005 STATUS_GRAPHICS_PRESENT_OCCLUDED NTStatus = 0xC01E0006 STATUS_GRAPHICS_PRESENT_DENIED NTStatus = 0xC01E0007 STATUS_GRAPHICS_CANNOTCOLORCONVERT NTStatus = 0xC01E0008 STATUS_GRAPHICS_DRIVER_MISMATCH NTStatus = 0xC01E0009 STATUS_GRAPHICS_PARTIAL_DATA_POPULATED NTStatus = 0x401E000A STATUS_GRAPHICS_PRESENT_REDIRECTION_DISABLED NTStatus = 0xC01E000B STATUS_GRAPHICS_PRESENT_UNOCCLUDED NTStatus = 0xC01E000C STATUS_GRAPHICS_WINDOWDC_NOT_AVAILABLE NTStatus = 0xC01E000D STATUS_GRAPHICS_WINDOWLESS_PRESENT_DISABLED NTStatus = 0xC01E000E STATUS_GRAPHICS_PRESENT_INVALID_WINDOW NTStatus = 0xC01E000F STATUS_GRAPHICS_PRESENT_BUFFER_NOT_BOUND NTStatus = 0xC01E0010 STATUS_GRAPHICS_VAIL_STATE_CHANGED NTStatus = 0xC01E0011 STATUS_GRAPHICS_INDIRECT_DISPLAY_ABANDON_SWAPCHAIN NTStatus = 0xC01E0012 STATUS_GRAPHICS_INDIRECT_DISPLAY_DEVICE_STOPPED NTStatus = 0xC01E0013 STATUS_GRAPHICS_NO_VIDEO_MEMORY NTStatus = 0xC01E0100 STATUS_GRAPHICS_CANT_LOCK_MEMORY NTStatus = 0xC01E0101 STATUS_GRAPHICS_ALLOCATION_BUSY NTStatus = 0xC01E0102 STATUS_GRAPHICS_TOO_MANY_REFERENCES NTStatus = 0xC01E0103 STATUS_GRAPHICS_TRY_AGAIN_LATER NTStatus = 0xC01E0104 STATUS_GRAPHICS_TRY_AGAIN_NOW NTStatus = 0xC01E0105 STATUS_GRAPHICS_ALLOCATION_INVALID NTStatus = 0xC01E0106 STATUS_GRAPHICS_UNSWIZZLING_APERTURE_UNAVAILABLE NTStatus = 0xC01E0107 STATUS_GRAPHICS_UNSWIZZLING_APERTURE_UNSUPPORTED NTStatus = 0xC01E0108 STATUS_GRAPHICS_CANT_EVICT_PINNED_ALLOCATION NTStatus = 0xC01E0109 STATUS_GRAPHICS_INVALID_ALLOCATION_USAGE NTStatus = 0xC01E0110 STATUS_GRAPHICS_CANT_RENDER_LOCKED_ALLOCATION NTStatus = 0xC01E0111 STATUS_GRAPHICS_ALLOCATION_CLOSED NTStatus = 0xC01E0112 STATUS_GRAPHICS_INVALID_ALLOCATION_INSTANCE NTStatus = 0xC01E0113 STATUS_GRAPHICS_INVALID_ALLOCATION_HANDLE NTStatus = 0xC01E0114 STATUS_GRAPHICS_WRONG_ALLOCATION_DEVICE NTStatus = 0xC01E0115 STATUS_GRAPHICS_ALLOCATION_CONTENT_LOST NTStatus = 0xC01E0116 STATUS_GRAPHICS_GPU_EXCEPTION_ON_DEVICE NTStatus = 0xC01E0200 STATUS_GRAPHICS_SKIP_ALLOCATION_PREPARATION NTStatus = 0x401E0201 STATUS_GRAPHICS_INVALID_VIDPN_TOPOLOGY NTStatus = 0xC01E0300 STATUS_GRAPHICS_VIDPN_TOPOLOGY_NOT_SUPPORTED NTStatus = 0xC01E0301 STATUS_GRAPHICS_VIDPN_TOPOLOGY_CURRENTLY_NOT_SUPPORTED NTStatus = 0xC01E0302 STATUS_GRAPHICS_INVALID_VIDPN NTStatus = 0xC01E0303 STATUS_GRAPHICS_INVALID_VIDEO_PRESENT_SOURCE NTStatus = 0xC01E0304 STATUS_GRAPHICS_INVALID_VIDEO_PRESENT_TARGET NTStatus = 0xC01E0305 STATUS_GRAPHICS_VIDPN_MODALITY_NOT_SUPPORTED NTStatus = 0xC01E0306 STATUS_GRAPHICS_MODE_NOT_PINNED NTStatus = 0x401E0307 STATUS_GRAPHICS_INVALID_VIDPN_SOURCEMODESET NTStatus = 0xC01E0308 STATUS_GRAPHICS_INVALID_VIDPN_TARGETMODESET NTStatus = 0xC01E0309 STATUS_GRAPHICS_INVALID_FREQUENCY NTStatus = 0xC01E030A STATUS_GRAPHICS_INVALID_ACTIVE_REGION NTStatus = 0xC01E030B STATUS_GRAPHICS_INVALID_TOTAL_REGION NTStatus = 0xC01E030C STATUS_GRAPHICS_INVALID_VIDEO_PRESENT_SOURCE_MODE NTStatus = 0xC01E0310 STATUS_GRAPHICS_INVALID_VIDEO_PRESENT_TARGET_MODE NTStatus = 0xC01E0311 STATUS_GRAPHICS_PINNED_MODE_MUST_REMAIN_IN_SET NTStatus = 0xC01E0312 STATUS_GRAPHICS_PATH_ALREADY_IN_TOPOLOGY NTStatus = 0xC01E0313 STATUS_GRAPHICS_MODE_ALREADY_IN_MODESET NTStatus = 0xC01E0314 STATUS_GRAPHICS_INVALID_VIDEOPRESENTSOURCESET NTStatus = 0xC01E0315 STATUS_GRAPHICS_INVALID_VIDEOPRESENTTARGETSET NTStatus = 0xC01E0316 STATUS_GRAPHICS_SOURCE_ALREADY_IN_SET NTStatus = 0xC01E0317 STATUS_GRAPHICS_TARGET_ALREADY_IN_SET NTStatus = 0xC01E0318 STATUS_GRAPHICS_INVALID_VIDPN_PRESENT_PATH NTStatus = 0xC01E0319 STATUS_GRAPHICS_NO_RECOMMENDED_VIDPN_TOPOLOGY NTStatus = 0xC01E031A STATUS_GRAPHICS_INVALID_MONITOR_FREQUENCYRANGESET NTStatus = 0xC01E031B STATUS_GRAPHICS_INVALID_MONITOR_FREQUENCYRANGE NTStatus = 0xC01E031C STATUS_GRAPHICS_FREQUENCYRANGE_NOT_IN_SET NTStatus = 0xC01E031D STATUS_GRAPHICS_NO_PREFERRED_MODE NTStatus = 0x401E031E STATUS_GRAPHICS_FREQUENCYRANGE_ALREADY_IN_SET NTStatus = 0xC01E031F STATUS_GRAPHICS_STALE_MODESET NTStatus = 0xC01E0320 STATUS_GRAPHICS_INVALID_MONITOR_SOURCEMODESET NTStatus = 0xC01E0321 STATUS_GRAPHICS_INVALID_MONITOR_SOURCE_MODE NTStatus = 0xC01E0322 STATUS_GRAPHICS_NO_RECOMMENDED_FUNCTIONAL_VIDPN NTStatus = 0xC01E0323 STATUS_GRAPHICS_MODE_ID_MUST_BE_UNIQUE NTStatus = 0xC01E0324 STATUS_GRAPHICS_EMPTY_ADAPTER_MONITOR_MODE_SUPPORT_INTERSECTION NTStatus = 0xC01E0325 STATUS_GRAPHICS_VIDEO_PRESENT_TARGETS_LESS_THAN_SOURCES NTStatus = 0xC01E0326 STATUS_GRAPHICS_PATH_NOT_IN_TOPOLOGY NTStatus = 0xC01E0327 STATUS_GRAPHICS_ADAPTER_MUST_HAVE_AT_LEAST_ONE_SOURCE NTStatus = 0xC01E0328 STATUS_GRAPHICS_ADAPTER_MUST_HAVE_AT_LEAST_ONE_TARGET NTStatus = 0xC01E0329 STATUS_GRAPHICS_INVALID_MONITORDESCRIPTORSET NTStatus = 0xC01E032A STATUS_GRAPHICS_INVALID_MONITORDESCRIPTOR NTStatus = 0xC01E032B STATUS_GRAPHICS_MONITORDESCRIPTOR_NOT_IN_SET NTStatus = 0xC01E032C STATUS_GRAPHICS_MONITORDESCRIPTOR_ALREADY_IN_SET NTStatus = 0xC01E032D STATUS_GRAPHICS_MONITORDESCRIPTOR_ID_MUST_BE_UNIQUE NTStatus = 0xC01E032E STATUS_GRAPHICS_INVALID_VIDPN_TARGET_SUBSET_TYPE NTStatus = 0xC01E032F STATUS_GRAPHICS_RESOURCES_NOT_RELATED NTStatus = 0xC01E0330 STATUS_GRAPHICS_SOURCE_ID_MUST_BE_UNIQUE NTStatus = 0xC01E0331 STATUS_GRAPHICS_TARGET_ID_MUST_BE_UNIQUE NTStatus = 0xC01E0332 STATUS_GRAPHICS_NO_AVAILABLE_VIDPN_TARGET NTStatus = 0xC01E0333 STATUS_GRAPHICS_MONITOR_COULD_NOT_BE_ASSOCIATED_WITH_ADAPTER NTStatus = 0xC01E0334 STATUS_GRAPHICS_NO_VIDPNMGR NTStatus = 0xC01E0335 STATUS_GRAPHICS_NO_ACTIVE_VIDPN NTStatus = 0xC01E0336 STATUS_GRAPHICS_STALE_VIDPN_TOPOLOGY NTStatus = 0xC01E0337 STATUS_GRAPHICS_MONITOR_NOT_CONNECTED NTStatus = 0xC01E0338 STATUS_GRAPHICS_SOURCE_NOT_IN_TOPOLOGY NTStatus = 0xC01E0339 STATUS_GRAPHICS_INVALID_PRIMARYSURFACE_SIZE NTStatus = 0xC01E033A STATUS_GRAPHICS_INVALID_VISIBLEREGION_SIZE NTStatus = 0xC01E033B STATUS_GRAPHICS_INVALID_STRIDE NTStatus = 0xC01E033C STATUS_GRAPHICS_INVALID_PIXELFORMAT NTStatus = 0xC01E033D STATUS_GRAPHICS_INVALID_COLORBASIS NTStatus = 0xC01E033E STATUS_GRAPHICS_INVALID_PIXELVALUEACCESSMODE NTStatus = 0xC01E033F STATUS_GRAPHICS_TARGET_NOT_IN_TOPOLOGY NTStatus = 0xC01E0340 STATUS_GRAPHICS_NO_DISPLAY_MODE_MANAGEMENT_SUPPORT NTStatus = 0xC01E0341 STATUS_GRAPHICS_VIDPN_SOURCE_IN_USE NTStatus = 0xC01E0342 STATUS_GRAPHICS_CANT_ACCESS_ACTIVE_VIDPN NTStatus = 0xC01E0343 STATUS_GRAPHICS_INVALID_PATH_IMPORTANCE_ORDINAL NTStatus = 0xC01E0344 STATUS_GRAPHICS_INVALID_PATH_CONTENT_GEOMETRY_TRANSFORMATION NTStatus = 0xC01E0345 STATUS_GRAPHICS_PATH_CONTENT_GEOMETRY_TRANSFORMATION_NOT_SUPPORTED NTStatus = 0xC01E0346 STATUS_GRAPHICS_INVALID_GAMMA_RAMP NTStatus = 0xC01E0347 STATUS_GRAPHICS_GAMMA_RAMP_NOT_SUPPORTED NTStatus = 0xC01E0348 STATUS_GRAPHICS_MULTISAMPLING_NOT_SUPPORTED NTStatus = 0xC01E0349 STATUS_GRAPHICS_MODE_NOT_IN_MODESET NTStatus = 0xC01E034A STATUS_GRAPHICS_DATASET_IS_EMPTY NTStatus = 0x401E034B STATUS_GRAPHICS_NO_MORE_ELEMENTS_IN_DATASET NTStatus = 0x401E034C STATUS_GRAPHICS_INVALID_VIDPN_TOPOLOGY_RECOMMENDATION_REASON NTStatus = 0xC01E034D STATUS_GRAPHICS_INVALID_PATH_CONTENT_TYPE NTStatus = 0xC01E034E STATUS_GRAPHICS_INVALID_COPYPROTECTION_TYPE NTStatus = 0xC01E034F STATUS_GRAPHICS_UNASSIGNED_MODESET_ALREADY_EXISTS NTStatus = 0xC01E0350 STATUS_GRAPHICS_PATH_CONTENT_GEOMETRY_TRANSFORMATION_NOT_PINNED NTStatus = 0x401E0351 STATUS_GRAPHICS_INVALID_SCANLINE_ORDERING NTStatus = 0xC01E0352 STATUS_GRAPHICS_TOPOLOGY_CHANGES_NOT_ALLOWED NTStatus = 0xC01E0353 STATUS_GRAPHICS_NO_AVAILABLE_IMPORTANCE_ORDINALS NTStatus = 0xC01E0354 STATUS_GRAPHICS_INCOMPATIBLE_PRIVATE_FORMAT NTStatus = 0xC01E0355 STATUS_GRAPHICS_INVALID_MODE_PRUNING_ALGORITHM NTStatus = 0xC01E0356 STATUS_GRAPHICS_INVALID_MONITOR_CAPABILITY_ORIGIN NTStatus = 0xC01E0357 STATUS_GRAPHICS_INVALID_MONITOR_FREQUENCYRANGE_CONSTRAINT NTStatus = 0xC01E0358 STATUS_GRAPHICS_MAX_NUM_PATHS_REACHED NTStatus = 0xC01E0359 STATUS_GRAPHICS_CANCEL_VIDPN_TOPOLOGY_AUGMENTATION NTStatus = 0xC01E035A STATUS_GRAPHICS_INVALID_CLIENT_TYPE NTStatus = 0xC01E035B STATUS_GRAPHICS_CLIENTVIDPN_NOT_SET NTStatus = 0xC01E035C STATUS_GRAPHICS_SPECIFIED_CHILD_ALREADY_CONNECTED NTStatus = 0xC01E0400 STATUS_GRAPHICS_CHILD_DESCRIPTOR_NOT_SUPPORTED NTStatus = 0xC01E0401 STATUS_GRAPHICS_UNKNOWN_CHILD_STATUS NTStatus = 0x401E042F STATUS_GRAPHICS_NOT_A_LINKED_ADAPTER NTStatus = 0xC01E0430 STATUS_GRAPHICS_LEADLINK_NOT_ENUMERATED NTStatus = 0xC01E0431 STATUS_GRAPHICS_CHAINLINKS_NOT_ENUMERATED NTStatus = 0xC01E0432 STATUS_GRAPHICS_ADAPTER_CHAIN_NOT_READY NTStatus = 0xC01E0433 STATUS_GRAPHICS_CHAINLINKS_NOT_STARTED NTStatus = 0xC01E0434 STATUS_GRAPHICS_CHAINLINKS_NOT_POWERED_ON NTStatus = 0xC01E0435 STATUS_GRAPHICS_INCONSISTENT_DEVICE_LINK_STATE NTStatus = 0xC01E0436 STATUS_GRAPHICS_LEADLINK_START_DEFERRED NTStatus = 0x401E0437 STATUS_GRAPHICS_NOT_POST_DEVICE_DRIVER NTStatus = 0xC01E0438 STATUS_GRAPHICS_POLLING_TOO_FREQUENTLY NTStatus = 0x401E0439 STATUS_GRAPHICS_START_DEFERRED NTStatus = 0x401E043A STATUS_GRAPHICS_ADAPTER_ACCESS_NOT_EXCLUDED NTStatus = 0xC01E043B STATUS_GRAPHICS_DEPENDABLE_CHILD_STATUS NTStatus = 0x401E043C STATUS_GRAPHICS_OPM_NOT_SUPPORTED NTStatus = 0xC01E0500 STATUS_GRAPHICS_COPP_NOT_SUPPORTED NTStatus = 0xC01E0501 STATUS_GRAPHICS_UAB_NOT_SUPPORTED NTStatus = 0xC01E0502 STATUS_GRAPHICS_OPM_INVALID_ENCRYPTED_PARAMETERS NTStatus = 0xC01E0503 STATUS_GRAPHICS_OPM_NO_PROTECTED_OUTPUTS_EXIST NTStatus = 0xC01E0505 STATUS_GRAPHICS_OPM_INTERNAL_ERROR NTStatus = 0xC01E050B STATUS_GRAPHICS_OPM_INVALID_HANDLE NTStatus = 0xC01E050C STATUS_GRAPHICS_PVP_INVALID_CERTIFICATE_LENGTH NTStatus = 0xC01E050E STATUS_GRAPHICS_OPM_SPANNING_MODE_ENABLED NTStatus = 0xC01E050F STATUS_GRAPHICS_OPM_THEATER_MODE_ENABLED NTStatus = 0xC01E0510 STATUS_GRAPHICS_PVP_HFS_FAILED NTStatus = 0xC01E0511 STATUS_GRAPHICS_OPM_INVALID_SRM NTStatus = 0xC01E0512 STATUS_GRAPHICS_OPM_OUTPUT_DOES_NOT_SUPPORT_HDCP NTStatus = 0xC01E0513 STATUS_GRAPHICS_OPM_OUTPUT_DOES_NOT_SUPPORT_ACP NTStatus = 0xC01E0514 STATUS_GRAPHICS_OPM_OUTPUT_DOES_NOT_SUPPORT_CGMSA NTStatus = 0xC01E0515 STATUS_GRAPHICS_OPM_HDCP_SRM_NEVER_SET NTStatus = 0xC01E0516 STATUS_GRAPHICS_OPM_RESOLUTION_TOO_HIGH NTStatus = 0xC01E0517 STATUS_GRAPHICS_OPM_ALL_HDCP_HARDWARE_ALREADY_IN_USE NTStatus = 0xC01E0518 STATUS_GRAPHICS_OPM_PROTECTED_OUTPUT_NO_LONGER_EXISTS NTStatus = 0xC01E051A STATUS_GRAPHICS_OPM_PROTECTED_OUTPUT_DOES_NOT_HAVE_COPP_SEMANTICS NTStatus = 0xC01E051C STATUS_GRAPHICS_OPM_INVALID_INFORMATION_REQUEST NTStatus = 0xC01E051D STATUS_GRAPHICS_OPM_DRIVER_INTERNAL_ERROR NTStatus = 0xC01E051E STATUS_GRAPHICS_OPM_PROTECTED_OUTPUT_DOES_NOT_HAVE_OPM_SEMANTICS NTStatus = 0xC01E051F STATUS_GRAPHICS_OPM_SIGNALING_NOT_SUPPORTED NTStatus = 0xC01E0520 STATUS_GRAPHICS_OPM_INVALID_CONFIGURATION_REQUEST NTStatus = 0xC01E0521 STATUS_GRAPHICS_I2C_NOT_SUPPORTED NTStatus = 0xC01E0580 STATUS_GRAPHICS_I2C_DEVICE_DOES_NOT_EXIST NTStatus = 0xC01E0581 STATUS_GRAPHICS_I2C_ERROR_TRANSMITTING_DATA NTStatus = 0xC01E0582 STATUS_GRAPHICS_I2C_ERROR_RECEIVING_DATA NTStatus = 0xC01E0583 STATUS_GRAPHICS_DDCCI_VCP_NOT_SUPPORTED NTStatus = 0xC01E0584 STATUS_GRAPHICS_DDCCI_INVALID_DATA NTStatus = 0xC01E0585 STATUS_GRAPHICS_DDCCI_MONITOR_RETURNED_INVALID_TIMING_STATUS_BYTE NTStatus = 0xC01E0586 STATUS_GRAPHICS_DDCCI_INVALID_CAPABILITIES_STRING NTStatus = 0xC01E0587 STATUS_GRAPHICS_MCA_INTERNAL_ERROR NTStatus = 0xC01E0588 STATUS_GRAPHICS_DDCCI_INVALID_MESSAGE_COMMAND NTStatus = 0xC01E0589 STATUS_GRAPHICS_DDCCI_INVALID_MESSAGE_LENGTH NTStatus = 0xC01E058A STATUS_GRAPHICS_DDCCI_INVALID_MESSAGE_CHECKSUM NTStatus = 0xC01E058B STATUS_GRAPHICS_INVALID_PHYSICAL_MONITOR_HANDLE NTStatus = 0xC01E058C STATUS_GRAPHICS_MONITOR_NO_LONGER_EXISTS NTStatus = 0xC01E058D STATUS_GRAPHICS_ONLY_CONSOLE_SESSION_SUPPORTED NTStatus = 0xC01E05E0 STATUS_GRAPHICS_NO_DISPLAY_DEVICE_CORRESPONDS_TO_NAME NTStatus = 0xC01E05E1 STATUS_GRAPHICS_DISPLAY_DEVICE_NOT_ATTACHED_TO_DESKTOP NTStatus = 0xC01E05E2 STATUS_GRAPHICS_MIRRORING_DEVICES_NOT_SUPPORTED NTStatus = 0xC01E05E3 STATUS_GRAPHICS_INVALID_POINTER NTStatus = 0xC01E05E4 STATUS_GRAPHICS_NO_MONITORS_CORRESPOND_TO_DISPLAY_DEVICE NTStatus = 0xC01E05E5 STATUS_GRAPHICS_PARAMETER_ARRAY_TOO_SMALL NTStatus = 0xC01E05E6 STATUS_GRAPHICS_INTERNAL_ERROR NTStatus = 0xC01E05E7 STATUS_GRAPHICS_SESSION_TYPE_CHANGE_IN_PROGRESS NTStatus = 0xC01E05E8 STATUS_FVE_LOCKED_VOLUME NTStatus = 0xC0210000 STATUS_FVE_NOT_ENCRYPTED NTStatus = 0xC0210001 STATUS_FVE_BAD_INFORMATION NTStatus = 0xC0210002 STATUS_FVE_TOO_SMALL NTStatus = 0xC0210003 STATUS_FVE_FAILED_WRONG_FS NTStatus = 0xC0210004 STATUS_FVE_BAD_PARTITION_SIZE NTStatus = 0xC0210005 STATUS_FVE_FS_NOT_EXTENDED NTStatus = 0xC0210006 STATUS_FVE_FS_MOUNTED NTStatus = 0xC0210007 STATUS_FVE_NO_LICENSE NTStatus = 0xC0210008 STATUS_FVE_ACTION_NOT_ALLOWED NTStatus = 0xC0210009 STATUS_FVE_BAD_DATA NTStatus = 0xC021000A STATUS_FVE_VOLUME_NOT_BOUND NTStatus = 0xC021000B STATUS_FVE_NOT_DATA_VOLUME NTStatus = 0xC021000C STATUS_FVE_CONV_READ_ERROR NTStatus = 0xC021000D STATUS_FVE_CONV_WRITE_ERROR NTStatus = 0xC021000E STATUS_FVE_OVERLAPPED_UPDATE NTStatus = 0xC021000F STATUS_FVE_FAILED_SECTOR_SIZE NTStatus = 0xC0210010 STATUS_FVE_FAILED_AUTHENTICATION NTStatus = 0xC0210011 STATUS_FVE_NOT_OS_VOLUME NTStatus = 0xC0210012 STATUS_FVE_KEYFILE_NOT_FOUND NTStatus = 0xC0210013 STATUS_FVE_KEYFILE_INVALID NTStatus = 0xC0210014 STATUS_FVE_KEYFILE_NO_VMK NTStatus = 0xC0210015 STATUS_FVE_TPM_DISABLED NTStatus = 0xC0210016 STATUS_FVE_TPM_SRK_AUTH_NOT_ZERO NTStatus = 0xC0210017 STATUS_FVE_TPM_INVALID_PCR NTStatus = 0xC0210018 STATUS_FVE_TPM_NO_VMK NTStatus = 0xC0210019 STATUS_FVE_PIN_INVALID NTStatus = 0xC021001A STATUS_FVE_AUTH_INVALID_APPLICATION NTStatus = 0xC021001B STATUS_FVE_AUTH_INVALID_CONFIG NTStatus = 0xC021001C STATUS_FVE_DEBUGGER_ENABLED NTStatus = 0xC021001D STATUS_FVE_DRY_RUN_FAILED NTStatus = 0xC021001E STATUS_FVE_BAD_METADATA_POINTER NTStatus = 0xC021001F STATUS_FVE_OLD_METADATA_COPY NTStatus = 0xC0210020 STATUS_FVE_REBOOT_REQUIRED NTStatus = 0xC0210021 STATUS_FVE_RAW_ACCESS NTStatus = 0xC0210022 STATUS_FVE_RAW_BLOCKED NTStatus = 0xC0210023 STATUS_FVE_NO_AUTOUNLOCK_MASTER_KEY NTStatus = 0xC0210024 STATUS_FVE_MOR_FAILED NTStatus = 0xC0210025 STATUS_FVE_NO_FEATURE_LICENSE NTStatus = 0xC0210026 STATUS_FVE_POLICY_USER_DISABLE_RDV_NOT_ALLOWED NTStatus = 0xC0210027 STATUS_FVE_CONV_RECOVERY_FAILED NTStatus = 0xC0210028 STATUS_FVE_VIRTUALIZED_SPACE_TOO_BIG NTStatus = 0xC0210029 STATUS_FVE_INVALID_DATUM_TYPE NTStatus = 0xC021002A STATUS_FVE_VOLUME_TOO_SMALL NTStatus = 0xC0210030 STATUS_FVE_ENH_PIN_INVALID NTStatus = 0xC0210031 STATUS_FVE_FULL_ENCRYPTION_NOT_ALLOWED_ON_TP_STORAGE NTStatus = 0xC0210032 STATUS_FVE_WIPE_NOT_ALLOWED_ON_TP_STORAGE NTStatus = 0xC0210033 STATUS_FVE_NOT_ALLOWED_ON_CSV_STACK NTStatus = 0xC0210034 STATUS_FVE_NOT_ALLOWED_ON_CLUSTER NTStatus = 0xC0210035 STATUS_FVE_NOT_ALLOWED_TO_UPGRADE_WHILE_CONVERTING NTStatus = 0xC0210036 STATUS_FVE_WIPE_CANCEL_NOT_APPLICABLE NTStatus = 0xC0210037 STATUS_FVE_EDRIVE_DRY_RUN_FAILED NTStatus = 0xC0210038 STATUS_FVE_SECUREBOOT_DISABLED NTStatus = 0xC0210039 STATUS_FVE_SECUREBOOT_CONFIG_CHANGE NTStatus = 0xC021003A STATUS_FVE_DEVICE_LOCKEDOUT NTStatus = 0xC021003B STATUS_FVE_VOLUME_EXTEND_PREVENTS_EOW_DECRYPT NTStatus = 0xC021003C STATUS_FVE_NOT_DE_VOLUME NTStatus = 0xC021003D STATUS_FVE_PROTECTION_DISABLED NTStatus = 0xC021003E STATUS_FVE_PROTECTION_CANNOT_BE_DISABLED NTStatus = 0xC021003F STATUS_FVE_OSV_KSR_NOT_ALLOWED NTStatus = 0xC0210040 STATUS_FWP_CALLOUT_NOT_FOUND NTStatus = 0xC0220001 STATUS_FWP_CONDITION_NOT_FOUND NTStatus = 0xC0220002 STATUS_FWP_FILTER_NOT_FOUND NTStatus = 0xC0220003 STATUS_FWP_LAYER_NOT_FOUND NTStatus = 0xC0220004 STATUS_FWP_PROVIDER_NOT_FOUND NTStatus = 0xC0220005 STATUS_FWP_PROVIDER_CONTEXT_NOT_FOUND NTStatus = 0xC0220006 STATUS_FWP_SUBLAYER_NOT_FOUND NTStatus = 0xC0220007 STATUS_FWP_NOT_FOUND NTStatus = 0xC0220008 STATUS_FWP_ALREADY_EXISTS NTStatus = 0xC0220009 STATUS_FWP_IN_USE NTStatus = 0xC022000A STATUS_FWP_DYNAMIC_SESSION_IN_PROGRESS NTStatus = 0xC022000B STATUS_FWP_WRONG_SESSION NTStatus = 0xC022000C STATUS_FWP_NO_TXN_IN_PROGRESS NTStatus = 0xC022000D STATUS_FWP_TXN_IN_PROGRESS NTStatus = 0xC022000E STATUS_FWP_TXN_ABORTED NTStatus = 0xC022000F STATUS_FWP_SESSION_ABORTED NTStatus = 0xC0220010 STATUS_FWP_INCOMPATIBLE_TXN NTStatus = 0xC0220011 STATUS_FWP_TIMEOUT NTStatus = 0xC0220012 STATUS_FWP_NET_EVENTS_DISABLED NTStatus = 0xC0220013 STATUS_FWP_INCOMPATIBLE_LAYER NTStatus = 0xC0220014 STATUS_FWP_KM_CLIENTS_ONLY NTStatus = 0xC0220015 STATUS_FWP_LIFETIME_MISMATCH NTStatus = 0xC0220016 STATUS_FWP_BUILTIN_OBJECT NTStatus = 0xC0220017 STATUS_FWP_TOO_MANY_CALLOUTS NTStatus = 0xC0220018 STATUS_FWP_NOTIFICATION_DROPPED NTStatus = 0xC0220019 STATUS_FWP_TRAFFIC_MISMATCH NTStatus = 0xC022001A STATUS_FWP_INCOMPATIBLE_SA_STATE NTStatus = 0xC022001B STATUS_FWP_NULL_POINTER NTStatus = 0xC022001C STATUS_FWP_INVALID_ENUMERATOR NTStatus = 0xC022001D STATUS_FWP_INVALID_FLAGS NTStatus = 0xC022001E STATUS_FWP_INVALID_NET_MASK NTStatus = 0xC022001F STATUS_FWP_INVALID_RANGE NTStatus = 0xC0220020 STATUS_FWP_INVALID_INTERVAL NTStatus = 0xC0220021 STATUS_FWP_ZERO_LENGTH_ARRAY NTStatus = 0xC0220022 STATUS_FWP_NULL_DISPLAY_NAME NTStatus = 0xC0220023 STATUS_FWP_INVALID_ACTION_TYPE NTStatus = 0xC0220024 STATUS_FWP_INVALID_WEIGHT NTStatus = 0xC0220025 STATUS_FWP_MATCH_TYPE_MISMATCH NTStatus = 0xC0220026 STATUS_FWP_TYPE_MISMATCH NTStatus = 0xC0220027 STATUS_FWP_OUT_OF_BOUNDS NTStatus = 0xC0220028 STATUS_FWP_RESERVED NTStatus = 0xC0220029 STATUS_FWP_DUPLICATE_CONDITION NTStatus = 0xC022002A STATUS_FWP_DUPLICATE_KEYMOD NTStatus = 0xC022002B STATUS_FWP_ACTION_INCOMPATIBLE_WITH_LAYER NTStatus = 0xC022002C STATUS_FWP_ACTION_INCOMPATIBLE_WITH_SUBLAYER NTStatus = 0xC022002D STATUS_FWP_CONTEXT_INCOMPATIBLE_WITH_LAYER NTStatus = 0xC022002E STATUS_FWP_CONTEXT_INCOMPATIBLE_WITH_CALLOUT NTStatus = 0xC022002F STATUS_FWP_INCOMPATIBLE_AUTH_METHOD NTStatus = 0xC0220030 STATUS_FWP_INCOMPATIBLE_DH_GROUP NTStatus = 0xC0220031 STATUS_FWP_EM_NOT_SUPPORTED NTStatus = 0xC0220032 STATUS_FWP_NEVER_MATCH NTStatus = 0xC0220033 STATUS_FWP_PROVIDER_CONTEXT_MISMATCH NTStatus = 0xC0220034 STATUS_FWP_INVALID_PARAMETER NTStatus = 0xC0220035 STATUS_FWP_TOO_MANY_SUBLAYERS NTStatus = 0xC0220036 STATUS_FWP_CALLOUT_NOTIFICATION_FAILED NTStatus = 0xC0220037 STATUS_FWP_INVALID_AUTH_TRANSFORM NTStatus = 0xC0220038 STATUS_FWP_INVALID_CIPHER_TRANSFORM NTStatus = 0xC0220039 STATUS_FWP_INCOMPATIBLE_CIPHER_TRANSFORM NTStatus = 0xC022003A STATUS_FWP_INVALID_TRANSFORM_COMBINATION NTStatus = 0xC022003B STATUS_FWP_DUPLICATE_AUTH_METHOD NTStatus = 0xC022003C STATUS_FWP_INVALID_TUNNEL_ENDPOINT NTStatus = 0xC022003D STATUS_FWP_L2_DRIVER_NOT_READY NTStatus = 0xC022003E STATUS_FWP_KEY_DICTATOR_ALREADY_REGISTERED NTStatus = 0xC022003F STATUS_FWP_KEY_DICTATION_INVALID_KEYING_MATERIAL NTStatus = 0xC0220040 STATUS_FWP_CONNECTIONS_DISABLED NTStatus = 0xC0220041 STATUS_FWP_INVALID_DNS_NAME NTStatus = 0xC0220042 STATUS_FWP_STILL_ON NTStatus = 0xC0220043 STATUS_FWP_IKEEXT_NOT_RUNNING NTStatus = 0xC0220044 STATUS_FWP_TCPIP_NOT_READY NTStatus = 0xC0220100 STATUS_FWP_INJECT_HANDLE_CLOSING NTStatus = 0xC0220101 STATUS_FWP_INJECT_HANDLE_STALE NTStatus = 0xC0220102 STATUS_FWP_CANNOT_PEND NTStatus = 0xC0220103 STATUS_FWP_DROP_NOICMP NTStatus = 0xC0220104 STATUS_NDIS_CLOSING NTStatus = 0xC0230002 STATUS_NDIS_BAD_VERSION NTStatus = 0xC0230004 STATUS_NDIS_BAD_CHARACTERISTICS NTStatus = 0xC0230005 STATUS_NDIS_ADAPTER_NOT_FOUND NTStatus = 0xC0230006 STATUS_NDIS_OPEN_FAILED NTStatus = 0xC0230007 STATUS_NDIS_DEVICE_FAILED NTStatus = 0xC0230008 STATUS_NDIS_MULTICAST_FULL NTStatus = 0xC0230009 STATUS_NDIS_MULTICAST_EXISTS NTStatus = 0xC023000A STATUS_NDIS_MULTICAST_NOT_FOUND NTStatus = 0xC023000B STATUS_NDIS_REQUEST_ABORTED NTStatus = 0xC023000C STATUS_NDIS_RESET_IN_PROGRESS NTStatus = 0xC023000D STATUS_NDIS_NOT_SUPPORTED NTStatus = 0xC02300BB STATUS_NDIS_INVALID_PACKET NTStatus = 0xC023000F STATUS_NDIS_ADAPTER_NOT_READY NTStatus = 0xC0230011 STATUS_NDIS_INVALID_LENGTH NTStatus = 0xC0230014 STATUS_NDIS_INVALID_DATA NTStatus = 0xC0230015 STATUS_NDIS_BUFFER_TOO_SHORT NTStatus = 0xC0230016 STATUS_NDIS_INVALID_OID NTStatus = 0xC0230017 STATUS_NDIS_ADAPTER_REMOVED NTStatus = 0xC0230018 STATUS_NDIS_UNSUPPORTED_MEDIA NTStatus = 0xC0230019 STATUS_NDIS_GROUP_ADDRESS_IN_USE NTStatus = 0xC023001A STATUS_NDIS_FILE_NOT_FOUND NTStatus = 0xC023001B STATUS_NDIS_ERROR_READING_FILE NTStatus = 0xC023001C STATUS_NDIS_ALREADY_MAPPED NTStatus = 0xC023001D STATUS_NDIS_RESOURCE_CONFLICT NTStatus = 0xC023001E STATUS_NDIS_MEDIA_DISCONNECTED NTStatus = 0xC023001F STATUS_NDIS_INVALID_ADDRESS NTStatus = 0xC0230022 STATUS_NDIS_INVALID_DEVICE_REQUEST NTStatus = 0xC0230010 STATUS_NDIS_PAUSED NTStatus = 0xC023002A STATUS_NDIS_INTERFACE_NOT_FOUND NTStatus = 0xC023002B STATUS_NDIS_UNSUPPORTED_REVISION NTStatus = 0xC023002C STATUS_NDIS_INVALID_PORT NTStatus = 0xC023002D STATUS_NDIS_INVALID_PORT_STATE NTStatus = 0xC023002E STATUS_NDIS_LOW_POWER_STATE NTStatus = 0xC023002F STATUS_NDIS_REINIT_REQUIRED NTStatus = 0xC0230030 STATUS_NDIS_NO_QUEUES NTStatus = 0xC0230031 STATUS_NDIS_DOT11_AUTO_CONFIG_ENABLED NTStatus = 0xC0232000 STATUS_NDIS_DOT11_MEDIA_IN_USE NTStatus = 0xC0232001 STATUS_NDIS_DOT11_POWER_STATE_INVALID NTStatus = 0xC0232002 STATUS_NDIS_PM_WOL_PATTERN_LIST_FULL NTStatus = 0xC0232003 STATUS_NDIS_PM_PROTOCOL_OFFLOAD_LIST_FULL NTStatus = 0xC0232004 STATUS_NDIS_DOT11_AP_CHANNEL_CURRENTLY_NOT_AVAILABLE NTStatus = 0xC0232005 STATUS_NDIS_DOT11_AP_BAND_CURRENTLY_NOT_AVAILABLE NTStatus = 0xC0232006 STATUS_NDIS_DOT11_AP_CHANNEL_NOT_ALLOWED NTStatus = 0xC0232007 STATUS_NDIS_DOT11_AP_BAND_NOT_ALLOWED NTStatus = 0xC0232008 STATUS_NDIS_INDICATION_REQUIRED NTStatus = 0x40230001 STATUS_NDIS_OFFLOAD_POLICY NTStatus = 0xC023100F STATUS_NDIS_OFFLOAD_CONNECTION_REJECTED NTStatus = 0xC0231012 STATUS_NDIS_OFFLOAD_PATH_REJECTED NTStatus = 0xC0231013 STATUS_TPM_ERROR_MASK NTStatus = 0xC0290000 STATUS_TPM_AUTHFAIL NTStatus = 0xC0290001 STATUS_TPM_BADINDEX NTStatus = 0xC0290002 STATUS_TPM_BAD_PARAMETER NTStatus = 0xC0290003 STATUS_TPM_AUDITFAILURE NTStatus = 0xC0290004 STATUS_TPM_CLEAR_DISABLED NTStatus = 0xC0290005 STATUS_TPM_DEACTIVATED NTStatus = 0xC0290006 STATUS_TPM_DISABLED NTStatus = 0xC0290007 STATUS_TPM_DISABLED_CMD NTStatus = 0xC0290008 STATUS_TPM_FAIL NTStatus = 0xC0290009 STATUS_TPM_BAD_ORDINAL NTStatus = 0xC029000A STATUS_TPM_INSTALL_DISABLED NTStatus = 0xC029000B STATUS_TPM_INVALID_KEYHANDLE NTStatus = 0xC029000C STATUS_TPM_KEYNOTFOUND NTStatus = 0xC029000D STATUS_TPM_INAPPROPRIATE_ENC NTStatus = 0xC029000E STATUS_TPM_MIGRATEFAIL NTStatus = 0xC029000F STATUS_TPM_INVALID_PCR_INFO NTStatus = 0xC0290010 STATUS_TPM_NOSPACE NTStatus = 0xC0290011 STATUS_TPM_NOSRK NTStatus = 0xC0290012 STATUS_TPM_NOTSEALED_BLOB NTStatus = 0xC0290013 STATUS_TPM_OWNER_SET NTStatus = 0xC0290014 STATUS_TPM_RESOURCES NTStatus = 0xC0290015 STATUS_TPM_SHORTRANDOM NTStatus = 0xC0290016 STATUS_TPM_SIZE NTStatus = 0xC0290017 STATUS_TPM_WRONGPCRVAL NTStatus = 0xC0290018 STATUS_TPM_BAD_PARAM_SIZE NTStatus = 0xC0290019 STATUS_TPM_SHA_THREAD NTStatus = 0xC029001A STATUS_TPM_SHA_ERROR NTStatus = 0xC029001B STATUS_TPM_FAILEDSELFTEST NTStatus = 0xC029001C STATUS_TPM_AUTH2FAIL NTStatus = 0xC029001D STATUS_TPM_BADTAG NTStatus = 0xC029001E STATUS_TPM_IOERROR NTStatus = 0xC029001F STATUS_TPM_ENCRYPT_ERROR NTStatus = 0xC0290020 STATUS_TPM_DECRYPT_ERROR NTStatus = 0xC0290021 STATUS_TPM_INVALID_AUTHHANDLE NTStatus = 0xC0290022 STATUS_TPM_NO_ENDORSEMENT NTStatus = 0xC0290023 STATUS_TPM_INVALID_KEYUSAGE NTStatus = 0xC0290024 STATUS_TPM_WRONG_ENTITYTYPE NTStatus = 0xC0290025 STATUS_TPM_INVALID_POSTINIT NTStatus = 0xC0290026 STATUS_TPM_INAPPROPRIATE_SIG NTStatus = 0xC0290027 STATUS_TPM_BAD_KEY_PROPERTY NTStatus = 0xC0290028 STATUS_TPM_BAD_MIGRATION NTStatus = 0xC0290029 STATUS_TPM_BAD_SCHEME NTStatus = 0xC029002A STATUS_TPM_BAD_DATASIZE NTStatus = 0xC029002B STATUS_TPM_BAD_MODE NTStatus = 0xC029002C STATUS_TPM_BAD_PRESENCE NTStatus = 0xC029002D STATUS_TPM_BAD_VERSION NTStatus = 0xC029002E STATUS_TPM_NO_WRAP_TRANSPORT NTStatus = 0xC029002F STATUS_TPM_AUDITFAIL_UNSUCCESSFUL NTStatus = 0xC0290030 STATUS_TPM_AUDITFAIL_SUCCESSFUL NTStatus = 0xC0290031 STATUS_TPM_NOTRESETABLE NTStatus = 0xC0290032 STATUS_TPM_NOTLOCAL NTStatus = 0xC0290033 STATUS_TPM_BAD_TYPE NTStatus = 0xC0290034 STATUS_TPM_INVALID_RESOURCE NTStatus = 0xC0290035 STATUS_TPM_NOTFIPS NTStatus = 0xC0290036 STATUS_TPM_INVALID_FAMILY NTStatus = 0xC0290037 STATUS_TPM_NO_NV_PERMISSION NTStatus = 0xC0290038 STATUS_TPM_REQUIRES_SIGN NTStatus = 0xC0290039 STATUS_TPM_KEY_NOTSUPPORTED NTStatus = 0xC029003A STATUS_TPM_AUTH_CONFLICT NTStatus = 0xC029003B STATUS_TPM_AREA_LOCKED NTStatus = 0xC029003C STATUS_TPM_BAD_LOCALITY NTStatus = 0xC029003D STATUS_TPM_READ_ONLY NTStatus = 0xC029003E STATUS_TPM_PER_NOWRITE NTStatus = 0xC029003F STATUS_TPM_FAMILYCOUNT NTStatus = 0xC0290040 STATUS_TPM_WRITE_LOCKED NTStatus = 0xC0290041 STATUS_TPM_BAD_ATTRIBUTES NTStatus = 0xC0290042 STATUS_TPM_INVALID_STRUCTURE NTStatus = 0xC0290043 STATUS_TPM_KEY_OWNER_CONTROL NTStatus = 0xC0290044 STATUS_TPM_BAD_COUNTER NTStatus = 0xC0290045 STATUS_TPM_NOT_FULLWRITE NTStatus = 0xC0290046 STATUS_TPM_CONTEXT_GAP NTStatus = 0xC0290047 STATUS_TPM_MAXNVWRITES NTStatus = 0xC0290048 STATUS_TPM_NOOPERATOR NTStatus = 0xC0290049 STATUS_TPM_RESOURCEMISSING NTStatus = 0xC029004A STATUS_TPM_DELEGATE_LOCK NTStatus = 0xC029004B STATUS_TPM_DELEGATE_FAMILY NTStatus = 0xC029004C STATUS_TPM_DELEGATE_ADMIN NTStatus = 0xC029004D STATUS_TPM_TRANSPORT_NOTEXCLUSIVE NTStatus = 0xC029004E STATUS_TPM_OWNER_CONTROL NTStatus = 0xC029004F STATUS_TPM_DAA_RESOURCES NTStatus = 0xC0290050 STATUS_TPM_DAA_INPUT_DATA0 NTStatus = 0xC0290051 STATUS_TPM_DAA_INPUT_DATA1 NTStatus = 0xC0290052 STATUS_TPM_DAA_ISSUER_SETTINGS NTStatus = 0xC0290053 STATUS_TPM_DAA_TPM_SETTINGS NTStatus = 0xC0290054 STATUS_TPM_DAA_STAGE NTStatus = 0xC0290055 STATUS_TPM_DAA_ISSUER_VALIDITY NTStatus = 0xC0290056 STATUS_TPM_DAA_WRONG_W NTStatus = 0xC0290057 STATUS_TPM_BAD_HANDLE NTStatus = 0xC0290058 STATUS_TPM_BAD_DELEGATE NTStatus = 0xC0290059 STATUS_TPM_BADCONTEXT NTStatus = 0xC029005A STATUS_TPM_TOOMANYCONTEXTS NTStatus = 0xC029005B STATUS_TPM_MA_TICKET_SIGNATURE NTStatus = 0xC029005C STATUS_TPM_MA_DESTINATION NTStatus = 0xC029005D STATUS_TPM_MA_SOURCE NTStatus = 0xC029005E STATUS_TPM_MA_AUTHORITY NTStatus = 0xC029005F STATUS_TPM_PERMANENTEK NTStatus = 0xC0290061 STATUS_TPM_BAD_SIGNATURE NTStatus = 0xC0290062 STATUS_TPM_NOCONTEXTSPACE NTStatus = 0xC0290063 STATUS_TPM_20_E_ASYMMETRIC NTStatus = 0xC0290081 STATUS_TPM_20_E_ATTRIBUTES NTStatus = 0xC0290082 STATUS_TPM_20_E_HASH NTStatus = 0xC0290083 STATUS_TPM_20_E_VALUE NTStatus = 0xC0290084 STATUS_TPM_20_E_HIERARCHY NTStatus = 0xC0290085 STATUS_TPM_20_E_KEY_SIZE NTStatus = 0xC0290087 STATUS_TPM_20_E_MGF NTStatus = 0xC0290088 STATUS_TPM_20_E_MODE NTStatus = 0xC0290089 STATUS_TPM_20_E_TYPE NTStatus = 0xC029008A STATUS_TPM_20_E_HANDLE NTStatus = 0xC029008B STATUS_TPM_20_E_KDF NTStatus = 0xC029008C STATUS_TPM_20_E_RANGE NTStatus = 0xC029008D STATUS_TPM_20_E_AUTH_FAIL NTStatus = 0xC029008E STATUS_TPM_20_E_NONCE NTStatus = 0xC029008F STATUS_TPM_20_E_PP NTStatus = 0xC0290090 STATUS_TPM_20_E_SCHEME NTStatus = 0xC0290092 STATUS_TPM_20_E_SIZE NTStatus = 0xC0290095 STATUS_TPM_20_E_SYMMETRIC NTStatus = 0xC0290096 STATUS_TPM_20_E_TAG NTStatus = 0xC0290097 STATUS_TPM_20_E_SELECTOR NTStatus = 0xC0290098 STATUS_TPM_20_E_INSUFFICIENT NTStatus = 0xC029009A STATUS_TPM_20_E_SIGNATURE NTStatus = 0xC029009B STATUS_TPM_20_E_KEY NTStatus = 0xC029009C STATUS_TPM_20_E_POLICY_FAIL NTStatus = 0xC029009D STATUS_TPM_20_E_INTEGRITY NTStatus = 0xC029009F STATUS_TPM_20_E_TICKET NTStatus = 0xC02900A0 STATUS_TPM_20_E_RESERVED_BITS NTStatus = 0xC02900A1 STATUS_TPM_20_E_BAD_AUTH NTStatus = 0xC02900A2 STATUS_TPM_20_E_EXPIRED NTStatus = 0xC02900A3 STATUS_TPM_20_E_POLICY_CC NTStatus = 0xC02900A4 STATUS_TPM_20_E_BINDING NTStatus = 0xC02900A5 STATUS_TPM_20_E_CURVE NTStatus = 0xC02900A6 STATUS_TPM_20_E_ECC_POINT NTStatus = 0xC02900A7 STATUS_TPM_20_E_INITIALIZE NTStatus = 0xC0290100 STATUS_TPM_20_E_FAILURE NTStatus = 0xC0290101 STATUS_TPM_20_E_SEQUENCE NTStatus = 0xC0290103 STATUS_TPM_20_E_PRIVATE NTStatus = 0xC029010B STATUS_TPM_20_E_HMAC NTStatus = 0xC0290119 STATUS_TPM_20_E_DISABLED NTStatus = 0xC0290120 STATUS_TPM_20_E_EXCLUSIVE NTStatus = 0xC0290121 STATUS_TPM_20_E_ECC_CURVE NTStatus = 0xC0290123 STATUS_TPM_20_E_AUTH_TYPE NTStatus = 0xC0290124 STATUS_TPM_20_E_AUTH_MISSING NTStatus = 0xC0290125 STATUS_TPM_20_E_POLICY NTStatus = 0xC0290126 STATUS_TPM_20_E_PCR NTStatus = 0xC0290127 STATUS_TPM_20_E_PCR_CHANGED NTStatus = 0xC0290128 STATUS_TPM_20_E_UPGRADE NTStatus = 0xC029012D STATUS_TPM_20_E_TOO_MANY_CONTEXTS NTStatus = 0xC029012E STATUS_TPM_20_E_AUTH_UNAVAILABLE NTStatus = 0xC029012F STATUS_TPM_20_E_REBOOT NTStatus = 0xC0290130 STATUS_TPM_20_E_UNBALANCED NTStatus = 0xC0290131 STATUS_TPM_20_E_COMMAND_SIZE NTStatus = 0xC0290142 STATUS_TPM_20_E_COMMAND_CODE NTStatus = 0xC0290143 STATUS_TPM_20_E_AUTHSIZE NTStatus = 0xC0290144 STATUS_TPM_20_E_AUTH_CONTEXT NTStatus = 0xC0290145 STATUS_TPM_20_E_NV_RANGE NTStatus = 0xC0290146 STATUS_TPM_20_E_NV_SIZE NTStatus = 0xC0290147 STATUS_TPM_20_E_NV_LOCKED NTStatus = 0xC0290148 STATUS_TPM_20_E_NV_AUTHORIZATION NTStatus = 0xC0290149 STATUS_TPM_20_E_NV_UNINITIALIZED NTStatus = 0xC029014A STATUS_TPM_20_E_NV_SPACE NTStatus = 0xC029014B STATUS_TPM_20_E_NV_DEFINED NTStatus = 0xC029014C STATUS_TPM_20_E_BAD_CONTEXT NTStatus = 0xC0290150 STATUS_TPM_20_E_CPHASH NTStatus = 0xC0290151 STATUS_TPM_20_E_PARENT NTStatus = 0xC0290152 STATUS_TPM_20_E_NEEDS_TEST NTStatus = 0xC0290153 STATUS_TPM_20_E_NO_RESULT NTStatus = 0xC0290154 STATUS_TPM_20_E_SENSITIVE NTStatus = 0xC0290155 STATUS_TPM_COMMAND_BLOCKED NTStatus = 0xC0290400 STATUS_TPM_INVALID_HANDLE NTStatus = 0xC0290401 STATUS_TPM_DUPLICATE_VHANDLE NTStatus = 0xC0290402 STATUS_TPM_EMBEDDED_COMMAND_BLOCKED NTStatus = 0xC0290403 STATUS_TPM_EMBEDDED_COMMAND_UNSUPPORTED NTStatus = 0xC0290404 STATUS_TPM_RETRY NTStatus = 0xC0290800 STATUS_TPM_NEEDS_SELFTEST NTStatus = 0xC0290801 STATUS_TPM_DOING_SELFTEST NTStatus = 0xC0290802 STATUS_TPM_DEFEND_LOCK_RUNNING NTStatus = 0xC0290803 STATUS_TPM_COMMAND_CANCELED NTStatus = 0xC0291001 STATUS_TPM_TOO_MANY_CONTEXTS NTStatus = 0xC0291002 STATUS_TPM_NOT_FOUND NTStatus = 0xC0291003 STATUS_TPM_ACCESS_DENIED NTStatus = 0xC0291004 STATUS_TPM_INSUFFICIENT_BUFFER NTStatus = 0xC0291005 STATUS_TPM_PPI_FUNCTION_UNSUPPORTED NTStatus = 0xC0291006 STATUS_PCP_ERROR_MASK NTStatus = 0xC0292000 STATUS_PCP_DEVICE_NOT_READY NTStatus = 0xC0292001 STATUS_PCP_INVALID_HANDLE NTStatus = 0xC0292002 STATUS_PCP_INVALID_PARAMETER NTStatus = 0xC0292003 STATUS_PCP_FLAG_NOT_SUPPORTED NTStatus = 0xC0292004 STATUS_PCP_NOT_SUPPORTED NTStatus = 0xC0292005 STATUS_PCP_BUFFER_TOO_SMALL NTStatus = 0xC0292006 STATUS_PCP_INTERNAL_ERROR NTStatus = 0xC0292007 STATUS_PCP_AUTHENTICATION_FAILED NTStatus = 0xC0292008 STATUS_PCP_AUTHENTICATION_IGNORED NTStatus = 0xC0292009 STATUS_PCP_POLICY_NOT_FOUND NTStatus = 0xC029200A STATUS_PCP_PROFILE_NOT_FOUND NTStatus = 0xC029200B STATUS_PCP_VALIDATION_FAILED NTStatus = 0xC029200C STATUS_PCP_DEVICE_NOT_FOUND NTStatus = 0xC029200D STATUS_PCP_WRONG_PARENT NTStatus = 0xC029200E STATUS_PCP_KEY_NOT_LOADED NTStatus = 0xC029200F STATUS_PCP_NO_KEY_CERTIFICATION NTStatus = 0xC0292010 STATUS_PCP_KEY_NOT_FINALIZED NTStatus = 0xC0292011 STATUS_PCP_ATTESTATION_CHALLENGE_NOT_SET NTStatus = 0xC0292012 STATUS_PCP_NOT_PCR_BOUND NTStatus = 0xC0292013 STATUS_PCP_KEY_ALREADY_FINALIZED NTStatus = 0xC0292014 STATUS_PCP_KEY_USAGE_POLICY_NOT_SUPPORTED NTStatus = 0xC0292015 STATUS_PCP_KEY_USAGE_POLICY_INVALID NTStatus = 0xC0292016 STATUS_PCP_SOFT_KEY_ERROR NTStatus = 0xC0292017 STATUS_PCP_KEY_NOT_AUTHENTICATED NTStatus = 0xC0292018 STATUS_PCP_KEY_NOT_AIK NTStatus = 0xC0292019 STATUS_PCP_KEY_NOT_SIGNING_KEY NTStatus = 0xC029201A STATUS_PCP_LOCKED_OUT NTStatus = 0xC029201B STATUS_PCP_CLAIM_TYPE_NOT_SUPPORTED NTStatus = 0xC029201C STATUS_PCP_TPM_VERSION_NOT_SUPPORTED NTStatus = 0xC029201D STATUS_PCP_BUFFER_LENGTH_MISMATCH NTStatus = 0xC029201E STATUS_PCP_IFX_RSA_KEY_CREATION_BLOCKED NTStatus = 0xC029201F STATUS_PCP_TICKET_MISSING NTStatus = 0xC0292020 STATUS_PCP_RAW_POLICY_NOT_SUPPORTED NTStatus = 0xC0292021 STATUS_PCP_KEY_HANDLE_INVALIDATED NTStatus = 0xC0292022 STATUS_PCP_UNSUPPORTED_PSS_SALT NTStatus = 0x40292023 STATUS_RTPM_CONTEXT_CONTINUE NTStatus = 0x00293000 STATUS_RTPM_CONTEXT_COMPLETE NTStatus = 0x00293001 STATUS_RTPM_NO_RESULT NTStatus = 0xC0293002 STATUS_RTPM_PCR_READ_INCOMPLETE NTStatus = 0xC0293003 STATUS_RTPM_INVALID_CONTEXT NTStatus = 0xC0293004 STATUS_RTPM_UNSUPPORTED_CMD NTStatus = 0xC0293005 STATUS_TPM_ZERO_EXHAUST_ENABLED NTStatus = 0xC0294000 STATUS_HV_INVALID_HYPERCALL_CODE NTStatus = 0xC0350002 STATUS_HV_INVALID_HYPERCALL_INPUT NTStatus = 0xC0350003 STATUS_HV_INVALID_ALIGNMENT NTStatus = 0xC0350004 STATUS_HV_INVALID_PARAMETER NTStatus = 0xC0350005 STATUS_HV_ACCESS_DENIED NTStatus = 0xC0350006 STATUS_HV_INVALID_PARTITION_STATE NTStatus = 0xC0350007 STATUS_HV_OPERATION_DENIED NTStatus = 0xC0350008 STATUS_HV_UNKNOWN_PROPERTY NTStatus = 0xC0350009 STATUS_HV_PROPERTY_VALUE_OUT_OF_RANGE NTStatus = 0xC035000A STATUS_HV_INSUFFICIENT_MEMORY NTStatus = 0xC035000B STATUS_HV_PARTITION_TOO_DEEP NTStatus = 0xC035000C STATUS_HV_INVALID_PARTITION_ID NTStatus = 0xC035000D STATUS_HV_INVALID_VP_INDEX NTStatus = 0xC035000E STATUS_HV_INVALID_PORT_ID NTStatus = 0xC0350011 STATUS_HV_INVALID_CONNECTION_ID NTStatus = 0xC0350012 STATUS_HV_INSUFFICIENT_BUFFERS NTStatus = 0xC0350013 STATUS_HV_NOT_ACKNOWLEDGED NTStatus = 0xC0350014 STATUS_HV_INVALID_VP_STATE NTStatus = 0xC0350015 STATUS_HV_ACKNOWLEDGED NTStatus = 0xC0350016 STATUS_HV_INVALID_SAVE_RESTORE_STATE NTStatus = 0xC0350017 STATUS_HV_INVALID_SYNIC_STATE NTStatus = 0xC0350018 STATUS_HV_OBJECT_IN_USE NTStatus = 0xC0350019 STATUS_HV_INVALID_PROXIMITY_DOMAIN_INFO NTStatus = 0xC035001A STATUS_HV_NO_DATA NTStatus = 0xC035001B STATUS_HV_INACTIVE NTStatus = 0xC035001C STATUS_HV_NO_RESOURCES NTStatus = 0xC035001D STATUS_HV_FEATURE_UNAVAILABLE NTStatus = 0xC035001E STATUS_HV_INSUFFICIENT_BUFFER NTStatus = 0xC0350033 STATUS_HV_INSUFFICIENT_DEVICE_DOMAINS NTStatus = 0xC0350038 STATUS_HV_CPUID_FEATURE_VALIDATION_ERROR NTStatus = 0xC035003C STATUS_HV_CPUID_XSAVE_FEATURE_VALIDATION_ERROR NTStatus = 0xC035003D STATUS_HV_PROCESSOR_STARTUP_TIMEOUT NTStatus = 0xC035003E STATUS_HV_SMX_ENABLED NTStatus = 0xC035003F STATUS_HV_INVALID_LP_INDEX NTStatus = 0xC0350041 STATUS_HV_INVALID_REGISTER_VALUE NTStatus = 0xC0350050 STATUS_HV_INVALID_VTL_STATE NTStatus = 0xC0350051 STATUS_HV_NX_NOT_DETECTED NTStatus = 0xC0350055 STATUS_HV_INVALID_DEVICE_ID NTStatus = 0xC0350057 STATUS_HV_INVALID_DEVICE_STATE NTStatus = 0xC0350058 STATUS_HV_PENDING_PAGE_REQUESTS NTStatus = 0x00350059 STATUS_HV_PAGE_REQUEST_INVALID NTStatus = 0xC0350060 STATUS_HV_INVALID_CPU_GROUP_ID NTStatus = 0xC035006F STATUS_HV_INVALID_CPU_GROUP_STATE NTStatus = 0xC0350070 STATUS_HV_OPERATION_FAILED NTStatus = 0xC0350071 STATUS_HV_NOT_ALLOWED_WITH_NESTED_VIRT_ACTIVE NTStatus = 0xC0350072 STATUS_HV_INSUFFICIENT_ROOT_MEMORY NTStatus = 0xC0350073 STATUS_HV_NOT_PRESENT NTStatus = 0xC0351000 STATUS_VID_DUPLICATE_HANDLER NTStatus = 0xC0370001 STATUS_VID_TOO_MANY_HANDLERS NTStatus = 0xC0370002 STATUS_VID_QUEUE_FULL NTStatus = 0xC0370003 STATUS_VID_HANDLER_NOT_PRESENT NTStatus = 0xC0370004 STATUS_VID_INVALID_OBJECT_NAME NTStatus = 0xC0370005 STATUS_VID_PARTITION_NAME_TOO_LONG NTStatus = 0xC0370006 STATUS_VID_MESSAGE_QUEUE_NAME_TOO_LONG NTStatus = 0xC0370007 STATUS_VID_PARTITION_ALREADY_EXISTS NTStatus = 0xC0370008 STATUS_VID_PARTITION_DOES_NOT_EXIST NTStatus = 0xC0370009 STATUS_VID_PARTITION_NAME_NOT_FOUND NTStatus = 0xC037000A STATUS_VID_MESSAGE_QUEUE_ALREADY_EXISTS NTStatus = 0xC037000B STATUS_VID_EXCEEDED_MBP_ENTRY_MAP_LIMIT NTStatus = 0xC037000C STATUS_VID_MB_STILL_REFERENCED NTStatus = 0xC037000D STATUS_VID_CHILD_GPA_PAGE_SET_CORRUPTED NTStatus = 0xC037000E STATUS_VID_INVALID_NUMA_SETTINGS NTStatus = 0xC037000F STATUS_VID_INVALID_NUMA_NODE_INDEX NTStatus = 0xC0370010 STATUS_VID_NOTIFICATION_QUEUE_ALREADY_ASSOCIATED NTStatus = 0xC0370011 STATUS_VID_INVALID_MEMORY_BLOCK_HANDLE NTStatus = 0xC0370012 STATUS_VID_PAGE_RANGE_OVERFLOW NTStatus = 0xC0370013 STATUS_VID_INVALID_MESSAGE_QUEUE_HANDLE NTStatus = 0xC0370014 STATUS_VID_INVALID_GPA_RANGE_HANDLE NTStatus = 0xC0370015 STATUS_VID_NO_MEMORY_BLOCK_NOTIFICATION_QUEUE NTStatus = 0xC0370016 STATUS_VID_MEMORY_BLOCK_LOCK_COUNT_EXCEEDED NTStatus = 0xC0370017 STATUS_VID_INVALID_PPM_HANDLE NTStatus = 0xC0370018 STATUS_VID_MBPS_ARE_LOCKED NTStatus = 0xC0370019 STATUS_VID_MESSAGE_QUEUE_CLOSED NTStatus = 0xC037001A STATUS_VID_VIRTUAL_PROCESSOR_LIMIT_EXCEEDED NTStatus = 0xC037001B STATUS_VID_STOP_PENDING NTStatus = 0xC037001C STATUS_VID_INVALID_PROCESSOR_STATE NTStatus = 0xC037001D STATUS_VID_EXCEEDED_KM_CONTEXT_COUNT_LIMIT NTStatus = 0xC037001E STATUS_VID_KM_INTERFACE_ALREADY_INITIALIZED NTStatus = 0xC037001F STATUS_VID_MB_PROPERTY_ALREADY_SET_RESET NTStatus = 0xC0370020 STATUS_VID_MMIO_RANGE_DESTROYED NTStatus = 0xC0370021 STATUS_VID_INVALID_CHILD_GPA_PAGE_SET NTStatus = 0xC0370022 STATUS_VID_RESERVE_PAGE_SET_IS_BEING_USED NTStatus = 0xC0370023 STATUS_VID_RESERVE_PAGE_SET_TOO_SMALL NTStatus = 0xC0370024 STATUS_VID_MBP_ALREADY_LOCKED_USING_RESERVED_PAGE NTStatus = 0xC0370025 STATUS_VID_MBP_COUNT_EXCEEDED_LIMIT NTStatus = 0xC0370026 STATUS_VID_SAVED_STATE_CORRUPT NTStatus = 0xC0370027 STATUS_VID_SAVED_STATE_UNRECOGNIZED_ITEM NTStatus = 0xC0370028 STATUS_VID_SAVED_STATE_INCOMPATIBLE NTStatus = 0xC0370029 STATUS_VID_VTL_ACCESS_DENIED NTStatus = 0xC037002A STATUS_VID_REMOTE_NODE_PARENT_GPA_PAGES_USED NTStatus = 0x80370001 STATUS_IPSEC_BAD_SPI NTStatus = 0xC0360001 STATUS_IPSEC_SA_LIFETIME_EXPIRED NTStatus = 0xC0360002 STATUS_IPSEC_WRONG_SA NTStatus = 0xC0360003 STATUS_IPSEC_REPLAY_CHECK_FAILED NTStatus = 0xC0360004 STATUS_IPSEC_INVALID_PACKET NTStatus = 0xC0360005 STATUS_IPSEC_INTEGRITY_CHECK_FAILED NTStatus = 0xC0360006 STATUS_IPSEC_CLEAR_TEXT_DROP NTStatus = 0xC0360007 STATUS_IPSEC_AUTH_FIREWALL_DROP NTStatus = 0xC0360008 STATUS_IPSEC_THROTTLE_DROP NTStatus = 0xC0360009 STATUS_IPSEC_DOSP_BLOCK NTStatus = 0xC0368000 STATUS_IPSEC_DOSP_RECEIVED_MULTICAST NTStatus = 0xC0368001 STATUS_IPSEC_DOSP_INVALID_PACKET NTStatus = 0xC0368002 STATUS_IPSEC_DOSP_STATE_LOOKUP_FAILED NTStatus = 0xC0368003 STATUS_IPSEC_DOSP_MAX_ENTRIES NTStatus = 0xC0368004 STATUS_IPSEC_DOSP_KEYMOD_NOT_ALLOWED NTStatus = 0xC0368005 STATUS_IPSEC_DOSP_MAX_PER_IP_RATELIMIT_QUEUES NTStatus = 0xC0368006 STATUS_VOLMGR_INCOMPLETE_REGENERATION NTStatus = 0x80380001 STATUS_VOLMGR_INCOMPLETE_DISK_MIGRATION NTStatus = 0x80380002 STATUS_VOLMGR_DATABASE_FULL NTStatus = 0xC0380001 STATUS_VOLMGR_DISK_CONFIGURATION_CORRUPTED NTStatus = 0xC0380002 STATUS_VOLMGR_DISK_CONFIGURATION_NOT_IN_SYNC NTStatus = 0xC0380003 STATUS_VOLMGR_PACK_CONFIG_UPDATE_FAILED NTStatus = 0xC0380004 STATUS_VOLMGR_DISK_CONTAINS_NON_SIMPLE_VOLUME NTStatus = 0xC0380005 STATUS_VOLMGR_DISK_DUPLICATE NTStatus = 0xC0380006 STATUS_VOLMGR_DISK_DYNAMIC NTStatus = 0xC0380007 STATUS_VOLMGR_DISK_ID_INVALID NTStatus = 0xC0380008 STATUS_VOLMGR_DISK_INVALID NTStatus = 0xC0380009 STATUS_VOLMGR_DISK_LAST_VOTER NTStatus = 0xC038000A STATUS_VOLMGR_DISK_LAYOUT_INVALID NTStatus = 0xC038000B STATUS_VOLMGR_DISK_LAYOUT_NON_BASIC_BETWEEN_BASIC_PARTITIONS NTStatus = 0xC038000C STATUS_VOLMGR_DISK_LAYOUT_NOT_CYLINDER_ALIGNED NTStatus = 0xC038000D STATUS_VOLMGR_DISK_LAYOUT_PARTITIONS_TOO_SMALL NTStatus = 0xC038000E STATUS_VOLMGR_DISK_LAYOUT_PRIMARY_BETWEEN_LOGICAL_PARTITIONS NTStatus = 0xC038000F STATUS_VOLMGR_DISK_LAYOUT_TOO_MANY_PARTITIONS NTStatus = 0xC0380010 STATUS_VOLMGR_DISK_MISSING NTStatus = 0xC0380011 STATUS_VOLMGR_DISK_NOT_EMPTY NTStatus = 0xC0380012 STATUS_VOLMGR_DISK_NOT_ENOUGH_SPACE NTStatus = 0xC0380013 STATUS_VOLMGR_DISK_REVECTORING_FAILED NTStatus = 0xC0380014 STATUS_VOLMGR_DISK_SECTOR_SIZE_INVALID NTStatus = 0xC0380015 STATUS_VOLMGR_DISK_SET_NOT_CONTAINED NTStatus = 0xC0380016 STATUS_VOLMGR_DISK_USED_BY_MULTIPLE_MEMBERS NTStatus = 0xC0380017 STATUS_VOLMGR_DISK_USED_BY_MULTIPLE_PLEXES NTStatus = 0xC0380018 STATUS_VOLMGR_DYNAMIC_DISK_NOT_SUPPORTED NTStatus = 0xC0380019 STATUS_VOLMGR_EXTENT_ALREADY_USED NTStatus = 0xC038001A STATUS_VOLMGR_EXTENT_NOT_CONTIGUOUS NTStatus = 0xC038001B STATUS_VOLMGR_EXTENT_NOT_IN_PUBLIC_REGION NTStatus = 0xC038001C STATUS_VOLMGR_EXTENT_NOT_SECTOR_ALIGNED NTStatus = 0xC038001D STATUS_VOLMGR_EXTENT_OVERLAPS_EBR_PARTITION NTStatus = 0xC038001E STATUS_VOLMGR_EXTENT_VOLUME_LENGTHS_DO_NOT_MATCH NTStatus = 0xC038001F STATUS_VOLMGR_FAULT_TOLERANT_NOT_SUPPORTED NTStatus = 0xC0380020 STATUS_VOLMGR_INTERLEAVE_LENGTH_INVALID NTStatus = 0xC0380021 STATUS_VOLMGR_MAXIMUM_REGISTERED_USERS NTStatus = 0xC0380022 STATUS_VOLMGR_MEMBER_IN_SYNC NTStatus = 0xC0380023 STATUS_VOLMGR_MEMBER_INDEX_DUPLICATE NTStatus = 0xC0380024 STATUS_VOLMGR_MEMBER_INDEX_INVALID NTStatus = 0xC0380025 STATUS_VOLMGR_MEMBER_MISSING NTStatus = 0xC0380026 STATUS_VOLMGR_MEMBER_NOT_DETACHED NTStatus = 0xC0380027 STATUS_VOLMGR_MEMBER_REGENERATING NTStatus = 0xC0380028 STATUS_VOLMGR_ALL_DISKS_FAILED NTStatus = 0xC0380029 STATUS_VOLMGR_NO_REGISTERED_USERS NTStatus = 0xC038002A STATUS_VOLMGR_NO_SUCH_USER NTStatus = 0xC038002B STATUS_VOLMGR_NOTIFICATION_RESET NTStatus = 0xC038002C STATUS_VOLMGR_NUMBER_OF_MEMBERS_INVALID NTStatus = 0xC038002D STATUS_VOLMGR_NUMBER_OF_PLEXES_INVALID NTStatus = 0xC038002E STATUS_VOLMGR_PACK_DUPLICATE NTStatus = 0xC038002F STATUS_VOLMGR_PACK_ID_INVALID NTStatus = 0xC0380030 STATUS_VOLMGR_PACK_INVALID NTStatus = 0xC0380031 STATUS_VOLMGR_PACK_NAME_INVALID NTStatus = 0xC0380032 STATUS_VOLMGR_PACK_OFFLINE NTStatus = 0xC0380033 STATUS_VOLMGR_PACK_HAS_QUORUM NTStatus = 0xC0380034 STATUS_VOLMGR_PACK_WITHOUT_QUORUM NTStatus = 0xC0380035 STATUS_VOLMGR_PARTITION_STYLE_INVALID NTStatus = 0xC0380036 STATUS_VOLMGR_PARTITION_UPDATE_FAILED NTStatus = 0xC0380037 STATUS_VOLMGR_PLEX_IN_SYNC NTStatus = 0xC0380038 STATUS_VOLMGR_PLEX_INDEX_DUPLICATE NTStatus = 0xC0380039 STATUS_VOLMGR_PLEX_INDEX_INVALID NTStatus = 0xC038003A STATUS_VOLMGR_PLEX_LAST_ACTIVE NTStatus = 0xC038003B STATUS_VOLMGR_PLEX_MISSING NTStatus = 0xC038003C STATUS_VOLMGR_PLEX_REGENERATING NTStatus = 0xC038003D STATUS_VOLMGR_PLEX_TYPE_INVALID NTStatus = 0xC038003E STATUS_VOLMGR_PLEX_NOT_RAID5 NTStatus = 0xC038003F STATUS_VOLMGR_PLEX_NOT_SIMPLE NTStatus = 0xC0380040 STATUS_VOLMGR_STRUCTURE_SIZE_INVALID NTStatus = 0xC0380041 STATUS_VOLMGR_TOO_MANY_NOTIFICATION_REQUESTS NTStatus = 0xC0380042 STATUS_VOLMGR_TRANSACTION_IN_PROGRESS NTStatus = 0xC0380043 STATUS_VOLMGR_UNEXPECTED_DISK_LAYOUT_CHANGE NTStatus = 0xC0380044 STATUS_VOLMGR_VOLUME_CONTAINS_MISSING_DISK NTStatus = 0xC0380045 STATUS_VOLMGR_VOLUME_ID_INVALID NTStatus = 0xC0380046 STATUS_VOLMGR_VOLUME_LENGTH_INVALID NTStatus = 0xC0380047 STATUS_VOLMGR_VOLUME_LENGTH_NOT_SECTOR_SIZE_MULTIPLE NTStatus = 0xC0380048 STATUS_VOLMGR_VOLUME_NOT_MIRRORED NTStatus = 0xC0380049 STATUS_VOLMGR_VOLUME_NOT_RETAINED NTStatus = 0xC038004A STATUS_VOLMGR_VOLUME_OFFLINE NTStatus = 0xC038004B STATUS_VOLMGR_VOLUME_RETAINED NTStatus = 0xC038004C STATUS_VOLMGR_NUMBER_OF_EXTENTS_INVALID NTStatus = 0xC038004D STATUS_VOLMGR_DIFFERENT_SECTOR_SIZE NTStatus = 0xC038004E STATUS_VOLMGR_BAD_BOOT_DISK NTStatus = 0xC038004F STATUS_VOLMGR_PACK_CONFIG_OFFLINE NTStatus = 0xC0380050 STATUS_VOLMGR_PACK_CONFIG_ONLINE NTStatus = 0xC0380051 STATUS_VOLMGR_NOT_PRIMARY_PACK NTStatus = 0xC0380052 STATUS_VOLMGR_PACK_LOG_UPDATE_FAILED NTStatus = 0xC0380053 STATUS_VOLMGR_NUMBER_OF_DISKS_IN_PLEX_INVALID NTStatus = 0xC0380054 STATUS_VOLMGR_NUMBER_OF_DISKS_IN_MEMBER_INVALID NTStatus = 0xC0380055 STATUS_VOLMGR_VOLUME_MIRRORED NTStatus = 0xC0380056 STATUS_VOLMGR_PLEX_NOT_SIMPLE_SPANNED NTStatus = 0xC0380057 STATUS_VOLMGR_NO_VALID_LOG_COPIES NTStatus = 0xC0380058 STATUS_VOLMGR_PRIMARY_PACK_PRESENT NTStatus = 0xC0380059 STATUS_VOLMGR_NUMBER_OF_DISKS_INVALID NTStatus = 0xC038005A STATUS_VOLMGR_MIRROR_NOT_SUPPORTED NTStatus = 0xC038005B STATUS_VOLMGR_RAID5_NOT_SUPPORTED NTStatus = 0xC038005C STATUS_BCD_NOT_ALL_ENTRIES_IMPORTED NTStatus = 0x80390001 STATUS_BCD_TOO_MANY_ELEMENTS NTStatus = 0xC0390002 STATUS_BCD_NOT_ALL_ENTRIES_SYNCHRONIZED NTStatus = 0x80390003 STATUS_VHD_DRIVE_FOOTER_MISSING NTStatus = 0xC03A0001 STATUS_VHD_DRIVE_FOOTER_CHECKSUM_MISMATCH NTStatus = 0xC03A0002 STATUS_VHD_DRIVE_FOOTER_CORRUPT NTStatus = 0xC03A0003 STATUS_VHD_FORMAT_UNKNOWN NTStatus = 0xC03A0004 STATUS_VHD_FORMAT_UNSUPPORTED_VERSION NTStatus = 0xC03A0005 STATUS_VHD_SPARSE_HEADER_CHECKSUM_MISMATCH NTStatus = 0xC03A0006 STATUS_VHD_SPARSE_HEADER_UNSUPPORTED_VERSION NTStatus = 0xC03A0007 STATUS_VHD_SPARSE_HEADER_CORRUPT NTStatus = 0xC03A0008 STATUS_VHD_BLOCK_ALLOCATION_FAILURE NTStatus = 0xC03A0009 STATUS_VHD_BLOCK_ALLOCATION_TABLE_CORRUPT NTStatus = 0xC03A000A STATUS_VHD_INVALID_BLOCK_SIZE NTStatus = 0xC03A000B STATUS_VHD_BITMAP_MISMATCH NTStatus = 0xC03A000C STATUS_VHD_PARENT_VHD_NOT_FOUND NTStatus = 0xC03A000D STATUS_VHD_CHILD_PARENT_ID_MISMATCH NTStatus = 0xC03A000E STATUS_VHD_CHILD_PARENT_TIMESTAMP_MISMATCH NTStatus = 0xC03A000F STATUS_VHD_METADATA_READ_FAILURE NTStatus = 0xC03A0010 STATUS_VHD_METADATA_WRITE_FAILURE NTStatus = 0xC03A0011 STATUS_VHD_INVALID_SIZE NTStatus = 0xC03A0012 STATUS_VHD_INVALID_FILE_SIZE NTStatus = 0xC03A0013 STATUS_VIRTDISK_PROVIDER_NOT_FOUND NTStatus = 0xC03A0014 STATUS_VIRTDISK_NOT_VIRTUAL_DISK NTStatus = 0xC03A0015 STATUS_VHD_PARENT_VHD_ACCESS_DENIED NTStatus = 0xC03A0016 STATUS_VHD_CHILD_PARENT_SIZE_MISMATCH NTStatus = 0xC03A0017 STATUS_VHD_DIFFERENCING_CHAIN_CYCLE_DETECTED NTStatus = 0xC03A0018 STATUS_VHD_DIFFERENCING_CHAIN_ERROR_IN_PARENT NTStatus = 0xC03A0019 STATUS_VIRTUAL_DISK_LIMITATION NTStatus = 0xC03A001A STATUS_VHD_INVALID_TYPE NTStatus = 0xC03A001B STATUS_VHD_INVALID_STATE NTStatus = 0xC03A001C STATUS_VIRTDISK_UNSUPPORTED_DISK_SECTOR_SIZE NTStatus = 0xC03A001D STATUS_VIRTDISK_DISK_ALREADY_OWNED NTStatus = 0xC03A001E STATUS_VIRTDISK_DISK_ONLINE_AND_WRITABLE NTStatus = 0xC03A001F STATUS_CTLOG_TRACKING_NOT_INITIALIZED NTStatus = 0xC03A0020 STATUS_CTLOG_LOGFILE_SIZE_EXCEEDED_MAXSIZE NTStatus = 0xC03A0021 STATUS_CTLOG_VHD_CHANGED_OFFLINE NTStatus = 0xC03A0022 STATUS_CTLOG_INVALID_TRACKING_STATE NTStatus = 0xC03A0023 STATUS_CTLOG_INCONSISTENT_TRACKING_FILE NTStatus = 0xC03A0024 STATUS_VHD_METADATA_FULL NTStatus = 0xC03A0028 STATUS_VHD_INVALID_CHANGE_TRACKING_ID NTStatus = 0xC03A0029 STATUS_VHD_CHANGE_TRACKING_DISABLED NTStatus = 0xC03A002A STATUS_VHD_MISSING_CHANGE_TRACKING_INFORMATION NTStatus = 0xC03A0030 STATUS_VHD_RESIZE_WOULD_TRUNCATE_DATA NTStatus = 0xC03A0031 STATUS_VHD_COULD_NOT_COMPUTE_MINIMUM_VIRTUAL_SIZE NTStatus = 0xC03A0032 STATUS_VHD_ALREADY_AT_OR_BELOW_MINIMUM_VIRTUAL_SIZE NTStatus = 0xC03A0033 STATUS_QUERY_STORAGE_ERROR NTStatus = 0x803A0001 STATUS_GDI_HANDLE_LEAK NTStatus = 0x803F0001 STATUS_RKF_KEY_NOT_FOUND NTStatus = 0xC0400001 STATUS_RKF_DUPLICATE_KEY NTStatus = 0xC0400002 STATUS_RKF_BLOB_FULL NTStatus = 0xC0400003 STATUS_RKF_STORE_FULL NTStatus = 0xC0400004 STATUS_RKF_FILE_BLOCKED NTStatus = 0xC0400005 STATUS_RKF_ACTIVE_KEY NTStatus = 0xC0400006 STATUS_RDBSS_RESTART_OPERATION NTStatus = 0xC0410001 STATUS_RDBSS_CONTINUE_OPERATION NTStatus = 0xC0410002 STATUS_RDBSS_POST_OPERATION NTStatus = 0xC0410003 STATUS_RDBSS_RETRY_LOOKUP NTStatus = 0xC0410004 STATUS_BTH_ATT_INVALID_HANDLE NTStatus = 0xC0420001 STATUS_BTH_ATT_READ_NOT_PERMITTED NTStatus = 0xC0420002 STATUS_BTH_ATT_WRITE_NOT_PERMITTED NTStatus = 0xC0420003 STATUS_BTH_ATT_INVALID_PDU NTStatus = 0xC0420004 STATUS_BTH_ATT_INSUFFICIENT_AUTHENTICATION NTStatus = 0xC0420005 STATUS_BTH_ATT_REQUEST_NOT_SUPPORTED NTStatus = 0xC0420006 STATUS_BTH_ATT_INVALID_OFFSET NTStatus = 0xC0420007 STATUS_BTH_ATT_INSUFFICIENT_AUTHORIZATION NTStatus = 0xC0420008 STATUS_BTH_ATT_PREPARE_QUEUE_FULL NTStatus = 0xC0420009 STATUS_BTH_ATT_ATTRIBUTE_NOT_FOUND NTStatus = 0xC042000A STATUS_BTH_ATT_ATTRIBUTE_NOT_LONG NTStatus = 0xC042000B STATUS_BTH_ATT_INSUFFICIENT_ENCRYPTION_KEY_SIZE NTStatus = 0xC042000C STATUS_BTH_ATT_INVALID_ATTRIBUTE_VALUE_LENGTH NTStatus = 0xC042000D STATUS_BTH_ATT_UNLIKELY NTStatus = 0xC042000E STATUS_BTH_ATT_INSUFFICIENT_ENCRYPTION NTStatus = 0xC042000F STATUS_BTH_ATT_UNSUPPORTED_GROUP_TYPE NTStatus = 0xC0420010 STATUS_BTH_ATT_INSUFFICIENT_RESOURCES NTStatus = 0xC0420011 STATUS_BTH_ATT_UNKNOWN_ERROR NTStatus = 0xC0421000 STATUS_SECUREBOOT_ROLLBACK_DETECTED NTStatus = 0xC0430001 STATUS_SECUREBOOT_POLICY_VIOLATION NTStatus = 0xC0430002 STATUS_SECUREBOOT_INVALID_POLICY NTStatus = 0xC0430003 STATUS_SECUREBOOT_POLICY_PUBLISHER_NOT_FOUND NTStatus = 0xC0430004 STATUS_SECUREBOOT_POLICY_NOT_SIGNED NTStatus = 0xC0430005 STATUS_SECUREBOOT_NOT_ENABLED NTStatus = 0x80430006 STATUS_SECUREBOOT_FILE_REPLACED NTStatus = 0xC0430007 STATUS_SECUREBOOT_POLICY_NOT_AUTHORIZED NTStatus = 0xC0430008 STATUS_SECUREBOOT_POLICY_UNKNOWN NTStatus = 0xC0430009 STATUS_SECUREBOOT_POLICY_MISSING_ANTIROLLBACKVERSION NTStatus = 0xC043000A STATUS_SECUREBOOT_PLATFORM_ID_MISMATCH NTStatus = 0xC043000B STATUS_SECUREBOOT_POLICY_ROLLBACK_DETECTED NTStatus = 0xC043000C STATUS_SECUREBOOT_POLICY_UPGRADE_MISMATCH NTStatus = 0xC043000D STATUS_SECUREBOOT_REQUIRED_POLICY_FILE_MISSING NTStatus = 0xC043000E STATUS_SECUREBOOT_NOT_BASE_POLICY NTStatus = 0xC043000F STATUS_SECUREBOOT_NOT_SUPPLEMENTAL_POLICY NTStatus = 0xC0430010 STATUS_PLATFORM_MANIFEST_NOT_AUTHORIZED NTStatus = 0xC0EB0001 STATUS_PLATFORM_MANIFEST_INVALID NTStatus = 0xC0EB0002 STATUS_PLATFORM_MANIFEST_FILE_NOT_AUTHORIZED NTStatus = 0xC0EB0003 STATUS_PLATFORM_MANIFEST_CATALOG_NOT_AUTHORIZED NTStatus = 0xC0EB0004 STATUS_PLATFORM_MANIFEST_BINARY_ID_NOT_FOUND NTStatus = 0xC0EB0005 STATUS_PLATFORM_MANIFEST_NOT_ACTIVE NTStatus = 0xC0EB0006 STATUS_PLATFORM_MANIFEST_NOT_SIGNED NTStatus = 0xC0EB0007 STATUS_SYSTEM_INTEGRITY_ROLLBACK_DETECTED NTStatus = 0xC0E90001 STATUS_SYSTEM_INTEGRITY_POLICY_VIOLATION NTStatus = 0xC0E90002 STATUS_SYSTEM_INTEGRITY_INVALID_POLICY NTStatus = 0xC0E90003 STATUS_SYSTEM_INTEGRITY_POLICY_NOT_SIGNED NTStatus = 0xC0E90004 STATUS_SYSTEM_INTEGRITY_TOO_MANY_POLICIES NTStatus = 0xC0E90005 STATUS_SYSTEM_INTEGRITY_SUPPLEMENTAL_POLICY_NOT_AUTHORIZED NTStatus = 0xC0E90006 STATUS_NO_APPLICABLE_APP_LICENSES_FOUND NTStatus = 0xC0EA0001 STATUS_CLIP_LICENSE_NOT_FOUND NTStatus = 0xC0EA0002 STATUS_CLIP_DEVICE_LICENSE_MISSING NTStatus = 0xC0EA0003 STATUS_CLIP_LICENSE_INVALID_SIGNATURE NTStatus = 0xC0EA0004 STATUS_CLIP_KEYHOLDER_LICENSE_MISSING_OR_INVALID NTStatus = 0xC0EA0005 STATUS_CLIP_LICENSE_EXPIRED NTStatus = 0xC0EA0006 STATUS_CLIP_LICENSE_SIGNED_BY_UNKNOWN_SOURCE NTStatus = 0xC0EA0007 STATUS_CLIP_LICENSE_NOT_SIGNED NTStatus = 0xC0EA0008 STATUS_CLIP_LICENSE_HARDWARE_ID_OUT_OF_TOLERANCE NTStatus = 0xC0EA0009 STATUS_CLIP_LICENSE_DEVICE_ID_MISMATCH NTStatus = 0xC0EA000A STATUS_AUDIO_ENGINE_NODE_NOT_FOUND NTStatus = 0xC0440001 STATUS_HDAUDIO_EMPTY_CONNECTION_LIST NTStatus = 0xC0440002 STATUS_HDAUDIO_CONNECTION_LIST_NOT_SUPPORTED NTStatus = 0xC0440003 STATUS_HDAUDIO_NO_LOGICAL_DEVICES_CREATED NTStatus = 0xC0440004 STATUS_HDAUDIO_NULL_LINKED_LIST_ENTRY NTStatus = 0xC0440005 STATUS_SPACES_REPAIRED NTStatus = 0x00E70000 STATUS_SPACES_PAUSE NTStatus = 0x00E70001 STATUS_SPACES_COMPLETE NTStatus = 0x00E70002 STATUS_SPACES_REDIRECT NTStatus = 0x00E70003 STATUS_SPACES_FAULT_DOMAIN_TYPE_INVALID NTStatus = 0xC0E70001 STATUS_SPACES_RESILIENCY_TYPE_INVALID NTStatus = 0xC0E70003 STATUS_SPACES_DRIVE_SECTOR_SIZE_INVALID NTStatus = 0xC0E70004 STATUS_SPACES_DRIVE_REDUNDANCY_INVALID NTStatus = 0xC0E70006 STATUS_SPACES_NUMBER_OF_DATA_COPIES_INVALID NTStatus = 0xC0E70007 STATUS_SPACES_INTERLEAVE_LENGTH_INVALID NTStatus = 0xC0E70009 STATUS_SPACES_NUMBER_OF_COLUMNS_INVALID NTStatus = 0xC0E7000A STATUS_SPACES_NOT_ENOUGH_DRIVES NTStatus = 0xC0E7000B STATUS_SPACES_EXTENDED_ERROR NTStatus = 0xC0E7000C STATUS_SPACES_PROVISIONING_TYPE_INVALID NTStatus = 0xC0E7000D STATUS_SPACES_ALLOCATION_SIZE_INVALID NTStatus = 0xC0E7000E STATUS_SPACES_ENCLOSURE_AWARE_INVALID NTStatus = 0xC0E7000F STATUS_SPACES_WRITE_CACHE_SIZE_INVALID NTStatus = 0xC0E70010 STATUS_SPACES_NUMBER_OF_GROUPS_INVALID NTStatus = 0xC0E70011 STATUS_SPACES_DRIVE_OPERATIONAL_STATE_INVALID NTStatus = 0xC0E70012 STATUS_SPACES_UPDATE_COLUMN_STATE NTStatus = 0xC0E70013 STATUS_SPACES_MAP_REQUIRED NTStatus = 0xC0E70014 STATUS_SPACES_UNSUPPORTED_VERSION NTStatus = 0xC0E70015 STATUS_SPACES_CORRUPT_METADATA NTStatus = 0xC0E70016 STATUS_SPACES_DRT_FULL NTStatus = 0xC0E70017 STATUS_SPACES_INCONSISTENCY NTStatus = 0xC0E70018 STATUS_SPACES_LOG_NOT_READY NTStatus = 0xC0E70019 STATUS_SPACES_NO_REDUNDANCY NTStatus = 0xC0E7001A STATUS_SPACES_DRIVE_NOT_READY NTStatus = 0xC0E7001B STATUS_SPACES_DRIVE_SPLIT NTStatus = 0xC0E7001C STATUS_SPACES_DRIVE_LOST_DATA NTStatus = 0xC0E7001D STATUS_SPACES_ENTRY_INCOMPLETE NTStatus = 0xC0E7001E STATUS_SPACES_ENTRY_INVALID NTStatus = 0xC0E7001F STATUS_SPACES_MARK_DIRTY NTStatus = 0xC0E70020 STATUS_VOLSNAP_BOOTFILE_NOT_VALID NTStatus = 0xC0500003 STATUS_VOLSNAP_ACTIVATION_TIMEOUT NTStatus = 0xC0500004 STATUS_IO_PREEMPTED NTStatus = 0xC0510001 STATUS_SVHDX_ERROR_STORED NTStatus = 0xC05C0000 STATUS_SVHDX_ERROR_NOT_AVAILABLE NTStatus = 0xC05CFF00 STATUS_SVHDX_UNIT_ATTENTION_AVAILABLE NTStatus = 0xC05CFF01 STATUS_SVHDX_UNIT_ATTENTION_CAPACITY_DATA_CHANGED NTStatus = 0xC05CFF02 STATUS_SVHDX_UNIT_ATTENTION_RESERVATIONS_PREEMPTED NTStatus = 0xC05CFF03 STATUS_SVHDX_UNIT_ATTENTION_RESERVATIONS_RELEASED NTStatus = 0xC05CFF04 STATUS_SVHDX_UNIT_ATTENTION_REGISTRATIONS_PREEMPTED NTStatus = 0xC05CFF05 STATUS_SVHDX_UNIT_ATTENTION_OPERATING_DEFINITION_CHANGED NTStatus = 0xC05CFF06 STATUS_SVHDX_RESERVATION_CONFLICT NTStatus = 0xC05CFF07 STATUS_SVHDX_WRONG_FILE_TYPE NTStatus = 0xC05CFF08 STATUS_SVHDX_VERSION_MISMATCH NTStatus = 0xC05CFF09 STATUS_VHD_SHARED NTStatus = 0xC05CFF0A STATUS_SVHDX_NO_INITIATOR NTStatus = 0xC05CFF0B STATUS_VHDSET_BACKING_STORAGE_NOT_FOUND NTStatus = 0xC05CFF0C STATUS_SMB_NO_PREAUTH_INTEGRITY_HASH_OVERLAP NTStatus = 0xC05D0000 STATUS_SMB_BAD_CLUSTER_DIALECT NTStatus = 0xC05D0001 STATUS_SMB_GUEST_LOGON_BLOCKED NTStatus = 0xC05D0002 STATUS_SECCORE_INVALID_COMMAND NTStatus = 0xC0E80000 STATUS_VSM_NOT_INITIALIZED NTStatus = 0xC0450000 STATUS_VSM_DMA_PROTECTION_NOT_IN_USE NTStatus = 0xC0450001 STATUS_APPEXEC_CONDITION_NOT_SATISFIED NTStatus = 0xC0EC0000 STATUS_APPEXEC_HANDLE_INVALIDATED NTStatus = 0xC0EC0001 STATUS_APPEXEC_INVALID_HOST_GENERATION NTStatus = 0xC0EC0002 STATUS_APPEXEC_UNEXPECTED_PROCESS_REGISTRATION NTStatus = 0xC0EC0003 STATUS_APPEXEC_INVALID_HOST_STATE NTStatus = 0xC0EC0004 STATUS_APPEXEC_NO_DONOR NTStatus = 0xC0EC0005 STATUS_APPEXEC_HOST_ID_MISMATCH NTStatus = 0xC0EC0006 STATUS_APPEXEC_UNKNOWN_USER NTStatus = 0xC0EC0007 ) dependencies/pkg/mod/golang.org/x/sys@v0.26.0/windows/env_windows.go0000644000000000000000000000252715107355264024217 0ustar rootroot// 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. // Windows environment variables. package windows import ( "syscall" "unsafe" ) 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() } // Returns a default environment associated with the token, rather than the current // process. If inheritExisting is true, then this environment also inherits the // environment of the current process. func (token Token) Environ(inheritExisting bool) (env []string, err error) { var block *uint16 err = CreateEnvironmentBlock(&block, token, inheritExisting) if err != nil { return nil, err } defer DestroyEnvironmentBlock(block) size := unsafe.Sizeof(*block) for *block != 0 { // find NUL terminator end := unsafe.Pointer(block) for *(*uint16)(end) != 0 { end = unsafe.Add(end, size) } entry := unsafe.Slice(block, (uintptr(end)-uintptr(unsafe.Pointer(block)))/size) env = append(env, UTF16ToString(entry)) block = (*uint16)(unsafe.Add(end, size)) } return env, nil } func Unsetenv(key string) error { return syscall.Unsetenv(key) } dependencies/pkg/mod/golang.org/x/sys@v0.26.0/windows/env_windows_test.go0000644000000000000000000000212615107355264025251 0ustar rootroot// Copyright 2024 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:build go1.21 package windows_test import ( "fmt" "slices" "testing" "golang.org/x/sys/windows" ) func TestEnvironUTF8(t *testing.T) { testEnvVariable1Key := "__GO_X_SYS_WINDOWS_ENV_WINDOWS_TEST_VAR_BEAVER" testEnvVariable1Val := "🦫" t.Setenv(testEnvVariable1Key, testEnvVariable1Val) testEnvVariable2Key := "__GO_X_SYS_WINDOWS_ENV_WINDOWS_TEST_VAR_WHALE" testEnvVariable2Val := "🐳" t.Setenv(testEnvVariable2Key, testEnvVariable2Val) var userToken windows.Token env, err := userToken.Environ(true) if err != nil { t.Error(err) } testEnvVariable1 := fmt.Sprintf("%s=%s", testEnvVariable1Key, testEnvVariable1Val) if !slices.Contains(env, testEnvVariable1) { t.Fatalf("expected to find %s in env", testEnvVariable1) } testEnvVariable2 := fmt.Sprintf("%s=%s", testEnvVariable2Key, testEnvVariable2Val) if !slices.Contains(env, testEnvVariable2) { t.Fatalf("expected to find %s in env", testEnvVariable2) } } dependencies/pkg/mod/golang.org/x/sys@v0.26.0/windows/str.go0000644000000000000000000000077015107355264022463 0ustar rootroot// 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. //go:build windows package windows func itoa(val int) string { // do it here rather than with fmt to avoid dependency if val < 0 { return "-" + itoa(-val) } 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:]) } dependencies/pkg/mod/golang.org/x/sys@v0.26.0/windows/syscall_windows.go0000644000000000000000000024700315107355264025101 0ustar rootroot// 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. // Windows system calls. package windows import ( errorspkg "errors" "fmt" "runtime" "sync" "syscall" "time" "unicode/utf16" "unsafe" ) type ( Handle uintptr HWND uintptr ) const ( InvalidHandle = ^Handle(0) InvalidHWND = ^HWND(0) // Flags for DefineDosDevice. DDD_EXACT_MATCH_ON_REMOVE = 0x00000004 DDD_NO_BROADCAST_SYSTEM = 0x00000008 DDD_RAW_TARGET_PATH = 0x00000001 DDD_REMOVE_DEFINITION = 0x00000002 // Return values for GetDriveType. DRIVE_UNKNOWN = 0 DRIVE_NO_ROOT_DIR = 1 DRIVE_REMOVABLE = 2 DRIVE_FIXED = 3 DRIVE_REMOTE = 4 DRIVE_CDROM = 5 DRIVE_RAMDISK = 6 // File system flags from GetVolumeInformation and GetVolumeInformationByHandle. FILE_CASE_SENSITIVE_SEARCH = 0x00000001 FILE_CASE_PRESERVED_NAMES = 0x00000002 FILE_FILE_COMPRESSION = 0x00000010 FILE_DAX_VOLUME = 0x20000000 FILE_NAMED_STREAMS = 0x00040000 FILE_PERSISTENT_ACLS = 0x00000008 FILE_READ_ONLY_VOLUME = 0x00080000 FILE_SEQUENTIAL_WRITE_ONCE = 0x00100000 FILE_SUPPORTS_ENCRYPTION = 0x00020000 FILE_SUPPORTS_EXTENDED_ATTRIBUTES = 0x00800000 FILE_SUPPORTS_HARD_LINKS = 0x00400000 FILE_SUPPORTS_OBJECT_IDS = 0x00010000 FILE_SUPPORTS_OPEN_BY_FILE_ID = 0x01000000 FILE_SUPPORTS_REPARSE_POINTS = 0x00000080 FILE_SUPPORTS_SPARSE_FILES = 0x00000040 FILE_SUPPORTS_TRANSACTIONS = 0x00200000 FILE_SUPPORTS_USN_JOURNAL = 0x02000000 FILE_UNICODE_ON_DISK = 0x00000004 FILE_VOLUME_IS_COMPRESSED = 0x00008000 FILE_VOLUME_QUOTAS = 0x00000020 // Flags for LockFileEx. LOCKFILE_FAIL_IMMEDIATELY = 0x00000001 LOCKFILE_EXCLUSIVE_LOCK = 0x00000002 // Return value of SleepEx and other APC functions WAIT_IO_COMPLETION = 0x000000C0 ) // StringToUTF16 is deprecated. Use UTF16FromString instead. // If s contains a NUL byte this function panics instead of // returning an error. func StringToUTF16(s string) []uint16 { a, err := UTF16FromString(s) if err != nil { panic("windows: string with NUL passed to StringToUTF16") } return a } // UTF16FromString returns the UTF-16 encoding of the UTF-8 string // s, with a terminating NUL added. If s contains a NUL byte at any // location, it returns (nil, syscall.EINVAL). func UTF16FromString(s string) ([]uint16, error) { return syscall.UTF16FromString(s) } // UTF16ToString returns the UTF-8 encoding of the UTF-16 sequence s, // with a terminating NUL and any bytes after the NUL removed. func UTF16ToString(s []uint16) string { return syscall.UTF16ToString(s) } // StringToUTF16Ptr is deprecated. Use UTF16PtrFromString instead. // If s contains a NUL byte this function panics instead of // returning an error. func StringToUTF16Ptr(s string) *uint16 { return &StringToUTF16(s)[0] } // UTF16PtrFromString returns pointer to the UTF-16 encoding of // the UTF-8 string s, with a terminating NUL added. If s // contains a NUL byte at any location, it returns (nil, syscall.EINVAL). func UTF16PtrFromString(s string) (*uint16, error) { a, err := UTF16FromString(s) if err != nil { return nil, err } return &a[0], nil } // UTF16PtrToString takes a pointer to a UTF-16 sequence and returns the corresponding UTF-8 encoded string. // If the pointer is nil, it returns the empty string. It assumes that the UTF-16 sequence is terminated // at a zero word; if the zero word is not present, the program may crash. func UTF16PtrToString(p *uint16) string { if p == nil { return "" } if *p == 0 { return "" } // Find NUL terminator. n := 0 for ptr := unsafe.Pointer(p); *(*uint16)(ptr) != 0; n++ { ptr = unsafe.Pointer(uintptr(ptr) + unsafe.Sizeof(*p)) } return UTF16ToString(unsafe.Slice(p, n)) } func Getpagesize() int { return 4096 } // NewCallback converts a Go function to a function pointer conforming to the stdcall calling convention. // This is useful when interoperating with Windows code requiring callbacks. // The argument is expected to be a function with one uintptr-sized result. The function must not have arguments with size larger than the size of uintptr. func NewCallback(fn interface{}) uintptr { return syscall.NewCallback(fn) } // NewCallbackCDecl converts a Go function to a function pointer conforming to the cdecl calling convention. // This is useful when interoperating with Windows code requiring callbacks. // The argument is expected to be a function with one uintptr-sized result. The function must not have arguments with size larger than the size of uintptr. func NewCallbackCDecl(fn interface{}) uintptr { return syscall.NewCallbackCDecl(fn) } // windows api calls //sys GetLastError() (lasterr error) //sys LoadLibrary(libname string) (handle Handle, err error) = LoadLibraryW //sys LoadLibraryEx(libname string, zero Handle, flags uintptr) (handle Handle, err error) = LoadLibraryExW //sys FreeLibrary(handle Handle) (err error) //sys GetProcAddress(module Handle, procname string) (proc uintptr, err error) //sys GetModuleFileName(module Handle, filename *uint16, size uint32) (n uint32, err error) = kernel32.GetModuleFileNameW //sys GetModuleHandleEx(flags uint32, moduleName *uint16, module *Handle) (err error) = kernel32.GetModuleHandleExW //sys SetDefaultDllDirectories(directoryFlags uint32) (err error) //sys AddDllDirectory(path *uint16) (cookie uintptr, err error) = kernel32.AddDllDirectory //sys RemoveDllDirectory(cookie uintptr) (err error) = kernel32.RemoveDllDirectory //sys SetDllDirectory(path string) (err error) = kernel32.SetDllDirectoryW //sys GetVersion() (ver uint32, err error) //sys FormatMessage(flags uint32, msgsrc uintptr, msgid uint32, langid uint32, buf []uint16, args *byte) (n uint32, err error) = FormatMessageW //sys ExitProcess(exitcode uint32) //sys IsWow64Process(handle Handle, isWow64 *bool) (err error) = IsWow64Process //sys IsWow64Process2(handle Handle, processMachine *uint16, nativeMachine *uint16) (err error) = IsWow64Process2? //sys CreateFile(name *uint16, access uint32, mode uint32, sa *SecurityAttributes, createmode uint32, attrs uint32, templatefile Handle) (handle Handle, err error) [failretval==InvalidHandle] = CreateFileW //sys CreateNamedPipe(name *uint16, flags uint32, pipeMode uint32, maxInstances uint32, outSize uint32, inSize uint32, defaultTimeout uint32, sa *SecurityAttributes) (handle Handle, err error) [failretval==InvalidHandle] = CreateNamedPipeW //sys ConnectNamedPipe(pipe Handle, overlapped *Overlapped) (err error) //sys DisconnectNamedPipe(pipe Handle) (err error) //sys GetNamedPipeInfo(pipe Handle, flags *uint32, outSize *uint32, inSize *uint32, maxInstances *uint32) (err error) //sys GetNamedPipeHandleState(pipe Handle, state *uint32, curInstances *uint32, maxCollectionCount *uint32, collectDataTimeout *uint32, userName *uint16, maxUserNameSize uint32) (err error) = GetNamedPipeHandleStateW //sys SetNamedPipeHandleState(pipe Handle, state *uint32, maxCollectionCount *uint32, collectDataTimeout *uint32) (err error) = SetNamedPipeHandleState //sys readFile(handle Handle, buf []byte, done *uint32, overlapped *Overlapped) (err error) = ReadFile //sys writeFile(handle Handle, buf []byte, done *uint32, overlapped *Overlapped) (err error) = WriteFile //sys GetOverlappedResult(handle Handle, overlapped *Overlapped, done *uint32, wait bool) (err error) //sys SetFilePointer(handle Handle, lowoffset int32, highoffsetptr *int32, whence uint32) (newlowoffset uint32, err error) [failretval==0xffffffff] //sys CloseHandle(handle Handle) (err error) //sys GetStdHandle(stdhandle uint32) (handle Handle, err error) [failretval==InvalidHandle] //sys SetStdHandle(stdhandle uint32, handle Handle) (err error) //sys findFirstFile1(name *uint16, data *win32finddata1) (handle Handle, err error) [failretval==InvalidHandle] = FindFirstFileW //sys findNextFile1(handle Handle, data *win32finddata1) (err error) = FindNextFileW //sys FindClose(handle Handle) (err error) //sys GetFileInformationByHandle(handle Handle, data *ByHandleFileInformation) (err error) //sys GetFileInformationByHandleEx(handle Handle, class uint32, outBuffer *byte, outBufferLen uint32) (err error) //sys SetFileInformationByHandle(handle Handle, class uint32, inBuffer *byte, inBufferLen uint32) (err error) //sys GetCurrentDirectory(buflen uint32, buf *uint16) (n uint32, err error) = GetCurrentDirectoryW //sys SetCurrentDirectory(path *uint16) (err error) = SetCurrentDirectoryW //sys CreateDirectory(path *uint16, sa *SecurityAttributes) (err error) = CreateDirectoryW //sys RemoveDirectory(path *uint16) (err error) = RemoveDirectoryW //sys DeleteFile(path *uint16) (err error) = DeleteFileW //sys MoveFile(from *uint16, to *uint16) (err error) = MoveFileW //sys MoveFileEx(from *uint16, to *uint16, flags uint32) (err error) = MoveFileExW //sys LockFileEx(file Handle, flags uint32, reserved uint32, bytesLow uint32, bytesHigh uint32, overlapped *Overlapped) (err error) //sys UnlockFileEx(file Handle, reserved uint32, bytesLow uint32, bytesHigh uint32, overlapped *Overlapped) (err error) //sys GetComputerName(buf *uint16, n *uint32) (err error) = GetComputerNameW //sys GetComputerNameEx(nametype uint32, buf *uint16, n *uint32) (err error) = GetComputerNameExW //sys SetEndOfFile(handle Handle) (err error) //sys SetFileValidData(handle Handle, validDataLength int64) (err error) //sys GetSystemTimeAsFileTime(time *Filetime) //sys GetSystemTimePreciseAsFileTime(time *Filetime) //sys GetTimeZoneInformation(tzi *Timezoneinformation) (rc uint32, err error) [failretval==0xffffffff] //sys CreateIoCompletionPort(filehandle Handle, cphandle Handle, key uintptr, threadcnt uint32) (handle Handle, err error) //sys GetQueuedCompletionStatus(cphandle Handle, qty *uint32, key *uintptr, overlapped **Overlapped, timeout uint32) (err error) //sys PostQueuedCompletionStatus(cphandle Handle, qty uint32, key uintptr, overlapped *Overlapped) (err error) //sys CancelIo(s Handle) (err error) //sys CancelIoEx(s Handle, o *Overlapped) (err error) //sys CreateProcess(appName *uint16, commandLine *uint16, procSecurity *SecurityAttributes, threadSecurity *SecurityAttributes, inheritHandles bool, creationFlags uint32, env *uint16, currentDir *uint16, startupInfo *StartupInfo, outProcInfo *ProcessInformation) (err error) = CreateProcessW //sys CreateProcessAsUser(token Token, appName *uint16, commandLine *uint16, procSecurity *SecurityAttributes, threadSecurity *SecurityAttributes, inheritHandles bool, creationFlags uint32, env *uint16, currentDir *uint16, startupInfo *StartupInfo, outProcInfo *ProcessInformation) (err error) = advapi32.CreateProcessAsUserW //sys initializeProcThreadAttributeList(attrlist *ProcThreadAttributeList, attrcount uint32, flags uint32, size *uintptr) (err error) = InitializeProcThreadAttributeList //sys deleteProcThreadAttributeList(attrlist *ProcThreadAttributeList) = DeleteProcThreadAttributeList //sys updateProcThreadAttribute(attrlist *ProcThreadAttributeList, flags uint32, attr uintptr, value unsafe.Pointer, size uintptr, prevvalue unsafe.Pointer, returnedsize *uintptr) (err error) = UpdateProcThreadAttribute //sys OpenProcess(desiredAccess uint32, inheritHandle bool, processId uint32) (handle Handle, err error) //sys ShellExecute(hwnd Handle, verb *uint16, file *uint16, args *uint16, cwd *uint16, showCmd int32) (err error) [failretval<=32] = shell32.ShellExecuteW //sys GetWindowThreadProcessId(hwnd HWND, pid *uint32) (tid uint32, err error) = user32.GetWindowThreadProcessId //sys LoadKeyboardLayout(name *uint16, flags uint32) (hkl Handle, err error) [failretval==0] = user32.LoadKeyboardLayoutW //sys UnloadKeyboardLayout(hkl Handle) (err error) = user32.UnloadKeyboardLayout //sys GetKeyboardLayout(tid uint32) (hkl Handle) = user32.GetKeyboardLayout //sys ToUnicodeEx(vkey uint32, scancode uint32, keystate *byte, pwszBuff *uint16, cchBuff int32, flags uint32, hkl Handle) (ret int32) = user32.ToUnicodeEx //sys GetShellWindow() (shellWindow HWND) = user32.GetShellWindow //sys MessageBox(hwnd HWND, text *uint16, caption *uint16, boxtype uint32) (ret int32, err error) [failretval==0] = user32.MessageBoxW //sys ExitWindowsEx(flags uint32, reason uint32) (err error) = user32.ExitWindowsEx //sys shGetKnownFolderPath(id *KNOWNFOLDERID, flags uint32, token Token, path **uint16) (ret error) = shell32.SHGetKnownFolderPath //sys TerminateProcess(handle Handle, exitcode uint32) (err error) //sys GetExitCodeProcess(handle Handle, exitcode *uint32) (err error) //sys getStartupInfo(startupInfo *StartupInfo) = GetStartupInfoW //sys GetProcessTimes(handle Handle, creationTime *Filetime, exitTime *Filetime, kernelTime *Filetime, userTime *Filetime) (err error) //sys DuplicateHandle(hSourceProcessHandle Handle, hSourceHandle Handle, hTargetProcessHandle Handle, lpTargetHandle *Handle, dwDesiredAccess uint32, bInheritHandle bool, dwOptions uint32) (err error) //sys WaitForSingleObject(handle Handle, waitMilliseconds uint32) (event uint32, err error) [failretval==0xffffffff] //sys waitForMultipleObjects(count uint32, handles uintptr, waitAll bool, waitMilliseconds uint32) (event uint32, err error) [failretval==0xffffffff] = WaitForMultipleObjects //sys GetTempPath(buflen uint32, buf *uint16) (n uint32, err error) = GetTempPathW //sys CreatePipe(readhandle *Handle, writehandle *Handle, sa *SecurityAttributes, size uint32) (err error) //sys GetFileType(filehandle Handle) (n uint32, err error) //sys CryptAcquireContext(provhandle *Handle, container *uint16, provider *uint16, provtype uint32, flags uint32) (err error) = advapi32.CryptAcquireContextW //sys CryptReleaseContext(provhandle Handle, flags uint32) (err error) = advapi32.CryptReleaseContext //sys CryptGenRandom(provhandle Handle, buflen uint32, buf *byte) (err error) = advapi32.CryptGenRandom //sys GetEnvironmentStrings() (envs *uint16, err error) [failretval==nil] = kernel32.GetEnvironmentStringsW //sys FreeEnvironmentStrings(envs *uint16) (err error) = kernel32.FreeEnvironmentStringsW //sys GetEnvironmentVariable(name *uint16, buffer *uint16, size uint32) (n uint32, err error) = kernel32.GetEnvironmentVariableW //sys SetEnvironmentVariable(name *uint16, value *uint16) (err error) = kernel32.SetEnvironmentVariableW //sys ExpandEnvironmentStrings(src *uint16, dst *uint16, size uint32) (n uint32, err error) = kernel32.ExpandEnvironmentStringsW //sys CreateEnvironmentBlock(block **uint16, token Token, inheritExisting bool) (err error) = userenv.CreateEnvironmentBlock //sys DestroyEnvironmentBlock(block *uint16) (err error) = userenv.DestroyEnvironmentBlock //sys getTickCount64() (ms uint64) = kernel32.GetTickCount64 //sys GetFileTime(handle Handle, ctime *Filetime, atime *Filetime, wtime *Filetime) (err error) //sys SetFileTime(handle Handle, ctime *Filetime, atime *Filetime, wtime *Filetime) (err error) //sys GetFileAttributes(name *uint16) (attrs uint32, err error) [failretval==INVALID_FILE_ATTRIBUTES] = kernel32.GetFileAttributesW //sys SetFileAttributes(name *uint16, attrs uint32) (err error) = kernel32.SetFileAttributesW //sys GetFileAttributesEx(name *uint16, level uint32, info *byte) (err error) = kernel32.GetFileAttributesExW //sys GetCommandLine() (cmd *uint16) = kernel32.GetCommandLineW //sys commandLineToArgv(cmd *uint16, argc *int32) (argv **uint16, err error) [failretval==nil] = shell32.CommandLineToArgvW //sys LocalFree(hmem Handle) (handle Handle, err error) [failretval!=0] //sys LocalAlloc(flags uint32, length uint32) (ptr uintptr, err error) //sys SetHandleInformation(handle Handle, mask uint32, flags uint32) (err error) //sys FlushFileBuffers(handle Handle) (err error) //sys GetFullPathName(path *uint16, buflen uint32, buf *uint16, fname **uint16) (n uint32, err error) = kernel32.GetFullPathNameW //sys GetLongPathName(path *uint16, buf *uint16, buflen uint32) (n uint32, err error) = kernel32.GetLongPathNameW //sys GetShortPathName(longpath *uint16, shortpath *uint16, buflen uint32) (n uint32, err error) = kernel32.GetShortPathNameW //sys GetFinalPathNameByHandle(file Handle, filePath *uint16, filePathSize uint32, flags uint32) (n uint32, err error) = kernel32.GetFinalPathNameByHandleW //sys CreateFileMapping(fhandle Handle, sa *SecurityAttributes, prot uint32, maxSizeHigh uint32, maxSizeLow uint32, name *uint16) (handle Handle, err error) [failretval == 0 || e1 == ERROR_ALREADY_EXISTS] = kernel32.CreateFileMappingW //sys MapViewOfFile(handle Handle, access uint32, offsetHigh uint32, offsetLow uint32, length uintptr) (addr uintptr, err error) //sys UnmapViewOfFile(addr uintptr) (err error) //sys FlushViewOfFile(addr uintptr, length uintptr) (err error) //sys VirtualLock(addr uintptr, length uintptr) (err error) //sys VirtualUnlock(addr uintptr, length uintptr) (err error) //sys VirtualAlloc(address uintptr, size uintptr, alloctype uint32, protect uint32) (value uintptr, err error) = kernel32.VirtualAlloc //sys VirtualFree(address uintptr, size uintptr, freetype uint32) (err error) = kernel32.VirtualFree //sys VirtualProtect(address uintptr, size uintptr, newprotect uint32, oldprotect *uint32) (err error) = kernel32.VirtualProtect //sys VirtualProtectEx(process Handle, address uintptr, size uintptr, newProtect uint32, oldProtect *uint32) (err error) = kernel32.VirtualProtectEx //sys VirtualQuery(address uintptr, buffer *MemoryBasicInformation, length uintptr) (err error) = kernel32.VirtualQuery //sys VirtualQueryEx(process Handle, address uintptr, buffer *MemoryBasicInformation, length uintptr) (err error) = kernel32.VirtualQueryEx //sys ReadProcessMemory(process Handle, baseAddress uintptr, buffer *byte, size uintptr, numberOfBytesRead *uintptr) (err error) = kernel32.ReadProcessMemory //sys WriteProcessMemory(process Handle, baseAddress uintptr, buffer *byte, size uintptr, numberOfBytesWritten *uintptr) (err error) = kernel32.WriteProcessMemory //sys TransmitFile(s Handle, handle Handle, bytesToWrite uint32, bytsPerSend uint32, overlapped *Overlapped, transmitFileBuf *TransmitFileBuffers, flags uint32) (err error) = mswsock.TransmitFile //sys ReadDirectoryChanges(handle Handle, buf *byte, buflen uint32, watchSubTree bool, mask uint32, retlen *uint32, overlapped *Overlapped, completionRoutine uintptr) (err error) = kernel32.ReadDirectoryChangesW //sys FindFirstChangeNotification(path string, watchSubtree bool, notifyFilter uint32) (handle Handle, err error) [failretval==InvalidHandle] = kernel32.FindFirstChangeNotificationW //sys FindNextChangeNotification(handle Handle) (err error) //sys FindCloseChangeNotification(handle Handle) (err error) //sys CertOpenSystemStore(hprov Handle, name *uint16) (store Handle, err error) = crypt32.CertOpenSystemStoreW //sys CertOpenStore(storeProvider uintptr, msgAndCertEncodingType uint32, cryptProv uintptr, flags uint32, para uintptr) (handle Handle, err error) = crypt32.CertOpenStore //sys CertEnumCertificatesInStore(store Handle, prevContext *CertContext) (context *CertContext, err error) [failretval==nil] = crypt32.CertEnumCertificatesInStore //sys CertAddCertificateContextToStore(store Handle, certContext *CertContext, addDisposition uint32, storeContext **CertContext) (err error) = crypt32.CertAddCertificateContextToStore //sys CertCloseStore(store Handle, flags uint32) (err error) = crypt32.CertCloseStore //sys CertDeleteCertificateFromStore(certContext *CertContext) (err error) = crypt32.CertDeleteCertificateFromStore //sys CertDuplicateCertificateContext(certContext *CertContext) (dupContext *CertContext) = crypt32.CertDuplicateCertificateContext //sys PFXImportCertStore(pfx *CryptDataBlob, password *uint16, flags uint32) (store Handle, err error) = crypt32.PFXImportCertStore //sys CertGetCertificateChain(engine Handle, leaf *CertContext, time *Filetime, additionalStore Handle, para *CertChainPara, flags uint32, reserved uintptr, chainCtx **CertChainContext) (err error) = crypt32.CertGetCertificateChain //sys CertFreeCertificateChain(ctx *CertChainContext) = crypt32.CertFreeCertificateChain //sys CertCreateCertificateContext(certEncodingType uint32, certEncoded *byte, encodedLen uint32) (context *CertContext, err error) [failretval==nil] = crypt32.CertCreateCertificateContext //sys CertFreeCertificateContext(ctx *CertContext) (err error) = crypt32.CertFreeCertificateContext //sys CertVerifyCertificateChainPolicy(policyOID uintptr, chain *CertChainContext, para *CertChainPolicyPara, status *CertChainPolicyStatus) (err error) = crypt32.CertVerifyCertificateChainPolicy //sys CertGetNameString(certContext *CertContext, nameType uint32, flags uint32, typePara unsafe.Pointer, name *uint16, size uint32) (chars uint32) = crypt32.CertGetNameStringW //sys CertFindExtension(objId *byte, countExtensions uint32, extensions *CertExtension) (ret *CertExtension) = crypt32.CertFindExtension //sys CertFindCertificateInStore(store Handle, certEncodingType uint32, findFlags uint32, findType uint32, findPara unsafe.Pointer, prevCertContext *CertContext) (cert *CertContext, err error) [failretval==nil] = crypt32.CertFindCertificateInStore //sys CertFindChainInStore(store Handle, certEncodingType uint32, findFlags uint32, findType uint32, findPara unsafe.Pointer, prevChainContext *CertChainContext) (certchain *CertChainContext, err error) [failretval==nil] = crypt32.CertFindChainInStore //sys CryptAcquireCertificatePrivateKey(cert *CertContext, flags uint32, parameters unsafe.Pointer, cryptProvOrNCryptKey *Handle, keySpec *uint32, callerFreeProvOrNCryptKey *bool) (err error) = crypt32.CryptAcquireCertificatePrivateKey //sys CryptQueryObject(objectType uint32, object unsafe.Pointer, expectedContentTypeFlags uint32, expectedFormatTypeFlags uint32, flags uint32, msgAndCertEncodingType *uint32, contentType *uint32, formatType *uint32, certStore *Handle, msg *Handle, context *unsafe.Pointer) (err error) = crypt32.CryptQueryObject //sys CryptDecodeObject(encodingType uint32, structType *byte, encodedBytes *byte, lenEncodedBytes uint32, flags uint32, decoded unsafe.Pointer, decodedLen *uint32) (err error) = crypt32.CryptDecodeObject //sys CryptProtectData(dataIn *DataBlob, name *uint16, optionalEntropy *DataBlob, reserved uintptr, promptStruct *CryptProtectPromptStruct, flags uint32, dataOut *DataBlob) (err error) = crypt32.CryptProtectData //sys CryptUnprotectData(dataIn *DataBlob, name **uint16, optionalEntropy *DataBlob, reserved uintptr, promptStruct *CryptProtectPromptStruct, flags uint32, dataOut *DataBlob) (err error) = crypt32.CryptUnprotectData //sys WinVerifyTrustEx(hwnd HWND, actionId *GUID, data *WinTrustData) (ret error) = wintrust.WinVerifyTrustEx //sys RegOpenKeyEx(key Handle, subkey *uint16, options uint32, desiredAccess uint32, result *Handle) (regerrno error) = advapi32.RegOpenKeyExW //sys RegCloseKey(key Handle) (regerrno error) = advapi32.RegCloseKey //sys RegQueryInfoKey(key Handle, class *uint16, classLen *uint32, reserved *uint32, subkeysLen *uint32, maxSubkeyLen *uint32, maxClassLen *uint32, valuesLen *uint32, maxValueNameLen *uint32, maxValueLen *uint32, saLen *uint32, lastWriteTime *Filetime) (regerrno error) = advapi32.RegQueryInfoKeyW //sys RegEnumKeyEx(key Handle, index uint32, name *uint16, nameLen *uint32, reserved *uint32, class *uint16, classLen *uint32, lastWriteTime *Filetime) (regerrno error) = advapi32.RegEnumKeyExW //sys RegQueryValueEx(key Handle, name *uint16, reserved *uint32, valtype *uint32, buf *byte, buflen *uint32) (regerrno error) = advapi32.RegQueryValueExW //sys RegNotifyChangeKeyValue(key Handle, watchSubtree bool, notifyFilter uint32, event Handle, asynchronous bool) (regerrno error) = advapi32.RegNotifyChangeKeyValue //sys GetCurrentProcessId() (pid uint32) = kernel32.GetCurrentProcessId //sys ProcessIdToSessionId(pid uint32, sessionid *uint32) (err error) = kernel32.ProcessIdToSessionId //sys ClosePseudoConsole(console Handle) = kernel32.ClosePseudoConsole //sys createPseudoConsole(size uint32, in Handle, out Handle, flags uint32, pconsole *Handle) (hr error) = kernel32.CreatePseudoConsole //sys GetConsoleMode(console Handle, mode *uint32) (err error) = kernel32.GetConsoleMode //sys SetConsoleMode(console Handle, mode uint32) (err error) = kernel32.SetConsoleMode //sys GetConsoleScreenBufferInfo(console Handle, info *ConsoleScreenBufferInfo) (err error) = kernel32.GetConsoleScreenBufferInfo //sys setConsoleCursorPosition(console Handle, position uint32) (err error) = kernel32.SetConsoleCursorPosition //sys GetConsoleCP() (cp uint32, err error) = kernel32.GetConsoleCP //sys GetConsoleOutputCP() (cp uint32, err error) = kernel32.GetConsoleOutputCP //sys SetConsoleCP(cp uint32) (err error) = kernel32.SetConsoleCP //sys SetConsoleOutputCP(cp uint32) (err error) = kernel32.SetConsoleOutputCP //sys WriteConsole(console Handle, buf *uint16, towrite uint32, written *uint32, reserved *byte) (err error) = kernel32.WriteConsoleW //sys ReadConsole(console Handle, buf *uint16, toread uint32, read *uint32, inputControl *byte) (err error) = kernel32.ReadConsoleW //sys resizePseudoConsole(pconsole Handle, size uint32) (hr error) = kernel32.ResizePseudoConsole //sys CreateToolhelp32Snapshot(flags uint32, processId uint32) (handle Handle, err error) [failretval==InvalidHandle] = kernel32.CreateToolhelp32Snapshot //sys Module32First(snapshot Handle, moduleEntry *ModuleEntry32) (err error) = kernel32.Module32FirstW //sys Module32Next(snapshot Handle, moduleEntry *ModuleEntry32) (err error) = kernel32.Module32NextW //sys Process32First(snapshot Handle, procEntry *ProcessEntry32) (err error) = kernel32.Process32FirstW //sys Process32Next(snapshot Handle, procEntry *ProcessEntry32) (err error) = kernel32.Process32NextW //sys Thread32First(snapshot Handle, threadEntry *ThreadEntry32) (err error) //sys Thread32Next(snapshot Handle, threadEntry *ThreadEntry32) (err error) //sys DeviceIoControl(handle Handle, ioControlCode uint32, inBuffer *byte, inBufferSize uint32, outBuffer *byte, outBufferSize uint32, bytesReturned *uint32, overlapped *Overlapped) (err error) // This function returns 1 byte BOOLEAN rather than the 4 byte BOOL. //sys CreateSymbolicLink(symlinkfilename *uint16, targetfilename *uint16, flags uint32) (err error) [failretval&0xff==0] = CreateSymbolicLinkW //sys CreateHardLink(filename *uint16, existingfilename *uint16, reserved uintptr) (err error) [failretval&0xff==0] = CreateHardLinkW //sys GetCurrentThreadId() (id uint32) //sys CreateEvent(eventAttrs *SecurityAttributes, manualReset uint32, initialState uint32, name *uint16) (handle Handle, err error) [failretval == 0 || e1 == ERROR_ALREADY_EXISTS] = kernel32.CreateEventW //sys CreateEventEx(eventAttrs *SecurityAttributes, name *uint16, flags uint32, desiredAccess uint32) (handle Handle, err error) [failretval == 0 || e1 == ERROR_ALREADY_EXISTS] = kernel32.CreateEventExW //sys OpenEvent(desiredAccess uint32, inheritHandle bool, name *uint16) (handle Handle, err error) = kernel32.OpenEventW //sys SetEvent(event Handle) (err error) = kernel32.SetEvent //sys ResetEvent(event Handle) (err error) = kernel32.ResetEvent //sys PulseEvent(event Handle) (err error) = kernel32.PulseEvent //sys CreateMutex(mutexAttrs *SecurityAttributes, initialOwner bool, name *uint16) (handle Handle, err error) [failretval == 0 || e1 == ERROR_ALREADY_EXISTS] = kernel32.CreateMutexW //sys CreateMutexEx(mutexAttrs *SecurityAttributes, name *uint16, flags uint32, desiredAccess uint32) (handle Handle, err error) [failretval == 0 || e1 == ERROR_ALREADY_EXISTS] = kernel32.CreateMutexExW //sys OpenMutex(desiredAccess uint32, inheritHandle bool, name *uint16) (handle Handle, err error) = kernel32.OpenMutexW //sys ReleaseMutex(mutex Handle) (err error) = kernel32.ReleaseMutex //sys SleepEx(milliseconds uint32, alertable bool) (ret uint32) = kernel32.SleepEx //sys CreateJobObject(jobAttr *SecurityAttributes, name *uint16) (handle Handle, err error) = kernel32.CreateJobObjectW //sys AssignProcessToJobObject(job Handle, process Handle) (err error) = kernel32.AssignProcessToJobObject //sys TerminateJobObject(job Handle, exitCode uint32) (err error) = kernel32.TerminateJobObject //sys SetErrorMode(mode uint32) (ret uint32) = kernel32.SetErrorMode //sys ResumeThread(thread Handle) (ret uint32, err error) [failretval==0xffffffff] = kernel32.ResumeThread //sys SetPriorityClass(process Handle, priorityClass uint32) (err error) = kernel32.SetPriorityClass //sys GetPriorityClass(process Handle) (ret uint32, err error) = kernel32.GetPriorityClass //sys QueryInformationJobObject(job Handle, JobObjectInformationClass int32, JobObjectInformation uintptr, JobObjectInformationLength uint32, retlen *uint32) (err error) = kernel32.QueryInformationJobObject //sys SetInformationJobObject(job Handle, JobObjectInformationClass uint32, JobObjectInformation uintptr, JobObjectInformationLength uint32) (ret int, err error) //sys GenerateConsoleCtrlEvent(ctrlEvent uint32, processGroupID uint32) (err error) //sys GetProcessId(process Handle) (id uint32, err error) //sys QueryFullProcessImageName(proc Handle, flags uint32, exeName *uint16, size *uint32) (err error) = kernel32.QueryFullProcessImageNameW //sys OpenThread(desiredAccess uint32, inheritHandle bool, threadId uint32) (handle Handle, err error) //sys SetProcessPriorityBoost(process Handle, disable bool) (err error) = kernel32.SetProcessPriorityBoost //sys GetProcessWorkingSetSizeEx(hProcess Handle, lpMinimumWorkingSetSize *uintptr, lpMaximumWorkingSetSize *uintptr, flags *uint32) //sys SetProcessWorkingSetSizeEx(hProcess Handle, dwMinimumWorkingSetSize uintptr, dwMaximumWorkingSetSize uintptr, flags uint32) (err error) //sys ClearCommBreak(handle Handle) (err error) //sys ClearCommError(handle Handle, lpErrors *uint32, lpStat *ComStat) (err error) //sys EscapeCommFunction(handle Handle, dwFunc uint32) (err error) //sys GetCommState(handle Handle, lpDCB *DCB) (err error) //sys GetCommModemStatus(handle Handle, lpModemStat *uint32) (err error) //sys GetCommTimeouts(handle Handle, timeouts *CommTimeouts) (err error) //sys PurgeComm(handle Handle, dwFlags uint32) (err error) //sys SetCommBreak(handle Handle) (err error) //sys SetCommMask(handle Handle, dwEvtMask uint32) (err error) //sys SetCommState(handle Handle, lpDCB *DCB) (err error) //sys SetCommTimeouts(handle Handle, timeouts *CommTimeouts) (err error) //sys SetupComm(handle Handle, dwInQueue uint32, dwOutQueue uint32) (err error) //sys WaitCommEvent(handle Handle, lpEvtMask *uint32, lpOverlapped *Overlapped) (err error) //sys GetActiveProcessorCount(groupNumber uint16) (ret uint32) //sys GetMaximumProcessorCount(groupNumber uint16) (ret uint32) //sys EnumWindows(enumFunc uintptr, param unsafe.Pointer) (err error) = user32.EnumWindows //sys EnumChildWindows(hwnd HWND, enumFunc uintptr, param unsafe.Pointer) = user32.EnumChildWindows //sys GetClassName(hwnd HWND, className *uint16, maxCount int32) (copied int32, err error) = user32.GetClassNameW //sys GetDesktopWindow() (hwnd HWND) = user32.GetDesktopWindow //sys GetForegroundWindow() (hwnd HWND) = user32.GetForegroundWindow //sys IsWindow(hwnd HWND) (isWindow bool) = user32.IsWindow //sys IsWindowUnicode(hwnd HWND) (isUnicode bool) = user32.IsWindowUnicode //sys IsWindowVisible(hwnd HWND) (isVisible bool) = user32.IsWindowVisible //sys GetGUIThreadInfo(thread uint32, info *GUIThreadInfo) (err error) = user32.GetGUIThreadInfo //sys GetLargePageMinimum() (size uintptr) // Volume Management Functions //sys DefineDosDevice(flags uint32, deviceName *uint16, targetPath *uint16) (err error) = DefineDosDeviceW //sys DeleteVolumeMountPoint(volumeMountPoint *uint16) (err error) = DeleteVolumeMountPointW //sys FindFirstVolume(volumeName *uint16, bufferLength uint32) (handle Handle, err error) [failretval==InvalidHandle] = FindFirstVolumeW //sys FindFirstVolumeMountPoint(rootPathName *uint16, volumeMountPoint *uint16, bufferLength uint32) (handle Handle, err error) [failretval==InvalidHandle] = FindFirstVolumeMountPointW //sys FindNextVolume(findVolume Handle, volumeName *uint16, bufferLength uint32) (err error) = FindNextVolumeW //sys FindNextVolumeMountPoint(findVolumeMountPoint Handle, volumeMountPoint *uint16, bufferLength uint32) (err error) = FindNextVolumeMountPointW //sys FindVolumeClose(findVolume Handle) (err error) //sys FindVolumeMountPointClose(findVolumeMountPoint Handle) (err error) //sys GetDiskFreeSpaceEx(directoryName *uint16, freeBytesAvailableToCaller *uint64, totalNumberOfBytes *uint64, totalNumberOfFreeBytes *uint64) (err error) = GetDiskFreeSpaceExW //sys GetDriveType(rootPathName *uint16) (driveType uint32) = GetDriveTypeW //sys GetLogicalDrives() (drivesBitMask uint32, err error) [failretval==0] //sys GetLogicalDriveStrings(bufferLength uint32, buffer *uint16) (n uint32, err error) [failretval==0] = GetLogicalDriveStringsW //sys GetVolumeInformation(rootPathName *uint16, volumeNameBuffer *uint16, volumeNameSize uint32, volumeNameSerialNumber *uint32, maximumComponentLength *uint32, fileSystemFlags *uint32, fileSystemNameBuffer *uint16, fileSystemNameSize uint32) (err error) = GetVolumeInformationW //sys GetVolumeInformationByHandle(file Handle, volumeNameBuffer *uint16, volumeNameSize uint32, volumeNameSerialNumber *uint32, maximumComponentLength *uint32, fileSystemFlags *uint32, fileSystemNameBuffer *uint16, fileSystemNameSize uint32) (err error) = GetVolumeInformationByHandleW //sys GetVolumeNameForVolumeMountPoint(volumeMountPoint *uint16, volumeName *uint16, bufferlength uint32) (err error) = GetVolumeNameForVolumeMountPointW //sys GetVolumePathName(fileName *uint16, volumePathName *uint16, bufferLength uint32) (err error) = GetVolumePathNameW //sys GetVolumePathNamesForVolumeName(volumeName *uint16, volumePathNames *uint16, bufferLength uint32, returnLength *uint32) (err error) = GetVolumePathNamesForVolumeNameW //sys QueryDosDevice(deviceName *uint16, targetPath *uint16, max uint32) (n uint32, err error) [failretval==0] = QueryDosDeviceW //sys SetVolumeLabel(rootPathName *uint16, volumeName *uint16) (err error) = SetVolumeLabelW //sys SetVolumeMountPoint(volumeMountPoint *uint16, volumeName *uint16) (err error) = SetVolumeMountPointW //sys InitiateSystemShutdownEx(machineName *uint16, message *uint16, timeout uint32, forceAppsClosed bool, rebootAfterShutdown bool, reason uint32) (err error) = advapi32.InitiateSystemShutdownExW //sys SetProcessShutdownParameters(level uint32, flags uint32) (err error) = kernel32.SetProcessShutdownParameters //sys GetProcessShutdownParameters(level *uint32, flags *uint32) (err error) = kernel32.GetProcessShutdownParameters //sys clsidFromString(lpsz *uint16, pclsid *GUID) (ret error) = ole32.CLSIDFromString //sys stringFromGUID2(rguid *GUID, lpsz *uint16, cchMax int32) (chars int32) = ole32.StringFromGUID2 //sys coCreateGuid(pguid *GUID) (ret error) = ole32.CoCreateGuid //sys CoTaskMemFree(address unsafe.Pointer) = ole32.CoTaskMemFree //sys CoInitializeEx(reserved uintptr, coInit uint32) (ret error) = ole32.CoInitializeEx //sys CoUninitialize() = ole32.CoUninitialize //sys CoGetObject(name *uint16, bindOpts *BIND_OPTS3, guid *GUID, functionTable **uintptr) (ret error) = ole32.CoGetObject //sys getProcessPreferredUILanguages(flags uint32, numLanguages *uint32, buf *uint16, bufSize *uint32) (err error) = kernel32.GetProcessPreferredUILanguages //sys getThreadPreferredUILanguages(flags uint32, numLanguages *uint32, buf *uint16, bufSize *uint32) (err error) = kernel32.GetThreadPreferredUILanguages //sys getUserPreferredUILanguages(flags uint32, numLanguages *uint32, buf *uint16, bufSize *uint32) (err error) = kernel32.GetUserPreferredUILanguages //sys getSystemPreferredUILanguages(flags uint32, numLanguages *uint32, buf *uint16, bufSize *uint32) (err error) = kernel32.GetSystemPreferredUILanguages //sys findResource(module Handle, name uintptr, resType uintptr) (resInfo Handle, err error) = kernel32.FindResourceW //sys SizeofResource(module Handle, resInfo Handle) (size uint32, err error) = kernel32.SizeofResource //sys LoadResource(module Handle, resInfo Handle) (resData Handle, err error) = kernel32.LoadResource //sys LockResource(resData Handle) (addr uintptr, err error) = kernel32.LockResource // Version APIs //sys GetFileVersionInfoSize(filename string, zeroHandle *Handle) (bufSize uint32, err error) = version.GetFileVersionInfoSizeW //sys GetFileVersionInfo(filename string, handle uint32, bufSize uint32, buffer unsafe.Pointer) (err error) = version.GetFileVersionInfoW //sys VerQueryValue(block unsafe.Pointer, subBlock string, pointerToBufferPointer unsafe.Pointer, bufSize *uint32) (err error) = version.VerQueryValueW // Process Status API (PSAPI) //sys enumProcesses(processIds *uint32, nSize uint32, bytesReturned *uint32) (err error) = psapi.EnumProcesses //sys EnumProcessModules(process Handle, module *Handle, cb uint32, cbNeeded *uint32) (err error) = psapi.EnumProcessModules //sys EnumProcessModulesEx(process Handle, module *Handle, cb uint32, cbNeeded *uint32, filterFlag uint32) (err error) = psapi.EnumProcessModulesEx //sys GetModuleInformation(process Handle, module Handle, modinfo *ModuleInfo, cb uint32) (err error) = psapi.GetModuleInformation //sys GetModuleFileNameEx(process Handle, module Handle, filename *uint16, size uint32) (err error) = psapi.GetModuleFileNameExW //sys GetModuleBaseName(process Handle, module Handle, baseName *uint16, size uint32) (err error) = psapi.GetModuleBaseNameW //sys QueryWorkingSetEx(process Handle, pv uintptr, cb uint32) (err error) = psapi.QueryWorkingSetEx // NT Native APIs //sys rtlNtStatusToDosErrorNoTeb(ntstatus NTStatus) (ret syscall.Errno) = ntdll.RtlNtStatusToDosErrorNoTeb //sys rtlGetVersion(info *OsVersionInfoEx) (ntstatus error) = ntdll.RtlGetVersion //sys rtlGetNtVersionNumbers(majorVersion *uint32, minorVersion *uint32, buildNumber *uint32) = ntdll.RtlGetNtVersionNumbers //sys RtlGetCurrentPeb() (peb *PEB) = ntdll.RtlGetCurrentPeb //sys RtlInitUnicodeString(destinationString *NTUnicodeString, sourceString *uint16) = ntdll.RtlInitUnicodeString //sys RtlInitString(destinationString *NTString, sourceString *byte) = ntdll.RtlInitString //sys NtCreateFile(handle *Handle, access uint32, oa *OBJECT_ATTRIBUTES, iosb *IO_STATUS_BLOCK, allocationSize *int64, attributes uint32, share uint32, disposition uint32, options uint32, eabuffer uintptr, ealength uint32) (ntstatus error) = ntdll.NtCreateFile //sys NtCreateNamedPipeFile(pipe *Handle, access uint32, oa *OBJECT_ATTRIBUTES, iosb *IO_STATUS_BLOCK, share uint32, disposition uint32, options uint32, typ uint32, readMode uint32, completionMode uint32, maxInstances uint32, inboundQuota uint32, outputQuota uint32, timeout *int64) (ntstatus error) = ntdll.NtCreateNamedPipeFile //sys NtSetInformationFile(handle Handle, iosb *IO_STATUS_BLOCK, inBuffer *byte, inBufferLen uint32, class uint32) (ntstatus error) = ntdll.NtSetInformationFile //sys RtlDosPathNameToNtPathName(dosName *uint16, ntName *NTUnicodeString, ntFileNamePart *uint16, relativeName *RTL_RELATIVE_NAME) (ntstatus error) = ntdll.RtlDosPathNameToNtPathName_U_WithStatus //sys RtlDosPathNameToRelativeNtPathName(dosName *uint16, ntName *NTUnicodeString, ntFileNamePart *uint16, relativeName *RTL_RELATIVE_NAME) (ntstatus error) = ntdll.RtlDosPathNameToRelativeNtPathName_U_WithStatus //sys RtlDefaultNpAcl(acl **ACL) (ntstatus error) = ntdll.RtlDefaultNpAcl //sys NtQueryInformationProcess(proc Handle, procInfoClass int32, procInfo unsafe.Pointer, procInfoLen uint32, retLen *uint32) (ntstatus error) = ntdll.NtQueryInformationProcess //sys NtSetInformationProcess(proc Handle, procInfoClass int32, procInfo unsafe.Pointer, procInfoLen uint32) (ntstatus error) = ntdll.NtSetInformationProcess //sys NtQuerySystemInformation(sysInfoClass int32, sysInfo unsafe.Pointer, sysInfoLen uint32, retLen *uint32) (ntstatus error) = ntdll.NtQuerySystemInformation //sys NtSetSystemInformation(sysInfoClass int32, sysInfo unsafe.Pointer, sysInfoLen uint32) (ntstatus error) = ntdll.NtSetSystemInformation //sys RtlAddFunctionTable(functionTable *RUNTIME_FUNCTION, entryCount uint32, baseAddress uintptr) (ret bool) = ntdll.RtlAddFunctionTable //sys RtlDeleteFunctionTable(functionTable *RUNTIME_FUNCTION) (ret bool) = ntdll.RtlDeleteFunctionTable // Desktop Window Manager API (Dwmapi) //sys DwmGetWindowAttribute(hwnd HWND, attribute uint32, value unsafe.Pointer, size uint32) (ret error) = dwmapi.DwmGetWindowAttribute //sys DwmSetWindowAttribute(hwnd HWND, attribute uint32, value unsafe.Pointer, size uint32) (ret error) = dwmapi.DwmSetWindowAttribute // Windows Multimedia API //sys TimeBeginPeriod (period uint32) (err error) [failretval != 0] = winmm.timeBeginPeriod //sys TimeEndPeriod (period uint32) (err error) [failretval != 0] = winmm.timeEndPeriod // syscall interface implementation for other packages // GetCurrentProcess returns the handle for the current process. // It is a pseudo handle that does not need to be closed. // The returned error is always nil. // // Deprecated: use CurrentProcess for the same Handle without the nil // error. func GetCurrentProcess() (Handle, error) { return CurrentProcess(), nil } // CurrentProcess returns the handle for the current process. // It is a pseudo handle that does not need to be closed. func CurrentProcess() Handle { return Handle(^uintptr(1 - 1)) } // GetCurrentThread returns the handle for the current thread. // It is a pseudo handle that does not need to be closed. // The returned error is always nil. // // Deprecated: use CurrentThread for the same Handle without the nil // error. func GetCurrentThread() (Handle, error) { return CurrentThread(), nil } // CurrentThread returns the handle for the current thread. // It is a pseudo handle that does not need to be closed. func CurrentThread() Handle { return Handle(^uintptr(2 - 1)) } // GetProcAddressByOrdinal retrieves the address of the exported // function from module by ordinal. func GetProcAddressByOrdinal(module Handle, ordinal uintptr) (proc uintptr, err error) { r0, _, e1 := syscall.Syscall(procGetProcAddress.Addr(), 2, uintptr(module), ordinal, 0) proc = uintptr(r0) if proc == 0 { err = errnoErr(e1) } return } func Exit(code int) { ExitProcess(uint32(code)) } func makeInheritSa() *SecurityAttributes { var sa SecurityAttributes sa.Length = uint32(unsafe.Sizeof(sa)) sa.InheritHandle = 1 return &sa } func Open(path string, mode int, perm uint32) (fd Handle, err error) { if len(path) == 0 { return InvalidHandle, ERROR_FILE_NOT_FOUND } pathp, err := UTF16PtrFromString(path) if err != nil { return InvalidHandle, err } var access uint32 switch mode & (O_RDONLY | O_WRONLY | O_RDWR) { case O_RDONLY: access = GENERIC_READ case O_WRONLY: access = GENERIC_WRITE case O_RDWR: access = GENERIC_READ | GENERIC_WRITE } if mode&O_CREAT != 0 { access |= GENERIC_WRITE } if mode&O_APPEND != 0 { access &^= GENERIC_WRITE access |= FILE_APPEND_DATA } sharemode := uint32(FILE_SHARE_READ | FILE_SHARE_WRITE) var sa *SecurityAttributes if mode&O_CLOEXEC == 0 { sa = makeInheritSa() } var createmode uint32 switch { case mode&(O_CREAT|O_EXCL) == (O_CREAT | O_EXCL): createmode = CREATE_NEW case mode&(O_CREAT|O_TRUNC) == (O_CREAT | O_TRUNC): createmode = CREATE_ALWAYS case mode&O_CREAT == O_CREAT: createmode = OPEN_ALWAYS case mode&O_TRUNC == O_TRUNC: createmode = TRUNCATE_EXISTING default: createmode = OPEN_EXISTING } var attrs uint32 = FILE_ATTRIBUTE_NORMAL if perm&S_IWRITE == 0 { attrs = FILE_ATTRIBUTE_READONLY } h, e := CreateFile(pathp, access, sharemode, sa, createmode, attrs, 0) return h, e } func Read(fd Handle, p []byte) (n int, err error) { var done uint32 e := ReadFile(fd, p, &done, nil) if e != nil { if e == ERROR_BROKEN_PIPE { // NOTE(brainman): work around ERROR_BROKEN_PIPE is returned on reading EOF from stdin return 0, nil } return 0, e } return int(done), nil } func Write(fd Handle, p []byte) (n int, err error) { if raceenabled { raceReleaseMerge(unsafe.Pointer(&ioSync)) } var done uint32 e := WriteFile(fd, p, &done, nil) if e != nil { return 0, e } return int(done), nil } func ReadFile(fd Handle, p []byte, done *uint32, overlapped *Overlapped) error { err := readFile(fd, p, done, overlapped) if raceenabled { if *done > 0 { raceWriteRange(unsafe.Pointer(&p[0]), int(*done)) } raceAcquire(unsafe.Pointer(&ioSync)) } return err } func WriteFile(fd Handle, p []byte, done *uint32, overlapped *Overlapped) error { if raceenabled { raceReleaseMerge(unsafe.Pointer(&ioSync)) } err := writeFile(fd, p, done, overlapped) if raceenabled && *done > 0 { raceReadRange(unsafe.Pointer(&p[0]), int(*done)) } return err } var ioSync int64 func Seek(fd Handle, offset int64, whence int) (newoffset int64, err error) { var w uint32 switch whence { case 0: w = FILE_BEGIN case 1: w = FILE_CURRENT case 2: w = FILE_END } hi := int32(offset >> 32) lo := int32(offset) // use GetFileType to check pipe, pipe can't do seek ft, _ := GetFileType(fd) if ft == FILE_TYPE_PIPE { return 0, syscall.EPIPE } rlo, e := SetFilePointer(fd, lo, &hi, w) if e != nil { return 0, e } return int64(hi)<<32 + int64(rlo), nil } func Close(fd Handle) (err error) { return CloseHandle(fd) } var ( Stdin = getStdHandle(STD_INPUT_HANDLE) Stdout = getStdHandle(STD_OUTPUT_HANDLE) Stderr = getStdHandle(STD_ERROR_HANDLE) ) func getStdHandle(stdhandle uint32) (fd Handle) { r, _ := GetStdHandle(stdhandle) return r } const ImplementsGetwd = true func Getwd() (wd string, err error) { b := make([]uint16, 300) n, e := GetCurrentDirectory(uint32(len(b)), &b[0]) if e != nil { return "", e } return string(utf16.Decode(b[0:n])), nil } func Chdir(path string) (err error) { pathp, err := UTF16PtrFromString(path) if err != nil { return err } return SetCurrentDirectory(pathp) } func Mkdir(path string, mode uint32) (err error) { pathp, err := UTF16PtrFromString(path) if err != nil { return err } return CreateDirectory(pathp, nil) } func Rmdir(path string) (err error) { pathp, err := UTF16PtrFromString(path) if err != nil { return err } return RemoveDirectory(pathp) } func Unlink(path string) (err error) { pathp, err := UTF16PtrFromString(path) if err != nil { return err } return DeleteFile(pathp) } func Rename(oldpath, newpath string) (err error) { from, err := UTF16PtrFromString(oldpath) if err != nil { return err } to, err := UTF16PtrFromString(newpath) if err != nil { return err } return MoveFileEx(from, to, MOVEFILE_REPLACE_EXISTING) } func ComputerName() (name string, err error) { var n uint32 = MAX_COMPUTERNAME_LENGTH + 1 b := make([]uint16, n) e := GetComputerName(&b[0], &n) if e != nil { return "", e } return string(utf16.Decode(b[0:n])), nil } func DurationSinceBoot() time.Duration { return time.Duration(getTickCount64()) * time.Millisecond } func Ftruncate(fd Handle, length int64) (err error) { curoffset, e := Seek(fd, 0, 1) if e != nil { return e } defer Seek(fd, curoffset, 0) _, e = Seek(fd, length, 0) if e != nil { return e } e = SetEndOfFile(fd) if e != nil { return e } return nil } func Gettimeofday(tv *Timeval) (err error) { var ft Filetime GetSystemTimeAsFileTime(&ft) *tv = NsecToTimeval(ft.Nanoseconds()) return nil } func Pipe(p []Handle) (err error) { if len(p) != 2 { return syscall.EINVAL } var r, w Handle e := CreatePipe(&r, &w, makeInheritSa(), 0) if e != nil { return e } p[0] = r p[1] = w return nil } func Utimes(path string, tv []Timeval) (err error) { if len(tv) != 2 { return syscall.EINVAL } pathp, e := UTF16PtrFromString(path) if e != nil { return e } h, e := CreateFile(pathp, FILE_WRITE_ATTRIBUTES, FILE_SHARE_WRITE, nil, OPEN_EXISTING, FILE_FLAG_BACKUP_SEMANTICS, 0) if e != nil { return e } defer CloseHandle(h) a := NsecToFiletime(tv[0].Nanoseconds()) w := NsecToFiletime(tv[1].Nanoseconds()) return SetFileTime(h, nil, &a, &w) } func UtimesNano(path string, ts []Timespec) (err error) { if len(ts) != 2 { return syscall.EINVAL } pathp, e := UTF16PtrFromString(path) if e != nil { return e } h, e := CreateFile(pathp, FILE_WRITE_ATTRIBUTES, FILE_SHARE_WRITE, nil, OPEN_EXISTING, FILE_FLAG_BACKUP_SEMANTICS, 0) if e != nil { return e } defer CloseHandle(h) a := NsecToFiletime(TimespecToNsec(ts[0])) w := NsecToFiletime(TimespecToNsec(ts[1])) return SetFileTime(h, nil, &a, &w) } func Fsync(fd Handle) (err error) { return FlushFileBuffers(fd) } func Chmod(path string, mode uint32) (err error) { p, e := UTF16PtrFromString(path) if e != nil { return e } attrs, e := GetFileAttributes(p) if e != nil { return e } if mode&S_IWRITE != 0 { attrs &^= FILE_ATTRIBUTE_READONLY } else { attrs |= FILE_ATTRIBUTE_READONLY } return SetFileAttributes(p, attrs) } func LoadGetSystemTimePreciseAsFileTime() error { return procGetSystemTimePreciseAsFileTime.Find() } func LoadCancelIoEx() error { return procCancelIoEx.Find() } func LoadSetFileCompletionNotificationModes() error { return procSetFileCompletionNotificationModes.Find() } func WaitForMultipleObjects(handles []Handle, waitAll bool, waitMilliseconds uint32) (event uint32, err error) { // Every other win32 array API takes arguments as "pointer, count", except for this function. So we // can't declare it as a usual [] type, because mksyscall will use the opposite order. We therefore // trivially stub this ourselves. var handlePtr *Handle if len(handles) > 0 { handlePtr = &handles[0] } return waitForMultipleObjects(uint32(len(handles)), uintptr(unsafe.Pointer(handlePtr)), waitAll, waitMilliseconds) } // net api calls const socket_error = uintptr(^uint32(0)) //sys WSAStartup(verreq uint32, data *WSAData) (sockerr error) = ws2_32.WSAStartup //sys WSACleanup() (err error) [failretval==socket_error] = ws2_32.WSACleanup //sys WSAIoctl(s Handle, iocc uint32, inbuf *byte, cbif uint32, outbuf *byte, cbob uint32, cbbr *uint32, overlapped *Overlapped, completionRoutine uintptr) (err error) [failretval==socket_error] = ws2_32.WSAIoctl //sys WSALookupServiceBegin(querySet *WSAQUERYSET, flags uint32, handle *Handle) (err error) [failretval==socket_error] = ws2_32.WSALookupServiceBeginW //sys WSALookupServiceNext(handle Handle, flags uint32, size *int32, querySet *WSAQUERYSET) (err error) [failretval==socket_error] = ws2_32.WSALookupServiceNextW //sys WSALookupServiceEnd(handle Handle) (err error) [failretval==socket_error] = ws2_32.WSALookupServiceEnd //sys socket(af int32, typ int32, protocol int32) (handle Handle, err error) [failretval==InvalidHandle] = ws2_32.socket //sys sendto(s Handle, buf []byte, flags int32, to unsafe.Pointer, tolen int32) (err error) [failretval==socket_error] = ws2_32.sendto //sys recvfrom(s Handle, buf []byte, flags int32, from *RawSockaddrAny, fromlen *int32) (n int32, err error) [failretval==-1] = ws2_32.recvfrom //sys Setsockopt(s Handle, level int32, optname int32, optval *byte, optlen int32) (err error) [failretval==socket_error] = ws2_32.setsockopt //sys Getsockopt(s Handle, level int32, optname int32, optval *byte, optlen *int32) (err error) [failretval==socket_error] = ws2_32.getsockopt //sys bind(s Handle, name unsafe.Pointer, namelen int32) (err error) [failretval==socket_error] = ws2_32.bind //sys connect(s Handle, name unsafe.Pointer, namelen int32) (err error) [failretval==socket_error] = ws2_32.connect //sys getsockname(s Handle, rsa *RawSockaddrAny, addrlen *int32) (err error) [failretval==socket_error] = ws2_32.getsockname //sys getpeername(s Handle, rsa *RawSockaddrAny, addrlen *int32) (err error) [failretval==socket_error] = ws2_32.getpeername //sys listen(s Handle, backlog int32) (err error) [failretval==socket_error] = ws2_32.listen //sys shutdown(s Handle, how int32) (err error) [failretval==socket_error] = ws2_32.shutdown //sys Closesocket(s Handle) (err error) [failretval==socket_error] = ws2_32.closesocket //sys AcceptEx(ls Handle, as Handle, buf *byte, rxdatalen uint32, laddrlen uint32, raddrlen uint32, recvd *uint32, overlapped *Overlapped) (err error) = mswsock.AcceptEx //sys GetAcceptExSockaddrs(buf *byte, rxdatalen uint32, laddrlen uint32, raddrlen uint32, lrsa **RawSockaddrAny, lrsalen *int32, rrsa **RawSockaddrAny, rrsalen *int32) = mswsock.GetAcceptExSockaddrs //sys WSARecv(s Handle, bufs *WSABuf, bufcnt uint32, recvd *uint32, flags *uint32, overlapped *Overlapped, croutine *byte) (err error) [failretval==socket_error] = ws2_32.WSARecv //sys WSASend(s Handle, bufs *WSABuf, bufcnt uint32, sent *uint32, flags uint32, overlapped *Overlapped, croutine *byte) (err error) [failretval==socket_error] = ws2_32.WSASend //sys WSARecvFrom(s Handle, bufs *WSABuf, bufcnt uint32, recvd *uint32, flags *uint32, from *RawSockaddrAny, fromlen *int32, overlapped *Overlapped, croutine *byte) (err error) [failretval==socket_error] = ws2_32.WSARecvFrom //sys WSASendTo(s Handle, bufs *WSABuf, bufcnt uint32, sent *uint32, flags uint32, to *RawSockaddrAny, tolen int32, overlapped *Overlapped, croutine *byte) (err error) [failretval==socket_error] = ws2_32.WSASendTo //sys WSASocket(af int32, typ int32, protocol int32, protoInfo *WSAProtocolInfo, group uint32, flags uint32) (handle Handle, err error) [failretval==InvalidHandle] = ws2_32.WSASocketW //sys GetHostByName(name string) (h *Hostent, err error) [failretval==nil] = ws2_32.gethostbyname //sys GetServByName(name string, proto string) (s *Servent, err error) [failretval==nil] = ws2_32.getservbyname //sys Ntohs(netshort uint16) (u uint16) = ws2_32.ntohs //sys GetProtoByName(name string) (p *Protoent, err error) [failretval==nil] = ws2_32.getprotobyname //sys DnsQuery(name string, qtype uint16, options uint32, extra *byte, qrs **DNSRecord, pr *byte) (status error) = dnsapi.DnsQuery_W //sys DnsRecordListFree(rl *DNSRecord, freetype uint32) = dnsapi.DnsRecordListFree //sys DnsNameCompare(name1 *uint16, name2 *uint16) (same bool) = dnsapi.DnsNameCompare_W //sys GetAddrInfoW(nodename *uint16, servicename *uint16, hints *AddrinfoW, result **AddrinfoW) (sockerr error) = ws2_32.GetAddrInfoW //sys FreeAddrInfoW(addrinfo *AddrinfoW) = ws2_32.FreeAddrInfoW //sys GetIfEntry(pIfRow *MibIfRow) (errcode error) = iphlpapi.GetIfEntry //sys GetAdaptersInfo(ai *IpAdapterInfo, ol *uint32) (errcode error) = iphlpapi.GetAdaptersInfo //sys SetFileCompletionNotificationModes(handle Handle, flags uint8) (err error) = kernel32.SetFileCompletionNotificationModes //sys WSAEnumProtocols(protocols *int32, protocolBuffer *WSAProtocolInfo, bufferLength *uint32) (n int32, err error) [failretval==-1] = ws2_32.WSAEnumProtocolsW //sys WSAGetOverlappedResult(h Handle, o *Overlapped, bytes *uint32, wait bool, flags *uint32) (err error) = ws2_32.WSAGetOverlappedResult //sys GetAdaptersAddresses(family uint32, flags uint32, reserved uintptr, adapterAddresses *IpAdapterAddresses, sizePointer *uint32) (errcode error) = iphlpapi.GetAdaptersAddresses //sys GetACP() (acp uint32) = kernel32.GetACP //sys MultiByteToWideChar(codePage uint32, dwFlags uint32, str *byte, nstr int32, wchar *uint16, nwchar int32) (nwrite int32, err error) = kernel32.MultiByteToWideChar //sys getBestInterfaceEx(sockaddr unsafe.Pointer, pdwBestIfIndex *uint32) (errcode error) = iphlpapi.GetBestInterfaceEx // For testing: clients can set this flag to force // creation of IPv6 sockets to return EAFNOSUPPORT. var SocketDisableIPv6 bool 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 RawSockaddr struct { Family uint16 Data [14]int8 } type RawSockaddrAny struct { Addr RawSockaddr Pad [100]int8 } type Sockaddr interface { sockaddr() (ptr unsafe.Pointer, len int32, err error) // lowercase; only we can define Sockaddrs } type SockaddrInet4 struct { Port int Addr [4]byte raw RawSockaddrInet4 } func (sa *SockaddrInet4) sockaddr() (unsafe.Pointer, int32, error) { if sa.Port < 0 || sa.Port > 0xFFFF { return nil, 0, syscall.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) sa.raw.Addr = sa.Addr return unsafe.Pointer(&sa.raw), int32(unsafe.Sizeof(sa.raw)), nil } type SockaddrInet6 struct { Port int ZoneId uint32 Addr [16]byte raw RawSockaddrInet6 } func (sa *SockaddrInet6) sockaddr() (unsafe.Pointer, int32, error) { if sa.Port < 0 || sa.Port > 0xFFFF { return nil, 0, syscall.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 sa.raw.Addr = sa.Addr return unsafe.Pointer(&sa.raw), int32(unsafe.Sizeof(sa.raw)), nil } type RawSockaddrUnix struct { Family uint16 Path [UNIX_PATH_MAX]int8 } type SockaddrUnix struct { Name string raw RawSockaddrUnix } func (sa *SockaddrUnix) sockaddr() (unsafe.Pointer, int32, error) { name := sa.Name n := len(name) if n > len(sa.raw.Path) { return nil, 0, syscall.EINVAL } if n == len(sa.raw.Path) && name[0] != '@' { return nil, 0, syscall.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 := int32(2) if n > 0 { sl += int32(n) + 1 } if sa.raw.Path[0] == '@' || (sa.raw.Path[0] == 0 && sl > 3) { // Check sl > 3 so we don't change unnamed socket behavior. sa.raw.Path[0] = 0 // Don't count trailing NUL for abstract address. sl-- } return unsafe.Pointer(&sa.raw), sl, nil } type RawSockaddrBth struct { AddressFamily [2]byte BtAddr [8]byte ServiceClassId [16]byte Port [4]byte } type SockaddrBth struct { BtAddr uint64 ServiceClassId GUID Port uint32 raw RawSockaddrBth } func (sa *SockaddrBth) sockaddr() (unsafe.Pointer, int32, error) { family := AF_BTH sa.raw = RawSockaddrBth{ AddressFamily: *(*[2]byte)(unsafe.Pointer(&family)), BtAddr: *(*[8]byte)(unsafe.Pointer(&sa.BtAddr)), Port: *(*[4]byte)(unsafe.Pointer(&sa.Port)), ServiceClassId: *(*[16]byte)(unsafe.Pointer(&sa.ServiceClassId)), } return unsafe.Pointer(&sa.raw), int32(unsafe.Sizeof(sa.raw)), nil } func (rsa *RawSockaddrAny) Sockaddr() (Sockaddr, error) { switch rsa.Addr.Family { 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++ } sa.Name = string(unsafe.Slice((*byte)(unsafe.Pointer(&pp.Path[0])), n)) 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]) sa.Addr = pp.Addr 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 sa.Addr = pp.Addr return sa, nil } return nil, syscall.EAFNOSUPPORT } func Socket(domain, typ, proto int) (fd Handle, err error) { if domain == AF_INET6 && SocketDisableIPv6 { return InvalidHandle, syscall.EAFNOSUPPORT } return socket(int32(domain), int32(typ), int32(proto)) } func SetsockoptInt(fd Handle, level, opt int, value int) (err error) { v := int32(value) return Setsockopt(fd, int32(level), int32(opt), (*byte)(unsafe.Pointer(&v)), int32(unsafe.Sizeof(v))) } func Bind(fd Handle, sa Sockaddr) (err error) { ptr, n, err := sa.sockaddr() if err != nil { return err } return bind(fd, ptr, n) } func Connect(fd Handle, sa Sockaddr) (err error) { ptr, n, err := sa.sockaddr() if err != nil { return err } return connect(fd, ptr, n) } func GetBestInterfaceEx(sa Sockaddr, pdwBestIfIndex *uint32) (err error) { ptr, _, err := sa.sockaddr() if err != nil { return err } return getBestInterfaceEx(ptr, pdwBestIfIndex) } func Getsockname(fd Handle) (sa Sockaddr, err error) { var rsa RawSockaddrAny l := int32(unsafe.Sizeof(rsa)) if err = getsockname(fd, &rsa, &l); err != nil { return } return rsa.Sockaddr() } func Getpeername(fd Handle) (sa Sockaddr, err error) { var rsa RawSockaddrAny l := int32(unsafe.Sizeof(rsa)) if err = getpeername(fd, &rsa, &l); err != nil { return } return rsa.Sockaddr() } func Listen(s Handle, n int) (err error) { return listen(s, int32(n)) } func Shutdown(fd Handle, how int) (err error) { return shutdown(fd, int32(how)) } func WSASendto(s Handle, bufs *WSABuf, bufcnt uint32, sent *uint32, flags uint32, to Sockaddr, overlapped *Overlapped, croutine *byte) (err error) { var rsa unsafe.Pointer var l int32 if to != nil { rsa, l, err = to.sockaddr() if err != nil { return err } } return WSASendTo(s, bufs, bufcnt, sent, flags, (*RawSockaddrAny)(unsafe.Pointer(rsa)), l, overlapped, croutine) } func LoadGetAddrInfo() error { return procGetAddrInfoW.Find() } var connectExFunc struct { once sync.Once addr uintptr err error } func LoadConnectEx() error { connectExFunc.once.Do(func() { var s Handle s, connectExFunc.err = Socket(AF_INET, SOCK_STREAM, IPPROTO_TCP) if connectExFunc.err != nil { return } defer CloseHandle(s) var n uint32 connectExFunc.err = WSAIoctl(s, SIO_GET_EXTENSION_FUNCTION_POINTER, (*byte)(unsafe.Pointer(&WSAID_CONNECTEX)), uint32(unsafe.Sizeof(WSAID_CONNECTEX)), (*byte)(unsafe.Pointer(&connectExFunc.addr)), uint32(unsafe.Sizeof(connectExFunc.addr)), &n, nil, 0) }) return connectExFunc.err } func connectEx(s Handle, name unsafe.Pointer, namelen int32, sendBuf *byte, sendDataLen uint32, bytesSent *uint32, overlapped *Overlapped) (err error) { r1, _, e1 := syscall.Syscall9(connectExFunc.addr, 7, uintptr(s), uintptr(name), uintptr(namelen), uintptr(unsafe.Pointer(sendBuf)), uintptr(sendDataLen), uintptr(unsafe.Pointer(bytesSent)), uintptr(unsafe.Pointer(overlapped)), 0, 0) if r1 == 0 { if e1 != 0 { err = error(e1) } else { err = syscall.EINVAL } } return } func ConnectEx(fd Handle, sa Sockaddr, sendBuf *byte, sendDataLen uint32, bytesSent *uint32, overlapped *Overlapped) error { err := LoadConnectEx() if err != nil { return errorspkg.New("failed to find ConnectEx: " + err.Error()) } ptr, n, err := sa.sockaddr() if err != nil { return err } return connectEx(fd, ptr, n, sendBuf, sendDataLen, bytesSent, overlapped) } var sendRecvMsgFunc struct { once sync.Once sendAddr uintptr recvAddr uintptr err error } func loadWSASendRecvMsg() error { sendRecvMsgFunc.once.Do(func() { var s Handle s, sendRecvMsgFunc.err = Socket(AF_INET, SOCK_DGRAM, IPPROTO_UDP) if sendRecvMsgFunc.err != nil { return } defer CloseHandle(s) var n uint32 sendRecvMsgFunc.err = WSAIoctl(s, SIO_GET_EXTENSION_FUNCTION_POINTER, (*byte)(unsafe.Pointer(&WSAID_WSARECVMSG)), uint32(unsafe.Sizeof(WSAID_WSARECVMSG)), (*byte)(unsafe.Pointer(&sendRecvMsgFunc.recvAddr)), uint32(unsafe.Sizeof(sendRecvMsgFunc.recvAddr)), &n, nil, 0) if sendRecvMsgFunc.err != nil { return } sendRecvMsgFunc.err = WSAIoctl(s, SIO_GET_EXTENSION_FUNCTION_POINTER, (*byte)(unsafe.Pointer(&WSAID_WSASENDMSG)), uint32(unsafe.Sizeof(WSAID_WSASENDMSG)), (*byte)(unsafe.Pointer(&sendRecvMsgFunc.sendAddr)), uint32(unsafe.Sizeof(sendRecvMsgFunc.sendAddr)), &n, nil, 0) }) return sendRecvMsgFunc.err } func WSASendMsg(fd Handle, msg *WSAMsg, flags uint32, bytesSent *uint32, overlapped *Overlapped, croutine *byte) error { err := loadWSASendRecvMsg() if err != nil { return err } r1, _, e1 := syscall.Syscall6(sendRecvMsgFunc.sendAddr, 6, uintptr(fd), uintptr(unsafe.Pointer(msg)), uintptr(flags), uintptr(unsafe.Pointer(bytesSent)), uintptr(unsafe.Pointer(overlapped)), uintptr(unsafe.Pointer(croutine))) if r1 == socket_error { err = errnoErr(e1) } return err } func WSARecvMsg(fd Handle, msg *WSAMsg, bytesReceived *uint32, overlapped *Overlapped, croutine *byte) error { err := loadWSASendRecvMsg() if err != nil { return err } r1, _, e1 := syscall.Syscall6(sendRecvMsgFunc.recvAddr, 5, uintptr(fd), uintptr(unsafe.Pointer(msg)), uintptr(unsafe.Pointer(bytesReceived)), uintptr(unsafe.Pointer(overlapped)), uintptr(unsafe.Pointer(croutine)), 0) if r1 == socket_error { err = errnoErr(e1) } return err } // Invented structures to support what package os expects. type Rusage struct { CreationTime Filetime ExitTime Filetime KernelTime Filetime UserTime Filetime } type WaitStatus struct { ExitCode uint32 } func (w WaitStatus) Exited() bool { return true } func (w WaitStatus) ExitStatus() int { return int(w.ExitCode) } func (w WaitStatus) Signal() Signal { return -1 } func (w WaitStatus) CoreDump() bool { return false } func (w WaitStatus) Stopped() bool { return false } func (w WaitStatus) Continued() bool { return false } func (w WaitStatus) StopSignal() Signal { return -1 } func (w WaitStatus) Signaled() bool { return false } func (w WaitStatus) TrapCause() int { return -1 } // Timespec is an invented structure on Windows, but here for // consistency with the corresponding package for other operating systems. type Timespec struct { Sec int64 Nsec int64 } 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 } // TODO(brainman): fix all needed for net func Accept(fd Handle) (nfd Handle, sa Sockaddr, err error) { return 0, nil, syscall.EWINDOWS } func Recvfrom(fd Handle, p []byte, flags int) (n int, from Sockaddr, err error) { var rsa RawSockaddrAny l := int32(unsafe.Sizeof(rsa)) n32, err := recvfrom(fd, p, int32(flags), &rsa, &l) n = int(n32) if err != nil { return } from, err = rsa.Sockaddr() return } func Sendto(fd Handle, p []byte, flags int, to Sockaddr) (err error) { ptr, l, err := to.sockaddr() if err != nil { return err } return sendto(fd, p, int32(flags), ptr, l) } func SetsockoptTimeval(fd Handle, level, opt int, tv *Timeval) (err error) { return syscall.EWINDOWS } // The Linger struct is wrong but we only noticed after Go 1. // sysLinger is the real system call structure. // BUG(brainman): The definition of Linger is not appropriate for direct use // with Setsockopt and Getsockopt. // Use SetsockoptLinger instead. type Linger struct { Onoff int32 Linger int32 } type sysLinger struct { Onoff uint16 Linger uint16 } type IPMreq struct { Multiaddr [4]byte /* in_addr */ Interface [4]byte /* in_addr */ } type IPv6Mreq struct { Multiaddr [16]byte /* in6_addr */ Interface uint32 } func GetsockoptInt(fd Handle, level, opt int) (int, error) { v := int32(0) l := int32(unsafe.Sizeof(v)) err := Getsockopt(fd, int32(level), int32(opt), (*byte)(unsafe.Pointer(&v)), &l) return int(v), err } func SetsockoptLinger(fd Handle, level, opt int, l *Linger) (err error) { sys := sysLinger{Onoff: uint16(l.Onoff), Linger: uint16(l.Linger)} return Setsockopt(fd, int32(level), int32(opt), (*byte)(unsafe.Pointer(&sys)), int32(unsafe.Sizeof(sys))) } func SetsockoptInet4Addr(fd Handle, level, opt int, value [4]byte) (err error) { return Setsockopt(fd, int32(level), int32(opt), (*byte)(unsafe.Pointer(&value[0])), 4) } func SetsockoptIPMreq(fd Handle, level, opt int, mreq *IPMreq) (err error) { return Setsockopt(fd, int32(level), int32(opt), (*byte)(unsafe.Pointer(mreq)), int32(unsafe.Sizeof(*mreq))) } func SetsockoptIPv6Mreq(fd Handle, level, opt int, mreq *IPv6Mreq) (err error) { return syscall.EWINDOWS } func EnumProcesses(processIds []uint32, bytesReturned *uint32) error { // EnumProcesses syscall expects the size parameter to be in bytes, but the code generated with mksyscall uses // the length of the processIds slice instead. Hence, this wrapper function is added to fix the discrepancy. var p *uint32 if len(processIds) > 0 { p = &processIds[0] } size := uint32(len(processIds) * 4) return enumProcesses(p, size, bytesReturned) } func Getpid() (pid int) { return int(GetCurrentProcessId()) } func FindFirstFile(name *uint16, data *Win32finddata) (handle Handle, err error) { // NOTE(rsc): The Win32finddata struct is wrong for the system call: // the two paths are each one uint16 short. Use the correct struct, // a win32finddata1, and then copy the results out. // There is no loss of expressivity here, because the final // uint16, if it is used, is supposed to be a NUL, and Go doesn't need that. // For Go 1.1, we might avoid the allocation of win32finddata1 here // by adding a final Bug [2]uint16 field to the struct and then // adjusting the fields in the result directly. var data1 win32finddata1 handle, err = findFirstFile1(name, &data1) if err == nil { copyFindData(data, &data1) } return } func FindNextFile(handle Handle, data *Win32finddata) (err error) { var data1 win32finddata1 err = findNextFile1(handle, &data1) if err == nil { copyFindData(data, &data1) } return } func getProcessEntry(pid int) (*ProcessEntry32, error) { snapshot, err := CreateToolhelp32Snapshot(TH32CS_SNAPPROCESS, 0) if err != nil { return nil, err } defer CloseHandle(snapshot) var procEntry ProcessEntry32 procEntry.Size = uint32(unsafe.Sizeof(procEntry)) if err = Process32First(snapshot, &procEntry); err != nil { return nil, err } for { if procEntry.ProcessID == uint32(pid) { return &procEntry, nil } err = Process32Next(snapshot, &procEntry) if err != nil { return nil, err } } } func Getppid() (ppid int) { pe, err := getProcessEntry(Getpid()) if err != nil { return -1 } return int(pe.ParentProcessID) } // TODO(brainman): fix all needed for os func Fchdir(fd Handle) (err error) { return syscall.EWINDOWS } func Link(oldpath, newpath string) (err error) { return syscall.EWINDOWS } func Symlink(path, link string) (err error) { return syscall.EWINDOWS } func Fchmod(fd Handle, mode uint32) (err error) { return syscall.EWINDOWS } func Chown(path string, uid int, gid int) (err error) { return syscall.EWINDOWS } func Lchown(path string, uid int, gid int) (err error) { return syscall.EWINDOWS } func Fchown(fd Handle, uid int, gid int) (err error) { return syscall.EWINDOWS } func Getuid() (uid int) { return -1 } func Geteuid() (euid int) { return -1 } func Getgid() (gid int) { return -1 } func Getegid() (egid int) { return -1 } func Getgroups() (gids []int, err error) { return nil, syscall.EWINDOWS } type Signal int func (s Signal) Signal() {} func (s Signal) String() string { if 0 <= s && int(s) < len(signals) { str := signals[s] if str != "" { return str } } return "signal " + itoa(int(s)) } func LoadCreateSymbolicLink() error { return procCreateSymbolicLinkW.Find() } // Readlink returns the destination of the named symbolic link. func Readlink(path string, buf []byte) (n int, err error) { fd, err := CreateFile(StringToUTF16Ptr(path), GENERIC_READ, 0, nil, OPEN_EXISTING, FILE_FLAG_OPEN_REPARSE_POINT|FILE_FLAG_BACKUP_SEMANTICS, 0) if err != nil { return -1, err } defer CloseHandle(fd) rdbbuf := make([]byte, MAXIMUM_REPARSE_DATA_BUFFER_SIZE) var bytesReturned uint32 err = DeviceIoControl(fd, FSCTL_GET_REPARSE_POINT, nil, 0, &rdbbuf[0], uint32(len(rdbbuf)), &bytesReturned, nil) if err != nil { return -1, err } rdb := (*reparseDataBuffer)(unsafe.Pointer(&rdbbuf[0])) var s string switch rdb.ReparseTag { case IO_REPARSE_TAG_SYMLINK: data := (*symbolicLinkReparseBuffer)(unsafe.Pointer(&rdb.reparseBuffer)) p := (*[0xffff]uint16)(unsafe.Pointer(&data.PathBuffer[0])) s = UTF16ToString(p[data.PrintNameOffset/2 : (data.PrintNameLength-data.PrintNameOffset)/2]) case IO_REPARSE_TAG_MOUNT_POINT: data := (*mountPointReparseBuffer)(unsafe.Pointer(&rdb.reparseBuffer)) p := (*[0xffff]uint16)(unsafe.Pointer(&data.PathBuffer[0])) s = UTF16ToString(p[data.PrintNameOffset/2 : (data.PrintNameLength-data.PrintNameOffset)/2]) default: // the path is not a symlink or junction but another type of reparse // point return -1, syscall.ENOENT } n = copy(buf, []byte(s)) return n, nil } // GUIDFromString parses a string in the form of // "{XXXXXX-XXXX-XXXX-XXXX-XXXXXXXXXXXX}" into a GUID. func GUIDFromString(str string) (GUID, error) { guid := GUID{} str16, err := syscall.UTF16PtrFromString(str) if err != nil { return guid, err } err = clsidFromString(str16, &guid) if err != nil { return guid, err } return guid, nil } // GenerateGUID creates a new random GUID. func GenerateGUID() (GUID, error) { guid := GUID{} err := coCreateGuid(&guid) if err != nil { return guid, err } return guid, nil } // String returns the canonical string form of the GUID, // in the form of "{XXXXXX-XXXX-XXXX-XXXX-XXXXXXXXXXXX}". func (guid GUID) String() string { var str [100]uint16 chars := stringFromGUID2(&guid, &str[0], int32(len(str))) if chars <= 1 { return "" } return string(utf16.Decode(str[:chars-1])) } // KnownFolderPath returns a well-known folder path for the current user, specified by one of // the FOLDERID_ constants, and chosen and optionally created based on a KF_ flag. func KnownFolderPath(folderID *KNOWNFOLDERID, flags uint32) (string, error) { return Token(0).KnownFolderPath(folderID, flags) } // KnownFolderPath returns a well-known folder path for the user token, specified by one of // the FOLDERID_ constants, and chosen and optionally created based on a KF_ flag. func (t Token) KnownFolderPath(folderID *KNOWNFOLDERID, flags uint32) (string, error) { var p *uint16 err := shGetKnownFolderPath(folderID, flags, t, &p) if err != nil { return "", err } defer CoTaskMemFree(unsafe.Pointer(p)) return UTF16PtrToString(p), nil } // RtlGetVersion returns the version of the underlying operating system, ignoring // manifest semantics but is affected by the application compatibility layer. func RtlGetVersion() *OsVersionInfoEx { info := &OsVersionInfoEx{} info.osVersionInfoSize = uint32(unsafe.Sizeof(*info)) // According to documentation, this function always succeeds. // The function doesn't even check the validity of the // osVersionInfoSize member. Disassembling ntdll.dll indicates // that the documentation is indeed correct about that. _ = rtlGetVersion(info) return info } // RtlGetNtVersionNumbers returns the version of the underlying operating system, // ignoring manifest semantics and the application compatibility layer. func RtlGetNtVersionNumbers() (majorVersion, minorVersion, buildNumber uint32) { rtlGetNtVersionNumbers(&majorVersion, &minorVersion, &buildNumber) buildNumber &= 0xffff return } // GetProcessPreferredUILanguages retrieves the process preferred UI languages. func GetProcessPreferredUILanguages(flags uint32) ([]string, error) { return getUILanguages(flags, getProcessPreferredUILanguages) } // GetThreadPreferredUILanguages retrieves the thread preferred UI languages for the current thread. func GetThreadPreferredUILanguages(flags uint32) ([]string, error) { return getUILanguages(flags, getThreadPreferredUILanguages) } // GetUserPreferredUILanguages retrieves information about the user preferred UI languages. func GetUserPreferredUILanguages(flags uint32) ([]string, error) { return getUILanguages(flags, getUserPreferredUILanguages) } // GetSystemPreferredUILanguages retrieves the system preferred UI languages. func GetSystemPreferredUILanguages(flags uint32) ([]string, error) { return getUILanguages(flags, getSystemPreferredUILanguages) } func getUILanguages(flags uint32, f func(flags uint32, numLanguages *uint32, buf *uint16, bufSize *uint32) error) ([]string, error) { size := uint32(128) for { var numLanguages uint32 buf := make([]uint16, size) err := f(flags, &numLanguages, &buf[0], &size) if err == ERROR_INSUFFICIENT_BUFFER { continue } if err != nil { return nil, err } buf = buf[:size] if numLanguages == 0 || len(buf) == 0 { // GetProcessPreferredUILanguages may return numLanguages==0 with "\0\0" return []string{}, nil } if buf[len(buf)-1] == 0 { buf = buf[:len(buf)-1] // remove terminating null } languages := make([]string, 0, numLanguages) from := 0 for i, c := range buf { if c == 0 { languages = append(languages, string(utf16.Decode(buf[from:i]))) from = i + 1 } } return languages, nil } } func SetConsoleCursorPosition(console Handle, position Coord) error { return setConsoleCursorPosition(console, *((*uint32)(unsafe.Pointer(&position)))) } func GetStartupInfo(startupInfo *StartupInfo) error { getStartupInfo(startupInfo) return nil } func (s NTStatus) Errno() syscall.Errno { return rtlNtStatusToDosErrorNoTeb(s) } func langID(pri, sub uint16) uint32 { return uint32(sub)<<10 | uint32(pri) } func (s NTStatus) Error() string { b := make([]uint16, 300) n, err := FormatMessage(FORMAT_MESSAGE_FROM_SYSTEM|FORMAT_MESSAGE_FROM_HMODULE|FORMAT_MESSAGE_ARGUMENT_ARRAY, modntdll.Handle(), uint32(s), langID(LANG_ENGLISH, SUBLANG_ENGLISH_US), b, nil) if err != nil { return fmt.Sprintf("NTSTATUS 0x%08x", uint32(s)) } // trim terminating \r and \n for ; n > 0 && (b[n-1] == '\n' || b[n-1] == '\r'); n-- { } return string(utf16.Decode(b[:n])) } // NewNTUnicodeString returns a new NTUnicodeString structure for use with native // NT APIs that work over the NTUnicodeString type. Note that most Windows APIs // do not use NTUnicodeString, and instead UTF16PtrFromString should be used for // the more common *uint16 string type. func NewNTUnicodeString(s string) (*NTUnicodeString, error) { var u NTUnicodeString s16, err := UTF16PtrFromString(s) if err != nil { return nil, err } RtlInitUnicodeString(&u, s16) return &u, nil } // Slice returns a uint16 slice that aliases the data in the NTUnicodeString. func (s *NTUnicodeString) Slice() []uint16 { slice := unsafe.Slice(s.Buffer, s.MaximumLength) return slice[:s.Length] } func (s *NTUnicodeString) String() string { return UTF16ToString(s.Slice()) } // NewNTString returns a new NTString structure for use with native // NT APIs that work over the NTString type. Note that most Windows APIs // do not use NTString, and instead UTF16PtrFromString should be used for // the more common *uint16 string type. func NewNTString(s string) (*NTString, error) { var nts NTString s8, err := BytePtrFromString(s) if err != nil { return nil, err } RtlInitString(&nts, s8) return &nts, nil } // Slice returns a byte slice that aliases the data in the NTString. func (s *NTString) Slice() []byte { slice := unsafe.Slice(s.Buffer, s.MaximumLength) return slice[:s.Length] } func (s *NTString) String() string { return ByteSliceToString(s.Slice()) } // FindResource resolves a resource of the given name and resource type. func FindResource(module Handle, name, resType ResourceIDOrString) (Handle, error) { var namePtr, resTypePtr uintptr var name16, resType16 *uint16 var err error resolvePtr := func(i interface{}, keep **uint16) (uintptr, error) { switch v := i.(type) { case string: *keep, err = UTF16PtrFromString(v) if err != nil { return 0, err } return uintptr(unsafe.Pointer(*keep)), nil case ResourceID: return uintptr(v), nil } return 0, errorspkg.New("parameter must be a ResourceID or a string") } namePtr, err = resolvePtr(name, &name16) if err != nil { return 0, err } resTypePtr, err = resolvePtr(resType, &resType16) if err != nil { return 0, err } resInfo, err := findResource(module, namePtr, resTypePtr) runtime.KeepAlive(name16) runtime.KeepAlive(resType16) return resInfo, err } func LoadResourceData(module, resInfo Handle) (data []byte, err error) { size, err := SizeofResource(module, resInfo) if err != nil { return } resData, err := LoadResource(module, resInfo) if err != nil { return } ptr, err := LockResource(resData) if err != nil { return } data = unsafe.Slice((*byte)(unsafe.Pointer(ptr)), size) return } // PSAPI_WORKING_SET_EX_BLOCK contains extended working set information for a page. type PSAPI_WORKING_SET_EX_BLOCK uint64 // Valid returns the validity of this page. // If this bit is 1, the subsequent members are valid; otherwise they should be ignored. func (b PSAPI_WORKING_SET_EX_BLOCK) Valid() bool { return (b & 1) == 1 } // ShareCount is the number of processes that share this page. The maximum value of this member is 7. func (b PSAPI_WORKING_SET_EX_BLOCK) ShareCount() uint64 { return b.intField(1, 3) } // Win32Protection is the memory protection attributes of the page. For a list of values, see // https://docs.microsoft.com/en-us/windows/win32/memory/memory-protection-constants func (b PSAPI_WORKING_SET_EX_BLOCK) Win32Protection() uint64 { return b.intField(4, 11) } // Shared returns the shared status of this page. // If this bit is 1, the page can be shared. func (b PSAPI_WORKING_SET_EX_BLOCK) Shared() bool { return (b & (1 << 15)) == 1 } // Node is the NUMA node. The maximum value of this member is 63. func (b PSAPI_WORKING_SET_EX_BLOCK) Node() uint64 { return b.intField(16, 6) } // Locked returns the locked status of this page. // If this bit is 1, the virtual page is locked in physical memory. func (b PSAPI_WORKING_SET_EX_BLOCK) Locked() bool { return (b & (1 << 22)) == 1 } // LargePage returns the large page status of this page. // If this bit is 1, the page is a large page. func (b PSAPI_WORKING_SET_EX_BLOCK) LargePage() bool { return (b & (1 << 23)) == 1 } // Bad returns the bad status of this page. // If this bit is 1, the page is has been reported as bad. func (b PSAPI_WORKING_SET_EX_BLOCK) Bad() bool { return (b & (1 << 31)) == 1 } // intField extracts an integer field in the PSAPI_WORKING_SET_EX_BLOCK union. func (b PSAPI_WORKING_SET_EX_BLOCK) intField(start, length int) uint64 { var mask PSAPI_WORKING_SET_EX_BLOCK for pos := start; pos < start+length; pos++ { mask |= (1 << pos) } masked := b & mask return uint64(masked >> start) } // PSAPI_WORKING_SET_EX_INFORMATION contains extended working set information for a process. type PSAPI_WORKING_SET_EX_INFORMATION struct { // The virtual address. VirtualAddress Pointer // A PSAPI_WORKING_SET_EX_BLOCK union that indicates the attributes of the page at VirtualAddress. VirtualAttributes PSAPI_WORKING_SET_EX_BLOCK } // CreatePseudoConsole creates a windows pseudo console. func CreatePseudoConsole(size Coord, in Handle, out Handle, flags uint32, pconsole *Handle) error { // We need this wrapper to manually cast Coord to uint32. The autogenerated wrappers only // accept arguments that can be casted to uintptr, and Coord can't. return createPseudoConsole(*((*uint32)(unsafe.Pointer(&size))), in, out, flags, pconsole) } // ResizePseudoConsole resizes the internal buffers of the pseudo console to the width and height specified in `size`. func ResizePseudoConsole(pconsole Handle, size Coord) error { // We need this wrapper to manually cast Coord to uint32. The autogenerated wrappers only // accept arguments that can be casted to uintptr, and Coord can't. return resizePseudoConsole(pconsole, *((*uint32)(unsafe.Pointer(&size)))) } // DCB constants. See https://learn.microsoft.com/en-us/windows/win32/api/winbase/ns-winbase-dcb. const ( CBR_110 = 110 CBR_300 = 300 CBR_600 = 600 CBR_1200 = 1200 CBR_2400 = 2400 CBR_4800 = 4800 CBR_9600 = 9600 CBR_14400 = 14400 CBR_19200 = 19200 CBR_38400 = 38400 CBR_57600 = 57600 CBR_115200 = 115200 CBR_128000 = 128000 CBR_256000 = 256000 DTR_CONTROL_DISABLE = 0x00000000 DTR_CONTROL_ENABLE = 0x00000010 DTR_CONTROL_HANDSHAKE = 0x00000020 RTS_CONTROL_DISABLE = 0x00000000 RTS_CONTROL_ENABLE = 0x00001000 RTS_CONTROL_HANDSHAKE = 0x00002000 RTS_CONTROL_TOGGLE = 0x00003000 NOPARITY = 0 ODDPARITY = 1 EVENPARITY = 2 MARKPARITY = 3 SPACEPARITY = 4 ONESTOPBIT = 0 ONE5STOPBITS = 1 TWOSTOPBITS = 2 ) // EscapeCommFunction constants. See https://learn.microsoft.com/en-us/windows/win32/api/winbase/nf-winbase-escapecommfunction. const ( SETXOFF = 1 SETXON = 2 SETRTS = 3 CLRRTS = 4 SETDTR = 5 CLRDTR = 6 SETBREAK = 8 CLRBREAK = 9 ) // PurgeComm constants. See https://learn.microsoft.com/en-us/windows/win32/api/winbase/nf-winbase-purgecomm. const ( PURGE_TXABORT = 0x0001 PURGE_RXABORT = 0x0002 PURGE_TXCLEAR = 0x0004 PURGE_RXCLEAR = 0x0008 ) // SetCommMask constants. See https://learn.microsoft.com/en-us/windows/win32/api/winbase/nf-winbase-setcommmask. const ( EV_RXCHAR = 0x0001 EV_RXFLAG = 0x0002 EV_TXEMPTY = 0x0004 EV_CTS = 0x0008 EV_DSR = 0x0010 EV_RLSD = 0x0020 EV_BREAK = 0x0040 EV_ERR = 0x0080 EV_RING = 0x0100 ) dependencies/pkg/mod/golang.org/x/sys@v0.26.0/windows/syscall.go0000644000000000000000000000624615107355264023331 0ustar rootroot// 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. //go:build windows // Package windows contains an interface to the low-level operating system // primitives. OS details vary depending on the underlying system, and // by default, godoc will display the OS-specific documentation for the current // system. If you want godoc to display syscall 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 windows // import "golang.org/x/sys/windows" import ( "bytes" "strings" "syscall" "unsafe" ) // 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, syscall.EINVAL). func ByteSliceFromString(s string) ([]byte, error) { if strings.IndexByte(s, 0) != -1 { return nil, syscall.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, syscall.EINVAL). func BytePtrFromString(s string) (*byte, error) { a, err := ByteSliceFromString(s) if err != nil { return nil, err } return &a[0], nil } // ByteSliceToString returns a string form of the text represented by the slice s, with a terminating NUL and any // bytes after the NUL removed. func ByteSliceToString(s []byte) string { if i := bytes.IndexByte(s, 0); i != -1 { s = s[:i] } return string(s) } // BytePtrToString takes a pointer to a sequence of text and returns the corresponding string. // If the pointer is nil, it returns the empty string. It assumes that the text sequence is terminated // at a zero byte; if the zero byte is not present, the program may crash. func BytePtrToString(p *byte) string { if p == nil { return "" } if *p == 0 { return "" } // Find NUL terminator. n := 0 for ptr := unsafe.Pointer(p); *(*byte)(ptr) != 0; n++ { ptr = unsafe.Pointer(uintptr(ptr) + 1) } return string(unsafe.Slice(p, n)) } // Single-word zero for use when we need a valid pointer to 0 bytes. // See mksyscall.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 } dependencies/pkg/mod/golang.org/x/sys@v0.26.0/windows/mksyscall.go0000644000000000000000000000055715107355264023660 0ustar rootroot// 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. //go:build generate package windows //go:generate go run golang.org/x/sys/windows/mkwinsyscall -output zsyscall_windows.go eventlog.go service.go syscall_windows.go security_windows.go setupapi_windows.go dependencies/pkg/mod/golang.org/x/sys@v0.26.0/windows/race0.go0000644000000000000000000000070615107355264022644 0ustar rootroot// 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. //go:build windows && !race package windows import ( "unsafe" ) const raceenabled = false func raceAcquire(addr unsafe.Pointer) { } func raceReleaseMerge(addr unsafe.Pointer) { } func raceReadRange(addr unsafe.Pointer, len int) { } func raceWriteRange(addr unsafe.Pointer, len int) { } dependencies/pkg/mod/golang.org/x/sys@v0.26.0/windows/testdata/0000755000000000000000000000000015107355264023131 5ustar rootrootdependencies/pkg/mod/golang.org/x/sys@v0.26.0/windows/testdata/README0000644000000000000000000000102415107355264024006 0ustar rootrootThis folder contains various pre-generated artifacts for testing. Descriptions of each follow below. ## ev-signed-file.exe This was generated with: int main(void) { puts("Hello Gophers!"); return 0; } And then a simple clang/mingw compilation: i686-w64-mingw32-gcc -Os -s a.c After, it was copied to a Windows computer where it was signed with an EV certificate using: signtool sign /sha1 /fd sha256 /tr http://timestamp.digicert.com /td sha256 /d "Go Project EV Signing Test" a.exe dependencies/pkg/mod/golang.org/x/sys@v0.26.0/windows/types_windows.go0000644000000000000000000032467115107355264024602 0ustar rootroot// 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 windows import ( "net" "syscall" "unsafe" ) // NTStatus corresponds with NTSTATUS, error values returned by ntdll.dll and // other native functions. type NTStatus uint32 const ( // Invented values to support what package os expects. O_RDONLY = 0x00000 O_WRONLY = 0x00001 O_RDWR = 0x00002 O_CREAT = 0x00040 O_EXCL = 0x00080 O_NOCTTY = 0x00100 O_TRUNC = 0x00200 O_NONBLOCK = 0x00800 O_APPEND = 0x00400 O_SYNC = 0x01000 O_ASYNC = 0x02000 O_CLOEXEC = 0x80000 ) const ( // More invented values for signals SIGHUP = Signal(0x1) SIGINT = Signal(0x2) SIGQUIT = Signal(0x3) SIGILL = Signal(0x4) SIGTRAP = Signal(0x5) SIGABRT = Signal(0x6) SIGBUS = Signal(0x7) SIGFPE = Signal(0x8) SIGKILL = Signal(0x9) SIGSEGV = Signal(0xb) SIGPIPE = Signal(0xd) SIGALRM = Signal(0xe) SIGTERM = Signal(0xf) ) 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", } const ( FILE_READ_DATA = 0x00000001 FILE_READ_ATTRIBUTES = 0x00000080 FILE_READ_EA = 0x00000008 FILE_WRITE_DATA = 0x00000002 FILE_WRITE_ATTRIBUTES = 0x00000100 FILE_WRITE_EA = 0x00000010 FILE_APPEND_DATA = 0x00000004 FILE_EXECUTE = 0x00000020 FILE_GENERIC_READ = STANDARD_RIGHTS_READ | FILE_READ_DATA | FILE_READ_ATTRIBUTES | FILE_READ_EA | SYNCHRONIZE FILE_GENERIC_WRITE = STANDARD_RIGHTS_WRITE | FILE_WRITE_DATA | FILE_WRITE_ATTRIBUTES | FILE_WRITE_EA | FILE_APPEND_DATA | SYNCHRONIZE FILE_GENERIC_EXECUTE = STANDARD_RIGHTS_EXECUTE | FILE_READ_ATTRIBUTES | FILE_EXECUTE | SYNCHRONIZE FILE_LIST_DIRECTORY = 0x00000001 FILE_TRAVERSE = 0x00000020 FILE_SHARE_READ = 0x00000001 FILE_SHARE_WRITE = 0x00000002 FILE_SHARE_DELETE = 0x00000004 FILE_ATTRIBUTE_READONLY = 0x00000001 FILE_ATTRIBUTE_HIDDEN = 0x00000002 FILE_ATTRIBUTE_SYSTEM = 0x00000004 FILE_ATTRIBUTE_DIRECTORY = 0x00000010 FILE_ATTRIBUTE_ARCHIVE = 0x00000020 FILE_ATTRIBUTE_DEVICE = 0x00000040 FILE_ATTRIBUTE_NORMAL = 0x00000080 FILE_ATTRIBUTE_TEMPORARY = 0x00000100 FILE_ATTRIBUTE_SPARSE_FILE = 0x00000200 FILE_ATTRIBUTE_REPARSE_POINT = 0x00000400 FILE_ATTRIBUTE_COMPRESSED = 0x00000800 FILE_ATTRIBUTE_OFFLINE = 0x00001000 FILE_ATTRIBUTE_NOT_CONTENT_INDEXED = 0x00002000 FILE_ATTRIBUTE_ENCRYPTED = 0x00004000 FILE_ATTRIBUTE_INTEGRITY_STREAM = 0x00008000 FILE_ATTRIBUTE_VIRTUAL = 0x00010000 FILE_ATTRIBUTE_NO_SCRUB_DATA = 0x00020000 FILE_ATTRIBUTE_RECALL_ON_OPEN = 0x00040000 FILE_ATTRIBUTE_RECALL_ON_DATA_ACCESS = 0x00400000 INVALID_FILE_ATTRIBUTES = 0xffffffff CREATE_NEW = 1 CREATE_ALWAYS = 2 OPEN_EXISTING = 3 OPEN_ALWAYS = 4 TRUNCATE_EXISTING = 5 FILE_FLAG_OPEN_REQUIRING_OPLOCK = 0x00040000 FILE_FLAG_FIRST_PIPE_INSTANCE = 0x00080000 FILE_FLAG_OPEN_NO_RECALL = 0x00100000 FILE_FLAG_OPEN_REPARSE_POINT = 0x00200000 FILE_FLAG_SESSION_AWARE = 0x00800000 FILE_FLAG_POSIX_SEMANTICS = 0x01000000 FILE_FLAG_BACKUP_SEMANTICS = 0x02000000 FILE_FLAG_DELETE_ON_CLOSE = 0x04000000 FILE_FLAG_SEQUENTIAL_SCAN = 0x08000000 FILE_FLAG_RANDOM_ACCESS = 0x10000000 FILE_FLAG_NO_BUFFERING = 0x20000000 FILE_FLAG_OVERLAPPED = 0x40000000 FILE_FLAG_WRITE_THROUGH = 0x80000000 HANDLE_FLAG_INHERIT = 0x00000001 STARTF_USESTDHANDLES = 0x00000100 STARTF_USESHOWWINDOW = 0x00000001 DUPLICATE_CLOSE_SOURCE = 0x00000001 DUPLICATE_SAME_ACCESS = 0x00000002 STD_INPUT_HANDLE = -10 & (1<<32 - 1) STD_OUTPUT_HANDLE = -11 & (1<<32 - 1) STD_ERROR_HANDLE = -12 & (1<<32 - 1) FILE_BEGIN = 0 FILE_CURRENT = 1 FILE_END = 2 LANG_ENGLISH = 0x09 SUBLANG_ENGLISH_US = 0x01 FORMAT_MESSAGE_ALLOCATE_BUFFER = 256 FORMAT_MESSAGE_IGNORE_INSERTS = 512 FORMAT_MESSAGE_FROM_STRING = 1024 FORMAT_MESSAGE_FROM_HMODULE = 2048 FORMAT_MESSAGE_FROM_SYSTEM = 4096 FORMAT_MESSAGE_ARGUMENT_ARRAY = 8192 FORMAT_MESSAGE_MAX_WIDTH_MASK = 255 MAX_PATH = 260 MAX_LONG_PATH = 32768 MAX_MODULE_NAME32 = 255 MAX_COMPUTERNAME_LENGTH = 15 MAX_DHCPV6_DUID_LENGTH = 130 MAX_DNS_SUFFIX_STRING_LENGTH = 256 TIME_ZONE_ID_UNKNOWN = 0 TIME_ZONE_ID_STANDARD = 1 TIME_ZONE_ID_DAYLIGHT = 2 IGNORE = 0 INFINITE = 0xffffffff WAIT_ABANDONED = 0x00000080 WAIT_OBJECT_0 = 0x00000000 WAIT_FAILED = 0xFFFFFFFF // Access rights for process. PROCESS_CREATE_PROCESS = 0x0080 PROCESS_CREATE_THREAD = 0x0002 PROCESS_DUP_HANDLE = 0x0040 PROCESS_QUERY_INFORMATION = 0x0400 PROCESS_QUERY_LIMITED_INFORMATION = 0x1000 PROCESS_SET_INFORMATION = 0x0200 PROCESS_SET_QUOTA = 0x0100 PROCESS_SUSPEND_RESUME = 0x0800 PROCESS_TERMINATE = 0x0001 PROCESS_VM_OPERATION = 0x0008 PROCESS_VM_READ = 0x0010 PROCESS_VM_WRITE = 0x0020 // Access rights for thread. THREAD_DIRECT_IMPERSONATION = 0x0200 THREAD_GET_CONTEXT = 0x0008 THREAD_IMPERSONATE = 0x0100 THREAD_QUERY_INFORMATION = 0x0040 THREAD_QUERY_LIMITED_INFORMATION = 0x0800 THREAD_SET_CONTEXT = 0x0010 THREAD_SET_INFORMATION = 0x0020 THREAD_SET_LIMITED_INFORMATION = 0x0400 THREAD_SET_THREAD_TOKEN = 0x0080 THREAD_SUSPEND_RESUME = 0x0002 THREAD_TERMINATE = 0x0001 FILE_MAP_COPY = 0x01 FILE_MAP_WRITE = 0x02 FILE_MAP_READ = 0x04 FILE_MAP_EXECUTE = 0x20 CTRL_C_EVENT = 0 CTRL_BREAK_EVENT = 1 CTRL_CLOSE_EVENT = 2 CTRL_LOGOFF_EVENT = 5 CTRL_SHUTDOWN_EVENT = 6 // Windows reserves errors >= 1<<29 for application use. APPLICATION_ERROR = 1 << 29 ) const ( // Process creation flags. CREATE_BREAKAWAY_FROM_JOB = 0x01000000 CREATE_DEFAULT_ERROR_MODE = 0x04000000 CREATE_NEW_CONSOLE = 0x00000010 CREATE_NEW_PROCESS_GROUP = 0x00000200 CREATE_NO_WINDOW = 0x08000000 CREATE_PROTECTED_PROCESS = 0x00040000 CREATE_PRESERVE_CODE_AUTHZ_LEVEL = 0x02000000 CREATE_SEPARATE_WOW_VDM = 0x00000800 CREATE_SHARED_WOW_VDM = 0x00001000 CREATE_SUSPENDED = 0x00000004 CREATE_UNICODE_ENVIRONMENT = 0x00000400 DEBUG_ONLY_THIS_PROCESS = 0x00000002 DEBUG_PROCESS = 0x00000001 DETACHED_PROCESS = 0x00000008 EXTENDED_STARTUPINFO_PRESENT = 0x00080000 INHERIT_PARENT_AFFINITY = 0x00010000 ) const ( // attributes for ProcThreadAttributeList PROC_THREAD_ATTRIBUTE_PARENT_PROCESS = 0x00020000 PROC_THREAD_ATTRIBUTE_HANDLE_LIST = 0x00020002 PROC_THREAD_ATTRIBUTE_GROUP_AFFINITY = 0x00030003 PROC_THREAD_ATTRIBUTE_PREFERRED_NODE = 0x00020004 PROC_THREAD_ATTRIBUTE_IDEAL_PROCESSOR = 0x00030005 PROC_THREAD_ATTRIBUTE_MITIGATION_POLICY = 0x00020007 PROC_THREAD_ATTRIBUTE_UMS_THREAD = 0x00030006 PROC_THREAD_ATTRIBUTE_PROTECTION_LEVEL = 0x0002000b PROC_THREAD_ATTRIBUTE_PSEUDOCONSOLE = 0x00020016 ) const ( // flags for CreateToolhelp32Snapshot TH32CS_SNAPHEAPLIST = 0x01 TH32CS_SNAPPROCESS = 0x02 TH32CS_SNAPTHREAD = 0x04 TH32CS_SNAPMODULE = 0x08 TH32CS_SNAPMODULE32 = 0x10 TH32CS_SNAPALL = TH32CS_SNAPHEAPLIST | TH32CS_SNAPMODULE | TH32CS_SNAPPROCESS | TH32CS_SNAPTHREAD TH32CS_INHERIT = 0x80000000 ) const ( // flags for EnumProcessModulesEx LIST_MODULES_32BIT = 0x01 LIST_MODULES_64BIT = 0x02 LIST_MODULES_ALL = 0x03 LIST_MODULES_DEFAULT = 0x00 ) const ( // filters for ReadDirectoryChangesW and FindFirstChangeNotificationW FILE_NOTIFY_CHANGE_FILE_NAME = 0x001 FILE_NOTIFY_CHANGE_DIR_NAME = 0x002 FILE_NOTIFY_CHANGE_ATTRIBUTES = 0x004 FILE_NOTIFY_CHANGE_SIZE = 0x008 FILE_NOTIFY_CHANGE_LAST_WRITE = 0x010 FILE_NOTIFY_CHANGE_LAST_ACCESS = 0x020 FILE_NOTIFY_CHANGE_CREATION = 0x040 FILE_NOTIFY_CHANGE_SECURITY = 0x100 ) const ( // do not reorder FILE_ACTION_ADDED = iota + 1 FILE_ACTION_REMOVED FILE_ACTION_MODIFIED FILE_ACTION_RENAMED_OLD_NAME FILE_ACTION_RENAMED_NEW_NAME ) const ( // wincrypt.h /* certenrolld_begin -- PROV_RSA_*/ PROV_RSA_FULL = 1 PROV_RSA_SIG = 2 PROV_DSS = 3 PROV_FORTEZZA = 4 PROV_MS_EXCHANGE = 5 PROV_SSL = 6 PROV_RSA_SCHANNEL = 12 PROV_DSS_DH = 13 PROV_EC_ECDSA_SIG = 14 PROV_EC_ECNRA_SIG = 15 PROV_EC_ECDSA_FULL = 16 PROV_EC_ECNRA_FULL = 17 PROV_DH_SCHANNEL = 18 PROV_SPYRUS_LYNKS = 20 PROV_RNG = 21 PROV_INTEL_SEC = 22 PROV_REPLACE_OWF = 23 PROV_RSA_AES = 24 /* dwFlags definitions for CryptAcquireContext */ CRYPT_VERIFYCONTEXT = 0xF0000000 CRYPT_NEWKEYSET = 0x00000008 CRYPT_DELETEKEYSET = 0x00000010 CRYPT_MACHINE_KEYSET = 0x00000020 CRYPT_SILENT = 0x00000040 CRYPT_DEFAULT_CONTAINER_OPTIONAL = 0x00000080 /* Flags for PFXImportCertStore */ CRYPT_EXPORTABLE = 0x00000001 CRYPT_USER_PROTECTED = 0x00000002 CRYPT_USER_KEYSET = 0x00001000 PKCS12_PREFER_CNG_KSP = 0x00000100 PKCS12_ALWAYS_CNG_KSP = 0x00000200 PKCS12_ALLOW_OVERWRITE_KEY = 0x00004000 PKCS12_NO_PERSIST_KEY = 0x00008000 PKCS12_INCLUDE_EXTENDED_PROPERTIES = 0x00000010 /* Flags for CryptAcquireCertificatePrivateKey */ CRYPT_ACQUIRE_CACHE_FLAG = 0x00000001 CRYPT_ACQUIRE_USE_PROV_INFO_FLAG = 0x00000002 CRYPT_ACQUIRE_COMPARE_KEY_FLAG = 0x00000004 CRYPT_ACQUIRE_NO_HEALING = 0x00000008 CRYPT_ACQUIRE_SILENT_FLAG = 0x00000040 CRYPT_ACQUIRE_WINDOW_HANDLE_FLAG = 0x00000080 CRYPT_ACQUIRE_NCRYPT_KEY_FLAGS_MASK = 0x00070000 CRYPT_ACQUIRE_ALLOW_NCRYPT_KEY_FLAG = 0x00010000 CRYPT_ACQUIRE_PREFER_NCRYPT_KEY_FLAG = 0x00020000 CRYPT_ACQUIRE_ONLY_NCRYPT_KEY_FLAG = 0x00040000 /* pdwKeySpec for CryptAcquireCertificatePrivateKey */ AT_KEYEXCHANGE = 1 AT_SIGNATURE = 2 CERT_NCRYPT_KEY_SPEC = 0xFFFFFFFF /* Default usage match type is AND with value zero */ USAGE_MATCH_TYPE_AND = 0 USAGE_MATCH_TYPE_OR = 1 /* msgAndCertEncodingType values for CertOpenStore function */ X509_ASN_ENCODING = 0x00000001 PKCS_7_ASN_ENCODING = 0x00010000 /* storeProvider values for CertOpenStore function */ CERT_STORE_PROV_MSG = 1 CERT_STORE_PROV_MEMORY = 2 CERT_STORE_PROV_FILE = 3 CERT_STORE_PROV_REG = 4 CERT_STORE_PROV_PKCS7 = 5 CERT_STORE_PROV_SERIALIZED = 6 CERT_STORE_PROV_FILENAME_A = 7 CERT_STORE_PROV_FILENAME_W = 8 CERT_STORE_PROV_FILENAME = CERT_STORE_PROV_FILENAME_W CERT_STORE_PROV_SYSTEM_A = 9 CERT_STORE_PROV_SYSTEM_W = 10 CERT_STORE_PROV_SYSTEM = CERT_STORE_PROV_SYSTEM_W CERT_STORE_PROV_COLLECTION = 11 CERT_STORE_PROV_SYSTEM_REGISTRY_A = 12 CERT_STORE_PROV_SYSTEM_REGISTRY_W = 13 CERT_STORE_PROV_SYSTEM_REGISTRY = CERT_STORE_PROV_SYSTEM_REGISTRY_W CERT_STORE_PROV_PHYSICAL_W = 14 CERT_STORE_PROV_PHYSICAL = CERT_STORE_PROV_PHYSICAL_W CERT_STORE_PROV_SMART_CARD_W = 15 CERT_STORE_PROV_SMART_CARD = CERT_STORE_PROV_SMART_CARD_W CERT_STORE_PROV_LDAP_W = 16 CERT_STORE_PROV_LDAP = CERT_STORE_PROV_LDAP_W CERT_STORE_PROV_PKCS12 = 17 /* store characteristics (low WORD of flag) for CertOpenStore function */ CERT_STORE_NO_CRYPT_RELEASE_FLAG = 0x00000001 CERT_STORE_SET_LOCALIZED_NAME_FLAG = 0x00000002 CERT_STORE_DEFER_CLOSE_UNTIL_LAST_FREE_FLAG = 0x00000004 CERT_STORE_DELETE_FLAG = 0x00000010 CERT_STORE_UNSAFE_PHYSICAL_FLAG = 0x00000020 CERT_STORE_SHARE_STORE_FLAG = 0x00000040 CERT_STORE_SHARE_CONTEXT_FLAG = 0x00000080 CERT_STORE_MANIFOLD_FLAG = 0x00000100 CERT_STORE_ENUM_ARCHIVED_FLAG = 0x00000200 CERT_STORE_UPDATE_KEYID_FLAG = 0x00000400 CERT_STORE_BACKUP_RESTORE_FLAG = 0x00000800 CERT_STORE_MAXIMUM_ALLOWED_FLAG = 0x00001000 CERT_STORE_CREATE_NEW_FLAG = 0x00002000 CERT_STORE_OPEN_EXISTING_FLAG = 0x00004000 CERT_STORE_READONLY_FLAG = 0x00008000 /* store locations (high WORD of flag) for CertOpenStore function */ CERT_SYSTEM_STORE_CURRENT_USER = 0x00010000 CERT_SYSTEM_STORE_LOCAL_MACHINE = 0x00020000 CERT_SYSTEM_STORE_CURRENT_SERVICE = 0x00040000 CERT_SYSTEM_STORE_SERVICES = 0x00050000 CERT_SYSTEM_STORE_USERS = 0x00060000 CERT_SYSTEM_STORE_CURRENT_USER_GROUP_POLICY = 0x00070000 CERT_SYSTEM_STORE_LOCAL_MACHINE_GROUP_POLICY = 0x00080000 CERT_SYSTEM_STORE_LOCAL_MACHINE_ENTERPRISE = 0x00090000 CERT_SYSTEM_STORE_UNPROTECTED_FLAG = 0x40000000 CERT_SYSTEM_STORE_RELOCATE_FLAG = 0x80000000 /* Miscellaneous high-WORD flags for CertOpenStore function */ CERT_REGISTRY_STORE_REMOTE_FLAG = 0x00010000 CERT_REGISTRY_STORE_SERIALIZED_FLAG = 0x00020000 CERT_REGISTRY_STORE_ROAMING_FLAG = 0x00040000 CERT_REGISTRY_STORE_MY_IE_DIRTY_FLAG = 0x00080000 CERT_REGISTRY_STORE_LM_GPT_FLAG = 0x01000000 CERT_REGISTRY_STORE_CLIENT_GPT_FLAG = 0x80000000 CERT_FILE_STORE_COMMIT_ENABLE_FLAG = 0x00010000 CERT_LDAP_STORE_SIGN_FLAG = 0x00010000 CERT_LDAP_STORE_AREC_EXCLUSIVE_FLAG = 0x00020000 CERT_LDAP_STORE_OPENED_FLAG = 0x00040000 CERT_LDAP_STORE_UNBIND_FLAG = 0x00080000 /* addDisposition values for CertAddCertificateContextToStore function */ CERT_STORE_ADD_NEW = 1 CERT_STORE_ADD_USE_EXISTING = 2 CERT_STORE_ADD_REPLACE_EXISTING = 3 CERT_STORE_ADD_ALWAYS = 4 CERT_STORE_ADD_REPLACE_EXISTING_INHERIT_PROPERTIES = 5 CERT_STORE_ADD_NEWER = 6 CERT_STORE_ADD_NEWER_INHERIT_PROPERTIES = 7 /* ErrorStatus values for CertTrustStatus struct */ CERT_TRUST_NO_ERROR = 0x00000000 CERT_TRUST_IS_NOT_TIME_VALID = 0x00000001 CERT_TRUST_IS_REVOKED = 0x00000004 CERT_TRUST_IS_NOT_SIGNATURE_VALID = 0x00000008 CERT_TRUST_IS_NOT_VALID_FOR_USAGE = 0x00000010 CERT_TRUST_IS_UNTRUSTED_ROOT = 0x00000020 CERT_TRUST_REVOCATION_STATUS_UNKNOWN = 0x00000040 CERT_TRUST_IS_CYCLIC = 0x00000080 CERT_TRUST_INVALID_EXTENSION = 0x00000100 CERT_TRUST_INVALID_POLICY_CONSTRAINTS = 0x00000200 CERT_TRUST_INVALID_BASIC_CONSTRAINTS = 0x00000400 CERT_TRUST_INVALID_NAME_CONSTRAINTS = 0x00000800 CERT_TRUST_HAS_NOT_SUPPORTED_NAME_CONSTRAINT = 0x00001000 CERT_TRUST_HAS_NOT_DEFINED_NAME_CONSTRAINT = 0x00002000 CERT_TRUST_HAS_NOT_PERMITTED_NAME_CONSTRAINT = 0x00004000 CERT_TRUST_HAS_EXCLUDED_NAME_CONSTRAINT = 0x00008000 CERT_TRUST_IS_PARTIAL_CHAIN = 0x00010000 CERT_TRUST_CTL_IS_NOT_TIME_VALID = 0x00020000 CERT_TRUST_CTL_IS_NOT_SIGNATURE_VALID = 0x00040000 CERT_TRUST_CTL_IS_NOT_VALID_FOR_USAGE = 0x00080000 CERT_TRUST_HAS_WEAK_SIGNATURE = 0x00100000 CERT_TRUST_IS_OFFLINE_REVOCATION = 0x01000000 CERT_TRUST_NO_ISSUANCE_CHAIN_POLICY = 0x02000000 CERT_TRUST_IS_EXPLICIT_DISTRUST = 0x04000000 CERT_TRUST_HAS_NOT_SUPPORTED_CRITICAL_EXT = 0x08000000 /* InfoStatus values for CertTrustStatus struct */ CERT_TRUST_HAS_EXACT_MATCH_ISSUER = 0x00000001 CERT_TRUST_HAS_KEY_MATCH_ISSUER = 0x00000002 CERT_TRUST_HAS_NAME_MATCH_ISSUER = 0x00000004 CERT_TRUST_IS_SELF_SIGNED = 0x00000008 CERT_TRUST_HAS_PREFERRED_ISSUER = 0x00000100 CERT_TRUST_HAS_ISSUANCE_CHAIN_POLICY = 0x00000400 CERT_TRUST_HAS_VALID_NAME_CONSTRAINTS = 0x00000400 CERT_TRUST_IS_PEER_TRUSTED = 0x00000800 CERT_TRUST_HAS_CRL_VALIDITY_EXTENDED = 0x00001000 CERT_TRUST_IS_FROM_EXCLUSIVE_TRUST_STORE = 0x00002000 CERT_TRUST_IS_CA_TRUSTED = 0x00004000 CERT_TRUST_IS_COMPLEX_CHAIN = 0x00010000 /* Certificate Information Flags */ CERT_INFO_VERSION_FLAG = 1 CERT_INFO_SERIAL_NUMBER_FLAG = 2 CERT_INFO_SIGNATURE_ALGORITHM_FLAG = 3 CERT_INFO_ISSUER_FLAG = 4 CERT_INFO_NOT_BEFORE_FLAG = 5 CERT_INFO_NOT_AFTER_FLAG = 6 CERT_INFO_SUBJECT_FLAG = 7 CERT_INFO_SUBJECT_PUBLIC_KEY_INFO_FLAG = 8 CERT_INFO_ISSUER_UNIQUE_ID_FLAG = 9 CERT_INFO_SUBJECT_UNIQUE_ID_FLAG = 10 CERT_INFO_EXTENSION_FLAG = 11 /* dwFindType for CertFindCertificateInStore */ CERT_COMPARE_MASK = 0xFFFF CERT_COMPARE_SHIFT = 16 CERT_COMPARE_ANY = 0 CERT_COMPARE_SHA1_HASH = 1 CERT_COMPARE_NAME = 2 CERT_COMPARE_ATTR = 3 CERT_COMPARE_MD5_HASH = 4 CERT_COMPARE_PROPERTY = 5 CERT_COMPARE_PUBLIC_KEY = 6 CERT_COMPARE_HASH = CERT_COMPARE_SHA1_HASH CERT_COMPARE_NAME_STR_A = 7 CERT_COMPARE_NAME_STR_W = 8 CERT_COMPARE_KEY_SPEC = 9 CERT_COMPARE_ENHKEY_USAGE = 10 CERT_COMPARE_CTL_USAGE = CERT_COMPARE_ENHKEY_USAGE CERT_COMPARE_SUBJECT_CERT = 11 CERT_COMPARE_ISSUER_OF = 12 CERT_COMPARE_EXISTING = 13 CERT_COMPARE_SIGNATURE_HASH = 14 CERT_COMPARE_KEY_IDENTIFIER = 15 CERT_COMPARE_CERT_ID = 16 CERT_COMPARE_CROSS_CERT_DIST_POINTS = 17 CERT_COMPARE_PUBKEY_MD5_HASH = 18 CERT_COMPARE_SUBJECT_INFO_ACCESS = 19 CERT_COMPARE_HASH_STR = 20 CERT_COMPARE_HAS_PRIVATE_KEY = 21 CERT_FIND_ANY = (CERT_COMPARE_ANY << CERT_COMPARE_SHIFT) CERT_FIND_SHA1_HASH = (CERT_COMPARE_SHA1_HASH << CERT_COMPARE_SHIFT) CERT_FIND_MD5_HASH = (CERT_COMPARE_MD5_HASH << CERT_COMPARE_SHIFT) CERT_FIND_SIGNATURE_HASH = (CERT_COMPARE_SIGNATURE_HASH << CERT_COMPARE_SHIFT) CERT_FIND_KEY_IDENTIFIER = (CERT_COMPARE_KEY_IDENTIFIER << CERT_COMPARE_SHIFT) CERT_FIND_HASH = CERT_FIND_SHA1_HASH CERT_FIND_PROPERTY = (CERT_COMPARE_PROPERTY << CERT_COMPARE_SHIFT) CERT_FIND_PUBLIC_KEY = (CERT_COMPARE_PUBLIC_KEY << CERT_COMPARE_SHIFT) CERT_FIND_SUBJECT_NAME = (CERT_COMPARE_NAME<> 32 & 0xffffffff) return ft } type Win32finddata struct { FileAttributes uint32 CreationTime Filetime LastAccessTime Filetime LastWriteTime Filetime FileSizeHigh uint32 FileSizeLow uint32 Reserved0 uint32 Reserved1 uint32 FileName [MAX_PATH - 1]uint16 AlternateFileName [13]uint16 } // This is the actual system call structure. // Win32finddata is what we committed to in Go 1. type win32finddata1 struct { FileAttributes uint32 CreationTime Filetime LastAccessTime Filetime LastWriteTime Filetime FileSizeHigh uint32 FileSizeLow uint32 Reserved0 uint32 Reserved1 uint32 FileName [MAX_PATH]uint16 AlternateFileName [14]uint16 // The Microsoft documentation for this struct¹ describes three additional // fields: dwFileType, dwCreatorType, and wFinderFlags. However, those fields // are empirically only present in the macOS port of the Win32 API,² and thus // not needed for binaries built for Windows. // // ¹ https://docs.microsoft.com/en-us/windows/win32/api/minwinbase/ns-minwinbase-win32_find_dataw describe // ² https://golang.org/issue/42637#issuecomment-760715755. } func copyFindData(dst *Win32finddata, src *win32finddata1) { dst.FileAttributes = src.FileAttributes dst.CreationTime = src.CreationTime dst.LastAccessTime = src.LastAccessTime dst.LastWriteTime = src.LastWriteTime dst.FileSizeHigh = src.FileSizeHigh dst.FileSizeLow = src.FileSizeLow dst.Reserved0 = src.Reserved0 dst.Reserved1 = src.Reserved1 // The src is 1 element bigger than dst, but it must be NUL. copy(dst.FileName[:], src.FileName[:]) copy(dst.AlternateFileName[:], src.AlternateFileName[:]) } type ByHandleFileInformation struct { FileAttributes uint32 CreationTime Filetime LastAccessTime Filetime LastWriteTime Filetime VolumeSerialNumber uint32 FileSizeHigh uint32 FileSizeLow uint32 NumberOfLinks uint32 FileIndexHigh uint32 FileIndexLow uint32 } const ( GetFileExInfoStandard = 0 GetFileExMaxInfoLevel = 1 ) type Win32FileAttributeData struct { FileAttributes uint32 CreationTime Filetime LastAccessTime Filetime LastWriteTime Filetime FileSizeHigh uint32 FileSizeLow uint32 } // ShowWindow constants const ( // winuser.h SW_HIDE = 0 SW_NORMAL = 1 SW_SHOWNORMAL = 1 SW_SHOWMINIMIZED = 2 SW_SHOWMAXIMIZED = 3 SW_MAXIMIZE = 3 SW_SHOWNOACTIVATE = 4 SW_SHOW = 5 SW_MINIMIZE = 6 SW_SHOWMINNOACTIVE = 7 SW_SHOWNA = 8 SW_RESTORE = 9 SW_SHOWDEFAULT = 10 SW_FORCEMINIMIZE = 11 ) type StartupInfo struct { Cb uint32 _ *uint16 Desktop *uint16 Title *uint16 X uint32 Y uint32 XSize uint32 YSize uint32 XCountChars uint32 YCountChars uint32 FillAttribute uint32 Flags uint32 ShowWindow uint16 _ uint16 _ *byte StdInput Handle StdOutput Handle StdErr Handle } type StartupInfoEx struct { StartupInfo ProcThreadAttributeList *ProcThreadAttributeList } // ProcThreadAttributeList is a placeholder type to represent a PROC_THREAD_ATTRIBUTE_LIST. // // To create a *ProcThreadAttributeList, use NewProcThreadAttributeList, update // it with ProcThreadAttributeListContainer.Update, free its memory using // ProcThreadAttributeListContainer.Delete, and access the list itself using // ProcThreadAttributeListContainer.List. type ProcThreadAttributeList struct{} type ProcThreadAttributeListContainer struct { data *ProcThreadAttributeList pointers []unsafe.Pointer } type ProcessInformation struct { Process Handle Thread Handle ProcessId uint32 ThreadId uint32 } type ProcessEntry32 struct { Size uint32 Usage uint32 ProcessID uint32 DefaultHeapID uintptr ModuleID uint32 Threads uint32 ParentProcessID uint32 PriClassBase int32 Flags uint32 ExeFile [MAX_PATH]uint16 } type ThreadEntry32 struct { Size uint32 Usage uint32 ThreadID uint32 OwnerProcessID uint32 BasePri int32 DeltaPri int32 Flags uint32 } type ModuleEntry32 struct { Size uint32 ModuleID uint32 ProcessID uint32 GlblcntUsage uint32 ProccntUsage uint32 ModBaseAddr uintptr ModBaseSize uint32 ModuleHandle Handle Module [MAX_MODULE_NAME32 + 1]uint16 ExePath [MAX_PATH]uint16 } const SizeofModuleEntry32 = unsafe.Sizeof(ModuleEntry32{}) type Systemtime struct { Year uint16 Month uint16 DayOfWeek uint16 Day uint16 Hour uint16 Minute uint16 Second uint16 Milliseconds uint16 } type Timezoneinformation struct { Bias int32 StandardName [32]uint16 StandardDate Systemtime StandardBias int32 DaylightName [32]uint16 DaylightDate Systemtime DaylightBias int32 } // Socket related. const ( AF_UNSPEC = 0 AF_UNIX = 1 AF_INET = 2 AF_NETBIOS = 17 AF_INET6 = 23 AF_IRDA = 26 AF_BTH = 32 SOCK_STREAM = 1 SOCK_DGRAM = 2 SOCK_RAW = 3 SOCK_RDM = 4 SOCK_SEQPACKET = 5 IPPROTO_IP = 0 IPPROTO_ICMP = 1 IPPROTO_IGMP = 2 BTHPROTO_RFCOMM = 3 IPPROTO_TCP = 6 IPPROTO_UDP = 17 IPPROTO_IPV6 = 41 IPPROTO_ICMPV6 = 58 IPPROTO_RM = 113 SOL_SOCKET = 0xffff SO_REUSEADDR = 4 SO_KEEPALIVE = 8 SO_DONTROUTE = 16 SO_BROADCAST = 32 SO_LINGER = 128 SO_RCVBUF = 0x1002 SO_RCVTIMEO = 0x1006 SO_SNDBUF = 0x1001 SO_UPDATE_ACCEPT_CONTEXT = 0x700b SO_UPDATE_CONNECT_CONTEXT = 0x7010 IOC_OUT = 0x40000000 IOC_IN = 0x80000000 IOC_VENDOR = 0x18000000 IOC_INOUT = IOC_IN | IOC_OUT IOC_WS2 = 0x08000000 SIO_GET_EXTENSION_FUNCTION_POINTER = IOC_INOUT | IOC_WS2 | 6 SIO_KEEPALIVE_VALS = IOC_IN | IOC_VENDOR | 4 SIO_UDP_CONNRESET = IOC_IN | IOC_VENDOR | 12 SIO_UDP_NETRESET = IOC_IN | IOC_VENDOR | 15 // cf. http://support.microsoft.com/default.aspx?scid=kb;en-us;257460 IP_HDRINCL = 0x2 IP_TOS = 0x3 IP_TTL = 0x4 IP_MULTICAST_IF = 0x9 IP_MULTICAST_TTL = 0xa IP_MULTICAST_LOOP = 0xb IP_ADD_MEMBERSHIP = 0xc IP_DROP_MEMBERSHIP = 0xd IP_PKTINFO = 0x13 IPV6_V6ONLY = 0x1b IPV6_UNICAST_HOPS = 0x4 IPV6_MULTICAST_IF = 0x9 IPV6_MULTICAST_HOPS = 0xa IPV6_MULTICAST_LOOP = 0xb IPV6_JOIN_GROUP = 0xc IPV6_LEAVE_GROUP = 0xd IPV6_PKTINFO = 0x13 MSG_OOB = 0x1 MSG_PEEK = 0x2 MSG_DONTROUTE = 0x4 MSG_WAITALL = 0x8 MSG_TRUNC = 0x0100 MSG_CTRUNC = 0x0200 MSG_BCAST = 0x0400 MSG_MCAST = 0x0800 SOMAXCONN = 0x7fffffff TCP_NODELAY = 1 TCP_EXPEDITED_1122 = 2 TCP_KEEPALIVE = 3 TCP_MAXSEG = 4 TCP_MAXRT = 5 TCP_STDURG = 6 TCP_NOURG = 7 TCP_ATMARK = 8 TCP_NOSYNRETRIES = 9 TCP_TIMESTAMPS = 10 TCP_OFFLOAD_PREFERENCE = 11 TCP_CONGESTION_ALGORITHM = 12 TCP_DELAY_FIN_ACK = 13 TCP_MAXRTMS = 14 TCP_FASTOPEN = 15 TCP_KEEPCNT = 16 TCP_KEEPIDLE = TCP_KEEPALIVE TCP_KEEPINTVL = 17 TCP_FAIL_CONNECT_ON_ICMP_ERROR = 18 TCP_ICMP_ERROR_INFO = 19 UDP_NOCHECKSUM = 1 UDP_SEND_MSG_SIZE = 2 UDP_RECV_MAX_COALESCED_SIZE = 3 UDP_CHECKSUM_COVERAGE = 20 UDP_COALESCED_INFO = 3 SHUT_RD = 0 SHUT_WR = 1 SHUT_RDWR = 2 WSADESCRIPTION_LEN = 256 WSASYS_STATUS_LEN = 128 ) type WSABuf struct { Len uint32 Buf *byte } type WSAMsg struct { Name *syscall.RawSockaddrAny Namelen int32 Buffers *WSABuf BufferCount uint32 Control WSABuf Flags uint32 } // Flags for WSASocket const ( WSA_FLAG_OVERLAPPED = 0x01 WSA_FLAG_MULTIPOINT_C_ROOT = 0x02 WSA_FLAG_MULTIPOINT_C_LEAF = 0x04 WSA_FLAG_MULTIPOINT_D_ROOT = 0x08 WSA_FLAG_MULTIPOINT_D_LEAF = 0x10 WSA_FLAG_ACCESS_SYSTEM_SECURITY = 0x40 WSA_FLAG_NO_HANDLE_INHERIT = 0x80 WSA_FLAG_REGISTERED_IO = 0x100 ) // Invented values to support what package os expects. const ( S_IFMT = 0x1f000 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_IWRITE = 0x80 S_IWUSR = 0x80 S_IXUSR = 0x40 ) const ( FILE_TYPE_CHAR = 0x0002 FILE_TYPE_DISK = 0x0001 FILE_TYPE_PIPE = 0x0003 FILE_TYPE_REMOTE = 0x8000 FILE_TYPE_UNKNOWN = 0x0000 ) type Hostent struct { Name *byte Aliases **byte AddrType uint16 Length uint16 AddrList **byte } type Protoent struct { Name *byte Aliases **byte Proto uint16 } const ( DNS_TYPE_A = 0x0001 DNS_TYPE_NS = 0x0002 DNS_TYPE_MD = 0x0003 DNS_TYPE_MF = 0x0004 DNS_TYPE_CNAME = 0x0005 DNS_TYPE_SOA = 0x0006 DNS_TYPE_MB = 0x0007 DNS_TYPE_MG = 0x0008 DNS_TYPE_MR = 0x0009 DNS_TYPE_NULL = 0x000a DNS_TYPE_WKS = 0x000b DNS_TYPE_PTR = 0x000c DNS_TYPE_HINFO = 0x000d DNS_TYPE_MINFO = 0x000e DNS_TYPE_MX = 0x000f DNS_TYPE_TEXT = 0x0010 DNS_TYPE_RP = 0x0011 DNS_TYPE_AFSDB = 0x0012 DNS_TYPE_X25 = 0x0013 DNS_TYPE_ISDN = 0x0014 DNS_TYPE_RT = 0x0015 DNS_TYPE_NSAP = 0x0016 DNS_TYPE_NSAPPTR = 0x0017 DNS_TYPE_SIG = 0x0018 DNS_TYPE_KEY = 0x0019 DNS_TYPE_PX = 0x001a DNS_TYPE_GPOS = 0x001b DNS_TYPE_AAAA = 0x001c DNS_TYPE_LOC = 0x001d DNS_TYPE_NXT = 0x001e DNS_TYPE_EID = 0x001f DNS_TYPE_NIMLOC = 0x0020 DNS_TYPE_SRV = 0x0021 DNS_TYPE_ATMA = 0x0022 DNS_TYPE_NAPTR = 0x0023 DNS_TYPE_KX = 0x0024 DNS_TYPE_CERT = 0x0025 DNS_TYPE_A6 = 0x0026 DNS_TYPE_DNAME = 0x0027 DNS_TYPE_SINK = 0x0028 DNS_TYPE_OPT = 0x0029 DNS_TYPE_DS = 0x002B DNS_TYPE_RRSIG = 0x002E DNS_TYPE_NSEC = 0x002F DNS_TYPE_DNSKEY = 0x0030 DNS_TYPE_DHCID = 0x0031 DNS_TYPE_UINFO = 0x0064 DNS_TYPE_UID = 0x0065 DNS_TYPE_GID = 0x0066 DNS_TYPE_UNSPEC = 0x0067 DNS_TYPE_ADDRS = 0x00f8 DNS_TYPE_TKEY = 0x00f9 DNS_TYPE_TSIG = 0x00fa DNS_TYPE_IXFR = 0x00fb DNS_TYPE_AXFR = 0x00fc DNS_TYPE_MAILB = 0x00fd DNS_TYPE_MAILA = 0x00fe DNS_TYPE_ALL = 0x00ff DNS_TYPE_ANY = 0x00ff DNS_TYPE_WINS = 0xff01 DNS_TYPE_WINSR = 0xff02 DNS_TYPE_NBSTAT = 0xff01 ) const ( // flags inside DNSRecord.Dw DnsSectionQuestion = 0x0000 DnsSectionAnswer = 0x0001 DnsSectionAuthority = 0x0002 DnsSectionAdditional = 0x0003 ) const ( // flags of WSALookupService LUP_DEEP = 0x0001 LUP_CONTAINERS = 0x0002 LUP_NOCONTAINERS = 0x0004 LUP_NEAREST = 0x0008 LUP_RETURN_NAME = 0x0010 LUP_RETURN_TYPE = 0x0020 LUP_RETURN_VERSION = 0x0040 LUP_RETURN_COMMENT = 0x0080 LUP_RETURN_ADDR = 0x0100 LUP_RETURN_BLOB = 0x0200 LUP_RETURN_ALIASES = 0x0400 LUP_RETURN_QUERY_STRING = 0x0800 LUP_RETURN_ALL = 0x0FF0 LUP_RES_SERVICE = 0x8000 LUP_FLUSHCACHE = 0x1000 LUP_FLUSHPREVIOUS = 0x2000 LUP_NON_AUTHORITATIVE = 0x4000 LUP_SECURE = 0x8000 LUP_RETURN_PREFERRED_NAMES = 0x10000 LUP_DNS_ONLY = 0x20000 LUP_ADDRCONFIG = 0x100000 LUP_DUAL_ADDR = 0x200000 LUP_FILESERVER = 0x400000 LUP_DISABLE_IDN_ENCODING = 0x00800000 LUP_API_ANSI = 0x01000000 LUP_RESOLUTION_HANDLE = 0x80000000 ) const ( // values of WSAQUERYSET's namespace NS_ALL = 0 NS_DNS = 12 NS_NLA = 15 NS_BTH = 16 NS_EMAIL = 37 NS_PNRPNAME = 38 NS_PNRPCLOUD = 39 ) type DNSSRVData struct { Target *uint16 Priority uint16 Weight uint16 Port uint16 Pad uint16 } type DNSPTRData struct { Host *uint16 } type DNSMXData struct { NameExchange *uint16 Preference uint16 Pad uint16 } type DNSTXTData struct { StringCount uint16 StringArray [1]*uint16 } type DNSRecord struct { Next *DNSRecord Name *uint16 Type uint16 Length uint16 Dw uint32 Ttl uint32 Reserved uint32 Data [40]byte } const ( TF_DISCONNECT = 1 TF_REUSE_SOCKET = 2 TF_WRITE_BEHIND = 4 TF_USE_DEFAULT_WORKER = 0 TF_USE_SYSTEM_THREAD = 16 TF_USE_KERNEL_APC = 32 ) type TransmitFileBuffers struct { Head uintptr HeadLength uint32 Tail uintptr TailLength uint32 } const ( IFF_UP = 1 IFF_BROADCAST = 2 IFF_LOOPBACK = 4 IFF_POINTTOPOINT = 8 IFF_MULTICAST = 16 ) const SIO_GET_INTERFACE_LIST = 0x4004747F // TODO(mattn): SockaddrGen is union of sockaddr/sockaddr_in/sockaddr_in6_old. // will be fixed to change variable type as suitable. type SockaddrGen [24]byte type InterfaceInfo struct { Flags uint32 Address SockaddrGen BroadcastAddress SockaddrGen Netmask SockaddrGen } type IpAddressString struct { String [16]byte } type IpMaskString IpAddressString type IpAddrString struct { Next *IpAddrString IpAddress IpAddressString IpMask IpMaskString Context uint32 } const MAX_ADAPTER_NAME_LENGTH = 256 const MAX_ADAPTER_DESCRIPTION_LENGTH = 128 const MAX_ADAPTER_ADDRESS_LENGTH = 8 type IpAdapterInfo struct { Next *IpAdapterInfo ComboIndex uint32 AdapterName [MAX_ADAPTER_NAME_LENGTH + 4]byte Description [MAX_ADAPTER_DESCRIPTION_LENGTH + 4]byte AddressLength uint32 Address [MAX_ADAPTER_ADDRESS_LENGTH]byte Index uint32 Type uint32 DhcpEnabled uint32 CurrentIpAddress *IpAddrString IpAddressList IpAddrString GatewayList IpAddrString DhcpServer IpAddrString HaveWins bool PrimaryWinsServer IpAddrString SecondaryWinsServer IpAddrString LeaseObtained int64 LeaseExpires int64 } const MAXLEN_PHYSADDR = 8 const MAX_INTERFACE_NAME_LEN = 256 const MAXLEN_IFDESCR = 256 type MibIfRow struct { Name [MAX_INTERFACE_NAME_LEN]uint16 Index uint32 Type uint32 Mtu uint32 Speed uint32 PhysAddrLen uint32 PhysAddr [MAXLEN_PHYSADDR]byte AdminStatus uint32 OperStatus uint32 LastChange uint32 InOctets uint32 InUcastPkts uint32 InNUcastPkts uint32 InDiscards uint32 InErrors uint32 InUnknownProtos uint32 OutOctets uint32 OutUcastPkts uint32 OutNUcastPkts uint32 OutDiscards uint32 OutErrors uint32 OutQLen uint32 DescrLen uint32 Descr [MAXLEN_IFDESCR]byte } type CertInfo struct { Version uint32 SerialNumber CryptIntegerBlob SignatureAlgorithm CryptAlgorithmIdentifier Issuer CertNameBlob NotBefore Filetime NotAfter Filetime Subject CertNameBlob SubjectPublicKeyInfo CertPublicKeyInfo IssuerUniqueId CryptBitBlob SubjectUniqueId CryptBitBlob CountExtensions uint32 Extensions *CertExtension } type CertExtension struct { ObjId *byte Critical int32 Value CryptObjidBlob } type CryptAlgorithmIdentifier struct { ObjId *byte Parameters CryptObjidBlob } type CertPublicKeyInfo struct { Algorithm CryptAlgorithmIdentifier PublicKey CryptBitBlob } type DataBlob struct { Size uint32 Data *byte } type CryptIntegerBlob DataBlob type CryptUintBlob DataBlob type CryptObjidBlob DataBlob type CertNameBlob DataBlob type CertRdnValueBlob DataBlob type CertBlob DataBlob type CrlBlob DataBlob type CryptDataBlob DataBlob type CryptHashBlob DataBlob type CryptDigestBlob DataBlob type CryptDerBlob DataBlob type CryptAttrBlob DataBlob type CryptBitBlob struct { Size uint32 Data *byte UnusedBits uint32 } type CertContext struct { EncodingType uint32 EncodedCert *byte Length uint32 CertInfo *CertInfo Store Handle } type CertChainContext struct { Size uint32 TrustStatus CertTrustStatus ChainCount uint32 Chains **CertSimpleChain LowerQualityChainCount uint32 LowerQualityChains **CertChainContext HasRevocationFreshnessTime uint32 RevocationFreshnessTime uint32 } type CertTrustListInfo struct { // Not implemented } type CertSimpleChain struct { Size uint32 TrustStatus CertTrustStatus NumElements uint32 Elements **CertChainElement TrustListInfo *CertTrustListInfo HasRevocationFreshnessTime uint32 RevocationFreshnessTime uint32 } type CertChainElement struct { Size uint32 CertContext *CertContext TrustStatus CertTrustStatus RevocationInfo *CertRevocationInfo IssuanceUsage *CertEnhKeyUsage ApplicationUsage *CertEnhKeyUsage ExtendedErrorInfo *uint16 } type CertRevocationCrlInfo struct { // Not implemented } type CertRevocationInfo struct { Size uint32 RevocationResult uint32 RevocationOid *byte OidSpecificInfo Pointer HasFreshnessTime uint32 FreshnessTime uint32 CrlInfo *CertRevocationCrlInfo } type CertTrustStatus struct { ErrorStatus uint32 InfoStatus uint32 } type CertUsageMatch struct { Type uint32 Usage CertEnhKeyUsage } type CertEnhKeyUsage struct { Length uint32 UsageIdentifiers **byte } type CertChainPara struct { Size uint32 RequestedUsage CertUsageMatch RequstedIssuancePolicy CertUsageMatch URLRetrievalTimeout uint32 CheckRevocationFreshnessTime uint32 RevocationFreshnessTime uint32 CacheResync *Filetime } type CertChainPolicyPara struct { Size uint32 Flags uint32 ExtraPolicyPara Pointer } type SSLExtraCertChainPolicyPara struct { Size uint32 AuthType uint32 Checks uint32 ServerName *uint16 } type CertChainPolicyStatus struct { Size uint32 Error uint32 ChainIndex uint32 ElementIndex uint32 ExtraPolicyStatus Pointer } type CertPolicyInfo struct { Identifier *byte CountQualifiers uint32 Qualifiers *CertPolicyQualifierInfo } type CertPoliciesInfo struct { Count uint32 PolicyInfos *CertPolicyInfo } type CertPolicyQualifierInfo struct { // Not implemented } type CertStrongSignPara struct { Size uint32 InfoChoice uint32 InfoOrSerializedInfoOrOID unsafe.Pointer } type CryptProtectPromptStruct struct { Size uint32 PromptFlags uint32 App HWND Prompt *uint16 } type CertChainFindByIssuerPara struct { Size uint32 UsageIdentifier *byte KeySpec uint32 AcquirePrivateKeyFlags uint32 IssuerCount uint32 Issuer Pointer FindCallback Pointer FindArg Pointer IssuerChainIndex *uint32 IssuerElementIndex *uint32 } type WinTrustData struct { Size uint32 PolicyCallbackData uintptr SIPClientData uintptr UIChoice uint32 RevocationChecks uint32 UnionChoice uint32 FileOrCatalogOrBlobOrSgnrOrCert unsafe.Pointer StateAction uint32 StateData Handle URLReference *uint16 ProvFlags uint32 UIContext uint32 SignatureSettings *WinTrustSignatureSettings } type WinTrustFileInfo struct { Size uint32 FilePath *uint16 File Handle KnownSubject *GUID } type WinTrustSignatureSettings struct { Size uint32 Index uint32 Flags uint32 SecondarySigs uint32 VerifiedSigIndex uint32 CryptoPolicy *CertStrongSignPara } const ( // do not reorder HKEY_CLASSES_ROOT = 0x80000000 + iota HKEY_CURRENT_USER HKEY_LOCAL_MACHINE HKEY_USERS HKEY_PERFORMANCE_DATA HKEY_CURRENT_CONFIG HKEY_DYN_DATA KEY_QUERY_VALUE = 1 KEY_SET_VALUE = 2 KEY_CREATE_SUB_KEY = 4 KEY_ENUMERATE_SUB_KEYS = 8 KEY_NOTIFY = 16 KEY_CREATE_LINK = 32 KEY_WRITE = 0x20006 KEY_EXECUTE = 0x20019 KEY_READ = 0x20019 KEY_WOW64_64KEY = 0x0100 KEY_WOW64_32KEY = 0x0200 KEY_ALL_ACCESS = 0xf003f ) const ( // do not reorder REG_NONE = iota REG_SZ REG_EXPAND_SZ REG_BINARY REG_DWORD_LITTLE_ENDIAN REG_DWORD_BIG_ENDIAN REG_LINK REG_MULTI_SZ REG_RESOURCE_LIST REG_FULL_RESOURCE_DESCRIPTOR REG_RESOURCE_REQUIREMENTS_LIST REG_QWORD_LITTLE_ENDIAN REG_DWORD = REG_DWORD_LITTLE_ENDIAN REG_QWORD = REG_QWORD_LITTLE_ENDIAN ) const ( EVENT_MODIFY_STATE = 0x0002 EVENT_ALL_ACCESS = STANDARD_RIGHTS_REQUIRED | SYNCHRONIZE | 0x3 MUTANT_QUERY_STATE = 0x0001 MUTANT_ALL_ACCESS = STANDARD_RIGHTS_REQUIRED | SYNCHRONIZE | MUTANT_QUERY_STATE SEMAPHORE_MODIFY_STATE = 0x0002 SEMAPHORE_ALL_ACCESS = STANDARD_RIGHTS_REQUIRED | SYNCHRONIZE | 0x3 TIMER_QUERY_STATE = 0x0001 TIMER_MODIFY_STATE = 0x0002 TIMER_ALL_ACCESS = STANDARD_RIGHTS_REQUIRED | SYNCHRONIZE | TIMER_QUERY_STATE | TIMER_MODIFY_STATE MUTEX_MODIFY_STATE = MUTANT_QUERY_STATE MUTEX_ALL_ACCESS = MUTANT_ALL_ACCESS CREATE_EVENT_MANUAL_RESET = 0x1 CREATE_EVENT_INITIAL_SET = 0x2 CREATE_MUTEX_INITIAL_OWNER = 0x1 ) type AddrinfoW struct { Flags int32 Family int32 Socktype int32 Protocol int32 Addrlen uintptr Canonname *uint16 Addr uintptr Next *AddrinfoW } const ( AI_PASSIVE = 1 AI_CANONNAME = 2 AI_NUMERICHOST = 4 ) type GUID struct { Data1 uint32 Data2 uint16 Data3 uint16 Data4 [8]byte } var WSAID_CONNECTEX = GUID{ 0x25a207b9, 0xddf3, 0x4660, [8]byte{0x8e, 0xe9, 0x76, 0xe5, 0x8c, 0x74, 0x06, 0x3e}, } var WSAID_WSASENDMSG = GUID{ 0xa441e712, 0x754f, 0x43ca, [8]byte{0x84, 0xa7, 0x0d, 0xee, 0x44, 0xcf, 0x60, 0x6d}, } var WSAID_WSARECVMSG = GUID{ 0xf689d7c8, 0x6f1f, 0x436b, [8]byte{0x8a, 0x53, 0xe5, 0x4f, 0xe3, 0x51, 0xc3, 0x22}, } const ( FILE_SKIP_COMPLETION_PORT_ON_SUCCESS = 1 FILE_SKIP_SET_EVENT_ON_HANDLE = 2 ) const ( WSAPROTOCOL_LEN = 255 MAX_PROTOCOL_CHAIN = 7 BASE_PROTOCOL = 1 LAYERED_PROTOCOL = 0 XP1_CONNECTIONLESS = 0x00000001 XP1_GUARANTEED_DELIVERY = 0x00000002 XP1_GUARANTEED_ORDER = 0x00000004 XP1_MESSAGE_ORIENTED = 0x00000008 XP1_PSEUDO_STREAM = 0x00000010 XP1_GRACEFUL_CLOSE = 0x00000020 XP1_EXPEDITED_DATA = 0x00000040 XP1_CONNECT_DATA = 0x00000080 XP1_DISCONNECT_DATA = 0x00000100 XP1_SUPPORT_BROADCAST = 0x00000200 XP1_SUPPORT_MULTIPOINT = 0x00000400 XP1_MULTIPOINT_CONTROL_PLANE = 0x00000800 XP1_MULTIPOINT_DATA_PLANE = 0x00001000 XP1_QOS_SUPPORTED = 0x00002000 XP1_UNI_SEND = 0x00008000 XP1_UNI_RECV = 0x00010000 XP1_IFS_HANDLES = 0x00020000 XP1_PARTIAL_MESSAGE = 0x00040000 XP1_SAN_SUPPORT_SDP = 0x00080000 PFL_MULTIPLE_PROTO_ENTRIES = 0x00000001 PFL_RECOMMENDED_PROTO_ENTRY = 0x00000002 PFL_HIDDEN = 0x00000004 PFL_MATCHES_PROTOCOL_ZERO = 0x00000008 PFL_NETWORKDIRECT_PROVIDER = 0x00000010 ) type WSAProtocolInfo struct { ServiceFlags1 uint32 ServiceFlags2 uint32 ServiceFlags3 uint32 ServiceFlags4 uint32 ProviderFlags uint32 ProviderId GUID CatalogEntryId uint32 ProtocolChain WSAProtocolChain Version int32 AddressFamily int32 MaxSockAddr int32 MinSockAddr int32 SocketType int32 Protocol int32 ProtocolMaxOffset int32 NetworkByteOrder int32 SecurityScheme int32 MessageSize uint32 ProviderReserved uint32 ProtocolName [WSAPROTOCOL_LEN + 1]uint16 } type WSAProtocolChain struct { ChainLen int32 ChainEntries [MAX_PROTOCOL_CHAIN]uint32 } type TCPKeepalive struct { OnOff uint32 Time uint32 Interval uint32 } type symbolicLinkReparseBuffer struct { SubstituteNameOffset uint16 SubstituteNameLength uint16 PrintNameOffset uint16 PrintNameLength uint16 Flags uint32 PathBuffer [1]uint16 } type mountPointReparseBuffer struct { SubstituteNameOffset uint16 SubstituteNameLength uint16 PrintNameOffset uint16 PrintNameLength uint16 PathBuffer [1]uint16 } type reparseDataBuffer struct { ReparseTag uint32 ReparseDataLength uint16 Reserved uint16 // GenericReparseBuffer reparseBuffer byte } const ( FSCTL_CREATE_OR_GET_OBJECT_ID = 0x0900C0 FSCTL_DELETE_OBJECT_ID = 0x0900A0 FSCTL_DELETE_REPARSE_POINT = 0x0900AC FSCTL_DUPLICATE_EXTENTS_TO_FILE = 0x098344 FSCTL_DUPLICATE_EXTENTS_TO_FILE_EX = 0x0983E8 FSCTL_FILESYSTEM_GET_STATISTICS = 0x090060 FSCTL_FILE_LEVEL_TRIM = 0x098208 FSCTL_FIND_FILES_BY_SID = 0x09008F FSCTL_GET_COMPRESSION = 0x09003C FSCTL_GET_INTEGRITY_INFORMATION = 0x09027C FSCTL_GET_NTFS_VOLUME_DATA = 0x090064 FSCTL_GET_REFS_VOLUME_DATA = 0x0902D8 FSCTL_GET_OBJECT_ID = 0x09009C FSCTL_GET_REPARSE_POINT = 0x0900A8 FSCTL_GET_RETRIEVAL_POINTER_COUNT = 0x09042B FSCTL_GET_RETRIEVAL_POINTERS = 0x090073 FSCTL_GET_RETRIEVAL_POINTERS_AND_REFCOUNT = 0x0903D3 FSCTL_IS_PATHNAME_VALID = 0x09002C FSCTL_LMR_SET_LINK_TRACKING_INFORMATION = 0x1400EC FSCTL_MARK_HANDLE = 0x0900FC FSCTL_OFFLOAD_READ = 0x094264 FSCTL_OFFLOAD_WRITE = 0x098268 FSCTL_PIPE_PEEK = 0x11400C FSCTL_PIPE_TRANSCEIVE = 0x11C017 FSCTL_PIPE_WAIT = 0x110018 FSCTL_QUERY_ALLOCATED_RANGES = 0x0940CF FSCTL_QUERY_FAT_BPB = 0x090058 FSCTL_QUERY_FILE_REGIONS = 0x090284 FSCTL_QUERY_ON_DISK_VOLUME_INFO = 0x09013C FSCTL_QUERY_SPARING_INFO = 0x090138 FSCTL_READ_FILE_USN_DATA = 0x0900EB FSCTL_RECALL_FILE = 0x090117 FSCTL_REFS_STREAM_SNAPSHOT_MANAGEMENT = 0x090440 FSCTL_SET_COMPRESSION = 0x09C040 FSCTL_SET_DEFECT_MANAGEMENT = 0x098134 FSCTL_SET_ENCRYPTION = 0x0900D7 FSCTL_SET_INTEGRITY_INFORMATION = 0x09C280 FSCTL_SET_INTEGRITY_INFORMATION_EX = 0x090380 FSCTL_SET_OBJECT_ID = 0x090098 FSCTL_SET_OBJECT_ID_EXTENDED = 0x0900BC FSCTL_SET_REPARSE_POINT = 0x0900A4 FSCTL_SET_SPARSE = 0x0900C4 FSCTL_SET_ZERO_DATA = 0x0980C8 FSCTL_SET_ZERO_ON_DEALLOCATION = 0x090194 FSCTL_SIS_COPYFILE = 0x090100 FSCTL_WRITE_USN_CLOSE_RECORD = 0x0900EF MAXIMUM_REPARSE_DATA_BUFFER_SIZE = 16 * 1024 IO_REPARSE_TAG_MOUNT_POINT = 0xA0000003 IO_REPARSE_TAG_SYMLINK = 0xA000000C SYMBOLIC_LINK_FLAG_DIRECTORY = 0x1 ) const ( ComputerNameNetBIOS = 0 ComputerNameDnsHostname = 1 ComputerNameDnsDomain = 2 ComputerNameDnsFullyQualified = 3 ComputerNamePhysicalNetBIOS = 4 ComputerNamePhysicalDnsHostname = 5 ComputerNamePhysicalDnsDomain = 6 ComputerNamePhysicalDnsFullyQualified = 7 ComputerNameMax = 8 ) // For MessageBox() const ( MB_OK = 0x00000000 MB_OKCANCEL = 0x00000001 MB_ABORTRETRYIGNORE = 0x00000002 MB_YESNOCANCEL = 0x00000003 MB_YESNO = 0x00000004 MB_RETRYCANCEL = 0x00000005 MB_CANCELTRYCONTINUE = 0x00000006 MB_ICONHAND = 0x00000010 MB_ICONQUESTION = 0x00000020 MB_ICONEXCLAMATION = 0x00000030 MB_ICONASTERISK = 0x00000040 MB_USERICON = 0x00000080 MB_ICONWARNING = MB_ICONEXCLAMATION MB_ICONERROR = MB_ICONHAND MB_ICONINFORMATION = MB_ICONASTERISK MB_ICONSTOP = MB_ICONHAND MB_DEFBUTTON1 = 0x00000000 MB_DEFBUTTON2 = 0x00000100 MB_DEFBUTTON3 = 0x00000200 MB_DEFBUTTON4 = 0x00000300 MB_APPLMODAL = 0x00000000 MB_SYSTEMMODAL = 0x00001000 MB_TASKMODAL = 0x00002000 MB_HELP = 0x00004000 MB_NOFOCUS = 0x00008000 MB_SETFOREGROUND = 0x00010000 MB_DEFAULT_DESKTOP_ONLY = 0x00020000 MB_TOPMOST = 0x00040000 MB_RIGHT = 0x00080000 MB_RTLREADING = 0x00100000 MB_SERVICE_NOTIFICATION = 0x00200000 ) const ( MOVEFILE_REPLACE_EXISTING = 0x1 MOVEFILE_COPY_ALLOWED = 0x2 MOVEFILE_DELAY_UNTIL_REBOOT = 0x4 MOVEFILE_WRITE_THROUGH = 0x8 MOVEFILE_CREATE_HARDLINK = 0x10 MOVEFILE_FAIL_IF_NOT_TRACKABLE = 0x20 ) // Flags for GetAdaptersAddresses, see // https://learn.microsoft.com/en-us/windows/win32/api/iphlpapi/nf-iphlpapi-getadaptersaddresses. const ( GAA_FLAG_SKIP_UNICAST = 0x1 GAA_FLAG_SKIP_ANYCAST = 0x2 GAA_FLAG_SKIP_MULTICAST = 0x4 GAA_FLAG_SKIP_DNS_SERVER = 0x8 GAA_FLAG_INCLUDE_PREFIX = 0x10 GAA_FLAG_SKIP_FRIENDLY_NAME = 0x20 GAA_FLAG_INCLUDE_WINS_INFO = 0x40 GAA_FLAG_INCLUDE_GATEWAYS = 0x80 GAA_FLAG_INCLUDE_ALL_INTERFACES = 0x100 GAA_FLAG_INCLUDE_ALL_COMPARTMENTS = 0x200 GAA_FLAG_INCLUDE_TUNNEL_BINDINGORDER = 0x400 ) const ( IF_TYPE_OTHER = 1 IF_TYPE_ETHERNET_CSMACD = 6 IF_TYPE_ISO88025_TOKENRING = 9 IF_TYPE_PPP = 23 IF_TYPE_SOFTWARE_LOOPBACK = 24 IF_TYPE_ATM = 37 IF_TYPE_IEEE80211 = 71 IF_TYPE_TUNNEL = 131 IF_TYPE_IEEE1394 = 144 ) // Enum NL_PREFIX_ORIGIN for [IpAdapterUnicastAddress], see // https://learn.microsoft.com/en-us/windows/win32/api/nldef/ne-nldef-nl_prefix_origin const ( IpPrefixOriginOther = 0 IpPrefixOriginManual = 1 IpPrefixOriginWellKnown = 2 IpPrefixOriginDhcp = 3 IpPrefixOriginRouterAdvertisement = 4 IpPrefixOriginUnchanged = 1 << 4 ) // Enum NL_SUFFIX_ORIGIN for [IpAdapterUnicastAddress], see // https://learn.microsoft.com/en-us/windows/win32/api/nldef/ne-nldef-nl_suffix_origin const ( NlsoOther = 0 NlsoManual = 1 NlsoWellKnown = 2 NlsoDhcp = 3 NlsoLinkLayerAddress = 4 NlsoRandom = 5 IpSuffixOriginOther = 0 IpSuffixOriginManual = 1 IpSuffixOriginWellKnown = 2 IpSuffixOriginDhcp = 3 IpSuffixOriginLinkLayerAddress = 4 IpSuffixOriginRandom = 5 IpSuffixOriginUnchanged = 1 << 4 ) // Enum NL_DAD_STATE for [IpAdapterUnicastAddress], see // https://learn.microsoft.com/en-us/windows/win32/api/nldef/ne-nldef-nl_dad_state const ( NldsInvalid = 0 NldsTentative = 1 NldsDuplicate = 2 NldsDeprecated = 3 NldsPreferred = 4 IpDadStateInvalid = 0 IpDadStateTentative = 1 IpDadStateDuplicate = 2 IpDadStateDeprecated = 3 IpDadStatePreferred = 4 ) type SocketAddress struct { Sockaddr *syscall.RawSockaddrAny SockaddrLength int32 } // IP returns an IPv4 or IPv6 address, or nil if the underlying SocketAddress is neither. func (addr *SocketAddress) IP() net.IP { if uintptr(addr.SockaddrLength) >= unsafe.Sizeof(RawSockaddrInet4{}) && addr.Sockaddr.Addr.Family == AF_INET { return (*RawSockaddrInet4)(unsafe.Pointer(addr.Sockaddr)).Addr[:] } else if uintptr(addr.SockaddrLength) >= unsafe.Sizeof(RawSockaddrInet6{}) && addr.Sockaddr.Addr.Family == AF_INET6 { return (*RawSockaddrInet6)(unsafe.Pointer(addr.Sockaddr)).Addr[:] } return nil } type IpAdapterUnicastAddress struct { Length uint32 Flags uint32 Next *IpAdapterUnicastAddress Address SocketAddress PrefixOrigin int32 SuffixOrigin int32 DadState int32 ValidLifetime uint32 PreferredLifetime uint32 LeaseLifetime uint32 OnLinkPrefixLength uint8 } type IpAdapterAnycastAddress struct { Length uint32 Flags uint32 Next *IpAdapterAnycastAddress Address SocketAddress } type IpAdapterMulticastAddress struct { Length uint32 Flags uint32 Next *IpAdapterMulticastAddress Address SocketAddress } type IpAdapterDnsServerAdapter struct { Length uint32 Reserved uint32 Next *IpAdapterDnsServerAdapter Address SocketAddress } type IpAdapterPrefix struct { Length uint32 Flags uint32 Next *IpAdapterPrefix Address SocketAddress PrefixLength uint32 } type IpAdapterAddresses struct { Length uint32 IfIndex uint32 Next *IpAdapterAddresses AdapterName *byte FirstUnicastAddress *IpAdapterUnicastAddress FirstAnycastAddress *IpAdapterAnycastAddress FirstMulticastAddress *IpAdapterMulticastAddress FirstDnsServerAddress *IpAdapterDnsServerAdapter DnsSuffix *uint16 Description *uint16 FriendlyName *uint16 PhysicalAddress [syscall.MAX_ADAPTER_ADDRESS_LENGTH]byte PhysicalAddressLength uint32 Flags uint32 Mtu uint32 IfType uint32 OperStatus uint32 Ipv6IfIndex uint32 ZoneIndices [16]uint32 FirstPrefix *IpAdapterPrefix TransmitLinkSpeed uint64 ReceiveLinkSpeed uint64 FirstWinsServerAddress *IpAdapterWinsServerAddress FirstGatewayAddress *IpAdapterGatewayAddress Ipv4Metric uint32 Ipv6Metric uint32 Luid uint64 Dhcpv4Server SocketAddress CompartmentId uint32 NetworkGuid GUID ConnectionType uint32 TunnelType uint32 Dhcpv6Server SocketAddress Dhcpv6ClientDuid [MAX_DHCPV6_DUID_LENGTH]byte Dhcpv6ClientDuidLength uint32 Dhcpv6Iaid uint32 FirstDnsSuffix *IpAdapterDNSSuffix } type IpAdapterWinsServerAddress struct { Length uint32 Reserved uint32 Next *IpAdapterWinsServerAddress Address SocketAddress } type IpAdapterGatewayAddress struct { Length uint32 Reserved uint32 Next *IpAdapterGatewayAddress Address SocketAddress } type IpAdapterDNSSuffix struct { Next *IpAdapterDNSSuffix String [MAX_DNS_SUFFIX_STRING_LENGTH]uint16 } const ( IfOperStatusUp = 1 IfOperStatusDown = 2 IfOperStatusTesting = 3 IfOperStatusUnknown = 4 IfOperStatusDormant = 5 IfOperStatusNotPresent = 6 IfOperStatusLowerLayerDown = 7 ) // Console related constants used for the mode parameter to SetConsoleMode. See // https://docs.microsoft.com/en-us/windows/console/setconsolemode for details. const ( ENABLE_PROCESSED_INPUT = 0x1 ENABLE_LINE_INPUT = 0x2 ENABLE_ECHO_INPUT = 0x4 ENABLE_WINDOW_INPUT = 0x8 ENABLE_MOUSE_INPUT = 0x10 ENABLE_INSERT_MODE = 0x20 ENABLE_QUICK_EDIT_MODE = 0x40 ENABLE_EXTENDED_FLAGS = 0x80 ENABLE_AUTO_POSITION = 0x100 ENABLE_VIRTUAL_TERMINAL_INPUT = 0x200 ENABLE_PROCESSED_OUTPUT = 0x1 ENABLE_WRAP_AT_EOL_OUTPUT = 0x2 ENABLE_VIRTUAL_TERMINAL_PROCESSING = 0x4 DISABLE_NEWLINE_AUTO_RETURN = 0x8 ENABLE_LVB_GRID_WORLDWIDE = 0x10 ) // Pseudo console related constants used for the flags parameter to // CreatePseudoConsole. See: https://learn.microsoft.com/en-us/windows/console/createpseudoconsole const ( PSEUDOCONSOLE_INHERIT_CURSOR = 0x1 ) type Coord struct { X int16 Y int16 } type SmallRect struct { Left int16 Top int16 Right int16 Bottom int16 } // Used with GetConsoleScreenBuffer to retrieve information about a console // screen buffer. See // https://docs.microsoft.com/en-us/windows/console/console-screen-buffer-info-str // for details. type ConsoleScreenBufferInfo struct { Size Coord CursorPosition Coord Attributes uint16 Window SmallRect MaximumWindowSize Coord } const UNIX_PATH_MAX = 108 // defined in afunix.h const ( // flags for JOBOBJECT_BASIC_LIMIT_INFORMATION.LimitFlags JOB_OBJECT_LIMIT_ACTIVE_PROCESS = 0x00000008 JOB_OBJECT_LIMIT_AFFINITY = 0x00000010 JOB_OBJECT_LIMIT_BREAKAWAY_OK = 0x00000800 JOB_OBJECT_LIMIT_DIE_ON_UNHANDLED_EXCEPTION = 0x00000400 JOB_OBJECT_LIMIT_JOB_MEMORY = 0x00000200 JOB_OBJECT_LIMIT_JOB_TIME = 0x00000004 JOB_OBJECT_LIMIT_KILL_ON_JOB_CLOSE = 0x00002000 JOB_OBJECT_LIMIT_PRESERVE_JOB_TIME = 0x00000040 JOB_OBJECT_LIMIT_PRIORITY_CLASS = 0x00000020 JOB_OBJECT_LIMIT_PROCESS_MEMORY = 0x00000100 JOB_OBJECT_LIMIT_PROCESS_TIME = 0x00000002 JOB_OBJECT_LIMIT_SCHEDULING_CLASS = 0x00000080 JOB_OBJECT_LIMIT_SILENT_BREAKAWAY_OK = 0x00001000 JOB_OBJECT_LIMIT_SUBSET_AFFINITY = 0x00004000 JOB_OBJECT_LIMIT_WORKINGSET = 0x00000001 ) type IO_COUNTERS struct { ReadOperationCount uint64 WriteOperationCount uint64 OtherOperationCount uint64 ReadTransferCount uint64 WriteTransferCount uint64 OtherTransferCount uint64 } type JOBOBJECT_EXTENDED_LIMIT_INFORMATION struct { BasicLimitInformation JOBOBJECT_BASIC_LIMIT_INFORMATION IoInfo IO_COUNTERS ProcessMemoryLimit uintptr JobMemoryLimit uintptr PeakProcessMemoryUsed uintptr PeakJobMemoryUsed uintptr } const ( // UIRestrictionsClass JOB_OBJECT_UILIMIT_DESKTOP = 0x00000040 JOB_OBJECT_UILIMIT_DISPLAYSETTINGS = 0x00000010 JOB_OBJECT_UILIMIT_EXITWINDOWS = 0x00000080 JOB_OBJECT_UILIMIT_GLOBALATOMS = 0x00000020 JOB_OBJECT_UILIMIT_HANDLES = 0x00000001 JOB_OBJECT_UILIMIT_READCLIPBOARD = 0x00000002 JOB_OBJECT_UILIMIT_SYSTEMPARAMETERS = 0x00000008 JOB_OBJECT_UILIMIT_WRITECLIPBOARD = 0x00000004 ) type JOBOBJECT_BASIC_UI_RESTRICTIONS struct { UIRestrictionsClass uint32 } const ( // JobObjectInformationClass for QueryInformationJobObject and SetInformationJobObject JobObjectAssociateCompletionPortInformation = 7 JobObjectBasicAccountingInformation = 1 JobObjectBasicAndIoAccountingInformation = 8 JobObjectBasicLimitInformation = 2 JobObjectBasicProcessIdList = 3 JobObjectBasicUIRestrictions = 4 JobObjectCpuRateControlInformation = 15 JobObjectEndOfJobTimeInformation = 6 JobObjectExtendedLimitInformation = 9 JobObjectGroupInformation = 11 JobObjectGroupInformationEx = 14 JobObjectLimitViolationInformation = 13 JobObjectLimitViolationInformation2 = 34 JobObjectNetRateControlInformation = 32 JobObjectNotificationLimitInformation = 12 JobObjectNotificationLimitInformation2 = 33 JobObjectSecurityLimitInformation = 5 ) const ( KF_FLAG_DEFAULT = 0x00000000 KF_FLAG_FORCE_APP_DATA_REDIRECTION = 0x00080000 KF_FLAG_RETURN_FILTER_REDIRECTION_TARGET = 0x00040000 KF_FLAG_FORCE_PACKAGE_REDIRECTION = 0x00020000 KF_FLAG_NO_PACKAGE_REDIRECTION = 0x00010000 KF_FLAG_FORCE_APPCONTAINER_REDIRECTION = 0x00020000 KF_FLAG_NO_APPCONTAINER_REDIRECTION = 0x00010000 KF_FLAG_CREATE = 0x00008000 KF_FLAG_DONT_VERIFY = 0x00004000 KF_FLAG_DONT_UNEXPAND = 0x00002000 KF_FLAG_NO_ALIAS = 0x00001000 KF_FLAG_INIT = 0x00000800 KF_FLAG_DEFAULT_PATH = 0x00000400 KF_FLAG_NOT_PARENT_RELATIVE = 0x00000200 KF_FLAG_SIMPLE_IDLIST = 0x00000100 KF_FLAG_ALIAS_ONLY = 0x80000000 ) type OsVersionInfoEx struct { osVersionInfoSize uint32 MajorVersion uint32 MinorVersion uint32 BuildNumber uint32 PlatformId uint32 CsdVersion [128]uint16 ServicePackMajor uint16 ServicePackMinor uint16 SuiteMask uint16 ProductType byte _ byte } const ( EWX_LOGOFF = 0x00000000 EWX_SHUTDOWN = 0x00000001 EWX_REBOOT = 0x00000002 EWX_FORCE = 0x00000004 EWX_POWEROFF = 0x00000008 EWX_FORCEIFHUNG = 0x00000010 EWX_QUICKRESOLVE = 0x00000020 EWX_RESTARTAPPS = 0x00000040 EWX_HYBRID_SHUTDOWN = 0x00400000 EWX_BOOTOPTIONS = 0x01000000 SHTDN_REASON_FLAG_COMMENT_REQUIRED = 0x01000000 SHTDN_REASON_FLAG_DIRTY_PROBLEM_ID_REQUIRED = 0x02000000 SHTDN_REASON_FLAG_CLEAN_UI = 0x04000000 SHTDN_REASON_FLAG_DIRTY_UI = 0x08000000 SHTDN_REASON_FLAG_USER_DEFINED = 0x40000000 SHTDN_REASON_FLAG_PLANNED = 0x80000000 SHTDN_REASON_MAJOR_OTHER = 0x00000000 SHTDN_REASON_MAJOR_NONE = 0x00000000 SHTDN_REASON_MAJOR_HARDWARE = 0x00010000 SHTDN_REASON_MAJOR_OPERATINGSYSTEM = 0x00020000 SHTDN_REASON_MAJOR_SOFTWARE = 0x00030000 SHTDN_REASON_MAJOR_APPLICATION = 0x00040000 SHTDN_REASON_MAJOR_SYSTEM = 0x00050000 SHTDN_REASON_MAJOR_POWER = 0x00060000 SHTDN_REASON_MAJOR_LEGACY_API = 0x00070000 SHTDN_REASON_MINOR_OTHER = 0x00000000 SHTDN_REASON_MINOR_NONE = 0x000000ff SHTDN_REASON_MINOR_MAINTENANCE = 0x00000001 SHTDN_REASON_MINOR_INSTALLATION = 0x00000002 SHTDN_REASON_MINOR_UPGRADE = 0x00000003 SHTDN_REASON_MINOR_RECONFIG = 0x00000004 SHTDN_REASON_MINOR_HUNG = 0x00000005 SHTDN_REASON_MINOR_UNSTABLE = 0x00000006 SHTDN_REASON_MINOR_DISK = 0x00000007 SHTDN_REASON_MINOR_PROCESSOR = 0x00000008 SHTDN_REASON_MINOR_NETWORKCARD = 0x00000009 SHTDN_REASON_MINOR_POWER_SUPPLY = 0x0000000a SHTDN_REASON_MINOR_CORDUNPLUGGED = 0x0000000b SHTDN_REASON_MINOR_ENVIRONMENT = 0x0000000c SHTDN_REASON_MINOR_HARDWARE_DRIVER = 0x0000000d SHTDN_REASON_MINOR_OTHERDRIVER = 0x0000000e SHTDN_REASON_MINOR_BLUESCREEN = 0x0000000F SHTDN_REASON_MINOR_SERVICEPACK = 0x00000010 SHTDN_REASON_MINOR_HOTFIX = 0x00000011 SHTDN_REASON_MINOR_SECURITYFIX = 0x00000012 SHTDN_REASON_MINOR_SECURITY = 0x00000013 SHTDN_REASON_MINOR_NETWORK_CONNECTIVITY = 0x00000014 SHTDN_REASON_MINOR_WMI = 0x00000015 SHTDN_REASON_MINOR_SERVICEPACK_UNINSTALL = 0x00000016 SHTDN_REASON_MINOR_HOTFIX_UNINSTALL = 0x00000017 SHTDN_REASON_MINOR_SECURITYFIX_UNINSTALL = 0x00000018 SHTDN_REASON_MINOR_MMC = 0x00000019 SHTDN_REASON_MINOR_SYSTEMRESTORE = 0x0000001a SHTDN_REASON_MINOR_TERMSRV = 0x00000020 SHTDN_REASON_MINOR_DC_PROMOTION = 0x00000021 SHTDN_REASON_MINOR_DC_DEMOTION = 0x00000022 SHTDN_REASON_UNKNOWN = SHTDN_REASON_MINOR_NONE SHTDN_REASON_LEGACY_API = SHTDN_REASON_MAJOR_LEGACY_API | SHTDN_REASON_FLAG_PLANNED SHTDN_REASON_VALID_BIT_MASK = 0xc0ffffff SHUTDOWN_NORETRY = 0x1 ) // Flags used for GetModuleHandleEx const ( GET_MODULE_HANDLE_EX_FLAG_PIN = 1 GET_MODULE_HANDLE_EX_FLAG_UNCHANGED_REFCOUNT = 2 GET_MODULE_HANDLE_EX_FLAG_FROM_ADDRESS = 4 ) // MUI function flag values const ( MUI_LANGUAGE_ID = 0x4 MUI_LANGUAGE_NAME = 0x8 MUI_MERGE_SYSTEM_FALLBACK = 0x10 MUI_MERGE_USER_FALLBACK = 0x20 MUI_UI_FALLBACK = MUI_MERGE_SYSTEM_FALLBACK | MUI_MERGE_USER_FALLBACK MUI_THREAD_LANGUAGES = 0x40 MUI_CONSOLE_FILTER = 0x100 MUI_COMPLEX_SCRIPT_FILTER = 0x200 MUI_RESET_FILTERS = 0x001 MUI_USER_PREFERRED_UI_LANGUAGES = 0x10 MUI_USE_INSTALLED_LANGUAGES = 0x20 MUI_USE_SEARCH_ALL_LANGUAGES = 0x40 MUI_LANG_NEUTRAL_PE_FILE = 0x100 MUI_NON_LANG_NEUTRAL_FILE = 0x200 MUI_MACHINE_LANGUAGE_SETTINGS = 0x400 MUI_FILETYPE_NOT_LANGUAGE_NEUTRAL = 0x001 MUI_FILETYPE_LANGUAGE_NEUTRAL_MAIN = 0x002 MUI_FILETYPE_LANGUAGE_NEUTRAL_MUI = 0x004 MUI_QUERY_TYPE = 0x001 MUI_QUERY_CHECKSUM = 0x002 MUI_QUERY_LANGUAGE_NAME = 0x004 MUI_QUERY_RESOURCE_TYPES = 0x008 MUI_FILEINFO_VERSION = 0x001 MUI_FULL_LANGUAGE = 0x01 MUI_PARTIAL_LANGUAGE = 0x02 MUI_LIP_LANGUAGE = 0x04 MUI_LANGUAGE_INSTALLED = 0x20 MUI_LANGUAGE_LICENSED = 0x40 ) // FILE_INFO_BY_HANDLE_CLASS constants for SetFileInformationByHandle/GetFileInformationByHandleEx const ( FileBasicInfo = 0 FileStandardInfo = 1 FileNameInfo = 2 FileRenameInfo = 3 FileDispositionInfo = 4 FileAllocationInfo = 5 FileEndOfFileInfo = 6 FileStreamInfo = 7 FileCompressionInfo = 8 FileAttributeTagInfo = 9 FileIdBothDirectoryInfo = 10 FileIdBothDirectoryRestartInfo = 11 FileIoPriorityHintInfo = 12 FileRemoteProtocolInfo = 13 FileFullDirectoryInfo = 14 FileFullDirectoryRestartInfo = 15 FileStorageInfo = 16 FileAlignmentInfo = 17 FileIdInfo = 18 FileIdExtdDirectoryInfo = 19 FileIdExtdDirectoryRestartInfo = 20 FileDispositionInfoEx = 21 FileRenameInfoEx = 22 FileCaseSensitiveInfo = 23 FileNormalizedNameInfo = 24 ) // LoadLibrary flags for determining from where to search for a DLL const ( DONT_RESOLVE_DLL_REFERENCES = 0x1 LOAD_LIBRARY_AS_DATAFILE = 0x2 LOAD_WITH_ALTERED_SEARCH_PATH = 0x8 LOAD_IGNORE_CODE_AUTHZ_LEVEL = 0x10 LOAD_LIBRARY_AS_IMAGE_RESOURCE = 0x20 LOAD_LIBRARY_AS_DATAFILE_EXCLUSIVE = 0x40 LOAD_LIBRARY_REQUIRE_SIGNED_TARGET = 0x80 LOAD_LIBRARY_SEARCH_DLL_LOAD_DIR = 0x100 LOAD_LIBRARY_SEARCH_APPLICATION_DIR = 0x200 LOAD_LIBRARY_SEARCH_USER_DIRS = 0x400 LOAD_LIBRARY_SEARCH_SYSTEM32 = 0x800 LOAD_LIBRARY_SEARCH_DEFAULT_DIRS = 0x1000 LOAD_LIBRARY_SAFE_CURRENT_DIRS = 0x00002000 LOAD_LIBRARY_SEARCH_SYSTEM32_NO_FORWARDER = 0x00004000 LOAD_LIBRARY_OS_INTEGRITY_CONTINUITY = 0x00008000 ) // RegNotifyChangeKeyValue notifyFilter flags. const ( // REG_NOTIFY_CHANGE_NAME notifies the caller if a subkey is added or deleted. REG_NOTIFY_CHANGE_NAME = 0x00000001 // REG_NOTIFY_CHANGE_ATTRIBUTES notifies the caller of changes to the attributes of the key, such as the security descriptor information. REG_NOTIFY_CHANGE_ATTRIBUTES = 0x00000002 // REG_NOTIFY_CHANGE_LAST_SET notifies the caller of changes to a value of the key. This can include adding or deleting a value, or changing an existing value. REG_NOTIFY_CHANGE_LAST_SET = 0x00000004 // REG_NOTIFY_CHANGE_SECURITY notifies the caller of changes to the security descriptor of the key. REG_NOTIFY_CHANGE_SECURITY = 0x00000008 // REG_NOTIFY_THREAD_AGNOSTIC indicates that the lifetime of the registration must not be tied to the lifetime of the thread issuing the RegNotifyChangeKeyValue call. Note: This flag value is only supported in Windows 8 and later. REG_NOTIFY_THREAD_AGNOSTIC = 0x10000000 ) type CommTimeouts struct { ReadIntervalTimeout uint32 ReadTotalTimeoutMultiplier uint32 ReadTotalTimeoutConstant uint32 WriteTotalTimeoutMultiplier uint32 WriteTotalTimeoutConstant uint32 } // NTUnicodeString is a UTF-16 string for NT native APIs, corresponding to UNICODE_STRING. type NTUnicodeString struct { Length uint16 MaximumLength uint16 Buffer *uint16 } // NTString is an ANSI string for NT native APIs, corresponding to STRING. type NTString struct { Length uint16 MaximumLength uint16 Buffer *byte } type LIST_ENTRY struct { Flink *LIST_ENTRY Blink *LIST_ENTRY } type RUNTIME_FUNCTION struct { BeginAddress uint32 EndAddress uint32 UnwindData uint32 } type LDR_DATA_TABLE_ENTRY struct { reserved1 [2]uintptr InMemoryOrderLinks LIST_ENTRY reserved2 [2]uintptr DllBase uintptr reserved3 [2]uintptr FullDllName NTUnicodeString reserved4 [8]byte reserved5 [3]uintptr reserved6 uintptr TimeDateStamp uint32 } type PEB_LDR_DATA struct { reserved1 [8]byte reserved2 [3]uintptr InMemoryOrderModuleList LIST_ENTRY } type CURDIR struct { DosPath NTUnicodeString Handle Handle } type RTL_DRIVE_LETTER_CURDIR struct { Flags uint16 Length uint16 TimeStamp uint32 DosPath NTString } type RTL_USER_PROCESS_PARAMETERS struct { MaximumLength, Length uint32 Flags, DebugFlags uint32 ConsoleHandle Handle ConsoleFlags uint32 StandardInput, StandardOutput, StandardError Handle CurrentDirectory CURDIR DllPath NTUnicodeString ImagePathName NTUnicodeString CommandLine NTUnicodeString Environment unsafe.Pointer StartingX, StartingY, CountX, CountY, CountCharsX, CountCharsY, FillAttribute uint32 WindowFlags, ShowWindowFlags uint32 WindowTitle, DesktopInfo, ShellInfo, RuntimeData NTUnicodeString CurrentDirectories [32]RTL_DRIVE_LETTER_CURDIR EnvironmentSize, EnvironmentVersion uintptr PackageDependencyData unsafe.Pointer ProcessGroupId uint32 LoaderThreads uint32 RedirectionDllName NTUnicodeString HeapPartitionName NTUnicodeString DefaultThreadpoolCpuSetMasks uintptr DefaultThreadpoolCpuSetMaskCount uint32 } type PEB struct { reserved1 [2]byte BeingDebugged byte BitField byte reserved3 uintptr ImageBaseAddress uintptr Ldr *PEB_LDR_DATA ProcessParameters *RTL_USER_PROCESS_PARAMETERS reserved4 [3]uintptr AtlThunkSListPtr uintptr reserved5 uintptr reserved6 uint32 reserved7 uintptr reserved8 uint32 AtlThunkSListPtr32 uint32 reserved9 [45]uintptr reserved10 [96]byte PostProcessInitRoutine uintptr reserved11 [128]byte reserved12 [1]uintptr SessionId uint32 } type OBJECT_ATTRIBUTES struct { Length uint32 RootDirectory Handle ObjectName *NTUnicodeString Attributes uint32 SecurityDescriptor *SECURITY_DESCRIPTOR SecurityQoS *SECURITY_QUALITY_OF_SERVICE } // Values for the Attributes member of OBJECT_ATTRIBUTES. const ( OBJ_INHERIT = 0x00000002 OBJ_PERMANENT = 0x00000010 OBJ_EXCLUSIVE = 0x00000020 OBJ_CASE_INSENSITIVE = 0x00000040 OBJ_OPENIF = 0x00000080 OBJ_OPENLINK = 0x00000100 OBJ_KERNEL_HANDLE = 0x00000200 OBJ_FORCE_ACCESS_CHECK = 0x00000400 OBJ_IGNORE_IMPERSONATED_DEVICEMAP = 0x00000800 OBJ_DONT_REPARSE = 0x00001000 OBJ_VALID_ATTRIBUTES = 0x00001FF2 ) type IO_STATUS_BLOCK struct { Status NTStatus Information uintptr } type RTLP_CURDIR_REF struct { RefCount int32 Handle Handle } type RTL_RELATIVE_NAME struct { RelativeName NTUnicodeString ContainingDirectory Handle CurDirRef *RTLP_CURDIR_REF } const ( // CreateDisposition flags for NtCreateFile and NtCreateNamedPipeFile. FILE_SUPERSEDE = 0x00000000 FILE_OPEN = 0x00000001 FILE_CREATE = 0x00000002 FILE_OPEN_IF = 0x00000003 FILE_OVERWRITE = 0x00000004 FILE_OVERWRITE_IF = 0x00000005 FILE_MAXIMUM_DISPOSITION = 0x00000005 // CreateOptions flags for NtCreateFile and NtCreateNamedPipeFile. FILE_DIRECTORY_FILE = 0x00000001 FILE_WRITE_THROUGH = 0x00000002 FILE_SEQUENTIAL_ONLY = 0x00000004 FILE_NO_INTERMEDIATE_BUFFERING = 0x00000008 FILE_SYNCHRONOUS_IO_ALERT = 0x00000010 FILE_SYNCHRONOUS_IO_NONALERT = 0x00000020 FILE_NON_DIRECTORY_FILE = 0x00000040 FILE_CREATE_TREE_CONNECTION = 0x00000080 FILE_COMPLETE_IF_OPLOCKED = 0x00000100 FILE_NO_EA_KNOWLEDGE = 0x00000200 FILE_OPEN_REMOTE_INSTANCE = 0x00000400 FILE_RANDOM_ACCESS = 0x00000800 FILE_DELETE_ON_CLOSE = 0x00001000 FILE_OPEN_BY_FILE_ID = 0x00002000 FILE_OPEN_FOR_BACKUP_INTENT = 0x00004000 FILE_NO_COMPRESSION = 0x00008000 FILE_OPEN_REQUIRING_OPLOCK = 0x00010000 FILE_DISALLOW_EXCLUSIVE = 0x00020000 FILE_RESERVE_OPFILTER = 0x00100000 FILE_OPEN_REPARSE_POINT = 0x00200000 FILE_OPEN_NO_RECALL = 0x00400000 FILE_OPEN_FOR_FREE_SPACE_QUERY = 0x00800000 // Parameter constants for NtCreateNamedPipeFile. FILE_PIPE_BYTE_STREAM_TYPE = 0x00000000 FILE_PIPE_MESSAGE_TYPE = 0x00000001 FILE_PIPE_ACCEPT_REMOTE_CLIENTS = 0x00000000 FILE_PIPE_REJECT_REMOTE_CLIENTS = 0x00000002 FILE_PIPE_TYPE_VALID_MASK = 0x00000003 FILE_PIPE_BYTE_STREAM_MODE = 0x00000000 FILE_PIPE_MESSAGE_MODE = 0x00000001 FILE_PIPE_QUEUE_OPERATION = 0x00000000 FILE_PIPE_COMPLETE_OPERATION = 0x00000001 FILE_PIPE_INBOUND = 0x00000000 FILE_PIPE_OUTBOUND = 0x00000001 FILE_PIPE_FULL_DUPLEX = 0x00000002 FILE_PIPE_DISCONNECTED_STATE = 0x00000001 FILE_PIPE_LISTENING_STATE = 0x00000002 FILE_PIPE_CONNECTED_STATE = 0x00000003 FILE_PIPE_CLOSING_STATE = 0x00000004 FILE_PIPE_CLIENT_END = 0x00000000 FILE_PIPE_SERVER_END = 0x00000001 ) const ( // FileInformationClass for NtSetInformationFile FileBasicInformation = 4 FileRenameInformation = 10 FileDispositionInformation = 13 FilePositionInformation = 14 FileEndOfFileInformation = 20 FileValidDataLengthInformation = 39 FileShortNameInformation = 40 FileIoPriorityHintInformation = 43 FileReplaceCompletionInformation = 61 FileDispositionInformationEx = 64 FileCaseSensitiveInformation = 71 FileLinkInformation = 72 FileCaseSensitiveInformationForceAccessCheck = 75 FileKnownFolderInformation = 76 // Flags for FILE_RENAME_INFORMATION FILE_RENAME_REPLACE_IF_EXISTS = 0x00000001 FILE_RENAME_POSIX_SEMANTICS = 0x00000002 FILE_RENAME_SUPPRESS_PIN_STATE_INHERITANCE = 0x00000004 FILE_RENAME_SUPPRESS_STORAGE_RESERVE_INHERITANCE = 0x00000008 FILE_RENAME_NO_INCREASE_AVAILABLE_SPACE = 0x00000010 FILE_RENAME_NO_DECREASE_AVAILABLE_SPACE = 0x00000020 FILE_RENAME_PRESERVE_AVAILABLE_SPACE = 0x00000030 FILE_RENAME_IGNORE_READONLY_ATTRIBUTE = 0x00000040 FILE_RENAME_FORCE_RESIZE_TARGET_SR = 0x00000080 FILE_RENAME_FORCE_RESIZE_SOURCE_SR = 0x00000100 FILE_RENAME_FORCE_RESIZE_SR = 0x00000180 // Flags for FILE_DISPOSITION_INFORMATION_EX FILE_DISPOSITION_DO_NOT_DELETE = 0x00000000 FILE_DISPOSITION_DELETE = 0x00000001 FILE_DISPOSITION_POSIX_SEMANTICS = 0x00000002 FILE_DISPOSITION_FORCE_IMAGE_SECTION_CHECK = 0x00000004 FILE_DISPOSITION_ON_CLOSE = 0x00000008 FILE_DISPOSITION_IGNORE_READONLY_ATTRIBUTE = 0x00000010 // Flags for FILE_CASE_SENSITIVE_INFORMATION FILE_CS_FLAG_CASE_SENSITIVE_DIR = 0x00000001 // Flags for FILE_LINK_INFORMATION FILE_LINK_REPLACE_IF_EXISTS = 0x00000001 FILE_LINK_POSIX_SEMANTICS = 0x00000002 FILE_LINK_SUPPRESS_STORAGE_RESERVE_INHERITANCE = 0x00000008 FILE_LINK_NO_INCREASE_AVAILABLE_SPACE = 0x00000010 FILE_LINK_NO_DECREASE_AVAILABLE_SPACE = 0x00000020 FILE_LINK_PRESERVE_AVAILABLE_SPACE = 0x00000030 FILE_LINK_IGNORE_READONLY_ATTRIBUTE = 0x00000040 FILE_LINK_FORCE_RESIZE_TARGET_SR = 0x00000080 FILE_LINK_FORCE_RESIZE_SOURCE_SR = 0x00000100 FILE_LINK_FORCE_RESIZE_SR = 0x00000180 ) // ProcessInformationClasses for NtQueryInformationProcess and NtSetInformationProcess. const ( ProcessBasicInformation = iota ProcessQuotaLimits ProcessIoCounters ProcessVmCounters ProcessTimes ProcessBasePriority ProcessRaisePriority ProcessDebugPort ProcessExceptionPort ProcessAccessToken ProcessLdtInformation ProcessLdtSize ProcessDefaultHardErrorMode ProcessIoPortHandlers ProcessPooledUsageAndLimits ProcessWorkingSetWatch ProcessUserModeIOPL ProcessEnableAlignmentFaultFixup ProcessPriorityClass ProcessWx86Information ProcessHandleCount ProcessAffinityMask ProcessPriorityBoost ProcessDeviceMap ProcessSessionInformation ProcessForegroundInformation ProcessWow64Information ProcessImageFileName ProcessLUIDDeviceMapsEnabled ProcessBreakOnTermination ProcessDebugObjectHandle ProcessDebugFlags ProcessHandleTracing ProcessIoPriority ProcessExecuteFlags ProcessTlsInformation ProcessCookie ProcessImageInformation ProcessCycleTime ProcessPagePriority ProcessInstrumentationCallback ProcessThreadStackAllocation ProcessWorkingSetWatchEx ProcessImageFileNameWin32 ProcessImageFileMapping ProcessAffinityUpdateMode ProcessMemoryAllocationMode ProcessGroupInformation ProcessTokenVirtualizationEnabled ProcessConsoleHostProcess ProcessWindowInformation ProcessHandleInformation ProcessMitigationPolicy ProcessDynamicFunctionTableInformation ProcessHandleCheckingMode ProcessKeepAliveCount ProcessRevokeFileHandles ProcessWorkingSetControl ProcessHandleTable ProcessCheckStackExtentsMode ProcessCommandLineInformation ProcessProtectionInformation ProcessMemoryExhaustion ProcessFaultInformation ProcessTelemetryIdInformation ProcessCommitReleaseInformation ProcessDefaultCpuSetsInformation ProcessAllowedCpuSetsInformation ProcessSubsystemProcess ProcessJobMemoryInformation ProcessInPrivate ProcessRaiseUMExceptionOnInvalidHandleClose ProcessIumChallengeResponse ProcessChildProcessInformation ProcessHighGraphicsPriorityInformation ProcessSubsystemInformation ProcessEnergyValues ProcessActivityThrottleState ProcessActivityThrottlePolicy ProcessWin32kSyscallFilterInformation ProcessDisableSystemAllowedCpuSets ProcessWakeInformation ProcessEnergyTrackingState ProcessManageWritesToExecutableMemory ProcessCaptureTrustletLiveDump ProcessTelemetryCoverage ProcessEnclaveInformation ProcessEnableReadWriteVmLogging ProcessUptimeInformation ProcessImageSection ProcessDebugAuthInformation ProcessSystemResourceManagement ProcessSequenceNumber ProcessLoaderDetour ProcessSecurityDomainInformation ProcessCombineSecurityDomainsInformation ProcessEnableLogging ProcessLeapSecondInformation ProcessFiberShadowStackAllocation ProcessFreeFiberShadowStackAllocation ProcessAltSystemCallInformation ProcessDynamicEHContinuationTargets ProcessDynamicEnforcedCetCompatibleRanges ) type PROCESS_BASIC_INFORMATION struct { ExitStatus NTStatus PebBaseAddress *PEB AffinityMask uintptr BasePriority int32 UniqueProcessId uintptr InheritedFromUniqueProcessId uintptr } type SYSTEM_PROCESS_INFORMATION struct { NextEntryOffset uint32 NumberOfThreads uint32 WorkingSetPrivateSize int64 HardFaultCount uint32 NumberOfThreadsHighWatermark uint32 CycleTime uint64 CreateTime int64 UserTime int64 KernelTime int64 ImageName NTUnicodeString BasePriority int32 UniqueProcessID uintptr InheritedFromUniqueProcessID uintptr HandleCount uint32 SessionID uint32 UniqueProcessKey *uint32 PeakVirtualSize uintptr VirtualSize uintptr PageFaultCount uint32 PeakWorkingSetSize uintptr WorkingSetSize uintptr QuotaPeakPagedPoolUsage uintptr QuotaPagedPoolUsage uintptr QuotaPeakNonPagedPoolUsage uintptr QuotaNonPagedPoolUsage uintptr PagefileUsage uintptr PeakPagefileUsage uintptr PrivatePageCount uintptr ReadOperationCount int64 WriteOperationCount int64 OtherOperationCount int64 ReadTransferCount int64 WriteTransferCount int64 OtherTransferCount int64 } // SystemInformationClasses for NtQuerySystemInformation and NtSetSystemInformation const ( SystemBasicInformation = iota SystemProcessorInformation SystemPerformanceInformation SystemTimeOfDayInformation SystemPathInformation SystemProcessInformation SystemCallCountInformation SystemDeviceInformation SystemProcessorPerformanceInformation SystemFlagsInformation SystemCallTimeInformation SystemModuleInformation SystemLocksInformation SystemStackTraceInformation SystemPagedPoolInformation SystemNonPagedPoolInformation SystemHandleInformation SystemObjectInformation SystemPageFileInformation SystemVdmInstemulInformation SystemVdmBopInformation SystemFileCacheInformation SystemPoolTagInformation SystemInterruptInformation SystemDpcBehaviorInformation SystemFullMemoryInformation SystemLoadGdiDriverInformation SystemUnloadGdiDriverInformation SystemTimeAdjustmentInformation SystemSummaryMemoryInformation SystemMirrorMemoryInformation SystemPerformanceTraceInformation systemObsolete0 SystemExceptionInformation SystemCrashDumpStateInformation SystemKernelDebuggerInformation SystemContextSwitchInformation SystemRegistryQuotaInformation SystemExtendServiceTableInformation SystemPrioritySeperation SystemVerifierAddDriverInformation SystemVerifierRemoveDriverInformation SystemProcessorIdleInformation SystemLegacyDriverInformation SystemCurrentTimeZoneInformation SystemLookasideInformation SystemTimeSlipNotification SystemSessionCreate SystemSessionDetach SystemSessionInformation SystemRangeStartInformation SystemVerifierInformation SystemVerifierThunkExtend SystemSessionProcessInformation SystemLoadGdiDriverInSystemSpace SystemNumaProcessorMap SystemPrefetcherInformation SystemExtendedProcessInformation SystemRecommendedSharedDataAlignment SystemComPlusPackage SystemNumaAvailableMemory SystemProcessorPowerInformation SystemEmulationBasicInformation SystemEmulationProcessorInformation SystemExtendedHandleInformation SystemLostDelayedWriteInformation SystemBigPoolInformation SystemSessionPoolTagInformation SystemSessionMappedViewInformation SystemHotpatchInformation SystemObjectSecurityMode SystemWatchdogTimerHandler SystemWatchdogTimerInformation SystemLogicalProcessorInformation SystemWow64SharedInformationObsolete SystemRegisterFirmwareTableInformationHandler SystemFirmwareTableInformation SystemModuleInformationEx SystemVerifierTriageInformation SystemSuperfetchInformation SystemMemoryListInformation SystemFileCacheInformationEx SystemThreadPriorityClientIdInformation SystemProcessorIdleCycleTimeInformation SystemVerifierCancellationInformation SystemProcessorPowerInformationEx SystemRefTraceInformation SystemSpecialPoolInformation SystemProcessIdInformation SystemErrorPortInformation SystemBootEnvironmentInformation SystemHypervisorInformation SystemVerifierInformationEx SystemTimeZoneInformation SystemImageFileExecutionOptionsInformation SystemCoverageInformation SystemPrefetchPatchInformation SystemVerifierFaultsInformation SystemSystemPartitionInformation SystemSystemDiskInformation SystemProcessorPerformanceDistribution SystemNumaProximityNodeInformation SystemDynamicTimeZoneInformation SystemCodeIntegrityInformation SystemProcessorMicrocodeUpdateInformation SystemProcessorBrandString SystemVirtualAddressInformation SystemLogicalProcessorAndGroupInformation SystemProcessorCycleTimeInformation SystemStoreInformation SystemRegistryAppendString SystemAitSamplingValue SystemVhdBootInformation SystemCpuQuotaInformation SystemNativeBasicInformation systemSpare1 SystemLowPriorityIoInformation SystemTpmBootEntropyInformation SystemVerifierCountersInformation SystemPagedPoolInformationEx SystemSystemPtesInformationEx SystemNodeDistanceInformation SystemAcpiAuditInformation SystemBasicPerformanceInformation SystemQueryPerformanceCounterInformation SystemSessionBigPoolInformation SystemBootGraphicsInformation SystemScrubPhysicalMemoryInformation SystemBadPageInformation SystemProcessorProfileControlArea SystemCombinePhysicalMemoryInformation SystemEntropyInterruptTimingCallback SystemConsoleInformation SystemPlatformBinaryInformation SystemThrottleNotificationInformation SystemHypervisorProcessorCountInformation SystemDeviceDataInformation SystemDeviceDataEnumerationInformation SystemMemoryTopologyInformation SystemMemoryChannelInformation SystemBootLogoInformation SystemProcessorPerformanceInformationEx systemSpare0 SystemSecureBootPolicyInformation SystemPageFileInformationEx SystemSecureBootInformation SystemEntropyInterruptTimingRawInformation SystemPortableWorkspaceEfiLauncherInformation SystemFullProcessInformation SystemKernelDebuggerInformationEx SystemBootMetadataInformation SystemSoftRebootInformation SystemElamCertificateInformation SystemOfflineDumpConfigInformation SystemProcessorFeaturesInformation SystemRegistryReconciliationInformation SystemEdidInformation SystemManufacturingInformation SystemEnergyEstimationConfigInformation SystemHypervisorDetailInformation SystemProcessorCycleStatsInformation SystemVmGenerationCountInformation SystemTrustedPlatformModuleInformation SystemKernelDebuggerFlags SystemCodeIntegrityPolicyInformation SystemIsolatedUserModeInformation SystemHardwareSecurityTestInterfaceResultsInformation SystemSingleModuleInformation SystemAllowedCpuSetsInformation SystemDmaProtectionInformation SystemInterruptCpuSetsInformation SystemSecureBootPolicyFullInformation SystemCodeIntegrityPolicyFullInformation SystemAffinitizedInterruptProcessorInformation SystemRootSiloInformation ) type RTL_PROCESS_MODULE_INFORMATION struct { Section Handle MappedBase uintptr ImageBase uintptr ImageSize uint32 Flags uint32 LoadOrderIndex uint16 InitOrderIndex uint16 LoadCount uint16 OffsetToFileName uint16 FullPathName [256]byte } type RTL_PROCESS_MODULES struct { NumberOfModules uint32 Modules [1]RTL_PROCESS_MODULE_INFORMATION } // Constants for LocalAlloc flags. const ( LMEM_FIXED = 0x0 LMEM_MOVEABLE = 0x2 LMEM_NOCOMPACT = 0x10 LMEM_NODISCARD = 0x20 LMEM_ZEROINIT = 0x40 LMEM_MODIFY = 0x80 LMEM_DISCARDABLE = 0xf00 LMEM_VALID_FLAGS = 0xf72 LMEM_INVALID_HANDLE = 0x8000 LHND = LMEM_MOVEABLE | LMEM_ZEROINIT LPTR = LMEM_FIXED | LMEM_ZEROINIT NONZEROLHND = LMEM_MOVEABLE NONZEROLPTR = LMEM_FIXED ) // Constants for the CreateNamedPipe-family of functions. const ( PIPE_ACCESS_INBOUND = 0x1 PIPE_ACCESS_OUTBOUND = 0x2 PIPE_ACCESS_DUPLEX = 0x3 PIPE_CLIENT_END = 0x0 PIPE_SERVER_END = 0x1 PIPE_WAIT = 0x0 PIPE_NOWAIT = 0x1 PIPE_READMODE_BYTE = 0x0 PIPE_READMODE_MESSAGE = 0x2 PIPE_TYPE_BYTE = 0x0 PIPE_TYPE_MESSAGE = 0x4 PIPE_ACCEPT_REMOTE_CLIENTS = 0x0 PIPE_REJECT_REMOTE_CLIENTS = 0x8 PIPE_UNLIMITED_INSTANCES = 255 ) // Constants for security attributes when opening named pipes. const ( SECURITY_ANONYMOUS = SecurityAnonymous << 16 SECURITY_IDENTIFICATION = SecurityIdentification << 16 SECURITY_IMPERSONATION = SecurityImpersonation << 16 SECURITY_DELEGATION = SecurityDelegation << 16 SECURITY_CONTEXT_TRACKING = 0x40000 SECURITY_EFFECTIVE_ONLY = 0x80000 SECURITY_SQOS_PRESENT = 0x100000 SECURITY_VALID_SQOS_FLAGS = 0x1f0000 ) // ResourceID represents a 16-bit resource identifier, traditionally created with the MAKEINTRESOURCE macro. type ResourceID uint16 // ResourceIDOrString must be either a ResourceID, to specify a resource or resource type by ID, // or a string, to specify a resource or resource type by name. type ResourceIDOrString interface{} // Predefined resource names and types. var ( // Predefined names. CREATEPROCESS_MANIFEST_RESOURCE_ID ResourceID = 1 ISOLATIONAWARE_MANIFEST_RESOURCE_ID ResourceID = 2 ISOLATIONAWARE_NOSTATICIMPORT_MANIFEST_RESOURCE_ID ResourceID = 3 ISOLATIONPOLICY_MANIFEST_RESOURCE_ID ResourceID = 4 ISOLATIONPOLICY_BROWSER_MANIFEST_RESOURCE_ID ResourceID = 5 MINIMUM_RESERVED_MANIFEST_RESOURCE_ID ResourceID = 1 // inclusive MAXIMUM_RESERVED_MANIFEST_RESOURCE_ID ResourceID = 16 // inclusive // Predefined types. RT_CURSOR ResourceID = 1 RT_BITMAP ResourceID = 2 RT_ICON ResourceID = 3 RT_MENU ResourceID = 4 RT_DIALOG ResourceID = 5 RT_STRING ResourceID = 6 RT_FONTDIR ResourceID = 7 RT_FONT ResourceID = 8 RT_ACCELERATOR ResourceID = 9 RT_RCDATA ResourceID = 10 RT_MESSAGETABLE ResourceID = 11 RT_GROUP_CURSOR ResourceID = 12 RT_GROUP_ICON ResourceID = 14 RT_VERSION ResourceID = 16 RT_DLGINCLUDE ResourceID = 17 RT_PLUGPLAY ResourceID = 19 RT_VXD ResourceID = 20 RT_ANICURSOR ResourceID = 21 RT_ANIICON ResourceID = 22 RT_HTML ResourceID = 23 RT_MANIFEST ResourceID = 24 ) type VS_FIXEDFILEINFO struct { Signature uint32 StrucVersion uint32 FileVersionMS uint32 FileVersionLS uint32 ProductVersionMS uint32 ProductVersionLS uint32 FileFlagsMask uint32 FileFlags uint32 FileOS uint32 FileType uint32 FileSubtype uint32 FileDateMS uint32 FileDateLS uint32 } type COAUTHIDENTITY struct { User *uint16 UserLength uint32 Domain *uint16 DomainLength uint32 Password *uint16 PasswordLength uint32 Flags uint32 } type COAUTHINFO struct { AuthnSvc uint32 AuthzSvc uint32 ServerPrincName *uint16 AuthnLevel uint32 ImpersonationLevel uint32 AuthIdentityData *COAUTHIDENTITY Capabilities uint32 } type COSERVERINFO struct { Reserved1 uint32 Aame *uint16 AuthInfo *COAUTHINFO Reserved2 uint32 } type BIND_OPTS3 struct { CbStruct uint32 Flags uint32 Mode uint32 TickCountDeadline uint32 TrackFlags uint32 ClassContext uint32 Locale uint32 ServerInfo *COSERVERINFO Hwnd HWND } const ( CLSCTX_INPROC_SERVER = 0x1 CLSCTX_INPROC_HANDLER = 0x2 CLSCTX_LOCAL_SERVER = 0x4 CLSCTX_INPROC_SERVER16 = 0x8 CLSCTX_REMOTE_SERVER = 0x10 CLSCTX_INPROC_HANDLER16 = 0x20 CLSCTX_RESERVED1 = 0x40 CLSCTX_RESERVED2 = 0x80 CLSCTX_RESERVED3 = 0x100 CLSCTX_RESERVED4 = 0x200 CLSCTX_NO_CODE_DOWNLOAD = 0x400 CLSCTX_RESERVED5 = 0x800 CLSCTX_NO_CUSTOM_MARSHAL = 0x1000 CLSCTX_ENABLE_CODE_DOWNLOAD = 0x2000 CLSCTX_NO_FAILURE_LOG = 0x4000 CLSCTX_DISABLE_AAA = 0x8000 CLSCTX_ENABLE_AAA = 0x10000 CLSCTX_FROM_DEFAULT_CONTEXT = 0x20000 CLSCTX_ACTIVATE_32_BIT_SERVER = 0x40000 CLSCTX_ACTIVATE_64_BIT_SERVER = 0x80000 CLSCTX_ENABLE_CLOAKING = 0x100000 CLSCTX_APPCONTAINER = 0x400000 CLSCTX_ACTIVATE_AAA_AS_IU = 0x800000 CLSCTX_PS_DLL = 0x80000000 COINIT_MULTITHREADED = 0x0 COINIT_APARTMENTTHREADED = 0x2 COINIT_DISABLE_OLE1DDE = 0x4 COINIT_SPEED_OVER_MEMORY = 0x8 ) // Flag for QueryFullProcessImageName. const PROCESS_NAME_NATIVE = 1 type ModuleInfo struct { BaseOfDll uintptr SizeOfImage uint32 EntryPoint uintptr } const ALL_PROCESSOR_GROUPS = 0xFFFF type Rect struct { Left int32 Top int32 Right int32 Bottom int32 } type GUIThreadInfo struct { Size uint32 Flags uint32 Active HWND Focus HWND Capture HWND MenuOwner HWND MoveSize HWND CaretHandle HWND CaretRect Rect } const ( DWMWA_NCRENDERING_ENABLED = 1 DWMWA_NCRENDERING_POLICY = 2 DWMWA_TRANSITIONS_FORCEDISABLED = 3 DWMWA_ALLOW_NCPAINT = 4 DWMWA_CAPTION_BUTTON_BOUNDS = 5 DWMWA_NONCLIENT_RTL_LAYOUT = 6 DWMWA_FORCE_ICONIC_REPRESENTATION = 7 DWMWA_FLIP3D_POLICY = 8 DWMWA_EXTENDED_FRAME_BOUNDS = 9 DWMWA_HAS_ICONIC_BITMAP = 10 DWMWA_DISALLOW_PEEK = 11 DWMWA_EXCLUDED_FROM_PEEK = 12 DWMWA_CLOAK = 13 DWMWA_CLOAKED = 14 DWMWA_FREEZE_REPRESENTATION = 15 DWMWA_PASSIVE_UPDATE_MODE = 16 DWMWA_USE_HOSTBACKDROPBRUSH = 17 DWMWA_USE_IMMERSIVE_DARK_MODE = 20 DWMWA_WINDOW_CORNER_PREFERENCE = 33 DWMWA_BORDER_COLOR = 34 DWMWA_CAPTION_COLOR = 35 DWMWA_TEXT_COLOR = 36 DWMWA_VISIBLE_FRAME_BORDER_THICKNESS = 37 ) type WSAQUERYSET struct { Size uint32 ServiceInstanceName *uint16 ServiceClassId *GUID Version *WSAVersion Comment *uint16 NameSpace uint32 NSProviderId *GUID Context *uint16 NumberOfProtocols uint32 AfpProtocols *AFProtocols QueryString *uint16 NumberOfCsAddrs uint32 SaBuffer *CSAddrInfo OutputFlags uint32 Blob *BLOB } type WSAVersion struct { Version uint32 EnumerationOfComparison int32 } type AFProtocols struct { AddressFamily int32 Protocol int32 } type CSAddrInfo struct { LocalAddr SocketAddress RemoteAddr SocketAddress SocketType int32 Protocol int32 } type BLOB struct { Size uint32 BlobData *byte } type ComStat struct { Flags uint32 CBInQue uint32 CBOutQue uint32 } type DCB struct { DCBlength uint32 BaudRate uint32 Flags uint32 wReserved uint16 XonLim uint16 XoffLim uint16 ByteSize uint8 Parity uint8 StopBits uint8 XonChar byte XoffChar byte ErrorChar byte EofChar byte EvtChar byte wReserved1 uint16 } // Keyboard Layout Flags. // See https://learn.microsoft.com/en-us/windows/win32/api/winuser/nf-winuser-loadkeyboardlayoutw const ( KLF_ACTIVATE = 0x00000001 KLF_SUBSTITUTE_OK = 0x00000002 KLF_REORDER = 0x00000008 KLF_REPLACELANG = 0x00000010 KLF_NOTELLSHELL = 0x00000080 KLF_SETFORPROCESS = 0x00000100 ) dependencies/pkg/mod/golang.org/x/sys@v0.26.0/windows/registry/0000755000000000000000000000000015107355264023170 5ustar rootrootdependencies/pkg/mod/golang.org/x/sys@v0.26.0/windows/registry/syscall.go0000644000000000000000000000321115107355264025166 0ustar rootroot// 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:build windows package registry import "syscall" const ( _REG_OPTION_NON_VOLATILE = 0 _REG_CREATED_NEW_KEY = 1 _REG_OPENED_EXISTING_KEY = 2 _ERROR_NO_MORE_ITEMS syscall.Errno = 259 ) func LoadRegLoadMUIString() error { return procRegLoadMUIStringW.Find() } //sys regCreateKeyEx(key syscall.Handle, subkey *uint16, reserved uint32, class *uint16, options uint32, desired uint32, sa *syscall.SecurityAttributes, result *syscall.Handle, disposition *uint32) (regerrno error) = advapi32.RegCreateKeyExW //sys regDeleteKey(key syscall.Handle, subkey *uint16) (regerrno error) = advapi32.RegDeleteKeyW //sys regSetValueEx(key syscall.Handle, valueName *uint16, reserved uint32, vtype uint32, buf *byte, bufsize uint32) (regerrno error) = advapi32.RegSetValueExW //sys regEnumValue(key syscall.Handle, index uint32, name *uint16, nameLen *uint32, reserved *uint32, valtype *uint32, buf *byte, buflen *uint32) (regerrno error) = advapi32.RegEnumValueW //sys regDeleteValue(key syscall.Handle, name *uint16) (regerrno error) = advapi32.RegDeleteValueW //sys regLoadMUIString(key syscall.Handle, name *uint16, buf *uint16, buflen uint32, buflenCopied *uint32, flags uint32, dir *uint16) (regerrno error) = advapi32.RegLoadMUIStringW //sys regConnectRegistry(machinename *uint16, key syscall.Handle, result *syscall.Handle) (regerrno error) = advapi32.RegConnectRegistryW //sys expandEnvironmentStrings(src *uint16, dst *uint16, size uint32) (n uint32, err error) = kernel32.ExpandEnvironmentStringsW dependencies/pkg/mod/golang.org/x/sys@v0.26.0/windows/registry/mksyscall.go0000644000000000000000000000045115107355264025521 0ustar rootroot// 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:build generate package registry //go:generate go run golang.org/x/sys/windows/mkwinsyscall -output zsyscall_windows.go syscall.go dependencies/pkg/mod/golang.org/x/sys@v0.26.0/windows/registry/key.go0000644000000000000000000001452415107355264024315 0ustar rootroot// 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:build windows // Package registry provides access to the Windows registry. // // Here is a simple example, opening a registry key and reading a string value from it. // // k, err := registry.OpenKey(registry.LOCAL_MACHINE, `SOFTWARE\Microsoft\Windows NT\CurrentVersion`, registry.QUERY_VALUE) // if err != nil { // log.Fatal(err) // } // defer k.Close() // // s, _, err := k.GetStringValue("SystemRoot") // if err != nil { // log.Fatal(err) // } // fmt.Printf("Windows system root is %q\n", s) package registry import ( "io" "runtime" "syscall" "time" ) const ( // Registry key security and access rights. // See https://msdn.microsoft.com/en-us/library/windows/desktop/ms724878.aspx // for details. ALL_ACCESS = 0xf003f CREATE_LINK = 0x00020 CREATE_SUB_KEY = 0x00004 ENUMERATE_SUB_KEYS = 0x00008 EXECUTE = 0x20019 NOTIFY = 0x00010 QUERY_VALUE = 0x00001 READ = 0x20019 SET_VALUE = 0x00002 WOW64_32KEY = 0x00200 WOW64_64KEY = 0x00100 WRITE = 0x20006 ) // Key is a handle to an open Windows registry key. // Keys can be obtained by calling OpenKey; there are // also some predefined root keys such as CURRENT_USER. // Keys can be used directly in the Windows API. type Key syscall.Handle const ( // Windows defines some predefined root keys that are always open. // An application can use these keys as entry points to the registry. // Normally these keys are used in OpenKey to open new keys, // but they can also be used anywhere a Key is required. CLASSES_ROOT = Key(syscall.HKEY_CLASSES_ROOT) CURRENT_USER = Key(syscall.HKEY_CURRENT_USER) LOCAL_MACHINE = Key(syscall.HKEY_LOCAL_MACHINE) USERS = Key(syscall.HKEY_USERS) CURRENT_CONFIG = Key(syscall.HKEY_CURRENT_CONFIG) PERFORMANCE_DATA = Key(syscall.HKEY_PERFORMANCE_DATA) ) // Close closes open key k. func (k Key) Close() error { return syscall.RegCloseKey(syscall.Handle(k)) } // OpenKey opens a new key with path name relative to key k. // It accepts any open key, including CURRENT_USER and others, // and returns the new key and an error. // The access parameter specifies desired access rights to the // key to be opened. func OpenKey(k Key, path string, access uint32) (Key, error) { p, err := syscall.UTF16PtrFromString(path) if err != nil { return 0, err } var subkey syscall.Handle err = syscall.RegOpenKeyEx(syscall.Handle(k), p, 0, access, &subkey) if err != nil { return 0, err } return Key(subkey), nil } // OpenRemoteKey opens a predefined registry key on another // computer pcname. The key to be opened is specified by k, but // can only be one of LOCAL_MACHINE, PERFORMANCE_DATA or USERS. // If pcname is "", OpenRemoteKey returns local computer key. func OpenRemoteKey(pcname string, k Key) (Key, error) { var err error var p *uint16 if pcname != "" { p, err = syscall.UTF16PtrFromString(`\\` + pcname) if err != nil { return 0, err } } var remoteKey syscall.Handle err = regConnectRegistry(p, syscall.Handle(k), &remoteKey) if err != nil { return 0, err } return Key(remoteKey), nil } // ReadSubKeyNames returns the names of subkeys of key k. // The parameter n controls the number of returned names, // analogous to the way os.File.Readdirnames works. func (k Key) ReadSubKeyNames(n int) ([]string, error) { // RegEnumKeyEx must be called repeatedly and to completion. // During this time, this goroutine cannot migrate away from // its current thread. See https://golang.org/issue/49320 and // https://golang.org/issue/49466. runtime.LockOSThread() defer runtime.UnlockOSThread() names := make([]string, 0) // Registry key size limit is 255 bytes and described there: // https://msdn.microsoft.com/library/windows/desktop/ms724872.aspx buf := make([]uint16, 256) //plus extra room for terminating zero byte loopItems: for i := uint32(0); ; i++ { if n > 0 { if len(names) == n { return names, nil } } l := uint32(len(buf)) for { err := syscall.RegEnumKeyEx(syscall.Handle(k), i, &buf[0], &l, nil, nil, nil, nil) if err == nil { break } if err == syscall.ERROR_MORE_DATA { // Double buffer size and try again. l = uint32(2 * len(buf)) buf = make([]uint16, l) continue } if err == _ERROR_NO_MORE_ITEMS { break loopItems } return names, err } names = append(names, syscall.UTF16ToString(buf[:l])) } if n > len(names) { return names, io.EOF } return names, nil } // CreateKey creates a key named path under open key k. // CreateKey returns the new key and a boolean flag that reports // whether the key already existed. // The access parameter specifies the access rights for the key // to be created. func CreateKey(k Key, path string, access uint32) (newk Key, openedExisting bool, err error) { var h syscall.Handle var d uint32 err = regCreateKeyEx(syscall.Handle(k), syscall.StringToUTF16Ptr(path), 0, nil, _REG_OPTION_NON_VOLATILE, access, nil, &h, &d) if err != nil { return 0, false, err } return Key(h), d == _REG_OPENED_EXISTING_KEY, nil } // DeleteKey deletes the subkey path of key k and its values. func DeleteKey(k Key, path string) error { return regDeleteKey(syscall.Handle(k), syscall.StringToUTF16Ptr(path)) } // A KeyInfo describes the statistics of a key. It is returned by Stat. type KeyInfo struct { SubKeyCount uint32 MaxSubKeyLen uint32 // size of the key's subkey with the longest name, in Unicode characters, not including the terminating zero byte ValueCount uint32 MaxValueNameLen uint32 // size of the key's longest value name, in Unicode characters, not including the terminating zero byte MaxValueLen uint32 // longest data component among the key's values, in bytes lastWriteTime syscall.Filetime } // ModTime returns the key's last write time. func (ki *KeyInfo) ModTime() time.Time { return time.Unix(0, ki.lastWriteTime.Nanoseconds()) } // Stat retrieves information about the open key k. func (k Key) Stat() (*KeyInfo, error) { var ki KeyInfo err := syscall.RegQueryInfoKey(syscall.Handle(k), nil, nil, nil, &ki.SubKeyCount, &ki.MaxSubKeyLen, nil, &ki.ValueCount, &ki.MaxValueNameLen, &ki.MaxValueLen, nil, &ki.lastWriteTime) if err != nil { return nil, err } return &ki, nil } dependencies/pkg/mod/golang.org/x/sys@v0.26.0/windows/registry/zsyscall_windows.go0000644000000000000000000001061015107355264027133 0ustar rootroot// Code generated by 'go generate'; DO NOT EDIT. package registry import ( "syscall" "unsafe" "golang.org/x/sys/windows" ) var _ unsafe.Pointer // Do the interface allocations only once for common // Errno values. const ( errnoERROR_IO_PENDING = 997 ) var ( errERROR_IO_PENDING error = syscall.Errno(errnoERROR_IO_PENDING) errERROR_EINVAL error = syscall.EINVAL ) // errnoErr returns common boxed Errno values, to prevent // allocations at runtime. func errnoErr(e syscall.Errno) error { switch e { case 0: return errERROR_EINVAL case errnoERROR_IO_PENDING: return errERROR_IO_PENDING } // TODO: add more here, after collecting data on the common // error values see on Windows. (perhaps when running // all.bat?) return e } var ( modadvapi32 = windows.NewLazySystemDLL("advapi32.dll") modkernel32 = windows.NewLazySystemDLL("kernel32.dll") procRegConnectRegistryW = modadvapi32.NewProc("RegConnectRegistryW") procRegCreateKeyExW = modadvapi32.NewProc("RegCreateKeyExW") procRegDeleteKeyW = modadvapi32.NewProc("RegDeleteKeyW") procRegDeleteValueW = modadvapi32.NewProc("RegDeleteValueW") procRegEnumValueW = modadvapi32.NewProc("RegEnumValueW") procRegLoadMUIStringW = modadvapi32.NewProc("RegLoadMUIStringW") procRegSetValueExW = modadvapi32.NewProc("RegSetValueExW") procExpandEnvironmentStringsW = modkernel32.NewProc("ExpandEnvironmentStringsW") ) func regConnectRegistry(machinename *uint16, key syscall.Handle, result *syscall.Handle) (regerrno error) { r0, _, _ := syscall.Syscall(procRegConnectRegistryW.Addr(), 3, uintptr(unsafe.Pointer(machinename)), uintptr(key), uintptr(unsafe.Pointer(result))) if r0 != 0 { regerrno = syscall.Errno(r0) } return } func regCreateKeyEx(key syscall.Handle, subkey *uint16, reserved uint32, class *uint16, options uint32, desired uint32, sa *syscall.SecurityAttributes, result *syscall.Handle, disposition *uint32) (regerrno error) { r0, _, _ := syscall.Syscall9(procRegCreateKeyExW.Addr(), 9, uintptr(key), uintptr(unsafe.Pointer(subkey)), uintptr(reserved), uintptr(unsafe.Pointer(class)), uintptr(options), uintptr(desired), uintptr(unsafe.Pointer(sa)), uintptr(unsafe.Pointer(result)), uintptr(unsafe.Pointer(disposition))) if r0 != 0 { regerrno = syscall.Errno(r0) } return } func regDeleteKey(key syscall.Handle, subkey *uint16) (regerrno error) { r0, _, _ := syscall.Syscall(procRegDeleteKeyW.Addr(), 2, uintptr(key), uintptr(unsafe.Pointer(subkey)), 0) if r0 != 0 { regerrno = syscall.Errno(r0) } return } func regDeleteValue(key syscall.Handle, name *uint16) (regerrno error) { r0, _, _ := syscall.Syscall(procRegDeleteValueW.Addr(), 2, uintptr(key), uintptr(unsafe.Pointer(name)), 0) if r0 != 0 { regerrno = syscall.Errno(r0) } return } func regEnumValue(key syscall.Handle, index uint32, name *uint16, nameLen *uint32, reserved *uint32, valtype *uint32, buf *byte, buflen *uint32) (regerrno error) { r0, _, _ := syscall.Syscall9(procRegEnumValueW.Addr(), 8, uintptr(key), uintptr(index), uintptr(unsafe.Pointer(name)), uintptr(unsafe.Pointer(nameLen)), uintptr(unsafe.Pointer(reserved)), uintptr(unsafe.Pointer(valtype)), uintptr(unsafe.Pointer(buf)), uintptr(unsafe.Pointer(buflen)), 0) if r0 != 0 { regerrno = syscall.Errno(r0) } return } func regLoadMUIString(key syscall.Handle, name *uint16, buf *uint16, buflen uint32, buflenCopied *uint32, flags uint32, dir *uint16) (regerrno error) { r0, _, _ := syscall.Syscall9(procRegLoadMUIStringW.Addr(), 7, uintptr(key), uintptr(unsafe.Pointer(name)), uintptr(unsafe.Pointer(buf)), uintptr(buflen), uintptr(unsafe.Pointer(buflenCopied)), uintptr(flags), uintptr(unsafe.Pointer(dir)), 0, 0) if r0 != 0 { regerrno = syscall.Errno(r0) } return } func regSetValueEx(key syscall.Handle, valueName *uint16, reserved uint32, vtype uint32, buf *byte, bufsize uint32) (regerrno error) { r0, _, _ := syscall.Syscall6(procRegSetValueExW.Addr(), 6, uintptr(key), uintptr(unsafe.Pointer(valueName)), uintptr(reserved), uintptr(vtype), uintptr(unsafe.Pointer(buf)), uintptr(bufsize)) if r0 != 0 { regerrno = syscall.Errno(r0) } return } func expandEnvironmentStrings(src *uint16, dst *uint16, size uint32) (n uint32, err error) { r0, _, e1 := syscall.Syscall(procExpandEnvironmentStringsW.Addr(), 3, uintptr(unsafe.Pointer(src)), uintptr(unsafe.Pointer(dst)), uintptr(size)) n = uint32(r0) if n == 0 { err = errnoErr(e1) } return } dependencies/pkg/mod/golang.org/x/sys@v0.26.0/windows/registry/value.go0000644000000000000000000002671515107355264024646 0ustar rootroot// 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:build windows package registry import ( "errors" "io" "syscall" "unicode/utf16" "unsafe" ) const ( // Registry value types. NONE = 0 SZ = 1 EXPAND_SZ = 2 BINARY = 3 DWORD = 4 DWORD_BIG_ENDIAN = 5 LINK = 6 MULTI_SZ = 7 RESOURCE_LIST = 8 FULL_RESOURCE_DESCRIPTOR = 9 RESOURCE_REQUIREMENTS_LIST = 10 QWORD = 11 ) var ( // ErrShortBuffer is returned when the buffer was too short for the operation. ErrShortBuffer = syscall.ERROR_MORE_DATA // ErrNotExist is returned when a registry key or value does not exist. ErrNotExist = syscall.ERROR_FILE_NOT_FOUND // ErrUnexpectedType is returned by Get*Value when the value's type was unexpected. ErrUnexpectedType = errors.New("unexpected key value type") ) // GetValue retrieves the type and data for the specified value associated // with an open key k. It fills up buffer buf and returns the retrieved // byte count n. If buf is too small to fit the stored value it returns // ErrShortBuffer error along with the required buffer size n. // If no buffer is provided, it returns true and actual buffer size n. // If no buffer is provided, GetValue returns the value's type only. // If the value does not exist, the error returned is ErrNotExist. // // GetValue is a low level function. If value's type is known, use the appropriate // Get*Value function instead. func (k Key) GetValue(name string, buf []byte) (n int, valtype uint32, err error) { pname, err := syscall.UTF16PtrFromString(name) if err != nil { return 0, 0, err } var pbuf *byte if len(buf) > 0 { pbuf = (*byte)(unsafe.Pointer(&buf[0])) } l := uint32(len(buf)) err = syscall.RegQueryValueEx(syscall.Handle(k), pname, nil, &valtype, pbuf, &l) if err != nil { return int(l), valtype, err } return int(l), valtype, nil } func (k Key) getValue(name string, buf []byte) (data []byte, valtype uint32, err error) { p, err := syscall.UTF16PtrFromString(name) if err != nil { return nil, 0, err } var t uint32 n := uint32(len(buf)) for { err = syscall.RegQueryValueEx(syscall.Handle(k), p, nil, &t, (*byte)(unsafe.Pointer(&buf[0])), &n) if err == nil { return buf[:n], t, nil } if err != syscall.ERROR_MORE_DATA { return nil, 0, err } if n <= uint32(len(buf)) { return nil, 0, err } buf = make([]byte, n) } } // GetStringValue retrieves the string value for the specified // value name associated with an open key k. It also returns the value's type. // If value does not exist, GetStringValue returns ErrNotExist. // If value is not SZ or EXPAND_SZ, it will return the correct value // type and ErrUnexpectedType. func (k Key) GetStringValue(name string) (val string, valtype uint32, err error) { data, typ, err2 := k.getValue(name, make([]byte, 64)) if err2 != nil { return "", typ, err2 } switch typ { case SZ, EXPAND_SZ: default: return "", typ, ErrUnexpectedType } if len(data) == 0 { return "", typ, nil } u := (*[1 << 29]uint16)(unsafe.Pointer(&data[0]))[: len(data)/2 : len(data)/2] return syscall.UTF16ToString(u), typ, nil } // GetMUIStringValue retrieves the localized string value for // the specified value name associated with an open key k. // If the value name doesn't exist or the localized string value // can't be resolved, GetMUIStringValue returns ErrNotExist. // GetMUIStringValue panics if the system doesn't support // regLoadMUIString; use LoadRegLoadMUIString to check if // regLoadMUIString is supported before calling this function. func (k Key) GetMUIStringValue(name string) (string, error) { pname, err := syscall.UTF16PtrFromString(name) if err != nil { return "", err } buf := make([]uint16, 1024) var buflen uint32 var pdir *uint16 err = regLoadMUIString(syscall.Handle(k), pname, &buf[0], uint32(len(buf)), &buflen, 0, pdir) if err == syscall.ERROR_FILE_NOT_FOUND { // Try fallback path // Try to resolve the string value using the system directory as // a DLL search path; this assumes the string value is of the form // @[path]\dllname,-strID but with no path given, e.g. @tzres.dll,-320. // This approach works with tzres.dll but may have to be revised // in the future to allow callers to provide custom search paths. var s string s, err = ExpandString("%SystemRoot%\\system32\\") if err != nil { return "", err } pdir, err = syscall.UTF16PtrFromString(s) if err != nil { return "", err } err = regLoadMUIString(syscall.Handle(k), pname, &buf[0], uint32(len(buf)), &buflen, 0, pdir) } for err == syscall.ERROR_MORE_DATA { // Grow buffer if needed if buflen <= uint32(len(buf)) { break // Buffer not growing, assume race; break } buf = make([]uint16, buflen) err = regLoadMUIString(syscall.Handle(k), pname, &buf[0], uint32(len(buf)), &buflen, 0, pdir) } if err != nil { return "", err } return syscall.UTF16ToString(buf), nil } // ExpandString expands environment-variable strings and replaces // them with the values defined for the current user. // Use ExpandString to expand EXPAND_SZ strings. func ExpandString(value string) (string, error) { if value == "" { return "", nil } p, err := syscall.UTF16PtrFromString(value) if err != nil { return "", err } r := make([]uint16, 100) for { n, err := expandEnvironmentStrings(p, &r[0], uint32(len(r))) if err != nil { return "", err } if n <= uint32(len(r)) { return syscall.UTF16ToString(r[:n]), nil } r = make([]uint16, n) } } // GetStringsValue retrieves the []string value for the specified // value name associated with an open key k. It also returns the value's type. // If value does not exist, GetStringsValue returns ErrNotExist. // If value is not MULTI_SZ, it will return the correct value // type and ErrUnexpectedType. func (k Key) GetStringsValue(name string) (val []string, valtype uint32, err error) { data, typ, err2 := k.getValue(name, make([]byte, 64)) if err2 != nil { return nil, typ, err2 } if typ != MULTI_SZ { return nil, typ, ErrUnexpectedType } if len(data) == 0 { return nil, typ, nil } p := (*[1 << 29]uint16)(unsafe.Pointer(&data[0]))[: len(data)/2 : len(data)/2] if len(p) == 0 { return nil, typ, nil } if p[len(p)-1] == 0 { p = p[:len(p)-1] // remove terminating null } val = make([]string, 0, 5) from := 0 for i, c := range p { if c == 0 { val = append(val, string(utf16.Decode(p[from:i]))) from = i + 1 } } return val, typ, nil } // GetIntegerValue retrieves the integer value for the specified // value name associated with an open key k. It also returns the value's type. // If value does not exist, GetIntegerValue returns ErrNotExist. // If value is not DWORD or QWORD, it will return the correct value // type and ErrUnexpectedType. func (k Key) GetIntegerValue(name string) (val uint64, valtype uint32, err error) { data, typ, err2 := k.getValue(name, make([]byte, 8)) if err2 != nil { return 0, typ, err2 } switch typ { case DWORD: if len(data) != 4 { return 0, typ, errors.New("DWORD value is not 4 bytes long") } var val32 uint32 copy((*[4]byte)(unsafe.Pointer(&val32))[:], data) return uint64(val32), DWORD, nil case QWORD: if len(data) != 8 { return 0, typ, errors.New("QWORD value is not 8 bytes long") } copy((*[8]byte)(unsafe.Pointer(&val))[:], data) return val, QWORD, nil default: return 0, typ, ErrUnexpectedType } } // GetBinaryValue retrieves the binary value for the specified // value name associated with an open key k. It also returns the value's type. // If value does not exist, GetBinaryValue returns ErrNotExist. // If value is not BINARY, it will return the correct value // type and ErrUnexpectedType. func (k Key) GetBinaryValue(name string) (val []byte, valtype uint32, err error) { data, typ, err2 := k.getValue(name, make([]byte, 64)) if err2 != nil { return nil, typ, err2 } if typ != BINARY { return nil, typ, ErrUnexpectedType } return data, typ, nil } func (k Key) setValue(name string, valtype uint32, data []byte) error { p, err := syscall.UTF16PtrFromString(name) if err != nil { return err } if len(data) == 0 { return regSetValueEx(syscall.Handle(k), p, 0, valtype, nil, 0) } return regSetValueEx(syscall.Handle(k), p, 0, valtype, &data[0], uint32(len(data))) } // SetDWordValue sets the data and type of a name value // under key k to value and DWORD. func (k Key) SetDWordValue(name string, value uint32) error { return k.setValue(name, DWORD, (*[4]byte)(unsafe.Pointer(&value))[:]) } // SetQWordValue sets the data and type of a name value // under key k to value and QWORD. func (k Key) SetQWordValue(name string, value uint64) error { return k.setValue(name, QWORD, (*[8]byte)(unsafe.Pointer(&value))[:]) } func (k Key) setStringValue(name string, valtype uint32, value string) error { v, err := syscall.UTF16FromString(value) if err != nil { return err } buf := (*[1 << 29]byte)(unsafe.Pointer(&v[0]))[: len(v)*2 : len(v)*2] return k.setValue(name, valtype, buf) } // SetStringValue sets the data and type of a name value // under key k to value and SZ. The value must not contain a zero byte. func (k Key) SetStringValue(name, value string) error { return k.setStringValue(name, SZ, value) } // SetExpandStringValue sets the data and type of a name value // under key k to value and EXPAND_SZ. The value must not contain a zero byte. func (k Key) SetExpandStringValue(name, value string) error { return k.setStringValue(name, EXPAND_SZ, value) } // SetStringsValue sets the data and type of a name value // under key k to value and MULTI_SZ. The value strings // must not contain a zero byte. func (k Key) SetStringsValue(name string, value []string) error { ss := "" for _, s := range value { for i := 0; i < len(s); i++ { if s[i] == 0 { return errors.New("string cannot have 0 inside") } } ss += s + "\x00" } v := utf16.Encode([]rune(ss + "\x00")) buf := (*[1 << 29]byte)(unsafe.Pointer(&v[0]))[: len(v)*2 : len(v)*2] return k.setValue(name, MULTI_SZ, buf) } // SetBinaryValue sets the data and type of a name value // under key k to value and BINARY. func (k Key) SetBinaryValue(name string, value []byte) error { return k.setValue(name, BINARY, value) } // DeleteValue removes a named value from the key k. func (k Key) DeleteValue(name string) error { return regDeleteValue(syscall.Handle(k), syscall.StringToUTF16Ptr(name)) } // ReadValueNames returns the value names of key k. // The parameter n controls the number of returned names, // analogous to the way os.File.Readdirnames works. func (k Key) ReadValueNames(n int) ([]string, error) { ki, err := k.Stat() if err != nil { return nil, err } names := make([]string, 0, ki.ValueCount) buf := make([]uint16, ki.MaxValueNameLen+1) // extra room for terminating null character loopItems: for i := uint32(0); ; i++ { if n > 0 { if len(names) == n { return names, nil } } l := uint32(len(buf)) for { err := regEnumValue(syscall.Handle(k), i, &buf[0], &l, nil, nil, nil, nil) if err == nil { break } if err == syscall.ERROR_MORE_DATA { // Double buffer size and try again. l = uint32(2 * len(buf)) buf = make([]uint16, l) continue } if err == _ERROR_NO_MORE_ITEMS { break loopItems } return names, err } names = append(names, syscall.UTF16ToString(buf[:l])) } if n > len(names) { return names, io.EOF } return names, nil } dependencies/pkg/mod/golang.org/x/sys@v0.26.0/windows/registry/registry_test.go0000644000000000000000000004577115107355264026444 0ustar rootroot// 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:build windows package registry_test import ( "bytes" "crypto/rand" "os" "syscall" "testing" "time" "unsafe" "golang.org/x/sys/windows/registry" ) func randKeyName(prefix string) string { const numbers = "0123456789" buf := make([]byte, 10) rand.Read(buf) for i, b := range buf { buf[i] = numbers[b%byte(len(numbers))] } return prefix + string(buf) } func TestReadSubKeyNames(t *testing.T) { k, err := registry.OpenKey(registry.CLASSES_ROOT, "TypeLib", registry.ENUMERATE_SUB_KEYS) if err != nil { t.Fatal(err) } defer k.Close() names, err := k.ReadSubKeyNames(-1) if err != nil { t.Fatal(err) } var foundStdOle bool for _, name := range names { // Every PC has "stdole 2.0 OLE Automation" library installed. if name == "{00020430-0000-0000-C000-000000000046}" { foundStdOle = true } } if !foundStdOle { t.Fatal("could not find stdole 2.0 OLE Automation") } } func TestCreateOpenDeleteKey(t *testing.T) { k, err := registry.OpenKey(registry.CURRENT_USER, "Software", registry.QUERY_VALUE) if err != nil { t.Fatal(err) } defer k.Close() testKName := randKeyName("TestCreateOpenDeleteKey_") testK, exist, err := registry.CreateKey(k, testKName, registry.CREATE_SUB_KEY) if err != nil { t.Fatal(err) } defer testK.Close() if exist { t.Fatalf("key %q already exists", testKName) } testKAgain, exist, err := registry.CreateKey(k, testKName, registry.CREATE_SUB_KEY) if err != nil { t.Fatal(err) } defer testKAgain.Close() if !exist { t.Fatalf("key %q should already exist", testKName) } testKOpened, err := registry.OpenKey(k, testKName, registry.ENUMERATE_SUB_KEYS) if err != nil { t.Fatal(err) } defer testKOpened.Close() err = registry.DeleteKey(k, testKName) if err != nil { t.Fatal(err) } testKOpenedAgain, err := registry.OpenKey(k, testKName, registry.ENUMERATE_SUB_KEYS) if err == nil { defer testKOpenedAgain.Close() t.Fatalf("key %q should already been deleted", testKName) } if err != registry.ErrNotExist { t.Fatalf(`unexpected error ("not exist" expected): %v`, err) } } func equalStringSlice(a, b []string) bool { if len(a) != len(b) { return false } if a == nil { return true } for i := range a { if a[i] != b[i] { return false } } return true } type ValueTest struct { Type uint32 Name string Value interface{} WillFail bool } var ValueTests = []ValueTest{ {Type: registry.SZ, Name: "String1", Value: ""}, {Type: registry.SZ, Name: "String2", Value: "\000", WillFail: true}, {Type: registry.SZ, Name: "String3", Value: "Hello World"}, {Type: registry.SZ, Name: "String4", Value: "Hello World\000", WillFail: true}, {Type: registry.EXPAND_SZ, Name: "ExpString1", Value: ""}, {Type: registry.EXPAND_SZ, Name: "ExpString2", Value: "\000", WillFail: true}, {Type: registry.EXPAND_SZ, Name: "ExpString3", Value: "Hello World"}, {Type: registry.EXPAND_SZ, Name: "ExpString4", Value: "Hello\000World", WillFail: true}, {Type: registry.EXPAND_SZ, Name: "ExpString5", Value: "%PATH%"}, {Type: registry.EXPAND_SZ, Name: "ExpString6", Value: "%NO_SUCH_VARIABLE%"}, {Type: registry.EXPAND_SZ, Name: "ExpString7", Value: "%PATH%;."}, {Type: registry.BINARY, Name: "Binary1", Value: []byte{}}, {Type: registry.BINARY, Name: "Binary2", Value: []byte{1, 2, 3}}, {Type: registry.BINARY, Name: "Binary3", Value: []byte{3, 2, 1, 0, 1, 2, 3}}, {Type: registry.DWORD, Name: "Dword1", Value: uint64(0)}, {Type: registry.DWORD, Name: "Dword2", Value: uint64(1)}, {Type: registry.DWORD, Name: "Dword3", Value: uint64(0xff)}, {Type: registry.DWORD, Name: "Dword4", Value: uint64(0xffff)}, {Type: registry.QWORD, Name: "Qword1", Value: uint64(0)}, {Type: registry.QWORD, Name: "Qword2", Value: uint64(1)}, {Type: registry.QWORD, Name: "Qword3", Value: uint64(0xff)}, {Type: registry.QWORD, Name: "Qword4", Value: uint64(0xffff)}, {Type: registry.QWORD, Name: "Qword5", Value: uint64(0xffffff)}, {Type: registry.QWORD, Name: "Qword6", Value: uint64(0xffffffff)}, {Type: registry.MULTI_SZ, Name: "MultiString1", Value: []string{"a", "b", "c"}}, {Type: registry.MULTI_SZ, Name: "MultiString2", Value: []string{"abc", "", "cba"}}, {Type: registry.MULTI_SZ, Name: "MultiString3", Value: []string{""}}, {Type: registry.MULTI_SZ, Name: "MultiString4", Value: []string{"abcdef"}}, {Type: registry.MULTI_SZ, Name: "MultiString5", Value: []string{"\000"}, WillFail: true}, {Type: registry.MULTI_SZ, Name: "MultiString6", Value: []string{"a\000b"}, WillFail: true}, {Type: registry.MULTI_SZ, Name: "MultiString7", Value: []string{"ab", "\000", "cd"}, WillFail: true}, {Type: registry.MULTI_SZ, Name: "MultiString8", Value: []string{"\000", "cd"}, WillFail: true}, {Type: registry.MULTI_SZ, Name: "MultiString9", Value: []string{"ab", "\000"}, WillFail: true}, } func setValues(t *testing.T, k registry.Key) { for _, test := range ValueTests { var err error switch test.Type { case registry.SZ: err = k.SetStringValue(test.Name, test.Value.(string)) case registry.EXPAND_SZ: err = k.SetExpandStringValue(test.Name, test.Value.(string)) case registry.MULTI_SZ: err = k.SetStringsValue(test.Name, test.Value.([]string)) case registry.BINARY: err = k.SetBinaryValue(test.Name, test.Value.([]byte)) case registry.DWORD: err = k.SetDWordValue(test.Name, uint32(test.Value.(uint64))) case registry.QWORD: err = k.SetQWordValue(test.Name, test.Value.(uint64)) default: t.Fatalf("unsupported type %d for %s value", test.Type, test.Name) } if test.WillFail { if err == nil { t.Fatalf("setting %s value %q should fail, but succeeded", test.Name, test.Value) } } else { if err != nil { t.Fatal(err) } } } } func enumerateValues(t *testing.T, k registry.Key) { names, err := k.ReadValueNames(-1) if err != nil { t.Error(err) return } haveNames := make(map[string]bool) for _, n := range names { haveNames[n] = false } for _, test := range ValueTests { wantFound := !test.WillFail _, haveFound := haveNames[test.Name] if wantFound && !haveFound { t.Errorf("value %s is not found while enumerating", test.Name) } if haveFound && !wantFound { t.Errorf("value %s is found while enumerating, but expected to fail", test.Name) } if haveFound { delete(haveNames, test.Name) } } for n, v := range haveNames { t.Errorf("value %s (%v) is found while enumerating, but has not been created", n, v) } } func testErrNotExist(t *testing.T, name string, err error) { if err == nil { t.Errorf("%s value should not exist", name) return } if err != registry.ErrNotExist { t.Errorf("reading %s value should return 'not exist' error, but got: %s", name, err) return } } func testErrUnexpectedType(t *testing.T, test ValueTest, gottype uint32, err error) { if err == nil { t.Errorf("GetXValue(%q) should not succeed", test.Name) return } if err != registry.ErrUnexpectedType { t.Errorf("reading %s value should return 'unexpected key value type' error, but got: %s", test.Name, err) return } if gottype != test.Type { t.Errorf("want %s value type %v, got %v", test.Name, test.Type, gottype) return } } func testGetStringValue(t *testing.T, k registry.Key, test ValueTest) { got, gottype, err := k.GetStringValue(test.Name) if err != nil { t.Errorf("GetStringValue(%s) failed: %v", test.Name, err) return } if got != test.Value { t.Errorf("want %s value %q, got %q", test.Name, test.Value, got) return } if gottype != test.Type { t.Errorf("want %s value type %v, got %v", test.Name, test.Type, gottype) return } if gottype == registry.EXPAND_SZ { _, err = registry.ExpandString(got) if err != nil { t.Errorf("ExpandString(%s) failed: %v", got, err) return } } } func testGetIntegerValue(t *testing.T, k registry.Key, test ValueTest) { got, gottype, err := k.GetIntegerValue(test.Name) if err != nil { t.Errorf("GetIntegerValue(%s) failed: %v", test.Name, err) return } if got != test.Value.(uint64) { t.Errorf("want %s value %v, got %v", test.Name, test.Value, got) return } if gottype != test.Type { t.Errorf("want %s value type %v, got %v", test.Name, test.Type, gottype) return } } func testGetBinaryValue(t *testing.T, k registry.Key, test ValueTest) { got, gottype, err := k.GetBinaryValue(test.Name) if err != nil { t.Errorf("GetBinaryValue(%s) failed: %v", test.Name, err) return } if !bytes.Equal(got, test.Value.([]byte)) { t.Errorf("want %s value %v, got %v", test.Name, test.Value, got) return } if gottype != test.Type { t.Errorf("want %s value type %v, got %v", test.Name, test.Type, gottype) return } } func testGetStringsValue(t *testing.T, k registry.Key, test ValueTest) { got, gottype, err := k.GetStringsValue(test.Name) if err != nil { t.Errorf("GetStringsValue(%s) failed: %v", test.Name, err) return } if !equalStringSlice(got, test.Value.([]string)) { t.Errorf("want %s value %#v, got %#v", test.Name, test.Value, got) return } if gottype != test.Type { t.Errorf("want %s value type %v, got %v", test.Name, test.Type, gottype) return } } func testGetValue(t *testing.T, k registry.Key, test ValueTest, size int) { if size <= 0 { return } // read data with no buffer gotsize, gottype, err := k.GetValue(test.Name, nil) if err != nil { t.Errorf("GetValue(%s, [%d]byte) failed: %v", test.Name, size, err) return } if gotsize != size { t.Errorf("want %s value size of %d, got %v", test.Name, size, gotsize) return } if gottype != test.Type { t.Errorf("want %s value type %v, got %v", test.Name, test.Type, gottype) return } // read data with short buffer gotsize, gottype, err = k.GetValue(test.Name, make([]byte, size-1)) if err == nil { t.Errorf("GetValue(%s, [%d]byte) should fail, but succeeded", test.Name, size-1) return } if err != registry.ErrShortBuffer { t.Errorf("reading %s value should return 'short buffer' error, but got: %s", test.Name, err) return } if gotsize != size { t.Errorf("want %s value size of %d, got %v", test.Name, size, gotsize) return } if gottype != test.Type { t.Errorf("want %s value type %v, got %v", test.Name, test.Type, gottype) return } // read full data gotsize, gottype, err = k.GetValue(test.Name, make([]byte, size)) if err != nil { t.Errorf("GetValue(%s, [%d]byte) failed: %v", test.Name, size, err) return } if gotsize != size { t.Errorf("want %s value size of %d, got %v", test.Name, size, gotsize) return } if gottype != test.Type { t.Errorf("want %s value type %v, got %v", test.Name, test.Type, gottype) return } // check GetValue returns ErrNotExist as required _, _, err = k.GetValue(test.Name+"_not_there", make([]byte, size)) if err == nil { t.Errorf("GetValue(%q) should not succeed", test.Name) return } if err != registry.ErrNotExist { t.Errorf("GetValue(%q) should return 'not exist' error, but got: %s", test.Name, err) return } } func testValues(t *testing.T, k registry.Key) { for _, test := range ValueTests { switch test.Type { case registry.SZ, registry.EXPAND_SZ: if test.WillFail { _, _, err := k.GetStringValue(test.Name) testErrNotExist(t, test.Name, err) } else { testGetStringValue(t, k, test) _, gottype, err := k.GetIntegerValue(test.Name) testErrUnexpectedType(t, test, gottype, err) // Size of utf16 string in bytes is not perfect, // but correct for current test values. // Size also includes terminating 0. testGetValue(t, k, test, (len(test.Value.(string))+1)*2) } _, _, err := k.GetStringValue(test.Name + "_string_not_created") testErrNotExist(t, test.Name+"_string_not_created", err) case registry.DWORD, registry.QWORD: testGetIntegerValue(t, k, test) _, gottype, err := k.GetBinaryValue(test.Name) testErrUnexpectedType(t, test, gottype, err) _, _, err = k.GetIntegerValue(test.Name + "_int_not_created") testErrNotExist(t, test.Name+"_int_not_created", err) size := 8 if test.Type == registry.DWORD { size = 4 } testGetValue(t, k, test, size) case registry.BINARY: testGetBinaryValue(t, k, test) _, gottype, err := k.GetStringsValue(test.Name) testErrUnexpectedType(t, test, gottype, err) _, _, err = k.GetBinaryValue(test.Name + "_byte_not_created") testErrNotExist(t, test.Name+"_byte_not_created", err) testGetValue(t, k, test, len(test.Value.([]byte))) case registry.MULTI_SZ: if test.WillFail { _, _, err := k.GetStringsValue(test.Name) testErrNotExist(t, test.Name, err) } else { testGetStringsValue(t, k, test) _, gottype, err := k.GetStringValue(test.Name) testErrUnexpectedType(t, test, gottype, err) size := 0 for _, s := range test.Value.([]string) { size += len(s) + 1 // nil terminated } size += 1 // extra nil at the end size *= 2 // count bytes, not uint16 testGetValue(t, k, test, size) } _, _, err := k.GetStringsValue(test.Name + "_strings_not_created") testErrNotExist(t, test.Name+"_strings_not_created", err) default: t.Errorf("unsupported type %d for %s value", test.Type, test.Name) continue } } } func testStat(t *testing.T, k registry.Key) { subk, _, err := registry.CreateKey(k, "subkey", registry.CREATE_SUB_KEY) if err != nil { t.Error(err) return } defer subk.Close() defer registry.DeleteKey(k, "subkey") ki, err := k.Stat() if err != nil { t.Error(err) return } if ki.SubKeyCount != 1 { t.Error("key must have 1 subkey") } if ki.MaxSubKeyLen != 6 { t.Error("key max subkey name length must be 6") } if ki.ValueCount != 24 { t.Errorf("key must have 24 values, but is %d", ki.ValueCount) } if ki.MaxValueNameLen != 12 { t.Errorf("key max value name length must be 10, but is %d", ki.MaxValueNameLen) } if ki.MaxValueLen != 38 { t.Errorf("key max value length must be 38, but is %d", ki.MaxValueLen) } if mt, ct := ki.ModTime(), time.Now(); ct.Sub(mt) > 100*time.Millisecond { t.Errorf("key mod time is not close to current time: mtime=%v current=%v delta=%v", mt, ct, ct.Sub(mt)) } } func deleteValues(t *testing.T, k registry.Key) { for _, test := range ValueTests { if test.WillFail { continue } err := k.DeleteValue(test.Name) if err != nil { t.Error(err) continue } } names, err := k.ReadValueNames(-1) if err != nil { t.Error(err) return } if len(names) != 0 { t.Errorf("some values remain after deletion: %v", names) } } func TestValues(t *testing.T) { softwareK, err := registry.OpenKey(registry.CURRENT_USER, "Software", registry.QUERY_VALUE) if err != nil { t.Fatal(err) } defer softwareK.Close() testKName := randKeyName("TestValues_") k, exist, err := registry.CreateKey(softwareK, testKName, registry.CREATE_SUB_KEY|registry.QUERY_VALUE|registry.SET_VALUE) if err != nil { t.Fatal(err) } defer k.Close() if exist { t.Fatalf("key %q already exists", testKName) } defer registry.DeleteKey(softwareK, testKName) setValues(t, k) enumerateValues(t, k) testValues(t, k) testStat(t, k) deleteValues(t, k) } func TestExpandString(t *testing.T) { got, err := registry.ExpandString("%PATH%") if err != nil { t.Fatal(err) } want := os.Getenv("PATH") if got != want { t.Errorf("want %q string expanded, got %q", want, got) } } func TestInvalidValues(t *testing.T) { softwareK, err := registry.OpenKey(registry.CURRENT_USER, "Software", registry.QUERY_VALUE) if err != nil { t.Fatal(err) } defer softwareK.Close() testKName := randKeyName("TestInvalidValues_") k, exist, err := registry.CreateKey(softwareK, testKName, registry.CREATE_SUB_KEY|registry.QUERY_VALUE|registry.SET_VALUE) if err != nil { t.Fatal(err) } defer k.Close() if exist { t.Fatalf("key %q already exists", testKName) } defer registry.DeleteKey(softwareK, testKName) var tests = []struct { Type uint32 Name string Data []byte }{ {registry.DWORD, "Dword1", nil}, {registry.DWORD, "Dword2", []byte{1, 2, 3}}, {registry.QWORD, "Qword1", nil}, {registry.QWORD, "Qword2", []byte{1, 2, 3}}, {registry.QWORD, "Qword3", []byte{1, 2, 3, 4, 5, 6, 7}}, {registry.MULTI_SZ, "MultiString1", nil}, {registry.MULTI_SZ, "MultiString2", []byte{0}}, {registry.MULTI_SZ, "MultiString3", []byte{'a', 'b', 0}}, {registry.MULTI_SZ, "MultiString4", []byte{'a', 0, 0, 'b', 0}}, {registry.MULTI_SZ, "MultiString5", []byte{'a', 0, 0}}, } for _, test := range tests { err := k.SetValue(test.Name, test.Type, test.Data) if err != nil { t.Fatalf("SetValue for %q failed: %v", test.Name, err) } } for _, test := range tests { switch test.Type { case registry.DWORD, registry.QWORD: value, valType, err := k.GetIntegerValue(test.Name) if err == nil { t.Errorf("GetIntegerValue(%q) succeeded. Returns type=%d value=%v", test.Name, valType, value) } case registry.MULTI_SZ: value, valType, err := k.GetStringsValue(test.Name) if err == nil { if len(value) != 0 { t.Errorf("GetStringsValue(%q) succeeded. Returns type=%d value=%v", test.Name, valType, value) } } default: t.Errorf("unsupported type %d for %s value", test.Type, test.Name) } } } func TestGetMUIStringValue(t *testing.T) { if err := registry.LoadRegLoadMUIString(); err != nil { t.Skip("regLoadMUIString not supported; skipping") } if err := procGetDynamicTimeZoneInformation.Find(); err != nil { t.Skipf("%s not supported; skipping", procGetDynamicTimeZoneInformation.Name) } var dtzi DynamicTimezoneinformation if _, err := GetDynamicTimeZoneInformation(&dtzi); err != nil { t.Fatal(err) } tzKeyName := syscall.UTF16ToString(dtzi.TimeZoneKeyName[:]) timezoneK, err := registry.OpenKey(registry.LOCAL_MACHINE, `SOFTWARE\Microsoft\Windows NT\CurrentVersion\Time Zones\`+tzKeyName, registry.READ) if err != nil { t.Fatal(err) } defer timezoneK.Close() type testType struct { name string want string } var tests = []testType{ {"MUI_Std", syscall.UTF16ToString(dtzi.StandardName[:])}, } if dtzi.DynamicDaylightTimeDisabled == 0 { tests = append(tests, testType{"MUI_Dlt", syscall.UTF16ToString(dtzi.DaylightName[:])}) } for _, test := range tests { got, err := timezoneK.GetMUIStringValue(test.name) if err != nil { t.Error("GetMUIStringValue:", err) } if got != test.want { t.Errorf("GetMUIStringValue: %s: Got %q, want %q", test.name, got, test.want) } } } type DynamicTimezoneinformation struct { Bias int32 StandardName [32]uint16 StandardDate syscall.Systemtime StandardBias int32 DaylightName [32]uint16 DaylightDate syscall.Systemtime DaylightBias int32 TimeZoneKeyName [128]uint16 DynamicDaylightTimeDisabled uint8 } var ( kernel32DLL = syscall.NewLazyDLL("kernel32") procGetDynamicTimeZoneInformation = kernel32DLL.NewProc("GetDynamicTimeZoneInformation") ) func GetDynamicTimeZoneInformation(dtzi *DynamicTimezoneinformation) (rc uint32, err error) { r0, _, e1 := syscall.Syscall(procGetDynamicTimeZoneInformation.Addr(), 1, uintptr(unsafe.Pointer(dtzi)), 0, 0) rc = uint32(r0) if rc == 0xffffffff { if e1 != 0 { err = error(e1) } else { err = syscall.EINVAL } } return } dependencies/pkg/mod/golang.org/x/sys@v0.26.0/windows/registry/export_test.go0000644000000000000000000000047015107355264026100 0ustar rootroot// 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:build windows package registry func (k Key) SetValue(name string, valtype uint32, data []byte) error { return k.setValue(name, valtype, data) } dependencies/pkg/mod/golang.org/x/sys@v0.26.0/windows/types_windows_386.go0000644000000000000000000000155315107355264025171 0ustar rootroot// 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 windows type WSAData struct { Version uint16 HighVersion uint16 Description [WSADESCRIPTION_LEN + 1]byte SystemStatus [WSASYS_STATUS_LEN + 1]byte MaxSockets uint16 MaxUdpDg uint16 VendorInfo *byte } type Servent struct { Name *byte Aliases **byte Port uint16 Proto *byte } type JOBOBJECT_BASIC_LIMIT_INFORMATION struct { PerProcessUserTimeLimit int64 PerJobUserTimeLimit int64 LimitFlags uint32 MinimumWorkingSetSize uintptr MaximumWorkingSetSize uintptr ActiveProcessLimit uint32 Affinity uintptr PriorityClass uint32 SchedulingClass uint32 _ uint32 // pad to 8 byte boundary } dependencies/pkg/mod/golang.org/x/sys@v0.26.0/windows/types_windows_amd64.go0000644000000000000000000000146115107355264025562 0ustar rootroot// 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 windows type WSAData struct { Version uint16 HighVersion uint16 MaxSockets uint16 MaxUdpDg uint16 VendorInfo *byte Description [WSADESCRIPTION_LEN + 1]byte SystemStatus [WSASYS_STATUS_LEN + 1]byte } type Servent struct { Name *byte Aliases **byte Proto *byte Port uint16 } type JOBOBJECT_BASIC_LIMIT_INFORMATION struct { PerProcessUserTimeLimit int64 PerJobUserTimeLimit int64 LimitFlags uint32 MinimumWorkingSetSize uintptr MaximumWorkingSetSize uintptr ActiveProcessLimit uint32 Affinity uintptr PriorityClass uint32 SchedulingClass uint32 } dependencies/pkg/mod/golang.org/x/sys@v0.26.0/windows/mkerrors.bash0000644000000000000000000000417015107355264024025 0ustar rootroot#!/bin/bash # Copyright 2019 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. set -e shopt -s nullglob winerror="$(printf '%s\n' "/mnt/c/Program Files (x86)/Windows Kits/"/*/Include/*/shared/winerror.h | sort -Vr | head -n 1)" [[ -n $winerror ]] || { echo "Unable to find winerror.h" >&2; exit 1; } ntstatus="$(printf '%s\n' "/mnt/c/Program Files (x86)/Windows Kits/"/*/Include/*/shared/ntstatus.h | sort -Vr | head -n 1)" [[ -n $ntstatus ]] || { echo "Unable to find ntstatus.h" >&2; exit 1; } declare -A errors { echo "// Code generated by 'mkerrors.bash'; DO NOT EDIT." echo echo "package windows" echo "import \"syscall\"" echo "const (" while read -r line; do unset vtype if [[ $line =~ ^#define\ +([A-Z0-9_]+k?)\ +([A-Z0-9_]+\()?([A-Z][A-Z0-9_]+k?)\)? ]]; then key="${BASH_REMATCH[1]}" value="${BASH_REMATCH[3]}" elif [[ $line =~ ^#define\ +([A-Z0-9_]+k?)\ +([A-Z0-9_]+\()?((0x)?[0-9A-Fa-f]+)L?\)? ]]; then key="${BASH_REMATCH[1]}" value="${BASH_REMATCH[3]}" vtype="${BASH_REMATCH[2]}" elif [[ $line =~ ^#define\ +([A-Z0-9_]+k?)\ +\(\(([A-Z]+)\)((0x)?[0-9A-Fa-f]+)L?\) ]]; then key="${BASH_REMATCH[1]}" value="${BASH_REMATCH[3]}" vtype="${BASH_REMATCH[2]}" else continue fi [[ -n $key && -n $value ]] || continue [[ -z ${errors["$key"]} ]] || continue errors["$key"]="$value" if [[ -v vtype ]]; then if [[ $key == FACILITY_* || $key == NO_ERROR ]]; then vtype="" elif [[ $vtype == *HANDLE* || $vtype == *HRESULT* ]]; then vtype="Handle" else vtype="syscall.Errno" fi last_vtype="$vtype" else vtype="" if [[ $last_vtype == Handle && $value == NO_ERROR ]]; then value="S_OK" elif [[ $last_vtype == syscall.Errno && $value == NO_ERROR ]]; then value="ERROR_SUCCESS" fi fi echo "$key $vtype = $value" done < "$winerror" while read -r line; do [[ $line =~ ^#define\ (STATUS_[^\s]+)\ +\(\(NTSTATUS\)((0x)?[0-9a-fA-F]+)L?\) ]] || continue echo "${BASH_REMATCH[1]} NTStatus = ${BASH_REMATCH[2]}" done < "$ntstatus" echo ")" } | gofmt > "zerrors_windows.go" dependencies/pkg/mod/golang.org/x/sys@v0.26.0/windows/types_windows_arm.go0000644000000000000000000000155315107355264025430 0ustar rootroot// Copyright 2018 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 windows type WSAData struct { Version uint16 HighVersion uint16 Description [WSADESCRIPTION_LEN + 1]byte SystemStatus [WSASYS_STATUS_LEN + 1]byte MaxSockets uint16 MaxUdpDg uint16 VendorInfo *byte } type Servent struct { Name *byte Aliases **byte Port uint16 Proto *byte } type JOBOBJECT_BASIC_LIMIT_INFORMATION struct { PerProcessUserTimeLimit int64 PerJobUserTimeLimit int64 LimitFlags uint32 MinimumWorkingSetSize uintptr MaximumWorkingSetSize uintptr ActiveProcessLimit uint32 Affinity uintptr PriorityClass uint32 SchedulingClass uint32 _ uint32 // pad to 8 byte boundary } dependencies/pkg/mod/golang.org/x/sys@v0.26.0/windows/service.go0000644000000000000000000002440715107355264023316 0ustar rootroot// 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. //go:build windows package windows const ( SC_MANAGER_CONNECT = 1 SC_MANAGER_CREATE_SERVICE = 2 SC_MANAGER_ENUMERATE_SERVICE = 4 SC_MANAGER_LOCK = 8 SC_MANAGER_QUERY_LOCK_STATUS = 16 SC_MANAGER_MODIFY_BOOT_CONFIG = 32 SC_MANAGER_ALL_ACCESS = 0xf003f ) const ( SERVICE_KERNEL_DRIVER = 1 SERVICE_FILE_SYSTEM_DRIVER = 2 SERVICE_ADAPTER = 4 SERVICE_RECOGNIZER_DRIVER = 8 SERVICE_WIN32_OWN_PROCESS = 16 SERVICE_WIN32_SHARE_PROCESS = 32 SERVICE_WIN32 = SERVICE_WIN32_OWN_PROCESS | SERVICE_WIN32_SHARE_PROCESS SERVICE_INTERACTIVE_PROCESS = 256 SERVICE_DRIVER = SERVICE_KERNEL_DRIVER | SERVICE_FILE_SYSTEM_DRIVER | SERVICE_RECOGNIZER_DRIVER SERVICE_TYPE_ALL = SERVICE_WIN32 | SERVICE_ADAPTER | SERVICE_DRIVER | SERVICE_INTERACTIVE_PROCESS SERVICE_BOOT_START = 0 SERVICE_SYSTEM_START = 1 SERVICE_AUTO_START = 2 SERVICE_DEMAND_START = 3 SERVICE_DISABLED = 4 SERVICE_ERROR_IGNORE = 0 SERVICE_ERROR_NORMAL = 1 SERVICE_ERROR_SEVERE = 2 SERVICE_ERROR_CRITICAL = 3 SC_STATUS_PROCESS_INFO = 0 SC_ACTION_NONE = 0 SC_ACTION_RESTART = 1 SC_ACTION_REBOOT = 2 SC_ACTION_RUN_COMMAND = 3 SERVICE_STOPPED = 1 SERVICE_START_PENDING = 2 SERVICE_STOP_PENDING = 3 SERVICE_RUNNING = 4 SERVICE_CONTINUE_PENDING = 5 SERVICE_PAUSE_PENDING = 6 SERVICE_PAUSED = 7 SERVICE_NO_CHANGE = 0xffffffff SERVICE_ACCEPT_STOP = 1 SERVICE_ACCEPT_PAUSE_CONTINUE = 2 SERVICE_ACCEPT_SHUTDOWN = 4 SERVICE_ACCEPT_PARAMCHANGE = 8 SERVICE_ACCEPT_NETBINDCHANGE = 16 SERVICE_ACCEPT_HARDWAREPROFILECHANGE = 32 SERVICE_ACCEPT_POWEREVENT = 64 SERVICE_ACCEPT_SESSIONCHANGE = 128 SERVICE_ACCEPT_PRESHUTDOWN = 256 SERVICE_CONTROL_STOP = 1 SERVICE_CONTROL_PAUSE = 2 SERVICE_CONTROL_CONTINUE = 3 SERVICE_CONTROL_INTERROGATE = 4 SERVICE_CONTROL_SHUTDOWN = 5 SERVICE_CONTROL_PARAMCHANGE = 6 SERVICE_CONTROL_NETBINDADD = 7 SERVICE_CONTROL_NETBINDREMOVE = 8 SERVICE_CONTROL_NETBINDENABLE = 9 SERVICE_CONTROL_NETBINDDISABLE = 10 SERVICE_CONTROL_DEVICEEVENT = 11 SERVICE_CONTROL_HARDWAREPROFILECHANGE = 12 SERVICE_CONTROL_POWEREVENT = 13 SERVICE_CONTROL_SESSIONCHANGE = 14 SERVICE_CONTROL_PRESHUTDOWN = 15 SERVICE_ACTIVE = 1 SERVICE_INACTIVE = 2 SERVICE_STATE_ALL = 3 SERVICE_QUERY_CONFIG = 1 SERVICE_CHANGE_CONFIG = 2 SERVICE_QUERY_STATUS = 4 SERVICE_ENUMERATE_DEPENDENTS = 8 SERVICE_START = 16 SERVICE_STOP = 32 SERVICE_PAUSE_CONTINUE = 64 SERVICE_INTERROGATE = 128 SERVICE_USER_DEFINED_CONTROL = 256 SERVICE_ALL_ACCESS = STANDARD_RIGHTS_REQUIRED | SERVICE_QUERY_CONFIG | SERVICE_CHANGE_CONFIG | SERVICE_QUERY_STATUS | SERVICE_ENUMERATE_DEPENDENTS | SERVICE_START | SERVICE_STOP | SERVICE_PAUSE_CONTINUE | SERVICE_INTERROGATE | SERVICE_USER_DEFINED_CONTROL SERVICE_RUNS_IN_SYSTEM_PROCESS = 1 SERVICE_CONFIG_DESCRIPTION = 1 SERVICE_CONFIG_FAILURE_ACTIONS = 2 SERVICE_CONFIG_DELAYED_AUTO_START_INFO = 3 SERVICE_CONFIG_FAILURE_ACTIONS_FLAG = 4 SERVICE_CONFIG_SERVICE_SID_INFO = 5 SERVICE_CONFIG_REQUIRED_PRIVILEGES_INFO = 6 SERVICE_CONFIG_PRESHUTDOWN_INFO = 7 SERVICE_CONFIG_TRIGGER_INFO = 8 SERVICE_CONFIG_PREFERRED_NODE = 9 SERVICE_CONFIG_LAUNCH_PROTECTED = 12 SERVICE_SID_TYPE_NONE = 0 SERVICE_SID_TYPE_UNRESTRICTED = 1 SERVICE_SID_TYPE_RESTRICTED = 2 | SERVICE_SID_TYPE_UNRESTRICTED SC_ENUM_PROCESS_INFO = 0 SERVICE_NOTIFY_STATUS_CHANGE = 2 SERVICE_NOTIFY_STOPPED = 0x00000001 SERVICE_NOTIFY_START_PENDING = 0x00000002 SERVICE_NOTIFY_STOP_PENDING = 0x00000004 SERVICE_NOTIFY_RUNNING = 0x00000008 SERVICE_NOTIFY_CONTINUE_PENDING = 0x00000010 SERVICE_NOTIFY_PAUSE_PENDING = 0x00000020 SERVICE_NOTIFY_PAUSED = 0x00000040 SERVICE_NOTIFY_CREATED = 0x00000080 SERVICE_NOTIFY_DELETED = 0x00000100 SERVICE_NOTIFY_DELETE_PENDING = 0x00000200 SC_EVENT_DATABASE_CHANGE = 0 SC_EVENT_PROPERTY_CHANGE = 1 SC_EVENT_STATUS_CHANGE = 2 SERVICE_START_REASON_DEMAND = 0x00000001 SERVICE_START_REASON_AUTO = 0x00000002 SERVICE_START_REASON_TRIGGER = 0x00000004 SERVICE_START_REASON_RESTART_ON_FAILURE = 0x00000008 SERVICE_START_REASON_DELAYEDAUTO = 0x00000010 SERVICE_DYNAMIC_INFORMATION_LEVEL_START_REASON = 1 ) type ENUM_SERVICE_STATUS struct { ServiceName *uint16 DisplayName *uint16 ServiceStatus SERVICE_STATUS } type SERVICE_STATUS struct { ServiceType uint32 CurrentState uint32 ControlsAccepted uint32 Win32ExitCode uint32 ServiceSpecificExitCode uint32 CheckPoint uint32 WaitHint uint32 } type SERVICE_TABLE_ENTRY struct { ServiceName *uint16 ServiceProc uintptr } type QUERY_SERVICE_CONFIG struct { ServiceType uint32 StartType uint32 ErrorControl uint32 BinaryPathName *uint16 LoadOrderGroup *uint16 TagId uint32 Dependencies *uint16 ServiceStartName *uint16 DisplayName *uint16 } type SERVICE_DESCRIPTION struct { Description *uint16 } type SERVICE_DELAYED_AUTO_START_INFO struct { IsDelayedAutoStartUp uint32 } type SERVICE_STATUS_PROCESS struct { ServiceType uint32 CurrentState uint32 ControlsAccepted uint32 Win32ExitCode uint32 ServiceSpecificExitCode uint32 CheckPoint uint32 WaitHint uint32 ProcessId uint32 ServiceFlags uint32 } type ENUM_SERVICE_STATUS_PROCESS struct { ServiceName *uint16 DisplayName *uint16 ServiceStatusProcess SERVICE_STATUS_PROCESS } type SERVICE_NOTIFY struct { Version uint32 NotifyCallback uintptr Context uintptr NotificationStatus uint32 ServiceStatus SERVICE_STATUS_PROCESS NotificationTriggered uint32 ServiceNames *uint16 } type SERVICE_FAILURE_ACTIONS struct { ResetPeriod uint32 RebootMsg *uint16 Command *uint16 ActionsCount uint32 Actions *SC_ACTION } type SERVICE_FAILURE_ACTIONS_FLAG struct { FailureActionsOnNonCrashFailures int32 } type SC_ACTION struct { Type uint32 Delay uint32 } type QUERY_SERVICE_LOCK_STATUS struct { IsLocked uint32 LockOwner *uint16 LockDuration uint32 } //sys OpenSCManager(machineName *uint16, databaseName *uint16, access uint32) (handle Handle, err error) [failretval==0] = advapi32.OpenSCManagerW //sys CloseServiceHandle(handle Handle) (err error) = advapi32.CloseServiceHandle //sys CreateService(mgr Handle, serviceName *uint16, displayName *uint16, access uint32, srvType uint32, startType uint32, errCtl uint32, pathName *uint16, loadOrderGroup *uint16, tagId *uint32, dependencies *uint16, serviceStartName *uint16, password *uint16) (handle Handle, err error) [failretval==0] = advapi32.CreateServiceW //sys OpenService(mgr Handle, serviceName *uint16, access uint32) (handle Handle, err error) [failretval==0] = advapi32.OpenServiceW //sys DeleteService(service Handle) (err error) = advapi32.DeleteService //sys StartService(service Handle, numArgs uint32, argVectors **uint16) (err error) = advapi32.StartServiceW //sys QueryServiceStatus(service Handle, status *SERVICE_STATUS) (err error) = advapi32.QueryServiceStatus //sys QueryServiceLockStatus(mgr Handle, lockStatus *QUERY_SERVICE_LOCK_STATUS, bufSize uint32, bytesNeeded *uint32) (err error) = advapi32.QueryServiceLockStatusW //sys ControlService(service Handle, control uint32, status *SERVICE_STATUS) (err error) = advapi32.ControlService //sys StartServiceCtrlDispatcher(serviceTable *SERVICE_TABLE_ENTRY) (err error) = advapi32.StartServiceCtrlDispatcherW //sys SetServiceStatus(service Handle, serviceStatus *SERVICE_STATUS) (err error) = advapi32.SetServiceStatus //sys ChangeServiceConfig(service Handle, serviceType uint32, startType uint32, errorControl uint32, binaryPathName *uint16, loadOrderGroup *uint16, tagId *uint32, dependencies *uint16, serviceStartName *uint16, password *uint16, displayName *uint16) (err error) = advapi32.ChangeServiceConfigW //sys QueryServiceConfig(service Handle, serviceConfig *QUERY_SERVICE_CONFIG, bufSize uint32, bytesNeeded *uint32) (err error) = advapi32.QueryServiceConfigW //sys ChangeServiceConfig2(service Handle, infoLevel uint32, info *byte) (err error) = advapi32.ChangeServiceConfig2W //sys QueryServiceConfig2(service Handle, infoLevel uint32, buff *byte, buffSize uint32, bytesNeeded *uint32) (err error) = advapi32.QueryServiceConfig2W //sys EnumServicesStatusEx(mgr Handle, infoLevel uint32, serviceType uint32, serviceState uint32, services *byte, bufSize uint32, bytesNeeded *uint32, servicesReturned *uint32, resumeHandle *uint32, groupName *uint16) (err error) = advapi32.EnumServicesStatusExW //sys QueryServiceStatusEx(service Handle, infoLevel uint32, buff *byte, buffSize uint32, bytesNeeded *uint32) (err error) = advapi32.QueryServiceStatusEx //sys NotifyServiceStatusChange(service Handle, notifyMask uint32, notifier *SERVICE_NOTIFY) (ret error) = advapi32.NotifyServiceStatusChangeW //sys SubscribeServiceChangeNotifications(service Handle, eventType uint32, callback uintptr, callbackCtx uintptr, subscription *uintptr) (ret error) = sechost.SubscribeServiceChangeNotifications? //sys UnsubscribeServiceChangeNotifications(subscription uintptr) = sechost.UnsubscribeServiceChangeNotifications? //sys RegisterServiceCtrlHandlerEx(serviceName *uint16, handlerProc uintptr, context uintptr) (handle Handle, err error) = advapi32.RegisterServiceCtrlHandlerExW //sys QueryServiceDynamicInformation(service Handle, infoLevel uint32, dynamicInfo unsafe.Pointer) (err error) = advapi32.QueryServiceDynamicInformation? //sys EnumDependentServices(service Handle, activityState uint32, services *ENUM_SERVICE_STATUS, buffSize uint32, bytesNeeded *uint32, servicesReturned *uint32) (err error) = advapi32.EnumDependentServicesW dependencies/pkg/mod/golang.org/x/sys@v0.26.0/windows/zsyscall_windows.go0000644000000000000000000061516315107355264025301 0ustar rootroot// Code generated by 'go generate'; DO NOT EDIT. package windows import ( "syscall" "unsafe" ) var _ unsafe.Pointer // Do the interface allocations only once for common // Errno values. const ( errnoERROR_IO_PENDING = 997 ) var ( errERROR_IO_PENDING error = syscall.Errno(errnoERROR_IO_PENDING) errERROR_EINVAL error = syscall.EINVAL ) // errnoErr returns common boxed Errno values, to prevent // allocations at runtime. func errnoErr(e syscall.Errno) error { switch e { case 0: return errERROR_EINVAL case errnoERROR_IO_PENDING: return errERROR_IO_PENDING } // TODO: add more here, after collecting data on the common // error values see on Windows. (perhaps when running // all.bat?) return e } var ( modCfgMgr32 = NewLazySystemDLL("CfgMgr32.dll") modadvapi32 = NewLazySystemDLL("advapi32.dll") modcrypt32 = NewLazySystemDLL("crypt32.dll") moddnsapi = NewLazySystemDLL("dnsapi.dll") moddwmapi = NewLazySystemDLL("dwmapi.dll") modiphlpapi = NewLazySystemDLL("iphlpapi.dll") modkernel32 = NewLazySystemDLL("kernel32.dll") modmswsock = NewLazySystemDLL("mswsock.dll") modnetapi32 = NewLazySystemDLL("netapi32.dll") modntdll = NewLazySystemDLL("ntdll.dll") modole32 = NewLazySystemDLL("ole32.dll") modpsapi = NewLazySystemDLL("psapi.dll") modsechost = NewLazySystemDLL("sechost.dll") modsecur32 = NewLazySystemDLL("secur32.dll") modsetupapi = NewLazySystemDLL("setupapi.dll") modshell32 = NewLazySystemDLL("shell32.dll") moduser32 = NewLazySystemDLL("user32.dll") moduserenv = NewLazySystemDLL("userenv.dll") modversion = NewLazySystemDLL("version.dll") modwinmm = NewLazySystemDLL("winmm.dll") modwintrust = NewLazySystemDLL("wintrust.dll") modws2_32 = NewLazySystemDLL("ws2_32.dll") modwtsapi32 = NewLazySystemDLL("wtsapi32.dll") procCM_Get_DevNode_Status = modCfgMgr32.NewProc("CM_Get_DevNode_Status") procCM_Get_Device_Interface_ListW = modCfgMgr32.NewProc("CM_Get_Device_Interface_ListW") procCM_Get_Device_Interface_List_SizeW = modCfgMgr32.NewProc("CM_Get_Device_Interface_List_SizeW") procCM_MapCrToWin32Err = modCfgMgr32.NewProc("CM_MapCrToWin32Err") procAdjustTokenGroups = modadvapi32.NewProc("AdjustTokenGroups") procAdjustTokenPrivileges = modadvapi32.NewProc("AdjustTokenPrivileges") procAllocateAndInitializeSid = modadvapi32.NewProc("AllocateAndInitializeSid") procBuildSecurityDescriptorW = modadvapi32.NewProc("BuildSecurityDescriptorW") procChangeServiceConfig2W = modadvapi32.NewProc("ChangeServiceConfig2W") procChangeServiceConfigW = modadvapi32.NewProc("ChangeServiceConfigW") procCheckTokenMembership = modadvapi32.NewProc("CheckTokenMembership") procCloseServiceHandle = modadvapi32.NewProc("CloseServiceHandle") procControlService = modadvapi32.NewProc("ControlService") procConvertSecurityDescriptorToStringSecurityDescriptorW = modadvapi32.NewProc("ConvertSecurityDescriptorToStringSecurityDescriptorW") procConvertSidToStringSidW = modadvapi32.NewProc("ConvertSidToStringSidW") procConvertStringSecurityDescriptorToSecurityDescriptorW = modadvapi32.NewProc("ConvertStringSecurityDescriptorToSecurityDescriptorW") procConvertStringSidToSidW = modadvapi32.NewProc("ConvertStringSidToSidW") procCopySid = modadvapi32.NewProc("CopySid") procCreateProcessAsUserW = modadvapi32.NewProc("CreateProcessAsUserW") procCreateServiceW = modadvapi32.NewProc("CreateServiceW") procCreateWellKnownSid = modadvapi32.NewProc("CreateWellKnownSid") procCryptAcquireContextW = modadvapi32.NewProc("CryptAcquireContextW") procCryptGenRandom = modadvapi32.NewProc("CryptGenRandom") procCryptReleaseContext = modadvapi32.NewProc("CryptReleaseContext") procDeleteService = modadvapi32.NewProc("DeleteService") procDeregisterEventSource = modadvapi32.NewProc("DeregisterEventSource") procDuplicateTokenEx = modadvapi32.NewProc("DuplicateTokenEx") procEnumDependentServicesW = modadvapi32.NewProc("EnumDependentServicesW") procEnumServicesStatusExW = modadvapi32.NewProc("EnumServicesStatusExW") procEqualSid = modadvapi32.NewProc("EqualSid") procFreeSid = modadvapi32.NewProc("FreeSid") procGetAce = modadvapi32.NewProc("GetAce") procGetLengthSid = modadvapi32.NewProc("GetLengthSid") procGetNamedSecurityInfoW = modadvapi32.NewProc("GetNamedSecurityInfoW") procGetSecurityDescriptorControl = modadvapi32.NewProc("GetSecurityDescriptorControl") procGetSecurityDescriptorDacl = modadvapi32.NewProc("GetSecurityDescriptorDacl") procGetSecurityDescriptorGroup = modadvapi32.NewProc("GetSecurityDescriptorGroup") procGetSecurityDescriptorLength = modadvapi32.NewProc("GetSecurityDescriptorLength") procGetSecurityDescriptorOwner = modadvapi32.NewProc("GetSecurityDescriptorOwner") procGetSecurityDescriptorRMControl = modadvapi32.NewProc("GetSecurityDescriptorRMControl") procGetSecurityDescriptorSacl = modadvapi32.NewProc("GetSecurityDescriptorSacl") procGetSecurityInfo = modadvapi32.NewProc("GetSecurityInfo") procGetSidIdentifierAuthority = modadvapi32.NewProc("GetSidIdentifierAuthority") procGetSidSubAuthority = modadvapi32.NewProc("GetSidSubAuthority") procGetSidSubAuthorityCount = modadvapi32.NewProc("GetSidSubAuthorityCount") procGetTokenInformation = modadvapi32.NewProc("GetTokenInformation") procImpersonateSelf = modadvapi32.NewProc("ImpersonateSelf") procInitializeSecurityDescriptor = modadvapi32.NewProc("InitializeSecurityDescriptor") procInitiateSystemShutdownExW = modadvapi32.NewProc("InitiateSystemShutdownExW") procIsTokenRestricted = modadvapi32.NewProc("IsTokenRestricted") procIsValidSecurityDescriptor = modadvapi32.NewProc("IsValidSecurityDescriptor") procIsValidSid = modadvapi32.NewProc("IsValidSid") procIsWellKnownSid = modadvapi32.NewProc("IsWellKnownSid") procLookupAccountNameW = modadvapi32.NewProc("LookupAccountNameW") procLookupAccountSidW = modadvapi32.NewProc("LookupAccountSidW") procLookupPrivilegeValueW = modadvapi32.NewProc("LookupPrivilegeValueW") procMakeAbsoluteSD = modadvapi32.NewProc("MakeAbsoluteSD") procMakeSelfRelativeSD = modadvapi32.NewProc("MakeSelfRelativeSD") procNotifyServiceStatusChangeW = modadvapi32.NewProc("NotifyServiceStatusChangeW") procOpenProcessToken = modadvapi32.NewProc("OpenProcessToken") procOpenSCManagerW = modadvapi32.NewProc("OpenSCManagerW") procOpenServiceW = modadvapi32.NewProc("OpenServiceW") procOpenThreadToken = modadvapi32.NewProc("OpenThreadToken") procQueryServiceConfig2W = modadvapi32.NewProc("QueryServiceConfig2W") procQueryServiceConfigW = modadvapi32.NewProc("QueryServiceConfigW") procQueryServiceDynamicInformation = modadvapi32.NewProc("QueryServiceDynamicInformation") procQueryServiceLockStatusW = modadvapi32.NewProc("QueryServiceLockStatusW") procQueryServiceStatus = modadvapi32.NewProc("QueryServiceStatus") procQueryServiceStatusEx = modadvapi32.NewProc("QueryServiceStatusEx") procRegCloseKey = modadvapi32.NewProc("RegCloseKey") procRegEnumKeyExW = modadvapi32.NewProc("RegEnumKeyExW") procRegNotifyChangeKeyValue = modadvapi32.NewProc("RegNotifyChangeKeyValue") procRegOpenKeyExW = modadvapi32.NewProc("RegOpenKeyExW") procRegQueryInfoKeyW = modadvapi32.NewProc("RegQueryInfoKeyW") procRegQueryValueExW = modadvapi32.NewProc("RegQueryValueExW") procRegisterEventSourceW = modadvapi32.NewProc("RegisterEventSourceW") procRegisterServiceCtrlHandlerExW = modadvapi32.NewProc("RegisterServiceCtrlHandlerExW") procReportEventW = modadvapi32.NewProc("ReportEventW") procRevertToSelf = modadvapi32.NewProc("RevertToSelf") procSetEntriesInAclW = modadvapi32.NewProc("SetEntriesInAclW") procSetKernelObjectSecurity = modadvapi32.NewProc("SetKernelObjectSecurity") procSetNamedSecurityInfoW = modadvapi32.NewProc("SetNamedSecurityInfoW") procSetSecurityDescriptorControl = modadvapi32.NewProc("SetSecurityDescriptorControl") procSetSecurityDescriptorDacl = modadvapi32.NewProc("SetSecurityDescriptorDacl") procSetSecurityDescriptorGroup = modadvapi32.NewProc("SetSecurityDescriptorGroup") procSetSecurityDescriptorOwner = modadvapi32.NewProc("SetSecurityDescriptorOwner") procSetSecurityDescriptorRMControl = modadvapi32.NewProc("SetSecurityDescriptorRMControl") procSetSecurityDescriptorSacl = modadvapi32.NewProc("SetSecurityDescriptorSacl") procSetSecurityInfo = modadvapi32.NewProc("SetSecurityInfo") procSetServiceStatus = modadvapi32.NewProc("SetServiceStatus") procSetThreadToken = modadvapi32.NewProc("SetThreadToken") procSetTokenInformation = modadvapi32.NewProc("SetTokenInformation") procStartServiceCtrlDispatcherW = modadvapi32.NewProc("StartServiceCtrlDispatcherW") procStartServiceW = modadvapi32.NewProc("StartServiceW") procCertAddCertificateContextToStore = modcrypt32.NewProc("CertAddCertificateContextToStore") procCertCloseStore = modcrypt32.NewProc("CertCloseStore") procCertCreateCertificateContext = modcrypt32.NewProc("CertCreateCertificateContext") procCertDeleteCertificateFromStore = modcrypt32.NewProc("CertDeleteCertificateFromStore") procCertDuplicateCertificateContext = modcrypt32.NewProc("CertDuplicateCertificateContext") procCertEnumCertificatesInStore = modcrypt32.NewProc("CertEnumCertificatesInStore") procCertFindCertificateInStore = modcrypt32.NewProc("CertFindCertificateInStore") procCertFindChainInStore = modcrypt32.NewProc("CertFindChainInStore") procCertFindExtension = modcrypt32.NewProc("CertFindExtension") procCertFreeCertificateChain = modcrypt32.NewProc("CertFreeCertificateChain") procCertFreeCertificateContext = modcrypt32.NewProc("CertFreeCertificateContext") procCertGetCertificateChain = modcrypt32.NewProc("CertGetCertificateChain") procCertGetNameStringW = modcrypt32.NewProc("CertGetNameStringW") procCertOpenStore = modcrypt32.NewProc("CertOpenStore") procCertOpenSystemStoreW = modcrypt32.NewProc("CertOpenSystemStoreW") procCertVerifyCertificateChainPolicy = modcrypt32.NewProc("CertVerifyCertificateChainPolicy") procCryptAcquireCertificatePrivateKey = modcrypt32.NewProc("CryptAcquireCertificatePrivateKey") procCryptDecodeObject = modcrypt32.NewProc("CryptDecodeObject") procCryptProtectData = modcrypt32.NewProc("CryptProtectData") procCryptQueryObject = modcrypt32.NewProc("CryptQueryObject") procCryptUnprotectData = modcrypt32.NewProc("CryptUnprotectData") procPFXImportCertStore = modcrypt32.NewProc("PFXImportCertStore") procDnsNameCompare_W = moddnsapi.NewProc("DnsNameCompare_W") procDnsQuery_W = moddnsapi.NewProc("DnsQuery_W") procDnsRecordListFree = moddnsapi.NewProc("DnsRecordListFree") procDwmGetWindowAttribute = moddwmapi.NewProc("DwmGetWindowAttribute") procDwmSetWindowAttribute = moddwmapi.NewProc("DwmSetWindowAttribute") procGetAdaptersAddresses = modiphlpapi.NewProc("GetAdaptersAddresses") procGetAdaptersInfo = modiphlpapi.NewProc("GetAdaptersInfo") procGetBestInterfaceEx = modiphlpapi.NewProc("GetBestInterfaceEx") procGetIfEntry = modiphlpapi.NewProc("GetIfEntry") procAddDllDirectory = modkernel32.NewProc("AddDllDirectory") procAssignProcessToJobObject = modkernel32.NewProc("AssignProcessToJobObject") procCancelIo = modkernel32.NewProc("CancelIo") procCancelIoEx = modkernel32.NewProc("CancelIoEx") procClearCommBreak = modkernel32.NewProc("ClearCommBreak") procClearCommError = modkernel32.NewProc("ClearCommError") procCloseHandle = modkernel32.NewProc("CloseHandle") procClosePseudoConsole = modkernel32.NewProc("ClosePseudoConsole") procConnectNamedPipe = modkernel32.NewProc("ConnectNamedPipe") procCreateDirectoryW = modkernel32.NewProc("CreateDirectoryW") procCreateEventExW = modkernel32.NewProc("CreateEventExW") procCreateEventW = modkernel32.NewProc("CreateEventW") procCreateFileMappingW = modkernel32.NewProc("CreateFileMappingW") procCreateFileW = modkernel32.NewProc("CreateFileW") procCreateHardLinkW = modkernel32.NewProc("CreateHardLinkW") procCreateIoCompletionPort = modkernel32.NewProc("CreateIoCompletionPort") procCreateJobObjectW = modkernel32.NewProc("CreateJobObjectW") procCreateMutexExW = modkernel32.NewProc("CreateMutexExW") procCreateMutexW = modkernel32.NewProc("CreateMutexW") procCreateNamedPipeW = modkernel32.NewProc("CreateNamedPipeW") procCreatePipe = modkernel32.NewProc("CreatePipe") procCreateProcessW = modkernel32.NewProc("CreateProcessW") procCreatePseudoConsole = modkernel32.NewProc("CreatePseudoConsole") procCreateSymbolicLinkW = modkernel32.NewProc("CreateSymbolicLinkW") procCreateToolhelp32Snapshot = modkernel32.NewProc("CreateToolhelp32Snapshot") procDefineDosDeviceW = modkernel32.NewProc("DefineDosDeviceW") procDeleteFileW = modkernel32.NewProc("DeleteFileW") procDeleteProcThreadAttributeList = modkernel32.NewProc("DeleteProcThreadAttributeList") procDeleteVolumeMountPointW = modkernel32.NewProc("DeleteVolumeMountPointW") procDeviceIoControl = modkernel32.NewProc("DeviceIoControl") procDisconnectNamedPipe = modkernel32.NewProc("DisconnectNamedPipe") procDuplicateHandle = modkernel32.NewProc("DuplicateHandle") procEscapeCommFunction = modkernel32.NewProc("EscapeCommFunction") procExitProcess = modkernel32.NewProc("ExitProcess") procExpandEnvironmentStringsW = modkernel32.NewProc("ExpandEnvironmentStringsW") procFindClose = modkernel32.NewProc("FindClose") procFindCloseChangeNotification = modkernel32.NewProc("FindCloseChangeNotification") procFindFirstChangeNotificationW = modkernel32.NewProc("FindFirstChangeNotificationW") procFindFirstFileW = modkernel32.NewProc("FindFirstFileW") procFindFirstVolumeMountPointW = modkernel32.NewProc("FindFirstVolumeMountPointW") procFindFirstVolumeW = modkernel32.NewProc("FindFirstVolumeW") procFindNextChangeNotification = modkernel32.NewProc("FindNextChangeNotification") procFindNextFileW = modkernel32.NewProc("FindNextFileW") procFindNextVolumeMountPointW = modkernel32.NewProc("FindNextVolumeMountPointW") procFindNextVolumeW = modkernel32.NewProc("FindNextVolumeW") procFindResourceW = modkernel32.NewProc("FindResourceW") procFindVolumeClose = modkernel32.NewProc("FindVolumeClose") procFindVolumeMountPointClose = modkernel32.NewProc("FindVolumeMountPointClose") procFlushFileBuffers = modkernel32.NewProc("FlushFileBuffers") procFlushViewOfFile = modkernel32.NewProc("FlushViewOfFile") procFormatMessageW = modkernel32.NewProc("FormatMessageW") procFreeEnvironmentStringsW = modkernel32.NewProc("FreeEnvironmentStringsW") procFreeLibrary = modkernel32.NewProc("FreeLibrary") procGenerateConsoleCtrlEvent = modkernel32.NewProc("GenerateConsoleCtrlEvent") procGetACP = modkernel32.NewProc("GetACP") procGetActiveProcessorCount = modkernel32.NewProc("GetActiveProcessorCount") procGetCommModemStatus = modkernel32.NewProc("GetCommModemStatus") procGetCommState = modkernel32.NewProc("GetCommState") procGetCommTimeouts = modkernel32.NewProc("GetCommTimeouts") procGetCommandLineW = modkernel32.NewProc("GetCommandLineW") procGetComputerNameExW = modkernel32.NewProc("GetComputerNameExW") procGetComputerNameW = modkernel32.NewProc("GetComputerNameW") procGetConsoleCP = modkernel32.NewProc("GetConsoleCP") procGetConsoleMode = modkernel32.NewProc("GetConsoleMode") procGetConsoleOutputCP = modkernel32.NewProc("GetConsoleOutputCP") procGetConsoleScreenBufferInfo = modkernel32.NewProc("GetConsoleScreenBufferInfo") procGetCurrentDirectoryW = modkernel32.NewProc("GetCurrentDirectoryW") procGetCurrentProcessId = modkernel32.NewProc("GetCurrentProcessId") procGetCurrentThreadId = modkernel32.NewProc("GetCurrentThreadId") procGetDiskFreeSpaceExW = modkernel32.NewProc("GetDiskFreeSpaceExW") procGetDriveTypeW = modkernel32.NewProc("GetDriveTypeW") procGetEnvironmentStringsW = modkernel32.NewProc("GetEnvironmentStringsW") procGetEnvironmentVariableW = modkernel32.NewProc("GetEnvironmentVariableW") procGetExitCodeProcess = modkernel32.NewProc("GetExitCodeProcess") procGetFileAttributesExW = modkernel32.NewProc("GetFileAttributesExW") procGetFileAttributesW = modkernel32.NewProc("GetFileAttributesW") procGetFileInformationByHandle = modkernel32.NewProc("GetFileInformationByHandle") procGetFileInformationByHandleEx = modkernel32.NewProc("GetFileInformationByHandleEx") procGetFileTime = modkernel32.NewProc("GetFileTime") procGetFileType = modkernel32.NewProc("GetFileType") procGetFinalPathNameByHandleW = modkernel32.NewProc("GetFinalPathNameByHandleW") procGetFullPathNameW = modkernel32.NewProc("GetFullPathNameW") procGetLargePageMinimum = modkernel32.NewProc("GetLargePageMinimum") procGetLastError = modkernel32.NewProc("GetLastError") procGetLogicalDriveStringsW = modkernel32.NewProc("GetLogicalDriveStringsW") procGetLogicalDrives = modkernel32.NewProc("GetLogicalDrives") procGetLongPathNameW = modkernel32.NewProc("GetLongPathNameW") procGetMaximumProcessorCount = modkernel32.NewProc("GetMaximumProcessorCount") procGetModuleFileNameW = modkernel32.NewProc("GetModuleFileNameW") procGetModuleHandleExW = modkernel32.NewProc("GetModuleHandleExW") procGetNamedPipeHandleStateW = modkernel32.NewProc("GetNamedPipeHandleStateW") procGetNamedPipeInfo = modkernel32.NewProc("GetNamedPipeInfo") procGetOverlappedResult = modkernel32.NewProc("GetOverlappedResult") procGetPriorityClass = modkernel32.NewProc("GetPriorityClass") procGetProcAddress = modkernel32.NewProc("GetProcAddress") procGetProcessId = modkernel32.NewProc("GetProcessId") procGetProcessPreferredUILanguages = modkernel32.NewProc("GetProcessPreferredUILanguages") procGetProcessShutdownParameters = modkernel32.NewProc("GetProcessShutdownParameters") procGetProcessTimes = modkernel32.NewProc("GetProcessTimes") procGetProcessWorkingSetSizeEx = modkernel32.NewProc("GetProcessWorkingSetSizeEx") procGetQueuedCompletionStatus = modkernel32.NewProc("GetQueuedCompletionStatus") procGetShortPathNameW = modkernel32.NewProc("GetShortPathNameW") procGetStartupInfoW = modkernel32.NewProc("GetStartupInfoW") procGetStdHandle = modkernel32.NewProc("GetStdHandle") procGetSystemDirectoryW = modkernel32.NewProc("GetSystemDirectoryW") procGetSystemPreferredUILanguages = modkernel32.NewProc("GetSystemPreferredUILanguages") procGetSystemTimeAsFileTime = modkernel32.NewProc("GetSystemTimeAsFileTime") procGetSystemTimePreciseAsFileTime = modkernel32.NewProc("GetSystemTimePreciseAsFileTime") procGetSystemWindowsDirectoryW = modkernel32.NewProc("GetSystemWindowsDirectoryW") procGetTempPathW = modkernel32.NewProc("GetTempPathW") procGetThreadPreferredUILanguages = modkernel32.NewProc("GetThreadPreferredUILanguages") procGetTickCount64 = modkernel32.NewProc("GetTickCount64") procGetTimeZoneInformation = modkernel32.NewProc("GetTimeZoneInformation") procGetUserPreferredUILanguages = modkernel32.NewProc("GetUserPreferredUILanguages") procGetVersion = modkernel32.NewProc("GetVersion") procGetVolumeInformationByHandleW = modkernel32.NewProc("GetVolumeInformationByHandleW") procGetVolumeInformationW = modkernel32.NewProc("GetVolumeInformationW") procGetVolumeNameForVolumeMountPointW = modkernel32.NewProc("GetVolumeNameForVolumeMountPointW") procGetVolumePathNameW = modkernel32.NewProc("GetVolumePathNameW") procGetVolumePathNamesForVolumeNameW = modkernel32.NewProc("GetVolumePathNamesForVolumeNameW") procGetWindowsDirectoryW = modkernel32.NewProc("GetWindowsDirectoryW") procInitializeProcThreadAttributeList = modkernel32.NewProc("InitializeProcThreadAttributeList") procIsWow64Process = modkernel32.NewProc("IsWow64Process") procIsWow64Process2 = modkernel32.NewProc("IsWow64Process2") procLoadLibraryExW = modkernel32.NewProc("LoadLibraryExW") procLoadLibraryW = modkernel32.NewProc("LoadLibraryW") procLoadResource = modkernel32.NewProc("LoadResource") procLocalAlloc = modkernel32.NewProc("LocalAlloc") procLocalFree = modkernel32.NewProc("LocalFree") procLockFileEx = modkernel32.NewProc("LockFileEx") procLockResource = modkernel32.NewProc("LockResource") procMapViewOfFile = modkernel32.NewProc("MapViewOfFile") procModule32FirstW = modkernel32.NewProc("Module32FirstW") procModule32NextW = modkernel32.NewProc("Module32NextW") procMoveFileExW = modkernel32.NewProc("MoveFileExW") procMoveFileW = modkernel32.NewProc("MoveFileW") procMultiByteToWideChar = modkernel32.NewProc("MultiByteToWideChar") procOpenEventW = modkernel32.NewProc("OpenEventW") procOpenMutexW = modkernel32.NewProc("OpenMutexW") procOpenProcess = modkernel32.NewProc("OpenProcess") procOpenThread = modkernel32.NewProc("OpenThread") procPostQueuedCompletionStatus = modkernel32.NewProc("PostQueuedCompletionStatus") procProcess32FirstW = modkernel32.NewProc("Process32FirstW") procProcess32NextW = modkernel32.NewProc("Process32NextW") procProcessIdToSessionId = modkernel32.NewProc("ProcessIdToSessionId") procPulseEvent = modkernel32.NewProc("PulseEvent") procPurgeComm = modkernel32.NewProc("PurgeComm") procQueryDosDeviceW = modkernel32.NewProc("QueryDosDeviceW") procQueryFullProcessImageNameW = modkernel32.NewProc("QueryFullProcessImageNameW") procQueryInformationJobObject = modkernel32.NewProc("QueryInformationJobObject") procReadConsoleW = modkernel32.NewProc("ReadConsoleW") procReadDirectoryChangesW = modkernel32.NewProc("ReadDirectoryChangesW") procReadFile = modkernel32.NewProc("ReadFile") procReadProcessMemory = modkernel32.NewProc("ReadProcessMemory") procReleaseMutex = modkernel32.NewProc("ReleaseMutex") procRemoveDirectoryW = modkernel32.NewProc("RemoveDirectoryW") procRemoveDllDirectory = modkernel32.NewProc("RemoveDllDirectory") procResetEvent = modkernel32.NewProc("ResetEvent") procResizePseudoConsole = modkernel32.NewProc("ResizePseudoConsole") procResumeThread = modkernel32.NewProc("ResumeThread") procSetCommBreak = modkernel32.NewProc("SetCommBreak") procSetCommMask = modkernel32.NewProc("SetCommMask") procSetCommState = modkernel32.NewProc("SetCommState") procSetCommTimeouts = modkernel32.NewProc("SetCommTimeouts") procSetConsoleCP = modkernel32.NewProc("SetConsoleCP") procSetConsoleCursorPosition = modkernel32.NewProc("SetConsoleCursorPosition") procSetConsoleMode = modkernel32.NewProc("SetConsoleMode") procSetConsoleOutputCP = modkernel32.NewProc("SetConsoleOutputCP") procSetCurrentDirectoryW = modkernel32.NewProc("SetCurrentDirectoryW") procSetDefaultDllDirectories = modkernel32.NewProc("SetDefaultDllDirectories") procSetDllDirectoryW = modkernel32.NewProc("SetDllDirectoryW") procSetEndOfFile = modkernel32.NewProc("SetEndOfFile") procSetEnvironmentVariableW = modkernel32.NewProc("SetEnvironmentVariableW") procSetErrorMode = modkernel32.NewProc("SetErrorMode") procSetEvent = modkernel32.NewProc("SetEvent") procSetFileAttributesW = modkernel32.NewProc("SetFileAttributesW") procSetFileCompletionNotificationModes = modkernel32.NewProc("SetFileCompletionNotificationModes") procSetFileInformationByHandle = modkernel32.NewProc("SetFileInformationByHandle") procSetFilePointer = modkernel32.NewProc("SetFilePointer") procSetFileTime = modkernel32.NewProc("SetFileTime") procSetFileValidData = modkernel32.NewProc("SetFileValidData") procSetHandleInformation = modkernel32.NewProc("SetHandleInformation") procSetInformationJobObject = modkernel32.NewProc("SetInformationJobObject") procSetNamedPipeHandleState = modkernel32.NewProc("SetNamedPipeHandleState") procSetPriorityClass = modkernel32.NewProc("SetPriorityClass") procSetProcessPriorityBoost = modkernel32.NewProc("SetProcessPriorityBoost") procSetProcessShutdownParameters = modkernel32.NewProc("SetProcessShutdownParameters") procSetProcessWorkingSetSizeEx = modkernel32.NewProc("SetProcessWorkingSetSizeEx") procSetStdHandle = modkernel32.NewProc("SetStdHandle") procSetVolumeLabelW = modkernel32.NewProc("SetVolumeLabelW") procSetVolumeMountPointW = modkernel32.NewProc("SetVolumeMountPointW") procSetupComm = modkernel32.NewProc("SetupComm") procSizeofResource = modkernel32.NewProc("SizeofResource") procSleepEx = modkernel32.NewProc("SleepEx") procTerminateJobObject = modkernel32.NewProc("TerminateJobObject") procTerminateProcess = modkernel32.NewProc("TerminateProcess") procThread32First = modkernel32.NewProc("Thread32First") procThread32Next = modkernel32.NewProc("Thread32Next") procUnlockFileEx = modkernel32.NewProc("UnlockFileEx") procUnmapViewOfFile = modkernel32.NewProc("UnmapViewOfFile") procUpdateProcThreadAttribute = modkernel32.NewProc("UpdateProcThreadAttribute") procVirtualAlloc = modkernel32.NewProc("VirtualAlloc") procVirtualFree = modkernel32.NewProc("VirtualFree") procVirtualLock = modkernel32.NewProc("VirtualLock") procVirtualProtect = modkernel32.NewProc("VirtualProtect") procVirtualProtectEx = modkernel32.NewProc("VirtualProtectEx") procVirtualQuery = modkernel32.NewProc("VirtualQuery") procVirtualQueryEx = modkernel32.NewProc("VirtualQueryEx") procVirtualUnlock = modkernel32.NewProc("VirtualUnlock") procWTSGetActiveConsoleSessionId = modkernel32.NewProc("WTSGetActiveConsoleSessionId") procWaitCommEvent = modkernel32.NewProc("WaitCommEvent") procWaitForMultipleObjects = modkernel32.NewProc("WaitForMultipleObjects") procWaitForSingleObject = modkernel32.NewProc("WaitForSingleObject") procWriteConsoleW = modkernel32.NewProc("WriteConsoleW") procWriteFile = modkernel32.NewProc("WriteFile") procWriteProcessMemory = modkernel32.NewProc("WriteProcessMemory") procAcceptEx = modmswsock.NewProc("AcceptEx") procGetAcceptExSockaddrs = modmswsock.NewProc("GetAcceptExSockaddrs") procTransmitFile = modmswsock.NewProc("TransmitFile") procNetApiBufferFree = modnetapi32.NewProc("NetApiBufferFree") procNetGetJoinInformation = modnetapi32.NewProc("NetGetJoinInformation") procNetUserEnum = modnetapi32.NewProc("NetUserEnum") procNetUserGetInfo = modnetapi32.NewProc("NetUserGetInfo") procNtCreateFile = modntdll.NewProc("NtCreateFile") procNtCreateNamedPipeFile = modntdll.NewProc("NtCreateNamedPipeFile") procNtQueryInformationProcess = modntdll.NewProc("NtQueryInformationProcess") procNtQuerySystemInformation = modntdll.NewProc("NtQuerySystemInformation") procNtSetInformationFile = modntdll.NewProc("NtSetInformationFile") procNtSetInformationProcess = modntdll.NewProc("NtSetInformationProcess") procNtSetSystemInformation = modntdll.NewProc("NtSetSystemInformation") procRtlAddFunctionTable = modntdll.NewProc("RtlAddFunctionTable") procRtlDefaultNpAcl = modntdll.NewProc("RtlDefaultNpAcl") procRtlDeleteFunctionTable = modntdll.NewProc("RtlDeleteFunctionTable") procRtlDosPathNameToNtPathName_U_WithStatus = modntdll.NewProc("RtlDosPathNameToNtPathName_U_WithStatus") procRtlDosPathNameToRelativeNtPathName_U_WithStatus = modntdll.NewProc("RtlDosPathNameToRelativeNtPathName_U_WithStatus") procRtlGetCurrentPeb = modntdll.NewProc("RtlGetCurrentPeb") procRtlGetNtVersionNumbers = modntdll.NewProc("RtlGetNtVersionNumbers") procRtlGetVersion = modntdll.NewProc("RtlGetVersion") procRtlInitString = modntdll.NewProc("RtlInitString") procRtlInitUnicodeString = modntdll.NewProc("RtlInitUnicodeString") procRtlNtStatusToDosErrorNoTeb = modntdll.NewProc("RtlNtStatusToDosErrorNoTeb") procCLSIDFromString = modole32.NewProc("CLSIDFromString") procCoCreateGuid = modole32.NewProc("CoCreateGuid") procCoGetObject = modole32.NewProc("CoGetObject") procCoInitializeEx = modole32.NewProc("CoInitializeEx") procCoTaskMemFree = modole32.NewProc("CoTaskMemFree") procCoUninitialize = modole32.NewProc("CoUninitialize") procStringFromGUID2 = modole32.NewProc("StringFromGUID2") procEnumProcessModules = modpsapi.NewProc("EnumProcessModules") procEnumProcessModulesEx = modpsapi.NewProc("EnumProcessModulesEx") procEnumProcesses = modpsapi.NewProc("EnumProcesses") procGetModuleBaseNameW = modpsapi.NewProc("GetModuleBaseNameW") procGetModuleFileNameExW = modpsapi.NewProc("GetModuleFileNameExW") procGetModuleInformation = modpsapi.NewProc("GetModuleInformation") procQueryWorkingSetEx = modpsapi.NewProc("QueryWorkingSetEx") procSubscribeServiceChangeNotifications = modsechost.NewProc("SubscribeServiceChangeNotifications") procUnsubscribeServiceChangeNotifications = modsechost.NewProc("UnsubscribeServiceChangeNotifications") procGetUserNameExW = modsecur32.NewProc("GetUserNameExW") procTranslateNameW = modsecur32.NewProc("TranslateNameW") procSetupDiBuildDriverInfoList = modsetupapi.NewProc("SetupDiBuildDriverInfoList") procSetupDiCallClassInstaller = modsetupapi.NewProc("SetupDiCallClassInstaller") procSetupDiCancelDriverInfoSearch = modsetupapi.NewProc("SetupDiCancelDriverInfoSearch") procSetupDiClassGuidsFromNameExW = modsetupapi.NewProc("SetupDiClassGuidsFromNameExW") procSetupDiClassNameFromGuidExW = modsetupapi.NewProc("SetupDiClassNameFromGuidExW") procSetupDiCreateDeviceInfoListExW = modsetupapi.NewProc("SetupDiCreateDeviceInfoListExW") procSetupDiCreateDeviceInfoW = modsetupapi.NewProc("SetupDiCreateDeviceInfoW") procSetupDiDestroyDeviceInfoList = modsetupapi.NewProc("SetupDiDestroyDeviceInfoList") procSetupDiDestroyDriverInfoList = modsetupapi.NewProc("SetupDiDestroyDriverInfoList") procSetupDiEnumDeviceInfo = modsetupapi.NewProc("SetupDiEnumDeviceInfo") procSetupDiEnumDriverInfoW = modsetupapi.NewProc("SetupDiEnumDriverInfoW") procSetupDiGetClassDevsExW = modsetupapi.NewProc("SetupDiGetClassDevsExW") procSetupDiGetClassInstallParamsW = modsetupapi.NewProc("SetupDiGetClassInstallParamsW") procSetupDiGetDeviceInfoListDetailW = modsetupapi.NewProc("SetupDiGetDeviceInfoListDetailW") procSetupDiGetDeviceInstallParamsW = modsetupapi.NewProc("SetupDiGetDeviceInstallParamsW") procSetupDiGetDeviceInstanceIdW = modsetupapi.NewProc("SetupDiGetDeviceInstanceIdW") procSetupDiGetDevicePropertyW = modsetupapi.NewProc("SetupDiGetDevicePropertyW") procSetupDiGetDeviceRegistryPropertyW = modsetupapi.NewProc("SetupDiGetDeviceRegistryPropertyW") procSetupDiGetDriverInfoDetailW = modsetupapi.NewProc("SetupDiGetDriverInfoDetailW") procSetupDiGetSelectedDevice = modsetupapi.NewProc("SetupDiGetSelectedDevice") procSetupDiGetSelectedDriverW = modsetupapi.NewProc("SetupDiGetSelectedDriverW") procSetupDiOpenDevRegKey = modsetupapi.NewProc("SetupDiOpenDevRegKey") procSetupDiSetClassInstallParamsW = modsetupapi.NewProc("SetupDiSetClassInstallParamsW") procSetupDiSetDeviceInstallParamsW = modsetupapi.NewProc("SetupDiSetDeviceInstallParamsW") procSetupDiSetDeviceRegistryPropertyW = modsetupapi.NewProc("SetupDiSetDeviceRegistryPropertyW") procSetupDiSetSelectedDevice = modsetupapi.NewProc("SetupDiSetSelectedDevice") procSetupDiSetSelectedDriverW = modsetupapi.NewProc("SetupDiSetSelectedDriverW") procSetupUninstallOEMInfW = modsetupapi.NewProc("SetupUninstallOEMInfW") procCommandLineToArgvW = modshell32.NewProc("CommandLineToArgvW") procSHGetKnownFolderPath = modshell32.NewProc("SHGetKnownFolderPath") procShellExecuteW = modshell32.NewProc("ShellExecuteW") procEnumChildWindows = moduser32.NewProc("EnumChildWindows") procEnumWindows = moduser32.NewProc("EnumWindows") procExitWindowsEx = moduser32.NewProc("ExitWindowsEx") procGetClassNameW = moduser32.NewProc("GetClassNameW") procGetDesktopWindow = moduser32.NewProc("GetDesktopWindow") procGetForegroundWindow = moduser32.NewProc("GetForegroundWindow") procGetGUIThreadInfo = moduser32.NewProc("GetGUIThreadInfo") procGetKeyboardLayout = moduser32.NewProc("GetKeyboardLayout") procGetShellWindow = moduser32.NewProc("GetShellWindow") procGetWindowThreadProcessId = moduser32.NewProc("GetWindowThreadProcessId") procIsWindow = moduser32.NewProc("IsWindow") procIsWindowUnicode = moduser32.NewProc("IsWindowUnicode") procIsWindowVisible = moduser32.NewProc("IsWindowVisible") procLoadKeyboardLayoutW = moduser32.NewProc("LoadKeyboardLayoutW") procMessageBoxW = moduser32.NewProc("MessageBoxW") procToUnicodeEx = moduser32.NewProc("ToUnicodeEx") procUnloadKeyboardLayout = moduser32.NewProc("UnloadKeyboardLayout") procCreateEnvironmentBlock = moduserenv.NewProc("CreateEnvironmentBlock") procDestroyEnvironmentBlock = moduserenv.NewProc("DestroyEnvironmentBlock") procGetUserProfileDirectoryW = moduserenv.NewProc("GetUserProfileDirectoryW") procGetFileVersionInfoSizeW = modversion.NewProc("GetFileVersionInfoSizeW") procGetFileVersionInfoW = modversion.NewProc("GetFileVersionInfoW") procVerQueryValueW = modversion.NewProc("VerQueryValueW") proctimeBeginPeriod = modwinmm.NewProc("timeBeginPeriod") proctimeEndPeriod = modwinmm.NewProc("timeEndPeriod") procWinVerifyTrustEx = modwintrust.NewProc("WinVerifyTrustEx") procFreeAddrInfoW = modws2_32.NewProc("FreeAddrInfoW") procGetAddrInfoW = modws2_32.NewProc("GetAddrInfoW") procWSACleanup = modws2_32.NewProc("WSACleanup") procWSAEnumProtocolsW = modws2_32.NewProc("WSAEnumProtocolsW") procWSAGetOverlappedResult = modws2_32.NewProc("WSAGetOverlappedResult") procWSAIoctl = modws2_32.NewProc("WSAIoctl") procWSALookupServiceBeginW = modws2_32.NewProc("WSALookupServiceBeginW") procWSALookupServiceEnd = modws2_32.NewProc("WSALookupServiceEnd") procWSALookupServiceNextW = modws2_32.NewProc("WSALookupServiceNextW") procWSARecv = modws2_32.NewProc("WSARecv") procWSARecvFrom = modws2_32.NewProc("WSARecvFrom") procWSASend = modws2_32.NewProc("WSASend") procWSASendTo = modws2_32.NewProc("WSASendTo") procWSASocketW = modws2_32.NewProc("WSASocketW") procWSAStartup = modws2_32.NewProc("WSAStartup") procbind = modws2_32.NewProc("bind") procclosesocket = modws2_32.NewProc("closesocket") procconnect = modws2_32.NewProc("connect") procgethostbyname = modws2_32.NewProc("gethostbyname") procgetpeername = modws2_32.NewProc("getpeername") procgetprotobyname = modws2_32.NewProc("getprotobyname") procgetservbyname = modws2_32.NewProc("getservbyname") procgetsockname = modws2_32.NewProc("getsockname") procgetsockopt = modws2_32.NewProc("getsockopt") proclisten = modws2_32.NewProc("listen") procntohs = modws2_32.NewProc("ntohs") procrecvfrom = modws2_32.NewProc("recvfrom") procsendto = modws2_32.NewProc("sendto") procsetsockopt = modws2_32.NewProc("setsockopt") procshutdown = modws2_32.NewProc("shutdown") procsocket = modws2_32.NewProc("socket") procWTSEnumerateSessionsW = modwtsapi32.NewProc("WTSEnumerateSessionsW") procWTSFreeMemory = modwtsapi32.NewProc("WTSFreeMemory") procWTSQueryUserToken = modwtsapi32.NewProc("WTSQueryUserToken") ) func cm_Get_DevNode_Status(status *uint32, problemNumber *uint32, devInst DEVINST, flags uint32) (ret CONFIGRET) { r0, _, _ := syscall.Syscall6(procCM_Get_DevNode_Status.Addr(), 4, uintptr(unsafe.Pointer(status)), uintptr(unsafe.Pointer(problemNumber)), uintptr(devInst), uintptr(flags), 0, 0) ret = CONFIGRET(r0) return } func cm_Get_Device_Interface_List(interfaceClass *GUID, deviceID *uint16, buffer *uint16, bufferLen uint32, flags uint32) (ret CONFIGRET) { r0, _, _ := syscall.Syscall6(procCM_Get_Device_Interface_ListW.Addr(), 5, uintptr(unsafe.Pointer(interfaceClass)), uintptr(unsafe.Pointer(deviceID)), uintptr(unsafe.Pointer(buffer)), uintptr(bufferLen), uintptr(flags), 0) ret = CONFIGRET(r0) return } func cm_Get_Device_Interface_List_Size(len *uint32, interfaceClass *GUID, deviceID *uint16, flags uint32) (ret CONFIGRET) { r0, _, _ := syscall.Syscall6(procCM_Get_Device_Interface_List_SizeW.Addr(), 4, uintptr(unsafe.Pointer(len)), uintptr(unsafe.Pointer(interfaceClass)), uintptr(unsafe.Pointer(deviceID)), uintptr(flags), 0, 0) ret = CONFIGRET(r0) return } func cm_MapCrToWin32Err(configRet CONFIGRET, defaultWin32Error Errno) (ret Errno) { r0, _, _ := syscall.Syscall(procCM_MapCrToWin32Err.Addr(), 2, uintptr(configRet), uintptr(defaultWin32Error), 0) ret = Errno(r0) return } func AdjustTokenGroups(token Token, resetToDefault bool, newstate *Tokengroups, buflen uint32, prevstate *Tokengroups, returnlen *uint32) (err error) { var _p0 uint32 if resetToDefault { _p0 = 1 } r1, _, e1 := syscall.Syscall6(procAdjustTokenGroups.Addr(), 6, uintptr(token), uintptr(_p0), uintptr(unsafe.Pointer(newstate)), uintptr(buflen), uintptr(unsafe.Pointer(prevstate)), uintptr(unsafe.Pointer(returnlen))) if r1 == 0 { err = errnoErr(e1) } return } func AdjustTokenPrivileges(token Token, disableAllPrivileges bool, newstate *Tokenprivileges, buflen uint32, prevstate *Tokenprivileges, returnlen *uint32) (err error) { var _p0 uint32 if disableAllPrivileges { _p0 = 1 } r1, _, e1 := syscall.Syscall6(procAdjustTokenPrivileges.Addr(), 6, uintptr(token), uintptr(_p0), uintptr(unsafe.Pointer(newstate)), uintptr(buflen), uintptr(unsafe.Pointer(prevstate)), uintptr(unsafe.Pointer(returnlen))) if r1 == 0 { err = errnoErr(e1) } return } func AllocateAndInitializeSid(identAuth *SidIdentifierAuthority, subAuth byte, subAuth0 uint32, subAuth1 uint32, subAuth2 uint32, subAuth3 uint32, subAuth4 uint32, subAuth5 uint32, subAuth6 uint32, subAuth7 uint32, sid **SID) (err error) { r1, _, e1 := syscall.Syscall12(procAllocateAndInitializeSid.Addr(), 11, uintptr(unsafe.Pointer(identAuth)), uintptr(subAuth), uintptr(subAuth0), uintptr(subAuth1), uintptr(subAuth2), uintptr(subAuth3), uintptr(subAuth4), uintptr(subAuth5), uintptr(subAuth6), uintptr(subAuth7), uintptr(unsafe.Pointer(sid)), 0) if r1 == 0 { err = errnoErr(e1) } return } func buildSecurityDescriptor(owner *TRUSTEE, group *TRUSTEE, countAccessEntries uint32, accessEntries *EXPLICIT_ACCESS, countAuditEntries uint32, auditEntries *EXPLICIT_ACCESS, oldSecurityDescriptor *SECURITY_DESCRIPTOR, sizeNewSecurityDescriptor *uint32, newSecurityDescriptor **SECURITY_DESCRIPTOR) (ret error) { r0, _, _ := syscall.Syscall9(procBuildSecurityDescriptorW.Addr(), 9, uintptr(unsafe.Pointer(owner)), uintptr(unsafe.Pointer(group)), uintptr(countAccessEntries), uintptr(unsafe.Pointer(accessEntries)), uintptr(countAuditEntries), uintptr(unsafe.Pointer(auditEntries)), uintptr(unsafe.Pointer(oldSecurityDescriptor)), uintptr(unsafe.Pointer(sizeNewSecurityDescriptor)), uintptr(unsafe.Pointer(newSecurityDescriptor))) if r0 != 0 { ret = syscall.Errno(r0) } return } func ChangeServiceConfig2(service Handle, infoLevel uint32, info *byte) (err error) { r1, _, e1 := syscall.Syscall(procChangeServiceConfig2W.Addr(), 3, uintptr(service), uintptr(infoLevel), uintptr(unsafe.Pointer(info))) if r1 == 0 { err = errnoErr(e1) } return } func ChangeServiceConfig(service Handle, serviceType uint32, startType uint32, errorControl uint32, binaryPathName *uint16, loadOrderGroup *uint16, tagId *uint32, dependencies *uint16, serviceStartName *uint16, password *uint16, displayName *uint16) (err error) { r1, _, e1 := syscall.Syscall12(procChangeServiceConfigW.Addr(), 11, uintptr(service), uintptr(serviceType), uintptr(startType), uintptr(errorControl), uintptr(unsafe.Pointer(binaryPathName)), uintptr(unsafe.Pointer(loadOrderGroup)), uintptr(unsafe.Pointer(tagId)), uintptr(unsafe.Pointer(dependencies)), uintptr(unsafe.Pointer(serviceStartName)), uintptr(unsafe.Pointer(password)), uintptr(unsafe.Pointer(displayName)), 0) if r1 == 0 { err = errnoErr(e1) } return } func checkTokenMembership(tokenHandle Token, sidToCheck *SID, isMember *int32) (err error) { r1, _, e1 := syscall.Syscall(procCheckTokenMembership.Addr(), 3, uintptr(tokenHandle), uintptr(unsafe.Pointer(sidToCheck)), uintptr(unsafe.Pointer(isMember))) if r1 == 0 { err = errnoErr(e1) } return } func CloseServiceHandle(handle Handle) (err error) { r1, _, e1 := syscall.Syscall(procCloseServiceHandle.Addr(), 1, uintptr(handle), 0, 0) if r1 == 0 { err = errnoErr(e1) } return } func ControlService(service Handle, control uint32, status *SERVICE_STATUS) (err error) { r1, _, e1 := syscall.Syscall(procControlService.Addr(), 3, uintptr(service), uintptr(control), uintptr(unsafe.Pointer(status))) if r1 == 0 { err = errnoErr(e1) } return } func convertSecurityDescriptorToStringSecurityDescriptor(sd *SECURITY_DESCRIPTOR, revision uint32, securityInformation SECURITY_INFORMATION, str **uint16, strLen *uint32) (err error) { r1, _, e1 := syscall.Syscall6(procConvertSecurityDescriptorToStringSecurityDescriptorW.Addr(), 5, uintptr(unsafe.Pointer(sd)), uintptr(revision), uintptr(securityInformation), uintptr(unsafe.Pointer(str)), uintptr(unsafe.Pointer(strLen)), 0) if r1 == 0 { err = errnoErr(e1) } return } func ConvertSidToStringSid(sid *SID, stringSid **uint16) (err error) { r1, _, e1 := syscall.Syscall(procConvertSidToStringSidW.Addr(), 2, uintptr(unsafe.Pointer(sid)), uintptr(unsafe.Pointer(stringSid)), 0) if r1 == 0 { err = errnoErr(e1) } return } func convertStringSecurityDescriptorToSecurityDescriptor(str string, revision uint32, sd **SECURITY_DESCRIPTOR, size *uint32) (err error) { var _p0 *uint16 _p0, err = syscall.UTF16PtrFromString(str) if err != nil { return } return _convertStringSecurityDescriptorToSecurityDescriptor(_p0, revision, sd, size) } func _convertStringSecurityDescriptorToSecurityDescriptor(str *uint16, revision uint32, sd **SECURITY_DESCRIPTOR, size *uint32) (err error) { r1, _, e1 := syscall.Syscall6(procConvertStringSecurityDescriptorToSecurityDescriptorW.Addr(), 4, uintptr(unsafe.Pointer(str)), uintptr(revision), uintptr(unsafe.Pointer(sd)), uintptr(unsafe.Pointer(size)), 0, 0) if r1 == 0 { err = errnoErr(e1) } return } func ConvertStringSidToSid(stringSid *uint16, sid **SID) (err error) { r1, _, e1 := syscall.Syscall(procConvertStringSidToSidW.Addr(), 2, uintptr(unsafe.Pointer(stringSid)), uintptr(unsafe.Pointer(sid)), 0) if r1 == 0 { err = errnoErr(e1) } return } func CopySid(destSidLen uint32, destSid *SID, srcSid *SID) (err error) { r1, _, e1 := syscall.Syscall(procCopySid.Addr(), 3, uintptr(destSidLen), uintptr(unsafe.Pointer(destSid)), uintptr(unsafe.Pointer(srcSid))) if r1 == 0 { err = errnoErr(e1) } return } func CreateProcessAsUser(token Token, appName *uint16, commandLine *uint16, procSecurity *SecurityAttributes, threadSecurity *SecurityAttributes, inheritHandles bool, creationFlags uint32, env *uint16, currentDir *uint16, startupInfo *StartupInfo, outProcInfo *ProcessInformation) (err error) { var _p0 uint32 if inheritHandles { _p0 = 1 } r1, _, e1 := syscall.Syscall12(procCreateProcessAsUserW.Addr(), 11, uintptr(token), uintptr(unsafe.Pointer(appName)), uintptr(unsafe.Pointer(commandLine)), uintptr(unsafe.Pointer(procSecurity)), uintptr(unsafe.Pointer(threadSecurity)), uintptr(_p0), uintptr(creationFlags), uintptr(unsafe.Pointer(env)), uintptr(unsafe.Pointer(currentDir)), uintptr(unsafe.Pointer(startupInfo)), uintptr(unsafe.Pointer(outProcInfo)), 0) if r1 == 0 { err = errnoErr(e1) } return } func CreateService(mgr Handle, serviceName *uint16, displayName *uint16, access uint32, srvType uint32, startType uint32, errCtl uint32, pathName *uint16, loadOrderGroup *uint16, tagId *uint32, dependencies *uint16, serviceStartName *uint16, password *uint16) (handle Handle, err error) { r0, _, e1 := syscall.Syscall15(procCreateServiceW.Addr(), 13, uintptr(mgr), uintptr(unsafe.Pointer(serviceName)), uintptr(unsafe.Pointer(displayName)), uintptr(access), uintptr(srvType), uintptr(startType), uintptr(errCtl), uintptr(unsafe.Pointer(pathName)), uintptr(unsafe.Pointer(loadOrderGroup)), uintptr(unsafe.Pointer(tagId)), uintptr(unsafe.Pointer(dependencies)), uintptr(unsafe.Pointer(serviceStartName)), uintptr(unsafe.Pointer(password)), 0, 0) handle = Handle(r0) if handle == 0 { err = errnoErr(e1) } return } func createWellKnownSid(sidType WELL_KNOWN_SID_TYPE, domainSid *SID, sid *SID, sizeSid *uint32) (err error) { r1, _, e1 := syscall.Syscall6(procCreateWellKnownSid.Addr(), 4, uintptr(sidType), uintptr(unsafe.Pointer(domainSid)), uintptr(unsafe.Pointer(sid)), uintptr(unsafe.Pointer(sizeSid)), 0, 0) if r1 == 0 { err = errnoErr(e1) } return } func CryptAcquireContext(provhandle *Handle, container *uint16, provider *uint16, provtype uint32, flags uint32) (err error) { r1, _, e1 := syscall.Syscall6(procCryptAcquireContextW.Addr(), 5, uintptr(unsafe.Pointer(provhandle)), uintptr(unsafe.Pointer(container)), uintptr(unsafe.Pointer(provider)), uintptr(provtype), uintptr(flags), 0) if r1 == 0 { err = errnoErr(e1) } return } func CryptGenRandom(provhandle Handle, buflen uint32, buf *byte) (err error) { r1, _, e1 := syscall.Syscall(procCryptGenRandom.Addr(), 3, uintptr(provhandle), uintptr(buflen), uintptr(unsafe.Pointer(buf))) if r1 == 0 { err = errnoErr(e1) } return } func CryptReleaseContext(provhandle Handle, flags uint32) (err error) { r1, _, e1 := syscall.Syscall(procCryptReleaseContext.Addr(), 2, uintptr(provhandle), uintptr(flags), 0) if r1 == 0 { err = errnoErr(e1) } return } func DeleteService(service Handle) (err error) { r1, _, e1 := syscall.Syscall(procDeleteService.Addr(), 1, uintptr(service), 0, 0) if r1 == 0 { err = errnoErr(e1) } return } func DeregisterEventSource(handle Handle) (err error) { r1, _, e1 := syscall.Syscall(procDeregisterEventSource.Addr(), 1, uintptr(handle), 0, 0) if r1 == 0 { err = errnoErr(e1) } return } func DuplicateTokenEx(existingToken Token, desiredAccess uint32, tokenAttributes *SecurityAttributes, impersonationLevel uint32, tokenType uint32, newToken *Token) (err error) { r1, _, e1 := syscall.Syscall6(procDuplicateTokenEx.Addr(), 6, uintptr(existingToken), uintptr(desiredAccess), uintptr(unsafe.Pointer(tokenAttributes)), uintptr(impersonationLevel), uintptr(tokenType), uintptr(unsafe.Pointer(newToken))) if r1 == 0 { err = errnoErr(e1) } return } func EnumDependentServices(service Handle, activityState uint32, services *ENUM_SERVICE_STATUS, buffSize uint32, bytesNeeded *uint32, servicesReturned *uint32) (err error) { r1, _, e1 := syscall.Syscall6(procEnumDependentServicesW.Addr(), 6, uintptr(service), uintptr(activityState), uintptr(unsafe.Pointer(services)), uintptr(buffSize), uintptr(unsafe.Pointer(bytesNeeded)), uintptr(unsafe.Pointer(servicesReturned))) if r1 == 0 { err = errnoErr(e1) } return } func EnumServicesStatusEx(mgr Handle, infoLevel uint32, serviceType uint32, serviceState uint32, services *byte, bufSize uint32, bytesNeeded *uint32, servicesReturned *uint32, resumeHandle *uint32, groupName *uint16) (err error) { r1, _, e1 := syscall.Syscall12(procEnumServicesStatusExW.Addr(), 10, uintptr(mgr), uintptr(infoLevel), uintptr(serviceType), uintptr(serviceState), uintptr(unsafe.Pointer(services)), uintptr(bufSize), uintptr(unsafe.Pointer(bytesNeeded)), uintptr(unsafe.Pointer(servicesReturned)), uintptr(unsafe.Pointer(resumeHandle)), uintptr(unsafe.Pointer(groupName)), 0, 0) if r1 == 0 { err = errnoErr(e1) } return } func EqualSid(sid1 *SID, sid2 *SID) (isEqual bool) { r0, _, _ := syscall.Syscall(procEqualSid.Addr(), 2, uintptr(unsafe.Pointer(sid1)), uintptr(unsafe.Pointer(sid2)), 0) isEqual = r0 != 0 return } func FreeSid(sid *SID) (err error) { r1, _, e1 := syscall.Syscall(procFreeSid.Addr(), 1, uintptr(unsafe.Pointer(sid)), 0, 0) if r1 != 0 { err = errnoErr(e1) } return } func GetAce(acl *ACL, aceIndex uint32, pAce **ACCESS_ALLOWED_ACE) (err error) { r1, _, e1 := syscall.Syscall(procGetAce.Addr(), 3, uintptr(unsafe.Pointer(acl)), uintptr(aceIndex), uintptr(unsafe.Pointer(pAce))) if r1 == 0 { err = errnoErr(e1) } return } func GetLengthSid(sid *SID) (len uint32) { r0, _, _ := syscall.Syscall(procGetLengthSid.Addr(), 1, uintptr(unsafe.Pointer(sid)), 0, 0) len = uint32(r0) return } func getNamedSecurityInfo(objectName string, objectType SE_OBJECT_TYPE, securityInformation SECURITY_INFORMATION, owner **SID, group **SID, dacl **ACL, sacl **ACL, sd **SECURITY_DESCRIPTOR) (ret error) { var _p0 *uint16 _p0, ret = syscall.UTF16PtrFromString(objectName) if ret != nil { return } return _getNamedSecurityInfo(_p0, objectType, securityInformation, owner, group, dacl, sacl, sd) } func _getNamedSecurityInfo(objectName *uint16, objectType SE_OBJECT_TYPE, securityInformation SECURITY_INFORMATION, owner **SID, group **SID, dacl **ACL, sacl **ACL, sd **SECURITY_DESCRIPTOR) (ret error) { r0, _, _ := syscall.Syscall9(procGetNamedSecurityInfoW.Addr(), 8, uintptr(unsafe.Pointer(objectName)), uintptr(objectType), uintptr(securityInformation), uintptr(unsafe.Pointer(owner)), uintptr(unsafe.Pointer(group)), uintptr(unsafe.Pointer(dacl)), uintptr(unsafe.Pointer(sacl)), uintptr(unsafe.Pointer(sd)), 0) if r0 != 0 { ret = syscall.Errno(r0) } return } func getSecurityDescriptorControl(sd *SECURITY_DESCRIPTOR, control *SECURITY_DESCRIPTOR_CONTROL, revision *uint32) (err error) { r1, _, e1 := syscall.Syscall(procGetSecurityDescriptorControl.Addr(), 3, uintptr(unsafe.Pointer(sd)), uintptr(unsafe.Pointer(control)), uintptr(unsafe.Pointer(revision))) if r1 == 0 { err = errnoErr(e1) } return } func getSecurityDescriptorDacl(sd *SECURITY_DESCRIPTOR, daclPresent *bool, dacl **ACL, daclDefaulted *bool) (err error) { var _p0 uint32 if *daclPresent { _p0 = 1 } var _p1 uint32 if *daclDefaulted { _p1 = 1 } r1, _, e1 := syscall.Syscall6(procGetSecurityDescriptorDacl.Addr(), 4, uintptr(unsafe.Pointer(sd)), uintptr(unsafe.Pointer(&_p0)), uintptr(unsafe.Pointer(dacl)), uintptr(unsafe.Pointer(&_p1)), 0, 0) *daclPresent = _p0 != 0 *daclDefaulted = _p1 != 0 if r1 == 0 { err = errnoErr(e1) } return } func getSecurityDescriptorGroup(sd *SECURITY_DESCRIPTOR, group **SID, groupDefaulted *bool) (err error) { var _p0 uint32 if *groupDefaulted { _p0 = 1 } r1, _, e1 := syscall.Syscall(procGetSecurityDescriptorGroup.Addr(), 3, uintptr(unsafe.Pointer(sd)), uintptr(unsafe.Pointer(group)), uintptr(unsafe.Pointer(&_p0))) *groupDefaulted = _p0 != 0 if r1 == 0 { err = errnoErr(e1) } return } func getSecurityDescriptorLength(sd *SECURITY_DESCRIPTOR) (len uint32) { r0, _, _ := syscall.Syscall(procGetSecurityDescriptorLength.Addr(), 1, uintptr(unsafe.Pointer(sd)), 0, 0) len = uint32(r0) return } func getSecurityDescriptorOwner(sd *SECURITY_DESCRIPTOR, owner **SID, ownerDefaulted *bool) (err error) { var _p0 uint32 if *ownerDefaulted { _p0 = 1 } r1, _, e1 := syscall.Syscall(procGetSecurityDescriptorOwner.Addr(), 3, uintptr(unsafe.Pointer(sd)), uintptr(unsafe.Pointer(owner)), uintptr(unsafe.Pointer(&_p0))) *ownerDefaulted = _p0 != 0 if r1 == 0 { err = errnoErr(e1) } return } func getSecurityDescriptorRMControl(sd *SECURITY_DESCRIPTOR, rmControl *uint8) (ret error) { r0, _, _ := syscall.Syscall(procGetSecurityDescriptorRMControl.Addr(), 2, uintptr(unsafe.Pointer(sd)), uintptr(unsafe.Pointer(rmControl)), 0) if r0 != 0 { ret = syscall.Errno(r0) } return } func getSecurityDescriptorSacl(sd *SECURITY_DESCRIPTOR, saclPresent *bool, sacl **ACL, saclDefaulted *bool) (err error) { var _p0 uint32 if *saclPresent { _p0 = 1 } var _p1 uint32 if *saclDefaulted { _p1 = 1 } r1, _, e1 := syscall.Syscall6(procGetSecurityDescriptorSacl.Addr(), 4, uintptr(unsafe.Pointer(sd)), uintptr(unsafe.Pointer(&_p0)), uintptr(unsafe.Pointer(sacl)), uintptr(unsafe.Pointer(&_p1)), 0, 0) *saclPresent = _p0 != 0 *saclDefaulted = _p1 != 0 if r1 == 0 { err = errnoErr(e1) } return } func getSecurityInfo(handle Handle, objectType SE_OBJECT_TYPE, securityInformation SECURITY_INFORMATION, owner **SID, group **SID, dacl **ACL, sacl **ACL, sd **SECURITY_DESCRIPTOR) (ret error) { r0, _, _ := syscall.Syscall9(procGetSecurityInfo.Addr(), 8, uintptr(handle), uintptr(objectType), uintptr(securityInformation), uintptr(unsafe.Pointer(owner)), uintptr(unsafe.Pointer(group)), uintptr(unsafe.Pointer(dacl)), uintptr(unsafe.Pointer(sacl)), uintptr(unsafe.Pointer(sd)), 0) if r0 != 0 { ret = syscall.Errno(r0) } return } func getSidIdentifierAuthority(sid *SID) (authority *SidIdentifierAuthority) { r0, _, _ := syscall.Syscall(procGetSidIdentifierAuthority.Addr(), 1, uintptr(unsafe.Pointer(sid)), 0, 0) authority = (*SidIdentifierAuthority)(unsafe.Pointer(r0)) return } func getSidSubAuthority(sid *SID, index uint32) (subAuthority *uint32) { r0, _, _ := syscall.Syscall(procGetSidSubAuthority.Addr(), 2, uintptr(unsafe.Pointer(sid)), uintptr(index), 0) subAuthority = (*uint32)(unsafe.Pointer(r0)) return } func getSidSubAuthorityCount(sid *SID) (count *uint8) { r0, _, _ := syscall.Syscall(procGetSidSubAuthorityCount.Addr(), 1, uintptr(unsafe.Pointer(sid)), 0, 0) count = (*uint8)(unsafe.Pointer(r0)) return } func GetTokenInformation(token Token, infoClass uint32, info *byte, infoLen uint32, returnedLen *uint32) (err error) { r1, _, e1 := syscall.Syscall6(procGetTokenInformation.Addr(), 5, uintptr(token), uintptr(infoClass), uintptr(unsafe.Pointer(info)), uintptr(infoLen), uintptr(unsafe.Pointer(returnedLen)), 0) if r1 == 0 { err = errnoErr(e1) } return } func ImpersonateSelf(impersonationlevel uint32) (err error) { r1, _, e1 := syscall.Syscall(procImpersonateSelf.Addr(), 1, uintptr(impersonationlevel), 0, 0) if r1 == 0 { err = errnoErr(e1) } return } func initializeSecurityDescriptor(absoluteSD *SECURITY_DESCRIPTOR, revision uint32) (err error) { r1, _, e1 := syscall.Syscall(procInitializeSecurityDescriptor.Addr(), 2, uintptr(unsafe.Pointer(absoluteSD)), uintptr(revision), 0) if r1 == 0 { err = errnoErr(e1) } return } func InitiateSystemShutdownEx(machineName *uint16, message *uint16, timeout uint32, forceAppsClosed bool, rebootAfterShutdown bool, reason uint32) (err error) { var _p0 uint32 if forceAppsClosed { _p0 = 1 } var _p1 uint32 if rebootAfterShutdown { _p1 = 1 } r1, _, e1 := syscall.Syscall6(procInitiateSystemShutdownExW.Addr(), 6, uintptr(unsafe.Pointer(machineName)), uintptr(unsafe.Pointer(message)), uintptr(timeout), uintptr(_p0), uintptr(_p1), uintptr(reason)) if r1 == 0 { err = errnoErr(e1) } return } func isTokenRestricted(tokenHandle Token) (ret bool, err error) { r0, _, e1 := syscall.Syscall(procIsTokenRestricted.Addr(), 1, uintptr(tokenHandle), 0, 0) ret = r0 != 0 if !ret { err = errnoErr(e1) } return } func isValidSecurityDescriptor(sd *SECURITY_DESCRIPTOR) (isValid bool) { r0, _, _ := syscall.Syscall(procIsValidSecurityDescriptor.Addr(), 1, uintptr(unsafe.Pointer(sd)), 0, 0) isValid = r0 != 0 return } func isValidSid(sid *SID) (isValid bool) { r0, _, _ := syscall.Syscall(procIsValidSid.Addr(), 1, uintptr(unsafe.Pointer(sid)), 0, 0) isValid = r0 != 0 return } func isWellKnownSid(sid *SID, sidType WELL_KNOWN_SID_TYPE) (isWellKnown bool) { r0, _, _ := syscall.Syscall(procIsWellKnownSid.Addr(), 2, uintptr(unsafe.Pointer(sid)), uintptr(sidType), 0) isWellKnown = r0 != 0 return } func LookupAccountName(systemName *uint16, accountName *uint16, sid *SID, sidLen *uint32, refdDomainName *uint16, refdDomainNameLen *uint32, use *uint32) (err error) { r1, _, e1 := syscall.Syscall9(procLookupAccountNameW.Addr(), 7, uintptr(unsafe.Pointer(systemName)), uintptr(unsafe.Pointer(accountName)), uintptr(unsafe.Pointer(sid)), uintptr(unsafe.Pointer(sidLen)), uintptr(unsafe.Pointer(refdDomainName)), uintptr(unsafe.Pointer(refdDomainNameLen)), uintptr(unsafe.Pointer(use)), 0, 0) if r1 == 0 { err = errnoErr(e1) } return } func LookupAccountSid(systemName *uint16, sid *SID, name *uint16, nameLen *uint32, refdDomainName *uint16, refdDomainNameLen *uint32, use *uint32) (err error) { r1, _, e1 := syscall.Syscall9(procLookupAccountSidW.Addr(), 7, uintptr(unsafe.Pointer(systemName)), uintptr(unsafe.Pointer(sid)), uintptr(unsafe.Pointer(name)), uintptr(unsafe.Pointer(nameLen)), uintptr(unsafe.Pointer(refdDomainName)), uintptr(unsafe.Pointer(refdDomainNameLen)), uintptr(unsafe.Pointer(use)), 0, 0) if r1 == 0 { err = errnoErr(e1) } return } func LookupPrivilegeValue(systemname *uint16, name *uint16, luid *LUID) (err error) { r1, _, e1 := syscall.Syscall(procLookupPrivilegeValueW.Addr(), 3, uintptr(unsafe.Pointer(systemname)), uintptr(unsafe.Pointer(name)), uintptr(unsafe.Pointer(luid))) if r1 == 0 { err = errnoErr(e1) } return } func makeAbsoluteSD(selfRelativeSD *SECURITY_DESCRIPTOR, absoluteSD *SECURITY_DESCRIPTOR, absoluteSDSize *uint32, dacl *ACL, daclSize *uint32, sacl *ACL, saclSize *uint32, owner *SID, ownerSize *uint32, group *SID, groupSize *uint32) (err error) { r1, _, e1 := syscall.Syscall12(procMakeAbsoluteSD.Addr(), 11, uintptr(unsafe.Pointer(selfRelativeSD)), uintptr(unsafe.Pointer(absoluteSD)), uintptr(unsafe.Pointer(absoluteSDSize)), uintptr(unsafe.Pointer(dacl)), uintptr(unsafe.Pointer(daclSize)), uintptr(unsafe.Pointer(sacl)), uintptr(unsafe.Pointer(saclSize)), uintptr(unsafe.Pointer(owner)), uintptr(unsafe.Pointer(ownerSize)), uintptr(unsafe.Pointer(group)), uintptr(unsafe.Pointer(groupSize)), 0) if r1 == 0 { err = errnoErr(e1) } return } func makeSelfRelativeSD(absoluteSD *SECURITY_DESCRIPTOR, selfRelativeSD *SECURITY_DESCRIPTOR, selfRelativeSDSize *uint32) (err error) { r1, _, e1 := syscall.Syscall(procMakeSelfRelativeSD.Addr(), 3, uintptr(unsafe.Pointer(absoluteSD)), uintptr(unsafe.Pointer(selfRelativeSD)), uintptr(unsafe.Pointer(selfRelativeSDSize))) if r1 == 0 { err = errnoErr(e1) } return } func NotifyServiceStatusChange(service Handle, notifyMask uint32, notifier *SERVICE_NOTIFY) (ret error) { r0, _, _ := syscall.Syscall(procNotifyServiceStatusChangeW.Addr(), 3, uintptr(service), uintptr(notifyMask), uintptr(unsafe.Pointer(notifier))) if r0 != 0 { ret = syscall.Errno(r0) } return } func OpenProcessToken(process Handle, access uint32, token *Token) (err error) { r1, _, e1 := syscall.Syscall(procOpenProcessToken.Addr(), 3, uintptr(process), uintptr(access), uintptr(unsafe.Pointer(token))) if r1 == 0 { err = errnoErr(e1) } return } func OpenSCManager(machineName *uint16, databaseName *uint16, access uint32) (handle Handle, err error) { r0, _, e1 := syscall.Syscall(procOpenSCManagerW.Addr(), 3, uintptr(unsafe.Pointer(machineName)), uintptr(unsafe.Pointer(databaseName)), uintptr(access)) handle = Handle(r0) if handle == 0 { err = errnoErr(e1) } return } func OpenService(mgr Handle, serviceName *uint16, access uint32) (handle Handle, err error) { r0, _, e1 := syscall.Syscall(procOpenServiceW.Addr(), 3, uintptr(mgr), uintptr(unsafe.Pointer(serviceName)), uintptr(access)) handle = Handle(r0) if handle == 0 { err = errnoErr(e1) } return } func OpenThreadToken(thread Handle, access uint32, openAsSelf bool, token *Token) (err error) { var _p0 uint32 if openAsSelf { _p0 = 1 } r1, _, e1 := syscall.Syscall6(procOpenThreadToken.Addr(), 4, uintptr(thread), uintptr(access), uintptr(_p0), uintptr(unsafe.Pointer(token)), 0, 0) if r1 == 0 { err = errnoErr(e1) } return } func QueryServiceConfig2(service Handle, infoLevel uint32, buff *byte, buffSize uint32, bytesNeeded *uint32) (err error) { r1, _, e1 := syscall.Syscall6(procQueryServiceConfig2W.Addr(), 5, uintptr(service), uintptr(infoLevel), uintptr(unsafe.Pointer(buff)), uintptr(buffSize), uintptr(unsafe.Pointer(bytesNeeded)), 0) if r1 == 0 { err = errnoErr(e1) } return } func QueryServiceConfig(service Handle, serviceConfig *QUERY_SERVICE_CONFIG, bufSize uint32, bytesNeeded *uint32) (err error) { r1, _, e1 := syscall.Syscall6(procQueryServiceConfigW.Addr(), 4, uintptr(service), uintptr(unsafe.Pointer(serviceConfig)), uintptr(bufSize), uintptr(unsafe.Pointer(bytesNeeded)), 0, 0) if r1 == 0 { err = errnoErr(e1) } return } func QueryServiceDynamicInformation(service Handle, infoLevel uint32, dynamicInfo unsafe.Pointer) (err error) { err = procQueryServiceDynamicInformation.Find() if err != nil { return } r1, _, e1 := syscall.Syscall(procQueryServiceDynamicInformation.Addr(), 3, uintptr(service), uintptr(infoLevel), uintptr(dynamicInfo)) if r1 == 0 { err = errnoErr(e1) } return } func QueryServiceLockStatus(mgr Handle, lockStatus *QUERY_SERVICE_LOCK_STATUS, bufSize uint32, bytesNeeded *uint32) (err error) { r1, _, e1 := syscall.Syscall6(procQueryServiceLockStatusW.Addr(), 4, uintptr(mgr), uintptr(unsafe.Pointer(lockStatus)), uintptr(bufSize), uintptr(unsafe.Pointer(bytesNeeded)), 0, 0) if r1 == 0 { err = errnoErr(e1) } return } func QueryServiceStatus(service Handle, status *SERVICE_STATUS) (err error) { r1, _, e1 := syscall.Syscall(procQueryServiceStatus.Addr(), 2, uintptr(service), uintptr(unsafe.Pointer(status)), 0) if r1 == 0 { err = errnoErr(e1) } return } func QueryServiceStatusEx(service Handle, infoLevel uint32, buff *byte, buffSize uint32, bytesNeeded *uint32) (err error) { r1, _, e1 := syscall.Syscall6(procQueryServiceStatusEx.Addr(), 5, uintptr(service), uintptr(infoLevel), uintptr(unsafe.Pointer(buff)), uintptr(buffSize), uintptr(unsafe.Pointer(bytesNeeded)), 0) if r1 == 0 { err = errnoErr(e1) } return } func RegCloseKey(key Handle) (regerrno error) { r0, _, _ := syscall.Syscall(procRegCloseKey.Addr(), 1, uintptr(key), 0, 0) if r0 != 0 { regerrno = syscall.Errno(r0) } return } func RegEnumKeyEx(key Handle, index uint32, name *uint16, nameLen *uint32, reserved *uint32, class *uint16, classLen *uint32, lastWriteTime *Filetime) (regerrno error) { r0, _, _ := syscall.Syscall9(procRegEnumKeyExW.Addr(), 8, uintptr(key), uintptr(index), uintptr(unsafe.Pointer(name)), uintptr(unsafe.Pointer(nameLen)), uintptr(unsafe.Pointer(reserved)), uintptr(unsafe.Pointer(class)), uintptr(unsafe.Pointer(classLen)), uintptr(unsafe.Pointer(lastWriteTime)), 0) if r0 != 0 { regerrno = syscall.Errno(r0) } return } func RegNotifyChangeKeyValue(key Handle, watchSubtree bool, notifyFilter uint32, event Handle, asynchronous bool) (regerrno error) { var _p0 uint32 if watchSubtree { _p0 = 1 } var _p1 uint32 if asynchronous { _p1 = 1 } r0, _, _ := syscall.Syscall6(procRegNotifyChangeKeyValue.Addr(), 5, uintptr(key), uintptr(_p0), uintptr(notifyFilter), uintptr(event), uintptr(_p1), 0) if r0 != 0 { regerrno = syscall.Errno(r0) } return } func RegOpenKeyEx(key Handle, subkey *uint16, options uint32, desiredAccess uint32, result *Handle) (regerrno error) { r0, _, _ := syscall.Syscall6(procRegOpenKeyExW.Addr(), 5, uintptr(key), uintptr(unsafe.Pointer(subkey)), uintptr(options), uintptr(desiredAccess), uintptr(unsafe.Pointer(result)), 0) if r0 != 0 { regerrno = syscall.Errno(r0) } return } func RegQueryInfoKey(key Handle, class *uint16, classLen *uint32, reserved *uint32, subkeysLen *uint32, maxSubkeyLen *uint32, maxClassLen *uint32, valuesLen *uint32, maxValueNameLen *uint32, maxValueLen *uint32, saLen *uint32, lastWriteTime *Filetime) (regerrno error) { r0, _, _ := syscall.Syscall12(procRegQueryInfoKeyW.Addr(), 12, uintptr(key), uintptr(unsafe.Pointer(class)), uintptr(unsafe.Pointer(classLen)), uintptr(unsafe.Pointer(reserved)), uintptr(unsafe.Pointer(subkeysLen)), uintptr(unsafe.Pointer(maxSubkeyLen)), uintptr(unsafe.Pointer(maxClassLen)), uintptr(unsafe.Pointer(valuesLen)), uintptr(unsafe.Pointer(maxValueNameLen)), uintptr(unsafe.Pointer(maxValueLen)), uintptr(unsafe.Pointer(saLen)), uintptr(unsafe.Pointer(lastWriteTime))) if r0 != 0 { regerrno = syscall.Errno(r0) } return } func RegQueryValueEx(key Handle, name *uint16, reserved *uint32, valtype *uint32, buf *byte, buflen *uint32) (regerrno error) { r0, _, _ := syscall.Syscall6(procRegQueryValueExW.Addr(), 6, uintptr(key), uintptr(unsafe.Pointer(name)), uintptr(unsafe.Pointer(reserved)), uintptr(unsafe.Pointer(valtype)), uintptr(unsafe.Pointer(buf)), uintptr(unsafe.Pointer(buflen))) if r0 != 0 { regerrno = syscall.Errno(r0) } return } func RegisterEventSource(uncServerName *uint16, sourceName *uint16) (handle Handle, err error) { r0, _, e1 := syscall.Syscall(procRegisterEventSourceW.Addr(), 2, uintptr(unsafe.Pointer(uncServerName)), uintptr(unsafe.Pointer(sourceName)), 0) handle = Handle(r0) if handle == 0 { err = errnoErr(e1) } return } func RegisterServiceCtrlHandlerEx(serviceName *uint16, handlerProc uintptr, context uintptr) (handle Handle, err error) { r0, _, e1 := syscall.Syscall(procRegisterServiceCtrlHandlerExW.Addr(), 3, uintptr(unsafe.Pointer(serviceName)), uintptr(handlerProc), uintptr(context)) handle = Handle(r0) if handle == 0 { err = errnoErr(e1) } return } func ReportEvent(log Handle, etype uint16, category uint16, eventId uint32, usrSId uintptr, numStrings uint16, dataSize uint32, strings **uint16, rawData *byte) (err error) { r1, _, e1 := syscall.Syscall9(procReportEventW.Addr(), 9, uintptr(log), uintptr(etype), uintptr(category), uintptr(eventId), uintptr(usrSId), uintptr(numStrings), uintptr(dataSize), uintptr(unsafe.Pointer(strings)), uintptr(unsafe.Pointer(rawData))) if r1 == 0 { err = errnoErr(e1) } return } func RevertToSelf() (err error) { r1, _, e1 := syscall.Syscall(procRevertToSelf.Addr(), 0, 0, 0, 0) if r1 == 0 { err = errnoErr(e1) } return } func setEntriesInAcl(countExplicitEntries uint32, explicitEntries *EXPLICIT_ACCESS, oldACL *ACL, newACL **ACL) (ret error) { r0, _, _ := syscall.Syscall6(procSetEntriesInAclW.Addr(), 4, uintptr(countExplicitEntries), uintptr(unsafe.Pointer(explicitEntries)), uintptr(unsafe.Pointer(oldACL)), uintptr(unsafe.Pointer(newACL)), 0, 0) if r0 != 0 { ret = syscall.Errno(r0) } return } func SetKernelObjectSecurity(handle Handle, securityInformation SECURITY_INFORMATION, securityDescriptor *SECURITY_DESCRIPTOR) (err error) { r1, _, e1 := syscall.Syscall(procSetKernelObjectSecurity.Addr(), 3, uintptr(handle), uintptr(securityInformation), uintptr(unsafe.Pointer(securityDescriptor))) if r1 == 0 { err = errnoErr(e1) } return } func SetNamedSecurityInfo(objectName string, objectType SE_OBJECT_TYPE, securityInformation SECURITY_INFORMATION, owner *SID, group *SID, dacl *ACL, sacl *ACL) (ret error) { var _p0 *uint16 _p0, ret = syscall.UTF16PtrFromString(objectName) if ret != nil { return } return _SetNamedSecurityInfo(_p0, objectType, securityInformation, owner, group, dacl, sacl) } func _SetNamedSecurityInfo(objectName *uint16, objectType SE_OBJECT_TYPE, securityInformation SECURITY_INFORMATION, owner *SID, group *SID, dacl *ACL, sacl *ACL) (ret error) { r0, _, _ := syscall.Syscall9(procSetNamedSecurityInfoW.Addr(), 7, uintptr(unsafe.Pointer(objectName)), uintptr(objectType), uintptr(securityInformation), uintptr(unsafe.Pointer(owner)), uintptr(unsafe.Pointer(group)), uintptr(unsafe.Pointer(dacl)), uintptr(unsafe.Pointer(sacl)), 0, 0) if r0 != 0 { ret = syscall.Errno(r0) } return } func setSecurityDescriptorControl(sd *SECURITY_DESCRIPTOR, controlBitsOfInterest SECURITY_DESCRIPTOR_CONTROL, controlBitsToSet SECURITY_DESCRIPTOR_CONTROL) (err error) { r1, _, e1 := syscall.Syscall(procSetSecurityDescriptorControl.Addr(), 3, uintptr(unsafe.Pointer(sd)), uintptr(controlBitsOfInterest), uintptr(controlBitsToSet)) if r1 == 0 { err = errnoErr(e1) } return } func setSecurityDescriptorDacl(sd *SECURITY_DESCRIPTOR, daclPresent bool, dacl *ACL, daclDefaulted bool) (err error) { var _p0 uint32 if daclPresent { _p0 = 1 } var _p1 uint32 if daclDefaulted { _p1 = 1 } r1, _, e1 := syscall.Syscall6(procSetSecurityDescriptorDacl.Addr(), 4, uintptr(unsafe.Pointer(sd)), uintptr(_p0), uintptr(unsafe.Pointer(dacl)), uintptr(_p1), 0, 0) if r1 == 0 { err = errnoErr(e1) } return } func setSecurityDescriptorGroup(sd *SECURITY_DESCRIPTOR, group *SID, groupDefaulted bool) (err error) { var _p0 uint32 if groupDefaulted { _p0 = 1 } r1, _, e1 := syscall.Syscall(procSetSecurityDescriptorGroup.Addr(), 3, uintptr(unsafe.Pointer(sd)), uintptr(unsafe.Pointer(group)), uintptr(_p0)) if r1 == 0 { err = errnoErr(e1) } return } func setSecurityDescriptorOwner(sd *SECURITY_DESCRIPTOR, owner *SID, ownerDefaulted bool) (err error) { var _p0 uint32 if ownerDefaulted { _p0 = 1 } r1, _, e1 := syscall.Syscall(procSetSecurityDescriptorOwner.Addr(), 3, uintptr(unsafe.Pointer(sd)), uintptr(unsafe.Pointer(owner)), uintptr(_p0)) if r1 == 0 { err = errnoErr(e1) } return } func setSecurityDescriptorRMControl(sd *SECURITY_DESCRIPTOR, rmControl *uint8) { syscall.Syscall(procSetSecurityDescriptorRMControl.Addr(), 2, uintptr(unsafe.Pointer(sd)), uintptr(unsafe.Pointer(rmControl)), 0) return } func setSecurityDescriptorSacl(sd *SECURITY_DESCRIPTOR, saclPresent bool, sacl *ACL, saclDefaulted bool) (err error) { var _p0 uint32 if saclPresent { _p0 = 1 } var _p1 uint32 if saclDefaulted { _p1 = 1 } r1, _, e1 := syscall.Syscall6(procSetSecurityDescriptorSacl.Addr(), 4, uintptr(unsafe.Pointer(sd)), uintptr(_p0), uintptr(unsafe.Pointer(sacl)), uintptr(_p1), 0, 0) if r1 == 0 { err = errnoErr(e1) } return } func SetSecurityInfo(handle Handle, objectType SE_OBJECT_TYPE, securityInformation SECURITY_INFORMATION, owner *SID, group *SID, dacl *ACL, sacl *ACL) (ret error) { r0, _, _ := syscall.Syscall9(procSetSecurityInfo.Addr(), 7, uintptr(handle), uintptr(objectType), uintptr(securityInformation), uintptr(unsafe.Pointer(owner)), uintptr(unsafe.Pointer(group)), uintptr(unsafe.Pointer(dacl)), uintptr(unsafe.Pointer(sacl)), 0, 0) if r0 != 0 { ret = syscall.Errno(r0) } return } func SetServiceStatus(service Handle, serviceStatus *SERVICE_STATUS) (err error) { r1, _, e1 := syscall.Syscall(procSetServiceStatus.Addr(), 2, uintptr(service), uintptr(unsafe.Pointer(serviceStatus)), 0) if r1 == 0 { err = errnoErr(e1) } return } func SetThreadToken(thread *Handle, token Token) (err error) { r1, _, e1 := syscall.Syscall(procSetThreadToken.Addr(), 2, uintptr(unsafe.Pointer(thread)), uintptr(token), 0) if r1 == 0 { err = errnoErr(e1) } return } func SetTokenInformation(token Token, infoClass uint32, info *byte, infoLen uint32) (err error) { r1, _, e1 := syscall.Syscall6(procSetTokenInformation.Addr(), 4, uintptr(token), uintptr(infoClass), uintptr(unsafe.Pointer(info)), uintptr(infoLen), 0, 0) if r1 == 0 { err = errnoErr(e1) } return } func StartServiceCtrlDispatcher(serviceTable *SERVICE_TABLE_ENTRY) (err error) { r1, _, e1 := syscall.Syscall(procStartServiceCtrlDispatcherW.Addr(), 1, uintptr(unsafe.Pointer(serviceTable)), 0, 0) if r1 == 0 { err = errnoErr(e1) } return } func StartService(service Handle, numArgs uint32, argVectors **uint16) (err error) { r1, _, e1 := syscall.Syscall(procStartServiceW.Addr(), 3, uintptr(service), uintptr(numArgs), uintptr(unsafe.Pointer(argVectors))) if r1 == 0 { err = errnoErr(e1) } return } func CertAddCertificateContextToStore(store Handle, certContext *CertContext, addDisposition uint32, storeContext **CertContext) (err error) { r1, _, e1 := syscall.Syscall6(procCertAddCertificateContextToStore.Addr(), 4, uintptr(store), uintptr(unsafe.Pointer(certContext)), uintptr(addDisposition), uintptr(unsafe.Pointer(storeContext)), 0, 0) if r1 == 0 { err = errnoErr(e1) } return } func CertCloseStore(store Handle, flags uint32) (err error) { r1, _, e1 := syscall.Syscall(procCertCloseStore.Addr(), 2, uintptr(store), uintptr(flags), 0) if r1 == 0 { err = errnoErr(e1) } return } func CertCreateCertificateContext(certEncodingType uint32, certEncoded *byte, encodedLen uint32) (context *CertContext, err error) { r0, _, e1 := syscall.Syscall(procCertCreateCertificateContext.Addr(), 3, uintptr(certEncodingType), uintptr(unsafe.Pointer(certEncoded)), uintptr(encodedLen)) context = (*CertContext)(unsafe.Pointer(r0)) if context == nil { err = errnoErr(e1) } return } func CertDeleteCertificateFromStore(certContext *CertContext) (err error) { r1, _, e1 := syscall.Syscall(procCertDeleteCertificateFromStore.Addr(), 1, uintptr(unsafe.Pointer(certContext)), 0, 0) if r1 == 0 { err = errnoErr(e1) } return } func CertDuplicateCertificateContext(certContext *CertContext) (dupContext *CertContext) { r0, _, _ := syscall.Syscall(procCertDuplicateCertificateContext.Addr(), 1, uintptr(unsafe.Pointer(certContext)), 0, 0) dupContext = (*CertContext)(unsafe.Pointer(r0)) return } func CertEnumCertificatesInStore(store Handle, prevContext *CertContext) (context *CertContext, err error) { r0, _, e1 := syscall.Syscall(procCertEnumCertificatesInStore.Addr(), 2, uintptr(store), uintptr(unsafe.Pointer(prevContext)), 0) context = (*CertContext)(unsafe.Pointer(r0)) if context == nil { err = errnoErr(e1) } return } func CertFindCertificateInStore(store Handle, certEncodingType uint32, findFlags uint32, findType uint32, findPara unsafe.Pointer, prevCertContext *CertContext) (cert *CertContext, err error) { r0, _, e1 := syscall.Syscall6(procCertFindCertificateInStore.Addr(), 6, uintptr(store), uintptr(certEncodingType), uintptr(findFlags), uintptr(findType), uintptr(findPara), uintptr(unsafe.Pointer(prevCertContext))) cert = (*CertContext)(unsafe.Pointer(r0)) if cert == nil { err = errnoErr(e1) } return } func CertFindChainInStore(store Handle, certEncodingType uint32, findFlags uint32, findType uint32, findPara unsafe.Pointer, prevChainContext *CertChainContext) (certchain *CertChainContext, err error) { r0, _, e1 := syscall.Syscall6(procCertFindChainInStore.Addr(), 6, uintptr(store), uintptr(certEncodingType), uintptr(findFlags), uintptr(findType), uintptr(findPara), uintptr(unsafe.Pointer(prevChainContext))) certchain = (*CertChainContext)(unsafe.Pointer(r0)) if certchain == nil { err = errnoErr(e1) } return } func CertFindExtension(objId *byte, countExtensions uint32, extensions *CertExtension) (ret *CertExtension) { r0, _, _ := syscall.Syscall(procCertFindExtension.Addr(), 3, uintptr(unsafe.Pointer(objId)), uintptr(countExtensions), uintptr(unsafe.Pointer(extensions))) ret = (*CertExtension)(unsafe.Pointer(r0)) return } func CertFreeCertificateChain(ctx *CertChainContext) { syscall.Syscall(procCertFreeCertificateChain.Addr(), 1, uintptr(unsafe.Pointer(ctx)), 0, 0) return } func CertFreeCertificateContext(ctx *CertContext) (err error) { r1, _, e1 := syscall.Syscall(procCertFreeCertificateContext.Addr(), 1, uintptr(unsafe.Pointer(ctx)), 0, 0) if r1 == 0 { err = errnoErr(e1) } return } func CertGetCertificateChain(engine Handle, leaf *CertContext, time *Filetime, additionalStore Handle, para *CertChainPara, flags uint32, reserved uintptr, chainCtx **CertChainContext) (err error) { r1, _, e1 := syscall.Syscall9(procCertGetCertificateChain.Addr(), 8, uintptr(engine), uintptr(unsafe.Pointer(leaf)), uintptr(unsafe.Pointer(time)), uintptr(additionalStore), uintptr(unsafe.Pointer(para)), uintptr(flags), uintptr(reserved), uintptr(unsafe.Pointer(chainCtx)), 0) if r1 == 0 { err = errnoErr(e1) } return } func CertGetNameString(certContext *CertContext, nameType uint32, flags uint32, typePara unsafe.Pointer, name *uint16, size uint32) (chars uint32) { r0, _, _ := syscall.Syscall6(procCertGetNameStringW.Addr(), 6, uintptr(unsafe.Pointer(certContext)), uintptr(nameType), uintptr(flags), uintptr(typePara), uintptr(unsafe.Pointer(name)), uintptr(size)) chars = uint32(r0) return } func CertOpenStore(storeProvider uintptr, msgAndCertEncodingType uint32, cryptProv uintptr, flags uint32, para uintptr) (handle Handle, err error) { r0, _, e1 := syscall.Syscall6(procCertOpenStore.Addr(), 5, uintptr(storeProvider), uintptr(msgAndCertEncodingType), uintptr(cryptProv), uintptr(flags), uintptr(para), 0) handle = Handle(r0) if handle == 0 { err = errnoErr(e1) } return } func CertOpenSystemStore(hprov Handle, name *uint16) (store Handle, err error) { r0, _, e1 := syscall.Syscall(procCertOpenSystemStoreW.Addr(), 2, uintptr(hprov), uintptr(unsafe.Pointer(name)), 0) store = Handle(r0) if store == 0 { err = errnoErr(e1) } return } func CertVerifyCertificateChainPolicy(policyOID uintptr, chain *CertChainContext, para *CertChainPolicyPara, status *CertChainPolicyStatus) (err error) { r1, _, e1 := syscall.Syscall6(procCertVerifyCertificateChainPolicy.Addr(), 4, uintptr(policyOID), uintptr(unsafe.Pointer(chain)), uintptr(unsafe.Pointer(para)), uintptr(unsafe.Pointer(status)), 0, 0) if r1 == 0 { err = errnoErr(e1) } return } func CryptAcquireCertificatePrivateKey(cert *CertContext, flags uint32, parameters unsafe.Pointer, cryptProvOrNCryptKey *Handle, keySpec *uint32, callerFreeProvOrNCryptKey *bool) (err error) { var _p0 uint32 if *callerFreeProvOrNCryptKey { _p0 = 1 } r1, _, e1 := syscall.Syscall6(procCryptAcquireCertificatePrivateKey.Addr(), 6, uintptr(unsafe.Pointer(cert)), uintptr(flags), uintptr(parameters), uintptr(unsafe.Pointer(cryptProvOrNCryptKey)), uintptr(unsafe.Pointer(keySpec)), uintptr(unsafe.Pointer(&_p0))) *callerFreeProvOrNCryptKey = _p0 != 0 if r1 == 0 { err = errnoErr(e1) } return } func CryptDecodeObject(encodingType uint32, structType *byte, encodedBytes *byte, lenEncodedBytes uint32, flags uint32, decoded unsafe.Pointer, decodedLen *uint32) (err error) { r1, _, e1 := syscall.Syscall9(procCryptDecodeObject.Addr(), 7, uintptr(encodingType), uintptr(unsafe.Pointer(structType)), uintptr(unsafe.Pointer(encodedBytes)), uintptr(lenEncodedBytes), uintptr(flags), uintptr(decoded), uintptr(unsafe.Pointer(decodedLen)), 0, 0) if r1 == 0 { err = errnoErr(e1) } return } func CryptProtectData(dataIn *DataBlob, name *uint16, optionalEntropy *DataBlob, reserved uintptr, promptStruct *CryptProtectPromptStruct, flags uint32, dataOut *DataBlob) (err error) { r1, _, e1 := syscall.Syscall9(procCryptProtectData.Addr(), 7, uintptr(unsafe.Pointer(dataIn)), uintptr(unsafe.Pointer(name)), uintptr(unsafe.Pointer(optionalEntropy)), uintptr(reserved), uintptr(unsafe.Pointer(promptStruct)), uintptr(flags), uintptr(unsafe.Pointer(dataOut)), 0, 0) if r1 == 0 { err = errnoErr(e1) } return } func CryptQueryObject(objectType uint32, object unsafe.Pointer, expectedContentTypeFlags uint32, expectedFormatTypeFlags uint32, flags uint32, msgAndCertEncodingType *uint32, contentType *uint32, formatType *uint32, certStore *Handle, msg *Handle, context *unsafe.Pointer) (err error) { r1, _, e1 := syscall.Syscall12(procCryptQueryObject.Addr(), 11, uintptr(objectType), uintptr(object), uintptr(expectedContentTypeFlags), uintptr(expectedFormatTypeFlags), uintptr(flags), uintptr(unsafe.Pointer(msgAndCertEncodingType)), uintptr(unsafe.Pointer(contentType)), uintptr(unsafe.Pointer(formatType)), uintptr(unsafe.Pointer(certStore)), uintptr(unsafe.Pointer(msg)), uintptr(unsafe.Pointer(context)), 0) if r1 == 0 { err = errnoErr(e1) } return } func CryptUnprotectData(dataIn *DataBlob, name **uint16, optionalEntropy *DataBlob, reserved uintptr, promptStruct *CryptProtectPromptStruct, flags uint32, dataOut *DataBlob) (err error) { r1, _, e1 := syscall.Syscall9(procCryptUnprotectData.Addr(), 7, uintptr(unsafe.Pointer(dataIn)), uintptr(unsafe.Pointer(name)), uintptr(unsafe.Pointer(optionalEntropy)), uintptr(reserved), uintptr(unsafe.Pointer(promptStruct)), uintptr(flags), uintptr(unsafe.Pointer(dataOut)), 0, 0) if r1 == 0 { err = errnoErr(e1) } return } func PFXImportCertStore(pfx *CryptDataBlob, password *uint16, flags uint32) (store Handle, err error) { r0, _, e1 := syscall.Syscall(procPFXImportCertStore.Addr(), 3, uintptr(unsafe.Pointer(pfx)), uintptr(unsafe.Pointer(password)), uintptr(flags)) store = Handle(r0) if store == 0 { err = errnoErr(e1) } return } func DnsNameCompare(name1 *uint16, name2 *uint16) (same bool) { r0, _, _ := syscall.Syscall(procDnsNameCompare_W.Addr(), 2, uintptr(unsafe.Pointer(name1)), uintptr(unsafe.Pointer(name2)), 0) same = r0 != 0 return } func DnsQuery(name string, qtype uint16, options uint32, extra *byte, qrs **DNSRecord, pr *byte) (status error) { var _p0 *uint16 _p0, status = syscall.UTF16PtrFromString(name) if status != nil { return } return _DnsQuery(_p0, qtype, options, extra, qrs, pr) } func _DnsQuery(name *uint16, qtype uint16, options uint32, extra *byte, qrs **DNSRecord, pr *byte) (status error) { r0, _, _ := syscall.Syscall6(procDnsQuery_W.Addr(), 6, uintptr(unsafe.Pointer(name)), uintptr(qtype), uintptr(options), uintptr(unsafe.Pointer(extra)), uintptr(unsafe.Pointer(qrs)), uintptr(unsafe.Pointer(pr))) if r0 != 0 { status = syscall.Errno(r0) } return } func DnsRecordListFree(rl *DNSRecord, freetype uint32) { syscall.Syscall(procDnsRecordListFree.Addr(), 2, uintptr(unsafe.Pointer(rl)), uintptr(freetype), 0) return } func DwmGetWindowAttribute(hwnd HWND, attribute uint32, value unsafe.Pointer, size uint32) (ret error) { r0, _, _ := syscall.Syscall6(procDwmGetWindowAttribute.Addr(), 4, uintptr(hwnd), uintptr(attribute), uintptr(value), uintptr(size), 0, 0) if r0 != 0 { ret = syscall.Errno(r0) } return } func DwmSetWindowAttribute(hwnd HWND, attribute uint32, value unsafe.Pointer, size uint32) (ret error) { r0, _, _ := syscall.Syscall6(procDwmSetWindowAttribute.Addr(), 4, uintptr(hwnd), uintptr(attribute), uintptr(value), uintptr(size), 0, 0) if r0 != 0 { ret = syscall.Errno(r0) } return } func GetAdaptersAddresses(family uint32, flags uint32, reserved uintptr, adapterAddresses *IpAdapterAddresses, sizePointer *uint32) (errcode error) { r0, _, _ := syscall.Syscall6(procGetAdaptersAddresses.Addr(), 5, uintptr(family), uintptr(flags), uintptr(reserved), uintptr(unsafe.Pointer(adapterAddresses)), uintptr(unsafe.Pointer(sizePointer)), 0) if r0 != 0 { errcode = syscall.Errno(r0) } return } func GetAdaptersInfo(ai *IpAdapterInfo, ol *uint32) (errcode error) { r0, _, _ := syscall.Syscall(procGetAdaptersInfo.Addr(), 2, uintptr(unsafe.Pointer(ai)), uintptr(unsafe.Pointer(ol)), 0) if r0 != 0 { errcode = syscall.Errno(r0) } return } func getBestInterfaceEx(sockaddr unsafe.Pointer, pdwBestIfIndex *uint32) (errcode error) { r0, _, _ := syscall.Syscall(procGetBestInterfaceEx.Addr(), 2, uintptr(sockaddr), uintptr(unsafe.Pointer(pdwBestIfIndex)), 0) if r0 != 0 { errcode = syscall.Errno(r0) } return } func GetIfEntry(pIfRow *MibIfRow) (errcode error) { r0, _, _ := syscall.Syscall(procGetIfEntry.Addr(), 1, uintptr(unsafe.Pointer(pIfRow)), 0, 0) if r0 != 0 { errcode = syscall.Errno(r0) } return } func AddDllDirectory(path *uint16) (cookie uintptr, err error) { r0, _, e1 := syscall.Syscall(procAddDllDirectory.Addr(), 1, uintptr(unsafe.Pointer(path)), 0, 0) cookie = uintptr(r0) if cookie == 0 { err = errnoErr(e1) } return } func AssignProcessToJobObject(job Handle, process Handle) (err error) { r1, _, e1 := syscall.Syscall(procAssignProcessToJobObject.Addr(), 2, uintptr(job), uintptr(process), 0) if r1 == 0 { err = errnoErr(e1) } return } func CancelIo(s Handle) (err error) { r1, _, e1 := syscall.Syscall(procCancelIo.Addr(), 1, uintptr(s), 0, 0) if r1 == 0 { err = errnoErr(e1) } return } func CancelIoEx(s Handle, o *Overlapped) (err error) { r1, _, e1 := syscall.Syscall(procCancelIoEx.Addr(), 2, uintptr(s), uintptr(unsafe.Pointer(o)), 0) if r1 == 0 { err = errnoErr(e1) } return } func ClearCommBreak(handle Handle) (err error) { r1, _, e1 := syscall.Syscall(procClearCommBreak.Addr(), 1, uintptr(handle), 0, 0) if r1 == 0 { err = errnoErr(e1) } return } func ClearCommError(handle Handle, lpErrors *uint32, lpStat *ComStat) (err error) { r1, _, e1 := syscall.Syscall(procClearCommError.Addr(), 3, uintptr(handle), uintptr(unsafe.Pointer(lpErrors)), uintptr(unsafe.Pointer(lpStat))) if r1 == 0 { err = errnoErr(e1) } return } func CloseHandle(handle Handle) (err error) { r1, _, e1 := syscall.Syscall(procCloseHandle.Addr(), 1, uintptr(handle), 0, 0) if r1 == 0 { err = errnoErr(e1) } return } func ClosePseudoConsole(console Handle) { syscall.Syscall(procClosePseudoConsole.Addr(), 1, uintptr(console), 0, 0) return } func ConnectNamedPipe(pipe Handle, overlapped *Overlapped) (err error) { r1, _, e1 := syscall.Syscall(procConnectNamedPipe.Addr(), 2, uintptr(pipe), uintptr(unsafe.Pointer(overlapped)), 0) if r1 == 0 { err = errnoErr(e1) } return } func CreateDirectory(path *uint16, sa *SecurityAttributes) (err error) { r1, _, e1 := syscall.Syscall(procCreateDirectoryW.Addr(), 2, uintptr(unsafe.Pointer(path)), uintptr(unsafe.Pointer(sa)), 0) if r1 == 0 { err = errnoErr(e1) } return } func CreateEventEx(eventAttrs *SecurityAttributes, name *uint16, flags uint32, desiredAccess uint32) (handle Handle, err error) { r0, _, e1 := syscall.Syscall6(procCreateEventExW.Addr(), 4, uintptr(unsafe.Pointer(eventAttrs)), uintptr(unsafe.Pointer(name)), uintptr(flags), uintptr(desiredAccess), 0, 0) handle = Handle(r0) if handle == 0 || e1 == ERROR_ALREADY_EXISTS { err = errnoErr(e1) } return } func CreateEvent(eventAttrs *SecurityAttributes, manualReset uint32, initialState uint32, name *uint16) (handle Handle, err error) { r0, _, e1 := syscall.Syscall6(procCreateEventW.Addr(), 4, uintptr(unsafe.Pointer(eventAttrs)), uintptr(manualReset), uintptr(initialState), uintptr(unsafe.Pointer(name)), 0, 0) handle = Handle(r0) if handle == 0 || e1 == ERROR_ALREADY_EXISTS { err = errnoErr(e1) } return } func CreateFileMapping(fhandle Handle, sa *SecurityAttributes, prot uint32, maxSizeHigh uint32, maxSizeLow uint32, name *uint16) (handle Handle, err error) { r0, _, e1 := syscall.Syscall6(procCreateFileMappingW.Addr(), 6, uintptr(fhandle), uintptr(unsafe.Pointer(sa)), uintptr(prot), uintptr(maxSizeHigh), uintptr(maxSizeLow), uintptr(unsafe.Pointer(name))) handle = Handle(r0) if handle == 0 || e1 == ERROR_ALREADY_EXISTS { err = errnoErr(e1) } return } func CreateFile(name *uint16, access uint32, mode uint32, sa *SecurityAttributes, createmode uint32, attrs uint32, templatefile Handle) (handle Handle, err error) { r0, _, e1 := syscall.Syscall9(procCreateFileW.Addr(), 7, uintptr(unsafe.Pointer(name)), uintptr(access), uintptr(mode), uintptr(unsafe.Pointer(sa)), uintptr(createmode), uintptr(attrs), uintptr(templatefile), 0, 0) handle = Handle(r0) if handle == InvalidHandle { err = errnoErr(e1) } return } func CreateHardLink(filename *uint16, existingfilename *uint16, reserved uintptr) (err error) { r1, _, e1 := syscall.Syscall(procCreateHardLinkW.Addr(), 3, uintptr(unsafe.Pointer(filename)), uintptr(unsafe.Pointer(existingfilename)), uintptr(reserved)) if r1&0xff == 0 { err = errnoErr(e1) } return } func CreateIoCompletionPort(filehandle Handle, cphandle Handle, key uintptr, threadcnt uint32) (handle Handle, err error) { r0, _, e1 := syscall.Syscall6(procCreateIoCompletionPort.Addr(), 4, uintptr(filehandle), uintptr(cphandle), uintptr(key), uintptr(threadcnt), 0, 0) handle = Handle(r0) if handle == 0 { err = errnoErr(e1) } return } func CreateJobObject(jobAttr *SecurityAttributes, name *uint16) (handle Handle, err error) { r0, _, e1 := syscall.Syscall(procCreateJobObjectW.Addr(), 2, uintptr(unsafe.Pointer(jobAttr)), uintptr(unsafe.Pointer(name)), 0) handle = Handle(r0) if handle == 0 { err = errnoErr(e1) } return } func CreateMutexEx(mutexAttrs *SecurityAttributes, name *uint16, flags uint32, desiredAccess uint32) (handle Handle, err error) { r0, _, e1 := syscall.Syscall6(procCreateMutexExW.Addr(), 4, uintptr(unsafe.Pointer(mutexAttrs)), uintptr(unsafe.Pointer(name)), uintptr(flags), uintptr(desiredAccess), 0, 0) handle = Handle(r0) if handle == 0 || e1 == ERROR_ALREADY_EXISTS { err = errnoErr(e1) } return } func CreateMutex(mutexAttrs *SecurityAttributes, initialOwner bool, name *uint16) (handle Handle, err error) { var _p0 uint32 if initialOwner { _p0 = 1 } r0, _, e1 := syscall.Syscall(procCreateMutexW.Addr(), 3, uintptr(unsafe.Pointer(mutexAttrs)), uintptr(_p0), uintptr(unsafe.Pointer(name))) handle = Handle(r0) if handle == 0 || e1 == ERROR_ALREADY_EXISTS { err = errnoErr(e1) } return } func CreateNamedPipe(name *uint16, flags uint32, pipeMode uint32, maxInstances uint32, outSize uint32, inSize uint32, defaultTimeout uint32, sa *SecurityAttributes) (handle Handle, err error) { r0, _, e1 := syscall.Syscall9(procCreateNamedPipeW.Addr(), 8, uintptr(unsafe.Pointer(name)), uintptr(flags), uintptr(pipeMode), uintptr(maxInstances), uintptr(outSize), uintptr(inSize), uintptr(defaultTimeout), uintptr(unsafe.Pointer(sa)), 0) handle = Handle(r0) if handle == InvalidHandle { err = errnoErr(e1) } return } func CreatePipe(readhandle *Handle, writehandle *Handle, sa *SecurityAttributes, size uint32) (err error) { r1, _, e1 := syscall.Syscall6(procCreatePipe.Addr(), 4, uintptr(unsafe.Pointer(readhandle)), uintptr(unsafe.Pointer(writehandle)), uintptr(unsafe.Pointer(sa)), uintptr(size), 0, 0) if r1 == 0 { err = errnoErr(e1) } return } func CreateProcess(appName *uint16, commandLine *uint16, procSecurity *SecurityAttributes, threadSecurity *SecurityAttributes, inheritHandles bool, creationFlags uint32, env *uint16, currentDir *uint16, startupInfo *StartupInfo, outProcInfo *ProcessInformation) (err error) { var _p0 uint32 if inheritHandles { _p0 = 1 } r1, _, e1 := syscall.Syscall12(procCreateProcessW.Addr(), 10, uintptr(unsafe.Pointer(appName)), uintptr(unsafe.Pointer(commandLine)), uintptr(unsafe.Pointer(procSecurity)), uintptr(unsafe.Pointer(threadSecurity)), uintptr(_p0), uintptr(creationFlags), uintptr(unsafe.Pointer(env)), uintptr(unsafe.Pointer(currentDir)), uintptr(unsafe.Pointer(startupInfo)), uintptr(unsafe.Pointer(outProcInfo)), 0, 0) if r1 == 0 { err = errnoErr(e1) } return } func createPseudoConsole(size uint32, in Handle, out Handle, flags uint32, pconsole *Handle) (hr error) { r0, _, _ := syscall.Syscall6(procCreatePseudoConsole.Addr(), 5, uintptr(size), uintptr(in), uintptr(out), uintptr(flags), uintptr(unsafe.Pointer(pconsole)), 0) if r0 != 0 { hr = syscall.Errno(r0) } return } func CreateSymbolicLink(symlinkfilename *uint16, targetfilename *uint16, flags uint32) (err error) { r1, _, e1 := syscall.Syscall(procCreateSymbolicLinkW.Addr(), 3, uintptr(unsafe.Pointer(symlinkfilename)), uintptr(unsafe.Pointer(targetfilename)), uintptr(flags)) if r1&0xff == 0 { err = errnoErr(e1) } return } func CreateToolhelp32Snapshot(flags uint32, processId uint32) (handle Handle, err error) { r0, _, e1 := syscall.Syscall(procCreateToolhelp32Snapshot.Addr(), 2, uintptr(flags), uintptr(processId), 0) handle = Handle(r0) if handle == InvalidHandle { err = errnoErr(e1) } return } func DefineDosDevice(flags uint32, deviceName *uint16, targetPath *uint16) (err error) { r1, _, e1 := syscall.Syscall(procDefineDosDeviceW.Addr(), 3, uintptr(flags), uintptr(unsafe.Pointer(deviceName)), uintptr(unsafe.Pointer(targetPath))) if r1 == 0 { err = errnoErr(e1) } return } func DeleteFile(path *uint16) (err error) { r1, _, e1 := syscall.Syscall(procDeleteFileW.Addr(), 1, uintptr(unsafe.Pointer(path)), 0, 0) if r1 == 0 { err = errnoErr(e1) } return } func deleteProcThreadAttributeList(attrlist *ProcThreadAttributeList) { syscall.Syscall(procDeleteProcThreadAttributeList.Addr(), 1, uintptr(unsafe.Pointer(attrlist)), 0, 0) return } func DeleteVolumeMountPoint(volumeMountPoint *uint16) (err error) { r1, _, e1 := syscall.Syscall(procDeleteVolumeMountPointW.Addr(), 1, uintptr(unsafe.Pointer(volumeMountPoint)), 0, 0) if r1 == 0 { err = errnoErr(e1) } return } func DeviceIoControl(handle Handle, ioControlCode uint32, inBuffer *byte, inBufferSize uint32, outBuffer *byte, outBufferSize uint32, bytesReturned *uint32, overlapped *Overlapped) (err error) { r1, _, e1 := syscall.Syscall9(procDeviceIoControl.Addr(), 8, uintptr(handle), uintptr(ioControlCode), uintptr(unsafe.Pointer(inBuffer)), uintptr(inBufferSize), uintptr(unsafe.Pointer(outBuffer)), uintptr(outBufferSize), uintptr(unsafe.Pointer(bytesReturned)), uintptr(unsafe.Pointer(overlapped)), 0) if r1 == 0 { err = errnoErr(e1) } return } func DisconnectNamedPipe(pipe Handle) (err error) { r1, _, e1 := syscall.Syscall(procDisconnectNamedPipe.Addr(), 1, uintptr(pipe), 0, 0) if r1 == 0 { err = errnoErr(e1) } return } func DuplicateHandle(hSourceProcessHandle Handle, hSourceHandle Handle, hTargetProcessHandle Handle, lpTargetHandle *Handle, dwDesiredAccess uint32, bInheritHandle bool, dwOptions uint32) (err error) { var _p0 uint32 if bInheritHandle { _p0 = 1 } r1, _, e1 := syscall.Syscall9(procDuplicateHandle.Addr(), 7, uintptr(hSourceProcessHandle), uintptr(hSourceHandle), uintptr(hTargetProcessHandle), uintptr(unsafe.Pointer(lpTargetHandle)), uintptr(dwDesiredAccess), uintptr(_p0), uintptr(dwOptions), 0, 0) if r1 == 0 { err = errnoErr(e1) } return } func EscapeCommFunction(handle Handle, dwFunc uint32) (err error) { r1, _, e1 := syscall.Syscall(procEscapeCommFunction.Addr(), 2, uintptr(handle), uintptr(dwFunc), 0) if r1 == 0 { err = errnoErr(e1) } return } func ExitProcess(exitcode uint32) { syscall.Syscall(procExitProcess.Addr(), 1, uintptr(exitcode), 0, 0) return } func ExpandEnvironmentStrings(src *uint16, dst *uint16, size uint32) (n uint32, err error) { r0, _, e1 := syscall.Syscall(procExpandEnvironmentStringsW.Addr(), 3, uintptr(unsafe.Pointer(src)), uintptr(unsafe.Pointer(dst)), uintptr(size)) n = uint32(r0) if n == 0 { err = errnoErr(e1) } return } func FindClose(handle Handle) (err error) { r1, _, e1 := syscall.Syscall(procFindClose.Addr(), 1, uintptr(handle), 0, 0) if r1 == 0 { err = errnoErr(e1) } return } func FindCloseChangeNotification(handle Handle) (err error) { r1, _, e1 := syscall.Syscall(procFindCloseChangeNotification.Addr(), 1, uintptr(handle), 0, 0) if r1 == 0 { err = errnoErr(e1) } return } func FindFirstChangeNotification(path string, watchSubtree bool, notifyFilter uint32) (handle Handle, err error) { var _p0 *uint16 _p0, err = syscall.UTF16PtrFromString(path) if err != nil { return } return _FindFirstChangeNotification(_p0, watchSubtree, notifyFilter) } func _FindFirstChangeNotification(path *uint16, watchSubtree bool, notifyFilter uint32) (handle Handle, err error) { var _p1 uint32 if watchSubtree { _p1 = 1 } r0, _, e1 := syscall.Syscall(procFindFirstChangeNotificationW.Addr(), 3, uintptr(unsafe.Pointer(path)), uintptr(_p1), uintptr(notifyFilter)) handle = Handle(r0) if handle == InvalidHandle { err = errnoErr(e1) } return } func findFirstFile1(name *uint16, data *win32finddata1) (handle Handle, err error) { r0, _, e1 := syscall.Syscall(procFindFirstFileW.Addr(), 2, uintptr(unsafe.Pointer(name)), uintptr(unsafe.Pointer(data)), 0) handle = Handle(r0) if handle == InvalidHandle { err = errnoErr(e1) } return } func FindFirstVolumeMountPoint(rootPathName *uint16, volumeMountPoint *uint16, bufferLength uint32) (handle Handle, err error) { r0, _, e1 := syscall.Syscall(procFindFirstVolumeMountPointW.Addr(), 3, uintptr(unsafe.Pointer(rootPathName)), uintptr(unsafe.Pointer(volumeMountPoint)), uintptr(bufferLength)) handle = Handle(r0) if handle == InvalidHandle { err = errnoErr(e1) } return } func FindFirstVolume(volumeName *uint16, bufferLength uint32) (handle Handle, err error) { r0, _, e1 := syscall.Syscall(procFindFirstVolumeW.Addr(), 2, uintptr(unsafe.Pointer(volumeName)), uintptr(bufferLength), 0) handle = Handle(r0) if handle == InvalidHandle { err = errnoErr(e1) } return } func FindNextChangeNotification(handle Handle) (err error) { r1, _, e1 := syscall.Syscall(procFindNextChangeNotification.Addr(), 1, uintptr(handle), 0, 0) if r1 == 0 { err = errnoErr(e1) } return } func findNextFile1(handle Handle, data *win32finddata1) (err error) { r1, _, e1 := syscall.Syscall(procFindNextFileW.Addr(), 2, uintptr(handle), uintptr(unsafe.Pointer(data)), 0) if r1 == 0 { err = errnoErr(e1) } return } func FindNextVolumeMountPoint(findVolumeMountPoint Handle, volumeMountPoint *uint16, bufferLength uint32) (err error) { r1, _, e1 := syscall.Syscall(procFindNextVolumeMountPointW.Addr(), 3, uintptr(findVolumeMountPoint), uintptr(unsafe.Pointer(volumeMountPoint)), uintptr(bufferLength)) if r1 == 0 { err = errnoErr(e1) } return } func FindNextVolume(findVolume Handle, volumeName *uint16, bufferLength uint32) (err error) { r1, _, e1 := syscall.Syscall(procFindNextVolumeW.Addr(), 3, uintptr(findVolume), uintptr(unsafe.Pointer(volumeName)), uintptr(bufferLength)) if r1 == 0 { err = errnoErr(e1) } return } func findResource(module Handle, name uintptr, resType uintptr) (resInfo Handle, err error) { r0, _, e1 := syscall.Syscall(procFindResourceW.Addr(), 3, uintptr(module), uintptr(name), uintptr(resType)) resInfo = Handle(r0) if resInfo == 0 { err = errnoErr(e1) } return } func FindVolumeClose(findVolume Handle) (err error) { r1, _, e1 := syscall.Syscall(procFindVolumeClose.Addr(), 1, uintptr(findVolume), 0, 0) if r1 == 0 { err = errnoErr(e1) } return } func FindVolumeMountPointClose(findVolumeMountPoint Handle) (err error) { r1, _, e1 := syscall.Syscall(procFindVolumeMountPointClose.Addr(), 1, uintptr(findVolumeMountPoint), 0, 0) if r1 == 0 { err = errnoErr(e1) } return } func FlushFileBuffers(handle Handle) (err error) { r1, _, e1 := syscall.Syscall(procFlushFileBuffers.Addr(), 1, uintptr(handle), 0, 0) if r1 == 0 { err = errnoErr(e1) } return } func FlushViewOfFile(addr uintptr, length uintptr) (err error) { r1, _, e1 := syscall.Syscall(procFlushViewOfFile.Addr(), 2, uintptr(addr), uintptr(length), 0) if r1 == 0 { err = errnoErr(e1) } return } func FormatMessage(flags uint32, msgsrc uintptr, msgid uint32, langid uint32, buf []uint16, args *byte) (n uint32, err error) { var _p0 *uint16 if len(buf) > 0 { _p0 = &buf[0] } r0, _, e1 := syscall.Syscall9(procFormatMessageW.Addr(), 7, uintptr(flags), uintptr(msgsrc), uintptr(msgid), uintptr(langid), uintptr(unsafe.Pointer(_p0)), uintptr(len(buf)), uintptr(unsafe.Pointer(args)), 0, 0) n = uint32(r0) if n == 0 { err = errnoErr(e1) } return } func FreeEnvironmentStrings(envs *uint16) (err error) { r1, _, e1 := syscall.Syscall(procFreeEnvironmentStringsW.Addr(), 1, uintptr(unsafe.Pointer(envs)), 0, 0) if r1 == 0 { err = errnoErr(e1) } return } func FreeLibrary(handle Handle) (err error) { r1, _, e1 := syscall.Syscall(procFreeLibrary.Addr(), 1, uintptr(handle), 0, 0) if r1 == 0 { err = errnoErr(e1) } return } func GenerateConsoleCtrlEvent(ctrlEvent uint32, processGroupID uint32) (err error) { r1, _, e1 := syscall.Syscall(procGenerateConsoleCtrlEvent.Addr(), 2, uintptr(ctrlEvent), uintptr(processGroupID), 0) if r1 == 0 { err = errnoErr(e1) } return } func GetACP() (acp uint32) { r0, _, _ := syscall.Syscall(procGetACP.Addr(), 0, 0, 0, 0) acp = uint32(r0) return } func GetActiveProcessorCount(groupNumber uint16) (ret uint32) { r0, _, _ := syscall.Syscall(procGetActiveProcessorCount.Addr(), 1, uintptr(groupNumber), 0, 0) ret = uint32(r0) return } func GetCommModemStatus(handle Handle, lpModemStat *uint32) (err error) { r1, _, e1 := syscall.Syscall(procGetCommModemStatus.Addr(), 2, uintptr(handle), uintptr(unsafe.Pointer(lpModemStat)), 0) if r1 == 0 { err = errnoErr(e1) } return } func GetCommState(handle Handle, lpDCB *DCB) (err error) { r1, _, e1 := syscall.Syscall(procGetCommState.Addr(), 2, uintptr(handle), uintptr(unsafe.Pointer(lpDCB)), 0) if r1 == 0 { err = errnoErr(e1) } return } func GetCommTimeouts(handle Handle, timeouts *CommTimeouts) (err error) { r1, _, e1 := syscall.Syscall(procGetCommTimeouts.Addr(), 2, uintptr(handle), uintptr(unsafe.Pointer(timeouts)), 0) if r1 == 0 { err = errnoErr(e1) } return } func GetCommandLine() (cmd *uint16) { r0, _, _ := syscall.Syscall(procGetCommandLineW.Addr(), 0, 0, 0, 0) cmd = (*uint16)(unsafe.Pointer(r0)) return } func GetComputerNameEx(nametype uint32, buf *uint16, n *uint32) (err error) { r1, _, e1 := syscall.Syscall(procGetComputerNameExW.Addr(), 3, uintptr(nametype), uintptr(unsafe.Pointer(buf)), uintptr(unsafe.Pointer(n))) if r1 == 0 { err = errnoErr(e1) } return } func GetComputerName(buf *uint16, n *uint32) (err error) { r1, _, e1 := syscall.Syscall(procGetComputerNameW.Addr(), 2, uintptr(unsafe.Pointer(buf)), uintptr(unsafe.Pointer(n)), 0) if r1 == 0 { err = errnoErr(e1) } return } func GetConsoleCP() (cp uint32, err error) { r0, _, e1 := syscall.Syscall(procGetConsoleCP.Addr(), 0, 0, 0, 0) cp = uint32(r0) if cp == 0 { err = errnoErr(e1) } return } func GetConsoleMode(console Handle, mode *uint32) (err error) { r1, _, e1 := syscall.Syscall(procGetConsoleMode.Addr(), 2, uintptr(console), uintptr(unsafe.Pointer(mode)), 0) if r1 == 0 { err = errnoErr(e1) } return } func GetConsoleOutputCP() (cp uint32, err error) { r0, _, e1 := syscall.Syscall(procGetConsoleOutputCP.Addr(), 0, 0, 0, 0) cp = uint32(r0) if cp == 0 { err = errnoErr(e1) } return } func GetConsoleScreenBufferInfo(console Handle, info *ConsoleScreenBufferInfo) (err error) { r1, _, e1 := syscall.Syscall(procGetConsoleScreenBufferInfo.Addr(), 2, uintptr(console), uintptr(unsafe.Pointer(info)), 0) if r1 == 0 { err = errnoErr(e1) } return } func GetCurrentDirectory(buflen uint32, buf *uint16) (n uint32, err error) { r0, _, e1 := syscall.Syscall(procGetCurrentDirectoryW.Addr(), 2, uintptr(buflen), uintptr(unsafe.Pointer(buf)), 0) n = uint32(r0) if n == 0 { err = errnoErr(e1) } return } func GetCurrentProcessId() (pid uint32) { r0, _, _ := syscall.Syscall(procGetCurrentProcessId.Addr(), 0, 0, 0, 0) pid = uint32(r0) return } func GetCurrentThreadId() (id uint32) { r0, _, _ := syscall.Syscall(procGetCurrentThreadId.Addr(), 0, 0, 0, 0) id = uint32(r0) return } func GetDiskFreeSpaceEx(directoryName *uint16, freeBytesAvailableToCaller *uint64, totalNumberOfBytes *uint64, totalNumberOfFreeBytes *uint64) (err error) { r1, _, e1 := syscall.Syscall6(procGetDiskFreeSpaceExW.Addr(), 4, uintptr(unsafe.Pointer(directoryName)), uintptr(unsafe.Pointer(freeBytesAvailableToCaller)), uintptr(unsafe.Pointer(totalNumberOfBytes)), uintptr(unsafe.Pointer(totalNumberOfFreeBytes)), 0, 0) if r1 == 0 { err = errnoErr(e1) } return } func GetDriveType(rootPathName *uint16) (driveType uint32) { r0, _, _ := syscall.Syscall(procGetDriveTypeW.Addr(), 1, uintptr(unsafe.Pointer(rootPathName)), 0, 0) driveType = uint32(r0) return } func GetEnvironmentStrings() (envs *uint16, err error) { r0, _, e1 := syscall.Syscall(procGetEnvironmentStringsW.Addr(), 0, 0, 0, 0) envs = (*uint16)(unsafe.Pointer(r0)) if envs == nil { err = errnoErr(e1) } return } func GetEnvironmentVariable(name *uint16, buffer *uint16, size uint32) (n uint32, err error) { r0, _, e1 := syscall.Syscall(procGetEnvironmentVariableW.Addr(), 3, uintptr(unsafe.Pointer(name)), uintptr(unsafe.Pointer(buffer)), uintptr(size)) n = uint32(r0) if n == 0 { err = errnoErr(e1) } return } func GetExitCodeProcess(handle Handle, exitcode *uint32) (err error) { r1, _, e1 := syscall.Syscall(procGetExitCodeProcess.Addr(), 2, uintptr(handle), uintptr(unsafe.Pointer(exitcode)), 0) if r1 == 0 { err = errnoErr(e1) } return } func GetFileAttributesEx(name *uint16, level uint32, info *byte) (err error) { r1, _, e1 := syscall.Syscall(procGetFileAttributesExW.Addr(), 3, uintptr(unsafe.Pointer(name)), uintptr(level), uintptr(unsafe.Pointer(info))) if r1 == 0 { err = errnoErr(e1) } return } func GetFileAttributes(name *uint16) (attrs uint32, err error) { r0, _, e1 := syscall.Syscall(procGetFileAttributesW.Addr(), 1, uintptr(unsafe.Pointer(name)), 0, 0) attrs = uint32(r0) if attrs == INVALID_FILE_ATTRIBUTES { err = errnoErr(e1) } return } func GetFileInformationByHandle(handle Handle, data *ByHandleFileInformation) (err error) { r1, _, e1 := syscall.Syscall(procGetFileInformationByHandle.Addr(), 2, uintptr(handle), uintptr(unsafe.Pointer(data)), 0) if r1 == 0 { err = errnoErr(e1) } return } func GetFileInformationByHandleEx(handle Handle, class uint32, outBuffer *byte, outBufferLen uint32) (err error) { r1, _, e1 := syscall.Syscall6(procGetFileInformationByHandleEx.Addr(), 4, uintptr(handle), uintptr(class), uintptr(unsafe.Pointer(outBuffer)), uintptr(outBufferLen), 0, 0) if r1 == 0 { err = errnoErr(e1) } return } func GetFileTime(handle Handle, ctime *Filetime, atime *Filetime, wtime *Filetime) (err error) { r1, _, e1 := syscall.Syscall6(procGetFileTime.Addr(), 4, uintptr(handle), uintptr(unsafe.Pointer(ctime)), uintptr(unsafe.Pointer(atime)), uintptr(unsafe.Pointer(wtime)), 0, 0) if r1 == 0 { err = errnoErr(e1) } return } func GetFileType(filehandle Handle) (n uint32, err error) { r0, _, e1 := syscall.Syscall(procGetFileType.Addr(), 1, uintptr(filehandle), 0, 0) n = uint32(r0) if n == 0 { err = errnoErr(e1) } return } func GetFinalPathNameByHandle(file Handle, filePath *uint16, filePathSize uint32, flags uint32) (n uint32, err error) { r0, _, e1 := syscall.Syscall6(procGetFinalPathNameByHandleW.Addr(), 4, uintptr(file), uintptr(unsafe.Pointer(filePath)), uintptr(filePathSize), uintptr(flags), 0, 0) n = uint32(r0) if n == 0 { err = errnoErr(e1) } return } func GetFullPathName(path *uint16, buflen uint32, buf *uint16, fname **uint16) (n uint32, err error) { r0, _, e1 := syscall.Syscall6(procGetFullPathNameW.Addr(), 4, uintptr(unsafe.Pointer(path)), uintptr(buflen), uintptr(unsafe.Pointer(buf)), uintptr(unsafe.Pointer(fname)), 0, 0) n = uint32(r0) if n == 0 { err = errnoErr(e1) } return } func GetLargePageMinimum() (size uintptr) { r0, _, _ := syscall.Syscall(procGetLargePageMinimum.Addr(), 0, 0, 0, 0) size = uintptr(r0) return } func GetLastError() (lasterr error) { r0, _, _ := syscall.Syscall(procGetLastError.Addr(), 0, 0, 0, 0) if r0 != 0 { lasterr = syscall.Errno(r0) } return } func GetLogicalDriveStrings(bufferLength uint32, buffer *uint16) (n uint32, err error) { r0, _, e1 := syscall.Syscall(procGetLogicalDriveStringsW.Addr(), 2, uintptr(bufferLength), uintptr(unsafe.Pointer(buffer)), 0) n = uint32(r0) if n == 0 { err = errnoErr(e1) } return } func GetLogicalDrives() (drivesBitMask uint32, err error) { r0, _, e1 := syscall.Syscall(procGetLogicalDrives.Addr(), 0, 0, 0, 0) drivesBitMask = uint32(r0) if drivesBitMask == 0 { err = errnoErr(e1) } return } func GetLongPathName(path *uint16, buf *uint16, buflen uint32) (n uint32, err error) { r0, _, e1 := syscall.Syscall(procGetLongPathNameW.Addr(), 3, uintptr(unsafe.Pointer(path)), uintptr(unsafe.Pointer(buf)), uintptr(buflen)) n = uint32(r0) if n == 0 { err = errnoErr(e1) } return } func GetMaximumProcessorCount(groupNumber uint16) (ret uint32) { r0, _, _ := syscall.Syscall(procGetMaximumProcessorCount.Addr(), 1, uintptr(groupNumber), 0, 0) ret = uint32(r0) return } func GetModuleFileName(module Handle, filename *uint16, size uint32) (n uint32, err error) { r0, _, e1 := syscall.Syscall(procGetModuleFileNameW.Addr(), 3, uintptr(module), uintptr(unsafe.Pointer(filename)), uintptr(size)) n = uint32(r0) if n == 0 { err = errnoErr(e1) } return } func GetModuleHandleEx(flags uint32, moduleName *uint16, module *Handle) (err error) { r1, _, e1 := syscall.Syscall(procGetModuleHandleExW.Addr(), 3, uintptr(flags), uintptr(unsafe.Pointer(moduleName)), uintptr(unsafe.Pointer(module))) if r1 == 0 { err = errnoErr(e1) } return } func GetNamedPipeHandleState(pipe Handle, state *uint32, curInstances *uint32, maxCollectionCount *uint32, collectDataTimeout *uint32, userName *uint16, maxUserNameSize uint32) (err error) { r1, _, e1 := syscall.Syscall9(procGetNamedPipeHandleStateW.Addr(), 7, uintptr(pipe), uintptr(unsafe.Pointer(state)), uintptr(unsafe.Pointer(curInstances)), uintptr(unsafe.Pointer(maxCollectionCount)), uintptr(unsafe.Pointer(collectDataTimeout)), uintptr(unsafe.Pointer(userName)), uintptr(maxUserNameSize), 0, 0) if r1 == 0 { err = errnoErr(e1) } return } func GetNamedPipeInfo(pipe Handle, flags *uint32, outSize *uint32, inSize *uint32, maxInstances *uint32) (err error) { r1, _, e1 := syscall.Syscall6(procGetNamedPipeInfo.Addr(), 5, uintptr(pipe), uintptr(unsafe.Pointer(flags)), uintptr(unsafe.Pointer(outSize)), uintptr(unsafe.Pointer(inSize)), uintptr(unsafe.Pointer(maxInstances)), 0) if r1 == 0 { err = errnoErr(e1) } return } func GetOverlappedResult(handle Handle, overlapped *Overlapped, done *uint32, wait bool) (err error) { var _p0 uint32 if wait { _p0 = 1 } r1, _, e1 := syscall.Syscall6(procGetOverlappedResult.Addr(), 4, uintptr(handle), uintptr(unsafe.Pointer(overlapped)), uintptr(unsafe.Pointer(done)), uintptr(_p0), 0, 0) if r1 == 0 { err = errnoErr(e1) } return } func GetPriorityClass(process Handle) (ret uint32, err error) { r0, _, e1 := syscall.Syscall(procGetPriorityClass.Addr(), 1, uintptr(process), 0, 0) ret = uint32(r0) if ret == 0 { err = errnoErr(e1) } return } func GetProcAddress(module Handle, procname string) (proc uintptr, err error) { var _p0 *byte _p0, err = syscall.BytePtrFromString(procname) if err != nil { return } return _GetProcAddress(module, _p0) } func _GetProcAddress(module Handle, procname *byte) (proc uintptr, err error) { r0, _, e1 := syscall.Syscall(procGetProcAddress.Addr(), 2, uintptr(module), uintptr(unsafe.Pointer(procname)), 0) proc = uintptr(r0) if proc == 0 { err = errnoErr(e1) } return } func GetProcessId(process Handle) (id uint32, err error) { r0, _, e1 := syscall.Syscall(procGetProcessId.Addr(), 1, uintptr(process), 0, 0) id = uint32(r0) if id == 0 { err = errnoErr(e1) } return } func getProcessPreferredUILanguages(flags uint32, numLanguages *uint32, buf *uint16, bufSize *uint32) (err error) { r1, _, e1 := syscall.Syscall6(procGetProcessPreferredUILanguages.Addr(), 4, uintptr(flags), uintptr(unsafe.Pointer(numLanguages)), uintptr(unsafe.Pointer(buf)), uintptr(unsafe.Pointer(bufSize)), 0, 0) if r1 == 0 { err = errnoErr(e1) } return } func GetProcessShutdownParameters(level *uint32, flags *uint32) (err error) { r1, _, e1 := syscall.Syscall(procGetProcessShutdownParameters.Addr(), 2, uintptr(unsafe.Pointer(level)), uintptr(unsafe.Pointer(flags)), 0) if r1 == 0 { err = errnoErr(e1) } return } func GetProcessTimes(handle Handle, creationTime *Filetime, exitTime *Filetime, kernelTime *Filetime, userTime *Filetime) (err error) { r1, _, e1 := syscall.Syscall6(procGetProcessTimes.Addr(), 5, uintptr(handle), uintptr(unsafe.Pointer(creationTime)), uintptr(unsafe.Pointer(exitTime)), uintptr(unsafe.Pointer(kernelTime)), uintptr(unsafe.Pointer(userTime)), 0) if r1 == 0 { err = errnoErr(e1) } return } func GetProcessWorkingSetSizeEx(hProcess Handle, lpMinimumWorkingSetSize *uintptr, lpMaximumWorkingSetSize *uintptr, flags *uint32) { syscall.Syscall6(procGetProcessWorkingSetSizeEx.Addr(), 4, uintptr(hProcess), uintptr(unsafe.Pointer(lpMinimumWorkingSetSize)), uintptr(unsafe.Pointer(lpMaximumWorkingSetSize)), uintptr(unsafe.Pointer(flags)), 0, 0) return } func GetQueuedCompletionStatus(cphandle Handle, qty *uint32, key *uintptr, overlapped **Overlapped, timeout uint32) (err error) { r1, _, e1 := syscall.Syscall6(procGetQueuedCompletionStatus.Addr(), 5, uintptr(cphandle), uintptr(unsafe.Pointer(qty)), uintptr(unsafe.Pointer(key)), uintptr(unsafe.Pointer(overlapped)), uintptr(timeout), 0) if r1 == 0 { err = errnoErr(e1) } return } func GetShortPathName(longpath *uint16, shortpath *uint16, buflen uint32) (n uint32, err error) { r0, _, e1 := syscall.Syscall(procGetShortPathNameW.Addr(), 3, uintptr(unsafe.Pointer(longpath)), uintptr(unsafe.Pointer(shortpath)), uintptr(buflen)) n = uint32(r0) if n == 0 { err = errnoErr(e1) } return } func getStartupInfo(startupInfo *StartupInfo) { syscall.Syscall(procGetStartupInfoW.Addr(), 1, uintptr(unsafe.Pointer(startupInfo)), 0, 0) return } func GetStdHandle(stdhandle uint32) (handle Handle, err error) { r0, _, e1 := syscall.Syscall(procGetStdHandle.Addr(), 1, uintptr(stdhandle), 0, 0) handle = Handle(r0) if handle == InvalidHandle { err = errnoErr(e1) } return } func getSystemDirectory(dir *uint16, dirLen uint32) (len uint32, err error) { r0, _, e1 := syscall.Syscall(procGetSystemDirectoryW.Addr(), 2, uintptr(unsafe.Pointer(dir)), uintptr(dirLen), 0) len = uint32(r0) if len == 0 { err = errnoErr(e1) } return } func getSystemPreferredUILanguages(flags uint32, numLanguages *uint32, buf *uint16, bufSize *uint32) (err error) { r1, _, e1 := syscall.Syscall6(procGetSystemPreferredUILanguages.Addr(), 4, uintptr(flags), uintptr(unsafe.Pointer(numLanguages)), uintptr(unsafe.Pointer(buf)), uintptr(unsafe.Pointer(bufSize)), 0, 0) if r1 == 0 { err = errnoErr(e1) } return } func GetSystemTimeAsFileTime(time *Filetime) { syscall.Syscall(procGetSystemTimeAsFileTime.Addr(), 1, uintptr(unsafe.Pointer(time)), 0, 0) return } func GetSystemTimePreciseAsFileTime(time *Filetime) { syscall.Syscall(procGetSystemTimePreciseAsFileTime.Addr(), 1, uintptr(unsafe.Pointer(time)), 0, 0) return } func getSystemWindowsDirectory(dir *uint16, dirLen uint32) (len uint32, err error) { r0, _, e1 := syscall.Syscall(procGetSystemWindowsDirectoryW.Addr(), 2, uintptr(unsafe.Pointer(dir)), uintptr(dirLen), 0) len = uint32(r0) if len == 0 { err = errnoErr(e1) } return } func GetTempPath(buflen uint32, buf *uint16) (n uint32, err error) { r0, _, e1 := syscall.Syscall(procGetTempPathW.Addr(), 2, uintptr(buflen), uintptr(unsafe.Pointer(buf)), 0) n = uint32(r0) if n == 0 { err = errnoErr(e1) } return } func getThreadPreferredUILanguages(flags uint32, numLanguages *uint32, buf *uint16, bufSize *uint32) (err error) { r1, _, e1 := syscall.Syscall6(procGetThreadPreferredUILanguages.Addr(), 4, uintptr(flags), uintptr(unsafe.Pointer(numLanguages)), uintptr(unsafe.Pointer(buf)), uintptr(unsafe.Pointer(bufSize)), 0, 0) if r1 == 0 { err = errnoErr(e1) } return } func getTickCount64() (ms uint64) { r0, _, _ := syscall.Syscall(procGetTickCount64.Addr(), 0, 0, 0, 0) ms = uint64(r0) return } func GetTimeZoneInformation(tzi *Timezoneinformation) (rc uint32, err error) { r0, _, e1 := syscall.Syscall(procGetTimeZoneInformation.Addr(), 1, uintptr(unsafe.Pointer(tzi)), 0, 0) rc = uint32(r0) if rc == 0xffffffff { err = errnoErr(e1) } return } func getUserPreferredUILanguages(flags uint32, numLanguages *uint32, buf *uint16, bufSize *uint32) (err error) { r1, _, e1 := syscall.Syscall6(procGetUserPreferredUILanguages.Addr(), 4, uintptr(flags), uintptr(unsafe.Pointer(numLanguages)), uintptr(unsafe.Pointer(buf)), uintptr(unsafe.Pointer(bufSize)), 0, 0) if r1 == 0 { err = errnoErr(e1) } return } func GetVersion() (ver uint32, err error) { r0, _, e1 := syscall.Syscall(procGetVersion.Addr(), 0, 0, 0, 0) ver = uint32(r0) if ver == 0 { err = errnoErr(e1) } return } func GetVolumeInformationByHandle(file Handle, volumeNameBuffer *uint16, volumeNameSize uint32, volumeNameSerialNumber *uint32, maximumComponentLength *uint32, fileSystemFlags *uint32, fileSystemNameBuffer *uint16, fileSystemNameSize uint32) (err error) { r1, _, e1 := syscall.Syscall9(procGetVolumeInformationByHandleW.Addr(), 8, uintptr(file), uintptr(unsafe.Pointer(volumeNameBuffer)), uintptr(volumeNameSize), uintptr(unsafe.Pointer(volumeNameSerialNumber)), uintptr(unsafe.Pointer(maximumComponentLength)), uintptr(unsafe.Pointer(fileSystemFlags)), uintptr(unsafe.Pointer(fileSystemNameBuffer)), uintptr(fileSystemNameSize), 0) if r1 == 0 { err = errnoErr(e1) } return } func GetVolumeInformation(rootPathName *uint16, volumeNameBuffer *uint16, volumeNameSize uint32, volumeNameSerialNumber *uint32, maximumComponentLength *uint32, fileSystemFlags *uint32, fileSystemNameBuffer *uint16, fileSystemNameSize uint32) (err error) { r1, _, e1 := syscall.Syscall9(procGetVolumeInformationW.Addr(), 8, uintptr(unsafe.Pointer(rootPathName)), uintptr(unsafe.Pointer(volumeNameBuffer)), uintptr(volumeNameSize), uintptr(unsafe.Pointer(volumeNameSerialNumber)), uintptr(unsafe.Pointer(maximumComponentLength)), uintptr(unsafe.Pointer(fileSystemFlags)), uintptr(unsafe.Pointer(fileSystemNameBuffer)), uintptr(fileSystemNameSize), 0) if r1 == 0 { err = errnoErr(e1) } return } func GetVolumeNameForVolumeMountPoint(volumeMountPoint *uint16, volumeName *uint16, bufferlength uint32) (err error) { r1, _, e1 := syscall.Syscall(procGetVolumeNameForVolumeMountPointW.Addr(), 3, uintptr(unsafe.Pointer(volumeMountPoint)), uintptr(unsafe.Pointer(volumeName)), uintptr(bufferlength)) if r1 == 0 { err = errnoErr(e1) } return } func GetVolumePathName(fileName *uint16, volumePathName *uint16, bufferLength uint32) (err error) { r1, _, e1 := syscall.Syscall(procGetVolumePathNameW.Addr(), 3, uintptr(unsafe.Pointer(fileName)), uintptr(unsafe.Pointer(volumePathName)), uintptr(bufferLength)) if r1 == 0 { err = errnoErr(e1) } return } func GetVolumePathNamesForVolumeName(volumeName *uint16, volumePathNames *uint16, bufferLength uint32, returnLength *uint32) (err error) { r1, _, e1 := syscall.Syscall6(procGetVolumePathNamesForVolumeNameW.Addr(), 4, uintptr(unsafe.Pointer(volumeName)), uintptr(unsafe.Pointer(volumePathNames)), uintptr(bufferLength), uintptr(unsafe.Pointer(returnLength)), 0, 0) if r1 == 0 { err = errnoErr(e1) } return } func getWindowsDirectory(dir *uint16, dirLen uint32) (len uint32, err error) { r0, _, e1 := syscall.Syscall(procGetWindowsDirectoryW.Addr(), 2, uintptr(unsafe.Pointer(dir)), uintptr(dirLen), 0) len = uint32(r0) if len == 0 { err = errnoErr(e1) } return } func initializeProcThreadAttributeList(attrlist *ProcThreadAttributeList, attrcount uint32, flags uint32, size *uintptr) (err error) { r1, _, e1 := syscall.Syscall6(procInitializeProcThreadAttributeList.Addr(), 4, uintptr(unsafe.Pointer(attrlist)), uintptr(attrcount), uintptr(flags), uintptr(unsafe.Pointer(size)), 0, 0) if r1 == 0 { err = errnoErr(e1) } return } func IsWow64Process(handle Handle, isWow64 *bool) (err error) { var _p0 uint32 if *isWow64 { _p0 = 1 } r1, _, e1 := syscall.Syscall(procIsWow64Process.Addr(), 2, uintptr(handle), uintptr(unsafe.Pointer(&_p0)), 0) *isWow64 = _p0 != 0 if r1 == 0 { err = errnoErr(e1) } return } func IsWow64Process2(handle Handle, processMachine *uint16, nativeMachine *uint16) (err error) { err = procIsWow64Process2.Find() if err != nil { return } r1, _, e1 := syscall.Syscall(procIsWow64Process2.Addr(), 3, uintptr(handle), uintptr(unsafe.Pointer(processMachine)), uintptr(unsafe.Pointer(nativeMachine))) if r1 == 0 { err = errnoErr(e1) } return } func LoadLibraryEx(libname string, zero Handle, flags uintptr) (handle Handle, err error) { var _p0 *uint16 _p0, err = syscall.UTF16PtrFromString(libname) if err != nil { return } return _LoadLibraryEx(_p0, zero, flags) } func _LoadLibraryEx(libname *uint16, zero Handle, flags uintptr) (handle Handle, err error) { r0, _, e1 := syscall.Syscall(procLoadLibraryExW.Addr(), 3, uintptr(unsafe.Pointer(libname)), uintptr(zero), uintptr(flags)) handle = Handle(r0) if handle == 0 { err = errnoErr(e1) } return } func LoadLibrary(libname string) (handle Handle, err error) { var _p0 *uint16 _p0, err = syscall.UTF16PtrFromString(libname) if err != nil { return } return _LoadLibrary(_p0) } func _LoadLibrary(libname *uint16) (handle Handle, err error) { r0, _, e1 := syscall.Syscall(procLoadLibraryW.Addr(), 1, uintptr(unsafe.Pointer(libname)), 0, 0) handle = Handle(r0) if handle == 0 { err = errnoErr(e1) } return } func LoadResource(module Handle, resInfo Handle) (resData Handle, err error) { r0, _, e1 := syscall.Syscall(procLoadResource.Addr(), 2, uintptr(module), uintptr(resInfo), 0) resData = Handle(r0) if resData == 0 { err = errnoErr(e1) } return } func LocalAlloc(flags uint32, length uint32) (ptr uintptr, err error) { r0, _, e1 := syscall.Syscall(procLocalAlloc.Addr(), 2, uintptr(flags), uintptr(length), 0) ptr = uintptr(r0) if ptr == 0 { err = errnoErr(e1) } return } func LocalFree(hmem Handle) (handle Handle, err error) { r0, _, e1 := syscall.Syscall(procLocalFree.Addr(), 1, uintptr(hmem), 0, 0) handle = Handle(r0) if handle != 0 { err = errnoErr(e1) } return } func LockFileEx(file Handle, flags uint32, reserved uint32, bytesLow uint32, bytesHigh uint32, overlapped *Overlapped) (err error) { r1, _, e1 := syscall.Syscall6(procLockFileEx.Addr(), 6, uintptr(file), uintptr(flags), uintptr(reserved), uintptr(bytesLow), uintptr(bytesHigh), uintptr(unsafe.Pointer(overlapped))) if r1 == 0 { err = errnoErr(e1) } return } func LockResource(resData Handle) (addr uintptr, err error) { r0, _, e1 := syscall.Syscall(procLockResource.Addr(), 1, uintptr(resData), 0, 0) addr = uintptr(r0) if addr == 0 { err = errnoErr(e1) } return } func MapViewOfFile(handle Handle, access uint32, offsetHigh uint32, offsetLow uint32, length uintptr) (addr uintptr, err error) { r0, _, e1 := syscall.Syscall6(procMapViewOfFile.Addr(), 5, uintptr(handle), uintptr(access), uintptr(offsetHigh), uintptr(offsetLow), uintptr(length), 0) addr = uintptr(r0) if addr == 0 { err = errnoErr(e1) } return } func Module32First(snapshot Handle, moduleEntry *ModuleEntry32) (err error) { r1, _, e1 := syscall.Syscall(procModule32FirstW.Addr(), 2, uintptr(snapshot), uintptr(unsafe.Pointer(moduleEntry)), 0) if r1 == 0 { err = errnoErr(e1) } return } func Module32Next(snapshot Handle, moduleEntry *ModuleEntry32) (err error) { r1, _, e1 := syscall.Syscall(procModule32NextW.Addr(), 2, uintptr(snapshot), uintptr(unsafe.Pointer(moduleEntry)), 0) if r1 == 0 { err = errnoErr(e1) } return } func MoveFileEx(from *uint16, to *uint16, flags uint32) (err error) { r1, _, e1 := syscall.Syscall(procMoveFileExW.Addr(), 3, uintptr(unsafe.Pointer(from)), uintptr(unsafe.Pointer(to)), uintptr(flags)) if r1 == 0 { err = errnoErr(e1) } return } func MoveFile(from *uint16, to *uint16) (err error) { r1, _, e1 := syscall.Syscall(procMoveFileW.Addr(), 2, uintptr(unsafe.Pointer(from)), uintptr(unsafe.Pointer(to)), 0) if r1 == 0 { err = errnoErr(e1) } return } func MultiByteToWideChar(codePage uint32, dwFlags uint32, str *byte, nstr int32, wchar *uint16, nwchar int32) (nwrite int32, err error) { r0, _, e1 := syscall.Syscall6(procMultiByteToWideChar.Addr(), 6, uintptr(codePage), uintptr(dwFlags), uintptr(unsafe.Pointer(str)), uintptr(nstr), uintptr(unsafe.Pointer(wchar)), uintptr(nwchar)) nwrite = int32(r0) if nwrite == 0 { err = errnoErr(e1) } return } func OpenEvent(desiredAccess uint32, inheritHandle bool, name *uint16) (handle Handle, err error) { var _p0 uint32 if inheritHandle { _p0 = 1 } r0, _, e1 := syscall.Syscall(procOpenEventW.Addr(), 3, uintptr(desiredAccess), uintptr(_p0), uintptr(unsafe.Pointer(name))) handle = Handle(r0) if handle == 0 { err = errnoErr(e1) } return } func OpenMutex(desiredAccess uint32, inheritHandle bool, name *uint16) (handle Handle, err error) { var _p0 uint32 if inheritHandle { _p0 = 1 } r0, _, e1 := syscall.Syscall(procOpenMutexW.Addr(), 3, uintptr(desiredAccess), uintptr(_p0), uintptr(unsafe.Pointer(name))) handle = Handle(r0) if handle == 0 { err = errnoErr(e1) } return } func OpenProcess(desiredAccess uint32, inheritHandle bool, processId uint32) (handle Handle, err error) { var _p0 uint32 if inheritHandle { _p0 = 1 } r0, _, e1 := syscall.Syscall(procOpenProcess.Addr(), 3, uintptr(desiredAccess), uintptr(_p0), uintptr(processId)) handle = Handle(r0) if handle == 0 { err = errnoErr(e1) } return } func OpenThread(desiredAccess uint32, inheritHandle bool, threadId uint32) (handle Handle, err error) { var _p0 uint32 if inheritHandle { _p0 = 1 } r0, _, e1 := syscall.Syscall(procOpenThread.Addr(), 3, uintptr(desiredAccess), uintptr(_p0), uintptr(threadId)) handle = Handle(r0) if handle == 0 { err = errnoErr(e1) } return } func PostQueuedCompletionStatus(cphandle Handle, qty uint32, key uintptr, overlapped *Overlapped) (err error) { r1, _, e1 := syscall.Syscall6(procPostQueuedCompletionStatus.Addr(), 4, uintptr(cphandle), uintptr(qty), uintptr(key), uintptr(unsafe.Pointer(overlapped)), 0, 0) if r1 == 0 { err = errnoErr(e1) } return } func Process32First(snapshot Handle, procEntry *ProcessEntry32) (err error) { r1, _, e1 := syscall.Syscall(procProcess32FirstW.Addr(), 2, uintptr(snapshot), uintptr(unsafe.Pointer(procEntry)), 0) if r1 == 0 { err = errnoErr(e1) } return } func Process32Next(snapshot Handle, procEntry *ProcessEntry32) (err error) { r1, _, e1 := syscall.Syscall(procProcess32NextW.Addr(), 2, uintptr(snapshot), uintptr(unsafe.Pointer(procEntry)), 0) if r1 == 0 { err = errnoErr(e1) } return } func ProcessIdToSessionId(pid uint32, sessionid *uint32) (err error) { r1, _, e1 := syscall.Syscall(procProcessIdToSessionId.Addr(), 2, uintptr(pid), uintptr(unsafe.Pointer(sessionid)), 0) if r1 == 0 { err = errnoErr(e1) } return } func PulseEvent(event Handle) (err error) { r1, _, e1 := syscall.Syscall(procPulseEvent.Addr(), 1, uintptr(event), 0, 0) if r1 == 0 { err = errnoErr(e1) } return } func PurgeComm(handle Handle, dwFlags uint32) (err error) { r1, _, e1 := syscall.Syscall(procPurgeComm.Addr(), 2, uintptr(handle), uintptr(dwFlags), 0) if r1 == 0 { err = errnoErr(e1) } return } func QueryDosDevice(deviceName *uint16, targetPath *uint16, max uint32) (n uint32, err error) { r0, _, e1 := syscall.Syscall(procQueryDosDeviceW.Addr(), 3, uintptr(unsafe.Pointer(deviceName)), uintptr(unsafe.Pointer(targetPath)), uintptr(max)) n = uint32(r0) if n == 0 { err = errnoErr(e1) } return } func QueryFullProcessImageName(proc Handle, flags uint32, exeName *uint16, size *uint32) (err error) { r1, _, e1 := syscall.Syscall6(procQueryFullProcessImageNameW.Addr(), 4, uintptr(proc), uintptr(flags), uintptr(unsafe.Pointer(exeName)), uintptr(unsafe.Pointer(size)), 0, 0) if r1 == 0 { err = errnoErr(e1) } return } func QueryInformationJobObject(job Handle, JobObjectInformationClass int32, JobObjectInformation uintptr, JobObjectInformationLength uint32, retlen *uint32) (err error) { r1, _, e1 := syscall.Syscall6(procQueryInformationJobObject.Addr(), 5, uintptr(job), uintptr(JobObjectInformationClass), uintptr(JobObjectInformation), uintptr(JobObjectInformationLength), uintptr(unsafe.Pointer(retlen)), 0) if r1 == 0 { err = errnoErr(e1) } return } func ReadConsole(console Handle, buf *uint16, toread uint32, read *uint32, inputControl *byte) (err error) { r1, _, e1 := syscall.Syscall6(procReadConsoleW.Addr(), 5, uintptr(console), uintptr(unsafe.Pointer(buf)), uintptr(toread), uintptr(unsafe.Pointer(read)), uintptr(unsafe.Pointer(inputControl)), 0) if r1 == 0 { err = errnoErr(e1) } return } func ReadDirectoryChanges(handle Handle, buf *byte, buflen uint32, watchSubTree bool, mask uint32, retlen *uint32, overlapped *Overlapped, completionRoutine uintptr) (err error) { var _p0 uint32 if watchSubTree { _p0 = 1 } r1, _, e1 := syscall.Syscall9(procReadDirectoryChangesW.Addr(), 8, uintptr(handle), uintptr(unsafe.Pointer(buf)), uintptr(buflen), uintptr(_p0), uintptr(mask), uintptr(unsafe.Pointer(retlen)), uintptr(unsafe.Pointer(overlapped)), uintptr(completionRoutine), 0) if r1 == 0 { err = errnoErr(e1) } return } func readFile(handle Handle, buf []byte, done *uint32, overlapped *Overlapped) (err error) { var _p0 *byte if len(buf) > 0 { _p0 = &buf[0] } r1, _, e1 := syscall.Syscall6(procReadFile.Addr(), 5, uintptr(handle), uintptr(unsafe.Pointer(_p0)), uintptr(len(buf)), uintptr(unsafe.Pointer(done)), uintptr(unsafe.Pointer(overlapped)), 0) if r1 == 0 { err = errnoErr(e1) } return } func ReadProcessMemory(process Handle, baseAddress uintptr, buffer *byte, size uintptr, numberOfBytesRead *uintptr) (err error) { r1, _, e1 := syscall.Syscall6(procReadProcessMemory.Addr(), 5, uintptr(process), uintptr(baseAddress), uintptr(unsafe.Pointer(buffer)), uintptr(size), uintptr(unsafe.Pointer(numberOfBytesRead)), 0) if r1 == 0 { err = errnoErr(e1) } return } func ReleaseMutex(mutex Handle) (err error) { r1, _, e1 := syscall.Syscall(procReleaseMutex.Addr(), 1, uintptr(mutex), 0, 0) if r1 == 0 { err = errnoErr(e1) } return } func RemoveDirectory(path *uint16) (err error) { r1, _, e1 := syscall.Syscall(procRemoveDirectoryW.Addr(), 1, uintptr(unsafe.Pointer(path)), 0, 0) if r1 == 0 { err = errnoErr(e1) } return } func RemoveDllDirectory(cookie uintptr) (err error) { r1, _, e1 := syscall.Syscall(procRemoveDllDirectory.Addr(), 1, uintptr(cookie), 0, 0) if r1 == 0 { err = errnoErr(e1) } return } func ResetEvent(event Handle) (err error) { r1, _, e1 := syscall.Syscall(procResetEvent.Addr(), 1, uintptr(event), 0, 0) if r1 == 0 { err = errnoErr(e1) } return } func resizePseudoConsole(pconsole Handle, size uint32) (hr error) { r0, _, _ := syscall.Syscall(procResizePseudoConsole.Addr(), 2, uintptr(pconsole), uintptr(size), 0) if r0 != 0 { hr = syscall.Errno(r0) } return } func ResumeThread(thread Handle) (ret uint32, err error) { r0, _, e1 := syscall.Syscall(procResumeThread.Addr(), 1, uintptr(thread), 0, 0) ret = uint32(r0) if ret == 0xffffffff { err = errnoErr(e1) } return } func SetCommBreak(handle Handle) (err error) { r1, _, e1 := syscall.Syscall(procSetCommBreak.Addr(), 1, uintptr(handle), 0, 0) if r1 == 0 { err = errnoErr(e1) } return } func SetCommMask(handle Handle, dwEvtMask uint32) (err error) { r1, _, e1 := syscall.Syscall(procSetCommMask.Addr(), 2, uintptr(handle), uintptr(dwEvtMask), 0) if r1 == 0 { err = errnoErr(e1) } return } func SetCommState(handle Handle, lpDCB *DCB) (err error) { r1, _, e1 := syscall.Syscall(procSetCommState.Addr(), 2, uintptr(handle), uintptr(unsafe.Pointer(lpDCB)), 0) if r1 == 0 { err = errnoErr(e1) } return } func SetCommTimeouts(handle Handle, timeouts *CommTimeouts) (err error) { r1, _, e1 := syscall.Syscall(procSetCommTimeouts.Addr(), 2, uintptr(handle), uintptr(unsafe.Pointer(timeouts)), 0) if r1 == 0 { err = errnoErr(e1) } return } func SetConsoleCP(cp uint32) (err error) { r1, _, e1 := syscall.Syscall(procSetConsoleCP.Addr(), 1, uintptr(cp), 0, 0) if r1 == 0 { err = errnoErr(e1) } return } func setConsoleCursorPosition(console Handle, position uint32) (err error) { r1, _, e1 := syscall.Syscall(procSetConsoleCursorPosition.Addr(), 2, uintptr(console), uintptr(position), 0) if r1 == 0 { err = errnoErr(e1) } return } func SetConsoleMode(console Handle, mode uint32) (err error) { r1, _, e1 := syscall.Syscall(procSetConsoleMode.Addr(), 2, uintptr(console), uintptr(mode), 0) if r1 == 0 { err = errnoErr(e1) } return } func SetConsoleOutputCP(cp uint32) (err error) { r1, _, e1 := syscall.Syscall(procSetConsoleOutputCP.Addr(), 1, uintptr(cp), 0, 0) if r1 == 0 { err = errnoErr(e1) } return } func SetCurrentDirectory(path *uint16) (err error) { r1, _, e1 := syscall.Syscall(procSetCurrentDirectoryW.Addr(), 1, uintptr(unsafe.Pointer(path)), 0, 0) if r1 == 0 { err = errnoErr(e1) } return } func SetDefaultDllDirectories(directoryFlags uint32) (err error) { r1, _, e1 := syscall.Syscall(procSetDefaultDllDirectories.Addr(), 1, uintptr(directoryFlags), 0, 0) if r1 == 0 { err = errnoErr(e1) } return } func SetDllDirectory(path string) (err error) { var _p0 *uint16 _p0, err = syscall.UTF16PtrFromString(path) if err != nil { return } return _SetDllDirectory(_p0) } func _SetDllDirectory(path *uint16) (err error) { r1, _, e1 := syscall.Syscall(procSetDllDirectoryW.Addr(), 1, uintptr(unsafe.Pointer(path)), 0, 0) if r1 == 0 { err = errnoErr(e1) } return } func SetEndOfFile(handle Handle) (err error) { r1, _, e1 := syscall.Syscall(procSetEndOfFile.Addr(), 1, uintptr(handle), 0, 0) if r1 == 0 { err = errnoErr(e1) } return } func SetEnvironmentVariable(name *uint16, value *uint16) (err error) { r1, _, e1 := syscall.Syscall(procSetEnvironmentVariableW.Addr(), 2, uintptr(unsafe.Pointer(name)), uintptr(unsafe.Pointer(value)), 0) if r1 == 0 { err = errnoErr(e1) } return } func SetErrorMode(mode uint32) (ret uint32) { r0, _, _ := syscall.Syscall(procSetErrorMode.Addr(), 1, uintptr(mode), 0, 0) ret = uint32(r0) return } func SetEvent(event Handle) (err error) { r1, _, e1 := syscall.Syscall(procSetEvent.Addr(), 1, uintptr(event), 0, 0) if r1 == 0 { err = errnoErr(e1) } return } func SetFileAttributes(name *uint16, attrs uint32) (err error) { r1, _, e1 := syscall.Syscall(procSetFileAttributesW.Addr(), 2, uintptr(unsafe.Pointer(name)), uintptr(attrs), 0) if r1 == 0 { err = errnoErr(e1) } return } func SetFileCompletionNotificationModes(handle Handle, flags uint8) (err error) { r1, _, e1 := syscall.Syscall(procSetFileCompletionNotificationModes.Addr(), 2, uintptr(handle), uintptr(flags), 0) if r1 == 0 { err = errnoErr(e1) } return } func SetFileInformationByHandle(handle Handle, class uint32, inBuffer *byte, inBufferLen uint32) (err error) { r1, _, e1 := syscall.Syscall6(procSetFileInformationByHandle.Addr(), 4, uintptr(handle), uintptr(class), uintptr(unsafe.Pointer(inBuffer)), uintptr(inBufferLen), 0, 0) if r1 == 0 { err = errnoErr(e1) } return } func SetFilePointer(handle Handle, lowoffset int32, highoffsetptr *int32, whence uint32) (newlowoffset uint32, err error) { r0, _, e1 := syscall.Syscall6(procSetFilePointer.Addr(), 4, uintptr(handle), uintptr(lowoffset), uintptr(unsafe.Pointer(highoffsetptr)), uintptr(whence), 0, 0) newlowoffset = uint32(r0) if newlowoffset == 0xffffffff { err = errnoErr(e1) } return } func SetFileTime(handle Handle, ctime *Filetime, atime *Filetime, wtime *Filetime) (err error) { r1, _, e1 := syscall.Syscall6(procSetFileTime.Addr(), 4, uintptr(handle), uintptr(unsafe.Pointer(ctime)), uintptr(unsafe.Pointer(atime)), uintptr(unsafe.Pointer(wtime)), 0, 0) if r1 == 0 { err = errnoErr(e1) } return } func SetFileValidData(handle Handle, validDataLength int64) (err error) { r1, _, e1 := syscall.Syscall(procSetFileValidData.Addr(), 2, uintptr(handle), uintptr(validDataLength), 0) if r1 == 0 { err = errnoErr(e1) } return } func SetHandleInformation(handle Handle, mask uint32, flags uint32) (err error) { r1, _, e1 := syscall.Syscall(procSetHandleInformation.Addr(), 3, uintptr(handle), uintptr(mask), uintptr(flags)) if r1 == 0 { err = errnoErr(e1) } return } func SetInformationJobObject(job Handle, JobObjectInformationClass uint32, JobObjectInformation uintptr, JobObjectInformationLength uint32) (ret int, err error) { r0, _, e1 := syscall.Syscall6(procSetInformationJobObject.Addr(), 4, uintptr(job), uintptr(JobObjectInformationClass), uintptr(JobObjectInformation), uintptr(JobObjectInformationLength), 0, 0) ret = int(r0) if ret == 0 { err = errnoErr(e1) } return } func SetNamedPipeHandleState(pipe Handle, state *uint32, maxCollectionCount *uint32, collectDataTimeout *uint32) (err error) { r1, _, e1 := syscall.Syscall6(procSetNamedPipeHandleState.Addr(), 4, uintptr(pipe), uintptr(unsafe.Pointer(state)), uintptr(unsafe.Pointer(maxCollectionCount)), uintptr(unsafe.Pointer(collectDataTimeout)), 0, 0) if r1 == 0 { err = errnoErr(e1) } return } func SetPriorityClass(process Handle, priorityClass uint32) (err error) { r1, _, e1 := syscall.Syscall(procSetPriorityClass.Addr(), 2, uintptr(process), uintptr(priorityClass), 0) if r1 == 0 { err = errnoErr(e1) } return } func SetProcessPriorityBoost(process Handle, disable bool) (err error) { var _p0 uint32 if disable { _p0 = 1 } r1, _, e1 := syscall.Syscall(procSetProcessPriorityBoost.Addr(), 2, uintptr(process), uintptr(_p0), 0) if r1 == 0 { err = errnoErr(e1) } return } func SetProcessShutdownParameters(level uint32, flags uint32) (err error) { r1, _, e1 := syscall.Syscall(procSetProcessShutdownParameters.Addr(), 2, uintptr(level), uintptr(flags), 0) if r1 == 0 { err = errnoErr(e1) } return } func SetProcessWorkingSetSizeEx(hProcess Handle, dwMinimumWorkingSetSize uintptr, dwMaximumWorkingSetSize uintptr, flags uint32) (err error) { r1, _, e1 := syscall.Syscall6(procSetProcessWorkingSetSizeEx.Addr(), 4, uintptr(hProcess), uintptr(dwMinimumWorkingSetSize), uintptr(dwMaximumWorkingSetSize), uintptr(flags), 0, 0) if r1 == 0 { err = errnoErr(e1) } return } func SetStdHandle(stdhandle uint32, handle Handle) (err error) { r1, _, e1 := syscall.Syscall(procSetStdHandle.Addr(), 2, uintptr(stdhandle), uintptr(handle), 0) if r1 == 0 { err = errnoErr(e1) } return } func SetVolumeLabel(rootPathName *uint16, volumeName *uint16) (err error) { r1, _, e1 := syscall.Syscall(procSetVolumeLabelW.Addr(), 2, uintptr(unsafe.Pointer(rootPathName)), uintptr(unsafe.Pointer(volumeName)), 0) if r1 == 0 { err = errnoErr(e1) } return } func SetVolumeMountPoint(volumeMountPoint *uint16, volumeName *uint16) (err error) { r1, _, e1 := syscall.Syscall(procSetVolumeMountPointW.Addr(), 2, uintptr(unsafe.Pointer(volumeMountPoint)), uintptr(unsafe.Pointer(volumeName)), 0) if r1 == 0 { err = errnoErr(e1) } return } func SetupComm(handle Handle, dwInQueue uint32, dwOutQueue uint32) (err error) { r1, _, e1 := syscall.Syscall(procSetupComm.Addr(), 3, uintptr(handle), uintptr(dwInQueue), uintptr(dwOutQueue)) if r1 == 0 { err = errnoErr(e1) } return } func SizeofResource(module Handle, resInfo Handle) (size uint32, err error) { r0, _, e1 := syscall.Syscall(procSizeofResource.Addr(), 2, uintptr(module), uintptr(resInfo), 0) size = uint32(r0) if size == 0 { err = errnoErr(e1) } return } func SleepEx(milliseconds uint32, alertable bool) (ret uint32) { var _p0 uint32 if alertable { _p0 = 1 } r0, _, _ := syscall.Syscall(procSleepEx.Addr(), 2, uintptr(milliseconds), uintptr(_p0), 0) ret = uint32(r0) return } func TerminateJobObject(job Handle, exitCode uint32) (err error) { r1, _, e1 := syscall.Syscall(procTerminateJobObject.Addr(), 2, uintptr(job), uintptr(exitCode), 0) if r1 == 0 { err = errnoErr(e1) } return } func TerminateProcess(handle Handle, exitcode uint32) (err error) { r1, _, e1 := syscall.Syscall(procTerminateProcess.Addr(), 2, uintptr(handle), uintptr(exitcode), 0) if r1 == 0 { err = errnoErr(e1) } return } func Thread32First(snapshot Handle, threadEntry *ThreadEntry32) (err error) { r1, _, e1 := syscall.Syscall(procThread32First.Addr(), 2, uintptr(snapshot), uintptr(unsafe.Pointer(threadEntry)), 0) if r1 == 0 { err = errnoErr(e1) } return } func Thread32Next(snapshot Handle, threadEntry *ThreadEntry32) (err error) { r1, _, e1 := syscall.Syscall(procThread32Next.Addr(), 2, uintptr(snapshot), uintptr(unsafe.Pointer(threadEntry)), 0) if r1 == 0 { err = errnoErr(e1) } return } func UnlockFileEx(file Handle, reserved uint32, bytesLow uint32, bytesHigh uint32, overlapped *Overlapped) (err error) { r1, _, e1 := syscall.Syscall6(procUnlockFileEx.Addr(), 5, uintptr(file), uintptr(reserved), uintptr(bytesLow), uintptr(bytesHigh), uintptr(unsafe.Pointer(overlapped)), 0) if r1 == 0 { err = errnoErr(e1) } return } func UnmapViewOfFile(addr uintptr) (err error) { r1, _, e1 := syscall.Syscall(procUnmapViewOfFile.Addr(), 1, uintptr(addr), 0, 0) if r1 == 0 { err = errnoErr(e1) } return } func updateProcThreadAttribute(attrlist *ProcThreadAttributeList, flags uint32, attr uintptr, value unsafe.Pointer, size uintptr, prevvalue unsafe.Pointer, returnedsize *uintptr) (err error) { r1, _, e1 := syscall.Syscall9(procUpdateProcThreadAttribute.Addr(), 7, uintptr(unsafe.Pointer(attrlist)), uintptr(flags), uintptr(attr), uintptr(value), uintptr(size), uintptr(prevvalue), uintptr(unsafe.Pointer(returnedsize)), 0, 0) if r1 == 0 { err = errnoErr(e1) } return } func VirtualAlloc(address uintptr, size uintptr, alloctype uint32, protect uint32) (value uintptr, err error) { r0, _, e1 := syscall.Syscall6(procVirtualAlloc.Addr(), 4, uintptr(address), uintptr(size), uintptr(alloctype), uintptr(protect), 0, 0) value = uintptr(r0) if value == 0 { err = errnoErr(e1) } return } func VirtualFree(address uintptr, size uintptr, freetype uint32) (err error) { r1, _, e1 := syscall.Syscall(procVirtualFree.Addr(), 3, uintptr(address), uintptr(size), uintptr(freetype)) if r1 == 0 { err = errnoErr(e1) } return } func VirtualLock(addr uintptr, length uintptr) (err error) { r1, _, e1 := syscall.Syscall(procVirtualLock.Addr(), 2, uintptr(addr), uintptr(length), 0) if r1 == 0 { err = errnoErr(e1) } return } func VirtualProtect(address uintptr, size uintptr, newprotect uint32, oldprotect *uint32) (err error) { r1, _, e1 := syscall.Syscall6(procVirtualProtect.Addr(), 4, uintptr(address), uintptr(size), uintptr(newprotect), uintptr(unsafe.Pointer(oldprotect)), 0, 0) if r1 == 0 { err = errnoErr(e1) } return } func VirtualProtectEx(process Handle, address uintptr, size uintptr, newProtect uint32, oldProtect *uint32) (err error) { r1, _, e1 := syscall.Syscall6(procVirtualProtectEx.Addr(), 5, uintptr(process), uintptr(address), uintptr(size), uintptr(newProtect), uintptr(unsafe.Pointer(oldProtect)), 0) if r1 == 0 { err = errnoErr(e1) } return } func VirtualQuery(address uintptr, buffer *MemoryBasicInformation, length uintptr) (err error) { r1, _, e1 := syscall.Syscall(procVirtualQuery.Addr(), 3, uintptr(address), uintptr(unsafe.Pointer(buffer)), uintptr(length)) if r1 == 0 { err = errnoErr(e1) } return } func VirtualQueryEx(process Handle, address uintptr, buffer *MemoryBasicInformation, length uintptr) (err error) { r1, _, e1 := syscall.Syscall6(procVirtualQueryEx.Addr(), 4, uintptr(process), uintptr(address), uintptr(unsafe.Pointer(buffer)), uintptr(length), 0, 0) if r1 == 0 { err = errnoErr(e1) } return } func VirtualUnlock(addr uintptr, length uintptr) (err error) { r1, _, e1 := syscall.Syscall(procVirtualUnlock.Addr(), 2, uintptr(addr), uintptr(length), 0) if r1 == 0 { err = errnoErr(e1) } return } func WTSGetActiveConsoleSessionId() (sessionID uint32) { r0, _, _ := syscall.Syscall(procWTSGetActiveConsoleSessionId.Addr(), 0, 0, 0, 0) sessionID = uint32(r0) return } func WaitCommEvent(handle Handle, lpEvtMask *uint32, lpOverlapped *Overlapped) (err error) { r1, _, e1 := syscall.Syscall(procWaitCommEvent.Addr(), 3, uintptr(handle), uintptr(unsafe.Pointer(lpEvtMask)), uintptr(unsafe.Pointer(lpOverlapped))) if r1 == 0 { err = errnoErr(e1) } return } func waitForMultipleObjects(count uint32, handles uintptr, waitAll bool, waitMilliseconds uint32) (event uint32, err error) { var _p0 uint32 if waitAll { _p0 = 1 } r0, _, e1 := syscall.Syscall6(procWaitForMultipleObjects.Addr(), 4, uintptr(count), uintptr(handles), uintptr(_p0), uintptr(waitMilliseconds), 0, 0) event = uint32(r0) if event == 0xffffffff { err = errnoErr(e1) } return } func WaitForSingleObject(handle Handle, waitMilliseconds uint32) (event uint32, err error) { r0, _, e1 := syscall.Syscall(procWaitForSingleObject.Addr(), 2, uintptr(handle), uintptr(waitMilliseconds), 0) event = uint32(r0) if event == 0xffffffff { err = errnoErr(e1) } return } func WriteConsole(console Handle, buf *uint16, towrite uint32, written *uint32, reserved *byte) (err error) { r1, _, e1 := syscall.Syscall6(procWriteConsoleW.Addr(), 5, uintptr(console), uintptr(unsafe.Pointer(buf)), uintptr(towrite), uintptr(unsafe.Pointer(written)), uintptr(unsafe.Pointer(reserved)), 0) if r1 == 0 { err = errnoErr(e1) } return } func writeFile(handle Handle, buf []byte, done *uint32, overlapped *Overlapped) (err error) { var _p0 *byte if len(buf) > 0 { _p0 = &buf[0] } r1, _, e1 := syscall.Syscall6(procWriteFile.Addr(), 5, uintptr(handle), uintptr(unsafe.Pointer(_p0)), uintptr(len(buf)), uintptr(unsafe.Pointer(done)), uintptr(unsafe.Pointer(overlapped)), 0) if r1 == 0 { err = errnoErr(e1) } return } func WriteProcessMemory(process Handle, baseAddress uintptr, buffer *byte, size uintptr, numberOfBytesWritten *uintptr) (err error) { r1, _, e1 := syscall.Syscall6(procWriteProcessMemory.Addr(), 5, uintptr(process), uintptr(baseAddress), uintptr(unsafe.Pointer(buffer)), uintptr(size), uintptr(unsafe.Pointer(numberOfBytesWritten)), 0) if r1 == 0 { err = errnoErr(e1) } return } func AcceptEx(ls Handle, as Handle, buf *byte, rxdatalen uint32, laddrlen uint32, raddrlen uint32, recvd *uint32, overlapped *Overlapped) (err error) { r1, _, e1 := syscall.Syscall9(procAcceptEx.Addr(), 8, uintptr(ls), uintptr(as), uintptr(unsafe.Pointer(buf)), uintptr(rxdatalen), uintptr(laddrlen), uintptr(raddrlen), uintptr(unsafe.Pointer(recvd)), uintptr(unsafe.Pointer(overlapped)), 0) if r1 == 0 { err = errnoErr(e1) } return } func GetAcceptExSockaddrs(buf *byte, rxdatalen uint32, laddrlen uint32, raddrlen uint32, lrsa **RawSockaddrAny, lrsalen *int32, rrsa **RawSockaddrAny, rrsalen *int32) { syscall.Syscall9(procGetAcceptExSockaddrs.Addr(), 8, uintptr(unsafe.Pointer(buf)), uintptr(rxdatalen), uintptr(laddrlen), uintptr(raddrlen), uintptr(unsafe.Pointer(lrsa)), uintptr(unsafe.Pointer(lrsalen)), uintptr(unsafe.Pointer(rrsa)), uintptr(unsafe.Pointer(rrsalen)), 0) return } func TransmitFile(s Handle, handle Handle, bytesToWrite uint32, bytsPerSend uint32, overlapped *Overlapped, transmitFileBuf *TransmitFileBuffers, flags uint32) (err error) { r1, _, e1 := syscall.Syscall9(procTransmitFile.Addr(), 7, uintptr(s), uintptr(handle), uintptr(bytesToWrite), uintptr(bytsPerSend), uintptr(unsafe.Pointer(overlapped)), uintptr(unsafe.Pointer(transmitFileBuf)), uintptr(flags), 0, 0) if r1 == 0 { err = errnoErr(e1) } return } func NetApiBufferFree(buf *byte) (neterr error) { r0, _, _ := syscall.Syscall(procNetApiBufferFree.Addr(), 1, uintptr(unsafe.Pointer(buf)), 0, 0) if r0 != 0 { neterr = syscall.Errno(r0) } return } func NetGetJoinInformation(server *uint16, name **uint16, bufType *uint32) (neterr error) { r0, _, _ := syscall.Syscall(procNetGetJoinInformation.Addr(), 3, uintptr(unsafe.Pointer(server)), uintptr(unsafe.Pointer(name)), uintptr(unsafe.Pointer(bufType))) if r0 != 0 { neterr = syscall.Errno(r0) } return } func NetUserEnum(serverName *uint16, level uint32, filter uint32, buf **byte, prefMaxLen uint32, entriesRead *uint32, totalEntries *uint32, resumeHandle *uint32) (neterr error) { r0, _, _ := syscall.Syscall9(procNetUserEnum.Addr(), 8, uintptr(unsafe.Pointer(serverName)), uintptr(level), uintptr(filter), uintptr(unsafe.Pointer(buf)), uintptr(prefMaxLen), uintptr(unsafe.Pointer(entriesRead)), uintptr(unsafe.Pointer(totalEntries)), uintptr(unsafe.Pointer(resumeHandle)), 0) if r0 != 0 { neterr = syscall.Errno(r0) } return } func NetUserGetInfo(serverName *uint16, userName *uint16, level uint32, buf **byte) (neterr error) { r0, _, _ := syscall.Syscall6(procNetUserGetInfo.Addr(), 4, uintptr(unsafe.Pointer(serverName)), uintptr(unsafe.Pointer(userName)), uintptr(level), uintptr(unsafe.Pointer(buf)), 0, 0) if r0 != 0 { neterr = syscall.Errno(r0) } return } func NtCreateFile(handle *Handle, access uint32, oa *OBJECT_ATTRIBUTES, iosb *IO_STATUS_BLOCK, allocationSize *int64, attributes uint32, share uint32, disposition uint32, options uint32, eabuffer uintptr, ealength uint32) (ntstatus error) { r0, _, _ := syscall.Syscall12(procNtCreateFile.Addr(), 11, uintptr(unsafe.Pointer(handle)), uintptr(access), uintptr(unsafe.Pointer(oa)), uintptr(unsafe.Pointer(iosb)), uintptr(unsafe.Pointer(allocationSize)), uintptr(attributes), uintptr(share), uintptr(disposition), uintptr(options), uintptr(eabuffer), uintptr(ealength), 0) if r0 != 0 { ntstatus = NTStatus(r0) } return } func NtCreateNamedPipeFile(pipe *Handle, access uint32, oa *OBJECT_ATTRIBUTES, iosb *IO_STATUS_BLOCK, share uint32, disposition uint32, options uint32, typ uint32, readMode uint32, completionMode uint32, maxInstances uint32, inboundQuota uint32, outputQuota uint32, timeout *int64) (ntstatus error) { r0, _, _ := syscall.Syscall15(procNtCreateNamedPipeFile.Addr(), 14, uintptr(unsafe.Pointer(pipe)), uintptr(access), uintptr(unsafe.Pointer(oa)), uintptr(unsafe.Pointer(iosb)), uintptr(share), uintptr(disposition), uintptr(options), uintptr(typ), uintptr(readMode), uintptr(completionMode), uintptr(maxInstances), uintptr(inboundQuota), uintptr(outputQuota), uintptr(unsafe.Pointer(timeout)), 0) if r0 != 0 { ntstatus = NTStatus(r0) } return } func NtQueryInformationProcess(proc Handle, procInfoClass int32, procInfo unsafe.Pointer, procInfoLen uint32, retLen *uint32) (ntstatus error) { r0, _, _ := syscall.Syscall6(procNtQueryInformationProcess.Addr(), 5, uintptr(proc), uintptr(procInfoClass), uintptr(procInfo), uintptr(procInfoLen), uintptr(unsafe.Pointer(retLen)), 0) if r0 != 0 { ntstatus = NTStatus(r0) } return } func NtQuerySystemInformation(sysInfoClass int32, sysInfo unsafe.Pointer, sysInfoLen uint32, retLen *uint32) (ntstatus error) { r0, _, _ := syscall.Syscall6(procNtQuerySystemInformation.Addr(), 4, uintptr(sysInfoClass), uintptr(sysInfo), uintptr(sysInfoLen), uintptr(unsafe.Pointer(retLen)), 0, 0) if r0 != 0 { ntstatus = NTStatus(r0) } return } func NtSetInformationFile(handle Handle, iosb *IO_STATUS_BLOCK, inBuffer *byte, inBufferLen uint32, class uint32) (ntstatus error) { r0, _, _ := syscall.Syscall6(procNtSetInformationFile.Addr(), 5, uintptr(handle), uintptr(unsafe.Pointer(iosb)), uintptr(unsafe.Pointer(inBuffer)), uintptr(inBufferLen), uintptr(class), 0) if r0 != 0 { ntstatus = NTStatus(r0) } return } func NtSetInformationProcess(proc Handle, procInfoClass int32, procInfo unsafe.Pointer, procInfoLen uint32) (ntstatus error) { r0, _, _ := syscall.Syscall6(procNtSetInformationProcess.Addr(), 4, uintptr(proc), uintptr(procInfoClass), uintptr(procInfo), uintptr(procInfoLen), 0, 0) if r0 != 0 { ntstatus = NTStatus(r0) } return } func NtSetSystemInformation(sysInfoClass int32, sysInfo unsafe.Pointer, sysInfoLen uint32) (ntstatus error) { r0, _, _ := syscall.Syscall(procNtSetSystemInformation.Addr(), 3, uintptr(sysInfoClass), uintptr(sysInfo), uintptr(sysInfoLen)) if r0 != 0 { ntstatus = NTStatus(r0) } return } func RtlAddFunctionTable(functionTable *RUNTIME_FUNCTION, entryCount uint32, baseAddress uintptr) (ret bool) { r0, _, _ := syscall.Syscall(procRtlAddFunctionTable.Addr(), 3, uintptr(unsafe.Pointer(functionTable)), uintptr(entryCount), uintptr(baseAddress)) ret = r0 != 0 return } func RtlDefaultNpAcl(acl **ACL) (ntstatus error) { r0, _, _ := syscall.Syscall(procRtlDefaultNpAcl.Addr(), 1, uintptr(unsafe.Pointer(acl)), 0, 0) if r0 != 0 { ntstatus = NTStatus(r0) } return } func RtlDeleteFunctionTable(functionTable *RUNTIME_FUNCTION) (ret bool) { r0, _, _ := syscall.Syscall(procRtlDeleteFunctionTable.Addr(), 1, uintptr(unsafe.Pointer(functionTable)), 0, 0) ret = r0 != 0 return } func RtlDosPathNameToNtPathName(dosName *uint16, ntName *NTUnicodeString, ntFileNamePart *uint16, relativeName *RTL_RELATIVE_NAME) (ntstatus error) { r0, _, _ := syscall.Syscall6(procRtlDosPathNameToNtPathName_U_WithStatus.Addr(), 4, uintptr(unsafe.Pointer(dosName)), uintptr(unsafe.Pointer(ntName)), uintptr(unsafe.Pointer(ntFileNamePart)), uintptr(unsafe.Pointer(relativeName)), 0, 0) if r0 != 0 { ntstatus = NTStatus(r0) } return } func RtlDosPathNameToRelativeNtPathName(dosName *uint16, ntName *NTUnicodeString, ntFileNamePart *uint16, relativeName *RTL_RELATIVE_NAME) (ntstatus error) { r0, _, _ := syscall.Syscall6(procRtlDosPathNameToRelativeNtPathName_U_WithStatus.Addr(), 4, uintptr(unsafe.Pointer(dosName)), uintptr(unsafe.Pointer(ntName)), uintptr(unsafe.Pointer(ntFileNamePart)), uintptr(unsafe.Pointer(relativeName)), 0, 0) if r0 != 0 { ntstatus = NTStatus(r0) } return } func RtlGetCurrentPeb() (peb *PEB) { r0, _, _ := syscall.Syscall(procRtlGetCurrentPeb.Addr(), 0, 0, 0, 0) peb = (*PEB)(unsafe.Pointer(r0)) return } func rtlGetNtVersionNumbers(majorVersion *uint32, minorVersion *uint32, buildNumber *uint32) { syscall.Syscall(procRtlGetNtVersionNumbers.Addr(), 3, uintptr(unsafe.Pointer(majorVersion)), uintptr(unsafe.Pointer(minorVersion)), uintptr(unsafe.Pointer(buildNumber))) return } func rtlGetVersion(info *OsVersionInfoEx) (ntstatus error) { r0, _, _ := syscall.Syscall(procRtlGetVersion.Addr(), 1, uintptr(unsafe.Pointer(info)), 0, 0) if r0 != 0 { ntstatus = NTStatus(r0) } return } func RtlInitString(destinationString *NTString, sourceString *byte) { syscall.Syscall(procRtlInitString.Addr(), 2, uintptr(unsafe.Pointer(destinationString)), uintptr(unsafe.Pointer(sourceString)), 0) return } func RtlInitUnicodeString(destinationString *NTUnicodeString, sourceString *uint16) { syscall.Syscall(procRtlInitUnicodeString.Addr(), 2, uintptr(unsafe.Pointer(destinationString)), uintptr(unsafe.Pointer(sourceString)), 0) return } func rtlNtStatusToDosErrorNoTeb(ntstatus NTStatus) (ret syscall.Errno) { r0, _, _ := syscall.Syscall(procRtlNtStatusToDosErrorNoTeb.Addr(), 1, uintptr(ntstatus), 0, 0) ret = syscall.Errno(r0) return } func clsidFromString(lpsz *uint16, pclsid *GUID) (ret error) { r0, _, _ := syscall.Syscall(procCLSIDFromString.Addr(), 2, uintptr(unsafe.Pointer(lpsz)), uintptr(unsafe.Pointer(pclsid)), 0) if r0 != 0 { ret = syscall.Errno(r0) } return } func coCreateGuid(pguid *GUID) (ret error) { r0, _, _ := syscall.Syscall(procCoCreateGuid.Addr(), 1, uintptr(unsafe.Pointer(pguid)), 0, 0) if r0 != 0 { ret = syscall.Errno(r0) } return } func CoGetObject(name *uint16, bindOpts *BIND_OPTS3, guid *GUID, functionTable **uintptr) (ret error) { r0, _, _ := syscall.Syscall6(procCoGetObject.Addr(), 4, uintptr(unsafe.Pointer(name)), uintptr(unsafe.Pointer(bindOpts)), uintptr(unsafe.Pointer(guid)), uintptr(unsafe.Pointer(functionTable)), 0, 0) if r0 != 0 { ret = syscall.Errno(r0) } return } func CoInitializeEx(reserved uintptr, coInit uint32) (ret error) { r0, _, _ := syscall.Syscall(procCoInitializeEx.Addr(), 2, uintptr(reserved), uintptr(coInit), 0) if r0 != 0 { ret = syscall.Errno(r0) } return } func CoTaskMemFree(address unsafe.Pointer) { syscall.Syscall(procCoTaskMemFree.Addr(), 1, uintptr(address), 0, 0) return } func CoUninitialize() { syscall.Syscall(procCoUninitialize.Addr(), 0, 0, 0, 0) return } func stringFromGUID2(rguid *GUID, lpsz *uint16, cchMax int32) (chars int32) { r0, _, _ := syscall.Syscall(procStringFromGUID2.Addr(), 3, uintptr(unsafe.Pointer(rguid)), uintptr(unsafe.Pointer(lpsz)), uintptr(cchMax)) chars = int32(r0) return } func EnumProcessModules(process Handle, module *Handle, cb uint32, cbNeeded *uint32) (err error) { r1, _, e1 := syscall.Syscall6(procEnumProcessModules.Addr(), 4, uintptr(process), uintptr(unsafe.Pointer(module)), uintptr(cb), uintptr(unsafe.Pointer(cbNeeded)), 0, 0) if r1 == 0 { err = errnoErr(e1) } return } func EnumProcessModulesEx(process Handle, module *Handle, cb uint32, cbNeeded *uint32, filterFlag uint32) (err error) { r1, _, e1 := syscall.Syscall6(procEnumProcessModulesEx.Addr(), 5, uintptr(process), uintptr(unsafe.Pointer(module)), uintptr(cb), uintptr(unsafe.Pointer(cbNeeded)), uintptr(filterFlag), 0) if r1 == 0 { err = errnoErr(e1) } return } func enumProcesses(processIds *uint32, nSize uint32, bytesReturned *uint32) (err error) { r1, _, e1 := syscall.Syscall(procEnumProcesses.Addr(), 3, uintptr(unsafe.Pointer(processIds)), uintptr(nSize), uintptr(unsafe.Pointer(bytesReturned))) if r1 == 0 { err = errnoErr(e1) } return } func GetModuleBaseName(process Handle, module Handle, baseName *uint16, size uint32) (err error) { r1, _, e1 := syscall.Syscall6(procGetModuleBaseNameW.Addr(), 4, uintptr(process), uintptr(module), uintptr(unsafe.Pointer(baseName)), uintptr(size), 0, 0) if r1 == 0 { err = errnoErr(e1) } return } func GetModuleFileNameEx(process Handle, module Handle, filename *uint16, size uint32) (err error) { r1, _, e1 := syscall.Syscall6(procGetModuleFileNameExW.Addr(), 4, uintptr(process), uintptr(module), uintptr(unsafe.Pointer(filename)), uintptr(size), 0, 0) if r1 == 0 { err = errnoErr(e1) } return } func GetModuleInformation(process Handle, module Handle, modinfo *ModuleInfo, cb uint32) (err error) { r1, _, e1 := syscall.Syscall6(procGetModuleInformation.Addr(), 4, uintptr(process), uintptr(module), uintptr(unsafe.Pointer(modinfo)), uintptr(cb), 0, 0) if r1 == 0 { err = errnoErr(e1) } return } func QueryWorkingSetEx(process Handle, pv uintptr, cb uint32) (err error) { r1, _, e1 := syscall.Syscall(procQueryWorkingSetEx.Addr(), 3, uintptr(process), uintptr(pv), uintptr(cb)) if r1 == 0 { err = errnoErr(e1) } return } func SubscribeServiceChangeNotifications(service Handle, eventType uint32, callback uintptr, callbackCtx uintptr, subscription *uintptr) (ret error) { ret = procSubscribeServiceChangeNotifications.Find() if ret != nil { return } r0, _, _ := syscall.Syscall6(procSubscribeServiceChangeNotifications.Addr(), 5, uintptr(service), uintptr(eventType), uintptr(callback), uintptr(callbackCtx), uintptr(unsafe.Pointer(subscription)), 0) if r0 != 0 { ret = syscall.Errno(r0) } return } func UnsubscribeServiceChangeNotifications(subscription uintptr) (err error) { err = procUnsubscribeServiceChangeNotifications.Find() if err != nil { return } syscall.Syscall(procUnsubscribeServiceChangeNotifications.Addr(), 1, uintptr(subscription), 0, 0) return } func GetUserNameEx(nameFormat uint32, nameBuffre *uint16, nSize *uint32) (err error) { r1, _, e1 := syscall.Syscall(procGetUserNameExW.Addr(), 3, uintptr(nameFormat), uintptr(unsafe.Pointer(nameBuffre)), uintptr(unsafe.Pointer(nSize))) if r1&0xff == 0 { err = errnoErr(e1) } return } func TranslateName(accName *uint16, accNameFormat uint32, desiredNameFormat uint32, translatedName *uint16, nSize *uint32) (err error) { r1, _, e1 := syscall.Syscall6(procTranslateNameW.Addr(), 5, uintptr(unsafe.Pointer(accName)), uintptr(accNameFormat), uintptr(desiredNameFormat), uintptr(unsafe.Pointer(translatedName)), uintptr(unsafe.Pointer(nSize)), 0) if r1&0xff == 0 { err = errnoErr(e1) } return } func SetupDiBuildDriverInfoList(deviceInfoSet DevInfo, deviceInfoData *DevInfoData, driverType SPDIT) (err error) { r1, _, e1 := syscall.Syscall(procSetupDiBuildDriverInfoList.Addr(), 3, uintptr(deviceInfoSet), uintptr(unsafe.Pointer(deviceInfoData)), uintptr(driverType)) if r1 == 0 { err = errnoErr(e1) } return } func SetupDiCallClassInstaller(installFunction DI_FUNCTION, deviceInfoSet DevInfo, deviceInfoData *DevInfoData) (err error) { r1, _, e1 := syscall.Syscall(procSetupDiCallClassInstaller.Addr(), 3, uintptr(installFunction), uintptr(deviceInfoSet), uintptr(unsafe.Pointer(deviceInfoData))) if r1 == 0 { err = errnoErr(e1) } return } func SetupDiCancelDriverInfoSearch(deviceInfoSet DevInfo) (err error) { r1, _, e1 := syscall.Syscall(procSetupDiCancelDriverInfoSearch.Addr(), 1, uintptr(deviceInfoSet), 0, 0) if r1 == 0 { err = errnoErr(e1) } return } func setupDiClassGuidsFromNameEx(className *uint16, classGuidList *GUID, classGuidListSize uint32, requiredSize *uint32, machineName *uint16, reserved uintptr) (err error) { r1, _, e1 := syscall.Syscall6(procSetupDiClassGuidsFromNameExW.Addr(), 6, uintptr(unsafe.Pointer(className)), uintptr(unsafe.Pointer(classGuidList)), uintptr(classGuidListSize), uintptr(unsafe.Pointer(requiredSize)), uintptr(unsafe.Pointer(machineName)), uintptr(reserved)) if r1 == 0 { err = errnoErr(e1) } return } func setupDiClassNameFromGuidEx(classGUID *GUID, className *uint16, classNameSize uint32, requiredSize *uint32, machineName *uint16, reserved uintptr) (err error) { r1, _, e1 := syscall.Syscall6(procSetupDiClassNameFromGuidExW.Addr(), 6, uintptr(unsafe.Pointer(classGUID)), uintptr(unsafe.Pointer(className)), uintptr(classNameSize), uintptr(unsafe.Pointer(requiredSize)), uintptr(unsafe.Pointer(machineName)), uintptr(reserved)) if r1 == 0 { err = errnoErr(e1) } return } func setupDiCreateDeviceInfoListEx(classGUID *GUID, hwndParent uintptr, machineName *uint16, reserved uintptr) (handle DevInfo, err error) { r0, _, e1 := syscall.Syscall6(procSetupDiCreateDeviceInfoListExW.Addr(), 4, uintptr(unsafe.Pointer(classGUID)), uintptr(hwndParent), uintptr(unsafe.Pointer(machineName)), uintptr(reserved), 0, 0) handle = DevInfo(r0) if handle == DevInfo(InvalidHandle) { err = errnoErr(e1) } return } func setupDiCreateDeviceInfo(deviceInfoSet DevInfo, DeviceName *uint16, classGUID *GUID, DeviceDescription *uint16, hwndParent uintptr, CreationFlags DICD, deviceInfoData *DevInfoData) (err error) { r1, _, e1 := syscall.Syscall9(procSetupDiCreateDeviceInfoW.Addr(), 7, uintptr(deviceInfoSet), uintptr(unsafe.Pointer(DeviceName)), uintptr(unsafe.Pointer(classGUID)), uintptr(unsafe.Pointer(DeviceDescription)), uintptr(hwndParent), uintptr(CreationFlags), uintptr(unsafe.Pointer(deviceInfoData)), 0, 0) if r1 == 0 { err = errnoErr(e1) } return } func SetupDiDestroyDeviceInfoList(deviceInfoSet DevInfo) (err error) { r1, _, e1 := syscall.Syscall(procSetupDiDestroyDeviceInfoList.Addr(), 1, uintptr(deviceInfoSet), 0, 0) if r1 == 0 { err = errnoErr(e1) } return } func SetupDiDestroyDriverInfoList(deviceInfoSet DevInfo, deviceInfoData *DevInfoData, driverType SPDIT) (err error) { r1, _, e1 := syscall.Syscall(procSetupDiDestroyDriverInfoList.Addr(), 3, uintptr(deviceInfoSet), uintptr(unsafe.Pointer(deviceInfoData)), uintptr(driverType)) if r1 == 0 { err = errnoErr(e1) } return } func setupDiEnumDeviceInfo(deviceInfoSet DevInfo, memberIndex uint32, deviceInfoData *DevInfoData) (err error) { r1, _, e1 := syscall.Syscall(procSetupDiEnumDeviceInfo.Addr(), 3, uintptr(deviceInfoSet), uintptr(memberIndex), uintptr(unsafe.Pointer(deviceInfoData))) if r1 == 0 { err = errnoErr(e1) } return } func setupDiEnumDriverInfo(deviceInfoSet DevInfo, deviceInfoData *DevInfoData, driverType SPDIT, memberIndex uint32, driverInfoData *DrvInfoData) (err error) { r1, _, e1 := syscall.Syscall6(procSetupDiEnumDriverInfoW.Addr(), 5, uintptr(deviceInfoSet), uintptr(unsafe.Pointer(deviceInfoData)), uintptr(driverType), uintptr(memberIndex), uintptr(unsafe.Pointer(driverInfoData)), 0) if r1 == 0 { err = errnoErr(e1) } return } func setupDiGetClassDevsEx(classGUID *GUID, Enumerator *uint16, hwndParent uintptr, Flags DIGCF, deviceInfoSet DevInfo, machineName *uint16, reserved uintptr) (handle DevInfo, err error) { r0, _, e1 := syscall.Syscall9(procSetupDiGetClassDevsExW.Addr(), 7, uintptr(unsafe.Pointer(classGUID)), uintptr(unsafe.Pointer(Enumerator)), uintptr(hwndParent), uintptr(Flags), uintptr(deviceInfoSet), uintptr(unsafe.Pointer(machineName)), uintptr(reserved), 0, 0) handle = DevInfo(r0) if handle == DevInfo(InvalidHandle) { err = errnoErr(e1) } return } func SetupDiGetClassInstallParams(deviceInfoSet DevInfo, deviceInfoData *DevInfoData, classInstallParams *ClassInstallHeader, classInstallParamsSize uint32, requiredSize *uint32) (err error) { r1, _, e1 := syscall.Syscall6(procSetupDiGetClassInstallParamsW.Addr(), 5, uintptr(deviceInfoSet), uintptr(unsafe.Pointer(deviceInfoData)), uintptr(unsafe.Pointer(classInstallParams)), uintptr(classInstallParamsSize), uintptr(unsafe.Pointer(requiredSize)), 0) if r1 == 0 { err = errnoErr(e1) } return } func setupDiGetDeviceInfoListDetail(deviceInfoSet DevInfo, deviceInfoSetDetailData *DevInfoListDetailData) (err error) { r1, _, e1 := syscall.Syscall(procSetupDiGetDeviceInfoListDetailW.Addr(), 2, uintptr(deviceInfoSet), uintptr(unsafe.Pointer(deviceInfoSetDetailData)), 0) if r1 == 0 { err = errnoErr(e1) } return } func setupDiGetDeviceInstallParams(deviceInfoSet DevInfo, deviceInfoData *DevInfoData, deviceInstallParams *DevInstallParams) (err error) { r1, _, e1 := syscall.Syscall(procSetupDiGetDeviceInstallParamsW.Addr(), 3, uintptr(deviceInfoSet), uintptr(unsafe.Pointer(deviceInfoData)), uintptr(unsafe.Pointer(deviceInstallParams))) if r1 == 0 { err = errnoErr(e1) } return } func setupDiGetDeviceInstanceId(deviceInfoSet DevInfo, deviceInfoData *DevInfoData, instanceId *uint16, instanceIdSize uint32, instanceIdRequiredSize *uint32) (err error) { r1, _, e1 := syscall.Syscall6(procSetupDiGetDeviceInstanceIdW.Addr(), 5, uintptr(deviceInfoSet), uintptr(unsafe.Pointer(deviceInfoData)), uintptr(unsafe.Pointer(instanceId)), uintptr(instanceIdSize), uintptr(unsafe.Pointer(instanceIdRequiredSize)), 0) if r1 == 0 { err = errnoErr(e1) } return } func setupDiGetDeviceProperty(deviceInfoSet DevInfo, deviceInfoData *DevInfoData, propertyKey *DEVPROPKEY, propertyType *DEVPROPTYPE, propertyBuffer *byte, propertyBufferSize uint32, requiredSize *uint32, flags uint32) (err error) { r1, _, e1 := syscall.Syscall9(procSetupDiGetDevicePropertyW.Addr(), 8, uintptr(deviceInfoSet), uintptr(unsafe.Pointer(deviceInfoData)), uintptr(unsafe.Pointer(propertyKey)), uintptr(unsafe.Pointer(propertyType)), uintptr(unsafe.Pointer(propertyBuffer)), uintptr(propertyBufferSize), uintptr(unsafe.Pointer(requiredSize)), uintptr(flags), 0) if r1 == 0 { err = errnoErr(e1) } return } func setupDiGetDeviceRegistryProperty(deviceInfoSet DevInfo, deviceInfoData *DevInfoData, property SPDRP, propertyRegDataType *uint32, propertyBuffer *byte, propertyBufferSize uint32, requiredSize *uint32) (err error) { r1, _, e1 := syscall.Syscall9(procSetupDiGetDeviceRegistryPropertyW.Addr(), 7, uintptr(deviceInfoSet), uintptr(unsafe.Pointer(deviceInfoData)), uintptr(property), uintptr(unsafe.Pointer(propertyRegDataType)), uintptr(unsafe.Pointer(propertyBuffer)), uintptr(propertyBufferSize), uintptr(unsafe.Pointer(requiredSize)), 0, 0) if r1 == 0 { err = errnoErr(e1) } return } func setupDiGetDriverInfoDetail(deviceInfoSet DevInfo, deviceInfoData *DevInfoData, driverInfoData *DrvInfoData, driverInfoDetailData *DrvInfoDetailData, driverInfoDetailDataSize uint32, requiredSize *uint32) (err error) { r1, _, e1 := syscall.Syscall6(procSetupDiGetDriverInfoDetailW.Addr(), 6, uintptr(deviceInfoSet), uintptr(unsafe.Pointer(deviceInfoData)), uintptr(unsafe.Pointer(driverInfoData)), uintptr(unsafe.Pointer(driverInfoDetailData)), uintptr(driverInfoDetailDataSize), uintptr(unsafe.Pointer(requiredSize))) if r1 == 0 { err = errnoErr(e1) } return } func setupDiGetSelectedDevice(deviceInfoSet DevInfo, deviceInfoData *DevInfoData) (err error) { r1, _, e1 := syscall.Syscall(procSetupDiGetSelectedDevice.Addr(), 2, uintptr(deviceInfoSet), uintptr(unsafe.Pointer(deviceInfoData)), 0) if r1 == 0 { err = errnoErr(e1) } return } func setupDiGetSelectedDriver(deviceInfoSet DevInfo, deviceInfoData *DevInfoData, driverInfoData *DrvInfoData) (err error) { r1, _, e1 := syscall.Syscall(procSetupDiGetSelectedDriverW.Addr(), 3, uintptr(deviceInfoSet), uintptr(unsafe.Pointer(deviceInfoData)), uintptr(unsafe.Pointer(driverInfoData))) if r1 == 0 { err = errnoErr(e1) } return } func SetupDiOpenDevRegKey(deviceInfoSet DevInfo, deviceInfoData *DevInfoData, Scope DICS_FLAG, HwProfile uint32, KeyType DIREG, samDesired uint32) (key Handle, err error) { r0, _, e1 := syscall.Syscall6(procSetupDiOpenDevRegKey.Addr(), 6, uintptr(deviceInfoSet), uintptr(unsafe.Pointer(deviceInfoData)), uintptr(Scope), uintptr(HwProfile), uintptr(KeyType), uintptr(samDesired)) key = Handle(r0) if key == InvalidHandle { err = errnoErr(e1) } return } func SetupDiSetClassInstallParams(deviceInfoSet DevInfo, deviceInfoData *DevInfoData, classInstallParams *ClassInstallHeader, classInstallParamsSize uint32) (err error) { r1, _, e1 := syscall.Syscall6(procSetupDiSetClassInstallParamsW.Addr(), 4, uintptr(deviceInfoSet), uintptr(unsafe.Pointer(deviceInfoData)), uintptr(unsafe.Pointer(classInstallParams)), uintptr(classInstallParamsSize), 0, 0) if r1 == 0 { err = errnoErr(e1) } return } func SetupDiSetDeviceInstallParams(deviceInfoSet DevInfo, deviceInfoData *DevInfoData, deviceInstallParams *DevInstallParams) (err error) { r1, _, e1 := syscall.Syscall(procSetupDiSetDeviceInstallParamsW.Addr(), 3, uintptr(deviceInfoSet), uintptr(unsafe.Pointer(deviceInfoData)), uintptr(unsafe.Pointer(deviceInstallParams))) if r1 == 0 { err = errnoErr(e1) } return } func setupDiSetDeviceRegistryProperty(deviceInfoSet DevInfo, deviceInfoData *DevInfoData, property SPDRP, propertyBuffer *byte, propertyBufferSize uint32) (err error) { r1, _, e1 := syscall.Syscall6(procSetupDiSetDeviceRegistryPropertyW.Addr(), 5, uintptr(deviceInfoSet), uintptr(unsafe.Pointer(deviceInfoData)), uintptr(property), uintptr(unsafe.Pointer(propertyBuffer)), uintptr(propertyBufferSize), 0) if r1 == 0 { err = errnoErr(e1) } return } func SetupDiSetSelectedDevice(deviceInfoSet DevInfo, deviceInfoData *DevInfoData) (err error) { r1, _, e1 := syscall.Syscall(procSetupDiSetSelectedDevice.Addr(), 2, uintptr(deviceInfoSet), uintptr(unsafe.Pointer(deviceInfoData)), 0) if r1 == 0 { err = errnoErr(e1) } return } func SetupDiSetSelectedDriver(deviceInfoSet DevInfo, deviceInfoData *DevInfoData, driverInfoData *DrvInfoData) (err error) { r1, _, e1 := syscall.Syscall(procSetupDiSetSelectedDriverW.Addr(), 3, uintptr(deviceInfoSet), uintptr(unsafe.Pointer(deviceInfoData)), uintptr(unsafe.Pointer(driverInfoData))) if r1 == 0 { err = errnoErr(e1) } return } func setupUninstallOEMInf(infFileName *uint16, flags SUOI, reserved uintptr) (err error) { r1, _, e1 := syscall.Syscall(procSetupUninstallOEMInfW.Addr(), 3, uintptr(unsafe.Pointer(infFileName)), uintptr(flags), uintptr(reserved)) if r1 == 0 { err = errnoErr(e1) } return } func commandLineToArgv(cmd *uint16, argc *int32) (argv **uint16, err error) { r0, _, e1 := syscall.Syscall(procCommandLineToArgvW.Addr(), 2, uintptr(unsafe.Pointer(cmd)), uintptr(unsafe.Pointer(argc)), 0) argv = (**uint16)(unsafe.Pointer(r0)) if argv == nil { err = errnoErr(e1) } return } func shGetKnownFolderPath(id *KNOWNFOLDERID, flags uint32, token Token, path **uint16) (ret error) { r0, _, _ := syscall.Syscall6(procSHGetKnownFolderPath.Addr(), 4, uintptr(unsafe.Pointer(id)), uintptr(flags), uintptr(token), uintptr(unsafe.Pointer(path)), 0, 0) if r0 != 0 { ret = syscall.Errno(r0) } return } func ShellExecute(hwnd Handle, verb *uint16, file *uint16, args *uint16, cwd *uint16, showCmd int32) (err error) { r1, _, e1 := syscall.Syscall6(procShellExecuteW.Addr(), 6, uintptr(hwnd), uintptr(unsafe.Pointer(verb)), uintptr(unsafe.Pointer(file)), uintptr(unsafe.Pointer(args)), uintptr(unsafe.Pointer(cwd)), uintptr(showCmd)) if r1 <= 32 { err = errnoErr(e1) } return } func EnumChildWindows(hwnd HWND, enumFunc uintptr, param unsafe.Pointer) { syscall.Syscall(procEnumChildWindows.Addr(), 3, uintptr(hwnd), uintptr(enumFunc), uintptr(param)) return } func EnumWindows(enumFunc uintptr, param unsafe.Pointer) (err error) { r1, _, e1 := syscall.Syscall(procEnumWindows.Addr(), 2, uintptr(enumFunc), uintptr(param), 0) if r1 == 0 { err = errnoErr(e1) } return } func ExitWindowsEx(flags uint32, reason uint32) (err error) { r1, _, e1 := syscall.Syscall(procExitWindowsEx.Addr(), 2, uintptr(flags), uintptr(reason), 0) if r1 == 0 { err = errnoErr(e1) } return } func GetClassName(hwnd HWND, className *uint16, maxCount int32) (copied int32, err error) { r0, _, e1 := syscall.Syscall(procGetClassNameW.Addr(), 3, uintptr(hwnd), uintptr(unsafe.Pointer(className)), uintptr(maxCount)) copied = int32(r0) if copied == 0 { err = errnoErr(e1) } return } func GetDesktopWindow() (hwnd HWND) { r0, _, _ := syscall.Syscall(procGetDesktopWindow.Addr(), 0, 0, 0, 0) hwnd = HWND(r0) return } func GetForegroundWindow() (hwnd HWND) { r0, _, _ := syscall.Syscall(procGetForegroundWindow.Addr(), 0, 0, 0, 0) hwnd = HWND(r0) return } func GetGUIThreadInfo(thread uint32, info *GUIThreadInfo) (err error) { r1, _, e1 := syscall.Syscall(procGetGUIThreadInfo.Addr(), 2, uintptr(thread), uintptr(unsafe.Pointer(info)), 0) if r1 == 0 { err = errnoErr(e1) } return } func GetKeyboardLayout(tid uint32) (hkl Handle) { r0, _, _ := syscall.Syscall(procGetKeyboardLayout.Addr(), 1, uintptr(tid), 0, 0) hkl = Handle(r0) return } func GetShellWindow() (shellWindow HWND) { r0, _, _ := syscall.Syscall(procGetShellWindow.Addr(), 0, 0, 0, 0) shellWindow = HWND(r0) return } func GetWindowThreadProcessId(hwnd HWND, pid *uint32) (tid uint32, err error) { r0, _, e1 := syscall.Syscall(procGetWindowThreadProcessId.Addr(), 2, uintptr(hwnd), uintptr(unsafe.Pointer(pid)), 0) tid = uint32(r0) if tid == 0 { err = errnoErr(e1) } return } func IsWindow(hwnd HWND) (isWindow bool) { r0, _, _ := syscall.Syscall(procIsWindow.Addr(), 1, uintptr(hwnd), 0, 0) isWindow = r0 != 0 return } func IsWindowUnicode(hwnd HWND) (isUnicode bool) { r0, _, _ := syscall.Syscall(procIsWindowUnicode.Addr(), 1, uintptr(hwnd), 0, 0) isUnicode = r0 != 0 return } func IsWindowVisible(hwnd HWND) (isVisible bool) { r0, _, _ := syscall.Syscall(procIsWindowVisible.Addr(), 1, uintptr(hwnd), 0, 0) isVisible = r0 != 0 return } func LoadKeyboardLayout(name *uint16, flags uint32) (hkl Handle, err error) { r0, _, e1 := syscall.Syscall(procLoadKeyboardLayoutW.Addr(), 2, uintptr(unsafe.Pointer(name)), uintptr(flags), 0) hkl = Handle(r0) if hkl == 0 { err = errnoErr(e1) } return } func MessageBox(hwnd HWND, text *uint16, caption *uint16, boxtype uint32) (ret int32, err error) { r0, _, e1 := syscall.Syscall6(procMessageBoxW.Addr(), 4, uintptr(hwnd), uintptr(unsafe.Pointer(text)), uintptr(unsafe.Pointer(caption)), uintptr(boxtype), 0, 0) ret = int32(r0) if ret == 0 { err = errnoErr(e1) } return } func ToUnicodeEx(vkey uint32, scancode uint32, keystate *byte, pwszBuff *uint16, cchBuff int32, flags uint32, hkl Handle) (ret int32) { r0, _, _ := syscall.Syscall9(procToUnicodeEx.Addr(), 7, uintptr(vkey), uintptr(scancode), uintptr(unsafe.Pointer(keystate)), uintptr(unsafe.Pointer(pwszBuff)), uintptr(cchBuff), uintptr(flags), uintptr(hkl), 0, 0) ret = int32(r0) return } func UnloadKeyboardLayout(hkl Handle) (err error) { r1, _, e1 := syscall.Syscall(procUnloadKeyboardLayout.Addr(), 1, uintptr(hkl), 0, 0) if r1 == 0 { err = errnoErr(e1) } return } func CreateEnvironmentBlock(block **uint16, token Token, inheritExisting bool) (err error) { var _p0 uint32 if inheritExisting { _p0 = 1 } r1, _, e1 := syscall.Syscall(procCreateEnvironmentBlock.Addr(), 3, uintptr(unsafe.Pointer(block)), uintptr(token), uintptr(_p0)) if r1 == 0 { err = errnoErr(e1) } return } func DestroyEnvironmentBlock(block *uint16) (err error) { r1, _, e1 := syscall.Syscall(procDestroyEnvironmentBlock.Addr(), 1, uintptr(unsafe.Pointer(block)), 0, 0) if r1 == 0 { err = errnoErr(e1) } return } func GetUserProfileDirectory(t Token, dir *uint16, dirLen *uint32) (err error) { r1, _, e1 := syscall.Syscall(procGetUserProfileDirectoryW.Addr(), 3, uintptr(t), uintptr(unsafe.Pointer(dir)), uintptr(unsafe.Pointer(dirLen))) if r1 == 0 { err = errnoErr(e1) } return } func GetFileVersionInfoSize(filename string, zeroHandle *Handle) (bufSize uint32, err error) { var _p0 *uint16 _p0, err = syscall.UTF16PtrFromString(filename) if err != nil { return } return _GetFileVersionInfoSize(_p0, zeroHandle) } func _GetFileVersionInfoSize(filename *uint16, zeroHandle *Handle) (bufSize uint32, err error) { r0, _, e1 := syscall.Syscall(procGetFileVersionInfoSizeW.Addr(), 2, uintptr(unsafe.Pointer(filename)), uintptr(unsafe.Pointer(zeroHandle)), 0) bufSize = uint32(r0) if bufSize == 0 { err = errnoErr(e1) } return } func GetFileVersionInfo(filename string, handle uint32, bufSize uint32, buffer unsafe.Pointer) (err error) { var _p0 *uint16 _p0, err = syscall.UTF16PtrFromString(filename) if err != nil { return } return _GetFileVersionInfo(_p0, handle, bufSize, buffer) } func _GetFileVersionInfo(filename *uint16, handle uint32, bufSize uint32, buffer unsafe.Pointer) (err error) { r1, _, e1 := syscall.Syscall6(procGetFileVersionInfoW.Addr(), 4, uintptr(unsafe.Pointer(filename)), uintptr(handle), uintptr(bufSize), uintptr(buffer), 0, 0) if r1 == 0 { err = errnoErr(e1) } return } func VerQueryValue(block unsafe.Pointer, subBlock string, pointerToBufferPointer unsafe.Pointer, bufSize *uint32) (err error) { var _p0 *uint16 _p0, err = syscall.UTF16PtrFromString(subBlock) if err != nil { return } return _VerQueryValue(block, _p0, pointerToBufferPointer, bufSize) } func _VerQueryValue(block unsafe.Pointer, subBlock *uint16, pointerToBufferPointer unsafe.Pointer, bufSize *uint32) (err error) { r1, _, e1 := syscall.Syscall6(procVerQueryValueW.Addr(), 4, uintptr(block), uintptr(unsafe.Pointer(subBlock)), uintptr(pointerToBufferPointer), uintptr(unsafe.Pointer(bufSize)), 0, 0) if r1 == 0 { err = errnoErr(e1) } return } func TimeBeginPeriod(period uint32) (err error) { r1, _, e1 := syscall.Syscall(proctimeBeginPeriod.Addr(), 1, uintptr(period), 0, 0) if r1 != 0 { err = errnoErr(e1) } return } func TimeEndPeriod(period uint32) (err error) { r1, _, e1 := syscall.Syscall(proctimeEndPeriod.Addr(), 1, uintptr(period), 0, 0) if r1 != 0 { err = errnoErr(e1) } return } func WinVerifyTrustEx(hwnd HWND, actionId *GUID, data *WinTrustData) (ret error) { r0, _, _ := syscall.Syscall(procWinVerifyTrustEx.Addr(), 3, uintptr(hwnd), uintptr(unsafe.Pointer(actionId)), uintptr(unsafe.Pointer(data))) if r0 != 0 { ret = syscall.Errno(r0) } return } func FreeAddrInfoW(addrinfo *AddrinfoW) { syscall.Syscall(procFreeAddrInfoW.Addr(), 1, uintptr(unsafe.Pointer(addrinfo)), 0, 0) return } func GetAddrInfoW(nodename *uint16, servicename *uint16, hints *AddrinfoW, result **AddrinfoW) (sockerr error) { r0, _, _ := syscall.Syscall6(procGetAddrInfoW.Addr(), 4, uintptr(unsafe.Pointer(nodename)), uintptr(unsafe.Pointer(servicename)), uintptr(unsafe.Pointer(hints)), uintptr(unsafe.Pointer(result)), 0, 0) if r0 != 0 { sockerr = syscall.Errno(r0) } return } func WSACleanup() (err error) { r1, _, e1 := syscall.Syscall(procWSACleanup.Addr(), 0, 0, 0, 0) if r1 == socket_error { err = errnoErr(e1) } return } func WSAEnumProtocols(protocols *int32, protocolBuffer *WSAProtocolInfo, bufferLength *uint32) (n int32, err error) { r0, _, e1 := syscall.Syscall(procWSAEnumProtocolsW.Addr(), 3, uintptr(unsafe.Pointer(protocols)), uintptr(unsafe.Pointer(protocolBuffer)), uintptr(unsafe.Pointer(bufferLength))) n = int32(r0) if n == -1 { err = errnoErr(e1) } return } func WSAGetOverlappedResult(h Handle, o *Overlapped, bytes *uint32, wait bool, flags *uint32) (err error) { var _p0 uint32 if wait { _p0 = 1 } r1, _, e1 := syscall.Syscall6(procWSAGetOverlappedResult.Addr(), 5, uintptr(h), uintptr(unsafe.Pointer(o)), uintptr(unsafe.Pointer(bytes)), uintptr(_p0), uintptr(unsafe.Pointer(flags)), 0) if r1 == 0 { err = errnoErr(e1) } return } func WSAIoctl(s Handle, iocc uint32, inbuf *byte, cbif uint32, outbuf *byte, cbob uint32, cbbr *uint32, overlapped *Overlapped, completionRoutine uintptr) (err error) { r1, _, e1 := syscall.Syscall9(procWSAIoctl.Addr(), 9, uintptr(s), uintptr(iocc), uintptr(unsafe.Pointer(inbuf)), uintptr(cbif), uintptr(unsafe.Pointer(outbuf)), uintptr(cbob), uintptr(unsafe.Pointer(cbbr)), uintptr(unsafe.Pointer(overlapped)), uintptr(completionRoutine)) if r1 == socket_error { err = errnoErr(e1) } return } func WSALookupServiceBegin(querySet *WSAQUERYSET, flags uint32, handle *Handle) (err error) { r1, _, e1 := syscall.Syscall(procWSALookupServiceBeginW.Addr(), 3, uintptr(unsafe.Pointer(querySet)), uintptr(flags), uintptr(unsafe.Pointer(handle))) if r1 == socket_error { err = errnoErr(e1) } return } func WSALookupServiceEnd(handle Handle) (err error) { r1, _, e1 := syscall.Syscall(procWSALookupServiceEnd.Addr(), 1, uintptr(handle), 0, 0) if r1 == socket_error { err = errnoErr(e1) } return } func WSALookupServiceNext(handle Handle, flags uint32, size *int32, querySet *WSAQUERYSET) (err error) { r1, _, e1 := syscall.Syscall6(procWSALookupServiceNextW.Addr(), 4, uintptr(handle), uintptr(flags), uintptr(unsafe.Pointer(size)), uintptr(unsafe.Pointer(querySet)), 0, 0) if r1 == socket_error { err = errnoErr(e1) } return } func WSARecv(s Handle, bufs *WSABuf, bufcnt uint32, recvd *uint32, flags *uint32, overlapped *Overlapped, croutine *byte) (err error) { r1, _, e1 := syscall.Syscall9(procWSARecv.Addr(), 7, uintptr(s), uintptr(unsafe.Pointer(bufs)), uintptr(bufcnt), uintptr(unsafe.Pointer(recvd)), uintptr(unsafe.Pointer(flags)), uintptr(unsafe.Pointer(overlapped)), uintptr(unsafe.Pointer(croutine)), 0, 0) if r1 == socket_error { err = errnoErr(e1) } return } func WSARecvFrom(s Handle, bufs *WSABuf, bufcnt uint32, recvd *uint32, flags *uint32, from *RawSockaddrAny, fromlen *int32, overlapped *Overlapped, croutine *byte) (err error) { r1, _, e1 := syscall.Syscall9(procWSARecvFrom.Addr(), 9, uintptr(s), uintptr(unsafe.Pointer(bufs)), uintptr(bufcnt), uintptr(unsafe.Pointer(recvd)), uintptr(unsafe.Pointer(flags)), uintptr(unsafe.Pointer(from)), uintptr(unsafe.Pointer(fromlen)), uintptr(unsafe.Pointer(overlapped)), uintptr(unsafe.Pointer(croutine))) if r1 == socket_error { err = errnoErr(e1) } return } func WSASend(s Handle, bufs *WSABuf, bufcnt uint32, sent *uint32, flags uint32, overlapped *Overlapped, croutine *byte) (err error) { r1, _, e1 := syscall.Syscall9(procWSASend.Addr(), 7, uintptr(s), uintptr(unsafe.Pointer(bufs)), uintptr(bufcnt), uintptr(unsafe.Pointer(sent)), uintptr(flags), uintptr(unsafe.Pointer(overlapped)), uintptr(unsafe.Pointer(croutine)), 0, 0) if r1 == socket_error { err = errnoErr(e1) } return } func WSASendTo(s Handle, bufs *WSABuf, bufcnt uint32, sent *uint32, flags uint32, to *RawSockaddrAny, tolen int32, overlapped *Overlapped, croutine *byte) (err error) { r1, _, e1 := syscall.Syscall9(procWSASendTo.Addr(), 9, uintptr(s), uintptr(unsafe.Pointer(bufs)), uintptr(bufcnt), uintptr(unsafe.Pointer(sent)), uintptr(flags), uintptr(unsafe.Pointer(to)), uintptr(tolen), uintptr(unsafe.Pointer(overlapped)), uintptr(unsafe.Pointer(croutine))) if r1 == socket_error { err = errnoErr(e1) } return } func WSASocket(af int32, typ int32, protocol int32, protoInfo *WSAProtocolInfo, group uint32, flags uint32) (handle Handle, err error) { r0, _, e1 := syscall.Syscall6(procWSASocketW.Addr(), 6, uintptr(af), uintptr(typ), uintptr(protocol), uintptr(unsafe.Pointer(protoInfo)), uintptr(group), uintptr(flags)) handle = Handle(r0) if handle == InvalidHandle { err = errnoErr(e1) } return } func WSAStartup(verreq uint32, data *WSAData) (sockerr error) { r0, _, _ := syscall.Syscall(procWSAStartup.Addr(), 2, uintptr(verreq), uintptr(unsafe.Pointer(data)), 0) if r0 != 0 { sockerr = syscall.Errno(r0) } return } func bind(s Handle, name unsafe.Pointer, namelen int32) (err error) { r1, _, e1 := syscall.Syscall(procbind.Addr(), 3, uintptr(s), uintptr(name), uintptr(namelen)) if r1 == socket_error { err = errnoErr(e1) } return } func Closesocket(s Handle) (err error) { r1, _, e1 := syscall.Syscall(procclosesocket.Addr(), 1, uintptr(s), 0, 0) if r1 == socket_error { err = errnoErr(e1) } return } func connect(s Handle, name unsafe.Pointer, namelen int32) (err error) { r1, _, e1 := syscall.Syscall(procconnect.Addr(), 3, uintptr(s), uintptr(name), uintptr(namelen)) if r1 == socket_error { err = errnoErr(e1) } return } func GetHostByName(name string) (h *Hostent, err error) { var _p0 *byte _p0, err = syscall.BytePtrFromString(name) if err != nil { return } return _GetHostByName(_p0) } func _GetHostByName(name *byte) (h *Hostent, err error) { r0, _, e1 := syscall.Syscall(procgethostbyname.Addr(), 1, uintptr(unsafe.Pointer(name)), 0, 0) h = (*Hostent)(unsafe.Pointer(r0)) if h == nil { err = errnoErr(e1) } return } func getpeername(s Handle, rsa *RawSockaddrAny, addrlen *int32) (err error) { r1, _, e1 := syscall.Syscall(procgetpeername.Addr(), 3, uintptr(s), uintptr(unsafe.Pointer(rsa)), uintptr(unsafe.Pointer(addrlen))) if r1 == socket_error { err = errnoErr(e1) } return } func GetProtoByName(name string) (p *Protoent, err error) { var _p0 *byte _p0, err = syscall.BytePtrFromString(name) if err != nil { return } return _GetProtoByName(_p0) } func _GetProtoByName(name *byte) (p *Protoent, err error) { r0, _, e1 := syscall.Syscall(procgetprotobyname.Addr(), 1, uintptr(unsafe.Pointer(name)), 0, 0) p = (*Protoent)(unsafe.Pointer(r0)) if p == nil { err = errnoErr(e1) } return } func GetServByName(name string, proto string) (s *Servent, err error) { var _p0 *byte _p0, err = syscall.BytePtrFromString(name) if err != nil { return } var _p1 *byte _p1, err = syscall.BytePtrFromString(proto) if err != nil { return } return _GetServByName(_p0, _p1) } func _GetServByName(name *byte, proto *byte) (s *Servent, err error) { r0, _, e1 := syscall.Syscall(procgetservbyname.Addr(), 2, uintptr(unsafe.Pointer(name)), uintptr(unsafe.Pointer(proto)), 0) s = (*Servent)(unsafe.Pointer(r0)) if s == nil { err = errnoErr(e1) } return } func getsockname(s Handle, rsa *RawSockaddrAny, addrlen *int32) (err error) { r1, _, e1 := syscall.Syscall(procgetsockname.Addr(), 3, uintptr(s), uintptr(unsafe.Pointer(rsa)), uintptr(unsafe.Pointer(addrlen))) if r1 == socket_error { err = errnoErr(e1) } return } func Getsockopt(s Handle, level int32, optname int32, optval *byte, optlen *int32) (err error) { r1, _, e1 := syscall.Syscall6(procgetsockopt.Addr(), 5, uintptr(s), uintptr(level), uintptr(optname), uintptr(unsafe.Pointer(optval)), uintptr(unsafe.Pointer(optlen)), 0) if r1 == socket_error { err = errnoErr(e1) } return } func listen(s Handle, backlog int32) (err error) { r1, _, e1 := syscall.Syscall(proclisten.Addr(), 2, uintptr(s), uintptr(backlog), 0) if r1 == socket_error { err = errnoErr(e1) } return } func Ntohs(netshort uint16) (u uint16) { r0, _, _ := syscall.Syscall(procntohs.Addr(), 1, uintptr(netshort), 0, 0) u = uint16(r0) return } func recvfrom(s Handle, buf []byte, flags int32, from *RawSockaddrAny, fromlen *int32) (n int32, err error) { var _p0 *byte if len(buf) > 0 { _p0 = &buf[0] } r0, _, e1 := syscall.Syscall6(procrecvfrom.Addr(), 6, uintptr(s), uintptr(unsafe.Pointer(_p0)), uintptr(len(buf)), uintptr(flags), uintptr(unsafe.Pointer(from)), uintptr(unsafe.Pointer(fromlen))) n = int32(r0) if n == -1 { err = errnoErr(e1) } return } func sendto(s Handle, buf []byte, flags int32, to unsafe.Pointer, tolen int32) (err error) { var _p0 *byte if len(buf) > 0 { _p0 = &buf[0] } r1, _, e1 := syscall.Syscall6(procsendto.Addr(), 6, uintptr(s), uintptr(unsafe.Pointer(_p0)), uintptr(len(buf)), uintptr(flags), uintptr(to), uintptr(tolen)) if r1 == socket_error { err = errnoErr(e1) } return } func Setsockopt(s Handle, level int32, optname int32, optval *byte, optlen int32) (err error) { r1, _, e1 := syscall.Syscall6(procsetsockopt.Addr(), 5, uintptr(s), uintptr(level), uintptr(optname), uintptr(unsafe.Pointer(optval)), uintptr(optlen), 0) if r1 == socket_error { err = errnoErr(e1) } return } func shutdown(s Handle, how int32) (err error) { r1, _, e1 := syscall.Syscall(procshutdown.Addr(), 2, uintptr(s), uintptr(how), 0) if r1 == socket_error { err = errnoErr(e1) } return } func socket(af int32, typ int32, protocol int32) (handle Handle, err error) { r0, _, e1 := syscall.Syscall(procsocket.Addr(), 3, uintptr(af), uintptr(typ), uintptr(protocol)) handle = Handle(r0) if handle == InvalidHandle { err = errnoErr(e1) } return } func WTSEnumerateSessions(handle Handle, reserved uint32, version uint32, sessions **WTS_SESSION_INFO, count *uint32) (err error) { r1, _, e1 := syscall.Syscall6(procWTSEnumerateSessionsW.Addr(), 5, uintptr(handle), uintptr(reserved), uintptr(version), uintptr(unsafe.Pointer(sessions)), uintptr(unsafe.Pointer(count)), 0) if r1 == 0 { err = errnoErr(e1) } return } func WTSFreeMemory(ptr uintptr) { syscall.Syscall(procWTSFreeMemory.Addr(), 1, uintptr(ptr), 0, 0) return } func WTSQueryUserToken(session uint32, token *Token) (err error) { r1, _, e1 := syscall.Syscall(procWTSQueryUserToken.Addr(), 2, uintptr(session), uintptr(unsafe.Pointer(token)), 0) if r1 == 0 { err = errnoErr(e1) } return } dependencies/pkg/mod/golang.org/x/sys@v0.26.0/windows/aliases.go0000644000000000000000000000043115107355264023266 0ustar rootroot// Copyright 2018 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:build windows package windows import "syscall" type Errno = syscall.Errno type SysProcAttr = syscall.SysProcAttr dependencies/pkg/mod/golang.org/x/sys@v0.26.0/windows/svc/0000755000000000000000000000000015107355264022113 5ustar rootrootdependencies/pkg/mod/golang.org/x/sys@v0.26.0/windows/svc/debug/0000755000000000000000000000000015107355264023201 5ustar rootrootdependencies/pkg/mod/golang.org/x/sys@v0.26.0/windows/svc/debug/log.go0000644000000000000000000000263315107355264024315 0ustar rootroot// 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. //go:build windows package debug import ( "os" "strconv" ) // Log interface allows different log implementations to be used. type Log interface { Close() error Info(eid uint32, msg string) error Warning(eid uint32, msg string) error Error(eid uint32, msg string) error } // ConsoleLog provides access to the console. type ConsoleLog struct { Name string } // New creates new ConsoleLog. func New(source string) *ConsoleLog { return &ConsoleLog{Name: source} } // Close closes console log l. func (l *ConsoleLog) Close() error { return nil } func (l *ConsoleLog) report(kind string, eid uint32, msg string) error { s := l.Name + "." + kind + "(" + strconv.Itoa(int(eid)) + "): " + msg + "\n" _, err := os.Stdout.Write([]byte(s)) return err } // Info writes an information event msg with event id eid to the console l. func (l *ConsoleLog) Info(eid uint32, msg string) error { return l.report("info", eid, msg) } // Warning writes an warning event msg with event id eid to the console l. func (l *ConsoleLog) Warning(eid uint32, msg string) error { return l.report("warn", eid, msg) } // Error writes an error event msg with event id eid to the console l. func (l *ConsoleLog) Error(eid uint32, msg string) error { return l.report("error", eid, msg) } dependencies/pkg/mod/golang.org/x/sys@v0.26.0/windows/svc/debug/service.go0000644000000000000000000000200415107355264025164 0ustar rootroot// 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. //go:build windows // Package debug provides facilities to execute svc.Handler on console. package debug import ( "os" "os/signal" "syscall" "golang.org/x/sys/windows/svc" ) // Run executes service name by calling appropriate handler function. // The process is running on console, unlike real service. Use Ctrl+C to // send "Stop" command to your service. func Run(name string, handler svc.Handler) error { cmds := make(chan svc.ChangeRequest) changes := make(chan svc.Status) sig := make(chan os.Signal, 1) signal.Notify(sig) go func() { status := svc.Status{State: svc.Stopped} for { select { case <-sig: cmds <- svc.ChangeRequest{Cmd: svc.Stop, CurrentStatus: status} case status = <-changes: } } }() _, errno := handler.Execute([]string{name}, cmds, changes) if errno != 0 { return syscall.Errno(errno) } return nil } dependencies/pkg/mod/golang.org/x/sys@v0.26.0/windows/svc/example/0000755000000000000000000000000015107355264023546 5ustar rootrootdependencies/pkg/mod/golang.org/x/sys@v0.26.0/windows/svc/example/beep.go0000644000000000000000000000073615107355264025016 0ustar rootroot// 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. //go:build windows package main import ( "syscall" ) // BUG(brainman): MessageBeep Windows api is broken on Windows 7, // so this example does not beep when runs as service on Windows 7. var ( beepFunc = syscall.MustLoadDLL("user32.dll").MustFindProc("MessageBeep") ) func beep() { beepFunc.Call(0xffffffff) } dependencies/pkg/mod/golang.org/x/sys@v0.26.0/windows/svc/example/service.go0000644000000000000000000000430715107355264025541 0ustar rootroot// 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. //go:build windows package main import ( "fmt" "strings" "time" "golang.org/x/sys/windows/svc" "golang.org/x/sys/windows/svc/debug" "golang.org/x/sys/windows/svc/eventlog" ) var elog debug.Log type exampleService struct{} func (m *exampleService) Execute(args []string, r <-chan svc.ChangeRequest, changes chan<- svc.Status) (ssec bool, errno uint32) { const cmdsAccepted = svc.AcceptStop | svc.AcceptShutdown | svc.AcceptPauseAndContinue changes <- svc.Status{State: svc.StartPending} fasttick := time.Tick(500 * time.Millisecond) slowtick := time.Tick(2 * time.Second) tick := fasttick changes <- svc.Status{State: svc.Running, Accepts: cmdsAccepted} loop: for { select { case <-tick: beep() elog.Info(1, "beep") case c := <-r: switch c.Cmd { case svc.Interrogate: changes <- c.CurrentStatus // Testing deadlock from https://code.google.com/p/winsvc/issues/detail?id=4 time.Sleep(100 * time.Millisecond) changes <- c.CurrentStatus case svc.Stop, svc.Shutdown: // golang.org/x/sys/windows/svc.TestExample is verifying this output. testOutput := strings.Join(args, "-") testOutput += fmt.Sprintf("-%d", c.Context) elog.Info(1, testOutput) break loop case svc.Pause: changes <- svc.Status{State: svc.Paused, Accepts: cmdsAccepted} tick = slowtick case svc.Continue: changes <- svc.Status{State: svc.Running, Accepts: cmdsAccepted} tick = fasttick default: elog.Error(1, fmt.Sprintf("unexpected control request #%d", c)) } } } changes <- svc.Status{State: svc.StopPending} return } func runService(name string, isDebug bool) { var err error if isDebug { elog = debug.New(name) } else { elog, err = eventlog.Open(name) if err != nil { return } } defer elog.Close() elog.Info(1, fmt.Sprintf("starting %s service", name)) run := svc.Run if isDebug { run = debug.Run } err = run(name, &exampleService{}) if err != nil { elog.Error(1, fmt.Sprintf("%s service failed: %v", name, err)) return } elog.Info(1, fmt.Sprintf("%s service stopped", name)) } dependencies/pkg/mod/golang.org/x/sys@v0.26.0/windows/svc/example/manage.go0000644000000000000000000000256515107355264025335 0ustar rootroot// 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. //go:build windows package main import ( "fmt" "time" "golang.org/x/sys/windows/svc" "golang.org/x/sys/windows/svc/mgr" ) func startService(name string) error { m, err := mgr.Connect() if err != nil { return err } defer m.Disconnect() s, err := m.OpenService(name) if err != nil { return fmt.Errorf("could not access service: %v", err) } defer s.Close() err = s.Start("is", "manual-started") if err != nil { return fmt.Errorf("could not start service: %v", err) } return nil } func controlService(name string, c svc.Cmd, to svc.State) error { m, err := mgr.Connect() if err != nil { return err } defer m.Disconnect() s, err := m.OpenService(name) if err != nil { return fmt.Errorf("could not access service: %v", err) } defer s.Close() status, err := s.Control(c) if err != nil { return fmt.Errorf("could not send control=%d: %v", c, err) } timeout := time.Now().Add(10 * time.Second) for status.State != to { if timeout.Before(time.Now()) { return fmt.Errorf("timeout waiting for service to go to state=%d", to) } time.Sleep(300 * time.Millisecond) status, err = s.Query() if err != nil { return fmt.Errorf("could not retrieve service status: %v", err) } } return nil } dependencies/pkg/mod/golang.org/x/sys@v0.26.0/windows/svc/example/main.go0000644000000000000000000000346115107355264025025 0ustar rootroot// 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. //go:build windows // Example service program that beeps. // // The program demonstrates how to create Windows service and // install / remove it on a computer. It also shows how to // stop / start / pause / continue any service, and how to // write to event log. It also shows how to use debug // facilities available in debug package. package main import ( "flag" "fmt" "log" "os" "strings" "golang.org/x/sys/windows/svc" ) func usage(errmsg string) { fmt.Fprintf(os.Stderr, "%s\n\n"+ "usage: %s \n"+ " where is one of\n"+ " install, remove, debug, start, stop, pause or continue.\n", errmsg, os.Args[0]) os.Exit(2) } var svcName = "exampleservice" func main() { flag.StringVar(&svcName, "name", svcName, "name of the service") flag.Parse() inService, err := svc.IsWindowsService() if err != nil { log.Fatalf("failed to determine if we are running in service: %v", err) } if inService { runService(svcName, false) return } if len(os.Args) < 2 { usage("no command specified") } cmd := strings.ToLower(os.Args[1]) switch cmd { case "debug": runService(svcName, true) return case "install": err = installService(svcName, "example service") case "remove": err = removeService(svcName) case "start": err = startService(svcName) case "stop": err = controlService(svcName, svc.Stop, svc.Stopped) case "pause": err = controlService(svcName, svc.Pause, svc.Paused) case "continue": err = controlService(svcName, svc.Continue, svc.Running) default: usage(fmt.Sprintf("invalid command %s", cmd)) } if err != nil { log.Fatalf("failed to %s %s: %v", cmd, svcName, err) } return } dependencies/pkg/mod/golang.org/x/sys@v0.26.0/windows/svc/example/install.go0000644000000000000000000000345415107355264025551 0ustar rootroot// 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. //go:build windows package main import ( "fmt" "os" "path/filepath" "golang.org/x/sys/windows/svc/eventlog" "golang.org/x/sys/windows/svc/mgr" ) func exePath() (string, error) { prog := os.Args[0] p, err := filepath.Abs(prog) if err != nil { return "", err } fi, err := os.Stat(p) if err == nil { if !fi.Mode().IsDir() { return p, nil } err = fmt.Errorf("%s is directory", p) } if filepath.Ext(p) == "" { p += ".exe" fi, err := os.Stat(p) if err == nil { if !fi.Mode().IsDir() { return p, nil } err = fmt.Errorf("%s is directory", p) } } return "", err } func installService(name, desc string) error { exepath, err := exePath() if err != nil { return err } m, err := mgr.Connect() if err != nil { return err } defer m.Disconnect() s, err := m.OpenService(name) if err == nil { s.Close() return fmt.Errorf("service %s already exists", name) } s, err = m.CreateService(name, exepath, mgr.Config{DisplayName: desc}, "is", "auto-started") if err != nil { return err } defer s.Close() err = eventlog.InstallAsEventCreate(name, eventlog.Error|eventlog.Warning|eventlog.Info) if err != nil { s.Delete() return fmt.Errorf("SetupEventLogSource() failed: %s", err) } return nil } func removeService(name string) error { m, err := mgr.Connect() if err != nil { return err } defer m.Disconnect() s, err := m.OpenService(name) if err != nil { return fmt.Errorf("service %s is not installed", name) } defer s.Close() err = s.Delete() if err != nil { return err } err = eventlog.Remove(name) if err != nil { return fmt.Errorf("RemoveEventLogSource() failed: %s", err) } return nil } dependencies/pkg/mod/golang.org/x/sys@v0.26.0/windows/svc/security.go0000644000000000000000000000632615107355264024320 0ustar rootroot// 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. //go:build windows package svc import ( "strings" "unsafe" "golang.org/x/sys/windows" ) func allocSid(subAuth0 uint32) (*windows.SID, error) { var sid *windows.SID err := windows.AllocateAndInitializeSid(&windows.SECURITY_NT_AUTHORITY, 1, subAuth0, 0, 0, 0, 0, 0, 0, 0, &sid) if err != nil { return nil, err } return sid, nil } // IsAnInteractiveSession determines if calling process is running interactively. // It queries the process token for membership in the Interactive group. // http://stackoverflow.com/questions/2668851/how-do-i-detect-that-my-application-is-running-as-service-or-in-an-interactive-s // // Deprecated: Use IsWindowsService instead. func IsAnInteractiveSession() (bool, error) { interSid, err := allocSid(windows.SECURITY_INTERACTIVE_RID) if err != nil { return false, err } defer windows.FreeSid(interSid) serviceSid, err := allocSid(windows.SECURITY_SERVICE_RID) if err != nil { return false, err } defer windows.FreeSid(serviceSid) t, err := windows.OpenCurrentProcessToken() if err != nil { return false, err } defer t.Close() gs, err := t.GetTokenGroups() if err != nil { return false, err } for _, g := range gs.AllGroups() { if windows.EqualSid(g.Sid, interSid) { return true, nil } if windows.EqualSid(g.Sid, serviceSid) { return false, nil } } return false, nil } // IsWindowsService reports whether the process is currently executing // as a Windows service. func IsWindowsService() (bool, error) { // The below technique looks a bit hairy, but it's actually // exactly what the .NET framework does for the similarly named function: // https://github.com/dotnet/extensions/blob/f4066026ca06984b07e90e61a6390ac38152ba93/src/Hosting/WindowsServices/src/WindowsServiceHelpers.cs#L26-L31 // Specifically, it looks up whether the parent process has session ID zero // and is called "services". var currentProcess windows.PROCESS_BASIC_INFORMATION infoSize := uint32(unsafe.Sizeof(currentProcess)) err := windows.NtQueryInformationProcess(windows.CurrentProcess(), windows.ProcessBasicInformation, unsafe.Pointer(¤tProcess), infoSize, &infoSize) if err != nil { return false, err } var parentProcess *windows.SYSTEM_PROCESS_INFORMATION for infoSize = uint32((unsafe.Sizeof(*parentProcess) + unsafe.Sizeof(uintptr(0))) * 1024); ; { parentProcess = (*windows.SYSTEM_PROCESS_INFORMATION)(unsafe.Pointer(&make([]byte, infoSize)[0])) err = windows.NtQuerySystemInformation(windows.SystemProcessInformation, unsafe.Pointer(parentProcess), infoSize, &infoSize) if err == nil { break } else if err != windows.STATUS_INFO_LENGTH_MISMATCH { return false, err } } for ; ; parentProcess = (*windows.SYSTEM_PROCESS_INFORMATION)(unsafe.Pointer(uintptr(unsafe.Pointer(parentProcess)) + uintptr(parentProcess.NextEntryOffset))) { if parentProcess.UniqueProcessID == currentProcess.InheritedFromUniqueProcessId { return parentProcess.SessionID == 0 && strings.EqualFold("services.exe", parentProcess.ImageName.String()), nil } if parentProcess.NextEntryOffset == 0 { break } } return false, nil } dependencies/pkg/mod/golang.org/x/sys@v0.26.0/windows/svc/svc_test.go0000644000000000000000000001417015107355264024277 0ustar rootroot// 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. //go:build windows package svc_test import ( "fmt" "math/rand" "os" "os/exec" "path/filepath" "strings" "testing" "time" "golang.org/x/sys/windows/svc" "golang.org/x/sys/windows/svc/mgr" ) func getState(t *testing.T, s *mgr.Service) svc.State { status, err := s.Query() if err != nil { t.Fatalf("Query(%s) failed: %s", s.Name, err) } return status.State } func testState(t *testing.T, s *mgr.Service, want svc.State) { have := getState(t, s) if have != want { t.Fatalf("%s state is=%d want=%d", s.Name, have, want) } } func waitState(t *testing.T, s *mgr.Service, want svc.State) { for i := 0; ; i++ { have := getState(t, s) if have == want { return } if i > 10 { t.Fatalf("%s state is=%d, waiting timeout", s.Name, have) } time.Sleep(300 * time.Millisecond) } } // stopAndDeleteIfInstalled stops and deletes service name, // if the service is running and / or installed. func stopAndDeleteIfInstalled(t *testing.T, m *mgr.Mgr, name string) { s, err := m.OpenService(name) if err != nil { // Service is not installed. return } defer s.Close() // Make sure the service is not running, otherwise we won't be able to delete it. if getState(t, s) == svc.Running { _, err = s.Control(svc.Stop) if err != nil { t.Fatalf("Control(%s) failed: %s", s.Name, err) } waitState(t, s, svc.Stopped) } err = s.Delete() if err != nil { t.Fatalf("Delete failed: %s", err) } } func TestExample(t *testing.T) { if os.Getenv("GO_BUILDER_NAME") == "" { // Don't install services on arbitrary users' machines. t.Skip("skipping test that modifies system services: GO_BUILDER_NAME not set") } if testing.Short() { t.Skip("skipping test in short mode that modifies system services") } const name = "svctestservice" m, err := mgr.Connect() if err != nil { t.Fatalf("SCM connection failed: %s", err) } defer m.Disconnect() exepath := filepath.Join(t.TempDir(), "a.exe") o, err := exec.Command("go", "build", "-o", exepath, "golang.org/x/sys/windows/svc/example").CombinedOutput() if err != nil { t.Fatalf("failed to build service program: %v\n%v", err, string(o)) } stopAndDeleteIfInstalled(t, m, name) s, err := m.CreateService(name, exepath, mgr.Config{DisplayName: "x-sys svc test service"}, "-name", name) if err != nil { t.Fatalf("CreateService(%s) failed: %v", name, err) } defer s.Close() args := []string{"is", "manual-started", fmt.Sprintf("%d", rand.Int())} testState(t, s, svc.Stopped) err = s.Start(args...) if err != nil { t.Fatalf("Start(%s) failed: %s", s.Name, err) } waitState(t, s, svc.Running) time.Sleep(1 * time.Second) // testing deadlock from issues 4. _, err = s.Control(svc.Interrogate) if err != nil { t.Fatalf("Control(%s) failed: %s", s.Name, err) } _, err = s.Control(svc.Interrogate) if err != nil { t.Fatalf("Control(%s) failed: %s", s.Name, err) } time.Sleep(1 * time.Second) _, err = s.Control(svc.Stop) if err != nil { t.Fatalf("Control(%s) failed: %s", s.Name, err) } waitState(t, s, svc.Stopped) err = s.Delete() if err != nil { t.Fatalf("Delete failed: %s", err) } out, err := exec.Command("wevtutil.exe", "qe", "Application", "/q:*[System[Provider[@Name='"+name+"']]]", "/rd:true", "/c:10").CombinedOutput() if err != nil { t.Fatalf("wevtutil failed: %v\n%v", err, string(out)) } want := strings.Join(append([]string{name}, args...), "-") // Test context passing (see servicemain in sys_386.s and sys_amd64.s). want += "-123456" if !strings.Contains(string(out), want) { t.Errorf("%q string does not contain %q", out, want) } } func TestIsAnInteractiveSession(t *testing.T) { isInteractive, err := svc.IsAnInteractiveSession() if err != nil { t.Fatal(err) } if !isInteractive { t.Error("IsAnInteractiveSession returns false when running interactively.") } } func TestIsWindowsService(t *testing.T) { isSvc, err := svc.IsWindowsService() if err != nil { t.Fatal(err) } if isSvc { t.Error("IsWindowsService returns true when not running in a service.") } } func TestIsWindowsServiceWhenParentExits(t *testing.T) { if os.Getenv("GO_WANT_HELPER_PROCESS") == "parent" { // in parent process // Start the child and exit quickly. child := exec.Command(os.Args[0], "-test.run=^TestIsWindowsServiceWhenParentExits$") child.Env = append(os.Environ(), "GO_WANT_HELPER_PROCESS=child") err := child.Start() if err != nil { fmt.Fprintf(os.Stderr, "child start failed: %v", err) os.Exit(1) } os.Exit(0) } if os.Getenv("GO_WANT_HELPER_PROCESS") == "child" { // in child process dumpPath := os.Getenv("GO_WANT_HELPER_PROCESS_FILE") if dumpPath == "" { // We cannot report this error. But main test will notice // that we did not create dump file. os.Exit(1) } var msg string isSvc, err := svc.IsWindowsService() if err != nil { msg = err.Error() } if isSvc { msg = "IsWindowsService returns true when not running in a service." } err = os.WriteFile(dumpPath, []byte(msg), 0644) if err != nil { // We cannot report this error. But main test will notice // that we did not create dump file. os.Exit(2) } os.Exit(0) } // Run in a loop until it fails. for i := 0; i < 10; i++ { childDumpPath := filepath.Join(t.TempDir(), "issvc.txt") parent := exec.Command(os.Args[0], "-test.run=^TestIsWindowsServiceWhenParentExits$") parent.Env = append(os.Environ(), "GO_WANT_HELPER_PROCESS=parent", "GO_WANT_HELPER_PROCESS_FILE="+childDumpPath) parentOutput, err := parent.CombinedOutput() if err != nil { t.Errorf("parent failed: %v: %v", err, string(parentOutput)) } for i := 0; ; i++ { if _, err := os.Stat(childDumpPath); err == nil { break } time.Sleep(100 * time.Millisecond) if i > 10 { t.Fatal("timed out waiting for child output file to be created.") } } childOutput, err := os.ReadFile(childDumpPath) if err != nil { t.Fatalf("reading child output failed: %v", err) } if got, want := string(childOutput), ""; got != want { t.Fatalf("child output: want %q, got %q", want, got) } } } dependencies/pkg/mod/golang.org/x/sys@v0.26.0/windows/svc/mgr/0000755000000000000000000000000015107355264022700 5ustar rootrootdependencies/pkg/mod/golang.org/x/sys@v0.26.0/windows/svc/mgr/mgr_test.go0000644000000000000000000002657715107355264025074 0ustar rootroot// 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. //go:build windows package mgr_test import ( "fmt" "os" "path/filepath" "sort" "strings" "syscall" "testing" "time" "golang.org/x/sys/windows" "golang.org/x/sys/windows/svc" "golang.org/x/sys/windows/svc/mgr" ) func TestOpenLanManServer(t *testing.T) { m, err := mgr.Connect() if err != nil { if errno, ok := err.(syscall.Errno); ok && errno == syscall.ERROR_ACCESS_DENIED { t.Skip("Skipping test: we don't have rights to manage services.") } t.Fatalf("SCM connection failed: %s", err) } defer m.Disconnect() s, err := m.OpenService("LanmanServer") if err != nil { t.Fatalf("OpenService(lanmanserver) failed: %s", err) } defer s.Close() _, err = s.Config() if err != nil { t.Fatalf("Config failed: %s", err) } } func install(t *testing.T, m *mgr.Mgr, name, exepath string, c mgr.Config) { // Sometimes it takes a while for the service to get // removed after previous test run. for i := 0; ; i++ { s, err := m.OpenService(name) if err != nil { break } s.Close() if i > 10 { t.Fatalf("service %s already exists", name) } time.Sleep(300 * time.Millisecond) } s, err := m.CreateService(name, exepath, c) if err != nil { t.Fatalf("CreateService(%s) failed: %v", name, err) } defer s.Close() } func depString(d []string) string { if len(d) == 0 { return "" } for i := range d { d[i] = strings.ToLower(d[i]) } ss := sort.StringSlice(d) ss.Sort() return strings.Join([]string(ss), " ") } func testConfig(t *testing.T, s *mgr.Service, should mgr.Config) mgr.Config { is, err := s.Config() if err != nil { t.Fatalf("Config failed: %s", err) } if should.DelayedAutoStart != is.DelayedAutoStart { t.Fatalf("config mismatch: DelayedAutoStart is %v, but should have %v", is.DelayedAutoStart, should.DelayedAutoStart) } if should.DisplayName != is.DisplayName { t.Fatalf("config mismatch: DisplayName is %q, but should have %q", is.DisplayName, should.DisplayName) } if should.StartType != is.StartType { t.Fatalf("config mismatch: StartType is %v, but should have %v", is.StartType, should.StartType) } if should.Description != is.Description { t.Fatalf("config mismatch: Description is %q, but should have %q", is.Description, should.Description) } if depString(should.Dependencies) != depString(is.Dependencies) { t.Fatalf("config mismatch: Dependencies is %v, but should have %v", is.Dependencies, should.Dependencies) } return is } func testRecoveryActions(t *testing.T, s *mgr.Service, should []mgr.RecoveryAction) { is, err := s.RecoveryActions() if err != nil { t.Fatalf("RecoveryActions failed: %s", err) } if len(should) != len(is) { t.Errorf("recovery action mismatch: contains %v actions, but should have %v", len(is), len(should)) } for i := range is { if should[i].Type != is[i].Type { t.Errorf("recovery action mismatch: Type is %v, but should have %v", is[i].Type, should[i].Type) } if should[i].Delay != is[i].Delay { t.Errorf("recovery action mismatch: Delay is %v, but should have %v", is[i].Delay, should[i].Delay) } } } func testResetPeriod(t *testing.T, s *mgr.Service, should uint32) { is, err := s.ResetPeriod() if err != nil { t.Fatalf("ResetPeriod failed: %s", err) } if should != is { t.Errorf("reset period mismatch: reset period is %v, but should have %v", is, should) } } func testSetRecoveryActions(t *testing.T, s *mgr.Service) { r := []mgr.RecoveryAction{ { Type: mgr.NoAction, Delay: 60000 * time.Millisecond, }, { Type: mgr.ServiceRestart, Delay: 4 * time.Minute, }, { Type: mgr.ServiceRestart, Delay: time.Minute, }, { Type: mgr.RunCommand, Delay: 4000 * time.Millisecond, }, } // 4 recovery actions with reset period err := s.SetRecoveryActions(r, uint32(10000)) if err != nil { t.Fatalf("SetRecoveryActions failed: %v", err) } testRecoveryActions(t, s, r) testResetPeriod(t, s, uint32(10000)) // Infinite reset period err = s.SetRecoveryActions(r, syscall.INFINITE) if err != nil { t.Fatalf("SetRecoveryActions failed: %v", err) } testRecoveryActions(t, s, r) testResetPeriod(t, s, syscall.INFINITE) // nil recovery actions err = s.SetRecoveryActions(nil, 0) if err.Error() != "recoveryActions cannot be nil" { t.Fatalf("SetRecoveryActions failed with unexpected error message of %q", err) } // Delete all recovery actions and reset period err = s.ResetRecoveryActions() if err != nil { t.Fatalf("ResetRecoveryActions failed: %v", err) } testRecoveryActions(t, s, nil) testResetPeriod(t, s, 0) } func testRebootMessage(t *testing.T, s *mgr.Service, should string) { err := s.SetRebootMessage(should) if err != nil { t.Fatalf("SetRebootMessage failed: %v", err) } is, err := s.RebootMessage() if err != nil { t.Fatalf("RebootMessage failed: %v", err) } if should != is { t.Errorf("reboot message mismatch: message is %q, but should have %q", is, should) } } func testRecoveryCommand(t *testing.T, s *mgr.Service, should string) { err := s.SetRecoveryCommand(should) if err != nil { t.Fatalf("SetRecoveryCommand failed: %v", err) } is, err := s.RecoveryCommand() if err != nil { t.Fatalf("RecoveryCommand failed: %v", err) } if should != is { t.Errorf("recovery command mismatch: command is %q, but should have %q", is, should) } } func testRecoveryActionsOnNonCrashFailures(t *testing.T, s *mgr.Service, should bool) { err := s.SetRecoveryActionsOnNonCrashFailures(should) if err != nil { t.Fatalf("SetRecoveryActionsOnNonCrashFailures failed: %v", err) } is, err := s.RecoveryActionsOnNonCrashFailures() if err != nil { t.Fatalf("RecoveryActionsOnNonCrashFailures failed: %v", err) } if should != is { t.Errorf("RecoveryActionsOnNonCrashFailures mismatch: flag is %v, but should have %v", is, should) } } func testMultipleRecoverySettings(t *testing.T, s *mgr.Service, rebootMsgShould, recoveryCmdShould string, actionsFlagShould bool) { err := s.SetRebootMessage(rebootMsgShould) if err != nil { t.Fatalf("SetRebootMessage failed: %v", err) } err = s.SetRecoveryActionsOnNonCrashFailures(actionsFlagShould) if err != nil { t.Fatalf("SetRecoveryActionsOnNonCrashFailures failed: %v", err) } err = s.SetRecoveryCommand(recoveryCmdShould) if err != nil { t.Fatalf("SetRecoveryCommand failed: %v", err) } rebootMsgIs, err := s.RebootMessage() if err != nil { t.Fatalf("RebootMessage failed: %v", err) } if rebootMsgShould != rebootMsgIs { t.Errorf("reboot message mismatch: message is %q, but should have %q", rebootMsgIs, rebootMsgShould) } recoveryCommandIs, err := s.RecoveryCommand() if err != nil { t.Fatalf("RecoveryCommand failed: %v", err) } if recoveryCmdShould != recoveryCommandIs { t.Errorf("recovery command mismatch: command is %q, but should have %q", recoveryCommandIs, recoveryCmdShould) } actionsFlagIs, err := s.RecoveryActionsOnNonCrashFailures() if err != nil { t.Fatalf("RecoveryActionsOnNonCrashFailures failed: %v", err) } if actionsFlagShould != actionsFlagIs { t.Errorf("RecoveryActionsOnNonCrashFailures mismatch: flag is %v, but should have %v", actionsFlagIs, actionsFlagShould) } } func testControl(t *testing.T, s *mgr.Service, c svc.Cmd, expectedErr error, expectedStatus svc.Status) { status, err := s.Control(c) if err != expectedErr { t.Fatalf("Unexpected return from s.Control: %v (expected %v)", err, expectedErr) } if expectedStatus != status { t.Fatalf("Unexpected status from s.Control: %+v (expected %+v)", status, expectedStatus) } } func remove(t *testing.T, s *mgr.Service) { err := s.Delete() if err != nil { t.Fatalf("Delete failed: %s", err) } } func TestMyService(t *testing.T) { if os.Getenv("GO_BUILDER_NAME") == "" { // Don't install services on arbitrary users' machines. t.Skip("skipping test that modifies system services: GO_BUILDER_NAME not set") } if testing.Short() { t.Skip("skipping test in short mode that modifies system services") } const name = "mgrtestservice" m, err := mgr.Connect() if err != nil { t.Fatalf("SCM connection failed: %s", err) } defer m.Disconnect() c := mgr.Config{ StartType: mgr.StartDisabled, DisplayName: "x-sys mgr test service", Description: "x-sys mgr test service is just a test", Dependencies: []string{"LanmanServer", "W32Time"}, } exename := os.Args[0] exepath, err := filepath.Abs(exename) if err != nil { t.Fatalf("filepath.Abs(%s) failed: %s", exename, err) } install(t, m, name, exepath, c) s, err := m.OpenService(name) if err != nil { t.Fatalf("service %s is not installed", name) } defer s.Close() defer s.Delete() c.BinaryPathName = exepath c = testConfig(t, s, c) c.StartType = mgr.StartManual err = s.UpdateConfig(c) if err != nil { t.Fatalf("UpdateConfig failed: %v", err) } testConfig(t, s, c) c.StartType = mgr.StartAutomatic c.DelayedAutoStart = true err = s.UpdateConfig(c) if err != nil { t.Fatalf("UpdateConfig failed: %v", err) } testConfig(t, s, c) svcnames, err := m.ListServices() if err != nil { t.Fatalf("ListServices failed: %v", err) } var serviceIsInstalled bool for _, sn := range svcnames { if sn == name { serviceIsInstalled = true break } } if !serviceIsInstalled { t.Errorf("ListServices failed to find %q service", name) } testSetRecoveryActions(t, s) testRebootMessage(t, s, fmt.Sprintf("%s failed", name)) testRebootMessage(t, s, "") // delete reboot message testRecoveryCommand(t, s, fmt.Sprintf("sc query %s", name)) testRecoveryCommand(t, s, "") // delete recovery command testRecoveryActionsOnNonCrashFailures(t, s, true) testRecoveryActionsOnNonCrashFailures(t, s, false) testMultipleRecoverySettings(t, s, fmt.Sprintf("%s failed", name), fmt.Sprintf("sc query %s", name), true) expectedStatus := svc.Status{ State: svc.Stopped, } testControl(t, s, svc.Stop, windows.ERROR_SERVICE_NOT_ACTIVE, expectedStatus) remove(t, s) } func TestListDependentServices(t *testing.T) { m, err := mgr.Connect() if err != nil { if errno, ok := err.(syscall.Errno); ok && errno == syscall.ERROR_ACCESS_DENIED { t.Skip("Skipping test: we don't have rights to manage services.") } t.Fatalf("SCM connection failed: %s", err) } defer m.Disconnect() baseServiceName := "testservice1" dependentServiceName := "testservice2" install(t, m, baseServiceName, "", mgr.Config{}) baseService, err := m.OpenService(baseServiceName) if err != nil { t.Fatalf("OpenService failed: %v", err) } defer remove(t, baseService) install(t, m, dependentServiceName, "", mgr.Config{Dependencies: []string{baseServiceName}}) dependentService, err := m.OpenService(dependentServiceName) if err != nil { t.Fatalf("OpenService failed: %v", err) } defer remove(t, dependentService) // test that both the base service and dependent service list the correct dependencies dependentServices, err := baseService.ListDependentServices(svc.AnyActivity) if err != nil { t.Fatalf("baseService.ListDependentServices failed: %v", err) } if len(dependentServices) != 1 || dependentServices[0] != dependentServiceName { t.Errorf("Found %v, instead of expected contents %s", dependentServices, dependentServiceName) } dependentServices, err = dependentService.ListDependentServices(svc.AnyActivity) if err != nil { t.Fatalf("dependentService.ListDependentServices failed: %v", err) } if len(dependentServices) != 0 { t.Errorf("Found %v, where no service should be listed", dependentService) } } dependencies/pkg/mod/golang.org/x/sys@v0.26.0/windows/svc/mgr/mgr.go0000644000000000000000000001355115107355264024021 0ustar rootroot// 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. //go:build windows // Package mgr can be used to manage Windows service programs. // It can be used to install and remove them. It can also start, // stop and pause them. The package can query / change current // service state and config parameters. package mgr import ( "syscall" "time" "unicode/utf16" "unsafe" "golang.org/x/sys/windows" ) // Mgr is used to manage Windows service. type Mgr struct { Handle windows.Handle } // Connect establishes a connection to the service control manager. func Connect() (*Mgr, error) { return ConnectRemote("") } // ConnectRemote establishes a connection to the // service control manager on computer named host. func ConnectRemote(host string) (*Mgr, error) { var s *uint16 if host != "" { s = syscall.StringToUTF16Ptr(host) } h, err := windows.OpenSCManager(s, nil, windows.SC_MANAGER_ALL_ACCESS) if err != nil { return nil, err } return &Mgr{Handle: h}, nil } // Disconnect closes connection to the service control manager m. func (m *Mgr) Disconnect() error { return windows.CloseServiceHandle(m.Handle) } type LockStatus struct { IsLocked bool // Whether the SCM has been locked. Age time.Duration // For how long the SCM has been locked. Owner string // The name of the user who has locked the SCM. } // LockStatus returns whether the service control manager is locked by // the system, for how long, and by whom. A locked SCM indicates that // most service actions will block until the system unlocks the SCM. func (m *Mgr) LockStatus() (*LockStatus, error) { bytesNeeded := uint32(unsafe.Sizeof(windows.QUERY_SERVICE_LOCK_STATUS{}) + 1024) for { bytes := make([]byte, bytesNeeded) lockStatus := (*windows.QUERY_SERVICE_LOCK_STATUS)(unsafe.Pointer(&bytes[0])) err := windows.QueryServiceLockStatus(m.Handle, lockStatus, uint32(len(bytes)), &bytesNeeded) if err == windows.ERROR_INSUFFICIENT_BUFFER && bytesNeeded >= uint32(unsafe.Sizeof(windows.QUERY_SERVICE_LOCK_STATUS{})) { continue } if err != nil { return nil, err } status := &LockStatus{ IsLocked: lockStatus.IsLocked != 0, Age: time.Duration(lockStatus.LockDuration) * time.Second, Owner: windows.UTF16PtrToString(lockStatus.LockOwner), } return status, nil } } func toPtr(s string) *uint16 { if len(s) == 0 { return nil } return syscall.StringToUTF16Ptr(s) } // toStringBlock terminates strings in ss with 0, and then // concatenates them together. It also adds extra 0 at the end. func toStringBlock(ss []string) *uint16 { if len(ss) == 0 { return nil } t := "" for _, s := range ss { if s != "" { t += s + "\x00" } } if t == "" { return nil } t += "\x00" return &utf16.Encode([]rune(t))[0] } // CreateService installs new service name on the system. // The service will be executed by running exepath binary. // Use config c to specify service parameters. // Any args will be passed as command-line arguments when // the service is started; these arguments are distinct from // the arguments passed to Service.Start or via the "Start // parameters" field in the service's Properties dialog box. func (m *Mgr) CreateService(name, exepath string, c Config, args ...string) (*Service, error) { if c.StartType == 0 { c.StartType = StartManual } if c.ServiceType == 0 { c.ServiceType = windows.SERVICE_WIN32_OWN_PROCESS } s := syscall.EscapeArg(exepath) for _, v := range args { s += " " + syscall.EscapeArg(v) } h, err := windows.CreateService(m.Handle, toPtr(name), toPtr(c.DisplayName), windows.SERVICE_ALL_ACCESS, c.ServiceType, c.StartType, c.ErrorControl, toPtr(s), toPtr(c.LoadOrderGroup), nil, toStringBlock(c.Dependencies), toPtr(c.ServiceStartName), toPtr(c.Password)) if err != nil { return nil, err } if c.SidType != windows.SERVICE_SID_TYPE_NONE { err = updateSidType(h, c.SidType) if err != nil { windows.DeleteService(h) windows.CloseServiceHandle(h) return nil, err } } if c.Description != "" { err = updateDescription(h, c.Description) if err != nil { windows.DeleteService(h) windows.CloseServiceHandle(h) return nil, err } } if c.DelayedAutoStart { err = updateStartUp(h, c.DelayedAutoStart) if err != nil { windows.DeleteService(h) windows.CloseServiceHandle(h) return nil, err } } return &Service{Name: name, Handle: h}, nil } // OpenService retrieves access to service name, so it can // be interrogated and controlled. func (m *Mgr) OpenService(name string) (*Service, error) { h, err := windows.OpenService(m.Handle, syscall.StringToUTF16Ptr(name), windows.SERVICE_ALL_ACCESS) if err != nil { return nil, err } return &Service{Name: name, Handle: h}, nil } // ListServices enumerates services in the specified // service control manager database m. // If the caller does not have the SERVICE_QUERY_STATUS // access right to a service, the service is silently // omitted from the list of services returned. func (m *Mgr) ListServices() ([]string, error) { var err error var bytesNeeded, servicesReturned uint32 var buf []byte for { var p *byte if len(buf) > 0 { p = &buf[0] } err = windows.EnumServicesStatusEx(m.Handle, windows.SC_ENUM_PROCESS_INFO, windows.SERVICE_WIN32, windows.SERVICE_STATE_ALL, p, uint32(len(buf)), &bytesNeeded, &servicesReturned, nil, nil) if err == nil { break } if err != syscall.ERROR_MORE_DATA { return nil, err } if bytesNeeded <= uint32(len(buf)) { return nil, err } buf = make([]byte, bytesNeeded) } if servicesReturned == 0 { return nil, nil } services := unsafe.Slice((*windows.ENUM_SERVICE_STATUS_PROCESS)(unsafe.Pointer(&buf[0])), int(servicesReturned)) var names []string for _, s := range services { name := windows.UTF16PtrToString(s.ServiceName) names = append(names, name) } return names, nil } dependencies/pkg/mod/golang.org/x/sys@v0.26.0/windows/svc/mgr/config.go0000644000000000000000000001253015107355264024475 0ustar rootroot// 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. //go:build windows package mgr import ( "syscall" "unsafe" "golang.org/x/sys/windows" ) const ( // Service start types. StartManual = windows.SERVICE_DEMAND_START // the service must be started manually StartAutomatic = windows.SERVICE_AUTO_START // the service will start by itself whenever the computer reboots StartDisabled = windows.SERVICE_DISABLED // the service cannot be started // The severity of the error, and action taken, // if this service fails to start. ErrorCritical = windows.SERVICE_ERROR_CRITICAL ErrorIgnore = windows.SERVICE_ERROR_IGNORE ErrorNormal = windows.SERVICE_ERROR_NORMAL ErrorSevere = windows.SERVICE_ERROR_SEVERE ) // TODO(brainman): Password is not returned by windows.QueryServiceConfig, not sure how to get it. type Config struct { ServiceType uint32 StartType uint32 ErrorControl uint32 BinaryPathName string // fully qualified path to the service binary file, can also include arguments for an auto-start service LoadOrderGroup string TagId uint32 Dependencies []string ServiceStartName string // name of the account under which the service should run DisplayName string Password string Description string SidType uint32 // one of SERVICE_SID_TYPE, the type of sid to use for the service DelayedAutoStart bool // the service is started after other auto-start services are started plus a short delay } func toStringSlice(ps *uint16) []string { r := make([]string, 0) p := unsafe.Pointer(ps) for { s := windows.UTF16PtrToString((*uint16)(p)) if len(s) == 0 { break } r = append(r, s) offset := unsafe.Sizeof(uint16(0)) * (uintptr)(len(s)+1) p = unsafe.Pointer(uintptr(p) + offset) } return r } // Config retrieves service s configuration parameters. func (s *Service) Config() (Config, error) { var p *windows.QUERY_SERVICE_CONFIG n := uint32(1024) for { b := make([]byte, n) p = (*windows.QUERY_SERVICE_CONFIG)(unsafe.Pointer(&b[0])) err := windows.QueryServiceConfig(s.Handle, p, n, &n) if err == nil { break } if err.(syscall.Errno) != syscall.ERROR_INSUFFICIENT_BUFFER { return Config{}, err } if n <= uint32(len(b)) { return Config{}, err } } b, err := s.queryServiceConfig2(windows.SERVICE_CONFIG_DESCRIPTION) if err != nil { return Config{}, err } p2 := (*windows.SERVICE_DESCRIPTION)(unsafe.Pointer(&b[0])) b, err = s.queryServiceConfig2(windows.SERVICE_CONFIG_DELAYED_AUTO_START_INFO) if err != nil { return Config{}, err } p3 := (*windows.SERVICE_DELAYED_AUTO_START_INFO)(unsafe.Pointer(&b[0])) delayedStart := false if p3.IsDelayedAutoStartUp != 0 { delayedStart = true } b, err = s.queryServiceConfig2(windows.SERVICE_CONFIG_SERVICE_SID_INFO) if err != nil { return Config{}, err } sidType := *(*uint32)(unsafe.Pointer(&b[0])) return Config{ ServiceType: p.ServiceType, StartType: p.StartType, ErrorControl: p.ErrorControl, BinaryPathName: windows.UTF16PtrToString(p.BinaryPathName), LoadOrderGroup: windows.UTF16PtrToString(p.LoadOrderGroup), TagId: p.TagId, Dependencies: toStringSlice(p.Dependencies), ServiceStartName: windows.UTF16PtrToString(p.ServiceStartName), DisplayName: windows.UTF16PtrToString(p.DisplayName), Description: windows.UTF16PtrToString(p2.Description), DelayedAutoStart: delayedStart, SidType: sidType, }, nil } func updateDescription(handle windows.Handle, desc string) error { d := windows.SERVICE_DESCRIPTION{Description: toPtr(desc)} return windows.ChangeServiceConfig2(handle, windows.SERVICE_CONFIG_DESCRIPTION, (*byte)(unsafe.Pointer(&d))) } func updateSidType(handle windows.Handle, sidType uint32) error { return windows.ChangeServiceConfig2(handle, windows.SERVICE_CONFIG_SERVICE_SID_INFO, (*byte)(unsafe.Pointer(&sidType))) } func updateStartUp(handle windows.Handle, isDelayed bool) error { var d windows.SERVICE_DELAYED_AUTO_START_INFO if isDelayed { d.IsDelayedAutoStartUp = 1 } return windows.ChangeServiceConfig2(handle, windows.SERVICE_CONFIG_DELAYED_AUTO_START_INFO, (*byte)(unsafe.Pointer(&d))) } // UpdateConfig updates service s configuration parameters. func (s *Service) UpdateConfig(c Config) error { err := windows.ChangeServiceConfig(s.Handle, c.ServiceType, c.StartType, c.ErrorControl, toPtr(c.BinaryPathName), toPtr(c.LoadOrderGroup), nil, toStringBlock(c.Dependencies), toPtr(c.ServiceStartName), toPtr(c.Password), toPtr(c.DisplayName)) if err != nil { return err } err = updateSidType(s.Handle, c.SidType) if err != nil { return err } err = updateStartUp(s.Handle, c.DelayedAutoStart) if err != nil { return err } return updateDescription(s.Handle, c.Description) } // queryServiceConfig2 calls Windows QueryServiceConfig2 with infoLevel parameter and returns retrieved service configuration information. func (s *Service) queryServiceConfig2(infoLevel uint32) ([]byte, error) { n := uint32(1024) for { b := make([]byte, n) err := windows.QueryServiceConfig2(s.Handle, infoLevel, &b[0], n, &n) if err == nil { return b, nil } if err.(syscall.Errno) != syscall.ERROR_INSUFFICIENT_BUFFER { return nil, err } if n <= uint32(len(b)) { return nil, err } } } dependencies/pkg/mod/golang.org/x/sys@v0.26.0/windows/svc/mgr/service.go0000644000000000000000000000776715107355264024710 0ustar rootroot// 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. //go:build windows package mgr import ( "syscall" "unsafe" "golang.org/x/sys/windows" "golang.org/x/sys/windows/svc" ) // Service is used to access Windows service. type Service struct { Name string Handle windows.Handle } // Delete marks service s for deletion from the service control manager database. func (s *Service) Delete() error { return windows.DeleteService(s.Handle) } // Close relinquish access to the service s. func (s *Service) Close() error { return windows.CloseServiceHandle(s.Handle) } // Start starts service s. // args will be passed to svc.Handler.Execute. func (s *Service) Start(args ...string) error { var p **uint16 if len(args) > 0 { vs := make([]*uint16, len(args)) for i := range vs { vs[i] = syscall.StringToUTF16Ptr(args[i]) } p = &vs[0] } return windows.StartService(s.Handle, uint32(len(args)), p) } // Control sends state change request c to the service s. It returns the most // recent status the service reported to the service control manager, and an // error if the state change request was not accepted. // Note that the returned service status is only set if the status change // request succeeded, or if it failed with error ERROR_INVALID_SERVICE_CONTROL, // ERROR_SERVICE_CANNOT_ACCEPT_CTRL, or ERROR_SERVICE_NOT_ACTIVE. func (s *Service) Control(c svc.Cmd) (svc.Status, error) { var t windows.SERVICE_STATUS err := windows.ControlService(s.Handle, uint32(c), &t) if err != nil && err != windows.ERROR_INVALID_SERVICE_CONTROL && err != windows.ERROR_SERVICE_CANNOT_ACCEPT_CTRL && err != windows.ERROR_SERVICE_NOT_ACTIVE { return svc.Status{}, err } return svc.Status{ State: svc.State(t.CurrentState), Accepts: svc.Accepted(t.ControlsAccepted), }, err } // Query returns current status of service s. func (s *Service) Query() (svc.Status, error) { var t windows.SERVICE_STATUS_PROCESS var needed uint32 err := windows.QueryServiceStatusEx(s.Handle, windows.SC_STATUS_PROCESS_INFO, (*byte)(unsafe.Pointer(&t)), uint32(unsafe.Sizeof(t)), &needed) if err != nil { return svc.Status{}, err } return svc.Status{ State: svc.State(t.CurrentState), Accepts: svc.Accepted(t.ControlsAccepted), ProcessId: t.ProcessId, Win32ExitCode: t.Win32ExitCode, ServiceSpecificExitCode: t.ServiceSpecificExitCode, }, nil } // ListDependentServices returns the names of the services dependent on service s, which match the given status. func (s *Service) ListDependentServices(status svc.ActivityStatus) ([]string, error) { var bytesNeeded, returnedServiceCount uint32 var services []windows.ENUM_SERVICE_STATUS for { var servicesPtr *windows.ENUM_SERVICE_STATUS if len(services) > 0 { servicesPtr = &services[0] } allocatedBytes := uint32(len(services)) * uint32(unsafe.Sizeof(windows.ENUM_SERVICE_STATUS{})) err := windows.EnumDependentServices(s.Handle, uint32(status), servicesPtr, allocatedBytes, &bytesNeeded, &returnedServiceCount) if err == nil { break } if err != syscall.ERROR_MORE_DATA { return nil, err } if bytesNeeded <= allocatedBytes { return nil, err } // ERROR_MORE_DATA indicates the provided buffer was too small, run the call again after resizing the buffer requiredSliceLen := bytesNeeded / uint32(unsafe.Sizeof(windows.ENUM_SERVICE_STATUS{})) if bytesNeeded%uint32(unsafe.Sizeof(windows.ENUM_SERVICE_STATUS{})) != 0 { requiredSliceLen += 1 } services = make([]windows.ENUM_SERVICE_STATUS, requiredSliceLen) } if returnedServiceCount == 0 { return nil, nil } // The slice mutated by EnumDependentServices may have a length greater than returnedServiceCount, any elements // past that should be ignored. var dependents []string for i := 0; i < int(returnedServiceCount); i++ { dependents = append(dependents, windows.UTF16PtrToString(services[i].ServiceName)) } return dependents, nil } dependencies/pkg/mod/golang.org/x/sys@v0.26.0/windows/svc/mgr/recovery.go0000644000000000000000000001541015107355264025066 0ustar rootroot// Copyright 2018 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:build windows package mgr import ( "errors" "syscall" "time" "unsafe" "golang.org/x/sys/windows" ) const ( // Possible recovery actions that the service control manager can perform. NoAction = windows.SC_ACTION_NONE // no action ComputerReboot = windows.SC_ACTION_REBOOT // reboot the computer ServiceRestart = windows.SC_ACTION_RESTART // restart the service RunCommand = windows.SC_ACTION_RUN_COMMAND // run a command ) // RecoveryAction represents an action that the service control manager can perform when service fails. // A service is considered failed when it terminates without reporting a status of SERVICE_STOPPED to the service controller. type RecoveryAction struct { Type int // one of NoAction, ComputerReboot, ServiceRestart or RunCommand Delay time.Duration // the time to wait before performing the specified action } // SetRecoveryActions sets actions that service controller performs when service fails and // the time after which to reset the service failure count to zero if there are no failures, in seconds. // Specify INFINITE to indicate that service failure count should never be reset. func (s *Service) SetRecoveryActions(recoveryActions []RecoveryAction, resetPeriod uint32) error { if recoveryActions == nil { return errors.New("recoveryActions cannot be nil") } actions := []windows.SC_ACTION{} for _, a := range recoveryActions { action := windows.SC_ACTION{ Type: uint32(a.Type), Delay: uint32(a.Delay.Nanoseconds() / 1000000), } actions = append(actions, action) } rActions := windows.SERVICE_FAILURE_ACTIONS{ ActionsCount: uint32(len(actions)), Actions: &actions[0], ResetPeriod: resetPeriod, } return windows.ChangeServiceConfig2(s.Handle, windows.SERVICE_CONFIG_FAILURE_ACTIONS, (*byte)(unsafe.Pointer(&rActions))) } // RecoveryActions returns actions that service controller performs when service fails. // The service control manager counts the number of times service s has failed since the system booted. // The count is reset to 0 if the service has not failed for ResetPeriod seconds. // When the service fails for the Nth time, the service controller performs the action specified in element [N-1] of returned slice. // If N is greater than slice length, the service controller repeats the last action in the slice. func (s *Service) RecoveryActions() ([]RecoveryAction, error) { b, err := s.queryServiceConfig2(windows.SERVICE_CONFIG_FAILURE_ACTIONS) if err != nil { return nil, err } p := (*windows.SERVICE_FAILURE_ACTIONS)(unsafe.Pointer(&b[0])) if p.Actions == nil { return nil, err } actions := unsafe.Slice(p.Actions, int(p.ActionsCount)) var recoveryActions []RecoveryAction for _, action := range actions { recoveryActions = append(recoveryActions, RecoveryAction{Type: int(action.Type), Delay: time.Duration(action.Delay) * time.Millisecond}) } return recoveryActions, nil } // ResetRecoveryActions deletes both reset period and array of failure actions. func (s *Service) ResetRecoveryActions() error { actions := make([]windows.SC_ACTION, 1) rActions := windows.SERVICE_FAILURE_ACTIONS{ Actions: &actions[0], } return windows.ChangeServiceConfig2(s.Handle, windows.SERVICE_CONFIG_FAILURE_ACTIONS, (*byte)(unsafe.Pointer(&rActions))) } // ResetPeriod is the time after which to reset the service failure // count to zero if there are no failures, in seconds. func (s *Service) ResetPeriod() (uint32, error) { b, err := s.queryServiceConfig2(windows.SERVICE_CONFIG_FAILURE_ACTIONS) if err != nil { return 0, err } p := (*windows.SERVICE_FAILURE_ACTIONS)(unsafe.Pointer(&b[0])) return p.ResetPeriod, nil } // SetRebootMessage sets service s reboot message. // If msg is "", the reboot message is deleted and no message is broadcast. func (s *Service) SetRebootMessage(msg string) error { rActions := windows.SERVICE_FAILURE_ACTIONS{ RebootMsg: syscall.StringToUTF16Ptr(msg), } return windows.ChangeServiceConfig2(s.Handle, windows.SERVICE_CONFIG_FAILURE_ACTIONS, (*byte)(unsafe.Pointer(&rActions))) } // RebootMessage is broadcast to server users before rebooting in response to the ComputerReboot service controller action. func (s *Service) RebootMessage() (string, error) { b, err := s.queryServiceConfig2(windows.SERVICE_CONFIG_FAILURE_ACTIONS) if err != nil { return "", err } p := (*windows.SERVICE_FAILURE_ACTIONS)(unsafe.Pointer(&b[0])) return windows.UTF16PtrToString(p.RebootMsg), nil } // SetRecoveryCommand sets the command line of the process to execute in response to the RunCommand service controller action. // If cmd is "", the command is deleted and no program is run when the service fails. func (s *Service) SetRecoveryCommand(cmd string) error { rActions := windows.SERVICE_FAILURE_ACTIONS{ Command: syscall.StringToUTF16Ptr(cmd), } return windows.ChangeServiceConfig2(s.Handle, windows.SERVICE_CONFIG_FAILURE_ACTIONS, (*byte)(unsafe.Pointer(&rActions))) } // RecoveryCommand is the command line of the process to execute in response to the RunCommand service controller action. This process runs under the same account as the service. func (s *Service) RecoveryCommand() (string, error) { b, err := s.queryServiceConfig2(windows.SERVICE_CONFIG_FAILURE_ACTIONS) if err != nil { return "", err } p := (*windows.SERVICE_FAILURE_ACTIONS)(unsafe.Pointer(&b[0])) return windows.UTF16PtrToString(p.Command), nil } // SetRecoveryActionsOnNonCrashFailures sets the failure actions flag. If the // flag is set to false, recovery actions will only be performed if the service // terminates without reporting a status of SERVICE_STOPPED. If the flag is set // to true, recovery actions are also performed if the service stops with a // nonzero exit code. func (s *Service) SetRecoveryActionsOnNonCrashFailures(flag bool) error { var setting windows.SERVICE_FAILURE_ACTIONS_FLAG if flag { setting.FailureActionsOnNonCrashFailures = 1 } return windows.ChangeServiceConfig2(s.Handle, windows.SERVICE_CONFIG_FAILURE_ACTIONS_FLAG, (*byte)(unsafe.Pointer(&setting))) } // RecoveryActionsOnNonCrashFailures returns the current value of the failure // actions flag. If the flag is set to false, recovery actions will only be // performed if the service terminates without reporting a status of // SERVICE_STOPPED. If the flag is set to true, recovery actions are also // performed if the service stops with a nonzero exit code. func (s *Service) RecoveryActionsOnNonCrashFailures() (bool, error) { b, err := s.queryServiceConfig2(windows.SERVICE_CONFIG_FAILURE_ACTIONS_FLAG) if err != nil { return false, err } p := (*windows.SERVICE_FAILURE_ACTIONS_FLAG)(unsafe.Pointer(&b[0])) return p.FailureActionsOnNonCrashFailures != 0, nil } dependencies/pkg/mod/golang.org/x/sys@v0.26.0/windows/svc/eventlog/0000755000000000000000000000000015107355264023736 5ustar rootrootdependencies/pkg/mod/golang.org/x/sys@v0.26.0/windows/svc/eventlog/log_test.go0000644000000000000000000000204515107355264026106 0ustar rootroot// 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. //go:build windows package eventlog_test import ( "testing" "golang.org/x/sys/windows/svc/eventlog" ) func TestLog(t *testing.T) { if testing.Short() { t.Skip("skipping test in short mode - it modifies system logs") } const name = "mylog" const supports = eventlog.Error | eventlog.Warning | eventlog.Info err := eventlog.InstallAsEventCreate(name, supports) if err != nil { t.Fatalf("Install failed: %s", err) } defer func() { err = eventlog.Remove(name) if err != nil { t.Fatalf("Remove failed: %s", err) } }() l, err := eventlog.Open(name) if err != nil { t.Fatalf("Open failed: %s", err) } defer l.Close() err = l.Info(1, "info") if err != nil { t.Fatalf("Info failed: %s", err) } err = l.Warning(2, "warning") if err != nil { t.Fatalf("Warning failed: %s", err) } err = l.Error(3, "error") if err != nil { t.Fatalf("Error failed: %s", err) } } dependencies/pkg/mod/golang.org/x/sys@v0.26.0/windows/svc/eventlog/log.go0000644000000000000000000000376715107355264025063 0ustar rootroot// 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. //go:build windows // Package eventlog implements access to Windows event log. package eventlog import ( "errors" "syscall" "golang.org/x/sys/windows" ) // Log provides access to the system log. type Log struct { Handle windows.Handle } // Open retrieves a handle to the specified event log. func Open(source string) (*Log, error) { return OpenRemote("", source) } // OpenRemote does the same as Open, but on different computer host. func OpenRemote(host, source string) (*Log, error) { if source == "" { return nil, errors.New("Specify event log source") } var s *uint16 if host != "" { s = syscall.StringToUTF16Ptr(host) } h, err := windows.RegisterEventSource(s, syscall.StringToUTF16Ptr(source)) if err != nil { return nil, err } return &Log{Handle: h}, nil } // Close closes event log l. func (l *Log) Close() error { return windows.DeregisterEventSource(l.Handle) } func (l *Log) report(etype uint16, eid uint32, msg string) error { ss := []*uint16{syscall.StringToUTF16Ptr(msg)} return windows.ReportEvent(l.Handle, etype, 0, eid, 0, 1, 0, &ss[0], nil) } // Info writes an information event msg with event id eid to the end of event log l. // When EventCreate.exe is used, eid must be between 1 and 1000. func (l *Log) Info(eid uint32, msg string) error { return l.report(windows.EVENTLOG_INFORMATION_TYPE, eid, msg) } // Warning writes an warning event msg with event id eid to the end of event log l. // When EventCreate.exe is used, eid must be between 1 and 1000. func (l *Log) Warning(eid uint32, msg string) error { return l.report(windows.EVENTLOG_WARNING_TYPE, eid, msg) } // Error writes an error event msg with event id eid to the end of event log l. // When EventCreate.exe is used, eid must be between 1 and 1000. func (l *Log) Error(eid uint32, msg string) error { return l.report(windows.EVENTLOG_ERROR_TYPE, eid, msg) } dependencies/pkg/mod/golang.org/x/sys@v0.26.0/windows/svc/eventlog/install.go0000644000000000000000000000444615107355264025743 0ustar rootroot// 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. //go:build windows package eventlog import ( "errors" "golang.org/x/sys/windows" "golang.org/x/sys/windows/registry" ) const ( // Log levels. Info = windows.EVENTLOG_INFORMATION_TYPE Warning = windows.EVENTLOG_WARNING_TYPE Error = windows.EVENTLOG_ERROR_TYPE ) const addKeyName = `SYSTEM\CurrentControlSet\Services\EventLog\Application` // Install modifies PC registry to allow logging with an event source src. // It adds all required keys and values to the event log registry key. // Install uses msgFile as the event message file. If useExpandKey is true, // the event message file is installed as REG_EXPAND_SZ value, // otherwise as REG_SZ. Use bitwise of log.Error, log.Warning and // log.Info to specify events supported by the new event source. func Install(src, msgFile string, useExpandKey bool, eventsSupported uint32) error { appkey, err := registry.OpenKey(registry.LOCAL_MACHINE, addKeyName, registry.CREATE_SUB_KEY) if err != nil { return err } defer appkey.Close() sk, alreadyExist, err := registry.CreateKey(appkey, src, registry.SET_VALUE) if err != nil { return err } defer sk.Close() if alreadyExist { return errors.New(addKeyName + `\` + src + " registry key already exists") } err = sk.SetDWordValue("CustomSource", 1) if err != nil { return err } if useExpandKey { err = sk.SetExpandStringValue("EventMessageFile", msgFile) } else { err = sk.SetStringValue("EventMessageFile", msgFile) } if err != nil { return err } err = sk.SetDWordValue("TypesSupported", eventsSupported) if err != nil { return err } return nil } // InstallAsEventCreate is the same as Install, but uses // %SystemRoot%\System32\EventCreate.exe as the event message file. func InstallAsEventCreate(src string, eventsSupported uint32) error { return Install(src, "%SystemRoot%\\System32\\EventCreate.exe", true, eventsSupported) } // Remove deletes all registry elements installed by the correspondent Install. func Remove(src string) error { appkey, err := registry.OpenKey(registry.LOCAL_MACHINE, addKeyName, registry.SET_VALUE) if err != nil { return err } defer appkey.Close() return registry.DeleteKey(appkey, src) } dependencies/pkg/mod/golang.org/x/sys@v0.26.0/windows/svc/service.go0000644000000000000000000002536315107355264024113 0ustar rootroot// 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. //go:build windows // Package svc provides everything required to build Windows service. package svc import ( "errors" "sync" "unsafe" "golang.org/x/sys/windows" ) // State describes service execution state (Stopped, Running and so on). type State uint32 const ( Stopped = State(windows.SERVICE_STOPPED) StartPending = State(windows.SERVICE_START_PENDING) StopPending = State(windows.SERVICE_STOP_PENDING) Running = State(windows.SERVICE_RUNNING) ContinuePending = State(windows.SERVICE_CONTINUE_PENDING) PausePending = State(windows.SERVICE_PAUSE_PENDING) Paused = State(windows.SERVICE_PAUSED) ) // Cmd represents service state change request. It is sent to a service // by the service manager, and should be actioned upon by the service. type Cmd uint32 const ( Stop = Cmd(windows.SERVICE_CONTROL_STOP) Pause = Cmd(windows.SERVICE_CONTROL_PAUSE) Continue = Cmd(windows.SERVICE_CONTROL_CONTINUE) Interrogate = Cmd(windows.SERVICE_CONTROL_INTERROGATE) Shutdown = Cmd(windows.SERVICE_CONTROL_SHUTDOWN) ParamChange = Cmd(windows.SERVICE_CONTROL_PARAMCHANGE) NetBindAdd = Cmd(windows.SERVICE_CONTROL_NETBINDADD) NetBindRemove = Cmd(windows.SERVICE_CONTROL_NETBINDREMOVE) NetBindEnable = Cmd(windows.SERVICE_CONTROL_NETBINDENABLE) NetBindDisable = Cmd(windows.SERVICE_CONTROL_NETBINDDISABLE) DeviceEvent = Cmd(windows.SERVICE_CONTROL_DEVICEEVENT) HardwareProfileChange = Cmd(windows.SERVICE_CONTROL_HARDWAREPROFILECHANGE) PowerEvent = Cmd(windows.SERVICE_CONTROL_POWEREVENT) SessionChange = Cmd(windows.SERVICE_CONTROL_SESSIONCHANGE) PreShutdown = Cmd(windows.SERVICE_CONTROL_PRESHUTDOWN) ) // Accepted is used to describe commands accepted by the service. // Note that Interrogate is always accepted. type Accepted uint32 const ( AcceptStop = Accepted(windows.SERVICE_ACCEPT_STOP) AcceptShutdown = Accepted(windows.SERVICE_ACCEPT_SHUTDOWN) AcceptPauseAndContinue = Accepted(windows.SERVICE_ACCEPT_PAUSE_CONTINUE) AcceptParamChange = Accepted(windows.SERVICE_ACCEPT_PARAMCHANGE) AcceptNetBindChange = Accepted(windows.SERVICE_ACCEPT_NETBINDCHANGE) AcceptHardwareProfileChange = Accepted(windows.SERVICE_ACCEPT_HARDWAREPROFILECHANGE) AcceptPowerEvent = Accepted(windows.SERVICE_ACCEPT_POWEREVENT) AcceptSessionChange = Accepted(windows.SERVICE_ACCEPT_SESSIONCHANGE) AcceptPreShutdown = Accepted(windows.SERVICE_ACCEPT_PRESHUTDOWN) ) // ActivityStatus allows for services to be selected based on active and inactive categories of service state. type ActivityStatus uint32 const ( Active = ActivityStatus(windows.SERVICE_ACTIVE) Inactive = ActivityStatus(windows.SERVICE_INACTIVE) AnyActivity = ActivityStatus(windows.SERVICE_STATE_ALL) ) // Status combines State and Accepted commands to fully describe running service. type Status struct { State State Accepts Accepted CheckPoint uint32 // used to report progress during a lengthy operation WaitHint uint32 // estimated time required for a pending operation, in milliseconds ProcessId uint32 // if the service is running, the process identifier of it, and otherwise zero Win32ExitCode uint32 // set if the service has exited with a win32 exit code ServiceSpecificExitCode uint32 // set if the service has exited with a service-specific exit code } // StartReason is the reason that the service was started. type StartReason uint32 const ( StartReasonDemand = StartReason(windows.SERVICE_START_REASON_DEMAND) StartReasonAuto = StartReason(windows.SERVICE_START_REASON_AUTO) StartReasonTrigger = StartReason(windows.SERVICE_START_REASON_TRIGGER) StartReasonRestartOnFailure = StartReason(windows.SERVICE_START_REASON_RESTART_ON_FAILURE) StartReasonDelayedAuto = StartReason(windows.SERVICE_START_REASON_DELAYEDAUTO) ) // ChangeRequest is sent to the service Handler to request service status change. type ChangeRequest struct { Cmd Cmd EventType uint32 EventData uintptr CurrentStatus Status Context uintptr } // Handler is the interface that must be implemented to build Windows service. type Handler interface { // Execute will be called by the package code at the start of // the service, and the service will exit once Execute completes. // Inside Execute you must read service change requests from r and // act accordingly. You must keep service control manager up to date // about state of your service by writing into s as required. // args contains service name followed by argument strings passed // to the service. // You can provide service exit code in exitCode return parameter, // with 0 being "no error". You can also indicate if exit code, // if any, is service specific or not by using svcSpecificEC // parameter. Execute(args []string, r <-chan ChangeRequest, s chan<- Status) (svcSpecificEC bool, exitCode uint32) } type ctlEvent struct { cmd Cmd eventType uint32 eventData uintptr context uintptr errno uint32 } // service provides access to windows service api. type service struct { name string h windows.Handle c chan ctlEvent handler Handler } type exitCode struct { isSvcSpecific bool errno uint32 } func (s *service) updateStatus(status *Status, ec *exitCode) error { if s.h == 0 { return errors.New("updateStatus with no service status handle") } var t windows.SERVICE_STATUS t.ServiceType = windows.SERVICE_WIN32_OWN_PROCESS t.CurrentState = uint32(status.State) if status.Accepts&AcceptStop != 0 { t.ControlsAccepted |= windows.SERVICE_ACCEPT_STOP } if status.Accepts&AcceptShutdown != 0 { t.ControlsAccepted |= windows.SERVICE_ACCEPT_SHUTDOWN } if status.Accepts&AcceptPauseAndContinue != 0 { t.ControlsAccepted |= windows.SERVICE_ACCEPT_PAUSE_CONTINUE } if status.Accepts&AcceptParamChange != 0 { t.ControlsAccepted |= windows.SERVICE_ACCEPT_PARAMCHANGE } if status.Accepts&AcceptNetBindChange != 0 { t.ControlsAccepted |= windows.SERVICE_ACCEPT_NETBINDCHANGE } if status.Accepts&AcceptHardwareProfileChange != 0 { t.ControlsAccepted |= windows.SERVICE_ACCEPT_HARDWAREPROFILECHANGE } if status.Accepts&AcceptPowerEvent != 0 { t.ControlsAccepted |= windows.SERVICE_ACCEPT_POWEREVENT } if status.Accepts&AcceptSessionChange != 0 { t.ControlsAccepted |= windows.SERVICE_ACCEPT_SESSIONCHANGE } if status.Accepts&AcceptPreShutdown != 0 { t.ControlsAccepted |= windows.SERVICE_ACCEPT_PRESHUTDOWN } if ec.errno == 0 { t.Win32ExitCode = windows.NO_ERROR t.ServiceSpecificExitCode = windows.NO_ERROR } else if ec.isSvcSpecific { t.Win32ExitCode = uint32(windows.ERROR_SERVICE_SPECIFIC_ERROR) t.ServiceSpecificExitCode = ec.errno } else { t.Win32ExitCode = ec.errno t.ServiceSpecificExitCode = windows.NO_ERROR } t.CheckPoint = status.CheckPoint t.WaitHint = status.WaitHint return windows.SetServiceStatus(s.h, &t) } var ( initCallbacks sync.Once ctlHandlerCallback uintptr serviceMainCallback uintptr ) func ctlHandler(ctl, evtype, evdata, context uintptr) uintptr { e := ctlEvent{cmd: Cmd(ctl), eventType: uint32(evtype), eventData: evdata, context: 123456} // Set context to 123456 to test issue #25660. theService.c <- e return 0 } var theService service // This is, unfortunately, a global, which means only one service per process. // serviceMain is the entry point called by the service manager, registered earlier by // the call to StartServiceCtrlDispatcher. func serviceMain(argc uint32, argv **uint16) uintptr { handle, err := windows.RegisterServiceCtrlHandlerEx(windows.StringToUTF16Ptr(theService.name), ctlHandlerCallback, 0) if sysErr, ok := err.(windows.Errno); ok { return uintptr(sysErr) } else if err != nil { return uintptr(windows.ERROR_UNKNOWN_EXCEPTION) } theService.h = handle defer func() { theService.h = 0 }() args16 := unsafe.Slice(argv, int(argc)) args := make([]string, len(args16)) for i, a := range args16 { args[i] = windows.UTF16PtrToString(a) } cmdsToHandler := make(chan ChangeRequest) changesFromHandler := make(chan Status) exitFromHandler := make(chan exitCode) go func() { ss, errno := theService.handler.Execute(args, cmdsToHandler, changesFromHandler) exitFromHandler <- exitCode{ss, errno} }() ec := exitCode{isSvcSpecific: true, errno: 0} outcr := ChangeRequest{ CurrentStatus: Status{State: Stopped}, } var outch chan ChangeRequest inch := theService.c loop: for { select { case r := <-inch: if r.errno != 0 { ec.errno = r.errno break loop } inch = nil outch = cmdsToHandler outcr.Cmd = r.cmd outcr.EventType = r.eventType outcr.EventData = r.eventData outcr.Context = r.context case outch <- outcr: inch = theService.c outch = nil case c := <-changesFromHandler: err := theService.updateStatus(&c, &ec) if err != nil { ec.errno = uint32(windows.ERROR_EXCEPTION_IN_SERVICE) if err2, ok := err.(windows.Errno); ok { ec.errno = uint32(err2) } break loop } outcr.CurrentStatus = c case ec = <-exitFromHandler: break loop } } theService.updateStatus(&Status{State: Stopped}, &ec) return windows.NO_ERROR } // Run executes service name by calling appropriate handler function. func Run(name string, handler Handler) error { initCallbacks.Do(func() { ctlHandlerCallback = windows.NewCallback(ctlHandler) serviceMainCallback = windows.NewCallback(serviceMain) }) theService.name = name theService.handler = handler theService.c = make(chan ctlEvent) t := []windows.SERVICE_TABLE_ENTRY{ {ServiceName: windows.StringToUTF16Ptr(theService.name), ServiceProc: serviceMainCallback}, {ServiceName: nil, ServiceProc: 0}, } return windows.StartServiceCtrlDispatcher(&t[0]) } // StatusHandle returns service status handle. It is safe to call this function // from inside the Handler.Execute because then it is guaranteed to be set. func StatusHandle() windows.Handle { return theService.h } // DynamicStartReason returns the reason why the service was started. It is safe // to call this function from inside the Handler.Execute because then it is // guaranteed to be set. func DynamicStartReason() (StartReason, error) { var allocReason *uint32 err := windows.QueryServiceDynamicInformation(theService.h, windows.SERVICE_DYNAMIC_INFORMATION_LEVEL_START_REASON, unsafe.Pointer(&allocReason)) if err != nil { return 0, err } reason := StartReason(*allocReason) windows.LocalFree(windows.Handle(unsafe.Pointer(allocReason))) return reason, nil } dependencies/pkg/mod/golang.org/x/sys@v0.26.0/windows/mkknownfolderids.bash0000644000000000000000000000254615107355264025546 0ustar rootroot#!/bin/bash # Copyright 2019 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. set -e shopt -s nullglob knownfolders="$(printf '%s\n' "/mnt/c/Program Files (x86)/Windows Kits/"/*/Include/*/um/KnownFolders.h | sort -Vr | head -n 1)" [[ -n $knownfolders ]] || { echo "Unable to find KnownFolders.h" >&2; exit 1; } { echo "// Code generated by 'mkknownfolderids.bash'; DO NOT EDIT." echo echo "package windows" echo "type KNOWNFOLDERID GUID" echo "var (" while read -r line; do [[ $line =~ DEFINE_KNOWN_FOLDER\((FOLDERID_[^,]+),[\t\ ]*(0x[^,]+),[\t\ ]*(0x[^,]+),[\t\ ]*(0x[^,]+),[\t\ ]*(0x[^,]+),[\t\ ]*(0x[^,]+),[\t\ ]*(0x[^,]+),[\t\ ]*(0x[^,]+),[\t\ ]*(0x[^,]+),[\t\ ]*(0x[^,]+),[\t\ ]*(0x[^,]+),[\t\ ]*(0x[^,]+)\) ]] || continue printf "%s = &KNOWNFOLDERID{0x%08x, 0x%04x, 0x%04x, [8]byte{0x%02x, 0x%02x, 0x%02x, 0x%02x, 0x%02x, 0x%02x, 0x%02x, 0x%02x}}\n" \ "${BASH_REMATCH[1]}" $(( "${BASH_REMATCH[2]}" )) $(( "${BASH_REMATCH[3]}" )) $(( "${BASH_REMATCH[4]}" )) \ $(( "${BASH_REMATCH[5]}" )) $(( "${BASH_REMATCH[6]}" )) $(( "${BASH_REMATCH[7]}" )) $(( "${BASH_REMATCH[8]}" )) \ $(( "${BASH_REMATCH[9]}" )) $(( "${BASH_REMATCH[10]}" )) $(( "${BASH_REMATCH[11]}" )) $(( "${BASH_REMATCH[12]}" )) done < "$knownfolders" echo ")" } | gofmt > "zknownfolderids_windows.go" dependencies/pkg/mod/golang.org/x/sys@v0.26.0/windows/dll_windows.go0000644000000000000000000003002715107355264024176 0ustar rootroot// 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 windows import ( "sync" "sync/atomic" "syscall" "unsafe" ) // We need to use LoadLibrary and GetProcAddress from the Go runtime, because // the these symbols are loaded by the system linker and are required to // dynamically load additional symbols. Note that in the Go runtime, these // return syscall.Handle and syscall.Errno, but these are the same, in fact, // as windows.Handle and windows.Errno, and we intend to keep these the same. //go:linkname syscall_loadlibrary syscall.loadlibrary func syscall_loadlibrary(filename *uint16) (handle Handle, err Errno) //go:linkname syscall_getprocaddress syscall.getprocaddress func syscall_getprocaddress(handle Handle, procname *uint8) (proc uintptr, err Errno) // DLLError describes reasons for DLL load failures. type DLLError struct { Err error ObjName string Msg string } func (e *DLLError) Error() string { return e.Msg } func (e *DLLError) Unwrap() error { return e.Err } // A DLL implements access to a single DLL. type DLL struct { Name string Handle Handle } // LoadDLL loads DLL file into memory. // // Warning: using LoadDLL without an absolute path name is subject to // DLL preloading attacks. To safely load a system DLL, use LazyDLL // with System set to true, or use LoadLibraryEx directly. func LoadDLL(name string) (dll *DLL, err error) { namep, err := UTF16PtrFromString(name) if err != nil { return nil, err } h, e := syscall_loadlibrary(namep) if e != 0 { return nil, &DLLError{ Err: e, ObjName: name, Msg: "Failed to load " + name + ": " + e.Error(), } } d := &DLL{ Name: name, Handle: h, } return d, nil } // MustLoadDLL is like LoadDLL but panics if load operation fails. func MustLoadDLL(name string) *DLL { d, e := LoadDLL(name) if e != nil { panic(e) } return d } // FindProc searches DLL d for procedure named name and returns *Proc // if found. It returns an error if search fails. func (d *DLL) FindProc(name string) (proc *Proc, err error) { namep, err := BytePtrFromString(name) if err != nil { return nil, err } a, e := syscall_getprocaddress(d.Handle, namep) if e != 0 { return nil, &DLLError{ Err: e, ObjName: name, Msg: "Failed to find " + name + " procedure in " + d.Name + ": " + e.Error(), } } p := &Proc{ Dll: d, Name: name, addr: a, } return p, nil } // MustFindProc is like FindProc but panics if search fails. func (d *DLL) MustFindProc(name string) *Proc { p, e := d.FindProc(name) if e != nil { panic(e) } return p } // FindProcByOrdinal searches DLL d for procedure by ordinal and returns *Proc // if found. It returns an error if search fails. func (d *DLL) FindProcByOrdinal(ordinal uintptr) (proc *Proc, err error) { a, e := GetProcAddressByOrdinal(d.Handle, ordinal) name := "#" + itoa(int(ordinal)) if e != nil { return nil, &DLLError{ Err: e, ObjName: name, Msg: "Failed to find " + name + " procedure in " + d.Name + ": " + e.Error(), } } p := &Proc{ Dll: d, Name: name, addr: a, } return p, nil } // MustFindProcByOrdinal is like FindProcByOrdinal but panics if search fails. func (d *DLL) MustFindProcByOrdinal(ordinal uintptr) *Proc { p, e := d.FindProcByOrdinal(ordinal) if e != nil { panic(e) } return p } // Release unloads DLL d from memory. func (d *DLL) Release() (err error) { return FreeLibrary(d.Handle) } // A Proc implements access to a procedure inside a DLL. type Proc struct { Dll *DLL Name string addr uintptr } // Addr returns the address of the procedure represented by p. // The return value can be passed to Syscall to run the procedure. func (p *Proc) Addr() uintptr { return p.addr } //go:uintptrescapes // Call executes procedure p with arguments a. It will panic, if more than 15 arguments // are supplied. // // The returned error is always non-nil, constructed from the result of GetLastError. // Callers must inspect the primary return value to decide whether an error occurred // (according to the semantics of the specific function being called) before consulting // the error. The error will be guaranteed to contain windows.Errno. func (p *Proc) Call(a ...uintptr) (r1, r2 uintptr, lastErr error) { switch len(a) { case 0: return syscall.Syscall(p.Addr(), uintptr(len(a)), 0, 0, 0) case 1: return syscall.Syscall(p.Addr(), uintptr(len(a)), a[0], 0, 0) case 2: return syscall.Syscall(p.Addr(), uintptr(len(a)), a[0], a[1], 0) case 3: return syscall.Syscall(p.Addr(), uintptr(len(a)), a[0], a[1], a[2]) case 4: return syscall.Syscall6(p.Addr(), uintptr(len(a)), a[0], a[1], a[2], a[3], 0, 0) case 5: return syscall.Syscall6(p.Addr(), uintptr(len(a)), a[0], a[1], a[2], a[3], a[4], 0) case 6: return syscall.Syscall6(p.Addr(), uintptr(len(a)), a[0], a[1], a[2], a[3], a[4], a[5]) case 7: return syscall.Syscall9(p.Addr(), uintptr(len(a)), a[0], a[1], a[2], a[3], a[4], a[5], a[6], 0, 0) case 8: return syscall.Syscall9(p.Addr(), uintptr(len(a)), a[0], a[1], a[2], a[3], a[4], a[5], a[6], a[7], 0) case 9: return syscall.Syscall9(p.Addr(), uintptr(len(a)), a[0], a[1], a[2], a[3], a[4], a[5], a[6], a[7], a[8]) case 10: return syscall.Syscall12(p.Addr(), uintptr(len(a)), a[0], a[1], a[2], a[3], a[4], a[5], a[6], a[7], a[8], a[9], 0, 0) case 11: return syscall.Syscall12(p.Addr(), uintptr(len(a)), a[0], a[1], a[2], a[3], a[4], a[5], a[6], a[7], a[8], a[9], a[10], 0) case 12: return syscall.Syscall12(p.Addr(), uintptr(len(a)), a[0], a[1], a[2], a[3], a[4], a[5], a[6], a[7], a[8], a[9], a[10], a[11]) case 13: return syscall.Syscall15(p.Addr(), uintptr(len(a)), a[0], a[1], a[2], a[3], a[4], a[5], a[6], a[7], a[8], a[9], a[10], a[11], a[12], 0, 0) case 14: return syscall.Syscall15(p.Addr(), uintptr(len(a)), a[0], a[1], a[2], a[3], a[4], a[5], a[6], a[7], a[8], a[9], a[10], a[11], a[12], a[13], 0) case 15: return syscall.Syscall15(p.Addr(), uintptr(len(a)), a[0], a[1], a[2], a[3], a[4], a[5], a[6], a[7], a[8], a[9], a[10], a[11], a[12], a[13], a[14]) default: panic("Call " + p.Name + " with too many arguments " + itoa(len(a)) + ".") } } // A LazyDLL implements access to a single DLL. // It will delay the load of the DLL until the first // call to its Handle method or to one of its // LazyProc's Addr method. type LazyDLL struct { Name string // System determines whether the DLL must be loaded from the // Windows System directory, bypassing the normal DLL search // path. System bool mu sync.Mutex dll *DLL // non nil once DLL is loaded } // Load loads DLL file d.Name into memory. It returns an error if fails. // Load will not try to load DLL, if it is already loaded into memory. func (d *LazyDLL) Load() error { // Non-racy version of: // if d.dll != nil { if atomic.LoadPointer((*unsafe.Pointer)(unsafe.Pointer(&d.dll))) != nil { return nil } d.mu.Lock() defer d.mu.Unlock() if d.dll != nil { return nil } // kernel32.dll is special, since it's where LoadLibraryEx comes from. // The kernel already special-cases its name, so it's always // loaded from system32. var dll *DLL var err error if d.Name == "kernel32.dll" { dll, err = LoadDLL(d.Name) } else { dll, err = loadLibraryEx(d.Name, d.System) } if err != nil { return err } // Non-racy version of: // d.dll = dll atomic.StorePointer((*unsafe.Pointer)(unsafe.Pointer(&d.dll)), unsafe.Pointer(dll)) return nil } // mustLoad is like Load but panics if search fails. func (d *LazyDLL) mustLoad() { e := d.Load() if e != nil { panic(e) } } // Handle returns d's module handle. func (d *LazyDLL) Handle() uintptr { d.mustLoad() return uintptr(d.dll.Handle) } // NewProc returns a LazyProc for accessing the named procedure in the DLL d. func (d *LazyDLL) NewProc(name string) *LazyProc { return &LazyProc{l: d, Name: name} } // NewLazyDLL creates new LazyDLL associated with DLL file. func NewLazyDLL(name string) *LazyDLL { return &LazyDLL{Name: name} } // NewLazySystemDLL is like NewLazyDLL, but will only // search Windows System directory for the DLL if name is // a base name (like "advapi32.dll"). func NewLazySystemDLL(name string) *LazyDLL { return &LazyDLL{Name: name, System: true} } // A LazyProc implements access to a procedure inside a LazyDLL. // It delays the lookup until the Addr method is called. type LazyProc struct { Name string mu sync.Mutex l *LazyDLL proc *Proc } // Find searches DLL for procedure named p.Name. It returns // an error if search fails. Find will not search procedure, // if it is already found and loaded into memory. func (p *LazyProc) Find() error { // Non-racy version of: // if p.proc == nil { if atomic.LoadPointer((*unsafe.Pointer)(unsafe.Pointer(&p.proc))) == nil { p.mu.Lock() defer p.mu.Unlock() if p.proc == nil { e := p.l.Load() if e != nil { return e } proc, e := p.l.dll.FindProc(p.Name) if e != nil { return e } // Non-racy version of: // p.proc = proc atomic.StorePointer((*unsafe.Pointer)(unsafe.Pointer(&p.proc)), unsafe.Pointer(proc)) } } return nil } // mustFind is like Find but panics if search fails. func (p *LazyProc) mustFind() { e := p.Find() if e != nil { panic(e) } } // Addr returns the address of the procedure represented by p. // The return value can be passed to Syscall to run the procedure. // It will panic if the procedure cannot be found. func (p *LazyProc) Addr() uintptr { p.mustFind() return p.proc.Addr() } //go:uintptrescapes // Call executes procedure p with arguments a. It will panic, if more than 15 arguments // are supplied. It will also panic if the procedure cannot be found. // // The returned error is always non-nil, constructed from the result of GetLastError. // Callers must inspect the primary return value to decide whether an error occurred // (according to the semantics of the specific function being called) before consulting // the error. The error will be guaranteed to contain windows.Errno. func (p *LazyProc) Call(a ...uintptr) (r1, r2 uintptr, lastErr error) { p.mustFind() return p.proc.Call(a...) } var canDoSearchSystem32Once struct { sync.Once v bool } func initCanDoSearchSystem32() { // https://msdn.microsoft.com/en-us/library/ms684179(v=vs.85).aspx says: // "Windows 7, Windows Server 2008 R2, Windows Vista, and Windows // Server 2008: The LOAD_LIBRARY_SEARCH_* flags are available on // systems that have KB2533623 installed. To determine whether the // flags are available, use GetProcAddress to get the address of the // AddDllDirectory, RemoveDllDirectory, or SetDefaultDllDirectories // function. If GetProcAddress succeeds, the LOAD_LIBRARY_SEARCH_* // flags can be used with LoadLibraryEx." canDoSearchSystem32Once.v = (modkernel32.NewProc("AddDllDirectory").Find() == nil) } func canDoSearchSystem32() bool { canDoSearchSystem32Once.Do(initCanDoSearchSystem32) return canDoSearchSystem32Once.v } func isBaseName(name string) bool { for _, c := range name { if c == ':' || c == '/' || c == '\\' { return false } } return true } // loadLibraryEx wraps the Windows LoadLibraryEx function. // // See https://msdn.microsoft.com/en-us/library/windows/desktop/ms684179(v=vs.85).aspx // // If name is not an absolute path, LoadLibraryEx searches for the DLL // in a variety of automatic locations unless constrained by flags. // See: https://msdn.microsoft.com/en-us/library/ff919712%28VS.85%29.aspx func loadLibraryEx(name string, system bool) (*DLL, error) { loadDLL := name var flags uintptr if system { if canDoSearchSystem32() { flags = LOAD_LIBRARY_SEARCH_SYSTEM32 } else if isBaseName(name) { // WindowsXP or unpatched Windows machine // trying to load "foo.dll" out of the system // folder, but LoadLibraryEx doesn't support // that yet on their system, so emulate it. systemdir, err := GetSystemDirectory() if err != nil { return nil, err } loadDLL = systemdir + "\\" + name } } h, err := LoadLibraryEx(loadDLL, 0, flags) if err != nil { return nil, err } return &DLL{Name: name, Handle: h}, nil } type errString string func (s errString) Error() string { return string(s) } dependencies/pkg/mod/golang.org/x/sys@v0.26.0/windows/memory_windows.go0000644000000000000000000000257515107355264024742 0ustar rootroot// Copyright 2017 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 windows const ( MEM_COMMIT = 0x00001000 MEM_RESERVE = 0x00002000 MEM_DECOMMIT = 0x00004000 MEM_RELEASE = 0x00008000 MEM_RESET = 0x00080000 MEM_TOP_DOWN = 0x00100000 MEM_WRITE_WATCH = 0x00200000 MEM_PHYSICAL = 0x00400000 MEM_RESET_UNDO = 0x01000000 MEM_LARGE_PAGES = 0x20000000 PAGE_NOACCESS = 0x00000001 PAGE_READONLY = 0x00000002 PAGE_READWRITE = 0x00000004 PAGE_WRITECOPY = 0x00000008 PAGE_EXECUTE = 0x00000010 PAGE_EXECUTE_READ = 0x00000020 PAGE_EXECUTE_READWRITE = 0x00000040 PAGE_EXECUTE_WRITECOPY = 0x00000080 PAGE_GUARD = 0x00000100 PAGE_NOCACHE = 0x00000200 PAGE_WRITECOMBINE = 0x00000400 PAGE_TARGETS_INVALID = 0x40000000 PAGE_TARGETS_NO_UPDATE = 0x40000000 QUOTA_LIMITS_HARDWS_MIN_DISABLE = 0x00000002 QUOTA_LIMITS_HARDWS_MIN_ENABLE = 0x00000001 QUOTA_LIMITS_HARDWS_MAX_DISABLE = 0x00000008 QUOTA_LIMITS_HARDWS_MAX_ENABLE = 0x00000004 ) type MemoryBasicInformation struct { BaseAddress uintptr AllocationBase uintptr AllocationProtect uint32 PartitionId uint16 RegionSize uintptr State uint32 Protect uint32 Type uint32 } dependencies/pkg/mod/golang.org/x/sys@v0.26.0/windows/syscall_windows_test.go0000644000000000000000000013304015107355264026133 0ustar rootroot// 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 windows_test import ( "bufio" "bytes" "debug/pe" "errors" "fmt" "os" "os/exec" "path/filepath" "runtime" "strconv" "strings" "syscall" "testing" "time" "unicode/utf8" "unsafe" "golang.org/x/sys/windows" ) func TestWin32finddata(t *testing.T) { path := filepath.Join(t.TempDir(), "long_name.and_extension") f, err := os.Create(path) if err != nil { t.Fatalf("failed to create %v: %v", path, err) } f.Close() type X struct { fd windows.Win32finddata got byte pad [10]byte // to protect ourselves } var want byte = 2 // it is unlikely to have this character in the filename x := X{got: want} pathp, _ := windows.UTF16PtrFromString(path) h, err := windows.FindFirstFile(pathp, &(x.fd)) if err != nil { t.Fatalf("FindFirstFile failed: %v", err) } err = windows.FindClose(h) if err != nil { t.Fatalf("FindClose failed: %v", err) } if x.got != want { t.Fatalf("memory corruption: want=%d got=%d", want, x.got) } } func TestFormatMessage(t *testing.T) { dll := windows.MustLoadDLL("netevent.dll") const TITLE_SC_MESSAGE_BOX uint32 = 0xC0001B75 const flags uint32 = syscall.FORMAT_MESSAGE_FROM_HMODULE | syscall.FORMAT_MESSAGE_ARGUMENT_ARRAY | syscall.FORMAT_MESSAGE_IGNORE_INSERTS buf := make([]uint16, 300) _, err := windows.FormatMessage(flags, uintptr(dll.Handle), TITLE_SC_MESSAGE_BOX, 0, buf, nil) if err != nil { t.Fatalf("FormatMessage for handle=%x and errno=%x failed: %v", dll.Handle, TITLE_SC_MESSAGE_BOX, err) } } func abort(funcname string, err error) { panic(funcname + " failed: " + err.Error()) } func ExampleLoadLibrary() { h, err := windows.LoadLibrary("kernel32.dll") if err != nil { abort("LoadLibrary", err) } defer windows.FreeLibrary(h) proc, err := windows.GetProcAddress(h, "GetVersion") if err != nil { abort("GetProcAddress", err) } r, _, _ := syscall.Syscall(uintptr(proc), 0, 0, 0, 0) major := byte(r) minor := uint8(r >> 8) build := uint16(r >> 16) print("windows version ", major, ".", minor, " (Build ", build, ")\n") } func TestTOKEN_ALL_ACCESS(t *testing.T) { if windows.TOKEN_ALL_ACCESS != 0xF01FF { t.Errorf("TOKEN_ALL_ACCESS = %x, want 0xF01FF", windows.TOKEN_ALL_ACCESS) } } func TestCreateWellKnownSid(t *testing.T) { sid, err := windows.CreateWellKnownSid(windows.WinBuiltinAdministratorsSid) if err != nil { t.Fatalf("Unable to create well known sid for administrators: %v", err) } if got, want := sid.String(), "S-1-5-32-544"; got != want { t.Fatalf("Builtin Administrators SID = %s, want %s", got, want) } } func TestPseudoTokens(t *testing.T) { version, err := windows.GetVersion() if err != nil { t.Fatal(err) } if ((version&0xffff)>>8)|((version&0xff)<<8) < 0x0602 { return } realProcessToken, err := windows.OpenCurrentProcessToken() if err != nil { t.Fatal(err) } defer realProcessToken.Close() realProcessUser, err := realProcessToken.GetTokenUser() if err != nil { t.Fatal(err) } pseudoProcessToken := windows.GetCurrentProcessToken() pseudoProcessUser, err := pseudoProcessToken.GetTokenUser() if err != nil { t.Fatal(err) } if !windows.EqualSid(realProcessUser.User.Sid, pseudoProcessUser.User.Sid) { t.Fatal("The real process token does not have the same as the pseudo process token") } runtime.LockOSThread() defer runtime.UnlockOSThread() err = windows.RevertToSelf() if err != nil { t.Fatal(err) } pseudoThreadToken := windows.GetCurrentThreadToken() _, err = pseudoThreadToken.GetTokenUser() if err != windows.ERROR_NO_TOKEN { t.Fatal("Expected an empty thread token") } pseudoThreadEffectiveToken := windows.GetCurrentThreadEffectiveToken() pseudoThreadEffectiveUser, err := pseudoThreadEffectiveToken.GetTokenUser() if err != nil { t.Fatal(nil) } if !windows.EqualSid(realProcessUser.User.Sid, pseudoThreadEffectiveUser.User.Sid) { t.Fatal("The real process token does not have the same as the pseudo thread effective token, even though we aren't impersonating") } err = windows.ImpersonateSelf(windows.SecurityImpersonation) if err != nil { t.Fatal(err) } defer windows.RevertToSelf() pseudoThreadUser, err := pseudoThreadToken.GetTokenUser() if err != nil { t.Fatal(err) } if !windows.EqualSid(realProcessUser.User.Sid, pseudoThreadUser.User.Sid) { t.Fatal("The real process token does not have the same as the pseudo thread token after impersonating self") } } func TestGUID(t *testing.T) { guid, err := windows.GenerateGUID() if err != nil { t.Fatal(err) } if guid.Data1 == 0 && guid.Data2 == 0 && guid.Data3 == 0 && guid.Data4 == [8]byte{} { t.Fatal("Got an all zero GUID, which is overwhelmingly unlikely") } want := fmt.Sprintf("{%08X-%04X-%04X-%04X-%012X}", guid.Data1, guid.Data2, guid.Data3, guid.Data4[:2], guid.Data4[2:]) got := guid.String() if got != want { t.Fatalf("String = %q; want %q", got, want) } guid2, err := windows.GUIDFromString(got) if err != nil { t.Fatal(err) } if guid2 != guid { t.Fatalf("Did not parse string back to original GUID = %q; want %q", guid2, guid) } _, err = windows.GUIDFromString("not-a-real-guid") if err != syscall.Errno(windows.CO_E_CLASSSTRING) { t.Fatalf("Bad GUID string error = %v; want CO_E_CLASSSTRING", err) } } func TestKnownFolderPath(t *testing.T) { token, err := windows.OpenCurrentProcessToken() if err != nil { t.Fatal(err) } defer token.Close() profileDir, err := token.GetUserProfileDirectory() if err != nil { t.Fatal(err) } want := filepath.Join(profileDir, "Desktop") got, err := windows.KnownFolderPath(windows.FOLDERID_Desktop, windows.KF_FLAG_DEFAULT) if err != nil { t.Fatal(err) } if want != got { t.Fatalf("Path = %q; want %q", got, want) } } func TestRtlGetVersion(t *testing.T) { version := windows.RtlGetVersion() major, minor, build := windows.RtlGetNtVersionNumbers() // Go is not explicitly added to the application compatibility database, so // these two functions should return the same thing. if version.MajorVersion != major || version.MinorVersion != minor || version.BuildNumber != build { t.Fatalf("%d.%d.%d != %d.%d.%d", version.MajorVersion, version.MinorVersion, version.BuildNumber, major, minor, build) } } func TestGetNamedSecurityInfo(t *testing.T) { path, err := windows.GetSystemDirectory() if err != nil { t.Fatal(err) } sd, err := windows.GetNamedSecurityInfo(path, windows.SE_FILE_OBJECT, windows.OWNER_SECURITY_INFORMATION) if err != nil { t.Fatal(err) } if !sd.IsValid() { t.Fatal("Invalid security descriptor") } sdOwner, _, err := sd.Owner() if err != nil { t.Fatal(err) } if !sdOwner.IsValid() { t.Fatal("Invalid security descriptor owner") } } func TestGetSecurityInfo(t *testing.T) { sd, err := windows.GetSecurityInfo(windows.CurrentProcess(), windows.SE_KERNEL_OBJECT, windows.DACL_SECURITY_INFORMATION) if err != nil { t.Fatal(err) } if !sd.IsValid() { t.Fatal("Invalid security descriptor") } sdStr := sd.String() if !strings.HasPrefix(sdStr, "D:(A;") { t.Fatalf("DACL = %q; want D:(A;...", sdStr) } } func TestSddlConversion(t *testing.T) { sd, err := windows.SecurityDescriptorFromString("O:BA") if err != nil { t.Fatal(err) } if !sd.IsValid() { t.Fatal("Invalid security descriptor") } sdOwner, _, err := sd.Owner() if err != nil { t.Fatal(err) } if !sdOwner.IsValid() { t.Fatal("Invalid security descriptor owner") } if !sdOwner.IsWellKnown(windows.WinBuiltinAdministratorsSid) { t.Fatalf("Owner = %q; want S-1-5-32-544", sdOwner) } } func TestBuildSecurityDescriptor(t *testing.T) { const want = "O:SYD:(A;;GA;;;BA)" adminSid, err := windows.CreateWellKnownSid(windows.WinBuiltinAdministratorsSid) if err != nil { t.Fatal(err) } systemSid, err := windows.CreateWellKnownSid(windows.WinLocalSystemSid) if err != nil { t.Fatal(err) } access := []windows.EXPLICIT_ACCESS{{ AccessPermissions: windows.GENERIC_ALL, AccessMode: windows.GRANT_ACCESS, Trustee: windows.TRUSTEE{ TrusteeForm: windows.TRUSTEE_IS_SID, TrusteeType: windows.TRUSTEE_IS_GROUP, TrusteeValue: windows.TrusteeValueFromSID(adminSid), }, }} owner := &windows.TRUSTEE{ TrusteeForm: windows.TRUSTEE_IS_SID, TrusteeType: windows.TRUSTEE_IS_USER, TrusteeValue: windows.TrusteeValueFromSID(systemSid), } sd, err := windows.BuildSecurityDescriptor(owner, nil, access, nil, nil) if err != nil { t.Fatal(err) } sd, err = sd.ToAbsolute() if err != nil { t.Fatal(err) } err = sd.SetSACL(nil, false, false) if err != nil { t.Fatal(err) } if got := sd.String(); got != want { t.Fatalf("SD = %q; want %q", got, want) } sd, err = sd.ToSelfRelative() if err != nil { t.Fatal(err) } if got := sd.String(); got != want { t.Fatalf("SD = %q; want %q", got, want) } sd, err = windows.NewSecurityDescriptor() if err != nil { t.Fatal(err) } acl, err := windows.ACLFromEntries(access, nil) if err != nil { t.Fatal(err) } err = sd.SetDACL(acl, true, false) if err != nil { t.Fatal(err) } err = sd.SetOwner(systemSid, false) if err != nil { t.Fatal(err) } if got := sd.String(); got != want { t.Fatalf("SD = %q; want %q", got, want) } sd, err = sd.ToSelfRelative() if err != nil { t.Fatal(err) } if got := sd.String(); got != want { t.Fatalf("SD = %q; want %q", got, want) } } // getEntriesFromACL returns a list of explicit access control entries associated with the given ACL. func getEntriesFromACL(acl *windows.ACL) (aces []*windows.ACCESS_ALLOWED_ACE, err error) { aces = make([]*windows.ACCESS_ALLOWED_ACE, acl.AceCount) for i := uint16(0); i < acl.AceCount; i++ { err = windows.GetAce(acl, uint32(i), &aces[i]) if err != nil { return nil, err } } return aces, nil } func TestGetACEsFromACL(t *testing.T) { // Create a temporary file to set ACLs on and test getting the ACEs from the ACL. f, err := os.CreateTemp("", "foo.lish") defer os.Remove(f.Name()) if err = f.Close(); err != nil { t.Fatal(err) } // Well-known SID Strings: // https://support.microsoft.com/en-us/help/243330/well-known-security-identifiers-in-windows-operating-systems ownerSid, err := windows.StringToSid("S-1-3-2") if err != nil { t.Fatal(err) } groupSid, err := windows.StringToSid("S-1-3-3") if err != nil { t.Fatal(err) } worldSid, err := windows.StringToSid("S-1-1-0") if err != nil { t.Fatal(err) } ownerPermissions := windows.ACCESS_MASK(windows.GENERIC_ALL) groupPermissions := windows.ACCESS_MASK(windows.GENERIC_READ | windows.GENERIC_EXECUTE) worldPermissions := windows.ACCESS_MASK(windows.GENERIC_READ) access := []windows.EXPLICIT_ACCESS{ { AccessPermissions: ownerPermissions, AccessMode: windows.GRANT_ACCESS, Trustee: windows.TRUSTEE{ TrusteeForm: windows.TRUSTEE_IS_SID, TrusteeValue: windows.TrusteeValueFromSID(ownerSid), }, }, { AccessPermissions: groupPermissions, AccessMode: windows.GRANT_ACCESS, Trustee: windows.TRUSTEE{ TrusteeForm: windows.TRUSTEE_IS_SID, TrusteeType: windows.TRUSTEE_IS_GROUP, TrusteeValue: windows.TrusteeValueFromSID(groupSid), }, }, { AccessPermissions: worldPermissions, AccessMode: windows.GRANT_ACCESS, Trustee: windows.TRUSTEE{ TrusteeForm: windows.TRUSTEE_IS_SID, TrusteeType: windows.TRUSTEE_IS_GROUP, TrusteeValue: windows.TrusteeValueFromSID(worldSid), }, }, } acl, err := windows.ACLFromEntries(access, nil) if err != nil { t.Fatal(err) } // Set new ACL. err = windows.SetNamedSecurityInfo( f.Name(), windows.SE_FILE_OBJECT, windows.DACL_SECURITY_INFORMATION|windows.PROTECTED_DACL_SECURITY_INFORMATION, nil, nil, acl, nil, ) if err != nil { t.Fatal(err) } descriptor, err := windows.GetNamedSecurityInfo( f.Name(), windows.SE_FILE_OBJECT, windows.DACL_SECURITY_INFORMATION|windows.PROTECTED_DACL_SECURITY_INFORMATION|windows.OWNER_SECURITY_INFORMATION|windows.GROUP_SECURITY_INFORMATION, ) if err != nil { t.Fatal(err) } dacl, _, err := descriptor.DACL() if err != nil { t.Fatal(err) } owner, _, err := descriptor.Owner() if err != nil { t.Fatal(err) } group, _, err := descriptor.Group() if err != nil { t.Fatal(err) } entries, err := getEntriesFromACL(dacl) if err != nil { t.Fatal(err) } if len(entries) != 3 { t.Fatalf("Expected newly set ACL to only have 3 entries.") } // https://docs.microsoft.com/en-us/windows/win32/fileio/file-access-rights-constants read := uint32(windows.FILE_READ_DATA | windows.FILE_READ_ATTRIBUTES) write := uint32(windows.FILE_WRITE_DATA | windows.FILE_APPEND_DATA | windows.FILE_WRITE_ATTRIBUTES | windows.FILE_WRITE_EA) execute := uint32(windows.FILE_READ_DATA | windows.FILE_EXECUTE) // Check the set ACEs. We should have the equivalent of 754. for _, entry := range entries { mask := uint32(entry.Mask) actual := 0 if mask&read == read { actual |= 4 } if mask&write == write { actual |= 2 } if mask&execute == execute { actual |= 1 } entrySid := (*windows.SID)(unsafe.Pointer(&entry.SidStart)) if owner.Equals(entrySid) { if actual != 7 { t.Fatalf("Expected owner to have FullAccess permissions.") } } else if group.Equals(entrySid) { if actual != 5 { t.Fatalf("Expected group to have only Read and Execute permissions.") } } else if worldSid.Equals(entrySid) { if actual != 4 { t.Fatalf("Expected the World to have only Read permissions.") } } else { t.Fatalf("Unexpected SID in ACEs: %s", entrySid.String()) } } } func TestGetDiskFreeSpaceEx(t *testing.T) { cwd, err := windows.UTF16PtrFromString(".") if err != nil { t.Fatalf(`failed to call UTF16PtrFromString("."): %v`, err) } var freeBytesAvailableToCaller, totalNumberOfBytes, totalNumberOfFreeBytes uint64 if err := windows.GetDiskFreeSpaceEx(cwd, &freeBytesAvailableToCaller, &totalNumberOfBytes, &totalNumberOfFreeBytes); err != nil { t.Fatalf("failed to call GetDiskFreeSpaceEx: %v", err) } if freeBytesAvailableToCaller == 0 { t.Errorf("freeBytesAvailableToCaller: got 0; want > 0") } if totalNumberOfBytes == 0 { t.Errorf("totalNumberOfBytes: got 0; want > 0") } if totalNumberOfFreeBytes == 0 { t.Errorf("totalNumberOfFreeBytes: got 0; want > 0") } } func TestGetPreferredUILanguages(t *testing.T) { tab := map[string]func(flags uint32) ([]string, error){ "GetProcessPreferredUILanguages": windows.GetProcessPreferredUILanguages, "GetThreadPreferredUILanguages": windows.GetThreadPreferredUILanguages, "GetUserPreferredUILanguages": windows.GetUserPreferredUILanguages, "GetSystemPreferredUILanguages": windows.GetSystemPreferredUILanguages, } for fName, f := range tab { lang, err := f(windows.MUI_LANGUAGE_ID) if err != nil { t.Errorf(`failed to call %v(MUI_LANGUAGE_ID): %v`, fName, err) } for _, l := range lang { _, err := strconv.ParseUint(l, 16, 16) if err != nil { t.Errorf(`%v(MUI_LANGUAGE_ID) returned unexpected LANGID: %v`, fName, l) } } lang, err = f(windows.MUI_LANGUAGE_NAME) if err != nil { t.Errorf(`failed to call %v(MUI_LANGUAGE_NAME): %v`, fName, err) } } } func TestProcessWorkingSetSizeEx(t *testing.T) { // Grab a handle to the current process hProcess := windows.CurrentProcess() // Allocate memory to store the result of the query var minimumWorkingSetSize, maximumWorkingSetSize uintptr // Make the system-call var flag uint32 windows.GetProcessWorkingSetSizeEx(hProcess, &minimumWorkingSetSize, &maximumWorkingSetSize, &flag) // Set the new limits to the current ones if err := windows.SetProcessWorkingSetSizeEx(hProcess, minimumWorkingSetSize, maximumWorkingSetSize, flag); err != nil { t.Error(err) } } func TestJobObjectInfo(t *testing.T) { jo, err := windows.CreateJobObject(nil, nil) if err != nil { t.Fatalf("CreateJobObject failed: %v", err) } defer windows.CloseHandle(jo) var info windows.JOBOBJECT_EXTENDED_LIMIT_INFORMATION err = windows.QueryInformationJobObject(jo, windows.JobObjectExtendedLimitInformation, uintptr(unsafe.Pointer(&info)), uint32(unsafe.Sizeof(info)), nil) if err != nil { t.Fatalf("QueryInformationJobObject failed: %v", err) } const wantMemLimit = 4 * 1024 info.BasicLimitInformation.LimitFlags |= windows.JOB_OBJECT_LIMIT_PROCESS_MEMORY info.ProcessMemoryLimit = wantMemLimit _, err = windows.SetInformationJobObject(jo, windows.JobObjectExtendedLimitInformation, uintptr(unsafe.Pointer(&info)), uint32(unsafe.Sizeof(info))) if err != nil { t.Fatalf("SetInformationJobObject failed: %v", err) } err = windows.QueryInformationJobObject(jo, windows.JobObjectExtendedLimitInformation, uintptr(unsafe.Pointer(&info)), uint32(unsafe.Sizeof(info)), nil) if err != nil { t.Fatalf("QueryInformationJobObject failed: %v", err) } if have := info.ProcessMemoryLimit; wantMemLimit != have { t.Errorf("ProcessMemoryLimit is wrong: want %v have %v", wantMemLimit, have) } } func TestIsWow64Process2(t *testing.T) { var processMachine, nativeMachine uint16 err := windows.IsWow64Process2(windows.CurrentProcess(), &processMachine, &nativeMachine) if errors.Is(err, windows.ERROR_PROC_NOT_FOUND) { maj, min, build := windows.RtlGetNtVersionNumbers() if maj < 10 || (maj == 10 && min == 0 && build < 17763) { t.Skip("not available on older versions of Windows") return } } if err != nil { t.Fatalf("IsWow64Process2 failed: %v", err) } if processMachine == pe.IMAGE_FILE_MACHINE_UNKNOWN { processMachine = nativeMachine } switch { case processMachine == pe.IMAGE_FILE_MACHINE_AMD64 && runtime.GOARCH == "amd64": case processMachine == pe.IMAGE_FILE_MACHINE_I386 && runtime.GOARCH == "386": case processMachine == pe.IMAGE_FILE_MACHINE_ARMNT && runtime.GOARCH == "arm": case processMachine == pe.IMAGE_FILE_MACHINE_ARM64 && runtime.GOARCH == "arm64": default: t.Errorf("IsWow64Process2 is wrong: want %v have %v", runtime.GOARCH, processMachine) } } func TestNTStatusString(t *testing.T) { want := "The name limit for the local computer network adapter card was exceeded." got := windows.STATUS_TOO_MANY_NAMES.Error() if want != got { t.Errorf("NTStatus.Error did not return an expected error string - want %q; got %q", want, got) } } func TestNTStatusConversion(t *testing.T) { want := windows.ERROR_TOO_MANY_NAMES got := windows.STATUS_TOO_MANY_NAMES.Errno() if want != got { t.Errorf("NTStatus.Errno = %q (0x%x); want %q (0x%x)", got.Error(), got, want.Error(), want) } } func TestPEBFilePath(t *testing.T) { peb := windows.RtlGetCurrentPeb() if peb == nil || peb.Ldr == nil { t.Error("unable to retrieve PEB with valid Ldr") } var entry *windows.LDR_DATA_TABLE_ENTRY for cur := peb.Ldr.InMemoryOrderModuleList.Flink; cur != &peb.Ldr.InMemoryOrderModuleList; cur = cur.Flink { e := (*windows.LDR_DATA_TABLE_ENTRY)(unsafe.Pointer(uintptr(unsafe.Pointer(cur)) - unsafe.Offsetof(windows.LDR_DATA_TABLE_ENTRY{}.InMemoryOrderLinks))) if e.DllBase == peb.ImageBaseAddress { entry = e break } } if entry == nil { t.Error("unable to find Ldr entry for current process") } osPath, err := os.Executable() if err != nil { t.Errorf("unable to get path to current executable: %v", err) } pebPath := entry.FullDllName.String() if osPath != pebPath { t.Errorf("peb.Ldr.{entry}.FullDllName = %#q; want %#q", pebPath, osPath) } paramPath := peb.ProcessParameters.ImagePathName.String() if osPath != paramPath { t.Errorf("peb.ProcessParameters.ImagePathName.{entry}.ImagePathName = %#q; want %#q", paramPath, osPath) } osCwd, err := os.Getwd() if err != nil { t.Errorf("unable to get working directory: %v", err) } osCwd = filepath.Clean(osCwd) paramCwd := filepath.Clean(peb.ProcessParameters.CurrentDirectory.DosPath.String()) if paramCwd != osCwd { t.Errorf("peb.ProcessParameters.CurrentDirectory.DosPath = %#q; want %#q", paramCwd, osCwd) } } func TestResourceExtraction(t *testing.T) { system32, err := windows.GetSystemDirectory() if err != nil { t.Errorf("unable to find system32 directory: %v", err) } cmd, err := windows.LoadLibrary(filepath.Join(system32, "cmd.exe")) if err != nil { t.Errorf("unable to load cmd.exe: %v", err) } defer windows.FreeLibrary(cmd) rsrc, err := windows.FindResource(cmd, windows.CREATEPROCESS_MANIFEST_RESOURCE_ID, windows.RT_MANIFEST) if err != nil { t.Errorf("unable to find cmd.exe manifest resource: %v", err) } manifest, err := windows.LoadResourceData(cmd, rsrc) if err != nil { t.Errorf("unable to load cmd.exe manifest resource data: %v", err) } if !bytes.Contains(manifest, []byte("")) { t.Errorf("did not find in manifest") } } func FuzzComposeCommandLine(f *testing.F) { f.Add(`C:\foo.exe /bar /baz "-bag qux"`) f.Add(`"C:\Program Files\Go\bin\go.exe" env`) f.Add(`C:\"Program Files"\Go\bin\go.exe env`) f.Add(`C:\"Program Files"\Go\bin\go.exe env`) f.Add(`C:\"Pro"gram Files\Go\bin\go.exe env`) f.Add(``) f.Add(` `) f.Add(`W\"0`) f.Add("\"\f") f.Add("\f") f.Add("\x16") f.Add(`"" ` + strings.Repeat("a", 8193)) f.Add(strings.Repeat(`"" `, 8193)) f.Add("\x00abcd") f.Add("ab\x00cd") f.Add("abcd\x00") f.Add("\x00abcd\x00") f.Add("\x00ab\x00cd\x00") f.Add("\x00\x00\x00") f.Add("\x16\x00\x16") f.Add(`C:\Program Files\Go\bin\go.exe` + "\x00env") f.Add(`"C:\Program Files\Go\bin\go.exe"` + "\x00env") f.Add(`C:\"Program Files"\Go\bin\go.exe` + "\x00env") f.Add(`C:\"Pro"gram Files\Go\bin\go.exe` + "\x00env") f.Add("\x00" + strings.Repeat("a", 8192)) f.Add("\x00" + strings.Repeat("a", 8193)) f.Add(strings.Repeat("\x00"+strings.Repeat("a", 8192), 4)) f.Fuzz(func(t *testing.T, s string) { // DecomposeCommandLine is the “control” for our experiment: // if it returns a particular list of arguments, then we know // it must be possible to create an input string that produces // exactly those arguments. // // However, DecomposeCommandLine returns an error if the string // contains a NUL byte. In that case, we will fall back to // strings.Split, and be a bit more permissive about the results. args, err := windows.DecomposeCommandLine(s) argsFromSplit := false if err == nil { if testing.Verbose() { t.Logf("DecomposeCommandLine(%#q) = %#q", s, args) } } else { t.Logf("DecomposeCommandLine: %v", err) if !strings.Contains(s, "\x00") { // The documentation for CommandLineToArgv takes for granted that // the first argument is a valid file path, and doesn't describe any // specific behavior for malformed arguments. Empirically it seems to // tolerate anything we throw at it, but if we discover cases where it // actually returns an error we might need to relax this check. t.Fatal("(error unexpected)") } // Since DecomposeCommandLine can't handle this string, // interpret it as the raw arguments to ComposeCommandLine. args = strings.Split(s, "\x00") argsFromSplit = true for i, arg := range args { if !utf8.ValidString(arg) { // We need to encode the arguments as UTF-16 to pass them to // CommandLineToArgvW, so skip inputs that are not valid: they might // have one or more runes converted to replacement characters. t.Skipf("skipping: input %d is not valid UTF-8", i) } } if testing.Verbose() { t.Logf("using input: %#q", args) } } // It's ok if we compose a different command line than what was read. // Just check that we are able to compose something that round-trips // to the same results as the original. commandLine := windows.ComposeCommandLine(args) t.Logf("ComposeCommandLine(_) = %#q", commandLine) got, err := windows.DecomposeCommandLine(commandLine) if err != nil { t.Fatalf("DecomposeCommandLine: unexpected error: %v", err) } if testing.Verbose() { t.Logf("DecomposeCommandLine(_) = %#q", got) } var badMatches []int for i := range args { if i >= len(got) { badMatches = append(badMatches, i) continue } want := args[i] if got[i] != want { if i == 0 && argsFromSplit { // It is possible that args[0] cannot be encoded exactly, because // CommandLineToArgvW doesn't unescape that argument in the same way // as the others: since the first argument is assumed to be the name // of the program itself, we only have the option of quoted or not. // // If args[0] contains a space or control character, we must quote it // to avoid it being split into multiple arguments. // If args[0] already starts with a quote character, we have no way // to indicate that character is part of the literal argument. // In either case, if the string already contains a quote character // we must avoid misinterpreting that character as the end of the // quoted argument string. // // Unfortunately, ComposeCommandLine does not return an error, so we // can't report existing quote characters as errors. // Instead, we strip out the problematic quote characters from the // argument, and quote the remainder. // For paths like C:\"Program Files"\Go\bin\go.exe that is arguably // what the caller intended anyway, and for other strings it seems // less harmful than corrupting the subsequent arguments. if got[i] == strings.ReplaceAll(want, `"`, ``) { continue } } badMatches = append(badMatches, i) } } if len(badMatches) != 0 { t.Errorf("Incorrect decomposition at indices: %v", badMatches) } }) } func TestWinVerifyTrust(t *testing.T) { evsignedfile := `.\testdata\ev-signed-file.exe` evsignedfile16, err := windows.UTF16PtrFromString(evsignedfile) if err != nil { t.Fatalf("unable to get utf16 of %s: %v", evsignedfile, err) } data := &windows.WinTrustData{ Size: uint32(unsafe.Sizeof(windows.WinTrustData{})), UIChoice: windows.WTD_UI_NONE, RevocationChecks: windows.WTD_REVOKE_NONE, // No revocation checking, in case the tests don't have network connectivity. UnionChoice: windows.WTD_CHOICE_FILE, StateAction: windows.WTD_STATEACTION_VERIFY, FileOrCatalogOrBlobOrSgnrOrCert: unsafe.Pointer(&windows.WinTrustFileInfo{ Size: uint32(unsafe.Sizeof(windows.WinTrustFileInfo{})), FilePath: evsignedfile16, }), } verifyErr := windows.WinVerifyTrustEx(windows.InvalidHWND, &windows.WINTRUST_ACTION_GENERIC_VERIFY_V2, data) data.StateAction = windows.WTD_STATEACTION_CLOSE closeErr := windows.WinVerifyTrustEx(windows.InvalidHWND, &windows.WINTRUST_ACTION_GENERIC_VERIFY_V2, data) if verifyErr != nil { t.Errorf("%s did not verify: %v", evsignedfile, verifyErr) } if closeErr != nil { t.Errorf("unable to free verification resources: %v", closeErr) } // Now that we've verified the legitimate file verifies, let's corrupt it and see if it correctly fails. corruptedEvsignedfile := filepath.Join(t.TempDir(), "corrupted-file") evsignedfileBytes, err := os.ReadFile(evsignedfile) if err != nil { t.Fatalf("unable to read %s bytes: %v", evsignedfile, err) } if len(evsignedfileBytes) > 0 { evsignedfileBytes[len(evsignedfileBytes)/2-1]++ } err = os.WriteFile(corruptedEvsignedfile, evsignedfileBytes, 0755) if err != nil { t.Fatalf("unable to write corrupted ntoskrnl.exe bytes: %v", err) } evsignedfile16, err = windows.UTF16PtrFromString(corruptedEvsignedfile) if err != nil { t.Fatalf("unable to get utf16 of ntoskrnl.exe: %v", err) } data = &windows.WinTrustData{ Size: uint32(unsafe.Sizeof(windows.WinTrustData{})), UIChoice: windows.WTD_UI_NONE, RevocationChecks: windows.WTD_REVOKE_NONE, // No revocation checking, in case the tests don't have network connectivity. UnionChoice: windows.WTD_CHOICE_FILE, StateAction: windows.WTD_STATEACTION_VERIFY, FileOrCatalogOrBlobOrSgnrOrCert: unsafe.Pointer(&windows.WinTrustFileInfo{ Size: uint32(unsafe.Sizeof(windows.WinTrustFileInfo{})), FilePath: evsignedfile16, }), } verifyErr = windows.WinVerifyTrustEx(windows.InvalidHWND, &windows.WINTRUST_ACTION_GENERIC_VERIFY_V2, data) data.StateAction = windows.WTD_STATEACTION_CLOSE closeErr = windows.WinVerifyTrustEx(windows.InvalidHWND, &windows.WINTRUST_ACTION_GENERIC_VERIFY_V2, data) if verifyErr != windows.Errno(windows.TRUST_E_BAD_DIGEST) { t.Errorf("%s did not fail to verify as expected: %v", corruptedEvsignedfile, verifyErr) } if closeErr != nil { t.Errorf("unable to free verification resources: %v", closeErr) } } func TestEnumProcesses(t *testing.T) { var ( pids [2]uint32 outSize uint32 ) err := windows.EnumProcesses(pids[:], &outSize) if err != nil { t.Fatalf("unable to enumerate processes: %v", err) } // Regression check for go.dev/issue/60223 if outSize != 8 { t.Errorf("unexpected bytes returned: %d", outSize) } // Most likely, this should be [0, 4]. // 0 is the system idle pseudo-process. 4 is the initial system process ID. // This test expects that at least one of the PIDs is not 0. if pids[0] == 0 && pids[1] == 0 { t.Errorf("all PIDs are 0") } } func TestProcessModules(t *testing.T) { process, err := windows.GetCurrentProcess() if err != nil { t.Fatalf("unable to get current process: %v", err) } // NB: Assume that we're always the first module. This technically isn't documented anywhere (that I could find), but seems to always hold. var module windows.Handle var cbNeeded uint32 err = windows.EnumProcessModules(process, &module, uint32(unsafe.Sizeof(module)), &cbNeeded) if err != nil { t.Fatalf("EnumProcessModules failed: %v", err) } var moduleEx windows.Handle err = windows.EnumProcessModulesEx(process, &moduleEx, uint32(unsafe.Sizeof(moduleEx)), &cbNeeded, windows.LIST_MODULES_DEFAULT) if err != nil { t.Fatalf("EnumProcessModulesEx failed: %v", err) } if module != moduleEx { t.Fatalf("module from EnumProcessModules does not match EnumProcessModulesEx: %v != %v", module, moduleEx) } exePath, err := os.Executable() if err != nil { t.Fatalf("unable to get current executable path: %v", err) } modulePathUTF16 := make([]uint16, len(exePath)+1) err = windows.GetModuleFileNameEx(process, module, &modulePathUTF16[0], uint32(len(modulePathUTF16))) if err != nil { t.Fatalf("GetModuleFileNameEx failed: %v", err) } modulePath := windows.UTF16ToString(modulePathUTF16) if modulePath != exePath { t.Fatalf("module does not match executable for GetModuleFileNameEx: %s != %s", modulePath, exePath) } err = windows.GetModuleBaseName(process, module, &modulePathUTF16[0], uint32(len(modulePathUTF16))) if err != nil { t.Fatalf("GetModuleBaseName failed: %v", err) } modulePath = windows.UTF16ToString(modulePathUTF16) baseExePath := filepath.Base(exePath) if modulePath != baseExePath { t.Fatalf("module does not match executable for GetModuleBaseName: %s != %s", modulePath, baseExePath) } var moduleInfo windows.ModuleInfo err = windows.GetModuleInformation(process, module, &moduleInfo, uint32(unsafe.Sizeof(moduleInfo))) if err != nil { t.Fatalf("GetModuleInformation failed: %v", err) } peFile, err := pe.Open(exePath) if err != nil { t.Fatalf("unable to open current executable: %v", err) } defer peFile.Close() var peSizeOfImage uint32 switch runtime.GOARCH { case "amd64", "arm64": peSizeOfImage = peFile.OptionalHeader.(*pe.OptionalHeader64).SizeOfImage case "386", "arm": peSizeOfImage = peFile.OptionalHeader.(*pe.OptionalHeader32).SizeOfImage default: t.Fatalf("unable to test GetModuleInformation on arch %v", runtime.GOARCH) } if moduleInfo.SizeOfImage != peSizeOfImage { t.Fatalf("module size does not match executable: %v != %v", moduleInfo.SizeOfImage, peSizeOfImage) } } func TestQueryWorkingSetEx(t *testing.T) { var a int process := windows.CurrentProcess() information := windows.PSAPI_WORKING_SET_EX_INFORMATION{ VirtualAddress: windows.Pointer(unsafe.Pointer(&a)), } infos := []windows.PSAPI_WORKING_SET_EX_INFORMATION{information} cb := uint32(uintptr(len(infos)) * unsafe.Sizeof(infos[0])) if err := windows.QueryWorkingSetEx(process, uintptr(unsafe.Pointer(&infos[0])), cb); err != nil { t.Fatalf("%+v", err) } if !infos[0].VirtualAttributes.Valid() { t.Errorf("memory location not valid") } } func TestReadWriteProcessMemory(t *testing.T) { testBuffer := []byte{0xBA, 0xAD, 0xF0, 0x0D} process, err := windows.GetCurrentProcess() if err != nil { t.Fatalf("unable to get current process: %v", err) } buffer := make([]byte, len(testBuffer)) err = windows.ReadProcessMemory(process, uintptr(unsafe.Pointer(&testBuffer[0])), &buffer[0], uintptr(len(buffer)), nil) if err != nil { t.Errorf("ReadProcessMemory failed: %v", err) } if !bytes.Equal(testBuffer, buffer) { t.Errorf("bytes read does not match buffer: 0x%X != 0x%X", testBuffer, buffer) } buffer = []byte{0xDE, 0xAD, 0xBE, 0xEF} err = windows.WriteProcessMemory(process, uintptr(unsafe.Pointer(&testBuffer[0])), &buffer[0], uintptr(len(buffer)), nil) if err != nil { t.Errorf("WriteProcessMemory failed: %v", err) } if !bytes.Equal(testBuffer, buffer) { t.Errorf("bytes written does not match buffer: 0x%X != 0x%X", testBuffer, buffer) } } func TestSystemModuleVersions(t *testing.T) { var modules []windows.RTL_PROCESS_MODULE_INFORMATION for bufferSize := uint32(128 * 1024); ; { moduleBuffer := make([]byte, bufferSize) err := windows.NtQuerySystemInformation(windows.SystemModuleInformation, unsafe.Pointer(&moduleBuffer[0]), bufferSize, &bufferSize) switch err { case windows.STATUS_INFO_LENGTH_MISMATCH: continue case nil: break default: t.Error(err) return } mods := (*windows.RTL_PROCESS_MODULES)(unsafe.Pointer(&moduleBuffer[0])) modules = unsafe.Slice(&mods.Modules[0], int(mods.NumberOfModules)) break } for i := range modules { moduleName := windows.ByteSliceToString(modules[i].FullPathName[modules[i].OffsetToFileName:]) driverPath := `\\?\GLOBALROOT` + windows.ByteSliceToString(modules[i].FullPathName[:]) var zero windows.Handle infoSize, err := windows.GetFileVersionInfoSize(driverPath, &zero) if err != nil { if err != windows.ERROR_FILE_NOT_FOUND && err != windows.ERROR_RESOURCE_TYPE_NOT_FOUND { t.Errorf("%v: %v", moduleName, err) } continue } versionInfo := make([]byte, infoSize) if err = windows.GetFileVersionInfo(driverPath, 0, infoSize, unsafe.Pointer(&versionInfo[0])); err != nil { t.Errorf("%v: %v", moduleName, err) continue } var fixedInfo *windows.VS_FIXEDFILEINFO fixedInfoLen := uint32(unsafe.Sizeof(*fixedInfo)) err = windows.VerQueryValue(unsafe.Pointer(&versionInfo[0]), `\`, (unsafe.Pointer)(&fixedInfo), &fixedInfoLen) if err != nil { t.Errorf("%v: %v", moduleName, err) continue } t.Logf("%s: v%d.%d.%d.%d", moduleName, (fixedInfo.FileVersionMS>>16)&0xff, (fixedInfo.FileVersionMS>>0)&0xff, (fixedInfo.FileVersionLS>>16)&0xff, (fixedInfo.FileVersionLS>>0)&0xff) } } type fileRenameInformation struct { ReplaceIfExists uint32 RootDirectory windows.Handle FileNameLength uint32 FileName [1]uint16 } func TestNtCreateFileAndNtSetInformationFile(t *testing.T) { var iosb windows.IO_STATUS_BLOCK var allocSize int64 = 0 // Open test directory with NtCreateFile. testDirPath := t.TempDir() objectName, err := windows.NewNTUnicodeString("\\??\\" + testDirPath) if err != nil { t.Fatal(err) } oa := &windows.OBJECT_ATTRIBUTES{ ObjectName: objectName, } oa.Length = uint32(unsafe.Sizeof(*oa)) var testDirHandle windows.Handle err = windows.NtCreateFile(&testDirHandle, windows.FILE_GENERIC_READ|windows.FILE_GENERIC_WRITE, oa, &iosb, &allocSize, 0, windows.FILE_SHARE_READ|windows.FILE_SHARE_WRITE|windows.FILE_SHARE_DELETE, windows.FILE_OPEN, windows.FILE_DIRECTORY_FILE, 0, 0) if err != nil { t.Fatalf("NtCreateFile(%v) failed: %v", testDirPath, err) } defer windows.CloseHandle(testDirHandle) // Create a file in test directory with NtCreateFile. fileName := "filename" filePath := filepath.Join(testDirPath, fileName) objectName, err = windows.NewNTUnicodeString(fileName) if err != nil { t.Fatal(err) } oa.RootDirectory = testDirHandle oa.ObjectName = objectName var fileHandle windows.Handle err = windows.NtCreateFile(&fileHandle, windows.FILE_GENERIC_READ|windows.FILE_GENERIC_WRITE|windows.DELETE, oa, &iosb, &allocSize, 0, windows.FILE_SHARE_READ|windows.FILE_SHARE_WRITE|windows.FILE_SHARE_DELETE, windows.FILE_CREATE, 0, 0, 0) if err != nil { t.Fatalf("NtCreateFile(%v) failed: %v", filePath, err) } defer windows.CloseHandle(fileHandle) _, err = os.Stat(filePath) if err != nil { t.Fatalf("cannot stat file created with NtCreatefile: %v", err) } // Rename file with NtSetInformationFile. newName := "newname" newPath := filepath.Join(testDirPath, newName) newNameUTF16, err := windows.UTF16FromString(newName) if err != nil { t.Fatal(err) } fileNameLen := len(newNameUTF16)*2 - 2 var dummyFileRenameInfo fileRenameInformation bufferSize := int(unsafe.Offsetof(dummyFileRenameInfo.FileName)) + fileNameLen buffer := make([]byte, bufferSize) typedBufferPtr := (*fileRenameInformation)(unsafe.Pointer(&buffer[0])) typedBufferPtr.ReplaceIfExists = windows.FILE_RENAME_REPLACE_IF_EXISTS | windows.FILE_RENAME_POSIX_SEMANTICS typedBufferPtr.FileNameLength = uint32(fileNameLen) copy((*[windows.MAX_LONG_PATH]uint16)(unsafe.Pointer(&typedBufferPtr.FileName[0]))[:fileNameLen/2:fileNameLen/2], newNameUTF16) err = windows.NtSetInformationFile(fileHandle, &iosb, &buffer[0], uint32(bufferSize), windows.FileRenameInformation) if err != nil { t.Fatalf("NtSetInformationFile(%v) failed: %v", newPath, err) } _, err = os.Stat(newPath) if err != nil { t.Fatalf("cannot stat rename target %v: %v", newPath, err) } } var deviceClassNetGUID = &windows.GUID{0x4d36e972, 0xe325, 0x11ce, [8]byte{0xbf, 0xc1, 0x08, 0x00, 0x2b, 0xe1, 0x03, 0x18}} var deviceInterfaceNetGUID = &windows.GUID{0xcac88484, 0x7515, 0x4c03, [8]byte{0x82, 0xe6, 0x71, 0xa8, 0x7a, 0xba, 0xc3, 0x61}} func TestListLoadedNetworkDevices(t *testing.T) { devInfo, err := windows.SetupDiGetClassDevsEx(deviceClassNetGUID, "", 0, windows.DIGCF_PRESENT, 0, "") if err != nil { t.Fatal(err) } defer devInfo.Close() for i := 0; ; i++ { devInfoData, err := devInfo.EnumDeviceInfo(i) if err != nil { if err == windows.ERROR_NO_MORE_ITEMS { break } continue } friendlyName, err := devInfo.DeviceRegistryProperty(devInfoData, windows.SPDRP_DEVICEDESC) if err != nil { t.Fatal(err) } var status, problemCode uint32 err = windows.CM_Get_DevNode_Status(&status, &problemCode, devInfoData.DevInst, 0) if err != nil || (status&windows.DN_DRIVER_LOADED|windows.DN_STARTED) != windows.DN_DRIVER_LOADED|windows.DN_STARTED { continue } instanceId, err := devInfo.DeviceInstanceID(devInfoData) if err != nil { t.Fatal(err) } interfaces, err := windows.CM_Get_Device_Interface_List(instanceId, deviceInterfaceNetGUID, windows.CM_GET_DEVICE_INTERFACE_LIST_PRESENT) if err != nil || len(interfaces) == 0 { continue } t.Logf("%s - %s", friendlyName, interfaces[0]) } } func TestListWireGuardDrivers(t *testing.T) { devInfo, err := windows.SetupDiCreateDeviceInfoListEx(deviceClassNetGUID, 0, "") if err != nil { t.Fatal(err) } defer devInfo.Close() devInfoData, err := devInfo.CreateDeviceInfo("WireGuard", deviceClassNetGUID, "", 0, windows.DICD_GENERATE_ID) if err != nil { t.Fatal(err) } err = devInfo.SetDeviceRegistryProperty(devInfoData, windows.SPDRP_HARDWAREID, []byte("W\x00i\x00r\x00e\x00G\x00u\x00a\x00r\x00d\x00\x00\x00\x00\x00")) if err != nil { t.Fatal(err) } err = devInfo.BuildDriverInfoList(devInfoData, windows.SPDIT_COMPATDRIVER) if err != nil { t.Fatal(err) } defer devInfo.DestroyDriverInfoList(devInfoData, windows.SPDIT_COMPATDRIVER) for i := 0; ; i++ { drvInfoData, err := devInfo.EnumDriverInfo(devInfoData, windows.SPDIT_COMPATDRIVER, i) if err != nil { if err == windows.ERROR_NO_MORE_ITEMS { break } continue } drvInfoDetailData, err := devInfo.DriverInfoDetail(devInfoData, drvInfoData) if err != nil { t.Error(err) continue } t.Logf("%s - %s", drvInfoData.Description(), drvInfoDetailData.InfFileName()) } } func TestProcThreadAttributeHandleList(t *testing.T) { const sentinel = "the gopher dance" system32, err := windows.GetSystemDirectory() if err != nil { t.Fatal(err) } executable16, err := windows.UTF16PtrFromString(filepath.Join(system32, "cmd.exe")) if err != nil { t.Fatal(err) } args16, err := windows.UTF16PtrFromString(windows.ComposeCommandLine([]string{"/c", "echo " + sentinel})) if err != nil { t.Fatal(err) } attributeList, err := windows.NewProcThreadAttributeList(1) if err != nil { t.Fatal(err) } defer attributeList.Delete() si := &windows.StartupInfoEx{ StartupInfo: windows.StartupInfo{Cb: uint32(unsafe.Sizeof(windows.StartupInfoEx{}))}, ProcThreadAttributeList: attributeList.List(), } pipeR, pipeW, err := os.Pipe() if err != nil { t.Fatal(err) } defer pipeR.Close() defer pipeW.Close() func() { // We allocate handles in a closure to provoke a UaF in the case of attributeList.Update being buggy. handles := []windows.Handle{windows.Handle(pipeW.Fd())} attributeList.Update(windows.PROC_THREAD_ATTRIBUTE_HANDLE_LIST, unsafe.Pointer(&handles[0]), uintptr(len(handles))*unsafe.Sizeof(handles[0])) si.Flags |= windows.STARTF_USESTDHANDLES si.StdOutput = handles[0] // Go 1.16's pipe handles aren't inheritable, so mark it explicitly as such here. windows.SetHandleInformation(handles[0], windows.HANDLE_FLAG_INHERIT, windows.HANDLE_FLAG_INHERIT) }() pi := new(windows.ProcessInformation) err = windows.CreateProcess(executable16, args16, nil, nil, true, windows.CREATE_DEFAULT_ERROR_MODE|windows.CREATE_UNICODE_ENVIRONMENT|windows.EXTENDED_STARTUPINFO_PRESENT, nil, nil, &si.StartupInfo, pi) if err != nil { t.Fatal(err) } defer windows.CloseHandle(pi.Thread) defer windows.CloseHandle(pi.Process) pipeR.SetReadDeadline(time.Now().Add(time.Minute)) out, _, err := bufio.NewReader(pipeR).ReadLine() if err != nil { t.Fatal(err) } if string(out) != sentinel { t.Fatalf("got %q; want %q", out, sentinel) } } func TestWSALookupService(t *testing.T) { var flags uint32 = windows.LUP_CONTAINERS flags |= windows.LUP_RETURN_NAME flags |= windows.LUP_RETURN_ADDR var querySet windows.WSAQUERYSET querySet.NameSpace = windows.NS_BTH querySet.Size = uint32(unsafe.Sizeof(windows.WSAQUERYSET{})) var handle windows.Handle err := windows.WSALookupServiceBegin(&querySet, flags, &handle) if err != nil { if errors.Is(err, windows.WSASERVICE_NOT_FOUND) { t.Skip("WSA Service not found, so skip this test") } t.Fatal(err) } defer windows.WSALookupServiceEnd(handle) n := int32(unsafe.Sizeof(windows.WSAQUERYSET{})) buf := make([]byte, n) items_loop: for { q := (*windows.WSAQUERYSET)(unsafe.Pointer(&buf[0])) err := windows.WSALookupServiceNext(handle, flags, &n, q) switch err { case windows.WSA_E_NO_MORE, windows.WSAENOMORE: // no more data available - break the loop break items_loop case windows.WSAEFAULT: // buffer is too small - reallocate and try again buf = make([]byte, n) case nil: // found a record - display the item and fetch next item var addr string for _, e := range q.SaBuffer.RemoteAddr.Sockaddr.Addr.Data { if e != 0 { addr += fmt.Sprintf("%x", e) } } t.Logf("%s -> %s\n", windows.UTF16PtrToString(q.ServiceInstanceName), addr) default: t.Fatal(err) } } } func TestTimePeriod(t *testing.T) { if err := windows.TimeBeginPeriod(1); err != nil { t.Fatal(err) } if err := windows.TimeEndPeriod(1); err != nil { t.Fatal(err) } } func TestGetStartupInfo(t *testing.T) { var si windows.StartupInfo err := windows.GetStartupInfo(&si) if err != nil { // see https://go.dev/issue/31316 t.Fatalf("GetStartupInfo: got error %v, want nil", err) } } func TestAddRemoveDllDirectory(t *testing.T) { if _, err := exec.LookPath("gcc"); err != nil { t.Skip("skipping test: gcc is missing") } dllSrc := `#include #include uintptr_t beep(void) { return 5; }` tmpdir := t.TempDir() srcname := "beep.c" err := os.WriteFile(filepath.Join(tmpdir, srcname), []byte(dllSrc), 0) if err != nil { t.Fatal(err) } name := "beep.dll" cmd := exec.Command("gcc", "-shared", "-s", "-Werror", "-o", name, srcname) cmd.Dir = tmpdir out, err := cmd.CombinedOutput() if err != nil { t.Fatalf("failed to build dll: %v - %v", err, string(out)) } if _, err := windows.LoadLibraryEx("beep.dll", 0, windows.LOAD_LIBRARY_SEARCH_USER_DIRS); err == nil { t.Fatal("LoadLibraryEx unexpectedly found beep.dll") } dllCookie, err := windows.AddDllDirectory(windows.StringToUTF16Ptr(tmpdir)) if err != nil { t.Fatalf("AddDllDirectory failed: %s", err) } handle, err := windows.LoadLibraryEx("beep.dll", 0, windows.LOAD_LIBRARY_SEARCH_USER_DIRS) if err != nil { t.Fatalf("LoadLibraryEx failed: %s", err) } if err := windows.FreeLibrary(handle); err != nil { t.Fatalf("FreeLibrary failed: %s", err) } if err := windows.RemoveDllDirectory(dllCookie); err != nil { t.Fatalf("RemoveDllDirectory failed: %s", err) } _, err = windows.LoadLibraryEx("beep.dll", 0, windows.LOAD_LIBRARY_SEARCH_USER_DIRS) if err == nil { t.Fatal("LoadLibraryEx unexpectedly found beep.dll") } } func TestToUnicodeEx(t *testing.T) { var utf16Buf [16]uint16 // Arabic (101) Keyboard Identifier // See https://learn.microsoft.com/en-us/windows-hardware/manufacture/desktop/windows-language-pack-default-values ara, err := windows.UTF16PtrFromString("00000401") if err != nil { t.Fatalf("UTF16PtrFromString failed: %v", err) } araLayout, err := windows.LoadKeyboardLayout(ara, windows.KLF_ACTIVATE) if err != nil { t.Fatalf("LoadKeyboardLayout failed: %v", err) } var keyState [256]byte ret := windows.ToUnicodeEx( 0x41, // 'A' vkCode 0x1e, // 'A' scanCode &keyState[0], &utf16Buf[0], int32(len(utf16Buf)), 0x4, // don't change keyboard state araLayout, ) if ret != 1 { t.Errorf("ToUnicodeEx failed, wanted 1, got %d", ret) } if utf16Buf[0] != 'ش' { t.Errorf("ToUnicodeEx failed, wanted 'ش', got %q", utf16Buf[0]) } if err := windows.UnloadKeyboardLayout(araLayout); err != nil { t.Errorf("UnloadKeyboardLayout failed: %v", err) } } dependencies/pkg/mod/golang.org/x/sys@v0.26.0/windows/exec_windows.go0000644000000000000000000001653115107355264024353 0ustar rootroot// 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. // Fork, exec, wait, etc. package windows import ( errorspkg "errors" "unsafe" ) // EscapeArg rewrites command line argument s as prescribed // in http://msdn.microsoft.com/en-us/library/ms880421. // This function returns "" (2 double quotes) if s is empty. // Alternatively, these transformations are done: // - every back slash (\) is doubled, but only if immediately // followed by double quote ("); // - every double quote (") is escaped by back slash (\); // - finally, s is wrapped with double quotes (arg -> "arg"), // but only if there is space or tab inside s. func EscapeArg(s string) string { if len(s) == 0 { return `""` } n := len(s) hasSpace := false for i := 0; i < len(s); i++ { switch s[i] { case '"', '\\': n++ case ' ', '\t': hasSpace = true } } if hasSpace { n += 2 // Reserve space for quotes. } if n == len(s) { return s } qs := make([]byte, n) j := 0 if hasSpace { qs[j] = '"' j++ } slashes := 0 for i := 0; i < len(s); i++ { switch s[i] { default: slashes = 0 qs[j] = s[i] case '\\': slashes++ qs[j] = s[i] case '"': for ; slashes > 0; slashes-- { qs[j] = '\\' j++ } qs[j] = '\\' j++ qs[j] = s[i] } j++ } if hasSpace { for ; slashes > 0; slashes-- { qs[j] = '\\' j++ } qs[j] = '"' j++ } return string(qs[:j]) } // ComposeCommandLine escapes and joins the given arguments suitable for use as a Windows command line, // in CreateProcess's CommandLine argument, CreateService/ChangeServiceConfig's BinaryPathName argument, // or any program that uses CommandLineToArgv. func ComposeCommandLine(args []string) string { if len(args) == 0 { return "" } // Per https://learn.microsoft.com/en-us/windows/win32/api/shellapi/nf-shellapi-commandlinetoargvw: // “This function accepts command lines that contain a program name; the // program name can be enclosed in quotation marks or not.” // // Unfortunately, it provides no means of escaping interior quotation marks // within that program name, and we have no way to report them here. prog := args[0] mustQuote := len(prog) == 0 for i := 0; i < len(prog); i++ { c := prog[i] if c <= ' ' || (c == '"' && i == 0) { // Force quotes for not only the ASCII space and tab as described in the // MSDN article, but also ASCII control characters. // The documentation for CommandLineToArgvW doesn't say what happens when // the first argument is not a valid program name, but it empirically // seems to drop unquoted control characters. mustQuote = true break } } var commandLine []byte if mustQuote { commandLine = make([]byte, 0, len(prog)+2) commandLine = append(commandLine, '"') for i := 0; i < len(prog); i++ { c := prog[i] if c == '"' { // This quote would interfere with our surrounding quotes. // We have no way to report an error, so just strip out // the offending character instead. continue } commandLine = append(commandLine, c) } commandLine = append(commandLine, '"') } else { if len(args) == 1 { // args[0] is a valid command line representing itself. // No need to allocate a new slice or string for it. return prog } commandLine = []byte(prog) } for _, arg := range args[1:] { commandLine = append(commandLine, ' ') // TODO(bcmills): since we're already appending to a slice, it would be nice // to avoid the intermediate allocations of EscapeArg. // Perhaps we can factor out an appendEscapedArg function. commandLine = append(commandLine, EscapeArg(arg)...) } return string(commandLine) } // DecomposeCommandLine breaks apart its argument command line into unescaped parts using CommandLineToArgv, // as gathered from GetCommandLine, QUERY_SERVICE_CONFIG's BinaryPathName argument, or elsewhere that // command lines are passed around. // DecomposeCommandLine returns an error if commandLine contains NUL. func DecomposeCommandLine(commandLine string) ([]string, error) { if len(commandLine) == 0 { return []string{}, nil } utf16CommandLine, err := UTF16FromString(commandLine) if err != nil { return nil, errorspkg.New("string with NUL passed to DecomposeCommandLine") } var argc int32 argv, err := commandLineToArgv(&utf16CommandLine[0], &argc) if err != nil { return nil, err } defer LocalFree(Handle(unsafe.Pointer(argv))) var args []string for _, p := range unsafe.Slice(argv, argc) { args = append(args, UTF16PtrToString(p)) } return args, nil } // CommandLineToArgv parses a Unicode command line string and sets // argc to the number of parsed arguments. // // The returned memory should be freed using a single call to LocalFree. // // Note that although the return type of CommandLineToArgv indicates 8192 // entries of up to 8192 characters each, the actual count of parsed arguments // may exceed 8192, and the documentation for CommandLineToArgvW does not mention // any bound on the lengths of the individual argument strings. // (See https://go.dev/issue/63236.) func CommandLineToArgv(cmd *uint16, argc *int32) (argv *[8192]*[8192]uint16, err error) { argp, err := commandLineToArgv(cmd, argc) argv = (*[8192]*[8192]uint16)(unsafe.Pointer(argp)) return argv, err } func CloseOnExec(fd Handle) { SetHandleInformation(Handle(fd), HANDLE_FLAG_INHERIT, 0) } // FullPath retrieves the full path of the specified file. func FullPath(name string) (path string, err error) { p, err := UTF16PtrFromString(name) if err != nil { return "", err } n := uint32(100) for { buf := make([]uint16, n) n, err = GetFullPathName(p, uint32(len(buf)), &buf[0], nil) if err != nil { return "", err } if n <= uint32(len(buf)) { return UTF16ToString(buf[:n]), nil } } } // NewProcThreadAttributeList allocates a new ProcThreadAttributeListContainer, with the requested maximum number of attributes. func NewProcThreadAttributeList(maxAttrCount uint32) (*ProcThreadAttributeListContainer, error) { var size uintptr err := initializeProcThreadAttributeList(nil, maxAttrCount, 0, &size) if err != ERROR_INSUFFICIENT_BUFFER { if err == nil { return nil, errorspkg.New("unable to query buffer size from InitializeProcThreadAttributeList") } return nil, err } alloc, err := LocalAlloc(LMEM_FIXED, uint32(size)) if err != nil { return nil, err } // size is guaranteed to be ≥1 by InitializeProcThreadAttributeList. al := &ProcThreadAttributeListContainer{data: (*ProcThreadAttributeList)(unsafe.Pointer(alloc))} err = initializeProcThreadAttributeList(al.data, maxAttrCount, 0, &size) if err != nil { return nil, err } return al, err } // Update modifies the ProcThreadAttributeList using UpdateProcThreadAttribute. func (al *ProcThreadAttributeListContainer) Update(attribute uintptr, value unsafe.Pointer, size uintptr) error { al.pointers = append(al.pointers, value) return updateProcThreadAttribute(al.data, 0, attribute, value, size, nil, nil) } // Delete frees ProcThreadAttributeList's resources. func (al *ProcThreadAttributeListContainer) Delete() { deleteProcThreadAttributeList(al.data) LocalFree(Handle(unsafe.Pointer(al.data))) al.data = nil al.pointers = nil } // List returns the actual ProcThreadAttributeList to be passed to StartupInfoEx. func (al *ProcThreadAttributeListContainer) List() *ProcThreadAttributeList { return al.data } dependencies/pkg/mod/golang.org/x/sys@v0.26.0/windows/types_windows_arm64.go0000644000000000000000000000146115107355264025600 0ustar rootroot// 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 windows type WSAData struct { Version uint16 HighVersion uint16 MaxSockets uint16 MaxUdpDg uint16 VendorInfo *byte Description [WSADESCRIPTION_LEN + 1]byte SystemStatus [WSASYS_STATUS_LEN + 1]byte } type Servent struct { Name *byte Aliases **byte Proto *byte Port uint16 } type JOBOBJECT_BASIC_LIMIT_INFORMATION struct { PerProcessUserTimeLimit int64 PerJobUserTimeLimit int64 LimitFlags uint32 MinimumWorkingSetSize uintptr MaximumWorkingSetSize uintptr ActiveProcessLimit uint32 Affinity uintptr PriorityClass uint32 SchedulingClass uint32 } dependencies/pkg/mod/golang.org/x/sys@v0.26.0/windows/eventlog.go0000644000000000000000000000147115107355264023475 0ustar rootroot// 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. //go:build windows package windows const ( EVENTLOG_SUCCESS = 0 EVENTLOG_ERROR_TYPE = 1 EVENTLOG_WARNING_TYPE = 2 EVENTLOG_INFORMATION_TYPE = 4 EVENTLOG_AUDIT_SUCCESS = 8 EVENTLOG_AUDIT_FAILURE = 16 ) //sys RegisterEventSource(uncServerName *uint16, sourceName *uint16) (handle Handle, err error) [failretval==0] = advapi32.RegisterEventSourceW //sys DeregisterEventSource(handle Handle) (err error) = advapi32.DeregisterEventSource //sys ReportEvent(log Handle, etype uint16, category uint16, eventId uint32, usrSId uintptr, numStrings uint16, dataSize uint32, strings **uint16, rawData *byte) (err error) = advapi32.ReportEventW dependencies/pkg/mod/golang.org/x/sys@v0.26.0/windows/zknownfolderids_windows.go0000644000000000000000000004531115107355264026647 0ustar rootroot// Code generated by 'mkknownfolderids.bash'; DO NOT EDIT. package windows type KNOWNFOLDERID GUID var ( FOLDERID_NetworkFolder = &KNOWNFOLDERID{0xd20beec4, 0x5ca8, 0x4905, [8]byte{0xae, 0x3b, 0xbf, 0x25, 0x1e, 0xa0, 0x9b, 0x53}} FOLDERID_ComputerFolder = &KNOWNFOLDERID{0x0ac0837c, 0xbbf8, 0x452a, [8]byte{0x85, 0x0d, 0x79, 0xd0, 0x8e, 0x66, 0x7c, 0xa7}} FOLDERID_InternetFolder = &KNOWNFOLDERID{0x4d9f7874, 0x4e0c, 0x4904, [8]byte{0x96, 0x7b, 0x40, 0xb0, 0xd2, 0x0c, 0x3e, 0x4b}} FOLDERID_ControlPanelFolder = &KNOWNFOLDERID{0x82a74aeb, 0xaeb4, 0x465c, [8]byte{0xa0, 0x14, 0xd0, 0x97, 0xee, 0x34, 0x6d, 0x63}} FOLDERID_PrintersFolder = &KNOWNFOLDERID{0x76fc4e2d, 0xd6ad, 0x4519, [8]byte{0xa6, 0x63, 0x37, 0xbd, 0x56, 0x06, 0x81, 0x85}} FOLDERID_SyncManagerFolder = &KNOWNFOLDERID{0x43668bf8, 0xc14e, 0x49b2, [8]byte{0x97, 0xc9, 0x74, 0x77, 0x84, 0xd7, 0x84, 0xb7}} FOLDERID_SyncSetupFolder = &KNOWNFOLDERID{0x0f214138, 0xb1d3, 0x4a90, [8]byte{0xbb, 0xa9, 0x27, 0xcb, 0xc0, 0xc5, 0x38, 0x9a}} FOLDERID_ConflictFolder = &KNOWNFOLDERID{0x4bfefb45, 0x347d, 0x4006, [8]byte{0xa5, 0xbe, 0xac, 0x0c, 0xb0, 0x56, 0x71, 0x92}} FOLDERID_SyncResultsFolder = &KNOWNFOLDERID{0x289a9a43, 0xbe44, 0x4057, [8]byte{0xa4, 0x1b, 0x58, 0x7a, 0x76, 0xd7, 0xe7, 0xf9}} FOLDERID_RecycleBinFolder = &KNOWNFOLDERID{0xb7534046, 0x3ecb, 0x4c18, [8]byte{0xbe, 0x4e, 0x64, 0xcd, 0x4c, 0xb7, 0xd6, 0xac}} FOLDERID_ConnectionsFolder = &KNOWNFOLDERID{0x6f0cd92b, 0x2e97, 0x45d1, [8]byte{0x88, 0xff, 0xb0, 0xd1, 0x86, 0xb8, 0xde, 0xdd}} FOLDERID_Fonts = &KNOWNFOLDERID{0xfd228cb7, 0xae11, 0x4ae3, [8]byte{0x86, 0x4c, 0x16, 0xf3, 0x91, 0x0a, 0xb8, 0xfe}} FOLDERID_Desktop = &KNOWNFOLDERID{0xb4bfcc3a, 0xdb2c, 0x424c, [8]byte{0xb0, 0x29, 0x7f, 0xe9, 0x9a, 0x87, 0xc6, 0x41}} FOLDERID_Startup = &KNOWNFOLDERID{0xb97d20bb, 0xf46a, 0x4c97, [8]byte{0xba, 0x10, 0x5e, 0x36, 0x08, 0x43, 0x08, 0x54}} FOLDERID_Programs = &KNOWNFOLDERID{0xa77f5d77, 0x2e2b, 0x44c3, [8]byte{0xa6, 0xa2, 0xab, 0xa6, 0x01, 0x05, 0x4a, 0x51}} FOLDERID_StartMenu = &KNOWNFOLDERID{0x625b53c3, 0xab48, 0x4ec1, [8]byte{0xba, 0x1f, 0xa1, 0xef, 0x41, 0x46, 0xfc, 0x19}} FOLDERID_Recent = &KNOWNFOLDERID{0xae50c081, 0xebd2, 0x438a, [8]byte{0x86, 0x55, 0x8a, 0x09, 0x2e, 0x34, 0x98, 0x7a}} FOLDERID_SendTo = &KNOWNFOLDERID{0x8983036c, 0x27c0, 0x404b, [8]byte{0x8f, 0x08, 0x10, 0x2d, 0x10, 0xdc, 0xfd, 0x74}} FOLDERID_Documents = &KNOWNFOLDERID{0xfdd39ad0, 0x238f, 0x46af, [8]byte{0xad, 0xb4, 0x6c, 0x85, 0x48, 0x03, 0x69, 0xc7}} FOLDERID_Favorites = &KNOWNFOLDERID{0x1777f761, 0x68ad, 0x4d8a, [8]byte{0x87, 0xbd, 0x30, 0xb7, 0x59, 0xfa, 0x33, 0xdd}} FOLDERID_NetHood = &KNOWNFOLDERID{0xc5abbf53, 0xe17f, 0x4121, [8]byte{0x89, 0x00, 0x86, 0x62, 0x6f, 0xc2, 0xc9, 0x73}} FOLDERID_PrintHood = &KNOWNFOLDERID{0x9274bd8d, 0xcfd1, 0x41c3, [8]byte{0xb3, 0x5e, 0xb1, 0x3f, 0x55, 0xa7, 0x58, 0xf4}} FOLDERID_Templates = &KNOWNFOLDERID{0xa63293e8, 0x664e, 0x48db, [8]byte{0xa0, 0x79, 0xdf, 0x75, 0x9e, 0x05, 0x09, 0xf7}} FOLDERID_CommonStartup = &KNOWNFOLDERID{0x82a5ea35, 0xd9cd, 0x47c5, [8]byte{0x96, 0x29, 0xe1, 0x5d, 0x2f, 0x71, 0x4e, 0x6e}} FOLDERID_CommonPrograms = &KNOWNFOLDERID{0x0139d44e, 0x6afe, 0x49f2, [8]byte{0x86, 0x90, 0x3d, 0xaf, 0xca, 0xe6, 0xff, 0xb8}} FOLDERID_CommonStartMenu = &KNOWNFOLDERID{0xa4115719, 0xd62e, 0x491d, [8]byte{0xaa, 0x7c, 0xe7, 0x4b, 0x8b, 0xe3, 0xb0, 0x67}} FOLDERID_PublicDesktop = &KNOWNFOLDERID{0xc4aa340d, 0xf20f, 0x4863, [8]byte{0xaf, 0xef, 0xf8, 0x7e, 0xf2, 0xe6, 0xba, 0x25}} FOLDERID_ProgramData = &KNOWNFOLDERID{0x62ab5d82, 0xfdc1, 0x4dc3, [8]byte{0xa9, 0xdd, 0x07, 0x0d, 0x1d, 0x49, 0x5d, 0x97}} FOLDERID_CommonTemplates = &KNOWNFOLDERID{0xb94237e7, 0x57ac, 0x4347, [8]byte{0x91, 0x51, 0xb0, 0x8c, 0x6c, 0x32, 0xd1, 0xf7}} FOLDERID_PublicDocuments = &KNOWNFOLDERID{0xed4824af, 0xdce4, 0x45a8, [8]byte{0x81, 0xe2, 0xfc, 0x79, 0x65, 0x08, 0x36, 0x34}} FOLDERID_RoamingAppData = &KNOWNFOLDERID{0x3eb685db, 0x65f9, 0x4cf6, [8]byte{0xa0, 0x3a, 0xe3, 0xef, 0x65, 0x72, 0x9f, 0x3d}} FOLDERID_LocalAppData = &KNOWNFOLDERID{0xf1b32785, 0x6fba, 0x4fcf, [8]byte{0x9d, 0x55, 0x7b, 0x8e, 0x7f, 0x15, 0x70, 0x91}} FOLDERID_LocalAppDataLow = &KNOWNFOLDERID{0xa520a1a4, 0x1780, 0x4ff6, [8]byte{0xbd, 0x18, 0x16, 0x73, 0x43, 0xc5, 0xaf, 0x16}} FOLDERID_InternetCache = &KNOWNFOLDERID{0x352481e8, 0x33be, 0x4251, [8]byte{0xba, 0x85, 0x60, 0x07, 0xca, 0xed, 0xcf, 0x9d}} FOLDERID_Cookies = &KNOWNFOLDERID{0x2b0f765d, 0xc0e9, 0x4171, [8]byte{0x90, 0x8e, 0x08, 0xa6, 0x11, 0xb8, 0x4f, 0xf6}} FOLDERID_History = &KNOWNFOLDERID{0xd9dc8a3b, 0xb784, 0x432e, [8]byte{0xa7, 0x81, 0x5a, 0x11, 0x30, 0xa7, 0x59, 0x63}} FOLDERID_System = &KNOWNFOLDERID{0x1ac14e77, 0x02e7, 0x4e5d, [8]byte{0xb7, 0x44, 0x2e, 0xb1, 0xae, 0x51, 0x98, 0xb7}} FOLDERID_SystemX86 = &KNOWNFOLDERID{0xd65231b0, 0xb2f1, 0x4857, [8]byte{0xa4, 0xce, 0xa8, 0xe7, 0xc6, 0xea, 0x7d, 0x27}} FOLDERID_Windows = &KNOWNFOLDERID{0xf38bf404, 0x1d43, 0x42f2, [8]byte{0x93, 0x05, 0x67, 0xde, 0x0b, 0x28, 0xfc, 0x23}} FOLDERID_Profile = &KNOWNFOLDERID{0x5e6c858f, 0x0e22, 0x4760, [8]byte{0x9a, 0xfe, 0xea, 0x33, 0x17, 0xb6, 0x71, 0x73}} FOLDERID_Pictures = &KNOWNFOLDERID{0x33e28130, 0x4e1e, 0x4676, [8]byte{0x83, 0x5a, 0x98, 0x39, 0x5c, 0x3b, 0xc3, 0xbb}} FOLDERID_ProgramFilesX86 = &KNOWNFOLDERID{0x7c5a40ef, 0xa0fb, 0x4bfc, [8]byte{0x87, 0x4a, 0xc0, 0xf2, 0xe0, 0xb9, 0xfa, 0x8e}} FOLDERID_ProgramFilesCommonX86 = &KNOWNFOLDERID{0xde974d24, 0xd9c6, 0x4d3e, [8]byte{0xbf, 0x91, 0xf4, 0x45, 0x51, 0x20, 0xb9, 0x17}} FOLDERID_ProgramFilesX64 = &KNOWNFOLDERID{0x6d809377, 0x6af0, 0x444b, [8]byte{0x89, 0x57, 0xa3, 0x77, 0x3f, 0x02, 0x20, 0x0e}} FOLDERID_ProgramFilesCommonX64 = &KNOWNFOLDERID{0x6365d5a7, 0x0f0d, 0x45e5, [8]byte{0x87, 0xf6, 0x0d, 0xa5, 0x6b, 0x6a, 0x4f, 0x7d}} FOLDERID_ProgramFiles = &KNOWNFOLDERID{0x905e63b6, 0xc1bf, 0x494e, [8]byte{0xb2, 0x9c, 0x65, 0xb7, 0x32, 0xd3, 0xd2, 0x1a}} FOLDERID_ProgramFilesCommon = &KNOWNFOLDERID{0xf7f1ed05, 0x9f6d, 0x47a2, [8]byte{0xaa, 0xae, 0x29, 0xd3, 0x17, 0xc6, 0xf0, 0x66}} FOLDERID_UserProgramFiles = &KNOWNFOLDERID{0x5cd7aee2, 0x2219, 0x4a67, [8]byte{0xb8, 0x5d, 0x6c, 0x9c, 0xe1, 0x56, 0x60, 0xcb}} FOLDERID_UserProgramFilesCommon = &KNOWNFOLDERID{0xbcbd3057, 0xca5c, 0x4622, [8]byte{0xb4, 0x2d, 0xbc, 0x56, 0xdb, 0x0a, 0xe5, 0x16}} FOLDERID_AdminTools = &KNOWNFOLDERID{0x724ef170, 0xa42d, 0x4fef, [8]byte{0x9f, 0x26, 0xb6, 0x0e, 0x84, 0x6f, 0xba, 0x4f}} FOLDERID_CommonAdminTools = &KNOWNFOLDERID{0xd0384e7d, 0xbac3, 0x4797, [8]byte{0x8f, 0x14, 0xcb, 0xa2, 0x29, 0xb3, 0x92, 0xb5}} FOLDERID_Music = &KNOWNFOLDERID{0x4bd8d571, 0x6d19, 0x48d3, [8]byte{0xbe, 0x97, 0x42, 0x22, 0x20, 0x08, 0x0e, 0x43}} FOLDERID_Videos = &KNOWNFOLDERID{0x18989b1d, 0x99b5, 0x455b, [8]byte{0x84, 0x1c, 0xab, 0x7c, 0x74, 0xe4, 0xdd, 0xfc}} FOLDERID_Ringtones = &KNOWNFOLDERID{0xc870044b, 0xf49e, 0x4126, [8]byte{0xa9, 0xc3, 0xb5, 0x2a, 0x1f, 0xf4, 0x11, 0xe8}} FOLDERID_PublicPictures = &KNOWNFOLDERID{0xb6ebfb86, 0x6907, 0x413c, [8]byte{0x9a, 0xf7, 0x4f, 0xc2, 0xab, 0xf0, 0x7c, 0xc5}} FOLDERID_PublicMusic = &KNOWNFOLDERID{0x3214fab5, 0x9757, 0x4298, [8]byte{0xbb, 0x61, 0x92, 0xa9, 0xde, 0xaa, 0x44, 0xff}} FOLDERID_PublicVideos = &KNOWNFOLDERID{0x2400183a, 0x6185, 0x49fb, [8]byte{0xa2, 0xd8, 0x4a, 0x39, 0x2a, 0x60, 0x2b, 0xa3}} FOLDERID_PublicRingtones = &KNOWNFOLDERID{0xe555ab60, 0x153b, 0x4d17, [8]byte{0x9f, 0x04, 0xa5, 0xfe, 0x99, 0xfc, 0x15, 0xec}} FOLDERID_ResourceDir = &KNOWNFOLDERID{0x8ad10c31, 0x2adb, 0x4296, [8]byte{0xa8, 0xf7, 0xe4, 0x70, 0x12, 0x32, 0xc9, 0x72}} FOLDERID_LocalizedResourcesDir = &KNOWNFOLDERID{0x2a00375e, 0x224c, 0x49de, [8]byte{0xb8, 0xd1, 0x44, 0x0d, 0xf7, 0xef, 0x3d, 0xdc}} FOLDERID_CommonOEMLinks = &KNOWNFOLDERID{0xc1bae2d0, 0x10df, 0x4334, [8]byte{0xbe, 0xdd, 0x7a, 0xa2, 0x0b, 0x22, 0x7a, 0x9d}} FOLDERID_CDBurning = &KNOWNFOLDERID{0x9e52ab10, 0xf80d, 0x49df, [8]byte{0xac, 0xb8, 0x43, 0x30, 0xf5, 0x68, 0x78, 0x55}} FOLDERID_UserProfiles = &KNOWNFOLDERID{0x0762d272, 0xc50a, 0x4bb0, [8]byte{0xa3, 0x82, 0x69, 0x7d, 0xcd, 0x72, 0x9b, 0x80}} FOLDERID_Playlists = &KNOWNFOLDERID{0xde92c1c7, 0x837f, 0x4f69, [8]byte{0xa3, 0xbb, 0x86, 0xe6, 0x31, 0x20, 0x4a, 0x23}} FOLDERID_SamplePlaylists = &KNOWNFOLDERID{0x15ca69b3, 0x30ee, 0x49c1, [8]byte{0xac, 0xe1, 0x6b, 0x5e, 0xc3, 0x72, 0xaf, 0xb5}} FOLDERID_SampleMusic = &KNOWNFOLDERID{0xb250c668, 0xf57d, 0x4ee1, [8]byte{0xa6, 0x3c, 0x29, 0x0e, 0xe7, 0xd1, 0xaa, 0x1f}} FOLDERID_SamplePictures = &KNOWNFOLDERID{0xc4900540, 0x2379, 0x4c75, [8]byte{0x84, 0x4b, 0x64, 0xe6, 0xfa, 0xf8, 0x71, 0x6b}} FOLDERID_SampleVideos = &KNOWNFOLDERID{0x859ead94, 0x2e85, 0x48ad, [8]byte{0xa7, 0x1a, 0x09, 0x69, 0xcb, 0x56, 0xa6, 0xcd}} FOLDERID_PhotoAlbums = &KNOWNFOLDERID{0x69d2cf90, 0xfc33, 0x4fb7, [8]byte{0x9a, 0x0c, 0xeb, 0xb0, 0xf0, 0xfc, 0xb4, 0x3c}} FOLDERID_Public = &KNOWNFOLDERID{0xdfdf76a2, 0xc82a, 0x4d63, [8]byte{0x90, 0x6a, 0x56, 0x44, 0xac, 0x45, 0x73, 0x85}} FOLDERID_ChangeRemovePrograms = &KNOWNFOLDERID{0xdf7266ac, 0x9274, 0x4867, [8]byte{0x8d, 0x55, 0x3b, 0xd6, 0x61, 0xde, 0x87, 0x2d}} FOLDERID_AppUpdates = &KNOWNFOLDERID{0xa305ce99, 0xf527, 0x492b, [8]byte{0x8b, 0x1a, 0x7e, 0x76, 0xfa, 0x98, 0xd6, 0xe4}} FOLDERID_AddNewPrograms = &KNOWNFOLDERID{0xde61d971, 0x5ebc, 0x4f02, [8]byte{0xa3, 0xa9, 0x6c, 0x82, 0x89, 0x5e, 0x5c, 0x04}} FOLDERID_Downloads = &KNOWNFOLDERID{0x374de290, 0x123f, 0x4565, [8]byte{0x91, 0x64, 0x39, 0xc4, 0x92, 0x5e, 0x46, 0x7b}} FOLDERID_PublicDownloads = &KNOWNFOLDERID{0x3d644c9b, 0x1fb8, 0x4f30, [8]byte{0x9b, 0x45, 0xf6, 0x70, 0x23, 0x5f, 0x79, 0xc0}} FOLDERID_SavedSearches = &KNOWNFOLDERID{0x7d1d3a04, 0xdebb, 0x4115, [8]byte{0x95, 0xcf, 0x2f, 0x29, 0xda, 0x29, 0x20, 0xda}} FOLDERID_QuickLaunch = &KNOWNFOLDERID{0x52a4f021, 0x7b75, 0x48a9, [8]byte{0x9f, 0x6b, 0x4b, 0x87, 0xa2, 0x10, 0xbc, 0x8f}} FOLDERID_Contacts = &KNOWNFOLDERID{0x56784854, 0xc6cb, 0x462b, [8]byte{0x81, 0x69, 0x88, 0xe3, 0x50, 0xac, 0xb8, 0x82}} FOLDERID_SidebarParts = &KNOWNFOLDERID{0xa75d362e, 0x50fc, 0x4fb7, [8]byte{0xac, 0x2c, 0xa8, 0xbe, 0xaa, 0x31, 0x44, 0x93}} FOLDERID_SidebarDefaultParts = &KNOWNFOLDERID{0x7b396e54, 0x9ec5, 0x4300, [8]byte{0xbe, 0x0a, 0x24, 0x82, 0xeb, 0xae, 0x1a, 0x26}} FOLDERID_PublicGameTasks = &KNOWNFOLDERID{0xdebf2536, 0xe1a8, 0x4c59, [8]byte{0xb6, 0xa2, 0x41, 0x45, 0x86, 0x47, 0x6a, 0xea}} FOLDERID_GameTasks = &KNOWNFOLDERID{0x054fae61, 0x4dd8, 0x4787, [8]byte{0x80, 0xb6, 0x09, 0x02, 0x20, 0xc4, 0xb7, 0x00}} FOLDERID_SavedGames = &KNOWNFOLDERID{0x4c5c32ff, 0xbb9d, 0x43b0, [8]byte{0xb5, 0xb4, 0x2d, 0x72, 0xe5, 0x4e, 0xaa, 0xa4}} FOLDERID_Games = &KNOWNFOLDERID{0xcac52c1a, 0xb53d, 0x4edc, [8]byte{0x92, 0xd7, 0x6b, 0x2e, 0x8a, 0xc1, 0x94, 0x34}} FOLDERID_SEARCH_MAPI = &KNOWNFOLDERID{0x98ec0e18, 0x2098, 0x4d44, [8]byte{0x86, 0x44, 0x66, 0x97, 0x93, 0x15, 0xa2, 0x81}} FOLDERID_SEARCH_CSC = &KNOWNFOLDERID{0xee32e446, 0x31ca, 0x4aba, [8]byte{0x81, 0x4f, 0xa5, 0xeb, 0xd2, 0xfd, 0x6d, 0x5e}} FOLDERID_Links = &KNOWNFOLDERID{0xbfb9d5e0, 0xc6a9, 0x404c, [8]byte{0xb2, 0xb2, 0xae, 0x6d, 0xb6, 0xaf, 0x49, 0x68}} FOLDERID_UsersFiles = &KNOWNFOLDERID{0xf3ce0f7c, 0x4901, 0x4acc, [8]byte{0x86, 0x48, 0xd5, 0xd4, 0x4b, 0x04, 0xef, 0x8f}} FOLDERID_UsersLibraries = &KNOWNFOLDERID{0xa302545d, 0xdeff, 0x464b, [8]byte{0xab, 0xe8, 0x61, 0xc8, 0x64, 0x8d, 0x93, 0x9b}} FOLDERID_SearchHome = &KNOWNFOLDERID{0x190337d1, 0xb8ca, 0x4121, [8]byte{0xa6, 0x39, 0x6d, 0x47, 0x2d, 0x16, 0x97, 0x2a}} FOLDERID_OriginalImages = &KNOWNFOLDERID{0x2c36c0aa, 0x5812, 0x4b87, [8]byte{0xbf, 0xd0, 0x4c, 0xd0, 0xdf, 0xb1, 0x9b, 0x39}} FOLDERID_DocumentsLibrary = &KNOWNFOLDERID{0x7b0db17d, 0x9cd2, 0x4a93, [8]byte{0x97, 0x33, 0x46, 0xcc, 0x89, 0x02, 0x2e, 0x7c}} FOLDERID_MusicLibrary = &KNOWNFOLDERID{0x2112ab0a, 0xc86a, 0x4ffe, [8]byte{0xa3, 0x68, 0x0d, 0xe9, 0x6e, 0x47, 0x01, 0x2e}} FOLDERID_PicturesLibrary = &KNOWNFOLDERID{0xa990ae9f, 0xa03b, 0x4e80, [8]byte{0x94, 0xbc, 0x99, 0x12, 0xd7, 0x50, 0x41, 0x04}} FOLDERID_VideosLibrary = &KNOWNFOLDERID{0x491e922f, 0x5643, 0x4af4, [8]byte{0xa7, 0xeb, 0x4e, 0x7a, 0x13, 0x8d, 0x81, 0x74}} FOLDERID_RecordedTVLibrary = &KNOWNFOLDERID{0x1a6fdba2, 0xf42d, 0x4358, [8]byte{0xa7, 0x98, 0xb7, 0x4d, 0x74, 0x59, 0x26, 0xc5}} FOLDERID_HomeGroup = &KNOWNFOLDERID{0x52528a6b, 0xb9e3, 0x4add, [8]byte{0xb6, 0x0d, 0x58, 0x8c, 0x2d, 0xba, 0x84, 0x2d}} FOLDERID_HomeGroupCurrentUser = &KNOWNFOLDERID{0x9b74b6a3, 0x0dfd, 0x4f11, [8]byte{0x9e, 0x78, 0x5f, 0x78, 0x00, 0xf2, 0xe7, 0x72}} FOLDERID_DeviceMetadataStore = &KNOWNFOLDERID{0x5ce4a5e9, 0xe4eb, 0x479d, [8]byte{0xb8, 0x9f, 0x13, 0x0c, 0x02, 0x88, 0x61, 0x55}} FOLDERID_Libraries = &KNOWNFOLDERID{0x1b3ea5dc, 0xb587, 0x4786, [8]byte{0xb4, 0xef, 0xbd, 0x1d, 0xc3, 0x32, 0xae, 0xae}} FOLDERID_PublicLibraries = &KNOWNFOLDERID{0x48daf80b, 0xe6cf, 0x4f4e, [8]byte{0xb8, 0x00, 0x0e, 0x69, 0xd8, 0x4e, 0xe3, 0x84}} FOLDERID_UserPinned = &KNOWNFOLDERID{0x9e3995ab, 0x1f9c, 0x4f13, [8]byte{0xb8, 0x27, 0x48, 0xb2, 0x4b, 0x6c, 0x71, 0x74}} FOLDERID_ImplicitAppShortcuts = &KNOWNFOLDERID{0xbcb5256f, 0x79f6, 0x4cee, [8]byte{0xb7, 0x25, 0xdc, 0x34, 0xe4, 0x02, 0xfd, 0x46}} FOLDERID_AccountPictures = &KNOWNFOLDERID{0x008ca0b1, 0x55b4, 0x4c56, [8]byte{0xb8, 0xa8, 0x4d, 0xe4, 0xb2, 0x99, 0xd3, 0xbe}} FOLDERID_PublicUserTiles = &KNOWNFOLDERID{0x0482af6c, 0x08f1, 0x4c34, [8]byte{0x8c, 0x90, 0xe1, 0x7e, 0xc9, 0x8b, 0x1e, 0x17}} FOLDERID_AppsFolder = &KNOWNFOLDERID{0x1e87508d, 0x89c2, 0x42f0, [8]byte{0x8a, 0x7e, 0x64, 0x5a, 0x0f, 0x50, 0xca, 0x58}} FOLDERID_StartMenuAllPrograms = &KNOWNFOLDERID{0xf26305ef, 0x6948, 0x40b9, [8]byte{0xb2, 0x55, 0x81, 0x45, 0x3d, 0x09, 0xc7, 0x85}} FOLDERID_CommonStartMenuPlaces = &KNOWNFOLDERID{0xa440879f, 0x87a0, 0x4f7d, [8]byte{0xb7, 0x00, 0x02, 0x07, 0xb9, 0x66, 0x19, 0x4a}} FOLDERID_ApplicationShortcuts = &KNOWNFOLDERID{0xa3918781, 0xe5f2, 0x4890, [8]byte{0xb3, 0xd9, 0xa7, 0xe5, 0x43, 0x32, 0x32, 0x8c}} FOLDERID_RoamingTiles = &KNOWNFOLDERID{0x00bcfc5a, 0xed94, 0x4e48, [8]byte{0x96, 0xa1, 0x3f, 0x62, 0x17, 0xf2, 0x19, 0x90}} FOLDERID_RoamedTileImages = &KNOWNFOLDERID{0xaaa8d5a5, 0xf1d6, 0x4259, [8]byte{0xba, 0xa8, 0x78, 0xe7, 0xef, 0x60, 0x83, 0x5e}} FOLDERID_Screenshots = &KNOWNFOLDERID{0xb7bede81, 0xdf94, 0x4682, [8]byte{0xa7, 0xd8, 0x57, 0xa5, 0x26, 0x20, 0xb8, 0x6f}} FOLDERID_CameraRoll = &KNOWNFOLDERID{0xab5fb87b, 0x7ce2, 0x4f83, [8]byte{0x91, 0x5d, 0x55, 0x08, 0x46, 0xc9, 0x53, 0x7b}} FOLDERID_SkyDrive = &KNOWNFOLDERID{0xa52bba46, 0xe9e1, 0x435f, [8]byte{0xb3, 0xd9, 0x28, 0xda, 0xa6, 0x48, 0xc0, 0xf6}} FOLDERID_OneDrive = &KNOWNFOLDERID{0xa52bba46, 0xe9e1, 0x435f, [8]byte{0xb3, 0xd9, 0x28, 0xda, 0xa6, 0x48, 0xc0, 0xf6}} FOLDERID_SkyDriveDocuments = &KNOWNFOLDERID{0x24d89e24, 0x2f19, 0x4534, [8]byte{0x9d, 0xde, 0x6a, 0x66, 0x71, 0xfb, 0xb8, 0xfe}} FOLDERID_SkyDrivePictures = &KNOWNFOLDERID{0x339719b5, 0x8c47, 0x4894, [8]byte{0x94, 0xc2, 0xd8, 0xf7, 0x7a, 0xdd, 0x44, 0xa6}} FOLDERID_SkyDriveMusic = &KNOWNFOLDERID{0xc3f2459e, 0x80d6, 0x45dc, [8]byte{0xbf, 0xef, 0x1f, 0x76, 0x9f, 0x2b, 0xe7, 0x30}} FOLDERID_SkyDriveCameraRoll = &KNOWNFOLDERID{0x767e6811, 0x49cb, 0x4273, [8]byte{0x87, 0xc2, 0x20, 0xf3, 0x55, 0xe1, 0x08, 0x5b}} FOLDERID_SearchHistory = &KNOWNFOLDERID{0x0d4c3db6, 0x03a3, 0x462f, [8]byte{0xa0, 0xe6, 0x08, 0x92, 0x4c, 0x41, 0xb5, 0xd4}} FOLDERID_SearchTemplates = &KNOWNFOLDERID{0x7e636bfe, 0xdfa9, 0x4d5e, [8]byte{0xb4, 0x56, 0xd7, 0xb3, 0x98, 0x51, 0xd8, 0xa9}} FOLDERID_CameraRollLibrary = &KNOWNFOLDERID{0x2b20df75, 0x1eda, 0x4039, [8]byte{0x80, 0x97, 0x38, 0x79, 0x82, 0x27, 0xd5, 0xb7}} FOLDERID_SavedPictures = &KNOWNFOLDERID{0x3b193882, 0xd3ad, 0x4eab, [8]byte{0x96, 0x5a, 0x69, 0x82, 0x9d, 0x1f, 0xb5, 0x9f}} FOLDERID_SavedPicturesLibrary = &KNOWNFOLDERID{0xe25b5812, 0xbe88, 0x4bd9, [8]byte{0x94, 0xb0, 0x29, 0x23, 0x34, 0x77, 0xb6, 0xc3}} FOLDERID_RetailDemo = &KNOWNFOLDERID{0x12d4c69e, 0x24ad, 0x4923, [8]byte{0xbe, 0x19, 0x31, 0x32, 0x1c, 0x43, 0xa7, 0x67}} FOLDERID_Device = &KNOWNFOLDERID{0x1c2ac1dc, 0x4358, 0x4b6c, [8]byte{0x97, 0x33, 0xaf, 0x21, 0x15, 0x65, 0x76, 0xf0}} FOLDERID_DevelopmentFiles = &KNOWNFOLDERID{0xdbe8e08e, 0x3053, 0x4bbc, [8]byte{0xb1, 0x83, 0x2a, 0x7b, 0x2b, 0x19, 0x1e, 0x59}} FOLDERID_Objects3D = &KNOWNFOLDERID{0x31c0dd25, 0x9439, 0x4f12, [8]byte{0xbf, 0x41, 0x7f, 0xf4, 0xed, 0xa3, 0x87, 0x22}} FOLDERID_AppCaptures = &KNOWNFOLDERID{0xedc0fe71, 0x98d8, 0x4f4a, [8]byte{0xb9, 0x20, 0xc8, 0xdc, 0x13, 0x3c, 0xb1, 0x65}} FOLDERID_LocalDocuments = &KNOWNFOLDERID{0xf42ee2d3, 0x909f, 0x4907, [8]byte{0x88, 0x71, 0x4c, 0x22, 0xfc, 0x0b, 0xf7, 0x56}} FOLDERID_LocalPictures = &KNOWNFOLDERID{0x0ddd015d, 0xb06c, 0x45d5, [8]byte{0x8c, 0x4c, 0xf5, 0x97, 0x13, 0x85, 0x46, 0x39}} FOLDERID_LocalVideos = &KNOWNFOLDERID{0x35286a68, 0x3c57, 0x41a1, [8]byte{0xbb, 0xb1, 0x0e, 0xae, 0x73, 0xd7, 0x6c, 0x95}} FOLDERID_LocalMusic = &KNOWNFOLDERID{0xa0c69a99, 0x21c8, 0x4671, [8]byte{0x87, 0x03, 0x79, 0x34, 0x16, 0x2f, 0xcf, 0x1d}} FOLDERID_LocalDownloads = &KNOWNFOLDERID{0x7d83ee9b, 0x2244, 0x4e70, [8]byte{0xb1, 0xf5, 0x53, 0x93, 0x04, 0x2a, 0xf1, 0xe4}} FOLDERID_RecordedCalls = &KNOWNFOLDERID{0x2f8b40c2, 0x83ed, 0x48ee, [8]byte{0xb3, 0x83, 0xa1, 0xf1, 0x57, 0xec, 0x6f, 0x9a}} FOLDERID_AllAppMods = &KNOWNFOLDERID{0x7ad67899, 0x66af, 0x43ba, [8]byte{0x91, 0x56, 0x6a, 0xad, 0x42, 0xe6, 0xc5, 0x96}} FOLDERID_CurrentAppMods = &KNOWNFOLDERID{0x3db40b20, 0x2a30, 0x4dbe, [8]byte{0x91, 0x7e, 0x77, 0x1d, 0xd2, 0x1d, 0xd0, 0x99}} FOLDERID_AppDataDesktop = &KNOWNFOLDERID{0xb2c5e279, 0x7add, 0x439f, [8]byte{0xb2, 0x8c, 0xc4, 0x1f, 0xe1, 0xbb, 0xf6, 0x72}} FOLDERID_AppDataDocuments = &KNOWNFOLDERID{0x7be16610, 0x1f7f, 0x44ac, [8]byte{0xbf, 0xf0, 0x83, 0xe1, 0x5f, 0x2f, 0xfc, 0xa1}} FOLDERID_AppDataFavorites = &KNOWNFOLDERID{0x7cfbefbc, 0xde1f, 0x45aa, [8]byte{0xb8, 0x43, 0xa5, 0x42, 0xac, 0x53, 0x6c, 0xc9}} FOLDERID_AppDataProgramData = &KNOWNFOLDERID{0x559d40a3, 0xa036, 0x40fa, [8]byte{0xaf, 0x61, 0x84, 0xcb, 0x43, 0x0a, 0x4d, 0x34}} ) dependencies/pkg/mod/golang.org/x/sys@v0.26.0/windows/mkwinsyscall/0000755000000000000000000000000015107355264024040 5ustar rootrootdependencies/pkg/mod/golang.org/x/sys@v0.26.0/windows/mkwinsyscall/mkwinsyscall.go0000644000000000000000000006077615107355264027127 0ustar rootroot// 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. /* mkwinsyscall generates windows system call bodies It parses all files specified on command line containing function prototypes (like syscall_windows.go) and prints system call bodies to standard output. 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 err. - If go func name needs to be different from its winapi dll name, the winapi name could be specified at the end, after "=" sign, like //sys LoadLibrary(libname string) (handle uint32, err error) = LoadLibraryA - Each function that returns err needs to supply a condition, that return value of winapi will be tested against to detect failure. This would set err to windows "last-error", otherwise it will be nil. The value can be provided at end of //sys declaration, like //sys LoadLibrary(libname string) (handle uint32, err error) [failretval==-1] = LoadLibraryA and is [failretval==0] by default. - If the function name ends in a "?", then the function not existing is non- fatal, and an error will be returned instead of panicking. Usage: mkwinsyscall [flags] [path ...] The flags are: -output Specify output file name (outputs to console if blank). -trace Generate print statement after every syscall. */ package main import ( "bufio" "bytes" "errors" "flag" "fmt" "go/format" "go/parser" "go/token" "io" "log" "os" "path/filepath" "runtime" "sort" "strconv" "strings" "text/template" ) var ( filename = flag.String("output", "", "output file name (standard output if omitted)") printTraceFlag = flag.Bool("trace", false, "generate print statement after every syscall") systemDLL = flag.Bool("systemdll", true, "whether all DLLs should be loaded from the Windows system directory") ) func trim(s string) string { return strings.Trim(s, " \t") } var packageName string func packagename() string { return packageName } func windowsdot() string { if packageName == "windows" { return "" } return "windows." } func syscalldot() string { if packageName == "syscall" { return "" } return "syscall." } // Param is function parameter type Param struct { Name string Type string fn *Fn tmpVarIdx int } // tmpVar returns temp variable name that will be used to represent p during syscall. func (p *Param) tmpVar() string { if p.tmpVarIdx < 0 { p.tmpVarIdx = p.fn.curTmpVarIdx p.fn.curTmpVarIdx++ } return fmt.Sprintf("_p%d", p.tmpVarIdx) } // BoolTmpVarCode returns source code for bool temp variable. func (p *Param) BoolTmpVarCode() string { const code = `var %[1]s uint32 if %[2]s { %[1]s = 1 }` return fmt.Sprintf(code, p.tmpVar(), p.Name) } // BoolPointerTmpVarCode returns source code for bool temp variable. func (p *Param) BoolPointerTmpVarCode() string { const code = `var %[1]s uint32 if *%[2]s { %[1]s = 1 }` return fmt.Sprintf(code, p.tmpVar(), p.Name) } // SliceTmpVarCode returns source code for slice temp variable. func (p *Param) SliceTmpVarCode() string { const code = `var %s *%s if len(%s) > 0 { %s = &%s[0] }` tmp := p.tmpVar() return fmt.Sprintf(code, tmp, p.Type[2:], p.Name, tmp, p.Name) } // StringTmpVarCode returns source code for string temp variable. func (p *Param) StringTmpVarCode() string { errvar := p.fn.Rets.ErrorVarName() if errvar == "" { errvar = "_" } tmp := p.tmpVar() const code = `var %s %s %s, %s = %s(%s)` s := fmt.Sprintf(code, tmp, p.fn.StrconvType(), tmp, errvar, p.fn.StrconvFunc(), p.Name) if errvar == "-" { return s } const morecode = ` if %s != nil { return }` return s + fmt.Sprintf(morecode, errvar) } // TmpVarCode returns source code for temp variable. func (p *Param) TmpVarCode() string { switch { case p.Type == "bool": return p.BoolTmpVarCode() case p.Type == "*bool": return p.BoolPointerTmpVarCode() case strings.HasPrefix(p.Type, "[]"): return p.SliceTmpVarCode() default: return "" } } // TmpVarReadbackCode returns source code for reading back the temp variable into the original variable. func (p *Param) TmpVarReadbackCode() string { switch { case p.Type == "*bool": return fmt.Sprintf("*%s = %s != 0", p.Name, p.tmpVar()) default: return "" } } // TmpVarHelperCode returns source code for helper's temp variable. func (p *Param) TmpVarHelperCode() string { if p.Type != "string" { return "" } return p.StringTmpVarCode() } // SyscallArgList returns source code fragments representing p parameter // in syscall. Slices are translated into 2 syscall parameters: pointer to // the first element and length. func (p *Param) SyscallArgList() []string { t := p.HelperType() var s string switch { case t == "*bool": s = fmt.Sprintf("unsafe.Pointer(&%s)", p.tmpVar()) case t[0] == '*': s = fmt.Sprintf("unsafe.Pointer(%s)", p.Name) case t == "bool": s = p.tmpVar() case strings.HasPrefix(t, "[]"): return []string{ fmt.Sprintf("uintptr(unsafe.Pointer(%s))", p.tmpVar()), fmt.Sprintf("uintptr(len(%s))", p.Name), } default: s = p.Name } return []string{fmt.Sprintf("uintptr(%s)", s)} } // IsError determines if p parameter is used to return error. func (p *Param) IsError() bool { return p.Name == "err" && p.Type == "error" } // HelperType returns type of parameter p used in helper function. func (p *Param) HelperType() string { if p.Type == "string" { return p.fn.StrconvType() } return p.Type } // join concatenates parameters ps into a string with sep separator. // Each parameter is converted into string by applying fn to it // before conversion. func join(ps []*Param, fn func(*Param) string, sep string) string { if len(ps) == 0 { return "" } a := make([]string, 0) for _, p := range ps { a = append(a, fn(p)) } return strings.Join(a, sep) } // Rets describes function return parameters. type Rets struct { Name string Type string ReturnsError bool FailCond string fnMaybeAbsent bool } // ErrorVarName returns error variable name for r. func (r *Rets) ErrorVarName() string { if r.ReturnsError { return "err" } if r.Type == "error" { return r.Name } return "" } // ToParams converts r into slice of *Param. func (r *Rets) ToParams() []*Param { ps := make([]*Param, 0) if len(r.Name) > 0 { ps = append(ps, &Param{Name: r.Name, Type: r.Type}) } if r.ReturnsError { ps = append(ps, &Param{Name: "err", Type: "error"}) } return ps } // List returns source code of syscall return parameters. func (r *Rets) List() string { s := join(r.ToParams(), func(p *Param) string { return p.Name + " " + p.Type }, ", ") if len(s) > 0 { s = "(" + s + ")" } else if r.fnMaybeAbsent { s = "(err error)" } return s } // PrintList returns source code of trace printing part correspondent // to syscall return values. func (r *Rets) PrintList() string { return join(r.ToParams(), func(p *Param) string { return fmt.Sprintf(`"%s=", %s, `, p.Name, p.Name) }, `", ", `) } // SetReturnValuesCode returns source code that accepts syscall return values. func (r *Rets) SetReturnValuesCode() string { if r.Name == "" && !r.ReturnsError { return "" } retvar := "r0" if r.Name == "" { retvar = "r1" } errvar := "_" if r.ReturnsError { errvar = "e1" } return fmt.Sprintf("%s, _, %s := ", retvar, errvar) } func (r *Rets) useLongHandleErrorCode(retvar string) string { const code = `if %s { err = errnoErr(e1) }` cond := retvar + " == 0" if r.FailCond != "" { cond = strings.Replace(r.FailCond, "failretval", retvar, 1) } return fmt.Sprintf(code, cond) } // SetErrorCode returns source code that sets return parameters. func (r *Rets) SetErrorCode() string { const code = `if r0 != 0 { %s = %sErrno(r0) }` const ntstatus = `if r0 != 0 { ntstatus = %sNTStatus(r0) }` if r.Name == "" && !r.ReturnsError { return "" } if r.Name == "" { return r.useLongHandleErrorCode("r1") } if r.Type == "error" && r.Name == "ntstatus" { return fmt.Sprintf(ntstatus, windowsdot()) } if r.Type == "error" { return fmt.Sprintf(code, r.Name, syscalldot()) } s := "" switch { case r.Type[0] == '*': s = fmt.Sprintf("%s = (%s)(unsafe.Pointer(r0))", r.Name, r.Type) case r.Type == "bool": s = fmt.Sprintf("%s = r0 != 0", r.Name) default: s = fmt.Sprintf("%s = %s(r0)", r.Name, r.Type) } if !r.ReturnsError { return s } return s + "\n\t" + r.useLongHandleErrorCode(r.Name) } // Fn describes syscall function. type Fn struct { Name string Params []*Param Rets *Rets PrintTrace bool dllname string dllfuncname string src string // TODO: get rid of this field and just use parameter index instead curTmpVarIdx int // insure tmp variables have uniq names } // extractParams parses s to extract function parameters. func extractParams(s string, f *Fn) ([]*Param, error) { s = trim(s) if s == "" { return nil, nil } a := strings.Split(s, ",") ps := make([]*Param, len(a)) for i := range ps { s2 := trim(a[i]) b := strings.Split(s2, " ") if len(b) != 2 { b = strings.Split(s2, "\t") if len(b) != 2 { return nil, errors.New("Could not extract function parameter from \"" + s2 + "\"") } } ps[i] = &Param{ Name: trim(b[0]), Type: trim(b[1]), fn: f, tmpVarIdx: -1, } } return ps, nil } // extractSection extracts text out of string s starting after start // and ending just before end. found return value will indicate success, // and prefix, body and suffix will contain correspondent parts of string s. func extractSection(s string, start, end rune) (prefix, body, suffix string, found bool) { s = trim(s) if strings.HasPrefix(s, string(start)) { // no prefix body = s[1:] } else { a := strings.SplitN(s, string(start), 2) if len(a) != 2 { return "", "", s, false } prefix = a[0] body = a[1] } a := strings.SplitN(body, string(end), 2) if len(a) != 2 { return "", "", "", false } return prefix, a[0], a[1], true } // newFn parses string s and return created function Fn. func newFn(s string) (*Fn, error) { s = trim(s) f := &Fn{ Rets: &Rets{}, src: s, PrintTrace: *printTraceFlag, } // function name and args prefix, body, s, found := extractSection(s, '(', ')') if !found || prefix == "" { return nil, errors.New("Could not extract function name and parameters from \"" + f.src + "\"") } f.Name = prefix var err error f.Params, err = extractParams(body, f) if err != nil { return nil, err } // return values _, body, s, found = extractSection(s, '(', ')') if found { r, err := extractParams(body, f) if err != nil { return nil, err } switch len(r) { case 0: case 1: if r[0].IsError() { f.Rets.ReturnsError = true } else { f.Rets.Name = r[0].Name f.Rets.Type = r[0].Type } case 2: if !r[1].IsError() { return nil, errors.New("Only last windows error is allowed as second return value in \"" + f.src + "\"") } f.Rets.ReturnsError = true f.Rets.Name = r[0].Name f.Rets.Type = r[0].Type default: return nil, errors.New("Too many return values in \"" + f.src + "\"") } } // fail condition _, body, s, found = extractSection(s, '[', ']') if found { f.Rets.FailCond = body } // dll and dll function names s = trim(s) if s == "" { return f, nil } if !strings.HasPrefix(s, "=") { return nil, errors.New("Could not extract dll name from \"" + f.src + "\"") } s = trim(s[1:]) if i := strings.LastIndex(s, "."); i >= 0 { f.dllname = s[:i] f.dllfuncname = s[i+1:] } else { f.dllfuncname = s } if f.dllfuncname == "" { return nil, fmt.Errorf("function name is not specified in %q", s) } if n := f.dllfuncname; strings.HasSuffix(n, "?") { f.dllfuncname = n[:len(n)-1] f.Rets.fnMaybeAbsent = true } return f, nil } // DLLName returns DLL name for function f. func (f *Fn) DLLName() string { if f.dllname == "" { return "kernel32" } return f.dllname } // DLLVar returns a valid Go identifier that represents DLLName. func (f *Fn) DLLVar() string { id := strings.Map(func(r rune) rune { switch r { case '.', '-': return '_' default: return r } }, f.DLLName()) if !token.IsIdentifier(id) { panic(fmt.Errorf("could not create Go identifier for DLLName %q", f.DLLName())) } return id } // DLLFuncName returns DLL function name for function f. func (f *Fn) DLLFuncName() string { if f.dllfuncname == "" { return f.Name } return f.dllfuncname } // ParamList returns source code for function f parameters. func (f *Fn) ParamList() string { return join(f.Params, func(p *Param) string { return p.Name + " " + p.Type }, ", ") } // HelperParamList returns source code for helper function f parameters. func (f *Fn) HelperParamList() string { return join(f.Params, func(p *Param) string { return p.Name + " " + p.HelperType() }, ", ") } // ParamPrintList returns source code of trace printing part correspondent // to syscall input parameters. func (f *Fn) ParamPrintList() string { return join(f.Params, func(p *Param) string { return fmt.Sprintf(`"%s=", %s, `, p.Name, p.Name) }, `", ", `) } // ParamCount return number of syscall parameters for function f. func (f *Fn) ParamCount() int { n := 0 for _, p := range f.Params { n += len(p.SyscallArgList()) } return n } // SyscallParamCount determines which version of Syscall/Syscall6/Syscall9/... // to use. It returns parameter count for correspondent SyscallX function. func (f *Fn) SyscallParamCount() int { n := f.ParamCount() switch { case n <= 3: return 3 case n <= 6: return 6 case n <= 9: return 9 case n <= 12: return 12 case n <= 15: return 15 case n <= 42: // current SyscallN limit return n default: panic("too many arguments to system call") } } // Syscall determines which SyscallX function to use for function f. func (f *Fn) Syscall() string { c := f.SyscallParamCount() if c == 3 { return syscalldot() + "Syscall" } if c > 15 { return syscalldot() + "SyscallN" } return syscalldot() + "Syscall" + strconv.Itoa(c) } // SyscallParamList returns source code for SyscallX parameters for function f. func (f *Fn) SyscallParamList() string { a := make([]string, 0) for _, p := range f.Params { a = append(a, p.SyscallArgList()...) } for len(a) < f.SyscallParamCount() { a = append(a, "0") } return strings.Join(a, ", ") } // HelperCallParamList returns source code of call into function f helper. func (f *Fn) HelperCallParamList() string { a := make([]string, 0, len(f.Params)) for _, p := range f.Params { s := p.Name if p.Type == "string" { s = p.tmpVar() } a = append(a, s) } return strings.Join(a, ", ") } // MaybeAbsent returns source code for handling functions that are possibly unavailable. func (p *Fn) MaybeAbsent() string { if !p.Rets.fnMaybeAbsent { return "" } const code = `%[1]s = proc%[2]s.Find() if %[1]s != nil { return }` errorVar := p.Rets.ErrorVarName() if errorVar == "" { errorVar = "err" } return fmt.Sprintf(code, errorVar, p.DLLFuncName()) } // IsUTF16 is true, if f is W (utf16) function. It is false // for all A (ascii) functions. func (f *Fn) IsUTF16() bool { s := f.DLLFuncName() return s[len(s)-1] == 'W' } // StrconvFunc returns name of Go string to OS string function for f. func (f *Fn) StrconvFunc() string { if f.IsUTF16() { return syscalldot() + "UTF16PtrFromString" } return syscalldot() + "BytePtrFromString" } // StrconvType returns Go type name used for OS string for f. func (f *Fn) StrconvType() string { if f.IsUTF16() { return "*uint16" } return "*byte" } // HasStringParam is true, if f has at least one string parameter. // Otherwise it is false. func (f *Fn) HasStringParam() bool { for _, p := range f.Params { if p.Type == "string" { return true } } return false } // HelperName returns name of function f helper. func (f *Fn) HelperName() string { if !f.HasStringParam() { return f.Name } return "_" + f.Name } // DLL is a DLL's filename and a string that is valid in a Go identifier that should be used when // naming a variable that refers to the DLL. type DLL struct { Name string Var string } // Source files and functions. type Source struct { Funcs []*Fn DLLFuncNames []*Fn Files []string StdLibImports []string ExternalImports []string } func (src *Source) Import(pkg string) { src.StdLibImports = append(src.StdLibImports, pkg) sort.Strings(src.StdLibImports) } func (src *Source) ExternalImport(pkg string) { src.ExternalImports = append(src.ExternalImports, pkg) sort.Strings(src.ExternalImports) } // ParseFiles parses files listed in fs and extracts all syscall // functions listed in sys comments. It returns source files // and functions collection *Source if successful. func ParseFiles(fs []string) (*Source, error) { src := &Source{ Funcs: make([]*Fn, 0), Files: make([]string, 0), StdLibImports: []string{ "unsafe", }, ExternalImports: make([]string, 0), } for _, file := range fs { if err := src.ParseFile(file); err != nil { return nil, err } } src.DLLFuncNames = make([]*Fn, 0, len(src.Funcs)) uniq := make(map[string]bool, len(src.Funcs)) for _, fn := range src.Funcs { name := fn.DLLFuncName() if !uniq[name] { src.DLLFuncNames = append(src.DLLFuncNames, fn) uniq[name] = true } } return src, nil } // DLLs return dll names for a source set src. func (src *Source) DLLs() []DLL { uniq := make(map[string]bool) r := make([]DLL, 0) for _, f := range src.Funcs { id := f.DLLVar() if _, found := uniq[id]; !found { uniq[id] = true r = append(r, DLL{f.DLLName(), id}) } } sort.Slice(r, func(i, j int) bool { return r[i].Var < r[j].Var }) return r } // ParseFile adds additional file path to a source set src. func (src *Source) ParseFile(path string) error { file, err := os.Open(path) if err != nil { return err } defer file.Close() s := bufio.NewScanner(file) for s.Scan() { t := trim(s.Text()) if len(t) < 7 { continue } if !strings.HasPrefix(t, "//sys") { continue } t = t[5:] if !(t[0] == ' ' || t[0] == '\t') { continue } f, err := newFn(t[1:]) if err != nil { return err } src.Funcs = append(src.Funcs, f) } if err := s.Err(); err != nil { return err } src.Files = append(src.Files, path) sort.Slice(src.Funcs, func(i, j int) bool { fi, fj := src.Funcs[i], src.Funcs[j] if fi.DLLName() == fj.DLLName() { return fi.DLLFuncName() < fj.DLLFuncName() } return fi.DLLName() < fj.DLLName() }) // get package name fset := token.NewFileSet() _, err = file.Seek(0, 0) if err != nil { return err } pkg, err := parser.ParseFile(fset, "", file, parser.PackageClauseOnly) if err != nil { return err } packageName = pkg.Name.Name return nil } // IsStdRepo reports whether src is part of standard library. func (src *Source) IsStdRepo() (bool, error) { if len(src.Files) == 0 { return false, errors.New("no input files provided") } abspath, err := filepath.Abs(src.Files[0]) if err != nil { return false, err } goroot := runtime.GOROOT() if runtime.GOOS == "windows" { abspath = strings.ToLower(abspath) goroot = strings.ToLower(goroot) } sep := string(os.PathSeparator) if !strings.HasSuffix(goroot, sep) { goroot += sep } return strings.HasPrefix(abspath, goroot), nil } // Generate output source file from a source set src. func (src *Source) Generate(w io.Writer) error { const ( pkgStd = iota // any package in std library pkgXSysWindows // x/sys/windows package pkgOther ) isStdRepo, err := src.IsStdRepo() if err != nil { return err } var pkgtype int switch { case isStdRepo: pkgtype = pkgStd case packageName == "windows": // TODO: this needs better logic than just using package name pkgtype = pkgXSysWindows default: pkgtype = pkgOther } if *systemDLL { switch pkgtype { case pkgStd: src.Import("internal/syscall/windows/sysdll") case pkgXSysWindows: default: src.ExternalImport("golang.org/x/sys/windows") } } if packageName != "syscall" { src.Import("syscall") } funcMap := template.FuncMap{ "packagename": packagename, "syscalldot": syscalldot, "newlazydll": func(dll string) string { arg := "\"" + dll + ".dll\"" if !*systemDLL { return syscalldot() + "NewLazyDLL(" + arg + ")" } switch pkgtype { case pkgStd: return syscalldot() + "NewLazyDLL(sysdll.Add(" + arg + "))" case pkgXSysWindows: return "NewLazySystemDLL(" + arg + ")" default: return "windows.NewLazySystemDLL(" + arg + ")" } }, } t := template.Must(template.New("main").Funcs(funcMap).Parse(srcTemplate)) err = t.Execute(w, src) if err != nil { return errors.New("Failed to execute template: " + err.Error()) } return nil } func writeTempSourceFile(data []byte) (string, error) { f, err := os.CreateTemp("", "mkwinsyscall-generated-*.go") if err != nil { return "", err } _, err = f.Write(data) if closeErr := f.Close(); err == nil { err = closeErr } if err != nil { os.Remove(f.Name()) // best effort return "", err } return f.Name(), nil } func usage() { fmt.Fprintf(os.Stderr, "usage: mkwinsyscall [flags] [path ...]\n") flag.PrintDefaults() os.Exit(1) } func main() { flag.Usage = usage flag.Parse() if len(flag.Args()) <= 0 { fmt.Fprintf(os.Stderr, "no files to parse provided\n") usage() } src, err := ParseFiles(flag.Args()) if err != nil { log.Fatal(err) } var buf bytes.Buffer if err := src.Generate(&buf); err != nil { log.Fatal(err) } data, err := format.Source(buf.Bytes()) if err != nil { log.Printf("failed to format source: %v", err) f, err := writeTempSourceFile(buf.Bytes()) if err != nil { log.Fatalf("failed to write unformatted source to file: %v", err) } log.Fatalf("for diagnosis, wrote unformatted source to %v", f) } if *filename == "" { _, err = os.Stdout.Write(data) } else { err = os.WriteFile(*filename, data, 0644) } if err != nil { log.Fatal(err) } } // TODO: use println instead to print in the following template const srcTemplate = ` {{define "main"}}// Code generated by 'go generate'; DO NOT EDIT. package {{packagename}} import ( {{range .StdLibImports}}"{{.}}" {{end}} {{range .ExternalImports}}"{{.}}" {{end}} ) var _ unsafe.Pointer // Do the interface allocations only once for common // Errno values. const ( errnoERROR_IO_PENDING = 997 ) var ( errERROR_IO_PENDING error = {{syscalldot}}Errno(errnoERROR_IO_PENDING) errERROR_EINVAL error = {{syscalldot}}EINVAL ) // errnoErr returns common boxed Errno values, to prevent // allocations at runtime. func errnoErr(e {{syscalldot}}Errno) error { switch e { case 0: return errERROR_EINVAL case errnoERROR_IO_PENDING: return errERROR_IO_PENDING } // TODO: add more here, after collecting data on the common // error values see on Windows. (perhaps when running // all.bat?) return e } var ( {{template "dlls" .}} {{template "funcnames" .}}) {{range .Funcs}}{{if .HasStringParam}}{{template "helperbody" .}}{{end}}{{template "funcbody" .}}{{end}} {{end}} {{/* help functions */}} {{define "dlls"}}{{range .DLLs}} mod{{.Var}} = {{newlazydll .Name}} {{end}}{{end}} {{define "funcnames"}}{{range .DLLFuncNames}} proc{{.DLLFuncName}} = mod{{.DLLVar}}.NewProc("{{.DLLFuncName}}") {{end}}{{end}} {{define "helperbody"}} func {{.Name}}({{.ParamList}}) {{template "results" .}}{ {{template "helpertmpvars" .}} return {{.HelperName}}({{.HelperCallParamList}}) } {{end}} {{define "funcbody"}} func {{.HelperName}}({{.HelperParamList}}) {{template "results" .}}{ {{template "maybeabsent" .}} {{template "tmpvars" .}} {{template "syscall" .}} {{template "tmpvarsreadback" .}} {{template "seterror" .}}{{template "printtrace" .}} return } {{end}} {{define "helpertmpvars"}}{{range .Params}}{{if .TmpVarHelperCode}} {{.TmpVarHelperCode}} {{end}}{{end}}{{end}} {{define "maybeabsent"}}{{if .MaybeAbsent}}{{.MaybeAbsent}} {{end}}{{end}} {{define "tmpvars"}}{{range .Params}}{{if .TmpVarCode}} {{.TmpVarCode}} {{end}}{{end}}{{end}} {{define "results"}}{{if .Rets.List}}{{.Rets.List}} {{end}}{{end}} {{define "syscall"}}{{.Rets.SetReturnValuesCode}}{{.Syscall}}(proc{{.DLLFuncName}}.Addr(),{{if le .ParamCount 15}} {{.ParamCount}},{{end}} {{.SyscallParamList}}){{end}} {{define "tmpvarsreadback"}}{{range .Params}}{{if .TmpVarReadbackCode}} {{.TmpVarReadbackCode}}{{end}}{{end}}{{end}} {{define "seterror"}}{{if .Rets.SetErrorCode}} {{.Rets.SetErrorCode}} {{end}}{{end}} {{define "printtrace"}}{{if .PrintTrace}} print("SYSCALL: {{.Name}}(", {{.ParamPrintList}}") (", {{.Rets.PrintList}}")\n") {{end}}{{end}} ` dependencies/pkg/mod/golang.org/x/sys@v0.26.0/windows/mkwinsyscall/mkwinsyscall_test.go0000644000000000000000000000631615107355264030154 0ustar rootroot// Copyright 2023 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" "go/format" "os" "path/filepath" "strings" "testing" ) func TestDLLFilenameEscaping(t *testing.T) { tests := []struct { name string filename string }{ {"no escaping necessary", "kernel32"}, {"escape period", "windows.networking"}, {"escape dash", "api-ms-win-wsl-api-l1-1-0"}, } for _, tt := range tests { t.Run(tt.name, func(t *testing.T) { // Write a made-up syscall into a temp file for testing. const prefix = "package windows\n//sys Example() = " const suffix = ".Example" name := filepath.Join(t.TempDir(), "syscall.go") if err := os.WriteFile(name, []byte(prefix+tt.filename+suffix), 0666); err != nil { t.Fatal(err) } // Ensure parsing, generating, and formatting run without errors. // This is good enough to show that escaping is working. src, err := ParseFiles([]string{name}) if err != nil { t.Fatal(err) } var buf bytes.Buffer if err := src.Generate(&buf); err != nil { t.Fatal(err) } if _, err := format.Source(buf.Bytes()); err != nil { t.Log(buf.String()) t.Fatal(err) } }) } } func TestSyscallXGeneration(t *testing.T) { tests := []struct { name string wantsysfunc string sig string }{ { name: "syscall with 2 params", wantsysfunc: "syscall.Syscall", sig: "Example(a1 *uint16, a2 *uint16) = ", }, { name: "syscall with 6 params", wantsysfunc: "syscall.Syscall6", sig: "Example(a1 *uint, a2 *uint, a3 *uint, a4 *uint, a5 *uint, a6 *uint) = ", }, { name: "syscall with 15 params", wantsysfunc: "syscall.Syscall15", sig: strings.ReplaceAll(`Example(a1 *uint, a2 *uint, a3 *uint, a4 *uint, a5 *uint, a6 *uint, a7 *uint, a8 *uint, a9 *uint, a10 *uint, a11 *uint, a12 *uint, a13 *uint, a14 *uint, a15 *uint) = `, "\n", ""), }, { name: "syscall with 18 params", wantsysfunc: "syscall.SyscallN", sig: strings.ReplaceAll(`Example(a1 *uint, a2 *uint, a3 *uint, a4 *uint, a5 *uint, a6 *uint, a7 *uint, a8 *uint, a9 *uint, a10 *uint, a11 *uint, a12 *uint, a13 *uint, a14 *uint, a15 *uint, a16 *uint, a17 *uint, a18 *uint) = `, "\n", ""), }, } for _, tt := range tests { t.Run(tt.name, func(t *testing.T) { // Write the syscall into a temp file for testing. prefix := "package windows\n//sys " + tt.sig suffix := ".Example" name := filepath.Join(t.TempDir(), "syscall.go") if err := os.WriteFile(name, []byte(prefix+"example"+suffix), 0666); err != nil { t.Fatal(err) } // Ensure parsing, generating, and formatting run without errors. // This is good enough to show that escaping is working. src, err := ParseFiles([]string{name}) if err != nil { t.Fatal(err) } var buf bytes.Buffer if err := src.Generate(&buf); err != nil { t.Fatal(err) } if _, err := format.Source(buf.Bytes()); err != nil { t.Fatal(err) } if !strings.Contains(buf.String(), tt.wantsysfunc+"(") { t.Fatalf("expected syscall func %q in buffer %s", tt.wantsysfunc, buf.String()) } }) } } dependencies/pkg/mod/golang.org/x/sys@v0.26.0/windows/setupapi_windows.go0000644000000000000000000020636615107355264025270 0ustar rootroot// Copyright 2021 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 windows import ( "encoding/binary" "errors" "fmt" "runtime" "strings" "syscall" "unsafe" ) // This file contains functions that wrap SetupAPI.dll and CfgMgr32.dll, // core system functions for managing hardware devices, drivers, and the PnP tree. // Information about these APIs can be found at: // https://docs.microsoft.com/en-us/windows-hardware/drivers/install/setupapi // https://docs.microsoft.com/en-us/windows/win32/devinst/cfgmgr32- const ( ERROR_EXPECTED_SECTION_NAME Errno = 0x20000000 | 0xC0000000 | 0 ERROR_BAD_SECTION_NAME_LINE Errno = 0x20000000 | 0xC0000000 | 1 ERROR_SECTION_NAME_TOO_LONG Errno = 0x20000000 | 0xC0000000 | 2 ERROR_GENERAL_SYNTAX Errno = 0x20000000 | 0xC0000000 | 3 ERROR_WRONG_INF_STYLE Errno = 0x20000000 | 0xC0000000 | 0x100 ERROR_SECTION_NOT_FOUND Errno = 0x20000000 | 0xC0000000 | 0x101 ERROR_LINE_NOT_FOUND Errno = 0x20000000 | 0xC0000000 | 0x102 ERROR_NO_BACKUP Errno = 0x20000000 | 0xC0000000 | 0x103 ERROR_NO_ASSOCIATED_CLASS Errno = 0x20000000 | 0xC0000000 | 0x200 ERROR_CLASS_MISMATCH Errno = 0x20000000 | 0xC0000000 | 0x201 ERROR_DUPLICATE_FOUND Errno = 0x20000000 | 0xC0000000 | 0x202 ERROR_NO_DRIVER_SELECTED Errno = 0x20000000 | 0xC0000000 | 0x203 ERROR_KEY_DOES_NOT_EXIST Errno = 0x20000000 | 0xC0000000 | 0x204 ERROR_INVALID_DEVINST_NAME Errno = 0x20000000 | 0xC0000000 | 0x205 ERROR_INVALID_CLASS Errno = 0x20000000 | 0xC0000000 | 0x206 ERROR_DEVINST_ALREADY_EXISTS Errno = 0x20000000 | 0xC0000000 | 0x207 ERROR_DEVINFO_NOT_REGISTERED Errno = 0x20000000 | 0xC0000000 | 0x208 ERROR_INVALID_REG_PROPERTY Errno = 0x20000000 | 0xC0000000 | 0x209 ERROR_NO_INF Errno = 0x20000000 | 0xC0000000 | 0x20A ERROR_NO_SUCH_DEVINST Errno = 0x20000000 | 0xC0000000 | 0x20B ERROR_CANT_LOAD_CLASS_ICON Errno = 0x20000000 | 0xC0000000 | 0x20C ERROR_INVALID_CLASS_INSTALLER Errno = 0x20000000 | 0xC0000000 | 0x20D ERROR_DI_DO_DEFAULT Errno = 0x20000000 | 0xC0000000 | 0x20E ERROR_DI_NOFILECOPY Errno = 0x20000000 | 0xC0000000 | 0x20F ERROR_INVALID_HWPROFILE Errno = 0x20000000 | 0xC0000000 | 0x210 ERROR_NO_DEVICE_SELECTED Errno = 0x20000000 | 0xC0000000 | 0x211 ERROR_DEVINFO_LIST_LOCKED Errno = 0x20000000 | 0xC0000000 | 0x212 ERROR_DEVINFO_DATA_LOCKED Errno = 0x20000000 | 0xC0000000 | 0x213 ERROR_DI_BAD_PATH Errno = 0x20000000 | 0xC0000000 | 0x214 ERROR_NO_CLASSINSTALL_PARAMS Errno = 0x20000000 | 0xC0000000 | 0x215 ERROR_FILEQUEUE_LOCKED Errno = 0x20000000 | 0xC0000000 | 0x216 ERROR_BAD_SERVICE_INSTALLSECT Errno = 0x20000000 | 0xC0000000 | 0x217 ERROR_NO_CLASS_DRIVER_LIST Errno = 0x20000000 | 0xC0000000 | 0x218 ERROR_NO_ASSOCIATED_SERVICE Errno = 0x20000000 | 0xC0000000 | 0x219 ERROR_NO_DEFAULT_DEVICE_INTERFACE Errno = 0x20000000 | 0xC0000000 | 0x21A ERROR_DEVICE_INTERFACE_ACTIVE Errno = 0x20000000 | 0xC0000000 | 0x21B ERROR_DEVICE_INTERFACE_REMOVED Errno = 0x20000000 | 0xC0000000 | 0x21C ERROR_BAD_INTERFACE_INSTALLSECT Errno = 0x20000000 | 0xC0000000 | 0x21D ERROR_NO_SUCH_INTERFACE_CLASS Errno = 0x20000000 | 0xC0000000 | 0x21E ERROR_INVALID_REFERENCE_STRING Errno = 0x20000000 | 0xC0000000 | 0x21F ERROR_INVALID_MACHINENAME Errno = 0x20000000 | 0xC0000000 | 0x220 ERROR_REMOTE_COMM_FAILURE Errno = 0x20000000 | 0xC0000000 | 0x221 ERROR_MACHINE_UNAVAILABLE Errno = 0x20000000 | 0xC0000000 | 0x222 ERROR_NO_CONFIGMGR_SERVICES Errno = 0x20000000 | 0xC0000000 | 0x223 ERROR_INVALID_PROPPAGE_PROVIDER Errno = 0x20000000 | 0xC0000000 | 0x224 ERROR_NO_SUCH_DEVICE_INTERFACE Errno = 0x20000000 | 0xC0000000 | 0x225 ERROR_DI_POSTPROCESSING_REQUIRED Errno = 0x20000000 | 0xC0000000 | 0x226 ERROR_INVALID_COINSTALLER Errno = 0x20000000 | 0xC0000000 | 0x227 ERROR_NO_COMPAT_DRIVERS Errno = 0x20000000 | 0xC0000000 | 0x228 ERROR_NO_DEVICE_ICON Errno = 0x20000000 | 0xC0000000 | 0x229 ERROR_INVALID_INF_LOGCONFIG Errno = 0x20000000 | 0xC0000000 | 0x22A ERROR_DI_DONT_INSTALL Errno = 0x20000000 | 0xC0000000 | 0x22B ERROR_INVALID_FILTER_DRIVER Errno = 0x20000000 | 0xC0000000 | 0x22C ERROR_NON_WINDOWS_NT_DRIVER Errno = 0x20000000 | 0xC0000000 | 0x22D ERROR_NON_WINDOWS_DRIVER Errno = 0x20000000 | 0xC0000000 | 0x22E ERROR_NO_CATALOG_FOR_OEM_INF Errno = 0x20000000 | 0xC0000000 | 0x22F ERROR_DEVINSTALL_QUEUE_NONNATIVE Errno = 0x20000000 | 0xC0000000 | 0x230 ERROR_NOT_DISABLEABLE Errno = 0x20000000 | 0xC0000000 | 0x231 ERROR_CANT_REMOVE_DEVINST Errno = 0x20000000 | 0xC0000000 | 0x232 ERROR_INVALID_TARGET Errno = 0x20000000 | 0xC0000000 | 0x233 ERROR_DRIVER_NONNATIVE Errno = 0x20000000 | 0xC0000000 | 0x234 ERROR_IN_WOW64 Errno = 0x20000000 | 0xC0000000 | 0x235 ERROR_SET_SYSTEM_RESTORE_POINT Errno = 0x20000000 | 0xC0000000 | 0x236 ERROR_SCE_DISABLED Errno = 0x20000000 | 0xC0000000 | 0x238 ERROR_UNKNOWN_EXCEPTION Errno = 0x20000000 | 0xC0000000 | 0x239 ERROR_PNP_REGISTRY_ERROR Errno = 0x20000000 | 0xC0000000 | 0x23A ERROR_REMOTE_REQUEST_UNSUPPORTED Errno = 0x20000000 | 0xC0000000 | 0x23B ERROR_NOT_AN_INSTALLED_OEM_INF Errno = 0x20000000 | 0xC0000000 | 0x23C ERROR_INF_IN_USE_BY_DEVICES Errno = 0x20000000 | 0xC0000000 | 0x23D ERROR_DI_FUNCTION_OBSOLETE Errno = 0x20000000 | 0xC0000000 | 0x23E ERROR_NO_AUTHENTICODE_CATALOG Errno = 0x20000000 | 0xC0000000 | 0x23F ERROR_AUTHENTICODE_DISALLOWED Errno = 0x20000000 | 0xC0000000 | 0x240 ERROR_AUTHENTICODE_TRUSTED_PUBLISHER Errno = 0x20000000 | 0xC0000000 | 0x241 ERROR_AUTHENTICODE_TRUST_NOT_ESTABLISHED Errno = 0x20000000 | 0xC0000000 | 0x242 ERROR_AUTHENTICODE_PUBLISHER_NOT_TRUSTED Errno = 0x20000000 | 0xC0000000 | 0x243 ERROR_SIGNATURE_OSATTRIBUTE_MISMATCH Errno = 0x20000000 | 0xC0000000 | 0x244 ERROR_ONLY_VALIDATE_VIA_AUTHENTICODE Errno = 0x20000000 | 0xC0000000 | 0x245 ERROR_DEVICE_INSTALLER_NOT_READY Errno = 0x20000000 | 0xC0000000 | 0x246 ERROR_DRIVER_STORE_ADD_FAILED Errno = 0x20000000 | 0xC0000000 | 0x247 ERROR_DEVICE_INSTALL_BLOCKED Errno = 0x20000000 | 0xC0000000 | 0x248 ERROR_DRIVER_INSTALL_BLOCKED Errno = 0x20000000 | 0xC0000000 | 0x249 ERROR_WRONG_INF_TYPE Errno = 0x20000000 | 0xC0000000 | 0x24A ERROR_FILE_HASH_NOT_IN_CATALOG Errno = 0x20000000 | 0xC0000000 | 0x24B ERROR_DRIVER_STORE_DELETE_FAILED Errno = 0x20000000 | 0xC0000000 | 0x24C ERROR_UNRECOVERABLE_STACK_OVERFLOW Errno = 0x20000000 | 0xC0000000 | 0x300 EXCEPTION_SPAPI_UNRECOVERABLE_STACK_OVERFLOW Errno = ERROR_UNRECOVERABLE_STACK_OVERFLOW ERROR_NO_DEFAULT_INTERFACE_DEVICE Errno = ERROR_NO_DEFAULT_DEVICE_INTERFACE ERROR_INTERFACE_DEVICE_ACTIVE Errno = ERROR_DEVICE_INTERFACE_ACTIVE ERROR_INTERFACE_DEVICE_REMOVED Errno = ERROR_DEVICE_INTERFACE_REMOVED ERROR_NO_SUCH_INTERFACE_DEVICE Errno = ERROR_NO_SUCH_DEVICE_INTERFACE ) const ( MAX_DEVICE_ID_LEN = 200 MAX_DEVNODE_ID_LEN = MAX_DEVICE_ID_LEN MAX_GUID_STRING_LEN = 39 // 38 chars + terminator null MAX_CLASS_NAME_LEN = 32 MAX_PROFILE_LEN = 80 MAX_CONFIG_VALUE = 9999 MAX_INSTANCE_VALUE = 9999 CONFIGMG_VERSION = 0x0400 ) // Maximum string length constants const ( LINE_LEN = 256 // Windows 9x-compatible maximum for displayable strings coming from a device INF. MAX_INF_STRING_LENGTH = 4096 // Actual maximum size of an INF string (including string substitutions). MAX_INF_SECTION_NAME_LENGTH = 255 // For Windows 9x compatibility, INF section names should be constrained to 32 characters. MAX_TITLE_LEN = 60 MAX_INSTRUCTION_LEN = 256 MAX_LABEL_LEN = 30 MAX_SERVICE_NAME_LEN = 256 MAX_SUBTITLE_LEN = 256 ) const ( // SP_MAX_MACHINENAME_LENGTH defines maximum length of a machine name in the format expected by ConfigMgr32 CM_Connect_Machine (i.e., "\\\\MachineName\0"). SP_MAX_MACHINENAME_LENGTH = MAX_PATH + 3 ) // HSPFILEQ is type for setup file queue type HSPFILEQ uintptr // DevInfo holds reference to device information set type DevInfo Handle // DEVINST is a handle usually recognized by cfgmgr32 APIs type DEVINST uint32 // DevInfoData is a device information structure (references a device instance that is a member of a device information set) type DevInfoData struct { size uint32 ClassGUID GUID DevInst DEVINST _ uintptr } // DevInfoListDetailData is a structure for detailed information on a device information set (used for SetupDiGetDeviceInfoListDetail which supersedes the functionality of SetupDiGetDeviceInfoListClass). type DevInfoListDetailData struct { size uint32 // Use unsafeSizeOf method ClassGUID GUID RemoteMachineHandle Handle remoteMachineName [SP_MAX_MACHINENAME_LENGTH]uint16 } func (*DevInfoListDetailData) unsafeSizeOf() uint32 { if unsafe.Sizeof(uintptr(0)) == 4 { // Windows declares this with pshpack1.h return uint32(unsafe.Offsetof(DevInfoListDetailData{}.remoteMachineName) + unsafe.Sizeof(DevInfoListDetailData{}.remoteMachineName)) } return uint32(unsafe.Sizeof(DevInfoListDetailData{})) } func (data *DevInfoListDetailData) RemoteMachineName() string { return UTF16ToString(data.remoteMachineName[:]) } func (data *DevInfoListDetailData) SetRemoteMachineName(remoteMachineName string) error { str, err := UTF16FromString(remoteMachineName) if err != nil { return err } copy(data.remoteMachineName[:], str) return nil } // DI_FUNCTION is function type for device installer type DI_FUNCTION uint32 const ( DIF_SELECTDEVICE DI_FUNCTION = 0x00000001 DIF_INSTALLDEVICE DI_FUNCTION = 0x00000002 DIF_ASSIGNRESOURCES DI_FUNCTION = 0x00000003 DIF_PROPERTIES DI_FUNCTION = 0x00000004 DIF_REMOVE DI_FUNCTION = 0x00000005 DIF_FIRSTTIMESETUP DI_FUNCTION = 0x00000006 DIF_FOUNDDEVICE DI_FUNCTION = 0x00000007 DIF_SELECTCLASSDRIVERS DI_FUNCTION = 0x00000008 DIF_VALIDATECLASSDRIVERS DI_FUNCTION = 0x00000009 DIF_INSTALLCLASSDRIVERS DI_FUNCTION = 0x0000000A DIF_CALCDISKSPACE DI_FUNCTION = 0x0000000B DIF_DESTROYPRIVATEDATA DI_FUNCTION = 0x0000000C DIF_VALIDATEDRIVER DI_FUNCTION = 0x0000000D DIF_DETECT DI_FUNCTION = 0x0000000F DIF_INSTALLWIZARD DI_FUNCTION = 0x00000010 DIF_DESTROYWIZARDDATA DI_FUNCTION = 0x00000011 DIF_PROPERTYCHANGE DI_FUNCTION = 0x00000012 DIF_ENABLECLASS DI_FUNCTION = 0x00000013 DIF_DETECTVERIFY DI_FUNCTION = 0x00000014 DIF_INSTALLDEVICEFILES DI_FUNCTION = 0x00000015 DIF_UNREMOVE DI_FUNCTION = 0x00000016 DIF_SELECTBESTCOMPATDRV DI_FUNCTION = 0x00000017 DIF_ALLOW_INSTALL DI_FUNCTION = 0x00000018 DIF_REGISTERDEVICE DI_FUNCTION = 0x00000019 DIF_NEWDEVICEWIZARD_PRESELECT DI_FUNCTION = 0x0000001A DIF_NEWDEVICEWIZARD_SELECT DI_FUNCTION = 0x0000001B DIF_NEWDEVICEWIZARD_PREANALYZE DI_FUNCTION = 0x0000001C DIF_NEWDEVICEWIZARD_POSTANALYZE DI_FUNCTION = 0x0000001D DIF_NEWDEVICEWIZARD_FINISHINSTALL DI_FUNCTION = 0x0000001E DIF_INSTALLINTERFACES DI_FUNCTION = 0x00000020 DIF_DETECTCANCEL DI_FUNCTION = 0x00000021 DIF_REGISTER_COINSTALLERS DI_FUNCTION = 0x00000022 DIF_ADDPROPERTYPAGE_ADVANCED DI_FUNCTION = 0x00000023 DIF_ADDPROPERTYPAGE_BASIC DI_FUNCTION = 0x00000024 DIF_TROUBLESHOOTER DI_FUNCTION = 0x00000026 DIF_POWERMESSAGEWAKE DI_FUNCTION = 0x00000027 DIF_ADDREMOTEPROPERTYPAGE_ADVANCED DI_FUNCTION = 0x00000028 DIF_UPDATEDRIVER_UI DI_FUNCTION = 0x00000029 DIF_FINISHINSTALL_ACTION DI_FUNCTION = 0x0000002A ) // DevInstallParams is device installation parameters structure (associated with a particular device information element, or globally with a device information set) type DevInstallParams struct { size uint32 Flags DI_FLAGS FlagsEx DI_FLAGSEX hwndParent uintptr InstallMsgHandler uintptr InstallMsgHandlerContext uintptr FileQueue HSPFILEQ _ uintptr _ uint32 driverPath [MAX_PATH]uint16 } func (params *DevInstallParams) DriverPath() string { return UTF16ToString(params.driverPath[:]) } func (params *DevInstallParams) SetDriverPath(driverPath string) error { str, err := UTF16FromString(driverPath) if err != nil { return err } copy(params.driverPath[:], str) return nil } // DI_FLAGS is SP_DEVINSTALL_PARAMS.Flags values type DI_FLAGS uint32 const ( // Flags for choosing a device DI_SHOWOEM DI_FLAGS = 0x00000001 // support Other... button DI_SHOWCOMPAT DI_FLAGS = 0x00000002 // show compatibility list DI_SHOWCLASS DI_FLAGS = 0x00000004 // show class list DI_SHOWALL DI_FLAGS = 0x00000007 // both class & compat list shown DI_NOVCP DI_FLAGS = 0x00000008 // don't create a new copy queue--use caller-supplied FileQueue DI_DIDCOMPAT DI_FLAGS = 0x00000010 // Searched for compatible devices DI_DIDCLASS DI_FLAGS = 0x00000020 // Searched for class devices DI_AUTOASSIGNRES DI_FLAGS = 0x00000040 // No UI for resources if possible // Flags returned by DiInstallDevice to indicate need to reboot/restart DI_NEEDRESTART DI_FLAGS = 0x00000080 // Reboot required to take effect DI_NEEDREBOOT DI_FLAGS = 0x00000100 // "" // Flags for device installation DI_NOBROWSE DI_FLAGS = 0x00000200 // no Browse... in InsertDisk // Flags set by DiBuildDriverInfoList DI_MULTMFGS DI_FLAGS = 0x00000400 // Set if multiple manufacturers in class driver list // Flag indicates that device is disabled DI_DISABLED DI_FLAGS = 0x00000800 // Set if device disabled // Flags for Device/Class Properties DI_GENERALPAGE_ADDED DI_FLAGS = 0x00001000 DI_RESOURCEPAGE_ADDED DI_FLAGS = 0x00002000 // Flag to indicate the setting properties for this Device (or class) caused a change so the Dev Mgr UI probably needs to be updated. DI_PROPERTIES_CHANGE DI_FLAGS = 0x00004000 // Flag to indicate that the sorting from the INF file should be used. DI_INF_IS_SORTED DI_FLAGS = 0x00008000 // Flag to indicate that only the INF specified by SP_DEVINSTALL_PARAMS.DriverPath should be searched. DI_ENUMSINGLEINF DI_FLAGS = 0x00010000 // Flag that prevents ConfigMgr from removing/re-enumerating devices during device // registration, installation, and deletion. DI_DONOTCALLCONFIGMG DI_FLAGS = 0x00020000 // The following flag can be used to install a device disabled DI_INSTALLDISABLED DI_FLAGS = 0x00040000 // Flag that causes SetupDiBuildDriverInfoList to build a device's compatible driver // list from its existing class driver list, instead of the normal INF search. DI_COMPAT_FROM_CLASS DI_FLAGS = 0x00080000 // This flag is set if the Class Install params should be used. DI_CLASSINSTALLPARAMS DI_FLAGS = 0x00100000 // This flag is set if the caller of DiCallClassInstaller does NOT want the internal default action performed if the Class installer returns ERROR_DI_DO_DEFAULT. DI_NODI_DEFAULTACTION DI_FLAGS = 0x00200000 // Flags for device installation DI_QUIETINSTALL DI_FLAGS = 0x00800000 // don't confuse the user with questions or excess info DI_NOFILECOPY DI_FLAGS = 0x01000000 // No file Copy necessary DI_FORCECOPY DI_FLAGS = 0x02000000 // Force files to be copied from install path DI_DRIVERPAGE_ADDED DI_FLAGS = 0x04000000 // Prop provider added Driver page. DI_USECI_SELECTSTRINGS DI_FLAGS = 0x08000000 // Use Class Installer Provided strings in the Select Device Dlg DI_OVERRIDE_INFFLAGS DI_FLAGS = 0x10000000 // Override INF flags DI_PROPS_NOCHANGEUSAGE DI_FLAGS = 0x20000000 // No Enable/Disable in General Props DI_NOSELECTICONS DI_FLAGS = 0x40000000 // No small icons in select device dialogs DI_NOWRITE_IDS DI_FLAGS = 0x80000000 // Don't write HW & Compat IDs on install ) // DI_FLAGSEX is SP_DEVINSTALL_PARAMS.FlagsEx values type DI_FLAGSEX uint32 const ( DI_FLAGSEX_CI_FAILED DI_FLAGSEX = 0x00000004 // Failed to Load/Call class installer DI_FLAGSEX_FINISHINSTALL_ACTION DI_FLAGSEX = 0x00000008 // Class/co-installer wants to get a DIF_FINISH_INSTALL action in client context. DI_FLAGSEX_DIDINFOLIST DI_FLAGSEX = 0x00000010 // Did the Class Info List DI_FLAGSEX_DIDCOMPATINFO DI_FLAGSEX = 0x00000020 // Did the Compat Info List DI_FLAGSEX_FILTERCLASSES DI_FLAGSEX = 0x00000040 DI_FLAGSEX_SETFAILEDINSTALL DI_FLAGSEX = 0x00000080 DI_FLAGSEX_DEVICECHANGE DI_FLAGSEX = 0x00000100 DI_FLAGSEX_ALWAYSWRITEIDS DI_FLAGSEX = 0x00000200 DI_FLAGSEX_PROPCHANGE_PENDING DI_FLAGSEX = 0x00000400 // One or more device property sheets have had changes made to them, and need to have a DIF_PROPERTYCHANGE occur. DI_FLAGSEX_ALLOWEXCLUDEDDRVS DI_FLAGSEX = 0x00000800 DI_FLAGSEX_NOUIONQUERYREMOVE DI_FLAGSEX = 0x00001000 DI_FLAGSEX_USECLASSFORCOMPAT DI_FLAGSEX = 0x00002000 // Use the device's class when building compat drv list. (Ignored if DI_COMPAT_FROM_CLASS flag is specified.) DI_FLAGSEX_NO_DRVREG_MODIFY DI_FLAGSEX = 0x00008000 // Don't run AddReg and DelReg for device's software (driver) key. DI_FLAGSEX_IN_SYSTEM_SETUP DI_FLAGSEX = 0x00010000 // Installation is occurring during initial system setup. DI_FLAGSEX_INET_DRIVER DI_FLAGSEX = 0x00020000 // Driver came from Windows Update DI_FLAGSEX_APPENDDRIVERLIST DI_FLAGSEX = 0x00040000 // Cause SetupDiBuildDriverInfoList to append a new driver list to an existing list. DI_FLAGSEX_PREINSTALLBACKUP DI_FLAGSEX = 0x00080000 // not used DI_FLAGSEX_BACKUPONREPLACE DI_FLAGSEX = 0x00100000 // not used DI_FLAGSEX_DRIVERLIST_FROM_URL DI_FLAGSEX = 0x00200000 // build driver list from INF(s) retrieved from URL specified in SP_DEVINSTALL_PARAMS.DriverPath (empty string means Windows Update website) DI_FLAGSEX_EXCLUDE_OLD_INET_DRIVERS DI_FLAGSEX = 0x00800000 // Don't include old Internet drivers when building a driver list. Ignored on Windows Vista and later. DI_FLAGSEX_POWERPAGE_ADDED DI_FLAGSEX = 0x01000000 // class installer added their own power page DI_FLAGSEX_FILTERSIMILARDRIVERS DI_FLAGSEX = 0x02000000 // only include similar drivers in class list DI_FLAGSEX_INSTALLEDDRIVER DI_FLAGSEX = 0x04000000 // only add the installed driver to the class or compat driver list. Used in calls to SetupDiBuildDriverInfoList DI_FLAGSEX_NO_CLASSLIST_NODE_MERGE DI_FLAGSEX = 0x08000000 // Don't remove identical driver nodes from the class list DI_FLAGSEX_ALTPLATFORM_DRVSEARCH DI_FLAGSEX = 0x10000000 // Build driver list based on alternate platform information specified in associated file queue DI_FLAGSEX_RESTART_DEVICE_ONLY DI_FLAGSEX = 0x20000000 // only restart the device drivers are being installed on as opposed to restarting all devices using those drivers. DI_FLAGSEX_RECURSIVESEARCH DI_FLAGSEX = 0x40000000 // Tell SetupDiBuildDriverInfoList to do a recursive search DI_FLAGSEX_SEARCH_PUBLISHED_INFS DI_FLAGSEX = 0x80000000 // Tell SetupDiBuildDriverInfoList to do a "published INF" search ) // ClassInstallHeader is the first member of any class install parameters structure. It contains the device installation request code that defines the format of the rest of the install parameters structure. type ClassInstallHeader struct { size uint32 InstallFunction DI_FUNCTION } func MakeClassInstallHeader(installFunction DI_FUNCTION) *ClassInstallHeader { hdr := &ClassInstallHeader{InstallFunction: installFunction} hdr.size = uint32(unsafe.Sizeof(*hdr)) return hdr } // DICS_STATE specifies values indicating a change in a device's state type DICS_STATE uint32 const ( DICS_ENABLE DICS_STATE = 0x00000001 // The device is being enabled. DICS_DISABLE DICS_STATE = 0x00000002 // The device is being disabled. DICS_PROPCHANGE DICS_STATE = 0x00000003 // The properties of the device have changed. DICS_START DICS_STATE = 0x00000004 // The device is being started (if the request is for the currently active hardware profile). DICS_STOP DICS_STATE = 0x00000005 // The device is being stopped. The driver stack will be unloaded and the CSCONFIGFLAG_DO_NOT_START flag will be set for the device. ) // DICS_FLAG specifies the scope of a device property change type DICS_FLAG uint32 const ( DICS_FLAG_GLOBAL DICS_FLAG = 0x00000001 // make change in all hardware profiles DICS_FLAG_CONFIGSPECIFIC DICS_FLAG = 0x00000002 // make change in specified profile only DICS_FLAG_CONFIGGENERAL DICS_FLAG = 0x00000004 // 1 or more hardware profile-specific changes to follow (obsolete) ) // PropChangeParams is a structure corresponding to a DIF_PROPERTYCHANGE install function. type PropChangeParams struct { ClassInstallHeader ClassInstallHeader StateChange DICS_STATE Scope DICS_FLAG HwProfile uint32 } // DI_REMOVEDEVICE specifies the scope of the device removal type DI_REMOVEDEVICE uint32 const ( DI_REMOVEDEVICE_GLOBAL DI_REMOVEDEVICE = 0x00000001 // Make this change in all hardware profiles. Remove information about the device from the registry. DI_REMOVEDEVICE_CONFIGSPECIFIC DI_REMOVEDEVICE = 0x00000002 // Make this change to only the hardware profile specified by HwProfile. this flag only applies to root-enumerated devices. When Windows removes the device from the last hardware profile in which it was configured, Windows performs a global removal. ) // RemoveDeviceParams is a structure corresponding to a DIF_REMOVE install function. type RemoveDeviceParams struct { ClassInstallHeader ClassInstallHeader Scope DI_REMOVEDEVICE HwProfile uint32 } // DrvInfoData is driver information structure (member of a driver info list that may be associated with a particular device instance, or (globally) with a device information set) type DrvInfoData struct { size uint32 DriverType uint32 _ uintptr description [LINE_LEN]uint16 mfgName [LINE_LEN]uint16 providerName [LINE_LEN]uint16 DriverDate Filetime DriverVersion uint64 } func (data *DrvInfoData) Description() string { return UTF16ToString(data.description[:]) } func (data *DrvInfoData) SetDescription(description string) error { str, err := UTF16FromString(description) if err != nil { return err } copy(data.description[:], str) return nil } func (data *DrvInfoData) MfgName() string { return UTF16ToString(data.mfgName[:]) } func (data *DrvInfoData) SetMfgName(mfgName string) error { str, err := UTF16FromString(mfgName) if err != nil { return err } copy(data.mfgName[:], str) return nil } func (data *DrvInfoData) ProviderName() string { return UTF16ToString(data.providerName[:]) } func (data *DrvInfoData) SetProviderName(providerName string) error { str, err := UTF16FromString(providerName) if err != nil { return err } copy(data.providerName[:], str) return nil } // IsNewer method returns true if DrvInfoData date and version is newer than supplied parameters. func (data *DrvInfoData) IsNewer(driverDate Filetime, driverVersion uint64) bool { if data.DriverDate.HighDateTime > driverDate.HighDateTime { return true } if data.DriverDate.HighDateTime < driverDate.HighDateTime { return false } if data.DriverDate.LowDateTime > driverDate.LowDateTime { return true } if data.DriverDate.LowDateTime < driverDate.LowDateTime { return false } if data.DriverVersion > driverVersion { return true } if data.DriverVersion < driverVersion { return false } return false } // DrvInfoDetailData is driver information details structure (provides detailed information about a particular driver information structure) type DrvInfoDetailData struct { size uint32 // Use unsafeSizeOf method InfDate Filetime compatIDsOffset uint32 compatIDsLength uint32 _ uintptr sectionName [LINE_LEN]uint16 infFileName [MAX_PATH]uint16 drvDescription [LINE_LEN]uint16 hardwareID [1]uint16 } func (*DrvInfoDetailData) unsafeSizeOf() uint32 { if unsafe.Sizeof(uintptr(0)) == 4 { // Windows declares this with pshpack1.h return uint32(unsafe.Offsetof(DrvInfoDetailData{}.hardwareID) + unsafe.Sizeof(DrvInfoDetailData{}.hardwareID)) } return uint32(unsafe.Sizeof(DrvInfoDetailData{})) } func (data *DrvInfoDetailData) SectionName() string { return UTF16ToString(data.sectionName[:]) } func (data *DrvInfoDetailData) InfFileName() string { return UTF16ToString(data.infFileName[:]) } func (data *DrvInfoDetailData) DrvDescription() string { return UTF16ToString(data.drvDescription[:]) } func (data *DrvInfoDetailData) HardwareID() string { if data.compatIDsOffset > 1 { bufW := data.getBuf() return UTF16ToString(bufW[:wcslen(bufW)]) } return "" } func (data *DrvInfoDetailData) CompatIDs() []string { a := make([]string, 0) if data.compatIDsLength > 0 { bufW := data.getBuf() bufW = bufW[data.compatIDsOffset : data.compatIDsOffset+data.compatIDsLength] for i := 0; i < len(bufW); { j := i + wcslen(bufW[i:]) if i < j { a = append(a, UTF16ToString(bufW[i:j])) } i = j + 1 } } return a } func (data *DrvInfoDetailData) getBuf() []uint16 { len := (data.size - uint32(unsafe.Offsetof(data.hardwareID))) / 2 sl := struct { addr *uint16 len int cap int }{&data.hardwareID[0], int(len), int(len)} return *(*[]uint16)(unsafe.Pointer(&sl)) } // IsCompatible method tests if given hardware ID matches the driver or is listed on the compatible ID list. func (data *DrvInfoDetailData) IsCompatible(hwid string) bool { hwidLC := strings.ToLower(hwid) if strings.ToLower(data.HardwareID()) == hwidLC { return true } a := data.CompatIDs() for i := range a { if strings.ToLower(a[i]) == hwidLC { return true } } return false } // DICD flags control SetupDiCreateDeviceInfo type DICD uint32 const ( DICD_GENERATE_ID DICD = 0x00000001 DICD_INHERIT_CLASSDRVS DICD = 0x00000002 ) // SUOI flags control SetupUninstallOEMInf type SUOI uint32 const ( SUOI_FORCEDELETE SUOI = 0x0001 ) // SPDIT flags to distinguish between class drivers and // device drivers. (Passed in 'DriverType' parameter of // driver information list APIs) type SPDIT uint32 const ( SPDIT_NODRIVER SPDIT = 0x00000000 SPDIT_CLASSDRIVER SPDIT = 0x00000001 SPDIT_COMPATDRIVER SPDIT = 0x00000002 ) // DIGCF flags control what is included in the device information set built by SetupDiGetClassDevs type DIGCF uint32 const ( DIGCF_DEFAULT DIGCF = 0x00000001 // only valid with DIGCF_DEVICEINTERFACE DIGCF_PRESENT DIGCF = 0x00000002 DIGCF_ALLCLASSES DIGCF = 0x00000004 DIGCF_PROFILE DIGCF = 0x00000008 DIGCF_DEVICEINTERFACE DIGCF = 0x00000010 ) // DIREG specifies values for SetupDiCreateDevRegKey, SetupDiOpenDevRegKey, and SetupDiDeleteDevRegKey. type DIREG uint32 const ( DIREG_DEV DIREG = 0x00000001 // Open/Create/Delete device key DIREG_DRV DIREG = 0x00000002 // Open/Create/Delete driver key DIREG_BOTH DIREG = 0x00000004 // Delete both driver and Device key ) // SPDRP specifies device registry property codes // (Codes marked as read-only (R) may only be used for // SetupDiGetDeviceRegistryProperty) // // These values should cover the same set of registry properties // as defined by the CM_DRP codes in cfgmgr32.h. // // Note that SPDRP codes are zero based while CM_DRP codes are one based! type SPDRP uint32 const ( SPDRP_DEVICEDESC SPDRP = 0x00000000 // DeviceDesc (R/W) SPDRP_HARDWAREID SPDRP = 0x00000001 // HardwareID (R/W) SPDRP_COMPATIBLEIDS SPDRP = 0x00000002 // CompatibleIDs (R/W) SPDRP_SERVICE SPDRP = 0x00000004 // Service (R/W) SPDRP_CLASS SPDRP = 0x00000007 // Class (R--tied to ClassGUID) SPDRP_CLASSGUID SPDRP = 0x00000008 // ClassGUID (R/W) SPDRP_DRIVER SPDRP = 0x00000009 // Driver (R/W) SPDRP_CONFIGFLAGS SPDRP = 0x0000000A // ConfigFlags (R/W) SPDRP_MFG SPDRP = 0x0000000B // Mfg (R/W) SPDRP_FRIENDLYNAME SPDRP = 0x0000000C // FriendlyName (R/W) SPDRP_LOCATION_INFORMATION SPDRP = 0x0000000D // LocationInformation (R/W) SPDRP_PHYSICAL_DEVICE_OBJECT_NAME SPDRP = 0x0000000E // PhysicalDeviceObjectName (R) SPDRP_CAPABILITIES SPDRP = 0x0000000F // Capabilities (R) SPDRP_UI_NUMBER SPDRP = 0x00000010 // UiNumber (R) SPDRP_UPPERFILTERS SPDRP = 0x00000011 // UpperFilters (R/W) SPDRP_LOWERFILTERS SPDRP = 0x00000012 // LowerFilters (R/W) SPDRP_BUSTYPEGUID SPDRP = 0x00000013 // BusTypeGUID (R) SPDRP_LEGACYBUSTYPE SPDRP = 0x00000014 // LegacyBusType (R) SPDRP_BUSNUMBER SPDRP = 0x00000015 // BusNumber (R) SPDRP_ENUMERATOR_NAME SPDRP = 0x00000016 // Enumerator Name (R) SPDRP_SECURITY SPDRP = 0x00000017 // Security (R/W, binary form) SPDRP_SECURITY_SDS SPDRP = 0x00000018 // Security (W, SDS form) SPDRP_DEVTYPE SPDRP = 0x00000019 // Device Type (R/W) SPDRP_EXCLUSIVE SPDRP = 0x0000001A // Device is exclusive-access (R/W) SPDRP_CHARACTERISTICS SPDRP = 0x0000001B // Device Characteristics (R/W) SPDRP_ADDRESS SPDRP = 0x0000001C // Device Address (R) SPDRP_UI_NUMBER_DESC_FORMAT SPDRP = 0x0000001D // UiNumberDescFormat (R/W) SPDRP_DEVICE_POWER_DATA SPDRP = 0x0000001E // Device Power Data (R) SPDRP_REMOVAL_POLICY SPDRP = 0x0000001F // Removal Policy (R) SPDRP_REMOVAL_POLICY_HW_DEFAULT SPDRP = 0x00000020 // Hardware Removal Policy (R) SPDRP_REMOVAL_POLICY_OVERRIDE SPDRP = 0x00000021 // Removal Policy Override (RW) SPDRP_INSTALL_STATE SPDRP = 0x00000022 // Device Install State (R) SPDRP_LOCATION_PATHS SPDRP = 0x00000023 // Device Location Paths (R) SPDRP_BASE_CONTAINERID SPDRP = 0x00000024 // Base ContainerID (R) SPDRP_MAXIMUM_PROPERTY SPDRP = 0x00000025 // Upper bound on ordinals ) // DEVPROPTYPE represents the property-data-type identifier that specifies the // data type of a device property value in the unified device property model. type DEVPROPTYPE uint32 const ( DEVPROP_TYPEMOD_ARRAY DEVPROPTYPE = 0x00001000 DEVPROP_TYPEMOD_LIST DEVPROPTYPE = 0x00002000 DEVPROP_TYPE_EMPTY DEVPROPTYPE = 0x00000000 DEVPROP_TYPE_NULL DEVPROPTYPE = 0x00000001 DEVPROP_TYPE_SBYTE DEVPROPTYPE = 0x00000002 DEVPROP_TYPE_BYTE DEVPROPTYPE = 0x00000003 DEVPROP_TYPE_INT16 DEVPROPTYPE = 0x00000004 DEVPROP_TYPE_UINT16 DEVPROPTYPE = 0x00000005 DEVPROP_TYPE_INT32 DEVPROPTYPE = 0x00000006 DEVPROP_TYPE_UINT32 DEVPROPTYPE = 0x00000007 DEVPROP_TYPE_INT64 DEVPROPTYPE = 0x00000008 DEVPROP_TYPE_UINT64 DEVPROPTYPE = 0x00000009 DEVPROP_TYPE_FLOAT DEVPROPTYPE = 0x0000000A DEVPROP_TYPE_DOUBLE DEVPROPTYPE = 0x0000000B DEVPROP_TYPE_DECIMAL DEVPROPTYPE = 0x0000000C DEVPROP_TYPE_GUID DEVPROPTYPE = 0x0000000D DEVPROP_TYPE_CURRENCY DEVPROPTYPE = 0x0000000E DEVPROP_TYPE_DATE DEVPROPTYPE = 0x0000000F DEVPROP_TYPE_FILETIME DEVPROPTYPE = 0x00000010 DEVPROP_TYPE_BOOLEAN DEVPROPTYPE = 0x00000011 DEVPROP_TYPE_STRING DEVPROPTYPE = 0x00000012 DEVPROP_TYPE_STRING_LIST DEVPROPTYPE = DEVPROP_TYPE_STRING | DEVPROP_TYPEMOD_LIST DEVPROP_TYPE_SECURITY_DESCRIPTOR DEVPROPTYPE = 0x00000013 DEVPROP_TYPE_SECURITY_DESCRIPTOR_STRING DEVPROPTYPE = 0x00000014 DEVPROP_TYPE_DEVPROPKEY DEVPROPTYPE = 0x00000015 DEVPROP_TYPE_DEVPROPTYPE DEVPROPTYPE = 0x00000016 DEVPROP_TYPE_BINARY DEVPROPTYPE = DEVPROP_TYPE_BYTE | DEVPROP_TYPEMOD_ARRAY DEVPROP_TYPE_ERROR DEVPROPTYPE = 0x00000017 DEVPROP_TYPE_NTSTATUS DEVPROPTYPE = 0x00000018 DEVPROP_TYPE_STRING_INDIRECT DEVPROPTYPE = 0x00000019 MAX_DEVPROP_TYPE DEVPROPTYPE = 0x00000019 MAX_DEVPROP_TYPEMOD DEVPROPTYPE = 0x00002000 DEVPROP_MASK_TYPE DEVPROPTYPE = 0x00000FFF DEVPROP_MASK_TYPEMOD DEVPROPTYPE = 0x0000F000 ) // DEVPROPGUID specifies a property category. type DEVPROPGUID GUID // DEVPROPID uniquely identifies the property within the property category. type DEVPROPID uint32 const DEVPROPID_FIRST_USABLE DEVPROPID = 2 // DEVPROPKEY represents a device property key for a device property in the // unified device property model. type DEVPROPKEY struct { FmtID DEVPROPGUID PID DEVPROPID } // CONFIGRET is a return value or error code from cfgmgr32 APIs type CONFIGRET uint32 func (ret CONFIGRET) Error() string { if win32Error, ok := ret.Unwrap().(Errno); ok { return fmt.Sprintf("%s (CfgMgr error: 0x%08x)", win32Error.Error(), uint32(ret)) } return fmt.Sprintf("CfgMgr error: 0x%08x", uint32(ret)) } func (ret CONFIGRET) Win32Error(defaultError Errno) Errno { return cm_MapCrToWin32Err(ret, defaultError) } func (ret CONFIGRET) Unwrap() error { const noMatch = Errno(^uintptr(0)) win32Error := ret.Win32Error(noMatch) if win32Error == noMatch { return nil } return win32Error } const ( CR_SUCCESS CONFIGRET = 0x00000000 CR_DEFAULT CONFIGRET = 0x00000001 CR_OUT_OF_MEMORY CONFIGRET = 0x00000002 CR_INVALID_POINTER CONFIGRET = 0x00000003 CR_INVALID_FLAG CONFIGRET = 0x00000004 CR_INVALID_DEVNODE CONFIGRET = 0x00000005 CR_INVALID_DEVINST = CR_INVALID_DEVNODE CR_INVALID_RES_DES CONFIGRET = 0x00000006 CR_INVALID_LOG_CONF CONFIGRET = 0x00000007 CR_INVALID_ARBITRATOR CONFIGRET = 0x00000008 CR_INVALID_NODELIST CONFIGRET = 0x00000009 CR_DEVNODE_HAS_REQS CONFIGRET = 0x0000000A CR_DEVINST_HAS_REQS = CR_DEVNODE_HAS_REQS CR_INVALID_RESOURCEID CONFIGRET = 0x0000000B CR_DLVXD_NOT_FOUND CONFIGRET = 0x0000000C CR_NO_SUCH_DEVNODE CONFIGRET = 0x0000000D CR_NO_SUCH_DEVINST = CR_NO_SUCH_DEVNODE CR_NO_MORE_LOG_CONF CONFIGRET = 0x0000000E CR_NO_MORE_RES_DES CONFIGRET = 0x0000000F CR_ALREADY_SUCH_DEVNODE CONFIGRET = 0x00000010 CR_ALREADY_SUCH_DEVINST = CR_ALREADY_SUCH_DEVNODE CR_INVALID_RANGE_LIST CONFIGRET = 0x00000011 CR_INVALID_RANGE CONFIGRET = 0x00000012 CR_FAILURE CONFIGRET = 0x00000013 CR_NO_SUCH_LOGICAL_DEV CONFIGRET = 0x00000014 CR_CREATE_BLOCKED CONFIGRET = 0x00000015 CR_NOT_SYSTEM_VM CONFIGRET = 0x00000016 CR_REMOVE_VETOED CONFIGRET = 0x00000017 CR_APM_VETOED CONFIGRET = 0x00000018 CR_INVALID_LOAD_TYPE CONFIGRET = 0x00000019 CR_BUFFER_SMALL CONFIGRET = 0x0000001A CR_NO_ARBITRATOR CONFIGRET = 0x0000001B CR_NO_REGISTRY_HANDLE CONFIGRET = 0x0000001C CR_REGISTRY_ERROR CONFIGRET = 0x0000001D CR_INVALID_DEVICE_ID CONFIGRET = 0x0000001E CR_INVALID_DATA CONFIGRET = 0x0000001F CR_INVALID_API CONFIGRET = 0x00000020 CR_DEVLOADER_NOT_READY CONFIGRET = 0x00000021 CR_NEED_RESTART CONFIGRET = 0x00000022 CR_NO_MORE_HW_PROFILES CONFIGRET = 0x00000023 CR_DEVICE_NOT_THERE CONFIGRET = 0x00000024 CR_NO_SUCH_VALUE CONFIGRET = 0x00000025 CR_WRONG_TYPE CONFIGRET = 0x00000026 CR_INVALID_PRIORITY CONFIGRET = 0x00000027 CR_NOT_DISABLEABLE CONFIGRET = 0x00000028 CR_FREE_RESOURCES CONFIGRET = 0x00000029 CR_QUERY_VETOED CONFIGRET = 0x0000002A CR_CANT_SHARE_IRQ CONFIGRET = 0x0000002B CR_NO_DEPENDENT CONFIGRET = 0x0000002C CR_SAME_RESOURCES CONFIGRET = 0x0000002D CR_NO_SUCH_REGISTRY_KEY CONFIGRET = 0x0000002E CR_INVALID_MACHINENAME CONFIGRET = 0x0000002F CR_REMOTE_COMM_FAILURE CONFIGRET = 0x00000030 CR_MACHINE_UNAVAILABLE CONFIGRET = 0x00000031 CR_NO_CM_SERVICES CONFIGRET = 0x00000032 CR_ACCESS_DENIED CONFIGRET = 0x00000033 CR_CALL_NOT_IMPLEMENTED CONFIGRET = 0x00000034 CR_INVALID_PROPERTY CONFIGRET = 0x00000035 CR_DEVICE_INTERFACE_ACTIVE CONFIGRET = 0x00000036 CR_NO_SUCH_DEVICE_INTERFACE CONFIGRET = 0x00000037 CR_INVALID_REFERENCE_STRING CONFIGRET = 0x00000038 CR_INVALID_CONFLICT_LIST CONFIGRET = 0x00000039 CR_INVALID_INDEX CONFIGRET = 0x0000003A CR_INVALID_STRUCTURE_SIZE CONFIGRET = 0x0000003B NUM_CR_RESULTS CONFIGRET = 0x0000003C ) const ( CM_GET_DEVICE_INTERFACE_LIST_PRESENT = 0 // only currently 'live' device interfaces CM_GET_DEVICE_INTERFACE_LIST_ALL_DEVICES = 1 // all registered device interfaces, live or not ) const ( DN_ROOT_ENUMERATED = 0x00000001 // Was enumerated by ROOT DN_DRIVER_LOADED = 0x00000002 // Has Register_Device_Driver DN_ENUM_LOADED = 0x00000004 // Has Register_Enumerator DN_STARTED = 0x00000008 // Is currently configured DN_MANUAL = 0x00000010 // Manually installed DN_NEED_TO_ENUM = 0x00000020 // May need reenumeration DN_NOT_FIRST_TIME = 0x00000040 // Has received a config DN_HARDWARE_ENUM = 0x00000080 // Enum generates hardware ID DN_LIAR = 0x00000100 // Lied about can reconfig once DN_HAS_MARK = 0x00000200 // Not CM_Create_DevInst lately DN_HAS_PROBLEM = 0x00000400 // Need device installer DN_FILTERED = 0x00000800 // Is filtered DN_MOVED = 0x00001000 // Has been moved DN_DISABLEABLE = 0x00002000 // Can be disabled DN_REMOVABLE = 0x00004000 // Can be removed DN_PRIVATE_PROBLEM = 0x00008000 // Has a private problem DN_MF_PARENT = 0x00010000 // Multi function parent DN_MF_CHILD = 0x00020000 // Multi function child DN_WILL_BE_REMOVED = 0x00040000 // DevInst is being removed DN_NOT_FIRST_TIMEE = 0x00080000 // Has received a config enumerate DN_STOP_FREE_RES = 0x00100000 // When child is stopped, free resources DN_REBAL_CANDIDATE = 0x00200000 // Don't skip during rebalance DN_BAD_PARTIAL = 0x00400000 // This devnode's log_confs do not have same resources DN_NT_ENUMERATOR = 0x00800000 // This devnode's is an NT enumerator DN_NT_DRIVER = 0x01000000 // This devnode's is an NT driver DN_NEEDS_LOCKING = 0x02000000 // Devnode need lock resume processing DN_ARM_WAKEUP = 0x04000000 // Devnode can be the wakeup device DN_APM_ENUMERATOR = 0x08000000 // APM aware enumerator DN_APM_DRIVER = 0x10000000 // APM aware driver DN_SILENT_INSTALL = 0x20000000 // Silent install DN_NO_SHOW_IN_DM = 0x40000000 // No show in device manager DN_BOOT_LOG_PROB = 0x80000000 // Had a problem during preassignment of boot log conf DN_NEED_RESTART = DN_LIAR // System needs to be restarted for this Devnode to work properly DN_DRIVER_BLOCKED = DN_NOT_FIRST_TIME // One or more drivers are blocked from loading for this Devnode DN_LEGACY_DRIVER = DN_MOVED // This device is using a legacy driver DN_CHILD_WITH_INVALID_ID = DN_HAS_MARK // One or more children have invalid IDs DN_DEVICE_DISCONNECTED = DN_NEEDS_LOCKING // The function driver for a device reported that the device is not connected. Typically this means a wireless device is out of range. DN_QUERY_REMOVE_PENDING = DN_MF_PARENT // Device is part of a set of related devices collectively pending query-removal DN_QUERY_REMOVE_ACTIVE = DN_MF_CHILD // Device is actively engaged in a query-remove IRP DN_CHANGEABLE_FLAGS = DN_NOT_FIRST_TIME | DN_HARDWARE_ENUM | DN_HAS_MARK | DN_DISABLEABLE | DN_REMOVABLE | DN_MF_CHILD | DN_MF_PARENT | DN_NOT_FIRST_TIMEE | DN_STOP_FREE_RES | DN_REBAL_CANDIDATE | DN_NT_ENUMERATOR | DN_NT_DRIVER | DN_SILENT_INSTALL | DN_NO_SHOW_IN_DM ) //sys setupDiCreateDeviceInfoListEx(classGUID *GUID, hwndParent uintptr, machineName *uint16, reserved uintptr) (handle DevInfo, err error) [failretval==DevInfo(InvalidHandle)] = setupapi.SetupDiCreateDeviceInfoListExW // SetupDiCreateDeviceInfoListEx function creates an empty device information set on a remote or a local computer and optionally associates the set with a device setup class. func SetupDiCreateDeviceInfoListEx(classGUID *GUID, hwndParent uintptr, machineName string) (deviceInfoSet DevInfo, err error) { var machineNameUTF16 *uint16 if machineName != "" { machineNameUTF16, err = UTF16PtrFromString(machineName) if err != nil { return } } return setupDiCreateDeviceInfoListEx(classGUID, hwndParent, machineNameUTF16, 0) } //sys setupDiGetDeviceInfoListDetail(deviceInfoSet DevInfo, deviceInfoSetDetailData *DevInfoListDetailData) (err error) = setupapi.SetupDiGetDeviceInfoListDetailW // SetupDiGetDeviceInfoListDetail function retrieves information associated with a device information set including the class GUID, remote computer handle, and remote computer name. func SetupDiGetDeviceInfoListDetail(deviceInfoSet DevInfo) (deviceInfoSetDetailData *DevInfoListDetailData, err error) { data := &DevInfoListDetailData{} data.size = data.unsafeSizeOf() return data, setupDiGetDeviceInfoListDetail(deviceInfoSet, data) } // DeviceInfoListDetail method retrieves information associated with a device information set including the class GUID, remote computer handle, and remote computer name. func (deviceInfoSet DevInfo) DeviceInfoListDetail() (*DevInfoListDetailData, error) { return SetupDiGetDeviceInfoListDetail(deviceInfoSet) } //sys setupDiCreateDeviceInfo(deviceInfoSet DevInfo, DeviceName *uint16, classGUID *GUID, DeviceDescription *uint16, hwndParent uintptr, CreationFlags DICD, deviceInfoData *DevInfoData) (err error) = setupapi.SetupDiCreateDeviceInfoW // SetupDiCreateDeviceInfo function creates a new device information element and adds it as a new member to the specified device information set. func SetupDiCreateDeviceInfo(deviceInfoSet DevInfo, deviceName string, classGUID *GUID, deviceDescription string, hwndParent uintptr, creationFlags DICD) (deviceInfoData *DevInfoData, err error) { deviceNameUTF16, err := UTF16PtrFromString(deviceName) if err != nil { return } var deviceDescriptionUTF16 *uint16 if deviceDescription != "" { deviceDescriptionUTF16, err = UTF16PtrFromString(deviceDescription) if err != nil { return } } data := &DevInfoData{} data.size = uint32(unsafe.Sizeof(*data)) return data, setupDiCreateDeviceInfo(deviceInfoSet, deviceNameUTF16, classGUID, deviceDescriptionUTF16, hwndParent, creationFlags, data) } // CreateDeviceInfo method creates a new device information element and adds it as a new member to the specified device information set. func (deviceInfoSet DevInfo) CreateDeviceInfo(deviceName string, classGUID *GUID, deviceDescription string, hwndParent uintptr, creationFlags DICD) (*DevInfoData, error) { return SetupDiCreateDeviceInfo(deviceInfoSet, deviceName, classGUID, deviceDescription, hwndParent, creationFlags) } //sys setupDiEnumDeviceInfo(deviceInfoSet DevInfo, memberIndex uint32, deviceInfoData *DevInfoData) (err error) = setupapi.SetupDiEnumDeviceInfo // SetupDiEnumDeviceInfo function returns a DevInfoData structure that specifies a device information element in a device information set. func SetupDiEnumDeviceInfo(deviceInfoSet DevInfo, memberIndex int) (*DevInfoData, error) { data := &DevInfoData{} data.size = uint32(unsafe.Sizeof(*data)) return data, setupDiEnumDeviceInfo(deviceInfoSet, uint32(memberIndex), data) } // EnumDeviceInfo method returns a DevInfoData structure that specifies a device information element in a device information set. func (deviceInfoSet DevInfo) EnumDeviceInfo(memberIndex int) (*DevInfoData, error) { return SetupDiEnumDeviceInfo(deviceInfoSet, memberIndex) } // SetupDiDestroyDeviceInfoList function deletes a device information set and frees all associated memory. //sys SetupDiDestroyDeviceInfoList(deviceInfoSet DevInfo) (err error) = setupapi.SetupDiDestroyDeviceInfoList // Close method deletes a device information set and frees all associated memory. func (deviceInfoSet DevInfo) Close() error { return SetupDiDestroyDeviceInfoList(deviceInfoSet) } //sys SetupDiBuildDriverInfoList(deviceInfoSet DevInfo, deviceInfoData *DevInfoData, driverType SPDIT) (err error) = setupapi.SetupDiBuildDriverInfoList // BuildDriverInfoList method builds a list of drivers that is associated with a specific device or with the global class driver list for a device information set. func (deviceInfoSet DevInfo) BuildDriverInfoList(deviceInfoData *DevInfoData, driverType SPDIT) error { return SetupDiBuildDriverInfoList(deviceInfoSet, deviceInfoData, driverType) } //sys SetupDiCancelDriverInfoSearch(deviceInfoSet DevInfo) (err error) = setupapi.SetupDiCancelDriverInfoSearch // CancelDriverInfoSearch method cancels a driver list search that is currently in progress in a different thread. func (deviceInfoSet DevInfo) CancelDriverInfoSearch() error { return SetupDiCancelDriverInfoSearch(deviceInfoSet) } //sys setupDiEnumDriverInfo(deviceInfoSet DevInfo, deviceInfoData *DevInfoData, driverType SPDIT, memberIndex uint32, driverInfoData *DrvInfoData) (err error) = setupapi.SetupDiEnumDriverInfoW // SetupDiEnumDriverInfo function enumerates the members of a driver list. func SetupDiEnumDriverInfo(deviceInfoSet DevInfo, deviceInfoData *DevInfoData, driverType SPDIT, memberIndex int) (*DrvInfoData, error) { data := &DrvInfoData{} data.size = uint32(unsafe.Sizeof(*data)) return data, setupDiEnumDriverInfo(deviceInfoSet, deviceInfoData, driverType, uint32(memberIndex), data) } // EnumDriverInfo method enumerates the members of a driver list. func (deviceInfoSet DevInfo) EnumDriverInfo(deviceInfoData *DevInfoData, driverType SPDIT, memberIndex int) (*DrvInfoData, error) { return SetupDiEnumDriverInfo(deviceInfoSet, deviceInfoData, driverType, memberIndex) } //sys setupDiGetSelectedDriver(deviceInfoSet DevInfo, deviceInfoData *DevInfoData, driverInfoData *DrvInfoData) (err error) = setupapi.SetupDiGetSelectedDriverW // SetupDiGetSelectedDriver function retrieves the selected driver for a device information set or a particular device information element. func SetupDiGetSelectedDriver(deviceInfoSet DevInfo, deviceInfoData *DevInfoData) (*DrvInfoData, error) { data := &DrvInfoData{} data.size = uint32(unsafe.Sizeof(*data)) return data, setupDiGetSelectedDriver(deviceInfoSet, deviceInfoData, data) } // SelectedDriver method retrieves the selected driver for a device information set or a particular device information element. func (deviceInfoSet DevInfo) SelectedDriver(deviceInfoData *DevInfoData) (*DrvInfoData, error) { return SetupDiGetSelectedDriver(deviceInfoSet, deviceInfoData) } //sys SetupDiSetSelectedDriver(deviceInfoSet DevInfo, deviceInfoData *DevInfoData, driverInfoData *DrvInfoData) (err error) = setupapi.SetupDiSetSelectedDriverW // SetSelectedDriver method sets, or resets, the selected driver for a device information element or the selected class driver for a device information set. func (deviceInfoSet DevInfo) SetSelectedDriver(deviceInfoData *DevInfoData, driverInfoData *DrvInfoData) error { return SetupDiSetSelectedDriver(deviceInfoSet, deviceInfoData, driverInfoData) } //sys setupDiGetDriverInfoDetail(deviceInfoSet DevInfo, deviceInfoData *DevInfoData, driverInfoData *DrvInfoData, driverInfoDetailData *DrvInfoDetailData, driverInfoDetailDataSize uint32, requiredSize *uint32) (err error) = setupapi.SetupDiGetDriverInfoDetailW // SetupDiGetDriverInfoDetail function retrieves driver information detail for a device information set or a particular device information element in the device information set. func SetupDiGetDriverInfoDetail(deviceInfoSet DevInfo, deviceInfoData *DevInfoData, driverInfoData *DrvInfoData) (*DrvInfoDetailData, error) { reqSize := uint32(2048) for { buf := make([]byte, reqSize) data := (*DrvInfoDetailData)(unsafe.Pointer(&buf[0])) data.size = data.unsafeSizeOf() err := setupDiGetDriverInfoDetail(deviceInfoSet, deviceInfoData, driverInfoData, data, uint32(len(buf)), &reqSize) if err == ERROR_INSUFFICIENT_BUFFER { continue } if err != nil { return nil, err } data.size = reqSize return data, nil } } // DriverInfoDetail method retrieves driver information detail for a device information set or a particular device information element in the device information set. func (deviceInfoSet DevInfo) DriverInfoDetail(deviceInfoData *DevInfoData, driverInfoData *DrvInfoData) (*DrvInfoDetailData, error) { return SetupDiGetDriverInfoDetail(deviceInfoSet, deviceInfoData, driverInfoData) } //sys SetupDiDestroyDriverInfoList(deviceInfoSet DevInfo, deviceInfoData *DevInfoData, driverType SPDIT) (err error) = setupapi.SetupDiDestroyDriverInfoList // DestroyDriverInfoList method deletes a driver list. func (deviceInfoSet DevInfo) DestroyDriverInfoList(deviceInfoData *DevInfoData, driverType SPDIT) error { return SetupDiDestroyDriverInfoList(deviceInfoSet, deviceInfoData, driverType) } //sys setupDiGetClassDevsEx(classGUID *GUID, Enumerator *uint16, hwndParent uintptr, Flags DIGCF, deviceInfoSet DevInfo, machineName *uint16, reserved uintptr) (handle DevInfo, err error) [failretval==DevInfo(InvalidHandle)] = setupapi.SetupDiGetClassDevsExW // SetupDiGetClassDevsEx function returns a handle to a device information set that contains requested device information elements for a local or a remote computer. func SetupDiGetClassDevsEx(classGUID *GUID, enumerator string, hwndParent uintptr, flags DIGCF, deviceInfoSet DevInfo, machineName string) (handle DevInfo, err error) { var enumeratorUTF16 *uint16 if enumerator != "" { enumeratorUTF16, err = UTF16PtrFromString(enumerator) if err != nil { return } } var machineNameUTF16 *uint16 if machineName != "" { machineNameUTF16, err = UTF16PtrFromString(machineName) if err != nil { return } } return setupDiGetClassDevsEx(classGUID, enumeratorUTF16, hwndParent, flags, deviceInfoSet, machineNameUTF16, 0) } // SetupDiCallClassInstaller function calls the appropriate class installer, and any registered co-installers, with the specified installation request (DIF code). //sys SetupDiCallClassInstaller(installFunction DI_FUNCTION, deviceInfoSet DevInfo, deviceInfoData *DevInfoData) (err error) = setupapi.SetupDiCallClassInstaller // CallClassInstaller member calls the appropriate class installer, and any registered co-installers, with the specified installation request (DIF code). func (deviceInfoSet DevInfo) CallClassInstaller(installFunction DI_FUNCTION, deviceInfoData *DevInfoData) error { return SetupDiCallClassInstaller(installFunction, deviceInfoSet, deviceInfoData) } // SetupDiOpenDevRegKey function opens a registry key for device-specific configuration information. //sys SetupDiOpenDevRegKey(deviceInfoSet DevInfo, deviceInfoData *DevInfoData, Scope DICS_FLAG, HwProfile uint32, KeyType DIREG, samDesired uint32) (key Handle, err error) [failretval==InvalidHandle] = setupapi.SetupDiOpenDevRegKey // OpenDevRegKey method opens a registry key for device-specific configuration information. func (deviceInfoSet DevInfo) OpenDevRegKey(DeviceInfoData *DevInfoData, Scope DICS_FLAG, HwProfile uint32, KeyType DIREG, samDesired uint32) (Handle, error) { return SetupDiOpenDevRegKey(deviceInfoSet, DeviceInfoData, Scope, HwProfile, KeyType, samDesired) } //sys setupDiGetDeviceProperty(deviceInfoSet DevInfo, deviceInfoData *DevInfoData, propertyKey *DEVPROPKEY, propertyType *DEVPROPTYPE, propertyBuffer *byte, propertyBufferSize uint32, requiredSize *uint32, flags uint32) (err error) = setupapi.SetupDiGetDevicePropertyW // SetupDiGetDeviceProperty function retrieves a specified device instance property. func SetupDiGetDeviceProperty(deviceInfoSet DevInfo, deviceInfoData *DevInfoData, propertyKey *DEVPROPKEY) (value interface{}, err error) { reqSize := uint32(256) for { var dataType DEVPROPTYPE buf := make([]byte, reqSize) err = setupDiGetDeviceProperty(deviceInfoSet, deviceInfoData, propertyKey, &dataType, &buf[0], uint32(len(buf)), &reqSize, 0) if err == ERROR_INSUFFICIENT_BUFFER { continue } if err != nil { return } switch dataType { case DEVPROP_TYPE_STRING: ret := UTF16ToString(bufToUTF16(buf)) runtime.KeepAlive(buf) return ret, nil } return nil, errors.New("unimplemented property type") } } //sys setupDiGetDeviceRegistryProperty(deviceInfoSet DevInfo, deviceInfoData *DevInfoData, property SPDRP, propertyRegDataType *uint32, propertyBuffer *byte, propertyBufferSize uint32, requiredSize *uint32) (err error) = setupapi.SetupDiGetDeviceRegistryPropertyW // SetupDiGetDeviceRegistryProperty function retrieves a specified Plug and Play device property. func SetupDiGetDeviceRegistryProperty(deviceInfoSet DevInfo, deviceInfoData *DevInfoData, property SPDRP) (value interface{}, err error) { reqSize := uint32(256) for { var dataType uint32 buf := make([]byte, reqSize) err = setupDiGetDeviceRegistryProperty(deviceInfoSet, deviceInfoData, property, &dataType, &buf[0], uint32(len(buf)), &reqSize) if err == ERROR_INSUFFICIENT_BUFFER { continue } if err != nil { return } return getRegistryValue(buf[:reqSize], dataType) } } func getRegistryValue(buf []byte, dataType uint32) (interface{}, error) { switch dataType { case REG_SZ: ret := UTF16ToString(bufToUTF16(buf)) runtime.KeepAlive(buf) return ret, nil case REG_EXPAND_SZ: value := UTF16ToString(bufToUTF16(buf)) if value == "" { return "", nil } p, err := syscall.UTF16PtrFromString(value) if err != nil { return "", err } ret := make([]uint16, 100) for { n, err := ExpandEnvironmentStrings(p, &ret[0], uint32(len(ret))) if err != nil { return "", err } if n <= uint32(len(ret)) { return UTF16ToString(ret[:n]), nil } ret = make([]uint16, n) } case REG_BINARY: return buf, nil case REG_DWORD_LITTLE_ENDIAN: return binary.LittleEndian.Uint32(buf), nil case REG_DWORD_BIG_ENDIAN: return binary.BigEndian.Uint32(buf), nil case REG_MULTI_SZ: bufW := bufToUTF16(buf) a := []string{} for i := 0; i < len(bufW); { j := i + wcslen(bufW[i:]) if i < j { a = append(a, UTF16ToString(bufW[i:j])) } i = j + 1 } runtime.KeepAlive(buf) return a, nil case REG_QWORD_LITTLE_ENDIAN: return binary.LittleEndian.Uint64(buf), nil default: return nil, fmt.Errorf("Unsupported registry value type: %v", dataType) } } // bufToUTF16 function reinterprets []byte buffer as []uint16 func bufToUTF16(buf []byte) []uint16 { sl := struct { addr *uint16 len int cap int }{(*uint16)(unsafe.Pointer(&buf[0])), len(buf) / 2, cap(buf) / 2} return *(*[]uint16)(unsafe.Pointer(&sl)) } // utf16ToBuf function reinterprets []uint16 as []byte func utf16ToBuf(buf []uint16) []byte { sl := struct { addr *byte len int cap int }{(*byte)(unsafe.Pointer(&buf[0])), len(buf) * 2, cap(buf) * 2} return *(*[]byte)(unsafe.Pointer(&sl)) } func wcslen(str []uint16) int { for i := 0; i < len(str); i++ { if str[i] == 0 { return i } } return len(str) } // DeviceRegistryProperty method retrieves a specified Plug and Play device property. func (deviceInfoSet DevInfo) DeviceRegistryProperty(deviceInfoData *DevInfoData, property SPDRP) (interface{}, error) { return SetupDiGetDeviceRegistryProperty(deviceInfoSet, deviceInfoData, property) } //sys setupDiSetDeviceRegistryProperty(deviceInfoSet DevInfo, deviceInfoData *DevInfoData, property SPDRP, propertyBuffer *byte, propertyBufferSize uint32) (err error) = setupapi.SetupDiSetDeviceRegistryPropertyW // SetupDiSetDeviceRegistryProperty function sets a Plug and Play device property for a device. func SetupDiSetDeviceRegistryProperty(deviceInfoSet DevInfo, deviceInfoData *DevInfoData, property SPDRP, propertyBuffers []byte) error { return setupDiSetDeviceRegistryProperty(deviceInfoSet, deviceInfoData, property, &propertyBuffers[0], uint32(len(propertyBuffers))) } // SetDeviceRegistryProperty function sets a Plug and Play device property for a device. func (deviceInfoSet DevInfo) SetDeviceRegistryProperty(deviceInfoData *DevInfoData, property SPDRP, propertyBuffers []byte) error { return SetupDiSetDeviceRegistryProperty(deviceInfoSet, deviceInfoData, property, propertyBuffers) } // SetDeviceRegistryPropertyString method sets a Plug and Play device property string for a device. func (deviceInfoSet DevInfo) SetDeviceRegistryPropertyString(deviceInfoData *DevInfoData, property SPDRP, str string) error { str16, err := UTF16FromString(str) if err != nil { return err } err = SetupDiSetDeviceRegistryProperty(deviceInfoSet, deviceInfoData, property, utf16ToBuf(append(str16, 0))) runtime.KeepAlive(str16) return err } //sys setupDiGetDeviceInstallParams(deviceInfoSet DevInfo, deviceInfoData *DevInfoData, deviceInstallParams *DevInstallParams) (err error) = setupapi.SetupDiGetDeviceInstallParamsW // SetupDiGetDeviceInstallParams function retrieves device installation parameters for a device information set or a particular device information element. func SetupDiGetDeviceInstallParams(deviceInfoSet DevInfo, deviceInfoData *DevInfoData) (*DevInstallParams, error) { params := &DevInstallParams{} params.size = uint32(unsafe.Sizeof(*params)) return params, setupDiGetDeviceInstallParams(deviceInfoSet, deviceInfoData, params) } // DeviceInstallParams method retrieves device installation parameters for a device information set or a particular device information element. func (deviceInfoSet DevInfo) DeviceInstallParams(deviceInfoData *DevInfoData) (*DevInstallParams, error) { return SetupDiGetDeviceInstallParams(deviceInfoSet, deviceInfoData) } //sys setupDiGetDeviceInstanceId(deviceInfoSet DevInfo, deviceInfoData *DevInfoData, instanceId *uint16, instanceIdSize uint32, instanceIdRequiredSize *uint32) (err error) = setupapi.SetupDiGetDeviceInstanceIdW // SetupDiGetDeviceInstanceId function retrieves the instance ID of the device. func SetupDiGetDeviceInstanceId(deviceInfoSet DevInfo, deviceInfoData *DevInfoData) (string, error) { reqSize := uint32(1024) for { buf := make([]uint16, reqSize) err := setupDiGetDeviceInstanceId(deviceInfoSet, deviceInfoData, &buf[0], uint32(len(buf)), &reqSize) if err == ERROR_INSUFFICIENT_BUFFER { continue } if err != nil { return "", err } return UTF16ToString(buf), nil } } // DeviceInstanceID method retrieves the instance ID of the device. func (deviceInfoSet DevInfo) DeviceInstanceID(deviceInfoData *DevInfoData) (string, error) { return SetupDiGetDeviceInstanceId(deviceInfoSet, deviceInfoData) } // SetupDiGetClassInstallParams function retrieves class installation parameters for a device information set or a particular device information element. //sys SetupDiGetClassInstallParams(deviceInfoSet DevInfo, deviceInfoData *DevInfoData, classInstallParams *ClassInstallHeader, classInstallParamsSize uint32, requiredSize *uint32) (err error) = setupapi.SetupDiGetClassInstallParamsW // ClassInstallParams method retrieves class installation parameters for a device information set or a particular device information element. func (deviceInfoSet DevInfo) ClassInstallParams(deviceInfoData *DevInfoData, classInstallParams *ClassInstallHeader, classInstallParamsSize uint32, requiredSize *uint32) error { return SetupDiGetClassInstallParams(deviceInfoSet, deviceInfoData, classInstallParams, classInstallParamsSize, requiredSize) } //sys SetupDiSetDeviceInstallParams(deviceInfoSet DevInfo, deviceInfoData *DevInfoData, deviceInstallParams *DevInstallParams) (err error) = setupapi.SetupDiSetDeviceInstallParamsW // SetDeviceInstallParams member sets device installation parameters for a device information set or a particular device information element. func (deviceInfoSet DevInfo) SetDeviceInstallParams(deviceInfoData *DevInfoData, deviceInstallParams *DevInstallParams) error { return SetupDiSetDeviceInstallParams(deviceInfoSet, deviceInfoData, deviceInstallParams) } // SetupDiSetClassInstallParams function sets or clears class install parameters for a device information set or a particular device information element. //sys SetupDiSetClassInstallParams(deviceInfoSet DevInfo, deviceInfoData *DevInfoData, classInstallParams *ClassInstallHeader, classInstallParamsSize uint32) (err error) = setupapi.SetupDiSetClassInstallParamsW // SetClassInstallParams method sets or clears class install parameters for a device information set or a particular device information element. func (deviceInfoSet DevInfo) SetClassInstallParams(deviceInfoData *DevInfoData, classInstallParams *ClassInstallHeader, classInstallParamsSize uint32) error { return SetupDiSetClassInstallParams(deviceInfoSet, deviceInfoData, classInstallParams, classInstallParamsSize) } //sys setupDiClassNameFromGuidEx(classGUID *GUID, className *uint16, classNameSize uint32, requiredSize *uint32, machineName *uint16, reserved uintptr) (err error) = setupapi.SetupDiClassNameFromGuidExW // SetupDiClassNameFromGuidEx function retrieves the class name associated with a class GUID. The class can be installed on a local or remote computer. func SetupDiClassNameFromGuidEx(classGUID *GUID, machineName string) (className string, err error) { var classNameUTF16 [MAX_CLASS_NAME_LEN]uint16 var machineNameUTF16 *uint16 if machineName != "" { machineNameUTF16, err = UTF16PtrFromString(machineName) if err != nil { return } } err = setupDiClassNameFromGuidEx(classGUID, &classNameUTF16[0], MAX_CLASS_NAME_LEN, nil, machineNameUTF16, 0) if err != nil { return } className = UTF16ToString(classNameUTF16[:]) return } //sys setupDiClassGuidsFromNameEx(className *uint16, classGuidList *GUID, classGuidListSize uint32, requiredSize *uint32, machineName *uint16, reserved uintptr) (err error) = setupapi.SetupDiClassGuidsFromNameExW // SetupDiClassGuidsFromNameEx function retrieves the GUIDs associated with the specified class name. This resulting list contains the classes currently installed on a local or remote computer. func SetupDiClassGuidsFromNameEx(className string, machineName string) ([]GUID, error) { classNameUTF16, err := UTF16PtrFromString(className) if err != nil { return nil, err } var machineNameUTF16 *uint16 if machineName != "" { machineNameUTF16, err = UTF16PtrFromString(machineName) if err != nil { return nil, err } } reqSize := uint32(4) for { buf := make([]GUID, reqSize) err = setupDiClassGuidsFromNameEx(classNameUTF16, &buf[0], uint32(len(buf)), &reqSize, machineNameUTF16, 0) if err == ERROR_INSUFFICIENT_BUFFER { continue } if err != nil { return nil, err } return buf[:reqSize], nil } } //sys setupDiGetSelectedDevice(deviceInfoSet DevInfo, deviceInfoData *DevInfoData) (err error) = setupapi.SetupDiGetSelectedDevice // SetupDiGetSelectedDevice function retrieves the selected device information element in a device information set. func SetupDiGetSelectedDevice(deviceInfoSet DevInfo) (*DevInfoData, error) { data := &DevInfoData{} data.size = uint32(unsafe.Sizeof(*data)) return data, setupDiGetSelectedDevice(deviceInfoSet, data) } // SelectedDevice method retrieves the selected device information element in a device information set. func (deviceInfoSet DevInfo) SelectedDevice() (*DevInfoData, error) { return SetupDiGetSelectedDevice(deviceInfoSet) } // SetupDiSetSelectedDevice function sets a device information element as the selected member of a device information set. This function is typically used by an installation wizard. //sys SetupDiSetSelectedDevice(deviceInfoSet DevInfo, deviceInfoData *DevInfoData) (err error) = setupapi.SetupDiSetSelectedDevice // SetSelectedDevice method sets a device information element as the selected member of a device information set. This function is typically used by an installation wizard. func (deviceInfoSet DevInfo) SetSelectedDevice(deviceInfoData *DevInfoData) error { return SetupDiSetSelectedDevice(deviceInfoSet, deviceInfoData) } //sys setupUninstallOEMInf(infFileName *uint16, flags SUOI, reserved uintptr) (err error) = setupapi.SetupUninstallOEMInfW // SetupUninstallOEMInf uninstalls the specified driver. func SetupUninstallOEMInf(infFileName string, flags SUOI) error { infFileName16, err := UTF16PtrFromString(infFileName) if err != nil { return err } return setupUninstallOEMInf(infFileName16, flags, 0) } //sys cm_MapCrToWin32Err(configRet CONFIGRET, defaultWin32Error Errno) (ret Errno) = CfgMgr32.CM_MapCrToWin32Err //sys cm_Get_Device_Interface_List_Size(len *uint32, interfaceClass *GUID, deviceID *uint16, flags uint32) (ret CONFIGRET) = CfgMgr32.CM_Get_Device_Interface_List_SizeW //sys cm_Get_Device_Interface_List(interfaceClass *GUID, deviceID *uint16, buffer *uint16, bufferLen uint32, flags uint32) (ret CONFIGRET) = CfgMgr32.CM_Get_Device_Interface_ListW func CM_Get_Device_Interface_List(deviceID string, interfaceClass *GUID, flags uint32) ([]string, error) { deviceID16, err := UTF16PtrFromString(deviceID) if err != nil { return nil, err } var buf []uint16 var buflen uint32 for { if ret := cm_Get_Device_Interface_List_Size(&buflen, interfaceClass, deviceID16, flags); ret != CR_SUCCESS { return nil, ret } buf = make([]uint16, buflen) if ret := cm_Get_Device_Interface_List(interfaceClass, deviceID16, &buf[0], buflen, flags); ret == CR_SUCCESS { break } else if ret != CR_BUFFER_SMALL { return nil, ret } } var interfaces []string for i := 0; i < len(buf); { j := i + wcslen(buf[i:]) if i < j { interfaces = append(interfaces, UTF16ToString(buf[i:j])) } i = j + 1 } if interfaces == nil { return nil, ERROR_NO_SUCH_DEVICE_INTERFACE } return interfaces, nil } //sys cm_Get_DevNode_Status(status *uint32, problemNumber *uint32, devInst DEVINST, flags uint32) (ret CONFIGRET) = CfgMgr32.CM_Get_DevNode_Status func CM_Get_DevNode_Status(status *uint32, problemNumber *uint32, devInst DEVINST, flags uint32) error { ret := cm_Get_DevNode_Status(status, problemNumber, devInst, flags) if ret == CR_SUCCESS { return nil } return ret } dependencies/pkg/mod/golang.org/x/sync@v0.18.0/0000755000000000000000000000000015107355263017764 5ustar rootrootdependencies/pkg/mod/golang.org/x/sync@v0.18.0/README.md0000644000000000000000000000120015107355263021234 0ustar rootroot# Go Sync [![Go Reference](https://pkg.go.dev/badge/golang.org/x/sync.svg)](https://pkg.go.dev/golang.org/x/sync) This repository provides Go concurrency primitives in addition to the ones provided by the language and "sync" and "sync/atomic" packages. ## Report Issues / Send Patches This repository uses Gerrit for code changes. To learn how to submit changes to this repository, see https://go.dev/doc/contribute. The git repository is https://go.googlesource.com/sync. The main issue tracker for the sync repository is located at https://go.dev/issues. Prefix your issue with "x/sync:" in the subject line, so it is easy to find. dependencies/pkg/mod/golang.org/x/sync@v0.18.0/singleflight/0000755000000000000000000000000015107355263022443 5ustar rootrootdependencies/pkg/mod/golang.org/x/sync@v0.18.0/singleflight/singleflight_test.go0000644000000000000000000002214015107355263026507 0ustar rootroot// 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 singleflight import ( "bytes" "errors" "fmt" "os" "os/exec" "runtime" "runtime/debug" "strings" "sync" "sync/atomic" "testing" "time" ) type errValue struct{} func (err *errValue) Error() string { return "error value" } func TestPanicErrorUnwrap(t *testing.T) { t.Parallel() testCases := []struct { name string panicValue interface{} wrappedErrorType bool }{ { name: "panicError wraps non-error type", panicValue: &panicError{value: "string value"}, wrappedErrorType: false, }, { name: "panicError wraps error type", panicValue: &panicError{value: new(errValue)}, wrappedErrorType: false, }, } for _, tc := range testCases { tc := tc t.Run(tc.name, func(t *testing.T) { t.Parallel() var recovered interface{} group := &Group{} func() { defer func() { recovered = recover() t.Logf("after panic(%#v) in group.Do, recovered %#v", tc.panicValue, recovered) }() _, _, _ = group.Do(tc.name, func() (interface{}, error) { panic(tc.panicValue) }) }() if recovered == nil { t.Fatal("expected a non-nil panic value") } err, ok := recovered.(error) if !ok { t.Fatalf("recovered non-error type: %T", recovered) } if !errors.Is(err, new(errValue)) && tc.wrappedErrorType { t.Errorf("unexpected wrapped error type %T; want %T", err, new(errValue)) } }) } } func TestDo(t *testing.T) { var g Group v, err, _ := g.Do("key", func() (interface{}, error) { return "bar", nil }) if got, want := fmt.Sprintf("%v (%T)", v, v), "bar (string)"; got != want { t.Errorf("Do = %v; want %v", got, want) } if err != nil { t.Errorf("Do error = %v", err) } } func TestDoErr(t *testing.T) { var g Group someErr := errors.New("Some error") v, err, _ := g.Do("key", func() (interface{}, error) { return nil, someErr }) if err != someErr { t.Errorf("Do error = %v; want someErr %v", err, someErr) } if v != nil { t.Errorf("unexpected non-nil value %#v", v) } } func TestDoDupSuppress(t *testing.T) { var g Group var wg1, wg2 sync.WaitGroup c := make(chan string, 1) var calls int32 fn := func() (interface{}, error) { if atomic.AddInt32(&calls, 1) == 1 { // First invocation. wg1.Done() } v := <-c c <- v // pump; make available for any future calls time.Sleep(10 * time.Millisecond) // let more goroutines enter Do return v, nil } const n = 10 wg1.Add(1) for i := 0; i < n; i++ { wg1.Add(1) wg2.Add(1) go func() { defer wg2.Done() wg1.Done() v, err, _ := g.Do("key", fn) if err != nil { t.Errorf("Do error: %v", err) return } if s, _ := v.(string); s != "bar" { t.Errorf("Do = %T %v; want %q", v, v, "bar") } }() } wg1.Wait() // At least one goroutine is in fn now and all of them have at // least reached the line before the Do. c <- "bar" wg2.Wait() if got := atomic.LoadInt32(&calls); got <= 0 || got >= n { t.Errorf("number of calls = %d; want over 0 and less than %d", got, n) } } // Test that singleflight behaves correctly after Forget called. // See https://github.com/golang/go/issues/31420 func TestForget(t *testing.T) { var g Group var ( firstStarted = make(chan struct{}) unblockFirst = make(chan struct{}) firstFinished = make(chan struct{}) ) go func() { g.Do("key", func() (i interface{}, e error) { close(firstStarted) <-unblockFirst close(firstFinished) return }) }() <-firstStarted g.Forget("key") unblockSecond := make(chan struct{}) secondResult := g.DoChan("key", func() (i interface{}, e error) { <-unblockSecond return 2, nil }) close(unblockFirst) <-firstFinished thirdResult := g.DoChan("key", func() (i interface{}, e error) { return 3, nil }) close(unblockSecond) <-secondResult r := <-thirdResult if r.Val != 2 { t.Errorf("We should receive result produced by second call, expected: 2, got %d", r.Val) } } func TestDoChan(t *testing.T) { var g Group ch := g.DoChan("key", func() (interface{}, error) { return "bar", nil }) res := <-ch v := res.Val err := res.Err if got, want := fmt.Sprintf("%v (%T)", v, v), "bar (string)"; got != want { t.Errorf("Do = %v; want %v", got, want) } if err != nil { t.Errorf("Do error = %v", err) } } // Test singleflight behaves correctly after Do panic. // See https://github.com/golang/go/issues/41133 func TestPanicDo(t *testing.T) { var g Group fn := func() (interface{}, error) { panic("invalid memory address or nil pointer dereference") } const n = 5 waited := int32(n) panicCount := int32(0) done := make(chan struct{}) for i := 0; i < n; i++ { go func() { defer func() { if err := recover(); err != nil { t.Logf("Got panic: %v\n%s", err, debug.Stack()) atomic.AddInt32(&panicCount, 1) } if atomic.AddInt32(&waited, -1) == 0 { close(done) } }() g.Do("key", fn) }() } select { case <-done: if panicCount != n { t.Errorf("Expect %d panic, but got %d", n, panicCount) } case <-time.After(time.Second): t.Fatalf("Do hangs") } } func TestGoexitDo(t *testing.T) { var g Group fn := func() (interface{}, error) { runtime.Goexit() return nil, nil } const n = 5 waited := int32(n) done := make(chan struct{}) for i := 0; i < n; i++ { go func() { var err error defer func() { if err != nil { t.Errorf("Error should be nil, but got: %v", err) } if atomic.AddInt32(&waited, -1) == 0 { close(done) } }() _, err, _ = g.Do("key", fn) }() } select { case <-done: case <-time.After(time.Second): t.Fatalf("Do hangs") } } func executable(t testing.TB) string { exe, err := os.Executable() if err != nil { t.Skipf("skipping: test executable not found") } // Control case: check whether exec.Command works at all. // (For example, it might fail with a permission error on iOS.) cmd := exec.Command(exe, "-test.list=^$") cmd.Env = []string{} if err := cmd.Run(); err != nil { t.Skipf("skipping: exec appears not to work on %s: %v", runtime.GOOS, err) } return exe } func TestPanicDoChan(t *testing.T) { if os.Getenv("TEST_PANIC_DOCHAN") != "" { defer func() { recover() }() g := new(Group) ch := g.DoChan("", func() (interface{}, error) { panic("Panicking in DoChan") }) <-ch t.Fatalf("DoChan unexpectedly returned") } t.Parallel() cmd := exec.Command(executable(t), "-test.run="+t.Name(), "-test.v") cmd.Env = append(os.Environ(), "TEST_PANIC_DOCHAN=1") out := new(bytes.Buffer) cmd.Stdout = out cmd.Stderr = out if err := cmd.Start(); err != nil { t.Fatal(err) } err := cmd.Wait() t.Logf("%s:\n%s", strings.Join(cmd.Args, " "), out) if err == nil { t.Errorf("Test subprocess passed; want a crash due to panic in DoChan") } if bytes.Contains(out.Bytes(), []byte("DoChan unexpectedly")) { t.Errorf("Test subprocess failed with an unexpected failure mode.") } if !bytes.Contains(out.Bytes(), []byte("Panicking in DoChan")) { t.Errorf("Test subprocess failed, but the crash isn't caused by panicking in DoChan") } } func TestPanicDoSharedByDoChan(t *testing.T) { if os.Getenv("TEST_PANIC_DOCHAN") != "" { blocked := make(chan struct{}) unblock := make(chan struct{}) g := new(Group) go func() { defer func() { recover() }() g.Do("", func() (interface{}, error) { close(blocked) <-unblock panic("Panicking in Do") }) }() <-blocked ch := g.DoChan("", func() (interface{}, error) { panic("DoChan unexpectedly executed callback") }) close(unblock) <-ch t.Fatalf("DoChan unexpectedly returned") } t.Parallel() cmd := exec.Command(executable(t), "-test.run="+t.Name(), "-test.v") cmd.Env = append(os.Environ(), "TEST_PANIC_DOCHAN=1") out := new(bytes.Buffer) cmd.Stdout = out cmd.Stderr = out if err := cmd.Start(); err != nil { t.Fatal(err) } err := cmd.Wait() t.Logf("%s:\n%s", strings.Join(cmd.Args, " "), out) if err == nil { t.Errorf("Test subprocess passed; want a crash due to panic in Do shared by DoChan") } if bytes.Contains(out.Bytes(), []byte("DoChan unexpectedly")) { t.Errorf("Test subprocess failed with an unexpected failure mode.") } if !bytes.Contains(out.Bytes(), []byte("Panicking in Do")) { t.Errorf("Test subprocess failed, but the crash isn't caused by panicking in Do") } } func ExampleGroup() { g := new(Group) block := make(chan struct{}) res1c := g.DoChan("key", func() (interface{}, error) { <-block return "func 1", nil }) res2c := g.DoChan("key", func() (interface{}, error) { <-block return "func 2", nil }) close(block) res1 := <-res1c res2 := <-res2c // Results are shared by functions executed with duplicate keys. fmt.Println("Shared:", res2.Shared) // Only the first function is executed: it is registered and started with "key", // and doesn't complete before the second function is registered with a duplicate key. fmt.Println("Equal results:", res1.Val.(string) == res2.Val.(string)) fmt.Println("Result:", res1.Val) // Output: // Shared: true // Equal results: true // Result: func 1 } dependencies/pkg/mod/golang.org/x/sync@v0.18.0/singleflight/singleflight.go0000644000000000000000000001254515107355263025460 0ustar rootroot// 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 singleflight provides a duplicate function call suppression // mechanism. package singleflight // import "golang.org/x/sync/singleflight" import ( "bytes" "errors" "fmt" "runtime" "runtime/debug" "sync" ) // errGoexit indicates the runtime.Goexit was called in // the user given function. var errGoexit = errors.New("runtime.Goexit was called") // A panicError is an arbitrary value recovered from a panic // with the stack trace during the execution of given function. type panicError struct { value interface{} stack []byte } // Error implements error interface. func (p *panicError) Error() string { return fmt.Sprintf("%v\n\n%s", p.value, p.stack) } func (p *panicError) Unwrap() error { err, ok := p.value.(error) if !ok { return nil } return err } func newPanicError(v interface{}) error { stack := debug.Stack() // The first line of the stack trace is of the form "goroutine N [status]:" // but by the time the panic reaches Do the goroutine may no longer exist // and its status will have changed. Trim out the misleading line. if line := bytes.IndexByte(stack[:], '\n'); line >= 0 { stack = stack[line+1:] } return &panicError{value: v, stack: stack} } // call is an in-flight or completed singleflight.Do call type call struct { wg sync.WaitGroup // These fields are written once before the WaitGroup is done // and are only read after the WaitGroup is done. val interface{} err error // These fields are read and written with the singleflight // mutex held before the WaitGroup is done, and are read but // not written after the WaitGroup is done. dups int chans []chan<- Result } // Group represents a class of work and forms a namespace in // which units of work can be executed with duplicate suppression. type Group struct { mu sync.Mutex // protects m m map[string]*call // lazily initialized } // Result holds the results of Do, so they can be passed // on a channel. type Result struct { Val interface{} Err error Shared bool } // Do executes and returns the results of the given function, making // sure that only one execution is in-flight for a given key at a // time. If a duplicate comes in, the duplicate caller waits for the // original to complete and receives the same results. // The return value shared indicates whether v was given to multiple callers. func (g *Group) Do(key string, fn func() (interface{}, error)) (v interface{}, err error, shared bool) { g.mu.Lock() if g.m == nil { g.m = make(map[string]*call) } if c, ok := g.m[key]; ok { c.dups++ g.mu.Unlock() c.wg.Wait() if e, ok := c.err.(*panicError); ok { panic(e) } else if c.err == errGoexit { runtime.Goexit() } return c.val, c.err, true } c := new(call) c.wg.Add(1) g.m[key] = c g.mu.Unlock() g.doCall(c, key, fn) return c.val, c.err, c.dups > 0 } // DoChan is like Do but returns a channel that will receive the // results when they are ready. // // The returned channel will not be closed. func (g *Group) DoChan(key string, fn func() (interface{}, error)) <-chan Result { ch := make(chan Result, 1) g.mu.Lock() if g.m == nil { g.m = make(map[string]*call) } if c, ok := g.m[key]; ok { c.dups++ c.chans = append(c.chans, ch) g.mu.Unlock() return ch } c := &call{chans: []chan<- Result{ch}} c.wg.Add(1) g.m[key] = c g.mu.Unlock() go g.doCall(c, key, fn) return ch } // doCall handles the single call for a key. func (g *Group) doCall(c *call, key string, fn func() (interface{}, error)) { normalReturn := false recovered := false // use double-defer to distinguish panic from runtime.Goexit, // more details see https://golang.org/cl/134395 defer func() { // the given function invoked runtime.Goexit if !normalReturn && !recovered { c.err = errGoexit } g.mu.Lock() defer g.mu.Unlock() c.wg.Done() if g.m[key] == c { delete(g.m, key) } if e, ok := c.err.(*panicError); ok { // In order to prevent the waiting channels from being blocked forever, // needs to ensure that this panic cannot be recovered. if len(c.chans) > 0 { go panic(e) select {} // Keep this goroutine around so that it will appear in the crash dump. } else { panic(e) } } else if c.err == errGoexit { // Already in the process of goexit, no need to call again } else { // Normal return for _, ch := range c.chans { ch <- Result{c.val, c.err, c.dups > 0} } } }() func() { defer func() { if !normalReturn { // Ideally, we would wait to take a stack trace until we've determined // whether this is a panic or a runtime.Goexit. // // Unfortunately, the only way we can distinguish the two is to see // whether the recover stopped the goroutine from terminating, and by // the time we know that, the part of the stack trace relevant to the // panic has been discarded. if r := recover(); r != nil { c.err = newPanicError(r) } } }() c.val, c.err = fn() normalReturn = true }() if !normalReturn { recovered = true } } // Forget tells the singleflight to forget about a key. Future calls // to Do for this key will call the function rather than waiting for // an earlier call to complete. func (g *Group) Forget(key string) { g.mu.Lock() delete(g.m, key) g.mu.Unlock() } dependencies/pkg/mod/golang.org/x/sync@v0.18.0/LICENSE0000644000000000000000000000265515107355263021001 0ustar rootrootCopyright 2009 The Go Authors. 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 LLC 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. dependencies/pkg/mod/golang.org/x/sync@v0.18.0/CONTRIBUTING.md0000644000000000000000000000162115107355263022215 0ustar rootroot# Contributing to Go Go is an open source project. It is the work of hundreds of contributors. We appreciate your help! ## Filing issues When [filing an issue](https://golang.org/issue/new), make sure to answer these five questions: 1. What version of Go are you using (`go version`)? 2. What operating system and processor architecture are you using? 3. What did you do? 4. What did you expect to see? 5. What did you see instead? General questions should go to the [golang-nuts mailing list](https://groups.google.com/group/golang-nuts) instead of the issue tracker. The gophers there will answer or ask you to file an issue if you've tripped over a bug. ## Contributing code Please read the [Contribution Guidelines](https://golang.org/doc/contribute.html) before sending patches. Unless otherwise noted, the Go source files are distributed under the BSD-style license found in the LICENSE file. dependencies/pkg/mod/golang.org/x/sync@v0.18.0/syncmap/0000755000000000000000000000000015107355263021436 5ustar rootrootdependencies/pkg/mod/golang.org/x/sync@v0.18.0/syncmap/map.go0000644000000000000000000000133515107355263022544 0ustar rootroot// Copyright 2019 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 syncmap provides a concurrent map implementation. // This was the prototype for sync.Map which was added to the standard library's // sync package in Go 1.9. https://golang.org/pkg/sync/#Map. package syncmap import "sync" // home to the standard library's sync.map implementation as of Go 1.9 // Map is a concurrent map with amortized-constant-time loads, stores, and deletes. // It is safe for multiple goroutines to call a Map's methods concurrently. // // The zero Map is valid and empty. // // A Map must not be copied after first use. type Map = sync.Map dependencies/pkg/mod/golang.org/x/sync@v0.18.0/syncmap/map_bench_test.go0000644000000000000000000001150515107355263024742 0ustar rootroot// 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. package syncmap_test import ( "fmt" "reflect" "sync/atomic" "testing" "golang.org/x/sync/syncmap" ) type bench struct { setup func(*testing.B, mapInterface) perG func(b *testing.B, pb *testing.PB, i int, m mapInterface) } func benchMap(b *testing.B, bench bench) { for _, m := range [...]mapInterface{&DeepCopyMap{}, &RWMutexMap{}, &syncmap.Map{}} { b.Run(fmt.Sprintf("%T", m), func(b *testing.B) { m = reflect.New(reflect.TypeOf(m).Elem()).Interface().(mapInterface) if bench.setup != nil { bench.setup(b, m) } b.ResetTimer() var i int64 b.RunParallel(func(pb *testing.PB) { id := int(atomic.AddInt64(&i, 1) - 1) bench.perG(b, pb, id*b.N, m) }) }) } } func BenchmarkLoadMostlyHits(b *testing.B) { const hits, misses = 1023, 1 benchMap(b, bench{ setup: func(_ *testing.B, m mapInterface) { for i := 0; i < hits; i++ { m.LoadOrStore(i, i) } // Prime the map to get it into a steady state. for i := 0; i < hits*2; i++ { m.Load(i % hits) } }, perG: func(b *testing.B, pb *testing.PB, i int, m mapInterface) { for ; pb.Next(); i++ { m.Load(i % (hits + misses)) } }, }) } func BenchmarkLoadMostlyMisses(b *testing.B) { const hits, misses = 1, 1023 benchMap(b, bench{ setup: func(_ *testing.B, m mapInterface) { for i := 0; i < hits; i++ { m.LoadOrStore(i, i) } // Prime the map to get it into a steady state. for i := 0; i < hits*2; i++ { m.Load(i % hits) } }, perG: func(b *testing.B, pb *testing.PB, i int, m mapInterface) { for ; pb.Next(); i++ { m.Load(i % (hits + misses)) } }, }) } func BenchmarkLoadOrStoreBalanced(b *testing.B) { const hits, misses = 128, 128 benchMap(b, bench{ setup: func(b *testing.B, m mapInterface) { if _, ok := m.(*DeepCopyMap); ok { b.Skip("DeepCopyMap has quadratic running time.") } for i := 0; i < hits; i++ { m.LoadOrStore(i, i) } // Prime the map to get it into a steady state. for i := 0; i < hits*2; i++ { m.Load(i % hits) } }, perG: func(b *testing.B, pb *testing.PB, i int, m mapInterface) { for ; pb.Next(); i++ { j := i % (hits + misses) if j < hits { if _, ok := m.LoadOrStore(j, i); !ok { b.Fatalf("unexpected miss for %v", j) } } else { if v, loaded := m.LoadOrStore(i, i); loaded { b.Fatalf("failed to store %v: existing value %v", i, v) } } } }, }) } func BenchmarkLoadOrStoreUnique(b *testing.B) { benchMap(b, bench{ setup: func(b *testing.B, m mapInterface) { if _, ok := m.(*DeepCopyMap); ok { b.Skip("DeepCopyMap has quadratic running time.") } }, perG: func(b *testing.B, pb *testing.PB, i int, m mapInterface) { for ; pb.Next(); i++ { m.LoadOrStore(i, i) } }, }) } func BenchmarkLoadOrStoreCollision(b *testing.B) { benchMap(b, bench{ setup: func(_ *testing.B, m mapInterface) { m.LoadOrStore(0, 0) }, perG: func(b *testing.B, pb *testing.PB, i int, m mapInterface) { for ; pb.Next(); i++ { m.LoadOrStore(0, 0) } }, }) } func BenchmarkRange(b *testing.B) { const mapSize = 1 << 10 benchMap(b, bench{ setup: func(_ *testing.B, m mapInterface) { for i := 0; i < mapSize; i++ { m.Store(i, i) } }, perG: func(b *testing.B, pb *testing.PB, i int, m mapInterface) { for ; pb.Next(); i++ { m.Range(func(_, _ interface{}) bool { return true }) } }, }) } // BenchmarkAdversarialAlloc tests performance when we store a new value // immediately whenever the map is promoted to clean and otherwise load a // unique, missing key. // // This forces the Load calls to always acquire the map's mutex. func BenchmarkAdversarialAlloc(b *testing.B) { benchMap(b, bench{ perG: func(b *testing.B, pb *testing.PB, i int, m mapInterface) { var stores, loadsSinceStore int64 for ; pb.Next(); i++ { m.Load(i) if loadsSinceStore++; loadsSinceStore > stores { m.LoadOrStore(i, stores) loadsSinceStore = 0 stores++ } } }, }) } // BenchmarkAdversarialDelete tests performance when we periodically delete // one key and add a different one in a large map. // // This forces the Load calls to always acquire the map's mutex and periodically // makes a full copy of the map despite changing only one entry. func BenchmarkAdversarialDelete(b *testing.B) { const mapSize = 1 << 10 benchMap(b, bench{ setup: func(_ *testing.B, m mapInterface) { for i := 0; i < mapSize; i++ { m.Store(i, i) } }, perG: func(b *testing.B, pb *testing.PB, i int, m mapInterface) { for ; pb.Next(); i++ { m.Load(i) if i%mapSize == 0 { m.Range(func(k, _ interface{}) bool { m.Delete(k) return false }) m.Store(i, i) } } }, }) } dependencies/pkg/mod/golang.org/x/sync@v0.18.0/syncmap/map_reference_test.go0000644000000000000000000000661715107355263025631 0ustar rootroot// 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. package syncmap_test import ( "sync" "sync/atomic" ) // This file contains reference map implementations for unit-tests. // mapInterface is the interface Map implements. type mapInterface interface { Load(interface{}) (interface{}, bool) Store(key, value interface{}) LoadOrStore(key, value interface{}) (actual interface{}, loaded bool) Delete(interface{}) Range(func(key, value interface{}) (shouldContinue bool)) } // RWMutexMap is an implementation of mapInterface using a sync.RWMutex. type RWMutexMap struct { mu sync.RWMutex dirty map[interface{}]interface{} } func (m *RWMutexMap) Load(key interface{}) (value interface{}, ok bool) { m.mu.RLock() value, ok = m.dirty[key] m.mu.RUnlock() return } func (m *RWMutexMap) Store(key, value interface{}) { m.mu.Lock() if m.dirty == nil { m.dirty = make(map[interface{}]interface{}) } m.dirty[key] = value m.mu.Unlock() } func (m *RWMutexMap) LoadOrStore(key, value interface{}) (actual interface{}, loaded bool) { m.mu.Lock() actual, loaded = m.dirty[key] if !loaded { actual = value if m.dirty == nil { m.dirty = make(map[interface{}]interface{}) } m.dirty[key] = value } m.mu.Unlock() return actual, loaded } func (m *RWMutexMap) Delete(key interface{}) { m.mu.Lock() delete(m.dirty, key) m.mu.Unlock() } func (m *RWMutexMap) Range(f func(key, value interface{}) (shouldContinue bool)) { m.mu.RLock() keys := make([]interface{}, 0, len(m.dirty)) for k := range m.dirty { keys = append(keys, k) } m.mu.RUnlock() for _, k := range keys { v, ok := m.Load(k) if !ok { continue } if !f(k, v) { break } } } // DeepCopyMap is an implementation of mapInterface using a Mutex and // atomic.Value. It makes deep copies of the map on every write to avoid // acquiring the Mutex in Load. type DeepCopyMap struct { mu sync.Mutex clean atomic.Value } func (m *DeepCopyMap) Load(key interface{}) (value interface{}, ok bool) { clean, _ := m.clean.Load().(map[interface{}]interface{}) value, ok = clean[key] return value, ok } func (m *DeepCopyMap) Store(key, value interface{}) { m.mu.Lock() dirty := m.dirty() dirty[key] = value m.clean.Store(dirty) m.mu.Unlock() } func (m *DeepCopyMap) LoadOrStore(key, value interface{}) (actual interface{}, loaded bool) { clean, _ := m.clean.Load().(map[interface{}]interface{}) actual, loaded = clean[key] if loaded { return actual, loaded } m.mu.Lock() // Reload clean in case it changed while we were waiting on m.mu. clean, _ = m.clean.Load().(map[interface{}]interface{}) actual, loaded = clean[key] if !loaded { dirty := m.dirty() dirty[key] = value actual = value m.clean.Store(dirty) } m.mu.Unlock() return actual, loaded } func (m *DeepCopyMap) Delete(key interface{}) { m.mu.Lock() dirty := m.dirty() delete(dirty, key) m.clean.Store(dirty) m.mu.Unlock() } func (m *DeepCopyMap) Range(f func(key, value interface{}) (shouldContinue bool)) { clean, _ := m.clean.Load().(map[interface{}]interface{}) for k, v := range clean { if !f(k, v) { break } } } func (m *DeepCopyMap) dirty() map[interface{}]interface{} { clean, _ := m.clean.Load().(map[interface{}]interface{}) dirty := make(map[interface{}]interface{}, len(clean)+1) for k, v := range clean { dirty[k] = v } return dirty } dependencies/pkg/mod/golang.org/x/sync@v0.18.0/syncmap/map_test.go0000644000000000000000000000675015107355263023611 0ustar rootroot// 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. package syncmap_test import ( "math/rand" "reflect" "runtime" "sync" "testing" "testing/quick" "golang.org/x/sync/syncmap" ) type mapOp string const ( opLoad = mapOp("Load") opStore = mapOp("Store") opLoadOrStore = mapOp("LoadOrStore") opDelete = mapOp("Delete") ) var mapOps = [...]mapOp{opLoad, opStore, opLoadOrStore, opDelete} // mapCall is a quick.Generator for calls on mapInterface. type mapCall struct { op mapOp k, v interface{} } func (c mapCall) apply(m mapInterface) (interface{}, bool) { switch c.op { case opLoad: return m.Load(c.k) case opStore: m.Store(c.k, c.v) return nil, false case opLoadOrStore: return m.LoadOrStore(c.k, c.v) case opDelete: m.Delete(c.k) return nil, false default: panic("invalid mapOp") } } type mapResult struct { value interface{} ok bool } func randValue(r *rand.Rand) interface{} { b := make([]byte, r.Intn(4)) for i := range b { b[i] = 'a' + byte(rand.Intn(26)) } return string(b) } func (mapCall) Generate(r *rand.Rand, size int) reflect.Value { c := mapCall{op: mapOps[rand.Intn(len(mapOps))], k: randValue(r)} switch c.op { case opStore, opLoadOrStore: c.v = randValue(r) } return reflect.ValueOf(c) } func applyCalls(m mapInterface, calls []mapCall) (results []mapResult, final map[interface{}]interface{}) { for _, c := range calls { v, ok := c.apply(m) results = append(results, mapResult{v, ok}) } final = make(map[interface{}]interface{}) m.Range(func(k, v interface{}) bool { final[k] = v return true }) return results, final } func applyMap(calls []mapCall) ([]mapResult, map[interface{}]interface{}) { return applyCalls(new(syncmap.Map), calls) } func applyRWMutexMap(calls []mapCall) ([]mapResult, map[interface{}]interface{}) { return applyCalls(new(RWMutexMap), calls) } func applyDeepCopyMap(calls []mapCall) ([]mapResult, map[interface{}]interface{}) { return applyCalls(new(DeepCopyMap), calls) } func TestMapMatchesRWMutex(t *testing.T) { if err := quick.CheckEqual(applyMap, applyRWMutexMap, nil); err != nil { t.Error(err) } } func TestMapMatchesDeepCopy(t *testing.T) { if err := quick.CheckEqual(applyMap, applyDeepCopyMap, nil); err != nil { t.Error(err) } } func TestConcurrentRange(t *testing.T) { const mapSize = 1 << 10 m := new(syncmap.Map) for n := int64(1); n <= mapSize; n++ { m.Store(n, n) } done := make(chan struct{}) var wg sync.WaitGroup defer func() { close(done) wg.Wait() }() for g := int64(runtime.GOMAXPROCS(0)); g > 0; g-- { r := rand.New(rand.NewSource(g)) wg.Add(1) go func(g int64) { defer wg.Done() for i := int64(0); ; i++ { select { case <-done: return default: } for n := int64(1); n < mapSize; n++ { if r.Int63n(mapSize) == 0 { m.Store(n, n*i*g) } else { m.Load(n) } } } }(g) } iters := 1 << 10 if testing.Short() { iters = 16 } for n := iters; n > 0; n-- { seen := make(map[int64]bool, mapSize) m.Range(func(ki, vi interface{}) bool { k, v := ki.(int64), vi.(int64) if v%k != 0 { t.Fatalf("while Storing multiples of %v, Range saw value %v", k, v) } if seen[k] { t.Fatalf("Range visited key %v twice", k) } seen[k] = true return true }) if len(seen) != mapSize { t.Fatalf("Range visited %v elements of %v-element Map", len(seen), mapSize) } } } dependencies/pkg/mod/golang.org/x/sync@v0.18.0/PATENTS0000644000000000000000000000242715107355263021032 0ustar rootrootAdditional 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. dependencies/pkg/mod/golang.org/x/sync@v0.18.0/go.mod0000644000000000000000000000004415107355263021070 0ustar rootrootmodule golang.org/x/sync go 1.24.0 dependencies/pkg/mod/golang.org/x/sync@v0.18.0/codereview.cfg0000644000000000000000000000002515107355263022576 0ustar rootrootissuerepo: golang/go dependencies/pkg/mod/golang.org/x/sync@v0.18.0/semaphore/0000755000000000000000000000000015107355263021747 5ustar rootrootdependencies/pkg/mod/golang.org/x/sync@v0.18.0/semaphore/semaphore_example_test.go0000644000000000000000000000377715107355263027051 0ustar rootroot// Copyright 2017 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 semaphore_test import ( "context" "fmt" "log" "runtime" "golang.org/x/sync/semaphore" ) // Example_workerPool demonstrates how to use a semaphore to limit the number of // goroutines working on parallel tasks. // // This use of a semaphore mimics a typical “worker pool” pattern, but without // the need to explicitly shut down idle workers when the work is done. func Example_workerPool() { ctx := context.TODO() var ( maxWorkers = runtime.GOMAXPROCS(0) sem = semaphore.NewWeighted(int64(maxWorkers)) out = make([]int, 32) ) // Compute the output using up to maxWorkers goroutines at a time. for i := range out { // When maxWorkers goroutines are in flight, Acquire blocks until one of the // workers finishes. if err := sem.Acquire(ctx, 1); err != nil { log.Printf("Failed to acquire semaphore: %v", err) break } go func(i int) { defer sem.Release(1) out[i] = collatzSteps(i + 1) }(i) } // Acquire all of the tokens to wait for any remaining workers to finish. // // If you are already waiting for the workers by some other means (such as an // errgroup.Group), you can omit this final Acquire call. if err := sem.Acquire(ctx, int64(maxWorkers)); err != nil { log.Printf("Failed to acquire semaphore: %v", err) } fmt.Println(out) // Output: // [0 1 7 2 5 8 16 3 19 6 14 9 9 17 17 4 12 20 20 7 7 15 15 10 23 10 111 18 18 18 106 5] } // collatzSteps computes the number of steps to reach 1 under the Collatz // conjecture. (See https://en.wikipedia.org/wiki/Collatz_conjecture.) func collatzSteps(n int) (steps int) { if n <= 0 { panic("nonpositive input") } for ; n > 1; steps++ { if steps < 0 { panic("too many steps") } if n%2 == 0 { n /= 2 continue } const maxInt = int(^uint(0) >> 1) if n > (maxInt-1)/3 { panic("overflow") } n = 3*n + 1 } return steps } dependencies/pkg/mod/golang.org/x/sync@v0.18.0/semaphore/semaphore_test.go0000644000000000000000000001307715107355263025330 0ustar rootroot// Copyright 2017 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 semaphore_test import ( "context" "math/rand" "runtime" "sync" "testing" "time" "golang.org/x/sync/errgroup" "golang.org/x/sync/semaphore" ) const maxSleep = 1 * time.Millisecond func HammerWeighted(sem *semaphore.Weighted, n int64, loops int) { for i := 0; i < loops; i++ { sem.Acquire(context.Background(), n) time.Sleep(time.Duration(rand.Int63n(int64(maxSleep/time.Nanosecond))) * time.Nanosecond) sem.Release(n) } } func TestWeighted(t *testing.T) { t.Parallel() n := runtime.GOMAXPROCS(0) loops := 10000 / n sem := semaphore.NewWeighted(int64(n)) var wg sync.WaitGroup wg.Add(n) for i := 0; i < n; i++ { i := i go func() { defer wg.Done() HammerWeighted(sem, int64(i), loops) }() } wg.Wait() } func TestWeightedPanic(t *testing.T) { t.Parallel() defer func() { if recover() == nil { t.Fatal("release of an unacquired weighted semaphore did not panic") } }() w := semaphore.NewWeighted(1) w.Release(1) } func TestWeightedTryAcquire(t *testing.T) { t.Parallel() ctx := context.Background() sem := semaphore.NewWeighted(2) tries := []bool{} sem.Acquire(ctx, 1) tries = append(tries, sem.TryAcquire(1)) tries = append(tries, sem.TryAcquire(1)) sem.Release(2) tries = append(tries, sem.TryAcquire(1)) sem.Acquire(ctx, 1) tries = append(tries, sem.TryAcquire(1)) want := []bool{true, false, true, false} for i := range tries { if tries[i] != want[i] { t.Errorf("tries[%d]: got %t, want %t", i, tries[i], want[i]) } } } func TestWeightedAcquire(t *testing.T) { t.Parallel() ctx := context.Background() sem := semaphore.NewWeighted(2) tryAcquire := func(n int64) bool { ctx, cancel := context.WithTimeout(ctx, 10*time.Millisecond) defer cancel() return sem.Acquire(ctx, n) == nil } tries := []bool{} sem.Acquire(ctx, 1) tries = append(tries, tryAcquire(1)) tries = append(tries, tryAcquire(1)) sem.Release(2) tries = append(tries, tryAcquire(1)) sem.Acquire(ctx, 1) tries = append(tries, tryAcquire(1)) want := []bool{true, false, true, false} for i := range tries { if tries[i] != want[i] { t.Errorf("tries[%d]: got %t, want %t", i, tries[i], want[i]) } } } func TestWeightedDoesntBlockIfTooBig(t *testing.T) { t.Parallel() const n = 2 sem := semaphore.NewWeighted(n) { ctx, cancel := context.WithCancel(context.Background()) defer cancel() go sem.Acquire(ctx, n+1) } g, ctx := errgroup.WithContext(context.Background()) for i := n * 3; i > 0; i-- { g.Go(func() error { err := sem.Acquire(ctx, 1) if err == nil { time.Sleep(1 * time.Millisecond) sem.Release(1) } return err }) } if err := g.Wait(); err != nil { t.Errorf("semaphore.NewWeighted(%v) failed to AcquireCtx(_, 1) with AcquireCtx(_, %v) pending", n, n+1) } } // TestLargeAcquireDoesntStarve times out if a large call to Acquire starves. // Merely returning from the test function indicates success. func TestLargeAcquireDoesntStarve(t *testing.T) { t.Parallel() ctx := context.Background() n := int64(runtime.GOMAXPROCS(0)) sem := semaphore.NewWeighted(n) running := true var wg sync.WaitGroup wg.Add(int(n)) for i := n; i > 0; i-- { sem.Acquire(ctx, 1) go func() { defer func() { sem.Release(1) wg.Done() }() for running { time.Sleep(1 * time.Millisecond) sem.Release(1) sem.Acquire(ctx, 1) } }() } sem.Acquire(ctx, n) running = false sem.Release(n) wg.Wait() } // translated from https://github.com/zhiqiangxu/util/blob/master/mutex/crwmutex_test.go#L43 func TestAllocCancelDoesntStarve(t *testing.T) { sem := semaphore.NewWeighted(10) // Block off a portion of the semaphore so that Acquire(_, 10) can eventually succeed. sem.Acquire(context.Background(), 1) // In the background, Acquire(_, 10). ctx, cancel := context.WithCancel(context.Background()) defer cancel() go func() { sem.Acquire(ctx, 10) }() // Wait until the Acquire(_, 10) call blocks. for sem.TryAcquire(1) { sem.Release(1) runtime.Gosched() } // Now try to grab a read lock, and simultaneously unblock the Acquire(_, 10) call. // Both Acquire calls should unblock and return, in either order. go cancel() err := sem.Acquire(context.Background(), 1) if err != nil { t.Fatalf("Acquire(_, 1) failed unexpectedly: %v", err) } sem.Release(1) } func TestWeightedAcquireCanceled(t *testing.T) { // https://go.dev/issue/63615 sem := semaphore.NewWeighted(2) ctx, cancel := context.WithCancel(context.Background()) sem.Acquire(context.Background(), 1) ch := make(chan struct{}) go func() { // Synchronize with the Acquire(2) below. for sem.TryAcquire(1) { sem.Release(1) } // Now cancel ctx, and then release the token. cancel() sem.Release(1) close(ch) }() // Since the context closing happens before enough tokens become available, // this Acquire must fail. if err := sem.Acquire(ctx, 2); err != context.Canceled { t.Errorf("Acquire with canceled context returned wrong error: want context.Canceled, got %v", err) } // There must always be two tokens in the semaphore after the other // goroutine releases the one we held at the start. <-ch if !sem.TryAcquire(2) { t.Fatal("TryAcquire after canceled Acquire failed") } // Additionally verify that we don't acquire with a done context even when // we wouldn't need to block to do so. sem.Release(2) if err := sem.Acquire(ctx, 1); err != context.Canceled { t.Errorf("Acquire with canceled context returned wrong error: want context.Canceled, got %v", err) } } dependencies/pkg/mod/golang.org/x/sync@v0.18.0/semaphore/semaphore.go0000644000000000000000000001040615107355263024262 0ustar rootroot// Copyright 2017 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 semaphore provides a weighted semaphore implementation. package semaphore // import "golang.org/x/sync/semaphore" import ( "container/list" "context" "sync" ) type waiter struct { n int64 ready chan<- struct{} // Closed when semaphore acquired. } // NewWeighted creates a new weighted semaphore with the given // maximum combined weight for concurrent access. func NewWeighted(n int64) *Weighted { w := &Weighted{size: n} return w } // Weighted provides a way to bound concurrent access to a resource. // The callers can request access with a given weight. type Weighted struct { size int64 cur int64 mu sync.Mutex waiters list.List } // Acquire acquires the semaphore with a weight of n, blocking until resources // are available or ctx is done. On success, returns nil. On failure, returns // ctx.Err() and leaves the semaphore unchanged. func (s *Weighted) Acquire(ctx context.Context, n int64) error { done := ctx.Done() s.mu.Lock() select { case <-done: // ctx becoming done has "happened before" acquiring the semaphore, // whether it became done before the call began or while we were // waiting for the mutex. We prefer to fail even if we could acquire // the mutex without blocking. s.mu.Unlock() return ctx.Err() default: } if s.size-s.cur >= n && s.waiters.Len() == 0 { // Since we hold s.mu and haven't synchronized since checking done, if // ctx becomes done before we return here, it becoming done must have // "happened concurrently" with this call - it cannot "happen before" // we return in this branch. So, we're ok to always acquire here. s.cur += n s.mu.Unlock() return nil } if n > s.size { // Don't make other Acquire calls block on one that's doomed to fail. s.mu.Unlock() <-done return ctx.Err() } ready := make(chan struct{}) w := waiter{n: n, ready: ready} elem := s.waiters.PushBack(w) s.mu.Unlock() select { case <-done: s.mu.Lock() select { case <-ready: // Acquired the semaphore after we were canceled. // Pretend we didn't and put the tokens back. s.cur -= n s.notifyWaiters() default: isFront := s.waiters.Front() == elem s.waiters.Remove(elem) // If we're at the front and there're extra tokens left, notify other waiters. if isFront && s.size > s.cur { s.notifyWaiters() } } s.mu.Unlock() return ctx.Err() case <-ready: // Acquired the semaphore. Check that ctx isn't already done. // We check the done channel instead of calling ctx.Err because we // already have the channel, and ctx.Err is O(n) with the nesting // depth of ctx. select { case <-done: s.Release(n) return ctx.Err() default: } return nil } } // TryAcquire acquires the semaphore with a weight of n without blocking. // On success, returns true. On failure, returns false and leaves the semaphore unchanged. func (s *Weighted) TryAcquire(n int64) bool { s.mu.Lock() success := s.size-s.cur >= n && s.waiters.Len() == 0 if success { s.cur += n } s.mu.Unlock() return success } // Release releases the semaphore with a weight of n. func (s *Weighted) Release(n int64) { s.mu.Lock() s.cur -= n if s.cur < 0 { s.mu.Unlock() panic("semaphore: released more than held") } s.notifyWaiters() s.mu.Unlock() } func (s *Weighted) notifyWaiters() { for { next := s.waiters.Front() if next == nil { break // No more waiters blocked. } w := next.Value.(waiter) if s.size-s.cur < w.n { // Not enough tokens for the next waiter. We could keep going (to try to // find a waiter with a smaller request), but under load that could cause // starvation for large requests; instead, we leave all remaining waiters // blocked. // // Consider a semaphore used as a read-write lock, with N tokens, N // readers, and one writer. Each reader can Acquire(1) to obtain a read // lock. The writer can Acquire(N) to obtain a write lock, excluding all // of the readers. If we allow the readers to jump ahead in the queue, // the writer will starve — there is always one token available for every // reader. break } s.cur += w.n s.waiters.Remove(next) close(w.ready) } } dependencies/pkg/mod/golang.org/x/sync@v0.18.0/semaphore/semaphore_bench_test.go0000644000000000000000000000543315107355263026464 0ustar rootroot// Copyright 2017 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 semaphore_test import ( "context" "fmt" "testing" "golang.org/x/sync/semaphore" ) // weighted is an interface matching a subset of *Weighted. It allows // alternate implementations for testing and benchmarking. type weighted interface { Acquire(context.Context, int64) error TryAcquire(int64) bool Release(int64) } // semChan implements Weighted using a channel for // comparing against the condition variable-based implementation. type semChan chan struct{} func newSemChan(n int64) semChan { return semChan(make(chan struct{}, n)) } func (s semChan) Acquire(_ context.Context, n int64) error { for i := int64(0); i < n; i++ { s <- struct{}{} } return nil } func (s semChan) TryAcquire(n int64) bool { if int64(len(s))+n > int64(cap(s)) { return false } for i := int64(0); i < n; i++ { s <- struct{}{} } return true } func (s semChan) Release(n int64) { for i := int64(0); i < n; i++ { <-s } } // acquireN calls Acquire(size) on sem N times and then calls Release(size) N times. func acquireN(b *testing.B, sem weighted, size int64, N int) { b.ResetTimer() for i := 0; i < b.N; i++ { for j := 0; j < N; j++ { sem.Acquire(context.Background(), size) } for j := 0; j < N; j++ { sem.Release(size) } } } // tryAcquireN calls TryAcquire(size) on sem N times and then calls Release(size) N times. func tryAcquireN(b *testing.B, sem weighted, size int64, N int) { b.ResetTimer() for i := 0; i < b.N; i++ { for j := 0; j < N; j++ { if !sem.TryAcquire(size) { b.Fatalf("TryAcquire(%v) = false, want true", size) } } for j := 0; j < N; j++ { sem.Release(size) } } } func BenchmarkNewSeq(b *testing.B) { for _, cap := range []int64{1, 128} { b.Run(fmt.Sprintf("Weighted-%d", cap), func(b *testing.B) { for i := 0; i < b.N; i++ { _ = semaphore.NewWeighted(cap) } }) b.Run(fmt.Sprintf("semChan-%d", cap), func(b *testing.B) { for i := 0; i < b.N; i++ { _ = newSemChan(cap) } }) } } func BenchmarkAcquireSeq(b *testing.B) { for _, c := range []struct { cap, size int64 N int }{ {1, 1, 1}, {2, 1, 1}, {16, 1, 1}, {128, 1, 1}, {2, 2, 1}, {16, 2, 8}, {128, 2, 64}, {2, 1, 2}, {16, 8, 2}, {128, 64, 2}, } { for _, w := range []struct { name string w weighted }{ {"Weighted", semaphore.NewWeighted(c.cap)}, {"semChan", newSemChan(c.cap)}, } { b.Run(fmt.Sprintf("%s-acquire-%d-%d-%d", w.name, c.cap, c.size, c.N), func(b *testing.B) { acquireN(b, w.w, c.size, c.N) }) b.Run(fmt.Sprintf("%s-tryAcquire-%d-%d-%d", w.name, c.cap, c.size, c.N), func(b *testing.B) { tryAcquireN(b, w.w, c.size, c.N) }) } } } dependencies/pkg/mod/golang.org/x/sync@v0.18.0/errgroup/0000755000000000000000000000000015107355263021631 5ustar rootrootdependencies/pkg/mod/golang.org/x/sync@v0.18.0/errgroup/errgroup_example_md5all_test.go0000644000000000000000000000456315107355263030045 0ustar rootroot// 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. package errgroup_test import ( "context" "crypto/md5" "fmt" "log" "os" "path/filepath" "golang.org/x/sync/errgroup" ) // Pipeline demonstrates the use of a Group to implement a multi-stage // pipeline: a version of the MD5All function with bounded parallelism from // https://blog.golang.org/pipelines. func ExampleGroup_pipeline() { m, err := MD5All(context.Background(), ".") if err != nil { log.Fatal(err) } for k, sum := range m { fmt.Printf("%s:\t%x\n", k, sum) } } type result struct { path string sum [md5.Size]byte } // MD5All reads all the files in the file tree rooted at root and returns a map // from file path to the MD5 sum of the file's contents. If the directory walk // fails or any read operation fails, MD5All returns an error. func MD5All(ctx context.Context, root string) (map[string][md5.Size]byte, error) { // ctx is canceled when g.Wait() returns. When this version of MD5All returns // - even in case of error! - we know that all of the goroutines have finished // and the memory they were using can be garbage-collected. g, ctx := errgroup.WithContext(ctx) paths := make(chan string) g.Go(func() error { defer close(paths) return filepath.Walk(root, func(path string, info os.FileInfo, err error) error { if err != nil { return err } if !info.Mode().IsRegular() { return nil } select { case paths <- path: case <-ctx.Done(): return ctx.Err() } return nil }) }) // Start a fixed number of goroutines to read and digest files. c := make(chan result) const numDigesters = 20 for i := 0; i < numDigesters; i++ { g.Go(func() error { for path := range paths { data, err := os.ReadFile(path) if err != nil { return err } select { case c <- result{path, md5.Sum(data)}: case <-ctx.Done(): return ctx.Err() } } return nil }) } go func() { g.Wait() close(c) }() m := make(map[string][md5.Size]byte) for r := range c { m[r.path] = r.sum } // Check whether any of the goroutines failed. Since g is accumulating the // errors, we don't need to send them (or check for them) in the individual // results sent on the channel. if err := g.Wait(); err != nil { return nil, err } return m, nil } dependencies/pkg/mod/golang.org/x/sync@v0.18.0/errgroup/errgroup_test.go0000644000000000000000000001476715107355263025103 0ustar rootroot// 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. package errgroup_test import ( "context" "errors" "fmt" "net/http" "os" "sync/atomic" "testing" "time" "golang.org/x/sync/errgroup" ) var ( Web = fakeSearch("web") Image = fakeSearch("image") Video = fakeSearch("video") ) type Result string type Search func(ctx context.Context, query string) (Result, error) func fakeSearch(kind string) Search { return func(_ context.Context, query string) (Result, error) { return Result(fmt.Sprintf("%s result for %q", kind, query)), nil } } // JustErrors illustrates the use of a Group in place of a sync.WaitGroup to // simplify goroutine counting and error handling. This example is derived from // the sync.WaitGroup example at https://golang.org/pkg/sync/#example_WaitGroup. func ExampleGroup_justErrors() { g := new(errgroup.Group) var urls = []string{ "http://www.golang.org/", "http://www.google.com/", "http://www.somestupidname.com/", } for _, url := range urls { // Launch a goroutine to fetch the URL. url := url // https://golang.org/doc/faq#closures_and_goroutines g.Go(func() error { // Fetch the URL. resp, err := http.Get(url) if err == nil { resp.Body.Close() } return err }) } // Wait for all HTTP fetches to complete. if err := g.Wait(); err == nil { fmt.Println("Successfully fetched all URLs.") } } // Parallel illustrates the use of a Group for synchronizing a simple parallel // task: the "Google Search 2.0" function from // https://talks.golang.org/2012/concurrency.slide#46, augmented with a Context // and error-handling. func ExampleGroup_parallel() { Google := func(ctx context.Context, query string) ([]Result, error) { g, ctx := errgroup.WithContext(ctx) searches := []Search{Web, Image, Video} results := make([]Result, len(searches)) for i, search := range searches { i, search := i, search // https://golang.org/doc/faq#closures_and_goroutines g.Go(func() error { result, err := search(ctx, query) if err == nil { results[i] = result } return err }) } if err := g.Wait(); err != nil { return nil, err } return results, nil } results, err := Google(context.Background(), "golang") if err != nil { fmt.Fprintln(os.Stderr, err) return } for _, result := range results { fmt.Println(result) } // Output: // web result for "golang" // image result for "golang" // video result for "golang" } func TestZeroGroup(t *testing.T) { err1 := errors.New("errgroup_test: 1") err2 := errors.New("errgroup_test: 2") cases := []struct { errs []error }{ {errs: []error{}}, {errs: []error{nil}}, {errs: []error{err1}}, {errs: []error{err1, nil}}, {errs: []error{err1, nil, err2}}, } for _, tc := range cases { g := new(errgroup.Group) var firstErr error for i, err := range tc.errs { err := err g.Go(func() error { return err }) if firstErr == nil && err != nil { firstErr = err } if gErr := g.Wait(); gErr != firstErr { t.Errorf("after %T.Go(func() error { return err }) for err in %v\n"+ "g.Wait() = %v; want %v", g, tc.errs[:i+1], err, firstErr) } } } } func TestWithContext(t *testing.T) { errDoom := errors.New("group_test: doomed") cases := []struct { errs []error want error }{ {want: nil}, {errs: []error{nil}, want: nil}, {errs: []error{errDoom}, want: errDoom}, {errs: []error{errDoom, nil}, want: errDoom}, } for _, tc := range cases { g, ctx := errgroup.WithContext(context.Background()) for _, err := range tc.errs { err := err g.Go(func() error { return err }) } if err := g.Wait(); err != tc.want { t.Errorf("after %T.Go(func() error { return err }) for err in %v\n"+ "g.Wait() = %v; want %v", g, tc.errs, err, tc.want) } canceled := false select { case <-ctx.Done(): canceled = true default: } if !canceled { t.Errorf("after %T.Go(func() error { return err }) for err in %v\n"+ "ctx.Done() was not closed", g, tc.errs) } } } func TestTryGo(t *testing.T) { g := &errgroup.Group{} n := 42 g.SetLimit(42) ch := make(chan struct{}) fn := func() error { ch <- struct{}{} return nil } for i := 0; i < n; i++ { if !g.TryGo(fn) { t.Fatalf("TryGo should succeed but got fail at %d-th call.", i) } } if g.TryGo(fn) { t.Fatalf("TryGo is expected to fail but succeeded.") } go func() { for i := 0; i < n; i++ { <-ch } }() g.Wait() if !g.TryGo(fn) { t.Fatalf("TryGo should success but got fail after all goroutines.") } go func() { <-ch }() g.Wait() // Switch limit. g.SetLimit(1) if !g.TryGo(fn) { t.Fatalf("TryGo should success but got failed.") } if g.TryGo(fn) { t.Fatalf("TryGo should fail but succeeded.") } go func() { <-ch }() g.Wait() // Block all calls. g.SetLimit(0) for i := 0; i < 1<<10; i++ { if g.TryGo(fn) { t.Fatalf("TryGo should fail but got succeeded.") } } g.Wait() } func TestGoLimit(t *testing.T) { const limit = 10 g := &errgroup.Group{} g.SetLimit(limit) var active int32 for i := 0; i <= 1<<10; i++ { g.Go(func() error { n := atomic.AddInt32(&active, 1) if n > limit { return fmt.Errorf("saw %d active goroutines; want ≤ %d", n, limit) } time.Sleep(1 * time.Microsecond) // Give other goroutines a chance to increment active. atomic.AddInt32(&active, -1) return nil }) } if err := g.Wait(); err != nil { t.Fatal(err) } } func TestCancelCause(t *testing.T) { errDoom := errors.New("group_test: doomed") cases := []struct { errs []error want error }{ {want: nil}, {errs: []error{nil}, want: nil}, {errs: []error{errDoom}, want: errDoom}, {errs: []error{errDoom, nil}, want: errDoom}, } for _, tc := range cases { g, ctx := errgroup.WithContext(context.Background()) for _, err := range tc.errs { err := err g.TryGo(func() error { return err }) } if err := g.Wait(); err != tc.want { t.Errorf("after %T.TryGo(func() error { return err }) for err in %v\n"+ "g.Wait() = %v; want %v", g, tc.errs, err, tc.want) } if tc.want == nil { tc.want = context.Canceled } if err := context.Cause(ctx); err != tc.want { t.Errorf("after %T.TryGo(func() error { return err }) for err in %v\n"+ "context.Cause(ctx) = %v; tc.want %v", g, tc.errs, err, tc.want) } } } func BenchmarkGo(b *testing.B) { fn := func() {} g := &errgroup.Group{} b.ResetTimer() b.ReportAllocs() for i := 0; i < b.N; i++ { g.Go(func() error { fn(); return nil }) } g.Wait() } dependencies/pkg/mod/golang.org/x/sync@v0.18.0/errgroup/errgroup.go0000644000000000000000000000765015107355263024035 0ustar rootroot// 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. // Package errgroup provides synchronization, error propagation, and Context // cancellation for groups of goroutines working on subtasks of a common task. // // [errgroup.Group] is related to [sync.WaitGroup] but adds handling of tasks // returning errors. package errgroup import ( "context" "fmt" "sync" ) type token struct{} // A Group is a collection of goroutines working on subtasks that are part of // the same overall task. A Group should not be reused for different tasks. // // A zero Group is valid, has no limit on the number of active goroutines, // and does not cancel on error. type Group struct { cancel func(error) wg sync.WaitGroup sem chan token errOnce sync.Once err error } func (g *Group) done() { if g.sem != nil { <-g.sem } g.wg.Done() } // WithContext returns a new Group and an associated Context derived from ctx. // // The derived Context is canceled the first time a function passed to Go // returns a non-nil error or the first time Wait returns, whichever occurs // first. func WithContext(ctx context.Context) (*Group, context.Context) { ctx, cancel := context.WithCancelCause(ctx) return &Group{cancel: cancel}, ctx } // Wait blocks until all function calls from the Go method have returned, then // returns the first non-nil error (if any) from them. func (g *Group) Wait() error { g.wg.Wait() if g.cancel != nil { g.cancel(g.err) } return g.err } // Go calls the given function in a new goroutine. // // The first call to Go must happen before a Wait. // It blocks until the new goroutine can be added without the number of // goroutines in the group exceeding the configured limit. // // The first goroutine in the group that returns a non-nil error will // cancel the associated Context, if any. The error will be returned // by Wait. func (g *Group) Go(f func() error) { if g.sem != nil { g.sem <- token{} } g.wg.Add(1) go func() { defer g.done() // It is tempting to propagate panics from f() // up to the goroutine that calls Wait, but // it creates more problems than it solves: // - it delays panics arbitrarily, // making bugs harder to detect; // - it turns f's panic stack into a mere value, // hiding it from crash-monitoring tools; // - it risks deadlocks that hide the panic entirely, // if f's panic leaves the program in a state // that prevents the Wait call from being reached. // See #53757, #74275, #74304, #74306. if err := f(); err != nil { g.errOnce.Do(func() { g.err = err if g.cancel != nil { g.cancel(g.err) } }) } }() } // TryGo calls the given function in a new goroutine only if the number of // active goroutines in the group is currently below the configured limit. // // The return value reports whether the goroutine was started. func (g *Group) TryGo(f func() error) bool { if g.sem != nil { select { case g.sem <- token{}: // Note: this allows barging iff channels in general allow barging. default: return false } } g.wg.Add(1) go func() { defer g.done() if err := f(); err != nil { g.errOnce.Do(func() { g.err = err if g.cancel != nil { g.cancel(g.err) } }) } }() return true } // SetLimit limits the number of active goroutines in this group to at most n. // A negative value indicates no limit. // A limit of zero will prevent any new goroutines from being added. // // Any subsequent call to the Go method will block until it can add an active // goroutine without exceeding the configured limit. // // The limit must not be modified while any goroutines in the group are active. func (g *Group) SetLimit(n int) { if n < 0 { g.sem = nil return } if len(g.sem) != 0 { panic(fmt.Errorf("errgroup: modify limit while %v goroutines in the group are still active", len(g.sem))) } g.sem = make(chan token, n) } dependencies/pkg/mod/golang.org/x/exp@v0.0.0-20240506185415-9bf2ced13842/0000755000000000000000000000000015107355263022721 5ustar rootrootdependencies/pkg/mod/golang.org/x/exp@v0.0.0-20240506185415-9bf2ced13842/README.md0000644000000000000000000000156015107355263024202 0ustar rootroot# exp [![PkgGoDev](https://pkg.go.dev/badge/golang.org/x/exp)](https://pkg.go.dev/golang.org/x/exp) This subrepository holds experimental and deprecated (in the `old` directory) packages. The idea for this subrepository originated as the `pkg/exp` directory of the main repository, but its presence there made it unavailable to users of the binary downloads of the Go installation. The subrepository has therefore been created to make it possible to `go get` these packages. **Warning:** Packages here are experimental and unreliable. Some may one day be promoted to the main repository or other subrepository, or they may be modified arbitrarily or even disappear altogether. In short, code in this subrepository is not subject to the Go 1 compatibility promise. (No subrepo is, but the promise is even more likely to be violated by go.exp than the others.) Caveat emptor. dependencies/pkg/mod/golang.org/x/exp@v0.0.0-20240506185415-9bf2ced13842/utf8string/0000755000000000000000000000000015107355263025036 5ustar rootrootdependencies/pkg/mod/golang.org/x/exp@v0.0.0-20240506185415-9bf2ced13842/utf8string/string.go0000644000000000000000000001276715107355263026710 0ustar rootroot// 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 utf8string provides an efficient way to index strings by rune rather than by byte. package utf8string // import "golang.org/x/exp/utf8string" import ( "errors" "unicode/utf8" ) // String wraps a regular string with a small structure that provides more // efficient indexing by code point index, as opposed to byte index. // Scanning incrementally forwards or backwards is O(1) per index operation // (although not as fast a range clause going forwards). Random access is // O(N) in the length of the string, but the overhead is less than always // scanning from the beginning. // If the string is ASCII, random access is O(1). // Unlike the built-in string type, String has internal mutable state and // is not thread-safe. type String struct { str string numRunes int // If width > 0, the rune at runePos starts at bytePos and has the specified width. width int bytePos int runePos int nonASCII int // byte index of the first non-ASCII rune. } // NewString returns a new UTF-8 string with the provided contents. func NewString(contents string) *String { return new(String).Init(contents) } // Init initializes an existing String to hold the provided contents. // It returns a pointer to the initialized String. func (s *String) Init(contents string) *String { s.str = contents s.bytePos = 0 s.runePos = 0 for i := 0; i < len(contents); i++ { if contents[i] >= utf8.RuneSelf { // Not ASCII. s.numRunes = utf8.RuneCountInString(contents) _, s.width = utf8.DecodeRuneInString(contents) s.nonASCII = i return s } } // ASCII is simple. Also, the empty string is ASCII. s.numRunes = len(contents) s.width = 0 s.nonASCII = len(contents) return s } // String returns the contents of the String. This method also means the // String is directly printable by fmt.Print. func (s *String) String() string { return s.str } // RuneCount returns the number of runes (Unicode code points) in the String. func (s *String) RuneCount() int { return s.numRunes } // IsASCII returns a boolean indicating whether the String contains only ASCII bytes. func (s *String) IsASCII() bool { return s.width == 0 } // Slice returns the string sliced at rune positions [i:j]. func (s *String) Slice(i, j int) string { // ASCII is easy. Let the compiler catch the indexing error if there is one. if j < s.nonASCII { return s.str[i:j] } if i < 0 || j > s.numRunes || i > j { panic(sliceOutOfRange) } if i == j { return "" } // For non-ASCII, after At(i), bytePos is always the position of the indexed character. var low, high int switch { case i < s.nonASCII: low = i case i == s.numRunes: low = len(s.str) default: s.At(i) low = s.bytePos } switch { case j == s.numRunes: high = len(s.str) default: s.At(j) high = s.bytePos } return s.str[low:high] } // At returns the rune with index i in the String. The sequence of runes is the same // as iterating over the contents with a "for range" clause. func (s *String) At(i int) rune { // ASCII is easy. Let the compiler catch the indexing error if there is one. if i < s.nonASCII { return rune(s.str[i]) } // Now we do need to know the index is valid. if i < 0 || i >= s.numRunes { panic(outOfRange) } var r rune // Five easy common cases: within 1 spot of bytePos/runePos, or the beginning, or the end. // With these cases, all scans from beginning or end work in O(1) time per rune. switch { case i == s.runePos-1: // backing up one rune r, s.width = utf8.DecodeLastRuneInString(s.str[0:s.bytePos]) s.runePos = i s.bytePos -= s.width return r case i == s.runePos+1: // moving ahead one rune s.runePos = i s.bytePos += s.width fallthrough case i == s.runePos: r, s.width = utf8.DecodeRuneInString(s.str[s.bytePos:]) return r case i == 0: // start of string r, s.width = utf8.DecodeRuneInString(s.str) s.runePos = 0 s.bytePos = 0 return r case i == s.numRunes-1: // last rune in string r, s.width = utf8.DecodeLastRuneInString(s.str) s.runePos = i s.bytePos = len(s.str) - s.width return r } // We need to do a linear scan. There are three places to start from: // 1) The beginning // 2) bytePos/runePos. // 3) The end // Choose the closest in rune count, scanning backwards if necessary. forward := true if i < s.runePos { // Between beginning and pos. Which is closer? // Since both i and runePos are guaranteed >= nonASCII, that's the // lowest location we need to start from. if i < (s.runePos-s.nonASCII)/2 { // Scan forward from beginning s.bytePos, s.runePos = s.nonASCII, s.nonASCII } else { // Scan backwards from where we are forward = false } } else { // Between pos and end. Which is closer? if i-s.runePos < (s.numRunes-s.runePos)/2 { // Scan forward from pos } else { // Scan backwards from end s.bytePos, s.runePos = len(s.str), s.numRunes forward = false } } if forward { // TODO: Is it much faster to use a range loop for this scan? for { r, s.width = utf8.DecodeRuneInString(s.str[s.bytePos:]) if s.runePos == i { break } s.runePos++ s.bytePos += s.width } } else { for { r, s.width = utf8.DecodeLastRuneInString(s.str[0:s.bytePos]) s.runePos-- s.bytePos -= s.width if s.runePos == i { break } } } return r } var outOfRange = errors.New("utf8string: index out of range") var sliceOutOfRange = errors.New("utf8string: slice index out of range") dependencies/pkg/mod/golang.org/x/exp@v0.0.0-20240506185415-9bf2ced13842/utf8string/string_test.go0000644000000000000000000000556315107355263027743 0ustar rootroot// 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 utf8string import ( "math/rand" "testing" "unicode/utf8" ) var testStrings = []string{ "", "abcd", "☺☻☹", "日a本b語ç日ð本Ê語þ日¥本¼語i日©", "日a本b語ç日ð本Ê語þ日¥本¼語i日©日a本b語ç日ð本Ê語þ日¥本¼語i日©日a本b語ç日ð本Ê語þ日¥本¼語i日©", "\x80\x80\x80\x80", } func TestScanForwards(t *testing.T) { for _, s := range testStrings { runes := []rune(s) str := NewString(s) if str.RuneCount() != len(runes) { t.Errorf("%s: expected %d runes; got %d", s, len(runes), str.RuneCount()) break } for i, expect := range runes { got := str.At(i) if got != expect { t.Errorf("%s[%d]: expected %c (%U); got %c (%U)", s, i, expect, expect, got, got) } } } } func TestScanBackwards(t *testing.T) { for _, s := range testStrings { runes := []rune(s) str := NewString(s) if str.RuneCount() != len(runes) { t.Errorf("%s: expected %d runes; got %d", s, len(runes), str.RuneCount()) break } for i := len(runes) - 1; i >= 0; i-- { expect := runes[i] got := str.At(i) if got != expect { t.Errorf("%s[%d]: expected %c (%U); got %c (%U)", s, i, expect, expect, got, got) } } } } func randCount() int { if testing.Short() { return 100 } return 100000 } func TestRandomAccess(t *testing.T) { for _, s := range testStrings { if len(s) == 0 { continue } runes := []rune(s) str := NewString(s) if str.RuneCount() != len(runes) { t.Errorf("%s: expected %d runes; got %d", s, len(runes), str.RuneCount()) break } for j := 0; j < randCount(); j++ { i := rand.Intn(len(runes)) expect := runes[i] got := str.At(i) if got != expect { t.Errorf("%s[%d]: expected %c (%U); got %c (%U)", s, i, expect, expect, got, got) } } } } func TestRandomSliceAccess(t *testing.T) { for _, s := range testStrings { if len(s) == 0 || s[0] == '\x80' { // the bad-UTF-8 string fools this simple test continue } runes := []rune(s) str := NewString(s) if str.RuneCount() != len(runes) { t.Errorf("%s: expected %d runes; got %d", s, len(runes), str.RuneCount()) break } for k := 0; k < randCount(); k++ { i := rand.Intn(len(runes)) j := rand.Intn(len(runes) + 1) if i > j { // include empty strings continue } expect := string(runes[i:j]) got := str.Slice(i, j) if got != expect { t.Errorf("%s[%d:%d]: expected %q got %q", s, i, j, expect, got) } } } } func TestLimitSliceAccess(t *testing.T) { for _, s := range testStrings { str := NewString(s) if str.Slice(0, 0) != "" { t.Error("failure with empty slice at beginning") } nr := utf8.RuneCountInString(s) if str.Slice(nr, nr) != "" { t.Error("failure with empty slice at end") } } } dependencies/pkg/mod/golang.org/x/exp@v0.0.0-20240506185415-9bf2ced13842/ebnf/0000755000000000000000000000000015107355263023633 5ustar rootrootdependencies/pkg/mod/golang.org/x/exp@v0.0.0-20240506185415-9bf2ced13842/ebnf/parser.go0000644000000000000000000000766615107355263025475 0ustar rootroot// 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 ebnf import ( "io" "strconv" "text/scanner" ) type parser struct { errors errorList scanner scanner.Scanner pos scanner.Position // token position tok rune // one token look-ahead lit string // token literal } func (p *parser) next() { p.tok = p.scanner.Scan() p.pos = p.scanner.Position p.lit = p.scanner.TokenText() } func (p *parser) error(pos scanner.Position, msg string) { p.errors = append(p.errors, newError(pos, msg)) } func (p *parser) errorExpected(pos scanner.Position, msg string) { msg = `expected "` + msg + `"` if pos.Offset == p.pos.Offset { // the error happened at the current position; // make the error message more specific msg += ", found " + scanner.TokenString(p.tok) if p.tok < 0 { msg += " " + p.lit } } p.error(pos, msg) } func (p *parser) expect(tok rune) scanner.Position { pos := p.pos if p.tok != tok { p.errorExpected(pos, scanner.TokenString(tok)) } p.next() // make progress in any case return pos } func (p *parser) parseIdentifier() *Name { pos := p.pos name := p.lit p.expect(scanner.Ident) return &Name{pos, name} } func (p *parser) parseToken() *Token { pos := p.pos value := "" if p.tok == scanner.String || p.tok == scanner.RawString { value, _ = strconv.Unquote(p.lit) // Unquote may fail with an error, but only if the scanner found // an illegal string in the first place. In this case the error // has already been reported. p.next() } else { p.expect(scanner.String) } return &Token{pos, value} } // parseTerm returns nil if no term was found. func (p *parser) parseTerm() (x Expression) { pos := p.pos switch p.tok { case scanner.Ident: x = p.parseIdentifier() case scanner.String, scanner.RawString: tok := p.parseToken() x = tok const ellipsis = '…' // U+2026, the horizontal ellipsis character if p.tok == ellipsis { p.next() x = &Range{tok, p.parseToken()} } case '(': p.next() x = &Group{pos, p.parseExpression()} p.expect(')') case '[': p.next() x = &Option{pos, p.parseExpression()} p.expect(']') case '{': p.next() x = &Repetition{pos, p.parseExpression()} p.expect('}') } return x } func (p *parser) parseSequence() Expression { var list Sequence for x := p.parseTerm(); x != nil; x = p.parseTerm() { list = append(list, x) } // no need for a sequence if list.Len() < 2 switch len(list) { case 0: p.errorExpected(p.pos, "term") return &Bad{p.pos, "term expected"} case 1: return list[0] } return list } func (p *parser) parseExpression() Expression { var list Alternative for { list = append(list, p.parseSequence()) if p.tok != '|' { break } p.next() } // len(list) > 0 // no need for an Alternative node if list.Len() < 2 if len(list) == 1 { return list[0] } return list } func (p *parser) parseProduction() *Production { name := p.parseIdentifier() p.expect('=') var expr Expression if p.tok != '.' { expr = p.parseExpression() } p.expect('.') return &Production{name, expr} } func (p *parser) parse(filename string, src io.Reader) Grammar { p.scanner.Init(src) p.scanner.Filename = filename p.next() // initializes pos, tok, lit grammar := make(Grammar) for p.tok != scanner.EOF { prod := p.parseProduction() name := prod.Name.String if _, found := grammar[name]; !found { grammar[name] = prod } else { p.error(prod.Pos(), name+" declared already") } } return grammar } // Parse parses a set of EBNF productions from source src. // It returns a set of productions. Errors are reported // for incorrect syntax and if a production is declared // more than once; the filename is used only for error // positions. func Parse(filename string, src io.Reader) (Grammar, error) { var p parser grammar := p.parse(filename, src) return grammar, p.errors.Err() } dependencies/pkg/mod/golang.org/x/exp@v0.0.0-20240506185415-9bf2ced13842/ebnf/ebnf.go0000644000000000000000000001611715107355263025102 0ustar rootroot// 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 ebnf is a library for EBNF grammars. The input is text ([]byte) // satisfying the following grammar (represented itself in EBNF): // // Production = name "=" [ Expression ] "." . // Expression = Alternative { "|" Alternative } . // Alternative = Term { Term } . // Term = name | token [ "…" token ] | Group | Option | Repetition . // Group = "(" Expression ")" . // Option = "[" Expression "]" . // Repetition = "{" Expression "}" . // // A name is a Go identifier, a token is a Go string, and comments // and white space follow the same rules as for the Go language. // Production names starting with an uppercase Unicode letter denote // non-terminal productions (i.e., productions which allow white-space // and comments between tokens); all other production names denote // lexical productions. package ebnf // import "golang.org/x/exp/ebnf" import ( "errors" "fmt" "text/scanner" "unicode" "unicode/utf8" ) // ---------------------------------------------------------------------------- // Error handling type errorList []error func (list errorList) Err() error { if len(list) == 0 { return nil } return list } func (list errorList) Error() string { switch len(list) { case 0: return "no errors" case 1: return list[0].Error() } return fmt.Sprintf("%s (and %d more errors)", list[0], len(list)-1) } func newError(pos scanner.Position, msg string) error { return errors.New(fmt.Sprintf("%s: %s", pos, msg)) } // ---------------------------------------------------------------------------- // Internal representation type ( // An Expression node represents a production expression. Expression interface { // Pos is the position of the first character of the syntactic construct Pos() scanner.Position } // An Alternative node represents a non-empty list of alternative expressions. Alternative []Expression // x | y | z // A Sequence node represents a non-empty list of sequential expressions. Sequence []Expression // x y z // A Name node represents a production name. Name struct { StringPos scanner.Position String string } // A Token node represents a literal. Token struct { StringPos scanner.Position String string } // A List node represents a range of characters. Range struct { Begin, End *Token // begin ... end } // A Group node represents a grouped expression. Group struct { Lparen scanner.Position Body Expression // (body) } // An Option node represents an optional expression. Option struct { Lbrack scanner.Position Body Expression // [body] } // A Repetition node represents a repeated expression. Repetition struct { Lbrace scanner.Position Body Expression // {body} } // A Production node represents an EBNF production. Production struct { Name *Name Expr Expression } // A Bad node stands for pieces of source code that lead to a parse error. Bad struct { TokPos scanner.Position Error string // parser error message } // A Grammar is a set of EBNF productions. The map // is indexed by production name. // Grammar map[string]*Production ) func (x Alternative) Pos() scanner.Position { return x[0].Pos() } // the parser always generates non-empty Alternative func (x Sequence) Pos() scanner.Position { return x[0].Pos() } // the parser always generates non-empty Sequences func (x *Name) Pos() scanner.Position { return x.StringPos } func (x *Token) Pos() scanner.Position { return x.StringPos } func (x *Range) Pos() scanner.Position { return x.Begin.Pos() } func (x *Group) Pos() scanner.Position { return x.Lparen } func (x *Option) Pos() scanner.Position { return x.Lbrack } func (x *Repetition) Pos() scanner.Position { return x.Lbrace } func (x *Production) Pos() scanner.Position { return x.Name.Pos() } func (x *Bad) Pos() scanner.Position { return x.TokPos } // ---------------------------------------------------------------------------- // Grammar verification func isLexical(name string) bool { ch, _ := utf8.DecodeRuneInString(name) return !unicode.IsUpper(ch) } type verifier struct { errors errorList worklist []*Production reached Grammar // set of productions reached from (and including) the root production grammar Grammar } func (v *verifier) error(pos scanner.Position, msg string) { v.errors = append(v.errors, newError(pos, msg)) } func (v *verifier) push(prod *Production) { name := prod.Name.String if _, found := v.reached[name]; !found { v.worklist = append(v.worklist, prod) v.reached[name] = prod } } func (v *verifier) verifyChar(x *Token) rune { s := x.String if utf8.RuneCountInString(s) != 1 { v.error(x.Pos(), "single char expected, found "+s) return 0 } ch, _ := utf8.DecodeRuneInString(s) return ch } func (v *verifier) verifyExpr(expr Expression, lexical bool) { switch x := expr.(type) { case nil: // empty expression case Alternative: for _, e := range x { v.verifyExpr(e, lexical) } case Sequence: for _, e := range x { v.verifyExpr(e, lexical) } case *Name: // a production with this name must exist; // add it to the worklist if not yet processed if prod, found := v.grammar[x.String]; found { v.push(prod) } else { v.error(x.Pos(), "missing production "+x.String) } // within a lexical production references // to non-lexical productions are invalid if lexical && !isLexical(x.String) { v.error(x.Pos(), "reference to non-lexical production "+x.String) } case *Token: // nothing to do for now case *Range: i := v.verifyChar(x.Begin) j := v.verifyChar(x.End) if i >= j { v.error(x.Pos(), "decreasing character range") } case *Group: v.verifyExpr(x.Body, lexical) case *Option: v.verifyExpr(x.Body, lexical) case *Repetition: v.verifyExpr(x.Body, lexical) case *Bad: v.error(x.Pos(), x.Error) default: panic(fmt.Sprintf("internal error: unexpected type %T", expr)) } } func (v *verifier) verify(grammar Grammar, start string) { // find root production root, found := grammar[start] if !found { var noPos scanner.Position v.error(noPos, "no start production "+start) return } // initialize verifier v.worklist = v.worklist[0:0] v.reached = make(Grammar) v.grammar = grammar // work through the worklist v.push(root) for { n := len(v.worklist) - 1 if n < 0 { break } prod := v.worklist[n] v.worklist = v.worklist[0:n] v.verifyExpr(prod.Expr, isLexical(prod.Name.String)) } // check if all productions were reached if len(v.reached) < len(v.grammar) { for name, prod := range v.grammar { if _, found := v.reached[name]; !found { v.error(prod.Pos(), name+" is unreachable") } } } } // Verify checks that: // - all productions used are defined // - all productions defined are used when beginning at start // - lexical productions refer only to other lexical productions // // Position information is interpreted relative to the file set fset. func Verify(grammar Grammar, start string) error { var v verifier v.verify(grammar, start) return v.errors.Err() } dependencies/pkg/mod/golang.org/x/exp@v0.0.0-20240506185415-9bf2ced13842/ebnf/ebnf_test.go0000644000000000000000000000251315107355263026134 0ustar rootroot// 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 ebnf import ( "bytes" "testing" ) var goodGrammars = []string{ `Program = .`, `Program = foo . foo = "foo" .`, `Program = "a" | "b" "c" .`, `Program = "a" … "z" .`, `Program = Song . Song = { Note } . Note = Do | (Re | Mi | Fa | So | La) | Ti . Do = "c" . Re = "d" . Mi = "e" . Fa = "f" . So = "g" . La = "a" . Ti = ti . ti = "b" .`, "Program = `\"` .", } var badGrammars = []string{ `Program = | .`, `Program = | b .`, `Program = a … b .`, `Program = "a" … .`, `Program = … "b" .`, `Program = () .`, `Program = [] .`, `Program = {} .`, } func checkGood(t *testing.T, src string) { grammar, err := Parse("", bytes.NewBuffer([]byte(src))) if err != nil { t.Errorf("Parse(%s) failed: %v", src, err) return } if err = Verify(grammar, "Program"); err != nil { t.Errorf("Verify(%s) failed: %v", src, err) } } func checkBad(t *testing.T, src string) { _, err := Parse("", bytes.NewBuffer([]byte(src))) if err == nil { t.Errorf("Parse(%s) should have failed", src) } } func TestGrammars(t *testing.T) { for _, src := range goodGrammars { checkGood(t, src) } for _, src := range badGrammars { checkBad(t, src) } } dependencies/pkg/mod/golang.org/x/exp@v0.0.0-20240506185415-9bf2ced13842/trace/0000755000000000000000000000000015107355263024017 5ustar rootrootdependencies/pkg/mod/golang.org/x/exp@v0.0.0-20240506185415-9bf2ced13842/trace/reader_test.go0000644000000000000000000000754215107355263026657 0ustar rootroot// Copyright 2023 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. // Code generated by "gen.bash" from internal/trace/v2; DO NOT EDIT. //go:build go1.21 package trace_test import ( "bytes" "flag" "fmt" "io" "os" "path/filepath" "strings" "testing" "golang.org/x/exp/trace" "golang.org/x/exp/trace/internal/raw" "golang.org/x/exp/trace/internal/testtrace" "golang.org/x/exp/trace/internal/version" ) var ( logEvents = flag.Bool("log-events", false, "whether to log high-level events; significantly slows down tests") dumpTraces = flag.Bool("dump-traces", false, "dump traces even on success") ) func TestReaderGolden(t *testing.T) { matches, err := filepath.Glob("./testdata/tests/*.test") if err != nil { t.Fatalf("failed to glob for tests: %v", err) } for _, testPath := range matches { testPath := testPath testName, err := filepath.Rel("./testdata", testPath) if err != nil { t.Fatalf("failed to relativize testdata path: %v", err) } t.Run(testName, func(t *testing.T) { tr, exp, err := testtrace.ParseFile(testPath) if err != nil { t.Fatalf("failed to parse test file at %s: %v", testPath, err) } testReader(t, tr, exp) }) } } func FuzzReader(f *testing.F) { // Currently disabled because the parser doesn't do much validation and most // getters can be made to panic. Turn this on once the parser is meant to // reject invalid traces. const testGetters = false f.Fuzz(func(t *testing.T, b []byte) { r, err := trace.NewReader(bytes.NewReader(b)) if err != nil { return } for { ev, err := r.ReadEvent() if err != nil { break } if !testGetters { continue } // Make sure getters don't do anything that panics switch ev.Kind() { case trace.EventLabel: ev.Label() case trace.EventLog: ev.Log() case trace.EventMetric: ev.Metric() case trace.EventRangeActive, trace.EventRangeBegin: ev.Range() case trace.EventRangeEnd: ev.Range() ev.RangeAttributes() case trace.EventStateTransition: ev.StateTransition() case trace.EventRegionBegin, trace.EventRegionEnd: ev.Region() case trace.EventTaskBegin, trace.EventTaskEnd: ev.Task() case trace.EventSync: case trace.EventStackSample: case trace.EventBad: } } }) } func testReader(t *testing.T, tr io.Reader, exp *testtrace.Expectation) { r, err := trace.NewReader(tr) if err != nil { if err := exp.Check(err); err != nil { t.Error(err) } return } v := testtrace.NewValidator() for { ev, err := r.ReadEvent() if err == io.EOF { break } if err != nil { if err := exp.Check(err); err != nil { t.Error(err) } return } if *logEvents { t.Log(ev.String()) } if err := v.Event(ev); err != nil { t.Error(err) } } if err := exp.Check(nil); err != nil { t.Error(err) } } func dumpTraceToText(t *testing.T, b []byte) string { t.Helper() br, err := raw.NewReader(bytes.NewReader(b)) if err != nil { t.Fatalf("dumping trace: %v", err) } var sb strings.Builder tw, err := raw.NewTextWriter(&sb, version.Current) if err != nil { t.Fatalf("dumping trace: %v", err) } for { ev, err := br.ReadEvent() if err == io.EOF { break } if err != nil { t.Fatalf("dumping trace: %v", err) } if err := tw.WriteEvent(ev); err != nil { t.Fatalf("dumping trace: %v", err) } } return sb.String() } func dumpTraceToFile(t *testing.T, testName string, stress bool, b []byte) string { t.Helper() desc := "default" if stress { desc = "stress" } name := fmt.Sprintf("%s.%s.trace.", testName, desc) f, err := os.CreateTemp("", name) if err != nil { t.Fatalf("creating temp file: %v", err) } defer f.Close() if _, err := io.Copy(f, bytes.NewReader(b)); err != nil { t.Fatalf("writing trace dump to %q: %v", f.Name(), err) } return f.Name() } dependencies/pkg/mod/golang.org/x/exp@v0.0.0-20240506185415-9bf2ced13842/trace/event.go0000644000000000000000000006436215107355263025502 0ustar rootroot// Copyright 2023 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. // Code generated by "gen.bash" from internal/trace/v2; DO NOT EDIT. //go:build go1.21 package trace import ( "fmt" "math" "strings" "time" "golang.org/x/exp/trace/internal/event" "golang.org/x/exp/trace/internal/event/go122" "golang.org/x/exp/trace/internal/version" ) // EventKind indicates the kind of event this is. // // Use this information to obtain a more specific event that // allows access to more detailed information. type EventKind uint16 const ( EventBad EventKind = iota // EventKindSync is an event that indicates a global synchronization // point in the trace. At the point of a sync event, the // trace reader can be certain that all resources (e.g. threads, // goroutines) that have existed until that point have been enumerated. EventSync // EventMetric is an event that represents the value of a metric at // a particular point in time. EventMetric // EventLabel attaches a label to a resource. EventLabel // EventStackSample represents an execution sample, indicating what a // thread/proc/goroutine was doing at a particular point in time via // its backtrace. // // Note: Samples should be considered a close approximation of // what a thread/proc/goroutine was executing at a given point in time. // These events may slightly contradict the situation StateTransitions // describe, so they should only be treated as a best-effort annotation. EventStackSample // EventRangeBegin and EventRangeEnd are a pair of generic events representing // a special range of time. Ranges are named and scoped to some resource // (identified via ResourceKind). A range that has begun but has not ended // is considered active. // // EvRangeBegin and EvRangeEnd will share the same name, and an End will always // follow a Begin on the same instance of the resource. The associated // resource ID can be obtained from the Event. ResourceNone indicates the // range is globally scoped. That is, any goroutine/proc/thread can start or // stop, but only one such range may be active at any given time. // // EventRangeActive is like EventRangeBegin, but indicates that the range was // already active. In this case, the resource referenced may not be in the current // context. EventRangeBegin EventRangeActive EventRangeEnd // EvTaskBegin and EvTaskEnd are a pair of events representing a runtime/trace.Task. EventTaskBegin EventTaskEnd // EventRegionBegin and EventRegionEnd are a pair of events represent a runtime/trace.Region. EventRegionBegin EventRegionEnd // EventLog represents a runtime/trace.Log call. EventLog // Transitions in state for some resource. EventStateTransition ) // String returns a string form of the EventKind. func (e EventKind) String() string { if int(e) >= len(eventKindStrings) { return eventKindStrings[0] } return eventKindStrings[e] } var eventKindStrings = [...]string{ EventBad: "Bad", EventSync: "Sync", EventMetric: "Metric", EventLabel: "Label", EventStackSample: "StackSample", EventRangeBegin: "RangeBegin", EventRangeActive: "RangeActive", EventRangeEnd: "RangeEnd", EventTaskBegin: "TaskBegin", EventTaskEnd: "TaskEnd", EventRegionBegin: "RegionBegin", EventRegionEnd: "RegionEnd", EventLog: "Log", EventStateTransition: "StateTransition", } const maxTime = Time(math.MaxInt64) // Time is a timestamp in nanoseconds. // // It corresponds to the monotonic clock on the platform that the // trace was taken, and so is possible to correlate with timestamps // for other traces taken on the same machine using the same clock // (i.e. no reboots in between). // // The actual absolute value of the timestamp is only meaningful in // relation to other timestamps from the same clock. // // BUG: Timestamps coming from traces on Windows platforms are // only comparable with timestamps from the same trace. Timestamps // across traces cannot be compared, because the system clock is // not used as of Go 1.22. // // BUG: Traces produced by Go versions 1.21 and earlier cannot be // compared with timestamps from other traces taken on the same // machine. This is because the system clock was not used at all // to collect those timestamps. type Time int64 // Sub subtracts t0 from t, returning the duration in nanoseconds. func (t Time) Sub(t0 Time) time.Duration { return time.Duration(int64(t) - int64(t0)) } // Metric provides details about a Metric event. type Metric struct { // Name is the name of the sampled metric. // // Names follow the same convention as metric names in the // runtime/metrics package, meaning they include the unit. // Names that match with the runtime/metrics package represent // the same quantity. Note that this corresponds to the // runtime/metrics package for the Go version this trace was // collected for. Name string // Value is the sampled value of the metric. // // The Value's Kind is tied to the name of the metric, and so is // guaranteed to be the same for metric samples for the same metric. Value Value } // Label provides details about a Label event. type Label struct { // Label is the label applied to some resource. Label string // Resource is the resource to which this label should be applied. Resource ResourceID } // Range provides details about a Range event. type Range struct { // Name is a human-readable name for the range. // // This name can be used to identify the end of the range for the resource // its scoped to, because only one of each type of range may be active on // a particular resource. The relevant resource should be obtained from the // Event that produced these details. The corresponding RangeEnd will have // an identical name. Name string // Scope is the resource that the range is scoped to. // // For example, a ResourceGoroutine scope means that the same goroutine // must have a start and end for the range, and that goroutine can only // have one range of a particular name active at any given time. The // ID that this range is scoped to may be obtained via Event.Goroutine. // // The ResourceNone scope means that the range is globally scoped. As a // result, any goroutine/proc/thread may start or end the range, and only // one such named range may be active globally at any given time. // // For RangeBegin and RangeEnd events, this will always reference some // resource ID in the current execution context. For RangeActive events, // this may reference a resource not in the current context. Prefer Scope // over the current execution context. Scope ResourceID } // RangeAttributes provides attributes about a completed Range. type RangeAttribute struct { // Name is the human-readable name for the range. Name string // Value is the value of the attribute. Value Value } // TaskID is the internal ID of a task used to disambiguate tasks (even if they // are of the same type). type TaskID uint64 const ( // NoTask indicates the lack of a task. NoTask = TaskID(^uint64(0)) // BackgroundTask is the global task that events are attached to if there was // no other task in the context at the point the event was emitted. BackgroundTask = TaskID(0) ) // Task provides details about a Task event. type Task struct { // ID is a unique identifier for the task. // // This can be used to associate the beginning of a task with its end. ID TaskID // ParentID is the ID of the parent task. Parent TaskID // Type is the taskType that was passed to runtime/trace.NewTask. // // May be "" if a task's TaskBegin event isn't present in the trace. Type string } // Region provides details about a Region event. type Region struct { // Task is the ID of the task this region is associated with. Task TaskID // Type is the regionType that was passed to runtime/trace.StartRegion or runtime/trace.WithRegion. Type string } // Log provides details about a Log event. type Log struct { // Task is the ID of the task this region is associated with. Task TaskID // Category is the category that was passed to runtime/trace.Log or runtime/trace.Logf. Category string // Message is the message that was passed to runtime/trace.Log or runtime/trace.Logf. Message string } // Stack represents a stack. It's really a handle to a stack and it's trivially comparable. // // If two Stacks are equal then their Frames are guaranteed to be identical. If they are not // equal, however, their Frames may still be equal. type Stack struct { table *evTable id stackID } // Frames is an iterator over the frames in a Stack. func (s Stack) Frames(yield func(f StackFrame) bool) bool { if s.id == 0 { return true } stk := s.table.stacks.mustGet(s.id) for _, pc := range stk.pcs { f := s.table.pcs[pc] sf := StackFrame{ PC: f.pc, Func: s.table.strings.mustGet(f.funcID), File: s.table.strings.mustGet(f.fileID), Line: f.line, } if !yield(sf) { return false } } return true } // NoStack is a sentinel value that can be compared against any Stack value, indicating // a lack of a stack trace. var NoStack = Stack{} // StackFrame represents a single frame of a stack. type StackFrame struct { // PC is the program counter of the function call if this // is not a leaf frame. If it's a leaf frame, it's the point // at which the stack trace was taken. PC uint64 // Func is the name of the function this frame maps to. Func string // File is the file which contains the source code of Func. File string // Line is the line number within File which maps to PC. Line uint64 } // Event represents a single event in the trace. type Event struct { table *evTable ctx schedCtx base baseEvent } // Kind returns the kind of event that this is. func (e Event) Kind() EventKind { return go122Type2Kind[e.base.typ] } // Time returns the timestamp of the event. func (e Event) Time() Time { return e.base.time } // Goroutine returns the ID of the goroutine that was executing when // this event happened. It describes part of the execution context // for this event. // // Note that for goroutine state transitions this always refers to the // state before the transition. For example, if a goroutine is just // starting to run on this thread and/or proc, then this will return // NoGoroutine. In this case, the goroutine starting to run will be // can be found at Event.StateTransition().Resource. func (e Event) Goroutine() GoID { return e.ctx.G } // Proc returns the ID of the proc this event event pertains to. // // Note that for proc state transitions this always refers to the // state before the transition. For example, if a proc is just // starting to run on this thread, then this will return NoProc. func (e Event) Proc() ProcID { return e.ctx.P } // Thread returns the ID of the thread this event pertains to. // // Note that for thread state transitions this always refers to the // state before the transition. For example, if a thread is just // starting to run, then this will return NoThread. // // Note: tracking thread state is not currently supported, so this // will always return a valid thread ID. However thread state transitions // may be tracked in the future, and callers must be robust to this // possibility. func (e Event) Thread() ThreadID { return e.ctx.M } // Stack returns a handle to a stack associated with the event. // // This represents a stack trace at the current moment in time for // the current execution context. func (e Event) Stack() Stack { if e.base.typ == evSync { return NoStack } if e.base.typ == go122.EvCPUSample { return Stack{table: e.table, id: stackID(e.base.args[0])} } spec := go122.Specs()[e.base.typ] if len(spec.StackIDs) == 0 { return NoStack } // The stack for the main execution context is always the // first stack listed in StackIDs. Subtract one from this // because we've peeled away the timestamp argument. id := stackID(e.base.args[spec.StackIDs[0]-1]) if id == 0 { return NoStack } return Stack{table: e.table, id: id} } // Metric returns details about a Metric event. // // Panics if Kind != EventMetric. func (e Event) Metric() Metric { if e.Kind() != EventMetric { panic("Metric called on non-Metric event") } var m Metric switch e.base.typ { case go122.EvProcsChange: m.Name = "/sched/gomaxprocs:threads" m.Value = Value{kind: ValueUint64, scalar: e.base.args[0]} case go122.EvHeapAlloc: m.Name = "/memory/classes/heap/objects:bytes" m.Value = Value{kind: ValueUint64, scalar: e.base.args[0]} case go122.EvHeapGoal: m.Name = "/gc/heap/goal:bytes" m.Value = Value{kind: ValueUint64, scalar: e.base.args[0]} default: panic(fmt.Sprintf("internal error: unexpected event type for Metric kind: %s", go122.EventString(e.base.typ))) } return m } // Label returns details about a Label event. // // Panics if Kind != EventLabel. func (e Event) Label() Label { if e.Kind() != EventLabel { panic("Label called on non-Label event") } if e.base.typ != go122.EvGoLabel { panic(fmt.Sprintf("internal error: unexpected event type for Label kind: %s", go122.EventString(e.base.typ))) } return Label{ Label: e.table.strings.mustGet(stringID(e.base.args[0])), Resource: ResourceID{Kind: ResourceGoroutine, id: int64(e.ctx.G)}, } } // Range returns details about an EventRangeBegin, EventRangeActive, or EventRangeEnd event. // // Panics if Kind != EventRangeBegin, Kind != EventRangeActive, and Kind != EventRangeEnd. func (e Event) Range() Range { if kind := e.Kind(); kind != EventRangeBegin && kind != EventRangeActive && kind != EventRangeEnd { panic("Range called on non-Range event") } var r Range switch e.base.typ { case go122.EvSTWBegin, go122.EvSTWEnd: // N.B. ordering.advance smuggles in the STW reason as e.base.args[0] // for go122.EvSTWEnd (it's already there for Begin). r.Name = "stop-the-world (" + e.table.strings.mustGet(stringID(e.base.args[0])) + ")" r.Scope = ResourceID{Kind: ResourceGoroutine, id: int64(e.Goroutine())} case go122.EvGCBegin, go122.EvGCActive, go122.EvGCEnd: r.Name = "GC concurrent mark phase" r.Scope = ResourceID{Kind: ResourceNone} case go122.EvGCSweepBegin, go122.EvGCSweepActive, go122.EvGCSweepEnd: r.Name = "GC incremental sweep" r.Scope = ResourceID{Kind: ResourceProc} if e.base.typ == go122.EvGCSweepActive { r.Scope.id = int64(e.base.args[0]) } else { r.Scope.id = int64(e.Proc()) } r.Scope.id = int64(e.Proc()) case go122.EvGCMarkAssistBegin, go122.EvGCMarkAssistActive, go122.EvGCMarkAssistEnd: r.Name = "GC mark assist" r.Scope = ResourceID{Kind: ResourceGoroutine} if e.base.typ == go122.EvGCMarkAssistActive { r.Scope.id = int64(e.base.args[0]) } else { r.Scope.id = int64(e.Goroutine()) } default: panic(fmt.Sprintf("internal error: unexpected event type for Range kind: %s", go122.EventString(e.base.typ))) } return r } // RangeAttributes returns attributes for a completed range. // // Panics if Kind != EventRangeEnd. func (e Event) RangeAttributes() []RangeAttribute { if e.Kind() != EventRangeEnd { panic("Range called on non-Range event") } if e.base.typ != go122.EvGCSweepEnd { return nil } return []RangeAttribute{ { Name: "bytes swept", Value: Value{kind: ValueUint64, scalar: e.base.args[0]}, }, { Name: "bytes reclaimed", Value: Value{kind: ValueUint64, scalar: e.base.args[1]}, }, } } // Task returns details about a TaskBegin or TaskEnd event. // // Panics if Kind != EventTaskBegin and Kind != EventTaskEnd. func (e Event) Task() Task { if kind := e.Kind(); kind != EventTaskBegin && kind != EventTaskEnd { panic("Task called on non-Task event") } parentID := NoTask var typ string switch e.base.typ { case go122.EvUserTaskBegin: parentID = TaskID(e.base.args[1]) typ = e.table.strings.mustGet(stringID(e.base.args[2])) case go122.EvUserTaskEnd: parentID = TaskID(e.base.extra(version.Go122)[0]) typ = e.table.getExtraString(extraStringID(e.base.extra(version.Go122)[1])) default: panic(fmt.Sprintf("internal error: unexpected event type for Task kind: %s", go122.EventString(e.base.typ))) } return Task{ ID: TaskID(e.base.args[0]), Parent: parentID, Type: typ, } } // Region returns details about a RegionBegin or RegionEnd event. // // Panics if Kind != EventRegionBegin and Kind != EventRegionEnd. func (e Event) Region() Region { if kind := e.Kind(); kind != EventRegionBegin && kind != EventRegionEnd { panic("Region called on non-Region event") } if e.base.typ != go122.EvUserRegionBegin && e.base.typ != go122.EvUserRegionEnd { panic(fmt.Sprintf("internal error: unexpected event type for Region kind: %s", go122.EventString(e.base.typ))) } return Region{ Task: TaskID(e.base.args[0]), Type: e.table.strings.mustGet(stringID(e.base.args[1])), } } // Log returns details about a Log event. // // Panics if Kind != EventLog. func (e Event) Log() Log { if e.Kind() != EventLog { panic("Log called on non-Log event") } if e.base.typ != go122.EvUserLog { panic(fmt.Sprintf("internal error: unexpected event type for Log kind: %s", go122.EventString(e.base.typ))) } return Log{ Task: TaskID(e.base.args[0]), Category: e.table.strings.mustGet(stringID(e.base.args[1])), Message: e.table.strings.mustGet(stringID(e.base.args[2])), } } // StateTransition returns details about a StateTransition event. // // Panics if Kind != EventStateTransition. func (e Event) StateTransition() StateTransition { if e.Kind() != EventStateTransition { panic("StateTransition called on non-StateTransition event") } var s StateTransition switch e.base.typ { case go122.EvProcStart: s = procStateTransition(ProcID(e.base.args[0]), ProcIdle, ProcRunning) case go122.EvProcStop: s = procStateTransition(e.ctx.P, ProcRunning, ProcIdle) case go122.EvProcSteal: // N.B. ordering.advance populates e.base.extra. beforeState := ProcRunning if go122.ProcStatus(e.base.extra(version.Go122)[0]) == go122.ProcSyscallAbandoned { // We've lost information because this ProcSteal advanced on a // SyscallAbandoned state. Treat the P as idle because ProcStatus // treats SyscallAbandoned as Idle. Otherwise we'll have an invalid // transition. beforeState = ProcIdle } s = procStateTransition(ProcID(e.base.args[0]), beforeState, ProcIdle) case go122.EvProcStatus: // N.B. ordering.advance populates e.base.extra. s = procStateTransition(ProcID(e.base.args[0]), ProcState(e.base.extra(version.Go122)[0]), go122ProcStatus2ProcState[e.base.args[1]]) case go122.EvGoCreate, go122.EvGoCreateBlocked: status := GoRunnable if e.base.typ == go122.EvGoCreateBlocked { status = GoWaiting } s = goStateTransition(GoID(e.base.args[0]), GoNotExist, status) s.Stack = Stack{table: e.table, id: stackID(e.base.args[1])} case go122.EvGoCreateSyscall: s = goStateTransition(GoID(e.base.args[0]), GoNotExist, GoSyscall) case go122.EvGoStart: s = goStateTransition(GoID(e.base.args[0]), GoRunnable, GoRunning) case go122.EvGoDestroy: s = goStateTransition(e.ctx.G, GoRunning, GoNotExist) s.Stack = e.Stack() // This event references the resource the event happened on. case go122.EvGoDestroySyscall: s = goStateTransition(e.ctx.G, GoSyscall, GoNotExist) case go122.EvGoStop: s = goStateTransition(e.ctx.G, GoRunning, GoRunnable) s.Reason = e.table.strings.mustGet(stringID(e.base.args[0])) s.Stack = e.Stack() // This event references the resource the event happened on. case go122.EvGoBlock: s = goStateTransition(e.ctx.G, GoRunning, GoWaiting) s.Reason = e.table.strings.mustGet(stringID(e.base.args[0])) s.Stack = e.Stack() // This event references the resource the event happened on. case go122.EvGoUnblock, go122.EvGoSwitch, go122.EvGoSwitchDestroy: // N.B. GoSwitch and GoSwitchDestroy both emit additional events, but // the first thing they both do is unblock the goroutine they name, // identically to an unblock event (even their arguments match). s = goStateTransition(GoID(e.base.args[0]), GoWaiting, GoRunnable) case go122.EvGoSyscallBegin: s = goStateTransition(e.ctx.G, GoRunning, GoSyscall) s.Stack = e.Stack() // This event references the resource the event happened on. case go122.EvGoSyscallEnd: s = goStateTransition(e.ctx.G, GoSyscall, GoRunning) s.Stack = e.Stack() // This event references the resource the event happened on. case go122.EvGoSyscallEndBlocked: s = goStateTransition(e.ctx.G, GoSyscall, GoRunnable) s.Stack = e.Stack() // This event references the resource the event happened on. case go122.EvGoStatus, go122.EvGoStatusStack: // N.B. ordering.advance populates e.base.extra. s = goStateTransition(GoID(e.base.args[0]), GoState(e.base.extra(version.Go122)[0]), go122GoStatus2GoState[e.base.args[2]]) default: panic(fmt.Sprintf("internal error: unexpected event type for StateTransition kind: %s", go122.EventString(e.base.typ))) } return s } const evSync = ^event.Type(0) var go122Type2Kind = [...]EventKind{ go122.EvCPUSample: EventStackSample, go122.EvProcsChange: EventMetric, go122.EvProcStart: EventStateTransition, go122.EvProcStop: EventStateTransition, go122.EvProcSteal: EventStateTransition, go122.EvProcStatus: EventStateTransition, go122.EvGoCreate: EventStateTransition, go122.EvGoCreateSyscall: EventStateTransition, go122.EvGoStart: EventStateTransition, go122.EvGoDestroy: EventStateTransition, go122.EvGoDestroySyscall: EventStateTransition, go122.EvGoStop: EventStateTransition, go122.EvGoBlock: EventStateTransition, go122.EvGoUnblock: EventStateTransition, go122.EvGoSyscallBegin: EventStateTransition, go122.EvGoSyscallEnd: EventStateTransition, go122.EvGoSyscallEndBlocked: EventStateTransition, go122.EvGoStatus: EventStateTransition, go122.EvSTWBegin: EventRangeBegin, go122.EvSTWEnd: EventRangeEnd, go122.EvGCActive: EventRangeActive, go122.EvGCBegin: EventRangeBegin, go122.EvGCEnd: EventRangeEnd, go122.EvGCSweepActive: EventRangeActive, go122.EvGCSweepBegin: EventRangeBegin, go122.EvGCSweepEnd: EventRangeEnd, go122.EvGCMarkAssistActive: EventRangeActive, go122.EvGCMarkAssistBegin: EventRangeBegin, go122.EvGCMarkAssistEnd: EventRangeEnd, go122.EvHeapAlloc: EventMetric, go122.EvHeapGoal: EventMetric, go122.EvGoLabel: EventLabel, go122.EvUserTaskBegin: EventTaskBegin, go122.EvUserTaskEnd: EventTaskEnd, go122.EvUserRegionBegin: EventRegionBegin, go122.EvUserRegionEnd: EventRegionEnd, go122.EvUserLog: EventLog, go122.EvGoSwitch: EventStateTransition, go122.EvGoSwitchDestroy: EventStateTransition, go122.EvGoCreateBlocked: EventStateTransition, go122.EvGoStatusStack: EventStateTransition, evSync: EventSync, } var go122GoStatus2GoState = [...]GoState{ go122.GoRunnable: GoRunnable, go122.GoRunning: GoRunning, go122.GoWaiting: GoWaiting, go122.GoSyscall: GoSyscall, } var go122ProcStatus2ProcState = [...]ProcState{ go122.ProcRunning: ProcRunning, go122.ProcIdle: ProcIdle, go122.ProcSyscall: ProcRunning, go122.ProcSyscallAbandoned: ProcIdle, } // String returns the event as a human-readable string. // // The format of the string is intended for debugging and is subject to change. func (e Event) String() string { var sb strings.Builder fmt.Fprintf(&sb, "M=%d P=%d G=%d", e.Thread(), e.Proc(), e.Goroutine()) fmt.Fprintf(&sb, " %s Time=%d", e.Kind(), e.Time()) // Kind-specific fields. switch kind := e.Kind(); kind { case EventMetric: m := e.Metric() fmt.Fprintf(&sb, " Name=%q Value=%s", m.Name, valueAsString(m.Value)) case EventLabel: l := e.Label() fmt.Fprintf(&sb, " Label=%q Resource=%s", l.Label, l.Resource) case EventRangeBegin, EventRangeActive, EventRangeEnd: r := e.Range() fmt.Fprintf(&sb, " Name=%q Scope=%s", r.Name, r.Scope) if kind == EventRangeEnd { fmt.Fprintf(&sb, " Attributes=[") for i, attr := range e.RangeAttributes() { if i != 0 { fmt.Fprintf(&sb, " ") } fmt.Fprintf(&sb, "%q=%s", attr.Name, valueAsString(attr.Value)) } fmt.Fprintf(&sb, "]") } case EventTaskBegin, EventTaskEnd: t := e.Task() fmt.Fprintf(&sb, " ID=%d Parent=%d Type=%q", t.ID, t.Parent, t.Type) case EventRegionBegin, EventRegionEnd: r := e.Region() fmt.Fprintf(&sb, " Task=%d Type=%q", r.Task, r.Type) case EventLog: l := e.Log() fmt.Fprintf(&sb, " Task=%d Category=%q Message=%q", l.Task, l.Category, l.Message) case EventStateTransition: s := e.StateTransition() fmt.Fprintf(&sb, " Resource=%s Reason=%q", s.Resource, s.Reason) switch s.Resource.Kind { case ResourceGoroutine: id := s.Resource.Goroutine() old, new := s.Goroutine() fmt.Fprintf(&sb, " GoID=%d %s->%s", id, old, new) case ResourceProc: id := s.Resource.Proc() old, new := s.Proc() fmt.Fprintf(&sb, " ProcID=%d %s->%s", id, old, new) } if s.Stack != NoStack { fmt.Fprintln(&sb) fmt.Fprintln(&sb, "TransitionStack=") s.Stack.Frames(func(f StackFrame) bool { fmt.Fprintf(&sb, "\t%s @ 0x%x\n", f.Func, f.PC) fmt.Fprintf(&sb, "\t\t%s:%d\n", f.File, f.Line) return true }) } } if stk := e.Stack(); stk != NoStack { fmt.Fprintln(&sb) fmt.Fprintln(&sb, "Stack=") stk.Frames(func(f StackFrame) bool { fmt.Fprintf(&sb, "\t%s @ 0x%x\n", f.Func, f.PC) fmt.Fprintf(&sb, "\t\t%s:%d\n", f.File, f.Line) return true }) } return sb.String() } // validateTableIDs checks to make sure lookups in e.table // will work. func (e Event) validateTableIDs() error { if e.base.typ == evSync { return nil } spec := go122.Specs()[e.base.typ] // Check stacks. for _, i := range spec.StackIDs { id := stackID(e.base.args[i-1]) _, ok := e.table.stacks.get(id) if !ok { return fmt.Errorf("found invalid stack ID %d for event %s", id, spec.Name) } } // N.B. Strings referenced by stack frames are validated // early on, when reading the stacks in to begin with. // Check strings. for _, i := range spec.StringIDs { id := stringID(e.base.args[i-1]) _, ok := e.table.strings.get(id) if !ok { return fmt.Errorf("found invalid string ID %d for event %s", id, spec.Name) } } return nil } func syncEvent(table *evTable, ts Time) Event { return Event{ table: table, ctx: schedCtx{ G: NoGoroutine, P: NoProc, M: NoThread, }, base: baseEvent{ typ: evSync, time: ts, }, } } dependencies/pkg/mod/golang.org/x/exp@v0.0.0-20240506185415-9bf2ced13842/trace/reader.go0000644000000000000000000001531415107355263025614 0ustar rootroot// Copyright 2023 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. // Code generated by "gen.bash" from internal/trace/v2; DO NOT EDIT. //go:build go1.21 package trace import ( "bufio" "fmt" "io" "slices" "strings" "golang.org/x/exp/trace/internal/event/go122" "golang.org/x/exp/trace/internal/oldtrace" "golang.org/x/exp/trace/internal/version" ) // Reader reads a byte stream, validates it, and produces trace events. type Reader struct { r *bufio.Reader lastTs Time gen *generation spill *spilledBatch frontier []*batchCursor cpuSamples []cpuSample order ordering emittedSync bool go121Events *oldTraceConverter } // NewReader creates a new trace reader. func NewReader(r io.Reader) (*Reader, error) { br := bufio.NewReader(r) v, err := version.ReadHeader(br) if err != nil { return nil, err } switch v { case version.Go111, version.Go119, version.Go121: tr, err := oldtrace.Parse(br, v) if err != nil { return nil, err } return &Reader{ go121Events: convertOldFormat(tr), }, nil case version.Go122, version.Go123: return &Reader{ r: br, order: ordering{ mStates: make(map[ThreadID]*mState), pStates: make(map[ProcID]*pState), gStates: make(map[GoID]*gState), activeTasks: make(map[TaskID]taskState), }, // Don't emit a sync event when we first go to emit events. emittedSync: true, }, nil default: return nil, fmt.Errorf("unknown or unsupported version go 1.%d", v) } } // ReadEvent reads a single event from the stream. // // If the stream has been exhausted, it returns an invalid // event and io.EOF. func (r *Reader) ReadEvent() (e Event, err error) { if r.go121Events != nil { ev, err := r.go121Events.next() if err != nil { // XXX do we have to emit an EventSync when the trace is done? return Event{}, err } return ev, nil } // Go 1.22+ trace parsing algorithm. // // (1) Read in all the batches for the next generation from the stream. // (a) Use the size field in the header to quickly find all batches. // (2) Parse out the strings, stacks, CPU samples, and timestamp conversion data. // (3) Group each event batch by M, sorted by timestamp. (batchCursor contains the groups.) // (4) Organize batchCursors in a min-heap, ordered by the timestamp of the next event for each M. // (5) Try to advance the next event for the M at the top of the min-heap. // (a) On success, select that M. // (b) On failure, sort the min-heap and try to advance other Ms. Select the first M that advances. // (c) If there's nothing left to advance, goto (1). // (6) Select the latest event for the selected M and get it ready to be returned. // (7) Read the next event for the selected M and update the min-heap. // (8) Return the selected event, goto (5) on the next call. // Set us up to track the last timestamp and fix up // the timestamp of any event that comes through. defer func() { if err != nil { return } if err = e.validateTableIDs(); err != nil { return } if e.base.time <= r.lastTs { e.base.time = r.lastTs + 1 } r.lastTs = e.base.time }() // Consume any events in the ordering first. if ev, ok := r.order.Next(); ok { return ev, nil } // Check if we need to refresh the generation. if len(r.frontier) == 0 && len(r.cpuSamples) == 0 { if !r.emittedSync { r.emittedSync = true return syncEvent(r.gen.evTable, r.lastTs), nil } if r.gen != nil && r.spill == nil { // If we have a generation from the last read, // and there's nothing left in the frontier, and // there's no spilled batch, indicating that there's // no further generation, it means we're done. // Return io.EOF. return Event{}, io.EOF } // Read the next generation. r.gen, r.spill, err = readGeneration(r.r, r.spill) if err != nil { return Event{}, err } // Reset CPU samples cursor. r.cpuSamples = r.gen.cpuSamples // Reset frontier. for m, batches := range r.gen.batches { bc := &batchCursor{m: m} ok, err := bc.nextEvent(batches, r.gen.freq) if err != nil { return Event{}, err } if !ok { // Turns out there aren't actually any events in these batches. continue } r.frontier = heapInsert(r.frontier, bc) } // Reset emittedSync. r.emittedSync = false } tryAdvance := func(i int) (bool, error) { bc := r.frontier[i] if ok, err := r.order.Advance(&bc.ev, r.gen.evTable, bc.m, r.gen.gen); !ok || err != nil { return ok, err } // Refresh the cursor's event. ok, err := bc.nextEvent(r.gen.batches[bc.m], r.gen.freq) if err != nil { return false, err } if ok { // If we successfully refreshed, update the heap. heapUpdate(r.frontier, i) } else { // There's nothing else to read. Delete this cursor from the frontier. r.frontier = heapRemove(r.frontier, i) } return true, nil } // Inject a CPU sample if it comes next. if len(r.cpuSamples) != 0 { if len(r.frontier) == 0 || r.cpuSamples[0].time < r.frontier[0].ev.time { e := r.cpuSamples[0].asEvent(r.gen.evTable) r.cpuSamples = r.cpuSamples[1:] return e, nil } } // Try to advance the head of the frontier, which should have the minimum timestamp. // This should be by far the most common case if len(r.frontier) == 0 { return Event{}, fmt.Errorf("broken trace: frontier is empty:\n[gen=%d]\n\n%s\n%s\n", r.gen.gen, dumpFrontier(r.frontier), dumpOrdering(&r.order)) } if ok, err := tryAdvance(0); err != nil { return Event{}, err } else if !ok { // Try to advance the rest of the frontier, in timestamp order. // // To do this, sort the min-heap. A sorted min-heap is still a // min-heap, but now we can iterate over the rest and try to // advance in order. This path should be rare. slices.SortFunc(r.frontier, (*batchCursor).compare) success := false for i := 1; i < len(r.frontier); i++ { if ok, err = tryAdvance(i); err != nil { return Event{}, err } else if ok { success = true break } } if !success { return Event{}, fmt.Errorf("broken trace: failed to advance: frontier:\n[gen=%d]\n\n%s\n%s\n", r.gen.gen, dumpFrontier(r.frontier), dumpOrdering(&r.order)) } } // Pick off the next event on the queue. At this point, one must exist. ev, ok := r.order.Next() if !ok { panic("invariant violation: advance successful, but queue is empty") } return ev, nil } func dumpFrontier(frontier []*batchCursor) string { var sb strings.Builder for _, bc := range frontier { spec := go122.Specs()[bc.ev.typ] fmt.Fprintf(&sb, "M %d [%s time=%d", bc.m, spec.Name, bc.ev.time) for i, arg := range spec.Args[1:] { fmt.Fprintf(&sb, " %s=%d", arg, bc.ev.args[i]) } fmt.Fprintf(&sb, "]\n") } return sb.String() } dependencies/pkg/mod/golang.org/x/exp@v0.0.0-20240506185415-9bf2ced13842/trace/event_test.go0000644000000000000000000000155115107355263026530 0ustar rootroot// Copyright 2023 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. // Code generated by "gen.bash" from internal/trace/v2; DO NOT EDIT. //go:build go1.21 package trace import "testing" func TestPanicEvent(t *testing.T) { // Use a sync event for this because it doesn't have any extra metadata. ev := syncEvent(nil, 0) mustPanic(t, func() { _ = ev.Range() }) mustPanic(t, func() { _ = ev.Metric() }) mustPanic(t, func() { _ = ev.Log() }) mustPanic(t, func() { _ = ev.Task() }) mustPanic(t, func() { _ = ev.Region() }) mustPanic(t, func() { _ = ev.Label() }) mustPanic(t, func() { _ = ev.RangeAttributes() }) } func mustPanic(t *testing.T, f func()) { defer func() { if r := recover(); r == nil { t.Fatal("failed to panic") } }() f() } ././@LongLink0000644000000000000000000000014600000000000011604 Lustar rootrootdependencies/pkg/mod/golang.org/x/exp@v0.0.0-20240506185415-9bf2ced13842/trace/flightrecorder_test.godependencies/pkg/mod/golang.org/x/exp@v0.0.0-20240506185415-9bf2ced13842/trace/flightrecorder_test.g0000644000000000000000000001702715107355263030240 0ustar rootroot// Copyright 2023 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:build go1.22 package trace_test import ( "bytes" "context" "io" "runtime/trace" "sync" "sync/atomic" "testing" "time" "golang.org/x/exp/trace/internal/testtrace" . "golang.org/x/exp/trace" ) func TestFlightRecorderDoubleStart(t *testing.T) { fr := NewFlightRecorder() if err := fr.Start(); err != nil { t.Fatalf("unexpected error on Start: %v", err) } if err := fr.Start(); err == nil { t.Fatalf("expected error from double Start: %v", err) } if err := fr.Stop(); err != nil { t.Fatalf("unexpected error on Stop: %v", err) } } func TestFlightRecorderDoubleStop(t *testing.T) { fr := NewFlightRecorder() if err := fr.Start(); err != nil { t.Fatalf("unexpected error on Start: %v", err) } if err := fr.Stop(); err != nil { t.Fatalf("unexpected error on Stop: %v", err) } if err := fr.Stop(); err == nil { t.Fatalf("expected error from double Stop: %v", err) } } func TestFlightRecorderEnabled(t *testing.T) { fr := NewFlightRecorder() if fr.Enabled() { t.Fatal("flight recorder is enabled, but never started") } if err := fr.Start(); err != nil { t.Fatalf("unexpected error on Start: %v", err) } if !fr.Enabled() { t.Fatal("flight recorder is not enabled, but started") } if err := fr.Stop(); err != nil { t.Fatalf("unexpected error on Stop: %v", err) } if fr.Enabled() { t.Fatal("flight recorder is enabled, but stopped") } } func TestFlightRecorderWriteToDisabled(t *testing.T) { var buf bytes.Buffer fr := NewFlightRecorder() if n, err := fr.WriteTo(&buf); err == nil { t.Fatalf("successfully wrote %d bytes from disabled flight recorder", n) } if err := fr.Start(); err != nil { t.Fatalf("unexpected error on Start: %v", err) } if err := fr.Stop(); err != nil { t.Fatalf("unexpected error on Stop: %v", err) } if n, err := fr.WriteTo(&buf); err == nil { t.Fatalf("successfully wrote %d bytes from disabled flight recorder", n) } } func TestFlightRecorderConcurrentWriteTo(t *testing.T) { fr := NewFlightRecorder() if err := fr.Start(); err != nil { t.Fatalf("unexpected error on Start: %v", err) } // Start two goroutines to write snapshots. // // Most of the time one will fail and one will succeed, but we don't require this. // Due to a variety of factors, it's definitely possible for them both to succeed. // However, at least one should succeed. var bufs [2]bytes.Buffer var wg sync.WaitGroup var successes atomic.Uint32 for i := range bufs { wg.Add(1) go func() { defer wg.Done() n, err := fr.WriteTo(&bufs[i]) if err == ErrSnapshotActive { if n != 0 { t.Errorf("(goroutine %d) WriteTo bytes written is non-zero for early bail out: %d", i, n) } return } if err != nil { t.Errorf("(goroutine %d) failed to write snapshot for unexpected reason: %v", i, err) } successes.Add(1) if n == 0 { t.Errorf("(goroutine %d) wrote invalid trace of zero bytes in size", i) } if n != bufs[i].Len() { t.Errorf("(goroutine %d) trace length doesn't match WriteTo result: got %d, want %d", i, n, bufs[i].Len()) } }() } wg.Wait() // Stop tracing. if err := fr.Stop(); err != nil { t.Fatalf("unexpected error on Stop: %v", err) } // Make sure at least one succeeded to write. if successes.Load() == 0 { t.Fatal("expected at least one success to write a snapshot, got zero") } // Validate the traces that came out. for i := range bufs { buf := &bufs[i] if buf.Len() == 0 { continue } testReader(t, buf, testtrace.ExpectSuccess()) } } func TestFlightRecorder(t *testing.T) { testFlightRecorder(t, NewFlightRecorder(), func(snapshot func()) { snapshot() }) } func TestFlightRecorderStartStop(t *testing.T) { fr := NewFlightRecorder() for i := 0; i < 5; i++ { testFlightRecorder(t, fr, func(snapshot func()) { snapshot() }) } } func TestFlightRecorderLog(t *testing.T) { tr := testFlightRecorder(t, NewFlightRecorder(), func(snapshot func()) { trace.Log(context.Background(), "message", "hello") snapshot() }) // Prepare to read the trace snapshot. r, err := NewReader(bytes.NewReader(tr)) if err != nil { t.Fatalf("unexpected error creating trace reader: %v", err) } // Find the log message in the trace. found := false for { ev, err := r.ReadEvent() if err == io.EOF { break } if err != nil { t.Fatalf("unexpected error reading trace: %v", err) } if !found && ev.Kind() == EventLog { log := ev.Log() found = log.Category == "message" && log.Message == "hello" } } if !found { t.Errorf("failed to find expected log message (%q, %q) in snapshot", "message", "hello") } } func TestFlightRecorderOneGeneration(t *testing.T) { test := func(t *testing.T, fr *FlightRecorder) { tr := testFlightRecorder(t, fr, func(snapshot func()) { // Sleep to let a few generations pass. time.Sleep(3 * time.Second) snapshot() }) // Prepare to read the trace snapshot. r, err := NewReader(bytes.NewReader(tr)) if err != nil { t.Fatalf("unexpected error creating trace reader: %v", err) } // Make sure there's only exactly one Sync event. sync := 0 for { ev, err := r.ReadEvent() if err == io.EOF { break } if err != nil { t.Fatalf("unexpected error reading trace: %v", err) } if ev.Kind() == EventSync { sync++ } } if sync != 1 { t.Errorf("expected one sync event, found %d", sync) } } t.Run("SetPeriod", func(t *testing.T) { // Set the period to 0 so that we're always throwing away old generations. // This should always result in exactly one generation. // Note: this is always going to result in taking the second generation // flushed, which is the much less useful one. That's OK, because in practice // SetPeriod shouldn't ever be called with a value this low. fr := NewFlightRecorder() fr.SetPeriod(0) test(t, fr) }) t.Run("SetSize", func(t *testing.T) { // Set the size to 0 so that we're always throwing away old generations. // This should always result in exactly one generation. // Note: this is always going to result in taking the second generation // flushed, which is the much less useful one. That's OK, because in practice // SetPeriod shouldn't ever be called with a value this low. fr := NewFlightRecorder() fr.SetSize(0) test(t, fr) }) } type flightRecorderTestFunc func(snapshot func()) func testFlightRecorder(t *testing.T, fr *FlightRecorder, f flightRecorderTestFunc) []byte { if trace.IsEnabled() { t.Skip("cannot run flight recorder tests when tracing is enabled") } // Start the flight recorder. if err := fr.Start(); err != nil { t.Fatalf("unexpected error on Start: %v", err) } // Set up snapshot callback. var buf bytes.Buffer callback := func() { n, err := fr.WriteTo(&buf) if err != nil { t.Errorf("unexpected failure during flight recording: %v", err) return } if n < 16 { t.Errorf("expected a trace size of at least 16 bytes, got %d", n) } if n != buf.Len() { t.Errorf("WriteTo result doesn't match trace size: got %d, want %d", n, buf.Len()) } } // Call the test function. f(callback) // Stop the flight recorder. if err := fr.Stop(); err != nil { t.Fatalf("unexpected error on Stop: %v", err) } // Get the trace bytes; we don't want to use the Buffer as a Reader directly // since we may want to consume this data more than once. traceBytes := buf.Bytes() // Parse the trace to make sure it's not broken. testReader(t, bytes.NewReader(traceBytes), testtrace.ExpectSuccess()) return traceBytes } dependencies/pkg/mod/golang.org/x/exp@v0.0.0-20240506185415-9bf2ced13842/trace/internal/0000755000000000000000000000000015107355263025633 5ustar rootrootdependencies/pkg/mod/golang.org/x/exp@v0.0.0-20240506185415-9bf2ced13842/trace/internal/version/0000755000000000000000000000000015107355263027320 5ustar rootroot././@LongLink0000644000000000000000000000015300000000000011602 Lustar rootrootdependencies/pkg/mod/golang.org/x/exp@v0.0.0-20240506185415-9bf2ced13842/trace/internal/version/version.godependencies/pkg/mod/golang.org/x/exp@v0.0.0-20240506185415-9bf2ced13842/trace/internal/version/vers0000644000000000000000000000344615107355263030231 0ustar rootroot// Copyright 2023 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. // Code generated by "gen.bash" from internal/trace/v2; DO NOT EDIT. //go:build go1.21 package version import ( "fmt" "io" "golang.org/x/exp/trace/internal/event" "golang.org/x/exp/trace/internal/event/go122" ) // Version represents the version of a trace file. type Version uint32 const ( Go111 Version = 11 Go119 Version = 19 Go121 Version = 21 Go122 Version = 22 Go123 Version = 23 Current = Go123 ) var versions = map[Version][]event.Spec{ // Go 1.11–1.21 use a different parser and are only set here for the sake of // Version.Valid. Go111: nil, Go119: nil, Go121: nil, Go122: go122.Specs(), // Go 1.23 adds backwards-incompatible events, but // traces produced by Go 1.22 are also always valid // Go 1.23 traces. Go123: go122.Specs(), } // Specs returns the set of event.Specs for this version. func (v Version) Specs() []event.Spec { return versions[v] } func (v Version) Valid() bool { _, ok := versions[v] return ok } // headerFmt is the format of the header of all Go execution traces. const headerFmt = "go 1.%d trace\x00\x00\x00" // ReadHeader reads the version of the trace out of the trace file's // header, whose prefix must be present in v. func ReadHeader(r io.Reader) (Version, error) { var v Version _, err := fmt.Fscanf(r, headerFmt, &v) if err != nil { return v, fmt.Errorf("bad file format: not a Go execution trace?") } if !v.Valid() { return v, fmt.Errorf("unknown or unsupported trace version go 1.%d", v) } return v, nil } // WriteHeader writes a header for a trace version v to w. func WriteHeader(w io.Writer, v Version) (int, error) { return fmt.Fprintf(w, headerFmt, v) } dependencies/pkg/mod/golang.org/x/exp@v0.0.0-20240506185415-9bf2ced13842/trace/internal/event/0000755000000000000000000000000015107355263026754 5ustar rootroot././@LongLink0000644000000000000000000000014700000000000011605 Lustar rootrootdependencies/pkg/mod/golang.org/x/exp@v0.0.0-20240506185415-9bf2ced13842/trace/internal/event/event.godependencies/pkg/mod/golang.org/x/exp@v0.0.0-20240506185415-9bf2ced13842/trace/internal/event/event.0000644000000000000000000000577415107355263030113 0ustar rootroot// Copyright 2023 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. // Code generated by "gen.bash" from internal/trace/v2; DO NOT EDIT. //go:build go1.21 package event // Type is the common in-memory representation of the low-leve type Type uint8 // Spec is a specification for a trace event. It contains sufficient information // to perform basic parsing of any trace event for any version of Go. type Spec struct { // Name is the human-readable name of the trace event. Name string // Args contains the names of each trace event's argument. // Its length determines the number of arguments an event has. // // Argument names follow a certain structure and this structure // is relied on by the testing framework to type-check arguments. // The structure is is: // // (?P[A-Za-z]+_)?(?P[A-Za-z]+) // // In sum, it's an optional name followed by a type. If the name // is present, it is separated from the type with an underscore. // The valid argument types and the Go types they map to are listed // in the ArgTypes variable. Args []string // StartEv indicates the event type of the corresponding "start" // event, if this event is an "end," for a pair of events that // represent a time range. StartEv Type // IsTimedEvent indicates whether this is an event that both // appears in the main event stream and is surfaced to the // trace reader. // // Events that are not "timed" are considered "structural" // since they either need significant reinterpretation or // otherwise aren't actually surfaced by the trace reader. IsTimedEvent bool // HasData is true if the event has trailer consisting of a // varint length followed by unencoded bytes of some data. HasData bool // StringIDs indicates which of the arguments are string IDs. StringIDs []int // StackIDs indicates which of the arguments are stack IDs. // // The list is not sorted. The first index always refers to // the main stack for the current execution context of the event. StackIDs []int // IsStack indicates that the event represents a complete // stack trace. Specifically, it means that after the arguments // there's a varint length, followed by 4*length varints. Each // group of 4 represents the PC, file ID, func ID, and line number // in that order. IsStack bool } // ArgTypes is a list of valid argument types for use in Args. // // See the documentation of Args for more details. var ArgTypes = [...]string{ "seq", // sequence number "pstatus", // P status "gstatus", // G status "g", // trace.GoID "m", // trace.ThreadID "p", // trace.ProcID "string", // string ID "stack", // stack ID "value", // uint64 "task", // trace.TaskID } // Names is a helper that produces a mapping of event names to event types. func Names(specs []Spec) map[string]Type { nameToType := make(map[string]Type) for i, spec := range specs { nameToType[spec.Name] = Type(byte(i)) } return nameToType } dependencies/pkg/mod/golang.org/x/exp@v0.0.0-20240506185415-9bf2ced13842/trace/internal/event/go122/0000755000000000000000000000000015107355263027606 5ustar rootroot././@LongLink0000644000000000000000000000015500000000000011604 Lustar rootrootdependencies/pkg/mod/golang.org/x/exp@v0.0.0-20240506185415-9bf2ced13842/trace/internal/event/go122/event.godependencies/pkg/mod/golang.org/x/exp@v0.0.0-20240506185415-9bf2ced13842/trace/internal/event/go122/0000644000000000000000000002725215107355263027620 0ustar rootroot// Copyright 2023 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. // Code generated by "gen.bash" from internal/trace/v2; DO NOT EDIT. //go:build go1.21 package go122 import ( "fmt" "golang.org/x/exp/trace/internal/event" ) const ( EvNone event.Type = iota // unused // Structural events. EvEventBatch // start of per-M batch of events [generation, M ID, timestamp, batch length] EvStacks // start of a section of the stack table [...EvStack] EvStack // stack table entry [ID, ...{PC, func string ID, file string ID, line #}] EvStrings // start of a section of the string dictionary [...EvString] EvString // string dictionary entry [ID, length, string] EvCPUSamples // start of a section of CPU samples [...EvCPUSample] EvCPUSample // CPU profiling sample [timestamp, M ID, P ID, goroutine ID, stack ID] EvFrequency // timestamp units per sec [freq] // Procs. EvProcsChange // current value of GOMAXPROCS [timestamp, GOMAXPROCS, stack ID] EvProcStart // start of P [timestamp, P ID, P seq] EvProcStop // stop of P [timestamp] EvProcSteal // P was stolen [timestamp, P ID, P seq, M ID] EvProcStatus // P status at the start of a generation [timestamp, P ID, status] // Goroutines. EvGoCreate // goroutine creation [timestamp, new goroutine ID, new stack ID, stack ID] EvGoCreateSyscall // goroutine appears in syscall (cgo callback) [timestamp, new goroutine ID] EvGoStart // goroutine starts running [timestamp, goroutine ID, goroutine seq] EvGoDestroy // goroutine ends [timestamp] EvGoDestroySyscall // goroutine ends in syscall (cgo callback) [timestamp] EvGoStop // goroutine yields its time, but is runnable [timestamp, reason, stack ID] EvGoBlock // goroutine blocks [timestamp, reason, stack ID] EvGoUnblock // goroutine is unblocked [timestamp, goroutine ID, goroutine seq, stack ID] EvGoSyscallBegin // syscall enter [timestamp, P seq, stack ID] EvGoSyscallEnd // syscall exit [timestamp] EvGoSyscallEndBlocked // syscall exit and it blocked at some point [timestamp] EvGoStatus // goroutine status at the start of a generation [timestamp, goroutine ID, thread ID, status] // STW. EvSTWBegin // STW start [timestamp, kind] EvSTWEnd // STW done [timestamp] // GC events. EvGCActive // GC active [timestamp, seq] EvGCBegin // GC start [timestamp, seq, stack ID] EvGCEnd // GC done [timestamp, seq] EvGCSweepActive // GC sweep active [timestamp, P ID] EvGCSweepBegin // GC sweep start [timestamp, stack ID] EvGCSweepEnd // GC sweep done [timestamp, swept bytes, reclaimed bytes] EvGCMarkAssistActive // GC mark assist active [timestamp, goroutine ID] EvGCMarkAssistBegin // GC mark assist start [timestamp, stack ID] EvGCMarkAssistEnd // GC mark assist done [timestamp] EvHeapAlloc // gcController.heapLive change [timestamp, heap alloc in bytes] EvHeapGoal // gcController.heapGoal() change [timestamp, heap goal in bytes] // Annotations. EvGoLabel // apply string label to current running goroutine [timestamp, label string ID] EvUserTaskBegin // trace.NewTask [timestamp, internal task ID, internal parent task ID, name string ID, stack ID] EvUserTaskEnd // end of a task [timestamp, internal task ID, stack ID] EvUserRegionBegin // trace.{Start,With}Region [timestamp, internal task ID, name string ID, stack ID] EvUserRegionEnd // trace.{End,With}Region [timestamp, internal task ID, name string ID, stack ID] EvUserLog // trace.Log [timestamp, internal task ID, key string ID, value string ID, stack] // Coroutines. Added in Go 1.23. EvGoSwitch // goroutine switch (coroswitch) [timestamp, goroutine ID, goroutine seq] EvGoSwitchDestroy // goroutine switch and destroy [timestamp, goroutine ID, goroutine seq] EvGoCreateBlocked // goroutine creation (starts blocked) [timestamp, new goroutine ID, new stack ID, stack ID] // GoStatus with stack. EvGoStatusStack // goroutine status at the start of a generation, with a stack [timestamp, goroutine ID, M ID, status, stack ID] ) // EventString returns the name of a Go 1.22 event. func EventString(typ event.Type) string { if int(typ) < len(specs) { return specs[typ].Name } return fmt.Sprintf("Invalid(%d)", typ) } func Specs() []event.Spec { return specs[:] } var specs = [...]event.Spec{ // "Structural" Events. EvEventBatch: { Name: "EventBatch", Args: []string{"gen", "m", "time", "size"}, }, EvStacks: { Name: "Stacks", }, EvStack: { Name: "Stack", Args: []string{"id", "nframes"}, IsStack: true, }, EvStrings: { Name: "Strings", }, EvString: { Name: "String", Args: []string{"id"}, HasData: true, }, EvCPUSamples: { Name: "CPUSamples", }, EvCPUSample: { Name: "CPUSample", Args: []string{"time", "m", "p", "g", "stack"}, // N.B. There's clearly a timestamp here, but these Events // are special in that they don't appear in the regular // M streams. }, EvFrequency: { Name: "Frequency", Args: []string{"freq"}, }, // "Timed" Events. EvProcsChange: { Name: "ProcsChange", Args: []string{"dt", "procs_value", "stack"}, IsTimedEvent: true, StackIDs: []int{2}, }, EvProcStart: { Name: "ProcStart", Args: []string{"dt", "p", "p_seq"}, IsTimedEvent: true, }, EvProcStop: { Name: "ProcStop", Args: []string{"dt"}, IsTimedEvent: true, }, EvProcSteal: { Name: "ProcSteal", Args: []string{"dt", "p", "p_seq", "m"}, IsTimedEvent: true, }, EvProcStatus: { Name: "ProcStatus", Args: []string{"dt", "p", "pstatus"}, IsTimedEvent: true, }, EvGoCreate: { Name: "GoCreate", Args: []string{"dt", "new_g", "new_stack", "stack"}, IsTimedEvent: true, StackIDs: []int{3, 2}, }, EvGoCreateSyscall: { Name: "GoCreateSyscall", Args: []string{"dt", "new_g"}, IsTimedEvent: true, }, EvGoStart: { Name: "GoStart", Args: []string{"dt", "g", "g_seq"}, IsTimedEvent: true, }, EvGoDestroy: { Name: "GoDestroy", Args: []string{"dt"}, IsTimedEvent: true, }, EvGoDestroySyscall: { Name: "GoDestroySyscall", Args: []string{"dt"}, IsTimedEvent: true, }, EvGoStop: { Name: "GoStop", Args: []string{"dt", "reason_string", "stack"}, IsTimedEvent: true, StackIDs: []int{2}, StringIDs: []int{1}, }, EvGoBlock: { Name: "GoBlock", Args: []string{"dt", "reason_string", "stack"}, IsTimedEvent: true, StackIDs: []int{2}, StringIDs: []int{1}, }, EvGoUnblock: { Name: "GoUnblock", Args: []string{"dt", "g", "g_seq", "stack"}, IsTimedEvent: true, StackIDs: []int{3}, }, EvGoSyscallBegin: { Name: "GoSyscallBegin", Args: []string{"dt", "p_seq", "stack"}, IsTimedEvent: true, StackIDs: []int{2}, }, EvGoSyscallEnd: { Name: "GoSyscallEnd", Args: []string{"dt"}, StartEv: EvGoSyscallBegin, IsTimedEvent: true, }, EvGoSyscallEndBlocked: { Name: "GoSyscallEndBlocked", Args: []string{"dt"}, StartEv: EvGoSyscallBegin, IsTimedEvent: true, }, EvGoStatus: { Name: "GoStatus", Args: []string{"dt", "g", "m", "gstatus"}, IsTimedEvent: true, }, EvSTWBegin: { Name: "STWBegin", Args: []string{"dt", "kind_string", "stack"}, IsTimedEvent: true, StackIDs: []int{2}, StringIDs: []int{1}, }, EvSTWEnd: { Name: "STWEnd", Args: []string{"dt"}, StartEv: EvSTWBegin, IsTimedEvent: true, }, EvGCActive: { Name: "GCActive", Args: []string{"dt", "gc_seq"}, IsTimedEvent: true, StartEv: EvGCBegin, }, EvGCBegin: { Name: "GCBegin", Args: []string{"dt", "gc_seq", "stack"}, IsTimedEvent: true, StackIDs: []int{2}, }, EvGCEnd: { Name: "GCEnd", Args: []string{"dt", "gc_seq"}, StartEv: EvGCBegin, IsTimedEvent: true, }, EvGCSweepActive: { Name: "GCSweepActive", Args: []string{"dt", "p"}, StartEv: EvGCSweepBegin, IsTimedEvent: true, }, EvGCSweepBegin: { Name: "GCSweepBegin", Args: []string{"dt", "stack"}, IsTimedEvent: true, StackIDs: []int{1}, }, EvGCSweepEnd: { Name: "GCSweepEnd", Args: []string{"dt", "swept_value", "reclaimed_value"}, StartEv: EvGCSweepBegin, IsTimedEvent: true, }, EvGCMarkAssistActive: { Name: "GCMarkAssistActive", Args: []string{"dt", "g"}, StartEv: EvGCMarkAssistBegin, IsTimedEvent: true, }, EvGCMarkAssistBegin: { Name: "GCMarkAssistBegin", Args: []string{"dt", "stack"}, IsTimedEvent: true, StackIDs: []int{1}, }, EvGCMarkAssistEnd: { Name: "GCMarkAssistEnd", Args: []string{"dt"}, StartEv: EvGCMarkAssistBegin, IsTimedEvent: true, }, EvHeapAlloc: { Name: "HeapAlloc", Args: []string{"dt", "heapalloc_value"}, IsTimedEvent: true, }, EvHeapGoal: { Name: "HeapGoal", Args: []string{"dt", "heapgoal_value"}, IsTimedEvent: true, }, EvGoLabel: { Name: "GoLabel", Args: []string{"dt", "label_string"}, IsTimedEvent: true, StringIDs: []int{1}, }, EvUserTaskBegin: { Name: "UserTaskBegin", Args: []string{"dt", "task", "parent_task", "name_string", "stack"}, IsTimedEvent: true, StackIDs: []int{4}, StringIDs: []int{3}, }, EvUserTaskEnd: { Name: "UserTaskEnd", Args: []string{"dt", "task", "stack"}, IsTimedEvent: true, StackIDs: []int{2}, }, EvUserRegionBegin: { Name: "UserRegionBegin", Args: []string{"dt", "task", "name_string", "stack"}, IsTimedEvent: true, StackIDs: []int{3}, StringIDs: []int{2}, }, EvUserRegionEnd: { Name: "UserRegionEnd", Args: []string{"dt", "task", "name_string", "stack"}, StartEv: EvUserRegionBegin, IsTimedEvent: true, StackIDs: []int{3}, StringIDs: []int{2}, }, EvUserLog: { Name: "UserLog", Args: []string{"dt", "task", "key_string", "value_string", "stack"}, IsTimedEvent: true, StackIDs: []int{4}, StringIDs: []int{2, 3}, }, EvGoSwitch: { Name: "GoSwitch", Args: []string{"dt", "g", "g_seq"}, IsTimedEvent: true, }, EvGoSwitchDestroy: { Name: "GoSwitchDestroy", Args: []string{"dt", "g", "g_seq"}, IsTimedEvent: true, }, EvGoCreateBlocked: { Name: "GoCreateBlocked", Args: []string{"dt", "new_g", "new_stack", "stack"}, IsTimedEvent: true, StackIDs: []int{3, 2}, }, EvGoStatusStack: { Name: "GoStatusStack", Args: []string{"dt", "g", "m", "gstatus", "stack"}, IsTimedEvent: true, StackIDs: []int{4}, }, } type GoStatus uint8 const ( GoBad GoStatus = iota GoRunnable GoRunning GoSyscall GoWaiting ) func (s GoStatus) String() string { switch s { case GoRunnable: return "Runnable" case GoRunning: return "Running" case GoSyscall: return "Syscall" case GoWaiting: return "Waiting" } return "Bad" } type ProcStatus uint8 const ( ProcBad ProcStatus = iota ProcRunning ProcIdle ProcSyscall ProcSyscallAbandoned ) func (s ProcStatus) String() string { switch s { case ProcRunning: return "Running" case ProcIdle: return "Idle" case ProcSyscall: return "Syscall" } return "Bad" } const ( // Various format-specific constants. MaxBatchSize = 64 << 10 MaxFramesPerStack = 128 MaxStringSize = 1 << 10 ) ././@LongLink0000644000000000000000000000015600000000000011605 Lustar rootrootdependencies/pkg/mod/golang.org/x/exp@v0.0.0-20240506185415-9bf2ced13842/trace/internal/event/requirements.godependencies/pkg/mod/golang.org/x/exp@v0.0.0-20240506185415-9bf2ced13842/trace/internal/event/requir0000644000000000000000000000140615107355263030207 0ustar rootroot// Copyright 2023 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. // Code generated by "gen.bash" from internal/trace/v2; DO NOT EDIT. //go:build go1.21 package event // SchedReqs is a set of constraints on what the scheduling // context must look like. type SchedReqs struct { Thread Constraint Proc Constraint Goroutine Constraint } // Constraint represents a various presence requirements. type Constraint uint8 const ( MustNotHave Constraint = iota MayHave MustHave ) // UserGoReqs is a common requirement among events that are running // or are close to running user code. var UserGoReqs = SchedReqs{Thread: MustHave, Proc: MustHave, Goroutine: MustHave} dependencies/pkg/mod/golang.org/x/exp@v0.0.0-20240506185415-9bf2ced13842/trace/internal/testtrace/0000755000000000000000000000000015107355263027631 5ustar rootroot././@LongLink0000644000000000000000000000015400000000000011603 Lustar rootrootdependencies/pkg/mod/golang.org/x/exp@v0.0.0-20240506185415-9bf2ced13842/trace/internal/testtrace/format.godependencies/pkg/mod/golang.org/x/exp@v0.0.0-20240506185415-9bf2ced13842/trace/internal/testtrace/fo0000644000000000000000000000360315107355263030162 0ustar rootroot// Copyright 2023 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. // Code generated by "gen.bash" from internal/trace/v2; DO NOT EDIT. //go:build go1.21 package testtrace import ( "bytes" "fmt" "golang.org/x/exp/trace/internal/raw" "golang.org/x/tools/txtar" "io" ) // ParseFile parses a test file generated by the testgen package. func ParseFile(testPath string) (io.Reader, *Expectation, error) { ar, err := txtar.ParseFile(testPath) if err != nil { return nil, nil, fmt.Errorf("failed to read test file for %s: %v", testPath, err) } if len(ar.Files) != 2 { return nil, nil, fmt.Errorf("malformed test %s: wrong number of files", testPath) } if ar.Files[0].Name != "expect" { return nil, nil, fmt.Errorf("malformed test %s: bad filename %s", testPath, ar.Files[0].Name) } if ar.Files[1].Name != "trace" { return nil, nil, fmt.Errorf("malformed test %s: bad filename %s", testPath, ar.Files[1].Name) } tr, err := raw.NewTextReader(bytes.NewReader(ar.Files[1].Data)) if err != nil { return nil, nil, fmt.Errorf("malformed test %s: bad trace file: %v", testPath, err) } var buf bytes.Buffer tw, err := raw.NewWriter(&buf, tr.Version()) if err != nil { return nil, nil, fmt.Errorf("failed to create trace byte writer: %v", err) } for { ev, err := tr.ReadEvent() if err == io.EOF { break } if err != nil { return nil, nil, fmt.Errorf("malformed test %s: bad trace file: %v", testPath, err) } if err := tw.WriteEvent(ev); err != nil { return nil, nil, fmt.Errorf("internal error during %s: failed to write trace bytes: %v", testPath, err) } } exp, err := ParseExpectation(ar.Files[0].Data) if err != nil { return nil, nil, fmt.Errorf("internal error during %s: failed to parse expectation %q: %v", testPath, string(ar.Files[0].Data), err) } return &buf, exp, nil } ././@LongLink0000644000000000000000000000016100000000000011601 Lustar rootrootdependencies/pkg/mod/golang.org/x/exp@v0.0.0-20240506185415-9bf2ced13842/trace/internal/testtrace/expectation.godependencies/pkg/mod/golang.org/x/exp@v0.0.0-20240506185415-9bf2ced13842/trace/internal/testtrace/ex0000644000000000000000000000454715107355263030202 0ustar rootroot// Copyright 2023 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. // Code generated by "gen.bash" from internal/trace/v2; DO NOT EDIT. //go:build go1.21 package testtrace import ( "bufio" "bytes" "fmt" "regexp" "strconv" "strings" ) // Expectation represents the expected result of some operation. type Expectation struct { failure bool errorMatcher *regexp.Regexp } // ExpectSuccess returns an Expectation that trivially expects success. func ExpectSuccess() *Expectation { return new(Expectation) } // Check validates whether err conforms to the expectation. Returns // an error if it does not conform. // // Conformance means that if failure is true, then err must be non-nil. // If err is non-nil, then it must match errorMatcher. func (e *Expectation) Check(err error) error { if !e.failure && err != nil { return fmt.Errorf("unexpected error while reading the trace: %v", err) } if e.failure && err == nil { return fmt.Errorf("expected error while reading the trace: want something matching %q, got none", e.errorMatcher) } if e.failure && err != nil && !e.errorMatcher.MatchString(err.Error()) { return fmt.Errorf("unexpected error while reading the trace: want something matching %q, got %s", e.errorMatcher, err.Error()) } return nil } // ParseExpectation parses the serialized form of an Expectation. func ParseExpectation(data []byte) (*Expectation, error) { exp := new(Expectation) s := bufio.NewScanner(bytes.NewReader(data)) if s.Scan() { c := strings.SplitN(s.Text(), " ", 2) switch c[0] { case "SUCCESS": case "FAILURE": exp.failure = true if len(c) != 2 { return exp, fmt.Errorf("bad header line for FAILURE: %q", s.Text()) } matcher, err := parseMatcher(c[1]) if err != nil { return exp, err } exp.errorMatcher = matcher default: return exp, fmt.Errorf("bad header line: %q", s.Text()) } return exp, nil } return exp, s.Err() } func parseMatcher(quoted string) (*regexp.Regexp, error) { pattern, err := strconv.Unquote(quoted) if err != nil { return nil, fmt.Errorf("malformed pattern: not correctly quoted: %s: %v", quoted, err) } matcher, err := regexp.Compile(pattern) if err != nil { return nil, fmt.Errorf("malformed pattern: not a valid regexp: %s: %v", pattern, err) } return matcher, nil } ././@LongLink0000644000000000000000000000016000000000000011600 Lustar rootrootdependencies/pkg/mod/golang.org/x/exp@v0.0.0-20240506185415-9bf2ced13842/trace/internal/testtrace/validation.godependencies/pkg/mod/golang.org/x/exp@v0.0.0-20240506185415-9bf2ced13842/trace/internal/testtrace/va0000644000000000000000000002600715107355263030167 0ustar rootroot// Copyright 2023 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. // Code generated by "gen.bash" from internal/trace/v2; DO NOT EDIT. //go:build go1.21 package testtrace import ( "errors" "fmt" "golang.org/x/exp/trace" "slices" "strings" ) // Validator is a type used for validating a stream of trace.Events. type Validator struct { lastTs trace.Time gs map[trace.GoID]*goState ps map[trace.ProcID]*procState ms map[trace.ThreadID]*schedContext ranges map[trace.ResourceID][]string tasks map[trace.TaskID]string seenSync bool Go121 bool } type schedContext struct { M trace.ThreadID P trace.ProcID G trace.GoID } type goState struct { state trace.GoState binding *schedContext } type procState struct { state trace.ProcState binding *schedContext } // NewValidator creates a new Validator. func NewValidator() *Validator { return &Validator{ gs: make(map[trace.GoID]*goState), ps: make(map[trace.ProcID]*procState), ms: make(map[trace.ThreadID]*schedContext), ranges: make(map[trace.ResourceID][]string), tasks: make(map[trace.TaskID]string), } } // Event validates ev as the next event in a stream of trace.Events. // // Returns an error if validation fails. func (v *Validator) Event(ev trace.Event) error { e := new(errAccumulator) // Validate timestamp order. if v.lastTs != 0 { if ev.Time() <= v.lastTs { e.Errorf("timestamp out-of-order for %+v", ev) } else { v.lastTs = ev.Time() } } else { v.lastTs = ev.Time() } // Validate event stack. checkStack(e, ev.Stack()) switch ev.Kind() { case trace.EventSync: // Just record that we've seen a Sync at some point. v.seenSync = true case trace.EventMetric: m := ev.Metric() if !strings.Contains(m.Name, ":") { // Should have a ":" as per runtime/metrics convention. e.Errorf("invalid metric name %q", m.Name) } // Make sure the value is OK. if m.Value.Kind() == trace.ValueBad { e.Errorf("invalid value") } switch m.Value.Kind() { case trace.ValueUint64: // Just make sure it doesn't panic. _ = m.Value.Uint64() } case trace.EventLabel: l := ev.Label() // Check label. if l.Label == "" { e.Errorf("invalid label %q", l.Label) } // Check label resource. if l.Resource.Kind == trace.ResourceNone { e.Errorf("label resource none") } switch l.Resource.Kind { case trace.ResourceGoroutine: id := l.Resource.Goroutine() if _, ok := v.gs[id]; !ok { e.Errorf("label for invalid goroutine %d", id) } case trace.ResourceProc: id := l.Resource.Proc() if _, ok := v.ps[id]; !ok { e.Errorf("label for invalid proc %d", id) } case trace.ResourceThread: id := l.Resource.Thread() if _, ok := v.ms[id]; !ok { e.Errorf("label for invalid thread %d", id) } } case trace.EventStackSample: // Not much to check here. It's basically a sched context and a stack. // The sched context is also not guaranteed to align with other events. // We already checked the stack above. case trace.EventStateTransition: // Validate state transitions. // // TODO(mknyszek): A lot of logic is duplicated between goroutines and procs. // The two are intentionally handled identically; from the perspective of the // API, resources all have the same general properties. Consider making this // code generic over resources and implementing validation just once. tr := ev.StateTransition() checkStack(e, tr.Stack) switch tr.Resource.Kind { case trace.ResourceGoroutine: // Basic state transition validation. id := tr.Resource.Goroutine() old, new := tr.Goroutine() if new == trace.GoUndetermined { e.Errorf("transition to undetermined state for goroutine %d", id) } if v.seenSync && old == trace.GoUndetermined { e.Errorf("undetermined goroutine %d after first global sync", id) } if new == trace.GoNotExist && v.hasAnyRange(trace.MakeResourceID(id)) { e.Errorf("goroutine %d died with active ranges", id) } state, ok := v.gs[id] if ok { if old != state.state { e.Errorf("bad old state for goroutine %d: got %s, want %s", id, old, state.state) } state.state = new } else { if old != trace.GoUndetermined && old != trace.GoNotExist { e.Errorf("bad old state for unregistered goroutine %d: %s", id, old) } state = &goState{state: new} v.gs[id] = state } // Validate sched context. if new.Executing() { ctx := v.getOrCreateThread(e, ev, ev.Thread()) if ctx != nil { if ctx.G != trace.NoGoroutine && ctx.G != id { e.Errorf("tried to run goroutine %d when one was already executing (%d) on thread %d", id, ctx.G, ev.Thread()) } ctx.G = id state.binding = ctx } } else if old.Executing() && !new.Executing() { if tr.Stack != ev.Stack() { // This is a case where the transition is happening to a goroutine that is also executing, so // these two stacks should always match. e.Errorf("StateTransition.Stack doesn't match Event.Stack") } ctx := state.binding if ctx != nil { if ctx.G != id { e.Errorf("tried to stop goroutine %d when it wasn't currently executing (currently executing %d) on thread %d", id, ctx.G, ev.Thread()) } ctx.G = trace.NoGoroutine state.binding = nil } else { e.Errorf("stopping goroutine %d not bound to any active context", id) } } case trace.ResourceProc: // Basic state transition validation. id := tr.Resource.Proc() old, new := tr.Proc() if new == trace.ProcUndetermined { e.Errorf("transition to undetermined state for proc %d", id) } if v.seenSync && old == trace.ProcUndetermined { e.Errorf("undetermined proc %d after first global sync", id) } if new == trace.ProcNotExist && v.hasAnyRange(trace.MakeResourceID(id)) { e.Errorf("proc %d died with active ranges", id) } state, ok := v.ps[id] if ok { if old != state.state { e.Errorf("bad old state for proc %d: got %s, want %s", id, old, state.state) } state.state = new } else { if old != trace.ProcUndetermined && old != trace.ProcNotExist { e.Errorf("bad old state for unregistered proc %d: %s", id, old) } state = &procState{state: new} v.ps[id] = state } // Validate sched context. if new.Executing() { ctx := v.getOrCreateThread(e, ev, ev.Thread()) if ctx != nil { if ctx.P != trace.NoProc && ctx.P != id { e.Errorf("tried to run proc %d when one was already executing (%d) on thread %d", id, ctx.P, ev.Thread()) } ctx.P = id state.binding = ctx } } else if old.Executing() && !new.Executing() { ctx := state.binding if ctx != nil { if ctx.P != id { e.Errorf("tried to stop proc %d when it wasn't currently executing (currently executing %d) on thread %d", id, ctx.P, ctx.M) } ctx.P = trace.NoProc state.binding = nil } else { e.Errorf("stopping proc %d not bound to any active context", id) } } } case trace.EventRangeBegin, trace.EventRangeActive, trace.EventRangeEnd: // Validate ranges. r := ev.Range() switch ev.Kind() { case trace.EventRangeBegin: if v.hasRange(r.Scope, r.Name) { e.Errorf("already active range %q on %v begun again", r.Name, r.Scope) } v.addRange(r.Scope, r.Name) case trace.EventRangeActive: if !v.hasRange(r.Scope, r.Name) { v.addRange(r.Scope, r.Name) } case trace.EventRangeEnd: if !v.hasRange(r.Scope, r.Name) { e.Errorf("inactive range %q on %v ended", r.Name, r.Scope) } v.deleteRange(r.Scope, r.Name) } case trace.EventTaskBegin: // Validate task begin. t := ev.Task() if t.ID == trace.NoTask || t.ID == trace.BackgroundTask { // The background task should never have an event emitted for it. e.Errorf("found invalid task ID for task of type %s", t.Type) } if t.Parent == trace.BackgroundTask { // It's not possible for a task to be a subtask of the background task. e.Errorf("found background task as the parent for task of type %s", t.Type) } // N.B. Don't check the task type. Empty string is a valid task type. v.tasks[t.ID] = t.Type case trace.EventTaskEnd: // Validate task end. // We can see a task end without a begin, so ignore a task without information. // Instead, if we've seen the task begin, just make sure the task end lines up. t := ev.Task() if typ, ok := v.tasks[t.ID]; ok { if t.Type != typ { e.Errorf("task end type %q doesn't match task start type %q for task %d", t.Type, typ, t.ID) } delete(v.tasks, t.ID) } case trace.EventLog: // There's really not much here to check, except that we can // generate a Log. The category and message are entirely user-created, // so we can't make any assumptions as to what they are. We also // can't validate the task, because proving the task's existence is very // much best-effort. _ = ev.Log() } return e.Errors() } func (v *Validator) hasRange(r trace.ResourceID, name string) bool { ranges, ok := v.ranges[r] return ok && slices.Contains(ranges, name) } func (v *Validator) addRange(r trace.ResourceID, name string) { ranges, _ := v.ranges[r] ranges = append(ranges, name) v.ranges[r] = ranges } func (v *Validator) hasAnyRange(r trace.ResourceID) bool { ranges, ok := v.ranges[r] return ok && len(ranges) != 0 } func (v *Validator) deleteRange(r trace.ResourceID, name string) { ranges, ok := v.ranges[r] if !ok { return } i := slices.Index(ranges, name) if i < 0 { return } v.ranges[r] = slices.Delete(ranges, i, i+1) } func (v *Validator) getOrCreateThread(e *errAccumulator, ev trace.Event, m trace.ThreadID) *schedContext { lenient := func() bool { // Be lenient about GoUndetermined -> GoSyscall transitions if they // originate from an old trace. These transitions lack thread // information in trace formats older than 1.22. if !v.Go121 { return false } if ev.Kind() != trace.EventStateTransition { return false } tr := ev.StateTransition() if tr.Resource.Kind != trace.ResourceGoroutine { return false } from, to := tr.Goroutine() return from == trace.GoUndetermined && to == trace.GoSyscall } if m == trace.NoThread && !lenient() { e.Errorf("must have thread, but thread ID is none") return nil } s, ok := v.ms[m] if !ok { s = &schedContext{M: m, P: trace.NoProc, G: trace.NoGoroutine} v.ms[m] = s return s } return s } func checkStack(e *errAccumulator, stk trace.Stack) { // Check for non-empty values, but we also check for crashes due to incorrect validation. i := 0 stk.Frames(func(f trace.StackFrame) bool { if i == 0 { // Allow for one fully zero stack. // // TODO(mknyszek): Investigate why that happens. return true } if f.Func == "" || f.File == "" || f.PC == 0 || f.Line == 0 { e.Errorf("invalid stack frame %#v: missing information", f) } i++ return true }) } type errAccumulator struct { errs []error } func (e *errAccumulator) Errorf(f string, args ...any) { e.errs = append(e.errs, fmt.Errorf(f, args...)) } func (e *errAccumulator) Errors() error { return errors.Join(e.errs...) } dependencies/pkg/mod/golang.org/x/exp@v0.0.0-20240506185415-9bf2ced13842/trace/internal/oldtrace/0000755000000000000000000000000015107355263027430 5ustar rootroot././@LongLink0000644000000000000000000000015300000000000011602 Lustar rootrootdependencies/pkg/mod/golang.org/x/exp@v0.0.0-20240506185415-9bf2ced13842/trace/internal/oldtrace/parser.godependencies/pkg/mod/golang.org/x/exp@v0.0.0-20240506185415-9bf2ced13842/trace/internal/oldtrace/par0000644000000000000000000013557615107355263030156 0ustar rootroot// Copyright 2024 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. // Code generated by "gen.bash" from internal/trace/v2; DO NOT EDIT. //go:build go1.21 // Package oldtrace implements a parser for Go execution traces from versions // 1.11–1.21. // // The package started as a copy of Go 1.19's internal/trace, but has been // optimized to be faster while using less memory and fewer allocations. It has // been further modified for the specific purpose of converting traces to the // new 1.22+ format. package oldtrace import ( "bytes" "encoding/binary" "errors" "fmt" "golang.org/x/exp/trace/internal/event" "golang.org/x/exp/trace/internal/version" "io" "math" "sort" ) // Timestamp represents a count of nanoseconds since the beginning of the trace. // They can only be meaningfully compared with other timestamps from the same // trace. type Timestamp int64 // Event describes one event in the trace. type Event struct { // The Event type is carefully laid out to optimize its size and to avoid // pointers, the latter so that the garbage collector won't have to scan any // memory of our millions of events. Ts Timestamp // timestamp in nanoseconds G uint64 // G on which the event happened Args [4]uint64 // event-type-specific arguments StkID uint32 // unique stack ID P int32 // P on which the event happened (can be a real P or one of TimerP, NetpollP, SyscallP) Type event.Type // one of Ev* } // Frame is a frame in stack traces. type Frame struct { PC uint64 // string ID of the function name Fn uint64 // string ID of the file name File uint64 Line int } const ( // Special P identifiers: FakeP = 1000000 + iota TimerP // contains timer unblocks NetpollP // contains network unblocks SyscallP // contains returns from syscalls GCP // contains GC state ProfileP // contains recording of CPU profile samples ) // Trace is the result of Parse. type Trace struct { Version version.Version // Events is the sorted list of Events in the trace. Events Events // Stacks is the stack traces (stored as slices of PCs), keyed by stack IDs // from the trace. Stacks map[uint32][]uint64 PCs map[uint64]Frame Strings map[uint64]string InlineStrings []string } // batchOffset records the byte offset of, and number of events in, a batch. A // batch is a sequence of events emitted by a P. Events within a single batch // are sorted by time. type batchOffset struct { offset int numEvents int } type parser struct { ver version.Version data []byte off int strings map[uint64]string inlineStrings []string inlineStringsMapping map[string]int // map from Ps to their batch offsets batchOffsets map[int32][]batchOffset stacks map[uint32][]uint64 stacksData []uint64 ticksPerSec int64 pcs map[uint64]Frame cpuSamples []Event timerGoids map[uint64]bool // state for readRawEvent args []uint64 // state for parseEvent lastTs Timestamp lastG uint64 // map from Ps to the last Gs that ran on them lastGs map[int32]uint64 lastP int32 } func (p *parser) discard(n uint64) bool { if n > math.MaxInt { return false } if noff := p.off + int(n); noff < p.off || noff > len(p.data) { return false } else { p.off = noff } return true } func newParser(r io.Reader, ver version.Version) (*parser, error) { var buf []byte if seeker, ok := r.(io.Seeker); ok { // Determine the size of the reader so that we can allocate a buffer // without having to grow it later. cur, err := seeker.Seek(0, io.SeekCurrent) if err != nil { return nil, err } end, err := seeker.Seek(0, io.SeekEnd) if err != nil { return nil, err } _, err = seeker.Seek(cur, io.SeekStart) if err != nil { return nil, err } buf = make([]byte, end-cur) _, err = io.ReadFull(r, buf) if err != nil { return nil, err } } else { var err error buf, err = io.ReadAll(r) if err != nil { return nil, err } } return &parser{data: buf, ver: ver, timerGoids: make(map[uint64]bool)}, nil } // Parse parses Go execution traces from versions 1.11–1.21. The provided reader // will be read to completion and the entire trace will be materialized in // memory. That is, this function does not allow incremental parsing. // // The reader has to be positioned just after the trace header and vers needs to // be the version of the trace. This can be achieved by using // version.ReadHeader. func Parse(r io.Reader, vers version.Version) (Trace, error) { // We accept the version as an argument because golang.org/x/exp/trace will have // already read the version to determine which parser to use. p, err := newParser(r, vers) if err != nil { return Trace{}, err } return p.parse() } // parse parses, post-processes and verifies the trace. func (p *parser) parse() (Trace, error) { defer func() { p.data = nil }() // We parse a trace by running the following steps in order: // // 1. In the initial pass we collect information about batches (their // locations and sizes.) We also parse CPU profiling samples in this // step, simply to reduce the number of full passes that we need. // // 2. In the second pass we parse batches and merge them into a globally // ordered event stream. This uses the batch information from the first // pass to quickly find batches. // // 3. After all events have been parsed we convert their timestamps from CPU // ticks to wall time. Furthermore we move timers and syscalls to // dedicated, fake Ps. // // 4. Finally, we validate the trace. p.strings = make(map[uint64]string) p.batchOffsets = make(map[int32][]batchOffset) p.lastGs = make(map[int32]uint64) p.stacks = make(map[uint32][]uint64) p.pcs = make(map[uint64]Frame) p.inlineStringsMapping = make(map[string]int) if err := p.collectBatchesAndCPUSamples(); err != nil { return Trace{}, err } events, err := p.parseEventBatches() if err != nil { return Trace{}, err } if p.ticksPerSec == 0 { return Trace{}, errors.New("no EvFrequency event") } if events.Len() > 0 { // Translate cpu ticks to real time. minTs := events.Ptr(0).Ts // Use floating point to avoid integer overflows. freq := 1e9 / float64(p.ticksPerSec) for i := 0; i < events.Len(); i++ { ev := events.Ptr(i) ev.Ts = Timestamp(float64(ev.Ts-minTs) * freq) // Move timers and syscalls to separate fake Ps. if p.timerGoids[ev.G] && ev.Type == EvGoUnblock { ev.P = TimerP } if ev.Type == EvGoSysExit { ev.P = SyscallP } } } if err := p.postProcessTrace(events); err != nil { return Trace{}, err } res := Trace{ Version: p.ver, Events: events, Stacks: p.stacks, Strings: p.strings, InlineStrings: p.inlineStrings, PCs: p.pcs, } return res, nil } // rawEvent is a helper type used during parsing. type rawEvent struct { typ event.Type args []uint64 sargs []string // if typ == EvBatch, these fields describe the batch. batchPid int32 batchOffset int } type proc struct { pid int32 // the remaining events in the current batch events []Event // buffer for reading batches into, aliased by proc.events buf []Event // there are no more batches left done bool } const eventsBucketSize = 524288 // 32 MiB of events type Events struct { // Events is a slice of slices that grows one slice of size eventsBucketSize // at a time. This avoids the O(n) cost of slice growth in append, and // additionally allows consumers to drop references to parts of the data, // freeing memory piecewise. n int buckets []*[eventsBucketSize]Event off int } // grow grows the slice by one and returns a pointer to the new element, without // overwriting it. func (l *Events) grow() *Event { a, b := l.index(l.n) if a >= len(l.buckets) { l.buckets = append(l.buckets, new([eventsBucketSize]Event)) } ptr := &l.buckets[a][b] l.n++ return ptr } // append appends v to the slice and returns a pointer to the new element. func (l *Events) append(v Event) *Event { ptr := l.grow() *ptr = v return ptr } func (l *Events) Ptr(i int) *Event { a, b := l.index(i + l.off) return &l.buckets[a][b] } func (l *Events) index(i int) (int, int) { // Doing the division on uint instead of int compiles this function to a // shift and an AND (for power of 2 bucket sizes), versus a whole bunch of // instructions for int. return int(uint(i) / eventsBucketSize), int(uint(i) % eventsBucketSize) } func (l *Events) Len() int { return l.n - l.off } func (l *Events) Less(i, j int) bool { return l.Ptr(i).Ts < l.Ptr(j).Ts } func (l *Events) Swap(i, j int) { *l.Ptr(i), *l.Ptr(j) = *l.Ptr(j), *l.Ptr(i) } func (l *Events) Pop() (*Event, bool) { if l.off == l.n { return nil, false } a, b := l.index(l.off) ptr := &l.buckets[a][b] l.off++ if b == eventsBucketSize-1 || l.off == l.n { // We've consumed the last event from the bucket, so drop the bucket and // allow GC to collect it. l.buckets[a] = nil } return ptr, true } func (l *Events) All() func(yield func(ev *Event) bool) { return func(yield func(ev *Event) bool) { for i := 0; i < l.Len(); i++ { a, b := l.index(i + l.off) ptr := &l.buckets[a][b] if !yield(ptr) { return } } } } // parseEventBatches reads per-P event batches and merges them into a single, consistent // stream. The high level idea is as follows. Events within an individual batch // are in correct order, because they are emitted by a single P. So we need to // produce a correct interleaving of the batches. To do this we take first // unmerged event from each batch (frontier). Then choose subset that is "ready" // to be merged, that is, events for which all dependencies are already merged. // Then we choose event with the lowest timestamp from the subset, merge it and // repeat. This approach ensures that we form a consistent stream even if // timestamps are incorrect (condition observed on some machines). func (p *parser) parseEventBatches() (Events, error) { // The ordering of CPU profile sample events in the data stream is based on // when each run of the signal handler was able to acquire the spinlock, // with original timestamps corresponding to when ReadTrace pulled the data // off of the profBuf queue. Re-sort them by the timestamp we captured // inside the signal handler. sort.Sort((*eventList)(&p.cpuSamples)) allProcs := make([]proc, 0, len(p.batchOffsets)) for pid := range p.batchOffsets { allProcs = append(allProcs, proc{pid: pid}) } allProcs = append(allProcs, proc{pid: ProfileP, events: p.cpuSamples}) events := Events{} // Merge events as long as at least one P has more events gs := make(map[uint64]gState) // Note: technically we don't need a priority queue here. We're only ever // interested in the earliest elligible event, which means we just have to // track the smallest element. However, in practice, the priority queue // performs better, because for each event we only have to compute its state // transition once, not on each iteration. If it was elligible before, it'll // already be in the queue. Furthermore, on average, we only have one P to // look at in each iteration, because all other Ps are already in the queue. var frontier orderEventList availableProcs := make([]*proc, len(allProcs)) for i := range allProcs { availableProcs[i] = &allProcs[i] } for { pidLoop: for i := 0; i < len(availableProcs); i++ { proc := availableProcs[i] for len(proc.events) == 0 { // Call loadBatch in a loop because sometimes batches are empty evs, err := p.loadBatch(proc.pid, proc.buf[:0]) proc.buf = evs[:0] if err == io.EOF { // This P has no more events proc.done = true availableProcs[i], availableProcs[len(availableProcs)-1] = availableProcs[len(availableProcs)-1], availableProcs[i] availableProcs = availableProcs[:len(availableProcs)-1] // We swapped the element at i with another proc, so look at // the index again i-- continue pidLoop } else if err != nil { return Events{}, err } else { proc.events = evs } } ev := &proc.events[0] g, init, _ := stateTransition(ev) // TODO(dh): This implementation matches the behavior of the // upstream 'go tool trace', and works in practice, but has run into // the following inconsistency during fuzzing: what happens if // multiple Ps have events for the same G? While building the // frontier we will check all of the events against the current // state of the G. However, when we process the frontier, the state // of the G changes, and a transition that was valid while building // the frontier may no longer be valid when processing the frontier. // Is this something that can happen for real, valid traces, or is // this only possible with corrupt data? if !transitionReady(g, gs[g], init) { continue } proc.events = proc.events[1:] availableProcs[i], availableProcs[len(availableProcs)-1] = availableProcs[len(availableProcs)-1], availableProcs[i] availableProcs = availableProcs[:len(availableProcs)-1] frontier.Push(orderEvent{*ev, proc}) // We swapped the element at i with another proc, so look at the // index again i-- } if len(frontier) == 0 { for i := range allProcs { if !allProcs[i].done { return Events{}, fmt.Errorf("no consistent ordering of events possible") } } break } f := frontier.Pop() // We're computing the state transition twice, once when computing the // frontier, and now to apply the transition. This is fine because // stateTransition is a pure function. Computing it again is cheaper // than storing large items in the frontier. g, init, next := stateTransition(&f.ev) // Get rid of "Local" events, they are intended merely for ordering. switch f.ev.Type { case EvGoStartLocal: f.ev.Type = EvGoStart case EvGoUnblockLocal: f.ev.Type = EvGoUnblock case EvGoSysExitLocal: f.ev.Type = EvGoSysExit } events.append(f.ev) if err := transition(gs, g, init, next); err != nil { return Events{}, err } availableProcs = append(availableProcs, f.proc) } // At this point we have a consistent stream of events. Make sure time // stamps respect the ordering. The tests will skip (not fail) the test case // if they see this error. if !sort.IsSorted(&events) { return Events{}, ErrTimeOrder } // The last part is giving correct timestamps to EvGoSysExit events. The // problem with EvGoSysExit is that actual syscall exit timestamp // (ev.Args[2]) is potentially acquired long before event emission. So far // we've used timestamp of event emission (ev.Ts). We could not set ev.Ts = // ev.Args[2] earlier, because it would produce seemingly broken timestamps // (misplaced event). We also can't simply update the timestamp and resort // events, because if timestamps are broken we will misplace the event and // later report logically broken trace (instead of reporting broken // timestamps). lastSysBlock := make(map[uint64]Timestamp) for i := 0; i < events.Len(); i++ { ev := events.Ptr(i) switch ev.Type { case EvGoSysBlock, EvGoInSyscall: lastSysBlock[ev.G] = ev.Ts case EvGoSysExit: ts := Timestamp(ev.Args[2]) if ts == 0 { continue } block := lastSysBlock[ev.G] if block == 0 { return Events{}, fmt.Errorf("stray syscall exit") } if ts < block { return Events{}, ErrTimeOrder } ev.Ts = ts } } sort.Stable(&events) return events, nil } // collectBatchesAndCPUSamples records the offsets of batches and parses CPU samples. func (p *parser) collectBatchesAndCPUSamples() error { // Read events. var raw rawEvent var curP int32 for n := uint64(0); ; n++ { err := p.readRawEvent(skipArgs|skipStrings, &raw) if err == io.EOF { break } if err != nil { return err } if raw.typ == EvNone { continue } if raw.typ == EvBatch { bo := batchOffset{offset: raw.batchOffset} p.batchOffsets[raw.batchPid] = append(p.batchOffsets[raw.batchPid], bo) curP = raw.batchPid } batches := p.batchOffsets[curP] if len(batches) == 0 { return fmt.Errorf("read event %d with current P of %d, but P has no batches yet", raw.typ, curP) } batches[len(batches)-1].numEvents++ if raw.typ == EvCPUSample { e := Event{Type: raw.typ} argOffset := 1 narg := raw.argNum() if len(raw.args) != narg { return fmt.Errorf("CPU sample has wrong number of arguments: want %d, got %d", narg, len(raw.args)) } for i := argOffset; i < narg; i++ { if i == narg-1 { e.StkID = uint32(raw.args[i]) } else { e.Args[i-argOffset] = raw.args[i] } } e.Ts = Timestamp(e.Args[0]) e.P = int32(e.Args[1]) e.G = e.Args[2] e.Args[0] = 0 // Most events are written out by the active P at the exact moment // they describe. CPU profile samples are different because they're // written to the tracing log after some delay, by a separate worker // goroutine, into a separate buffer. // // We keep these in their own batch until all of the batches are // merged in timestamp order. We also (right before the merge) // re-sort these events by the timestamp captured in the profiling // signal handler. // // Note that we're not concerned about the memory usage of storing // all CPU samples during the indexing phase. There are orders of // magnitude fewer CPU samples than runtime events. p.cpuSamples = append(p.cpuSamples, e) } } return nil } const ( skipArgs = 1 << iota skipStrings ) func (p *parser) readByte() (byte, bool) { if p.off < len(p.data) && p.off >= 0 { b := p.data[p.off] p.off++ return b, true } else { return 0, false } } func (p *parser) readFull(n int) ([]byte, error) { if p.off >= len(p.data) || p.off < 0 || p.off+n > len(p.data) { // p.off < 0 is impossible but makes BCE happy. // // We do fail outright if there's not enough data, we don't care about // partial results. return nil, io.ErrUnexpectedEOF } buf := p.data[p.off : p.off+n] p.off += n return buf, nil } // readRawEvent reads a raw event into ev. The slices in ev are only valid until // the next call to readRawEvent, even when storing to a different location. func (p *parser) readRawEvent(flags uint, ev *rawEvent) error { // The number of arguments is encoded using two bits and can thus only // represent the values 0–3. The value 3 (on the wire) indicates that // arguments are prefixed by their byte length, to encode >=3 arguments. const inlineArgs = 3 // Read event type and number of arguments (1 byte). b, ok := p.readByte() if !ok { return io.EOF } typ := event.Type(b << 2 >> 2) // Most events have a timestamp before the actual arguments, so we add 1 and // parse it like it's the first argument. EvString has a special format and // the number of arguments doesn't matter. EvBatch writes '1' as the number // of arguments, but actually has two: a pid and a timestamp, but here the // timestamp is the second argument, not the first; adding 1 happens to come // up with the correct number, but it doesn't matter, because EvBatch has // custom logic for parsing. // // Note that because we're adding 1, inlineArgs == 3 describes the largest // number of logical arguments that isn't length-prefixed, even though the // value 3 on the wire indicates length-prefixing. For us, that becomes narg // == 4. narg := b>>6 + 1 if typ == EvNone || typ >= EvCount || EventDescriptions[typ].minVersion > p.ver { return fmt.Errorf("unknown event type %d", typ) } switch typ { case EvString: if flags&skipStrings != 0 { // String dictionary entry [ID, length, string]. if _, err := p.readVal(); err != nil { return errMalformedVarint } ln, err := p.readVal() if err != nil { return err } if !p.discard(ln) { return fmt.Errorf("failed to read trace: %w", io.EOF) } } else { // String dictionary entry [ID, length, string]. id, err := p.readVal() if err != nil { return err } if id == 0 { return errors.New("string has invalid id 0") } if p.strings[id] != "" { return fmt.Errorf("string has duplicate id %d", id) } var ln uint64 ln, err = p.readVal() if err != nil { return err } if ln == 0 { return errors.New("string has invalid length 0") } if ln > 1e6 { return fmt.Errorf("string has too large length %d", ln) } buf, err := p.readFull(int(ln)) if err != nil { return fmt.Errorf("failed to read trace: %w", err) } p.strings[id] = string(buf) } ev.typ = EvNone return nil case EvBatch: if want := byte(2); narg != want { return fmt.Errorf("EvBatch has wrong number of arguments: got %d, want %d", narg, want) } // -1 because we've already read the first byte of the batch off := p.off - 1 pid, err := p.readVal() if err != nil { return err } if pid != math.MaxUint64 && pid > math.MaxInt32 { return fmt.Errorf("processor ID %d is larger than maximum of %d", pid, uint64(math.MaxUint)) } var pid32 int32 if pid == math.MaxUint64 { pid32 = -1 } else { pid32 = int32(pid) } v, err := p.readVal() if err != nil { return err } *ev = rawEvent{ typ: EvBatch, args: p.args[:0], batchPid: pid32, batchOffset: off, } ev.args = append(ev.args, pid, v) return nil default: *ev = rawEvent{typ: typ, args: p.args[:0]} if narg <= inlineArgs { if flags&skipArgs == 0 { for i := 0; i < int(narg); i++ { v, err := p.readVal() if err != nil { return fmt.Errorf("failed to read event %d argument: %w", typ, err) } ev.args = append(ev.args, v) } } else { for i := 0; i < int(narg); i++ { if _, err := p.readVal(); err != nil { return fmt.Errorf("failed to read event %d argument: %w", typ, errMalformedVarint) } } } } else { // More than inlineArgs args, the first value is length of the event // in bytes. v, err := p.readVal() if err != nil { return fmt.Errorf("failed to read event %d argument: %w", typ, err) } if limit := uint64(2048); v > limit { // At the time of Go 1.19, v seems to be at most 128. Set 2048 // as a generous upper limit and guard against malformed traces. return fmt.Errorf("failed to read event %d argument: length-prefixed argument too big: %d bytes, limit is %d", typ, v, limit) } if flags&skipArgs == 0 || typ == EvCPUSample { buf, err := p.readFull(int(v)) if err != nil { return fmt.Errorf("failed to read trace: %w", err) } for len(buf) > 0 { var v uint64 v, buf, err = readValFrom(buf) if err != nil { return err } ev.args = append(ev.args, v) } } else { // Skip over arguments if !p.discard(v) { return fmt.Errorf("failed to read trace: %w", io.EOF) } } if typ == EvUserLog { // EvUserLog records are followed by a value string if flags&skipArgs == 0 { // Read string s, err := p.readStr() if err != nil { return err } ev.sargs = append(ev.sargs, s) } else { // Skip string v, err := p.readVal() if err != nil { return err } if !p.discard(v) { return io.EOF } } } } p.args = ev.args[:0] return nil } } // loadBatch loads the next batch for pid and appends its contents to to events. func (p *parser) loadBatch(pid int32, events []Event) ([]Event, error) { offsets := p.batchOffsets[pid] if len(offsets) == 0 { return nil, io.EOF } n := offsets[0].numEvents offset := offsets[0].offset offsets = offsets[1:] p.batchOffsets[pid] = offsets p.off = offset if cap(events) < n { events = make([]Event, 0, n) } gotHeader := false var raw rawEvent var ev Event for { err := p.readRawEvent(0, &raw) if err == io.EOF { break } if err != nil { return nil, err } if raw.typ == EvNone || raw.typ == EvCPUSample { continue } if raw.typ == EvBatch { if gotHeader { break } else { gotHeader = true } } err = p.parseEvent(&raw, &ev) if err != nil { return nil, err } if ev.Type != EvNone { events = append(events, ev) } } return events, nil } func (p *parser) readStr() (s string, err error) { sz, err := p.readVal() if err != nil { return "", err } if sz == 0 { return "", nil } if sz > 1e6 { return "", fmt.Errorf("string is too large (len=%d)", sz) } buf, err := p.readFull(int(sz)) if err != nil { return "", fmt.Errorf("failed to read trace: %w", err) } return string(buf), nil } // parseEvent transforms raw events into events. // It does analyze and verify per-event-type arguments. func (p *parser) parseEvent(raw *rawEvent, ev *Event) error { desc := &EventDescriptions[raw.typ] if desc.Name == "" { return fmt.Errorf("missing description for event type %d", raw.typ) } narg := raw.argNum() if len(raw.args) != narg { return fmt.Errorf("%s has wrong number of arguments: want %d, got %d", desc.Name, narg, len(raw.args)) } switch raw.typ { case EvBatch: p.lastGs[p.lastP] = p.lastG if raw.args[0] != math.MaxUint64 && raw.args[0] > math.MaxInt32 { return fmt.Errorf("processor ID %d is larger than maximum of %d", raw.args[0], uint64(math.MaxInt32)) } if raw.args[0] == math.MaxUint64 { p.lastP = -1 } else { p.lastP = int32(raw.args[0]) } p.lastG = p.lastGs[p.lastP] p.lastTs = Timestamp(raw.args[1]) case EvFrequency: p.ticksPerSec = int64(raw.args[0]) if p.ticksPerSec <= 0 { // The most likely cause for this is tick skew on different CPUs. // For example, solaris/amd64 seems to have wildly different // ticks on different CPUs. return ErrTimeOrder } case EvTimerGoroutine: p.timerGoids[raw.args[0]] = true case EvStack: if len(raw.args) < 2 { return fmt.Errorf("EvStack has wrong number of arguments: want at least 2, got %d", len(raw.args)) } size := raw.args[1] if size > 1000 { return fmt.Errorf("EvStack has bad number of frames: %d", size) } want := 2 + 4*size if uint64(len(raw.args)) != want { return fmt.Errorf("EvStack has wrong number of arguments: want %d, got %d", want, len(raw.args)) } id := uint32(raw.args[0]) if id != 0 && size > 0 { stk := p.allocateStack(size) for i := 0; i < int(size); i++ { pc := raw.args[2+i*4+0] fn := raw.args[2+i*4+1] file := raw.args[2+i*4+2] line := raw.args[2+i*4+3] stk[i] = pc if _, ok := p.pcs[pc]; !ok { p.pcs[pc] = Frame{PC: pc, Fn: fn, File: file, Line: int(line)} } } p.stacks[id] = stk } case EvCPUSample: // These events get parsed during the indexing step and don't strictly // belong to the batch. default: *ev = Event{Type: raw.typ, P: p.lastP, G: p.lastG} var argOffset int ev.Ts = p.lastTs + Timestamp(raw.args[0]) argOffset = 1 p.lastTs = ev.Ts for i := argOffset; i < narg; i++ { if i == narg-1 && desc.Stack { ev.StkID = uint32(raw.args[i]) } else { ev.Args[i-argOffset] = raw.args[i] } } switch raw.typ { case EvGoStart, EvGoStartLocal, EvGoStartLabel: p.lastG = ev.Args[0] ev.G = p.lastG case EvGoEnd, EvGoStop, EvGoSched, EvGoPreempt, EvGoSleep, EvGoBlock, EvGoBlockSend, EvGoBlockRecv, EvGoBlockSelect, EvGoBlockSync, EvGoBlockCond, EvGoBlockNet, EvGoSysBlock, EvGoBlockGC: p.lastG = 0 case EvGoSysExit, EvGoWaiting, EvGoInSyscall: ev.G = ev.Args[0] case EvUserTaskCreate: // e.Args 0: taskID, 1:parentID, 2:nameID case EvUserRegion: // e.Args 0: taskID, 1: mode, 2:nameID case EvUserLog: // e.Args 0: taskID, 1:keyID, 2: stackID, 3: messageID // raw.sargs 0: message if id, ok := p.inlineStringsMapping[raw.sargs[0]]; ok { ev.Args[3] = uint64(id) } else { id := len(p.inlineStrings) p.inlineStringsMapping[raw.sargs[0]] = id p.inlineStrings = append(p.inlineStrings, raw.sargs[0]) ev.Args[3] = uint64(id) } } return nil } ev.Type = EvNone return nil } // ErrTimeOrder is returned by Parse when the trace contains // time stamps that do not respect actual event ordering. var ErrTimeOrder = errors.New("time stamps out of order") // postProcessTrace does inter-event verification and information restoration. // The resulting trace is guaranteed to be consistent // (for example, a P does not run two Gs at the same time, or a G is indeed // blocked before an unblock event). func (p *parser) postProcessTrace(events Events) error { const ( gDead = iota gRunnable gRunning gWaiting ) type gdesc struct { state int ev *Event evStart *Event evCreate *Event evMarkAssist *Event } type pdesc struct { running bool g uint64 evSweep *Event } gs := make(map[uint64]gdesc) ps := make(map[int32]pdesc) tasks := make(map[uint64]*Event) // task id to task creation events activeRegions := make(map[uint64][]*Event) // goroutine id to stack of regions gs[0] = gdesc{state: gRunning} var evGC, evSTW *Event checkRunning := func(p pdesc, g gdesc, ev *Event, allowG0 bool) error { name := EventDescriptions[ev.Type].Name if g.state != gRunning { return fmt.Errorf("g %d is not running while %s (time %d)", ev.G, name, ev.Ts) } if p.g != ev.G { return fmt.Errorf("p %d is not running g %d while %s (time %d)", ev.P, ev.G, name, ev.Ts) } if !allowG0 && ev.G == 0 { return fmt.Errorf("g 0 did %s (time %d)", name, ev.Ts) } return nil } for evIdx := 0; evIdx < events.Len(); evIdx++ { ev := events.Ptr(evIdx) switch ev.Type { case EvProcStart: p := ps[ev.P] if p.running { return fmt.Errorf("p %d is running before start (time %d)", ev.P, ev.Ts) } p.running = true ps[ev.P] = p case EvProcStop: p := ps[ev.P] if !p.running { return fmt.Errorf("p %d is not running before stop (time %d)", ev.P, ev.Ts) } if p.g != 0 { return fmt.Errorf("p %d is running a goroutine %d during stop (time %d)", ev.P, p.g, ev.Ts) } p.running = false ps[ev.P] = p case EvGCStart: if evGC != nil { return fmt.Errorf("previous GC is not ended before a new one (time %d)", ev.Ts) } evGC = ev // Attribute this to the global GC state. ev.P = GCP case EvGCDone: if evGC == nil { return fmt.Errorf("bogus GC end (time %d)", ev.Ts) } evGC = nil case EvSTWStart: evp := &evSTW if *evp != nil { return fmt.Errorf("previous STW is not ended before a new one (time %d)", ev.Ts) } *evp = ev case EvSTWDone: evp := &evSTW if *evp == nil { return fmt.Errorf("bogus STW end (time %d)", ev.Ts) } *evp = nil case EvGCSweepStart: p := ps[ev.P] if p.evSweep != nil { return fmt.Errorf("previous sweeping is not ended before a new one (time %d)", ev.Ts) } p.evSweep = ev ps[ev.P] = p case EvGCMarkAssistStart: g := gs[ev.G] if g.evMarkAssist != nil { return fmt.Errorf("previous mark assist is not ended before a new one (time %d)", ev.Ts) } g.evMarkAssist = ev gs[ev.G] = g case EvGCMarkAssistDone: // Unlike most events, mark assists can be in progress when a // goroutine starts tracing, so we can't report an error here. g := gs[ev.G] if g.evMarkAssist != nil { g.evMarkAssist = nil } gs[ev.G] = g case EvGCSweepDone: p := ps[ev.P] if p.evSweep == nil { return fmt.Errorf("bogus sweeping end (time %d)", ev.Ts) } p.evSweep = nil ps[ev.P] = p case EvGoWaiting: g := gs[ev.G] if g.state != gRunnable { return fmt.Errorf("g %d is not runnable before EvGoWaiting (time %d)", ev.G, ev.Ts) } g.state = gWaiting g.ev = ev gs[ev.G] = g case EvGoInSyscall: g := gs[ev.G] if g.state != gRunnable { return fmt.Errorf("g %d is not runnable before EvGoInSyscall (time %d)", ev.G, ev.Ts) } g.state = gWaiting g.ev = ev gs[ev.G] = g case EvGoCreate: g := gs[ev.G] p := ps[ev.P] if err := checkRunning(p, g, ev, true); err != nil { return err } if _, ok := gs[ev.Args[0]]; ok { return fmt.Errorf("g %d already exists (time %d)", ev.Args[0], ev.Ts) } gs[ev.Args[0]] = gdesc{state: gRunnable, ev: ev, evCreate: ev} case EvGoStart, EvGoStartLabel: g := gs[ev.G] p := ps[ev.P] if g.state != gRunnable { return fmt.Errorf("g %d is not runnable before start (time %d)", ev.G, ev.Ts) } if p.g != 0 { return fmt.Errorf("p %d is already running g %d while start g %d (time %d)", ev.P, p.g, ev.G, ev.Ts) } g.state = gRunning g.evStart = ev p.g = ev.G if g.evCreate != nil { ev.StkID = uint32(g.evCreate.Args[1]) g.evCreate = nil } if g.ev != nil { g.ev = nil } gs[ev.G] = g ps[ev.P] = p case EvGoEnd, EvGoStop: g := gs[ev.G] p := ps[ev.P] if err := checkRunning(p, g, ev, false); err != nil { return err } g.evStart = nil g.state = gDead p.g = 0 if ev.Type == EvGoEnd { // flush all active regions delete(activeRegions, ev.G) } gs[ev.G] = g ps[ev.P] = p case EvGoSched, EvGoPreempt: g := gs[ev.G] p := ps[ev.P] if err := checkRunning(p, g, ev, false); err != nil { return err } g.state = gRunnable g.evStart = nil p.g = 0 g.ev = ev gs[ev.G] = g ps[ev.P] = p case EvGoUnblock: g := gs[ev.G] p := ps[ev.P] if g.state != gRunning { return fmt.Errorf("g %d is not running while unpark (time %d)", ev.G, ev.Ts) } if ev.P != TimerP && p.g != ev.G { return fmt.Errorf("p %d is not running g %d while unpark (time %d)", ev.P, ev.G, ev.Ts) } g1 := gs[ev.Args[0]] if g1.state != gWaiting { return fmt.Errorf("g %d is not waiting before unpark (time %d)", ev.Args[0], ev.Ts) } if g1.ev != nil && g1.ev.Type == EvGoBlockNet { ev.P = NetpollP } g1.state = gRunnable g1.ev = ev gs[ev.Args[0]] = g1 case EvGoSysCall: g := gs[ev.G] p := ps[ev.P] if err := checkRunning(p, g, ev, false); err != nil { return err } g.ev = ev gs[ev.G] = g case EvGoSysBlock: g := gs[ev.G] p := ps[ev.P] if err := checkRunning(p, g, ev, false); err != nil { return err } g.state = gWaiting g.evStart = nil p.g = 0 gs[ev.G] = g ps[ev.P] = p case EvGoSysExit: g := gs[ev.G] if g.state != gWaiting { return fmt.Errorf("g %d is not waiting during syscall exit (time %d)", ev.G, ev.Ts) } g.state = gRunnable g.ev = ev gs[ev.G] = g case EvGoSleep, EvGoBlock, EvGoBlockSend, EvGoBlockRecv, EvGoBlockSelect, EvGoBlockSync, EvGoBlockCond, EvGoBlockNet, EvGoBlockGC: g := gs[ev.G] p := ps[ev.P] if err := checkRunning(p, g, ev, false); err != nil { return err } g.state = gWaiting g.ev = ev g.evStart = nil p.g = 0 gs[ev.G] = g ps[ev.P] = p case EvUserTaskCreate: taskid := ev.Args[0] if prevEv, ok := tasks[taskid]; ok { return fmt.Errorf("task id conflicts (id:%d), %q vs %q", taskid, ev, prevEv) } tasks[ev.Args[0]] = ev case EvUserTaskEnd: taskid := ev.Args[0] delete(tasks, taskid) case EvUserRegion: mode := ev.Args[1] regions := activeRegions[ev.G] if mode == 0 { // region start activeRegions[ev.G] = append(regions, ev) // push } else if mode == 1 { // region end n := len(regions) if n > 0 { // matching region start event is in the trace. s := regions[n-1] if s.Args[0] != ev.Args[0] || s.Args[2] != ev.Args[2] { // task id, region name mismatch return fmt.Errorf("misuse of region in goroutine %d: span end %q when the inner-most active span start event is %q", ev.G, ev, s) } if n > 1 { activeRegions[ev.G] = regions[:n-1] } else { delete(activeRegions, ev.G) } } } else { return fmt.Errorf("invalid user region mode: %q", ev) } } if ev.StkID != 0 && len(p.stacks[ev.StkID]) == 0 { // Make sure events don't refer to stacks that don't exist or to // stacks with zero frames. Neither of these should be possible, but // better be safe than sorry. ev.StkID = 0 } } // TODO(mknyszek): restore stacks for EvGoStart events. return nil } var errMalformedVarint = errors.New("malformatted base-128 varint") // readVal reads unsigned base-128 value from r. func (p *parser) readVal() (uint64, error) { v, n := binary.Uvarint(p.data[p.off:]) if n <= 0 { return 0, errMalformedVarint } p.off += n return v, nil } func readValFrom(buf []byte) (v uint64, rem []byte, err error) { v, n := binary.Uvarint(buf) if n <= 0 { return 0, nil, errMalformedVarint } return v, buf[n:], nil } func (ev *Event) String() string { desc := &EventDescriptions[ev.Type] w := new(bytes.Buffer) fmt.Fprintf(w, "%d %s p=%d g=%d stk=%d", ev.Ts, desc.Name, ev.P, ev.G, ev.StkID) for i, a := range desc.Args { fmt.Fprintf(w, " %s=%d", a, ev.Args[i]) } return w.String() } // argNum returns total number of args for the event accounting for timestamps, // sequence numbers and differences between trace format versions. func (raw *rawEvent) argNum() int { desc := &EventDescriptions[raw.typ] if raw.typ == EvStack { return len(raw.args) } narg := len(desc.Args) if desc.Stack { narg++ } switch raw.typ { case EvBatch, EvFrequency, EvTimerGoroutine: return narg } narg++ // timestamp return narg } // Event types in the trace. // Verbatim copy from src/runtime/trace.go with the "trace" prefix removed. const ( EvNone event.Type = 0 // unused EvBatch event.Type = 1 // start of per-P batch of events [pid, timestamp] EvFrequency event.Type = 2 // contains tracer timer frequency [frequency (ticks per second)] EvStack event.Type = 3 // stack [stack id, number of PCs, array of {PC, func string ID, file string ID, line}] EvGomaxprocs event.Type = 4 // current value of GOMAXPROCS [timestamp, GOMAXPROCS, stack id] EvProcStart event.Type = 5 // start of P [timestamp, thread id] EvProcStop event.Type = 6 // stop of P [timestamp] EvGCStart event.Type = 7 // GC start [timestamp, seq, stack id] EvGCDone event.Type = 8 // GC done [timestamp] EvSTWStart event.Type = 9 // GC mark termination start [timestamp, kind] EvSTWDone event.Type = 10 // GC mark termination done [timestamp] EvGCSweepStart event.Type = 11 // GC sweep start [timestamp, stack id] EvGCSweepDone event.Type = 12 // GC sweep done [timestamp, swept, reclaimed] EvGoCreate event.Type = 13 // goroutine creation [timestamp, new goroutine id, new stack id, stack id] EvGoStart event.Type = 14 // goroutine starts running [timestamp, goroutine id, seq] EvGoEnd event.Type = 15 // goroutine ends [timestamp] EvGoStop event.Type = 16 // goroutine stops (like in select{}) [timestamp, stack] EvGoSched event.Type = 17 // goroutine calls Gosched [timestamp, stack] EvGoPreempt event.Type = 18 // goroutine is preempted [timestamp, stack] EvGoSleep event.Type = 19 // goroutine calls Sleep [timestamp, stack] EvGoBlock event.Type = 20 // goroutine blocks [timestamp, stack] EvGoUnblock event.Type = 21 // goroutine is unblocked [timestamp, goroutine id, seq, stack] EvGoBlockSend event.Type = 22 // goroutine blocks on chan send [timestamp, stack] EvGoBlockRecv event.Type = 23 // goroutine blocks on chan recv [timestamp, stack] EvGoBlockSelect event.Type = 24 // goroutine blocks on select [timestamp, stack] EvGoBlockSync event.Type = 25 // goroutine blocks on Mutex/RWMutex [timestamp, stack] EvGoBlockCond event.Type = 26 // goroutine blocks on Cond [timestamp, stack] EvGoBlockNet event.Type = 27 // goroutine blocks on network [timestamp, stack] EvGoSysCall event.Type = 28 // syscall enter [timestamp, stack] EvGoSysExit event.Type = 29 // syscall exit [timestamp, goroutine id, seq, real timestamp] EvGoSysBlock event.Type = 30 // syscall blocks [timestamp] EvGoWaiting event.Type = 31 // denotes that goroutine is blocked when tracing starts [timestamp, goroutine id] EvGoInSyscall event.Type = 32 // denotes that goroutine is in syscall when tracing starts [timestamp, goroutine id] EvHeapAlloc event.Type = 33 // gcController.heapLive change [timestamp, heap live bytes] EvHeapGoal event.Type = 34 // gcController.heapGoal change [timestamp, heap goal bytes] EvTimerGoroutine event.Type = 35 // denotes timer goroutine [timer goroutine id] EvFutileWakeup event.Type = 36 // denotes that the previous wakeup of this goroutine was futile [timestamp] EvString event.Type = 37 // string dictionary entry [ID, length, string] EvGoStartLocal event.Type = 38 // goroutine starts running on the same P as the last event [timestamp, goroutine id] EvGoUnblockLocal event.Type = 39 // goroutine is unblocked on the same P as the last event [timestamp, goroutine id, stack] EvGoSysExitLocal event.Type = 40 // syscall exit on the same P as the last event [timestamp, goroutine id, real timestamp] EvGoStartLabel event.Type = 41 // goroutine starts running with label [timestamp, goroutine id, seq, label string id] EvGoBlockGC event.Type = 42 // goroutine blocks on GC assist [timestamp, stack] EvGCMarkAssistStart event.Type = 43 // GC mark assist start [timestamp, stack] EvGCMarkAssistDone event.Type = 44 // GC mark assist done [timestamp] EvUserTaskCreate event.Type = 45 // trace.NewTask [timestamp, internal task id, internal parent id, stack, name string] EvUserTaskEnd event.Type = 46 // end of task [timestamp, internal task id, stack] EvUserRegion event.Type = 47 // trace.WithRegion [timestamp, internal task id, mode(0:start, 1:end), name string] EvUserLog event.Type = 48 // trace.Log [timestamp, internal id, key string id, stack, value string] EvCPUSample event.Type = 49 // CPU profiling sample [timestamp, stack, real timestamp, real P id (-1 when absent), goroutine id] EvCount event.Type = 50 ) var EventDescriptions = [256]struct { Name string minVersion version.Version Stack bool Args []string SArgs []string // string arguments }{ EvNone: {"None", 5, false, []string{}, nil}, EvBatch: {"Batch", 5, false, []string{"p", "ticks"}, nil}, // in 1.5 format it was {"p", "seq", "ticks"} EvFrequency: {"Frequency", 5, false, []string{"freq"}, nil}, // in 1.5 format it was {"freq", "unused"} EvStack: {"Stack", 5, false, []string{"id", "siz"}, nil}, EvGomaxprocs: {"Gomaxprocs", 5, true, []string{"procs"}, nil}, EvProcStart: {"ProcStart", 5, false, []string{"thread"}, nil}, EvProcStop: {"ProcStop", 5, false, []string{}, nil}, EvGCStart: {"GCStart", 5, true, []string{"seq"}, nil}, // in 1.5 format it was {} EvGCDone: {"GCDone", 5, false, []string{}, nil}, EvSTWStart: {"GCSTWStart", 5, false, []string{"kindid"}, []string{"kind"}}, // <= 1.9, args was {} (implicitly {0}) EvSTWDone: {"GCSTWDone", 5, false, []string{}, nil}, EvGCSweepStart: {"GCSweepStart", 5, true, []string{}, nil}, EvGCSweepDone: {"GCSweepDone", 5, false, []string{"swept", "reclaimed"}, nil}, // before 1.9, format was {} EvGoCreate: {"GoCreate", 5, true, []string{"g", "stack"}, nil}, EvGoStart: {"GoStart", 5, false, []string{"g", "seq"}, nil}, // in 1.5 format it was {"g"} EvGoEnd: {"GoEnd", 5, false, []string{}, nil}, EvGoStop: {"GoStop", 5, true, []string{}, nil}, EvGoSched: {"GoSched", 5, true, []string{}, nil}, EvGoPreempt: {"GoPreempt", 5, true, []string{}, nil}, EvGoSleep: {"GoSleep", 5, true, []string{}, nil}, EvGoBlock: {"GoBlock", 5, true, []string{}, nil}, EvGoUnblock: {"GoUnblock", 5, true, []string{"g", "seq"}, nil}, // in 1.5 format it was {"g"} EvGoBlockSend: {"GoBlockSend", 5, true, []string{}, nil}, EvGoBlockRecv: {"GoBlockRecv", 5, true, []string{}, nil}, EvGoBlockSelect: {"GoBlockSelect", 5, true, []string{}, nil}, EvGoBlockSync: {"GoBlockSync", 5, true, []string{}, nil}, EvGoBlockCond: {"GoBlockCond", 5, true, []string{}, nil}, EvGoBlockNet: {"GoBlockNet", 5, true, []string{}, nil}, EvGoSysCall: {"GoSysCall", 5, true, []string{}, nil}, EvGoSysExit: {"GoSysExit", 5, false, []string{"g", "seq", "ts"}, nil}, EvGoSysBlock: {"GoSysBlock", 5, false, []string{}, nil}, EvGoWaiting: {"GoWaiting", 5, false, []string{"g"}, nil}, EvGoInSyscall: {"GoInSyscall", 5, false, []string{"g"}, nil}, EvHeapAlloc: {"HeapAlloc", 5, false, []string{"mem"}, nil}, EvHeapGoal: {"HeapGoal", 5, false, []string{"mem"}, nil}, EvTimerGoroutine: {"TimerGoroutine", 5, false, []string{"g"}, nil}, // in 1.5 format it was {"g", "unused"} EvFutileWakeup: {"FutileWakeup", 5, false, []string{}, nil}, EvString: {"String", 7, false, []string{}, nil}, EvGoStartLocal: {"GoStartLocal", 7, false, []string{"g"}, nil}, EvGoUnblockLocal: {"GoUnblockLocal", 7, true, []string{"g"}, nil}, EvGoSysExitLocal: {"GoSysExitLocal", 7, false, []string{"g", "ts"}, nil}, EvGoStartLabel: {"GoStartLabel", 8, false, []string{"g", "seq", "labelid"}, []string{"label"}}, EvGoBlockGC: {"GoBlockGC", 8, true, []string{}, nil}, EvGCMarkAssistStart: {"GCMarkAssistStart", 9, true, []string{}, nil}, EvGCMarkAssistDone: {"GCMarkAssistDone", 9, false, []string{}, nil}, EvUserTaskCreate: {"UserTaskCreate", 11, true, []string{"taskid", "pid", "typeid"}, []string{"name"}}, EvUserTaskEnd: {"UserTaskEnd", 11, true, []string{"taskid"}, nil}, EvUserRegion: {"UserRegion", 11, true, []string{"taskid", "mode", "typeid"}, []string{"name"}}, EvUserLog: {"UserLog", 11, true, []string{"id", "keyid"}, []string{"category", "message"}}, EvCPUSample: {"CPUSample", 19, true, []string{"ts", "p", "g"}, nil}, } //gcassert:inline func (p *parser) allocateStack(size uint64) []uint64 { if size == 0 { return nil } // Stacks are plentiful but small. For our "Staticcheck on std" trace with // 11e6 events, we have roughly 500,000 stacks, using 200 MiB of memory. To // avoid making 500,000 small allocations we allocate backing arrays 1 MiB // at a time. out := p.stacksData if uint64(len(out)) < size { out = make([]uint64, 1024*128) } p.stacksData = out[size:] return out[:size:size] } func (tr *Trace) STWReason(kindID uint64) STWReason { if tr.Version < 21 { if kindID == 0 || kindID == 1 { return STWReason(kindID + 1) } else { return STWUnknown } } else if tr.Version == 21 { if kindID < NumSTWReasons { return STWReason(kindID) } else { return STWUnknown } } else { return STWUnknown } } type STWReason int const ( STWUnknown STWReason = 0 STWGCMarkTermination STWReason = 1 STWGCSweepTermination STWReason = 2 STWWriteHeapDump STWReason = 3 STWGoroutineProfile STWReason = 4 STWGoroutineProfileCleanup STWReason = 5 STWAllGoroutinesStackTrace STWReason = 6 STWReadMemStats STWReason = 7 STWAllThreadsSyscall STWReason = 8 STWGOMAXPROCS STWReason = 9 STWStartTrace STWReason = 10 STWStopTrace STWReason = 11 STWCountPagesInUse STWReason = 12 STWReadMetricsSlow STWReason = 13 STWReadMemStatsSlow STWReason = 14 STWPageCachePagesLeaked STWReason = 15 STWResetDebugLog STWReason = 16 NumSTWReasons = 17 ) ././@LongLink0000644000000000000000000000015200000000000011601 Lustar rootrootdependencies/pkg/mod/golang.org/x/exp@v0.0.0-20240506185415-9bf2ced13842/trace/internal/oldtrace/order.godependencies/pkg/mod/golang.org/x/exp@v0.0.0-20240506185415-9bf2ced13842/trace/internal/oldtrace/ord0000644000000000000000000001044015107355263030136 0ustar rootroot// Copyright 2024 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. // Code generated by "gen.bash" from internal/trace/v2; DO NOT EDIT. //go:build go1.21 package oldtrace import "errors" type orderEvent struct { ev Event proc *proc } type gStatus int type gState struct { seq uint64 status gStatus } const ( gDead gStatus = iota gRunnable gRunning gWaiting unordered = ^uint64(0) garbage = ^uint64(0) - 1 noseq = ^uint64(0) seqinc = ^uint64(0) - 1 ) // stateTransition returns goroutine state (sequence and status) when the event // becomes ready for merging (init) and the goroutine state after the event (next). func stateTransition(ev *Event) (g uint64, init, next gState) { // Note that we have an explicit return in each case, as that produces slightly better code (tested on Go 1.19). switch ev.Type { case EvGoCreate: g = ev.Args[0] init = gState{0, gDead} next = gState{1, gRunnable} return case EvGoWaiting, EvGoInSyscall: g = ev.G init = gState{1, gRunnable} next = gState{2, gWaiting} return case EvGoStart, EvGoStartLabel: g = ev.G init = gState{ev.Args[1], gRunnable} next = gState{ev.Args[1] + 1, gRunning} return case EvGoStartLocal: // noseq means that this event is ready for merging as soon as // frontier reaches it (EvGoStartLocal is emitted on the same P // as the corresponding EvGoCreate/EvGoUnblock, and thus the latter // is already merged). // seqinc is a stub for cases when event increments g sequence, // but since we don't know current seq we also don't know next seq. g = ev.G init = gState{noseq, gRunnable} next = gState{seqinc, gRunning} return case EvGoBlock, EvGoBlockSend, EvGoBlockRecv, EvGoBlockSelect, EvGoBlockSync, EvGoBlockCond, EvGoBlockNet, EvGoSleep, EvGoSysBlock, EvGoBlockGC: g = ev.G init = gState{noseq, gRunning} next = gState{noseq, gWaiting} return case EvGoSched, EvGoPreempt: g = ev.G init = gState{noseq, gRunning} next = gState{noseq, gRunnable} return case EvGoUnblock, EvGoSysExit: g = ev.Args[0] init = gState{ev.Args[1], gWaiting} next = gState{ev.Args[1] + 1, gRunnable} return case EvGoUnblockLocal, EvGoSysExitLocal: g = ev.Args[0] init = gState{noseq, gWaiting} next = gState{seqinc, gRunnable} return case EvGCStart: g = garbage init = gState{ev.Args[0], gDead} next = gState{ev.Args[0] + 1, gDead} return default: // no ordering requirements g = unordered return } } func transitionReady(g uint64, curr, init gState) bool { return g == unordered || (init.seq == noseq || init.seq == curr.seq) && init.status == curr.status } func transition(gs map[uint64]gState, g uint64, init, next gState) error { if g == unordered { return nil } curr := gs[g] if !transitionReady(g, curr, init) { // See comment near the call to transition, where we're building the frontier, for details on how this could // possibly happen. return errors.New("encountered impossible goroutine state transition") } switch next.seq { case noseq: next.seq = curr.seq case seqinc: next.seq = curr.seq + 1 } gs[g] = next return nil } type orderEventList []orderEvent func (l *orderEventList) Less(i, j int) bool { return (*l)[i].ev.Ts < (*l)[j].ev.Ts } type eventList []Event func (l *eventList) Len() int { return len(*l) } func (l *eventList) Less(i, j int) bool { return (*l)[i].Ts < (*l)[j].Ts } func (l *eventList) Swap(i, j int) { (*l)[i], (*l)[j] = (*l)[j], (*l)[i] } func (h *orderEventList) Push(x orderEvent) { *h = append(*h, x) heapUp(h, len(*h)-1) } func (h *orderEventList) Pop() orderEvent { n := len(*h) - 1 (*h)[0], (*h)[n] = (*h)[n], (*h)[0] heapDown(h, 0, n) x := (*h)[len(*h)-1] *h = (*h)[:len(*h)-1] return x } func heapUp(h *orderEventList, j int) { for { i := (j - 1) / 2 // parent if i == j || !h.Less(j, i) { break } (*h)[i], (*h)[j] = (*h)[j], (*h)[i] j = i } } func heapDown(h *orderEventList, i0, n int) bool { i := i0 for { j1 := 2*i + 1 if j1 >= n || j1 < 0 { // j1 < 0 after int overflow break } j := j1 // left child if j2 := j1 + 1; j2 < n && h.Less(j2, j1) { j = j2 // = 2*i + 2 // right child } if !h.Less(j, i) { break } (*h)[i], (*h)[j] = (*h)[j], (*h)[i] i = j } return i > i0 } dependencies/pkg/mod/golang.org/x/exp@v0.0.0-20240506185415-9bf2ced13842/trace/internal/testgen/0000755000000000000000000000000015107355263027304 5ustar rootroot././@LongLink0000644000000000000000000000014700000000000011605 Lustar rootrootdependencies/pkg/mod/golang.org/x/exp@v0.0.0-20240506185415-9bf2ced13842/trace/internal/testgen/go122/dependencies/pkg/mod/golang.org/x/exp@v0.0.0-20240506185415-9bf2ced13842/trace/internal/testgen/go120000755000000000000000000000000015107355263027775 5ustar rootroot././@LongLink0000644000000000000000000000015700000000000011606 Lustar rootrootdependencies/pkg/mod/golang.org/x/exp@v0.0.0-20240506185415-9bf2ced13842/trace/internal/testgen/go122/trace.godependencies/pkg/mod/golang.org/x/exp@v0.0.0-20240506185415-9bf2ced13842/trace/internal/testgen/go120000644000000000000000000002365215107355263030007 0ustar rootroot// Copyright 2023 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. // Code generated by "gen.bash" from internal/trace/v2; DO NOT EDIT. //go:build go1.21 package testkit import ( "bytes" "encoding/binary" "fmt" "os" "regexp" "strings" "golang.org/x/exp/trace" "golang.org/x/exp/trace/internal/event" "golang.org/x/exp/trace/internal/event/go122" "golang.org/x/exp/trace/internal/raw" "golang.org/x/exp/trace/internal/version" "golang.org/x/tools/txtar" ) func Main(f func(*Trace)) { // Create an output file. out, err := os.Create(os.Args[1]) if err != nil { panic(err.Error()) } defer out.Close() // Create a new trace. trace := NewTrace() // Call the generator. f(trace) // Write out the generator's state. if _, err := out.Write(trace.Generate()); err != nil { panic(err.Error()) } } // Trace represents an execution trace for testing. // // It does a little bit of work to ensure that the produced trace is valid, // just for convenience. It mainly tracks batches and batch sizes (so they're // trivially correct), tracks strings and stacks, and makes sure emitted string // and stack batches are valid. That last part can be controlled by a few options. // // Otherwise, it performs no validation on the trace at all. type Trace struct { // Trace data state. ver version.Version names map[string]event.Type specs []event.Spec events []raw.Event gens []*Generation validTimestamps bool // Expectation state. bad bool badMatch *regexp.Regexp } // NewTrace creates a new trace. func NewTrace() *Trace { ver := version.Go122 return &Trace{ names: event.Names(ver.Specs()), specs: ver.Specs(), validTimestamps: true, } } // ExpectFailure writes down that the trace should be broken. The caller // must provide a pattern matching the expected error produced by the parser. func (t *Trace) ExpectFailure(pattern string) { t.bad = true t.badMatch = regexp.MustCompile(pattern) } // ExpectSuccess writes down that the trace should successfully parse. func (t *Trace) ExpectSuccess() { t.bad = false } // RawEvent emits an event into the trace. name must correspond to one // of the names in Specs() result for the version that was passed to // this trace. func (t *Trace) RawEvent(typ event.Type, data []byte, args ...uint64) { t.events = append(t.events, t.createEvent(typ, data, args...)) } // DisableTimestamps makes the timestamps for all events generated after // this call zero. Raw events are exempted from this because the caller // has to pass their own timestamp into those events anyway. func (t *Trace) DisableTimestamps() { t.validTimestamps = false } // Generation creates a new trace generation. // // This provides more structure than Event to allow for more easily // creating complex traces that are mostly or completely correct. func (t *Trace) Generation(gen uint64) *Generation { g := &Generation{ trace: t, gen: gen, strings: make(map[string]uint64), stacks: make(map[stack]uint64), } t.gens = append(t.gens, g) return g } // Generate creates a test file for the trace. func (t *Trace) Generate() []byte { // Trace file contents. var buf bytes.Buffer tw, err := raw.NewTextWriter(&buf, version.Go122) if err != nil { panic(err.Error()) } // Write raw top-level events. for _, e := range t.events { tw.WriteEvent(e) } // Write generations. for _, g := range t.gens { g.writeEventsTo(tw) } // Expectation file contents. expect := []byte("SUCCESS\n") if t.bad { expect = []byte(fmt.Sprintf("FAILURE %q\n", t.badMatch)) } // Create the test file's contents. return txtar.Format(&txtar.Archive{ Files: []txtar.File{ {Name: "expect", Data: expect}, {Name: "trace", Data: buf.Bytes()}, }, }) } func (t *Trace) createEvent(ev event.Type, data []byte, args ...uint64) raw.Event { spec := t.specs[ev] if ev != go122.EvStack { if arity := len(spec.Args); len(args) != arity { panic(fmt.Sprintf("expected %d args for %s, got %d", arity, spec.Name, len(args))) } } return raw.Event{ Version: version.Go122, Ev: ev, Args: args, Data: data, } } type stack struct { stk [32]trace.StackFrame len int } var ( NoString = "" NoStack = []trace.StackFrame{} ) // Generation represents a single generation in the trace. type Generation struct { trace *Trace gen uint64 batches []*Batch strings map[string]uint64 stacks map[stack]uint64 // Options applied when Trace.Generate is called. ignoreStringBatchSizeLimit bool ignoreStackBatchSizeLimit bool } // Batch starts a new event batch in the trace data. // // This is convenience function for generating correct batches. func (g *Generation) Batch(thread trace.ThreadID, time Time) *Batch { if !g.trace.validTimestamps { time = 0 } b := &Batch{ gen: g, thread: thread, timestamp: time, } g.batches = append(g.batches, b) return b } // String registers a string with the trace. // // This is a convenience function for easily adding correct // strings to traces. func (g *Generation) String(s string) uint64 { if len(s) == 0 { return 0 } if id, ok := g.strings[s]; ok { return id } id := uint64(len(g.strings) + 1) g.strings[s] = id return id } // Stack registers a stack with the trace. // // This is a convenience function for easily adding correct // stacks to traces. func (g *Generation) Stack(stk []trace.StackFrame) uint64 { if len(stk) == 0 { return 0 } if len(stk) > 32 { panic("stack too big for test") } var stkc stack copy(stkc.stk[:], stk) stkc.len = len(stk) if id, ok := g.stacks[stkc]; ok { return id } id := uint64(len(g.stacks) + 1) g.stacks[stkc] = id return id } // writeEventsTo emits event batches in the generation to tw. func (g *Generation) writeEventsTo(tw *raw.TextWriter) { // Write event batches for the generation. for _, b := range g.batches { b.writeEventsTo(tw) } // Write frequency. b := g.newStructuralBatch() b.RawEvent(go122.EvFrequency, nil, 15625000) b.writeEventsTo(tw) // Write stacks. b = g.newStructuralBatch() b.RawEvent(go122.EvStacks, nil) for stk, id := range g.stacks { stk := stk.stk[:stk.len] args := []uint64{id} for _, f := range stk { args = append(args, f.PC, g.String(f.Func), g.String(f.File), f.Line) } b.RawEvent(go122.EvStack, nil, args...) // Flush the batch if necessary. if !g.ignoreStackBatchSizeLimit && b.size > go122.MaxBatchSize/2 { b.writeEventsTo(tw) b = g.newStructuralBatch() } } b.writeEventsTo(tw) // Write strings. b = g.newStructuralBatch() b.RawEvent(go122.EvStrings, nil) for s, id := range g.strings { b.RawEvent(go122.EvString, []byte(s), id) // Flush the batch if necessary. if !g.ignoreStringBatchSizeLimit && b.size > go122.MaxBatchSize/2 { b.writeEventsTo(tw) b = g.newStructuralBatch() } } b.writeEventsTo(tw) } func (g *Generation) newStructuralBatch() *Batch { return &Batch{gen: g, thread: trace.NoThread} } // Batch represents an event batch. type Batch struct { gen *Generation thread trace.ThreadID timestamp Time size uint64 events []raw.Event } // Event emits an event into a batch. name must correspond to one // of the names in Specs() result for the version that was passed to // this trace. Callers must omit the timestamp delta. func (b *Batch) Event(name string, args ...any) { ev, ok := b.gen.trace.names[name] if !ok { panic(fmt.Sprintf("invalid or unknown event %s", name)) } var uintArgs []uint64 argOff := 0 if b.gen.trace.specs[ev].IsTimedEvent { if b.gen.trace.validTimestamps { uintArgs = []uint64{1} } else { uintArgs = []uint64{0} } argOff = 1 } spec := b.gen.trace.specs[ev] if arity := len(spec.Args) - argOff; len(args) != arity { panic(fmt.Sprintf("expected %d args for %s, got %d", arity, spec.Name, len(args))) } for i, arg := range args { uintArgs = append(uintArgs, b.uintArgFor(arg, spec.Args[i+argOff])) } b.RawEvent(ev, nil, uintArgs...) } func (b *Batch) uintArgFor(arg any, argSpec string) uint64 { components := strings.SplitN(argSpec, "_", 2) typStr := components[0] if len(components) == 2 { typStr = components[1] } var u uint64 switch typStr { case "value": u = arg.(uint64) case "stack": u = b.gen.Stack(arg.([]trace.StackFrame)) case "seq": u = uint64(arg.(Seq)) case "pstatus": u = uint64(arg.(go122.ProcStatus)) case "gstatus": u = uint64(arg.(go122.GoStatus)) case "g": u = uint64(arg.(trace.GoID)) case "m": u = uint64(arg.(trace.ThreadID)) case "p": u = uint64(arg.(trace.ProcID)) case "string": u = b.gen.String(arg.(string)) case "task": u = uint64(arg.(trace.TaskID)) default: panic(fmt.Sprintf("unsupported arg type %q for spec %q", typStr, argSpec)) } return u } // RawEvent emits an event into a batch. name must correspond to one // of the names in Specs() result for the version that was passed to // this trace. func (b *Batch) RawEvent(typ event.Type, data []byte, args ...uint64) { ev := b.gen.trace.createEvent(typ, data, args...) // Compute the size of the event and add it to the batch. b.size += 1 // One byte for the event header. var buf [binary.MaxVarintLen64]byte for _, arg := range args { b.size += uint64(binary.PutUvarint(buf[:], arg)) } if len(data) != 0 { b.size += uint64(binary.PutUvarint(buf[:], uint64(len(data)))) b.size += uint64(len(data)) } // Add the event. b.events = append(b.events, ev) } // writeEventsTo emits events in the batch, including the batch header, to tw. func (b *Batch) writeEventsTo(tw *raw.TextWriter) { tw.WriteEvent(raw.Event{ Version: version.Go122, Ev: go122.EvEventBatch, Args: []uint64{b.gen.gen, uint64(b.thread), uint64(b.timestamp), b.size}, }) for _, e := range b.events { tw.WriteEvent(e) } } // Seq represents a sequence counter. type Seq uint64 // Time represents a low-level trace timestamp (which does not necessarily // correspond to nanoseconds, like trace.Time does). type Time uint64 dependencies/pkg/mod/golang.org/x/exp@v0.0.0-20240506185415-9bf2ced13842/trace/internal/raw/0000755000000000000000000000000015107355263026424 5ustar rootrootdependencies/pkg/mod/golang.org/x/exp@v0.0.0-20240506185415-9bf2ced13842/trace/internal/raw/event.go0000644000000000000000000000303015107355263030070 0ustar rootroot// Copyright 2023 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. // Code generated by "gen.bash" from internal/trace/v2; DO NOT EDIT. //go:build go1.21 package raw import ( "strconv" "strings" "golang.org/x/exp/trace/internal/event" "golang.org/x/exp/trace/internal/version" ) // Event is a simple representation of a trace event. // // Note that this typically includes much more than just // timestamped events, and it also represents parts of the // trace format's framing. (But not interpreted.) type Event struct { Version version.Version Ev event.Type Args []uint64 Data []byte } // String returns the canonical string representation of the event. // // This format is the same format that is parsed by the TextReader // and emitted by the TextWriter. func (e *Event) String() string { spec := e.Version.Specs()[e.Ev] var s strings.Builder s.WriteString(spec.Name) for i := range spec.Args { s.WriteString(" ") s.WriteString(spec.Args[i]) s.WriteString("=") s.WriteString(strconv.FormatUint(e.Args[i], 10)) } if spec.IsStack { frames := e.Args[len(spec.Args):] for i := 0; i < len(frames); i++ { if i%4 == 0 { s.WriteString("\n\t") } else { s.WriteString(" ") } s.WriteString(frameFields[i%4]) s.WriteString("=") s.WriteString(strconv.FormatUint(frames[i], 10)) } } if e.Data != nil { s.WriteString("\n\tdata=") s.WriteString(strconv.Quote(string(e.Data))) } return s.String() } ././@LongLink0000644000000000000000000000014600000000000011604 Lustar rootrootdependencies/pkg/mod/golang.org/x/exp@v0.0.0-20240506185415-9bf2ced13842/trace/internal/raw/reader.godependencies/pkg/mod/golang.org/x/exp@v0.0.0-20240506185415-9bf2ced13842/trace/internal/raw/reader.g0000644000000000000000000000454715107355263030050 0ustar rootroot// Copyright 2023 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. // Code generated by "gen.bash" from internal/trace/v2; DO NOT EDIT. //go:build go1.21 package raw import ( "bufio" "encoding/binary" "fmt" "io" "golang.org/x/exp/trace/internal/event" "golang.org/x/exp/trace/internal/version" ) // Reader parses trace bytes with only very basic validation // into an event stream. type Reader struct { r *bufio.Reader v version.Version specs []event.Spec } // NewReader creates a new reader for the trace wire format. func NewReader(r io.Reader) (*Reader, error) { br := bufio.NewReader(r) v, err := version.ReadHeader(br) if err != nil { return nil, err } return &Reader{r: br, v: v, specs: v.Specs()}, nil } // Version returns the version of the trace that we're reading. func (r *Reader) Version() version.Version { return r.v } // ReadEvent reads and returns the next trace event in the byte stream. func (r *Reader) ReadEvent() (Event, error) { evb, err := r.r.ReadByte() if err == io.EOF { return Event{}, io.EOF } if err != nil { return Event{}, err } if int(evb) >= len(r.specs) || evb == 0 { return Event{}, fmt.Errorf("invalid event type: %d", evb) } ev := event.Type(evb) spec := r.specs[ev] args, err := r.readArgs(len(spec.Args)) if err != nil { return Event{}, err } if spec.IsStack { len := int(args[1]) for i := 0; i < len; i++ { // Each stack frame has four args: pc, func ID, file ID, line number. frame, err := r.readArgs(4) if err != nil { return Event{}, err } args = append(args, frame...) } } var data []byte if spec.HasData { data, err = r.readData() if err != nil { return Event{}, err } } return Event{ Version: r.v, Ev: ev, Args: args, Data: data, }, nil } func (r *Reader) readArgs(n int) ([]uint64, error) { var args []uint64 for i := 0; i < n; i++ { val, err := binary.ReadUvarint(r.r) if err != nil { return nil, err } args = append(args, val) } return args, nil } func (r *Reader) readData() ([]byte, error) { len, err := binary.ReadUvarint(r.r) if err != nil { return nil, err } var data []byte for i := 0; i < int(len); i++ { b, err := r.r.ReadByte() if err != nil { return nil, err } data = append(data, b) } return data, nil } dependencies/pkg/mod/golang.org/x/exp@v0.0.0-20240506185415-9bf2ced13842/trace/internal/raw/doc.go0000644000000000000000000000465215107355263027527 0ustar rootroot// Copyright 2023 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. // Code generated by "gen.bash" from internal/trace/v2; DO NOT EDIT. //go:build go1.21 /* Package raw provides an interface to interpret and emit Go execution traces. It can interpret and emit execution traces in its wire format as well as a bespoke but simple text format. The readers and writers in this package perform no validation on or ordering of the input, and so are generally unsuitable for analysis. However, they're very useful for testing and debugging the tracer in the runtime and more sophisticated trace parsers. # Text format specification The trace text format produced and consumed by this package is a line-oriented format. The first line in each text trace is the header line. Trace Go1.XX Following that is a series of event lines. Each event begins with an event name, followed by zero or more named unsigned integer arguments. Names are separated from their integer values by an '=' sign. Names can consist of any UTF-8 character except '='. For example: EventName arg1=23 arg2=55 arg3=53 Any amount of whitespace is allowed to separate each token. Whitespace is identified via unicode.IsSpace. Some events have additional data on following lines. There are two such special cases. The first special case consists of events with trailing byte-oriented data. The trailer begins on the following line from the event. That line consists of a single argument 'data' and a Go-quoted string representing the byte data within. Note: an explicit argument for the length is elided, because it's just the length of the unquoted string. For example: String id=5 data="hello world\x00" These events are identified in their spec by the HasData flag. The second special case consists of stack events. These events are identified by the IsStack flag. These events also have a trailing unsigned integer argument describing the number of stack frame descriptors that follow. Each stack frame descriptor is on its own line following the event, consisting of four signed integer arguments: the PC, an integer describing the function name, an integer describing the file name, and the line number in that file that function was at at the time the stack trace was taken. For example: Stack id=5 n=2 pc=1241251 func=3 file=6 line=124 pc=7534345 func=6 file=3 line=64 */ package raw ././@LongLink0000644000000000000000000000015200000000000011601 Lustar rootrootdependencies/pkg/mod/golang.org/x/exp@v0.0.0-20240506185415-9bf2ced13842/trace/internal/raw/textreader.godependencies/pkg/mod/golang.org/x/exp@v0.0.0-20240506185415-9bf2ced13842/trace/internal/raw/textread0000644000000000000000000001206015107355263030166 0ustar rootroot// Copyright 2023 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. // Code generated by "gen.bash" from internal/trace/v2; DO NOT EDIT. //go:build go1.21 package raw import ( "bufio" "fmt" "io" "strconv" "strings" "unicode" "golang.org/x/exp/trace/internal/event" "golang.org/x/exp/trace/internal/version" ) // TextReader parses a text format trace with only very basic validation // into an event stream. type TextReader struct { v version.Version specs []event.Spec names map[string]event.Type s *bufio.Scanner } // NewTextReader creates a new reader for the trace text format. func NewTextReader(r io.Reader) (*TextReader, error) { tr := &TextReader{s: bufio.NewScanner(r)} line, err := tr.nextLine() if err != nil { return nil, err } trace, line := readToken(line) if trace != "Trace" { return nil, fmt.Errorf("failed to parse header") } gover, line := readToken(line) if !strings.HasPrefix(gover, "Go1.") { return nil, fmt.Errorf("failed to parse header Go version") } rawv, err := strconv.ParseUint(gover[len("Go1."):], 10, 64) if err != nil { return nil, fmt.Errorf("failed to parse header Go version: %v", err) } v := version.Version(rawv) if !v.Valid() { return nil, fmt.Errorf("unknown or unsupported Go version 1.%d", v) } tr.v = v tr.specs = v.Specs() tr.names = event.Names(tr.specs) for _, r := range line { if !unicode.IsSpace(r) { return nil, fmt.Errorf("encountered unexpected non-space at the end of the header: %q", line) } } return tr, nil } // Version returns the version of the trace that we're reading. func (r *TextReader) Version() version.Version { return r.v } // ReadEvent reads and returns the next trace event in the text stream. func (r *TextReader) ReadEvent() (Event, error) { line, err := r.nextLine() if err != nil { return Event{}, err } evStr, line := readToken(line) ev, ok := r.names[evStr] if !ok { return Event{}, fmt.Errorf("unidentified event: %s", evStr) } spec := r.specs[ev] args, err := readArgs(line, spec.Args) if err != nil { return Event{}, fmt.Errorf("reading args for %s: %v", evStr, err) } if spec.IsStack { len := int(args[1]) for i := 0; i < len; i++ { line, err := r.nextLine() if err == io.EOF { return Event{}, fmt.Errorf("unexpected EOF while reading stack: args=%v", args) } if err != nil { return Event{}, err } frame, err := readArgs(line, frameFields) if err != nil { return Event{}, err } args = append(args, frame...) } } var data []byte if spec.HasData { line, err := r.nextLine() if err == io.EOF { return Event{}, fmt.Errorf("unexpected EOF while reading data for %s: args=%v", evStr, args) } if err != nil { return Event{}, err } data, err = readData(line) if err != nil { return Event{}, err } } return Event{ Version: r.v, Ev: ev, Args: args, Data: data, }, nil } func (r *TextReader) nextLine() (string, error) { for { if !r.s.Scan() { if err := r.s.Err(); err != nil { return "", err } return "", io.EOF } txt := r.s.Text() tok, _ := readToken(txt) if tok == "" { continue // Empty line or comment. } return txt, nil } } var frameFields = []string{"pc", "func", "file", "line"} func readArgs(s string, names []string) ([]uint64, error) { var args []uint64 for _, name := range names { arg, value, rest, err := readArg(s) if err != nil { return nil, err } if arg != name { return nil, fmt.Errorf("expected argument %q, but got %q", name, arg) } args = append(args, value) s = rest } for _, r := range s { if !unicode.IsSpace(r) { return nil, fmt.Errorf("encountered unexpected non-space at the end of an event: %q", s) } } return args, nil } func readArg(s string) (arg string, value uint64, rest string, err error) { var tok string tok, rest = readToken(s) if len(tok) == 0 { return "", 0, s, fmt.Errorf("no argument") } parts := strings.SplitN(tok, "=", 2) if len(parts) < 2 { return "", 0, s, fmt.Errorf("malformed argument: %q", tok) } arg = parts[0] value, err = strconv.ParseUint(parts[1], 10, 64) if err != nil { return arg, value, s, fmt.Errorf("failed to parse argument value %q for arg %q", parts[1], parts[0]) } return } func readToken(s string) (token, rest string) { tkStart := -1 for i, r := range s { if r == '#' { return "", "" } if !unicode.IsSpace(r) { tkStart = i break } } if tkStart < 0 { return "", "" } tkEnd := -1 for i, r := range s[tkStart:] { if unicode.IsSpace(r) || r == '#' { tkEnd = i + tkStart break } } if tkEnd < 0 { return s[tkStart:], "" } return s[tkStart:tkEnd], s[tkEnd:] } func readData(line string) ([]byte, error) { parts := strings.SplitN(line, "=", 2) if len(parts) < 2 || strings.TrimSpace(parts[0]) != "data" { return nil, fmt.Errorf("malformed data: %q", line) } data, err := strconv.Unquote(strings.TrimSpace(parts[1])) if err != nil { return nil, fmt.Errorf("failed to parse data: %q: %v", line, err) } return []byte(data), nil } ././@LongLink0000644000000000000000000000015200000000000011601 Lustar rootrootdependencies/pkg/mod/golang.org/x/exp@v0.0.0-20240506185415-9bf2ced13842/trace/internal/raw/textwriter.godependencies/pkg/mod/golang.org/x/exp@v0.0.0-20240506185415-9bf2ced13842/trace/internal/raw/textwrit0000644000000000000000000000177715107355263030255 0ustar rootroot// Copyright 2023 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. // Code generated by "gen.bash" from internal/trace/v2; DO NOT EDIT. //go:build go1.21 package raw import ( "fmt" "io" "golang.org/x/exp/trace/internal/version" ) // TextWriter emits the text format of a trace. type TextWriter struct { w io.Writer v version.Version } // NewTextWriter creates a new write for the trace text format. func NewTextWriter(w io.Writer, v version.Version) (*TextWriter, error) { _, err := fmt.Fprintf(w, "Trace Go1.%d\n", v) if err != nil { return nil, err } return &TextWriter{w: w, v: v}, nil } // WriteEvent writes a single event to the stream. func (w *TextWriter) WriteEvent(e Event) error { // Check version. if e.Version != w.v { return fmt.Errorf("mismatched version between writer (go 1.%d) and event (go 1.%d)", w.v, e.Version) } // Write event. _, err := fmt.Fprintln(w.w, e.String()) return err } ././@LongLink0000644000000000000000000000014600000000000011604 Lustar rootrootdependencies/pkg/mod/golang.org/x/exp@v0.0.0-20240506185415-9bf2ced13842/trace/internal/raw/writer.godependencies/pkg/mod/golang.org/x/exp@v0.0.0-20240506185415-9bf2ced13842/trace/internal/raw/writer.g0000644000000000000000000000362615107355263030117 0ustar rootroot// Copyright 2023 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. // Code generated by "gen.bash" from internal/trace/v2; DO NOT EDIT. //go:build go1.21 package raw import ( "encoding/binary" "fmt" "io" "golang.org/x/exp/trace/internal/event" "golang.org/x/exp/trace/internal/version" ) // Writer emits the wire format of a trace. // // It may not produce a byte-for-byte compatible trace from what is // produced by the runtime, because it may be missing extra padding // in the LEB128 encoding that the runtime adds but isn't necessary // when you know the data up-front. type Writer struct { w io.Writer buf []byte v version.Version specs []event.Spec } // NewWriter creates a new byte format writer. func NewWriter(w io.Writer, v version.Version) (*Writer, error) { _, err := version.WriteHeader(w, v) return &Writer{w: w, v: v, specs: v.Specs()}, err } // WriteEvent writes a single event to the trace wire format stream. func (w *Writer) WriteEvent(e Event) error { // Check version. if e.Version != w.v { return fmt.Errorf("mismatched version between writer (go 1.%d) and event (go 1.%d)", w.v, e.Version) } // Write event header byte. w.buf = append(w.buf, uint8(e.Ev)) // Write out all arguments. spec := w.specs[e.Ev] for _, arg := range e.Args[:len(spec.Args)] { w.buf = binary.AppendUvarint(w.buf, arg) } if spec.IsStack { frameArgs := e.Args[len(spec.Args):] for i := 0; i < len(frameArgs); i++ { w.buf = binary.AppendUvarint(w.buf, frameArgs[i]) } } // Write out the length of the data. if spec.HasData { w.buf = binary.AppendUvarint(w.buf, uint64(len(e.Data))) } // Write out varint events. _, err := w.w.Write(w.buf) w.buf = w.buf[:0] if err != nil { return err } // Write out data. if spec.HasData { _, err := w.w.Write(e.Data) return err } return nil } dependencies/pkg/mod/golang.org/x/exp@v0.0.0-20240506185415-9bf2ced13842/trace/order.go0000644000000000000000000014663015107355263025473 0ustar rootroot// Copyright 2023 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. // Code generated by "gen.bash" from internal/trace/v2; DO NOT EDIT. //go:build go1.21 package trace import ( "fmt" "strings" "golang.org/x/exp/trace/internal/event" "golang.org/x/exp/trace/internal/event/go122" "golang.org/x/exp/trace/internal/version" ) // ordering emulates Go scheduler state for both validation and // for putting events in the right order. // // The interface to ordering consists of two methods: Advance // and Next. Advance is called to try and advance an event and // add completed events to the ordering. Next is used to pick // off events in the ordering. type ordering struct { gStates map[GoID]*gState pStates map[ProcID]*pState // TODO: The keys are dense, so this can be a slice. mStates map[ThreadID]*mState activeTasks map[TaskID]taskState gcSeq uint64 gcState gcState initialGen uint64 queue queue[Event] } // Advance checks if it's valid to proceed with ev which came from thread m. // // It assumes the gen value passed to it is monotonically increasing across calls. // // If any error is returned, then the trace is broken and trace parsing must cease. // If it's not valid to advance with ev, but no error was encountered, the caller // should attempt to advance with other candidate events from other threads. If the // caller runs out of candidates, the trace is invalid. // // If this returns true, Next is guaranteed to return a complete event. However, // multiple events may be added to the ordering, so the caller should (but is not // required to) continue to call Next until it is exhausted. func (o *ordering) Advance(ev *baseEvent, evt *evTable, m ThreadID, gen uint64) (bool, error) { if o.initialGen == 0 { // Set the initial gen if necessary. o.initialGen = gen } var curCtx, newCtx schedCtx curCtx.M = m newCtx.M = m var ms *mState if m == NoThread { curCtx.P = NoProc curCtx.G = NoGoroutine newCtx = curCtx } else { // Pull out or create the mState for this event. var ok bool ms, ok = o.mStates[m] if !ok { ms = &mState{ g: NoGoroutine, p: NoProc, } o.mStates[m] = ms } curCtx.P = ms.p curCtx.G = ms.g newCtx = curCtx } f := orderingDispatch[ev.typ] if f == nil { return false, fmt.Errorf("bad event type found while ordering: %v", ev.typ) } newCtx, ok, err := f(o, ev, evt, m, gen, curCtx) if err == nil && ok && ms != nil { // Update the mState for this event. ms.p = newCtx.P ms.g = newCtx.G } return ok, err } type orderingHandleFunc func(o *ordering, ev *baseEvent, evt *evTable, m ThreadID, gen uint64, curCtx schedCtx) (schedCtx, bool, error) var orderingDispatch = [256]orderingHandleFunc{ // Procs. go122.EvProcsChange: (*ordering).advanceAnnotation, go122.EvProcStart: (*ordering).advanceProcStart, go122.EvProcStop: (*ordering).advanceProcStop, go122.EvProcSteal: (*ordering).advanceProcSteal, go122.EvProcStatus: (*ordering).advanceProcStatus, // Goroutines. go122.EvGoCreate: (*ordering).advanceGoCreate, go122.EvGoCreateSyscall: (*ordering).advanceGoCreateSyscall, go122.EvGoStart: (*ordering).advanceGoStart, go122.EvGoDestroy: (*ordering).advanceGoStopExec, go122.EvGoDestroySyscall: (*ordering).advanceGoDestroySyscall, go122.EvGoStop: (*ordering).advanceGoStopExec, go122.EvGoBlock: (*ordering).advanceGoStopExec, go122.EvGoUnblock: (*ordering).advanceGoUnblock, go122.EvGoSyscallBegin: (*ordering).advanceGoSyscallBegin, go122.EvGoSyscallEnd: (*ordering).advanceGoSyscallEnd, go122.EvGoSyscallEndBlocked: (*ordering).advanceGoSyscallEndBlocked, go122.EvGoStatus: (*ordering).advanceGoStatus, // STW. go122.EvSTWBegin: (*ordering).advanceGoRangeBegin, go122.EvSTWEnd: (*ordering).advanceGoRangeEnd, // GC events. go122.EvGCActive: (*ordering).advanceGCActive, go122.EvGCBegin: (*ordering).advanceGCBegin, go122.EvGCEnd: (*ordering).advanceGCEnd, go122.EvGCSweepActive: (*ordering).advanceGCSweepActive, go122.EvGCSweepBegin: (*ordering).advanceGCSweepBegin, go122.EvGCSweepEnd: (*ordering).advanceGCSweepEnd, go122.EvGCMarkAssistActive: (*ordering).advanceGoRangeActive, go122.EvGCMarkAssistBegin: (*ordering).advanceGoRangeBegin, go122.EvGCMarkAssistEnd: (*ordering).advanceGoRangeEnd, go122.EvHeapAlloc: (*ordering).advanceHeapMetric, go122.EvHeapGoal: (*ordering).advanceHeapMetric, // Annotations. go122.EvGoLabel: (*ordering).advanceAnnotation, go122.EvUserTaskBegin: (*ordering).advanceUserTaskBegin, go122.EvUserTaskEnd: (*ordering).advanceUserTaskEnd, go122.EvUserRegionBegin: (*ordering).advanceUserRegionBegin, go122.EvUserRegionEnd: (*ordering).advanceUserRegionEnd, go122.EvUserLog: (*ordering).advanceAnnotation, // Coroutines. Added in Go 1.23. go122.EvGoSwitch: (*ordering).advanceGoSwitch, go122.EvGoSwitchDestroy: (*ordering).advanceGoSwitch, go122.EvGoCreateBlocked: (*ordering).advanceGoCreate, // GoStatus event with a stack. Added in Go 1.23. go122.EvGoStatusStack: (*ordering).advanceGoStatus, } func (o *ordering) advanceProcStatus(ev *baseEvent, evt *evTable, m ThreadID, gen uint64, curCtx schedCtx) (schedCtx, bool, error) { pid := ProcID(ev.args[0]) status := go122.ProcStatus(ev.args[1]) if int(status) >= len(go122ProcStatus2ProcState) { return curCtx, false, fmt.Errorf("invalid status for proc %d: %d", pid, status) } oldState := go122ProcStatus2ProcState[status] if s, ok := o.pStates[pid]; ok { if status == go122.ProcSyscallAbandoned && s.status == go122.ProcSyscall { // ProcSyscallAbandoned is a special case of ProcSyscall. It indicates a // potential loss of information, but if we're already in ProcSyscall, // we haven't lost the relevant information. Promote the status and advance. oldState = ProcRunning ev.args[1] = uint64(go122.ProcSyscall) } else if status == go122.ProcSyscallAbandoned && s.status == go122.ProcSyscallAbandoned { // If we're passing through ProcSyscallAbandoned, then there's no promotion // to do. We've lost the M that this P is associated with. However it got there, // it's going to appear as idle in the API, so pass through as idle. oldState = ProcIdle ev.args[1] = uint64(go122.ProcSyscallAbandoned) } else if s.status != status { return curCtx, false, fmt.Errorf("inconsistent status for proc %d: old %v vs. new %v", pid, s.status, status) } s.seq = makeSeq(gen, 0) // Reset seq. } else { o.pStates[pid] = &pState{id: pid, status: status, seq: makeSeq(gen, 0)} if gen == o.initialGen { oldState = ProcUndetermined } else { oldState = ProcNotExist } } ev.extra(version.Go122)[0] = uint64(oldState) // Smuggle in the old state for StateTransition. // Bind the proc to the new context, if it's running. newCtx := curCtx if status == go122.ProcRunning || status == go122.ProcSyscall { newCtx.P = pid } // If we're advancing through ProcSyscallAbandoned *but* oldState is running then we've // promoted it to ProcSyscall. However, because it's ProcSyscallAbandoned, we know this // P is about to get stolen and its status very likely isn't being emitted by the same // thread it was bound to. Since this status is Running -> Running and Running is binding, // we need to make sure we emit it in the right context: the context to which it is bound. // Find it, and set our current context to it. if status == go122.ProcSyscallAbandoned && oldState == ProcRunning { // N.B. This is slow but it should be fairly rare. found := false for mid, ms := range o.mStates { if ms.p == pid { curCtx.M = mid curCtx.P = pid curCtx.G = ms.g found = true } } if !found { return curCtx, false, fmt.Errorf("failed to find sched context for proc %d that's about to be stolen", pid) } } o.queue.push(Event{table: evt, ctx: curCtx, base: *ev}) return newCtx, true, nil } func (o *ordering) advanceProcStart(ev *baseEvent, evt *evTable, m ThreadID, gen uint64, curCtx schedCtx) (schedCtx, bool, error) { pid := ProcID(ev.args[0]) seq := makeSeq(gen, ev.args[1]) // Try to advance. We might fail here due to sequencing, because the P hasn't // had a status emitted, or because we already have a P and we're in a syscall, // and we haven't observed that it was stolen from us yet. state, ok := o.pStates[pid] if !ok || state.status != go122.ProcIdle || !seq.succeeds(state.seq) || curCtx.P != NoProc { // We can't make an inference as to whether this is bad. We could just be seeing // a ProcStart on a different M before the proc's state was emitted, or before we // got to the right point in the trace. // // Note that we also don't advance here if we have a P and we're in a syscall. return curCtx, false, nil } // We can advance this P. Check some invariants. // // We might have a goroutine if a goroutine is exiting a syscall. reqs := event.SchedReqs{Thread: event.MustHave, Proc: event.MustNotHave, Goroutine: event.MayHave} if err := validateCtx(curCtx, reqs); err != nil { return curCtx, false, err } state.status = go122.ProcRunning state.seq = seq newCtx := curCtx newCtx.P = pid o.queue.push(Event{table: evt, ctx: curCtx, base: *ev}) return newCtx, true, nil } func (o *ordering) advanceProcStop(ev *baseEvent, evt *evTable, m ThreadID, gen uint64, curCtx schedCtx) (schedCtx, bool, error) { // We must be able to advance this P. // // There are 2 ways a P can stop: ProcStop and ProcSteal. ProcStop is used when the P // is stopped by the same M that started it, while ProcSteal is used when another M // steals the P by stopping it from a distance. // // Since a P is bound to an M, and we're stopping on the same M we started, it must // always be possible to advance the current M's P from a ProcStop. This is also why // ProcStop doesn't need a sequence number. state, ok := o.pStates[curCtx.P] if !ok { return curCtx, false, fmt.Errorf("event %s for proc (%v) that doesn't exist", go122.EventString(ev.typ), curCtx.P) } if state.status != go122.ProcRunning && state.status != go122.ProcSyscall { return curCtx, false, fmt.Errorf("%s event for proc that's not %s or %s", go122.EventString(ev.typ), go122.ProcRunning, go122.ProcSyscall) } reqs := event.SchedReqs{Thread: event.MustHave, Proc: event.MustHave, Goroutine: event.MayHave} if err := validateCtx(curCtx, reqs); err != nil { return curCtx, false, err } state.status = go122.ProcIdle newCtx := curCtx newCtx.P = NoProc o.queue.push(Event{table: evt, ctx: curCtx, base: *ev}) return newCtx, true, nil } func (o *ordering) advanceProcSteal(ev *baseEvent, evt *evTable, m ThreadID, gen uint64, curCtx schedCtx) (schedCtx, bool, error) { pid := ProcID(ev.args[0]) seq := makeSeq(gen, ev.args[1]) state, ok := o.pStates[pid] if !ok || (state.status != go122.ProcSyscall && state.status != go122.ProcSyscallAbandoned) || !seq.succeeds(state.seq) { // We can't make an inference as to whether this is bad. We could just be seeing // a ProcStart on a different M before the proc's state was emitted, or before we // got to the right point in the trace. return curCtx, false, nil } // We can advance this P. Check some invariants. reqs := event.SchedReqs{Thread: event.MustHave, Proc: event.MayHave, Goroutine: event.MayHave} if err := validateCtx(curCtx, reqs); err != nil { return curCtx, false, err } // Smuggle in the P state that let us advance so we can surface information to the event. // Specifically, we need to make sure that the event is interpreted not as a transition of // ProcRunning -> ProcIdle but ProcIdle -> ProcIdle instead. // // ProcRunning is binding, but we may be running with a P on the current M and we can't // bind another P. This P is about to go ProcIdle anyway. oldStatus := state.status ev.extra(version.Go122)[0] = uint64(oldStatus) // Update the P's status and sequence number. state.status = go122.ProcIdle state.seq = seq // If we've lost information then don't try to do anything with the M. // It may have moved on and we can't be sure. if oldStatus == go122.ProcSyscallAbandoned { o.queue.push(Event{table: evt, ctx: curCtx, base: *ev}) return curCtx, true, nil } // Validate that the M we're stealing from is what we expect. mid := ThreadID(ev.args[2]) // The M we're stealing from. newCtx := curCtx if mid == curCtx.M { // We're stealing from ourselves. This behaves like a ProcStop. if curCtx.P != pid { return curCtx, false, fmt.Errorf("tried to self-steal proc %d (thread %d), but got proc %d instead", pid, mid, curCtx.P) } newCtx.P = NoProc o.queue.push(Event{table: evt, ctx: curCtx, base: *ev}) return newCtx, true, nil } // We're stealing from some other M. mState, ok := o.mStates[mid] if !ok { return curCtx, false, fmt.Errorf("stole proc from non-existent thread %d", mid) } // Make sure we're actually stealing the right P. if mState.p != pid { return curCtx, false, fmt.Errorf("tried to steal proc %d from thread %d, but got proc %d instead", pid, mid, mState.p) } // Tell the M it has no P so it can proceed. // // This is safe because we know the P was in a syscall and // the other M must be trying to get out of the syscall. // GoSyscallEndBlocked cannot advance until the corresponding // M loses its P. mState.p = NoProc o.queue.push(Event{table: evt, ctx: curCtx, base: *ev}) return newCtx, true, nil } func (o *ordering) advanceGoStatus(ev *baseEvent, evt *evTable, m ThreadID, gen uint64, curCtx schedCtx) (schedCtx, bool, error) { gid := GoID(ev.args[0]) mid := ThreadID(ev.args[1]) status := go122.GoStatus(ev.args[2]) if int(status) >= len(go122GoStatus2GoState) { return curCtx, false, fmt.Errorf("invalid status for goroutine %d: %d", gid, status) } oldState := go122GoStatus2GoState[status] if s, ok := o.gStates[gid]; ok { if s.status != status { return curCtx, false, fmt.Errorf("inconsistent status for goroutine %d: old %v vs. new %v", gid, s.status, status) } s.seq = makeSeq(gen, 0) // Reset seq. } else if gen == o.initialGen { // Set the state. o.gStates[gid] = &gState{id: gid, status: status, seq: makeSeq(gen, 0)} oldState = GoUndetermined } else { return curCtx, false, fmt.Errorf("found goroutine status for new goroutine after the first generation: id=%v status=%v", gid, status) } ev.extra(version.Go122)[0] = uint64(oldState) // Smuggle in the old state for StateTransition. newCtx := curCtx switch status { case go122.GoRunning: // Bind the goroutine to the new context, since it's running. newCtx.G = gid case go122.GoSyscall: if mid == NoThread { return curCtx, false, fmt.Errorf("found goroutine %d in syscall without a thread", gid) } // Is the syscall on this thread? If so, bind it to the context. // Otherwise, we're talking about a G sitting in a syscall on an M. // Validate the named M. if mid == curCtx.M { if gen != o.initialGen && curCtx.G != gid { // If this isn't the first generation, we *must* have seen this // binding occur already. Even if the G was blocked in a syscall // for multiple generations since trace start, we would have seen // a previous GoStatus event that bound the goroutine to an M. return curCtx, false, fmt.Errorf("inconsistent thread for syscalling goroutine %d: thread has goroutine %d", gid, curCtx.G) } newCtx.G = gid break } // Now we're talking about a thread and goroutine that have been // blocked on a syscall for the entire generation. This case must // not have a P; the runtime makes sure that all Ps are traced at // the beginning of a generation, which involves taking a P back // from every thread. ms, ok := o.mStates[mid] if ok { // This M has been seen. That means we must have seen this // goroutine go into a syscall on this thread at some point. if ms.g != gid { // But the G on the M doesn't match. Something's wrong. return curCtx, false, fmt.Errorf("inconsistent thread for syscalling goroutine %d: thread has goroutine %d", gid, ms.g) } // This case is just a Syscall->Syscall event, which needs to // appear as having the G currently bound to this M. curCtx.G = ms.g } else if !ok { // The M hasn't been seen yet. That means this goroutine // has just been sitting in a syscall on this M. Create // a state for it. o.mStates[mid] = &mState{g: gid, p: NoProc} // Don't set curCtx.G in this case because this event is the // binding event (and curCtx represents the "before" state). } // Update the current context to the M we're talking about. curCtx.M = mid } o.queue.push(Event{table: evt, ctx: curCtx, base: *ev}) return newCtx, true, nil } func (o *ordering) advanceGoCreate(ev *baseEvent, evt *evTable, m ThreadID, gen uint64, curCtx schedCtx) (schedCtx, bool, error) { // Goroutines must be created on a running P, but may or may not be created // by a running goroutine. reqs := event.SchedReqs{Thread: event.MustHave, Proc: event.MustHave, Goroutine: event.MayHave} if err := validateCtx(curCtx, reqs); err != nil { return curCtx, false, err } // If we have a goroutine, it must be running. if state, ok := o.gStates[curCtx.G]; ok && state.status != go122.GoRunning { return curCtx, false, fmt.Errorf("%s event for goroutine that's not %s", go122.EventString(ev.typ), GoRunning) } // This goroutine created another. Add a state for it. newgid := GoID(ev.args[0]) if _, ok := o.gStates[newgid]; ok { return curCtx, false, fmt.Errorf("tried to create goroutine (%v) that already exists", newgid) } status := go122.GoRunnable if ev.typ == go122.EvGoCreateBlocked { status = go122.GoWaiting } o.gStates[newgid] = &gState{id: newgid, status: status, seq: makeSeq(gen, 0)} o.queue.push(Event{table: evt, ctx: curCtx, base: *ev}) return curCtx, true, nil } func (o *ordering) advanceGoStopExec(ev *baseEvent, evt *evTable, m ThreadID, gen uint64, curCtx schedCtx) (schedCtx, bool, error) { // These are goroutine events that all require an active running // goroutine on some thread. They must *always* be advance-able, // since running goroutines are bound to their M. if err := validateCtx(curCtx, event.UserGoReqs); err != nil { return curCtx, false, err } state, ok := o.gStates[curCtx.G] if !ok { return curCtx, false, fmt.Errorf("event %s for goroutine (%v) that doesn't exist", go122.EventString(ev.typ), curCtx.G) } if state.status != go122.GoRunning { return curCtx, false, fmt.Errorf("%s event for goroutine that's not %s", go122.EventString(ev.typ), GoRunning) } // Handle each case slightly differently; we just group them together // because they have shared preconditions. newCtx := curCtx switch ev.typ { case go122.EvGoDestroy: // This goroutine is exiting itself. delete(o.gStates, curCtx.G) newCtx.G = NoGoroutine case go122.EvGoStop: // Goroutine stopped (yielded). It's runnable but not running on this M. state.status = go122.GoRunnable newCtx.G = NoGoroutine case go122.EvGoBlock: // Goroutine blocked. It's waiting now and not running on this M. state.status = go122.GoWaiting newCtx.G = NoGoroutine } o.queue.push(Event{table: evt, ctx: curCtx, base: *ev}) return newCtx, true, nil } func (o *ordering) advanceGoStart(ev *baseEvent, evt *evTable, m ThreadID, gen uint64, curCtx schedCtx) (schedCtx, bool, error) { gid := GoID(ev.args[0]) seq := makeSeq(gen, ev.args[1]) state, ok := o.gStates[gid] if !ok || state.status != go122.GoRunnable || !seq.succeeds(state.seq) { // We can't make an inference as to whether this is bad. We could just be seeing // a GoStart on a different M before the goroutine was created, before it had its // state emitted, or before we got to the right point in the trace yet. return curCtx, false, nil } // We can advance this goroutine. Check some invariants. reqs := event.SchedReqs{Thread: event.MustHave, Proc: event.MustHave, Goroutine: event.MustNotHave} if err := validateCtx(curCtx, reqs); err != nil { return curCtx, false, err } state.status = go122.GoRunning state.seq = seq newCtx := curCtx newCtx.G = gid o.queue.push(Event{table: evt, ctx: curCtx, base: *ev}) return newCtx, true, nil } func (o *ordering) advanceGoUnblock(ev *baseEvent, evt *evTable, m ThreadID, gen uint64, curCtx schedCtx) (schedCtx, bool, error) { // N.B. These both reference the goroutine to unblock, not the current goroutine. gid := GoID(ev.args[0]) seq := makeSeq(gen, ev.args[1]) state, ok := o.gStates[gid] if !ok || state.status != go122.GoWaiting || !seq.succeeds(state.seq) { // We can't make an inference as to whether this is bad. We could just be seeing // a GoUnblock on a different M before the goroutine was created and blocked itself, // before it had its state emitted, or before we got to the right point in the trace yet. return curCtx, false, nil } state.status = go122.GoRunnable state.seq = seq // N.B. No context to validate. Basically anything can unblock // a goroutine (e.g. sysmon). o.queue.push(Event{table: evt, ctx: curCtx, base: *ev}) return curCtx, true, nil } func (o *ordering) advanceGoSwitch(ev *baseEvent, evt *evTable, m ThreadID, gen uint64, curCtx schedCtx) (schedCtx, bool, error) { // GoSwitch and GoSwitchDestroy represent a trio of events: // - Unblock of the goroutine to switch to. // - Block or destroy of the current goroutine. // - Start executing the next goroutine. // // Because it acts like a GoStart for the next goroutine, we can // only advance it if the sequence numbers line up. // // The current goroutine on the thread must be actively running. if err := validateCtx(curCtx, event.UserGoReqs); err != nil { return curCtx, false, err } curGState, ok := o.gStates[curCtx.G] if !ok { return curCtx, false, fmt.Errorf("event %s for goroutine (%v) that doesn't exist", go122.EventString(ev.typ), curCtx.G) } if curGState.status != go122.GoRunning { return curCtx, false, fmt.Errorf("%s event for goroutine that's not %s", go122.EventString(ev.typ), GoRunning) } nextg := GoID(ev.args[0]) seq := makeSeq(gen, ev.args[1]) // seq is for nextg, not curCtx.G. nextGState, ok := o.gStates[nextg] if !ok || nextGState.status != go122.GoWaiting || !seq.succeeds(nextGState.seq) { // We can't make an inference as to whether this is bad. We could just be seeing // a GoSwitch on a different M before the goroutine was created, before it had its // state emitted, or before we got to the right point in the trace yet. return curCtx, false, nil } o.queue.push(Event{table: evt, ctx: curCtx, base: *ev}) // Update the state of the executing goroutine and emit an event for it // (GoSwitch and GoSwitchDestroy will be interpreted as GoUnblock events // for nextg). switch ev.typ { case go122.EvGoSwitch: // Goroutine blocked. It's waiting now and not running on this M. curGState.status = go122.GoWaiting // Emit a GoBlock event. // TODO(mknyszek): Emit a reason. o.queue.push(makeEvent(evt, curCtx, go122.EvGoBlock, ev.time, 0 /* no reason */, 0 /* no stack */)) case go122.EvGoSwitchDestroy: // This goroutine is exiting itself. delete(o.gStates, curCtx.G) // Emit a GoDestroy event. o.queue.push(makeEvent(evt, curCtx, go122.EvGoDestroy, ev.time)) } // Update the state of the next goroutine. nextGState.status = go122.GoRunning nextGState.seq = seq newCtx := curCtx newCtx.G = nextg // Queue an event for the next goroutine starting to run. startCtx := curCtx startCtx.G = NoGoroutine o.queue.push(makeEvent(evt, startCtx, go122.EvGoStart, ev.time, uint64(nextg), ev.args[1])) return newCtx, true, nil } func (o *ordering) advanceGoSyscallBegin(ev *baseEvent, evt *evTable, m ThreadID, gen uint64, curCtx schedCtx) (schedCtx, bool, error) { // Entering a syscall requires an active running goroutine with a // proc on some thread. It is always advancable. if err := validateCtx(curCtx, event.UserGoReqs); err != nil { return curCtx, false, err } state, ok := o.gStates[curCtx.G] if !ok { return curCtx, false, fmt.Errorf("event %s for goroutine (%v) that doesn't exist", go122.EventString(ev.typ), curCtx.G) } if state.status != go122.GoRunning { return curCtx, false, fmt.Errorf("%s event for goroutine that's not %s", go122.EventString(ev.typ), GoRunning) } // Goroutine entered a syscall. It's still running on this P and M. state.status = go122.GoSyscall pState, ok := o.pStates[curCtx.P] if !ok { return curCtx, false, fmt.Errorf("uninitialized proc %d found during %s", curCtx.P, go122.EventString(ev.typ)) } pState.status = go122.ProcSyscall // Validate the P sequence number on the event and advance it. // // We have a P sequence number for what is supposed to be a goroutine event // so that we can correctly model P stealing. Without this sequence number here, // the syscall from which a ProcSteal event is stealing can be ambiguous in the // face of broken timestamps. See the go122-syscall-steal-proc-ambiguous test for // more details. // // Note that because this sequence number only exists as a tool for disambiguation, // we can enforce that we have the right sequence number at this point; we don't need // to back off and see if any other events will advance. This is a running P. pSeq := makeSeq(gen, ev.args[0]) if !pSeq.succeeds(pState.seq) { return curCtx, false, fmt.Errorf("failed to advance %s: can't make sequence: %s -> %s", go122.EventString(ev.typ), pState.seq, pSeq) } pState.seq = pSeq o.queue.push(Event{table: evt, ctx: curCtx, base: *ev}) return curCtx, true, nil } func (o *ordering) advanceGoSyscallEnd(ev *baseEvent, evt *evTable, m ThreadID, gen uint64, curCtx schedCtx) (schedCtx, bool, error) { // This event is always advance-able because it happens on the same // thread that EvGoSyscallStart happened, and the goroutine can't leave // that thread until its done. if err := validateCtx(curCtx, event.UserGoReqs); err != nil { return curCtx, false, err } state, ok := o.gStates[curCtx.G] if !ok { return curCtx, false, fmt.Errorf("event %s for goroutine (%v) that doesn't exist", go122.EventString(ev.typ), curCtx.G) } if state.status != go122.GoSyscall { return curCtx, false, fmt.Errorf("%s event for goroutine that's not %s", go122.EventString(ev.typ), GoRunning) } state.status = go122.GoRunning // Transfer the P back to running from syscall. pState, ok := o.pStates[curCtx.P] if !ok { return curCtx, false, fmt.Errorf("uninitialized proc %d found during %s", curCtx.P, go122.EventString(ev.typ)) } if pState.status != go122.ProcSyscall { return curCtx, false, fmt.Errorf("expected proc %d in state %v, but got %v instead", curCtx.P, go122.ProcSyscall, pState.status) } pState.status = go122.ProcRunning o.queue.push(Event{table: evt, ctx: curCtx, base: *ev}) return curCtx, true, nil } func (o *ordering) advanceGoSyscallEndBlocked(ev *baseEvent, evt *evTable, m ThreadID, gen uint64, curCtx schedCtx) (schedCtx, bool, error) { // This event becomes advanceable when its P is not in a syscall state // (lack of a P altogether is also acceptable for advancing). // The transfer out of ProcSyscall can happen either voluntarily via // ProcStop or involuntarily via ProcSteal. We may also acquire a new P // before we get here (after the transfer out) but that's OK: that new // P won't be in the ProcSyscall state anymore. // // Basically: while we have a preemptible P, don't advance, because we // *know* from the event that we're going to lose it at some point during // the syscall. We shouldn't advance until that happens. if curCtx.P != NoProc { pState, ok := o.pStates[curCtx.P] if !ok { return curCtx, false, fmt.Errorf("uninitialized proc %d found during %s", curCtx.P, go122.EventString(ev.typ)) } if pState.status == go122.ProcSyscall { return curCtx, false, nil } } // As mentioned above, we may have a P here if we ProcStart // before this event. if err := validateCtx(curCtx, event.SchedReqs{Thread: event.MustHave, Proc: event.MayHave, Goroutine: event.MustHave}); err != nil { return curCtx, false, err } state, ok := o.gStates[curCtx.G] if !ok { return curCtx, false, fmt.Errorf("event %s for goroutine (%v) that doesn't exist", go122.EventString(ev.typ), curCtx.G) } if state.status != go122.GoSyscall { return curCtx, false, fmt.Errorf("%s event for goroutine that's not %s", go122.EventString(ev.typ), GoRunning) } newCtx := curCtx newCtx.G = NoGoroutine state.status = go122.GoRunnable o.queue.push(Event{table: evt, ctx: curCtx, base: *ev}) return newCtx, true, nil } func (o *ordering) advanceGoCreateSyscall(ev *baseEvent, evt *evTable, m ThreadID, gen uint64, curCtx schedCtx) (schedCtx, bool, error) { // This event indicates that a goroutine is effectively // being created out of a cgo callback. Such a goroutine // is 'created' in the syscall state. if err := validateCtx(curCtx, event.SchedReqs{Thread: event.MustHave, Proc: event.MayHave, Goroutine: event.MustNotHave}); err != nil { return curCtx, false, err } // This goroutine is effectively being created. Add a state for it. newgid := GoID(ev.args[0]) if _, ok := o.gStates[newgid]; ok { return curCtx, false, fmt.Errorf("tried to create goroutine (%v) in syscall that already exists", newgid) } o.gStates[newgid] = &gState{id: newgid, status: go122.GoSyscall, seq: makeSeq(gen, 0)} // Goroutine is executing. Bind it to the context. newCtx := curCtx newCtx.G = newgid o.queue.push(Event{table: evt, ctx: curCtx, base: *ev}) return newCtx, true, nil } func (o *ordering) advanceGoDestroySyscall(ev *baseEvent, evt *evTable, m ThreadID, gen uint64, curCtx schedCtx) (schedCtx, bool, error) { // This event indicates that a goroutine created for a // cgo callback is disappearing, either because the callback // ending or the C thread that called it is being destroyed. // // Also, treat this as if we lost our P too. // The thread ID may be reused by the platform and we'll get // really confused if we try to steal the P is this is running // with later. The new M with the same ID could even try to // steal back this P from itself! // // The runtime is careful to make sure that any GoCreateSyscall // event will enter the runtime emitting events for reacquiring a P. // // Note: we might have a P here. The P might not be released // eagerly by the runtime, and it might get stolen back later // (or never again, if the program is going to exit). if err := validateCtx(curCtx, event.SchedReqs{Thread: event.MustHave, Proc: event.MayHave, Goroutine: event.MustHave}); err != nil { return curCtx, false, err } // Check to make sure the goroutine exists in the right state. state, ok := o.gStates[curCtx.G] if !ok { return curCtx, false, fmt.Errorf("event %s for goroutine (%v) that doesn't exist", go122.EventString(ev.typ), curCtx.G) } if state.status != go122.GoSyscall { return curCtx, false, fmt.Errorf("%s event for goroutine that's not %v", go122.EventString(ev.typ), GoSyscall) } // This goroutine is exiting itself. delete(o.gStates, curCtx.G) newCtx := curCtx newCtx.G = NoGoroutine // If we have a proc, then we're dissociating from it now. See the comment at the top of the case. if curCtx.P != NoProc { pState, ok := o.pStates[curCtx.P] if !ok { return curCtx, false, fmt.Errorf("found invalid proc %d during %s", curCtx.P, go122.EventString(ev.typ)) } if pState.status != go122.ProcSyscall { return curCtx, false, fmt.Errorf("proc %d in unexpected state %s during %s", curCtx.P, pState.status, go122.EventString(ev.typ)) } // See the go122-create-syscall-reuse-thread-id test case for more details. pState.status = go122.ProcSyscallAbandoned newCtx.P = NoProc // Queue an extra self-ProcSteal event. extra := makeEvent(evt, curCtx, go122.EvProcSteal, ev.time, uint64(curCtx.P)) extra.base.extra(version.Go122)[0] = uint64(go122.ProcSyscall) o.queue.push(extra) } o.queue.push(Event{table: evt, ctx: curCtx, base: *ev}) return newCtx, true, nil } func (o *ordering) advanceUserTaskBegin(ev *baseEvent, evt *evTable, m ThreadID, gen uint64, curCtx schedCtx) (schedCtx, bool, error) { // Handle tasks. Tasks are interesting because: // - There's no Begin event required to reference a task. // - End for a particular task ID can appear multiple times. // As a result, there's very little to validate. The only // thing we have to be sure of is that a task didn't begin // after it had already begun. Task IDs are allowed to be // reused, so we don't care about a Begin after an End. id := TaskID(ev.args[0]) if _, ok := o.activeTasks[id]; ok { return curCtx, false, fmt.Errorf("task ID conflict: %d", id) } // Get the parent ID, but don't validate it. There's no guarantee // we actually have information on whether it's active. parentID := TaskID(ev.args[1]) if parentID == BackgroundTask { // Note: a value of 0 here actually means no parent, *not* the // background task. Automatic background task attachment only // applies to regions. parentID = NoTask ev.args[1] = uint64(NoTask) } // Validate the name and record it. We'll need to pass it through to // EvUserTaskEnd. nameID := stringID(ev.args[2]) name, ok := evt.strings.get(nameID) if !ok { return curCtx, false, fmt.Errorf("invalid string ID %v for %v event", nameID, ev.typ) } o.activeTasks[id] = taskState{name: name, parentID: parentID} if err := validateCtx(curCtx, event.UserGoReqs); err != nil { return curCtx, false, err } o.queue.push(Event{table: evt, ctx: curCtx, base: *ev}) return curCtx, true, nil } func (o *ordering) advanceUserTaskEnd(ev *baseEvent, evt *evTable, m ThreadID, gen uint64, curCtx schedCtx) (schedCtx, bool, error) { id := TaskID(ev.args[0]) if ts, ok := o.activeTasks[id]; ok { // Smuggle the task info. This may happen in a different generation, // which may not have the name in its string table. Add it to the extra // strings table so we can look it up later. ev.extra(version.Go122)[0] = uint64(ts.parentID) ev.extra(version.Go122)[1] = uint64(evt.addExtraString(ts.name)) delete(o.activeTasks, id) } else { // Explicitly clear the task info. ev.extra(version.Go122)[0] = uint64(NoTask) ev.extra(version.Go122)[1] = uint64(evt.addExtraString("")) } if err := validateCtx(curCtx, event.UserGoReqs); err != nil { return curCtx, false, err } o.queue.push(Event{table: evt, ctx: curCtx, base: *ev}) return curCtx, true, nil } func (o *ordering) advanceUserRegionBegin(ev *baseEvent, evt *evTable, m ThreadID, gen uint64, curCtx schedCtx) (schedCtx, bool, error) { if err := validateCtx(curCtx, event.UserGoReqs); err != nil { return curCtx, false, err } tid := TaskID(ev.args[0]) nameID := stringID(ev.args[1]) name, ok := evt.strings.get(nameID) if !ok { return curCtx, false, fmt.Errorf("invalid string ID %v for %v event", nameID, ev.typ) } gState, ok := o.gStates[curCtx.G] if !ok { return curCtx, false, fmt.Errorf("encountered EvUserRegionBegin without known state for current goroutine %d", curCtx.G) } if err := gState.beginRegion(userRegion{tid, name}); err != nil { return curCtx, false, err } o.queue.push(Event{table: evt, ctx: curCtx, base: *ev}) return curCtx, true, nil } func (o *ordering) advanceUserRegionEnd(ev *baseEvent, evt *evTable, m ThreadID, gen uint64, curCtx schedCtx) (schedCtx, bool, error) { if err := validateCtx(curCtx, event.UserGoReqs); err != nil { return curCtx, false, err } tid := TaskID(ev.args[0]) nameID := stringID(ev.args[1]) name, ok := evt.strings.get(nameID) if !ok { return curCtx, false, fmt.Errorf("invalid string ID %v for %v event", nameID, ev.typ) } gState, ok := o.gStates[curCtx.G] if !ok { return curCtx, false, fmt.Errorf("encountered EvUserRegionEnd without known state for current goroutine %d", curCtx.G) } if err := gState.endRegion(userRegion{tid, name}); err != nil { return curCtx, false, err } o.queue.push(Event{table: evt, ctx: curCtx, base: *ev}) return curCtx, true, nil } // Handle the GC mark phase. // // We have sequence numbers for both start and end because they // can happen on completely different threads. We want an explicit // partial order edge between start and end here, otherwise we're // relying entirely on timestamps to make sure we don't advance a // GCEnd for a _different_ GC cycle if timestamps are wildly broken. func (o *ordering) advanceGCActive(ev *baseEvent, evt *evTable, m ThreadID, gen uint64, curCtx schedCtx) (schedCtx, bool, error) { seq := ev.args[0] if gen == o.initialGen { if o.gcState != gcUndetermined { return curCtx, false, fmt.Errorf("GCActive in the first generation isn't first GC event") } o.gcSeq = seq o.gcState = gcRunning o.queue.push(Event{table: evt, ctx: curCtx, base: *ev}) return curCtx, true, nil } if seq != o.gcSeq+1 { // This is not the right GC cycle. return curCtx, false, nil } if o.gcState != gcRunning { return curCtx, false, fmt.Errorf("encountered GCActive while GC was not in progress") } o.gcSeq = seq if err := validateCtx(curCtx, event.UserGoReqs); err != nil { return curCtx, false, err } o.queue.push(Event{table: evt, ctx: curCtx, base: *ev}) return curCtx, true, nil } func (o *ordering) advanceGCBegin(ev *baseEvent, evt *evTable, m ThreadID, gen uint64, curCtx schedCtx) (schedCtx, bool, error) { seq := ev.args[0] if o.gcState == gcUndetermined { o.gcSeq = seq o.gcState = gcRunning o.queue.push(Event{table: evt, ctx: curCtx, base: *ev}) return curCtx, true, nil } if seq != o.gcSeq+1 { // This is not the right GC cycle. return curCtx, false, nil } if o.gcState == gcRunning { return curCtx, false, fmt.Errorf("encountered GCBegin while GC was already in progress") } o.gcSeq = seq o.gcState = gcRunning if err := validateCtx(curCtx, event.UserGoReqs); err != nil { return curCtx, false, err } o.queue.push(Event{table: evt, ctx: curCtx, base: *ev}) return curCtx, true, nil } func (o *ordering) advanceGCEnd(ev *baseEvent, evt *evTable, m ThreadID, gen uint64, curCtx schedCtx) (schedCtx, bool, error) { seq := ev.args[0] if seq != o.gcSeq+1 { // This is not the right GC cycle. return curCtx, false, nil } if o.gcState == gcNotRunning { return curCtx, false, fmt.Errorf("encountered GCEnd when GC was not in progress") } if o.gcState == gcUndetermined { return curCtx, false, fmt.Errorf("encountered GCEnd when GC was in an undetermined state") } o.gcSeq = seq o.gcState = gcNotRunning if err := validateCtx(curCtx, event.UserGoReqs); err != nil { return curCtx, false, err } o.queue.push(Event{table: evt, ctx: curCtx, base: *ev}) return curCtx, true, nil } func (o *ordering) advanceAnnotation(ev *baseEvent, evt *evTable, m ThreadID, gen uint64, curCtx schedCtx) (schedCtx, bool, error) { // Handle simple instantaneous events that require a G. if err := validateCtx(curCtx, event.UserGoReqs); err != nil { return curCtx, false, err } o.queue.push(Event{table: evt, ctx: curCtx, base: *ev}) return curCtx, true, nil } func (o *ordering) advanceHeapMetric(ev *baseEvent, evt *evTable, m ThreadID, gen uint64, curCtx schedCtx) (schedCtx, bool, error) { // Handle allocation metrics, which don't require a G. if err := validateCtx(curCtx, event.SchedReqs{Thread: event.MustHave, Proc: event.MustHave, Goroutine: event.MayHave}); err != nil { return curCtx, false, err } o.queue.push(Event{table: evt, ctx: curCtx, base: *ev}) return curCtx, true, nil } func (o *ordering) advanceGCSweepBegin(ev *baseEvent, evt *evTable, m ThreadID, gen uint64, curCtx schedCtx) (schedCtx, bool, error) { // Handle sweep, which is bound to a P and doesn't require a G. if err := validateCtx(curCtx, event.SchedReqs{Thread: event.MustHave, Proc: event.MustHave, Goroutine: event.MayHave}); err != nil { return curCtx, false, err } if err := o.pStates[curCtx.P].beginRange(makeRangeType(ev.typ, 0)); err != nil { return curCtx, false, err } o.queue.push(Event{table: evt, ctx: curCtx, base: *ev}) return curCtx, true, nil } func (o *ordering) advanceGCSweepActive(ev *baseEvent, evt *evTable, m ThreadID, gen uint64, curCtx schedCtx) (schedCtx, bool, error) { pid := ProcID(ev.args[0]) // N.B. In practice Ps can't block while they're sweeping, so this can only // ever reference curCtx.P. However, be lenient about this like we are with // GCMarkAssistActive; there's no reason the runtime couldn't change to block // in the middle of a sweep. pState, ok := o.pStates[pid] if !ok { return curCtx, false, fmt.Errorf("encountered GCSweepActive for unknown proc %d", pid) } if err := pState.activeRange(makeRangeType(ev.typ, 0), gen == o.initialGen); err != nil { return curCtx, false, err } o.queue.push(Event{table: evt, ctx: curCtx, base: *ev}) return curCtx, true, nil } func (o *ordering) advanceGCSweepEnd(ev *baseEvent, evt *evTable, m ThreadID, gen uint64, curCtx schedCtx) (schedCtx, bool, error) { if err := validateCtx(curCtx, event.SchedReqs{Thread: event.MustHave, Proc: event.MustHave, Goroutine: event.MayHave}); err != nil { return curCtx, false, err } _, err := o.pStates[curCtx.P].endRange(ev.typ) if err != nil { return curCtx, false, err } o.queue.push(Event{table: evt, ctx: curCtx, base: *ev}) return curCtx, true, nil } func (o *ordering) advanceGoRangeBegin(ev *baseEvent, evt *evTable, m ThreadID, gen uint64, curCtx schedCtx) (schedCtx, bool, error) { // Handle special goroutine-bound event ranges. if err := validateCtx(curCtx, event.UserGoReqs); err != nil { return curCtx, false, err } desc := stringID(0) if ev.typ == go122.EvSTWBegin { desc = stringID(ev.args[0]) } gState, ok := o.gStates[curCtx.G] if !ok { return curCtx, false, fmt.Errorf("encountered event of type %d without known state for current goroutine %d", ev.typ, curCtx.G) } if err := gState.beginRange(makeRangeType(ev.typ, desc)); err != nil { return curCtx, false, err } o.queue.push(Event{table: evt, ctx: curCtx, base: *ev}) return curCtx, true, nil } func (o *ordering) advanceGoRangeActive(ev *baseEvent, evt *evTable, m ThreadID, gen uint64, curCtx schedCtx) (schedCtx, bool, error) { gid := GoID(ev.args[0]) // N.B. Like GoStatus, this can happen at any time, because it can // reference a non-running goroutine. Don't check anything about the // current scheduler context. gState, ok := o.gStates[gid] if !ok { return curCtx, false, fmt.Errorf("uninitialized goroutine %d found during %s", gid, go122.EventString(ev.typ)) } if err := gState.activeRange(makeRangeType(ev.typ, 0), gen == o.initialGen); err != nil { return curCtx, false, err } o.queue.push(Event{table: evt, ctx: curCtx, base: *ev}) return curCtx, true, nil } func (o *ordering) advanceGoRangeEnd(ev *baseEvent, evt *evTable, m ThreadID, gen uint64, curCtx schedCtx) (schedCtx, bool, error) { if err := validateCtx(curCtx, event.UserGoReqs); err != nil { return curCtx, false, err } gState, ok := o.gStates[curCtx.G] if !ok { return curCtx, false, fmt.Errorf("encountered event of type %d without known state for current goroutine %d", ev.typ, curCtx.G) } desc, err := gState.endRange(ev.typ) if err != nil { return curCtx, false, err } if ev.typ == go122.EvSTWEnd { // Smuggle the kind into the event. // Don't use ev.extra here so we have symmetry with STWBegin. ev.args[0] = uint64(desc) } o.queue.push(Event{table: evt, ctx: curCtx, base: *ev}) return curCtx, true, nil } // Next returns the next event in the ordering. func (o *ordering) Next() (Event, bool) { return o.queue.pop() } // schedCtx represents the scheduling resources associated with an event. type schedCtx struct { G GoID P ProcID M ThreadID } // validateCtx ensures that ctx conforms to some reqs, returning an error if // it doesn't. func validateCtx(ctx schedCtx, reqs event.SchedReqs) error { // Check thread requirements. if reqs.Thread == event.MustHave && ctx.M == NoThread { return fmt.Errorf("expected a thread but didn't have one") } else if reqs.Thread == event.MustNotHave && ctx.M != NoThread { return fmt.Errorf("expected no thread but had one") } // Check proc requirements. if reqs.Proc == event.MustHave && ctx.P == NoProc { return fmt.Errorf("expected a proc but didn't have one") } else if reqs.Proc == event.MustNotHave && ctx.P != NoProc { return fmt.Errorf("expected no proc but had one") } // Check goroutine requirements. if reqs.Goroutine == event.MustHave && ctx.G == NoGoroutine { return fmt.Errorf("expected a goroutine but didn't have one") } else if reqs.Goroutine == event.MustNotHave && ctx.G != NoGoroutine { return fmt.Errorf("expected no goroutine but had one") } return nil } // gcState is a trinary variable for the current state of the GC. // // The third state besides "enabled" and "disabled" is "undetermined." type gcState uint8 const ( gcUndetermined gcState = iota gcNotRunning gcRunning ) // String returns a human-readable string for the GC state. func (s gcState) String() string { switch s { case gcUndetermined: return "Undetermined" case gcNotRunning: return "NotRunning" case gcRunning: return "Running" } return "Bad" } // userRegion represents a unique user region when attached to some gState. type userRegion struct { // name must be a resolved string because the string ID for the same // string may change across generations, but we care about checking // the value itself. taskID TaskID name string } // rangeType is a way to classify special ranges of time. // // These typically correspond 1:1 with "Begin" events, but // they may have an optional subtype that describes the range // in more detail. type rangeType struct { typ event.Type // "Begin" event. desc stringID // Optional subtype. } // makeRangeType constructs a new rangeType. func makeRangeType(typ event.Type, desc stringID) rangeType { if styp := go122.Specs()[typ].StartEv; styp != go122.EvNone { typ = styp } return rangeType{typ, desc} } // gState is the state of a goroutine at a point in the trace. type gState struct { id GoID status go122.GoStatus seq seqCounter // regions are the active user regions for this goroutine. regions []userRegion // rangeState is the state of special time ranges bound to this goroutine. rangeState } // beginRegion starts a user region on the goroutine. func (s *gState) beginRegion(r userRegion) error { s.regions = append(s.regions, r) return nil } // endRegion ends a user region on the goroutine. func (s *gState) endRegion(r userRegion) error { if len(s.regions) == 0 { // We do not know about regions that began before tracing started. return nil } if next := s.regions[len(s.regions)-1]; next != r { return fmt.Errorf("misuse of region in goroutine %v: region end %v when the inner-most active region start event is %v", s.id, r, next) } s.regions = s.regions[:len(s.regions)-1] return nil } // pState is the state of a proc at a point in the trace. type pState struct { id ProcID status go122.ProcStatus seq seqCounter // rangeState is the state of special time ranges bound to this proc. rangeState } // mState is the state of a thread at a point in the trace. type mState struct { g GoID // Goroutine bound to this M. (The goroutine's state is Executing.) p ProcID // Proc bound to this M. (The proc's state is Executing.) } // rangeState represents the state of special time ranges. type rangeState struct { // inFlight contains the rangeTypes of any ranges bound to a resource. inFlight []rangeType } // beginRange begins a special range in time on the goroutine. // // Returns an error if the range is already in progress. func (s *rangeState) beginRange(typ rangeType) error { if s.hasRange(typ) { return fmt.Errorf("discovered event already in-flight for when starting event %v", go122.Specs()[typ.typ].Name) } s.inFlight = append(s.inFlight, typ) return nil } // activeRange marks special range in time on the goroutine as active in the // initial generation, or confirms that it is indeed active in later generations. func (s *rangeState) activeRange(typ rangeType, isInitialGen bool) error { if isInitialGen { if s.hasRange(typ) { return fmt.Errorf("found named active range already in first gen: %v", typ) } s.inFlight = append(s.inFlight, typ) } else if !s.hasRange(typ) { return fmt.Errorf("resource is missing active range: %v %v", go122.Specs()[typ.typ].Name, s.inFlight) } return nil } // hasRange returns true if a special time range on the goroutine as in progress. func (s *rangeState) hasRange(typ rangeType) bool { for _, ftyp := range s.inFlight { if ftyp == typ { return true } } return false } // endRange ends a special range in time on the goroutine. // // This must line up with the start event type of the range the goroutine is currently in. func (s *rangeState) endRange(typ event.Type) (stringID, error) { st := go122.Specs()[typ].StartEv idx := -1 for i, r := range s.inFlight { if r.typ == st { idx = i break } } if idx < 0 { return 0, fmt.Errorf("tried to end event %v, but not in-flight", go122.Specs()[st].Name) } // Swap remove. desc := s.inFlight[idx].desc s.inFlight[idx], s.inFlight[len(s.inFlight)-1] = s.inFlight[len(s.inFlight)-1], s.inFlight[idx] s.inFlight = s.inFlight[:len(s.inFlight)-1] return desc, nil } // seqCounter represents a global sequence counter for a resource. type seqCounter struct { gen uint64 // The generation for the local sequence counter seq. seq uint64 // The sequence number local to the generation. } // makeSeq creates a new seqCounter. func makeSeq(gen, seq uint64) seqCounter { return seqCounter{gen: gen, seq: seq} } // succeeds returns true if a is the immediate successor of b. func (a seqCounter) succeeds(b seqCounter) bool { return a.gen == b.gen && a.seq == b.seq+1 } // String returns a debug string representation of the seqCounter. func (c seqCounter) String() string { return fmt.Sprintf("%d (gen=%d)", c.seq, c.gen) } func dumpOrdering(order *ordering) string { var sb strings.Builder for id, state := range order.gStates { fmt.Fprintf(&sb, "G %d [status=%s seq=%s]\n", id, state.status, state.seq) } fmt.Fprintln(&sb) for id, state := range order.pStates { fmt.Fprintf(&sb, "P %d [status=%s seq=%s]\n", id, state.status, state.seq) } fmt.Fprintln(&sb) for id, state := range order.mStates { fmt.Fprintf(&sb, "M %d [g=%d p=%d]\n", id, state.g, state.p) } fmt.Fprintln(&sb) fmt.Fprintf(&sb, "GC %d %s\n", order.gcSeq, order.gcState) return sb.String() } // taskState represents an active task. type taskState struct { // name is the type of the active task. name string // parentID is the parent ID of the active task. parentID TaskID } // queue implements a growable ring buffer with a queue API. type queue[T any] struct { start, end int buf []T } // push adds a new event to the back of the queue. func (q *queue[T]) push(value T) { if q.end-q.start == len(q.buf) { q.grow() } q.buf[q.end%len(q.buf)] = value q.end++ } // grow increases the size of the queue. func (q *queue[T]) grow() { if len(q.buf) == 0 { q.buf = make([]T, 2) return } // Create new buf and copy data over. newBuf := make([]T, len(q.buf)*2) pivot := q.start % len(q.buf) first, last := q.buf[pivot:], q.buf[:pivot] copy(newBuf[:len(first)], first) copy(newBuf[len(first):], last) // Update the queue state. q.start = 0 q.end = len(q.buf) q.buf = newBuf } // pop removes an event from the front of the queue. If the // queue is empty, it returns an EventBad event. func (q *queue[T]) pop() (T, bool) { if q.end-q.start == 0 { return *new(T), false } elem := &q.buf[q.start%len(q.buf)] value := *elem *elem = *new(T) // Clear the entry before returning, so we don't hold onto old tables. q.start++ return value, true } // makeEvent creates an Event from the provided information. // // It's just a convenience function; it's always OK to construct // an Event manually if this isn't quite the right way to express // the contents of the event. func makeEvent(table *evTable, ctx schedCtx, typ event.Type, time Time, args ...uint64) Event { ev := Event{ table: table, ctx: ctx, base: baseEvent{ typ: typ, time: time, }, } copy(ev.base.args[:], args) return ev } dependencies/pkg/mod/golang.org/x/exp@v0.0.0-20240506185415-9bf2ced13842/trace/batchcursor.go0000644000000000000000000001031515107355263026665 0ustar rootroot// Copyright 2023 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. // Code generated by "gen.bash" from internal/trace/v2; DO NOT EDIT. //go:build go1.21 package trace import ( "cmp" "encoding/binary" "fmt" "golang.org/x/exp/trace/internal/event" "golang.org/x/exp/trace/internal/event/go122" ) type batchCursor struct { m ThreadID lastTs Time idx int // next index into []batch dataOff int // next index into batch.data ev baseEvent // last read event } func (b *batchCursor) nextEvent(batches []batch, freq frequency) (ok bool, err error) { // Batches should generally always have at least one event, // but let's be defensive about that and accept empty batches. for b.idx < len(batches) && len(batches[b.idx].data) == b.dataOff { b.idx++ b.dataOff = 0 b.lastTs = 0 } // Have we reached the end of the batches? if b.idx == len(batches) { return false, nil } // Initialize lastTs if it hasn't been yet. if b.lastTs == 0 { b.lastTs = freq.mul(batches[b.idx].time) } // Read an event out. n, tsdiff, err := readTimedBaseEvent(batches[b.idx].data[b.dataOff:], &b.ev) if err != nil { return false, err } // Complete the timestamp from the cursor's last timestamp. b.ev.time = freq.mul(tsdiff) + b.lastTs // Move the cursor's timestamp forward. b.lastTs = b.ev.time // Move the cursor forward. b.dataOff += n return true, nil } func (b *batchCursor) compare(a *batchCursor) int { return cmp.Compare(b.ev.time, a.ev.time) } // readTimedBaseEvent reads out the raw event data from b // into e. It does not try to interpret the arguments // but it does validate that the event is a regular // event with a timestamp (vs. a structural event). // // It requires that the event its reading be timed, which must // be the case for every event in a plain EventBatch. func readTimedBaseEvent(b []byte, e *baseEvent) (int, timestamp, error) { // Get the event type. typ := event.Type(b[0]) specs := go122.Specs() if int(typ) >= len(specs) { return 0, 0, fmt.Errorf("found invalid event type: %v", typ) } e.typ = typ // Get spec. spec := &specs[typ] if len(spec.Args) == 0 || !spec.IsTimedEvent { return 0, 0, fmt.Errorf("found event without a timestamp: type=%v", typ) } n := 1 // Read timestamp diff. ts, nb := binary.Uvarint(b[n:]) if nb <= 0 { return 0, 0, fmt.Errorf("found invalid uvarint for timestamp") } n += nb // Read the rest of the arguments. for i := 0; i < len(spec.Args)-1; i++ { arg, nb := binary.Uvarint(b[n:]) if nb <= 0 { return 0, 0, fmt.Errorf("found invalid uvarint") } e.args[i] = arg n += nb } return n, timestamp(ts), nil } func heapInsert(heap []*batchCursor, bc *batchCursor) []*batchCursor { // Add the cursor to the end of the heap. heap = append(heap, bc) // Sift the new entry up to the right place. heapSiftUp(heap, len(heap)-1) return heap } func heapUpdate(heap []*batchCursor, i int) { // Try to sift up. if heapSiftUp(heap, i) != i { return } // Try to sift down, if sifting up failed. heapSiftDown(heap, i) } func heapRemove(heap []*batchCursor, i int) []*batchCursor { // Sift index i up to the root, ignoring actual values. for i > 0 { heap[(i-1)/2], heap[i] = heap[i], heap[(i-1)/2] i = (i - 1) / 2 } // Swap the root with the last element, then remove it. heap[0], heap[len(heap)-1] = heap[len(heap)-1], heap[0] heap = heap[:len(heap)-1] // Sift the root down. heapSiftDown(heap, 0) return heap } func heapSiftUp(heap []*batchCursor, i int) int { for i > 0 && heap[(i-1)/2].ev.time > heap[i].ev.time { heap[(i-1)/2], heap[i] = heap[i], heap[(i-1)/2] i = (i - 1) / 2 } return i } func heapSiftDown(heap []*batchCursor, i int) int { for { m := min3(heap, i, 2*i+1, 2*i+2) if m == i { // Heap invariant already applies. break } heap[i], heap[m] = heap[m], heap[i] i = m } return i } func min3(b []*batchCursor, i0, i1, i2 int) int { minIdx := i0 minT := maxTime if i0 < len(b) { minT = b[i0].ev.time } if i1 < len(b) { if t := b[i1].ev.time; t < minT { minT = t minIdx = i1 } } if i2 < len(b) { if t := b[i2].ev.time; t < minT { minT = t minIdx = i2 } } return minIdx } dependencies/pkg/mod/golang.org/x/exp@v0.0.0-20240506185415-9bf2ced13842/trace/order_test.go0000644000000000000000000000215615107355263026524 0ustar rootroot// Copyright 2023 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. // Code generated by "gen.bash" from internal/trace/v2; DO NOT EDIT. //go:build go1.21 package trace import "testing" func TestQueue(t *testing.T) { var q queue[int] check := func(name string, exp []int) { for _, v := range exp { q.push(v) } for i, want := range exp { if got, ok := q.pop(); !ok { t.Fatalf("check %q: expected to be able to pop after %d pops", name, i+1) } else if got != want { t.Fatalf("check %q: expected value %d after on pop %d, got %d", name, want, i+1, got) } } if _, ok := q.pop(); ok { t.Fatalf("check %q: did not expect to be able to pop more values", name) } if _, ok := q.pop(); ok { t.Fatalf("check %q: did not expect to be able to pop more values a second time", name) } } check("one element", []int{4}) check("two elements", []int{64, 12}) check("six elements", []int{55, 16423, 2352, 644, 12874, 9372}) check("one element again", []int{7}) check("two elements again", []int{77, 6336}) } dependencies/pkg/mod/golang.org/x/exp@v0.0.0-20240506185415-9bf2ced13842/trace/gen.bash0000644000000000000000000000621415107355263025432 0ustar rootroot#!/usr/bin/env bash # Copyright 2023 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 copies this directory to golang.org/x/exp/trace. # Just point it at a Go commit or a local Go checkout. set -e if [ "$#" -ne 1 ]; then echo 'gen.bash expects one argument: a go.googlesource.com/go commit hash to generate the package from or a path to a Go checkout' exit 1 fi # Determine the source. if [ -d $1 ]; then echo "assuming Go checkout at $1..." # Select the Go checkout. GODIR=$1 else echo "using $1 as a commit hash..." # Check out Go. TMP=$(mktemp -d) git -C $TMP clone https://go.googlesource.com/go git -C $TMP/go checkout $1 GODIR=$TMP/go fi # Define src and dst. SRC=$GODIR/src/internal/trace/v2 DST=$(dirname $0) # Copy. rsync -av --delete $SRC/ $DST rm $DST/mkexp.bash # Remove the trace_test.go file and the testprogs it invokes. # This really tests the tracer, it's not necessary to it bring along # The trace tests are also problematic because they fail to run on # Go versions before tip. The testprog directory is problematic because # of //go:build ignore, so we'd have to complicate the logic below to # support it. rm $DST/trace_test.go rm -r $DST/testdata/testprog # Remove the oldtrace testdata to avoid checking in new binary files. # Remove oldtrace_test.go and internal/oldtrace/parser_test.go because # they fail without this data. rm -r $DST/internal/oldtrace/testdata rm $DST/oldtrace_test.go rm $DST/internal/oldtrace/parser_test.go # Remove mktests.go because its a //go:build ignore file, so it would # complicate the logic below. This codebase isn't the source of truth # anyway. rm $DST/testdata/mktests.go # Make some packages internal. mv $DST/raw $DST/internal/raw mv $DST/event $DST/internal/event mv $DST/version $DST/internal/version mv $DST/testtrace $DST/internal/testtrace # Move the debug commands out of testdata. mv $DST/testdata/cmd $DST/cmd # Fix up import paths. find $DST -name '*.go' | xargs -- sed -i 's/internal\/trace\/v2/golang.org\/x\/exp\/trace/' find $DST -name '*.go' | xargs -- sed -i 's/golang.org\/x\/exp\/trace\/raw/golang.org\/x\/exp\/trace\/internal\/raw/' find $DST -name '*.go' | xargs -- sed -i 's/golang.org\/x\/exp\/trace\/event/golang.org\/x\/exp\/trace\/internal\/event/' find $DST -name '*.go' | xargs -- sed -i 's/golang.org\/x\/exp\/trace\/event\/go122/golang.org\/x\/exp\/trace\/internal\/event\/go122/' find $DST -name '*.go' | xargs -- sed -i 's/golang.org\/x\/exp\/trace\/version/golang.org\/x\/exp\/trace\/internal\/version/' find $DST -name '*.go' | xargs -- sed -i 's/golang.org\/x\/exp\/trace\/testtrace/golang.org\/x\/exp\/trace\/internal\/testtrace/' find $DST -name '*.go' | xargs -- sed -i 's/internal\/txtar/golang.org\/x\/tools\/txtar/' # Add build tag for Go 1.21 and generated code comment. find $DST -name '*.go' | xargs -- sed -i '/LICENSE file./a \ \ // Code generated by "gen.bash" from internal/trace/v2; DO NOT EDIT.\n\n//go:build go1.21' # Format the files. find $DST -name '*.go' | xargs -- gofmt -w -s # Restore known files. git checkout gen.bash flightrecorder.go flightrecorder_test.go dependencies/pkg/mod/golang.org/x/exp@v0.0.0-20240506185415-9bf2ced13842/trace/testdata/0000755000000000000000000000000015107355263025630 5ustar rootrootdependencies/pkg/mod/golang.org/x/exp@v0.0.0-20240506185415-9bf2ced13842/trace/testdata/README.md0000644000000000000000000000215715107355263027114 0ustar rootroot# Trace test data ## Trace golden tests Trace tests can be generated by running ``` go generate . ``` with the relevant toolchain in this directory. This will put the tests into a `tests` directory where the trace reader tests will find them. A subset of tests can be regenerated by specifying a regexp pattern for the names of tests to generate in the `GOTRACETEST` environment variable. Test names are defined as the name of the `.go` file that generates the trace, but with the `.go` extension removed. ## Trace test programs The trace test programs in the `testprog` directory generate traces to stdout. Otherwise they're just normal programs. ## Trace debug commands The `cmd` directory contains helpful tools for debugging traces. * `gotraceraw` parses traces without validation. It can produce a text version of the trace wire format, or convert the text format back into bytes. * `gotracevalidate` parses traces and validates them. It performs more rigorous checks than the parser does on its own, which helps for debugging the parser as well. In fact, it performs the exact same checks that the tests do. dependencies/pkg/mod/golang.org/x/exp@v0.0.0-20240506185415-9bf2ced13842/trace/testdata/tests/0000755000000000000000000000000015107355263026772 5ustar rootroot././@LongLink0000644000000000000000000000021000000000000011574 Lustar rootrootdependencies/pkg/mod/golang.org/x/exp@v0.0.0-20240506185415-9bf2ced13842/trace/testdata/tests/go122-create-syscall-reuse-thread-id.testdependencies/pkg/mod/golang.org/x/exp@v0.0.0-20240506185415-9bf2ced13842/trace/testdata/tests/go122-0000644000000000000000000000121415107355263027622 0ustar rootroot-- expect -- SUCCESS -- trace -- Trace Go1.22 EventBatch gen=1 m=0 time=0 size=37 GoCreateSyscall dt=1 new_g=4 GoSyscallEndBlocked dt=1 ProcStatus dt=1 p=0 pstatus=2 ProcStart dt=1 p=0 p_seq=1 GoStatus dt=1 g=4 m=18446744073709551615 gstatus=1 GoStart dt=1 g=4 g_seq=1 GoSyscallBegin dt=1 p_seq=2 stack=0 GoDestroySyscall dt=1 EventBatch gen=1 m=0 time=0 size=13 ProcStatus dt=1 p=1 pstatus=2 ProcStart dt=1 p=1 p_seq=1 ProcSteal dt=1 p=0 p_seq=3 m=0 EventBatch gen=1 m=18446744073709551615 time=0 size=5 Frequency freq=15625000 EventBatch gen=1 m=18446744073709551615 time=0 size=1 Stacks EventBatch gen=1 m=18446744073709551615 time=0 size=1 Strings ././@LongLink0000644000000000000000000000022000000000000011575 Lustar rootrootdependencies/pkg/mod/golang.org/x/exp@v0.0.0-20240506185415-9bf2ced13842/trace/testdata/tests/go122-syscall-steal-proc-gen-boundary-bare-m.testdependencies/pkg/mod/golang.org/x/exp@v0.0.0-20240506185415-9bf2ced13842/trace/testdata/tests/go122-0000644000000000000000000000072215107355263027625 0ustar rootroot-- expect -- SUCCESS -- trace -- Trace Go1.22 EventBatch gen=1 m=0 time=0 size=11 ProcStatus dt=1 p=1 pstatus=1 GoStatus dt=1 g=1 m=0 gstatus=3 GoSyscallEndBlocked dt=1 EventBatch gen=1 m=1 time=0 size=9 ProcStatus dt=1 p=0 pstatus=4 ProcSteal dt=1 p=0 p_seq=1 m=0 EventBatch gen=1 m=18446744073709551615 time=0 size=5 Frequency freq=15625000 EventBatch gen=1 m=18446744073709551615 time=0 size=1 Stacks EventBatch gen=1 m=18446744073709551615 time=0 size=1 Strings ././@LongLink0000644000000000000000000000016300000000000011603 Lustar rootrootdependencies/pkg/mod/golang.org/x/exp@v0.0.0-20240506185415-9bf2ced13842/trace/testdata/tests/go122-gc-stress.testdependencies/pkg/mod/golang.org/x/exp@v0.0.0-20240506185415-9bf2ced13842/trace/testdata/tests/go122-0000644000000000000000000042613615107355263027640 0ustar rootroot-- expect -- SUCCESS -- trace -- Trace Go1.22 EventBatch gen=3 m=18446744073709551615 time=28114950954550 size=5 Frequency freq=15625000 EventBatch gen=3 m=169438 time=28114950899454 size=615 ProcStatus dt=2 p=47 pstatus=1 GoStatus dt=1 g=111 m=169438 gstatus=2 GCMarkAssistActive dt=1 g=111 GCMarkAssistEnd dt=1 HeapAlloc dt=38 heapalloc_value=191159744 HeapAlloc dt=134 heapalloc_value=191192512 GCMarkAssistBegin dt=60 stack=3 GoStop dt=2288 reason_string=20 stack=9 GoStart dt=15 g=111 g_seq=1 GCMarkAssistEnd dt=1860 HeapAlloc dt=46 heapalloc_value=191585728 GCMarkAssistBegin dt=35 stack=3 GoBlock dt=32 reason_string=13 stack=11 GoUnblock dt=14 g=57 g_seq=5 stack=0 GoStart dt=9 g=57 g_seq=6 GoLabel dt=3 label_string=2 GoBlock dt=2925 reason_string=15 stack=5 GoUnblock dt=12 g=57 g_seq=7 stack=0 GoStart dt=5 g=57 g_seq=8 GoLabel dt=1 label_string=2 GoBlock dt=391 reason_string=15 stack=5 GoUnblock dt=15 g=57 g_seq=9 stack=0 GoStart dt=7 g=57 g_seq=10 GoLabel dt=1 label_string=2 GoBlock dt=307 reason_string=15 stack=5 GoUnblock dt=7 g=57 g_seq=11 stack=0 GoStart dt=3 g=57 g_seq=12 GoLabel dt=2 label_string=2 GoBlock dt=1049 reason_string=15 stack=5 GoUnblock dt=23 g=58 g_seq=7 stack=0 GoStart dt=8 g=58 g_seq=8 GoLabel dt=1 label_string=2 GoBlock dt=1126 reason_string=15 stack=5 GoUnblock dt=12 g=53 g_seq=3 stack=0 GoStart dt=5 g=53 g_seq=4 GoLabel dt=1 label_string=2 GoBlock dt=1751 reason_string=15 stack=5 GoUnblock dt=12 g=53 g_seq=5 stack=0 GoStart dt=6 g=53 g_seq=6 GoLabel dt=3 label_string=2 GoBlock dt=119 reason_string=15 stack=5 GoStart dt=15 g=88 g_seq=4 GoBlock dt=50 reason_string=13 stack=11 GoUnblock dt=1212 g=54 g_seq=15 stack=0 GoStart dt=6 g=54 g_seq=16 GoLabel dt=1 label_string=4 GoBlock dt=2984 reason_string=15 stack=5 GoUnblock dt=2696 g=52 g_seq=21 stack=0 GoStart dt=3 g=52 g_seq=22 GoLabel dt=1 label_string=4 GoBlock dt=2013 reason_string=15 stack=5 GoStart dt=18 g=98 g_seq=6 GCMarkAssistEnd dt=6 HeapAlloc dt=44 heapalloc_value=192003520 GCMarkAssistBegin dt=54 stack=3 GoBlock dt=481 reason_string=13 stack=11 GoUnblock dt=51 g=14 g_seq=17 stack=0 GoStart dt=4 g=14 g_seq=18 GoLabel dt=1 label_string=4 GoBlock dt=3954 reason_string=15 stack=5 GoUnblock dt=59 g=57 g_seq=41 stack=0 GoStart dt=8 g=57 g_seq=42 GoLabel dt=1 label_string=4 GoBlock dt=63 reason_string=15 stack=5 GoUnblock dt=11 g=57 g_seq=43 stack=0 GoStart dt=4 g=57 g_seq=44 GoLabel dt=1 label_string=2 GoBlock dt=3186 reason_string=15 stack=5 GoUnblock dt=11 g=57 g_seq=45 stack=0 GoStart dt=3 g=57 g_seq=46 GoLabel dt=1 label_string=2 GoBlock dt=9 reason_string=15 stack=5 ProcStop dt=60 ProcStart dt=50 p=47 p_seq=1 GoUnblock dt=9 g=22 g_seq=33 stack=0 GoStart dt=4 g=22 g_seq=34 GoLabel dt=1 label_string=4 GoBlock dt=97 reason_string=15 stack=5 GoUnblock dt=9 g=22 g_seq=35 stack=0 GoStart dt=5 g=22 g_seq=36 GoLabel dt=1 label_string=2 GoBlock dt=2605 reason_string=15 stack=5 GoUnblock dt=10 g=22 g_seq=37 stack=0 GoStart dt=4 g=22 g_seq=38 GoLabel dt=1 label_string=2 GoBlock dt=13 reason_string=15 stack=5 ProcStop dt=37 ProcStart dt=582 p=47 p_seq=2 GoStart dt=504 g=97 g_seq=4 GCMarkAssistEnd dt=5 GCMarkAssistBegin dt=34 stack=3 GoBlock dt=279 reason_string=13 stack=11 ProcStop dt=30 ProcStart dt=3780 p=47 p_seq=3 GoUnblock dt=9 g=71 g_seq=25 stack=0 GoStart dt=128 g=71 g_seq=26 GoLabel dt=1 label_string=2 GoBlock dt=210 reason_string=15 stack=5 GoUnblock dt=8 g=71 g_seq=27 stack=0 GoStart dt=1 g=71 g_seq=28 GoLabel dt=1 label_string=2 GoBlock dt=1627 reason_string=15 stack=5 GoStart dt=27 g=105 g_seq=6 GCMarkAssistEnd dt=3 HeapAlloc dt=44 heapalloc_value=192477912 GCMarkAssistBegin dt=77 stack=3 GoStop dt=873 reason_string=20 stack=9 GoUnblock dt=12 g=23 g_seq=47 stack=0 GoStart dt=3 g=23 g_seq=48 GoLabel dt=1 label_string=2 GoBlock dt=36 reason_string=15 stack=5 GoUnblock dt=6 g=23 g_seq=49 stack=0 GoStart dt=1 g=23 g_seq=50 GoLabel dt=1 label_string=2 GoBlock dt=9 reason_string=15 stack=5 GoUnblock dt=8 g=23 g_seq=51 stack=0 GoStart dt=3 g=23 g_seq=52 GoLabel dt=1 label_string=2 GoBlock dt=15 reason_string=15 stack=5 GoStart dt=10 g=105 g_seq=7 GoStop dt=16 reason_string=20 stack=9 GoUnblock dt=7 g=23 g_seq=53 stack=0 GoStart dt=3 g=23 g_seq=54 GoLabel dt=1 label_string=2 GoBlock dt=10 reason_string=15 stack=5 GoUnblock dt=12 g=23 g_seq=55 stack=0 GoStart dt=3 g=23 g_seq=56 GoLabel dt=1 label_string=2 GoBlock dt=9 reason_string=15 stack=5 GoUnblock dt=4 g=23 g_seq=57 stack=0 GoStart dt=1 g=23 g_seq=58 GoLabel dt=1 label_string=2 GoBlock dt=4554 reason_string=15 stack=5 GoStart dt=14 g=105 g_seq=10 GCMarkAssistEnd dt=5 HeapAlloc dt=65 heapalloc_value=193682136 GCMarkAssistBegin dt=16 stack=3 GoBlock dt=44 reason_string=13 stack=11 GoStart dt=15 g=83 g_seq=8 HeapAlloc dt=221 heapalloc_value=194173656 HeapAlloc dt=1927 heapalloc_value=195443416 GoStop dt=5838 reason_string=16 stack=6 GoStart dt=51 g=83 g_seq=9 GCMarkAssistBegin dt=12 stack=3 GoBlock dt=35 reason_string=10 stack=18 GoStart dt=70 g=87 g_seq=6 GCMarkAssistBegin dt=14 stack=3 GoBlock dt=35 reason_string=13 stack=11 ProcStop dt=77 EventBatch gen=3 m=169436 time=28114950894898 size=160 ProcStatus dt=2 p=34 pstatus=1 GoStatus dt=3 g=107 m=169436 gstatus=2 GCMarkAssistBegin dt=15 stack=3 GoBlock dt=4050 reason_string=13 stack=11 GoStatus dt=20 g=23 m=18446744073709551615 gstatus=4 GoUnblock dt=3 g=23 g_seq=1 stack=0 GoStart dt=8 g=23 g_seq=2 GoLabel dt=1 label_string=2 GoUnblock dt=2316 g=81 g_seq=1 stack=12 GoBlock dt=626 reason_string=15 stack=5 GoUnblock dt=9 g=23 g_seq=3 stack=0 GoStart dt=9 g=23 g_seq=4 GoLabel dt=1 label_string=2 GoBlock dt=3975 reason_string=15 stack=5 GoUnblock dt=35 g=23 g_seq=5 stack=0 GoStart dt=6 g=23 g_seq=6 GoLabel dt=1 label_string=2 GoBlock dt=142 reason_string=15 stack=5 GoUnblock dt=9 g=23 g_seq=7 stack=0 GoStart dt=4 g=23 g_seq=8 GoLabel dt=1 label_string=2 GoBlock dt=3815 reason_string=15 stack=5 GoUnblock dt=10 g=23 g_seq=9 stack=0 GoStart dt=6 g=23 g_seq=10 GoLabel dt=1 label_string=2 GoBlock dt=3560 reason_string=15 stack=5 GoUnblock dt=8 g=23 g_seq=11 stack=0 GoStart dt=4 g=23 g_seq=12 GoLabel dt=3 label_string=2 GoBlock dt=2781 reason_string=15 stack=5 GoUnblock dt=13 g=23 g_seq=13 stack=0 GoStart dt=4 g=23 g_seq=14 GoLabel dt=1 label_string=2 GoBlock dt=1277 reason_string=15 stack=5 ProcStop dt=16 EventBatch gen=3 m=169435 time=28114950897148 size=522 ProcStatus dt=2 p=24 pstatus=1 GoStatus dt=2 g=122 m=169435 gstatus=2 GCMarkAssistActive dt=1 g=122 GCMarkAssistEnd dt=3 HeapAlloc dt=24 heapalloc_value=190602688 GCMarkAssistBegin dt=95 stack=3 GCMarkAssistEnd dt=4651 GCMarkAssistBegin dt=50 stack=3 GoBlock dt=2931 reason_string=13 stack=11 ProcStop dt=1401 ProcStart dt=18 p=24 p_seq=1 GoUnblock dt=3524 g=28 g_seq=5 stack=0 GoStart dt=10 g=28 g_seq=6 GoLabel dt=1 label_string=4 GoBlock dt=42 reason_string=15 stack=5 GoUnblock dt=1162 g=24 g_seq=11 stack=0 GoStart dt=7 g=24 g_seq=12 GoLabel dt=1 label_string=4 GoBlock dt=3050 reason_string=15 stack=5 GoUnblock dt=5301 g=67 g_seq=15 stack=0 GoStart dt=4 g=67 g_seq=16 GoLabel dt=1 label_string=4 GoBlock dt=40 reason_string=15 stack=5 ProcStop dt=64 ProcStart dt=841 p=24 p_seq=2 GoStatus dt=58 g=16 m=18446744073709551615 gstatus=4 GoUnblock dt=3 g=16 g_seq=1 stack=0 GoStart dt=273 g=16 g_seq=2 GoLabel dt=1 label_string=4 GoBlock dt=139 reason_string=15 stack=5 ProcStop dt=52 ProcStart dt=97 p=24 p_seq=3 GoUnblock dt=5 g=16 g_seq=3 stack=0 GoStart dt=2 g=16 g_seq=4 GoLabel dt=1 label_string=4 GoBlock dt=471 reason_string=15 stack=5 GoUnblock dt=58 g=16 g_seq=5 stack=0 GoStart dt=6 g=16 g_seq=6 GoLabel dt=3 label_string=4 GoBlock dt=912 reason_string=15 stack=5 GoUnblock dt=9 g=16 g_seq=7 stack=0 GoStart dt=6 g=16 g_seq=8 GoLabel dt=1 label_string=2 GoUnblock dt=6571 g=113 g_seq=5 stack=12 GoBlock dt=22 reason_string=15 stack=5 ProcStop dt=73 ProcStart dt=22914 p=30 p_seq=16 GoStart dt=342 g=117 g_seq=4 GCMarkAssistEnd dt=8 HeapAlloc dt=67 heapalloc_value=196467152 GoStop dt=5253 reason_string=16 stack=6 GoStart dt=44 g=128 g_seq=7 GCMarkAssistBegin dt=21 stack=3 GoBlock dt=37 reason_string=10 stack=18 GoStart dt=7 g=130 g_seq=5 GoBlock dt=182 reason_string=10 stack=20 ProcStop dt=81 ProcStart dt=8287 p=2 p_seq=2 GoStart dt=164 g=82 g_seq=11 GCMarkAssistEnd dt=8 HeapAlloc dt=169 heapalloc_value=104038048 HeapAlloc dt=135 heapalloc_value=104189856 HeapAlloc dt=126 heapalloc_value=104287136 HeapAlloc dt=24 heapalloc_value=104308256 HeapAlloc dt=28 heapalloc_value=104313888 HeapAlloc dt=14 heapalloc_value=104399904 GCSweepBegin dt=43 stack=28 GCSweepEnd dt=8 swept_value=8192 reclaimed_value=8192 HeapAlloc dt=4 heapalloc_value=104473632 HeapAlloc dt=58 heapalloc_value=104510496 HeapAlloc dt=22 heapalloc_value=104534432 HeapAlloc dt=51 heapalloc_value=104654624 GCSweepBegin dt=146 stack=28 GCSweepEnd dt=8 swept_value=24576 reclaimed_value=24576 HeapAlloc dt=4 heapalloc_value=104878624 HeapAlloc dt=42 heapalloc_value=105007648 HeapAlloc dt=29 heapalloc_value=105077280 HeapAlloc dt=36 heapalloc_value=105105952 HeapAlloc dt=44 heapalloc_value=105242784 HeapAlloc dt=58 heapalloc_value=105431200 HeapAlloc dt=128 heapalloc_value=105593760 HeapAlloc dt=199 heapalloc_value=106209440 GCSweepBegin dt=155 stack=28 GCSweepEnd dt=13 swept_value=32768 reclaimed_value=32768 HeapAlloc dt=3 heapalloc_value=106666272 HeapAlloc dt=77 heapalloc_value=106901152 HeapAlloc dt=64 heapalloc_value=107211808 HeapAlloc dt=133 heapalloc_value=107661088 HeapAlloc dt=34 heapalloc_value=107722528 HeapAlloc dt=108 heapalloc_value=108207392 GCSweepBegin dt=202 stack=28 GCSweepEnd dt=13 swept_value=32768 reclaimed_value=32768 HeapAlloc dt=3 heapalloc_value=108742816 HeapAlloc dt=112 heapalloc_value=109093664 HeapAlloc dt=207 heapalloc_value=109913120 HeapAlloc dt=271 heapalloc_value=110834560 HeapAlloc dt=212 heapalloc_value=111566720 HeapAlloc dt=148 heapalloc_value=112190720 HeapAlloc dt=74 heapalloc_value=112528128 HeapAlloc dt=143 heapalloc_value=113050240 HeapAlloc dt=19 heapalloc_value=113194368 HeapAlloc dt=135 heapalloc_value=113615232 GCSweepBegin dt=251 stack=27 EventBatch gen=3 m=169434 time=28114950909315 size=660 ProcStatus dt=2 p=7 pstatus=1 GoStatus dt=2 g=71 m=169434 gstatus=2 GoBlock dt=6 reason_string=15 stack=5 GoUnblock dt=2633 g=53 g_seq=7 stack=0 GoStart dt=7 g=53 g_seq=8 GoLabel dt=3 label_string=4 GoBlock dt=127 reason_string=15 stack=5 GoUnblock dt=1358 g=52 g_seq=15 stack=0 GoStart dt=7 g=52 g_seq=16 GoLabel dt=1 label_string=4 GoBlock dt=27 reason_string=15 stack=5 GoStart dt=1150 g=93 g_seq=4 GCMarkAssistEnd dt=7 HeapAlloc dt=39 heapalloc_value=191897024 GCMarkAssistBegin dt=27 stack=3 GoStop dt=894 reason_string=20 stack=9 GoStart dt=13 g=93 g_seq=5 GoBlock dt=150 reason_string=13 stack=11 ProcStop dt=57 ProcStart dt=14 p=7 p_seq=1 ProcStop dt=4205 ProcStart dt=18 p=7 p_seq=2 GoUnblock dt=4 g=22 g_seq=17 stack=0 GoStart dt=172 g=22 g_seq=18 GoLabel dt=1 label_string=4 GoBlock dt=1298 reason_string=15 stack=5 GoUnblock dt=12 g=22 g_seq=19 stack=0 GoStart dt=7 g=22 g_seq=20 GoLabel dt=1 label_string=2 GoBlock dt=108 reason_string=15 stack=5 GoUnblock dt=9 g=22 g_seq=21 stack=0 GoStart dt=4 g=22 g_seq=22 GoLabel dt=1 label_string=2 GoBlock dt=309 reason_string=15 stack=5 GoUnblock dt=19 g=57 g_seq=35 stack=0 GoStart dt=6 g=57 g_seq=36 GoLabel dt=1 label_string=2 GoBlock dt=26 reason_string=15 stack=5 GoUnblock dt=12 g=30 g_seq=15 stack=0 GoStart dt=4 g=30 g_seq=16 GoLabel dt=1 label_string=2 GoBlock dt=410 reason_string=15 stack=5 GoUnblock dt=2384 g=23 g_seq=37 stack=0 GoStart dt=7 g=23 g_seq=38 GoLabel dt=1 label_string=4 GoBlock dt=119 reason_string=15 stack=5 GoUnblock dt=58 g=25 g_seq=21 stack=0 GoStart dt=4 g=25 g_seq=22 GoLabel dt=1 label_string=4 GoBlock dt=1875 reason_string=15 stack=5 GoUnblock dt=53 g=29 g_seq=15 stack=0 GoStart dt=3 g=29 g_seq=16 GoLabel dt=1 label_string=4 GoBlock dt=133 reason_string=15 stack=5 GoUnblock dt=51 g=25 g_seq=25 stack=0 GoStart dt=5 g=25 g_seq=26 GoLabel dt=1 label_string=4 GoBlock dt=14 reason_string=15 stack=5 GoUnblock dt=42 g=25 g_seq=27 stack=0 GoStart dt=3 g=25 g_seq=28 GoLabel dt=1 label_string=4 GoBlock dt=56 reason_string=15 stack=5 GoUnblock dt=1741 g=24 g_seq=41 stack=0 GoStart dt=4 g=24 g_seq=42 GoLabel dt=3 label_string=2 GoBlock dt=15 reason_string=15 stack=5 GoUnblock dt=26 g=25 g_seq=31 stack=0 GoStart dt=4 g=25 g_seq=32 GoLabel dt=1 label_string=2 GoBlock dt=2653 reason_string=15 stack=5 GoUnblock dt=10 g=25 g_seq=33 stack=0 GoStart dt=6 g=25 g_seq=34 GoLabel dt=1 label_string=2 GoBlock dt=151 reason_string=15 stack=5 GoUnblock dt=37 g=25 g_seq=35 stack=0 GoStart dt=3 g=25 g_seq=36 GoLabel dt=1 label_string=4 GoBlock dt=12 reason_string=15 stack=5 GoUnblock dt=8 g=25 g_seq=37 stack=0 GoStart dt=3 g=25 g_seq=38 GoLabel dt=1 label_string=2 GoBlock dt=1197 reason_string=15 stack=5 GoUnblock dt=38 g=22 g_seq=43 stack=0 GoStart dt=7 g=22 g_seq=44 GoLabel dt=1 label_string=4 GoBlock dt=16 reason_string=15 stack=5 ProcStop dt=28 ProcStart dt=2728 p=7 p_seq=3 GoUnblock dt=10 g=25 g_seq=39 stack=0 GoStart dt=162 g=25 g_seq=40 GoLabel dt=2 label_string=2 GoBlock dt=36 reason_string=15 stack=5 GoUnblock dt=10 g=25 g_seq=41 stack=0 GoStart dt=4 g=25 g_seq=42 GoLabel dt=1 label_string=2 GoBlock dt=19 reason_string=15 stack=5 GoUnblock dt=7 g=25 g_seq=43 stack=0 GoStart dt=1 g=25 g_seq=44 GoLabel dt=1 label_string=2 GoUnblock dt=616 g=81 g_seq=6 stack=12 GoBlock dt=1549 reason_string=15 stack=5 GoStart dt=12 g=112 g_seq=5 GoBlock dt=22 reason_string=13 stack=11 GoStart dt=8 g=90 g_seq=4 GCMarkAssistEnd dt=3 HeapAlloc dt=2613 heapalloc_value=192625368 GoStop dt=48 reason_string=16 stack=6 GoUnblock dt=13 g=54 g_seq=35 stack=0 GoStart dt=4 g=54 g_seq=36 GoLabel dt=1 label_string=2 GoBlock dt=269 reason_string=15 stack=5 GoUnblock dt=6 g=54 g_seq=37 stack=0 GoStart dt=5 g=54 g_seq=38 GoLabel dt=1 label_string=2 GoBlock dt=856 reason_string=15 stack=5 GoUnblock dt=23 g=52 g_seq=61 stack=0 GoStart dt=4 g=52 g_seq=62 GoLabel dt=1 label_string=2 GoBlock dt=33 reason_string=15 stack=5 GoUnblock dt=13 g=52 g_seq=63 stack=0 GoStart dt=2 g=52 g_seq=64 GoLabel dt=1 label_string=2 GoBlock dt=38 reason_string=15 stack=5 GoUnblock dt=17 g=52 g_seq=65 stack=0 GoStart dt=3 g=52 g_seq=66 GoLabel dt=1 label_string=2 GoBlock dt=37 reason_string=15 stack=5 GoUnblock dt=11 g=52 g_seq=67 stack=0 GoStart dt=4 g=52 g_seq=68 GoLabel dt=1 label_string=2 GoBlock dt=2457 reason_string=15 stack=5 GoUnblock dt=11 g=52 g_seq=69 stack=0 GoStart dt=4 g=52 g_seq=70 GoLabel dt=1 label_string=2 GoBlock dt=9 reason_string=15 stack=5 GoStart dt=23 g=114 g_seq=4 GCMarkAssistEnd dt=457 HeapAlloc dt=223 heapalloc_value=194968280 GoStop dt=6900 reason_string=16 stack=4 GoStart dt=24 g=114 g_seq=5 GCMarkAssistBegin dt=86 stack=3 GoBlock dt=43 reason_string=10 stack=18 ProcStop dt=49 ProcStart dt=475 p=7 p_seq=4 ProcStop dt=40 ProcStart dt=1388 p=7 p_seq=5 GoUnblock dt=9 g=131 g_seq=8 stack=0 GoStart dt=169 g=131 g_seq=9 GoSyscallBegin dt=24 p_seq=6 stack=7 GoSyscallEnd dt=184 GoBlock dt=11 reason_string=15 stack=2 ProcStop dt=42 ProcStart dt=18109 p=16 p_seq=2 GoStart dt=176 g=91 g_seq=4 GCMarkAssistEnd dt=8 HeapAlloc dt=22 heapalloc_value=114837120 HeapAlloc dt=88 heapalloc_value=114853504 GCSweepBegin dt=145 stack=27 EventBatch gen=3 m=169433 time=28114950897465 size=806 ProcStatus dt=2 p=2 pstatus=1 GoStatus dt=1 g=24 m=169433 gstatus=2 GoBlock dt=9 reason_string=15 stack=5 GoUnblock dt=19 g=24 g_seq=1 stack=0 GoStart dt=5 g=24 g_seq=2 GoLabel dt=2 label_string=2 GoBlock dt=4044 reason_string=15 stack=5 GoUnblock dt=17 g=24 g_seq=3 stack=0 GoStart dt=4 g=24 g_seq=4 GoLabel dt=1 label_string=2 GoBlock dt=4262 reason_string=15 stack=5 GoUnblock dt=19 g=28 g_seq=3 stack=0 GoStart dt=4 g=28 g_seq=4 GoLabel dt=1 label_string=2 GoBlock dt=461 reason_string=15 stack=5 GoUnblock dt=4544 g=72 g_seq=15 stack=0 GoStart dt=9 g=72 g_seq=16 GoLabel dt=3 label_string=4 GoBlock dt=32 reason_string=15 stack=5 GoUnblock dt=9 g=72 g_seq=17 stack=0 GoStart dt=2 g=72 g_seq=18 GoLabel dt=2 label_string=2 GoBlock dt=13 reason_string=15 stack=5 GoUnblock dt=3 g=72 g_seq=19 stack=0 GoStart dt=1 g=72 g_seq=20 GoLabel dt=1 label_string=2 GoBlock dt=237 reason_string=15 stack=5 GoUnblock dt=8 g=72 g_seq=21 stack=0 GoStart dt=3 g=72 g_seq=22 GoLabel dt=1 label_string=2 GoBlock dt=151 reason_string=15 stack=5 GoUnblock dt=11 g=72 g_seq=23 stack=0 GoStart dt=6 g=72 g_seq=24 GoLabel dt=1 label_string=2 GoBlock dt=3418 reason_string=15 stack=5 ProcStop dt=1573 ProcStart dt=17 p=2 p_seq=1 ProcStop dt=1102 ProcStart dt=21668 p=19 p_seq=4 GoUnblock dt=16 g=51 g_seq=47 stack=0 GoStart dt=7 g=51 g_seq=48 GoLabel dt=1 label_string=2 GoBlock dt=60 reason_string=15 stack=5 GoUnblock dt=6 g=51 g_seq=49 stack=0 GoStart dt=1 g=51 g_seq=50 GoLabel dt=3 label_string=2 GoBlock dt=5166 reason_string=15 stack=5 GoStart dt=18 g=106 g_seq=5 GCMarkAssistEnd dt=10 HeapAlloc dt=56 heapalloc_value=193452760 GCMarkAssistBegin dt=116 stack=3 GCMarkAssistEnd dt=58 HeapAlloc dt=47 heapalloc_value=193714904 GoStop dt=54 reason_string=16 stack=6 GoUnblock dt=18 g=54 g_seq=41 stack=0 GoStart dt=4 g=54 g_seq=42 GoLabel dt=2 label_string=2 GoUnblock dt=16 g=105 g_seq=11 stack=12 GoBlock dt=21 reason_string=15 stack=5 GoStart dt=8 g=105 g_seq=12 GCMarkAssistEnd dt=7 HeapAlloc dt=33 heapalloc_value=193919704 GCMarkAssistBegin dt=13 stack=3 GCMarkAssistEnd dt=91 HeapAlloc dt=173 heapalloc_value=194378456 GCMarkAssistBegin dt=26 stack=3 GoBlock dt=37 reason_string=13 stack=11 GoStart dt=33 g=104 g_seq=2 GCMarkAssistEnd dt=5 HeapAlloc dt=81 heapalloc_value=194673368 GoStop dt=2248 reason_string=16 stack=6 GoStart dt=2855 g=104 g_seq=3 GCMarkAssistBegin dt=16 stack=3 GoBlock dt=27 reason_string=10 stack=18 GoStart dt=16 g=103 g_seq=5 GCMarkAssistEnd dt=6 HeapAlloc dt=6180 heapalloc_value=196655568 GoStop dt=14 reason_string=16 stack=6 GoStart dt=146 g=102 g_seq=5 GCMarkAssistBegin dt=10 stack=3 HeapAlloc dt=38 heapalloc_value=196663760 GoBlock dt=16 reason_string=10 stack=18 ProcStop dt=41 ProcStart dt=1317 p=19 p_seq=5 ProcStop dt=24 ProcStart dt=2117 p=0 p_seq=5 GoStart dt=5190 g=115 g_seq=10 GCMarkAssistEnd dt=6 GCSweepBegin dt=22 stack=27 GCSweepEnd dt=727 swept_value=71303168 reclaimed_value=1302272 HeapAlloc dt=37 heapalloc_value=103898784 HeapAlloc dt=200 heapalloc_value=103947936 HeapAlloc dt=63 heapalloc_value=103960224 HeapAlloc dt=27 heapalloc_value=103997088 HeapAlloc dt=65 heapalloc_value=104103584 HeapAlloc dt=87 heapalloc_value=104132512 HeapAlloc dt=63 heapalloc_value=104255392 HeapAlloc dt=87 heapalloc_value=104267680 HeapAlloc dt=73 heapalloc_value=104379424 HeapAlloc dt=79 heapalloc_value=104494112 GCSweepBegin dt=40 stack=28 GCSweepEnd dt=7 swept_value=16384 reclaimed_value=16384 HeapAlloc dt=8 heapalloc_value=104526880 HeapAlloc dt=27 heapalloc_value=104589088 HeapAlloc dt=42 heapalloc_value=104711968 HeapAlloc dt=83 heapalloc_value=104821280 GCSweepBegin dt=21 stack=28 GCSweepEnd dt=4 swept_value=32768 reclaimed_value=32768 HeapAlloc dt=2 heapalloc_value=104854048 HeapAlloc dt=105 heapalloc_value=105064992 GCSweepBegin dt=94 stack=28 GCSweepEnd dt=9 swept_value=8192 reclaimed_value=8192 HeapAlloc dt=4 heapalloc_value=105250976 GCSweepBegin dt=29 stack=28 GCSweepEnd dt=10 swept_value=16384 reclaimed_value=16384 HeapAlloc dt=4 heapalloc_value=105447584 HeapAlloc dt=30 heapalloc_value=105476256 HeapAlloc dt=57 heapalloc_value=105566368 GCSweepBegin dt=74 stack=28 GCSweepEnd dt=5 swept_value=32768 reclaimed_value=32768 HeapAlloc dt=3 heapalloc_value=105741216 HeapAlloc dt=77 heapalloc_value=105921440 HeapAlloc dt=76 heapalloc_value=106143904 HeapAlloc dt=50 heapalloc_value=106274976 HeapAlloc dt=113 heapalloc_value=106633504 HeapAlloc dt=110 heapalloc_value=107036320 HeapAlloc dt=95 heapalloc_value=107351072 HeapAlloc dt=80 heapalloc_value=107702048 GCSweepBegin dt=78 stack=28 GCSweepEnd dt=6 swept_value=24576 reclaimed_value=24576 HeapAlloc dt=2 heapalloc_value=107835936 HeapAlloc dt=39 heapalloc_value=107904288 HeapAlloc dt=82 heapalloc_value=108390432 HeapAlloc dt=230 heapalloc_value=108955808 HeapAlloc dt=126 heapalloc_value=109421344 GCSweepBegin dt=131 stack=28 GCSweepEnd dt=5 swept_value=16384 reclaimed_value=16384 HeapAlloc dt=3 heapalloc_value=109929504 GCSweepBegin dt=29 stack=28 GCSweepEnd dt=4 swept_value=8192 reclaimed_value=8192 HeapAlloc dt=3 heapalloc_value=110038816 HeapAlloc dt=28 heapalloc_value=110109472 HeapAlloc dt=93 heapalloc_value=110412672 HeapAlloc dt=33 heapalloc_value=110547840 HeapAlloc dt=123 heapalloc_value=111070848 GCSweepBegin dt=155 stack=28 GCSweepEnd dt=10 swept_value=16384 reclaimed_value=16384 HeapAlloc dt=3 heapalloc_value=111648640 GCSweepBegin dt=61 stack=28 GCSweepEnd dt=8 swept_value=24576 reclaimed_value=24576 HeapAlloc dt=3 heapalloc_value=111996800 GCSweepBegin dt=37 stack=28 GCSweepEnd dt=5 swept_value=16384 reclaimed_value=16384 HeapAlloc dt=8 heapalloc_value=112149760 HeapAlloc dt=32 heapalloc_value=112342272 GCSweepBegin dt=75 stack=28 GCSweepEnd dt=7 swept_value=16384 reclaimed_value=16384 HeapAlloc dt=5 heapalloc_value=112601856 HeapAlloc dt=61 heapalloc_value=112923264 HeapAlloc dt=90 heapalloc_value=113262720 HeapAlloc dt=88 heapalloc_value=113522304 HeapAlloc dt=119 heapalloc_value=113967488 HeapAlloc dt=59 heapalloc_value=114201216 GCSweepBegin dt=130 stack=27 EventBatch gen=3 m=169431 time=28114950897743 size=407 ProcStatus dt=2 p=11 pstatus=1 GoStatus dt=4 g=51 m=169431 gstatus=2 GoBlock dt=6 reason_string=15 stack=5 GoUnblock dt=13 g=51 g_seq=1 stack=0 GoStart dt=6 g=51 g_seq=2 GoLabel dt=1 label_string=2 GoBlock dt=4143 reason_string=15 stack=5 GoStatus dt=1425 g=28 m=18446744073709551615 gstatus=4 GoUnblock dt=2 g=28 g_seq=1 stack=0 GoStart dt=7 g=28 g_seq=2 GoLabel dt=1 label_string=4 GoBlock dt=1758 reason_string=15 stack=5 GoUnblock dt=3904 g=25 g_seq=9 stack=0 GoStart dt=9 g=25 g_seq=10 GoLabel dt=1 label_string=4 GoBlock dt=41 reason_string=15 stack=5 ProcStop dt=1189 ProcStart dt=16 p=11 p_seq=1 GoUnblock dt=1157 g=57 g_seq=21 stack=0 GoStart dt=6 g=57 g_seq=22 GoLabel dt=1 label_string=4 GoBlock dt=25 reason_string=15 stack=5 GoUnblock dt=1614 g=52 g_seq=13 stack=0 GoStart dt=11 g=52 g_seq=14 GoLabel dt=4 label_string=4 GoBlock dt=86 reason_string=15 stack=5 GoUnblock dt=4771 g=22 g_seq=11 stack=0 GoStart dt=12 g=22 g_seq=12 GoLabel dt=1 label_string=4 GoBlock dt=1413 reason_string=15 stack=5 GoUnblock dt=10 g=22 g_seq=13 stack=0 GoStart dt=4 g=22 g_seq=14 GoLabel dt=1 label_string=2 GoBlock dt=39 reason_string=15 stack=5 ProcStop dt=67 ProcStart dt=2286 p=11 p_seq=2 ProcStop dt=95 ProcStart dt=53 p=0 p_seq=2 GoUnblock dt=9 g=57 g_seq=33 stack=0 GoStart dt=8 g=57 g_seq=34 GoLabel dt=1 label_string=4 GoBlock dt=37 reason_string=15 stack=5 GoUnblock dt=20 g=22 g_seq=23 stack=0 GoStart dt=3 g=22 g_seq=24 GoLabel dt=1 label_string=2 GoBlock dt=1036 reason_string=15 stack=5 GoUnblock dt=11 g=22 g_seq=25 stack=0 GoStart dt=6 g=22 g_seq=26 GoLabel dt=1 label_string=2 GoBlock dt=2130 reason_string=15 stack=5 GoUnblock dt=11 g=22 g_seq=27 stack=0 GoStart dt=7 g=22 g_seq=28 GoLabel dt=2 label_string=2 GoBlock dt=1227 reason_string=15 stack=5 GoUnblock dt=12 g=22 g_seq=29 stack=0 GoStart dt=6 g=22 g_seq=30 GoLabel dt=1 label_string=2 GoBlock dt=31 reason_string=15 stack=5 GoUnblock dt=7 g=22 g_seq=31 stack=0 GoStart dt=2 g=22 g_seq=32 GoLabel dt=1 label_string=2 GoBlock dt=2282 reason_string=15 stack=5 GoUnblock dt=71 g=29 g_seq=33 stack=0 GoStart dt=4 g=29 g_seq=34 GoLabel dt=1 label_string=4 GoBlock dt=1234 reason_string=15 stack=5 GoUnblock dt=8 g=29 g_seq=35 stack=0 GoStart dt=8 g=29 g_seq=36 GoLabel dt=1 label_string=2 GoBlock dt=18 reason_string=15 stack=5 ProcStop dt=49 ProcStart dt=10623 p=11 p_seq=5 ProcStop dt=54 ProcStart dt=686 p=11 p_seq=6 GoStart dt=185 g=127 g_seq=5 GCMarkAssistBegin dt=71 stack=3 GoStop dt=67 reason_string=20 stack=9 GoUnblock dt=15 g=53 g_seq=47 stack=0 GoStart dt=3 g=53 g_seq=48 GoLabel dt=1 label_string=2 GoUnblock dt=661 g=121 g_seq=10 stack=12 GoUnblock dt=7 g=88 g_seq=5 stack=12 GoUnblock dt=8 g=87 g_seq=4 stack=12 GoUnblock dt=2751 g=94 g_seq=10 stack=12 GoUnblock dt=8 g=106 g_seq=7 stack=12 GoUnblock dt=8 g=98 g_seq=9 stack=12 GoBlock dt=18 reason_string=15 stack=5 GoStart dt=17 g=87 g_seq=5 GCMarkAssistEnd dt=5 HeapAlloc dt=202 heapalloc_value=194796248 GoStop dt=7327 reason_string=16 stack=6 GoStart dt=68 g=84 g_seq=8 GCMarkAssistBegin dt=16 stack=3 GoBlock dt=29 reason_string=13 stack=11 ProcStop dt=88 EventBatch gen=3 m=169428 time=28114950899204 size=756 ProcStatus dt=2 p=31 pstatus=1 GoStatus dt=5 g=104 m=169428 gstatus=2 GCMarkAssistActive dt=1 g=104 GCMarkAssistEnd dt=2 HeapAlloc dt=37 heapalloc_value=191110592 GCMarkAssistBegin dt=21 stack=3 GoBlock dt=2670 reason_string=13 stack=11 GoStatus dt=1400 g=22 m=18446744073709551615 gstatus=4 GoUnblock dt=3 g=22 g_seq=1 stack=0 GoStart dt=7 g=22 g_seq=2 GoLabel dt=1 label_string=4 GoBlock dt=43 reason_string=15 stack=5 GoUnblock dt=2567 g=70 g_seq=3 stack=0 GoStart dt=9 g=70 g_seq=4 GoLabel dt=1 label_string=4 GoBlock dt=329 reason_string=15 stack=5 GoUnblock dt=97 g=70 g_seq=5 stack=0 GoStart dt=5 g=70 g_seq=6 GoLabel dt=3 label_string=2 GoUnblock dt=1728 g=84 g_seq=3 stack=12 GoBlock dt=3527 reason_string=15 stack=5 GoStart dt=4132 g=114 g_seq=2 GoStatus dt=28 g=115 m=18446744073709551615 gstatus=4 GoUnblock dt=8 g=115 g_seq=1 stack=10 GCMarkAssistBegin dt=18 stack=3 GoBlock dt=196 reason_string=13 stack=11 GoStart dt=14 g=115 g_seq=2 GoStatus dt=18 g=102 m=18446744073709551615 gstatus=4 GoUnblock dt=3 g=102 g_seq=1 stack=10 GCMarkAssistBegin dt=13 stack=3 GoBlock dt=371 reason_string=13 stack=11 GoUnblock dt=9 g=30 g_seq=11 stack=0 GoStart dt=6 g=30 g_seq=12 GoLabel dt=1 label_string=2 GoBlock dt=5520 reason_string=15 stack=5 GoUnblock dt=8 g=30 g_seq=13 stack=0 GoStart dt=4 g=30 g_seq=14 GoLabel dt=1 label_string=2 GoBlock dt=28 reason_string=15 stack=5 GoUnblock dt=10 g=57 g_seq=37 stack=0 GoStart dt=3 g=57 g_seq=38 GoLabel dt=1 label_string=2 GoBlock dt=157 reason_string=15 stack=5 GoUnblock dt=7 g=57 g_seq=39 stack=0 GoStart dt=4 g=57 g_seq=40 GoLabel dt=1 label_string=2 GoBlock dt=140 reason_string=15 stack=5 GoUnblock dt=10 g=53 g_seq=25 stack=0 GoStart dt=3 g=53 g_seq=26 GoLabel dt=1 label_string=2 GoBlock dt=90 reason_string=15 stack=5 GoUnblock dt=62 g=53 g_seq=27 stack=0 GoStart dt=4 g=53 g_seq=28 GoLabel dt=1 label_string=4 GoBlock dt=11 reason_string=15 stack=5 GoUnblock dt=46 g=53 g_seq=29 stack=0 GoStart dt=7 g=53 g_seq=30 GoLabel dt=1 label_string=4 GoBlock dt=51 reason_string=15 stack=5 ProcStop dt=2236 ProcStart dt=966 p=35 p_seq=2 GoStart dt=19 g=81 g_seq=5 GCMarkAssistEnd dt=7 HeapAlloc dt=67 heapalloc_value=192133920 GCMarkAssistBegin dt=46 stack=3 GoBlock dt=32 reason_string=13 stack=11 ProcStop dt=57 ProcStart dt=15 p=35 p_seq=3 GoUnblock dt=2 g=69 g_seq=23 stack=0 GoStart dt=2 g=69 g_seq=24 GoLabel dt=1 label_string=4 GoBlock dt=224 reason_string=15 stack=5 GoUnblock dt=52 g=69 g_seq=25 stack=0 GoStart dt=3 g=69 g_seq=26 GoLabel dt=1 label_string=4 GoBlock dt=289 reason_string=15 stack=5 GoStart dt=23 g=118 g_seq=2 GCMarkAssistEnd dt=7 HeapAlloc dt=21 heapalloc_value=192207648 GCMarkAssistBegin dt=103 stack=3 GoBlock dt=18 reason_string=13 stack=11 GoUnblock dt=48 g=29 g_seq=13 stack=0 GoStart dt=1 g=29 g_seq=14 GoLabel dt=1 label_string=4 GoBlock dt=19 reason_string=15 stack=5 GoUnblock dt=44 g=25 g_seq=23 stack=0 GoStart dt=6 g=25 g_seq=24 GoLabel dt=1 label_string=4 GoBlock dt=144 reason_string=15 stack=5 GoUnblock dt=49 g=29 g_seq=17 stack=0 GoStart dt=1 g=29 g_seq=18 GoLabel dt=1 label_string=4 GoBlock dt=777 reason_string=15 stack=5 GoUnblock dt=56 g=52 g_seq=31 stack=0 GoStart dt=3 g=52 g_seq=32 GoLabel dt=1 label_string=4 GoBlock dt=21 reason_string=15 stack=5 GoUnblock dt=27 g=51 g_seq=33 stack=0 GoStart dt=5 g=51 g_seq=34 GoLabel dt=1 label_string=2 GoBlock dt=12 reason_string=15 stack=5 GoUnblock dt=13 g=51 g_seq=35 stack=0 GoStart dt=4 g=51 g_seq=36 GoLabel dt=1 label_string=2 GoBlock dt=226 reason_string=15 stack=5 GoUnblock dt=7 g=51 g_seq=37 stack=0 GoStart dt=4 g=51 g_seq=38 GoLabel dt=1 label_string=2 GoBlock dt=3928 reason_string=15 stack=5 GoUnblock dt=14 g=51 g_seq=39 stack=0 GoStart dt=3 g=51 g_seq=40 GoLabel dt=3 label_string=2 GoBlock dt=214 reason_string=15 stack=5 GoUnblock dt=5 g=51 g_seq=41 stack=0 GoStart dt=1 g=51 g_seq=42 GoLabel dt=1 label_string=2 GoBlock dt=305 reason_string=15 stack=5 GoUnblock dt=8 g=51 g_seq=43 stack=0 GoStart dt=5 g=51 g_seq=44 GoLabel dt=1 label_string=2 GoBlock dt=9 reason_string=15 stack=5 ProcStop dt=47 ProcStart dt=5058 p=35 p_seq=4 GoUnblock dt=20 g=52 g_seq=51 stack=0 GoStart dt=188 g=52 g_seq=52 GoLabel dt=1 label_string=2 GoBlock dt=33 reason_string=15 stack=5 GoUnblock dt=9 g=52 g_seq=53 stack=0 GoStart dt=4 g=52 g_seq=54 GoLabel dt=1 label_string=2 GoBlock dt=12 reason_string=15 stack=5 GoStart dt=14 g=126 g_seq=3 GCMarkAssistEnd dt=7 HeapAlloc dt=2068 heapalloc_value=192592600 GoStop dt=31 reason_string=16 stack=4 GoUnblock dt=10 g=30 g_seq=39 stack=0 GoStart dt=4 g=30 g_seq=40 GoLabel dt=1 label_string=2 GoBlock dt=54 reason_string=15 stack=5 GoStart dt=708 g=121 g_seq=9 GoBlock dt=49 reason_string=13 stack=11 GoStart dt=18 g=90 g_seq=5 GCMarkAssistBegin dt=12 stack=3 GoBlock dt=39 reason_string=13 stack=11 GoUnblock dt=15 g=71 g_seq=31 stack=0 GoStart dt=4 g=71 g_seq=32 GoLabel dt=2 label_string=2 GoBlock dt=1101 reason_string=15 stack=5 GoUnblock dt=13 g=71 g_seq=33 stack=0 GoStart dt=4 g=71 g_seq=34 GoLabel dt=1 label_string=2 GoBlock dt=27 reason_string=15 stack=5 GoUnblock dt=18 g=14 g_seq=54 stack=0 GoStart dt=4 g=14 g_seq=55 GoLabel dt=2 label_string=2 GoUnblock dt=2171 g=94 g_seq=8 stack=12 GoBlock dt=28 reason_string=15 stack=5 GoStart dt=11 g=94 g_seq=9 GCMarkAssistEnd dt=6 HeapAlloc dt=42 heapalloc_value=193665752 GCMarkAssistBegin dt=100 stack=3 GoBlock dt=30 reason_string=13 stack=11 GoStart dt=13 g=106 g_seq=6 HeapAlloc dt=99 heapalloc_value=193977048 GCMarkAssistBegin dt=21 stack=3 GoBlock dt=30 reason_string=13 stack=11 GoStart dt=16 g=92 g_seq=4 GCMarkAssistEnd dt=6 HeapAlloc dt=884 heapalloc_value=195205848 GoStop dt=3270 reason_string=16 stack=4 GoStart dt=29 g=97 g_seq=6 GCMarkAssistEnd dt=6 HeapAlloc dt=42 heapalloc_value=195795408 GCMarkAssistBegin dt=3026 stack=3 GoBlock dt=85 reason_string=10 stack=18 ProcStop dt=99 EventBatch gen=3 m=169426 time=28114950897488 size=116 ProcStatus dt=1 p=32 pstatus=1 GoStatus dt=2 g=90 m=169426 gstatus=2 GCMarkAssistActive dt=1 g=90 GCMarkAssistEnd dt=3 HeapAlloc dt=47 heapalloc_value=190627264 GCMarkAssistBegin dt=51 stack=3 GoBlock dt=2393 reason_string=13 stack=11 GoStart dt=1449 g=125 g_seq=2 GoStatus dt=26 g=127 m=18446744073709551615 gstatus=4 GoUnblock dt=16 g=127 g_seq=1 stack=10 GCMarkAssistBegin dt=17 stack=3 GoStop dt=6909 reason_string=20 stack=9 GoStart dt=20 g=125 g_seq=3 GoBlock dt=2101 reason_string=13 stack=11 GoUnblock dt=2575 g=71 g_seq=11 stack=0 GoStart dt=8 g=71 g_seq=12 GoLabel dt=3 label_string=4 GoBlock dt=44 reason_string=15 stack=5 GoStart dt=20 g=82 g_seq=7 GoBlock dt=367 reason_string=13 stack=11 GoUnblock dt=11 g=22 g_seq=9 stack=0 GoStart dt=4 g=22 g_seq=10 GoLabel dt=1 label_string=2 GoBlock dt=3492 reason_string=15 stack=5 ProcStop dt=9 EventBatch gen=3 m=169425 time=28114950900302 size=349 ProcStatus dt=2 p=10 pstatus=1 GoStatus dt=2 g=70 m=169425 gstatus=2 GoBlock dt=8 reason_string=15 stack=5 GoUnblock dt=15 g=70 g_seq=1 stack=0 GoStart dt=5 g=70 g_seq=2 GoLabel dt=1 label_string=2 GoBlock dt=5604 reason_string=15 stack=5 GoUnblock dt=33 g=29 g_seq=3 stack=0 GoStart dt=5 g=29 g_seq=4 GoLabel dt=1 label_string=2 GoBlock dt=1191 reason_string=15 stack=5 GoUnblock dt=9 g=29 g_seq=5 stack=0 GoStart dt=5 g=29 g_seq=6 GoLabel dt=2 label_string=2 GoBlock dt=1935 reason_string=15 stack=5 GoUnblock dt=15 g=51 g_seq=11 stack=0 GoStart dt=5 g=51 g_seq=12 GoLabel dt=1 label_string=2 GoBlock dt=307 reason_string=15 stack=5 ProcStop dt=4189 ProcStart dt=15 p=10 p_seq=1 GoUnblock dt=10 g=69 g_seq=17 stack=0 GoStart dt=4 g=69 g_seq=18 GoLabel dt=1 label_string=2 GoUnblock dt=780 g=93 g_seq=3 stack=12 GoBlock dt=6076 reason_string=15 stack=5 GoUnblock dt=11 g=69 g_seq=19 stack=0 GoStart dt=4 g=69 g_seq=20 GoLabel dt=3 label_string=2 GoUnblock dt=93 g=98 g_seq=5 stack=12 GoBlock dt=5034 reason_string=15 stack=5 GoUnblock dt=14 g=58 g_seq=25 stack=0 GoStart dt=5 g=58 g_seq=26 GoLabel dt=2 label_string=2 GoBlock dt=1253 reason_string=15 stack=5 GoUnblock dt=6 g=58 g_seq=27 stack=0 GoStart dt=4 g=58 g_seq=28 GoLabel dt=1 label_string=2 GoBlock dt=1031 reason_string=15 stack=5 GoUnblock dt=6 g=58 g_seq=29 stack=0 GoStart dt=4 g=58 g_seq=30 GoLabel dt=1 label_string=2 GoBlock dt=17 reason_string=15 stack=5 GoUnblock dt=24 g=52 g_seq=33 stack=0 GoStart dt=6 g=52 g_seq=34 GoLabel dt=1 label_string=2 GoBlock dt=321 reason_string=15 stack=5 GoUnblock dt=75 g=29 g_seq=27 stack=0 GoStart dt=4 g=29 g_seq=28 GoLabel dt=1 label_string=4 GoBlock dt=248 reason_string=15 stack=5 GoUnblock dt=61 g=57 g_seq=47 stack=0 GoStart dt=4 g=57 g_seq=48 GoLabel dt=1 label_string=4 GoBlock dt=794 reason_string=15 stack=5 ProcStop dt=41 ProcStart dt=15678 p=21 p_seq=3 GoStart dt=22 g=88 g_seq=6 GCMarkAssistEnd dt=9 HeapAlloc dt=84 heapalloc_value=194730712 GoStop dt=2177 reason_string=16 stack=6 GoStart dt=2495 g=88 g_seq=7 GCMarkAssistBegin dt=19 stack=3 GoBlock dt=37 reason_string=10 stack=18 GoStart dt=15 g=126 g_seq=6 GCMarkAssistEnd dt=5 HeapAlloc dt=27 heapalloc_value=196114896 GCMarkAssistBegin dt=18 stack=3 GoBlock dt=30 reason_string=10 stack=18 GoStart dt=15 g=98 g_seq=10 GCMarkAssistEnd dt=6 HeapAlloc dt=48 heapalloc_value=196155856 GoStop dt=6168 reason_string=16 stack=6 GoStart dt=156 g=98 g_seq=11 GCMarkAssistBegin dt=9 stack=3 GoBlock dt=27 reason_string=10 stack=18 GoStart dt=27 g=94 g_seq=12 GCMarkAssistBegin dt=13 stack=3 GoBlock dt=35 reason_string=10 stack=18 ProcStop dt=55 ProcStart dt=14725 p=13 p_seq=1 GoStart dt=171 g=112 g_seq=9 GCMarkAssistEnd dt=6 GCSweepBegin dt=222 stack=27 EventBatch gen=3 m=169424 time=28114950894869 size=176 ProcStatus dt=1 p=23 pstatus=3 GoStatus dt=2 g=131 m=169424 gstatus=3 GoSyscallEnd dt=1 GoBlock dt=64 reason_string=15 stack=2 GoUnblock dt=2260 g=67 g_seq=1 stack=0 GoStart dt=6 g=67 g_seq=2 GoLabel dt=2 label_string=4 GoBlock dt=530 reason_string=15 stack=5 GoUnblock dt=12 g=69 g_seq=3 stack=0 GoStart dt=5 g=69 g_seq=4 GoLabel dt=1 label_string=2 GoUnblock dt=2455 g=90 g_seq=1 stack=12 GoBlock dt=20 reason_string=15 stack=5 GoUnblock dt=16 g=69 g_seq=5 stack=0 GoStart dt=7 g=69 g_seq=6 GoLabel dt=1 label_string=2 GoUnblock dt=493 g=120 g_seq=2 stack=12 GoBlock dt=1777 reason_string=15 stack=5 GoUnblock dt=832 g=69 g_seq=7 stack=0 GoStart dt=9 g=69 g_seq=8 GoLabel dt=2 label_string=2 GoBlock dt=5425 reason_string=15 stack=5 GoUnblock dt=15 g=69 g_seq=9 stack=0 GoStart dt=4 g=69 g_seq=10 GoLabel dt=1 label_string=2 GoBlock dt=1370 reason_string=15 stack=5 ProcStop dt=2533 ProcStart dt=11 p=23 p_seq=1 GoUnblock dt=3354 g=54 g_seq=17 stack=0 GoStart dt=7 g=54 g_seq=18 GoLabel dt=1 label_string=4 GoBlock dt=29 reason_string=15 stack=5 GoUnblock dt=25 g=54 g_seq=19 stack=0 GoStart dt=5 g=54 g_seq=20 GoLabel dt=2 label_string=2 GoBlock dt=232 reason_string=15 stack=5 GoUnblock dt=11 g=54 g_seq=21 stack=0 GoStart dt=7 g=54 g_seq=22 GoLabel dt=1 label_string=2 GoBlock dt=293 reason_string=15 stack=5 ProcStop dt=11 EventBatch gen=3 m=169423 time=28114950894865 size=525 ProcStatus dt=2 p=30 pstatus=1 GoStatus dt=4 g=87 m=169423 gstatus=2 GCMarkAssistActive dt=1 g=87 GCMarkAssistEnd dt=2 HeapAlloc dt=98 heapalloc_value=189963712 GoStop dt=56 reason_string=16 stack=6 GoUnblock dt=20 g=131 g_seq=1 stack=0 GoStart dt=7 g=131 g_seq=2 GoSyscallBegin dt=39 p_seq=1 stack=7 GoSyscallEnd dt=304 GoSyscallBegin dt=19 p_seq=2 stack=7 GoSyscallEnd dt=59 GoSyscallBegin dt=15 p_seq=3 stack=7 GoSyscallEnd dt=52 GoSyscallBegin dt=11 p_seq=4 stack=7 GoSyscallEnd dt=50 GoSyscallBegin dt=8 p_seq=5 stack=7 GoSyscallEnd dt=48 GoSyscallBegin dt=10 p_seq=6 stack=7 GoSyscallEnd dt=54 GoSyscallBegin dt=13 p_seq=7 stack=7 GoSyscallEnd dt=51 GoSyscallBegin dt=12 p_seq=8 stack=7 GoSyscallEnd dt=49 GoSyscallBegin dt=16 p_seq=9 stack=7 GoSyscallEnd dt=245 GoSyscallBegin dt=12 p_seq=10 stack=7 GoSyscallEnd dt=49 GoSyscallBegin dt=10 p_seq=11 stack=7 GoSyscallEnd dt=49 GoSyscallBegin dt=10 p_seq=12 stack=7 GoSyscallEnd dt=48 GoSyscallBegin dt=6 p_seq=13 stack=7 GoSyscallEnd dt=52 GoStop dt=24 reason_string=16 stack=8 GoUnblock dt=9 g=14 g_seq=1 stack=0 GoStart dt=5 g=14 g_seq=2 GoLabel dt=1 label_string=2 GoUnblock dt=2948 g=107 g_seq=1 stack=12 GoBlock dt=2891 reason_string=15 stack=5 GoUnblock dt=11 g=14 g_seq=3 stack=0 GoStart dt=5 g=14 g_seq=4 GoLabel dt=1 label_string=2 GoBlock dt=1138 reason_string=15 stack=5 GoUnblock dt=22 g=51 g_seq=5 stack=0 GoStart dt=5 g=51 g_seq=6 GoLabel dt=1 label_string=2 GoUnblock dt=451 g=82 g_seq=3 stack=12 GoBlock dt=460 reason_string=15 stack=5 GoUnblock dt=4052 g=54 g_seq=5 stack=0 GoStart dt=11 g=54 g_seq=6 GoLabel dt=1 label_string=4 GoBlock dt=72 reason_string=15 stack=5 GoUnblock dt=1333 g=57 g_seq=15 stack=0 GoStart dt=8 g=57 g_seq=16 GoLabel dt=1 label_string=4 GoBlock dt=283 reason_string=15 stack=5 GoUnblock dt=1185 g=57 g_seq=19 stack=0 GoStart dt=7 g=57 g_seq=20 GoLabel dt=1 label_string=4 GoBlock dt=134 reason_string=15 stack=5 GoUnblock dt=1144 g=53 g_seq=11 stack=0 GoStart dt=6 g=53 g_seq=12 GoLabel dt=1 label_string=4 GoBlock dt=372 reason_string=15 stack=5 GoUnblock dt=16 g=53 g_seq=13 stack=0 GoStart dt=7 g=53 g_seq=14 GoLabel dt=1 label_string=2 GoBlock dt=8581 reason_string=15 stack=5 ProcStop dt=76 ProcStart dt=22 p=30 p_seq=14 GoUnblock dt=3 g=72 g_seq=31 stack=0 GoStart dt=7 g=72 g_seq=32 GoLabel dt=1 label_string=4 GoBlock dt=46 reason_string=15 stack=5 GoUnblock dt=63 g=23 g_seq=31 stack=0 GoStart dt=7 g=23 g_seq=32 GoLabel dt=1 label_string=4 GoBlock dt=34 reason_string=15 stack=5 GoUnblock dt=14 g=23 g_seq=33 stack=0 GoStart dt=4 g=23 g_seq=34 GoLabel dt=2 label_string=2 GoBlock dt=47 reason_string=15 stack=5 GoUnblock dt=74 g=53 g_seq=19 stack=0 GoStart dt=6 g=53 g_seq=20 GoLabel dt=1 label_string=4 GoBlock dt=154 reason_string=15 stack=5 GoStatus dt=91 g=56 m=18446744073709551615 gstatus=4 GoUnblock dt=2 g=56 g_seq=1 stack=0 GoStart dt=43 g=56 g_seq=2 GoLabel dt=1 label_string=4 GoBlock dt=45 reason_string=15 stack=5 GoUnblock dt=65 g=53 g_seq=23 stack=0 GoStart dt=8 g=53 g_seq=24 GoLabel dt=1 label_string=4 GoBlock dt=16 reason_string=15 stack=5 ProcStop dt=2526 ProcStart dt=208 p=30 p_seq=15 GoUnblock dt=8 g=53 g_seq=37 stack=0 GoStart dt=5 g=53 g_seq=38 GoLabel dt=1 label_string=4 GoBlock dt=694 reason_string=15 stack=5 GoUnblock dt=14 g=53 g_seq=39 stack=0 GoStart dt=4 g=53 g_seq=40 GoLabel dt=3 label_string=2 GoBlock dt=336 reason_string=15 stack=5 GoUnblock dt=52 g=53 g_seq=41 stack=0 GoStart dt=4 g=53 g_seq=42 GoLabel dt=1 label_string=4 GoUnblock dt=449 g=118 g_seq=1 stack=12 GoBlock dt=17 reason_string=15 stack=5 GoUnblock dt=65 g=24 g_seq=31 stack=0 GoStart dt=6 g=24 g_seq=32 GoLabel dt=2 label_string=4 GoBlock dt=56 reason_string=15 stack=5 GoUnblock dt=54 g=24 g_seq=33 stack=0 GoStart dt=5 g=24 g_seq=34 GoLabel dt=1 label_string=4 GoBlock dt=489 reason_string=15 stack=5 GoUnblock dt=9 g=24 g_seq=35 stack=0 GoStart dt=4 g=24 g_seq=36 GoLabel dt=1 label_string=2 GoBlock dt=1307 reason_string=15 stack=5 ProcStop dt=84 ProcStart dt=23944 p=15 p_seq=1 GoStart dt=174 g=108 g_seq=3 GCMarkAssistBegin dt=25 stack=3 GoBlock dt=59 reason_string=10 stack=18 ProcStop dt=71 EventBatch gen=3 m=169421 time=28114950900230 size=330 ProcStatus dt=1 p=33 pstatus=1 GoStatus dt=5 g=81 m=169421 gstatus=2 GCMarkAssistActive dt=3 g=81 GoBlock dt=7 reason_string=13 stack=11 GoStatus dt=1543 g=57 m=18446744073709551615 gstatus=4 GoUnblock dt=3 g=57 g_seq=1 stack=0 GoStart dt=10 g=57 g_seq=2 GoLabel dt=1 label_string=4 GoBlock dt=123 reason_string=15 stack=5 GoStatus dt=1345 g=58 m=18446744073709551615 gstatus=4 GoUnblock dt=3 g=58 g_seq=1 stack=0 GoStart dt=5 g=58 g_seq=2 GoLabel dt=1 label_string=4 GoBlock dt=154 reason_string=15 stack=5 GoUnblock dt=5938 g=54 g_seq=7 stack=0 GoStart dt=7 g=54 g_seq=8 GoLabel dt=1 label_string=4 GoBlock dt=93 reason_string=15 stack=5 GoStart dt=1331 g=97 g_seq=2 GoStatus dt=26 g=93 m=18446744073709551615 gstatus=4 GoUnblock dt=6 g=93 g_seq=1 stack=10 GCMarkAssistBegin dt=18 stack=3 GCMarkAssistEnd dt=1894 HeapAlloc dt=57 heapalloc_value=191872448 GCMarkAssistBegin dt=26 stack=3 GoBlock dt=46 reason_string=13 stack=11 GoUnblock dt=2442 g=52 g_seq=19 stack=0 GoStart dt=14 g=52 g_seq=20 GoLabel dt=1 label_string=4 GoBlock dt=767 reason_string=15 stack=5 ProcStop dt=2248 ProcStart dt=24 p=33 p_seq=1 GoUnblock dt=8 g=72 g_seq=27 stack=0 GoStart dt=7 g=72 g_seq=28 GoLabel dt=1 label_string=4 GoUnblock dt=172 g=119 g_seq=3 stack=12 GoBlock dt=1629 reason_string=15 stack=5 GoUnblock dt=71 g=28 g_seq=9 stack=0 GoStart dt=7 g=28 g_seq=10 GoLabel dt=1 label_string=4 GoBlock dt=276 reason_string=15 stack=5 GoUnblock dt=72 g=28 g_seq=11 stack=0 GoStart dt=4 g=28 g_seq=12 GoLabel dt=1 label_string=4 GoBlock dt=2016 reason_string=15 stack=5 GoUnblock dt=16 g=28 g_seq=13 stack=0 GoStart dt=7 g=28 g_seq=14 GoLabel dt=1 label_string=2 GoBlock dt=6712 reason_string=15 stack=5 ProcStop dt=63 ProcStart dt=20808 p=14 p_seq=1 GoStart dt=205 g=89 g_seq=7 GCMarkAssistEnd dt=10 HeapAlloc dt=64 heapalloc_value=196245968 GoStop dt=6073 reason_string=16 stack=6 GoStart dt=21 g=89 g_seq=8 GCMarkAssistBegin dt=15 stack=3 GoBlock dt=38 reason_string=10 stack=18 ProcStop dt=129 ProcStart dt=13557 p=11 p_seq=7 GoStart dt=202 g=116 g_seq=12 GCMarkAssistEnd dt=10 GCSweepBegin dt=25 stack=28 GCSweepEnd dt=12 swept_value=32768 reclaimed_value=32768 HeapAlloc dt=3 heapalloc_value=114760576 GCSweepBegin dt=70 stack=28 GCSweepEnd dt=5 swept_value=24576 reclaimed_value=24576 HeapAlloc dt=1 heapalloc_value=114785152 GCSweepBegin dt=353 stack=27 EventBatch gen=3 m=169420 time=28114950896337 size=112 ProcStatus dt=2 p=17 pstatus=1 GoStatus dt=1 g=84 m=169420 gstatus=2 GCMarkAssistActive dt=1 g=84 GCMarkAssistEnd dt=3 HeapAlloc dt=20 heapalloc_value=190365120 GCMarkAssistBegin dt=42 stack=3 GoStop dt=861 reason_string=20 stack=9 GoStart dt=142 g=126 g_seq=1 GoBlock dt=2538 reason_string=13 stack=11 GoUnblock dt=1653 g=30 g_seq=1 stack=0 GoStart dt=7 g=30 g_seq=2 GoLabel dt=2 label_string=4 GoBlock dt=6064 reason_string=15 stack=5 GoUnblock dt=1633 g=25 g_seq=11 stack=0 GoStart dt=8 g=25 g_seq=12 GoLabel dt=1 label_string=4 GoBlock dt=4927 reason_string=15 stack=5 GoUnblock dt=3569 g=67 g_seq=11 stack=0 GoStart dt=7 g=67 g_seq=12 GoLabel dt=1 label_string=4 GoBlock dt=1289 reason_string=15 stack=5 GoUnblock dt=73 g=67 g_seq=13 stack=0 GoStart dt=4 g=67 g_seq=14 GoLabel dt=1 label_string=4 GoBlock dt=46 reason_string=15 stack=5 ProcStop dt=52 EventBatch gen=3 m=169419 time=28114950898971 size=132 ProcStatus dt=2 p=13 pstatus=1 GoStatus dt=2 g=30 m=169419 gstatus=2 GoBlock dt=7 reason_string=15 stack=5 GoUnblock dt=2697 g=72 g_seq=1 stack=0 GoStart dt=8 g=72 g_seq=2 GoLabel dt=1 label_string=4 GoBlock dt=969 reason_string=15 stack=5 GoStart dt=2978 g=95 g_seq=2 GoStatus dt=32 g=88 m=18446744073709551615 gstatus=4 GoUnblock dt=7 g=88 g_seq=1 stack=10 GCMarkAssistBegin dt=18 stack=3 GoStop dt=1258 reason_string=20 stack=9 GoStart dt=17 g=88 g_seq=2 GoStatus dt=27 g=113 m=18446744073709551615 gstatus=4 GoUnblock dt=5 g=113 g_seq=1 stack=10 GCMarkAssistBegin dt=12 stack=3 GoStop dt=1797 reason_string=20 stack=9 GoStart dt=18 g=88 g_seq=3 GoStop dt=2883 reason_string=20 stack=9 GoUnblock dt=14 g=70 g_seq=7 stack=0 GoStart dt=5 g=70 g_seq=8 GoLabel dt=3 label_string=2 GoBlock dt=5294 reason_string=15 stack=5 GoStart dt=14 g=123 g_seq=5 GoBlock dt=18 reason_string=13 stack=11 ProcStop dt=16 EventBatch gen=3 m=169418 time=28114950895095 size=398 ProcStatus dt=1 p=35 pstatus=2 ProcStart dt=2 p=35 p_seq=1 GoStart dt=38 g=87 g_seq=1 HeapAlloc dt=103 heapalloc_value=190086592 GCMarkAssistBegin dt=64 stack=3 GCMarkAssistEnd dt=3228 HeapAlloc dt=76 heapalloc_value=190995904 GCMarkAssistBegin dt=149 stack=3 GoBlock dt=3823 reason_string=13 stack=11 GoStart dt=1406 g=82 g_seq=4 GCMarkAssistEnd dt=12 HeapAlloc dt=82 heapalloc_value=191618496 GCMarkAssistBegin dt=75 stack=3 GoStop dt=4342 reason_string=20 stack=9 GoStart dt=17 g=82 g_seq=5 GoStop dt=987 reason_string=20 stack=9 GoStart dt=26 g=82 g_seq=6 GoStop dt=3601 reason_string=20 stack=9 GoUnblock dt=14 g=58 g_seq=17 stack=0 GoStart dt=3 g=58 g_seq=18 GoLabel dt=3 label_string=2 GoBlock dt=1524 reason_string=15 stack=5 GoUnblock dt=23 g=25 g_seq=15 stack=0 GoStart dt=8 g=25 g_seq=16 GoLabel dt=3 label_string=2 GoBlock dt=7942 reason_string=15 stack=5 ProcStop dt=2920 ProcStart dt=69 p=31 p_seq=1 GoUnblock dt=7 g=67 g_seq=25 stack=0 GoStart dt=5 g=67 g_seq=26 GoLabel dt=1 label_string=4 GoBlock dt=1990 reason_string=15 stack=5 GoUnblock dt=110 g=67 g_seq=29 stack=0 GoStart dt=6 g=67 g_seq=30 GoLabel dt=1 label_string=4 GoBlock dt=39 reason_string=15 stack=5 GoUnblock dt=64 g=52 g_seq=29 stack=0 GoStart dt=1 g=52 g_seq=30 GoLabel dt=1 label_string=4 GoBlock dt=40 reason_string=15 stack=5 GoUnblock dt=72 g=29 g_seq=19 stack=0 GoStart dt=7 g=29 g_seq=20 GoLabel dt=1 label_string=4 GoBlock dt=65 reason_string=15 stack=5 GoUnblock dt=1007 g=23 g_seq=43 stack=0 GoStart dt=8 g=23 g_seq=44 GoLabel dt=1 label_string=4 GoBlock dt=1633 reason_string=15 stack=5 GoUnblock dt=7 g=23 g_seq=45 stack=0 GoStart dt=160 g=23 g_seq=46 GoLabel dt=1 label_string=2 GoBlock dt=16 reason_string=15 stack=5 ProcStop dt=31 ProcStart dt=8279 p=26 p_seq=2 GoStart dt=216 g=103 g_seq=3 GCMarkAssistBegin dt=19 stack=3 GoBlock dt=41 reason_string=13 stack=11 GoUnblock dt=11 g=25 g_seq=47 stack=0 GoStart dt=3 g=25 g_seq=48 GoLabel dt=1 label_string=2 GoBlock dt=1274 reason_string=15 stack=5 ProcStop dt=46 ProcStart dt=1294 p=26 p_seq=3 GoStart dt=164 g=127 g_seq=6 GoStop dt=45 reason_string=20 stack=9 GoStart dt=17 g=127 g_seq=7 GCMarkAssistEnd dt=1921 GoStop dt=49 reason_string=16 stack=17 GoUnblock dt=17 g=22 g_seq=59 stack=0 GoStart dt=8 g=22 g_seq=60 GoLabel dt=1 label_string=2 GoBlock dt=75 reason_string=15 stack=5 GoStart dt=44 g=83 g_seq=7 GCMarkAssistEnd dt=4 GCMarkAssistBegin dt=50 stack=3 GCMarkAssistEnd dt=27 HeapAlloc dt=55 heapalloc_value=193551064 GoStop dt=47 reason_string=16 stack=4 GoStart dt=30 g=84 g_seq=7 HeapAlloc dt=82 heapalloc_value=193772248 HeapAlloc dt=291 heapalloc_value=194239192 HeapAlloc dt=198 heapalloc_value=194493144 HeapAlloc dt=7678 heapalloc_value=196524496 GoStop dt=18 reason_string=16 stack=6 ProcStop dt=218 ProcStart dt=2082 p=26 p_seq=4 ProcStop dt=68 ProcStart dt=16818 p=14 p_seq=2 GoStart dt=242 g=118 g_seq=7 GCMarkAssistEnd dt=8 GCSweepBegin dt=32 stack=28 GCSweepEnd dt=11 swept_value=24576 reclaimed_value=24576 HeapAlloc dt=3 heapalloc_value=114809728 GCSweepBegin dt=279 stack=27 EventBatch gen=3 m=169417 time=28114950894785 size=650 ProcStatus dt=2 p=18 pstatus=1 GoStatus dt=2 g=120 m=169417 gstatus=2 GCMarkAssistActive dt=1 g=120 GCMarkAssistEnd dt=2 HeapAlloc dt=26 heapalloc_value=189767104 GoStop dt=131 reason_string=16 stack=4 GoStart dt=59 g=120 g_seq=1 HeapAlloc dt=138 heapalloc_value=190045632 GCMarkAssistBegin dt=31 stack=3 GCMarkAssistEnd dt=3339 HeapAlloc dt=63 heapalloc_value=190938560 GCMarkAssistBegin dt=150 stack=3 GoBlock dt=270 reason_string=13 stack=11 GoUnblock dt=4058 g=57 g_seq=3 stack=0 GoStart dt=7 g=57 g_seq=4 GoLabel dt=1 label_string=4 GoBlock dt=902 reason_string=15 stack=5 GoUnblock dt=4049 g=30 g_seq=3 stack=0 GoStart dt=8 g=30 g_seq=4 GoLabel dt=1 label_string=4 GoBlock dt=521 reason_string=15 stack=5 GoUnblock dt=1581 g=57 g_seq=17 stack=0 GoStart dt=11 g=57 g_seq=18 GoLabel dt=3 label_string=4 GoBlock dt=37 reason_string=15 stack=5 GoUnblock dt=14 g=69 g_seq=11 stack=0 GoStart dt=4 g=69 g_seq=12 GoLabel dt=3 label_string=2 GoBlock dt=543 reason_string=15 stack=5 GoUnblock dt=10 g=69 g_seq=13 stack=0 GoStart dt=6 g=69 g_seq=14 GoLabel dt=1 label_string=2 GoBlock dt=1813 reason_string=15 stack=5 ProcStop dt=2875 ProcStart dt=28 p=18 p_seq=1 GoUnblock dt=1296 g=54 g_seq=23 stack=0 GoStart dt=7 g=54 g_seq=24 GoLabel dt=1 label_string=4 GoBlock dt=1516 reason_string=15 stack=5 GoUnblock dt=7 g=54 g_seq=25 stack=0 GoStart dt=5 g=54 g_seq=26 GoLabel dt=1 label_string=2 GoBlock dt=6851 reason_string=15 stack=5 GoUnblock dt=71 g=72 g_seq=41 stack=0 GoStart dt=5 g=72 g_seq=42 GoLabel dt=1 label_string=4 GoBlock dt=21 reason_string=15 stack=5 GoUnblock dt=5 g=72 g_seq=43 stack=0 GoStart dt=3 g=72 g_seq=44 GoLabel dt=1 label_string=2 GoBlock dt=62 reason_string=15 stack=5 GoUnblock dt=19 g=72 g_seq=45 stack=0 GoStart dt=4 g=72 g_seq=46 GoLabel dt=1 label_string=2 GoBlock dt=3727 reason_string=15 stack=5 ProcStop dt=69 ProcStart dt=21 p=18 p_seq=2 GoUnblock dt=10 g=70 g_seq=15 stack=0 GoStart dt=3 g=70 g_seq=16 GoLabel dt=1 label_string=4 GoBlock dt=14 reason_string=15 stack=5 GoUnblock dt=49 g=70 g_seq=17 stack=0 GoStart dt=3 g=70 g_seq=18 GoLabel dt=1 label_string=4 GoBlock dt=2314 reason_string=15 stack=5 ProcStop dt=46 ProcStart dt=1398 p=18 p_seq=3 ProcStop dt=38 ProcStart dt=4183 p=18 p_seq=4 GoStart dt=183 g=96 g_seq=4 GCMarkAssistEnd dt=9 HeapAlloc dt=36 heapalloc_value=192305952 GCMarkAssistBegin dt=28 stack=3 GoBlock dt=1320 reason_string=13 stack=11 GoUnblock dt=15 g=25 g_seq=45 stack=0 GoStart dt=7 g=25 g_seq=46 GoLabel dt=1 label_string=2 GoBlock dt=600 reason_string=15 stack=5 GoStart dt=13 g=89 g_seq=5 GCMarkAssistBegin dt=11 stack=3 GoBlock dt=112 reason_string=13 stack=11 GoStart dt=14 g=121 g_seq=8 GoStop dt=1488 reason_string=20 stack=9 GoUnblock dt=16 g=25 g_seq=49 stack=0 GoStart dt=7 g=25 g_seq=50 GoLabel dt=2 label_string=2 GoUnblock dt=1803 g=115 g_seq=6 stack=12 GoUnblock dt=5 g=93 g_seq=6 stack=12 GoUnblock dt=6 g=85 g_seq=5 stack=12 GoUnblock dt=3 g=104 g_seq=1 stack=12 GoUnblock dt=6 g=108 g_seq=1 stack=12 GoUnblock dt=4 g=120 g_seq=4 stack=12 GoUnblock dt=4 g=126 g_seq=5 stack=12 GoUnblock dt=7 g=114 g_seq=3 stack=12 GoUnblock dt=5 g=86 g_seq=4 stack=12 GoUnblock dt=4 g=110 g_seq=3 stack=12 GoBlock dt=14 reason_string=15 stack=5 GoUnblock dt=7 g=25 g_seq=51 stack=0 GoStart dt=1 g=25 g_seq=52 GoLabel dt=1 label_string=2 GoBlock dt=12 reason_string=15 stack=5 GoStart dt=8 g=115 g_seq=7 GCMarkAssistEnd dt=6 HeapAlloc dt=32 heapalloc_value=192838360 GCMarkAssistBegin dt=55 stack=3 GoStop dt=1501 reason_string=20 stack=9 GoUnblock dt=18 g=51 g_seq=51 stack=0 GoStart dt=6 g=51 g_seq=52 GoLabel dt=1 label_string=2 GoUnblock dt=1117 g=105 g_seq=13 stack=12 GoBlock dt=8 reason_string=15 stack=5 GoStart dt=8 g=105 g_seq=14 GCMarkAssistEnd dt=6 GCMarkAssistBegin dt=27 stack=3 GoBlock dt=13 reason_string=13 stack=11 GoStart dt=7 g=86 g_seq=5 GCMarkAssistEnd dt=6 HeapAlloc dt=12 heapalloc_value=195148504 GCMarkAssistBegin dt=65 stack=3 HeapAlloc dt=22 heapalloc_value=195214040 GoBlock dt=17 reason_string=10 stack=18 GoStart dt=2881 g=124 g_seq=5 HeapAlloc dt=35 heapalloc_value=195517144 HeapAlloc dt=15 heapalloc_value=195566296 HeapAlloc dt=61 heapalloc_value=195574224 HeapAlloc dt=16 heapalloc_value=195631568 GCMarkAssistBegin dt=23 stack=3 GoBlock dt=34 reason_string=10 stack=18 GoStart dt=14 g=90 g_seq=7 GCMarkAssistEnd dt=5 HeapAlloc dt=4 heapalloc_value=195697104 GCMarkAssistBegin dt=58 stack=3 GoBlock dt=15 reason_string=10 stack=18 GoStart dt=10 g=96 g_seq=6 GCMarkAssistEnd dt=3 GCMarkAssistBegin dt=37 stack=3 GoBlock dt=16 reason_string=13 stack=11 GoStart dt=14 g=92 g_seq=5 GCMarkAssistBegin dt=75 stack=3 GoBlock dt=25 reason_string=10 stack=18 GoStart dt=9 g=119 g_seq=6 GCMarkAssistEnd dt=5 HeapAlloc dt=20 heapalloc_value=195926480 GCMarkAssistBegin dt=19 stack=3 GoBlock dt=14 reason_string=10 stack=18 GoStart dt=9 g=85 g_seq=6 GCMarkAssistEnd dt=3 HeapAlloc dt=38 heapalloc_value=195983824 GoStop dt=5763 reason_string=16 stack=6 GoStart dt=15 g=85 g_seq=7 GCMarkAssistBegin dt=6 stack=3 GoBlock dt=21 reason_string=10 stack=18 ProcStop dt=46 ProcStart dt=17429 p=15 p_seq=2 GoStart dt=180 g=3 g_seq=2 EventBatch gen=3 m=169416 time=28114950894874 size=516 ProcStatus dt=2 p=26 pstatus=1 GoStatus dt=1 g=98 m=169416 gstatus=2 GCMarkAssistActive dt=1 g=98 GCMarkAssistEnd dt=2 HeapAlloc dt=136 heapalloc_value=190004672 GoStop dt=29 reason_string=16 stack=4 GoStart dt=29 g=86 g_seq=1 GCMarkAssistBegin dt=75 stack=3 GCMarkAssistEnd dt=8456 HeapAlloc dt=48 heapalloc_value=191569344 GoStop dt=32 reason_string=16 stack=4 GoStart dt=19 g=86 g_seq=2 GCMarkAssistBegin dt=73 stack=3 GoStop dt=324 reason_string=20 stack=9 GoStart dt=11 g=116 g_seq=3 GoStop dt=270 reason_string=20 stack=9 GoUnblock dt=14 g=51 g_seq=7 stack=0 GoStart dt=4 g=51 g_seq=8 GoLabel dt=3 label_string=2 GoBlock dt=4139 reason_string=15 stack=5 GoUnblock dt=9 g=51 g_seq=9 stack=0 GoStart dt=6 g=51 g_seq=10 GoLabel dt=1 label_string=2 GoBlock dt=564 reason_string=15 stack=5 GoUnblock dt=12 g=29 g_seq=7 stack=0 GoStart dt=4 g=29 g_seq=8 GoLabel dt=1 label_string=2 GoBlock dt=13475 reason_string=15 stack=5 ProcStop dt=61 ProcStart dt=17 p=26 p_seq=1 GoUnblock dt=6 g=53 g_seq=31 stack=0 GoStart dt=3 g=53 g_seq=32 GoLabel dt=1 label_string=4 GoBlock dt=18 reason_string=15 stack=5 GoUnblock dt=6 g=53 g_seq=33 stack=0 GoStart dt=4 g=53 g_seq=34 GoLabel dt=1 label_string=2 GoBlock dt=2291 reason_string=15 stack=5 GoUnblock dt=8 g=53 g_seq=35 stack=0 GoStart dt=4 g=53 g_seq=36 GoLabel dt=1 label_string=2 GoBlock dt=32 reason_string=15 stack=5 GoUnblock dt=68 g=29 g_seq=9 stack=0 GoStart dt=4 g=29 g_seq=10 GoLabel dt=1 label_string=4 GoBlock dt=796 reason_string=15 stack=5 GoUnblock dt=60 g=29 g_seq=11 stack=0 GoStart dt=4 g=29 g_seq=12 GoLabel dt=1 label_string=4 GoBlock dt=643 reason_string=15 stack=5 GoUnblock dt=61 g=53 g_seq=43 stack=0 GoStart dt=4 g=53 g_seq=44 GoLabel dt=1 label_string=4 GoBlock dt=3485 reason_string=15 stack=5 GoUnblock dt=10 g=53 g_seq=45 stack=0 GoStart dt=5 g=53 g_seq=46 GoLabel dt=1 label_string=2 GoBlock dt=14 reason_string=15 stack=5 ProcStop dt=38 ProcStart dt=9443 p=0 p_seq=3 GoStart dt=226 g=115 g_seq=5 GoBlock dt=168 reason_string=13 stack=11 GoUnblock dt=11 g=30 g_seq=37 stack=0 GoStart dt=6 g=30 g_seq=38 GoLabel dt=1 label_string=2 GoBlock dt=67 reason_string=15 stack=5 ProcStop dt=46 ProcStart dt=1842 p=25 p_seq=6 GoUnblock dt=12 g=29 g_seq=37 stack=0 GoStart dt=5 g=29 g_seq=38 GoLabel dt=1 label_string=2 GoBlock dt=2260 reason_string=15 stack=5 GoUnblock dt=16 g=29 g_seq=39 stack=0 GoStart dt=4 g=29 g_seq=40 GoLabel dt=1 label_string=2 GoBlock dt=19 reason_string=15 stack=5 GoStart dt=34 g=99 g_seq=4 GCMarkAssistEnd dt=7 HeapAlloc dt=55 heapalloc_value=193501912 GoStop dt=29 reason_string=16 stack=4 GoUnblock dt=18 g=29 g_seq=41 stack=0 GoStart dt=7 g=29 g_seq=42 GoLabel dt=1 label_string=2 GoBlock dt=10 reason_string=15 stack=5 GoUnblock dt=14 g=29 g_seq=43 stack=0 GoStart dt=4 g=29 g_seq=44 GoLabel dt=1 label_string=2 GoBlock dt=40 reason_string=15 stack=5 GoStart dt=16 g=111 g_seq=6 GoBlock dt=37 reason_string=13 stack=11 GoStart dt=13 g=125 g_seq=6 GCMarkAssistBegin dt=13 stack=3 GoBlock dt=34 reason_string=13 stack=11 GoStart dt=23 g=115 g_seq=8 GoBlock dt=61 reason_string=13 stack=11 GoStart dt=27 g=120 g_seq=5 GCMarkAssistEnd dt=12 HeapAlloc dt=82 heapalloc_value=194067160 GoStop dt=22 reason_string=16 stack=4 GoStart dt=10 g=93 g_seq=7 GCMarkAssistEnd dt=4 HeapAlloc dt=663 heapalloc_value=194992856 GCMarkAssistBegin dt=23 stack=3 GoBlock dt=12 reason_string=13 stack=11 GoStart dt=11 g=99 g_seq=7 GCMarkAssistEnd dt=5 HeapAlloc dt=4741 heapalloc_value=196180432 GoStop dt=10 reason_string=16 stack=6 GoStart dt=19 g=99 g_seq=8 GCMarkAssistBegin dt=8 stack=3 GoBlock dt=18 reason_string=10 stack=18 GoStart dt=9 g=100 g_seq=4 GCMarkAssistEnd dt=5 HeapAlloc dt=101 heapalloc_value=196295120 GoStop dt=6074 reason_string=16 stack=6 GoStart dt=49 g=100 g_seq=5 GCMarkAssistBegin dt=10 stack=3 GoBlock dt=32 reason_string=13 stack=11 ProcStop dt=67 ProcStart dt=12947 p=10 p_seq=3 GoStart dt=200 g=86 g_seq=7 GoUnblock dt=38 g=124 g_seq=6 stack=30 GCMarkAssistEnd dt=5 HeapAlloc dt=90 heapalloc_value=113809792 HeapAlloc dt=112 heapalloc_value=114160256 GCSweepBegin dt=694 stack=31 EventBatch gen=3 m=169415 time=28114950903030 size=633 ProcStatus dt=1 p=28 pstatus=1 GoStatus dt=3 g=91 m=169415 gstatus=2 GCMarkAssistActive dt=1 g=91 GCMarkAssistEnd dt=2 HeapAlloc dt=29 heapalloc_value=191479232 GCMarkAssistBegin dt=84 stack=3 GoBlock dt=82 reason_string=13 stack=11 GoStart dt=4920 g=113 g_seq=2 GoStatus dt=31 g=123 m=18446744073709551615 gstatus=4 GoUnblock dt=10 g=123 g_seq=1 stack=10 GCMarkAssistBegin dt=14 stack=3 GoStop dt=1855 reason_string=20 stack=9 GoStart dt=15 g=113 g_seq=3 GoStop dt=352 reason_string=20 stack=9 GoStart dt=13 g=113 g_seq=4 GoBlock dt=261 reason_string=13 stack=11 GoUnblock dt=3404 g=52 g_seq=17 stack=0 GoStart dt=7 g=52 g_seq=18 GoLabel dt=1 label_string=4 GoBlock dt=1025 reason_string=15 stack=5 GoUnblock dt=4703 g=67 g_seq=17 stack=0 GoStart dt=8 g=67 g_seq=18 GoLabel dt=1 label_string=4 GoBlock dt=1418 reason_string=15 stack=5 GoUnblock dt=72 g=23 g_seq=29 stack=0 GoStart dt=4 g=23 g_seq=30 GoLabel dt=1 label_string=4 GoBlock dt=307 reason_string=15 stack=5 GoUnblock dt=85 g=72 g_seq=33 stack=0 GoStart dt=5 g=72 g_seq=34 GoLabel dt=3 label_string=4 GoBlock dt=30 reason_string=15 stack=5 GoStatus dt=168 g=68 m=18446744073709551615 gstatus=4 GoUnblock dt=2 g=68 g_seq=1 stack=0 GoStart dt=64 g=68 g_seq=2 GoLabel dt=1 label_string=4 GoBlock dt=55 reason_string=15 stack=5 GoUnblock dt=10 g=68 g_seq=3 stack=0 GoStart dt=3 g=68 g_seq=4 GoLabel dt=2 label_string=2 GoBlock dt=327 reason_string=15 stack=5 ProcStop dt=80 ProcStart dt=25 p=28 p_seq=1 GoUnblock dt=7 g=30 g_seq=17 stack=0 GoStart dt=4 g=30 g_seq=18 GoLabel dt=3 label_string=4 GoBlock dt=2630 reason_string=15 stack=5 GoUnblock dt=28 g=72 g_seq=39 stack=0 GoStart dt=12 g=72 g_seq=40 GoLabel dt=1 label_string=2 GoBlock dt=21 reason_string=15 stack=5 GoUnblock dt=77 g=30 g_seq=19 stack=0 GoStart dt=10 g=30 g_seq=20 GoLabel dt=1 label_string=4 GoBlock dt=3781 reason_string=15 stack=5 GoUnblock dt=15 g=30 g_seq=21 stack=0 GoStart dt=5 g=30 g_seq=22 GoLabel dt=1 label_string=2 GoBlock dt=2537 reason_string=15 stack=5 GoUnblock dt=55 g=30 g_seq=23 stack=0 GoStart dt=5 g=30 g_seq=24 GoLabel dt=1 label_string=4 GoBlock dt=478 reason_string=15 stack=5 GoUnblock dt=8 g=30 g_seq=25 stack=0 GoStart dt=4 g=30 g_seq=26 GoLabel dt=1 label_string=2 GoBlock dt=1039 reason_string=15 stack=5 GoStart dt=26 g=14 g_seq=37 GoBlock dt=1631 reason_string=15 stack=5 GoUnblock dt=22 g=52 g_seq=43 stack=0 GoStart dt=8 g=52 g_seq=44 GoLabel dt=3 label_string=2 GoBlock dt=21 reason_string=15 stack=5 GoUnblock dt=9 g=52 g_seq=45 stack=0 GoStart dt=3 g=52 g_seq=46 GoLabel dt=1 label_string=2 GoBlock dt=17 reason_string=15 stack=5 GoUnblock dt=6 g=52 g_seq=47 stack=0 GoStart dt=3 g=52 g_seq=48 GoLabel dt=1 label_string=2 GoUnblock dt=217 g=112 g_seq=3 stack=12 GoBlock dt=298 reason_string=15 stack=5 GoUnblock dt=8 g=52 g_seq=49 stack=0 GoStart dt=3 g=52 g_seq=50 GoLabel dt=1 label_string=2 GoBlock dt=1919 reason_string=15 stack=5 GoStart dt=16 g=121 g_seq=6 GCMarkAssistEnd dt=6 HeapAlloc dt=1354 heapalloc_value=192363224 GoStop dt=25 reason_string=16 stack=4 GoStart dt=16 g=121 g_seq=7 GCMarkAssistBegin dt=74 stack=3 GoStop dt=496 reason_string=20 stack=9 GoUnblock dt=11 g=52 g_seq=55 stack=0 GoStart dt=4 g=52 g_seq=56 GoLabel dt=1 label_string=2 GoUnblock dt=1666 g=94 g_seq=5 stack=12 GoBlock dt=18 reason_string=15 stack=5 GoUnblock dt=18 g=30 g_seq=41 stack=0 GoStart dt=4 g=30 g_seq=42 GoLabel dt=1 label_string=2 GoUnblock dt=1362 g=84 g_seq=5 stack=12 GoUnblock dt=6 g=125 g_seq=4 stack=12 GoUnblock dt=5 g=118 g_seq=3 stack=12 GoBlock dt=9 reason_string=15 stack=5 GoUnblock dt=10 g=30 g_seq=43 stack=0 GoStart dt=3 g=30 g_seq=44 GoLabel dt=1 label_string=2 GoBlock dt=9 reason_string=15 stack=5 GoStart dt=6 g=84 g_seq=6 GCMarkAssistEnd dt=5 HeapAlloc dt=24 heapalloc_value=192748248 GCMarkAssistBegin dt=83 stack=3 GCMarkAssistEnd dt=1516 HeapAlloc dt=28 heapalloc_value=193231576 GoStop dt=27 reason_string=16 stack=6 GoUnblock dt=14 g=22 g_seq=57 stack=0 GoStart dt=3 g=22 g_seq=58 GoLabel dt=1 label_string=2 GoUnblock dt=16 g=81 g_seq=8 stack=12 GoBlock dt=10 reason_string=15 stack=5 GoStart dt=11 g=125 g_seq=5 GCMarkAssistEnd dt=5 HeapAlloc dt=16 heapalloc_value=193354456 GoStop dt=95 reason_string=16 stack=6 GoUnblock dt=34 g=22 g_seq=61 stack=0 GoStart dt=1 g=22 g_seq=62 GoLabel dt=1 label_string=2 GoUnblock dt=1090 g=99 g_seq=6 stack=12 GoBlock dt=10 reason_string=15 stack=5 GoStart dt=8 g=81 g_seq=9 GCMarkAssistEnd dt=5 HeapAlloc dt=3528 heapalloc_value=195729872 GoStop dt=10 reason_string=16 stack=6 GoStart dt=17 g=81 g_seq=10 GCMarkAssistBegin dt=9 stack=3 GoBlock dt=34 reason_string=10 stack=18 GoStart dt=20 g=121 g_seq=11 GCMarkAssistEnd dt=4 HeapAlloc dt=44 heapalloc_value=195852752 GoStop dt=7425 reason_string=16 stack=6 ProcStop dt=134 ProcStart dt=14156 p=12 p_seq=2 GoStart dt=200 g=84 g_seq=10 GCMarkAssistEnd dt=6 GCSweepBegin dt=35 stack=27 EventBatch gen=3 m=169414 time=28114950903409 size=415 ProcStatus dt=1 p=19 pstatus=1 GoStatus dt=1 g=54 m=169414 gstatus=2 GoBlock dt=7 reason_string=15 stack=5 GoUnblock dt=2586 g=25 g_seq=5 stack=0 GoStart dt=8 g=25 g_seq=6 GoLabel dt=1 label_string=4 GoBlock dt=2605 reason_string=15 stack=5 GoUnblock dt=1216 g=71 g_seq=3 stack=0 GoStart dt=7 g=71 g_seq=4 GoLabel dt=1 label_string=4 GoBlock dt=672 reason_string=15 stack=5 GoUnblock dt=7231 g=23 g_seq=15 stack=0 GoStart dt=8 g=23 g_seq=16 GoLabel dt=1 label_string=4 GoBlock dt=1212 reason_string=15 stack=5 GoUnblock dt=11 g=23 g_seq=17 stack=0 GoStart dt=7 g=23 g_seq=18 GoLabel dt=3 label_string=2 GoBlock dt=82 reason_string=15 stack=5 GoUnblock dt=9 g=23 g_seq=19 stack=0 GoStart dt=6 g=23 g_seq=20 GoLabel dt=1 label_string=2 GoBlock dt=162 reason_string=15 stack=5 ProcStop dt=99 ProcStart dt=3257 p=19 p_seq=1 GoUnblock dt=13 g=68 g_seq=5 stack=0 GoStart dt=10 g=68 g_seq=6 GoLabel dt=1 label_string=2 GoBlock dt=43 reason_string=15 stack=5 GoUnblock dt=12 g=68 g_seq=7 stack=0 GoStart dt=2 g=68 g_seq=8 GoLabel dt=1 label_string=2 GoBlock dt=133 reason_string=15 stack=5 GoUnblock dt=23 g=58 g_seq=23 stack=0 GoStart dt=6 g=58 g_seq=24 GoLabel dt=1 label_string=2 GoBlock dt=2822 reason_string=15 stack=5 GoUnblock dt=11 g=69 g_seq=21 stack=0 GoStart dt=7 g=69 g_seq=22 GoLabel dt=2 label_string=2 GoBlock dt=25 reason_string=15 stack=5 GoUnblock dt=2937 g=58 g_seq=31 stack=0 GoStart dt=6 g=58 g_seq=32 GoLabel dt=1 label_string=4 GoBlock dt=20 reason_string=15 stack=5 ProcStop dt=60 ProcStart dt=31 p=19 p_seq=2 GoUnblock dt=9 g=56 g_seq=7 stack=0 GoStart dt=6 g=56 g_seq=8 GoLabel dt=3 label_string=4 GoBlock dt=949 reason_string=15 stack=5 ProcStop dt=41 ProcStart dt=433 p=19 p_seq=3 ProcStop dt=43 ProcStart dt=9942 p=11 p_seq=4 ProcStop dt=50 ProcStart dt=2351 p=22 p_seq=6 GoUnblock dt=15 g=30 g_seq=45 stack=0 GoStart dt=205 g=30 g_seq=46 GoLabel dt=1 label_string=2 GoUnblock dt=145 g=113 g_seq=7 stack=12 GoBlock dt=21 reason_string=15 stack=5 GoStart dt=10 g=113 g_seq=8 GCMarkAssistEnd dt=8 HeapAlloc dt=48 heapalloc_value=192895704 GCMarkAssistBegin dt=118 stack=3 GCMarkAssistEnd dt=272 HeapAlloc dt=20 heapalloc_value=192936664 HeapAlloc dt=89 heapalloc_value=192953048 HeapAlloc dt=41 heapalloc_value=192994008 HeapAlloc dt=92 heapalloc_value=193059544 HeapAlloc dt=102 heapalloc_value=193108696 HeapAlloc dt=94 heapalloc_value=193133272 HeapAlloc dt=42 heapalloc_value=193141464 HeapAlloc dt=31 heapalloc_value=193207000 GCMarkAssistBegin dt=142 stack=3 GoBlock dt=114 reason_string=13 stack=11 GoStart dt=179 g=109 g_seq=5 GCMarkAssistEnd dt=8 GCMarkAssistBegin dt=54 stack=3 GCMarkAssistEnd dt=720 HeapAlloc dt=23 heapalloc_value=194427608 HeapAlloc dt=456 heapalloc_value=195001048 GCMarkAssistBegin dt=18 stack=3 GoBlock dt=22 reason_string=13 stack=11 GoStart dt=23 g=113 g_seq=10 GCMarkAssistEnd dt=3 HeapAlloc dt=54 heapalloc_value=195099352 GoStop dt=6390 reason_string=16 stack=6 GoStart dt=23 g=113 g_seq=11 GCMarkAssistBegin dt=6 stack=3 GoBlock dt=21 reason_string=10 stack=18 GoStart dt=33 g=101 g_seq=6 GCMarkAssistEnd dt=6 HeapAlloc dt=29 heapalloc_value=196409808 GCMarkAssistBegin dt=22 stack=3 GoBlock dt=52 reason_string=10 stack=18 ProcStop dt=102 EventBatch gen=3 m=169413 time=28114950897164 size=752 ProcStatus dt=1 p=0 pstatus=1 GoStatus dt=6 g=67 m=169413 gstatus=2 GoBlock dt=11 reason_string=15 stack=5 GoUnblock dt=18 g=25 g_seq=1 stack=0 GoStart dt=7 g=25 g_seq=2 GoLabel dt=1 label_string=2 GoBlock dt=1315 reason_string=15 stack=5 GoUnblock dt=11 g=25 g_seq=3 stack=0 GoStart dt=6 g=25 g_seq=4 GoLabel dt=1 label_string=2 GoUnblock dt=4173 g=106 g_seq=1 stack=12 GoBlock dt=1258 reason_string=15 stack=5 GoUnblock dt=4804 g=30 g_seq=5 stack=0 GoStart dt=7 g=30 g_seq=6 GoLabel dt=1 label_string=4 GoBlock dt=541 reason_string=15 stack=5 GoUnblock dt=30 g=30 g_seq=7 stack=0 GoStart dt=6 g=30 g_seq=8 GoLabel dt=3 label_string=2 GoBlock dt=3873 reason_string=15 stack=5 GoUnblock dt=10 g=30 g_seq=9 stack=0 GoStart dt=5 g=30 g_seq=10 GoLabel dt=3 label_string=2 GoBlock dt=3107 reason_string=15 stack=5 GoUnblock dt=3672 g=14 g_seq=15 stack=0 GoStart dt=6 g=14 g_seq=16 GoLabel dt=1 label_string=4 GoBlock dt=442 reason_string=15 stack=5 GoStart dt=32 g=83 g_seq=4 GCMarkAssistEnd dt=7 HeapAlloc dt=49 heapalloc_value=191962560 GCMarkAssistBegin dt=108 stack=3 GoStop dt=885 reason_string=20 stack=9 GoStart dt=14 g=83 g_seq=5 GoBlock dt=21 reason_string=13 stack=11 ProcStop dt=93 ProcStart dt=38 p=0 p_seq=1 GoUnblock dt=7 g=53 g_seq=17 stack=0 GoStart dt=2 g=53 g_seq=18 GoLabel dt=1 label_string=4 GoBlock dt=31 reason_string=15 stack=5 ProcStop dt=89 ProcStart dt=45 p=11 p_seq=3 GoUnblock dt=6 g=23 g_seq=35 stack=0 GoStart dt=14 g=23 g_seq=36 GoLabel dt=3 label_string=4 GoBlock dt=2881 reason_string=15 stack=5 GoUnblock dt=72 g=25 g_seq=17 stack=0 GoStart dt=6 g=25 g_seq=18 GoLabel dt=1 label_string=4 GoBlock dt=19 reason_string=15 stack=5 GoUnblock dt=58 g=25 g_seq=19 stack=0 GoStart dt=3 g=25 g_seq=20 GoLabel dt=1 label_string=4 GoBlock dt=13 reason_string=15 stack=5 GoStart dt=16 g=94 g_seq=4 GoBlock dt=356 reason_string=13 stack=11 GoUnblock dt=80 g=52 g_seq=27 stack=0 GoStart dt=9 g=52 g_seq=28 GoLabel dt=1 label_string=4 GoBlock dt=2325 reason_string=15 stack=5 GoUnblock dt=57 g=67 g_seq=31 stack=0 GoStart dt=4 g=67 g_seq=32 GoLabel dt=1 label_string=4 GoBlock dt=2043 reason_string=15 stack=5 GoUnblock dt=9 g=67 g_seq=33 stack=0 GoStart dt=171 g=67 g_seq=34 GoLabel dt=5 label_string=2 GoBlock dt=21 reason_string=15 stack=5 ProcStop dt=60 ProcStart dt=1735 p=25 p_seq=4 GoUnblock dt=61 g=22 g_seq=39 stack=0 GoStart dt=178 g=22 g_seq=40 GoLabel dt=1 label_string=4 GoBlock dt=66 reason_string=15 stack=5 GoUnblock dt=8 g=22 g_seq=41 stack=0 GoStart dt=4 g=22 g_seq=42 GoLabel dt=1 label_string=2 GoBlock dt=975 reason_string=15 stack=5 ProcStop dt=1192 ProcStart dt=347 p=25 p_seq=5 GoUnblock dt=11 g=131 g_seq=6 stack=0 GoStart dt=145 g=131 g_seq=7 GoBlock dt=21 reason_string=15 stack=2 GoUnblock dt=30 g=14 g_seq=38 stack=0 GoStart dt=4 g=14 g_seq=39 GoLabel dt=1 label_string=2 GoBlock dt=65 reason_string=15 stack=5 GoStart dt=26 g=130 g_seq=1 ProcStatus dt=380 p=38 pstatus=2 ProcStatus dt=4 p=39 pstatus=2 ProcStatus dt=4 p=40 pstatus=2 ProcStatus dt=3 p=41 pstatus=2 ProcStatus dt=5 p=42 pstatus=2 ProcStatus dt=5 p=43 pstatus=2 ProcStatus dt=2 p=44 pstatus=2 ProcStatus dt=3 p=45 pstatus=2 ProcStatus dt=4 p=46 pstatus=2 GoStop dt=1488 reason_string=16 stack=15 GoUnblock dt=17 g=51 g_seq=45 stack=0 GoStart dt=3 g=51 g_seq=46 GoLabel dt=3 label_string=2 GoBlock dt=1337 reason_string=15 stack=5 GoStart dt=13 g=81 g_seq=7 GCMarkAssistEnd dt=6 GCMarkAssistBegin dt=31 stack=3 GoBlock dt=20 reason_string=13 stack=11 GoStart dt=5 g=130 g_seq=2 HeapAlloc dt=98 heapalloc_value=192314072 GoBlock dt=348 reason_string=12 stack=16 GoStart dt=31 g=103 g_seq=2 GCMarkAssistEnd dt=7 HeapAlloc dt=53 heapalloc_value=192428760 GoStop dt=173 reason_string=16 stack=6 GoUnblock dt=18 g=71 g_seq=29 stack=0 GoStart dt=4 g=71 g_seq=30 GoLabel dt=3 label_string=2 GoBlock dt=1289 reason_string=15 stack=5 GoStart dt=17 g=126 g_seq=4 GCMarkAssistBegin dt=125 stack=3 GoBlock dt=23 reason_string=13 stack=11 ProcStop dt=76 ProcStart dt=2523 p=0 p_seq=4 GoUnblock dt=16 g=30 g_seq=47 stack=0 GoStart dt=196 g=30 g_seq=48 GoLabel dt=2 label_string=2 GoUnblock dt=1834 g=125 g_seq=7 stack=12 GoBlock dt=17 reason_string=15 stack=5 GoStart dt=14 g=125 g_seq=8 GCMarkAssistEnd dt=5 HeapAlloc dt=69 heapalloc_value=194566872 GoStop dt=2253 reason_string=16 stack=6 GoStart dt=2080 g=125 g_seq=9 GCMarkAssistBegin dt=14 stack=3 GoBlock dt=41 reason_string=10 stack=18 GoStart dt=13 g=106 g_seq=8 GCMarkAssistEnd dt=6 HeapAlloc dt=53 heapalloc_value=196106704 GoStop dt=6900 reason_string=16 stack=6 GoStart dt=57 g=121 g_seq=12 GCMarkAssistBegin dt=16 stack=3 GoBlock dt=47 reason_string=10 stack=18 ProcStop dt=83 ProcStart dt=11930 p=7 p_seq=7 GoStart dt=191 g=96 g_seq=8 GCMarkAssistEnd dt=10 HeapAlloc dt=59 heapalloc_value=109727392 HeapAlloc dt=159 heapalloc_value=110336128 HeapAlloc dt=109 heapalloc_value=110662528 GCSweepBegin dt=144 stack=28 GCSweepEnd dt=18 swept_value=16384 reclaimed_value=16384 HeapAlloc dt=3 heapalloc_value=111288448 GCSweepBegin dt=49 stack=28 GCSweepEnd dt=14 swept_value=24576 reclaimed_value=24576 HeapAlloc dt=5 heapalloc_value=111591296 HeapAlloc dt=65 heapalloc_value=111888256 HeapAlloc dt=228 heapalloc_value=112797056 HeapAlloc dt=134 heapalloc_value=113322880 HeapAlloc dt=83 heapalloc_value=113549696 GCSweepBegin dt=35 stack=28 GCSweepEnd dt=16 swept_value=32768 reclaimed_value=32768 HeapAlloc dt=3 heapalloc_value=113842560 HeapAlloc dt=75 heapalloc_value=114080128 HeapAlloc dt=64 heapalloc_value=114307712 HeapAlloc dt=134 heapalloc_value=114580608 HeapAlloc dt=77 heapalloc_value=114670464 GCSweepBegin dt=33 stack=28 GCSweepEnd dt=6 swept_value=24576 reclaimed_value=24576 HeapAlloc dt=3 heapalloc_value=114727808 GCSweepBegin dt=90 stack=27 EventBatch gen=3 m=169412 time=28114950898429 size=583 ProcStatus dt=1 p=36 pstatus=2 ProcStart dt=2 p=36 p_seq=1 GoStart dt=401 g=83 g_seq=2 GoBlock dt=1477 reason_string=13 stack=11 GoStart dt=1208 g=81 g_seq=2 GCMarkAssistEnd dt=9 HeapAlloc dt=57 heapalloc_value=191348160 GoStop dt=42 reason_string=16 stack=4 GoStart dt=25 g=81 g_seq=3 GCMarkAssistBegin dt=394 stack=3 GoBlock dt=1177 reason_string=13 stack=11 GoStart dt=28 g=106 g_seq=2 GCMarkAssistEnd dt=10 HeapAlloc dt=52 heapalloc_value=191503808 GCMarkAssistBegin dt=52 stack=3 GoStop dt=60 reason_string=20 stack=9 GoUnblock dt=73 g=58 g_seq=3 stack=0 GoStart dt=6 g=58 g_seq=4 GoLabel dt=3 label_string=4 GoBlock dt=2860 reason_string=15 stack=5 GoUnblock dt=3777 g=24 g_seq=9 stack=0 GoStart dt=6 g=24 g_seq=10 GoLabel dt=1 label_string=4 GoBlock dt=41 reason_string=15 stack=5 GoUnblock dt=1167 g=71 g_seq=9 stack=0 GoStart dt=7 g=71 g_seq=10 GoLabel dt=1 label_string=4 GoBlock dt=1396 reason_string=15 stack=5 GoUnblock dt=1371 g=57 g_seq=23 stack=0 GoStart dt=7 g=57 g_seq=24 GoLabel dt=1 label_string=4 GoBlock dt=584 reason_string=15 stack=5 GoUnblock dt=4657 g=23 g_seq=23 stack=0 GoStart dt=7 g=23 g_seq=24 GoLabel dt=1 label_string=4 GoBlock dt=40 reason_string=15 stack=5 ProcStop dt=82 ProcStart dt=1505 p=36 p_seq=2 ProcStop dt=74 ProcStart dt=19 p=36 p_seq=3 GoUnblock dt=7 g=23 g_seq=27 stack=0 GoStart dt=7 g=23 g_seq=28 GoLabel dt=1 label_string=4 GoBlock dt=122 reason_string=15 stack=5 GoUnblock dt=58 g=52 g_seq=25 stack=0 GoStart dt=6 g=52 g_seq=26 GoLabel dt=1 label_string=4 GoBlock dt=4034 reason_string=15 stack=5 GoUnblock dt=75 g=14 g_seq=19 stack=0 GoStart dt=6 g=14 g_seq=20 GoLabel dt=1 label_string=4 GoBlock dt=2059 reason_string=15 stack=5 GoUnblock dt=63 g=14 g_seq=21 stack=0 GoStart dt=4 g=14 g_seq=22 GoLabel dt=1 label_string=4 GoBlock dt=56 reason_string=15 stack=5 ProcStop dt=49 ProcStart dt=20 p=36 p_seq=4 GoUnblock dt=6 g=67 g_seq=27 stack=0 GoStart dt=2 g=67 g_seq=28 GoLabel dt=1 label_string=4 GoBlock dt=13 reason_string=15 stack=5 ProcStop dt=1721 ProcStart dt=20316 p=36 p_seq=5 GoStart dt=197 g=94 g_seq=11 GCMarkAssistEnd dt=7 HeapAlloc dt=6672 heapalloc_value=196598224 GoStop dt=15 reason_string=16 stack=6 GoStart dt=54 g=106 g_seq=9 GCMarkAssistBegin dt=16 stack=3 GoBlock dt=32 reason_string=10 stack=18 GoStart dt=41 g=103 g_seq=6 GCMarkAssistBegin dt=15 stack=3 GoBlock dt=84 reason_string=10 stack=18 ProcStop dt=43 ProcStart dt=10888 p=5 p_seq=1 GoStart dt=189 g=120 g_seq=8 GCMarkAssistEnd dt=7 HeapAlloc dt=54 heapalloc_value=106433440 HeapAlloc dt=94 heapalloc_value=106861728 GCSweepBegin dt=92 stack=28 GCSweepEnd dt=13 swept_value=24576 reclaimed_value=24576 HeapAlloc dt=4 heapalloc_value=107301920 HeapAlloc dt=65 heapalloc_value=107394848 GCSweepBegin dt=32 stack=28 GCSweepEnd dt=11 swept_value=32768 reclaimed_value=32768 HeapAlloc dt=2 heapalloc_value=107616032 HeapAlloc dt=60 heapalloc_value=107763488 HeapAlloc dt=78 heapalloc_value=107953440 HeapAlloc dt=65 heapalloc_value=108333088 GCSweepBegin dt=38 stack=28 GCSweepEnd dt=5 swept_value=32768 reclaimed_value=32768 HeapAlloc dt=1 heapalloc_value=108423200 GCSweepBegin dt=80 stack=28 GCSweepEnd dt=9 swept_value=32768 reclaimed_value=32768 HeapAlloc dt=3 heapalloc_value=108682656 GCSweepBegin dt=61 stack=28 GCSweepEnd dt=10 swept_value=8192 reclaimed_value=8192 HeapAlloc dt=4 heapalloc_value=108816544 HeapAlloc dt=32 heapalloc_value=108994080 HeapAlloc dt=50 heapalloc_value=109290272 HeapAlloc dt=112 heapalloc_value=109566240 HeapAlloc dt=104 heapalloc_value=109973280 GCSweepBegin dt=66 stack=29 GCSweepEnd dt=17 swept_value=8192 reclaimed_value=0 HeapAlloc dt=3 heapalloc_value=110183040 HeapAlloc dt=86 heapalloc_value=110506880 HeapAlloc dt=149 heapalloc_value=111151232 HeapAlloc dt=24 heapalloc_value=111272064 HeapAlloc dt=53 heapalloc_value=111368064 HeapAlloc dt=68 heapalloc_value=111632256 HeapAlloc dt=103 heapalloc_value=112078720 GCSweepBegin dt=120 stack=28 GCSweepEnd dt=7 swept_value=24576 reclaimed_value=24576 HeapAlloc dt=3 heapalloc_value=112585472 HeapAlloc dt=34 heapalloc_value=112616832 HeapAlloc dt=39 heapalloc_value=112882304 HeapAlloc dt=141 heapalloc_value=113391232 HeapAlloc dt=80 heapalloc_value=113664384 HeapAlloc dt=152 heapalloc_value=114242176 HeapAlloc dt=104 heapalloc_value=114415616 HeapAlloc dt=38 heapalloc_value=114527360 HeapAlloc dt=28 heapalloc_value=114592896 GCSweepBegin dt=227 stack=27 EventBatch gen=3 m=169411 time=28114950895719 size=370 ProcStatus dt=1 p=21 pstatus=1 GoStatus dt=5 g=85 m=169411 gstatus=2 GCMarkAssistActive dt=1 g=85 GCMarkAssistEnd dt=3 HeapAlloc dt=44 heapalloc_value=190299584 GoStop dt=38 reason_string=16 stack=4 GoStart dt=20 g=85 g_seq=1 GCMarkAssistBegin dt=119 stack=3 GoStop dt=4468 reason_string=20 stack=9 GoStart dt=15 g=85 g_seq=2 GoStop dt=1589 reason_string=20 stack=9 GoStart dt=8 g=85 g_seq=3 GCMarkAssistEnd dt=2892 HeapAlloc dt=33 heapalloc_value=191733184 GCMarkAssistBegin dt=98 stack=3 GoStop dt=2309 reason_string=20 stack=9 GoStart dt=10 g=95 g_seq=3 GoBlock dt=153 reason_string=13 stack=11 GoStart dt=5 g=85 g_seq=4 GoBlock dt=18 reason_string=13 stack=11 GoUnblock dt=3925 g=58 g_seq=13 stack=0 GoStart dt=8 g=58 g_seq=14 GoLabel dt=3 label_string=4 GoBlock dt=106 reason_string=15 stack=5 ProcStop dt=1275 ProcStart dt=21 p=21 p_seq=1 ProcStop dt=1335 ProcStart dt=14 p=21 p_seq=2 GoUnblock dt=1349 g=14 g_seq=9 stack=0 GoStart dt=8 g=14 g_seq=10 GoLabel dt=1 label_string=4 GoBlock dt=255 reason_string=15 stack=5 GoUnblock dt=2226 g=70 g_seq=9 stack=0 GoStart dt=8 g=70 g_seq=10 GoLabel dt=1 label_string=4 GoBlock dt=398 reason_string=15 stack=5 GoUnblock dt=8 g=70 g_seq=11 stack=0 GoStart dt=6 g=70 g_seq=12 GoLabel dt=1 label_string=2 GoBlock dt=8210 reason_string=15 stack=5 GoUnblock dt=12 g=70 g_seq=13 stack=0 GoStart dt=5 g=70 g_seq=14 GoLabel dt=2 label_string=2 GoBlock dt=2354 reason_string=15 stack=5 GoUnblock dt=93 g=72 g_seq=47 stack=0 GoStart dt=9 g=72 g_seq=48 GoLabel dt=1 label_string=4 GoBlock dt=27 reason_string=15 stack=5 GoUnblock dt=220 g=72 g_seq=49 stack=0 GoStart dt=7 g=72 g_seq=50 GoLabel dt=1 label_string=2 GoBlock dt=20 reason_string=15 stack=5 ProcStop dt=61 ProcStart dt=16474 p=33 p_seq=2 GoStart dt=3475 g=107 g_seq=4 GCMarkAssistEnd dt=9 HeapAlloc dt=52 heapalloc_value=196041168 GoStop dt=5585 reason_string=16 stack=6 GoStart dt=15 g=107 g_seq=5 GCMarkAssistBegin dt=91 stack=3 GoBlock dt=34 reason_string=10 stack=18 ProcStop dt=55 ProcStart dt=1514 p=33 p_seq=3 ProcStop dt=41 ProcStart dt=12390 p=8 p_seq=1 GoStart dt=166 g=100 g_seq=7 GCMarkAssistEnd dt=5 HeapAlloc dt=51 heapalloc_value=111353984 GCSweepBegin dt=133 stack=28 GCSweepEnd dt=18 swept_value=32768 reclaimed_value=32768 HeapAlloc dt=3 heapalloc_value=112029568 HeapAlloc dt=68 heapalloc_value=112301312 HeapAlloc dt=120 heapalloc_value=112739712 HeapAlloc dt=116 heapalloc_value=113221760 HeapAlloc dt=53 heapalloc_value=113380224 HeapAlloc dt=115 heapalloc_value=113768832 HeapAlloc dt=66 heapalloc_value=114026880 HeapAlloc dt=127 heapalloc_value=114403328 GCSweepBegin dt=47 stack=28 GCSweepEnd dt=10 swept_value=32768 reclaimed_value=32768 HeapAlloc dt=3 heapalloc_value=114503936 HeapAlloc dt=67 heapalloc_value=114651264 GCSweepBegin dt=299 stack=27 EventBatch gen=3 m=169409 time=28114950894853 size=224 ProcStatus dt=2 p=29 pstatus=1 GoStatus dt=3 g=126 m=169409 gstatus=2 HeapAlloc dt=3 heapalloc_value=189824448 GCMarkAssistBegin dt=163 stack=3 GoStop dt=1609 reason_string=20 stack=9 GoStart dt=26 g=98 g_seq=2 GCMarkAssistBegin dt=17 stack=3 GCMarkAssistEnd dt=7751 HeapAlloc dt=77 heapalloc_value=191675840 GoStop dt=39 reason_string=16 stack=6 GoStart dt=20 g=116 g_seq=4 GoBlock dt=302 reason_string=13 stack=11 GoUnblock dt=4886 g=51 g_seq=13 stack=0 GoStart dt=8 g=51 g_seq=14 GoLabel dt=1 label_string=4 GoBlock dt=2058 reason_string=15 stack=5 GoUnblock dt=11 g=51 g_seq=15 stack=0 GoStart dt=6 g=51 g_seq=16 GoLabel dt=3 label_string=2 GoBlock dt=2936 reason_string=15 stack=5 GoUnblock dt=35 g=58 g_seq=21 stack=0 GoStart dt=6 g=58 g_seq=22 GoLabel dt=3 label_string=2 GoBlock dt=7995 reason_string=15 stack=5 GoUnblock dt=20 g=68 g_seq=9 stack=0 GoStart dt=6 g=68 g_seq=10 GoLabel dt=3 label_string=2 GoBlock dt=92 reason_string=15 stack=5 GoUnblock dt=8 g=68 g_seq=11 stack=0 GoStart dt=1 g=68 g_seq=12 GoLabel dt=1 label_string=2 GoBlock dt=7039 reason_string=15 stack=5 ProcStop dt=54 ProcStart dt=14204 p=3 p_seq=1 GoStart dt=213 g=94 g_seq=7 GCMarkAssistBegin dt=29 stack=3 GoBlock dt=62 reason_string=13 stack=11 GoStart dt=20 g=124 g_seq=4 GCMarkAssistEnd dt=6 GCMarkAssistBegin dt=38 stack=3 GCMarkAssistEnd dt=98 HeapAlloc dt=118 heapalloc_value=193911512 HeapAlloc dt=123 heapalloc_value=194116312 HeapAlloc dt=352 heapalloc_value=194616024 GoStop dt=3095 reason_string=16 stack=6 GoStart dt=26 g=110 g_seq=4 GCMarkAssistEnd dt=6 HeapAlloc dt=30 heapalloc_value=195508952 GoStop dt=4300 reason_string=16 stack=6 GoStart dt=65 g=110 g_seq=5 GCMarkAssistBegin dt=10 stack=3 GoBlock dt=46 reason_string=10 stack=18 ProcStop dt=124 EventBatch gen=3 m=169408 time=28114950896863 size=856 ProcStatus dt=1 p=22 pstatus=1 GoStatus dt=2 g=105 m=169408 gstatus=2 GCMarkAssistActive dt=1 g=105 GCMarkAssistEnd dt=2 HeapAlloc dt=22 heapalloc_value=190512576 HeapAlloc dt=94 heapalloc_value=190537152 GCMarkAssistBegin dt=18 stack=3 GCMarkAssistEnd dt=1243 HeapAlloc dt=34 heapalloc_value=190741952 GCMarkAssistBegin dt=36 stack=3 GCMarkAssistEnd dt=4423 HeapAlloc dt=22 heapalloc_value=191413696 GoStop dt=23 reason_string=16 stack=4 GoStart dt=15 g=105 g_seq=1 GCMarkAssistBegin dt=57 stack=3 GoStop dt=662 reason_string=20 stack=9 GoStart dt=12 g=105 g_seq=2 GoStop dt=4139 reason_string=20 stack=9 GoStart dt=11 g=105 g_seq=3 GoStop dt=4306 reason_string=20 stack=9 GoStart dt=15 g=105 g_seq=4 GoBlock dt=21 reason_string=13 stack=11 GoUnblock dt=2669 g=58 g_seq=19 stack=0 GoStart dt=5 g=58 g_seq=20 GoLabel dt=1 label_string=4 GoBlock dt=90 reason_string=15 stack=5 GoUnblock dt=28 g=51 g_seq=17 stack=0 GoStart dt=5 g=51 g_seq=18 GoLabel dt=1 label_string=2 GoBlock dt=5245 reason_string=15 stack=5 GoUnblock dt=68 g=51 g_seq=19 stack=0 GoStart dt=8 g=51 g_seq=20 GoLabel dt=1 label_string=4 GoBlock dt=14 reason_string=15 stack=5 GoUnblock dt=6 g=51 g_seq=21 stack=0 GoStart dt=1 g=51 g_seq=22 GoLabel dt=1 label_string=2 GoBlock dt=7035 reason_string=15 stack=5 GoUnblock dt=13 g=51 g_seq=23 stack=0 GoStart dt=4 g=51 g_seq=24 GoLabel dt=2 label_string=2 GoUnblock dt=188 g=116 g_seq=5 stack=12 GoBlock dt=65 reason_string=15 stack=5 GoUnblock dt=9 g=51 g_seq=25 stack=0 GoStart dt=2 g=51 g_seq=26 GoLabel dt=1 label_string=2 GoBlock dt=170 reason_string=15 stack=5 GoUnblock dt=15 g=51 g_seq=27 stack=0 GoStart dt=6 g=51 g_seq=28 GoLabel dt=1 label_string=2 GoBlock dt=33 reason_string=15 stack=5 GoUnblock dt=7 g=51 g_seq=29 stack=0 GoStart dt=6 g=51 g_seq=30 GoLabel dt=1 label_string=2 GoBlock dt=159 reason_string=15 stack=5 GoUnblock dt=8 g=51 g_seq=31 stack=0 GoStart dt=3 g=51 g_seq=32 GoLabel dt=1 label_string=2 GoBlock dt=124 reason_string=15 stack=5 ProcStop dt=79 ProcStart dt=18 p=22 p_seq=1 GoUnblock dt=4 g=29 g_seq=21 stack=0 GoStart dt=4 g=29 g_seq=22 GoLabel dt=1 label_string=4 GoBlock dt=28 reason_string=15 stack=5 ProcStop dt=45 ProcStart dt=12 p=22 p_seq=2 GoUnblock dt=2 g=29 g_seq=23 stack=0 GoStart dt=1 g=29 g_seq=24 GoLabel dt=1 label_string=4 GoBlock dt=19 reason_string=15 stack=5 GoUnblock dt=45 g=29 g_seq=25 stack=0 GoStart dt=1 g=29 g_seq=26 GoLabel dt=1 label_string=4 GoBlock dt=151 reason_string=15 stack=5 GoUnblock dt=14 g=52 g_seq=35 stack=0 GoStart dt=6 g=52 g_seq=36 GoLabel dt=1 label_string=2 GoBlock dt=13 reason_string=15 stack=5 GoUnblock dt=4 g=52 g_seq=37 stack=0 GoStart dt=3 g=52 g_seq=38 GoLabel dt=1 label_string=2 GoBlock dt=127 reason_string=15 stack=5 GoUnblock dt=7 g=52 g_seq=39 stack=0 GoStart dt=1 g=52 g_seq=40 GoLabel dt=1 label_string=2 GoBlock dt=11 reason_string=15 stack=5 GoUnblock dt=6 g=52 g_seq=41 stack=0 GoStart dt=2 g=52 g_seq=42 GoLabel dt=1 label_string=2 GoBlock dt=4594 reason_string=15 stack=5 ProcStop dt=42 ProcStart dt=1703 p=27 p_seq=42 GoUnblock dt=17 g=22 g_seq=45 stack=0 GoStart dt=283 g=22 g_seq=46 GoLabel dt=2 label_string=2 GoUnblock dt=103 g=96 g_seq=3 stack=12 GoUnblock dt=95 g=121 g_seq=5 stack=12 GoUnblock dt=5 g=126 g_seq=2 stack=12 GoUnblock dt=529 g=115 g_seq=3 stack=12 GoBlock dt=552 reason_string=15 stack=5 GoUnblock dt=31 g=22 g_seq=47 stack=0 GoStart dt=4 g=22 g_seq=48 GoLabel dt=1 label_string=2 GoUnblock dt=763 g=90 g_seq=3 stack=12 GoBlock dt=39 reason_string=15 stack=5 GoUnblock dt=12 g=22 g_seq=49 stack=0 GoStart dt=4 g=22 g_seq=50 GoLabel dt=1 label_string=2 GoBlock dt=806 reason_string=15 stack=5 GoStart dt=18 g=115 g_seq=4 GCMarkAssistEnd dt=8 HeapAlloc dt=834 heapalloc_value=192494296 GCMarkAssistBegin dt=33 stack=3 GoStop dt=622 reason_string=20 stack=9 GoUnblock dt=15 g=14 g_seq=44 stack=0 GoStart dt=5 g=14 g_seq=45 GoLabel dt=1 label_string=2 GoBlock dt=1768 reason_string=15 stack=5 GoUnblock dt=11 g=14 g_seq=46 stack=0 GoStart dt=4 g=14 g_seq=47 GoLabel dt=1 label_string=2 GoBlock dt=20 reason_string=15 stack=5 GoUnblock dt=10 g=14 g_seq=48 stack=0 GoStart dt=636 g=14 g_seq=49 GoLabel dt=1 label_string=2 GoBlock dt=55 reason_string=15 stack=5 GoUnblock dt=18 g=14 g_seq=50 stack=0 GoStart dt=3 g=14 g_seq=51 GoLabel dt=1 label_string=2 GoBlock dt=46 reason_string=15 stack=5 GoUnblock dt=15 g=14 g_seq=52 stack=0 GoStart dt=4 g=14 g_seq=53 GoLabel dt=1 label_string=2 GoBlock dt=26 reason_string=15 stack=5 GoUnblock dt=29 g=70 g_seq=23 stack=0 GoStart dt=5 g=70 g_seq=24 GoLabel dt=1 label_string=2 GoBlock dt=15 reason_string=15 stack=5 GoStart dt=30 g=94 g_seq=6 GCMarkAssistEnd dt=5 HeapAlloc dt=37 heapalloc_value=192699096 GoStop dt=34 reason_string=16 stack=6 GoUnblock dt=9 g=70 g_seq=25 stack=0 GoStart dt=3 g=70 g_seq=26 GoLabel dt=1 label_string=2 GoUnblock dt=190 g=98 g_seq=7 stack=12 GoUnblock dt=6 g=91 g_seq=1 stack=12 GoUnblock dt=7 g=123 g_seq=6 stack=12 GoUnblock dt=5 g=100 g_seq=3 stack=12 GoUnblock dt=3 g=102 g_seq=3 stack=12 GoUnblock dt=3 g=103 g_seq=4 stack=12 GoUnblock dt=5 g=117 g_seq=3 stack=12 GoBlock dt=45 reason_string=15 stack=5 GoUnblock dt=8 g=70 g_seq=27 stack=0 GoStart dt=1 g=70 g_seq=28 GoLabel dt=1 label_string=2 GoUnblock dt=1939 g=111 g_seq=7 stack=12 GoUnblock dt=10 g=101 g_seq=5 stack=12 GoBlock dt=23 reason_string=15 stack=5 GoStart dt=15 g=98 g_seq=8 GCMarkAssistEnd dt=8 HeapAlloc dt=57 heapalloc_value=193960664 GCMarkAssistBegin dt=83 stack=3 GoBlock dt=26 reason_string=13 stack=11 GoStart dt=7 g=91 g_seq=2 GCMarkAssistEnd dt=6 HeapAlloc dt=47 heapalloc_value=194296536 GCMarkAssistBegin dt=103 stack=3 GoBlock dt=118 reason_string=13 stack=11 GoStart dt=20 g=123 g_seq=7 GCMarkAssistEnd dt=4 HeapAlloc dt=448 heapalloc_value=195058392 GoStop dt=6487 reason_string=16 stack=6 GoStart dt=27 g=123 g_seq=8 GCMarkAssistBegin dt=10 stack=3 GoBlock dt=32 reason_string=10 stack=18 ProcStop dt=78 ProcStart dt=16845 p=9 p_seq=1 GoStart dt=21 g=127 g_seq=10 GCMarkAssistEnd dt=11 GCSweepBegin dt=37 stack=28 GCSweepEnd dt=17 swept_value=24576 reclaimed_value=24576 HeapAlloc dt=7 heapalloc_value=110613376 HeapAlloc dt=77 heapalloc_value=110956160 HeapAlloc dt=127 heapalloc_value=111501184 HeapAlloc dt=150 heapalloc_value=112133376 HeapAlloc dt=103 heapalloc_value=112487168 HeapAlloc dt=158 heapalloc_value=113166976 GCSweepBegin dt=50 stack=28 GCSweepEnd dt=32 swept_value=16384 reclaimed_value=16384 HeapAlloc dt=6 heapalloc_value=113407616 HeapAlloc dt=173 heapalloc_value=114067840 HeapAlloc dt=153 heapalloc_value=114430208 GCSweepBegin dt=35 stack=28 GCSweepEnd dt=4 swept_value=24576 reclaimed_value=24576 HeapAlloc dt=4 heapalloc_value=114551936 GCSweepBegin dt=1034 stack=27 EventBatch gen=3 m=169407 time=28114950901555 size=528 ProcStatus dt=2 p=4 pstatus=1 GoStatus dt=1 g=72 m=169407 gstatus=2 GoBlock dt=7 reason_string=15 stack=5 GoUnblock dt=1446 g=72 g_seq=3 stack=0 GoStart dt=9 g=72 g_seq=4 GoLabel dt=1 label_string=4 GoBlock dt=394 reason_string=15 stack=5 GoStart dt=26 g=106 g_seq=3 GoBlock dt=149 reason_string=13 stack=11 GoUnblock dt=2557 g=72 g_seq=5 stack=0 GoStart dt=8 g=72 g_seq=6 GoLabel dt=1 label_string=4 GoBlock dt=44 reason_string=15 stack=5 GoUnblock dt=13 g=72 g_seq=7 stack=0 GoStart dt=6 g=72 g_seq=8 GoLabel dt=5 label_string=2 GoBlock dt=1622 reason_string=15 stack=5 GoUnblock dt=9 g=72 g_seq=9 stack=0 GoStart dt=6 g=72 g_seq=10 GoLabel dt=1 label_string=2 GoUnblock dt=165 g=87 g_seq=2 stack=12 GoBlock dt=854 reason_string=15 stack=5 GoUnblock dt=9 g=72 g_seq=11 stack=0 GoStart dt=4 g=72 g_seq=12 GoLabel dt=1 label_string=2 GoBlock dt=398 reason_string=15 stack=5 GoUnblock dt=20 g=72 g_seq=13 stack=0 GoStart dt=5 g=72 g_seq=14 GoLabel dt=1 label_string=2 GoBlock dt=1475 reason_string=15 stack=5 GoStart dt=1158 g=93 g_seq=2 GoStatus dt=24 g=94 m=18446744073709551615 gstatus=4 GoUnblock dt=5 g=94 g_seq=1 stack=10 GCMarkAssistBegin dt=19 stack=3 GoBlock dt=235 reason_string=13 stack=11 GoStart dt=9 g=94 g_seq=2 GoStatus dt=18 g=100 m=18446744073709551615 gstatus=4 GoUnblock dt=3 g=100 g_seq=1 stack=10 GCMarkAssistBegin dt=16 stack=3 GoStop dt=7669 reason_string=20 stack=9 GoStart dt=9 g=94 g_seq=3 GoStop dt=5028 reason_string=20 stack=9 GoUnblock dt=76 g=23 g_seq=39 stack=0 GoStart dt=4 g=23 g_seq=40 GoLabel dt=1 label_string=4 GoBlock dt=464 reason_string=15 stack=5 GoUnblock dt=67 g=23 g_seq=41 stack=0 GoStart dt=151 g=23 g_seq=42 GoLabel dt=2 label_string=4 GoBlock dt=3280 reason_string=15 stack=5 GoStart dt=35 g=113 g_seq=6 GCMarkAssistEnd dt=7 GCMarkAssistBegin dt=65 stack=3 GoBlock dt=63 reason_string=13 stack=11 ProcStop dt=162 ProcStart dt=22113 p=24 p_seq=4 GoStart dt=228 g=111 g_seq=8 GCMarkAssistEnd dt=11 HeapAlloc dt=64 heapalloc_value=196401616 GoStop dt=6120 reason_string=16 stack=6 GoStart dt=26 g=111 g_seq=9 GCMarkAssistBegin dt=15 stack=3 GoBlock dt=35 reason_string=10 stack=18 ProcStop dt=128 ProcStart dt=7783 p=1 p_seq=3 GoStart dt=191 g=87 g_seq=8 GCMarkAssistEnd dt=9 GCSweepBegin dt=33 stack=28 GCSweepEnd dt=16 swept_value=16384 reclaimed_value=16384 HeapAlloc dt=4 heapalloc_value=103833248 GCSweepBegin dt=56 stack=27 GCSweepEnd dt=1508 swept_value=4194304 reclaimed_value=3072000 HeapAlloc dt=33 heapalloc_value=105692064 HeapAlloc dt=115 heapalloc_value=105976736 HeapAlloc dt=44 heapalloc_value=106034080 HeapAlloc dt=109 heapalloc_value=106332320 HeapAlloc dt=95 heapalloc_value=106715424 HeapAlloc dt=80 heapalloc_value=106958496 HeapAlloc dt=97 heapalloc_value=107330592 HeapAlloc dt=56 heapalloc_value=107460384 HeapAlloc dt=117 heapalloc_value=107811360 HeapAlloc dt=62 heapalloc_value=108141856 HeapAlloc dt=115 heapalloc_value=108472352 HeapAlloc dt=103 heapalloc_value=108710048 GCSweepBegin dt=51 stack=28 GCSweepEnd dt=11 swept_value=16384 reclaimed_value=16384 HeapAlloc dt=4 heapalloc_value=108832928 HeapAlloc dt=51 heapalloc_value=109134624 HeapAlloc dt=100 heapalloc_value=109470496 HeapAlloc dt=98 heapalloc_value=109831200 HeapAlloc dt=69 heapalloc_value=110087968 HeapAlloc dt=117 heapalloc_value=110388096 HeapAlloc dt=150 heapalloc_value=111005312 HeapAlloc dt=140 heapalloc_value=111509376 HeapAlloc dt=55 heapalloc_value=111773568 HeapAlloc dt=105 heapalloc_value=112162048 GCSweepBegin dt=85 stack=28 GCSweepEnd dt=8 swept_value=32768 reclaimed_value=32768 HeapAlloc dt=3 heapalloc_value=112560896 HeapAlloc dt=68 heapalloc_value=112816768 HeapAlloc dt=47 heapalloc_value=112988800 HeapAlloc dt=122 heapalloc_value=113464960 HeapAlloc dt=150 heapalloc_value=114008448 GCSweepBegin dt=885 stack=27 EventBatch gen=3 m=169406 time=28114950897134 size=117 ProcStatus dt=3 p=6 pstatus=1 GoStatus dt=5 g=52 m=169406 gstatus=2 GoBlock dt=14 reason_string=15 stack=5 GoUnblock dt=16 g=52 g_seq=1 stack=0 GoStart dt=5 g=52 g_seq=2 GoLabel dt=1 label_string=2 GoBlock dt=3752 reason_string=15 stack=5 GoUnblock dt=21 g=52 g_seq=3 stack=0 GoStart dt=7 g=52 g_seq=4 GoLabel dt=1 label_string=2 GoBlock dt=4444 reason_string=15 stack=5 GoUnblock dt=12 g=52 g_seq=5 stack=0 GoStart dt=7 g=52 g_seq=6 GoLabel dt=1 label_string=2 GoBlock dt=5071 reason_string=15 stack=5 GoUnblock dt=15 g=52 g_seq=7 stack=0 GoStart dt=6 g=52 g_seq=8 GoLabel dt=2 label_string=2 GoBlock dt=2302 reason_string=15 stack=5 GoUnblock dt=14 g=52 g_seq=9 stack=0 GoStart dt=6 g=52 g_seq=10 GoLabel dt=1 label_string=2 GoBlock dt=32 reason_string=15 stack=5 GoUnblock dt=9 g=52 g_seq=11 stack=0 GoStart dt=6 g=52 g_seq=12 GoLabel dt=1 label_string=2 GoBlock dt=22 reason_string=15 stack=5 ProcStop dt=35 EventBatch gen=3 m=169405 time=28114950903578 size=119 ProcStatus dt=2 p=15 pstatus=1 GoStatus dt=4 g=53 m=169405 gstatus=2 GoBlock dt=8 reason_string=15 stack=5 GoUnblock dt=5238 g=25 g_seq=7 stack=0 GoStart dt=7 g=25 g_seq=8 GoLabel dt=1 label_string=4 GoBlock dt=49 reason_string=15 stack=5 GoUnblock dt=1111 g=58 g_seq=11 stack=0 GoStart dt=6 g=58 g_seq=12 GoLabel dt=1 label_string=4 GoBlock dt=158 reason_string=15 stack=5 GoStart dt=3143 g=100 g_seq=2 GoStatus dt=20 g=109 m=18446744073709551615 gstatus=4 GoUnblock dt=7 g=109 g_seq=1 stack=10 GCMarkAssistBegin dt=17 stack=3 GoBlock dt=2307 reason_string=13 stack=11 GoUnblock dt=2192 g=14 g_seq=13 stack=0 GoStart dt=4 g=14 g_seq=14 GoLabel dt=1 label_string=4 GoBlock dt=1366 reason_string=15 stack=5 GoUnblock dt=68 g=23 g_seq=21 stack=0 GoStart dt=4 g=23 g_seq=22 GoLabel dt=1 label_string=4 GoBlock dt=21 reason_string=15 stack=5 ProcStop dt=3159 EventBatch gen=3 m=169404 time=28114950896316 size=116 ProcStatus dt=1 p=5 pstatus=1 GoStatus dt=2 g=14 m=169404 gstatus=2 GoBlock dt=5 reason_string=15 stack=5 GoUnblock dt=1436 g=67 g_seq=3 stack=0 GoStart dt=217 g=67 g_seq=4 GoLabel dt=3 label_string=4 GoBlock dt=1945 reason_string=15 stack=5 GoStart dt=23 g=121 g_seq=3 GoStop dt=570 reason_string=20 stack=9 GoStart dt=14 g=121 g_seq=4 GoBlock dt=1389 reason_string=13 stack=11 GoUnblock dt=13 g=51 g_seq=3 stack=0 GoStart dt=7 g=51 g_seq=4 GoLabel dt=1 label_string=2 GoBlock dt=1439 reason_string=15 stack=5 GoUnblock dt=17 g=14 g_seq=5 stack=0 GoStart dt=5 g=14 g_seq=6 GoLabel dt=2 label_string=2 GoBlock dt=11474 reason_string=15 stack=5 GoStart dt=4166 g=109 g_seq=3 GoBlock dt=39 reason_string=13 stack=11 GoStart dt=20 g=119 g_seq=4 GCMarkAssistEnd dt=7 HeapAlloc dt=68 heapalloc_value=191921600 GCMarkAssistBegin dt=69 stack=3 GoBlock dt=23 reason_string=13 stack=11 ProcStop dt=59 EventBatch gen=3 m=169402 time=28114950895074 size=135 ProcStatus dt=2 p=9 pstatus=1 GoStatus dt=2 g=25 m=169402 gstatus=2 GoBlock dt=14 reason_string=15 stack=5 GoStart dt=54 g=98 g_seq=1 GCMarkAssistBegin dt=99 stack=3 GCMarkAssistEnd dt=1187 HeapAlloc dt=68 heapalloc_value=190463424 GoStop dt=53 reason_string=16 stack=6 GoStart dt=10 g=82 g_seq=1 GCMarkAssistBegin dt=82 stack=3 GoStop dt=2699 reason_string=20 stack=9 GoStart dt=13 g=107 g_seq=2 GCMarkAssistEnd dt=7 GCMarkAssistBegin dt=49 stack=3 GoBlock dt=852 reason_string=13 stack=11 GoStart dt=29 g=90 g_seq=2 GCMarkAssistEnd dt=3 HeapAlloc dt=36 heapalloc_value=191233472 GCMarkAssistBegin dt=825 stack=3 GoBlock dt=392 reason_string=13 stack=11 GoUnblock dt=21 g=67 g_seq=5 stack=0 GoStart dt=5 g=67 g_seq=6 GoLabel dt=1 label_string=2 GoBlock dt=8638 reason_string=15 stack=5 GoUnblock dt=9 g=67 g_seq=7 stack=0 GoStart dt=4 g=67 g_seq=8 GoLabel dt=1 label_string=2 GoBlock dt=145 reason_string=15 stack=5 GoUnblock dt=14 g=67 g_seq=9 stack=0 GoStart dt=5 g=67 g_seq=10 GoLabel dt=1 label_string=2 GoBlock dt=7067 reason_string=15 stack=5 ProcStop dt=23 EventBatch gen=3 m=169401 time=28114950894770 size=505 ProcStatus dt=1 p=8 pstatus=1 GoStatus dt=1 g=130 m=169401 gstatus=2 ProcsChange dt=124 procs_value=48 stack=1 GCActive dt=3 gc_seq=4 HeapAlloc dt=600 heapalloc_value=190152128 HeapAlloc dt=16 heapalloc_value=190160320 HeapAlloc dt=11095 heapalloc_value=191741376 HeapAlloc dt=179 heapalloc_value=191749568 HeapAlloc dt=14244 heapalloc_value=192011712 HeapAlloc dt=292 heapalloc_value=192019904 HeapAlloc dt=244 heapalloc_value=192028096 HeapAlloc dt=3225 heapalloc_value=192036288 HeapAlloc dt=39 heapalloc_value=192044192 HeapAlloc dt=60 heapalloc_value=192052000 HeapAlloc dt=462 heapalloc_value=192060192 HeapAlloc dt=85 heapalloc_value=192068384 HeapAlloc dt=341 heapalloc_value=192076576 HeapAlloc dt=314 heapalloc_value=192142112 GoStop dt=8367 reason_string=16 stack=14 GoUnblock dt=274 g=30 g_seq=27 stack=0 GoStart dt=6 g=30 g_seq=28 GoLabel dt=1 label_string=2 GoBlock dt=312 reason_string=15 stack=5 GoUnblock dt=403 g=30 g_seq=29 stack=0 GoStart dt=4 g=30 g_seq=30 GoLabel dt=1 label_string=2 GoBlock dt=773 reason_string=15 stack=5 GoUnblock dt=7 g=30 g_seq=31 stack=0 GoStart dt=3 g=30 g_seq=32 GoLabel dt=1 label_string=2 GoBlock dt=8 reason_string=15 stack=5 GoStart dt=14 g=112 g_seq=4 GCMarkAssistEnd dt=6 HeapAlloc dt=45 heapalloc_value=192297760 GCMarkAssistBegin dt=107 stack=3 GoStop dt=897 reason_string=20 stack=9 GoUnblock dt=15 g=70 g_seq=19 stack=0 GoStart dt=5 g=70 g_seq=20 GoLabel dt=1 label_string=2 GoUnblock dt=1479 g=105 g_seq=5 stack=12 GoBlock dt=2280 reason_string=15 stack=5 GoUnblock dt=12 g=70 g_seq=21 stack=0 GoStart dt=5 g=70 g_seq=22 GoLabel dt=2 label_string=2 GoBlock dt=1253 reason_string=15 stack=5 GoUnblock dt=23 g=71 g_seq=35 stack=0 GoStart dt=8 g=71 g_seq=36 GoLabel dt=2 label_string=2 GoBlock dt=26 reason_string=15 stack=5 GoUnblock dt=6 g=71 g_seq=37 stack=0 GoStart dt=3 g=71 g_seq=38 GoLabel dt=1 label_string=2 GoBlock dt=9 reason_string=15 stack=5 GoUnblock dt=3 g=71 g_seq=39 stack=0 GoStart dt=2 g=71 g_seq=40 GoLabel dt=1 label_string=2 GoBlock dt=21 reason_string=15 stack=5 GoUnblock dt=3 g=71 g_seq=41 stack=0 GoStart dt=1 g=71 g_seq=42 GoLabel dt=1 label_string=2 GoUnblock dt=82 g=109 g_seq=4 stack=12 GoUnblock dt=6 g=106 g_seq=4 stack=12 GoUnblock dt=103 g=111 g_seq=4 stack=12 GoUnblock dt=5 g=112 g_seq=6 stack=12 GoUnblock dt=6 g=96 g_seq=5 stack=12 GoUnblock dt=4 g=119 g_seq=5 stack=12 GoUnblock dt=6 g=122 g_seq=1 stack=12 GoUnblock dt=11 g=97 g_seq=5 stack=12 GoUnblock dt=4 g=107 g_seq=3 stack=12 GoUnblock dt=106 g=92 g_seq=3 stack=12 GoUnblock dt=4 g=116 g_seq=9 stack=12 GoUnblock dt=5 g=82 g_seq=8 stack=12 GoBlock dt=9 reason_string=15 stack=5 GoStart dt=12 g=111 g_seq=5 GCMarkAssistEnd dt=5 HeapAlloc dt=22 heapalloc_value=192797400 GCMarkAssistBegin dt=75 stack=3 GoStop dt=22 reason_string=20 stack=9 GoUnblock dt=11 g=25 g_seq=53 stack=0 GoStart dt=4 g=25 g_seq=54 GoLabel dt=1 label_string=2 GoUnblock dt=1354 g=95 g_seq=4 stack=12 GoUnblock dt=9 g=90 g_seq=6 stack=12 GoUnblock dt=6 g=113 g_seq=9 stack=12 GoUnblock dt=3 g=89 g_seq=6 stack=12 GoBlock dt=30 reason_string=15 stack=5 GoStart dt=10 g=112 g_seq=7 GCMarkAssistEnd dt=5 GCMarkAssistBegin dt=28 stack=3 GoBlock dt=587 reason_string=13 stack=11 GoStart dt=6 g=116 g_seq=10 GCMarkAssistEnd dt=5 HeapAlloc dt=54 heapalloc_value=194337496 GCMarkAssistBegin dt=51 stack=3 GoBlock dt=21 reason_string=13 stack=11 GoStart dt=8 g=82 g_seq=9 GCMarkAssistEnd dt=6 HeapAlloc dt=63 heapalloc_value=194525912 GCMarkAssistBegin dt=51 stack=3 GoBlock dt=45 reason_string=13 stack=11 GoStart dt=22 g=95 g_seq=5 GCMarkAssistEnd dt=6 HeapAlloc dt=1508 heapalloc_value=195394264 GoStop dt=6034 reason_string=16 stack=6 GoStart dt=48 g=95 g_seq=6 GCMarkAssistBegin dt=18 stack=3 GoBlock dt=48 reason_string=10 stack=18 ProcStop dt=85 ProcStart dt=20619 p=17 p_seq=1 GoStart dt=1507 g=130 g_seq=7 EventBatch gen=3 m=169400 time=28114950894819 size=671 ProcStatus dt=1 p=12 pstatus=1 GoStatus dt=2 g=112 m=169400 gstatus=2 GCMarkAssistBegin dt=120 stack=3 GCMarkAssistEnd dt=3298 HeapAlloc dt=41 heapalloc_value=190758336 GCMarkAssistBegin dt=29 stack=3 GoStop dt=2271 reason_string=20 stack=9 GoStart dt=14 g=112 g_seq=1 GoStop dt=569 reason_string=20 stack=9 GoUnblock dt=2436 g=54 g_seq=1 stack=0 GoStart dt=18 g=54 g_seq=2 GoLabel dt=1 label_string=4 GoBlock dt=31 reason_string=15 stack=5 GoUnblock dt=5090 g=57 g_seq=13 stack=0 GoStart dt=6 g=57 g_seq=14 GoLabel dt=1 label_string=4 GoBlock dt=734 reason_string=15 stack=5 GoUnblock dt=4144 g=71 g_seq=15 stack=0 GoStart dt=5 g=71 g_seq=16 GoLabel dt=1 label_string=4 GoUnblock dt=415 g=111 g_seq=2 stack=12 GoBlock dt=5674 reason_string=15 stack=5 GoUnblock dt=9 g=71 g_seq=17 stack=0 GoStart dt=5 g=71 g_seq=18 GoLabel dt=1 label_string=2 GoUnblock dt=693 g=83 g_seq=3 stack=12 GoBlock dt=4708 reason_string=15 stack=5 GoUnblock dt=14 g=71 g_seq=19 stack=0 GoStart dt=6 g=71 g_seq=20 GoLabel dt=3 label_string=2 GoBlock dt=1294 reason_string=15 stack=5 GoUnblock dt=11 g=71 g_seq=21 stack=0 GoStart dt=4 g=71 g_seq=22 GoLabel dt=1 label_string=2 GoBlock dt=2434 reason_string=15 stack=5 GoUnblock dt=8 g=71 g_seq=23 stack=0 GoStart dt=3 g=71 g_seq=24 GoLabel dt=1 label_string=2 GoBlock dt=4227 reason_string=15 stack=5 ProcStop dt=41 ProcStart dt=3260 p=12 p_seq=1 GoUnblock dt=16 g=30 g_seq=33 stack=0 GoStart dt=143 g=30 g_seq=34 GoLabel dt=1 label_string=2 GoUnblock dt=553 g=89 g_seq=3 stack=12 GoUnblock dt=971 g=127 g_seq=3 stack=12 GoBlock dt=39 reason_string=15 stack=5 GoStart dt=21 g=89 g_seq=4 GCMarkAssistEnd dt=10 HeapAlloc dt=1100 heapalloc_value=192510680 GoStop dt=24 reason_string=16 stack=6 GoUnblock dt=12 g=22 g_seq=51 stack=0 GoStart dt=5 g=22 g_seq=52 GoLabel dt=3 label_string=2 GoBlock dt=1678 reason_string=15 stack=5 GoUnblock dt=13 g=22 g_seq=53 stack=0 GoStart dt=277 g=22 g_seq=54 GoLabel dt=3 label_string=2 GoBlock dt=960 reason_string=15 stack=5 GoUnblock dt=8 g=22 g_seq=55 stack=0 GoStart dt=4 g=22 g_seq=56 GoLabel dt=1 label_string=2 GoUnblock dt=583 g=99 g_seq=3 stack=12 GoUnblock dt=5 g=83 g_seq=6 stack=12 GoUnblock dt=5 g=124 g_seq=3 stack=12 GoUnblock dt=6 g=105 g_seq=9 stack=12 GoUnblock dt=1280 g=128 g_seq=3 stack=12 GoUnblock dt=8 g=101 g_seq=3 stack=12 GoBlock dt=7 reason_string=15 stack=5 GoStart dt=11 g=128 g_seq=4 GCMarkAssistEnd dt=7 HeapAlloc dt=38 heapalloc_value=193297112 GCMarkAssistBegin dt=118 stack=3 GCMarkAssistEnd dt=44 HeapAlloc dt=21 heapalloc_value=193403608 GoStop dt=87 reason_string=16 stack=6 GoStart dt=15 g=101 g_seq=4 GCMarkAssistEnd dt=5 HeapAlloc dt=58 heapalloc_value=193608408 GCMarkAssistBegin dt=92 stack=3 GoBlock dt=22 reason_string=13 stack=11 GoStart dt=10 g=128 g_seq=5 HeapAlloc dt=34 heapalloc_value=193829592 HeapAlloc dt=166 heapalloc_value=194026200 HeapAlloc dt=236 heapalloc_value=194419416 HeapAlloc dt=885 heapalloc_value=195279576 GoStop dt=6734 reason_string=16 stack=6 GoUnblock dt=1628 g=130 g_seq=3 stack=0 GoStart dt=136 g=130 g_seq=4 HeapAlloc dt=62 heapalloc_value=196532688 HeapAlloc dt=28 heapalloc_value=196540880 HeapAlloc dt=22 heapalloc_value=196549072 HeapAlloc dt=26 heapalloc_value=196557264 HeapAlloc dt=38 heapalloc_value=196565456 HeapAlloc dt=51 heapalloc_value=196573648 GoStop dt=3032 reason_string=16 stack=19 GoStart dt=10 g=117 g_seq=5 GCMarkAssistBegin dt=16 stack=3 GoBlock dt=51 reason_string=10 stack=18 ProcStop dt=29 ProcStart dt=9381 p=4 p_seq=2 GoStart dt=190 g=105 g_seq=16 GCMarkAssistEnd dt=4 HeapAlloc dt=76 heapalloc_value=105214112 HeapAlloc dt=103 heapalloc_value=105517216 HeapAlloc dt=84 heapalloc_value=105642912 HeapAlloc dt=85 heapalloc_value=105864096 GCSweepBegin dt=188 stack=28 GCSweepEnd dt=17 swept_value=16384 reclaimed_value=16384 HeapAlloc dt=2 heapalloc_value=106376096 HeapAlloc dt=43 heapalloc_value=106518816 HeapAlloc dt=43 heapalloc_value=106756384 HeapAlloc dt=82 heapalloc_value=106978976 HeapAlloc dt=42 heapalloc_value=107091616 GCSweepBegin dt=23 stack=28 GCSweepEnd dt=8 swept_value=8192 reclaimed_value=8192 HeapAlloc dt=3 heapalloc_value=107310112 HeapAlloc dt=35 heapalloc_value=107372960 HeapAlloc dt=65 heapalloc_value=107583264 HeapAlloc dt=141 heapalloc_value=108018976 HeapAlloc dt=161 heapalloc_value=108567968 GCSweepBegin dt=85 stack=28 GCSweepEnd dt=9 swept_value=24576 reclaimed_value=24576 HeapAlloc dt=4 heapalloc_value=108808352 HeapAlloc dt=90 heapalloc_value=109241120 HeapAlloc dt=139 heapalloc_value=109623584 HeapAlloc dt=162 heapalloc_value=110175008 HeapAlloc dt=164 heapalloc_value=110769024 HeapAlloc dt=246 heapalloc_value=111705984 HeapAlloc dt=187 heapalloc_value=112446208 HeapAlloc dt=161 heapalloc_value=113148544 HeapAlloc dt=295 heapalloc_value=114145664 GCSweepBegin dt=159 stack=28 GCSweepEnd dt=5 swept_value=8192 reclaimed_value=8192 HeapAlloc dt=7 heapalloc_value=114588800 GCSweepBegin dt=48 stack=27 EventBatch gen=3 m=169398 time=28114950899192 size=165 ProcStatus dt=1 p=37 pstatus=2 ProcStart dt=2 p=37 p_seq=1 GoStatus dt=3261 g=29 m=18446744073709551615 gstatus=4 GoUnblock dt=6 g=29 g_seq=1 stack=0 GoStart dt=10 g=29 g_seq=2 GoLabel dt=1 label_string=4 GoBlock dt=1840 reason_string=15 stack=5 GoStart dt=16 g=86 g_seq=3 GoBlock dt=1090 reason_string=13 stack=11 ProcStop dt=1389 ProcStart dt=16 p=37 p_seq=2 GoStart dt=1537 g=84 g_seq=4 GCMarkAssistEnd dt=7 HeapAlloc dt=55 heapalloc_value=191847872 GCMarkAssistBegin dt=85 stack=3 GoBlock dt=249 reason_string=13 stack=11 GoUnblock dt=1134 g=58 g_seq=9 stack=0 GoStart dt=7 g=58 g_seq=10 GoLabel dt=1 label_string=4 GoBlock dt=27 reason_string=15 stack=5 GoUnblock dt=2190 g=53 g_seq=9 stack=0 GoStart dt=8 g=53 g_seq=10 GoLabel dt=1 label_string=4 GoBlock dt=21 reason_string=15 stack=5 GoUnblock dt=2156 g=25 g_seq=13 stack=0 GoStart dt=4 g=25 g_seq=14 GoLabel dt=1 label_string=4 GoBlock dt=20 reason_string=15 stack=5 GoUnblock dt=1089 g=14 g_seq=7 stack=0 GoStart dt=4 g=14 g_seq=8 GoLabel dt=1 label_string=4 GoBlock dt=107 reason_string=15 stack=5 GoUnblock dt=1081 g=24 g_seq=15 stack=0 GoStart dt=6 g=24 g_seq=16 GoLabel dt=1 label_string=4 GoBlock dt=19 reason_string=15 stack=5 ProcStop dt=1075 EventBatch gen=3 m=169397 time=28114950897533 size=734 ProcStatus dt=1 p=25 pstatus=1 GoStatus dt=2 g=118 m=169397 gstatus=2 GCMarkAssistActive dt=1 g=118 GCMarkAssistEnd dt=2 HeapAlloc dt=37 heapalloc_value=190684608 GCMarkAssistBegin dt=79 stack=3 GoBlock dt=1327 reason_string=13 stack=11 ProcStop dt=4643 ProcStart dt=23 p=25 p_seq=1 GoUnblock dt=20 g=53 g_seq=1 stack=0 GoStart dt=9 g=53 g_seq=2 GoLabel dt=1 label_string=2 GoBlock dt=2529 reason_string=15 stack=5 GoStart dt=3244 g=123 g_seq=2 GoStatus dt=30 g=97 m=18446744073709551615 gstatus=4 GoUnblock dt=13 g=97 g_seq=1 stack=10 GCMarkAssistBegin dt=20 stack=3 GoStop dt=1976 reason_string=20 stack=9 GoStart dt=15 g=123 g_seq=3 GoStop dt=2654 reason_string=20 stack=9 GoStart dt=12 g=123 g_seq=4 GoStop dt=2704 reason_string=20 stack=9 GoUnblock dt=9 g=24 g_seq=17 stack=0 GoStart dt=4 g=24 g_seq=18 GoLabel dt=1 label_string=2 GoBlock dt=4029 reason_string=15 stack=5 GoUnblock dt=14 g=24 g_seq=19 stack=0 GoStart dt=4 g=24 g_seq=20 GoLabel dt=1 label_string=2 GoBlock dt=534 reason_string=15 stack=5 GoUnblock dt=4 g=24 g_seq=21 stack=0 GoStart dt=4 g=24 g_seq=22 GoLabel dt=1 label_string=2 GoBlock dt=250 reason_string=15 stack=5 GoUnblock dt=12 g=24 g_seq=23 stack=0 GoStart dt=4 g=24 g_seq=24 GoLabel dt=1 label_string=2 GoBlock dt=22 reason_string=15 stack=5 ProcStop dt=71 ProcStart dt=244 p=25 p_seq=2 ProcStop dt=54 ProcStart dt=25 p=25 p_seq=3 GoUnblock dt=8 g=53 g_seq=21 stack=0 GoStart dt=7 g=53 g_seq=22 GoLabel dt=1 label_string=4 GoBlock dt=86 reason_string=15 stack=5 GoUnblock dt=59 g=56 g_seq=3 stack=0 GoStart dt=4 g=56 g_seq=4 GoLabel dt=1 label_string=4 GoBlock dt=6219 reason_string=15 stack=5 GoUnblock dt=52 g=56 g_seq=5 stack=0 GoStart dt=4 g=56 g_seq=6 GoLabel dt=1 label_string=4 GoBlock dt=98 reason_string=15 stack=5 GoUnblock dt=61 g=14 g_seq=27 stack=0 GoStart dt=4 g=14 g_seq=28 GoLabel dt=1 label_string=4 GoBlock dt=32 reason_string=15 stack=5 GoUnblock dt=13 g=14 g_seq=29 stack=0 GoStart dt=5 g=14 g_seq=30 GoLabel dt=1 label_string=2 GoBlock dt=2423 reason_string=15 stack=5 ProcStop dt=36 ProcStart dt=7135 p=31 p_seq=2 GoStart dt=228 g=127 g_seq=4 GCMarkAssistEnd dt=9 HeapAlloc dt=2440 heapalloc_value=192666328 GoStop dt=28 reason_string=16 stack=4 GoUnblock dt=19 g=52 g_seq=57 stack=0 GoStart dt=6 g=52 g_seq=58 GoLabel dt=1 label_string=2 GoBlock dt=1072 reason_string=15 stack=5 GoUnblock dt=16 g=52 g_seq=59 stack=0 GoStart dt=6 g=52 g_seq=60 GoLabel dt=1 label_string=2 GoBlock dt=19 reason_string=15 stack=5 GoUnblock dt=17 g=54 g_seq=39 stack=0 GoStart dt=4 g=54 g_seq=40 GoLabel dt=1 label_string=2 GoBlock dt=2352 reason_string=15 stack=5 GoStart dt=22 g=127 g_seq=8 GCMarkAssistBegin dt=127 stack=3 GoBlock dt=42 reason_string=13 stack=11 GoStart dt=766 g=122 g_seq=2 GCMarkAssistEnd dt=2 HeapAlloc dt=19 heapalloc_value=194902744 GCMarkAssistBegin dt=66 stack=3 STWBegin dt=12586 kind_string=21 stack=21 GoUnblock dt=699 g=91 g_seq=3 stack=22 GoUnblock dt=5 g=127 g_seq=9 stack=22 GoUnblock dt=3 g=112 g_seq=8 stack=22 GoUnblock dt=4 g=82 g_seq=10 stack=22 GoUnblock dt=3 g=116 g_seq=11 stack=22 GoUnblock dt=3 g=93 g_seq=8 stack=22 GoUnblock dt=4 g=109 g_seq=6 stack=22 GoUnblock dt=5 g=115 g_seq=9 stack=22 GoUnblock dt=7 g=120 g_seq=7 stack=22 GoUnblock dt=7 g=105 g_seq=15 stack=22 GoUnblock dt=6 g=96 g_seq=7 stack=22 GoUnblock dt=3 g=118 g_seq=6 stack=22 GoUnblock dt=4 g=87 g_seq=7 stack=22 GoUnblock dt=4 g=84 g_seq=9 stack=22 GoUnblock dt=6 g=100 g_seq=6 stack=22 GoUnblock dt=29 g=86 g_seq=6 stack=23 HeapAlloc dt=53 heapalloc_value=103773088 GoStatus dt=10 g=3 m=18446744073709551615 gstatus=4 GoUnblock dt=7 g=3 g_seq=1 stack=24 GCEnd dt=3 gc_seq=5 HeapGoal dt=6 heapgoal_value=207987496 ProcsChange dt=45 procs_value=48 stack=25 STWEnd dt=399 GoUnblock dt=5992 g=130 g_seq=6 stack=26 GCMarkAssistEnd dt=9 HeapAlloc dt=11 heapalloc_value=103816864 GCSweepBegin dt=79 stack=27 GCSweepEnd dt=1631 swept_value=8388608 reclaimed_value=3260416 HeapAlloc dt=14 heapalloc_value=104810272 HeapAlloc dt=104 heapalloc_value=105001504 HeapAlloc dt=107 heapalloc_value=105164960 HeapAlloc dt=55 heapalloc_value=105308320 HeapAlloc dt=200 heapalloc_value=105798560 HeapAlloc dt=119 heapalloc_value=106091424 HeapAlloc dt=118 heapalloc_value=106359712 HeapAlloc dt=47 heapalloc_value=106488096 HeapAlloc dt=44 heapalloc_value=106763424 HeapAlloc dt=26 heapalloc_value=106820768 HeapAlloc dt=106 heapalloc_value=107277344 HeapAlloc dt=131 heapalloc_value=107656992 HeapAlloc dt=71 heapalloc_value=107790880 GCSweepBegin dt=42 stack=28 GCSweepEnd dt=6 swept_value=24576 reclaimed_value=24576 HeapAlloc dt=3 heapalloc_value=107860512 HeapAlloc dt=71 heapalloc_value=108305696 HeapAlloc dt=113 heapalloc_value=108608928 HeapAlloc dt=129 heapalloc_value=108890272 HeapAlloc dt=147 heapalloc_value=109508896 HeapAlloc dt=88 heapalloc_value=109776544 HeapAlloc dt=140 heapalloc_value=110286976 HeapAlloc dt=151 heapalloc_value=110900096 HeapAlloc dt=152 heapalloc_value=111433600 HeapAlloc dt=136 heapalloc_value=111931264 HeapAlloc dt=67 heapalloc_value=112248064 HeapAlloc dt=209 heapalloc_value=113046144 HeapAlloc dt=213 heapalloc_value=113949056 HeapAlloc dt=236 heapalloc_value=114471168 HeapAlloc dt=90 heapalloc_value=114663552 GCSweepBegin dt=45 stack=28 GCSweepEnd dt=10 swept_value=32768 reclaimed_value=32768 HeapAlloc dt=3 heapalloc_value=114703232 GCSweepBegin dt=54 stack=27 EventBatch gen=3 m=169396 time=28114950894859 size=148 ProcStatus dt=2 p=1 pstatus=1 GoStatus dt=4 g=86 m=169396 gstatus=2 GCMarkAssistActive dt=2 g=86 GCMarkAssistEnd dt=2 HeapAlloc dt=42 heapalloc_value=189889984 GoStop dt=32 reason_string=16 stack=4 GoUnblock dt=117 g=69 g_seq=1 stack=0 GoStart dt=6 g=69 g_seq=2 GoLabel dt=1 label_string=2 GoBlock dt=2672 reason_string=15 stack=5 GoStart dt=16 g=84 g_seq=1 GoStop dt=2565 reason_string=20 stack=9 GoStart dt=17 g=84 g_seq=2 GoBlock dt=886 reason_string=13 stack=11 ProcStop dt=2581 ProcStart dt=17 p=1 p_seq=1 ProcStop dt=4400 ProcStart dt=16 p=1 p_seq=2 GoStart dt=24 g=87 g_seq=3 GCMarkAssistEnd dt=8 HeapAlloc dt=70 heapalloc_value=191782336 GCMarkAssistBegin dt=85 stack=3 GoBlock dt=1055 reason_string=13 stack=11 GoUnblock dt=20 g=54 g_seq=9 stack=0 GoStart dt=7 g=54 g_seq=10 GoLabel dt=3 label_string=2 GoBlock dt=230 reason_string=15 stack=5 GoUnblock dt=12 g=54 g_seq=11 stack=0 GoStart dt=6 g=54 g_seq=12 GoLabel dt=1 label_string=2 GoBlock dt=1754 reason_string=15 stack=5 GoUnblock dt=12 g=54 g_seq=13 stack=0 GoStart dt=8 g=54 g_seq=14 GoLabel dt=3 label_string=2 GoBlock dt=1379 reason_string=15 stack=5 ProcStop dt=15 EventBatch gen=3 m=169395 time=28114950898507 size=532 ProcStatus dt=2 p=14 pstatus=1 GoStatus dt=2 g=103 m=169395 gstatus=2 GCMarkAssistActive dt=1 g=103 GCMarkAssistEnd dt=3 HeapAlloc dt=40 heapalloc_value=190873024 HeapAlloc dt=75 heapalloc_value=191036864 GCMarkAssistBegin dt=65 stack=3 GoBlock dt=6142 reason_string=13 stack=11 GoStart dt=19 g=98 g_seq=3 GCMarkAssistBegin dt=20 stack=3 GoStop dt=1738 reason_string=20 stack=9 GoStart dt=16 g=98 g_seq=4 GoBlock dt=2102 reason_string=13 stack=11 GoUnblock dt=2317 g=71 g_seq=5 stack=0 GoStart dt=5 g=71 g_seq=6 GoLabel dt=2 label_string=4 GoBlock dt=128 reason_string=15 stack=5 GoUnblock dt=2283 g=71 g_seq=13 stack=0 GoStart dt=7 g=71 g_seq=14 GoLabel dt=1 label_string=4 GoBlock dt=97 reason_string=15 stack=5 GoUnblock dt=1168 g=24 g_seq=13 stack=0 GoStart dt=7 g=24 g_seq=14 GoLabel dt=1 label_string=4 GoBlock dt=1399 reason_string=15 stack=5 GoUnblock dt=3752 g=23 g_seq=25 stack=0 GoStart dt=6 g=23 g_seq=26 GoLabel dt=3 label_string=4 GoBlock dt=1167 reason_string=15 stack=5 GoUnblock dt=99 g=52 g_seq=23 stack=0 GoStart dt=35 g=52 g_seq=24 GoLabel dt=1 label_string=4 GoBlock dt=47 reason_string=15 stack=5 GoUnblock dt=81 g=67 g_seq=19 stack=0 GoStart dt=8 g=67 g_seq=20 GoLabel dt=3 label_string=4 GoBlock dt=3975 reason_string=15 stack=5 GoUnblock dt=18 g=67 g_seq=21 stack=0 GoStart dt=6 g=67 g_seq=22 GoLabel dt=1 label_string=2 GoBlock dt=80 reason_string=15 stack=5 GoUnblock dt=18 g=67 g_seq=23 stack=0 GoStart dt=6 g=67 g_seq=24 GoLabel dt=1 label_string=2 GoBlock dt=22 reason_string=15 stack=5 GoUnblock dt=3174 g=14 g_seq=23 stack=0 GoStart dt=7 g=14 g_seq=24 GoLabel dt=1 label_string=4 GoBlock dt=22 reason_string=15 stack=5 GoUnblock dt=9 g=14 g_seq=25 stack=0 GoStart dt=2 g=14 g_seq=26 GoLabel dt=1 label_string=2 GoBlock dt=13 reason_string=15 stack=5 GoUnblock dt=65 g=29 g_seq=29 stack=0 GoStart dt=8 g=29 g_seq=30 GoLabel dt=1 label_string=4 GoBlock dt=18 reason_string=15 stack=5 GoUnblock dt=13 g=29 g_seq=31 stack=0 GoStart dt=6 g=29 g_seq=32 GoLabel dt=2 label_string=2 GoBlock dt=21 reason_string=15 stack=5 GoUnblock dt=19 g=24 g_seq=37 stack=0 GoStart dt=4 g=24 g_seq=38 GoLabel dt=2 label_string=2 GoBlock dt=33 reason_string=15 stack=5 GoUnblock dt=8 g=24 g_seq=39 stack=0 GoStart dt=3 g=24 g_seq=40 GoLabel dt=1 label_string=2 GoBlock dt=32 reason_string=15 stack=5 GoUnblock dt=80 g=25 g_seq=29 stack=0 GoStart dt=9 g=25 g_seq=30 GoLabel dt=1 label_string=4 GoBlock dt=20 reason_string=15 stack=5 GoUnblock dt=27 g=24 g_seq=43 stack=0 GoStart dt=6 g=24 g_seq=44 GoLabel dt=1 label_string=2 GoBlock dt=185 reason_string=15 stack=5 GoUnblock dt=9 g=24 g_seq=45 stack=0 GoStart dt=6 g=24 g_seq=46 GoLabel dt=3 label_string=2 GoBlock dt=10 reason_string=15 stack=5 GoUnblock dt=6 g=24 g_seq=47 stack=0 GoStart dt=1 g=24 g_seq=48 GoLabel dt=1 label_string=2 GoBlock dt=41 reason_string=15 stack=5 ProcStop dt=59 ProcStart dt=21430 p=4 p_seq=1 GoStart dt=238 g=102 g_seq=4 GCMarkAssistEnd dt=10 HeapAlloc dt=38 heapalloc_value=196352464 GoStop dt=5526 reason_string=16 stack=6 ProcStop dt=240 ProcStart dt=11401 p=6 p_seq=1 GoStart dt=196 g=109 g_seq=7 GCMarkAssistEnd dt=5 HeapAlloc dt=54 heapalloc_value=108264736 HeapAlloc dt=117 heapalloc_value=108527008 HeapAlloc dt=77 heapalloc_value=108783776 HeapAlloc dt=90 heapalloc_value=109036320 HeapAlloc dt=77 heapalloc_value=109355808 HeapAlloc dt=106 heapalloc_value=109678240 HeapAlloc dt=70 heapalloc_value=110030624 HeapAlloc dt=90 heapalloc_value=110205056 HeapAlloc dt=51 heapalloc_value=110347136 HeapAlloc dt=63 heapalloc_value=110588800 HeapAlloc dt=69 heapalloc_value=110912384 HeapAlloc dt=42 heapalloc_value=111111808 HeapAlloc dt=105 heapalloc_value=111452032 HeapAlloc dt=89 heapalloc_value=111822720 HeapAlloc dt=106 heapalloc_value=112260352 HeapAlloc dt=55 heapalloc_value=112397056 HeapAlloc dt=62 heapalloc_value=112682368 HeapAlloc dt=137 heapalloc_value=113281920 GCSweepBegin dt=50 stack=28 GCSweepEnd dt=8 swept_value=16384 reclaimed_value=16384 HeapAlloc dt=4 heapalloc_value=113424000 HeapAlloc dt=92 heapalloc_value=113908096 GCSweepBegin dt=145 stack=31 EventBatch gen=3 m=169394 time=28114950898962 size=373 ProcStatus dt=1 p=20 pstatus=1 GoStatus dt=4 g=108 m=169394 gstatus=2 GCMarkAssistActive dt=1 g=108 GCMarkAssistEnd dt=2 HeapAlloc dt=25 heapalloc_value=191102400 GCMarkAssistBegin dt=104 stack=3 GCMarkAssistEnd dt=2445 HeapAlloc dt=47 heapalloc_value=191372736 GCMarkAssistBegin dt=11 stack=3 GoBlock dt=1789 reason_string=13 stack=11 GoUnblock dt=19 g=22 g_seq=3 stack=0 GoStart dt=7 g=22 g_seq=4 GoLabel dt=1 label_string=2 GoBlock dt=3342 reason_string=15 stack=5 GoUnblock dt=2752 g=71 g_seq=1 stack=0 GoStart dt=7 g=71 g_seq=2 GoLabel dt=1 label_string=4 GoBlock dt=269 reason_string=15 stack=5 GoStart dt=4308 g=111 g_seq=3 GCMarkAssistEnd dt=7 HeapAlloc dt=58 heapalloc_value=191888832 GCMarkAssistBegin dt=42 stack=3 GoBlock dt=148 reason_string=13 stack=11 GoUnblock dt=1120 g=72 g_seq=25 stack=0 GoStart dt=5 g=72 g_seq=26 GoLabel dt=1 label_string=4 GoBlock dt=640 reason_string=15 stack=5 GoStart dt=1105 g=102 g_seq=2 GoStatus dt=19 g=117 m=18446744073709551615 gstatus=4 GoUnblock dt=4 g=117 g_seq=1 stack=10 GCMarkAssistBegin dt=13 stack=3 GoBlock dt=32 reason_string=13 stack=11 GoStart dt=8 g=117 g_seq=2 GoStatus dt=19 g=128 m=18446744073709551615 gstatus=4 GoUnblock dt=2 g=128 g_seq=1 stack=10 GCMarkAssistBegin dt=5 stack=3 GoBlock dt=15 reason_string=13 stack=11 GoStart dt=5 g=128 g_seq=2 GoStatus dt=12 g=92 m=18446744073709551615 gstatus=4 GoUnblock dt=1 g=92 g_seq=1 stack=10 GCMarkAssistBegin dt=9 stack=3 GoBlock dt=14 reason_string=13 stack=11 GoStart dt=7 g=92 g_seq=2 GoStatus dt=17 g=101 m=18446744073709551615 gstatus=4 GoUnblock dt=1 g=101 g_seq=1 stack=10 GCMarkAssistBegin dt=7 stack=3 GoBlock dt=10 reason_string=13 stack=11 GoStart dt=5 g=101 g_seq=2 GoStatus dt=11 g=99 m=18446744073709551615 gstatus=4 GoUnblock dt=1 g=99 g_seq=1 stack=10 GCMarkAssistBegin dt=8 stack=3 GoBlock dt=15 reason_string=13 stack=11 GoStart dt=6 g=99 g_seq=2 GoStatus dt=11 g=89 m=18446744073709551615 gstatus=4 GoUnblock dt=1 g=89 g_seq=1 stack=10 GCMarkAssistBegin dt=10 stack=3 GoBlock dt=15 reason_string=13 stack=11 GoStart dt=4 g=89 g_seq=2 GoStatus dt=11 g=124 m=18446744073709551615 gstatus=4 GoUnblock dt=2 g=124 g_seq=1 stack=10 GCMarkAssistBegin dt=8 stack=3 GoBlock dt=34 reason_string=13 stack=11 GoStart dt=5 g=124 g_seq=2 GoStatus dt=10 g=96 m=18446744073709551615 gstatus=4 GoUnblock dt=1 g=96 g_seq=1 stack=10 GCMarkAssistBegin dt=4 stack=3 GoBlock dt=14 reason_string=13 stack=11 GoStart dt=4 g=96 g_seq=2 GCMarkAssistBegin dt=8 stack=3 GoBlock dt=22 reason_string=13 stack=11 ProcStop dt=16 EventBatch gen=3 m=169393 time=28114950894837 size=271 ProcStatus dt=2 p=16 pstatus=1 GoStatus dt=2 g=69 m=169393 gstatus=2 GoBlock dt=122 reason_string=15 stack=5 GoStatus dt=2224 g=83 m=169393 gstatus=1 GoStart dt=1 g=83 g_seq=1 GoStatus dt=33 g=121 m=18446744073709551615 gstatus=4 GoUnblock dt=10 g=121 g_seq=1 stack=10 GCMarkAssistBegin dt=16 stack=3 GoStop dt=620 reason_string=20 stack=9 GoStart dt=11 g=121 g_seq=2 GoStatus dt=18 g=110 m=18446744073709551615 gstatus=4 GoUnblock dt=3 g=110 g_seq=1 stack=10 GCMarkAssistBegin dt=12 stack=3 GoStop dt=1840 reason_string=20 stack=9 GoStart dt=16 g=110 g_seq=2 GoStatus dt=19 g=125 m=18446744073709551615 gstatus=4 GoUnblock dt=3 g=125 g_seq=1 stack=10 GCMarkAssistBegin dt=10 stack=3 GoBlock dt=1799 reason_string=13 stack=11 GoStart dt=1317 g=127 g_seq=2 GoStatus dt=21 g=116 m=18446744073709551615 gstatus=4 GoUnblock dt=9 g=116 g_seq=1 stack=10 GCMarkAssistBegin dt=16 stack=3 GoBlock dt=473 reason_string=13 stack=11 GoStart dt=28 g=116 g_seq=2 GoStatus dt=14 g=119 m=18446744073709551615 gstatus=4 GoUnblock dt=3 g=119 g_seq=1 stack=10 GCMarkAssistBegin dt=12 stack=3 GoStop dt=570 reason_string=20 stack=9 GoStart dt=24 g=119 g_seq=2 GoStatus dt=18 g=95 m=18446744073709551615 gstatus=4 GoUnblock dt=3 g=95 g_seq=1 stack=10 GCMarkAssistBegin dt=11 stack=3 GoBlock dt=5206 reason_string=13 stack=11 ProcStop dt=2547 ProcStart dt=26 p=16 p_seq=1 GoUnblock dt=87 g=58 g_seq=15 stack=0 GoStart dt=8 g=58 g_seq=16 GoLabel dt=1 label_string=4 GoBlock dt=579 reason_string=15 stack=5 GoUnblock dt=23 g=69 g_seq=15 stack=0 GoStart dt=5 g=69 g_seq=16 GoLabel dt=1 label_string=2 GoBlock dt=1028 reason_string=15 stack=5 GoUnblock dt=2356 g=14 g_seq=11 stack=0 GoStart dt=6 g=14 g_seq=12 GoLabel dt=1 label_string=4 GoBlock dt=1282 reason_string=15 stack=5 ProcStop dt=8 EventBatch gen=3 m=169392 time=28114950898262 size=651 ProcStatus dt=1 p=3 pstatus=1 GoStatus dt=1 g=106 m=169392 gstatus=2 GCMarkAssistActive dt=1 g=106 GCMarkAssistEnd dt=3 HeapAlloc dt=34 heapalloc_value=190807488 HeapAlloc dt=125 heapalloc_value=190832064 GCMarkAssistBegin dt=46 stack=3 GoBlock dt=1002 reason_string=13 stack=11 GoStart dt=28 g=82 g_seq=2 GoBlock dt=1446 reason_string=13 stack=11 GoStart dt=34 g=120 g_seq=3 GCMarkAssistEnd dt=2 HeapAlloc dt=32 heapalloc_value=191282624 GCMarkAssistBegin dt=115 stack=3 GoBlock dt=25 reason_string=13 stack=11 GoStart dt=17 g=112 g_seq=2 GoBlock dt=2074 reason_string=13 stack=11 GoUnblock dt=2604 g=24 g_seq=5 stack=0 GoStart dt=7 g=24 g_seq=6 GoLabel dt=2 label_string=4 GoBlock dt=278 reason_string=15 stack=5 GoUnblock dt=2267 g=58 g_seq=5 stack=0 GoStart dt=9 g=58 g_seq=6 GoLabel dt=1 label_string=4 GoBlock dt=316 reason_string=15 stack=5 GoUnblock dt=1167 g=24 g_seq=7 stack=0 GoStart dt=6 g=24 g_seq=8 GoLabel dt=1 label_string=4 GoBlock dt=171 reason_string=15 stack=5 GoUnblock dt=1155 g=71 g_seq=7 stack=0 GoStart dt=6 g=71 g_seq=8 GoLabel dt=1 label_string=4 GoBlock dt=32 reason_string=15 stack=5 GoStart dt=3316 g=109 g_seq=2 GoStatus dt=28 g=114 m=18446744073709551615 gstatus=4 GoUnblock dt=8 g=114 g_seq=1 stack=10 GCMarkAssistBegin dt=18 stack=3 GoStop dt=3860 reason_string=20 stack=9 GoUnblock dt=14 g=57 g_seq=31 stack=0 GoStart dt=5 g=57 g_seq=32 GoLabel dt=3 label_string=2 GoBlock dt=3324 reason_string=15 stack=5 GoUnblock dt=97 g=24 g_seq=25 stack=0 GoStart dt=6 g=24 g_seq=26 GoLabel dt=1 label_string=4 GoBlock dt=1146 reason_string=15 stack=5 GoUnblock dt=73 g=24 g_seq=27 stack=0 GoStart dt=4 g=24 g_seq=28 GoLabel dt=1 label_string=4 GoUnblock dt=2655 g=81 g_seq=4 stack=12 GoBlock dt=402 reason_string=15 stack=5 GoUnblock dt=9 g=24 g_seq=29 stack=0 GoStart dt=7 g=24 g_seq=30 GoLabel dt=1 label_string=2 GoBlock dt=492 reason_string=15 stack=5 GoUnblock dt=21 g=69 g_seq=27 stack=0 GoStart dt=6 g=69 g_seq=28 GoLabel dt=1 label_string=2 GoBlock dt=20 reason_string=15 stack=5 GoUnblock dt=11 g=69 g_seq=29 stack=0 GoStart dt=3 g=69 g_seq=30 GoLabel dt=1 label_string=2 GoBlock dt=459 reason_string=15 stack=5 GoStart dt=168 g=116 g_seq=6 GCMarkAssistEnd dt=8 HeapAlloc dt=61 heapalloc_value=192232224 GCMarkAssistBegin dt=39 stack=3 GoBlock dt=2360 reason_string=13 stack=11 ProcStop dt=53 ProcStart dt=14760 p=10 p_seq=2 GoStart dt=211 g=99 g_seq=5 GCMarkAssistBegin dt=93 stack=3 GoBlock dt=33 reason_string=13 stack=11 GoStart dt=9 g=120 g_seq=6 GCMarkAssistBegin dt=78 stack=3 GoBlock dt=102 reason_string=13 stack=11 GoStart dt=31 g=108 g_seq=2 GCMarkAssistEnd dt=6 HeapAlloc dt=307 heapalloc_value=194853592 GoStop dt=7166 reason_string=16 stack=6 GoStart dt=86 g=128 g_seq=6 HeapAlloc dt=4873 heapalloc_value=196688336 GoStop dt=12 reason_string=16 stack=6 ProcStop dt=395 ProcStart dt=8670 p=3 p_seq=2 GoStart dt=193 g=93 g_seq=9 GCMarkAssistEnd dt=7 HeapAlloc dt=78 heapalloc_value=104465440 HeapAlloc dt=122 heapalloc_value=104583584 HeapAlloc dt=92 heapalloc_value=104769312 HeapAlloc dt=127 heapalloc_value=104935968 GCSweepBegin dt=109 stack=28 GCSweepEnd dt=9 swept_value=32768 reclaimed_value=32768 HeapAlloc dt=2 heapalloc_value=105138720 HeapAlloc dt=77 heapalloc_value=105373856 GCSweepBegin dt=157 stack=28 GCSweepEnd dt=8 swept_value=16384 reclaimed_value=16384 HeapAlloc dt=3 heapalloc_value=105708448 GCSweepBegin dt=56 stack=28 GCSweepEnd dt=11 swept_value=16384 reclaimed_value=16384 HeapAlloc dt=4 heapalloc_value=105880480 GCSweepBegin dt=48 stack=28 GCSweepEnd dt=10 swept_value=32768 reclaimed_value=32768 HeapAlloc dt=4 heapalloc_value=106124192 GCSweepBegin dt=79 stack=28 GCSweepEnd dt=7 swept_value=8192 reclaimed_value=8192 HeapAlloc dt=2 heapalloc_value=106283168 HeapAlloc dt=98 heapalloc_value=106567968 HeapAlloc dt=116 heapalloc_value=107070496 HeapAlloc dt=30 heapalloc_value=107146272 HeapAlloc dt=105 heapalloc_value=107517728 HeapAlloc dt=169 heapalloc_value=108084512 HeapAlloc dt=187 heapalloc_value=108649888 HeapAlloc dt=158 heapalloc_value=109200160 HeapAlloc dt=200 heapalloc_value=109872160 GCSweepBegin dt=116 stack=28 GCSweepEnd dt=9 swept_value=24576 reclaimed_value=24576 HeapAlloc dt=3 heapalloc_value=110229632 HeapAlloc dt=54 heapalloc_value=110441344 HeapAlloc dt=76 heapalloc_value=110711680 HeapAlloc dt=100 heapalloc_value=111216768 HeapAlloc dt=156 heapalloc_value=111708032 HeapAlloc dt=55 heapalloc_value=111972224 HeapAlloc dt=122 heapalloc_value=112391424 HeapAlloc dt=160 heapalloc_value=113099392 HeapAlloc dt=191 heapalloc_value=113713536 HeapAlloc dt=158 heapalloc_value=114362368 GCSweepBegin dt=88 stack=28 GCSweepEnd dt=14 swept_value=16384 reclaimed_value=16384 HeapAlloc dt=9 heapalloc_value=114520320 HeapAlloc dt=56 heapalloc_value=114636672 GCSweepBegin dt=180 stack=27 EventBatch gen=3 m=169390 time=28114950895313 size=834 ProcStatus dt=1 p=27 pstatus=1 GoStatus dt=3 g=82 m=169390 gstatus=2 GCMarkAssistActive dt=1 g=82 GCMarkAssistEnd dt=2 HeapAlloc dt=28 heapalloc_value=190143936 HeapAlloc dt=270 heapalloc_value=190201280 HeapAlloc dt=96 heapalloc_value=190209472 HeapAlloc dt=29 heapalloc_value=190258624 HeapAlloc dt=107 heapalloc_value=190356928 GCMarkAssistBegin dt=57 stack=3 GCMarkAssistEnd dt=502 HeapAlloc dt=27 heapalloc_value=190430656 GoStop dt=26 reason_string=16 stack=4 GoStart dt=12 g=131 g_seq=3 GoSyscallBegin dt=17 p_seq=1 stack=7 GoSyscallEnd dt=205 GoSyscallBegin dt=19 p_seq=2 stack=7 GoSyscallEnd dt=2580 GoSyscallBegin dt=16 p_seq=3 stack=7 GoSyscallEnd dt=71 GoSyscallBegin dt=15 p_seq=4 stack=7 GoSyscallEnd dt=72 GoSyscallBegin dt=25 p_seq=5 stack=7 GoSyscallEnd dt=76 GoSyscallBegin dt=12 p_seq=6 stack=7 GoSyscallEnd dt=69 GoSyscallBegin dt=11 p_seq=7 stack=7 GoSyscallEnd dt=62 GoSyscallBegin dt=13 p_seq=8 stack=7 GoSyscallEnd dt=67 GoSyscallBegin dt=16 p_seq=9 stack=7 GoSyscallEnd dt=64 GoSyscallBegin dt=12 p_seq=10 stack=7 GoSyscallEnd dt=65 GoSyscallBegin dt=14 p_seq=11 stack=7 GoSyscallEnd dt=226 GoSyscallBegin dt=14 p_seq=12 stack=7 GoSyscallEnd dt=69 GoSyscallBegin dt=17 p_seq=13 stack=7 GoSyscallEnd dt=72 GoSyscallBegin dt=15 p_seq=14 stack=7 GoSyscallEnd dt=66 GoSyscallBegin dt=18 p_seq=15 stack=7 GoSyscallEnd dt=63 GoSyscallBegin dt=13 p_seq=16 stack=7 GoSyscallEnd dt=69 GoSyscallBegin dt=17 p_seq=17 stack=7 GoSyscallEnd dt=66 GoSyscallBegin dt=109 p_seq=18 stack=7 GoSyscallEnd dt=73 GoSyscallBegin dt=13 p_seq=19 stack=7 GoSyscallEnd dt=68 GoSyscallBegin dt=16 p_seq=20 stack=7 GoSyscallEnd dt=63 GoSyscallBegin dt=15 p_seq=21 stack=7 GoSyscallEnd dt=82 GoSyscallBegin dt=11 p_seq=22 stack=7 GoSyscallEnd dt=177 GoSyscallBegin dt=14 p_seq=23 stack=7 GoSyscallEnd dt=62 GoSyscallBegin dt=13 p_seq=24 stack=7 GoSyscallEnd dt=90 GoSyscallBegin dt=11 p_seq=25 stack=7 GoSyscallEnd dt=69 GoSyscallBegin dt=13 p_seq=26 stack=7 GoSyscallEnd dt=65 GoSyscallBegin dt=15 p_seq=27 stack=7 GoSyscallEnd dt=72 GoSyscallBegin dt=15 p_seq=28 stack=7 GoSyscallEnd dt=73 GoSyscallBegin dt=18 p_seq=29 stack=7 GoSyscallEnd dt=80 GoSyscallBegin dt=21 p_seq=30 stack=7 GoSyscallEnd dt=72 GoSyscallBegin dt=17 p_seq=31 stack=7 GoSyscallEnd dt=67 GoSyscallBegin dt=12 p_seq=32 stack=7 GoSyscallEnd dt=171 GoSyscallBegin dt=16 p_seq=33 stack=7 GoSyscallEnd dt=76 GoSyscallBegin dt=18 p_seq=34 stack=7 GoSyscallEnd dt=78 GoSyscallBegin dt=13 p_seq=35 stack=7 GoSyscallEnd dt=77 GoSyscallBegin dt=20 p_seq=36 stack=7 GoSyscallEnd dt=77 GoBlock dt=16 reason_string=15 stack=2 GoUnblock dt=1400 g=54 g_seq=3 stack=0 GoStart dt=8 g=54 g_seq=4 GoLabel dt=1 label_string=4 GoBlock dt=2659 reason_string=15 stack=5 GoUnblock dt=13 g=22 g_seq=5 stack=0 GoStart dt=5 g=22 g_seq=6 GoLabel dt=1 label_string=2 GoBlock dt=2498 reason_string=15 stack=5 GoUnblock dt=10 g=22 g_seq=7 stack=0 GoStart dt=7 g=22 g_seq=8 GoLabel dt=2 label_string=2 GoBlock dt=4213 reason_string=15 stack=5 GoUnblock dt=1324 g=57 g_seq=25 stack=0 GoStart dt=11 g=57 g_seq=26 GoLabel dt=1 label_string=4 GoBlock dt=256 reason_string=15 stack=5 GoUnblock dt=8 g=57 g_seq=27 stack=0 GoStart dt=5 g=57 g_seq=28 GoLabel dt=1 label_string=2 GoBlock dt=485 reason_string=15 stack=5 GoUnblock dt=8 g=57 g_seq=29 stack=0 GoStart dt=6 g=57 g_seq=30 GoLabel dt=3 label_string=2 GoBlock dt=504 reason_string=15 stack=5 ProcStop dt=3771 ProcStart dt=29 p=27 p_seq=37 GoUnblock dt=9 g=22 g_seq=15 stack=0 GoStart dt=5 g=22 g_seq=16 GoLabel dt=1 label_string=4 GoBlock dt=123 reason_string=15 stack=5 GoUnblock dt=19 g=28 g_seq=7 stack=0 GoStart dt=2 g=28 g_seq=8 GoLabel dt=1 label_string=2 GoBlock dt=67 reason_string=15 stack=5 GoUnblock dt=73 g=72 g_seq=29 stack=0 GoStart dt=8 g=72 g_seq=30 GoLabel dt=1 label_string=4 GoBlock dt=1357 reason_string=15 stack=5 GoUnblock dt=71 g=53 g_seq=15 stack=0 GoStart dt=5 g=53 g_seq=16 GoLabel dt=2 label_string=4 GoBlock dt=53 reason_string=15 stack=5 ProcStop dt=61 ProcStart dt=29 p=27 p_seq=38 GoUnblock dt=4 g=72 g_seq=35 stack=0 GoStart dt=4 g=72 g_seq=36 GoLabel dt=1 label_string=4 GoBlock dt=775 reason_string=15 stack=5 GoUnblock dt=11 g=72 g_seq=37 stack=0 GoStart dt=5 g=72 g_seq=38 GoLabel dt=3 label_string=2 GoBlock dt=2553 reason_string=15 stack=5 GoUnblock dt=23 g=54 g_seq=27 stack=0 GoStart dt=7 g=54 g_seq=28 GoLabel dt=1 label_string=2 GoBlock dt=5185 reason_string=15 stack=5 ProcStop dt=46 ProcStart dt=1102 p=27 p_seq=39 GoUnblock dt=17 g=14 g_seq=31 stack=0 GoStart dt=191 g=14 g_seq=32 GoLabel dt=5 label_string=2 GoBlock dt=26 reason_string=15 stack=5 GoUnblock dt=7 g=14 g_seq=33 stack=0 GoStart dt=2 g=14 g_seq=34 GoLabel dt=1 label_string=2 GoBlock dt=81 reason_string=15 stack=5 GoUnblock dt=11 g=14 g_seq=35 stack=0 GoStart dt=6 g=14 g_seq=36 GoLabel dt=1 label_string=2 GoUnblock dt=257 g=97 g_seq=3 stack=12 GoStop dt=1123 reason_string=16 stack=13 GoUnblock dt=612 g=131 g_seq=4 stack=0 GoStart dt=5 g=131 g_seq=5 GoSyscallBegin dt=23 p_seq=40 stack=7 GoSyscallEnd dt=200 GoSyscallBegin dt=13 p_seq=41 stack=7 GoSyscallEnd dt=179 GoBlock dt=6 reason_string=15 stack=2 ProcStop dt=31 ProcStart dt=1232 p=22 p_seq=3 GoUnblock dt=16 g=14 g_seq=40 stack=0 GoStart dt=157 g=14 g_seq=41 GoLabel dt=2 label_string=2 GoUnblock dt=343 g=103 g_seq=1 stack=12 GoBlock dt=2805 reason_string=15 stack=5 ProcStop dt=68 ProcStart dt=17 p=22 p_seq=4 GoUnblock dt=3 g=14 g_seq=42 stack=0 GoStart dt=4 g=14 g_seq=43 GoLabel dt=1 label_string=4 GoUnblock dt=609 g=116 g_seq=7 stack=12 GoBlock dt=9 reason_string=15 stack=5 GoStart dt=10 g=116 g_seq=8 GCMarkAssistEnd dt=7 HeapAlloc dt=60 heapalloc_value=192527064 GCMarkAssistBegin dt=41 stack=3 GoBlock dt=47 reason_string=13 stack=11 GoUnblock dt=13 g=30 g_seq=35 stack=0 GoStart dt=4 g=30 g_seq=36 GoLabel dt=2 label_string=2 GoBlock dt=266 reason_string=15 stack=5 GoStart dt=16 g=105 g_seq=8 GoBlock dt=18 reason_string=13 stack=11 GoUnblock dt=55 g=54 g_seq=29 stack=0 GoStart dt=8 g=54 g_seq=30 GoLabel dt=1 label_string=4 GoBlock dt=13 reason_string=15 stack=5 GoUnblock dt=10 g=54 g_seq=31 stack=0 GoStart dt=1 g=54 g_seq=32 GoLabel dt=1 label_string=2 GoBlock dt=46 reason_string=15 stack=5 ProcStop dt=57 ProcStart dt=14 p=22 p_seq=5 GoUnblock dt=4 g=54 g_seq=33 stack=0 GoStart dt=159 g=54 g_seq=34 GoLabel dt=1 label_string=4 GoBlock dt=8 reason_string=15 stack=5 ProcStop dt=32 ProcStart dt=3156 p=29 p_seq=1 GoUnblock dt=15 g=71 g_seq=43 stack=0 GoStart dt=165 g=71 g_seq=44 GoLabel dt=1 label_string=2 GoBlock dt=1463 reason_string=15 stack=5 GoStart dt=22 g=118 g_seq=4 GCMarkAssistEnd dt=6 HeapAlloc dt=903 heapalloc_value=195328728 GoStop dt=6525 reason_string=16 stack=6 GoStart dt=46 g=118 g_seq=5 GCMarkAssistBegin dt=12 stack=3 GoBlock dt=31 reason_string=13 stack=11 ProcStop dt=194 EventBatch gen=3 m=18446744073709551615 time=28114950975784 size=435 GoStatus dt=1 g=1 m=18446744073709551615 gstatus=4 GoStatus dt=3 g=2 m=18446744073709551615 gstatus=4 GoStatus dt=6 g=4 m=18446744073709551615 gstatus=4 GoStatus dt=5 g=5 m=18446744073709551615 gstatus=4 GoStatus dt=4 g=6 m=18446744073709551615 gstatus=4 GoStatus dt=3 g=7 m=18446744073709551615 gstatus=4 GoStatus dt=3 g=17 m=18446744073709551615 gstatus=4 GoStatus dt=3 g=33 m=18446744073709551615 gstatus=4 GoStatus dt=3 g=8 m=18446744073709551615 gstatus=4 GoStatus dt=3 g=9 m=18446744073709551615 gstatus=4 GoStatus dt=3 g=10 m=18446744073709551615 gstatus=4 GoStatus dt=3 g=18 m=18446744073709551615 gstatus=4 GoStatus dt=3 g=11 m=18446744073709551615 gstatus=4 GoStatus dt=4 g=34 m=18446744073709551615 gstatus=4 GoStatus dt=3 g=19 m=18446744073709551615 gstatus=4 GoStatus dt=3 g=12 m=18446744073709551615 gstatus=4 GoStatus dt=2 g=20 m=18446744073709551615 gstatus=4 GoStatus dt=4 g=35 m=18446744073709551615 gstatus=4 GoStatus dt=3 g=13 m=18446744073709551615 gstatus=4 GoStatus dt=3 g=21 m=18446744073709551615 gstatus=4 GoStatus dt=3 g=36 m=18446744073709551615 gstatus=4 GoStatus dt=3 g=49 m=18446744073709551615 gstatus=4 GoStatus dt=3 g=50 m=18446744073709551615 gstatus=4 GoStatus dt=3 g=15 m=18446744073709551615 gstatus=4 GoStatus dt=4 g=65 m=18446744073709551615 gstatus=4 GoStatus dt=2 g=66 m=18446744073709551615 gstatus=4 GoStatus dt=3 g=26 m=18446744073709551615 gstatus=4 GoStatus dt=4 g=55 m=18446744073709551615 gstatus=4 GoStatus dt=3 g=27 m=18446744073709551615 gstatus=4 GoStatus dt=3 g=37 m=18446744073709551615 gstatus=4 GoStatus dt=3 g=129 m=18446744073709551615 gstatus=4 EventBatch gen=3 m=18446744073709551615 time=28114950976078 size=1132 Stacks Stack id=20 nframes=2 pc=4540421 func=22 file=23 line=363 pc=4546157 func=24 file=23 line=874 Stack id=21 nframes=5 pc=4312466 func=25 file=26 line=564 pc=4247187 func=27 file=28 line=1333 pc=4245160 func=29 file=28 line=1021 pc=4502184 func=30 file=31 line=103 pc=4804475 func=32 file=33 line=60 Stack id=18 nframes=6 pc=4296626 func=34 file=35 line=807 pc=4312466 func=25 file=26 line=564 pc=4247187 func=27 file=28 line=1333 pc=4245160 func=29 file=28 line=1021 pc=4502184 func=30 file=31 line=103 pc=4804475 func=32 file=33 line=60 Stack id=26 nframes=7 pc=4300939 func=36 file=35 line=1196 pc=4297301 func=34 file=35 line=926 pc=4312466 func=25 file=26 line=564 pc=4247187 func=27 file=28 line=1333 pc=4245160 func=29 file=28 line=1021 pc=4502184 func=30 file=31 line=103 pc=4804475 func=32 file=33 line=60 Stack id=7 nframes=7 pc=4709082 func=37 file=38 line=964 pc=4738119 func=39 file=40 line=209 pc=4738111 func=41 file=42 line=736 pc=4737664 func=43 file=42 line=380 pc=4739536 func=44 file=45 line=46 pc=4739528 func=46 file=47 line=183 pc=4803162 func=48 file=49 line=134 Stack id=10 nframes=4 pc=4295522 func=50 file=35 line=627 pc=4246870 func=29 file=28 line=1288 pc=4502184 func=30 file=31 line=103 pc=4804475 func=32 file=33 line=60 Stack id=29 nframes=8 pc=4556437 func=51 file=52 line=352 pc=4341796 func=53 file=54 line=521 pc=4279859 func=55 file=56 line=127 pc=4277746 func=57 file=58 line=182 pc=4244580 func=59 file=28 line=944 pc=4245653 func=29 file=28 line=1116 pc=4502184 func=30 file=31 line=103 pc=4804475 func=32 file=33 line=60 Stack id=14 nframes=1 pc=4546157 func=24 file=23 line=874 Stack id=17 nframes=1 pc=0 func=0 file=0 line=0 Stack id=19 nframes=2 pc=4540420 func=22 file=23 line=353 pc=4546157 func=24 file=23 line=874 Stack id=13 nframes=1 pc=0 func=0 file=0 line=0 Stack id=5 nframes=2 pc=4418893 func=60 file=61 line=402 pc=4301860 func=62 file=35 line=1297 Stack id=25 nframes=7 pc=4298957 func=36 file=35 line=1087 pc=4297301 func=34 file=35 line=926 pc=4312466 func=25 file=26 line=564 pc=4247187 func=27 file=28 line=1333 pc=4245160 func=29 file=28 line=1021 pc=4502184 func=30 file=31 line=103 pc=4804475 func=32 file=33 line=60 Stack id=4 nframes=2 pc=4502184 func=30 file=31 line=103 pc=4804475 func=32 file=33 line=60 Stack id=30 nframes=6 pc=4297308 func=34 file=35 line=817 pc=4312466 func=25 file=26 line=564 pc=4247187 func=27 file=28 line=1333 pc=4245160 func=29 file=28 line=1021 pc=4502184 func=30 file=31 line=103 pc=4804475 func=32 file=33 line=60 Stack id=11 nframes=6 pc=4314276 func=63 file=26 line=749 pc=4312530 func=25 file=26 line=589 pc=4247187 func=27 file=28 line=1333 pc=4245160 func=29 file=28 line=1021 pc=4502184 func=30 file=31 line=103 pc=4804475 func=32 file=33 line=60 Stack id=6 nframes=2 pc=4502184 func=30 file=31 line=103 pc=4804475 func=32 file=33 line=60 Stack id=15 nframes=1 pc=4546157 func=24 file=23 line=874 Stack id=8 nframes=1 pc=0 func=0 file=0 line=0 Stack id=12 nframes=2 pc=4614055 func=64 file=65 line=474 pc=4302129 func=62 file=35 line=1357 Stack id=3 nframes=6 pc=4556897 func=66 file=52 line=378 pc=4312252 func=25 file=26 line=536 pc=4247187 func=27 file=28 line=1333 pc=4245160 func=29 file=28 line=1021 pc=4502184 func=30 file=31 line=103 pc=4804475 func=32 file=33 line=60 Stack id=9 nframes=5 pc=4312495 func=25 file=26 line=576 pc=4247187 func=27 file=28 line=1333 pc=4245160 func=29 file=28 line=1021 pc=4502184 func=30 file=31 line=103 pc=4804475 func=32 file=33 line=60 Stack id=24 nframes=8 pc=4614055 func=64 file=65 line=474 pc=4298031 func=36 file=35 line=964 pc=4297301 func=34 file=35 line=926 pc=4312466 func=25 file=26 line=564 pc=4247187 func=27 file=28 line=1333 pc=4245160 func=29 file=28 line=1021 pc=4502184 func=30 file=31 line=103 pc=4804475 func=32 file=33 line=60 Stack id=23 nframes=6 pc=4297239 func=34 file=35 line=914 pc=4312466 func=25 file=26 line=564 pc=4247187 func=27 file=28 line=1333 pc=4245160 func=29 file=28 line=1021 pc=4502184 func=30 file=31 line=103 pc=4804475 func=32 file=33 line=60 Stack id=2 nframes=1 pc=4803172 func=48 file=49 line=130 Stack id=28 nframes=8 pc=4556437 func=51 file=52 line=352 pc=4341796 func=53 file=54 line=521 pc=4280028 func=55 file=56 line=147 pc=4277746 func=57 file=58 line=182 pc=4244580 func=59 file=28 line=944 pc=4246070 func=29 file=28 line=1145 pc=4502184 func=30 file=31 line=103 pc=4804475 func=32 file=33 line=60 Stack id=27 nframes=5 pc=4353658 func=67 file=68 line=958 pc=4278148 func=69 file=58 line=234 pc=4246244 func=29 file=28 line=1160 pc=4502184 func=30 file=31 line=103 pc=4804475 func=32 file=33 line=60 Stack id=16 nframes=3 pc=4217457 func=70 file=71 line=442 pc=4546317 func=72 file=23 line=918 pc=4546150 func=24 file=23 line=871 Stack id=31 nframes=8 pc=4353658 func=67 file=68 line=958 pc=4280657 func=73 file=56 line=254 pc=4280247 func=55 file=56 line=170 pc=4277746 func=57 file=58 line=182 pc=4244580 func=59 file=28 line=944 pc=4246070 func=29 file=28 line=1145 pc=4502184 func=30 file=31 line=103 pc=4804475 func=32 file=33 line=60 Stack id=1 nframes=3 pc=4554859 func=74 file=52 line=255 pc=4540633 func=22 file=23 line=391 pc=4546157 func=24 file=23 line=874 Stack id=22 nframes=10 pc=4558967 func=75 file=76 line=166 pc=4558898 func=77 file=52 line=445 pc=4447453 func=78 file=61 line=3712 pc=4314041 func=79 file=26 line=714 pc=4297238 func=34 file=35 line=909 pc=4312466 func=25 file=26 line=564 pc=4247187 func=27 file=28 line=1333 pc=4245160 func=29 file=28 line=1021 pc=4502184 func=30 file=31 line=103 pc=4804475 func=32 file=33 line=60 EventBatch gen=3 m=18446744073709551615 time=28114950894688 size=2762 Strings String id=1 data="Not worker" String id=2 data="GC (dedicated)" String id=3 data="GC (fractional)" String id=4 data="GC (idle)" String id=5 data="unspecified" String id=6 data="forever" String id=7 data="network" String id=8 data="select" String id=9 data="sync.(*Cond).Wait" String id=10 data="sync" String id=11 data="chan send" String id=12 data="chan receive" String id=13 data="GC mark assist wait for work" String id=14 data="GC background sweeper wait" String id=15 data="system goroutine wait" String id=16 data="preempted" String id=17 data="wait for debug call" String id=18 data="wait until GC ends" String id=19 data="sleep" String id=20 data="runtime.Gosched" String id=21 data="GC mark termination" String id=22 data="runtime.traceAdvance" String id=23 data="/usr/local/google/home/mknyszek/work/go-1/src/runtime/trace2.go" String id=24 data="runtime.(*traceAdvancerState).start.func1" String id=25 data="runtime.gcAssistAlloc" String id=26 data="/usr/local/google/home/mknyszek/work/go-1/src/runtime/mgcmark.go" String id=27 data="runtime.deductAssistCredit" String id=28 data="/usr/local/google/home/mknyszek/work/go-1/src/runtime/malloc.go" String id=29 data="runtime.mallocgc" String id=30 data="runtime.makeslice" String id=31 data="/usr/local/google/home/mknyszek/work/go-1/src/runtime/slice.go" String id=32 data="main.main.func1" String id=33 data="/usr/local/google/home/mknyszek/work/go-1/src/internal/trace/v2/testdata/testprog/gc-stress.go" String id=34 data="runtime.gcMarkDone" String id=35 data="/usr/local/google/home/mknyszek/work/go-1/src/runtime/mgc.go" String id=36 data="runtime.gcMarkTermination" String id=37 data="syscall.write" String id=38 data="/usr/local/google/home/mknyszek/work/go-1/src/syscall/zsyscall_linux_amd64.go" String id=39 data="syscall.Write" String id=40 data="/usr/local/google/home/mknyszek/work/go-1/src/syscall/syscall_unix.go" String id=41 data="internal/poll.ignoringEINTRIO" String id=42 data="/usr/local/google/home/mknyszek/work/go-1/src/internal/poll/fd_unix.go" String id=43 data="internal/poll.(*FD).Write" String id=44 data="os.(*File).write" String id=45 data="/usr/local/google/home/mknyszek/work/go-1/src/os/file_posix.go" String id=46 data="os.(*File).Write" String id=47 data="/usr/local/google/home/mknyszek/work/go-1/src/os/file.go" String id=48 data="runtime/trace.Start.func1" String id=49 data="/usr/local/google/home/mknyszek/work/go-1/src/runtime/trace/trace.go" String id=50 data="runtime.gcStart" String id=51 data="runtime.traceLocker.GCSweepSpan" String id=52 data="/usr/local/google/home/mknyszek/work/go-1/src/runtime/trace2runtime.go" String id=53 data="runtime.(*sweepLocked).sweep" String id=54 data="/usr/local/google/home/mknyszek/work/go-1/src/runtime/mgcsweep.go" String id=55 data="runtime.(*mcentral).cacheSpan" String id=56 data="/usr/local/google/home/mknyszek/work/go-1/src/runtime/mcentral.go" String id=57 data="runtime.(*mcache).refill" String id=58 data="/usr/local/google/home/mknyszek/work/go-1/src/runtime/mcache.go" String id=59 data="runtime.(*mcache).nextFree" String id=60 data="runtime.gopark" String id=61 data="/usr/local/google/home/mknyszek/work/go-1/src/runtime/proc.go" String id=62 data="runtime.gcBgMarkWorker" String id=63 data="runtime.gcParkAssist" String id=64 data="runtime.systemstack_switch" String id=65 data="/usr/local/google/home/mknyszek/work/go-1/src/runtime/asm_amd64.s" String id=66 data="runtime.traceLocker.GCMarkAssistStart" String id=67 data="runtime.(*mheap).alloc" String id=68 data="/usr/local/google/home/mknyszek/work/go-1/src/runtime/mheap.go" String id=69 data="runtime.(*mcache).allocLarge" String id=70 data="runtime.chanrecv1" String id=71 data="/usr/local/google/home/mknyszek/work/go-1/src/runtime/chan.go" String id=72 data="runtime.(*wakeableSleep).sleep" String id=73 data="runtime.(*mcentral).grow" String id=74 data="runtime.traceLocker.Gomaxprocs" String id=75 data="runtime.traceLocker.stack" String id=76 data="/usr/local/google/home/mknyszek/work/go-1/src/runtime/trace2event.go" String id=77 data="runtime.traceLocker.GoUnpark" String id=78 data="runtime.injectglist" String id=79 data="runtime.gcWakeAllAssists" ././@LongLink0000644000000000000000000000024300000000000011602 Lustar rootrootdependencies/pkg/mod/golang.org/x/exp@v0.0.0-20240506185415-9bf2ced13842/trace/testdata/tests/go122-syscall-steal-proc-gen-boundary-reacquire-new-proc-bare-m.testdependencies/pkg/mod/golang.org/x/exp@v0.0.0-20240506185415-9bf2ced13842/trace/testdata/tests/go122-0000644000000000000000000000075515107355263027633 0ustar rootroot-- expect -- SUCCESS -- trace -- Trace Go1.22 EventBatch gen=1 m=0 time=0 size=15 GoStatus dt=1 g=1 m=0 gstatus=3 ProcStatus dt=1 p=1 pstatus=2 ProcStart dt=1 p=1 p_seq=1 GoSyscallEndBlocked dt=1 EventBatch gen=1 m=1 time=0 size=9 ProcStatus dt=1 p=0 pstatus=4 ProcSteal dt=1 p=0 p_seq=1 m=0 EventBatch gen=1 m=18446744073709551615 time=0 size=5 Frequency freq=15625000 EventBatch gen=1 m=18446744073709551615 time=0 size=1 Stacks EventBatch gen=1 m=18446744073709551615 time=0 size=1 Strings ././@LongLink0000644000000000000000000000020100000000000011574 Lustar rootrootdependencies/pkg/mod/golang.org/x/exp@v0.0.0-20240506185415-9bf2ced13842/trace/testdata/tests/go122-task-across-generations.testdependencies/pkg/mod/golang.org/x/exp@v0.0.0-20240506185415-9bf2ced13842/trace/testdata/tests/go122-0000644000000000000000000000137715107355263027634 0ustar rootroot-- expect -- SUCCESS -- trace -- Trace Go1.22 EventBatch gen=1 m=0 time=0 size=15 ProcStatus dt=1 p=0 pstatus=1 GoStatus dt=1 g=1 m=0 gstatus=2 UserTaskBegin dt=1 task=2 parent_task=0 name_string=1 stack=0 EventBatch gen=1 m=18446744073709551615 time=0 size=5 Frequency freq=15625000 EventBatch gen=1 m=18446744073709551615 time=0 size=1 Stacks EventBatch gen=1 m=18446744073709551615 time=0 size=11 Strings String id=1 data="my task" EventBatch gen=2 m=0 time=5 size=13 ProcStatus dt=1 p=0 pstatus=1 GoStatus dt=1 g=1 m=0 gstatus=2 UserTaskEnd dt=1 task=2 stack=0 EventBatch gen=2 m=18446744073709551615 time=0 size=5 Frequency freq=15625000 EventBatch gen=2 m=18446744073709551615 time=0 size=1 Stacks EventBatch gen=2 m=18446744073709551615 time=0 size=1 Strings ././@LongLink0000644000000000000000000000016500000000000011605 Lustar rootrootdependencies/pkg/mod/golang.org/x/exp@v0.0.0-20240506185415-9bf2ced13842/trace/testdata/tests/go122-annotations.testdependencies/pkg/mod/golang.org/x/exp@v0.0.0-20240506185415-9bf2ced13842/trace/testdata/tests/go122-0000644000000000000000000002135315107355263027630 0ustar rootroot-- expect -- SUCCESS -- trace -- Trace Go1.22 EventBatch gen=1 m=18446744073709551615 time=28113086279559 size=5 Frequency freq=15625000 EventBatch gen=1 m=167930 time=28113086277797 size=41 ProcStart dt=505 p=1 p_seq=1 GoStart dt=303 g=7 g_seq=1 HeapAlloc dt=646 heapalloc_value=1892352 HeapAlloc dt=149 heapalloc_value=1900544 GoBlock dt=146 reason_string=12 stack=24 GoStart dt=14 g=6 g_seq=1 HeapAlloc dt=16 heapalloc_value=1908736 GoBlock dt=347 reason_string=12 stack=25 EventBatch gen=1 m=167928 time=28113086279032 size=10 ProcStart dt=451 p=2 p_seq=1 GoStart dt=188 g=8 g_seq=1 EventBatch gen=1 m=167926 time=28113086275999 size=324 ProcStatus dt=295 p=0 pstatus=1 GoStatus dt=5 g=1 m=167926 gstatus=2 ProcsChange dt=405 procs_value=48 stack=1 STWBegin dt=65 kind_string=21 stack=2 HeapGoal dt=2 heapgoal_value=4194304 ProcStatus dt=4 p=1 pstatus=2 ProcStatus dt=1 p=2 pstatus=2 ProcStatus dt=1 p=3 pstatus=2 ProcStatus dt=1 p=4 pstatus=2 ProcStatus dt=1 p=5 pstatus=2 ProcStatus dt=1 p=6 pstatus=2 ProcStatus dt=1 p=7 pstatus=2 ProcStatus dt=1 p=8 pstatus=2 ProcStatus dt=1 p=9 pstatus=2 ProcStatus dt=1 p=10 pstatus=2 ProcStatus dt=1 p=11 pstatus=2 ProcStatus dt=1 p=12 pstatus=2 ProcStatus dt=1 p=13 pstatus=2 ProcStatus dt=1 p=14 pstatus=2 ProcStatus dt=1 p=15 pstatus=2 ProcStatus dt=1 p=16 pstatus=2 ProcStatus dt=1 p=17 pstatus=2 ProcStatus dt=1 p=18 pstatus=2 ProcStatus dt=1 p=19 pstatus=2 ProcStatus dt=1 p=20 pstatus=2 ProcStatus dt=1 p=21 pstatus=2 ProcStatus dt=1 p=22 pstatus=2 ProcStatus dt=1 p=23 pstatus=2 ProcStatus dt=1 p=24 pstatus=2 ProcStatus dt=1 p=25 pstatus=2 ProcStatus dt=1 p=26 pstatus=2 ProcStatus dt=1 p=27 pstatus=2 ProcStatus dt=1 p=28 pstatus=2 ProcStatus dt=1 p=29 pstatus=2 ProcStatus dt=1 p=30 pstatus=2 ProcStatus dt=1 p=31 pstatus=2 ProcStatus dt=1 p=32 pstatus=2 ProcStatus dt=1 p=33 pstatus=2 ProcStatus dt=1 p=34 pstatus=2 ProcStatus dt=1 p=35 pstatus=2 ProcStatus dt=1 p=36 pstatus=2 ProcStatus dt=1 p=37 pstatus=2 ProcStatus dt=1 p=38 pstatus=2 ProcStatus dt=1 p=39 pstatus=2 ProcStatus dt=1 p=40 pstatus=2 ProcStatus dt=1 p=41 pstatus=2 ProcStatus dt=1 p=42 pstatus=2 ProcStatus dt=1 p=43 pstatus=2 ProcStatus dt=1 p=44 pstatus=2 ProcStatus dt=1 p=45 pstatus=2 ProcStatus dt=1 p=46 pstatus=2 ProcStatus dt=1 p=47 pstatus=2 ProcsChange dt=1 procs_value=48 stack=3 STWEnd dt=184 GoCreate dt=252 new_g=6 new_stack=4 stack=5 GoCreate dt=78 new_g=7 new_stack=6 stack=7 GoCreate dt=73 new_g=8 new_stack=8 stack=9 UserTaskBegin dt=71 task=1 parent_task=0 name_string=22 stack=10 UserRegionBegin dt=535 task=1 name_string=23 stack=11 HeapAlloc dt=26 heapalloc_value=1884160 GoCreate dt=8 new_g=9 new_stack=12 stack=13 GoBlock dt=249 reason_string=10 stack=14 GoStart dt=8 g=9 g_seq=1 UserRegionBegin dt=286 task=1 name_string=24 stack=15 UserRegionBegin dt=244 task=1 name_string=25 stack=16 UserRegionBegin dt=6 task=1 name_string=26 stack=17 UserLog dt=6 task=1 key_string=27 value_string=28 stack=18 UserRegionEnd dt=4 task=1 name_string=26 stack=19 UserRegionEnd dt=315 task=1 name_string=25 stack=20 UserTaskEnd dt=5 task=1 stack=21 GoUnblock dt=11 g=1 g_seq=1 stack=22 GoDestroy dt=6 GoStart dt=10 g=1 g_seq=2 UserRegionBegin dt=278 task=0 name_string=29 stack=23 EventBatch gen=1 m=18446744073709551615 time=28113086280061 size=57 GoStatus dt=318 g=2 m=18446744073709551615 gstatus=4 GoStatus dt=3 g=3 m=18446744073709551615 gstatus=4 GoStatus dt=1 g=4 m=18446744073709551615 gstatus=4 GoStatus dt=1 g=5 m=18446744073709551615 gstatus=4 EventBatch gen=1 m=18446744073709551615 time=28113086280852 size=488 Stacks Stack id=17 nframes=3 pc=4816080 func=30 file=31 line=45 pc=4813660 func=32 file=33 line=141 pc=4815908 func=34 file=31 line=43 Stack id=8 nframes=1 pc=4814528 func=35 file=36 line=128 Stack id=9 nframes=2 pc=4814351 func=37 file=36 line=128 pc=4815228 func=38 file=31 line=27 Stack id=24 nframes=3 pc=4217457 func=39 file=40 line=442 pc=4544973 func=41 file=42 line=918 pc=4544806 func=43 file=42 line=871 Stack id=7 nframes=4 pc=4544740 func=44 file=42 line=868 pc=4538792 func=45 file=42 line=258 pc=4814277 func=37 file=36 line=125 pc=4815228 func=38 file=31 line=27 Stack id=22 nframes=3 pc=4642148 func=46 file=47 line=81 pc=4816326 func=48 file=47 line=87 pc=4815941 func=34 file=31 line=50 Stack id=11 nframes=1 pc=4815364 func=38 file=31 line=34 Stack id=5 nframes=4 pc=4547349 func=49 file=50 line=42 pc=4538780 func=45 file=42 line=257 pc=4814277 func=37 file=36 line=125 pc=4815228 func=38 file=31 line=27 Stack id=23 nframes=1 pc=4815568 func=38 file=31 line=54 Stack id=3 nframes=4 pc=4421860 func=51 file=52 line=1360 pc=4538775 func=45 file=42 line=255 pc=4814277 func=37 file=36 line=125 pc=4815228 func=38 file=31 line=27 Stack id=21 nframes=2 pc=4816228 func=53 file=33 line=80 pc=4815926 func=34 file=31 line=50 Stack id=1 nframes=4 pc=4553515 func=54 file=55 line=255 pc=4538503 func=45 file=42 line=237 pc=4814277 func=37 file=36 line=125 pc=4815228 func=38 file=31 line=27 Stack id=12 nframes=1 pc=4815680 func=34 file=31 line=37 Stack id=6 nframes=1 pc=4544768 func=43 file=42 line=868 Stack id=2 nframes=3 pc=4538523 func=45 file=42 line=238 pc=4814277 func=37 file=36 line=125 pc=4815228 func=38 file=31 line=27 Stack id=13 nframes=1 pc=4815492 func=38 file=31 line=37 Stack id=4 nframes=1 pc=4547456 func=56 file=50 line=42 Stack id=14 nframes=2 pc=4642407 func=57 file=47 line=116 pc=4815502 func=38 file=31 line=51 Stack id=18 nframes=5 pc=4816147 func=58 file=31 line=46 pc=4813660 func=32 file=33 line=141 pc=4816080 func=30 file=31 line=45 pc=4813660 func=32 file=33 line=141 pc=4815908 func=34 file=31 line=43 Stack id=20 nframes=1 pc=4815908 func=34 file=31 line=43 Stack id=25 nframes=3 pc=4217457 func=39 file=40 line=442 pc=4544973 func=41 file=42 line=918 pc=4547514 func=56 file=50 line=54 Stack id=16 nframes=1 pc=4815908 func=34 file=31 line=43 Stack id=15 nframes=1 pc=4815838 func=34 file=31 line=41 Stack id=19 nframes=3 pc=4816080 func=30 file=31 line=45 pc=4813660 func=32 file=33 line=141 pc=4815908 func=34 file=31 line=43 Stack id=10 nframes=1 pc=4815332 func=38 file=31 line=33 EventBatch gen=1 m=18446744073709551615 time=28113086274600 size=1620 Strings String id=1 data="Not worker" String id=2 data="GC (dedicated)" String id=3 data="GC (fractional)" String id=4 data="GC (idle)" String id=5 data="unspecified" String id=6 data="forever" String id=7 data="network" String id=8 data="select" String id=9 data="sync.(*Cond).Wait" String id=10 data="sync" String id=11 data="chan send" String id=12 data="chan receive" String id=13 data="GC mark assist wait for work" String id=14 data="GC background sweeper wait" String id=15 data="system goroutine wait" String id=16 data="preempted" String id=17 data="wait for debug call" String id=18 data="wait until GC ends" String id=19 data="sleep" String id=20 data="runtime.Gosched" String id=21 data="start trace" String id=22 data="task0" String id=23 data="task0 region" String id=24 data="unended region" String id=25 data="region0" String id=26 data="region1" String id=27 data="key0" String id=28 data="0123456789abcdef" String id=29 data="post-existing region" String id=30 data="main.main.func1.1" String id=31 data="/usr/local/google/home/mknyszek/work/go-1/src/internal/trace/v2/testdata/testprog/annotations.go" String id=32 data="runtime/trace.WithRegion" String id=33 data="/usr/local/google/home/mknyszek/work/go-1/src/runtime/trace/annotation.go" String id=34 data="main.main.func1" String id=35 data="runtime/trace.Start.func1" String id=36 data="/usr/local/google/home/mknyszek/work/go-1/src/runtime/trace/trace.go" String id=37 data="runtime/trace.Start" String id=38 data="main.main" String id=39 data="runtime.chanrecv1" String id=40 data="/usr/local/google/home/mknyszek/work/go-1/src/runtime/chan.go" String id=41 data="runtime.(*wakeableSleep).sleep" String id=42 data="/usr/local/google/home/mknyszek/work/go-1/src/runtime/trace2.go" String id=43 data="runtime.(*traceAdvancerState).start.func1" String id=44 data="runtime.(*traceAdvancerState).start" String id=45 data="runtime.StartTrace" String id=46 data="sync.(*WaitGroup).Add" String id=47 data="/usr/local/google/home/mknyszek/work/go-1/src/sync/waitgroup.go" String id=48 data="sync.(*WaitGroup).Done" String id=49 data="runtime.traceStartReadCPU" String id=50 data="/usr/local/google/home/mknyszek/work/go-1/src/runtime/trace2cpu.go" String id=51 data="runtime.startTheWorld" String id=52 data="/usr/local/google/home/mknyszek/work/go-1/src/runtime/proc.go" String id=53 data="runtime/trace.(*Task).End" String id=54 data="runtime.traceLocker.Gomaxprocs" String id=55 data="/usr/local/google/home/mknyszek/work/go-1/src/runtime/trace2runtime.go" String id=56 data="runtime.traceStartReadCPU.func1" String id=57 data="sync.(*WaitGroup).Wait" String id=58 data="main.main.func1.1.1" ././@LongLink0000644000000000000000000000017700000000000011610 Lustar rootrootdependencies/pkg/mod/golang.org/x/exp@v0.0.0-20240506185415-9bf2ced13842/trace/testdata/tests/go122-create-syscall-with-p.testdependencies/pkg/mod/golang.org/x/exp@v0.0.0-20240506185415-9bf2ced13842/trace/testdata/tests/go122-0000644000000000000000000000116015107355263027622 0ustar rootroot-- expect -- FAILURE ".*expected a proc but didn't have one.*" -- trace -- Trace Go1.22 EventBatch gen=1 m=0 time=0 size=34 GoCreateSyscall dt=1 new_g=4 ProcStatus dt=1 p=0 pstatus=2 ProcStart dt=1 p=0 p_seq=1 GoSyscallEndBlocked dt=1 GoStart dt=1 g=4 g_seq=1 GoSyscallBegin dt=1 p_seq=2 stack=0 GoDestroySyscall dt=1 GoCreateSyscall dt=1 new_g=4 GoSyscallEnd dt=1 GoSyscallBegin dt=1 p_seq=3 stack=0 GoDestroySyscall dt=1 EventBatch gen=1 m=18446744073709551615 time=0 size=5 Frequency freq=15625000 EventBatch gen=1 m=18446744073709551615 time=0 size=1 Stacks EventBatch gen=1 m=18446744073709551615 time=0 size=1 Strings ././@LongLink0000644000000000000000000000020300000000000011576 Lustar rootrootdependencies/pkg/mod/golang.org/x/exp@v0.0.0-20240506185415-9bf2ced13842/trace/testdata/tests/go122-syscall-steal-proc-simple.testdependencies/pkg/mod/golang.org/x/exp@v0.0.0-20240506185415-9bf2ced13842/trace/testdata/tests/go122-0000644000000000000000000000102715107355263027624 0ustar rootroot-- expect -- SUCCESS -- trace -- Trace Go1.22 EventBatch gen=1 m=0 time=0 size=15 ProcStatus dt=1 p=0 pstatus=1 GoStatus dt=1 g=1 m=0 gstatus=2 GoSyscallBegin dt=1 p_seq=1 stack=0 GoSyscallEndBlocked dt=1 EventBatch gen=1 m=1 time=0 size=14 ProcStatus dt=1 p=2 pstatus=1 GoStatus dt=1 g=2 m=1 gstatus=2 ProcSteal dt=1 p=0 p_seq=2 m=0 EventBatch gen=1 m=18446744073709551615 time=0 size=5 Frequency freq=15625000 EventBatch gen=1 m=18446744073709551615 time=0 size=1 Stacks EventBatch gen=1 m=18446744073709551615 time=0 size=1 Strings ././@LongLink0000644000000000000000000000020100000000000011574 Lustar rootrootdependencies/pkg/mod/golang.org/x/exp@v0.0.0-20240506185415-9bf2ced13842/trace/testdata/tests/go122-syscall-steal-proc-self.testdependencies/pkg/mod/golang.org/x/exp@v0.0.0-20240506185415-9bf2ced13842/trace/testdata/tests/go122-0000644000000000000000000000072015107355263027623 0ustar rootroot-- expect -- SUCCESS -- trace -- Trace Go1.22 EventBatch gen=1 m=0 time=0 size=24 ProcStatus dt=0 p=0 pstatus=1 GoStatus dt=0 g=1 m=0 gstatus=2 GoSyscallBegin dt=0 p_seq=1 stack=0 ProcSteal dt=0 p=0 p_seq=2 m=0 ProcStart dt=0 p=0 p_seq=3 GoSyscallEndBlocked dt=0 EventBatch gen=1 m=18446744073709551615 time=0 size=5 Frequency freq=15625000 EventBatch gen=1 m=18446744073709551615 time=0 size=1 Stacks EventBatch gen=1 m=18446744073709551615 time=0 size=1 Strings ././@LongLink0000644000000000000000000000022600000000000011603 Lustar rootrootdependencies/pkg/mod/golang.org/x/exp@v0.0.0-20240506185415-9bf2ced13842/trace/testdata/tests/go122-syscall-steal-proc-reacquire-new-proc-bare-m.testdependencies/pkg/mod/golang.org/x/exp@v0.0.0-20240506185415-9bf2ced13842/trace/testdata/tests/go122-0000644000000000000000000000102115107355263027616 0ustar rootroot-- expect -- SUCCESS -- trace -- Trace Go1.22 EventBatch gen=1 m=0 time=0 size=23 ProcStatus dt=1 p=1 pstatus=2 ProcStatus dt=1 p=0 pstatus=1 GoStatus dt=1 g=1 m=0 gstatus=2 GoSyscallBegin dt=1 p_seq=1 stack=0 ProcStart dt=1 p=1 p_seq=1 GoSyscallEndBlocked dt=1 EventBatch gen=1 m=1 time=0 size=5 ProcSteal dt=1 p=0 p_seq=2 m=0 EventBatch gen=1 m=18446744073709551615 time=0 size=5 Frequency freq=15625000 EventBatch gen=1 m=18446744073709551615 time=0 size=1 Stacks EventBatch gen=1 m=18446744073709551615 time=0 size=1 Strings ././@LongLink0000644000000000000000000000020500000000000011600 Lustar rootrootdependencies/pkg/mod/golang.org/x/exp@v0.0.0-20240506185415-9bf2ced13842/trace/testdata/tests/go122-go-create-without-running-g.testdependencies/pkg/mod/golang.org/x/exp@v0.0.0-20240506185415-9bf2ced13842/trace/testdata/tests/go122-0000644000000000000000000000067615107355263027635 0ustar rootroot-- expect -- SUCCESS -- trace -- Trace Go1.22 EventBatch gen=1 m=0 time=0 size=17 ProcStatus dt=1 p=0 pstatus=1 GoCreate dt=1 new_g=5 new_stack=0 stack=0 GoStart dt=1 g=5 g_seq=1 GoStop dt=1 reason_string=1 stack=0 EventBatch gen=1 m=18446744073709551615 time=0 size=5 Frequency freq=15625000 EventBatch gen=1 m=18446744073709551615 time=0 size=1 Stacks EventBatch gen=1 m=18446744073709551615 time=0 size=12 Strings String id=1 data="whatever" ././@LongLink0000644000000000000000000000021200000000000011576 Lustar rootrootdependencies/pkg/mod/golang.org/x/exp@v0.0.0-20240506185415-9bf2ced13842/trace/testdata/tests/go122-syscall-steal-proc-simple-bare-m.testdependencies/pkg/mod/golang.org/x/exp@v0.0.0-20240506185415-9bf2ced13842/trace/testdata/tests/go122-0000644000000000000000000000073015107355263027624 0ustar rootroot-- expect -- SUCCESS -- trace -- Trace Go1.22 EventBatch gen=1 m=0 time=0 size=15 ProcStatus dt=1 p=0 pstatus=1 GoStatus dt=1 g=1 m=0 gstatus=2 GoSyscallBegin dt=1 p_seq=1 stack=0 GoSyscallEndBlocked dt=1 EventBatch gen=1 m=1 time=0 size=5 ProcSteal dt=1 p=0 p_seq=2 m=0 EventBatch gen=1 m=18446744073709551615 time=0 size=5 Frequency freq=15625000 EventBatch gen=1 m=18446744073709551615 time=0 size=1 Stacks EventBatch gen=1 m=18446744073709551615 time=0 size=1 Strings ././@LongLink0000644000000000000000000000020600000000000011601 Lustar rootrootdependencies/pkg/mod/golang.org/x/exp@v0.0.0-20240506185415-9bf2ced13842/trace/testdata/tests/go122-syscall-steal-proc-ambiguous.testdependencies/pkg/mod/golang.org/x/exp@v0.0.0-20240506185415-9bf2ced13842/trace/testdata/tests/go122-0000644000000000000000000000111515107355263027622 0ustar rootroot-- expect -- SUCCESS -- trace -- Trace Go1.22 EventBatch gen=1 m=0 time=0 size=21 ProcStatus dt=0 p=0 pstatus=1 GoStatus dt=0 g=1 m=0 gstatus=2 GoSyscallBegin dt=0 p_seq=1 stack=0 GoSyscallEnd dt=0 GoSyscallBegin dt=0 p_seq=2 stack=0 GoSyscallEndBlocked dt=0 EventBatch gen=1 m=1 time=0 size=14 ProcStatus dt=0 p=2 pstatus=1 GoStatus dt=0 g=2 m=1 gstatus=2 ProcSteal dt=0 p=0 p_seq=3 m=0 EventBatch gen=1 m=18446744073709551615 time=0 size=5 Frequency freq=15625000 EventBatch gen=1 m=18446744073709551615 time=0 size=1 Stacks EventBatch gen=1 m=18446744073709551615 time=0 size=1 Strings ././@LongLink0000644000000000000000000000021100000000000011575 Lustar rootrootdependencies/pkg/mod/golang.org/x/exp@v0.0.0-20240506185415-9bf2ced13842/trace/testdata/tests/go122-syscall-steal-proc-gen-boundary.testdependencies/pkg/mod/golang.org/x/exp@v0.0.0-20240506185415-9bf2ced13842/trace/testdata/tests/go122-0000644000000000000000000000102115107355263027616 0ustar rootroot-- expect -- SUCCESS -- trace -- Trace Go1.22 EventBatch gen=1 m=0 time=0 size=11 ProcStatus dt=1 p=1 pstatus=1 GoStatus dt=1 g=1 m=0 gstatus=3 GoSyscallEndBlocked dt=1 EventBatch gen=1 m=1 time=0 size=18 ProcStatus dt=1 p=2 pstatus=1 GoStatus dt=1 g=2 m=1 gstatus=2 ProcStatus dt=1 p=0 pstatus=4 ProcSteal dt=1 p=0 p_seq=1 m=0 EventBatch gen=1 m=18446744073709551615 time=0 size=5 Frequency freq=15625000 EventBatch gen=1 m=18446744073709551615 time=0 size=1 Stacks EventBatch gen=1 m=18446744073709551615 time=0 size=1 Strings ././@LongLink0000644000000000000000000000023400000000000011602 Lustar rootrootdependencies/pkg/mod/golang.org/x/exp@v0.0.0-20240506185415-9bf2ced13842/trace/testdata/tests/go122-syscall-steal-proc-gen-boundary-reacquire-new-proc.testdependencies/pkg/mod/golang.org/x/exp@v0.0.0-20240506185415-9bf2ced13842/trace/testdata/tests/go122-0000644000000000000000000000105415107355263027624 0ustar rootroot-- expect -- SUCCESS -- trace -- Trace Go1.22 EventBatch gen=1 m=0 time=0 size=15 GoStatus dt=1 g=1 m=0 gstatus=3 ProcStatus dt=1 p=1 pstatus=2 ProcStart dt=1 p=1 p_seq=1 GoSyscallEndBlocked dt=1 EventBatch gen=1 m=1 time=0 size=18 ProcStatus dt=1 p=2 pstatus=1 GoStatus dt=1 g=2 m=1 gstatus=2 ProcStatus dt=1 p=0 pstatus=4 ProcSteal dt=1 p=0 p_seq=1 m=0 EventBatch gen=1 m=18446744073709551615 time=0 size=5 Frequency freq=15625000 EventBatch gen=1 m=18446744073709551615 time=0 size=1 Stacks EventBatch gen=1 m=18446744073709551615 time=0 size=1 Strings ././@LongLink0000644000000000000000000000021000000000000011574 Lustar rootrootdependencies/pkg/mod/golang.org/x/exp@v0.0.0-20240506185415-9bf2ced13842/trace/testdata/tests/go122-confuse-seq-across-generations.testdependencies/pkg/mod/golang.org/x/exp@v0.0.0-20240506185415-9bf2ced13842/trace/testdata/tests/go122-0000644000000000000000000000177215107355263027633 0ustar rootroot-- expect -- SUCCESS -- trace -- Trace Go1.22 EventBatch gen=1 m=0 time=0 size=13 ProcStatus dt=1 p=0 pstatus=1 GoStatus dt=1 g=1 m=0 gstatus=2 GoStop dt=1 reason_string=1 stack=0 EventBatch gen=1 m=1 time=0 size=12 ProcStatus dt=1 p=1 pstatus=1 GoStart dt=1 g=1 g_seq=1 GoStop dt=1 reason_string=1 stack=0 EventBatch gen=1 m=18446744073709551615 time=0 size=5 Frequency freq=15625000 EventBatch gen=1 m=18446744073709551615 time=0 size=1 Stacks EventBatch gen=1 m=18446744073709551615 time=0 size=12 Strings String id=1 data="whatever" EventBatch gen=2 m=1 time=3 size=8 ProcStatus dt=1 p=1 pstatus=1 GoStart dt=1 g=1 g_seq=2 EventBatch gen=2 m=0 time=5 size=17 ProcStatus dt=1 p=0 pstatus=1 GoStatus dt=1 g=1 m=0 gstatus=1 GoStart dt=1 g=1 g_seq=1 GoStop dt=1 reason_string=1 stack=0 EventBatch gen=2 m=18446744073709551615 time=0 size=5 Frequency freq=15625000 EventBatch gen=2 m=18446744073709551615 time=0 size=1 Stacks EventBatch gen=2 m=18446744073709551615 time=0 size=12 Strings String id=1 data="whatever" ././@LongLink0000644000000000000000000000021700000000000011603 Lustar rootrootdependencies/pkg/mod/golang.org/x/exp@v0.0.0-20240506185415-9bf2ced13842/trace/testdata/tests/go122-syscall-steal-proc-sitting-in-syscall.testdependencies/pkg/mod/golang.org/x/exp@v0.0.0-20240506185415-9bf2ced13842/trace/testdata/tests/go122-0000644000000000000000000000065515107355263027632 0ustar rootroot-- expect -- SUCCESS -- trace -- Trace Go1.22 EventBatch gen=1 m=0 time=0 size=9 ProcStatus dt=1 p=0 pstatus=4 ProcSteal dt=1 p=0 p_seq=1 m=1 EventBatch gen=1 m=18446744073709551615 time=0 size=5 GoStatus dt=1 g=1 m=1 gstatus=3 EventBatch gen=1 m=18446744073709551615 time=0 size=5 Frequency freq=15625000 EventBatch gen=1 m=18446744073709551615 time=0 size=1 Stacks EventBatch gen=1 m=18446744073709551615 time=0 size=1 Strings ././@LongLink0000644000000000000000000000017400000000000011605 Lustar rootrootdependencies/pkg/mod/golang.org/x/exp@v0.0.0-20240506185415-9bf2ced13842/trace/testdata/tests/go122-annotations-stress.testdependencies/pkg/mod/golang.org/x/exp@v0.0.0-20240506185415-9bf2ced13842/trace/testdata/tests/go122-0000644000000000000000000011453415107355263027634 0ustar rootroot-- expect -- SUCCESS -- trace -- Trace Go1.22 EventBatch gen=1 m=18446744073709551615 time=2753926854385 size=5 Frequency freq=15625000 EventBatch gen=1 m=1986497 time=2753925247434 size=1430 ProcStart dt=336 p=2 p_seq=1 GoStart dt=191 g=19 g_seq=1 HeapAlloc dt=389 heapalloc_value=1622016 HeapAlloc dt=4453 heapalloc_value=1662976 GoBlock dt=572 reason_string=12 stack=29 ProcStop dt=26 ProcStart dt=160734 p=2 p_seq=2 ProcStop dt=21 ProcStart dt=159292 p=0 p_seq=7 GoStart dt=299 g=49 g_seq=1 UserRegionBegin dt=183 task=8 name_string=33 stack=26 UserLog dt=26 task=8 key_string=24 value_string=49 stack=27 UserRegionEnd dt=8 task=8 name_string=33 stack=28 GoDestroy dt=3 GoStart dt=20 g=50 g_seq=1 UserRegionBegin dt=40 task=8 name_string=35 stack=26 UserLog dt=9 task=8 key_string=24 value_string=50 stack=27 UserRegionEnd dt=2 task=8 name_string=35 stack=28 GoDestroy dt=1 ProcStop dt=18 ProcStart dt=141801 p=4 p_seq=5 ProcStop dt=18 ProcStart dt=16860 p=4 p_seq=6 GoUnblock dt=53 g=1 g_seq=5 stack=0 GoUnblock dt=9 g=51 g_seq=3 stack=0 GoStart dt=162 g=51 g_seq=4 UserTaskEnd dt=35 task=9 stack=36 UserRegionEnd dt=16 task=8 name_string=31 stack=28 GoDestroy dt=2 GoStart dt=20 g=1 g_seq=6 UserTaskEnd dt=14 task=8 stack=54 UserLog dt=26 task=3 key_string=24 value_string=51 stack=55 UserTaskBegin dt=14 task=10 parent_task=3 name_string=26 stack=56 UserLog dt=42 task=10 key_string=27 value_string=52 stack=57 UserRegionBegin dt=12 task=10 name_string=29 stack=58 GoCreate dt=36 new_g=35 new_stack=17 stack=59 GoCreate dt=11 new_g=36 new_stack=17 stack=59 GoCreate dt=18 new_g=37 new_stack=17 stack=59 GoCreate dt=10 new_g=38 new_stack=17 stack=59 GoCreate dt=6 new_g=39 new_stack=17 stack=59 GoCreate dt=8 new_g=40 new_stack=17 stack=59 UserRegionEnd dt=7 task=10 name_string=29 stack=60 GoBlock dt=9 reason_string=19 stack=61 GoStart dt=15 g=40 g_seq=1 UserRegionBegin dt=110 task=10 name_string=53 stack=26 UserLog dt=16 task=10 key_string=24 value_string=54 stack=27 UserRegionEnd dt=2 task=10 name_string=53 stack=28 GoDestroy dt=2 GoStart dt=6 g=38 g_seq=1 UserRegionBegin dt=31 task=10 name_string=30 stack=26 UserLog dt=5 task=10 key_string=24 value_string=55 stack=27 UserRegionEnd dt=2 task=10 name_string=30 stack=28 GoDestroy dt=1 GoStart dt=2 g=39 g_seq=1 UserRegionBegin dt=23 task=10 name_string=56 stack=26 UserLog dt=6 task=10 key_string=24 value_string=57 stack=27 UserRegionEnd dt=1 task=10 name_string=56 stack=28 GoDestroy dt=1 GoStart dt=8 g=35 g_seq=1 UserRegionBegin dt=17 task=10 name_string=33 stack=26 UserLog dt=4 task=10 key_string=24 value_string=58 stack=27 UserRegionEnd dt=2 task=10 name_string=33 stack=28 GoDestroy dt=1 GoStart dt=3 g=36 g_seq=1 UserRegionBegin dt=19 task=10 name_string=35 stack=26 UserLog dt=4 task=10 key_string=24 value_string=59 stack=27 UserRegionEnd dt=2 task=10 name_string=35 stack=28 GoDestroy dt=1 ProcStop dt=11 ProcStart dt=142205 p=0 p_seq=9 ProcStop dt=19 ProcStart dt=16811 p=0 p_seq=10 GoUnblock dt=26 g=1 g_seq=7 stack=0 GoStart dt=201 g=1 g_seq=8 UserTaskEnd dt=24 task=10 stack=62 UserLog dt=18 task=4 key_string=24 value_string=63 stack=63 UserTaskBegin dt=11 task=12 parent_task=4 name_string=26 stack=64 UserLog dt=21 task=12 key_string=27 value_string=64 stack=65 UserRegionBegin dt=7 task=12 name_string=29 stack=66 GoCreate dt=33 new_g=5 new_stack=17 stack=67 GoCreate dt=12 new_g=6 new_stack=17 stack=67 GoCreate dt=9 new_g=7 new_stack=17 stack=67 GoCreate dt=8 new_g=8 new_stack=17 stack=67 GoCreate dt=19 new_g=9 new_stack=17 stack=67 UserRegionEnd dt=14 task=12 name_string=29 stack=68 GoBlock dt=11 reason_string=19 stack=69 GoStart dt=13 g=9 g_seq=1 UserRegionBegin dt=70 task=12 name_string=56 stack=26 UserLog dt=11 task=12 key_string=24 value_string=65 stack=27 UserRegionEnd dt=3 task=12 name_string=56 stack=28 GoDestroy dt=2 GoStart dt=7 g=5 g_seq=1 UserRegionBegin dt=24 task=12 name_string=33 stack=26 UserLog dt=5 task=12 key_string=24 value_string=66 stack=27 UserRegionEnd dt=2 task=12 name_string=33 stack=28 GoDestroy dt=2 GoStart dt=8 g=6 g_seq=1 UserRegionBegin dt=15 task=12 name_string=35 stack=26 UserLog dt=7 task=12 key_string=24 value_string=67 stack=27 UserRegionEnd dt=2 task=12 name_string=35 stack=28 GoDestroy dt=1 GoStart dt=2 g=7 g_seq=1 UserRegionBegin dt=13 task=12 name_string=31 stack=26 UserLog dt=5 task=12 key_string=24 value_string=68 stack=27 UserLog dt=6 task=12 key_string=24 value_string=69 stack=30 UserTaskBegin dt=5 task=13 parent_task=12 name_string=26 stack=31 UserLog dt=7 task=13 key_string=27 value_string=70 stack=32 UserRegionBegin dt=4 task=13 name_string=29 stack=33 UserRegionEnd dt=6 task=13 name_string=29 stack=34 GoBlock dt=18 reason_string=19 stack=35 GoStart dt=12 g=8 g_seq=1 UserRegionBegin dt=22 task=12 name_string=30 stack=26 UserLog dt=5 task=12 key_string=24 value_string=71 stack=27 UserRegionEnd dt=2 task=12 name_string=30 stack=28 GoDestroy dt=1 ProcStop dt=20 ProcStart dt=141838 p=4 p_seq=8 ProcStop dt=16 ProcStart dt=17652 p=4 p_seq=9 GoUnblock dt=48 g=1 g_seq=9 stack=0 GoUnblock dt=8 g=7 g_seq=2 stack=0 GoStart dt=271 g=7 g_seq=3 UserTaskEnd dt=25 task=13 stack=36 UserRegionEnd dt=15 task=12 name_string=31 stack=28 GoDestroy dt=4 GoStart dt=19 g=1 g_seq=10 UserTaskEnd dt=19 task=12 stack=70 UserLog dt=21 task=0 key_string=24 value_string=72 stack=13 UserTaskBegin dt=19 task=14 parent_task=0 name_string=26 stack=14 UserLog dt=37 task=14 key_string=27 value_string=73 stack=15 UserRegionBegin dt=6 task=14 name_string=29 stack=16 GoCreate dt=28 new_g=41 new_stack=17 stack=18 GoCreate dt=14 new_g=42 new_stack=17 stack=18 GoCreate dt=12 new_g=43 new_stack=17 stack=18 GoCreate dt=10 new_g=44 new_stack=17 stack=18 UserRegionEnd dt=5 task=14 name_string=29 stack=19 GoBlock dt=9 reason_string=19 stack=20 GoStart dt=16 g=44 g_seq=1 UserRegionBegin dt=107 task=14 name_string=30 stack=26 UserLog dt=16 task=14 key_string=24 value_string=74 stack=27 UserRegionEnd dt=3 task=14 name_string=30 stack=28 GoDestroy dt=2 GoStart dt=7 g=41 g_seq=1 UserRegionBegin dt=30 task=14 name_string=33 stack=26 UserLog dt=7 task=14 key_string=24 value_string=75 stack=27 UserRegionEnd dt=2 task=14 name_string=33 stack=28 GoDestroy dt=2 GoStart dt=7 g=42 g_seq=1 UserRegionBegin dt=27 task=14 name_string=35 stack=26 UserLog dt=7 task=14 key_string=24 value_string=76 stack=27 UserRegionEnd dt=2 task=14 name_string=35 stack=28 GoDestroy dt=2 ProcStop dt=28 ProcStart dt=141923 p=0 p_seq=12 ProcStop dt=19 ProcStart dt=16780 p=0 p_seq=13 GoUnblock dt=22 g=43 g_seq=2 stack=0 GoStart dt=162 g=43 g_seq=3 UserTaskEnd dt=16 task=15 stack=36 UserRegionEnd dt=12 task=14 name_string=31 stack=28 GoDestroy dt=2 ProcStop dt=8 ProcStart dt=1532 p=2 p_seq=9 ProcStop dt=12 ProcStart dt=141906 p=4 p_seq=11 ProcStop dt=16 ProcStart dt=16784 p=4 p_seq=12 GoUnblock dt=20 g=1 g_seq=13 stack=0 GoStart dt=191 g=1 g_seq=14 UserTaskEnd dt=15 task=16 stack=45 UserLog dt=17 task=2 key_string=24 value_string=84 stack=46 UserTaskBegin dt=8 task=17 parent_task=2 name_string=26 stack=47 UserLog dt=20 task=17 key_string=27 value_string=85 stack=48 UserRegionBegin dt=6 task=17 name_string=29 stack=49 GoCreate dt=28 new_g=45 new_stack=17 stack=50 GoCreate dt=9 new_g=46 new_stack=17 stack=50 GoCreate dt=10 new_g=47 new_stack=17 stack=50 UserRegionEnd dt=5 task=17 name_string=29 stack=51 GoBlock dt=6 reason_string=19 stack=52 GoStart dt=10 g=47 g_seq=1 UserRegionBegin dt=69 task=17 name_string=31 stack=26 UserLog dt=11 task=17 key_string=24 value_string=86 stack=27 UserLog dt=7 task=17 key_string=24 value_string=87 stack=30 UserTaskBegin dt=5 task=18 parent_task=17 name_string=26 stack=31 UserLog dt=7 task=18 key_string=27 value_string=88 stack=32 UserRegionBegin dt=5 task=18 name_string=29 stack=33 UserRegionEnd dt=4 task=18 name_string=29 stack=34 HeapAlloc dt=35 heapalloc_value=1818624 GoBlock dt=14 reason_string=19 stack=35 HeapAlloc dt=11 heapalloc_value=1826816 GoStart dt=10 g=45 g_seq=1 UserRegionBegin dt=29 task=17 name_string=33 stack=26 UserLog dt=9 task=17 key_string=24 value_string=89 stack=27 UserRegionEnd dt=3 task=17 name_string=33 stack=28 GoDestroy dt=1 GoStart dt=5 g=46 g_seq=1 UserRegionBegin dt=15 task=17 name_string=35 stack=26 UserLog dt=8 task=17 key_string=24 value_string=90 stack=27 UserRegionEnd dt=2 task=17 name_string=35 stack=28 GoDestroy dt=1 ProcStop dt=3 ProcStart dt=141981 p=0 p_seq=16 ProcStop dt=19 ProcStart dt=17153 p=0 p_seq=17 GoUnblock dt=44 g=1 g_seq=15 stack=0 GoUnblock dt=11 g=47 g_seq=2 stack=0 GoStart dt=215 g=47 g_seq=3 UserTaskEnd dt=22 task=18 stack=36 UserRegionEnd dt=9 task=17 name_string=31 stack=28 GoDestroy dt=3 GoStart dt=19 g=1 g_seq=16 UserTaskEnd dt=13 task=17 stack=54 UserLog dt=18 task=3 key_string=24 value_string=91 stack=55 UserTaskBegin dt=7 task=19 parent_task=3 name_string=26 stack=56 UserLog dt=27 task=19 key_string=27 value_string=92 stack=57 UserRegionBegin dt=8 task=19 name_string=29 stack=58 GoCreate dt=30 new_g=10 new_stack=17 stack=59 GoCreate dt=9 new_g=11 new_stack=17 stack=59 GoCreate dt=11 new_g=12 new_stack=17 stack=59 GoCreate dt=7 new_g=13 new_stack=17 stack=59 GoCreate dt=7 new_g=14 new_stack=17 stack=59 GoCreate dt=9 new_g=15 new_stack=17 stack=59 UserRegionEnd dt=5 task=19 name_string=29 stack=60 GoBlock dt=7 reason_string=19 stack=61 GoStart dt=17 g=15 g_seq=1 UserRegionBegin dt=61 task=19 name_string=53 stack=26 UserLog dt=10 task=19 key_string=24 value_string=93 stack=27 UserRegionEnd dt=3 task=19 name_string=53 stack=28 GoDestroy dt=1 GoStart dt=4 g=10 g_seq=1 UserRegionBegin dt=26 task=19 name_string=33 stack=26 UserLog dt=7 task=19 key_string=24 value_string=94 stack=27 UserRegionEnd dt=2 task=19 name_string=33 stack=28 GoDestroy dt=1 GoStart dt=4 g=11 g_seq=1 UserRegionBegin dt=20 task=19 name_string=35 stack=26 UserLog dt=5 task=19 key_string=24 value_string=95 stack=27 UserRegionEnd dt=2 task=19 name_string=35 stack=28 GoDestroy dt=1 GoStart dt=7 g=12 g_seq=1 UserRegionBegin dt=14 task=19 name_string=31 stack=26 UserLog dt=4 task=19 key_string=24 value_string=96 stack=27 UserLog dt=4 task=19 key_string=24 value_string=97 stack=30 UserTaskBegin dt=7 task=20 parent_task=19 name_string=26 stack=31 UserLog dt=5 task=20 key_string=27 value_string=98 stack=32 UserRegionBegin dt=4 task=20 name_string=29 stack=33 UserRegionEnd dt=5 task=20 name_string=29 stack=34 GoBlock dt=9 reason_string=19 stack=35 GoStart dt=9 g=14 g_seq=1 UserRegionBegin dt=28 task=19 name_string=56 stack=26 UserLog dt=7 task=19 key_string=24 value_string=99 stack=27 UserRegionEnd dt=2 task=19 name_string=56 stack=28 GoDestroy dt=2 ProcStop dt=17 ProcStart dt=141933 p=2 p_seq=11 ProcStop dt=13 ProcStart dt=16744 p=2 p_seq=12 GoUnblock dt=29 g=1 g_seq=17 stack=0 GoUnblock dt=7 g=12 g_seq=2 stack=0 GoStart dt=172 g=12 g_seq=3 UserTaskEnd dt=15 task=20 stack=36 UserRegionEnd dt=8 task=19 name_string=31 stack=28 GoDestroy dt=2 GoStart dt=11 g=1 g_seq=18 UserTaskEnd dt=14 task=19 stack=62 UserLog dt=16 task=4 key_string=24 value_string=101 stack=63 UserTaskBegin dt=6 task=21 parent_task=4 name_string=26 stack=64 UserLog dt=25 task=21 key_string=27 value_string=102 stack=65 UserRegionBegin dt=7 task=21 name_string=29 stack=66 GoCreate dt=23 new_g=54 new_stack=17 stack=67 GoCreate dt=8 new_g=55 new_stack=17 stack=67 GoCreate dt=17 new_g=56 new_stack=17 stack=67 GoCreate dt=8 new_g=57 new_stack=17 stack=67 GoCreate dt=7 new_g=58 new_stack=17 stack=67 UserRegionEnd dt=4 task=21 name_string=29 stack=68 GoBlock dt=9 reason_string=19 stack=69 GoStart dt=7 g=58 g_seq=1 UserRegionBegin dt=46 task=21 name_string=56 stack=26 UserLog dt=8 task=21 key_string=24 value_string=103 stack=27 UserRegionEnd dt=4 task=21 name_string=56 stack=28 GoDestroy dt=1 GoStart dt=3 g=54 g_seq=1 UserRegionBegin dt=19 task=21 name_string=33 stack=26 UserLog dt=7 task=21 key_string=24 value_string=104 stack=27 UserRegionEnd dt=2 task=21 name_string=33 stack=28 GoDestroy dt=1 GoStart dt=2 g=55 g_seq=1 UserRegionBegin dt=17 task=21 name_string=35 stack=26 UserLog dt=4 task=21 key_string=24 value_string=105 stack=27 UserRegionEnd dt=2 task=21 name_string=35 stack=28 GoDestroy dt=1 GoStart dt=5 g=56 g_seq=1 UserRegionBegin dt=16 task=21 name_string=31 stack=26 UserLog dt=4 task=21 key_string=24 value_string=106 stack=27 UserLog dt=3 task=21 key_string=24 value_string=107 stack=30 UserTaskBegin dt=4 task=22 parent_task=21 name_string=26 stack=31 UserLog dt=6 task=22 key_string=27 value_string=108 stack=32 UserRegionBegin dt=4 task=22 name_string=29 stack=33 UserRegionEnd dt=7 task=22 name_string=29 stack=34 GoBlock dt=14 reason_string=19 stack=35 GoStart dt=3 g=57 g_seq=1 UserRegionBegin dt=22 task=21 name_string=30 stack=26 UserLog dt=6 task=21 key_string=24 value_string=109 stack=27 UserRegionEnd dt=2 task=21 name_string=30 stack=28 GoDestroy dt=2 ProcStop dt=10 ProcStart dt=128031 p=4 p_seq=15 ProcStop dt=16 ProcStart dt=33758 p=2 p_seq=15 ProcStop dt=18 EventBatch gen=1 m=1986496 time=2753925246280 size=267 ProcStart dt=549 p=0 p_seq=1 GoStart dt=211 g=18 g_seq=1 GoBlock dt=3533 reason_string=12 stack=21 GoStart dt=41 g=21 g_seq=1 GoBlock dt=150 reason_string=10 stack=22 GoStart dt=93 g=20 g_seq=1 GoSyscallBegin dt=51 p_seq=2 stack=23 GoSyscallEnd dt=400 GoBlock dt=582 reason_string=15 stack=25 GoStart dt=26 g=23 g_seq=1 HeapAlloc dt=50 heapalloc_value=1646592 UserRegionBegin dt=2921 task=5 name_string=31 stack=26 UserLog dt=28 task=5 key_string=24 value_string=37 stack=27 UserLog dt=13 task=5 key_string=24 value_string=38 stack=30 UserTaskBegin dt=15 task=6 parent_task=5 name_string=26 stack=31 HeapAlloc dt=26 heapalloc_value=1687552 UserLog dt=14 task=6 key_string=27 value_string=39 stack=32 UserRegionBegin dt=9 task=6 name_string=29 stack=33 UserRegionEnd dt=6 task=6 name_string=29 stack=34 GoBlock dt=15 reason_string=19 stack=35 ProcStop dt=30 ProcStart dt=156949 p=4 p_seq=2 GoUnblock dt=46 g=1 g_seq=1 stack=0 GoStart dt=253 g=1 g_seq=2 UserTaskEnd dt=27 task=5 stack=37 UserLog dt=23 task=1 key_string=24 value_string=40 stack=38 UserTaskBegin dt=14 task=7 parent_task=1 name_string=26 stack=39 HeapAlloc dt=596 heapalloc_value=1695744 HeapAlloc dt=18 heapalloc_value=1703936 UserLog dt=17 task=7 key_string=27 value_string=41 stack=40 UserRegionBegin dt=14 task=7 name_string=29 stack=41 HeapAlloc dt=10 heapalloc_value=1712128 HeapAlloc dt=17 heapalloc_value=1720320 GoCreate dt=44 new_g=33 new_stack=17 stack=42 GoCreate dt=175 new_g=34 new_stack=17 stack=42 UserRegionEnd dt=50 task=7 name_string=29 stack=43 GoBlock dt=9 reason_string=19 stack=44 HeapAlloc dt=16 heapalloc_value=1728512 GoStart dt=239 g=34 g_seq=1 HeapAlloc dt=21 heapalloc_value=1736704 UserRegionBegin dt=92 task=7 name_string=35 stack=26 UserLog dt=15 task=7 key_string=24 value_string=42 stack=27 UserRegionEnd dt=4 task=7 name_string=35 stack=28 GoDestroy dt=2 ProcStop dt=21 ProcStart dt=800974 p=4 p_seq=10 ProcStop dt=39 ProcStart dt=158775 p=0 p_seq=15 ProcStop dt=24 ProcStart dt=159722 p=4 p_seq=13 GoStart dt=254 g=13 g_seq=1 UserRegionBegin dt=239 task=19 name_string=30 stack=26 UserLog dt=23 task=19 key_string=24 value_string=100 stack=27 UserRegionEnd dt=6 task=19 name_string=30 stack=28 GoDestroy dt=7 ProcStop dt=22 EventBatch gen=1 m=1986495 time=2753925251756 size=320 ProcStart dt=705 p=4 p_seq=1 ProcStop dt=1279 ProcStart dt=158975 p=0 p_seq=5 ProcStop dt=23 ProcStart dt=792 p=0 p_seq=6 GoStart dt=187 g=33 g_seq=1 UserRegionBegin dt=244 task=7 name_string=33 stack=26 UserLog dt=32 task=7 key_string=24 value_string=43 stack=27 UserRegionEnd dt=7 task=7 name_string=33 stack=28 GoDestroy dt=5 ProcStop dt=24 ProcStart dt=160255 p=4 p_seq=4 ProcStop dt=27 ProcStart dt=159067 p=2 p_seq=5 GoStart dt=222 g=37 g_seq=1 UserRegionBegin dt=114 task=10 name_string=31 stack=26 UserLog dt=16 task=10 key_string=24 value_string=60 stack=27 UserLog dt=8 task=10 key_string=24 value_string=61 stack=30 UserTaskBegin dt=8 task=11 parent_task=10 name_string=26 stack=31 UserLog dt=19 task=11 key_string=27 value_string=62 stack=32 UserRegionBegin dt=6 task=11 name_string=29 stack=33 UserRegionEnd dt=7 task=11 name_string=29 stack=34 GoBlock dt=15 reason_string=19 stack=35 ProcStop dt=11 ProcStart dt=160101 p=4 p_seq=7 ProcStop dt=21 ProcStart dt=159647 p=2 p_seq=7 GoStart dt=277 g=43 g_seq=1 UserRegionBegin dt=126 task=14 name_string=31 stack=26 UserLog dt=21 task=14 key_string=24 value_string=77 stack=27 UserLog dt=9 task=14 key_string=24 value_string=78 stack=30 UserTaskBegin dt=8 task=15 parent_task=14 name_string=26 stack=31 UserLog dt=17 task=15 key_string=27 value_string=79 stack=32 UserRegionBegin dt=6 task=15 name_string=29 stack=33 UserRegionEnd dt=8 task=15 name_string=29 stack=34 GoBlock dt=23 reason_string=19 stack=35 ProcStop dt=17 ProcStart dt=159706 p=0 p_seq=14 GoStart dt=229 g=52 g_seq=1 UserRegionBegin dt=103 task=16 name_string=33 stack=26 UserLog dt=20 task=16 key_string=24 value_string=83 stack=27 UserRegionEnd dt=4 task=16 name_string=33 stack=28 GoDestroy dt=3 ProcStop dt=17 ProcStart dt=319699 p=2 p_seq=10 ProcStop dt=20 ProcStart dt=158728 p=4 p_seq=14 ProcStop dt=17 ProcStart dt=110606 p=2 p_seq=13 ProcStop dt=10 ProcStart dt=16732 p=2 p_seq=14 GoUnblock dt=45 g=18 g_seq=2 stack=0 GoStart dt=184 g=18 g_seq=3 GoBlock dt=114 reason_string=12 stack=21 ProcStop dt=8 ProcStart dt=16779 p=4 p_seq=16 ProcStop dt=11 ProcStart dt=16790 p=4 p_seq=17 GoUnblock dt=23 g=1 g_seq=19 stack=0 GoUnblock dt=8 g=56 g_seq=2 stack=0 GoStart dt=142 g=56 g_seq=3 UserTaskEnd dt=14 task=22 stack=36 UserRegionEnd dt=8 task=21 name_string=31 stack=28 GoDestroy dt=5 GoStart dt=18 g=1 g_seq=20 UserTaskEnd dt=17 task=21 stack=70 UserTaskEnd dt=12 task=4 stack=71 HeapAlloc dt=802 heapalloc_value=1835008 HeapAlloc dt=41 heapalloc_value=1843200 HeapAlloc dt=13 heapalloc_value=1851392 EventBatch gen=1 m=1986494 time=2753925248778 size=47 ProcStart dt=390 p=3 p_seq=1 GoStart dt=1718 g=22 g_seq=1 HeapAlloc dt=1807 heapalloc_value=1654784 HeapAlloc dt=406 heapalloc_value=1671168 HeapAlloc dt=15 heapalloc_value=1679360 UserRegionBegin dt=49 task=5 name_string=35 stack=26 UserLog dt=30 task=5 key_string=24 value_string=36 stack=27 UserRegionEnd dt=5 task=5 name_string=35 stack=28 GoDestroy dt=5 ProcStop dt=42 EventBatch gen=1 m=1986492 time=2753925244400 size=582 ProcStatus dt=67 p=1 pstatus=1 GoStatus dt=4 g=1 m=1986492 gstatus=2 ProcsChange dt=220 procs_value=8 stack=1 STWBegin dt=127 kind_string=21 stack=2 HeapGoal dt=3 heapgoal_value=4194304 ProcStatus dt=2 p=0 pstatus=2 ProcStatus dt=2 p=2 pstatus=2 ProcStatus dt=1 p=3 pstatus=2 ProcStatus dt=1 p=4 pstatus=2 ProcStatus dt=1 p=5 pstatus=2 ProcStatus dt=1 p=6 pstatus=2 ProcStatus dt=1 p=7 pstatus=2 ProcsChange dt=353 procs_value=8 stack=3 STWEnd dt=277 HeapAlloc dt=243 heapalloc_value=1605632 HeapAlloc dt=24 heapalloc_value=1613824 GoCreate dt=209 new_g=18 new_stack=4 stack=5 GoCreate dt=561 new_g=19 new_stack=6 stack=7 GoCreate dt=25 new_g=20 new_stack=8 stack=9 UserTaskEnd dt=309 task=2 stack=10 UserTaskBegin dt=26 task=3 parent_task=1 name_string=22 stack=11 UserTaskBegin dt=918 task=4 parent_task=0 name_string=23 stack=12 UserLog dt=461 task=0 key_string=24 value_string=25 stack=13 UserTaskBegin dt=420 task=5 parent_task=0 name_string=26 stack=14 UserLog dt=673 task=5 key_string=27 value_string=28 stack=15 UserRegionBegin dt=15 task=5 name_string=29 stack=16 HeapAlloc dt=51 heapalloc_value=1630208 GoCreate dt=24 new_g=21 new_stack=17 stack=18 GoCreate dt=17 new_g=22 new_stack=17 stack=18 GoCreate dt=10 new_g=23 new_stack=17 stack=18 GoCreate dt=9 new_g=24 new_stack=17 stack=18 UserRegionEnd dt=549 task=5 name_string=29 stack=19 GoBlock dt=14 reason_string=19 stack=20 GoStart dt=378 g=24 g_seq=1 HeapAlloc dt=65 heapalloc_value=1638400 GoUnblock dt=559 g=21 g_seq=2 stack=24 UserRegionBegin dt=1498 task=5 name_string=30 stack=26 UserLog dt=35 task=5 key_string=24 value_string=32 stack=27 UserRegionEnd dt=8 task=5 name_string=30 stack=28 GoDestroy dt=5 GoStart dt=24 g=21 g_seq=3 UserRegionBegin dt=60 task=5 name_string=33 stack=26 UserLog dt=7 task=5 key_string=24 value_string=34 stack=27 UserRegionEnd dt=2 task=5 name_string=33 stack=28 GoDestroy dt=2 ProcStop dt=34 ProcStart dt=141874 p=0 p_seq=3 ProcStop dt=21 ProcStart dt=16770 p=0 p_seq=4 GoUnblock dt=29 g=23 g_seq=2 stack=0 GoStart dt=176 g=23 g_seq=3 UserTaskEnd dt=19 task=6 stack=36 UserRegionEnd dt=14 task=5 name_string=31 stack=28 GoDestroy dt=2 ProcStop dt=12 ProcStart dt=2251 p=4 p_seq=3 ProcStop dt=22 ProcStart dt=141952 p=2 p_seq=3 ProcStop dt=27 ProcStart dt=16789 p=2 p_seq=4 GoUnblock dt=35 g=1 g_seq=3 stack=0 GoStart dt=214 g=1 g_seq=4 UserTaskEnd dt=26 task=7 stack=45 UserLog dt=27 task=2 key_string=24 value_string=44 stack=46 UserTaskBegin dt=10 task=8 parent_task=2 name_string=26 stack=47 HeapAlloc dt=52 heapalloc_value=1744896 HeapAlloc dt=22 heapalloc_value=1753088 UserLog dt=13 task=8 key_string=27 value_string=45 stack=48 UserRegionBegin dt=11 task=8 name_string=29 stack=49 HeapAlloc dt=7 heapalloc_value=1761280 HeapAlloc dt=18 heapalloc_value=1769472 GoCreate dt=52 new_g=49 new_stack=17 stack=50 GoCreate dt=12 new_g=50 new_stack=17 stack=50 HeapAlloc dt=11 heapalloc_value=1777664 GoCreate dt=9 new_g=51 new_stack=17 stack=50 UserRegionEnd dt=9 task=8 name_string=29 stack=51 GoBlock dt=11 reason_string=19 stack=52 HeapAlloc dt=12 heapalloc_value=1785856 GoStart dt=14 g=51 g_seq=1 HeapAlloc dt=18 heapalloc_value=1794048 UserRegionBegin dt=95 task=8 name_string=31 stack=26 UserLog dt=22 task=8 key_string=24 value_string=46 stack=27 UserLog dt=8 task=8 key_string=24 value_string=47 stack=30 UserTaskBegin dt=5 task=9 parent_task=8 name_string=26 stack=31 UserLog dt=7 task=9 key_string=27 value_string=48 stack=32 UserRegionBegin dt=4 task=9 name_string=29 stack=33 UserRegionEnd dt=7 task=9 name_string=29 stack=34 HeapAlloc dt=11 heapalloc_value=1802240 GoStop dt=674 reason_string=16 stack=53 GoStart dt=12 g=51 g_seq=2 GoBlock dt=8 reason_string=19 stack=35 HeapAlloc dt=16 heapalloc_value=1810432 ProcStop dt=8 ProcStart dt=159907 p=0 p_seq=8 ProcStop dt=25 ProcStart dt=159186 p=2 p_seq=6 GoUnblock dt=22 g=37 g_seq=2 stack=0 GoStart dt=217 g=37 g_seq=3 UserTaskEnd dt=19 task=11 stack=36 UserRegionEnd dt=15 task=10 name_string=31 stack=28 GoDestroy dt=5 ProcStop dt=16 ProcStart dt=160988 p=0 p_seq=11 ProcStop dt=29 ProcStart dt=158554 p=2 p_seq=8 GoUnblock dt=38 g=1 g_seq=11 stack=0 GoStart dt=240 g=1 g_seq=12 UserTaskEnd dt=25 task=14 stack=37 UserLog dt=23 task=1 key_string=24 value_string=80 stack=38 UserTaskBegin dt=11 task=16 parent_task=1 name_string=26 stack=39 UserLog dt=36 task=16 key_string=27 value_string=81 stack=40 UserRegionBegin dt=13 task=16 name_string=29 stack=41 GoCreate dt=39 new_g=52 new_stack=17 stack=42 GoCreate dt=23 new_g=53 new_stack=17 stack=42 UserRegionEnd dt=11 task=16 name_string=29 stack=43 GoBlock dt=9 reason_string=19 stack=44 GoStart dt=244 g=53 g_seq=1 UserRegionBegin dt=101 task=16 name_string=35 stack=26 UserLog dt=17 task=16 key_string=24 value_string=82 stack=27 UserRegionEnd dt=4 task=16 name_string=35 stack=28 GoDestroy dt=3 ProcStop dt=28 EventBatch gen=1 m=18446744073709551615 time=2753926855140 size=56 GoStatus dt=74 g=2 m=18446744073709551615 gstatus=4 GoStatus dt=3 g=3 m=18446744073709551615 gstatus=4 GoStatus dt=1 g=4 m=18446744073709551615 gstatus=4 GoStatus dt=1 g=17 m=18446744073709551615 gstatus=4 EventBatch gen=1 m=18446744073709551615 time=2753926855560 size=1759 Stacks Stack id=45 nframes=3 pc=4804964 func=110 file=111 line=80 pc=4804052 func=112 file=113 line=84 pc=4803566 func=114 file=113 line=44 Stack id=22 nframes=7 pc=4633935 func=115 file=116 line=90 pc=4633896 func=117 file=118 line=223 pc=4633765 func=119 file=118 line=216 pc=4633083 func=120 file=118 line=131 pc=4764601 func=121 file=122 line=152 pc=4765335 func=123 file=122 line=238 pc=4804612 func=124 file=113 line=70 Stack id=9 nframes=2 pc=4802543 func=125 file=126 line=128 pc=4803332 func=114 file=113 line=30 Stack id=71 nframes=2 pc=4803671 func=110 file=111 line=80 pc=4803666 func=114 file=113 line=51 Stack id=10 nframes=2 pc=4803415 func=110 file=111 line=80 pc=4803410 func=114 file=113 line=33 Stack id=18 nframes=4 pc=4804196 func=127 file=113 line=69 pc=4802140 func=128 file=111 line=141 pc=4804022 func=112 file=113 line=67 pc=4803543 func=114 file=113 line=43 Stack id=37 nframes=3 pc=4804964 func=110 file=111 line=80 pc=4804052 func=112 file=113 line=84 pc=4803543 func=114 file=113 line=43 Stack id=31 nframes=4 pc=4803865 func=112 file=113 line=61 pc=4804890 func=129 file=113 line=73 pc=4802140 func=128 file=111 line=141 pc=4804691 func=124 file=113 line=70 Stack id=55 nframes=2 pc=4803832 func=112 file=113 line=58 pc=4803609 func=114 file=113 line=46 Stack id=47 nframes=2 pc=4803865 func=112 file=113 line=61 pc=4803589 func=114 file=113 line=45 Stack id=38 nframes=2 pc=4803832 func=112 file=113 line=58 pc=4803566 func=114 file=113 line=44 Stack id=56 nframes=2 pc=4803865 func=112 file=113 line=61 pc=4803609 func=114 file=113 line=46 Stack id=33 nframes=4 pc=4804022 func=112 file=113 line=67 pc=4804890 func=129 file=113 line=73 pc=4802140 func=128 file=111 line=141 pc=4804691 func=124 file=113 line=70 Stack id=44 nframes=3 pc=4599892 func=130 file=131 line=195 pc=4804036 func=112 file=113 line=83 pc=4803566 func=114 file=113 line=44 Stack id=3 nframes=4 pc=4421707 func=132 file=133 line=1382 pc=4533555 func=134 file=135 line=255 pc=4802469 func=125 file=126 line=125 pc=4803332 func=114 file=113 line=30 Stack id=6 nframes=1 pc=4539520 func=136 file=135 line=868 Stack id=58 nframes=2 pc=4804022 func=112 file=113 line=67 pc=4803609 func=114 file=113 line=46 Stack id=64 nframes=2 pc=4803865 func=112 file=113 line=61 pc=4803629 func=114 file=113 line=47 Stack id=62 nframes=3 pc=4804964 func=110 file=111 line=80 pc=4804052 func=112 file=113 line=84 pc=4803609 func=114 file=113 line=46 Stack id=34 nframes=4 pc=4804022 func=112 file=113 line=67 pc=4804890 func=129 file=113 line=73 pc=4802140 func=128 file=111 line=141 pc=4804691 func=124 file=113 line=70 Stack id=30 nframes=4 pc=4803832 func=112 file=113 line=58 pc=4804890 func=129 file=113 line=73 pc=4802140 func=128 file=111 line=141 pc=4804691 func=124 file=113 line=70 Stack id=32 nframes=4 pc=4803943 func=112 file=113 line=64 pc=4804890 func=129 file=113 line=73 pc=4802140 func=128 file=111 line=141 pc=4804691 func=124 file=113 line=70 Stack id=26 nframes=1 pc=4804691 func=124 file=113 line=70 Stack id=46 nframes=2 pc=4803832 func=112 file=113 line=58 pc=4803589 func=114 file=113 line=45 Stack id=50 nframes=4 pc=4804196 func=127 file=113 line=69 pc=4802140 func=128 file=111 line=141 pc=4804022 func=112 file=113 line=67 pc=4803589 func=114 file=113 line=45 Stack id=59 nframes=4 pc=4804196 func=127 file=113 line=69 pc=4802140 func=128 file=111 line=141 pc=4804022 func=112 file=113 line=67 pc=4803609 func=114 file=113 line=46 Stack id=7 nframes=4 pc=4539492 func=137 file=135 line=868 pc=4533572 func=134 file=135 line=258 pc=4802469 func=125 file=126 line=125 pc=4803332 func=114 file=113 line=30 Stack id=17 nframes=1 pc=4804512 func=124 file=113 line=69 Stack id=57 nframes=2 pc=4803943 func=112 file=113 line=64 pc=4803609 func=114 file=113 line=46 Stack id=41 nframes=2 pc=4804022 func=112 file=113 line=67 pc=4803566 func=114 file=113 line=44 Stack id=63 nframes=2 pc=4803832 func=112 file=113 line=58 pc=4803629 func=114 file=113 line=47 Stack id=60 nframes=2 pc=4804022 func=112 file=113 line=67 pc=4803609 func=114 file=113 line=46 Stack id=5 nframes=4 pc=4542549 func=138 file=139 line=42 pc=4533560 func=134 file=135 line=257 pc=4802469 func=125 file=126 line=125 pc=4803332 func=114 file=113 line=30 Stack id=40 nframes=2 pc=4803943 func=112 file=113 line=64 pc=4803566 func=114 file=113 line=44 Stack id=21 nframes=3 pc=4217905 func=140 file=141 line=442 pc=4539946 func=142 file=135 line=928 pc=4542714 func=143 file=139 line=54 Stack id=2 nframes=3 pc=4533284 func=134 file=135 line=238 pc=4802469 func=125 file=126 line=125 pc=4803332 func=114 file=113 line=30 Stack id=53 nframes=6 pc=4247492 func=144 file=145 line=1374 pc=4599676 func=130 file=131 line=186 pc=4804036 func=112 file=113 line=83 pc=4804890 func=129 file=113 line=73 pc=4802140 func=128 file=111 line=141 pc=4804691 func=124 file=113 line=70 Stack id=20 nframes=3 pc=4599892 func=130 file=131 line=195 pc=4804036 func=112 file=113 line=83 pc=4803543 func=114 file=113 line=43 Stack id=70 nframes=3 pc=4804964 func=110 file=111 line=80 pc=4804052 func=112 file=113 line=84 pc=4803629 func=114 file=113 line=47 Stack id=15 nframes=2 pc=4803943 func=112 file=113 line=64 pc=4803543 func=114 file=113 line=43 Stack id=65 nframes=2 pc=4803943 func=112 file=113 line=64 pc=4803629 func=114 file=113 line=47 Stack id=28 nframes=1 pc=4804691 func=124 file=113 line=70 Stack id=48 nframes=2 pc=4803943 func=112 file=113 line=64 pc=4803589 func=114 file=113 line=45 Stack id=61 nframes=3 pc=4599892 func=130 file=131 line=195 pc=4804036 func=112 file=113 line=83 pc=4803609 func=114 file=113 line=46 Stack id=13 nframes=2 pc=4803832 func=112 file=113 line=58 pc=4803543 func=114 file=113 line=43 Stack id=29 nframes=3 pc=4217905 func=140 file=141 line=442 pc=4539946 func=142 file=135 line=928 pc=4539559 func=136 file=135 line=871 Stack id=51 nframes=2 pc=4804022 func=112 file=113 line=67 pc=4803589 func=114 file=113 line=45 Stack id=42 nframes=4 pc=4804196 func=127 file=113 line=69 pc=4802140 func=128 file=111 line=141 pc=4804022 func=112 file=113 line=67 pc=4803566 func=114 file=113 line=44 Stack id=14 nframes=2 pc=4803865 func=112 file=113 line=61 pc=4803543 func=114 file=113 line=43 Stack id=39 nframes=2 pc=4803865 func=112 file=113 line=61 pc=4803566 func=114 file=113 line=44 Stack id=49 nframes=2 pc=4804022 func=112 file=113 line=67 pc=4803589 func=114 file=113 line=45 Stack id=52 nframes=3 pc=4599892 func=130 file=131 line=195 pc=4804036 func=112 file=113 line=83 pc=4803589 func=114 file=113 line=45 Stack id=24 nframes=7 pc=4634510 func=146 file=116 line=223 pc=4634311 func=117 file=118 line=240 pc=4633765 func=119 file=118 line=216 pc=4633083 func=120 file=118 line=131 pc=4764601 func=121 file=122 line=152 pc=4765335 func=123 file=122 line=238 pc=4804612 func=124 file=113 line=70 Stack id=43 nframes=2 pc=4804022 func=112 file=113 line=67 pc=4803566 func=114 file=113 line=44 Stack id=19 nframes=2 pc=4804022 func=112 file=113 line=67 pc=4803543 func=114 file=113 line=43 Stack id=69 nframes=3 pc=4599892 func=130 file=131 line=195 pc=4804036 func=112 file=113 line=83 pc=4803629 func=114 file=113 line=47 Stack id=16 nframes=2 pc=4804022 func=112 file=113 line=67 pc=4803543 func=114 file=113 line=43 Stack id=54 nframes=3 pc=4804964 func=110 file=111 line=80 pc=4804052 func=112 file=113 line=84 pc=4803589 func=114 file=113 line=45 Stack id=35 nframes=5 pc=4599892 func=130 file=131 line=195 pc=4804036 func=112 file=113 line=83 pc=4804890 func=129 file=113 line=73 pc=4802140 func=128 file=111 line=141 pc=4804691 func=124 file=113 line=70 Stack id=27 nframes=3 pc=4804862 func=129 file=113 line=71 pc=4802140 func=128 file=111 line=141 pc=4804691 func=124 file=113 line=70 Stack id=4 nframes=1 pc=4542656 func=143 file=139 line=42 Stack id=8 nframes=1 pc=4802720 func=147 file=126 line=128 Stack id=66 nframes=2 pc=4804022 func=112 file=113 line=67 pc=4803629 func=114 file=113 line=47 Stack id=1 nframes=4 pc=4548715 func=148 file=149 line=255 pc=4533263 func=134 file=135 line=237 pc=4802469 func=125 file=126 line=125 pc=4803332 func=114 file=113 line=30 Stack id=67 nframes=4 pc=4804196 func=127 file=113 line=69 pc=4802140 func=128 file=111 line=141 pc=4804022 func=112 file=113 line=67 pc=4803629 func=114 file=113 line=47 Stack id=23 nframes=7 pc=4641050 func=150 file=151 line=964 pc=4751591 func=152 file=153 line=209 pc=4751583 func=154 file=155 line=736 pc=4751136 func=156 file=155 line=380 pc=4753008 func=157 file=158 line=46 pc=4753000 func=159 file=160 line=183 pc=4802778 func=147 file=126 line=134 Stack id=11 nframes=1 pc=4803445 func=114 file=113 line=36 Stack id=68 nframes=2 pc=4804022 func=112 file=113 line=67 pc=4803629 func=114 file=113 line=47 Stack id=36 nframes=5 pc=4804964 func=110 file=111 line=80 pc=4804052 func=112 file=113 line=84 pc=4804890 func=129 file=113 line=73 pc=4802140 func=128 file=111 line=141 pc=4804691 func=124 file=113 line=70 Stack id=12 nframes=1 pc=4803492 func=114 file=113 line=39 Stack id=25 nframes=1 pc=4802788 func=147 file=126 line=130 EventBatch gen=1 m=18446744073709551615 time=2753925243266 size=3466 Strings String id=1 data="Not worker" String id=2 data="GC (dedicated)" String id=3 data="GC (fractional)" String id=4 data="GC (idle)" String id=5 data="unspecified" String id=6 data="forever" String id=7 data="network" String id=8 data="select" String id=9 data="sync.(*Cond).Wait" String id=10 data="sync" String id=11 data="chan send" String id=12 data="chan receive" String id=13 data="GC mark assist wait for work" String id=14 data="GC background sweeper wait" String id=15 data="system goroutine wait" String id=16 data="preempted" String id=17 data="wait for debug call" String id=18 data="wait until GC ends" String id=19 data="sleep" String id=20 data="runtime.Gosched" String id=21 data="start trace" String id=22 data="type2" String id=23 data="type3" String id=24 data="log" String id=25 data="before do" String id=26 data="do" String id=27 data="log2" String id=28 data="do" String id=29 data="fanout" String id=30 data="region3" String id=31 data="region2" String id=32 data="fanout region3" String id=33 data="region0" String id=34 data="fanout region0" String id=35 data="region1" String id=36 data="fanout region1" String id=37 data="fanout region2" String id=38 data="before do" String id=39 data="do" String id=40 data="before do" String id=41 data="do" String id=42 data="fanout region1" String id=43 data="fanout region0" String id=44 data="before do" String id=45 data="do" String id=46 data="fanout region2" String id=47 data="before do" String id=48 data="do" String id=49 data="fanout region0" String id=50 data="fanout region1" String id=51 data="before do" String id=52 data="do" String id=53 data="region5" String id=54 data="fanout region5" String id=55 data="fanout region3" String id=56 data="region4" String id=57 data="fanout region4" String id=58 data="fanout region0" String id=59 data="fanout region1" String id=60 data="fanout region2" String id=61 data="before do" String id=62 data="do" String id=63 data="before do" String id=64 data="do" String id=65 data="fanout region4" String id=66 data="fanout region0" String id=67 data="fanout region1" String id=68 data="fanout region2" String id=69 data="before do" String id=70 data="do" String id=71 data="fanout region3" String id=72 data="before do" String id=73 data="do" String id=74 data="fanout region3" String id=75 data="fanout region0" String id=76 data="fanout region1" String id=77 data="fanout region2" String id=78 data="before do" String id=79 data="do" String id=80 data="before do" String id=81 data="do" String id=82 data="fanout region1" String id=83 data="fanout region0" String id=84 data="before do" String id=85 data="do" String id=86 data="fanout region2" String id=87 data="before do" String id=88 data="do" String id=89 data="fanout region0" String id=90 data="fanout region1" String id=91 data="before do" String id=92 data="do" String id=93 data="fanout region5" String id=94 data="fanout region0" String id=95 data="fanout region1" String id=96 data="fanout region2" String id=97 data="before do" String id=98 data="do" String id=99 data="fanout region4" String id=100 data="fanout region3" String id=101 data="before do" String id=102 data="do" String id=103 data="fanout region4" String id=104 data="fanout region0" String id=105 data="fanout region1" String id=106 data="fanout region2" String id=107 data="before do" String id=108 data="do" String id=109 data="fanout region3" String id=110 data="runtime/trace.(*Task).End" String id=111 data="/usr/local/google/home/mknyszek/work/go-1/src/runtime/trace/annotation.go" String id=112 data="main.do" String id=113 data="/usr/local/google/home/mknyszek/work/go-1/src/internal/trace/v2/testdata/testprog/annotations-stress.go" String id=114 data="main.main" String id=115 data="sync.(*Mutex).Lock" String id=116 data="/usr/local/google/home/mknyszek/work/go-1/src/sync/mutex.go" String id=117 data="sync.(*Pool).pinSlow" String id=118 data="/usr/local/google/home/mknyszek/work/go-1/src/sync/pool.go" String id=119 data="sync.(*Pool).pin" String id=120 data="sync.(*Pool).Get" String id=121 data="fmt.newPrinter" String id=122 data="/usr/local/google/home/mknyszek/work/go-1/src/fmt/print.go" String id=123 data="fmt.Sprintf" String id=124 data="main.do.func1.1" String id=125 data="runtime/trace.Start" String id=126 data="/usr/local/google/home/mknyszek/work/go-1/src/runtime/trace/trace.go" String id=127 data="main.do.func1" String id=128 data="runtime/trace.WithRegion" String id=129 data="main.do.func1.1.1" String id=130 data="time.Sleep" String id=131 data="/usr/local/google/home/mknyszek/work/go-1/src/runtime/time.go" String id=132 data="runtime.startTheWorld" String id=133 data="/usr/local/google/home/mknyszek/work/go-1/src/runtime/proc.go" String id=134 data="runtime.StartTrace" String id=135 data="/usr/local/google/home/mknyszek/work/go-1/src/runtime/trace2.go" String id=136 data="runtime.(*traceAdvancerState).start.func1" String id=137 data="runtime.(*traceAdvancerState).start" String id=138 data="runtime.traceStartReadCPU" String id=139 data="/usr/local/google/home/mknyszek/work/go-1/src/runtime/trace2cpu.go" String id=140 data="runtime.chanrecv1" String id=141 data="/usr/local/google/home/mknyszek/work/go-1/src/runtime/chan.go" String id=142 data="runtime.(*wakeableSleep).sleep" String id=143 data="runtime.traceStartReadCPU.func1" String id=144 data="runtime.newobject" String id=145 data="/usr/local/google/home/mknyszek/work/go-1/src/runtime/malloc.go" String id=146 data="sync.(*Mutex).Unlock" String id=147 data="runtime/trace.Start.func1" String id=148 data="runtime.traceLocker.Gomaxprocs" String id=149 data="/usr/local/google/home/mknyszek/work/go-1/src/runtime/trace2runtime.go" String id=150 data="syscall.write" String id=151 data="/usr/local/google/home/mknyszek/work/go-1/src/syscall/zsyscall_linux_amd64.go" String id=152 data="syscall.Write" String id=153 data="/usr/local/google/home/mknyszek/work/go-1/src/syscall/syscall_unix.go" String id=154 data="internal/poll.ignoringEINTRIO" String id=155 data="/usr/local/google/home/mknyszek/work/go-1/src/internal/poll/fd_unix.go" String id=156 data="internal/poll.(*FD).Write" String id=157 data="os.(*File).write" String id=158 data="/usr/local/google/home/mknyszek/work/go-1/src/os/file_posix.go" String id=159 data="os.(*File).Write" String id=160 data="/usr/local/google/home/mknyszek/work/go-1/src/os/file.go" ././@LongLink0000644000000000000000000000021700000000000011603 Lustar rootrootdependencies/pkg/mod/golang.org/x/exp@v0.0.0-20240506185415-9bf2ced13842/trace/testdata/tests/go122-syscall-steal-proc-reacquire-new-proc.testdependencies/pkg/mod/golang.org/x/exp@v0.0.0-20240506185415-9bf2ced13842/trace/testdata/tests/go122-0000644000000000000000000000112015107355263027616 0ustar rootroot-- expect -- SUCCESS -- trace -- Trace Go1.22 EventBatch gen=1 m=0 time=0 size=23 ProcStatus dt=1 p=1 pstatus=2 ProcStatus dt=1 p=0 pstatus=1 GoStatus dt=1 g=1 m=0 gstatus=2 GoSyscallBegin dt=1 p_seq=1 stack=0 ProcStart dt=1 p=1 p_seq=1 GoSyscallEndBlocked dt=1 EventBatch gen=1 m=1 time=0 size=14 ProcStatus dt=1 p=2 pstatus=1 GoStatus dt=1 g=2 m=1 gstatus=2 ProcSteal dt=1 p=0 p_seq=2 m=0 EventBatch gen=1 m=18446744073709551615 time=0 size=5 Frequency freq=15625000 EventBatch gen=1 m=18446744073709551615 time=0 size=1 Stacks EventBatch gen=1 m=18446744073709551615 time=0 size=1 Strings dependencies/pkg/mod/golang.org/x/exp@v0.0.0-20240506185415-9bf2ced13842/trace/testdata/fuzz/0000755000000000000000000000000015107355263026626 5ustar rootroot././@LongLink0000644000000000000000000000015100000000000011600 Lustar rootrootdependencies/pkg/mod/golang.org/x/exp@v0.0.0-20240506185415-9bf2ced13842/trace/testdata/fuzz/FuzzReader/dependencies/pkg/mod/golang.org/x/exp@v0.0.0-20240506185415-9bf2ced13842/trace/testdata/fuzz/FuzzRea0000755000000000000000000000000015107355263030135 5ustar rootroot././@LongLink0000644000000000000000000000017100000000000011602 Lustar rootrootdependencies/pkg/mod/golang.org/x/exp@v0.0.0-20240506185415-9bf2ced13842/trace/testdata/fuzz/FuzzReader/0cb1786dee0f090bdependencies/pkg/mod/golang.org/x/exp@v0.0.0-20240506185415-9bf2ced13842/trace/testdata/fuzz/FuzzRea0000644000000000000000000000015015107355263030133 0ustar rootrootgo test fuzz v1 []byte("go 1.22 trace\x00\x00\x00\x01\x0100\x85\x00\x190000\x01\x0100\x88\x00\b0000000")././@LongLink0000644000000000000000000000017100000000000011602 Lustar rootrootdependencies/pkg/mod/golang.org/x/exp@v0.0.0-20240506185415-9bf2ced13842/trace/testdata/fuzz/FuzzReader/344331b314da0b08dependencies/pkg/mod/golang.org/x/exp@v0.0.0-20240506185415-9bf2ced13842/trace/testdata/fuzz/FuzzRea0000644000000000000000000000044315107355263030140 0ustar rootrootgo test fuzz v1 []byte("go 1.22 trace\x00\x00\x00\x01\x0100\x85\x00\b0000\x01\x01\xff00\xb8\x00\x1900\xff\xff\xff\xff\xff\xff\xff\xff\xff\x01\x04\x1900\xff\xff\xff\xff\xff\xff\xff\xff\xff\x01\x04\x1900\xff\xff\xff\xff\xff\xff\xff\xff\xff\x01\x04\x1901\xff\xff\xff\xff\xff\xff\xff\xff0\x800")././@LongLink0000644000000000000000000000017400000000000011605 Lustar rootrootdependencies/pkg/mod/golang.org/x/exp@v0.0.0-20240506185415-9bf2ced13842/trace/testdata/fuzz/FuzzReader/malformed-timestampdependencies/pkg/mod/golang.org/x/exp@v0.0.0-20240506185415-9bf2ced13842/trace/testdata/fuzz/FuzzRea0000644000000000000000000000035215107355263030137 0ustar rootrootgo test fuzz v1 []byte("go 1.22 trace\x00\x00\x00\x01\x01\xff\xff\xff\xff\xff\xff\xff\xff\xff\x01\x87ߕ\xb4\x99\xb2\x06\x05\b\xa8ֹ\a\x01\x01\xfa\x9f\n\xa5ѕ\xb4\x99\xb2\x06\x0e\n\x97\x96\x96\x96\x96\x96\x96\x96\x96\x96\x01\x01\x01") ././@LongLink0000644000000000000000000000017100000000000011602 Lustar rootrootdependencies/pkg/mod/golang.org/x/exp@v0.0.0-20240506185415-9bf2ced13842/trace/testdata/fuzz/FuzzReader/2b05796f9b2fc48ddependencies/pkg/mod/golang.org/x/exp@v0.0.0-20240506185415-9bf2ced13842/trace/testdata/fuzz/FuzzRea0000644000000000000000000000014515107355263030137 0ustar rootrootgo test fuzz v1 []byte("go 1.22 trace\x00\x00\x00\x01\x0100\x85\x00-0000\x01\x0100\x88\x00\b0000000")././@LongLink0000644000000000000000000000017100000000000011602 Lustar rootrootdependencies/pkg/mod/golang.org/x/exp@v0.0.0-20240506185415-9bf2ced13842/trace/testdata/fuzz/FuzzReader/d91203cd397aa0bcdependencies/pkg/mod/golang.org/x/exp@v0.0.0-20240506185415-9bf2ced13842/trace/testdata/fuzz/FuzzRea0000644000000000000000000000011015107355263030127 0ustar rootrootgo test fuzz v1 []byte("go 1.22 trace\x00\x00\x00\x01001\x85\x00\b0000")././@LongLink0000644000000000000000000000017100000000000011602 Lustar rootrootdependencies/pkg/mod/golang.org/x/exp@v0.0.0-20240506185415-9bf2ced13842/trace/testdata/fuzz/FuzzReader/aeb749b6bc317b66dependencies/pkg/mod/golang.org/x/exp@v0.0.0-20240506185415-9bf2ced13842/trace/testdata/fuzz/FuzzRea0000644000000000000000000000011015107355263030127 0ustar rootrootgo test fuzz v1 []byte("go 1.22 trace\x00\x00\x00\x01000\x85\x00\b0000")././@LongLink0000644000000000000000000000017300000000000011604 Lustar rootrootdependencies/pkg/mod/golang.org/x/exp@v0.0.0-20240506185415-9bf2ced13842/trace/testdata/fuzz/FuzzReader/invalid-proc-statedependencies/pkg/mod/golang.org/x/exp@v0.0.0-20240506185415-9bf2ced13842/trace/testdata/fuzz/FuzzRea0000644000000000000000000000033515107355263030140 0ustar rootrootgo test fuzz v1 []byte("go 1.22 trace\x00\x00\x00\x01\x01\xff\xff\xff\xff\xff\xff\xff\xff\xff\x01\x87ߕ\xb4\x99\xb2\x06\x05\b\xa8ֹ\a\x01\x01\xff\xff\xff\xff\xff\xff\xff\xff\xff\x01\x94镴\x99\xb2\x06\x05\r\xa7\x02\x00E")././@LongLink0000644000000000000000000000017100000000000011602 Lustar rootrootdependencies/pkg/mod/golang.org/x/exp@v0.0.0-20240506185415-9bf2ced13842/trace/testdata/fuzz/FuzzReader/2b9be9aebe08d511dependencies/pkg/mod/golang.org/x/exp@v0.0.0-20240506185415-9bf2ced13842/trace/testdata/fuzz/FuzzRea0000644000000000000000000000015315107355263030136 0ustar rootrootgo test fuzz v1 []byte("go 1.22 trace\x00\x00\x00\x01\x0100\x85\x00\x0f00\x120\x01\x0100\x88\x00\b0000000")././@LongLink0000644000000000000000000000017100000000000011602 Lustar rootrootdependencies/pkg/mod/golang.org/x/exp@v0.0.0-20240506185415-9bf2ced13842/trace/testdata/fuzz/FuzzReader/4055b17cae1a3443dependencies/pkg/mod/golang.org/x/exp@v0.0.0-20240506185415-9bf2ced13842/trace/testdata/fuzz/FuzzRea0000644000000000000000000000007615107355263030142 0ustar rootrootgo test fuzz v1 []byte("go 1.11 trace\x00\x00\x00A00\x020$0") ././@LongLink0000644000000000000000000000017700000000000011610 Lustar rootrootdependencies/pkg/mod/golang.org/x/exp@v0.0.0-20240506185415-9bf2ced13842/trace/testdata/fuzz/FuzzReader/closing-unknown-regiondependencies/pkg/mod/golang.org/x/exp@v0.0.0-20240506185415-9bf2ced13842/trace/testdata/fuzz/FuzzRea0000644000000000000000000000036015107355263030136 0ustar rootrootgo test fuzz v1 []byte("go 1.22 trace\x00\x00\x00\x01\x01\xff\xff\xff\xff\xff\xff\xff\xff\xff\x01\x87ߕ\xb4\x99\xb2\x06\x05\b\xa8ֹ\a\x01\x01\xf6\x9f\n\x9fÕ\xb4\x99\xb2\x06\x11\r\xa7\x02\x00\x01\x19\x05\x01\xf6\x9f\n\x02+\x04\x01\x00\x00")././@LongLink0000644000000000000000000000016100000000000011601 Lustar rootrootdependencies/pkg/mod/golang.org/x/exp@v0.0.0-20240506185415-9bf2ced13842/trace/testdata/fuzz/FuzzReader/large-iddependencies/pkg/mod/golang.org/x/exp@v0.0.0-20240506185415-9bf2ced13842/trace/testdata/fuzz/FuzzRea0000644000000000000000000000037415107355263030143 0ustar rootrootgo test fuzz v1 []byte("go 1.22 trace\x00\x00\x00\x01\x01\xff\xff\xff\xff\xff\xff\xff\xff\xff\x01\x87ߕ\xb4\x99\xb2\x06\x05\b\xa8ֹ\a\x01\x01\xff\xff\xff\xff\xff\xff\xff\xff\xff\x01\x94镴\x99\xb2\x06\f\x02\x03\xff\xff\xff\xff\xff\xff\xff\x9f\x1d\x00")././@LongLink0000644000000000000000000000017100000000000011602 Lustar rootrootdependencies/pkg/mod/golang.org/x/exp@v0.0.0-20240506185415-9bf2ced13842/trace/testdata/fuzz/FuzzReader/1e45307d5b2ec36ddependencies/pkg/mod/golang.org/x/exp@v0.0.0-20240506185415-9bf2ced13842/trace/testdata/fuzz/FuzzRea0000644000000000000000000000011015107355263030127 0ustar rootrootgo test fuzz v1 []byte("go 1.22 trace\x00\x00\x00\x01000\x85\x00\b0001")././@LongLink0000644000000000000000000000017100000000000011602 Lustar rootrootdependencies/pkg/mod/golang.org/x/exp@v0.0.0-20240506185415-9bf2ced13842/trace/testdata/fuzz/FuzzReader/4d9ddc909984e871dependencies/pkg/mod/golang.org/x/exp@v0.0.0-20240506185415-9bf2ced13842/trace/testdata/fuzz/FuzzRea0000644000000000000000000000024315107355263030136 0ustar rootrootgo test fuzz v1 []byte("go 1.22 trace\x00\x00\x00\x01\x0100\x11\r\xa700\x01\x19000\x02$000000\x01\x0100\x05\b0000\x01\x0110\x11\r\xa700\x01\x19 00\x02\x110 0000") ././@LongLink0000644000000000000000000000017100000000000011602 Lustar rootrootdependencies/pkg/mod/golang.org/x/exp@v0.0.0-20240506185415-9bf2ced13842/trace/testdata/fuzz/FuzzReader/56f073e57903588cdependencies/pkg/mod/golang.org/x/exp@v0.0.0-20240506185415-9bf2ced13842/trace/testdata/fuzz/FuzzRea0000644000000000000000000000015015107355263030133 0ustar rootrootgo test fuzz v1 []byte("go 1.22 trace\x00\x00\x00\x01\x0100\x85\x00\x1f0000\x01\x0100\x88\x00\b0000000")././@LongLink0000644000000000000000000000017100000000000011602 Lustar rootrootdependencies/pkg/mod/golang.org/x/exp@v0.0.0-20240506185415-9bf2ced13842/trace/testdata/fuzz/FuzzReader/365d7b5b633b3f97dependencies/pkg/mod/golang.org/x/exp@v0.0.0-20240506185415-9bf2ced13842/trace/testdata/fuzz/FuzzRea0000644000000000000000000000011415107355263030133 0ustar rootrootgo test fuzz v1 []byte("go 1.22 trace\x00\x00\x00\x0100\x8c0\x85\x00\b0000")././@LongLink0000644000000000000000000000017100000000000011602 Lustar rootrootdependencies/pkg/mod/golang.org/x/exp@v0.0.0-20240506185415-9bf2ced13842/trace/testdata/fuzz/FuzzReader/d478e18d2d6756b7dependencies/pkg/mod/golang.org/x/exp@v0.0.0-20240506185415-9bf2ced13842/trace/testdata/fuzz/FuzzRea0000644000000000000000000000014615107355263030140 0ustar rootrootgo test fuzz v1 []byte("go 1.22 trace\x00\x00\x00\x01\x0100\x85\x00\"0000\x01\x0100\x88\x00\b0000000")././@LongLink0000644000000000000000000000017100000000000011602 Lustar rootrootdependencies/pkg/mod/golang.org/x/exp@v0.0.0-20240506185415-9bf2ced13842/trace/testdata/fuzz/FuzzReader/9d6ee7d3ddf8d566dependencies/pkg/mod/golang.org/x/exp@v0.0.0-20240506185415-9bf2ced13842/trace/testdata/fuzz/FuzzRea0000644000000000000000000000024315107355263030136 0ustar rootrootgo test fuzz v1 []byte("go 1.22 trace\x00\x00\x00\x01\x0100\x11\r\xa700\x01\x19000\x02#000000\x01\x0100\x05\b0000\x01\x0110\x11\r\xa700\x01\x19 00\x02\x110 0000") dependencies/pkg/mod/golang.org/x/exp@v0.0.0-20240506185415-9bf2ced13842/trace/testdata/generate.go0000644000000000000000000000045215107355263027752 0ustar rootroot// Copyright 2023 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. // Code generated by "gen.bash" from internal/trace/v2; DO NOT EDIT. //go:build go1.21 //go:generate go run mktests.go package testdata dependencies/pkg/mod/golang.org/x/exp@v0.0.0-20240506185415-9bf2ced13842/trace/testdata/generators/0000755000000000000000000000000015107355263030001 5ustar rootroot././@LongLink0000644000000000000000000000022300000000000011600 Lustar rootrootdependencies/pkg/mod/golang.org/x/exp@v0.0.0-20240506185415-9bf2ced13842/trace/testdata/generators/go122-syscall-steal-proc-gen-boundary-bare-m.godependencies/pkg/mod/golang.org/x/exp@v0.0.0-20240506185415-9bf2ced13842/trace/testdata/generators/g0000644000000000000000000000206615107355263030156 0ustar rootroot// Copyright 2023 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. // Code generated by "gen.bash" from internal/trace/v2; DO NOT EDIT. //go:build go1.21 // Tests syscall P stealing at a generation boundary. package main import ( "golang.org/x/exp/trace" "golang.org/x/exp/trace/internal/event/go122" testgen "golang.org/x/exp/trace/internal/testgen/go122" ) func main() { testgen.Main(gen) } func gen(t *testgen.Trace) { g := t.Generation(1) // One goroutine is exiting with a syscall. It already // acquired a new P. b0 := g.Batch(trace.ThreadID(0), 0) b0.Event("ProcStatus", trace.ProcID(1), go122.ProcRunning) b0.Event("GoStatus", trace.GoID(1), trace.ThreadID(0), go122.GoSyscall) b0.Event("GoSyscallEndBlocked") // A bare M stole the goroutine's P at the generation boundary. b1 := g.Batch(trace.ThreadID(1), 0) b1.Event("ProcStatus", trace.ProcID(0), go122.ProcSyscallAbandoned) b1.Event("ProcSteal", trace.ProcID(0), testgen.Seq(1), trace.ThreadID(0)) } ././@LongLink0000644000000000000000000000021500000000000011601 Lustar rootrootdependencies/pkg/mod/golang.org/x/exp@v0.0.0-20240506185415-9bf2ced13842/trace/testdata/generators/go122-syscall-steal-proc-simple-bare-m.godependencies/pkg/mod/golang.org/x/exp@v0.0.0-20240506185415-9bf2ced13842/trace/testdata/generators/g0000644000000000000000000000172115107355263030153 0ustar rootroot// Copyright 2023 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. // Code generated by "gen.bash" from internal/trace/v2; DO NOT EDIT. //go:build go1.21 // Tests syscall P stealing. package main import ( "golang.org/x/exp/trace" "golang.org/x/exp/trace/internal/event/go122" testgen "golang.org/x/exp/trace/internal/testgen/go122" ) func main() { testgen.Main(gen) } func gen(t *testgen.Trace) { g := t.Generation(1) // One goroutine enters a syscall. b0 := g.Batch(trace.ThreadID(0), 0) b0.Event("ProcStatus", trace.ProcID(0), go122.ProcRunning) b0.Event("GoStatus", trace.GoID(1), trace.ThreadID(0), go122.GoRunning) b0.Event("GoSyscallBegin", testgen.Seq(1), testgen.NoStack) b0.Event("GoSyscallEndBlocked") // A bare M steals the goroutine's P. b1 := g.Batch(trace.ThreadID(1), 0) b1.Event("ProcSteal", trace.ProcID(0), testgen.Seq(2), trace.ThreadID(0)) } ././@LongLink0000644000000000000000000000024600000000000011605 Lustar rootrootdependencies/pkg/mod/golang.org/x/exp@v0.0.0-20240506185415-9bf2ced13842/trace/testdata/generators/go122-syscall-steal-proc-gen-boundary-reacquire-new-proc-bare-m.godependencies/pkg/mod/golang.org/x/exp@v0.0.0-20240506185415-9bf2ced13842/trace/testdata/generators/g0000644000000000000000000000215315107355263030153 0ustar rootroot// Copyright 2023 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. // Code generated by "gen.bash" from internal/trace/v2; DO NOT EDIT. //go:build go1.21 // Tests syscall P stealing at a generation boundary. package main import ( "golang.org/x/exp/trace" "golang.org/x/exp/trace/internal/event/go122" testgen "golang.org/x/exp/trace/internal/testgen/go122" ) func main() { testgen.Main(gen) } func gen(t *testgen.Trace) { g := t.Generation(1) // One goroutine is exiting with a syscall. It already // acquired a new P. b0 := g.Batch(trace.ThreadID(0), 0) b0.Event("GoStatus", trace.GoID(1), trace.ThreadID(0), go122.GoSyscall) b0.Event("ProcStatus", trace.ProcID(1), go122.ProcIdle) b0.Event("ProcStart", trace.ProcID(1), testgen.Seq(1)) b0.Event("GoSyscallEndBlocked") // A bare M stole the goroutine's P at the generation boundary. b1 := g.Batch(trace.ThreadID(1), 0) b1.Event("ProcStatus", trace.ProcID(0), go122.ProcSyscallAbandoned) b1.Event("ProcSteal", trace.ProcID(0), testgen.Seq(1), trace.ThreadID(0)) } ././@LongLink0000644000000000000000000000022200000000000011577 Lustar rootrootdependencies/pkg/mod/golang.org/x/exp@v0.0.0-20240506185415-9bf2ced13842/trace/testdata/generators/go122-syscall-steal-proc-sitting-in-syscall.godependencies/pkg/mod/golang.org/x/exp@v0.0.0-20240506185415-9bf2ced13842/trace/testdata/generators/g0000644000000000000000000000205415107355263030153 0ustar rootroot// Copyright 2023 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. // Code generated by "gen.bash" from internal/trace/v2; DO NOT EDIT. //go:build go1.21 // Tests syscall P stealing from a goroutine and thread // that have been in a syscall the entire generation. package main import ( "golang.org/x/exp/trace" "golang.org/x/exp/trace/internal/event/go122" testgen "golang.org/x/exp/trace/internal/testgen/go122" ) func main() { testgen.Main(gen) } func gen(t *testgen.Trace) { g := t.Generation(1) // Steal proc from a goroutine that's been blocked // in a syscall the entire generation. b0 := g.Batch(trace.ThreadID(0), 0) b0.Event("ProcStatus", trace.ProcID(0), go122.ProcSyscallAbandoned) b0.Event("ProcSteal", trace.ProcID(0), testgen.Seq(1), trace.ThreadID(1)) // Status event for a goroutine blocked in a syscall for the entire generation. bz := g.Batch(trace.NoThread, 0) bz.Event("GoStatus", trace.GoID(1), trace.ThreadID(1), go122.GoSyscall) } ././@LongLink0000644000000000000000000000021300000000000011577 Lustar rootrootdependencies/pkg/mod/golang.org/x/exp@v0.0.0-20240506185415-9bf2ced13842/trace/testdata/generators/go122-create-syscall-reuse-thread-id.godependencies/pkg/mod/golang.org/x/exp@v0.0.0-20240506185415-9bf2ced13842/trace/testdata/generators/g0000644000000000000000000000472615107355263030163 0ustar rootroot// Copyright 2023 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. // Code generated by "gen.bash" from internal/trace/v2; DO NOT EDIT. //go:build go1.21 // Tests a G being created from within a syscall. // // Specifically, it tests a scenerio wherein a C // thread is calling into Go, creating a goroutine in // a syscall (in the tracer's model). The system is free // to reuse thread IDs, so first a thread ID is used to // call into Go, and then is used for a Go-created thread. // // This is a regression test. The trace parser didn't correctly // model GoDestroySyscall as dropping its P (even if the runtime // did). It turns out this is actually fine if all the threads // in the trace have unique IDs, since the P just stays associated // with an eternally dead thread, and it's stolen by some other // thread later. But if thread IDs are reused, then the tracer // gets confused when trying to advance events on the new thread. // The now-dead thread which exited on a GoDestroySyscall still has // its P associated and this transfers to the newly-live thread // in the parser's state because they share a thread ID. package main import ( "golang.org/x/exp/trace" "golang.org/x/exp/trace/internal/event/go122" testgen "golang.org/x/exp/trace/internal/testgen/go122" ) func main() { testgen.Main(gen) } func gen(t *testgen.Trace) { g := t.Generation(1) // A C thread calls into Go and acquires a P. It returns // back to C, destroying the G. b0 := g.Batch(trace.ThreadID(0), 0) b0.Event("GoCreateSyscall", trace.GoID(4)) b0.Event("GoSyscallEndBlocked") b0.Event("ProcStatus", trace.ProcID(0), go122.ProcIdle) b0.Event("ProcStart", trace.ProcID(0), testgen.Seq(1)) b0.Event("GoStatus", trace.GoID(4), trace.NoThread, go122.GoRunnable) b0.Event("GoStart", trace.GoID(4), testgen.Seq(1)) b0.Event("GoSyscallBegin", testgen.Seq(2), testgen.NoStack) b0.Event("GoDestroySyscall") // A new Go-created thread with the same ID appears and // starts running, then tries to steal the P from the // first thread. The stealing is interesting because if // the parser handles GoDestroySyscall wrong, then we // have a self-steal here potentially that doesn't make // sense. b1 := g.Batch(trace.ThreadID(0), 0) b1.Event("ProcStatus", trace.ProcID(1), go122.ProcIdle) b1.Event("ProcStart", trace.ProcID(1), testgen.Seq(1)) b1.Event("ProcSteal", trace.ProcID(0), testgen.Seq(3), trace.ThreadID(0)) } ././@LongLink0000644000000000000000000000021100000000000011575 Lustar rootrootdependencies/pkg/mod/golang.org/x/exp@v0.0.0-20240506185415-9bf2ced13842/trace/testdata/generators/go122-syscall-steal-proc-ambiguous.godependencies/pkg/mod/golang.org/x/exp@v0.0.0-20240506185415-9bf2ced13842/trace/testdata/generators/g0000644000000000000000000000314615107355263030156 0ustar rootroot// Copyright 2023 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. // Code generated by "gen.bash" from internal/trace/v2; DO NOT EDIT. //go:build go1.21 // Tests syscall P stealing. // // Specifically, it tests a scenerio wherein, without a // P sequence number of GoSyscallBegin, the syscall that // a ProcSteal applies to is ambiguous. This only happens in // practice when the events aren't already properly ordered // by timestamp, since the ProcSteal won't be seen until after // the correct GoSyscallBegin appears on the frontier. package main import ( "golang.org/x/exp/trace" "golang.org/x/exp/trace/internal/event/go122" testgen "golang.org/x/exp/trace/internal/testgen/go122" ) func main() { testgen.Main(gen) } func gen(t *testgen.Trace) { t.DisableTimestamps() g := t.Generation(1) // One goroutine does a syscall without blocking, then another one where // it's P gets stolen. b0 := g.Batch(trace.ThreadID(0), 0) b0.Event("ProcStatus", trace.ProcID(0), go122.ProcRunning) b0.Event("GoStatus", trace.GoID(1), trace.ThreadID(0), go122.GoRunning) b0.Event("GoSyscallBegin", testgen.Seq(1), testgen.NoStack) b0.Event("GoSyscallEnd") b0.Event("GoSyscallBegin", testgen.Seq(2), testgen.NoStack) b0.Event("GoSyscallEndBlocked") // A running goroutine steals proc 0. b1 := g.Batch(trace.ThreadID(1), 0) b1.Event("ProcStatus", trace.ProcID(2), go122.ProcRunning) b1.Event("GoStatus", trace.GoID(2), trace.ThreadID(1), go122.GoRunning) b1.Event("ProcSteal", trace.ProcID(0), testgen.Seq(3), trace.ThreadID(0)) } ././@LongLink0000644000000000000000000000020200000000000011575 Lustar rootrootdependencies/pkg/mod/golang.org/x/exp@v0.0.0-20240506185415-9bf2ced13842/trace/testdata/generators/go122-create-syscall-with-p.godependencies/pkg/mod/golang.org/x/exp@v0.0.0-20240506185415-9bf2ced13842/trace/testdata/generators/g0000644000000000000000000000351015107355263030151 0ustar rootroot// Copyright 2023 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. // Code generated by "gen.bash" from internal/trace/v2; DO NOT EDIT. //go:build go1.21 // Tests a G being created from within a syscall. // // Specifically, it tests a scenerio wherein a C // thread is calling into Go, creating a goroutine in // a syscall (in the tracer's model). Because the actual // m can be reused, it's possible for that m to have never // had its P (in _Psyscall) stolen if the runtime doesn't // model the scenario correctly. Make sure we reject such // traces. package main import ( "golang.org/x/exp/trace" "golang.org/x/exp/trace/internal/event/go122" testgen "golang.org/x/exp/trace/internal/testgen/go122" ) func main() { testgen.Main(gen) } func gen(t *testgen.Trace) { t.ExpectFailure(".*expected a proc but didn't have one.*") g := t.Generation(1) // A C thread calls into Go and acquires a P. It returns // back to C, destroying the G. It then comes back to Go // on the same thread and again returns to C. // // Note: on pthread platforms this can't happen on the // same thread because the m is stashed in TLS between // calls into Go, until the thread dies. This is still // possible on other platforms, however. b0 := g.Batch(trace.ThreadID(0), 0) b0.Event("GoCreateSyscall", trace.GoID(4)) b0.Event("ProcStatus", trace.ProcID(0), go122.ProcIdle) b0.Event("ProcStart", trace.ProcID(0), testgen.Seq(1)) b0.Event("GoSyscallEndBlocked") b0.Event("GoStart", trace.GoID(4), testgen.Seq(1)) b0.Event("GoSyscallBegin", testgen.Seq(2), testgen.NoStack) b0.Event("GoDestroySyscall") b0.Event("GoCreateSyscall", trace.GoID(4)) b0.Event("GoSyscallEnd") b0.Event("GoSyscallBegin", testgen.Seq(3), testgen.NoStack) b0.Event("GoDestroySyscall") } ././@LongLink0000644000000000000000000000023100000000000011577 Lustar rootrootdependencies/pkg/mod/golang.org/x/exp@v0.0.0-20240506185415-9bf2ced13842/trace/testdata/generators/go122-syscall-steal-proc-reacquire-new-proc-bare-m.godependencies/pkg/mod/golang.org/x/exp@v0.0.0-20240506185415-9bf2ced13842/trace/testdata/generators/g0000644000000000000000000000214115107355263030150 0ustar rootroot// Copyright 2023 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. // Code generated by "gen.bash" from internal/trace/v2; DO NOT EDIT. //go:build go1.21 // Tests syscall P stealing. package main import ( "golang.org/x/exp/trace" "golang.org/x/exp/trace/internal/event/go122" testgen "golang.org/x/exp/trace/internal/testgen/go122" ) func main() { testgen.Main(gen) } func gen(t *testgen.Trace) { g := t.Generation(1) // One goroutine enters a syscall, grabs a P, and starts running. b0 := g.Batch(trace.ThreadID(0), 0) b0.Event("ProcStatus", trace.ProcID(1), go122.ProcIdle) b0.Event("ProcStatus", trace.ProcID(0), go122.ProcRunning) b0.Event("GoStatus", trace.GoID(1), trace.ThreadID(0), go122.GoRunning) b0.Event("GoSyscallBegin", testgen.Seq(1), testgen.NoStack) b0.Event("ProcStart", trace.ProcID(1), testgen.Seq(1)) b0.Event("GoSyscallEndBlocked") // A bare M steals the goroutine's P. b1 := g.Batch(trace.ThreadID(1), 0) b1.Event("ProcSteal", trace.ProcID(0), testgen.Seq(2), trace.ThreadID(0)) } ././@LongLink0000644000000000000000000000020400000000000011577 Lustar rootrootdependencies/pkg/mod/golang.org/x/exp@v0.0.0-20240506185415-9bf2ced13842/trace/testdata/generators/go122-task-across-generations.godependencies/pkg/mod/golang.org/x/exp@v0.0.0-20240506185415-9bf2ced13842/trace/testdata/generators/g0000644000000000000000000000272715107355263030162 0ustar rootroot// Copyright 2023 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. // Code generated by "gen.bash" from internal/trace/v2; DO NOT EDIT. //go:build go1.21 // Regression test for an issue found in development. // // The issue is that EvUserTaskEnd events don't carry the // task type with them, so the parser needs to track that // information. But if the parser just tracks the string ID // and not the string itself, that string ID may not be valid // for use in future generations. package main import ( "golang.org/x/exp/trace" "golang.org/x/exp/trace/internal/event/go122" testgen "golang.org/x/exp/trace/internal/testgen/go122" ) func main() { testgen.Main(gen) } func gen(t *testgen.Trace) { g1 := t.Generation(1) // A running goroutine emits a task begin. b1 := g1.Batch(trace.ThreadID(0), 0) b1.Event("ProcStatus", trace.ProcID(0), go122.ProcRunning) b1.Event("GoStatus", trace.GoID(1), trace.ThreadID(0), go122.GoRunning) b1.Event("UserTaskBegin", trace.TaskID(2), trace.TaskID(0) /* 0 means no parent, not background */, "my task", testgen.NoStack) g2 := t.Generation(2) // That same goroutine emits a task end in the following generation. b2 := g2.Batch(trace.ThreadID(0), 5) b2.Event("ProcStatus", trace.ProcID(0), go122.ProcRunning) b2.Event("GoStatus", trace.GoID(1), trace.ThreadID(0), go122.GoRunning) b2.Event("UserTaskEnd", trace.TaskID(2), testgen.NoStack) } ././@LongLink0000644000000000000000000000021400000000000011600 Lustar rootrootdependencies/pkg/mod/golang.org/x/exp@v0.0.0-20240506185415-9bf2ced13842/trace/testdata/generators/go122-syscall-steal-proc-gen-boundary.godependencies/pkg/mod/golang.org/x/exp@v0.0.0-20240506185415-9bf2ced13842/trace/testdata/generators/g0000644000000000000000000000226715107355263030161 0ustar rootroot// Copyright 2023 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. // Code generated by "gen.bash" from internal/trace/v2; DO NOT EDIT. //go:build go1.21 // Tests syscall P stealing at a generation boundary. package main import ( "golang.org/x/exp/trace" "golang.org/x/exp/trace/internal/event/go122" testgen "golang.org/x/exp/trace/internal/testgen/go122" ) func main() { testgen.Main(gen) } func gen(t *testgen.Trace) { g := t.Generation(1) // One goroutine is exiting with a syscall. It already // acquired a new P. b0 := g.Batch(trace.ThreadID(0), 0) b0.Event("ProcStatus", trace.ProcID(1), go122.ProcRunning) b0.Event("GoStatus", trace.GoID(1), trace.ThreadID(0), go122.GoSyscall) b0.Event("GoSyscallEndBlocked") // A running goroutine stole P0 at the generation boundary. b1 := g.Batch(trace.ThreadID(1), 0) b1.Event("ProcStatus", trace.ProcID(2), go122.ProcRunning) b1.Event("GoStatus", trace.GoID(2), trace.ThreadID(1), go122.GoRunning) b1.Event("ProcStatus", trace.ProcID(0), go122.ProcSyscallAbandoned) b1.Event("ProcSteal", trace.ProcID(0), testgen.Seq(1), trace.ThreadID(0)) } ././@LongLink0000644000000000000000000000020600000000000011601 Lustar rootrootdependencies/pkg/mod/golang.org/x/exp@v0.0.0-20240506185415-9bf2ced13842/trace/testdata/generators/go122-syscall-steal-proc-simple.godependencies/pkg/mod/golang.org/x/exp@v0.0.0-20240506185415-9bf2ced13842/trace/testdata/generators/g0000644000000000000000000000212615107355263030153 0ustar rootroot// Copyright 2023 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. // Code generated by "gen.bash" from internal/trace/v2; DO NOT EDIT. //go:build go1.21 // Tests syscall P stealing. package main import ( "golang.org/x/exp/trace" "golang.org/x/exp/trace/internal/event/go122" testgen "golang.org/x/exp/trace/internal/testgen/go122" ) func main() { testgen.Main(gen) } func gen(t *testgen.Trace) { g := t.Generation(1) // One goroutine enters a syscall. b0 := g.Batch(trace.ThreadID(0), 0) b0.Event("ProcStatus", trace.ProcID(0), go122.ProcRunning) b0.Event("GoStatus", trace.GoID(1), trace.ThreadID(0), go122.GoRunning) b0.Event("GoSyscallBegin", testgen.Seq(1), testgen.NoStack) b0.Event("GoSyscallEndBlocked") // A running goroutine steals proc 0. b1 := g.Batch(trace.ThreadID(1), 0) b1.Event("ProcStatus", trace.ProcID(2), go122.ProcRunning) b1.Event("GoStatus", trace.GoID(2), trace.ThreadID(1), go122.GoRunning) b1.Event("ProcSteal", trace.ProcID(0), testgen.Seq(2), trace.ThreadID(0)) } ././@LongLink0000644000000000000000000000021300000000000011577 Lustar rootrootdependencies/pkg/mod/golang.org/x/exp@v0.0.0-20240506185415-9bf2ced13842/trace/testdata/generators/go122-confuse-seq-across-generations.godependencies/pkg/mod/golang.org/x/exp@v0.0.0-20240506185415-9bf2ced13842/trace/testdata/generators/g0000644000000000000000000000436115107355263030156 0ustar rootroot// Copyright 2023 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. // Code generated by "gen.bash" from internal/trace/v2; DO NOT EDIT. //go:build go1.21 // Regression test for an issue found in development. // // The core of the issue is that if generation counters // aren't considered as part of sequence numbers, then // it's possible to accidentally advance without a // GoStatus event. // // The situation is one in which it just so happens that // an event on the frontier for a following generation // has a sequence number exactly one higher than the last // sequence number for e.g. a goroutine in the previous // generation. The parser should wait to find a GoStatus // event before advancing into the next generation at all. // It turns out this situation is pretty rare; the GoStatus // event almost always shows up first in practice. But it // can and did happen. package main import ( "golang.org/x/exp/trace" "golang.org/x/exp/trace/internal/event/go122" testgen "golang.org/x/exp/trace/internal/testgen/go122" ) func main() { testgen.Main(gen) } func gen(t *testgen.Trace) { g1 := t.Generation(1) // A running goroutine blocks. b10 := g1.Batch(trace.ThreadID(0), 0) b10.Event("ProcStatus", trace.ProcID(0), go122.ProcRunning) b10.Event("GoStatus", trace.GoID(1), trace.ThreadID(0), go122.GoRunning) b10.Event("GoStop", "whatever", testgen.NoStack) // The running goroutine gets unblocked. b11 := g1.Batch(trace.ThreadID(1), 0) b11.Event("ProcStatus", trace.ProcID(1), go122.ProcRunning) b11.Event("GoStart", trace.GoID(1), testgen.Seq(1)) b11.Event("GoStop", "whatever", testgen.NoStack) g2 := t.Generation(2) // Start running the goroutine, but later. b21 := g2.Batch(trace.ThreadID(1), 3) b21.Event("ProcStatus", trace.ProcID(1), go122.ProcRunning) b21.Event("GoStart", trace.GoID(1), testgen.Seq(2)) // The goroutine starts running, then stops, then starts again. b20 := g2.Batch(trace.ThreadID(0), 5) b20.Event("ProcStatus", trace.ProcID(0), go122.ProcRunning) b20.Event("GoStatus", trace.GoID(1), trace.ThreadID(0), go122.GoRunnable) b20.Event("GoStart", trace.GoID(1), testgen.Seq(1)) b20.Event("GoStop", "whatever", testgen.NoStack) } ././@LongLink0000644000000000000000000000022200000000000011577 Lustar rootrootdependencies/pkg/mod/golang.org/x/exp@v0.0.0-20240506185415-9bf2ced13842/trace/testdata/generators/go122-syscall-steal-proc-reacquire-new-proc.godependencies/pkg/mod/golang.org/x/exp@v0.0.0-20240506185415-9bf2ced13842/trace/testdata/generators/g0000644000000000000000000000234615107355263030157 0ustar rootroot// Copyright 2023 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. // Code generated by "gen.bash" from internal/trace/v2; DO NOT EDIT. //go:build go1.21 // Tests syscall P stealing. package main import ( "golang.org/x/exp/trace" "golang.org/x/exp/trace/internal/event/go122" testgen "golang.org/x/exp/trace/internal/testgen/go122" ) func main() { testgen.Main(gen) } func gen(t *testgen.Trace) { g := t.Generation(1) // One goroutine enters a syscall, grabs a P, and starts running. b0 := g.Batch(trace.ThreadID(0), 0) b0.Event("ProcStatus", trace.ProcID(1), go122.ProcIdle) b0.Event("ProcStatus", trace.ProcID(0), go122.ProcRunning) b0.Event("GoStatus", trace.GoID(1), trace.ThreadID(0), go122.GoRunning) b0.Event("GoSyscallBegin", testgen.Seq(1), testgen.NoStack) b0.Event("ProcStart", trace.ProcID(1), testgen.Seq(1)) b0.Event("GoSyscallEndBlocked") // A running goroutine steals proc 0. b1 := g.Batch(trace.ThreadID(1), 0) b1.Event("ProcStatus", trace.ProcID(2), go122.ProcRunning) b1.Event("GoStatus", trace.GoID(2), trace.ThreadID(1), go122.GoRunning) b1.Event("ProcSteal", trace.ProcID(0), testgen.Seq(2), trace.ThreadID(0)) } ././@LongLink0000644000000000000000000000023700000000000011605 Lustar rootrootdependencies/pkg/mod/golang.org/x/exp@v0.0.0-20240506185415-9bf2ced13842/trace/testdata/generators/go122-syscall-steal-proc-gen-boundary-reacquire-new-proc.godependencies/pkg/mod/golang.org/x/exp@v0.0.0-20240506185415-9bf2ced13842/trace/testdata/generators/g0000644000000000000000000000235415107355263030156 0ustar rootroot// Copyright 2023 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. // Code generated by "gen.bash" from internal/trace/v2; DO NOT EDIT. //go:build go1.21 // Tests syscall P stealing at a generation boundary. package main import ( "golang.org/x/exp/trace" "golang.org/x/exp/trace/internal/event/go122" testgen "golang.org/x/exp/trace/internal/testgen/go122" ) func main() { testgen.Main(gen) } func gen(t *testgen.Trace) { g := t.Generation(1) // One goroutine is exiting with a syscall. It already // acquired a new P. b0 := g.Batch(trace.ThreadID(0), 0) b0.Event("GoStatus", trace.GoID(1), trace.ThreadID(0), go122.GoSyscall) b0.Event("ProcStatus", trace.ProcID(1), go122.ProcIdle) b0.Event("ProcStart", trace.ProcID(1), testgen.Seq(1)) b0.Event("GoSyscallEndBlocked") // A running goroutine stole P0 at the generation boundary. b1 := g.Batch(trace.ThreadID(1), 0) b1.Event("ProcStatus", trace.ProcID(2), go122.ProcRunning) b1.Event("GoStatus", trace.GoID(2), trace.ThreadID(1), go122.GoRunning) b1.Event("ProcStatus", trace.ProcID(0), go122.ProcSyscallAbandoned) b1.Event("ProcSteal", trace.ProcID(0), testgen.Seq(1), trace.ThreadID(0)) } ././@LongLink0000644000000000000000000000020400000000000011577 Lustar rootrootdependencies/pkg/mod/golang.org/x/exp@v0.0.0-20240506185415-9bf2ced13842/trace/testdata/generators/go122-syscall-steal-proc-self.godependencies/pkg/mod/golang.org/x/exp@v0.0.0-20240506185415-9bf2ced13842/trace/testdata/generators/g0000644000000000000000000000224715107355263030157 0ustar rootroot// Copyright 2023 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. // Code generated by "gen.bash" from internal/trace/v2; DO NOT EDIT. //go:build go1.21 // Tests syscall P stealing. // // Specifically, it tests a scenario where a thread 'steals' // a P from itself. It's just a ProcStop with extra steps when // it happens on the same P. package main import ( "golang.org/x/exp/trace" "golang.org/x/exp/trace/internal/event/go122" testgen "golang.org/x/exp/trace/internal/testgen/go122" ) func main() { testgen.Main(gen) } func gen(t *testgen.Trace) { t.DisableTimestamps() g := t.Generation(1) // A goroutine execute a syscall and steals its own P, then starts running // on that P. b0 := g.Batch(trace.ThreadID(0), 0) b0.Event("ProcStatus", trace.ProcID(0), go122.ProcRunning) b0.Event("GoStatus", trace.GoID(1), trace.ThreadID(0), go122.GoRunning) b0.Event("GoSyscallBegin", testgen.Seq(1), testgen.NoStack) b0.Event("ProcSteal", trace.ProcID(0), testgen.Seq(2), trace.ThreadID(0)) b0.Event("ProcStart", trace.ProcID(0), testgen.Seq(3)) b0.Event("GoSyscallEndBlocked") } ././@LongLink0000644000000000000000000000021000000000000011574 Lustar rootrootdependencies/pkg/mod/golang.org/x/exp@v0.0.0-20240506185415-9bf2ced13842/trace/testdata/generators/go122-go-create-without-running-g.godependencies/pkg/mod/golang.org/x/exp@v0.0.0-20240506185415-9bf2ced13842/trace/testdata/generators/g0000644000000000000000000000213615107355263030154 0ustar rootroot// Copyright 2023 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. // Code generated by "gen.bash" from internal/trace/v2; DO NOT EDIT. //go:build go1.21 // Regression test for an issue found in development. // // GoCreate events can happen on bare Ps in a variety of situations and // and earlier version of the parser assumed this wasn't possible. At // the time of writing, one such example is goroutines created by expiring // timers. package main import ( "golang.org/x/exp/trace" "golang.org/x/exp/trace/internal/event/go122" testgen "golang.org/x/exp/trace/internal/testgen/go122" ) func main() { testgen.Main(gen) } func gen(t *testgen.Trace) { g1 := t.Generation(1) // A goroutine gets created on a running P, then starts running. b0 := g1.Batch(trace.ThreadID(0), 0) b0.Event("ProcStatus", trace.ProcID(0), go122.ProcRunning) b0.Event("GoCreate", trace.GoID(5), testgen.NoStack, testgen.NoStack) b0.Event("GoStart", trace.GoID(5), testgen.Seq(1)) b0.Event("GoStop", "whatever", testgen.NoStack) } dependencies/pkg/mod/golang.org/x/exp@v0.0.0-20240506185415-9bf2ced13842/trace/batchcursor_test.go0000644000000000000000000000611415107355263027726 0ustar rootroot// Copyright 2023 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. // Code generated by "gen.bash" from internal/trace/v2; DO NOT EDIT. //go:build go1.21 package trace import ( "fmt" "strings" "testing" "slices" ) func TestHeap(t *testing.T) { var heap []*batchCursor // Insert a bunch of values into the heap. checkHeap(t, heap) heap = heapInsert(heap, makeBatchCursor(5)) checkHeap(t, heap) for i := int64(-20); i < 20; i++ { heap = heapInsert(heap, makeBatchCursor(i)) checkHeap(t, heap) } // Update an element in the middle to be the new minimum. for i := range heap { if heap[i].ev.time == 5 { heap[i].ev.time = -21 heapUpdate(heap, i) break } } checkHeap(t, heap) if heap[0].ev.time != -21 { t.Fatalf("heap update failed, expected %d as heap min: %s", -21, heapDebugString(heap)) } // Update the minimum element to be smaller. There should be no change. heap[0].ev.time = -22 heapUpdate(heap, 0) checkHeap(t, heap) if heap[0].ev.time != -22 { t.Fatalf("heap update failed, expected %d as heap min: %s", -22, heapDebugString(heap)) } // Update the last element to be larger. There should be no change. heap[len(heap)-1].ev.time = 21 heapUpdate(heap, len(heap)-1) checkHeap(t, heap) if heap[len(heap)-1].ev.time != 21 { t.Fatalf("heap update failed, expected %d as heap min: %s", 21, heapDebugString(heap)) } // Update the last element to be smaller. heap[len(heap)-1].ev.time = 7 heapUpdate(heap, len(heap)-1) checkHeap(t, heap) if heap[len(heap)-1].ev.time == 21 { t.Fatalf("heap update failed, unexpected %d as heap min: %s", 21, heapDebugString(heap)) } // Remove an element in the middle. for i := range heap { if heap[i].ev.time == 5 { heap = heapRemove(heap, i) break } } checkHeap(t, heap) for i := range heap { if heap[i].ev.time == 5 { t.Fatalf("failed to remove heap elem with time %d: %s", 5, heapDebugString(heap)) } } // Remove tail. heap = heapRemove(heap, len(heap)-1) checkHeap(t, heap) // Remove from the head, and make sure the result is sorted. l := len(heap) var removed []*batchCursor for i := 0; i < l; i++ { removed = append(removed, heap[0]) heap = heapRemove(heap, 0) checkHeap(t, heap) } if !slices.IsSortedFunc(removed, (*batchCursor).compare) { t.Fatalf("heap elements not removed in sorted order, got: %s", heapDebugString(removed)) } } func makeBatchCursor(v int64) *batchCursor { return &batchCursor{ev: baseEvent{time: Time(v)}} } func heapDebugString(heap []*batchCursor) string { var sb strings.Builder fmt.Fprintf(&sb, "[") for i := range heap { if i != 0 { fmt.Fprintf(&sb, ", ") } fmt.Fprintf(&sb, "%d", heap[i].ev.time) } fmt.Fprintf(&sb, "]") return sb.String() } func checkHeap(t *testing.T, heap []*batchCursor) { t.Helper() for i := range heap { if i == 0 { continue } if heap[(i-1)/2].compare(heap[i]) > 0 { t.Errorf("heap invariant not maintained between index %d and parent %d: %s", i, i/2, heapDebugString(heap)) } } if t.Failed() { t.FailNow() } } dependencies/pkg/mod/golang.org/x/exp@v0.0.0-20240506185415-9bf2ced13842/trace/oldtrace.go0000644000000000000000000004247315107355263026155 0ustar rootroot// Copyright 2024 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. // Code generated by "gen.bash" from internal/trace/v2; DO NOT EDIT. //go:build go1.21 // This file implements conversion from old (Go 1.11–Go 1.21) traces to the Go // 1.22 format. // // Most events have direct equivalents in 1.22, at worst requiring arguments to // be reordered. Some events, such as GoWaiting need to look ahead for follow-up // events to determine the correct translation. GoSyscall, which is an // instantaneous event, gets turned into a 1 ns long pair of // GoSyscallStart+GoSyscallEnd, unless we observe a GoSysBlock, in which case we // emit a GoSyscallStart+GoSyscallEndBlocked pair with the correct duration // (i.e. starting at the original GoSyscall). // // The resulting trace treats the old trace as a single, large generation, // sharing a single evTable for all events. // // We use a new (compared to what was used for 'go tool trace' in earlier // versions of Go) parser for old traces that is optimized for speed, low memory // usage, and minimal GC pressure. It allocates events in batches so that even // though we have to load the entire trace into memory, the conversion process // shouldn't result in a doubling of memory usage, even if all converted events // are kept alive, as we free batches once we're done with them. // // The conversion process is lossless. package trace import ( "errors" "fmt" "golang.org/x/exp/trace/internal/event" "golang.org/x/exp/trace/internal/event/go122" "golang.org/x/exp/trace/internal/oldtrace" "io" ) type oldTraceConverter struct { trace oldtrace.Trace evt *evTable preInit bool createdPreInit map[GoID]struct{} events oldtrace.Events extra []Event extraArr [3]Event tasks map[TaskID]taskState seenProcs map[ProcID]struct{} lastTs Time procMs map[ProcID]ThreadID lastStwReason uint64 inlineToStringID []uint64 builtinToStringID []uint64 } const ( // Block reasons sForever = iota sPreempted sGosched sSleep sChanSend sChanRecv sNetwork sSync sSyncCond sSelect sEmpty sMarkAssistWait // STW kinds sSTWUnknown sSTWGCMarkTermination sSTWGCSweepTermination sSTWWriteHeapDump sSTWGoroutineProfile sSTWGoroutineProfileCleanup sSTWAllGoroutinesStackTrace sSTWReadMemStats sSTWAllThreadsSyscall sSTWGOMAXPROCS sSTWStartTrace sSTWStopTrace sSTWCountPagesInUse sSTWReadMetricsSlow sSTWReadMemStatsSlow sSTWPageCachePagesLeaked sSTWResetDebugLog sLast ) func (it *oldTraceConverter) init(pr oldtrace.Trace) error { it.trace = pr it.preInit = true it.createdPreInit = make(map[GoID]struct{}) it.evt = &evTable{pcs: make(map[uint64]frame)} it.events = pr.Events it.extra = it.extraArr[:0] it.tasks = make(map[TaskID]taskState) it.seenProcs = make(map[ProcID]struct{}) it.procMs = make(map[ProcID]ThreadID) it.lastTs = -1 evt := it.evt // Convert from oldtracer's Strings map to our dataTable. var max uint64 for id, s := range pr.Strings { evt.strings.insert(stringID(id), s) if id > max { max = id } } pr.Strings = nil // Add all strings used for UserLog. In the old trace format, these were // stored inline and didn't have IDs. We generate IDs for them. if max+uint64(len(pr.InlineStrings)) < max { return errors.New("trace contains too many strings") } var addErr error add := func(id stringID, s string) { if err := evt.strings.insert(id, s); err != nil && addErr == nil { addErr = err } } for id, s := range pr.InlineStrings { nid := max + 1 + uint64(id) it.inlineToStringID = append(it.inlineToStringID, nid) add(stringID(nid), s) } max += uint64(len(pr.InlineStrings)) pr.InlineStrings = nil // Add strings that the converter emits explicitly. if max+uint64(sLast) < max { return errors.New("trace contains too many strings") } it.builtinToStringID = make([]uint64, sLast) addBuiltin := func(c int, s string) { nid := max + 1 + uint64(c) it.builtinToStringID[c] = nid add(stringID(nid), s) } addBuiltin(sForever, "forever") addBuiltin(sPreempted, "preempted") addBuiltin(sGosched, "runtime.Gosched") addBuiltin(sSleep, "sleep") addBuiltin(sChanSend, "chan send") addBuiltin(sChanRecv, "chan receive") addBuiltin(sNetwork, "network") addBuiltin(sSync, "sync") addBuiltin(sSyncCond, "sync.(*Cond).Wait") addBuiltin(sSelect, "select") addBuiltin(sEmpty, "") addBuiltin(sMarkAssistWait, "GC mark assist wait for work") addBuiltin(sSTWUnknown, "") addBuiltin(sSTWGCMarkTermination, "GC mark termination") addBuiltin(sSTWGCSweepTermination, "GC sweep termination") addBuiltin(sSTWWriteHeapDump, "write heap dump") addBuiltin(sSTWGoroutineProfile, "goroutine profile") addBuiltin(sSTWGoroutineProfileCleanup, "goroutine profile cleanup") addBuiltin(sSTWAllGoroutinesStackTrace, "all goroutine stack trace") addBuiltin(sSTWReadMemStats, "read mem stats") addBuiltin(sSTWAllThreadsSyscall, "AllThreadsSyscall") addBuiltin(sSTWGOMAXPROCS, "GOMAXPROCS") addBuiltin(sSTWStartTrace, "start trace") addBuiltin(sSTWStopTrace, "stop trace") addBuiltin(sSTWCountPagesInUse, "CountPagesInUse (test)") addBuiltin(sSTWReadMetricsSlow, "ReadMetricsSlow (test)") addBuiltin(sSTWReadMemStatsSlow, "ReadMemStatsSlow (test)") addBuiltin(sSTWPageCachePagesLeaked, "PageCachePagesLeaked (test)") addBuiltin(sSTWResetDebugLog, "ResetDebugLog (test)") if addErr != nil { // This should be impossible but let's be safe. return fmt.Errorf("couldn't add strings: %w", addErr) } it.evt.strings.compactify() // Convert stacks. for id, stk := range pr.Stacks { evt.stacks.insert(stackID(id), stack{pcs: stk}) } // OPT(dh): if we could share the frame type between this package and // oldtrace we wouldn't have to copy the map. for pc, f := range pr.PCs { evt.pcs[pc] = frame{ pc: pc, funcID: stringID(f.Fn), fileID: stringID(f.File), line: uint64(f.Line), } } pr.Stacks = nil pr.PCs = nil evt.stacks.compactify() return nil } // next returns the next event, io.EOF if there are no more events, or a // descriptive error for invalid events. func (it *oldTraceConverter) next() (Event, error) { if len(it.extra) > 0 { ev := it.extra[0] it.extra = it.extra[1:] if len(it.extra) == 0 { it.extra = it.extraArr[:0] } // Two events aren't allowed to fall on the same timestamp in the new API, // but this may happen when we produce EvGoStatus events if ev.base.time <= it.lastTs { ev.base.time = it.lastTs + 1 } it.lastTs = ev.base.time return ev, nil } oev, ok := it.events.Pop() if !ok { return Event{}, io.EOF } ev, err := it.convertEvent(oev) if err == errSkip { return it.next() } else if err != nil { return Event{}, err } // Two events aren't allowed to fall on the same timestamp in the new API, // but this may happen when we produce EvGoStatus events if ev.base.time <= it.lastTs { ev.base.time = it.lastTs + 1 } it.lastTs = ev.base.time return ev, nil } var errSkip = errors.New("skip event") // convertEvent converts an event from the old trace format to zero or more // events in the new format. Most events translate 1 to 1. Some events don't // result in an event right away, in which case convertEvent returns errSkip. // Some events result in more than one new event; in this case, convertEvent // returns the first event and stores additional events in it.extra. When // encountering events that oldtrace shouldn't be able to emit, ocnvertEvent // returns a descriptive error. func (it *oldTraceConverter) convertEvent(ev *oldtrace.Event) (OUT Event, ERR error) { var mappedType event.Type var mappedArgs timedEventArgs copy(mappedArgs[:], ev.Args[:]) switch ev.Type { case oldtrace.EvGomaxprocs: mappedType = go122.EvProcsChange if it.preInit { // The first EvGomaxprocs signals the end of trace initialization. At this point we've seen // all goroutines that already existed at trace begin. it.preInit = false for gid := range it.createdPreInit { // These are goroutines that already existed when tracing started but for which we // received neither GoWaiting, GoInSyscall, or GoStart. These are goroutines that are in // the states _Gidle or _Grunnable. it.extra = append(it.extra, Event{ ctx: schedCtx{ // G: GoID(gid), G: NoGoroutine, P: NoProc, M: NoThread, }, table: it.evt, base: baseEvent{ typ: go122.EvGoStatus, time: Time(ev.Ts), args: timedEventArgs{uint64(gid), ^uint64(0), uint64(go122.GoRunnable)}, }, }) } it.createdPreInit = nil return Event{}, errSkip } case oldtrace.EvProcStart: it.procMs[ProcID(ev.P)] = ThreadID(ev.Args[0]) if _, ok := it.seenProcs[ProcID(ev.P)]; ok { mappedType = go122.EvProcStart mappedArgs = timedEventArgs{uint64(ev.P)} } else { it.seenProcs[ProcID(ev.P)] = struct{}{} mappedType = go122.EvProcStatus mappedArgs = timedEventArgs{uint64(ev.P), uint64(go122.ProcRunning)} } case oldtrace.EvProcStop: if _, ok := it.seenProcs[ProcID(ev.P)]; ok { mappedType = go122.EvProcStop mappedArgs = timedEventArgs{uint64(ev.P)} } else { it.seenProcs[ProcID(ev.P)] = struct{}{} mappedType = go122.EvProcStatus mappedArgs = timedEventArgs{uint64(ev.P), uint64(go122.ProcIdle)} } case oldtrace.EvGCStart: mappedType = go122.EvGCBegin case oldtrace.EvGCDone: mappedType = go122.EvGCEnd case oldtrace.EvSTWStart: sid := it.builtinToStringID[sSTWUnknown+it.trace.STWReason(ev.Args[0])] it.lastStwReason = sid mappedType = go122.EvSTWBegin mappedArgs = timedEventArgs{uint64(sid)} case oldtrace.EvSTWDone: mappedType = go122.EvSTWEnd mappedArgs = timedEventArgs{it.lastStwReason} case oldtrace.EvGCSweepStart: mappedType = go122.EvGCSweepBegin case oldtrace.EvGCSweepDone: mappedType = go122.EvGCSweepEnd case oldtrace.EvGoCreate: if it.preInit { it.createdPreInit[GoID(ev.Args[0])] = struct{}{} return Event{}, errSkip } mappedType = go122.EvGoCreate case oldtrace.EvGoStart: if it.preInit { mappedType = go122.EvGoStatus mappedArgs = timedEventArgs{ev.Args[0], ^uint64(0), uint64(go122.GoRunning)} delete(it.createdPreInit, GoID(ev.Args[0])) } else { mappedType = go122.EvGoStart } case oldtrace.EvGoStartLabel: it.extra = []Event{{ ctx: schedCtx{ G: GoID(ev.G), P: ProcID(ev.P), M: it.procMs[ProcID(ev.P)], }, table: it.evt, base: baseEvent{ typ: go122.EvGoLabel, time: Time(ev.Ts), args: timedEventArgs{ev.Args[2]}, }, }} return Event{ ctx: schedCtx{ G: GoID(ev.G), P: ProcID(ev.P), M: it.procMs[ProcID(ev.P)], }, table: it.evt, base: baseEvent{ typ: go122.EvGoStart, time: Time(ev.Ts), args: mappedArgs, }, }, nil case oldtrace.EvGoEnd: mappedType = go122.EvGoDestroy case oldtrace.EvGoStop: mappedType = go122.EvGoBlock mappedArgs = timedEventArgs{uint64(it.builtinToStringID[sForever]), uint64(ev.StkID)} case oldtrace.EvGoSched: mappedType = go122.EvGoStop mappedArgs = timedEventArgs{uint64(it.builtinToStringID[sGosched]), uint64(ev.StkID)} case oldtrace.EvGoPreempt: mappedType = go122.EvGoStop mappedArgs = timedEventArgs{uint64(it.builtinToStringID[sPreempted]), uint64(ev.StkID)} case oldtrace.EvGoSleep: mappedType = go122.EvGoBlock mappedArgs = timedEventArgs{uint64(it.builtinToStringID[sSleep]), uint64(ev.StkID)} case oldtrace.EvGoBlock: mappedType = go122.EvGoBlock mappedArgs = timedEventArgs{uint64(it.builtinToStringID[sEmpty]), uint64(ev.StkID)} case oldtrace.EvGoUnblock: mappedType = go122.EvGoUnblock case oldtrace.EvGoBlockSend: mappedType = go122.EvGoBlock mappedArgs = timedEventArgs{uint64(it.builtinToStringID[sChanSend]), uint64(ev.StkID)} case oldtrace.EvGoBlockRecv: mappedType = go122.EvGoBlock mappedArgs = timedEventArgs{uint64(it.builtinToStringID[sChanRecv]), uint64(ev.StkID)} case oldtrace.EvGoBlockSelect: mappedType = go122.EvGoBlock mappedArgs = timedEventArgs{uint64(it.builtinToStringID[sSelect]), uint64(ev.StkID)} case oldtrace.EvGoBlockSync: mappedType = go122.EvGoBlock mappedArgs = timedEventArgs{uint64(it.builtinToStringID[sSync]), uint64(ev.StkID)} case oldtrace.EvGoBlockCond: mappedType = go122.EvGoBlock mappedArgs = timedEventArgs{uint64(it.builtinToStringID[sSyncCond]), uint64(ev.StkID)} case oldtrace.EvGoBlockNet: mappedType = go122.EvGoBlock mappedArgs = timedEventArgs{uint64(it.builtinToStringID[sNetwork]), uint64(ev.StkID)} case oldtrace.EvGoBlockGC: mappedType = go122.EvGoBlock mappedArgs = timedEventArgs{uint64(it.builtinToStringID[sMarkAssistWait]), uint64(ev.StkID)} case oldtrace.EvGoSysCall: // Look for the next event for the same G to determine if the syscall // blocked. blocked := false it.events.All()(func(nev *oldtrace.Event) bool { if nev.G != ev.G { return true } // After an EvGoSysCall, the next event on the same G will either be // EvGoSysBlock to denote a blocking syscall, or some other event // (or the end of the trace) if the syscall didn't block. if nev.Type == oldtrace.EvGoSysBlock { blocked = true } return false }) if blocked { mappedType = go122.EvGoSyscallBegin mappedArgs = timedEventArgs{1: uint64(ev.StkID)} } else { // Convert the old instantaneous syscall event to a pair of syscall // begin and syscall end and give it the shortest possible duration, // 1ns. out1 := Event{ ctx: schedCtx{ G: GoID(ev.G), P: ProcID(ev.P), M: it.procMs[ProcID(ev.P)], }, table: it.evt, base: baseEvent{ typ: go122.EvGoSyscallBegin, time: Time(ev.Ts), args: timedEventArgs{1: uint64(ev.StkID)}, }, } out2 := Event{ ctx: out1.ctx, table: it.evt, base: baseEvent{ typ: go122.EvGoSyscallEnd, time: Time(ev.Ts + 1), args: timedEventArgs{}, }, } it.extra = append(it.extra, out2) return out1, nil } case oldtrace.EvGoSysExit: mappedType = go122.EvGoSyscallEndBlocked case oldtrace.EvGoSysBlock: return Event{}, errSkip case oldtrace.EvGoWaiting: mappedType = go122.EvGoStatus mappedArgs = timedEventArgs{ev.Args[0], ^uint64(0), uint64(go122.GoWaiting)} delete(it.createdPreInit, GoID(ev.Args[0])) case oldtrace.EvGoInSyscall: mappedType = go122.EvGoStatus // In the new tracer, GoStatus with GoSyscall knows what thread the // syscall is on. In the old tracer, EvGoInSyscall doesn't contain that // information and all we can do here is specify NoThread. mappedArgs = timedEventArgs{ev.Args[0], ^uint64(0), uint64(go122.GoSyscall)} delete(it.createdPreInit, GoID(ev.Args[0])) case oldtrace.EvHeapAlloc: mappedType = go122.EvHeapAlloc case oldtrace.EvHeapGoal: mappedType = go122.EvHeapGoal case oldtrace.EvGCMarkAssistStart: mappedType = go122.EvGCMarkAssistBegin case oldtrace.EvGCMarkAssistDone: mappedType = go122.EvGCMarkAssistEnd case oldtrace.EvUserTaskCreate: mappedType = go122.EvUserTaskBegin parent := ev.Args[1] if parent == 0 { parent = uint64(NoTask) } mappedArgs = timedEventArgs{ev.Args[0], parent, ev.Args[2], uint64(ev.StkID)} name, _ := it.evt.strings.get(stringID(ev.Args[2])) it.tasks[TaskID(ev.Args[0])] = taskState{name: name, parentID: TaskID(ev.Args[1])} case oldtrace.EvUserTaskEnd: mappedType = go122.EvUserTaskEnd // Event.Task expects the parent and name to be smuggled in extra args // and as extra strings. ts, ok := it.tasks[TaskID(ev.Args[0])] if ok { delete(it.tasks, TaskID(ev.Args[0])) mappedArgs = timedEventArgs{ ev.Args[0], ev.Args[1], uint64(ts.parentID), uint64(it.evt.addExtraString(ts.name)), } } else { mappedArgs = timedEventArgs{ev.Args[0], ev.Args[1], uint64(NoTask), uint64(it.evt.addExtraString(""))} } case oldtrace.EvUserRegion: switch ev.Args[1] { case 0: // start mappedType = go122.EvUserRegionBegin case 1: // end mappedType = go122.EvUserRegionEnd } mappedArgs = timedEventArgs{ev.Args[0], ev.Args[2], uint64(ev.StkID)} case oldtrace.EvUserLog: mappedType = go122.EvUserLog mappedArgs = timedEventArgs{ev.Args[0], ev.Args[1], it.inlineToStringID[ev.Args[3]], uint64(ev.StkID)} case oldtrace.EvCPUSample: mappedType = go122.EvCPUSample // When emitted by the Go 1.22 tracer, CPU samples have 5 arguments: // timestamp, M, P, G, stack. However, after they get turned into Event, // they have the arguments stack, M, P, G. // // In Go 1.21, CPU samples did not have Ms. mappedArgs = timedEventArgs{uint64(ev.StkID), ^uint64(0), uint64(ev.P), ev.G} default: return Event{}, fmt.Errorf("unexpected event type %v", ev.Type) } if oldtrace.EventDescriptions[ev.Type].Stack { if stackIDs := go122.Specs()[mappedType].StackIDs; len(stackIDs) > 0 { mappedArgs[stackIDs[0]-1] = uint64(ev.StkID) } } m := NoThread if ev.P != -1 && ev.Type != oldtrace.EvCPUSample { if t, ok := it.procMs[ProcID(ev.P)]; ok { m = ThreadID(t) } } if ev.Type == oldtrace.EvProcStop { delete(it.procMs, ProcID(ev.P)) } g := GoID(ev.G) if g == 0 { g = NoGoroutine } out := Event{ ctx: schedCtx{ G: GoID(g), P: ProcID(ev.P), M: m, }, table: it.evt, base: baseEvent{ typ: mappedType, time: Time(ev.Ts), args: mappedArgs, }, } return out, nil } // convertOldFormat takes a fully loaded trace in the old trace format and // returns an iterator over events in the new format. func convertOldFormat(pr oldtrace.Trace) *oldTraceConverter { it := &oldTraceConverter{} it.init(pr) return it } dependencies/pkg/mod/golang.org/x/exp@v0.0.0-20240506185415-9bf2ced13842/trace/batch.go0000644000000000000000000000525015107355263025431 0ustar rootroot// Copyright 2023 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. // Code generated by "gen.bash" from internal/trace/v2; DO NOT EDIT. //go:build go1.21 package trace import ( "bytes" "encoding/binary" "fmt" "io" "golang.org/x/exp/trace/internal/event" "golang.org/x/exp/trace/internal/event/go122" ) // timestamp is an unprocessed timestamp. type timestamp uint64 // batch represents a batch of trace events. // It is unparsed except for its header. type batch struct { m ThreadID time timestamp data []byte } func (b *batch) isStringsBatch() bool { return len(b.data) > 0 && event.Type(b.data[0]) == go122.EvStrings } func (b *batch) isStacksBatch() bool { return len(b.data) > 0 && event.Type(b.data[0]) == go122.EvStacks } func (b *batch) isCPUSamplesBatch() bool { return len(b.data) > 0 && event.Type(b.data[0]) == go122.EvCPUSamples } func (b *batch) isFreqBatch() bool { return len(b.data) > 0 && event.Type(b.data[0]) == go122.EvFrequency } // readBatch reads the next full batch from r. func readBatch(r interface { io.Reader io.ByteReader }) (batch, uint64, error) { // Read batch header byte. b, err := r.ReadByte() if err != nil { return batch{}, 0, err } if typ := event.Type(b); typ != go122.EvEventBatch { return batch{}, 0, fmt.Errorf("expected batch event (%s), got %s", go122.EventString(go122.EvEventBatch), go122.EventString(typ)) } // Read the batch header: gen (generation), thread (M) ID, base timestamp // for the batch. gen, err := binary.ReadUvarint(r) if err != nil { return batch{}, gen, fmt.Errorf("error reading batch gen: %w", err) } m, err := binary.ReadUvarint(r) if err != nil { return batch{}, gen, fmt.Errorf("error reading batch M ID: %w", err) } ts, err := binary.ReadUvarint(r) if err != nil { return batch{}, gen, fmt.Errorf("error reading batch timestamp: %w", err) } // Read in the size of the batch to follow. size, err := binary.ReadUvarint(r) if err != nil { return batch{}, gen, fmt.Errorf("error reading batch size: %w", err) } if size > go122.MaxBatchSize { return batch{}, gen, fmt.Errorf("invalid batch size %d, maximum is %d", size, go122.MaxBatchSize) } // Copy out the batch for later processing. var data bytes.Buffer data.Grow(int(size)) n, err := io.CopyN(&data, r, int64(size)) if n != int64(size) { return batch{}, gen, fmt.Errorf("failed to read full batch: read %d but wanted %d", n, size) } if err != nil { return batch{}, gen, fmt.Errorf("copying batch data: %w", err) } // Return the batch. return batch{ m: ThreadID(m), time: timestamp(ts), data: data.Bytes(), }, gen, nil } dependencies/pkg/mod/golang.org/x/exp@v0.0.0-20240506185415-9bf2ced13842/trace/flightrecorder.go0000644000000000000000000002622115107355263027354 0ustar rootroot// Copyright 2023 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:build go1.22 package trace import ( "bytes" "encoding/binary" "errors" "fmt" "io" "math/bits" "runtime/trace" "slices" "sync" "time" _ "unsafe" // for go:linkname "golang.org/x/exp/trace/internal/event/go122" ) // FlightRecorder represents a flight recording configuration. // // Flight recording holds execution trace data in a circular buffer representing // the most recent execution data. // // Only one flight recording may be active at any given time. type FlightRecorder struct { err error // State specific to the recorder. header [16]byte active rawGeneration ringMu sync.Mutex ring []rawGeneration // Externally-set options. targetSize int targetPeriod time.Duration enabled bool // whether the flight recorder is enabled. writing sync.Mutex // protects concurrent calls to WriteTo // The values of targetSize and targetPeriod we've committed to since the last Start. wantSize int wantDur time.Duration } // NewFlightRecorder creates a new flight recording configuration. func NewFlightRecorder() *FlightRecorder { return &FlightRecorder{ // These are just some optimistic, reasonable defaults. // // In reality we're also bound by whatever the runtime defaults are, because // we currently have no way to change them. // // TODO(mknyszek): Consider adding a function that allows mutating one or // both of these values' equivalents in the runtime. targetSize: 10 << 20, // 10 MiB. targetPeriod: 10 * time.Second, } } // SetPeriod sets the approximate time duration that the flight recorder's circular buffer // represents. // // Note that SetPeriod does not make any guarantees on the amount of time the trace // produced by WriteTo will represent. // This is just a hint to the runtime to enable some control the resulting trace. // // The initial period is implementation defined, but can be assumed to be on the order // of seconds. // // Adjustments to this value will not apply to an active flight recorder, and will not apply // if tracing is already enabled via trace.Start. All tracing must be stopped and started // again to change this value. func (r *FlightRecorder) SetPeriod(d time.Duration) { r.targetPeriod = d } // SetSize sets the approximate size of the flight recorder's circular buffer. // // This generally takes precedence over the duration passed to SetPeriod. // However, it does not make any guarantees on the size of the data WriteTo will write. // This is just a hint to the runtime to enable some control over the memory overheads // of tracing. // // The initial size is implementation defined. // // Adjustments to this value will not apply to an active flight recorder, and will not apply // if tracing is already enabled via trace.Start. All tracing must be stopped and started // again to change this value. func (r *FlightRecorder) SetSize(bytes int) { r.targetSize = bytes } // A recorder receives bytes from the runtime tracer, processes it. type recorder struct { r *FlightRecorder headerReceived bool } func (w *recorder) Write(p []byte) (n int, err error) { r := w.r defer func() { if err != nil { // Propagate errors to the flightrecorder. if r.err == nil { r.err = err } trace.Stop() // Stop the tracer, preventing further writes. } }() rd := bytes.NewReader(p) if !w.headerReceived { if len(p) < len(r.header) { return 0, fmt.Errorf("expected at least %d bytes in the first write", len(r.header)) } rd.Read(r.header[:]) w.headerReceived = true } b, gen, err := readBatch(rd) // Every write from the runtime is guaranteed to be a complete batch. if err == io.EOF { if rd.Len() > 0 { return len(p) - rd.Len(), errors.New("short read") } return len(p), nil } if err != nil { return len(p) - rd.Len(), err } // Check if we're entering a new generation. if r.active.gen != 0 && r.active.gen+1 == gen { r.ringMu.Lock() // Validate r.active.freq before we use it. It's required for a generation // to not be considered broken, and without it, we can't correctly handle // SetPeriod. if r.active.freq == 0 { return len(p) - rd.Len(), fmt.Errorf("broken trace: failed to find frequency event in generation %d", r.active.gen) } // Get the current trace clock time. now := traceTimeNow(r.active.freq) // Add the current generation to the ring. Make sure we always have at least one // complete generation by putting the active generation onto the new list, regardless // of whatever our settings are. // // N.B. Let's completely replace the ring here, so that WriteTo can just make a copy // and not worry about aliasing. This creates allocations, but at a very low rate. newRing := []rawGeneration{r.active} size := r.active.size for i := len(r.ring) - 1; i >= 0; i-- { // Stop adding older generations if the new ring already exceeds the thresholds. // This ensures we keep generations that cross a threshold, but not any that lie // entirely outside it. if size > r.wantSize || now.Sub(newRing[len(newRing)-1].minTraceTime()) > r.wantDur { break } size += r.ring[i].size newRing = append(newRing, r.ring[i]) } slices.Reverse(newRing) r.ring = newRing r.ringMu.Unlock() // Start a new active generation. r.active = rawGeneration{} } // Obtain the frequency if this is a frequency batch. if b.isFreqBatch() { freq, err := parseFreq(b) if err != nil { return len(p) - rd.Len(), err } r.active.freq = freq } // Append the batch to the current generation. if r.active.gen == 0 { r.active.gen = gen } if r.active.minTime == 0 || r.active.minTime > b.time { r.active.minTime = b.time } r.active.size += 1 r.active.size += uvarintSize(gen) r.active.size += uvarintSize(uint64(b.m)) r.active.size += uvarintSize(uint64(b.time)) r.active.size += uvarintSize(uint64(len(b.data))) r.active.size += len(b.data) r.active.batches = append(r.active.batches, b) return len(p) - rd.Len(), nil } // Start begins flight recording. Only one flight recorder or one call to [runtime/trace.Start] // may be active at any given time. Returns an error if starting the flight recorder would // violate this rule. func (r *FlightRecorder) Start() error { if r.enabled { return fmt.Errorf("cannot enable a enabled flight recorder") } r.wantSize = r.targetSize r.wantDur = r.targetPeriod r.err = nil // Start tracing, data is sent to a recorder which forwards it to our own // storage. if err := trace.Start(&recorder{r: r}); err != nil { return err } r.enabled = true return nil } // Stop ends flight recording. It waits until any concurrent [FlightRecorder.WriteTo] calls exit. // Returns an error if the flight recorder is inactive. func (r *FlightRecorder) Stop() error { if !r.enabled { return fmt.Errorf("cannot disable a disabled flight recorder") } r.enabled = false trace.Stop() // Reset all state. No need to lock because the reader has already exited. r.active = rawGeneration{} r.ring = nil return r.err } // Enabled returns true if the flight recorder is active. Specifically, it will return true if // Start did not return an error, and Stop has not yet been called. // It is safe to call from multiple goroutines simultaneously. func (r *FlightRecorder) Enabled() bool { return r.enabled } // ErrSnapshotActive indicates that a call to WriteTo was made while one was already in progress. // If the caller of WriteTo sees this error, they should use the result from the other call to WriteTo. var ErrSnapshotActive = fmt.Errorf("call to WriteTo for trace.FlightRecorder already in progress") // WriteTo takes a snapshots of the circular buffer's contents and writes the execution data to w. // Returns the number of bytes written and an error. // An error is returned upon failure to write to w or if the flight recorder is inactive. // Only one goroutine may execute WriteTo at a time, but it is safe to call from multiple goroutines. // If a goroutine calls WriteTo while another goroutine is currently executing it, WriteTo will return // ErrSnapshotActive to that goroutine. func (r *FlightRecorder) WriteTo(w io.Writer) (total int, err error) { if !r.enabled { return 0, fmt.Errorf("cannot snapshot a disabled flight recorder") } if !r.writing.TryLock() { return 0, ErrSnapshotActive } defer r.writing.Unlock() // Force a global buffer flush twice. // // This is pretty unfortunate, but because the signal that a generation is done is that a new // generation appears in the trace *or* the trace stream ends, the recorder goroutine will // have no idea when to add a generation to the ring if we just flush once. If we flush twice, // at least the first one will end up on the ring, which is the one we wanted anyway. // // In a runtime-internal implementation this is a non-issue. The runtime is fully aware // of what generations are complete, so only one flush is necessary. runtime_traceAdvance(false) runtime_traceAdvance(false) // Now that everything has been flushed and written, grab whatever we have. // // N.B. traceAdvance blocks until the tracer goroutine has actually written everything // out, which means the generation we just flushed must have been already been observed // by the recorder goroutine. Because we flushed twice, the first flush is guaranteed to // have been both completed *and* processed by the recorder goroutine. r.ringMu.Lock() gens := r.ring r.ringMu.Unlock() // Write the header. total, err = w.Write(r.header[:]) if err != nil { return total, err } // Helper for writing varints. var varintBuf [binary.MaxVarintLen64]byte writeUvarint := func(u uint64) error { v := binary.PutUvarint(varintBuf[:], u) n, err := w.Write(varintBuf[:v]) total += n return err } // Write all the data. for _, gen := range gens { for _, batch := range gen.batches { // Rewrite the batch header event with four arguments: gen, M ID, timestamp, and data length. n, err := w.Write([]byte{byte(go122.EvEventBatch)}) total += n if err != nil { return total, err } if err := writeUvarint(gen.gen); err != nil { return total, err } if err := writeUvarint(uint64(batch.m)); err != nil { return total, err } if err := writeUvarint(uint64(batch.time)); err != nil { return total, err } if err := writeUvarint(uint64(len(batch.data))); err != nil { return total, err } // Write batch data. n, err = w.Write(batch.data) total += n if err != nil { return total, err } } } return total, nil } type rawGeneration struct { gen uint64 size int minTime timestamp freq frequency batches []batch } func (r *rawGeneration) minTraceTime() Time { return r.freq.mul(r.minTime) } func traceTimeNow(freq frequency) Time { // TODO(mknyszek): It's unfortunate that we have to rely on runtime-internal details // like this. This would be better off in the runtime. return freq.mul(timestamp(runtime_traceClockNow())) } func uvarintSize(x uint64) int { return 1 + bits.Len64(x)/7 } //go:linkname runtime_traceAdvance runtime.traceAdvance func runtime_traceAdvance(stopTrace bool) //go:linkname runtime_traceClockNow runtime.traceClockNow func runtime_traceClockNow() int64 dependencies/pkg/mod/golang.org/x/exp@v0.0.0-20240506185415-9bf2ced13842/trace/base.go0000644000000000000000000001541315107355263025264 0ustar rootroot// Copyright 2023 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. // Code generated by "gen.bash" from internal/trace/v2; DO NOT EDIT. //go:build go1.21 // This file contains data types that all implementations of the trace format // parser need to provide to the rest of the package. package trace import ( "fmt" "math" "strings" "golang.org/x/exp/trace/internal/event" "golang.org/x/exp/trace/internal/event/go122" "golang.org/x/exp/trace/internal/version" ) // maxArgs is the maximum number of arguments for "plain" events, // i.e. anything that could reasonably be represented as a baseEvent. // // TODO(mknyszek): This is only 6 instead of 5 because GoStatusStack // has 5 arguments and needs to smuggle in a 6th. Figure out a way to // shrink this in the future. const maxArgs = 6 // timedEventArgs is an array that is able to hold the arguments for any // timed event. type timedEventArgs [maxArgs - 1]uint64 // baseEvent is the basic unprocessed event. This serves as a common // fundamental data structure across. type baseEvent struct { typ event.Type time Time args timedEventArgs } // extra returns a slice representing extra available space in args // that the parser can use to pass data up into Event. func (e *baseEvent) extra(v version.Version) []uint64 { switch v { case version.Go122: return e.args[len(go122.Specs()[e.typ].Args)-1:] } panic(fmt.Sprintf("unsupported version: go 1.%d", v)) } // evTable contains the per-generation data necessary to // interpret an individual event. type evTable struct { freq frequency strings dataTable[stringID, string] stacks dataTable[stackID, stack] pcs map[uint64]frame // extraStrings are strings that get generated during // parsing but haven't come directly from the trace, so // they don't appear in strings. extraStrings []string extraStringIDs map[string]extraStringID nextExtra extraStringID } // addExtraString adds an extra string to the evTable and returns // a unique ID for the string in the table. func (t *evTable) addExtraString(s string) extraStringID { if s == "" { return 0 } if t.extraStringIDs == nil { t.extraStringIDs = make(map[string]extraStringID) } if id, ok := t.extraStringIDs[s]; ok { return id } t.nextExtra++ id := t.nextExtra t.extraStrings = append(t.extraStrings, s) t.extraStringIDs[s] = id return id } // getExtraString returns the extra string for the provided ID. // The ID must have been produced by addExtraString for this evTable. func (t *evTable) getExtraString(id extraStringID) string { if id == 0 { return "" } return t.extraStrings[id-1] } // dataTable is a mapping from EIs to Es. type dataTable[EI ~uint64, E any] struct { present []uint8 dense []E sparse map[EI]E } // insert tries to add a mapping from id to s. // // Returns an error if a mapping for id already exists, regardless // of whether or not s is the same in content. This should be used // for validation during parsing. func (d *dataTable[EI, E]) insert(id EI, data E) error { if d.sparse == nil { d.sparse = make(map[EI]E) } if existing, ok := d.get(id); ok { return fmt.Errorf("multiple %Ts with the same ID: id=%d, new=%v, existing=%v", data, id, data, existing) } d.sparse[id] = data return nil } // compactify attempts to compact sparse into dense. // // This is intended to be called only once after insertions are done. func (d *dataTable[EI, E]) compactify() { if d.sparse == nil || len(d.dense) != 0 { // Already compactified. return } // Find the range of IDs. maxID := EI(0) minID := ^EI(0) for id := range d.sparse { if id > maxID { maxID = id } if id < minID { minID = id } } if maxID >= math.MaxInt { // We can't create a slice big enough to hold maxID elements return } // We're willing to waste at most 2x memory. if int(maxID-minID) > max(len(d.sparse), 2*len(d.sparse)) { return } if int(minID) > len(d.sparse) { return } size := int(maxID) + 1 d.present = make([]uint8, (size+7)/8) d.dense = make([]E, size) for id, data := range d.sparse { d.dense[id] = data d.present[id/8] |= uint8(1) << (id % 8) } d.sparse = nil } // get returns the E for id or false if it doesn't // exist. This should be used for validation during parsing. func (d *dataTable[EI, E]) get(id EI) (E, bool) { if id == 0 { return *new(E), true } if uint64(id) < uint64(len(d.dense)) { if d.present[id/8]&(uint8(1)<<(id%8)) != 0 { return d.dense[id], true } } else if d.sparse != nil { if data, ok := d.sparse[id]; ok { return data, true } } return *new(E), false } // forEach iterates over all ID/value pairs in the data table. func (d *dataTable[EI, E]) forEach(yield func(EI, E) bool) bool { for id, value := range d.dense { if d.present[id/8]&(uint8(1)<<(id%8)) == 0 { continue } if !yield(EI(id), value) { return false } } if d.sparse == nil { return true } for id, value := range d.sparse { if !yield(id, value) { return false } } return true } // mustGet returns the E for id or panics if it fails. // // This should only be used if id has already been validated. func (d *dataTable[EI, E]) mustGet(id EI) E { data, ok := d.get(id) if !ok { panic(fmt.Sprintf("expected id %d in %T table", id, data)) } return data } // frequency is nanoseconds per timestamp unit. type frequency float64 // mul multiplies an unprocessed to produce a time in nanoseconds. func (f frequency) mul(t timestamp) Time { return Time(float64(t) * float64(f)) } // stringID is an index into the string table for a generation. type stringID uint64 // extraStringID is an index into the extra string table for a generation. type extraStringID uint64 // stackID is an index into the stack table for a generation. type stackID uint64 // cpuSample represents a CPU profiling sample captured by the trace. type cpuSample struct { schedCtx time Time stack stackID } // asEvent produces a complete Event from a cpuSample. It needs // the evTable from the generation that created it. // // We don't just store it as an Event in generation to minimize // the amount of pointer data floating around. func (s cpuSample) asEvent(table *evTable) Event { // TODO(mknyszek): This is go122-specific, but shouldn't be. // Generalize this in the future. e := Event{ table: table, ctx: s.schedCtx, base: baseEvent{ typ: go122.EvCPUSample, time: s.time, }, } e.base.args[0] = uint64(s.stack) return e } // stack represents a goroutine stack sample. type stack struct { pcs []uint64 } func (s stack) String() string { var sb strings.Builder for _, frame := range s.pcs { fmt.Fprintf(&sb, "\t%#v\n", frame) } return sb.String() } // frame represents a single stack frame. type frame struct { pc uint64 funcID stringID fileID stringID line uint64 } dependencies/pkg/mod/golang.org/x/exp@v0.0.0-20240506185415-9bf2ced13842/trace/value.go0000644000000000000000000000252115107355263025462 0ustar rootroot// Copyright 2023 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. // Code generated by "gen.bash" from internal/trace/v2; DO NOT EDIT. //go:build go1.21 package trace import "fmt" // Value is a dynamically-typed value obtained from a trace. type Value struct { kind ValueKind scalar uint64 } // ValueKind is the type of a dynamically-typed value from a trace. type ValueKind uint8 const ( ValueBad ValueKind = iota ValueUint64 ) // Kind returns the ValueKind of the value. // // It represents the underlying structure of the value. // // New ValueKinds may be added in the future. Users of this type must be robust // to that possibility. func (v Value) Kind() ValueKind { return v.kind } // Uint64 returns the uint64 value for a MetricSampleUint64. // // Panics if this metric sample's Kind is not MetricSampleUint64. func (v Value) Uint64() uint64 { if v.kind != ValueUint64 { panic("Uint64 called on Value of a different Kind") } return v.scalar } // valueAsString produces a debug string value. // // This isn't just Value.String because we may want to use that to store // string values in the future. func valueAsString(v Value) string { switch v.Kind() { case ValueUint64: return fmt.Sprintf("Uint64(%d)", v.scalar) } return "Bad" } dependencies/pkg/mod/golang.org/x/exp@v0.0.0-20240506185415-9bf2ced13842/trace/cmd/0000755000000000000000000000000015107355263024562 5ustar rootrootdependencies/pkg/mod/golang.org/x/exp@v0.0.0-20240506185415-9bf2ced13842/trace/cmd/gotraceraw/0000755000000000000000000000000015107355263026720 5ustar rootroot././@LongLink0000644000000000000000000000014600000000000011604 Lustar rootrootdependencies/pkg/mod/golang.org/x/exp@v0.0.0-20240506185415-9bf2ced13842/trace/cmd/gotraceraw/main.godependencies/pkg/mod/golang.org/x/exp@v0.0.0-20240506185415-9bf2ced13842/trace/cmd/gotraceraw/main.g0000644000000000000000000000356615107355263030026 0ustar rootroot// Copyright 2023 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. // Code generated by "gen.bash" from internal/trace/v2; DO NOT EDIT. //go:build go1.21 package main import ( "flag" "fmt" "io" "log" "os" "golang.org/x/exp/trace/internal/raw" "golang.org/x/exp/trace/internal/version" ) func init() { flag.Usage = func() { fmt.Fprintf(flag.CommandLine.Output(), "Usage: %s [mode]\n", os.Args[0]) fmt.Fprintf(flag.CommandLine.Output(), "\n") fmt.Fprintf(flag.CommandLine.Output(), "Supported modes:") fmt.Fprintf(flag.CommandLine.Output(), "\n") fmt.Fprintf(flag.CommandLine.Output(), "* text2bytes - converts a text format trace to bytes\n") fmt.Fprintf(flag.CommandLine.Output(), "* bytes2text - converts a byte format trace to text\n") fmt.Fprintf(flag.CommandLine.Output(), "\n") flag.PrintDefaults() } log.SetFlags(0) } func main() { flag.Parse() if narg := flag.NArg(); narg != 1 { log.Fatal("expected exactly one positional argument: the mode to operate in; see -h output") } r := os.Stdin w := os.Stdout var tr traceReader var tw traceWriter var err error switch flag.Arg(0) { case "text2bytes": tr, err = raw.NewTextReader(r) if err != nil { log.Fatal(err) } tw, err = raw.NewWriter(w, tr.Version()) if err != nil { log.Fatal(err) } case "bytes2text": tr, err = raw.NewReader(r) if err != nil { log.Fatal(err) } tw, err = raw.NewTextWriter(w, tr.Version()) if err != nil { log.Fatal(err) } } for { ev, err := tr.ReadEvent() if err == io.EOF { break } if err != nil { log.Fatal(err) } if err := tw.WriteEvent(ev); err != nil { log.Fatal(err) } } } type traceReader interface { Version() version.Version ReadEvent() (raw.Event, error) } type traceWriter interface { WriteEvent(raw.Event) error } dependencies/pkg/mod/golang.org/x/exp@v0.0.0-20240506185415-9bf2ced13842/trace/cmd/gotracevalidate/0000755000000000000000000000000015107355263027720 5ustar rootroot././@LongLink0000644000000000000000000000015300000000000011602 Lustar rootrootdependencies/pkg/mod/golang.org/x/exp@v0.0.0-20240506185415-9bf2ced13842/trace/cmd/gotracevalidate/main.godependencies/pkg/mod/golang.org/x/exp@v0.0.0-20240506185415-9bf2ced13842/trace/cmd/gotracevalidate/m0000644000000000000000000000211215107355263030073 0ustar rootroot// Copyright 2023 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. // Code generated by "gen.bash" from internal/trace/v2; DO NOT EDIT. //go:build go1.21 package main import ( "flag" "fmt" "io" "log" "os" "golang.org/x/exp/trace" "golang.org/x/exp/trace/internal/testtrace" ) func init() { flag.Usage = func() { fmt.Fprintf(flag.CommandLine.Output(), "Usage: %s\n", os.Args[0]) fmt.Fprintf(flag.CommandLine.Output(), "\n") fmt.Fprintf(flag.CommandLine.Output(), "Accepts a trace at stdin and validates it.\n") flag.PrintDefaults() } log.SetFlags(0) } var logEvents = flag.Bool("log-events", false, "whether to log events") func main() { flag.Parse() r, err := trace.NewReader(os.Stdin) if err != nil { log.Fatal(err) } v := testtrace.NewValidator() for { ev, err := r.ReadEvent() if err == io.EOF { break } if err != nil { log.Fatal(err) } if *logEvents { log.Println(ev.String()) } if err := v.Event(ev); err != nil { log.Fatal(err) } } } dependencies/pkg/mod/golang.org/x/exp@v0.0.0-20240506185415-9bf2ced13842/trace/generation.go0000644000000000000000000002621215107355263026504 0ustar rootroot// Copyright 2023 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. // Code generated by "gen.bash" from internal/trace/v2; DO NOT EDIT. //go:build go1.21 package trace import ( "bufio" "bytes" "cmp" "encoding/binary" "fmt" "io" "slices" "strings" "golang.org/x/exp/trace/internal/event" "golang.org/x/exp/trace/internal/event/go122" ) // generation contains all the trace data for a single // trace generation. It is purely data: it does not // track any parse state nor does it contain a cursor // into the generation. type generation struct { gen uint64 batches map[ThreadID][]batch cpuSamples []cpuSample *evTable } // spilledBatch represents a batch that was read out for the next generation, // while reading the previous one. It's passed on when parsing the next // generation. type spilledBatch struct { gen uint64 *batch } // readGeneration buffers and decodes the structural elements of a trace generation // out of r. spill is the first batch of the new generation (already buffered and // parsed from reading the last generation). Returns the generation and the first // batch read of the next generation, if any. func readGeneration(r *bufio.Reader, spill *spilledBatch) (*generation, *spilledBatch, error) { g := &generation{ evTable: &evTable{ pcs: make(map[uint64]frame), }, batches: make(map[ThreadID][]batch), } // Process the spilled batch. if spill != nil { g.gen = spill.gen if err := processBatch(g, *spill.batch); err != nil { return nil, nil, err } spill = nil } // Read batches one at a time until we either hit EOF or // the next generation. for { b, gen, err := readBatch(r) if err == io.EOF { break } if err != nil { return nil, nil, err } if gen == 0 { // 0 is a sentinel used by the runtime, so we'll never see it. return nil, nil, fmt.Errorf("invalid generation number %d", gen) } if g.gen == 0 { // Initialize gen. g.gen = gen } if gen == g.gen+1 { // TODO: advance this the same way the runtime does. spill = &spilledBatch{gen: gen, batch: &b} break } if gen != g.gen { // N.B. Fail as fast as possible if we see this. At first it // may seem prudent to be fault-tolerant and assume we have a // complete generation, parsing and returning that first. However, // if the batches are mixed across generations then it's likely // we won't be able to parse this generation correctly at all. // Rather than return a cryptic error in that case, indicate the // problem as soon as we see it. return nil, nil, fmt.Errorf("generations out of order") } if err := processBatch(g, b); err != nil { return nil, nil, err } } // Check some invariants. if g.freq == 0 { return nil, nil, fmt.Errorf("no frequency event found") } // N.B. Trust that the batch order is correct. We can't validate the batch order // by timestamp because the timestamps could just be plain wrong. The source of // truth is the order things appear in the trace and the partial order sequence // numbers on certain events. If it turns out the batch order is actually incorrect // we'll very likely fail to advance a partial order from the frontier. // Compactify stacks and strings for better lookup performance later. g.stacks.compactify() g.strings.compactify() // Validate stacks. if err := validateStackStrings(&g.stacks, &g.strings, g.pcs); err != nil { return nil, nil, err } // Fix up the CPU sample timestamps, now that we have freq. for i := range g.cpuSamples { s := &g.cpuSamples[i] s.time = g.freq.mul(timestamp(s.time)) } // Sort the CPU samples. slices.SortFunc(g.cpuSamples, func(a, b cpuSample) int { return cmp.Compare(a.time, b.time) }) return g, spill, nil } // processBatch adds the batch to the generation. func processBatch(g *generation, b batch) error { switch { case b.isStringsBatch(): if err := addStrings(&g.strings, b); err != nil { return err } case b.isStacksBatch(): if err := addStacks(&g.stacks, g.pcs, b); err != nil { return err } case b.isCPUSamplesBatch(): samples, err := addCPUSamples(g.cpuSamples, b) if err != nil { return err } g.cpuSamples = samples case b.isFreqBatch(): freq, err := parseFreq(b) if err != nil { return err } if g.freq != 0 { return fmt.Errorf("found multiple frequency events") } g.freq = freq default: g.batches[b.m] = append(g.batches[b.m], b) } return nil } // validateStackStrings makes sure all the string references in // the stack table are present in the string table. func validateStackStrings( stacks *dataTable[stackID, stack], strings *dataTable[stringID, string], frames map[uint64]frame, ) error { var err error stacks.forEach(func(id stackID, stk stack) bool { for _, pc := range stk.pcs { frame, ok := frames[pc] if !ok { err = fmt.Errorf("found unknown pc %x for stack %d", pc, id) return false } _, ok = strings.get(frame.funcID) if !ok { err = fmt.Errorf("found invalid func string ID %d for stack %d", frame.funcID, id) return false } _, ok = strings.get(frame.fileID) if !ok { err = fmt.Errorf("found invalid file string ID %d for stack %d", frame.fileID, id) return false } } return true }) return err } // addStrings takes a batch whose first byte is an EvStrings event // (indicating that the batch contains only strings) and adds each // string contained therein to the provided strings map. func addStrings(stringTable *dataTable[stringID, string], b batch) error { if !b.isStringsBatch() { return fmt.Errorf("internal error: addStrings called on non-string batch") } r := bytes.NewReader(b.data) hdr, err := r.ReadByte() // Consume the EvStrings byte. if err != nil || event.Type(hdr) != go122.EvStrings { return fmt.Errorf("missing strings batch header") } var sb strings.Builder for r.Len() != 0 { // Read the header. ev, err := r.ReadByte() if err != nil { return err } if event.Type(ev) != go122.EvString { return fmt.Errorf("expected string event, got %d", ev) } // Read the string's ID. id, err := binary.ReadUvarint(r) if err != nil { return err } // Read the string's length. len, err := binary.ReadUvarint(r) if err != nil { return err } if len > go122.MaxStringSize { return fmt.Errorf("invalid string size %d, maximum is %d", len, go122.MaxStringSize) } // Copy out the string. n, err := io.CopyN(&sb, r, int64(len)) if n != int64(len) { return fmt.Errorf("failed to read full string: read %d but wanted %d", n, len) } if err != nil { return fmt.Errorf("copying string data: %w", err) } // Add the string to the map. s := sb.String() sb.Reset() if err := stringTable.insert(stringID(id), s); err != nil { return err } } return nil } // addStacks takes a batch whose first byte is an EvStacks event // (indicating that the batch contains only stacks) and adds each // string contained therein to the provided stacks map. func addStacks(stackTable *dataTable[stackID, stack], pcs map[uint64]frame, b batch) error { if !b.isStacksBatch() { return fmt.Errorf("internal error: addStacks called on non-stacks batch") } r := bytes.NewReader(b.data) hdr, err := r.ReadByte() // Consume the EvStacks byte. if err != nil || event.Type(hdr) != go122.EvStacks { return fmt.Errorf("missing stacks batch header") } for r.Len() != 0 { // Read the header. ev, err := r.ReadByte() if err != nil { return err } if event.Type(ev) != go122.EvStack { return fmt.Errorf("expected stack event, got %d", ev) } // Read the stack's ID. id, err := binary.ReadUvarint(r) if err != nil { return err } // Read how many frames are in each stack. nFrames, err := binary.ReadUvarint(r) if err != nil { return err } if nFrames > go122.MaxFramesPerStack { return fmt.Errorf("invalid stack size %d, maximum is %d", nFrames, go122.MaxFramesPerStack) } // Each frame consists of 4 fields: pc, funcID (string), fileID (string), line. frames := make([]uint64, 0, nFrames) for i := uint64(0); i < nFrames; i++ { // Read the frame data. pc, err := binary.ReadUvarint(r) if err != nil { return fmt.Errorf("reading frame %d's PC for stack %d: %w", i+1, id, err) } funcID, err := binary.ReadUvarint(r) if err != nil { return fmt.Errorf("reading frame %d's funcID for stack %d: %w", i+1, id, err) } fileID, err := binary.ReadUvarint(r) if err != nil { return fmt.Errorf("reading frame %d's fileID for stack %d: %w", i+1, id, err) } line, err := binary.ReadUvarint(r) if err != nil { return fmt.Errorf("reading frame %d's line for stack %d: %w", i+1, id, err) } frames = append(frames, pc) if _, ok := pcs[pc]; !ok { pcs[pc] = frame{ pc: pc, funcID: stringID(funcID), fileID: stringID(fileID), line: line, } } } // Add the stack to the map. if err := stackTable.insert(stackID(id), stack{pcs: frames}); err != nil { return err } } return nil } // addCPUSamples takes a batch whose first byte is an EvCPUSamples event // (indicating that the batch contains only CPU samples) and adds each // sample contained therein to the provided samples list. func addCPUSamples(samples []cpuSample, b batch) ([]cpuSample, error) { if !b.isCPUSamplesBatch() { return nil, fmt.Errorf("internal error: addCPUSamples called on non-CPU-sample batch") } r := bytes.NewReader(b.data) hdr, err := r.ReadByte() // Consume the EvCPUSamples byte. if err != nil || event.Type(hdr) != go122.EvCPUSamples { return nil, fmt.Errorf("missing CPU samples batch header") } for r.Len() != 0 { // Read the header. ev, err := r.ReadByte() if err != nil { return nil, err } if event.Type(ev) != go122.EvCPUSample { return nil, fmt.Errorf("expected CPU sample event, got %d", ev) } // Read the sample's timestamp. ts, err := binary.ReadUvarint(r) if err != nil { return nil, err } // Read the sample's M. m, err := binary.ReadUvarint(r) if err != nil { return nil, err } mid := ThreadID(m) // Read the sample's P. p, err := binary.ReadUvarint(r) if err != nil { return nil, err } pid := ProcID(p) // Read the sample's G. g, err := binary.ReadUvarint(r) if err != nil { return nil, err } goid := GoID(g) if g == 0 { goid = NoGoroutine } // Read the sample's stack. s, err := binary.ReadUvarint(r) if err != nil { return nil, err } // Add the sample to the slice. samples = append(samples, cpuSample{ schedCtx: schedCtx{ M: mid, P: pid, G: goid, }, time: Time(ts), // N.B. this is really a "timestamp," not a Time. stack: stackID(s), }) } return samples, nil } // parseFreq parses out a lone EvFrequency from a batch. func parseFreq(b batch) (frequency, error) { if !b.isFreqBatch() { return 0, fmt.Errorf("internal error: parseFreq called on non-frequency batch") } r := bytes.NewReader(b.data) r.ReadByte() // Consume the EvFrequency byte. // Read the frequency. It'll come out as timestamp units per second. f, err := binary.ReadUvarint(r) if err != nil { return 0, err } // Convert to nanoseconds per timestamp unit. return frequency(1.0 / (float64(f) / 1e9)), nil } dependencies/pkg/mod/golang.org/x/exp@v0.0.0-20240506185415-9bf2ced13842/trace/resources.go0000644000000000000000000002011215107355263026354 0ustar rootroot// Copyright 2023 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. // Code generated by "gen.bash" from internal/trace/v2; DO NOT EDIT. //go:build go1.21 package trace import "fmt" // ThreadID is the runtime-internal M structure's ID. This is unique // for each OS thread. type ThreadID int64 // NoThread indicates that the relevant events don't correspond to any // thread in particular. const NoThread = ThreadID(-1) // ProcID is the runtime-internal G structure's id field. This is unique // for each P. type ProcID int64 // NoProc indicates that the relevant events don't correspond to any // P in particular. const NoProc = ProcID(-1) // GoID is the runtime-internal G structure's goid field. This is unique // for each goroutine. type GoID int64 // NoGoroutine indicates that the relevant events don't correspond to any // goroutine in particular. const NoGoroutine = GoID(-1) // GoState represents the state of a goroutine. // // New GoStates may be added in the future. Users of this type must be robust // to that possibility. type GoState uint8 const ( GoUndetermined GoState = iota // No information is known about the goroutine. GoNotExist // Goroutine does not exist. GoRunnable // Goroutine is runnable but not running. GoRunning // Goroutine is running. GoWaiting // Goroutine is waiting on something to happen. GoSyscall // Goroutine is in a system call. ) // Executing returns true if the state indicates that the goroutine is executing // and bound to its thread. func (s GoState) Executing() bool { return s == GoRunning || s == GoSyscall } // String returns a human-readable representation of a GoState. // // The format of the returned string is for debugging purposes and is subject to change. func (s GoState) String() string { switch s { case GoUndetermined: return "Undetermined" case GoNotExist: return "NotExist" case GoRunnable: return "Runnable" case GoRunning: return "Running" case GoWaiting: return "Waiting" case GoSyscall: return "Syscall" } return "Bad" } // ProcState represents the state of a proc. // // New ProcStates may be added in the future. Users of this type must be robust // to that possibility. type ProcState uint8 const ( ProcUndetermined ProcState = iota // No information is known about the proc. ProcNotExist // Proc does not exist. ProcRunning // Proc is running. ProcIdle // Proc is idle. ) // Executing returns true if the state indicates that the proc is executing // and bound to its thread. func (s ProcState) Executing() bool { return s == ProcRunning } // String returns a human-readable representation of a ProcState. // // The format of the returned string is for debugging purposes and is subject to change. func (s ProcState) String() string { switch s { case ProcUndetermined: return "Undetermined" case ProcNotExist: return "NotExist" case ProcRunning: return "Running" case ProcIdle: return "Idle" } return "Bad" } // ResourceKind indicates a kind of resource that has a state machine. // // New ResourceKinds may be added in the future. Users of this type must be robust // to that possibility. type ResourceKind uint8 const ( ResourceNone ResourceKind = iota // No resource. ResourceGoroutine // Goroutine. ResourceProc // Proc. ResourceThread // Thread. ) // String returns a human-readable representation of a ResourceKind. // // The format of the returned string is for debugging purposes and is subject to change. func (r ResourceKind) String() string { switch r { case ResourceNone: return "None" case ResourceGoroutine: return "Goroutine" case ResourceProc: return "Proc" case ResourceThread: return "Thread" } return "Bad" } // ResourceID represents a generic resource ID. type ResourceID struct { // Kind is the kind of resource this ID is for. Kind ResourceKind id int64 } // MakeResourceID creates a general resource ID from a specific resource's ID. func MakeResourceID[T interface{ GoID | ProcID | ThreadID }](id T) ResourceID { var rd ResourceID var a any = id switch a.(type) { case GoID: rd.Kind = ResourceGoroutine case ProcID: rd.Kind = ResourceProc case ThreadID: rd.Kind = ResourceThread } rd.id = int64(id) return rd } // Goroutine obtains a GoID from the resource ID. // // r.Kind must be ResourceGoroutine or this function will panic. func (r ResourceID) Goroutine() GoID { if r.Kind != ResourceGoroutine { panic(fmt.Sprintf("attempted to get GoID from %s resource ID", r.Kind)) } return GoID(r.id) } // Proc obtains a ProcID from the resource ID. // // r.Kind must be ResourceProc or this function will panic. func (r ResourceID) Proc() ProcID { if r.Kind != ResourceProc { panic(fmt.Sprintf("attempted to get ProcID from %s resource ID", r.Kind)) } return ProcID(r.id) } // Thread obtains a ThreadID from the resource ID. // // r.Kind must be ResourceThread or this function will panic. func (r ResourceID) Thread() ThreadID { if r.Kind != ResourceThread { panic(fmt.Sprintf("attempted to get ThreadID from %s resource ID", r.Kind)) } return ThreadID(r.id) } // String returns a human-readable string representation of the ResourceID. // // This representation is subject to change and is intended primarily for debugging. func (r ResourceID) String() string { if r.Kind == ResourceNone { return r.Kind.String() } return fmt.Sprintf("%s(%d)", r.Kind, r.id) } // StateTransition provides details about a StateTransition event. type StateTransition struct { // Resource is the resource this state transition is for. Resource ResourceID // Reason is a human-readable reason for the state transition. Reason string // Stack is the stack trace of the resource making the state transition. // // This is distinct from the result (Event).Stack because it pertains to // the transitioning resource, not any of the ones executing the event // this StateTransition came from. // // An example of this difference is the NotExist -> Runnable transition for // goroutines, which indicates goroutine creation. In this particular case, // a Stack here would refer to the starting stack of the new goroutine, and // an (Event).Stack would refer to the stack trace of whoever created the // goroutine. Stack Stack // The actual transition data. Stored in a neutral form so that // we don't need fields for every kind of resource. id int64 oldState uint8 newState uint8 } func goStateTransition(id GoID, from, to GoState) StateTransition { return StateTransition{ Resource: ResourceID{Kind: ResourceGoroutine, id: int64(id)}, oldState: uint8(from), newState: uint8(to), } } func procStateTransition(id ProcID, from, to ProcState) StateTransition { return StateTransition{ Resource: ResourceID{Kind: ResourceProc, id: int64(id)}, oldState: uint8(from), newState: uint8(to), } } // Goroutine returns the state transition for a goroutine. // // Transitions to and from states that are Executing are special in that // they change the future execution context. In other words, future events // on the same thread will feature the same goroutine until it stops running. // // Panics if d.Resource.Kind is not ResourceGoroutine. func (d StateTransition) Goroutine() (from, to GoState) { if d.Resource.Kind != ResourceGoroutine { panic("Goroutine called on non-Goroutine state transition") } return GoState(d.oldState), GoState(d.newState) } // Proc returns the state transition for a proc. // // Transitions to and from states that are Executing are special in that // they change the future execution context. In other words, future events // on the same thread will feature the same goroutine until it stops running. // // Panics if d.Resource.Kind is not ResourceProc. func (d StateTransition) Proc() (from, to ProcState) { if d.Resource.Kind != ResourceProc { panic("Proc called on non-Proc state transition") } return ProcState(d.oldState), ProcState(d.newState) } dependencies/pkg/mod/golang.org/x/exp@v0.0.0-20240506185415-9bf2ced13842/rand/0000755000000000000000000000000015107355263023645 5ustar rootrootdependencies/pkg/mod/golang.org/x/exp@v0.0.0-20240506185415-9bf2ced13842/rand/modulo_test.go0000644000000000000000000000236715107355263026542 0ustar rootroot// Copyright 2017 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 validates that the calculation in Uint64n corrects for // possible bias. package rand import ( "testing" ) // modSource is used to probe the upper region of uint64 space. It // generates values sequentially in [maxUint64-15,maxUint64]. With // modEdge == 15 and maxUint64 == 1<<64-1 == 18446744073709551615, // this means that Uint64n(10) will repeatedly probe the top range. // We thus expect a bias to result unless the calculation in Uint64n // gets the edge condition right. We test this by calling Uint64n 100 // times; the results should be perfectly evenly distributed across // [0,10). type modSource uint64 const modEdge = 15 func (m *modSource) Seed(uint64) {} // Uint64 returns a non-pseudo-random 64-bit unsigned integer as a uint64. func (m *modSource) Uint64() uint64 { if *m > modEdge { *m = 0 } r := maxUint64 - *m *m++ return uint64(r) } func TestUint64Modulo(t *testing.T) { var src modSource rng := New(&src) var result [10]uint64 for i := 0; i < 100; i++ { result[rng.Uint64n(10)]++ } for _, r := range result { if r != 10 { t.Fatal(result) } } } dependencies/pkg/mod/golang.org/x/exp@v0.0.0-20240506185415-9bf2ced13842/rand/zipf.go0000644000000000000000000000346515107355263025154 0ustar rootroot// 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. // W.Hormann, G.Derflinger: // "Rejection-Inversion to Generate Variates // from Monotone Discrete Distributions" // http://eeyore.wu-wien.ac.at/papers/96-04-04.wh-der.ps.gz package rand import "math" // A Zipf generates Zipf distributed variates. type Zipf struct { r *Rand imax float64 v float64 q float64 s float64 oneminusQ float64 oneminusQinv float64 hxm float64 hx0minusHxm float64 } func (z *Zipf) h(x float64) float64 { return math.Exp(z.oneminusQ*math.Log(z.v+x)) * z.oneminusQinv } func (z *Zipf) hinv(x float64) float64 { return math.Exp(z.oneminusQinv*math.Log(z.oneminusQ*x)) - z.v } // NewZipf returns a Zipf variate generator. // The generator generates values k ∈ [0, imax] // such that P(k) is proportional to (v + k) ** (-s). // Requirements: s > 1 and v >= 1. func NewZipf(r *Rand, s float64, v float64, imax uint64) *Zipf { z := new(Zipf) if s <= 1.0 || v < 1 { return nil } z.r = r z.imax = float64(imax) z.v = v z.q = s z.oneminusQ = 1.0 - z.q z.oneminusQinv = 1.0 / z.oneminusQ z.hxm = z.h(z.imax + 0.5) z.hx0minusHxm = z.h(0.5) - math.Exp(math.Log(z.v)*(-z.q)) - z.hxm z.s = 1 - z.hinv(z.h(1.5)-math.Exp(-z.q*math.Log(z.v+1.0))) return z } // Uint64 returns a value drawn from the Zipf distribution described // by the Zipf object. func (z *Zipf) Uint64() uint64 { if z == nil { panic("rand: nil Zipf") } k := 0.0 for { r := z.r.Float64() // r on [0,1] ur := z.hxm + r*z.hx0minusHxm x := z.hinv(ur) k = math.Floor(x + 0.5) if k-x <= z.s { break } if ur >= z.h(k+0.5)-math.Exp(-math.Log(k+z.v)*z.q) { break } } return uint64(k) } dependencies/pkg/mod/golang.org/x/exp@v0.0.0-20240506185415-9bf2ced13842/rand/rng.go0000644000000000000000000000514315107355263024765 0ustar rootroot// Copyright 2017 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 rand import ( "encoding/binary" "io" "math/bits" ) // PCGSource is an implementation of a 64-bit permuted congruential // generator as defined in // // PCG: A Family of Simple Fast Space-Efficient Statistically Good // Algorithms for Random Number Generation // Melissa E. O’Neill, Harvey Mudd College // http://www.pcg-random.org/pdf/toms-oneill-pcg-family-v1.02.pdf // // The generator here is the congruential generator PCG XSL RR 128/64 (LCG) // as found in the software available at http://www.pcg-random.org/. // It has period 2^128 with 128 bits of state, producing 64-bit values. // Is state is represented by two uint64 words. type PCGSource struct { low uint64 high uint64 } const ( maxUint32 = (1 << 32) - 1 multiplier = 47026247687942121848144207491837523525 mulHigh = multiplier >> 64 mulLow = multiplier & maxUint64 increment = 117397592171526113268558934119004209487 incHigh = increment >> 64 incLow = increment & maxUint64 // TODO: Use these? initializer = 245720598905631564143578724636268694099 initHigh = initializer >> 64 initLow = initializer & maxUint64 ) // Seed uses the provided seed value to initialize the generator to a deterministic state. func (pcg *PCGSource) Seed(seed uint64) { pcg.low = seed pcg.high = seed // TODO: What is right? } // Uint64 returns a pseudo-random 64-bit unsigned integer as a uint64. func (pcg *PCGSource) Uint64() uint64 { pcg.multiply() pcg.add() // XOR high and low 64 bits together and rotate right by high 6 bits of state. return bits.RotateLeft64(pcg.high^pcg.low, -int(pcg.high>>58)) } func (pcg *PCGSource) add() { var carry uint64 pcg.low, carry = bits.Add64(pcg.low, incLow, 0) pcg.high, _ = bits.Add64(pcg.high, incHigh, carry) } func (pcg *PCGSource) multiply() { hi, lo := bits.Mul64(pcg.low, mulLow) hi += pcg.high * mulLow hi += pcg.low * mulHigh pcg.low = lo pcg.high = hi } // MarshalBinary returns the binary representation of the current state of the generator. func (pcg *PCGSource) MarshalBinary() ([]byte, error) { var buf [16]byte binary.BigEndian.PutUint64(buf[:8], pcg.high) binary.BigEndian.PutUint64(buf[8:], pcg.low) return buf[:], nil } // UnmarshalBinary sets the state of the generator to the state represented in data. func (pcg *PCGSource) UnmarshalBinary(data []byte) error { if len(data) < 16 { return io.ErrUnexpectedEOF } pcg.low = binary.BigEndian.Uint64(data[8:]) pcg.high = binary.BigEndian.Uint64(data[:8]) return nil } dependencies/pkg/mod/golang.org/x/exp@v0.0.0-20240506185415-9bf2ced13842/rand/exp.go0000644000000000000000000002566215107355263025003 0ustar rootroot// 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 rand import ( "math" ) /* * Exponential distribution * * See "The Ziggurat Method for Generating Random Variables" * (Marsaglia & Tsang, 2000) * http://www.jstatsoft.org/v05/i08/paper [pdf] */ const ( re = 7.69711747013104972 ) // ExpFloat64 returns an exponentially distributed float64 in the range // (0, +math.MaxFloat64] with an exponential distribution whose rate parameter // (lambda) is 1 and whose mean is 1/lambda (1). // To produce a distribution with a different rate parameter, // callers can adjust the output using: // // sample = ExpFloat64() / desiredRateParameter func (r *Rand) ExpFloat64() float64 { for { j := r.Uint32() i := j & 0xFF x := float64(j) * float64(we[i]) if j < ke[i] { return x } if i == 0 { return re - math.Log(r.Float64()) } if fe[i]+float32(r.Float64())*(fe[i-1]-fe[i]) < float32(math.Exp(-x)) { return x } } } var ke = [256]uint32{ 0xe290a139, 0x0, 0x9beadebc, 0xc377ac71, 0xd4ddb990, 0xde893fb8, 0xe4a8e87c, 0xe8dff16a, 0xebf2deab, 0xee49a6e8, 0xf0204efd, 0xf19bdb8e, 0xf2d458bb, 0xf3da104b, 0xf4b86d78, 0xf577ad8a, 0xf61de83d, 0xf6afb784, 0xf730a573, 0xf7a37651, 0xf80a5bb6, 0xf867189d, 0xf8bb1b4f, 0xf9079062, 0xf94d70ca, 0xf98d8c7d, 0xf9c8928a, 0xf9ff175b, 0xfa319996, 0xfa6085f8, 0xfa8c3a62, 0xfab5084e, 0xfadb36c8, 0xfaff0410, 0xfb20a6ea, 0xfb404fb4, 0xfb5e2951, 0xfb7a59e9, 0xfb95038c, 0xfbae44ba, 0xfbc638d8, 0xfbdcf892, 0xfbf29a30, 0xfc0731df, 0xfc1ad1ed, 0xfc2d8b02, 0xfc3f6c4d, 0xfc5083ac, 0xfc60ddd1, 0xfc708662, 0xfc7f8810, 0xfc8decb4, 0xfc9bbd62, 0xfca9027c, 0xfcb5c3c3, 0xfcc20864, 0xfccdd70a, 0xfcd935e3, 0xfce42ab0, 0xfceebace, 0xfcf8eb3b, 0xfd02c0a0, 0xfd0c3f59, 0xfd156b7b, 0xfd1e48d6, 0xfd26daff, 0xfd2f2552, 0xfd372af7, 0xfd3eeee5, 0xfd4673e7, 0xfd4dbc9e, 0xfd54cb85, 0xfd5ba2f2, 0xfd62451b, 0xfd68b415, 0xfd6ef1da, 0xfd750047, 0xfd7ae120, 0xfd809612, 0xfd8620b4, 0xfd8b8285, 0xfd90bcf5, 0xfd95d15e, 0xfd9ac10b, 0xfd9f8d36, 0xfda43708, 0xfda8bf9e, 0xfdad2806, 0xfdb17141, 0xfdb59c46, 0xfdb9a9fd, 0xfdbd9b46, 0xfdc170f6, 0xfdc52bd8, 0xfdc8ccac, 0xfdcc542d, 0xfdcfc30b, 0xfdd319ef, 0xfdd6597a, 0xfdd98245, 0xfddc94e5, 0xfddf91e6, 0xfde279ce, 0xfde54d1f, 0xfde80c52, 0xfdeab7de, 0xfded5034, 0xfdefd5be, 0xfdf248e3, 0xfdf4aa06, 0xfdf6f984, 0xfdf937b6, 0xfdfb64f4, 0xfdfd818d, 0xfdff8dd0, 0xfe018a08, 0xfe03767a, 0xfe05536c, 0xfe07211c, 0xfe08dfc9, 0xfe0a8fab, 0xfe0c30fb, 0xfe0dc3ec, 0xfe0f48b1, 0xfe10bf76, 0xfe122869, 0xfe1383b4, 0xfe14d17c, 0xfe1611e7, 0xfe174516, 0xfe186b2a, 0xfe19843e, 0xfe1a9070, 0xfe1b8fd6, 0xfe1c8289, 0xfe1d689b, 0xfe1e4220, 0xfe1f0f26, 0xfe1fcfbc, 0xfe2083ed, 0xfe212bc3, 0xfe21c745, 0xfe225678, 0xfe22d95f, 0xfe234ffb, 0xfe23ba4a, 0xfe241849, 0xfe2469f2, 0xfe24af3c, 0xfe24e81e, 0xfe25148b, 0xfe253474, 0xfe2547c7, 0xfe254e70, 0xfe25485a, 0xfe25356a, 0xfe251586, 0xfe24e88f, 0xfe24ae64, 0xfe2466e1, 0xfe2411df, 0xfe23af34, 0xfe233eb4, 0xfe22c02c, 0xfe22336b, 0xfe219838, 0xfe20ee58, 0xfe20358c, 0xfe1f6d92, 0xfe1e9621, 0xfe1daef0, 0xfe1cb7ac, 0xfe1bb002, 0xfe1a9798, 0xfe196e0d, 0xfe1832fd, 0xfe16e5fe, 0xfe15869d, 0xfe141464, 0xfe128ed3, 0xfe10f565, 0xfe0f478c, 0xfe0d84b1, 0xfe0bac36, 0xfe09bd73, 0xfe07b7b5, 0xfe059a40, 0xfe03644c, 0xfe011504, 0xfdfeab88, 0xfdfc26e9, 0xfdf98629, 0xfdf6c83b, 0xfdf3ec01, 0xfdf0f04a, 0xfdedd3d1, 0xfdea953d, 0xfde7331e, 0xfde3abe9, 0xfddffdfb, 0xfddc2791, 0xfdd826cd, 0xfdd3f9a8, 0xfdcf9dfc, 0xfdcb1176, 0xfdc65198, 0xfdc15bb3, 0xfdbc2ce2, 0xfdb6c206, 0xfdb117be, 0xfdab2a63, 0xfda4f5fd, 0xfd9e7640, 0xfd97a67a, 0xfd908192, 0xfd8901f2, 0xfd812182, 0xfd78d98e, 0xfd7022bb, 0xfd66f4ed, 0xfd5d4732, 0xfd530f9c, 0xfd48432b, 0xfd3cd59a, 0xfd30b936, 0xfd23dea4, 0xfd16349e, 0xfd07a7a3, 0xfcf8219b, 0xfce7895b, 0xfcd5c220, 0xfcc2aadb, 0xfcae1d5e, 0xfc97ed4e, 0xfc7fe6d4, 0xfc65ccf3, 0xfc495762, 0xfc2a2fc8, 0xfc07ee19, 0xfbe213c1, 0xfbb8051a, 0xfb890078, 0xfb5411a5, 0xfb180005, 0xfad33482, 0xfa839276, 0xfa263b32, 0xf9b72d1c, 0xf930a1a2, 0xf889f023, 0xf7b577d2, 0xf69c650c, 0xf51530f0, 0xf2cb0e3c, 0xeeefb15d, 0xe6da6ecf, } var we = [256]float32{ 2.0249555e-09, 1.486674e-11, 2.4409617e-11, 3.1968806e-11, 3.844677e-11, 4.4228204e-11, 4.9516443e-11, 5.443359e-11, 5.905944e-11, 6.344942e-11, 6.7643814e-11, 7.1672945e-11, 7.556032e-11, 7.932458e-11, 8.298079e-11, 8.654132e-11, 9.0016515e-11, 9.3415074e-11, 9.674443e-11, 1.0001099e-10, 1.03220314e-10, 1.06377254e-10, 1.09486115e-10, 1.1255068e-10, 1.1557435e-10, 1.1856015e-10, 1.2151083e-10, 1.2442886e-10, 1.2731648e-10, 1.3017575e-10, 1.3300853e-10, 1.3581657e-10, 1.3860142e-10, 1.4136457e-10, 1.4410738e-10, 1.4683108e-10, 1.4953687e-10, 1.5222583e-10, 1.54899e-10, 1.5755733e-10, 1.6020171e-10, 1.6283301e-10, 1.6545203e-10, 1.6805951e-10, 1.7065617e-10, 1.732427e-10, 1.7581973e-10, 1.7838787e-10, 1.8094774e-10, 1.8349985e-10, 1.8604476e-10, 1.8858298e-10, 1.9111498e-10, 1.9364126e-10, 1.9616223e-10, 1.9867835e-10, 2.0119004e-10, 2.0369768e-10, 2.0620168e-10, 2.087024e-10, 2.1120022e-10, 2.136955e-10, 2.1618855e-10, 2.1867974e-10, 2.2116936e-10, 2.2365775e-10, 2.261452e-10, 2.2863202e-10, 2.311185e-10, 2.3360494e-10, 2.360916e-10, 2.3857874e-10, 2.4106667e-10, 2.4355562e-10, 2.4604588e-10, 2.485377e-10, 2.5103128e-10, 2.5352695e-10, 2.560249e-10, 2.585254e-10, 2.6102867e-10, 2.6353494e-10, 2.6604446e-10, 2.6855745e-10, 2.7107416e-10, 2.7359479e-10, 2.761196e-10, 2.7864877e-10, 2.8118255e-10, 2.8372119e-10, 2.8626485e-10, 2.888138e-10, 2.9136826e-10, 2.939284e-10, 2.9649452e-10, 2.9906677e-10, 3.016454e-10, 3.0423064e-10, 3.0682268e-10, 3.0942177e-10, 3.1202813e-10, 3.1464195e-10, 3.1726352e-10, 3.19893e-10, 3.2253064e-10, 3.251767e-10, 3.2783135e-10, 3.3049485e-10, 3.3316744e-10, 3.3584938e-10, 3.3854083e-10, 3.4124212e-10, 3.4395342e-10, 3.46675e-10, 3.4940711e-10, 3.5215003e-10, 3.5490397e-10, 3.5766917e-10, 3.6044595e-10, 3.6323455e-10, 3.660352e-10, 3.6884823e-10, 3.7167386e-10, 3.745124e-10, 3.773641e-10, 3.802293e-10, 3.8310827e-10, 3.860013e-10, 3.8890866e-10, 3.918307e-10, 3.9476775e-10, 3.9772008e-10, 4.0068804e-10, 4.0367196e-10, 4.0667217e-10, 4.09689e-10, 4.1272286e-10, 4.1577405e-10, 4.1884296e-10, 4.2192994e-10, 4.250354e-10, 4.281597e-10, 4.313033e-10, 4.3446652e-10, 4.3764986e-10, 4.408537e-10, 4.4407847e-10, 4.4732465e-10, 4.5059267e-10, 4.5388301e-10, 4.571962e-10, 4.6053267e-10, 4.6389292e-10, 4.6727755e-10, 4.70687e-10, 4.741219e-10, 4.7758275e-10, 4.810702e-10, 4.845848e-10, 4.8812715e-10, 4.9169796e-10, 4.9529775e-10, 4.989273e-10, 5.0258725e-10, 5.0627835e-10, 5.100013e-10, 5.1375687e-10, 5.1754584e-10, 5.21369e-10, 5.2522725e-10, 5.2912136e-10, 5.330522e-10, 5.370208e-10, 5.4102806e-10, 5.45075e-10, 5.491625e-10, 5.532918e-10, 5.5746385e-10, 5.616799e-10, 5.6594107e-10, 5.7024857e-10, 5.746037e-10, 5.7900773e-10, 5.834621e-10, 5.8796823e-10, 5.925276e-10, 5.971417e-10, 6.018122e-10, 6.065408e-10, 6.113292e-10, 6.1617933e-10, 6.2109295e-10, 6.260722e-10, 6.3111916e-10, 6.3623595e-10, 6.4142497e-10, 6.4668854e-10, 6.5202926e-10, 6.5744976e-10, 6.6295286e-10, 6.6854156e-10, 6.742188e-10, 6.79988e-10, 6.858526e-10, 6.9181616e-10, 6.978826e-10, 7.04056e-10, 7.103407e-10, 7.167412e-10, 7.2326256e-10, 7.2990985e-10, 7.366886e-10, 7.4360473e-10, 7.5066453e-10, 7.5787476e-10, 7.6524265e-10, 7.7277595e-10, 7.80483e-10, 7.883728e-10, 7.9645507e-10, 8.047402e-10, 8.1323964e-10, 8.219657e-10, 8.309319e-10, 8.401528e-10, 8.496445e-10, 8.594247e-10, 8.6951274e-10, 8.799301e-10, 8.9070046e-10, 9.018503e-10, 9.134092e-10, 9.254101e-10, 9.378904e-10, 9.508923e-10, 9.644638e-10, 9.786603e-10, 9.935448e-10, 1.0091913e-09, 1.025686e-09, 1.0431306e-09, 1.0616465e-09, 1.08138e-09, 1.1025096e-09, 1.1252564e-09, 1.1498986e-09, 1.1767932e-09, 1.206409e-09, 1.2393786e-09, 1.276585e-09, 1.3193139e-09, 1.3695435e-09, 1.4305498e-09, 1.508365e-09, 1.6160854e-09, 1.7921248e-09, } var fe = [256]float32{ 1, 0.9381437, 0.90046996, 0.87170434, 0.8477855, 0.8269933, 0.8084217, 0.7915276, 0.77595687, 0.7614634, 0.7478686, 0.7350381, 0.72286767, 0.71127474, 0.70019263, 0.6895665, 0.67935055, 0.6695063, 0.66000086, 0.65080583, 0.6418967, 0.63325197, 0.6248527, 0.6166822, 0.60872537, 0.60096896, 0.5934009, 0.58601034, 0.5787874, 0.57172304, 0.5648092, 0.5580383, 0.5514034, 0.5448982, 0.5385169, 0.53225386, 0.5261042, 0.52006316, 0.5141264, 0.50828975, 0.5025495, 0.496902, 0.49134386, 0.485872, 0.48048335, 0.4751752, 0.46994483, 0.46478975, 0.45970762, 0.45469615, 0.44975325, 0.44487688, 0.44006512, 0.43531612, 0.43062815, 0.42599955, 0.42142874, 0.4169142, 0.41245446, 0.40804818, 0.403694, 0.3993907, 0.39513698, 0.39093173, 0.38677382, 0.38266218, 0.37859577, 0.37457356, 0.37059465, 0.3666581, 0.362763, 0.35890847, 0.35509375, 0.351318, 0.3475805, 0.34388044, 0.34021714, 0.3365899, 0.33299807, 0.32944095, 0.32591796, 0.3224285, 0.3189719, 0.31554767, 0.31215525, 0.30879408, 0.3054636, 0.3021634, 0.29889292, 0.2956517, 0.29243928, 0.28925523, 0.28609908, 0.28297043, 0.27986884, 0.27679393, 0.2737453, 0.2707226, 0.2677254, 0.26475343, 0.26180625, 0.25888354, 0.25598502, 0.2531103, 0.25025907, 0.24743107, 0.24462597, 0.24184346, 0.23908329, 0.23634516, 0.23362878, 0.23093392, 0.2282603, 0.22560766, 0.22297576, 0.22036438, 0.21777324, 0.21520215, 0.21265087, 0.21011916, 0.20760682, 0.20511365, 0.20263945, 0.20018397, 0.19774707, 0.19532852, 0.19292815, 0.19054577, 0.1881812, 0.18583426, 0.18350479, 0.1811926, 0.17889754, 0.17661946, 0.17435817, 0.17211354, 0.1698854, 0.16767362, 0.16547804, 0.16329853, 0.16113494, 0.15898713, 0.15685499, 0.15473837, 0.15263714, 0.15055119, 0.14848037, 0.14642459, 0.14438373, 0.14235765, 0.14034624, 0.13834943, 0.13636707, 0.13439907, 0.13244532, 0.13050574, 0.1285802, 0.12666863, 0.12477092, 0.12288698, 0.12101672, 0.119160056, 0.1173169, 0.115487166, 0.11367077, 0.11186763, 0.11007768, 0.10830083, 0.10653701, 0.10478614, 0.10304816, 0.101323, 0.09961058, 0.09791085, 0.09622374, 0.09454919, 0.09288713, 0.091237515, 0.08960028, 0.087975375, 0.08636274, 0.08476233, 0.083174095, 0.081597984, 0.08003395, 0.07848195, 0.076941945, 0.07541389, 0.07389775, 0.072393484, 0.07090106, 0.069420435, 0.06795159, 0.066494495, 0.06504912, 0.063615434, 0.062193416, 0.060783047, 0.059384305, 0.057997175, 0.05662164, 0.05525769, 0.053905312, 0.052564494, 0.051235236, 0.049917534, 0.048611384, 0.047316793, 0.046033762, 0.0447623, 0.043502413, 0.042254124, 0.041017443, 0.039792392, 0.038578995, 0.037377283, 0.036187284, 0.035009038, 0.033842582, 0.032687962, 0.031545233, 0.030414443, 0.02929566, 0.02818895, 0.027094385, 0.026012046, 0.024942026, 0.023884421, 0.022839336, 0.021806888, 0.020787204, 0.019780423, 0.0187867, 0.0178062, 0.016839107, 0.015885621, 0.014945968, 0.014020392, 0.013109165, 0.012212592, 0.011331013, 0.01046481, 0.009614414, 0.008780315, 0.007963077, 0.0071633533, 0.006381906, 0.0056196423, 0.0048776558, 0.004157295, 0.0034602648, 0.0027887989, 0.0021459677, 0.0015362998, 0.0009672693, 0.00045413437, } dependencies/pkg/mod/golang.org/x/exp@v0.0.0-20240506185415-9bf2ced13842/rand/normal.go0000644000000000000000000001444715107355263025476 0ustar rootroot// 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 rand import ( "math" ) /* * Normal distribution * * See "The Ziggurat Method for Generating Random Variables" * (Marsaglia & Tsang, 2000) * http://www.jstatsoft.org/v05/i08/paper [pdf] */ const ( rn = 3.442619855899 ) func absInt32(i int32) uint32 { if i < 0 { return uint32(-i) } return uint32(i) } // NormFloat64 returns a normally distributed float64 in the range // [-math.MaxFloat64, +math.MaxFloat64] with // standard normal distribution (mean = 0, stddev = 1). // To produce a different normal distribution, callers can // adjust the output using: // // sample = NormFloat64() * desiredStdDev + desiredMean func (r *Rand) NormFloat64() float64 { for { j := int32(r.Uint32()) // Possibly negative i := j & 0x7F x := float64(j) * float64(wn[i]) if absInt32(j) < kn[i] { // This case should be hit better than 99% of the time. return x } if i == 0 { // This extra work is only required for the base strip. for { x = -math.Log(r.Float64()) * (1.0 / rn) y := -math.Log(r.Float64()) if y+y >= x*x { break } } if j > 0 { return rn + x } return -rn - x } if fn[i]+float32(r.Float64())*(fn[i-1]-fn[i]) < float32(math.Exp(-.5*x*x)) { return x } } } var kn = [128]uint32{ 0x76ad2212, 0x0, 0x600f1b53, 0x6ce447a6, 0x725b46a2, 0x7560051d, 0x774921eb, 0x789a25bd, 0x799045c3, 0x7a4bce5d, 0x7adf629f, 0x7b5682a6, 0x7bb8a8c6, 0x7c0ae722, 0x7c50cce7, 0x7c8cec5b, 0x7cc12cd6, 0x7ceefed2, 0x7d177e0b, 0x7d3b8883, 0x7d5bce6c, 0x7d78dd64, 0x7d932886, 0x7dab0e57, 0x7dc0dd30, 0x7dd4d688, 0x7de73185, 0x7df81cea, 0x7e07c0a3, 0x7e163efa, 0x7e23b587, 0x7e303dfd, 0x7e3beec2, 0x7e46db77, 0x7e51155d, 0x7e5aabb3, 0x7e63abf7, 0x7e6c222c, 0x7e741906, 0x7e7b9a18, 0x7e82adfa, 0x7e895c63, 0x7e8fac4b, 0x7e95a3fb, 0x7e9b4924, 0x7ea0a0ef, 0x7ea5b00d, 0x7eaa7ac3, 0x7eaf04f3, 0x7eb3522a, 0x7eb765a5, 0x7ebb4259, 0x7ebeeafd, 0x7ec2620a, 0x7ec5a9c4, 0x7ec8c441, 0x7ecbb365, 0x7ece78ed, 0x7ed11671, 0x7ed38d62, 0x7ed5df12, 0x7ed80cb4, 0x7eda175c, 0x7edc0005, 0x7eddc78e, 0x7edf6ebf, 0x7ee0f647, 0x7ee25ebe, 0x7ee3a8a9, 0x7ee4d473, 0x7ee5e276, 0x7ee6d2f5, 0x7ee7a620, 0x7ee85c10, 0x7ee8f4cd, 0x7ee97047, 0x7ee9ce59, 0x7eea0eca, 0x7eea3147, 0x7eea3568, 0x7eea1aab, 0x7ee9e071, 0x7ee98602, 0x7ee90a88, 0x7ee86d08, 0x7ee7ac6a, 0x7ee6c769, 0x7ee5bc9c, 0x7ee48a67, 0x7ee32efc, 0x7ee1a857, 0x7edff42f, 0x7ede0ffa, 0x7edbf8d9, 0x7ed9ab94, 0x7ed7248d, 0x7ed45fae, 0x7ed1585c, 0x7ece095f, 0x7eca6ccb, 0x7ec67be2, 0x7ec22eee, 0x7ebd7d1a, 0x7eb85c35, 0x7eb2c075, 0x7eac9c20, 0x7ea5df27, 0x7e9e769f, 0x7e964c16, 0x7e8d44ba, 0x7e834033, 0x7e781728, 0x7e6b9933, 0x7e5d8a1a, 0x7e4d9ded, 0x7e3b737a, 0x7e268c2f, 0x7e0e3ff5, 0x7df1aa5d, 0x7dcf8c72, 0x7da61a1e, 0x7d72a0fb, 0x7d30e097, 0x7cd9b4ab, 0x7c600f1a, 0x7ba90bdc, 0x7a722176, 0x77d664e5, } var wn = [128]float32{ 1.7290405e-09, 1.2680929e-10, 1.6897518e-10, 1.9862688e-10, 2.2232431e-10, 2.4244937e-10, 2.601613e-10, 2.7611988e-10, 2.9073963e-10, 3.042997e-10, 3.1699796e-10, 3.289802e-10, 3.4035738e-10, 3.5121603e-10, 3.616251e-10, 3.7164058e-10, 3.8130857e-10, 3.9066758e-10, 3.9975012e-10, 4.08584e-10, 4.1719309e-10, 4.2559822e-10, 4.338176e-10, 4.418672e-10, 4.497613e-10, 4.5751258e-10, 4.651324e-10, 4.7263105e-10, 4.8001775e-10, 4.87301e-10, 4.944885e-10, 5.015873e-10, 5.0860405e-10, 5.155446e-10, 5.2241467e-10, 5.2921934e-10, 5.359635e-10, 5.426517e-10, 5.4928817e-10, 5.5587696e-10, 5.624219e-10, 5.6892646e-10, 5.753941e-10, 5.818282e-10, 5.882317e-10, 5.946077e-10, 6.00959e-10, 6.072884e-10, 6.135985e-10, 6.19892e-10, 6.2617134e-10, 6.3243905e-10, 6.386974e-10, 6.449488e-10, 6.511956e-10, 6.5744005e-10, 6.6368433e-10, 6.699307e-10, 6.7618144e-10, 6.824387e-10, 6.8870465e-10, 6.949815e-10, 7.012715e-10, 7.075768e-10, 7.1389966e-10, 7.202424e-10, 7.266073e-10, 7.329966e-10, 7.394128e-10, 7.4585826e-10, 7.5233547e-10, 7.58847e-10, 7.653954e-10, 7.719835e-10, 7.7861395e-10, 7.852897e-10, 7.920138e-10, 7.987892e-10, 8.0561924e-10, 8.125073e-10, 8.194569e-10, 8.2647167e-10, 8.3355556e-10, 8.407127e-10, 8.479473e-10, 8.55264e-10, 8.6266755e-10, 8.7016316e-10, 8.777562e-10, 8.8545243e-10, 8.932582e-10, 9.0117996e-10, 9.09225e-10, 9.174008e-10, 9.2571584e-10, 9.341788e-10, 9.427997e-10, 9.515889e-10, 9.605579e-10, 9.697193e-10, 9.790869e-10, 9.88676e-10, 9.985036e-10, 1.0085882e-09, 1.0189509e-09, 1.0296151e-09, 1.0406069e-09, 1.0519566e-09, 1.063698e-09, 1.0758702e-09, 1.0885183e-09, 1.1016947e-09, 1.1154611e-09, 1.1298902e-09, 1.1450696e-09, 1.1611052e-09, 1.1781276e-09, 1.1962995e-09, 1.2158287e-09, 1.2369856e-09, 1.2601323e-09, 1.2857697e-09, 1.3146202e-09, 1.347784e-09, 1.3870636e-09, 1.4357403e-09, 1.5008659e-09, 1.6030948e-09, } var fn = [128]float32{ 1, 0.9635997, 0.9362827, 0.9130436, 0.89228165, 0.87324303, 0.8555006, 0.8387836, 0.8229072, 0.8077383, 0.793177, 0.7791461, 0.7655842, 0.7524416, 0.73967725, 0.7272569, 0.7151515, 0.7033361, 0.69178915, 0.68049186, 0.6694277, 0.658582, 0.6479418, 0.63749546, 0.6272325, 0.6171434, 0.6072195, 0.5974532, 0.58783704, 0.5783647, 0.56903, 0.5598274, 0.5507518, 0.54179835, 0.5329627, 0.52424055, 0.5156282, 0.50712204, 0.49871865, 0.49041483, 0.48220766, 0.4740943, 0.46607214, 0.4581387, 0.45029163, 0.44252872, 0.43484783, 0.427247, 0.41972435, 0.41227803, 0.40490642, 0.39760786, 0.3903808, 0.3832238, 0.37613547, 0.36911446, 0.3621595, 0.35526937, 0.34844297, 0.34167916, 0.33497685, 0.3283351, 0.3217529, 0.3152294, 0.30876362, 0.30235484, 0.29600215, 0.28970486, 0.2834622, 0.2772735, 0.27113807, 0.2650553, 0.25902456, 0.2530453, 0.24711695, 0.241239, 0.23541094, 0.22963232, 0.2239027, 0.21822165, 0.21258877, 0.20700371, 0.20146611, 0.19597565, 0.19053204, 0.18513499, 0.17978427, 0.17447963, 0.1692209, 0.16400786, 0.15884037, 0.15371831, 0.14864157, 0.14361008, 0.13862377, 0.13368265, 0.12878671, 0.12393598, 0.119130544, 0.11437051, 0.10965602, 0.104987256, 0.10036444, 0.095787846, 0.0912578, 0.08677467, 0.0823389, 0.077950984, 0.073611505, 0.06932112, 0.06508058, 0.06089077, 0.056752663, 0.0526674, 0.048636295, 0.044660863, 0.040742867, 0.03688439, 0.033087887, 0.029356318, 0.025693292, 0.022103304, 0.018592102, 0.015167298, 0.011839478, 0.008624485, 0.005548995, 0.0026696292, } dependencies/pkg/mod/golang.org/x/exp@v0.0.0-20240506185415-9bf2ced13842/rand/regress_test.go0000644000000000000000000004376615107355263026725 0ustar rootroot// 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. // Test that random number sequences generated by a specific seed // do not change from version to version. // // If the generator changes, the golden outputs need updating, and // client programs may break. Although the desire for compatibility // is not as stringent as in the original math/rand package, // when possible avoid changing the generator. package rand_test import ( "flag" "fmt" "reflect" "testing" . "golang.org/x/exp/rand" ) var printgolden = flag.Bool("printgolden", false, "print golden results for regression test") // TestSource verifies that the output of the default Source is locked down. func TestSourceRegress(t *testing.T) { src := NewSource(1) var got [20]uint64 for i := range got { got[i] = src.Uint64() } want := [20]uint64{ 0x34e936394905d167, 0x817c0ef62fe4c731, 0x937987e6e24f5a40, 0x0c0a8307fe226199, 0xf96363568d8bab56, 0xbaef3af36bd02620, 0x8f18e416eb6b936b, 0x05a43fc149f3a67a, 0xdab012eb3ce01697, 0xf76c495a133c6aa9, 0x304b24c5040ce457, 0x47d77e0abb413159, 0x52a810fa9e452f04, 0x2d24b66380cf4780, 0x5ec7691b92018ef5, 0x5076dfa749261ea0, 0xac8f11ad3941d213, 0x13fa8d67de91db25, 0xb50883a9893274eb, 0xeb8f59263f9109ac, } if got != want { t.Errorf("got:\n\t%#016x\nwant:\n\t%#016x", got, want) if *printgolden { for _, x := range got { fmt.Printf("\t\t%#016x,\n", x) } } } } // TestRegress validates that the output stream is locked down, for instance so // optimizations do not change the output. It iterates over methods of the // Rand type to find functions to evaluate and checks the first 20 results // against the golden results. func TestRegress(t *testing.T) { var int32s = []int32{1, 10, 32, 1 << 20, 1<<20 + 1, 1000000000, 1 << 30, 1<<31 - 2, 1<<31 - 1} var int64s = []int64{1, 10, 32, 1 << 20, 1<<20 + 1, 1000000000, 1 << 30, 1<<31 - 2, 1<<31 - 1, 1000000000000000000, 1 << 60, 1<<63 - 2, 1<<63 - 1} var uint64s = []uint64{1, 10, 32, 1 << 20, 1<<20 + 1, 1000000000, 1 << 30, 1<<31 - 2, 1<<31 - 1, 1000000000000000000, 1 << 60, 1<<64 - 2, 1<<64 - 1} var permSizes = []int{0, 1, 5, 8, 9, 10, 16} var readBufferSizes = []int{1, 7, 8, 9, 10} r := New(NewSource(0)) rv := reflect.ValueOf(r) n := rv.NumMethod() p := 0 if *printgolden { fmt.Printf("var regressGolden = []interface{}{\n") } for i := 0; i < n; i++ { m := rv.Type().Method(i) mv := rv.Method(i) mt := mv.Type() if mt.NumOut() == 0 { continue } r.Seed(0) if *printgolden && i > 0 { fmt.Println() } for repeat := 0; repeat < 20; repeat++ { var args []reflect.Value var argstr string if mt.NumIn() == 1 { var x interface{} switch mt.In(0).Kind() { default: t.Fatalf("unexpected argument type for r.%s", m.Name) case reflect.Int: if m.Name == "Perm" { x = permSizes[repeat%len(permSizes)] break } big := int64s[repeat%len(int64s)] if int64(int(big)) != big { r.Int63n(big) // what would happen on 64-bit machine, to keep stream in sync if *printgolden { fmt.Printf("\tskipped, // must run printgolden on 64-bit machine\n") } p++ continue } x = int(big) case reflect.Int32: x = int32s[repeat%len(int32s)] case reflect.Int64: x = int64s[repeat%len(int64s)] case reflect.Uint64: x = uint64s[repeat%len(uint64s)] case reflect.Slice: if m.Name == "Read" { n := readBufferSizes[repeat%len(readBufferSizes)] x = make([]byte, n) } } argstr = fmt.Sprint(x) args = append(args, reflect.ValueOf(x)) } var out interface{} out = mv.Call(args)[0].Interface() if m.Name == "Int" || m.Name == "Intn" { out = int64(out.(int)) } if m.Name == "Read" { out = args[0].Interface().([]byte) } if *printgolden { var val string big := int64(1 << 60) if int64(int(big)) != big && (m.Name == "Int" || m.Name == "Intn") { // 32-bit machine cannot print 64-bit results val = "truncated" } else if reflect.TypeOf(out).Kind() == reflect.Slice { val = fmt.Sprintf("%#v", out) } else { val = fmt.Sprintf("%T(%v)", out, out) } fmt.Printf("\t%s, // %s(%s)\n", val, m.Name, argstr) } else { want := regressGolden[p] if m.Name == "Int" { want = int64(int(uint(want.(int64)) << 1 >> 1)) } if !reflect.DeepEqual(out, want) { t.Errorf("r.%s(%s) = %v, want %v", m.Name, argstr, out, want) } } p++ } } if *printgolden { fmt.Printf("}\n") } } var regressGolden = []interface{}{ float64(0.6279600685109523), // ExpFloat64() float64(0.16198826513357806), // ExpFloat64() float64(0.007880404652650552), // ExpFloat64() float64(0.41649788761745654), // ExpFloat64() float64(1.6958707787276301), // ExpFloat64() float64(2.7227327706138036), // ExpFloat64() float64(2.4235600263079657), // ExpFloat64() float64(1.277967771105418), // ExpFloat64() float64(0.7111660437031769), // ExpFloat64() float64(0.23090401427981888), // ExpFloat64() float64(1.4746763588379928), // ExpFloat64() float64(1.4868726779832278), // ExpFloat64() float64(0.1686257242078103), // ExpFloat64() float64(0.2732721816228957), // ExpFloat64() float64(0.4644536065869748), // ExpFloat64() float64(0.01319850986379164), // ExpFloat64() float64(0.7184492551742854), // ExpFloat64() float64(0.1913536422195827), // ExpFloat64() float64(0.16034475958495667), // ExpFloat64() float64(0.40599859014785644), // ExpFloat64() float32(0.7979972), // Float32() float32(0.7725961), // Float32() float32(0.21894403), // Float32() float32(0.96194494), // Float32() float32(0.2915732), // Float32() float32(0.59569645), // Float32() float32(0.99596655), // Float32() float32(0.4979039), // Float32() float32(0.98148686), // Float32() float32(0.01380035), // Float32() float32(0.086487144), // Float32() float32(0.6114401), // Float32() float32(0.71081316), // Float32() float32(0.6342346), // Float32() float32(0.008082573), // Float32() float32(0.33020085), // Float32() float32(0.032625034), // Float32() float32(0.9278005), // Float32() float32(0.34497985), // Float32() float32(0.66506875), // Float32() float64(0.797997151016231), // Float64() float64(0.7725961454373316), // Float64() float64(0.21894402538580782), // Float64() float64(0.9619449481780457), // Float64() float64(0.2915731877602916), // Float64() float64(0.5956964580775652), // Float64() float64(0.9959665347028619), // Float64() float64(0.49790390966591147), // Float64() float64(0.9814868602566785), // Float64() float64(0.013800350332924483), // Float64() float64(0.08648714463652596), // Float64() float64(0.6114401479210267), // Float64() float64(0.7108131531183706), // Float64() float64(0.6342346133706837), // Float64() float64(0.008082572853887138), // Float64() float64(0.3302008651926287), // Float64() float64(0.03262503454637655), // Float64() float64(0.9278004634858956), // Float64() float64(0.3449798628384906), // Float64() float64(0.665068719316529), // Float64() int64(5474557666971700975), // Int() int64(5591422465364813936), // Int() int64(74029666500212977), // Int() int64(8088122161323000979), // Int() int64(7298457654139700474), // Int() int64(1590632625527662686), // Int() int64(9052198920789078554), // Int() int64(7381380909356947872), // Int() int64(1738222704626512495), // Int() int64(3278744831230954970), // Int() int64(7062423222661652521), // Int() int64(6715870808026712034), // Int() int64(528819992478005418), // Int() int64(2284534088986354339), // Int() int64(945828723091990082), // Int() int64(3813019469742317492), // Int() int64(1369388146907482806), // Int() int64(7367238674766648970), // Int() int64(8217673022687244206), // Int() int64(3185531743396549562), // Int() int32(1711064216), // Int31() int32(650927245), // Int31() int32(8618187), // Int31() int32(941581344), // Int31() int32(1923394120), // Int31() int32(1258915833), // Int31() int32(1053814650), // Int31() int32(859305834), // Int31() int32(1276097579), // Int31() int32(1455437958), // Int31() int32(1895916096), // Int31() int32(781830261), // Int31() int32(61562749), // Int31() int32(265954771), // Int31() int32(1183850779), // Int31() int32(443893888), // Int31() int32(1233159585), // Int31() int32(857659461), // Int31() int32(956663049), // Int31() int32(370844703), // Int31() int32(0), // Int31n(1) int32(6), // Int31n(10) int32(17), // Int31n(32) int32(1000595), // Int31n(1048576) int32(424333), // Int31n(1048577) int32(382438494), // Int31n(1000000000) int32(902738458), // Int31n(1073741824) int32(1204933878), // Int31n(2147483646) int32(1376191263), // Int31n(2147483647) int32(0), // Int31n(1) int32(9), // Int31n(10) int32(2), // Int31n(32) int32(440490), // Int31n(1048576) int32(176312), // Int31n(1048577) int32(946765890), // Int31n(1000000000) int32(665034676), // Int31n(1073741824) int32(1947285452), // Int31n(2147483646) int32(1702344608), // Int31n(2147483647) int32(0), // Int31n(1) int32(2), // Int31n(10) int64(5474557666971700975), // Int63() int64(5591422465364813936), // Int63() int64(74029666500212977), // Int63() int64(8088122161323000979), // Int63() int64(7298457654139700474), // Int63() int64(1590632625527662686), // Int63() int64(9052198920789078554), // Int63() int64(7381380909356947872), // Int63() int64(1738222704626512495), // Int63() int64(3278744831230954970), // Int63() int64(7062423222661652521), // Int63() int64(6715870808026712034), // Int63() int64(528819992478005418), // Int63() int64(2284534088986354339), // Int63() int64(945828723091990082), // Int63() int64(3813019469742317492), // Int63() int64(1369388146907482806), // Int63() int64(7367238674766648970), // Int63() int64(8217673022687244206), // Int63() int64(3185531743396549562), // Int63() int64(0), // Int63n(1) int64(6), // Int63n(10) int64(17), // Int63n(32) int64(1000595), // Int63n(1048576) int64(424333), // Int63n(1048577) int64(382438494), // Int63n(1000000000) int64(902738458), // Int63n(1073741824) int64(1204933878), // Int63n(2147483646) int64(1376191263), // Int63n(2147483647) int64(502116868085730778), // Int63n(1000000000000000000) int64(144894195020570665), // Int63n(1152921504606846976) int64(6715870808026712034), // Int63n(9223372036854775806) int64(528819992478005418), // Int63n(9223372036854775807) int64(0), // Int63n(1) int64(0), // Int63n(10) int64(20), // Int63n(32) int64(854710), // Int63n(1048576) int64(649893), // Int63n(1048577) int64(687244206), // Int63n(1000000000) int64(836883386), // Int63n(1073741824) int64(0), // Intn(1) int64(6), // Intn(10) int64(17), // Intn(32) int64(1000595), // Intn(1048576) int64(424333), // Intn(1048577) int64(382438494), // Intn(1000000000) int64(902738458), // Intn(1073741824) int64(1204933878), // Intn(2147483646) int64(1376191263), // Intn(2147483647) int64(502116868085730778), // Intn(1000000000000000000) int64(144894195020570665), // Intn(1152921504606846976) int64(6715870808026712034), // Intn(9223372036854775806) int64(528819992478005418), // Intn(9223372036854775807) int64(0), // Intn(1) int64(0), // Intn(10) int64(20), // Intn(32) int64(854710), // Intn(1048576) int64(649893), // Intn(1048577) int64(687244206), // Intn(1000000000) int64(836883386), // Intn(1073741824) float64(-0.5410658516792047), // NormFloat64() float64(0.615296849055287), // NormFloat64() float64(0.007477442280032887), // NormFloat64() float64(1.3443892057169684), // NormFloat64() float64(-0.17508902754863512), // NormFloat64() float64(-2.03494397556937), // NormFloat64() float64(2.5213558871972306), // NormFloat64() float64(1.4572921639613627), // NormFloat64() float64(-1.5164961164210644), // NormFloat64() float64(-0.4861150771891445), // NormFloat64() float64(-0.8699409548614199), // NormFloat64() float64(1.6271559815452794), // NormFloat64() float64(0.1659465769926195), // NormFloat64() float64(0.2921716191987018), // NormFloat64() float64(-1.2550269636927838), // NormFloat64() float64(0.11257973349467548), // NormFloat64() float64(0.5437525915836436), // NormFloat64() float64(0.781754430770282), // NormFloat64() float64(0.5201256313962235), // NormFloat64() float64(1.3826174159276245), // NormFloat64() []int{}, // Perm(0) []int{0}, // Perm(1) []int{0, 2, 3, 1, 4}, // Perm(5) []int{5, 6, 3, 7, 4, 2, 0, 1}, // Perm(8) []int{8, 4, 5, 2, 7, 3, 0, 6, 1}, // Perm(9) []int{6, 1, 5, 3, 2, 9, 7, 0, 8, 4}, // Perm(10) []int{12, 5, 1, 9, 15, 7, 13, 6, 10, 11, 8, 0, 4, 2, 14, 3}, // Perm(16) []int{}, // Perm(0) []int{0}, // Perm(1) []int{0, 2, 3, 4, 1}, // Perm(5) []int{3, 2, 7, 4, 0, 6, 5, 1}, // Perm(8) []int{0, 6, 2, 1, 3, 7, 5, 8, 4}, // Perm(9) []int{2, 5, 6, 4, 7, 3, 0, 8, 1, 9}, // Perm(10) []int{3, 6, 5, 4, 9, 15, 13, 7, 1, 11, 10, 8, 12, 0, 2, 14}, // Perm(16) []int{}, // Perm(0) []int{0}, // Perm(1) []int{2, 4, 3, 1, 0}, // Perm(5) []int{1, 6, 7, 5, 4, 3, 2, 0}, // Perm(8) []int{7, 6, 8, 2, 0, 1, 3, 4, 5}, // Perm(9) []int{2, 9, 7, 1, 5, 4, 0, 6, 8, 3}, // Perm(10) []byte{0xef}, // Read([0]) []byte{0x4e, 0x3d, 0x52, 0x31, 0x89, 0xf9, 0xcb}, // Read([0 0 0 0 0 0 0]) []byte{0x70, 0x68, 0x35, 0x8d, 0x1b, 0xb9, 0x98, 0x4d}, // Read([0 0 0 0 0 0 0 0]) []byte{0xf1, 0xf8, 0x95, 0xe6, 0x96, 0x1, 0x7, 0x1, 0x93}, // Read([0 0 0 0 0 0 0 0 0]) []byte{0x44, 0x9f, 0xc5, 0x40, 0xc8, 0x3e, 0x70, 0xfa, 0x44, 0x3a}, // Read([0 0 0 0 0 0 0 0 0 0]) []byte{0x4b}, // Read([0]) []byte{0x91, 0x54, 0x49, 0xe5, 0x5e, 0x28, 0xb9}, // Read([0 0 0 0 0 0 0]) []byte{0x4, 0xf2, 0xf, 0x13, 0x96, 0x1a, 0xb2, 0xce}, // Read([0 0 0 0 0 0 0 0]) []byte{0x35, 0xf5, 0xde, 0x9f, 0x7d, 0xa0, 0x19, 0x12, 0x2e}, // Read([0 0 0 0 0 0 0 0 0]) []byte{0xd4, 0xee, 0x6f, 0x66, 0x6f, 0x32, 0xc8, 0x21, 0x57, 0x68}, // Read([0 0 0 0 0 0 0 0 0 0]) []byte{0x1f}, // Read([0]) []byte{0x98, 0xda, 0x4d, 0xab, 0x6e, 0xd, 0x71}, // Read([0 0 0 0 0 0 0]) []byte{0x80, 0xad, 0x29, 0xa0, 0x37, 0xb0, 0x80, 0xc4}, // Read([0 0 0 0 0 0 0 0]) []byte{0x2, 0xe2, 0xe2, 0x7, 0xd9, 0xed, 0xea, 0x90, 0x33}, // Read([0 0 0 0 0 0 0 0 0]) []byte{0x5d, 0xaa, 0xb8, 0xc6, 0x39, 0xfb, 0xbe, 0x56, 0x7, 0xa3}, // Read([0 0 0 0 0 0 0 0 0 0]) []byte{0x62}, // Read([0]) []byte{0x4d, 0x63, 0xa6, 0x4b, 0xb4, 0x1f, 0x42}, // Read([0 0 0 0 0 0 0]) []byte{0x66, 0x42, 0x62, 0x36, 0x42, 0x20, 0x8d, 0xb4}, // Read([0 0 0 0 0 0 0 0]) []byte{0x9f, 0xa3, 0x67, 0x1, 0x91, 0xea, 0x34, 0xb6, 0xa}, // Read([0 0 0 0 0 0 0 0 0]) []byte{0xd, 0xa8, 0x43, 0xb, 0x1, 0x93, 0x8a, 0x56, 0xfc, 0x98}, // Read([0 0 0 0 0 0 0 0 0 0]) uint32(3422128433), // Uint32() uint32(1301854491), // Uint32() uint32(17236374), // Uint32() uint32(1883162688), // Uint32() uint32(3846788241), // Uint32() uint32(2517831666), // Uint32() uint32(2107629301), // Uint32() uint32(1718611668), // Uint32() uint32(2552195159), // Uint32() uint32(2910875917), // Uint32() uint32(3791832192), // Uint32() uint32(1563660522), // Uint32() uint32(123125499), // Uint32() uint32(531909542), // Uint32() uint32(2367701558), // Uint32() uint32(887787777), // Uint32() uint32(2466319171), // Uint32() uint32(1715318922), // Uint32() uint32(1913326099), // Uint32() uint32(741689406), // Uint32() uint64(14697929703826476783), // Uint64() uint64(5591422465364813936), // Uint64() uint64(74029666500212977), // Uint64() uint64(8088122161323000979), // Uint64() uint64(16521829690994476282), // Uint64() uint64(10814004662382438494), // Uint64() uint64(9052198920789078554), // Uint64() uint64(7381380909356947872), // Uint64() uint64(10961594741481288303), // Uint64() uint64(12502116868085730778), // Uint64() uint64(16285795259516428329), // Uint64() uint64(6715870808026712034), // Uint64() uint64(528819992478005418), // Uint64() uint64(2284534088986354339), // Uint64() uint64(10169200759946765890), // Uint64() uint64(3813019469742317492), // Uint64() uint64(10592760183762258614), // Uint64() uint64(7367238674766648970), // Uint64() uint64(8217673022687244206), // Uint64() uint64(3185531743396549562), // Uint64() uint64(0), // Uint64n(1) uint64(6), // Uint64n(10) uint64(17), // Uint64n(32) uint64(1000595), // Uint64n(1048576) uint64(424333), // Uint64n(1048577) uint64(382438494), // Uint64n(1000000000) uint64(902738458), // Uint64n(1073741824) uint64(1204933878), // Uint64n(2147483646) uint64(1376191263), // Uint64n(2147483647) uint64(502116868085730778), // Uint64n(1000000000000000000) uint64(144894195020570665), // Uint64n(1152921504606846976) uint64(6715870808026712034), // Uint64n(18446744073709551614) uint64(528819992478005418), // Uint64n(18446744073709551615) uint64(0), // Uint64n(1) uint64(0), // Uint64n(10) uint64(20), // Uint64n(32) uint64(854710), // Uint64n(1048576) uint64(649893), // Uint64n(1048577) uint64(687244206), // Uint64n(1000000000) uint64(836883386), // Uint64n(1073741824) } dependencies/pkg/mod/golang.org/x/exp@v0.0.0-20240506185415-9bf2ced13842/rand/rand_test.go0000644000000000000000000003457415107355263026174 0ustar rootroot// 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 rand import ( "bytes" "errors" "fmt" "io" "math" "os" "runtime" "testing" "testing/iotest" "time" ) const ( numTestSamples = 10000 ) type statsResults struct { mean float64 stddev float64 closeEnough float64 maxError float64 } func max(a, b float64) float64 { if a > b { return a } return b } func nearEqual(a, b, closeEnough, maxError float64) bool { absDiff := math.Abs(a - b) if absDiff < closeEnough { // Necessary when one value is zero and one value is close to zero. return true } return absDiff/max(math.Abs(a), math.Abs(b)) < maxError } var testSeeds = []uint64{1, 1754801282, 1698661970, 1550503961} // checkSimilarDistribution returns success if the mean and stddev of the // two statsResults are similar. func (this *statsResults) checkSimilarDistribution(expected *statsResults) error { if !nearEqual(this.mean, expected.mean, expected.closeEnough, expected.maxError) { s := fmt.Sprintf("mean %v != %v (allowed error %v, %v)", this.mean, expected.mean, expected.closeEnough, expected.maxError) fmt.Println(s) return errors.New(s) } if !nearEqual(this.stddev, expected.stddev, 0, expected.maxError) { s := fmt.Sprintf("stddev %v != %v (allowed error %v, %v)", this.stddev, expected.stddev, expected.closeEnough, expected.maxError) fmt.Println(s) return errors.New(s) } return nil } func getStatsResults(samples []float64) *statsResults { res := new(statsResults) var sum, squaresum float64 for _, s := range samples { sum += s squaresum += s * s } res.mean = sum / float64(len(samples)) res.stddev = math.Sqrt(squaresum/float64(len(samples)) - res.mean*res.mean) return res } func checkSampleDistribution(t *testing.T, samples []float64, expected *statsResults) { t.Helper() actual := getStatsResults(samples) err := actual.checkSimilarDistribution(expected) if err != nil { t.Errorf(err.Error()) } } func checkSampleSliceDistributions(t *testing.T, samples []float64, nslices int, expected *statsResults) { t.Helper() chunk := len(samples) / nslices for i := 0; i < nslices; i++ { low := i * chunk var high int if i == nslices-1 { high = len(samples) - 1 } else { high = (i + 1) * chunk } checkSampleDistribution(t, samples[low:high], expected) } } // // Normal distribution tests // func generateNormalSamples(nsamples int, mean, stddev float64, seed uint64) []float64 { r := New(NewSource(seed)) samples := make([]float64, nsamples) for i := range samples { samples[i] = r.NormFloat64()*stddev + mean } return samples } func testNormalDistribution(t *testing.T, nsamples int, mean, stddev float64, seed uint64) { //fmt.Printf("testing nsamples=%v mean=%v stddev=%v seed=%v\n", nsamples, mean, stddev, seed); samples := generateNormalSamples(nsamples, mean, stddev, seed) errorScale := max(1.0, stddev) // Error scales with stddev expected := &statsResults{mean, stddev, 0.10 * errorScale, 0.08 * errorScale} // Make sure that the entire set matches the expected distribution. checkSampleDistribution(t, samples, expected) // Make sure that each half of the set matches the expected distribution. checkSampleSliceDistributions(t, samples, 2, expected) // Make sure that each 7th of the set matches the expected distribution. checkSampleSliceDistributions(t, samples, 7, expected) } // Actual tests func TestStandardNormalValues(t *testing.T) { for _, seed := range testSeeds { testNormalDistribution(t, numTestSamples, 0, 1, seed) } } func TestNonStandardNormalValues(t *testing.T) { sdmax := 1000.0 mmax := 1000.0 if testing.Short() { sdmax = 5 mmax = 5 } for sd := 0.5; sd < sdmax; sd *= 2 { for m := 0.5; m < mmax; m *= 2 { for _, seed := range testSeeds { testNormalDistribution(t, numTestSamples, m, sd, seed) if testing.Short() { break } } } } } // // Exponential distribution tests // func generateExponentialSamples(nsamples int, rate float64, seed uint64) []float64 { r := New(NewSource(seed)) samples := make([]float64, nsamples) for i := range samples { samples[i] = r.ExpFloat64() / rate } return samples } func testExponentialDistribution(t *testing.T, nsamples int, rate float64, seed uint64) { //fmt.Printf("testing nsamples=%v rate=%v seed=%v\n", nsamples, rate, seed) mean := 1 / rate stddev := mean samples := generateExponentialSamples(nsamples, rate, seed) errorScale := max(1.0, 1/rate) // Error scales with the inverse of the rate expected := &statsResults{mean, stddev, 0.10 * errorScale, 0.20 * errorScale} // Make sure that the entire set matches the expected distribution. checkSampleDistribution(t, samples, expected) // Make sure that each half of the set matches the expected distribution. checkSampleSliceDistributions(t, samples, 2, expected) // Make sure that each 7th of the set matches the expected distribution. checkSampleSliceDistributions(t, samples, 7, expected) } // Actual tests func TestStandardExponentialValues(t *testing.T) { for _, seed := range testSeeds { testExponentialDistribution(t, numTestSamples, 1, seed) } } func TestNonStandardExponentialValues(t *testing.T) { for rate := 0.05; rate < 10; rate *= 2 { for _, seed := range testSeeds { testExponentialDistribution(t, numTestSamples, rate, seed) if testing.Short() { break } } } } // // Table generation tests // func initNorm() (testKn []uint32, testWn, testFn []float32) { const m1 = 1 << 31 var ( dn float64 = rn tn = dn vn float64 = 9.91256303526217e-3 ) testKn = make([]uint32, 128) testWn = make([]float32, 128) testFn = make([]float32, 128) q := vn / math.Exp(-0.5*dn*dn) testKn[0] = uint32((dn / q) * m1) testKn[1] = 0 testWn[0] = float32(q / m1) testWn[127] = float32(dn / m1) testFn[0] = 1.0 testFn[127] = float32(math.Exp(-0.5 * dn * dn)) for i := 126; i >= 1; i-- { dn = math.Sqrt(-2.0 * math.Log(vn/dn+math.Exp(-0.5*dn*dn))) testKn[i+1] = uint32((dn / tn) * m1) tn = dn testFn[i] = float32(math.Exp(-0.5 * dn * dn)) testWn[i] = float32(dn / m1) } return } func initExp() (testKe []uint32, testWe, testFe []float32) { const m2 = 1 << 32 var ( de float64 = re te = de ve float64 = 3.9496598225815571993e-3 ) testKe = make([]uint32, 256) testWe = make([]float32, 256) testFe = make([]float32, 256) q := ve / math.Exp(-de) testKe[0] = uint32((de / q) * m2) testKe[1] = 0 testWe[0] = float32(q / m2) testWe[255] = float32(de / m2) testFe[0] = 1.0 testFe[255] = float32(math.Exp(-de)) for i := 254; i >= 1; i-- { de = -math.Log(ve/de + math.Exp(-de)) testKe[i+1] = uint32((de / te) * m2) te = de testFe[i] = float32(math.Exp(-de)) testWe[i] = float32(de / m2) } return } // compareUint32Slices returns the first index where the two slices // disagree, or <0 if the lengths are the same and all elements // are identical. func compareUint32Slices(s1, s2 []uint32) int { if len(s1) != len(s2) { if len(s1) > len(s2) { return len(s2) + 1 } return len(s1) + 1 } for i := range s1 { if s1[i] != s2[i] { return i } } return -1 } // compareFloat32Slices returns the first index where the two slices // disagree, or <0 if the lengths are the same and all elements // are identical. func compareFloat32Slices(s1, s2 []float32) int { if len(s1) != len(s2) { if len(s1) > len(s2) { return len(s2) + 1 } return len(s1) + 1 } for i := range s1 { if !nearEqual(float64(s1[i]), float64(s2[i]), 0, 1e-7) { return i } } return -1 } func TestNormTables(t *testing.T) { testKn, testWn, testFn := initNorm() if i := compareUint32Slices(kn[0:], testKn); i >= 0 { t.Errorf("kn disagrees at index %v; %v != %v", i, kn[i], testKn[i]) } if i := compareFloat32Slices(wn[0:], testWn); i >= 0 { t.Errorf("wn disagrees at index %v; %v != %v", i, wn[i], testWn[i]) } if i := compareFloat32Slices(fn[0:], testFn); i >= 0 { t.Errorf("fn disagrees at index %v; %v != %v", i, fn[i], testFn[i]) } } func TestExpTables(t *testing.T) { testKe, testWe, testFe := initExp() if i := compareUint32Slices(ke[0:], testKe); i >= 0 { t.Errorf("ke disagrees at index %v; %v != %v", i, ke[i], testKe[i]) } if i := compareFloat32Slices(we[0:], testWe); i >= 0 { t.Errorf("we disagrees at index %v; %v != %v", i, we[i], testWe[i]) } if i := compareFloat32Slices(fe[0:], testFe); i >= 0 { t.Errorf("fe disagrees at index %v; %v != %v", i, fe[i], testFe[i]) } } func hasSlowFloatingPoint() bool { switch runtime.GOARCH { case "arm": return os.Getenv("GOARM") == "5" case "mips", "mipsle", "mips64", "mips64le": // Be conservative and assume that all mips boards // have emulated floating point. // TODO: detect what it actually has. return true } return false } func TestFloat32(t *testing.T) { // For issue 6721, the problem came after 7533753 calls, so check 10e6. num := int(10e6) // But do the full amount only on builders (not locally). // But ARM5 floating point emulation is slow (Issue 10749), so // do less for that builder: if testing.Short() && hasSlowFloatingPoint() { // TODO: (testenv.Builder() == "" || hasSlowFloatingPoint()) num /= 100 // 1.72 seconds instead of 172 seconds } r := New(NewSource(1)) for ct := 0; ct < num; ct++ { f := r.Float32() if f >= 1 { t.Fatal("Float32() should be in range [0,1). ct:", ct, "f:", f) } } } func testReadUniformity(t *testing.T, n int, seed uint64) { r := New(NewSource(seed)) buf := make([]byte, n) nRead, err := r.Read(buf) if err != nil { t.Errorf("Read err %v", err) } if nRead != n { t.Errorf("Read returned unexpected n; %d != %d", nRead, n) } // Expect a uniform distribution of byte values, which lie in [0, 255]. var ( mean = 255.0 / 2 stddev = 256.0 / math.Sqrt(12.0) errorScale = stddev / math.Sqrt(float64(n)) ) expected := &statsResults{mean, stddev, 0.10 * errorScale, 0.08 * errorScale} // Cast bytes as floats to use the common distribution-validity checks. samples := make([]float64, n) for i, val := range buf { samples[i] = float64(val) } // Make sure that the entire set matches the expected distribution. checkSampleDistribution(t, samples, expected) } func TestReadUniformity(t *testing.T) { testBufferSizes := []int{ 2, 4, 7, 64, 1024, 1 << 16, 1 << 20, } for _, seed := range testSeeds { for _, n := range testBufferSizes { testReadUniformity(t, n, seed) } } } func TestReadEmpty(t *testing.T) { r := New(NewSource(1)) buf := make([]byte, 0) n, err := r.Read(buf) if err != nil { t.Errorf("Read err into empty buffer; %v", err) } if n != 0 { t.Errorf("Read into empty buffer returned unexpected n of %d", n) } } func TestReadByOneByte(t *testing.T) { r := New(NewSource(1)) b1 := make([]byte, 100) _, err := io.ReadFull(iotest.OneByteReader(r), b1) if err != nil { t.Errorf("read by one byte: %v", err) } r = New(NewSource(1)) b2 := make([]byte, 100) _, err = r.Read(b2) if err != nil { t.Errorf("read: %v", err) } if !bytes.Equal(b1, b2) { t.Errorf("read by one byte vs single read:\n%x\n%x", b1, b2) } } func TestReadSeedReset(t *testing.T) { r := New(NewSource(42)) b1 := make([]byte, 128) _, err := r.Read(b1) if err != nil { t.Errorf("read: %v", err) } r.Seed(42) b2 := make([]byte, 128) _, err = r.Read(b2) if err != nil { t.Errorf("read: %v", err) } if !bytes.Equal(b1, b2) { t.Errorf("mismatch after re-seed:\n%x\n%x", b1, b2) } } func TestShuffleSmall(t *testing.T) { // Check that Shuffle allows n=0 and n=1, but that swap is never called for them. r := New(NewSource(1)) for n := 0; n <= 1; n++ { r.Shuffle(n, func(i, j int) { t.Fatalf("swap called, n=%d i=%d j=%d", n, i, j) }) } } func TestPCGSourceRoundTrip(t *testing.T) { var src PCGSource src.Seed(uint64(time.Now().Unix())) src.Uint64() // Step PRNG once to makes sure high and low are different. buf, err := src.MarshalBinary() if err != nil { t.Errorf("unexpected error marshaling state: %v", err) } var dst PCGSource // Get dst into a non-zero state. dst.Seed(1) for i := 0; i < 10; i++ { dst.Uint64() } err = dst.UnmarshalBinary(buf) if err != nil { t.Errorf("unexpected error unmarshaling state: %v", err) } if dst != src { t.Errorf("mismatch between generator states: got:%+v want:%+v", dst, src) } } // Benchmarks func BenchmarkSource(b *testing.B) { rng := NewSource(0) for n := b.N; n > 0; n-- { rng.Uint64() } } func BenchmarkInt63Threadsafe(b *testing.B) { for n := b.N; n > 0; n-- { Int63() } } func BenchmarkInt63ThreadsafeParallel(b *testing.B) { b.RunParallel(func(pb *testing.PB) { for pb.Next() { Int63() } }) } func BenchmarkInt63Unthreadsafe(b *testing.B) { r := New(NewSource(1)) for n := b.N; n > 0; n-- { r.Int63() } } func BenchmarkIntn1000(b *testing.B) { r := New(NewSource(1)) for n := b.N; n > 0; n-- { r.Intn(1000) } } func BenchmarkInt63n1000(b *testing.B) { r := New(NewSource(1)) for n := b.N; n > 0; n-- { r.Int63n(1000) } } func BenchmarkInt31n1000(b *testing.B) { r := New(NewSource(1)) for n := b.N; n > 0; n-- { r.Int31n(1000) } } func BenchmarkFloat32(b *testing.B) { r := New(NewSource(1)) for n := b.N; n > 0; n-- { r.Float32() } } func BenchmarkFloat64(b *testing.B) { r := New(NewSource(1)) for n := b.N; n > 0; n-- { r.Float64() } } func BenchmarkPerm3(b *testing.B) { r := New(NewSource(1)) for n := b.N; n > 0; n-- { r.Perm(3) } } func BenchmarkPerm30(b *testing.B) { r := New(NewSource(1)) for n := b.N; n > 0; n-- { r.Perm(30) } } func BenchmarkPerm30ViaShuffle(b *testing.B) { r := New(NewSource(1)) for n := b.N; n > 0; n-- { p := make([]int, 30) for i := range p { p[i] = i } r.Shuffle(30, func(i, j int) { p[i], p[j] = p[j], p[i] }) } } // BenchmarkShuffleOverhead uses a minimal swap function // to measure just the shuffling overhead. func BenchmarkShuffleOverhead(b *testing.B) { r := New(NewSource(1)) for n := b.N; n > 0; n-- { r.Shuffle(52, func(i, j int) { if i < 0 || i >= 52 || j < 0 || j >= 52 { b.Fatalf("bad swap(%d, %d)", i, j) } }) } } func BenchmarkRead3(b *testing.B) { r := New(NewSource(1)) buf := make([]byte, 3) b.ResetTimer() for n := b.N; n > 0; n-- { r.Read(buf) } } func BenchmarkRead64(b *testing.B) { r := New(NewSource(1)) buf := make([]byte, 64) b.ResetTimer() for n := b.N; n > 0; n-- { r.Read(buf) } } func BenchmarkRead1000(b *testing.B) { r := New(NewSource(1)) buf := make([]byte, 1000) b.ResetTimer() for n := b.N; n > 0; n-- { r.Read(buf) } } dependencies/pkg/mod/golang.org/x/exp@v0.0.0-20240506185415-9bf2ced13842/rand/rand.go0000644000000000000000000002772215107355263025132 0ustar rootroot// 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 rand implements pseudo-random number generators. // // Random numbers are generated by a Source. Top-level functions, such as // Float64 and Int, use a default shared Source that produces a deterministic // sequence of values each time a program is run. Use the Seed function to // initialize the default Source if different behavior is required for each run. // The default Source, a LockedSource, is safe for concurrent use by multiple // goroutines, but Sources created by NewSource are not. However, Sources are small // and it is reasonable to have a separate Source for each goroutine, seeded // differently, to avoid locking. // // For random numbers suitable for security-sensitive work, see the crypto/rand // package. package rand import "sync" // A Source represents a source of uniformly-distributed // pseudo-random int64 values in the range [0, 1<<64). type Source interface { Uint64() uint64 Seed(seed uint64) } // NewSource returns a new pseudo-random Source seeded with the given value. func NewSource(seed uint64) Source { var rng PCGSource rng.Seed(seed) return &rng } // A Rand is a source of random numbers. type Rand struct { src Source // readVal contains remainder of 64-bit integer used for bytes // generation during most recent Read call. // It is saved so next Read call can start where the previous // one finished. readVal uint64 // readPos indicates the number of low-order bytes of readVal // that are still valid. readPos int8 } // New returns a new Rand that uses random values from src // to generate other random values. func New(src Source) *Rand { return &Rand{src: src} } // Seed uses the provided seed value to initialize the generator to a deterministic state. // Seed should not be called concurrently with any other Rand method. func (r *Rand) Seed(seed uint64) { if lk, ok := r.src.(*LockedSource); ok { lk.seedPos(seed, &r.readPos) return } r.src.Seed(seed) r.readPos = 0 } // Uint64 returns a pseudo-random 64-bit integer as a uint64. func (r *Rand) Uint64() uint64 { return r.src.Uint64() } // Int63 returns a non-negative pseudo-random 63-bit integer as an int64. func (r *Rand) Int63() int64 { return int64(r.src.Uint64() &^ (1 << 63)) } // Uint32 returns a pseudo-random 32-bit value as a uint32. func (r *Rand) Uint32() uint32 { return uint32(r.Uint64() >> 32) } // Int31 returns a non-negative pseudo-random 31-bit integer as an int32. func (r *Rand) Int31() int32 { return int32(r.Uint64() >> 33) } // Int returns a non-negative pseudo-random int. func (r *Rand) Int() int { u := uint(r.Uint64()) return int(u << 1 >> 1) // clear sign bit. } const maxUint64 = (1 << 64) - 1 // Uint64n returns, as a uint64, a pseudo-random number in [0,n). // It is guaranteed more uniform than taking a Source value mod n // for any n that is not a power of 2. func (r *Rand) Uint64n(n uint64) uint64 { if n&(n-1) == 0 { // n is power of two, can mask if n == 0 { panic("invalid argument to Uint64n") } return r.Uint64() & (n - 1) } // If n does not divide v, to avoid bias we must not use // a v that is within maxUint64%n of the top of the range. v := r.Uint64() if v > maxUint64-n { // Fast check. ceiling := maxUint64 - maxUint64%n for v >= ceiling { v = r.Uint64() } } return v % n } // Int63n returns, as an int64, a non-negative pseudo-random number in [0,n). // It panics if n <= 0. func (r *Rand) Int63n(n int64) int64 { if n <= 0 { panic("invalid argument to Int63n") } return int64(r.Uint64n(uint64(n))) } // Int31n returns, as an int32, a non-negative pseudo-random number in [0,n). // It panics if n <= 0. func (r *Rand) Int31n(n int32) int32 { if n <= 0 { panic("invalid argument to Int31n") } // TODO: Avoid some 64-bit ops to make it more efficient on 32-bit machines. return int32(r.Uint64n(uint64(n))) } // Intn returns, as an int, a non-negative pseudo-random number in [0,n). // It panics if n <= 0. func (r *Rand) Intn(n int) int { if n <= 0 { panic("invalid argument to Intn") } // TODO: Avoid some 64-bit ops to make it more efficient on 32-bit machines. return int(r.Uint64n(uint64(n))) } // Float64 returns, as a float64, a pseudo-random number in [0.0,1.0). func (r *Rand) Float64() float64 { // There is one bug in the value stream: r.Int63() may be so close // to 1<<63 that the division rounds up to 1.0, and we've guaranteed // that the result is always less than 1.0. // // We tried to fix this by mapping 1.0 back to 0.0, but since float64 // values near 0 are much denser than near 1, mapping 1 to 0 caused // a theoretically significant overshoot in the probability of returning 0. // Instead of that, if we round up to 1, just try again. // Getting 1 only happens 1/2⁵³ of the time, so most clients // will not observe it anyway. again: f := float64(r.Uint64n(1<<53)) / (1 << 53) if f == 1.0 { goto again // resample; this branch is taken O(never) } return f } // Float32 returns, as a float32, a pseudo-random number in [0.0,1.0). func (r *Rand) Float32() float32 { // We do not want to return 1.0. // This only happens 1/2²⁴ of the time (plus the 1/2⁵³ of the time in Float64). again: f := float32(r.Float64()) if f == 1 { goto again // resample; this branch is taken O(very rarely) } return f } // Perm returns, as a slice of n ints, a pseudo-random permutation of the integers [0,n). func (r *Rand) Perm(n int) []int { m := make([]int, n) // In the following loop, the iteration when i=0 always swaps m[0] with m[0]. // A change to remove this useless iteration is to assign 1 to i in the init // statement. But Perm also effects r. Making this change will affect // the final state of r. So this change can't be made for compatibility // reasons for Go 1. for i := 0; i < n; i++ { j := r.Intn(i + 1) m[i] = m[j] m[j] = i } return m } // Shuffle pseudo-randomizes the order of elements. // n is the number of elements. Shuffle panics if n < 0. // swap swaps the elements with indexes i and j. func (r *Rand) Shuffle(n int, swap func(i, j int)) { if n < 0 { panic("invalid argument to Shuffle") } // Fisher-Yates shuffle: https://en.wikipedia.org/wiki/Fisher%E2%80%93Yates_shuffle // Shuffle really ought not be called with n that doesn't fit in 32 bits. // Not only will it take a very long time, but with 2³¹! possible permutations, // there's no way that any PRNG can have a big enough internal state to // generate even a minuscule percentage of the possible permutations. // Nevertheless, the right API signature accepts an int n, so handle it as best we can. i := n - 1 for ; i > 1<<31-1-1; i-- { j := int(r.Int63n(int64(i + 1))) swap(i, j) } for ; i > 0; i-- { j := int(r.Int31n(int32(i + 1))) swap(i, j) } } // Read generates len(p) random bytes and writes them into p. It // always returns len(p) and a nil error. // Read should not be called concurrently with any other Rand method unless // the underlying source is a LockedSource. func (r *Rand) Read(p []byte) (n int, err error) { if lk, ok := r.src.(*LockedSource); ok { return lk.Read(p, &r.readVal, &r.readPos) } return read(p, r.src, &r.readVal, &r.readPos) } func read(p []byte, src Source, readVal *uint64, readPos *int8) (n int, err error) { pos := *readPos val := *readVal rng, _ := src.(*PCGSource) for n = 0; n < len(p); n++ { if pos == 0 { if rng != nil { val = rng.Uint64() } else { val = src.Uint64() } pos = 8 } p[n] = byte(val) val >>= 8 pos-- } *readPos = pos *readVal = val return } /* * Top-level convenience functions */ var globalRand = New(&LockedSource{src: *NewSource(1).(*PCGSource)}) // Type assert that globalRand's source is a LockedSource whose src is a PCGSource. var _ PCGSource = globalRand.src.(*LockedSource).src // Seed uses the provided seed value to initialize the default Source to a // deterministic state. If Seed is not called, the generator behaves as // if seeded by Seed(1). // Seed, unlike the Rand.Seed method, is safe for concurrent use. func Seed(seed uint64) { globalRand.Seed(seed) } // Int63 returns a non-negative pseudo-random 63-bit integer as an int64 // from the default Source. func Int63() int64 { return globalRand.Int63() } // Uint32 returns a pseudo-random 32-bit value as a uint32 // from the default Source. func Uint32() uint32 { return globalRand.Uint32() } // Uint64 returns a pseudo-random 64-bit value as a uint64 // from the default Source. func Uint64() uint64 { return globalRand.Uint64() } // Int31 returns a non-negative pseudo-random 31-bit integer as an int32 // from the default Source. func Int31() int32 { return globalRand.Int31() } // Int returns a non-negative pseudo-random int from the default Source. func Int() int { return globalRand.Int() } // Int63n returns, as an int64, a non-negative pseudo-random number in [0,n) // from the default Source. // It panics if n <= 0. func Int63n(n int64) int64 { return globalRand.Int63n(n) } // Int31n returns, as an int32, a non-negative pseudo-random number in [0,n) // from the default Source. // It panics if n <= 0. func Int31n(n int32) int32 { return globalRand.Int31n(n) } // Intn returns, as an int, a non-negative pseudo-random number in [0,n) // from the default Source. // It panics if n <= 0. func Intn(n int) int { return globalRand.Intn(n) } // Float64 returns, as a float64, a pseudo-random number in [0.0,1.0) // from the default Source. func Float64() float64 { return globalRand.Float64() } // Float32 returns, as a float32, a pseudo-random number in [0.0,1.0) // from the default Source. func Float32() float32 { return globalRand.Float32() } // Perm returns, as a slice of n ints, a pseudo-random permutation of the integers [0,n) // from the default Source. func Perm(n int) []int { return globalRand.Perm(n) } // Shuffle pseudo-randomizes the order of elements using the default Source. // n is the number of elements. Shuffle panics if n < 0. // swap swaps the elements with indexes i and j. func Shuffle(n int, swap func(i, j int)) { globalRand.Shuffle(n, swap) } // Read generates len(p) random bytes from the default Source and // writes them into p. It always returns len(p) and a nil error. // Read, unlike the Rand.Read method, is safe for concurrent use. func Read(p []byte) (n int, err error) { return globalRand.Read(p) } // NormFloat64 returns a normally distributed float64 in the range // [-math.MaxFloat64, +math.MaxFloat64] with // standard normal distribution (mean = 0, stddev = 1) // from the default Source. // To produce a different normal distribution, callers can // adjust the output using: // // sample = NormFloat64() * desiredStdDev + desiredMean func NormFloat64() float64 { return globalRand.NormFloat64() } // ExpFloat64 returns an exponentially distributed float64 in the range // (0, +math.MaxFloat64] with an exponential distribution whose rate parameter // (lambda) is 1 and whose mean is 1/lambda (1) from the default Source. // To produce a distribution with a different rate parameter, // callers can adjust the output using: // // sample = ExpFloat64() / desiredRateParameter func ExpFloat64() float64 { return globalRand.ExpFloat64() } // LockedSource is an implementation of Source that is concurrency-safe. // A Rand using a LockedSource is safe for concurrent use. // // The zero value of LockedSource is valid, but should be seeded before use. type LockedSource struct { lk sync.Mutex src PCGSource } func (s *LockedSource) Uint64() (n uint64) { s.lk.Lock() n = s.src.Uint64() s.lk.Unlock() return } func (s *LockedSource) Seed(seed uint64) { s.lk.Lock() s.src.Seed(seed) s.lk.Unlock() } // seedPos implements Seed for a LockedSource without a race condiiton. func (s *LockedSource) seedPos(seed uint64, readPos *int8) { s.lk.Lock() s.src.Seed(seed) *readPos = 0 s.lk.Unlock() } // Read implements Read for a LockedSource. func (s *LockedSource) Read(p []byte, readVal *uint64, readPos *int8) (n int, err error) { s.lk.Lock() n, err = read(p, &s.src, readVal, readPos) s.lk.Unlock() return } dependencies/pkg/mod/golang.org/x/exp@v0.0.0-20240506185415-9bf2ced13842/rand/race_test.go0000644000000000000000000000212615107355263026146 0ustar rootroot// 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. package rand import ( "sync" "testing" ) // TestConcurrent exercises the rand API concurrently, triggering situations // where the race detector is likely to detect issues. func TestConcurrent(t *testing.T) { const ( numRoutines = 10 numCycles = 10 ) var wg sync.WaitGroup defer wg.Wait() wg.Add(numRoutines) for i := 0; i < numRoutines; i++ { go func(i int) { defer wg.Done() buf := make([]byte, 997) for j := 0; j < numCycles; j++ { var seed uint64 seed += uint64(ExpFloat64()) seed += uint64(Float32()) seed += uint64(Float64()) seed += uint64(Intn(Int())) seed += uint64(Int31n(Int31())) seed += uint64(Int63n(Int63())) seed += uint64(NormFloat64()) seed += uint64(Uint32()) seed += uint64(Uint64()) for _, p := range Perm(10) { seed += uint64(p) } Read(buf) for _, b := range buf { seed += uint64(b) } Seed(uint64(i*j) * seed) } }(i) } } dependencies/pkg/mod/golang.org/x/exp@v0.0.0-20240506185415-9bf2ced13842/rand/example_test.go0000644000000000000000000001221515107355263026667 0ustar rootroot// 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 rand_test import ( "fmt" "os" "strings" "text/tabwriter" "golang.org/x/exp/rand" ) // These tests serve as an example but also make sure we don't change // the output of the random number generator when given a fixed seed. func Example() { rand.Seed(42) // Try changing this number! answers := []string{ "It is certain", "It is decidedly so", "Without a doubt", "Yes definitely", "You may rely on it", "As I see it yes", "Most likely", "Outlook good", "Yes", "Signs point to yes", "Reply hazy try again", "Ask again later", "Better not tell you now", "Cannot predict now", "Concentrate and ask again", "Don't count on it", "My reply is no", "My sources say no", "Outlook not so good", "Very doubtful", } fmt.Println("Magic 8-Ball says:", answers[rand.Intn(len(answers))]) // Output: Magic 8-Ball says: Most likely } // This example shows the use of each of the methods on a *Rand. // The use of the global functions is the same, without the receiver. func Example_rand() { // Create and seed the generator. // Typically a non-fixed seed should be used, such as time.Now().UnixNano(). // Using a fixed seed will produce the same output on every run. r := rand.New(rand.NewSource(1234)) // The tabwriter here helps us generate aligned output. w := tabwriter.NewWriter(os.Stdout, 1, 1, 1, ' ', 0) defer w.Flush() show := func(name string, v1, v2, v3 interface{}) { fmt.Fprintf(w, "%s\t%v\t%v\t%v\n", name, v1, v2, v3) } // Float32 and Float64 values are in [0, 1). show("Float32", r.Float32(), r.Float32(), r.Float32()) show("Float64", r.Float64(), r.Float64(), r.Float64()) // ExpFloat64 values have an average of 1 but decay exponentially. show("ExpFloat64", r.ExpFloat64(), r.ExpFloat64(), r.ExpFloat64()) // NormFloat64 values have an average of 0 and a standard deviation of 1. show("NormFloat64", r.NormFloat64(), r.NormFloat64(), r.NormFloat64()) // Int31, Int63, and Uint32 generate values of the given width. // The Int method (not shown) is like either Int31 or Int63 // depending on the size of 'int'. show("Int31", r.Int31(), r.Int31(), r.Int31()) show("Int63", r.Int63(), r.Int63(), r.Int63()) show("Uint32", r.Uint32(), r.Uint32(), r.Uint32()) show("Uint64", r.Uint64(), r.Uint64(), r.Uint64()) // Intn, Int31n, Int63n and Uint64n limit their output to be < n. // They do so more carefully than using r.Int()%n. show("Intn(10)", r.Intn(10), r.Intn(10), r.Intn(10)) show("Int31n(10)", r.Int31n(10), r.Int31n(10), r.Int31n(10)) show("Int63n(10)", r.Int63n(10), r.Int63n(10), r.Int63n(10)) show("Uint64n(10)", r.Uint64n(10), r.Uint64n(10), r.Uint64n(10)) // Perm generates a random permutation of the numbers [0, n). show("Perm", r.Perm(5), r.Perm(5), r.Perm(5)) // Output: // Float32 0.030719291 0.47512934 0.031019364 // Float64 0.6906635660087743 0.9898818576905045 0.2683634639782333 // ExpFloat64 1.24979080914592 0.3451975160045876 0.5456817760595064 // NormFloat64 0.879221333732727 -0.01508980368383761 -1.962250558270421 // Int31 2043816560 1870670250 1334960143 // Int63 7860766611810691572 1466711535823962239 3836585920276818709 // Uint32 2051241581 751073909 1353986074 // Uint64 10802154207635843641 14398820303406316826 11052107950969057042 // Intn(10) 3 0 1 // Int31n(10) 3 8 1 // Int63n(10) 4 6 0 // Uint64n(10) 2 9 4 // Perm [1 3 4 0 2] [2 4 0 3 1] [3 2 0 4 1] } func ExampleShuffle() { words := strings.Fields("ink runs from the corners of my mouth") rand.Shuffle(len(words), func(i, j int) { words[i], words[j] = words[j], words[i] }) fmt.Println(words) // Output: // [ink corners of from mouth runs the my] } func ExampleShuffle_slicesInUnison() { numbers := []byte("12345") letters := []byte("ABCDE") // Shuffle numbers, swapping corresponding entries in letters at the same time. rand.Shuffle(len(numbers), func(i, j int) { numbers[i], numbers[j] = numbers[j], numbers[i] letters[i], letters[j] = letters[j], letters[i] }) for i := range numbers { fmt.Printf("%c: %c\n", letters[i], numbers[i]) } // Output: // D: 4 // A: 1 // E: 5 // B: 2 // C: 3 } func ExampleLockedSource() { r := rand.New(new(rand.LockedSource)) r.Seed(42) // Try changing this number! answers := []string{ "It is certain", "It is decidedly so", "Without a doubt", "Yes definitely", "You may rely on it", "As I see it yes", "Most likely", "Outlook good", "Yes", "Signs point to yes", "Reply hazy try again", "Ask again later", "Better not tell you now", "Cannot predict now", "Concentrate and ask again", "Don't count on it", "My reply is no", "My sources say no", "Outlook not so good", "Very doubtful", } fmt.Println("Magic 8-Ball says:", answers[r.Intn(len(answers))]) // Output: Magic 8-Ball says: Most likely } dependencies/pkg/mod/golang.org/x/exp@v0.0.0-20240506185415-9bf2ced13842/rand/arith128_test.go0000644000000000000000000000546015107355263026602 0ustar rootroot// Copyright 2017 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 rand import ( "math/big" "math/rand" "testing" ) var bigMaxUint64 = big.NewInt(0).SetUint64(maxUint64) func bigInt(xHi, xLo uint64) *big.Int { b := big.NewInt(0).SetUint64(xHi) b.Lsh(b, 64) b.Or(b, big.NewInt(0).SetUint64(xLo)) return b } func splitBigInt(b *big.Int) (outHi, outLo uint64) { outHi = big.NewInt(0).Rsh(b, 64).Uint64() outLo = big.NewInt(0).And(b, bigMaxUint64).Uint64() return } func bigMulMod128bits(xHi, xLo, yHi, yLo uint64) (outHi, outLo uint64) { bigX := bigInt(xHi, xLo) bigY := bigInt(yHi, yLo) return splitBigInt(bigX.Mul(bigX, bigY)) } func bigAddMod128bits(xHi, xLo, yHi, yLo uint64) (outHi, outLo uint64) { bigX := bigInt(xHi, xLo) bigY := bigInt(yHi, yLo) return splitBigInt(bigX.Add(bigX, bigY)) } type arithTest struct { xHi, xLo uint64 } const ( iLo = increment & maxUint64 iHi = (increment >> 64) & maxUint64 ) var arithTests = []arithTest{ {0, 0}, {0, 1}, {1, 0}, {0, maxUint64}, {maxUint64, 0}, {maxUint64, maxUint64}, // Randomly generated 64-bit integers. {3757956613005209672, 17983933746665545631}, {511324141977587414, 5626651684620191081}, {1534313104606153588, 2415006486399353367}, {6873586429837825902, 13854394671140464137}, {6617134480561088940, 18421520694158684312}, } func TestPCGAdd(t *testing.T) { for i, test := range arithTests { p := &PCGSource{ low: test.xLo, high: test.xHi, } p.add() expectHi, expectLo := bigAddMod128bits(test.xHi, test.xLo, iHi, iLo) if p.low != expectLo || p.high != expectHi { t.Errorf("%d: got hi=%d lo=%d; expect hi=%d lo=%d", i, p.high, p.low, expectHi, expectLo) } } } const ( mLo = multiplier & maxUint64 mHi = (multiplier >> 64) & maxUint64 ) func TestPCGMultiply(t *testing.T) { for i, test := range arithTests { p := &PCGSource{ low: test.xLo, high: test.xHi, } p.multiply() expectHi, expectLo := bigMulMod128bits(test.xHi, test.xLo, mHi, mLo) if p.low != expectLo || p.high != expectHi { t.Errorf("%d: got hi=%d lo=%d; expect hi=%d lo=%d", i, p.high, p.low, expectHi, expectLo) } } } func TestPCGMultiplyLong(t *testing.T) { if testing.Short() { return } for i := 0; i < 1e6; i++ { low := rand.Uint64() high := rand.Uint64() p := &PCGSource{ low: low, high: high, } p.multiply() expectHi, expectLo := bigMulMod128bits(high, low, mHi, mLo) if p.low != expectLo || p.high != expectHi { t.Fatalf("%d: (%d,%d): got hi=%d lo=%d; expect hi=%d lo=%d", i, high, low, p.high, p.low, expectHi, expectLo) } } } func BenchmarkPCGMultiply(b *testing.B) { low := rand.Uint64() high := rand.Uint64() p := &PCGSource{ low: low, high: high, } for i := 0; i < b.N; i++ { p.multiply() } } dependencies/pkg/mod/golang.org/x/exp@v0.0.0-20240506185415-9bf2ced13842/mmap/0000755000000000000000000000000015107355263023653 5ustar rootrootdependencies/pkg/mod/golang.org/x/exp@v0.0.0-20240506185415-9bf2ced13842/mmap/mmap_windows.go0000644000000000000000000000631715107355263026715 0ustar rootroot// 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 mmap provides a way to memory-map a file. package mmap import ( "errors" "fmt" "io" "os" "runtime" "syscall" "unsafe" ) // debug is whether to print debugging messages for manual testing. // // The runtime.SetFinalizer documentation says that, "The finalizer for x is // scheduled to run at some arbitrary time after x becomes unreachable. There // is no guarantee that finalizers will run before a program exits", so we // cannot automatically test that the finalizer runs. Instead, set this to true // when running the manual test. const debug = false // ReaderAt reads a memory-mapped file. // // Like any io.ReaderAt, clients can execute parallel ReadAt calls, but it is // not safe to call Close and reading methods concurrently. type ReaderAt struct { data []byte } // Close closes the reader. func (r *ReaderAt) Close() error { if r.data == nil { return nil } else if len(r.data) == 0 { r.data = nil return nil } data := r.data r.data = nil if debug { var p *byte if len(data) != 0 { p = &data[0] } println("munmap", r, p) } runtime.SetFinalizer(r, nil) return syscall.UnmapViewOfFile(uintptr(unsafe.Pointer(&data[0]))) } // Len returns the length of the underlying memory-mapped file. func (r *ReaderAt) Len() int { return len(r.data) } // At returns the byte at index i. func (r *ReaderAt) At(i int) byte { return r.data[i] } // ReadAt implements the io.ReaderAt interface. func (r *ReaderAt) ReadAt(p []byte, off int64) (int, error) { if r.data == nil { return 0, errors.New("mmap: closed") } if off < 0 || int64(len(r.data)) < off { return 0, fmt.Errorf("mmap: invalid ReadAt offset %d", off) } n := copy(p, r.data[off:]) if n < len(p) { return n, io.EOF } return n, nil } // Open memory-maps the named file for reading. func Open(filename string) (*ReaderAt, error) { f, err := os.Open(filename) if err != nil { return nil, err } defer f.Close() fi, err := f.Stat() if err != nil { return nil, err } size := fi.Size() if size == 0 { // Treat (size == 0) as a special case, avoiding the syscall, to be // consistent with mmap_unix.go. // // As we do not call syscall.MapViewOfFile, there is no need to call // runtime.SetFinalizer to enforce a balancing syscall.UnmapViewOfFile. return &ReaderAt{ data: make([]byte, 0), }, nil } if size < 0 { return nil, fmt.Errorf("mmap: file %q has negative size", filename) } if size != int64(int(size)) { return nil, fmt.Errorf("mmap: file %q is too large", filename) } low, high := uint32(size), uint32(size>>32) fmap, err := syscall.CreateFileMapping(syscall.Handle(f.Fd()), nil, syscall.PAGE_READONLY, high, low, nil) if err != nil { return nil, err } defer syscall.CloseHandle(fmap) ptr, err := syscall.MapViewOfFile(fmap, syscall.FILE_MAP_READ, 0, 0, uintptr(size)) if err != nil { return nil, err } data := unsafe.Slice((*byte)(unsafe.Pointer(ptr)), size) r := &ReaderAt{data: data} if debug { var p *byte if len(data) != 0 { p = &data[0] } println("mmap", r, p) } runtime.SetFinalizer(r, (*ReaderAt).Close) return r, nil } dependencies/pkg/mod/golang.org/x/exp@v0.0.0-20240506185415-9bf2ced13842/mmap/manual_test_program.go0000644000000000000000000000302115107355263030241 0ustar rootroot// 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:build ignore // // This build tag means that "go build" does not build this file. Use "go run // manual_test_program.go" to run it. // // You will also need to change "debug = false" to "debug = true" in mmap_*.go. package main import ( "log" "math/rand" "time" "golang.org/x/exp/mmap" ) var garbage []byte func main() { // If you replace "manual_test_program.go" with the name of an empty (zero // sized) file (and set "const debug = true") then you will not necessarily // see two "munmap log messages", since some operating systems will not // allow a zero sized mapping so there is no need for a finalizer to unmap. const filename = "manual_test_program.go" for _, explicitClose := range []bool{false, true} { r, err := mmap.Open(filename) if err != nil { log.Fatalf("Open: %v", err) } println("Open succeeded; Len =", r.Len()) if explicitClose { r.Close() } else { // Leak the *mmap.ReaderAt returned by mmap.Open. The finalizer // should pick it up, if finalizers run at all. } } println("Finished all explicit Close calls.") println("Creating and collecting garbage.") println("Look for two munmap log messages.") println("Hit Ctrl-C to exit.") rng := rand.New(rand.NewSource(1)) now := time.Now() for { garbage = make([]byte, rng.Intn(1<<20)) if time.Since(now) > 1*time.Second { now = time.Now() print(".") } } } dependencies/pkg/mod/golang.org/x/exp@v0.0.0-20240506185415-9bf2ced13842/mmap/mmap_other.go0000644000000000000000000000305115107355263026334 0ustar rootroot// 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:build !linux && !windows && !darwin // Package mmap provides a way to memory-map a file. package mmap import ( "fmt" "os" ) // ReaderAt reads a memory-mapped file. // // Like any io.ReaderAt, clients can execute parallel ReadAt calls, but it is // not safe to call Close and reading methods concurrently. type ReaderAt struct { f *os.File len int } // Close closes the reader. func (r *ReaderAt) Close() error { return r.f.Close() } // Len returns the length of the underlying memory-mapped file. func (r *ReaderAt) Len() int { return r.len } // At returns the byte at index i. func (r *ReaderAt) At(i int) byte { if i < 0 || r.len <= i { panic("index out of range") } var b [1]byte r.ReadAt(b[:], int64(i)) return b[0] } // ReadAt implements the io.ReaderAt interface. func (r *ReaderAt) ReadAt(p []byte, off int64) (int, error) { return r.f.ReadAt(p, off) } // Open memory-maps the named file for reading. func Open(filename string) (*ReaderAt, error) { f, err := os.Open(filename) if err != nil { return nil, err } fi, err := f.Stat() if err != nil { f.Close() return nil, err } size := fi.Size() if size < 0 { f.Close() return nil, fmt.Errorf("mmap: file %q has negative size", filename) } if size != int64(int(size)) { f.Close() return nil, fmt.Errorf("mmap: file %q is too large", filename) } return &ReaderAt{ f: f, len: int(fi.Size()), }, nil } dependencies/pkg/mod/golang.org/x/exp@v0.0.0-20240506185415-9bf2ced13842/mmap/mmap_unix.go0000644000000000000000000000565415107355263026211 0ustar rootroot// 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:build linux || darwin // Package mmap provides a way to memory-map a file. package mmap import ( "errors" "fmt" "io" "os" "runtime" "syscall" ) // debug is whether to print debugging messages for manual testing. // // The runtime.SetFinalizer documentation says that, "The finalizer for x is // scheduled to run at some arbitrary time after x becomes unreachable. There // is no guarantee that finalizers will run before a program exits", so we // cannot automatically test that the finalizer runs. Instead, set this to true // when running the manual test. const debug = false // ReaderAt reads a memory-mapped file. // // Like any io.ReaderAt, clients can execute parallel ReadAt calls, but it is // not safe to call Close and reading methods concurrently. type ReaderAt struct { data []byte } // Close closes the reader. func (r *ReaderAt) Close() error { if r.data == nil { return nil } else if len(r.data) == 0 { r.data = nil return nil } data := r.data r.data = nil if debug { var p *byte if len(data) != 0 { p = &data[0] } println("munmap", r, p) } runtime.SetFinalizer(r, nil) return syscall.Munmap(data) } // Len returns the length of the underlying memory-mapped file. func (r *ReaderAt) Len() int { return len(r.data) } // At returns the byte at index i. func (r *ReaderAt) At(i int) byte { return r.data[i] } // ReadAt implements the io.ReaderAt interface. func (r *ReaderAt) ReadAt(p []byte, off int64) (int, error) { if r.data == nil { return 0, errors.New("mmap: closed") } if off < 0 || int64(len(r.data)) < off { return 0, fmt.Errorf("mmap: invalid ReadAt offset %d", off) } n := copy(p, r.data[off:]) if n < len(p) { return n, io.EOF } return n, nil } // Open memory-maps the named file for reading. func Open(filename string) (*ReaderAt, error) { f, err := os.Open(filename) if err != nil { return nil, err } defer f.Close() fi, err := f.Stat() if err != nil { return nil, err } size := fi.Size() if size == 0 { // Treat (size == 0) as a special case, avoiding the syscall, since // "man 2 mmap" says "the length... must be greater than 0". // // As we do not call syscall.Mmap, there is no need to call // runtime.SetFinalizer to enforce a balancing syscall.Munmap. return &ReaderAt{ data: make([]byte, 0), }, nil } if size < 0 { return nil, fmt.Errorf("mmap: file %q has negative size", filename) } if size != int64(int(size)) { return nil, fmt.Errorf("mmap: file %q is too large", filename) } data, err := syscall.Mmap(int(f.Fd()), 0, int(size), syscall.PROT_READ, syscall.MAP_SHARED) if err != nil { return nil, err } r := &ReaderAt{data} if debug { var p *byte if len(data) != 0 { p = &data[0] } println("mmap", r, p) } runtime.SetFinalizer(r, (*ReaderAt).Close) return r, nil } dependencies/pkg/mod/golang.org/x/exp@v0.0.0-20240506185415-9bf2ced13842/mmap/mmap_test.go0000644000000000000000000000136215107355263026175 0ustar rootroot// 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 mmap import ( "bytes" "io" "os" "testing" ) func TestOpen(t *testing.T) { const filename = "mmap_test.go" r, err := Open(filename) if err != nil { t.Fatalf("Open: %v", err) } got := make([]byte, r.Len()) if _, err := r.ReadAt(got, 0); err != nil && err != io.EOF { t.Fatalf("ReadAt: %v", err) } want, err := os.ReadFile(filename) if err != nil { t.Fatalf("os.ReadFile: %v", err) } if len(got) != len(want) { t.Fatalf("got %d bytes, want %d", len(got), len(want)) } if !bytes.Equal(got, want) { t.Fatalf("\ngot %q\nwant %q", string(got), string(want)) } } dependencies/pkg/mod/golang.org/x/exp@v0.0.0-20240506185415-9bf2ced13842/slices/0000755000000000000000000000000015107355263024203 5ustar rootrootdependencies/pkg/mod/golang.org/x/exp@v0.0.0-20240506185415-9bf2ced13842/slices/slices.go0000644000000000000000000003345215107355263026023 0ustar rootroot// Copyright 2021 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 slices defines various functions useful with slices of any type. package slices import ( "unsafe" "golang.org/x/exp/constraints" ) // Equal reports whether two slices are equal: the same length and all // elements equal. If the lengths are different, Equal returns false. // Otherwise, the elements are compared in increasing index order, and the // comparison stops at the first unequal pair. // Floating point NaNs are not considered equal. func Equal[S ~[]E, E comparable](s1, s2 S) bool { if len(s1) != len(s2) { return false } for i := range s1 { if s1[i] != s2[i] { return false } } return true } // EqualFunc reports whether two slices are equal using an equality // function on each pair of elements. If the lengths are different, // EqualFunc returns false. Otherwise, the elements are compared in // increasing index order, and the comparison stops at the first index // for which eq returns false. func EqualFunc[S1 ~[]E1, S2 ~[]E2, E1, E2 any](s1 S1, s2 S2, eq func(E1, E2) bool) bool { if len(s1) != len(s2) { return false } for i, v1 := range s1 { v2 := s2[i] if !eq(v1, v2) { return false } } return true } // Compare compares the elements of s1 and s2, using [cmp.Compare] on each pair // of elements. The elements are compared sequentially, starting at index 0, // until one element is not equal to the other. // The result of comparing the first non-matching elements is returned. // If both slices are equal until one of them ends, the shorter slice is // considered less than the longer one. // The result is 0 if s1 == s2, -1 if s1 < s2, and +1 if s1 > s2. func Compare[S ~[]E, E constraints.Ordered](s1, s2 S) int { for i, v1 := range s1 { if i >= len(s2) { return +1 } v2 := s2[i] if c := cmpCompare(v1, v2); c != 0 { return c } } if len(s1) < len(s2) { return -1 } return 0 } // CompareFunc is like [Compare] but uses a custom comparison function on each // pair of elements. // The result is the first non-zero result of cmp; if cmp always // returns 0 the result is 0 if len(s1) == len(s2), -1 if len(s1) < len(s2), // and +1 if len(s1) > len(s2). func CompareFunc[S1 ~[]E1, S2 ~[]E2, E1, E2 any](s1 S1, s2 S2, cmp func(E1, E2) int) int { for i, v1 := range s1 { if i >= len(s2) { return +1 } v2 := s2[i] if c := cmp(v1, v2); c != 0 { return c } } if len(s1) < len(s2) { return -1 } return 0 } // Index returns the index of the first occurrence of v in s, // or -1 if not present. func Index[S ~[]E, E comparable](s S, v E) int { for i := range s { if v == s[i] { return i } } return -1 } // IndexFunc returns the first index i satisfying f(s[i]), // or -1 if none do. func IndexFunc[S ~[]E, E any](s S, f func(E) bool) int { for i := range s { if f(s[i]) { return i } } return -1 } // Contains reports whether v is present in s. func Contains[S ~[]E, E comparable](s S, v E) bool { return Index(s, v) >= 0 } // ContainsFunc reports whether at least one // element e of s satisfies f(e). func ContainsFunc[S ~[]E, E any](s S, f func(E) bool) bool { return IndexFunc(s, f) >= 0 } // Insert inserts the values v... into s at index i, // returning the modified slice. // The elements at s[i:] are shifted up to make room. // In the returned slice r, r[i] == v[0], // and r[i+len(v)] == value originally at r[i]. // Insert panics if i is out of range. // This function is O(len(s) + len(v)). func Insert[S ~[]E, E any](s S, i int, v ...E) S { m := len(v) if m == 0 { return s } n := len(s) if i == n { return append(s, v...) } if n+m > cap(s) { // Use append rather than make so that we bump the size of // the slice up to the next storage class. // This is what Grow does but we don't call Grow because // that might copy the values twice. s2 := append(s[:i], make(S, n+m-i)...) copy(s2[i:], v) copy(s2[i+m:], s[i:]) return s2 } s = s[:n+m] // before: // s: aaaaaaaabbbbccccccccdddd // ^ ^ ^ ^ // i i+m n n+m // after: // s: aaaaaaaavvvvbbbbcccccccc // ^ ^ ^ ^ // i i+m n n+m // // a are the values that don't move in s. // v are the values copied in from v. // b and c are the values from s that are shifted up in index. // d are the values that get overwritten, never to be seen again. if !overlaps(v, s[i+m:]) { // Easy case - v does not overlap either the c or d regions. // (It might be in some of a or b, or elsewhere entirely.) // The data we copy up doesn't write to v at all, so just do it. copy(s[i+m:], s[i:]) // Now we have // s: aaaaaaaabbbbbbbbcccccccc // ^ ^ ^ ^ // i i+m n n+m // Note the b values are duplicated. copy(s[i:], v) // Now we have // s: aaaaaaaavvvvbbbbcccccccc // ^ ^ ^ ^ // i i+m n n+m // That's the result we want. return s } // The hard case - v overlaps c or d. We can't just shift up // the data because we'd move or clobber the values we're trying // to insert. // So instead, write v on top of d, then rotate. copy(s[n:], v) // Now we have // s: aaaaaaaabbbbccccccccvvvv // ^ ^ ^ ^ // i i+m n n+m rotateRight(s[i:], m) // Now we have // s: aaaaaaaavvvvbbbbcccccccc // ^ ^ ^ ^ // i i+m n n+m // That's the result we want. return s } // clearSlice sets all elements up to the length of s to the zero value of E. // We may use the builtin clear func instead, and remove clearSlice, when upgrading // to Go 1.21+. func clearSlice[S ~[]E, E any](s S) { var zero E for i := range s { s[i] = zero } } // Delete removes the elements s[i:j] from s, returning the modified slice. // Delete panics if j > len(s) or s[i:j] is not a valid slice of s. // Delete is O(len(s)-i), so if many items must be deleted, it is better to // make a single call deleting them all together than to delete one at a time. // Delete zeroes the elements s[len(s)-(j-i):len(s)]. func Delete[S ~[]E, E any](s S, i, j int) S { _ = s[i:j:len(s)] // bounds check if i == j { return s } oldlen := len(s) s = append(s[:i], s[j:]...) clearSlice(s[len(s):oldlen]) // zero/nil out the obsolete elements, for GC return s } // DeleteFunc removes any elements from s for which del returns true, // returning the modified slice. // DeleteFunc zeroes the elements between the new length and the original length. func DeleteFunc[S ~[]E, E any](s S, del func(E) bool) S { i := IndexFunc(s, del) if i == -1 { return s } // Don't start copying elements until we find one to delete. for j := i + 1; j < len(s); j++ { if v := s[j]; !del(v) { s[i] = v i++ } } clearSlice(s[i:]) // zero/nil out the obsolete elements, for GC return s[:i] } // Replace replaces the elements s[i:j] by the given v, and returns the // modified slice. Replace panics if s[i:j] is not a valid slice of s. // When len(v) < (j-i), Replace zeroes the elements between the new length and the original length. func Replace[S ~[]E, E any](s S, i, j int, v ...E) S { _ = s[i:j] // verify that i:j is a valid subslice if i == j { return Insert(s, i, v...) } if j == len(s) { return append(s[:i], v...) } tot := len(s[:i]) + len(v) + len(s[j:]) if tot > cap(s) { // Too big to fit, allocate and copy over. s2 := append(s[:i], make(S, tot-i)...) // See Insert copy(s2[i:], v) copy(s2[i+len(v):], s[j:]) return s2 } r := s[:tot] if i+len(v) <= j { // Easy, as v fits in the deleted portion. copy(r[i:], v) if i+len(v) != j { copy(r[i+len(v):], s[j:]) } clearSlice(s[tot:]) // zero/nil out the obsolete elements, for GC return r } // We are expanding (v is bigger than j-i). // The situation is something like this: // (example has i=4,j=8,len(s)=16,len(v)=6) // s: aaaaxxxxbbbbbbbbyy // ^ ^ ^ ^ // i j len(s) tot // a: prefix of s // x: deleted range // b: more of s // y: area to expand into if !overlaps(r[i+len(v):], v) { // Easy, as v is not clobbered by the first copy. copy(r[i+len(v):], s[j:]) copy(r[i:], v) return r } // This is a situation where we don't have a single place to which // we can copy v. Parts of it need to go to two different places. // We want to copy the prefix of v into y and the suffix into x, then // rotate |y| spots to the right. // // v[2:] v[:2] // | | // s: aaaavvvvbbbbbbbbvv // ^ ^ ^ ^ // i j len(s) tot // // If either of those two destinations don't alias v, then we're good. y := len(v) - (j - i) // length of y portion if !overlaps(r[i:j], v) { copy(r[i:j], v[y:]) copy(r[len(s):], v[:y]) rotateRight(r[i:], y) return r } if !overlaps(r[len(s):], v) { copy(r[len(s):], v[:y]) copy(r[i:j], v[y:]) rotateRight(r[i:], y) return r } // Now we know that v overlaps both x and y. // That means that the entirety of b is *inside* v. // So we don't need to preserve b at all; instead we // can copy v first, then copy the b part of v out of // v to the right destination. k := startIdx(v, s[j:]) copy(r[i:], v) copy(r[i+len(v):], r[i+k:]) return r } // Clone returns a copy of the slice. // The elements are copied using assignment, so this is a shallow clone. func Clone[S ~[]E, E any](s S) S { // Preserve nil in case it matters. if s == nil { return nil } return append(S([]E{}), s...) } // Compact replaces consecutive runs of equal elements with a single copy. // This is like the uniq command found on Unix. // Compact modifies the contents of the slice s and returns the modified slice, // which may have a smaller length. // Compact zeroes the elements between the new length and the original length. func Compact[S ~[]E, E comparable](s S) S { if len(s) < 2 { return s } i := 1 for k := 1; k < len(s); k++ { if s[k] != s[k-1] { if i != k { s[i] = s[k] } i++ } } clearSlice(s[i:]) // zero/nil out the obsolete elements, for GC return s[:i] } // CompactFunc is like [Compact] but uses an equality function to compare elements. // For runs of elements that compare equal, CompactFunc keeps the first one. // CompactFunc zeroes the elements between the new length and the original length. func CompactFunc[S ~[]E, E any](s S, eq func(E, E) bool) S { if len(s) < 2 { return s } i := 1 for k := 1; k < len(s); k++ { if !eq(s[k], s[k-1]) { if i != k { s[i] = s[k] } i++ } } clearSlice(s[i:]) // zero/nil out the obsolete elements, for GC return s[:i] } // Grow increases the slice's capacity, if necessary, to guarantee space for // another n elements. After Grow(n), at least n elements can be appended // to the slice without another allocation. If n is negative or too large to // allocate the memory, Grow panics. func Grow[S ~[]E, E any](s S, n int) S { if n < 0 { panic("cannot be negative") } if n -= cap(s) - len(s); n > 0 { // TODO(https://go.dev/issue/53888): Make using []E instead of S // to workaround a compiler bug where the runtime.growslice optimization // does not take effect. Revert when the compiler is fixed. s = append([]E(s)[:cap(s)], make([]E, n)...)[:len(s)] } return s } // Clip removes unused capacity from the slice, returning s[:len(s):len(s)]. func Clip[S ~[]E, E any](s S) S { return s[:len(s):len(s)] } // Rotation algorithm explanation: // // rotate left by 2 // start with // 0123456789 // split up like this // 01 234567 89 // swap first 2 and last 2 // 89 234567 01 // join first parts // 89234567 01 // recursively rotate first left part by 2 // 23456789 01 // join at the end // 2345678901 // // rotate left by 8 // start with // 0123456789 // split up like this // 01 234567 89 // swap first 2 and last 2 // 89 234567 01 // join last parts // 89 23456701 // recursively rotate second part left by 6 // 89 01234567 // join at the end // 8901234567 // TODO: There are other rotate algorithms. // This algorithm has the desirable property that it moves each element exactly twice. // The triple-reverse algorithm is simpler and more cache friendly, but takes more writes. // The follow-cycles algorithm can be 1-write but it is not very cache friendly. // rotateLeft rotates b left by n spaces. // s_final[i] = s_orig[i+r], wrapping around. func rotateLeft[E any](s []E, r int) { for r != 0 && r != len(s) { if r*2 <= len(s) { swap(s[:r], s[len(s)-r:]) s = s[:len(s)-r] } else { swap(s[:len(s)-r], s[r:]) s, r = s[len(s)-r:], r*2-len(s) } } } func rotateRight[E any](s []E, r int) { rotateLeft(s, len(s)-r) } // swap swaps the contents of x and y. x and y must be equal length and disjoint. func swap[E any](x, y []E) { for i := 0; i < len(x); i++ { x[i], y[i] = y[i], x[i] } } // overlaps reports whether the memory ranges a[0:len(a)] and b[0:len(b)] overlap. func overlaps[E any](a, b []E) bool { if len(a) == 0 || len(b) == 0 { return false } elemSize := unsafe.Sizeof(a[0]) if elemSize == 0 { return false } // TODO: use a runtime/unsafe facility once one becomes available. See issue 12445. // Also see crypto/internal/alias/alias.go:AnyOverlap return uintptr(unsafe.Pointer(&a[0])) <= uintptr(unsafe.Pointer(&b[len(b)-1]))+(elemSize-1) && uintptr(unsafe.Pointer(&b[0])) <= uintptr(unsafe.Pointer(&a[len(a)-1]))+(elemSize-1) } // startIdx returns the index in haystack where the needle starts. // prerequisite: the needle must be aliased entirely inside the haystack. func startIdx[E any](haystack, needle []E) int { p := &needle[0] for i := range haystack { if p == &haystack[i] { return i } } // TODO: what if the overlap is by a non-integral number of Es? panic("needle not found") } // Reverse reverses the elements of the slice in place. func Reverse[S ~[]E, E any](s S) { for i, j := 0, len(s)-1; i < j; i, j = i+1, j-1 { s[i], s[j] = s[j], s[i] } } dependencies/pkg/mod/golang.org/x/exp@v0.0.0-20240506185415-9bf2ced13842/slices/zsortordered.go0000644000000000000000000003103215107355263027257 0ustar rootroot// Code generated by gen_sort_variants.go; DO NOT EDIT. // Copyright 2022 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 slices import "golang.org/x/exp/constraints" // insertionSortOrdered sorts data[a:b] using insertion sort. func insertionSortOrdered[E constraints.Ordered](data []E, a, b int) { for i := a + 1; i < b; i++ { for j := i; j > a && cmpLess(data[j], data[j-1]); j-- { data[j], data[j-1] = data[j-1], data[j] } } } // siftDownOrdered implements the heap property on data[lo:hi]. // first is an offset into the array where the root of the heap lies. func siftDownOrdered[E constraints.Ordered](data []E, lo, hi, first int) { root := lo for { child := 2*root + 1 if child >= hi { break } if child+1 < hi && cmpLess(data[first+child], data[first+child+1]) { child++ } if !cmpLess(data[first+root], data[first+child]) { return } data[first+root], data[first+child] = data[first+child], data[first+root] root = child } } func heapSortOrdered[E constraints.Ordered](data []E, a, b int) { first := a lo := 0 hi := b - a // Build heap with greatest element at top. for i := (hi - 1) / 2; i >= 0; i-- { siftDownOrdered(data, i, hi, first) } // Pop elements, largest first, into end of data. for i := hi - 1; i >= 0; i-- { data[first], data[first+i] = data[first+i], data[first] siftDownOrdered(data, lo, i, first) } } // pdqsortOrdered sorts data[a:b]. // The algorithm based on pattern-defeating quicksort(pdqsort), but without the optimizations from BlockQuicksort. // pdqsort paper: https://arxiv.org/pdf/2106.05123.pdf // C++ implementation: https://github.com/orlp/pdqsort // Rust implementation: https://docs.rs/pdqsort/latest/pdqsort/ // limit is the number of allowed bad (very unbalanced) pivots before falling back to heapsort. func pdqsortOrdered[E constraints.Ordered](data []E, a, b, limit int) { const maxInsertion = 12 var ( wasBalanced = true // whether the last partitioning was reasonably balanced wasPartitioned = true // whether the slice was already partitioned ) for { length := b - a if length <= maxInsertion { insertionSortOrdered(data, a, b) return } // Fall back to heapsort if too many bad choices were made. if limit == 0 { heapSortOrdered(data, a, b) return } // If the last partitioning was imbalanced, we need to breaking patterns. if !wasBalanced { breakPatternsOrdered(data, a, b) limit-- } pivot, hint := choosePivotOrdered(data, a, b) if hint == decreasingHint { reverseRangeOrdered(data, a, b) // The chosen pivot was pivot-a elements after the start of the array. // After reversing it is pivot-a elements before the end of the array. // The idea came from Rust's implementation. pivot = (b - 1) - (pivot - a) hint = increasingHint } // The slice is likely already sorted. if wasBalanced && wasPartitioned && hint == increasingHint { if partialInsertionSortOrdered(data, a, b) { return } } // Probably the slice contains many duplicate elements, partition the slice into // elements equal to and elements greater than the pivot. if a > 0 && !cmpLess(data[a-1], data[pivot]) { mid := partitionEqualOrdered(data, a, b, pivot) a = mid continue } mid, alreadyPartitioned := partitionOrdered(data, a, b, pivot) wasPartitioned = alreadyPartitioned leftLen, rightLen := mid-a, b-mid balanceThreshold := length / 8 if leftLen < rightLen { wasBalanced = leftLen >= balanceThreshold pdqsortOrdered(data, a, mid, limit) a = mid + 1 } else { wasBalanced = rightLen >= balanceThreshold pdqsortOrdered(data, mid+1, b, limit) b = mid } } } // partitionOrdered does one quicksort partition. // Let p = data[pivot] // Moves elements in data[a:b] around, so that data[i]

=p for inewpivot. // On return, data[newpivot] = p func partitionOrdered[E constraints.Ordered](data []E, a, b, pivot int) (newpivot int, alreadyPartitioned bool) { data[a], data[pivot] = data[pivot], data[a] i, j := a+1, b-1 // i and j are inclusive of the elements remaining to be partitioned for i <= j && cmpLess(data[i], data[a]) { i++ } for i <= j && !cmpLess(data[j], data[a]) { j-- } if i > j { data[j], data[a] = data[a], data[j] return j, true } data[i], data[j] = data[j], data[i] i++ j-- for { for i <= j && cmpLess(data[i], data[a]) { i++ } for i <= j && !cmpLess(data[j], data[a]) { j-- } if i > j { break } data[i], data[j] = data[j], data[i] i++ j-- } data[j], data[a] = data[a], data[j] return j, false } // partitionEqualOrdered partitions data[a:b] into elements equal to data[pivot] followed by elements greater than data[pivot]. // It assumed that data[a:b] does not contain elements smaller than the data[pivot]. func partitionEqualOrdered[E constraints.Ordered](data []E, a, b, pivot int) (newpivot int) { data[a], data[pivot] = data[pivot], data[a] i, j := a+1, b-1 // i and j are inclusive of the elements remaining to be partitioned for { for i <= j && !cmpLess(data[a], data[i]) { i++ } for i <= j && cmpLess(data[a], data[j]) { j-- } if i > j { break } data[i], data[j] = data[j], data[i] i++ j-- } return i } // partialInsertionSortOrdered partially sorts a slice, returns true if the slice is sorted at the end. func partialInsertionSortOrdered[E constraints.Ordered](data []E, a, b int) bool { const ( maxSteps = 5 // maximum number of adjacent out-of-order pairs that will get shifted shortestShifting = 50 // don't shift any elements on short arrays ) i := a + 1 for j := 0; j < maxSteps; j++ { for i < b && !cmpLess(data[i], data[i-1]) { i++ } if i == b { return true } if b-a < shortestShifting { return false } data[i], data[i-1] = data[i-1], data[i] // Shift the smaller one to the left. if i-a >= 2 { for j := i - 1; j >= 1; j-- { if !cmpLess(data[j], data[j-1]) { break } data[j], data[j-1] = data[j-1], data[j] } } // Shift the greater one to the right. if b-i >= 2 { for j := i + 1; j < b; j++ { if !cmpLess(data[j], data[j-1]) { break } data[j], data[j-1] = data[j-1], data[j] } } } return false } // breakPatternsOrdered scatters some elements around in an attempt to break some patterns // that might cause imbalanced partitions in quicksort. func breakPatternsOrdered[E constraints.Ordered](data []E, a, b int) { length := b - a if length >= 8 { random := xorshift(length) modulus := nextPowerOfTwo(length) for idx := a + (length/4)*2 - 1; idx <= a+(length/4)*2+1; idx++ { other := int(uint(random.Next()) & (modulus - 1)) if other >= length { other -= length } data[idx], data[a+other] = data[a+other], data[idx] } } } // choosePivotOrdered chooses a pivot in data[a:b]. // // [0,8): chooses a static pivot. // [8,shortestNinther): uses the simple median-of-three method. // [shortestNinther,∞): uses the Tukey ninther method. func choosePivotOrdered[E constraints.Ordered](data []E, a, b int) (pivot int, hint sortedHint) { const ( shortestNinther = 50 maxSwaps = 4 * 3 ) l := b - a var ( swaps int i = a + l/4*1 j = a + l/4*2 k = a + l/4*3 ) if l >= 8 { if l >= shortestNinther { // Tukey ninther method, the idea came from Rust's implementation. i = medianAdjacentOrdered(data, i, &swaps) j = medianAdjacentOrdered(data, j, &swaps) k = medianAdjacentOrdered(data, k, &swaps) } // Find the median among i, j, k and stores it into j. j = medianOrdered(data, i, j, k, &swaps) } switch swaps { case 0: return j, increasingHint case maxSwaps: return j, decreasingHint default: return j, unknownHint } } // order2Ordered returns x,y where data[x] <= data[y], where x,y=a,b or x,y=b,a. func order2Ordered[E constraints.Ordered](data []E, a, b int, swaps *int) (int, int) { if cmpLess(data[b], data[a]) { *swaps++ return b, a } return a, b } // medianOrdered returns x where data[x] is the median of data[a],data[b],data[c], where x is a, b, or c. func medianOrdered[E constraints.Ordered](data []E, a, b, c int, swaps *int) int { a, b = order2Ordered(data, a, b, swaps) b, c = order2Ordered(data, b, c, swaps) a, b = order2Ordered(data, a, b, swaps) return b } // medianAdjacentOrdered finds the median of data[a - 1], data[a], data[a + 1] and stores the index into a. func medianAdjacentOrdered[E constraints.Ordered](data []E, a int, swaps *int) int { return medianOrdered(data, a-1, a, a+1, swaps) } func reverseRangeOrdered[E constraints.Ordered](data []E, a, b int) { i := a j := b - 1 for i < j { data[i], data[j] = data[j], data[i] i++ j-- } } func swapRangeOrdered[E constraints.Ordered](data []E, a, b, n int) { for i := 0; i < n; i++ { data[a+i], data[b+i] = data[b+i], data[a+i] } } func stableOrdered[E constraints.Ordered](data []E, n int) { blockSize := 20 // must be > 0 a, b := 0, blockSize for b <= n { insertionSortOrdered(data, a, b) a = b b += blockSize } insertionSortOrdered(data, a, n) for blockSize < n { a, b = 0, 2*blockSize for b <= n { symMergeOrdered(data, a, a+blockSize, b) a = b b += 2 * blockSize } if m := a + blockSize; m < n { symMergeOrdered(data, a, m, n) } blockSize *= 2 } } // symMergeOrdered merges the two sorted subsequences data[a:m] and data[m:b] using // the SymMerge algorithm from Pok-Son Kim and Arne Kutzner, "Stable Minimum // Storage Merging by Symmetric Comparisons", in Susanne Albers and Tomasz // Radzik, editors, Algorithms - ESA 2004, volume 3221 of Lecture Notes in // Computer Science, pages 714-723. Springer, 2004. // // Let M = m-a and N = b-n. Wolog M < N. // The recursion depth is bound by ceil(log(N+M)). // The algorithm needs O(M*log(N/M + 1)) calls to data.Less. // The algorithm needs O((M+N)*log(M)) calls to data.Swap. // // The paper gives O((M+N)*log(M)) as the number of assignments assuming a // rotation algorithm which uses O(M+N+gcd(M+N)) assignments. The argumentation // in the paper carries through for Swap operations, especially as the block // swapping rotate uses only O(M+N) Swaps. // // symMerge assumes non-degenerate arguments: a < m && m < b. // Having the caller check this condition eliminates many leaf recursion calls, // which improves performance. func symMergeOrdered[E constraints.Ordered](data []E, a, m, b int) { // Avoid unnecessary recursions of symMerge // by direct insertion of data[a] into data[m:b] // if data[a:m] only contains one element. if m-a == 1 { // Use binary search to find the lowest index i // such that data[i] >= data[a] for m <= i < b. // Exit the search loop with i == b in case no such index exists. i := m j := b for i < j { h := int(uint(i+j) >> 1) if cmpLess(data[h], data[a]) { i = h + 1 } else { j = h } } // Swap values until data[a] reaches the position before i. for k := a; k < i-1; k++ { data[k], data[k+1] = data[k+1], data[k] } return } // Avoid unnecessary recursions of symMerge // by direct insertion of data[m] into data[a:m] // if data[m:b] only contains one element. if b-m == 1 { // Use binary search to find the lowest index i // such that data[i] > data[m] for a <= i < m. // Exit the search loop with i == m in case no such index exists. i := a j := m for i < j { h := int(uint(i+j) >> 1) if !cmpLess(data[m], data[h]) { i = h + 1 } else { j = h } } // Swap values until data[m] reaches the position i. for k := m; k > i; k-- { data[k], data[k-1] = data[k-1], data[k] } return } mid := int(uint(a+b) >> 1) n := mid + m var start, r int if m > mid { start = n - b r = mid } else { start = a r = m } p := n - 1 for start < r { c := int(uint(start+r) >> 1) if !cmpLess(data[p-c], data[c]) { start = c + 1 } else { r = c } } end := n - start if start < m && m < end { rotateOrdered(data, start, m, end) } if a < start && start < mid { symMergeOrdered(data, a, start, mid) } if mid < end && end < b { symMergeOrdered(data, mid, end, b) } } // rotateOrdered rotates two consecutive blocks u = data[a:m] and v = data[m:b] in data: // Data of the form 'x u v y' is changed to 'x v u y'. // rotate performs at most b-a many calls to data.Swap, // and it assumes non-degenerate arguments: a < m && m < b. func rotateOrdered[E constraints.Ordered](data []E, a, m, b int) { i := m - a j := b - m for i != j { if i > j { swapRangeOrdered(data, m-i, m, j) i -= j } else { swapRangeOrdered(data, m-i, m+j-i, i) j -= i } } // i == j swapRangeOrdered(data, m-i, m, i) } dependencies/pkg/mod/golang.org/x/exp@v0.0.0-20240506185415-9bf2ced13842/slices/zsortanyfunc.go0000644000000000000000000003141515107355263027303 0ustar rootroot// Code generated by gen_sort_variants.go; DO NOT EDIT. // Copyright 2022 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 slices // insertionSortCmpFunc sorts data[a:b] using insertion sort. func insertionSortCmpFunc[E any](data []E, a, b int, cmp func(a, b E) int) { for i := a + 1; i < b; i++ { for j := i; j > a && (cmp(data[j], data[j-1]) < 0); j-- { data[j], data[j-1] = data[j-1], data[j] } } } // siftDownCmpFunc implements the heap property on data[lo:hi]. // first is an offset into the array where the root of the heap lies. func siftDownCmpFunc[E any](data []E, lo, hi, first int, cmp func(a, b E) int) { root := lo for { child := 2*root + 1 if child >= hi { break } if child+1 < hi && (cmp(data[first+child], data[first+child+1]) < 0) { child++ } if !(cmp(data[first+root], data[first+child]) < 0) { return } data[first+root], data[first+child] = data[first+child], data[first+root] root = child } } func heapSortCmpFunc[E any](data []E, a, b int, cmp func(a, b E) int) { first := a lo := 0 hi := b - a // Build heap with greatest element at top. for i := (hi - 1) / 2; i >= 0; i-- { siftDownCmpFunc(data, i, hi, first, cmp) } // Pop elements, largest first, into end of data. for i := hi - 1; i >= 0; i-- { data[first], data[first+i] = data[first+i], data[first] siftDownCmpFunc(data, lo, i, first, cmp) } } // pdqsortCmpFunc sorts data[a:b]. // The algorithm based on pattern-defeating quicksort(pdqsort), but without the optimizations from BlockQuicksort. // pdqsort paper: https://arxiv.org/pdf/2106.05123.pdf // C++ implementation: https://github.com/orlp/pdqsort // Rust implementation: https://docs.rs/pdqsort/latest/pdqsort/ // limit is the number of allowed bad (very unbalanced) pivots before falling back to heapsort. func pdqsortCmpFunc[E any](data []E, a, b, limit int, cmp func(a, b E) int) { const maxInsertion = 12 var ( wasBalanced = true // whether the last partitioning was reasonably balanced wasPartitioned = true // whether the slice was already partitioned ) for { length := b - a if length <= maxInsertion { insertionSortCmpFunc(data, a, b, cmp) return } // Fall back to heapsort if too many bad choices were made. if limit == 0 { heapSortCmpFunc(data, a, b, cmp) return } // If the last partitioning was imbalanced, we need to breaking patterns. if !wasBalanced { breakPatternsCmpFunc(data, a, b, cmp) limit-- } pivot, hint := choosePivotCmpFunc(data, a, b, cmp) if hint == decreasingHint { reverseRangeCmpFunc(data, a, b, cmp) // The chosen pivot was pivot-a elements after the start of the array. // After reversing it is pivot-a elements before the end of the array. // The idea came from Rust's implementation. pivot = (b - 1) - (pivot - a) hint = increasingHint } // The slice is likely already sorted. if wasBalanced && wasPartitioned && hint == increasingHint { if partialInsertionSortCmpFunc(data, a, b, cmp) { return } } // Probably the slice contains many duplicate elements, partition the slice into // elements equal to and elements greater than the pivot. if a > 0 && !(cmp(data[a-1], data[pivot]) < 0) { mid := partitionEqualCmpFunc(data, a, b, pivot, cmp) a = mid continue } mid, alreadyPartitioned := partitionCmpFunc(data, a, b, pivot, cmp) wasPartitioned = alreadyPartitioned leftLen, rightLen := mid-a, b-mid balanceThreshold := length / 8 if leftLen < rightLen { wasBalanced = leftLen >= balanceThreshold pdqsortCmpFunc(data, a, mid, limit, cmp) a = mid + 1 } else { wasBalanced = rightLen >= balanceThreshold pdqsortCmpFunc(data, mid+1, b, limit, cmp) b = mid } } } // partitionCmpFunc does one quicksort partition. // Let p = data[pivot] // Moves elements in data[a:b] around, so that data[i]

=p for inewpivot. // On return, data[newpivot] = p func partitionCmpFunc[E any](data []E, a, b, pivot int, cmp func(a, b E) int) (newpivot int, alreadyPartitioned bool) { data[a], data[pivot] = data[pivot], data[a] i, j := a+1, b-1 // i and j are inclusive of the elements remaining to be partitioned for i <= j && (cmp(data[i], data[a]) < 0) { i++ } for i <= j && !(cmp(data[j], data[a]) < 0) { j-- } if i > j { data[j], data[a] = data[a], data[j] return j, true } data[i], data[j] = data[j], data[i] i++ j-- for { for i <= j && (cmp(data[i], data[a]) < 0) { i++ } for i <= j && !(cmp(data[j], data[a]) < 0) { j-- } if i > j { break } data[i], data[j] = data[j], data[i] i++ j-- } data[j], data[a] = data[a], data[j] return j, false } // partitionEqualCmpFunc partitions data[a:b] into elements equal to data[pivot] followed by elements greater than data[pivot]. // It assumed that data[a:b] does not contain elements smaller than the data[pivot]. func partitionEqualCmpFunc[E any](data []E, a, b, pivot int, cmp func(a, b E) int) (newpivot int) { data[a], data[pivot] = data[pivot], data[a] i, j := a+1, b-1 // i and j are inclusive of the elements remaining to be partitioned for { for i <= j && !(cmp(data[a], data[i]) < 0) { i++ } for i <= j && (cmp(data[a], data[j]) < 0) { j-- } if i > j { break } data[i], data[j] = data[j], data[i] i++ j-- } return i } // partialInsertionSortCmpFunc partially sorts a slice, returns true if the slice is sorted at the end. func partialInsertionSortCmpFunc[E any](data []E, a, b int, cmp func(a, b E) int) bool { const ( maxSteps = 5 // maximum number of adjacent out-of-order pairs that will get shifted shortestShifting = 50 // don't shift any elements on short arrays ) i := a + 1 for j := 0; j < maxSteps; j++ { for i < b && !(cmp(data[i], data[i-1]) < 0) { i++ } if i == b { return true } if b-a < shortestShifting { return false } data[i], data[i-1] = data[i-1], data[i] // Shift the smaller one to the left. if i-a >= 2 { for j := i - 1; j >= 1; j-- { if !(cmp(data[j], data[j-1]) < 0) { break } data[j], data[j-1] = data[j-1], data[j] } } // Shift the greater one to the right. if b-i >= 2 { for j := i + 1; j < b; j++ { if !(cmp(data[j], data[j-1]) < 0) { break } data[j], data[j-1] = data[j-1], data[j] } } } return false } // breakPatternsCmpFunc scatters some elements around in an attempt to break some patterns // that might cause imbalanced partitions in quicksort. func breakPatternsCmpFunc[E any](data []E, a, b int, cmp func(a, b E) int) { length := b - a if length >= 8 { random := xorshift(length) modulus := nextPowerOfTwo(length) for idx := a + (length/4)*2 - 1; idx <= a+(length/4)*2+1; idx++ { other := int(uint(random.Next()) & (modulus - 1)) if other >= length { other -= length } data[idx], data[a+other] = data[a+other], data[idx] } } } // choosePivotCmpFunc chooses a pivot in data[a:b]. // // [0,8): chooses a static pivot. // [8,shortestNinther): uses the simple median-of-three method. // [shortestNinther,∞): uses the Tukey ninther method. func choosePivotCmpFunc[E any](data []E, a, b int, cmp func(a, b E) int) (pivot int, hint sortedHint) { const ( shortestNinther = 50 maxSwaps = 4 * 3 ) l := b - a var ( swaps int i = a + l/4*1 j = a + l/4*2 k = a + l/4*3 ) if l >= 8 { if l >= shortestNinther { // Tukey ninther method, the idea came from Rust's implementation. i = medianAdjacentCmpFunc(data, i, &swaps, cmp) j = medianAdjacentCmpFunc(data, j, &swaps, cmp) k = medianAdjacentCmpFunc(data, k, &swaps, cmp) } // Find the median among i, j, k and stores it into j. j = medianCmpFunc(data, i, j, k, &swaps, cmp) } switch swaps { case 0: return j, increasingHint case maxSwaps: return j, decreasingHint default: return j, unknownHint } } // order2CmpFunc returns x,y where data[x] <= data[y], where x,y=a,b or x,y=b,a. func order2CmpFunc[E any](data []E, a, b int, swaps *int, cmp func(a, b E) int) (int, int) { if cmp(data[b], data[a]) < 0 { *swaps++ return b, a } return a, b } // medianCmpFunc returns x where data[x] is the median of data[a],data[b],data[c], where x is a, b, or c. func medianCmpFunc[E any](data []E, a, b, c int, swaps *int, cmp func(a, b E) int) int { a, b = order2CmpFunc(data, a, b, swaps, cmp) b, c = order2CmpFunc(data, b, c, swaps, cmp) a, b = order2CmpFunc(data, a, b, swaps, cmp) return b } // medianAdjacentCmpFunc finds the median of data[a - 1], data[a], data[a + 1] and stores the index into a. func medianAdjacentCmpFunc[E any](data []E, a int, swaps *int, cmp func(a, b E) int) int { return medianCmpFunc(data, a-1, a, a+1, swaps, cmp) } func reverseRangeCmpFunc[E any](data []E, a, b int, cmp func(a, b E) int) { i := a j := b - 1 for i < j { data[i], data[j] = data[j], data[i] i++ j-- } } func swapRangeCmpFunc[E any](data []E, a, b, n int, cmp func(a, b E) int) { for i := 0; i < n; i++ { data[a+i], data[b+i] = data[b+i], data[a+i] } } func stableCmpFunc[E any](data []E, n int, cmp func(a, b E) int) { blockSize := 20 // must be > 0 a, b := 0, blockSize for b <= n { insertionSortCmpFunc(data, a, b, cmp) a = b b += blockSize } insertionSortCmpFunc(data, a, n, cmp) for blockSize < n { a, b = 0, 2*blockSize for b <= n { symMergeCmpFunc(data, a, a+blockSize, b, cmp) a = b b += 2 * blockSize } if m := a + blockSize; m < n { symMergeCmpFunc(data, a, m, n, cmp) } blockSize *= 2 } } // symMergeCmpFunc merges the two sorted subsequences data[a:m] and data[m:b] using // the SymMerge algorithm from Pok-Son Kim and Arne Kutzner, "Stable Minimum // Storage Merging by Symmetric Comparisons", in Susanne Albers and Tomasz // Radzik, editors, Algorithms - ESA 2004, volume 3221 of Lecture Notes in // Computer Science, pages 714-723. Springer, 2004. // // Let M = m-a and N = b-n. Wolog M < N. // The recursion depth is bound by ceil(log(N+M)). // The algorithm needs O(M*log(N/M + 1)) calls to data.Less. // The algorithm needs O((M+N)*log(M)) calls to data.Swap. // // The paper gives O((M+N)*log(M)) as the number of assignments assuming a // rotation algorithm which uses O(M+N+gcd(M+N)) assignments. The argumentation // in the paper carries through for Swap operations, especially as the block // swapping rotate uses only O(M+N) Swaps. // // symMerge assumes non-degenerate arguments: a < m && m < b. // Having the caller check this condition eliminates many leaf recursion calls, // which improves performance. func symMergeCmpFunc[E any](data []E, a, m, b int, cmp func(a, b E) int) { // Avoid unnecessary recursions of symMerge // by direct insertion of data[a] into data[m:b] // if data[a:m] only contains one element. if m-a == 1 { // Use binary search to find the lowest index i // such that data[i] >= data[a] for m <= i < b. // Exit the search loop with i == b in case no such index exists. i := m j := b for i < j { h := int(uint(i+j) >> 1) if cmp(data[h], data[a]) < 0 { i = h + 1 } else { j = h } } // Swap values until data[a] reaches the position before i. for k := a; k < i-1; k++ { data[k], data[k+1] = data[k+1], data[k] } return } // Avoid unnecessary recursions of symMerge // by direct insertion of data[m] into data[a:m] // if data[m:b] only contains one element. if b-m == 1 { // Use binary search to find the lowest index i // such that data[i] > data[m] for a <= i < m. // Exit the search loop with i == m in case no such index exists. i := a j := m for i < j { h := int(uint(i+j) >> 1) if !(cmp(data[m], data[h]) < 0) { i = h + 1 } else { j = h } } // Swap values until data[m] reaches the position i. for k := m; k > i; k-- { data[k], data[k-1] = data[k-1], data[k] } return } mid := int(uint(a+b) >> 1) n := mid + m var start, r int if m > mid { start = n - b r = mid } else { start = a r = m } p := n - 1 for start < r { c := int(uint(start+r) >> 1) if !(cmp(data[p-c], data[c]) < 0) { start = c + 1 } else { r = c } } end := n - start if start < m && m < end { rotateCmpFunc(data, start, m, end, cmp) } if a < start && start < mid { symMergeCmpFunc(data, a, start, mid, cmp) } if mid < end && end < b { symMergeCmpFunc(data, mid, end, b, cmp) } } // rotateCmpFunc rotates two consecutive blocks u = data[a:m] and v = data[m:b] in data: // Data of the form 'x u v y' is changed to 'x v u y'. // rotate performs at most b-a many calls to data.Swap, // and it assumes non-degenerate arguments: a < m && m < b. func rotateCmpFunc[E any](data []E, a, m, b int, cmp func(a, b E) int) { i := m - a j := b - m for i != j { if i > j { swapRangeCmpFunc(data, m-i, m, j, cmp) i -= j } else { swapRangeCmpFunc(data, m-i, m+j-i, i, cmp) j -= i } } // i == j swapRangeCmpFunc(data, m-i, m, i, cmp) } dependencies/pkg/mod/golang.org/x/exp@v0.0.0-20240506185415-9bf2ced13842/slices/slices_test.go0000644000000000000000000006327215107355263027065 0ustar rootroot// Copyright 2021 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 slices import ( "math" "strings" "testing" ) var raceEnabled bool var equalIntTests = []struct { s1, s2 []int want bool }{ { []int{1}, nil, false, }, { []int{}, nil, true, }, { []int{1, 2, 3}, []int{1, 2, 3}, true, }, { []int{1, 2, 3}, []int{1, 2, 3, 4}, false, }, } var equalFloatTests = []struct { s1, s2 []float64 wantEqual bool wantEqualNaN bool }{ { []float64{1, 2}, []float64{1, 2}, true, true, }, { []float64{1, 2, math.NaN()}, []float64{1, 2, math.NaN()}, false, true, }, } func TestEqual(t *testing.T) { for _, test := range equalIntTests { if got := Equal(test.s1, test.s2); got != test.want { t.Errorf("Equal(%v, %v) = %t, want %t", test.s1, test.s2, got, test.want) } } for _, test := range equalFloatTests { if got := Equal(test.s1, test.s2); got != test.wantEqual { t.Errorf("Equal(%v, %v) = %t, want %t", test.s1, test.s2, got, test.wantEqual) } } } // equal is simply ==. func equal[T comparable](v1, v2 T) bool { return v1 == v2 } // equalNaN is like == except that all NaNs are equal. func equalNaN[T comparable](v1, v2 T) bool { isNaN := func(f T) bool { return f != f } return v1 == v2 || (isNaN(v1) && isNaN(v2)) } // offByOne returns true if integers v1 and v2 differ by 1. func offByOne(v1, v2 int) bool { return v1 == v2+1 || v1 == v2-1 } func TestEqualFunc(t *testing.T) { for _, test := range equalIntTests { if got := EqualFunc(test.s1, test.s2, equal[int]); got != test.want { t.Errorf("EqualFunc(%v, %v, equal[int]) = %t, want %t", test.s1, test.s2, got, test.want) } } for _, test := range equalFloatTests { if got := EqualFunc(test.s1, test.s2, equal[float64]); got != test.wantEqual { t.Errorf("Equal(%v, %v, equal[float64]) = %t, want %t", test.s1, test.s2, got, test.wantEqual) } if got := EqualFunc(test.s1, test.s2, equalNaN[float64]); got != test.wantEqualNaN { t.Errorf("Equal(%v, %v, equalNaN[float64]) = %t, want %t", test.s1, test.s2, got, test.wantEqualNaN) } } s1 := []int{1, 2, 3} s2 := []int{2, 3, 4} if EqualFunc(s1, s1, offByOne) { t.Errorf("EqualFunc(%v, %v, offByOne) = true, want false", s1, s1) } if !EqualFunc(s1, s2, offByOne) { t.Errorf("EqualFunc(%v, %v, offByOne) = false, want true", s1, s2) } s3 := []string{"a", "b", "c"} s4 := []string{"A", "B", "C"} if !EqualFunc(s3, s4, strings.EqualFold) { t.Errorf("EqualFunc(%v, %v, strings.EqualFold) = false, want true", s3, s4) } cmpIntString := func(v1 int, v2 string) bool { return string(rune(v1)-1+'a') == v2 } if !EqualFunc(s1, s3, cmpIntString) { t.Errorf("EqualFunc(%v, %v, cmpIntString) = false, want true", s1, s3) } } func BenchmarkEqualFunc_Large(b *testing.B) { type Large [4 * 1024]byte xs := make([]Large, 1024) ys := make([]Large, 1024) for i := 0; i < b.N; i++ { _ = EqualFunc(xs, ys, func(x, y Large) bool { return x == y }) } } var compareIntTests = []struct { s1, s2 []int want int }{ { []int{1}, []int{1}, 0, }, { []int{1}, []int{}, 1, }, { []int{}, []int{1}, -1, }, { []int{}, []int{}, 0, }, { []int{1, 2, 3}, []int{1, 2, 3}, 0, }, { []int{1, 2, 3}, []int{1, 2, 3, 4}, -1, }, { []int{1, 2, 3, 4}, []int{1, 2, 3}, +1, }, { []int{1, 2, 3}, []int{1, 4, 3}, -1, }, { []int{1, 4, 3}, []int{1, 2, 3}, +1, }, { []int{1, 4, 3}, []int{1, 2, 3, 8, 9}, +1, }, } var compareFloatTests = []struct { s1, s2 []float64 want int }{ { []float64{}, []float64{}, 0, }, { []float64{1}, []float64{1}, 0, }, { []float64{math.NaN()}, []float64{math.NaN()}, 0, }, { []float64{1, 2, math.NaN()}, []float64{1, 2, math.NaN()}, 0, }, { []float64{1, math.NaN(), 3}, []float64{1, math.NaN(), 4}, -1, }, { []float64{1, math.NaN(), 3}, []float64{1, 2, 4}, -1, }, { []float64{1, math.NaN(), 3}, []float64{1, 2, math.NaN()}, -1, }, { []float64{1, 2, 3}, []float64{1, 2, math.NaN()}, +1, }, { []float64{1, 2, 3}, []float64{1, math.NaN(), 3}, +1, }, { []float64{1, math.NaN(), 3, 4}, []float64{1, 2, math.NaN()}, -1, }, } func TestCompare(t *testing.T) { intWant := func(want bool) string { if want { return "0" } return "!= 0" } for _, test := range equalIntTests { if got := Compare(test.s1, test.s2); (got == 0) != test.want { t.Errorf("Compare(%v, %v) = %d, want %s", test.s1, test.s2, got, intWant(test.want)) } } for _, test := range equalFloatTests { if got := Compare(test.s1, test.s2); (got == 0) != test.wantEqualNaN { t.Errorf("Compare(%v, %v) = %d, want %s", test.s1, test.s2, got, intWant(test.wantEqualNaN)) } } for _, test := range compareIntTests { if got := Compare(test.s1, test.s2); got != test.want { t.Errorf("Compare(%v, %v) = %d, want %d", test.s1, test.s2, got, test.want) } } for _, test := range compareFloatTests { if got := Compare(test.s1, test.s2); got != test.want { t.Errorf("Compare(%v, %v) = %d, want %d", test.s1, test.s2, got, test.want) } } } func equalToCmp[T comparable](eq func(T, T) bool) func(T, T) int { return func(v1, v2 T) int { if eq(v1, v2) { return 0 } return 1 } } func TestCompareFunc(t *testing.T) { intWant := func(want bool) string { if want { return "0" } return "!= 0" } for _, test := range equalIntTests { if got := CompareFunc(test.s1, test.s2, equalToCmp(equal[int])); (got == 0) != test.want { t.Errorf("CompareFunc(%v, %v, equalToCmp(equal[int])) = %d, want %s", test.s1, test.s2, got, intWant(test.want)) } } for _, test := range equalFloatTests { if got := CompareFunc(test.s1, test.s2, equalToCmp(equal[float64])); (got == 0) != test.wantEqual { t.Errorf("CompareFunc(%v, %v, equalToCmp(equal[float64])) = %d, want %s", test.s1, test.s2, got, intWant(test.wantEqual)) } } for _, test := range compareIntTests { if got := CompareFunc(test.s1, test.s2, cmpCompare[int]); got != test.want { t.Errorf("CompareFunc(%v, %v, cmp[int]) = %d, want %d", test.s1, test.s2, got, test.want) } } for _, test := range compareFloatTests { if got := CompareFunc(test.s1, test.s2, cmpCompare[float64]); got != test.want { t.Errorf("CompareFunc(%v, %v, cmp[float64]) = %d, want %d", test.s1, test.s2, got, test.want) } } s1 := []int{1, 2, 3} s2 := []int{2, 3, 4} if got := CompareFunc(s1, s2, equalToCmp(offByOne)); got != 0 { t.Errorf("CompareFunc(%v, %v, offByOne) = %d, want 0", s1, s2, got) } s3 := []string{"a", "b", "c"} s4 := []string{"A", "B", "C"} if got := CompareFunc(s3, s4, strings.Compare); got != 1 { t.Errorf("CompareFunc(%v, %v, strings.Compare) = %d, want 1", s3, s4, got) } compareLower := func(v1, v2 string) int { return strings.Compare(strings.ToLower(v1), strings.ToLower(v2)) } if got := CompareFunc(s3, s4, compareLower); got != 0 { t.Errorf("CompareFunc(%v, %v, compareLower) = %d, want 0", s3, s4, got) } cmpIntString := func(v1 int, v2 string) int { return strings.Compare(string(rune(v1)-1+'a'), v2) } if got := CompareFunc(s1, s3, cmpIntString); got != 0 { t.Errorf("CompareFunc(%v, %v, cmpIntString) = %d, want 0", s1, s3, got) } } var indexTests = []struct { s []int v int want int }{ { nil, 0, -1, }, { []int{}, 0, -1, }, { []int{1, 2, 3}, 2, 1, }, { []int{1, 2, 2, 3}, 2, 1, }, { []int{1, 2, 3, 2}, 2, 1, }, } func TestIndex(t *testing.T) { for _, test := range indexTests { if got := Index(test.s, test.v); got != test.want { t.Errorf("Index(%v, %v) = %d, want %d", test.s, test.v, got, test.want) } } } func equalToIndex[T any](f func(T, T) bool, v1 T) func(T) bool { return func(v2 T) bool { return f(v1, v2) } } func BenchmarkIndex_Large(b *testing.B) { type Large [4 * 1024]byte ss := make([]Large, 1024) for i := 0; i < b.N; i++ { _ = Index(ss, Large{1}) } } func TestIndexFunc(t *testing.T) { for _, test := range indexTests { if got := IndexFunc(test.s, equalToIndex(equal[int], test.v)); got != test.want { t.Errorf("IndexFunc(%v, equalToIndex(equal[int], %v)) = %d, want %d", test.s, test.v, got, test.want) } } s1 := []string{"hi", "HI"} if got := IndexFunc(s1, equalToIndex(equal[string], "HI")); got != 1 { t.Errorf("IndexFunc(%v, equalToIndex(equal[string], %q)) = %d, want %d", s1, "HI", got, 1) } if got := IndexFunc(s1, equalToIndex(strings.EqualFold, "HI")); got != 0 { t.Errorf("IndexFunc(%v, equalToIndex(strings.EqualFold, %q)) = %d, want %d", s1, "HI", got, 0) } } func BenchmarkIndexFunc_Large(b *testing.B) { type Large [4 * 1024]byte ss := make([]Large, 1024) for i := 0; i < b.N; i++ { _ = IndexFunc(ss, func(e Large) bool { return e == Large{1} }) } } func TestContains(t *testing.T) { for _, test := range indexTests { if got := Contains(test.s, test.v); got != (test.want != -1) { t.Errorf("Contains(%v, %v) = %t, want %t", test.s, test.v, got, test.want != -1) } } } func TestContainsFunc(t *testing.T) { for _, test := range indexTests { if got := ContainsFunc(test.s, equalToIndex(equal[int], test.v)); got != (test.want != -1) { t.Errorf("ContainsFunc(%v, equalToIndex(equal[int], %v)) = %t, want %t", test.s, test.v, got, test.want != -1) } } s1 := []string{"hi", "HI"} if got := ContainsFunc(s1, equalToIndex(equal[string], "HI")); got != true { t.Errorf("ContainsFunc(%v, equalToContains(equal[string], %q)) = %t, want %t", s1, "HI", got, true) } if got := ContainsFunc(s1, equalToIndex(equal[string], "hI")); got != false { t.Errorf("ContainsFunc(%v, equalToContains(strings.EqualFold, %q)) = %t, want %t", s1, "hI", got, false) } if got := ContainsFunc(s1, equalToIndex(strings.EqualFold, "hI")); got != true { t.Errorf("ContainsFunc(%v, equalToContains(strings.EqualFold, %q)) = %t, want %t", s1, "hI", got, true) } } var insertTests = []struct { s []int i int add []int want []int }{ { []int{1, 2, 3}, 0, []int{4}, []int{4, 1, 2, 3}, }, { []int{1, 2, 3}, 1, []int{4}, []int{1, 4, 2, 3}, }, { []int{1, 2, 3}, 3, []int{4}, []int{1, 2, 3, 4}, }, { []int{1, 2, 3}, 2, []int{4, 5}, []int{1, 2, 4, 5, 3}, }, } func TestInsert(t *testing.T) { s := []int{1, 2, 3} if got := Insert(s, 0); !Equal(got, s) { t.Errorf("Insert(%v, 0) = %v, want %v", s, got, s) } for _, test := range insertTests { copy := Clone(test.s) if got := Insert(copy, test.i, test.add...); !Equal(got, test.want) { t.Errorf("Insert(%v, %d, %v...) = %v, want %v", test.s, test.i, test.add, got, test.want) } } if !raceEnabled { // Allocations should be amortized. const count = 50 n := testing.AllocsPerRun(10, func() { s := []int{1, 2, 3} for i := 0; i < count; i++ { s = Insert(s, 0, 1) } }) if n > count/2 { t.Errorf("too many allocations inserting %d elements: got %v, want less than %d", count, n, count/2) } } } func TestInsertOverlap(t *testing.T) { const N = 10 a := make([]int, N) want := make([]int, 2*N) for n := 0; n <= N; n++ { // length for i := 0; i <= n; i++ { // insertion point for x := 0; x <= N; x++ { // start of inserted data for y := x; y <= N; y++ { // end of inserted data for k := 0; k < N; k++ { a[k] = k } want = want[:0] want = append(want, a[:i]...) want = append(want, a[x:y]...) want = append(want, a[i:n]...) got := Insert(a[:n], i, a[x:y]...) if !Equal(got, want) { t.Errorf("Insert with overlap failed n=%d i=%d x=%d y=%d, got %v want %v", n, i, x, y, got, want) } } } } } } var deleteTests = []struct { s []int i, j int want []int }{ { []int{1, 2, 3}, 0, 0, []int{1, 2, 3}, }, { []int{1, 2, 3}, 0, 1, []int{2, 3}, }, { []int{1, 2, 3}, 3, 3, []int{1, 2, 3}, }, { []int{1, 2, 3}, 0, 2, []int{3}, }, { []int{1, 2, 3}, 0, 3, []int{}, }, } func TestDelete(t *testing.T) { for _, test := range deleteTests { copy := Clone(test.s) if got := Delete(copy, test.i, test.j); !Equal(got, test.want) { t.Errorf("Delete(%v, %d, %d) = %v, want %v", test.s, test.i, test.j, got, test.want) } } } var deleteFuncTests = []struct { s []int fn func(int) bool want []int }{ { nil, func(int) bool { return true }, nil, }, { []int{1, 2, 3}, func(int) bool { return true }, nil, }, { []int{1, 2, 3}, func(int) bool { return false }, []int{1, 2, 3}, }, { []int{1, 2, 3}, func(i int) bool { return i > 2 }, []int{1, 2}, }, { []int{1, 2, 3}, func(i int) bool { return i < 2 }, []int{2, 3}, }, { []int{10, 2, 30}, func(i int) bool { return i >= 10 }, []int{2}, }, } func TestDeleteFunc(t *testing.T) { for i, test := range deleteFuncTests { copy := Clone(test.s) if got := DeleteFunc(copy, test.fn); !Equal(got, test.want) { t.Errorf("DeleteFunc case %d: got %v, want %v", i, got, test.want) } } } func panics(f func()) (b bool) { defer func() { if x := recover(); x != nil { b = true } }() f() return false } func TestDeletePanics(t *testing.T) { for _, test := range []struct { name string s []int i, j int }{ {"with negative first index", []int{42}, -2, 1}, {"with negative second index", []int{42}, 1, -1}, {"with out-of-bounds first index", []int{42}, 2, 3}, {"with out-of-bounds second index", []int{42}, 0, 2}, {"with invalid i>j", []int{42}, 1, 0}, } { if !panics(func() { Delete(test.s, test.i, test.j) }) { t.Errorf("Delete %s: got no panic, want panic", test.name) } } } func TestDeleteClearTail(t *testing.T) { mem := []*int{new(int), new(int), new(int), new(int), new(int), new(int)} s := mem[0:5] // there is 1 element beyond len(s), within cap(s) s = Delete(s, 2, 4) if mem[3] != nil || mem[4] != nil { // Check that potential memory leak is avoided t.Errorf("Delete: want nil discarded elements, got %v, %v", mem[3], mem[4]) } if mem[5] == nil { t.Errorf("Delete: want unchanged elements beyond original len, got nil") } } func TestDeleteFuncClearTail(t *testing.T) { mem := []*int{new(int), new(int), new(int), new(int), new(int), new(int)} *mem[2], *mem[3] = 42, 42 s := mem[0:5] // there is 1 element beyond len(s), within cap(s) s = DeleteFunc(s, func(i *int) bool { return i != nil && *i == 42 }) if mem[3] != nil || mem[4] != nil { // Check that potential memory leak is avoided t.Errorf("DeleteFunc: want nil discarded elements, got %v, %v", mem[3], mem[4]) } if mem[5] == nil { t.Errorf("DeleteFunc: want unchanged elements beyond original len, got nil") } } func TestClone(t *testing.T) { s1 := []int{1, 2, 3} s2 := Clone(s1) if !Equal(s1, s2) { t.Errorf("Clone(%v) = %v, want %v", s1, s2, s1) } s1[0] = 4 want := []int{1, 2, 3} if !Equal(s2, want) { t.Errorf("Clone(%v) changed unexpectedly to %v", want, s2) } if got := Clone([]int(nil)); got != nil { t.Errorf("Clone(nil) = %#v, want nil", got) } if got := Clone(s1[:0]); got == nil || len(got) != 0 { t.Errorf("Clone(%v) = %#v, want %#v", s1[:0], got, s1[:0]) } } var compactTests = []struct { name string s []int want []int }{ { "nil", nil, nil, }, { "one", []int{1}, []int{1}, }, { "sorted", []int{1, 2, 3}, []int{1, 2, 3}, }, { "1 item", []int{1, 1, 2}, []int{1, 2}, }, { "unsorted", []int{1, 2, 1}, []int{1, 2, 1}, }, { "many", []int{1, 2, 2, 3, 3, 4}, []int{1, 2, 3, 4}, }, } func TestCompact(t *testing.T) { for _, test := range compactTests { copy := Clone(test.s) if got := Compact(copy); !Equal(got, test.want) { t.Errorf("Compact(%v) = %v, want %v", test.s, got, test.want) } } } func BenchmarkCompact(b *testing.B) { for _, c := range compactTests { b.Run(c.name, func(b *testing.B) { ss := make([]int, 0, 64) for k := 0; k < b.N; k++ { ss = ss[:0] ss = append(ss, c.s...) _ = Compact(ss) } }) } } func BenchmarkCompact_Large(b *testing.B) { type Large [4 * 1024]byte ss := make([]Large, 1024) for i := 0; i < b.N; i++ { _ = Compact(ss) } } func TestCompactFunc(t *testing.T) { for _, test := range compactTests { copy := Clone(test.s) if got := CompactFunc(copy, equal[int]); !Equal(got, test.want) { t.Errorf("CompactFunc(%v, equal[int]) = %v, want %v", test.s, got, test.want) } } s1 := []string{"a", "a", "A", "B", "b"} copy := Clone(s1) want := []string{"a", "B"} if got := CompactFunc(copy, strings.EqualFold); !Equal(got, want) { t.Errorf("CompactFunc(%v, strings.EqualFold) = %v, want %v", s1, got, want) } } func TestCompactClearTail(t *testing.T) { one, two, three, four := 1, 2, 3, 4 mem := []*int{&one, &one, &two, &two, &three, &four} s := mem[0:5] // there is 1 element beyond len(s), within cap(s) copy := Clone(s) s = Compact(s) if want := []*int{&one, &two, &three}; !Equal(s, want) { t.Errorf("Compact(%v) = %v, want %v", copy, s, want) } if mem[3] != nil || mem[4] != nil { // Check that potential memory leak is avoided t.Errorf("Compact: want nil discarded elements, got %v, %v", mem[3], mem[4]) } if mem[5] != &four { t.Errorf("Compact: want unchanged element beyond original len, got %v", mem[5]) } } func TestCompactFuncClearTail(t *testing.T) { a, b, c, d, e, f := 1, 1, 2, 2, 3, 4 mem := []*int{&a, &b, &c, &d, &e, &f} s := mem[0:5] // there is 1 element beyond len(s), within cap(s) copy := Clone(s) s = CompactFunc(s, func(x, y *int) bool { if x == nil || y == nil { return x == y } return *x == *y }) if want := []*int{&a, &c, &e}; !Equal(s, want) { t.Errorf("CompactFunc(%v) = %v, want %v", copy, s, want) } if mem[3] != nil || mem[4] != nil { // Check that potential memory leak is avoided t.Errorf("CompactFunc: want nil discarded elements, got %v, %v", mem[3], mem[4]) } if mem[5] != &f { t.Errorf("CompactFunc: want unchanged elements beyond original len, got %v", mem[5]) } } func BenchmarkCompactFunc_Large(b *testing.B) { type Large [4 * 1024]byte ss := make([]Large, 1024) for i := 0; i < b.N; i++ { _ = CompactFunc(ss, func(a, b Large) bool { return a == b }) } } func TestGrow(t *testing.T) { s1 := []int{1, 2, 3} copy := Clone(s1) s2 := Grow(copy, 1000) if !Equal(s1, s2) { t.Errorf("Grow(%v) = %v, want %v", s1, s2, s1) } if cap(s2) < 1000+len(s1) { t.Errorf("after Grow(%v) cap = %d, want >= %d", s1, cap(s2), 1000+len(s1)) } // Test mutation of elements between length and capacity. copy = Clone(s1) s3 := Grow(copy[:1], 2)[:3] if !Equal(s1, s3) { t.Errorf("Grow should not mutate elements between length and capacity") } s3 = Grow(copy[:1], 1000)[:3] if !Equal(s1, s3) { t.Errorf("Grow should not mutate elements between length and capacity") } // Test number of allocations. if n := testing.AllocsPerRun(100, func() { Grow(s2, cap(s2)-len(s2)) }); n != 0 { t.Errorf("Grow should not allocate when given sufficient capacity; allocated %v times", n) } if n := testing.AllocsPerRun(100, func() { Grow(s2, cap(s2)-len(s2)+1) }); n != 1 { errorf := t.Errorf if raceEnabled { errorf = t.Logf // this allocates multiple times in race detector mode } errorf("Grow should allocate once when given insufficient capacity; allocated %v times", n) } // Test for negative growth sizes. var gotPanic bool func() { defer func() { gotPanic = recover() != nil }() Grow(s1, -1) }() if !gotPanic { t.Errorf("Grow(-1) did not panic; expected a panic") } } func TestClip(t *testing.T) { s1 := []int{1, 2, 3, 4, 5, 6}[:3] orig := Clone(s1) if len(s1) != 3 { t.Errorf("len(%v) = %d, want 3", s1, len(s1)) } if cap(s1) < 6 { t.Errorf("cap(%v[:3]) = %d, want >= 6", orig, cap(s1)) } s2 := Clip(s1) if !Equal(s1, s2) { t.Errorf("Clip(%v) = %v, want %v", s1, s2, s1) } if cap(s2) != 3 { t.Errorf("cap(Clip(%v)) = %d, want 3", orig, cap(s2)) } } func TestReverse(t *testing.T) { even := []int{3, 1, 4, 1, 5, 9} // len = 6 Reverse(even) if want := []int{9, 5, 1, 4, 1, 3}; !Equal(even, want) { t.Errorf("Reverse(even) = %v, want %v", even, want) } odd := []int{3, 1, 4, 1, 5, 9, 2} // len = 7 Reverse(odd) if want := []int{2, 9, 5, 1, 4, 1, 3}; !Equal(odd, want) { t.Errorf("Reverse(odd) = %v, want %v", odd, want) } words := strings.Fields("one two three") Reverse(words) if want := strings.Fields("three two one"); !Equal(words, want) { t.Errorf("Reverse(words) = %v, want %v", words, want) } singleton := []string{"one"} Reverse(singleton) if want := []string{"one"}; !Equal(singleton, want) { t.Errorf("Reverse(singeleton) = %v, want %v", singleton, want) } Reverse[[]string](nil) } // naiveReplace is a baseline implementation to the Replace function. func naiveReplace[S ~[]E, E any](s S, i, j int, v ...E) S { s = Delete(s, i, j) s = Insert(s, i, v...) return s } func TestReplace(t *testing.T) { for _, test := range []struct { s, v []int i, j int }{ {}, // all zero value { s: []int{1, 2, 3, 4}, v: []int{5}, i: 1, j: 2, }, { s: []int{1, 2, 3, 4}, v: []int{5, 6, 7, 8}, i: 1, j: 2, }, { s: func() []int { s := make([]int, 3, 20) s[0] = 0 s[1] = 1 s[2] = 2 return s }(), v: []int{3, 4, 5, 6, 7}, i: 0, j: 1, }, } { ss, vv := Clone(test.s), Clone(test.v) want := naiveReplace(ss, test.i, test.j, vv...) got := Replace(test.s, test.i, test.j, test.v...) if !Equal(got, want) { t.Errorf("Replace(%v, %v, %v, %v) = %v, want %v", test.s, test.i, test.j, test.v, got, want) } } } func TestReplacePanics(t *testing.T) { for _, test := range []struct { name string s, v []int i, j int }{ {"indexes out of order", []int{1, 2}, []int{3}, 2, 1}, {"large index", []int{1, 2}, []int{3}, 1, 10}, {"negative index", []int{1, 2}, []int{3}, -1, 2}, } { ss, vv := Clone(test.s), Clone(test.v) if !panics(func() { Replace(ss, test.i, test.j, vv...) }) { t.Errorf("Replace %s: should have panicked", test.name) } } } func TestReplaceGrow(t *testing.T) { // When Replace needs to allocate a new slice, we want the original slice // to not be changed. a, b, c, d, e, f := 1, 2, 3, 4, 5, 6 mem := []*int{&a, &b, &c, &d, &e, &f} memcopy := Clone(mem) s := mem[0:5] // there is 1 element beyond len(s), within cap(s) copy := Clone(s) original := s // The new elements don't fit within cap(s), so Replace will allocate. z := 99 s = Replace(s, 1, 3, &z, &z, &z, &z) if want := []*int{&a, &z, &z, &z, &z, &d, &e}; !Equal(s, want) { t.Errorf("Replace(%v, 1, 3, %v, %v, %v, %v) = %v, want %v", copy, &z, &z, &z, &z, s, want) } if !Equal(original, copy) { t.Errorf("original slice has changed, got %v, want %v", original, copy) } if !Equal(mem, memcopy) { // Changing the original tail s[len(s):cap(s)] is unwanted t.Errorf("original backing memory has changed, got %v, want %v", mem, memcopy) } } func TestReplaceClearTail(t *testing.T) { a, b, c, d, e, f := 1, 2, 3, 4, 5, 6 mem := []*int{&a, &b, &c, &d, &e, &f} s := mem[0:5] // there is 1 element beyond len(s), within cap(s) copy := Clone(s) y, z := 8, 9 s = Replace(s, 1, 4, &y, &z) if want := []*int{&a, &y, &z, &e}; !Equal(s, want) { t.Errorf("Replace(%v) = %v, want %v", copy, s, want) } if mem[4] != nil { // Check that potential memory leak is avoided t.Errorf("Replace: want nil discarded element, got %v", mem[4]) } if mem[5] != &f { t.Errorf("Replace: want unchanged elements beyond original len, got %v", mem[5]) } } func TestReplaceOverlap(t *testing.T) { const N = 10 a := make([]int, N) want := make([]int, 2*N) for n := 0; n <= N; n++ { // length for i := 0; i <= n; i++ { // insertion point 1 for j := i; j <= n; j++ { // insertion point 2 for x := 0; x <= N; x++ { // start of inserted data for y := x; y <= N; y++ { // end of inserted data for k := 0; k < N; k++ { a[k] = k } want = want[:0] want = append(want, a[:i]...) want = append(want, a[x:y]...) want = append(want, a[j:n]...) got := Replace(a[:n], i, j, a[x:y]...) if !Equal(got, want) { t.Errorf("Insert with overlap failed n=%d i=%d j=%d x=%d y=%d, got %v want %v", n, i, j, x, y, got, want) } } } } } } } func BenchmarkReplace(b *testing.B) { cases := []struct { name string s, v func() []int i, j int }{ { name: "fast", s: func() []int { return make([]int, 100) }, v: func() []int { return make([]int, 20) }, i: 10, j: 40, }, { name: "slow", s: func() []int { return make([]int, 100) }, v: func() []int { return make([]int, 20) }, i: 0, j: 2, }, } for _, c := range cases { b.Run("naive-"+c.name, func(b *testing.B) { for k := 0; k < b.N; k++ { s := c.s() v := c.v() _ = naiveReplace(s, c.i, c.j, v...) } }) b.Run("optimized-"+c.name, func(b *testing.B) { for k := 0; k < b.N; k++ { s := c.s() v := c.v() _ = Replace(s, c.i, c.j, v...) } }) } } func TestRotate(t *testing.T) { const N = 10 s := make([]int, 0, N) for n := 0; n < N; n++ { for r := 0; r < n; r++ { s = s[:0] for i := 0; i < n; i++ { s = append(s, i) } rotateLeft(s, r) for i := 0; i < n; i++ { if s[i] != (i+r)%n { t.Errorf("expected n=%d r=%d i:%d want:%d got:%d", n, r, i, (i+r)%n, s[i]) } } } } } func TestInsertGrowthRate(t *testing.T) { b := make([]byte, 1) maxCap := cap(b) nGrow := 0 const N = 1e6 for i := 0; i < N; i++ { b = Insert(b, len(b)-1, 0) if cap(b) > maxCap { maxCap = cap(b) nGrow++ } } want := int(math.Log(N) / math.Log(1.25)) // 1.25 == growth rate for large slices if nGrow > want { t.Errorf("too many grows. got:%d want:%d", nGrow, want) } } func TestReplaceGrowthRate(t *testing.T) { b := make([]byte, 2) maxCap := cap(b) nGrow := 0 const N = 1e6 for i := 0; i < N; i++ { b = Replace(b, len(b)-2, len(b)-1, 0, 0) if cap(b) > maxCap { maxCap = cap(b) nGrow++ } } want := int(math.Log(N) / math.Log(1.25)) // 1.25 == growth rate for large slices if nGrow > want { t.Errorf("too many grows. got:%d want:%d", nGrow, want) } } dependencies/pkg/mod/golang.org/x/exp@v0.0.0-20240506185415-9bf2ced13842/slices/slices_race_test.go0000644000000000000000000000034415107355263030046 0ustar rootroot// Copyright 2022 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:build race package slices func init() { raceEnabled = true } dependencies/pkg/mod/golang.org/x/exp@v0.0.0-20240506185415-9bf2ced13842/slices/sort_test.go0000644000000000000000000002362315107355263026566 0ustar rootroot// Copyright 2022 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 slices import ( "fmt" "math" "math/rand" "sort" "strconv" "strings" "testing" ) var ints = [...]int{74, 59, 238, -784, 9845, 959, 905, 0, 0, 42, 7586, -5467984, 7586} var float64s = [...]float64{74.3, 59.0, math.Inf(1), 238.2, -784.0, 2.3, math.Inf(-1), 9845.768, -959.7485, 905, 7.8, 7.8, 74.3, 59.0, math.Inf(1), 238.2, -784.0, 2.3} var float64sWithNaNs = [...]float64{74.3, 59.0, math.Inf(1), 238.2, -784.0, 2.3, math.NaN(), math.NaN(), math.Inf(-1), 9845.768, -959.7485, 905, 7.8, 7.8} var strs = [...]string{"", "Hello", "foo", "bar", "foo", "f00", "%*&^*&^&", "***"} func TestSortIntSlice(t *testing.T) { data := Clone(ints[:]) Sort(data) if !IsSorted(data) { t.Errorf("sorted %v", ints) t.Errorf(" got %v", data) } } func TestSortFuncIntSlice(t *testing.T) { data := Clone(ints[:]) SortFunc(data, func(a, b int) int { return a - b }) if !IsSorted(data) { t.Errorf("sorted %v", ints) t.Errorf(" got %v", data) } } func TestSortFloat64Slice(t *testing.T) { data := Clone(float64s[:]) Sort(data) if !IsSorted(data) { t.Errorf("sorted %v", float64s) t.Errorf(" got %v", data) } } func TestSortFloat64SliceWithNaNs(t *testing.T) { data := float64sWithNaNs[:] data2 := Clone(data) Sort(data) sort.Float64s(data2) if !IsSorted(data) { t.Error("IsSorted indicates data isn't sorted") } // Compare for equality using cmp.Compare, which considers NaNs equal. if !EqualFunc(data, data2, func(a, b float64) bool { return cmpCompare(a, b) == 0 }) { t.Errorf("mismatch between Sort and sort.Float64: got %v, want %v", data, data2) } } func TestSortStringSlice(t *testing.T) { data := Clone(strs[:]) Sort(data) if !IsSorted(data) { t.Errorf("sorted %v", strs) t.Errorf(" got %v", data) } } func TestSortLarge_Random(t *testing.T) { n := 1000000 if testing.Short() { n /= 100 } data := make([]int, n) for i := 0; i < len(data); i++ { data[i] = rand.Intn(100) } if IsSorted(data) { t.Fatalf("terrible rand.rand") } Sort(data) if !IsSorted(data) { t.Errorf("sort didn't sort - 1M ints") } } type intPair struct { a, b int } type intPairs []intPair // Pairs compare on a only. func intPairCmp(x, y intPair) int { return x.a - y.a } // Record initial order in B. func (d intPairs) initB() { for i := range d { d[i].b = i } } // InOrder checks if a-equal elements were not reordered. func (d intPairs) inOrder() bool { lastA, lastB := -1, 0 for i := 0; i < len(d); i++ { if lastA != d[i].a { lastA = d[i].a lastB = d[i].b continue } if d[i].b <= lastB { return false } lastB = d[i].b } return true } func TestStability(t *testing.T) { n, m := 100000, 1000 if testing.Short() { n, m = 1000, 100 } data := make(intPairs, n) // random distribution for i := 0; i < len(data); i++ { data[i].a = rand.Intn(m) } if IsSortedFunc(data, intPairCmp) { t.Fatalf("terrible rand.rand") } data.initB() SortStableFunc(data, intPairCmp) if !IsSortedFunc(data, intPairCmp) { t.Errorf("Stable didn't sort %d ints", n) } if !data.inOrder() { t.Errorf("Stable wasn't stable on %d ints", n) } // already sorted data.initB() SortStableFunc(data, intPairCmp) if !IsSortedFunc(data, intPairCmp) { t.Errorf("Stable shuffled sorted %d ints (order)", n) } if !data.inOrder() { t.Errorf("Stable shuffled sorted %d ints (stability)", n) } // sorted reversed for i := 0; i < len(data); i++ { data[i].a = len(data) - i } data.initB() SortStableFunc(data, intPairCmp) if !IsSortedFunc(data, intPairCmp) { t.Errorf("Stable didn't sort %d ints", n) } if !data.inOrder() { t.Errorf("Stable wasn't stable on %d ints", n) } } type S struct { a int b string } func cmpS(s1, s2 S) int { return cmpCompare(s1.a, s2.a) } func TestMinMax(t *testing.T) { intCmp := func(a, b int) int { return a - b } tests := []struct { data []int wantMin int wantMax int }{ {[]int{7}, 7, 7}, {[]int{1, 2}, 1, 2}, {[]int{2, 1}, 1, 2}, {[]int{1, 2, 3}, 1, 3}, {[]int{3, 2, 1}, 1, 3}, {[]int{2, 1, 3}, 1, 3}, {[]int{2, 2, 3}, 2, 3}, {[]int{3, 2, 3}, 2, 3}, {[]int{0, 2, -9}, -9, 2}, } for _, tt := range tests { t.Run(fmt.Sprintf("%v", tt.data), func(t *testing.T) { gotMin := Min(tt.data) if gotMin != tt.wantMin { t.Errorf("Min got %v, want %v", gotMin, tt.wantMin) } gotMinFunc := MinFunc(tt.data, intCmp) if gotMinFunc != tt.wantMin { t.Errorf("MinFunc got %v, want %v", gotMinFunc, tt.wantMin) } gotMax := Max(tt.data) if gotMax != tt.wantMax { t.Errorf("Max got %v, want %v", gotMax, tt.wantMax) } gotMaxFunc := MaxFunc(tt.data, intCmp) if gotMaxFunc != tt.wantMax { t.Errorf("MaxFunc got %v, want %v", gotMaxFunc, tt.wantMax) } }) } svals := []S{ {1, "a"}, {2, "a"}, {1, "b"}, {2, "b"}, } gotMin := MinFunc(svals, cmpS) wantMin := S{1, "a"} if gotMin != wantMin { t.Errorf("MinFunc(%v) = %v, want %v", svals, gotMin, wantMin) } gotMax := MaxFunc(svals, cmpS) wantMax := S{2, "a"} if gotMax != wantMax { t.Errorf("MaxFunc(%v) = %v, want %v", svals, gotMax, wantMax) } } func TestMinMaxNaNs(t *testing.T) { fs := []float64{1.0, 999.9, 3.14, -400.4, -5.14} if Min(fs) != -400.4 { t.Errorf("got min %v, want -400.4", Min(fs)) } if Max(fs) != 999.9 { t.Errorf("got max %v, want 999.9", Max(fs)) } // No matter which element of fs is replaced with a NaN, both Min and Max // should propagate the NaN to their output. for i := 0; i < len(fs); i++ { testfs := Clone(fs) testfs[i] = math.NaN() fmin := Min(testfs) if !math.IsNaN(fmin) { t.Errorf("got min %v, want NaN", fmin) } fmax := Max(testfs) if !math.IsNaN(fmax) { t.Errorf("got max %v, want NaN", fmax) } } } func TestMinMaxPanics(t *testing.T) { intCmp := func(a, b int) int { return a - b } emptySlice := []int{} if !panics(func() { Min(emptySlice) }) { t.Errorf("Min([]): got no panic, want panic") } if !panics(func() { Max(emptySlice) }) { t.Errorf("Max([]): got no panic, want panic") } if !panics(func() { MinFunc(emptySlice, intCmp) }) { t.Errorf("MinFunc([]): got no panic, want panic") } if !panics(func() { MaxFunc(emptySlice, intCmp) }) { t.Errorf("MaxFunc([]): got no panic, want panic") } } func TestBinarySearch(t *testing.T) { str1 := []string{"foo"} str2 := []string{"ab", "ca"} str3 := []string{"mo", "qo", "vo"} str4 := []string{"ab", "ad", "ca", "xy"} // slice with repeating elements strRepeats := []string{"ba", "ca", "da", "da", "da", "ka", "ma", "ma", "ta"} // slice with all element equal strSame := []string{"xx", "xx", "xx"} tests := []struct { data []string target string wantPos int wantFound bool }{ {[]string{}, "foo", 0, false}, {[]string{}, "", 0, false}, {str1, "foo", 0, true}, {str1, "bar", 0, false}, {str1, "zx", 1, false}, {str2, "aa", 0, false}, {str2, "ab", 0, true}, {str2, "ad", 1, false}, {str2, "ca", 1, true}, {str2, "ra", 2, false}, {str3, "bb", 0, false}, {str3, "mo", 0, true}, {str3, "nb", 1, false}, {str3, "qo", 1, true}, {str3, "tr", 2, false}, {str3, "vo", 2, true}, {str3, "xr", 3, false}, {str4, "aa", 0, false}, {str4, "ab", 0, true}, {str4, "ac", 1, false}, {str4, "ad", 1, true}, {str4, "ax", 2, false}, {str4, "ca", 2, true}, {str4, "cc", 3, false}, {str4, "dd", 3, false}, {str4, "xy", 3, true}, {str4, "zz", 4, false}, {strRepeats, "da", 2, true}, {strRepeats, "db", 5, false}, {strRepeats, "ma", 6, true}, {strRepeats, "mb", 8, false}, {strSame, "xx", 0, true}, {strSame, "ab", 0, false}, {strSame, "zz", 3, false}, } for _, tt := range tests { t.Run(tt.target, func(t *testing.T) { { pos, found := BinarySearch(tt.data, tt.target) if pos != tt.wantPos || found != tt.wantFound { t.Errorf("BinarySearch got (%v, %v), want (%v, %v)", pos, found, tt.wantPos, tt.wantFound) } } { pos, found := BinarySearchFunc(tt.data, tt.target, strings.Compare) if pos != tt.wantPos || found != tt.wantFound { t.Errorf("BinarySearchFunc got (%v, %v), want (%v, %v)", pos, found, tt.wantPos, tt.wantFound) } } }) } } func TestBinarySearchInts(t *testing.T) { data := []int{20, 30, 40, 50, 60, 70, 80, 90} tests := []struct { target int wantPos int wantFound bool }{ {20, 0, true}, {23, 1, false}, {43, 3, false}, {80, 6, true}, } for _, tt := range tests { t.Run(strconv.Itoa(tt.target), func(t *testing.T) { { pos, found := BinarySearch(data, tt.target) if pos != tt.wantPos || found != tt.wantFound { t.Errorf("BinarySearch got (%v, %v), want (%v, %v)", pos, found, tt.wantPos, tt.wantFound) } } { cmp := func(a, b int) int { return a - b } pos, found := BinarySearchFunc(data, tt.target, cmp) if pos != tt.wantPos || found != tt.wantFound { t.Errorf("BinarySearchFunc got (%v, %v), want (%v, %v)", pos, found, tt.wantPos, tt.wantFound) } } }) } } func TestBinarySearchFloats(t *testing.T) { data := []float64{math.NaN(), -0.25, 0.0, 1.4} tests := []struct { target float64 wantPos int wantFound bool }{ {math.NaN(), 0, true}, {math.Inf(-1), 1, false}, {-0.25, 1, true}, {0.0, 2, true}, {1.4, 3, true}, {1.5, 4, false}, } for _, tt := range tests { t.Run(fmt.Sprintf("%v", tt.target), func(t *testing.T) { { pos, found := BinarySearch(data, tt.target) if pos != tt.wantPos || found != tt.wantFound { t.Errorf("BinarySearch got (%v, %v), want (%v, %v)", pos, found, tt.wantPos, tt.wantFound) } } }) } } func TestBinarySearchFunc(t *testing.T) { data := []int{1, 10, 11, 2} // sorted lexicographically cmp := func(a int, b string) int { return strings.Compare(strconv.Itoa(a), b) } pos, found := BinarySearchFunc(data, "2", cmp) if pos != 3 || !found { t.Errorf("BinarySearchFunc(%v, %q, cmp) = %v, %v, want %v, %v", data, "2", pos, found, 3, true) } } dependencies/pkg/mod/golang.org/x/exp@v0.0.0-20240506185415-9bf2ced13842/slices/cmp.go0000644000000000000000000000172015107355263025311 0ustar rootroot// Copyright 2023 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 slices import "golang.org/x/exp/constraints" // min is a version of the predeclared function from the Go 1.21 release. func min[T constraints.Ordered](a, b T) T { if a < b || isNaN(a) { return a } return b } // max is a version of the predeclared function from the Go 1.21 release. func max[T constraints.Ordered](a, b T) T { if a > b || isNaN(a) { return a } return b } // cmpLess is a copy of cmp.Less from the Go 1.21 release. func cmpLess[T constraints.Ordered](x, y T) bool { return (isNaN(x) && !isNaN(y)) || x < y } // cmpCompare is a copy of cmp.Compare from the Go 1.21 release. func cmpCompare[T constraints.Ordered](x, y T) int { xNaN := isNaN(x) yNaN := isNaN(y) if xNaN && yNaN { return 0 } if xNaN || x < y { return -1 } if yNaN || x > y { return +1 } return 0 } dependencies/pkg/mod/golang.org/x/exp@v0.0.0-20240506185415-9bf2ced13842/slices/sort.go0000644000000000000000000001362415107355263025527 0ustar rootroot// Copyright 2022 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 $GOROOT/src/sort/gen_sort_variants.go -exp package slices import ( "math/bits" "golang.org/x/exp/constraints" ) // Sort sorts a slice of any ordered type in ascending order. // When sorting floating-point numbers, NaNs are ordered before other values. func Sort[S ~[]E, E constraints.Ordered](x S) { n := len(x) pdqsortOrdered(x, 0, n, bits.Len(uint(n))) } // SortFunc sorts the slice x in ascending order as determined by the cmp // function. This sort is not guaranteed to be stable. // cmp(a, b) should return a negative number when a < b, a positive number when // a > b and zero when a == b. // // SortFunc requires that cmp is a strict weak ordering. // See https://en.wikipedia.org/wiki/Weak_ordering#Strict_weak_orderings. func SortFunc[S ~[]E, E any](x S, cmp func(a, b E) int) { n := len(x) pdqsortCmpFunc(x, 0, n, bits.Len(uint(n)), cmp) } // SortStableFunc sorts the slice x while keeping the original order of equal // elements, using cmp to compare elements in the same way as [SortFunc]. func SortStableFunc[S ~[]E, E any](x S, cmp func(a, b E) int) { stableCmpFunc(x, len(x), cmp) } // IsSorted reports whether x is sorted in ascending order. func IsSorted[S ~[]E, E constraints.Ordered](x S) bool { for i := len(x) - 1; i > 0; i-- { if cmpLess(x[i], x[i-1]) { return false } } return true } // IsSortedFunc reports whether x is sorted in ascending order, with cmp as the // comparison function as defined by [SortFunc]. func IsSortedFunc[S ~[]E, E any](x S, cmp func(a, b E) int) bool { for i := len(x) - 1; i > 0; i-- { if cmp(x[i], x[i-1]) < 0 { return false } } return true } // Min returns the minimal value in x. It panics if x is empty. // For floating-point numbers, Min propagates NaNs (any NaN value in x // forces the output to be NaN). func Min[S ~[]E, E constraints.Ordered](x S) E { if len(x) < 1 { panic("slices.Min: empty list") } m := x[0] for i := 1; i < len(x); i++ { m = min(m, x[i]) } return m } // MinFunc returns the minimal value in x, using cmp to compare elements. // It panics if x is empty. If there is more than one minimal element // according to the cmp function, MinFunc returns the first one. func MinFunc[S ~[]E, E any](x S, cmp func(a, b E) int) E { if len(x) < 1 { panic("slices.MinFunc: empty list") } m := x[0] for i := 1; i < len(x); i++ { if cmp(x[i], m) < 0 { m = x[i] } } return m } // Max returns the maximal value in x. It panics if x is empty. // For floating-point E, Max propagates NaNs (any NaN value in x // forces the output to be NaN). func Max[S ~[]E, E constraints.Ordered](x S) E { if len(x) < 1 { panic("slices.Max: empty list") } m := x[0] for i := 1; i < len(x); i++ { m = max(m, x[i]) } return m } // MaxFunc returns the maximal value in x, using cmp to compare elements. // It panics if x is empty. If there is more than one maximal element // according to the cmp function, MaxFunc returns the first one. func MaxFunc[S ~[]E, E any](x S, cmp func(a, b E) int) E { if len(x) < 1 { panic("slices.MaxFunc: empty list") } m := x[0] for i := 1; i < len(x); i++ { if cmp(x[i], m) > 0 { m = x[i] } } return m } // BinarySearch searches for target in a sorted slice and returns the position // where target is found, or the position where target would appear in the // sort order; it also returns a bool saying whether the target is really found // in the slice. The slice must be sorted in increasing order. func BinarySearch[S ~[]E, E constraints.Ordered](x S, target E) (int, bool) { // Inlining is faster than calling BinarySearchFunc with a lambda. n := len(x) // Define x[-1] < target and x[n] >= target. // Invariant: x[i-1] < target, x[j] >= target. i, j := 0, n for i < j { h := int(uint(i+j) >> 1) // avoid overflow when computing h // i ≤ h < j if cmpLess(x[h], target) { i = h + 1 // preserves x[i-1] < target } else { j = h // preserves x[j] >= target } } // i == j, x[i-1] < target, and x[j] (= x[i]) >= target => answer is i. return i, i < n && (x[i] == target || (isNaN(x[i]) && isNaN(target))) } // BinarySearchFunc works like [BinarySearch], but uses a custom comparison // function. The slice must be sorted in increasing order, where "increasing" // is defined by cmp. cmp should return 0 if the slice element matches // the target, a negative number if the slice element precedes the target, // or a positive number if the slice element follows the target. // cmp must implement the same ordering as the slice, such that if // cmp(a, t) < 0 and cmp(b, t) >= 0, then a must precede b in the slice. func BinarySearchFunc[S ~[]E, E, T any](x S, target T, cmp func(E, T) int) (int, bool) { n := len(x) // Define cmp(x[-1], target) < 0 and cmp(x[n], target) >= 0 . // Invariant: cmp(x[i - 1], target) < 0, cmp(x[j], target) >= 0. i, j := 0, n for i < j { h := int(uint(i+j) >> 1) // avoid overflow when computing h // i ≤ h < j if cmp(x[h], target) < 0 { i = h + 1 // preserves cmp(x[i - 1], target) < 0 } else { j = h // preserves cmp(x[j], target) >= 0 } } // i == j, cmp(x[i-1], target) < 0, and cmp(x[j], target) (= cmp(x[i], target)) >= 0 => answer is i. return i, i < n && cmp(x[i], target) == 0 } type sortedHint int // hint for pdqsort when choosing the pivot const ( unknownHint sortedHint = iota increasingHint decreasingHint ) // xorshift paper: https://www.jstatsoft.org/article/view/v008i14/xorshift.pdf type xorshift uint64 func (r *xorshift) Next() uint64 { *r ^= *r << 13 *r ^= *r >> 17 *r ^= *r << 5 return uint64(*r) } func nextPowerOfTwo(length int) uint { return 1 << bits.Len(uint(length)) } // isNaN reports whether x is a NaN without requiring the math package. // This will always return false if T is not floating-point. func isNaN[T constraints.Ordered](x T) bool { return x != x } ././@LongLink0000644000000000000000000000014700000000000011605 Lustar rootrootdependencies/pkg/mod/golang.org/x/exp@v0.0.0-20240506185415-9bf2ced13842/slices/sort_benchmark_test.godependencies/pkg/mod/golang.org/x/exp@v0.0.0-20240506185415-9bf2ced13842/slices/sort_benchmark_test.0000644000000000000000000001327415107355263030253 0ustar rootroot// Copyright 2022 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 slices import ( "fmt" "math/rand" "sort" "strconv" "strings" "testing" ) // These benchmarks compare sorting a large slice of int with sort.Ints vs. // slices.Sort func makeRandomInts(n int) []int { rand.Seed(42) ints := make([]int, n) for i := 0; i < n; i++ { ints[i] = rand.Intn(n) } return ints } func makeSortedInts(n int) []int { ints := make([]int, n) for i := 0; i < n; i++ { ints[i] = i } return ints } func makeReversedInts(n int) []int { ints := make([]int, n) for i := 0; i < n; i++ { ints[i] = n - i } return ints } const N = 100_000 func BenchmarkSortInts(b *testing.B) { for i := 0; i < b.N; i++ { b.StopTimer() ints := makeRandomInts(N) b.StartTimer() sort.Ints(ints) } } func makeSortedStrings(n int) []string { x := make([]string, n) for i := 0; i < n; i++ { x[i] = strconv.Itoa(i) } Sort(x) return x } func BenchmarkSlicesSortInts(b *testing.B) { for i := 0; i < b.N; i++ { b.StopTimer() ints := makeRandomInts(N) b.StartTimer() Sort(ints) } } func BenchmarkSlicesSortInts_Sorted(b *testing.B) { for i := 0; i < b.N; i++ { b.StopTimer() ints := makeSortedInts(N) b.StartTimer() Sort(ints) } } func BenchmarkSlicesSortInts_Reversed(b *testing.B) { for i := 0; i < b.N; i++ { b.StopTimer() ints := makeReversedInts(N) b.StartTimer() Sort(ints) } } func BenchmarkIntsAreSorted(b *testing.B) { for i := 0; i < b.N; i++ { b.StopTimer() ints := makeSortedInts(N) b.StartTimer() sort.IntsAreSorted(ints) } } func BenchmarkIsSorted(b *testing.B) { for i := 0; i < b.N; i++ { b.StopTimer() ints := makeSortedInts(N) b.StartTimer() IsSorted(ints) } } // Since we're benchmarking these sorts against each other, make sure that they // generate similar results. func TestIntSorts(t *testing.T) { ints := makeRandomInts(200) ints2 := Clone(ints) sort.Ints(ints) Sort(ints2) for i := range ints { if ints[i] != ints2[i] { t.Fatalf("ints2 mismatch at %d; %d != %d", i, ints[i], ints2[i]) } } } // The following is a benchmark for sorting strings. // makeRandomStrings generates n random strings with alphabetic runes of // varying lengths. func makeRandomStrings(n int) []string { rand.Seed(42) var letters = []rune("abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ") ss := make([]string, n) for i := 0; i < n; i++ { var sb strings.Builder slen := 2 + rand.Intn(50) for j := 0; j < slen; j++ { sb.WriteRune(letters[rand.Intn(len(letters))]) } ss[i] = sb.String() } return ss } func TestStringSorts(t *testing.T) { ss := makeRandomStrings(200) ss2 := Clone(ss) sort.Strings(ss) Sort(ss2) for i := range ss { if ss[i] != ss2[i] { t.Fatalf("ss2 mismatch at %d; %s != %s", i, ss[i], ss2[i]) } } } func BenchmarkSortStrings(b *testing.B) { for i := 0; i < b.N; i++ { b.StopTimer() ss := makeRandomStrings(N) b.StartTimer() sort.Strings(ss) } } func BenchmarkSortStrings_Sorted(b *testing.B) { ss := makeSortedStrings(N) b.ResetTimer() for i := 0; i < b.N; i++ { sort.Strings(ss) } } func BenchmarkSlicesSortStrings(b *testing.B) { for i := 0; i < b.N; i++ { b.StopTimer() ss := makeRandomStrings(N) b.StartTimer() Sort(ss) } } func BenchmarkSlicesSortStrings_Sorted(b *testing.B) { ss := makeSortedStrings(N) b.ResetTimer() for i := 0; i < b.N; i++ { Sort(ss) } } // These benchmarks compare sorting a slice of structs with sort.Sort vs. // slices.SortFunc. type myStruct struct { a, b, c, d string n int } type myStructs []*myStruct func (s myStructs) Len() int { return len(s) } func (s myStructs) Less(i, j int) bool { return s[i].n < s[j].n } func (s myStructs) Swap(i, j int) { s[i], s[j] = s[j], s[i] } func makeRandomStructs(n int) myStructs { rand.Seed(42) structs := make([]*myStruct, n) for i := 0; i < n; i++ { structs[i] = &myStruct{n: rand.Intn(n)} } return structs } func TestStructSorts(t *testing.T) { ss := makeRandomStructs(200) ss2 := make([]*myStruct, len(ss)) for i := range ss { ss2[i] = &myStruct{n: ss[i].n} } sort.Sort(ss) SortFunc(ss2, func(a, b *myStruct) int { return a.n - b.n }) for i := range ss { if *ss[i] != *ss2[i] { t.Fatalf("ints2 mismatch at %d; %v != %v", i, *ss[i], *ss2[i]) } } } func BenchmarkSortStructs(b *testing.B) { for i := 0; i < b.N; i++ { b.StopTimer() ss := makeRandomStructs(N) b.StartTimer() sort.Sort(ss) } } func BenchmarkSortFuncStructs(b *testing.B) { cmpFunc := func(a, b *myStruct) int { return a.n - b.n } for i := 0; i < b.N; i++ { b.StopTimer() ss := makeRandomStructs(N) b.StartTimer() SortFunc(ss, cmpFunc) } } func BenchmarkBinarySearchFloats(b *testing.B) { for _, size := range []int{16, 32, 64, 128, 512, 1024} { b.Run(fmt.Sprintf("Size%d", size), func(b *testing.B) { floats := make([]float64, size) for i := range floats { floats[i] = float64(i) } midpoint := len(floats) / 2 needle := (floats[midpoint] + floats[midpoint+1]) / 2 b.ResetTimer() for i := 0; i < b.N; i++ { BinarySearch(floats, needle) } }) } } func BenchmarkBinarySearchFuncStruct(b *testing.B) { for _, size := range []int{16, 32, 64, 128, 512, 1024} { b.Run(fmt.Sprintf("Size%d", size), func(b *testing.B) { structs := make([]*myStruct, size) for i := range structs { structs[i] = &myStruct{n: i} } midpoint := len(structs) / 2 needle := &myStruct{n: (structs[midpoint].n + structs[midpoint+1].n) / 2} lessFunc := func(a, b *myStruct) int { return a.n - b.n } b.ResetTimer() for i := 0; i < b.N; i++ { BinarySearchFunc(structs, needle, lessFunc) } }) } } dependencies/pkg/mod/golang.org/x/exp@v0.0.0-20240506185415-9bf2ced13842/.gitattributes0000644000000000000000000000053115107355263025613 0ustar rootroot# Treat all files in this repo as binary, with no git magic updating # line endings. Windows users contributing to Go will need to use a # modern version of git and editors capable of LF line endings. # # We'll prevent accidental CRLF line endings from entering the repo # via the git-review gofmt checks. # # See golang.org/issue/9281 * -text dependencies/pkg/mod/golang.org/x/exp@v0.0.0-20240506185415-9bf2ced13842/io/0000755000000000000000000000000015107355263023330 5ustar rootrootdependencies/pkg/mod/golang.org/x/exp@v0.0.0-20240506185415-9bf2ced13842/io/i2c/0000755000000000000000000000000015107355263024005 5ustar rootrootdependencies/pkg/mod/golang.org/x/exp@v0.0.0-20240506185415-9bf2ced13842/io/i2c/example/0000755000000000000000000000000015107355263025440 5ustar rootrootdependencies/pkg/mod/golang.org/x/exp@v0.0.0-20240506185415-9bf2ced13842/io/i2c/example/displayip/0000755000000000000000000000000015107355263027436 5ustar rootroot././@LongLink0000644000000000000000000000015200000000000011601 Lustar rootrootdependencies/pkg/mod/golang.org/x/exp@v0.0.0-20240506185415-9bf2ced13842/io/i2c/example/displayip/main.godependencies/pkg/mod/golang.org/x/exp@v0.0.0-20240506185415-9bf2ced13842/io/i2c/example/displayip/ma0000644000000000000000000000345615107355263027766 0ustar rootroot// 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. // Package main contains a program that displays the IPv4 address // of the machine on an a Grove-LCD RGB backlight. package main import ( "fmt" "net" "golang.org/x/exp/io/i2c" ) const ( DISPLAY_RGB_ADDR = 0x62 DISPLAY_TEXT_ADDR = 0x3e ) func main() { d, err := i2c.Open(&i2c.Devfs{Dev: "/dev/i2c-1"}, DISPLAY_RGB_ADDR) if err != nil { panic(err) } td, err := i2c.Open(&i2c.Devfs{Dev: "/dev/i2c-1"}, DISPLAY_TEXT_ADDR) if err != nil { panic(err) } // Set the backlight color to 100,100,100. write(d, []byte{0, 0}) write(d, []byte{1, 0}) write(d, []byte{0x08, 0xaa}) write(d, []byte{4, 100}) // R value write(d, []byte{3, 100}) // G value write(d, []byte{2, 100}) // B value ip, err := resolveIP() if err != nil { panic(err) } fmt.Printf("host machine IP is %v\n", ip) write(td, []byte{0x80, 0x02}) // return home write(td, []byte{0x80, 0x01}) // clean the display write(td, []byte{0x80, 0x08 | 0x04}) // no cursor write(td, []byte{0x80, 0x28}) // two lines for _, s := range ip { write(td, []byte{0x40, byte(s)}) } } func write(d *i2c.Device, buf []byte) { err := d.Write(buf) if err != nil { panic(err) } } func resolveIP() (string, error) { var ip net.IP ifaces, err := net.Interfaces() if err != nil { panic(err) } for _, i := range ifaces { addrs, err := i.Addrs() if err != nil { panic(err) } for _, addr := range addrs { switch v := addr.(type) { case *net.IPNet: ip = v.IP case *net.IPAddr: ip = v.IP } ip = ip.To4() if ip != nil && ip.String() != "127.0.0.1" { return ip.String(), nil } } } return "", fmt.Errorf("cannot resolve the IP") } dependencies/pkg/mod/golang.org/x/exp@v0.0.0-20240506185415-9bf2ced13842/io/i2c/i2c.go0000644000000000000000000000431215107355263025011 0ustar rootroot// 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. // Package i2c allows users to read from and write to a slave I2C device. // // # Deprecated // // This package is not maintained anymore. An actively supported cross-platform // alternative is https://periph.io/. package i2c // import "golang.org/x/exp/io/i2c" import ( "golang.org/x/exp/io/i2c/driver" ) const tenbitMask = 1 << 12 // Device represents an I2C device. Devices must be closed once // they are no longer in use. type Device struct { conn driver.Conn } // TenBit marks an I2C address as a 10-bit address. func TenBit(addr int) int { return addr | tenbitMask } // Read reads len(buf) bytes from the device. func (d *Device) Read(buf []byte) error { return d.conn.Tx(nil, buf) } // ReadReg is similar to Read but it reads from a register. func (d *Device) ReadReg(reg byte, buf []byte) error { return d.conn.Tx([]byte{reg}, buf) } // Write writes the buffer to the device. If it is required to write to a // specific register, the register should be passed as the first byte in the // given buffer. func (d *Device) Write(buf []byte) (err error) { return d.conn.Tx(buf, nil) } // WriteReg is similar to Write but writes to a register. func (d *Device) WriteReg(reg byte, buf []byte) (err error) { // TODO(jbd): Do not allocate, not optimal. return d.conn.Tx(append([]byte{reg}, buf...), nil) } // Close closes the device and releases the underlying sources. func (d *Device) Close() error { return d.conn.Close() } // Open opens a connection to an I2C device. // All devices must be closed once they are no longer in use. // For devices that use 10-bit I2C addresses, addr can be marked // as a 10-bit address with TenBit. func Open(o driver.Opener, addr int) (*Device, error) { unmasked, tenbit := resolveAddr(addr) conn, err := o.Open(unmasked, tenbit) if err != nil { return nil, err } return &Device{conn: conn}, nil } // resolveAddr returns whether the addr is 10-bit masked or not. // It also returns the unmasked address. func resolveAddr(addr int) (unmasked int, tenbit bool) { return addr & (tenbitMask - 1), addr&tenbitMask == tenbitMask } dependencies/pkg/mod/golang.org/x/exp@v0.0.0-20240506185415-9bf2ced13842/io/i2c/driver/0000755000000000000000000000000015107355263025300 5ustar rootrootdependencies/pkg/mod/golang.org/x/exp@v0.0.0-20240506185415-9bf2ced13842/io/i2c/driver/driver.go0000644000000000000000000000145415107355263027126 0ustar rootroot// 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. // Package driver contains interfaces to be implemented by various I2C implementations. package driver // import "golang.org/x/exp/io/i2c/driver" // Opener opens a connection to an I2C device to communicate with // the I2C address given. If the address is an 10-bit I2C address, // tenbit is true. type Opener interface { Open(addr int, tenbit bool) (Conn, error) } // Conn represents an active connection to an I2C device. type Conn interface { // Tx first writes w (if not nil), then reads len(r) // bytes from device into r (if not nil) in a single // I2C transaction. Tx(w, r []byte) error // Close closes the connection. Close() error } dependencies/pkg/mod/golang.org/x/exp@v0.0.0-20240506185415-9bf2ced13842/io/i2c/example_test.go0000644000000000000000000000072315107355263027030 0ustar rootroot// 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. package i2c_test import ( "golang.org/x/exp/io/i2c" ) func ExampleOpen() { d, err := i2c.Open(&i2c.Devfs{Dev: "/dev/i2c-1"}, 0x39) if err != nil { panic(err) } // opens a 10-bit address d, err = i2c.Open(&i2c.Devfs{Dev: "/dev/i2c-1"}, i2c.TenBit(0x78)) if err != nil { panic(err) } _ = d } dependencies/pkg/mod/golang.org/x/exp@v0.0.0-20240506185415-9bf2ced13842/io/i2c/devfs.go0000644000000000000000000000336215107355263025447 0ustar rootroot// 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. //go:build linux package i2c import ( "fmt" "io" "os" "syscall" "golang.org/x/exp/io/i2c/driver" ) // Devfs is an I2C driver that works against the devfs. // You need to load the "i2c-dev" kernel module to use this driver. type Devfs struct { // Dev is the I2C bus device, e.g. /dev/i2c-1. Required. Dev string } const ( i2c_SLAVE = 0x0703 // TODO(jbd): Allow users to use I2C_SLAVE_FORCE? i2c_TENBIT = 0x0704 ) // TODO(jbd): Support I2C_RETRIES and I2C_TIMEOUT at the driver and implementation level. func (d *Devfs) Open(addr int, tenbit bool) (driver.Conn, error) { f, err := os.OpenFile(d.Dev, os.O_RDWR, os.ModeDevice) if err != nil { return nil, err } conn := &devfsConn{f: f} if tenbit { if err := conn.ioctl(i2c_TENBIT, uintptr(1)); err != nil { conn.Close() return nil, fmt.Errorf("cannot enable the 10-bit address mode on bus %v: %v", d.Dev, err) } } if err := conn.ioctl(i2c_SLAVE, uintptr(addr)); err != nil { conn.Close() return nil, fmt.Errorf("error opening the address (%v) on the bus (%v): %v", addr, d.Dev, err) } return conn, nil } type devfsConn struct { f *os.File } func (c *devfsConn) Tx(w, r []byte) error { if w != nil { if _, err := c.f.Write(w); err != nil { return err } c.f.Sync() } if r != nil { if _, err := io.ReadFull(c.f, r); err != nil { return err } } return nil } func (c *devfsConn) Close() error { return c.f.Close() } func (c *devfsConn) ioctl(arg1, arg2 uintptr) error { if _, _, errno := syscall.Syscall(syscall.SYS_IOCTL, c.f.Fd(), arg1, arg2); errno != 0 { return syscall.Errno(errno) } return nil } dependencies/pkg/mod/golang.org/x/exp@v0.0.0-20240506185415-9bf2ced13842/io/i2c/i2c_test.go0000644000000000000000000000127215107355263026052 0ustar rootroot// 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. package i2c import ( "testing" ) func TestTenBit(t *testing.T) { tc := []struct { masked int addrWant int tenbitWant bool }{ {TenBit(0x5), 0x5, true}, {0x5, 0x5, false}, {TenBit(0x200), 0x200, true}, } for _, tt := range tc { unmasked, tenbit := resolveAddr(tt.masked) if want, got := tt.tenbitWant, tenbit; got != want { t.Errorf("want address %x as 10-bit; got non 10-bit", tt.masked) } if want, got := tt.addrWant, unmasked; got != want { t.Errorf("want address %v; got %v", want, got) } } } dependencies/pkg/mod/golang.org/x/exp@v0.0.0-20240506185415-9bf2ced13842/io/i2c/devfs_nonlinux.go0000644000000000000000000000110615107355263027373 0ustar rootroot// 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. //go:build !linux package i2c import ( "errors" "golang.org/x/exp/io/i2c/driver" ) // Devfs is no-implementation so developers using cross compilation // can rely on local tools even though the real implementation isn't // available on their platform. type Devfs struct { Dev string } func (d *Devfs) Open(addr int, tenbit bool) (driver.Conn, error) { return nil, errors.New("not implemented on this platform") } dependencies/pkg/mod/golang.org/x/exp@v0.0.0-20240506185415-9bf2ced13842/io/spi/0000755000000000000000000000000015107355263024123 5ustar rootrootdependencies/pkg/mod/golang.org/x/exp@v0.0.0-20240506185415-9bf2ced13842/io/spi/spi.go0000644000000000000000000000573615107355263025260 0ustar rootroot// 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. // Package spi allows users to read from and write to an SPI device. // // # Deprecated // // This package is not maintained anymore. An actively supported cross-platform // alternative is https://periph.io/. package spi // import "golang.org/x/exp/io/spi" import ( "time" "golang.org/x/exp/io/spi/driver" ) // Mode represents the SPI mode number where clock parity (CPOL) // is the high order and clock edge (CPHA) is the low order bit. type Mode int const ( Mode0 = Mode(0) Mode1 = Mode(1) Mode2 = Mode(2) Mode3 = Mode(3) ) // Order is the bit justification to be used while transferring // words to the SPI device. MSB-first encoding is more popular // than LSB-first. type Order int const ( MSBFirst = Order(0) LSBFirst = Order(1) ) type Device struct { conn driver.Conn } // SetMode sets the SPI mode. SPI mode is a combination of polarity and phases. // CPOL is the high order bit, CPHA is the low order. Pre-computed mode // values are Mode0, Mode1, Mode2 and Mode3. // The value can be changed by SPI device's driver. func (d *Device) SetMode(mode Mode) error { return d.conn.Configure(driver.Mode, int(mode)) } // SetMaxSpeed sets the maximum clock speed in Hz. // The value can be overridden by SPI device's driver. func (d *Device) SetMaxSpeed(speed int) error { return d.conn.Configure(driver.MaxSpeed, speed) } // SetBitsPerWord sets how many bits it takes to represent a word, e.g. 8 represents 8-bit words. // The default is 8 bits per word. func (d *Device) SetBitsPerWord(bits int) error { return d.conn.Configure(driver.Bits, bits) } // SetBitOrder sets the bit justification used to transfer SPI words. // Valid values are MSBFirst and LSBFirst. func (d *Device) SetBitOrder(o Order) error { return d.conn.Configure(driver.Order, int(o)) } // SetDelay sets the amount of pause will be added after each frame write. func (d *Device) SetDelay(t time.Duration) error { return d.conn.Configure(driver.Delay, int(t.Nanoseconds()/1000)) } // SetCSChange sets whether to leave the chipselect enabled after a Tx. func (d *Device) SetCSChange(leaveEnabled bool) error { v := 0 if leaveEnabled { v = 1 } return d.conn.Configure(driver.CSChange, v) } // Tx performs a duplex transmission to write w to the SPI device // and read len(r) bytes to r. // User should not mutate the w and r until this call returns. func (d *Device) Tx(w, r []byte) error { // TODO(jbd): Allow nil w. return d.conn.Tx(w, r) } // Open opens a device with the specified bus and chip select // by using the given driver. If a nil driver is provided, // the default driver (devfs) is used. func Open(o driver.Opener) (*Device, error) { conn, err := o.Open() if err != nil { return nil, err } return &Device{conn: conn}, nil } // Close closes the SPI device and releases the related resources. func (d *Device) Close() error { return d.conn.Close() } dependencies/pkg/mod/golang.org/x/exp@v0.0.0-20240506185415-9bf2ced13842/io/spi/driver/0000755000000000000000000000000015107355263025416 5ustar rootrootdependencies/pkg/mod/golang.org/x/exp@v0.0.0-20240506185415-9bf2ced13842/io/spi/driver/driver.go0000644000000000000000000000323715107355263027245 0ustar rootroot// 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. // Package driver contains interfaces to be implemented by various SPI implementations. package driver // import "golang.org/x/exp/io/spi/driver" const ( Mode = iota Bits MaxSpeed Order Delay CSChange ) // Opener is an interface to be implemented by the SPI driver to open // a connection to an SPI device. type Opener interface { Open() (Conn, error) } // Conn is a connection to an SPI device. // TODO(jbd): Extend the interface to query configuration values. type Conn interface { // Configure configures the SPI device. // // Available configuration keys are: // - Mode, the SPI mode (valid values are 0, 1, 2 and 3). // - Bits, bits per word (default is 8-bit per word). // - Speed, the max clock speed (in Hz). // - Order, bit order to be used in transfers. Zero value represents // the MSB-first, non-zero values represent LSB-first encoding. // - Delay, the pause time between frames (in usecs). // Some SPI devices require a minimum amount of wait time after // each frame write. If set, Delay amount of usecs are inserted after // each write. // - CSChange, whether to leave the device's chipselect active after a Tx. // // SPI devices can override these values. Configure(k, v int) error // Tx performs a SPI transaction: w is written if not nil, the result is // put into r if not nil. len(w) must be equal to len(r), otherwise the // driver should return an error. Tx(w, r []byte) error // Close frees the underlying resources and closes the connection. Close() error } dependencies/pkg/mod/golang.org/x/exp@v0.0.0-20240506185415-9bf2ced13842/io/spi/example_test.go0000644000000000000000000000144415107355263027147 0ustar rootroot// 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. package spi_test import "golang.org/x/exp/io/spi" // Example illustrates a program that drives an APA-102 LED strip. func Example() { dev, err := spi.Open(&spi.Devfs{ Dev: "/dev/spidev0.1", Mode: spi.Mode3, MaxSpeed: 500000, }) if err != nil { panic(err) } defer dev.Close() if err := dev.Tx([]byte{ 0, 0, 0, 0, 0xff, 200, 0, 200, 0xff, 200, 0, 200, 0xe0, 200, 0, 200, 0xff, 200, 0, 200, 0xff, 8, 50, 0, 0xff, 200, 0, 0, 0xff, 0, 0, 0, 0xff, 200, 0, 200, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, }, nil); err != nil { panic(err) } } dependencies/pkg/mod/golang.org/x/exp@v0.0.0-20240506185415-9bf2ced13842/io/spi/devfs.go0000644000000000000000000001073115107355263025563 0ustar rootroot// 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. //go:build linux package spi import ( "fmt" "os" "syscall" "unsafe" "golang.org/x/exp/io/spi/driver" ) const ( devfs_MAGIC = 107 devfs_NRBITS = 8 devfs_TYPEBITS = 8 devfs_SIZEBITS = 13 devfs_DIRBITS = 3 devfs_NRSHIFT = 0 devfs_TYPESHIFT = devfs_NRSHIFT + devfs_NRBITS devfs_SIZESHIFT = devfs_TYPESHIFT + devfs_TYPEBITS devfs_DIRSHIFT = devfs_SIZESHIFT + devfs_SIZEBITS devfs_READ = 2 devfs_WRITE = 4 ) type payload struct { tx uint64 rx uint64 length uint32 speed uint32 delay uint16 bits uint8 csChange uint8 txNBits uint8 rxNBits uint8 pad uint16 } // Devfs is an SPI driver that works against the devfs. // You need to have loaded the "spidev" Linux module to use this driver. type Devfs struct { // Dev is the device to be opened. // Device name is usually in the /dev/spidev. format. // Required. Dev string // Mode is the SPI mode. SPI mode is a combination of polarity and phases. // CPOL is the high order bit, CPHA is the low order. Pre-computed mode // values are Mode0, Mode1, Mode2 and Mode3. The value of the mode argument // can be overridden by the device's driver. // Required. Mode Mode // MaxSpeed is the max clock speed (Hz) and can be overridden by the device's driver. // Required. MaxSpeed int64 } // Open opens the provided device with the specified options // and returns a connection. func (d *Devfs) Open() (driver.Conn, error) { f, err := os.OpenFile(d.Dev, os.O_RDWR, os.ModeDevice) if err != nil { return nil, err } conn := &devfsConn{f: f} if err := conn.Configure(driver.Mode, int(d.Mode)); err != nil { conn.Close() return nil, err } if err := conn.Configure(driver.MaxSpeed, int(d.MaxSpeed)); err != nil { conn.Close() return nil, err } return conn, nil } type devfsConn struct { f *os.File mode uint8 speed uint32 bits uint8 delay uint16 csChange uint8 } func (c *devfsConn) Configure(k, v int) error { switch k { case driver.Mode: m := uint8(v) if err := c.ioctl(requestCode(devfs_WRITE, devfs_MAGIC, 1, 1), uintptr(unsafe.Pointer(&m))); err != nil { return fmt.Errorf("error setting mode to %v: %v", m, err) } c.mode = m case driver.Bits: b := uint8(v) if err := c.ioctl(requestCode(devfs_WRITE, devfs_MAGIC, 3, 1), uintptr(unsafe.Pointer(&b))); err != nil { return fmt.Errorf("error setting bits per word to %v: %v", b, err) } c.bits = b case driver.MaxSpeed: s := uint32(v) if err := c.ioctl(requestCode(devfs_WRITE, devfs_MAGIC, 4, 4), uintptr(unsafe.Pointer(&s))); err != nil { return fmt.Errorf("error setting speed to %v: %v", s, err) } c.speed = s case driver.Order: o := uint8(v) if err := c.ioctl(requestCode(devfs_WRITE, devfs_MAGIC, 2, 1), uintptr(unsafe.Pointer(&o))); err != nil { return fmt.Errorf("error setting bit order to %v: %v", o, err) } case driver.Delay: c.delay = uint16(v) case driver.CSChange: c.csChange = uint8(v) default: return fmt.Errorf("unknown key: %v", k) } return nil } func (c *devfsConn) Tx(w, r []byte) error { if r == nil { r = make([]byte, len(w)) } // TODO(jbd): len(w) == len(r)? // TODO(jbd): Allow nil w. p := payload{ tx: uint64(uintptr(unsafe.Pointer(&w[0]))), rx: uint64(uintptr(unsafe.Pointer(&r[0]))), length: uint32(len(w)), speed: c.speed, delay: c.delay, bits: c.bits, csChange: c.csChange, } // TODO(jbd): Read from the device and fill rx. return c.ioctl(msgRequestCode(1), uintptr(unsafe.Pointer(&p))) } func (c *devfsConn) Close() error { return c.f.Close() } // requestCode returns the device specific request code for the specified direction, // type, number and size to be used in the ioctl call. func requestCode(dir, typ, nr, size uintptr) uintptr { return (dir << devfs_DIRSHIFT) | (typ << devfs_TYPESHIFT) | (nr << devfs_NRSHIFT) | (size << devfs_SIZESHIFT) } // msgRequestCode returns the device specific value for the SPI // message payload to be used in the ioctl call. // n represents the number of messages. func msgRequestCode(n uint32) uintptr { return uintptr(0x40006B00 + (n * 0x200000)) } // ioctl makes an IOCTL on the open device file descriptor. func (c *devfsConn) ioctl(a1, a2 uintptr) error { _, _, errno := syscall.Syscall( syscall.SYS_IOCTL, c.f.Fd(), a1, a2, ) if errno != 0 { return syscall.Errno(errno) } return nil } dependencies/pkg/mod/golang.org/x/exp@v0.0.0-20240506185415-9bf2ced13842/io/spi/devfs_nonlinux.go0000644000000000000000000000221615107355263027514 0ustar rootroot// 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. //go:build !linux package spi import ( "errors" "golang.org/x/exp/io/spi/driver" ) // Devfs is a no-implementation of an SPI driver that works against the devfs. // You need to have loaded the Linux "spidev" module to use this driver. type Devfs struct { // Dev is the device to be opened. // Device name is usually in the /dev/spidev. format. // Required. Dev string // Mode is the SPI mode. SPI mode is a combination of polarity and phases. // CPOL is the high order bit, CPHA is the low order. Pre-computed mode // values are Mode0, Mode1, Mode2 and Mode3. The value of the mode argument // can be overridden by the device's driver. // Required. Mode Mode // MaxSpeed is the max clock speed (Hz) and can be overridden by the device's driver. // Required. MaxSpeed int64 } // Open opens the provided device with the speicifed options // and returns a connection. func (d *Devfs) Open() (driver.Conn, error) { return nil, errors.New("not implemented on this platform") } dependencies/pkg/mod/golang.org/x/exp@v0.0.0-20240506185415-9bf2ced13842/LICENSE0000644000000000000000000000270715107355263023734 0ustar rootrootCopyright (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. dependencies/pkg/mod/golang.org/x/exp@v0.0.0-20240506185415-9bf2ced13842/maps/0000755000000000000000000000000015107355263023661 5ustar rootrootdependencies/pkg/mod/golang.org/x/exp@v0.0.0-20240506185415-9bf2ced13842/maps/maps.go0000644000000000000000000000447515107355263025162 0ustar rootroot// Copyright 2021 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 maps defines various functions useful with maps of any type. package maps // Keys returns the keys of the map m. // The keys will be in an indeterminate order. func Keys[M ~map[K]V, K comparable, V any](m M) []K { r := make([]K, 0, len(m)) for k := range m { r = append(r, k) } return r } // Values returns the values of the map m. // The values will be in an indeterminate order. func Values[M ~map[K]V, K comparable, V any](m M) []V { r := make([]V, 0, len(m)) for _, v := range m { r = append(r, v) } return r } // Equal reports whether two maps contain the same key/value pairs. // Values are compared using ==. func Equal[M1, M2 ~map[K]V, K, V comparable](m1 M1, m2 M2) bool { if len(m1) != len(m2) { return false } for k, v1 := range m1 { if v2, ok := m2[k]; !ok || v1 != v2 { return false } } return true } // EqualFunc is like Equal, but compares values using eq. // Keys are still compared with ==. func EqualFunc[M1 ~map[K]V1, M2 ~map[K]V2, K comparable, V1, V2 any](m1 M1, m2 M2, eq func(V1, V2) bool) bool { if len(m1) != len(m2) { return false } for k, v1 := range m1 { if v2, ok := m2[k]; !ok || !eq(v1, v2) { return false } } return true } // Clear removes all entries from m, leaving it empty. func Clear[M ~map[K]V, K comparable, V any](m M) { for k := range m { delete(m, k) } } // Clone returns a copy of m. This is a shallow clone: // the new keys and values are set using ordinary assignment. func Clone[M ~map[K]V, K comparable, V any](m M) M { // Preserve nil in case it matters. if m == nil { return nil } r := make(M, len(m)) for k, v := range m { r[k] = v } return r } // Copy copies all key/value pairs in src adding them to dst. // When a key in src is already present in dst, // the value in dst will be overwritten by the value associated // with the key in src. func Copy[M1 ~map[K]V, M2 ~map[K]V, K comparable, V any](dst M1, src M2) { for k, v := range src { dst[k] = v } } // DeleteFunc deletes any key/value pairs from m for which del returns true. func DeleteFunc[M ~map[K]V, K comparable, V any](m M, del func(K, V) bool) { for k, v := range m { if del(k, v) { delete(m, k) } } } dependencies/pkg/mod/golang.org/x/exp@v0.0.0-20240506185415-9bf2ced13842/maps/maps_test.go0000644000000000000000000001074315107355263026214 0ustar rootroot// Copyright 2021 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 maps import ( "math" "sort" "strconv" "testing" "golang.org/x/exp/slices" ) var m1 = map[int]int{1: 2, 2: 4, 4: 8, 8: 16} var m2 = map[int]string{1: "2", 2: "4", 4: "8", 8: "16"} func TestKeys(t *testing.T) { want := []int{1, 2, 4, 8} got1 := Keys(m1) sort.Ints(got1) if !slices.Equal(got1, want) { t.Errorf("Keys(%v) = %v, want %v", m1, got1, want) } got2 := Keys(m2) sort.Ints(got2) if !slices.Equal(got2, want) { t.Errorf("Keys(%v) = %v, want %v", m2, got2, want) } } func TestValues(t *testing.T) { got1 := Values(m1) want1 := []int{2, 4, 8, 16} sort.Ints(got1) if !slices.Equal(got1, want1) { t.Errorf("Values(%v) = %v, want %v", m1, got1, want1) } got2 := Values(m2) want2 := []string{"16", "2", "4", "8"} sort.Strings(got2) if !slices.Equal(got2, want2) { t.Errorf("Values(%v) = %v, want %v", m2, got2, want2) } } func TestEqual(t *testing.T) { if !Equal(m1, m1) { t.Errorf("Equal(%v, %v) = false, want true", m1, m1) } if Equal(m1, (map[int]int)(nil)) { t.Errorf("Equal(%v, nil) = true, want false", m1) } if Equal((map[int]int)(nil), m1) { t.Errorf("Equal(nil, %v) = true, want false", m1) } if !Equal[map[int]int, map[int]int](nil, nil) { t.Error("Equal(nil, nil) = false, want true") } if ms := map[int]int{1: 2}; Equal(m1, ms) { t.Errorf("Equal(%v, %v) = true, want false", m1, ms) } // Comparing NaN for equality is expected to fail. mf := map[int]float64{1: 0, 2: math.NaN()} if Equal(mf, mf) { t.Errorf("Equal(%v, %v) = true, want false", mf, mf) } } // equal is simply ==. func equal[T comparable](v1, v2 T) bool { return v1 == v2 } // equalNaN is like == except that all NaNs are equal. func equalNaN[T comparable](v1, v2 T) bool { isNaN := func(f T) bool { return f != f } return v1 == v2 || (isNaN(v1) && isNaN(v2)) } // equalIntStr compares ints and strings. func equalIntStr(v1 int, v2 string) bool { return strconv.Itoa(v1) == v2 } func TestEqualFunc(t *testing.T) { if !EqualFunc(m1, m1, equal[int]) { t.Errorf("EqualFunc(%v, %v, equal) = false, want true", m1, m1) } if EqualFunc(m1, (map[int]int)(nil), equal[int]) { t.Errorf("EqualFunc(%v, nil, equal) = true, want false", m1) } if EqualFunc((map[int]int)(nil), m1, equal[int]) { t.Errorf("EqualFunc(nil, %v, equal) = true, want false", m1) } if !EqualFunc[map[int]int, map[int]int](nil, nil, equal[int]) { t.Error("EqualFunc(nil, nil, equal) = false, want true") } if ms := map[int]int{1: 2}; EqualFunc(m1, ms, equal[int]) { t.Errorf("EqualFunc(%v, %v, equal) = true, want false", m1, ms) } // Comparing NaN for equality is expected to fail. mf := map[int]float64{1: 0, 2: math.NaN()} if EqualFunc(mf, mf, equal[float64]) { t.Errorf("EqualFunc(%v, %v, equal) = true, want false", mf, mf) } // But it should succeed using equalNaN. if !EqualFunc(mf, mf, equalNaN[float64]) { t.Errorf("EqualFunc(%v, %v, equalNaN) = false, want true", mf, mf) } if !EqualFunc(m1, m2, equalIntStr) { t.Errorf("EqualFunc(%v, %v, equalIntStr) = false, want true", m1, m2) } } func TestClear(t *testing.T) { ml := map[int]int{1: 1, 2: 2, 3: 3} Clear(ml) if got := len(ml); got != 0 { t.Errorf("len(%v) = %d after Clear, want 0", ml, got) } if !Equal(ml, (map[int]int)(nil)) { t.Errorf("Equal(%v, nil) = false, want true", ml) } } func TestClone(t *testing.T) { mc := Clone(m1) if !Equal(mc, m1) { t.Errorf("Clone(%v) = %v, want %v", m1, mc, m1) } mc[16] = 32 if Equal(mc, m1) { t.Errorf("Equal(%v, %v) = true, want false", mc, m1) } } func TestCloneNil(t *testing.T) { var m1 map[string]int mc := Clone(m1) if mc != nil { t.Errorf("Clone(%v) = %v, want %v", m1, mc, m1) } } func TestCopy(t *testing.T) { mc := Clone(m1) Copy(mc, mc) if !Equal(mc, m1) { t.Errorf("Copy(%v, %v) = %v, want %v", m1, m1, mc, m1) } Copy(mc, map[int]int{16: 32}) want := map[int]int{1: 2, 2: 4, 4: 8, 8: 16, 16: 32} if !Equal(mc, want) { t.Errorf("Copy result = %v, want %v", mc, want) } type M1 map[int]bool type M2 map[int]bool Copy(make(M1), make(M2)) } func TestDeleteFunc(t *testing.T) { mc := Clone(m1) DeleteFunc(mc, func(int, int) bool { return false }) if !Equal(mc, m1) { t.Errorf("DeleteFunc(%v, true) = %v, want %v", m1, mc, m1) } DeleteFunc(mc, func(k, v int) bool { return k > 3 }) want := map[int]int{1: 2, 2: 4} if !Equal(mc, want) { t.Errorf("DeleteFunc result = %v, want %v", mc, want) } } dependencies/pkg/mod/golang.org/x/exp@v0.0.0-20240506185415-9bf2ced13842/CONTRIBUTING.md0000644000000000000000000000162115107355263025152 0ustar rootroot# Contributing to Go Go is an open source project. It is the work of hundreds of contributors. We appreciate your help! ## Filing issues When [filing an issue](https://golang.org/issue/new), make sure to answer these five questions: 1. What version of Go are you using (`go version`)? 2. What operating system and processor architecture are you using? 3. What did you do? 4. What did you expect to see? 5. What did you see instead? General questions should go to the [golang-nuts mailing list](https://groups.google.com/group/golang-nuts) instead of the issue tracker. The gophers there will answer or ask you to file an issue if you've tripped over a bug. ## Contributing code Please read the [Contribution Guidelines](https://golang.org/doc/contribute.html) before sending patches. Unless otherwise noted, the Go source files are distributed under the BSD-style license found in the LICENSE file. dependencies/pkg/mod/golang.org/x/exp@v0.0.0-20240506185415-9bf2ced13842/constraints/0000755000000000000000000000000015107355263025270 5ustar rootrootdependencies/pkg/mod/golang.org/x/exp@v0.0.0-20240506185415-9bf2ced13842/constraints/constraints.go0000644000000000000000000000335715107355263030176 0ustar rootroot// Copyright 2021 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 constraints defines a set of useful constraints to be used // with type parameters. package constraints // Signed is a constraint that permits any signed integer type. // If future releases of Go add new predeclared signed integer types, // this constraint will be modified to include them. type Signed interface { ~int | ~int8 | ~int16 | ~int32 | ~int64 } // Unsigned is a constraint that permits any unsigned integer type. // If future releases of Go add new predeclared unsigned integer types, // this constraint will be modified to include them. type Unsigned interface { ~uint | ~uint8 | ~uint16 | ~uint32 | ~uint64 | ~uintptr } // Integer is a constraint that permits any integer type. // If future releases of Go add new predeclared integer types, // this constraint will be modified to include them. type Integer interface { Signed | Unsigned } // Float is a constraint that permits any floating-point type. // If future releases of Go add new predeclared floating-point types, // this constraint will be modified to include them. type Float interface { ~float32 | ~float64 } // Complex is a constraint that permits any complex numeric type. // If future releases of Go add new predeclared complex numeric types, // this constraint will be modified to include them. type Complex interface { ~complex64 | ~complex128 } // Ordered is a constraint that permits any ordered type: any type // that supports the operators < <= >= >. // If future releases of Go add new ordered types, // this constraint will be modified to include them. type Ordered interface { Integer | Float | ~string } ././@LongLink0000644000000000000000000000015100000000000011600 Lustar rootrootdependencies/pkg/mod/golang.org/x/exp@v0.0.0-20240506185415-9bf2ced13842/constraints/constraints_test.godependencies/pkg/mod/golang.org/x/exp@v0.0.0-20240506185415-9bf2ced13842/constraints/constraints_tes0000644000000000000000000001031415107355263030434 0ustar rootroot// Copyright 2021 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 constraints import ( "fmt" "os" "os/exec" "path/filepath" "regexp" "runtime" "testing" ) type ( testSigned[T Signed] struct{ f T } testUnsigned[T Unsigned] struct{ f T } testInteger[T Integer] struct{ f T } testFloat[T Float] struct{ f T } testComplex[T Complex] struct{ f T } testOrdered[T Ordered] struct{ f T } ) // TestTypes passes if it compiles. type TestTypes struct { _ testSigned[int] _ testSigned[int64] _ testUnsigned[uint] _ testUnsigned[uintptr] _ testInteger[int8] _ testInteger[uint8] _ testInteger[uintptr] _ testFloat[float32] _ testComplex[complex64] _ testOrdered[int] _ testOrdered[float64] _ testOrdered[string] } var prolog = []byte(` package constrainttest import "golang.org/x/exp/constraints" type ( testSigned[T constraints.Signed] struct{ f T } testUnsigned[T constraints.Unsigned] struct{ f T } testInteger[T constraints.Integer] struct{ f T } testFloat[T constraints.Float] struct{ f T } testComplex[T constraints.Complex] struct{ f T } testOrdered[T constraints.Ordered] struct{ f T } ) `) func TestFailure(t *testing.T) { switch runtime.GOOS { case "android", "js", "ios": t.Skipf("can't run go tool on %s", runtime.GOOS) } var exeSuffix string if runtime.GOOS == "windows" { exeSuffix = ".exe" } gocmd := filepath.Join(runtime.GOROOT(), "bin", "go"+exeSuffix) if _, err := os.Stat(gocmd); err != nil { t.Skipf("skipping because can't stat %s: %v", gocmd, err) } tmpdir := t.TempDir() cwd, err := os.Getwd() if err != nil { t.Fatal(err) } // This package is golang.org/x/exp/constraints, so the root of the x/exp // module is the parent directory of the directory in which this test runs. expModDir := filepath.Dir(cwd) modFile := fmt.Sprintf(`module constraintest go 1.18 replace golang.org/x/exp => %s `, expModDir) if err := os.WriteFile(filepath.Join(tmpdir, "go.mod"), []byte(modFile), 0666); err != nil { t.Fatal(err) } // Write the prolog as its own file so that 'go mod tidy' has something to inspect. // This will ensure that the go.mod and go.sum files include any dependencies // needed by the constraints package (which should just be some version of // x/exp itself). if err := os.WriteFile(filepath.Join(tmpdir, "prolog.go"), []byte(prolog), 0666); err != nil { t.Fatal(err) } tidyCmd := exec.Command(gocmd, "mod", "tidy") tidyCmd.Dir = tmpdir tidyCmd.Env = append(os.Environ(), "PWD="+tmpdir) if out, err := tidyCmd.CombinedOutput(); err != nil { t.Fatalf("%v: %v\n%s", tidyCmd, err, out) } else { t.Logf("%v:\n%s", tidyCmd, out) } // Test for types that should not satisfy a constraint. // For each pair of constraint and type, write a Go file // var V constraint[type] // For example, // var V testSigned[uint] // This should not compile, as testSigned (above) uses // constraints.Signed, and uint does not satisfy that constraint. // Therefore, the build of that code should fail. for i, test := range []struct { constraint, typ string }{ {"testSigned", "uint"}, {"testUnsigned", "int"}, {"testInteger", "float32"}, {"testFloat", "int8"}, {"testComplex", "float64"}, {"testOrdered", "bool"}, } { i := i test := test t.Run(fmt.Sprintf("%s %d", test.constraint, i), func(t *testing.T) { t.Parallel() name := fmt.Sprintf("go%d.go", i) f, err := os.Create(filepath.Join(tmpdir, name)) if err != nil { t.Fatal(err) } if _, err := f.Write(prolog); err != nil { t.Fatal(err) } if _, err := fmt.Fprintf(f, "var V %s[%s]\n", test.constraint, test.typ); err != nil { t.Fatal(err) } if err := f.Close(); err != nil { t.Fatal(err) } cmd := exec.Command(gocmd, "build", name) cmd.Dir = tmpdir if out, err := cmd.CombinedOutput(); err == nil { t.Error("build succeeded, but expected to fail") } else if len(out) > 0 { t.Logf("%s", out) if !wantRx.Match(out) { t.Errorf("output does not match %q", wantRx) } } else { t.Error("no error output, expected something") } }) } } var wantRx = regexp.MustCompile("does not (implement|satisfy)") dependencies/pkg/mod/golang.org/x/exp@v0.0.0-20240506185415-9bf2ced13842/ebnflint/0000755000000000000000000000000015107355263024522 5ustar rootrootdependencies/pkg/mod/golang.org/x/exp@v0.0.0-20240506185415-9bf2ced13842/ebnflint/ebnflint.go0000644000000000000000000000401315107355263026650 0ustar rootroot// 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 main import ( "bytes" "flag" "fmt" "go/scanner" "go/token" "io" "os" "path/filepath" "golang.org/x/exp/ebnf" ) var fset = token.NewFileSet() var start = flag.String("start", "Start", "name of start production") func usage() { fmt.Fprintf(os.Stderr, "usage: go tool ebnflint [flags] [filename]\n") flag.PrintDefaults() os.Exit(1) } // Markers around EBNF sections in .html files var ( open = []byte(`

`)
	close = []byte(`
`) ) func report(err error) { scanner.PrintError(os.Stderr, err) os.Exit(1) } func extractEBNF(src []byte) []byte { var buf bytes.Buffer for { // i = beginning of EBNF text i := bytes.Index(src, open) if i < 0 { break // no EBNF found - we are done } i += len(open) // write as many newlines as found in the excluded text // to maintain correct line numbers in error messages for _, ch := range src[0:i] { if ch == '\n' { buf.WriteByte('\n') } } // j = end of EBNF text (or end of source) j := bytes.Index(src[i:], close) // close marker if j < 0 { j = len(src) - i } j += i // copy EBNF text buf.Write(src[i:j]) // advance src = src[j:] } return buf.Bytes() } func main() { flag.Parse() var ( name string r io.Reader ) switch flag.NArg() { case 0: name, r = "", os.Stdin case 1: name = flag.Arg(0) default: usage() } if err := verify(name, *start, r); err != nil { report(err) } } func verify(name, start string, r io.Reader) error { if r == nil { f, err := os.Open(name) if err != nil { return err } defer f.Close() r = f } src, err := io.ReadAll(r) if err != nil { return err } if filepath.Ext(name) == ".html" || bytes.Index(src, open) >= 0 { src = extractEBNF(src) } grammar, err := ebnf.Parse(name, bytes.NewBuffer(src)) if err != nil { return err } return ebnf.Verify(grammar, start) } dependencies/pkg/mod/golang.org/x/exp@v0.0.0-20240506185415-9bf2ced13842/ebnflint/doc.go0000644000000000000000000000116115107355263025615 0ustar rootroot// 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. /* Ebnflint verifies that EBNF productions are consistent and grammatically correct. It reads them from an HTML document such as the Go specification. Grammar productions are grouped in boxes demarcated by the HTML elements
	
Usage: go tool ebnflint [--start production] [file] The --start flag specifies the name of the start production for the grammar; it defaults to "Start". */ package main // import "golang.org/x/exp/ebnflint" dependencies/pkg/mod/golang.org/x/exp@v0.0.0-20240506185415-9bf2ced13842/ebnflint/ebnflint_test.go0000644000000000000000000000102015107355263027702 0ustar rootroot// 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 main import ( "os" "runtime" "testing" ) func TestSpec(t *testing.T) { if err := verify(runtime.GOROOT()+"/doc/go_spec.html", "SourceFile", nil); err != nil { if os.IsNotExist(err) { // Couldn't find/open the file - skip test rather than // complain since not all builders copy the spec. t.Skip("spec file not found") } t.Fatal(err) } } dependencies/pkg/mod/golang.org/x/exp@v0.0.0-20240506185415-9bf2ced13842/.gitignore0000644000000000000000000000012415107355263024706 0ustar rootroot# Add no patterns to .hgignore except for files generated by the build. last-change dependencies/pkg/mod/golang.org/x/exp@v0.0.0-20240506185415-9bf2ced13842/slog/0000755000000000000000000000000015107355263023665 5ustar rootrootdependencies/pkg/mod/golang.org/x/exp@v0.0.0-20240506185415-9bf2ced13842/slog/record_test.go0000644000000000000000000000732315107355263026536 0ustar rootroot// Copyright 2022 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 slog import ( "strconv" "strings" "testing" "time" "golang.org/x/exp/slices" ) func TestRecordAttrs(t *testing.T) { as := []Attr{Int("k1", 1), String("k2", "foo"), Int("k3", 3), Int64("k4", -1), Float64("f", 3.1), Uint64("u", 999)} r := newRecordWithAttrs(as) if g, w := r.NumAttrs(), len(as); g != w { t.Errorf("NumAttrs: got %d, want %d", g, w) } if got := attrsSlice(r); !attrsEqual(got, as) { t.Errorf("got %v, want %v", got, as) } // Early return. var got []Attr r.Attrs(func(a Attr) bool { got = append(got, a) return len(got) < 2 }) want := as[:2] if !attrsEqual(got, want) { t.Errorf("got %v, want %v", got, want) } } func TestRecordSource(t *testing.T) { // Zero call depth => empty *Source. for _, test := range []struct { depth int wantFunction string wantFile string wantLinePositive bool }{ {0, "", "", false}, {-16, "", "", false}, {1, "golang.org/x/exp/slog.TestRecordSource", "record_test.go", true}, // 1: caller of NewRecord {2, "testing.tRunner", "testing.go", true}, } { var pc uintptr if test.depth > 0 { pc = callerPC(test.depth + 1) } r := NewRecord(time.Time{}, 0, "", pc) got := r.source() if i := strings.LastIndexByte(got.File, '/'); i >= 0 { got.File = got.File[i+1:] } if got.Function != test.wantFunction || got.File != test.wantFile || (got.Line > 0) != test.wantLinePositive { t.Errorf("depth %d: got (%q, %q, %d), want (%q, %q, %t)", test.depth, got.Function, got.File, got.Line, test.wantFunction, test.wantFile, test.wantLinePositive) } } } func TestAliasingAndClone(t *testing.T) { intAttrs := func(from, to int) []Attr { var as []Attr for i := from; i < to; i++ { as = append(as, Int("k", i)) } return as } check := func(r Record, want []Attr) { t.Helper() got := attrsSlice(r) if !attrsEqual(got, want) { t.Errorf("got %v, want %v", got, want) } } // Create a record whose Attrs overflow the inline array, // creating a slice in r.back. r1 := NewRecord(time.Time{}, 0, "", 0) r1.AddAttrs(intAttrs(0, nAttrsInline+1)...) // Ensure that r1.back's capacity exceeds its length. b := make([]Attr, len(r1.back), len(r1.back)+1) copy(b, r1.back) r1.back = b // Make a copy that shares state. r2 := r1 // Adding to both should panic. r1.AddAttrs(Int("p", 0)) if !panics(func() { r2.AddAttrs(Int("p", 1)) }) { t.Error("expected panic") } r1Attrs := attrsSlice(r1) // Adding to a clone is fine. r2 = r1.Clone() check(r2, r1Attrs) r2.AddAttrs(Int("p", 2)) check(r1, r1Attrs) // r1 is unchanged check(r2, append(slices.Clip(r1Attrs), Int("p", 2))) } func newRecordWithAttrs(as []Attr) Record { r := NewRecord(time.Now(), LevelInfo, "", 0) r.AddAttrs(as...) return r } func attrsSlice(r Record) []Attr { s := make([]Attr, 0, r.NumAttrs()) r.Attrs(func(a Attr) bool { s = append(s, a); return true }) return s } func attrsEqual(as1, as2 []Attr) bool { return slices.EqualFunc(as1, as2, Attr.Equal) } // Currently, pc(2) takes over 400ns, which is too expensive // to call it for every log message. func BenchmarkPC(b *testing.B) { for depth := 0; depth < 5; depth++ { b.Run(strconv.Itoa(depth), func(b *testing.B) { b.ReportAllocs() var x uintptr for i := 0; i < b.N; i++ { x = callerPC(depth) } _ = x }) } } func BenchmarkRecord(b *testing.B) { const nAttrs = nAttrsInline * 10 var a Attr for i := 0; i < b.N; i++ { r := NewRecord(time.Time{}, LevelInfo, "", 0) for j := 0; j < nAttrs; j++ { r.AddAttrs(Int("k", j)) } r.Attrs(func(b Attr) bool { a = b; return true }) } _ = a } dependencies/pkg/mod/golang.org/x/exp@v0.0.0-20240506185415-9bf2ced13842/slog/logger.go0000644000000000000000000002515515107355263025503 0ustar rootroot// Copyright 2022 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 slog import ( "context" "log" "runtime" "sync/atomic" "time" "golang.org/x/exp/slog/internal" ) var defaultLogger atomic.Value func init() { defaultLogger.Store(New(newDefaultHandler(log.Output))) } // Default returns the default Logger. func Default() *Logger { return defaultLogger.Load().(*Logger) } // SetDefault makes l the default Logger. // After this call, output from the log package's default Logger // (as with [log.Print], etc.) will be logged at LevelInfo using l's Handler. func SetDefault(l *Logger) { defaultLogger.Store(l) // If the default's handler is a defaultHandler, then don't use a handleWriter, // or we'll deadlock as they both try to acquire the log default mutex. // The defaultHandler will use whatever the log default writer is currently // set to, which is correct. // This can occur with SetDefault(Default()). // See TestSetDefault. if _, ok := l.Handler().(*defaultHandler); !ok { capturePC := log.Flags()&(log.Lshortfile|log.Llongfile) != 0 log.SetOutput(&handlerWriter{l.Handler(), LevelInfo, capturePC}) log.SetFlags(0) // we want just the log message, no time or location } } // handlerWriter is an io.Writer that calls a Handler. // It is used to link the default log.Logger to the default slog.Logger. type handlerWriter struct { h Handler level Level capturePC bool } func (w *handlerWriter) Write(buf []byte) (int, error) { if !w.h.Enabled(context.Background(), w.level) { return 0, nil } var pc uintptr if !internal.IgnorePC && w.capturePC { // skip [runtime.Callers, w.Write, Logger.Output, log.Print] var pcs [1]uintptr runtime.Callers(4, pcs[:]) pc = pcs[0] } // Remove final newline. origLen := len(buf) // Report that the entire buf was written. if len(buf) > 0 && buf[len(buf)-1] == '\n' { buf = buf[:len(buf)-1] } r := NewRecord(time.Now(), w.level, string(buf), pc) return origLen, w.h.Handle(context.Background(), r) } // A Logger records structured information about each call to its // Log, Debug, Info, Warn, and Error methods. // For each call, it creates a Record and passes it to a Handler. // // To create a new Logger, call [New] or a Logger method // that begins "With". type Logger struct { handler Handler // for structured logging } func (l *Logger) clone() *Logger { c := *l return &c } // Handler returns l's Handler. func (l *Logger) Handler() Handler { return l.handler } // With returns a new Logger that includes the given arguments, converted to // Attrs as in [Logger.Log]. // The Attrs will be added to each output from the Logger. // The new Logger shares the old Logger's context. // The new Logger's handler is the result of calling WithAttrs on the receiver's // handler. func (l *Logger) With(args ...any) *Logger { c := l.clone() c.handler = l.handler.WithAttrs(argsToAttrSlice(args)) return c } // WithGroup returns a new Logger that starts a group. The keys of all // attributes added to the Logger will be qualified by the given name. // (How that qualification happens depends on the [Handler.WithGroup] // method of the Logger's Handler.) // The new Logger shares the old Logger's context. // // The new Logger's handler is the result of calling WithGroup on the receiver's // handler. func (l *Logger) WithGroup(name string) *Logger { c := l.clone() c.handler = l.handler.WithGroup(name) return c } // New creates a new Logger with the given non-nil Handler and a nil context. func New(h Handler) *Logger { if h == nil { panic("nil Handler") } return &Logger{handler: h} } // With calls Logger.With on the default logger. func With(args ...any) *Logger { return Default().With(args...) } // Enabled reports whether l emits log records at the given context and level. func (l *Logger) Enabled(ctx context.Context, level Level) bool { if ctx == nil { ctx = context.Background() } return l.Handler().Enabled(ctx, level) } // NewLogLogger returns a new log.Logger such that each call to its Output method // dispatches a Record to the specified handler. The logger acts as a bridge from // the older log API to newer structured logging handlers. func NewLogLogger(h Handler, level Level) *log.Logger { return log.New(&handlerWriter{h, level, true}, "", 0) } // Log emits a log record with the current time and the given level and message. // The Record's Attrs consist of the Logger's attributes followed by // the Attrs specified by args. // // The attribute arguments are processed as follows: // - If an argument is an Attr, it is used as is. // - If an argument is a string and this is not the last argument, // the following argument is treated as the value and the two are combined // into an Attr. // - Otherwise, the argument is treated as a value with key "!BADKEY". func (l *Logger) Log(ctx context.Context, level Level, msg string, args ...any) { l.log(ctx, level, msg, args...) } // LogAttrs is a more efficient version of [Logger.Log] that accepts only Attrs. func (l *Logger) LogAttrs(ctx context.Context, level Level, msg string, attrs ...Attr) { l.logAttrs(ctx, level, msg, attrs...) } // Debug logs at LevelDebug. func (l *Logger) Debug(msg string, args ...any) { l.log(nil, LevelDebug, msg, args...) } // DebugContext logs at LevelDebug with the given context. func (l *Logger) DebugContext(ctx context.Context, msg string, args ...any) { l.log(ctx, LevelDebug, msg, args...) } // DebugCtx logs at LevelDebug with the given context. // Deprecated: Use Logger.DebugContext. func (l *Logger) DebugCtx(ctx context.Context, msg string, args ...any) { l.log(ctx, LevelDebug, msg, args...) } // Info logs at LevelInfo. func (l *Logger) Info(msg string, args ...any) { l.log(nil, LevelInfo, msg, args...) } // InfoContext logs at LevelInfo with the given context. func (l *Logger) InfoContext(ctx context.Context, msg string, args ...any) { l.log(ctx, LevelInfo, msg, args...) } // InfoCtx logs at LevelInfo with the given context. // Deprecated: Use Logger.InfoContext. func (l *Logger) InfoCtx(ctx context.Context, msg string, args ...any) { l.log(ctx, LevelInfo, msg, args...) } // Warn logs at LevelWarn. func (l *Logger) Warn(msg string, args ...any) { l.log(nil, LevelWarn, msg, args...) } // WarnContext logs at LevelWarn with the given context. func (l *Logger) WarnContext(ctx context.Context, msg string, args ...any) { l.log(ctx, LevelWarn, msg, args...) } // WarnCtx logs at LevelWarn with the given context. // Deprecated: Use Logger.WarnContext. func (l *Logger) WarnCtx(ctx context.Context, msg string, args ...any) { l.log(ctx, LevelWarn, msg, args...) } // Error logs at LevelError. func (l *Logger) Error(msg string, args ...any) { l.log(nil, LevelError, msg, args...) } // ErrorContext logs at LevelError with the given context. func (l *Logger) ErrorContext(ctx context.Context, msg string, args ...any) { l.log(ctx, LevelError, msg, args...) } // ErrorCtx logs at LevelError with the given context. // Deprecated: Use Logger.ErrorContext. func (l *Logger) ErrorCtx(ctx context.Context, msg string, args ...any) { l.log(ctx, LevelError, msg, args...) } // log is the low-level logging method for methods that take ...any. // It must always be called directly by an exported logging method // or function, because it uses a fixed call depth to obtain the pc. func (l *Logger) log(ctx context.Context, level Level, msg string, args ...any) { if !l.Enabled(ctx, level) { return } var pc uintptr if !internal.IgnorePC { var pcs [1]uintptr // skip [runtime.Callers, this function, this function's caller] runtime.Callers(3, pcs[:]) pc = pcs[0] } r := NewRecord(time.Now(), level, msg, pc) r.Add(args...) if ctx == nil { ctx = context.Background() } _ = l.Handler().Handle(ctx, r) } // logAttrs is like [Logger.log], but for methods that take ...Attr. func (l *Logger) logAttrs(ctx context.Context, level Level, msg string, attrs ...Attr) { if !l.Enabled(ctx, level) { return } var pc uintptr if !internal.IgnorePC { var pcs [1]uintptr // skip [runtime.Callers, this function, this function's caller] runtime.Callers(3, pcs[:]) pc = pcs[0] } r := NewRecord(time.Now(), level, msg, pc) r.AddAttrs(attrs...) if ctx == nil { ctx = context.Background() } _ = l.Handler().Handle(ctx, r) } // Debug calls Logger.Debug on the default logger. func Debug(msg string, args ...any) { Default().log(nil, LevelDebug, msg, args...) } // DebugContext calls Logger.DebugContext on the default logger. func DebugContext(ctx context.Context, msg string, args ...any) { Default().log(ctx, LevelDebug, msg, args...) } // Info calls Logger.Info on the default logger. func Info(msg string, args ...any) { Default().log(nil, LevelInfo, msg, args...) } // InfoContext calls Logger.InfoContext on the default logger. func InfoContext(ctx context.Context, msg string, args ...any) { Default().log(ctx, LevelInfo, msg, args...) } // Warn calls Logger.Warn on the default logger. func Warn(msg string, args ...any) { Default().log(nil, LevelWarn, msg, args...) } // WarnContext calls Logger.WarnContext on the default logger. func WarnContext(ctx context.Context, msg string, args ...any) { Default().log(ctx, LevelWarn, msg, args...) } // Error calls Logger.Error on the default logger. func Error(msg string, args ...any) { Default().log(nil, LevelError, msg, args...) } // ErrorContext calls Logger.ErrorContext on the default logger. func ErrorContext(ctx context.Context, msg string, args ...any) { Default().log(ctx, LevelError, msg, args...) } // DebugCtx calls Logger.DebugContext on the default logger. // Deprecated: call DebugContext. func DebugCtx(ctx context.Context, msg string, args ...any) { Default().log(ctx, LevelDebug, msg, args...) } // InfoCtx calls Logger.InfoContext on the default logger. // Deprecated: call InfoContext. func InfoCtx(ctx context.Context, msg string, args ...any) { Default().log(ctx, LevelInfo, msg, args...) } // WarnCtx calls Logger.WarnContext on the default logger. // Deprecated: call WarnContext. func WarnCtx(ctx context.Context, msg string, args ...any) { Default().log(ctx, LevelWarn, msg, args...) } // ErrorCtx calls Logger.ErrorContext on the default logger. // Deprecated: call ErrorContext. func ErrorCtx(ctx context.Context, msg string, args ...any) { Default().log(ctx, LevelError, msg, args...) } // Log calls Logger.Log on the default logger. func Log(ctx context.Context, level Level, msg string, args ...any) { Default().log(ctx, level, msg, args...) } // LogAttrs calls Logger.LogAttrs on the default logger. func LogAttrs(ctx context.Context, level Level, msg string, attrs ...Attr) { Default().logAttrs(ctx, level, msg, attrs...) } ././@LongLink0000644000000000000000000000015400000000000011603 Lustar rootrootdependencies/pkg/mod/golang.org/x/exp@v0.0.0-20240506185415-9bf2ced13842/slog/example_level_handler_test.godependencies/pkg/mod/golang.org/x/exp@v0.0.0-20240506185415-9bf2ced13842/slog/example_level_handler_0000644000000000000000000000432015107355263030265 0ustar rootroot// Copyright 2022 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 slog_test import ( "context" "os" "golang.org/x/exp/slog" "golang.org/x/exp/slog/internal/testutil" ) // A LevelHandler wraps a Handler with an Enabled method // that returns false for levels below a minimum. type LevelHandler struct { level slog.Leveler handler slog.Handler } // NewLevelHandler returns a LevelHandler with the given level. // All methods except Enabled delegate to h. func NewLevelHandler(level slog.Leveler, h slog.Handler) *LevelHandler { // Optimization: avoid chains of LevelHandlers. if lh, ok := h.(*LevelHandler); ok { h = lh.Handler() } return &LevelHandler{level, h} } // Enabled implements Handler.Enabled by reporting whether // level is at least as large as h's level. func (h *LevelHandler) Enabled(_ context.Context, level slog.Level) bool { return level >= h.level.Level() } // Handle implements Handler.Handle. func (h *LevelHandler) Handle(ctx context.Context, r slog.Record) error { return h.handler.Handle(ctx, r) } // WithAttrs implements Handler.WithAttrs. func (h *LevelHandler) WithAttrs(attrs []slog.Attr) slog.Handler { return NewLevelHandler(h.level, h.handler.WithAttrs(attrs)) } // WithGroup implements Handler.WithGroup. func (h *LevelHandler) WithGroup(name string) slog.Handler { return NewLevelHandler(h.level, h.handler.WithGroup(name)) } // Handler returns the Handler wrapped by h. func (h *LevelHandler) Handler() slog.Handler { return h.handler } // This example shows how to Use a LevelHandler to change the level of an // existing Handler while preserving its other behavior. // // This example demonstrates increasing the log level to reduce a logger's // output. // // Another typical use would be to decrease the log level (to LevelDebug, say) // during a part of the program that was suspected of containing a bug. func ExampleHandler_levelHandler() { th := slog.NewTextHandler(os.Stdout, &slog.HandlerOptions{ReplaceAttr: testutil.RemoveTime}) logger := slog.New(NewLevelHandler(slog.LevelWarn, th)) logger.Info("not printed") logger.Warn("printed") // Output: // level=WARN msg=printed } dependencies/pkg/mod/golang.org/x/exp@v0.0.0-20240506185415-9bf2ced13842/slog/level_test.go0000644000000000000000000000711115107355263026362 0ustar rootroot// Copyright 2022 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 slog import ( "flag" "strings" "testing" ) func TestLevelString(t *testing.T) { for _, test := range []struct { in Level want string }{ {0, "INFO"}, {LevelError, "ERROR"}, {LevelError + 2, "ERROR+2"}, {LevelError - 2, "WARN+2"}, {LevelWarn, "WARN"}, {LevelWarn - 1, "INFO+3"}, {LevelInfo, "INFO"}, {LevelInfo + 1, "INFO+1"}, {LevelInfo - 3, "DEBUG+1"}, {LevelDebug, "DEBUG"}, {LevelDebug - 2, "DEBUG-2"}, } { got := test.in.String() if got != test.want { t.Errorf("%d: got %s, want %s", test.in, got, test.want) } } } func TestLevelVar(t *testing.T) { var al LevelVar if got, want := al.Level(), LevelInfo; got != want { t.Errorf("got %v, want %v", got, want) } al.Set(LevelWarn) if got, want := al.Level(), LevelWarn; got != want { t.Errorf("got %v, want %v", got, want) } al.Set(LevelInfo) if got, want := al.Level(), LevelInfo; got != want { t.Errorf("got %v, want %v", got, want) } } func TestMarshalJSON(t *testing.T) { want := LevelWarn - 3 data, err := want.MarshalJSON() if err != nil { t.Fatal(err) } var got Level if err := got.UnmarshalJSON(data); err != nil { t.Fatal(err) } if got != want { t.Errorf("got %s, want %s", got, want) } } func TestLevelMarshalText(t *testing.T) { want := LevelWarn - 3 data, err := want.MarshalText() if err != nil { t.Fatal(err) } var got Level if err := got.UnmarshalText(data); err != nil { t.Fatal(err) } if got != want { t.Errorf("got %s, want %s", got, want) } } func TestLevelParse(t *testing.T) { for _, test := range []struct { in string want Level }{ {"DEBUG", LevelDebug}, {"INFO", LevelInfo}, {"WARN", LevelWarn}, {"ERROR", LevelError}, {"debug", LevelDebug}, {"iNfo", LevelInfo}, {"INFO+87", LevelInfo + 87}, {"Error-18", LevelError - 18}, {"Error-8", LevelInfo}, } { var got Level if err := got.parse(test.in); err != nil { t.Fatalf("%q: %v", test.in, err) } if got != test.want { t.Errorf("%q: got %s, want %s", test.in, got, test.want) } } } func TestLevelParseError(t *testing.T) { for _, test := range []struct { in string want string // error string should contain this }{ {"", "unknown name"}, {"dbg", "unknown name"}, {"INFO+", "invalid syntax"}, {"INFO-", "invalid syntax"}, {"ERROR+23x", "invalid syntax"}, } { var l Level err := l.parse(test.in) if err == nil || !strings.Contains(err.Error(), test.want) { t.Errorf("%q: got %v, want string containing %q", test.in, err, test.want) } } } func TestLevelFlag(t *testing.T) { fs := flag.NewFlagSet("test", flag.ContinueOnError) lf := LevelInfo fs.TextVar(&lf, "level", lf, "set level") err := fs.Parse([]string{"-level", "WARN+3"}) if err != nil { t.Fatal(err) } if g, w := lf, LevelWarn+3; g != w { t.Errorf("got %v, want %v", g, w) } } func TestLevelVarMarshalText(t *testing.T) { var v LevelVar v.Set(LevelWarn) data, err := v.MarshalText() if err != nil { t.Fatal(err) } var v2 LevelVar if err := v2.UnmarshalText(data); err != nil { t.Fatal(err) } if g, w := v2.Level(), LevelWarn; g != w { t.Errorf("got %s, want %s", g, w) } } func TestLevelVarFlag(t *testing.T) { fs := flag.NewFlagSet("test", flag.ContinueOnError) v := &LevelVar{} v.Set(LevelWarn + 3) fs.TextVar(v, "level", v, "set level") err := fs.Parse([]string{"-level", "WARN+3"}) if err != nil { t.Fatal(err) } if g, w := v.Level(), LevelWarn+3; g != w { t.Errorf("got %v, want %v", g, w) } } dependencies/pkg/mod/golang.org/x/exp@v0.0.0-20240506185415-9bf2ced13842/slog/attr_test.go0000644000000000000000000000150515107355263026226 0ustar rootroot// Copyright 2022 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 slog import ( "testing" "time" ) func TestAttrNoAlloc(t *testing.T) { // Assign values just to make sure the compiler doesn't optimize away the statements. var ( i int64 u uint64 f float64 b bool s string x any p = &i d time.Duration ) a := int(testing.AllocsPerRun(5, func() { i = Int64("key", 1).Value.Int64() u = Uint64("key", 1).Value.Uint64() f = Float64("key", 1).Value.Float64() b = Bool("key", true).Value.Bool() s = String("key", "foo").Value.String() d = Duration("key", d).Value.Duration() x = Any("key", p).Value.Any() })) if a != 0 { t.Errorf("got %d allocs, want zero", a) } _ = u _ = f _ = b _ = s _ = x } dependencies/pkg/mod/golang.org/x/exp@v0.0.0-20240506185415-9bf2ced13842/slog/example_wrap_test.go0000644000000000000000000000254715107355263027747 0ustar rootroot// Copyright 2022 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 slog_test import ( "context" "fmt" "os" "path/filepath" "runtime" "time" "golang.org/x/exp/slog" ) // Infof is an example of a user-defined logging function that wraps slog. // The log record contains the source position of the caller of Infof. func Infof(logger *slog.Logger, format string, args ...any) { if !logger.Enabled(context.Background(), slog.LevelInfo) { return } var pcs [1]uintptr runtime.Callers(2, pcs[:]) // skip [Callers, Infof] r := slog.NewRecord(time.Now(), slog.LevelInfo, fmt.Sprintf(format, args...), pcs[0]) _ = logger.Handler().Handle(context.Background(), r) } func Example_wrapping() { replace := func(groups []string, a slog.Attr) slog.Attr { // Remove time. if a.Key == slog.TimeKey && len(groups) == 0 { return slog.Attr{} } // Remove the directory from the source's filename. if a.Key == slog.SourceKey { source := a.Value.Any().(*slog.Source) source.File = filepath.Base(source.File) } return a } logger := slog.New(slog.NewTextHandler(os.Stdout, &slog.HandlerOptions{AddSource: true, ReplaceAttr: replace})) Infof(logger, "message, %s", "formatted") // Output: // level=INFO source=example_wrap_test.go:44 msg="message, formatted" } dependencies/pkg/mod/golang.org/x/exp@v0.0.0-20240506185415-9bf2ced13842/slog/slogtest_test.go0000644000000000000000000000521215107355263027117 0ustar rootroot// Copyright 2023 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 slog_test import ( "bytes" "encoding/json" "fmt" "io" "strings" "testing" "golang.org/x/exp/slog" "golang.org/x/exp/slog/slogtest" ) func TestSlogtest(t *testing.T) { for _, test := range []struct { name string new func(io.Writer) slog.Handler parse func([]byte) (map[string]any, error) }{ {"JSON", func(w io.Writer) slog.Handler { return slog.NewJSONHandler(w, nil) }, parseJSON}, {"Text", func(w io.Writer) slog.Handler { return slog.NewTextHandler(w, nil) }, parseText}, } { t.Run(test.name, func(t *testing.T) { var buf bytes.Buffer h := test.new(&buf) results := func() []map[string]any { ms, err := parseLines(buf.Bytes(), test.parse) if err != nil { t.Fatal(err) } return ms } if err := slogtest.TestHandler(h, results); err != nil { t.Fatal(err) } }) } } func parseLines(src []byte, parse func([]byte) (map[string]any, error)) ([]map[string]any, error) { var records []map[string]any for _, line := range bytes.Split(src, []byte{'\n'}) { if len(line) == 0 { continue } m, err := parse(line) if err != nil { return nil, fmt.Errorf("%s: %w", string(line), err) } records = append(records, m) } return records, nil } func parseJSON(bs []byte) (map[string]any, error) { var m map[string]any if err := json.Unmarshal(bs, &m); err != nil { return nil, err } return m, nil } // parseText parses the output of a single call to TextHandler.Handle. // It can parse the output of the tests in this package, // but it doesn't handle quoted keys or values. // It doesn't need to handle all cases, because slogtest deliberately // uses simple inputs so handler writers can focus on testing // handler behavior, not parsing. func parseText(bs []byte) (map[string]any, error) { top := map[string]any{} s := string(bytes.TrimSpace(bs)) for len(s) > 0 { kv, rest, _ := strings.Cut(s, " ") // assumes exactly one space between attrs k, value, found := strings.Cut(kv, "=") if !found { return nil, fmt.Errorf("no '=' in %q", kv) } keys := strings.Split(k, ".") // Populate a tree of maps for a dotted path such as "a.b.c=x". m := top for _, key := range keys[:len(keys)-1] { x, ok := m[key] var m2 map[string]any if !ok { m2 = map[string]any{} m[key] = m2 } else { m2, ok = x.(map[string]any) if !ok { return nil, fmt.Errorf("value for %q in composite key %q is not map[string]any", key, k) } } m = m2 } m[keys[len(keys)-1]] = value s = rest } return top, nil } dependencies/pkg/mod/golang.org/x/exp@v0.0.0-20240506185415-9bf2ced13842/slog/norace_test.go0000644000000000000000000000060115107355263026517 0ustar rootroot// Copyright 2022 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:build !race package slog import "testing" func wantAllocs(t *testing.T, want int, f func()) { t.Helper() got := int(testing.AllocsPerRun(5, f)) if got != want { t.Errorf("got %d allocs, want %d", got, want) } } dependencies/pkg/mod/golang.org/x/exp@v0.0.0-20240506185415-9bf2ced13842/slog/internal/0000755000000000000000000000000015107355263025501 5ustar rootrootdependencies/pkg/mod/golang.org/x/exp@v0.0.0-20240506185415-9bf2ced13842/slog/internal/testutil/0000755000000000000000000000000015107355263027356 5ustar rootroot././@LongLink0000644000000000000000000000015400000000000011603 Lustar rootrootdependencies/pkg/mod/golang.org/x/exp@v0.0.0-20240506185415-9bf2ced13842/slog/internal/testutil/testutil.godependencies/pkg/mod/golang.org/x/exp@v0.0.0-20240506185415-9bf2ced13842/slog/internal/testutil/test0000644000000000000000000000106115107355263030256 0ustar rootroot// Copyright 2022 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 testutil contains support functions for testing. package testutil import "golang.org/x/exp/slog" // RemoveTime removes the top-level time attribute. // It is intended to be used as a ReplaceAttr function, // to make example output deterministic. func RemoveTime(groups []string, a slog.Attr) slog.Attr { if a.Key == slog.TimeKey && len(groups) == 0 { return slog.Attr{} } return a } dependencies/pkg/mod/golang.org/x/exp@v0.0.0-20240506185415-9bf2ced13842/slog/internal/buffer/0000755000000000000000000000000015107355263026752 5ustar rootroot././@LongLink0000644000000000000000000000015000000000000011577 Lustar rootrootdependencies/pkg/mod/golang.org/x/exp@v0.0.0-20240506185415-9bf2ced13842/slog/internal/buffer/buffer.godependencies/pkg/mod/golang.org/x/exp@v0.0.0-20240506185415-9bf2ced13842/slog/internal/buffer/buffer0000644000000000000000000000320315107355263030144 0ustar rootroot// Copyright 2022 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 buffer provides a pool-allocated byte buffer. package buffer import ( "sync" ) // Buffer adapted from go/src/fmt/print.go type Buffer []byte // Having an initial size gives a dramatic speedup. var bufPool = sync.Pool{ New: func() any { b := make([]byte, 0, 1024) return (*Buffer)(&b) }, } func New() *Buffer { return bufPool.Get().(*Buffer) } func (b *Buffer) Free() { // To reduce peak allocation, return only smaller buffers to the pool. const maxBufferSize = 16 << 10 if cap(*b) <= maxBufferSize { *b = (*b)[:0] bufPool.Put(b) } } func (b *Buffer) Reset() { *b = (*b)[:0] } func (b *Buffer) Write(p []byte) (int, error) { *b = append(*b, p...) return len(p), nil } func (b *Buffer) WriteString(s string) { *b = append(*b, s...) } func (b *Buffer) WriteByte(c byte) { *b = append(*b, c) } func (b *Buffer) WritePosInt(i int) { b.WritePosIntWidth(i, 0) } // WritePosIntWidth writes non-negative integer i to the buffer, padded on the left // by zeroes to the given width. Use a width of 0 to omit padding. func (b *Buffer) WritePosIntWidth(i, width int) { // Cheap integer to fixed-width decimal ASCII. // Copied from log/log.go. if i < 0 { panic("negative int") } // Assemble decimal in reverse order. var bb [20]byte bp := len(bb) - 1 for i >= 10 || width > 1 { width-- q := i / 10 bb[bp] = byte('0' + i - q*10) bp-- i = q } // i < 10 bb[bp] = byte('0' + i) b.Write(bb[bp:]) } func (b *Buffer) String() string { return string(*b) } ././@LongLink0000644000000000000000000000015500000000000011604 Lustar rootrootdependencies/pkg/mod/golang.org/x/exp@v0.0.0-20240506185415-9bf2ced13842/slog/internal/buffer/norace_test.godependencies/pkg/mod/golang.org/x/exp@v0.0.0-20240506185415-9bf2ced13842/slog/internal/buffer/norace0000644000000000000000000000065115107355263030146 0ustar rootroot// Copyright 2022 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:build !race package buffer import "testing" func TestAlloc(t *testing.T) { got := int(testing.AllocsPerRun(5, func() { b := New() defer b.Free() b.WriteString("not 1K worth of bytes") })) if got != 0 { t.Errorf("got %d allocs, want 0", got) } } ././@LongLink0000644000000000000000000000015500000000000011604 Lustar rootrootdependencies/pkg/mod/golang.org/x/exp@v0.0.0-20240506185415-9bf2ced13842/slog/internal/buffer/buffer_test.godependencies/pkg/mod/golang.org/x/exp@v0.0.0-20240506185415-9bf2ced13842/slog/internal/buffer/buffer0000644000000000000000000000071015107355263030144 0ustar rootroot// Copyright 2022 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 buffer import "testing" func Test(t *testing.T) { b := New() defer b.Free() b.WriteString("hello") b.WriteByte(',') b.Write([]byte(" world")) b.WritePosIntWidth(17, 4) got := b.String() want := "hello, world0017" if got != want { t.Errorf("got %q, want %q", got, want) } } dependencies/pkg/mod/golang.org/x/exp@v0.0.0-20240506185415-9bf2ced13842/slog/internal/ignorepc.go0000644000000000000000000000052215107355263027635 0ustar rootroot// Copyright 2023 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 // If IgnorePC is true, do not invoke runtime.Callers to get the pc. // This is solely for benchmarking the slowdown from runtime.Callers. var IgnorePC = false dependencies/pkg/mod/golang.org/x/exp@v0.0.0-20240506185415-9bf2ced13842/slog/doc.go0000644000000000000000000002776715107355263025004 0ustar rootroot// Copyright 2022 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 slog provides structured logging, in which log records include a message, a severity level, and various other attributes expressed as key-value pairs. It defines a type, [Logger], which provides several methods (such as [Logger.Info] and [Logger.Error]) for reporting events of interest. Each Logger is associated with a [Handler]. A Logger output method creates a [Record] from the method arguments and passes it to the Handler, which decides how to handle it. There is a default Logger accessible through top-level functions (such as [Info] and [Error]) that call the corresponding Logger methods. A log record consists of a time, a level, a message, and a set of key-value pairs, where the keys are strings and the values may be of any type. As an example, slog.Info("hello", "count", 3) creates a record containing the time of the call, a level of Info, the message "hello", and a single pair with key "count" and value 3. The [Info] top-level function calls the [Logger.Info] method on the default Logger. In addition to [Logger.Info], there are methods for Debug, Warn and Error levels. Besides these convenience methods for common levels, there is also a [Logger.Log] method which takes the level as an argument. Each of these methods has a corresponding top-level function that uses the default logger. The default handler formats the log record's message, time, level, and attributes as a string and passes it to the [log] package. 2022/11/08 15:28:26 INFO hello count=3 For more control over the output format, create a logger with a different handler. This statement uses [New] to create a new logger with a TextHandler that writes structured records in text form to standard error: logger := slog.New(slog.NewTextHandler(os.Stderr, nil)) [TextHandler] output is a sequence of key=value pairs, easily and unambiguously parsed by machine. This statement: logger.Info("hello", "count", 3) produces this output: time=2022-11-08T15:28:26.000-05:00 level=INFO msg=hello count=3 The package also provides [JSONHandler], whose output is line-delimited JSON: logger := slog.New(slog.NewJSONHandler(os.Stdout, nil)) logger.Info("hello", "count", 3) produces this output: {"time":"2022-11-08T15:28:26.000000000-05:00","level":"INFO","msg":"hello","count":3} Both [TextHandler] and [JSONHandler] can be configured with [HandlerOptions]. There are options for setting the minimum level (see Levels, below), displaying the source file and line of the log call, and modifying attributes before they are logged. Setting a logger as the default with slog.SetDefault(logger) will cause the top-level functions like [Info] to use it. [SetDefault] also updates the default logger used by the [log] package, so that existing applications that use [log.Printf] and related functions will send log records to the logger's handler without needing to be rewritten. Some attributes are common to many log calls. For example, you may wish to include the URL or trace identifier of a server request with all log events arising from the request. Rather than repeat the attribute with every log call, you can use [Logger.With] to construct a new Logger containing the attributes: logger2 := logger.With("url", r.URL) The arguments to With are the same key-value pairs used in [Logger.Info]. The result is a new Logger with the same handler as the original, but additional attributes that will appear in the output of every call. # Levels A [Level] is an integer representing the importance or severity of a log event. The higher the level, the more severe the event. This package defines constants for the most common levels, but any int can be used as a level. In an application, you may wish to log messages only at a certain level or greater. One common configuration is to log messages at Info or higher levels, suppressing debug logging until it is needed. The built-in handlers can be configured with the minimum level to output by setting [HandlerOptions.Level]. The program's `main` function typically does this. The default value is LevelInfo. Setting the [HandlerOptions.Level] field to a [Level] value fixes the handler's minimum level throughout its lifetime. Setting it to a [LevelVar] allows the level to be varied dynamically. A LevelVar holds a Level and is safe to read or write from multiple goroutines. To vary the level dynamically for an entire program, first initialize a global LevelVar: var programLevel = new(slog.LevelVar) // Info by default Then use the LevelVar to construct a handler, and make it the default: h := slog.NewJSONHandler(os.Stderr, &slog.HandlerOptions{Level: programLevel}) slog.SetDefault(slog.New(h)) Now the program can change its logging level with a single statement: programLevel.Set(slog.LevelDebug) # Groups Attributes can be collected into groups. A group has a name that is used to qualify the names of its attributes. How this qualification is displayed depends on the handler. [TextHandler] separates the group and attribute names with a dot. [JSONHandler] treats each group as a separate JSON object, with the group name as the key. Use [Group] to create a Group attribute from a name and a list of key-value pairs: slog.Group("request", "method", r.Method, "url", r.URL) TextHandler would display this group as request.method=GET request.url=http://example.com JSONHandler would display it as "request":{"method":"GET","url":"http://example.com"} Use [Logger.WithGroup] to qualify all of a Logger's output with a group name. Calling WithGroup on a Logger results in a new Logger with the same Handler as the original, but with all its attributes qualified by the group name. This can help prevent duplicate attribute keys in large systems, where subsystems might use the same keys. Pass each subsystem a different Logger with its own group name so that potential duplicates are qualified: logger := slog.Default().With("id", systemID) parserLogger := logger.WithGroup("parser") parseInput(input, parserLogger) When parseInput logs with parserLogger, its keys will be qualified with "parser", so even if it uses the common key "id", the log line will have distinct keys. # Contexts Some handlers may wish to include information from the [context.Context] that is available at the call site. One example of such information is the identifier for the current span when tracing is enabled. The [Logger.Log] and [Logger.LogAttrs] methods take a context as a first argument, as do their corresponding top-level functions. Although the convenience methods on Logger (Info and so on) and the corresponding top-level functions do not take a context, the alternatives ending in "Context" do. For example, slog.InfoContext(ctx, "message") It is recommended to pass a context to an output method if one is available. # Attrs and Values An [Attr] is a key-value pair. The Logger output methods accept Attrs as well as alternating keys and values. The statement slog.Info("hello", slog.Int("count", 3)) behaves the same as slog.Info("hello", "count", 3) There are convenience constructors for [Attr] such as [Int], [String], and [Bool] for common types, as well as the function [Any] for constructing Attrs of any type. The value part of an Attr is a type called [Value]. Like an [any], a Value can hold any Go value, but it can represent typical values, including all numbers and strings, without an allocation. For the most efficient log output, use [Logger.LogAttrs]. It is similar to [Logger.Log] but accepts only Attrs, not alternating keys and values; this allows it, too, to avoid allocation. The call logger.LogAttrs(nil, slog.LevelInfo, "hello", slog.Int("count", 3)) is the most efficient way to achieve the same output as slog.Info("hello", "count", 3) # Customizing a type's logging behavior If a type implements the [LogValuer] interface, the [Value] returned from its LogValue method is used for logging. You can use this to control how values of the type appear in logs. For example, you can redact secret information like passwords, or gather a struct's fields in a Group. See the examples under [LogValuer] for details. A LogValue method may return a Value that itself implements [LogValuer]. The [Value.Resolve] method handles these cases carefully, avoiding infinite loops and unbounded recursion. Handler authors and others may wish to use Value.Resolve instead of calling LogValue directly. # Wrapping output methods The logger functions use reflection over the call stack to find the file name and line number of the logging call within the application. This can produce incorrect source information for functions that wrap slog. For instance, if you define this function in file mylog.go: func Infof(format string, args ...any) { slog.Default().Info(fmt.Sprintf(format, args...)) } and you call it like this in main.go: Infof(slog.Default(), "hello, %s", "world") then slog will report the source file as mylog.go, not main.go. A correct implementation of Infof will obtain the source location (pc) and pass it to NewRecord. The Infof function in the package-level example called "wrapping" demonstrates how to do this. # Working with Records Sometimes a Handler will need to modify a Record before passing it on to another Handler or backend. A Record contains a mixture of simple public fields (e.g. Time, Level, Message) and hidden fields that refer to state (such as attributes) indirectly. This means that modifying a simple copy of a Record (e.g. by calling [Record.Add] or [Record.AddAttrs] to add attributes) may have unexpected effects on the original. Before modifying a Record, use [Clone] to create a copy that shares no state with the original, or create a new Record with [NewRecord] and build up its Attrs by traversing the old ones with [Record.Attrs]. # Performance considerations If profiling your application demonstrates that logging is taking significant time, the following suggestions may help. If many log lines have a common attribute, use [Logger.With] to create a Logger with that attribute. The built-in handlers will format that attribute only once, at the call to [Logger.With]. The [Handler] interface is designed to allow that optimization, and a well-written Handler should take advantage of it. The arguments to a log call are always evaluated, even if the log event is discarded. If possible, defer computation so that it happens only if the value is actually logged. For example, consider the call slog.Info("starting request", "url", r.URL.String()) // may compute String unnecessarily The URL.String method will be called even if the logger discards Info-level events. Instead, pass the URL directly: slog.Info("starting request", "url", &r.URL) // calls URL.String only if needed The built-in [TextHandler] will call its String method, but only if the log event is enabled. Avoiding the call to String also preserves the structure of the underlying value. For example [JSONHandler] emits the components of the parsed URL as a JSON object. If you want to avoid eagerly paying the cost of the String call without causing the handler to potentially inspect the structure of the value, wrap the value in a fmt.Stringer implementation that hides its Marshal methods. You can also use the [LogValuer] interface to avoid unnecessary work in disabled log calls. Say you need to log some expensive value: slog.Debug("frobbing", "value", computeExpensiveValue(arg)) Even if this line is disabled, computeExpensiveValue will be called. To avoid that, define a type implementing LogValuer: type expensive struct { arg int } func (e expensive) LogValue() slog.Value { return slog.AnyValue(computeExpensiveValue(e.arg)) } Then use a value of that type in log calls: slog.Debug("frobbing", "value", expensive{arg}) Now computeExpensiveValue will only be called when the line is enabled. The built-in handlers acquire a lock before calling [io.Writer.Write] to ensure that each record is written in one piece. User-defined handlers are responsible for their own locking. */ package slog dependencies/pkg/mod/golang.org/x/exp@v0.0.0-20240506185415-9bf2ced13842/slog/benchmarks/0000755000000000000000000000000015107355263026002 5ustar rootroot././@LongLink0000644000000000000000000000014700000000000011605 Lustar rootrootdependencies/pkg/mod/golang.org/x/exp@v0.0.0-20240506185415-9bf2ced13842/slog/benchmarks/benchmarks.godependencies/pkg/mod/golang.org/x/exp@v0.0.0-20240506185415-9bf2ced13842/slog/benchmarks/benchmarks.0000644000000000000000000000424715107355263030127 0ustar rootroot// Copyright 2022 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 benchmarks contains benchmarks for slog. // // These benchmarks are loosely based on github.com/uber-go/zap/benchmarks. // They have the following desirable properties: // // - They test a complete log event, from the user's call to its return. // // - The benchmarked code is run concurrently in multiple goroutines, to // better simulate a real server (the most common environment for structured // logs). // // - Some handlers are optimistic versions of real handlers, doing real-world // tasks as fast as possible (and sometimes faster, in that an // implementation may not be concurrency-safe). This gives us a lower bound // on handler performance, so we can evaluate the (handler-independent) core // activity of the package in an end-to-end context without concern that a // slow handler implementation is skewing the results. // // - We also test the built-in handlers, for comparison. // // As of Go 1.20, fetching the pc for a single nearby frame is slow. We hope to // improve its speed before this package is released. Run the benchmarks with // // -tags nopc // // to remove this cost. package benchmarks import ( "errors" "time" "golang.org/x/exp/slog" ) // The symbols in this file are exported so that the Zap benchmarks can use them. const TestMessage = "Test logging, but use a somewhat realistic message length." var ( TestTime = time.Date(2022, time.May, 1, 0, 0, 0, 0, time.UTC) TestString = "7e3b3b2aaeff56a7108fe11e154200dd/7819479873059528190" TestInt = 32768 TestDuration = 23 * time.Second TestError = errors.New("fail") ) var TestAttrs = []slog.Attr{ slog.String("string", TestString), slog.Int("status", TestInt), slog.Duration("duration", TestDuration), slog.Time("time", TestTime), slog.Any("error", TestError), } const WantText = "time=1651363200 level=0 msg=Test logging, but use a somewhat realistic message length. string=7e3b3b2aaeff56a7108fe11e154200dd/7819479873059528190 status=32768 duration=23000000000 time=1651363200 error=fail\n" dependencies/pkg/mod/golang.org/x/exp@v0.0.0-20240506185415-9bf2ced13842/slog/benchmarks/handlers.go0000644000000000000000000000775315107355263030145 0ustar rootroot// Copyright 2022 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 benchmarks // Handlers for benchmarking. import ( "context" "fmt" "io" "strconv" "time" "golang.org/x/exp/slog" "golang.org/x/exp/slog/internal/buffer" ) // A fastTextHandler writes a Record to an io.Writer in a format similar to // slog.TextHandler, but without quoting or locking. It has a few other // performance-motivated shortcuts, like writing times as seconds since the // epoch instead of strings. // // It is intended to represent a high-performance Handler that synchronously // writes text (as opposed to binary). type fastTextHandler struct { w io.Writer } func newFastTextHandler(w io.Writer) slog.Handler { return &fastTextHandler{w: w} } func (h *fastTextHandler) Enabled(context.Context, slog.Level) bool { return true } func (h *fastTextHandler) Handle(_ context.Context, r slog.Record) error { buf := buffer.New() defer buf.Free() if !r.Time.IsZero() { buf.WriteString("time=") h.appendTime(buf, r.Time) buf.WriteByte(' ') } buf.WriteString("level=") *buf = strconv.AppendInt(*buf, int64(r.Level), 10) buf.WriteByte(' ') buf.WriteString("msg=") buf.WriteString(r.Message) r.Attrs(func(a slog.Attr) bool { buf.WriteByte(' ') buf.WriteString(a.Key) buf.WriteByte('=') h.appendValue(buf, a.Value) return true }) buf.WriteByte('\n') _, err := h.w.Write(*buf) return err } func (h *fastTextHandler) appendValue(buf *buffer.Buffer, v slog.Value) { switch v.Kind() { case slog.KindString: buf.WriteString(v.String()) case slog.KindInt64: *buf = strconv.AppendInt(*buf, v.Int64(), 10) case slog.KindUint64: *buf = strconv.AppendUint(*buf, v.Uint64(), 10) case slog.KindFloat64: *buf = strconv.AppendFloat(*buf, v.Float64(), 'g', -1, 64) case slog.KindBool: *buf = strconv.AppendBool(*buf, v.Bool()) case slog.KindDuration: *buf = strconv.AppendInt(*buf, v.Duration().Nanoseconds(), 10) case slog.KindTime: h.appendTime(buf, v.Time()) case slog.KindAny: a := v.Any() switch a := a.(type) { case error: buf.WriteString(a.Error()) default: buf.WriteString(fmt.Sprint(a)) } default: panic(fmt.Sprintf("bad kind: %s", v.Kind())) } } func (h *fastTextHandler) appendTime(buf *buffer.Buffer, t time.Time) { *buf = strconv.AppendInt(*buf, t.Unix(), 10) } func (h *fastTextHandler) WithAttrs([]slog.Attr) slog.Handler { panic("fastTextHandler: With unimplemented") } func (*fastTextHandler) WithGroup(string) slog.Handler { panic("fastTextHandler: WithGroup unimplemented") } // An asyncHandler simulates a Handler that passes Records to a // background goroutine for processing. // Because sending to a channel can be expensive due to locking, // we simulate a lock-free queue by adding the Record to a ring buffer. // Omitting the locking makes this little more than a copy of the Record, // but that is a worthwhile thing to measure because Records are on the large // side. type asyncHandler struct { ringBuffer [100]slog.Record next int } func newAsyncHandler() *asyncHandler { return &asyncHandler{} } func (*asyncHandler) Enabled(context.Context, slog.Level) bool { return true } func (h *asyncHandler) Handle(_ context.Context, r slog.Record) error { h.ringBuffer[h.next] = r.Clone() h.next = (h.next + 1) % len(h.ringBuffer) return nil } func (*asyncHandler) WithAttrs([]slog.Attr) slog.Handler { panic("asyncHandler: With unimplemented") } func (*asyncHandler) WithGroup(string) slog.Handler { panic("asyncHandler: WithGroup unimplemented") } type disabledHandler struct{} func (disabledHandler) Enabled(context.Context, slog.Level) bool { return false } func (disabledHandler) Handle(context.Context, slog.Record) error { panic("should not be called") } func (disabledHandler) WithAttrs([]slog.Attr) slog.Handler { panic("disabledHandler: With unimplemented") } func (disabledHandler) WithGroup(string) slog.Handler { panic("disabledHandler: WithGroup unimplemented") } dependencies/pkg/mod/golang.org/x/exp@v0.0.0-20240506185415-9bf2ced13842/slog/benchmarks/slog.bench0000644000000000000000000005153415107355263027757 0ustar rootrootgoos: linux goarch: amd64 pkg: golang.org/x/exp/slog/benchmarks cpu: Intel(R) Xeon(R) CPU @ 2.20GHz BenchmarkAttrs/disabled/5_args-8 85028928 11.94 ns/op 0 B/op 0 allocs/op BenchmarkAttrs/disabled/5_args-8 97603412 11.20 ns/op 0 B/op 0 allocs/op BenchmarkAttrs/disabled/5_args-8 98026633 11.41 ns/op 0 B/op 0 allocs/op BenchmarkAttrs/disabled/5_args-8 98189282 11.44 ns/op 0 B/op 0 allocs/op BenchmarkAttrs/disabled/5_args-8 100000000 11.54 ns/op 0 B/op 0 allocs/op BenchmarkAttrs/disabled/5_args-8 99336901 11.69 ns/op 0 B/op 0 allocs/op BenchmarkAttrs/disabled/5_args-8 94035765 11.55 ns/op 0 B/op 0 allocs/op BenchmarkAttrs/disabled/5_args-8 100000000 11.26 ns/op 0 B/op 0 allocs/op BenchmarkAttrs/disabled/5_args-8 100000000 11.27 ns/op 0 B/op 0 allocs/op BenchmarkAttrs/disabled/5_args-8 100000000 11.15 ns/op 0 B/op 0 allocs/op BenchmarkAttrs/disabled/5_args_ctx-8 64397640 18.53 ns/op 0 B/op 0 allocs/op BenchmarkAttrs/disabled/5_args_ctx-8 65978652 18.69 ns/op 0 B/op 0 allocs/op BenchmarkAttrs/disabled/5_args_ctx-8 75175520 18.56 ns/op 0 B/op 0 allocs/op BenchmarkAttrs/disabled/5_args_ctx-8 67500830 19.13 ns/op 0 B/op 0 allocs/op BenchmarkAttrs/disabled/5_args_ctx-8 63446371 18.54 ns/op 0 B/op 0 allocs/op BenchmarkAttrs/disabled/5_args_ctx-8 61653506 19.26 ns/op 0 B/op 0 allocs/op BenchmarkAttrs/disabled/5_args_ctx-8 62390637 18.82 ns/op 0 B/op 0 allocs/op BenchmarkAttrs/disabled/5_args_ctx-8 54138097 19.05 ns/op 0 B/op 0 allocs/op BenchmarkAttrs/disabled/5_args_ctx-8 64863612 18.90 ns/op 0 B/op 0 allocs/op BenchmarkAttrs/disabled/5_args_ctx-8 63702469 19.24 ns/op 0 B/op 0 allocs/op BenchmarkAttrs/disabled/10_args-8 58628262 20.38 ns/op 0 B/op 0 allocs/op BenchmarkAttrs/disabled/10_args-8 54573738 20.43 ns/op 0 B/op 0 allocs/op BenchmarkAttrs/disabled/10_args-8 57079495 20.44 ns/op 0 B/op 0 allocs/op BenchmarkAttrs/disabled/10_args-8 56993048 20.26 ns/op 0 B/op 0 allocs/op BenchmarkAttrs/disabled/10_args-8 57084168 20.40 ns/op 0 B/op 0 allocs/op BenchmarkAttrs/disabled/10_args-8 54865020 20.47 ns/op 0 B/op 0 allocs/op BenchmarkAttrs/disabled/10_args-8 56883810 20.68 ns/op 0 B/op 0 allocs/op BenchmarkAttrs/disabled/10_args-8 57454248 20.23 ns/op 0 B/op 0 allocs/op BenchmarkAttrs/disabled/10_args-8 58203282 20.41 ns/op 0 B/op 0 allocs/op BenchmarkAttrs/disabled/10_args-8 53383620 20.71 ns/op 0 B/op 0 allocs/op BenchmarkAttrs/disabled/40_args-8 16833667 71.12 ns/op 0 B/op 0 allocs/op BenchmarkAttrs/disabled/40_args-8 16628658 71.27 ns/op 0 B/op 0 allocs/op BenchmarkAttrs/disabled/40_args-8 16729125 72.50 ns/op 0 B/op 0 allocs/op BenchmarkAttrs/disabled/40_args-8 16386619 71.76 ns/op 0 B/op 0 allocs/op BenchmarkAttrs/disabled/40_args-8 16549412 71.29 ns/op 0 B/op 0 allocs/op BenchmarkAttrs/disabled/40_args-8 16790506 72.17 ns/op 0 B/op 0 allocs/op BenchmarkAttrs/disabled/40_args-8 16463736 72.50 ns/op 0 B/op 0 allocs/op BenchmarkAttrs/disabled/40_args-8 16542148 72.09 ns/op 0 B/op 0 allocs/op BenchmarkAttrs/disabled/40_args-8 16668524 73.04 ns/op 0 B/op 0 allocs/op BenchmarkAttrs/disabled/40_args-8 16624455 72.58 ns/op 0 B/op 0 allocs/op BenchmarkAttrs/async_discard/5_args-8 4012514 303.9 ns/op 0 B/op 0 allocs/op BenchmarkAttrs/async_discard/5_args-8 3993012 297.2 ns/op 0 B/op 0 allocs/op BenchmarkAttrs/async_discard/5_args-8 4061977 299.4 ns/op 0 B/op 0 allocs/op BenchmarkAttrs/async_discard/5_args-8 4008031 304.9 ns/op 0 B/op 0 allocs/op BenchmarkAttrs/async_discard/5_args-8 3919713 308.9 ns/op 0 B/op 0 allocs/op BenchmarkAttrs/async_discard/5_args-8 3841856 307.4 ns/op 0 B/op 0 allocs/op BenchmarkAttrs/async_discard/5_args-8 3907417 300.7 ns/op 0 B/op 0 allocs/op BenchmarkAttrs/async_discard/5_args-8 3629317 300.3 ns/op 0 B/op 0 allocs/op BenchmarkAttrs/async_discard/5_args-8 4037016 303.3 ns/op 0 B/op 0 allocs/op BenchmarkAttrs/async_discard/5_args-8 4073185 295.9 ns/op 0 B/op 0 allocs/op BenchmarkAttrs/async_discard/5_args_ctx-8 4065908 301.2 ns/op 0 B/op 0 allocs/op BenchmarkAttrs/async_discard/5_args_ctx-8 3974256 310.3 ns/op 0 B/op 0 allocs/op BenchmarkAttrs/async_discard/5_args_ctx-8 3553280 312.6 ns/op 0 B/op 0 allocs/op BenchmarkAttrs/async_discard/5_args_ctx-8 3492072 319.0 ns/op 0 B/op 0 allocs/op BenchmarkAttrs/async_discard/5_args_ctx-8 3975591 297.2 ns/op 0 B/op 0 allocs/op BenchmarkAttrs/async_discard/5_args_ctx-8 3990794 303.5 ns/op 0 B/op 0 allocs/op BenchmarkAttrs/async_discard/5_args_ctx-8 3865233 304.3 ns/op 0 B/op 0 allocs/op BenchmarkAttrs/async_discard/5_args_ctx-8 3839840 313.3 ns/op 0 B/op 0 allocs/op BenchmarkAttrs/async_discard/5_args_ctx-8 4023607 311.0 ns/op 0 B/op 0 allocs/op BenchmarkAttrs/async_discard/5_args_ctx-8 4048357 297.7 ns/op 0 B/op 0 allocs/op BenchmarkAttrs/async_discard/10_args-8 2134437 550.9 ns/op 208 B/op 1 allocs/op BenchmarkAttrs/async_discard/10_args-8 2101972 557.3 ns/op 208 B/op 1 allocs/op BenchmarkAttrs/async_discard/10_args-8 2145542 552.7 ns/op 208 B/op 1 allocs/op BenchmarkAttrs/async_discard/10_args-8 2183551 551.4 ns/op 208 B/op 1 allocs/op BenchmarkAttrs/async_discard/10_args-8 2160979 556.7 ns/op 208 B/op 1 allocs/op BenchmarkAttrs/async_discard/10_args-8 2251357 553.8 ns/op 208 B/op 1 allocs/op BenchmarkAttrs/async_discard/10_args-8 2099067 556.3 ns/op 208 B/op 1 allocs/op BenchmarkAttrs/async_discard/10_args-8 2066022 561.3 ns/op 208 B/op 1 allocs/op BenchmarkAttrs/async_discard/10_args-8 2101921 560.8 ns/op 208 B/op 1 allocs/op BenchmarkAttrs/async_discard/10_args-8 2074694 563.1 ns/op 208 B/op 1 allocs/op BenchmarkAttrs/async_discard/40_args-8 682222 2026 ns/op 1408 B/op 1 allocs/op BenchmarkAttrs/async_discard/40_args-8 611084 2068 ns/op 1408 B/op 1 allocs/op BenchmarkAttrs/async_discard/40_args-8 572643 2096 ns/op 1408 B/op 1 allocs/op BenchmarkAttrs/async_discard/40_args-8 593726 2046 ns/op 1408 B/op 1 allocs/op BenchmarkAttrs/async_discard/40_args-8 607022 2037 ns/op 1408 B/op 1 allocs/op BenchmarkAttrs/async_discard/40_args-8 580706 2043 ns/op 1408 B/op 1 allocs/op BenchmarkAttrs/async_discard/40_args-8 571491 2071 ns/op 1408 B/op 1 allocs/op BenchmarkAttrs/async_discard/40_args-8 578845 2031 ns/op 1408 B/op 1 allocs/op BenchmarkAttrs/async_discard/40_args-8 581244 2084 ns/op 1408 B/op 1 allocs/op BenchmarkAttrs/async_discard/40_args-8 608149 2069 ns/op 1408 B/op 1 allocs/op BenchmarkAttrs/fastText_discard/5_args-8 3144124 387.7 ns/op 0 B/op 0 allocs/op BenchmarkAttrs/fastText_discard/5_args-8 3161896 380.1 ns/op 0 B/op 0 allocs/op BenchmarkAttrs/fastText_discard/5_args-8 3172803 396.6 ns/op 0 B/op 0 allocs/op BenchmarkAttrs/fastText_discard/5_args-8 3154216 379.1 ns/op 0 B/op 0 allocs/op BenchmarkAttrs/fastText_discard/5_args-8 3153247 378.8 ns/op 0 B/op 0 allocs/op BenchmarkAttrs/fastText_discard/5_args-8 3185548 375.4 ns/op 0 B/op 0 allocs/op BenchmarkAttrs/fastText_discard/5_args-8 3123097 381.6 ns/op 0 B/op 0 allocs/op BenchmarkAttrs/fastText_discard/5_args-8 3163221 402.1 ns/op 0 B/op 0 allocs/op BenchmarkAttrs/fastText_discard/5_args-8 3047324 388.8 ns/op 0 B/op 0 allocs/op BenchmarkAttrs/fastText_discard/5_args-8 3151058 384.8 ns/op 0 B/op 0 allocs/op BenchmarkAttrs/fastText_discard/5_args_ctx-8 3153196 383.6 ns/op 0 B/op 0 allocs/op BenchmarkAttrs/fastText_discard/5_args_ctx-8 3138043 382.9 ns/op 0 B/op 0 allocs/op BenchmarkAttrs/fastText_discard/5_args_ctx-8 3030826 421.6 ns/op 0 B/op 0 allocs/op BenchmarkAttrs/fastText_discard/5_args_ctx-8 3118032 399.4 ns/op 0 B/op 0 allocs/op BenchmarkAttrs/fastText_discard/5_args_ctx-8 3103054 384.9 ns/op 0 B/op 0 allocs/op BenchmarkAttrs/fastText_discard/5_args_ctx-8 3040407 398.9 ns/op 0 B/op 0 allocs/op BenchmarkAttrs/fastText_discard/5_args_ctx-8 3057907 384.0 ns/op 0 B/op 0 allocs/op BenchmarkAttrs/fastText_discard/5_args_ctx-8 2804430 380.2 ns/op 0 B/op 0 allocs/op BenchmarkAttrs/fastText_discard/5_args_ctx-8 3109689 383.7 ns/op 0 B/op 0 allocs/op BenchmarkAttrs/fastText_discard/5_args_ctx-8 3161005 382.0 ns/op 0 B/op 0 allocs/op BenchmarkAttrs/fastText_discard/10_args-8 1558144 769.7 ns/op 208 B/op 1 allocs/op BenchmarkAttrs/fastText_discard/10_args-8 1618090 703.0 ns/op 208 B/op 1 allocs/op BenchmarkAttrs/fastText_discard/10_args-8 1641794 709.1 ns/op 208 B/op 1 allocs/op BenchmarkAttrs/fastText_discard/10_args-8 1642668 726.3 ns/op 208 B/op 1 allocs/op BenchmarkAttrs/fastText_discard/10_args-8 1614679 715.0 ns/op 208 B/op 1 allocs/op BenchmarkAttrs/fastText_discard/10_args-8 1664410 747.8 ns/op 208 B/op 1 allocs/op BenchmarkAttrs/fastText_discard/10_args-8 1375760 735.9 ns/op 208 B/op 1 allocs/op BenchmarkAttrs/fastText_discard/10_args-8 1654279 776.4 ns/op 208 B/op 1 allocs/op BenchmarkAttrs/fastText_discard/10_args-8 1617708 728.0 ns/op 208 B/op 1 allocs/op BenchmarkAttrs/fastText_discard/10_args-8 1622902 724.0 ns/op 208 B/op 1 allocs/op BenchmarkAttrs/fastText_discard/40_args-8 385968 2840 ns/op 1413 B/op 1 allocs/op BenchmarkAttrs/fastText_discard/40_args-8 448968 2741 ns/op 1413 B/op 1 allocs/op BenchmarkAttrs/fastText_discard/40_args-8 430761 2729 ns/op 1413 B/op 1 allocs/op BenchmarkAttrs/fastText_discard/40_args-8 488749 2836 ns/op 1412 B/op 1 allocs/op BenchmarkAttrs/fastText_discard/40_args-8 446198 2909 ns/op 1413 B/op 1 allocs/op BenchmarkAttrs/fastText_discard/40_args-8 392104 2860 ns/op 1412 B/op 1 allocs/op BenchmarkAttrs/fastText_discard/40_args-8 435178 2807 ns/op 1413 B/op 1 allocs/op BenchmarkAttrs/fastText_discard/40_args-8 408925 2878 ns/op 1413 B/op 1 allocs/op BenchmarkAttrs/fastText_discard/40_args-8 420307 2824 ns/op 1413 B/op 1 allocs/op BenchmarkAttrs/fastText_discard/40_args-8 417450 2853 ns/op 1413 B/op 1 allocs/op BenchmarkAttrs/Text_discard/5_args-8 1221808 1013 ns/op 8 B/op 2 allocs/op BenchmarkAttrs/Text_discard/5_args-8 1222080 969.3 ns/op 8 B/op 2 allocs/op BenchmarkAttrs/Text_discard/5_args-8 1226036 966.0 ns/op 8 B/op 2 allocs/op BenchmarkAttrs/Text_discard/5_args-8 1298272 939.0 ns/op 8 B/op 2 allocs/op BenchmarkAttrs/Text_discard/5_args-8 1237682 960.2 ns/op 8 B/op 2 allocs/op BenchmarkAttrs/Text_discard/5_args-8 1278205 977.6 ns/op 8 B/op 2 allocs/op BenchmarkAttrs/Text_discard/5_args-8 1000000 1007 ns/op 8 B/op 2 allocs/op BenchmarkAttrs/Text_discard/5_args-8 1000000 1050 ns/op 8 B/op 2 allocs/op BenchmarkAttrs/Text_discard/5_args-8 1205269 1043 ns/op 8 B/op 2 allocs/op BenchmarkAttrs/Text_discard/5_args-8 1000000 1016 ns/op 8 B/op 2 allocs/op BenchmarkAttrs/Text_discard/5_args_ctx-8 1206166 985.5 ns/op 8 B/op 2 allocs/op BenchmarkAttrs/Text_discard/5_args_ctx-8 1000000 1020 ns/op 8 B/op 2 allocs/op BenchmarkAttrs/Text_discard/5_args_ctx-8 1000000 1039 ns/op 8 B/op 2 allocs/op BenchmarkAttrs/Text_discard/5_args_ctx-8 1000000 1044 ns/op 8 B/op 2 allocs/op BenchmarkAttrs/Text_discard/5_args_ctx-8 1252417 973.3 ns/op 8 B/op 2 allocs/op BenchmarkAttrs/Text_discard/5_args_ctx-8 1230265 1025 ns/op 8 B/op 2 allocs/op BenchmarkAttrs/Text_discard/5_args_ctx-8 1202907 1049 ns/op 8 B/op 2 allocs/op BenchmarkAttrs/Text_discard/5_args_ctx-8 1000000 1061 ns/op 8 B/op 2 allocs/op BenchmarkAttrs/Text_discard/5_args_ctx-8 1000000 1057 ns/op 8 B/op 2 allocs/op BenchmarkAttrs/Text_discard/5_args_ctx-8 1000000 1048 ns/op 8 B/op 2 allocs/op BenchmarkAttrs/Text_discard/10_args-8 722588 1609 ns/op 224 B/op 5 allocs/op BenchmarkAttrs/Text_discard/10_args-8 841220 1562 ns/op 224 B/op 5 allocs/op BenchmarkAttrs/Text_discard/10_args-8 803983 1600 ns/op 224 B/op 5 allocs/op BenchmarkAttrs/Text_discard/10_args-8 823732 1598 ns/op 224 B/op 5 allocs/op BenchmarkAttrs/Text_discard/10_args-8 797410 1617 ns/op 224 B/op 5 allocs/op BenchmarkAttrs/Text_discard/10_args-8 827581 1648 ns/op 224 B/op 5 allocs/op BenchmarkAttrs/Text_discard/10_args-8 731049 1647 ns/op 224 B/op 5 allocs/op BenchmarkAttrs/Text_discard/10_args-8 818089 1572 ns/op 224 B/op 5 allocs/op BenchmarkAttrs/Text_discard/10_args-8 808208 1502 ns/op 224 B/op 5 allocs/op BenchmarkAttrs/Text_discard/10_args-8 851550 1574 ns/op 224 B/op 5 allocs/op BenchmarkAttrs/Text_discard/40_args-8 247522 5274 ns/op 1477 B/op 17 allocs/op BenchmarkAttrs/Text_discard/40_args-8 239428 5060 ns/op 1477 B/op 17 allocs/op BenchmarkAttrs/Text_discard/40_args-8 232135 4937 ns/op 1476 B/op 17 allocs/op BenchmarkAttrs/Text_discard/40_args-8 213756 5148 ns/op 1477 B/op 17 allocs/op BenchmarkAttrs/Text_discard/40_args-8 256321 5316 ns/op 1477 B/op 17 allocs/op BenchmarkAttrs/Text_discard/40_args-8 212294 5628 ns/op 1477 B/op 17 allocs/op BenchmarkAttrs/Text_discard/40_args-8 229651 5011 ns/op 1476 B/op 17 allocs/op BenchmarkAttrs/Text_discard/40_args-8 220143 5153 ns/op 1477 B/op 17 allocs/op BenchmarkAttrs/Text_discard/40_args-8 219468 5484 ns/op 1477 B/op 17 allocs/op BenchmarkAttrs/Text_discard/40_args-8 223111 4813 ns/op 1477 B/op 17 allocs/op BenchmarkAttrs/JSON_discard/5_args-8 1523245 825.6 ns/op 0 B/op 0 allocs/op BenchmarkAttrs/JSON_discard/5_args-8 1532900 781.2 ns/op 0 B/op 0 allocs/op BenchmarkAttrs/JSON_discard/5_args-8 1482728 788.4 ns/op 0 B/op 0 allocs/op BenchmarkAttrs/JSON_discard/5_args-8 1526634 806.5 ns/op 0 B/op 0 allocs/op BenchmarkAttrs/JSON_discard/5_args-8 1568881 762.7 ns/op 0 B/op 0 allocs/op BenchmarkAttrs/JSON_discard/5_args-8 1454412 731.9 ns/op 0 B/op 0 allocs/op BenchmarkAttrs/JSON_discard/5_args-8 1564548 793.5 ns/op 0 B/op 0 allocs/op BenchmarkAttrs/JSON_discard/5_args-8 1469851 784.8 ns/op 0 B/op 0 allocs/op BenchmarkAttrs/JSON_discard/5_args-8 1393617 867.9 ns/op 0 B/op 0 allocs/op BenchmarkAttrs/JSON_discard/5_args-8 1500427 786.2 ns/op 0 B/op 0 allocs/op BenchmarkAttrs/JSON_discard/5_args_ctx-8 1519324 794.5 ns/op 0 B/op 0 allocs/op BenchmarkAttrs/JSON_discard/5_args_ctx-8 1303532 791.4 ns/op 0 B/op 0 allocs/op BenchmarkAttrs/JSON_discard/5_args_ctx-8 1389266 780.3 ns/op 0 B/op 0 allocs/op BenchmarkAttrs/JSON_discard/5_args_ctx-8 1487719 763.2 ns/op 0 B/op 0 allocs/op BenchmarkAttrs/JSON_discard/5_args_ctx-8 1461187 772.4 ns/op 0 B/op 0 allocs/op BenchmarkAttrs/JSON_discard/5_args_ctx-8 1463911 826.9 ns/op 0 B/op 0 allocs/op BenchmarkAttrs/JSON_discard/5_args_ctx-8 1550698 797.3 ns/op 0 B/op 0 allocs/op BenchmarkAttrs/JSON_discard/5_args_ctx-8 1487751 744.6 ns/op 0 B/op 0 allocs/op BenchmarkAttrs/JSON_discard/5_args_ctx-8 1514853 797.3 ns/op 0 B/op 0 allocs/op BenchmarkAttrs/JSON_discard/5_args_ctx-8 1605760 750.0 ns/op 0 B/op 0 allocs/op BenchmarkAttrs/JSON_discard/10_args-8 1000000 1330 ns/op 208 B/op 1 allocs/op BenchmarkAttrs/JSON_discard/10_args-8 957187 1326 ns/op 208 B/op 1 allocs/op BenchmarkAttrs/JSON_discard/10_args-8 914820 1307 ns/op 208 B/op 1 allocs/op BenchmarkAttrs/JSON_discard/10_args-8 969138 1301 ns/op 208 B/op 1 allocs/op BenchmarkAttrs/JSON_discard/10_args-8 840184 1258 ns/op 208 B/op 1 allocs/op BenchmarkAttrs/JSON_discard/10_args-8 991464 1273 ns/op 208 B/op 1 allocs/op BenchmarkAttrs/JSON_discard/10_args-8 942420 1314 ns/op 208 B/op 1 allocs/op BenchmarkAttrs/JSON_discard/10_args-8 998630 1286 ns/op 208 B/op 1 allocs/op BenchmarkAttrs/JSON_discard/10_args-8 898899 1272 ns/op 208 B/op 1 allocs/op BenchmarkAttrs/JSON_discard/10_args-8 901351 1300 ns/op 208 B/op 1 allocs/op BenchmarkAttrs/JSON_discard/40_args-8 298953 4364 ns/op 1412 B/op 1 allocs/op BenchmarkAttrs/JSON_discard/40_args-8 253590 4395 ns/op 1412 B/op 1 allocs/op BenchmarkAttrs/JSON_discard/40_args-8 271449 4437 ns/op 1412 B/op 1 allocs/op BenchmarkAttrs/JSON_discard/40_args-8 276140 4354 ns/op 1412 B/op 1 allocs/op BenchmarkAttrs/JSON_discard/40_args-8 258526 4685 ns/op 1412 B/op 1 allocs/op BenchmarkAttrs/JSON_discard/40_args-8 292897 4555 ns/op 1412 B/op 1 allocs/op BenchmarkAttrs/JSON_discard/40_args-8 262538 4392 ns/op 1412 B/op 1 allocs/op BenchmarkAttrs/JSON_discard/40_args-8 274155 4349 ns/op 1412 B/op 1 allocs/op BenchmarkAttrs/JSON_discard/40_args-8 296401 4584 ns/op 1412 B/op 1 allocs/op BenchmarkAttrs/JSON_discard/40_args-8 277298 4393 ns/op 1412 B/op 1 allocs/op PASS ok golang.org/x/exp/slog/benchmarks 296.660s ././@LongLink0000644000000000000000000000015400000000000011603 Lustar rootrootdependencies/pkg/mod/golang.org/x/exp@v0.0.0-20240506185415-9bf2ced13842/slog/benchmarks/benchmarks_test.godependencies/pkg/mod/golang.org/x/exp@v0.0.0-20240506185415-9bf2ced13842/slog/benchmarks/benchmarks_0000644000000000000000000001047015107355263030203 0ustar rootroot// Copyright 2022 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 benchmarks import ( "context" "flag" "io" "testing" "golang.org/x/exp/slog" "golang.org/x/exp/slog/internal" ) func init() { flag.BoolVar(&internal.IgnorePC, "nopc", false, "do not invoke runtime.Callers") } // We pass Attrs (or zap.Fields) inline because it affects allocations: building // up a list outside of the benchmarked code and passing it in with "..." // reduces measured allocations. func BenchmarkAttrs(b *testing.B) { ctx := context.Background() for _, handler := range []struct { name string h slog.Handler }{ {"disabled", disabledHandler{}}, {"async discard", newAsyncHandler()}, {"fastText discard", newFastTextHandler(io.Discard)}, {"Text discard", slog.NewTextHandler(io.Discard, nil)}, {"JSON discard", slog.NewJSONHandler(io.Discard, nil)}, } { logger := slog.New(handler.h) b.Run(handler.name, func(b *testing.B) { for _, call := range []struct { name string f func() }{ { // The number should match nAttrsInline in slog/record.go. // This should exercise the code path where no allocations // happen in Record or Attr. If there are allocations, they // should only be from Duration.String and Time.String. "5 args", func() { logger.LogAttrs(nil, slog.LevelInfo, TestMessage, slog.String("string", TestString), slog.Int("status", TestInt), slog.Duration("duration", TestDuration), slog.Time("time", TestTime), slog.Any("error", TestError), ) }, }, { "5 args ctx", func() { logger.LogAttrs(ctx, slog.LevelInfo, TestMessage, slog.String("string", TestString), slog.Int("status", TestInt), slog.Duration("duration", TestDuration), slog.Time("time", TestTime), slog.Any("error", TestError), ) }, }, { "10 args", func() { logger.LogAttrs(nil, slog.LevelInfo, TestMessage, slog.String("string", TestString), slog.Int("status", TestInt), slog.Duration("duration", TestDuration), slog.Time("time", TestTime), slog.Any("error", TestError), slog.String("string", TestString), slog.Int("status", TestInt), slog.Duration("duration", TestDuration), slog.Time("time", TestTime), slog.Any("error", TestError), ) }, }, { "40 args", func() { logger.LogAttrs(nil, slog.LevelInfo, TestMessage, slog.String("string", TestString), slog.Int("status", TestInt), slog.Duration("duration", TestDuration), slog.Time("time", TestTime), slog.Any("error", TestError), slog.String("string", TestString), slog.Int("status", TestInt), slog.Duration("duration", TestDuration), slog.Time("time", TestTime), slog.Any("error", TestError), slog.String("string", TestString), slog.Int("status", TestInt), slog.Duration("duration", TestDuration), slog.Time("time", TestTime), slog.Any("error", TestError), slog.String("string", TestString), slog.Int("status", TestInt), slog.Duration("duration", TestDuration), slog.Time("time", TestTime), slog.Any("error", TestError), slog.String("string", TestString), slog.Int("status", TestInt), slog.Duration("duration", TestDuration), slog.Time("time", TestTime), slog.Any("error", TestError), slog.String("string", TestString), slog.Int("status", TestInt), slog.Duration("duration", TestDuration), slog.Time("time", TestTime), slog.Any("error", TestError), slog.String("string", TestString), slog.Int("status", TestInt), slog.Duration("duration", TestDuration), slog.Time("time", TestTime), slog.Any("error", TestError), slog.String("string", TestString), slog.Int("status", TestInt), slog.Duration("duration", TestDuration), slog.Time("time", TestTime), slog.Any("error", TestError), ) }, }, } { b.Run(call.name, func(b *testing.B) { b.ReportAllocs() b.RunParallel(func(pb *testing.PB) { for pb.Next() { call.f() } }) }) } }) } } ././@LongLink0000644000000000000000000000015200000000000011601 Lustar rootrootdependencies/pkg/mod/golang.org/x/exp@v0.0.0-20240506185415-9bf2ced13842/slog/benchmarks/handlers_test.godependencies/pkg/mod/golang.org/x/exp@v0.0.0-20240506185415-9bf2ced13842/slog/benchmarks/handlers_te0000644000000000000000000000170515107355263030220 0ustar rootrootpackage benchmarks import ( "bytes" "context" "testing" "golang.org/x/exp/slices" "golang.org/x/exp/slog" ) func TestHandlers(t *testing.T) { ctx := context.Background() r := slog.NewRecord(TestTime, slog.LevelInfo, TestMessage, 0) r.AddAttrs(TestAttrs...) t.Run("text", func(t *testing.T) { var b bytes.Buffer h := newFastTextHandler(&b) if err := h.Handle(ctx, r); err != nil { t.Fatal(err) } got := b.String() if got != WantText { t.Errorf("\ngot %q\nwant %q", got, WantText) } }) t.Run("async", func(t *testing.T) { h := newAsyncHandler() if err := h.Handle(ctx, r); err != nil { t.Fatal(err) } got := h.ringBuffer[0] if !got.Time.Equal(r.Time) || !slices.EqualFunc(attrSlice(got), attrSlice(r), slog.Attr.Equal) { t.Errorf("got %+v, want %+v", got, r) } }) } func attrSlice(r slog.Record) []slog.Attr { var as []slog.Attr r.Attrs(func(a slog.Attr) bool { as = append(as, a); return true }) return as } dependencies/pkg/mod/golang.org/x/exp@v0.0.0-20240506185415-9bf2ced13842/slog/benchmarks/Makefile0000644000000000000000000000141415107355263027442 0ustar rootroot# Run and compare benchmarks. # This requires a version of benchstat that supports # the -ignore flag. The flag was added on or before 13 January 2023, # so a compatible version can be obtained by running # go install golang.org/x/perf/cmd/benchstat@latest count = 10 default: compare-zap compare-zerolog compare-%: %_benchmarks/out.bench slog.bench benchstat -ignore pkg $^ slog.bench: *.go ../*.go ../../go.mod go test -run NONE -bench . -count $(count) > $@ slog-nopc.bench: *.go ../*.go ../../go.mod go test -nopc -run NONE -bench . -count $(count) > $@ %_benchmarks/out.bench: %_benchmarks/*.go %_benchmarks/go.mod go test -C $*_benchmarks -bench . -count $(count) > $@ # Don't delete the out.bench files after a comparison. .PRECIOUS: %_benchmarks/out.bench ././@LongLink0000644000000000000000000000015100000000000011600 Lustar rootrootdependencies/pkg/mod/golang.org/x/exp@v0.0.0-20240506185415-9bf2ced13842/slog/benchmarks/slog-nopc.benchdependencies/pkg/mod/golang.org/x/exp@v0.0.0-20240506185415-9bf2ced13842/slog/benchmarks/slog-nopc.b0000644000000000000000000005157315107355263030061 0ustar rootrootgoos: linux goarch: amd64 pkg: golang.org/x/exp/slog/benchmarks cpu: Intel(R) Xeon(R) CPU @ 2.20GHz BenchmarkAttrs/disabled/5_args-8 96666853 11.50 ns/op 0 B/op 0 allocs/op BenchmarkAttrs/disabled/5_args-8 93822624 11.52 ns/op 0 B/op 0 allocs/op BenchmarkAttrs/disabled/5_args-8 93498656 11.50 ns/op 0 B/op 0 allocs/op BenchmarkAttrs/disabled/5_args-8 100000000 11.34 ns/op 0 B/op 0 allocs/op BenchmarkAttrs/disabled/5_args-8 100000000 11.27 ns/op 0 B/op 0 allocs/op BenchmarkAttrs/disabled/5_args-8 100000000 11.55 ns/op 0 B/op 0 allocs/op BenchmarkAttrs/disabled/5_args-8 98321294 11.44 ns/op 0 B/op 0 allocs/op BenchmarkAttrs/disabled/5_args-8 100000000 11.19 ns/op 0 B/op 0 allocs/op BenchmarkAttrs/disabled/5_args-8 97612837 11.17 ns/op 0 B/op 0 allocs/op BenchmarkAttrs/disabled/5_args-8 91372897 11.47 ns/op 0 B/op 0 allocs/op BenchmarkAttrs/disabled/5_args_ctx-8 61208725 19.13 ns/op 0 B/op 0 allocs/op BenchmarkAttrs/disabled/5_args_ctx-8 63628257 19.69 ns/op 0 B/op 0 allocs/op BenchmarkAttrs/disabled/5_args_ctx-8 57953264 18.73 ns/op 0 B/op 0 allocs/op BenchmarkAttrs/disabled/5_args_ctx-8 62812270 19.46 ns/op 0 B/op 0 allocs/op BenchmarkAttrs/disabled/5_args_ctx-8 57251260 19.27 ns/op 0 B/op 0 allocs/op BenchmarkAttrs/disabled/5_args_ctx-8 61932922 20.04 ns/op 0 B/op 0 allocs/op BenchmarkAttrs/disabled/5_args_ctx-8 61243114 19.21 ns/op 0 B/op 0 allocs/op BenchmarkAttrs/disabled/5_args_ctx-8 59434218 19.90 ns/op 0 B/op 0 allocs/op BenchmarkAttrs/disabled/5_args_ctx-8 64204924 19.21 ns/op 0 B/op 0 allocs/op BenchmarkAttrs/disabled/5_args_ctx-8 63116061 18.77 ns/op 0 B/op 0 allocs/op BenchmarkAttrs/disabled/10_args-8 56439350 20.38 ns/op 0 B/op 0 allocs/op BenchmarkAttrs/disabled/10_args-8 57480078 20.69 ns/op 0 B/op 0 allocs/op BenchmarkAttrs/disabled/10_args-8 59042649 20.47 ns/op 0 B/op 0 allocs/op BenchmarkAttrs/disabled/10_args-8 56442658 20.72 ns/op 0 B/op 0 allocs/op BenchmarkAttrs/disabled/10_args-8 55750566 20.49 ns/op 0 B/op 0 allocs/op BenchmarkAttrs/disabled/10_args-8 57809546 20.54 ns/op 0 B/op 0 allocs/op BenchmarkAttrs/disabled/10_args-8 55997990 21.12 ns/op 0 B/op 0 allocs/op BenchmarkAttrs/disabled/10_args-8 53568574 21.60 ns/op 0 B/op 0 allocs/op BenchmarkAttrs/disabled/10_args-8 49113771 23.03 ns/op 0 B/op 0 allocs/op BenchmarkAttrs/disabled/10_args-8 52396518 22.46 ns/op 0 B/op 0 allocs/op BenchmarkAttrs/disabled/40_args-8 15550318 73.67 ns/op 0 B/op 0 allocs/op BenchmarkAttrs/disabled/40_args-8 15800660 78.36 ns/op 0 B/op 0 allocs/op BenchmarkAttrs/disabled/40_args-8 14491339 76.37 ns/op 0 B/op 0 allocs/op BenchmarkAttrs/disabled/40_args-8 15809065 73.16 ns/op 0 B/op 0 allocs/op BenchmarkAttrs/disabled/40_args-8 16208973 74.71 ns/op 0 B/op 0 allocs/op BenchmarkAttrs/disabled/40_args-8 16328282 75.02 ns/op 0 B/op 0 allocs/op BenchmarkAttrs/disabled/40_args-8 16293915 73.25 ns/op 0 B/op 0 allocs/op BenchmarkAttrs/disabled/40_args-8 16769311 72.24 ns/op 0 B/op 0 allocs/op BenchmarkAttrs/disabled/40_args-8 16190818 77.24 ns/op 0 B/op 0 allocs/op BenchmarkAttrs/disabled/40_args-8 15298545 75.12 ns/op 0 B/op 0 allocs/op BenchmarkAttrs/async_discard/5_args-8 12126757 113.4 ns/op 0 B/op 0 allocs/op BenchmarkAttrs/async_discard/5_args-8 11220534 112.0 ns/op 0 B/op 0 allocs/op BenchmarkAttrs/async_discard/5_args-8 10304506 97.45 ns/op 0 B/op 0 allocs/op BenchmarkAttrs/async_discard/5_args-8 12205324 96.65 ns/op 0 B/op 0 allocs/op BenchmarkAttrs/async_discard/5_args-8 11156934 104.2 ns/op 0 B/op 0 allocs/op BenchmarkAttrs/async_discard/5_args-8 11478124 103.5 ns/op 0 B/op 0 allocs/op BenchmarkAttrs/async_discard/5_args-8 11881509 104.3 ns/op 0 B/op 0 allocs/op BenchmarkAttrs/async_discard/5_args-8 11149441 97.91 ns/op 0 B/op 0 allocs/op BenchmarkAttrs/async_discard/5_args-8 11795527 94.65 ns/op 0 B/op 0 allocs/op BenchmarkAttrs/async_discard/5_args-8 12327957 100.0 ns/op 0 B/op 0 allocs/op BenchmarkAttrs/async_discard/5_args_ctx-8 10814191 114.3 ns/op 0 B/op 0 allocs/op BenchmarkAttrs/async_discard/5_args_ctx-8 10285345 108.9 ns/op 0 B/op 0 allocs/op BenchmarkAttrs/async_discard/5_args_ctx-8 10800776 99.18 ns/op 0 B/op 0 allocs/op BenchmarkAttrs/async_discard/5_args_ctx-8 11485023 104.9 ns/op 0 B/op 0 allocs/op BenchmarkAttrs/async_discard/5_args_ctx-8 11583052 100.9 ns/op 0 B/op 0 allocs/op BenchmarkAttrs/async_discard/5_args_ctx-8 10625286 102.8 ns/op 0 B/op 0 allocs/op BenchmarkAttrs/async_discard/5_args_ctx-8 12110364 102.9 ns/op 0 B/op 0 allocs/op BenchmarkAttrs/async_discard/5_args_ctx-8 10148967 104.7 ns/op 0 B/op 0 allocs/op BenchmarkAttrs/async_discard/5_args_ctx-8 11966101 102.5 ns/op 0 B/op 0 allocs/op BenchmarkAttrs/async_discard/5_args_ctx-8 11707686 103.5 ns/op 0 B/op 0 allocs/op BenchmarkAttrs/async_discard/10_args-8 3464420 360.6 ns/op 208 B/op 1 allocs/op BenchmarkAttrs/async_discard/10_args-8 3190548 372.2 ns/op 208 B/op 1 allocs/op BenchmarkAttrs/async_discard/10_args-8 2996740 394.5 ns/op 208 B/op 1 allocs/op BenchmarkAttrs/async_discard/10_args-8 3137779 349.4 ns/op 208 B/op 1 allocs/op BenchmarkAttrs/async_discard/10_args-8 3399565 342.7 ns/op 208 B/op 1 allocs/op BenchmarkAttrs/async_discard/10_args-8 3154626 384.1 ns/op 208 B/op 1 allocs/op BenchmarkAttrs/async_discard/10_args-8 3780799 328.8 ns/op 208 B/op 1 allocs/op BenchmarkAttrs/async_discard/10_args-8 3136921 359.5 ns/op 208 B/op 1 allocs/op BenchmarkAttrs/async_discard/10_args-8 3452958 389.5 ns/op 208 B/op 1 allocs/op BenchmarkAttrs/async_discard/10_args-8 3486763 346.6 ns/op 208 B/op 1 allocs/op BenchmarkAttrs/async_discard/40_args-8 1000000 1417 ns/op 1408 B/op 1 allocs/op BenchmarkAttrs/async_discard/40_args-8 716872 1448 ns/op 1408 B/op 1 allocs/op BenchmarkAttrs/async_discard/40_args-8 961792 1290 ns/op 1408 B/op 1 allocs/op BenchmarkAttrs/async_discard/40_args-8 913196 1313 ns/op 1408 B/op 1 allocs/op BenchmarkAttrs/async_discard/40_args-8 814600 1367 ns/op 1408 B/op 1 allocs/op BenchmarkAttrs/async_discard/40_args-8 849133 1373 ns/op 1408 B/op 1 allocs/op BenchmarkAttrs/async_discard/40_args-8 792927 1268 ns/op 1408 B/op 1 allocs/op BenchmarkAttrs/async_discard/40_args-8 944186 1257 ns/op 1408 B/op 1 allocs/op BenchmarkAttrs/async_discard/40_args-8 1000000 1266 ns/op 1408 B/op 1 allocs/op BenchmarkAttrs/async_discard/40_args-8 1000000 1313 ns/op 1408 B/op 1 allocs/op BenchmarkAttrs/fastText_discard/5_args-8 7067176 171.4 ns/op 0 B/op 0 allocs/op BenchmarkAttrs/fastText_discard/5_args-8 6854912 189.9 ns/op 0 B/op 0 allocs/op BenchmarkAttrs/fastText_discard/5_args-8 6477049 194.2 ns/op 0 B/op 0 allocs/op BenchmarkAttrs/fastText_discard/5_args-8 5754541 231.8 ns/op 0 B/op 0 allocs/op BenchmarkAttrs/fastText_discard/5_args-8 5994988 187.4 ns/op 0 B/op 0 allocs/op BenchmarkAttrs/fastText_discard/5_args-8 6226411 199.7 ns/op 0 B/op 0 allocs/op BenchmarkAttrs/fastText_discard/5_args-8 7055413 182.3 ns/op 0 B/op 0 allocs/op BenchmarkAttrs/fastText_discard/5_args-8 6862999 171.5 ns/op 0 B/op 0 allocs/op BenchmarkAttrs/fastText_discard/5_args-8 7167945 189.0 ns/op 0 B/op 0 allocs/op BenchmarkAttrs/fastText_discard/5_args-8 5665896 223.2 ns/op 0 B/op 0 allocs/op BenchmarkAttrs/fastText_discard/5_args_ctx-8 6328725 220.4 ns/op 0 B/op 0 allocs/op BenchmarkAttrs/fastText_discard/5_args_ctx-8 5980275 202.0 ns/op 0 B/op 0 allocs/op BenchmarkAttrs/fastText_discard/5_args_ctx-8 5859608 212.4 ns/op 0 B/op 0 allocs/op BenchmarkAttrs/fastText_discard/5_args_ctx-8 6417674 212.6 ns/op 0 B/op 0 allocs/op BenchmarkAttrs/fastText_discard/5_args_ctx-8 5264354 248.9 ns/op 0 B/op 0 allocs/op BenchmarkAttrs/fastText_discard/5_args_ctx-8 6446439 225.0 ns/op 0 B/op 0 allocs/op BenchmarkAttrs/fastText_discard/5_args_ctx-8 5482052 198.1 ns/op 0 B/op 0 allocs/op BenchmarkAttrs/fastText_discard/5_args_ctx-8 5419814 223.8 ns/op 0 B/op 0 allocs/op BenchmarkAttrs/fastText_discard/5_args_ctx-8 6455188 192.7 ns/op 0 B/op 0 allocs/op BenchmarkAttrs/fastText_discard/5_args_ctx-8 6946065 184.5 ns/op 0 B/op 0 allocs/op BenchmarkAttrs/fastText_discard/10_args-8 2318042 555.9 ns/op 208 B/op 1 allocs/op BenchmarkAttrs/fastText_discard/10_args-8 2207629 567.4 ns/op 208 B/op 1 allocs/op BenchmarkAttrs/fastText_discard/10_args-8 2096774 571.4 ns/op 208 B/op 1 allocs/op BenchmarkAttrs/fastText_discard/10_args-8 2109498 551.6 ns/op 208 B/op 1 allocs/op BenchmarkAttrs/fastText_discard/10_args-8 2056164 553.2 ns/op 208 B/op 1 allocs/op BenchmarkAttrs/fastText_discard/10_args-8 2261677 531.6 ns/op 208 B/op 1 allocs/op BenchmarkAttrs/fastText_discard/10_args-8 2085157 589.5 ns/op 208 B/op 1 allocs/op BenchmarkAttrs/fastText_discard/10_args-8 2193956 553.1 ns/op 208 B/op 1 allocs/op BenchmarkAttrs/fastText_discard/10_args-8 1962531 534.2 ns/op 208 B/op 1 allocs/op BenchmarkAttrs/fastText_discard/10_args-8 2347599 758.9 ns/op 208 B/op 1 allocs/op BenchmarkAttrs/fastText_discard/40_args-8 361731 3279 ns/op 1413 B/op 1 allocs/op BenchmarkAttrs/fastText_discard/40_args-8 376836 2673 ns/op 1412 B/op 1 allocs/op BenchmarkAttrs/fastText_discard/40_args-8 478945 2499 ns/op 1412 B/op 1 allocs/op BenchmarkAttrs/fastText_discard/40_args-8 576418 2670 ns/op 1412 B/op 1 allocs/op BenchmarkAttrs/fastText_discard/40_args-8 535083 2430 ns/op 1412 B/op 1 allocs/op BenchmarkAttrs/fastText_discard/40_args-8 506319 2501 ns/op 1412 B/op 1 allocs/op BenchmarkAttrs/fastText_discard/40_args-8 439126 2566 ns/op 1412 B/op 1 allocs/op BenchmarkAttrs/fastText_discard/40_args-8 446274 2451 ns/op 1413 B/op 1 allocs/op BenchmarkAttrs/fastText_discard/40_args-8 544543 2259 ns/op 1413 B/op 1 allocs/op BenchmarkAttrs/fastText_discard/40_args-8 540310 2312 ns/op 1413 B/op 1 allocs/op BenchmarkAttrs/Text_discard/5_args-8 1475912 832.4 ns/op 8 B/op 2 allocs/op BenchmarkAttrs/Text_discard/5_args-8 1337040 850.3 ns/op 8 B/op 2 allocs/op BenchmarkAttrs/Text_discard/5_args-8 1357222 803.1 ns/op 8 B/op 2 allocs/op BenchmarkAttrs/Text_discard/5_args-8 1310484 826.5 ns/op 8 B/op 2 allocs/op BenchmarkAttrs/Text_discard/5_args-8 1453827 792.9 ns/op 8 B/op 2 allocs/op BenchmarkAttrs/Text_discard/5_args-8 1505486 875.6 ns/op 8 B/op 2 allocs/op BenchmarkAttrs/Text_discard/5_args-8 1412893 833.8 ns/op 8 B/op 2 allocs/op BenchmarkAttrs/Text_discard/5_args-8 1501142 770.5 ns/op 8 B/op 2 allocs/op BenchmarkAttrs/Text_discard/5_args-8 1541641 840.8 ns/op 8 B/op 2 allocs/op BenchmarkAttrs/Text_discard/5_args-8 1460121 813.6 ns/op 8 B/op 2 allocs/op BenchmarkAttrs/Text_discard/5_args_ctx-8 1433220 847.9 ns/op 8 B/op 2 allocs/op BenchmarkAttrs/Text_discard/5_args_ctx-8 1425093 785.0 ns/op 8 B/op 2 allocs/op BenchmarkAttrs/Text_discard/5_args_ctx-8 1367612 870.2 ns/op 8 B/op 2 allocs/op BenchmarkAttrs/Text_discard/5_args_ctx-8 1348792 911.9 ns/op 8 B/op 2 allocs/op BenchmarkAttrs/Text_discard/5_args_ctx-8 1470273 847.4 ns/op 8 B/op 2 allocs/op BenchmarkAttrs/Text_discard/5_args_ctx-8 1441452 879.6 ns/op 8 B/op 2 allocs/op BenchmarkAttrs/Text_discard/5_args_ctx-8 1345639 966.5 ns/op 8 B/op 2 allocs/op BenchmarkAttrs/Text_discard/5_args_ctx-8 1416301 840.1 ns/op 8 B/op 2 allocs/op BenchmarkAttrs/Text_discard/5_args_ctx-8 1483112 834.0 ns/op 8 B/op 2 allocs/op BenchmarkAttrs/Text_discard/5_args_ctx-8 1443690 850.7 ns/op 8 B/op 2 allocs/op BenchmarkAttrs/Text_discard/10_args-8 793375 1550 ns/op 224 B/op 5 allocs/op BenchmarkAttrs/Text_discard/10_args-8 883533 1543 ns/op 224 B/op 5 allocs/op BenchmarkAttrs/Text_discard/10_args-8 940844 1570 ns/op 224 B/op 5 allocs/op BenchmarkAttrs/Text_discard/10_args-8 773037 1393 ns/op 224 B/op 5 allocs/op BenchmarkAttrs/Text_discard/10_args-8 982622 1416 ns/op 224 B/op 5 allocs/op BenchmarkAttrs/Text_discard/10_args-8 949856 1328 ns/op 224 B/op 5 allocs/op BenchmarkAttrs/Text_discard/10_args-8 878445 1453 ns/op 224 B/op 5 allocs/op BenchmarkAttrs/Text_discard/10_args-8 871341 1428 ns/op 224 B/op 5 allocs/op BenchmarkAttrs/Text_discard/10_args-8 724788 1596 ns/op 224 B/op 5 allocs/op BenchmarkAttrs/Text_discard/10_args-8 985714 1472 ns/op 224 B/op 5 allocs/op BenchmarkAttrs/Text_discard/40_args-8 236900 4795 ns/op 1476 B/op 17 allocs/op BenchmarkAttrs/Text_discard/40_args-8 317960 4955 ns/op 1477 B/op 17 allocs/op BenchmarkAttrs/Text_discard/40_args-8 250573 4851 ns/op 1476 B/op 17 allocs/op BenchmarkAttrs/Text_discard/40_args-8 257638 5089 ns/op 1477 B/op 17 allocs/op BenchmarkAttrs/Text_discard/40_args-8 261318 4671 ns/op 1476 B/op 17 allocs/op BenchmarkAttrs/Text_discard/40_args-8 254628 4732 ns/op 1476 B/op 17 allocs/op BenchmarkAttrs/Text_discard/40_args-8 239418 5454 ns/op 1477 B/op 17 allocs/op BenchmarkAttrs/Text_discard/40_args-8 272034 4705 ns/op 1477 B/op 17 allocs/op BenchmarkAttrs/Text_discard/40_args-8 271911 4808 ns/op 1476 B/op 17 allocs/op BenchmarkAttrs/Text_discard/40_args-8 248612 4969 ns/op 1477 B/op 17 allocs/op BenchmarkAttrs/JSON_discard/5_args-8 1992364 640.9 ns/op 0 B/op 0 allocs/op BenchmarkAttrs/JSON_discard/5_args-8 1609268 767.6 ns/op 0 B/op 0 allocs/op BenchmarkAttrs/JSON_discard/5_args-8 1924783 633.1 ns/op 0 B/op 0 allocs/op BenchmarkAttrs/JSON_discard/5_args-8 1686579 658.5 ns/op 0 B/op 0 allocs/op BenchmarkAttrs/JSON_discard/5_args-8 1863207 648.6 ns/op 0 B/op 0 allocs/op BenchmarkAttrs/JSON_discard/5_args-8 1817850 606.2 ns/op 0 B/op 0 allocs/op BenchmarkAttrs/JSON_discard/5_args-8 1917662 611.7 ns/op 0 B/op 0 allocs/op BenchmarkAttrs/JSON_discard/5_args-8 1668811 763.0 ns/op 0 B/op 0 allocs/op BenchmarkAttrs/JSON_discard/5_args-8 1795159 638.5 ns/op 0 B/op 0 allocs/op BenchmarkAttrs/JSON_discard/5_args-8 1889841 676.3 ns/op 0 B/op 0 allocs/op BenchmarkAttrs/JSON_discard/5_args_ctx-8 1658430 677.0 ns/op 0 B/op 0 allocs/op BenchmarkAttrs/JSON_discard/5_args_ctx-8 1683805 617.5 ns/op 0 B/op 0 allocs/op BenchmarkAttrs/JSON_discard/5_args_ctx-8 2013060 557.0 ns/op 0 B/op 0 allocs/op BenchmarkAttrs/JSON_discard/5_args_ctx-8 2090346 589.0 ns/op 0 B/op 0 allocs/op BenchmarkAttrs/JSON_discard/5_args_ctx-8 1664809 703.3 ns/op 0 B/op 0 allocs/op BenchmarkAttrs/JSON_discard/5_args_ctx-8 2149461 558.8 ns/op 0 B/op 0 allocs/op BenchmarkAttrs/JSON_discard/5_args_ctx-8 1799823 651.3 ns/op 0 B/op 0 allocs/op BenchmarkAttrs/JSON_discard/5_args_ctx-8 1846158 662.4 ns/op 0 B/op 0 allocs/op BenchmarkAttrs/JSON_discard/5_args_ctx-8 1509614 679.4 ns/op 0 B/op 0 allocs/op BenchmarkAttrs/JSON_discard/5_args_ctx-8 1802488 618.1 ns/op 0 B/op 0 allocs/op BenchmarkAttrs/JSON_discard/10_args-8 1000000 1146 ns/op 208 B/op 1 allocs/op BenchmarkAttrs/JSON_discard/10_args-8 1000000 1128 ns/op 208 B/op 1 allocs/op BenchmarkAttrs/JSON_discard/10_args-8 1000000 1240 ns/op 208 B/op 1 allocs/op BenchmarkAttrs/JSON_discard/10_args-8 930816 1248 ns/op 208 B/op 1 allocs/op BenchmarkAttrs/JSON_discard/10_args-8 1000000 1095 ns/op 208 B/op 1 allocs/op BenchmarkAttrs/JSON_discard/10_args-8 1000000 1298 ns/op 208 B/op 1 allocs/op BenchmarkAttrs/JSON_discard/10_args-8 1000000 1170 ns/op 208 B/op 1 allocs/op BenchmarkAttrs/JSON_discard/10_args-8 984279 1204 ns/op 208 B/op 1 allocs/op BenchmarkAttrs/JSON_discard/10_args-8 1000000 1189 ns/op 208 B/op 1 allocs/op BenchmarkAttrs/JSON_discard/10_args-8 1000000 1153 ns/op 208 B/op 1 allocs/op BenchmarkAttrs/JSON_discard/40_args-8 257323 4641 ns/op 1412 B/op 1 allocs/op BenchmarkAttrs/JSON_discard/40_args-8 274695 4339 ns/op 1412 B/op 1 allocs/op BenchmarkAttrs/JSON_discard/40_args-8 323830 4143 ns/op 1412 B/op 1 allocs/op BenchmarkAttrs/JSON_discard/40_args-8 291009 4123 ns/op 1412 B/op 1 allocs/op BenchmarkAttrs/JSON_discard/40_args-8 296120 4689 ns/op 1411 B/op 1 allocs/op BenchmarkAttrs/JSON_discard/40_args-8 233097 4445 ns/op 1411 B/op 1 allocs/op BenchmarkAttrs/JSON_discard/40_args-8 263600 4506 ns/op 1412 B/op 1 allocs/op BenchmarkAttrs/JSON_discard/40_args-8 305414 4082 ns/op 1411 B/op 1 allocs/op BenchmarkAttrs/JSON_discard/40_args-8 289495 4249 ns/op 1412 B/op 1 allocs/op BenchmarkAttrs/JSON_discard/40_args-8 363501 4202 ns/op 1411 B/op 1 allocs/op PASS ok golang.org/x/exp/slog/benchmarks 293.287s dependencies/pkg/mod/golang.org/x/exp@v0.0.0-20240506185415-9bf2ced13842/slog/level.go0000644000000000000000000001320115107355263025320 0ustar rootroot// Copyright 2022 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 slog import ( "errors" "fmt" "strconv" "strings" "sync/atomic" ) // A Level is the importance or severity of a log event. // The higher the level, the more important or severe the event. type Level int // Level numbers are inherently arbitrary, // but we picked them to satisfy three constraints. // Any system can map them to another numbering scheme if it wishes. // // First, we wanted the default level to be Info, Since Levels are ints, Info is // the default value for int, zero. // // Second, we wanted to make it easy to use levels to specify logger verbosity. // Since a larger level means a more severe event, a logger that accepts events // with smaller (or more negative) level means a more verbose logger. Logger // verbosity is thus the negation of event severity, and the default verbosity // of 0 accepts all events at least as severe as INFO. // // Third, we wanted some room between levels to accommodate schemes with named // levels between ours. For example, Google Cloud Logging defines a Notice level // between Info and Warn. Since there are only a few of these intermediate // levels, the gap between the numbers need not be large. Our gap of 4 matches // OpenTelemetry's mapping. Subtracting 9 from an OpenTelemetry level in the // DEBUG, INFO, WARN and ERROR ranges converts it to the corresponding slog // Level range. OpenTelemetry also has the names TRACE and FATAL, which slog // does not. But those OpenTelemetry levels can still be represented as slog // Levels by using the appropriate integers. // // Names for common levels. const ( LevelDebug Level = -4 LevelInfo Level = 0 LevelWarn Level = 4 LevelError Level = 8 ) // String returns a name for the level. // If the level has a name, then that name // in uppercase is returned. // If the level is between named values, then // an integer is appended to the uppercased name. // Examples: // // LevelWarn.String() => "WARN" // (LevelInfo+2).String() => "INFO+2" func (l Level) String() string { str := func(base string, val Level) string { if val == 0 { return base } return fmt.Sprintf("%s%+d", base, val) } switch { case l < LevelInfo: return str("DEBUG", l-LevelDebug) case l < LevelWarn: return str("INFO", l-LevelInfo) case l < LevelError: return str("WARN", l-LevelWarn) default: return str("ERROR", l-LevelError) } } // MarshalJSON implements [encoding/json.Marshaler] // by quoting the output of [Level.String]. func (l Level) MarshalJSON() ([]byte, error) { // AppendQuote is sufficient for JSON-encoding all Level strings. // They don't contain any runes that would produce invalid JSON // when escaped. return strconv.AppendQuote(nil, l.String()), nil } // UnmarshalJSON implements [encoding/json.Unmarshaler] // It accepts any string produced by [Level.MarshalJSON], // ignoring case. // It also accepts numeric offsets that would result in a different string on // output. For example, "Error-8" would marshal as "INFO". func (l *Level) UnmarshalJSON(data []byte) error { s, err := strconv.Unquote(string(data)) if err != nil { return err } return l.parse(s) } // MarshalText implements [encoding.TextMarshaler] // by calling [Level.String]. func (l Level) MarshalText() ([]byte, error) { return []byte(l.String()), nil } // UnmarshalText implements [encoding.TextUnmarshaler]. // It accepts any string produced by [Level.MarshalText], // ignoring case. // It also accepts numeric offsets that would result in a different string on // output. For example, "Error-8" would marshal as "INFO". func (l *Level) UnmarshalText(data []byte) error { return l.parse(string(data)) } func (l *Level) parse(s string) (err error) { defer func() { if err != nil { err = fmt.Errorf("slog: level string %q: %w", s, err) } }() name := s offset := 0 if i := strings.IndexAny(s, "+-"); i >= 0 { name = s[:i] offset, err = strconv.Atoi(s[i:]) if err != nil { return err } } switch strings.ToUpper(name) { case "DEBUG": *l = LevelDebug case "INFO": *l = LevelInfo case "WARN": *l = LevelWarn case "ERROR": *l = LevelError default: return errors.New("unknown name") } *l += Level(offset) return nil } // Level returns the receiver. // It implements Leveler. func (l Level) Level() Level { return l } // A LevelVar is a Level variable, to allow a Handler level to change // dynamically. // It implements Leveler as well as a Set method, // and it is safe for use by multiple goroutines. // The zero LevelVar corresponds to LevelInfo. type LevelVar struct { val atomic.Int64 } // Level returns v's level. func (v *LevelVar) Level() Level { return Level(int(v.val.Load())) } // Set sets v's level to l. func (v *LevelVar) Set(l Level) { v.val.Store(int64(l)) } func (v *LevelVar) String() string { return fmt.Sprintf("LevelVar(%s)", v.Level()) } // MarshalText implements [encoding.TextMarshaler] // by calling [Level.MarshalText]. func (v *LevelVar) MarshalText() ([]byte, error) { return v.Level().MarshalText() } // UnmarshalText implements [encoding.TextUnmarshaler] // by calling [Level.UnmarshalText]. func (v *LevelVar) UnmarshalText(data []byte) error { var l Level if err := l.UnmarshalText(data); err != nil { return err } v.Set(l) return nil } // A Leveler provides a Level value. // // As Level itself implements Leveler, clients typically supply // a Level value wherever a Leveler is needed, such as in HandlerOptions. // Clients who need to vary the level dynamically can provide a more complex // Leveler implementation such as *LevelVar. type Leveler interface { Level() Level } dependencies/pkg/mod/golang.org/x/exp@v0.0.0-20240506185415-9bf2ced13842/slog/handler.go0000644000000000000000000004026715107355263025642 0ustar rootroot// Copyright 2022 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 slog import ( "context" "fmt" "io" "reflect" "strconv" "sync" "time" "golang.org/x/exp/slices" "golang.org/x/exp/slog/internal/buffer" ) // A Handler handles log records produced by a Logger.. // // A typical handler may print log records to standard error, // or write them to a file or database, or perhaps augment them // with additional attributes and pass them on to another handler. // // Any of the Handler's methods may be called concurrently with itself // or with other methods. It is the responsibility of the Handler to // manage this concurrency. // // Users of the slog package should not invoke Handler methods directly. // They should use the methods of [Logger] instead. type Handler interface { // Enabled reports whether the handler handles records at the given level. // The handler ignores records whose level is lower. // It is called early, before any arguments are processed, // to save effort if the log event should be discarded. // If called from a Logger method, the first argument is the context // passed to that method, or context.Background() if nil was passed // or the method does not take a context. // The context is passed so Enabled can use its values // to make a decision. Enabled(context.Context, Level) bool // Handle handles the Record. // It will only be called when Enabled returns true. // The Context argument is as for Enabled. // It is present solely to provide Handlers access to the context's values. // Canceling the context should not affect record processing. // (Among other things, log messages may be necessary to debug a // cancellation-related problem.) // // Handle methods that produce output should observe the following rules: // - If r.Time is the zero time, ignore the time. // - If r.PC is zero, ignore it. // - Attr's values should be resolved. // - If an Attr's key and value are both the zero value, ignore the Attr. // This can be tested with attr.Equal(Attr{}). // - If a group's key is empty, inline the group's Attrs. // - If a group has no Attrs (even if it has a non-empty key), // ignore it. Handle(context.Context, Record) error // WithAttrs returns a new Handler whose attributes consist of // both the receiver's attributes and the arguments. // The Handler owns the slice: it may retain, modify or discard it. WithAttrs(attrs []Attr) Handler // WithGroup returns a new Handler with the given group appended to // the receiver's existing groups. // The keys of all subsequent attributes, whether added by With or in a // Record, should be qualified by the sequence of group names. // // How this qualification happens is up to the Handler, so long as // this Handler's attribute keys differ from those of another Handler // with a different sequence of group names. // // A Handler should treat WithGroup as starting a Group of Attrs that ends // at the end of the log event. That is, // // logger.WithGroup("s").LogAttrs(level, msg, slog.Int("a", 1), slog.Int("b", 2)) // // should behave like // // logger.LogAttrs(level, msg, slog.Group("s", slog.Int("a", 1), slog.Int("b", 2))) // // If the name is empty, WithGroup returns the receiver. WithGroup(name string) Handler } type defaultHandler struct { ch *commonHandler // log.Output, except for testing output func(calldepth int, message string) error } func newDefaultHandler(output func(int, string) error) *defaultHandler { return &defaultHandler{ ch: &commonHandler{json: false}, output: output, } } func (*defaultHandler) Enabled(_ context.Context, l Level) bool { return l >= LevelInfo } // Collect the level, attributes and message in a string and // write it with the default log.Logger. // Let the log.Logger handle time and file/line. func (h *defaultHandler) Handle(ctx context.Context, r Record) error { buf := buffer.New() buf.WriteString(r.Level.String()) buf.WriteByte(' ') buf.WriteString(r.Message) state := h.ch.newHandleState(buf, true, " ", nil) defer state.free() state.appendNonBuiltIns(r) // skip [h.output, defaultHandler.Handle, handlerWriter.Write, log.Output] return h.output(4, buf.String()) } func (h *defaultHandler) WithAttrs(as []Attr) Handler { return &defaultHandler{h.ch.withAttrs(as), h.output} } func (h *defaultHandler) WithGroup(name string) Handler { return &defaultHandler{h.ch.withGroup(name), h.output} } // HandlerOptions are options for a TextHandler or JSONHandler. // A zero HandlerOptions consists entirely of default values. type HandlerOptions struct { // AddSource causes the handler to compute the source code position // of the log statement and add a SourceKey attribute to the output. AddSource bool // Level reports the minimum record level that will be logged. // The handler discards records with lower levels. // If Level is nil, the handler assumes LevelInfo. // The handler calls Level.Level for each record processed; // to adjust the minimum level dynamically, use a LevelVar. Level Leveler // ReplaceAttr is called to rewrite each non-group attribute before it is logged. // The attribute's value has been resolved (see [Value.Resolve]). // If ReplaceAttr returns an Attr with Key == "", the attribute is discarded. // // The built-in attributes with keys "time", "level", "source", and "msg" // are passed to this function, except that time is omitted // if zero, and source is omitted if AddSource is false. // // The first argument is a list of currently open groups that contain the // Attr. It must not be retained or modified. ReplaceAttr is never called // for Group attributes, only their contents. For example, the attribute // list // // Int("a", 1), Group("g", Int("b", 2)), Int("c", 3) // // results in consecutive calls to ReplaceAttr with the following arguments: // // nil, Int("a", 1) // []string{"g"}, Int("b", 2) // nil, Int("c", 3) // // ReplaceAttr can be used to change the default keys of the built-in // attributes, convert types (for example, to replace a `time.Time` with the // integer seconds since the Unix epoch), sanitize personal information, or // remove attributes from the output. ReplaceAttr func(groups []string, a Attr) Attr } // Keys for "built-in" attributes. const ( // TimeKey is the key used by the built-in handlers for the time // when the log method is called. The associated Value is a [time.Time]. TimeKey = "time" // LevelKey is the key used by the built-in handlers for the level // of the log call. The associated value is a [Level]. LevelKey = "level" // MessageKey is the key used by the built-in handlers for the // message of the log call. The associated value is a string. MessageKey = "msg" // SourceKey is the key used by the built-in handlers for the source file // and line of the log call. The associated value is a string. SourceKey = "source" ) type commonHandler struct { json bool // true => output JSON; false => output text opts HandlerOptions preformattedAttrs []byte groupPrefix string // for text: prefix of groups opened in preformatting groups []string // all groups started from WithGroup nOpenGroups int // the number of groups opened in preformattedAttrs mu sync.Mutex w io.Writer } func (h *commonHandler) clone() *commonHandler { // We can't use assignment because we can't copy the mutex. return &commonHandler{ json: h.json, opts: h.opts, preformattedAttrs: slices.Clip(h.preformattedAttrs), groupPrefix: h.groupPrefix, groups: slices.Clip(h.groups), nOpenGroups: h.nOpenGroups, w: h.w, } } // enabled reports whether l is greater than or equal to the // minimum level. func (h *commonHandler) enabled(l Level) bool { minLevel := LevelInfo if h.opts.Level != nil { minLevel = h.opts.Level.Level() } return l >= minLevel } func (h *commonHandler) withAttrs(as []Attr) *commonHandler { h2 := h.clone() // Pre-format the attributes as an optimization. prefix := buffer.New() defer prefix.Free() prefix.WriteString(h.groupPrefix) state := h2.newHandleState((*buffer.Buffer)(&h2.preformattedAttrs), false, "", prefix) defer state.free() if len(h2.preformattedAttrs) > 0 { state.sep = h.attrSep() } state.openGroups() for _, a := range as { state.appendAttr(a) } // Remember the new prefix for later keys. h2.groupPrefix = state.prefix.String() // Remember how many opened groups are in preformattedAttrs, // so we don't open them again when we handle a Record. h2.nOpenGroups = len(h2.groups) return h2 } func (h *commonHandler) withGroup(name string) *commonHandler { if name == "" { return h } h2 := h.clone() h2.groups = append(h2.groups, name) return h2 } func (h *commonHandler) handle(r Record) error { state := h.newHandleState(buffer.New(), true, "", nil) defer state.free() if h.json { state.buf.WriteByte('{') } // Built-in attributes. They are not in a group. stateGroups := state.groups state.groups = nil // So ReplaceAttrs sees no groups instead of the pre groups. rep := h.opts.ReplaceAttr // time if !r.Time.IsZero() { key := TimeKey val := r.Time.Round(0) // strip monotonic to match Attr behavior if rep == nil { state.appendKey(key) state.appendTime(val) } else { state.appendAttr(Time(key, val)) } } // level key := LevelKey val := r.Level if rep == nil { state.appendKey(key) state.appendString(val.String()) } else { state.appendAttr(Any(key, val)) } // source if h.opts.AddSource { state.appendAttr(Any(SourceKey, r.source())) } key = MessageKey msg := r.Message if rep == nil { state.appendKey(key) state.appendString(msg) } else { state.appendAttr(String(key, msg)) } state.groups = stateGroups // Restore groups passed to ReplaceAttrs. state.appendNonBuiltIns(r) state.buf.WriteByte('\n') h.mu.Lock() defer h.mu.Unlock() _, err := h.w.Write(*state.buf) return err } func (s *handleState) appendNonBuiltIns(r Record) { // preformatted Attrs if len(s.h.preformattedAttrs) > 0 { s.buf.WriteString(s.sep) s.buf.Write(s.h.preformattedAttrs) s.sep = s.h.attrSep() } // Attrs in Record -- unlike the built-in ones, they are in groups started // from WithGroup. s.prefix = buffer.New() defer s.prefix.Free() s.prefix.WriteString(s.h.groupPrefix) s.openGroups() r.Attrs(func(a Attr) bool { s.appendAttr(a) return true }) if s.h.json { // Close all open groups. for range s.h.groups { s.buf.WriteByte('}') } // Close the top-level object. s.buf.WriteByte('}') } } // attrSep returns the separator between attributes. func (h *commonHandler) attrSep() string { if h.json { return "," } return " " } // handleState holds state for a single call to commonHandler.handle. // The initial value of sep determines whether to emit a separator // before the next key, after which it stays true. type handleState struct { h *commonHandler buf *buffer.Buffer freeBuf bool // should buf be freed? sep string // separator to write before next key prefix *buffer.Buffer // for text: key prefix groups *[]string // pool-allocated slice of active groups, for ReplaceAttr } var groupPool = sync.Pool{New: func() any { s := make([]string, 0, 10) return &s }} func (h *commonHandler) newHandleState(buf *buffer.Buffer, freeBuf bool, sep string, prefix *buffer.Buffer) handleState { s := handleState{ h: h, buf: buf, freeBuf: freeBuf, sep: sep, prefix: prefix, } if h.opts.ReplaceAttr != nil { s.groups = groupPool.Get().(*[]string) *s.groups = append(*s.groups, h.groups[:h.nOpenGroups]...) } return s } func (s *handleState) free() { if s.freeBuf { s.buf.Free() } if gs := s.groups; gs != nil { *gs = (*gs)[:0] groupPool.Put(gs) } } func (s *handleState) openGroups() { for _, n := range s.h.groups[s.h.nOpenGroups:] { s.openGroup(n) } } // Separator for group names and keys. const keyComponentSep = '.' // openGroup starts a new group of attributes // with the given name. func (s *handleState) openGroup(name string) { if s.h.json { s.appendKey(name) s.buf.WriteByte('{') s.sep = "" } else { s.prefix.WriteString(name) s.prefix.WriteByte(keyComponentSep) } // Collect group names for ReplaceAttr. if s.groups != nil { *s.groups = append(*s.groups, name) } } // closeGroup ends the group with the given name. func (s *handleState) closeGroup(name string) { if s.h.json { s.buf.WriteByte('}') } else { (*s.prefix) = (*s.prefix)[:len(*s.prefix)-len(name)-1 /* for keyComponentSep */] } s.sep = s.h.attrSep() if s.groups != nil { *s.groups = (*s.groups)[:len(*s.groups)-1] } } // appendAttr appends the Attr's key and value using app. // It handles replacement and checking for an empty key. // after replacement). func (s *handleState) appendAttr(a Attr) { if rep := s.h.opts.ReplaceAttr; rep != nil && a.Value.Kind() != KindGroup { var gs []string if s.groups != nil { gs = *s.groups } // Resolve before calling ReplaceAttr, so the user doesn't have to. a.Value = a.Value.Resolve() a = rep(gs, a) } a.Value = a.Value.Resolve() // Elide empty Attrs. if a.isEmpty() { return } // Special case: Source. if v := a.Value; v.Kind() == KindAny { if src, ok := v.Any().(*Source); ok { if s.h.json { a.Value = src.group() } else { a.Value = StringValue(fmt.Sprintf("%s:%d", src.File, src.Line)) } } } if a.Value.Kind() == KindGroup { attrs := a.Value.Group() // Output only non-empty groups. if len(attrs) > 0 { // Inline a group with an empty key. if a.Key != "" { s.openGroup(a.Key) } for _, aa := range attrs { s.appendAttr(aa) } if a.Key != "" { s.closeGroup(a.Key) } } } else { s.appendKey(a.Key) s.appendValue(a.Value) } } func (s *handleState) appendError(err error) { s.appendString(fmt.Sprintf("!ERROR:%v", err)) } func (s *handleState) appendKey(key string) { s.buf.WriteString(s.sep) if s.prefix != nil { // TODO: optimize by avoiding allocation. s.appendString(string(*s.prefix) + key) } else { s.appendString(key) } if s.h.json { s.buf.WriteByte(':') } else { s.buf.WriteByte('=') } s.sep = s.h.attrSep() } func (s *handleState) appendString(str string) { if s.h.json { s.buf.WriteByte('"') *s.buf = appendEscapedJSONString(*s.buf, str) s.buf.WriteByte('"') } else { // text if needsQuoting(str) { *s.buf = strconv.AppendQuote(*s.buf, str) } else { s.buf.WriteString(str) } } } func (s *handleState) appendValue(v Value) { defer func() { if r := recover(); r != nil { // If it panics with a nil pointer, the most likely cases are // an encoding.TextMarshaler or error fails to guard against nil, // in which case "" seems to be the feasible choice. // // Adapted from the code in fmt/print.go. if v := reflect.ValueOf(v.any); v.Kind() == reflect.Pointer && v.IsNil() { s.appendString("") return } // Otherwise just print the original panic message. s.appendString(fmt.Sprintf("!PANIC: %v", r)) } }() var err error if s.h.json { err = appendJSONValue(s, v) } else { err = appendTextValue(s, v) } if err != nil { s.appendError(err) } } func (s *handleState) appendTime(t time.Time) { if s.h.json { appendJSONTime(s, t) } else { writeTimeRFC3339Millis(s.buf, t) } } // This takes half the time of Time.AppendFormat. func writeTimeRFC3339Millis(buf *buffer.Buffer, t time.Time) { year, month, day := t.Date() buf.WritePosIntWidth(year, 4) buf.WriteByte('-') buf.WritePosIntWidth(int(month), 2) buf.WriteByte('-') buf.WritePosIntWidth(day, 2) buf.WriteByte('T') hour, min, sec := t.Clock() buf.WritePosIntWidth(hour, 2) buf.WriteByte(':') buf.WritePosIntWidth(min, 2) buf.WriteByte(':') buf.WritePosIntWidth(sec, 2) ns := t.Nanosecond() buf.WriteByte('.') buf.WritePosIntWidth(ns/1e6, 3) _, offsetSeconds := t.Zone() if offsetSeconds == 0 { buf.WriteByte('Z') } else { offsetMinutes := offsetSeconds / 60 if offsetMinutes < 0 { buf.WriteByte('-') offsetMinutes = -offsetMinutes } else { buf.WriteByte('+') } buf.WritePosIntWidth(offsetMinutes/60, 2) buf.WriteByte(':') buf.WritePosIntWidth(offsetMinutes%60, 2) } } ././@LongLink0000644000000000000000000000015700000000000011606 Lustar rootrootdependencies/pkg/mod/golang.org/x/exp@v0.0.0-20240506185415-9bf2ced13842/slog/example_logvaluer_secret_test.godependencies/pkg/mod/golang.org/x/exp@v0.0.0-20240506185415-9bf2ced13842/slog/example_logvaluer_secr0000644000000000000000000000164515107355263030345 0ustar rootroot// Copyright 2022 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 slog_test import ( "os" "golang.org/x/exp/slog" "golang.org/x/exp/slog/internal/testutil" ) // A token is a secret value that grants permissions. type Token string // LogValue implements slog.LogValuer. // It avoids revealing the token. func (Token) LogValue() slog.Value { return slog.StringValue("REDACTED_TOKEN") } // This example demonstrates a Value that replaces itself // with an alternative representation to avoid revealing secrets. func ExampleLogValuer_secret() { t := Token("shhhh!") logger := slog.New(slog.NewTextHandler(os.Stdout, &slog.HandlerOptions{ReplaceAttr: testutil.RemoveTime})) logger.Info("permission granted", "user", "Perry", "token", t) // Output: // level=INFO msg="permission granted" user=Perry token=REDACTED_TOKEN } dependencies/pkg/mod/golang.org/x/exp@v0.0.0-20240506185415-9bf2ced13842/slog/json_handler.go0000644000000000000000000002002215107355263026656 0ustar rootroot// Copyright 2022 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 slog import ( "bytes" "context" "encoding/json" "errors" "fmt" "io" "strconv" "time" "unicode/utf8" "golang.org/x/exp/slog/internal/buffer" ) // JSONHandler is a Handler that writes Records to an io.Writer as // line-delimited JSON objects. type JSONHandler struct { *commonHandler } // NewJSONHandler creates a JSONHandler that writes to w, // using the given options. // If opts is nil, the default options are used. func NewJSONHandler(w io.Writer, opts *HandlerOptions) *JSONHandler { if opts == nil { opts = &HandlerOptions{} } return &JSONHandler{ &commonHandler{ json: true, w: w, opts: *opts, }, } } // Enabled reports whether the handler handles records at the given level. // The handler ignores records whose level is lower. func (h *JSONHandler) Enabled(_ context.Context, level Level) bool { return h.commonHandler.enabled(level) } // WithAttrs returns a new JSONHandler whose attributes consists // of h's attributes followed by attrs. func (h *JSONHandler) WithAttrs(attrs []Attr) Handler { return &JSONHandler{commonHandler: h.commonHandler.withAttrs(attrs)} } func (h *JSONHandler) WithGroup(name string) Handler { return &JSONHandler{commonHandler: h.commonHandler.withGroup(name)} } // Handle formats its argument Record as a JSON object on a single line. // // If the Record's time is zero, the time is omitted. // Otherwise, the key is "time" // and the value is output as with json.Marshal. // // If the Record's level is zero, the level is omitted. // Otherwise, the key is "level" // and the value of [Level.String] is output. // // If the AddSource option is set and source information is available, // the key is "source" // and the value is output as "FILE:LINE". // // The message's key is "msg". // // To modify these or other attributes, or remove them from the output, use // [HandlerOptions.ReplaceAttr]. // // Values are formatted as with an [encoding/json.Encoder] with SetEscapeHTML(false), // with two exceptions. // // First, an Attr whose Value is of type error is formatted as a string, by // calling its Error method. Only errors in Attrs receive this special treatment, // not errors embedded in structs, slices, maps or other data structures that // are processed by the encoding/json package. // // Second, an encoding failure does not cause Handle to return an error. // Instead, the error message is formatted as a string. // // Each call to Handle results in a single serialized call to io.Writer.Write. func (h *JSONHandler) Handle(_ context.Context, r Record) error { return h.commonHandler.handle(r) } // Adapted from time.Time.MarshalJSON to avoid allocation. func appendJSONTime(s *handleState, t time.Time) { if y := t.Year(); y < 0 || y >= 10000 { // RFC 3339 is clear that years are 4 digits exactly. // See golang.org/issue/4556#c15 for more discussion. s.appendError(errors.New("time.Time year outside of range [0,9999]")) } s.buf.WriteByte('"') *s.buf = t.AppendFormat(*s.buf, time.RFC3339Nano) s.buf.WriteByte('"') } func appendJSONValue(s *handleState, v Value) error { switch v.Kind() { case KindString: s.appendString(v.str()) case KindInt64: *s.buf = strconv.AppendInt(*s.buf, v.Int64(), 10) case KindUint64: *s.buf = strconv.AppendUint(*s.buf, v.Uint64(), 10) case KindFloat64: // json.Marshal is funny about floats; it doesn't // always match strconv.AppendFloat. So just call it. // That's expensive, but floats are rare. if err := appendJSONMarshal(s.buf, v.Float64()); err != nil { return err } case KindBool: *s.buf = strconv.AppendBool(*s.buf, v.Bool()) case KindDuration: // Do what json.Marshal does. *s.buf = strconv.AppendInt(*s.buf, int64(v.Duration()), 10) case KindTime: s.appendTime(v.Time()) case KindAny: a := v.Any() _, jm := a.(json.Marshaler) if err, ok := a.(error); ok && !jm { s.appendString(err.Error()) } else { return appendJSONMarshal(s.buf, a) } default: panic(fmt.Sprintf("bad kind: %s", v.Kind())) } return nil } func appendJSONMarshal(buf *buffer.Buffer, v any) error { // Use a json.Encoder to avoid escaping HTML. var bb bytes.Buffer enc := json.NewEncoder(&bb) enc.SetEscapeHTML(false) if err := enc.Encode(v); err != nil { return err } bs := bb.Bytes() buf.Write(bs[:len(bs)-1]) // remove final newline return nil } // appendEscapedJSONString escapes s for JSON and appends it to buf. // It does not surround the string in quotation marks. // // Modified from encoding/json/encode.go:encodeState.string, // with escapeHTML set to false. func appendEscapedJSONString(buf []byte, s string) []byte { char := func(b byte) { buf = append(buf, b) } str := func(s string) { buf = append(buf, s...) } start := 0 for i := 0; i < len(s); { if b := s[i]; b < utf8.RuneSelf { if safeSet[b] { i++ continue } if start < i { str(s[start:i]) } char('\\') switch b { case '\\', '"': char(b) case '\n': char('n') case '\r': char('r') case '\t': char('t') default: // This encodes bytes < 0x20 except for \t, \n and \r. str(`u00`) char(hex[b>>4]) char(hex[b&0xF]) } i++ start = i continue } c, size := utf8.DecodeRuneInString(s[i:]) if c == utf8.RuneError && size == 1 { if start < i { str(s[start:i]) } str(`\ufffd`) i += size start = i continue } // U+2028 is LINE SEPARATOR. // U+2029 is PARAGRAPH SEPARATOR. // They are both technically valid characters in JSON strings, // but don't work in JSONP, which has to be evaluated as JavaScript, // and can lead to security holes there. It is valid JSON to // escape them, so we do so unconditionally. // See http://timelessrepo.com/json-isnt-a-javascript-subset for discussion. if c == '\u2028' || c == '\u2029' { if start < i { str(s[start:i]) } str(`\u202`) char(hex[c&0xF]) i += size start = i continue } i += size } if start < len(s) { str(s[start:]) } return buf } var hex = "0123456789abcdef" // Copied from encoding/json/tables.go. // // safeSet holds the value true if the ASCII character with the given array // position can be represented inside a JSON string without any further // escaping. // // All values are true except for the ASCII control characters (0-31), the // double quote ("), and the backslash character ("\"). var safeSet = [utf8.RuneSelf]bool{ ' ': true, '!': true, '"': false, '#': true, '$': true, '%': true, '&': 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, ':': true, ';': true, '<': true, '=': 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, '\\': false, ']': 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, '}': true, '~': true, '\u007f': true, } ././@LongLink0000644000000000000000000000015500000000000011604 Lustar rootrootdependencies/pkg/mod/golang.org/x/exp@v0.0.0-20240506185415-9bf2ced13842/slog/value_access_benchmark_test.godependencies/pkg/mod/golang.org/x/exp@v0.0.0-20240506185415-9bf2ced13842/slog/value_access_benchmark0000644000000000000000000001045315107355263030262 0ustar rootroot// Copyright 2022 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. // Benchmark for accessing Value values. package slog import ( "testing" "time" ) // The "As" form is the slowest. // The switch-panic and visitor times are almost the same. // BenchmarkDispatch/switch-checked-8 8669427 137.7 ns/op // BenchmarkDispatch/As-8 8212087 145.3 ns/op // BenchmarkDispatch/Visit-8 8926146 135.3 ns/op func BenchmarkDispatch(b *testing.B) { vs := []Value{ Int64Value(32768), Uint64Value(0xfacecafe), StringValue("anything"), BoolValue(true), Float64Value(1.2345), DurationValue(time.Second), AnyValue(b), } var ( ii int64 s string bb bool u uint64 d time.Duration f float64 a any ) b.Run("switch-checked", func(b *testing.B) { for i := 0; i < b.N; i++ { for _, v := range vs { switch v.Kind() { case KindString: s = v.String() case KindInt64: ii = v.Int64() case KindUint64: u = v.Uint64() case KindFloat64: f = v.Float64() case KindBool: bb = v.Bool() case KindDuration: d = v.Duration() case KindAny: a = v.Any() default: panic("bad kind") } } } _ = ii _ = s _ = bb _ = u _ = d _ = f _ = a }) b.Run("As", func(b *testing.B) { for i := 0; i < b.N; i++ { for _, kv := range vs { if v, ok := kv.AsString(); ok { s = v } else if v, ok := kv.AsInt64(); ok { ii = v } else if v, ok := kv.AsUint64(); ok { u = v } else if v, ok := kv.AsFloat64(); ok { f = v } else if v, ok := kv.AsBool(); ok { bb = v } else if v, ok := kv.AsDuration(); ok { d = v } else if v, ok := kv.AsAny(); ok { a = v } else { panic("bad kind") } } } _ = ii _ = s _ = bb _ = u _ = d _ = f _ = a }) b.Run("Visit", func(b *testing.B) { v := &setVisitor{} b.ResetTimer() for i := 0; i < b.N; i++ { for _, kv := range vs { kv.Visit(v) } } }) } type setVisitor struct { i int64 s string b bool u uint64 d time.Duration f float64 a any } func (v *setVisitor) String(s string) { v.s = s } func (v *setVisitor) Int64(i int64) { v.i = i } func (v *setVisitor) Uint64(x uint64) { v.u = x } func (v *setVisitor) Float64(x float64) { v.f = x } func (v *setVisitor) Bool(x bool) { v.b = x } func (v *setVisitor) Duration(x time.Duration) { v.d = x } func (v *setVisitor) Any(x any) { v.a = x } // When dispatching on all types, the "As" functions are slightly slower // than switching on the kind and then calling a function that checks // the kind again. See BenchmarkDispatch above. func (a Value) AsString() (string, bool) { if a.Kind() == KindString { return a.str(), true } return "", false } func (a Value) AsInt64() (int64, bool) { if a.Kind() == KindInt64 { return int64(a.num), true } return 0, false } func (a Value) AsUint64() (uint64, bool) { if a.Kind() == KindUint64 { return a.num, true } return 0, false } func (a Value) AsFloat64() (float64, bool) { if a.Kind() == KindFloat64 { return a.float(), true } return 0, false } func (a Value) AsBool() (bool, bool) { if a.Kind() == KindBool { return a.bool(), true } return false, false } func (a Value) AsDuration() (time.Duration, bool) { if a.Kind() == KindDuration { return a.duration(), true } return 0, false } func (a Value) AsAny() (any, bool) { if a.Kind() == KindAny { return a.any, true } return nil, false } // Problem: adding a type means adding a method, which is a breaking change. // Using an unexported method to force embedding will make programs compile, // But they will panic at runtime when we call the new method. type Visitor interface { String(string) Int64(int64) Uint64(uint64) Float64(float64) Bool(bool) Duration(time.Duration) Any(any) } func (a Value) Visit(v Visitor) { switch a.Kind() { case KindString: v.String(a.str()) case KindInt64: v.Int64(int64(a.num)) case KindUint64: v.Uint64(a.num) case KindBool: v.Bool(a.bool()) case KindFloat64: v.Float64(a.float()) case KindDuration: v.Duration(a.duration()) case KindAny: v.Any(a.any) default: panic("bad kind") } } dependencies/pkg/mod/golang.org/x/exp@v0.0.0-20240506185415-9bf2ced13842/slog/slogtest/0000755000000000000000000000000015107355263025531 5ustar rootroot././@LongLink0000644000000000000000000000014700000000000011605 Lustar rootrootdependencies/pkg/mod/golang.org/x/exp@v0.0.0-20240506185415-9bf2ced13842/slog/slogtest/slogtest_120.godependencies/pkg/mod/golang.org/x/exp@v0.0.0-20240506185415-9bf2ced13842/slog/slogtest/slogtest_120.0000644000000000000000000000036315107355263027762 0ustar rootroot// Copyright 2023 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:build go1.20 package slogtest import "errors" var errorsJoin = errors.Join dependencies/pkg/mod/golang.org/x/exp@v0.0.0-20240506185415-9bf2ced13842/slog/slogtest/slogtest.go0000644000000000000000000001742215107355263027732 0ustar rootrootpackage slogtest import ( "context" "fmt" "reflect" "runtime" "time" "golang.org/x/exp/slog" ) type testCase struct { // If non-empty, explanation explains the violated constraint. explanation string // f executes a single log event using its argument logger. // So that mkdescs.sh can generate the right description, // the body of f must appear on a single line whose first // non-whitespace characters are "l.". f func(*slog.Logger) // If mod is not nil, it is called to modify the Record // generated by the Logger before it is passed to the Handler. mod func(*slog.Record) // checks is a list of checks to run on the result. checks []check } // TestHandler tests a [slog.Handler]. // If TestHandler finds any misbehaviors, it returns an error for each, // combined into a single error with errors.Join. // // TestHandler installs the given Handler in a [slog.Logger] and // makes several calls to the Logger's output methods. // // The results function is invoked after all such calls. // It should return a slice of map[string]any, one for each call to a Logger output method. // The keys and values of the map should correspond to the keys and values of the Handler's // output. Each group in the output should be represented as its own nested map[string]any. // The standard keys slog.TimeKey, slog.LevelKey and slog.MessageKey should be used. // // If the Handler outputs JSON, then calling [encoding/json.Unmarshal] with a `map[string]any` // will create the right data structure. // // If a Handler intentionally drops an attribute that is checked by a test, // then the results function should check for its absence and add it to the map it returns. func TestHandler(h slog.Handler, results func() []map[string]any) error { cases := []testCase{ { explanation: withSource("this test expects slog.TimeKey, slog.LevelKey and slog.MessageKey"), f: func(l *slog.Logger) { l.Info("message") }, checks: []check{ hasKey(slog.TimeKey), hasKey(slog.LevelKey), hasAttr(slog.MessageKey, "message"), }, }, { explanation: withSource("a Handler should output attributes passed to the logging function"), f: func(l *slog.Logger) { l.Info("message", "k", "v") }, checks: []check{ hasAttr("k", "v"), }, }, { explanation: withSource("a Handler should ignore an empty Attr"), f: func(l *slog.Logger) { l.Info("msg", "a", "b", "", nil, "c", "d") }, checks: []check{ hasAttr("a", "b"), missingKey(""), hasAttr("c", "d"), }, }, { explanation: withSource("a Handler should ignore a zero Record.Time"), f: func(l *slog.Logger) { l.Info("msg", "k", "v") }, mod: func(r *slog.Record) { r.Time = time.Time{} }, checks: []check{ missingKey(slog.TimeKey), }, }, { explanation: withSource("a Handler should include the attributes from the WithAttrs method"), f: func(l *slog.Logger) { l.With("a", "b").Info("msg", "k", "v") }, checks: []check{ hasAttr("a", "b"), hasAttr("k", "v"), }, }, { explanation: withSource("a Handler should handle Group attributes"), f: func(l *slog.Logger) { l.Info("msg", "a", "b", slog.Group("G", slog.String("c", "d")), "e", "f") }, checks: []check{ hasAttr("a", "b"), inGroup("G", hasAttr("c", "d")), hasAttr("e", "f"), }, }, { explanation: withSource("a Handler should ignore an empty group"), f: func(l *slog.Logger) { l.Info("msg", "a", "b", slog.Group("G"), "e", "f") }, checks: []check{ hasAttr("a", "b"), missingKey("G"), hasAttr("e", "f"), }, }, { explanation: withSource("a Handler should inline the Attrs of a group with an empty key"), f: func(l *slog.Logger) { l.Info("msg", "a", "b", slog.Group("", slog.String("c", "d")), "e", "f") }, checks: []check{ hasAttr("a", "b"), hasAttr("c", "d"), hasAttr("e", "f"), }, }, { explanation: withSource("a Handler should handle the WithGroup method"), f: func(l *slog.Logger) { l.WithGroup("G").Info("msg", "a", "b") }, checks: []check{ hasKey(slog.TimeKey), hasKey(slog.LevelKey), hasAttr(slog.MessageKey, "msg"), missingKey("a"), inGroup("G", hasAttr("a", "b")), }, }, { explanation: withSource("a Handler should handle multiple WithGroup and WithAttr calls"), f: func(l *slog.Logger) { l.With("a", "b").WithGroup("G").With("c", "d").WithGroup("H").Info("msg", "e", "f") }, checks: []check{ hasKey(slog.TimeKey), hasKey(slog.LevelKey), hasAttr(slog.MessageKey, "msg"), hasAttr("a", "b"), inGroup("G", hasAttr("c", "d")), inGroup("G", inGroup("H", hasAttr("e", "f"))), }, }, { explanation: withSource("a Handler should call Resolve on attribute values"), f: func(l *slog.Logger) { l.Info("msg", "k", &replace{"replaced"}) }, checks: []check{hasAttr("k", "replaced")}, }, { explanation: withSource("a Handler should call Resolve on attribute values in groups"), f: func(l *slog.Logger) { l.Info("msg", slog.Group("G", slog.String("a", "v1"), slog.Any("b", &replace{"v2"}))) }, checks: []check{ inGroup("G", hasAttr("a", "v1")), inGroup("G", hasAttr("b", "v2")), }, }, { explanation: withSource("a Handler should call Resolve on attribute values from WithAttrs"), f: func(l *slog.Logger) { l = l.With("k", &replace{"replaced"}) l.Info("msg") }, checks: []check{hasAttr("k", "replaced")}, }, { explanation: withSource("a Handler should call Resolve on attribute values in groups from WithAttrs"), f: func(l *slog.Logger) { l = l.With(slog.Group("G", slog.String("a", "v1"), slog.Any("b", &replace{"v2"}))) l.Info("msg") }, checks: []check{ inGroup("G", hasAttr("a", "v1")), inGroup("G", hasAttr("b", "v2")), }, }, } // Run the handler on the test cases. for _, c := range cases { ht := h if c.mod != nil { ht = &wrapper{h, c.mod} } l := slog.New(ht) c.f(l) } // Collect and check the results. var errs []error res := results() if g, w := len(res), len(cases); g != w { return fmt.Errorf("got %d results, want %d", g, w) } for i, got := range results() { c := cases[i] for _, check := range c.checks { if p := check(got); p != "" { errs = append(errs, fmt.Errorf("%s: %s", p, c.explanation)) } } } return errorsJoin(errs...) } type check func(map[string]any) string func hasKey(key string) check { return func(m map[string]any) string { if _, ok := m[key]; !ok { return fmt.Sprintf("missing key %q", key) } return "" } } func missingKey(key string) check { return func(m map[string]any) string { if _, ok := m[key]; ok { return fmt.Sprintf("unexpected key %q", key) } return "" } } func hasAttr(key string, wantVal any) check { return func(m map[string]any) string { if s := hasKey(key)(m); s != "" { return s } gotVal := m[key] if !reflect.DeepEqual(gotVal, wantVal) { return fmt.Sprintf("%q: got %#v, want %#v", key, gotVal, wantVal) } return "" } } func inGroup(name string, c check) check { return func(m map[string]any) string { v, ok := m[name] if !ok { return fmt.Sprintf("missing group %q", name) } g, ok := v.(map[string]any) if !ok { return fmt.Sprintf("value for group %q is not map[string]any", name) } return c(g) } } type wrapper struct { slog.Handler mod func(*slog.Record) } func (h *wrapper) Handle(ctx context.Context, r slog.Record) error { h.mod(&r) return h.Handler.Handle(ctx, r) } func withSource(s string) string { _, file, line, ok := runtime.Caller(1) if !ok { panic("runtime.Caller failed") } return fmt.Sprintf("%s (%s:%d)", s, file, line) } type replace struct { v any } func (r *replace) LogValue() slog.Value { return slog.AnyValue(r.v) } func (r *replace) String() string { return fmt.Sprintf("", r.v) } ././@LongLink0000644000000000000000000000014700000000000011605 Lustar rootrootdependencies/pkg/mod/golang.org/x/exp@v0.0.0-20240506185415-9bf2ced13842/slog/slogtest/slogtest_119.godependencies/pkg/mod/golang.org/x/exp@v0.0.0-20240506185415-9bf2ced13842/slog/slogtest/slogtest_119.0000644000000000000000000000074215107355263027773 0ustar rootroot// Copyright 2023 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:build go1.19 && !go1.20 package slogtest import ( "errors" "strings" ) func errorsJoin(errs ...error) error { var b strings.Builder for _, err := range errs { if err != nil { b.WriteString(err.Error()) b.WriteByte('\n') } } s := b.String() if len(s) == 0 { return nil } return errors.New(s) } ././@LongLink0000644000000000000000000000014700000000000011605 Lustar rootrootdependencies/pkg/mod/golang.org/x/exp@v0.0.0-20240506185415-9bf2ced13842/slog/slogtest/example_test.godependencies/pkg/mod/golang.org/x/exp@v0.0.0-20240506185415-9bf2ced13842/slog/slogtest/example_test.0000644000000000000000000000167415107355263030234 0ustar rootrootpackage slogtest_test import ( "bytes" "encoding/json" "fmt" "golang.org/x/exp/slog" "golang.org/x/exp/slog/slogtest" ) // This example demonstrates one technique for testing a handler with this // package. The handler is given a [bytes.Buffer] to write to, and each line // of the resulting output is parsed. // For JSON output, [encoding/json.Unmarshal] produces a result in the desired // format when given a pointer to a map[string]any. func Example_parsing() { var buf bytes.Buffer h := slog.NewJSONHandler(&buf, nil) results := func() []map[string]any { var ms []map[string]any for _, line := range bytes.Split(buf.Bytes(), []byte{'\n'}) { if len(line) == 0 { continue } var m map[string]any if err := json.Unmarshal(line, &m); err != nil { panic(err) // In a real test, use t.Fatal. } ms = append(ms, m) } return ms } err := slogtest.TestHandler(h, results) fmt.Println(err) // Output: // } ././@LongLink0000644000000000000000000000015600000000000011605 Lustar rootrootdependencies/pkg/mod/golang.org/x/exp@v0.0.0-20240506185415-9bf2ced13842/slog/example_logvaluer_group_test.godependencies/pkg/mod/golang.org/x/exp@v0.0.0-20240506185415-9bf2ced13842/slog/example_logvaluer_grou0000644000000000000000000000150615107355263030361 0ustar rootroot// Copyright 2022 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 slog_test import "golang.org/x/exp/slog" type Name struct { First, Last string } // LogValue implements slog.LogValuer. // It returns a group containing the fields of // the Name, so that they appear together in the log output. func (n Name) LogValue() slog.Value { return slog.GroupValue( slog.String("first", n.First), slog.String("last", n.Last)) } func ExampleLogValuer_group() { n := Name{"Perry", "Platypus"} slog.Info("mission accomplished", "agent", n) // JSON Output would look in part like: // { // ... // "msg": "mission accomplished", // "agent": { // "first": "Perry", // "last": "Platypus" // } // } } dependencies/pkg/mod/golang.org/x/exp@v0.0.0-20240506185415-9bf2ced13842/slog/value_test.go0000644000000000000000000001240215107355263026366 0ustar rootroot// Copyright 2022 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 slog import ( "fmt" "reflect" "strings" "testing" "time" "unsafe" ) func TestValueEqual(t *testing.T) { var x, y int vals := []Value{ {}, Int64Value(1), Int64Value(2), Float64Value(3.5), Float64Value(3.7), BoolValue(true), BoolValue(false), TimeValue(testTime), AnyValue(&x), AnyValue(&y), GroupValue(Bool("b", true), Int("i", 3)), } for i, v1 := range vals { for j, v2 := range vals { got := v1.Equal(v2) want := i == j if got != want { t.Errorf("%v.Equal(%v): got %t, want %t", v1, v2, got, want) } } } } func panics(f func()) (b bool) { defer func() { if x := recover(); x != nil { b = true } }() f() return false } func TestValueString(t *testing.T) { for _, test := range []struct { v Value want string }{ {Int64Value(-3), "-3"}, {Float64Value(.15), "0.15"}, {BoolValue(true), "true"}, {StringValue("foo"), "foo"}, {TimeValue(testTime), "2000-01-02 03:04:05 +0000 UTC"}, {AnyValue(time.Duration(3 * time.Second)), "3s"}, {GroupValue(Int("a", 1), Bool("b", true)), "[a=1 b=true]"}, } { if got := test.v.String(); got != test.want { t.Errorf("%#v:\ngot %q\nwant %q", test.v, got, test.want) } } } func TestValueNoAlloc(t *testing.T) { // Assign values just to make sure the compiler doesn't optimize away the statements. var ( i int64 u uint64 f float64 b bool s string x any p = &i d time.Duration tm time.Time ) a := int(testing.AllocsPerRun(5, func() { i = Int64Value(1).Int64() u = Uint64Value(1).Uint64() f = Float64Value(1).Float64() b = BoolValue(true).Bool() s = StringValue("foo").String() d = DurationValue(d).Duration() tm = TimeValue(testTime).Time() x = AnyValue(p).Any() })) if a != 0 { t.Errorf("got %d allocs, want zero", a) } _ = u _ = f _ = b _ = s _ = x _ = tm } func TestAnyLevelAlloc(t *testing.T) { // Because typical Levels are small integers, // they are zero-alloc. var a Value x := LevelDebug + 100 wantAllocs(t, 0, func() { a = AnyValue(x) }) _ = a } func TestAnyValue(t *testing.T) { for _, test := range []struct { in any want Value }{ {1, IntValue(1)}, {1.5, Float64Value(1.5)}, {"s", StringValue("s")}, {uint(2), Uint64Value(2)}, {true, BoolValue(true)}, {testTime, TimeValue(testTime)}, {time.Hour, DurationValue(time.Hour)}, {[]Attr{Int("i", 3)}, GroupValue(Int("i", 3))}, {IntValue(4), IntValue(4)}, } { got := AnyValue(test.in) if !got.Equal(test.want) { t.Errorf("%v (%[1]T): got %v (kind %s), want %v (kind %s)", test.in, got, got.Kind(), test.want, test.want.Kind()) } } } func TestValueAny(t *testing.T) { for _, want := range []any{ nil, LevelDebug + 100, time.UTC, // time.Locations treated specially... KindBool, // ...as are Kinds []Attr{Int("a", 1)}, } { v := AnyValue(want) got := v.Any() if !reflect.DeepEqual(got, want) { t.Errorf("got %v, want %v", got, want) } } } func TestLogValue(t *testing.T) { want := "replaced" r := &replace{StringValue(want)} v := AnyValue(r) if g, w := v.Kind(), KindLogValuer; g != w { t.Errorf("got %s, want %s", g, w) } got := v.LogValuer().LogValue().Any() if got != want { t.Errorf("got %#v, want %#v", got, want) } // Test Resolve. got = v.Resolve().Any() if got != want { t.Errorf("got %#v, want %#v", got, want) } // Test Resolve max iteration. r.v = AnyValue(r) // create a cycle got = AnyValue(r).Resolve().Any() if _, ok := got.(error); !ok { t.Errorf("expected error, got %T", got) } // Groups are not recursively resolved. c := Any("c", &replace{StringValue("d")}) v = AnyValue(&replace{GroupValue(Int("a", 1), Group("b", c))}) got2 := v.Resolve().Any().([]Attr) want2 := []Attr{Int("a", 1), Group("b", c)} if !attrsEqual(got2, want2) { t.Errorf("got %v, want %v", got2, want2) } // Verify that panics in Resolve are caught and turn into errors. v = AnyValue(panickingLogValue{}) got = v.Resolve().Any() gotErr, ok := got.(error) if !ok { t.Errorf("expected error, got %T", got) } // The error should provide some context information. // We'll just check that this function name appears in it. if got, want := gotErr.Error(), "TestLogValue"; !strings.Contains(got, want) { t.Errorf("got %q, want substring %q", got, want) } } func TestZeroTime(t *testing.T) { z := time.Time{} got := TimeValue(z).Time() if !got.IsZero() { t.Errorf("got %s (%#[1]v), not zero time (%#v)", got, z) } } type replace struct { v Value } func (r *replace) LogValue() Value { return r.v } type panickingLogValue struct{} func (panickingLogValue) LogValue() Value { panic("bad") } // A Value with "unsafe" strings is significantly faster: // safe: 1785 ns/op, 0 allocs // unsafe: 690 ns/op, 0 allocs // Run this with and without -tags unsafe_kvs to compare. func BenchmarkUnsafeStrings(b *testing.B) { b.ReportAllocs() dst := make([]Value, 100) src := make([]Value, len(dst)) b.Logf("Value size = %d", unsafe.Sizeof(Value{})) for i := range src { src[i] = StringValue(fmt.Sprintf("string#%d", i)) } b.ResetTimer() var d string for i := 0; i < b.N; i++ { copy(dst, src) for _, a := range dst { d = a.String() } } _ = d } dependencies/pkg/mod/golang.org/x/exp@v0.0.0-20240506185415-9bf2ced13842/slog/text_handler_test.go0000644000000000000000000000733215107355263027741 0ustar rootroot// Copyright 2022 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 slog import ( "bytes" "context" "errors" "fmt" "io" "strings" "testing" "time" ) var testTime = time.Date(2000, 1, 2, 3, 4, 5, 0, time.UTC) func TestTextHandler(t *testing.T) { for _, test := range []struct { name string attr Attr wantKey, wantVal string }{ { "unquoted", Int("a", 1), "a", "1", }, { "quoted", String("x = y", `qu"o`), `"x = y"`, `"qu\"o"`, }, { "String method", Any("name", name{"Ren", "Hoek"}), `name`, `"Hoek, Ren"`, }, { "struct", Any("x", &struct{ A, b int }{A: 1, b: 2}), `x`, `"&{A:1 b:2}"`, }, { "TextMarshaler", Any("t", text{"abc"}), `t`, `"text{\"abc\"}"`, }, { "TextMarshaler error", Any("t", text{""}), `t`, `"!ERROR:text: empty string"`, }, { "nil value", Any("a", nil), `a`, ``, }, } { t.Run(test.name, func(t *testing.T) { for _, opts := range []struct { name string opts HandlerOptions wantPrefix string modKey func(string) string }{ { "none", HandlerOptions{}, `time=2000-01-02T03:04:05.000Z level=INFO msg="a message"`, func(s string) string { return s }, }, { "replace", HandlerOptions{ReplaceAttr: upperCaseKey}, `TIME=2000-01-02T03:04:05.000Z LEVEL=INFO MSG="a message"`, strings.ToUpper, }, } { t.Run(opts.name, func(t *testing.T) { var buf bytes.Buffer h := NewTextHandler(&buf, &opts.opts) r := NewRecord(testTime, LevelInfo, "a message", 0) r.AddAttrs(test.attr) if err := h.Handle(context.Background(), r); err != nil { t.Fatal(err) } got := buf.String() // Remove final newline. got = got[:len(got)-1] want := opts.wantPrefix + " " + opts.modKey(test.wantKey) + "=" + test.wantVal if got != want { t.Errorf("\ngot %s\nwant %s", got, want) } }) } }) } } // for testing fmt.Sprint type name struct { First, Last string } func (n name) String() string { return n.Last + ", " + n.First } // for testing TextMarshaler type text struct { s string } func (t text) String() string { return t.s } // should be ignored func (t text) MarshalText() ([]byte, error) { if t.s == "" { return nil, errors.New("text: empty string") } return []byte(fmt.Sprintf("text{%q}", t.s)), nil } func TestTextHandlerPreformatted(t *testing.T) { var buf bytes.Buffer var h Handler = NewTextHandler(&buf, nil) h = h.WithAttrs([]Attr{Duration("dur", time.Minute), Bool("b", true)}) // Also test omitting time. r := NewRecord(time.Time{}, 0 /* 0 Level is INFO */, "m", 0) r.AddAttrs(Int("a", 1)) if err := h.Handle(context.Background(), r); err != nil { t.Fatal(err) } got := strings.TrimSuffix(buf.String(), "\n") want := `level=INFO msg=m dur=1m0s b=true a=1` if got != want { t.Errorf("got %s, want %s", got, want) } } func TestTextHandlerAlloc(t *testing.T) { r := NewRecord(time.Now(), LevelInfo, "msg", 0) for i := 0; i < 10; i++ { r.AddAttrs(Int("x = y", i)) } var h Handler = NewTextHandler(io.Discard, nil) wantAllocs(t, 0, func() { h.Handle(context.Background(), r) }) h = h.WithGroup("s") r.AddAttrs(Group("g", Int("a", 1))) wantAllocs(t, 0, func() { h.Handle(context.Background(), r) }) } func TestNeedsQuoting(t *testing.T) { for _, test := range []struct { in string want bool }{ {"", true}, {"ab", false}, {"a=b", true}, {`"ab"`, true}, {"\a\b", true}, {"a\tb", true}, {"µåπ", false}, } { got := needsQuoting(test.in) if got != test.want { t.Errorf("%q: got %t, want %t", test.in, got, test.want) } } } ././@LongLink0000644000000000000000000000015400000000000011603 Lustar rootrootdependencies/pkg/mod/golang.org/x/exp@v0.0.0-20240506185415-9bf2ced13842/slog/example_custom_levels_test.godependencies/pkg/mod/golang.org/x/exp@v0.0.0-20240506185415-9bf2ced13842/slog/example_custom_levels_0000644000000000000000000000573415107355263030357 0ustar rootroot// Copyright 2023 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 slog_test import ( "os" "golang.org/x/exp/slog" ) // This example demonstrates using custom log levels and custom log level names. // In addition to the default log levels, it introduces Trace, Notice, and // Emergency levels. The ReplaceAttr changes the way levels are printed for both // the standard log levels and the custom log levels. func ExampleHandlerOptions_customLevels() { // Exported constants from a custom logging package. const ( LevelTrace = slog.Level(-8) LevelDebug = slog.LevelDebug LevelInfo = slog.LevelInfo LevelNotice = slog.Level(2) LevelWarning = slog.LevelWarn LevelError = slog.LevelError LevelEmergency = slog.Level(12) ) th := slog.NewTextHandler(os.Stdout, &slog.HandlerOptions{ // Set a custom level to show all log output. The default value is // LevelInfo, which would drop Debug and Trace logs. Level: LevelTrace, ReplaceAttr: func(groups []string, a slog.Attr) slog.Attr { // Remove time from the output for predictable test output. if a.Key == slog.TimeKey { return slog.Attr{} } // Customize the name of the level key and the output string, including // custom level values. if a.Key == slog.LevelKey { // Rename the level key from "level" to "sev". a.Key = "sev" // Handle custom level values. level := a.Value.Any().(slog.Level) // This could also look up the name from a map or other structure, but // this demonstrates using a switch statement to rename levels. For // maximum performance, the string values should be constants, but this // example uses the raw strings for readability. switch { case level < LevelDebug: a.Value = slog.StringValue("TRACE") case level < LevelInfo: a.Value = slog.StringValue("DEBUG") case level < LevelNotice: a.Value = slog.StringValue("INFO") case level < LevelWarning: a.Value = slog.StringValue("NOTICE") case level < LevelError: a.Value = slog.StringValue("WARNING") case level < LevelEmergency: a.Value = slog.StringValue("ERROR") default: a.Value = slog.StringValue("EMERGENCY") } } return a }, }) logger := slog.New(th) logger.Log(nil, LevelEmergency, "missing pilots") logger.Error("failed to start engines", "err", "missing fuel") logger.Warn("falling back to default value") logger.Log(nil, LevelNotice, "all systems are running") logger.Info("initiating launch") logger.Debug("starting background job") logger.Log(nil, LevelTrace, "button clicked") // Output: // sev=EMERGENCY msg="missing pilots" // sev=ERROR msg="failed to start engines" err="missing fuel" // sev=WARNING msg="falling back to default value" // sev=NOTICE msg="all systems are running" // sev=INFO msg="initiating launch" // sev=DEBUG msg="starting background job" // sev=TRACE msg="button clicked" } dependencies/pkg/mod/golang.org/x/exp@v0.0.0-20240506185415-9bf2ced13842/slog/race_test.go0000644000000000000000000000047615107355263026174 0ustar rootroot// Copyright 2022 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:build race package slog import "testing" func wantAllocs(t *testing.T, want int, f func()) { t.Log("skipping allocation tests with race detector") } dependencies/pkg/mod/golang.org/x/exp@v0.0.0-20240506185415-9bf2ced13842/slog/text_handler.go0000644000000000000000000001125215107355263026676 0ustar rootroot// Copyright 2022 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 slog import ( "context" "encoding" "fmt" "io" "reflect" "strconv" "unicode" "unicode/utf8" ) // TextHandler is a Handler that writes Records to an io.Writer as a // sequence of key=value pairs separated by spaces and followed by a newline. type TextHandler struct { *commonHandler } // NewTextHandler creates a TextHandler that writes to w, // using the given options. // If opts is nil, the default options are used. func NewTextHandler(w io.Writer, opts *HandlerOptions) *TextHandler { if opts == nil { opts = &HandlerOptions{} } return &TextHandler{ &commonHandler{ json: false, w: w, opts: *opts, }, } } // Enabled reports whether the handler handles records at the given level. // The handler ignores records whose level is lower. func (h *TextHandler) Enabled(_ context.Context, level Level) bool { return h.commonHandler.enabled(level) } // WithAttrs returns a new TextHandler whose attributes consists // of h's attributes followed by attrs. func (h *TextHandler) WithAttrs(attrs []Attr) Handler { return &TextHandler{commonHandler: h.commonHandler.withAttrs(attrs)} } func (h *TextHandler) WithGroup(name string) Handler { return &TextHandler{commonHandler: h.commonHandler.withGroup(name)} } // Handle formats its argument Record as a single line of space-separated // key=value items. // // If the Record's time is zero, the time is omitted. // Otherwise, the key is "time" // and the value is output in RFC3339 format with millisecond precision. // // If the Record's level is zero, the level is omitted. // Otherwise, the key is "level" // and the value of [Level.String] is output. // // If the AddSource option is set and source information is available, // the key is "source" and the value is output as FILE:LINE. // // The message's key is "msg". // // To modify these or other attributes, or remove them from the output, use // [HandlerOptions.ReplaceAttr]. // // If a value implements [encoding.TextMarshaler], the result of MarshalText is // written. Otherwise, the result of fmt.Sprint is written. // // Keys and values are quoted with [strconv.Quote] if they contain Unicode space // characters, non-printing characters, '"' or '='. // // Keys inside groups consist of components (keys or group names) separated by // dots. No further escaping is performed. // Thus there is no way to determine from the key "a.b.c" whether there // are two groups "a" and "b" and a key "c", or a single group "a.b" and a key "c", // or single group "a" and a key "b.c". // If it is necessary to reconstruct the group structure of a key // even in the presence of dots inside components, use // [HandlerOptions.ReplaceAttr] to encode that information in the key. // // Each call to Handle results in a single serialized call to // io.Writer.Write. func (h *TextHandler) Handle(_ context.Context, r Record) error { return h.commonHandler.handle(r) } func appendTextValue(s *handleState, v Value) error { switch v.Kind() { case KindString: s.appendString(v.str()) case KindTime: s.appendTime(v.time()) case KindAny: if tm, ok := v.any.(encoding.TextMarshaler); ok { data, err := tm.MarshalText() if err != nil { return err } // TODO: avoid the conversion to string. s.appendString(string(data)) return nil } if bs, ok := byteSlice(v.any); ok { // As of Go 1.19, this only allocates for strings longer than 32 bytes. s.buf.WriteString(strconv.Quote(string(bs))) return nil } s.appendString(fmt.Sprintf("%+v", v.Any())) default: *s.buf = v.append(*s.buf) } return nil } // byteSlice returns its argument as a []byte if the argument's // underlying type is []byte, along with a second return value of true. // Otherwise it returns nil, false. func byteSlice(a any) ([]byte, bool) { if bs, ok := a.([]byte); ok { return bs, true } // Like Printf's %s, we allow both the slice type and the byte element type to be named. t := reflect.TypeOf(a) if t != nil && t.Kind() == reflect.Slice && t.Elem().Kind() == reflect.Uint8 { return reflect.ValueOf(a).Bytes(), true } return nil, false } func needsQuoting(s string) bool { if len(s) == 0 { return true } for i := 0; i < len(s); { b := s[i] if b < utf8.RuneSelf { // Quote anything except a backslash that would need quoting in a // JSON string, as well as space and '=' if b != '\\' && (b == ' ' || b == '=' || !safeSet[b]) { return true } i++ continue } r, size := utf8.DecodeRuneInString(s[i:]) if r == utf8.RuneError || unicode.IsSpace(r) || !unicode.IsPrint(r) { return true } i += size } return false } dependencies/pkg/mod/golang.org/x/exp@v0.0.0-20240506185415-9bf2ced13842/slog/record.go0000644000000000000000000001271415107355263025477 0ustar rootroot// Copyright 2022 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 slog import ( "runtime" "time" "golang.org/x/exp/slices" ) const nAttrsInline = 5 // A Record holds information about a log event. // Copies of a Record share state. // Do not modify a Record after handing out a copy to it. // Use [Record.Clone] to create a copy with no shared state. type Record struct { // The time at which the output method (Log, Info, etc.) was called. Time time.Time // The log message. Message string // The level of the event. Level Level // The program counter at the time the record was constructed, as determined // by runtime.Callers. If zero, no program counter is available. // // The only valid use for this value is as an argument to // [runtime.CallersFrames]. In particular, it must not be passed to // [runtime.FuncForPC]. PC uintptr // Allocation optimization: an inline array sized to hold // the majority of log calls (based on examination of open-source // code). It holds the start of the list of Attrs. front [nAttrsInline]Attr // The number of Attrs in front. nFront int // The list of Attrs except for those in front. // Invariants: // - len(back) > 0 iff nFront == len(front) // - Unused array elements are zero. Used to detect mistakes. back []Attr } // NewRecord creates a Record from the given arguments. // Use [Record.AddAttrs] to add attributes to the Record. // // NewRecord is intended for logging APIs that want to support a [Handler] as // a backend. func NewRecord(t time.Time, level Level, msg string, pc uintptr) Record { return Record{ Time: t, Message: msg, Level: level, PC: pc, } } // Clone returns a copy of the record with no shared state. // The original record and the clone can both be modified // without interfering with each other. func (r Record) Clone() Record { r.back = slices.Clip(r.back) // prevent append from mutating shared array return r } // NumAttrs returns the number of attributes in the Record. func (r Record) NumAttrs() int { return r.nFront + len(r.back) } // Attrs calls f on each Attr in the Record. // Iteration stops if f returns false. func (r Record) Attrs(f func(Attr) bool) { for i := 0; i < r.nFront; i++ { if !f(r.front[i]) { return } } for _, a := range r.back { if !f(a) { return } } } // AddAttrs appends the given Attrs to the Record's list of Attrs. func (r *Record) AddAttrs(attrs ...Attr) { n := copy(r.front[r.nFront:], attrs) r.nFront += n // Check if a copy was modified by slicing past the end // and seeing if the Attr there is non-zero. if cap(r.back) > len(r.back) { end := r.back[:len(r.back)+1][len(r.back)] if !end.isEmpty() { panic("copies of a slog.Record were both modified") } } r.back = append(r.back, attrs[n:]...) } // Add converts the args to Attrs as described in [Logger.Log], // then appends the Attrs to the Record's list of Attrs. func (r *Record) Add(args ...any) { var a Attr for len(args) > 0 { a, args = argsToAttr(args) if r.nFront < len(r.front) { r.front[r.nFront] = a r.nFront++ } else { if r.back == nil { r.back = make([]Attr, 0, countAttrs(args)) } r.back = append(r.back, a) } } } // countAttrs returns the number of Attrs that would be created from args. func countAttrs(args []any) int { n := 0 for i := 0; i < len(args); i++ { n++ if _, ok := args[i].(string); ok { i++ } } return n } const badKey = "!BADKEY" // argsToAttr turns a prefix of the nonempty args slice into an Attr // and returns the unconsumed portion of the slice. // If args[0] is an Attr, it returns it. // If args[0] is a string, it treats the first two elements as // a key-value pair. // Otherwise, it treats args[0] as a value with a missing key. func argsToAttr(args []any) (Attr, []any) { switch x := args[0].(type) { case string: if len(args) == 1 { return String(badKey, x), nil } return Any(x, args[1]), args[2:] case Attr: return x, args[1:] default: return Any(badKey, x), args[1:] } } // Source describes the location of a line of source code. type Source struct { // Function is the package path-qualified function name containing the // source line. If non-empty, this string uniquely identifies a single // function in the program. This may be the empty string if not known. Function string `json:"function"` // File and Line are the file name and line number (1-based) of the source // line. These may be the empty string and zero, respectively, if not known. File string `json:"file"` Line int `json:"line"` } // attrs returns the non-zero fields of s as a slice of attrs. // It is similar to a LogValue method, but we don't want Source // to implement LogValuer because it would be resolved before // the ReplaceAttr function was called. func (s *Source) group() Value { var as []Attr if s.Function != "" { as = append(as, String("function", s.Function)) } if s.File != "" { as = append(as, String("file", s.File)) } if s.Line != 0 { as = append(as, Int("line", s.Line)) } return GroupValue(as...) } // source returns a Source for the log event. // If the Record was created without the necessary information, // or if the location is unavailable, it returns a non-nil *Source // with zero fields. func (r Record) source() *Source { fs := runtime.CallersFrames([]uintptr{r.PC}) f, _ := fs.Next() return &Source{ Function: f.Function, File: f.File, Line: f.Line, } } dependencies/pkg/mod/golang.org/x/exp@v0.0.0-20240506185415-9bf2ced13842/slog/value.go0000644000000000000000000002571215107355263025337 0ustar rootroot// Copyright 2022 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 slog import ( "fmt" "math" "runtime" "strconv" "strings" "time" "unsafe" "golang.org/x/exp/slices" ) // A Value can represent any Go value, but unlike type any, // it can represent most small values without an allocation. // The zero Value corresponds to nil. type Value struct { _ [0]func() // disallow == // num holds the value for Kinds Int64, Uint64, Float64, Bool and Duration, // the string length for KindString, and nanoseconds since the epoch for KindTime. num uint64 // If any is of type Kind, then the value is in num as described above. // If any is of type *time.Location, then the Kind is Time and time.Time value // can be constructed from the Unix nanos in num and the location (monotonic time // is not preserved). // If any is of type stringptr, then the Kind is String and the string value // consists of the length in num and the pointer in any. // Otherwise, the Kind is Any and any is the value. // (This implies that Attrs cannot store values of type Kind, *time.Location // or stringptr.) any any } // Kind is the kind of a Value. type Kind int // The following list is sorted alphabetically, but it's also important that // KindAny is 0 so that a zero Value represents nil. const ( KindAny Kind = iota KindBool KindDuration KindFloat64 KindInt64 KindString KindTime KindUint64 KindGroup KindLogValuer ) var kindStrings = []string{ "Any", "Bool", "Duration", "Float64", "Int64", "String", "Time", "Uint64", "Group", "LogValuer", } func (k Kind) String() string { if k >= 0 && int(k) < len(kindStrings) { return kindStrings[k] } return "" } // Unexported version of Kind, just so we can store Kinds in Values. // (No user-provided value has this type.) type kind Kind // Kind returns v's Kind. func (v Value) Kind() Kind { switch x := v.any.(type) { case Kind: return x case stringptr: return KindString case timeLocation: return KindTime case groupptr: return KindGroup case LogValuer: return KindLogValuer case kind: // a kind is just a wrapper for a Kind return KindAny default: return KindAny } } //////////////// Constructors // IntValue returns a Value for an int. func IntValue(v int) Value { return Int64Value(int64(v)) } // Int64Value returns a Value for an int64. func Int64Value(v int64) Value { return Value{num: uint64(v), any: KindInt64} } // Uint64Value returns a Value for a uint64. func Uint64Value(v uint64) Value { return Value{num: v, any: KindUint64} } // Float64Value returns a Value for a floating-point number. func Float64Value(v float64) Value { return Value{num: math.Float64bits(v), any: KindFloat64} } // BoolValue returns a Value for a bool. func BoolValue(v bool) Value { u := uint64(0) if v { u = 1 } return Value{num: u, any: KindBool} } // Unexported version of *time.Location, just so we can store *time.Locations in // Values. (No user-provided value has this type.) type timeLocation *time.Location // TimeValue returns a Value for a time.Time. // It discards the monotonic portion. func TimeValue(v time.Time) Value { if v.IsZero() { // UnixNano on the zero time is undefined, so represent the zero time // with a nil *time.Location instead. time.Time.Location method never // returns nil, so a Value with any == timeLocation(nil) cannot be // mistaken for any other Value, time.Time or otherwise. return Value{any: timeLocation(nil)} } return Value{num: uint64(v.UnixNano()), any: timeLocation(v.Location())} } // DurationValue returns a Value for a time.Duration. func DurationValue(v time.Duration) Value { return Value{num: uint64(v.Nanoseconds()), any: KindDuration} } // AnyValue returns a Value for the supplied value. // // If the supplied value is of type Value, it is returned // unmodified. // // Given a value of one of Go's predeclared string, bool, or // (non-complex) numeric types, AnyValue returns a Value of kind // String, Bool, Uint64, Int64, or Float64. The width of the // original numeric type is not preserved. // // Given a time.Time or time.Duration value, AnyValue returns a Value of kind // KindTime or KindDuration. The monotonic time is not preserved. // // For nil, or values of all other types, including named types whose // underlying type is numeric, AnyValue returns a value of kind KindAny. func AnyValue(v any) Value { switch v := v.(type) { case string: return StringValue(v) case int: return Int64Value(int64(v)) case uint: return Uint64Value(uint64(v)) case int64: return Int64Value(v) case uint64: return Uint64Value(v) case bool: return BoolValue(v) case time.Duration: return DurationValue(v) case time.Time: return TimeValue(v) case uint8: return Uint64Value(uint64(v)) case uint16: return Uint64Value(uint64(v)) case uint32: return Uint64Value(uint64(v)) case uintptr: return Uint64Value(uint64(v)) case int8: return Int64Value(int64(v)) case int16: return Int64Value(int64(v)) case int32: return Int64Value(int64(v)) case float64: return Float64Value(v) case float32: return Float64Value(float64(v)) case []Attr: return GroupValue(v...) case Kind: return Value{any: kind(v)} case Value: return v default: return Value{any: v} } } //////////////// Accessors // Any returns v's value as an any. func (v Value) Any() any { switch v.Kind() { case KindAny: if k, ok := v.any.(kind); ok { return Kind(k) } return v.any case KindLogValuer: return v.any case KindGroup: return v.group() case KindInt64: return int64(v.num) case KindUint64: return v.num case KindFloat64: return v.float() case KindString: return v.str() case KindBool: return v.bool() case KindDuration: return v.duration() case KindTime: return v.time() default: panic(fmt.Sprintf("bad kind: %s", v.Kind())) } } // Int64 returns v's value as an int64. It panics // if v is not a signed integer. func (v Value) Int64() int64 { if g, w := v.Kind(), KindInt64; g != w { panic(fmt.Sprintf("Value kind is %s, not %s", g, w)) } return int64(v.num) } // Uint64 returns v's value as a uint64. It panics // if v is not an unsigned integer. func (v Value) Uint64() uint64 { if g, w := v.Kind(), KindUint64; g != w { panic(fmt.Sprintf("Value kind is %s, not %s", g, w)) } return v.num } // Bool returns v's value as a bool. It panics // if v is not a bool. func (v Value) Bool() bool { if g, w := v.Kind(), KindBool; g != w { panic(fmt.Sprintf("Value kind is %s, not %s", g, w)) } return v.bool() } func (v Value) bool() bool { return v.num == 1 } // Duration returns v's value as a time.Duration. It panics // if v is not a time.Duration. func (v Value) Duration() time.Duration { if g, w := v.Kind(), KindDuration; g != w { panic(fmt.Sprintf("Value kind is %s, not %s", g, w)) } return v.duration() } func (v Value) duration() time.Duration { return time.Duration(int64(v.num)) } // Float64 returns v's value as a float64. It panics // if v is not a float64. func (v Value) Float64() float64 { if g, w := v.Kind(), KindFloat64; g != w { panic(fmt.Sprintf("Value kind is %s, not %s", g, w)) } return v.float() } func (v Value) float() float64 { return math.Float64frombits(v.num) } // Time returns v's value as a time.Time. It panics // if v is not a time.Time. func (v Value) Time() time.Time { if g, w := v.Kind(), KindTime; g != w { panic(fmt.Sprintf("Value kind is %s, not %s", g, w)) } return v.time() } func (v Value) time() time.Time { loc := v.any.(timeLocation) if loc == nil { return time.Time{} } return time.Unix(0, int64(v.num)).In(loc) } // LogValuer returns v's value as a LogValuer. It panics // if v is not a LogValuer. func (v Value) LogValuer() LogValuer { return v.any.(LogValuer) } // Group returns v's value as a []Attr. // It panics if v's Kind is not KindGroup. func (v Value) Group() []Attr { if sp, ok := v.any.(groupptr); ok { return unsafe.Slice((*Attr)(sp), v.num) } panic("Group: bad kind") } func (v Value) group() []Attr { return unsafe.Slice((*Attr)(v.any.(groupptr)), v.num) } //////////////// Other // Equal reports whether v and w represent the same Go value. func (v Value) Equal(w Value) bool { k1 := v.Kind() k2 := w.Kind() if k1 != k2 { return false } switch k1 { case KindInt64, KindUint64, KindBool, KindDuration: return v.num == w.num case KindString: return v.str() == w.str() case KindFloat64: return v.float() == w.float() case KindTime: return v.time().Equal(w.time()) case KindAny, KindLogValuer: return v.any == w.any // may panic if non-comparable case KindGroup: return slices.EqualFunc(v.group(), w.group(), Attr.Equal) default: panic(fmt.Sprintf("bad kind: %s", k1)) } } // append appends a text representation of v to dst. // v is formatted as with fmt.Sprint. func (v Value) append(dst []byte) []byte { switch v.Kind() { case KindString: return append(dst, v.str()...) case KindInt64: return strconv.AppendInt(dst, int64(v.num), 10) case KindUint64: return strconv.AppendUint(dst, v.num, 10) case KindFloat64: return strconv.AppendFloat(dst, v.float(), 'g', -1, 64) case KindBool: return strconv.AppendBool(dst, v.bool()) case KindDuration: return append(dst, v.duration().String()...) case KindTime: return append(dst, v.time().String()...) case KindGroup: return fmt.Append(dst, v.group()) case KindAny, KindLogValuer: return fmt.Append(dst, v.any) default: panic(fmt.Sprintf("bad kind: %s", v.Kind())) } } // A LogValuer is any Go value that can convert itself into a Value for logging. // // This mechanism may be used to defer expensive operations until they are // needed, or to expand a single value into a sequence of components. type LogValuer interface { LogValue() Value } const maxLogValues = 100 // Resolve repeatedly calls LogValue on v while it implements LogValuer, // and returns the result. // If v resolves to a group, the group's attributes' values are not recursively // resolved. // If the number of LogValue calls exceeds a threshold, a Value containing an // error is returned. // Resolve's return value is guaranteed not to be of Kind KindLogValuer. func (v Value) Resolve() (rv Value) { orig := v defer func() { if r := recover(); r != nil { rv = AnyValue(fmt.Errorf("LogValue panicked\n%s", stack(3, 5))) } }() for i := 0; i < maxLogValues; i++ { if v.Kind() != KindLogValuer { return v } v = v.LogValuer().LogValue() } err := fmt.Errorf("LogValue called too many times on Value of type %T", orig.Any()) return AnyValue(err) } func stack(skip, nFrames int) string { pcs := make([]uintptr, nFrames+1) n := runtime.Callers(skip+1, pcs) if n == 0 { return "(no stack)" } frames := runtime.CallersFrames(pcs[:n]) var b strings.Builder i := 0 for { frame, more := frames.Next() fmt.Fprintf(&b, "called from %s (%s:%d)\n", frame.Function, frame.File, frame.Line) if !more { break } i++ if i >= nFrames { fmt.Fprintf(&b, "(rest of stack elided)\n") break } } return b.String() } dependencies/pkg/mod/golang.org/x/exp@v0.0.0-20240506185415-9bf2ced13842/slog/handler_test.go0000644000000000000000000003320415107355263026672 0ustar rootroot// Copyright 2022 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: verify that the output of Marshal{Text,JSON} is suitably escaped. package slog import ( "bytes" "context" "encoding/json" "io" "path/filepath" "strconv" "strings" "testing" "time" "golang.org/x/exp/slices" "golang.org/x/exp/slog/internal/buffer" ) func TestDefaultHandle(t *testing.T) { ctx := context.Background() preAttrs := []Attr{Int("pre", 0)} attrs := []Attr{Int("a", 1), String("b", "two")} for _, test := range []struct { name string with func(Handler) Handler attrs []Attr want string }{ { name: "no attrs", want: "INFO message", }, { name: "attrs", attrs: attrs, want: "INFO message a=1 b=two", }, { name: "preformatted", with: func(h Handler) Handler { return h.WithAttrs(preAttrs) }, attrs: attrs, want: "INFO message pre=0 a=1 b=two", }, { name: "groups", attrs: []Attr{ Int("a", 1), Group("g", Int("b", 2), Group("h", Int("c", 3)), Int("d", 4)), Int("e", 5), }, want: "INFO message a=1 g.b=2 g.h.c=3 g.d=4 e=5", }, { name: "group", with: func(h Handler) Handler { return h.WithAttrs(preAttrs).WithGroup("s") }, attrs: attrs, want: "INFO message pre=0 s.a=1 s.b=two", }, { name: "preformatted groups", with: func(h Handler) Handler { return h.WithAttrs([]Attr{Int("p1", 1)}). WithGroup("s1"). WithAttrs([]Attr{Int("p2", 2)}). WithGroup("s2") }, attrs: attrs, want: "INFO message p1=1 s1.p2=2 s1.s2.a=1 s1.s2.b=two", }, { name: "two with-groups", with: func(h Handler) Handler { return h.WithAttrs([]Attr{Int("p1", 1)}). WithGroup("s1"). WithGroup("s2") }, attrs: attrs, want: "INFO message p1=1 s1.s2.a=1 s1.s2.b=two", }, } { t.Run(test.name, func(t *testing.T) { var got string var h Handler = newDefaultHandler(func(_ int, s string) error { got = s return nil }) if test.with != nil { h = test.with(h) } r := NewRecord(time.Time{}, LevelInfo, "message", 0) r.AddAttrs(test.attrs...) if err := h.Handle(ctx, r); err != nil { t.Fatal(err) } if got != test.want { t.Errorf("\ngot %s\nwant %s", got, test.want) } }) } } // Verify the common parts of TextHandler and JSONHandler. func TestJSONAndTextHandlers(t *testing.T) { ctx := context.Background() // remove all Attrs removeAll := func(_ []string, a Attr) Attr { return Attr{} } attrs := []Attr{String("a", "one"), Int("b", 2), Any("", nil)} preAttrs := []Attr{Int("pre", 3), String("x", "y")} for _, test := range []struct { name string replace func([]string, Attr) Attr addSource bool with func(Handler) Handler preAttrs []Attr attrs []Attr wantText string wantJSON string }{ { name: "basic", attrs: attrs, wantText: "time=2000-01-02T03:04:05.000Z level=INFO msg=message a=one b=2", wantJSON: `{"time":"2000-01-02T03:04:05Z","level":"INFO","msg":"message","a":"one","b":2}`, }, { name: "empty key", attrs: append(slices.Clip(attrs), Any("", "v")), wantText: `time=2000-01-02T03:04:05.000Z level=INFO msg=message a=one b=2 ""=v`, wantJSON: `{"time":"2000-01-02T03:04:05Z","level":"INFO","msg":"message","a":"one","b":2,"":"v"}`, }, { name: "cap keys", replace: upperCaseKey, attrs: attrs, wantText: "TIME=2000-01-02T03:04:05.000Z LEVEL=INFO MSG=message A=one B=2", wantJSON: `{"TIME":"2000-01-02T03:04:05Z","LEVEL":"INFO","MSG":"message","A":"one","B":2}`, }, { name: "remove all", replace: removeAll, attrs: attrs, wantText: "", wantJSON: `{}`, }, { name: "preformatted", with: func(h Handler) Handler { return h.WithAttrs(preAttrs) }, preAttrs: preAttrs, attrs: attrs, wantText: "time=2000-01-02T03:04:05.000Z level=INFO msg=message pre=3 x=y a=one b=2", wantJSON: `{"time":"2000-01-02T03:04:05Z","level":"INFO","msg":"message","pre":3,"x":"y","a":"one","b":2}`, }, { name: "preformatted cap keys", replace: upperCaseKey, with: func(h Handler) Handler { return h.WithAttrs(preAttrs) }, preAttrs: preAttrs, attrs: attrs, wantText: "TIME=2000-01-02T03:04:05.000Z LEVEL=INFO MSG=message PRE=3 X=y A=one B=2", wantJSON: `{"TIME":"2000-01-02T03:04:05Z","LEVEL":"INFO","MSG":"message","PRE":3,"X":"y","A":"one","B":2}`, }, { name: "preformatted remove all", replace: removeAll, with: func(h Handler) Handler { return h.WithAttrs(preAttrs) }, preAttrs: preAttrs, attrs: attrs, wantText: "", wantJSON: "{}", }, { name: "remove built-in", replace: removeKeys(TimeKey, LevelKey, MessageKey), attrs: attrs, wantText: "a=one b=2", wantJSON: `{"a":"one","b":2}`, }, { name: "preformatted remove built-in", replace: removeKeys(TimeKey, LevelKey, MessageKey), with: func(h Handler) Handler { return h.WithAttrs(preAttrs) }, attrs: attrs, wantText: "pre=3 x=y a=one b=2", wantJSON: `{"pre":3,"x":"y","a":"one","b":2}`, }, { name: "groups", replace: removeKeys(TimeKey, LevelKey), // to simplify the result attrs: []Attr{ Int("a", 1), Group("g", Int("b", 2), Group("h", Int("c", 3)), Int("d", 4)), Int("e", 5), }, wantText: "msg=message a=1 g.b=2 g.h.c=3 g.d=4 e=5", wantJSON: `{"msg":"message","a":1,"g":{"b":2,"h":{"c":3},"d":4},"e":5}`, }, { name: "empty group", replace: removeKeys(TimeKey, LevelKey), attrs: []Attr{Group("g"), Group("h", Int("a", 1))}, wantText: "msg=message h.a=1", wantJSON: `{"msg":"message","h":{"a":1}}`, }, { name: "escapes", replace: removeKeys(TimeKey, LevelKey), attrs: []Attr{ String("a b", "x\t\n\000y"), Group(" b.c=\"\\x2E\t", String("d=e", "f.g\""), Int("m.d", 1)), // dot is not escaped }, wantText: `msg=message "a b"="x\t\n\x00y" " b.c=\"\\x2E\t.d=e"="f.g\"" " b.c=\"\\x2E\t.m.d"=1`, wantJSON: `{"msg":"message","a b":"x\t\n\u0000y"," b.c=\"\\x2E\t":{"d=e":"f.g\"","m.d":1}}`, }, { name: "LogValuer", replace: removeKeys(TimeKey, LevelKey), attrs: []Attr{ Int("a", 1), Any("name", logValueName{"Ren", "Hoek"}), Int("b", 2), }, wantText: "msg=message a=1 name.first=Ren name.last=Hoek b=2", wantJSON: `{"msg":"message","a":1,"name":{"first":"Ren","last":"Hoek"},"b":2}`, }, { // Test resolution when there is no ReplaceAttr function. name: "resolve", attrs: []Attr{ Any("", &replace{Value{}}), // should be elided Any("name", logValueName{"Ren", "Hoek"}), }, wantText: "time=2000-01-02T03:04:05.000Z level=INFO msg=message name.first=Ren name.last=Hoek", wantJSON: `{"time":"2000-01-02T03:04:05Z","level":"INFO","msg":"message","name":{"first":"Ren","last":"Hoek"}}`, }, { name: "with-group", replace: removeKeys(TimeKey, LevelKey), with: func(h Handler) Handler { return h.WithAttrs(preAttrs).WithGroup("s") }, attrs: attrs, wantText: "msg=message pre=3 x=y s.a=one s.b=2", wantJSON: `{"msg":"message","pre":3,"x":"y","s":{"a":"one","b":2}}`, }, { name: "preformatted with-groups", replace: removeKeys(TimeKey, LevelKey), with: func(h Handler) Handler { return h.WithAttrs([]Attr{Int("p1", 1)}). WithGroup("s1"). WithAttrs([]Attr{Int("p2", 2)}). WithGroup("s2") }, attrs: attrs, wantText: "msg=message p1=1 s1.p2=2 s1.s2.a=one s1.s2.b=2", wantJSON: `{"msg":"message","p1":1,"s1":{"p2":2,"s2":{"a":"one","b":2}}}`, }, { name: "two with-groups", replace: removeKeys(TimeKey, LevelKey), with: func(h Handler) Handler { return h.WithAttrs([]Attr{Int("p1", 1)}). WithGroup("s1"). WithGroup("s2") }, attrs: attrs, wantText: "msg=message p1=1 s1.s2.a=one s1.s2.b=2", wantJSON: `{"msg":"message","p1":1,"s1":{"s2":{"a":"one","b":2}}}`, }, { name: "GroupValue as Attr value", replace: removeKeys(TimeKey, LevelKey), attrs: []Attr{{"v", AnyValue(IntValue(3))}}, wantText: "msg=message v=3", wantJSON: `{"msg":"message","v":3}`, }, { name: "byte slice", replace: removeKeys(TimeKey, LevelKey), attrs: []Attr{Any("bs", []byte{1, 2, 3, 4})}, wantText: `msg=message bs="\x01\x02\x03\x04"`, wantJSON: `{"msg":"message","bs":"AQIDBA=="}`, }, { name: "json.RawMessage", replace: removeKeys(TimeKey, LevelKey), attrs: []Attr{Any("bs", json.RawMessage([]byte("1234")))}, wantText: `msg=message bs="1234"`, wantJSON: `{"msg":"message","bs":1234}`, }, { name: "inline group", replace: removeKeys(TimeKey, LevelKey), attrs: []Attr{ Int("a", 1), Group("", Int("b", 2), Int("c", 3)), Int("d", 4), }, wantText: `msg=message a=1 b=2 c=3 d=4`, wantJSON: `{"msg":"message","a":1,"b":2,"c":3,"d":4}`, }, { name: "Source", replace: func(gs []string, a Attr) Attr { if a.Key == SourceKey { s := a.Value.Any().(*Source) s.File = filepath.Base(s.File) return Any(a.Key, s) } return removeKeys(TimeKey, LevelKey)(gs, a) }, addSource: true, wantText: `source=handler_test.go:$LINE msg=message`, wantJSON: `{"source":{"function":"golang.org/x/exp/slog.TestJSONAndTextHandlers","file":"handler_test.go","line":$LINE},"msg":"message"}`, }, } { r := NewRecord(testTime, LevelInfo, "message", callerPC(2)) line := strconv.Itoa(r.source().Line) r.AddAttrs(test.attrs...) var buf bytes.Buffer opts := HandlerOptions{ReplaceAttr: test.replace, AddSource: test.addSource} t.Run(test.name, func(t *testing.T) { for _, handler := range []struct { name string h Handler want string }{ {"text", NewTextHandler(&buf, &opts), test.wantText}, {"json", NewJSONHandler(&buf, &opts), test.wantJSON}, } { t.Run(handler.name, func(t *testing.T) { h := handler.h if test.with != nil { h = test.with(h) } buf.Reset() if err := h.Handle(ctx, r); err != nil { t.Fatal(err) } want := strings.ReplaceAll(handler.want, "$LINE", line) got := strings.TrimSuffix(buf.String(), "\n") if got != want { t.Errorf("\ngot %s\nwant %s\n", got, want) } }) } }) } } // removeKeys returns a function suitable for HandlerOptions.ReplaceAttr // that removes all Attrs with the given keys. func removeKeys(keys ...string) func([]string, Attr) Attr { return func(_ []string, a Attr) Attr { for _, k := range keys { if a.Key == k { return Attr{} } } return a } } func upperCaseKey(_ []string, a Attr) Attr { a.Key = strings.ToUpper(a.Key) return a } type logValueName struct { first, last string } func (n logValueName) LogValue() Value { return GroupValue( String("first", n.first), String("last", n.last)) } func TestHandlerEnabled(t *testing.T) { levelVar := func(l Level) *LevelVar { var al LevelVar al.Set(l) return &al } for _, test := range []struct { leveler Leveler want bool }{ {nil, true}, {LevelWarn, false}, {&LevelVar{}, true}, // defaults to Info {levelVar(LevelWarn), false}, {LevelDebug, true}, {levelVar(LevelDebug), true}, } { h := &commonHandler{opts: HandlerOptions{Level: test.leveler}} got := h.enabled(LevelInfo) if got != test.want { t.Errorf("%v: got %t, want %t", test.leveler, got, test.want) } } } func TestSecondWith(t *testing.T) { // Verify that a second call to Logger.With does not corrupt // the original. var buf bytes.Buffer h := NewTextHandler(&buf, &HandlerOptions{ReplaceAttr: removeKeys(TimeKey)}) logger := New(h).With( String("app", "playground"), String("role", "tester"), Int("data_version", 2), ) appLogger := logger.With("type", "log") // this becomes type=met _ = logger.With("type", "metric") appLogger.Info("foo") got := strings.TrimSpace(buf.String()) want := `level=INFO msg=foo app=playground role=tester data_version=2 type=log` if got != want { t.Errorf("\ngot %s\nwant %s", got, want) } } func TestReplaceAttrGroups(t *testing.T) { // Verify that ReplaceAttr is called with the correct groups. type ga struct { groups string key string val string } var got []ga h := NewTextHandler(io.Discard, &HandlerOptions{ReplaceAttr: func(gs []string, a Attr) Attr { v := a.Value.String() if a.Key == TimeKey { v = "" } got = append(got, ga{strings.Join(gs, ","), a.Key, v}) return a }}) New(h). With(Int("a", 1)). WithGroup("g1"). With(Int("b", 2)). WithGroup("g2"). With( Int("c", 3), Group("g3", Int("d", 4)), Int("e", 5)). Info("m", Int("f", 6), Group("g4", Int("h", 7)), Int("i", 8)) want := []ga{ {"", "a", "1"}, {"g1", "b", "2"}, {"g1,g2", "c", "3"}, {"g1,g2,g3", "d", "4"}, {"g1,g2", "e", "5"}, {"", "time", ""}, {"", "level", "INFO"}, {"", "msg", "m"}, {"g1,g2", "f", "6"}, {"g1,g2,g4", "h", "7"}, {"g1,g2", "i", "8"}, } if !slices.Equal(got, want) { t.Errorf("\ngot %v\nwant %v", got, want) } } const rfc3339Millis = "2006-01-02T15:04:05.000Z07:00" func TestWriteTimeRFC3339(t *testing.T) { for _, tm := range []time.Time{ time.Date(2000, 1, 2, 3, 4, 5, 0, time.UTC), time.Date(2000, 1, 2, 3, 4, 5, 400, time.Local), time.Date(2000, 11, 12, 3, 4, 500, 5e7, time.UTC), } { want := tm.Format(rfc3339Millis) buf := buffer.New() defer buf.Free() writeTimeRFC3339Millis(buf, tm) got := buf.String() if got != want { t.Errorf("got %s, want %s", got, want) } } } func BenchmarkWriteTime(b *testing.B) { buf := buffer.New() defer buf.Free() tm := time.Date(2022, 3, 4, 5, 6, 7, 823456789, time.Local) b.ResetTimer() for i := 0; i < b.N; i++ { writeTimeRFC3339Millis(buf, tm) buf.Reset() } } dependencies/pkg/mod/golang.org/x/exp@v0.0.0-20240506185415-9bf2ced13842/slog/logger_test.go0000644000000000000000000003760115107355263026541 0ustar rootroot// Copyright 2022 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 slog import ( "bytes" "context" "io" "log" "path/filepath" "regexp" "runtime" "strings" "sync" "testing" "time" "golang.org/x/exp/slices" ) // textTimeRE is a regexp to match log timestamps for Text handler. // This is RFC3339Nano with the fixed 3 digit sub-second precision. const textTimeRE = `\d{4}-\d{2}-\d{2}T\d{2}:\d{2}:\d{2}\.\d{3}(Z|[+-]\d{2}:\d{2})` // jsonTimeRE is a regexp to match log timestamps for Text handler. // This is RFC3339Nano with an arbitrary sub-second precision. const jsonTimeRE = `\d{4}-\d{2}-\d{2}T\d{2}:\d{2}:\d{2}(\.\d+)?(Z|[+-]\d{2}:\d{2})` func TestLogTextHandler(t *testing.T) { var buf bytes.Buffer l := New(NewTextHandler(&buf, nil)) check := func(want string) { t.Helper() if want != "" { want = "time=" + textTimeRE + " " + want } checkLogOutput(t, buf.String(), want) buf.Reset() } l.Info("msg", "a", 1, "b", 2) check(`level=INFO msg=msg a=1 b=2`) // By default, debug messages are not printed. l.Debug("bg", Int("a", 1), "b", 2) check("") l.Warn("w", Duration("dur", 3*time.Second)) check(`level=WARN msg=w dur=3s`) l.Error("bad", "a", 1) check(`level=ERROR msg=bad a=1`) l.Log(nil, LevelWarn+1, "w", Int("a", 1), String("b", "two")) check(`level=WARN\+1 msg=w a=1 b=two`) l.LogAttrs(nil, LevelInfo+1, "a b c", Int("a", 1), String("b", "two")) check(`level=INFO\+1 msg="a b c" a=1 b=two`) l.Info("info", "a", []Attr{Int("i", 1)}) check(`level=INFO msg=info a.i=1`) l.Info("info", "a", GroupValue(Int("i", 1))) check(`level=INFO msg=info a.i=1`) } func TestConnections(t *testing.T) { var logbuf, slogbuf bytes.Buffer // Revert any changes to the default logger. This is important because other // tests might change the default logger using SetDefault. Also ensure we // restore the default logger at the end of the test. currentLogger := Default() SetDefault(New(newDefaultHandler(log.Output))) t.Cleanup(func() { SetDefault(currentLogger) }) // The default slog.Logger's handler uses the log package's default output. log.SetOutput(&logbuf) log.SetFlags(log.Lshortfile &^ log.LstdFlags) Info("msg", "a", 1) checkLogOutput(t, logbuf.String(), `logger_test.go:\d+: INFO msg a=1`) logbuf.Reset() Warn("msg", "b", 2) checkLogOutput(t, logbuf.String(), `logger_test.go:\d+: WARN msg b=2`) logbuf.Reset() Error("msg", "err", io.EOF, "c", 3) checkLogOutput(t, logbuf.String(), `logger_test.go:\d+: ERROR msg err=EOF c=3`) // Levels below Info are not printed. logbuf.Reset() Debug("msg", "c", 3) checkLogOutput(t, logbuf.String(), "") t.Run("wrap default handler", func(t *testing.T) { // It should be possible to wrap the default handler and get the right output. // But because the call depth to log.Output is hard-coded, the source line is wrong. // We want to use the pc inside the Record, but there is no way to give that to // the log package. // // TODO(jba): when slog lives under log in the standard library, we can // move the bulk of log.Logger.Output to a function in an internal // package, so both log and slog can call it. // // While slog lives in exp, we punt. t.Skip("skip until this package is in the standard library") logger := New(wrappingHandler{Default().Handler()}) logger.Info("msg", "d", 4) checkLogOutput(t, logbuf.String(), `logger_test.go:\d+: INFO msg d=4`) }) // Once slog.SetDefault is called, the direction is reversed: the default // log.Logger's output goes through the handler. SetDefault(New(NewTextHandler(&slogbuf, &HandlerOptions{AddSource: true}))) log.Print("msg2") checkLogOutput(t, slogbuf.String(), "time="+textTimeRE+` level=INFO source=.*logger_test.go:\d{3} msg=msg2`) // The default log.Logger always outputs at Info level. slogbuf.Reset() SetDefault(New(NewTextHandler(&slogbuf, &HandlerOptions{Level: LevelWarn}))) log.Print("should not appear") if got := slogbuf.String(); got != "" { t.Errorf("got %q, want empty", got) } // Setting log's output again breaks the connection. logbuf.Reset() slogbuf.Reset() log.SetOutput(&logbuf) log.SetFlags(log.Lshortfile &^ log.LstdFlags) log.Print("msg3") checkLogOutput(t, logbuf.String(), `logger_test.go:\d+: msg3`) if got := slogbuf.String(); got != "" { t.Errorf("got %q, want empty", got) } } type wrappingHandler struct { h Handler } func (h wrappingHandler) Enabled(ctx context.Context, level Level) bool { return h.h.Enabled(ctx, level) } func (h wrappingHandler) WithGroup(name string) Handler { return h.h.WithGroup(name) } func (h wrappingHandler) WithAttrs(as []Attr) Handler { return h.h.WithAttrs(as) } func (h wrappingHandler) Handle(ctx context.Context, r Record) error { return h.h.Handle(ctx, r) } func TestAttrs(t *testing.T) { check := func(got []Attr, want ...Attr) { t.Helper() if !attrsEqual(got, want) { t.Errorf("got %v, want %v", got, want) } } l1 := New(&captureHandler{}).With("a", 1) l2 := New(l1.Handler()).With("b", 2) l2.Info("m", "c", 3) h := l2.Handler().(*captureHandler) check(h.attrs, Int("a", 1), Int("b", 2)) check(attrsSlice(h.r), Int("c", 3)) } func TestCallDepth(t *testing.T) { h := &captureHandler{} var startLine int check := func(count int) { t.Helper() const wantFunc = "golang.org/x/exp/slog.TestCallDepth" const wantFile = "logger_test.go" wantLine := startLine + count*2 got := h.r.source() gotFile := filepath.Base(got.File) if got.Function != wantFunc || gotFile != wantFile || got.Line != wantLine { t.Errorf("got (%s, %s, %d), want (%s, %s, %d)", got.Function, gotFile, got.Line, wantFunc, wantFile, wantLine) } } logger := New(h) SetDefault(logger) // Calls to check must be one line apart. // Determine line where calls start. f, _ := runtime.CallersFrames([]uintptr{callerPC(2)}).Next() startLine = f.Line + 4 // Do not change the number of lines between here and the call to check(0). logger.Log(nil, LevelInfo, "") check(0) logger.LogAttrs(nil, LevelInfo, "") check(1) logger.Debug("") check(2) logger.Info("") check(3) logger.Warn("") check(4) logger.Error("") check(5) Debug("") check(6) Info("") check(7) Warn("") check(8) Error("") check(9) Log(nil, LevelInfo, "") check(10) LogAttrs(nil, LevelInfo, "") check(11) } func TestAlloc(t *testing.T) { dl := New(discardHandler{}) defer func(d *Logger) { SetDefault(d) }(Default()) SetDefault(dl) t.Run("Info", func(t *testing.T) { wantAllocs(t, 0, func() { Info("hello") }) }) t.Run("Error", func(t *testing.T) { wantAllocs(t, 0, func() { Error("hello") }) }) t.Run("logger.Info", func(t *testing.T) { wantAllocs(t, 0, func() { dl.Info("hello") }) }) t.Run("logger.Log", func(t *testing.T) { wantAllocs(t, 0, func() { dl.Log(nil, LevelDebug, "hello") }) }) t.Run("2 pairs", func(t *testing.T) { s := "abc" i := 2000 wantAllocs(t, 2, func() { dl.Info("hello", "n", i, "s", s, ) }) }) t.Run("2 pairs disabled inline", func(t *testing.T) { l := New(discardHandler{disabled: true}) s := "abc" i := 2000 wantAllocs(t, 2, func() { l.Log(nil, LevelInfo, "hello", "n", i, "s", s, ) }) }) t.Run("2 pairs disabled", func(t *testing.T) { l := New(discardHandler{disabled: true}) s := "abc" i := 2000 wantAllocs(t, 0, func() { if l.Enabled(nil, LevelInfo) { l.Log(nil, LevelInfo, "hello", "n", i, "s", s, ) } }) }) t.Run("9 kvs", func(t *testing.T) { s := "abc" i := 2000 d := time.Second wantAllocs(t, 11, func() { dl.Info("hello", "n", i, "s", s, "d", d, "n", i, "s", s, "d", d, "n", i, "s", s, "d", d) }) }) t.Run("pairs", func(t *testing.T) { wantAllocs(t, 0, func() { dl.Info("", "error", io.EOF) }) }) t.Run("attrs1", func(t *testing.T) { wantAllocs(t, 0, func() { dl.LogAttrs(nil, LevelInfo, "", Int("a", 1)) }) wantAllocs(t, 0, func() { dl.LogAttrs(nil, LevelInfo, "", Any("error", io.EOF)) }) }) t.Run("attrs3", func(t *testing.T) { wantAllocs(t, 0, func() { dl.LogAttrs(nil, LevelInfo, "hello", Int("a", 1), String("b", "two"), Duration("c", time.Second)) }) }) t.Run("attrs3 disabled", func(t *testing.T) { logger := New(discardHandler{disabled: true}) wantAllocs(t, 0, func() { logger.LogAttrs(nil, LevelInfo, "hello", Int("a", 1), String("b", "two"), Duration("c", time.Second)) }) }) t.Run("attrs6", func(t *testing.T) { wantAllocs(t, 1, func() { dl.LogAttrs(nil, LevelInfo, "hello", Int("a", 1), String("b", "two"), Duration("c", time.Second), Int("d", 1), String("e", "two"), Duration("f", time.Second)) }) }) t.Run("attrs9", func(t *testing.T) { wantAllocs(t, 1, func() { dl.LogAttrs(nil, LevelInfo, "hello", Int("a", 1), String("b", "two"), Duration("c", time.Second), Int("d", 1), String("e", "two"), Duration("f", time.Second), Int("d", 1), String("e", "two"), Duration("f", time.Second)) }) }) } func TestSetAttrs(t *testing.T) { for _, test := range []struct { args []any want []Attr }{ {nil, nil}, {[]any{"a", 1}, []Attr{Int("a", 1)}}, {[]any{"a", 1, "b", "two"}, []Attr{Int("a", 1), String("b", "two")}}, {[]any{"a"}, []Attr{String(badKey, "a")}}, {[]any{"a", 1, "b"}, []Attr{Int("a", 1), String(badKey, "b")}}, {[]any{"a", 1, 2, 3}, []Attr{Int("a", 1), Int(badKey, 2), Int(badKey, 3)}}, } { r := NewRecord(time.Time{}, 0, "", 0) r.Add(test.args...) got := attrsSlice(r) if !attrsEqual(got, test.want) { t.Errorf("%v:\ngot %v\nwant %v", test.args, got, test.want) } } } func TestSetDefault(t *testing.T) { // Verify that setting the default to itself does not result in deadlock. ctx, cancel := context.WithTimeout(context.Background(), time.Second) defer cancel() defer func(w io.Writer) { log.SetOutput(w) }(log.Writer()) log.SetOutput(io.Discard) go func() { Info("A") SetDefault(Default()) Info("B") cancel() }() <-ctx.Done() if err := ctx.Err(); err != context.Canceled { t.Errorf("wanted canceled, got %v", err) } } func TestLoggerError(t *testing.T) { var buf bytes.Buffer removeTime := func(_ []string, a Attr) Attr { if a.Key == TimeKey { return Attr{} } return a } l := New(NewTextHandler(&buf, &HandlerOptions{ReplaceAttr: removeTime})) l.Error("msg", "err", io.EOF, "a", 1) checkLogOutput(t, buf.String(), `level=ERROR msg=msg err=EOF a=1`) buf.Reset() l.Error("msg", "err", io.EOF, "a") checkLogOutput(t, buf.String(), `level=ERROR msg=msg err=EOF !BADKEY=a`) } func TestNewLogLogger(t *testing.T) { var buf bytes.Buffer h := NewTextHandler(&buf, nil) ll := NewLogLogger(h, LevelWarn) ll.Print("hello") checkLogOutput(t, buf.String(), "time="+textTimeRE+` level=WARN msg=hello`) } func checkLogOutput(t *testing.T, got, wantRegexp string) { t.Helper() got = clean(got) wantRegexp = "^" + wantRegexp + "$" matched, err := regexp.MatchString(wantRegexp, got) if err != nil { t.Fatal(err) } if !matched { t.Errorf("\ngot %s\nwant %s", got, wantRegexp) } } // clean prepares log output for comparison. func clean(s string) string { if len(s) > 0 && s[len(s)-1] == '\n' { s = s[:len(s)-1] } return strings.ReplaceAll(s, "\n", "~") } type captureHandler struct { mu sync.Mutex r Record attrs []Attr groups []string } func (h *captureHandler) Handle(ctx context.Context, r Record) error { h.mu.Lock() defer h.mu.Unlock() h.r = r return nil } func (*captureHandler) Enabled(context.Context, Level) bool { return true } func (c *captureHandler) WithAttrs(as []Attr) Handler { c.mu.Lock() defer c.mu.Unlock() var c2 captureHandler c2.r = c.r c2.groups = c.groups c2.attrs = concat(c.attrs, as) return &c2 } func (c *captureHandler) WithGroup(name string) Handler { c.mu.Lock() defer c.mu.Unlock() var c2 captureHandler c2.r = c.r c2.attrs = c.attrs c2.groups = append(slices.Clip(c.groups), name) return &c2 } type discardHandler struct { disabled bool attrs []Attr } func (d discardHandler) Enabled(context.Context, Level) bool { return !d.disabled } func (discardHandler) Handle(context.Context, Record) error { return nil } func (d discardHandler) WithAttrs(as []Attr) Handler { d.attrs = concat(d.attrs, as) return d } func (h discardHandler) WithGroup(name string) Handler { return h } // concat returns a new slice with the elements of s1 followed // by those of s2. The slice has no additional capacity. func concat[T any](s1, s2 []T) []T { s := make([]T, len(s1)+len(s2)) copy(s, s1) copy(s[len(s1):], s2) return s } // This is a simple benchmark. See the benchmarks subdirectory for more extensive ones. func BenchmarkNopLog(b *testing.B) { ctx := context.Background() l := New(&captureHandler{}) b.Run("no attrs", func(b *testing.B) { b.ReportAllocs() for i := 0; i < b.N; i++ { l.LogAttrs(nil, LevelInfo, "msg") } }) b.Run("attrs", func(b *testing.B) { b.ReportAllocs() for i := 0; i < b.N; i++ { l.LogAttrs(nil, LevelInfo, "msg", Int("a", 1), String("b", "two"), Bool("c", true)) } }) b.Run("attrs-parallel", func(b *testing.B) { b.ReportAllocs() b.RunParallel(func(pb *testing.PB) { for pb.Next() { l.LogAttrs(nil, LevelInfo, "msg", Int("a", 1), String("b", "two"), Bool("c", true)) } }) }) b.Run("keys-values", func(b *testing.B) { b.ReportAllocs() for i := 0; i < b.N; i++ { l.Log(nil, LevelInfo, "msg", "a", 1, "b", "two", "c", true) } }) b.Run("WithContext", func(b *testing.B) { b.ReportAllocs() for i := 0; i < b.N; i++ { l.LogAttrs(ctx, LevelInfo, "msg2", Int("a", 1), String("b", "two"), Bool("c", true)) } }) b.Run("WithContext-parallel", func(b *testing.B) { b.ReportAllocs() b.RunParallel(func(pb *testing.PB) { for pb.Next() { l.LogAttrs(ctx, LevelInfo, "msg", Int("a", 1), String("b", "two"), Bool("c", true)) } }) }) } // callerPC returns the program counter at the given stack depth. func callerPC(depth int) uintptr { var pcs [1]uintptr runtime.Callers(depth, pcs[:]) return pcs[0] } // panicTextAndJsonMarshaler is a type that panics in MarshalText and MarshalJSON. type panicTextAndJsonMarshaler struct { msg any } func (p panicTextAndJsonMarshaler) MarshalText() ([]byte, error) { panic(p.msg) } func (p panicTextAndJsonMarshaler) MarshalJSON() ([]byte, error) { panic(p.msg) } func TestPanics(t *testing.T) { // Revert any changes to the default logger. This is important because other // tests might change the default logger using SetDefault. Also ensure we // restore the default logger at the end of the test. currentLogger := Default() currentLogWriter := log.Writer() currentLogFlags := log.Flags() t.Cleanup(func() { SetDefault(currentLogger) log.SetOutput(currentLogWriter) log.SetFlags(currentLogFlags) }) var logBuf bytes.Buffer log.SetOutput(&logBuf) log.SetFlags(log.Lshortfile &^ log.LstdFlags) SetDefault(New(newDefaultHandler(log.Output))) for _, pt := range []struct { in any out string }{ {(*panicTextAndJsonMarshaler)(nil), `logger_test.go:\d+: INFO msg p=`}, {panicTextAndJsonMarshaler{io.ErrUnexpectedEOF}, `logger_test.go:\d+: INFO msg p="!PANIC: unexpected EOF"`}, {panicTextAndJsonMarshaler{"panicking"}, `logger_test.go:\d+: INFO msg p="!PANIC: panicking"`}, {panicTextAndJsonMarshaler{42}, `logger_test.go:\d+: INFO msg p="!PANIC: 42"`}, } { Info("msg", "p", pt.in) checkLogOutput(t, logBuf.String(), pt.out) logBuf.Reset() } SetDefault(New(NewJSONHandler(&logBuf, nil))) for _, pt := range []struct { in any out string }{ {(*panicTextAndJsonMarshaler)(nil), `{"time":"` + jsonTimeRE + `","level":"INFO","msg":"msg","p":null}`}, {panicTextAndJsonMarshaler{io.ErrUnexpectedEOF}, `{"time":"` + jsonTimeRE + `","level":"INFO","msg":"msg","p":"!PANIC: unexpected EOF"}`}, {panicTextAndJsonMarshaler{"panicking"}, `{"time":"` + jsonTimeRE + `","level":"INFO","msg":"msg","p":"!PANIC: panicking"}`}, {panicTextAndJsonMarshaler{42}, `{"time":"` + jsonTimeRE + `","level":"INFO","msg":"msg","p":"!PANIC: 42"}`}, } { Info("msg", "p", pt.in) checkLogOutput(t, logBuf.String(), pt.out) logBuf.Reset() } } dependencies/pkg/mod/golang.org/x/exp@v0.0.0-20240506185415-9bf2ced13842/slog/example_test.go0000644000000000000000000000143615107355263026712 0ustar rootroot// Copyright 2022 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 slog_test import ( "net/http" "os" "time" "golang.org/x/exp/slog" "golang.org/x/exp/slog/internal/testutil" ) func ExampleGroup() { r, _ := http.NewRequest("GET", "localhost", nil) // ... logger := slog.New(slog.NewTextHandler(os.Stdout, &slog.HandlerOptions{ReplaceAttr: testutil.RemoveTime})) slog.SetDefault(logger) slog.Info("finished", slog.Group("req", slog.String("method", r.Method), slog.String("url", r.URL.String())), slog.Int("status", http.StatusOK), slog.Duration("duration", time.Second)) // Output: // level=INFO msg=finished req.method=GET req.url=localhost status=200 duration=1s } dependencies/pkg/mod/golang.org/x/exp@v0.0.0-20240506185415-9bf2ced13842/slog/noplog.bench0000644000000000000000000000610215107355263026163 0ustar rootrootgoos: linux goarch: amd64 pkg: golang.org/x/exp/slog cpu: Intel(R) Xeon(R) CPU @ 2.20GHz BenchmarkNopLog/attrs-8 1000000 1090 ns/op 0 B/op 0 allocs/op BenchmarkNopLog/attrs-8 1000000 1097 ns/op 0 B/op 0 allocs/op BenchmarkNopLog/attrs-8 1000000 1078 ns/op 0 B/op 0 allocs/op BenchmarkNopLog/attrs-8 1000000 1095 ns/op 0 B/op 0 allocs/op BenchmarkNopLog/attrs-8 1000000 1096 ns/op 0 B/op 0 allocs/op BenchmarkNopLog/attrs-parallel-8 4007268 308.2 ns/op 0 B/op 0 allocs/op BenchmarkNopLog/attrs-parallel-8 4016138 299.7 ns/op 0 B/op 0 allocs/op BenchmarkNopLog/attrs-parallel-8 4020529 305.9 ns/op 0 B/op 0 allocs/op BenchmarkNopLog/attrs-parallel-8 3977829 303.4 ns/op 0 B/op 0 allocs/op BenchmarkNopLog/attrs-parallel-8 3225438 318.5 ns/op 0 B/op 0 allocs/op BenchmarkNopLog/keys-values-8 1179256 994.2 ns/op 0 B/op 0 allocs/op BenchmarkNopLog/keys-values-8 1000000 1002 ns/op 0 B/op 0 allocs/op BenchmarkNopLog/keys-values-8 1216710 993.2 ns/op 0 B/op 0 allocs/op BenchmarkNopLog/keys-values-8 1000000 1013 ns/op 0 B/op 0 allocs/op BenchmarkNopLog/keys-values-8 1000000 1016 ns/op 0 B/op 0 allocs/op BenchmarkNopLog/WithContext-8 989066 1163 ns/op 0 B/op 0 allocs/op BenchmarkNopLog/WithContext-8 994116 1163 ns/op 0 B/op 0 allocs/op BenchmarkNopLog/WithContext-8 1000000 1152 ns/op 0 B/op 0 allocs/op BenchmarkNopLog/WithContext-8 991675 1165 ns/op 0 B/op 0 allocs/op BenchmarkNopLog/WithContext-8 965268 1166 ns/op 0 B/op 0 allocs/op BenchmarkNopLog/WithContext-parallel-8 3955503 303.3 ns/op 0 B/op 0 allocs/op BenchmarkNopLog/WithContext-parallel-8 3861188 307.8 ns/op 0 B/op 0 allocs/op BenchmarkNopLog/WithContext-parallel-8 3967752 303.9 ns/op 0 B/op 0 allocs/op BenchmarkNopLog/WithContext-parallel-8 3955203 302.7 ns/op 0 B/op 0 allocs/op BenchmarkNopLog/WithContext-parallel-8 3948278 301.1 ns/op 0 B/op 0 allocs/op BenchmarkNopLog/Ctx-8 940622 1247 ns/op 0 B/op 0 allocs/op BenchmarkNopLog/Ctx-8 936381 1257 ns/op 0 B/op 0 allocs/op BenchmarkNopLog/Ctx-8 959730 1266 ns/op 0 B/op 0 allocs/op BenchmarkNopLog/Ctx-8 943473 1290 ns/op 0 B/op 0 allocs/op BenchmarkNopLog/Ctx-8 919414 1259 ns/op 0 B/op 0 allocs/op PASS ok golang.org/x/exp/slog 40.566s dependencies/pkg/mod/golang.org/x/exp@v0.0.0-20240506185415-9bf2ced13842/slog/json_handler_test.go0000644000000000000000000001446615107355263027734 0ustar rootroot// Copyright 2022 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 slog import ( "bytes" "context" "encoding/json" "errors" "fmt" "io" "math" "os" "path/filepath" "strings" "testing" "time" "golang.org/x/exp/slog/internal/buffer" ) func TestJSONHandler(t *testing.T) { for _, test := range []struct { name string opts HandlerOptions want string }{ { "none", HandlerOptions{}, `{"time":"2000-01-02T03:04:05Z","level":"INFO","msg":"m","a":1,"m":{"b":2}}`, }, { "replace", HandlerOptions{ReplaceAttr: upperCaseKey}, `{"TIME":"2000-01-02T03:04:05Z","LEVEL":"INFO","MSG":"m","A":1,"M":{"b":2}}`, }, } { t.Run(test.name, func(t *testing.T) { var buf bytes.Buffer h := NewJSONHandler(&buf, &test.opts) r := NewRecord(testTime, LevelInfo, "m", 0) r.AddAttrs(Int("a", 1), Any("m", map[string]int{"b": 2})) if err := h.Handle(context.Background(), r); err != nil { t.Fatal(err) } got := strings.TrimSuffix(buf.String(), "\n") if got != test.want { t.Errorf("\ngot %s\nwant %s", got, test.want) } }) } } // for testing json.Marshaler type jsonMarshaler struct { s string } func (j jsonMarshaler) String() string { return j.s } // should be ignored func (j jsonMarshaler) MarshalJSON() ([]byte, error) { if j.s == "" { return nil, errors.New("json: empty string") } return []byte(fmt.Sprintf(`[%q]`, j.s)), nil } type jsonMarshalerError struct { jsonMarshaler } func (jsonMarshalerError) Error() string { return "oops" } func TestAppendJSONValue(t *testing.T) { // jsonAppendAttrValue should always agree with json.Marshal. for _, value := range []any{ "hello", `"[{escape}]"`, "", `-123`, int64(-9_200_123_456_789_123_456), uint64(9_200_123_456_789_123_456), -12.75, 1.23e-9, false, time.Minute, testTime, jsonMarshaler{"xyz"}, jsonMarshalerError{jsonMarshaler{"pqr"}}, LevelWarn, } { got := jsonValueString(AnyValue(value)) want, err := marshalJSON(value) if err != nil { t.Fatal(err) } if got != want { t.Errorf("%v: got %s, want %s", value, got, want) } } } func marshalJSON(x any) (string, error) { var buf bytes.Buffer enc := json.NewEncoder(&buf) enc.SetEscapeHTML(false) if err := enc.Encode(x); err != nil { return "", err } return strings.TrimSpace(buf.String()), nil } func TestJSONAppendAttrValueSpecial(t *testing.T) { // Attr values that render differently from json.Marshal. for _, test := range []struct { value any want string }{ {math.NaN(), `"!ERROR:json: unsupported value: NaN"`}, {math.Inf(+1), `"!ERROR:json: unsupported value: +Inf"`}, {math.Inf(-1), `"!ERROR:json: unsupported value: -Inf"`}, {io.EOF, `"EOF"`}, } { got := jsonValueString(AnyValue(test.value)) if got != test.want { t.Errorf("%v: got %s, want %s", test.value, got, test.want) } } } func jsonValueString(v Value) string { var buf []byte s := &handleState{h: &commonHandler{json: true}, buf: (*buffer.Buffer)(&buf)} if err := appendJSONValue(s, v); err != nil { s.appendError(err) } return string(buf) } func BenchmarkJSONHandler(b *testing.B) { for _, bench := range []struct { name string opts HandlerOptions }{ {"defaults", HandlerOptions{}}, {"time format", HandlerOptions{ ReplaceAttr: func(_ []string, a Attr) Attr { v := a.Value if v.Kind() == KindTime { return String(a.Key, v.Time().Format(rfc3339Millis)) } if a.Key == "level" { return Attr{"severity", a.Value} } return a }, }}, {"time unix", HandlerOptions{ ReplaceAttr: func(_ []string, a Attr) Attr { v := a.Value if v.Kind() == KindTime { return Int64(a.Key, v.Time().UnixNano()) } if a.Key == "level" { return Attr{"severity", a.Value} } return a }, }}, } { b.Run(bench.name, func(b *testing.B) { l := New(NewJSONHandler(io.Discard, &bench.opts)).With( String("program", "my-test-program"), String("package", "log/slog"), String("traceID", "2039232309232309"), String("URL", "https://pkg.go.dev/golang.org/x/log/slog")) b.ReportAllocs() b.ResetTimer() for i := 0; i < b.N; i++ { l.LogAttrs(nil, LevelInfo, "this is a typical log message", String("module", "github.com/google/go-cmp"), String("version", "v1.23.4"), Int("count", 23), Int("number", 123456), ) } }) } } func BenchmarkPreformatting(b *testing.B) { type req struct { Method string URL string TraceID string Addr string } structAttrs := []any{ String("program", "my-test-program"), String("package", "log/slog"), Any("request", &req{ Method: "GET", URL: "https://pkg.go.dev/golang.org/x/log/slog", TraceID: "2039232309232309", Addr: "127.0.0.1:8080", }), } outFile, err := os.Create(filepath.Join(b.TempDir(), "bench.log")) if err != nil { b.Fatal(err) } defer func() { if err := outFile.Close(); err != nil { b.Fatal(err) } }() for _, bench := range []struct { name string wc io.Writer attrs []any }{ {"separate", io.Discard, []any{ String("program", "my-test-program"), String("package", "log/slog"), String("method", "GET"), String("URL", "https://pkg.go.dev/golang.org/x/log/slog"), String("traceID", "2039232309232309"), String("addr", "127.0.0.1:8080"), }}, {"struct", io.Discard, structAttrs}, {"struct file", outFile, structAttrs}, } { b.Run(bench.name, func(b *testing.B) { l := New(NewJSONHandler(bench.wc, nil)).With(bench.attrs...) b.ReportAllocs() b.ResetTimer() for i := 0; i < b.N; i++ { l.LogAttrs(nil, LevelInfo, "this is a typical log message", String("module", "github.com/google/go-cmp"), String("version", "v1.23.4"), Int("count", 23), Int("number", 123456), ) } }) } } func BenchmarkJSONEncoding(b *testing.B) { value := 3.14 buf := buffer.New() defer buf.Free() b.Run("json.Marshal", func(b *testing.B) { b.ReportAllocs() for i := 0; i < b.N; i++ { by, err := json.Marshal(value) if err != nil { b.Fatal(err) } buf.Write(by) *buf = (*buf)[:0] } }) b.Run("Encoder.Encode", func(b *testing.B) { b.ReportAllocs() for i := 0; i < b.N; i++ { if err := json.NewEncoder(buf).Encode(value); err != nil { b.Fatal(err) } *buf = (*buf)[:0] } }) _ = buf } dependencies/pkg/mod/golang.org/x/exp@v0.0.0-20240506185415-9bf2ced13842/slog/value_120.go0000644000000000000000000000220515107355263025711 0ustar rootroot// Copyright 2022 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:build go1.20 package slog import "unsafe" type ( stringptr *byte // used in Value.any when the Value is a string groupptr *Attr // used in Value.any when the Value is a []Attr ) // StringValue returns a new Value for a string. func StringValue(value string) Value { return Value{num: uint64(len(value)), any: stringptr(unsafe.StringData(value))} } // GroupValue returns a new Value for a list of Attrs. // The caller must not subsequently mutate the argument slice. func GroupValue(as ...Attr) Value { return Value{num: uint64(len(as)), any: groupptr(unsafe.SliceData(as))} } // String returns Value's value as a string, formatted like fmt.Sprint. Unlike // the methods Int64, Float64, and so on, which panic if v is of the // wrong kind, String never panics. func (v Value) String() string { if sp, ok := v.any.(stringptr); ok { return unsafe.String(sp, v.num) } return string(v.append(nil)) } func (v Value) str() string { return unsafe.String(v.any.(stringptr), v.num) } dependencies/pkg/mod/golang.org/x/exp@v0.0.0-20240506185415-9bf2ced13842/slog/attr.go0000644000000000000000000000476715107355263025204 0ustar rootroot// Copyright 2022 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 slog import ( "fmt" "time" ) // An Attr is a key-value pair. type Attr struct { Key string Value Value } // String returns an Attr for a string value. func String(key, value string) Attr { return Attr{key, StringValue(value)} } // Int64 returns an Attr for an int64. func Int64(key string, value int64) Attr { return Attr{key, Int64Value(value)} } // Int converts an int to an int64 and returns // an Attr with that value. func Int(key string, value int) Attr { return Int64(key, int64(value)) } // Uint64 returns an Attr for a uint64. func Uint64(key string, v uint64) Attr { return Attr{key, Uint64Value(v)} } // Float64 returns an Attr for a floating-point number. func Float64(key string, v float64) Attr { return Attr{key, Float64Value(v)} } // Bool returns an Attr for a bool. func Bool(key string, v bool) Attr { return Attr{key, BoolValue(v)} } // Time returns an Attr for a time.Time. // It discards the monotonic portion. func Time(key string, v time.Time) Attr { return Attr{key, TimeValue(v)} } // Duration returns an Attr for a time.Duration. func Duration(key string, v time.Duration) Attr { return Attr{key, DurationValue(v)} } // Group returns an Attr for a Group Value. // The first argument is the key; the remaining arguments // are converted to Attrs as in [Logger.Log]. // // Use Group to collect several key-value pairs under a single // key on a log line, or as the result of LogValue // in order to log a single value as multiple Attrs. func Group(key string, args ...any) Attr { return Attr{key, GroupValue(argsToAttrSlice(args)...)} } func argsToAttrSlice(args []any) []Attr { var ( attr Attr attrs []Attr ) for len(args) > 0 { attr, args = argsToAttr(args) attrs = append(attrs, attr) } return attrs } // Any returns an Attr for the supplied value. // See [Value.AnyValue] for how values are treated. func Any(key string, value any) Attr { return Attr{key, AnyValue(value)} } // Equal reports whether a and b have equal keys and values. func (a Attr) Equal(b Attr) bool { return a.Key == b.Key && a.Value.Equal(b.Value) } func (a Attr) String() string { return fmt.Sprintf("%s=%s", a.Key, a.Value) } // isEmpty reports whether a has an empty key and a nil value. // That can be written as Attr{} or Any("", nil). func (a Attr) isEmpty() bool { return a.Key == "" && a.Value.num == 0 && a.Value.any == nil } dependencies/pkg/mod/golang.org/x/exp@v0.0.0-20240506185415-9bf2ced13842/slog/value_119.go0000644000000000000000000000274615107355263025733 0ustar rootroot// Copyright 2022 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:build go1.19 && !go1.20 package slog import ( "reflect" "unsafe" ) type ( stringptr unsafe.Pointer // used in Value.any when the Value is a string groupptr unsafe.Pointer // used in Value.any when the Value is a []Attr ) // StringValue returns a new Value for a string. func StringValue(value string) Value { hdr := (*reflect.StringHeader)(unsafe.Pointer(&value)) return Value{num: uint64(hdr.Len), any: stringptr(hdr.Data)} } func (v Value) str() string { var s string hdr := (*reflect.StringHeader)(unsafe.Pointer(&s)) hdr.Data = uintptr(v.any.(stringptr)) hdr.Len = int(v.num) return s } // String returns Value's value as a string, formatted like fmt.Sprint. Unlike // the methods Int64, Float64, and so on, which panic if v is of the // wrong kind, String never panics. func (v Value) String() string { if sp, ok := v.any.(stringptr); ok { // Inlining this code makes a huge difference. var s string hdr := (*reflect.StringHeader)(unsafe.Pointer(&s)) hdr.Data = uintptr(sp) hdr.Len = int(v.num) return s } return string(v.append(nil)) } // GroupValue returns a new Value for a list of Attrs. // The caller must not subsequently mutate the argument slice. func GroupValue(as ...Attr) Value { hdr := (*reflect.SliceHeader)(unsafe.Pointer(&as)) return Value{num: uint64(hdr.Len), any: groupptr(hdr.Data)} } dependencies/pkg/mod/golang.org/x/exp@v0.0.0-20240506185415-9bf2ced13842/PATENTS0000644000000000000000000000242715107355263023767 0ustar rootrootAdditional 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. dependencies/pkg/mod/golang.org/x/exp@v0.0.0-20240506185415-9bf2ced13842/inotify/0000755000000000000000000000000015107355263024402 5ustar rootrootdependencies/pkg/mod/golang.org/x/exp@v0.0.0-20240506185415-9bf2ced13842/inotify/README.txt0000644000000000000000000000012215107355263026073 0ustar rootrootPlease use gopkg.in/fsnotify.v0 instead. For updates, see: https://fsnotify.org/ dependencies/pkg/mod/golang.org/x/exp@v0.0.0-20240506185415-9bf2ced13842/go.mod0000644000000000000000000000026315107355263024030 0ustar rootrootmodule golang.org/x/exp go 1.20 require ( github.com/google/go-cmp v0.6.0 golang.org/x/mod v0.17.0 golang.org/x/tools v0.21.0 ) require golang.org/x/sync v0.7.0 // indirect dependencies/pkg/mod/golang.org/x/exp@v0.0.0-20240506185415-9bf2ced13842/codereview.cfg0000644000000000000000000000002515107355263025533 0ustar rootrootissuerepo: golang/go dependencies/pkg/mod/golang.org/x/exp@v0.0.0-20240506185415-9bf2ced13842/go.sum0000644000000000000000000000116615107355263024060 0ustar rootrootgithub.com/google/go-cmp v0.6.0 h1:ofyhxvXcZhMsU5ulbFiLKl/XBFqE1GSq7atu8tAmTRI= github.com/google/go-cmp v0.6.0/go.mod h1:17dUlkBOakJ0+DkrSSNjCkIjxS6bF9zb3elmeNGIjoY= golang.org/x/mod v0.17.0 h1:zY54UmvipHiNd+pm+m0x9KhZ9hl1/7QNMyxXbc6ICqA= golang.org/x/mod v0.17.0/go.mod h1:hTbmBsO62+eylJbnUtE2MGJUyE7QWk4xUqPFrRgJ+7c= golang.org/x/sync v0.7.0 h1:YsImfSBoP9QPYL0xyKJPq0gcaJdG3rInoqxTWbfQu9M= golang.org/x/sync v0.7.0/go.mod h1:Czt+wKu1gCyEFDUtn0jG5QVvpJ6rzVqr5aXyt9drQfk= golang.org/x/tools v0.21.0 h1:qc0xYgIbsSDt9EyWz05J5wfa7LOVW0YTLOXrqdLAWIw= golang.org/x/tools v0.21.0/go.mod h1:aiJjzUbINMkxbQROHiO6hDPo2LHcIPhhQsa9DLh0yGk= dependencies/pkg/mod/golang.org/x/exp@v0.0.0-20240506185415-9bf2ced13842/cmd/0000755000000000000000000000000015107355263023464 5ustar rootrootdependencies/pkg/mod/golang.org/x/exp@v0.0.0-20240506185415-9bf2ced13842/cmd/txtar/0000755000000000000000000000000015107355263024626 5ustar rootrootdependencies/pkg/mod/golang.org/x/exp@v0.0.0-20240506185415-9bf2ced13842/cmd/txtar/txtar.go0000644000000000000000000001402115107355263026315 0ustar rootroot// Copyright 2020 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 txtar command writes or extracts a text-based file archive in the format // provided by the golang.org/x/tools/txtar package. // // The default behavior is to read a comment from stdin and write the archive // file containing the recursive contents of the named files and directories, // including hidden files, to stdout. Any non-flag arguments to the command name // the files and/or directories to include, with the contents of directories // included recursively. An empty argument list is equivalent to ".". // // The --extract (or -x) flag instructs txtar to instead read the archive file // from stdin and extract all of its files to corresponding locations relative // to the current, writing the archive's comment to stdout. // // The --list flag instructs txtar to instead read the archive file from stdin // and list all of its files to stdout. Note that shell variables in paths are // not expanded in this mode. // // Archive files are by default extracted only to the current directory or its // subdirectories. To allow extracting outside the current directory, use the // --unsafe flag. // // When extracting, shell variables in paths are expanded (using os.Expand) if // the corresponding variable is set in the process environment. When writing an // archive, the variables (before expansion) are preserved in the archived paths. // // Example usage: // // txtar *.go testdata/example.txt // // txtar --extract main.go package main import ( "bytes" "flag" "fmt" "io" "os" "path" "path/filepath" "regexp" "strings" "time" "golang.org/x/tools/txtar" ) var ( extractFlag = flag.Bool("extract", false, "if true, extract files from the archive instead of writing to it") listFlag = flag.Bool("list", false, "if true, list files from the archive instead of writing to it") unsafeFlag = flag.Bool("unsafe", false, "allow extraction of files outside the current directory") ) func init() { flag.BoolVar(extractFlag, "x", *extractFlag, "short alias for --extract") } func main() { flag.Parse() var err error switch { case *extractFlag: if len(flag.Args()) > 0 { fmt.Fprintln(os.Stderr, "Usage: txtar --extract 0 { fmt.Fprintln(os.Stderr, "Usage: txtar --list 0 { os.Stdout.Write(ar.Comment) } return nil } func list() (err error) { b, err := io.ReadAll(os.Stdin) if err != nil { return err } ar := txtar.Parse(b) for _, f := range ar.Files { fmt.Println(f.Name) } return nil } func archive(paths []string) (err error) { txtarHeader := regexp.MustCompile(`(?m)^-- .* --$`) ar := new(txtar.Archive) for _, p := range paths { root := filepath.Clean(expand(p)) prefix := root + string(filepath.Separator) err := filepath.Walk(root, func(fileName string, info os.FileInfo, err error) error { if err != nil || info.IsDir() { return err } suffix := "" if fileName != root { suffix = strings.TrimPrefix(fileName, prefix) } name := filepath.ToSlash(filepath.Join(p, suffix)) data, err := os.ReadFile(fileName) if err != nil { return err } if txtarHeader.Match(data) { return fmt.Errorf("cannot archive %s: file contains a txtar header", name) } ar.Files = append(ar.Files, txtar.File{Name: name, Data: data}) return nil }) if err != nil { return err } } // After we have read all of the source files, read the comment from stdin. // // Wait until the read has been blocked for a while before prompting the user // to enter it: if they are piping the comment in from some other file, the // read should complete very quickly and there is no need for a prompt. // (200ms is typically long enough to read a reasonable comment from the local // machine, but short enough that humans don't notice it.) // // Don't prompt until we have successfully read the other files: // if we encountered an error, we don't need to ask for a comment. timer := time.AfterFunc(200*time.Millisecond, func() { fmt.Fprintln(os.Stderr, "Enter comment:") }) comment, err := io.ReadAll(os.Stdin) timer.Stop() if err != nil { return fmt.Errorf("reading comment from %s: %v", os.Stdin.Name(), err) } ar.Comment = bytes.TrimSpace(comment) _, err = os.Stdout.Write(txtar.Format(ar)) return err } // expand is like os.ExpandEnv, but preserves unescaped variables (instead // of escaping them to the empty string) if the variable is not set. func expand(p string) string { return os.Expand(p, func(key string) string { v, ok := os.LookupEnv(key) if !ok { return "$" + key } return v }) } dependencies/pkg/mod/golang.org/x/exp@v0.0.0-20240506185415-9bf2ced13842/cmd/txtar/txtar_test.go0000644000000000000000000001173115107355263027361 0ustar rootroot// Copyright 2020 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_test import ( "fmt" "os" "os/exec" "path/filepath" "runtime" "strings" "sync" "testing" ) const comment = "This is a txtar archive.\n" const testdata = `This is a txtar archive. -- one.txt -- one -- dir/two.txt -- two -- $SPECIAL_LOCATION/three.txt -- three ` var filelist = ` one.txt dir/two.txt $SPECIAL_LOCATION/three.txt `[1:] func TestMain(m *testing.M) { code := m.Run() txtarBin.once.Do(func() {}) if txtarBin.name != "" { os.Remove(txtarBin.name) } os.Exit(code) } func TestRoundTrip(t *testing.T) { os.Setenv("SPECIAL_LOCATION", "special") defer os.Unsetenv("SPECIAL_LOCATION") // Expand the testdata archive into a temporary directory. parentDir, err := os.MkdirTemp("", "txtar") if err != nil { t.Fatal(err) } defer os.RemoveAll(parentDir) dir := filepath.Join(parentDir, "dir") if err := os.Mkdir(dir, 0755); err != nil { t.Fatal(err) } if out, err := txtar(t, dir, testdata, "--list"); err != nil { t.Fatal(err) } else if out != filelist { t.Fatalf("txtar --list: stdout:\n%s\nwant:\n%s", out, filelist) } if entries, err := os.ReadDir(dir); err != nil { t.Fatal(err) } else if len(entries) > 0 { t.Fatalf("txtar --list: did not expect any extracted files") } if out, err := txtar(t, dir, testdata, "--extract"); err != nil { t.Fatal(err) } else if out != comment { t.Fatalf("txtar --extract: stdout:\n%s\nwant:\n%s", out, comment) } // Now, re-archive its contents explicitly and ensure that the result matches // the original. args := []string{"one.txt", "dir", "$SPECIAL_LOCATION"} if out, err := txtar(t, dir, comment, args...); err != nil { t.Fatal(err) } else if out != testdata { t.Fatalf("txtar %s: archive:\n%s\n\nwant:\n%s", strings.Join(args, " "), out, testdata) } } func TestUnsafePaths(t *testing.T) { // Set up temporary directories for test archives. parentDir, err := os.MkdirTemp("", "txtar") if err != nil { t.Fatal(err) } defer os.RemoveAll(parentDir) dir := filepath.Join(parentDir, "dir") if err := os.Mkdir(dir, 0755); err != nil { t.Fatal(err) } // Test --unsafe option for both absolute and relative paths testcases := []struct{ name, path string }{ {"Absolute", filepath.Join(parentDir, "dirSpecial")}, {"Relative", "../special"}, } for _, tc := range testcases { t.Run(tc.name, func(t *testing.T) { // Set SPECIAL_LOCATION outside the current directory t.Setenv("SPECIAL_LOCATION", tc.path) // Expand the testdata archive into a temporary directory. // Should fail without the --unsafe flag if _, err := txtar(t, dir, testdata, "--extract"); err == nil { t.Fatalf("txtar --extract: extracts to unsafe paths") } // Should allow paths outside the current dir with the --unsafe flags out, err := txtar(t, dir, testdata, "--extract", "--unsafe") if err != nil { t.Fatal(err) } if out != comment { t.Fatalf("txtar --extract --unsafe: stdout:\n%s\nwant:\n%s", out, comment) } // Now, re-archive its contents explicitly and ensure that the result matches // the original. args := []string{"one.txt", "dir", "$SPECIAL_LOCATION"} out, err = txtar(t, dir, comment, args...) if err != nil { t.Fatal(err) } if out != testdata { t.Fatalf("txtar %s: archive:\n%s\n\nwant:\n%s", strings.Join(args, " "), out, testdata) } }) } } // txtar runs the txtar command in the given directory with the given input and // arguments. func txtar(t *testing.T, dir, input string, args ...string) (string, error) { t.Helper() cmd := exec.Command(txtarName(t), args...) cmd.Dir = dir cmd.Env = append(os.Environ(), "PWD="+dir) cmd.Stdin = strings.NewReader(input) stderr := new(strings.Builder) cmd.Stderr = stderr out, err := cmd.Output() if err != nil { return "", fmt.Errorf("%s: %v\n%s", strings.Join(cmd.Args, " "), err, stderr) } if stderr.String() != "" { t.Logf("OK: %s\n%s", strings.Join(cmd.Args, " "), stderr) } return string(out), nil } var txtarBin struct { once sync.Once name string err error } // txtarName returns the name of the txtar executable, building it if needed. func txtarName(t *testing.T) string { t.Helper() if _, err := exec.LookPath("go"); err != nil { t.Skipf("cannot build txtar binary: %v", err) } txtarBin.once.Do(func() { exe, err := os.CreateTemp("", "txtar-*.exe") if err != nil { txtarBin.err = err return } exe.Close() txtarBin.name = exe.Name() cmd := exec.Command("go", "build", "-o", txtarBin.name, ".") out, err := cmd.CombinedOutput() if err != nil { txtarBin.err = fmt.Errorf("%s: %v\n%s", strings.Join(cmd.Args, " "), err, out) } }) if txtarBin.err != nil { if runtime.GOOS == "android" { t.Skipf("skipping test after failing to build txtar binary: go_android_exec may have failed to copy needed dependencies (see https://golang.org/issue/37088)") } t.Fatal(txtarBin.err) } return txtarBin.name } dependencies/pkg/mod/golang.org/x/exp@v0.0.0-20240506185415-9bf2ced13842/cmd/modgraphviz/0000755000000000000000000000000015107355263026016 5ustar rootroot././@LongLink0000644000000000000000000000014600000000000011604 Lustar rootrootdependencies/pkg/mod/golang.org/x/exp@v0.0.0-20240506185415-9bf2ced13842/cmd/modgraphviz/main_test.godependencies/pkg/mod/golang.org/x/exp@v0.0.0-20240506185415-9bf2ced13842/cmd/modgraphviz/main_test.g0000644000000000000000000000661315107355263030157 0ustar rootroot// Copyright 2019 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" "fmt" "reflect" "testing" ) func TestRun(t *testing.T) { out := &bytes.Buffer{} in := bytes.NewBuffer([]byte(` test.com/A@v1.0.0 test.com/B@v1.2.3 test.com/B@v1.0.0 test.com/C@v4.5.6 `)) if err := modgraphviz(in, out); err != nil { t.Fatal(err) } gotGraph := string(out.Bytes()) wantGraph := `digraph gomodgraph { node [ shape=rectangle fontsize=12 ] "test.com/A@v1.0.0" -> "test.com/B@v1.2.3" "test.com/B@v1.0.0" -> "test.com/C@v4.5.6" "test.com/A@v1.0.0" [style = filled, fillcolor = green] "test.com/B@v1.2.3" [style = filled, fillcolor = green] "test.com/C@v4.5.6" [style = filled, fillcolor = green] "test.com/B@v1.0.0" [style = filled, fillcolor = gray] } ` if gotGraph != wantGraph { t.Fatalf("\ngot: %s\nwant: %s", gotGraph, wantGraph) } } func TestMVSPicking(t *testing.T) { for _, tc := range []struct { name string in []string wantPicked []string wantUnpicked []string }{ { name: "single node", in: []string{"foo@v0.0.1"}, wantPicked: []string{"foo@v0.0.1"}, wantUnpicked: nil, }, { name: "duplicate same node", in: []string{"foo@v0.0.1", "foo@v0.0.1"}, wantPicked: []string{"foo@v0.0.1"}, wantUnpicked: nil, }, { name: "multiple semver - same major", in: []string{"foo@v1.0.0", "foo@v1.3.7", "foo@v1.2.0", "foo@v1.0.1"}, wantPicked: []string{"foo@v1.3.7"}, wantUnpicked: []string{"foo@v1.0.0", "foo@v1.2.0", "foo@v1.0.1"}, }, { name: "multiple semver - multiple major", in: []string{"foo@v1.0.0", "foo@v1.3.7", "foo/v2@v2.2.0", "foo/v2@v2.0.1", "foo@v1.1.1"}, wantPicked: []string{"foo/v2@v2.2.0", "foo@v1.3.7"}, wantUnpicked: []string{"foo@v1.0.0", "foo/v2@v2.0.1", "foo@v1.1.1"}, }, { name: "semver and pseudo version", in: []string{"foo@v1.0.0", "foo@v1.3.7", "foo/v2@v2.2.0", "foo/v2@v2.0.1", "foo@v1.1.1", "foo@v0.0.0-20190311183353-d8887717615a"}, wantPicked: []string{"foo/v2@v2.2.0", "foo@v1.3.7"}, wantUnpicked: []string{"foo@v1.0.0", "foo/v2@v2.0.1", "foo@v1.1.1", "foo@v0.0.0-20190311183353-d8887717615a"}, }, { name: "multiple pseudo version", in: []string{ "foo@v0.0.0-20190311183353-d8887717615a", "foo@v0.0.0-20190227222117-0694c2d4d067", "foo@v0.0.0-20190312151545-0bb0c0a6e846", }, wantPicked: []string{"foo@v0.0.0-20190312151545-0bb0c0a6e846"}, wantUnpicked: []string{ "foo@v0.0.0-20190227222117-0694c2d4d067", "foo@v0.0.0-20190311183353-d8887717615a", }, }, { name: "semver and suffix", in: []string{"foo@v1.0.0", "foo@v1.3.8-rc1", "foo@v1.3.7"}, wantPicked: []string{"foo@v1.3.8-rc1"}, wantUnpicked: []string{"foo@v1.0.0", "foo@v1.3.7"}, }, } { t.Run(tc.name, func(t *testing.T) { buf := bytes.Buffer{} for _, node := range tc.in { fmt.Fprintf(&buf, "A %s\n", node) } g, err := convert(&buf) if err != nil { t.Fatal(err) } if !reflect.DeepEqual(g.mvsPicked, tc.wantPicked) { t.Fatalf("picked: got %v, want %v", g.mvsPicked, tc.wantPicked) } if !reflect.DeepEqual(g.mvsUnpicked, tc.wantUnpicked) { t.Fatalf("unpicked: got %v, want %v", g.mvsUnpicked, tc.wantUnpicked) } }) } } dependencies/pkg/mod/golang.org/x/exp@v0.0.0-20240506185415-9bf2ced13842/cmd/modgraphviz/main.go0000644000000000000000000001023315107355263027270 0ustar rootroot// Copyright 2019 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. // Modgraphviz converts “go mod graph” output into Graphviz's DOT language, // for use with Graphviz visualization and analysis tools like dot, dotty, and sccmap. // // Usage: // // go mod graph | modgraphviz > graph.dot // go mod graph | modgraphviz | dot -Tpng -o graph.png // // Modgraphviz takes no options or arguments; it reads a graph in the format // generated by “go mod graph” on standard input and writes DOT language // on standard output. // // For each module, the node representing the greatest version (i.e., the // version chosen by Go's minimal version selection algorithm) is colored green. // Other nodes, which aren't in the final build list, are colored grey. // // See http://www.graphviz.org/doc/info/lang.html for details of the DOT language // and http://www.graphviz.org/about/ for Graphviz itself. // // See also golang.org/x/tools/cmd/digraph for general queries and analysis // of “go mod graph” output. package main import ( "bufio" "bytes" "flag" "fmt" "io" "log" "os" "sort" "strings" "golang.org/x/mod/semver" ) func usage() { fmt.Fprintf(os.Stderr, `Usage: go mod graph | modgraphviz | dot -Tpng -o graph.png For each module, the node representing the greatest version (i.e., the version chosen by Go's minimal version selection algorithm) is colored green. Other nodes, which aren't in the final build list, are colored grey. `) os.Exit(2) } func main() { log.SetFlags(0) log.SetPrefix("modgraphviz: ") flag.Usage = usage flag.Parse() if flag.NArg() != 0 { usage() } if err := modgraphviz(os.Stdin, os.Stdout); err != nil { log.Fatal(err) } } func modgraphviz(in io.Reader, out io.Writer) error { graph, err := convert(in) if err != nil { return err } fmt.Fprintf(out, "digraph gomodgraph {\n") fmt.Fprintf(out, "\tnode [ shape=rectangle fontsize=12 ]\n") out.Write(graph.edgesAsDOT()) for _, n := range graph.mvsPicked { fmt.Fprintf(out, "\t%q [style = filled, fillcolor = green]\n", n) } for _, n := range graph.mvsUnpicked { fmt.Fprintf(out, "\t%q [style = filled, fillcolor = gray]\n", n) } fmt.Fprintf(out, "}\n") return nil } type edge struct{ from, to string } type graph struct { edges []edge mvsPicked []string mvsUnpicked []string } // convert reads “go mod graph” output from r and returns a graph, recording // MVS picked and unpicked nodes along the way. func convert(r io.Reader) (*graph, error) { scanner := bufio.NewScanner(r) var g graph seen := map[string]bool{} mvsPicked := map[string]string{} // module name -> module version for scanner.Scan() { l := scanner.Text() if l == "" { continue } parts := strings.Fields(l) if len(parts) != 2 { return nil, fmt.Errorf("expected 2 words in line, but got %d: %s", len(parts), l) } from := parts[0] to := parts[1] g.edges = append(g.edges, edge{from: from, to: to}) for _, node := range []string{from, to} { if _, ok := seen[node]; ok { // Skip over nodes we've already seen. continue } seen[node] = true var m, v string if i := strings.IndexByte(node, '@'); i >= 0 { m, v = node[:i], node[i+1:] } else { // Root node doesn't have a version. continue } if maxV, ok := mvsPicked[m]; ok { if semver.Compare(maxV, v) < 0 { // This version is higher - replace it and consign the old // max to the unpicked list. g.mvsUnpicked = append(g.mvsUnpicked, m+"@"+maxV) mvsPicked[m] = v } else { // Other version is higher - stick this version in the // unpicked list. g.mvsUnpicked = append(g.mvsUnpicked, node) } } else { mvsPicked[m] = v } } } if err := scanner.Err(); err != nil { return nil, err } for m, v := range mvsPicked { g.mvsPicked = append(g.mvsPicked, m+"@"+v) } // Make this function deterministic. sort.Strings(g.mvsPicked) return &g, nil } // edgesAsDOT returns the edges in DOT notation. func (g *graph) edgesAsDOT() []byte { var buf bytes.Buffer for _, e := range g.edges { fmt.Fprintf(&buf, "\t%q -> %q\n", e.from, e.to) } return buf.Bytes() } dependencies/pkg/mod/golang.org/x/exp@v0.0.0-20240506185415-9bf2ced13842/cmd/gorelease/0000755000000000000000000000000015107355263025432 5ustar rootrootdependencies/pkg/mod/golang.org/x/exp@v0.0.0-20240506185415-9bf2ced13842/cmd/gorelease/errors.go0000644000000000000000000000365015107355263027301 0ustar rootroot// Copyright 2019 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 ( "errors" "flag" "fmt" "os/exec" "strings" "golang.org/x/mod/module" ) type usageError struct { err error } func usageErrorf(format string, args ...interface{}) error { return &usageError{err: fmt.Errorf(format, args...)} } const usageText = `usage: gorelease [-base=version] [-version=version]` func (e *usageError) Error() string { msg := "" if !errors.Is(e.err, flag.ErrHelp) { msg = e.err.Error() } return usageText + "\n" + msg + "\nFor more information, run go doc golang.org/x/exp/cmd/gorelease" } type baseVersionError struct { err error modPath string } func (e *baseVersionError) Error() string { firstVersion := "v0.1.0" _, major, _ := module.SplitPathVersion(e.modPath) if major != "" { firstVersion = major[1:] + ".0.0" } return fmt.Sprintf("could not find base version. Consider setting -version=%s if this is a first release, or explicitly set -base=none: %v", firstVersion, e.err) } func (e *baseVersionError) Unwrap() error { return e.err } type downloadError struct { m module.Version err error } func (e *downloadError) Error() string { msg := e.err.Error() sep := " " if strings.Contains(msg, "\n") { sep = "\n" } return fmt.Sprintf("error downloading module %s@%s:%s%s", e.m.Path, e.m.Version, sep, msg) } // cleanCmdError simplifies error messages from os/exec.Cmd.Run. // For ExitErrors, it trims and returns stderr. This is useful for go commands // that print well-formatted errors. By default, ExitError prints the exit // status but not stderr. // // cleanCmdError returns other errors unmodified. func cleanCmdError(err error) error { if xerr, ok := err.(*exec.ExitError); ok { if stderr := strings.TrimSpace(string(xerr.Stderr)); stderr != "" { return errors.New(stderr) } } return err } dependencies/pkg/mod/golang.org/x/exp@v0.0.0-20240506185415-9bf2ced13842/cmd/gorelease/proxy_test.go0000644000000000000000000001337215107355263030207 0ustar rootroot// Copyright 2019 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" "fmt" "io" "os" "path/filepath" "sort" "strings" "time" "golang.org/x/mod/module" "golang.org/x/mod/semver" "golang.org/x/mod/zip" "golang.org/x/tools/txtar" ) // buildProxyDir constructs a temporary directory suitable for use as a // module proxy with a file:// URL. The caller is responsible for deleting // the directory when it's no longer needed. // // proxyVersions must be a map of module version true. If proxyVersions is // empty, all modules in mod/ will be included in the proxy list. If proxy // versions is non-empty, only those modules in mod/ that match an entry in // proxyVersions will be included. func buildProxyDir(proxyVersions map[module.Version]bool, tests []*test) (proxyDir, proxyURL string, err error) { proxyDir, err = os.MkdirTemp("", "gorelease-proxy") if err != nil { return "", "", err } txtarPaths, err := filepath.Glob(filepath.FromSlash("testdata/mod/*.txt")) if err != nil { return "", "", err } // Map of modPath to versions for that modPath. versionLists := make(map[string][]string) for _, t := range tests { versionLists[t.modPath] = []string{} modDir := filepath.Join(proxyDir, t.modPath, "@v") if err := os.MkdirAll(modDir, 0777); err != nil { return "", "", err } } for _, txtarPath := range txtarPaths { base := filepath.Base(txtarPath) stem := base[:len(base)-len(".txt")] i := strings.LastIndexByte(base, '_') if i < 0 { return "", "", fmt.Errorf("invalid module archive: %s", base) } modPath := strings.ReplaceAll(stem[:i], "_", "/") version := stem[i+1:] mv := module.Version{ Path: modPath, Version: version, } // User has supplied proxyVersions. Honor proxy versions by only // accepting those versions supplied in proxyVersions. if len(proxyVersions) > 0 { if !proxyVersions[mv] { // modPath@version is not in proxyVersions: skip. continue } } versionLists[modPath] = append(versionLists[modPath], version) modDir := filepath.Join(proxyDir, modPath, "@v") if err := os.MkdirAll(modDir, 0777); err != nil { return "", "", err } arc, err := txtar.ParseFile(txtarPath) if err != nil { return "", "", err } isCanonical := version == module.CanonicalVersion(version) var zipContents []zip.File var haveInfo, haveMod bool var goMod txtar.File for _, af := range arc.Files { if !isCanonical && af.Name != ".info" { return "", "", fmt.Errorf("%s: version is non-canonical but contains files other than .info", txtarPath) } if af.Name == ".info" || af.Name == ".mod" { if af.Name == ".info" { haveInfo = true } else { haveMod = true } outPath := filepath.Join(modDir, version+af.Name) if err := os.WriteFile(outPath, af.Data, 0666); err != nil { return "", "", err } continue } if af.Name == "go.mod" { goMod = af } zipContents = append(zipContents, txtarFile{af}) } if !isCanonical && !haveInfo { return "", "", fmt.Errorf("%s: version is non-canonical but does not have .info", txtarPath) } if !haveInfo { outPath := filepath.Join(modDir, version+".info") outContent := fmt.Sprintf(`{"Version":"%s"}`, version) if err := os.WriteFile(outPath, []byte(outContent), 0666); err != nil { return "", "", err } } if !haveMod && goMod.Name != "" { outPath := filepath.Join(modDir, version+".mod") if err := os.WriteFile(outPath, goMod.Data, 0666); err != nil { return "", "", err } } if len(zipContents) > 0 { zipPath := filepath.Join(modDir, version+".zip") zipFile, err := os.Create(zipPath) if err != nil { return "", "", err } defer zipFile.Close() if err := zip.Create(zipFile, module.Version{Path: modPath, Version: version}, zipContents); err != nil { return "", "", err } if err := zipFile.Close(); err != nil { return "", "", err } } } buf := &bytes.Buffer{} for modPath, versions := range versionLists { outPath := filepath.Join(proxyDir, modPath, "@v", "list") sort.Slice(versions, func(i, j int) bool { return semver.Compare(versions[i], versions[j]) < 0 }) for _, v := range versions { fmt.Fprintln(buf, v) } if err := os.WriteFile(outPath, buf.Bytes(), 0666); err != nil { return "", "", err } buf.Reset() } // Make sure the URL path starts with a slash on Windows. Absolute paths // normally start with a drive letter. // TODO(golang.org/issue/32456): use url.FromFilePath when implemented. if strings.HasPrefix(proxyDir, "/") { proxyURL = "file://" + proxyDir } else { proxyURL = "file:///" + filepath.FromSlash(proxyDir) } return proxyDir, proxyURL, nil } type txtarFile struct { f txtar.File } func (f txtarFile) Path() string { return f.f.Name } func (f txtarFile) Lstat() (os.FileInfo, error) { return txtarFileInfo{f.f}, nil } func (f txtarFile) Open() (io.ReadCloser, error) { return io.NopCloser(bytes.NewReader(f.f.Data)), nil } type txtarFileInfo struct { f txtar.File } func (f txtarFileInfo) Name() string { return f.f.Name } func (f txtarFileInfo) Size() int64 { return int64(len(f.f.Data)) } func (f txtarFileInfo) Mode() os.FileMode { return 0444 } func (f txtarFileInfo) ModTime() time.Time { return time.Time{} } func (f txtarFileInfo) IsDir() bool { return false } func (f txtarFileInfo) Sys() interface{} { return nil } func extractTxtar(destDir string, arc *txtar.Archive) error { for _, f := range arc.Files { outPath := filepath.Join(destDir, f.Name) if err := os.MkdirAll(filepath.Dir(outPath), 0777); err != nil { return err } if err := os.WriteFile(outPath, f.Data, 0666); err != nil { return err } } return nil } dependencies/pkg/mod/golang.org/x/exp@v0.0.0-20240506185415-9bf2ced13842/cmd/gorelease/gorelease.go0000644000000000000000000014565015107355263027742 0ustar rootroot// Copyright 2019 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. // gorelease is an experimental tool that helps module authors avoid common // problems before releasing a new version of a module. // // Usage: // // gorelease [-base={version|none}] [-version=version] // // Examples: // // # Compare with the latest version and suggest a new version. // gorelease // // # Compare with a specific version and suggest a new version. // gorelease -base=v1.2.3 // // # Compare with the latest version and check a specific new version for compatibility. // gorelease -version=v1.3.0 // // # Compare with a specific version and check a specific new version for compatibility. // gorelease -base=v1.2.3 -version=v1.3.0 // // gorelease analyzes changes in the public API and dependencies of the main // module. It compares a base version (set with -base) with the currently // checked out revision. Given a proposed version to release (set with // -version), gorelease reports whether the changes are consistent with // semantic versioning. If no version is proposed with -version, gorelease // suggests the lowest version consistent with semantic versioning. // // If there are no visible changes in the module's public API, gorelease // accepts versions that increment the minor or patch version numbers. For // example, if the base version is "v2.3.1", gorelease would accept "v2.3.2" or // "v2.4.0" or any prerelease of those versions, like "v2.4.0-beta". If no // version is proposed, gorelease would suggest "v2.3.2". // // If there are only backward compatible differences in the module's public // API, gorelease only accepts versions that increment the minor version. For // example, if the base version is "v2.3.1", gorelease would accept "v2.4.0" // but not "v2.3.2". // // If there are incompatible API differences for a proposed version with // major version 1 or higher, gorelease will exit with a non-zero status. // Incompatible differences may only be released in a new major version, which // requires creating a module with a different path. For example, if // incompatible changes are made in the module "example.com/mod", a // new major version must be released as a new module, "example.com/mod/v2". // For a proposed version with major version 0, which allows incompatible // changes, gorelease will describe all changes, but incompatible changes // will not affect its exit status. // // For more information on semantic versioning, see https://semver.org. // // Note: gorelease does not accept build metadata in releases (like // v1.0.0+debug). Although it is valid semver, the Go tool and other tools in // the ecosystem do not support it, so its use is not recommended. // // gorelease accepts the following flags: // // -base=version: The version that the current version of the module will be // compared against. This may be a version like "v1.5.2", a version query like // "latest", or "none". If the version is "none", gorelease will not compare the // current version against any previous version; it will only validate the // current version. This is useful for checking the first release of a new major // version. The version may be preceded by a different module path and an '@', // like -base=example.com/mod/v2@v2.5.2. This is useful to compare against // an earlier major version or a fork. If -base is not specified, gorelease will // attempt to infer a base version from the -version flag and available released // versions. // // -version=version: The proposed version to be released. If specified, // gorelease will confirm whether this version is consistent with changes made // to the module's public API. gorelease will exit with a non-zero status if the // version is not valid. // // gorelease is eventually intended to be merged into the go command // as "go release". See golang.org/issues/26420. package main import ( "bytes" "context" "encoding/json" "errors" "flag" "fmt" "go/build" "io" "log" "os" "os/exec" "path" "path/filepath" "sort" "strings" "unicode" "golang.org/x/exp/apidiff" "golang.org/x/mod/modfile" "golang.org/x/mod/module" "golang.org/x/mod/semver" "golang.org/x/mod/zip" "golang.org/x/tools/go/packages" ) // IDEAS: // * Should we suggest versions at all or should -version be mandatory? // * Verify downstream modules have licenses. May need an API or library // for this. Be clear that we can't provide legal advice. // * Internal packages may be relevant to submodules (for example, // golang.org/x/tools/internal/lsp is imported by golang.org/x/tools). // gorelease should detect whether this is the case and include internal // directories in comparison. It should be possible to opt out or specify // a different list of submodules. // * Decide what to do about build constraints, particularly GOOS and GOARCH. // The API may be different on some platforms (e.g., x/sys). // Should gorelease load packages in multiple configurations in the same run? // Is it a compatible change if the same API is available for more platforms? // Is it an incompatible change for fewer? // How about cgo? Is adding a new cgo dependency an incompatible change? // * Support splits and joins of nested modules. For example, if we are // proposing to tag a particular commit as both cloud.google.com/go v0.46.2 // and cloud.google.com/go/storage v1.0.0, we should ensure that the sets of // packages provided by those modules are disjoint, and we should not report // the packages moved from one to the other as an incompatible change (since // the APIs are still compatible, just with a different module split). // TODO(jayconrod): // * Clean up overuse of fmt.Errorf. // * Support migration to modules after v2.x.y+incompatible. Requires comparing // packages with different module paths. // * Error when packages import from earlier major version of same module. // (this may be intentional; look for real examples first). // * Mechanism to suppress error messages. func main() { log.SetFlags(0) log.SetPrefix("gorelease: ") wd, err := os.Getwd() if err != nil { log.Fatal(err) } ctx := context.WithValue(context.Background(), "env", append(os.Environ(), "GO111MODULE=on")) success, err := runRelease(ctx, os.Stdout, wd, os.Args[1:]) if err != nil { if _, ok := err.(*usageError); ok { fmt.Fprintln(os.Stderr, err) os.Exit(2) } else { log.Fatal(err) } } if !success { os.Exit(1) } } // runRelease is the main function of gorelease. It's called by tests, so // it writes to w instead of os.Stdout and returns an error instead of // exiting. func runRelease(ctx context.Context, w io.Writer, dir string, args []string) (success bool, err error) { // Validate arguments and flags. We'll print our own errors, since we want to // test without printing to stderr. fs := flag.NewFlagSet("gorelease", flag.ContinueOnError) fs.Usage = func() {} fs.SetOutput(io.Discard) var baseOpt, releaseVersion string fs.StringVar(&baseOpt, "base", "", "previous version to compare against") fs.StringVar(&releaseVersion, "version", "", "proposed version to be released") if err := fs.Parse(args); err != nil { return false, &usageError{err: err} } if len(fs.Args()) > 0 { return false, usageErrorf("no arguments allowed") } if releaseVersion != "" { if semver.Build(releaseVersion) != "" { return false, usageErrorf("release version %q is not a canonical semantic version: build metadata is not supported", releaseVersion) } if c := semver.Canonical(releaseVersion); c != releaseVersion { return false, usageErrorf("release version %q is not a canonical semantic version", releaseVersion) } } var baseModPath, baseVersion string if at := strings.Index(baseOpt, "@"); at >= 0 { baseModPath = baseOpt[:at] baseVersion = baseOpt[at+1:] } else if dot, slash := strings.Index(baseOpt, "."), strings.Index(baseOpt, "/"); dot >= 0 && slash >= 0 && dot < slash { baseModPath = baseOpt } else { baseVersion = baseOpt } if baseModPath == "" { if baseVersion != "" && semver.Canonical(baseVersion) == baseVersion && releaseVersion != "" { if cmp := semver.Compare(baseOpt, releaseVersion); cmp == 0 { return false, usageErrorf("-base and -version must be different") } else if cmp > 0 { return false, usageErrorf("base version (%q) must be lower than release version (%q)", baseVersion, releaseVersion) } } } else if baseModPath != "" && baseVersion == "none" { return false, usageErrorf(`base version (%q) cannot have version "none" with explicit module path`, baseOpt) } // Find the local module and repository root directories. modRoot, err := findModuleRoot(dir) if err != nil { return false, err } repoRoot := findRepoRoot(modRoot) // Load packages for the version to be released from the local directory. release, err := loadLocalModule(ctx, modRoot, repoRoot, releaseVersion) if err != nil { return false, err } // Find the base version if there is one, download it, and load packages from // the module cache. var max string if baseModPath == "" { if baseVersion != "" && semver.Canonical(baseVersion) == baseVersion && module.Check(release.modPath, baseVersion) != nil { // Base version was specified, but it's not consistent with the release // module path, for example, the module path is example.com/m/v2, but // the user said -base=v1.0.0. Instead of making the user explicitly // specify the base module path, we'll adjust the major version suffix. prefix, _, _ := module.SplitPathVersion(release.modPath) major := semver.Major(baseVersion) if strings.HasPrefix(prefix, "gopkg.in/") { baseModPath = prefix + "." + semver.Major(baseVersion) } else if major >= "v2" { baseModPath = prefix + "/" + major } else { baseModPath = prefix } } else { baseModPath = release.modPath max = releaseVersion } } base, err := loadDownloadedModule(ctx, baseModPath, baseVersion, max) if err != nil { return false, err } // Compare packages and check for other issues. report, err := makeReleaseReport(ctx, base, release) if err != nil { return false, err } if _, err := fmt.Fprint(w, report.String()); err != nil { return false, err } return report.isSuccessful(), nil } type moduleInfo struct { modRoot string // module root directory repoRoot string // repository root directory (may be "") modPath string // module path in go.mod version string // resolved version or "none" versionQuery string // a query like "latest" or "dev-branch", if specified versionInferred bool // true if the version was unspecified and inferred highestTransitiveVersion string // version of the highest transitive self-dependency (cycle) modPathMajor string // major version suffix like "/v3" or ".v2" tagPrefix string // prefix for version tags if module not in repo root goModPath string // file path to go.mod goModData []byte // content of go.mod goSumData []byte // content of go.sum goModFile *modfile.File // parsed go.mod file diagnostics []string // problems not related to loading specific packages pkgs []*packages.Package // loaded packages with type information // Versions of this module which already exist. Only loaded for release // (not base). existingVersions []string } // loadLocalModule loads information about a module and its packages from a // local directory. // // modRoot is the directory containing the module's go.mod file. // // repoRoot is the root directory of the repository containing the module or "". // // version is a proposed version for the module or "". func loadLocalModule(ctx context.Context, modRoot, repoRoot, version string) (m moduleInfo, err error) { if repoRoot != "" && !hasFilePathPrefix(modRoot, repoRoot) { return moduleInfo{}, fmt.Errorf("module root %q is not in repository root %q", modRoot, repoRoot) } // Load the go.mod file and check the module path and go version. m = moduleInfo{ modRoot: modRoot, repoRoot: repoRoot, version: version, goModPath: filepath.Join(modRoot, "go.mod"), } if version != "" && semver.Compare(version, "v0.0.0-99999999999999-zzzzzzzzzzzz") < 0 { m.diagnostics = append(m.diagnostics, fmt.Sprintf("Version %s is lower than most pseudo-versions. Consider releasing v0.1.0-0 instead.", version)) } m.goModData, err = os.ReadFile(m.goModPath) if err != nil { return moduleInfo{}, err } m.goModFile, err = modfile.ParseLax(m.goModPath, m.goModData, nil) if err != nil { return moduleInfo{}, err } if m.goModFile.Module == nil { return moduleInfo{}, fmt.Errorf("%s: module directive is missing", m.goModPath) } m.modPath = m.goModFile.Module.Mod.Path if err := checkModPath(m.modPath); err != nil { return moduleInfo{}, err } var ok bool _, m.modPathMajor, ok = module.SplitPathVersion(m.modPath) if !ok { // we just validated the path above. panic(fmt.Sprintf("could not find version suffix in module path %q", m.modPath)) } if m.goModFile.Go == nil { m.diagnostics = append(m.diagnostics, "go.mod: go directive is missing") } // Determine the version tag prefix for the module within the repository. if repoRoot != "" && modRoot != repoRoot { if strings.HasPrefix(m.modPathMajor, ".") { m.diagnostics = append(m.diagnostics, fmt.Sprintf("%s: module path starts with gopkg.in and must be declared in the root directory of the repository", m.modPath)) } else { codeDir := filepath.ToSlash(modRoot[len(repoRoot)+1:]) var altGoModPath string if m.modPathMajor == "" { // module has no major version suffix. // codeDir must be a suffix of modPath. // tagPrefix is codeDir with a trailing slash. if strings.HasSuffix(m.modPath, "/"+codeDir) { m.tagPrefix = codeDir + "/" } else { m.diagnostics = append(m.diagnostics, fmt.Sprintf("%s: module path must end with %[2]q, since it is in subdirectory %[2]q", m.modPath, codeDir)) } } else { if strings.HasSuffix(m.modPath, "/"+codeDir) { // module has a major version suffix and is in a major version subdirectory. // codeDir must be a suffix of modPath. // tagPrefix must not include the major version. m.tagPrefix = codeDir[:len(codeDir)-len(m.modPathMajor)+1] altGoModPath = modRoot[:len(modRoot)-len(m.modPathMajor)+1] + "go.mod" } else if strings.HasSuffix(m.modPath, "/"+codeDir+m.modPathMajor) { // module has a major version suffix and is not in a major version subdirectory. // codeDir + modPathMajor is a suffix of modPath. // tagPrefix is codeDir with a trailing slash. m.tagPrefix = codeDir + "/" altGoModPath = filepath.Join(modRoot, m.modPathMajor[1:], "go.mod") } else { m.diagnostics = append(m.diagnostics, fmt.Sprintf("%s: module path must end with %[2]q or %q, since it is in subdirectory %[2]q", m.modPath, codeDir, codeDir+m.modPathMajor)) } } // Modules with major version suffixes can be defined in two places // (e.g., sub/go.mod and sub/v2/go.mod). They must not be defined in both. if altGoModPath != "" { if data, err := os.ReadFile(altGoModPath); err == nil { if altModPath := modfile.ModulePath(data); m.modPath == altModPath { goModRel, _ := filepath.Rel(repoRoot, m.goModPath) altGoModRel, _ := filepath.Rel(repoRoot, altGoModPath) m.diagnostics = append(m.diagnostics, fmt.Sprintf("module is defined in two locations:\n\t%s\n\t%s", goModRel, altGoModRel)) } } } } } // Load the module's packages. // We pack the module into a zip file and extract it to a temporary directory // as if it were published and downloaded. We'll detect any errors that would // occur (for example, invalid file names). We avoid loading it as the // main module. tmpModRoot, err := copyModuleToTempDir(repoRoot, m.modPath, m.modRoot) if err != nil { return moduleInfo{}, err } defer func() { if rerr := os.RemoveAll(tmpModRoot); err == nil && rerr != nil { err = fmt.Errorf("removing temporary module directory: %v", rerr) } }() tmpLoadDir, tmpGoModData, tmpGoSumData, pkgPaths, prepareDiagnostics, err := prepareLoadDir(ctx, m.goModFile, m.modPath, tmpModRoot, version, false) if err != nil { return moduleInfo{}, err } defer func() { if rerr := os.RemoveAll(tmpLoadDir); err == nil && rerr != nil { err = fmt.Errorf("removing temporary load directory: %v", rerr) } }() var loadDiagnostics []string m.pkgs, loadDiagnostics, err = loadPackages(ctx, m.modPath, tmpModRoot, tmpLoadDir, tmpGoModData, tmpGoSumData, pkgPaths) if err != nil { return moduleInfo{}, err } m.diagnostics = append(m.diagnostics, prepareDiagnostics...) m.diagnostics = append(m.diagnostics, loadDiagnostics...) highestVersion, err := findSelectedVersion(ctx, tmpLoadDir, m.modPath) if err != nil { return moduleInfo{}, err } if highestVersion != "" { // A version of the module is included in the transitive dependencies. // Add it to the moduleInfo so that the release report stage can use it // in verifying the version or suggestion a new version, depending on // whether the user provided a version already. m.highestTransitiveVersion = highestVersion } retracted, err := loadRetractions(ctx, tmpLoadDir) if err != nil { return moduleInfo{}, err } m.diagnostics = append(m.diagnostics, retracted...) return m, nil } // loadDownloadedModule downloads a module and loads information about it and // its packages from the module cache. // // modPath is the module path used to fetch the module. The module's path in // go.mod (m.modPath) may be different, for example in a soft fork intended as // a replacement. // // version is the version to load. It may be "none" (indicating nothing should // be loaded), "" (the highest available version below max should be used), a // version query (to be resolved with 'go list'), or a canonical version. // // If version is "" and max is not "", available versions greater than or equal // to max will not be considered. Typically, loadDownloadedModule is used to // load the base version, and max is the release version. func loadDownloadedModule(ctx context.Context, modPath, version, max string) (m moduleInfo, err error) { // Check the module path and version. // If the version is a query, resolve it to a canonical version. m = moduleInfo{modPath: modPath} if err := checkModPath(modPath); err != nil { return moduleInfo{}, err } var ok bool _, m.modPathMajor, ok = module.SplitPathVersion(modPath) if !ok { // we just validated the path above. panic(fmt.Sprintf("could not find version suffix in module path %q", modPath)) } if version == "none" { // We don't have a base version to compare against. m.version = "none" return m, nil } if version == "" { // Unspecified version: use the highest version below max. m.versionInferred = true if m.version, err = inferBaseVersion(ctx, modPath, max); err != nil { return moduleInfo{}, err } if m.version == "none" { return m, nil } } else if version != module.CanonicalVersion(version) { // Version query: find the real version. m.versionQuery = version if m.version, err = queryVersion(ctx, modPath, version); err != nil { return moduleInfo{}, err } if m.version != "none" && max != "" && semver.Compare(m.version, max) >= 0 { // TODO(jayconrod): reconsider this comparison for pseudo-versions in // general. A query might match different pseudo-versions over time, // depending on ancestor versions, so this might start failing with // no local change. return moduleInfo{}, fmt.Errorf("base version %s (%s) must be lower than release version %s", m.version, m.versionQuery, max) } } else { // Canonical version: make sure it matches the module path. if err := module.CheckPathMajor(version, m.modPathMajor); err != nil { // TODO(golang.org/issue/39666): don't assume this is the base version // or that we're comparing across major versions. return moduleInfo{}, fmt.Errorf("can't compare major versions: base version %s does not belong to module %s", version, modPath) } m.version = version } // Download the module into the cache and load the mod file. // Note that goModPath is $GOMODCACHE/cache/download/$modPath/@v/$version.mod, // which is not inside modRoot. This is what the go command uses. Even if // the module didn't have a go.mod file, one will be synthesized there. v := module.Version{Path: modPath, Version: m.version} if m.modRoot, m.goModPath, err = downloadModule(ctx, v); err != nil { return moduleInfo{}, err } if m.goModData, err = os.ReadFile(m.goModPath); err != nil { return moduleInfo{}, err } if m.goModFile, err = modfile.ParseLax(m.goModPath, m.goModData, nil); err != nil { return moduleInfo{}, err } if m.goModFile.Module == nil { return moduleInfo{}, fmt.Errorf("%s: missing module directive", m.goModPath) } m.modPath = m.goModFile.Module.Mod.Path // Load packages. tmpLoadDir, tmpGoModData, tmpGoSumData, pkgPaths, _, err := prepareLoadDir(ctx, nil, m.modPath, m.modRoot, m.version, true) if err != nil { return moduleInfo{}, err } defer func() { if rerr := os.RemoveAll(tmpLoadDir); err == nil && rerr != nil { err = fmt.Errorf("removing temporary load directory: %v", err) } }() if m.pkgs, _, err = loadPackages(ctx, m.modPath, m.modRoot, tmpLoadDir, tmpGoModData, tmpGoSumData, pkgPaths); err != nil { return moduleInfo{}, err } // Calculate the existing versions. ev, err := existingVersions(ctx, m.modPath, tmpLoadDir) if err != nil { return moduleInfo{}, err } m.existingVersions = ev return m, nil } // makeReleaseReport returns a report comparing the current version of a // module with a previously released version. The report notes any backward // compatible and incompatible changes in the module's public API. It also // diagnoses common problems, such as go.mod or go.sum being incomplete. // The report recommends or validates a release version and indicates a // version control tag to use (with an appropriate prefix, for modules not // in the repository root directory). func makeReleaseReport(ctx context.Context, base, release moduleInfo) (report, error) { // TODO: use apidiff.ModuleChanges. // Compare each pair of packages. // Ignore internal packages. // If we don't have a base version to compare against just check the new // packages for errors. shouldCompare := base.version != "none" isInternal := func(modPath, pkgPath string) bool { if !hasPathPrefix(pkgPath, modPath) { panic(fmt.Sprintf("package %s not in module %s", pkgPath, modPath)) } for pkgPath != modPath { if path.Base(pkgPath) == "internal" { return true } pkgPath = path.Dir(pkgPath) } return false } r := report{ base: base, release: release, } for _, pair := range zipPackages(base.modPath, base.pkgs, release.modPath, release.pkgs) { basePkg, releasePkg := pair.base, pair.release switch { case releasePkg == nil: // Package removed if internal := isInternal(base.modPath, basePkg.PkgPath); !internal || len(basePkg.Errors) > 0 { pr := packageReport{ path: basePkg.PkgPath, baseErrors: basePkg.Errors, } if !internal { pr.Report = apidiff.Report{ Changes: []apidiff.Change{{ Message: "package removed", Compatible: false, }}, } } r.addPackage(pr) } case basePkg == nil: // Package added if internal := isInternal(release.modPath, releasePkg.PkgPath); !internal && shouldCompare || len(releasePkg.Errors) > 0 { pr := packageReport{ path: releasePkg.PkgPath, releaseErrors: releasePkg.Errors, } if !internal && shouldCompare { // If we aren't comparing against a base version, don't say // "package added". Only report packages with errors. pr.Report = apidiff.Report{ Changes: []apidiff.Change{{ Message: "package added", Compatible: true, }}, } } r.addPackage(pr) } default: // Matched packages // Both packages are internal or neither; we only consider path components // after the module path. internal := isInternal(release.modPath, releasePkg.PkgPath) if !internal && basePkg.Name != "main" && releasePkg.Name != "main" { pr := packageReport{ path: basePkg.PkgPath, baseErrors: basePkg.Errors, releaseErrors: releasePkg.Errors, Report: apidiff.Changes(basePkg.Types, releasePkg.Types), } r.addPackage(pr) } } } if r.canVerifyReleaseVersion() { if release.version == "" { r.suggestReleaseVersion() } else { r.validateReleaseVersion() } } return r, nil } // existingVersions returns the versions that already exist for the given // modPath. func existingVersions(ctx context.Context, modPath, modRoot string) (versions []string, err error) { defer func() { if err != nil { err = fmt.Errorf("listing versions of %s: %w", modPath, err) } }() type listVersions struct { Versions []string } cmd := exec.CommandContext(ctx, "go", "list", "-json", "-m", "-versions", modPath) cmd.Env = copyEnv(ctx, cmd.Env) cmd.Dir = modRoot out, err := cmd.Output() if err != nil { return nil, cleanCmdError(err) } if len(out) == 0 { return nil, nil } var lv listVersions if err := json.Unmarshal(out, &lv); err != nil { return nil, err } return lv.Versions, nil } // findRepoRoot finds the root directory of the repository that contains dir. // findRepoRoot returns "" if it can't find the repository root. func findRepoRoot(dir string) string { vcsDirs := []string{".git", ".hg", ".svn", ".bzr"} d := filepath.Clean(dir) for { for _, vcsDir := range vcsDirs { if _, err := os.Stat(filepath.Join(d, vcsDir)); err == nil { return d } } parent := filepath.Dir(d) if parent == d { return "" } d = parent } } // findModuleRoot finds the root directory of the module that contains dir. func findModuleRoot(dir string) (string, error) { d := filepath.Clean(dir) for { if fi, err := os.Stat(filepath.Join(d, "go.mod")); err == nil && !fi.IsDir() { return dir, nil } parent := filepath.Dir(d) if parent == d { break } d = parent } return "", fmt.Errorf("%s: cannot find go.mod file", dir) } // checkModPath is like golang.org/x/mod/module.CheckPath, but it returns // friendlier error messages for common mistakes. // // TODO(jayconrod): update module.CheckPath and delete this function. func checkModPath(modPath string) error { if path.IsAbs(modPath) || filepath.IsAbs(modPath) { // TODO(jayconrod): improve error message in x/mod instead of checking here. return fmt.Errorf("module path %q must not be an absolute path.\nIt must be an address where your module may be found.", modPath) } if suffix := dirMajorSuffix(modPath); suffix == "v0" || suffix == "v1" { return fmt.Errorf("module path %q has major version suffix %q.\nA major version suffix is only allowed for v2 or later.", modPath, suffix) } else if strings.HasPrefix(suffix, "v0") { return fmt.Errorf("module path %q has major version suffix %q.\nA major version may not have a leading zero.", modPath, suffix) } else if strings.ContainsRune(suffix, '.') { return fmt.Errorf("module path %q has major version suffix %q.\nA major version may not contain dots.", modPath, suffix) } return module.CheckPath(modPath) } // inferBaseVersion returns an appropriate base version if one was not specified // explicitly. // // If max is not "", inferBaseVersion returns the highest available release // version of the module lower than max. Otherwise, inferBaseVersion returns the // highest available release version. Pre-release versions are not considered. // If there is no available version, and max appears to be the first release // version (for example, "v0.1.0", "v2.0.0"), "none" is returned. func inferBaseVersion(ctx context.Context, modPath, max string) (baseVersion string, err error) { defer func() { if err != nil { err = &baseVersionError{err: err, modPath: modPath} } }() versions, err := loadVersions(ctx, modPath) if err != nil { return "", err } for i := len(versions) - 1; i >= 0; i-- { v := versions[i] if semver.Prerelease(v) == "" && (max == "" || semver.Compare(v, max) < 0) { return v, nil } } if max == "" || maybeFirstVersion(max) { return "none", nil } return "", fmt.Errorf("no versions found lower than %s", max) } // queryVersion returns the canonical version for a given module version query. func queryVersion(ctx context.Context, modPath, query string) (resolved string, err error) { defer func() { if err != nil { err = fmt.Errorf("could not resolve version %s@%s: %w", modPath, query, err) } }() if query == "upgrade" || query == "patch" { return "", errors.New("query is based on requirements in main go.mod file") } tmpDir, err := os.MkdirTemp("", "") if err != nil { return "", err } defer func() { if rerr := os.Remove(tmpDir); rerr != nil && err == nil { err = rerr } }() arg := modPath + "@" + query cmd := exec.CommandContext(ctx, "go", "list", "-m", "-f", "{{.Version}}", "--", arg) cmd.Env = copyEnv(ctx, cmd.Env) cmd.Dir = tmpDir cmd.Env = append(cmd.Env, "GO111MODULE=on") out, err := cmd.Output() if err != nil { return "", cleanCmdError(err) } return strings.TrimSpace(string(out)), nil } // loadVersions loads the list of versions for the given module using // 'go list -m -versions'. The returned versions are sorted in ascending // semver order. func loadVersions(ctx context.Context, modPath string) (versions []string, err error) { defer func() { if err != nil { err = fmt.Errorf("could not load versions for %s: %v", modPath, err) } }() tmpDir, err := os.MkdirTemp("", "") if err != nil { return nil, err } defer func() { if rerr := os.Remove(tmpDir); rerr != nil && err == nil { err = rerr } }() cmd := exec.CommandContext(ctx, "go", "list", "-m", "-versions", "--", modPath) cmd.Env = copyEnv(ctx, cmd.Env) cmd.Dir = tmpDir out, err := cmd.Output() if err != nil { return nil, cleanCmdError(err) } versions = strings.Fields(string(out)) if len(versions) > 0 { versions = versions[1:] // skip module path } // Sort versions defensively. 'go list -m -versions' should always returns // a sorted list of versions, but it's fast and easy to sort them here, too. sort.Slice(versions, func(i, j int) bool { return semver.Compare(versions[i], versions[j]) < 0 }) return versions, nil } // maybeFirstVersion returns whether v appears to be the first version // of a module. func maybeFirstVersion(v string) bool { major, minor, patch, _, _, err := parseVersion(v) if err != nil { return false } if major == "0" { return minor == "0" && patch == "0" || minor == "0" && patch == "1" || minor == "1" && patch == "0" } return minor == "0" && patch == "0" } // dirMajorSuffix returns a major version suffix for a slash-separated path. // For example, for the path "foo/bar/v2", dirMajorSuffix would return "v2". // If no major version suffix is found, "" is returned. // // dirMajorSuffix is less strict than module.SplitPathVersion so that incorrect // suffixes like "v0", "v02", "v1.2" can be detected. It doesn't handle // special cases for gopkg.in paths. func dirMajorSuffix(path string) string { i := len(path) for i > 0 && ('0' <= path[i-1] && path[i-1] <= '9') || path[i-1] == '.' { i-- } if i <= 1 || i == len(path) || path[i-1] != 'v' || (i > 1 && path[i-2] != '/') { return "" } return path[i-1:] } // copyModuleToTempDir copies module files from modRoot to a subdirectory of // scratchDir. Submodules, vendor directories, and irregular files are excluded. // An error is returned if the module contains any files or directories that // can't be included in a module zip file (due to special characters, // excessive sizes, etc.). func copyModuleToTempDir(repoRoot, modPath, modRoot string) (dir string, err error) { // Generate a fake version consistent with modPath. We need a canonical // version to create a zip file. version := "v0.0.0-gorelease" _, majorPathSuffix, _ := module.SplitPathVersion(modPath) if majorPathSuffix != "" { version = majorPathSuffix[1:] + ".0.0-gorelease" } m := module.Version{Path: modPath, Version: version} zipFile, err := os.CreateTemp("", "gorelease-*.zip") if err != nil { return "", err } defer func() { zipFile.Close() os.Remove(zipFile.Name()) }() dir, err = os.MkdirTemp("", "gorelease") if err != nil { return "", err } defer func() { if err != nil { os.RemoveAll(dir) dir = "" } }() var fallbackToDir bool if repoRoot != "" { var err error fallbackToDir, err = tryCreateFromVCS(zipFile, m, modRoot, repoRoot) if err != nil { return "", err } } if repoRoot == "" || fallbackToDir { // Not a recognised repo: fall back to creating from dir. if err := zip.CreateFromDir(zipFile, m, modRoot); err != nil { var e zip.FileErrorList if errors.As(err, &e) { return "", e } return "", err } } if err := zipFile.Close(); err != nil { return "", err } if err := zip.Unzip(dir, m, zipFile.Name()); err != nil { return "", err } return dir, nil } // tryCreateFromVCS tries to create a module zip file from VCS. If it succeeds, // it returns fallBackToDir false and a nil err. If it fails in a recoverable // way, it returns fallBackToDir true and a nil err. If it fails in an // unrecoverable way, it returns a non-nil err. func tryCreateFromVCS(zipFile io.Writer, m module.Version, modRoot, repoRoot string) (fallbackToDir bool, _ error) { // We recognised a repo: create from VCS. if !hasFilePathPrefix(modRoot, repoRoot) { panic(fmt.Sprintf("repo root %q is not a prefix of mod root %q", repoRoot, modRoot)) } hasUncommitted, err := hasGitUncommittedChanges(repoRoot) if err != nil { // Fallback to CreateFromDir. return true, nil } if hasUncommitted { return false, fmt.Errorf("repo %s has uncommitted changes", repoRoot) } modRel := filepath.ToSlash(trimFilePathPrefix(modRoot, repoRoot)) if err := zip.CreateFromVCS(zipFile, m, repoRoot, "HEAD", modRel); err != nil { var fel zip.FileErrorList if errors.As(err, &fel) { return false, fel } var uve *zip.UnrecognizedVCSError if errors.As(err, &uve) { // Fallback to CreateFromDir. return true, nil } return false, err } // Success! return false, nil } // downloadModule downloads a specific version of a module to the // module cache using 'go mod download'. func downloadModule(ctx context.Context, m module.Version) (modRoot, goModPath string, err error) { defer func() { if err != nil { err = &downloadError{m: m, err: cleanCmdError(err)} } }() // Run 'go mod download' from a temporary directory to avoid needing to load // go.mod from gorelease's working directory (or a parent). // go.mod may be broken, and we don't need it. // TODO(golang.org/issue/36812): 'go mod download' reads go.mod even though // we don't need information about the main module or the build list. // If it didn't read go.mod in this case, we wouldn't need a temp directory. tmpDir, err := os.MkdirTemp("", "gorelease-download") if err != nil { return "", "", err } defer os.Remove(tmpDir) cmd := exec.CommandContext(ctx, "go", "mod", "download", "-json", "--", m.Path+"@"+m.Version) cmd.Env = copyEnv(ctx, cmd.Env) cmd.Dir = tmpDir out, err := cmd.Output() var xerr *exec.ExitError if err != nil { var ok bool if xerr, ok = err.(*exec.ExitError); !ok { return "", "", err } } // If 'go mod download' exited unsuccessfully but printed well-formed JSON // with an error, return that error. parsed := struct{ Dir, GoMod, Error string }{} if jsonErr := json.Unmarshal(out, &parsed); jsonErr != nil { if xerr != nil { return "", "", cleanCmdError(xerr) } return "", "", jsonErr } if parsed.Error != "" { return "", "", errors.New(parsed.Error) } if xerr != nil { return "", "", cleanCmdError(xerr) } return parsed.Dir, parsed.GoMod, nil } // prepareLoadDir creates a temporary directory and a go.mod file that requires // the module being loaded. go.sum is copied if present. It also creates a .go // file that imports every package in the given modPath. This temporary module // is useful for two reasons. First, replace and exclude directives from the // target module aren't applied, so we have the same view as a dependent module. // Second, we can run commands like 'go get' without modifying the original // go.mod and go.sum files. // // modFile is the pre-parsed go.mod file. If non-nil, its requirements and // go version will be copied so that incomplete and out-of-date requirements // may be reported later. // // modPath is the module's path. // // modRoot is the module's root directory. // // version is the version of the module being loaded. If must be canonical // for modules loaded from the cache. Otherwise, it may be empty (for example, // when no release version is proposed). // // cached indicates whether the module is being loaded from the module cache. // If cached is true, then the module lives in the cache at // $GOMODCACHE/$modPath@$version/. Its go.mod file is at // $GOMODCACHE/cache/download/$modPath/@v/$version.mod. It must be referenced // with a simple require. A replace directive won't work because it may not have // a go.mod file in modRoot. // If cached is false, then modRoot is somewhere outside the module cache // (ex /tmp). We'll reference it with a local replace directive. It must have a // go.mod file in modRoot. // // dir is the location of the temporary directory. // // goModData and goSumData are the contents of the go.mod and go.sum files, // respectively. // // pkgPaths are the import paths of the module being loaded, including the path // to any main packages (as if they were importable). func prepareLoadDir(ctx context.Context, modFile *modfile.File, modPath, modRoot, version string, cached bool) (dir string, goModData, goSumData []byte, pkgPaths []string, diagnostics []string, err error) { defer func() { if err != nil { if cached { err = fmt.Errorf("preparing to load packages for %s@%s: %w", modPath, version, err) } else { err = fmt.Errorf("preparing to load packages for %s: %w", modPath, err) } } }() if module.Check(modPath, version) != nil { // If no version is proposed or if the version isn't valid, use a fake // version that matches the module's major version suffix. If the version // is invalid, that will be reported elsewhere. version = "v0.0.0-gorelease" if _, pathMajor, _ := module.SplitPathVersion(modPath); pathMajor != "" { version = pathMajor[1:] + ".0.0-gorelease" } } dir, err = os.MkdirTemp("", "gorelease-load") if err != nil { return "", nil, nil, nil, nil, err } f := &modfile.File{} f.AddModuleStmt("gorelease-load-module") f.AddRequire(modPath, version) if !cached { f.AddReplace(modPath, version, modRoot, "") } if modFile != nil { if modFile.Go != nil { f.AddGoStmt(modFile.Go.Version) } for _, r := range modFile.Require { f.AddRequire(r.Mod.Path, r.Mod.Version) } } goModData, err = f.Format() if err != nil { return "", nil, nil, nil, nil, err } if err := os.WriteFile(filepath.Join(dir, "go.mod"), goModData, 0666); err != nil { return "", nil, nil, nil, nil, err } goSumData, err = os.ReadFile(filepath.Join(modRoot, "go.sum")) if err != nil && !os.IsNotExist(err) { return "", nil, nil, nil, nil, err } if err := os.WriteFile(filepath.Join(dir, "go.sum"), goSumData, 0666); err != nil { return "", nil, nil, nil, nil, err } // Add a .go file with requirements, so that `go get` won't blat // requirements. fakeImports := &strings.Builder{} fmt.Fprint(fakeImports, "package tmp\n") imps, err := collectImportPaths(modPath, modRoot) if err != nil { return "", nil, nil, nil, nil, err } for _, imp := range imps { fmt.Fprintf(fakeImports, "import _ %q\n", imp) } if err := os.WriteFile(filepath.Join(dir, "tmp.go"), []byte(fakeImports.String()), 0666); err != nil { return "", nil, nil, nil, nil, err } // Add missing requirements. cmd := exec.CommandContext(ctx, "go", "get", "-d", ".") cmd.Env = copyEnv(ctx, cmd.Env) cmd.Dir = dir if _, err := cmd.Output(); err != nil { return "", nil, nil, nil, nil, fmt.Errorf("looking for missing dependencies: %w", cleanCmdError(err)) } // Report new requirements in go.mod. goModPath := filepath.Join(dir, "go.mod") loadReqs := func(data []byte) (reqs []module.Version, err error) { modFile, err := modfile.ParseLax(goModPath, data, nil) if err != nil { return nil, err } for _, r := range modFile.Require { reqs = append(reqs, r.Mod) } return reqs, nil } oldReqs, err := loadReqs(goModData) if err != nil { return "", nil, nil, nil, nil, err } newGoModData, err := os.ReadFile(goModPath) if err != nil { return "", nil, nil, nil, nil, err } newReqs, err := loadReqs(newGoModData) if err != nil { return "", nil, nil, nil, nil, err } oldMap := make(map[module.Version]bool) for _, req := range oldReqs { oldMap[req] = true } var missing []module.Version for _, req := range newReqs { // Ignore cyclic imports, since a module never needs to require itself. if req.Path == modPath { continue } if !oldMap[req] { missing = append(missing, req) } } if len(missing) > 0 { var missingReqs []string for _, m := range missing { missingReqs = append(missingReqs, m.String()) } diagnostics = append(diagnostics, fmt.Sprintf("go.mod: the following requirements are needed\n\t%s\nRun 'go mod tidy' to add missing requirements.", strings.Join(missingReqs, "\n\t"))) return dir, goModData, goSumData, imps, diagnostics, nil } // Cached modules may have no go.sum. // We skip comparison because a downloaded module is outside the user's // control. if !cached { // Check if 'go get' added new hashes to go.sum. goSumPath := filepath.Join(dir, "go.sum") newGoSumData, err := os.ReadFile(goSumPath) if err != nil { if !os.IsNotExist(err) { return "", nil, nil, nil, nil, err } // If the sum doesn't exist, that's ok: we'll treat "no go.sum" like // "empty go.sum". } if !sumsMatchIgnoringPath(string(goSumData), string(newGoSumData), modPath) { diagnostics = append(diagnostics, "go.sum: one or more sums are missing. Run 'go mod tidy' to add missing sums.") } } return dir, goModData, goSumData, imps, diagnostics, nil } // sumsMatchIgnoringPath checks whether the two sums match. It ignores any lines // which contains the given modPath. func sumsMatchIgnoringPath(sum1, sum2, modPathToIgnore string) bool { lines1 := make(map[string]bool) for _, line := range strings.Split(string(sum1), "\n") { if line == "" { continue } lines1[line] = true } for _, line := range strings.Split(string(sum2), "\n") { if line == "" { continue } parts := strings.Fields(line) if len(parts) < 1 { panic(fmt.Sprintf("go.sum malformed: unexpected line %s", line)) } if parts[0] == modPathToIgnore { continue } if !lines1[line] { return false } } lines2 := make(map[string]bool) for _, line := range strings.Split(string(sum2), "\n") { if line == "" { continue } lines2[line] = true } for _, line := range strings.Split(string(sum1), "\n") { if line == "" { continue } parts := strings.Fields(line) if len(parts) < 1 { panic(fmt.Sprintf("go.sum malformed: unexpected line %s", line)) } if parts[0] == modPathToIgnore { continue } if !lines2[line] { return false } } return true } // collectImportPaths visits the given root and traverses its directories // recursively, collecting the import paths of all importable packages in each // directory along the way. // // modPath is the module path. // root is the root directory of the module to collect imports for (the root // of the modPath module). // // Note: the returned importPaths will include main if it exists in root. func collectImportPaths(modPath, root string) (importPaths []string, _ error) { err := filepath.Walk(root, func(walkPath string, fi os.FileInfo, err error) error { if err != nil { return err } // Avoid .foo, _foo, and testdata subdirectory trees. if !fi.IsDir() { return nil } base := filepath.Base(walkPath) if strings.HasPrefix(base, ".") || strings.HasPrefix(base, "_") || base == "testdata" || base == "internal" { return filepath.SkipDir } p, err := build.Default.ImportDir(walkPath, 0) if err != nil { if nogoErr := (*build.NoGoError)(nil); errors.As(err, &nogoErr) { // No .go files found in directory. That's ok, we'll keep // searching. return nil } return err } // Construct the import path. importPath := path.Join(modPath, filepath.ToSlash(trimFilePathPrefix(p.Dir, root))) importPaths = append(importPaths, importPath) return nil }) if err != nil { return nil, fmt.Errorf("listing packages in %s: %v", root, err) } return importPaths, nil } // loadPackages returns a list of all packages in the module modPath, sorted by // package path. modRoot is the module root directory, but packages are loaded // from loadDir, which must contain go.mod and go.sum containing goModData and // goSumData. // // We load packages from a temporary external module so that replace and exclude // directives are not applied. The loading process may also modify go.mod and // go.sum, and we want to detect and report differences. // // Package loading errors will be returned in the Errors field of each package. // Other diagnostics (such as the go.sum file being incomplete) will be // returned through diagnostics. // err will be non-nil in case of a fatal error that prevented packages // from being loaded. func loadPackages(ctx context.Context, modPath, modRoot, loadDir string, goModData, goSumData []byte, pkgPaths []string) (pkgs []*packages.Package, diagnostics []string, err error) { // Load packages. // TODO(jayconrod): if there are errors loading packages in the release // version, try loading in the release directory. Errors there would imply // that packages don't load without replace / exclude directives. cfg := &packages.Config{ Mode: packages.NeedName | packages.NeedTypes | packages.NeedImports | packages.NeedDeps, Dir: loadDir, Context: ctx, } cfg.Env = copyEnv(ctx, cfg.Env) if len(pkgPaths) > 0 { pkgs, err = packages.Load(cfg, pkgPaths...) if err != nil { return nil, nil, err } } // Sort the returned packages by path. // packages.Load makes no guarantee about the order of returned packages. sort.Slice(pkgs, func(i, j int) bool { return pkgs[i].PkgPath < pkgs[j].PkgPath }) // Trim modRoot from file paths in errors. prefix := modRoot + string(os.PathSeparator) for _, pkg := range pkgs { for i := range pkg.Errors { pkg.Errors[i].Pos = strings.TrimPrefix(pkg.Errors[i].Pos, prefix) } } return pkgs, diagnostics, nil } type packagePair struct { base, release *packages.Package } // zipPackages combines two lists of packages, sorted by package path, // and returns a sorted list of pairs of packages with matching paths. // If a package is in one list but not the other (because it was added or // removed between releases), a pair will be returned with a nil // base or release field. func zipPackages(baseModPath string, basePkgs []*packages.Package, releaseModPath string, releasePkgs []*packages.Package) []packagePair { baseIndex, releaseIndex := 0, 0 var pairs []packagePair for baseIndex < len(basePkgs) || releaseIndex < len(releasePkgs) { var basePkg, releasePkg *packages.Package var baseSuffix, releaseSuffix string if baseIndex < len(basePkgs) { basePkg = basePkgs[baseIndex] baseSuffix = trimPathPrefix(basePkg.PkgPath, baseModPath) } if releaseIndex < len(releasePkgs) { releasePkg = releasePkgs[releaseIndex] releaseSuffix = trimPathPrefix(releasePkg.PkgPath, releaseModPath) } var pair packagePair if basePkg != nil && (releasePkg == nil || baseSuffix < releaseSuffix) { // Package removed pair = packagePair{basePkg, nil} baseIndex++ } else if releasePkg != nil && (basePkg == nil || releaseSuffix < baseSuffix) { // Package added pair = packagePair{nil, releasePkg} releaseIndex++ } else { // Matched packages. pair = packagePair{basePkg, releasePkg} baseIndex++ releaseIndex++ } pairs = append(pairs, pair) } return pairs } // findSelectedVersion returns the highest version of the given modPath at // modDir, if a module cycle exists. modDir should be a writable directory // containing the go.mod for modPath. // // If no module cycle exists, it returns empty string. func findSelectedVersion(ctx context.Context, modDir, modPath string) (latestVersion string, err error) { defer func() { if err != nil { err = fmt.Errorf("could not find selected version for %s: %v", modPath, err) } }() cmd := exec.CommandContext(ctx, "go", "list", "-m", "-f", "{{.Version}}", "--", modPath) cmd.Env = copyEnv(ctx, cmd.Env) cmd.Dir = modDir out, err := cmd.Output() if err != nil { return "", cleanCmdError(err) } return strings.TrimSpace(string(out)), nil } func copyEnv(ctx context.Context, current []string) []string { env, ok := ctx.Value("env").([]string) if !ok { return current } clone := make([]string, len(env)) copy(clone, env) return clone } // loadRetractions lists all retracted deps found at the modRoot. func loadRetractions(ctx context.Context, modRoot string) ([]string, error) { cmd := exec.CommandContext(ctx, "go", "list", "-json", "-m", "-u", "all") if env, ok := ctx.Value("env").([]string); ok { cmd.Env = env } cmd.Dir = modRoot out, err := cmd.Output() if err != nil { return nil, cleanCmdError(err) } var retracted []string type message struct { Path string Version string Retracted []string } dec := json.NewDecoder(bytes.NewBuffer(out)) for { var m message if err := dec.Decode(&m); err == io.EOF { break } else if err != nil { return nil, err } if len(m.Retracted) == 0 { continue } rationale, ok := shortRetractionRationale(m.Retracted) if ok { retracted = append(retracted, fmt.Sprintf("required module %s@%s retracted by module author: %s", m.Path, m.Version, rationale)) } else { retracted = append(retracted, fmt.Sprintf("required module %s@%s retracted by module author", m.Path, m.Version)) } } return retracted, nil } // shortRetractionRationale returns a retraction rationale string that is safe // to print in a terminal. It returns hard-coded strings if the rationale // is empty, too long, or contains non-printable characters. // // It returns true if the rationale was printable, and false if it was not (too // long, contains graphics, etc). func shortRetractionRationale(rationales []string) (string, bool) { if len(rationales) == 0 { return "", false } rationale := rationales[0] const maxRationaleBytes = 500 if i := strings.Index(rationale, "\n"); i >= 0 { rationale = rationale[:i] } rationale = strings.TrimSpace(rationale) if rationale == "" || rationale == "retracted by module author" { return "", false } if len(rationale) > maxRationaleBytes { return "", false } for _, r := range rationale { if !unicode.IsGraphic(r) && !unicode.IsSpace(r) { return "", false } } // NOTE: the go.mod parser rejects invalid UTF-8, so we don't check that here. return rationale, true } // hasGitUncommittedChanges checks if the given directory has uncommitteed git // changes. func hasGitUncommittedChanges(dir string) (bool, error) { stdout := &bytes.Buffer{} cmd := exec.Command("git", "status", "--porcelain") cmd.Dir = dir cmd.Stdout = stdout if err := cmd.Run(); err != nil { return false, cleanCmdError(err) } return stdout.Len() != 0, nil } dependencies/pkg/mod/golang.org/x/exp@v0.0.0-20240506185415-9bf2ced13842/cmd/gorelease/path_test.go0000644000000000000000000001110015107355263027745 0ustar rootroot// Copyright 2020 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 ( "runtime" "testing" ) func TestHasPathPrefix(t *testing.T) { for _, test := range []struct { desc, path, prefix string want bool }{ { desc: "empty_prefix", path: "a/b", prefix: "", want: true, }, { desc: "partial_prefix", path: "a/b", prefix: "a", want: true, }, { desc: "full_prefix", path: "a/b", prefix: "a/b", want: true, }, { desc: "partial_component", path: "aa/b", prefix: "a", want: false, }, } { t.Run(test.desc, func(t *testing.T) { if got := hasPathPrefix(test.path, test.prefix); got != test.want { t.Errorf("hasPathPrefix(%q, %q): got %v, want %v", test.path, test.prefix, got, test.want) } }) } } func TestHasFilePathPrefix(t *testing.T) { type test struct { desc, path, prefix string want bool } var tests []test if runtime.GOOS == "windows" { tests = []test{ { desc: "empty_prefix", path: `c:\a\b`, prefix: "", want: true, }, { desc: "drive_prefix", path: `c:\a\b`, prefix: `c:\`, want: true, }, { desc: "partial_prefix", path: `c:\a\b`, prefix: `c:\a`, want: true, }, { desc: "full_prefix", path: `c:\a\b`, prefix: `c:\a\b`, want: true, }, { desc: "partial_component", path: `c:\aa\b`, prefix: `c:\a`, want: false, }, } } else { tests = []test{ { desc: "empty_prefix", path: "/a/b", prefix: "", want: true, }, { desc: "partial_prefix", path: "/a/b", prefix: "/a", want: true, }, { desc: "full_prefix", path: "/a/b", prefix: "/a/b", want: true, }, { desc: "partial_component", path: "/aa/b", prefix: "/a", want: false, }, } } for _, test := range tests { t.Run(test.desc, func(t *testing.T) { if got := hasFilePathPrefix(test.path, test.prefix); got != test.want { t.Errorf("hasFilePathPrefix(%q, %q): got %v, want %v", test.path, test.prefix, got, test.want) } }) } } func TestTrimFilePathPrefix(t *testing.T) { type test struct { desc, path, prefix, want string } var tests []test if runtime.GOOS == "windows" { tests = []test{ // Note: these two cases in which the result preserves the leading \ // don't come up in reality in gorelease. That's because prefix is // always far to the right of the path parts (ex github.com/foo/bar // in C:\Users\foo\AppData\Local\Temp\...\github.com\foo\bar). { desc: "empty_prefix", path: `c:\a\b`, prefix: "", want: `\a\b`, }, { desc: "partial_component", path: `c:\aa\b`, prefix: `c:\a`, want: `\aa\b`, }, { desc: "drive_prefix", path: `c:\a\b`, prefix: `c:\`, want: `a\b`, }, { desc: "partial_prefix", path: `c:\a\b`, prefix: `c:\a`, want: `b`, }, { desc: "full_prefix", path: `c:\a\b`, prefix: `c:\a\b`, want: "", }, } } else { tests = []test{ { desc: "empty_prefix", path: "/a/b", prefix: "", want: "/a/b", }, { desc: "partial_prefix", path: "/a/b", prefix: "/a", want: "b", }, { desc: "full_prefix", path: "/a/b", prefix: "/a/b", want: "", }, { desc: "partial_component", path: "/aa/b", prefix: "/a", want: "/aa/b", }, } } for _, test := range tests { t.Run(test.desc, func(t *testing.T) { if got := trimFilePathPrefix(test.path, test.prefix); got != test.want { t.Errorf("hasFilePathPrefix(%q, %q): got %v, want %v", test.path, test.prefix, got, test.want) } }) } } func TestTrimPathPrefix(t *testing.T) { for _, test := range []struct { desc, path, prefix, want string }{ { desc: "empty_prefix", path: "a/b", prefix: "", want: "a/b", }, { desc: "abs_empty_prefix", path: "/a/b", prefix: "", want: "/a/b", }, { desc: "partial_prefix", path: "a/b", prefix: "a", want: "b", }, { desc: "full_prefix", path: "a/b", prefix: "a/b", want: "", }, { desc: "partial_component", path: "aa/b", prefix: "a", want: "aa/b", }, } { t.Run(test.desc, func(t *testing.T) { if got := trimPathPrefix(test.path, test.prefix); got != test.want { t.Errorf("trimPathPrefix(%q, %q): got %q, want %q", test.path, test.prefix, got, test.want) } }) } } dependencies/pkg/mod/golang.org/x/exp@v0.0.0-20240506185415-9bf2ced13842/cmd/gorelease/testdata/0000755000000000000000000000000015107355263027243 5ustar rootrootdependencies/pkg/mod/golang.org/x/exp@v0.0.0-20240506185415-9bf2ced13842/cmd/gorelease/testdata/cgo/0000755000000000000000000000000015107355263030013 5ustar rootroot././@LongLink0000644000000000000000000000015500000000000011604 Lustar rootrootdependencies/pkg/mod/golang.org/x/exp@v0.0.0-20240506185415-9bf2ced13842/cmd/gorelease/testdata/cgo/cgo.testdependencies/pkg/mod/golang.org/x/exp@v0.0.0-20240506185415-9bf2ced13842/cmd/gorelease/testdata/cgo/0000644000000000000000000000035215107355263030015 0ustar rootrootbase=none release=v1.0.0 -- go.mod -- module example.com/cgo go 1.13 -- c.go -- package cgo // const int x = 12; import "C" func X() int { return int(C.x) } -- want -- # summary v1.0.0 is a valid semantic version for this release. ././@LongLink0000644000000000000000000000015700000000000011606 Lustar rootrootdependencies/pkg/mod/golang.org/x/exp@v0.0.0-20240506185415-9bf2ced13842/cmd/gorelease/testdata/cgo/README.txtdependencies/pkg/mod/golang.org/x/exp@v0.0.0-20240506185415-9bf2ced13842/cmd/gorelease/testdata/cgo/0000644000000000000000000000057015107355263030017 0ustar rootrootModule example.com/cgo is used to test that packages with cgo code can be loaded without errors when cgo is enabled. TODO(jayconrod): test modules with cgo-only and cgo / pure Go implementations with CGO_ENABLED=0 and 1. But first, decide how multiple platforms and build constraints should be handled. Currently, gorelease only considers the same configuration as 'go list'.././@LongLink0000644000000000000000000000015200000000000011601 Lustar rootrootdependencies/pkg/mod/golang.org/x/exp@v0.0.0-20240506185415-9bf2ced13842/cmd/gorelease/testdata/README.mddependencies/pkg/mod/golang.org/x/exp@v0.0.0-20240506185415-9bf2ced13842/cmd/gorelease/testdata/READ0000644000000000000000000000762315107355263027711 0ustar rootrootThis directory contains most tests for gorelease. Each test runs gorelease (the `runRelease` function) with a given set of flags in a temporary directory populated with files specified in the test itself or files from the module test proxy. The output is compared against a golden `want` file specified in the test. ## Test flags A specific test may be run with a command like: go test -run=TestRelease/basic/v0_patch_suggest where `basic/v0_patch_suggest` matches the file `testdata/basic/v0_patch_suggest.test`. The `-u` flag adds or updates the `want` file in each test to match the output. This is useful for fixing tests after an intended change in behavior. go test -run=TestRelease/basic/v0_patch_suggest -u The `-testwork` flag instructs the test framework to leave the test's temporary directory and module proxy in place after running the test. This is useful for debugging. ## Test format Tests are written in `.test` files in `testdata` subdirectories. Each `.test` file is a valid txtar file (see `golang.org/x/tools/txtar`). The comment section contains the test parameters, which are a series of `key=value` pairs. Blank lines and comments starting with `#` are allowed in this section. Valid keys are: * `mod`: sets the module path. Must be specified together with `version`. Copies the content of a module out of the test proxy into a temporary directory where `gorelease` is run. * `version`: specified together with `mod`, it sets the version to retrieve from the test proxy. See more information below. * `base`: the value of the `-base` flag passed to `gorelease`. * `release`: the value of the `-version` flag passed to `gorelease`. * `dir`: the directory where `gorelease` should be invoked. Useful when the test describes a whole repository, and `gorelease` should be invoked in a subdirectory. * `error`: true if the test expects a hard error. False by default. * `success`: true if the test expects a report to be printed with no errors or diagnostics. True by default. * `skip`: non-empty if the test should be skipped. The value is a string passed to `t.Skip`. * `proxyVersions`: empty if the test should include all `mod/` entries in the proxy, or else a comma-separated list of the modpath@version's it should include. Test archives have a file named `want`, containing the expected output of the test. A test will fail if the actual output differs from `want`. If the `mod` and `version` parameters are not set, other files will be extracted to the temporary directory where `gorelease` runs. ## Populating module contents When building a test in `testdata/`, there are two ways to populate the module directory being tested: ### Option 1: inline You can inline files in the `.test` folder as described in https://pkg.go.dev/golang.org/x/tools/txtar#hdr-Txtar_format. For example, ``` -- some.file -- the contents of the file ``` ### Option 2: specify an existing file Often, multiple tests want to share the same setup - the same files. So, users can write these common files in `testdata/mod/`, and use one of these files as the module directory contents. To specify a file in `testdata/mod/` to use as the module contents. ## Module format Tests run with `GOPROXY` set to a local URL that points to a test proxy. The test proxy serves modules described by `.txt` files in the `testdata/mod/` subdirectory. Each module is a txtar archive named `$modpath_$version.txt` where `$modpath` is the module path (with slashes replaced with underscores) and `$version` is the version. If the archive contains a file named `.mod`, that will be used to respond to `.mod` requests; otherwise, `go.mod` will be used (`.mod` is only necessary for modules that lack `go.mod` files). If the archive contains a file named `.info`, that will be used to respond to `.info` requests; otherwise, `.info` is synthesized from the version. All other files in the archive are packed into a `.zip` file to satisfy `.zip` requests. ././@LongLink0000644000000000000000000000016000000000000011600 Lustar rootrootdependencies/pkg/mod/golang.org/x/exp@v0.0.0-20240506185415-9bf2ced13842/cmd/gorelease/testdata/internalcompat/dependencies/pkg/mod/golang.org/x/exp@v0.0.0-20240506185415-9bf2ced13842/cmd/gorelease/testdata/inte0000755000000000000000000000000015107355263030123 5ustar rootroot././@LongLink0000644000000000000000000000017200000000000011603 Lustar rootrootdependencies/pkg/mod/golang.org/x/exp@v0.0.0-20240506185415-9bf2ced13842/cmd/gorelease/testdata/internalcompat/README.txtdependencies/pkg/mod/golang.org/x/exp@v0.0.0-20240506185415-9bf2ced13842/cmd/gorelease/testdata/inte0000644000000000000000000000315015107355263030124 0ustar rootrootModules example.com/internalcompat/{a,b} are copies. One could be a fork of the other. An external package p exposes a type from a package q within the same module. If gorelease ran apidiff on the two modules instead of on the individual packages, then it should not report differences between these packages. The types are distinct, but they correspond (in apidiff terminology), which is the important property when considering differences between modules. More specifically, the fully qualified type names are identical modulo the change to the module path. But at the time gorelease was written, apidiff did not support module comparison. If considered at the package level, the two packages example.com/internalcompat/a/p and example.com/internalcompat/b/p are incompatible, because the packages they refer to are different. So case 2 below would apply if whole modules were being diffed, but it doesn't here because individual packages are being diffed. There are three use cases to consider: 1. One module substitutes for the other via a `replace` directive. Only the replacement module is used, and the package paths are effectively identical, so the types are not distinct. 2. One module subsititutes for the other by rewriting `import` statements globally. All references to the original type become references to the new type, so there is no conflict. 3. One module substitutes for the other by rewriting some `import` statements but not others (for example, those within a specific consumer package). In this case, the types are distinct, and even if there are no changes, the types are not compatible. ././@LongLink0000644000000000000000000000020300000000000011576 Lustar rootrootdependencies/pkg/mod/golang.org/x/exp@v0.0.0-20240506185415-9bf2ced13842/cmd/gorelease/testdata/internalcompat/internalcompat.testdependencies/pkg/mod/golang.org/x/exp@v0.0.0-20240506185415-9bf2ced13842/cmd/gorelease/testdata/inte0000644000000000000000000000040115107355263030120 0ustar rootrootmod=example.com/internalcompat/b version=v1.0.0 release=v1.0.1 base=example.com/internalcompat/a@v1.0.0 -- want -- # example.com/internalcompat/a/p ## incompatible changes V: changed from example.com/internalcompat/a/q.Q to example.com/internalcompat/b/q.Q dependencies/pkg/mod/golang.org/x/exp@v0.0.0-20240506185415-9bf2ced13842/cmd/gorelease/testdata/mod/0000755000000000000000000000000015107355263030022 5ustar rootroot././@LongLink0000644000000000000000000000020700000000000011602 Lustar rootrootdependencies/pkg/mod/golang.org/x/exp@v0.0.0-20240506185415-9bf2ced13842/cmd/gorelease/testdata/mod/example.com_cycledep_v2_v2.0.0.txtdependencies/pkg/mod/golang.org/x/exp@v0.0.0-20240506185415-9bf2ced13842/cmd/gorelease/testdata/mod/0000644000000000000000000000024715107355263030027 0ustar rootroot-- go.mod -- module example.com/cycledep/v2 go 1.12 require example.com/cycle/v2 v2.0.0 -- b.go -- package b -- c/c.go -- package c import _ "example.com/cycle/v2" ././@LongLink0000644000000000000000000000020500000000000011600 Lustar rootrootdependencies/pkg/mod/golang.org/x/exp@v0.0.0-20240506185415-9bf2ced13842/cmd/gorelease/testdata/mod/example.com_basicfork_v1.1.2.txtdependencies/pkg/mod/golang.org/x/exp@v0.0.0-20240506185415-9bf2ced13842/cmd/gorelease/testdata/mod/0000644000000000000000000000026215107355263030024 0ustar rootroot-- go.mod -- module example.com/basicfork go 1.12 -- a/a.go -- package a func A() int { return 1 } func A3() int { return 4 } -- b/b.go -- package b func B() int { return 3 } ././@LongLink0000644000000000000000000000021100000000000011575 Lustar rootrootdependencies/pkg/mod/golang.org/x/exp@v0.0.0-20240506185415-9bf2ced13842/cmd/gorelease/testdata/mod/example.com_retractdep_v2_v2.0.0.txtdependencies/pkg/mod/golang.org/x/exp@v0.0.0-20240506185415-9bf2ced13842/cmd/gorelease/testdata/mod/0000644000000000000000000000052515107355263030026 0ustar rootroot# Identical to v1.0.0: just need a new version so that we can test different # error messages based on the vX.0.1 retraction comments. We can't test them in # the same major version because go mod will always use the latest version's # error message. -- go.mod -- module example.com/retractdep/v2 go 1.12 -- a.go -- package a const A = "a"././@LongLink0000644000000000000000000000021100000000000011575 Lustar rootrootdependencies/pkg/mod/golang.org/x/exp@v0.0.0-20240506185415-9bf2ced13842/cmd/gorelease/testdata/mod/example.com_private_v1.0.2-break.txtdependencies/pkg/mod/golang.org/x/exp@v0.0.0-20240506185415-9bf2ced13842/cmd/gorelease/testdata/mod/0000644000000000000000000000027315107355263030026 0ustar rootroot-- go.mod -- module example.com/private go 1.12 -- p/p.go -- package p import "example.com/private/internal/i" type P i.I -- internal/i/i.go -- package i type I interface{ Foo() } ././@LongLink0000644000000000000000000000020300000000000011576 Lustar rootrootdependencies/pkg/mod/golang.org/x/exp@v0.0.0-20240506185415-9bf2ced13842/cmd/gorelease/testdata/mod/example.com_private_v1.0.1.txtdependencies/pkg/mod/golang.org/x/exp@v0.0.0-20240506185415-9bf2ced13842/cmd/gorelease/testdata/mod/0000644000000000000000000000026215107355263030024 0ustar rootroot-- go.mod -- module example.com/private go 1.12 -- p/p.go -- package p import "example.com/private/internal/i" type P i.I -- internal/i/i.go -- package i type I interface{} ././@LongLink0000644000000000000000000000020000000000000011573 Lustar rootrootdependencies/pkg/mod/golang.org/x/exp@v0.0.0-20240506185415-9bf2ced13842/cmd/gorelease/testdata/mod/example.com_main_v0.0.1.txtdependencies/pkg/mod/golang.org/x/exp@v0.0.0-20240506185415-9bf2ced13842/cmd/gorelease/testdata/mod/0000644000000000000000000000013015107355263030016 0ustar rootroot-- go.mod -- module example.com/main go 1.14 -- a/a.go -- package main func main() {} ././@LongLink0000644000000000000000000000020300000000000011576 Lustar rootrootdependencies/pkg/mod/golang.org/x/exp@v0.0.0-20240506185415-9bf2ced13842/cmd/gorelease/testdata/mod/example.com_require_v0.1.0.txtdependencies/pkg/mod/golang.org/x/exp@v0.0.0-20240506185415-9bf2ced13842/cmd/gorelease/testdata/mod/0000644000000000000000000000072615107355263030031 0ustar rootroot-- go.mod -- module example.com/require go 1.12 require example.com/basic v1.0.1 -- go.sum -- example.com/basic v1.0.1/go.mod h1:pv9xTX7lhV6R1XNYo1EcI/DQqKxDyhNTN+K1DjHW2Oo= golang.org/x/text v0.0.0-20170915032832-14c0d48ead0c/go.mod h1:NqM8EUOU14njkJ3fqMW+pc6Ldnwhi/IjpwHt7yyuwOQ= rsc.io/quote v1.5.2/go.mod h1:LzX7hefJvL54yjefDEDHNONDjII0t9xZLPXsUe+TKr0= rsc.io/sampler v1.3.0/go.mod h1:T1hPZKmBbMNahiBKFy5HrXp6adAjACjK9JXDnKaTXpA= -- require.go -- package require ././@LongLink0000644000000000000000000000020400000000000011577 Lustar rootrootdependencies/pkg/mod/golang.org/x/exp@v0.0.0-20240506185415-9bf2ced13842/cmd/gorelease/testdata/mod/example.com_generics_v0.0.1.txtdependencies/pkg/mod/golang.org/x/exp@v0.0.0-20240506185415-9bf2ced13842/cmd/gorelease/testdata/mod/0000644000000000000000000000016615107355263030027 0ustar rootroot-- go.mod -- module example.com/generics go 1.18 -- a/a.go -- package a type Foo[V any] interface { Value() V } ././@LongLink0000644000000000000000000000020600000000000011601 Lustar rootrootdependencies/pkg/mod/golang.org/x/exp@v0.0.0-20240506185415-9bf2ced13842/cmd/gorelease/testdata/mod/example.com_issue37756_v1.1.0.txtdependencies/pkg/mod/golang.org/x/exp@v0.0.0-20240506185415-9bf2ced13842/cmd/gorelease/testdata/mod/0000644000000000000000000000035715107355263030031 0ustar rootroot-- go.mod -- module example.com/issue37756 go 1.14 -- a/a.go -- package a import _ "example.com/issue37756/c" func A1() {} func A2() {} -- b/b.go -- package b func B1() {} func B2() {} -- c/c.go -- package c func C1() {} func C2() {} ././@LongLink0000644000000000000000000000024200000000000011601 Lustar rootrootdependencies/pkg/mod/golang.org/x/exp@v0.0.0-20240506185415-9bf2ced13842/cmd/gorelease/testdata/mod/example.com_prerelease_v0.0.0-20300101000000-000000000000.txtdependencies/pkg/mod/golang.org/x/exp@v0.0.0-20240506185415-9bf2ced13842/cmd/gorelease/testdata/mod/0000644000000000000000000000006415107355263030024 0ustar rootroot-- go.mod -- module example.com/prerelease go 1.12 ././@LongLink0000644000000000000000000000020100000000000011574 Lustar rootrootdependencies/pkg/mod/golang.org/x/exp@v0.0.0-20240506185415-9bf2ced13842/cmd/gorelease/testdata/mod/example.com_basic_v1.1.1.txtdependencies/pkg/mod/golang.org/x/exp@v0.0.0-20240506185415-9bf2ced13842/cmd/gorelease/testdata/mod/0000644000000000000000000000025615107355263030027 0ustar rootroot-- go.mod -- module example.com/basic go 1.12 -- a/a.go -- package a func A() int { return 1 } func A2() int { return 2 } -- b/b.go -- package b func B() int { return 3 } ././@LongLink0000644000000000000000000000020200000000000011575 Lustar rootrootdependencies/pkg/mod/golang.org/x/exp@v0.0.0-20240506185415-9bf2ced13842/cmd/gorelease/testdata/mod/example.com_errors_v0.2.0.txtdependencies/pkg/mod/golang.org/x/exp@v0.0.0-20240506185415-9bf2ced13842/cmd/gorelease/testdata/mod/0000644000000000000000000000033615107355263030026 0ustar rootroot-- go.mod -- module example.com/errors go 1.12 -- fixed/fixed.go -- package fixed const X int = 12 -- broken/broken.go -- package broken const X int = Missing -- added/added.go -- package added const X int = Missing ././@LongLink0000644000000000000000000000020100000000000011574 Lustar rootrootdependencies/pkg/mod/golang.org/x/exp@v0.0.0-20240506185415-9bf2ced13842/cmd/gorelease/testdata/mod/example.com_basic_v0.1.1.txtdependencies/pkg/mod/golang.org/x/exp@v0.0.0-20240506185415-9bf2ced13842/cmd/gorelease/testdata/mod/0000644000000000000000000000025615107355263030027 0ustar rootroot-- go.mod -- module example.com/basic go 1.12 -- a/a.go -- package a func A() int { return 1 } func A2() int { return 2 } -- b/b.go -- package b func B() int { return 3 } ././@LongLink0000644000000000000000000000021000000000000011574 Lustar rootrootdependencies/pkg/mod/golang.org/x/exp@v0.0.0-20240506185415-9bf2ced13842/cmd/gorelease/testdata/mod/example.com_basic_version-1.0.1.txtdependencies/pkg/mod/golang.org/x/exp@v0.0.0-20240506185415-9bf2ced13842/cmd/gorelease/testdata/mod/0000644000000000000000000000004115107355263030017 0ustar rootroot-- .info -- {"Version":"v1.0.1"} ././@LongLink0000644000000000000000000000020100000000000011574 Lustar rootrootdependencies/pkg/mod/golang.org/x/exp@v0.0.0-20240506185415-9bf2ced13842/cmd/gorelease/testdata/mod/example.com_basic_v1.1.0.txtdependencies/pkg/mod/golang.org/x/exp@v0.0.0-20240506185415-9bf2ced13842/cmd/gorelease/testdata/mod/0000644000000000000000000000025615107355263030027 0ustar rootroot-- go.mod -- module example.com/basic go 1.12 -- a/a.go -- package a func A() int { return 0 } func A2() int { return 2 } -- b/b.go -- package b func B() int { return 3 } ././@LongLink0000644000000000000000000000020100000000000011574 Lustar rootrootdependencies/pkg/mod/golang.org/x/exp@v0.0.0-20240506185415-9bf2ced13842/cmd/gorelease/testdata/mod/example.com_cycle_v1.5.0.txtdependencies/pkg/mod/golang.org/x/exp@v0.0.0-20240506185415-9bf2ced13842/cmd/gorelease/testdata/mod/0000644000000000000000000000010315107355263030016 0ustar rootroot-- go.mod -- module example.com/cycle go 1.12 -- a.go -- package a././@LongLink0000644000000000000000000000020400000000000011577 Lustar rootrootdependencies/pkg/mod/golang.org/x/exp@v0.0.0-20240506185415-9bf2ced13842/cmd/gorelease/testdata/mod/example.com_basic_v2_v2.0.1.txtdependencies/pkg/mod/golang.org/x/exp@v0.0.0-20240506185415-9bf2ced13842/cmd/gorelease/testdata/mod/0000644000000000000000000000014415107355263030023 0ustar rootroot-- go.mod -- module example.com/basic/v2 go 1.12 -- a/a.go -- package a func A() int { return 0 } ././@LongLink0000644000000000000000000000020300000000000011576 Lustar rootrootdependencies/pkg/mod/golang.org/x/exp@v0.0.0-20240506185415-9bf2ced13842/cmd/gorelease/testdata/mod/example.com_private_v1.0.0.txtdependencies/pkg/mod/golang.org/x/exp@v0.0.0-20240506185415-9bf2ced13842/cmd/gorelease/testdata/mod/0000644000000000000000000000030415107355263030021 0ustar rootroot-- go.mod -- module example.com/private go 1.12 -- p/p.go -- package p import "example.com/private/internal/i" type P i.I -- internal/i/i.go -- package i type I interface{} func Delete() {} ././@LongLink0000644000000000000000000000020600000000000011601 Lustar rootrootdependencies/pkg/mod/golang.org/x/exp@v0.0.0-20240506185415-9bf2ced13842/cmd/gorelease/testdata/mod/example.com_retractdep_v1.0.0.txtdependencies/pkg/mod/golang.org/x/exp@v0.0.0-20240506185415-9bf2ced13842/cmd/gorelease/testdata/mod/0000644000000000000000000000012715107355263030024 0ustar rootroot-- go.mod -- module example.com/retractdep go 1.12 -- a.go -- package a const A = "a"././@LongLink0000644000000000000000000000021100000000000011575 Lustar rootrootdependencies/pkg/mod/golang.org/x/exp@v0.0.0-20240506185415-9bf2ced13842/cmd/gorelease/testdata/mod/example.com_retractdep_v2_v2.0.1.txtdependencies/pkg/mod/golang.org/x/exp@v0.0.0-20240506185415-9bf2ced13842/cmd/gorelease/testdata/mod/0000644000000000000000000000015215107355263030022 0ustar rootroot-- go.mod -- module example.com/retractdep/v2 go 1.12 retract v2.0.0 -- a.go -- package a const A = "a"././@LongLink0000644000000000000000000000020100000000000011574 Lustar rootrootdependencies/pkg/mod/golang.org/x/exp@v0.0.0-20240506185415-9bf2ced13842/cmd/gorelease/testdata/mod/example.com_basic_v0.1.2.txtdependencies/pkg/mod/golang.org/x/exp@v0.0.0-20240506185415-9bf2ced13842/cmd/gorelease/testdata/mod/0000644000000000000000000000014115107355263030020 0ustar rootroot-- go.mod -- module example.com/basic go 1.12 -- a/a.go -- package a func A() int { return 1 } ././@LongLink0000644000000000000000000000020100000000000011574 Lustar rootrootdependencies/pkg/mod/golang.org/x/exp@v0.0.0-20240506185415-9bf2ced13842/cmd/gorelease/testdata/mod/example.com_basic_v0.1.0.txtdependencies/pkg/mod/golang.org/x/exp@v0.0.0-20240506185415-9bf2ced13842/cmd/gorelease/testdata/mod/0000644000000000000000000000025615107355263030027 0ustar rootroot-- go.mod -- module example.com/basic go 1.12 -- a/a.go -- package a func A() int { return 0 } func A2() int { return 2 } -- b/b.go -- package b func B() int { return 3 } ././@LongLink0000644000000000000000000000020500000000000011600 Lustar rootrootdependencies/pkg/mod/golang.org/x/exp@v0.0.0-20240506185415-9bf2ced13842/cmd/gorelease/testdata/mod/example.com_basic_v1.1.1-pre.txtdependencies/pkg/mod/golang.org/x/exp@v0.0.0-20240506185415-9bf2ced13842/cmd/gorelease/testdata/mod/0000644000000000000000000000025615107355263030027 0ustar rootroot-- go.mod -- module example.com/basic go 1.12 -- a/a.go -- package a func A() int { return 1 } func A2() int { return 2 } -- b/b.go -- package b func B() int { return 3 } ././@LongLink0000644000000000000000000000020300000000000011576 Lustar rootrootdependencies/pkg/mod/golang.org/x/exp@v0.0.0-20240506185415-9bf2ced13842/cmd/gorelease/testdata/mod/example.com_require_v0.1.1.txtdependencies/pkg/mod/golang.org/x/exp@v0.0.0-20240506185415-9bf2ced13842/cmd/gorelease/testdata/mod/0000644000000000000000000000072515107355263030030 0ustar rootroot-- go.mod -- module example.com/require go 1.12 require example.com/basic v1.1.0 -- go.sum -- example.com/basic v1.1.0/go.mod h1:pv9xTX7lhV6R1XNYo1EcI/DQqKxDyhNTN+K1DjHW2Oo= golang.org/x/text v0.0.0-20170915032832-14c0d48ead0c/go.mod h1:NqM8EUOU14njkJ3fqMW+pc6Ldnwhi/IjpwHt7yyuwOQ= rsc.io/quote v1.5.2/go.mod h1:LzX7hefJvL54yjefDEDHNONDjII0t9xZLPXsUe+TKr0= rsc.io/sampler v1.3.0/go.mod h1:T1hPZKmBbMNahiBKFy5HrXp6adAjACjK9JXDnKaTXpA= -- require.go -- package require ././@LongLink0000644000000000000000000000020100000000000011574 Lustar rootrootdependencies/pkg/mod/golang.org/x/exp@v0.0.0-20240506185415-9bf2ced13842/cmd/gorelease/testdata/mod/example.com_empty_v0.0.2.txtdependencies/pkg/mod/golang.org/x/exp@v0.0.0-20240506185415-9bf2ced13842/cmd/gorelease/testdata/mod/0000644000000000000000000000005715107355263030026 0ustar rootroot-- go.mod -- module example.com/empty go 1.14 ././@LongLink0000644000000000000000000000021400000000000011600 Lustar rootrootdependencies/pkg/mod/golang.org/x/exp@v0.0.0-20240506185415-9bf2ced13842/cmd/gorelease/testdata/mod/example.com_internalcompat_a_v1.0.0.txtdependencies/pkg/mod/golang.org/x/exp@v0.0.0-20240506185415-9bf2ced13842/cmd/gorelease/testdata/mod/0000644000000000000000000000025715107355263030030 0ustar rootroot-- go.mod -- module example.com/internalcompat/a go 1.15 -- p/p.go -- package p import "example.com/internalcompat/a/q" var V q.Q -- q/q.go -- package q type Q struct{} ././@LongLink0000644000000000000000000000021100000000000011575 Lustar rootrootdependencies/pkg/mod/golang.org/x/exp@v0.0.0-20240506185415-9bf2ced13842/cmd/gorelease/testdata/mod/example.com_retractdep_v3_v3.0.1.txtdependencies/pkg/mod/golang.org/x/exp@v0.0.0-20240506185415-9bf2ced13842/cmd/gorelease/testdata/mod/0000644000000000000000000000116715107355263030031 0ustar rootroot-- go.mod -- module example.com/retractdep/v3 go 1.12 // This is a very long message. This is a very long message. This is a very long message. This is a very long message. This is a very long message. This is a very long message. This is a very long message. This is a very long message. This is a very long message. This is a very long message. This is a very long message. This is a very long message. This is a very long message. This is a very long message. This is a very long message. This is a very long message. This is a very long message. This is a very long message. retract v3.0.0 -- a.go -- package a const A = "a"././@LongLink0000644000000000000000000000020100000000000011574 Lustar rootrootdependencies/pkg/mod/golang.org/x/exp@v0.0.0-20240506185415-9bf2ced13842/cmd/gorelease/testdata/mod/example.com_basic_v1.0.1.txtdependencies/pkg/mod/golang.org/x/exp@v0.0.0-20240506185415-9bf2ced13842/cmd/gorelease/testdata/mod/0000644000000000000000000000014115107355263030020 0ustar rootroot-- go.mod -- module example.com/basic go 1.12 -- a/a.go -- package a func A() int { return 0 } ././@LongLink0000644000000000000000000000020400000000000011577 Lustar rootrootdependencies/pkg/mod/golang.org/x/exp@v0.0.0-20240506185415-9bf2ced13842/cmd/gorelease/testdata/mod/example.com_sub_nest_v1.0.0.txtdependencies/pkg/mod/golang.org/x/exp@v0.0.0-20240506185415-9bf2ced13842/cmd/gorelease/testdata/mod/0000644000000000000000000000011515107355263030021 0ustar rootroot-- go.mod -- module example.com/sub/nest go 1.12 -- nest.go -- package nest ././@LongLink0000644000000000000000000000020600000000000011601 Lustar rootrootdependencies/pkg/mod/golang.org/x/exp@v0.0.0-20240506185415-9bf2ced13842/cmd/gorelease/testdata/mod/example.com_retractdep_v1.0.1.txtdependencies/pkg/mod/golang.org/x/exp@v0.0.0-20240506185415-9bf2ced13842/cmd/gorelease/testdata/mod/0000644000000000000000000000024515107355263030025 0ustar rootroot-- go.mod -- module example.com/retractdep go 1.12 // Remote-triggered crash in package foo. See CVE-2021-01234. retract v1.0.0 -- a.go -- package a const A = "a"././@LongLink0000644000000000000000000000017700000000000011610 Lustar rootrootdependencies/pkg/mod/golang.org/x/exp@v0.0.0-20240506185415-9bf2ced13842/cmd/gorelease/testdata/mod/example.com_fix_v1.0.0.txtdependencies/pkg/mod/golang.org/x/exp@v0.0.0-20240506185415-9bf2ced13842/cmd/gorelease/testdata/mod/0000644000000000000000000000030715107355263030024 0ustar rootroot-- go.mod -- module example.com/fix go 1.13 -- bad/bad.go -- package bad func Broken() NOTYPE { return 0 } func Bad() int { return 1 } -- good/good.go -- package good func Good() int { return 1 } ././@LongLink0000644000000000000000000000020400000000000011577 Lustar rootrootdependencies/pkg/mod/golang.org/x/exp@v0.0.0-20240506185415-9bf2ced13842/cmd/gorelease/testdata/mod/example.com_cycledep_v1.0.0.txtdependencies/pkg/mod/golang.org/x/exp@v0.0.0-20240506185415-9bf2ced13842/cmd/gorelease/testdata/mod/0000644000000000000000000000020715107355263030023 0ustar rootroot-- go.mod -- module example.com/cycledep go 1.12 require example.com/cycle v1.5.0 -- a.go -- package a import _ "example.com/cycle" ././@LongLink0000644000000000000000000000020500000000000011600 Lustar rootrootdependencies/pkg/mod/golang.org/x/exp@v0.0.0-20240506185415-9bf2ced13842/cmd/gorelease/testdata/mod/example.com_basic_v0.1.1-pre.txtdependencies/pkg/mod/golang.org/x/exp@v0.0.0-20240506185415-9bf2ced13842/cmd/gorelease/testdata/mod/0000644000000000000000000000025615107355263030027 0ustar rootroot-- go.mod -- module example.com/basic go 1.12 -- a/a.go -- package a func A() int { return 1 } func A2() int { return 2 } -- b/b.go -- package b func B() int { return 3 } ././@LongLink0000644000000000000000000000022000000000000011575 Lustar rootrootdependencies/pkg/mod/golang.org/x/exp@v0.0.0-20240506185415-9bf2ced13842/cmd/gorelease/testdata/mod/example.com_fix_v1.1.0-compatible-other.txtdependencies/pkg/mod/golang.org/x/exp@v0.0.0-20240506185415-9bf2ced13842/cmd/gorelease/testdata/mod/0000644000000000000000000000034315107355263030024 0ustar rootroot-- go.mod -- module example.com/fix go 1.13 -- bad/bad.go -- package bad func Broken() int { return 0 } func Bad() int { return 1 } -- good/good.go -- package good func Good() int { return 1 } func Better() int { return 2 } ././@LongLink0000644000000000000000000000020200000000000011575 Lustar rootrootdependencies/pkg/mod/golang.org/x/exp@v0.0.0-20240506185415-9bf2ced13842/cmd/gorelease/testdata/mod/example.com_errors_v0.1.0.txtdependencies/pkg/mod/golang.org/x/exp@v0.0.0-20240506185415-9bf2ced13842/cmd/gorelease/testdata/mod/0000644000000000000000000000110615107355263030022 0ustar rootrootModule example.com/errors is used to compare modules with errors across two versions. * Package "fixed" has type errors in v0.1.0, fixed in v0.2.0. * Package "deleted" has type errors in v0.1.0, deleted in v0.2.0. * Package "broken" is correct in v0.1.0, has type errors in v0.2.0. * Package "added" doesn't exist in v0.1.0, has type errors in v0.2.0. -- go.mod -- module example.com/errors go 1.12 -- fixed/fixed.go -- package fixed const X int = Missing -- deleted/deleted.go -- package deleted const X int = Missing -- broken/broken.go -- package broken const X int = 12 ././@LongLink0000644000000000000000000000020700000000000011602 Lustar rootrootdependencies/pkg/mod/golang.org/x/exp@v0.0.0-20240506185415-9bf2ced13842/cmd/gorelease/testdata/mod/example.com_sub_nest_v2_v2.0.0.txtdependencies/pkg/mod/golang.org/x/exp@v0.0.0-20240506185415-9bf2ced13842/cmd/gorelease/testdata/mod/0000644000000000000000000000012015107355263030015 0ustar rootroot-- go.mod -- module example.com/sub/nest/v2 go 1.12 -- nest.go -- package nest ././@LongLink0000644000000000000000000000020200000000000011575 Lustar rootrootdependencies/pkg/mod/golang.org/x/exp@v0.0.0-20240506185415-9bf2ced13842/cmd/gorelease/testdata/mod/example.com_tidy_a_v0.1.0.txtdependencies/pkg/mod/golang.org/x/exp@v0.0.0-20240506185415-9bf2ced13842/cmd/gorelease/testdata/mod/0000644000000000000000000000020715107355263030023 0ustar rootroot-- go.mod -- module example.com/tidy/a go 1.12 require example.com/tidy/b v0.2.0 -- p.go -- package a import _ "example.com/tidy/b" ././@LongLink0000644000000000000000000000020100000000000011574 Lustar rootrootdependencies/pkg/mod/golang.org/x/exp@v0.0.0-20240506185415-9bf2ced13842/cmd/gorelease/testdata/mod/example.com_nomod_v0.0.1.txtdependencies/pkg/mod/golang.org/x/exp@v0.0.0-20240506185415-9bf2ced13842/cmd/gorelease/testdata/mod/0000644000000000000000000000025415107355263030025 0ustar rootroot-- .mod -- module example.com/nomod -- p/p.go -- package p // import "example.com/something/different" // The import comment above is ignored by gorelease and by modules. ././@LongLink0000644000000000000000000000020000000000000011573 Lustar rootrootdependencies/pkg/mod/golang.org/x/exp@v0.0.0-20240506185415-9bf2ced13842/cmd/gorelease/testdata/mod/example.com_tidy_v0.0.1.txtdependencies/pkg/mod/golang.org/x/exp@v0.0.0-20240506185415-9bf2ced13842/cmd/gorelease/testdata/mod/0000644000000000000000000000011115107355263030015 0ustar rootroot-- go.mod -- module example.com/tidy go 1.12 -- tidy.go -- package tidy ././@LongLink0000644000000000000000000000021300000000000011577 Lustar rootrootdependencies/pkg/mod/golang.org/x/exp@v0.0.0-20240506185415-9bf2ced13842/cmd/gorelease/testdata/mod/example.com_basic_v3_v3.0.0-ignore.txtdependencies/pkg/mod/golang.org/x/exp@v0.0.0-20240506185415-9bf2ced13842/cmd/gorelease/testdata/mod/0000644000000000000000000000013215107355263030020 0ustar rootroot-- .info -- {"Version":"v3.0.0-ignore"} -- go.mod -- module example.com/basic/v3 go 1.13 ././@LongLink0000644000000000000000000000021700000000000011603 Lustar rootrootdependencies/pkg/mod/golang.org/x/exp@v0.0.0-20240506185415-9bf2ced13842/cmd/gorelease/testdata/mod/example.com_fix_v1.1.0-compatible-same.txtdependencies/pkg/mod/golang.org/x/exp@v0.0.0-20240506185415-9bf2ced13842/cmd/gorelease/testdata/mod/0000644000000000000000000000034315107355263030024 0ustar rootroot-- go.mod -- module example.com/fix go 1.13 -- bad/bad.go -- package bad func Broken() int { return 0 } func Bad() int { return 1 } func Worse() int { return -1 } -- good/good.go -- package good func Good() int { return 1 } ././@LongLink0000644000000000000000000000020400000000000011577 Lustar rootrootdependencies/pkg/mod/golang.org/x/exp@v0.0.0-20240506185415-9bf2ced13842/cmd/gorelease/testdata/mod/example.com_basic_v2_v2.1.0.txtdependencies/pkg/mod/golang.org/x/exp@v0.0.0-20240506185415-9bf2ced13842/cmd/gorelease/testdata/mod/0000644000000000000000000000026115107355263030023 0ustar rootroot-- go.mod -- module example.com/basic/v2 go 1.12 -- a/a.go -- package a func A() int { return 0 } func A2() int { return 2 } -- b/b.go -- package b func B() int { return 3 } ././@LongLink0000644000000000000000000000020300000000000011576 Lustar rootrootdependencies/pkg/mod/golang.org/x/exp@v0.0.0-20240506185415-9bf2ced13842/cmd/gorelease/testdata/mod/example.com_retract_v0.0.1.txtdependencies/pkg/mod/golang.org/x/exp@v0.0.0-20240506185415-9bf2ced13842/cmd/gorelease/testdata/mod/0000644000000000000000000000050015107355263030017 0ustar rootroot-- go.mod -- module example.com/retract go 1.12 require example.com/retractdep v1.0.0 -- go.sum -- example.com/retractdep v1.0.0 h1:SOVn6jA2ygQY+v8/5aAwxVUJ9teuLrdH/UmbUtp2C44= example.com/retractdep v1.0.0/go.mod h1:UjjWSH/ulfbAGgQQwm7pAZ988MFRngUSkJnzcuPsYDI= -- a.go -- package a import _ "example.com/retractdep" ././@LongLink0000644000000000000000000000020200000000000011575 Lustar rootrootdependencies/pkg/mod/golang.org/x/exp@v0.0.0-20240506185415-9bf2ced13842/cmd/gorelease/testdata/mod/example.com_tidy_b_v0.1.0.txtdependencies/pkg/mod/golang.org/x/exp@v0.0.0-20240506185415-9bf2ced13842/cmd/gorelease/testdata/mod/0000644000000000000000000000010515107355263030020 0ustar rootroot-- go.mod -- module example.com/tidy/b go 1.12 -- p.go -- package b ././@LongLink0000644000000000000000000000020100000000000011574 Lustar rootrootdependencies/pkg/mod/golang.org/x/exp@v0.0.0-20240506185415-9bf2ced13842/cmd/gorelease/testdata/mod/example.com_cycle_v1.0.0.txtdependencies/pkg/mod/golang.org/x/exp@v0.0.0-20240506185415-9bf2ced13842/cmd/gorelease/testdata/mod/0000644000000000000000000000072415107355263030027 0ustar rootroot-- go.sum -- example.com/cycle v1.5.0 h1:OkE6KLRVRM5XqIH9MMFIvoYCVjxMh8kqsxUzx5481s4= example.com/cycle v1.5.0/go.mod h1://AqZbyNHeLOKZB3J/UPPXaBvk3nCqvqVRbPkffDx60= example.com/cycledep v1.0.0 h1:5UDqvIlbZsKzzbZCOaHkxV+X0H6Fi4othxBS57NtjSs= example.com/cycledep v1.0.0/go.mod h1:Gc4hO1S1BMZaxOcGHwCRmdVcQP8+jAu/PyEgLdGe0xU= -- go.mod -- module example.com/cycle go 1.12 require example.com/cycledep v1.0.0 -- main.go -- package main import _ "example.com/cycledep"././@LongLink0000644000000000000000000000020600000000000011601 Lustar rootrootdependencies/pkg/mod/golang.org/x/exp@v0.0.0-20240506185415-9bf2ced13842/cmd/gorelease/testdata/mod/example.com_issue37756_v1.0.0.txtdependencies/pkg/mod/golang.org/x/exp@v0.0.0-20240506185415-9bf2ced13842/cmd/gorelease/testdata/mod/0000644000000000000000000000031015107355263030016 0ustar rootroot-- go.mod -- module example.com/issue37756 go 1.14 -- a/a.go -- package a import _ "example.com/issue37756/b" func A1() {} -- b/b.go -- package b func B1() {} -- c/c.go -- package c func C1() {} ././@LongLink0000644000000000000000000000021000000000000011574 Lustar rootrootdependencies/pkg/mod/golang.org/x/exp@v0.0.0-20240506185415-9bf2ced13842/cmd/gorelease/testdata/mod/example.com_basic_v2_v2.1.1-pre.txtdependencies/pkg/mod/golang.org/x/exp@v0.0.0-20240506185415-9bf2ced13842/cmd/gorelease/testdata/mod/0000644000000000000000000000026115107355263030023 0ustar rootroot-- go.mod -- module example.com/basic/v2 go 1.12 -- a/a.go -- package a func A() int { return 1 } func A2() int { return 2 } -- b/b.go -- package b func B() int { return 3 } ././@LongLink0000644000000000000000000000020400000000000011577 Lustar rootrootdependencies/pkg/mod/golang.org/x/exp@v0.0.0-20240506185415-9bf2ced13842/cmd/gorelease/testdata/mod/example.com_basic_v2_v2.1.1.txtdependencies/pkg/mod/golang.org/x/exp@v0.0.0-20240506185415-9bf2ced13842/cmd/gorelease/testdata/mod/0000644000000000000000000000026115107355263030023 0ustar rootroot-- go.mod -- module example.com/basic/v2 go 1.12 -- a/a.go -- package a func A() int { return 1 } func A2() int { return 2 } -- b/b.go -- package b func B() int { return 3 } ././@LongLink0000644000000000000000000000020100000000000011574 Lustar rootrootdependencies/pkg/mod/golang.org/x/exp@v0.0.0-20240506185415-9bf2ced13842/cmd/gorelease/testdata/mod/example.com_basic_v1.1.2.txtdependencies/pkg/mod/golang.org/x/exp@v0.0.0-20240506185415-9bf2ced13842/cmd/gorelease/testdata/mod/0000644000000000000000000000014115107355263030020 0ustar rootroot-- go.mod -- module example.com/basic go 1.12 -- a/a.go -- package a func A() int { return 1 } ././@LongLink0000644000000000000000000000020100000000000011574 Lustar rootrootdependencies/pkg/mod/golang.org/x/exp@v0.0.0-20240506185415-9bf2ced13842/cmd/gorelease/testdata/mod/example.com_nomod_v0.0.2.txtdependencies/pkg/mod/golang.org/x/exp@v0.0.0-20240506185415-9bf2ced13842/cmd/gorelease/testdata/mod/0000644000000000000000000000010615107355263030021 0ustar rootroot-- go.mod -- module example.com/nomod go 1.12 -- p/p.go -- package p ././@LongLink0000644000000000000000000000020100000000000011574 Lustar rootrootdependencies/pkg/mod/golang.org/x/exp@v0.0.0-20240506185415-9bf2ced13842/cmd/gorelease/testdata/mod/example.com_empty_v0.0.1.txtdependencies/pkg/mod/golang.org/x/exp@v0.0.0-20240506185415-9bf2ced13842/cmd/gorelease/testdata/mod/0000644000000000000000000000005715107355263030026 0ustar rootroot-- go.mod -- module example.com/empty go 1.14 ././@LongLink0000644000000000000000000000022100000000000011576 Lustar rootrootdependencies/pkg/mod/golang.org/x/exp@v0.0.0-20240506185415-9bf2ced13842/cmd/gorelease/testdata/mod/example.com_fix_v1.1.0-incompatible-same.txtdependencies/pkg/mod/golang.org/x/exp@v0.0.0-20240506185415-9bf2ced13842/cmd/gorelease/testdata/mod/0000644000000000000000000000031115107355263030017 0ustar rootroot-- go.mod -- module example.com/fix go 1.13 -- bad/bad.go -- package bad func Broken() int { return 0 } func Bad() string { return "1" } -- good/good.go -- package good func Good() int { return 1 } ././@LongLink0000644000000000000000000000021100000000000011575 Lustar rootrootdependencies/pkg/mod/golang.org/x/exp@v0.0.0-20240506185415-9bf2ced13842/cmd/gorelease/testdata/mod/example.com_retractdep_v3_v3.0.0.txtdependencies/pkg/mod/golang.org/x/exp@v0.0.0-20240506185415-9bf2ced13842/cmd/gorelease/testdata/mod/0000644000000000000000000000052515107355263030026 0ustar rootroot# Identical to v1.0.0: just need a new version so that we can test different # error messages based on the vX.0.1 retraction comments. We can't test them in # the same major version because go mod will always use the latest version's # error message. -- go.mod -- module example.com/retractdep/v3 go 1.12 -- a.go -- package a const A = "a"././@LongLink0000644000000000000000000000020400000000000011577 Lustar rootrootdependencies/pkg/mod/golang.org/x/exp@v0.0.0-20240506185415-9bf2ced13842/cmd/gorelease/testdata/mod/example.com_cycle_v2_v2.0.0.txtdependencies/pkg/mod/golang.org/x/exp@v0.0.0-20240506185415-9bf2ced13842/cmd/gorelease/testdata/mod/0000644000000000000000000000137615107355263030033 0ustar rootroot# Note: "go get -d ." will add another example.com/cycle/v2 line. That line is # non-deterministic, since the module is generate by prepareLoadDir each time. # However, gorelease should ignore new go.sum entries for the module it's # testing, since the requirement on that module is fake (a simulation: the user # isn't actually relying on their own module). -- go.sum -- example.com/cycle/v2 v2.0.0/go.mod h1:lkmoN54Yqku+pnE3i6U+PjV87yiHyv3Rbei+phlzGGU= example.com/cycledep/v2 v2.0.0 h1:B8tgq8pxH4IbvvozFpGx7k+HUeLoAPcmCixOXPZiuTE= example.com/cycledep/v2 v2.0.0/go.mod h1:wBHRfgrlyovU4csu71ja8ySemxEOKOr8PpAiMU82nLw= -- go.mod -- module example.com/cycle/v2 go 1.12 require example.com/cycledep/v2 v2.0.0 -- a.go -- package a import _ "example.com/cycledep/v2"././@LongLink0000644000000000000000000000020100000000000011574 Lustar rootrootdependencies/pkg/mod/golang.org/x/exp@v0.0.0-20240506185415-9bf2ced13842/cmd/gorelease/testdata/mod/example.com_basic_v0.0.1.txtdependencies/pkg/mod/golang.org/x/exp@v0.0.0-20240506185415-9bf2ced13842/cmd/gorelease/testdata/mod/0000644000000000000000000000014115107355263030020 0ustar rootroot-- go.mod -- module example.com/basic go 1.12 -- a/a.go -- package a func A() int { return 0 } ././@LongLink0000644000000000000000000000020400000000000011577 Lustar rootrootdependencies/pkg/mod/golang.org/x/exp@v0.0.0-20240506185415-9bf2ced13842/cmd/gorelease/testdata/mod/example.com_basic_v2_v2.1.2.txtdependencies/pkg/mod/golang.org/x/exp@v0.0.0-20240506185415-9bf2ced13842/cmd/gorelease/testdata/mod/0000644000000000000000000000014415107355263030023 0ustar rootroot-- go.mod -- module example.com/basic/v2 go 1.12 -- a/a.go -- package a func A() int { return 1 } ././@LongLink0000644000000000000000000000020500000000000011600 Lustar rootrootdependencies/pkg/mod/golang.org/x/exp@v0.0.0-20240506185415-9bf2ced13842/cmd/gorelease/testdata/mod/example.com_fix_v1.0.1-patch.txtdependencies/pkg/mod/golang.org/x/exp@v0.0.0-20240506185415-9bf2ced13842/cmd/gorelease/testdata/mod/0000644000000000000000000000030415107355263030021 0ustar rootroot-- go.mod -- module example.com/fix go 1.13 -- bad/bad.go -- package bad func Broken() int { return 0 } func Bad() int { return 1 } -- good/good.go -- package good func Good() int { return 1 } ././@LongLink0000644000000000000000000000021400000000000011600 Lustar rootrootdependencies/pkg/mod/golang.org/x/exp@v0.0.0-20240506185415-9bf2ced13842/cmd/gorelease/testdata/mod/example.com_internalcompat_b_v1.0.0.txtdependencies/pkg/mod/golang.org/x/exp@v0.0.0-20240506185415-9bf2ced13842/cmd/gorelease/testdata/mod/0000644000000000000000000000025715107355263030030 0ustar rootroot-- go.mod -- module example.com/internalcompat/b go 1.15 -- p/p.go -- package p import "example.com/internalcompat/b/q" var V q.Q -- q/q.go -- package q type Q struct{} ././@LongLink0000644000000000000000000000021500000000000011601 Lustar rootrootdependencies/pkg/mod/golang.org/x/exp@v0.0.0-20240506185415-9bf2ced13842/cmd/gorelease/testdata/mod/example.com_retracttransitive_v0.0.1.txtdependencies/pkg/mod/golang.org/x/exp@v0.0.0-20240506185415-9bf2ced13842/cmd/gorelease/testdata/mod/0000644000000000000000000000074115107355263030026 0ustar rootroot-- go.mod -- module example.com/retracttransitive go 1.12 require example.com/retract v0.0.1 -- go.sum -- example.com/retract v0.0.1 h1:Afj8efoHilltHZNLlEARzpc1Vkc5d6ugWKIE/YDmXuQ= example.com/retract v0.0.1/go.mod h1:DUqXjcGF3aJhkjxsUjQ0DG65b51DDBvFrEbcr9kkyto= example.com/retractdep v1.0.0 h1:SOVn6jA2ygQY+v8/5aAwxVUJ9teuLrdH/UmbUtp2C44= example.com/retractdep v1.0.0/go.mod h1:UjjWSH/ulfbAGgQQwm7pAZ988MFRngUSkJnzcuPsYDI= -- a.go -- package a import _ "example.com/retract" ././@LongLink0000644000000000000000000000022200000000000011577 Lustar rootrootdependencies/pkg/mod/golang.org/x/exp@v0.0.0-20240506185415-9bf2ced13842/cmd/gorelease/testdata/mod/example.com_fix_v1.1.0-incompatible-other.txtdependencies/pkg/mod/golang.org/x/exp@v0.0.0-20240506185415-9bf2ced13842/cmd/gorelease/testdata/mod/0000644000000000000000000000031115107355263030017 0ustar rootroot-- go.mod -- module example.com/fix go 1.13 -- bad/bad.go -- package bad func Broken() int { return 0 } func Bad() int { return 1 } -- good/good.go -- package good func Good() string { return "1" } ././@LongLink0000644000000000000000000000020200000000000011575 Lustar rootrootdependencies/pkg/mod/golang.org/x/exp@v0.0.0-20240506185415-9bf2ced13842/cmd/gorelease/testdata/mod/example.com_sub_v2_v2.0.0.txtdependencies/pkg/mod/golang.org/x/exp@v0.0.0-20240506185415-9bf2ced13842/cmd/gorelease/testdata/mod/0000644000000000000000000000011115107355263030015 0ustar rootroot-- go.mod -- module example.com/sub/v2 go 1.12 -- sub.go -- package sub ././@LongLink0000644000000000000000000000020200000000000011575 Lustar rootrootdependencies/pkg/mod/golang.org/x/exp@v0.0.0-20240506185415-9bf2ced13842/cmd/gorelease/testdata/mod/example.com_tidy_b_v0.2.0.txtdependencies/pkg/mod/golang.org/x/exp@v0.0.0-20240506185415-9bf2ced13842/cmd/gorelease/testdata/mod/0000644000000000000000000000012215107355263030017 0ustar rootroot-- go.mod -- module example.com/tidy/b go 1.12 -- p.go -- package b func B() {} ././@LongLink0000644000000000000000000000020300000000000011576 Lustar rootrootdependencies/pkg/mod/golang.org/x/exp@v0.0.0-20240506185415-9bf2ced13842/cmd/gorelease/testdata/mod/example.com_require_v0.0.1.txtdependencies/pkg/mod/golang.org/x/exp@v0.0.0-20240506185415-9bf2ced13842/cmd/gorelease/testdata/mod/0000644000000000000000000000012215107355263030017 0ustar rootroot-- go.mod -- module example.com/require go 1.12 -- require.go -- package require dependencies/pkg/mod/golang.org/x/exp@v0.0.0-20240506185415-9bf2ced13842/cmd/gorelease/testdata/fix/0000755000000000000000000000000015107355263030031 5ustar rootroot././@LongLink0000644000000000000000000000020300000000000011576 Lustar rootrootdependencies/pkg/mod/golang.org/x/exp@v0.0.0-20240506185415-9bf2ced13842/cmd/gorelease/testdata/fix/incompatible_same_suggest.testdependencies/pkg/mod/golang.org/x/exp@v0.0.0-20240506185415-9bf2ced13842/cmd/gorelease/testdata/fix/0000644000000000000000000000055415107355263030037 0ustar rootrootmod=example.com/fix base=v1.0.0 version=v1.1.0-incompatible-same success=false -- want -- # example.com/fix/bad ## errors in base version: bad/bad.go:3:15: undefined: NOTYPE ## incompatible changes Bad: changed from func() int to func() string Broken: changed from func() invalid type to func() int # summary Cannot suggest a release version. Errors were found. ././@LongLink0000644000000000000000000000020500000000000011600 Lustar rootrootdependencies/pkg/mod/golang.org/x/exp@v0.0.0-20240506185415-9bf2ced13842/cmd/gorelease/testdata/fix/compatible_other_verify_err.testdependencies/pkg/mod/golang.org/x/exp@v0.0.0-20240506185415-9bf2ced13842/cmd/gorelease/testdata/fix/0000644000000000000000000000076315107355263030041 0ustar rootrootmod=example.com/fix base=v1.0.0 version=v1.1.0-compatible-other release=v1.0.1 success=false -- want -- # example.com/fix/bad ## errors in base version: bad/bad.go:3:15: undefined: NOTYPE ## incompatible changes Broken: changed from func() invalid type to func() int # example.com/fix/good ## compatible changes Better: added # summary v1.0.1 is not a valid semantic version for this release. There are compatible changes, but the minor version is not incremented over the base version (v1.0.0). ././@LongLink0000644000000000000000000000020100000000000011574 Lustar rootrootdependencies/pkg/mod/golang.org/x/exp@v0.0.0-20240506185415-9bf2ced13842/cmd/gorelease/testdata/fix/compatible_other_verify.testdependencies/pkg/mod/golang.org/x/exp@v0.0.0-20240506185415-9bf2ced13842/cmd/gorelease/testdata/fix/0000644000000000000000000000070215107355263030032 0ustar rootrootmod=example.com/fix base=v1.0.0 version=v1.1.0-compatible-other release=v1.1.0 -- want -- # example.com/fix/bad ## errors in base version: bad/bad.go:3:15: undefined: NOTYPE ## incompatible changes Broken: changed from func() invalid type to func() int # example.com/fix/good ## compatible changes Better: added # summary v1.1.0 is a valid semantic version for this release. Errors were found in the base version. Some API changes may be omitted. ././@LongLink0000644000000000000000000000015700000000000011606 Lustar rootrootdependencies/pkg/mod/golang.org/x/exp@v0.0.0-20240506185415-9bf2ced13842/cmd/gorelease/testdata/fix/README.txtdependencies/pkg/mod/golang.org/x/exp@v0.0.0-20240506185415-9bf2ced13842/cmd/gorelease/testdata/fix/0000644000000000000000000000052715107355263030037 0ustar rootrootTests in this directory cover scenarios where errors in a package are fixed. v1.0.0 is used as the base version for all tests. It has an error: the return type of bad.Broken is undefined. Each test fixes the error and may make other changes (compatible or not). Note that fixing a type error in the API appears to be an incompatible change. ././@LongLink0000644000000000000000000000020300000000000011576 Lustar rootrootdependencies/pkg/mod/golang.org/x/exp@v0.0.0-20240506185415-9bf2ced13842/cmd/gorelease/testdata/fix/incompatible_other_verify.testdependencies/pkg/mod/golang.org/x/exp@v0.0.0-20240506185415-9bf2ced13842/cmd/gorelease/testdata/fix/0000644000000000000000000000072115107355263030033 0ustar rootrootmod=example.com/fix base=v1.0.0 version=v1.1.0-incompatible-other release=v1.1.0 success=false -- want -- # example.com/fix/bad ## errors in base version: bad/bad.go:3:15: undefined: NOTYPE ## incompatible changes Broken: changed from func() invalid type to func() int # example.com/fix/good ## incompatible changes Good: changed from func() int to func() string # summary v1.1.0 is not a valid semantic version for this release. There are incompatible changes. ././@LongLink0000644000000000000000000000020200000000000011575 Lustar rootrootdependencies/pkg/mod/golang.org/x/exp@v0.0.0-20240506185415-9bf2ced13842/cmd/gorelease/testdata/fix/compatible_other_suggest.testdependencies/pkg/mod/golang.org/x/exp@v0.0.0-20240506185415-9bf2ced13842/cmd/gorelease/testdata/fix/0000644000000000000000000000057115107355263030036 0ustar rootrootmod=example.com/fix base=v1.0.0 version=v1.1.0-compatible-other success=false -- want -- # example.com/fix/bad ## errors in base version: bad/bad.go:3:15: undefined: NOTYPE ## incompatible changes Broken: changed from func() invalid type to func() int # example.com/fix/good ## compatible changes Better: added # summary Cannot suggest a release version. Errors were found. ././@LongLink0000644000000000000000000000020100000000000011574 Lustar rootrootdependencies/pkg/mod/golang.org/x/exp@v0.0.0-20240506185415-9bf2ced13842/cmd/gorelease/testdata/fix/compatible_same_suggest.testdependencies/pkg/mod/golang.org/x/exp@v0.0.0-20240506185415-9bf2ced13842/cmd/gorelease/testdata/fix/0000644000000000000000000000053715107355263030040 0ustar rootrootmod=example.com/fix base=v1.0.0 version=v1.1.0-compatible-same success=false -- want -- # example.com/fix/bad ## errors in base version: bad/bad.go:3:15: undefined: NOTYPE ## incompatible changes Broken: changed from func() invalid type to func() int ## compatible changes Worse: added # summary Cannot suggest a release version. Errors were found. ././@LongLink0000644000000000000000000000016600000000000011606 Lustar rootrootdependencies/pkg/mod/golang.org/x/exp@v0.0.0-20240506185415-9bf2ced13842/cmd/gorelease/testdata/fix/patch_verify.testdependencies/pkg/mod/golang.org/x/exp@v0.0.0-20240506185415-9bf2ced13842/cmd/gorelease/testdata/fix/0000644000000000000000000000057315107355263030040 0ustar rootrootmod=example.com/fix base=v1.0.0 version=v1.0.1-patch release=v1.0.1 -- want -- # example.com/fix/bad ## errors in base version: bad/bad.go:3:15: undefined: NOTYPE ## incompatible changes Broken: changed from func() invalid type to func() int # summary v1.0.1 is a valid semantic version for this release. Errors were found in the base version. Some API changes may be omitted. ././@LongLink0000644000000000000000000000016700000000000011607 Lustar rootrootdependencies/pkg/mod/golang.org/x/exp@v0.0.0-20240506185415-9bf2ced13842/cmd/gorelease/testdata/fix/patch_suggest.testdependencies/pkg/mod/golang.org/x/exp@v0.0.0-20240506185415-9bf2ced13842/cmd/gorelease/testdata/fix/0000644000000000000000000000046215107355263030035 0ustar rootrootmod=example.com/fix base=v1.0.0 version=v1.0.1-patch success=false -- want -- # example.com/fix/bad ## errors in base version: bad/bad.go:3:15: undefined: NOTYPE ## incompatible changes Broken: changed from func() invalid type to func() int # summary Cannot suggest a release version. Errors were found. ././@LongLink0000644000000000000000000000020000000000000011573 Lustar rootrootdependencies/pkg/mod/golang.org/x/exp@v0.0.0-20240506185415-9bf2ced13842/cmd/gorelease/testdata/fix/compatible_same_verify.testdependencies/pkg/mod/golang.org/x/exp@v0.0.0-20240506185415-9bf2ced13842/cmd/gorelease/testdata/fix/0000644000000000000000000000073015107355263030033 0ustar rootrootmod=example.com/fix base=v1.0.0 version=v1.1.0-compatible-same release=v1.0.1 # not actually valid, but gorelease can't tell -- want -- # example.com/fix/bad ## errors in base version: bad/bad.go:3:15: undefined: NOTYPE ## incompatible changes Broken: changed from func() invalid type to func() int ## compatible changes Worse: added # summary v1.0.1 is a valid semantic version for this release. Errors were found in the base version. Some API changes may be omitted. ././@LongLink0000644000000000000000000000020200000000000011575 Lustar rootrootdependencies/pkg/mod/golang.org/x/exp@v0.0.0-20240506185415-9bf2ced13842/cmd/gorelease/testdata/fix/incompatible_same_verify.testdependencies/pkg/mod/golang.org/x/exp@v0.0.0-20240506185415-9bf2ced13842/cmd/gorelease/testdata/fix/0000644000000000000000000000074515107355263030041 0ustar rootrootmod=example.com/fix base=v1.0.0 version=v1.1.0-incompatible-same release=v1.0.1 # not actually valid, but gorelease can't tell -- want -- # example.com/fix/bad ## errors in base version: bad/bad.go:3:15: undefined: NOTYPE ## incompatible changes Bad: changed from func() int to func() string Broken: changed from func() invalid type to func() int # summary v1.0.1 is a valid semantic version for this release. Errors were found in the base version. Some API changes may be omitted. ././@LongLink0000644000000000000000000000020400000000000011577 Lustar rootrootdependencies/pkg/mod/golang.org/x/exp@v0.0.0-20240506185415-9bf2ced13842/cmd/gorelease/testdata/fix/incompatible_other_suggest.testdependencies/pkg/mod/golang.org/x/exp@v0.0.0-20240506185415-9bf2ced13842/cmd/gorelease/testdata/fix/0000644000000000000000000000063615107355263030040 0ustar rootrootmod=example.com/fix base=v1.0.0 version=v1.1.0-incompatible-other success=false -- want -- # example.com/fix/bad ## errors in base version: bad/bad.go:3:15: undefined: NOTYPE ## incompatible changes Broken: changed from func() invalid type to func() int # example.com/fix/good ## incompatible changes Good: changed from func() int to func() string # summary Cannot suggest a release version. Errors were found. ././@LongLink0000644000000000000000000000015400000000000011603 Lustar rootrootdependencies/pkg/mod/golang.org/x/exp@v0.0.0-20240506185415-9bf2ced13842/cmd/gorelease/testdata/prerelease/dependencies/pkg/mod/golang.org/x/exp@v0.0.0-20240506185415-9bf2ced13842/cmd/gorelease/testdata/prer0000755000000000000000000000000015107355263030134 5ustar rootroot././@LongLink0000644000000000000000000000020100000000000011574 Lustar rootrootdependencies/pkg/mod/golang.org/x/exp@v0.0.0-20240506185415-9bf2ced13842/cmd/gorelease/testdata/prerelease/prerelease_beta2.testdependencies/pkg/mod/golang.org/x/exp@v0.0.0-20240506185415-9bf2ced13842/cmd/gorelease/testdata/prer0000644000000000000000000000032015107355263030131 0ustar rootrootmod=example.com/prerelease release=v0.0.0-beta2 -- want -- # summary Inferred base version: none v0.0.0-beta2 is a valid semantic version for this release. -- go.mod -- module example.com/prerelease go 1.12 ././@LongLink0000644000000000000000000000016600000000000011606 Lustar rootrootdependencies/pkg/mod/golang.org/x/exp@v0.0.0-20240506185415-9bf2ced13842/cmd/gorelease/testdata/prerelease/README.txtdependencies/pkg/mod/golang.org/x/exp@v0.0.0-20240506185415-9bf2ced13842/cmd/gorelease/testdata/prer0000644000000000000000000000006715107355263030141 0ustar rootrootThis directory contains tests for pre-release versions.././@LongLink0000644000000000000000000000020500000000000011600 Lustar rootrootdependencies/pkg/mod/golang.org/x/exp@v0.0.0-20240506185415-9bf2ced13842/cmd/gorelease/testdata/prerelease/prerelease_wordsonly.testdependencies/pkg/mod/golang.org/x/exp@v0.0.0-20240506185415-9bf2ced13842/cmd/gorelease/testdata/prer0000644000000000000000000000036215107355263030137 0ustar rootrootmod=example.com/prerelease release=v0.0.0-some-words-only-suffix -- want -- # summary Inferred base version: none v0.0.0-some-words-only-suffix is a valid semantic version for this release. -- go.mod -- module example.com/prerelease go 1.12 ././@LongLink0000644000000000000000000000017500000000000011606 Lustar rootrootdependencies/pkg/mod/golang.org/x/exp@v0.0.0-20240506185415-9bf2ced13842/cmd/gorelease/testdata/prerelease/prerelease_2.testdependencies/pkg/mod/golang.org/x/exp@v0.0.0-20240506185415-9bf2ced13842/cmd/gorelease/testdata/prer0000644000000000000000000000071515107355263030141 0ustar rootrootmod=example.com/prerelease release=v0.0.0-2 success=false -- want -- # diagnostics Version v0.0.0-2 is lower than most pseudo-versions. Consider releasing v0.1.0-0 instead. # summary Inferred base version: none v0.0.0-2 is a valid semantic version for this release. Note: v0.0.0-2 sorts lower in MVS than pseudo-versions, which may be unexpected for users. So, it may be better to choose a different suffix. -- go.mod -- module example.com/prerelease go 1.12 ././@LongLink0000644000000000000000000000017500000000000011606 Lustar rootrootdependencies/pkg/mod/golang.org/x/exp@v0.0.0-20240506185415-9bf2ced13842/cmd/gorelease/testdata/prerelease/prerelease_3.testdependencies/pkg/mod/golang.org/x/exp@v0.0.0-20240506185415-9bf2ced13842/cmd/gorelease/testdata/prer0000644000000000000000000000071515107355263030141 0ustar rootrootmod=example.com/prerelease release=v0.0.0-3 success=false -- want -- # diagnostics Version v0.0.0-3 is lower than most pseudo-versions. Consider releasing v0.1.0-0 instead. # summary Inferred base version: none v0.0.0-3 is a valid semantic version for this release. Note: v0.0.0-3 sorts lower in MVS than pseudo-versions, which may be unexpected for users. So, it may be better to choose a different suffix. -- go.mod -- module example.com/prerelease go 1.12 ././@LongLink0000644000000000000000000000021200000000000011576 Lustar rootrootdependencies/pkg/mod/golang.org/x/exp@v0.0.0-20240506185415-9bf2ced13842/cmd/gorelease/testdata/prerelease/prerelease_build_metadata.testdependencies/pkg/mod/golang.org/x/exp@v0.0.0-20240506185415-9bf2ced13842/cmd/gorelease/testdata/prer0000644000000000000000000000053115107355263030135 0ustar rootrootmod=example.com/prerelease release=v1.0.0-alpha+001 error=true -- want -- usage: gorelease [-base=version] [-version=version] release version "v1.0.0-alpha+001" is not a canonical semantic version: build metadata is not supported For more information, run go doc golang.org/x/exp/cmd/gorelease -- go.mod -- module example.com/prerelease go 1.12././@LongLink0000644000000000000000000000015100000000000011600 Lustar rootrootdependencies/pkg/mod/golang.org/x/exp@v0.0.0-20240506185415-9bf2ced13842/cmd/gorelease/testdata/regress/dependencies/pkg/mod/golang.org/x/exp@v0.0.0-20240506185415-9bf2ced13842/cmd/gorelease/testdata/regr0000755000000000000000000000000015107355263030123 5ustar rootroot././@LongLink0000644000000000000000000000016300000000000011603 Lustar rootrootdependencies/pkg/mod/golang.org/x/exp@v0.0.0-20240506185415-9bf2ced13842/cmd/gorelease/testdata/regress/README.txtdependencies/pkg/mod/golang.org/x/exp@v0.0.0-20240506185415-9bf2ced13842/cmd/gorelease/testdata/regr0000644000000000000000000000011115107355263030116 0ustar rootrootThis directory contains unrelated tests, used to verify issues are fixed.././@LongLink0000644000000000000000000000017000000000000011601 Lustar rootrootdependencies/pkg/mod/golang.org/x/exp@v0.0.0-20240506185415-9bf2ced13842/cmd/gorelease/testdata/regress/issue37756.testdependencies/pkg/mod/golang.org/x/exp@v0.0.0-20240506185415-9bf2ced13842/cmd/gorelease/testdata/regr0000644000000000000000000000065015107355263030126 0ustar rootroot# Verifies golang.org/issue/37756. # Packages should be compared in lexical order by package path. mod=example.com/issue37756 version=v1.1.0 base=v1.0.0 proxyVersions=example.com/issue37756@v1.0.0 -- want -- # example.com/issue37756/a ## compatible changes A2: added # example.com/issue37756/b ## compatible changes B2: added # example.com/issue37756/c ## compatible changes C2: added # summary Suggested version: v1.1.0 ././@LongLink0000644000000000000000000000014600000000000011604 Lustar rootrootdependencies/pkg/mod/golang.org/x/exp@v0.0.0-20240506185415-9bf2ced13842/cmd/gorelease/testdata/main/dependencies/pkg/mod/golang.org/x/exp@v0.0.0-20240506185415-9bf2ced13842/cmd/gorelease/testdata/main0000755000000000000000000000000015107355263030110 5ustar rootroot././@LongLink0000644000000000000000000000015600000000000011605 Lustar rootrootdependencies/pkg/mod/golang.org/x/exp@v0.0.0-20240506185415-9bf2ced13842/cmd/gorelease/testdata/main/add.testdependencies/pkg/mod/golang.org/x/exp@v0.0.0-20240506185415-9bf2ced13842/cmd/gorelease/testdata/main0000644000000000000000000000041415107355263030111 0ustar rootrootmod=example.com/main base=v0.0.1 -- want -- # example.com/main/b ## compatible changes package added # summary Suggested version: v0.1.0 -- go.mod -- module example.com/main go 1.14 -- a/a.go -- package main func main() {} -- b/b.go -- package main func main() {} ././@LongLink0000644000000000000000000000016100000000000011601 Lustar rootrootdependencies/pkg/mod/golang.org/x/exp@v0.0.0-20240506185415-9bf2ced13842/cmd/gorelease/testdata/main/change.testdependencies/pkg/mod/golang.org/x/exp@v0.0.0-20240506185415-9bf2ced13842/cmd/gorelease/testdata/main0000644000000000000000000000027615107355263030117 0ustar rootrootmod=example.com/main base=v0.0.1 -- want -- # summary Suggested version: v0.0.2 -- go.mod -- module example.com/main go 1.14 -- a/a.go -- package main func Foo() {} func main() { Foo() } ././@LongLink0000644000000000000000000000016000000000000011600 Lustar rootrootdependencies/pkg/mod/golang.org/x/exp@v0.0.0-20240506185415-9bf2ced13842/cmd/gorelease/testdata/main/README.txtdependencies/pkg/mod/golang.org/x/exp@v0.0.0-20240506185415-9bf2ced13842/cmd/gorelease/testdata/main0000644000000000000000000000033315107355263030111 0ustar rootrootModule example.com/main is used to test changes in main packages. Main packages aren't importable, so changes to exported functions should not be reported. But we should still report when packages are added or deleted. ././@LongLink0000644000000000000000000000016100000000000011601 Lustar rootrootdependencies/pkg/mod/golang.org/x/exp@v0.0.0-20240506185415-9bf2ced13842/cmd/gorelease/testdata/main/remove.testdependencies/pkg/mod/golang.org/x/exp@v0.0.0-20240506185415-9bf2ced13842/cmd/gorelease/testdata/main0000644000000000000000000000027415107355263030115 0ustar rootrootmod=example.com/main base=v0.0.1 -- want -- # example.com/main/a ## incompatible changes package removed # summary Suggested version: v0.1.0 -- go.mod -- module example.com/main go 1.14 ././@LongLink0000644000000000000000000000014700000000000011605 Lustar rootrootdependencies/pkg/mod/golang.org/x/exp@v0.0.0-20240506185415-9bf2ced13842/cmd/gorelease/testdata/empty/dependencies/pkg/mod/golang.org/x/exp@v0.0.0-20240506185415-9bf2ced13842/cmd/gorelease/testdata/empt0000755000000000000000000000000015107355263030131 5ustar rootroot././@LongLink0000644000000000000000000000016100000000000011601 Lustar rootrootdependencies/pkg/mod/golang.org/x/exp@v0.0.0-20240506185415-9bf2ced13842/cmd/gorelease/testdata/empty/README.txtdependencies/pkg/mod/golang.org/x/exp@v0.0.0-20240506185415-9bf2ced13842/cmd/gorelease/testdata/empt0000644000000000000000000000013415107355263030131 0ustar rootrootModule example.com/empty is used to test that gorelease works in a module with no packages. ././@LongLink0000644000000000000000000000016100000000000011601 Lustar rootrootdependencies/pkg/mod/golang.org/x/exp@v0.0.0-20240506185415-9bf2ced13842/cmd/gorelease/testdata/empty/empty.testdependencies/pkg/mod/golang.org/x/exp@v0.0.0-20240506185415-9bf2ced13842/cmd/gorelease/testdata/empt0000644000000000000000000000026115107355263030132 0ustar rootrootmod=example.com/empty base=v0.0.1 version=v0.0.2 release=v0.0.2 proxyVersions=example.com/empty@v0.0.1 -- want -- # summary v0.0.2 is a valid semantic version for this release. ././@LongLink0000644000000000000000000000014600000000000011604 Lustar rootrootdependencies/pkg/mod/golang.org/x/exp@v0.0.0-20240506185415-9bf2ced13842/cmd/gorelease/testdata/tidy/dependencies/pkg/mod/golang.org/x/exp@v0.0.0-20240506185415-9bf2ced13842/cmd/gorelease/testdata/tidy0000755000000000000000000000000015107355263030135 5ustar rootroot././@LongLink0000644000000000000000000000017100000000000011602 Lustar rootrootdependencies/pkg/mod/golang.org/x/exp@v0.0.0-20240506185415-9bf2ced13842/cmd/gorelease/testdata/tidy/misleading_req.testdependencies/pkg/mod/golang.org/x/exp@v0.0.0-20240506185415-9bf2ced13842/cmd/gorelease/testdata/tidy0000644000000000000000000000155315107355263030143 0ustar rootrootmod=example.com/tidy base=none success=false -- go.mod -- module example.com/tidy go 1.12 require ( example.com/tidy/a v0.1.0 // actually transitively requires v0.2.0 example.com/tidy/b v0.1.0 ) -- go.sum -- example.com/tidy/a v0.1.0 h1:hxFAdyLfJ6TV25ffYI2oA+g3ffLp+XJgo6lrVkT8ufU= example.com/tidy/a v0.1.0/go.mod h1:/KTGkbP1cnyJLO5kGL/QSCswh5I8R66epCmEAxgAK+I= example.com/tidy/b v0.1.0/go.mod h1:92saqyRYqaI4eqrr6LGMnPfBDXc2yofWznwSxsvqfEw= example.com/tidy/b v0.2.0 h1:dSh97fZcMRg87GDb1Gqwy8/mebsrmE4kX3S7d+KeSZU= example.com/tidy/b v0.2.0/go.mod h1:92saqyRYqaI4eqrr6LGMnPfBDXc2yofWznwSxsvqfEw= -- tidy.go -- package tidy import _ "example.com/tidy/a" import _ "example.com/tidy/b" -- want -- # diagnostics go.mod: the following requirements are needed example.com/tidy/b@v0.2.0 Run 'go mod tidy' to add missing requirements. # summary Suggested version: v0.1.0 ././@LongLink0000644000000000000000000000017500000000000011606 Lustar rootrootdependencies/pkg/mod/golang.org/x/exp@v0.0.0-20240506185415-9bf2ced13842/cmd/gorelease/testdata/tidy/missing_req_nested.testdependencies/pkg/mod/golang.org/x/exp@v0.0.0-20240506185415-9bf2ced13842/cmd/gorelease/testdata/tidy0000644000000000000000000000066015107355263030141 0ustar rootrootmod=example.com/tidy base=v0.0.1 success=false -- want -- # example.com/tidy/subdir ## compatible changes package added # diagnostics go.mod: the following requirements are needed example.com/basic@v1.1.2 Run 'go mod tidy' to add missing requirements. # summary Suggested version: v0.1.0 -- go.mod -- module example.com/tidy go 1.12 -- tidy.go -- package tidy -- subdir/tidy.go -- package subpkg import _ "example.com/basic/a" ././@LongLink0000644000000000000000000000016500000000000011605 Lustar rootrootdependencies/pkg/mod/golang.org/x/exp@v0.0.0-20240506185415-9bf2ced13842/cmd/gorelease/testdata/tidy/missing_go.testdependencies/pkg/mod/golang.org/x/exp@v0.0.0-20240506185415-9bf2ced13842/cmd/gorelease/testdata/tidy0000644000000000000000000000031115107355263030132 0ustar rootrootmod=example.com/tidy base=v0.0.1 success=0 -- want -- # diagnostics go.mod: go directive is missing # summary Suggested version: v0.0.2 -- go.mod -- module example.com/tidy -- tidy.go -- package tidy ././@LongLink0000644000000000000000000000020000000000000011573 Lustar rootrootdependencies/pkg/mod/golang.org/x/exp@v0.0.0-20240506185415-9bf2ced13842/cmd/gorelease/testdata/tidy/missing_req_submodule.testdependencies/pkg/mod/golang.org/x/exp@v0.0.0-20240506185415-9bf2ced13842/cmd/gorelease/testdata/tidy0000644000000000000000000000043515107355263030141 0ustar rootrootmod=example.com/tidy base=v0.0.1 success=true -- want -- # summary Suggested version: v0.0.2 -- go.mod -- module example.com/tidy go 1.12 -- foo/go.mod -- module example.com/tidy/foo go 1.12 -- tidy.go -- package tidy -- foo/tidy.go -- package subpkg import _ "example.com/basic/a" ././@LongLink0000644000000000000000000000017400000000000011605 Lustar rootrootdependencies/pkg/mod/golang.org/x/exp@v0.0.0-20240506185415-9bf2ced13842/cmd/gorelease/testdata/tidy/missing_req_basic.testdependencies/pkg/mod/golang.org/x/exp@v0.0.0-20240506185415-9bf2ced13842/cmd/gorelease/testdata/tidy0000644000000000000000000000051515107355263030140 0ustar rootrootmod=example.com/tidy base=v0.0.1 success=false -- want -- # diagnostics go.mod: the following requirements are needed example.com/basic@v1.1.2 Run 'go mod tidy' to add missing requirements. # summary Suggested version: v0.0.2 -- go.mod -- module example.com/tidy go 1.12 -- tidy.go -- package tidy import _ "example.com/basic/a" ././@LongLink0000644000000000000000000000016000000000000011600 Lustar rootrootdependencies/pkg/mod/golang.org/x/exp@v0.0.0-20240506185415-9bf2ced13842/cmd/gorelease/testdata/tidy/README.txtdependencies/pkg/mod/golang.org/x/exp@v0.0.0-20240506185415-9bf2ced13842/cmd/gorelease/testdata/tidy0000644000000000000000000000033415107355263030137 0ustar rootrootModule example.com/tidy tests versions that do not have tidy go.mod or go.sum files. v0.0.1 has a trivial package with no imports. It has no requirements and no go.sum, so it is tidy. Tests make changes on top of this. ././@LongLink0000644000000000000000000000020300000000000011576 Lustar rootrootdependencies/pkg/mod/golang.org/x/exp@v0.0.0-20240506185415-9bf2ced13842/cmd/gorelease/testdata/tidy/missing_req_twice_nested.testdependencies/pkg/mod/golang.org/x/exp@v0.0.0-20240506185415-9bf2ced13842/cmd/gorelease/testdata/tidy0000644000000000000000000000070415107355263030140 0ustar rootrootmod=example.com/tidy base=v0.0.1 success=false -- want -- # example.com/tidy/subdir/subsubdir ## compatible changes package added # diagnostics go.mod: the following requirements are needed example.com/basic@v1.1.2 Run 'go mod tidy' to add missing requirements. # summary Suggested version: v0.1.0 -- go.mod -- module example.com/tidy go 1.12 -- tidy.go -- package tidy -- subdir/subsubdir/tidy.go -- package subpkg import _ "example.com/basic/a" ././@LongLink0000644000000000000000000000016400000000000011604 Lustar rootrootdependencies/pkg/mod/golang.org/x/exp@v0.0.0-20240506185415-9bf2ced13842/cmd/gorelease/testdata/tidy/empty_sum.testdependencies/pkg/mod/golang.org/x/exp@v0.0.0-20240506185415-9bf2ced13842/cmd/gorelease/testdata/tidy0000644000000000000000000000052215107355263030136 0ustar rootrootmod=example.com/tidy base=v0.0.1 success=false -- want -- # diagnostics go.sum: one or more sums are missing. Run 'go mod tidy' to add missing sums. # summary Suggested version: v0.1.0 -- go.mod -- module example.com/tidy go 1.12 require example.com/basic v1.0.1 -- go.sum -- -- tidy.go -- package tidy import _ "example.com/basic/a" ././@LongLink0000644000000000000000000000016100000000000011601 Lustar rootrootdependencies/pkg/mod/golang.org/x/exp@v0.0.0-20240506185415-9bf2ced13842/cmd/gorelease/testdata/tidy/no_sum.testdependencies/pkg/mod/golang.org/x/exp@v0.0.0-20240506185415-9bf2ced13842/cmd/gorelease/testdata/tidy0000644000000000000000000000050515107355263030137 0ustar rootrootmod=example.com/tidy base=v0.0.1 success=false -- want -- # diagnostics go.sum: one or more sums are missing. Run 'go mod tidy' to add missing sums. # summary Suggested version: v0.1.0 -- go.mod -- module example.com/tidy go 1.12 require example.com/basic v1.1.2 -- tidy.go -- package tidy import _ "example.com/basic/a" ././@LongLink0000644000000000000000000000014700000000000011605 Lustar rootrootdependencies/pkg/mod/golang.org/x/exp@v0.0.0-20240506185415-9bf2ced13842/cmd/gorelease/testdata/first/dependencies/pkg/mod/golang.org/x/exp@v0.0.0-20240506185415-9bf2ced13842/cmd/gorelease/testdata/firs0000755000000000000000000000000015107355263030127 5ustar rootroot././@LongLink0000644000000000000000000000017200000000000011603 Lustar rootrootdependencies/pkg/mod/golang.org/x/exp@v0.0.0-20240506185415-9bf2ced13842/cmd/gorelease/testdata/first/v0_1_0-alpha.1.testdependencies/pkg/mod/golang.org/x/exp@v0.0.0-20240506185415-9bf2ced13842/cmd/gorelease/testdata/firs0000644000000000000000000000031515107355263030130 0ustar rootrootmod=example.com/first base=none release=v0.1.0-alpha.1 -- want -- # summary v0.1.0-alpha.1 is a valid semantic version for this release. -- go.mod -- module example.com/first go 1.12 -- p.go -- package p ././@LongLink0000644000000000000000000000016200000000000011602 Lustar rootrootdependencies/pkg/mod/golang.org/x/exp@v0.0.0-20240506185415-9bf2ced13842/cmd/gorelease/testdata/first/v1_0_0.testdependencies/pkg/mod/golang.org/x/exp@v0.0.0-20240506185415-9bf2ced13842/cmd/gorelease/testdata/firs0000644000000000000000000000027515107355263030135 0ustar rootrootmod=example.com/first base=none release=v1.0.0 -- want -- # summary v1.0.0 is a valid semantic version for this release. -- go.mod -- module example.com/first go 1.12 -- p.go -- package p ././@LongLink0000644000000000000000000000016200000000000011602 Lustar rootrootdependencies/pkg/mod/golang.org/x/exp@v0.0.0-20240506185415-9bf2ced13842/cmd/gorelease/testdata/first/v0_err.testdependencies/pkg/mod/golang.org/x/exp@v0.0.0-20240506185415-9bf2ced13842/cmd/gorelease/testdata/firs0000644000000000000000000000061715107355263030135 0ustar rootrootmod=example.com/first base=none release=v0.0.0 success=false # TODO(golang.org/issue/36087): go list doesn't report positions in correct # place for scanner errors. skip=packages.Load gives error with extra "-: " prefix -- want -- example.com/first ----------------- errors in new version: p.go:1:9: illegal character U+003F '?' -- go.mod -- module example.com/first go 1.12 -- p.go -- package ? ././@LongLink0000644000000000000000000000020500000000000011600 Lustar rootrootdependencies/pkg/mod/golang.org/x/exp@v0.0.0-20240506185415-9bf2ced13842/cmd/gorelease/testdata/first/v1_2_3_explicit_none_base.testdependencies/pkg/mod/golang.org/x/exp@v0.0.0-20240506185415-9bf2ced13842/cmd/gorelease/testdata/firs0000644000000000000000000000031415107355263030127 0ustar rootrootmod=example.com/first base=none release=v1.2.3 proxyVersions= -- want -- # summary v1.2.3 is a valid semantic version for this release. -- go.mod -- module example.com/first go 1.12 -- p.go -- package p ././@LongLink0000644000000000000000000000016100000000000011601 Lustar rootrootdependencies/pkg/mod/golang.org/x/exp@v0.0.0-20240506185415-9bf2ced13842/cmd/gorelease/testdata/first/README.txtdependencies/pkg/mod/golang.org/x/exp@v0.0.0-20240506185415-9bf2ced13842/cmd/gorelease/testdata/firs0000644000000000000000000000011415107355263030125 0ustar rootrootModule example.com/first is used to test the first tag for a major version. ././@LongLink0000644000000000000000000000016200000000000011602 Lustar rootrootdependencies/pkg/mod/golang.org/x/exp@v0.0.0-20240506185415-9bf2ced13842/cmd/gorelease/testdata/first/v0_0_1.testdependencies/pkg/mod/golang.org/x/exp@v0.0.0-20240506185415-9bf2ced13842/cmd/gorelease/testdata/firs0000644000000000000000000000027515107355263030135 0ustar rootrootmod=example.com/first base=none release=v0.0.1 -- want -- # summary v0.0.1 is a valid semantic version for this release. -- go.mod -- module example.com/first go 1.12 -- p.go -- package p ././@LongLink0000644000000000000000000000016500000000000011605 Lustar rootrootdependencies/pkg/mod/golang.org/x/exp@v0.0.0-20240506185415-9bf2ced13842/cmd/gorelease/testdata/first/v2_moderr.testdependencies/pkg/mod/golang.org/x/exp@v0.0.0-20240506185415-9bf2ced13842/cmd/gorelease/testdata/firs0000644000000000000000000000050315107355263030127 0ustar rootrootmod=example.com/first base=none release=v2.0.0 success=false -- want -- # summary v2.0.0 is not a valid semantic version for this release. The module path does not end with the major version suffix /v2, which is required for major versions v2 or greater. -- go.mod -- module example.com/first go 1.12 -- p.go -- package p ././@LongLink0000644000000000000000000000016200000000000011602 Lustar rootrootdependencies/pkg/mod/golang.org/x/exp@v0.0.0-20240506185415-9bf2ced13842/cmd/gorelease/testdata/first/v2_err.testdependencies/pkg/mod/golang.org/x/exp@v0.0.0-20240506185415-9bf2ced13842/cmd/gorelease/testdata/firs0000644000000000000000000000062215107355263030131 0ustar rootrootmod=example.com/first/v2 base=none release=v2.0.0 success=false # TODO(golang.org/issue/36087): go list doesn't report positions in correct # place for scanner errors. skip=packages.Load gives error with extra "-: " prefix -- want -- example.com/first ----------------- errors in new version: p.go:1:9: illegal character U+003F '?' -- go.mod -- module example.com/first go 1.12 -- p.go -- package ? ././@LongLink0000644000000000000000000000016200000000000011602 Lustar rootrootdependencies/pkg/mod/golang.org/x/exp@v0.0.0-20240506185415-9bf2ced13842/cmd/gorelease/testdata/first/v0_0_0.testdependencies/pkg/mod/golang.org/x/exp@v0.0.0-20240506185415-9bf2ced13842/cmd/gorelease/testdata/firs0000644000000000000000000000027515107355263030135 0ustar rootrootmod=example.com/first base=none release=v0.0.0 -- want -- # summary v0.0.0 is a valid semantic version for this release. -- go.mod -- module example.com/first go 1.12 -- p.go -- package p ././@LongLink0000644000000000000000000000016200000000000011602 Lustar rootrootdependencies/pkg/mod/golang.org/x/exp@v0.0.0-20240506185415-9bf2ced13842/cmd/gorelease/testdata/first/v0_1_0.testdependencies/pkg/mod/golang.org/x/exp@v0.0.0-20240506185415-9bf2ced13842/cmd/gorelease/testdata/firs0000644000000000000000000000027515107355263030135 0ustar rootrootmod=example.com/first base=none release=v0.1.0 -- want -- # summary v0.1.0 is a valid semantic version for this release. -- go.mod -- module example.com/first go 1.12 -- p.go -- package p ././@LongLink0000644000000000000000000000015200000000000011601 Lustar rootrootdependencies/pkg/mod/golang.org/x/exp@v0.0.0-20240506185415-9bf2ced13842/cmd/gorelease/testdata/generics/dependencies/pkg/mod/golang.org/x/exp@v0.0.0-20240506185415-9bf2ced13842/cmd/gorelease/testdata/gene0000755000000000000000000000000015107355263030102 5ustar rootroot././@LongLink0000644000000000000000000000017000000000000011601 Lustar rootrootdependencies/pkg/mod/golang.org/x/exp@v0.0.0-20240506185415-9bf2ced13842/cmd/gorelease/testdata/generics/unchanged.testdependencies/pkg/mod/golang.org/x/exp@v0.0.0-20240506185415-9bf2ced13842/cmd/gorelease/testdata/gene0000644000000000000000000000031215107355263030100 0ustar rootrootmod=example.com/generics base=v0.0.1 -- want -- # summary Suggested version: v0.0.2 -- go.mod -- module example.com/generics go 1.18 -- a/a.go -- package a type Foo[V any] interface { Value() V } ././@LongLink0000644000000000000000000000017400000000000011605 Lustar rootrootdependencies/pkg/mod/golang.org/x/exp@v0.0.0-20240506185415-9bf2ced13842/cmd/gorelease/testdata/generics/changed_param.testdependencies/pkg/mod/golang.org/x/exp@v0.0.0-20240506185415-9bf2ced13842/cmd/gorelease/testdata/gene0000644000000000000000000000060215107355263030102 0ustar rootrootmod=example.com/generics base=v0.0.1 -- want -- # example.com/generics/a ## incompatible changes Foo: changed from Foo[V any] to Foo[V Number] ## compatible changes Number: added # summary Suggested version: v0.1.0 -- go.mod -- module example.com/generics go 1.18 -- a/a.go -- package a type Number interface { int64 | float64 } type Foo[V Number] interface { Value() any } ././@LongLink0000644000000000000000000000017500000000000011606 Lustar rootrootdependencies/pkg/mod/golang.org/x/exp@v0.0.0-20240506185415-9bf2ced13842/cmd/gorelease/testdata/generics/changed_return.testdependencies/pkg/mod/golang.org/x/exp@v0.0.0-20240506185415-9bf2ced13842/cmd/gorelease/testdata/gene0000644000000000000000000000046415107355263030110 0ustar rootrootmod=example.com/generics base=v0.0.1 -- want -- # example.com/generics/a ## incompatible changes Foo[V any].Value: changed from func() V to func() int # summary Suggested version: v0.1.0 -- go.mod -- module example.com/generics go 1.18 -- a/a.go -- package a type Foo[V any] interface { Value() int } ././@LongLink0000644000000000000000000000015100000000000011600 Lustar rootrootdependencies/pkg/mod/golang.org/x/exp@v0.0.0-20240506185415-9bf2ced13842/cmd/gorelease/testdata/private/dependencies/pkg/mod/golang.org/x/exp@v0.0.0-20240506185415-9bf2ced13842/cmd/gorelease/testdata/priv0000755000000000000000000000000015107355263030144 5ustar rootroot././@LongLink0000644000000000000000000000016300000000000011603 Lustar rootrootdependencies/pkg/mod/golang.org/x/exp@v0.0.0-20240506185415-9bf2ced13842/cmd/gorelease/testdata/private/README.txtdependencies/pkg/mod/golang.org/x/exp@v0.0.0-20240506185415-9bf2ced13842/cmd/gorelease/testdata/priv0000644000000000000000000000023415107355263030145 0ustar rootrootModule example.com/private is used to test that changes to internal packages are not reported unless they affect the exported API of non-internal packages. ././@LongLink0000644000000000000000000000016300000000000011603 Lustar rootrootdependencies/pkg/mod/golang.org/x/exp@v0.0.0-20240506185415-9bf2ced13842/cmd/gorelease/testdata/private/break.testdependencies/pkg/mod/golang.org/x/exp@v0.0.0-20240506185415-9bf2ced13842/cmd/gorelease/testdata/priv0000644000000000000000000000037715107355263030155 0ustar rootrootmod=example.com/private version=v1.0.2-break base=v1.0.1 success=false -- want -- # example.com/private/p ## incompatible changes example.com/private/internal/i.I.Foo: added # summary Cannot suggest a release version. Incompatible changes were detected. ././@LongLink0000644000000000000000000000017000000000000011601 Lustar rootrootdependencies/pkg/mod/golang.org/x/exp@v0.0.0-20240506185415-9bf2ced13842/cmd/gorelease/testdata/private/unreported.testdependencies/pkg/mod/golang.org/x/exp@v0.0.0-20240506185415-9bf2ced13842/cmd/gorelease/testdata/priv0000644000000000000000000000021315107355263030142 0ustar rootrootmod=example.com/private version=v1.0.1 base=v1.0.0 proxyVersions=example.com/private@v1.0.0 -- want -- # summary Suggested version: v1.0.1 ././@LongLink0000644000000000000000000000014700000000000011605 Lustar rootrootdependencies/pkg/mod/golang.org/x/exp@v0.0.0-20240506185415-9bf2ced13842/cmd/gorelease/testdata/nomod/dependencies/pkg/mod/golang.org/x/exp@v0.0.0-20240506185415-9bf2ced13842/cmd/gorelease/testdata/nomo0000755000000000000000000000000015107355263030134 5ustar rootroot././@LongLink0000644000000000000000000000016100000000000011601 Lustar rootrootdependencies/pkg/mod/golang.org/x/exp@v0.0.0-20240506185415-9bf2ced13842/cmd/gorelease/testdata/nomod/nomod.testdependencies/pkg/mod/golang.org/x/exp@v0.0.0-20240506185415-9bf2ced13842/cmd/gorelease/testdata/nomo0000644000000000000000000000026115107355263030135 0ustar rootrootmod=example.com/nomod version=v0.0.2 base=v0.0.1 release=v0.0.2 proxyVersions=example.com/nomod@v0.0.1 -- want -- # summary v0.0.2 is a valid semantic version for this release. ././@LongLink0000644000000000000000000000016100000000000011601 Lustar rootrootdependencies/pkg/mod/golang.org/x/exp@v0.0.0-20240506185415-9bf2ced13842/cmd/gorelease/testdata/nomod/README.txtdependencies/pkg/mod/golang.org/x/exp@v0.0.0-20240506185415-9bf2ced13842/cmd/gorelease/testdata/nomo0000644000000000000000000000012515107355263030134 0ustar rootrootModule example.com/nomod is used to test situations where no go.mod file is present. ././@LongLink0000644000000000000000000000015100000000000011600 Lustar rootrootdependencies/pkg/mod/golang.org/x/exp@v0.0.0-20240506185415-9bf2ced13842/cmd/gorelease/testdata/require/dependencies/pkg/mod/golang.org/x/exp@v0.0.0-20240506185415-9bf2ced13842/cmd/gorelease/testdata/requ0000755000000000000000000000000015107355263030140 5ustar rootroot././@LongLink0000644000000000000000000000020200000000000011575 Lustar rootrootdependencies/pkg/mod/golang.org/x/exp@v0.0.0-20240506185415-9bf2ced13842/cmd/gorelease/testdata/require/decrement_go_version.testdependencies/pkg/mod/golang.org/x/exp@v0.0.0-20240506185415-9bf2ced13842/cmd/gorelease/testdata/requ0000644000000000000000000000033315107355263030141 0ustar rootrootmod=example.com/require base=v0.0.1 proxyVersions=example.com/require@v0.0.1 -- want -- # summary Suggested version: v0.0.2 -- go.mod -- module example.com/require go 1.11 -- go.sum -- -- require.go -- package require ././@LongLink0000644000000000000000000000020100000000000011574 Lustar rootrootdependencies/pkg/mod/golang.org/x/exp@v0.0.0-20240506185415-9bf2ced13842/cmd/gorelease/testdata/require/remove_requirements.testdependencies/pkg/mod/golang.org/x/exp@v0.0.0-20240506185415-9bf2ced13842/cmd/gorelease/testdata/requ0000644000000000000000000000033315107355263030141 0ustar rootrootmod=example.com/require base=v0.0.1 proxyVersions=example.com/require@v0.0.1 -- want -- # summary Suggested version: v0.0.2 -- go.mod -- module example.com/require go 1.12 -- go.sum -- -- require.go -- package require ././@LongLink0000644000000000000000000000021100000000000011575 Lustar rootrootdependencies/pkg/mod/golang.org/x/exp@v0.0.0-20240506185415-9bf2ced13842/cmd/gorelease/testdata/require/decrement_requirement_minor.testdependencies/pkg/mod/golang.org/x/exp@v0.0.0-20240506185415-9bf2ced13842/cmd/gorelease/testdata/requ0000644000000000000000000000105015107355263030136 0ustar rootrootmod=example.com/require base=v0.1.1 -- want -- # summary Suggested version: v0.1.2 -- go.mod -- module example.com/require go 1.12 require example.com/basic v0.0.1 -- go.sum -- example.com/basic v0.0.1/go.mod h1:pv9xTX7lhV6R1XNYo1EcI/DQqKxDyhNTN+K1DjHW2Oo= golang.org/x/text v0.0.0-20170915032832-14c0d48ead0c/go.mod h1:NqM8EUOU14njkJ3fqMW+pc6Ldnwhi/IjpwHt7yyuwOQ= rsc.io/quote v1.5.2/go.mod h1:LzX7hefJvL54yjefDEDHNONDjII0t9xZLPXsUe+TKr0= rsc.io/sampler v1.3.0/go.mod h1:T1hPZKmBbMNahiBKFy5HrXp6adAjACjK9JXDnKaTXpA= -- require.go -- package require ././@LongLink0000644000000000000000000000016300000000000011603 Lustar rootrootdependencies/pkg/mod/golang.org/x/exp@v0.0.0-20240506185415-9bf2ced13842/cmd/gorelease/testdata/require/README.txtdependencies/pkg/mod/golang.org/x/exp@v0.0.0-20240506185415-9bf2ced13842/cmd/gorelease/testdata/requ0000644000000000000000000000021115107355263030134 0ustar rootrootThis directory contain tests that assert gorelease behavior when module requirements (and require statements in the go.mod) have changed.././@LongLink0000644000000000000000000000021100000000000011575 Lustar rootrootdependencies/pkg/mod/golang.org/x/exp@v0.0.0-20240506185415-9bf2ced13842/cmd/gorelease/testdata/require/increment_requirement_minor.testdependencies/pkg/mod/golang.org/x/exp@v0.0.0-20240506185415-9bf2ced13842/cmd/gorelease/testdata/requ0000644000000000000000000000120315107355263030136 0ustar rootrootmod=example.com/require base=v0.1.0 proxyVersions=example.com/require@v0.1.0,example.com/basic@v1.1.0,example.com/basic@v1.0.1 -- want -- # summary Suggested version: v0.2.0 -- go.mod -- module example.com/require go 1.12 require example.com/basic v1.1.0 -- go.sum -- example.com/basic v1.1.0/go.mod h1:pv9xTX7lhV6R1XNYo1EcI/DQqKxDyhNTN+K1DjHW2Oo= golang.org/x/text v0.0.0-20170915032832-14c0d48ead0c/go.mod h1:NqM8EUOU14njkJ3fqMW+pc6Ldnwhi/IjpwHt7yyuwOQ= rsc.io/quote v1.5.2/go.mod h1:LzX7hefJvL54yjefDEDHNONDjII0t9xZLPXsUe+TKr0= rsc.io/sampler v1.3.0/go.mod h1:T1hPZKmBbMNahiBKFy5HrXp6adAjACjK9JXDnKaTXpA= -- require.go -- package require ././@LongLink0000644000000000000000000000020200000000000011575 Lustar rootrootdependencies/pkg/mod/golang.org/x/exp@v0.0.0-20240506185415-9bf2ced13842/cmd/gorelease/testdata/require/increment_go_version.testdependencies/pkg/mod/golang.org/x/exp@v0.0.0-20240506185415-9bf2ced13842/cmd/gorelease/testdata/requ0000644000000000000000000000033315107355263030141 0ustar rootrootmod=example.com/require base=v0.0.1 proxyVersions=example.com/require@v0.0.1 -- want -- # summary Suggested version: v0.1.0 -- go.mod -- module example.com/require go 1.13 -- go.sum -- -- require.go -- package require ././@LongLink0000644000000000000000000000017500000000000011606 Lustar rootrootdependencies/pkg/mod/golang.org/x/exp@v0.0.0-20240506185415-9bf2ced13842/cmd/gorelease/testdata/require/add_requirement.testdependencies/pkg/mod/golang.org/x/exp@v0.0.0-20240506185415-9bf2ced13842/cmd/gorelease/testdata/requ0000644000000000000000000000115215107355263030141 0ustar rootrootmod=example.com/require base=v0.0.1 proxyVersions=example.com/require@v0.0.1,example.com/basic@v1.0.1 -- want -- # summary Suggested version: v0.1.0 -- go.mod -- module example.com/require go 1.12 require example.com/basic v1.0.1 -- go.sum -- example.com/basic v1.0.1/go.mod h1:pv9xTX7lhV6R1XNYo1EcI/DQqKxDyhNTN+K1DjHW2Oo= golang.org/x/text v0.0.0-20170915032832-14c0d48ead0c/go.mod h1:NqM8EUOU14njkJ3fqMW+pc6Ldnwhi/IjpwHt7yyuwOQ= rsc.io/quote v1.5.2/go.mod h1:LzX7hefJvL54yjefDEDHNONDjII0t9xZLPXsUe+TKr0= rsc.io/sampler v1.3.0/go.mod h1:T1hPZKmBbMNahiBKFy5HrXp6adAjACjK9JXDnKaTXpA= -- require.go -- package require ././@LongLink0000644000000000000000000000021100000000000011575 Lustar rootrootdependencies/pkg/mod/golang.org/x/exp@v0.0.0-20240506185415-9bf2ced13842/cmd/gorelease/testdata/require/increment_requirement_patch.testdependencies/pkg/mod/golang.org/x/exp@v0.0.0-20240506185415-9bf2ced13842/cmd/gorelease/testdata/requ0000644000000000000000000000120315107355263030136 0ustar rootrootmod=example.com/require base=v0.1.1 proxyVersions=example.com/require@v0.1.1,example.com/basic@v1.1.1,example.com/basic@v1.1.0 -- want -- # summary Suggested version: v0.1.2 -- go.mod -- module example.com/require go 1.12 require example.com/basic v1.1.1 -- go.sum -- example.com/basic v1.1.1/go.mod h1:pv9xTX7lhV6R1XNYo1EcI/DQqKxDyhNTN+K1DjHW2Oo= golang.org/x/text v0.0.0-20170915032832-14c0d48ead0c/go.mod h1:NqM8EUOU14njkJ3fqMW+pc6Ldnwhi/IjpwHt7yyuwOQ= rsc.io/quote v1.5.2/go.mod h1:LzX7hefJvL54yjefDEDHNONDjII0t9xZLPXsUe+TKr0= rsc.io/sampler v1.3.0/go.mod h1:T1hPZKmBbMNahiBKFy5HrXp6adAjACjK9JXDnKaTXpA= -- require.go -- package require ././@LongLink0000644000000000000000000000015100000000000011600 Lustar rootrootdependencies/pkg/mod/golang.org/x/exp@v0.0.0-20240506185415-9bf2ced13842/cmd/gorelease/testdata/retract/dependencies/pkg/mod/golang.org/x/exp@v0.0.0-20240506185415-9bf2ced13842/cmd/gorelease/testdata/retr0000755000000000000000000000000015107355263030140 5ustar rootroot././@LongLink0000644000000000000000000000021300000000000011577 Lustar rootrootdependencies/pkg/mod/golang.org/x/exp@v0.0.0-20240506185415-9bf2ced13842/cmd/gorelease/testdata/retract/retract_verify_transitive_dep.testdependencies/pkg/mod/golang.org/x/exp@v0.0.0-20240506185415-9bf2ced13842/cmd/gorelease/testdata/retr0000644000000000000000000000061215107355263030141 0ustar rootroot# When a retracted version is transitively depended upon, it should still # result in a retraction error. mod=example.com/retracttransitive version=v0.0.1 success=false -- want -- # diagnostics required module example.com/retractdep@v1.0.0 retracted by module author: Remote-triggered crash in package foo. See CVE-2021-01234. # summary Inferred base version: v0.0.1 Suggested version: v0.0.2 ././@LongLink0000644000000000000000000000020300000000000011576 Lustar rootrootdependencies/pkg/mod/golang.org/x/exp@v0.0.0-20240506185415-9bf2ced13842/cmd/gorelease/testdata/retract/retract_verify_no_msg.testdependencies/pkg/mod/golang.org/x/exp@v0.0.0-20240506185415-9bf2ced13842/cmd/gorelease/testdata/retr0000644000000000000000000000103215107355263030136 0ustar rootrootmod=example.com/retract success=false -- want -- # diagnostics required module example.com/retractdep/v2@v2.0.0 retracted by module author # summary Inferred base version: v0.0.1 Suggested version: v0.1.0 -- go.mod -- module example.com/retract go 1.12 require example.com/retractdep/v2 v2.0.0 -- go.sum -- example.com/retractdep/v2 v2.0.0 h1:ehV4yfX3A3jNlRnBmHPxq1TyVs1EhmCYI5miEva6Gv8= example.com/retractdep/v2 v2.0.0/go.mod h1:rV+p/Yqwnupg15GPVGFRq+un/MYczBZcF1IZ8ubecag= -- a.go -- package a import _ "example.com/retractdep/v2" ././@LongLink0000644000000000000000000000020700000000000011602 Lustar rootrootdependencies/pkg/mod/golang.org/x/exp@v0.0.0-20240506185415-9bf2ced13842/cmd/gorelease/testdata/retract/retract_verify_direct_dep.testdependencies/pkg/mod/golang.org/x/exp@v0.0.0-20240506185415-9bf2ced13842/cmd/gorelease/testdata/retr0000644000000000000000000000042615107355263030144 0ustar rootrootmod=example.com/retract version=v0.0.1 success=false -- want -- # diagnostics required module example.com/retractdep@v1.0.0 retracted by module author: Remote-triggered crash in package foo. See CVE-2021-01234. # summary Inferred base version: v0.0.1 Suggested version: v0.0.2 ././@LongLink0000644000000000000000000000020500000000000011600 Lustar rootrootdependencies/pkg/mod/golang.org/x/exp@v0.0.0-20240506185415-9bf2ced13842/cmd/gorelease/testdata/retract/retract_verify_long_msg.testdependencies/pkg/mod/golang.org/x/exp@v0.0.0-20240506185415-9bf2ced13842/cmd/gorelease/testdata/retr0000644000000000000000000000103215107355263030136 0ustar rootrootmod=example.com/retract success=false -- want -- # diagnostics required module example.com/retractdep/v3@v3.0.0 retracted by module author # summary Inferred base version: v0.0.1 Suggested version: v0.1.0 -- go.mod -- module example.com/retract go 1.12 require example.com/retractdep/v3 v3.0.0 -- go.sum -- example.com/retractdep/v3 v3.0.0 h1:LEaqsEpt7J4Er+qSPqL7bENpIkRdZdaOE6KaUaiNB5I= example.com/retractdep/v3 v3.0.0/go.mod h1:B2rEwAWayv3FJ2jyeiq9O3UBbxSvdDqZUtxmKsLyg6k= -- a.go -- package a import _ "example.com/retractdep/v3" ././@LongLink0000644000000000000000000000015000000000000011577 Lustar rootrootdependencies/pkg/mod/golang.org/x/exp@v0.0.0-20240506185415-9bf2ced13842/cmd/gorelease/testdata/errors/dependencies/pkg/mod/golang.org/x/exp@v0.0.0-20240506185415-9bf2ced13842/cmd/gorelease/testdata/erro0000755000000000000000000000000015107355263030133 5ustar rootroot././@LongLink0000644000000000000000000000017100000000000011602 Lustar rootrootdependencies/pkg/mod/golang.org/x/exp@v0.0.0-20240506185415-9bf2ced13842/cmd/gorelease/testdata/errors/upgrade_base.testdependencies/pkg/mod/golang.org/x/exp@v0.0.0-20240506185415-9bf2ced13842/cmd/gorelease/testdata/erro0000644000000000000000000000026215107355263030135 0ustar rootrootmod=example.com/errors version=v0.1.0 base=upgrade error=true -- want -- could not resolve version example.com/errors@upgrade: query is based on requirements in main go.mod file ././@LongLink0000644000000000000000000000017000000000000011601 Lustar rootrootdependencies/pkg/mod/golang.org/x/exp@v0.0.0-20240506185415-9bf2ced13842/cmd/gorelease/testdata/errors/bad_release.testdependencies/pkg/mod/golang.org/x/exp@v0.0.0-20240506185415-9bf2ced13842/cmd/gorelease/testdata/erro0000644000000000000000000000037115107355263030136 0ustar rootrootmod=example.com/errors base=v0.1.0 release=master error=true -- want -- usage: gorelease [-base=version] [-version=version] release version "master" is not a canonical semantic version For more information, run go doc golang.org/x/exp/cmd/gorelease ././@LongLink0000644000000000000000000000017600000000000011607 Lustar rootrootdependencies/pkg/mod/golang.org/x/exp@v0.0.0-20240506185415-9bf2ced13842/cmd/gorelease/testdata/errors/same_base_release.testdependencies/pkg/mod/golang.org/x/exp@v0.0.0-20240506185415-9bf2ced13842/cmd/gorelease/testdata/erro0000644000000000000000000000034115107355263030133 0ustar rootrootmod=example.com/errors base=v0.1.0 release=v0.1.0 error=true -- want -- usage: gorelease [-base=version] [-version=version] -base and -version must be different For more information, run go doc golang.org/x/exp/cmd/gorelease ././@LongLink0000644000000000000000000000016300000000000011603 Lustar rootrootdependencies/pkg/mod/golang.org/x/exp@v0.0.0-20240506185415-9bf2ced13842/cmd/gorelease/testdata/errors/errors.testdependencies/pkg/mod/golang.org/x/exp@v0.0.0-20240506185415-9bf2ced13842/cmd/gorelease/testdata/erro0000644000000000000000000000150315107355263030134 0ustar rootrootmod=example.com/errors version=v0.2.0 base=v0.1.0 release=v0.2.0 success=false proxyVersions=example.com/errors@v0.1.0 -- want -- # example.com/errors/added ## errors in release version: added/added.go:3:15: undefined: Missing ## compatible changes package added # example.com/errors/broken ## errors in release version: broken/broken.go:3:15: undefined: Missing ## incompatible changes X: value changed from 12 to unknown # example.com/errors/deleted ## errors in base version: deleted/deleted.go:3:15: undefined: Missing ## incompatible changes package removed # example.com/errors/fixed ## errors in base version: fixed/fixed.go:3:15: undefined: Missing ## incompatible changes X: value changed from unknown to 12 # summary v0.2.0 is not a valid semantic version for this release. Errors were found in one or more packages. ././@LongLink0000644000000000000000000000017000000000000011601 Lustar rootrootdependencies/pkg/mod/golang.org/x/exp@v0.0.0-20240506185415-9bf2ced13842/cmd/gorelease/testdata/errors/base_higher.testdependencies/pkg/mod/golang.org/x/exp@v0.0.0-20240506185415-9bf2ced13842/cmd/gorelease/testdata/erro0000644000000000000000000000040215107355263030131 0ustar rootrootmod=example.com/errors base=v0.2.0 release=v0.1.0 error=true -- want -- usage: gorelease [-base=version] [-version=version] base version ("v0.2.0") must be lower than release version ("v0.1.0") For more information, run go doc golang.org/x/exp/cmd/gorelease ././@LongLink0000644000000000000000000000017200000000000011603 Lustar rootrootdependencies/pkg/mod/golang.org/x/exp@v0.0.0-20240506185415-9bf2ced13842/cmd/gorelease/testdata/errors/bad_filenames.testdependencies/pkg/mod/golang.org/x/exp@v0.0.0-20240506185415-9bf2ced13842/cmd/gorelease/testdata/erro0000644000000000000000000000112515107355263030134 0ustar rootrootmod=example.com/ziperrors dir=x base=none error=true vcs=git -- want -- testdata/this_file_also_has_a_bad_filename'.txt: malformed file path "testdata/this_file_also_has_a_bad_filename'.txt": invalid char '\'' testdata/this_file_has_a_bad_filename'.txt: malformed file path "testdata/this_file_has_a_bad_filename'.txt": invalid char '\'' -- x/go.mod -- module example.com/x go 1.12 -- x/testdata/this_file_has_a_bad_filename'.txt -- -- x/testdata/this_file_also_has_a_bad_filename'.txt -- # Verify that errors in submodules are not reported. -- x/y/go.mod -- -- x/y/submodule_bad_filename'.txt --././@LongLink0000644000000000000000000000016200000000000011602 Lustar rootrootdependencies/pkg/mod/golang.org/x/exp@v0.0.0-20240506185415-9bf2ced13842/cmd/gorelease/testdata/errors/README.txtdependencies/pkg/mod/golang.org/x/exp@v0.0.0-20240506185415-9bf2ced13842/cmd/gorelease/testdata/erro0000644000000000000000000000013215107355263030131 0ustar rootrootTests in this directory check that user errors invoking gorelease are correctly reported. ././@LongLink0000644000000000000000000000017600000000000011607 Lustar rootrootdependencies/pkg/mod/golang.org/x/exp@v0.0.0-20240506185415-9bf2ced13842/cmd/gorelease/testdata/errors/base_modpath_none.testdependencies/pkg/mod/golang.org/x/exp@v0.0.0-20240506185415-9bf2ced13842/cmd/gorelease/testdata/erro0000644000000000000000000000043415107355263030136 0ustar rootrootmod=example.com/basic/v2 base=example.com/basic@none error=true -- want -- usage: gorelease [-base=version] [-version=version] base version ("example.com/basic@none") cannot have version "none" with explicit module path For more information, run go doc golang.org/x/exp/cmd/gorelease ././@LongLink0000644000000000000000000000014700000000000011605 Lustar rootrootdependencies/pkg/mod/golang.org/x/exp@v0.0.0-20240506185415-9bf2ced13842/cmd/gorelease/testdata/cycle/dependencies/pkg/mod/golang.org/x/exp@v0.0.0-20240506185415-9bf2ced13842/cmd/gorelease/testdata/cycl0000755000000000000000000000000015107355263030116 5ustar rootroot././@LongLink0000644000000000000000000000016000000000000011600 Lustar rootrootdependencies/pkg/mod/golang.org/x/exp@v0.0.0-20240506185415-9bf2ced13842/cmd/gorelease/testdata/cycle/README.mddependencies/pkg/mod/golang.org/x/exp@v0.0.0-20240506185415-9bf2ced13842/cmd/gorelease/testdata/cycl0000644000000000000000000000006515107355263030121 0ustar rootrootThis directory is for tests related to module cycles.././@LongLink0000644000000000000000000000017000000000000011601 Lustar rootrootdependencies/pkg/mod/golang.org/x/exp@v0.0.0-20240506185415-9bf2ced13842/cmd/gorelease/testdata/cycle/cycle_verify.testdependencies/pkg/mod/golang.org/x/exp@v0.0.0-20240506185415-9bf2ced13842/cmd/gorelease/testdata/cycl0000644000000000000000000000033615107355263030122 0ustar rootrootmod=example.com/cycle base=v1.0.0 version=v1.0.0 release=v1.0.1 success=false -- want -- # summary v1.0.1 is not a valid semantic version for this release. Module indirectly depends on a higher version of itself (v1.5.0). ././@LongLink0000644000000000000000000000017100000000000011602 Lustar rootrootdependencies/pkg/mod/golang.org/x/exp@v0.0.0-20240506185415-9bf2ced13842/cmd/gorelease/testdata/cycle/cycle_suggest.testdependencies/pkg/mod/golang.org/x/exp@v0.0.0-20240506185415-9bf2ced13842/cmd/gorelease/testdata/cycl0000644000000000000000000000016515107355263030122 0ustar rootrootmod=example.com/cycle/v2 version=v2.0.0 -- want -- # summary Inferred base version: v2.0.0 Suggested version: v2.0.1 ././@LongLink0000644000000000000000000000017700000000000011610 Lustar rootrootdependencies/pkg/mod/golang.org/x/exp@v0.0.0-20240506185415-9bf2ced13842/cmd/gorelease/testdata/cycle/cycle_suggest_error.testdependencies/pkg/mod/golang.org/x/exp@v0.0.0-20240506185415-9bf2ced13842/cmd/gorelease/testdata/cycl0000644000000000000000000000032715107355263030122 0ustar rootrootmod=example.com/cycle base=v1.0.0 version=v1.0.0 success=false -- want -- # summary Cannot suggest a release version. Module indirectly depends on a higher version of itself (v1.5.0) than the base version (v1.0.0). ././@LongLink0000644000000000000000000000015400000000000011603 Lustar rootrootdependencies/pkg/mod/golang.org/x/exp@v0.0.0-20240506185415-9bf2ced13842/cmd/gorelease/testdata/patherrors/dependencies/pkg/mod/golang.org/x/exp@v0.0.0-20240506185415-9bf2ced13842/cmd/gorelease/testdata/path0000755000000000000000000000000015107355263030120 5ustar rootroot././@LongLink0000644000000000000000000000017000000000000011601 Lustar rootrootdependencies/pkg/mod/golang.org/x/exp@v0.0.0-20240506185415-9bf2ced13842/cmd/gorelease/testdata/patherrors/abspath.testdependencies/pkg/mod/golang.org/x/exp@v0.0.0-20240506185415-9bf2ced13842/cmd/gorelease/testdata/path0000644000000000000000000000034515107355263030124 0ustar rootrootmod=example.com/patherrors base=none error=true -- want -- module path "/home/gopher/go/src/mymod" must not be an absolute path. It must be an address where your module may be found. -- go.mod -- module /home/gopher/go/src/mymod ././@LongLink0000644000000000000000000000017600000000000011607 Lustar rootrootdependencies/pkg/mod/golang.org/x/exp@v0.0.0-20240506185415-9bf2ced13842/cmd/gorelease/testdata/patherrors/dup_roots_dir.testdependencies/pkg/mod/golang.org/x/exp@v0.0.0-20240506185415-9bf2ced13842/cmd/gorelease/testdata/path0000644000000000000000000000045115107355263030122 0ustar rootrootdir=dup/v2 base=none success=false vcs=git -- dup/go.mod -- module example.com/dup/v2 go 1.13 -- dup/v2/go.mod -- module example.com/dup/v2 go 1.13 -- want -- # diagnostics module is defined in two locations: dup/v2/go.mod dup/go.mod # summary Suggested version: v2.0.0 (with tag dup/v2.0.0) ././@LongLink0000644000000000000000000000017500000000000011606 Lustar rootrootdependencies/pkg/mod/golang.org/x/exp@v0.0.0-20240506185415-9bf2ced13842/cmd/gorelease/testdata/patherrors/dup_roots_ok.testdependencies/pkg/mod/golang.org/x/exp@v0.0.0-20240506185415-9bf2ced13842/cmd/gorelease/testdata/path0000644000000000000000000000031215107355263030116 0ustar rootrootdir=dup/v2 base=none vcs=git -- dup/go.mod -- module example.com/dup go 1.13 -- dup/v2/go.mod -- module example.com/dup/v2 go 1.13 -- want -- # summary Suggested version: v2.0.0 (with tag dup/v2.0.0) ././@LongLink0000644000000000000000000000017000000000000011601 Lustar rootrootdependencies/pkg/mod/golang.org/x/exp@v0.0.0-20240506185415-9bf2ced13842/cmd/gorelease/testdata/patherrors/pathsub.testdependencies/pkg/mod/golang.org/x/exp@v0.0.0-20240506185415-9bf2ced13842/cmd/gorelease/testdata/path0000644000000000000000000000044315107355263030123 0ustar rootrootmod=example.com/patherrors dir=x base=none success=false vcs=git -- want -- # diagnostics example.com/y: module path must end with "x", since it is in subdirectory "x" # summary Suggested version: v0.1.0 -- .mod -- module example.com/patherrors -- x/go.mod -- module example.com/y go 1.12 ././@LongLink0000644000000000000000000000016600000000000011606 Lustar rootrootdependencies/pkg/mod/golang.org/x/exp@v0.0.0-20240506185415-9bf2ced13842/cmd/gorelease/testdata/patherrors/README.txtdependencies/pkg/mod/golang.org/x/exp@v0.0.0-20240506185415-9bf2ced13842/cmd/gorelease/testdata/path0000644000000000000000000000007415107355263030123 0ustar rootrootModule example.com/patherrors tests errors related to paths.././@LongLink0000644000000000000000000000017200000000000011603 Lustar rootrootdependencies/pkg/mod/golang.org/x/exp@v0.0.0-20240506185415-9bf2ced13842/cmd/gorelease/testdata/patherrors/pathsubv2.testdependencies/pkg/mod/golang.org/x/exp@v0.0.0-20240506185415-9bf2ced13842/cmd/gorelease/testdata/path0000644000000000000000000000046315107355263030125 0ustar rootrootmod=example.com/patherrors base=none dir=x success=false vcs=git -- want -- # diagnostics example.com/y/v2: module path must end with "x" or "x/v2", since it is in subdirectory "x" # summary Suggested version: v2.0.0 -- .mod -- module example.com/patherrors -- x/go.mod -- module example.com/y/v2 go 1.12 ././@LongLink0000644000000000000000000000017100000000000011602 Lustar rootrootdependencies/pkg/mod/golang.org/x/exp@v0.0.0-20240506185415-9bf2ced13842/cmd/gorelease/testdata/patherrors/badmajor.testdependencies/pkg/mod/golang.org/x/exp@v0.0.0-20240506185415-9bf2ced13842/cmd/gorelease/testdata/path0000644000000000000000000000036115107355263030122 0ustar rootrootmod=example.com/patherrors base=none error=true -- want -- module path "example.com/patherrors/v0" has major version suffix "v0". A major version suffix is only allowed for v2 or later. -- go.mod -- module example.com/patherrors/v0 go 1.12 ././@LongLink0000644000000000000000000000020100000000000011574 Lustar rootrootdependencies/pkg/mod/golang.org/x/exp@v0.0.0-20240506185415-9bf2ced13842/cmd/gorelease/testdata/patherrors/dup_roots_branch.testdependencies/pkg/mod/golang.org/x/exp@v0.0.0-20240506185415-9bf2ced13842/cmd/gorelease/testdata/path0000644000000000000000000000044615107355263030126 0ustar rootrootdir=dup base=none success=false vcs=git -- dup/go.mod -- module example.com/dup/v2 go 1.13 -- dup/v2/go.mod -- module example.com/dup/v2 go 1.13 -- want -- # diagnostics module is defined in two locations: dup/go.mod dup/v2/go.mod # summary Suggested version: v2.0.0 (with tag dup/v2.0.0) ././@LongLink0000644000000000000000000000017300000000000011604 Lustar rootrootdependencies/pkg/mod/golang.org/x/exp@v0.0.0-20240506185415-9bf2ced13842/cmd/gorelease/testdata/patherrors/gopkginsub.testdependencies/pkg/mod/golang.org/x/exp@v0.0.0-20240506185415-9bf2ced13842/cmd/gorelease/testdata/path0000644000000000000000000000054515107355263030126 0ustar rootrootmod=example.com/patherrors base=none dir=yaml success=false vcs=git -- want -- # diagnostics go.mod: go directive is missing gopkg.in/yaml.v2: module path starts with gopkg.in and must be declared in the root directory of the repository # summary Suggested version: v2.0.0 -- .mod -- module example.com/patherrors -- yaml/go.mod -- module gopkg.in/yaml.v2 ././@LongLink0000644000000000000000000000015700000000000011606 Lustar rootrootdependencies/pkg/mod/golang.org/x/exp@v0.0.0-20240506185415-9bf2ced13842/cmd/gorelease/testdata/alreadyexists/dependencies/pkg/mod/golang.org/x/exp@v0.0.0-20240506185415-9bf2ced13842/cmd/gorelease/testdata/alre0000755000000000000000000000000015107355263030107 5ustar rootroot././@LongLink0000644000000000000000000000021000000000000011574 Lustar rootrootdependencies/pkg/mod/golang.org/x/exp@v0.0.0-20240506185415-9bf2ced13842/cmd/gorelease/testdata/alreadyexists/alreadyexists_verify.testdependencies/pkg/mod/golang.org/x/exp@v0.0.0-20240506185415-9bf2ced13842/cmd/gorelease/testdata/alre0000644000000000000000000000063215107355263030112 0ustar rootrootmod=example.com/basic base=v0.0.1 release=v0.1.0 success=false # The contents below are a copy of the v0.0.1 contents - nothing has changed. # But v0.1.0 already exists, so it should present a diagnostic. -- want -- # summary v0.1.0 is not a valid semantic version for this release. version v0.1.0 already exists -- go.mod -- module example.com/basic go 1.12 -- a/a.go -- package a func A() int { return 0 } ././@LongLink0000644000000000000000000000021700000000000011603 Lustar rootrootdependencies/pkg/mod/golang.org/x/exp@v0.0.0-20240506185415-9bf2ced13842/cmd/gorelease/testdata/alreadyexists/alreadyexists_suggest_minor.testdependencies/pkg/mod/golang.org/x/exp@v0.0.0-20240506185415-9bf2ced13842/cmd/gorelease/testdata/alre0000644000000000000000000000104615107355263030112 0ustar rootrootmod=example.com/basic base=v0.0.1 success=false # B() was added, so now it should suggest a new minor version. But, there's a # later version that already exists: so it should not try to suggest anything at # all. -- want -- # example.com/basic/a ## compatible changes B: added # summary Cannot suggest a release version. Can only suggest a release version when compared against the most recent version of this major: v0.1.2. -- go.mod -- module example.com/basic go 1.12 -- a/a.go -- package a func A() int { return 0 } func B() int { return 0 } ././@LongLink0000644000000000000000000000021700000000000011603 Lustar rootrootdependencies/pkg/mod/golang.org/x/exp@v0.0.0-20240506185415-9bf2ced13842/cmd/gorelease/testdata/alreadyexists/alreadyexists_suggest_patch.testdependencies/pkg/mod/golang.org/x/exp@v0.0.0-20240506185415-9bf2ced13842/cmd/gorelease/testdata/alre0000644000000000000000000000106415107355263030112 0ustar rootrootmod=example.com/basic base=v0.1.0 success=false # A() was changed in a small way, so now it should suggest a new patch version. # But, there's a later version that already exists: so it should not try to # suggest anything at all. -- want -- # summary Cannot suggest a release version. Can only suggest a release version when compared against the most recent version of this major: v0.1.2. -- go.mod -- module example.com/basic go 1.12 -- a/a.go -- package a func A() int { return 1 } func A2() int { return 2 } -- b/b.go -- package b func B() int { return 3 } ././@LongLink0000644000000000000000000000021700000000000011603 Lustar rootrootdependencies/pkg/mod/golang.org/x/exp@v0.0.0-20240506185415-9bf2ced13842/cmd/gorelease/testdata/alreadyexists/alreadyexists_suggest_major.testdependencies/pkg/mod/golang.org/x/exp@v0.0.0-20240506185415-9bf2ced13842/cmd/gorelease/testdata/alre0000644000000000000000000000064515107355263030116 0ustar rootrootmod=example.com/basic base=v1.0.1 success=false # A() was removed, which is a breaking change: it shouldn't try to suggest a # higher version. -- want -- # example.com/basic/a ## incompatible changes A: removed ## compatible changes B: added # summary Cannot suggest a release version. Incompatible changes were detected. -- go.mod -- module example.com/basic go 1.12 -- a/a.go -- package a func B() int { return 0 } dependencies/pkg/mod/golang.org/x/exp@v0.0.0-20240506185415-9bf2ced13842/cmd/gorelease/testdata/sub/0000755000000000000000000000000015107355263030034 5ustar rootroot././@LongLink0000644000000000000000000000016100000000000011601 Lustar rootrootdependencies/pkg/mod/golang.org/x/exp@v0.0.0-20240506185415-9bf2ced13842/cmd/gorelease/testdata/sub/nest_v2.testdependencies/pkg/mod/golang.org/x/exp@v0.0.0-20240506185415-9bf2ced13842/cmd/gorelease/testdata/sub/0000644000000000000000000000033115107355263030033 0ustar rootrootmod=example.com/sub/nest/v2 dir=nest base=v2.0.0 vcs=git -- want -- # summary Suggested version: v2.0.1 (with tag nest/v2.0.1) -- nest/go.mod -- module example.com/sub/nest/v2 go 1.12 -- nest/nest.go -- package nest ././@LongLink0000644000000000000000000000016000000000000011600 Lustar rootrootdependencies/pkg/mod/golang.org/x/exp@v0.0.0-20240506185415-9bf2ced13842/cmd/gorelease/testdata/sub/v2_dir.testdependencies/pkg/mod/golang.org/x/exp@v0.0.0-20240506185415-9bf2ced13842/cmd/gorelease/testdata/sub/0000644000000000000000000000026015107355263030034 0ustar rootrootmod=example.com/sub/v2 dir=v2 base=v2.0.0 vcs=git -- want -- # summary Suggested version: v2.0.1 -- v2/go.mod -- module example.com/sub/v2 go 1.12 -- v2/sub.go -- package sub ././@LongLink0000644000000000000000000000015600000000000011605 Lustar rootrootdependencies/pkg/mod/golang.org/x/exp@v0.0.0-20240506185415-9bf2ced13842/cmd/gorelease/testdata/sub/nest.testdependencies/pkg/mod/golang.org/x/exp@v0.0.0-20240506185415-9bf2ced13842/cmd/gorelease/testdata/sub/0000644000000000000000000000032315107355263030034 0ustar rootrootmod=example.com/sub/nest dir=nest base=v1.0.0 vcs=git -- want -- # summary Suggested version: v1.0.1 (with tag nest/v1.0.1) -- nest/go.mod -- module example.com/sub/nest go 1.12 -- nest/nest.go -- package nest ././@LongLink0000644000000000000000000000016100000000000011601 Lustar rootrootdependencies/pkg/mod/golang.org/x/exp@v0.0.0-20240506185415-9bf2ced13842/cmd/gorelease/testdata/sub/v2_root.testdependencies/pkg/mod/golang.org/x/exp@v0.0.0-20240506185415-9bf2ced13842/cmd/gorelease/testdata/sub/0000644000000000000000000000024315107355263030035 0ustar rootrootmod=example.com/sub/v2 base=v2.0.0 vcs=git -- want -- # summary Suggested version: v2.0.1 -- go.mod -- module example.com/sub/v2 go 1.12 -- sub.go -- package sub ././@LongLink0000644000000000000000000000015700000000000011606 Lustar rootrootdependencies/pkg/mod/golang.org/x/exp@v0.0.0-20240506185415-9bf2ced13842/cmd/gorelease/testdata/sub/README.txtdependencies/pkg/mod/golang.org/x/exp@v0.0.0-20240506185415-9bf2ced13842/cmd/gorelease/testdata/sub/0000644000000000000000000000077415107355263030046 0ustar rootrootThis directory contains tests for modules that aren't at the root of the repository, which is marked with a .git directory. We're comparing against an earlier published version with a trivial package. Nothing has changed except the location of the module within the repository. example.com/sub - corresponds to the root directory. Not a module. example.com/sub/v2 - may be in v2 subdirectory. example.com/sub/nest - nested module in subdirectory example.com/sub/nest/v2 - may be in nest or nest/v2. ././@LongLink0000644000000000000000000000016500000000000011605 Lustar rootrootdependencies/pkg/mod/golang.org/x/exp@v0.0.0-20240506185415-9bf2ced13842/cmd/gorelease/testdata/sub/nest_v2_dir.testdependencies/pkg/mod/golang.org/x/exp@v0.0.0-20240506185415-9bf2ced13842/cmd/gorelease/testdata/sub/0000644000000000000000000000034215107355263030035 0ustar rootrootmod=example.com/sub/nest/v2 dir=nest/v2 base=v2.0.0 vcs=git -- want -- # summary Suggested version: v2.0.1 (with tag nest/v2.0.1) -- nest/v2/go.mod -- module example.com/sub/nest/v2 go 1.12 -- nest/v2/nest.go -- package nest ././@LongLink0000644000000000000000000000014700000000000011605 Lustar rootrootdependencies/pkg/mod/golang.org/x/exp@v0.0.0-20240506185415-9bf2ced13842/cmd/gorelease/testdata/basic/dependencies/pkg/mod/golang.org/x/exp@v0.0.0-20240506185415-9bf2ced13842/cmd/gorelease/testdata/basi0000755000000000000000000000000015107355263030102 5ustar rootroot././@LongLink0000644000000000000000000000020100000000000011574 Lustar rootrootdependencies/pkg/mod/golang.org/x/exp@v0.0.0-20240506185415-9bf2ced13842/cmd/gorelease/testdata/basic/v0_compatible_suggest.testdependencies/pkg/mod/golang.org/x/exp@v0.0.0-20240506185415-9bf2ced13842/cmd/gorelease/testdata/basi0000644000000000000000000000037115107355263030105 0ustar rootrootmod=example.com/basic version=v0.1.0 base=v0.0.1 proxyVersions=example.com/basic@v0.0.1 -- want -- # example.com/basic/a ## compatible changes A2: added # example.com/basic/b ## compatible changes package added # summary Suggested version: v0.1.0 ././@LongLink0000644000000000000000000000020500000000000011600 Lustar rootrootdependencies/pkg/mod/golang.org/x/exp@v0.0.0-20240506185415-9bf2ced13842/cmd/gorelease/testdata/basic/v1_v2_base_version_verify.testdependencies/pkg/mod/golang.org/x/exp@v0.0.0-20240506185415-9bf2ced13842/cmd/gorelease/testdata/basi0000644000000000000000000000021515107355263030102 0ustar rootrootmod=example.com/basic/v2 base=v1.1.0 version=v2.1.0 release=v2.1.0 -- want -- # summary v2.1.0 is a valid semantic version for this release. ././@LongLink0000644000000000000000000000017700000000000011610 Lustar rootrootdependencies/pkg/mod/golang.org/x/exp@v0.0.0-20240506185415-9bf2ced13842/cmd/gorelease/testdata/basic/v1_querybase_verify.testdependencies/pkg/mod/golang.org/x/exp@v0.0.0-20240506185415-9bf2ced13842/cmd/gorelease/testdata/basi0000644000000000000000000000026615107355263030110 0ustar rootrootmod=example.com/basic version=v1.0.1 base=version-1.0.1 release=v1.0.2 -- want -- # summary Base version: v1.0.1 (version-1.0.1) v1.0.2 is a valid semantic version for this release. ././@LongLink0000644000000000000000000000020200000000000011575 Lustar rootrootdependencies/pkg/mod/golang.org/x/exp@v0.0.0-20240506185415-9bf2ced13842/cmd/gorelease/testdata/basic/v1_incompatible_verify.testdependencies/pkg/mod/golang.org/x/exp@v0.0.0-20240506185415-9bf2ced13842/cmd/gorelease/testdata/basi0000644000000000000000000000053515107355263030107 0ustar rootrootmod=example.com/basic version=v1.1.2 base=v1.1.1 success=false release=v1.1.2 proxyVersions=example.com/basic@v1.1.1 -- want -- # example.com/basic/a ## incompatible changes A2: removed # example.com/basic/b ## incompatible changes package removed # summary v1.1.2 is not a valid semantic version for this release. There are incompatible changes. ././@LongLink0000644000000000000000000000021300000000000011577 Lustar rootrootdependencies/pkg/mod/golang.org/x/exp@v0.0.0-20240506185415-9bf2ced13842/cmd/gorelease/testdata/basic/v1_v2_base_modpath_query_verify.testdependencies/pkg/mod/golang.org/x/exp@v0.0.0-20240506185415-9bf2ced13842/cmd/gorelease/testdata/basi0000644000000000000000000000056415107355263030111 0ustar rootrootmod=example.com/basic/v2 base=example.com/basic@>=v1.1.0 version=v2.0.1 release=v2.0.1 proxyVersions=example.com/basic@v1.1.0 -- want -- # example.com/basic/a ## incompatible changes A2: removed # example.com/basic/b ## incompatible changes package removed # summary Base version: example.com/basic@v1.1.0 (>=v1.1.0) v2.0.1 is a valid semantic version for this release. ././@LongLink0000644000000000000000000000020500000000000011600 Lustar rootrootdependencies/pkg/mod/golang.org/x/exp@v0.0.0-20240506185415-9bf2ced13842/cmd/gorelease/testdata/basic/v1_v2_incompatible_verify.testdependencies/pkg/mod/golang.org/x/exp@v0.0.0-20240506185415-9bf2ced13842/cmd/gorelease/testdata/basi0000644000000000000000000000061215107355263030103 0ustar rootrootmod=example.com/basic version=v1.1.2 base=v1.1.1 release=v2.0.0 success=false -- want -- # example.com/basic/a ## incompatible changes A2: removed # example.com/basic/b ## incompatible changes package removed # summary v2.0.0 is not a valid semantic version for this release. The module path does not end with the major version suffix /v2, which is required for major versions v2 or greater. ././@LongLink0000644000000000000000000000020300000000000011576 Lustar rootrootdependencies/pkg/mod/golang.org/x/exp@v0.0.0-20240506185415-9bf2ced13842/cmd/gorelease/testdata/basic/v2_incompatible_suggest.testdependencies/pkg/mod/golang.org/x/exp@v0.0.0-20240506185415-9bf2ced13842/cmd/gorelease/testdata/basi0000644000000000000000000000043515107355263030106 0ustar rootrootmod=example.com/basic/v2 version=v2.1.2 base=v2.1.1 success=false -- want -- # example.com/basic/v2/a ## incompatible changes A2: removed # example.com/basic/v2/b ## incompatible changes package removed # summary Cannot suggest a release version. Incompatible changes were detected. ././@LongLink0000644000000000000000000000020200000000000011575 Lustar rootrootdependencies/pkg/mod/golang.org/x/exp@v0.0.0-20240506185415-9bf2ced13842/cmd/gorelease/testdata/basic/v0_incompatible_verify.testdependencies/pkg/mod/golang.org/x/exp@v0.0.0-20240506185415-9bf2ced13842/cmd/gorelease/testdata/basi0000644000000000000000000000045315107355263030106 0ustar rootrootmod=example.com/basic version=v0.1.2 base=v0.1.1 release=v0.1.2 proxyVersions=example.com/basic@v0.1.1 -- want -- # example.com/basic/a ## incompatible changes A2: removed # example.com/basic/b ## incompatible changes package removed # summary v0.1.2 is a valid semantic version for this release. ././@LongLink0000644000000000000000000000017200000000000011603 Lustar rootrootdependencies/pkg/mod/golang.org/x/exp@v0.0.0-20240506185415-9bf2ced13842/cmd/gorelease/testdata/basic/v0_pre_suggest.testdependencies/pkg/mod/golang.org/x/exp@v0.0.0-20240506185415-9bf2ced13842/cmd/gorelease/testdata/basi0000644000000000000000000000041115107355263030100 0ustar rootrootmod=example.com/basic version=v0.1.2 base=v0.1.1-pre proxyVersions=example.com/basic@v0.1.1-pre -- want -- # example.com/basic/a ## incompatible changes A2: removed # example.com/basic/b ## incompatible changes package removed # summary Suggested version: v0.1.1 ././@LongLink0000644000000000000000000000017300000000000011604 Lustar rootrootdependencies/pkg/mod/golang.org/x/exp@v0.0.0-20240506185415-9bf2ced13842/cmd/gorelease/testdata/basic/v1_patch_verify.testdependencies/pkg/mod/golang.org/x/exp@v0.0.0-20240506185415-9bf2ced13842/cmd/gorelease/testdata/basi0000644000000000000000000000026115107355263030103 0ustar rootrootmod=example.com/basic version=v1.1.1 base=v1.1.0 release=v1.1.1 proxyVersions=example.com/basic@v1.1.0 -- want -- # summary v1.1.1 is a valid semantic version for this release. ././@LongLink0000644000000000000000000000021500000000000011601 Lustar rootrootdependencies/pkg/mod/golang.org/x/exp@v0.0.0-20240506185415-9bf2ced13842/cmd/gorelease/testdata/basic/v1_v2_base_modpath_version_verify.testdependencies/pkg/mod/golang.org/x/exp@v0.0.0-20240506185415-9bf2ced13842/cmd/gorelease/testdata/basi0000644000000000000000000000050015107355263030077 0ustar rootrootmod=example.com/basic/v2 base=example.com/basic@v1.1.0 version=v2.0.1 release=v2.0.1 proxyVersions=example.com/basic@v1.1.0 -- want -- # example.com/basic/a ## incompatible changes A2: removed # example.com/basic/b ## incompatible changes package removed # summary v2.0.1 is a valid semantic version for this release. ././@LongLink0000644000000000000000000000017400000000000011605 Lustar rootrootdependencies/pkg/mod/golang.org/x/exp@v0.0.0-20240506185415-9bf2ced13842/cmd/gorelease/testdata/basic/v2_patch_suggest.testdependencies/pkg/mod/golang.org/x/exp@v0.0.0-20240506185415-9bf2ced13842/cmd/gorelease/testdata/basi0000644000000000000000000000021515107355263030102 0ustar rootrootmod=example.com/basic/v2 version=v2.1.1 base=v2.1.0 proxyVersions=example.com/basic/v2@v2.1.0 -- want -- # summary Suggested version: v2.1.1 ././@LongLink0000644000000000000000000000021700000000000011603 Lustar rootrootdependencies/pkg/mod/golang.org/x/exp@v0.0.0-20240506185415-9bf2ced13842/cmd/gorelease/testdata/basic/v1_fork_base_modpath_version_verify.testdependencies/pkg/mod/golang.org/x/exp@v0.0.0-20240506185415-9bf2ced13842/cmd/gorelease/testdata/basi0000644000000000000000000000034215107355263030103 0ustar rootrootmod=example.com/basicfork base=example.com/basic@v1.1.1 version=v1.1.2 release=v1.1.2 proxyVersions=example.com/basic@v1.1.1 -- want -- # example.com/basic/a ## incompatible changes A2: removed ## compatible changes A3: added ././@LongLink0000644000000000000000000000020600000000000011601 Lustar rootrootdependencies/pkg/mod/golang.org/x/exp@v0.0.0-20240506185415-9bf2ced13842/cmd/gorelease/testdata/basic/v1_v2_base_modpath_suggest.testdependencies/pkg/mod/golang.org/x/exp@v0.0.0-20240506185415-9bf2ced13842/cmd/gorelease/testdata/basi0000644000000000000000000000052515107355263030106 0ustar rootrootmod=example.com/basic/v2 base=example.com/basic version=v2.1.0 success=false -- want -- # example.com/basic/a ## compatible changes A2: added # example.com/basic/v2/b ## compatible changes package added # summary Inferred base version: example.com/basic@v1.1.2 Cannot suggest a release version. Base module path is different from release. ././@LongLink0000644000000000000000000000020000000000000011573 Lustar rootrootdependencies/pkg/mod/golang.org/x/exp@v0.0.0-20240506185415-9bf2ced13842/cmd/gorelease/testdata/basic/v1_compatible_verify.testdependencies/pkg/mod/golang.org/x/exp@v0.0.0-20240506185415-9bf2ced13842/cmd/gorelease/testdata/basi0000644000000000000000000000044315107355263030105 0ustar rootrootmod=example.com/basic version=v1.1.0 base=v1.0.1 release=v1.1.0 proxyVersions=example.com/basic@v1.0.1 -- want -- # example.com/basic/a ## compatible changes A2: added # example.com/basic/b ## compatible changes package added # summary v1.1.0 is a valid semantic version for this release. ././@LongLink0000644000000000000000000000020000000000000011573 Lustar rootrootdependencies/pkg/mod/golang.org/x/exp@v0.0.0-20240506185415-9bf2ced13842/cmd/gorelease/testdata/basic/v0_compatible_verify.testdependencies/pkg/mod/golang.org/x/exp@v0.0.0-20240506185415-9bf2ced13842/cmd/gorelease/testdata/basi0000644000000000000000000000044315107355263030105 0ustar rootrootmod=example.com/basic version=v0.1.0 base=v0.0.1 release=v0.1.0 proxyVersions=example.com/basic@v0.0.1 -- want -- # example.com/basic/a ## compatible changes A2: added # example.com/basic/b ## compatible changes package added # summary v0.1.0 is a valid semantic version for this release. ././@LongLink0000644000000000000000000000020500000000000011600 Lustar rootrootdependencies/pkg/mod/golang.org/x/exp@v0.0.0-20240506185415-9bf2ced13842/cmd/gorelease/testdata/basic/v1_v2_base_modpath_verify.testdependencies/pkg/mod/golang.org/x/exp@v0.0.0-20240506185415-9bf2ced13842/cmd/gorelease/testdata/basi0000644000000000000000000000054415107355263030107 0ustar rootrootmod=example.com/basic/v2 base=example.com/basic version=v2.1.0 release=v2.1.0 proxyVersions=example.com/basic@v1.1.2 -- want -- # example.com/basic/a ## compatible changes A2: added # example.com/basic/v2/b ## compatible changes package added # summary Inferred base version: example.com/basic@v1.1.2 v2.1.0 is a valid semantic version for this release. ././@LongLink0000644000000000000000000000020600000000000011601 Lustar rootrootdependencies/pkg/mod/golang.org/x/exp@v0.0.0-20240506185415-9bf2ced13842/cmd/gorelease/testdata/basic/v1_v2_base_version_suggest.testdependencies/pkg/mod/golang.org/x/exp@v0.0.0-20240506185415-9bf2ced13842/cmd/gorelease/testdata/basi0000644000000000000000000000024515107355263030105 0ustar rootrootmod=example.com/basic/v2 base=v1.1.0 version=v2.1.0 success=false -- want -- # summary Cannot suggest a release version. Base module path is different from release. ././@LongLink0000644000000000000000000000020400000000000011577 Lustar rootrootdependencies/pkg/mod/golang.org/x/exp@v0.0.0-20240506185415-9bf2ced13842/cmd/gorelease/testdata/basic/v3_autobase_verify_error.testdependencies/pkg/mod/golang.org/x/exp@v0.0.0-20240506185415-9bf2ced13842/cmd/gorelease/testdata/basi0000644000000000000000000000036015107355263030103 0ustar rootrootmod=example.com/basic/v3 version=v3.0.0-ignore release=v3.1.0 error=true -- want -- could not find base version. Consider setting -version=v3.0.0 if this is a first release, or explicitly set -base=none: no versions found lower than v3.1.0 ././@LongLink0000644000000000000000000000017700000000000011610 Lustar rootrootdependencies/pkg/mod/golang.org/x/exp@v0.0.0-20240506185415-9bf2ced13842/cmd/gorelease/testdata/basic/v1_autobase_suggest.testdependencies/pkg/mod/golang.org/x/exp@v0.0.0-20240506185415-9bf2ced13842/cmd/gorelease/testdata/basi0000644000000000000000000000016215107355263030103 0ustar rootrootmod=example.com/basic version=v0.1.2 -- want -- # summary Inferred base version: v1.1.2 Suggested version: v1.1.3 ././@LongLink0000644000000000000000000000020000000000000011573 Lustar rootrootdependencies/pkg/mod/golang.org/x/exp@v0.0.0-20240506185415-9bf2ced13842/cmd/gorelease/testdata/basic/v1_querybase_suggest.testdependencies/pkg/mod/golang.org/x/exp@v0.0.0-20240506185415-9bf2ced13842/cmd/gorelease/testdata/basi0000644000000000000000000000032315107355263030102 0ustar rootrootmod=example.com/basic version=v1.0.1 base=version-1.0.1 proxyVersions=example.com/basic@version-1.0.1,example.com/basic@v1.0.1 -- want -- # summary Base version: v1.0.1 (version-1.0.1) Suggested version: v1.0.2 ././@LongLink0000644000000000000000000000020000000000000011573 Lustar rootrootdependencies/pkg/mod/golang.org/x/exp@v0.0.0-20240506185415-9bf2ced13842/cmd/gorelease/testdata/basic/v2_compatible_verify.testdependencies/pkg/mod/golang.org/x/exp@v0.0.0-20240506185415-9bf2ced13842/cmd/gorelease/testdata/basi0000644000000000000000000000045715107355263030112 0ustar rootrootmod=example.com/basic/v2 version=v2.1.0 base=v2.0.1 release=v2.1.0 proxyVersions=example.com/basic/v2@v2.0.1 -- want -- # example.com/basic/v2/a ## compatible changes A2: added # example.com/basic/v2/b ## compatible changes package added # summary v2.1.0 is a valid semantic version for this release. ././@LongLink0000644000000000000000000000020100000000000011574 Lustar rootrootdependencies/pkg/mod/golang.org/x/exp@v0.0.0-20240506185415-9bf2ced13842/cmd/gorelease/testdata/basic/v2_compatible_suggest.testdependencies/pkg/mod/golang.org/x/exp@v0.0.0-20240506185415-9bf2ced13842/cmd/gorelease/testdata/basi0000644000000000000000000000040515107355263030103 0ustar rootrootmod=example.com/basic/v2 version=v2.1.0 base=v2.0.1 proxyVersions=example.com/basic/v2@v2.0.1 -- want -- # example.com/basic/v2/a ## compatible changes A2: added # example.com/basic/v2/b ## compatible changes package added # summary Suggested version: v2.1.0 ././@LongLink0000644000000000000000000000016100000000000011601 Lustar rootrootdependencies/pkg/mod/golang.org/x/exp@v0.0.0-20240506185415-9bf2ced13842/cmd/gorelease/testdata/basic/README.txtdependencies/pkg/mod/golang.org/x/exp@v0.0.0-20240506185415-9bf2ced13842/cmd/gorelease/testdata/basi0000644000000000000000000000074115107355263030106 0ustar rootrootModule example.com/basic tests basic functionality of gorelease. It verifies that versions are correctly suggested or verified after various changes. All revisions are stored in the mod directory. The same series of changes is made across three major versions, v0, v1, and v2: vX.0.1 - simple package vX.1.0 - compatible change: add a function and a package vX.1.1 - internal change: function returns different value vX.1.2 - incompatible change: delete a function and a package ././@LongLink0000644000000000000000000000020400000000000011577 Lustar rootrootdependencies/pkg/mod/golang.org/x/exp@v0.0.0-20240506185415-9bf2ced13842/cmd/gorelease/testdata/basic/v0_compatible_suggest_hg.testdependencies/pkg/mod/golang.org/x/exp@v0.0.0-20240506185415-9bf2ced13842/cmd/gorelease/testdata/basi0000644000000000000000000000040015107355263030076 0ustar rootrootmod=example.com/basic version=v0.1.0 base=v0.0.1 proxyVersions=example.com/basic@v0.0.1 vcs=hg -- want -- # example.com/basic/a ## compatible changes A2: added # example.com/basic/b ## compatible changes package added # summary Suggested version: v0.1.0 ././@LongLink0000644000000000000000000000020400000000000011577 Lustar rootrootdependencies/pkg/mod/golang.org/x/exp@v0.0.0-20240506185415-9bf2ced13842/cmd/gorelease/testdata/basic/v3_autobase_verify_first.testdependencies/pkg/mod/golang.org/x/exp@v0.0.0-20240506185415-9bf2ced13842/cmd/gorelease/testdata/basi0000644000000000000000000000024415107355263030104 0ustar rootrootmod=example.com/basic/v3 version=v3.0.0-ignore release=v3.0.0 -- want -- # summary Inferred base version: none v3.0.0 is a valid semantic version for this release. ././@LongLink0000644000000000000000000000017700000000000011610 Lustar rootrootdependencies/pkg/mod/golang.org/x/exp@v0.0.0-20240506185415-9bf2ced13842/cmd/gorelease/testdata/basic/v1_querybase_higher.testdependencies/pkg/mod/golang.org/x/exp@v0.0.0-20240506185415-9bf2ced13842/cmd/gorelease/testdata/basi0000644000000000000000000000023715107355263030106 0ustar rootrootmod=example.com/basic version=v1.0.1 release=v1.0.1 base=>v1.0.1 error=true -- want -- base version v1.1.0 (>v1.0.1) must be lower than release version v1.0.1 ././@LongLink0000644000000000000000000000017200000000000011603 Lustar rootrootdependencies/pkg/mod/golang.org/x/exp@v0.0.0-20240506185415-9bf2ced13842/cmd/gorelease/testdata/basic/v1_pre_suggest.testdependencies/pkg/mod/golang.org/x/exp@v0.0.0-20240506185415-9bf2ced13842/cmd/gorelease/testdata/basi0000644000000000000000000000041115107355263030100 0ustar rootrootmod=example.com/basic version=v1.1.2 base=v1.1.1-pre proxyVersions=example.com/basic@v1.1.1-pre -- want -- # example.com/basic/a ## incompatible changes A2: removed # example.com/basic/b ## incompatible changes package removed # summary Suggested version: v1.1.1 ././@LongLink0000644000000000000000000000020200000000000011575 Lustar rootrootdependencies/pkg/mod/golang.org/x/exp@v0.0.0-20240506185415-9bf2ced13842/cmd/gorelease/testdata/basic/v2_incompatible_verify.testdependencies/pkg/mod/golang.org/x/exp@v0.0.0-20240506185415-9bf2ced13842/cmd/gorelease/testdata/basi0000644000000000000000000000055115107355263030105 0ustar rootrootmod=example.com/basic/v2 version=v2.1.2 base=v2.1.1 success=false release=v2.1.2 proxyVersions=example.com/basic/v2@v2.1.1 -- want -- # example.com/basic/v2/a ## incompatible changes A2: removed # example.com/basic/v2/b ## incompatible changes package removed # summary v2.1.2 is not a valid semantic version for this release. There are incompatible changes. ././@LongLink0000644000000000000000000000017700000000000011610 Lustar rootrootdependencies/pkg/mod/golang.org/x/exp@v0.0.0-20240506185415-9bf2ced13842/cmd/gorelease/testdata/basic/v1_fork_base_verify.testdependencies/pkg/mod/golang.org/x/exp@v0.0.0-20240506185415-9bf2ced13842/cmd/gorelease/testdata/basi0000644000000000000000000000057515107355263030113 0ustar rootroot# Compare a fork (with module path example.com/basic, downloaded from # example.com/basicfork) with a local module (with module path # example.com/basic). mod=example.com/basic version=v1.1.2 base=example.com/basicfork@v1.1.2 release=v1.1.3 -- want -- # example.com/basicfork/a ## incompatible changes A3: removed # example.com/basicfork/b ## incompatible changes package removed ././@LongLink0000644000000000000000000000020300000000000011576 Lustar rootrootdependencies/pkg/mod/golang.org/x/exp@v0.0.0-20240506185415-9bf2ced13842/cmd/gorelease/testdata/basic/v1_incompatible_suggest.testdependencies/pkg/mod/golang.org/x/exp@v0.0.0-20240506185415-9bf2ced13842/cmd/gorelease/testdata/basi0000644000000000000000000000042415107355263030104 0ustar rootrootmod=example.com/basic version=v1.1.2 base=v1.1.1 success=false -- want -- # example.com/basic/a ## incompatible changes A2: removed # example.com/basic/b ## incompatible changes package removed # summary Cannot suggest a release version. Incompatible changes were detected. ././@LongLink0000644000000000000000000000017300000000000011604 Lustar rootrootdependencies/pkg/mod/golang.org/x/exp@v0.0.0-20240506185415-9bf2ced13842/cmd/gorelease/testdata/basic/v2_patch_verify.testdependencies/pkg/mod/golang.org/x/exp@v0.0.0-20240506185415-9bf2ced13842/cmd/gorelease/testdata/basi0000644000000000000000000000026715107355263030111 0ustar rootrootmod=example.com/basic/v2 version=v2.1.1 base=v2.1.0 release=v2.1.1 proxyVersions=example.com/basic/v2@v2.1.0 -- want -- # summary v2.1.1 is a valid semantic version for this release. ././@LongLink0000644000000000000000000000017500000000000011606 Lustar rootrootdependencies/pkg/mod/golang.org/x/exp@v0.0.0-20240506185415-9bf2ced13842/cmd/gorelease/testdata/basic/v2_nobase_suggest.testdependencies/pkg/mod/golang.org/x/exp@v0.0.0-20240506185415-9bf2ced13842/cmd/gorelease/testdata/basi0000644000000000000000000000014115107355263030100 0ustar rootrootmod=example.com/basic/v2 version=v2.1.1 base=none -- want -- # summary Suggested version: v2.0.0 ././@LongLink0000644000000000000000000000017600000000000011607 Lustar rootrootdependencies/pkg/mod/golang.org/x/exp@v0.0.0-20240506185415-9bf2ced13842/cmd/gorelease/testdata/basic/v1_autobase_verify.testdependencies/pkg/mod/golang.org/x/exp@v0.0.0-20240506185415-9bf2ced13842/cmd/gorelease/testdata/basi0000644000000000000000000000023415107355263030103 0ustar rootrootmod=example.com/basic version=v1.0.1 release=v1.0.2 -- want -- # summary Inferred base version: v1.0.1 v1.0.2 is a valid semantic version for this release. ././@LongLink0000644000000000000000000000020100000000000011574 Lustar rootrootdependencies/pkg/mod/golang.org/x/exp@v0.0.0-20240506185415-9bf2ced13842/cmd/gorelease/testdata/basic/v1_compatible_suggest.testdependencies/pkg/mod/golang.org/x/exp@v0.0.0-20240506185415-9bf2ced13842/cmd/gorelease/testdata/basi0000644000000000000000000000037115107355263030105 0ustar rootrootmod=example.com/basic version=v1.1.0 base=v1.0.1 proxyVersions=example.com/basic@v1.0.1 -- want -- # example.com/basic/a ## compatible changes A2: added # example.com/basic/b ## compatible changes package added # summary Suggested version: v1.1.0 ././@LongLink0000644000000000000000000000017500000000000011606 Lustar rootrootdependencies/pkg/mod/golang.org/x/exp@v0.0.0-20240506185415-9bf2ced13842/cmd/gorelease/testdata/basic/v0_nobase_suggest.testdependencies/pkg/mod/golang.org/x/exp@v0.0.0-20240506185415-9bf2ced13842/cmd/gorelease/testdata/basi0000644000000000000000000000013615107355263030104 0ustar rootrootmod=example.com/basic version=v0.1.1 base=none -- want -- # summary Suggested version: v0.1.0 ././@LongLink0000644000000000000000000000017400000000000011605 Lustar rootrootdependencies/pkg/mod/golang.org/x/exp@v0.0.0-20240506185415-9bf2ced13842/cmd/gorelease/testdata/basic/v1_patch_suggest.testdependencies/pkg/mod/golang.org/x/exp@v0.0.0-20240506185415-9bf2ced13842/cmd/gorelease/testdata/basi0000644000000000000000000000020715107355263030103 0ustar rootrootmod=example.com/basic version=v1.1.1 base=v1.1.0 proxyVersions=example.com/basic@v1.1.0 -- want -- # summary Suggested version: v1.1.1 ././@LongLink0000644000000000000000000000017300000000000011604 Lustar rootrootdependencies/pkg/mod/golang.org/x/exp@v0.0.0-20240506185415-9bf2ced13842/cmd/gorelease/testdata/basic/v0_patch_verify.testdependencies/pkg/mod/golang.org/x/exp@v0.0.0-20240506185415-9bf2ced13842/cmd/gorelease/testdata/basi0000644000000000000000000000026115107355263030103 0ustar rootrootmod=example.com/basic version=v0.1.1 base=v0.1.0 release=v0.1.1 proxyVersions=example.com/basic@v0.1.0 -- want -- # summary v0.1.1 is a valid semantic version for this release. ././@LongLink0000644000000000000000000000017400000000000011605 Lustar rootrootdependencies/pkg/mod/golang.org/x/exp@v0.0.0-20240506185415-9bf2ced13842/cmd/gorelease/testdata/basic/v0_patch_suggest.testdependencies/pkg/mod/golang.org/x/exp@v0.0.0-20240506185415-9bf2ced13842/cmd/gorelease/testdata/basi0000644000000000000000000000020715107355263030103 0ustar rootrootmod=example.com/basic version=v0.1.1 base=v0.1.0 proxyVersions=example.com/basic@v0.1.0 -- want -- # summary Suggested version: v0.1.1 ././@LongLink0000644000000000000000000000020300000000000011576 Lustar rootrootdependencies/pkg/mod/golang.org/x/exp@v0.0.0-20240506185415-9bf2ced13842/cmd/gorelease/testdata/basic/v0_incompatible_suggest.testdependencies/pkg/mod/golang.org/x/exp@v0.0.0-20240506185415-9bf2ced13842/cmd/gorelease/testdata/basi0000644000000000000000000000040115107355263030077 0ustar rootrootmod=example.com/basic version=v0.1.2 base=v0.1.1 proxyVersions=example.com/basic@v0.1.1 -- want -- # example.com/basic/a ## incompatible changes A2: removed # example.com/basic/b ## incompatible changes package removed # summary Suggested version: v0.2.0 ././@LongLink0000644000000000000000000000020500000000000011600 Lustar rootrootdependencies/pkg/mod/golang.org/x/exp@v0.0.0-20240506185415-9bf2ced13842/cmd/gorelease/testdata/basic/v0_v1_incompatible_verify.testdependencies/pkg/mod/golang.org/x/exp@v0.0.0-20240506185415-9bf2ced13842/cmd/gorelease/testdata/basi0000644000000000000000000000040415107355263030102 0ustar rootrootmod=example.com/basic version=v0.1.2 base=v0.1.1 release=v1.0.0 -- want -- # example.com/basic/a ## incompatible changes A2: removed # example.com/basic/b ## incompatible changes package removed # summary v1.0.0 is a valid semantic version for this release. ././@LongLink0000644000000000000000000000017700000000000011610 Lustar rootrootdependencies/pkg/mod/golang.org/x/exp@v0.0.0-20240506185415-9bf2ced13842/cmd/gorelease/testdata/basic/v3_autobase_suggest.testdependencies/pkg/mod/golang.org/x/exp@v0.0.0-20240506185415-9bf2ced13842/cmd/gorelease/testdata/basi0000644000000000000000000000022615107355263030104 0ustar rootrootmod=example.com/basic/v3 -- go.mod -- module example.com/basic/v3 go 1.13 -- want -- # summary Inferred base version: none Suggested version: v3.0.0 ././@LongLink0000644000000000000000000000020500000000000011600 Lustar rootrootdependencies/pkg/mod/golang.org/x/exp@v0.0.0-20240506185415-9bf2ced13842/cmd/gorelease/testdata/basic/v0_compatible_suggest_git.testdependencies/pkg/mod/golang.org/x/exp@v0.0.0-20240506185415-9bf2ced13842/cmd/gorelease/testdata/basi0000644000000000000000000000040115107355263030077 0ustar rootrootmod=example.com/basic version=v0.1.0 base=v0.0.1 proxyVersions=example.com/basic@v0.0.1 vcs=git -- want -- # example.com/basic/a ## compatible changes A2: added # example.com/basic/b ## compatible changes package added # summary Suggested version: v0.1.0 ././@LongLink0000644000000000000000000000017200000000000011603 Lustar rootrootdependencies/pkg/mod/golang.org/x/exp@v0.0.0-20240506185415-9bf2ced13842/cmd/gorelease/testdata/basic/v2_pre_suggest.testdependencies/pkg/mod/golang.org/x/exp@v0.0.0-20240506185415-9bf2ced13842/cmd/gorelease/testdata/basi0000644000000000000000000000042515107355263030105 0ustar rootrootmod=example.com/basic/v2 version=v2.1.2 base=v2.1.1-pre proxyVersions=example.com/basic/v2@v2.1.1-pre -- want -- # example.com/basic/v2/a ## incompatible changes A2: removed # example.com/basic/v2/b ## incompatible changes package removed # summary Suggested version: v2.1.1 ././@LongLink0000644000000000000000000000015100000000000011600 Lustar rootrootdependencies/pkg/mod/golang.org/x/exp@v0.0.0-20240506185415-9bf2ced13842/cmd/gorelease/gorelease_test.godependencies/pkg/mod/golang.org/x/exp@v0.0.0-20240506185415-9bf2ced13842/cmd/gorelease/gorelease_tes0000644000000000000000000003331515107355263030203 0ustar rootroot// Copyright 2019 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" "context" "flag" "fmt" "os" "os/exec" "path/filepath" "strconv" "strings" "sync" "testing" "golang.org/x/mod/module" "golang.org/x/tools/txtar" ) var ( testwork = flag.Bool("testwork", false, "preserve work directory") updateGolden = flag.Bool("u", false, "update expected text in test files instead of failing") ) var hasGitCache struct { once sync.Once found bool } // hasGit reports whether the git executable exists on the PATH. func hasGit() bool { hasGitCache.once.Do(func() { if _, err := exec.LookPath("git"); err != nil { return } hasGitCache.found = true }) return hasGitCache.found } // prepareProxy creates a proxy dir and returns an associated ctx. // // proxyVersions must be a map of module version to true. If proxyVersions is // empty, all modules in mod/ will be included in the proxy list. If proxy // versions is non-empty, only those modules in mod/ that match an entry in // proxyVersions will be included. // // ctx must be used in runRelease. // cleanup must be called when the relevant tests are finished. func prepareProxy(proxyVersions map[module.Version]bool, tests []*test) (ctx context.Context, cleanup func(), _ error) { env := append(os.Environ(), "GO111MODULE=on", "GOSUMDB=off") proxyDir, proxyURL, err := buildProxyDir(proxyVersions, tests) if err != nil { return nil, nil, fmt.Errorf("error building proxy dir: %v", err) } env = append(env, fmt.Sprintf("GOPROXY=%s", proxyURL)) cacheDir, err := os.MkdirTemp("", "gorelease_test-gocache") if err != nil { return nil, nil, err } env = append(env, fmt.Sprintf("GOPATH=%s", cacheDir)) return context.WithValue(context.Background(), "env", env), func() { if *testwork { fmt.Fprintf(os.Stderr, "test cache dir: %s\n", cacheDir) fmt.Fprintf(os.Stderr, "test proxy dir: %s\ntest proxy URL: %s\n", proxyDir, proxyURL) } else { cmd := exec.Command("go", "clean", "-modcache") cmd.Env = env if err := cmd.Run(); err != nil { fmt.Fprintln(os.Stderr, fmt.Errorf("error running go clean: %v", err)) } if err := os.RemoveAll(cacheDir); err != nil { fmt.Fprintln(os.Stderr, fmt.Errorf("error removing cache dir %s: %v", cacheDir, err)) } if err := os.RemoveAll(proxyDir); err != nil { fmt.Fprintln(os.Stderr, fmt.Errorf("error removing proxy dir %s: %v", proxyDir, err)) } } }, nil } // test describes an individual test case, written as a .test file in the // testdata directory. // // Each test is a txtar archive (see golang.org/x/tools/txtar). The comment // section (before the first file) contains a sequence of key=value pairs // (one per line) that configure the test. // // Most tests include a file named "want". The output of gorelease is compared // against this file. If the -u flag is set, this file is replaced with the // actual output of gorelease, and the test is written back to disk. This is // useful for updating tests after cosmetic changes. type test struct { txtar.Archive // testPath is the name of the .test file describing the test. testPath string // modPath (set with mod=...) is the path of the module being tested. Used // to retrieve files from the test proxy. modPath string // version (set with version=...) is the name of a version to check out // from the test proxy into the working directory. Some tests use this // instead of specifying files they need in the txtar archive. version string // baseVersion (set with base=...) is the value of the -base flag to pass // to gorelease. baseVersion string // releaseVersion (set with release=...) is the value of the -version flag // to pass to gorelease. releaseVersion string // dir (set with dir=...) is the directory where gorelease should be invoked. // If unset, gorelease is invoked in the directory where the txtar archive // is unpacked. This is useful for invoking gorelease in a subdirectory. dir string // wantError (set with error=...) is true if the test expects a hard error // (returned by runRelease). wantError bool // wantSuccess (set with success=...) is true if the test expects a report // to be returned without errors or diagnostics. True by default. wantSuccess bool // skip (set with skip=...) is non-empty if the test should be skipped. skip string // want is set to the contents of the file named "want" in the txtar archive. want []byte // proxyVersions is used to set the exact contents of the GOPROXY. // // If empty, all of testadata/mod/ will be included in the proxy. // If it is not empty, each entry must be of the form @v // and exist in testdata/mod/. proxyVersions map[module.Version]bool // vcs is used to set the VCS that the root of the test should // emulate. Allowed values are git, and hg. vcs string } // readTest reads and parses a .test file with the given name. func readTest(testPath string) (*test, error) { arc, err := txtar.ParseFile(testPath) if err != nil { return nil, err } t := &test{ Archive: *arc, testPath: testPath, wantSuccess: true, } for n, line := range bytes.Split(t.Comment, []byte("\n")) { lineNum := n + 1 if i := bytes.IndexByte(line, '#'); i >= 0 { line = line[:i] } line = bytes.TrimSpace(line) if len(line) == 0 { continue } var key, value string if i := bytes.IndexByte(line, '='); i < 0 { return nil, fmt.Errorf("%s:%d: no '=' found", testPath, lineNum) } else { key = strings.TrimSpace(string(line[:i])) value = strings.TrimSpace(string(line[i+1:])) } switch key { case "mod": t.modPath = value case "version": t.version = value case "base": t.baseVersion = value case "release": t.releaseVersion = value case "dir": t.dir = value case "skip": t.skip = value case "success": t.wantSuccess, err = strconv.ParseBool(value) if err != nil { return nil, fmt.Errorf("%s:%d: %v", testPath, lineNum, err) } case "error": t.wantError, err = strconv.ParseBool(value) if err != nil { return nil, fmt.Errorf("%s:%d: %v", testPath, lineNum, err) } case "proxyVersions": if len(value) == 0 { break } proxyVersions := make(map[module.Version]bool) parts := strings.Split(value, ",") for _, modpathWithVersion := range parts { vParts := strings.Split(modpathWithVersion, "@") if len(vParts) != 2 { return nil, fmt.Errorf("proxyVersions entry %s is invalid: it should be of the format @v (ex: github.com/foo/bar@v1.2.3)", modpathWithVersion) } modPath, version := vParts[0], vParts[1] mv := module.Version{ Path: modPath, Version: version, } proxyVersions[mv] = true } t.proxyVersions = proxyVersions case "vcs": t.vcs = value default: return nil, fmt.Errorf("%s:%d: unknown key: %q", testPath, lineNum, key) } } if t.modPath == "" && (t.version != "" || (t.baseVersion != "" && t.baseVersion != "none")) { return nil, fmt.Errorf("%s: version or base was set but mod was not set", testPath) } haveFiles := false for _, f := range t.Files { if f.Name == "want" { t.want = bytes.TrimSpace(f.Data) continue } haveFiles = true } if haveFiles && t.version != "" { return nil, fmt.Errorf("%s: version is set but files are present", testPath) } return t, nil } // updateTest replaces the contents of the file named "want" within a test's // txtar archive, then formats and writes the test file. func updateTest(t *test, want []byte) error { var wantFile *txtar.File for i := range t.Files { if t.Files[i].Name == "want" { wantFile = &t.Files[i] break } } if wantFile == nil { t.Files = append(t.Files, txtar.File{Name: "want"}) wantFile = &t.Files[len(t.Files)-1] } wantFile.Data = want data := txtar.Format(&t.Archive) return os.WriteFile(t.testPath, data, 0666) } func TestRelease(t *testing.T) { testPaths, err := filepath.Glob(filepath.FromSlash("testdata/*/*.test")) if err != nil { t.Fatal(err) } if len(testPaths) == 0 { t.Fatal("no .test files found in testdata directory") } var tests []*test for _, testPath := range testPaths { test, err := readTest(testPath) if err != nil { t.Fatal(err) } tests = append(tests, test) } defaultContext, cleanup, err := prepareProxy(nil, tests) if err != nil { t.Fatalf("preparing test proxy: %v", err) } t.Cleanup(cleanup) for _, test := range tests { testName := strings.TrimSuffix(strings.TrimPrefix(filepath.ToSlash(test.testPath), "testdata/"), ".test") t.Run(testName, testRelease(defaultContext, tests, test)) } } func TestRelease_gitRepo_uncommittedChanges(t *testing.T) { ctx := context.Background() buf := &bytes.Buffer{} releaseDir, err := os.MkdirTemp("", "") if err != nil { t.Fatal(err) } goModInit(t, releaseDir) gitInit(t, releaseDir) // Create an uncommitted change. bContents := `package b const B = "b"` if err := os.WriteFile(filepath.Join(releaseDir, "b.go"), []byte(bContents), 0644); err != nil { t.Fatal(err) } success, err := runRelease(ctx, buf, releaseDir, nil) if got, want := err.Error(), fmt.Sprintf("repo %s has uncommitted changes", releaseDir); got != want { t.Errorf("runRelease:\ngot error:\n%q\nwant error\n%q", got, want) } if success { t.Errorf("runRelease: expected failure, got success") } } func testRelease(ctx context.Context, tests []*test, test *test) func(t *testing.T) { return func(t *testing.T) { if test.skip != "" { t.Skip(test.skip) } t.Parallel() if len(test.proxyVersions) > 0 { var cleanup func() var err error ctx, cleanup, err = prepareProxy(test.proxyVersions, tests) if err != nil { t.Fatalf("preparing test proxy: %v", err) } t.Cleanup(cleanup) } // Extract the files in the release version. They may be part of the // test archive or in testdata/mod. testDir, err := os.MkdirTemp("", "") if err != nil { t.Fatal(err) } if *testwork { fmt.Fprintf(os.Stderr, "test dir: %s\n", testDir) } else { t.Cleanup(func() { os.RemoveAll(testDir) }) } var arc *txtar.Archive if test.version != "" { arcBase := fmt.Sprintf("%s_%s.txt", strings.ReplaceAll(test.modPath, "/", "_"), test.version) arcPath := filepath.Join("testdata/mod", arcBase) var err error arc, err = txtar.ParseFile(arcPath) if err != nil { t.Fatal(err) } } else { arc = &test.Archive } if err := extractTxtar(testDir, arc); err != nil { t.Fatal(err) } switch test.vcs { case "git": // Convert testDir to a git repository with a single commit, to // simulate a real user's module-in-a-git-repo. gitInit(t, testDir) case "hg": // Convert testDir to a mercurial repository to simulate a real // user's module-in-a-hg-repo. hgInit(t, testDir) case "": // No VCS. default: t.Fatalf("unknown vcs %q", test.vcs) } // Generate the report and compare it against the expected text. var args []string if test.baseVersion != "" { args = append(args, "-base="+test.baseVersion) } if test.releaseVersion != "" { args = append(args, "-version="+test.releaseVersion) } buf := &bytes.Buffer{} releaseDir := filepath.Join(testDir, test.dir) success, err := runRelease(ctx, buf, releaseDir, args) if err != nil { if !test.wantError { t.Fatalf("unexpected error: %v", err) } if errMsg := []byte(err.Error()); !bytes.Equal(errMsg, bytes.TrimSpace(test.want)) { if *updateGolden { if err := updateTest(test, errMsg); err != nil { t.Fatal(err) } } else { t.Fatalf("got error: %s; want error: %s", errMsg, test.want) } } return } if test.wantError { t.Fatalf("got success; want error %s", test.want) } got := bytes.TrimSpace(buf.Bytes()) if filepath.Separator != '/' { got = bytes.ReplaceAll(got, []byte{filepath.Separator}, []byte{'/'}) } if !bytes.Equal(got, test.want) { if *updateGolden { if err := updateTest(test, got); err != nil { t.Fatal(err) } } else { t.Fatalf("got:\n%s\n\nwant:\n%s", got, test.want) } } if success != test.wantSuccess { t.Fatalf("got success: %v; want success %v", success, test.wantSuccess) } } } // hgInit initialises a directory as a mercurial repo. func hgInit(t *testing.T, dir string) { t.Helper() if err := os.Mkdir(filepath.Join(dir, ".hg"), 0777); err != nil { t.Fatal(err) } if err := os.WriteFile(filepath.Join(dir, ".hg", "branch"), []byte("default"), 0777); err != nil { t.Fatal(err) } } // gitInit initialises a directory as a git repo, and adds a simple commit. func gitInit(t *testing.T, dir string) { t.Helper() if !hasGit() { t.Skip("PATH does not contain git") } stdout := &bytes.Buffer{} stderr := &bytes.Buffer{} for _, args := range [][]string{ {"git", "init"}, {"git", "config", "user.name", "Gopher"}, {"git", "config", "user.email", "gopher@golang.org"}, {"git", "checkout", "-b", "test"}, {"git", "add", "-A"}, {"git", "commit", "-m", "test"}, } { cmd := exec.Command(args[0], args[1:]...) cmd.Dir = dir cmd.Stdout = stdout cmd.Stderr = stderr if err := cmd.Run(); err != nil { cmdArgs := strings.Join(args, " ") t.Fatalf("%s\n%s\nerror running %q on dir %s: %v", stdout.String(), stderr.String(), cmdArgs, dir, err) } } } // goModInit runs `go mod init` in the given directory. func goModInit(t *testing.T, dir string) { t.Helper() aContents := `package a const A = "a"` if err := os.WriteFile(filepath.Join(dir, "a.go"), []byte(aContents), 0644); err != nil { t.Fatal(err) } stdout := &bytes.Buffer{} stderr := &bytes.Buffer{} cmd := exec.Command("go", "mod", "init", "example.com/uncommitted") cmd.Stdout = stdout cmd.Stderr = stderr cmd.Dir = dir if err := cmd.Run(); err != nil { t.Fatalf("error running `go mod init`: %s, %v", stderr.String(), err) } } dependencies/pkg/mod/golang.org/x/exp@v0.0.0-20240506185415-9bf2ced13842/cmd/gorelease/path.go0000644000000000000000000000434615107355263026724 0ustar rootroot// Copyright 2020 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 ( "path/filepath" "strings" ) // hasPathPrefix reports whether the slash-separated path s // begins with the elements in prefix. // Copied from cmd/go/internal/str.HasPathPrefix. func hasPathPrefix(s, prefix string) bool { if len(s) == len(prefix) { return s == prefix } if prefix == "" { return true } if len(s) > len(prefix) { if prefix[len(prefix)-1] == '/' || s[len(prefix)] == '/' { return s[:len(prefix)] == prefix } } return false } // hasFilePathPrefix reports whether the filesystem path s // begins with the elements in prefix. // Copied from cmd/go/internal/str.HasFilePathPrefix. func hasFilePathPrefix(s, prefix string) bool { sv := strings.ToUpper(filepath.VolumeName(s)) pv := strings.ToUpper(filepath.VolumeName(prefix)) s = s[len(sv):] prefix = prefix[len(pv):] switch { default: return false case pv != "" && sv != pv: return false case len(s) == len(prefix): return s == prefix case prefix == "": return true case len(s) > len(prefix): if prefix[len(prefix)-1] == filepath.Separator { return strings.HasPrefix(s, prefix) } return s[len(prefix)] == filepath.Separator && s[:len(prefix)] == prefix } } // trimFilePathPrefix returns the given filesystem path s without the leading // prefix. func trimFilePathPrefix(s, prefix string) string { sv := strings.ToUpper(filepath.VolumeName(s)) pv := strings.ToUpper(filepath.VolumeName(prefix)) s = s[len(sv):] prefix = prefix[len(pv):] if !hasFilePathPrefix(s, prefix) || len(prefix) == 0 { return s } if len(s) == len(prefix) { return "" } if prefix[len(prefix)-1] == filepath.Separator { return strings.TrimPrefix(s, prefix) } return s[len(prefix)+1:] } // trimPathPrefix returns p without the leading prefix. Unlike // strings.TrimPrefix, the prefix will only match on slash-separted component // boundaries, so trimPathPrefix("aa/b", "aa") returns "b", but // trimPathPrefix("aa/b", "a") returns "aa/b". func trimPathPrefix(p, prefix string) string { if prefix == "" { return p } if prefix == p { return "" } return strings.TrimPrefix(p, prefix+"/") } dependencies/pkg/mod/golang.org/x/exp@v0.0.0-20240506185415-9bf2ced13842/cmd/gorelease/report.go0000644000000000000000000003471515107355263027306 0ustar rootroot// Copyright 2019 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 ( "fmt" "strings" "golang.org/x/exp/apidiff" "golang.org/x/mod/module" "golang.org/x/mod/semver" "golang.org/x/tools/go/packages" ) // report describes the differences in the public API between two versions // of a module. type report struct { // base contains information about the "old" module version being compared // against. base.version may be "none", indicating there is no base version // (for example, if this is the first release). base.version may not be "". base moduleInfo // release contains information about the version of the module to release. // The version may be set explicitly with -version or suggested using // suggestVersion, in which case release.versionInferred is true. release moduleInfo // packages is a list of package reports, describing the differences // for individual packages, sorted by package path. packages []packageReport // versionInvalid explains why the proposed or suggested version is not valid. versionInvalid *versionMessage // haveCompatibleChanges is true if there are any backward-compatible // changes in non-internal packages. haveCompatibleChanges bool // haveIncompatibleChanges is true if there are any backward-incompatible // changes in non-internal packages. haveIncompatibleChanges bool // haveBaseErrors is true if there were errors loading packages // in the base version. haveBaseErrors bool // haveReleaseErrors is true if there were errors loading packages // in the release version. haveReleaseErrors bool } // String returns a human-readable report that lists errors, compatible changes, // and incompatible changes in each package. If releaseVersion is set, the // report states whether releaseVersion is valid (and why). If releaseVersion is // not set, it suggests a new version. func (r *report) String() string { buf := &strings.Builder{} for _, p := range r.packages { buf.WriteString(p.String()) } if !r.canVerifyReleaseVersion() { return buf.String() } if len(r.release.diagnostics) > 0 { buf.WriteString("# diagnostics\n") for _, d := range r.release.diagnostics { fmt.Fprintln(buf, d) } buf.WriteByte('\n') } buf.WriteString("# summary\n") baseVersion := r.base.version if r.base.modPath != r.release.modPath { baseVersion = r.base.modPath + "@" + baseVersion } if r.base.versionInferred { fmt.Fprintf(buf, "Inferred base version: %s\n", baseVersion) } else if r.base.versionQuery != "" { fmt.Fprintf(buf, "Base version: %s (%s)\n", baseVersion, r.base.versionQuery) } if r.versionInvalid != nil { fmt.Fprintln(buf, r.versionInvalid) } else if r.release.versionInferred { if r.release.tagPrefix == "" { fmt.Fprintf(buf, "Suggested version: %s\n", r.release.version) } else { fmt.Fprintf(buf, "Suggested version: %[1]s (with tag %[2]s%[1]s)\n", r.release.version, r.release.tagPrefix) } } else if r.release.version != "" { if r.release.tagPrefix == "" { fmt.Fprintf(buf, "%s is a valid semantic version for this release.\n", r.release.version) if semver.Compare(r.release.version, "v0.0.0-99999999999999-zzzzzzzzzzzz") < 0 { fmt.Fprintf(buf, `Note: %s sorts lower in MVS than pseudo-versions, which may be unexpected for users. So, it may be better to choose a different suffix.`, r.release.version) } } else { fmt.Fprintf(buf, "%[1]s (with tag %[2]s%[1]s) is a valid semantic version for this release\n", r.release.version, r.release.tagPrefix) } } if r.versionInvalid == nil && r.haveBaseErrors { fmt.Fprintln(buf, "Errors were found in the base version. Some API changes may be omitted.") } return buf.String() } func (r *report) addPackage(p packageReport) { r.packages = append(r.packages, p) if len(p.baseErrors) == 0 && len(p.releaseErrors) == 0 { // Only count compatible and incompatible changes if there were no errors. // When there are errors, definitions may be missing, and fixes may appear // incompatible when they are not. Changes will still be reported, but // they won't affect version validation or suggestions. for _, c := range p.Changes { if !c.Compatible && len(p.releaseErrors) == 0 { r.haveIncompatibleChanges = true } else if c.Compatible && len(p.baseErrors) == 0 && len(p.releaseErrors) == 0 { r.haveCompatibleChanges = true } } } if len(p.baseErrors) > 0 { r.haveBaseErrors = true } if len(p.releaseErrors) > 0 { r.haveReleaseErrors = true } } // validateReleaseVersion checks whether r.release.version is valid. // If r.release.version is not valid, an error is returned explaining why. // r.release.version must be set. func (r *report) validateReleaseVersion() { if r.release.version == "" { panic("validateVersion called without version") } setNotValid := func(format string, args ...interface{}) { r.versionInvalid = &versionMessage{ message: fmt.Sprintf("%s is not a valid semantic version for this release.", r.release.version), reason: fmt.Sprintf(format, args...), } } if r.haveReleaseErrors { if r.haveReleaseErrors { setNotValid("Errors were found in one or more packages.") return } } // TODO(jayconrod): link to documentation for all of these errors. // Check that the major version matches the module path. _, suffix, ok := module.SplitPathVersion(r.release.modPath) if !ok { setNotValid("%s: could not find version suffix in module path", r.release.modPath) return } if suffix != "" { if suffix[0] != '/' && suffix[0] != '.' { setNotValid("%s: unknown module path version suffix: %q", r.release.modPath, suffix) return } pathMajor := suffix[1:] major := semver.Major(r.release.version) if pathMajor != major { setNotValid(`The major version %s does not match the major version suffix in the module path: %s`, major, r.release.modPath) return } } else if major := semver.Major(r.release.version); major != "v0" && major != "v1" { setNotValid(`The module path does not end with the major version suffix /%s, which is required for major versions v2 or greater.`, major) return } for _, v := range r.base.existingVersions { if semver.Compare(v, r.release.version) == 0 { setNotValid("version %s already exists", v) } } // Check that compatible / incompatible changes are consistent. if semver.Major(r.base.version) == "v0" || r.base.modPath != r.release.modPath { return } if r.haveIncompatibleChanges { setNotValid("There are incompatible changes.") return } if r.haveCompatibleChanges && semver.MajorMinor(r.base.version) == semver.MajorMinor(r.release.version) { setNotValid(`There are compatible changes, but the minor version is not incremented over the base version (%s).`, r.base.version) return } if r.release.highestTransitiveVersion != "" && semver.Compare(r.release.highestTransitiveVersion, r.release.version) > 0 { setNotValid(`Module indirectly depends on a higher version of itself (%s). `, r.release.highestTransitiveVersion) } } // suggestReleaseVersion suggests a new version consistent with observed // changes. func (r *report) suggestReleaseVersion() { setNotValid := func(format string, args ...interface{}) { r.versionInvalid = &versionMessage{ message: "Cannot suggest a release version.", reason: fmt.Sprintf(format, args...), } } setVersion := func(v string) { r.release.version = v r.release.versionInferred = true } if r.base.modPath != r.release.modPath { setNotValid("Base module path is different from release.") return } if r.haveReleaseErrors || r.haveBaseErrors { setNotValid("Errors were found.") return } var major, minor, patch, pre string if r.base.version != "none" { minVersion := r.base.version if r.release.highestTransitiveVersion != "" && semver.Compare(r.release.highestTransitiveVersion, minVersion) > 0 { setNotValid("Module indirectly depends on a higher version of itself (%s) than the base version (%s).", r.release.highestTransitiveVersion, r.base.version) return } var err error major, minor, patch, pre, _, err = parseVersion(minVersion) if err != nil { panic(fmt.Sprintf("could not parse base version: %v", err)) } } if r.haveIncompatibleChanges && r.base.version != "none" && pre == "" && major != "0" { setNotValid("Incompatible changes were detected.") return // TODO(jayconrod): briefly explain how to prepare major version releases // and link to documentation. } // Check whether we're comparing to the latest version of base. // // This could happen further up, but we want the more pressing errors above // to take precedence. var latestForBaseMajor string for _, v := range r.base.existingVersions { if semver.Major(v) != semver.Major(r.base.version) { continue } if latestForBaseMajor == "" || semver.Compare(latestForBaseMajor, v) < 0 { latestForBaseMajor = v } } if latestForBaseMajor != "" && latestForBaseMajor != r.base.version { setNotValid(fmt.Sprintf("Can only suggest a release version when compared against the most recent version of this major: %s.", latestForBaseMajor)) return } if r.base.version == "none" { if _, pathMajor, ok := module.SplitPathVersion(r.release.modPath); !ok { panic(fmt.Sprintf("could not parse module path %q", r.release.modPath)) } else if pathMajor == "" { setVersion("v0.1.0") } else { setVersion(pathMajor[1:] + ".0.0") } return } if pre != "" { // suggest non-prerelease version } else if r.haveCompatibleChanges || (r.haveIncompatibleChanges && major == "0") || r.requirementsChanged() { minor = incDecimal(minor) patch = "0" } else { patch = incDecimal(patch) } setVersion(fmt.Sprintf("v%s.%s.%s", major, minor, patch)) return } // canVerifyReleaseVersion returns true if we can safely suggest a new version // or if we can verify the version passed in with -version is safe to tag. func (r *report) canVerifyReleaseVersion() bool { // For now, return true if the base and release module paths are the same, // ignoring the major version suffix. // TODO(#37562, #39192, #39666, #40267): there are many more situations when // we can't verify a new version. basePath := strings.TrimSuffix(r.base.modPath, r.base.modPathMajor) releasePath := strings.TrimSuffix(r.release.modPath, r.release.modPathMajor) return basePath == releasePath } // requirementsChanged reports whether requirements have changed from base to // version. // // requirementsChanged reports true for, // - A requirement was upgraded to a higher minor version. // - A requirement was added. // - The version of Go was incremented. // // It does not report true when, for example, a requirement was downgraded or // remove. We care more about the former since that might force dependent // modules that have the same dependency to upgrade. func (r *report) requirementsChanged() bool { if r.base.goModFile == nil { // There wasn't a modfile before, and now there is. return true } // baseReqs is a map of module path to MajorMinor of the base module // requirements. baseReqs := make(map[string]string) for _, r := range r.base.goModFile.Require { baseReqs[r.Mod.Path] = r.Mod.Version } for _, r := range r.release.goModFile.Require { if _, ok := baseReqs[r.Mod.Path]; !ok { // A module@version was added to the "require" block between base // and release. return true } if semver.Compare(semver.MajorMinor(r.Mod.Version), semver.MajorMinor(baseReqs[r.Mod.Path])) > 0 { // The version of r.Mod.Path increased from base to release. return true } } if r.release.goModFile.Go != nil && r.base.goModFile.Go != nil { if r.release.goModFile.Go.Version > r.base.goModFile.Go.Version { // The Go version increased from base to release. return true } } return false } // isSuccessful returns true the module appears to be safe to release at the // proposed or suggested version. func (r *report) isSuccessful() bool { return len(r.release.diagnostics) == 0 && r.versionInvalid == nil } type versionMessage struct { message, reason string } func (m versionMessage) String() string { return m.message + "\n" + m.reason + "\n" } // incDecimal returns the decimal string incremented by 1. func incDecimal(decimal string) string { // Scan right to left turning 9s to 0s until you find a digit to increment. digits := []byte(decimal) i := len(digits) - 1 for ; i >= 0 && digits[i] == '9'; i-- { digits[i] = '0' } if i >= 0 { digits[i]++ } else { // digits is all zeros digits[0] = '1' digits = append(digits, '0') } return string(digits) } type packageReport struct { apidiff.Report path string baseErrors, releaseErrors []packages.Error } func (p *packageReport) String() string { if len(p.Changes) == 0 && len(p.baseErrors) == 0 && len(p.releaseErrors) == 0 { return "" } buf := &strings.Builder{} fmt.Fprintf(buf, "# %s\n", p.path) if len(p.baseErrors) > 0 { fmt.Fprintf(buf, "## errors in base version:\n") for _, e := range p.baseErrors { fmt.Fprintln(buf, e) } buf.WriteByte('\n') } if len(p.releaseErrors) > 0 { fmt.Fprintf(buf, "## errors in release version:\n") for _, e := range p.releaseErrors { fmt.Fprintln(buf, e) } buf.WriteByte('\n') } if len(p.Changes) > 0 { var compatible, incompatible []apidiff.Change for _, c := range p.Changes { if c.Compatible { compatible = append(compatible, c) } else { incompatible = append(incompatible, c) } } if len(incompatible) > 0 { fmt.Fprintf(buf, "## incompatible changes\n") for _, c := range incompatible { fmt.Fprintln(buf, c.Message) } } if len(compatible) > 0 { fmt.Fprintf(buf, "## compatible changes\n") for _, c := range compatible { fmt.Fprintln(buf, c.Message) } } buf.WriteByte('\n') } return buf.String() } // parseVersion returns the major, minor, and patch numbers, prerelease text, // and metadata for a given version. // // TODO(jayconrod): extend semver to do this and delete this function. func parseVersion(vers string) (major, minor, patch, pre, meta string, err error) { if !strings.HasPrefix(vers, "v") { return "", "", "", "", "", fmt.Errorf("version %q does not start with 'v'", vers) } base := vers[1:] if i := strings.IndexByte(base, '+'); i >= 0 { meta = base[i+1:] base = base[:i] } if i := strings.IndexByte(base, '-'); i >= 0 { pre = base[i+1:] base = base[:i] } parts := strings.Split(base, ".") if len(parts) != 3 { return "", "", "", "", "", fmt.Errorf("version %q should have three numbers", vers) } major, minor, patch = parts[0], parts[1], parts[2] return major, minor, patch, pre, meta, nil } dependencies/pkg/mod/golang.org/x/exp@v0.0.0-20240506185415-9bf2ced13842/cmd/macos-roots-test/0000755000000000000000000000000015107355263026707 5ustar rootroot././@LongLink0000644000000000000000000000016300000000000011603 Lustar rootrootdependencies/pkg/mod/golang.org/x/exp@v0.0.0-20240506185415-9bf2ced13842/cmd/macos-roots-test/root_nocgo_darwin.godependencies/pkg/mod/golang.org/x/exp@v0.0.0-20240506185415-9bf2ced13842/cmd/macos-roots-test/root_n0000644000000000000000000000053315107355263030133 0ustar rootroot// Copyright 2019 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:build !cgo package main import ( "crypto/x509" "errors" ) func loadSystemRoots() (*x509.CertPool, error) { return nil, errors.New("can't load system roots: cgo not enabled") } ././@LongLink0000644000000000000000000000016100000000000011601 Lustar rootrootdependencies/pkg/mod/golang.org/x/exp@v0.0.0-20240506185415-9bf2ced13842/cmd/macos-roots-test/root_cgo_darwin.godependencies/pkg/mod/golang.org/x/exp@v0.0.0-20240506185415-9bf2ced13842/cmd/macos-roots-test/root_c0000644000000000000000000002452415107355263030126 0ustar rootroot// 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 main /* #cgo CFLAGS: -mmacosx-version-min=10.10 -D__MAC_OS_X_VERSION_MAX_ALLOWED=101300 #cgo LDFLAGS: -framework CoreFoundation -framework Security #include #include #include #include void CFReleaseIfNotNULL(CFTypeRef cf) { if (cf != NULL) CFRelease(cf); } static bool isSSLPolicy(SecPolicyRef policyRef) { if (!policyRef) { return false; } CFDictionaryRef properties = SecPolicyCopyProperties(policyRef); if (properties == NULL) { return false; } CFTypeRef value = NULL; if (CFDictionaryGetValueIfPresent(properties, kSecPolicyOid, (const void **)&value)) { CFRelease(properties); return CFEqual(value, kSecPolicyAppleSSL); } CFRelease(properties); return false; } // sslTrustSettingsResult obtains the final kSecTrustSettingsResult value // for a certificate in the user or admin domain, combining usage constraints // for the SSL SecTrustSettingsPolicy, ignoring SecTrustSettingsKeyUsage, // kSecTrustSettingsAllowedError and kSecTrustSettingsPolicyString. // https://developer.apple.com/documentation/security/1400261-sectrustsettingscopytrustsetting static SInt32 sslTrustSettingsResult(SecCertificateRef cert) { CFArrayRef trustSettings = NULL; OSStatus err = SecTrustSettingsCopyTrustSettings(cert, kSecTrustSettingsDomainUser, &trustSettings); // According to Apple's SecTrustServer.c, "user trust settings overrule admin trust settings", // but the rules of the override are unclear. Let's assume admin trust settings are applicable // if and only if user trust settings fail to load or are NULL. if (err != errSecSuccess || trustSettings == NULL) { CFReleaseIfNotNULL(trustSettings); err = SecTrustSettingsCopyTrustSettings(cert, kSecTrustSettingsDomainAdmin, &trustSettings); } // > no trust settings [...] means "this certificate must be verified to a known trusted certificate” if (err != errSecSuccess || trustSettings == NULL) { CFReleaseIfNotNULL(trustSettings); return kSecTrustSettingsResultUnspecified; } // > An empty trust settings array means "always trust this certificate” with an // > overall trust setting for the certificate of kSecTrustSettingsResultTrustRoot. if (CFArrayGetCount(trustSettings) == 0) { CFReleaseIfNotNULL(trustSettings); return kSecTrustSettingsResultTrustRoot; } // kSecTrustSettingsResult is defined as CFSTR("kSecTrustSettingsResult"), // but the Go linker's internal linking mode can't handle CFSTR relocations. // Create our own dynamic string instead and release it below. CFStringRef _kSecTrustSettingsResult = CFStringCreateWithCString( NULL, "kSecTrustSettingsResult", kCFStringEncodingUTF8); CFStringRef _kSecTrustSettingsPolicy = CFStringCreateWithCString( NULL, "kSecTrustSettingsPolicy", kCFStringEncodingUTF8); CFIndex m; SInt32 result = 0; for (m = 0; m < CFArrayGetCount(trustSettings); m++) { CFDictionaryRef tSetting = (CFDictionaryRef)CFArrayGetValueAtIndex(trustSettings, m); // First, check if this trust setting applies to our policy. We assume // only one will. The docs suggest that there might be multiple applying // but don't explain how to combine them. SecPolicyRef policyRef; if (CFDictionaryGetValueIfPresent(tSetting, _kSecTrustSettingsPolicy, (const void**)&policyRef)) { if (!isSSLPolicy(policyRef)) { continue; } } else { continue; } CFNumberRef cfNum; if (CFDictionaryGetValueIfPresent(tSetting, _kSecTrustSettingsResult, (const void**)&cfNum)) { CFNumberGetValue(cfNum, kCFNumberSInt32Type, &result); } else { // > If the value of the kSecTrustSettingsResult component is not // > kSecTrustSettingsResultUnspecified for a usage constraints dictionary that has // > no constraints, the default value kSecTrustSettingsResultTrustRoot is assumed. result = kSecTrustSettingsResultTrustRoot; } break; } // If trust settings are present, but none of them match the policy... // the docs don't tell us what to do. // // "Trust settings for a given use apply if any of the dictionaries in the // certificate’s trust settings array satisfies the specified use." suggests // that it's as if there were no trust settings at all, so we should probably // fallback to the admin trust settings. TODO. if (result == 0) { result = kSecTrustSettingsResultUnspecified; } CFRelease(_kSecTrustSettingsResult); CFRelease(trustSettings); return result; } // FetchPEMRoots fetches the system's list of trusted X.509 root certificates // for the kSecTrustSettingsPolicy SSL. // // On success it returns 0 and fills pemRoots with a CFDataRef that contains the extracted root // certificates of the system. On failure, the function returns -1. // Additionally, it fills untrustedPemRoots with certs that must be removed from pemRoots. // // Note: The CFDataRef returned in pemRoots and untrustedPemRoots must // be released (using CFRelease) after we've consumed its content. int _FetchPEMRoots(CFDataRef *pemRoots, CFDataRef *untrustedPemRoots, bool debugDarwinRoots) { int i; if (debugDarwinRoots) { printf("crypto/x509: kSecTrustSettingsResultInvalid = %d\n", kSecTrustSettingsResultInvalid); printf("crypto/x509: kSecTrustSettingsResultTrustRoot = %d\n", kSecTrustSettingsResultTrustRoot); printf("crypto/x509: kSecTrustSettingsResultTrustAsRoot = %d\n", kSecTrustSettingsResultTrustAsRoot); printf("crypto/x509: kSecTrustSettingsResultDeny = %d\n", kSecTrustSettingsResultDeny); printf("crypto/x509: kSecTrustSettingsResultUnspecified = %d\n", kSecTrustSettingsResultUnspecified); } // Get certificates from all domains, not just System, this lets // the user add CAs to their "login" keychain, and Admins to add // to the "System" keychain SecTrustSettingsDomain domains[] = { kSecTrustSettingsDomainSystem, kSecTrustSettingsDomainAdmin, kSecTrustSettingsDomainUser }; int numDomains = sizeof(domains)/sizeof(SecTrustSettingsDomain); if (pemRoots == NULL) { return -1; } CFMutableDataRef combinedData = CFDataCreateMutable(kCFAllocatorDefault, 0); CFMutableDataRef combinedUntrustedData = CFDataCreateMutable(kCFAllocatorDefault, 0); for (i = 0; i < numDomains; i++) { int j; CFArrayRef certs = NULL; OSStatus err = SecTrustSettingsCopyCertificates(domains[i], &certs); if (err != noErr) { continue; } CFIndex numCerts = CFArrayGetCount(certs); for (j = 0; j < numCerts; j++) { CFDataRef data = NULL; CFArrayRef trustSettings = NULL; SecCertificateRef cert = (SecCertificateRef)CFArrayGetValueAtIndex(certs, j); if (cert == NULL) { continue; } SInt32 result; if (domains[i] == kSecTrustSettingsDomainSystem) { // Certs found in the system domain are always trusted. If the user // configures "Never Trust" on such a cert, it will also be found in the // admin or user domain, causing it to be added to untrustedPemRoots. The // Go code will then clean this up. result = kSecTrustSettingsResultTrustAsRoot; } else { result = sslTrustSettingsResult(cert); if (debugDarwinRoots) { CFErrorRef errRef = NULL; CFStringRef summary = SecCertificateCopyShortDescription(NULL, cert, &errRef); if (errRef != NULL) { printf("crypto/x509: SecCertificateCopyShortDescription failed\n"); CFRelease(errRef); continue; } CFIndex length = CFStringGetLength(summary); CFIndex maxSize = CFStringGetMaximumSizeForEncoding(length, kCFStringEncodingUTF8) + 1; char *buffer = malloc(maxSize); if (CFStringGetCString(summary, buffer, maxSize, kCFStringEncodingUTF8)) { printf("crypto/x509: %s returned %d\n", buffer, result); } free(buffer); CFRelease(summary); } } CFMutableDataRef appendTo; if (result == kSecTrustSettingsResultTrustRoot) { // "can only be applied to root (self-signed) certificates", so // make sure Subject and Issuer Name match. CFErrorRef errRef = NULL; CFDataRef subjectName = SecCertificateCopyNormalizedSubjectContent(cert, &errRef); if (errRef != NULL) { CFRelease(errRef); continue; } CFDataRef issuerName = SecCertificateCopyNormalizedIssuerContent(cert, &errRef); if (errRef != NULL) { CFRelease(subjectName); CFRelease(errRef); continue; } Boolean equal = CFEqual(subjectName, issuerName); CFRelease(subjectName); CFRelease(issuerName); if (!equal) { continue; } appendTo = combinedData; } else if (result == kSecTrustSettingsResultTrustAsRoot) { // In theory "can only be applied to non-root certificates", but ignore // this for now, also because it's the state we assume for the system domain. appendTo = combinedData; } else if (result == kSecTrustSettingsResultDeny) { appendTo = combinedUntrustedData; } else if (result == kSecTrustSettingsResultUnspecified) { continue; } else { continue; } err = SecItemExport(cert, kSecFormatX509Cert, kSecItemPemArmour, NULL, &data); if (err != noErr) { continue; } if (data != NULL) { CFDataAppendBytes(appendTo, CFDataGetBytePtr(data), CFDataGetLength(data)); CFRelease(data); } } CFRelease(certs); } *pemRoots = combinedData; *untrustedPemRoots = combinedUntrustedData; return 0; } */ import "C" import ( "crypto/x509" "errors" "unsafe" ) func loadSystemRoots() (*x509.CertPool, error) { roots := x509.NewCertPool() var data C.CFDataRef = 0 var untrustedData C.CFDataRef = 0 err := C._FetchPEMRoots(&data, &untrustedData, C.bool(debugDarwinRoots)) if err == -1 { // TODO: better error message return nil, errors.New("crypto/x509: failed to load darwin system roots with cgo") } defer C.CFRelease(C.CFTypeRef(data)) buf := C.GoBytes(unsafe.Pointer(C.CFDataGetBytePtr(data)), C.int(C.CFDataGetLength(data))) roots.AppendCertsFromPEM(buf) if untrustedData == 0 { return roots, nil } defer C.CFRelease(C.CFTypeRef(untrustedData)) buf = C.GoBytes(unsafe.Pointer(C.CFDataGetBytePtr(untrustedData)), C.int(C.CFDataGetLength(untrustedData))) untrustedRoots := x509.NewCertPool() untrustedRoots.AppendCertsFromPEM(buf) trustedRoots := x509.NewCertPool() for _, c := range (*CertPool)(unsafe.Pointer(roots)).certs { if !(*CertPool)(unsafe.Pointer(untrustedRoots)).contains(c) { trustedRoots.AddCert(c) } } return trustedRoots, nil } ././@LongLink0000644000000000000000000000014600000000000011604 Lustar rootrootdependencies/pkg/mod/golang.org/x/exp@v0.0.0-20240506185415-9bf2ced13842/cmd/macos-roots-test/main.godependencies/pkg/mod/golang.org/x/exp@v0.0.0-20240506185415-9bf2ced13842/cmd/macos-roots-test/main.g0000644000000000000000000000665215107355263030014 0ustar rootroot// Copyright 2018 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:build darwin // Command macOS-roots-test runs crypto/x509.TestSystemRoots as a // stand-alone binary for crowdsourced testing. package main import ( "crypto/x509" "fmt" "log" "os" "os/exec" "time" "unsafe" ) type CertPool struct { bySubjectKeyId map[string][]int byName map[string][]int certs []*x509.Certificate } func (s *CertPool) contains(cert *x509.Certificate) bool { if s == nil { return false } candidates := s.byName[string(cert.RawSubject)] for _, c := range candidates { if s.certs[c].Equal(cert) { return true } } return false } func main() { var failed bool t0 := time.Now() sysRootsExt, err := loadSystemRoots() // actual system roots sysRootsDuration := time.Since(t0) if err != nil { log.Fatalf("failed to read system roots (cgo): %v", err) } sysRoots := (*CertPool)(unsafe.Pointer(sysRootsExt)) t1 := time.Now() execRootsExt, err := execSecurityRoots() // non-cgo roots execSysRootsDuration := time.Since(t1) if err != nil { log.Fatalf("failed to read system roots (nocgo): %v", err) } execRoots := (*CertPool)(unsafe.Pointer(execRootsExt)) fmt.Printf(" cgo sys roots: %v\n", sysRootsDuration) fmt.Printf("non-cgo sys roots: %v\n", execSysRootsDuration) // On Mavericks, there are 212 bundled certs, at least there was at // one point in time on one machine. (Maybe it was a corp laptop // with extra certs?) Other OS X users report 135, 142, 145... // Let's try requiring at least 100, since this is just a sanity // check. if want, have := 100, len(sysRoots.certs); have < want { failed = true fmt.Printf("want at least %d system roots, have %d\n", want, have) } // Check that the two cert pools are the same. sysPool := make(map[string]*x509.Certificate, len(sysRoots.certs)) for _, c := range sysRoots.certs { sysPool[string(c.Raw)] = c } for _, c := range execRoots.certs { if _, ok := sysPool[string(c.Raw)]; ok { delete(sysPool, string(c.Raw)) } else { // verify-cert lets in certificates that are not trusted roots, but are // signed by trusted roots. This should not be a problem, so confirm that's // the case and skip them. if _, err := c.Verify(x509.VerifyOptions{ Roots: sysRootsExt, Intermediates: execRootsExt, // the intermediates for EAP certs are stored in the keychain KeyUsages: []x509.ExtKeyUsage{x509.ExtKeyUsageAny}, }); err != nil { failed = true fmt.Printf("certificate only present in non-cgo pool: %v (verify error: %v)\n", c.Subject, err) } else { fmt.Printf("signed certificate only present in non-cgo pool (acceptable): %v\n", c.Subject) } } } for _, c := range sysPool { failed = true fmt.Printf("certificate only present in cgo pool: %v\n", c.Subject) } if failed && debugDarwinRoots { cmd := exec.Command("security", "dump-trust-settings") cmd.Stdout = os.Stdout cmd.Stderr = os.Stderr cmd.Run() cmd = exec.Command("security", "dump-trust-settings", "-d") cmd.Stdout = os.Stdout cmd.Stderr = os.Stderr cmd.Run() } if failed { fmt.Printf("\n\n!!! The test failed!\n\nPlease report *the whole output* at https://github.com/golang/go/issues/24652 wrapping it in ``` a code block ```\nThank you!\n") } else { fmt.Printf("\n\nThe test passed, no need to report the output. Thank you.\n") } } ././@LongLink0000644000000000000000000000015500000000000011604 Lustar rootrootdependencies/pkg/mod/golang.org/x/exp@v0.0.0-20240506185415-9bf2ced13842/cmd/macos-roots-test/root_darwin.godependencies/pkg/mod/golang.org/x/exp@v0.0.0-20240506185415-9bf2ced13842/cmd/macos-roots-test/root_d0000644000000000000000000001134015107355263030117 0ustar rootroot// 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" "crypto/x509" "encoding/pem" "fmt" "os" "os/exec" "os/user" "path/filepath" "sync" ) var debugDarwinRoots = true // This code is only used when compiling without cgo. // It is here, instead of root_nocgo_darwin.go, so that tests can check it // even if the tests are run with cgo enabled. // The linker will not include these unused functions in binaries built with cgo enabled. // execSecurityRoots finds the macOS list of trusted root certificates // using only command-line tools. This is our fallback path when cgo isn't available. // // The strategy is as follows: // // 1. Run "security find-certificate" to dump the list of system root // CAs in PEM format. // // 2. For each dumped cert, conditionally verify it with "security // verify-cert" if that cert was not in the SystemRootCertificates // keychain, which can't have custom trust policies. // // We need to run "verify-cert" for all certificates not in SystemRootCertificates // because there might be certificates in the keychains without a corresponding // trust entry, in which case the logic is complicated (see root_cgo_darwin.go). // // TODO: actually parse the "trust-settings-export" output and apply the full // logic. See Issue 26830. func execSecurityRoots() (*x509.CertPool, error) { keychains := []string{"/Library/Keychains/System.keychain"} // Note that this results in trusting roots from $HOME/... (the environment // variable), which might not be expected. u, err := user.Current() if err != nil { if debugDarwinRoots { fmt.Printf("crypto/x509: get current user: %v\n", err) } } else { keychains = append(keychains, filepath.Join(u.HomeDir, "/Library/Keychains/login.keychain"), // Fresh installs of Sierra use a slightly different path for the login keychain filepath.Join(u.HomeDir, "/Library/Keychains/login.keychain-db"), ) } var ( mu sync.Mutex roots = x509.NewCertPool() numVerified int // number of execs of 'security verify-cert', for debug stats wg sync.WaitGroup verifyCh = make(chan *x509.Certificate) ) // Using 4 goroutines to pipe into verify-cert seems to be // about the best we can do. The verify-cert binary seems to // just RPC to another server with coarse locking anyway, so // running 16 at a time for instance doesn't help at all. for i := 0; i < 4; i++ { wg.Add(1) go func() { defer wg.Done() for cert := range verifyCh { valid := verifyCertWithSystem(cert) mu.Lock() numVerified++ if valid { roots.AddCert(cert) } mu.Unlock() } }() } err = forEachCertInKeychains(keychains, func(cert *x509.Certificate) { verifyCh <- cert }) if err != nil { return nil, err } close(verifyCh) wg.Wait() if debugDarwinRoots { fmt.Printf("crypto/x509: ran security verify-cert %d times\n", numVerified) } err = forEachCertInKeychains([]string{ "/System/Library/Keychains/SystemRootCertificates.keychain", }, roots.AddCert) if err != nil { return nil, err } return roots, nil } func forEachCertInKeychains(paths []string, f func(*x509.Certificate)) error { args := append([]string{"find-certificate", "-a", "-p"}, paths...) cmd := exec.Command("/usr/bin/security", args...) data, err := cmd.Output() if err != nil { return err } for len(data) > 0 { var block *pem.Block block, data = pem.Decode(data) if block == nil { break } if block.Type != "CERTIFICATE" || len(block.Headers) != 0 { continue } cert, err := x509.ParseCertificate(block.Bytes) if err != nil { continue } f(cert) } return nil } func verifyCertWithSystem(cert *x509.Certificate) bool { data := pem.EncodeToMemory(&pem.Block{ Type: "CERTIFICATE", Bytes: cert.Raw, }) f, err := os.CreateTemp("", "cert") if err != nil { fmt.Fprintf(os.Stderr, "can't create temporary file for cert: %v", err) return false } defer os.Remove(f.Name()) if _, err := f.Write(data); err != nil { fmt.Fprintf(os.Stderr, "can't write temporary file for cert: %v", err) return false } if err := f.Close(); err != nil { fmt.Fprintf(os.Stderr, "can't write temporary file for cert: %v", err) return false } cmd := exec.Command("/usr/bin/security", "verify-cert", "-p", "ssl", "-c", f.Name(), "-l", "-L") var stderr bytes.Buffer if debugDarwinRoots { cmd.Stderr = &stderr } if err := cmd.Run(); err != nil { if debugDarwinRoots { fmt.Printf("crypto/x509: verify-cert rejected %s: %q\n", cert.Subject, bytes.TrimSpace(stderr.Bytes())) } return false } if debugDarwinRoots { fmt.Printf("crypto/x509: verify-cert approved %s\n", cert.Subject) } return true } dependencies/pkg/mod/golang.org/x/exp@v0.0.0-20240506185415-9bf2ced13842/cmd/apidiff/0000755000000000000000000000000015107355263025066 5ustar rootrootdependencies/pkg/mod/golang.org/x/exp@v0.0.0-20240506185415-9bf2ced13842/cmd/apidiff/main_test.go0000644000000000000000000000643715107355263027412 0ustar rootrootpackage main import ( "go/types" "testing" "github.com/google/go-cmp/cmp" "golang.org/x/exp/apidiff" ) func TestIsInternalPackage(t *testing.T) { for _, tst := range []struct { name, pkg, mod string want bool }{ { name: "not internal no module", pkg: "foo", want: false, }, { name: "not internal with module", pkg: "example.com/bar/foo", mod: "example.com/bar", want: false, }, { name: "internal no module", pkg: "internal", want: true, }, { name: "leading internal no module", pkg: "internal/foo", want: true, }, { name: "middle internal no module", pkg: "foo/internal/bar", want: true, }, { name: "ending internal no module", pkg: "foo/internal", want: true, }, { name: "leading internal with module", pkg: "example.com/baz/internal/foo", mod: "example.com/baz", want: true, }, { name: "middle internal with module", pkg: "example.com/baz/foo/internal/bar", mod: "example.com/baz", want: true, }, { name: "ending internal with module", pkg: "example.com/baz/foo/internal", mod: "example.com/baz", want: true, }, { name: "not package internal with internal module", pkg: "example.com/internal/foo", mod: "example.com/internal", want: false, }, } { t.Run(tst.name, func(t *testing.T) { if got := isInternalPackage(tst.pkg, tst.mod); got != tst.want { t.Errorf("expected %v, got %v for %s/%s", tst.want, got, tst.mod, tst.pkg) } }) } } func TestFilterInternal(t *testing.T) { for _, tst := range []struct { name string mod *apidiff.Module allow bool want []*types.Package }{ { name: "allow internal", mod: &apidiff.Module{ Path: "example.com/foo", Packages: []*types.Package{ types.NewPackage("example.com/foo/bar", "bar"), types.NewPackage("example.com/foo/internal", "internal"), types.NewPackage("example.com/foo/internal/buz", "buz"), types.NewPackage("example.com/foo/bar/internal", "internal"), }, }, allow: true, want: []*types.Package{ types.NewPackage("example.com/foo/bar", "bar"), types.NewPackage("example.com/foo/internal", "internal"), types.NewPackage("example.com/foo/internal/buz", "buz"), types.NewPackage("example.com/foo/bar/internal", "internal"), }, }, { name: "filter internal", mod: &apidiff.Module{ Path: "example.com/foo", Packages: []*types.Package{ types.NewPackage("example.com/foo/bar", "bar"), types.NewPackage("example.com/foo/internal", "internal"), types.NewPackage("example.com/foo/internal/buz", "buz"), types.NewPackage("example.com/foo/bar/internal", "internal"), }, }, want: []*types.Package{ types.NewPackage("example.com/foo/bar", "bar"), }, }, { name: "filter internal nothing left", mod: &apidiff.Module{ Path: "example.com/foo", Packages: []*types.Package{ types.NewPackage("example.com/foo/internal", "internal"), }, }, want: nil, }, } { t.Run(tst.name, func(t *testing.T) { filterInternal(tst.mod, tst.allow) if diff := cmp.Diff(tst.mod.Packages, tst.want, cmp.Comparer(comparePath)); diff != "" { t.Errorf("got(-),want(+):\n%s", diff) } }) } } func comparePath(x, y *types.Package) bool { return x.Path() == y.Path() } dependencies/pkg/mod/golang.org/x/exp@v0.0.0-20240506185415-9bf2ced13842/cmd/apidiff/main.go0000644000000000000000000001771015107355263026347 0ustar rootroot// Command apidiff determines whether two versions of a package are compatible package main import ( "bufio" "flag" "fmt" "go/token" "go/types" "os" "strings" "golang.org/x/exp/apidiff" "golang.org/x/tools/go/gcexportdata" "golang.org/x/tools/go/packages" ) var ( exportDataOutfile = flag.String("w", "", "file for export data") incompatibleOnly = flag.Bool("incompatible", false, "display only incompatible changes") allowInternal = flag.Bool("allow-internal", false, "allow apidiff to compare internal packages") moduleMode = flag.Bool("m", false, "compare modules instead of packages") ) func main() { flag.Usage = func() { w := flag.CommandLine.Output() fmt.Fprintf(w, "usage:\n") fmt.Fprintf(w, "apidiff OLD NEW\n") fmt.Fprintf(w, " compares OLD and NEW package APIs\n") fmt.Fprintf(w, " where OLD and NEW are either import paths or files of export data\n") fmt.Fprintf(w, "apidiff -m OLD NEW\n") fmt.Fprintf(w, " compares OLD and NEW module APIs\n") fmt.Fprintf(w, " where OLD and NEW are module paths\n") fmt.Fprintf(w, "apidiff -w FILE IMPORT_PATH\n") fmt.Fprintf(w, " writes export data of the package at IMPORT_PATH to FILE\n") fmt.Fprintf(w, " NOTE: In a GOPATH-less environment, this option consults the\n") fmt.Fprintf(w, " module cache by default, unless used in the directory that\n") fmt.Fprintf(w, " contains the go.mod module definition that IMPORT_PATH belongs\n") fmt.Fprintf(w, " to. In most cases users want the latter behavior, so be sure\n") fmt.Fprintf(w, " to cd to the exact directory which contains the module\n") fmt.Fprintf(w, " definition of IMPORT_PATH.\n") fmt.Fprintf(w, "apidiff -m -w FILE MODULE_PATH\n") fmt.Fprintf(w, " writes export data of the module at MODULE_PATH to FILE\n") fmt.Fprintf(w, " Same NOTE for packages applies to modules.\n") flag.PrintDefaults() } flag.Parse() if *exportDataOutfile != "" { if len(flag.Args()) != 1 { flag.Usage() os.Exit(2) } if err := loadAndWrite(flag.Arg(0)); err != nil { die("writing export data: %v", err) } os.Exit(0) } if len(flag.Args()) != 2 { flag.Usage() os.Exit(2) } var report apidiff.Report if *moduleMode { oldmod := mustLoadOrReadModule(flag.Arg(0)) newmod := mustLoadOrReadModule(flag.Arg(1)) report = apidiff.ModuleChanges(oldmod, newmod) } else { oldpkg := mustLoadOrReadPackage(flag.Arg(0)) newpkg := mustLoadOrReadPackage(flag.Arg(1)) if !*allowInternal { if isInternalPackage(oldpkg.Path(), "") && isInternalPackage(newpkg.Path(), "") { fmt.Fprintf(os.Stderr, "Ignoring internal package %s\n", oldpkg.Path()) os.Exit(0) } } report = apidiff.Changes(oldpkg, newpkg) } var err error if *incompatibleOnly { err = report.TextIncompatible(os.Stdout, false) } else { err = report.Text(os.Stdout) } if err != nil { die("writing report: %v", err) } } func loadAndWrite(path string) error { if *moduleMode { module := mustLoadModule(path) return writeModuleExportData(module, *exportDataOutfile) } // Loading and writing data for only a single package. pkg := mustLoadPackage(path) return writePackageExportData(pkg, *exportDataOutfile) } func mustLoadOrReadPackage(importPathOrFile string) *types.Package { fileInfo, err := os.Stat(importPathOrFile) if err == nil && fileInfo.Mode().IsRegular() { pkg, err := readPackageExportData(importPathOrFile) if err != nil { die("reading export data from %s: %v", importPathOrFile, err) } return pkg } else { return mustLoadPackage(importPathOrFile).Types } } func mustLoadPackage(importPath string) *packages.Package { pkg, err := loadPackage(importPath) if err != nil { die("loading %s: %v", importPath, err) } return pkg } func loadPackage(importPath string) (*packages.Package, error) { cfg := &packages.Config{Mode: packages.LoadTypes | packages.NeedName | packages.NeedTypes | packages.NeedImports | packages.NeedDeps, } pkgs, err := packages.Load(cfg, importPath) if err != nil { return nil, err } if len(pkgs) == 0 { return nil, fmt.Errorf("found no packages for import %s", importPath) } if len(pkgs[0].Errors) > 0 { // TODO: use errors.Join once Go 1.21 is released. return nil, pkgs[0].Errors[0] } return pkgs[0], nil } func mustLoadOrReadModule(modulePathOrFile string) *apidiff.Module { var module *apidiff.Module fileInfo, err := os.Stat(modulePathOrFile) if err == nil && fileInfo.Mode().IsRegular() { module, err = readModuleExportData(modulePathOrFile) if err != nil { die("reading export data from %s: %v", modulePathOrFile, err) } } else { module = mustLoadModule(modulePathOrFile) } filterInternal(module, *allowInternal) return module } func mustLoadModule(modulepath string) *apidiff.Module { module, err := loadModule(modulepath) if err != nil { die("loading %s: %v", modulepath, err) } return module } func loadModule(modulepath string) (*apidiff.Module, error) { cfg := &packages.Config{Mode: packages.LoadTypes | packages.NeedName | packages.NeedTypes | packages.NeedImports | packages.NeedDeps | packages.NeedModule, } loaded, err := packages.Load(cfg, fmt.Sprintf("%s/...", modulepath)) if err != nil { return nil, err } if len(loaded) == 0 { return nil, fmt.Errorf("found no packages for module %s", modulepath) } var tpkgs []*types.Package for _, p := range loaded { if len(p.Errors) > 0 { // TODO: use errors.Join once Go 1.21 is released. return nil, p.Errors[0] } tpkgs = append(tpkgs, p.Types) } return &apidiff.Module{Path: loaded[0].Module.Path, Packages: tpkgs}, nil } func readModuleExportData(filename string) (*apidiff.Module, error) { f, err := os.Open(filename) if err != nil { return nil, err } defer f.Close() r := bufio.NewReader(f) modPath, err := r.ReadString('\n') if err != nil { return nil, err } modPath = modPath[:len(modPath)-1] // remove delimiter m := map[string]*types.Package{} pkgs, err := gcexportdata.ReadBundle(r, token.NewFileSet(), m) if err != nil { return nil, err } return &apidiff.Module{Path: modPath, Packages: pkgs}, nil } func writeModuleExportData(module *apidiff.Module, filename string) error { f, err := os.Create(filename) if err != nil { return err } fmt.Fprintln(f, module.Path) // TODO: Determine if token.NewFileSet is appropriate here. if err := gcexportdata.WriteBundle(f, token.NewFileSet(), module.Packages); err != nil { return err } return f.Close() } func readPackageExportData(filename string) (*types.Package, error) { f, err := os.Open(filename) if err != nil { return nil, err } defer f.Close() r := bufio.NewReader(f) m := map[string]*types.Package{} pkgPath, err := r.ReadString('\n') if err != nil { return nil, err } pkgPath = pkgPath[:len(pkgPath)-1] // remove delimiter return gcexportdata.Read(r, token.NewFileSet(), m, pkgPath) } func writePackageExportData(pkg *packages.Package, filename string) error { f, err := os.Create(filename) if err != nil { return err } // Include the package path in the file. The exportdata format does // not record the path of the package being written. fmt.Fprintln(f, pkg.PkgPath) err1 := gcexportdata.Write(f, pkg.Fset, pkg.Types) err2 := f.Close() if err1 != nil { return err1 } return err2 } func die(format string, args ...interface{}) { fmt.Fprintf(os.Stderr, format+"\n", args...) os.Exit(1) } func filterInternal(m *apidiff.Module, allow bool) { if allow { return } var nonInternal []*types.Package for _, p := range m.Packages { if !isInternalPackage(p.Path(), m.Path) { nonInternal = append(nonInternal, p) } else { fmt.Fprintf(os.Stderr, "Ignoring internal package %s\n", p.Path()) } } m.Packages = nonInternal } func isInternalPackage(pkgPath, modulePath string) bool { pkgPath = strings.TrimPrefix(pkgPath, modulePath) switch { case strings.HasSuffix(pkgPath, "/internal"): return true case strings.Contains(pkgPath, "/internal/"): return true case pkgPath == "internal": return true case strings.HasPrefix(pkgPath, "internal/"): return true } return false } dependencies/pkg/mod/golang.org/x/exp@v0.0.0-20240506185415-9bf2ced13842/apidiff/0000755000000000000000000000000015107355263024323 5ustar rootrootdependencies/pkg/mod/golang.org/x/exp@v0.0.0-20240506185415-9bf2ced13842/apidiff/README.md0000644000000000000000000006045115107355263025610 0ustar rootroot# Checking Go API Compatibility The `apidiff` tool in this directory determines whether two examples of a package or module are compatible. The goal is to help the developer make an informed choice of semantic version after they have changed the code of their module. `apidiff` reports two kinds of changes: incompatible ones, which require incrementing the major part of the semantic version, and compatible ones, which require a minor version increment. If no API changes are reported but there are code changes that could affect client code, then the patch version should be incremented. `apidiff` may be used to display API differences between any two packages or modules, not just different versions of the same thing. It does this by ignoring the package import paths when directly comparing two packages, and by ignoring module paths when comparing two modules. That is to say, when comparing two modules, the package import paths **do** matter, but are compared _relative_ to their respective module root. ## Compatibility Desiderata Any tool that checks compatibility can offer only an approximation. No tool can detect behavioral changes; and even if it could, whether a behavioral change is a breaking change or not depends on many factors, such as whether it closes a security hole or fixes a bug. Even a change that causes some code to fail to compile may not be considered a breaking change by the developers or their users. It may only affect code marked as experimental or unstable, for example, or the break may only manifest in unlikely cases. For a tool to be useful, its notion of compatibility must be relaxed enough to allow reasonable changes, like adding a field to a struct, but strict enough to catch significant breaking changes. A tool that is too lax will miss important incompatibilities, and users will stop trusting it; one that is too strict may generate so much noise that users will ignore it. To a first approximation, this tool reports a change as incompatible if it could cause client code to stop compiling. But `apidiff` ignores five ways in which code may fail to compile after a change. Three of them are mentioned in the [Go 1 Compatibility Guarantee](https://golang.org/doc/go1compat). ### Unkeyed Struct Literals Code that uses an unkeyed struct literal would fail to compile if a field was added to the struct, making any such addition an incompatible change. An example: ``` // old type Point struct { X, Y int } // new type Point struct { X, Y, Z int } // client p := pkg.Point{1, 2} // fails in new because there are more fields than expressions ``` Here and below, we provide three snippets: the code in the old version of the package, the code in the new version, and the code written in a client of the package, which refers to it by the name `pkg`. The client code compiles against the old code but not the new. ### Embedding and Shadowing Adding an exported field to a struct can break code that embeds that struct, because the newly added field may conflict with an identically named field at the same struct depth. A selector referring to the latter would become ambiguous and thus erroneous. ``` // old type Point struct { X, Y int } // new type Point struct { X, Y, Z int } // client type z struct { Z int } var v struct { pkg.Point z } _ = v.Z // fails in new ``` In the new version, the last line fails to compile because there are two embedded `Z` fields at the same depth, one from `z` and one from `pkg.Point`. ### Using an Identical Type Externally If it is possible for client code to write a type expression representing the underlying type of a defined type in a package, then external code can use it in assignments involving the package type, making any change to that type incompatible. ``` // old type Point struct { X, Y int } // new type Point struct { X, Y, Z int } // client var p struct { X, Y int } = pkg.Point{} // fails in new because of Point's extra field ``` Here, the external code could have used the provided name `Point`, but chose not to. I'll have more to say about this and related examples later. ### unsafe.Sizeof and Friends Since `unsafe.Sizeof`, `unsafe.Offsetof` and `unsafe.Alignof` are constant expressions, they can be used in an array type literal: ``` // old type S struct{ X int } // new type S struct{ X, y int } // client var a [unsafe.Sizeof(pkg.S{})]int = [8]int{} // fails in new because S's size is not 8 ``` Use of these operations could make many changes to a type potentially incompatible. ### Type Switches A package change that merges two different types (with same underlying type) into a single new type may break type switches in clients that refer to both original types: ``` // old type T1 int type T2 int // new type T1 int type T2 = T1 // client switch x.(type) { case T1: case T2: } // fails with new because two cases have the same type ``` This sort of incompatibility is sufficiently esoteric to ignore; the tool allows merging types. ## First Attempt at a Definition Our first attempt at defining compatibility captures the idea that all the exported names in the old package must have compatible equivalents in the new package. A new package is compatible with an old one if and only if: - For every exported package-level name in the old package, the same name is declared in the new at package level, and - the names denote the same kind of object (e.g. both are variables), and - the types of the objects are compatible. We will work out the details (and make some corrections) below, but it is clear already that we will need to determine what makes two types compatible. And whatever the definition of type compatibility, it's certainly true that if two types are the same, they are compatible. So we will need to decide what makes an old and new type the same. We will call this sameness relation _correspondence_. ## Type Correspondence Go already has a definition of when two types are the same: [type identity](https://golang.org/ref/spec#Type_identity). But identity isn't adequate for our purpose: it says that two defined types are identical if they arise from the same definition, but it's unclear what "same" means when talking about two different packages (or two versions of a single package). The obvious change to the definition of identity is to require that old and new [defined types](https://golang.org/ref/spec#Type_definitions) have the same name instead. But that doesn't work either, for two reasons. First, type aliases can equate two defined types with different names: ``` // old type E int // new type t int type E = t ``` Second, an unexported type can be renamed: ``` // old type u1 int var V u1 // new type u2 int var V u2 ``` Here, even though `u1` and `u2` are unexported, their exported fields and methods are visible to clients, so they are part of the API. But since the name `u1` is not visible to clients, it can be changed compatibly. We say that `u1` and `u2` are _exposed_: a type is exposed if a client package can declare variables of that type. We will say that an old defined type _corresponds_ to a new one if they have the same name, or one can be renamed to the other without otherwise changing the API. In the first example above, old `E` and new `t` correspond. In the second, old `u1` and new `u2` correspond. Two or more old defined types can correspond to a single new type: we consider "merging" two types into one to be a compatible change. As mentioned above, code that uses both names in a type switch will fail, but we deliberately ignore this case. However, a single old type can correspond to only one new type. So far, we've explained what correspondence means for defined types. To extend the definition to all types, we parallel the language's definition of type identity. So, for instance, an old and a new slice type correspond if their element types correspond. ## Definition of Compatibility We can now present the definition of compatibility used by `apidiff`. ### Module Compatibility > A new module is compatible with an old one if: >1. Each package present in the old module also appears in the new module, > with matching import paths relative to their respective module root, and >2. Each package present in both modules fulfills Package Compatibility as > defined below. > >Otherwise the modules are incompatible. If a package is converted into a nested module of the original module then comparing two versions of the module, before and after nested module creation, will produce an incompatible package removal message. This removal message does not necessarily mean that client code will need to change. If the package API retains Package Compatibility after nested module creation, then only the `go.mod` of the client code will need to change. Take the following example: ``` ./ go.mod go.sum foo.go bar/bar.go ``` Where `go.mod` is: ``` module example.com/foo go 1.20 ``` Where `bar/bar.go` is: ``` package bar var V int ``` And `foo.go` is: ``` package foo import "example.com/foo/bar" _ = bar.V ``` Creating a nested module with the package `bar` while retaining Package Compatibility is _code_ compatible, because the import path of the package does not change: ``` ./ go.mod go.sum foo.go bar/ bar.go go.mod go.sum ``` Where `bar/go.mod` is: ``` module example.com/foo/bar go 1.20 ``` And the top-level `go.mod` becomes: ``` module example.com/foo go 1.20 // New dependency on nested module. require example.com/foo/bar v1.0.0 ``` If during nested module creation either Package Compatibility is broken, like so in `bar/bar.go`: ``` package bar // Changed from V to T. var T int ``` Or the nested module uses a name other than the original package's import path, like so in `bar/go.mod`: ``` // Completely different module name module example.com/qux go 1.20 ``` Then the move is backwards incompatible for client code. ### Package Compatibility > A new package is compatible with an old one if: >1. Each exported name in the old package's scope also appears in the new >package's scope, and the object (constant, variable, function or type) denoted >by that name in the old package is compatible with the object denoted by the >name in the new package, and >2. For every exposed type that implements an exposed interface in the old package, > its corresponding type should implement the corresponding interface in the new package. > >Otherwise the packages are incompatible. As an aside, the tool also finds exported names in the new package that are not exported in the old, and marks them as compatible changes. Clause 2 is discussed further in "Whole-Package Compatibility." ### Object Compatibility This section provides compatibility rules for constants, variables, functions and types. #### Constants >A new exported constant is compatible with an old one of the same name if and only if >1. Their types correspond, and >2. Their values are identical. It is tempting to allow changing a typed constant to an untyped one. That may seem harmless, but it can break code like this: ``` // old const C int64 = 1 // new const C = 1 // client var x = C // old type is int64, new is int var y int64 = x // fails with new: different types in assignment ``` A change to the value of a constant can break compatibility if the value is used in an array type: ``` // old const C = 1 // new const C = 2 // client var a [C]int = [1]int{} // fails with new because [2]int and [1]int are different types ``` Changes to constant values are rare, and determining whether they are compatible or not is better left to the user, so the tool reports them. #### Variables >A new exported variable is compatible with an old one of the same name if and >only if their types correspond. Correspondence doesn't look past names, so this rule does not prevent adding a field to `MyStruct` if the package declares `var V MyStruct`. It does, however, mean that ``` var V struct { X int } ``` is incompatible with ``` var V struct { X, Y int } ``` I discuss this at length below in the section "Compatibility, Types and Names." #### Functions >A new exported function or variable is compatible with an old function of the >same name if and only if their types (signatures) correspond. This rule captures the fact that, although many signature changes are compatible for all call sites, none are compatible for assignment: ``` var v func(int) = pkg.F ``` Here, `F` must be of type `func(int)` and not, for instance, `func(...int)` or `func(interface{})`. Note that the rule permits changing a function to a variable. This is a common practice, usually done for test stubbing, and cannot break any code at compile time. #### Exported Types > A new exported type is compatible with an old one if and only if their > names are the same and their types correspond. This rule seems far too strict. But, ignoring aliases for the moment, it demands only that the old and new _defined_ types correspond. Consider: ``` // old type T struct { X int } // new type T struct { X, Y int } ``` The addition of `Y` is a compatible change, because this rule does not require that the struct literals have to correspond, only that the defined types denoted by `T` must correspond. (Remember that correspondence stops at type names.) If one type is an alias that refers to the corresponding defined type, the situation is the same: ``` // old type T struct { X int } // new type u struct { X, Y int } type T = u ``` Here, the only requirement is that old `T` corresponds to new `u`, not that the struct types correspond. (We can't tell from this snippet that the old `T` and the new `u` do correspond; that depends on whether `u` replaces `T` throughout the API.) However, the following change is incompatible, because the names do not denote corresponding types: ``` // old type T = struct { X int } // new type T = struct { X, Y int } ``` ### Type Literal Compatibility Only five kinds of types can differ compatibly: defined types, structs, interfaces, channels and numeric types. We only consider the compatibility of the last four when they are the underlying type of a defined type. See "Compatibility, Types and Names" for a rationale. We justify the compatibility rules by enumerating all the ways a type can be used, and by showing that the allowed changes cannot break any code that uses values of the type in those ways. Values of all types can be used in assignments (including argument passing and function return), but we do not require that old and new types are assignment compatible. That is because we assume that the old and new packages are never used together: any given binary will link in either the old package or the new. So in describing how a type can be used in the sections below, we omit assignment. Any type can also be used in a type assertion or conversion. The changes we allow below may affect the run-time behavior of these operations, but they cannot affect whether they compile. The only such breaking change would be to change the type `T` in an assertion `x.T` so that it no longer implements the interface type of `x`; but the rules for interfaces below disallow that. > A new type is compatible with an old one if and only if they correspond, or > one of the cases below applies. #### Defined Types Other than assignment, the only ways to use a defined type are to access its methods, or to make use of the properties of its underlying type. Rule 2 below covers the latter, and rules 3 and 4 cover the former. > A new defined type is compatible with an old one if and only if all of the > following hold: >1. They correspond. >2. Their underlying types are compatible. >3. The new exported value method set is a superset of the old. >4. The new exported pointer method set is a superset of the old. An exported method set is a method set with all unexported methods removed. When comparing methods of a method set, we require identical names and corresponding signatures. Removing an exported method is clearly a breaking change. But removing an unexported one (or changing its signature) can be breaking as well, if it results in the type no longer implementing an interface. See "Whole-Package Compatibility," below. #### Channels > A new channel type is compatible with an old one if > 1. The element types correspond, and > 2. Either the directions are the same, or the new type has no direction. Other than assignment, the only ways to use values of a channel type are to send and receive on them, to close them, and to use them as map keys. Changes to a channel type cannot cause code that closes a channel or uses it as a map key to fail to compile, so we need not consider those operations. Rule 1 ensures that any operations on the values sent or received will compile. Rule 2 captures the fact that any program that compiles with a directed channel must use either only sends, or only receives, so allowing the other operation by removing the channel direction cannot break any code. #### Interfaces > A new interface is compatible with an old one if and only if: > 1. The old interface does not have an unexported method, and it corresponds > to the new interfaces (i.e. they have the same method set), or > 2. The old interface has an unexported method and the new exported method set is a > superset of the old. Other than assignment, the only ways to use an interface are to implement it, embed it, or call one of its methods. (Interface values can also be used as map keys, but that cannot cause a compile-time error.) Certainly, removing an exported method from an interface could break a client call, so neither rule allows it. Rule 1 also disallows adding a method to an interface without an existing unexported method. Such an interface can be implemented in client code. If adding a method were allowed, a type that implements the old interface could fail to implement the new one: ``` type I interface { M1() } // old type I interface { M1(); M2() } // new // client type t struct{} func (t) M1() {} var i pkg.I = t{} // fails with new, because t lacks M2 ``` Rule 2 is based on the observation that if an interface has an unexported method, the only way a client can implement it is to embed it. Adding a method is compatible in this case, because the embedding struct will continue to implement the interface. Adding a method also cannot break any call sites, since no program that compiles could have any such call sites. #### Structs > A new struct is compatible with an old one if all of the following hold: > 1. The new set of top-level exported fields is a superset of the old. > 2. The new set of _selectable_ exported fields is a superset of the old. > 3. If the old struct is comparable, so is the new one. The set of selectable exported fields is the set of exported fields `F` such that `x.F` is a valid selector expression for a value `x` of the struct type. `F` may be at the top level of the struct, or it may be a field of an embedded struct. Two fields are the same if they have the same name and corresponding types. Other than assignment, there are only four ways to use a struct: write a struct literal, select a field, use a value of the struct as a map key, or compare two values for equality. The first clause ensures that struct literals compile; the second, that selections compile; and the third, that equality expressions and map index expressions compile. #### Numeric Types > A new numeric type is compatible with an old one if and only if they are > both unsigned integers, both signed integers, both floats or both complex > types, and the new one is at least as large as the old on both 32-bit and > 64-bit architectures. Other than in assignments, numeric types appear in arithmetic and comparison expressions. Since all arithmetic operations but shifts (see below) require that operand types be identical, and by assumption the old and new types underly defined types (see "Compatibility, Types and Names," below), there is no way for client code to write an arithmetic expression that compiles with operands of the old type but not the new. Numeric types can also appear in type switches and type assertions. Again, since the old and new types underly defined types, type switches and type assertions that compiled using the old defined type will continue to compile with the new defined type. Going from an unsigned to a signed integer type is an incompatible change for the sole reason that only an unsigned type can appear as the right operand of a shift. If this rule is relaxed, then changes from an unsigned type to a larger signed type would be compatible. See [this issue](https://github.com/golang/go/issues/19113). Only integer types can be used in bitwise and shift operations, and for indexing slices and arrays. That is why switching from an integer to a floating-point type--even one that can represent all values of the integer type--is an incompatible change. Conversions from floating-point to complex types or vice versa are not permitted (the predeclared functions real, imag, and complex must be used instead). To prevent valid floating-point or complex conversions from becoming invalid, changing a floating-point type to a complex type or vice versa is considered an incompatible change. Although conversions between any two integer types are valid, assigning a constant value to a variable of integer type that is too small to represent the constant is not permitted. That is why the only compatible changes are to a new type whose values are a superset of the old. The requirement that the new set of values must include the old on both 32-bit and 64-bit machines allows conversions from `int32` to `int` and from `int` to `int64`, but not the other direction; and similarly for `uint`. Changing a type to or from `uintptr` is considered an incompatible change. Since its size is not specified, there is no way to know whether the new type's values are a superset of the old type's. ## Whole-Package Compatibility Some changes that are compatible for a single type are not compatible when the package is considered as a whole. For example, if you remove an unexported method on a defined type, it may no longer implement an interface of the package. This can break client code: ``` // old type T int func (T) m() {} type I interface { m() } // new type T int // no method m anymore // client var i pkg.I = pkg.T{} // fails with new because T lacks m ``` Similarly, adding a method to an interface can cause defined types in the package to stop implementing it. The second clause in the definition for package compatibility handles these cases. To repeat: > 2. For every exposed type that implements an exposed interface in the old package, > its corresponding type should implement the corresponding interface in the new package. Recall that a type is exposed if it is part of the package's API, even if it is unexported. Other incompatibilities that involve more than one type in the package can arise whenever two types with identical underlying types exist in the old or new package. Here, a change "splits" an identical underlying type into two, breaking conversions: ``` // old type B struct { X int } type C struct { X int } // new type B struct { X int } type C struct { X, Y int } // client var b B _ = C(b) // fails with new: cannot convert B to C ``` Finally, changes that are compatible for the package in which they occur can break downstream packages. That can happen even if they involve unexported methods, thanks to embedding. The definitions given here don't account for these sorts of problems. ## Compatibility, Types and Names The above definitions state that the only types that can differ compatibly are defined types and the types that underly them. Changes to other type literals are considered incompatible. For instance, it is considered an incompatible change to add a field to the struct in this variable declaration: ``` var V struct { X int } ``` or this alias definition: ``` type T = struct { X int } ``` We make this choice to keep the definition of compatibility (relatively) simple. A more precise definition could, for instance, distinguish between ``` func F(struct { X int }) ``` where any changes to the struct are incompatible, and ``` func F(struct { X, u int }) ``` where adding a field is compatible (since clients cannot write the signature, and thus cannot assign `F` to a variable of the signature type). The definition should then also allow other function signature changes that only require call-site compatibility, like ``` func F(struct { X, u int }, ...int) ``` The result would be a much more complex definition with little benefit, since the examples in this section rarely arise in practice. dependencies/pkg/mod/golang.org/x/exp@v0.0.0-20240506185415-9bf2ced13842/apidiff/testdata/0000755000000000000000000000000015107355263026134 5ustar rootrootdependencies/pkg/mod/golang.org/x/exp@v0.0.0-20240506185415-9bf2ced13842/apidiff/testdata/README.md0000644000000000000000000000104315107355263027411 0ustar rootrootThe .go files in this directory are split into two packages, old and new. They are syntactically valid Go so that gofmt can process them. ``` If a comment begins with: Then: old write subsequent lines to the "old" package new write subsequent lines to the "new" package both write subsequent lines to both packages c expect a compatible error with the following text i expect an incompatible error with the following text ``` ././@LongLink0000644000000000000000000000014700000000000011605 Lustar rootrootdependencies/pkg/mod/golang.org/x/exp@v0.0.0-20240506185415-9bf2ced13842/apidiff/testdata/constants.godependencies/pkg/mod/golang.org/x/exp@v0.0.0-20240506185415-9bf2ced13842/apidiff/testdata/constants.0000644000000000000000000000136415107355263030155 0ustar rootrootpackage p // old type u1 int // both type u2 int // type changes // old const ( C1 = 1 C2 int = 2 C3 = 3 C4 u1 = 4 ) var V8 int // new const ( // i C1: changed from untyped int to untyped string C1 = "1" // i C2: changed from int to untyped int C2 = -1 // i C3: changed from untyped int to int C3 int = 3 // i V8: changed from var to const V8 int = 1 C4 u2 = 4 // OK: u1 corresponds to u2 ) // value change // old const ( Cr1 = 1 Cr2 = "2" Cr3 = 3.5 Cr4 = complex(0, 4.1) ) // new const ( // i Cr1: value changed from 1 to -1 Cr1 = -1 // i Cr2: value changed from "2" to "3" Cr2 = "3" // i Cr3: value changed from 3.5 to 3.8 Cr3 = 3.8 // i Cr4: value changed from (0 + 4.1i) to (4.1 + 0i) Cr4 = complex(4.1, 0) ) dependencies/pkg/mod/golang.org/x/exp@v0.0.0-20240506185415-9bf2ced13842/apidiff/testdata/whole.go0000644000000000000000000000076415107355263027610 0ustar rootrootpackage p // Whole-package interface satisfaction // old type WI1 interface { M1() m1() } type WI2 interface { M2() m2() } type WS1 int func (WS1) M1() {} func (WS1) m1() {} type WS2 int func (WS2) M2() {} func (WS2) m2() {} // new type WI1 interface { M1() m() } type WS1 int func (WS1) M1() {} // i WS1: no longer implements WI1 //func (WS1) m1() {} type WI2 interface { M2() m2() // i WS2: no longer implements WI2 m3() } type WS2 int func (WS2) M2() {} func (WS2) m2() {} ././@LongLink0000644000000000000000000000015400000000000011603 Lustar rootrootdependencies/pkg/mod/golang.org/x/exp@v0.0.0-20240506185415-9bf2ced13842/apidiff/testdata/other_packages.godependencies/pkg/mod/golang.org/x/exp@v0.0.0-20240506185415-9bf2ced13842/apidiff/testdata/other_pack0000644000000000000000000000201715107355263030176 0ustar rootroot// These tests demonstrate the correct handling of symbols // in packages other than two being compared. // See the lines in establishCorrespondence beginning // // if newn, ok := new.(*types.Named); ok package p // both // gofmt insists on grouping imports, so old and new // must both have both imports. import ( "io" "text/tabwriter" ) // Here we have two named types in different packages. // They have the same package-relative name, but we compare // the package-qualified names. // old var V io.Writer var _ tabwriter.Writer // new // i V: changed from io.Writer to text/tabwriter.Writer var V tabwriter.Writer var _ io.Writer // Here one type is a basic type. // Example from https://go.dev/issue/61385. // apidiff would previously report // F2: changed from func(io.ReadCloser) to func(io.ReadCloser) // io.ReadCloser: changed from interface{io.Reader; io.Closer} to int // old func F1(io.ReadCloser) {} // new // i F1: changed from func(io.ReadCloser) to func(int) func F1(int) {} // both func F2(io.ReadCloser) {} ././@LongLink0000644000000000000000000000015300000000000011602 Lustar rootrootdependencies/pkg/mod/golang.org/x/exp@v0.0.0-20240506185415-9bf2ced13842/apidiff/testdata/exported_fields/dependencies/pkg/mod/golang.org/x/exp@v0.0.0-20240506185415-9bf2ced13842/apidiff/testdata/exported_f0000755000000000000000000000000015107355263030214 5ustar rootroot././@LongLink0000644000000000000000000000016000000000000011600 Lustar rootrootdependencies/pkg/mod/golang.org/x/exp@v0.0.0-20240506185415-9bf2ced13842/apidiff/testdata/exported_fields/ef.godependencies/pkg/mod/golang.org/x/exp@v0.0.0-20240506185415-9bf2ced13842/apidiff/testdata/exported_f0000644000000000000000000000061015107355263030213 0ustar rootrootpackage exported_fields // Used for testing exportedFields. // Its exported fields are: // // A1 [1]int // D bool // E int // F F // S *S type ( S struct { int *embed2 embed E int // shadows embed.E alias A1 *S } A1 [1]int embed struct { E string } embed2 struct { embed3 F // shadows embed3.F } embed3 struct { F bool } alias = struct{ D bool } F int ) dependencies/pkg/mod/golang.org/x/exp@v0.0.0-20240506185415-9bf2ced13842/apidiff/testdata/types.go0000644000000000000000000000747115107355263027640 0ustar rootrootpackage p // both import "io" // old type u1 int // both type u2 int // old const C5 = 3 type ( A1 [1]int A2 [2]int A3 [C5]int ) // new // i C5: value changed from 3 to 4 const C5 = 4 type ( A1 [1]int // i A2: changed from [2]int to [2]bool A2 [2]bool // i A3: changed from [3]int to [4]int A3 [C5]int ) // old type ( Sl []int P1 *int P2 *u1 ) // new type ( // i Sl: changed from []int to []string Sl []string // i P1: changed from *int to **bool P1 **bool P2 *u2 // OK: u1 corresponds to u2 ) // old type Bc1 int32 type Bc2 uint type Bc3 float32 type Bc4 complex64 // new // c Bc1: changed from int32 to int type Bc1 int // c Bc2: changed from uint to uint64 type Bc2 uint64 // c Bc3: changed from float32 to float64 type Bc3 float64 // c Bc4: changed from complex64 to complex128 type Bc4 complex128 // old type Bi1 int32 type Bi2 uint type Bi3 float64 type Bi4 complex128 // new // i Bi1: changed from int32 to int16 type Bi1 int16 // i Bi2: changed from uint to uint32 type Bi2 uint32 // i Bi3: changed from float64 to float32 type Bi3 float32 // i Bi4: changed from complex128 to complex64 type Bi4 complex64 // old type ( M1 map[string]int M2 map[string]int M3 map[string]int ) // new type ( M1 map[string]int // i M2: changed from map[string]int to map[int]int M2 map[int]int // i M3: changed from map[string]int to map[string]string M3 map[string]string ) // old type ( Ch1 chan int Ch2 <-chan int Ch3 chan int Ch4 <-chan int ) // new type ( // i Ch1, element type: changed from int to bool Ch1 chan bool // i Ch2: changed direction Ch2 chan<- int // i Ch3: changed direction Ch3 <-chan int // c Ch4: removed direction Ch4 chan int ) // old type I1 interface { M1() M2() } // new type I1 interface { // M1() // i I1.M1: removed M2(int) // i I1.M2: changed from func() to func(int) M3() // i I1.M3: added m() // i I1.m: added unexported method } // old type I2 interface { M1() m() } // new type I2 interface { M1() // m() Removing an unexported method is OK. m2() // OK, because old already had an unexported method // c I2.M2: added M2() } // old type I3 interface { io.Reader M() } // new // OK: what matters is the method set; the name of the embedded // interface isn't important. type I3 interface { M() Read([]byte) (int, error) } // old type I4 io.Writer // new // OK: in both, I4 is a distinct type from io.Writer, and // the old and new I4s have the same method set. type I4 interface { Write([]byte) (int, error) } // old type I5 = io.Writer // new // i I5: changed from io.Writer to I5 // In old, I5 and io.Writer are the same type; in new, // they are different. That can break something like: // // var _ func(io.Writer) = func(pkg.I6) {} type I5 io.Writer // old type I6 interface{ Write([]byte) (int, error) } // new // i I6: changed from I6 to io.Writer // Similar to the above. type I6 = io.Writer //// correspondence with a basic type // Basic types are technically defined types, but they aren't // represented that way in go/types, so the cases below are special. // both type T1 int // old var VT1 T1 // new // i VT1: changed from T1 to int // This fails because old T1 corresponds to both int and new T1. var VT1 int // old type t2 int var VT2 t2 // new // OK: t2 corresponds to int. It's fine that old t2 // doesn't exist in new. var VT2 int // both type t3 int func (t3) M() {} // old var VT3 t3 // new // i t3.M: removed // Here the change from t3 to int is incompatible // because old t3 has an exported method. var VT3 int // old var VT4 int // new type t4 int // i VT4: changed from int to t4 // This is incompatible because of code like // // VT4 + int(1) // // which works in old but fails in new. // The difference from the above cases is that // in those, we were merging two types into one; // here, we are splitting int into t4 and int. var VT4 t4 dependencies/pkg/mod/golang.org/x/exp@v0.0.0-20240506185415-9bf2ced13842/apidiff/testdata/order.go0000644000000000000000000000170415107355263027600 0ustar rootrootpackage p // apidiff's output (but not its correctness) could depend on the order // in which declarations were visited. // For example, this always correctly reported that U changed from T to U: // old type U = T // new // i U: changed from T to U type U T // both type T int // But the test below, which is just a renaming of the one above, would report // that B was changed from B to B! apidiff was not wrong--there is an // incompatibility here--but it expressed itself poorly. // // This happened because old.A was processed first (Scope.Names returns names // sorted), resulting in old.B corresponding with new.A. Later, when old.B // was processed, it was matched with new.B. But since there was already a // correspondence for old.B, the blame for the incompatibility was put on new.B. // The fix is to establish the correspondence between same-named types first. // old type A = B // new // i A: changed from B to A type A B // both type B int ././@LongLink0000644000000000000000000000014700000000000011605 Lustar rootrootdependencies/pkg/mod/golang.org/x/exp@v0.0.0-20240506185415-9bf2ced13842/apidiff/testdata/splitting.godependencies/pkg/mod/golang.org/x/exp@v0.0.0-20240506185415-9bf2ced13842/apidiff/testdata/splitting.0000644000000000000000000000250715107355263030156 0ustar rootrootpackage p // Splitting types // // In the old world, there is one type with two names, one of which is an alias. // In the new world, there are two distinct types. // // That is an incompatible change, because client code like // // var v *T1 = new(T2) // // will succeed in the old world, where T1 and T2 name the same type, // but fail in the new world. // OK: in both old and new, A, B, and C all name the same type. // old type ( A = B B = C C int ) // new type ( A = B B int C = A ) // An example of splitting: // Old has one type, D; new has E and D. // both type D int // old type E = D // new // i E: changed from D to E type E D // old D corresponds with new E // old D also corresponds with new D: problem // Here we have a benign split. // f and g are the same type in old and different types in new. // But clients have no way of constructing an expression of type f, // so they cannot write code that breaks. // both type f int var Vg g // expose g // old type g = f // new // OK: f isn't exposed type g f // Here we have another incompatible split, even // though the type names are unexported. The problem // is that both names are exposed via exported variables. // both type h int var Vj j // expose j var Vh h // expose h // old type j = h // new // i Vj: changed from h to j // e.g. p.Vj = p.Vh type j h ././@LongLink0000644000000000000000000000015200000000000011601 Lustar rootrootdependencies/pkg/mod/golang.org/x/exp@v0.0.0-20240506185415-9bf2ced13842/apidiff/testdata/multi_levels.godependencies/pkg/mod/golang.org/x/exp@v0.0.0-20240506185415-9bf2ced13842/apidiff/testdata/multi_leve0000644000000000000000000000054715107355263030232 0ustar rootrootpackage p // This verifies that the code works even through // multiple levels of unexported types. // old var Z w type w []x type x []z type z int // new var Z w type w []x type x []z // i z: changed from int to bool type z bool // old type H struct{} func (H) M() {} // new // i H: changed from struct{} to interface{M()} type H interface { M() } ././@LongLink0000644000000000000000000000014600000000000011604 Lustar rootrootdependencies/pkg/mod/golang.org/x/exp@v0.0.0-20240506185415-9bf2ced13842/apidiff/testdata/generics.godependencies/pkg/mod/golang.org/x/exp@v0.0.0-20240506185415-9bf2ced13842/apidiff/testdata/generics.g0000644000000000000000000000205115107355263030101 0ustar rootrootpackage p //// Generics // old type G[T any] []T // new // OK: param name change type G[A any] []A // old type GM[A, B comparable] map[A]B // new // i GM: changed from map[A]B to map[B]A type GM[A, B comparable] map[B]A // old type GT[V any] struct { } func (GT[V]) M(*GT[V]) {} // new // OK type GT[V any] struct { } func (GT[V]) M(*GT[V]) {} // old type GT2[V any] struct { } func (GT2[V]) M(*GT2[V]) {} // new // i GT2: changed from GT2[V any] to GT2[V comparable] type GT2[V comparable] struct { } func (GT2[V]) M(*GT2[V]) {} // both type custom interface { int } type GT3[E custom] map[E]int // Instantiated types: // Two instantiations of generic types // with different type parameters are different. // both type H[T any] []T // old var V1 H[int] type T int var V2 H[T] // new // i V1: changed from H[int] to H[bool] var V1 H[bool] // i T: changed from int to bool type T bool // OK: we reported on T, so we don't need to here. var V2 H[T] // old type t int // new // i t: changed from int to byte type t byte // both var V3 H[t] dependencies/pkg/mod/golang.org/x/exp@v0.0.0-20240506185415-9bf2ced13842/apidiff/testdata/basics.go0000644000000000000000000000302715107355263027731 0ustar rootrootpackage p // Same type in both: OK. // both type A int // Changing the type is an incompatible change. // old type B int // new // i B: changed from int to string type B string // Adding a new type, whether alias or not, is a compatible change. // new // c AA: added type AA = A // c B1: added type B1 bool // Change of type for an unexported name doesn't matter... // old type t int // new type t string // OK: t isn't part of the API // ...unless it is exposed. // both var V2 u // old type u string // new // i u: changed from string to int type u int // An exposed, unexported type can be renamed. // both type u2 int // old type u1 int var V5 u1 // new var V5 u2 // OK: V5 has changed type, but old u1 corresopnds to new u2 // Splitting a single type into two is an incompatible change. // both type u3 int // old type ( Split1 = u1 Split2 = u1 ) // new type ( Split1 = u2 // OK, since old u1 corresponds to new u2 // This tries to make u1 correspond to u3 // i Split2: changed from u1 to u3 Split2 = u3 ) // Merging two types into one is OK. // old type ( GoodMerge1 = u2 GoodMerge2 = u3 ) // new type ( GoodMerge1 = u3 GoodMerge2 = u3 ) // Merging isn't OK here because a method is lost. // both type u4 int func (u4) M() {} // old type ( BadMerge1 = u3 BadMerge2 = u4 ) // new type ( BadMerge1 = u3 // i u4.M: removed // What's really happening here is that old u4 corresponds to new u3, // and new u3's method set is not a superset of old u4's. BadMerge2 = u3 ) // old type Rem int // new // i Rem: removed ././@LongLink0000644000000000000000000000014700000000000011605 Lustar rootrootdependencies/pkg/mod/golang.org/x/exp@v0.0.0-20240506185415-9bf2ced13842/apidiff/testdata/variables.godependencies/pkg/mod/golang.org/x/exp@v0.0.0-20240506185415-9bf2ced13842/apidiff/testdata/variables.0000644000000000000000000000214215107355263030104 0ustar rootrootpackage p // old type u1 int // both type A int type u2 int // simple type changes // old var ( V1 string V3 A V7 <-chan int ) // new var ( // i V1: changed from string to []string V1 []string V3 A // OK: same // i V7: changed from <-chan int to chan int V7 chan int ) // interface type changes // old var ( V9 interface{ M() } V10 interface{ M() } V11 interface{ M() } ) // new var ( // i V9: changed from interface{M()} to interface{} V9 interface{} // i V10: changed from interface{M()} to interface{M(); M2()} V10 interface { M2() M() } // i V11: changed from interface{M()} to interface{M(int)} V11 interface{ M(int) } ) // struct type changes // old var ( VS1 struct{ A, B int } VS2 struct{ A, B int } VS3 struct{ A, B int } VS4 struct { A int u1 } ) // new var ( // i VS1: changed from struct{A int; B int} to struct{B int; A int} VS1 struct{ B, A int } // i VS2: changed from struct{A int; B int} to struct{A int} VS2 struct{ A int } // i VS3: changed from struct{A int; B int} to struct{A int; B int; C int} VS3 struct{ A, B, C int } VS4 struct { A int u2 } ) dependencies/pkg/mod/golang.org/x/exp@v0.0.0-20240506185415-9bf2ced13842/apidiff/testdata/aliases.go0000644000000000000000000000057015107355263030106 0ustar rootrootpackage p // Here the same alias refers to different types in old and new. // We correctly detect the problem, but the message is poor. // both type t1 int type t2 bool // old type A = t1 // new // i t1: changed from int to bool type A = t2 // old type B = int // new // i B: changed from int to B type B int // old type C int // new // OK: merging types type C = int dependencies/pkg/mod/golang.org/x/exp@v0.0.0-20240506185415-9bf2ced13842/apidiff/testdata/structs.go0000644000000000000000000000345515107355263030201 0ustar rootrootpackage p // old type S1 struct { A int B string C bool d float32 } // new type S1 = s1 type s1 struct { C chan int // i S1.C: changed from bool to chan int A int // i S1.B: removed // i S1: old is comparable, new is not x []int d float32 E bool // c S1.E: added } // old type embed struct { E string } type S2 struct { A int embed } // new type embedx struct { E string } type S2 struct { embedx // OK: the unexported embedded field changed names, but the exported field didn't A int } // both type F int // old type S3 struct { A int embed } // new type embed struct{ F int } type S3 struct { // i S3.E: removed embed // c S3.F: added A int } // both type A1 [1]int // old type embed2 struct { embed3 F // shadows embed3.F } type embed3 struct { F bool } type alias = struct{ D bool } type S4 struct { int *embed2 embed E int // shadows embed.E alias A1 *S4 } // new type S4 struct { // OK: removed unexported fields // D and F marked as added because they are now part of the immediate fields D bool // c S4.D: added E int // OK: same as in old F F // c S4.F: added A1 // OK: same *S4 // OK: same (recursive embedding) } // Difference between exported selectable fields and exported immediate fields. // both type S5 struct{ A int } // old // Exported immediate fields: A, S5 // Exported selectable fields: A int, S5 S5 type S6 struct { S5 S5 A int } // new // Exported immediate fields: S5 // Exported selectable fields: A int, S5 S5. // i S6.A: removed type S6 struct { S5 } // Ambiguous fields can exist; they just can't be selected. // both type ( embed7a struct{ E int } embed7b struct{ E bool } ) // old type S7 struct { // legal, but no selectable fields embed7a embed7b } // new type S7 struct { embed7a embed7b // c S7.E: added E string } ././@LongLink0000644000000000000000000000015100000000000011600 Lustar rootrootdependencies/pkg/mod/golang.org/x/exp@v0.0.0-20240506185415-9bf2ced13842/apidiff/testdata/method_sets.godependencies/pkg/mod/golang.org/x/exp@v0.0.0-20240506185415-9bf2ced13842/apidiff/testdata/method_set0000644000000000000000000000415315107355263030215 0ustar rootrootpackage p // old type SM struct { embedm Embedm } func (SM) V1() {} func (SM) V2() {} func (SM) V3() {} func (SM) V4() {} func (SM) v() {} func (*SM) P1() {} func (*SM) P2() {} func (*SM) P3() {} func (*SM) P4() {} func (*SM) p() {} type embedm int func (embedm) EV1() {} func (embedm) EV2() {} func (embedm) EV3() {} func (*embedm) EP1() {} func (*embedm) EP2() {} func (*embedm) EP3() {} type Embedm struct { A int } func (Embedm) FV() {} func (*Embedm) FP() {} type RepeatEmbedm struct { Embedm } // new type SM struct { embedm2 embedm3 Embedm // i SM.A: changed from int to bool } // c SMa: added type SMa = SM func (SM) V1() {} // OK: same // func (SM) V2() {} // i SM.V2: removed // i SM.V3: changed from func() to func(int) func (SM) V3(int) {} // c SM.V5: added func (SM) V5() {} func (SM) v(int) {} // OK: unexported method change func (SM) v2() {} // OK: unexported method added func (*SM) P1() {} // OK: same //func (*SM) P2() {} // i (*SM).P2: removed // i (*SM).P3: changed from func() to func(int) func (*SMa) P3(int) {} // c (*SM).P5: added func (*SM) P5() {} // func (*SM) p() {} // OK: unexported method removed // Changing from a value to a pointer receiver or vice versa // just looks like adding and removing a method. // i SM.V4: removed // i (*SM).V4: changed from func() to func(int) func (*SM) V4(int) {} // c SM.P4: added // P4 is not removed from (*SM) because value methods // are in the pointer method set. func (SM) P4() {} type embedm2 int // i embedm.EV1: changed from func() to func(int) func (embedm2) EV1(int) {} // i embedm.EV2, method set of SM: removed // i embedm.EV2, method set of *SM: removed // i (*embedm).EP2, method set of *SM: removed func (*embedm2) EP1() {} type embedm3 int func (embedm3) EV3() {} // OK: compatible with old embedm.EV3 func (*embedm3) EP3() {} // OK: compatible with old (*embedm).EP3 type Embedm struct { // i Embedm.A: changed from int to bool A bool } // i Embedm.FV: changed from func() to func(int) func (Embedm) FV(int) {} func (*Embedm) FP() {} type RepeatEmbedm struct { // i RepeatEmbedm.A: changed from int to bool Embedm } ././@LongLink0000644000000000000000000000014700000000000011605 Lustar rootrootdependencies/pkg/mod/golang.org/x/exp@v0.0.0-20240506185415-9bf2ced13842/apidiff/testdata/functions.godependencies/pkg/mod/golang.org/x/exp@v0.0.0-20240506185415-9bf2ced13842/apidiff/testdata/functions.0000644000000000000000000000250715107355263030151 0ustar rootrootpackage p // old type u1 int // both type A int type u2 int // new // c AA: added type AA = A // old func F1(a int, b string) map[u1]A { return nil } func F2(int) {} func F3(int) {} func F4(int) int { return 0 } func F5(int) int { return 0 } func F6(int) {} func F7(interface{}) {} // new func F1(c int, d string) map[u2]AA { return nil } //OK: same (since u1 corresponds to u2) // i F2: changed from func(int) to func(int) bool func F2(int) bool { return true } // i F3: changed from func(int) to func(int, int) func F3(int, int) {} // i F4: changed from func(int) int to func(bool) int func F4(bool) int { return 0 } // i F5: changed from func(int) int to func(int) string func F5(int) string { return "" } // i F6: changed from func(int) to func(...int) func F6(...int) {} // i F7: changed from func(interface{}) to func(interface{x()}) func F7(a interface{ x() }) {} // old func F8(bool) {} // new // c F8: changed from func to var var F8 func(bool) // old var F9 func(int) // new // i F9: changed from var to func func F9(int) {} // both // OK, even though new S is incompatible with old S (see below) func F10(S) {} // old type S struct { A int } // new type S struct { // i S.A: changed from int to bool A bool } dependencies/pkg/mod/golang.org/x/exp@v0.0.0-20240506185415-9bf2ced13842/apidiff/correspondence.go0000644000000000000000000002223115107355263027663 0ustar rootrootpackage apidiff import ( "fmt" "go/types" "sort" ) // Two types are correspond if they are identical except for defined types, // which must correspond. // // Two defined types correspond if they can be interchanged in the old and new APIs, // possibly after a renaming. // // This is not a pure function. If we come across named types while traversing, // we establish correspondence. func (d *differ) correspond(old, new types.Type) bool { return d.corr(old, new, nil) } // corr determines whether old and new correspond. The argument p is a list of // known interface identities, to avoid infinite recursion. // // corr calls itself recursively as much as possible, to establish more // correspondences and so check more of the API. E.g. if the new function has more // parameters than the old, compare all the old ones before returning false. // // Compare this to the implementation of go/types.Identical. func (d *differ) corr(old, new types.Type, p *ifacePair) bool { // Structure copied from types.Identical. switch old := old.(type) { case *types.Basic: if new, ok := new.(*types.Basic); ok { return old.Kind() == new.Kind() } case *types.Array: if new, ok := new.(*types.Array); ok { return d.corr(old.Elem(), new.Elem(), p) && old.Len() == new.Len() } case *types.Slice: if new, ok := new.(*types.Slice); ok { return d.corr(old.Elem(), new.Elem(), p) } case *types.Map: if new, ok := new.(*types.Map); ok { return d.corr(old.Key(), new.Key(), p) && d.corr(old.Elem(), new.Elem(), p) } case *types.Chan: if new, ok := new.(*types.Chan); ok { return d.corr(old.Elem(), new.Elem(), p) && old.Dir() == new.Dir() } case *types.Pointer: if new, ok := new.(*types.Pointer); ok { return d.corr(old.Elem(), new.Elem(), p) } case *types.Signature: if new, ok := new.(*types.Signature); ok { pe := d.corr(old.Params(), new.Params(), p) re := d.corr(old.Results(), new.Results(), p) return old.Variadic() == new.Variadic() && pe && re } case *types.Tuple: if new, ok := new.(*types.Tuple); ok { for i := 0; i < old.Len(); i++ { if i >= new.Len() || !d.corr(old.At(i).Type(), new.At(i).Type(), p) { return false } } return old.Len() == new.Len() } case *types.Struct: if new, ok := new.(*types.Struct); ok { for i := 0; i < old.NumFields(); i++ { if i >= new.NumFields() { return false } of := old.Field(i) nf := new.Field(i) if of.Anonymous() != nf.Anonymous() || old.Tag(i) != new.Tag(i) || !d.corr(of.Type(), nf.Type(), p) || !d.corrFieldNames(of, nf) { return false } } return old.NumFields() == new.NumFields() } case *types.Interface: if new, ok := new.(*types.Interface); ok { // Deal with circularity. See the comment in types.Identical. q := &ifacePair{old, new, p} for p != nil { if p.identical(q) { return true // same pair was compared before } p = p.prev } oldms := d.sortedMethods(old) newms := d.sortedMethods(new) for i, om := range oldms { if i >= len(newms) { return false } nm := newms[i] if d.methodID(om) != d.methodID(nm) || !d.corr(om.Type(), nm.Type(), q) { return false } } return old.NumMethods() == new.NumMethods() } case *types.Named: return d.establishCorrespondence(old, new) case *types.TypeParam: if new, ok := new.(*types.TypeParam); ok { if old.Index() == new.Index() { return true } } default: panic(fmt.Sprintf("unknown type kind %T", old)) } return false } // Compare old and new field names. We are determining correspondence across packages, // so just compare names, not packages. For an unexported, embedded field of named // type (non-named embedded fields are possible with aliases), we check that the type // names correspond. We check the types for correspondence before this is called, so // we've established correspondence. func (d *differ) corrFieldNames(of, nf *types.Var) bool { if of.Anonymous() && nf.Anonymous() && !of.Exported() && !nf.Exported() { if on, ok := of.Type().(*types.Named); ok { nn := nf.Type().(*types.Named) return d.establishCorrespondence(on, nn) } } return of.Name() == nf.Name() } // establishCorrespondence records and validates a correspondence between // old and new. // // If this is the first type corresponding to old, it checks that the type // declaration is compatible with old and records its correspondence. // Otherwise, it checks that new is equivalent to the previously recorded // type corresponding to old. func (d *differ) establishCorrespondence(old *types.Named, new types.Type) bool { oldname := old.Obj() // If there already is a corresponding new type for old, check that they // are the same. if c := d.correspondMap.At(old); c != nil { return types.Identical(c.(types.Type), new) } // Attempt to establish a correspondence. // Assume the types don't correspond unless they have the same // ID, or are from the old and new packages, respectively. // // This is too conservative. For instance, // [old] type A = q.B; [new] type A q.C // could be OK if in package q, B is an alias for C. // Or, using p as the name of the current old/new packages: // [old] type A = q.B; [new] type A int // could be OK if in q, // [old] type B int; [new] type B = p.A // In this case, p.A and q.B name the same type in both old and new worlds. // Note that this case doesn't imply circular package imports: it's possible // that in the old world, p imports q, but in the new, q imports p. // // However, if we didn't do something here, then we'd incorrectly allow cases // like the first one above in which q.B is not an alias for q.C // // What we should do is check that the old type, in the new world's package // of the same path, doesn't correspond to something other than the new type. // That is a bit hard, because there is no easy way to find a new package // matching an old one. switch new := new.(type) { case *types.Named: newn := new oobj := old.Obj() nobj := newn.Obj() if oobj.Pkg() != d.old || nobj.Pkg() != d.new { // Compare the fully qualified names of the types. // // TODO(jba): when comparing modules, we should only look at the // paths relative to the module path, because the module paths may differ. // See cmd/gorelease/testdata/internalcompat. var opath, npath string if oobj.Pkg() != nil { opath = oobj.Pkg().Path() } if nobj.Pkg() != nil { npath = nobj.Pkg().Path() } return oobj.Name() == nobj.Name() && opath == npath } // Two generic named types correspond if their type parameter lists correspond. // Since one or the other of those lists will be empty, it doesn't hurt // to check both. oldOrigin := old.Origin() newOrigin := newn.Origin() if oldOrigin != old { // old is an instantiated type. if newOrigin == newn { // new is not; they cannot correspond. return false } // Two instantiated types correspond if their origins correspond and // their type argument lists correspond. if !d.correspond(oldOrigin, newOrigin) { return false } if !d.typeListsCorrespond(old.TypeArgs(), newn.TypeArgs()) { return false } } else { if !d.typeParamListsCorrespond(old.TypeParams(), newn.TypeParams()) { return false } } case *types.Basic: if old.Obj().Pkg() != d.old { // A named type from a package other than old never corresponds to a basic type. return false } default: // Only named and basic types can correspond. return false } // If there is no correspondence, create one. d.correspondMap.Set(old, new) // Check that the corresponding types are compatible. d.checkCompatibleDefined(oldname, old, new) return true } func (d *differ) typeListsCorrespond(tl1, tl2 *types.TypeList) bool { if tl1.Len() != tl2.Len() { return false } for i := 0; i < tl1.Len(); i++ { if !d.correspond(tl1.At(i), tl2.At(i)) { return false } } return true } // Two list of type parameters correspond if they are the same length, and // the constraints of corresponding type parameters correspond. func (d *differ) typeParamListsCorrespond(tps1, tps2 *types.TypeParamList) bool { if tps1.Len() != tps2.Len() { return false } for i := 0; i < tps1.Len(); i++ { if !d.correspond(tps1.At(i).Constraint(), tps2.At(i).Constraint()) { return false } } return true } func (d *differ) sortedMethods(iface *types.Interface) []*types.Func { ms := make([]*types.Func, iface.NumMethods()) for i := 0; i < iface.NumMethods(); i++ { ms[i] = iface.Method(i) } sort.Slice(ms, func(i, j int) bool { return d.methodID(ms[i]) < d.methodID(ms[j]) }) return ms } func (d *differ) methodID(m *types.Func) string { // If the method belongs to one of the two packages being compared, use // just its name even if it's unexported. That lets us treat unexported names // from the old and new packages as equal. if m.Pkg() == d.old || m.Pkg() == d.new { return m.Name() } return m.Id() } // Copied from the go/types package: // An ifacePair is a node in a stack of interface type pairs compared for identity. type ifacePair struct { x, y *types.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 } dependencies/pkg/mod/golang.org/x/exp@v0.0.0-20240506185415-9bf2ced13842/apidiff/compatibility.go0000644000000000000000000003004515107355263027525 0ustar rootrootpackage apidiff import ( "fmt" "go/types" "reflect" ) func (d *differ) checkCompatible(otn *types.TypeName, old, new types.Type) { switch old := old.(type) { case *types.Interface: if new, ok := new.(*types.Interface); ok { d.checkCompatibleInterface(otn, old, new) return } case *types.Struct: if new, ok := new.(*types.Struct); ok { d.checkCompatibleStruct(objectWithSide{otn, false}, old, new) return } case *types.Chan: if new, ok := new.(*types.Chan); ok { d.checkCompatibleChan(otn, old, new) return } case *types.Basic: if new, ok := new.(*types.Basic); ok { d.checkCompatibleBasic(otn, old, new) return } case *types.Named: panic("unreachable") default: d.checkCorrespondence(objectWithSide{otn, false}, "", old, new) return } // Here if old and new are different kinds of types. d.typeChanged(objectWithSide{otn, false}, "", old, new) } func (d *differ) checkCompatibleChan(otn *types.TypeName, old, new *types.Chan) { d.checkCorrespondence(objectWithSide{otn, false}, ", element type", old.Elem(), new.Elem()) if old.Dir() != new.Dir() { if new.Dir() == types.SendRecv { d.compatible(objectWithSide{otn, false}, "", "removed direction") } else { d.incompatible(objectWithSide{otn, false}, "", "changed direction") } } } func (d *differ) checkCompatibleBasic(otn *types.TypeName, old, new *types.Basic) { // Certain changes to numeric types are compatible. Approximately, the info must // be the same, and the new values must be a superset of the old. if old.Kind() == new.Kind() { // old and new are identical return } if compatibleBasics[[2]types.BasicKind{old.Kind(), new.Kind()}] { d.compatible(objectWithSide{otn, false}, "", "changed from %s to %s", old, new) } else { d.typeChanged(objectWithSide{otn, false}, "", old, new) } } // All pairs (old, new) of compatible basic types. var compatibleBasics = map[[2]types.BasicKind]bool{ {types.Uint8, types.Uint16}: true, {types.Uint8, types.Uint32}: true, {types.Uint8, types.Uint}: true, {types.Uint8, types.Uint64}: true, {types.Uint16, types.Uint32}: true, {types.Uint16, types.Uint}: true, {types.Uint16, types.Uint64}: true, {types.Uint32, types.Uint}: true, {types.Uint32, types.Uint64}: true, {types.Uint, types.Uint64}: true, {types.Int8, types.Int16}: true, {types.Int8, types.Int32}: true, {types.Int8, types.Int}: true, {types.Int8, types.Int64}: true, {types.Int16, types.Int32}: true, {types.Int16, types.Int}: true, {types.Int16, types.Int64}: true, {types.Int32, types.Int}: true, {types.Int32, types.Int64}: true, {types.Int, types.Int64}: true, {types.Float32, types.Float64}: true, {types.Complex64, types.Complex128}: true, } // Interface compatibility: // If the old interface has an unexported method, the new interface is compatible // if its exported method set is a superset of the old. (Users could not implement, // only embed.) // // If the old interface did not have an unexported method, the new interface is // compatible if its exported method set is the same as the old, and it has no // unexported methods. (Adding an unexported method makes the interface // unimplementable outside the package.) // // TODO: must also check that if any methods were added or removed, every exposed // type in the package that implemented the interface in old still implements it in // new. Otherwise external assignments could fail. func (d *differ) checkCompatibleInterface(otn *types.TypeName, old, new *types.Interface) { // Method sets are checked in checkCompatibleDefined. // Does the old interface have an unexported method? if unexportedMethod(old) != nil { d.checkMethodSet(otn, old, new, additionsCompatible) } else { // Perform an equivalence check, but with more information. d.checkMethodSet(otn, old, new, additionsIncompatible) if u := unexportedMethod(new); u != nil { d.incompatible(objectWithSide{otn, false}, u.Name(), "added unexported method") } } } // Return an unexported method from the method set of t, or nil if there are none. func unexportedMethod(t *types.Interface) *types.Func { for i := 0; i < t.NumMethods(); i++ { if m := t.Method(i); !m.Exported() { return m } } return nil } // We need to check three things for structs: // // 1. The set of exported fields must be compatible. This ensures that keyed struct // literals continue to compile. (There is no compatibility guarantee for unkeyed // struct literals.) // // 2. The set of exported *selectable* fields must be compatible. This includes the exported // fields of all embedded structs. This ensures that selections continue to compile. // // 3. If the old struct is comparable, so must the new one be. This ensures that equality // expressions and uses of struct values as map keys continue to compile. // // An unexported embedded struct can't appear in a struct literal outside the // package, so it doesn't have to be present, or have the same name, in the new // struct. // // Field tags are ignored: they have no compile-time implications. func (d *differ) checkCompatibleStruct(obj objectWithSide, old, new *types.Struct) { d.checkCompatibleObjectSets(obj, exportedFields(old), exportedFields(new)) d.checkCompatibleObjectSets(obj, exportedSelectableFields(old), exportedSelectableFields(new)) // Removing comparability from a struct is an incompatible change. if types.Comparable(old) && !types.Comparable(new) { d.incompatible(obj, "", "old is comparable, new is not") } } // exportedFields collects all the immediate fields of the struct that are exported. // This is also the set of exported keys for keyed struct literals. func exportedFields(s *types.Struct) map[string]types.Object { m := map[string]types.Object{} for i := 0; i < s.NumFields(); i++ { f := s.Field(i) if f.Exported() { m[f.Name()] = f } } return m } // exportedSelectableFields collects all the exported fields of the struct, including // exported fields of embedded structs. // // We traverse the struct breadth-first, because of the rule that a lower-depth field // shadows one at a higher depth. func exportedSelectableFields(s *types.Struct) map[string]types.Object { var ( m = map[string]types.Object{} next []*types.Struct // embedded structs at the next depth seen []*types.Struct // to handle recursive embedding ) for cur := []*types.Struct{s}; len(cur) > 0; cur, next = next, nil { seen = append(seen, cur...) // We only want to consider unambiguous fields. Ambiguous fields (where there // is more than one field of the same name at the same level) are legal, but // cannot be selected. for name, f := range unambiguousFields(cur) { // Record an exported field we haven't seen before. If we have seen it, // it occurred a lower depth, so it shadows this field. if f.Exported() && m[name] == nil { m[name] = f } // Remember embedded structs for processing at the next depth, // but only if we haven't seen the struct at this depth or above. if !f.Anonymous() { continue } t := f.Type().Underlying() if p, ok := t.(*types.Pointer); ok { t = p.Elem().Underlying() } if t, ok := t.(*types.Struct); ok && !contains(seen, t) { next = append(next, t) } } } return m } func contains(ts []*types.Struct, t *types.Struct) bool { for _, s := range ts { if types.Identical(s, t) { return true } } return false } // Given a set of structs at the same depth, the unambiguous fields are the ones whose // names appear exactly once. func unambiguousFields(structs []*types.Struct) map[string]*types.Var { fields := map[string]*types.Var{} seen := map[string]bool{} for _, s := range structs { for i := 0; i < s.NumFields(); i++ { f := s.Field(i) name := f.Name() if seen[name] { delete(fields, name) } else { seen[name] = true fields[name] = f } } } return fields } // Anything removed or change from the old set is an incompatible change. // Anything added to the new set is a compatible change. func (d *differ) checkCompatibleObjectSets(obj objectWithSide, old, new map[string]types.Object) { for name, oldo := range old { newo := new[name] if newo == nil { d.incompatible(obj, name, "removed") } else { d.checkCorrespondence(obj, name, oldo.Type(), newo.Type()) } } for name := range new { if old[name] == nil { d.compatible(obj, name, "added") } } } func (d *differ) checkCompatibleDefined(otn *types.TypeName, old *types.Named, new types.Type) { // We've already checked that old and new correspond. d.checkCompatible(otn, old.Underlying(), new.Underlying()) // If there are different kinds of types (e.g. struct and interface), don't bother checking // the method sets. if reflect.TypeOf(old.Underlying()) != reflect.TypeOf(new.Underlying()) { return } // Interface method sets are checked in checkCompatibleInterface. if _, ok := old.Underlying().(*types.Interface); ok { return } // A new method set is compatible with an old if the new exported methods are a superset of the old. d.checkMethodSet(otn, old, new, additionsCompatible) d.checkMethodSet(otn, types.NewPointer(old), types.NewPointer(new), additionsCompatible) } const ( additionsCompatible = true additionsIncompatible = false ) func (d *differ) checkMethodSet(otn *types.TypeName, oldt, newt types.Type, addcompat bool) { // TODO: find a way to use checkCompatibleObjectSets for this. oldMethodSet := exportedMethods(oldt) newMethodSet := exportedMethods(newt) msname := otn.Name() if _, ok := oldt.(*types.Pointer); ok { msname = "*" + msname } for name, oldMethod := range oldMethodSet { newMethod := newMethodSet[name] if newMethod == nil { var part string // Due to embedding, it's possible that the method's receiver type is not // the same as the defined type whose method set we're looking at. So for // a type T with removed method M that is embedded in some other type U, // we will generate two "removed" messages for T.M, one for its own type // T and one for the embedded type U. We want both messages to appear, // but the messageSet dedup logic will allow only one message for a given // object. So use the part string to distinguish them. if receiverNamedType(oldMethod).Obj() != otn { part = fmt.Sprintf(", method set of %s", msname) } d.incompatible(objectWithSide{oldMethod, false}, part, "removed") } else { obj := objectWithSide{oldMethod, false} // If a value method is changed to a pointer method and has a signature // change, then we can get two messages for the same method definition: one // for the value method set that says it's removed, and another for the // pointer method set that says it changed. To keep both messages (since // messageSet dedups), use newMethod for the second. (Slight hack.) if !hasPointerReceiver(oldMethod) && hasPointerReceiver(newMethod) { obj = objectWithSide{newMethod, true} } d.checkCorrespondence(obj, "", oldMethod.Type(), newMethod.Type()) } } // Check for added methods. for name, newMethod := range newMethodSet { if oldMethodSet[name] == nil { if addcompat { d.compatible(objectWithSide{newMethod, true}, "", "added") } else { d.incompatible(objectWithSide{newMethod, true}, "", "added") } } } } // exportedMethods collects all the exported methods of type's method set. func exportedMethods(t types.Type) map[string]types.Object { m := map[string]types.Object{} ms := types.NewMethodSet(t) for i := 0; i < ms.Len(); i++ { obj := ms.At(i).Obj() if obj.Exported() { m[obj.Name()] = obj } } return m } func receiverType(method types.Object) types.Type { return method.Type().(*types.Signature).Recv().Type() } func receiverNamedType(method types.Object) *types.Named { switch t := receiverType(method).(type) { case *types.Pointer: return t.Elem().(*types.Named) case *types.Named: return t default: panic("unreachable") } } func hasPointerReceiver(method types.Object) bool { _, ok := receiverType(method).(*types.Pointer) return ok } dependencies/pkg/mod/golang.org/x/exp@v0.0.0-20240506185415-9bf2ced13842/apidiff/apidiff_test.go0000644000000000000000000002056415107355263027322 0ustar rootrootpackage apidiff import ( "bufio" "fmt" "go/types" "os" "os/exec" "path/filepath" "runtime" "sort" "strings" "testing" "github.com/google/go-cmp/cmp" "golang.org/x/tools/go/packages" "golang.org/x/tools/go/packages/packagestest" ) func TestModuleChanges(t *testing.T) { packagestest.TestAll(t, testModuleChanges) } func testModuleChanges(t *testing.T, x packagestest.Exporter) { e := packagestest.Export(t, x, []packagestest.Module{ { Name: "example.com/moda", Files: map[string]any{ "foo/foo.go": "package foo\n\nconst Version = 1", "foo/baz/baz.go": "package baz", }, }, { Name: "example.com/modb", Files: map[string]any{ "foo/foo.go": "package foo\n\nconst Version = 2\nconst Other = 1", "bar/bar.go": "package bar", }, }, }) defer e.Cleanup() a, err := loadModule(t, e.Config, "example.com/moda") if err != nil { t.Fatal(err) } b, err := loadModule(t, e.Config, "example.com/modb") if err != nil { t.Fatal(err) } report := ModuleChanges(a, b) if len(report.Changes) == 0 { t.Fatal("expected some changes, but got none") } wanti := []string{ "./foo.Version: value changed from 1 to 2", "package example.com/moda/foo/baz: removed", } sort.Strings(wanti) got := report.messages(false) sort.Strings(got) if diff := cmp.Diff(wanti, got); diff != "" { t.Errorf("incompatibles: mismatch (-want, +got)\n%s", diff) } wantc := []string{ "./foo.Other: added", "package example.com/modb/bar: added", } sort.Strings(wantc) got = report.messages(true) sort.Strings(got) if diff := cmp.Diff(wantc, got); diff != "" { t.Errorf("compatibles: mismatch (-want, +got)\n%s", diff) } } func TestChanges(t *testing.T) { testfiles, err := filepath.Glob(filepath.Join("testdata", "*.go")) if err != nil { t.Fatal(err) } for _, testfile := range testfiles { name := strings.TrimSuffix(filepath.Base(testfile), ".go") t.Run(name, func(t *testing.T) { dir := filepath.Join(t.TempDir(), "go") wanti, wantc := splitIntoPackages(t, testfile, dir) sort.Strings(wanti) sort.Strings(wantc) oldpkg, err := loadPackage(t, "apidiff/old", dir) if err != nil { t.Fatal(err) } newpkg, err := loadPackage(t, "apidiff/new", dir) if err != nil { t.Fatal(err) } report := Changes(oldpkg.Types, newpkg.Types) got := report.messages(false) if diff := cmp.Diff(wanti, got); diff != "" { t.Errorf("incompatibles: mismatch (-want, +got)\n%s", diff) } got = report.messages(true) if diff := cmp.Diff(wantc, got); diff != "" { t.Errorf("compatibles: mismatch (-want, +got)\n%s", diff) } }) } } func splitIntoPackages(t *testing.T, file, dir string) (incompatibles, compatibles []string) { // Read the input file line by line. // Write a line into the old or new package, // dependent on comments. // Also collect expected messages. f, err := os.Open(file) if err != nil { t.Fatal(err) } defer f.Close() if err := os.MkdirAll(filepath.Join(dir, "src", "apidiff"), 0700); err != nil { t.Fatal(err) } if err := os.WriteFile(filepath.Join(dir, "src", "apidiff", "go.mod"), []byte("module apidiff\ngo 1.18\n"), 0600); err != nil { t.Fatal(err) } oldd := filepath.Join(dir, "src/apidiff/old") newd := filepath.Join(dir, "src/apidiff/new") if err := os.MkdirAll(oldd, 0700); err != nil { t.Fatal(err) } if err := os.Mkdir(newd, 0700); err != nil && !os.IsExist(err) { t.Fatal(err) } oldf, err := os.Create(filepath.Join(oldd, "old.go")) if err != nil { t.Fatal(err) } defer func() { if err := oldf.Close(); err != nil { t.Fatal(err) } }() newf, err := os.Create(filepath.Join(newd, "new.go")) if err != nil { t.Fatal(err) } defer func() { if err := newf.Close(); err != nil { t.Fatal(err) } }() wl := func(f *os.File, line string) { if _, err := fmt.Fprintln(f, line); err != nil { t.Fatal(err) } } writeBoth := func(line string) { wl(oldf, line); wl(newf, line) } writeln := writeBoth s := bufio.NewScanner(f) for s.Scan() { line := s.Text() tl := strings.TrimSpace(line) switch { case tl == "// old": writeln = func(line string) { wl(oldf, line) } case tl == "// new": writeln = func(line string) { wl(newf, line) } case tl == "// both": writeln = writeBoth case strings.HasPrefix(tl, "// i "): incompatibles = append(incompatibles, strings.TrimSpace(tl[4:])) case strings.HasPrefix(tl, "// c "): compatibles = append(compatibles, strings.TrimSpace(tl[4:])) default: writeln(line) } } if s.Err() != nil { t.Fatal(s.Err()) } return } // Copied from cmd/apidiff/main.go. func loadModule(t *testing.T, cfg *packages.Config, modulePath string) (*Module, error) { needsGoPackages(t) cfg.Mode = cfg.Mode | packages.LoadTypes loaded, err := packages.Load(cfg, fmt.Sprintf("%s/...", modulePath)) if err != nil { return nil, err } if len(loaded) == 0 { return nil, fmt.Errorf("found no packages for module %s", modulePath) } var tpkgs []*types.Package for _, p := range loaded { if len(p.Errors) > 0 { // TODO: use errors.Join once Go 1.21 is released. return nil, p.Errors[0] } tpkgs = append(tpkgs, p.Types) } return &Module{Path: modulePath, Packages: tpkgs}, nil } func loadPackage(t *testing.T, importPath, goPath string) (*packages.Package, error) { needsGoPackages(t) cfg := &packages.Config{ Mode: packages.LoadTypes, } if goPath != "" { cfg.Env = append(os.Environ(), "GOPATH="+goPath) cfg.Dir = filepath.Join(goPath, "src", filepath.FromSlash(importPath)) } pkgs, err := packages.Load(cfg, importPath) if err != nil { return nil, err } if len(pkgs[0].Errors) > 0 { return nil, pkgs[0].Errors[0] } return pkgs[0], nil } func TestExportedFields(t *testing.T) { pkg, err := loadPackage(t, "golang.org/x/exp/apidiff/testdata/exported_fields", "") if err != nil { t.Fatal(err) } typeof := func(name string) types.Type { return pkg.Types.Scope().Lookup(name).Type() } s := typeof("S") su := s.(*types.Named).Underlying().(*types.Struct) ef := exportedSelectableFields(su) wants := []struct { name string typ types.Type }{ {"A1", typeof("A1")}, {"D", types.Typ[types.Bool]}, {"E", types.Typ[types.Int]}, {"F", typeof("F")}, {"S", types.NewPointer(s)}, } if got, want := len(ef), len(wants); got != want { t.Errorf("got %d fields, want %d\n%+v", got, want, ef) } for _, w := range wants { if got := ef[w.name]; got != nil && !types.Identical(got.Type(), w.typ) { t.Errorf("%s: got %v, want %v", w.name, got.Type(), w.typ) } } } // needsGoPackages skips t if the go/packages driver (or 'go' tool) implied by // the current process environment is not present in the path. // // Copied and adapted from golang.org/x/tools/internal/testenv. func needsGoPackages(t *testing.T) { t.Helper() tool := os.Getenv("GOPACKAGESDRIVER") switch tool { case "off": // "off" forces go/packages to use the go command. tool = "go" case "": if _, err := exec.LookPath("gopackagesdriver"); err == nil { tool = "gopackagesdriver" } else { tool = "go" } } needsTool(t, tool) } // needsTool skips t if the named tool is not present in the path. // // Copied and adapted from golang.org/x/tools/internal/testenv. func needsTool(t *testing.T, tool string) { _, err := exec.LookPath(tool) if err == nil { return } t.Helper() if allowMissingTool(tool) { t.Skipf("skipping because %s tool not available: %v", tool, err) } else { t.Fatalf("%s tool not available: %v", tool, err) } } func allowMissingTool(tool string) bool { if runtime.GOOS == "android" { // Android builds generally run tests on a separate machine from the build, // so don't expect any external tools to be available. return true } if tool == "go" && os.Getenv("GO_BUILDER_NAME") == "illumos-amd64-joyent" { // Work around a misconfigured builder (see https://golang.org/issue/33950). return true } // If a developer is actively working on this test, we expect them to have all // of its dependencies installed. However, if it's just a dependency of some // other module (for example, being run via 'go test all'), we should be more // tolerant of unusual environments. return !packageMainIsDevel() } // packageMainIsDevel reports whether the module containing package main // is a development version (if module information is available). // // Builds in GOPATH mode and builds that lack module information are assumed to // be development versions. var packageMainIsDevel = func() bool { return true } dependencies/pkg/mod/golang.org/x/exp@v0.0.0-20240506185415-9bf2ced13842/apidiff/apidiff.go0000644000000000000000000002501715107355263026261 0ustar rootroot// TODO: test swap corresponding types (e.g. u1 <-> u2 and u2 <-> u1) // TODO: test exported alias refers to something in another package -- does correspondence work then? // TODO: CODE COVERAGE // TODO: note that we may miss correspondences because we bail early when we compare a signature (e.g. when lengths differ; we could do up to the shorter) // TODO: if you add an unexported method to an exposed interface, you have to check that // every exposed type that previously implemented the interface still does. Otherwise // an external assignment of the exposed type to the interface type could fail. // TODO: check constant values: large values aren't representable by some types. // TODO: Document all the incompatibilities we don't check for. package apidiff import ( "fmt" "go/constant" "go/token" "go/types" "strings" "golang.org/x/tools/go/types/typeutil" ) // Changes reports on the differences between the APIs of the old and new packages. // It classifies each difference as either compatible or incompatible (breaking.) For // a detailed discussion of what constitutes an incompatible change, see the README. func Changes(old, new *types.Package) Report { return changesInternal(old, new, old.Path(), new.Path()) } // changesInternal contains the core logic for comparing a single package, shared // between Changes and ModuleChanges. The root package path arguments refer to the // context of this apidiff invocation - when diffing a single package, they will be // that package, but when diffing a whole module, they will be the root path of the // module. This is used to give change messages appropriate context for object names. // The old and new root must be tracked independently, since each side of the diff // operation may be a different path. func changesInternal(old, new *types.Package, oldRootPackagePath, newRootPackagePath string) Report { d := newDiffer(old, new) d.checkPackage(oldRootPackagePath) r := Report{} for _, m := range d.incompatibles.collect(oldRootPackagePath, newRootPackagePath) { r.Changes = append(r.Changes, Change{Message: m, Compatible: false}) } for _, m := range d.compatibles.collect(oldRootPackagePath, newRootPackagePath) { r.Changes = append(r.Changes, Change{Message: m, Compatible: true}) } return r } // ModuleChanges reports on the differences between the APIs of the old and new // modules. It classifies each difference as either compatible or incompatible // (breaking). This includes the addition and removal of entire packages. For a // detailed discussion of what constitutes an incompatible change, see the README. func ModuleChanges(old, new *Module) Report { var r Report oldPkgs := make(map[string]*types.Package) for _, p := range old.Packages { oldPkgs[old.relativePath(p)] = p } newPkgs := make(map[string]*types.Package) for _, p := range new.Packages { newPkgs[new.relativePath(p)] = p } for n, op := range oldPkgs { if np, ok := newPkgs[n]; ok { // shared package, compare surfaces rr := changesInternal(op, np, old.Path, new.Path) r.Changes = append(r.Changes, rr.Changes...) } else { // old package was removed r.Changes = append(r.Changes, packageChange(op, "removed", false)) } } for n, np := range newPkgs { if _, ok := oldPkgs[n]; !ok { // new package was added r.Changes = append(r.Changes, packageChange(np, "added", true)) } } return r } func packageChange(p *types.Package, change string, compatible bool) Change { return Change{ Message: fmt.Sprintf("package %s: %s", p.Path(), change), Compatible: compatible, } } // Module is a convenience type for representing a Go module with a path and a // slice of Packages contained within. type Module struct { Path string Packages []*types.Package } // relativePath computes the module-relative package path of the given Package. func (m *Module) relativePath(p *types.Package) string { return strings.TrimPrefix(p.Path(), m.Path) } type differ struct { old, new *types.Package // Correspondences between named types. // Even though it is the named types (*types.Named) that correspond, we use // *types.TypeName as a map key because they are canonical. // The values can be either named types or basic types. correspondMap typeutil.Map // Messages. incompatibles messageSet compatibles messageSet } func newDiffer(old, new *types.Package) *differ { return &differ{ old: old, new: new, incompatibles: messageSet{}, compatibles: messageSet{}, } } func (d *differ) incompatible(obj objectWithSide, part, format string, args ...interface{}) { addMessage(d.incompatibles, obj, part, format, args) } func (d *differ) compatible(obj objectWithSide, part, format string, args ...interface{}) { addMessage(d.compatibles, obj, part, format, args) } func addMessage(ms messageSet, obj objectWithSide, part, format string, args []interface{}) { ms.add(obj, part, fmt.Sprintf(format, args...)) } func (d *differ) checkPackage(oldRootPackagePath string) { // Determine what has changed between old and new. // First, establish correspondences between types with the same name, before // looking at aliases. This will avoid confusing messages like "T: changed // from T to T", which can happen if a correspondence between an alias // and a named type is established first. // See testdata/order.go. for _, name := range d.old.Scope().Names() { oldobj := d.old.Scope().Lookup(name) if tn, ok := oldobj.(*types.TypeName); ok { if oldn, ok := tn.Type().(*types.Named); ok { if !oldn.Obj().Exported() { continue } // Does new have a named type of the same name? Look up using // the old named type's name, oldn.Obj().Name(), not the // TypeName tn, which may be an alias. newobj := d.new.Scope().Lookup(oldn.Obj().Name()) if newobj != nil { d.checkObjects(oldobj, newobj) } } } } // Next, look at all exported symbols in the old world and compare them // with the same-named symbols in the new world. for _, name := range d.old.Scope().Names() { oldobj := d.old.Scope().Lookup(name) if !oldobj.Exported() { continue } newobj := d.new.Scope().Lookup(name) if newobj == nil { d.incompatible(objectWithSide{oldobj, false}, "", "removed") continue } d.checkObjects(oldobj, newobj) } // Now look at what has been added in the new package. for _, name := range d.new.Scope().Names() { newobj := d.new.Scope().Lookup(name) if newobj.Exported() && d.old.Scope().Lookup(name) == nil { d.compatible(objectWithSide{newobj, true}, "", "added") } } // Whole-package satisfaction. // For every old exposed interface oIface and its corresponding new interface nIface... d.correspondMap.Iterate(func(k1 types.Type, v1 any) { ot1 := k1.(*types.Named) otn1 := ot1.Obj() nt1 := v1.(types.Type) oIface, ok := otn1.Type().Underlying().(*types.Interface) if !ok { return } nIface, ok := nt1.Underlying().(*types.Interface) if !ok { // If nt1 isn't an interface but otn1 is, then that's an incompatibility that // we've already noticed, so there's no need to do anything here. return } // For every old type that implements oIface, its corresponding new type must implement // nIface. d.correspondMap.Iterate(func(k2 types.Type, v2 any) { ot2 := k2.(*types.Named) otn2 := ot2.Obj() nt2 := v2.(types.Type) if otn1 == otn2 { return } if types.Implements(otn2.Type(), oIface) && !types.Implements(nt2, nIface) { // TODO(jba): the type name is not sufficient information here; we need the type args // if this is an instantiated generic type. d.incompatible(objectWithSide{otn2, false}, "", "no longer implements %s", objectString(otn1, oldRootPackagePath)) } }) }) } func (d *differ) checkObjects(old, new types.Object) { switch old := old.(type) { case *types.Const: if new, ok := new.(*types.Const); ok { d.constChanges(old, new) return } case *types.Var: if new, ok := new.(*types.Var); ok { d.checkCorrespondence(objectWithSide{old, false}, "", old.Type(), new.Type()) return } case *types.Func: switch new := new.(type) { case *types.Func: d.checkCorrespondence(objectWithSide{old, false}, "", old.Type(), new.Type()) return case *types.Var: d.compatible(objectWithSide{old, false}, "", "changed from func to var") d.checkCorrespondence(objectWithSide{old, false}, "", old.Type(), new.Type()) return } case *types.TypeName: if new, ok := new.(*types.TypeName); ok { d.checkCorrespondence(objectWithSide{old, false}, "", old.Type(), new.Type()) return } default: panic("unexpected obj type") } // Here if kind of type changed. d.incompatible(objectWithSide{old, false}, "", "changed from %s to %s", objectKindString(old), objectKindString(new)) } // Compare two constants. func (d *differ) constChanges(old, new *types.Const) { ot := old.Type() nt := new.Type() // Check for change of type. if !d.correspond(ot, nt) { d.typeChanged(objectWithSide{old, false}, "", ot, nt) return } // Check for change of value. // We know the types are the same, so constant.Compare shouldn't panic. if !constant.Compare(old.Val(), token.EQL, new.Val()) { d.incompatible(objectWithSide{old, false}, "", "value changed from %s to %s", old.Val(), new.Val()) } } func objectKindString(obj types.Object) string { switch obj.(type) { case *types.Const: return "const" case *types.Var: return "var" case *types.Func: return "func" case *types.TypeName: return "type" default: return "???" } } func (d *differ) checkCorrespondence(obj objectWithSide, part string, old, new types.Type) { if !d.correspond(old, new) { d.typeChanged(obj, part, old, new) } } func (d *differ) typeChanged(obj objectWithSide, part string, old, new types.Type) { old = removeNamesFromSignature(old) new = removeNamesFromSignature(new) olds := types.TypeString(old, types.RelativeTo(d.old)) news := types.TypeString(new, types.RelativeTo(d.new)) d.incompatible(obj, part, "changed from %s to %s", olds, news) } // go/types always includes the argument and result names when formatting a signature. // Since these can change without affecting compatibility, we don't want users to // be distracted by them, so we remove them. func removeNamesFromSignature(t types.Type) types.Type { sig, ok := t.(*types.Signature) if !ok { return t } dename := func(p *types.Tuple) *types.Tuple { var vars []*types.Var for i := 0; i < p.Len(); i++ { v := p.At(i) vars = append(vars, types.NewVar(v.Pos(), v.Pkg(), "", v.Type())) } return types.NewTuple(vars...) } return types.NewSignature(sig.Recv(), dename(sig.Params()), dename(sig.Results()), sig.Variadic()) } dependencies/pkg/mod/golang.org/x/exp@v0.0.0-20240506185415-9bf2ced13842/apidiff/report.go0000644000000000000000000000260715107355263026172 0ustar rootrootpackage apidiff import ( "bytes" "fmt" "io" ) // Report describes the changes detected by Changes. type Report struct { Changes []Change } // A Change describes a single API change. type Change struct { Message string Compatible bool } func (r Report) messages(compatible bool) []string { var msgs []string for _, c := range r.Changes { if c.Compatible == compatible { msgs = append(msgs, c.Message) } } return msgs } func (r Report) String() string { var buf bytes.Buffer if err := r.Text(&buf); err != nil { return fmt.Sprintf("!!%v", err) } return buf.String() } func (r Report) Text(w io.Writer) error { if err := r.TextIncompatible(w, true); err != nil { return err } return r.TextCompatible(w) } func (r Report) TextIncompatible(w io.Writer, withHeader bool) error { if withHeader { return r.writeMessages(w, "Incompatible changes:", r.messages(false)) } return r.writeMessages(w, "", r.messages(false)) } func (r Report) TextCompatible(w io.Writer) error { return r.writeMessages(w, "Compatible changes:", r.messages(true)) } func (r Report) writeMessages(w io.Writer, header string, msgs []string) error { if len(msgs) == 0 { return nil } if header != "" { if _, err := fmt.Fprintf(w, "%s\n", header); err != nil { return err } } for _, m := range msgs { if _, err := fmt.Fprintf(w, "- %s\n", m); err != nil { return err } } return nil } dependencies/pkg/mod/golang.org/x/exp@v0.0.0-20240506185415-9bf2ced13842/apidiff/messageset.go0000644000000000000000000000655015107355263027020 0ustar rootroot// TODO: show that two-non-empty dotjoin can happen, by using an anon struct as a field type // TODO: don't report removed/changed methods for both value and pointer method sets? package apidiff import ( "fmt" "go/types" "sort" "strings" ) // objectWithSide contains an object, and information on which side (old or new) // of the comparison it relates to. This matters when need to express the object's // package path, relative to the root path of the comparison, as the old and new // sides can have different roots (e.g. comparing somepackage/v2 vs. somepackage/v3). type objectWithSide struct { object types.Object isNew bool } // There can be at most one message for each object or part thereof. // Parts include interface methods and struct fields. // // The part thing is necessary. Method (Func) objects have sufficient info, but field // Vars do not: they just have a field name and a type, without the enclosing struct. type messageSet map[objectWithSide]map[string]string // Add a message for obj and part, overwriting a previous message // (shouldn't happen). // obj is required but part can be empty. func (m messageSet) add(obj objectWithSide, part, msg string) { s := m[obj] if s == nil { s = map[string]string{} m[obj] = s } if f, ok := s[part]; ok && f != msg { fmt.Printf("! second, different message for obj %s, isNew %v, part %q\n", obj.object, obj.isNew, part) fmt.Printf(" first: %s\n", f) fmt.Printf(" second: %s\n", msg) } s[part] = msg } func (m messageSet) collect(oldRootPackagePath, newRootPackagePath string) []string { var s []string for obj, parts := range m { rootPackagePath := oldRootPackagePath if obj.isNew { rootPackagePath = newRootPackagePath } // Format each object name relative to its own package. objstring := objectString(obj.object, rootPackagePath) for part, msg := range parts { var p string if strings.HasPrefix(part, ",") { p = objstring + part } else { p = dotjoin(objstring, part) } s = append(s, p+": "+msg) } } sort.Strings(s) return s } func objectString(obj types.Object, rootPackagePath string) string { thisPackagePath := obj.Pkg().Path() var packagePrefix string if thisPackagePath == rootPackagePath { // obj is in same package as the diff operation root - no prefix packagePrefix = "" } else if strings.HasPrefix(thisPackagePath, rootPackagePath+"/") { // obj is in a child package compared to the diff operation root - use a // prefix starting with "./" to emphasise the relative nature packagePrefix = "./" + thisPackagePath[len(rootPackagePath)+1:] + "." } else { // obj is outside the diff operation root - display full path. This can // happen if there is a need to report a change in a type in an unrelated // package, because it has been used as the underlying type in a type // definition in the package being processed, for example. packagePrefix = thisPackagePath + "." } if f, ok := obj.(*types.Func); ok { sig := f.Type().(*types.Signature) if recv := sig.Recv(); recv != nil { tn := types.TypeString(recv.Type(), types.RelativeTo(obj.Pkg())) if tn[0] == '*' { tn = "(" + tn + ")" } return fmt.Sprintf("%s%s.%s", packagePrefix, tn, obj.Name()) } } return fmt.Sprintf("%s%s", packagePrefix, obj.Name()) } func dotjoin(s1, s2 string) string { if s1 == "" { return s2 } if s2 == "" { return s1 } return s1 + "." + s2 } dependencies/pkg/mod/golang.org/x/exp@v0.0.0-20240506185415-9bf2ced13842/shootout/0000755000000000000000000000000015107355263024605 5ustar rootrootdependencies/pkg/mod/golang.org/x/exp@v0.0.0-20240506185415-9bf2ced13842/shootout/chameneosredux.go0000644000000000000000000001216715107355263030155 0ustar rootroot//go:build ignore // +build ignore /* 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 "The Computer Language Benchmarks Game" nor the name of "The Computer Language Shootout Benchmarks" 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. */ /* The Computer Language Benchmarks Game * http://shootout.alioth.debian.org/ * * contributed by The Go Authors. */ package main import ( "flag" "fmt" "strconv" ) const ( blue = iota red yellow ncol ) var complement = [...]int{ red | red<<2: red, red | yellow<<2: blue, red | blue<<2: yellow, yellow | red<<2: blue, yellow | yellow<<2: yellow, yellow | blue<<2: red, blue | red<<2: yellow, blue | yellow<<2: red, blue | blue<<2: blue, } var colname = [...]string{ blue: "blue", red: "red", yellow: "yellow", } // information about the current state of a creature. type info struct { colour int // creature's current colour. name int // creature's name. } // exclusive access data-structure kept inside meetingplace. // if mate is nil, it indicates there's no creature currently waiting; // otherwise the creature's info is stored in info, and // it is waiting to receive its mate's information on the mate channel. type rendez struct { n int // current number of encounters. mate chan<- info // creature waiting when non-nil. info info // info about creature waiting. } // result sent by each creature at the end of processing. type result struct { met int same int } var n = 600 func main() { flag.Parse() if flag.NArg() > 0 { n, _ = strconv.Atoi(flag.Arg(0)) } for c0 := 0; c0 < ncol; c0++ { for c1 := 0; c1 < ncol; c1++ { fmt.Printf("%s + %s -> %s\n", colname[c0], colname[c1], colname[complement[c0|c1<<2]]) } } fmt.Print("\n") pallmall([]int{blue, red, yellow}) pallmall([]int{blue, red, yellow, red, yellow, blue, red, yellow, red, blue}) } func pallmall(cols []int) { // invariant: meetingplace always contains a value unless a creature // is currently dealing with it (whereupon it must put it back). meetingplace := make(chan rendez, 1) meetingplace <- rendez{n: 0} ended := make(chan result) msg := "" for i, col := range cols { go creature(info{col, i}, meetingplace, ended) msg += " " + colname[col] } fmt.Println(msg) tot := 0 // wait for all results for range cols { result := <-ended tot += result.met fmt.Printf("%v%v\n", result.met, spell(result.same, true)) } fmt.Printf("%v\n\n", spell(tot, true)) } // in this function, variables ending in 0 refer to the local creature, // variables ending in 1 to the creature we've met. func creature(info0 info, meetingplace chan rendez, ended chan result) { c0 := make(chan info) met := 0 same := 0 for { var othername int // get access to rendez data and decide what to do. switch r := <-meetingplace; { case r.n >= n: // if no more meetings left, then send our result data and exit. meetingplace <- rendez{n: r.n} ended <- result{met, same} return case r.mate == nil: // no creature waiting; wait for someone to meet us, // get their info and send our info in reply. meetingplace <- rendez{n: r.n, info: info0, mate: c0} info1 := <-c0 othername = info1.name info0.colour = complement[info0.colour|info1.colour<<2] default: // another creature is waiting for us with its info; // increment meeting count, // send them our info in reply. r.n++ meetingplace <- rendez{n: r.n, mate: nil} r.mate <- info0 othername = r.info.name info0.colour = complement[info0.colour|r.info.colour<<2] } if othername == info0.name { same++ } met++ } } var digits = [...]string{"zero", "one", "two", "three", "four", "five", "six", "seven", "eight", "nine"} func spell(n int, required bool) string { if n == 0 && !required { return "" } return spell(n/10, false) + " " + digits[n%10] } dependencies/pkg/mod/golang.org/x/exp@v0.0.0-20240506185415-9bf2ced13842/shootout/pidigits.txt0000644000000000000000000000005515107355263027162 0ustar rootroot3141592653 :10 5897932384 :20 6264338 :27 ././@LongLink0000644000000000000000000000014700000000000011605 Lustar rootrootdependencies/pkg/mod/golang.org/x/exp@v0.0.0-20240506185415-9bf2ced13842/shootout/fannkuch-parallel.godependencies/pkg/mod/golang.org/x/exp@v0.0.0-20240506185415-9bf2ced13842/shootout/fannkuch-parallel.0000644000000000000000000001114115107355263030173 0ustar rootroot//go:build ignore // +build ignore /* 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 "The Computer Language Benchmarks Game" nor the name of "The Computer Language Shootout Benchmarks" 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. */ /* * The Computer Language Benchmarks Game * http://shootout.alioth.debian.org/ * * contributed by The Go Authors. * Based on fannkuch.scala by Rex Kerr */ package main import ( "flag" "fmt" "runtime" ) var n = flag.Int("n", 7, "count") var nCPU = flag.Int("ncpu", 4, "number of cpus") type Job struct { start []int n int } type Found struct { who *Kucher k int } type Kucher struct { perm []int temp []int flip []int in chan Job } func NewKucher(length int) *Kucher { return &Kucher{ perm: make([]int, length), temp: make([]int, length), flip: make([]int, length), in: make(chan Job), } } func (k *Kucher) permute(n int) bool { i := 0 for ; i < n-1 && k.flip[i] == 0; i++ { t := k.perm[0] j := 0 for ; j <= i; j++ { k.perm[j] = k.perm[j+1] } k.perm[j] = t } k.flip[i]-- for i > 0 { i-- k.flip[i] = i } return k.flip[n-1] >= 0 } func (k *Kucher) count() int { K := 0 copy(k.temp, k.perm) for k.temp[0] != 0 { m := k.temp[0] for i := 0; i < m; i++ { k.temp[i], k.temp[m] = k.temp[m], k.temp[i] m-- } K++ } return K } func (k *Kucher) Run(foreman chan<- Found) { for job := range k.in { verbose := 30 copy(k.perm, job.start) for i, v := range k.perm { if v != i { verbose = 0 } k.flip[i] = i } K := 0 for { if verbose > 0 { for _, p := range k.perm { fmt.Print(p + 1) } fmt.Println() verbose-- } count := k.count() if count > K { K = count } if !k.permute(job.n) { break } } foreman <- Found{k, K} } } type Fanner struct { jobind int jobsdone int k int jobs []Job workers []*Kucher in chan Found result chan int } func NewFanner(jobs []Job, workers []*Kucher) *Fanner { return &Fanner{ jobs: jobs, workers: workers, in: make(chan Found), result: make(chan int), } } func (f *Fanner) Run(N int) { for msg := range f.in { if msg.k > f.k { f.k = msg.k } if msg.k >= 0 { f.jobsdone++ } if f.jobind < len(f.jobs) { msg.who.in <- f.jobs[f.jobind] f.jobind++ } else if f.jobsdone == len(f.jobs) { f.result <- f.k return } } } func swapped(a []int, i, j int) []int { b := make([]int, len(a)) copy(b, a) b[i], b[j] = a[j], a[i] return b } func main() { flag.Parse() runtime.GOMAXPROCS(*nCPU) N := *n base := make([]int, N) for i := range base { base[i] = i } njobs := 1 if N > 8 { njobs += (N*(N-1))/2 - 28 // njobs = 1 + sum(8..N-1) = 1 + sum(1..N-1) - sum(1..7) } jobs := make([]Job, njobs) jobsind := 0 firstN := N if firstN > 8 { firstN = 8 } jobs[jobsind] = Job{base, firstN} jobsind++ for i := N - 1; i >= 8; i-- { for j := 0; j < i; j++ { jobs[jobsind] = Job{swapped(base, i, j), i} jobsind++ } } nworkers := *nCPU if njobs < nworkers { nworkers = njobs } workers := make([]*Kucher, nworkers) foreman := NewFanner(jobs, workers) go foreman.Run(N) for i := range workers { k := NewKucher(N) workers[i] = k go k.Run(foreman.in) foreman.in <- Found{k, -1} } fmt.Printf("Pfannkuchen(%d) = %d\n", N, <-foreman.result) } ././@LongLink0000644000000000000000000000015000000000000011577 Lustar rootrootdependencies/pkg/mod/golang.org/x/exp@v0.0.0-20240506185415-9bf2ced13842/shootout/fannkuch-parallel.txtdependencies/pkg/mod/golang.org/x/exp@v0.0.0-20240506185415-9bf2ced13842/shootout/fannkuch-parallel.0000644000000000000000000000040415107355263030173 0ustar rootroot1234567 2134567 2314567 3214567 3124567 1324567 2341567 3241567 3421567 4321567 4231567 2431567 3412567 4312567 4132567 1432567 1342567 3142567 4123567 1423567 1243567 2143567 2413567 4213567 2345167 3245167 3425167 4325167 4235167 2435167 Pfannkuchen(7) = 16 dependencies/pkg/mod/golang.org/x/exp@v0.0.0-20240506185415-9bf2ced13842/shootout/mandelbrot.go0000644000000000000000000000521715107355263027270 0ustar rootroot//go:build ignore // +build ignore /* 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 "The Computer Language Benchmarks Game" nor the name of "The Computer Language Shootout Benchmarks" 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. */ /* The Computer Language Benchmarks Game * http://shootout.alioth.debian.org/ * * contributed by The Go Authors. * Based on mandelbrot.c contributed by Greg Buchholz */ package main import ( "bufio" "flag" "fmt" "os" ) var n = flag.Int("n", 200, "size") func main() { flag.Parse() out := bufio.NewWriter(os.Stdout) defer out.Flush() w := float64(*n) h := float64(*n) bit_num := 0 byte_acc := byte(0) const Iter = 50 const Zero float64 = 0 const Limit = 2.0 fmt.Fprintf(out, "P4\n%d %d\n", *n, *n) for y := 0.0; y < h; y++ { for x := 0.0; x < w; x++ { Zr, Zi, Tr, Ti := Zero, Zero, Zero, Zero Cr := (2*x/w - 1.5) Ci := (2*y/h - 1.0) for i := 0; i < Iter && (Tr+Ti <= Limit*Limit); i++ { Zi = 2*Zr*Zi + Ci Zr = Tr - Ti + Cr Tr = Zr * Zr Ti = Zi * Zi } byte_acc <<= 1 if Tr+Ti <= Limit*Limit { byte_acc |= 0x01 } bit_num++ if bit_num == 8 { out.WriteByte(byte_acc) byte_acc = 0 bit_num = 0 } else if x == w-1 { byte_acc <<= uint(8 - uint(*n)%8) out.WriteByte(byte_acc) byte_acc = 0 bit_num = 0 } } } } dependencies/pkg/mod/golang.org/x/exp@v0.0.0-20240506185415-9bf2ced13842/shootout/k-nucleotide.go0000644000000000000000000000706515107355263027527 0ustar rootroot//go:build ignore // +build ignore /* 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 "The Computer Language Benchmarks Game" nor the name of "The Computer Language Shootout Benchmarks" 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. */ /* The Computer Language Benchmarks Game * http://shootout.alioth.debian.org/ * * contributed by The Go Authors. */ package main import ( "bufio" "bytes" "fmt" "io" "os" "sort" ) var in *bufio.Reader func count(data string, n int) map[string]int { counts := make(map[string]int) top := len(data) - n for i := 0; i <= top; i++ { s := data[i : i+n] counts[s]++ } return counts } func countOne(data string, s string) int { return count(data, len(s))[s] } type kNuc struct { name string count int } type kNucArray []kNuc func (kn kNucArray) Len() int { return len(kn) } func (kn kNucArray) Swap(i, j int) { kn[i], kn[j] = kn[j], kn[i] } func (kn kNucArray) Less(i, j int) bool { if kn[i].count == kn[j].count { return kn[i].name > kn[j].name // sort down } return kn[i].count > kn[j].count } func sortedArray(m map[string]int) kNucArray { kn := make(kNucArray, len(m)) i := 0 for k, v := range m { kn[i].name = k kn[i].count = v i++ } sort.Sort(kn) return kn } func print(m map[string]int) { a := sortedArray(m) sum := 0 for _, kn := range a { sum += kn.count } for _, kn := range a { fmt.Printf("%s %.3f\n", kn.name, 100*float64(kn.count)/float64(sum)) } } func main() { in = bufio.NewReader(os.Stdin) three := []byte(">THREE ") for { line, err := in.ReadSlice('\n') if err != nil { fmt.Fprintln(os.Stderr, "ReadLine err:", err) os.Exit(2) } if line[0] == '>' && bytes.Equal(line[0:len(three)], three) { break } } data, err := io.ReadAll(in) if err != nil { fmt.Fprintln(os.Stderr, "ReadAll err:", err) os.Exit(2) } // delete the newlines and convert to upper case j := 0 for i := 0; i < len(data); i++ { if data[i] != '\n' { data[j] = data[i] &^ ' ' // upper case j++ } } str := string(data[0:j]) print(count(str, 1)) fmt.Print("\n") print(count(str, 2)) fmt.Print("\n") interests := []string{"GGT", "GGTA", "GGTATT", "GGTATTTTAATT", "GGTATTTTAATTTATAGT"} for _, s := range interests { fmt.Printf("%d %s\n", countOne(str, s), s) } } dependencies/pkg/mod/golang.org/x/exp@v0.0.0-20240506185415-9bf2ced13842/shootout/meteor-contest.go0000644000000000000000000004307515107355263030115 0ustar rootroot//go:build ignore // +build ignore /* 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 "The Computer Language Benchmarks Game" nor the name of "The Computer Language Shootout Benchmarks" 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. */ /* The Computer Language Benchmarks Game * http://shootout.alioth.debian.org/ * * contributed by The Go Authors. * based on meteor-contest.c by Christian Vosteen */ package main import ( "flag" "fmt" ) var max_solutions = flag.Int("n", 2100, "maximum number of solutions") func boolInt(b bool) int8 { if b { return 1 } return 0 } /* The board is a 50 cell hexagonal pattern. For . . . . . * maximum speed the board will be implemented as . . . . . * 50 bits, which will fit into a 64 bit long long . . . . . * int. . . . . . * . . . . . * I will represent 0's as empty cells and 1's . . . . . * as full cells. . . . . . * . . . . . * . . . . . * . . . . . */ var board uint64 = 0xFFFC000000000000 /* The puzzle pieces must be specified by the path followed * from one end to the other along 12 hexagonal directions. * * Piece 0 Piece 1 Piece 2 Piece 3 Piece 4 * * O O O O O O O O O O O O O O O * O O O O O O O * O O O * * Piece 5 Piece 6 Piece 7 Piece 8 Piece 9 * * O O O O O O O O O O O O O * O O O O O O O O O * O O O * * I had to make it 12 directions because I wanted all of the * piece definitions to fit into the same size arrays. It is * not possible to define piece 4 in terms of the 6 cardinal * directions in 4 moves. */ const ( E = iota ESE SE S SW WSW W WNW NW N NE ENE PIVOT ) var piece_def = [10][4]int8{ [4]int8{E, E, E, SE}, [4]int8{SE, E, NE, E}, [4]int8{E, E, SE, SW}, [4]int8{E, E, SW, SE}, [4]int8{SE, E, NE, S}, [4]int8{E, E, SW, E}, [4]int8{E, SE, SE, NE}, [4]int8{E, SE, SE, W}, [4]int8{E, SE, E, E}, [4]int8{E, E, E, SW}, } /* To minimize the amount of work done in the recursive solve function below, * I'm going to allocate enough space for all legal rotations of each piece * at each position on the board. That's 10 pieces x 50 board positions x * 12 rotations. However, not all 12 rotations will fit on every cell, so * I'll have to keep count of the actual number that do. * The pieces are going to be unsigned long long ints just like the board so * they can be bitwise-anded with the board to determine if they fit. * I'm also going to record the next possible open cell for each piece and * location to reduce the burden on the solve function. */ var ( pieces [10][50][12]uint64 piece_counts [10][50]int next_cell [10][50][12]int8 ) /* Returns the direction rotated 60 degrees clockwise */ func rotate(dir int8) int8 { return (dir + 2) % PIVOT } /* Returns the direction flipped on the horizontal axis */ func flip(dir int8) int8 { return (PIVOT - dir) % PIVOT } /* Returns the new cell index from the specified cell in the * specified direction. The index is only valid if the * starting cell and direction have been checked by the * out_of_bounds function first. */ func shift(cell, dir int8) int8 { switch dir { case E: return cell + 1 case ESE: if ((cell / 5) % 2) != 0 { return cell + 7 } else { return cell + 6 } case SE: if ((cell / 5) % 2) != 0 { return cell + 6 } else { return cell + 5 } case S: return cell + 10 case SW: if ((cell / 5) % 2) != 0 { return cell + 5 } else { return cell + 4 } case WSW: if ((cell / 5) % 2) != 0 { return cell + 4 } else { return cell + 3 } case W: return cell - 1 case WNW: if ((cell / 5) % 2) != 0 { return cell - 6 } else { return cell - 7 } case NW: if ((cell / 5) % 2) != 0 { return cell - 5 } else { return cell - 6 } case N: return cell - 10 case NE: if ((cell / 5) % 2) != 0 { return cell - 4 } else { return cell - 5 } case ENE: if ((cell / 5) % 2) != 0 { return cell - 3 } else { return cell - 4 } } return cell } /* Returns wether the specified cell and direction will land outside * of the board. Used to determine if a piece is at a legal board * location or not. */ func out_of_bounds(cell, dir int8) bool { switch dir { case E: return cell%5 == 4 case ESE: i := cell % 10 return i == 4 || i == 8 || i == 9 || cell >= 45 case SE: return cell%10 == 9 || cell >= 45 case S: return cell >= 40 case SW: return cell%10 == 0 || cell >= 45 case WSW: i := cell % 10 return i == 0 || i == 1 || i == 5 || cell >= 45 case W: return cell%5 == 0 case WNW: i := cell % 10 return i == 0 || i == 1 || i == 5 || cell < 5 case NW: return cell%10 == 0 || cell < 5 case N: return cell < 10 case NE: return cell%10 == 9 || cell < 5 case ENE: i := cell % 10 return i == 4 || i == 8 || i == 9 || cell < 5 } return false } /* Rotate a piece 60 degrees clockwise */ func rotate_piece(piece int) { for i := 0; i < 4; i++ { piece_def[piece][i] = rotate(piece_def[piece][i]) } } /* Flip a piece along the horizontal axis */ func flip_piece(piece int) { for i := 0; i < 4; i++ { piece_def[piece][i] = flip(piece_def[piece][i]) } } /* Convenience function to quickly calculate all of the indices for a piece */ func calc_cell_indices(cell []int8, piece int, index int8) { cell[0] = index for i := 1; i < 5; i++ { cell[i] = shift(cell[i-1], piece_def[piece][i-1]) } } /* Convenience function to quickly calculate if a piece fits on the board */ func cells_fit_on_board(cell []int8, piece int) bool { return !out_of_bounds(cell[0], piece_def[piece][0]) && !out_of_bounds(cell[1], piece_def[piece][1]) && !out_of_bounds(cell[2], piece_def[piece][2]) && !out_of_bounds(cell[3], piece_def[piece][3]) } /* Returns the lowest index of the cells of a piece. * I use the lowest index that a piece occupies as the index for looking up * the piece in the solve function. */ func minimum_of_cells(cell []int8) int8 { minimum := cell[0] for i := 1; i < 5; i++ { if cell[i] < minimum { minimum = cell[i] } } return minimum } /* Calculate the lowest possible open cell if the piece is placed on the board. * Used to later reduce the amount of time searching for open cells in the * solve function. */ func first_empty_cell(cell []int8, minimum int8) int8 { first_empty := minimum for first_empty == cell[0] || first_empty == cell[1] || first_empty == cell[2] || first_empty == cell[3] || first_empty == cell[4] { first_empty++ } return first_empty } /* Generate the unsigned long long int that will later be anded with the * board to determine if it fits. */ func bitmask_from_cells(cell []int8) uint64 { var piece_mask uint64 for i := 0; i < 5; i++ { piece_mask |= 1 << uint(cell[i]) } return piece_mask } /* Record the piece and other important information in arrays that will * later be used by the solve function. */ func record_piece(piece int, minimum int8, first_empty int8, piece_mask uint64) { pieces[piece][minimum][piece_counts[piece][minimum]] = piece_mask next_cell[piece][minimum][piece_counts[piece][minimum]] = first_empty piece_counts[piece][minimum]++ } /* Fill the entire board going cell by cell. If any cells are "trapped" * they will be left alone. */ func fill_contiguous_space(board []int8, index int8) { if board[index] == 1 { return } board[index] = 1 if !out_of_bounds(index, E) { fill_contiguous_space(board, shift(index, E)) } if !out_of_bounds(index, SE) { fill_contiguous_space(board, shift(index, SE)) } if !out_of_bounds(index, SW) { fill_contiguous_space(board, shift(index, SW)) } if !out_of_bounds(index, W) { fill_contiguous_space(board, shift(index, W)) } if !out_of_bounds(index, NW) { fill_contiguous_space(board, shift(index, NW)) } if !out_of_bounds(index, NE) { fill_contiguous_space(board, shift(index, NE)) } } /* To thin the number of pieces, I calculate if any of them trap any empty * cells at the edges. There are only a handful of exceptions where the * the board can be solved with the trapped cells. For example: piece 8 can * trap 5 cells in the corner, but piece 3 can fit in those cells, or piece 0 * can split the board in half where both halves are viable. */ func has_island(cell []int8, piece int) bool { temp_board := make([]int8, 50) var i int for i = 0; i < 5; i++ { temp_board[cell[i]] = 1 } i = 49 for temp_board[i] == 1 { i-- } fill_contiguous_space(temp_board, int8(i)) c := 0 for i = 0; i < 50; i++ { if temp_board[i] == 0 { c++ } } if c == 0 || (c == 5 && piece == 8) || (c == 40 && piece == 8) || (c%5 == 0 && piece == 0) { return false } return true } /* Calculate all six rotations of the specified piece at the specified index. * We calculate only half of piece 3's rotations. This is because any solution * found has an identical solution rotated 180 degrees. Thus we can reduce the * number of attempted pieces in the solve algorithm by not including the 180- * degree-rotated pieces of ONE of the pieces. I chose piece 3 because it gave * me the best time ;) */ func calc_six_rotations(piece, index int) { cell := make([]int8, 5) for rotation := 0; rotation < 6; rotation++ { if piece != 3 || rotation < 3 { calc_cell_indices(cell, piece, int8(index)) if cells_fit_on_board(cell, piece) && !has_island(cell, piece) { minimum := minimum_of_cells(cell) first_empty := first_empty_cell(cell, minimum) piece_mask := bitmask_from_cells(cell) record_piece(piece, minimum, first_empty, piece_mask) } } rotate_piece(piece) } } /* Calculate every legal rotation for each piece at each board location. */ func calc_pieces() { for piece := 0; piece < 10; piece++ { for index := 0; index < 50; index++ { calc_six_rotations(piece, index) flip_piece(piece) calc_six_rotations(piece, index) } } } /* Calculate all 32 possible states for a 5-bit row and all rows that will * create islands that follow any of the 32 possible rows. These pre- * calculated 5-bit rows will be used to find islands in a partially solved * board in the solve function. */ const ( ROW_MASK = 0x1F TRIPLE_MASK = 0x7FFF ) var ( all_rows = [32]int8{0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, } bad_even_rows [32][32]int8 bad_odd_rows [32][32]int8 bad_even_triple [32768]int8 bad_odd_triple [32768]int8 ) func rows_bad(row1, row2 int8, even bool) int8 { /* even is referring to row1 */ var row2_shift int8 /* Test for blockages at same index and shifted index */ if even { row2_shift = ((row2 << 1) & ROW_MASK) | 0x01 } else { row2_shift = (row2 >> 1) | 0x10 } block := ((row1 ^ row2) & row2) & ((row1 ^ row2_shift) & row2_shift) /* Test for groups of 0's */ in_zeroes := false group_okay := false for i := uint8(0); i < 5; i++ { if row1&(1<= 40 { return 0 } current_triple := (board >> uint((cell/5)*5)) & TRIPLE_MASK if (cell/5)%2 != 0 { return bad_odd_triple[current_triple] } return bad_even_triple[current_triple] } /* The recursive solve algorithm. Try to place each permutation in the upper- * leftmost empty cell. Mark off available pieces as it goes along. * Because the board is a bit mask, the piece number and bit mask must be saved * at each successful piece placement. This data is used to create a 50 char * array if a solution is found. */ var ( avail uint16 = 0x03FF sol_nums [10]int8 sol_masks [10]uint64 solutions [2100][50]int8 solution_count = 0 ) func record_solution() { for sol_no := 0; sol_no < 10; sol_no++ { sol_mask := sol_masks[sol_no] for index := 0; index < 50; index++ { if sol_mask&1 == 1 { solutions[solution_count][index] = sol_nums[sol_no] /* Board rotated 180 degrees is a solution too! */ solutions[solution_count+1][49-index] = sol_nums[sol_no] } sol_mask = sol_mask >> 1 } } solution_count += 2 } func solve(depth, cell int8) { if solution_count >= *max_solutions { return } for board&(1< s { largest = candidate } break } } return } func main() { flag.Parse() calc_pieces() calc_rows() solve(0, 0) fmt.Printf("%d solutions found\n\n", solution_count) smallest, largest := smallest_largest() pretty(smallest) pretty(largest) } dependencies/pkg/mod/golang.org/x/exp@v0.0.0-20240506185415-9bf2ced13842/shootout/regex-dna.c0000644000000000000000000001152215107355263026624 0ustar rootroot// +build ignore /* 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 "The Computer Language Benchmarks Game" nor the name of "The Computer Language Shootout Benchmarks" 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. */ /* ** The Computer Language Shootout ** http://shootout.alioth.debian.org/ ** contributed by Mike Pall ** ** regex-dna benchmark using PCRE ** ** compile with: ** gcc -O3 -fomit-frame-pointer -o regexdna regexdna.c -lpcre */ #define __USE_STRING_INLINES #include #include #include #include typedef struct fbuf { char *buf; size_t size, len; } fbuf_t; static void fb_init(fbuf_t *b) { b->buf = NULL; b->len = b->size = 0; } static char *fb_need(fbuf_t *b, size_t need) { need += b->len; if (need > b->size) { if (b->size == 0) b->size = need; else while (need > b->size) b->size += b->size; if (!(b->buf = realloc(b->buf, b->size))) exit(1); } return b->buf+b->len; } #define FB_MINREAD (3<<16) /* Read all of a stdio stream into dst buffer. */ static size_t fb_readall(fbuf_t *dst, FILE *fp) { char *dp; int n; for (dp = fb_need(dst, FB_MINREAD); (n = fread(dp, 1, dst->size-dst->len, fp)) > 0; dp = fb_need(dst, FB_MINREAD)) dst->len += n; if (ferror(fp)) exit(1); return dst->len; } /* Substitute pattern p with replacement r, copying from src to dst buffer. */ static size_t fb_subst(fbuf_t *dst, fbuf_t *src, const char *p, const char *r) { pcre *re; pcre_extra *re_ex; const char *re_e; char *dp; int re_eo, m[3], pos, rlen, clen; if (!(re = pcre_compile(p, PCRE_CASELESS, &re_e, &re_eo, NULL))) exit(1); re_ex = pcre_study(re, 0, &re_e); for (dst->len = 0, rlen = strlen(r), pos = 0; pcre_exec(re, re_ex, src->buf, src->len, pos, 0, m, 3) >= 0; pos = m[1]) { clen = m[0]-pos; dp = fb_need(dst, clen+rlen); dst->len += clen+rlen; memcpy(dp, src->buf+pos, clen); memcpy(dp+clen, r, rlen); } clen = src->len-pos; dp = fb_need(dst, clen); dst->len += clen; memcpy(dp, src->buf+pos, clen); return dst->len; } /* Count all matches with pattern p in src buffer. */ static int fb_countmatches(fbuf_t *src, const char *p) { pcre *re; pcre_extra *re_ex; const char *re_e; int re_eo, m[3], pos, count; if (!(re = pcre_compile(p, PCRE_CASELESS, &re_e, &re_eo, NULL))) exit(1); re_ex = pcre_study(re, 0, &re_e); for (count = 0, pos = 0; pcre_exec(re, re_ex, src->buf, src->len, pos, 0, m, 3) >= 0; pos = m[1]) count++; return count; } static const char *variants[] = { "agggtaaa|tttaccct", "[cgt]gggtaaa|tttaccc[acg]", "a[act]ggtaaa|tttacc[agt]t", "ag[act]gtaaa|tttac[agt]ct", "agg[act]taaa|ttta[agt]cct", "aggg[acg]aaa|ttt[cgt]ccct", "agggt[cgt]aa|tt[acg]accct", "agggta[cgt]a|t[acg]taccct", "agggtaa[cgt]|[acg]ttaccct", NULL }; static const char *subst[] = { "B", "(c|g|t)", "D", "(a|g|t)", "H", "(a|c|t)", "K", "(g|t)", "M", "(a|c)", "N", "(a|c|g|t)", "R", "(a|g)", "S", "(c|g)", "V", "(a|c|g)", "W", "(a|t)", "Y", "(c|t)", NULL }; int main(int argc, char **argv) { fbuf_t seq[2]; const char **pp; size_t ilen, clen, slen; int flip; fb_init(&seq[0]); fb_init(&seq[1]); ilen = fb_readall(&seq[0], stdin); clen = fb_subst(&seq[1], &seq[0], ">.*|\n", ""); for (pp = variants; *pp; pp++) printf("%s %d\n", *pp, fb_countmatches(&seq[1], *pp)); for (slen = 0, flip = 1, pp = subst; *pp; pp += 2, flip = 1-flip) slen = fb_subst(&seq[1-flip], &seq[flip], *pp, pp[1]); printf("\n%zu\n%zu\n%zu\n", ilen, clen, slen); return 0; } dependencies/pkg/mod/golang.org/x/exp@v0.0.0-20240506185415-9bf2ced13842/shootout/mandelbrot.txt0000644000000000000000000001162315107355263027500 0ustar rootrootP4 200 200 z||| ?@@ AhzxB|x@ b@? '# E_? `xz?s2~/p??/?5??????????5?/??~/p?s2zx `?_E #' ?b@ x@B|zxhA @@? |||zdependencies/pkg/mod/golang.org/x/exp@v0.0.0-20240506185415-9bf2ced13842/shootout/threadring.txt0000644000000000000000000000000415107355263027467 0ustar rootroot498 dependencies/pkg/mod/golang.org/x/exp@v0.0.0-20240506185415-9bf2ced13842/shootout/k-nucleotide.txt0000644000000000000000000000036215107355263027732 0ustar rootrootT 31.520 A 29.600 C 19.480 G 19.400 AT 9.922 TT 9.602 TA 9.402 AA 8.402 GA 6.321 TC 6.301 TG 6.201 GT 6.041 CT 5.961 AG 5.841 CA 5.461 AC 5.441 CC 4.041 CG 4.021 GC 3.701 GG 3.341 54 GGT 24 GGTA 4 GGTATT 0 GGTATTTTAATT 0 GGTATTTTAATTTATAGT dependencies/pkg/mod/golang.org/x/exp@v0.0.0-20240506185415-9bf2ced13842/shootout/k-nucleotide.c0000644000000000000000000001274315107355263027343 0ustar rootroot// +build ignore /* 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 "The Computer Language Benchmarks Game" nor the name of "The Computer Language Shootout Benchmarks" 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. */ #include #include #include #include #include typedef struct stat_s stat_t; struct stat_s { const gchar *key; long stat; }; #define MAX_ELM (8192 / sizeof (stat_t)) static int generate_frequencies (int fl, char *buffer, long buflen, GHashTable *ht, GTrashStack **ts, GPtrArray *roots, GStringChunk *sc) { gchar *key; long i; if (fl > buflen) return 0; if (fl == 0) return 0; for (i = 0; i < buflen - fl + 1; ++i) { char nulled; stat_t *stat; nulled = buffer[i + fl]; buffer[i + fl] = '\0'; key = g_string_chunk_insert_const(sc, buffer + i); stat = g_hash_table_lookup(ht, key); if (!stat) { stat = g_trash_stack_pop(ts); if (!stat) { int j; stat = malloc(sizeof (stat_t) * MAX_ELM); g_ptr_array_add(roots, stat); for (j = 1; j < MAX_ELM; ++j) g_trash_stack_push(ts, stat + j); } stat->stat = 1; stat->key = key; g_hash_table_insert(ht, key, stat); } else stat->stat++; buffer[i + fl] = nulled; } return buflen - fl + 1; } static int cmp_func(gconstpointer a, gconstpointer b) { const stat_t *left = a; const stat_t *right = b; return right->stat - left->stat; } static void sorted_list(gpointer key, gpointer value, gpointer user_data) { stat_t *data = value; GList **lst = user_data; *lst = g_list_insert_sorted(*lst, data, cmp_func); } static void display_stat(gpointer data, gpointer user_data) { long *total = user_data; stat_t *st = data; printf("%s %.3f\n", st->key, 100 * (float) st->stat / *total); } void write_frequencies (int fl, char *buffer, long buflen, GTrashStack **ts, GPtrArray *roots) { GStringChunk *sc; GHashTable *ht; GList *lst; long total; ht = g_hash_table_new_full(g_str_hash, g_str_equal, NULL /* free key */, NULL /* free value */); sc = g_string_chunk_new(buflen); lst = NULL; total = generate_frequencies (fl, buffer, buflen, ht, ts, roots, sc); if (!total) goto on_error; g_hash_table_foreach(ht, sorted_list, &lst); g_list_foreach(lst, display_stat, &total); g_list_free(lst); on_error: g_hash_table_destroy(ht); g_string_chunk_free(sc); } void write_count (char *searchFor, char *buffer, long buflen, GTrashStack **ts, GPtrArray *roots) { GStringChunk *sc; GHashTable *ht; stat_t *result; GList *lst; long total; long fl; fl = strlen(searchFor); ht = g_hash_table_new_full(g_str_hash, g_str_equal, NULL /* free key */, NULL /* free value */); sc = g_string_chunk_new(buflen); lst = NULL; result = NULL; total = generate_frequencies (fl, buffer, buflen, ht, ts, roots, sc); if (!total) goto on_error; result = g_hash_table_lookup(ht, searchFor); on_error: printf("%ld\t%s\n", result ? result->stat : 0, searchFor); g_hash_table_destroy(ht); g_string_chunk_free(sc); } int main () { char buffer[4096]; GTrashStack *ts; GPtrArray *roots; GString *stuff; gchar *s; int len; roots = g_ptr_array_new(); ts = NULL; while (fgets(buffer, sizeof (buffer), stdin)) if (strncmp(buffer, ">THREE", 6) == 0) break; stuff = g_string_new(NULL); while (fgets(buffer, sizeof (buffer), stdin)) { size_t sz; if (buffer[0] == '>') break; sz = strlen(buffer); if (buffer[sz - 1] == '\n') --sz; stuff = g_string_append_len(stuff, buffer, sz); } stuff = g_string_ascii_up(stuff); len = stuff->len; s = g_string_free(stuff, FALSE); write_frequencies(1, s, len, &ts, roots); printf("\n"); write_frequencies(2, s, len, &ts, roots); printf("\n"); write_count("GGT", s, len, &ts, roots); write_count("GGTA", s, len, &ts, roots); write_count("GGTATT", s, len, &ts, roots); write_count("GGTATTTTAATT", s, len, &ts, roots); write_count("GGTATTTTAATTTATAGT", s, len, &ts, roots); free(s); g_ptr_array_foreach(roots, (GFunc)free, NULL); g_ptr_array_free(roots, TRUE); return 0; } dependencies/pkg/mod/golang.org/x/exp@v0.0.0-20240506185415-9bf2ced13842/shootout/nbody.c0000644000000000000000000001233215107355263026065 0ustar rootroot// +build ignore /* 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 "The Computer Language Benchmarks Game" nor the name of "The Computer Language Shootout Benchmarks" 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. */ /* * The Great Computer Language Shootout * http://shootout.alioth.debian.org/ * * contributed by Christoph Bauer * */ #include #include #include #define pi 3.141592653589793 #define solar_mass (4 * pi * pi) #define days_per_year 365.24 struct planet { double x, y, z; double vx, vy, vz; double mass; }; void advance(int nbodies, struct planet * bodies, double dt) { int i, j; for (i = 0; i < nbodies; i++) { struct planet * b = &(bodies[i]); for (j = i + 1; j < nbodies; j++) { struct planet * b2 = &(bodies[j]); double dx = b->x - b2->x; double dy = b->y - b2->y; double dz = b->z - b2->z; double distance = sqrt(dx * dx + dy * dy + dz * dz); double mag = dt / (distance * distance * distance); b->vx -= dx * b2->mass * mag; b->vy -= dy * b2->mass * mag; b->vz -= dz * b2->mass * mag; b2->vx += dx * b->mass * mag; b2->vy += dy * b->mass * mag; b2->vz += dz * b->mass * mag; } } for (i = 0; i < nbodies; i++) { struct planet * b = &(bodies[i]); b->x += dt * b->vx; b->y += dt * b->vy; b->z += dt * b->vz; } } double energy(int nbodies, struct planet * bodies) { double e; int i, j; e = 0.0; for (i = 0; i < nbodies; i++) { struct planet * b = &(bodies[i]); e += 0.5 * b->mass * (b->vx * b->vx + b->vy * b->vy + b->vz * b->vz); for (j = i + 1; j < nbodies; j++) { struct planet * b2 = &(bodies[j]); double dx = b->x - b2->x; double dy = b->y - b2->y; double dz = b->z - b2->z; double distance = sqrt(dx * dx + dy * dy + dz * dz); e -= (b->mass * b2->mass) / distance; } } return e; } void offset_momentum(int nbodies, struct planet * bodies) { double px = 0.0, py = 0.0, pz = 0.0; int i; for (i = 0; i < nbodies; i++) { px += bodies[i].vx * bodies[i].mass; py += bodies[i].vy * bodies[i].mass; pz += bodies[i].vz * bodies[i].mass; } bodies[0].vx = - px / solar_mass; bodies[0].vy = - py / solar_mass; bodies[0].vz = - pz / solar_mass; } #define NBODIES 5 struct planet bodies[NBODIES] = { { /* sun */ 0, 0, 0, 0, 0, 0, solar_mass }, { /* jupiter */ 4.84143144246472090e+00, -1.16032004402742839e+00, -1.03622044471123109e-01, 1.66007664274403694e-03 * days_per_year, 7.69901118419740425e-03 * days_per_year, -6.90460016972063023e-05 * days_per_year, 9.54791938424326609e-04 * solar_mass }, { /* saturn */ 8.34336671824457987e+00, 4.12479856412430479e+00, -4.03523417114321381e-01, -2.76742510726862411e-03 * days_per_year, 4.99852801234917238e-03 * days_per_year, 2.30417297573763929e-05 * days_per_year, 2.85885980666130812e-04 * solar_mass }, { /* uranus */ 1.28943695621391310e+01, -1.51111514016986312e+01, -2.23307578892655734e-01, 2.96460137564761618e-03 * days_per_year, 2.37847173959480950e-03 * days_per_year, -2.96589568540237556e-05 * days_per_year, 4.36624404335156298e-05 * solar_mass }, { /* neptune */ 1.53796971148509165e+01, -2.59193146099879641e+01, 1.79258772950371181e-01, 2.68067772490389322e-03 * days_per_year, 1.62824170038242295e-03 * days_per_year, -9.51592254519715870e-05 * days_per_year, 5.15138902046611451e-05 * solar_mass } }; int main(int argc, char ** argv) { int n = atoi(argv[1]); int i; offset_momentum(NBODIES, bodies); printf ("%.9f\n", energy(NBODIES, bodies)); for (i = 1; i <= n; i++) advance(NBODIES, bodies, 0.01); printf ("%.9f\n", energy(NBODIES, bodies)); return 0; } dependencies/pkg/mod/golang.org/x/exp@v0.0.0-20240506185415-9bf2ced13842/shootout/spectral-norm.c0000644000000000000000000000513615107355263027544 0ustar rootroot// +build ignore /* 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 "The Computer Language Benchmarks Game" nor the name of "The Computer Language Shootout Benchmarks" 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. */ /* -*- mode: c -*- * * The Great Computer Language Shootout * http://shootout.alioth.debian.org/ * * Contributed by Sebastien Loisel */ #include #include #include double eval_A(int i, int j) { return 1.0/((i+j)*(i+j+1)/2+i+1); } void eval_A_times_u(int N, const double u[], double Au[]) { int i,j; for(i=0;i #include #define TRUE 1 #define FALSE 0 /* The board is a 50 cell hexagonal pattern. For . . . . . * maximum speed the board will be implemented as . . . . . * 50 bits, which will fit into a 64 bit long long . . . . . * int. . . . . . * . . . . . * I will represent 0's as empty cells and 1's . . . . . * as full cells. . . . . . * . . . . . * . . . . . * . . . . . */ unsigned long long board = 0xFFFC000000000000ULL; /* The puzzle pieces must be specified by the path followed * from one end to the other along 12 hexagonal directions. * * Piece 0 Piece 1 Piece 2 Piece 3 Piece 4 * * O O O O O O O O O O O O O O O * O O O O O O O * O O O * * Piece 5 Piece 6 Piece 7 Piece 8 Piece 9 * * O O O O O O O O O O O O O * O O O O O O O O O * O O O * * I had to make it 12 directions because I wanted all of the * piece definitions to fit into the same size arrays. It is * not possible to define piece 4 in terms of the 6 cardinal * directions in 4 moves. */ #define E 0 #define ESE 1 #define SE 2 #define S 3 #define SW 4 #define WSW 5 #define W 6 #define WNW 7 #define NW 8 #define N 9 #define NE 10 #define ENE 11 #define PIVOT 12 char piece_def[10][4] = { { E, E, E, SE}, { SE, E, NE, E}, { E, E, SE, SW}, { E, E, SW, SE}, { SE, E, NE, S}, { E, E, SW, E}, { E, SE, SE, NE}, { E, SE, SE, W}, { E, SE, E, E}, { E, E, E, SW} }; /* To minimize the amount of work done in the recursive solve function below, * I'm going to allocate enough space for all legal rotations of each piece * at each position on the board. That's 10 pieces x 50 board positions x * 12 rotations. However, not all 12 rotations will fit on every cell, so * I'll have to keep count of the actual number that do. * The pieces are going to be unsigned long long ints just like the board so * they can be bitwise-anded with the board to determine if they fit. * I'm also going to record the next possible open cell for each piece and * location to reduce the burden on the solve function. */ unsigned long long pieces[10][50][12]; int piece_counts[10][50]; char next_cell[10][50][12]; /* Returns the direction rotated 60 degrees clockwise */ char rotate(char dir) { return (dir + 2) % PIVOT; } /* Returns the direction flipped on the horizontal axis */ char flip(char dir) { return (PIVOT - dir) % PIVOT; } /* Returns the new cell index from the specified cell in the * specified direction. The index is only valid if the * starting cell and direction have been checked by the * out_of_bounds function first. */ char shift(char cell, char dir) { switch(dir) { case E: return cell + 1; case ESE: if((cell / 5) % 2) return cell + 7; else return cell + 6; case SE: if((cell / 5) % 2) return cell + 6; else return cell + 5; case S: return cell + 10; case SW: if((cell / 5) % 2) return cell + 5; else return cell + 4; case WSW: if((cell / 5) % 2) return cell + 4; else return cell + 3; case W: return cell - 1; case WNW: if((cell / 5) % 2) return cell - 6; else return cell - 7; case NW: if((cell / 5) % 2) return cell - 5; else return cell - 6; case N: return cell - 10; case NE: if((cell / 5) % 2) return cell - 4; else return cell - 5; case ENE: if((cell / 5) % 2) return cell - 3; else return cell - 4; default: return cell; } } /* Returns wether the specified cell and direction will land outside * of the board. Used to determine if a piece is at a legal board * location or not. */ char out_of_bounds(char cell, char dir) { char i; switch(dir) { case E: return cell % 5 == 4; case ESE: i = cell % 10; return i == 4 || i == 8 || i == 9 || cell >= 45; case SE: return cell % 10 == 9 || cell >= 45; case S: return cell >= 40; case SW: return cell % 10 == 0 || cell >= 45; case WSW: i = cell % 10; return i == 0 || i == 1 || i == 5 || cell >= 45; case W: return cell % 5 == 0; case WNW: i = cell % 10; return i == 0 || i == 1 || i == 5 || cell < 5; case NW: return cell % 10 == 0 || cell < 5; case N: return cell < 10; case NE: return cell % 10 == 9 || cell < 5; case ENE: i = cell % 10; return i == 4 || i == 8 || i == 9 || cell < 5; default: return FALSE; } } /* Rotate a piece 60 degrees clockwise */ void rotate_piece(int piece) { int i; for(i = 0; i < 4; i++) piece_def[piece][i] = rotate(piece_def[piece][i]); } /* Flip a piece along the horizontal axis */ void flip_piece(int piece) { int i; for(i = 0; i < 4; i++) piece_def[piece][i] = flip(piece_def[piece][i]); } /* Convenience function to quickly calculate all of the indices for a piece */ void calc_cell_indices(char *cell, int piece, char index) { cell[0] = index; cell[1] = shift(cell[0], piece_def[piece][0]); cell[2] = shift(cell[1], piece_def[piece][1]); cell[3] = shift(cell[2], piece_def[piece][2]); cell[4] = shift(cell[3], piece_def[piece][3]); } /* Convenience function to quickly calculate if a piece fits on the board */ int cells_fit_on_board(char *cell, int piece) { return (!out_of_bounds(cell[0], piece_def[piece][0]) && !out_of_bounds(cell[1], piece_def[piece][1]) && !out_of_bounds(cell[2], piece_def[piece][2]) && !out_of_bounds(cell[3], piece_def[piece][3])); } /* Returns the lowest index of the cells of a piece. * I use the lowest index that a piece occupies as the index for looking up * the piece in the solve function. */ char minimum_of_cells(char *cell) { char minimum = cell[0]; minimum = cell[1] < minimum ? cell[1] : minimum; minimum = cell[2] < minimum ? cell[2] : minimum; minimum = cell[3] < minimum ? cell[3] : minimum; minimum = cell[4] < minimum ? cell[4] : minimum; return minimum; } /* Calculate the lowest possible open cell if the piece is placed on the board. * Used to later reduce the amount of time searching for open cells in the * solve function. */ char first_empty_cell(char *cell, char minimum) { char first_empty = minimum; while(first_empty == cell[0] || first_empty == cell[1] || first_empty == cell[2] || first_empty == cell[3] || first_empty == cell[4]) first_empty++; return first_empty; } /* Generate the unsigned long long int that will later be anded with the * board to determine if it fits. */ unsigned long long bitmask_from_cells(char *cell) { unsigned long long piece_mask = 0ULL; int i; for(i = 0; i < 5; i++) piece_mask |= 1ULL << cell[i]; return piece_mask; } /* Record the piece and other important information in arrays that will * later be used by the solve function. */ void record_piece(int piece, int minimum, char first_empty, unsigned long long piece_mask) { pieces[piece][minimum][piece_counts[piece][minimum]] = piece_mask; next_cell[piece][minimum][piece_counts[piece][minimum]] = first_empty; piece_counts[piece][minimum]++; } /* Fill the entire board going cell by cell. If any cells are "trapped" * they will be left alone. */ void fill_contiguous_space(char *board, int index) { if(board[index] == 1) return; board[index] = 1; if(!out_of_bounds(index, E)) fill_contiguous_space(board, shift(index, E)); if(!out_of_bounds(index, SE)) fill_contiguous_space(board, shift(index, SE)); if(!out_of_bounds(index, SW)) fill_contiguous_space(board, shift(index, SW)); if(!out_of_bounds(index, W)) fill_contiguous_space(board, shift(index, W)); if(!out_of_bounds(index, NW)) fill_contiguous_space(board, shift(index, NW)); if(!out_of_bounds(index, NE)) fill_contiguous_space(board, shift(index, NE)); } /* To thin the number of pieces, I calculate if any of them trap any empty * cells at the edges. There are only a handful of exceptions where the * the board can be solved with the trapped cells. For example: piece 8 can * trap 5 cells in the corner, but piece 3 can fit in those cells, or piece 0 * can split the board in half where both halves are viable. */ int has_island(char *cell, int piece) { char temp_board[50]; char c; int i; for(i = 0; i < 50; i++) temp_board[i] = 0; for(i = 0; i < 5; i++) temp_board[((int)cell[i])] = 1; i = 49; while(temp_board[i] == 1) i--; fill_contiguous_space(temp_board, i); c = 0; for(i = 0; i < 50; i++) if(temp_board[i] == 0) c++; if(c == 0 || (c == 5 && piece == 8) || (c == 40 && piece == 8) || (c % 5 == 0 && piece == 0)) return FALSE; else return TRUE; } /* Calculate all six rotations of the specified piece at the specified index. * We calculate only half of piece 3's rotations. This is because any solution * found has an identical solution rotated 180 degrees. Thus we can reduce the * number of attempted pieces in the solve algorithm by not including the 180- * degree-rotated pieces of ONE of the pieces. I chose piece 3 because it gave * me the best time ;) */ void calc_six_rotations(char piece, char index) { char rotation, cell[5]; char minimum, first_empty; unsigned long long piece_mask; for(rotation = 0; rotation < 6; rotation++) { if(piece != 3 || rotation < 3) { calc_cell_indices(cell, piece, index); if(cells_fit_on_board(cell, piece) && !has_island(cell, piece)) { minimum = minimum_of_cells(cell); first_empty = first_empty_cell(cell, minimum); piece_mask = bitmask_from_cells(cell); record_piece(piece, minimum, first_empty, piece_mask); } } rotate_piece(piece); } } /* Calculate every legal rotation for each piece at each board location. */ void calc_pieces(void) { char piece, index; for(piece = 0; piece < 10; piece++) { for(index = 0; index < 50; index++) { calc_six_rotations(piece, index); flip_piece(piece); calc_six_rotations(piece, index); } } } /* Calculate all 32 possible states for a 5-bit row and all rows that will * create islands that follow any of the 32 possible rows. These pre- * calculated 5-bit rows will be used to find islands in a partially solved * board in the solve function. */ #define ROW_MASK 0x1F #define TRIPLE_MASK 0x7FFF char all_rows[32] = {0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31}; int bad_even_rows[32][32]; int bad_odd_rows[32][32]; int bad_even_triple[32768]; int bad_odd_triple[32768]; int rows_bad(char row1, char row2, int even) { /* even is referring to row1 */ int i, in_zeroes, group_okay; char block, row2_shift; /* Test for blockages at same index and shifted index */ if(even) row2_shift = ((row2 << 1) & ROW_MASK) | 0x01; else row2_shift = (row2 >> 1) | 0x10; block = ((row1 ^ row2) & row2) & ((row1 ^ row2_shift) & row2_shift); /* Test for groups of 0's */ in_zeroes = FALSE; group_okay = FALSE; for(i = 0; i < 5; i++) { if(row1 & (1 << i)) { if(in_zeroes) { if(!group_okay) return TRUE; in_zeroes = FALSE; group_okay = FALSE; } } else { if(!in_zeroes) in_zeroes = TRUE; if(!(block & (1 << i))) group_okay = TRUE; } } if(in_zeroes) return !group_okay; else return FALSE; } /* Check for cases where three rows checked sequentially cause a false * positive. One scenario is when 5 cells may be surrounded where piece 5 * or 7 can fit. The other scenario is when piece 2 creates a hook shape. */ int triple_is_okay(char row1, char row2, char row3, int even) { if(even) { /* There are four cases: * row1: 00011 00001 11001 10101 * row2: 01011 00101 10001 10001 * row3: 011?? 00110 ????? ????? */ return ((row1 == 0x03) && (row2 == 0x0B) && ((row3 & 0x1C) == 0x0C)) || ((row1 == 0x01) && (row2 == 0x05) && (row3 == 0x06)) || ((row1 == 0x19) && (row2 == 0x11)) || ((row1 == 0x15) && (row2 == 0x11)); } else { /* There are two cases: * row1: 10011 10101 * row2: 10001 10001 * row3: ????? ????? */ return ((row1 == 0x13) && (row2 == 0x11)) || ((row1 == 0x15) && (row2 == 0x11)); } } void calc_rows(void) { int row1, row2, row3; int result1, result2; for(row1 = 0; row1 < 32; row1++) { for(row2 = 0; row2 < 32; row2++) { bad_even_rows[row1][row2] = rows_bad(row1, row2, TRUE); bad_odd_rows[row1][row2] = rows_bad(row1, row2, FALSE); } } for(row1 = 0; row1 < 32; row1++) { for(row2 = 0; row2 < 32; row2++) { for(row3 = 0; row3 < 32; row3++) { result1 = bad_even_rows[row1][row2]; result2 = bad_odd_rows[row2][row3]; if(result1 == FALSE && result2 == TRUE && triple_is_okay(row1, row2, row3, TRUE)) bad_even_triple[row1+(row2*32)+(row3*1024)] = FALSE; else bad_even_triple[row1+(row2*32)+(row3*1024)] = result1 || result2; result1 = bad_odd_rows[row1][row2]; result2 = bad_even_rows[row2][row3]; if(result1 == FALSE && result2 == TRUE && triple_is_okay(row1, row2, row3, FALSE)) bad_odd_triple[row1+(row2*32)+(row3*1024)] = FALSE; else bad_odd_triple[row1+(row2*32)+(row3*1024)] = result1 || result2; } } } } /* Calculate islands while solving the board. */ int boardHasIslands(char cell) { /* Too low on board, don't bother checking */ if(cell >= 40) return FALSE; int current_triple = (board >> ((cell / 5) * 5)) & TRIPLE_MASK; if((cell / 5) % 2) return bad_odd_triple[current_triple]; else return bad_even_triple[current_triple]; } /* The recursive solve algorithm. Try to place each permutation in the upper- * leftmost empty cell. Mark off available pieces as it goes along. * Because the board is a bit mask, the piece number and bit mask must be saved * at each successful piece placement. This data is used to create a 50 char * array if a solution is found. */ short avail = 0x03FF; char sol_nums[10]; unsigned long long sol_masks[10]; signed char solutions[2100][50]; int solution_count = 0; int max_solutions = 2100; void record_solution(void) { int sol_no, index; unsigned long long sol_mask; for(sol_no = 0; sol_no < 10; sol_no++) { sol_mask = sol_masks[sol_no]; for(index = 0; index < 50; index++) { if(sol_mask & 1ULL) { solutions[solution_count][index] = sol_nums[sol_no]; /* Board rotated 180 degrees is a solution too! */ solutions[solution_count+1][49-index] = sol_nums[sol_no]; } sol_mask = sol_mask >> 1; } } solution_count += 2; } void solve(int depth, int cell) { int piece, rotation, max_rots; unsigned long long *piece_mask; short piece_no_mask; if(solution_count >= max_solutions) return; while(board & (1ULL << cell)) cell++; for(piece = 0; piece < 10; piece++) { piece_no_mask = 1 << piece; if(!(avail & piece_no_mask)) continue; avail ^= piece_no_mask; max_rots = piece_counts[piece][cell]; piece_mask = pieces[piece][cell]; for(rotation = 0; rotation < max_rots; rotation++) { if(!(board & *(piece_mask + rotation))) { sol_nums[depth] = piece; sol_masks[depth] = *(piece_mask + rotation); if(depth == 9) { /* Solution found!!!!!11!!ONE! */ record_solution(); avail ^= piece_no_mask; return; } board |= *(piece_mask + rotation); if(!boardHasIslands(next_cell[piece][cell][rotation])) solve(depth + 1, next_cell[piece][cell][rotation]); board ^= *(piece_mask + rotation); } } avail ^= piece_no_mask; } } /* qsort comparator - used to find first and last solutions */ int solution_sort(const void *elem1, const void *elem2) { signed char *char1 = (signed char *) elem1; signed char *char2 = (signed char *) elem2; int i = 0; while(i < 50 && char1[i] == char2[i]) i++; return char1[i] - char2[i]; } /* pretty print a board in the specified hexagonal format */ void pretty(signed char *b) { int i; for(i = 0; i < 50; i += 10) { printf("%c %c %c %c %c \n %c %c %c %c %c \n", b[i]+'0', b[i+1]+'0', b[i+2]+'0', b[i+3]+'0', b[i+4]+'0', b[i+5]+'0', b[i+6]+'0', b[i+7]+'0', b[i+8]+'0', b[i+9]+'0'); } printf("\n"); } int main(int argc, char **argv) { if(argc > 1) max_solutions = atoi(argv[1]); calc_pieces(); calc_rows(); solve(0, 0); printf("%d solutions found\n\n", solution_count); qsort(solutions, solution_count, 50 * sizeof(signed char), solution_sort); pretty(solutions[0]); pretty(solutions[solution_count-1]); return 0; } dependencies/pkg/mod/golang.org/x/exp@v0.0.0-20240506185415-9bf2ced13842/shootout/timing.log0000644000000000000000000011725115107355263026606 0ustar rootrootAll tests on r45 or r70 Aug 3 2009 First version of fasta. Translation of fasta.c, fetched from http://shootout.alioth.debian.org/u32q/benchmark.php?test=fasta&lang=gpp&id=4 fasta -n 25000000 gcc -O2 fasta.c 5.98u 0.00s 6.01r gccgo -O2 fasta.go 8.82u 0.02s 8.85r 6g fasta.go 13.50u 0.02s 13.53r 6g -B fata.go 12.99u 0.02s 13.02r Aug 4 2009 [added timing.sh] # myrandom: # hand-written optimization of integer division # use int32->float conversion fasta -n 25000000 # probably I/O library inefficiencies gcc -O2 fasta.c 5.99u 0.00s 6.00r gccgo -O2 fasta.go 8.82u 0.02s 8.85r gc fasta 10.70u 0.00s 10.77r gc_B fasta 10.09u 0.03s 10.12r reverse-complement < output-of-fasta-25000000 # we don't know - memory cache behavior? gcc -O2 reverse-complement.c 2.04u 0.94s 10.54r gccgo -O2 reverse-complement.go 6.54u 0.63s 7.17r gc reverse-complement 6.55u 0.70s 7.26r gc_B reverse-complement 6.32u 0.70s 7.10r nbody 50000000 # math.Sqrt needs to be in assembly; inlining is probably the other 50% gcc -O2 nbody.c 21.61u 0.01s 24.80r gccgo -O2 nbody.go 118.55u 0.02s 120.32r gc nbody 100.84u 0.00s 100.85r gc_B nbody 103.33u 0.00s 103.39r [ hacked Sqrt in assembler gc nbody 31.97u 0.00s 32.01r ] binary-tree 15 # too slow to use 20 # memory allocation and garbage collection gcc -O2 binary-tree.c -lm 0.86u 0.00s 0.87r gccgo -O2 binary-tree.go 1.69u 0.46s 2.15r gccgo -O2 binary-tree-freelist.go 8.48u 0.00s 8.48r gc binary-tree 9.60u 0.01s 9.62r gc binary-tree-freelist 0.48u 0.01s 0.50r August 5, 2009 fannkuch 12 # bounds checking is half the difference # rest might be registerization gcc -O2 fannkuch.c 60.09u 0.01s 60.32r gccgo -O2 fannkuch.go 64.89u 0.00s 64.92r gc fannkuch 124.59u 0.00s 124.67r gc_B fannkuch 91.14u 0.00s 91.16r regex-dna 100000 # regexp code is slow on trivial regexp gcc -O2 regex-dna.c -lpcre 0.92u 0.00s 0.99r gc regexp-dna 26.94u 0.18s 28.75r gc_B regexp-dna 26.51u 0.09s 26.75r spectral-norm 5500 gcc -O2 spectral-norm.c -lm 11.54u 0.00s 11.55r gccgo -O2 spectral-norm.go 12.20u 0.00s 12.23r gc spectral-norm 50.23u 0.00s 50.36r gc_B spectral-norm 49.69u 0.01s 49.83r gc spectral-norm-parallel 24.47u 0.03s 11.05r # has shift >>1 not div /2 [using >>1 instead of /2 : gc gives 24.33u 0.00s 24.33r] August 6, 2009 k-nucleotide 5000000 # string maps are slower than glib string maps gcc -O2 -I/usr/include/glib-2.0 -I/usr/lib/glib-2.0/include k-nucleotide.c -lglib-2.0 k-nucleotide.c: 10.72u 0.01s 10.74r gccgo -O2 k-nucleotide.go 21.64u 0.83s 22.78r gc k-nucleotide 16.08u 0.06s 16.50r gc_B k-nucleotide 17.32u 0.02s 17.37r mandelbrot 5500 # floating point code generator should use more registers gcc -O2 mandelbrot.c 56.13u 0.02s 56.17r gccgo -O2 mandelbrot.go 57.49u 0.01s 57.51r gc mandelbrot 74.32u 0.00s 74.35r gc_B mandelbrot 74.28u 0.01s 74.31r meteor 2100 # we don't know gcc -O2 meteor-contest.c 0.10u 0.00s 0.10r gccgo -O2 meteor-contest.go 0.12u 0.00s 0.14r gc meteor-contest 0.24u 0.00s 0.26r gc_B meteor-contest 0.23u 0.00s 0.24r pidigits 10000 # bignum is slower than gmp gcc -O2 pidigits.c -lgmp 2.60u 0.00s 2.62r gc pidigits 77.69u 0.14s 78.18r gc_B pidigits 74.26u 0.18s 75.41r gc_B pidigits 68.48u 0.20s 69.31r # special case: no bounds checking in bignum August 7 2009 # New gc does better division by powers of 2. Significant improvements: spectral-norm 5500 # floating point code generator should use more registers; possibly inline evalA gcc -O2 spectral-norm.c -lm 11.50u 0.00s 11.50r gccgo -O2 spectral-norm.go 12.02u 0.00s 12.02r gc spectral-norm 23.98u 0.00s 24.00r # new time is 0.48 times old time, 52% faster gc_B spectral-norm 23.71u 0.01s 23.72r # ditto gc spectral-norm-parallel 24.04u 0.00s 6.26r # /2 put back. note: 4x faster (on r70, idle) k-nucleotide 1000000 # string maps are slower than glib string maps gcc -O2 -I/usr/include/glib-2.0 -I/usr/lib/glib-2.0/include k-nucleotide.c -lglib-2.0 10.82u 0.04s 10.87r gccgo -O2 k-nucleotide.go 22.73u 0.89s 23.63r gc k-nucleotide 15.97u 0.03s 16.04r gc_B k-nucleotide 15.86u 0.06s 15.93r # 8.5% faster, but probably due to weird cache effeccts in previous version pidigits 10000 # bignum is slower than gmp gcc -O2 pidigits.c -lgmp 2.58u 0.00s 2.58r gc pidigits 71.24u 0.04s 71.28r # 8.5% faster gc_B pidigits 71.25u 0.03s 71.29r # 4% faster threadring 50000000 gcc -O2 threadring.c -lpthread 35.51u 160.21s 199.50r gccgo -O2 threadring.go 90.33u 459.95s 448.03r gc threadring 33.11u 0.00s 33.14r GOMAXPROCS=4 gc threadring 114.48u 226.65s 371.59r # change wait code to do <-make(chan int) instead of time.Sleep gc threadring 28.41u 0.01s 29.35r GOMAXPROCS=4 gc threadring 112.59u 232.83s 384.72r chameneos 6000000 gcc -O2 chameneosredux.c -lpthread 18.14u 276.52s 76.93r gc chameneosredux 20.19u 0.01s 20.23r Aug 10 2009 # new 6g with better fp registers, fast div and mod of integers # complete set of timings listed. significant changes marked *** fasta -n 25000000 # probably I/O library inefficiencies gcc -O2 fasta.c 5.96u 0.00s 5.97r gc fasta 10.59u 0.01s 10.61r gc_B fasta 9.92u 0.02s 9.95r reverse-complement < output-of-fasta-25000000 # we don't know - memory cache behavior? gcc -O2 reverse-complement.c 1.96u 1.56s 16.23r gccgo -O2 reverse-complement.go 6.41u 0.62s 7.05r gc reverse-complement 6.46u 0.70s 7.17r gc_B reverse-complement 6.22u 0.72s 6.95r nbody 50000000 # math.Sqrt needs to be in assembly; inlining is probably the other 50% gcc -O2 nbody.c 21.26u 0.01s 21.28r gccgo -O2 nbody.go 116.68u 0.07s 116.80r gc nbody 86.64u 0.01s 86.68r # -14% gc_B nbody 85.72u 0.02s 85.77r # *** -17% binary-tree 15 # too slow to use 20 # memory allocation and garbage collection gcc -O2 binary-tree.c -lm 0.87u 0.00s 0.87r gccgo -O2 binary-tree.go 1.61u 0.47s 2.09r gccgo -O2 binary-tree-freelist.go 0.00u 0.00s 0.01r gc binary-tree 9.11u 0.01s 9.13r # *** -5% gc binary-tree-freelist 0.47u 0.01s 0.48r fannkuch 12 # bounds checking is half the difference # rest might be registerization gcc -O2 fannkuch.c 59.92u 0.00s 59.94r gccgo -O2 fannkuch.go 65.54u 0.00s 65.58r gc fannkuch 123.98u 0.01s 124.04r gc_B fannkuch 90.75u 0.00s 90.78r regex-dna 100000 # regexp code is slow on trivial regexp gcc -O2 regex-dna.c -lpcre 0.91u 0.00s 0.92r gc regex-dna 27.25u 0.02s 27.28r gc_B regex-dna 29.51u 0.03s 29.55r spectral-norm 5500 # possibly inline evalA gcc -O2 spectral-norm.c -lm 11.57u 0.00s 11.57r gccgo -O2 spectral-norm.go 12.07u 0.01s 12.08r gc spectral-norm 23.99u 0.00s 24.00r gc_B spectral-norm 23.73u 0.00s 23.75r k-nucleotide 1000000 # string maps are slower than glib string maps gcc -O2 -I/usr/include/glib-2.0 -I/usr/lib/glib-2.0/include k-nucleotide.c -lglib-2.0 10.63u 0.02s 10.69r gccgo -O2 k-nucleotide.go 23.19u 0.91s 24.12r gc k-nucleotide 16.73u 0.04s 16.78r # *** +5% (but this one seems to vary by more than that) gc_B k-nucleotide 16.46u 0.04s 16.51r # *** +5% mandelbrot 16000 gcc -O2 mandelbrot.c 56.16u 0.00s 56.16r gccgo -O2 mandelbrot.go 57.41u 0.01s 57.42r gc mandelbrot 64.05u 0.02s 64.08r # *** -14% gc_B mandelbrot 64.10u 0.02s 64.14r # *** -14% meteor 2100 # we don't know gcc -O2 meteor-contest.c 0.10u 0.00s 0.10r gccgo -O2 meteor-contest.go 0.12u 0.00s 0.12r gc meteor-contest 0.18u 0.00s 0.20r # *** -25% gc_B meteor-contest 0.17u 0.00s 0.18r # *** -24% pidigits 10000 # bignum is slower than gmp gcc -O2 pidigits.c -lgmp 2.57u 0.00s 2.57r gc pidigits 71.82u 0.04s 71.89r gc_B pidigits 71.84u 0.08s 71.98r threadring 50000000 gcc -O2 threadring.c -lpthread 30.91u 164.33s 204.57r gccgo -O2 threadring.go 87.12u 460.04s 447.61r gc threadring 38.55u 0.00s 38.56r # *** +16% chameneos 6000000 gcc -O2 chameneosredux.c -lpthread 17.93u 323.65s 88.47r gc chameneosredux 21.72u 0.00s 21.73r August 10 2009 # In-place versions for some bignum operations. pidigits 10000 gcc -O2 pidigits.c -lgmp 2.56u 0.00s 2.57r gc pidigits 55.22u 0.04s 55.29r # *** -23% gc_B pidigits 55.49u 0.02s 55.60r # *** -23% September 3 2009 # New 6g inlines slices, has a few other tweaks. # Complete rerun. Significant changes marked. fasta -n 25000000 # probably I/O library inefficiencies gcc -O2 fasta.c 5.96u 0.00s 5.96r gc fasta 10.63u 0.02s 10.66r gc_B fasta 9.92u 0.01s 9.94r reverse-complement < output-of-fasta-25000000 # we don't know - memory cache behavior? gcc -O2 reverse-complement.c 1.92u 0.33s 2.93r gccgo -O2 reverse-complement.go 6.76u 0.72s 7.58r # +5% gc reverse-complement 6.59u 0.70s 7.29r # +2% gc_B reverse-complement 5.57u 0.80s 6.37r # -10% nbody 50000000 # math.Sqrt needs to be in assembly; inlining is probably the other 50% # also loop alignment appears to be critical gcc -O2 nbody.c 21.28u 0.00s 21.28r gccgo -O2 nbody.go 119.21u 0.00s 119.22r # +2% gc nbody 109.72u 0.00s 109.78r # + 28% ***** gc_B nbody 85.90u 0.00s 85.91r binary-tree 15 # too slow to use 20 # memory allocation and garbage collection gcc -O2 binary-tree.c -lm 0.86u 0.00s 0.87r gccgo -O2 binary-tree.go 1.88u 0.54s 2.42r # +17% gccgo -O2 binary-tree-freelist.go 0.01u 0.01s 0.02r gc binary-tree 8.94u 0.01s 8.96r # -2% gc binary-tree-freelist 0.47u 0.01s 0.48r fannkuch 12 # bounds checking is half the difference # rest might be registerization gcc -O2 fannkuch.c 60.12u 0.00s 60.12r gccgo -O2 fannkuch.go 92.62u 0.00s 92.66r # +41% *** gc fannkuch 123.90u 0.00s 123.92r gc_B fannkuch 89.71u 0.00s 89.74r # -1% regex-dna 100000 # regexp code is slow on trivial regexp gcc -O2 regex-dna.c -lpcre 0.88u 0.00s 0.88r gc regex-dna 25.77u 0.01s 25.79r # -5% gc_B regex-dna 26.05u 0.02s 26.09r # -12% *** spectral-norm 5500 # possibly inline evalA gcc -O2 spectral-norm.c -lm 11.51u 0.00s 11.51r gccgo -O2 spectral-norm.go 11.95u 0.00s 11.96r gc spectral-norm 24.23u 0.00s 24.23r gc_B spectral-norm 23.83u 0.00s 23.84r k-nucleotide 1000000 # string maps are slower than glib string maps gcc -O2 -I/usr/include/glib-2.0 -I/usr/lib/glib-2.0/include k-nucleotide.c -lglib-2.0 10.68u 0.04s 10.72r gccgo -O2 k-nucleotide.go 23.03u 0.88s 23.92r gc k-nucleotide 15.79u 0.05s 15.85r # -5% (but this one seems to vary by more than that) gc_B k-nucleotide 17.88u 0.05s 17.95r # +8% (ditto) mandelbrot 16000 gcc -O2 mandelbrot.c 56.17u 0.02s 56.20r gccgo -O2 mandelbrot.go 56.74u 0.02s 56.79r # -1% gc mandelbrot 63.31u 0.01s 63.35r # -1% gc_B mandelbrot 63.29u 0.00s 63.31r # -1% meteor 2100 # we don't know gcc -O2 meteor-contest.c 0.10u 0.00s 0.10r gccgo -O2 meteor-contest.go 0.11u 0.00s 0.12r gc meteor-contest 0.18u 0.00s 0.19r gc_B meteor-contest 0.17u 0.00s 0.18r pidigits 10000 # bignum is slower than gmp gcc -O2 pidigits.c -lgmp 2.56u 0.00s 2.57r gc pidigits 55.87u 0.03s 55.91r gc_B pidigits 55.93u 0.03s 55.99r # these tests are compared using real time, since they run multiple processors # accuracy probably low threadring 50000000 gcc -O2 threadring.c -lpthread 26.31u 164.69s 199.92r # -2% gccgo -O2 threadring.go 87.90u 487.26s 472.81r # +6% gc threadring 28.89u 0.00s 28.90r # -25% *** chameneos 6000000 gcc -O2 chameneosredux.c -lpthread 16.41u 296.91s 81.17r # -8% gc chameneosredux 19.97u 0.00s 19.97r # -8% Sep 22, 2009 # 6g inlines sliceslice in most cases. fasta -n 25000000 # probably I/O library inefficiencies gc fasta 10.24u 0.00s 10.25r # -4% gc_B fasta 9.68u 0.01s 9.69r # -3% reverse-complement < output-of-fasta-25000000 # we don't know - memory cache behavior? gc reverse-complement 6.67u 0.69s 7.37r # +1% gc_B reverse-complement 6.00u 0.64s 6.65r # +7% nbody -n 50000000 # math.Sqrt needs to be in assembly; inlining is probably the other 50% # also loop alignment appears to be critical gc nbody 86.27u 0.00s 86.29r # -21% gc_B nbody 104.52u 0.00s 104.54r # +22% fannkuch 12 # bounds checking is half the difference # rest might be registerization gc fannkuch 128.36u 0.00s 128.37r # +4% gc_B fannkuch 89.32u 0.00s 89.34r regex-dna 100000 # regexp code is slow on trivial regexp gc regex-dna 24.82u 0.01s 24.86r # -4% gc_B regex-dna 24.55u 0.01s 24.57r # -6% spectral-norm 5500 # possibly inline evalA gc spectral-norm 24.05u 0.00s 24.07r # -1% gc_B spectral-norm 23.60u 0.00s 23.65r # -1% k-nucleotide 1000000 # string maps are slower than glib string maps gc k-nucleotide 17.84u 0.04s 17.89r # +13% but mysterious variation continues gc_B k-nucleotide 15.56u 0.08s 15.65r # -13% (ditto) mandelbrot 16000 gc mandelbrot 64.08u 0.01s 64.11r # +1% gc_B mandelbrot 64.04u 0.00s 64.05r # +1% pidigits 10000 # bignum is slower than gmp gc pidigits 58.68u 0.02s 58.72r # +5% gc_B pidigits 58.86u 0.05s 58.99r # +5% # these tests are compared using real time, since they run multiple processors # accuracy probably low threadring 50000000 gc threadring 32.70u 0.02s 32.77r # +13% chameneos 6000000 gc chameneosredux 26.62u 0.00s 26.63r # +13% Sep 24, 2009 # Sqrt now in assembler for 6g. nbody -n 50000000 # remember, at least for 6g, alignment of loops may be important gcc -O2 nbody.c 21.24u 0.00s 21.25r gccgo -O2 nbody.go 121.03u 0.00s 121.04r gc nbody 30.26u 0.00s 30.27r # -65% *** gc_B nbody 30.20u 0.02s 30.22r # -72% *** Nov 13 2009 # fix bug in regexp; take performance hit. good regexps will come in time. regex-dna 100000 gcc -O2 regex-dna.c -lpcre 0.92u 0.00s 0.94r gc regex-dna 29.78u 0.03s 29.83r gc_B regex-dna 32.63u 0.03s 32.74r Nov 24 2009 # Roger Peppe's rewrite of the benchmark chameneos 6000000 gcc -O2 chameneosredux.c -lpthread 18.00u 303.29s 83.64r gc chameneosredux 12.10u 0.00s 12.10r # 2.22X faster Jan 6, 2010 # Long-overdue update. All numbers included in this complete run. # Some programs (e.g. reverse-complement) rewritten for speed. # Regular expressions much faster in common cases (although still far behind PCRE) # Bignum stuff improved # Better (but sometimes slower) locking in channels. fasta -n 25000000 gcc -O2 fasta.c 5.99u 0.01s 6.00r gc fasta 9.11u 0.00s 9.12r # -11% gc_B fasta 8.60u 0.00s 8.62r # +12% ?? reverse-complement < output-of-fasta-25000000 gcc -O2 reverse-complement.c 2.00u 0.80s 9.54r # gccgo -O2 reverse-complement.go 4.57u 0.35s 4.94r # 33% faster gc reverse-complement 2.01u 0.38s 2.40r # 3.3X faster gc_B reverse-complement 1.88u 0.36s 2.24r # 3.2X faster GOGC=off gc reverse-complement 2.01u 0.35s 2.37r gc_B reverse-complement 1.86u 0.32s 2.19r nbody -n 50000000 gcc -O2 nbody.c 21.28u 0.00s 21.31r gccgo -O2 nbody.go 80.02u 0.00s 80.05r # 33% faster gc nbody 30.13u 0.00s 30.13r gc_B nbody 29.89u 0.01s 29.91r binary-tree 15 # too slow to use 20 gcc -O2 binary-tree.c -lm 0.86u 0.00s 0.87r gccgo -O2 binary-tree.go 4.82u 0.41s 5.24r # 2.5X slower gc binary-tree 7.23u 0.01s 7.25r # # -19% gc binary-tree-freelist 0.43u 0.00s 0.44r # -9% fannkuch 12 gcc -O2 fannkuch.c 60.17u 0.00s 60.17r gccgo -O2 fannkuch.go 78.47u 0.01s 78.49r gc fannkuch 128.86u 0.00s 128.96r gc_B fannkuch 90.17u 0.00s 90.21r regex-dna 100000 gcc -O2 regex-dna.c -lpcre 0.90u 0.00s 0.92r gc regex-dna 9.48u 0.01s 9.50r # 3.1X faster gc_B regex-dna 9.08u 0.00s 9.10r # 3.6X faster spectral-norm 5500 gcc -O2 spectral-norm.c -lm 11.48u 0.00s 11.48r gccgo -O2 spectral-norm.go 11.68u 0.00s 11.70r gc spectral-norm 23.98u 0.00s 23.99r gc_B spectral-norm 23.68u 0.00s 23.69r k-nucleotide 1000000 gcc -O2 k-nucleotide.c 10.85u 0.04s 10.90r gccgo -O2 k-nucleotide.go 25.26u 0.87s 26.14r gc k-nucleotide 15.28u 0.06s 15.37r # restored; mysterious variation continues gc_B k-nucleotide 15.97u 0.03s 16.00r mandelbrot 16000 gcc -O2 mandelbrot.c 56.12u 0.01s 56.15r gccgo -O2 mandelbrot.go 56.86u 0.01s 56.89r gc mandelbrot 66.05u 0.00s 66.07r # -3% gc_B mandelbrot 66.06u 0.00s 66.07r # -3% meteor 2100 gcc -O2 meteor-contest.c 0.10u 0.00s 0.10r gccgo -O2 meteor-contest.go 0.12u 0.00s 0.12r gc meteor-contest 0.17u 0.00s 0.17r gc_B meteor-contest 0.15u 0.00s 0.16r pidigits 10000 gcc -O2 pidigits.c -lgmp 2.57u 0.00s 2.59r gc pidigits 38.27u 0.02s 38.30r # 1.5X faster gc_B pidigits 38.27u 0.02s 38.31r # 1.5X faster threadring 50000000 gcc -O2 threadring.c 37.11u 170.59s 212.75r gccgo -O2 threadring.go 89.67u 447.56s 442.55r # -6.5% gc threadring 36.08u 0.04s 36.15r # +10% chameneos 6000000 gcc -O2 chameneosredux.c -lpthread 19.02u 331.08s 90.79r gc chameneosredux 12.54u 0.00s 12.55r Oct 19, 2010 # Another long-overdue update. Some of the code is new; parallel versions # of some are added. A few significant improvements. fasta -n 25000000 gcc -O2 fasta.c 4.92u 0.00s 4.93r gccgo -O2 fasta.go 3.31u 0.00s 3.34r # new code gc fasta 3.68u 0.00s 3.69r # 2.5X faster with no code gc_B fasta 3.68u 0.00s 3.69r # 2.3X faster with no code reverse-complement < output-of-fasta-25000000 gcc -O2 reverse-complement.c 1.93u 0.81s 11.24r gccgo -O2 reverse-complement.go 1.58u 0.43s 2.04r # first run with new code? gc reverse-complement 1.84u 0.34s 2.20r # 10% faster gc_B reverse-complement 1.85u 0.32s 2.18r nbody -n 50000000 gcc -O2 nbody.c 21.35u 0.00s 21.36r gccgo -O2 nbody.go 21.62u 0.00s 21.66r # 3.7X faster - why?? gc nbody 29.78u 0.00s 29.79r gc_B nbody 29.72u 0.00s 29.72r binary-tree 15 # too slow to use 20 gcc -O2 binary-tree.c -lm 0.86u 0.00s 0.88r gccgo -O2 binary-tree.go 4.05u 0.02s 4.08r # 28% faster gccgo -O2 binary-tree-freelist 0.34u 0.08s 0.34r gc binary-tree 5.94u 0.00s 5.95r # 20% faster gc binary-tree-freelist 0.50u 0.01s 0.54r fannkuch 12 gcc -O2 fannkuch.c 60.45u 0.00s 60.45r gccgo -O2 fannkuch.go 64.64u 0.00s 64.64r gccgo -O2 fannkuch-parallel.go 115.63u 0.00s 31.58r gc fannkuch 126.52u 0.04s 126.68r gc fannkuch-parallel 238.82u 0.10s 65.93r # GOMAXPROCS=4 gc_B fannkuch 88.99u 0.00s 89.02r regex-dna 100000 gcc -O2 regex-dna.c -lpcre 0.89u 0.00s 0.89r gc regex-dna 8.99u 0.02s 9.03r gc regex-dna-parallel 8.94u 0.02s 3.68r # GOMAXPROCS=4 gc_B regex-dna 9.12u 0.00s 9.14r spectral-norm 5500 gcc -O2 spectral-norm.c -lm 11.55u 0.00s 11.57r gccgo -O2 spectral-norm.go 11.73u 0.00s 11.75r gc spectral-norm 23.74u 0.00s 23.79r gc_B spectral-norm 24.49u 0.02s 24.54r k-nucleotide 1000000 gcc -O2 k-nucleotide.c 11.44u 0.06s 11.50r gccgo -O2 k-nucleotide.go 8.65u 0.04s 8.71r gccgo -O2 k-nucleotide-parallel.go 8.75u 0.03s 2.97r # set GOMAXPROCS=4 gc k-nucleotide 14.92u 0.05s 15.01r gc k-nucleotide-parallel 16.96u 0.06s 6.53r # set GOMAXPROCS=4 gc_B k-nucleotide 15.97u 0.03s 16.08r mandelbrot 16000 gcc -O2 mandelbrot.c 56.32u 0.00s 56.35r gccgo -O2 mandelbrot.go 55.62u 0.02s 55.77r gc mandelbrot 64.85u 0.01s 64.94r gc_B mandelbrot 65.02u 0.01s 65.14r meteor 2100 gcc -O2 meteor-contest.c 0.10u 0.00s 0.10r gccgo -O2 meteor-contest.go 0.10u 0.00s 0.11r gc meteor-contest 0.17u 0.00s 0.18r gc_B meteor-contest 0.16u 0.00s 0.16r pidigits 10000 gcc -O2 pidigits.c -lgmp 2.58u 0.00s 2.59r gccgo -O2 pidigits.go 14.06u 0.01s 14.09r # first run? gc pidigits 8.47u 0.05s 8.55r # 4.5X faster due to package big gc_B pidigits 8.33u 0.01s 8.36r # 4.5X faster due to package big threadring 50000000 gcc -O2 threadring.c 28.18u 153.19s 186.47r gccgo -O2 threadring.go 110.10u 516.48s 515.25r gc threadring 40.39u 0.00s 40.40r chameneos 6000000 gcc -O2 chameneosredux.c -lpthread 18.20u 301.55s 83.10r gccgo -O2 chameneosredux.go 52.22u 324.54s 201.21r gc chameneosredux 13.52u 0.00s 13.54r Dec 14, 2010 # Improved regex code (same algorithm) gets ~30%. regex-dna 100000 gcc -O2 regex-dna.c -lpcre 0.77u 0.01s 0.78r gc regex-dna 6.80u 0.00s 6.81r gc regex-dna-parallel 6.82u 0.01s 2.75r gc_B regex-dna 6.69u 0.02s 6.70r Feb 15, 2011 # Improved GC, still single-threaded but more efficient fasta -n 25000000 gcc -O2 fasta.c 3.40u 0.00s 3.40r gccgo -O2 fasta.go 3.51u 0.00s 3.50r gc fasta 3.66u 0.01s 3.66r gc_B fasta 3.66u 0.00s 3.66r reverse-complement < output-of-fasta-25000000 gcc -O2 reverse-complement.c 1.86u 1.29s 4.93r gccgo -O2 reverse-complement.go 2.18u 0.41s 2.60r gc reverse-complement 1.67u 0.48s 2.15r gc_B reverse-complement 1.71u 0.45s 2.15r nbody -n 50000000 gcc -O2 -lm nbody.c 21.64u 0.00s 21.64r gccgo -O2 nbody.go 21.46u 0.00s 21.45r gc nbody 29.07u 0.00s 29.06r gc_B nbody 31.61u 0.00s 31.61r binary-tree 15 # too slow to use 20 gcc -O2 binary-tree.c -lm 0.88u 0.00s 0.87r gccgo -O2 binary-tree.go 2.74u 0.07s 2.81r gccgo -O2 binary-tree-freelist.go 0.01u 0.00s 0.00r gc binary-tree 4.22u 0.02s 4.24r gc binary-tree-freelist 0.54u 0.02s 0.55r fannkuch 12 gcc -O2 fannkuch.c 57.64u 0.00s 57.64r gccgo -O2 fannkuch.go 65.79u 0.00s 65.82r gccgo -O2 fannkuch-parallel.go 160.91u 0.02s 43.90r gc fannkuch 126.36u 0.03s 126.53r gc fannkuch-parallel 175.23u 0.04s 45.49r gc_B fannkuch 89.23u 0.00s 89.24r regex-dna 100000 gcc -O2 regex-dna.c -lpcre 0.77u 0.01s 0.80r gccgo -O2 regex-dna.go 12.38u 0.10s 12.52r gccgo -O2 regex-dna-parallel.go 43.96u 4.64s 15.11r gc regex-dna 7.03u 0.01s 7.05r gc regex-dna-parallel 6.85u 0.05s 2.70r gc_B regex-dna 6.87u 0.02s 6.89r spectral-norm 5500 gcc -O2 spectral-norm.c -lm 12.29u 0.00s 12.28r gccgo -O2 spectral-norm.go 11.79u 0.00s 11.79r gc spectral-norm 24.00u 0.02s 24.05r gc_B spectral-norm 24.59u 0.01s 24.59r k-nucleotide 1000000 gcc -O2 k-nucleotide.c 9.75u 0.07s 9.82r gccgo -O2 k-nucleotide.go 8.92u 0.06s 8.98r gccgo -O2 k-nucleotide-parallel.go 8.40u 0.04s 2.76r gc k-nucleotide 17.01u 0.03s 17.04r gc k-nucleotide-parallel 16.51u 0.08s 6.21r gc_B k-nucleotide 16.94u 0.08s 17.02r mandelbrot 16000 gcc -O2 mandelbrot.c 54.60u 0.00s 54.66r gccgo -O2 mandelbrot.go 59.38u 0.00s 59.41r gc mandelbrot 64.93u 0.04s 65.08r gc_B mandelbrot 64.85u 0.03s 64.92r meteor 2098 gcc -O2 meteor-contest.c 0.10u 0.01s 0.10r gccgo -O2 meteor-contest.go 0.11u 0.00s 0.11r gc meteor-contest 0.18u 0.00s 0.17r gc_B meteor-contest 0.17u 0.00s 0.16r pidigits 10000 gcc -O2 pidigits.c -lgmp 2.24u 0.00s 2.23r gccgo -O2 pidigits.go 14.05u 0.00s 14.06r gc pidigits 6.34u 0.05s 6.38r gc_B pidigits 6.37u 0.02s 6.38r threadring 50000000 gcc -O2 threadring.c 30.50u 258.05s 325.72r gccgo -O2 threadring.go 92.87u 748.39s 728.46r gc threadring 38.03u 0.01s 38.04r # Apr 15, 2011 # Move to new machine, Intel Xeon E5520@2.27GHz. # (Was Opteron(tm) Processor 8214 HE) fasta -n 25000000 OLD: gcc -O2 fasta.c 3.39u 0.04s 3.42r gccgo -O2 fasta.go 3.52u 0.00s 3.52r gc fasta 3.63u 0.04s 3.67r gc_B fasta 3.66u 0.00s 3.66r NEW: gcc -O2 fasta.c 1.45u 0.02s 1.47r gccgo -O2 fasta.go 1.51u 0.01s 1.51r gc fasta 2.04u 0.00s 2.04r gc_B fasta 2.05u 0.00s 2.04r reverse-complement < output-of-fasta-25000000 OLD: gcc -O2 reverse-complement.c 1.87u 1.51s 7.02r gccgo -O2 reverse-complement.go 1.56u 0.54s 3.37r gc reverse-complement 1.73u 0.36s 2.08r gc_B reverse-complement 1.75u 0.37s 2.12r NEW: gcc -O2 reverse-complement.c 1.20u 0.47s 12.96r gccgo -O2 reverse-complement.go 0.88u 0.14s 1.01r gc reverse-complement 1.13u 0.17s 1.30r gc_B reverse-complement 1.11u 0.09s 1.20r nbody -n 50000000 OLD: gcc -O2 -lm nbody.c 21.90u 0.00s 21.92r gccgo -O2 nbody.go 23.12u 0.03s 23.19r gc nbody 29.07u 0.00s 29.07r gc_B nbody 31.84u 0.00s 31.85r NEW: gcc -O2 -lm nbody.c 13.01u 0.00s 13.03r gccgo -O2 nbody.go 13.35u 0.00s 13.37r gc nbody 21.78u 0.00s 21.82r gc_B nbody 21.72u 0.00s 21.76r binary-tree 15 # too slow to use 20 OLD: gcc -O2 binary-tree.c -lm 0.83u 0.02s 0.84r gccgo -O2 binary-tree.go 2.61u 0.02s 2.62r gccgo -O2 binary-tree-freelist.go 0.32u 0.01s 0.32r gc binary-tree 3.93u 0.04s 3.97r gc binary-tree-freelist 0.47u 0.03s 0.50r NEW: gcc -O2 binary-tree.c -lm 0.60u 0.00s 0.59r gccgo -O2 binary-tree.go 1.53u 0.00s 1.52r gccgo -O2 binary-tree-freelist.go 0.01u 0.00s 0.00r gc binary-tree 1.93u 0.02s 1.95r gc binary-tree-freelist 0.32u 0.01s 0.32r fannkuch 12 OLD: gcc -O2 fannkuch.c 57.64u 0.00s 57.64r gccgo -O2 fannkuch.go 65.56u 0.01s 65.65r gccgo -O2 fannkuch-parallel.go 179.12u 0.00s 49.82r gc fannkuch 126.39u 0.00s 126.39r gc fannkuch-parallel 172.49u 0.02s 45.44r gc_B fannkuch 89.30u 0.00s 89.28r NEW: gcc -O2 fannkuch.c 45.17u 0.00s 45.26r gccgo -O2 fannkuch.go 53.63u 0.00s 53.73r gccgo -O2 fannkuch-parallel.go 216.72u 0.00s 58.42r gc fannkuch 108.21u 0.00s 108.44r gc fannkuch-parallel 227.20u 0.00s 57.27r gc_B fannkuch 56.14u 0.00s 56.26r regex-dna 100000 OLD: gcc -O2 regex-dna.c -lpcre 0.77u 0.01s 0.78r gccgo -O2 regex-dna.go 10.15u 0.02s 10.23r gccgo -O2 regex-dna-parallel.go 33.81u 3.22s 11.62r gc regex-dna 6.52u 0.04s 6.56r gc regex-dna-parallel 6.84u 0.03s 2.70r gc_B regex-dna 6.83u 0.01s 6.84r NEW: gcc -O2 regex-dna.c -lpcre 0.47u 0.00s 0.47r gccgo -O2 regex-dna.go 6.00u 0.00s 6.00r gccgo -O2 regex-dna-parallel.go 44.54u 1.57s 6.51r gc regex-dna 5.41u 0.01s 5.42r gc regex-dna-parallel 5.62u 0.01s 2.20r gc_B regex-dna 5.50u 0.00s 5.50r spectral-norm 5500 OLD: gcc -O2 spectral-norm.c -lm 12.29u 0.00s 12.28r gccgo -O2 spectral-norm.go 11.56u 0.00s 11.55r gc spectral-norm 23.98u 0.00s 24.00r gc_B spectral-norm 24.62u 0.00s 24.65r NEW: gcc -O2 spectral-norm.c -lm 15.79u 0.00s 15.82r gccgo -O2 spectral-norm.go 15.32u 0.00s 15.35r gc spectral-norm 19.62u 0.01s 19.67r gc_B spectral-norm 19.62u 0.00s 19.66r k-nucleotide 1000000 OLD: gcc -O2 k-nucleotide.c 9.82u 0.06s 9.87r gccgo -O2 k-nucleotide.go 8.30u 0.02s 8.32r gccgo -O2 k-nucleotide-parallel.go 8.84u 0.05s 3.02r gc k-nucleotide 15.38u 0.07s 15.44r gc k-nucleotide-parallel 16.40u 0.03s 5.93r gc_B k-nucleotide 15.19u 0.05s 15.23r NEW: gcc -O2 -k-nucleotide.c 4.88u 0.03s 4.92r gccgo -O2 k-nucleotide.go 5.94u 0.01s 5.96r gccgo -O2 k-nucleotide-parallel.go 6.44u 0.03s 1.47r gc k-nucleotide 9.61u 0.01s 9.63r gc k-nucleotide-parallel 9.70u 0.00s 3.39r gc_B k-nucleotide 9.19u 0.03s 9.23r mandelbrot 16000 OLD: gcc -O2 mandelbrot.c 54.54u 0.00s 54.56r gccgo -O2 mandelbrot.go 59.63u 0.03s 59.67r gc mandelbrot 64.82u 0.00s 64.83r gc_B mandelbrot 64.84u 0.00s 64.91r NEW: gcc -O2 mandelbrot.c 36.07u 0.01s 36.15r gccgo -O2 mandelbrot.go 43.57u 0.00s 43.66r gc mandelbrot 60.66u 0.00s 60.79r gc_B mandelbrot 60.90u 0.00s 61.03r meteor 2098 OLD: gcc -O2 meteor-contest.c 0.11u 0.00s 0.10r gccgo -O2 meteor-contest.go 0.10u 0.01s 0.10r gc meteor-contest 0.18u 0.00s 0.17r gc_B meteor-contest 0.17u 0.00s 0.16r NEW: gcc -O2 meteor-contest.c 0.10u 0.00s 0.09r gccgo -O2 meteor-contest.go 0.10u 0.00s 0.09r gc meteor-contest 0.14u 0.00s 0.14r gc_B meteor-contest 0.13u 0.00s 0.13r pidigits 10000 OLD: gcc -O2 pidigits.c -lgmp 2.22u 0.00s 2.21r gccgo -O2 pidigits.go 13.39u 0.00s 13.40r gc pidigits 6.42u 0.04s 6.45r gc_B pidigits 6.45u 0.02s 6.47r NEW: gcc -O2 pidigits.c -lgmp 2.27u 0.00s 2.29r gccgo -O2 pidigits.go 9.21u 0.00s 9.22r gc pidigits 3.60u 0.00s 3.60r gc_B pidigits 3.56u 0.02s 3.58r threadring 50000000 OLD: gcc -O2 threadring.c -lpthread 34.51u 267.95s 336.12r gccgo -O2 threadring.go 103.51u 588.57s 627.16r gc threadring 54.68u 0.00s 54.73r NEW: gcc -O2 threadring.c 32.00u 259.39s 369.74r gccgo -O2 threadring.go 133.06u 546.02s 595.33r gc threadring 16.75u 0.02s 16.80r chameneos 6000000 OLD: gcc -O2 chameneosredux.c -lpthread 12.65u 31.02s 13.33r gccgo -O2 chameneosredux.go 47.04u 302.84s 252.29r gc chameneosredux 14.14u 0.00s 14.14r NEW: gcc -O2 chameneosredux.c -lpthread 8.05u 63.43s 11.16r gccgo -O2 chameneosredux.go 82.95u 304.37s 207.64r gc chameneosredux 9.42u 0.00s 9.43r # May 13, 2011 # after gc update to inline append when possible - 35% faster regex-dna 100000 gc regex-dna 3.94u 0.00s 3.95r gc regex-dna-parallel 4.15u 0.01s 1.63r gc_B regex-dna 4.01u 0.01s 4.02r # Aug 4, 2011 # After various updates to locking code and some runtime changes. # Slowdowns believed due to slower (but more correct) memmove. fannkuch 12 gccgo -O2 fannkuch.go 51.59u 0.00s 51.69r # -4% gccgo -O2 fannkuch-parallel.go 253.17u 0.00s 64.67r # -11% gc fannkuch 103.14u 0.00s 103.36r # -5% gc fannkuch-parallel 189.63u 0.00s 49.37r # +9% gc_B fannkuch 49.19u 0.00s 49.29r # -14% regex-dna 100000 gc regex-dna 3.78u 0.00s 3.78r # -43% gc regex-dna-parallel 3.84u 0.02s 1.48r # -49% gc_B regex-dna 3.62u 0.00s 3.63r # -52% k-nucleotide 1000000 gc k-nucleotide 12.23u 0.02s 12.27r # +27% gc k-nucleotide-parallel 12.76u 0.02s 4.37r # +29% gc_B k-nucleotide 12.18u 0.01s 12.21r # +33% threadring 50000000 gc threadring 17.49u 0.00s 17.53r # +4% chameneos 6000000 gc chameneosredux 7.61u 0.00s 7.63r # -24% Aug 9, 2011 # After custom algorithms for 1- 2- 4- 8-byte scalars. fannkuch 12 gc fannkuch-parallel 157.17u 0.00s 41.08r # -17% k-nucleotide 1000000 gc k-nucleotide 8.72u 0.03s 8.76r # -39% gc k-nucleotide-parallel 8.79u 0.01s 3.14r # -39% gc_B k-nucleotide 8.65u 0.03s 8.69r # -39% pidigits 10000 gc pidigits 3.71u 0.02s 3.73r # +4% gc_B pidigits 3.73u 0.00s 3.73r # +4% threadring 50000000 gc threadring 14.51u 0.00s 14.54r # -17% chameneos 6000000 gc chameneosredux 7.41u 0.00s 7.42r # -3% # A complete run at the Go 1 release. # Significant changes: # - gccgo is now enabled for all tests (goroutines are cheap enough) # - threadring and chameneos are 14% faster, probably due to runtime changes # - regex-dna 36% faster # - fannkuch-parallel (only) slowed down 40% # - gccgo on binary-tree-freelist is still optimized to nothing # Other changes are modest. fasta -n 25000000 gcc -O2 fasta.c 1.45u 0.02s 1.48r gccgo -O2 fasta.go 1.46u 0.00s 1.47r gc fasta 1.99u 0.01s 2.00r gc_B fasta 1.99u 0.01s 2.01r reverse-complement < output-of-fasta-25000000 gcc -O2 reverse-complement.c 0.95u 0.48s 4.99r gccgo -O2 reverse-complement.go 0.93u 0.16s 1.09r gc reverse-complement 1.20u 0.19s 1.39r gc_B reverse-complement 1.04u 0.16s 1.20r nbody -n 50000000 gcc -O2 -lm nbody.c 13.02u 0.00s 13.05r gccgo -O2 nbody.go 14.46u 0.00s 14.49r gc nbody 21.79u 0.00s 21.84r gc_B nbody 21.74u 0.00s 21.79r binary-tree 15 # too slow to use 20 gcc -O2 binary-tree.c -lm 0.60u 0.01s 0.61r gccgo -O2 binary-tree.go 1.30u 0.01s 1.32r gccgo -O2 binary-tree-freelist.go 0.00u 0.00s 0.00r gc binary-tree 1.84u 0.01s 1.86r gc binary-tree-freelist 0.33u 0.00s 0.33r fannkuch 12 gcc -O2 fannkuch.c 45.24u 0.00s 45.34r gccgo -O2 fannkuch.go 59.76u 0.01s 59.90r gccgo -O2 fannkuch-parallel.go 218.20u 0.01s 61.60r gc fannkuch 103.92u 0.00s 104.16r gc fannkuch-parallel 221.61u 0.00s 60.49r gc_B fannkuch 53.17u 0.00s 53.30r regex-dna 100000 gcc -O2 regex-dna.c -lpcre 0.47u 0.00s 0.48r gccgo -O2 regex-dna.go 6.52u 0.00s 6.54r gccgo -O2 regex-dna-parallel.go 14.40u 0.73s 4.35r gc regex-dna 2.63u 0.02s 2.66r # -36% gc regex-dna-parallel 2.87u 0.01s 1.11r gc_B regex-dna 2.65u 0.00s 2.66r spectral-norm 5500 gcc -O2 spectral-norm.c -lm 15.78u 0.00s 15.82r gccgo -O2 spectral-norm.go 15.79u 0.00s 15.83r gc spectral-norm 19.76u 0.00s 19.80r gc_B spectral-norm 19.73u 0.01s 19.78r k-nucleotide 1000000 gcc -O2 k-nucleotide.c 5.59u 0.03s 5.63r gccgo -O2 k-nucleotide.go 4.09u 0.03s 4.13r gccgo -O2 k-nucleotide-parallel.go 4.50u 0.06s 1.63r gc k-nucleotide 9.23u 0.02s 9.27r gc k-nucleotide-parallel 9.87u 0.03s 3.55r gc_B k-nucleotide 9.20u 0.00s 9.22r mandelbrot 16000 gcc -O2 mandelbrot.c 36.09u 0.00s 36.18r gccgo -O2 mandelbrot.go 41.69u 0.01s 41.80r gc mandelbrot 60.91u 0.02s 61.07r gc_B mandelbrot 60.90u 0.00s 61.04r meteor 2098 gcc -O2 meteor-contest.c 0.09u 0.00s 0.09r gccgo -O2 meteor-contest.go 0.09u 0.00s 0.09r gc meteor-contest 0.14u 0.00s 0.15r gc_B meteor-contest 0.14u 0.00s 0.14r pidigits 10000 gcc -O2 pidigits.c -lgmp 2.27u 0.00s 2.27r gccgo -O2 pidigits.go 8.65u 0.00s 8.67r gc pidigits 3.70u 0.04s 3.75r gc_B pidigits 3.72u 0.02s 3.75r threadring 50000000 gcc -O2 threadring.c 40.91u 369.85s 323.31r gccgo -O2 threadring.go 26.97u 30.82s 57.93r gc threadring 12.81u 0.01s 12.85r # -13% chameneos 6000000 gcc -O2 chameneosredux.c -lpthread 9.44u 72.90s 12.65r gccgo -O2 chameneosredux.go 7.73u 7.53s 15.30r gc chameneosredux 6.51u 0.00s 6.53r # - 14% # After http://codereview.appspot.com/6248049, moving panicindex # calls out of line (putting the likely code into a single path and shortening # loops). Significant changes since the last run (note: some are slower for # unrelated and as yet undiagnosed reasons): nbody -n 50000000 gc nbody 19.10u 0.01s 19.19r # -12% gc_B nbody 19.19u 0.00s 19.23r # -12% binary-tree 15 # too slow to use 20 gc binary-tree 1.49u 0.01s 1.51r # -19% fannkuch 12 gc fannkuch 60.79u 0.00s 60.92r # -41% gc fannkuch-parallel 183.51u 0.01s 51.75r # -14% gc_B fannkuch 51.68u 0.00s 51.79r # -3% k-nucleotide 1000000 gc k-nucleotide 9.74u 0.04s 9.80r # +6% gc k-nucleotide-parallel 9.89u 0.05s 3.59r # +1% gc_B k-nucleotide 9.39u 0.02s 9.43r # +2% mandelbrot (much slower, due to unrelated http://codereview.appspot.com/6209077) gc mandelbrot 100.98u 0.00s 101.20r # +65% gc_B mandelbrot 100.90u 0.01s 101.17r # +65% meteor 2098 gc meteor-contest 0.13u 0.00s 0.13r # -13% gc_B meteor-contest 0.13u 0.00s 0.13r # -7% # May 30, 2012. # After http://codereview.appspot.com/6261051, restoring old code generated # for floating-point constants. Mandelbrot is back to its previous numbers. mandelbrot 16000 gcc -O2 mandelbrot.c 36.07u 0.00s 36.16r gccgo -O2 mandelbrot.go 41.72u 0.01s 41.90r gc mandelbrot 60.62u 0.00s 60.76r gc_B mandelbrot 60.68u 0.00s 60.82r # May 30, 2012. # After http://codereview.appspot.com/6248068, better FP code # by avoiding MOVSD between registers. # Plus some other timing changes that have crept in from other speedups, # from garbage collection to Printf. fasta -n 25000000 gc fasta 1.76u 0.00s 1.76r # -12% gc_B fasta 1.71u 0.00s 1.72r # -12% nbody -n 50000000 gc nbody 17.56u 0.00s 17.60r # -8% gc_B nbody 17.30u 0.00s 17.34r # -10% fannkuch 12 gc fannkuch-parallel 155.92u 0.01s 44.05r # -15% k-nucleotide 1000000 gc k-nucleotide 9.22u 0.01s 9.26r # -5% gc k-nucleotide-parallel 9.23u 0.03s 3.26r # -9% gc_B k-nucleotide 9.22u 0.03s 9.28r # -2% mandelbrot 16000 gc mandelbrot 44.80u 0.00s 44.90r # -27% gc_B mandelbrot 44.81u 0.00s 44.92r # -26% pidigits 10000 gc pidigits 3.51u 0.00s 3.52r # -6% gc_B pidigits 3.51u 0.00s 3.52r # -6% # Aug 28, 2012 # After some assembler work in package big. pidigits 10000 gc pidigits 2.85u 0.02s 2.88r # -22% gc_B pidigits 2.88u 0.01s 2.90r # -21% # Sep 26, 2012 # 64-bit ints, plus significantly better floating-point code. # Interesting details: # Generally something in the 0-10% slower range, some (binary tree) more # Floating-point noticeably faster: # nbody -25% # mandelbrot -37% relative to Go 1. # Other: # regex-dna +47% fasta -n 25000000 gcc -O2 fasta.c 1.43u 0.03s 1.46r gccgo -O2 fasta.go 1.47u 0.00s 1.47r gc fasta 1.78u 0.01s 1.80r gc_B fasta 1.76u 0.00s 1.76r reverse-complement < output-of-fasta-25000000 gcc -O2 reverse-complement.c 1.14u 0.39s 11.19r gccgo -O2 reverse-complement.go 0.91u 0.17s 1.09r gc reverse-complement 1.12u 0.18s 1.31r gc_B reverse-complement 1.12u 0.15s 1.28r nbody -n 50000000 gcc -O2 nbody.c -lm 13.02u 0.00s 13.05r gccgo -O2 nbody.go 13.90u 0.00s 13.93r gc nbody 17.05u 0.00s 17.09r gc_B nbody 16.30u 0.00s 16.34r binary-tree 15 # too slow to use 20 gcc -O2 binary-tree.c -lm 0.61u 0.00s 0.61r gccgo -O2 binary-tree.go 1.24u 0.04s 1.29r gccgo -O2 binary-tree-freelist.go 0.21u 0.01s 0.22r gc binary-tree 1.93u 0.02s 1.96r gc binary-tree-freelist 0.32u 0.00s 0.33r fannkuch 12 gcc -O2 fannkuch.c 45.19u 0.00s 45.29r gccgo -O2 fannkuch.go 60.32u 0.00s 60.45r gccgo -O2 fannkuch-parallel.go 185.59u 0.00s 59.49r gc fannkuch 72.14u 0.00s 72.30r gc fannkuch-parallel 172.54u 0.00s 43.59r gc_B fannkuch 53.55u 0.00s 53.67r regex-dna 100000 gcc -O2 regex-dna.c -lpcre 0.47u 0.00s 0.47r gccgo -O2 regex-dna.go 6.49u 0.05s 6.56r gccgo -O2 regex-dna-parallel.go 14.60u 0.67s 4.42r gc regex-dna 3.91u 0.00s 3.92r gc regex-dna-parallel 4.01u 0.03s 1.56r gc_B regex-dna 3.91u 0.00s 3.92r spectral-norm 5500 gcc -O2 spectral-norm.c -lm 15.85u 0.00s 15.89r gccgo -O2 spectral-norm.go 15.86u 0.00s 15.89r gc spectral-norm 19.72u 0.00s 19.76r gc_B spectral-norm 19.68u 0.01s 19.74r k-nucleotide 1000000 gcc -O2 k-nucleotide.c -I/usr/include/glib-2.0 -I/usr/lib/glib-2.0/include -lglib-2.0 4.90u 0.01s 4.93r gccgo -O2 k-nucleotide.go 4.78u 0.01s 4.80r gccgo -O2 k-nucleotide-parallel.go 6.49u 0.02s 2.18r gc k-nucleotide 9.05u 0.02s 9.09r gc k-nucleotide-parallel 9.27u 0.01s 3.29r gc_B k-nucleotide 8.95u 0.03s 9.00r mandelbrot 16000 gcc -O2 mandelbrot.c 36.11u 0.00s 36.19r gccgo -O2 mandelbrot.go 43.67u 0.00s 43.77r gc mandelbrot 38.57u 0.00s 38.66r gc_B mandelbrot 38.59u 0.00s 38.68r meteor 2098 gcc -O2 meteor-contest.c 0.09u 0.00s 0.09r gccgo -O2 meteor-contest.go 0.09u 0.00s 0.09r gc meteor-contest 0.13u 0.00s 0.14r gc_B meteor-contest 0.12u 0.00s 0.13r pidigits 10000 gcc -O2 pidigits.c -lgmp 2.26u 0.00s 2.27r gccgo -O2 pidigits.go 9.05u 0.00s 9.07r gc pidigits 2.88u 0.02s 2.90r gc_B pidigits 2.89u 0.00s 2.90r threadring 50000000 gcc -O2 threadring.c -lpthread 37.30u 327.81s 289.28r gccgo -O2 threadring.go 42.83u 26.15s 69.14r gc threadring 13.00u 0.00s 13.03r chameneos 6000000 gcc -O2 chameneosredux.c -lpthread 8.80u 71.67s 12.19r gccgo -O2 chameneosredux.go 11.28u 6.68s 18.00r gc chameneosredux 6.94u 0.00s 6.96r # May 23, 2013 # Go 1.1, which includes precise GC, new scheduler, faster maps. # 20%-ish speedups across many benchmarks. # gccgo showing significant improvement (even though it's not yet up to Go 1.1) # # Standouts: # fannkuch, regex-dna, k-nucleotide, threadring, chameneos fasta -n 25000000 gcc -m64 -O2 fasta.c 1.54u 0.01s 1.55r gccgo -O2 fasta.go 1.42u 0.00s 1.43r gc fasta 1.50u 0.01s 1.52r # -16% gc_B fasta 1.46u 0.00s 1.46r # -17% reverse-complement < output-of-fasta-25000000 gcc -m64 -O2 reverse-complement.c 0.87u 0.37s 4.36r gccgo -O2 reverse-complement.go 0.77u 0.15s 0.93r # -15% gc reverse-complement 0.99u 0.12s 1.12r # -15% gc_B reverse-complement 0.85u 0.17s 1.02r # -21% nbody -n 50000000 gcc -m64 -O2 nbody.c -lm 13.50u 0.00s 13.53r gccgo -O2 nbody.go 13.98u 0.01s 14.02r gc nbody 16.63u 0.01s 16.67r gc_B nbody 15.74u 0.00s 15.76r binary-tree 15 # too slow to use 20 gcc -m64 -O2 binary-tree.c -lm 0.61u 0.00s 0.61r gccgo -O2 binary-tree.go 1.11u 0.01s 1.12r # -13% gccgo -O2 binary-tree-freelist.go 0.22u 0.01s 0.23r gc binary-tree 1.83u 0.02s 1.83r # -7% gc binary-tree-freelist 0.32u 0.00s 0.32r fannkuch 12 gcc -m64 -O2 fannkuch.c 45.56u 0.00s 45.67r gccgo -O2 fannkuch.go 57.71u 0.00s 57.85r # -4% gccgo -O2 fannkuch-parallel.go 146.31u 0.00s 37.50r #-37% gc fannkuch 70.06u 0.03s 70.17r # -3% gc fannkuch-parallel 131.88u 0.06s 33.59r # -23% gc_B fannkuch 45.55u 0.02s 45.63r # -15% regex-dna 100000 gcc -m64 -O2 regex-dna.c -lpcre 0.44u 0.01s 0.45r gccgo -O2 regex-dna.go 5.59u 0.00s 5.61r # -14% gccgo -O2 regex-dna-parallel.go 10.85u 0.30s 3.34r # -24% gc regex-dna 2.23u 0.01s 2.25r # -43% gc regex-dna-parallel 2.35u 0.00s 0.93r # -40% gc_B regex-dna 2.24u 0.01s 2.25r # -43% spectral-norm 5500 gcc -m64 -O2 spectral-norm.c -lm 14.84u 0.00s 14.88r gccgo -O2 spectral-norm.go 15.33u 0.00s 15.37r gc spectral-norm 16.75u 0.02s 16.79r # -15% gc_B spectral-norm 16.77u 0.01s 16.79r # -15% k-nucleotide 1000000 gcc -O2 k-nucleotide.c -I/usr/include/glib-2.0 -I/usr/lib/x86_64-linux-gnu/glib-2.0/include -lglib-2.0 4.50u 0.00s 4.52r gccgo -O2 k-nucleotide.go 3.72u 0.04s 3.77r # -21% gccgo -O2 k-nucleotide-parallel.go 3.88u 0.03s 1.42r # -35% gc k-nucleotide 6.32u 0.01s 6.33r # -31% gc k-nucleotide-parallel 6.47u 0.05s 2.13r # -33% gc_B k-nucleotide 6.45u 0.01s 6.47r # - 28% mandelbrot 16000 gcc -m64 -O2 mandelbrot.c 36.03u 0.00s 36.11r gccgo -O2 mandelbrot.go 37.61u 0.00s 37.74r # -14% gc mandelbrot 38.19u 0.05s 38.29r gc_B mandelbrot 38.19u 0.03s 38.26r meteor 2098 gcc -m64 -O2 meteor-contest.c 0.08u 0.00s 0.08r gccgo -O2 meteor-contest.go 0.09u 0.01s 0.10r gc meteor-contest 0.12u 0.00s 0.12r # -15% although perhaps just noise gc_B meteor-contest 0.11u 0.00s 0.12r # -8% although perhaps just noise pidigits 10000 gcc -m64 -O2 pidigits.c -lgmp 2.27u 0.00s 2.28r gccgo -O2 pidigits.go 8.95u 0.02s 8.99r gc pidigits 2.88u 0.14s 2.91r gc_B pidigits 2.92u 0.10s 2.91r threadring 50000000 gcc -m64 -O2 threadring.c -lpthread 14.75u 167.88s 212.23r gccgo -O2 threadring.go 36.72u 12.08s 48.91r # -29% gc threadring 10.93u 0.01s 10.95r # -16% chameneos 6000000 gcc -m64 -O2 chameneosredux.c -lpthread 8.89u 56.62s 9.75r gccgo -O2 chameneosredux.go 9.48u 2.48s 11.99r # -33% gc chameneosredux 5.80u 0.00s 5.81r # -16% ././@LongLink0000644000000000000000000000015000000000000011577 Lustar rootrootdependencies/pkg/mod/golang.org/x/exp@v0.0.0-20240506185415-9bf2ced13842/shootout/reverse-complement.godependencies/pkg/mod/golang.org/x/exp@v0.0.0-20240506185415-9bf2ced13842/shootout/reverse-complement0000644000000000000000000000577015107355263030355 0ustar rootroot//go:build ignore // +build ignore /* 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 "The Computer Language Benchmarks Game" nor the name of "The Computer Language Shootout Benchmarks" 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. */ /* The Computer Language Benchmarks Game * http://shootout.alioth.debian.org/ * * contributed by The Go Authors. */ package main import ( "bufio" "os" ) const lineSize = 60 var complement = [256]uint8{ 'A': 'T', 'a': 'T', 'C': 'G', 'c': 'G', 'G': 'C', 'g': 'C', 'T': 'A', 't': 'A', 'U': 'A', 'u': 'A', 'M': 'K', 'm': 'K', 'R': 'Y', 'r': 'Y', 'W': 'W', 'w': 'W', 'S': 'S', 's': 'S', 'Y': 'R', 'y': 'R', 'K': 'M', 'k': 'M', 'V': 'B', 'v': 'B', 'H': 'D', 'h': 'D', 'D': 'H', 'd': 'H', 'B': 'V', 'b': 'V', 'N': 'N', 'n': 'N', } func main() { in := bufio.NewReader(os.Stdin) buf := make([]byte, 1024*1024) line, err := in.ReadSlice('\n') for err == nil { os.Stdout.Write(line) // Accumulate reversed complement in buf[w:] nchar := 0 w := len(buf) for { line, err = in.ReadSlice('\n') if err != nil || line[0] == '>' { break } line = line[0 : len(line)-1] nchar += len(line) if len(line)+nchar/60+128 >= w { nbuf := make([]byte, len(buf)*5) copy(nbuf[len(nbuf)-len(buf):], buf) w += len(nbuf) - len(buf) buf = nbuf } // This loop is the bottleneck. for _, c := range line { w-- buf[w] = complement[c] } } // Copy down to beginning of buffer, inserting newlines. // The loop left room for the newlines and 128 bytes of padding. i := 0 for j := w; j < len(buf); j += 60 { n := copy(buf[i:i+60], buf[j:]) buf[i+n] = '\n' i += n + 1 } os.Stdout.Write(buf[0:i]) } } dependencies/pkg/mod/golang.org/x/exp@v0.0.0-20240506185415-9bf2ced13842/shootout/timing.sh0000644000000000000000000001270015107355263026430 0ustar rootroot#!/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. set -e eval $(go tool dist env) GC="go tool compile" LD="go tool link" gccm="" case "$O" in 8) gccm=-m32;; 6) gccm=-m64;; esac EXE="out" havepcre=true haveglib=true havegmp=true case "$(uname)" in *MINGW* | *WIN32* | *CYGWIN*) havepcre=false haveglib=false havegmp=false if which pkg-config >/dev/null 2>&1; then if pkg-config --cflags libpcre >/dev/null 2>&1 then echo "havepcre" havepcre=true fi if pkg-config --cflags glib-2.0 >/dev/null 2>&1 then haveglib=true fi if pkg-config --cflags gmp >/dev/null 2>&1 then havegmp=true fi fi EXE=exe;; esac PATH=.:$PATH havegccgo=false if which gccgo >/dev/null 2>&1 then havegccgo=true fi mode=run case X"$1" in X-test) mode=test shift esac gc() { $GC $1.go; $LD -o a.$EXE $1.o } gc_B() { $GC -B $1.go; $LD -o a.$EXE $1.o } runonly() { if [ $mode = run ] then "$@" fi } run() { if [ $mode = test ] then if echo $1 | grep -q '^gc ' then $1 # compile the program program=$(echo $1 | sed 's/gc //') shift echo $program $1 /tmp/$$ case $program in chameneosredux) # exact numbers may vary but non-numbers should match grep -v '[0-9]' /tmp/$$ > /tmp/$$x grep -v '[0-9]' chameneosredux.txt > /tmp/$$y cmp /tmp/$$x /tmp/$$y rm -f /tmp/$$ /tmp/$$x /tmp/$$y ;; *) cmp /tmp/$$ $program.txt rm -f /tmp/$$ esac fi return fi if ! $havegccgo && echo $1 | grep -q '^gccgo ' then return fi echo -n ' '$1' ' $1 shift echo $((time -p $* >/dev/null) 2>&1) | awk '{print $4 "u " $6 "s " $2 "r"}' } fasta() { runonly echo 'fasta -n 25000000' run "gcc $gccm -O2 fasta.c" a.$EXE 25000000 run 'gccgo -O2 fasta.go' a.$EXE -n 25000000 #commented out until WriteString is in bufio run 'gc fasta' a.$EXE -n 25000000 run 'gc_B fasta' a.$EXE -n 25000000 } revcomp() { runonly gcc -O2 fasta.c runonly a.$EXE 25000000 > x runonly echo 'reverse-complement < output-of-fasta-25000000' run "gcc $gccm -O2 reverse-complement.c" a.$EXE < x run 'gccgo -O2 reverse-complement.go' a.$EXE < x run 'gc reverse-complement' a.$EXE < x run 'gc_B reverse-complement' a.$EXE < x rm x } nbody() { runonly echo 'nbody -n 50000000' run "gcc $gccm -O2 nbody.c -lm" a.$EXE 50000000 run 'gccgo -O2 nbody.go' a.$EXE -n 50000000 run 'gc nbody' a.$EXE -n 50000000 run 'gc_B nbody' a.$EXE -n 50000000 } binarytree() { runonly echo 'binary-tree 15 # too slow to use 20' run "gcc $gccm -O2 binary-tree.c -lm" a.$EXE 15 run 'gccgo -O2 binary-tree.go' a.$EXE -n 15 run 'gccgo -O2 binary-tree-freelist.go' a.$EXE -n 15 run 'gc binary-tree' a.$EXE -n 15 run 'gc binary-tree-freelist' a.$EXE -n 15 } fannkuch() { runonly echo 'fannkuch 12' run "gcc $gccm -O2 fannkuch.c" a.$EXE 12 run 'gccgo -O2 fannkuch.go' a.$EXE -n 12 run 'gccgo -O2 fannkuch-parallel.go' a.$EXE -n 12 run 'gc fannkuch' a.$EXE -n 12 run 'gc fannkuch-parallel' a.$EXE -n 12 run 'gc_B fannkuch' a.$EXE -n 12 } regexdna() { runonly gcc -O2 fasta.c runonly a.$EXE 100000 > x runonly echo 'regex-dna 100000' if $havepcre; then run "gcc $gccm -O2 regex-dna.c $(pkg-config libpcre --cflags --libs)" a.$EXE x # should be using 25000000 runonly echo 'k-nucleotide 1000000' if [ $mode = run ] && $haveglib; then run "gcc -O2 k-nucleotide.c $(pkg-config glib-2.0 --cflags --libs)" a.$EXE #include #include enum Colour { blue = 0, red = 1, yellow = 2, Invalid = 3 }; const char* ColourName[] = {"blue", "red", "yellow"}; const int STACK_SIZE = 32*1024; typedef unsigned int BOOL; const BOOL TRUE = 1; const BOOL FALSE = 0; int CreatureID = 0; enum Colour doCompliment(enum Colour c1, enum Colour c2) { switch (c1) { case blue: switch (c2) { case blue: return blue; case red: return yellow; case yellow: return red; default: goto errlb; } case red: switch (c2) { case blue: return yellow; case red: return red; case yellow: return blue; default: goto errlb; } case yellow: switch (c2) { case blue: return red; case red: return blue; case yellow: return yellow; default: goto errlb; } default: break; } errlb: printf("Invalid colour\n"); exit( 1 ); } /* convert integer to number string: 1234 -> "one two three four" */ char* formatNumber(int n, char* outbuf) { int ochar = 0, ichar = 0; int i; char tmp[64]; const char* NUMBERS[] = { "zero", "one", "two", "three", "four", "five", "six", "seven", "eight", "nine" }; ichar = sprintf(tmp, "%d", n); for (i = 0; i < ichar; i++) ochar += sprintf( outbuf + ochar, " %s", NUMBERS[ tmp[i] - '0' ] ); return outbuf; } struct MeetingPlace { pthread_mutex_t mutex; int meetingsLeft; struct Creature* firstCreature; }; struct Creature { pthread_t ht; pthread_attr_t stack_att; struct MeetingPlace* place; int count; int sameCount; enum Colour colour; int id; BOOL two_met; BOOL sameid; }; void MeetingPlace_Init(struct MeetingPlace* m, int meetings ) { pthread_mutex_init( &m->mutex, 0 ); m->meetingsLeft = meetings; m->firstCreature = 0; } BOOL Meet( struct Creature* cr) { BOOL retval = TRUE; struct MeetingPlace* mp = cr->place; pthread_mutex_lock( &(mp->mutex) ); if ( mp->meetingsLeft > 0 ) { if ( mp->firstCreature == 0 ) { cr->two_met = FALSE; mp->firstCreature = cr; } else { struct Creature* first; enum Colour newColour; first = mp->firstCreature; newColour = doCompliment( cr->colour, first->colour ); cr->sameid = cr->id == first->id; cr->colour = newColour; cr->two_met = TRUE; first->sameid = cr->sameid; first->colour = newColour; first->two_met = TRUE; mp->firstCreature = 0; mp->meetingsLeft--; } } else retval = FALSE; pthread_mutex_unlock( &(mp->mutex) ); return retval; } void* CreatureThreadRun(void* param) { struct Creature* cr = (struct Creature*)param; while (TRUE) { if ( Meet(cr) ) { while (cr->two_met == FALSE) sched_yield(); if (cr->sameid) cr->sameCount++; cr->count++; } else break; } return 0; } void Creature_Init( struct Creature *cr, struct MeetingPlace* place, enum Colour colour ) { cr->place = place; cr->count = cr->sameCount = 0; cr->id = ++CreatureID; cr->colour = colour; cr->two_met = FALSE; pthread_attr_init( &cr->stack_att ); pthread_attr_setstacksize( &cr->stack_att, STACK_SIZE ); pthread_create( &cr->ht, &cr->stack_att, &CreatureThreadRun, (void*)(cr) ); } /* format meeting times of each creature to string */ char* Creature_getResult(struct Creature* cr, char* str) { char numstr[256]; formatNumber(cr->sameCount, numstr); sprintf( str, "%u%s", cr->count, numstr ); return str; } void runGame( int n_meeting, int ncolor, const enum Colour* colours ) { int i; int total = 0; char str[256]; struct MeetingPlace place; struct Creature *creatures = (struct Creature*) calloc( ncolor, sizeof(struct Creature) ); MeetingPlace_Init( &place, n_meeting ); /* print initial color of each creature */ for (i = 0; i < ncolor; i++) { printf( "%s ", ColourName[ colours[i] ] ); Creature_Init( &(creatures[i]), &place, colours[i] ); } printf("\n"); /* wait for them to meet */ for (i = 0; i < ncolor; i++) pthread_join( creatures[i].ht, 0 ); /* print meeting times of each creature */ for (i = 0; i < ncolor; i++) { printf( "%s\n", Creature_getResult(&(creatures[i]), str) ); total += creatures[i].count; } /* print total meeting times, should equal n_meeting */ printf( "%s\n\n", formatNumber(total, str) ); /* cleaup & quit */ pthread_mutex_destroy( &place.mutex ); free( creatures ); } void printColours( enum Colour c1, enum Colour c2 ) { printf( "%s + %s -> %s\n", ColourName[c1], ColourName[c2], ColourName[doCompliment(c1, c2)] ); } void printColoursTable(void) { printColours(blue, blue); printColours(blue, red); printColours(blue, yellow); printColours(red, blue); printColours(red, red); printColours(red, yellow); printColours(yellow, blue); printColours(yellow, red); printColours(yellow, yellow); } int main(int argc, char** argv) { int n = (argc == 2) ? atoi(argv[1]) : 600; printColoursTable(); printf("\n"); const enum Colour r1[] = { blue, red, yellow }; const enum Colour r2[] = { blue, red, yellow, red, yellow, blue, red, yellow, red, blue }; runGame( n, sizeof(r1) / sizeof(r1[0]), r1 ); runGame( n, sizeof(r2) / sizeof(r2[0]), r2 ); return 0; } dependencies/pkg/mod/golang.org/x/exp@v0.0.0-20240506185415-9bf2ced13842/shootout/fasta.go0000644000000000000000000001121115107355263026226 0ustar rootroot//go:build ignore // +build ignore /* 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 "The Computer Language Benchmarks Game" nor the name of "The Computer Language Shootout Benchmarks" 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. */ /* The Computer Language Benchmarks Game * http://shootout.alioth.debian.org/ * * contributed by The Go Authors. * Based on C program by by Petr Prokhorenkov. */ package main import ( "flag" "os" ) var out = make(buffer, 0, 32768) var n = flag.Int("n", 1000, "length of result") const Line = 60 func Repeat(alu []byte, n int) { buf := append(alu, alu...) off := 0 for n > 0 { m := n if m > Line { m = Line } buf1 := out.NextWrite(m + 1) copy(buf1, buf[off:]) buf1[m] = '\n' if off += m; off >= len(alu) { off -= len(alu) } n -= m } } const ( IM = 139968 IA = 3877 IC = 29573 LookupSize = 4096 LookupScale float64 = LookupSize - 1 ) var rand uint32 = 42 type Acid struct { sym byte prob float64 cprob float64 next *Acid } func computeLookup(acid []Acid) *[LookupSize]*Acid { var lookup [LookupSize]*Acid var p float64 for i := range acid { p += acid[i].prob acid[i].cprob = p * LookupScale if i > 0 { acid[i-1].next = &acid[i] } } acid[len(acid)-1].cprob = 1.0 * LookupScale j := 0 for i := range lookup { for acid[j].cprob < float64(i) { j++ } lookup[i] = &acid[j] } return &lookup } func Random(acid []Acid, n int) { lookup := computeLookup(acid) for n > 0 { m := n if m > Line { m = Line } buf := out.NextWrite(m + 1) f := LookupScale / IM myrand := rand for i := 0; i < m; i++ { myrand = (myrand*IA + IC) % IM r := float64(int(myrand)) * f a := lookup[int(r)] for a.cprob < r { a = a.next } buf[i] = a.sym } rand = myrand buf[m] = '\n' n -= m } } func main() { defer out.Flush() flag.Parse() iub := []Acid{ {prob: 0.27, sym: 'a'}, {prob: 0.12, sym: 'c'}, {prob: 0.12, sym: 'g'}, {prob: 0.27, sym: 't'}, {prob: 0.02, sym: 'B'}, {prob: 0.02, sym: 'D'}, {prob: 0.02, sym: 'H'}, {prob: 0.02, sym: 'K'}, {prob: 0.02, sym: 'M'}, {prob: 0.02, sym: 'N'}, {prob: 0.02, sym: 'R'}, {prob: 0.02, sym: 'S'}, {prob: 0.02, sym: 'V'}, {prob: 0.02, sym: 'W'}, {prob: 0.02, sym: 'Y'}, } homosapiens := []Acid{ {prob: 0.3029549426680, sym: 'a'}, {prob: 0.1979883004921, sym: 'c'}, {prob: 0.1975473066391, sym: 'g'}, {prob: 0.3015094502008, sym: 't'}, } alu := []byte( "GGCCGGGCGCGGTGGCTCACGCCTGTAATCCCAGCACTTTGG" + "GAGGCCGAGGCGGGCGGATCACCTGAGGTCAGGAGTTCGAGA" + "CCAGCCTGGCCAACATGGTGAAACCCCGTCTCTACTAAAAAT" + "ACAAAAATTAGCCGGGCGTGGTGGCGCGCGCCTGTAATCCCA" + "GCTACTCGGGAGGCTGAGGCAGGAGAATCGCTTGAACCCGGG" + "AGGCGGAGGTTGCAGTGAGCCGAGATCGCGCCACTGCACTCC" + "AGCCTGGGCGACAGAGCGAGACTCCGTCTCAAAAA") out.WriteString(">ONE Homo sapiens alu\n") Repeat(alu, 2**n) out.WriteString(">TWO IUB ambiguity codes\n") Random(iub, 3**n) out.WriteString(">THREE Homo sapiens frequency\n") Random(homosapiens, 5**n) } type buffer []byte func (b *buffer) Flush() { p := *b if len(p) > 0 { os.Stdout.Write(p) } *b = p[0:0] } func (b *buffer) WriteString(s string) { p := b.NextWrite(len(s)) copy(p, s) } func (b *buffer) NextWrite(n int) []byte { p := *b if len(p)+n > cap(p) { b.Flush() p = *b } out := p[len(p) : len(p)+n] *b = p[:len(p)+n] return out } ././@LongLink0000644000000000000000000000015000000000000011577 Lustar rootrootdependencies/pkg/mod/golang.org/x/exp@v0.0.0-20240506185415-9bf2ced13842/shootout/regex-dna-parallel.godependencies/pkg/mod/golang.org/x/exp@v0.0.0-20240506185415-9bf2ced13842/shootout/regex-dna-parallel0000644000000000000000000000650615107355263030203 0ustar rootroot//go:build ignore // +build ignore /* 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 "The Computer Language Benchmarks Game" nor the name of "The Computer Language Shootout Benchmarks" 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. */ /* The Computer Language Benchmarks Game * http://shootout.alioth.debian.org/ * * contributed by The Go Authors. */ package main import ( "fmt" "io" "os" "regexp" "runtime" ) var variants = []string{ "agggtaaa|tttaccct", "[cgt]gggtaaa|tttaccc[acg]", "a[act]ggtaaa|tttacc[agt]t", "ag[act]gtaaa|tttac[agt]ct", "agg[act]taaa|ttta[agt]cct", "aggg[acg]aaa|ttt[cgt]ccct", "agggt[cgt]aa|tt[acg]accct", "agggta[cgt]a|t[acg]taccct", "agggtaa[cgt]|[acg]ttaccct", } type Subst struct { pat, repl string } var substs = []Subst{ Subst{"B", "(c|g|t)"}, Subst{"D", "(a|g|t)"}, Subst{"H", "(a|c|t)"}, Subst{"K", "(g|t)"}, Subst{"M", "(a|c)"}, Subst{"N", "(a|c|g|t)"}, Subst{"R", "(a|g)"}, Subst{"S", "(c|g)"}, Subst{"V", "(a|c|g)"}, Subst{"W", "(a|t)"}, Subst{"Y", "(c|t)"}, } func countMatches(pat string, bytes []byte) int { re := regexp.MustCompile(pat) n := 0 for { e := re.FindIndex(bytes) if e == nil { break } n++ bytes = bytes[e[1]:] } return n } func main() { runtime.GOMAXPROCS(4) bytes, err := io.ReadAll(os.Stdin) if err != nil { fmt.Fprintf(os.Stderr, "can't read input: %s\n", err) os.Exit(2) } ilen := len(bytes) // Delete the comment lines and newlines bytes = regexp.MustCompile("(>[^\n]+)?\n").ReplaceAll(bytes, []byte{}) clen := len(bytes) mresults := make([]chan int, len(variants)) for i, s := range variants { ch := make(chan int) mresults[i] = ch go func(ss string) { ch <- countMatches(ss, bytes) }(s) } lenresult := make(chan int) bb := bytes go func() { for _, sub := range substs { bb = regexp.MustCompile(sub.pat).ReplaceAll(bb, []byte(sub.repl)) } lenresult <- len(bb) }() for i, s := range variants { fmt.Printf("%s %d\n", s, <-mresults[i]) } fmt.Printf("\n%d\n%d\n%d\n", ilen, clen, <-lenresult) } dependencies/pkg/mod/golang.org/x/exp@v0.0.0-20240506185415-9bf2ced13842/shootout/spectral-norm.go0000644000000000000000000000512115107355263027721 0ustar rootroot//go:build ignore // +build ignore /* 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 "The Computer Language Benchmarks Game" nor the name of "The Computer Language Shootout Benchmarks" 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. */ /* The Computer Language Benchmarks Game * http://shootout.alioth.debian.org/ * * contributed by The Go Authors. * Based on spectral-norm.c by Sebastien Loisel */ package main import ( "flag" "fmt" "math" ) var n = flag.Int("n", 2000, "count") func evalA(i, j int) float64 { return 1 / float64(((i+j)*(i+j+1)/2 + i + 1)) } type Vec []float64 func (v Vec) Times(u Vec) { for i := 0; i < len(v); i++ { v[i] = 0 for j := 0; j < len(u); j++ { v[i] += evalA(i, j) * u[j] } } } func (v Vec) TimesTransp(u Vec) { for i := 0; i < len(v); i++ { v[i] = 0 for j := 0; j < len(u); j++ { v[i] += evalA(j, i) * u[j] } } } func (v Vec) ATimesTransp(u Vec) { x := make(Vec, len(u)) x.Times(u) v.TimesTransp(x) } func main() { flag.Parse() N := *n u := make(Vec, N) for i := 0; i < N; i++ { u[i] = 1 } v := make(Vec, N) for i := 0; i < 10; i++ { v.ATimesTransp(u) u.ATimesTransp(v) } var vBv, vv float64 for i := 0; i < N; i++ { vBv += u[i] * v[i] vv += v[i] * v[i] } fmt.Printf("%0.9f\n", math.Sqrt(vBv/vv)) } dependencies/pkg/mod/golang.org/x/exp@v0.0.0-20240506185415-9bf2ced13842/shootout/mandelbrot.c0000644000000000000000000000564315107355263027110 0ustar rootroot// +build ignore /* 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 "The Computer Language Benchmarks Game" nor the name of "The Computer Language Shootout Benchmarks" 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. */ /* The Computer Language Shootout http://shootout.alioth.debian.org/ contributed by Greg Buchholz for the debian (AMD) machine... compile flags: -O3 -ffast-math -march=athlon-xp -funroll-loops for the gp4 (Intel) machine... compile flags: -O3 -ffast-math -march=pentium4 -funroll-loops */ #include int main (int argc, char **argv) { int w, h, bit_num = 0; char byte_acc = 0; int i, iter = 50; double x, y, limit = 2.0; double Zr, Zi, Cr, Ci, Tr, Ti; w = h = atoi(argv[1]); printf("P4\n%d %d\n",w,h); for(y=0;y blue blue + red -> yellow blue + yellow -> red red + blue -> yellow red + red -> red red + yellow -> blue yellow + blue -> red yellow + red -> blue yellow + yellow -> yellow blue red yellow 400 zero 400 zero 400 zero one two zero zero blue red yellow red yellow blue red yellow red blue 120 zero 120 zero 120 zero 120 zero 120 zero 120 zero 120 zero 120 zero 120 zero 120 zero one two zero zero ././@LongLink0000644000000000000000000000015100000000000011600 Lustar rootrootdependencies/pkg/mod/golang.org/x/exp@v0.0.0-20240506185415-9bf2ced13842/shootout/regex-dna-parallel.txtdependencies/pkg/mod/golang.org/x/exp@v0.0.0-20240506185415-9bf2ced13842/shootout/regex-dna-parallel0000644000000000000000000000040715107355263030175 0ustar rootrootagggtaaa|tttaccct 1 [cgt]gggtaaa|tttaccc[acg] 0 a[act]ggtaaa|tttacc[agt]t 0 ag[act]gtaaa|tttac[agt]ct 0 agg[act]taaa|ttta[agt]cct 1 aggg[acg]aaa|ttt[cgt]ccct 0 agggt[cgt]aa|tt[acg]accct 0 agggta[cgt]a|t[acg]taccct 0 agggtaa[cgt]|[acg]ttaccct 2 10245 10000 13348 dependencies/pkg/mod/golang.org/x/exp@v0.0.0-20240506185415-9bf2ced13842/shootout/regex-dna.go0000644000000000000000000000604515107355263027013 0ustar rootroot//go:build ignore // +build ignore /* 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 "The Computer Language Benchmarks Game" nor the name of "The Computer Language Shootout Benchmarks" 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. */ /* The Computer Language Benchmarks Game * http://shootout.alioth.debian.org/ * * contributed by The Go Authors. */ package main import ( "fmt" "io" "os" "regexp" ) var variants = []string{ "agggtaaa|tttaccct", "[cgt]gggtaaa|tttaccc[acg]", "a[act]ggtaaa|tttacc[agt]t", "ag[act]gtaaa|tttac[agt]ct", "agg[act]taaa|ttta[agt]cct", "aggg[acg]aaa|ttt[cgt]ccct", "agggt[cgt]aa|tt[acg]accct", "agggta[cgt]a|t[acg]taccct", "agggtaa[cgt]|[acg]ttaccct", } type Subst struct { pat, repl string } var substs = []Subst{ Subst{"B", "(c|g|t)"}, Subst{"D", "(a|g|t)"}, Subst{"H", "(a|c|t)"}, Subst{"K", "(g|t)"}, Subst{"M", "(a|c)"}, Subst{"N", "(a|c|g|t)"}, Subst{"R", "(a|g)"}, Subst{"S", "(c|g)"}, Subst{"V", "(a|c|g)"}, Subst{"W", "(a|t)"}, Subst{"Y", "(c|t)"}, } func countMatches(pat string, bytes []byte) int { re := regexp.MustCompile(pat) n := 0 for { e := re.FindIndex(bytes) if len(e) == 0 { break } n++ bytes = bytes[e[1]:] } return n } func main() { bytes, err := io.ReadAll(os.Stdin) if err != nil { fmt.Fprintf(os.Stderr, "can't read input: %s\n", err) os.Exit(2) } ilen := len(bytes) // Delete the comment lines and newlines bytes = regexp.MustCompile("(>[^\n]+)?\n").ReplaceAll(bytes, []byte{}) clen := len(bytes) for _, s := range variants { fmt.Printf("%s %d\n", s, countMatches(s, bytes)) } for _, sub := range substs { bytes = regexp.MustCompile(sub.pat).ReplaceAll(bytes, []byte(sub.repl)) } fmt.Printf("\n%d\n%d\n%d\n", ilen, clen, len(bytes)) } dependencies/pkg/mod/golang.org/x/exp@v0.0.0-20240506185415-9bf2ced13842/shootout/binary-tree.txt0000644000000000000000000000045215107355263027570 0ustar rootrootstretch tree of depth 16 check: -1 65536 trees of depth 4 check: -65536 16384 trees of depth 6 check: -16384 4096 trees of depth 8 check: -4096 1024 trees of depth 10 check: -1024 256 trees of depth 12 check: -256 64 trees of depth 14 check: -64 long lived tree of depth 15 check: -1 ././@LongLink0000644000000000000000000000014700000000000011605 Lustar rootrootdependencies/pkg/mod/golang.org/x/exp@v0.0.0-20240506185415-9bf2ced13842/shootout/reverse-complement.cdependencies/pkg/mod/golang.org/x/exp@v0.0.0-20240506185415-9bf2ced13842/shootout/reverse-complement0000644000000000000000000001016415107355263030346 0ustar rootroot// +build ignore /* 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 "The Computer Language Benchmarks Game" nor the name of "The Computer Language Shootout Benchmarks" 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. */ /* * The Computer Language Benchmarks Game * http://shootout.alioth.debian.org * * contributed by Bob W */ #include #include #define JBFSIZE 82 // line input buffer size #define QBFSIZE 5200 // output buffer initial size #define Z16 "\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0" #define V32 "\0TVGH\0\0CD\0\0M\0KN\0\0\0YSA\0BW\0R\0\0\0\0\0\0" #define VALL Z16 Z16 Z16 Z16 V32 V32 Z16 Z16 Z16 Z16 Z16 Z16 Z16 Z16 int errex(char *s, int n) { // error message+value, return 1 fprintf(stderr,"\n*** Error: %s [%d]!\n", s, n); return 1; } int main () { // ***** main ***** char *pj, *pq, *pr; // buffer pointers: inp,out,/out char *jjj = malloc(JBFSIZE); // allocate input line buffer char *qqq = malloc(QBFSIZE); // output buffer (dyn. size) char *pqstop = qqq+QBFSIZE; // end-of-buffer pointer char xtab[256] = VALL; // char conversion table if (!jjj || !qqq) return errex("Buffer allocation", !jjj + !qqq); pj = fgets(jjj,JBFSIZE,stdin); // fetch 1st line if (!pj) return errex("No input data",0); if (*jjj != '>') return errex("1st char not '>'", 0); while (pj) { // MAIN LOOP: process data fputs(jjj, stdout); // output ID line for (pq=qqq+1, pr=pqstop; ; pq++) { // LOOP: fill output buffer pj = fgets(jjj, JBFSIZE, stdin); // get line from stdin if (!pj || (*jjj=='>')) break; // EOF or new ID line if (pr <= (pq+61)) { // need to resize buffer char *newstop = pqstop + 12777888; char *newptr = realloc(qqq, newstop-qqq); if (!newptr) return errex("Out of memory", 0); if (newptr != qqq) { // new base: adj. pointers size_t x = newptr-qqq; // offset for pointer update pq+=x; pr+=x; qqq+=x; newstop+=x; pqstop+=x; } pr = __builtin_memmove(newstop-(pqstop-pr), pr, pqstop-pr); pqstop = newstop; // buffer resize complete } while (*pj) { // LOOP: conv. & revert line char c = xtab[(unsigned char)(*pj++)]; if (c) // conversion valid *(--pr) = c; } } for (pq = qqq; pr #include #include #include #include #include // PTHREAD_STACK_MIN undeclared on mingw #ifndef PTHREAD_STACK_MIN #define PTHREAD_STACK_MIN 65535 #endif #define THREADS (503) struct stack { char x[PTHREAD_STACK_MIN]; }; /* staticaly initialize mutex[0] mutex */ static pthread_mutex_t mutex[THREADS]; static int data[THREADS]; static struct stack stacks[THREADS]; /* stacks must be defined staticaly, or my i386 box run of virtual memory for this * process while creating thread +- #400 */ static void* thread(void *num) { int l = (int)(uintptr_t)num; int r = (l+1) % THREADS; int token; while(1) { pthread_mutex_lock(mutex + l); token = data[l]; if (token) { data[r] = token - 1; pthread_mutex_unlock(mutex + r); } else { printf("%i\n", l+1); exit(0); } } } int main(int argc, char **argv) { int i; pthread_t cthread; pthread_attr_t stack_attr; if (argc != 2) exit(255); data[0] = atoi(argv[1]); pthread_attr_init(&stack_attr); for (i = 0; i < THREADS; i++) { pthread_mutex_init(mutex + i, NULL); pthread_mutex_lock(mutex + i); #if defined(__MINGW32__) || defined(__MINGW64__) pthread_attr_setstackaddr(&stack_attr, &stacks[i]); pthread_attr_setstacksize(&stack_attr, sizeof(struct stack)); #else pthread_attr_setstack(&stack_attr, &stacks[i], sizeof(struct stack)); #endif pthread_create(&cthread, &stack_attr, thread, (void*)(uintptr_t)i); } pthread_mutex_unlock(mutex + 0); pthread_join(cthread, NULL); } dependencies/pkg/mod/golang.org/x/exp@v0.0.0-20240506185415-9bf2ced13842/shootout/fasta.txt0000644000000000000000000002400515107355263026445 0ustar rootroot>ONE Homo sapiens alu GGCCGGGCGCGGTGGCTCACGCCTGTAATCCCAGCACTTTGGGAGGCCGAGGCGGGCGGA TCACCTGAGGTCAGGAGTTCGAGACCAGCCTGGCCAACATGGTGAAACCCCGTCTCTACT AAAAATACAAAAATTAGCCGGGCGTGGTGGCGCGCGCCTGTAATCCCAGCTACTCGGGAG GCTGAGGCAGGAGAATCGCTTGAACCCGGGAGGCGGAGGTTGCAGTGAGCCGAGATCGCG CCACTGCACTCCAGCCTGGGCGACAGAGCGAGACTCCGTCTCAAAAAGGCCGGGCGCGGT GGCTCACGCCTGTAATCCCAGCACTTTGGGAGGCCGAGGCGGGCGGATCACCTGAGGTCA GGAGTTCGAGACCAGCCTGGCCAACATGGTGAAACCCCGTCTCTACTAAAAATACAAAAA TTAGCCGGGCGTGGTGGCGCGCGCCTGTAATCCCAGCTACTCGGGAGGCTGAGGCAGGAG AATCGCTTGAACCCGGGAGGCGGAGGTTGCAGTGAGCCGAGATCGCGCCACTGCACTCCA GCCTGGGCGACAGAGCGAGACTCCGTCTCAAAAAGGCCGGGCGCGGTGGCTCACGCCTGT AATCCCAGCACTTTGGGAGGCCGAGGCGGGCGGATCACCTGAGGTCAGGAGTTCGAGACC AGCCTGGCCAACATGGTGAAACCCCGTCTCTACTAAAAATACAAAAATTAGCCGGGCGTG GTGGCGCGCGCCTGTAATCCCAGCTACTCGGGAGGCTGAGGCAGGAGAATCGCTTGAACC CGGGAGGCGGAGGTTGCAGTGAGCCGAGATCGCGCCACTGCACTCCAGCCTGGGCGACAG AGCGAGACTCCGTCTCAAAAAGGCCGGGCGCGGTGGCTCACGCCTGTAATCCCAGCACTT TGGGAGGCCGAGGCGGGCGGATCACCTGAGGTCAGGAGTTCGAGACCAGCCTGGCCAACA TGGTGAAACCCCGTCTCTACTAAAAATACAAAAATTAGCCGGGCGTGGTGGCGCGCGCCT GTAATCCCAGCTACTCGGGAGGCTGAGGCAGGAGAATCGCTTGAACCCGGGAGGCGGAGG TTGCAGTGAGCCGAGATCGCGCCACTGCACTCCAGCCTGGGCGACAGAGCGAGACTCCGT CTCAAAAAGGCCGGGCGCGGTGGCTCACGCCTGTAATCCCAGCACTTTGGGAGGCCGAGG CGGGCGGATCACCTGAGGTCAGGAGTTCGAGACCAGCCTGGCCAACATGGTGAAACCCCG TCTCTACTAAAAATACAAAAATTAGCCGGGCGTGGTGGCGCGCGCCTGTAATCCCAGCTA CTCGGGAGGCTGAGGCAGGAGAATCGCTTGAACCCGGGAGGCGGAGGTTGCAGTGAGCCG AGATCGCGCCACTGCACTCCAGCCTGGGCGACAGAGCGAGACTCCGTCTCAAAAAGGCCG GGCGCGGTGGCTCACGCCTGTAATCCCAGCACTTTGGGAGGCCGAGGCGGGCGGATCACC TGAGGTCAGGAGTTCGAGACCAGCCTGGCCAACATGGTGAAACCCCGTCTCTACTAAAAA TACAAAAATTAGCCGGGCGTGGTGGCGCGCGCCTGTAATCCCAGCTACTCGGGAGGCTGA GGCAGGAGAATCGCTTGAACCCGGGAGGCGGAGGTTGCAGTGAGCCGAGATCGCGCCACT GCACTCCAGCCTGGGCGACAGAGCGAGACTCCGTCTCAAAAAGGCCGGGCGCGGTGGCTC ACGCCTGTAATCCCAGCACTTTGGGAGGCCGAGGCGGGCGGATCACCTGAGGTCAGGAGT TCGAGACCAGCCTGGCCAACATGGTGAAACCCCGTCTCTACTAAAAATACAAAAATTAGC CGGGCGTGGTGGCGCGCGCCTGTAATCCCAGCTACTCGGGAGGCTGAGGCAGGAGAATCG CTTGAACCCGGGAGGCGGAGGTTGCAGTGAGCCGAGATCGCGCCACTGCACTCCAGCCTG GGCGACAGAGCGAGACTCCG >TWO IUB ambiguity codes cttBtatcatatgctaKggNcataaaSatgtaaaDcDRtBggDtctttataattcBgtcg tactDtDagcctatttSVHtHttKtgtHMaSattgWaHKHttttagacatWatgtRgaaa NtactMcSMtYtcMgRtacttctWBacgaaatatagScDtttgaagacacatagtVgYgt cattHWtMMWcStgttaggKtSgaYaaccWStcgBttgcgaMttBYatcWtgacaYcaga gtaBDtRacttttcWatMttDBcatWtatcttactaBgaYtcttgttttttttYaaScYa HgtgttNtSatcMtcVaaaStccRcctDaataataStcYtRDSaMtDttgttSagtRRca tttHatSttMtWgtcgtatSSagactYaaattcaMtWatttaSgYttaRgKaRtccactt tattRggaMcDaWaWagttttgacatgttctacaaaRaatataataaMttcgDacgaSSt acaStYRctVaNMtMgtaggcKatcttttattaaaaagVWaHKYagtttttatttaacct tacgtVtcVaattVMBcttaMtttaStgacttagattWWacVtgWYagWVRctDattBYt gtttaagaagattattgacVatMaacattVctgtBSgaVtgWWggaKHaatKWcBScSWa accRVacacaaactaccScattRatatKVtactatatttHttaagtttSKtRtacaaagt RDttcaaaaWgcacatWaDgtDKacgaacaattacaRNWaatHtttStgttattaaMtgt tgDcgtMgcatBtgcttcgcgaDWgagctgcgaggggVtaaScNatttacttaatgacag cccccacatYScaMgtaggtYaNgttctgaMaacNaMRaacaaacaKctacatagYWctg ttWaaataaaataRattagHacacaagcgKatacBttRttaagtatttccgatctHSaat actcNttMaagtattMtgRtgaMgcataatHcMtaBSaRattagttgatHtMttaaKagg YtaaBataSaVatactWtataVWgKgttaaaacagtgcgRatatacatVtHRtVYataSa KtWaStVcNKHKttactatccctcatgWHatWaRcttactaggatctataDtDHBttata aaaHgtacVtagaYttYaKcctattcttcttaataNDaaggaaaDYgcggctaaWSctBa aNtgctggMBaKctaMVKagBaactaWaDaMaccYVtNtaHtVWtKgRtcaaNtYaNacg gtttNattgVtttctgtBaWgtaattcaagtcaVWtactNggattctttaYtaaagccgc tcttagHVggaYtgtNcDaVagctctctKgacgtatagYcctRYHDtgBattDaaDgccK tcHaaStttMcctagtattgcRgWBaVatHaaaataYtgtttagMDMRtaataaggatMt ttctWgtNtgtgaaaaMaatatRtttMtDgHHtgtcattttcWattRSHcVagaagtacg ggtaKVattKYagactNaatgtttgKMMgYNtcccgSKttctaStatatNVataYHgtNa BKRgNacaactgatttcctttaNcgatttctctataScaHtataRagtcRVttacDSDtt aRtSatacHgtSKacYagttMHtWataggatgactNtatSaNctataVtttRNKtgRacc tttYtatgttactttttcctttaaacatacaHactMacacggtWataMtBVacRaSaatc cgtaBVttccagccBcttaRKtgtgcctttttRtgtcagcRttKtaaacKtaaatctcac aattgcaNtSBaaccgggttattaaBcKatDagttactcttcattVtttHaaggctKKga tacatcBggScagtVcacattttgaHaDSgHatRMaHWggtatatRgccDttcgtatcga aacaHtaagttaRatgaVacttagattVKtaaYttaaatcaNatccRttRRaMScNaaaD gttVHWgtcHaaHgacVaWtgttScactaagSgttatcttagggDtaccagWattWtRtg ttHWHacgattBtgVcaYatcggttgagKcWtKKcaVtgaYgWctgYggVctgtHgaNcV taBtWaaYatcDRaaRtSctgaHaYRttagatMatgcatttNattaDttaattgttctaa ccctcccctagaWBtttHtBccttagaVaatMcBHagaVcWcagBVttcBtaYMccagat gaaaaHctctaacgttagNWRtcggattNatcRaNHttcagtKttttgWatWttcSaNgg gaWtactKKMaacatKatacNattgctWtatctaVgagctatgtRaHtYcWcttagccaa tYttWttaWSSttaHcaaaaagVacVgtaVaRMgattaVcDactttcHHggHRtgNcctt tYatcatKgctcctctatVcaaaaKaaaagtatatctgMtWtaaaacaStttMtcgactt taSatcgDataaactaaacaagtaaVctaggaSccaatMVtaaSKNVattttgHccatca cBVctgcaVatVttRtactgtVcaattHgtaaattaaattttYtatattaaRSgYtgBag aHSBDgtagcacRHtYcBgtcacttacactaYcgctWtattgSHtSatcataaatataHt cgtYaaMNgBaatttaRgaMaatatttBtttaaaHHKaatctgatWatYaacttMctctt ttVctagctDaaagtaVaKaKRtaacBgtatccaaccactHHaagaagaaggaNaaatBW attccgStaMSaMatBttgcatgRSacgttVVtaaDMtcSgVatWcaSatcttttVatag ttactttacgatcaccNtaDVgSRcgVcgtgaacgaNtaNatatagtHtMgtHcMtagaa attBgtataRaaaacaYKgtRccYtatgaagtaataKgtaaMttgaaRVatgcagaKStc tHNaaatctBBtcttaYaBWHgtVtgacagcaRcataWctcaBcYacYgatDgtDHccta >THREE Homo sapiens frequency aacacttcaccaggtatcgtgaaggctcaagattacccagagaacctttgcaatataaga atatgtatgcagcattaccctaagtaattatattctttttctgactcaaagtgacaagcc ctagtgtatattaaatcggtatatttgggaaattcctcaaactatcctaatcaggtagcc atgaaagtgatcaaaaaagttcgtacttataccatacatgaattctggccaagtaaaaaa tagattgcgcaaaattcgtaccttaagtctctcgccaagatattaggatcctattactca tatcgtgtttttctttattgccgccatccccggagtatctcacccatccttctcttaaag gcctaatattacctatgcaaataaacatatattgttgaaaattgagaacctgatcgtgat tcttatgtgtaccatatgtatagtaatcacgcgactatatagtgctttagtatcgcccgt gggtgagtgaatattctgggctagcgtgagatagtttcttgtcctaatatttttcagatc gaatagcttctatttttgtgtttattgacatatgtcgaaactccttactcagtgaaagtc atgaccagatccacgaacaatcttcggaatcagtctcgttttacggcggaatcttgagtc taacttatatcccgtcgcttactttctaacaccccttatgtatttttaaaattacgttta ttcgaacgtacttggcggaagcgttattttttgaagtaagttacattgggcagactcttg acattttcgatacgactttctttcatccatcacaggactcgttcgtattgatatcagaag ctcgtgatgattagttgtcttctttaccaatactttgaggcctattctgcgaaatttttg ttgccctgcgaacttcacataccaaggaacacctcgcaacatgccttcatatccatcgtt cattgtaattcttacacaatgaatcctaagtaattacatccctgcgtaaaagatggtagg ggcactgaggatatattaccaagcatttagttatgagtaatcagcaatgtttcttgtatt aagttctctaaaatagttacatcgtaatgttatctcgggttccgcgaataaacgagatag attcattatatatggccctaagcaaaaacctcctcgtattctgttggtaattagaatcac acaatacgggttgagatattaattatttgtagtacgaagagatataaaaagatgaacaat tactcaagtcaagatgtatacgggatttataataaaaatcgggtagagatctgctttgca attcagacgtgccactaaatcgtaatatgtcgcgttacatcagaaagggtaactattatt aattaataaagggcttaatcactacatattagatcttatccgatagtcttatctattcgt tgtatttttaagcggttctaattcagtcattatatcagtgctccgagttctttattattg ttttaaggatgacaaaatgcctcttgttataacgctgggagaagcagactaagagtcgga gcagttggtagaatgaggctgcaaaagacggtctcgacgaatggacagactttactaaac caatgaaagacagaagtagagcaaagtctgaagtggtatcagcttaattatgacaaccct taatacttccctttcgccgaatactggcgtggaaaggttttaaaagtcgaagtagttaga ggcatctctcgctcataaataggtagactactcgcaatccaatgtgactatgtaatactg ggaacatcagtccgcgatgcagcgtgtttatcaaccgtccccactcgcctggggagacat gagaccacccccgtggggattattagtccgcagtaatcgactcttgacaatccttttcga ttatgtcatagcaatttacgacagttcagcgaagtgactactcggcgaaatggtattact aaagcattcgaacccacatgaatgtgattcttggcaatttctaatccactaaagcttttc cgttgaatctggttgtagatatttatataagttcactaattaagatcacggtagtatatt gatagtgatgtctttgcaagaggttggccgaggaatttacggattctctattgatacaat ttgtctggcttataactcttaaggctgaaccaggcgtttttagacgacttgatcagctgt tagaatggtttggactccctctttcatgtcagtaacatttcagccgttattgttacgata tgcttgaacaatattgatctaccacacacccatagtatattttataggtcatgctgttac ctacgagcatggtattccacttcccattcaatgagtattcaacatcactagcctcagaga tgatgacccacctctaataacgtcacgttgcggccatgtgaaacctgaacttgagtagac gatatcaagcgctttaaattgcatataacatttgagggtaaagctaagcggatgctttat ataatcaatactcaataataagatttgattgcattttagagttatgacacgacatagttc actaacgagttactattcccagatctagactgaagtactgatcgagacgatccttacgtc gatgatcgttagttatcgacttaggtcgggtctctagcggtattggtacttaaccggaca ctatactaataacccatgatcaaagcataacagaatacagacgataatttcgccaacata tatgtacagaccccaagcatgagaagctcattgaaagctatcattgaagtcccgctcaca atgtgtcttttccagacggtttaactggttcccgggagtcctggagtttcgacttacata aatggaaacaatgtattttgctaatttatctatagcgtcatttggaccaatacagaatat tatgttgcctagtaatccactataacccgcaagtgctgatagaaaatttttagacgattt ataaatgccccaagtatccctcccgtgaatcctccgttatactaattagtattcgttcat acgtataccgcgcatatatgaacatttggcgataaggcgcgtgaattgttacgtgacaga gatagcagtttcttgtgatatggttaacagacgtacatgaagggaaactttatatctata gtgatgcttccgtagaaataccgccactggtctgccaatgatgaagtatgtagctttagg tttgtactatgaggctttcgtttgtttgcagagtataacagttgcgagtgaaaaaccgac gaatttatactaatacgctttcactattggctacaaaatagggaagagtttcaatcatga gagggagtatatggatgctttgtagctaaaggtagaacgtatgtatatgctgccgttcat tcttgaaagatacataagcgataagttacgacaattataagcaacatccctaccttcgta acgatttcactgttactgcgcttgaaatacactatggggctattggcggagagaagcaga tcgcgccgagcatatacgagacctataatgttgatgatagagaaggcgtctgaattgata catcgaagtacactttctttcgtagtatctctcgtcctctttctatctccggacacaaga attaagttatatatatagagtcttaccaatcatgttgaatcctgattctcagagttcttt ggcgggccttgtgatgactgagaaacaatgcaatattgctccaaatttcctaagcaaatt ctcggttatgttatgttatcagcaaagcgttacgttatgttatttaaatctggaatgacg gagcgaagttcttatgtcggtgtgggaataattcttttgaagacagcactccttaaataa tatcgctccgtgtttgtatttatcgaatgggtctgtaaccttgcacaagcaaatcggtgg tgtatatatcggataacaattaatacgatgttcatagtgacagtatactgatcgagtcct ctaaagtcaattacctcacttaacaatctcattgatgttgtgtcattcccggtatcgccc gtagtatgtgctctgattgaccgagtgtgaaccaaggaacatctactaatgcctttgtta ggtaagatctctctgaattccttcgtgccaacttaaaacattatcaaaatttcttctact tggattaactacttttacgagcatggcaaattcccctgtggaagacggttcattattatc ggaaaccttatagaaattgcgtgttgactgaaattagatttttattgtaagagttgcatc tttgcgattcctctggtctagcttccaatgaacagtcctcccttctattcgacatcgggt ccttcgtacatgtctttgcgatgtaataattaggttcggagtgtggccttaatgggtgca actaggaatacaacgcaaatttgctgacatgatagcaaatcggtatgccggcaccaaaac gtgctccttgcttagcttgtgaatgagactcagtagttaaataaatccatatctgcaatc gattccacaggtattgtccactatctttgaactactctaagagatacaagcttagctgag accgaggtgtatatgactacgctgatatctgtaaggtaccaatgcaggcaaagtatgcga gaagctaataccggctgtttccagctttataagattaaaatttggctgtcctggcggcct cagaattgttctatcgtaatcagttggttcattaattagctaagtacgaggtacaactta tctgtcccagaacagctccacaagtttttttacagccgaaacccctgtgtgaatcttaat atccaagcgcgttatctgattagagtttacaactcagtattttatcagtacgttttgttt ccaacattacccggtatgacaaaatgacgccacgtgtcgaataatggtctgaccaatgta ggaagtgaaaagataaatat ././@LongLink0000644000000000000000000000015100000000000011600 Lustar rootrootdependencies/pkg/mod/golang.org/x/exp@v0.0.0-20240506185415-9bf2ced13842/shootout/reverse-complement.txtdependencies/pkg/mod/golang.org/x/exp@v0.0.0-20240506185415-9bf2ced13842/shootout/reverse-complement0000644000000000000000000002400515107355263030345 0ustar rootroot>ONE Homo sapiens alu CGGAGTCTCGCTCTGTCGCCCAGGCTGGAGTGCAGTGGCGCGATCTCGGCTCACTGCAAC CTCCGCCTCCCGGGTTCAAGCGATTCTCCTGCCTCAGCCTCCCGAGTAGCTGGGATTACA GGCGCGCGCCACCACGCCCGGCTAATTTTTGTATTTTTAGTAGAGACGGGGTTTCACCAT GTTGGCCAGGCTGGTCTCGAACTCCTGACCTCAGGTGATCCGCCCGCCTCGGCCTCCCAA AGTGCTGGGATTACAGGCGTGAGCCACCGCGCCCGGCCTTTTTGAGACGGAGTCTCGCTC TGTCGCCCAGGCTGGAGTGCAGTGGCGCGATCTCGGCTCACTGCAACCTCCGCCTCCCGG GTTCAAGCGATTCTCCTGCCTCAGCCTCCCGAGTAGCTGGGATTACAGGCGCGCGCCACC ACGCCCGGCTAATTTTTGTATTTTTAGTAGAGACGGGGTTTCACCATGTTGGCCAGGCTG GTCTCGAACTCCTGACCTCAGGTGATCCGCCCGCCTCGGCCTCCCAAAGTGCTGGGATTA CAGGCGTGAGCCACCGCGCCCGGCCTTTTTGAGACGGAGTCTCGCTCTGTCGCCCAGGCT GGAGTGCAGTGGCGCGATCTCGGCTCACTGCAACCTCCGCCTCCCGGGTTCAAGCGATTC TCCTGCCTCAGCCTCCCGAGTAGCTGGGATTACAGGCGCGCGCCACCACGCCCGGCTAAT TTTTGTATTTTTAGTAGAGACGGGGTTTCACCATGTTGGCCAGGCTGGTCTCGAACTCCT GACCTCAGGTGATCCGCCCGCCTCGGCCTCCCAAAGTGCTGGGATTACAGGCGTGAGCCA CCGCGCCCGGCCTTTTTGAGACGGAGTCTCGCTCTGTCGCCCAGGCTGGAGTGCAGTGGC GCGATCTCGGCTCACTGCAACCTCCGCCTCCCGGGTTCAAGCGATTCTCCTGCCTCAGCC TCCCGAGTAGCTGGGATTACAGGCGCGCGCCACCACGCCCGGCTAATTTTTGTATTTTTA GTAGAGACGGGGTTTCACCATGTTGGCCAGGCTGGTCTCGAACTCCTGACCTCAGGTGAT CCGCCCGCCTCGGCCTCCCAAAGTGCTGGGATTACAGGCGTGAGCCACCGCGCCCGGCCT TTTTGAGACGGAGTCTCGCTCTGTCGCCCAGGCTGGAGTGCAGTGGCGCGATCTCGGCTC ACTGCAACCTCCGCCTCCCGGGTTCAAGCGATTCTCCTGCCTCAGCCTCCCGAGTAGCTG GGATTACAGGCGCGCGCCACCACGCCCGGCTAATTTTTGTATTTTTAGTAGAGACGGGGT TTCACCATGTTGGCCAGGCTGGTCTCGAACTCCTGACCTCAGGTGATCCGCCCGCCTCGG CCTCCCAAAGTGCTGGGATTACAGGCGTGAGCCACCGCGCCCGGCCTTTTTGAGACGGAG TCTCGCTCTGTCGCCCAGGCTGGAGTGCAGTGGCGCGATCTCGGCTCACTGCAACCTCCG CCTCCCGGGTTCAAGCGATTCTCCTGCCTCAGCCTCCCGAGTAGCTGGGATTACAGGCGC GCGCCACCACGCCCGGCTAATTTTTGTATTTTTAGTAGAGACGGGGTTTCACCATGTTGG CCAGGCTGGTCTCGAACTCCTGACCTCAGGTGATCCGCCCGCCTCGGCCTCCCAAAGTGC TGGGATTACAGGCGTGAGCCACCGCGCCCGGCCTTTTTGAGACGGAGTCTCGCTCTGTCG CCCAGGCTGGAGTGCAGTGGCGCGATCTCGGCTCACTGCAACCTCCGCCTCCCGGGTTCA AGCGATTCTCCTGCCTCAGCCTCCCGAGTAGCTGGGATTACAGGCGCGCGCCACCACGCC CGGCTAATTTTTGTATTTTTAGTAGAGACGGGGTTTCACCATGTTGGCCAGGCTGGTCTC GAACTCCTGACCTCAGGTGATCCGCCCGCCTCGGCCTCCCAAAGTGCTGGGATTACAGGC GTGAGCCACCGCGCCCGGCC >TWO IUB ambiguity codes TAGGDHACHATCRGTRGVTGAGWTATGYTGCTGTCABACDWVTRTAAGAVVAGATTTNDA GASMTCTGCATBYTTCAAKTTACMTATTACTTCATARGGYACMRTGTTTTYTATACVAAT TTCTAKGDACKADACTATATNTANTCGTTCACGBCGYSCBHTANGGTGATCGTAAAGTAA CTATBAAAAGATSTGWATBCSGAKHTTABBAACGTSYCATGCAAVATKTSKTASCGGAAT WVATTTNTCCTTCTTCTTDDAGTGGTTGGATACVGTTAYMTMTBTACTTTHAGCTAGBAA AAGAGKAAGTTRATWATCAGATTMDDTTTAAAVAAATATTKTCYTAAATTVCNKTTRACG ADTATATTTATGATSADSCAATAWAGCGRTAGTGTAAGTGACVGRADYGTGCTACHVSDT CTVCARCSYTTAATATARAAAATTTAATTTACDAATTGBACAGTAYAABATBTGCAGBVG TGATGGDCAAAATBNMSTTABKATTGGSTCCTAGBTTACTTGTTTAGTTTATHCGATSTA AAGTCGAKAAASTGTTTTAWAKCAGATATACTTTTMTTTTGBATAGAGGAGCMATGATRA AAGGNCAYDCCDDGAAAGTHGBTAATCKYTBTACBGTBCTTTTTGDTAASSWTAAWAARA TTGGCTAAGWGRADTYACATAGCTCBTAGATAWAGCAATNGTATMATGTTKMMAGTAWTC CCNTSGAAWATWCAAAAMACTGAADNTYGATNAATCCGAYWNCTAACGTTAGAGDTTTTC ATCTGGKRTAVGAABVCTGWGBTCTDVGKATTBTCTAAGGVADAAAVWTCTAGGGGAGGG TTAGAACAATTAAHTAATNAAATGCATKATCTAAYRTDTCAGSAYTTYHGATRTTWAVTA BGNTCDACAGBCCRCAGWCRTCABTGMMAWGMCTCAACCGATRTGBCAVAATCGTDWDAA CAYAWAATWCTGGTAHCCCTAAGATAACSCTTAGTGSAACAWTBGTCDTTDGACWDBAAC HTTTNGSKTYYAAYGGATNTGATTTAARTTAMBAATCTAAGTBTCATYTAACTTADTGTT TCGATACGAAHGGCYATATACCWDTKYATDCSHTDTCAAAATGTGBACTGSCCVGATGTA TCMMAGCCTTDAAABAATGAAGAGTAACTHATMGVTTAATAACCCGGTTVSANTGCAATT GTGAGATTTAMGTTTAMAAYGCTGACAYAAAAAGGCACAMYTAAGVGGCTGGAABVTACG GATTSTYGTBVAKTATWACCGTGTKAGTDTGTATGTTTAAAGGAAAAAGTAACATARAAA GGTYCAMNYAAABTATAGNTSATANAGTCATCCTATWADKAACTRGTMSACDGTATSAYT AAHSHGTAABYGACTYTATADTGSTATAGAGAAATCGNTAAAGGAAATCAGTTGTNCYMV TNACDRTATBNATATASTAGAAMSCGGGANRCKKMCAAACATTNAGTCTRMAATBMTACC CGTACTTCTBGDSYAATWGAAAATGACADDCHAKAAAYATATTKTTTTCACANACWAGAA AKATCCTTATTAYKHKCTAAACARTATTTTDATBTVWCYGCAATACTAGGKAAASTTDGA MGGCHTTHAATVCAHDRYAGGRCTATACGTCMAGAGAGCTBTHGNACARTCCBDCTAAGA GCGGCTTTARTAAAGAATCCNAGTAWBTGACTTGAATTACWTVACAGAAABCAATNAAAC CGTNTRANTTGAYCMAWBADTANABRGGTKTHTWTAGTTVCTMBKTAGMTVKCCAGCANT TVAGSWTTAGCCGCRHTTTCCTTHNTATTAAGAAGAATAGGMTRAARTCTABGTACDTTT TATAAVDHAHTATAGATCCTAGTAAGYTWATDWCATGAGGGATAGTAAMDMNGBASTWAM TSTATRBAYDABATGTATATYCGCACTGTTTTAACMCWBTATAWAGTATBTSTATVTTAR CCTMTTAAKADATCAACTAATYTSVTAKGDATTATGCKTCAYCAKAATACTTKAANGAGT ATTSDAGATCGGAAATACTTAAYAAVGTATMCGCTTGTGTDCTAATYTATTTTATTTWAA CAGWRCTATGTAGMTGTTTGTTYKTNGTTKTCAGAACNTRACCTACKTGSRATGTGGGGG CTGTCATTAAGTAAATNGSTTABCCCCTCGCAGCTCWHTCGCGAAGCAVATGCKACGHCA ACAKTTAATAACASAAADATTWNYTGTAATTGTTCGTMHACHTWATGTGCWTTTTGAAHY ACTTTGTAYAMSAAACTTAADAAATATAGTABMATATYAATGSGGTAGTTTGTGTBYGGT TWSGSVGWMATTDMTCCWWCABTCSVACAGBAATGTTKATBGTCAATAATCTTCTTAAAC ARVAATHAGYBWCTRWCABGTWWAATCTAAGTCASTAAAKTAAGVKBAATTBGABACGTA AGGTTAAATAAAAACTRMDTWBCTTTTTAATAAAAGATMGCCTACKAKNTBAGYRASTGT ASSTCGTHCGAAKTTATTATATTYTTTGTAGAACATGTCAAAACTWTWTHGKTCCYAATA AAGTGGAYTMCYTAARCSTAAATWAKTGAATTTRAGTCTSSATACGACWAKAASATDAAA TGYYACTSAACAAHAKTSHYARGASTATTATTHAGGYGGASTTTBGAKGATSANAACACD TRGSTTRAAAAAAAACAAGARTCVTAGTAAGATAWATGVHAAKATWGAAAAGTYAHVTAC TCTGRTGTCAWGATRVAAKTCGCAAVCGASWGGTTRTCSAMCCTAACASGWKKAWDAATG ACRCBACTATGTGTCTTCAAAHGSCTATATTTCGTVWAGAAGTAYCKGARAKSGKAGTAN TTTCYACATWATGTCTAAAADMDTWCAATSTKDACAMAADADBSAAATAGGCTHAHAGTA CGACVGAATTATAAAGAHCCVAYHGHTTTACATSTTTATGNCCMTAGCATATGATAVAAG >THREE Homo sapiens frequency ATATTTATCTTTTCACTTCCTACATTGGTCAGACCATTATTCGACACGTGGCGTCATTTT GTCATACCGGGTAATGTTGGAAACAAAACGTACTGATAAAATACTGAGTTGTAAACTCTA ATCAGATAACGCGCTTGGATATTAAGATTCACACAGGGGTTTCGGCTGTAAAAAAACTTG TGGAGCTGTTCTGGGACAGATAAGTTGTACCTCGTACTTAGCTAATTAATGAACCAACTG ATTACGATAGAACAATTCTGAGGCCGCCAGGACAGCCAAATTTTAATCTTATAAAGCTGG AAACAGCCGGTATTAGCTTCTCGCATACTTTGCCTGCATTGGTACCTTACAGATATCAGC GTAGTCATATACACCTCGGTCTCAGCTAAGCTTGTATCTCTTAGAGTAGTTCAAAGATAG TGGACAATACCTGTGGAATCGATTGCAGATATGGATTTATTTAACTACTGAGTCTCATTC ACAAGCTAAGCAAGGAGCACGTTTTGGTGCCGGCATACCGATTTGCTATCATGTCAGCAA ATTTGCGTTGTATTCCTAGTTGCACCCATTAAGGCCACACTCCGAACCTAATTATTACAT CGCAAAGACATGTACGAAGGACCCGATGTCGAATAGAAGGGAGGACTGTTCATTGGAAGC TAGACCAGAGGAATCGCAAAGATGCAACTCTTACAATAAAAATCTAATTTCAGTCAACAC GCAATTTCTATAAGGTTTCCGATAATAATGAACCGTCTTCCACAGGGGAATTTGCCATGC TCGTAAAAGTAGTTAATCCAAGTAGAAGAAATTTTGATAATGTTTTAAGTTGGCACGAAG GAATTCAGAGAGATCTTACCTAACAAAGGCATTAGTAGATGTTCCTTGGTTCACACTCGG TCAATCAGAGCACATACTACGGGCGATACCGGGAATGACACAACATCAATGAGATTGTTA AGTGAGGTAATTGACTTTAGAGGACTCGATCAGTATACTGTCACTATGAACATCGTATTA ATTGTTATCCGATATATACACCACCGATTTGCTTGTGCAAGGTTACAGACCCATTCGATA AATACAAACACGGAGCGATATTATTTAAGGAGTGCTGTCTTCAAAAGAATTATTCCCACA CCGACATAAGAACTTCGCTCCGTCATTCCAGATTTAAATAACATAACGTAACGCTTTGCT GATAACATAACATAACCGAGAATTTGCTTAGGAAATTTGGAGCAATATTGCATTGTTTCT CAGTCATCACAAGGCCCGCCAAAGAACTCTGAGAATCAGGATTCAACATGATTGGTAAGA CTCTATATATATAACTTAATTCTTGTGTCCGGAGATAGAAAGAGGACGAGAGATACTACG AAAGAAAGTGTACTTCGATGTATCAATTCAGACGCCTTCTCTATCATCAACATTATAGGT CTCGTATATGCTCGGCGCGATCTGCTTCTCTCCGCCAATAGCCCCATAGTGTATTTCAAG CGCAGTAACAGTGAAATCGTTACGAAGGTAGGGATGTTGCTTATAATTGTCGTAACTTAT CGCTTATGTATCTTTCAAGAATGAACGGCAGCATATACATACGTTCTACCTTTAGCTACA AAGCATCCATATACTCCCTCTCATGATTGAAACTCTTCCCTATTTTGTAGCCAATAGTGA AAGCGTATTAGTATAAATTCGTCGGTTTTTCACTCGCAACTGTTATACTCTGCAAACAAA CGAAAGCCTCATAGTACAAACCTAAAGCTACATACTTCATCATTGGCAGACCAGTGGCGG TATTTCTACGGAAGCATCACTATAGATATAAAGTTTCCCTTCATGTACGTCTGTTAACCA TATCACAAGAAACTGCTATCTCTGTCACGTAACAATTCACGCGCCTTATCGCCAAATGTT CATATATGCGCGGTATACGTATGAACGAATACTAATTAGTATAACGGAGGATTCACGGGA GGGATACTTGGGGCATTTATAAATCGTCTAAAAATTTTCTATCAGCACTTGCGGGTTATA GTGGATTACTAGGCAACATAATATTCTGTATTGGTCCAAATGACGCTATAGATAAATTAG CAAAATACATTGTTTCCATTTATGTAAGTCGAAACTCCAGGACTCCCGGGAACCAGTTAA ACCGTCTGGAAAAGACACATTGTGAGCGGGACTTCAATGATAGCTTTCAATGAGCTTCTC ATGCTTGGGGTCTGTACATATATGTTGGCGAAATTATCGTCTGTATTCTGTTATGCTTTG ATCATGGGTTATTAGTATAGTGTCCGGTTAAGTACCAATACCGCTAGAGACCCGACCTAA GTCGATAACTAACGATCATCGACGTAAGGATCGTCTCGATCAGTACTTCAGTCTAGATCT GGGAATAGTAACTCGTTAGTGAACTATGTCGTGTCATAACTCTAAAATGCAATCAAATCT TATTATTGAGTATTGATTATATAAAGCATCCGCTTAGCTTTACCCTCAAATGTTATATGC AATTTAAAGCGCTTGATATCGTCTACTCAAGTTCAGGTTTCACATGGCCGCAACGTGACG TTATTAGAGGTGGGTCATCATCTCTGAGGCTAGTGATGTTGAATACTCATTGAATGGGAA GTGGAATACCATGCTCGTAGGTAACAGCATGACCTATAAAATATACTATGGGTGTGTGGT AGATCAATATTGTTCAAGCATATCGTAACAATAACGGCTGAAATGTTACTGACATGAAAG AGGGAGTCCAAACCATTCTAACAGCTGATCAAGTCGTCTAAAAACGCCTGGTTCAGCCTT AAGAGTTATAAGCCAGACAAATTGTATCAATAGAGAATCCGTAAATTCCTCGGCCAACCT CTTGCAAAGACATCACTATCAATATACTACCGTGATCTTAATTAGTGAACTTATATAAAT ATCTACAACCAGATTCAACGGAAAAGCTTTAGTGGATTAGAAATTGCCAAGAATCACATT CATGTGGGTTCGAATGCTTTAGTAATACCATTTCGCCGAGTAGTCACTTCGCTGAACTGT CGTAAATTGCTATGACATAATCGAAAAGGATTGTCAAGAGTCGATTACTGCGGACTAATA ATCCCCACGGGGGTGGTCTCATGTCTCCCCAGGCGAGTGGGGACGGTTGATAAACACGCT GCATCGCGGACTGATGTTCCCAGTATTACATAGTCACATTGGATTGCGAGTAGTCTACCT ATTTATGAGCGAGAGATGCCTCTAACTACTTCGACTTTTAAAACCTTTCCACGCCAGTAT TCGGCGAAAGGGAAGTATTAAGGGTTGTCATAATTAAGCTGATACCACTTCAGACTTTGC TCTACTTCTGTCTTTCATTGGTTTAGTAAAGTCTGTCCATTCGTCGAGACCGTCTTTTGC AGCCTCATTCTACCAACTGCTCCGACTCTTAGTCTGCTTCTCCCAGCGTTATAACAAGAG GCATTTTGTCATCCTTAAAACAATAATAAAGAACTCGGAGCACTGATATAATGACTGAAT TAGAACCGCTTAAAAATACAACGAATAGATAAGACTATCGGATAAGATCTAATATGTAGT GATTAAGCCCTTTATTAATTAATAATAGTTACCCTTTCTGATGTAACGCGACATATTACG ATTTAGTGGCACGTCTGAATTGCAAAGCAGATCTCTACCCGATTTTTATTATAAATCCCG TATACATCTTGACTTGAGTAATTGTTCATCTTTTTATATCTCTTCGTACTACAAATAATT AATATCTCAACCCGTATTGTGTGATTCTAATTACCAACAGAATACGAGGAGGTTTTTGCT TAGGGCCATATATAATGAATCTATCTCGTTTATTCGCGGAACCCGAGATAACATTACGAT GTAACTATTTTAGAGAACTTAATACAAGAAACATTGCTGATTACTCATAACTAAATGCTT GGTAATATATCCTCAGTGCCCCTACCATCTTTTACGCAGGGATGTAATTACTTAGGATTC ATTGTGTAAGAATTACAATGAACGATGGATATGAAGGCATGTTGCGAGGTGTTCCTTGGT ATGTGAAGTTCGCAGGGCAACAAAAATTTCGCAGAATAGGCCTCAAAGTATTGGTAAAGA AGACAACTAATCATCACGAGCTTCTGATATCAATACGAACGAGTCCTGTGATGGATGAAA GAAAGTCGTATCGAAAATGTCAAGAGTCTGCCCAATGTAACTTACTTCAAAAAATAACGC TTCCGCCAAGTACGTTCGAATAAACGTAATTTTAAAAATACATAAGGGGTGTTAGAAAGT AAGCGACGGGATATAAGTTAGACTCAAGATTCCGCCGTAAAACGAGACTGATTCCGAAGA TTGTTCGTGGATCTGGTCATGACTTTCACTGAGTAAGGAGTTTCGACATATGTCAATAAA CACAAAAATAGAAGCTATTCGATCTGAAAAATATTAGGACAAGAAACTATCTCACGCTAG CCCAGAATATTCACTCACCCACGGGCGATACTAAAGCACTATATAGTCGCGTGATTACTA TACATATGGTACACATAAGAATCACGATCAGGTTCTCAATTTTCAACAATATATGTTTAT TTGCATAGGTAATATTAGGCCTTTAAGAGAAGGATGGGTGAGATACTCCGGGGATGGCGG CAATAAAGAAAAACACGATATGAGTAATAGGATCCTAATATCTTGGCGAGAGACTTAAGG TACGAATTTTGCGCAATCTATTTTTTACTTGGCCAGAATTCATGTATGGTATAAGTACGA ACTTTTTTGATCACTTTCATGGCTACCTGATTAGGATAGTTTGAGGAATTTCCCAAATAT ACCGATTTAATATACACTAGGGCTTGTCACTTTGAGTCAGAAAAAGAATATAATTACTTA GGGTAATGCTGCATACATATTCTTATATTGCAAAGGTTCTCTGGGTAATCTTGAGCCTTC ACGATACCTGGTGAAGTGTT dependencies/pkg/mod/golang.org/x/exp@v0.0.0-20240506185415-9bf2ced13842/shootout/binary-tree.c0000644000000000000000000001043015107355263027170 0ustar rootroot// +build ignore /* 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 "The Computer Language Benchmarks Game" nor the name of "The Computer Language Shootout Benchmarks" 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. */ /* The Computer Language Shootout Benchmarks http://shootout.alioth.debian.org/ contributed by Kevin Carson compilation: gcc -O3 -fomit-frame-pointer -funroll-loops -static binary-trees.c -lm icc -O3 -ip -unroll -static binary-trees.c -lm */ #include #include #include typedef struct tn { struct tn* left; struct tn* right; long item; } treeNode; treeNode* NewTreeNode(treeNode* left, treeNode* right, long item) { treeNode* new; new = (treeNode*)malloc(sizeof(treeNode)); new->left = left; new->right = right; new->item = item; return new; } /* NewTreeNode() */ long ItemCheck(treeNode* tree) { if (tree->left == NULL) return tree->item; else return tree->item + ItemCheck(tree->left) - ItemCheck(tree->right); } /* ItemCheck() */ treeNode* BottomUpTree(long item, unsigned depth) { if (depth > 0) return NewTreeNode ( BottomUpTree(2 * item - 1, depth - 1), BottomUpTree(2 * item, depth - 1), item ); else return NewTreeNode(NULL, NULL, item); } /* BottomUpTree() */ void DeleteTree(treeNode* tree) { if (tree->left != NULL) { DeleteTree(tree->left); DeleteTree(tree->right); } free(tree); } /* DeleteTree() */ int main(int argc, char* argv[]) { unsigned N, depth, minDepth, maxDepth, stretchDepth; treeNode *stretchTree, *longLivedTree, *tempTree; N = atol(argv[1]); minDepth = 4; if ((minDepth + 2) > N) maxDepth = minDepth + 2; else maxDepth = N; stretchDepth = maxDepth + 1; stretchTree = BottomUpTree(0, stretchDepth); printf ( "stretch tree of depth %u\t check: %li\n", stretchDepth, ItemCheck(stretchTree) ); DeleteTree(stretchTree); longLivedTree = BottomUpTree(0, maxDepth); for (depth = minDepth; depth <= maxDepth; depth += 2) { long i, iterations, check; iterations = pow(2, maxDepth - depth + minDepth); check = 0; for (i = 1; i <= iterations; i++) { tempTree = BottomUpTree(i, depth); check += ItemCheck(tempTree); DeleteTree(tempTree); tempTree = BottomUpTree(-i, depth); check += ItemCheck(tempTree); DeleteTree(tempTree); } /* for(i = 1...) */ printf ( "%li\t trees of depth %u\t check: %li\n", iterations * 2, depth, check ); } /* for(depth = minDepth...) */ printf ( "long lived tree of depth %u\t check: %li\n", maxDepth, ItemCheck(longLivedTree) ); return 0; } /* main() */ dependencies/pkg/mod/golang.org/x/exp@v0.0.0-20240506185415-9bf2ced13842/shootout/threadring.go0000644000000000000000000000431415107355263027265 0ustar rootroot//go:build ignore // +build ignore /* 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 "The Computer Language Benchmarks Game" nor the name of "The Computer Language Shootout Benchmarks" 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. */ /* The Computer Language Benchmarks Game * http://shootout.alioth.debian.org/ * * contributed by The Go Authors. */ package main import ( "flag" "fmt" "os" ) var n = flag.Int("n", 1000, "how many passes") const Nthread = 503 func f(i int, in <-chan int, out chan<- int) { for { n := <-in if n == 0 { fmt.Printf("%d\n", i) os.Exit(0) } out <- n - 1 } } func main() { flag.Parse() one := make(chan int) // will be input to thread 1 var in, out chan int = nil, one for i := 1; i <= Nthread-1; i++ { in, out = out, make(chan int) go f(i, in, out) } go f(Nthread, out, one) one <- *n <-make(chan int) // hang until ring completes } dependencies/pkg/mod/golang.org/x/exp@v0.0.0-20240506185415-9bf2ced13842/shootout/spectral-norm.txt0000644000000000000000000000001415107355263030127 0ustar rootroot1.274224152 dependencies/pkg/mod/golang.org/x/exp@v0.0.0-20240506185415-9bf2ced13842/shootout/meteor-contest.txt0000644000000000000000000000037615107355263030324 0ustar rootroot2098 solutions found 0 0 0 0 1 2 2 2 0 1 2 6 6 1 1 2 6 1 5 5 8 6 5 5 5 8 6 3 3 3 4 8 8 9 3 4 4 8 9 3 4 7 4 7 9 7 7 7 9 9 9 9 9 9 8 9 6 6 8 5 6 6 8 8 5 6 8 2 5 5 7 7 7 2 5 7 4 7 2 0 1 4 2 2 0 1 4 4 0 3 1 4 0 0 3 1 1 3 3 3 dependencies/pkg/mod/golang.org/x/exp@v0.0.0-20240506185415-9bf2ced13842/shootout/README0000644000000000000000000000026515107355263025470 0ustar rootrootThis directory holds programs from "The Computer Language Benchmarks Game". They used to be in the main Go distribution in test/bench/shootout but are now only of historical value. dependencies/pkg/mod/golang.org/x/exp@v0.0.0-20240506185415-9bf2ced13842/shootout/fannkuch.txt0000644000000000000000000000040415107355263027141 0ustar rootroot1234567 2134567 2314567 3214567 3124567 1324567 2341567 3241567 3421567 4321567 4231567 2431567 3412567 4312567 4132567 1432567 1342567 3142567 4123567 1423567 1243567 2143567 2413567 4213567 2345167 3245167 3425167 4325167 4235167 2435167 Pfannkuchen(7) = 16 dependencies/pkg/mod/golang.org/x/exp@v0.0.0-20240506185415-9bf2ced13842/shootout/pidigits.c0000644000000000000000000000640215107355263026567 0ustar rootroot// +build ignore /* 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 "The Computer Language Benchmarks Game" nor the name of "The Computer Language Shootout Benchmarks" 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. */ /* The Computer Language Benchmarks Game http://shootout.alioth.debian.org/ contributed by Paolo Bonzini & Sean Bartlett modified by Michael Mellor */ #include #include #include static mpz_t numer, accum, denom, tmp1, tmp2; static int extract_digit() { if (mpz_cmp(numer, accum) > 0) return -1; /* Compute (numer * 3 + accum) / denom */ mpz_mul_2exp(tmp1, numer, 1); mpz_add(tmp1, tmp1, numer); mpz_add(tmp1, tmp1, accum); mpz_fdiv_qr(tmp1, tmp2, tmp1, denom); /* Now, if (numer * 4 + accum) % denom... */ mpz_add(tmp2, tmp2, numer); /* ... is normalized, then the two divisions have the same result. */ if (mpz_cmp(tmp2, denom) >= 0) return -1; return mpz_get_ui(tmp1); } static void next_term(unsigned int k) { unsigned int y2 = k*2 + 1; mpz_mul_2exp(tmp1, numer, 1); mpz_add(accum, accum, tmp1); mpz_mul_ui(accum, accum, y2); mpz_mul_ui(numer, numer, k); mpz_mul_ui(denom, denom, y2); } static void eliminate_digit(unsigned int d) { mpz_submul_ui(accum, denom, d); mpz_mul_ui(accum, accum, 10); mpz_mul_ui(numer, numer, 10); } static void pidigits(unsigned int n) { int d; unsigned int i = 0, k = 0, m; mpz_init(tmp1); mpz_init(tmp2); mpz_init_set_ui(numer, 1); mpz_init_set_ui(accum, 0); mpz_init_set_ui(denom, 1); for(;;) { do { k++; next_term(k); d = extract_digit(); } while(d == -1); putchar(d + '0'); i++; m = i%10; if(m == 0) printf("\t:%d\n", i); if(i >= n) break; eliminate_digit(d); } if(m) { m = 10 - m; while(m--) putchar(' '); printf("\t:%d\n", n); } } int main(int argc, char **argv) { pidigits(argc > 1 ? atoi(argv[1]) : 27); return 0; } dependencies/pkg/mod/golang.org/x/exp@v0.0.0-20240506185415-9bf2ced13842/shootout/regex-dna.txt0000644000000000000000000000040715107355263027221 0ustar rootrootagggtaaa|tttaccct 1 [cgt]gggtaaa|tttaccc[acg] 0 a[act]ggtaaa|tttacc[agt]t 0 ag[act]gtaaa|tttac[agt]ct 0 agg[act]taaa|ttta[agt]cct 1 aggg[acg]aaa|ttt[cgt]ccct 0 agggt[cgt]aa|tt[acg]accct 0 agggta[cgt]a|t[acg]taccct 0 agggtaa[cgt]|[acg]ttaccct 2 10245 10000 13348 dependencies/pkg/mod/golang.org/x/exp@v0.0.0-20240506185415-9bf2ced13842/shootout/pidigits.go0000644000000000000000000000646315107355263026761 0ustar rootroot//go:build ignore // +build ignore /* 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 "The Computer Language Benchmarks Game" nor the name of "The Computer Language Shootout Benchmarks" 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. */ /* The Computer Language Benchmarks Game * http://shootout.alioth.debian.org/ * * contributed by The Go Authors. * based on pidigits.c (by Paolo Bonzini & Sean Bartlett, * modified by Michael Mellor) */ package main import ( "flag" "fmt" "math/big" ) var n = flag.Int("n", 27, "number of digits") var silent = flag.Bool("s", false, "don't print result") var ( tmp1 = big.NewInt(0) tmp2 = big.NewInt(0) tmp3 = big.NewInt(0) y2 = big.NewInt(0) bigk = big.NewInt(0) numer = big.NewInt(1) accum = big.NewInt(0) denom = big.NewInt(1) ten = big.NewInt(10) ) func extract_digit() int64 { if numer.Cmp(accum) > 0 { return -1 } // Compute (numer * 3 + accum) / denom tmp1.Lsh(numer, 1) tmp1.Add(tmp1, numer) tmp1.Add(tmp1, accum) tmp1.DivMod(tmp1, denom, tmp2) // Now, if (numer * 4 + accum) % denom... tmp2.Add(tmp2, numer) // ... is normalized, then the two divisions have the same result. if tmp2.Cmp(denom) >= 0 { return -1 } return tmp1.Int64() } func next_term(k int64) { y2.SetInt64(k*2 + 1) bigk.SetInt64(k) tmp1.Lsh(numer, 1) accum.Add(accum, tmp1) accum.Mul(accum, y2) numer.Mul(numer, bigk) denom.Mul(denom, y2) } func eliminate_digit(d int64) { tmp3.SetInt64(d) accum.Sub(accum, tmp3.Mul(denom, tmp3)) accum.Mul(accum, ten) numer.Mul(numer, ten) } func printf(s string, arg ...interface{}) { if !*silent { fmt.Printf(s, arg...) } } func main() { flag.Parse() var m int // 0 <= m < 10 for i, k := 0, int64(0); ; { d := int64(-1) for d < 0 { k++ next_term(k) d = extract_digit() } printf("%c", d+'0') i++ m = i % 10 if m == 0 { printf("\t:%d\n", i) } if i >= *n { break } eliminate_digit(d) } if m > 0 { printf("%s\t:%d\n", " "[m:10], *n) } } ././@LongLink0000644000000000000000000000015200000000000011601 Lustar rootrootdependencies/pkg/mod/golang.org/x/exp@v0.0.0-20240506185415-9bf2ced13842/shootout/binary-tree-freelist.godependencies/pkg/mod/golang.org/x/exp@v0.0.0-20240506185415-9bf2ced13842/shootout/binary-tree-freeli0000644000000000000000000000665415107355263030230 0ustar rootroot//go:build ignore // +build ignore /* 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 "The Computer Language Benchmarks Game" nor the name of "The Computer Language Shootout Benchmarks" 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. */ /* The Computer Language Benchmarks Game * http://shootout.alioth.debian.org/ * * contributed by The Go Authors. * based on C program by Kevin Carson */ package main import ( "flag" "fmt" ) var n = flag.Int("n", 15, "depth") type Node struct { item int left, right *Node } type Arena struct { head *Node } var arena Arena func (n *Node) free() { if n.left != nil { n.left.free() } if n.right != nil { n.right.free() } n.left = arena.head arena.head = n } func (a *Arena) New(item int, left, right *Node) *Node { if a.head == nil { nodes := make([]Node, 3< *n { maxDepth = minDepth + 2 } stretchDepth := maxDepth + 1 check := bottomUpTree(0, stretchDepth).itemCheck() fmt.Printf("stretch tree of depth %d\t check: %d\n", stretchDepth, check) longLivedTree := bottomUpTree(0, maxDepth) for depth := minDepth; depth <= maxDepth; depth += 2 { iterations := 1 << uint(maxDepth-depth+minDepth) check = 0 for i := 1; i <= iterations; i++ { t := bottomUpTree(i, depth) check += t.itemCheck() t.free() t = bottomUpTree(-i, depth) check += t.itemCheck() t.free() } fmt.Printf("%d\t trees of depth %d\t check: %d\n", iterations*2, depth, check) } fmt.Printf("long lived tree of depth %d\t check: %d\n", maxDepth, longLivedTree.itemCheck()) } ././@LongLink0000644000000000000000000000015300000000000011602 Lustar rootrootdependencies/pkg/mod/golang.org/x/exp@v0.0.0-20240506185415-9bf2ced13842/shootout/k-nucleotide-parallel.godependencies/pkg/mod/golang.org/x/exp@v0.0.0-20240506185415-9bf2ced13842/shootout/k-nucleotide-paral0000644000000000000000000000770415107355263030220 0ustar rootroot//go:build ignore // +build ignore /* 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 "The Computer Language Benchmarks Game" nor the name of "The Computer Language Shootout Benchmarks" 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. */ /* The Computer Language Benchmarks Game * http://shootout.alioth.debian.org/ * * contributed by The Go Authors. */ package main import ( "bufio" "bytes" "fmt" "io" "os" "runtime" "sort" ) func count(data string, n int) map[string]int { counts := make(map[string]int) top := len(data) - n for i := 0; i <= top; i++ { s := data[i : i+n] counts[s]++ } return counts } func countOne(data string, s string) int { return count(data, len(s))[s] } type kNuc struct { name string count int } type kNucArray []kNuc func (kn kNucArray) Len() int { return len(kn) } func (kn kNucArray) Swap(i, j int) { kn[i], kn[j] = kn[j], kn[i] } func (kn kNucArray) Less(i, j int) bool { if kn[i].count == kn[j].count { return kn[i].name > kn[j].name // sort down } return kn[i].count > kn[j].count } func sortedArray(m map[string]int) kNucArray { kn := make(kNucArray, len(m)) i := 0 for k, v := range m { kn[i] = kNuc{k, v} i++ } sort.Sort(kn) return kn } func printKnucs(a kNucArray) { sum := 0 for _, kn := range a { sum += kn.count } for _, kn := range a { fmt.Printf("%s %.3f\n", kn.name, 100*float64(kn.count)/float64(sum)) } fmt.Print("\n") } func main() { runtime.GOMAXPROCS(4) in := bufio.NewReader(os.Stdin) three := []byte(">THREE ") for { line, err := in.ReadSlice('\n') if err != nil { fmt.Fprintln(os.Stderr, "ReadLine err:", err) os.Exit(2) } if line[0] == '>' && bytes.Equal(line[0:len(three)], three) { break } } data, err := io.ReadAll(in) if err != nil { fmt.Fprintln(os.Stderr, "ReadAll err:", err) os.Exit(2) } // delete the newlines and convert to upper case j := 0 for i := 0; i < len(data); i++ { if data[i] != '\n' { data[j] = data[i] &^ ' ' // upper case j++ } } str := string(data[0:j]) var arr1, arr2 kNucArray countsdone := make(chan bool) go func() { arr1 = sortedArray(count(str, 1)) countsdone <- true }() go func() { arr2 = sortedArray(count(str, 2)) countsdone <- true }() interests := []string{"GGT", "GGTA", "GGTATT", "GGTATTTTAATT", "GGTATTTTAATTTATAGT"} results := make([]chan string, len(interests)) for i, s := range interests { ch := make(chan string) results[i] = ch go func(result chan string, ss string) { result <- fmt.Sprintf("%d %s\n", countOne(str, ss), ss) }(ch, s) } <-countsdone <-countsdone printKnucs(arr1) printKnucs(arr2) for _, rc := range results { fmt.Print(<-rc) } } dependencies/pkg/mod/golang.org/x/exp@v0.0.0-20240506185415-9bf2ced13842/shootout/binary-tree.go0000644000000000000000000000557715107355263027373 0ustar rootroot//go:build ignore // +build ignore /* 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 "The Computer Language Benchmarks Game" nor the name of "The Computer Language Shootout Benchmarks" 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. */ /* The Computer Language Benchmarks Game * http://shootout.alioth.debian.org/ * * contributed by The Go Authors. * based on C program by Kevin Carson */ package main import ( "flag" "fmt" ) var n = flag.Int("n", 15, "depth") type Node struct { item int left, right *Node } func bottomUpTree(item, depth int) *Node { if depth <= 0 { return &Node{item: item} } return &Node{item, bottomUpTree(2*item-1, depth-1), bottomUpTree(2*item, depth-1)} } func (n *Node) itemCheck() int { if n.left == nil { return n.item } return n.item + n.left.itemCheck() - n.right.itemCheck() } const minDepth = 4 func main() { flag.Parse() maxDepth := *n if minDepth+2 > *n { maxDepth = minDepth + 2 } stretchDepth := maxDepth + 1 check := bottomUpTree(0, stretchDepth).itemCheck() fmt.Printf("stretch tree of depth %d\t check: %d\n", stretchDepth, check) longLivedTree := bottomUpTree(0, maxDepth) for depth := minDepth; depth <= maxDepth; depth += 2 { iterations := 1 << uint(maxDepth-depth+minDepth) check = 0 for i := 1; i <= iterations; i++ { check += bottomUpTree(i, depth).itemCheck() check += bottomUpTree(-i, depth).itemCheck() } fmt.Printf("%d\t trees of depth %d\t check: %d\n", iterations*2, depth, check) } fmt.Printf("long lived tree of depth %d\t check: %d\n", maxDepth, longLivedTree.itemCheck()) } dependencies/pkg/mod/golang.org/x/exp@v0.0.0-20240506185415-9bf2ced13842/shootout/nbody.txt0000644000000000000000000000003215107355263026454 0ustar rootroot-0.169075164 -0.169087605 dependencies/pkg/mod/golang.org/x/exp@v0.0.0-20240506185415-9bf2ced13842/shootout/fasta.c0000644000000000000000000001357015107355263026055 0ustar rootroot// +build ignore /* 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 "The Computer Language Benchmarks Game" nor the name of "The Computer Language Shootout Benchmarks" 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. */ /* * http://shootout.alioth.debian.org/u32/program.php?test=fasta&lang=gcc&id=3 */ /* The Computer Language Benchmarks Game * http://shootout.alioth.debian.org/ * * contributed by Petr Prokhorenkov */ #include #include #include #ifndef fwrite_unlocked // not available on OS X #define fwrite_unlocked fwrite #define fputc_unlocked fputc #define fputs_unlocked fputs #endif #define ARRAY_SIZE(a) (sizeof(a)/sizeof(a[0])) #define unlikely(x) __builtin_expect((x), 0) #define IM 139968 #define IA 3877 #define IC 29573 #define LINE_LEN 60 #define LOOKUP_SIZE 4096 #define LOOKUP_SCALE ((float)(LOOKUP_SIZE - 1)) typedef unsigned random_t; void random_init(random_t *random) { *random = 42; } // Special version with result rescaled to LOOKUP_SCALE. static inline float random_next_lookup(random_t *random) { *random = (*random*IA + IC)%IM; return (*random)*(LOOKUP_SCALE/IM); } struct amino_acid { char sym; float prob; float cprob_lookup; }; void repeat(const char *alu, const char *title, int n) { int len = strlen(alu); char buffer[len + LINE_LEN]; int pos = 0; memcpy(buffer, alu, len); memcpy(buffer + len, alu, LINE_LEN); fputs_unlocked(title, stdout); while (n > 0) { int bytes = n > LINE_LEN ? LINE_LEN : n; fwrite_unlocked(buffer + pos, bytes, 1, stdout); pos += bytes; if (pos > len) { pos -= len; } fputc_unlocked('\n', stdout); n -= bytes; } } /* * Lookup table contains mapping from real values to cumulative * probabilities. Careful selection of table size allows lookup * virtually in constant time. * * All cumulative probabilities are rescaled to LOOKUP_SCALE, * this allows to save one multiplication operation on each iteration * in randomize(). */ void * fill_lookup(struct amino_acid **lookup, struct amino_acid *amino_acid, int amino_acid_size) { float p = 0; int i, j; for (i = 0; i < amino_acid_size; i++) { p += amino_acid[i].prob; amino_acid[i].cprob_lookup = p*LOOKUP_SCALE; } // Prevent rounding error. amino_acid[amino_acid_size - 1].cprob_lookup = LOOKUP_SIZE - 1; for (i = 0, j = 0; i < LOOKUP_SIZE; i++) { while (amino_acid[j].cprob_lookup < i) { j++; } lookup[i] = &amino_acid[j]; } return 0; } void randomize(struct amino_acid *amino_acid, int amino_acid_size, const char *title, int n, random_t *rand) { struct amino_acid *lookup[LOOKUP_SIZE]; char line_buffer[LINE_LEN + 1]; int i, j; line_buffer[LINE_LEN] = '\n'; fill_lookup(lookup, amino_acid, amino_acid_size); fputs_unlocked(title, stdout); for (i = 0, j = 0; i < n; i++, j++) { if (j == LINE_LEN) { fwrite_unlocked(line_buffer, LINE_LEN + 1, 1, stdout); j = 0; } float r = random_next_lookup(rand); struct amino_acid *u = lookup[(short)r]; while (unlikely(u->cprob_lookup < r)) { ++u; } line_buffer[j] = u->sym; } line_buffer[j] = '\n'; fwrite_unlocked(line_buffer, j + 1, 1, stdout); } struct amino_acid amino_acid[] = { { 'a', 0.27 }, { 'c', 0.12 }, { 'g', 0.12 }, { 't', 0.27 }, { 'B', 0.02 }, { 'D', 0.02 }, { 'H', 0.02 }, { 'K', 0.02 }, { 'M', 0.02 }, { 'N', 0.02 }, { 'R', 0.02 }, { 'S', 0.02 }, { 'V', 0.02 }, { 'W', 0.02 }, { 'Y', 0.02 }, }; struct amino_acid homo_sapiens[] = { { 'a', 0.3029549426680 }, { 'c', 0.1979883004921 }, { 'g', 0.1975473066391 }, { 't', 0.3015094502008 }, }; static const char alu[] = "GGCCGGGCGCGGTGGCTCACGCCTGTAATCCCAGCACTTTG" "GGAGGCCGAGGCGGGCGGATCACCTGAGGTCAGGAGTTCGA" "GACCAGCCTGGCCAACATGGTGAAACCCCGTCTCTACTAAA" "AATACAAAAATTAGCCGGGCGTGGTGGCGCGCGCCTGTAAT" "CCCAGCTACTCGGGAGGCTGAGGCAGGAGAATCGCTTGAAC" "CCGGGAGGCGGAGGTTGCAGTGAGCCGAGATCGCGCCACTG" "CACTCCAGCCTGGGCGACAGAGCGAGACTCCGTCTCAAAAA"; int main(int argc, const char **argv) { int n = argc > 1 ? atoi( argv[1] ) : 512; random_t rand; random_init(&rand); repeat(alu, ">ONE Homo sapiens alu\n", n*2); randomize(amino_acid, ARRAY_SIZE(amino_acid), ">TWO IUB ambiguity codes\n", n*3, &rand); randomize(homo_sapiens, ARRAY_SIZE(homo_sapiens), ">THREE Homo sapiens frequency\n", n*5, &rand); return 0; } dependencies/pkg/mod/golang.org/x/exp@v0.0.0-20240506185415-9bf2ced13842/shootout/fasta-1000.txt0000644000000000000000000002400515107355263027023 0ustar rootroot>ONE Homo sapiens alu GGCCGGGCGCGGTGGCTCACGCCTGTAATCCCAGCACTTTGGGAGGCCGAGGCGGGCGGA TCACCTGAGGTCAGGAGTTCGAGACCAGCCTGGCCAACATGGTGAAACCCCGTCTCTACT AAAAATACAAAAATTAGCCGGGCGTGGTGGCGCGCGCCTGTAATCCCAGCTACTCGGGAG GCTGAGGCAGGAGAATCGCTTGAACCCGGGAGGCGGAGGTTGCAGTGAGCCGAGATCGCG CCACTGCACTCCAGCCTGGGCGACAGAGCGAGACTCCGTCTCAAAAAGGCCGGGCGCGGT GGCTCACGCCTGTAATCCCAGCACTTTGGGAGGCCGAGGCGGGCGGATCACCTGAGGTCA GGAGTTCGAGACCAGCCTGGCCAACATGGTGAAACCCCGTCTCTACTAAAAATACAAAAA TTAGCCGGGCGTGGTGGCGCGCGCCTGTAATCCCAGCTACTCGGGAGGCTGAGGCAGGAG AATCGCTTGAACCCGGGAGGCGGAGGTTGCAGTGAGCCGAGATCGCGCCACTGCACTCCA GCCTGGGCGACAGAGCGAGACTCCGTCTCAAAAAGGCCGGGCGCGGTGGCTCACGCCTGT AATCCCAGCACTTTGGGAGGCCGAGGCGGGCGGATCACCTGAGGTCAGGAGTTCGAGACC AGCCTGGCCAACATGGTGAAACCCCGTCTCTACTAAAAATACAAAAATTAGCCGGGCGTG GTGGCGCGCGCCTGTAATCCCAGCTACTCGGGAGGCTGAGGCAGGAGAATCGCTTGAACC CGGGAGGCGGAGGTTGCAGTGAGCCGAGATCGCGCCACTGCACTCCAGCCTGGGCGACAG AGCGAGACTCCGTCTCAAAAAGGCCGGGCGCGGTGGCTCACGCCTGTAATCCCAGCACTT TGGGAGGCCGAGGCGGGCGGATCACCTGAGGTCAGGAGTTCGAGACCAGCCTGGCCAACA TGGTGAAACCCCGTCTCTACTAAAAATACAAAAATTAGCCGGGCGTGGTGGCGCGCGCCT GTAATCCCAGCTACTCGGGAGGCTGAGGCAGGAGAATCGCTTGAACCCGGGAGGCGGAGG TTGCAGTGAGCCGAGATCGCGCCACTGCACTCCAGCCTGGGCGACAGAGCGAGACTCCGT CTCAAAAAGGCCGGGCGCGGTGGCTCACGCCTGTAATCCCAGCACTTTGGGAGGCCGAGG CGGGCGGATCACCTGAGGTCAGGAGTTCGAGACCAGCCTGGCCAACATGGTGAAACCCCG TCTCTACTAAAAATACAAAAATTAGCCGGGCGTGGTGGCGCGCGCCTGTAATCCCAGCTA CTCGGGAGGCTGAGGCAGGAGAATCGCTTGAACCCGGGAGGCGGAGGTTGCAGTGAGCCG AGATCGCGCCACTGCACTCCAGCCTGGGCGACAGAGCGAGACTCCGTCTCAAAAAGGCCG GGCGCGGTGGCTCACGCCTGTAATCCCAGCACTTTGGGAGGCCGAGGCGGGCGGATCACC TGAGGTCAGGAGTTCGAGACCAGCCTGGCCAACATGGTGAAACCCCGTCTCTACTAAAAA TACAAAAATTAGCCGGGCGTGGTGGCGCGCGCCTGTAATCCCAGCTACTCGGGAGGCTGA GGCAGGAGAATCGCTTGAACCCGGGAGGCGGAGGTTGCAGTGAGCCGAGATCGCGCCACT GCACTCCAGCCTGGGCGACAGAGCGAGACTCCGTCTCAAAAAGGCCGGGCGCGGTGGCTC ACGCCTGTAATCCCAGCACTTTGGGAGGCCGAGGCGGGCGGATCACCTGAGGTCAGGAGT TCGAGACCAGCCTGGCCAACATGGTGAAACCCCGTCTCTACTAAAAATACAAAAATTAGC CGGGCGTGGTGGCGCGCGCCTGTAATCCCAGCTACTCGGGAGGCTGAGGCAGGAGAATCG CTTGAACCCGGGAGGCGGAGGTTGCAGTGAGCCGAGATCGCGCCACTGCACTCCAGCCTG GGCGACAGAGCGAGACTCCG >TWO IUB ambiguity codes cttBtatcatatgctaKggNcataaaSatgtaaaDcDRtBggDtctttataattcBgtcg tactDtDagcctatttSVHtHttKtgtHMaSattgWaHKHttttagacatWatgtRgaaa NtactMcSMtYtcMgRtacttctWBacgaaatatagScDtttgaagacacatagtVgYgt cattHWtMMWcStgttaggKtSgaYaaccWStcgBttgcgaMttBYatcWtgacaYcaga gtaBDtRacttttcWatMttDBcatWtatcttactaBgaYtcttgttttttttYaaScYa HgtgttNtSatcMtcVaaaStccRcctDaataataStcYtRDSaMtDttgttSagtRRca tttHatSttMtWgtcgtatSSagactYaaattcaMtWatttaSgYttaRgKaRtccactt tattRggaMcDaWaWagttttgacatgttctacaaaRaatataataaMttcgDacgaSSt acaStYRctVaNMtMgtaggcKatcttttattaaaaagVWaHKYagtttttatttaacct tacgtVtcVaattVMBcttaMtttaStgacttagattWWacVtgWYagWVRctDattBYt gtttaagaagattattgacVatMaacattVctgtBSgaVtgWWggaKHaatKWcBScSWa accRVacacaaactaccScattRatatKVtactatatttHttaagtttSKtRtacaaagt RDttcaaaaWgcacatWaDgtDKacgaacaattacaRNWaatHtttStgttattaaMtgt tgDcgtMgcatBtgcttcgcgaDWgagctgcgaggggVtaaScNatttacttaatgacag cccccacatYScaMgtaggtYaNgttctgaMaacNaMRaacaaacaKctacatagYWctg ttWaaataaaataRattagHacacaagcgKatacBttRttaagtatttccgatctHSaat actcNttMaagtattMtgRtgaMgcataatHcMtaBSaRattagttgatHtMttaaKagg YtaaBataSaVatactWtataVWgKgttaaaacagtgcgRatatacatVtHRtVYataSa KtWaStVcNKHKttactatccctcatgWHatWaRcttactaggatctataDtDHBttata aaaHgtacVtagaYttYaKcctattcttcttaataNDaaggaaaDYgcggctaaWSctBa aNtgctggMBaKctaMVKagBaactaWaDaMaccYVtNtaHtVWtKgRtcaaNtYaNacg gtttNattgVtttctgtBaWgtaattcaagtcaVWtactNggattctttaYtaaagccgc tcttagHVggaYtgtNcDaVagctctctKgacgtatagYcctRYHDtgBattDaaDgccK tcHaaStttMcctagtattgcRgWBaVatHaaaataYtgtttagMDMRtaataaggatMt ttctWgtNtgtgaaaaMaatatRtttMtDgHHtgtcattttcWattRSHcVagaagtacg ggtaKVattKYagactNaatgtttgKMMgYNtcccgSKttctaStatatNVataYHgtNa BKRgNacaactgatttcctttaNcgatttctctataScaHtataRagtcRVttacDSDtt aRtSatacHgtSKacYagttMHtWataggatgactNtatSaNctataVtttRNKtgRacc tttYtatgttactttttcctttaaacatacaHactMacacggtWataMtBVacRaSaatc cgtaBVttccagccBcttaRKtgtgcctttttRtgtcagcRttKtaaacKtaaatctcac aattgcaNtSBaaccgggttattaaBcKatDagttactcttcattVtttHaaggctKKga tacatcBggScagtVcacattttgaHaDSgHatRMaHWggtatatRgccDttcgtatcga aacaHtaagttaRatgaVacttagattVKtaaYttaaatcaNatccRttRRaMScNaaaD gttVHWgtcHaaHgacVaWtgttScactaagSgttatcttagggDtaccagWattWtRtg ttHWHacgattBtgVcaYatcggttgagKcWtKKcaVtgaYgWctgYggVctgtHgaNcV taBtWaaYatcDRaaRtSctgaHaYRttagatMatgcatttNattaDttaattgttctaa ccctcccctagaWBtttHtBccttagaVaatMcBHagaVcWcagBVttcBtaYMccagat gaaaaHctctaacgttagNWRtcggattNatcRaNHttcagtKttttgWatWttcSaNgg gaWtactKKMaacatKatacNattgctWtatctaVgagctatgtRaHtYcWcttagccaa tYttWttaWSSttaHcaaaaagVacVgtaVaRMgattaVcDactttcHHggHRtgNcctt tYatcatKgctcctctatVcaaaaKaaaagtatatctgMtWtaaaacaStttMtcgactt taSatcgDataaactaaacaagtaaVctaggaSccaatMVtaaSKNVattttgHccatca cBVctgcaVatVttRtactgtVcaattHgtaaattaaattttYtatattaaRSgYtgBag aHSBDgtagcacRHtYcBgtcacttacactaYcgctWtattgSHtSatcataaatataHt cgtYaaMNgBaatttaRgaMaatatttBtttaaaHHKaatctgatWatYaacttMctctt ttVctagctDaaagtaVaKaKRtaacBgtatccaaccactHHaagaagaaggaNaaatBW attccgStaMSaMatBttgcatgRSacgttVVtaaDMtcSgVatWcaSatcttttVatag ttactttacgatcaccNtaDVgSRcgVcgtgaacgaNtaNatatagtHtMgtHcMtagaa attBgtataRaaaacaYKgtRccYtatgaagtaataKgtaaMttgaaRVatgcagaKStc tHNaaatctBBtcttaYaBWHgtVtgacagcaRcataWctcaBcYacYgatDgtDHccta >THREE Homo sapiens frequency aacacttcaccaggtatcgtgaaggctcaagattacccagagaacctttgcaatataaga atatgtatgcagcattaccctaagtaattatattctttttctgactcaaagtgacaagcc ctagtgtatattaaatcggtatatttgggaaattcctcaaactatcctaatcaggtagcc atgaaagtgatcaaaaaagttcgtacttataccatacatgaattctggccaagtaaaaaa tagattgcgcaaaattcgtaccttaagtctctcgccaagatattaggatcctattactca tatcgtgtttttctttattgccgccatccccggagtatctcacccatccttctcttaaag gcctaatattacctatgcaaataaacatatattgttgaaaattgagaacctgatcgtgat tcttatgtgtaccatatgtatagtaatcacgcgactatatagtgctttagtatcgcccgt gggtgagtgaatattctgggctagcgtgagatagtttcttgtcctaatatttttcagatc gaatagcttctatttttgtgtttattgacatatgtcgaaactccttactcagtgaaagtc atgaccagatccacgaacaatcttcggaatcagtctcgttttacggcggaatcttgagtc taacttatatcccgtcgcttactttctaacaccccttatgtatttttaaaattacgttta ttcgaacgtacttggcggaagcgttattttttgaagtaagttacattgggcagactcttg acattttcgatacgactttctttcatccatcacaggactcgttcgtattgatatcagaag ctcgtgatgattagttgtcttctttaccaatactttgaggcctattctgcgaaatttttg ttgccctgcgaacttcacataccaaggaacacctcgcaacatgccttcatatccatcgtt cattgtaattcttacacaatgaatcctaagtaattacatccctgcgtaaaagatggtagg ggcactgaggatatattaccaagcatttagttatgagtaatcagcaatgtttcttgtatt aagttctctaaaatagttacatcgtaatgttatctcgggttccgcgaataaacgagatag attcattatatatggccctaagcaaaaacctcctcgtattctgttggtaattagaatcac acaatacgggttgagatattaattatttgtagtacgaagagatataaaaagatgaacaat tactcaagtcaagatgtatacgggatttataataaaaatcgggtagagatctgctttgca attcagacgtgccactaaatcgtaatatgtcgcgttacatcagaaagggtaactattatt aattaataaagggcttaatcactacatattagatcttatccgatagtcttatctattcgt tgtatttttaagcggttctaattcagtcattatatcagtgctccgagttctttattattg ttttaaggatgacaaaatgcctcttgttataacgctgggagaagcagactaagagtcgga gcagttggtagaatgaggctgcaaaagacggtctcgacgaatggacagactttactaaac caatgaaagacagaagtagagcaaagtctgaagtggtatcagcttaattatgacaaccct taatacttccctttcgccgaatactggcgtggaaaggttttaaaagtcgaagtagttaga ggcatctctcgctcataaataggtagactactcgcaatccaatgtgactatgtaatactg ggaacatcagtccgcgatgcagcgtgtttatcaaccgtccccactcgcctggggagacat gagaccacccccgtggggattattagtccgcagtaatcgactcttgacaatccttttcga ttatgtcatagcaatttacgacagttcagcgaagtgactactcggcgaaatggtattact aaagcattcgaacccacatgaatgtgattcttggcaatttctaatccactaaagcttttc cgttgaatctggttgtagatatttatataagttcactaattaagatcacggtagtatatt gatagtgatgtctttgcaagaggttggccgaggaatttacggattctctattgatacaat ttgtctggcttataactcttaaggctgaaccaggcgtttttagacgacttgatcagctgt tagaatggtttggactccctctttcatgtcagtaacatttcagccgttattgttacgata tgcttgaacaatattgatctaccacacacccatagtatattttataggtcatgctgttac ctacgagcatggtattccacttcccattcaatgagtattcaacatcactagcctcagaga tgatgacccacctctaataacgtcacgttgcggccatgtgaaacctgaacttgagtagac gatatcaagcgctttaaattgcatataacatttgagggtaaagctaagcggatgctttat ataatcaatactcaataataagatttgattgcattttagagttatgacacgacatagttc actaacgagttactattcccagatctagactgaagtactgatcgagacgatccttacgtc gatgatcgttagttatcgacttaggtcgggtctctagcggtattggtacttaaccggaca ctatactaataacccatgatcaaagcataacagaatacagacgataatttcgccaacata tatgtacagaccccaagcatgagaagctcattgaaagctatcattgaagtcccgctcaca atgtgtcttttccagacggtttaactggttcccgggagtcctggagtttcgacttacata aatggaaacaatgtattttgctaatttatctatagcgtcatttggaccaatacagaatat tatgttgcctagtaatccactataacccgcaagtgctgatagaaaatttttagacgattt ataaatgccccaagtatccctcccgtgaatcctccgttatactaattagtattcgttcat acgtataccgcgcatatatgaacatttggcgataaggcgcgtgaattgttacgtgacaga gatagcagtttcttgtgatatggttaacagacgtacatgaagggaaactttatatctata gtgatgcttccgtagaaataccgccactggtctgccaatgatgaagtatgtagctttagg tttgtactatgaggctttcgtttgtttgcagagtataacagttgcgagtgaaaaaccgac gaatttatactaatacgctttcactattggctacaaaatagggaagagtttcaatcatga gagggagtatatggatgctttgtagctaaaggtagaacgtatgtatatgctgccgttcat tcttgaaagatacataagcgataagttacgacaattataagcaacatccctaccttcgta acgatttcactgttactgcgcttgaaatacactatggggctattggcggagagaagcaga tcgcgccgagcatatacgagacctataatgttgatgatagagaaggcgtctgaattgata catcgaagtacactttctttcgtagtatctctcgtcctctttctatctccggacacaaga attaagttatatatatagagtcttaccaatcatgttgaatcctgattctcagagttcttt ggcgggccttgtgatgactgagaaacaatgcaatattgctccaaatttcctaagcaaatt ctcggttatgttatgttatcagcaaagcgttacgttatgttatttaaatctggaatgacg gagcgaagttcttatgtcggtgtgggaataattcttttgaagacagcactccttaaataa tatcgctccgtgtttgtatttatcgaatgggtctgtaaccttgcacaagcaaatcggtgg tgtatatatcggataacaattaatacgatgttcatagtgacagtatactgatcgagtcct ctaaagtcaattacctcacttaacaatctcattgatgttgtgtcattcccggtatcgccc gtagtatgtgctctgattgaccgagtgtgaaccaaggaacatctactaatgcctttgtta ggtaagatctctctgaattccttcgtgccaacttaaaacattatcaaaatttcttctact tggattaactacttttacgagcatggcaaattcccctgtggaagacggttcattattatc ggaaaccttatagaaattgcgtgttgactgaaattagatttttattgtaagagttgcatc tttgcgattcctctggtctagcttccaatgaacagtcctcccttctattcgacatcgggt ccttcgtacatgtctttgcgatgtaataattaggttcggagtgtggccttaatgggtgca actaggaatacaacgcaaatttgctgacatgatagcaaatcggtatgccggcaccaaaac gtgctccttgcttagcttgtgaatgagactcagtagttaaataaatccatatctgcaatc gattccacaggtattgtccactatctttgaactactctaagagatacaagcttagctgag accgaggtgtatatgactacgctgatatctgtaaggtaccaatgcaggcaaagtatgcga gaagctaataccggctgtttccagctttataagattaaaatttggctgtcctggcggcct cagaattgttctatcgtaatcagttggttcattaattagctaagtacgaggtacaactta tctgtcccagaacagctccacaagtttttttacagccgaaacccctgtgtgaatcttaat atccaagcgcgttatctgattagagtttacaactcagtattttatcagtacgttttgttt ccaacattacccggtatgacaaaatgacgccacgtgtcgaataatggtctgaccaatgta ggaagtgaaaagataaatat dependencies/pkg/mod/golang.org/x/exp@v0.0.0-20240506185415-9bf2ced13842/shootout/fannkuch.c0000644000000000000000000000672515107355263026560 0ustar rootroot// +build ignore /* 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 "The Computer Language Benchmarks Game" nor the name of "The Computer Language Shootout Benchmarks" 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. */ /* * The Computer Language Shootout * http://shootout.alioth.debian.org/ * Contributed by Heiner Marxen * * "fannkuch" for C gcc * * $Id: fannkuch.1.gcc.code,v 1.15 2009-04-28 15:39:31 igouy-guest Exp $ */ #include #include #define Int int #define Aint int static long fannkuch( int n ) { Aint* perm; Aint* perm1; Aint* count; long flips; long flipsMax; Int r; Int i; Int k; Int didpr; const Int n1 = n - 1; if( n < 1 ) return 0; perm = calloc(n, sizeof(*perm )); perm1 = calloc(n, sizeof(*perm1)); count = calloc(n, sizeof(*count)); for( i=0 ; i k>0 */ Int j; for( i=1, j=k-1 ; i 0 ) { break; } ++r; } } } int main( int argc, char* argv[] ) { int n = (argc>1) ? atoi(argv[1]) : 0; printf("Pfannkuchen(%d) = %ld\n", n, fannkuch(n)); return 0; } ././@LongLink0000644000000000000000000000015400000000000011603 Lustar rootrootdependencies/pkg/mod/golang.org/x/exp@v0.0.0-20240506185415-9bf2ced13842/shootout/spectral-norm-parallel.godependencies/pkg/mod/golang.org/x/exp@v0.0.0-20240506185415-9bf2ced13842/shootout/spectral-norm-para0000644000000000000000000000573615107355263030252 0ustar rootroot//go:build ignore // +build ignore /* 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 "The Computer Language Benchmarks Game" nor the name of "The Computer Language Shootout Benchmarks" 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. */ /* The Computer Language Benchmarks Game * http://shootout.alioth.debian.org/ * * contributed by The Go Authors. * Based on spectral-norm.c by Sebastien Loisel */ package main import ( "flag" "fmt" "math" "runtime" ) var n = flag.Int("n", 2000, "count") var nCPU = flag.Int("ncpu", 4, "number of cpus") func evalA(i, j int) float64 { return 1 / float64(((i+j)*(i+j+1)/2 + i + 1)) } type Vec []float64 func (v Vec) Times(i, n int, u Vec, c chan int) { for ; i < n; i++ { v[i] = 0 for j := 0; j < len(u); j++ { v[i] += evalA(i, j) * u[j] } } c <- 1 } func (v Vec) TimesTransp(i, n int, u Vec, c chan int) { for ; i < n; i++ { v[i] = 0 for j := 0; j < len(u); j++ { v[i] += evalA(j, i) * u[j] } } c <- 1 } func wait(c chan int) { for i := 0; i < *nCPU; i++ { <-c } } func (v Vec) ATimesTransp(u Vec) { x := make(Vec, len(u)) c := make(chan int, *nCPU) for i := 0; i < *nCPU; i++ { go x.Times(i*len(v) / *nCPU, (i+1)*len(v) / *nCPU, u, c) } wait(c) for i := 0; i < *nCPU; i++ { go v.TimesTransp(i*len(v) / *nCPU, (i+1)*len(v) / *nCPU, x, c) } wait(c) } func main() { flag.Parse() runtime.GOMAXPROCS(*nCPU) N := *n u := make(Vec, N) for i := 0; i < N; i++ { u[i] = 1 } v := make(Vec, N) for i := 0; i < 10; i++ { v.ATimesTransp(u) u.ATimesTransp(v) } var vBv, vv float64 for i := 0; i < N; i++ { vBv += u[i] * v[i] vv += v[i] * v[i] } fmt.Printf("%0.9f\n", math.Sqrt(vBv/vv)) } ././@LongLink0000644000000000000000000000015400000000000011603 Lustar rootrootdependencies/pkg/mod/golang.org/x/exp@v0.0.0-20240506185415-9bf2ced13842/shootout/k-nucleotide-parallel.txtdependencies/pkg/mod/golang.org/x/exp@v0.0.0-20240506185415-9bf2ced13842/shootout/k-nucleotide-paral0000644000000000000000000000036215107355263030211 0ustar rootrootT 31.520 A 29.600 C 19.480 G 19.400 AT 9.922 TT 9.602 TA 9.402 AA 8.402 GA 6.321 TC 6.301 TG 6.201 GT 6.041 CT 5.961 AG 5.841 CA 5.461 AC 5.441 CC 4.041 CG 4.021 GC 3.701 GG 3.341 54 GGT 24 GGTA 4 GGTATT 0 GGTATTTTAATT 0 GGTATTTTAATTTATAGT dependencies/pkg/mod/golang.org/x/exp@v0.0.0-20240506185415-9bf2ced13842/shootout/fannkuch.go0000644000000000000000000000604415107355263026735 0ustar rootroot//go:build ignore // +build ignore /* 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 "The Computer Language Benchmarks Game" nor the name of "The Computer Language Shootout Benchmarks" 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. */ /* * The Computer Language Benchmarks Game * http://shootout.alioth.debian.org/ * * contributed by The Go Authors. * Based on fannkuch.c by Heiner Marxen */ package main import ( "flag" "fmt" ) var n = flag.Int("n", 7, "count") func fannkuch(n int) int { if n < 1 { return 0 } n1 := n - 1 perm := make([]int, n) perm1 := make([]int, n) count := make([]int, n) for i := 0; i < n; i++ { perm1[i] = i // initial (trivial) permutation } r := n didpr := 0 flipsMax := 0 for { if didpr < 30 { for i := 0; i < n; i++ { fmt.Printf("%d", 1+perm1[i]) } fmt.Printf("\n") didpr++ } for ; r != 1; r-- { count[r-1] = r } if perm1[0] != 0 && perm1[n1] != n1 { flips := 0 for i := 1; i < n; i++ { // perm = perm1 perm[i] = perm1[i] } k := perm1[0] // cache perm[0] in k for { // k!=0 ==> k>0 for i, j := 1, k-1; i < j; i, j = i+1, j-1 { perm[i], perm[j] = perm[j], perm[i] } flips++ // Now exchange k (caching perm[0]) and perm[k]... with care! j := perm[k] perm[k] = k k = j if k == 0 { break } } if flipsMax < flips { flipsMax = flips } } for ; r < n; r++ { // rotate down perm[0..r] by one perm0 := perm1[0] for i := 0; i < r; i++ { perm1[i] = perm1[i+1] } perm1[r] = perm0 count[r]-- if count[r] > 0 { break } } if r == n { return flipsMax } } return 0 } func main() { flag.Parse() fmt.Printf("Pfannkuchen(%d) = %d\n", *n, fannkuch(*n)) } dependencies/pkg/mod/filippo.io/0000755000000000000000000000000015107355263015621 5ustar rootrootdependencies/pkg/mod/filippo.io/edwards25519@v1.1.0/0000755000000000000000000000000015107355263020524 5ustar rootrootdependencies/pkg/mod/filippo.io/edwards25519@v1.1.0/scalar_test.go0000644000000000000000000001712215107355263023362 0ustar rootroot// Copyright (c) 2019 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 edwards25519 import ( "bytes" "encoding/hex" "math/big" mathrand "math/rand" "reflect" "testing" "testing/quick" ) // quickCheckConfig returns a quick.Config that scales the max count by the // given factor if the -short flag is not set. func quickCheckConfig(slowScale int) *quick.Config { cfg := new(quick.Config) if !testing.Short() { cfg.MaxCountScale = float64(slowScale) } return cfg } var scOneBytes = [32]byte{1} var scOne, _ = new(Scalar).SetCanonicalBytes(scOneBytes[:]) var scMinusOne, _ = new(Scalar).SetCanonicalBytes(scalarMinusOneBytes[:]) // Generate returns a valid (reduced modulo l) Scalar with a distribution // weighted towards high, low, and edge values. func (Scalar) Generate(rand *mathrand.Rand, size int) reflect.Value { var s [32]byte diceRoll := rand.Intn(100) switch { case diceRoll == 0: case diceRoll == 1: s = scOneBytes case diceRoll == 2: s = scalarMinusOneBytes case diceRoll < 5: // Generate a low scalar in [0, 2^125). rand.Read(s[:16]) s[15] &= (1 << 5) - 1 case diceRoll < 10: // Generate a high scalar in [2^252, 2^252 + 2^124). s[31] = 1 << 4 rand.Read(s[:16]) s[15] &= (1 << 4) - 1 default: // Generate a valid scalar in [0, l) by returning [0, 2^252) which has a // negligibly different distribution (the former has a 2^-127.6 chance // of being out of the latter range). rand.Read(s[:]) s[31] &= (1 << 4) - 1 } val := Scalar{} fiatScalarFromBytes((*[4]uint64)(&val.s), &s) fiatScalarToMontgomery(&val.s, (*fiatScalarNonMontgomeryDomainFieldElement)(&val.s)) return reflect.ValueOf(val) } func TestScalarGenerate(t *testing.T) { f := func(sc Scalar) bool { return isReduced(sc.Bytes()) } if err := quick.Check(f, quickCheckConfig(1024)); err != nil { t.Errorf("generated unreduced scalar: %v", err) } } func TestScalarSetCanonicalBytes(t *testing.T) { f1 := func(in [32]byte, sc Scalar) bool { // Mask out top 4 bits to guarantee value falls in [0, l). in[len(in)-1] &= (1 << 4) - 1 if _, err := sc.SetCanonicalBytes(in[:]); err != nil { return false } repr := sc.Bytes() return bytes.Equal(in[:], repr) && isReduced(repr) } if err := quick.Check(f1, quickCheckConfig(1024)); err != nil { t.Errorf("failed bytes->scalar->bytes round-trip: %v", err) } f2 := func(sc1, sc2 Scalar) bool { if _, err := sc2.SetCanonicalBytes(sc1.Bytes()); err != nil { return false } return sc1 == sc2 } if err := quick.Check(f2, quickCheckConfig(1024)); err != nil { t.Errorf("failed scalar->bytes->scalar round-trip: %v", err) } b := scalarMinusOneBytes b[31] += 1 s := scOne if out, err := s.SetCanonicalBytes(b[:]); err == nil { t.Errorf("SetCanonicalBytes worked on a non-canonical value") } else if s != scOne { t.Errorf("SetCanonicalBytes modified its receiver") } else if out != nil { t.Errorf("SetCanonicalBytes did not return nil with an error") } } func TestScalarSetUniformBytes(t *testing.T) { mod, _ := new(big.Int).SetString("27742317777372353535851937790883648493", 10) mod.Add(mod, new(big.Int).Lsh(big.NewInt(1), 252)) f := func(in [64]byte, sc Scalar) bool { sc.SetUniformBytes(in[:]) repr := sc.Bytes() if !isReduced(repr) { return false } scBig := bigIntFromLittleEndianBytes(repr[:]) inBig := bigIntFromLittleEndianBytes(in[:]) return inBig.Mod(inBig, mod).Cmp(scBig) == 0 } if err := quick.Check(f, quickCheckConfig(1024)); err != nil { t.Error(err) } } func TestScalarSetBytesWithClamping(t *testing.T) { // Generated with libsodium.js 1.0.18 crypto_scalarmult_ed25519_base. random := "633d368491364dc9cd4c1bf891b1d59460face1644813240a313e61f2c88216e" s, _ := new(Scalar).SetBytesWithClamping(decodeHex(random)) p := new(Point).ScalarBaseMult(s) want := "1d87a9026fd0126a5736fe1628c95dd419172b5b618457e041c9c861b2494a94" if got := hex.EncodeToString(p.Bytes()); got != want { t.Errorf("random: got %q, want %q", got, want) } zero := "0000000000000000000000000000000000000000000000000000000000000000" s, _ = new(Scalar).SetBytesWithClamping(decodeHex(zero)) p = new(Point).ScalarBaseMult(s) want = "693e47972caf527c7883ad1b39822f026f47db2ab0e1919955b8993aa04411d1" if got := hex.EncodeToString(p.Bytes()); got != want { t.Errorf("zero: got %q, want %q", got, want) } one := "ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff" s, _ = new(Scalar).SetBytesWithClamping(decodeHex(one)) p = new(Point).ScalarBaseMult(s) want = "12e9a68b73fd5aacdbcaf3e88c46fea6ebedb1aa84eed1842f07f8edab65e3a7" if got := hex.EncodeToString(p.Bytes()); got != want { t.Errorf("one: got %q, want %q", got, want) } } func bigIntFromLittleEndianBytes(b []byte) *big.Int { bb := make([]byte, len(b)) for i := range b { bb[i] = b[len(b)-i-1] } return new(big.Int).SetBytes(bb) } func TestScalarMultiplyDistributesOverAdd(t *testing.T) { multiplyDistributesOverAdd := func(x, y, z Scalar) bool { // Compute t1 = (x+y)*z var t1 Scalar t1.Add(&x, &y) t1.Multiply(&t1, &z) // Compute t2 = x*z + y*z var t2 Scalar var t3 Scalar t2.Multiply(&x, &z) t3.Multiply(&y, &z) t2.Add(&t2, &t3) reprT1, reprT2 := t1.Bytes(), t2.Bytes() return t1 == t2 && isReduced(reprT1) && isReduced(reprT2) } if err := quick.Check(multiplyDistributesOverAdd, quickCheckConfig(1024)); err != nil { t.Error(err) } } func TestScalarAddLikeSubNeg(t *testing.T) { addLikeSubNeg := func(x, y Scalar) bool { // Compute t1 = x - y var t1 Scalar t1.Subtract(&x, &y) // Compute t2 = -y + x var t2 Scalar t2.Negate(&y) t2.Add(&t2, &x) return t1 == t2 && isReduced(t1.Bytes()) } if err := quick.Check(addLikeSubNeg, quickCheckConfig(1024)); err != nil { t.Error(err) } } func TestScalarNonAdjacentForm(t *testing.T) { s, _ := (&Scalar{}).SetCanonicalBytes([]byte{ 0x1a, 0x0e, 0x97, 0x8a, 0x90, 0xf6, 0x62, 0x2d, 0x37, 0x47, 0x02, 0x3f, 0x8a, 0xd8, 0x26, 0x4d, 0xa7, 0x58, 0xaa, 0x1b, 0x88, 0xe0, 0x40, 0xd1, 0x58, 0x9e, 0x7b, 0x7f, 0x23, 0x76, 0xef, 0x09, }) expectedNaf := [256]int8{ 0, 13, 0, 0, 0, 0, 0, 0, 0, 7, 0, 0, 0, 0, 0, 0, -9, 0, 0, 0, 0, -11, 0, 0, 0, 0, 3, 0, 0, 0, 0, 1, 0, 0, 0, 0, 9, 0, 0, 0, 0, -5, 0, 0, 0, 0, 0, 0, 3, 0, 0, 0, 0, 11, 0, 0, 0, 0, 11, 0, 0, 0, 0, 0, -9, 0, 0, 0, 0, 0, -3, 0, 0, 0, 0, 9, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, -1, 0, 0, 0, 0, 0, 9, 0, 0, 0, 0, -15, 0, 0, 0, 0, -7, 0, 0, 0, 0, -9, 0, 0, 0, 0, 0, 5, 0, 0, 0, 0, 13, 0, 0, 0, 0, 0, -3, 0, 0, 0, 0, -11, 0, 0, 0, 0, -7, 0, 0, 0, 0, -13, 0, 0, 0, 0, 11, 0, 0, 0, 0, -9, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, -15, 0, 0, 0, 0, 1, 0, 0, 0, 0, 7, 0, 0, 0, 0, 0, 0, 0, 0, 5, 0, 0, 0, 0, 0, 13, 0, 0, 0, 0, 0, 0, 11, 0, 0, 0, 0, 0, 15, 0, 0, 0, 0, 0, -9, 0, 0, 0, 0, 0, 0, 0, -1, 0, 0, 0, 0, 0, 0, 0, 7, 0, 0, 0, 0, 0, -15, 0, 0, 0, 0, 0, 15, 0, 0, 0, 0, 15, 0, 0, 0, 0, 15, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, } sNaf := s.nonAdjacentForm(5) for i := 0; i < 256; i++ { if expectedNaf[i] != sNaf[i] { t.Errorf("Wrong digit at position %d, got %d, expected %d", i, sNaf[i], expectedNaf[i]) } } } type notZeroScalar Scalar func (notZeroScalar) Generate(rand *mathrand.Rand, size int) reflect.Value { var s Scalar var isNonZero uint64 for isNonZero == 0 { s = Scalar{}.Generate(rand, size).Interface().(Scalar) fiatScalarNonzero(&isNonZero, (*[4]uint64)(&s.s)) } return reflect.ValueOf(notZeroScalar(s)) } func TestScalarEqual(t *testing.T) { if scOne.Equal(scMinusOne) == 1 { t.Errorf("scOne.Equal(&scMinusOne) is true") } if scMinusOne.Equal(scMinusOne) == 0 { t.Errorf("scMinusOne.Equal(&scMinusOne) is false") } } dependencies/pkg/mod/filippo.io/edwards25519@v1.1.0/README.md0000644000000000000000000000252715107355263022011 0ustar rootroot# filippo.io/edwards25519 ``` import "filippo.io/edwards25519" ``` This library implements the edwards25519 elliptic curve, exposing the necessary APIs to build a wide array of higher-level primitives. Read the docs at [pkg.go.dev/filippo.io/edwards25519](https://pkg.go.dev/filippo.io/edwards25519). The code is originally derived from Adam Langley's internal implementation in the Go standard library, and includes George Tankersley's [performance improvements](https://golang.org/cl/71950). It was then further developed by Henry de Valence for use in ristretto255, and was finally [merged back into the Go standard library](https://golang.org/cl/276272) as of Go 1.17. It now tracks the upstream codebase and extends it with additional functionality. Most users don't need this package, and should instead use `crypto/ed25519` for signatures, `golang.org/x/crypto/curve25519` for Diffie-Hellman, or `github.com/gtank/ristretto255` for prime order group logic. However, for anyone currently using a fork of `crypto/internal/edwards25519`/`crypto/ed25519/internal/edwards25519` or `github.com/agl/edwards25519`, this package should be a safer, faster, and more powerful alternative. Since this package is meant to curb proliferation of edwards25519 implementations in the Go ecosystem, it welcomes requests for new APIs or reviewable performance improvements. dependencies/pkg/mod/filippo.io/edwards25519@v1.1.0/scalar_alias_test.go0000644000000000000000000000617215107355263024536 0ustar rootroot// Copyright (c) 2019 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 edwards25519 import ( "testing" "testing/quick" ) func TestScalarAliasing(t *testing.T) { checkAliasingOneArg := func(f func(v, x *Scalar) *Scalar, v, x Scalar) bool { x1, v1 := x, x // Calculate a reference f(x) without aliasing. if out := f(&v, &x); out != &v || !isReduced(out.Bytes()) { return false } // Test aliasing the argument and the receiver. if out := f(&v1, &v1); out != &v1 || v1 != v || !isReduced(out.Bytes()) { return false } // Ensure the arguments was not modified. return x == x1 } checkAliasingTwoArgs := func(f func(v, x, y *Scalar) *Scalar, v, x, y Scalar) bool { x1, y1, v1 := x, y, Scalar{} // Calculate a reference f(x, y) without aliasing. if out := f(&v, &x, &y); out != &v || !isReduced(out.Bytes()) { return false } // Test aliasing the first argument and the receiver. v1 = x if out := f(&v1, &v1, &y); out != &v1 || v1 != v || !isReduced(out.Bytes()) { return false } // Test aliasing the second argument and the receiver. v1 = y if out := f(&v1, &x, &v1); out != &v1 || v1 != v || !isReduced(out.Bytes()) { return false } // Calculate a reference f(x, x) without aliasing. if out := f(&v, &x, &x); out != &v || !isReduced(out.Bytes()) { return false } // Test aliasing the first argument and the receiver. v1 = x if out := f(&v1, &v1, &x); out != &v1 || v1 != v || !isReduced(out.Bytes()) { return false } // Test aliasing the second argument and the receiver. v1 = x if out := f(&v1, &x, &v1); out != &v1 || v1 != v || !isReduced(out.Bytes()) { return false } // Test aliasing both arguments and the receiver. v1 = x if out := f(&v1, &v1, &v1); out != &v1 || v1 != v || !isReduced(out.Bytes()) { return false } // Ensure the arguments were not modified. return x == x1 && y == y1 } for name, f := range map[string]interface{}{ "Negate": func(v, x Scalar) bool { return checkAliasingOneArg((*Scalar).Negate, v, x) }, "Invert": func(v, x Scalar) bool { return checkAliasingOneArg((*Scalar).Invert, v, x) }, "Multiply": func(v, x, y Scalar) bool { return checkAliasingTwoArgs((*Scalar).Multiply, v, x, y) }, "Add": func(v, x, y Scalar) bool { return checkAliasingTwoArgs((*Scalar).Add, v, x, y) }, "Subtract": func(v, x, y Scalar) bool { return checkAliasingTwoArgs((*Scalar).Subtract, v, x, y) }, "MultiplyAdd1": func(v, x, y, fixed Scalar) bool { return checkAliasingTwoArgs(func(v, x, y *Scalar) *Scalar { return v.MultiplyAdd(&fixed, x, y) }, v, x, y) }, "MultiplyAdd2": func(v, x, y, fixed Scalar) bool { return checkAliasingTwoArgs(func(v, x, y *Scalar) *Scalar { return v.MultiplyAdd(x, &fixed, y) }, v, x, y) }, "MultiplyAdd3": func(v, x, y, fixed Scalar) bool { return checkAliasingTwoArgs(func(v, x, y *Scalar) *Scalar { return v.MultiplyAdd(x, y, &fixed) }, v, x, y) }, } { err := quick.Check(f, quickCheckConfig(32)) if err != nil { t.Errorf("%v: %v", name, err) } } } dependencies/pkg/mod/filippo.io/edwards25519@v1.1.0/doc.go0000644000000000000000000000160415107355263021621 0ustar rootroot// Copyright (c) 2021 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 edwards25519 implements group logic for the twisted Edwards curve // // -x^2 + y^2 = 1 + -(121665/121666)*x^2*y^2 // // This is better known as the Edwards curve equivalent to Curve25519, and is // the curve used by the Ed25519 signature scheme. // // Most users don't need this package, and should instead use crypto/ed25519 for // signatures, golang.org/x/crypto/curve25519 for Diffie-Hellman, or // github.com/gtank/ristretto255 for prime order group logic. // // However, developers who do need to interact with low-level edwards25519 // operations can use this package, which is an extended version of // crypto/internal/edwards25519 from the standard library repackaged as // an importable module. package edwards25519 dependencies/pkg/mod/filippo.io/edwards25519@v1.1.0/scalarmult.go0000644000000000000000000001445415107355263023232 0ustar rootroot// Copyright (c) 2019 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 edwards25519 import "sync" // basepointTable is a set of 32 affineLookupTables, where table i is generated // from 256i * basepoint. It is precomputed the first time it's used. func basepointTable() *[32]affineLookupTable { basepointTablePrecomp.initOnce.Do(func() { p := NewGeneratorPoint() for i := 0; i < 32; i++ { basepointTablePrecomp.table[i].FromP3(p) for j := 0; j < 8; j++ { p.Add(p, p) } } }) return &basepointTablePrecomp.table } var basepointTablePrecomp struct { table [32]affineLookupTable initOnce sync.Once } // ScalarBaseMult sets v = x * B, where B is the canonical generator, and // returns v. // // The scalar multiplication is done in constant time. func (v *Point) ScalarBaseMult(x *Scalar) *Point { basepointTable := basepointTable() // Write x = sum(x_i * 16^i) so x*B = sum( B*x_i*16^i ) // as described in the Ed25519 paper // // Group even and odd coefficients // x*B = x_0*16^0*B + x_2*16^2*B + ... + x_62*16^62*B // + x_1*16^1*B + x_3*16^3*B + ... + x_63*16^63*B // x*B = x_0*16^0*B + x_2*16^2*B + ... + x_62*16^62*B // + 16*( x_1*16^0*B + x_3*16^2*B + ... + x_63*16^62*B) // // We use a lookup table for each i to get x_i*16^(2*i)*B // and do four doublings to multiply by 16. digits := x.signedRadix16() multiple := &affineCached{} tmp1 := &projP1xP1{} tmp2 := &projP2{} // Accumulate the odd components first v.Set(NewIdentityPoint()) for i := 1; i < 64; i += 2 { basepointTable[i/2].SelectInto(multiple, digits[i]) tmp1.AddAffine(v, multiple) v.fromP1xP1(tmp1) } // Multiply by 16 tmp2.FromP3(v) // tmp2 = v in P2 coords tmp1.Double(tmp2) // tmp1 = 2*v in P1xP1 coords tmp2.FromP1xP1(tmp1) // tmp2 = 2*v in P2 coords tmp1.Double(tmp2) // tmp1 = 4*v in P1xP1 coords tmp2.FromP1xP1(tmp1) // tmp2 = 4*v in P2 coords tmp1.Double(tmp2) // tmp1 = 8*v in P1xP1 coords tmp2.FromP1xP1(tmp1) // tmp2 = 8*v in P2 coords tmp1.Double(tmp2) // tmp1 = 16*v in P1xP1 coords v.fromP1xP1(tmp1) // now v = 16*(odd components) // Accumulate the even components for i := 0; i < 64; i += 2 { basepointTable[i/2].SelectInto(multiple, digits[i]) tmp1.AddAffine(v, multiple) v.fromP1xP1(tmp1) } return v } // ScalarMult sets v = x * q, and returns v. // // The scalar multiplication is done in constant time. func (v *Point) ScalarMult(x *Scalar, q *Point) *Point { checkInitialized(q) var table projLookupTable table.FromP3(q) // Write x = sum(x_i * 16^i) // so x*Q = sum( Q*x_i*16^i ) // = Q*x_0 + 16*(Q*x_1 + 16*( ... + Q*x_63) ... ) // <------compute inside out--------- // // We use the lookup table to get the x_i*Q values // and do four doublings to compute 16*Q digits := x.signedRadix16() // Unwrap first loop iteration to save computing 16*identity multiple := &projCached{} tmp1 := &projP1xP1{} tmp2 := &projP2{} table.SelectInto(multiple, digits[63]) v.Set(NewIdentityPoint()) tmp1.Add(v, multiple) // tmp1 = x_63*Q in P1xP1 coords for i := 62; i >= 0; i-- { tmp2.FromP1xP1(tmp1) // tmp2 = (prev) in P2 coords tmp1.Double(tmp2) // tmp1 = 2*(prev) in P1xP1 coords tmp2.FromP1xP1(tmp1) // tmp2 = 2*(prev) in P2 coords tmp1.Double(tmp2) // tmp1 = 4*(prev) in P1xP1 coords tmp2.FromP1xP1(tmp1) // tmp2 = 4*(prev) in P2 coords tmp1.Double(tmp2) // tmp1 = 8*(prev) in P1xP1 coords tmp2.FromP1xP1(tmp1) // tmp2 = 8*(prev) in P2 coords tmp1.Double(tmp2) // tmp1 = 16*(prev) in P1xP1 coords v.fromP1xP1(tmp1) // v = 16*(prev) in P3 coords table.SelectInto(multiple, digits[i]) tmp1.Add(v, multiple) // tmp1 = x_i*Q + 16*(prev) in P1xP1 coords } v.fromP1xP1(tmp1) return v } // basepointNafTable is the nafLookupTable8 for the basepoint. // It is precomputed the first time it's used. func basepointNafTable() *nafLookupTable8 { basepointNafTablePrecomp.initOnce.Do(func() { basepointNafTablePrecomp.table.FromP3(NewGeneratorPoint()) }) return &basepointNafTablePrecomp.table } var basepointNafTablePrecomp struct { table nafLookupTable8 initOnce sync.Once } // VarTimeDoubleScalarBaseMult sets v = a * A + b * B, where B is the canonical // generator, and returns v. // // Execution time depends on the inputs. func (v *Point) VarTimeDoubleScalarBaseMult(a *Scalar, A *Point, b *Scalar) *Point { checkInitialized(A) // Similarly to the single variable-base approach, we compute // digits and use them with a lookup table. However, because // we are allowed to do variable-time operations, we don't // need constant-time lookups or constant-time digit // computations. // // So we use a non-adjacent form of some width w instead of // radix 16. This is like a binary representation (one digit // for each binary place) but we allow the digits to grow in // magnitude up to 2^{w-1} so that the nonzero digits are as // sparse as possible. Intuitively, this "condenses" the // "mass" of the scalar onto sparse coefficients (meaning // fewer additions). basepointNafTable := basepointNafTable() var aTable nafLookupTable5 aTable.FromP3(A) // Because the basepoint is fixed, we can use a wider NAF // corresponding to a bigger table. aNaf := a.nonAdjacentForm(5) bNaf := b.nonAdjacentForm(8) // Find the first nonzero coefficient. i := 255 for j := i; j >= 0; j-- { if aNaf[j] != 0 || bNaf[j] != 0 { break } } multA := &projCached{} multB := &affineCached{} tmp1 := &projP1xP1{} tmp2 := &projP2{} tmp2.Zero() // Move from high to low bits, doubling the accumulator // at each iteration and checking whether there is a nonzero // coefficient to look up a multiple of. for ; i >= 0; i-- { tmp1.Double(tmp2) // Only update v if we have a nonzero coeff to add in. if aNaf[i] > 0 { v.fromP1xP1(tmp1) aTable.SelectInto(multA, aNaf[i]) tmp1.Add(v, multA) } else if aNaf[i] < 0 { v.fromP1xP1(tmp1) aTable.SelectInto(multA, -aNaf[i]) tmp1.Sub(v, multA) } if bNaf[i] > 0 { v.fromP1xP1(tmp1) basepointNafTable.SelectInto(multB, bNaf[i]) tmp1.AddAffine(v, multB) } else if bNaf[i] < 0 { v.fromP1xP1(tmp1) basepointNafTable.SelectInto(multB, -bNaf[i]) tmp1.SubAffine(v, multB) } tmp2.FromP1xP1(tmp1) } v.fromP2(tmp2) return v } dependencies/pkg/mod/filippo.io/edwards25519@v1.1.0/LICENSE0000644000000000000000000000270715107355263021537 0ustar rootrootCopyright (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. dependencies/pkg/mod/filippo.io/edwards25519@v1.1.0/field/0000755000000000000000000000000015107355263021607 5ustar rootrootdependencies/pkg/mod/filippo.io/edwards25519@v1.1.0/field/fe_generic.go0000644000000000000000000002103415107355263024224 0ustar rootroot// Copyright (c) 2017 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 field import "math/bits" // uint128 holds a 128-bit number as two 64-bit limbs, for use with the // bits.Mul64 and bits.Add64 intrinsics. type uint128 struct { lo, hi uint64 } // mul64 returns a * b. func mul64(a, b uint64) uint128 { hi, lo := bits.Mul64(a, b) return uint128{lo, hi} } // addMul64 returns v + a * b. func addMul64(v uint128, a, b uint64) uint128 { hi, lo := bits.Mul64(a, b) lo, c := bits.Add64(lo, v.lo, 0) hi, _ = bits.Add64(hi, v.hi, c) return uint128{lo, hi} } // shiftRightBy51 returns a >> 51. a is assumed to be at most 115 bits. func shiftRightBy51(a uint128) uint64 { return (a.hi << (64 - 51)) | (a.lo >> 51) } func feMulGeneric(v, a, b *Element) { a0 := a.l0 a1 := a.l1 a2 := a.l2 a3 := a.l3 a4 := a.l4 b0 := b.l0 b1 := b.l1 b2 := b.l2 b3 := b.l3 b4 := b.l4 // Limb multiplication works like pen-and-paper columnar multiplication, but // with 51-bit limbs instead of digits. // // a4 a3 a2 a1 a0 x // b4 b3 b2 b1 b0 = // ------------------------ // a4b0 a3b0 a2b0 a1b0 a0b0 + // a4b1 a3b1 a2b1 a1b1 a0b1 + // a4b2 a3b2 a2b2 a1b2 a0b2 + // a4b3 a3b3 a2b3 a1b3 a0b3 + // a4b4 a3b4 a2b4 a1b4 a0b4 = // ---------------------------------------------- // r8 r7 r6 r5 r4 r3 r2 r1 r0 // // We can then use the reduction identity (a * 2²⁵⁵ + b = a * 19 + b) to // reduce the limbs that would overflow 255 bits. r5 * 2²⁵⁵ becomes 19 * r5, // r6 * 2³⁰⁶ becomes 19 * r6 * 2⁵¹, etc. // // Reduction can be carried out simultaneously to multiplication. For // example, we do not compute r5: whenever the result of a multiplication // belongs to r5, like a1b4, we multiply it by 19 and add the result to r0. // // a4b0 a3b0 a2b0 a1b0 a0b0 + // a3b1 a2b1 a1b1 a0b1 19×a4b1 + // a2b2 a1b2 a0b2 19×a4b2 19×a3b2 + // a1b3 a0b3 19×a4b3 19×a3b3 19×a2b3 + // a0b4 19×a4b4 19×a3b4 19×a2b4 19×a1b4 = // -------------------------------------- // r4 r3 r2 r1 r0 // // Finally we add up the columns into wide, overlapping limbs. a1_19 := a1 * 19 a2_19 := a2 * 19 a3_19 := a3 * 19 a4_19 := a4 * 19 // r0 = a0×b0 + 19×(a1×b4 + a2×b3 + a3×b2 + a4×b1) r0 := mul64(a0, b0) r0 = addMul64(r0, a1_19, b4) r0 = addMul64(r0, a2_19, b3) r0 = addMul64(r0, a3_19, b2) r0 = addMul64(r0, a4_19, b1) // r1 = a0×b1 + a1×b0 + 19×(a2×b4 + a3×b3 + a4×b2) r1 := mul64(a0, b1) r1 = addMul64(r1, a1, b0) r1 = addMul64(r1, a2_19, b4) r1 = addMul64(r1, a3_19, b3) r1 = addMul64(r1, a4_19, b2) // r2 = a0×b2 + a1×b1 + a2×b0 + 19×(a3×b4 + a4×b3) r2 := mul64(a0, b2) r2 = addMul64(r2, a1, b1) r2 = addMul64(r2, a2, b0) r2 = addMul64(r2, a3_19, b4) r2 = addMul64(r2, a4_19, b3) // r3 = a0×b3 + a1×b2 + a2×b1 + a3×b0 + 19×a4×b4 r3 := mul64(a0, b3) r3 = addMul64(r3, a1, b2) r3 = addMul64(r3, a2, b1) r3 = addMul64(r3, a3, b0) r3 = addMul64(r3, a4_19, b4) // r4 = a0×b4 + a1×b3 + a2×b2 + a3×b1 + a4×b0 r4 := mul64(a0, b4) r4 = addMul64(r4, a1, b3) r4 = addMul64(r4, a2, b2) r4 = addMul64(r4, a3, b1) r4 = addMul64(r4, a4, b0) // After the multiplication, we need to reduce (carry) the five coefficients // to obtain a result with limbs that are at most slightly larger than 2⁵¹, // to respect the Element invariant. // // Overall, the reduction works the same as carryPropagate, except with // wider inputs: we take the carry for each coefficient by shifting it right // by 51, and add it to the limb above it. The top carry is multiplied by 19 // according to the reduction identity and added to the lowest limb. // // The largest coefficient (r0) will be at most 111 bits, which guarantees // that all carries are at most 111 - 51 = 60 bits, which fits in a uint64. // // r0 = a0×b0 + 19×(a1×b4 + a2×b3 + a3×b2 + a4×b1) // r0 < 2⁵²×2⁵² + 19×(2⁵²×2⁵² + 2⁵²×2⁵² + 2⁵²×2⁵² + 2⁵²×2⁵²) // r0 < (1 + 19 × 4) × 2⁵² × 2⁵² // r0 < 2⁷ × 2⁵² × 2⁵² // r0 < 2¹¹¹ // // Moreover, the top coefficient (r4) is at most 107 bits, so c4 is at most // 56 bits, and c4 * 19 is at most 61 bits, which again fits in a uint64 and // allows us to easily apply the reduction identity. // // r4 = a0×b4 + a1×b3 + a2×b2 + a3×b1 + a4×b0 // r4 < 5 × 2⁵² × 2⁵² // r4 < 2¹⁰⁷ // c0 := shiftRightBy51(r0) c1 := shiftRightBy51(r1) c2 := shiftRightBy51(r2) c3 := shiftRightBy51(r3) c4 := shiftRightBy51(r4) rr0 := r0.lo&maskLow51Bits + c4*19 rr1 := r1.lo&maskLow51Bits + c0 rr2 := r2.lo&maskLow51Bits + c1 rr3 := r3.lo&maskLow51Bits + c2 rr4 := r4.lo&maskLow51Bits + c3 // Now all coefficients fit into 64-bit registers but are still too large to // be passed around as an Element. We therefore do one last carry chain, // where the carries will be small enough to fit in the wiggle room above 2⁵¹. *v = Element{rr0, rr1, rr2, rr3, rr4} v.carryPropagate() } func feSquareGeneric(v, a *Element) { l0 := a.l0 l1 := a.l1 l2 := a.l2 l3 := a.l3 l4 := a.l4 // Squaring works precisely like multiplication above, but thanks to its // symmetry we get to group a few terms together. // // l4 l3 l2 l1 l0 x // l4 l3 l2 l1 l0 = // ------------------------ // l4l0 l3l0 l2l0 l1l0 l0l0 + // l4l1 l3l1 l2l1 l1l1 l0l1 + // l4l2 l3l2 l2l2 l1l2 l0l2 + // l4l3 l3l3 l2l3 l1l3 l0l3 + // l4l4 l3l4 l2l4 l1l4 l0l4 = // ---------------------------------------------- // r8 r7 r6 r5 r4 r3 r2 r1 r0 // // l4l0 l3l0 l2l0 l1l0 l0l0 + // l3l1 l2l1 l1l1 l0l1 19×l4l1 + // l2l2 l1l2 l0l2 19×l4l2 19×l3l2 + // l1l3 l0l3 19×l4l3 19×l3l3 19×l2l3 + // l0l4 19×l4l4 19×l3l4 19×l2l4 19×l1l4 = // -------------------------------------- // r4 r3 r2 r1 r0 // // With precomputed 2×, 19×, and 2×19× terms, we can compute each limb with // only three Mul64 and four Add64, instead of five and eight. l0_2 := l0 * 2 l1_2 := l1 * 2 l1_38 := l1 * 38 l2_38 := l2 * 38 l3_38 := l3 * 38 l3_19 := l3 * 19 l4_19 := l4 * 19 // r0 = l0×l0 + 19×(l1×l4 + l2×l3 + l3×l2 + l4×l1) = l0×l0 + 19×2×(l1×l4 + l2×l3) r0 := mul64(l0, l0) r0 = addMul64(r0, l1_38, l4) r0 = addMul64(r0, l2_38, l3) // r1 = l0×l1 + l1×l0 + 19×(l2×l4 + l3×l3 + l4×l2) = 2×l0×l1 + 19×2×l2×l4 + 19×l3×l3 r1 := mul64(l0_2, l1) r1 = addMul64(r1, l2_38, l4) r1 = addMul64(r1, l3_19, l3) // r2 = l0×l2 + l1×l1 + l2×l0 + 19×(l3×l4 + l4×l3) = 2×l0×l2 + l1×l1 + 19×2×l3×l4 r2 := mul64(l0_2, l2) r2 = addMul64(r2, l1, l1) r2 = addMul64(r2, l3_38, l4) // r3 = l0×l3 + l1×l2 + l2×l1 + l3×l0 + 19×l4×l4 = 2×l0×l3 + 2×l1×l2 + 19×l4×l4 r3 := mul64(l0_2, l3) r3 = addMul64(r3, l1_2, l2) r3 = addMul64(r3, l4_19, l4) // r4 = l0×l4 + l1×l3 + l2×l2 + l3×l1 + l4×l0 = 2×l0×l4 + 2×l1×l3 + l2×l2 r4 := mul64(l0_2, l4) r4 = addMul64(r4, l1_2, l3) r4 = addMul64(r4, l2, l2) c0 := shiftRightBy51(r0) c1 := shiftRightBy51(r1) c2 := shiftRightBy51(r2) c3 := shiftRightBy51(r3) c4 := shiftRightBy51(r4) rr0 := r0.lo&maskLow51Bits + c4*19 rr1 := r1.lo&maskLow51Bits + c0 rr2 := r2.lo&maskLow51Bits + c1 rr3 := r3.lo&maskLow51Bits + c2 rr4 := r4.lo&maskLow51Bits + c3 *v = Element{rr0, rr1, rr2, rr3, rr4} v.carryPropagate() } // carryPropagateGeneric brings the limbs below 52 bits by applying the reduction // identity (a * 2²⁵⁵ + b = a * 19 + b) to the l4 carry. func (v *Element) carryPropagateGeneric() *Element { c0 := v.l0 >> 51 c1 := v.l1 >> 51 c2 := v.l2 >> 51 c3 := v.l3 >> 51 c4 := v.l4 >> 51 // c4 is at most 64 - 51 = 13 bits, so c4*19 is at most 18 bits, and // the final l0 will be at most 52 bits. Similarly for the rest. v.l0 = v.l0&maskLow51Bits + c4*19 v.l1 = v.l1&maskLow51Bits + c0 v.l2 = v.l2&maskLow51Bits + c1 v.l3 = v.l3&maskLow51Bits + c2 v.l4 = v.l4&maskLow51Bits + c3 return v } dependencies/pkg/mod/filippo.io/edwards25519@v1.1.0/field/fe_test.go0000644000000000000000000003361715107355263023601 0ustar rootroot// Copyright (c) 2017 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 field import ( "bytes" "crypto/rand" "encoding/hex" "io" "math/big" "math/bits" mathrand "math/rand" "reflect" "testing" "testing/quick" ) func (v Element) String() string { return hex.EncodeToString(v.Bytes()) } // quickCheckConfig returns a quick.Config that scales the max count by the // given factor if the -short flag is not set. func quickCheckConfig(slowScale int) *quick.Config { cfg := new(quick.Config) if !testing.Short() { cfg.MaxCountScale = float64(slowScale) } return cfg } func generateFieldElement(rand *mathrand.Rand) Element { const maskLow52Bits = (1 << 52) - 1 return Element{ rand.Uint64() & maskLow52Bits, rand.Uint64() & maskLow52Bits, rand.Uint64() & maskLow52Bits, rand.Uint64() & maskLow52Bits, rand.Uint64() & maskLow52Bits, } } // weirdLimbs can be combined to generate a range of edge-case field elements. // 0 and -1 are intentionally more weighted, as they combine well. var ( weirdLimbs51 = []uint64{ 0, 0, 0, 0, 1, 19 - 1, 19, 0x2aaaaaaaaaaaa, 0x5555555555555, (1 << 51) - 20, (1 << 51) - 19, (1 << 51) - 1, (1 << 51) - 1, (1 << 51) - 1, (1 << 51) - 1, } weirdLimbs52 = []uint64{ 0, 0, 0, 0, 0, 0, 1, 19 - 1, 19, 0x2aaaaaaaaaaaa, 0x5555555555555, (1 << 51) - 20, (1 << 51) - 19, (1 << 51) - 1, (1 << 51) - 1, (1 << 51) - 1, (1 << 51) - 1, (1 << 51) - 1, (1 << 51) - 1, 1 << 51, (1 << 51) + 1, (1 << 52) - 19, (1 << 52) - 1, } ) func generateWeirdFieldElement(rand *mathrand.Rand) Element { return Element{ weirdLimbs52[rand.Intn(len(weirdLimbs52))], weirdLimbs51[rand.Intn(len(weirdLimbs51))], weirdLimbs51[rand.Intn(len(weirdLimbs51))], weirdLimbs51[rand.Intn(len(weirdLimbs51))], weirdLimbs51[rand.Intn(len(weirdLimbs51))], } } func (Element) Generate(rand *mathrand.Rand, size int) reflect.Value { if rand.Intn(2) == 0 { return reflect.ValueOf(generateWeirdFieldElement(rand)) } return reflect.ValueOf(generateFieldElement(rand)) } // isInBounds returns whether the element is within the expected bit size bounds // after a light reduction. func isInBounds(x *Element) bool { return bits.Len64(x.l0) <= 52 && bits.Len64(x.l1) <= 52 && bits.Len64(x.l2) <= 52 && bits.Len64(x.l3) <= 52 && bits.Len64(x.l4) <= 52 } func TestMultiplyDistributesOverAdd(t *testing.T) { multiplyDistributesOverAdd := func(x, y, z Element) bool { // Compute t1 = (x+y)*z t1 := new(Element) t1.Add(&x, &y) t1.Multiply(t1, &z) // Compute t2 = x*z + y*z t2 := new(Element) t3 := new(Element) t2.Multiply(&x, &z) t3.Multiply(&y, &z) t2.Add(t2, t3) return t1.Equal(t2) == 1 && isInBounds(t1) && isInBounds(t2) } if err := quick.Check(multiplyDistributesOverAdd, quickCheckConfig(1024)); err != nil { t.Error(err) } } func TestMul64to128(t *testing.T) { a := uint64(5) b := uint64(5) r := mul64(a, b) if r.lo != 0x19 || r.hi != 0 { t.Errorf("lo-range wide mult failed, got %d + %d*(2**64)", r.lo, r.hi) } a = uint64(18014398509481983) // 2^54 - 1 b = uint64(18014398509481983) // 2^54 - 1 r = mul64(a, b) if r.lo != 0xff80000000000001 || r.hi != 0xfffffffffff { t.Errorf("hi-range wide mult failed, got %d + %d*(2**64)", r.lo, r.hi) } a = uint64(1125899906842661) b = uint64(2097155) r = mul64(a, b) r = addMul64(r, a, b) r = addMul64(r, a, b) r = addMul64(r, a, b) r = addMul64(r, a, b) if r.lo != 16888498990613035 || r.hi != 640 { t.Errorf("wrong answer: %d + %d*(2**64)", r.lo, r.hi) } } func TestSetBytesRoundTrip(t *testing.T) { f1 := func(in [32]byte, fe Element) bool { fe.SetBytes(in[:]) // Mask the most significant bit as it's ignored by SetBytes. (Now // instead of earlier so we check the masking in SetBytes is working.) in[len(in)-1] &= (1 << 7) - 1 return bytes.Equal(in[:], fe.Bytes()) && isInBounds(&fe) } if err := quick.Check(f1, nil); err != nil { t.Errorf("failed bytes->FE->bytes round-trip: %v", err) } f2 := func(fe, r Element) bool { r.SetBytes(fe.Bytes()) // Intentionally not using Equal not to go through Bytes again. // Calling reduce because both Generate and SetBytes can produce // non-canonical representations. fe.reduce() r.reduce() return fe == r } if err := quick.Check(f2, nil); err != nil { t.Errorf("failed FE->bytes->FE round-trip: %v", err) } // Check some fixed vectors from dalek type feRTTest struct { fe Element b []byte } var tests = []feRTTest{ { fe: Element{358744748052810, 1691584618240980, 977650209285361, 1429865912637724, 560044844278676}, b: []byte{74, 209, 69, 197, 70, 70, 161, 222, 56, 226, 229, 19, 112, 60, 25, 92, 187, 74, 222, 56, 50, 153, 51, 233, 40, 74, 57, 6, 160, 185, 213, 31}, }, { fe: Element{84926274344903, 473620666599931, 365590438845504, 1028470286882429, 2146499180330972}, b: []byte{199, 23, 106, 112, 61, 77, 216, 79, 186, 60, 11, 118, 13, 16, 103, 15, 42, 32, 83, 250, 44, 57, 204, 198, 78, 199, 253, 119, 146, 172, 3, 122}, }, } for _, tt := range tests { b := tt.fe.Bytes() fe, _ := new(Element).SetBytes(tt.b) if !bytes.Equal(b, tt.b) || fe.Equal(&tt.fe) != 1 { t.Errorf("Failed fixed roundtrip: %v", tt) } } } func swapEndianness(buf []byte) []byte { for i := 0; i < len(buf)/2; i++ { buf[i], buf[len(buf)-i-1] = buf[len(buf)-i-1], buf[i] } return buf } func TestBytesBigEquivalence(t *testing.T) { f1 := func(in [32]byte, fe, fe1 Element) bool { fe.SetBytes(in[:]) in[len(in)-1] &= (1 << 7) - 1 // mask the most significant bit b := new(big.Int).SetBytes(swapEndianness(in[:])) fe1.fromBig(b) if fe != fe1 { return false } buf := make([]byte, 32) buf = swapEndianness(fe1.toBig().FillBytes(buf)) return bytes.Equal(fe.Bytes(), buf) && isInBounds(&fe) && isInBounds(&fe1) } if err := quick.Check(f1, nil); err != nil { t.Error(err) } } // fromBig sets v = n, and returns v. The bit length of n must not exceed 256. func (v *Element) fromBig(n *big.Int) *Element { if n.BitLen() > 32*8 { panic("edwards25519: invalid field element input size") } buf := make([]byte, 0, 32) for _, word := range n.Bits() { for i := 0; i < bits.UintSize; i += 8 { if len(buf) >= cap(buf) { break } buf = append(buf, byte(word)) word >>= 8 } } v.SetBytes(buf[:32]) return v } func (v *Element) fromDecimal(s string) *Element { n, ok := new(big.Int).SetString(s, 10) if !ok { panic("not a valid decimal: " + s) } return v.fromBig(n) } // toBig returns v as a big.Int. func (v *Element) toBig() *big.Int { buf := v.Bytes() words := make([]big.Word, 32*8/bits.UintSize) for n := range words { for i := 0; i < bits.UintSize; i += 8 { if len(buf) == 0 { break } words[n] |= big.Word(buf[0]) << big.Word(i) buf = buf[1:] } } return new(big.Int).SetBits(words) } func TestDecimalConstants(t *testing.T) { sqrtM1String := "19681161376707505956807079304988542015446066515923890162744021073123829784752" if exp := new(Element).fromDecimal(sqrtM1String); sqrtM1.Equal(exp) != 1 { t.Errorf("sqrtM1 is %v, expected %v", sqrtM1, exp) } // d is in the parent package, and we don't want to expose d or fromDecimal. // dString := "37095705934669439343138083508754565189542113879843219016388785533085940283555" // if exp := new(Element).fromDecimal(dString); d.Equal(exp) != 1 { // t.Errorf("d is %v, expected %v", d, exp) // } } func TestSetBytesRoundTripEdgeCases(t *testing.T) { // TODO: values close to 0, close to 2^255-19, between 2^255-19 and 2^255-1, // and between 2^255 and 2^256-1. Test both the documented SetBytes // behavior, and that Bytes reduces them. } // Tests self-consistency between Multiply and Square. func TestConsistency(t *testing.T) { var x Element var x2, x2sq Element x = Element{1, 1, 1, 1, 1} x2.Multiply(&x, &x) x2sq.Square(&x) if x2 != x2sq { t.Fatalf("all ones failed\nmul: %x\nsqr: %x\n", x2, x2sq) } var bytes [32]byte _, err := io.ReadFull(rand.Reader, bytes[:]) if err != nil { t.Fatal(err) } x.SetBytes(bytes[:]) x2.Multiply(&x, &x) x2sq.Square(&x) if x2 != x2sq { t.Fatalf("all ones failed\nmul: %x\nsqr: %x\n", x2, x2sq) } } func TestEqual(t *testing.T) { x := Element{1, 1, 1, 1, 1} y := Element{5, 4, 3, 2, 1} eq := x.Equal(&x) if eq != 1 { t.Errorf("wrong about equality") } eq = x.Equal(&y) if eq != 0 { t.Errorf("wrong about inequality") } } func TestInvert(t *testing.T) { x := Element{1, 1, 1, 1, 1} one := Element{1, 0, 0, 0, 0} var xinv, r Element xinv.Invert(&x) r.Multiply(&x, &xinv) r.reduce() if one != r { t.Errorf("inversion identity failed, got: %x", r) } var bytes [32]byte _, err := io.ReadFull(rand.Reader, bytes[:]) if err != nil { t.Fatal(err) } x.SetBytes(bytes[:]) xinv.Invert(&x) r.Multiply(&x, &xinv) r.reduce() if one != r { t.Errorf("random inversion identity failed, got: %x for field element %x", r, x) } zero := Element{} x.Set(&zero) if xx := xinv.Invert(&x); xx != &xinv { t.Errorf("inverting zero did not return the receiver") } else if xinv.Equal(&zero) != 1 { t.Errorf("inverting zero did not return zero") } } func TestSelectSwap(t *testing.T) { a := Element{358744748052810, 1691584618240980, 977650209285361, 1429865912637724, 560044844278676} b := Element{84926274344903, 473620666599931, 365590438845504, 1028470286882429, 2146499180330972} var c, d Element c.Select(&a, &b, 1) d.Select(&a, &b, 0) if c.Equal(&a) != 1 || d.Equal(&b) != 1 { t.Errorf("Select failed") } c.Swap(&d, 0) if c.Equal(&a) != 1 || d.Equal(&b) != 1 { t.Errorf("Swap failed") } c.Swap(&d, 1) if c.Equal(&b) != 1 || d.Equal(&a) != 1 { t.Errorf("Swap failed") } } func TestMult32(t *testing.T) { mult32EquivalentToMul := func(x Element, y uint32) bool { t1 := new(Element) for i := 0; i < 100; i++ { t1.Mult32(&x, y) } ty := new(Element) ty.l0 = uint64(y) t2 := new(Element) for i := 0; i < 100; i++ { t2.Multiply(&x, ty) } return t1.Equal(t2) == 1 && isInBounds(t1) && isInBounds(t2) } if err := quick.Check(mult32EquivalentToMul, quickCheckConfig(1024)); err != nil { t.Error(err) } } func TestSqrtRatio(t *testing.T) { // From draft-irtf-cfrg-ristretto255-decaf448-00, Appendix A.4. type test struct { u, v string wasSquare int r string } var tests = []test{ // If u is 0, the function is defined to return (0, TRUE), even if v // is zero. Note that where used in this package, the denominator v // is never zero. { "0000000000000000000000000000000000000000000000000000000000000000", "0000000000000000000000000000000000000000000000000000000000000000", 1, "0000000000000000000000000000000000000000000000000000000000000000", }, // 0/1 == 0² { "0000000000000000000000000000000000000000000000000000000000000000", "0100000000000000000000000000000000000000000000000000000000000000", 1, "0000000000000000000000000000000000000000000000000000000000000000", }, // If u is non-zero and v is zero, defined to return (0, FALSE). { "0100000000000000000000000000000000000000000000000000000000000000", "0000000000000000000000000000000000000000000000000000000000000000", 0, "0000000000000000000000000000000000000000000000000000000000000000", }, // 2/1 is not square in this field. { "0200000000000000000000000000000000000000000000000000000000000000", "0100000000000000000000000000000000000000000000000000000000000000", 0, "3c5ff1b5d8e4113b871bd052f9e7bcd0582804c266ffb2d4f4203eb07fdb7c54", }, // 4/1 == 2² { "0400000000000000000000000000000000000000000000000000000000000000", "0100000000000000000000000000000000000000000000000000000000000000", 1, "0200000000000000000000000000000000000000000000000000000000000000", }, // 1/4 == (2⁻¹)² == (2^(p-2))² per Euler's theorem { "0100000000000000000000000000000000000000000000000000000000000000", "0400000000000000000000000000000000000000000000000000000000000000", 1, "f6ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff3f", }, } for i, tt := range tests { u, _ := new(Element).SetBytes(decodeHex(tt.u)) v, _ := new(Element).SetBytes(decodeHex(tt.v)) want, _ := new(Element).SetBytes(decodeHex(tt.r)) got, wasSquare := new(Element).SqrtRatio(u, v) if got.Equal(want) == 0 || wasSquare != tt.wasSquare { t.Errorf("%d: got (%v, %v), want (%v, %v)", i, got, wasSquare, want, tt.wasSquare) } } } func TestCarryPropagate(t *testing.T) { asmLikeGeneric := func(a [5]uint64) bool { t1 := &Element{a[0], a[1], a[2], a[3], a[4]} t2 := &Element{a[0], a[1], a[2], a[3], a[4]} t1.carryPropagate() t2.carryPropagateGeneric() if *t1 != *t2 { t.Logf("got: %#v,\nexpected: %#v", t1, t2) } return *t1 == *t2 && isInBounds(t2) } if err := quick.Check(asmLikeGeneric, quickCheckConfig(1024)); err != nil { t.Error(err) } if !asmLikeGeneric([5]uint64{0xffffffffffffffff, 0xffffffffffffffff, 0xffffffffffffffff, 0xffffffffffffffff, 0xffffffffffffffff}) { t.Errorf("failed for {0xffffffffffffffff, 0xffffffffffffffff, 0xffffffffffffffff, 0xffffffffffffffff, 0xffffffffffffffff}") } } func TestFeSquare(t *testing.T) { asmLikeGeneric := func(a Element) bool { t1 := a t2 := a feSquareGeneric(&t1, &t1) feSquare(&t2, &t2) if t1 != t2 { t.Logf("got: %#v,\nexpected: %#v", t1, t2) } return t1 == t2 && isInBounds(&t2) } if err := quick.Check(asmLikeGeneric, quickCheckConfig(1024)); err != nil { t.Error(err) } } func TestFeMul(t *testing.T) { asmLikeGeneric := func(a, b Element) bool { a1 := a a2 := a b1 := b b2 := b feMulGeneric(&a1, &a1, &b1) feMul(&a2, &a2, &b2) if a1 != a2 || b1 != b2 { t.Logf("got: %#v,\nexpected: %#v", a1, a2) t.Logf("got: %#v,\nexpected: %#v", b1, b2) } return a1 == a2 && isInBounds(&a2) && b1 == b2 && isInBounds(&b2) } if err := quick.Check(asmLikeGeneric, quickCheckConfig(1024)); err != nil { t.Error(err) } } func decodeHex(s string) []byte { b, err := hex.DecodeString(s) if err != nil { panic(err) } return b } dependencies/pkg/mod/filippo.io/edwards25519@v1.1.0/field/fe.go0000644000000000000000000002752315107355263022541 0ustar rootroot// Copyright (c) 2017 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 field implements fast arithmetic modulo 2^255-19. package field import ( "crypto/subtle" "encoding/binary" "errors" "math/bits" ) // Element represents an element of the field GF(2^255-19). Note that this // is not a cryptographically secure group, and should only be used to interact // with edwards25519.Point coordinates. // // This type works similarly to math/big.Int, and all arguments and receivers // are allowed to alias. // // The zero value is a valid zero element. type Element struct { // An element t represents the integer // t.l0 + t.l1*2^51 + t.l2*2^102 + t.l3*2^153 + t.l4*2^204 // // Between operations, all limbs are expected to be lower than 2^52. l0 uint64 l1 uint64 l2 uint64 l3 uint64 l4 uint64 } const maskLow51Bits uint64 = (1 << 51) - 1 var feZero = &Element{0, 0, 0, 0, 0} // Zero sets v = 0, and returns v. func (v *Element) Zero() *Element { *v = *feZero return v } var feOne = &Element{1, 0, 0, 0, 0} // One sets v = 1, and returns v. func (v *Element) One() *Element { *v = *feOne return v } // reduce reduces v modulo 2^255 - 19 and returns it. func (v *Element) reduce() *Element { v.carryPropagate() // After the light reduction we now have a field element representation // v < 2^255 + 2^13 * 19, but need v < 2^255 - 19. // If v >= 2^255 - 19, then v + 19 >= 2^255, which would overflow 2^255 - 1, // generating a carry. That is, c will be 0 if v < 2^255 - 19, and 1 otherwise. c := (v.l0 + 19) >> 51 c = (v.l1 + c) >> 51 c = (v.l2 + c) >> 51 c = (v.l3 + c) >> 51 c = (v.l4 + c) >> 51 // If v < 2^255 - 19 and c = 0, this will be a no-op. Otherwise, it's // effectively applying the reduction identity to the carry. v.l0 += 19 * c v.l1 += v.l0 >> 51 v.l0 = v.l0 & maskLow51Bits v.l2 += v.l1 >> 51 v.l1 = v.l1 & maskLow51Bits v.l3 += v.l2 >> 51 v.l2 = v.l2 & maskLow51Bits v.l4 += v.l3 >> 51 v.l3 = v.l3 & maskLow51Bits // no additional carry v.l4 = v.l4 & maskLow51Bits return v } // Add sets v = a + b, and returns v. func (v *Element) Add(a, b *Element) *Element { v.l0 = a.l0 + b.l0 v.l1 = a.l1 + b.l1 v.l2 = a.l2 + b.l2 v.l3 = a.l3 + b.l3 v.l4 = a.l4 + b.l4 // Using the generic implementation here is actually faster than the // assembly. Probably because the body of this function is so simple that // the compiler can figure out better optimizations by inlining the carry // propagation. return v.carryPropagateGeneric() } // Subtract sets v = a - b, and returns v. func (v *Element) Subtract(a, b *Element) *Element { // We first add 2 * p, to guarantee the subtraction won't underflow, and // then subtract b (which can be up to 2^255 + 2^13 * 19). v.l0 = (a.l0 + 0xFFFFFFFFFFFDA) - b.l0 v.l1 = (a.l1 + 0xFFFFFFFFFFFFE) - b.l1 v.l2 = (a.l2 + 0xFFFFFFFFFFFFE) - b.l2 v.l3 = (a.l3 + 0xFFFFFFFFFFFFE) - b.l3 v.l4 = (a.l4 + 0xFFFFFFFFFFFFE) - b.l4 return v.carryPropagate() } // Negate sets v = -a, and returns v. func (v *Element) Negate(a *Element) *Element { return v.Subtract(feZero, a) } // Invert sets v = 1/z mod p, and returns v. // // If z == 0, Invert returns v = 0. func (v *Element) Invert(z *Element) *Element { // Inversion is implemented as exponentiation with exponent p − 2. It uses the // same sequence of 255 squarings and 11 multiplications as [Curve25519]. var z2, z9, z11, z2_5_0, z2_10_0, z2_20_0, z2_50_0, z2_100_0, t Element z2.Square(z) // 2 t.Square(&z2) // 4 t.Square(&t) // 8 z9.Multiply(&t, z) // 9 z11.Multiply(&z9, &z2) // 11 t.Square(&z11) // 22 z2_5_0.Multiply(&t, &z9) // 31 = 2^5 - 2^0 t.Square(&z2_5_0) // 2^6 - 2^1 for i := 0; i < 4; i++ { t.Square(&t) // 2^10 - 2^5 } z2_10_0.Multiply(&t, &z2_5_0) // 2^10 - 2^0 t.Square(&z2_10_0) // 2^11 - 2^1 for i := 0; i < 9; i++ { t.Square(&t) // 2^20 - 2^10 } z2_20_0.Multiply(&t, &z2_10_0) // 2^20 - 2^0 t.Square(&z2_20_0) // 2^21 - 2^1 for i := 0; i < 19; i++ { t.Square(&t) // 2^40 - 2^20 } t.Multiply(&t, &z2_20_0) // 2^40 - 2^0 t.Square(&t) // 2^41 - 2^1 for i := 0; i < 9; i++ { t.Square(&t) // 2^50 - 2^10 } z2_50_0.Multiply(&t, &z2_10_0) // 2^50 - 2^0 t.Square(&z2_50_0) // 2^51 - 2^1 for i := 0; i < 49; i++ { t.Square(&t) // 2^100 - 2^50 } z2_100_0.Multiply(&t, &z2_50_0) // 2^100 - 2^0 t.Square(&z2_100_0) // 2^101 - 2^1 for i := 0; i < 99; i++ { t.Square(&t) // 2^200 - 2^100 } t.Multiply(&t, &z2_100_0) // 2^200 - 2^0 t.Square(&t) // 2^201 - 2^1 for i := 0; i < 49; i++ { t.Square(&t) // 2^250 - 2^50 } t.Multiply(&t, &z2_50_0) // 2^250 - 2^0 t.Square(&t) // 2^251 - 2^1 t.Square(&t) // 2^252 - 2^2 t.Square(&t) // 2^253 - 2^3 t.Square(&t) // 2^254 - 2^4 t.Square(&t) // 2^255 - 2^5 return v.Multiply(&t, &z11) // 2^255 - 21 } // Set sets v = a, and returns v. func (v *Element) Set(a *Element) *Element { *v = *a return v } // SetBytes sets v to x, where x is a 32-byte little-endian encoding. If x is // not of the right length, SetBytes returns nil and an error, and the // receiver is unchanged. // // Consistent with RFC 7748, the most significant bit (the high bit of the // last byte) is ignored, and non-canonical values (2^255-19 through 2^255-1) // are accepted. Note that this is laxer than specified by RFC 8032, but // consistent with most Ed25519 implementations. func (v *Element) SetBytes(x []byte) (*Element, error) { if len(x) != 32 { return nil, errors.New("edwards25519: invalid field element input size") } // Bits 0:51 (bytes 0:8, bits 0:64, shift 0, mask 51). v.l0 = binary.LittleEndian.Uint64(x[0:8]) v.l0 &= maskLow51Bits // Bits 51:102 (bytes 6:14, bits 48:112, shift 3, mask 51). v.l1 = binary.LittleEndian.Uint64(x[6:14]) >> 3 v.l1 &= maskLow51Bits // Bits 102:153 (bytes 12:20, bits 96:160, shift 6, mask 51). v.l2 = binary.LittleEndian.Uint64(x[12:20]) >> 6 v.l2 &= maskLow51Bits // Bits 153:204 (bytes 19:27, bits 152:216, shift 1, mask 51). v.l3 = binary.LittleEndian.Uint64(x[19:27]) >> 1 v.l3 &= maskLow51Bits // Bits 204:255 (bytes 24:32, bits 192:256, shift 12, mask 51). // Note: not bytes 25:33, shift 4, to avoid overread. v.l4 = binary.LittleEndian.Uint64(x[24:32]) >> 12 v.l4 &= maskLow51Bits return v, nil } // Bytes returns the canonical 32-byte little-endian encoding of v. func (v *Element) Bytes() []byte { // This function is outlined to make the allocations inline in the caller // rather than happen on the heap. var out [32]byte return v.bytes(&out) } func (v *Element) bytes(out *[32]byte) []byte { t := *v t.reduce() var buf [8]byte for i, l := range [5]uint64{t.l0, t.l1, t.l2, t.l3, t.l4} { bitsOffset := i * 51 binary.LittleEndian.PutUint64(buf[:], l<= len(out) { break } out[off] |= bb } } return out[:] } // Equal returns 1 if v and u are equal, and 0 otherwise. func (v *Element) Equal(u *Element) int { sa, sv := u.Bytes(), v.Bytes() return subtle.ConstantTimeCompare(sa, sv) } // mask64Bits returns 0xffffffff if cond is 1, and 0 otherwise. func mask64Bits(cond int) uint64 { return ^(uint64(cond) - 1) } // Select sets v to a if cond == 1, and to b if cond == 0. func (v *Element) Select(a, b *Element, cond int) *Element { m := mask64Bits(cond) v.l0 = (m & a.l0) | (^m & b.l0) v.l1 = (m & a.l1) | (^m & b.l1) v.l2 = (m & a.l2) | (^m & b.l2) v.l3 = (m & a.l3) | (^m & b.l3) v.l4 = (m & a.l4) | (^m & b.l4) return v } // Swap swaps v and u if cond == 1 or leaves them unchanged if cond == 0, and returns v. func (v *Element) Swap(u *Element, cond int) { m := mask64Bits(cond) t := m & (v.l0 ^ u.l0) v.l0 ^= t u.l0 ^= t t = m & (v.l1 ^ u.l1) v.l1 ^= t u.l1 ^= t t = m & (v.l2 ^ u.l2) v.l2 ^= t u.l2 ^= t t = m & (v.l3 ^ u.l3) v.l3 ^= t u.l3 ^= t t = m & (v.l4 ^ u.l4) v.l4 ^= t u.l4 ^= t } // IsNegative returns 1 if v is negative, and 0 otherwise. func (v *Element) IsNegative() int { return int(v.Bytes()[0] & 1) } // Absolute sets v to |u|, and returns v. func (v *Element) Absolute(u *Element) *Element { return v.Select(new(Element).Negate(u), u, u.IsNegative()) } // Multiply sets v = x * y, and returns v. func (v *Element) Multiply(x, y *Element) *Element { feMul(v, x, y) return v } // Square sets v = x * x, and returns v. func (v *Element) Square(x *Element) *Element { feSquare(v, x) return v } // Mult32 sets v = x * y, and returns v. func (v *Element) Mult32(x *Element, y uint32) *Element { x0lo, x0hi := mul51(x.l0, y) x1lo, x1hi := mul51(x.l1, y) x2lo, x2hi := mul51(x.l2, y) x3lo, x3hi := mul51(x.l3, y) x4lo, x4hi := mul51(x.l4, y) v.l0 = x0lo + 19*x4hi // carried over per the reduction identity v.l1 = x1lo + x0hi v.l2 = x2lo + x1hi v.l3 = x3lo + x2hi v.l4 = x4lo + x3hi // The hi portions are going to be only 32 bits, plus any previous excess, // so we can skip the carry propagation. return v } // mul51 returns lo + hi * 2⁵¹ = a * b. func mul51(a uint64, b uint32) (lo uint64, hi uint64) { mh, ml := bits.Mul64(a, uint64(b)) lo = ml & maskLow51Bits hi = (mh << 13) | (ml >> 51) return } // Pow22523 set v = x^((p-5)/8), and returns v. (p-5)/8 is 2^252-3. func (v *Element) Pow22523(x *Element) *Element { var t0, t1, t2 Element t0.Square(x) // x^2 t1.Square(&t0) // x^4 t1.Square(&t1) // x^8 t1.Multiply(x, &t1) // x^9 t0.Multiply(&t0, &t1) // x^11 t0.Square(&t0) // x^22 t0.Multiply(&t1, &t0) // x^31 t1.Square(&t0) // x^62 for i := 1; i < 5; i++ { // x^992 t1.Square(&t1) } t0.Multiply(&t1, &t0) // x^1023 -> 1023 = 2^10 - 1 t1.Square(&t0) // 2^11 - 2 for i := 1; i < 10; i++ { // 2^20 - 2^10 t1.Square(&t1) } t1.Multiply(&t1, &t0) // 2^20 - 1 t2.Square(&t1) // 2^21 - 2 for i := 1; i < 20; i++ { // 2^40 - 2^20 t2.Square(&t2) } t1.Multiply(&t2, &t1) // 2^40 - 1 t1.Square(&t1) // 2^41 - 2 for i := 1; i < 10; i++ { // 2^50 - 2^10 t1.Square(&t1) } t0.Multiply(&t1, &t0) // 2^50 - 1 t1.Square(&t0) // 2^51 - 2 for i := 1; i < 50; i++ { // 2^100 - 2^50 t1.Square(&t1) } t1.Multiply(&t1, &t0) // 2^100 - 1 t2.Square(&t1) // 2^101 - 2 for i := 1; i < 100; i++ { // 2^200 - 2^100 t2.Square(&t2) } t1.Multiply(&t2, &t1) // 2^200 - 1 t1.Square(&t1) // 2^201 - 2 for i := 1; i < 50; i++ { // 2^250 - 2^50 t1.Square(&t1) } t0.Multiply(&t1, &t0) // 2^250 - 1 t0.Square(&t0) // 2^251 - 2 t0.Square(&t0) // 2^252 - 4 return v.Multiply(&t0, x) // 2^252 - 3 -> x^(2^252-3) } // sqrtM1 is 2^((p-1)/4), which squared is equal to -1 by Euler's Criterion. var sqrtM1 = &Element{1718705420411056, 234908883556509, 2233514472574048, 2117202627021982, 765476049583133} // SqrtRatio sets r to the non-negative square root of the ratio of u and v. // // If u/v is square, SqrtRatio returns r and 1. If u/v is not square, SqrtRatio // sets r according to Section 4.3 of draft-irtf-cfrg-ristretto255-decaf448-00, // and returns r and 0. func (r *Element) SqrtRatio(u, v *Element) (R *Element, wasSquare int) { t0 := new(Element) // r = (u * v3) * (u * v7)^((p-5)/8) v2 := new(Element).Square(v) uv3 := new(Element).Multiply(u, t0.Multiply(v2, v)) uv7 := new(Element).Multiply(uv3, t0.Square(v2)) rr := new(Element).Multiply(uv3, t0.Pow22523(uv7)) check := new(Element).Multiply(v, t0.Square(rr)) // check = v * r^2 uNeg := new(Element).Negate(u) correctSignSqrt := check.Equal(u) flippedSignSqrt := check.Equal(uNeg) flippedSignSqrtI := check.Equal(t0.Multiply(uNeg, sqrtM1)) rPrime := new(Element).Multiply(rr, sqrtM1) // r_prime = SQRT_M1 * r // r = CT_SELECT(r_prime IF flipped_sign_sqrt | flipped_sign_sqrt_i ELSE r) rr.Select(rPrime, rr, flippedSignSqrt|flippedSignSqrtI) r.Absolute(rr) // Choose the nonnegative square root. return r, correctSignSqrt | flippedSignSqrt } dependencies/pkg/mod/filippo.io/edwards25519@v1.1.0/field/fe_alias_test.go0000644000000000000000000000670115107355263024744 0ustar rootroot// Copyright (c) 2019 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 field import ( "testing" "testing/quick" ) func checkAliasingOneArg(f func(v, x *Element) *Element) func(v, x Element) bool { return func(v, x Element) bool { x1, v1 := x, x // Calculate a reference f(x) without aliasing. if out := f(&v, &x); out != &v && isInBounds(out) { return false } // Test aliasing the argument and the receiver. if out := f(&v1, &v1); out != &v1 || v1 != v { return false } // Ensure the arguments was not modified. return x == x1 } } func checkAliasingTwoArgs(f func(v, x, y *Element) *Element) func(v, x, y Element) bool { return func(v, x, y Element) bool { x1, y1, v1 := x, y, Element{} // Calculate a reference f(x, y) without aliasing. if out := f(&v, &x, &y); out != &v && isInBounds(out) { return false } // Test aliasing the first argument and the receiver. v1 = x if out := f(&v1, &v1, &y); out != &v1 || v1 != v { return false } // Test aliasing the second argument and the receiver. v1 = y if out := f(&v1, &x, &v1); out != &v1 || v1 != v { return false } // Calculate a reference f(x, x) without aliasing. if out := f(&v, &x, &x); out != &v { return false } // Test aliasing the first argument and the receiver. v1 = x if out := f(&v1, &v1, &x); out != &v1 || v1 != v { return false } // Test aliasing the second argument and the receiver. v1 = x if out := f(&v1, &x, &v1); out != &v1 || v1 != v { return false } // Test aliasing both arguments and the receiver. v1 = x if out := f(&v1, &v1, &v1); out != &v1 || v1 != v { return false } // Ensure the arguments were not modified. return x == x1 && y == y1 } } // TestAliasing checks that receivers and arguments can alias each other without // leading to incorrect results. That is, it ensures that it's safe to write // // v.Invert(v) // // or // // v.Add(v, v) // // without any of the inputs getting clobbered by the output being written. func TestAliasing(t *testing.T) { type target struct { name string oneArgF func(v, x *Element) *Element twoArgsF func(v, x, y *Element) *Element } for _, tt := range []target{ {name: "Absolute", oneArgF: (*Element).Absolute}, {name: "Invert", oneArgF: (*Element).Invert}, {name: "Negate", oneArgF: (*Element).Negate}, {name: "Set", oneArgF: (*Element).Set}, {name: "Square", oneArgF: (*Element).Square}, {name: "Pow22523", oneArgF: (*Element).Pow22523}, { name: "Mult32", oneArgF: func(v, x *Element) *Element { return v.Mult32(x, 0xffffffff) }, }, {name: "Multiply", twoArgsF: (*Element).Multiply}, {name: "Add", twoArgsF: (*Element).Add}, {name: "Subtract", twoArgsF: (*Element).Subtract}, { name: "SqrtRatio", twoArgsF: func(v, x, y *Element) *Element { r, _ := v.SqrtRatio(x, y) return r }, }, { name: "Select0", twoArgsF: func(v, x, y *Element) *Element { return v.Select(x, y, 0) }, }, { name: "Select1", twoArgsF: func(v, x, y *Element) *Element { return v.Select(x, y, 1) }, }, } { var err error switch { case tt.oneArgF != nil: err = quick.Check(checkAliasingOneArg(tt.oneArgF), quickCheckConfig(256)) case tt.twoArgsF != nil: err = quick.Check(checkAliasingTwoArgs(tt.twoArgsF), quickCheckConfig(256)) } if err != nil { t.Errorf("%v: %v", tt.name, err) } } } dependencies/pkg/mod/filippo.io/edwards25519@v1.1.0/field/fe_amd64.go0000644000000000000000000000066515107355263023532 0ustar rootroot// Code generated by command: go run fe_amd64_asm.go -out ../fe_amd64.s -stubs ../fe_amd64.go -pkg field. DO NOT EDIT. //go:build amd64 && gc && !purego // +build amd64,gc,!purego package field // feMul sets out = a * b. It works like feMulGeneric. // //go:noescape func feMul(out *Element, a *Element, b *Element) // feSquare sets out = a * a. It works like feSquareGeneric. // //go:noescape func feSquare(out *Element, a *Element) dependencies/pkg/mod/filippo.io/edwards25519@v1.1.0/field/fe_arm64.go0000644000000000000000000000055515107355263023546 0ustar rootroot// Copyright (c) 2020 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:build arm64 && gc && !purego // +build arm64,gc,!purego package field //go:noescape func carryPropagate(v *Element) func (v *Element) carryPropagate() *Element { carryPropagate(v) return v } dependencies/pkg/mod/filippo.io/edwards25519@v1.1.0/field/fe_extra.go0000644000000000000000000000337015107355263023736 0ustar rootroot// Copyright (c) 2021 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 field import "errors" // This file contains additional functionality that is not included in the // upstream crypto/ed25519/edwards25519/field package. // SetWideBytes sets v to x, where x is a 64-byte little-endian encoding, which // is reduced modulo the field order. If x is not of the right length, // SetWideBytes returns nil and an error, and the receiver is unchanged. // // SetWideBytes is not necessary to select a uniformly distributed value, and is // only provided for compatibility: SetBytes can be used instead as the chance // of bias is less than 2⁻²⁵⁰. func (v *Element) SetWideBytes(x []byte) (*Element, error) { if len(x) != 64 { return nil, errors.New("edwards25519: invalid SetWideBytes input size") } // Split the 64 bytes into two elements, and extract the most significant // bit of each, which is ignored by SetBytes. lo, _ := new(Element).SetBytes(x[:32]) loMSB := uint64(x[31] >> 7) hi, _ := new(Element).SetBytes(x[32:]) hiMSB := uint64(x[63] >> 7) // The output we want is // // v = lo + loMSB * 2²⁵⁵ + hi * 2²⁵⁶ + hiMSB * 2⁵¹¹ // // which applying the reduction identity comes out to // // v = lo + loMSB * 19 + hi * 2 * 19 + hiMSB * 2 * 19² // // l0 will be the sum of a 52 bits value (lo.l0), plus a 5 bits value // (loMSB * 19), a 6 bits value (hi.l0 * 2 * 19), and a 10 bits value // (hiMSB * 2 * 19²), so it fits in a uint64. v.l0 = lo.l0 + loMSB*19 + hi.l0*2*19 + hiMSB*2*19*19 v.l1 = lo.l1 + hi.l1*2*19 v.l2 = lo.l2 + hi.l2*2*19 v.l3 = lo.l3 + hi.l3*2*19 v.l4 = lo.l4 + hi.l4*2*19 return v.carryPropagate(), nil } dependencies/pkg/mod/filippo.io/edwards25519@v1.1.0/field/fe_bench_test.go0000644000000000000000000000163415107355263024732 0ustar rootroot// Copyright (c) 2019 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 field import "testing" func BenchmarkAdd(b *testing.B) { x := new(Element).One() y := new(Element).Add(x, x) b.ResetTimer() for i := 0; i < b.N; i++ { x.Add(x, y) } } func BenchmarkMultiply(b *testing.B) { x := new(Element).One() y := new(Element).Add(x, x) b.ResetTimer() for i := 0; i < b.N; i++ { x.Multiply(x, y) } } func BenchmarkSquare(b *testing.B) { x := new(Element).Add(feOne, feOne) b.ResetTimer() for i := 0; i < b.N; i++ { x.Square(x) } } func BenchmarkInvert(b *testing.B) { x := new(Element).Add(feOne, feOne) b.ResetTimer() for i := 0; i < b.N; i++ { x.Invert(x) } } func BenchmarkMult32(b *testing.B) { x := new(Element).One() b.ResetTimer() for i := 0; i < b.N; i++ { x.Mult32(x, 0xaa42aa42) } } dependencies/pkg/mod/filippo.io/edwards25519@v1.1.0/field/fe_arm64.s0000644000000000000000000000205115107355263023374 0ustar rootroot// Copyright (c) 2020 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:build arm64 && gc && !purego #include "textflag.h" // carryPropagate works exactly like carryPropagateGeneric and uses the // same AND, ADD, and LSR+MADD instructions emitted by the compiler, but // avoids loading R0-R4 twice and uses LDP and STP. // // See https://golang.org/issues/43145 for the main compiler issue. // // func carryPropagate(v *Element) TEXT ·carryPropagate(SB),NOFRAME|NOSPLIT,$0-8 MOVD v+0(FP), R20 LDP 0(R20), (R0, R1) LDP 16(R20), (R2, R3) MOVD 32(R20), R4 AND $0x7ffffffffffff, R0, R10 AND $0x7ffffffffffff, R1, R11 AND $0x7ffffffffffff, R2, R12 AND $0x7ffffffffffff, R3, R13 AND $0x7ffffffffffff, R4, R14 ADD R0>>51, R11, R11 ADD R1>>51, R12, R12 ADD R2>>51, R13, R13 ADD R3>>51, R14, R14 // R4>>51 * 19 + R10 -> R10 LSR $51, R4, R21 MOVD $19, R22 MADD R22, R10, R21, R10 STP (R10, R11), 0(R20) STP (R12, R13), 16(R20) MOVD R14, 32(R20) RET dependencies/pkg/mod/filippo.io/edwards25519@v1.1.0/field/fe_amd64_noasm.go0000644000000000000000000000054215107355263024721 0ustar rootroot// Copyright (c) 2019 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:build !amd64 || !gc || purego // +build !amd64 !gc purego package field func feMul(v, x, y *Element) { feMulGeneric(v, x, y) } func feSquare(v, x *Element) { feSquareGeneric(v, x) } dependencies/pkg/mod/filippo.io/edwards25519@v1.1.0/field/fe_extra_test.go0000644000000000000000000000152715107355263024777 0ustar rootroot// Copyright (c) 2021 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 field import ( "math/big" "testing" "testing/quick" ) var bigP = new(big.Int).Sub(new(big.Int).Lsh(big.NewInt(1), 255), big.NewInt(19)) func TestSetWideBytes(t *testing.T) { f1 := func(in [64]byte, fe Element) bool { fe1 := new(Element).Set(&fe) if out, err := fe.SetWideBytes([]byte{42}); err == nil || out != nil || fe.Equal(fe1) != 1 { return false } if out, err := fe.SetWideBytes(in[:]); err != nil || out != &fe { return false } b := new(big.Int).SetBytes(swapEndianness(in[:])) fe1.fromBig(b.Mod(b, bigP)) return fe.Equal(fe1) == 1 && isInBounds(&fe) && isInBounds(fe1) } if err := quick.Check(f1, nil); err != nil { t.Error(err) } } dependencies/pkg/mod/filippo.io/edwards25519@v1.1.0/field/fe_arm64_noasm.go0000644000000000000000000000050515107355263024736 0ustar rootroot// Copyright (c) 2021 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:build !arm64 || !gc || purego // +build !arm64 !gc purego package field func (v *Element) carryPropagate() *Element { return v.carryPropagateGeneric() } dependencies/pkg/mod/filippo.io/edwards25519@v1.1.0/field/fe_amd64.s0000644000000000000000000001330515107355263023362 0ustar rootroot// Code generated by command: go run fe_amd64_asm.go -out ../fe_amd64.s -stubs ../fe_amd64.go -pkg field. DO NOT EDIT. //go:build amd64 && gc && !purego // +build amd64,gc,!purego #include "textflag.h" // func feMul(out *Element, a *Element, b *Element) TEXT ·feMul(SB), NOSPLIT, $0-24 MOVQ a+8(FP), CX MOVQ b+16(FP), BX // r0 = a0×b0 MOVQ (CX), AX MULQ (BX) MOVQ AX, DI MOVQ DX, SI // r0 += 19×a1×b4 MOVQ 8(CX), AX IMUL3Q $0x13, AX, AX MULQ 32(BX) ADDQ AX, DI ADCQ DX, SI // r0 += 19×a2×b3 MOVQ 16(CX), AX IMUL3Q $0x13, AX, AX MULQ 24(BX) ADDQ AX, DI ADCQ DX, SI // r0 += 19×a3×b2 MOVQ 24(CX), AX IMUL3Q $0x13, AX, AX MULQ 16(BX) ADDQ AX, DI ADCQ DX, SI // r0 += 19×a4×b1 MOVQ 32(CX), AX IMUL3Q $0x13, AX, AX MULQ 8(BX) ADDQ AX, DI ADCQ DX, SI // r1 = a0×b1 MOVQ (CX), AX MULQ 8(BX) MOVQ AX, R9 MOVQ DX, R8 // r1 += a1×b0 MOVQ 8(CX), AX MULQ (BX) ADDQ AX, R9 ADCQ DX, R8 // r1 += 19×a2×b4 MOVQ 16(CX), AX IMUL3Q $0x13, AX, AX MULQ 32(BX) ADDQ AX, R9 ADCQ DX, R8 // r1 += 19×a3×b3 MOVQ 24(CX), AX IMUL3Q $0x13, AX, AX MULQ 24(BX) ADDQ AX, R9 ADCQ DX, R8 // r1 += 19×a4×b2 MOVQ 32(CX), AX IMUL3Q $0x13, AX, AX MULQ 16(BX) ADDQ AX, R9 ADCQ DX, R8 // r2 = a0×b2 MOVQ (CX), AX MULQ 16(BX) MOVQ AX, R11 MOVQ DX, R10 // r2 += a1×b1 MOVQ 8(CX), AX MULQ 8(BX) ADDQ AX, R11 ADCQ DX, R10 // r2 += a2×b0 MOVQ 16(CX), AX MULQ (BX) ADDQ AX, R11 ADCQ DX, R10 // r2 += 19×a3×b4 MOVQ 24(CX), AX IMUL3Q $0x13, AX, AX MULQ 32(BX) ADDQ AX, R11 ADCQ DX, R10 // r2 += 19×a4×b3 MOVQ 32(CX), AX IMUL3Q $0x13, AX, AX MULQ 24(BX) ADDQ AX, R11 ADCQ DX, R10 // r3 = a0×b3 MOVQ (CX), AX MULQ 24(BX) MOVQ AX, R13 MOVQ DX, R12 // r3 += a1×b2 MOVQ 8(CX), AX MULQ 16(BX) ADDQ AX, R13 ADCQ DX, R12 // r3 += a2×b1 MOVQ 16(CX), AX MULQ 8(BX) ADDQ AX, R13 ADCQ DX, R12 // r3 += a3×b0 MOVQ 24(CX), AX MULQ (BX) ADDQ AX, R13 ADCQ DX, R12 // r3 += 19×a4×b4 MOVQ 32(CX), AX IMUL3Q $0x13, AX, AX MULQ 32(BX) ADDQ AX, R13 ADCQ DX, R12 // r4 = a0×b4 MOVQ (CX), AX MULQ 32(BX) MOVQ AX, R15 MOVQ DX, R14 // r4 += a1×b3 MOVQ 8(CX), AX MULQ 24(BX) ADDQ AX, R15 ADCQ DX, R14 // r4 += a2×b2 MOVQ 16(CX), AX MULQ 16(BX) ADDQ AX, R15 ADCQ DX, R14 // r4 += a3×b1 MOVQ 24(CX), AX MULQ 8(BX) ADDQ AX, R15 ADCQ DX, R14 // r4 += a4×b0 MOVQ 32(CX), AX MULQ (BX) ADDQ AX, R15 ADCQ DX, R14 // First reduction chain MOVQ $0x0007ffffffffffff, AX SHLQ $0x0d, DI, SI SHLQ $0x0d, R9, R8 SHLQ $0x0d, R11, R10 SHLQ $0x0d, R13, R12 SHLQ $0x0d, R15, R14 ANDQ AX, DI IMUL3Q $0x13, R14, R14 ADDQ R14, DI ANDQ AX, R9 ADDQ SI, R9 ANDQ AX, R11 ADDQ R8, R11 ANDQ AX, R13 ADDQ R10, R13 ANDQ AX, R15 ADDQ R12, R15 // Second reduction chain (carryPropagate) MOVQ DI, SI SHRQ $0x33, SI MOVQ R9, R8 SHRQ $0x33, R8 MOVQ R11, R10 SHRQ $0x33, R10 MOVQ R13, R12 SHRQ $0x33, R12 MOVQ R15, R14 SHRQ $0x33, R14 ANDQ AX, DI IMUL3Q $0x13, R14, R14 ADDQ R14, DI ANDQ AX, R9 ADDQ SI, R9 ANDQ AX, R11 ADDQ R8, R11 ANDQ AX, R13 ADDQ R10, R13 ANDQ AX, R15 ADDQ R12, R15 // Store output MOVQ out+0(FP), AX MOVQ DI, (AX) MOVQ R9, 8(AX) MOVQ R11, 16(AX) MOVQ R13, 24(AX) MOVQ R15, 32(AX) RET // func feSquare(out *Element, a *Element) TEXT ·feSquare(SB), NOSPLIT, $0-16 MOVQ a+8(FP), CX // r0 = l0×l0 MOVQ (CX), AX MULQ (CX) MOVQ AX, SI MOVQ DX, BX // r0 += 38×l1×l4 MOVQ 8(CX), AX IMUL3Q $0x26, AX, AX MULQ 32(CX) ADDQ AX, SI ADCQ DX, BX // r0 += 38×l2×l3 MOVQ 16(CX), AX IMUL3Q $0x26, AX, AX MULQ 24(CX) ADDQ AX, SI ADCQ DX, BX // r1 = 2×l0×l1 MOVQ (CX), AX SHLQ $0x01, AX MULQ 8(CX) MOVQ AX, R8 MOVQ DX, DI // r1 += 38×l2×l4 MOVQ 16(CX), AX IMUL3Q $0x26, AX, AX MULQ 32(CX) ADDQ AX, R8 ADCQ DX, DI // r1 += 19×l3×l3 MOVQ 24(CX), AX IMUL3Q $0x13, AX, AX MULQ 24(CX) ADDQ AX, R8 ADCQ DX, DI // r2 = 2×l0×l2 MOVQ (CX), AX SHLQ $0x01, AX MULQ 16(CX) MOVQ AX, R10 MOVQ DX, R9 // r2 += l1×l1 MOVQ 8(CX), AX MULQ 8(CX) ADDQ AX, R10 ADCQ DX, R9 // r2 += 38×l3×l4 MOVQ 24(CX), AX IMUL3Q $0x26, AX, AX MULQ 32(CX) ADDQ AX, R10 ADCQ DX, R9 // r3 = 2×l0×l3 MOVQ (CX), AX SHLQ $0x01, AX MULQ 24(CX) MOVQ AX, R12 MOVQ DX, R11 // r3 += 2×l1×l2 MOVQ 8(CX), AX IMUL3Q $0x02, AX, AX MULQ 16(CX) ADDQ AX, R12 ADCQ DX, R11 // r3 += 19×l4×l4 MOVQ 32(CX), AX IMUL3Q $0x13, AX, AX MULQ 32(CX) ADDQ AX, R12 ADCQ DX, R11 // r4 = 2×l0×l4 MOVQ (CX), AX SHLQ $0x01, AX MULQ 32(CX) MOVQ AX, R14 MOVQ DX, R13 // r4 += 2×l1×l3 MOVQ 8(CX), AX IMUL3Q $0x02, AX, AX MULQ 24(CX) ADDQ AX, R14 ADCQ DX, R13 // r4 += l2×l2 MOVQ 16(CX), AX MULQ 16(CX) ADDQ AX, R14 ADCQ DX, R13 // First reduction chain MOVQ $0x0007ffffffffffff, AX SHLQ $0x0d, SI, BX SHLQ $0x0d, R8, DI SHLQ $0x0d, R10, R9 SHLQ $0x0d, R12, R11 SHLQ $0x0d, R14, R13 ANDQ AX, SI IMUL3Q $0x13, R13, R13 ADDQ R13, SI ANDQ AX, R8 ADDQ BX, R8 ANDQ AX, R10 ADDQ DI, R10 ANDQ AX, R12 ADDQ R9, R12 ANDQ AX, R14 ADDQ R11, R14 // Second reduction chain (carryPropagate) MOVQ SI, BX SHRQ $0x33, BX MOVQ R8, DI SHRQ $0x33, DI MOVQ R10, R9 SHRQ $0x33, R9 MOVQ R12, R11 SHRQ $0x33, R11 MOVQ R14, R13 SHRQ $0x33, R13 ANDQ AX, SI IMUL3Q $0x13, R13, R13 ADDQ R13, SI ANDQ AX, R8 ADDQ BX, R8 ANDQ AX, R10 ADDQ DI, R10 ANDQ AX, R12 ADDQ R9, R12 ANDQ AX, R14 ADDQ R11, R14 // Store output MOVQ out+0(FP), AX MOVQ SI, (AX) MOVQ R8, 8(AX) MOVQ R10, 16(AX) MOVQ R12, 24(AX) MOVQ R14, 32(AX) RET dependencies/pkg/mod/filippo.io/edwards25519@v1.1.0/extra.go0000644000000000000000000002422615107355263022204 0ustar rootroot// Copyright (c) 2021 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 edwards25519 // This file contains additional functionality that is not included in the // upstream crypto/internal/edwards25519 package. import ( "errors" "filippo.io/edwards25519/field" ) // ExtendedCoordinates returns v in extended coordinates (X:Y:Z:T) where // x = X/Z, y = Y/Z, and xy = T/Z as in https://eprint.iacr.org/2008/522. func (v *Point) ExtendedCoordinates() (X, Y, Z, T *field.Element) { // This function is outlined to make the allocations inline in the caller // rather than happen on the heap. Don't change the style without making // sure it doesn't increase the inliner cost. var e [4]field.Element X, Y, Z, T = v.extendedCoordinates(&e) return } func (v *Point) extendedCoordinates(e *[4]field.Element) (X, Y, Z, T *field.Element) { checkInitialized(v) X = e[0].Set(&v.x) Y = e[1].Set(&v.y) Z = e[2].Set(&v.z) T = e[3].Set(&v.t) return } // SetExtendedCoordinates sets v = (X:Y:Z:T) in extended coordinates where // x = X/Z, y = Y/Z, and xy = T/Z as in https://eprint.iacr.org/2008/522. // // If the coordinates are invalid or don't represent a valid point on the curve, // SetExtendedCoordinates returns nil and an error and the receiver is // unchanged. Otherwise, SetExtendedCoordinates returns v. func (v *Point) SetExtendedCoordinates(X, Y, Z, T *field.Element) (*Point, error) { if !isOnCurve(X, Y, Z, T) { return nil, errors.New("edwards25519: invalid point coordinates") } v.x.Set(X) v.y.Set(Y) v.z.Set(Z) v.t.Set(T) return v, nil } func isOnCurve(X, Y, Z, T *field.Element) bool { var lhs, rhs field.Element XX := new(field.Element).Square(X) YY := new(field.Element).Square(Y) ZZ := new(field.Element).Square(Z) TT := new(field.Element).Square(T) // -x² + y² = 1 + dx²y² // -(X/Z)² + (Y/Z)² = 1 + d(T/Z)² // -X² + Y² = Z² + dT² lhs.Subtract(YY, XX) rhs.Multiply(d, TT).Add(&rhs, ZZ) if lhs.Equal(&rhs) != 1 { return false } // xy = T/Z // XY/Z² = T/Z // XY = TZ lhs.Multiply(X, Y) rhs.Multiply(T, Z) return lhs.Equal(&rhs) == 1 } // BytesMontgomery converts v to a point on the birationally-equivalent // Curve25519 Montgomery curve, and returns its canonical 32 bytes encoding // according to RFC 7748. // // Note that BytesMontgomery only encodes the u-coordinate, so v and -v encode // to the same value. If v is the identity point, BytesMontgomery returns 32 // zero bytes, analogously to the X25519 function. // // The lack of an inverse operation (such as SetMontgomeryBytes) is deliberate: // while every valid edwards25519 point has a unique u-coordinate Montgomery // encoding, X25519 accepts inputs on the quadratic twist, which don't correspond // to any edwards25519 point, and every other X25519 input corresponds to two // edwards25519 points. func (v *Point) BytesMontgomery() []byte { // This function is outlined to make the allocations inline in the caller // rather than happen on the heap. var buf [32]byte return v.bytesMontgomery(&buf) } func (v *Point) bytesMontgomery(buf *[32]byte) []byte { checkInitialized(v) // RFC 7748, Section 4.1 provides the bilinear map to calculate the // Montgomery u-coordinate // // u = (1 + y) / (1 - y) // // where y = Y / Z. var y, recip, u field.Element y.Multiply(&v.y, y.Invert(&v.z)) // y = Y / Z recip.Invert(recip.Subtract(feOne, &y)) // r = 1/(1 - y) u.Multiply(u.Add(feOne, &y), &recip) // u = (1 + y)*r return copyFieldElement(buf, &u) } // MultByCofactor sets v = 8 * p, and returns v. func (v *Point) MultByCofactor(p *Point) *Point { checkInitialized(p) result := projP1xP1{} pp := (&projP2{}).FromP3(p) result.Double(pp) pp.FromP1xP1(&result) result.Double(pp) pp.FromP1xP1(&result) result.Double(pp) return v.fromP1xP1(&result) } // Given k > 0, set s = s**(2*i). func (s *Scalar) pow2k(k int) { for i := 0; i < k; i++ { s.Multiply(s, s) } } // Invert sets s to the inverse of a nonzero scalar v, and returns s. // // If t is zero, Invert returns zero. func (s *Scalar) Invert(t *Scalar) *Scalar { // Uses a hardcoded sliding window of width 4. var table [8]Scalar var tt Scalar tt.Multiply(t, t) table[0] = *t for i := 0; i < 7; i++ { table[i+1].Multiply(&table[i], &tt) } // Now table = [t**1, t**3, t**5, t**7, t**9, t**11, t**13, t**15] // so t**k = t[k/2] for odd k // To compute the sliding window digits, use the following Sage script: // sage: import itertools // sage: def sliding_window(w,k): // ....: digits = [] // ....: while k > 0: // ....: if k % 2 == 1: // ....: kmod = k % (2**w) // ....: digits.append(kmod) // ....: k = k - kmod // ....: else: // ....: digits.append(0) // ....: k = k // 2 // ....: return digits // Now we can compute s roughly as follows: // sage: s = 1 // sage: for coeff in reversed(sliding_window(4,l-2)): // ....: s = s*s // ....: if coeff > 0 : // ....: s = s*t**coeff // This works on one bit at a time, with many runs of zeros. // The digits can be collapsed into [(count, coeff)] as follows: // sage: [(len(list(group)),d) for d,group in itertools.groupby(sliding_window(4,l-2))] // Entries of the form (k, 0) turn into pow2k(k) // Entries of the form (1, coeff) turn into a squaring and then a table lookup. // We can fold the squaring into the previous pow2k(k) as pow2k(k+1). *s = table[1/2] s.pow2k(127 + 1) s.Multiply(s, &table[1/2]) s.pow2k(4 + 1) s.Multiply(s, &table[9/2]) s.pow2k(3 + 1) s.Multiply(s, &table[11/2]) s.pow2k(3 + 1) s.Multiply(s, &table[13/2]) s.pow2k(3 + 1) s.Multiply(s, &table[15/2]) s.pow2k(4 + 1) s.Multiply(s, &table[7/2]) s.pow2k(4 + 1) s.Multiply(s, &table[15/2]) s.pow2k(3 + 1) s.Multiply(s, &table[5/2]) s.pow2k(3 + 1) s.Multiply(s, &table[1/2]) s.pow2k(4 + 1) s.Multiply(s, &table[15/2]) s.pow2k(4 + 1) s.Multiply(s, &table[15/2]) s.pow2k(4 + 1) s.Multiply(s, &table[7/2]) s.pow2k(3 + 1) s.Multiply(s, &table[3/2]) s.pow2k(4 + 1) s.Multiply(s, &table[11/2]) s.pow2k(5 + 1) s.Multiply(s, &table[11/2]) s.pow2k(9 + 1) s.Multiply(s, &table[9/2]) s.pow2k(3 + 1) s.Multiply(s, &table[3/2]) s.pow2k(4 + 1) s.Multiply(s, &table[3/2]) s.pow2k(4 + 1) s.Multiply(s, &table[3/2]) s.pow2k(4 + 1) s.Multiply(s, &table[9/2]) s.pow2k(3 + 1) s.Multiply(s, &table[7/2]) s.pow2k(3 + 1) s.Multiply(s, &table[3/2]) s.pow2k(3 + 1) s.Multiply(s, &table[13/2]) s.pow2k(3 + 1) s.Multiply(s, &table[7/2]) s.pow2k(4 + 1) s.Multiply(s, &table[9/2]) s.pow2k(3 + 1) s.Multiply(s, &table[15/2]) s.pow2k(4 + 1) s.Multiply(s, &table[11/2]) return s } // MultiScalarMult sets v = sum(scalars[i] * points[i]), and returns v. // // Execution time depends only on the lengths of the two slices, which must match. func (v *Point) MultiScalarMult(scalars []*Scalar, points []*Point) *Point { if len(scalars) != len(points) { panic("edwards25519: called MultiScalarMult with different size inputs") } checkInitialized(points...) // Proceed as in the single-base case, but share doublings // between each point in the multiscalar equation. // Build lookup tables for each point tables := make([]projLookupTable, len(points)) for i := range tables { tables[i].FromP3(points[i]) } // Compute signed radix-16 digits for each scalar digits := make([][64]int8, len(scalars)) for i := range digits { digits[i] = scalars[i].signedRadix16() } // Unwrap first loop iteration to save computing 16*identity multiple := &projCached{} tmp1 := &projP1xP1{} tmp2 := &projP2{} // Lookup-and-add the appropriate multiple of each input point for j := range tables { tables[j].SelectInto(multiple, digits[j][63]) tmp1.Add(v, multiple) // tmp1 = v + x_(j,63)*Q in P1xP1 coords v.fromP1xP1(tmp1) // update v } tmp2.FromP3(v) // set up tmp2 = v in P2 coords for next iteration for i := 62; i >= 0; i-- { tmp1.Double(tmp2) // tmp1 = 2*(prev) in P1xP1 coords tmp2.FromP1xP1(tmp1) // tmp2 = 2*(prev) in P2 coords tmp1.Double(tmp2) // tmp1 = 4*(prev) in P1xP1 coords tmp2.FromP1xP1(tmp1) // tmp2 = 4*(prev) in P2 coords tmp1.Double(tmp2) // tmp1 = 8*(prev) in P1xP1 coords tmp2.FromP1xP1(tmp1) // tmp2 = 8*(prev) in P2 coords tmp1.Double(tmp2) // tmp1 = 16*(prev) in P1xP1 coords v.fromP1xP1(tmp1) // v = 16*(prev) in P3 coords // Lookup-and-add the appropriate multiple of each input point for j := range tables { tables[j].SelectInto(multiple, digits[j][i]) tmp1.Add(v, multiple) // tmp1 = v + x_(j,i)*Q in P1xP1 coords v.fromP1xP1(tmp1) // update v } tmp2.FromP3(v) // set up tmp2 = v in P2 coords for next iteration } return v } // VarTimeMultiScalarMult sets v = sum(scalars[i] * points[i]), and returns v. // // Execution time depends on the inputs. func (v *Point) VarTimeMultiScalarMult(scalars []*Scalar, points []*Point) *Point { if len(scalars) != len(points) { panic("edwards25519: called VarTimeMultiScalarMult with different size inputs") } checkInitialized(points...) // Generalize double-base NAF computation to arbitrary sizes. // Here all the points are dynamic, so we only use the smaller // tables. // Build lookup tables for each point tables := make([]nafLookupTable5, len(points)) for i := range tables { tables[i].FromP3(points[i]) } // Compute a NAF for each scalar nafs := make([][256]int8, len(scalars)) for i := range nafs { nafs[i] = scalars[i].nonAdjacentForm(5) } multiple := &projCached{} tmp1 := &projP1xP1{} tmp2 := &projP2{} tmp2.Zero() // Move from high to low bits, doubling the accumulator // at each iteration and checking whether there is a nonzero // coefficient to look up a multiple of. // // Skip trying to find the first nonzero coefficent, because // searching might be more work than a few extra doublings. for i := 255; i >= 0; i-- { tmp1.Double(tmp2) for j := range nafs { if nafs[j][i] > 0 { v.fromP1xP1(tmp1) tables[j].SelectInto(multiple, nafs[j][i]) tmp1.Add(v, multiple) } else if nafs[j][i] < 0 { v.fromP1xP1(tmp1) tables[j].SelectInto(multiple, -nafs[j][i]) tmp1.Sub(v, multiple) } } tmp2.FromP1xP1(tmp1) } v.fromP2(tmp2) return v } dependencies/pkg/mod/filippo.io/edwards25519@v1.1.0/.github/0000755000000000000000000000000015107355263022064 5ustar rootrootdependencies/pkg/mod/filippo.io/edwards25519@v1.1.0/.github/workflows/0000755000000000000000000000000015107355263024121 5ustar rootrootdependencies/pkg/mod/filippo.io/edwards25519@v1.1.0/.github/workflows/test.yml0000644000000000000000000000070215107355263025622 0ustar rootrootname: Go tests on: [push, pull_request] jobs: test: name: Go ${{ matrix.go }} runs-on: ubuntu-latest strategy: matrix: go: [ '1.20', '1.x' ] steps: - uses: actions/setup-go@v2 with: { go-version: "${{ matrix.go }}" } - uses: actions/checkout@v2 - run: go test -short ./... - run: go test -short -tags purego ./... - run: GOARCH=arm64 go test -c - run: GOARCH=arm go test -c dependencies/pkg/mod/filippo.io/edwards25519@v1.1.0/scalar_fiat.go0000644000000000000000000010715415107355263023333 0ustar rootroot// Code generated by Fiat Cryptography. DO NOT EDIT. // // Autogenerated: word_by_word_montgomery --lang Go --cmovznz-by-mul --relax-primitive-carry-to-bitwidth 32,64 --public-function-case camelCase --public-type-case camelCase --private-function-case camelCase --private-type-case camelCase --doc-text-before-function-name '' --doc-newline-before-package-declaration --doc-prepend-header 'Code generated by Fiat Cryptography. DO NOT EDIT.' --package-name edwards25519 Scalar 64 '2^252 + 27742317777372353535851937790883648493' mul add sub opp nonzero from_montgomery to_montgomery to_bytes from_bytes // // curve description: Scalar // // machine_wordsize = 64 (from "64") // // requested operations: mul, add, sub, opp, nonzero, from_montgomery, to_montgomery, to_bytes, from_bytes // // m = 0x1000000000000000000000000000000014def9dea2f79cd65812631a5cf5d3ed (from "2^252 + 27742317777372353535851937790883648493") // // // // NOTE: In addition to the bounds specified above each function, all // // functions synthesized for this Montgomery arithmetic require the // // input to be strictly less than the prime modulus (m), and also // // require the input to be in the unique saturated representation. // // All functions also ensure that these two properties are true of // // return values. // // // // Computed values: // // eval z = z[0] + (z[1] << 64) + (z[2] << 128) + (z[3] << 192) // // bytes_eval z = z[0] + (z[1] << 8) + (z[2] << 16) + (z[3] << 24) + (z[4] << 32) + (z[5] << 40) + (z[6] << 48) + (z[7] << 56) + (z[8] << 64) + (z[9] << 72) + (z[10] << 80) + (z[11] << 88) + (z[12] << 96) + (z[13] << 104) + (z[14] << 112) + (z[15] << 120) + (z[16] << 128) + (z[17] << 136) + (z[18] << 144) + (z[19] << 152) + (z[20] << 160) + (z[21] << 168) + (z[22] << 176) + (z[23] << 184) + (z[24] << 192) + (z[25] << 200) + (z[26] << 208) + (z[27] << 216) + (z[28] << 224) + (z[29] << 232) + (z[30] << 240) + (z[31] << 248) // // twos_complement_eval z = let x1 := z[0] + (z[1] << 64) + (z[2] << 128) + (z[3] << 192) in // // if x1 & (2^256-1) < 2^255 then x1 & (2^256-1) else (x1 & (2^256-1)) - 2^256 package edwards25519 import "math/bits" type fiatScalarUint1 uint64 // We use uint64 instead of a more narrow type for performance reasons; see https://github.com/mit-plv/fiat-crypto/pull/1006#issuecomment-892625927 type fiatScalarInt1 int64 // We use uint64 instead of a more narrow type for performance reasons; see https://github.com/mit-plv/fiat-crypto/pull/1006#issuecomment-892625927 // The type fiatScalarMontgomeryDomainFieldElement is a field element in the Montgomery domain. // // Bounds: [[0x0 ~> 0xffffffffffffffff], [0x0 ~> 0xffffffffffffffff], [0x0 ~> 0xffffffffffffffff], [0x0 ~> 0xffffffffffffffff]] type fiatScalarMontgomeryDomainFieldElement [4]uint64 // The type fiatScalarNonMontgomeryDomainFieldElement is a field element NOT in the Montgomery domain. // // Bounds: [[0x0 ~> 0xffffffffffffffff], [0x0 ~> 0xffffffffffffffff], [0x0 ~> 0xffffffffffffffff], [0x0 ~> 0xffffffffffffffff]] type fiatScalarNonMontgomeryDomainFieldElement [4]uint64 // fiatScalarCmovznzU64 is a single-word conditional move. // // Postconditions: // // out1 = (if arg1 = 0 then arg2 else arg3) // // Input Bounds: // // arg1: [0x0 ~> 0x1] // arg2: [0x0 ~> 0xffffffffffffffff] // arg3: [0x0 ~> 0xffffffffffffffff] // // Output Bounds: // // out1: [0x0 ~> 0xffffffffffffffff] func fiatScalarCmovznzU64(out1 *uint64, arg1 fiatScalarUint1, arg2 uint64, arg3 uint64) { x1 := (uint64(arg1) * 0xffffffffffffffff) x2 := ((x1 & arg3) | ((^x1) & arg2)) *out1 = x2 } // fiatScalarMul multiplies two field elements in the Montgomery domain. // // Preconditions: // // 0 ≤ eval arg1 < m // 0 ≤ eval arg2 < m // // Postconditions: // // eval (from_montgomery out1) mod m = (eval (from_montgomery arg1) * eval (from_montgomery arg2)) mod m // 0 ≤ eval out1 < m func fiatScalarMul(out1 *fiatScalarMontgomeryDomainFieldElement, arg1 *fiatScalarMontgomeryDomainFieldElement, arg2 *fiatScalarMontgomeryDomainFieldElement) { x1 := arg1[1] x2 := arg1[2] x3 := arg1[3] x4 := arg1[0] var x5 uint64 var x6 uint64 x6, x5 = bits.Mul64(x4, arg2[3]) var x7 uint64 var x8 uint64 x8, x7 = bits.Mul64(x4, arg2[2]) var x9 uint64 var x10 uint64 x10, x9 = bits.Mul64(x4, arg2[1]) var x11 uint64 var x12 uint64 x12, x11 = bits.Mul64(x4, arg2[0]) var x13 uint64 var x14 uint64 x13, x14 = bits.Add64(x12, x9, uint64(0x0)) var x15 uint64 var x16 uint64 x15, x16 = bits.Add64(x10, x7, uint64(fiatScalarUint1(x14))) var x17 uint64 var x18 uint64 x17, x18 = bits.Add64(x8, x5, uint64(fiatScalarUint1(x16))) x19 := (uint64(fiatScalarUint1(x18)) + x6) var x20 uint64 _, x20 = bits.Mul64(x11, 0xd2b51da312547e1b) var x22 uint64 var x23 uint64 x23, x22 = bits.Mul64(x20, 0x1000000000000000) var x24 uint64 var x25 uint64 x25, x24 = bits.Mul64(x20, 0x14def9dea2f79cd6) var x26 uint64 var x27 uint64 x27, x26 = bits.Mul64(x20, 0x5812631a5cf5d3ed) var x28 uint64 var x29 uint64 x28, x29 = bits.Add64(x27, x24, uint64(0x0)) x30 := (uint64(fiatScalarUint1(x29)) + x25) var x32 uint64 _, x32 = bits.Add64(x11, x26, uint64(0x0)) var x33 uint64 var x34 uint64 x33, x34 = bits.Add64(x13, x28, uint64(fiatScalarUint1(x32))) var x35 uint64 var x36 uint64 x35, x36 = bits.Add64(x15, x30, uint64(fiatScalarUint1(x34))) var x37 uint64 var x38 uint64 x37, x38 = bits.Add64(x17, x22, uint64(fiatScalarUint1(x36))) var x39 uint64 var x40 uint64 x39, x40 = bits.Add64(x19, x23, uint64(fiatScalarUint1(x38))) var x41 uint64 var x42 uint64 x42, x41 = bits.Mul64(x1, arg2[3]) var x43 uint64 var x44 uint64 x44, x43 = bits.Mul64(x1, arg2[2]) var x45 uint64 var x46 uint64 x46, x45 = bits.Mul64(x1, arg2[1]) var x47 uint64 var x48 uint64 x48, x47 = bits.Mul64(x1, arg2[0]) var x49 uint64 var x50 uint64 x49, x50 = bits.Add64(x48, x45, uint64(0x0)) var x51 uint64 var x52 uint64 x51, x52 = bits.Add64(x46, x43, uint64(fiatScalarUint1(x50))) var x53 uint64 var x54 uint64 x53, x54 = bits.Add64(x44, x41, uint64(fiatScalarUint1(x52))) x55 := (uint64(fiatScalarUint1(x54)) + x42) var x56 uint64 var x57 uint64 x56, x57 = bits.Add64(x33, x47, uint64(0x0)) var x58 uint64 var x59 uint64 x58, x59 = bits.Add64(x35, x49, uint64(fiatScalarUint1(x57))) var x60 uint64 var x61 uint64 x60, x61 = bits.Add64(x37, x51, uint64(fiatScalarUint1(x59))) var x62 uint64 var x63 uint64 x62, x63 = bits.Add64(x39, x53, uint64(fiatScalarUint1(x61))) var x64 uint64 var x65 uint64 x64, x65 = bits.Add64(uint64(fiatScalarUint1(x40)), x55, uint64(fiatScalarUint1(x63))) var x66 uint64 _, x66 = bits.Mul64(x56, 0xd2b51da312547e1b) var x68 uint64 var x69 uint64 x69, x68 = bits.Mul64(x66, 0x1000000000000000) var x70 uint64 var x71 uint64 x71, x70 = bits.Mul64(x66, 0x14def9dea2f79cd6) var x72 uint64 var x73 uint64 x73, x72 = bits.Mul64(x66, 0x5812631a5cf5d3ed) var x74 uint64 var x75 uint64 x74, x75 = bits.Add64(x73, x70, uint64(0x0)) x76 := (uint64(fiatScalarUint1(x75)) + x71) var x78 uint64 _, x78 = bits.Add64(x56, x72, uint64(0x0)) var x79 uint64 var x80 uint64 x79, x80 = bits.Add64(x58, x74, uint64(fiatScalarUint1(x78))) var x81 uint64 var x82 uint64 x81, x82 = bits.Add64(x60, x76, uint64(fiatScalarUint1(x80))) var x83 uint64 var x84 uint64 x83, x84 = bits.Add64(x62, x68, uint64(fiatScalarUint1(x82))) var x85 uint64 var x86 uint64 x85, x86 = bits.Add64(x64, x69, uint64(fiatScalarUint1(x84))) x87 := (uint64(fiatScalarUint1(x86)) + uint64(fiatScalarUint1(x65))) var x88 uint64 var x89 uint64 x89, x88 = bits.Mul64(x2, arg2[3]) var x90 uint64 var x91 uint64 x91, x90 = bits.Mul64(x2, arg2[2]) var x92 uint64 var x93 uint64 x93, x92 = bits.Mul64(x2, arg2[1]) var x94 uint64 var x95 uint64 x95, x94 = bits.Mul64(x2, arg2[0]) var x96 uint64 var x97 uint64 x96, x97 = bits.Add64(x95, x92, uint64(0x0)) var x98 uint64 var x99 uint64 x98, x99 = bits.Add64(x93, x90, uint64(fiatScalarUint1(x97))) var x100 uint64 var x101 uint64 x100, x101 = bits.Add64(x91, x88, uint64(fiatScalarUint1(x99))) x102 := (uint64(fiatScalarUint1(x101)) + x89) var x103 uint64 var x104 uint64 x103, x104 = bits.Add64(x79, x94, uint64(0x0)) var x105 uint64 var x106 uint64 x105, x106 = bits.Add64(x81, x96, uint64(fiatScalarUint1(x104))) var x107 uint64 var x108 uint64 x107, x108 = bits.Add64(x83, x98, uint64(fiatScalarUint1(x106))) var x109 uint64 var x110 uint64 x109, x110 = bits.Add64(x85, x100, uint64(fiatScalarUint1(x108))) var x111 uint64 var x112 uint64 x111, x112 = bits.Add64(x87, x102, uint64(fiatScalarUint1(x110))) var x113 uint64 _, x113 = bits.Mul64(x103, 0xd2b51da312547e1b) var x115 uint64 var x116 uint64 x116, x115 = bits.Mul64(x113, 0x1000000000000000) var x117 uint64 var x118 uint64 x118, x117 = bits.Mul64(x113, 0x14def9dea2f79cd6) var x119 uint64 var x120 uint64 x120, x119 = bits.Mul64(x113, 0x5812631a5cf5d3ed) var x121 uint64 var x122 uint64 x121, x122 = bits.Add64(x120, x117, uint64(0x0)) x123 := (uint64(fiatScalarUint1(x122)) + x118) var x125 uint64 _, x125 = bits.Add64(x103, x119, uint64(0x0)) var x126 uint64 var x127 uint64 x126, x127 = bits.Add64(x105, x121, uint64(fiatScalarUint1(x125))) var x128 uint64 var x129 uint64 x128, x129 = bits.Add64(x107, x123, uint64(fiatScalarUint1(x127))) var x130 uint64 var x131 uint64 x130, x131 = bits.Add64(x109, x115, uint64(fiatScalarUint1(x129))) var x132 uint64 var x133 uint64 x132, x133 = bits.Add64(x111, x116, uint64(fiatScalarUint1(x131))) x134 := (uint64(fiatScalarUint1(x133)) + uint64(fiatScalarUint1(x112))) var x135 uint64 var x136 uint64 x136, x135 = bits.Mul64(x3, arg2[3]) var x137 uint64 var x138 uint64 x138, x137 = bits.Mul64(x3, arg2[2]) var x139 uint64 var x140 uint64 x140, x139 = bits.Mul64(x3, arg2[1]) var x141 uint64 var x142 uint64 x142, x141 = bits.Mul64(x3, arg2[0]) var x143 uint64 var x144 uint64 x143, x144 = bits.Add64(x142, x139, uint64(0x0)) var x145 uint64 var x146 uint64 x145, x146 = bits.Add64(x140, x137, uint64(fiatScalarUint1(x144))) var x147 uint64 var x148 uint64 x147, x148 = bits.Add64(x138, x135, uint64(fiatScalarUint1(x146))) x149 := (uint64(fiatScalarUint1(x148)) + x136) var x150 uint64 var x151 uint64 x150, x151 = bits.Add64(x126, x141, uint64(0x0)) var x152 uint64 var x153 uint64 x152, x153 = bits.Add64(x128, x143, uint64(fiatScalarUint1(x151))) var x154 uint64 var x155 uint64 x154, x155 = bits.Add64(x130, x145, uint64(fiatScalarUint1(x153))) var x156 uint64 var x157 uint64 x156, x157 = bits.Add64(x132, x147, uint64(fiatScalarUint1(x155))) var x158 uint64 var x159 uint64 x158, x159 = bits.Add64(x134, x149, uint64(fiatScalarUint1(x157))) var x160 uint64 _, x160 = bits.Mul64(x150, 0xd2b51da312547e1b) var x162 uint64 var x163 uint64 x163, x162 = bits.Mul64(x160, 0x1000000000000000) var x164 uint64 var x165 uint64 x165, x164 = bits.Mul64(x160, 0x14def9dea2f79cd6) var x166 uint64 var x167 uint64 x167, x166 = bits.Mul64(x160, 0x5812631a5cf5d3ed) var x168 uint64 var x169 uint64 x168, x169 = bits.Add64(x167, x164, uint64(0x0)) x170 := (uint64(fiatScalarUint1(x169)) + x165) var x172 uint64 _, x172 = bits.Add64(x150, x166, uint64(0x0)) var x173 uint64 var x174 uint64 x173, x174 = bits.Add64(x152, x168, uint64(fiatScalarUint1(x172))) var x175 uint64 var x176 uint64 x175, x176 = bits.Add64(x154, x170, uint64(fiatScalarUint1(x174))) var x177 uint64 var x178 uint64 x177, x178 = bits.Add64(x156, x162, uint64(fiatScalarUint1(x176))) var x179 uint64 var x180 uint64 x179, x180 = bits.Add64(x158, x163, uint64(fiatScalarUint1(x178))) x181 := (uint64(fiatScalarUint1(x180)) + uint64(fiatScalarUint1(x159))) var x182 uint64 var x183 uint64 x182, x183 = bits.Sub64(x173, 0x5812631a5cf5d3ed, uint64(0x0)) var x184 uint64 var x185 uint64 x184, x185 = bits.Sub64(x175, 0x14def9dea2f79cd6, uint64(fiatScalarUint1(x183))) var x186 uint64 var x187 uint64 x186, x187 = bits.Sub64(x177, uint64(0x0), uint64(fiatScalarUint1(x185))) var x188 uint64 var x189 uint64 x188, x189 = bits.Sub64(x179, 0x1000000000000000, uint64(fiatScalarUint1(x187))) var x191 uint64 _, x191 = bits.Sub64(x181, uint64(0x0), uint64(fiatScalarUint1(x189))) var x192 uint64 fiatScalarCmovznzU64(&x192, fiatScalarUint1(x191), x182, x173) var x193 uint64 fiatScalarCmovznzU64(&x193, fiatScalarUint1(x191), x184, x175) var x194 uint64 fiatScalarCmovznzU64(&x194, fiatScalarUint1(x191), x186, x177) var x195 uint64 fiatScalarCmovznzU64(&x195, fiatScalarUint1(x191), x188, x179) out1[0] = x192 out1[1] = x193 out1[2] = x194 out1[3] = x195 } // fiatScalarAdd adds two field elements in the Montgomery domain. // // Preconditions: // // 0 ≤ eval arg1 < m // 0 ≤ eval arg2 < m // // Postconditions: // // eval (from_montgomery out1) mod m = (eval (from_montgomery arg1) + eval (from_montgomery arg2)) mod m // 0 ≤ eval out1 < m func fiatScalarAdd(out1 *fiatScalarMontgomeryDomainFieldElement, arg1 *fiatScalarMontgomeryDomainFieldElement, arg2 *fiatScalarMontgomeryDomainFieldElement) { var x1 uint64 var x2 uint64 x1, x2 = bits.Add64(arg1[0], arg2[0], uint64(0x0)) var x3 uint64 var x4 uint64 x3, x4 = bits.Add64(arg1[1], arg2[1], uint64(fiatScalarUint1(x2))) var x5 uint64 var x6 uint64 x5, x6 = bits.Add64(arg1[2], arg2[2], uint64(fiatScalarUint1(x4))) var x7 uint64 var x8 uint64 x7, x8 = bits.Add64(arg1[3], arg2[3], uint64(fiatScalarUint1(x6))) var x9 uint64 var x10 uint64 x9, x10 = bits.Sub64(x1, 0x5812631a5cf5d3ed, uint64(0x0)) var x11 uint64 var x12 uint64 x11, x12 = bits.Sub64(x3, 0x14def9dea2f79cd6, uint64(fiatScalarUint1(x10))) var x13 uint64 var x14 uint64 x13, x14 = bits.Sub64(x5, uint64(0x0), uint64(fiatScalarUint1(x12))) var x15 uint64 var x16 uint64 x15, x16 = bits.Sub64(x7, 0x1000000000000000, uint64(fiatScalarUint1(x14))) var x18 uint64 _, x18 = bits.Sub64(uint64(fiatScalarUint1(x8)), uint64(0x0), uint64(fiatScalarUint1(x16))) var x19 uint64 fiatScalarCmovznzU64(&x19, fiatScalarUint1(x18), x9, x1) var x20 uint64 fiatScalarCmovznzU64(&x20, fiatScalarUint1(x18), x11, x3) var x21 uint64 fiatScalarCmovznzU64(&x21, fiatScalarUint1(x18), x13, x5) var x22 uint64 fiatScalarCmovznzU64(&x22, fiatScalarUint1(x18), x15, x7) out1[0] = x19 out1[1] = x20 out1[2] = x21 out1[3] = x22 } // fiatScalarSub subtracts two field elements in the Montgomery domain. // // Preconditions: // // 0 ≤ eval arg1 < m // 0 ≤ eval arg2 < m // // Postconditions: // // eval (from_montgomery out1) mod m = (eval (from_montgomery arg1) - eval (from_montgomery arg2)) mod m // 0 ≤ eval out1 < m func fiatScalarSub(out1 *fiatScalarMontgomeryDomainFieldElement, arg1 *fiatScalarMontgomeryDomainFieldElement, arg2 *fiatScalarMontgomeryDomainFieldElement) { var x1 uint64 var x2 uint64 x1, x2 = bits.Sub64(arg1[0], arg2[0], uint64(0x0)) var x3 uint64 var x4 uint64 x3, x4 = bits.Sub64(arg1[1], arg2[1], uint64(fiatScalarUint1(x2))) var x5 uint64 var x6 uint64 x5, x6 = bits.Sub64(arg1[2], arg2[2], uint64(fiatScalarUint1(x4))) var x7 uint64 var x8 uint64 x7, x8 = bits.Sub64(arg1[3], arg2[3], uint64(fiatScalarUint1(x6))) var x9 uint64 fiatScalarCmovznzU64(&x9, fiatScalarUint1(x8), uint64(0x0), 0xffffffffffffffff) var x10 uint64 var x11 uint64 x10, x11 = bits.Add64(x1, (x9 & 0x5812631a5cf5d3ed), uint64(0x0)) var x12 uint64 var x13 uint64 x12, x13 = bits.Add64(x3, (x9 & 0x14def9dea2f79cd6), uint64(fiatScalarUint1(x11))) var x14 uint64 var x15 uint64 x14, x15 = bits.Add64(x5, uint64(0x0), uint64(fiatScalarUint1(x13))) var x16 uint64 x16, _ = bits.Add64(x7, (x9 & 0x1000000000000000), uint64(fiatScalarUint1(x15))) out1[0] = x10 out1[1] = x12 out1[2] = x14 out1[3] = x16 } // fiatScalarOpp negates a field element in the Montgomery domain. // // Preconditions: // // 0 ≤ eval arg1 < m // // Postconditions: // // eval (from_montgomery out1) mod m = -eval (from_montgomery arg1) mod m // 0 ≤ eval out1 < m func fiatScalarOpp(out1 *fiatScalarMontgomeryDomainFieldElement, arg1 *fiatScalarMontgomeryDomainFieldElement) { var x1 uint64 var x2 uint64 x1, x2 = bits.Sub64(uint64(0x0), arg1[0], uint64(0x0)) var x3 uint64 var x4 uint64 x3, x4 = bits.Sub64(uint64(0x0), arg1[1], uint64(fiatScalarUint1(x2))) var x5 uint64 var x6 uint64 x5, x6 = bits.Sub64(uint64(0x0), arg1[2], uint64(fiatScalarUint1(x4))) var x7 uint64 var x8 uint64 x7, x8 = bits.Sub64(uint64(0x0), arg1[3], uint64(fiatScalarUint1(x6))) var x9 uint64 fiatScalarCmovznzU64(&x9, fiatScalarUint1(x8), uint64(0x0), 0xffffffffffffffff) var x10 uint64 var x11 uint64 x10, x11 = bits.Add64(x1, (x9 & 0x5812631a5cf5d3ed), uint64(0x0)) var x12 uint64 var x13 uint64 x12, x13 = bits.Add64(x3, (x9 & 0x14def9dea2f79cd6), uint64(fiatScalarUint1(x11))) var x14 uint64 var x15 uint64 x14, x15 = bits.Add64(x5, uint64(0x0), uint64(fiatScalarUint1(x13))) var x16 uint64 x16, _ = bits.Add64(x7, (x9 & 0x1000000000000000), uint64(fiatScalarUint1(x15))) out1[0] = x10 out1[1] = x12 out1[2] = x14 out1[3] = x16 } // fiatScalarNonzero outputs a single non-zero word if the input is non-zero and zero otherwise. // // Preconditions: // // 0 ≤ eval arg1 < m // // Postconditions: // // out1 = 0 ↔ eval (from_montgomery arg1) mod m = 0 // // Input Bounds: // // arg1: [[0x0 ~> 0xffffffffffffffff], [0x0 ~> 0xffffffffffffffff], [0x0 ~> 0xffffffffffffffff], [0x0 ~> 0xffffffffffffffff]] // // Output Bounds: // // out1: [0x0 ~> 0xffffffffffffffff] func fiatScalarNonzero(out1 *uint64, arg1 *[4]uint64) { x1 := (arg1[0] | (arg1[1] | (arg1[2] | arg1[3]))) *out1 = x1 } // fiatScalarFromMontgomery translates a field element out of the Montgomery domain. // // Preconditions: // // 0 ≤ eval arg1 < m // // Postconditions: // // eval out1 mod m = (eval arg1 * ((2^64)⁻¹ mod m)^4) mod m // 0 ≤ eval out1 < m func fiatScalarFromMontgomery(out1 *fiatScalarNonMontgomeryDomainFieldElement, arg1 *fiatScalarMontgomeryDomainFieldElement) { x1 := arg1[0] var x2 uint64 _, x2 = bits.Mul64(x1, 0xd2b51da312547e1b) var x4 uint64 var x5 uint64 x5, x4 = bits.Mul64(x2, 0x1000000000000000) var x6 uint64 var x7 uint64 x7, x6 = bits.Mul64(x2, 0x14def9dea2f79cd6) var x8 uint64 var x9 uint64 x9, x8 = bits.Mul64(x2, 0x5812631a5cf5d3ed) var x10 uint64 var x11 uint64 x10, x11 = bits.Add64(x9, x6, uint64(0x0)) var x13 uint64 _, x13 = bits.Add64(x1, x8, uint64(0x0)) var x14 uint64 var x15 uint64 x14, x15 = bits.Add64(uint64(0x0), x10, uint64(fiatScalarUint1(x13))) var x16 uint64 var x17 uint64 x16, x17 = bits.Add64(x14, arg1[1], uint64(0x0)) var x18 uint64 _, x18 = bits.Mul64(x16, 0xd2b51da312547e1b) var x20 uint64 var x21 uint64 x21, x20 = bits.Mul64(x18, 0x1000000000000000) var x22 uint64 var x23 uint64 x23, x22 = bits.Mul64(x18, 0x14def9dea2f79cd6) var x24 uint64 var x25 uint64 x25, x24 = bits.Mul64(x18, 0x5812631a5cf5d3ed) var x26 uint64 var x27 uint64 x26, x27 = bits.Add64(x25, x22, uint64(0x0)) var x29 uint64 _, x29 = bits.Add64(x16, x24, uint64(0x0)) var x30 uint64 var x31 uint64 x30, x31 = bits.Add64((uint64(fiatScalarUint1(x17)) + (uint64(fiatScalarUint1(x15)) + (uint64(fiatScalarUint1(x11)) + x7))), x26, uint64(fiatScalarUint1(x29))) var x32 uint64 var x33 uint64 x32, x33 = bits.Add64(x4, (uint64(fiatScalarUint1(x27)) + x23), uint64(fiatScalarUint1(x31))) var x34 uint64 var x35 uint64 x34, x35 = bits.Add64(x5, x20, uint64(fiatScalarUint1(x33))) var x36 uint64 var x37 uint64 x36, x37 = bits.Add64(x30, arg1[2], uint64(0x0)) var x38 uint64 var x39 uint64 x38, x39 = bits.Add64(x32, uint64(0x0), uint64(fiatScalarUint1(x37))) var x40 uint64 var x41 uint64 x40, x41 = bits.Add64(x34, uint64(0x0), uint64(fiatScalarUint1(x39))) var x42 uint64 _, x42 = bits.Mul64(x36, 0xd2b51da312547e1b) var x44 uint64 var x45 uint64 x45, x44 = bits.Mul64(x42, 0x1000000000000000) var x46 uint64 var x47 uint64 x47, x46 = bits.Mul64(x42, 0x14def9dea2f79cd6) var x48 uint64 var x49 uint64 x49, x48 = bits.Mul64(x42, 0x5812631a5cf5d3ed) var x50 uint64 var x51 uint64 x50, x51 = bits.Add64(x49, x46, uint64(0x0)) var x53 uint64 _, x53 = bits.Add64(x36, x48, uint64(0x0)) var x54 uint64 var x55 uint64 x54, x55 = bits.Add64(x38, x50, uint64(fiatScalarUint1(x53))) var x56 uint64 var x57 uint64 x56, x57 = bits.Add64(x40, (uint64(fiatScalarUint1(x51)) + x47), uint64(fiatScalarUint1(x55))) var x58 uint64 var x59 uint64 x58, x59 = bits.Add64((uint64(fiatScalarUint1(x41)) + (uint64(fiatScalarUint1(x35)) + x21)), x44, uint64(fiatScalarUint1(x57))) var x60 uint64 var x61 uint64 x60, x61 = bits.Add64(x54, arg1[3], uint64(0x0)) var x62 uint64 var x63 uint64 x62, x63 = bits.Add64(x56, uint64(0x0), uint64(fiatScalarUint1(x61))) var x64 uint64 var x65 uint64 x64, x65 = bits.Add64(x58, uint64(0x0), uint64(fiatScalarUint1(x63))) var x66 uint64 _, x66 = bits.Mul64(x60, 0xd2b51da312547e1b) var x68 uint64 var x69 uint64 x69, x68 = bits.Mul64(x66, 0x1000000000000000) var x70 uint64 var x71 uint64 x71, x70 = bits.Mul64(x66, 0x14def9dea2f79cd6) var x72 uint64 var x73 uint64 x73, x72 = bits.Mul64(x66, 0x5812631a5cf5d3ed) var x74 uint64 var x75 uint64 x74, x75 = bits.Add64(x73, x70, uint64(0x0)) var x77 uint64 _, x77 = bits.Add64(x60, x72, uint64(0x0)) var x78 uint64 var x79 uint64 x78, x79 = bits.Add64(x62, x74, uint64(fiatScalarUint1(x77))) var x80 uint64 var x81 uint64 x80, x81 = bits.Add64(x64, (uint64(fiatScalarUint1(x75)) + x71), uint64(fiatScalarUint1(x79))) var x82 uint64 var x83 uint64 x82, x83 = bits.Add64((uint64(fiatScalarUint1(x65)) + (uint64(fiatScalarUint1(x59)) + x45)), x68, uint64(fiatScalarUint1(x81))) x84 := (uint64(fiatScalarUint1(x83)) + x69) var x85 uint64 var x86 uint64 x85, x86 = bits.Sub64(x78, 0x5812631a5cf5d3ed, uint64(0x0)) var x87 uint64 var x88 uint64 x87, x88 = bits.Sub64(x80, 0x14def9dea2f79cd6, uint64(fiatScalarUint1(x86))) var x89 uint64 var x90 uint64 x89, x90 = bits.Sub64(x82, uint64(0x0), uint64(fiatScalarUint1(x88))) var x91 uint64 var x92 uint64 x91, x92 = bits.Sub64(x84, 0x1000000000000000, uint64(fiatScalarUint1(x90))) var x94 uint64 _, x94 = bits.Sub64(uint64(0x0), uint64(0x0), uint64(fiatScalarUint1(x92))) var x95 uint64 fiatScalarCmovznzU64(&x95, fiatScalarUint1(x94), x85, x78) var x96 uint64 fiatScalarCmovznzU64(&x96, fiatScalarUint1(x94), x87, x80) var x97 uint64 fiatScalarCmovznzU64(&x97, fiatScalarUint1(x94), x89, x82) var x98 uint64 fiatScalarCmovznzU64(&x98, fiatScalarUint1(x94), x91, x84) out1[0] = x95 out1[1] = x96 out1[2] = x97 out1[3] = x98 } // fiatScalarToMontgomery translates a field element into the Montgomery domain. // // Preconditions: // // 0 ≤ eval arg1 < m // // Postconditions: // // eval (from_montgomery out1) mod m = eval arg1 mod m // 0 ≤ eval out1 < m func fiatScalarToMontgomery(out1 *fiatScalarMontgomeryDomainFieldElement, arg1 *fiatScalarNonMontgomeryDomainFieldElement) { x1 := arg1[1] x2 := arg1[2] x3 := arg1[3] x4 := arg1[0] var x5 uint64 var x6 uint64 x6, x5 = bits.Mul64(x4, 0x399411b7c309a3d) var x7 uint64 var x8 uint64 x8, x7 = bits.Mul64(x4, 0xceec73d217f5be65) var x9 uint64 var x10 uint64 x10, x9 = bits.Mul64(x4, 0xd00e1ba768859347) var x11 uint64 var x12 uint64 x12, x11 = bits.Mul64(x4, 0xa40611e3449c0f01) var x13 uint64 var x14 uint64 x13, x14 = bits.Add64(x12, x9, uint64(0x0)) var x15 uint64 var x16 uint64 x15, x16 = bits.Add64(x10, x7, uint64(fiatScalarUint1(x14))) var x17 uint64 var x18 uint64 x17, x18 = bits.Add64(x8, x5, uint64(fiatScalarUint1(x16))) var x19 uint64 _, x19 = bits.Mul64(x11, 0xd2b51da312547e1b) var x21 uint64 var x22 uint64 x22, x21 = bits.Mul64(x19, 0x1000000000000000) var x23 uint64 var x24 uint64 x24, x23 = bits.Mul64(x19, 0x14def9dea2f79cd6) var x25 uint64 var x26 uint64 x26, x25 = bits.Mul64(x19, 0x5812631a5cf5d3ed) var x27 uint64 var x28 uint64 x27, x28 = bits.Add64(x26, x23, uint64(0x0)) var x30 uint64 _, x30 = bits.Add64(x11, x25, uint64(0x0)) var x31 uint64 var x32 uint64 x31, x32 = bits.Add64(x13, x27, uint64(fiatScalarUint1(x30))) var x33 uint64 var x34 uint64 x33, x34 = bits.Add64(x15, (uint64(fiatScalarUint1(x28)) + x24), uint64(fiatScalarUint1(x32))) var x35 uint64 var x36 uint64 x35, x36 = bits.Add64(x17, x21, uint64(fiatScalarUint1(x34))) var x37 uint64 var x38 uint64 x38, x37 = bits.Mul64(x1, 0x399411b7c309a3d) var x39 uint64 var x40 uint64 x40, x39 = bits.Mul64(x1, 0xceec73d217f5be65) var x41 uint64 var x42 uint64 x42, x41 = bits.Mul64(x1, 0xd00e1ba768859347) var x43 uint64 var x44 uint64 x44, x43 = bits.Mul64(x1, 0xa40611e3449c0f01) var x45 uint64 var x46 uint64 x45, x46 = bits.Add64(x44, x41, uint64(0x0)) var x47 uint64 var x48 uint64 x47, x48 = bits.Add64(x42, x39, uint64(fiatScalarUint1(x46))) var x49 uint64 var x50 uint64 x49, x50 = bits.Add64(x40, x37, uint64(fiatScalarUint1(x48))) var x51 uint64 var x52 uint64 x51, x52 = bits.Add64(x31, x43, uint64(0x0)) var x53 uint64 var x54 uint64 x53, x54 = bits.Add64(x33, x45, uint64(fiatScalarUint1(x52))) var x55 uint64 var x56 uint64 x55, x56 = bits.Add64(x35, x47, uint64(fiatScalarUint1(x54))) var x57 uint64 var x58 uint64 x57, x58 = bits.Add64(((uint64(fiatScalarUint1(x36)) + (uint64(fiatScalarUint1(x18)) + x6)) + x22), x49, uint64(fiatScalarUint1(x56))) var x59 uint64 _, x59 = bits.Mul64(x51, 0xd2b51da312547e1b) var x61 uint64 var x62 uint64 x62, x61 = bits.Mul64(x59, 0x1000000000000000) var x63 uint64 var x64 uint64 x64, x63 = bits.Mul64(x59, 0x14def9dea2f79cd6) var x65 uint64 var x66 uint64 x66, x65 = bits.Mul64(x59, 0x5812631a5cf5d3ed) var x67 uint64 var x68 uint64 x67, x68 = bits.Add64(x66, x63, uint64(0x0)) var x70 uint64 _, x70 = bits.Add64(x51, x65, uint64(0x0)) var x71 uint64 var x72 uint64 x71, x72 = bits.Add64(x53, x67, uint64(fiatScalarUint1(x70))) var x73 uint64 var x74 uint64 x73, x74 = bits.Add64(x55, (uint64(fiatScalarUint1(x68)) + x64), uint64(fiatScalarUint1(x72))) var x75 uint64 var x76 uint64 x75, x76 = bits.Add64(x57, x61, uint64(fiatScalarUint1(x74))) var x77 uint64 var x78 uint64 x78, x77 = bits.Mul64(x2, 0x399411b7c309a3d) var x79 uint64 var x80 uint64 x80, x79 = bits.Mul64(x2, 0xceec73d217f5be65) var x81 uint64 var x82 uint64 x82, x81 = bits.Mul64(x2, 0xd00e1ba768859347) var x83 uint64 var x84 uint64 x84, x83 = bits.Mul64(x2, 0xa40611e3449c0f01) var x85 uint64 var x86 uint64 x85, x86 = bits.Add64(x84, x81, uint64(0x0)) var x87 uint64 var x88 uint64 x87, x88 = bits.Add64(x82, x79, uint64(fiatScalarUint1(x86))) var x89 uint64 var x90 uint64 x89, x90 = bits.Add64(x80, x77, uint64(fiatScalarUint1(x88))) var x91 uint64 var x92 uint64 x91, x92 = bits.Add64(x71, x83, uint64(0x0)) var x93 uint64 var x94 uint64 x93, x94 = bits.Add64(x73, x85, uint64(fiatScalarUint1(x92))) var x95 uint64 var x96 uint64 x95, x96 = bits.Add64(x75, x87, uint64(fiatScalarUint1(x94))) var x97 uint64 var x98 uint64 x97, x98 = bits.Add64(((uint64(fiatScalarUint1(x76)) + (uint64(fiatScalarUint1(x58)) + (uint64(fiatScalarUint1(x50)) + x38))) + x62), x89, uint64(fiatScalarUint1(x96))) var x99 uint64 _, x99 = bits.Mul64(x91, 0xd2b51da312547e1b) var x101 uint64 var x102 uint64 x102, x101 = bits.Mul64(x99, 0x1000000000000000) var x103 uint64 var x104 uint64 x104, x103 = bits.Mul64(x99, 0x14def9dea2f79cd6) var x105 uint64 var x106 uint64 x106, x105 = bits.Mul64(x99, 0x5812631a5cf5d3ed) var x107 uint64 var x108 uint64 x107, x108 = bits.Add64(x106, x103, uint64(0x0)) var x110 uint64 _, x110 = bits.Add64(x91, x105, uint64(0x0)) var x111 uint64 var x112 uint64 x111, x112 = bits.Add64(x93, x107, uint64(fiatScalarUint1(x110))) var x113 uint64 var x114 uint64 x113, x114 = bits.Add64(x95, (uint64(fiatScalarUint1(x108)) + x104), uint64(fiatScalarUint1(x112))) var x115 uint64 var x116 uint64 x115, x116 = bits.Add64(x97, x101, uint64(fiatScalarUint1(x114))) var x117 uint64 var x118 uint64 x118, x117 = bits.Mul64(x3, 0x399411b7c309a3d) var x119 uint64 var x120 uint64 x120, x119 = bits.Mul64(x3, 0xceec73d217f5be65) var x121 uint64 var x122 uint64 x122, x121 = bits.Mul64(x3, 0xd00e1ba768859347) var x123 uint64 var x124 uint64 x124, x123 = bits.Mul64(x3, 0xa40611e3449c0f01) var x125 uint64 var x126 uint64 x125, x126 = bits.Add64(x124, x121, uint64(0x0)) var x127 uint64 var x128 uint64 x127, x128 = bits.Add64(x122, x119, uint64(fiatScalarUint1(x126))) var x129 uint64 var x130 uint64 x129, x130 = bits.Add64(x120, x117, uint64(fiatScalarUint1(x128))) var x131 uint64 var x132 uint64 x131, x132 = bits.Add64(x111, x123, uint64(0x0)) var x133 uint64 var x134 uint64 x133, x134 = bits.Add64(x113, x125, uint64(fiatScalarUint1(x132))) var x135 uint64 var x136 uint64 x135, x136 = bits.Add64(x115, x127, uint64(fiatScalarUint1(x134))) var x137 uint64 var x138 uint64 x137, x138 = bits.Add64(((uint64(fiatScalarUint1(x116)) + (uint64(fiatScalarUint1(x98)) + (uint64(fiatScalarUint1(x90)) + x78))) + x102), x129, uint64(fiatScalarUint1(x136))) var x139 uint64 _, x139 = bits.Mul64(x131, 0xd2b51da312547e1b) var x141 uint64 var x142 uint64 x142, x141 = bits.Mul64(x139, 0x1000000000000000) var x143 uint64 var x144 uint64 x144, x143 = bits.Mul64(x139, 0x14def9dea2f79cd6) var x145 uint64 var x146 uint64 x146, x145 = bits.Mul64(x139, 0x5812631a5cf5d3ed) var x147 uint64 var x148 uint64 x147, x148 = bits.Add64(x146, x143, uint64(0x0)) var x150 uint64 _, x150 = bits.Add64(x131, x145, uint64(0x0)) var x151 uint64 var x152 uint64 x151, x152 = bits.Add64(x133, x147, uint64(fiatScalarUint1(x150))) var x153 uint64 var x154 uint64 x153, x154 = bits.Add64(x135, (uint64(fiatScalarUint1(x148)) + x144), uint64(fiatScalarUint1(x152))) var x155 uint64 var x156 uint64 x155, x156 = bits.Add64(x137, x141, uint64(fiatScalarUint1(x154))) x157 := ((uint64(fiatScalarUint1(x156)) + (uint64(fiatScalarUint1(x138)) + (uint64(fiatScalarUint1(x130)) + x118))) + x142) var x158 uint64 var x159 uint64 x158, x159 = bits.Sub64(x151, 0x5812631a5cf5d3ed, uint64(0x0)) var x160 uint64 var x161 uint64 x160, x161 = bits.Sub64(x153, 0x14def9dea2f79cd6, uint64(fiatScalarUint1(x159))) var x162 uint64 var x163 uint64 x162, x163 = bits.Sub64(x155, uint64(0x0), uint64(fiatScalarUint1(x161))) var x164 uint64 var x165 uint64 x164, x165 = bits.Sub64(x157, 0x1000000000000000, uint64(fiatScalarUint1(x163))) var x167 uint64 _, x167 = bits.Sub64(uint64(0x0), uint64(0x0), uint64(fiatScalarUint1(x165))) var x168 uint64 fiatScalarCmovznzU64(&x168, fiatScalarUint1(x167), x158, x151) var x169 uint64 fiatScalarCmovznzU64(&x169, fiatScalarUint1(x167), x160, x153) var x170 uint64 fiatScalarCmovznzU64(&x170, fiatScalarUint1(x167), x162, x155) var x171 uint64 fiatScalarCmovznzU64(&x171, fiatScalarUint1(x167), x164, x157) out1[0] = x168 out1[1] = x169 out1[2] = x170 out1[3] = x171 } // fiatScalarToBytes serializes a field element NOT in the Montgomery domain to bytes in little-endian order. // // Preconditions: // // 0 ≤ eval arg1 < m // // Postconditions: // // out1 = map (λ x, ⌊((eval arg1 mod m) mod 2^(8 * (x + 1))) / 2^(8 * x)⌋) [0..31] // // Input Bounds: // // arg1: [[0x0 ~> 0xffffffffffffffff], [0x0 ~> 0xffffffffffffffff], [0x0 ~> 0xffffffffffffffff], [0x0 ~> 0x1fffffffffffffff]] // // Output Bounds: // // out1: [[0x0 ~> 0xff], [0x0 ~> 0xff], [0x0 ~> 0xff], [0x0 ~> 0xff], [0x0 ~> 0xff], [0x0 ~> 0xff], [0x0 ~> 0xff], [0x0 ~> 0xff], [0x0 ~> 0xff], [0x0 ~> 0xff], [0x0 ~> 0xff], [0x0 ~> 0xff], [0x0 ~> 0xff], [0x0 ~> 0xff], [0x0 ~> 0xff], [0x0 ~> 0xff], [0x0 ~> 0xff], [0x0 ~> 0xff], [0x0 ~> 0xff], [0x0 ~> 0xff], [0x0 ~> 0xff], [0x0 ~> 0xff], [0x0 ~> 0xff], [0x0 ~> 0xff], [0x0 ~> 0xff], [0x0 ~> 0xff], [0x0 ~> 0xff], [0x0 ~> 0xff], [0x0 ~> 0xff], [0x0 ~> 0xff], [0x0 ~> 0xff], [0x0 ~> 0x1f]] func fiatScalarToBytes(out1 *[32]uint8, arg1 *[4]uint64) { x1 := arg1[3] x2 := arg1[2] x3 := arg1[1] x4 := arg1[0] x5 := (uint8(x4) & 0xff) x6 := (x4 >> 8) x7 := (uint8(x6) & 0xff) x8 := (x6 >> 8) x9 := (uint8(x8) & 0xff) x10 := (x8 >> 8) x11 := (uint8(x10) & 0xff) x12 := (x10 >> 8) x13 := (uint8(x12) & 0xff) x14 := (x12 >> 8) x15 := (uint8(x14) & 0xff) x16 := (x14 >> 8) x17 := (uint8(x16) & 0xff) x18 := uint8((x16 >> 8)) x19 := (uint8(x3) & 0xff) x20 := (x3 >> 8) x21 := (uint8(x20) & 0xff) x22 := (x20 >> 8) x23 := (uint8(x22) & 0xff) x24 := (x22 >> 8) x25 := (uint8(x24) & 0xff) x26 := (x24 >> 8) x27 := (uint8(x26) & 0xff) x28 := (x26 >> 8) x29 := (uint8(x28) & 0xff) x30 := (x28 >> 8) x31 := (uint8(x30) & 0xff) x32 := uint8((x30 >> 8)) x33 := (uint8(x2) & 0xff) x34 := (x2 >> 8) x35 := (uint8(x34) & 0xff) x36 := (x34 >> 8) x37 := (uint8(x36) & 0xff) x38 := (x36 >> 8) x39 := (uint8(x38) & 0xff) x40 := (x38 >> 8) x41 := (uint8(x40) & 0xff) x42 := (x40 >> 8) x43 := (uint8(x42) & 0xff) x44 := (x42 >> 8) x45 := (uint8(x44) & 0xff) x46 := uint8((x44 >> 8)) x47 := (uint8(x1) & 0xff) x48 := (x1 >> 8) x49 := (uint8(x48) & 0xff) x50 := (x48 >> 8) x51 := (uint8(x50) & 0xff) x52 := (x50 >> 8) x53 := (uint8(x52) & 0xff) x54 := (x52 >> 8) x55 := (uint8(x54) & 0xff) x56 := (x54 >> 8) x57 := (uint8(x56) & 0xff) x58 := (x56 >> 8) x59 := (uint8(x58) & 0xff) x60 := uint8((x58 >> 8)) out1[0] = x5 out1[1] = x7 out1[2] = x9 out1[3] = x11 out1[4] = x13 out1[5] = x15 out1[6] = x17 out1[7] = x18 out1[8] = x19 out1[9] = x21 out1[10] = x23 out1[11] = x25 out1[12] = x27 out1[13] = x29 out1[14] = x31 out1[15] = x32 out1[16] = x33 out1[17] = x35 out1[18] = x37 out1[19] = x39 out1[20] = x41 out1[21] = x43 out1[22] = x45 out1[23] = x46 out1[24] = x47 out1[25] = x49 out1[26] = x51 out1[27] = x53 out1[28] = x55 out1[29] = x57 out1[30] = x59 out1[31] = x60 } // fiatScalarFromBytes deserializes a field element NOT in the Montgomery domain from bytes in little-endian order. // // Preconditions: // // 0 ≤ bytes_eval arg1 < m // // Postconditions: // // eval out1 mod m = bytes_eval arg1 mod m // 0 ≤ eval out1 < m // // Input Bounds: // // arg1: [[0x0 ~> 0xff], [0x0 ~> 0xff], [0x0 ~> 0xff], [0x0 ~> 0xff], [0x0 ~> 0xff], [0x0 ~> 0xff], [0x0 ~> 0xff], [0x0 ~> 0xff], [0x0 ~> 0xff], [0x0 ~> 0xff], [0x0 ~> 0xff], [0x0 ~> 0xff], [0x0 ~> 0xff], [0x0 ~> 0xff], [0x0 ~> 0xff], [0x0 ~> 0xff], [0x0 ~> 0xff], [0x0 ~> 0xff], [0x0 ~> 0xff], [0x0 ~> 0xff], [0x0 ~> 0xff], [0x0 ~> 0xff], [0x0 ~> 0xff], [0x0 ~> 0xff], [0x0 ~> 0xff], [0x0 ~> 0xff], [0x0 ~> 0xff], [0x0 ~> 0xff], [0x0 ~> 0xff], [0x0 ~> 0xff], [0x0 ~> 0xff], [0x0 ~> 0x1f]] // // Output Bounds: // // out1: [[0x0 ~> 0xffffffffffffffff], [0x0 ~> 0xffffffffffffffff], [0x0 ~> 0xffffffffffffffff], [0x0 ~> 0x1fffffffffffffff]] func fiatScalarFromBytes(out1 *[4]uint64, arg1 *[32]uint8) { x1 := (uint64(arg1[31]) << 56) x2 := (uint64(arg1[30]) << 48) x3 := (uint64(arg1[29]) << 40) x4 := (uint64(arg1[28]) << 32) x5 := (uint64(arg1[27]) << 24) x6 := (uint64(arg1[26]) << 16) x7 := (uint64(arg1[25]) << 8) x8 := arg1[24] x9 := (uint64(arg1[23]) << 56) x10 := (uint64(arg1[22]) << 48) x11 := (uint64(arg1[21]) << 40) x12 := (uint64(arg1[20]) << 32) x13 := (uint64(arg1[19]) << 24) x14 := (uint64(arg1[18]) << 16) x15 := (uint64(arg1[17]) << 8) x16 := arg1[16] x17 := (uint64(arg1[15]) << 56) x18 := (uint64(arg1[14]) << 48) x19 := (uint64(arg1[13]) << 40) x20 := (uint64(arg1[12]) << 32) x21 := (uint64(arg1[11]) << 24) x22 := (uint64(arg1[10]) << 16) x23 := (uint64(arg1[9]) << 8) x24 := arg1[8] x25 := (uint64(arg1[7]) << 56) x26 := (uint64(arg1[6]) << 48) x27 := (uint64(arg1[5]) << 40) x28 := (uint64(arg1[4]) << 32) x29 := (uint64(arg1[3]) << 24) x30 := (uint64(arg1[2]) << 16) x31 := (uint64(arg1[1]) << 8) x32 := arg1[0] x33 := (x31 + uint64(x32)) x34 := (x30 + x33) x35 := (x29 + x34) x36 := (x28 + x35) x37 := (x27 + x36) x38 := (x26 + x37) x39 := (x25 + x38) x40 := (x23 + uint64(x24)) x41 := (x22 + x40) x42 := (x21 + x41) x43 := (x20 + x42) x44 := (x19 + x43) x45 := (x18 + x44) x46 := (x17 + x45) x47 := (x15 + uint64(x16)) x48 := (x14 + x47) x49 := (x13 + x48) x50 := (x12 + x49) x51 := (x11 + x50) x52 := (x10 + x51) x53 := (x9 + x52) x54 := (x7 + uint64(x8)) x55 := (x6 + x54) x56 := (x5 + x55) x57 := (x4 + x56) x58 := (x3 + x57) x59 := (x2 + x58) x60 := (x1 + x59) out1[0] = x39 out1[1] = x46 out1[2] = x53 out1[3] = x60 } dependencies/pkg/mod/filippo.io/edwards25519@v1.1.0/go.mod0000644000000000000000000000005015107355263021625 0ustar rootrootmodule filippo.io/edwards25519 go 1.20 dependencies/pkg/mod/filippo.io/edwards25519@v1.1.0/scalarmult_test.go0000644000000000000000000001167015107355263024266 0ustar rootroot// Copyright (c) 2019 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 edwards25519 import ( "testing" "testing/quick" ) var ( // a random scalar generated using dalek. dalekScalar, _ = (&Scalar{}).SetCanonicalBytes([]byte{219, 106, 114, 9, 174, 249, 155, 89, 69, 203, 201, 93, 92, 116, 234, 187, 78, 115, 103, 172, 182, 98, 62, 103, 187, 136, 13, 100, 248, 110, 12, 4}) // the above, times the edwards25519 basepoint. dalekScalarBasepoint, _ = new(Point).SetBytes([]byte{0xf4, 0xef, 0x7c, 0xa, 0x34, 0x55, 0x7b, 0x9f, 0x72, 0x3b, 0xb6, 0x1e, 0xf9, 0x46, 0x9, 0x91, 0x1c, 0xb9, 0xc0, 0x6c, 0x17, 0x28, 0x2d, 0x8b, 0x43, 0x2b, 0x5, 0x18, 0x6a, 0x54, 0x3e, 0x48}) ) func TestScalarMultSmallScalars(t *testing.T) { var z Scalar var p Point p.ScalarMult(&z, B) if I.Equal(&p) != 1 { t.Error("0*B != 0") } checkOnCurve(t, &p) scEight, _ := (&Scalar{}).SetCanonicalBytes([]byte{1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0}) p.ScalarMult(scEight, B) if B.Equal(&p) != 1 { t.Error("1*B != 1") } checkOnCurve(t, &p) } func TestScalarMultVsDalek(t *testing.T) { var p Point p.ScalarMult(dalekScalar, B) if dalekScalarBasepoint.Equal(&p) != 1 { t.Error("Scalar mul does not match dalek") } checkOnCurve(t, &p) } func TestBaseMultVsDalek(t *testing.T) { var p Point p.ScalarBaseMult(dalekScalar) if dalekScalarBasepoint.Equal(&p) != 1 { t.Error("Scalar mul does not match dalek") } checkOnCurve(t, &p) } func TestVarTimeDoubleBaseMultVsDalek(t *testing.T) { var p Point var z Scalar p.VarTimeDoubleScalarBaseMult(dalekScalar, B, &z) if dalekScalarBasepoint.Equal(&p) != 1 { t.Error("VarTimeDoubleScalarBaseMult fails with b=0") } checkOnCurve(t, &p) p.VarTimeDoubleScalarBaseMult(&z, B, dalekScalar) if dalekScalarBasepoint.Equal(&p) != 1 { t.Error("VarTimeDoubleScalarBaseMult fails with a=0") } checkOnCurve(t, &p) } func TestScalarMultDistributesOverAdd(t *testing.T) { scalarMultDistributesOverAdd := func(x, y Scalar) bool { var z Scalar z.Add(&x, &y) var p, q, r, check Point p.ScalarMult(&x, B) q.ScalarMult(&y, B) r.ScalarMult(&z, B) check.Add(&p, &q) checkOnCurve(t, &p, &q, &r, &check) return check.Equal(&r) == 1 } if err := quick.Check(scalarMultDistributesOverAdd, quickCheckConfig(32)); err != nil { t.Error(err) } } func TestScalarMultNonIdentityPoint(t *testing.T) { // Check whether p.ScalarMult and q.ScalaBaseMult give the same, // when p and q are originally set to the base point. scalarMultNonIdentityPoint := func(x Scalar) bool { var p, q Point p.Set(B) q.Set(B) p.ScalarMult(&x, B) q.ScalarBaseMult(&x) checkOnCurve(t, &p, &q) return p.Equal(&q) == 1 } if err := quick.Check(scalarMultNonIdentityPoint, quickCheckConfig(32)); err != nil { t.Error(err) } } func TestBasepointTableGeneration(t *testing.T) { // The basepoint table is 32 affineLookupTables, // corresponding to (16^2i)*B for table i. basepointTable := basepointTable() tmp1 := &projP1xP1{} tmp2 := &projP2{} tmp3 := &Point{} tmp3.Set(B) table := make([]affineLookupTable, 32) for i := 0; i < 32; i++ { // Build the table table[i].FromP3(tmp3) // Assert equality with the hardcoded one if table[i] != basepointTable[i] { t.Errorf("Basepoint table %d does not match", i) } // Set p = (16^2)*p = 256*p = 2^8*p tmp2.FromP3(tmp3) for j := 0; j < 7; j++ { tmp1.Double(tmp2) tmp2.FromP1xP1(tmp1) } tmp1.Double(tmp2) tmp3.fromP1xP1(tmp1) checkOnCurve(t, tmp3) } } func TestScalarMultMatchesBaseMult(t *testing.T) { scalarMultMatchesBaseMult := func(x Scalar) bool { var p, q Point p.ScalarMult(&x, B) q.ScalarBaseMult(&x) checkOnCurve(t, &p, &q) return p.Equal(&q) == 1 } if err := quick.Check(scalarMultMatchesBaseMult, quickCheckConfig(32)); err != nil { t.Error(err) } } func TestBasepointNafTableGeneration(t *testing.T) { var table nafLookupTable8 table.FromP3(B) if table != *basepointNafTable() { t.Error("BasepointNafTable does not match") } } func TestVarTimeDoubleBaseMultMatchesBaseMult(t *testing.T) { varTimeDoubleBaseMultMatchesBaseMult := func(x, y Scalar) bool { var p, q1, q2, check Point p.VarTimeDoubleScalarBaseMult(&x, B, &y) q1.ScalarBaseMult(&x) q2.ScalarBaseMult(&y) check.Add(&q1, &q2) checkOnCurve(t, &p, &check, &q1, &q2) return p.Equal(&check) == 1 } if err := quick.Check(varTimeDoubleBaseMultMatchesBaseMult, quickCheckConfig(32)); err != nil { t.Error(err) } } // Benchmarks. func BenchmarkScalarBaseMult(b *testing.B) { var p Point for i := 0; i < b.N; i++ { p.ScalarBaseMult(dalekScalar) } } func BenchmarkScalarMult(b *testing.B) { var p Point for i := 0; i < b.N; i++ { p.ScalarMult(dalekScalar, B) } } func BenchmarkVarTimeDoubleScalarBaseMult(b *testing.B) { var p Point for i := 0; i < b.N; i++ { p.VarTimeDoubleScalarBaseMult(dalekScalar, B, dalekScalar) } } dependencies/pkg/mod/filippo.io/edwards25519@v1.1.0/scalar.go0000644000000000000000000002552115107355263022325 0ustar rootroot// Copyright (c) 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. package edwards25519 import ( "encoding/binary" "errors" ) // A Scalar is an integer modulo // // l = 2^252 + 27742317777372353535851937790883648493 // // which is the prime order of the edwards25519 group. // // This type works similarly to math/big.Int, and all arguments and // receivers are allowed to alias. // // The zero value is a valid zero element. type Scalar struct { // s is the scalar in the Montgomery domain, in the format of the // fiat-crypto implementation. s fiatScalarMontgomeryDomainFieldElement } // The field implementation in scalar_fiat.go is generated by the fiat-crypto // project (https://github.com/mit-plv/fiat-crypto) at version v0.0.9 (23d2dbc) // from a formally verified model. // // fiat-crypto code comes under the following license. // // Copyright (c) 2015-2020 The fiat-crypto 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: // // 1. Redistributions of source code must retain the above copyright // notice, this list of conditions and the following disclaimer. // // THIS SOFTWARE IS PROVIDED BY the fiat-crypto authors "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 Berkeley Software Design, // Inc. 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. // // NewScalar returns a new zero Scalar. func NewScalar() *Scalar { return &Scalar{} } // MultiplyAdd sets s = x * y + z mod l, and returns s. It is equivalent to // using Multiply and then Add. func (s *Scalar) MultiplyAdd(x, y, z *Scalar) *Scalar { // Make a copy of z in case it aliases s. zCopy := new(Scalar).Set(z) return s.Multiply(x, y).Add(s, zCopy) } // Add sets s = x + y mod l, and returns s. func (s *Scalar) Add(x, y *Scalar) *Scalar { // s = 1 * x + y mod l fiatScalarAdd(&s.s, &x.s, &y.s) return s } // Subtract sets s = x - y mod l, and returns s. func (s *Scalar) Subtract(x, y *Scalar) *Scalar { // s = -1 * y + x mod l fiatScalarSub(&s.s, &x.s, &y.s) return s } // Negate sets s = -x mod l, and returns s. func (s *Scalar) Negate(x *Scalar) *Scalar { // s = -1 * x + 0 mod l fiatScalarOpp(&s.s, &x.s) return s } // Multiply sets s = x * y mod l, and returns s. func (s *Scalar) Multiply(x, y *Scalar) *Scalar { // s = x * y + 0 mod l fiatScalarMul(&s.s, &x.s, &y.s) return s } // Set sets s = x, and returns s. func (s *Scalar) Set(x *Scalar) *Scalar { *s = *x return s } // SetUniformBytes sets s = x mod l, where x is a 64-byte little-endian integer. // If x is not of the right length, SetUniformBytes returns nil and an error, // and the receiver is unchanged. // // SetUniformBytes can be used to set s to a uniformly distributed value given // 64 uniformly distributed random bytes. func (s *Scalar) SetUniformBytes(x []byte) (*Scalar, error) { if len(x) != 64 { return nil, errors.New("edwards25519: invalid SetUniformBytes input length") } // We have a value x of 512 bits, but our fiatScalarFromBytes function // expects an input lower than l, which is a little over 252 bits. // // Instead of writing a reduction function that operates on wider inputs, we // can interpret x as the sum of three shorter values a, b, and c. // // x = a + b * 2^168 + c * 2^336 mod l // // We then precompute 2^168 and 2^336 modulo l, and perform the reduction // with two multiplications and two additions. s.setShortBytes(x[:21]) t := new(Scalar).setShortBytes(x[21:42]) s.Add(s, t.Multiply(t, scalarTwo168)) t.setShortBytes(x[42:]) s.Add(s, t.Multiply(t, scalarTwo336)) return s, nil } // scalarTwo168 and scalarTwo336 are 2^168 and 2^336 modulo l, encoded as a // fiatScalarMontgomeryDomainFieldElement, which is a little-endian 4-limb value // in the 2^256 Montgomery domain. var scalarTwo168 = &Scalar{s: [4]uint64{0x5b8ab432eac74798, 0x38afddd6de59d5d7, 0xa2c131b399411b7c, 0x6329a7ed9ce5a30}} var scalarTwo336 = &Scalar{s: [4]uint64{0xbd3d108e2b35ecc5, 0x5c3a3718bdf9c90b, 0x63aa97a331b4f2ee, 0x3d217f5be65cb5c}} // setShortBytes sets s = x mod l, where x is a little-endian integer shorter // than 32 bytes. func (s *Scalar) setShortBytes(x []byte) *Scalar { if len(x) >= 32 { panic("edwards25519: internal error: setShortBytes called with a long string") } var buf [32]byte copy(buf[:], x) fiatScalarFromBytes((*[4]uint64)(&s.s), &buf) fiatScalarToMontgomery(&s.s, (*fiatScalarNonMontgomeryDomainFieldElement)(&s.s)) return s } // SetCanonicalBytes sets s = x, where x is a 32-byte little-endian encoding of // s, and returns s. If x is not a canonical encoding of s, SetCanonicalBytes // returns nil and an error, and the receiver is unchanged. func (s *Scalar) SetCanonicalBytes(x []byte) (*Scalar, error) { if len(x) != 32 { return nil, errors.New("invalid scalar length") } if !isReduced(x) { return nil, errors.New("invalid scalar encoding") } fiatScalarFromBytes((*[4]uint64)(&s.s), (*[32]byte)(x)) fiatScalarToMontgomery(&s.s, (*fiatScalarNonMontgomeryDomainFieldElement)(&s.s)) return s, nil } // scalarMinusOneBytes is l - 1 in little endian. var scalarMinusOneBytes = [32]byte{236, 211, 245, 92, 26, 99, 18, 88, 214, 156, 247, 162, 222, 249, 222, 20, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 16} // isReduced returns whether the given scalar in 32-byte little endian encoded // form is reduced modulo l. func isReduced(s []byte) bool { if len(s) != 32 { return false } for i := len(s) - 1; i >= 0; i-- { switch { case s[i] > scalarMinusOneBytes[i]: return false case s[i] < scalarMinusOneBytes[i]: return true } } return true } // SetBytesWithClamping applies the buffer pruning described in RFC 8032, // Section 5.1.5 (also known as clamping) and sets s to the result. The input // must be 32 bytes, and it is not modified. If x is not of the right length, // SetBytesWithClamping returns nil and an error, and the receiver is unchanged. // // Note that since Scalar values are always reduced modulo the prime order of // the curve, the resulting value will not preserve any of the cofactor-clearing // properties that clamping is meant to provide. It will however work as // expected as long as it is applied to points on the prime order subgroup, like // in Ed25519. In fact, it is lost to history why RFC 8032 adopted the // irrelevant RFC 7748 clamping, but it is now required for compatibility. func (s *Scalar) SetBytesWithClamping(x []byte) (*Scalar, error) { // The description above omits the purpose of the high bits of the clamping // for brevity, but those are also lost to reductions, and are also // irrelevant to edwards25519 as they protect against a specific // implementation bug that was once observed in a generic Montgomery ladder. if len(x) != 32 { return nil, errors.New("edwards25519: invalid SetBytesWithClamping input length") } // We need to use the wide reduction from SetUniformBytes, since clamping // sets the 2^254 bit, making the value higher than the order. var wideBytes [64]byte copy(wideBytes[:], x[:]) wideBytes[0] &= 248 wideBytes[31] &= 63 wideBytes[31] |= 64 return s.SetUniformBytes(wideBytes[:]) } // Bytes returns the canonical 32-byte little-endian encoding of s. func (s *Scalar) Bytes() []byte { // This function is outlined to make the allocations inline in the caller // rather than happen on the heap. var encoded [32]byte return s.bytes(&encoded) } func (s *Scalar) bytes(out *[32]byte) []byte { var ss fiatScalarNonMontgomeryDomainFieldElement fiatScalarFromMontgomery(&ss, &s.s) fiatScalarToBytes(out, (*[4]uint64)(&ss)) return out[:] } // Equal returns 1 if s and t are equal, and 0 otherwise. func (s *Scalar) Equal(t *Scalar) int { var diff fiatScalarMontgomeryDomainFieldElement fiatScalarSub(&diff, &s.s, &t.s) var nonzero uint64 fiatScalarNonzero(&nonzero, (*[4]uint64)(&diff)) nonzero |= nonzero >> 32 nonzero |= nonzero >> 16 nonzero |= nonzero >> 8 nonzero |= nonzero >> 4 nonzero |= nonzero >> 2 nonzero |= nonzero >> 1 return int(^nonzero) & 1 } // nonAdjacentForm computes a width-w non-adjacent form for this scalar. // // w must be between 2 and 8, or nonAdjacentForm will panic. func (s *Scalar) nonAdjacentForm(w uint) [256]int8 { // This implementation is adapted from the one // in curve25519-dalek and is documented there: // https://github.com/dalek-cryptography/curve25519-dalek/blob/f630041af28e9a405255f98a8a93adca18e4315b/src/scalar.rs#L800-L871 b := s.Bytes() if b[31] > 127 { panic("scalar has high bit set illegally") } if w < 2 { panic("w must be at least 2 by the definition of NAF") } else if w > 8 { panic("NAF digits must fit in int8") } var naf [256]int8 var digits [5]uint64 for i := 0; i < 4; i++ { digits[i] = binary.LittleEndian.Uint64(b[i*8:]) } width := uint64(1 << w) windowMask := uint64(width - 1) pos := uint(0) carry := uint64(0) for pos < 256 { indexU64 := pos / 64 indexBit := pos % 64 var bitBuf uint64 if indexBit < 64-w { // This window's bits are contained in a single u64 bitBuf = digits[indexU64] >> indexBit } else { // Combine the current 64 bits with bits from the next 64 bitBuf = (digits[indexU64] >> indexBit) | (digits[1+indexU64] << (64 - indexBit)) } // Add carry into the current window window := carry + (bitBuf & windowMask) if window&1 == 0 { // If the window value is even, preserve the carry and continue. // Why is the carry preserved? // If carry == 0 and window & 1 == 0, // then the next carry should be 0 // If carry == 1 and window & 1 == 0, // then bit_buf & 1 == 1 so the next carry should be 1 pos += 1 continue } if window < width/2 { carry = 0 naf[pos] = int8(window) } else { carry = 1 naf[pos] = int8(window) - int8(width) } pos += w } return naf } func (s *Scalar) signedRadix16() [64]int8 { b := s.Bytes() if b[31] > 127 { panic("scalar has high bit set illegally") } var digits [64]int8 // Compute unsigned radix-16 digits: for i := 0; i < 32; i++ { digits[2*i] = int8(b[i] & 15) digits[2*i+1] = int8((b[i] >> 4) & 15) } // Recenter coefficients: for i := 0; i < 63; i++ { carry := (digits[i] + 8) >> 4 digits[i] -= carry << 4 digits[i+1] += carry } return digits } dependencies/pkg/mod/filippo.io/edwards25519@v1.1.0/tables_test.go0000644000000000000000000000526715107355263023376 0ustar rootroot// Copyright (c) 2019 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 edwards25519 import ( "testing" ) func TestProjLookupTable(t *testing.T) { var table projLookupTable table.FromP3(B) var tmp1, tmp2, tmp3 projCached table.SelectInto(&tmp1, 6) table.SelectInto(&tmp2, -2) table.SelectInto(&tmp3, -4) // Expect T1 + T2 + T3 = identity var accP1xP1 projP1xP1 accP3 := NewIdentityPoint() accP1xP1.Add(accP3, &tmp1) accP3.fromP1xP1(&accP1xP1) accP1xP1.Add(accP3, &tmp2) accP3.fromP1xP1(&accP1xP1) accP1xP1.Add(accP3, &tmp3) accP3.fromP1xP1(&accP1xP1) if accP3.Equal(I) != 1 { t.Errorf("Consistency check on ProjLookupTable.SelectInto failed! %x %x %x", tmp1, tmp2, tmp3) } } func TestAffineLookupTable(t *testing.T) { var table affineLookupTable table.FromP3(B) var tmp1, tmp2, tmp3 affineCached table.SelectInto(&tmp1, 3) table.SelectInto(&tmp2, -7) table.SelectInto(&tmp3, 4) // Expect T1 + T2 + T3 = identity var accP1xP1 projP1xP1 accP3 := NewIdentityPoint() accP1xP1.AddAffine(accP3, &tmp1) accP3.fromP1xP1(&accP1xP1) accP1xP1.AddAffine(accP3, &tmp2) accP3.fromP1xP1(&accP1xP1) accP1xP1.AddAffine(accP3, &tmp3) accP3.fromP1xP1(&accP1xP1) if accP3.Equal(I) != 1 { t.Errorf("Consistency check on ProjLookupTable.SelectInto failed! %x %x %x", tmp1, tmp2, tmp3) } } func TestNafLookupTable5(t *testing.T) { var table nafLookupTable5 table.FromP3(B) var tmp1, tmp2, tmp3, tmp4 projCached table.SelectInto(&tmp1, 9) table.SelectInto(&tmp2, 11) table.SelectInto(&tmp3, 7) table.SelectInto(&tmp4, 13) // Expect T1 + T2 = T3 + T4 var accP1xP1 projP1xP1 lhs := NewIdentityPoint() rhs := NewIdentityPoint() accP1xP1.Add(lhs, &tmp1) lhs.fromP1xP1(&accP1xP1) accP1xP1.Add(lhs, &tmp2) lhs.fromP1xP1(&accP1xP1) accP1xP1.Add(rhs, &tmp3) rhs.fromP1xP1(&accP1xP1) accP1xP1.Add(rhs, &tmp4) rhs.fromP1xP1(&accP1xP1) if lhs.Equal(rhs) != 1 { t.Errorf("Consistency check on nafLookupTable5 failed") } } func TestNafLookupTable8(t *testing.T) { var table nafLookupTable8 table.FromP3(B) var tmp1, tmp2, tmp3, tmp4 affineCached table.SelectInto(&tmp1, 49) table.SelectInto(&tmp2, 11) table.SelectInto(&tmp3, 35) table.SelectInto(&tmp4, 25) // Expect T1 + T2 = T3 + T4 var accP1xP1 projP1xP1 lhs := NewIdentityPoint() rhs := NewIdentityPoint() accP1xP1.AddAffine(lhs, &tmp1) lhs.fromP1xP1(&accP1xP1) accP1xP1.AddAffine(lhs, &tmp2) lhs.fromP1xP1(&accP1xP1) accP1xP1.AddAffine(rhs, &tmp3) rhs.fromP1xP1(&accP1xP1) accP1xP1.AddAffine(rhs, &tmp4) rhs.fromP1xP1(&accP1xP1) if lhs.Equal(rhs) != 1 { t.Errorf("Consistency check on nafLookupTable8 failed") } } dependencies/pkg/mod/filippo.io/edwards25519@v1.1.0/extra_test.go0000644000000000000000000001357015107355263023243 0ustar rootroot// Copyright (c) 2021 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 edwards25519 import ( "crypto/rand" "encoding/hex" "testing" "testing/quick" ) // TestBytesMontgomery tests the SetBytesWithClamping+BytesMontgomery path // equivalence to curve25519.X25519 for basepoint scalar multiplications. // // Note that you can't actually implement X25519 with this package because // there is no SetBytesMontgomery, and it would not be possible to implement // it properly: points on the twist would get rejected, and the Scalar returned // by SetBytesWithClamping does not preserve its cofactor-clearing properties. // // Disabled to avoid the golang.org/x/crypto module dependency. /* func TestBytesMontgomery(t *testing.T) { f := func(scalar [32]byte) bool { s := NewScalar().SetBytesWithClamping(scalar[:]) p := (&Point{}).ScalarBaseMult(s) got := p.BytesMontgomery() want, _ := curve25519.X25519(scalar[:], curve25519.Basepoint) return bytes.Equal(got, want) } if err := quick.Check(f, nil); err != nil { t.Error(err) } } */ func TestBytesMontgomerySodium(t *testing.T) { // Generated with libsodium.js 1.0.18 // crypto_sign_keypair().publicKey publicKey := "3bf918ffc2c955dc895bf145f566fb96623c1cadbe040091175764b5fde322c0" p, err := (&Point{}).SetBytes(decodeHex(publicKey)) if err != nil { t.Fatal(err) } // crypto_sign_ed25519_pk_to_curve25519(publicKey) want := "efc6c9d0738e9ea18d738ad4a2653631558931b0f1fde4dd58c436d19686dc28" if got := hex.EncodeToString(p.BytesMontgomery()); got != want { t.Errorf("got %q, want %q", got, want) } } func TestBytesMontgomeryInfinity(t *testing.T) { p := NewIdentityPoint() want := "0000000000000000000000000000000000000000000000000000000000000000" if got := hex.EncodeToString(p.BytesMontgomery()); got != want { t.Errorf("got %q, want %q", got, want) } } func TestMultByCofactor(t *testing.T) { lowOrderBytes := "26e8958fc2b227b045c3f489f2ef98f0d5dfac05d3c63339b13802886d53fc85" lowOrder, err := (&Point{}).SetBytes(decodeHex(lowOrderBytes)) if err != nil { t.Fatal(err) } if p := (&Point{}).MultByCofactor(lowOrder); p.Equal(NewIdentityPoint()) != 1 { t.Errorf("expected low order point * cofactor to be the identity") } f := func(scalar [64]byte) bool { s, _ := NewScalar().SetUniformBytes(scalar[:]) p := (&Point{}).ScalarBaseMult(s) p8 := (&Point{}).MultByCofactor(p) checkOnCurve(t, p8) // 8 * p == (8 * s) * B reprEight := [32]byte{8, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0} scEight, _ := (&Scalar{}).SetCanonicalBytes(reprEight[:]) s.Multiply(s, scEight) pp := (&Point{}).ScalarBaseMult(s) if p8.Equal(pp) != 1 { return false } // 8 * p == 8 * (lowOrder + p) pp.Add(p, lowOrder) pp.MultByCofactor(pp) if p8.Equal(pp) != 1 { return false } // 8 * p == p + p + p + p + p + p + p + p pp.Set(NewIdentityPoint()) for i := 0; i < 8; i++ { pp.Add(pp, p) } return p8.Equal(pp) == 1 } if err := quick.Check(f, nil); err != nil { t.Error(err) } } func TestScalarInvert(t *testing.T) { invertWorks := func(xInv Scalar, x notZeroScalar) bool { xInv.Invert((*Scalar)(&x)) var check Scalar check.Multiply((*Scalar)(&x), &xInv) return check.Equal(scOne) == 1 && isReduced(xInv.Bytes()) } if err := quick.Check(invertWorks, quickCheckConfig(32)); err != nil { t.Error(err) } randomScalar := *dalekScalar randomInverse := NewScalar().Invert(&randomScalar) var check Scalar check.Multiply(&randomScalar, randomInverse) if check.Equal(scOne) == 0 || !isReduced(randomInverse.Bytes()) { t.Error("inversion did not work") } zero := NewScalar() if xx := NewScalar().Invert(zero); xx.Equal(zero) != 1 { t.Errorf("inverting zero did not return zero") } } func TestMultiScalarMultMatchesBaseMult(t *testing.T) { multiScalarMultMatchesBaseMult := func(x, y, z Scalar) bool { var p, q1, q2, q3, check Point p.MultiScalarMult([]*Scalar{&x, &y, &z}, []*Point{B, B, B}) q1.ScalarBaseMult(&x) q2.ScalarBaseMult(&y) q3.ScalarBaseMult(&z) check.Add(&q1, &q2).Add(&check, &q3) checkOnCurve(t, &p, &check, &q1, &q2, &q3) return p.Equal(&check) == 1 } if err := quick.Check(multiScalarMultMatchesBaseMult, quickCheckConfig(32)); err != nil { t.Error(err) } } func TestVarTimeMultiScalarMultMatchesBaseMult(t *testing.T) { varTimeMultiScalarMultMatchesBaseMult := func(x, y, z Scalar) bool { var p, q1, q2, q3, check Point p.VarTimeMultiScalarMult([]*Scalar{&x, &y, &z}, []*Point{B, B, B}) q1.ScalarBaseMult(&x) q2.ScalarBaseMult(&y) q3.ScalarBaseMult(&z) check.Add(&q1, &q2).Add(&check, &q3) checkOnCurve(t, &p, &check, &q1, &q2, &q3) return p.Equal(&check) == 1 } if err := quick.Check(varTimeMultiScalarMultMatchesBaseMult, quickCheckConfig(32)); err != nil { t.Error(err) } } func BenchmarkMultiScalarMultSize8(t *testing.B) { var p Point x := dalekScalar for i := 0; i < t.N; i++ { p.MultiScalarMult([]*Scalar{x, x, x, x, x, x, x, x}, []*Point{B, B, B, B, B, B, B, B}) } } func BenchmarkScalarAddition(b *testing.B) { var rnd [128]byte rand.Read(rnd[:]) s1, _ := (&Scalar{}).SetUniformBytes(rnd[0:64]) s2, _ := (&Scalar{}).SetUniformBytes(rnd[64:128]) t := &Scalar{} b.ResetTimer() for i := 0; i < b.N; i++ { t.Add(s1, s2) } } func BenchmarkScalarMultiplication(b *testing.B) { var rnd [128]byte rand.Read(rnd[:]) s1, _ := (&Scalar{}).SetUniformBytes(rnd[0:64]) s2, _ := (&Scalar{}).SetUniformBytes(rnd[64:128]) t := &Scalar{} b.ResetTimer() for i := 0; i < b.N; i++ { t.Multiply(s1, s2) } } func BenchmarkScalarInversion(b *testing.B) { var rnd [64]byte rand.Read(rnd[:]) s1, _ := (&Scalar{}).SetUniformBytes(rnd[0:64]) b.ResetTimer() for i := 0; i < b.N; i++ { s1.Invert(s1) } } dependencies/pkg/mod/filippo.io/edwards25519@v1.1.0/edwards25519.go0000644000000000000000000002443315107355263023120 0ustar rootroot// Copyright (c) 2017 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 edwards25519 import ( "errors" "filippo.io/edwards25519/field" ) // Point types. type projP1xP1 struct { X, Y, Z, T field.Element } type projP2 struct { X, Y, Z field.Element } // Point represents a point on the edwards25519 curve. // // This type works similarly to math/big.Int, and all arguments and receivers // are allowed to alias. // // The zero value is NOT valid, and it may be used only as a receiver. type Point struct { // Make the type not comparable (i.e. used with == or as a map key), as // equivalent points can be represented by different Go values. _ incomparable // The point is internally represented in extended coordinates (X, Y, Z, T) // where x = X/Z, y = Y/Z, and xy = T/Z per https://eprint.iacr.org/2008/522. x, y, z, t field.Element } type incomparable [0]func() func checkInitialized(points ...*Point) { for _, p := range points { if p.x == (field.Element{}) && p.y == (field.Element{}) { panic("edwards25519: use of uninitialized Point") } } } type projCached struct { YplusX, YminusX, Z, T2d field.Element } type affineCached struct { YplusX, YminusX, T2d field.Element } // Constructors. func (v *projP2) Zero() *projP2 { v.X.Zero() v.Y.One() v.Z.One() return v } // identity is the point at infinity. var identity, _ = new(Point).SetBytes([]byte{ 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0}) // NewIdentityPoint returns a new Point set to the identity. func NewIdentityPoint() *Point { return new(Point).Set(identity) } // generator is the canonical curve basepoint. See TestGenerator for the // correspondence of this encoding with the values in RFC 8032. var generator, _ = new(Point).SetBytes([]byte{ 0x58, 0x66, 0x66, 0x66, 0x66, 0x66, 0x66, 0x66, 0x66, 0x66, 0x66, 0x66, 0x66, 0x66, 0x66, 0x66, 0x66, 0x66, 0x66, 0x66, 0x66, 0x66, 0x66, 0x66, 0x66, 0x66, 0x66, 0x66, 0x66, 0x66, 0x66, 0x66}) // NewGeneratorPoint returns a new Point set to the canonical generator. func NewGeneratorPoint() *Point { return new(Point).Set(generator) } func (v *projCached) Zero() *projCached { v.YplusX.One() v.YminusX.One() v.Z.One() v.T2d.Zero() return v } func (v *affineCached) Zero() *affineCached { v.YplusX.One() v.YminusX.One() v.T2d.Zero() return v } // Assignments. // Set sets v = u, and returns v. func (v *Point) Set(u *Point) *Point { *v = *u return v } // Encoding. // Bytes returns the canonical 32-byte encoding of v, according to RFC 8032, // Section 5.1.2. func (v *Point) Bytes() []byte { // This function is outlined to make the allocations inline in the caller // rather than happen on the heap. var buf [32]byte return v.bytes(&buf) } func (v *Point) bytes(buf *[32]byte) []byte { checkInitialized(v) var zInv, x, y field.Element zInv.Invert(&v.z) // zInv = 1 / Z x.Multiply(&v.x, &zInv) // x = X / Z y.Multiply(&v.y, &zInv) // y = Y / Z out := copyFieldElement(buf, &y) out[31] |= byte(x.IsNegative() << 7) return out } var feOne = new(field.Element).One() // SetBytes sets v = x, where x is a 32-byte encoding of v. If x does not // represent a valid point on the curve, SetBytes returns nil and an error and // the receiver is unchanged. Otherwise, SetBytes returns v. // // Note that SetBytes accepts all non-canonical encodings of valid points. // That is, it follows decoding rules that match most implementations in // the ecosystem rather than RFC 8032. func (v *Point) SetBytes(x []byte) (*Point, error) { // Specifically, the non-canonical encodings that are accepted are // 1) the ones where the field element is not reduced (see the // (*field.Element).SetBytes docs) and // 2) the ones where the x-coordinate is zero and the sign bit is set. // // Read more at https://hdevalence.ca/blog/2020-10-04-its-25519am, // specifically the "Canonical A, R" section. y, err := new(field.Element).SetBytes(x) if err != nil { return nil, errors.New("edwards25519: invalid point encoding length") } // -x² + y² = 1 + dx²y² // x² + dx²y² = x²(dy² + 1) = y² - 1 // x² = (y² - 1) / (dy² + 1) // u = y² - 1 y2 := new(field.Element).Square(y) u := new(field.Element).Subtract(y2, feOne) // v = dy² + 1 vv := new(field.Element).Multiply(y2, d) vv = vv.Add(vv, feOne) // x = +√(u/v) xx, wasSquare := new(field.Element).SqrtRatio(u, vv) if wasSquare == 0 { return nil, errors.New("edwards25519: invalid point encoding") } // Select the negative square root if the sign bit is set. xxNeg := new(field.Element).Negate(xx) xx = xx.Select(xxNeg, xx, int(x[31]>>7)) v.x.Set(xx) v.y.Set(y) v.z.One() v.t.Multiply(xx, y) // xy = T / Z return v, nil } func copyFieldElement(buf *[32]byte, v *field.Element) []byte { copy(buf[:], v.Bytes()) return buf[:] } // Conversions. func (v *projP2) FromP1xP1(p *projP1xP1) *projP2 { v.X.Multiply(&p.X, &p.T) v.Y.Multiply(&p.Y, &p.Z) v.Z.Multiply(&p.Z, &p.T) return v } func (v *projP2) FromP3(p *Point) *projP2 { v.X.Set(&p.x) v.Y.Set(&p.y) v.Z.Set(&p.z) return v } func (v *Point) fromP1xP1(p *projP1xP1) *Point { v.x.Multiply(&p.X, &p.T) v.y.Multiply(&p.Y, &p.Z) v.z.Multiply(&p.Z, &p.T) v.t.Multiply(&p.X, &p.Y) return v } func (v *Point) fromP2(p *projP2) *Point { v.x.Multiply(&p.X, &p.Z) v.y.Multiply(&p.Y, &p.Z) v.z.Square(&p.Z) v.t.Multiply(&p.X, &p.Y) return v } // d is a constant in the curve equation. var d, _ = new(field.Element).SetBytes([]byte{ 0xa3, 0x78, 0x59, 0x13, 0xca, 0x4d, 0xeb, 0x75, 0xab, 0xd8, 0x41, 0x41, 0x4d, 0x0a, 0x70, 0x00, 0x98, 0xe8, 0x79, 0x77, 0x79, 0x40, 0xc7, 0x8c, 0x73, 0xfe, 0x6f, 0x2b, 0xee, 0x6c, 0x03, 0x52}) var d2 = new(field.Element).Add(d, d) func (v *projCached) FromP3(p *Point) *projCached { v.YplusX.Add(&p.y, &p.x) v.YminusX.Subtract(&p.y, &p.x) v.Z.Set(&p.z) v.T2d.Multiply(&p.t, d2) return v } func (v *affineCached) FromP3(p *Point) *affineCached { v.YplusX.Add(&p.y, &p.x) v.YminusX.Subtract(&p.y, &p.x) v.T2d.Multiply(&p.t, d2) var invZ field.Element invZ.Invert(&p.z) v.YplusX.Multiply(&v.YplusX, &invZ) v.YminusX.Multiply(&v.YminusX, &invZ) v.T2d.Multiply(&v.T2d, &invZ) return v } // (Re)addition and subtraction. // Add sets v = p + q, and returns v. func (v *Point) Add(p, q *Point) *Point { checkInitialized(p, q) qCached := new(projCached).FromP3(q) result := new(projP1xP1).Add(p, qCached) return v.fromP1xP1(result) } // Subtract sets v = p - q, and returns v. func (v *Point) Subtract(p, q *Point) *Point { checkInitialized(p, q) qCached := new(projCached).FromP3(q) result := new(projP1xP1).Sub(p, qCached) return v.fromP1xP1(result) } func (v *projP1xP1) Add(p *Point, q *projCached) *projP1xP1 { var YplusX, YminusX, PP, MM, TT2d, ZZ2 field.Element YplusX.Add(&p.y, &p.x) YminusX.Subtract(&p.y, &p.x) PP.Multiply(&YplusX, &q.YplusX) MM.Multiply(&YminusX, &q.YminusX) TT2d.Multiply(&p.t, &q.T2d) ZZ2.Multiply(&p.z, &q.Z) ZZ2.Add(&ZZ2, &ZZ2) v.X.Subtract(&PP, &MM) v.Y.Add(&PP, &MM) v.Z.Add(&ZZ2, &TT2d) v.T.Subtract(&ZZ2, &TT2d) return v } func (v *projP1xP1) Sub(p *Point, q *projCached) *projP1xP1 { var YplusX, YminusX, PP, MM, TT2d, ZZ2 field.Element YplusX.Add(&p.y, &p.x) YminusX.Subtract(&p.y, &p.x) PP.Multiply(&YplusX, &q.YminusX) // flipped sign MM.Multiply(&YminusX, &q.YplusX) // flipped sign TT2d.Multiply(&p.t, &q.T2d) ZZ2.Multiply(&p.z, &q.Z) ZZ2.Add(&ZZ2, &ZZ2) v.X.Subtract(&PP, &MM) v.Y.Add(&PP, &MM) v.Z.Subtract(&ZZ2, &TT2d) // flipped sign v.T.Add(&ZZ2, &TT2d) // flipped sign return v } func (v *projP1xP1) AddAffine(p *Point, q *affineCached) *projP1xP1 { var YplusX, YminusX, PP, MM, TT2d, Z2 field.Element YplusX.Add(&p.y, &p.x) YminusX.Subtract(&p.y, &p.x) PP.Multiply(&YplusX, &q.YplusX) MM.Multiply(&YminusX, &q.YminusX) TT2d.Multiply(&p.t, &q.T2d) Z2.Add(&p.z, &p.z) v.X.Subtract(&PP, &MM) v.Y.Add(&PP, &MM) v.Z.Add(&Z2, &TT2d) v.T.Subtract(&Z2, &TT2d) return v } func (v *projP1xP1) SubAffine(p *Point, q *affineCached) *projP1xP1 { var YplusX, YminusX, PP, MM, TT2d, Z2 field.Element YplusX.Add(&p.y, &p.x) YminusX.Subtract(&p.y, &p.x) PP.Multiply(&YplusX, &q.YminusX) // flipped sign MM.Multiply(&YminusX, &q.YplusX) // flipped sign TT2d.Multiply(&p.t, &q.T2d) Z2.Add(&p.z, &p.z) v.X.Subtract(&PP, &MM) v.Y.Add(&PP, &MM) v.Z.Subtract(&Z2, &TT2d) // flipped sign v.T.Add(&Z2, &TT2d) // flipped sign return v } // Doubling. func (v *projP1xP1) Double(p *projP2) *projP1xP1 { var XX, YY, ZZ2, XplusYsq field.Element XX.Square(&p.X) YY.Square(&p.Y) ZZ2.Square(&p.Z) ZZ2.Add(&ZZ2, &ZZ2) XplusYsq.Add(&p.X, &p.Y) XplusYsq.Square(&XplusYsq) v.Y.Add(&YY, &XX) v.Z.Subtract(&YY, &XX) v.X.Subtract(&XplusYsq, &v.Y) v.T.Subtract(&ZZ2, &v.Z) return v } // Negation. // Negate sets v = -p, and returns v. func (v *Point) Negate(p *Point) *Point { checkInitialized(p) v.x.Negate(&p.x) v.y.Set(&p.y) v.z.Set(&p.z) v.t.Negate(&p.t) return v } // Equal returns 1 if v is equivalent to u, and 0 otherwise. func (v *Point) Equal(u *Point) int { checkInitialized(v, u) var t1, t2, t3, t4 field.Element t1.Multiply(&v.x, &u.z) t2.Multiply(&u.x, &v.z) t3.Multiply(&v.y, &u.z) t4.Multiply(&u.y, &v.z) return t1.Equal(&t2) & t3.Equal(&t4) } // Constant-time operations // Select sets v to a if cond == 1 and to b if cond == 0. func (v *projCached) Select(a, b *projCached, cond int) *projCached { v.YplusX.Select(&a.YplusX, &b.YplusX, cond) v.YminusX.Select(&a.YminusX, &b.YminusX, cond) v.Z.Select(&a.Z, &b.Z, cond) v.T2d.Select(&a.T2d, &b.T2d, cond) return v } // Select sets v to a if cond == 1 and to b if cond == 0. func (v *affineCached) Select(a, b *affineCached, cond int) *affineCached { v.YplusX.Select(&a.YplusX, &b.YplusX, cond) v.YminusX.Select(&a.YminusX, &b.YminusX, cond) v.T2d.Select(&a.T2d, &b.T2d, cond) return v } // CondNeg negates v if cond == 1 and leaves it unchanged if cond == 0. func (v *projCached) CondNeg(cond int) *projCached { v.YplusX.Swap(&v.YminusX, cond) v.T2d.Select(new(field.Element).Negate(&v.T2d), &v.T2d, cond) return v } // CondNeg negates v if cond == 1 and leaves it unchanged if cond == 0. func (v *affineCached) CondNeg(cond int) *affineCached { v.YplusX.Swap(&v.YminusX, cond) v.T2d.Select(new(field.Element).Negate(&v.T2d), &v.T2d, cond) return v } dependencies/pkg/mod/filippo.io/edwards25519@v1.1.0/tables.go0000644000000000000000000000725615107355263022337 0ustar rootroot// Copyright (c) 2019 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 edwards25519 import ( "crypto/subtle" ) // A dynamic lookup table for variable-base, constant-time scalar muls. type projLookupTable struct { points [8]projCached } // A precomputed lookup table for fixed-base, constant-time scalar muls. type affineLookupTable struct { points [8]affineCached } // A dynamic lookup table for variable-base, variable-time scalar muls. type nafLookupTable5 struct { points [8]projCached } // A precomputed lookup table for fixed-base, variable-time scalar muls. type nafLookupTable8 struct { points [64]affineCached } // Constructors. // Builds a lookup table at runtime. Fast. func (v *projLookupTable) FromP3(q *Point) { // Goal: v.points[i] = (i+1)*Q, i.e., Q, 2Q, ..., 8Q // This allows lookup of -8Q, ..., -Q, 0, Q, ..., 8Q v.points[0].FromP3(q) tmpP3 := Point{} tmpP1xP1 := projP1xP1{} for i := 0; i < 7; i++ { // Compute (i+1)*Q as Q + i*Q and convert to a projCached // This is needlessly complicated because the API has explicit // receivers instead of creating stack objects and relying on RVO v.points[i+1].FromP3(tmpP3.fromP1xP1(tmpP1xP1.Add(q, &v.points[i]))) } } // This is not optimised for speed; fixed-base tables should be precomputed. func (v *affineLookupTable) FromP3(q *Point) { // Goal: v.points[i] = (i+1)*Q, i.e., Q, 2Q, ..., 8Q // This allows lookup of -8Q, ..., -Q, 0, Q, ..., 8Q v.points[0].FromP3(q) tmpP3 := Point{} tmpP1xP1 := projP1xP1{} for i := 0; i < 7; i++ { // Compute (i+1)*Q as Q + i*Q and convert to affineCached v.points[i+1].FromP3(tmpP3.fromP1xP1(tmpP1xP1.AddAffine(q, &v.points[i]))) } } // Builds a lookup table at runtime. Fast. func (v *nafLookupTable5) FromP3(q *Point) { // Goal: v.points[i] = (2*i+1)*Q, i.e., Q, 3Q, 5Q, ..., 15Q // This allows lookup of -15Q, ..., -3Q, -Q, 0, Q, 3Q, ..., 15Q v.points[0].FromP3(q) q2 := Point{} q2.Add(q, q) tmpP3 := Point{} tmpP1xP1 := projP1xP1{} for i := 0; i < 7; i++ { v.points[i+1].FromP3(tmpP3.fromP1xP1(tmpP1xP1.Add(&q2, &v.points[i]))) } } // This is not optimised for speed; fixed-base tables should be precomputed. func (v *nafLookupTable8) FromP3(q *Point) { v.points[0].FromP3(q) q2 := Point{} q2.Add(q, q) tmpP3 := Point{} tmpP1xP1 := projP1xP1{} for i := 0; i < 63; i++ { v.points[i+1].FromP3(tmpP3.fromP1xP1(tmpP1xP1.AddAffine(&q2, &v.points[i]))) } } // Selectors. // Set dest to x*Q, where -8 <= x <= 8, in constant time. func (v *projLookupTable) SelectInto(dest *projCached, x int8) { // Compute xabs = |x| xmask := x >> 7 xabs := uint8((x + xmask) ^ xmask) dest.Zero() for j := 1; j <= 8; j++ { // Set dest = j*Q if |x| = j cond := subtle.ConstantTimeByteEq(xabs, uint8(j)) dest.Select(&v.points[j-1], dest, cond) } // Now dest = |x|*Q, conditionally negate to get x*Q dest.CondNeg(int(xmask & 1)) } // Set dest to x*Q, where -8 <= x <= 8, in constant time. func (v *affineLookupTable) SelectInto(dest *affineCached, x int8) { // Compute xabs = |x| xmask := x >> 7 xabs := uint8((x + xmask) ^ xmask) dest.Zero() for j := 1; j <= 8; j++ { // Set dest = j*Q if |x| = j cond := subtle.ConstantTimeByteEq(xabs, uint8(j)) dest.Select(&v.points[j-1], dest, cond) } // Now dest = |x|*Q, conditionally negate to get x*Q dest.CondNeg(int(xmask & 1)) } // Given odd x with 0 < x < 2^4, return x*Q (in variable time). func (v *nafLookupTable5) SelectInto(dest *projCached, x int8) { *dest = v.points[x/2] } // Given odd x with 0 < x < 2^7, return x*Q (in variable time). func (v *nafLookupTable8) SelectInto(dest *affineCached, x int8) { *dest = v.points[x/2] } dependencies/pkg/mod/filippo.io/edwards25519@v1.1.0/edwards25519_test.go0000644000000000000000000002236415107355263024160 0ustar rootroot// Copyright (c) 2019 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 edwards25519 import ( "encoding/hex" "reflect" "testing" "filippo.io/edwards25519/field" ) var B = NewGeneratorPoint() var I = NewIdentityPoint() func checkOnCurve(t *testing.T, points ...*Point) { t.Helper() for i, p := range points { var XX, YY, ZZ, ZZZZ field.Element XX.Square(&p.x) YY.Square(&p.y) ZZ.Square(&p.z) ZZZZ.Square(&ZZ) // -x² + y² = 1 + dx²y² // -(X/Z)² + (Y/Z)² = 1 + d(X/Z)²(Y/Z)² // (-X² + Y²)/Z² = 1 + (dX²Y²)/Z⁴ // (-X² + Y²)*Z² = Z⁴ + dX²Y² var lhs, rhs field.Element lhs.Subtract(&YY, &XX).Multiply(&lhs, &ZZ) rhs.Multiply(d, &XX).Multiply(&rhs, &YY).Add(&rhs, &ZZZZ) if lhs.Equal(&rhs) != 1 { t.Errorf("X, Y, and Z do not specify a point on the curve\nX = %v\nY = %v\nZ = %v", p.x, p.y, p.z) } // xy = T/Z lhs.Multiply(&p.x, &p.y) rhs.Multiply(&p.z, &p.t) if lhs.Equal(&rhs) != 1 { t.Errorf("point %d is not valid\nX = %v\nY = %v\nZ = %v", i, p.x, p.y, p.z) } } } func TestGenerator(t *testing.T) { // These are the coordinates of B from RFC 8032, Section 5.1, converted to // little endian hex. x := "1ad5258f602d56c9b2a7259560c72c695cdcd6fd31e2a4c0fe536ecdd3366921" y := "5866666666666666666666666666666666666666666666666666666666666666" if got := hex.EncodeToString(B.x.Bytes()); got != x { t.Errorf("wrong B.x: got %s, expected %s", got, x) } if got := hex.EncodeToString(B.y.Bytes()); got != y { t.Errorf("wrong B.y: got %s, expected %s", got, y) } if B.z.Equal(feOne) != 1 { t.Errorf("wrong B.z: got %v, expected 1", B.z) } // Check that t is correct. checkOnCurve(t, B) } func TestAddSubNegOnBasePoint(t *testing.T) { checkLhs, checkRhs := &Point{}, &Point{} checkLhs.Add(B, B) tmpP2 := new(projP2).FromP3(B) tmpP1xP1 := new(projP1xP1).Double(tmpP2) checkRhs.fromP1xP1(tmpP1xP1) if checkLhs.Equal(checkRhs) != 1 { t.Error("B + B != [2]B") } checkOnCurve(t, checkLhs, checkRhs) checkLhs.Subtract(B, B) Bneg := new(Point).Negate(B) checkRhs.Add(B, Bneg) if checkLhs.Equal(checkRhs) != 1 { t.Error("B - B != B + (-B)") } if I.Equal(checkLhs) != 1 { t.Error("B - B != 0") } if I.Equal(checkRhs) != 1 { t.Error("B + (-B) != 0") } checkOnCurve(t, checkLhs, checkRhs, Bneg) } func TestComparable(t *testing.T) { if reflect.TypeOf(Point{}).Comparable() { t.Error("Point is unexpectedly comparable") } } func TestInvalidEncodings(t *testing.T) { // An invalid point, that also happens to have y > p. invalid := "efffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff7f" p := NewGeneratorPoint() if out, err := p.SetBytes(decodeHex(invalid)); err == nil { t.Error("expected error for invalid point") } else if out != nil { t.Error("SetBytes did not return nil on an invalid encoding") } else if p.Equal(B) != 1 { t.Error("the Point was modified while decoding an invalid encoding") } checkOnCurve(t, p) } func TestNonCanonicalPoints(t *testing.T) { type test struct { name string encoding, canonical string } tests := []test{ // Points with x = 0 and the sign bit set. With x = 0 the curve equation // gives y² = 1, so y = ±1. 1 has two valid encodings. { "y=1,sign-", "0100000000000000000000000000000000000000000000000000000000000080", "0100000000000000000000000000000000000000000000000000000000000000", }, { "y=p+1,sign-", "eeffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff", "0100000000000000000000000000000000000000000000000000000000000000", }, { "y=p-1,sign-", "ecffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff", "ecffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff7f", }, // Non-canonical y encodings with values 2²⁵⁵-19 (p) to 2²⁵⁵-1 (p+18). { "y=p,sign+", "edffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff7f", "0000000000000000000000000000000000000000000000000000000000000000", }, { "y=p,sign-", "edffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff", "0000000000000000000000000000000000000000000000000000000000000080", }, { "y=p+1,sign+", "eeffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff7f", "0100000000000000000000000000000000000000000000000000000000000000", }, // "y=p+1,sign-" is already tested above. // p+2 is not a valid y-coordinate. { "y=p+3,sign+", "f0ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff7f", "0300000000000000000000000000000000000000000000000000000000000000", }, { "y=p+3,sign-", "f0ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff", "0300000000000000000000000000000000000000000000000000000000000080", }, { "y=p+4,sign+", "f1ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff7f", "0400000000000000000000000000000000000000000000000000000000000000", }, { "y=p+4,sign-", "f1ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff", "0400000000000000000000000000000000000000000000000000000000000080", }, { "y=p+5,sign+", "f2ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff7f", "0500000000000000000000000000000000000000000000000000000000000000", }, { "y=p+5,sign-", "f2ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff", "0500000000000000000000000000000000000000000000000000000000000080", }, { "y=p+6,sign+", "f3ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff7f", "0600000000000000000000000000000000000000000000000000000000000000", }, { "y=p+6,sign-", "f3ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff", "0600000000000000000000000000000000000000000000000000000000000080", }, // p+7 is not a valid y-coordinate. // p+8 is not a valid y-coordinate. { "y=p+9,sign+", "f6ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff7f", "0900000000000000000000000000000000000000000000000000000000000000", }, { "y=p+9,sign-", "f6ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff", "0900000000000000000000000000000000000000000000000000000000000080", }, { "y=p+10,sign+", "f7ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff7f", "0a00000000000000000000000000000000000000000000000000000000000000", }, { "y=p+10,sign-", "f7ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff", "0a00000000000000000000000000000000000000000000000000000000000080", }, // p+11 is not a valid y-coordinate. // p+12 is not a valid y-coordinate. // p+13 is not a valid y-coordinate. { "y=p+14,sign+", "fbffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff7f", "0e00000000000000000000000000000000000000000000000000000000000000", }, { "y=p+14,sign-", "fbffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff", "0e00000000000000000000000000000000000000000000000000000000000080", }, { "y=p+15,sign+", "fcffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff7f", "0f00000000000000000000000000000000000000000000000000000000000000", }, { "y=p+15,sign-", "fcffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff", "0f00000000000000000000000000000000000000000000000000000000000080", }, { "y=p+16,sign+", "fdffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff7f", "1000000000000000000000000000000000000000000000000000000000000000", }, { "y=p+16,sign-", "fdffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff", "1000000000000000000000000000000000000000000000000000000000000080", }, // p+17 is not a valid y-coordinate. { "y=p+18,sign+", "ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff7f", "1200000000000000000000000000000000000000000000000000000000000000", }, { "y=p+18,sign-", "ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff", "1200000000000000000000000000000000000000000000000000000000000080", }, } for _, tt := range tests { t.Run(tt.name, func(t *testing.T) { p1, err := new(Point).SetBytes(decodeHex(tt.encoding)) if err != nil { t.Fatalf("error decoding non-canonical point: %v", err) } p2, err := new(Point).SetBytes(decodeHex(tt.canonical)) if err != nil { t.Fatalf("error decoding canonical point: %v", err) } if p1.Equal(p2) != 1 { t.Errorf("equivalent points are not equal: %v, %v", p1, p2) } if encoding := hex.EncodeToString(p1.Bytes()); encoding != tt.canonical { t.Errorf("re-encoding does not match canonical; got %q, expected %q", encoding, tt.canonical) } checkOnCurve(t, p1, p2) }) } } var testAllocationsSink byte func TestAllocations(t *testing.T) { if allocs := testing.AllocsPerRun(100, func() { p := NewIdentityPoint() p.Add(p, NewGeneratorPoint()) s := NewScalar() testAllocationsSink ^= s.Bytes()[0] testAllocationsSink ^= p.Bytes()[0] }); allocs > 0 { t.Errorf("expected zero allocations, got %0.1v", allocs) } } func decodeHex(s string) []byte { b, err := hex.DecodeString(s) if err != nil { panic(err) } return b } func BenchmarkEncodingDecoding(b *testing.B) { p := new(Point).Set(dalekScalarBasepoint) for i := 0; i < b.N; i++ { buf := p.Bytes() _, err := p.SetBytes(buf) if err != nil { b.Fatal(err) } } } dependencies/pkg/mod/cache/0000755000000000000000000000000015107355263014614 5ustar rootrootdependencies/pkg/mod/cache/download/0000755000000000000000000000000015107355264016424 5ustar rootrootdependencies/pkg/mod/cache/download/golang.org/0000755000000000000000000000000015107355263020460 5ustar rootrootdependencies/pkg/mod/cache/download/golang.org/x/0000755000000000000000000000000015107355263020727 5ustar rootrootdependencies/pkg/mod/cache/download/golang.org/x/exp/0000755000000000000000000000000015107355263021523 5ustar rootrootdependencies/pkg/mod/cache/download/golang.org/x/exp/@v/0000755000000000000000000000000015107355264022071 5ustar rootrootdependencies/pkg/mod/cache/download/golang.org/x/exp/@v/v0.0.0-20240506185415-9bf2ced13842.mod0000644000000000000000000000026315107355263026621 0ustar rootrootmodule golang.org/x/exp go 1.20 require ( github.com/google/go-cmp v0.6.0 golang.org/x/mod v0.17.0 golang.org/x/tools v0.21.0 ) require golang.org/x/sync v0.7.0 // indirect dependencies/pkg/mod/cache/download/golang.org/x/exp/@v/v0.0.0-20240506185415-9bf2ced13842.zip0000644000000000000000000227666415107355263026672 0ustar rootrootPKBgolang.org/x/exp@v0.0.0-20240506185415-9bf2ced13842/.gitattributes\1k@ F88nw.u iR%g="cvM|'uxX )lP9bM4֏?G!cYz,s.C"JPhng\Em KcmMmUѰI)P24"%V6 LosЅW*sJuľDXpPmYFrn6L~dz!Dg"-789=|PKVx#YPK>golang.org/x/exp@v0.0.0-20240506185415-9bf2ced13842/.gitignore 0 {sCGQo`$#nGXR ݆y$UhhcrL)*?wL=)w7OPK"lPTPKCgolang.org/x/exp@v0.0.0-20240506185415-9bf2ced13842/CONTRIBUTING.mdlSMk[1Wlɡ1$뒋ijҒC(D節d7HEo#:T$Hi,M8PWc.K+ cYh ow dсA6g M1GG965V1ݬM{TJֳ|h8^'f'kVASo MVa ]%p3c Dד-h.teT >p;[G!ۤZ!|sA)Ҥ<\w|=/ dP`a>+@!i cH$FO#7ve' ׬]޼}>E|˷oB O·|$`VH3}F ˄k0 ?Ovϡ'8&{ blc4.޽L!" |vvyɦK!]"T;~d0_C7qKKں! v4mI~2dxl‡wu4&ȟ&_L[ɍ,qx;Ocv8O]ɐ{@ okZ4 PVK| \}=$S Bﺆ {*%m5go˦x-5ZIw\ Zy߯Alci7\ mPtTj^ z ŐbU\ ;V[쑵MsJ"-}DN KrȊKVsU򊵚6Q+9m l5Tb՜6n!IQeJskU欘|%Sa^gfLʾ\Ş=2UhSTk&!&}}tdIф@iK}LHh!5̈memҮH*{*y,zH^ y}; &YYpPKRVPK;golang.org/x/exp@v0.0.0-20240506185415-9bf2ced13842/PATENTSt6 z "]"@AKȤCQ;gf$ EG*Xto)}{6x 6Bi+AxJpUڠpsKw*p9қR xK_=d%Kh hl'X(P˕ M */=$W&0=2lF'iC x8lsڇuI +l{ tQ헷]ͧJvF`]&ش|tn(eP? qK?RtkP^#$trEr7#z^ fYR67wFӭWt@#XfcY̿ 0lRQ\{!8k 360['nQ:^>phv\b1aw,ٻ%B #V1S˩@9tfY‹ik/٣.NvYugZiaY?o yHvWlz6Xr>jD)XJ? ?FJ2r!@%F_jڊm,`< fT^PKk4~PK=golang.org/x/exp@v0.0.0-20240506185415-9bf2ced13842/README.mdlMo< |\ڠkP2X,F,xKrɟ/T{yOwY}_E-0N4NՖs/#WGT0J =N3e*J 6% 4{(8Lv L`ׯrᰞieMމNۧ9G ERmi lp̸ ' +i sF]!ϜIs5L %w2'R('0(mL`i{H>dvV|vos|2*]JܼN2ADI!I;;۴#w$ے"o:S3~0oؠozu.}غFwۥۋU[OzN6%gwo$'m4^7A::e(4<',kvcjD&[544l_ڒJn̑D.KV*~pis߀M#j`],opqA%vk(tnB7\-m?hdW4w\M bQ3~`Hpq2w7FyaYf fS mPˢC}C!LX+j譶]i,hТD޷k#fNHC]"5l,gX& > H yFu- `W9ҡeqK-e0 AzC@T5Jk]?}wo 8 u+ aͥ*F㠇UfH(z*'pƁV&hz$NAPPȕD1vOhZYJ} C S3 143E7 Y IЊ% g5A7bL nDًP~ nաlo.kh< LmfxDPsA1& Ԧs-nYn$ddžr&V-a&;pwp(#$gH2 dTd4F>jJ7|>䝑[,{-]p2BD΄ 8XtjQ[df}7E ]O3+ -mN!B(yZft&vvxODϰw]m|b#[z3R8H`O:GT?3H!!77K\SzTU]_zʹþ{%A8yfs4@u ٺ23ę5zv~xmǷnQnտIX-ad ɄOUk,# h, ՕnEj!ln>9R(#vIN L27KYG8v3$+2F]R'HSxQU#FC ]eJ㐱$s'G1Dh10)2$:KD" 4DS*[U\m`$Þe#u;8!zsB֩a8!K1)'^{QqBإT^(R|XUS2%^f"eC{@50E a#/L μTꣃ 8W7v_ļQw wBԮVnsNP{4&ּ 3hB%cMذ2$(,ӡI($٦ZiqM!8/_hbJvq ; IlτfTXE.m2sp"g?ҾdӼ Nw-UȂ/N8Lx;sU;ǬXmÛ-eS{2%:$!g7TăS|^\U~D[ rP0䣪TbB)2 %;C!ACfdd]3.5 ZWI{RWJrdˡZaA]gGia}ۘrZvR'S8B J_ `ȭEGx7rZ'昗x<-\0\%Zq|і+LG^mS|bMjZٛe!U^{){OSJ-"n&&|i{X$ 1ᩆ%i8^hyl3`8Zq{oO冘շGnZ%aHdV廀]ʍeJR? x@~3t _o5zt۸5Yd]_܌$wj$v%|􄣥s{SVt3TuMI-3qTP芳 Ѝx'u>ELe= @g<]<ƋEyaOSj?,Y.<#F;_-kCt٣P:B$Io[שU>T㯩 Bkmn , g h[$@$sC_m C*l/:e)MZSqd#ʭC|mZQe.ONt&6qwj"ƭO>V 2>H>ӸC5$ԑ,.)O H(iqwӚvI7D6(b"[ʉF^!91F/FZ{mR4 gYȧ/, LM C UQ(\X-IdS ; 4M*"X,%. A]k/W]_[Ay4Ȱ\2[F1Ԑ4C8 d'4@wϪӻ'*4I4x9HVVupEr Y6,T6aALÎ[nzO"4\$][!Sk^ {r Qtj"WgvQN%9F~tTpǮf}U>Y;ywDrJkՠzpŗJI_)zf:mr-5H;l&;Jk4']2rzʾt}+ȁFY742tJnmI/^[`:XN#%E'iwHiڄ[SqBiߵ6K&GHҋhDZVK UծExL3Qp%ȇW'E{;Vk}(E,h>%G[=.Vh;Ɨ-"{:ȣ GB:pq q5zo쐭!A A2 IF#:tk1UeBC{g {܎ B艙\%坫=ȗT1h;R's"_S ?sM}QRP3^}; *C7J{GfPL)R-MT?/"К&EW1ӥRǥfL!MKת8r -ZPɤ)5Y];M蛡'DlfȮ- ?I厫x2.U*X z}bX^F ɡ]hr!>)vcaY5ľՔt2]pcJILVVeȵϓ =9ϕ3BenNMnR2`NsXҍ| 7Z7` j:PxA4_TbA74޻m pQ@_gE$F \O, gu1峨q(gd凗pEAKu Bq$5[FR0<إY¨'(y<vnGԆ<\Dy=ͻ?K9l\("H. ZVq K8,L}=Yq*ntSqy oRK'ġ@}t"#R xNsUoo ívYIbŒvff]QKH7Gd@,f:D OkD-<4/\84mg96)Y=5k g7,-:PFWd. ,`JbJmƜ8IlC=C0rT63|y6-K/ mL,tr=%L$)>isOb!?jNae[O1y4ع$43Nߑ|CS}Sz.%DEJ6,=rNRDqAp̹&DVŏ8>j #Y|jOScM}F4NGzG~ Q],p hq)@jGU:k뵍v6*EqjYhqךh+b ʫK+hM p|T4X Q mRƍ(we-\!!hJ™ sJ忊vyL`6,0p|'jT%\d8WoWԢf D/< eTc1 %QWՉͿ/FAqzx$Me7VlF;-?R W=ǗБGz ]w:6|1e|9_:F)L܆4*lB'*$ѿu}^E/kf%NsZb夓-ƥ=±uL;dw:.eUTcܐ$'/o*#b "tyj]p;ŏX3%\_W,)Ŋ+Wq}Zr|YՆ#'/(Wz: kʊz0  II1%QAޭ勰ol /|ƃ[z]igtKg:~wW \_"|'?eV+憶+ogiɧ'PlbUC7+ّ;]&!Iȉ%Wtw?d4QE5R聓r}փ[7 \/Ǚkѥъ!;( Oz( 1use4zԧ_JqxiFא: ϓ_ 2t]/駔.5E v30 fρC\O>8]͏#0f?'ҵxiߘfa=n쮹۰K@Lt/^ g?t<΍q^==&v!ԖW>')I9C끆J<E؜%^w?`[Q7ϑjҊb5?LBȊ66Fz3DM~0iF7MzvPKR3 )aPKFgolang.org/x/exp@v0.0.0-20240506185415-9bf2ced13842/apidiff/apidiff.goZݎ۸b`&9ݗ=' s6$f.--)#w_Tԏ ;l.E_U}U$Zoou`RӪj ءmɿC BU􇟮d.t8@4RX0AciEWT@(j4Љr'O@NGU"فQ=gyKxجCppp@hZiOYXc)zg-d(LsCJv r s*٠ŏ * }Gkt5ifQ ^  B1p+ʡوsU=Rr LVh_|gp/uo#ȶkEE3b`N6 ^[AZdCD $%̧'R)FV `/ 4l1<0;0X7#ÉY14A kH'ђq*Mm$&:IFLْ) MMbիhxtz*&EuF]&-ٮ֍]ŮdL^ E ؂Vw}FuSq)<ĸvP6d -EYO䁰-B h3AHNm+mH VPI[JHc$]tj.5`Y/}elzUFRT9/o޸2xdaFq~9 puqC%w 8R ,Tj,5B9Qml- V$1Z&FW}hf넫A-k;V6z&Hץp>|YAWk ]T B˚χ36AW#3OZz [K) $3hc45ֱ*F;& ;$w1՗ ctp%j>l|6f4b-a^>FE-Hf?WAqkdF~IG! x!&Iȟf}$ryK#B' ̗f9SoCML@+:qPsIT ,E5 /J Yp6VFMވx#P"(Бobfg[hݟ}K> aJ7mK8}}7VQlS?? nj)r[fk(a-QUI\]T)}*MSߡէ?Ojm!*j0a6?M|ewM+6{5P(-|ƺ:n/c9ϯ():sXFO;}^WZq{-+MOq'&˲6FpKeZ5Cͩ 0*p ܰ\`Cx@U,ZW 'VTh.rdL.T7}(ui i,֛=7OORĩIqןFԓ4 p;Y1'qxDCiV A e'?hPq]ȅ آQB#,}H_>ю!8qZpWe&"&aࣧdY}[wrzxmZ718h/ƖDY%H|W&r|yH$5" rX.'.߲\4> qlAU.y<]e ??`G;ߕd3 >uNڍ(3+m_]:~ȗ'AUqע(DkZ0ė`W 1"PwW'\ǯG;w_(;7&rߪBNu\Y}ca&TZ icX"xޱ -*F1(#,a6֠Vn8[C&i>ѽ<m!^r=GXhwq} ׃,>βS4|:>]a1+Zd7C 󎴜!mRr /Vl0c֌#e4kJ JR[ThŽgoS'Ԭ44ZmL]\-s{*בlA^$\eTlsg,V AN^_3(эæP(Y 7o;d.,f!&d@;*.#yC CS*DSe:&ky,zZ.DյlKEsKp6T ը Uֻwv>0;~DZME{DXi7(/ġx_yWָsVq L93=:c:[cV -E2]X.jA.阮؍nͳgϖy8wߘ.;p<Ϛ$ZiGi=++ {WR7V˼/du!("r"`.~"9=o`$ھ MO9|  j|Y ]{bζA(_^)e} fpS {mf0PkH,B90y31]GarQd/ J_@>mWRY }w<|&%v[A<ۇġ+{ơψ={wˆ֦ټ={oHQ4?PKx݆ *PKKgolang.org/x/exp@v0.0.0-20240506185415-9bf2ced13842/apidiff/apidiff_test.goY{o8)*HEJfz8n@1T"rۛw?TQR?ܞ3 dXb Juɦ5CMyWKGnKF=ꝥ- a ԍ!Lgu[kh2)x-V!k13Z< ў#\}d6&hoh4f*`ʹ'#\3lO !G<|/nJ< {GZ#mM*o ݵIEZKfRFTd]Ei45=,=B%hmMn"[䈞`/EP'aW>3fr /K8 acxFc8_CN{+MJnW ̦m΢w)XlV6POCIX 6AIj;D D@ʦ͏d]V {[klRi5—KH^}?W}AXYA[=bp{2'ظO#堑 {>whv#7ߛ*Cf;[eFKM%3SXr=!D7hx/niWz-k0 b~tBv2TTHڄzI泥GVI^{/C"0Re}kvĨ\l㾕(5 U>h\=]Άgd؇pɣ3~3꾰CD =.GN ɖ22xs#DQ%m [DX&1cC [jFwP9Q Kc!GztXO-j%he&}]}s;Tf;[먈 ^˗/?dłDCxpS$nƈzaU?j/)RMuffI#N"O)!bӧĸ;37ߵD36zDJ`!FsyMn/5~,jHq#*1}+ŮA5<7.?|Ù`#o>IkJ'u0dE1w֨+}; JM,i)FPڥM4Hu??kp4'(u܉+j Ub=Xt] chnriCQapw}HmWKSު30R-?wu?bU2z8 k)yrCJrTt_|K ;@1殲dCߜEwY/p1 |~.=ǘ IP#VFc@[֋f0>xjDMY4!vkKR֋NWyoJ?)+c8ܘ7uM+f (H-ӆJXz|Gv={AEKz٨a9ti àvǩ.RiH U:&Aх2Wi3Egn7pیVmR2`,̎iiЧ;K#qlpo&_=WkGͣOeړI K16\5ͩnЇtAH'wkKifX61gu"QU.]cۺvL[ÐO_2[}=Şse!.60iiZLWc.iS^J"8$)IP>?4ЪI:zە@=AOGlhǫQn>\g3NN3~CY}V*~УT_OWqF :Mɶ|2/FCFHY , UotܔAI2e?R<Ț܍@ -$³yRzPohZ[kJt02`hCKU3(6 +h`}E}7w˿-7Տ"oPηoї;¡z\= [l{ɢTKt[ZKhP&_ Œf|614XrFK8cd1ۜ,Fܝdx@pw_3 |[ǂ6v tNE`͞Rl$&R/`  iD\ (NCpGIcmpL?x{e2V锇"+kdZN5Z QůAVXQ.i cKř2 h@e pq}|]p_R oף/>~8ɎR]c T~<ߍaHWrYON!MbEstEkP*ӢWn`e%yu %6B+wb)с YڌRg9oُ  HDR-M*2YclFcjt:6ǎI>߻#O2KմYb^h/&a߳h$ R{:WϺrkck?x_:~!r/%}"纐 oDryD۞φdp_PK y t!PKLgolang.org/x/exp@v0.0.0-20240506185415-9bf2ced13842/apidiff/compatibility.goZ_s8>EU;2&57ٹKf+v.D6%I@ U.n'Jl4 nD~/Vb# Y78ϒvb/~6XVb6+ü75z#\V8N^77Qc *RPgI5\]w9}PM)r%,U )e1}%IRd# ["mA]c,IfCnirwzwOsjkO11w_[YRT+/kN CD/Q+[2ɩ=%F(/ePkb1%,fƠhU" P ,y%_hdɾ)T+ {T*,28,)24{?h7<h$//c /fWL^^y??[ nQ0߶Kgtua[,s' =V#?^1fs$?+7 ~ATw4F#s$vl6F?Z8)5T9.Zޛ~[Q5hfƢc]#KUxc/RA!ɲ'9~[O -w{WDF'0{.G{%Tl4[Rf'2,1!l9\C-6zԺz%g_R~4i{giI?|Ls}!8iO=퇞>vv`33Cqi;qv(i3:Lq jZi?CZ*>H/OWgky@V]AdkaA(h>"jtk]mZhe(Kh)PʗHg85UJ;t)ԪK,b/8'u'+Nibw`~SR&Zܣ 5H qVچU|-[ GGjEJQX6`M Es[,#9H-Ba1&ɪ,iG*I>5(QV'~P YegAР:,ZC쑼j{,"dqgl=R UV{Ю-a$E5w465lVTqRX6vҭ8S bd=h^OA?K`r @K`p:z1My(8 $rJ gI Hɿ .[SvxcRoxaǀʅ:7>P GBB ~R,<{R%4V]Ī`{[K lc{c83SC#* ejeFXR%X5YF12o3>9ߜ=Ty!#sXKUKQNioM2(OYƢjHڥrF1h-KA5ȇLXjȎ'eDH ځlPJbd~"n餃B%?& (6XzP-+ X.WJ,h3S~pFU2DhWnuXqDn0 l>[tX۱CJmc`3iX3$*z*y+æޛ};xu;Y_!\jX5CA+:eRXH]LK7OM J[e+T#kڱPcnjsoWR W# ՛Hl/2_P{5ST=C@iȿR\{I7gĖ E?XsX PV@wh~(p~;N'kQ\TkZ& ^bԭ00%IMy~RH3$ό テ+O_#POڇ( jsz9uǞ.-˃cKKxWev׺1m%:2L=|}Vj/jl6"ɵH.M|8XCV9{$ʆpQ4!>|츖a2sv)qZj])cHjt}n;ΰrq*-2q8̂cDn-FrD&>U{*ZqŝGaxe#,:$ӔZ!S<:O;/Hޅ ܟ"ey]Q%UіI8aD"B#N6{< |tSÉ G*"s$ٕy W]{yt zRq*iړ($5>HюCZ;!uUL$W+&Ea\vt,7_01-`j)! m|菀]UV).R(4ղ&>^hR'{i c9 ́l=`_?{ٮ#Lv`1n| pQSc?}c>v}`h:*8%cVp~L}RrzKȓQ,߄q@0kPJEr'~Q:M(fVrᐔG aNYRۘSm _ś A&d݄?w҅e@ϟmq+J+ ;D1pZ/?>"}.hdu: ASaNLR"-tߠ3:xqWn8'T#4E's|dqԢ郍\k}?{_PKJm?%0PKMgolang.org/x/exp@v0.0.0-20240506185415-9bf2ced13842/apidiff/correspondence.go:Os۶gSl2s?Ǥ~3i2/"bЊw %IsEpw`'kAeϞ6:=ݘw3?/ 2֢댮A6෸eY sX밻 \gjM"V k=j+kށQ5]\ ;\=ƣh Tҁt]o^W^]U;E5΁n+zDD@ZI@]a9'̰2e0.wF^w1 36 h{=VjD-AMߢБ (<]kAύDW7 n$7RK`#E27PʁU@n-B:j5Q%q-V =,^¯妌&K–(F%=9[1NAvșRCR &Q/6O om4+i WyBw8t$;ҎnZ;okZ8"5s;- .v7U!NV糙lkڠqW.r zs7͒sߥK8|6O\X+ac"c*lKV[s~8;%+|>NP{-iݣ~}"y˭ЏsC!x2+iG .03S&-(^bQ퐠2o)Dv|b3{_t|6 qRԲ5A p F$ ?B'Y!PR8t˂3nVx2ccGs t}l ! ݳ۬z,/ApvOLSWd.8o`^sf~n>xhb2sI0!Y4ޭPcS&LHou>ڈޛIR64s2w?c"ؖjo!IG(6PtF izy18I|x`TMj7Oz[fއ)”C-ٓx3@#%GB5VkQEI9T)R_Tō\OZv~:t82:׷g zй0ڊQWP:{YՐ]ayF´yPyc2ڡ ]acM|иnKL@7U:q7dShtAol#v B`o1L[KkTʅ{I`攌/iK.uHtZ)_Famh&wƪ4FPt ~IM1{?g]eKT@U?fh 51Tp32hAh4`5H[yٱ0)yY4A-'oI}ib{Ht,7ICp[6cm8mNjtk1Ps0[bP{>sTƀ"SZK[aXaLg,p{؉=ny2V ƅ㬍SOچZUNGlfAF"f|{Yz2Zq^JJ6ce o^Y|Zsؑ7"КWF`,,?7FA+εw~U[6ƢBpZx⩑*ּVX0Xѹ4T.Q 4w;ʜv~Zb3iZPYsX-CM98OOb?&`]ګpImA|q??nFNyW?`&W?ʼnswv8ݣ("W3+gc 3A@=ȴ'o JB2R[!Th D9|~>}s:,0~ .)=0}\;qd.cwYvFe%ܙ 51cS+ i)J>EMuM Bw)eCmoEyàyV?ORFXU= .-W ua݈65wY5o"FW.c_C;t|E.`Yg6`to3i>Kx+wʃ/ƚ/8/VN#6H-(XT{P Z}0bzohe)mZ`c};O40Zm*9F^9OMO (U5O>Vךc"4W9Ƃ~~e",21jJWBQ {;;I\Y:r)y@ΩOAφ8%n^B)K;t{5wN40BN8U|9sa@&Rdjȇ PMyeh [m:"Xa`D@^=%k[$@i&m ;?hZevսƷy kkZ.ov!&+ /•!V;+Fpe5h[H`1>"}Z^zŷ#OPffKDB@#M] pvpZ܈$yK$Y.wig B*cjO`fUpsgb Ӵ]"I'u A`F+0a_󀑕YđB '<r~)C &ElX3*K9iOsIY"(wNӥ6/m^T%/ v ^_# "m8-! B.^#0ev~cٵ5Ms֐eɻ슏Ey=sNA9m~D*@3GIYdN& ¬ nqS&v Ȫw^΃Q4^^60Z@rޒJ 2? Vy Z1G0,4syD 4j% m`Nftlʰa쥿\}|2q俆ZCf :-ݦ#փކ :w2./~ >/9ߋe<ehcEj8cCURk!XSA5Fy0K5y@iM=I.FwvY?YwiXfvЪxa4>ub>FR@\HjB?(hF =eu8urav/7"j.#KJ*yQ#RZ 5kհEh+n'Ӷje8'*/_䗳.6p;V0p:&kկKWS?( ;r}7ŕa'/~P{+PK}ڥnPKQgolang.org/x/exp@v0.0.0-20240506185415-9bf2ced13842/apidiff/testdata/constants.go|n0g<` EbbݲS j!iq >w?꣼4Vohxt{u-K3L L7YPHЗCpr,(+DCgiq]l- yz5ޭё-|Fvg!|H8 Q+)OEFMRX K!,oo+JKxV|F[&{XF~FV~ 䤶dyʉϾVm2*>l ͌d;JF:!iun=PKNzFPKZgolang.org/x/exp@v0.0.0-20240506185415-9bf2ced13842/apidiff/testdata/exported_fields/ef.godPOK0=|wP&xXœd75XDTLR̼?&3ӛ5%9}b6I<7bS"!RhKw%zScB+K%x2<%e聣 8*.94K=Hחgb d e Z2$gHQ-!‘׋O 47@ 4n>|œ47H]駾WfI\)&Fb>l\g8xߢG25J% F^F@܂TxVG؂FRt j]s4=3k)#}G;Nv~=2Oz|mAq^|>^u#o?h eb ~Q;˝v_aߺMiM7ے'H֣{Q E͕6~68w1>g'.arUrD!:Ԉ8 .CXqx wJ9k:;1ܵط ONN(]UQ /]>. 6Э0Q.>/y*w^L/?C'+f޺yj*2̍6#.ހ-.!PAb-kdYI d);U __tL_ȟ$PKx؝)PKSgolang.org/x/exp@v0.0.0-20240506185415-9bf2ced13842/apidiff/testdata/method_sets.goUOo>=O1UH/~j^Vh"qw`x W&lNM7o ?;By/ Oi:/o ߋu4!{uqpD d [$bĒYn K(ZB=Z؂'<\?\p7}hZkg/(фf#~bT,rN%j\}hDcІ`3߱+QAp8q^91=- ׋76  Url,<@&0#㷾~ZݔP gK9ltWDZ} ,Bq!ƨ-+߸3eq+ 6\]SuPK[okPKTgolang.org/x/exp@v0.0.0-20240506185415-9bf2ced13842/apidiff/testdata/multi_levels.go=n0F_ M hRecl׃' RIGmz J].x.azG b@,pGX8hf1yq'x'p):r _#גfߩYG|`Q*s,\qmϹ)F?#?s`u#?rdg5H'#T?V52^͟.^۪>/Ů^ڪVPK|'gPKMgolang.org/x/exp@v0.0.0-20240506185415-9bf2ced13842/apidiff/testdata/order.golAo0 o@ vvYhɒ uJ=#L_2nwV%(9Eglqt?IG~5;mbt}<ﻚ82P dRl]S*f_-h_Y1VnvF1W@Xe ֍9BhჁrƳ_8./PK+\PKVgolang.org/x/exp@v0.0.0-20240506185415-9bf2ced13842/apidiff/testdata/other_packages.goSMOL>_1ʉU *ꩇc3Nu%xgPM!(!XHJ@܁AbBs:T15:q c︈ĨEP$;b&*Z`=\~ Lb}:iGb%_P$h$ !ptm'Z>lpX8-NV$de`z0u6 aWžrn>RbBCw{NahY \߱s 5Z˜ZL2bI#?6.wM2^߲ۋ)a)Rs)8 f^VU'eME3V}|a"2Y$w\-ܜ0AW{-^Æ >Q\ps~ n%2E PK**PKQgolang.org/x/exp@v0.0.0-20240506185415-9bf2ced13842/apidiff/testdata/splitting.golTr0=x&H`f顇2e{m# kCINv{oU:Be9֤d\t)f9rHm&;T &ié#\ŠM9Q9(kT, *`4&&4NQLcJq?*j\G9*)jk%Ծ!XFS9Uw/Xr&j`>-<|(`*[JN.=RZea!Hps4XX _ q6VXbXb60.e9ó XMY+zWފPb6Cن2h).cRZrq<uaRkb Z.J1}w&zn}A C0F'6}HC#}GB(C%{؇-LtTrly>ǣrЙ$OH~ғ!QS`& !N=|TLl|FU>X8pa|w͡l Şb:PKޢqGPKOgolang.org/x/exp@v0.0.0-20240506185415-9bf2ced13842/apidiff/testdata/structs.goU=o0_q[>HpĀJ,-:h 2Pf#H M޽{>$ Ȇ~@(t>HD&ŎDPIِT/oɧ-x A-O S812v 3!Alֶ4U:De\;Nyf xZ<ϸZKFGLZEe3;m8U~in5(\;"a܊1$$$.WcZe3N `׫l`P@Kd@*ih  +mq1mF7a'aGM.s` VqG}bw;5B(V`{Vy:W<6Ry$ %ʻQΌH MuuqsgCyg{O k+eNrԨ͕W/4T#z齿A?T&/:3NipG 9;4 f״ d`@PK- -PKMgolang.org/x/exp@v0.0.0-20240506185415-9bf2ced13842/apidiff/testdata/types.goW[:~&bԗ(Eն}hy9BZVG&bUGc;7V {2o͑Op (el4ʪp +Za I1BiXH1 &cƏ76q{ayϬ:!%,`Raf c0a6yIY`Qe/l"S<Ȱ5W~.ޣ gul2]R|~iP(?O)tNۥ$| ŸlXƜy8[:wYU;wxdA$KMNfm YMJdc8>"~OOŋQxVbχ&MlZ }7rvN:kQꋮg'w4"$Bw{ħ'iw IOef(&2ot5~}Y םEiхrZ5‚#7Г,Q&fe WKhez=~Q3*tkFXet븋n^# P^;1 Qp[7EPOgL\0tf/90g'X +.PWUb8r*'1r~CV`L֣t.i"BެޡN=n&auꞴV|5X3LsŨ|aC5i=&jş! &ϬݘfJOp]r=aeG£d0Wo%;y GDg 4/ݳ Ep;xn#b^ @{._;^Zu TM,مq3Rk*a%&:bYzOM b4]zʽ]oEݢ 6bZVYeV#`V<*0n]b056Uq0o/|p],P'тfP4:j)˥6IjovАUUG|Bi{4ڤ8g;C81ˢtҹ]"nN&X$n؞FnYGN\KtaXm^j+rsi}528#>xO=|4 NtV7PK_[bPKMgolang.org/x/exp@v0.0.0-20240506185415-9bf2ced13842/apidiff/testdata/whole.go?k0ܧ %x :trpiCM)E% J /rIO=2&̆Ӡ 㬳ma{׶om#ArW8Pt` k%.k=:Jt.K$Q~?7- .'>9\򛗈]MjOCoPK9PKGgolang.org/x/exp@v0.0.0-20240506185415-9bf2ced13842/cmd/apidiff/main.goYmo8lf=Un1M8hbX#D $di6]63b'ȁ5A#3i) [&ݫbƠ\;.U Z ި'"@ӿn|;<ٯ/pQUw<ً!Lb5ZYoI XT5{l^C[*T(V*#?e=LY$f3oqg[w;tgWs[wt0yr^ǿ/vud̬ u+ Ls6Y::29*B|^ I]ШoDQ)v!aq*A҆-VQ)*F]YNk=k7*߿7ݭVK\dRGjUpm\"mP`Ö4$6f#=7u1I,㣺X$oIdg[Q, pۢln,j#5] "X-6|?kC֒Wx. gHGҥإZa{'ٹb|W e9:aP(Ykq4`32,Ѕ(/w{!RM'{˧pyWFaI=a|dij&rUXtkN(x@i?NaR ?7ϭmSltj}knK݅|Ua@&C#xeTE1iNoG+(<.F 䮻w:WH'/b.:X!,0{w\ <XWh({hӤc)d41oOPpPJKZ?bSBN hctLc[^Tm;|z= X-=ۤwPN, _`ИyNnpO?y;O1ǕozeY/|_%*勩CRU/󏮮 Q|oBcOsj?޿2=˝7(qBh_b^A\TGr"M7\96DX08!'.zgc I%تnQ 06gM~?<{O}rD_7_aCȱ57Ym_|q ax֟6"pROqϵ;XD5 6*K' gYyVp滍N&QQQ5*Az0bO*Z#\o%'&j]=SzMp +Bez][ViAt|os69m;_I]!% Ҁ•Tc÷n7(qه6N3Tppڵ4=Pw\#p wͻBS,SVcI#R$eYuQ;( ;1n쎼#;ovTB9GqLu?5]x5"^] ؾ~Կe 8t -w.]IQx!dpvx}S hܬֶf;_=x:h')>cO5t#OPK49 PKLgolang.org/x/exp@v0.0.0-20240506185415-9bf2ced13842/cmd/apidiff/main_test.goUMo:]_q'裰OQ5S+`#siҌ#M mG3`sϵ)iAA"D6||)YGVT'E=S]$BkD蛴((}S%bmDNغLh)3ɹOBBxRx`Uw Q4o 4C߉ǵo`0J0x|)yOтEP.EΠB# ak¦+ @i Q̏r)>׺}S4}nװV}hlM2g95Y;NrF3+䄞̲ r/B35C CTk&9'Q;%nlT~SSȇlVǕJ՜rt'>Uƭ Ye;0ϓv &%ɗ: oګ{daxg6<ٺd) &ϑ[j8JG05<@T+Mݝ?ϟ|Guƅq}QJs.~bV$™` e|tЖtQRLKX޶@W330rng.Xt4amc4 ^1iȏPK0 PKKgolang.org/x/exp@v0.0.0-20240506185415-9bf2ced13842/cmd/gorelease/errors.goTo۶l*T6zV`(9ݗh$sIG%6Iَ` H2y޽{wuN[_7[/'^1VduLV1N!4%(FojqěOA5dңN2[oo6@"F|=AKeL:"[ugdڇvԄWN,[u}m4PY#abu@{75_9){Ȳn2ͣk]YGJSA!PƓdC_[^% !D6ְOiohDo $V2ȱ#>\ίǟ> Qs <[ϒ-$ȹ A@W2Ĉⱘñ29^ DďL*^YSMEkvc>bBZaK}\h.v ̷ O)~u/U->Uo*| _b3ʇsLAbfPFcgtcK\DQ`]7vZ)FI0_`m -rP+DdY ցv}F2+<\%#!{sX|?1ޛ۞j Ԭgo4"I/Bs_E7WϺ = S/xyHoGM*LM $ZtQzTg95q:FƼZz| ;ҴH nfoLL4.gcy4 i=R'W)⧝v3-ͽgLF6ъ䂳GSvq/ Ήyȴ|Cpf "MW1?=tA'q'PKǮPKNgolang.org/x/exp@v0.0.0-20240506185415-9bf2ced13842/cmd/gorelease/gorelease.go}kw6gW'Ȕ9Si5mrL!ՁHHBM*@VR{Vc$6l&O,ޮxaēM2eIY |UN٭*l&0 ѬllDn %KUVߞ?;rͮTЪԹJ6"+0J|bK XU*Z++U71%[rDeM 5*S5RUNX%BZ]N&&L+1;K>pkSŻ#~p?3WZyHK<5ZZ%.uBQ cu!fgQfÓ­U:+8N)j;͜fFii2(G#0jd! _:1$;ΎjYN@|lVf\ &Rz*0$yi14B\*Q۬T g/U [d70@R.DB)^P,.ܜBȥԵk2fz@ 3?G@ůew#wDh `&1ffef;< hL鏐6k d4eI\R6@L5bS `kDrJ%'90V*F8xd-|`:DKy\#@ޠ0ƨA9JR+aE^`g,Y(휥,`Өj@w^(ەTKVRl/]`]uO6L'N"rS/PBgq{CWvcOHG Uuen[+exH҉2HУL+8L;Qnt 2KB5F]h8nU:7_W/f~- 7+ï3Az6 ~4Œfj=k l}ۧ2>ns~x,̖fHu /=r[|)W(] AQ6x+}, /z]cFXɭf NJ!XQ깕U3\vE&U"/t\*A{p %JVhs_ul-KgPV/f6^$u߃APg[N $V$a59ȰruI mUI'p<8#̺AV7v ##g* _m@sF J]7n*6:ߔҖ;իsNjWO<+c'4Ed.S).ec-]@$ShgidWX[6z]*ˍE.(JNVJM_弄cY=9= XXx1 KB]*\2./h+"6Ys:@/Fh7(`3IhHtaDdazN GҘ%KK#ٿ=bf1;ISd8vTse]sA(7S?&Dx٪$S+H-ݡ;]*{%5tS W{:K\lؾ}MmM1aT0[e7$-&{"kSAD0E>ʮt2xR&pwYF:$mh,BDG"Ǣ4wU4H@W6Uk( J9#ˆŦQOć4\5߁*3>Z(0S1 @3a\B5x2>LԺ;r v,d?f,7j|+5O@鮷Ӭ˞[mM^:99ճGp6y 㳛 }7WSySM30 'vޝ^\(em6r(<HuScBY{nƏ௏BNQ.Cq _L;q7J?:a=l N,m('CV7\ PT,@ɏL7h8Ej#>S9~Ltkp &Bڥӟ1xSҲbHk.7Vԃ2l0 .i6,~PeUlє^LuQjh#H*OUjӬ7Xvd8Jܫu3JÏ:=QhN#]]G1MMňGת[.{-ScX.# Y:5=q[ Rd""{@D6)m1b8ldqIu{Iͣޯ^ ěZܳ\jRŨK<`9wc :cfshȿ7k٬G40i˺PWHߌ&ᓿ1=$ řENe_.K<<9}?Y/DaptF3Xaxd380=2zV{C<%ﳳV$jW Zki,aԃA&1W6>{NloCuQRǔ Z36?\ְ _0,_պԹnIzbv8t]t؝4* )/qm՞If{̽Lhkid-Qh2 coM$0A?5ڈn>@@ |][Y]W*#Zɫ +_&z$EҥotsJ.Q=1"5j(Bve̟mao >8e!q&^F)_VۜZFx,PA&)>UfWZ26gR9(πamȊh߭d6ϱJʟv4eh|}Zч!=EH#˙mn;&'렊0u%bQ].w*RV1? La;ޑMإc7hq㴑 WBu6|yǗS,1$GFOv-6%(.Amvki^ P&o*dubpCN:3ic Sv ΔD L\0 =[YZA p_ e*"\qʵ7u6|1`kZY;mGB4p\%6qKyTUl'BJ}4$':E`̒ F.їk g&FKf3 X%hL (wJGkJݐ}nT ;Kve ȆA6yͤIc Ć^Q`ul8X_,E= 1"CH"VS2EY#*8*Y섺ҮīydReb6cI6^~lȊkӐCn\[=ɔ|Ϟ˱/!XXk/~OxvFw x%,6{Ÿ8nz@#oo[`7+۹قV>XZCuѕRtbO&}¤ w KEL5VVm\Q56+@1;qi~{iwFNo72$&9Mb^E*/1BOSp-47zx,9/[yT 򐼖$fY6/:&m%f\p~6> PKO^"|h䣆o%07j^s > ,r:A;~2+'j;_"5l ?I}ꇉO8?eʝbSk]W9IBgʮYw@~~GG|'OSyA^RBv~Jxx(ZE[{a=NN''oKwӭ;I^q}I(u?XLy0R.e H gHO&;MG^yl4щUdJKj ysmQ( FQH@^cHS~f+}! :B1Rl&LD?4Hq_ UױC>cx(^nr>&SW,<ɞ;UHZDa-I3"@ vfߓ+V! lܦbE|CnBj*! RL. (w0لP:?1*,RVaYHBGRSVBֹrM`  xհ )q.;Tgi{N[E'!EsT| ZBLzO,$jFړf2"Þ΁9NҲӜ'nVOꫯ&̸sJSt1$`)2ƹnQ(36S]PX1p"Zcنyכ 1J?@i!h$ĿxgO<˜yyo<7ٿyTb:$MCh̆*a\z%(VC2|jB锄EL1;Kr7:T-<'DCKjz{7&ijN#$MHT؟39]~ryڳsO|ye}AVYkÕ'Ϸ2v%2܍(I=e)|)W۰>Cg1τ0Ukǔ[o8X_JJ}>lk`|y,7U(rW_;\DcP}e3:n r+`j(K>t堑ײcmF xZ@=Ơb2&B֬rT@_m^xK'd}DDaV(k(Zj v0\TS=&(wIDH-&e~0O)h_ mN9:WfaCXI:~Q#F٣bL>xIiS/H~mՏF]˼^zgN%N3.(pE3IODkԓv~@{^^?a/?ׄj2z}Vj_cԠAۜ|,r1hu>`Fp*޽УT7 =Z1$ kUcƊZiP0Ʊ~eJojU71 >=Rx>VRף$YfV|-~@}[+B >Lo$`JT˚ ixzE$u>2vvvBymѾSS`OYFᨛV>S^꭪# }:5>!Ak 7eG1q;.Gh'fAӀ:OӂyU)Yx֤퍖f48yE4 *VP4zK1L:`)ﱪ\W!/V".r8fLb-e8eZ=f+iJcy wrx˭7 -JBseoш8LZV=Xxj2? =c7.,=֤],$xfs#B,x {/:{ Hfvm3fVɋ^F[H ub aݴ /Hǜ7}ā=kKk ,WخAL-*yB=fUٺRh*U_)ϏhC;a:> Z[U홂zJki~N(;[!ڲrLiXG5X˿ƛ| ^u :8( k>w!xe#@T]oV45GV)we?bDzQ6Kzj2dՆ>,9`љʫL=R;u}W`oxڪC5i0g_Czu\vNk?eKx4 ھP딂4>lW5 v{m7UBq<(`FЩ 9n"c1VGG]w}dpx;a}+ `Ý yZm`N%wsIH8<^u@7m9\/BZ""T)]4_"zVB' TR;ry+<} !O׹Vr=ҝᏓ(&7LQB`.nD=Wx{^̚ AgAY_%/T1|>飓g),><;tyJ |ag<NYۦ1jt)SV^Ȯ[Q"*@WN?6&UualZkmZ]> C]Q'pE=_蒇ײ1vWHf8UtG-.14qw $&5Z7%I7jGݐС^]/0yQB*O1_c>6.|UI,?== -8gڵ[~۳7x?|*qră:c1eїoz=-SiSP`-'F |zdV2ym0qN1~!r.% E6p0hsl쎰5ՏOay };ȄqL{ ^aUnea0Uay|=eiozũJOz [(=M]loxh||]t޳x"(S='Hsě֮gݘȥf3v>L֪`Jk{&љ.0fP @=^[M &"C[k:AѾ ěM?CW K⬦Mhмib\@r?*1ʟ[spC',s$~'&= H{Q[U :4]7iL!dvMЍO΄}jx)CuƝ-Q*sQ ݗD 6zVVP Z=1*l J7̜Ъ]﯐ea c8 ֤{7u.QF'.#4U>Q"'U!'zeQ6t&o>El+NDXD2a8F!s?[:Ueɗ6=fpA" wd[b`nǮ̻"&wkꡰv옗X2hSH\I؆X *R;8C%\ 0C "je[.JPJ7GԹM]Lwa7Og%lťjKJ+S$ÌKͷ'DhJ TtOUGwddEUaկZng#©Օ8qXtG%L(l+_YS'jiYQ1DtPbz=$'|_S~D[CҜ!A`DHVҐÔRGW5;sʖv MKd#7xmR;*Kyu}Cod=J5SO/ u IQN,Bw9ӧ(\:1Y^x!$Qyܽ1Q[o(򗡷*B*T(Ùt,1ᰠ n;5{Sod҃ެS+:_>yʅp g#`GF;e@%XVΔDZE"&}*Kpt+eϧ7(NtCEٓ M^َ]&&t CdȌ>O8hjaVDx{K/ $ZcL/J2< %s~oBn}׮YFhٖQ'C%^3㯾ZUf^ ܦM}¸4ϯku8h\lp cԷHN@)#˧A'di^!_g×^XxӘ T`1;7e>Ǔp=k?0yi͜O= y3 (?{a]Yv/VY[ǖB0f*4Y~5{ub|bczO0-͒þ8lŕ ju_M(K/<^fYAuMWe9YDK- iOQ['16#Mᆐg=ބcS"=RƁΎչVݢ9F%rJ^q%tU5.;$@}7M%~< "Si|:8Np7j,ѡΛHƩr@_QgH]q/|IC OpVDo߈7p۠Jw SQE>|g_,eISzR*3*hbII'0 ?SIs-3XEdoa3@cھ #[h+Vj?8eP4WqP\/ _I0,o( āZb`2yy;9T!J sq*.ѰX%1 1B3MdHͼ#ݦrXEuL-YrSvIh: ];,, Aa*q`ÛoAJc ^`o8L!n]R!4+®*aMRPM!<=qI vmi$ AIc6'/eIS|YBkT?U-_$ T[9Ut91 B:~6G='^L~ģN!U/4:AxȧUha~Sq|Xp4Kya(cʬ" \=':qʼn^ZjnHYrYo"%&btM(cE'-<&t2DѾrs) I/9iH9վnS6o$,`=a,LX H 'a 5g,X_ׇO˽K^=/Iu=sݘJuE*y~[O )S82K'tmM-D/|6U5K _Ǩ_|7Fϛ?;hUH\Za -:g׸:^掛5*&ƘL^F|DZڪIziŻ$#ٞb ʐñ逴:8TީhZa3PWuOd)Zg fS}j^;Tg7A~UZcgRVnSĩț+*"/z3å\GM:H4tMM;oɅa;%%wԴr#`j,nnd;1&wCR>|NxA"mc,ndd,$Z:Μrj\cf) ب>8;)r3?Tsy_ָ8fJϦo!Ye2,c$Åa)>֓"75䶄nD' :R(g|'[Q-p)ԆG8]E\5J+d=hq`v6#؀@<`8C6e{MĻB u_@SqLB~-wh-N ;2Z zmY9g*w^\3,\~~@ Q[[$:n3A2tޥ'_Tl&WzbzPb8 =e=u{bW=Y퇰.?z>8FPIxӏ nt~{= \tG'}A[\[ݲsqeH3I\K,eErV,tCv:PWDsՓZyv!G(WK[t"ƥl[ekeaub kpY:uYXa)O*IBMC[bŜ/zs(ˍTMqhBQ2\KC&{&D X@YT(D#Ir)< QcvQ7o%!B=h{ xRJd;6,Kz+L?HHq(&R 4 xw ^[a:ʇ`__1^r\ |w7kD%8 cg:u梬8Nv} fC.ݩ~Ywv|]CEDd1xŦ@KH`l'_N'ڗpzi*b2( (o;OJJl~L|هʥ .a Tf_qtKREfyܧNwG|kdRkcsUJ]s~ICM}83 o1n7U1PK9PKSgolang.org/x/exp@v0.0.0-20240506185415-9bf2ced13842/cmd/gorelease/gorelease_test.goZqoܶ{)&:d=mhiMn J\-aܐƋ< I]@D g3 fE՗.^(x۵Ҧ'm ـ- ~7 Z0JFm8'o+"HZ~6ulri<\$A'krf8ELaXږkn1|ˤ%_74¬ XllOlƭޡ؛wG Ny-ќ{]OirT.lΔ)˭Jo?~۳yP27|tV4OL)׿ NE[ߧr nm][pV-,%e!ѡpMsU r\lv/~{ʼnIGs\O{WLw,E4J;E6[ >D"<`=›j4  FGC)/l͵.ټPw΍mdRz똬QhoqکzMAw*_x^2;2^ϡ#^JF=! pL*S'm *߉PFpbg.P@c<&|b)A Y{ւwHc!|jfوUBDΪ%p6"`Z-p$$Z"-+)0[ҜJh/NN L`#^Q+7/lД$3%9lVH{,J4"5T&9 HҏLԉz-Rɱ8ŬLO{t8p[#曖U]ųʢp-| `%F\"@UJi r 2jdMa"|L$3P JwEb;`6LvQTM2íSHEYy?jÊx]bR;b4-{lҪUGLfg,G@eD^jͫ+:Dve>.P驚Dlx%V;e|odWdqJ|;Y`^ߧٹUaEY&rя8d?|oX,>=1w #Z 856Yݪ+DH6$1dlkX}oZ"Jb0Q\ cr̸rs?]avtF'W=/Ȇ*ƁE_UܘqoޕKzd34Ԃ5R+*S%\+ַd%4Wbv%6\CM4nt!G *:a&'d)(^̶`n۵Dͻp_R*m7CoF$2gwד te1Ն KV:Ucw~?O0Q t2IJ_ U]UV"|-c#] rf#KieҜ՗Ha=`2<4b%9]l/+QQD%'P^ y(Z>L E*_4YQ25 !YsEBc,!uW^lZa3Koe w8S+DgY8 ߂yAw%:"ZtV9"cra1$d_lFY NNqpb')kg;XxaŹ7YЄw {P{!'q Hp,%U'wfuYxZQ1#ʤNrݖ!sS~YV;[)udPC-3_[ћ/wn0u=+RE ^A@XO۾~-ZLmabgT%9|8W|# e(. M/ z8=c_K%yȈx0oTG粷hzFfVDf[ tƔ-\bًtUYq*E܇9~ Lx_QJFGp&^G |_d 4/}-lKڧay8._j O?j]̬!1;4? m#͆rQf cSD]ot  `KF PЀj}1]}t|tܽ> '!ge?cڈ.<[]~Ů5[n;D?LWGd9T.ʵUtoSn1*`t/YukX>e$HnFAͭr RrPQC .F\lX}6:߻rY<a=->ҙ"(ЧVdy<"dva'µ3_"(-USM/8(q$8/Mxa[xCK A<`u'=F/Msfa` ]88koaO^<FgrQ6מucfׄm->?l-UeTUgH'aCgOnoD[hbi1J>81~ƦG z`Oؚ" 6o0Ԃ7r~\DpxkO+ b3)`pǛF6M4.`'OpMwRN(+juXo>ҽ2iji8gTuR;ifuM7D2琭B WT|\KoݰEUof Cا/Bi苼y%@O)*%)WBPJq>6k??wL1a?oͫ+e VS4;z@ݑ۶ :JʲOB 8o?߫vUW?v\CpXchO/|%Qp;5 /W³&sR 1g=PM'vϽw;a{ws\`6W8}nWGmU@ʯ:8hv>~7:ԑ&FFR 4u1OPK>wQ6PKIgolang.org/x/exp@v0.0.0-20240506185415-9bf2ced13842/cmd/gorelease/path.go̕M6⯘Xh@mAeZIR$]lKGR' i wljo?C𫆯|6EBb AjA@9B AP5Zom%,)rTj VnUBoP _xpEN}YBUjN?X,_`'ljt5pIN ;, VBlC$JlP95 :pJț"t*CLolU>.kF^Xi-o$%e᫋K^dѵVnEӫe01C`ӳ~Wa'zZNC%wlXrIv{~06max5xge֯A?vgtmy3J7LXD:Y>hoȹn6/-MG%KxOϟ!%h%pbucBl+i'bU<89TUN aHUELIG1IʮQd;˗bh 9/FQo= Z߉ ! )|UZֱ6 N*:PZ2ǙQa' X_k>Jϟ!ôC4ZkFA`&R3ZtҎش.3bcQV# NiZ6qj3GqX >7#˜6m>e-B=ws7nXn.SxF[0gA1'+XyM_ęRiY |596w?>pD̔[{Ty a4nIXZɦxHǝҬ ;v@mNm,iheX(>`U.nhwa@d@ktyݮGT-֏#v]˂zAh[ T2Y^$f)*@0Ar_iEPW^"-LH,*aSJA1.;S-3:W݉fr{K>g&~dLuǢ R!8< S!zK5 ߋ*}?\[ʾ^Mkj9~Ȟܢy;lv6rp4AGOysu*AM=+[KTu[?2[>(W ;4#$98^VuZ媧 a e2L.OPKi@PKOgolang.org/x/exp@v0.0.0-20240506185415-9bf2ced13842/cmd/gorelease/proxy_test.goXo8,J*wz-w9l=4ѥ-E $? ;M>\;29֭RLe: _4\ܜq &X$@5V [ 0x#&I0ٔ"iH;X5ofasBqz1A! À?`N3|2h,gfVNp RU(.GQyS~^!F/<<>@ Α.D#9) fpؗ`qbE$D: 1=%)D6FxrcѧW'(+.5q L:co%HGˑP$gS>O!LZ&8fяSZ٩Cg(i@Y)-.SgQӰbLSׂc"2UI'bڏkjm7z\IShvw8/ᇝY@5k`:s\ǶC`\FeN;oQI: om$L|^\o_7HI%y >Ӯn{T`4|;:#[Y=U)n.-xWZSrhLn 3}`eUHGL6e.K85q[f.K523d0毿vW+Utf{A;[ c pLUc&]?j'5C dg̲<{@ɳΨ~8VzzZ_6(d+]K>3?~7S ++z(LEeUh4hǨ"9$ 9Áގr}_CFwV.xM7'M(F7^fLGjdVس[ZX$:;`A7a*ئ~7,w [y'1 rѸᾛMY .?;vnۤh9ShPs<;M 4HM%kM}D2~ Fmi#LXzC( sY& DcQ'I*]1!6c-4_#u>?{^RpcLF 7.@U PZ v+34rt/whC DۉAG; ;į)E%܆8m_r|چ~ˁ6 NZwa Ze֞C2΍e6N VƩwnd }Uf9pX%I*pA2{TީoǾWbAT\D٭si=[?.*HT ;zY?qf< Ut=.9:n5q 6Cd9xi5'b 4Ƭ9K?*vcJm47\oyUg3?A`€Q]r(UAX-גW0Wߝo8~ՈK.IsFV $%|OWC-^kV޲r<&QVl6ej!&GB5L. [ZTổW\J5fP3ϓ1ʤ9qUqSj1&Q·\œNk#4HJV~qcv<` *[Z&$R^1+6WKe2O*ls.JZ3+HD Wlɤ:1t[=ʑeGvy1 Gf:!O-C] ޹QDdQ#N _1iEf{<cBNBf۳8;}sO6$?)%`qH k7 98H~% ҕhA[5rZT]O`tdp#'ǏA>KpW\j)ga|He,ɪ&k[XQ^sYMg9mZSrbLQg({c_f3Y6{(FG#=\%5#ےqSZHQ0XS-&QD;OyOMx*:BN yi[$gqZW E.[E?ȹc E_pF4Osv '*P@!pG>>wڛK^F` muXV"›@?^Jqw Wp\=,GGVGy}Wg*z4;p$'bdV:.](;* | .Ŏ?7B{p[o` Bsf. ׶qANU xm*jE矑AY9@ۘ,%lSfS?/;/"ꅉ V%O!V(oLH:GekͽJ:}tHo8IebJGcx*pc<";p *a4.5 44k櫯zIb԰h鰏t,Q'鈗<~LulACd];yq-3ZهjeZst4UL)$;~2&]XE0-*RwZbI+7n.8I .ͩ+\m$niE+.Kq*sqS)Z^EW*i{G&swp)Į["E!khcM;D/Vx*s0&7Ii4y uAns4(z|_􂴨0_^Lt4%K,n/>ɶg,^DKZXȊ0uvn44&U+Y6u9ob[YX/WKb̈́M]-^.cm7h:G}m)0s8 r{ vf yD0txK{Akf SG"""vtϕ8JTsF 8CծUx%R0ԓ܋'˿WrxW9o;}y84|t/3 lg|20WIi=zfź=>k 0F췴ӧ<ZnNGr>fVnnM\GNt("xҍEIQ,j6q[%MRt Q{(}[}S>|l/#OqN Cu%Fo;r`DŶ5$eZo4#=+0ry^Ȧݝ~y؎9 #I%KJ#bs(%ۤs:]R4wtCBoUۨ -Ðd3zs1n>Rt`\$QnȦ4_EmZґgg5+qHm<}da Ot;Wd$ * xRM)$rՌJJ! q=|0*/ `b$)Ҩ q4V!Ti ^"[&=xnh|v]. ]"0e6Hj81R Gӎ9x&GȮt6Mb58a!J3k.֬煂h%gu++ B߁|Eh^fc?&˕G t!VHR.}xU首ބ{qztL\b0t,55># ݁?g^-phF}ϋ΄j`e5'I;#u \t<:@Gsy وM7b's!; e&QC^?e:1٘mpj[b 7d=Z֙|.I188Ѵ^ ~hf λ-Ms>8\3kTtbAXYZ'cIfc6KN0˔xi T IpuvnDk{3?3+`hGs"Q:nA^P,k}Il]6&˓=7RN(XJjV?37!}$PTbY `PW;\e"ucyC3I4va>YlAF)nDMvf IJqi5b8W:UHnSuWeHy5 '\>JayW01wVRfdu7<$HB(v !y|wFq-~߿!V[B1lun_iZ3Sr .UFc&qf|Bժ ̢)o:}~S]U>.Zvxg,+}eVOv)[Aՙ%(~MY-rAiIeJ@<{WvM*t6Lrm}bWHȓlK7_qey%xH _|1ʆyuBuO[M[ 2KHؖ "R7zjc4_K0oPKbWmPKygolang.org/x/exp@v0.0.0-20240506185415-9bf2ced13842/cmd/gorelease/testdata/alreadyexists/alreadyexists_suggest_major.testlαn0/e(HM SbEl#M{B{p3)lVoh`]OZ'jpX1"KHWGoFxcg@T'_ J$huN(WSm1s,h[j05 |4)\aaZ'qV,Q!p;ǘ,YJS]B:$['yߖ7ܹ6gv&:hp\c#& PKGPKygolang.org/x/exp@v0.0.0-20240506185415-9bf2ced13842/cmd/gorelease/testdata/alreadyexists/alreadyexists_suggest_minor.testtA1E>ŗzi00K$!')v!W5=(w:H?ӫ*T}=Τ|N!BE 8b& *h2#tDxFM:n5K8M7;l$GVjx^ob)j%Tw fj %7 Rd\aXprnNR_jYչ0)?V5yvvD@5tA6fE޿J5J ns. ~%dů~Qbs|yEnlSo}9oPKJ>7&PKygolang.org/x/exp@v0.0.0-20240506185415-9bf2ced13842/cmd/gorelease/testdata/alreadyexists/alreadyexists_suggest_patch.testtn<||>4yؒwE(\<9U3PCOc`SlvP1;| f2đ$, XR0Su*lJAq%#޹YV?GnPȹ#94ads{Y/E,>fIܥ =f~QR[k\HR3GDWj<e1_߃hY k{ŧ^Ү:L*!)t._)Ġ.m,hSqTN 5?ag+nWPK2<4PKrgolang.org/x/exp@v0.0.0-20240506185415-9bf2ced13842/cmd/gorelease/testdata/alreadyexists/alreadyexists_verify.testlMn0 :Ɗ=,f 0m DCw/]>'Q2 x&MIt'8s贇;eegr5!v̰T5+)Ju![R?PA2*=Gl-URnpjwR3.B9E(.4I, &_>7?޳En+{f|/-Ow+- rn5߯H[ňwPKB{hPK[golang.org/x/exp@v0.0.0-20240506185415-9bf2ced13842/cmd/gorelease/testdata/basic/README.txtt1n0E{.mv[l;&$&ǐdA#xooK&&5uuKNs=,%xErꀱ*3wDO,b%BUe|-HsFT "dpjDS] a23-}̫2"D5"U]D̄Qא:taHHjk^whq)t?Gai ^e:?|OG#y%_US'h14 TG<ӆ~52PK09PKkgolang.org/x/exp@v0.0.0-20240506185415-9bf2ced13842/cmd/gorelease/testdata/basic/v0_compatible_suggest.testt 0 {"UwmdN~ ;~J{>IH; ڥ]*[ )֐Ǵn_ό' V%AQOi\4DV8OLATg71NpOjpozPK_PKogolang.org/x/exp@v0.0.0-20240506185415-9bf2ced13842/cmd/gorelease/testdata/basic/v0_compatible_suggest_git.testtϱ 09Q; B HC ^T`1Wy`mS I$!V7`H}7i,TxXU6L%i,p9uHαa<1Ҵu=ýPKHbPKngolang.org/x/exp@v0.0.0-20240506185415-9bf2ced13842/cmd/gorelease/testdata/basic/v0_compatible_suggest_hg.testt0 {"UGAm2cQo?Ƅn>F>IH{+Oڧ]+[ )֐_^.1qFcӸ$( I2ͽ}Gcd_)"B%F֙e iPK̥PKjgolang.org/x/exp@v0.0.0-20240506185415-9bf2ced13842/cmd/gorelease/testdata/basic/v0_compatible_verify.testtj0 w= }@e[MLۗCn:8_nb mC-l\4oyTTjޏ+.OoR (5T À6B͛hWJ "9PWiP8RjbW\^j PKD#PKmgolang.org/x/exp@v0.0.0-20240506185415-9bf2ced13842/cmd/gorelease/testdata/basic/v0_incompatible_suggest.testt;0 ^(3,l/;k6~`%S$@f: ix6֐x ^`H{%;2AqE[4 hSȴz0? Ty|?9~岅@借9gX;=PK YPKlgolang.org/x/exp@v0.0.0-20240506185415-9bf2ced13842/cmd/gorelease/testdata/basic/v0_incompatible_verify.testtJ1 {"0v9 N 6mijy{30zKB~-ˍWҚǢ@&7o_ 3Vmˡ/ O 4XR ^gle/?ο}R`ŐpPrGu|/ C PK*x+PKggolang.org/x/exp@v0.0.0-20240506185415-9bf2ced13842/cmd/gorelease/testdata/basic/v0_nobase_suggest.test, 1 L;WNR04mq^YIh',Ҟv88$cr}*17PK.[^PKfgolang.org/x/exp@v0.0.0-20240506185415-9bf2ced13842/cmd/gorelease/testdata/basic/v0_patch_suggest.testOMH-IKOJ,L*K-*ϳ-333JJ,N +* ŘZtuJtuKss*KSKRSX)@mPKjfPKegolang.org/x/exp@v0.0.0-20240506185415-9bf2ced13842/cmd/gorelease/testdata/basic/v0_patch_verify.testdA D>!j C)Mnf7e_$=X#Ik_|62zʉ6QyG~Irߔ:h/U !a$;+&|)s'PKa|PKdgolang.org/x/exp@v0.0.0-20240506185415-9bf2ced13842/cmd/gorelease/testdata/basic/v0_pre_suggest.testtϱ0 Oa9p0"!=Iݝ`Qq@;vI$o$y%i,iprѐm݁%nM. m^)5g4* AUa.I9؉)zVz,,i>Rfr|溈Pu{D\MJ^g@ +P9o'p?)7t74 JEOjc<(l`e-7xIvۇ*o^vJRnv·Rbxx PK+F՜PKigolang.org/x/exp@v0.0.0-20240506185415-9bf2ced13842/cmd/gorelease/testdata/basic/v1_autobase_suggest.testOMH-IKOJ,L*K-*ϳ-333U(O+QRV(.M,KK-*JMQHJ,NUR(3k .MOO-.IMA1PKcrPKhgolang.org/x/exp@v0.0.0-20240506185415-9bf2ced13842/cmd/gorelease/testdata/basic/v1_autobase_verify.test4ͱ0 _qseDn KuƓY]F=7sġ35Z6Ke9R›ˎx^Vq7tXBƛ.1.*o~PKCxPKkgolang.org/x/exp@v0.0.0-20240506185415-9bf2ced13842/cmd/gorelease/testdata/basic/v1_compatible_suggest.testt 0 {"UwmdN~ ;~J{>IH; ڥ]j[ )֐Ǵn_ό' V%AQOi\4DV8OLATg71NpOjpozPKJPKjgolang.org/x/exp@v0.0.0-20240506185415-9bf2ced13842/cmd/gorelease/testdata/basic/v1_compatible_verify.testtj0 w= }@e[MLۗCn:8_nb mC-l\4oyTTjޏ+.OoR (5T À6B͛hWJ "9PWiP8RjbW\^j PK#]M#PKygolang.org/x/exp@v0.0.0-20240506185415-9bf2ced13842/cmd/gorelease/testdata/basic/v1_fork_base_modpath_version_verify.testtA biC5ip?D`4Xoo?ˋf^)8^Ptl׽ƥzI;G(xECAiAÝ}3-F{t qQ 9v PKXPKigolang.org/x/exp@v0.0.0-20240506185415-9bf2ced13842/cmd/gorelease/testdata/basic/v1_fork_base_verify.testtj0 zrYaIz6$6el/m/G~gA$ C2 Ǚ3ϰEl5CMvCjJ⇉KUrq/i:M/4sjo?D/ zgGl+q#0ESfxBWd Ol|?wPK }PKmgolang.org/x/exp@v0.0.0-20240506185415-9bf2ced13842/cmd/gorelease/testdata/basic/v1_incompatible_suggest.testt=N0~N1Rj{-R *1??"S@n_z R^XV:1,_~Jvl{b &msEhY87uC뻴~"]]Cr;jE/ZlGJbC^Љ;PKn딢PKlgolang.org/x/exp@v0.0.0-20240506185415-9bf2ced13842/cmd/gorelease/testdata/basic/v1_incompatible_verify.testtMj@ :kOC{ҽ<~Ώ&]ؔB@>I/eM|IY,xjP %Ompi^dWa6%Hir=zG}O?LC%mR~|ƊTz/M\kJwڏ`Ke&1,lHk|\`|3o^_:r6aۻ2Gg|M=P(6Aס5Qye' G6xYcC4#[[VRmgE1$ʂJy3f,'1l9 PKOtPKpgolang.org/x/exp@v0.0.0-20240506185415-9bf2ced13842/cmd/gorelease/testdata/basic/v1_v2_base_modpath_suggest.testtKj0 N!:N@U_2~qۗY #f|HqXDD(j(sdF@zX ywI:>WmTJڠ4]XYžɆ_GR>5(ooїsf4HJ,\zM1#wWί+ Rc }PK!&mUPKogolang.org/x/exp@v0.0.0-20240506185415-9bf2ced13842/cmd/gorelease/testdata/basic/v1_v2_base_modpath_verify.testtN1 w?2V#/$nChU!0Z}?|T#kWjI[Ks7 %ћ~Ƒ\o (ߔ;* ]Iz](Ygbì3ﺸ Q8Q=a<h PKW*dPKwgolang.org/x/exp@v0.0.0-20240506185415-9bf2ced13842/cmd/gorelease/testdata/basic/v1_v2_base_modpath_version_verify.testtAj1 E:`v2,Kt/{DԲK, Y Oz;iMcS x 2^gͤX8o~;k+3b%7ӄcJ]Bb7W6x[^+CR+KQ %YX)wGiob { PK/@PKpgolang.org/x/exp@v0.0.0-20240506185415-9bf2ced13842/cmd/gorelease/testdata/basic/v1_v2_base_version_suggest.test41 ݧfKv$ CZ7Arfʲ& vRvsMS-nnU] JGcuP{•JukGƙI+ O7L!ȍKت PKfwPKogolang.org/x/exp@v0.0.0-20240506185415-9bf2ced13842/cmd/gorelease/testdata/basic/v1_v2_base_version_verify.test,A 0F}N뤶f8I$GvxiW t$OWӜrd=3F|n*_8@p*Xɸ4RŖq+k@>f|[J7=JŹ 7>PKE:\PKkgolang.org/x/exp@v0.0.0-20240506185415-9bf2ced13842/cmd/gorelease/testdata/basic/v2_compatible_suggest.testtͪ0\ŀğ s 'ɐJzTFw=WRx#[t/VOc68Rܕ!Oi߿ci h(lX$ AcdE \Iw!3'Ei]Dh:s#PKaPKjgolang.org/x/exp@v0.0.0-20240506185415-9bf2ced13842/cmd/gorelease/testdata/basic/v2_compatible_verify.testtMj0 : k;3YKt/ꌩ\7} 1t$>݃W%9Ά۹/й}70$7}ʁǺJy_J ς34ͱP&0' |,oHα+\7=npG/H)x‘R;~PK/PKmgolang.org/x/exp@v0.0.0-20240506185415-9bf2ced13842/cmd/gorelease/testdata/basic/v2_incompatible_suggest.testt=N0~N1R8ڔH)ǘ)bӽ^~÷#i.u+ 4lcu7.}#;Ua}H2<]JyQ4q,Z!= R^nuU_և< v,ޤ`?7PKPKlgolang.org/x/exp@v0.0.0-20240506185415-9bf2ced13842/cmd/gorelease/testdata/basic/v2_incompatible_verify.testtMj0 : 8@{ҽ⼙ܾEf'O:!㴈z7uKU}Nsb,- 9W [Z*5?_;C3#8g0O."/6I7(}7cW.(I{ )7ʊ(yG+|͕敏>7TT4PKCbeiPKggolang.org/x/exp@v0.0.0-20240506185415-9bf2ced13842/cmd/gorelease/testdata/basic/v2_nobase_suggest.test, P;S ?6StTbL 4ݾ,֮Sy f}A{xO0Kjp"|H7L/I>d62 S[q1im w# Guq sT9C{RSP EX)U 8>#O1>PKv>MPKdgolang.org/x/exp@v0.0.0-20240506185415-9bf2ced13842/cmd/gorelease/testdata/basic/v2_pre_suggest.testt0 Fw?%Ȉt3T+J~C o߁ y8_HE˭:/v2gyLFhPu:2%2S6J9U%sZt pN8s*΍ N,w#`GEg~@ ~^8Q@>골DGM*8PKGPKngolang.org/x/exp@v0.0.0-20240506185415-9bf2ced13842/cmd/gorelease/testdata/basic/v3_autobase_verify_first.test4A0 D>HRw_8ۺ`q]ܞa;^,/.CZ˰p:xhMycҫUr9CJ)v"%CBr{ vHzZ^+Vt%\pZ{g?RIqii /VW_BpViC|l1vu 1|Z> -kgB-;Aβ\Gb PK H'PK[golang.org/x/exp@v0.0.0-20240506185415-9bf2ced13842/cmd/gorelease/testdata/empty/README.txt$ {t+|ch ~Dg3LCQ$mS8_u@()OL_PKwT\PK[golang.org/x/exp@v0.0.0-20240506185415-9bf2ced13842/cmd/gorelease/testdata/empty/empty.testdͱ0 Oq;'tSֈHu!4oϐk9Y.~/J;,uPl!).L)dz~@ÛRܨF=l0Q>JX1xČ PK!|PK\golang.org/x/exp@v0.0.0-20240506185415-9bf2ced13842/cmd/gorelease/testdata/errors/README.txt 1 U4`tYXa}ͬ/TUh:mz+|ЁgV-1tYtK.1 {&>~aIz_u>>EJ-ǰ+5O>EmǍ{5Jƅ1.ZVez^ID;ާk1wTX/K UGR*oMF$-$餖<oPKUslPK]golang.org/x/exp@v0.0.0-20240506185415-9bf2ced13842/cmd/gorelease/testdata/errors/errors.testn@ { K!!UH]:v!p6$o_;qs/65-P3]ws`8ұQN—g,֕oIYf6ZЙmj|!GK-m}-BQ xD(M<|0n\^8h{F:鎡QU?.i .7 by'2*!XxI+`Z@1X|xAss8 4`YM{$z`+ҐD')9*9nzt; PK"LlILPK\golang.org/x/exp@v0.0.0-20240506185415-9bf2ced13842/cmd/gorelease/testdata/first/v0_0_0.testdA =xҬa00h0F+IZᰫ|pdU:ǵ%,{ܨx`{ J0#︸[֊C;_60A4NK49%֟tƍJPKki@PK\golang.org/x/exp@v0.0.0-20240506185415-9bf2ced13842/cmd/gorelease/testdata/first/v0_0_1.testdA =xҬa00h0F+IZᰫ|pdU:ǵ%{ܨx`{ J0#︸[֊C;_60A4NK49%֟tƍJPK=gPKdgolang.org/x/exp@v0.0.0-20240506185415-9bf2ced13842/cmd/gorelease/testdata/first/v0_1_0-alpha.1.testdA =4k=ѸMw݆'je׹ׂOyww?`l \Trc:wZaoE4EY0ͼa7n{PKePK\golang.org/x/exp@v0.0.0-20240506185415-9bf2ced13842/cmd/gorelease/testdata/first/v0_1_0.testdA =xҬa00h0F+IZᰫ|pdU:ǵ5,{ܨx`{ J0#︸[֊C;_60A4NK49%֟tƍJPKX:PK\golang.org/x/exp@v0.0.0-20240506185415-9bf2ced13842/cmd/gorelease/testdata/first/v0_err.testdj0FWO,r/+N1lJWlP""kČŤfv9s&z$ErJ}LF(Ѽ[{RGYc8,KXGӿV LWB9+bg,Q]$ F ݀Ϥ7XkEa"4ƫi\\hss?eLsgt/bJ\?8qn߰ڭf[`;0&Np5Ov;PK PK\golang.org/x/exp@v0.0.0-20240506185415-9bf2ced13842/cmd/gorelease/testdata/first/v1_0_0.testdA =xҬa00h0F+IZᰫ|pdU:ǵ%,{ܨx`{ J0#︸[֊C;_60A4NK49%֟tƍJPK0ΣPKogolang.org/x/exp@v0.0.0-20240506185415-9bf2ced13842/cmd/gorelease/testdata/first/v1_2_3_explicit_none_base.testdαn Oa3TIFw78\'nOhX$fx)Zg1@mz^,i'.B;dHxPNJO+'nڰ'7Ջa=3~8iyQG\i}Pd PK>肓PK\golang.org/x/exp@v0.0.0-20240506185415-9bf2ced13842/cmd/gorelease/testdata/first/v2_err.testdj#1 @!,$ z423=ǁn8HNA|Ґ8Teg;8GÄQɘ5_=GL޲6^3ĠF&MB@f %pR +f 9#X@D$¢9!;'o#rAX5= Mf 4y41w[) z+[!H# Bn æ<ۙyDG [UwWPKbpPK_golang.org/x/exp@v0.0.0-20240506185415-9bf2ced13842/cmd/gorelease/testdata/first/v2_moderr.testdAN0E>ŗ;= '8I=r[!!#=?EoTօ}rZsd|R)/܏}gvf׉c7 86 {m~l@iƅj;eDR6< ޽%F-ZB~8F%NЇŶi7)k`_$ wYp㫟+O PKT~$CPKYgolang.org/x/exp@v0.0.0-20240506185415-9bf2ced13842/cmd/gorelease/testdata/fix/README.txtL1n#1 ~NF%@ 7A\yc I;k?𓑁Kw4ڝTnF'n> 6g9ڿi+r@܂ $%;=)Vs|tL4 7Wc#l,Kyu;S ׮& i,kÁ肫:8&mK=d OE?Y5E3.L2ӔˑQ[BtkϙID>\6 '.Q _PKHLyPKkgolang.org/x/exp@v0.0.0-20240506185415-9bf2ced13842/cmd/gorelease/testdata/fix/compatible_other_verify.testln0{>n pqHH+qee \.7|xv}8 ommK4N4#Wgye*()ʬuKެV%9K3-yq_)yCbۚ<;Ҟ僓[f>KD?ot1xP?y|ª{mb|1kVHICwk^2t0kW 'Ό^g#:7+vO7 DeH PKѬ^PKogolang.org/x/exp@v0.0.0-20240506185415-9bf2ced13842/cmd/gorelease/testdata/fix/compatible_other_verify_err.testln0DIpp"WqXي.=}> T.SSL% ϲwU|ځ*(cTʾC!*lXUm#VHŅqGq]ȑ99Q CHEGT2v#O~Hr"4y<)y|!3R>Fs9{m LY =xgK؉2a +=v40'߲PLlA&ҫ}覆PK@vPKkgolang.org/x/exp@v0.0.0-20240506185415-9bf2ced13842/cmd/gorelease/testdata/fix/compatible_same_suggest.testl1k31 w -7Pdm;JGY`ٗߗң||ٍ71a s[%5ܶ5a(3XG6GDR_@-Ip}Wº&w~wIǧInp '怱hd,4rdzMG @rrGъ֦"a(88|0Fm|PKkw_PKjgolang.org/x/exp@v0.0.0-20240506185415-9bf2ced13842/cmd/gorelease/testdata/fix/compatible_same_verify.testlA0|h Sz1B.,{[D 8⍳a=xz|ߋ6|x l{_LG7Ʈڜ8/i>{GR E6B:RNnTeɢEk))Tș,'\XZӑ#v/폶bLصi5w\,ϜvD c~OP?\I٣-9vT(c'l : GJЃ/Xf{=sf 2&7[s@ CWegKPK7n%PKngolang.org/x/exp@v0.0.0-20240506185415-9bf2ced13842/cmd/gorelease/testdata/fix/incompatible_other_suggest.testt=O1 w K]`b9 bFI#.v'D%*D7絳 ('veH'xsX[%9ݪK2jSMĝ6l 4CᑤbyX,Kbg^= /.jЯ{l9$a8H"<b/c(141Ɂ䱞U+S2UKRVK8L $VW;ȅ1h;PK(/PKmgolang.org/x/exp@v0.0.0-20240506185415-9bf2ced13842/cmd/gorelease/testdata/fix/incompatible_other_verify.testt1k0YobSJCtEp'ɿ/&. %O}7KD.H7Wqu8H>*)#)(MW!ٮT~y.XU?m#l6HqJlqiř#)x%~a<'q{L|SX"nH".E$ރn+xXm.ka2d)d=~F^˘ וGRBtwPKkPKmgolang.org/x/exp@v0.0.0-20240506185415-9bf2ced13842/cmd/gorelease/testdata/fix/incompatible_same_suggest.testtj+1ym-$ۄ47niRJjd4>,q` `9||71]a$ygv g,[ė|ƙRf=#` ^H)0 Zb\`ة{t%pL}]  c-c?&iiI&8p9l$ `@9Sڧ!aWk,W^2%X PKTlPKlgolang.org/x/exp@v0.0.0-20240506185415-9bf2ced13842/cmd/gorelease/testdata/fix/incompatible_same_verify.testt10wBĔ. dڥuJWAN_8o~Ή9'yb,{SҨFPA>a]C{AU赸On  /"W$0ɖ9kd  cv /Z .(åQji'&Ok`[>b&N:懣OҌ_%$NGo?G]iXNw PKS6PKggolang.org/x/exp@v0.0.0-20240506185415-9bf2ced13842/cmd/gorelease/testdata/generics/changed_return.testlοJ@~i&Z_@H#s 5 Yos$.6хf'S` VyIg73ZtLz%؇G/!5H{$eKL ,Ta^]S fxwlbcND7i%H WPK5=4PKbgolang.org/x/exp@v0.0.0-20240506185415-9bf2ced13842/cmd/gorelease/testdata/generics/unchanged.testl=N0G~NhP!\) =?ڻq:C$yu|v_NJI-)U<e[6 obK<  T?p:?*`5PKc,UPKdgolang.org/x/exp@v0.0.0-20240506185415-9bf2ced13842/cmd/gorelease/testdata/internalcompat/README.txtT͎6 )[魷 V1YRDzFw/(g4mƢ?i $@J%05{}w0$=>G cNK3t!$]A/  !^rx sI+YVps3.P /#|U랮')ljy|p׷VRIQ(T($HwFD*=أG&qĢG0ljT INq;U*+xa_x\bW\Rv8(BN2%p?1q\>@߄^/MB3hBs&6 Ҏ}Inܩ)9U8VL$XZEqCܗzt)DI Iڂ{USAuS =xfB90qQzs G-OQɛTk: ;skvs_if3Y=`j 'zXŞ4XBz| Buu|*|a]5,ie)^N+s`C_^dzM\nAIŶI=}PTNMW5mTtj5L϶/M랐ZPK-IhPKmgolang.org/x/exp@v0.0.0-20240506185415-9bf2ced13842/cmd/gorelease/testdata/internalcompat/internalcompat.test| EYAB7ݏf :cU~~ =pͺ\۠E\R\;;U}rbj|؃t4&4aOEkn7o{î#PK\nPKZgolang.org/x/exp@v0.0.0-20240506185415-9bf2ced13842/cmd/gorelease/testdata/main/README.txtTMn0 =]7CS(vǯ[Z?5(/GᜬU 10=viIiy=b 4BKv,/mJrmpy {|r;{p-'簶dQU0ݹqzpEmHpOUp;K~H!{qS*?'@1PK۴NPKkgolang.org/x/exp@v0.0.0-20240506185415-9bf2ced13842/cmd/gorelease/testdata/mod/example.com_basic_v0.0.1.txtA@=K]@7(H43cFd-`elkUNw}FY+1C'?՞%zfX[q4\_PK,^aPKkgolang.org/x/exp@v0.0.0-20240506185415-9bf2ced13842/cmd/gorelease/testdata/mod/example.com_basic_v0.1.0.txt\A 0-u1'ЛL1L K>f$s&0S. J^u3Gd2KvWoI !z\1?l׭v'v`aN?hPKBN@uPKogolang.org/x/exp@v0.0.0-20240506185415-9bf2ced13842/cmd/gorelease/testdata/mod/example.com_basic_v0.1.1-pre.txt\A -(74Bxnjf*:%!K2Q #QV8<1C| DV#;-mpWc'lpa@#PK1-tPKkgolang.org/x/exp@v0.0.0-20240506185415-9bf2ced13842/cmd/gorelease/testdata/mod/example.com_basic_v0.1.1.txt\A -(74Bxnjf*:%!K2Q #QV8<1C| DV#;-mpWc'lpa@#PK1-tPKkgolang.org/x/exp@v0.0.0-20240506185415-9bf2ced13842/cmd/gorelease/testdata/mod/example.com_basic_v0.1.2.txtA @ }NHxͤݥnj(ɚLYXV^( MڍJ7C+~ݏw4PKr;]aPKkgolang.org/x/exp@v0.0.0-20240506185415-9bf2ced13842/cmd/gorelease/testdata/mod/example.com_basic_v1.0.1.txtA@=K]@7(H43cFd-`elkUNw}FY+1C'?՞%zfX[q4\_PK,^aPKkgolang.org/x/exp@v0.0.0-20240506185415-9bf2ced13842/cmd/gorelease/testdata/mod/example.com_basic_v1.1.0.txt\A 0-u1'ЛL1L K>f$s&0S. J^u3Gd2KvWoI !z\1?l׭v'v`aN?hPKBN@uPKogolang.org/x/exp@v0.0.0-20240506185415-9bf2ced13842/cmd/gorelease/testdata/mod/example.com_basic_v1.1.1-pre.txt\A -(74Bxnjf*:%!K2Q #QV8<1C| DV#;-mpWc'lpa@#PK1-tPKkgolang.org/x/exp@v0.0.0-20240506185415-9bf2ced13842/cmd/gorelease/testdata/mod/example.com_basic_v1.1.1.txt\A -(74Bxnjf*:%!K2Q #QV8<1C| DV#;-mpWc'lpa@#PK1-tPKkgolang.org/x/exp@v0.0.0-20240506185415-9bf2ced13842/cmd/gorelease/testdata/mod/example.com_basic_v1.1.2.txtA @ }NHxͤݥnj(ɚLYXV^( MڍJ7C+~ݏw4PKr;]aPKngolang.org/x/exp@v0.0.0-20240506185415-9bf2ced13842/cmd/gorelease/testdata/mod/example.com_basic_v2_v2.0.1.txt 0 лG88݀Qk:J#x, )rfE3ML䉩L31CϿE!X[q4\_PKqDadPKngolang.org/x/exp@v0.0.0-20240506185415-9bf2ced13842/cmd/gorelease/testdata/mod/example.com_basic_v2_v2.1.0.txt\A F_b &EXcb{Ӥ+/cFRu3e9zL~QR fp b"-)B^<.WLekZpC;C;0o}{PK>bwPKrgolang.org/x/exp@v0.0.0-20240506185415-9bf2ced13842/cmd/gorelease/testdata/mod/example.com_basic_v2_v2.1.1-pre.txt\A F_b &EXcbi1#):NmIH_)Lbh?(+q!VLX%$'ѳՈ効aK{*Y<,cC G-*ch'a1?PKUwPKkgolang.org/x/exp@v0.0.0-20240506185415-9bf2ced13842/cmd/gorelease/testdata/mod/example.com_cycle_v1.0.0.txt|Mo0{?E6%_p0 qYJPKEX/Ö=<S& @*Ul*̴g Wk?cǗ̗-{ƒpQk\Z )))K:OQ&ly gL'B iWo?LŻu vnReISk )=p"Ow|t&EQNYV(%_Ob3|{B3PK{J)PKkgolang.org/x/exp@v0.0.0-20240506185415-9bf2ced13842/cmd/gorelease/testdata/mod/example.com_cycle_v1.5.0.txtʱ @О)Xc΍G(<1hͩ4R+-GR)=.TPKMCCPKngolang.org/x/exp@v0.0.0-20240506185415-9bf2ced13842/cmd/gorelease/testdata/mod/example.com_cycle_v2_v2.0.0.txtQo<+'P(R/ڍ4VPWm7I)OOڪv}u9:Aa(5i 2@Z9:48eOTc&12<eeɦ!G0 BNMB:\ޓi Ƣ sBw j\ HYvkP=l=-b} 8ܗР BGŭ!') v*=:$LC)nnȪ$\#XD(Y 86A>7]+ޮ{ɸySlzEgKd#]%A0}T(f7_/WyG*o=7[tzr3K fjjOj_c- {Ǹ9ÌQVYܞaJt;r_PK2mPKkgolang.org/x/exp@v0.0.0-20240506185415-9bf2ced13842/cmd/gorelease/testdata/mod/example.com_empty_v0.0.1.txtUHOQO)IUHH-IKO-(JW034PK".5/PKkgolang.org/x/exp@v0.0.0-20240506185415-9bf2ced13842/cmd/gorelease/testdata/mod/example.com_empty_v0.0.2.txtUHOQO)IUHH-IKO-(JW034PK".5/PKlgolang.org/x/exp@v0.0.0-20240506185415-9bf2ced13842/cmd/gorelease/testdata/mod/example.com_errors_v0.1.0.txtj0z!>jϽWU:"h}bY`- Αe"b<ZJ .Ba9&B1 n>Pm&QƸRQRbٌû_p21#u ;}O;(Wσg) ܺc//MQMu`QQJ^/#\7)RdnjgcvֹëSVW{gPKK@FPKlgolang.org/x/exp@v0.0.0-20240506185415-9bf2ced13842/cmd/gorelease/testdata/mod/example.com_errors_v0.2.0.txtt1 ݧ J{W] %R)ǯRg>"Ts wAB>vqѲZ65\ܲ~%:!nAe|v S9 zWۤq&7 T,NPK{lK|PKigolang.org/x/exp@v0.0.0-20240506185415-9bf2ced13842/cmd/gorelease/testdata/mod/example.com_fix_v1.0.0.txtl 0{l@7upqL{PJi }wq>xAPPN@VQl+j[4Ʊɵ)QbӬĢxxa%lDFG<~_PKޞPKogolang.org/x/exp@v0.0.0-20240506185415-9bf2ced13842/cmd/gorelease/testdata/mod/example.com_fix_v1.0.1-patch.txtlA @ E9_ޠ#8Dx2ŕtG=$W0Sr-vIl NmhČNDC*,ODC=^Oowymex8蕵8kS%]vkPK=>PKzgolang.org/x/exp@v0.0.0-20240506185415-9bf2ced13842/cmd/gorelease/testdata/mod/example.com_fix_v1.1.0-compatible-other.txtl10 EwPt9 6( RݫLh(B7ˬ F o:cp?qк k6i\175'ܰZ¤甮~e-E߱'PKoKPKygolang.org/x/exp@v0.0.0-20240506185415-9bf2ced13842/cmd/gorelease/testdata/mod/example.com_fix_v1.1.0-compatible-same.txtl10 ݧS*n؍6q(,da0MIYu.nv`ػ D8t VV3)X[YSY^}0Kk*U>i4訾= PKRPK|golang.org/x/exp@v0.0.0-20240506185415-9bf2ced13842/cmd/gorelease/testdata/mod/example.com_fix_v1.1.0-incompatible-other.txt\Aʃ0FsWHl 9Fg H ^RY|'8GdsZfvwh>9t,mUa~u%Ql1x躕\YA/Lz.:Y_ksOPKzPK{golang.org/x/exp@v0.0.0-20240506185415-9bf2ced13842/cmd/gorelease/testdata/mod/example.com_fix_v1.1.0-incompatible-same.txt\Aʄ0 F9Ň+]l"F: л7YG^b ڨ c(*@NU쨱((ud  RH#YIm9x#~?K{n;<ӍkPr_ǭ_uCOPK-PKngolang.org/x/exp@v0.0.0-20240506185415-9bf2ced13842/cmd/gorelease/testdata/mod/example.com_generics_v0.0.1.txt1 @~NK-fC:O҈Űݝ%&`.#՘*5|[)G_"xU`/9a"щkm㎥m\deI PK!nvPKvgolang.org/x/exp@v0.0.0-20240506185415-9bf2ced13842/cmd/gorelease/testdata/mod/example.com_internalcompat_a_v1.0.0.txt|10 D8Hv+v@#8{!P(R]VYUҶ{;b쉁4@,VP|ZȀMLI}nL1;Nݥ"$N ӓLɉ繦M0"d.+ 0j>\M^N)6t"BЩOPK#PKpgolang.org/x/exp@v0.0.0-20240506185415-9bf2ced13842/cmd/gorelease/testdata/mod/example.com_issue37756_v1.1.0.txtlM 0@bJP=L1'Xxw-GAM jG1ވF;LSۦbm![6A?&\8xd!& zD[l]\?!VB+PKMPKjgolang.org/x/exp@v0.0.0-20240506185415-9bf2ced13842/cmd/gorelease/testdata/mod/example.com_main_v0.0.1.txt$1 0 = m bt)EЂ=*GMQєKxr:f $ag)W PK>SXPKkgolang.org/x/exp@v0.0.0-20240506185415-9bf2ced13842/cmd/gorelease/testdata/mod/example.com_nomod_v0.0.1.txtLA =t2^)%5&n'%j ;t; >a3jjy&-d{Zܮ1 "(ڬO,frfIeY.`3U։ڝ(%WLXy2"PK_SM_PKkgolang.org/x/exp@v0.0.0-20240506185415-9bf2ced13842/cmd/gorelease/testdata/mod/example.com_nomod_v0.0.2.txtʱ 0О)Xc6 8O)GI+RƳOfEI@{%?kWPK EFPKgolang.org/x/exp@v0.0.0-20240506185415-9bf2ced13842/cmd/gorelease/testdata/mod/example.com_prerelease_v0.0.0-20300101000000-000000000000.txt Lb7zRJjxQ+8UGF0PK<:4PKmgolang.org/x/exp@v0.0.0-20240506185415-9bf2ced13842/cmd/gorelease/testdata/mod/example.com_private_v1.0.0.txtlM0S ]HB=BHa0 %Rqp#9ZIkEn1zߟY0,kLH5]u? se%H1]HcaA򖇗4L̅ӶPK/PPKmgolang.org/x/exp@v0.0.0-20240506185415-9bf2ced13842/cmd/gorelease/testdata/mod/example.com_private_v1.0.1.txtl] 0 s[+.`RE.CA"W$MRqCaH Zx8nC-0!xDM /sՏy<PKxwPKsgolang.org/x/exp@v0.0.0-20240506185415-9bf2ced13842/cmd/gorelease/testdata/mod/example.com_private_v1.0.2-break.txtlM@ S[dz;8;M((ݥ(LSQ}:Jzk.(N}w`ȑoAxQ#ζ4]u@ҁ, fjoyxIG?xPKf5PKmgolang.org/x/exp@v0.0.0-20240506185415-9bf2ced13842/cmd/gorelease/testdata/mod/example.com_require_v0.0.1.txt4 0 {ԍBk"&PM1(EN"4+=PKa0IRPKmgolang.org/x/exp@v0.0.0-20240506185415-9bf2ced13842/cmd/gorelease/testdata/mod/example.com_require_v0.1.0.txtt@ &.؀ hp 1vퟓ( 1Q l$E3Hy!5ӆsC,6€!E}1#^ R zX~ǡ%T;9%^-lfE<'e yKԱD !E^)U"uHGWVj=ʽ>\]QLRΪ?4-)wl~[ WS͝iygf:cǰ=E4jhf,#IuMՄՒDl5s}h jF1%W>H̄XPKLPKmgolang.org/x/exp@v0.0.0-20240506185415-9bf2ced13842/cmd/gorelease/testdata/mod/example.com_require_v0.1.1.txttKϚ@+."M\mRw0rB}Ck]|ۓy^Qb   9H*gBjXݧ  XM0`!m_Zs5_Pϓ8~rdkg4 :>_礌!obi:6v€ H֑5+EJQ}j{OX-NK7*I*Y:}\0RgkP~AB=ajꔱ5-̶Qg'Gd43Lyspq#I|4 %6k,f= ~>|\z'1PK3LPKmgolang.org/x/exp@v0.0.0-20240506185415-9bf2ced13842/cmd/gorelease/testdata/mod/example.com_retract_v0.0.1.txt|AO0߯լ hFR ^Lja[kif#y7IXF$ul5"jVY^`, &RƟjp/ؐ ϻ{Ϣy]5ym>*?r>:>z%dph4=oob"歜~{Sv8˞^;#ny0{3u*QlYGPKF@PKpgolang.org/x/exp@v0.0.0-20240506185415-9bf2ced13842/cmd/gorelease/testdata/mod/example.com_retractdep_v1.0.0.txt1B1SP`wQ5LY;\*oV;Q;1C%KP"PK-TWPKpgolang.org/x/exp@v0.0.0-20240506185415-9bf2ced13842/cmd/gorelease/testdata/mod/example.com_retractdep_v1.0.1.txt4Aj0FKj] Mcd%!ཏեy35/`7mjFk5 ~)!w(A1CJ};>I{PK &PKsgolang.org/x/exp@v0.0.0-20240506185415-9bf2ced13842/cmd/gorelease/testdata/mod/example.com_retractdep_v2_v2.0.0.txt\αn@bLI_2Oy0&wvLP#-^Vdb!z7G%*l6i)"HR40l`kPh&# '1 {<$ZKZ [ۣ_X0հ}8Bjqbe2Bb}aOlAd{NXõfl>֫=^*%úӀ7.|PKQ՝`jPKsgolang.org/x/exp@v0.0.0-20240506185415-9bf2ced13842/cmd/gorelease/testdata/mod/example.com_retractdep_v3_v3.0.0.txt\1n0ឧ؅+{])s]ScY5k)} Hvl:$s \0٤8"It:z؂iC48@+L{4zk-i)no~fTL QƑInF)gH^˰ΫrO=0j\}ׅ-r͌Iqtu?aT2*CFBBHZgldPKp UPKsgolang.org/x/exp@v0.0.0-20240506185415-9bf2ced13842/cmd/gorelease/testdata/mod/example.com_retractdep_v3_v3.0.1.txtA@ }Oþ D'z{c-tRb3Z$GIc- 'psX&!oQz*Q滺ArgtڽPKn9}wPKwgolang.org/x/exp@v0.0.0-20240506185415-9bf2ced13842/cmd/gorelease/testdata/mod/example.com_retracttransitive_v0.0.1.txt˒0}"v@q*̠\f*`HSTvX BBd݈KbZ"Uep 1}L=Aos)IYY{UNx[P7ڇ@M4_8/g_\&#'A𽝩iBը(Z>SV#9߿l6^43+v,X'ڛSIMPKqgolang.org/x/exp@v0.0.0-20240506185415-9bf2ced13842/cmd/gorelease/testdata/mod/example.com_sub_nest_v2_v2.0.0.txt ?S݈*Q)&֦7{{4$+4ב.wz fp|PKg:CKPPKlgolang.org/x/exp@v0.0.0-20240506185415-9bf2ced13842/cmd/gorelease/testdata/mod/example.com_sub_v2_v2.0.0.txt {FjtDء"gWcMӎH"gͅDxWOuBPKuHIPKlgolang.org/x/exp@v0.0.0-20240506185415-9bf2ced13842/cmd/gorelease/testdata/mod/example.com_tidy_a_v0.1.0.txtlM0 E]Uv6XQD-E{|"",E?\l5P0~#cMkmYuТ8PKPhcPKlgolang.org/x/exp@v0.0.0-20240506185415-9bf2ced13842/cmd/gorelease/testdata/mod/example.com_tidy_b_v0.1.0.txt 0 лP#!X $݇AKN$9w˽.j'n ~zqpPKbGEPKlgolang.org/x/exp@v0.0.0-20240506185415-9bf2ced13842/cmd/gorelease/testdata/mod/example.com_tidy_b_v0.2.0.txt;0 ݧG(a,D3ݫ3,ģ< C߻oY K~3X\z)Dmx:PKtNAURPKjgolang.org/x/exp@v0.0.0-20240506185415-9bf2ced13842/cmd/gorelease/testdata/mod/example.com_tidy_v0.0.1.txt 0 {?R7*mbAAz}<@ H՟s5v j ,?PKǭFIPK[golang.org/x/exp@v0.0.0-20240506185415-9bf2ced13842/cmd/gorelease/testdata/nomod/README.txt B!;ULXEu!-S 6`}i>\S8ߗpzӷ  ͠g-WPKd+ OUPK[golang.org/x/exp@v0.0.0-20240506185415-9bf2ced13842/cmd/gorelease/testdata/nomod/nomod.testd0 Dw%ҽ_n#"q=C"nwݻ $[b\h\,j^'?ÓA;Vt?=ng}/#B倎hH(ŀB|ic/PKȜZ{PK`golang.org/x/exp@v0.0.0-20240506185415-9bf2ced13842/cmd/gorelease/testdata/patherrors/README.txtO)IUHH-IK/H,H-*/*V(I-.)VrRsKRSJ@JPK1~;<PKbgolang.org/x/exp@v0.0.0-20240506185415-9bf2ced13842/cmd/gorelease/testdata/patherrors/abspath.testt1r0 {BCo 0Xc$y(Vڝ:OcBQ*R01YSAPt4hyC6]\: spZJᏘ—?Uٌta(3R5 ~PK9PKcgolang.org/x/exp@v0.0.0-20240506185415-9bf2ced13842/cmd/gorelease/testdata/patherrors/badmajor.testt9n0 ОEDHAKn8U q$|i~m1SUƢE06ۅɥ{$psX"jAݧix~Z8%=%b#Ԑ[2kY*fE~PKPKkgolang.org/x/exp@v0.0.0-20240506185415-9bf2ced13842/cmd/gorelease/testdata/patherrors/dup_roots_branch.testAN0 Efffn,5qU;)UPXβ$Dmh!IU%!]*JEgME[8Ro-g6gΫ1\7 |PK-&PKhgolang.org/x/exp@v0.0.0-20240506185415-9bf2ced13842/cmd/gorelease/testdata/patherrors/dup_roots_dir.test1n0 E=*1* LJno_H=yr{hk)tdSaa,fLH߱>f IyEǧ5o 3"j 3Y(# 8k*v> h9eܰ.DzWߎoPKҬ" )PKggolang.org/x/exp@v0.0.0-20240506185415-9bf2ced13842/cmd/gorelease/testdata/patherrors/dup_roots_ok.testM1 }Nx7v> s OP!&ЯKA!-C2-Q#A[¡1Vԣ1 FH'FvU|Xq7;\,}ke\c َv#;X?PKQPKegolang.org/x/exp@v0.0.0-20240506185415-9bf2ced13842/cmd/gorelease/testdata/patherrors/gopkginsub.testtAj1 E:Ň Y=c+,ͤ}1I|~՜Y4JƫƂ:$Z1) U5<1KgۦEZ5fSrarRpqJ%;\+N+|HZԗxx?Է H ͜y+aV8\X벆"J8u,:w]e^l $#ǡL/|PKRPKggolang.org/x/exp@v0.0.0-20240506185415-9bf2ced13842/cmd/gorelease/testdata/prerelease/prerelease_3.testt=k0wYc-Sv dWc[`]9qh)trso.M#o*,f}ֶm^SйQiW+lh^͉Ed<{Q,Hr\Qx1A_;6-bJ1蜒+w;€Sbg,'L.QtD]C**>cu~@rwiD_QuZ5~Q!Įcaй.be$a?ezPKPKkgolang.org/x/exp@v0.0.0-20240506185415-9bf2ced13842/cmd/gorelease/testdata/prerelease/prerelease_beta2.testt10ާ/q/Ē׋$&43z#G~lìUݕх.t~Fw* ޻.BµrD8Z򇢅@8(ccъvK j&խ>{PK%=MPKtgolang.org/x/exp@v0.0.0-20240506185415-9bf2ced13842/cmd/gorelease/testdata/prerelease/prerelease_build_metadata.testtj31{=Kip0)FHZ?~psHMp;y)KSVL~/[j)aUZ|QNψsړ7\>{RG*5y\L9@D*"H]HRCgE񈒩F'C3+Ě?V3Q;PKLYPKogolang.org/x/exp@v0.0.0-20240506185415-9bf2ced13842/cmd/gorelease/testdata/prerelease/prerelease_wordsonly.test|;n0 D{@j*v>@XW(_T3oh +Q{66Lab;t]-9j's9"@ _Zf3NOΰy MsP6%P[CVQgOEӅMkexc&>?PKPK]golang.org/x/exp@v0.0.0-20240506185415-9bf2ced13842/cmd/gorelease/testdata/private/README.txtdA 1D.x.djL0Kp ޿6*rMv[// 8sC,Et-E]Izjf=ah;"w_.+luPKbIvPK]golang.org/x/exp@v0.0.0-20240506185415-9bf2ced13842/cmd/gorelease/testdata/private/break.testl1N0E9HH,qdlz^#myV.-װ7b_ndGJ0[>(~:@_杦vVp`t.*u.?zchb;ZKڝ6@Y~a8Ñ9_PKPKbgolang.org/x/exp@v0.0.0-20240506185415-9bf2ced13842/cmd/gorelease/testdata/private/unreported.testOMH-IK/(,K,I*K-*ϳ-333JJ,N +* 4;@*'(r)+&Ur(@RPKhPK]golang.org/x/exp@v0.0.0-20240506185415-9bf2ced13842/cmd/gorelease/testdata/regress/README.txt U2qtHEY9cΑEX#xdC?O ًF aPKH~FIPKbgolang.org/x/exp@v0.0.0-20240506185415-9bf2ced13842/cmd/gorelease/testdata/regress/issue37756.testMj0bkNKsB!4ENۗ^tQCv1/\gA%ru?4F ʐ`Q3 UZ,k g%29p*>M?^Pj/;i˶-~QmAӬW^F3Pr,|wB-[c_nfǾ2Hu9-n˜p;PKe PK]golang.org/x/exp@v0.0.0-20240506185415-9bf2ced13842/cmd/gorelease/testdata/require/README.txt,10 НS +v=Bԙ3V2 ŬD$Q)IrN|y \J:.AXI4/PKc iPKggolang.org/x/exp@v0.0.0-20240506185415-9bf2ced13842/cmd/gorelease/testdata/require/add_requirement.testt]o0+,2Rӑ) i7Ҳ9hi!=~W2YCE~f(TjfaD@d>3#Ix_+0f%4 JZE~g#p u3\Bmi6Jt֘9~|#Ce6m6|o']X{i.4H*n6fɚ^`ddlhdh4c4aoWf@FY '(ĉN˪mu?@%,*YY=g0iSoǣ6e'g鬼5.16]U`C{0ďx8<'vRA>"]|I&p2A;# .;9 (gWPK !6jPKlgolang.org/x/exp@v0.0.0-20240506185415-9bf2ced13842/cmd/gorelease/testdata/require/decrement_go_version.testl10 ݧ~qBw(tWc!B(4}qnY?~!Ҋ2 :Lgrw4j&4!)([3x] 3L 3|r j @pcb+RavdPK pPKsgolang.org/x/exp@v0.0.0-20240506185415-9bf2ced13842/cmd/gorelease/testdata/require/decrement_requirement_minor.testt]o0+val]tdJBBڍw1~DM=~u^!c:&+H KAY Йip)4a蓡k!ѷsFJ20q{B! ƿ*FENAI>~%ֵ[kBf|}Cu>Q7ۼG .,X*nuV]#M,锌6$"d,&]_D'y_˨f8ofE}_g)TZe-+0ؾS.f?\ܵ񏾛mZvP`xQ1 cr' hgI}3[B7X+gv0r7w~PKTz(PKlgolang.org/x/exp@v0.0.0-20240506185415-9bf2ced13842/cmd/gorelease/testdata/require/increment_go_version.testl 0 {"๱ś0u e,YR]?~x {sw2gPVl2鑾5h-|´ZCͽDPw C$kHpIZBs_!5PKћPKsgolang.org/x/exp@v0.0.0-20240506185415-9bf2ced13842/cmd/gorelease/testdata/require/increment_requirement_minor.testt_o0),1%#Sne}s1 '6eZz+ddP(XQ%#̮1"\ɦ}fJ'2Ϸ#Ix_`Bu%U-^qt"X_M`p' u3\B@?%h=RWC~2{ט9~|#Ce6m6|o']X{i.4H*n6fɚFذ095Z8px?Qmb26.qb*m[]O6P:D4J=F j3촩QtVsuQw '+;ɃTOhH_Rw ̥~/ˮ䜆o?S+PKnGPKsgolang.org/x/exp@v0.0.0-20240506185415-9bf2ced13842/cmd/gorelease/testdata/require/increment_requirement_patch.test|_o0),1%#Sne}s1 'lBZ{\!#5TgB)LŊ*Q fvAJ63S:H}~T'}M0f%4 JZEwsBFՙ.!A6%h7Dʼ.L ,õ<n㴱{8KpyGRq1K֔G0†2(hhÞWf@FY '(ĉN˪mu?@%,*Y.Y=g0iSoǣ6e'g鬼5.16]{ |?h<_JFt%u\ qٕr{ ~PK;LPKkgolang.org/x/exp@v0.0.0-20240506185415-9bf2ced13842/cmd/gorelease/testdata/require/remove_requirements.testl0 MhB;xiLT46=V蝻DF\*nLJ`GA޻X{f&(?qDc Dc ~qPz,K 2ؾi_7PKrEZt*>z  K{zWҠ[!`7rie4b۳8h;R'׻z3N_Y@GәK;PKe+r MaHҢ9T _p=$Yw;hXl=dl !y6d}MC+->1!ѐ/5mӏ^!,SmZwj~՛z9U5;u:Z,y\:DФoص|QQ]ivٴmE-첓cȥ #JdP6ޡwwn}PKO?0PKmgolang.org/x/exp@v0.0.0-20240506185415-9bf2ced13842/cmd/gorelease/testdata/retract/retract_verify_no_msg.test]k0|^JFD(lu^lez3bzL5M4ӏ0]Li'*4.bhm|EpeA@\6`r)(TU!hCLa]>qd#g"hl)(#/NJ;J^zD(?S>}5dlY;GŦf]bZ`xJŷ=pD}UEDaWPK PKXgolang.org/x/exp@v0.0.0-20240506185415-9bf2ced13842/cmd/gorelease/testdata/sub/nest.testlA0 ~`/; ~E_B5IbzEH3%|DtuVbRC_F7c@kkkhe\+je@<ܠDVUMXR |}ȐwH ;7PK>PK[golang.org/x/exp@v0.0.0-20240506185415-9bf2ced13842/cmd/gorelease/testdata/sub/nest_v2.testt=0 @wB-_;?c Xq"io_J.BzJ=}Nԭ#\mo{:ï?Ԓ_p+̤V5zS3~^ZYlbIBY,8amXn~~x;PK җPK_golang.org/x/exp@v0.0.0-20240506185415-9bf2ced13842/cmd/gorelease/testdata/sub/nest_v2_dir.testtM b|]IO8L12jC t5?/Û88|h&NVhlBgL$bVZ Z?^VP2I '8{i&qhġ)bM?|mF~zx#RPK`PKZgolang.org/x/exp@v0.0.0-20240506185415-9bf2ced13842/cmd/gorelease/testdata/sub/v2_dir.testl10 ݧ'Heb0qWT~іYd_)*:xb=1e^Ne;1C"x3E= Q]FXqS5^d/0 PKSAPK[golang.org/x/exp@v0.0.0-20240506185415-9bf2ced13842/cmd/gorelease/testdata/sub/v2_root.testlM @ }Np=R) kZy0,Mj$wlRPK߰PK^golang.org/x/exp@v0.0.0-20240506185415-9bf2ced13842/cmd/gorelease/testdata/tidy/empty_sum.testdAN1 E>.J:òR/@nbq<@o2 ԝ-}?'C.ʹx_O~!cp4t3r0H0jEh] 2J6%y|OIQ4t¦H1%pP[Oqče-&?iTI9}a|28WFn.Ysn瓎mI̲jm'֙PK=RPKcgolang.org/x/exp@v0.0.0-20240506185415-9bf2ced13842/cmd/gorelease/testdata/tidy/misleading_req.test_o0şOq>tJҤOZS#}ډm;O2`{| pG&C7ҳ)ID VHLh̀ qڕY!w2->8Y(lo]߽ےfY ʤ6bV4{{ A)ekOv_ig9zw7TNV\&y$͖uǪο=|4UҞnhYkrCz=Eљ 򴊃ZU60{eaBU$F. s^8p\OxM¾%/:_VTz ,Bicؐ>,UıH5@ Ȑχ-J7BC㺙܀@7%L)%-jB`I;'PK}kPK_golang.org/x/exp@v0.0.0-20240506185415-9bf2ced13842/cmd/gorelease/testdata/tidy/missing_go.testdAj0 нN!ne \[ ~pf9+JϤF1~5)%{>RmLX$q5oآZY .& ~;3y'.V{~vVF1,7Ԟb_ PK͞1PKfgolang.org/x/exp@v0.0.0-20240506185415-9bf2ced13842/cmd/gorelease/testdata/tidy/missing_req_basic.testdAn1 E)`j ghPĤQ'1ܾTek=5e5o[ 7:q޹ɺbvPKΟPKjgolang.org/x/exp@v0.0.0-20240506185415-9bf2ced13842/cmd/gorelease/testdata/tidy/missing_req_submodule.testAj1 нN!ҵL9EP4bLXvڹ}@nM+zI;ld># '!Bmב3[nV}^4M ƍd/GCgRR#zVH OG63PK,KxaܾUUv^l7䲭BA˹;`#1j׎cTzIFVAmX (K65OIhĹ]c%8Ρp{X4Z/i$YrƱ >}Iѓ4yEl9eBIgpI˦ 3+PKEPKPgolang.org/x/exp@v0.0.0-20240506185415-9bf2ced13842/cmd/macos-roots-test/main.goWmo,ܑDhEEpwѬCjO.ogh0ߋYdw=?H<$k:o_ _޵rRxWU <;('BpkF.G0Co1e 0'*Wh WA+ Kµ6cW?||iq0,+ٲ5Uc޻V6Z;4g$Z]v$^tX)PJ4+U,X;(& -ӨQzJZ}S73dciMEURޣlj֒*p%Q]=_9Wo5C4Yvv3j&Ɩ׷Ʋ|R5w(3mu2ъ1zbף hgYKhW ,Շhb 8?k?' UF(hes+Fswzp4O?̀4&@WDQ!6f]VUAOnGطM&{~%qxu<TRUQ4c/J?MD(=ʩ| VU@Ba>z٭c>NMQ|ʕ?CKi-[b+~n^zeDХxu w;譳s]w 'u/:wE7x*m#hޚX $ aĽ_5{f!VZcjYaeָ߭!bWÖdkc?|9.Cp%u6VxJܝ`u3m0'dYVie8G x[Ztqqyx{cQº:f*rksCgYV^T:+]l.3D-RvݟߜƫeB.~fe^Rv kn@ߩ^o=n3,[MpY<}*41_PK  PK[golang.org/x/exp@v0.0.0-20240506185415-9bf2ced13842/cmd/macos-roots-test/root_cgo_darwin.goZ{oG{SXT(R^+ZNBsFlk# دqOry!InP3z1Lre~paR6v<~mEs(E`uiD­G0 |?;ٷn#e"psL*-./WSd8^N"B8Jn5L.'װ_"=+/:><͛Ǜ]y3fryӓÃÿx~'afDT<#̈́Z0)t8TI^ߡ1Jm=+;+^t9vyQYk(,^dW]}Oޯ3HG2~cL?Gc['L`uf:ɪ?"nQdЕFA&rGqȄӳYxNF/8Ax]7ji'?܋Dfm.k oZpWVC'ZYKf?4m g/E3mΓ2r++zյ16oJfT2wNHe92D2QJ)$$1ph^TjJ!$K%-cTntx6u![ qX'o\} Cⴡ$ƐR*ݤfsZ81'9~b,P96$|Gm;UAȢمrz}PJMrq<ӳ13ĵO֑͜p4ƧNGePAx7rWˎQG1LDi|e[=Q2so8 tDg}AP *Q\{eAX[Y29]Lm984ɘ+{Vޣ"ScUګT ¼:Mo6@h8`+3顦/FT.6p |V]2OiybvH${p'o+L]&j&]UDdy.Y\`_+xe!}s- =u]-r6IH*z-pd[Xb g' SZҪ~3"!HB MlJ>YRqj@9IS4ȺJRUhH-nbtQ}޴mϺX77CW 9yء~ԩ(wӳIc6' 7>Z##Ỗs@1Qpź^}ڳ?ɟ &J3؉DbZi>5LȏȏH>tQSS`glyٲ1pͮAG`ۘZXv{7%OfZ=ekUmbkG(TJDLޖ- hF-jΘR3Ūެ ߫%9o6+۹X[$G|m,<>< /[MDkjrN=9xyOфӊSeQhʼn׊7JBw61rI`)/=J~E7v1RDjpAH dww;w9[h]~QD!>/=F|EYЋ3m²Z#WpX1O޼2RW*JTۓ-aUI$ w} @D`ZT (2et}T#KT{]Wf>{5ŦS_l[tz4YCA8F*֖hJ'sO'TgǷeԕ6/VB~o˩'RjWtqM;}r [76cyſך+9'b;l4[|nXRmȺNpAeZa] M`_pf3ĕV +޺]q["0I}1ܢpa[o:{COePV[Q A/ڸ3J7NgDx4C%!mKd A% !ධ8GG/a$h-vY1e7Oe5ŏ8z^ُvQZU*+2Ń8JfCd=:5˹:f?V10> {a(Igmb헒+j;o#W}̘lP^ d h@U\\! J'c(ZKtQZ/)"zTAY),+eSa+HP CR9hg}.JIГcLm+LyAj_D‰A%^ y ڂqJ<{r'Y*q<+7 `aBٷ{5ew ,_2qOAe]+„:@!%S0iMrkt@l MyƖ%l dyi\ 6 X#`Ag gXk 8u  pV(E€e=ZM#Oj,:#MM"p4 Te;m$pf%1"rC2NZƧx AT3%/zY Bp}?~HS>[h:g ~IkJ)S-ުnXu_ӆlbmEݡukT.V-͇w'( 'ЬEZ8E7*r`W@a&-.shB>KU(M)jC)|Bd4&3gild =k (Xh|74sQ*rsf fy6Obe_hI?:'!QQMykv?:(W,IfiBy@.Oa^X^IS ~=n%oFjZzL߮БI9QDil[X> ~r$MӊKe# \ʨ4D {}P=X:$vxĖW{ŊưB`܏K[pw-s? }\Aa, }ʍ-ղh+/ 0F tݮ7/.N%#JѺH^B(M],Y+U Ǖ oG'MܒV%͎g(89mq$m_2O'OxDUmE1* v= )t"dCOͮ;zξM Mj;C,2 Bj1,Rr8'65 <*9%< ciG*v #MlZiÍhViwi.ݦ>4zƻ>IG WsQ޹!;˶s`_,MdINRV,5w2)6谸A:l s#SPi49٘iLH`EIvk$<4Z G@3H'qwlqʡp:$XI`7(Jt~F"DZqq{M->n۬&ئ{˖^Yˇ0az [X9! Cq&6sV4v[_,vyFiW{Oo}qJt\HobätùߌTB{d[_akטW{b>8Vg˜5/vF2eyo.;Q"yAfs8MU0ū.yҊ!7q-hYoa/|KG gy…Sy'$^,|6oFz>,uήH74٦PK85mPK]golang.org/x/exp@v0.0.0-20240506185415-9bf2ced13842/cmd/macos-roots-test/root_nocgo_darwin.go4J@s)>s1MࡽZD"V`$۝0;ݥ3WU0zv،ڳ0ɉT>[hODA=xt twA{p6&<>B{v?@1U}hp:6fvXYdNA_2H%e0C`t|c֔ȯrKsR,tW9/uf rp#5Ya~_PK⬇[PKKgolang.org/x/exp@v0.0.0-20240506185415-9bf2ced13842/cmd/modgraphviz/main.goWnFL>T@jBSr ?vP9^0KɊ+rr}4uq4`ڽٓ ې9P <'@`3BA%P{u{|JEpumPIyG~6lG(Ho8 sm@jG?pb+PBם1c},N͸vBɏI t B ҂#RA(e3E#ZGpq^)ō!u˦% ٺ$aCD?aUa%Եq4;rn٢iW.4LRqEkvUB6t%!SK2/J*5#tYzr$;% %jqt&4iJAxΥozpB%hW75Q%5HDQɘm&edXߞ PfH't, 6qs̆iwY_ F4X8k\;+?\Թ= ŲF¾~w 36kl{Y`?XVKn z2Ad]?&Ǘ}RqݾE`u+T A(4p{BL& ouoqt5^:7J~iӷ2 ػ30X)/7wýPWs=SHrOo2>m!FOv_󷸻 si+ SYDF`H>:^?wj Z4χ׾ ƁI=1)V9ȯqlT\l7EqQ0'Q+x䃡Ui5E=ʀvn޶Xt;2劫 ֝<*β ] yzrG{S!a mQI/ e}<`9fᓸ>0JqnL0MM=I :nqCm?p7Ow%:4<87 I0Ֆ:|=~LP6@RC()L'X]ζq~ Ğ '%e(Oɿ]wOã[c*B-ZwUΩn>PKR} PKPgolang.org/x/exp@v0.0.0-20240506185415-9bf2ced13842/cmd/modgraphviz/main_test.goVko6,S-6-~!qbX}IEd4(YvbwC1s}CvR%s 뽆9; (\)Tn#J]D z(Q!S%fMGMVB A aaG89O?^^H ɃS d㄰,RC,{QIJLqaUҌ'6i<Tׂ;ћ<KxU"Q>.Ÿ1v8wS"^u +X|#ܷۖZb1_&Dd_ |1RmA)[Zb%B3iҒS1>|q $gr3[P ljPrbUf{W-bc~2+뱐{th@-kVkVtJ2^'Zq\2cլ`_TĮZļ'F(uP,`Z6EX /A̯,IhVTUvر2eY"xYtJ ͜VaCAqVdqPK PKFgolang.org/x/exp@v0.0.0-20240506185415-9bf2ced13842/cmd/txtar/txtar.goX_o6>Dh)e_ZW&NCSuzy?-WHvh3$Zuz=SxǽgCF:ml}lEŦJOO'[p`djZ7Zo(l`__:n#IFe\'B Փj@*pwo^^}}JI' zj`gC 8#jgAwaNn1m#}[xtֽPJͩӺ(X#yq4؊wNl6`P4 *XH3\606XkTRy`=Kia%e4X;m$ڒIUSCz:4֒YUp:i{afZ2D hTEt]p|@~Og0KQu['!eNNB!Nn `L >x: GgA?;18S+ ZvԊIu-ԊJ.4R9ʕ`#瘃ʣ; ?9-2B](ɲq[]dK8M&i.T[il<1G3ZUVG@VjU01vh&7އՍabcyW^Wk%*w㎶ ˱6b7|5NC';M0j Olwh4(.;8ySʮoFuF5vr,Mzi^S]Z>BVB+z%dg&,.knYDu{ eEP9-cs- sC>ٽ#C~aa긦"uŕb;./4M|Am MVO$!" )_b^iBCi&v']ѾZX-84T!o~GS{4b:=Quhk+o`ה^uuGZOݻ$[a799汭Wс.mL6s -hZS^s8|MrG5/{*=o+Z/(֌x!:JȪ*+ښ`+;o+OfD7ch4 B̼̓6z'j>wnif59Q_|Qi}=]z%(? C&Lҟ ׷:|4~bNq5蹑s|AOZɺz)@NN>+ށp%880WiIo!{or,H(h)AVSoTKX?> Vo,B{Sb, zf OO^:켘;#{}1y;wW-U>&p *2ЊN?߶ȚpuG:\-+=?zg>t4+}8;qDK|9gq-$In%4{[vbxmUp;WB:}x t Q>- =B F0Y4i@E;ɨ(Ǹ9‘* vFηOV`l!GE_'Yo=?9 _x3Z`l?ZzրJOnfPX }u-z7 KXM"jcY7 BYhzFg4'kb&xR;tUo'8G=g % Tnl@(7JZ AM %T Z}VVS8;{ΟʾkĊ;G;W+{pNGdžֲʨ0Q=?f%D<"oidQ GQc^!&?{pwV*\bd?J(z͕o'&#6p&UgOY%3NS_jG?,*^_p%/ ks7`{-AoBN4^-m > Y+|rܦPK< PKKgolang.org/x/exp@v0.0.0-20240506185415-9bf2ced13842/cmd/txtar/txtar_test.goXQo~ŜMW"Iz6,,p{2&"9rlŐ#'ds۾K`I7|3C&6kgs~؃9/[[%5ztK,sl4m]PA{%:%\AӺF^UG"(kʶmNΦ'P*n a"$^4d"I"Is\a?E=~ZCzӓfV WY*FBx.h "@b(?"Kb2kPҊ`2 )o?M?;<:=?:|w~fmxX*xgE8oBT)=Wd #DHBZ`!/ZD"{@yl3v~$]Q  MOb]be1ɽ'+M6TK]h)e>3C,ӑHJЁ_Z1"s8Y5ʔAvimrnEܚ3Y"iCCڍcʬoJ.qd)C '6=$H:)`uقCa^_Vl!-p{?o/mKB!8C:]!zeUtg |vAK)_M C6ݼƐB:]Mis"AhD=T=0mNyɤ mH[(4umI:n T(k J`ӥyslqXw$Ksr j T0 ,N,ͣ yDIRPnEBr<o=¹m*k4"c_ VWȃ<BsP2 iUumo < ųWv}D8O q10hciX+vVell0f5Ae BsSHe/ SE0,NQaM/BaFK1\s.xjӘA, 4fkvFIߩ7|ҙyB>(km[s;|V,W8ʔ2P7iX<\pJ N U슩Z\-1ÒYw҅u)yD5~?gVf&ϣr3anVĽoPKWPKBgolang.org/x/exp@v0.0.0-20240506185415-9bf2ced13842/codereview.cfg,..M-J-ȷRHIKOPKBϯPKNgolang.org/x/exp@v0.0.0-20240506185415-9bf2ced13842/constraints/constraints.goN=}?II+*@"f=kձ55px|o'NqÒM?Ds \x8x NE90 I3JC@|zM0;Ҹ^Bĥ|˚"ZpM|r!g茥IP/gu'qQ3 B1HB]OzIHg[e jAX&MW̜>7yu ^(Pn }.RO\ ] LdJk8E`ZŤYk͙^ΐkm(-&M 8N? qXx?ĿrBɽ 2;AT|Đ*"$҈"U\\VsR ƛ1n"۱ p_Wh]n3 *VOt~/GmkK bӾ26Žĭck[?k﬉_{1OXڭ:| VѳG89l k֯Zp/뛻oPK PKSgolang.org/x/exp@v0.0.0-20240506185415-9bf2ced13842/constraints/constraints_test.goWQ6~~Ŕ骓\9@o zhn{} -d6#Gk9bHY֮w>\rp|[Uo^>~icᇦC{eC0F9pBaJ6h5ރ]}ըC$(5Bez]@~xwP8dY Y48Vmg,AGjIđ0.|q;I9c',ָפZ!#kqLUYBپ/P펖!5af h0ec$,]0mf +[ s4kYCt AaN5򐝓U/q;L4Χ^}7N 맦wf;1oJ)DHişx9XIǔM;ylYU|[i15,f&`1Discnn>x4z=Swt*OJ_PSU KbB˔춊 B:!ui*Eǟ8&"ʯ?JD!3bo 1  3"qty;J (TuwVlPD;VCզhKx6J''WW$@k#R b\~MOx`Yu5Cp$ f nEC'+߇%[e4b[N#x-Yd1#0.CgK/*g|PaC󝴨 Je cGӄҰݨbJ!S/q)߆ӎW.%5j/_wViOCZ^/^DZŮş2w>%0Wy.U­xf)Ek1W9ۄ190[n@< 'HgKHPuXP~j@z;4I.yo@KPbD](tN#Ga ?F%^M ]SF`p`B@_LQ'Iӽ] ( tRY~'/`-Q;Dz߉ N;u-g?C_td$) ks)ny_JNB~/ Z?u27.W%UYeA,J]#ܬNMbt! _͇zE͐- xۃ덃 >o~smloxڂA<) "FZ3%B+ia(>}ҺC%*6A)\"ԺSHnΡ -(+FKUv4>Fl%j;G˃ÌTY᤭RVF+(T+bScd$;M")GtR+%(EH)\ZXA@yE7C7ަ;$Zg4[ *OVp ?ݵp l[[t?X赥4$Bay/u1ZH7ILm6dZYs Ro%H`[Q;kI ,yX7B;Fpqt ES C*JV*@;h09n# v=ɞ%ykZmDϣ' e9u"Omt)6b_-H M0?Of)MYZoTR(;gѹi}#}lI-;^Z+$uJ746fzIfKe\ (PIfwIIBkRaJjNrIf F4 W,8YAyMuHyœ󼂭6!6KWWj aK]֮Cͦea'Esa(B'3ĸnIQcR3cthD'3/b>:dZs4#FVp-U/KE4y*25c5Lo;8!# 4L'}piDyd.ȅUx آp->ّr.r$&}< F o2c2FDX'T[Vbfԏsݠi:_P&dFj"#`qEPhX"ƽn}+Z^#-HU_i(^VޕՋ1v 4n T=UZ/tG1D kThC`db0Sߣ6~ބ2Zdqb4InT30!lNu Rgx}̮دJ]Pך߫+Tz; ?!22]ҺA@:\5(|KdF 3zCgF$Ϯᬰ~>v|bo{!\rnG2`F7:ͥAk[/7ldL>n8m|þ)MQIITz r'Ae_IL+μAߗcQTX8L'.sq܃>>Ʀ“KDuN*E8jUEo:pm|9]0dטu׫P3?ETq\!$L8B*hocWL qqrzJ2K؊+3S2͐ pfB=IO,aVeA ^+m߅٥AqKe_`'w\"l,@E3{yt]߅'O7Lb菥aL,4#@8pZH۔y_3Ƈi{J/",V̲Ra\fQ^۠2H8~Cd$ Z5"P\#C/UVֿHl^(lڢ= s?<ҹ)qc79?'wPKT OPKEgolang.org/x/exp@v0.0.0-20240506185415-9bf2ced13842/ebnf/ebnf_test.goTn:\_1@W) n C,$µ kaBu@Wr qF0. +1 ~%3[p1!9AYzFGWԱ*Qm n+ OFG=@i-SGmBtrpG֩,bl& s#Sa,YgT],X060bd5bo.滇hSO/lt]xHv2FRř@Q^-ʟ>;,MGy_\8&|E_\ۮwwvg|زO96H .NO't{-Z2&:CVRpu:x<5+EX:X 9a|Eߎ)ɄwZEQ%=NOFog#H*7^D, ,X>uJxu-v(GL:4l*G)f28&{w|B_niwPKP6OKPKBgolang.org/x/exp@v0.0.0-20240506185415-9bf2ced13842/ebnf/parser.goWn9}n~EEXauHf @qcZ""{HʖF1__""Kd0 SU~3ΪË[6~eUO;a8S_)llP A9X;+فW]Q%jWC)5 f+P Ps!ZY%ZndD$mi}sWJND&ߵ-8o7HZcW΋$n_Ou)E m7n4o>1oYPV"i*<W+V6AzKH[x@֧Ed6f4Cg.{ۜ> {"3c2]4 uv#3xxcKՏ\ck85gp=)aǺv衠G"I۰b߱yXI6-v9RXbjU;+`2zPŁL$-W8gz I ?;zSf&%Piv}PEF ^<+HH46Nd,IkYZtν;(CXBUЦ< x쵦Q$ys1O0h9:_ fÖ'wE1pڿ?$,H3 U.)G1XR5p jƃT"0@H ip)Z\+<,1w:zJ dcQV;A` 5Iz<6; f$De9ia68/y5j(@mt!4][Xl[2:;ʦHܽ*j/@D"I\G)!ΎMdࢇ2܊$)viT)/g/_mYY4fXZ+@.C՟>IĽ7Gn=pىMAlڐy`: fӞדh[N?m? [|2{inWui61|'-4yVvwKRժo&9Y_k|N@#V@\G'﹄ /z7%E~~qLׄلNkYǓŰ,}=v(=M83Ohc)"CgLOÙ(o%;cL?zh@C=PQ/l&ҚjS@qi m^`xQqu}IͧvplO^_\)=Q[2'zkz-mh>O-=QZy%':`Es>B$h.&fpYS'I$C^rDMD{0^^³0J=FܡG$;ƥYhw&PaHKnp?.W%rxz .^xÖCtjkْ|mG{rXV4b[rAC+_&@98BDBWCMFl]!.H"f(*T_rA-{8իxPKtPKCgolang.org/x/exp@v0.0.0-20240506185415-9bf2ced13842/ebnflint/doc.godn<S t `1oHR7 䰦VQ+,W(pf>zxF.%ºu0ȢcĂA; oWWsaH@;F/K3ldl"cS-ik&j ( G .7o_ZwoFm^:Bk&݀?ZlЪ !FYaJ ѐL$Ц"I^v98~t)r5+4J/9Ÿ C]y*4m*r!%AkAq.}:IR#,EKdv4t f9|I;z$][l\D Ht1=pn9-D~aʩw6Ebl>)Ń`[~tdAb}ys }u)n'3DbFnي^Z[^7rԽT9rdLȖfHHdȳH'Gv\}fId`}7໧I5Ѥ,AA;Jwɉ$QwgY+sa顒mFhpD"I<7 9r 4{g󂧺lP"eӰcZÀɊK=S$;Krj9XU~>%-:/\Cq P7ϔ1vqojD9ki?|VS^X]˩x~f# ͽ5{ĽTy9D{` Z--r@PAںF7€({qH8M`Zn I,dV {_Z^ϣ!fϮ]rɏD؂}fƚq\#j'f#(`mqŭ $FXEgLkQ_F>P§OM4*:БI 7x _OϿ`c2wPK&$  PKMgolang.org/x/exp@v0.0.0-20240506185415-9bf2ced13842/ebnflint/ebnflint_test.go,n0DWLy&Rc 1P炦VI+BFr9ogmxw_0fC yFLL]2!3r%8cgJ:Ͳ8**ǖ|&hx }}qߢgGRؓaO1$A*VN(@Yl-t6 {PJv3%iwwC.vs$ی29}_c>#}n}|/.䐛dԔҺ֪g}׆HKT"8E22R*҆):% 08(e-"i'.hZoTU]Tdĸդ.PK_nPK:golang.org/x/exp@v0.0.0-20240506185415-9bf2ced13842/go.moddͱ0 ~ iɶ @yTFvSzLYdU# |ƹ E^6:ZzEfE\bX聬_!>BguK;(|Pm?Dj3#Dg(lTrP, Vے|Q&OO,j 3晾9U'Z5,Y't;s3t*j%Y^Ǫhʹ7ehXU  hƆO :8RgzQ/8oCnsudᱱNG!@Xd;PKQ졑vPKFgolang.org/x/exp@v0.0.0-20240506185415-9bf2ced13842/inotify/README.txt IM,NU(-NUH/NO+/L+3P+.IMLr/R(-HI,I-Q(NMR())(G/JPK)PRPKCgolang.org/x/exp@v0.0.0-20240506185415-9bf2ced13842/io/i2c/devfs.goTakFSC\BN1`zyw$ouwWJ̑^f%'i@̛7oު(`bG]'X~p݄uõ=8Z|Sm@V"(m=B V J+#]@me n٧ *3Vo%he+k5)K> X2P(0 jKSsClFN,^0Ŷ4Bi`>@wڱCYJʎb| D 5ܑV6)(7,w5"7tm㩫C!9..9,F9ZOBe>8ejȘ8e ?bHlL۶Dhmnf=a>in|9[/Fx=8[|^CةLjиGʠ-jX(Qҁ2!flkLuYW`='1|m_m/82g,QU 8 3FHgtƜ쿣PKb^PKLgolang.org/x/exp@v0.0.0-20240506185415-9bf2ced13842/io/i2c/devfs_nonlinux.go\n@٧6[I*ʡf&#H=77 :]ѱ#~/GR.g\ B]? A{EgK ]Ȅ:D|~<dZeN$ct(h ҁ>}=?<ޣLuM3vMf!L1)>MjmTdV6ՠ9P ͹԰6OMgUaq/-L'*(:̅e@2-IOX# T5 WКGa2pB96J0ک~E'l'!<ϒ:d7pjaA}P\;ۭD#M _nK@ِ?jPKe˞FPKKgolang.org/x/exp@v0.0.0-20240506185415-9bf2ced13842/io/i2c/driver/driver.go|Rn@=_S"޶%TYΌ5q;-Ň7yo!`x^߼ӖQq/[nQFlmBLeYI;g : u؜U.\5r"Ʉ) 6^ҁeKxGj|gLR"KK!cûiIy;C\TǃxeS:J6^5j"!cRm?ć Ʌ}Ѝ6pw΢'#%U?=M}|x*O3+ʞd&EQo=GH{K Yt4$^|bruϵu;%36e^OOrIѿ(# ^DC|G=dKcy2<}U=i4Rh 6Ռ b'et[ ,e.Pe uFY6AƷWRrdB#7c/'DN' ?;$$?FP^3LB'5NHV)_,/-kȃP4C? QfS&2cFEE{+]؋YlTI5Q7:,qB?cv6ԥ뎧gB`Vvt- Uq57B.AbݮN&Cj9ǥKz`jr_ 8b M7PKf1PKAgolang.org/x/exp@v0.0.0-20240506185415-9bf2ced13842/io/i2c/i2c.goUNF=㯨 `/r@ˁM%!ʡ.zQ۳V{iUկ^z]Up-pG~p1pa- A]fU0o!H B5aɡz >|:氵(Y4!*@ \_~Gh2Us:sڀ?0<* -5(L@9VVmO/A4(patt' % X+2҃r۵',j٠)<`Uh=)r}UՀd4*aRUYK18U+=ucCe|eN,KyvVPl"8@@W{8xNN#W !TAXϨ&0E΃Cፌe9xLK\qܡ`kAPZ2bPp6a>+vtM %a$E[Qȅ-I>"Y)\S#E̕ oI)<-.եX=Hŵ؉جU$`1 Ӥa 7@bvxMO?ĕ~=-Fx 2Fj hRlLkU0hiP,BRӅ!6`Z~)֙ "YH4_=+pH&:d&3%1D7W7?.G7'Z~flJj/FYeۥ,괮b4GBj>F[JZt̀NWcwFˆ㛢69LUOvgXxjr̈D\>yKB:[OwDj1ѭߣ^%sy5] 1wk/S1s']T&4OR,N9j#g C/+cgZ&,IY%O2Jq.ڸ#/u 'DM;7PK*PKFgolang.org/x/exp@v0.0.0-20240506185415-9bf2ced13842/io/i2c/i2c_test.goPM0=Kհ l-{nC)^6R"m^)Hc7!+NC/1,xCuXwiE#E =B. 76".h`#jSpd=@mCK\$pZ9l umr v;3)2ՙKYuNcC7-o'q5?ȡ<"U2?X ߕ 䶖b})s:KT'bXe,jyl SΝz8IieL1'\ a+Vs>  !ISb,Kx7{rMllWMs:x  PK)PKCgolang.org/x/exp@v0.0.0-20240506185415-9bf2ced13842/io/spi/devfs.goXmo6l9Il'\[u]MPE@K#gTI/diCL 3;TV{ŗ+gܯpYT:ˢAF, F9נeRTf\RnP `Wh/NWC7ī?={+r8f{ ]C^ñkAk8Z{w}yEwkrWeS=\ zPX'=]!f!dX}C]7mKtoβou]`"x|+EiogeVd҄պgY  spӇPʬ.k[ \{-3=gUԞ^ U J[YQd8;.j]6];ȥ*q++jXv_$R ve,\0åPɂ)nDՊiNc#kŗ+*C nb~l u[ *&eU̬F+hÊ50־alFybۚvM L-|;xup_A:qu b]d;H tȚr[;.oo*6J fe7t)9f +dBS+(y-R3xe2jBoT *%UDO@x,MlIwW?%y̥lxne$̡O+2==2dmˎt!lϏ'x2+Zac')_afQS`!5O->0&2mZ ^PmhwzD):!=z@aO:c!W ܰaC#dr`MiN@AW7pC825E ΍C玎a(ʨ]ɭ  .'bx8/MrMa.K _mզCiC>R0]3n';el+TteG('(-'!MHuA}ÛgAu߅O : c7t@'Pʗ[p/.FEuE>]O|[l]u+2Y]q𤝵X ƽjukO]AO?/;=`ҹ*CC"FN`7W7Y4;tV*)eASI&Aq4hn Oß(ɺ:qաGD{6SHDaD&"JhMpge+YvgNrN/]r|zy)粼苷n}&NKX? {RAWn؉I(]1\x5kCbzeIR BNwE,:Ȉ޾GYN[sSiQzon^n657 @JFa[7I OIp8x7klH3ڃ}nA:Si\n` TH<.(vvi1<؞+u"ߐ!}?XSb0ɍ^; I;7i7o~ͳ'<0pA8?Y49:)o˖B "AlӤ|jNrL1ئb-6Ѵ0S.rifsMl17OQ- `HO~2)Zj.^ğPKyu+~PKKgolang.org/x/exp@v0.0.0-20240506185415-9bf2ced13842/io/spi/driver/driver.go|UMo6=[a/E f=bC !%[/Wbo潙7tYbM~b%,p@2Ro[ 5lHTc*Ľ#lE5a eĖayugS ;ˑ1D<uq<~X}~82zKZ n˦ܕKrB˲sȳ٣ Gnm V=Q͞&fw>-Wyh } mZ8('V`Ԓ4ڊYttw6ӳ|| y5 ӣ$e移u=.I/^$uqڥIB؄YY&h3kG*B#tPΪ8t:|4E  |ǻ:kzlkj6ǫO{) SP9_ !rҒjC@bА$~ ^75xJTqu{X {r‡|:@\$%%vRݛAWv5-QH@U8ZVV{ :˶:'bDݓLN%ib1 H,ݕ2MGc,m)SIwUk@SE;4ywNޥS}['@Nq_ rYyip/.YyjF$m>#&~!qBD`dsډMO2%CZ?Bq ^d]- >7K:5[ި'vU 0FkOPK7_PKJgolang.org/x/exp@v0.0.0-20240506185415-9bf2ced13842/io/spi/example_test.goO0֧x͡൝-%%4 ٞJ)5EIHpX݋Z=t0F=Tƞex`38_b#O.(YU' !4FGg"9M38v7>% iO=hƑКA H>l{RQɘO?-6yp$'"@[ MgðZ˴,CBcQV8 ;(/oog쀒MG"IYlSfj+ UvS CQ4FE 8GbǓ8 N&IfM+_F2`\*ƎBpB#f8h"& _^|ԍ| Xc%NhT3SˋߢtA_?GXU|pCsq!%4Z%ȯg٭L4_NQ)՜N >4'(́3E+uxԘ|!5Rs~N1UAL8h:ix<&g?/A7PJ%4h(#^oq̜08 b փ2;c9+f{Ċ"Gr{~sxH2 D}HtA4vCsAߢ˸ 3#B8(@0<0@V ^OGnKlŠ|1N t/2=Pzy2Cξ qpa3OH>)Oj*&~^G47FRKMHɯU։srq_jpo7xCAh1ZrV/} aq FXMG֣†X,/?y-7je3X8_MsL\lUMԓI-Pn]7V|g%J2WcARijohm9-{0JNy3#hR0VI.&75:OoHz |:֫ T^^6xׂ!$̆$yzqLV)%nZWHpcI'fXLT-gfXY+&SIE)̾NY1u;Gr%(әC *q~)avM}_PK[q PK@golang.org/x/exp@v0.0.0-20240506185415-9bf2ced13842/maps/maps.goUOo<ǟbrlZ()"? Iv^> poɗ: /T~Ԇ:?'=yr~[!–b;rJ<+SJdZh>fAlrSYo;axx.qXB4 r2fMB7yB_."Ř_r}r=?3t ǾPCۤš ey]Eht~~Bp48fZdX姨v"clb$J`3.g>KJ(O^ ℌE,`E뽧oVe ̿":sBezVDG-NEnz-#m;R $Y &S+H7ȋ4ȉ1#ƑC09x,kݣ|dhPrTFA!֕Cx/_&+x~NC)-B 6/ߙr NHn:T7KtrIJx#8e Zu$g2Y˕gYG~s4i޽= 9 bK"Gj4;GlD9;0HS&#ylK>ҠZ%<# w[GRMcb;[ρJ>I%HDž4JtL(o2q^a6j?kw() z HCx:"ui h;lk)~JaRG=ݟՆk&>hCJqPtlJUNCHREiiojyjijT+ua+lg _U4&[Bw6 YǬqJ{T8sEL*"%-pJ|N'xj)F/dDH;F9~1jC\#Z"K17hH;;hHK4eF%8-QGϸ!MFoWcsPCAx4!}q+tG2!PkK(=Pāgal =65Jic>(2g$2Mlا)gv?}åJ.b sE0:Wj-;23TiC7_a4 9=̓|wd"v&%r)d'!H,"c;\ӧwWiW3ώ!NiiUl/tcdUaXF˹(^z>\>./O'xuH,Jx ԬX gٮ?~R2,[1_pK/"OM[ 8 * Wi1xv:|iְNuiϊ_2'Kx#2(APxP}nL*_ŗf^7ZxG*jQp&IQ|&{kk{FP`_P"ۗQSſPKy)PKEgolang.org/x/exp@v0.0.0-20240506185415-9bf2ced13842/mmap/mmap_test.goAk@_"pN v)ԔFҒծ;r1%8Ћaތ7yݴW>`8nsc0<[N#\ nu@p/ :q[*wPtm2$*F,ք pf~ZB|R T/zH)"I_7LmR QĊd3ƛPrIl1Ū0C#H6 a(sz\`R2uF5&tt"yI8b:D_q^ޒ=wR՜qiK\-Ϣ_jC{Љkqy7|x&γ2Fjћ55;2!{٣4L/LRpx iZL@AYO[sW!no'P^|vJ0n2o B׊;dSZ"rdX92=6J2I);$ {|^[l"TC((6f"/r5 C[nx53e>Jn5 @Gs,5SnZQA&#NRYW-wnL1#YGh[k_a50Ecy㕶^JJX֣cvC> -Z Ϸmg|[BlnjUgdw0e-JD yq--~gMlK1>Ms2~9{v1SdcRtG#w-3]"{#[39|z-aO"&3ИWp2?]v]rH-Zj6}XȘLNoS U#ٿbSA}Oՙ5@*nV{GP[&zBngYj5QBqtAaQ 1 `N\2J*NgC_Md>KnT;EsQJKvܑVd^dC4{Xzl#:$h *,tV~V4>dٮq0W.vuZV2@ݥ|7~J̞k0SPw Gj9}r12!,O\ EZ{}:u(JxO^>^rpnͿחWH}ȺDOC}]<$# PKnx PKHgolang.org/x/exp@v0.0.0-20240506185415-9bf2ced13842/mmap/mmap_windows.goVoo~m} @ P"H xiHY EP%z8>N&2`o|{~T2YCAtC=:Ԛt@_9,c]yñ^J PZSΑa.^M۳JɬBFx\3%"b)>0Wԃ)!utɢmAS5"`QZfxpF&@44fbMGh|sLh `Rtzx5bGSYGD?_%30 M:a?g!}ݕ\gɔq]>UA٥ KY V_ic`09{jtF&@M;܏QA7ye*u/S%YޢGj^Sd/!v5 l] U?ҹL(j+}[ paYw\n=a*sZUm]y\C1!_}>1f* i8 U[- m'QC'HnTHTJ&2Mڲ[/-ǘ\>_aeHfڀ%#Jf^}ਊKFp)!C9ehJJ^[UM[`\", Jq~ |)[h"laHO3D%q9V"̽-0BXFSJ3t-oOr'j;?S:~7v"p;+ B 5Ꚃ<>:Lɲ'lq ]s'D2vCV!""'&E2$$žWI_TҺ8,cɧ'W)KA{dtCYF=;W5ݝ9;vqRehG&d#E۸=v)?4,ֳB$tB"~ގ,]nPKȇ PKIgolang.org/x/exp@v0.0.0-20240506185415-9bf2ced13842/rand/arith128_test.goUQo8}_qH2K$M"MUJVd4_0 Taf{|}|ν09_ B/(\r8meEiYN7 hCs: Yފ99(r@EM3HWo*:U9 H$̓R dAav}~q{w VR4[SI&\HAb`VL4)oϬÉ:r2jLssT+fӌCe᭪p]KXF GW|biά)& :y̌[i*[QCj>deY((X0Ty+Gצ/iZ:/u-ox(edaVW9, :Vҙ̦V}XŹiK/jYcY 1=ͲLjI!LHuvF.z.hEk o`i`& v@ 6p5lצvmpn"C)v(NSRg*WӚD ~2 4qLcA uύIـ8c1!$p@YaQAbmGHHQ>򑋉KPQdQGďc?}j0B?#/]EÏǘaMP|#7 ȍ+"sIQ{&Ur8s0ЦE\qKiYHJV%Gc| o8^\;;* DG[ZSKWp45(ڳj\\'@\*b5l)*x8hsljxɄf`jje+*LǛwoa -醁l6A; ,|5`6bHÞ̅ S 7bjstvV<ko561m48jh [@A%keMf͗ٵ㭖[)05Rf6|PX'Vf`݊3cuX7b̨4\w/l616,%Sr1_bUs-=wnji݅J35ܰd [zŚ#H[{ziIj nM##l=6\ mA|Ml la%{V'YS+،;yrK~;xI!ś1;mSٚjV-AemS-[}E$G*">if,o)Y%\2_XV=qNG$[]3*L1YA^`v1wG-^ݚJf ^/bkд^̆j/%0Liɾ|upΞⰄ+j?%QIhϵC#!i n1KP^'ri<ʥd7.OgV^ ){#5`w1TG`O;)0ܞQ]_w|j-AZ6TTTUP=6ߜ=mΠ[2F,Οjgi_MwWa pհ`0njV WlDeRA?0WsQޛop>% z_v>9=B-!.X@÷ܕOdp1mo{lbPR֭ZW'=$n=:o|LJp$RؽAI=(GNe)I1"#DQJpG)`HPajq*=V3?t9>+cN6>,=DptnYq0At?.2 D |oiy[u ;HUwU\}଩bţm4ܺPJ%lmka+[S]S.}ŗ|g<=0=+ )0w̉aXg7޵AYgRxDޚGs&ƽN޾{=SW%5TJIۗg6FjƎugԞtw'NbCP_|<U^«ҵmdžyݡG.<珲|dU_N'LJ//?|~oPKd PK?golang.org/x/exp@v0.0.0-20240506185415-9bf2ced13842/rand/exp.golzKY)> uV0;k/cC>RUBU-`ɿl̥#ߞ>׉r2_^?>=ӿ~4鹼翔}LOezyi{2}xKy~,uZ_?Ǘ2~\^my2O_qzX_Nç2}^?/M/[a<}Eo˧O匕eiӗ_^//~}wweӛ޾<n ќAM՝;]J)h1,e;]e[Ou/d$}gUP;ʁ{sw/}0U:8֠ku;.ZwԮQ.B9yvhA/ N-;^s~uU:`C㢕۶lm*۱Θng\۷# yn݄c_ló&'߯IKi$z, \6vdO7=jr\{`tӎ#eϣҽ]ݺmTٶN;!^tǖxգp\qڎ w eppe~ bN(pJ]U.^:Ʊ["Xp8cZ_iҺq條&5SNzy]M!yіJkg)+JtIY\.Z|A~R ]ծ5Ccb24XɅx9\c#ڀ.ن͘c4k\|ދAF8j)u<XW g_ #Hz2(hE+H4,qAlFC-◪\ qw$_}tMZQẞeY#RFm[\AO ˕I{˒{83^`?j9<;xw>r2uzEb^P׵u*F+鯴X,róu˕g$U {nw ZBg\y];@ISkx/K?C4V/žmڽ]ghY>i)*g^b7m;WC KޓBZf ֪]1,ѽ'y+xiU"\xD@b{XnPZ,+j;bbe;r>"~$U|~Y̥|~Yv,X1-d"]*E}t6Mf꜠)},B&؅>9hjtII43eř wor@Sl M9ek2T ?DRpʍk0<?y$UxTu86P̋`rF  :>x: IWVb7%-l%"EqUgPtF 7VE J8-N3 8 LX)d%3@mAy38Qr#iNC#;gG?.!&@ߙf`K1PY#op XD Ȗ3 -.1Mca cXFs $l8Po3K,66J("pmTYrVBV@qX -Ż#Lr;am..L1v 02y2"c`قI1tN2l3ɕix!DWTqC` /?N5G_^<y,5jBk>b IJrtdz ! p*J|l$) pY%shn8zޘX| 9\YQg(.aQQi(7#ƺ0榸t'YfZ+s ""s `#n+&eؖ56 TNLi M5"!7f}ӁU$bQPdj:]5b#)ob'w:' A>X'D2G 9NS)RFUtpZ(-#h*ǮCcѵ1T%$%lb_,3(@-[M0抂u$ѾQWP]c54ϡi֞c@k ƸKb6IJ>MGfa`5]BDaz^!l3!$(8ɵ|i306 IYuslVJ`u2Ab&x捉Z1o@ :q4g-=/O>m.e|j F:8Dol#|,eJB|KH hԲ&CA\32q^,j)fqc@֍YҤw S̚B24ڠy(qW3@^Q3̙=J9+D5V]d 1kh: z.#5Aېڙc;z BޠHJZŒ1VAVc L 8oMcʘԱ gK 7 XOB6?{ً'>2OYgG9!zd|>瀨]VDmY6l(p8?v8fc (o03[]Y*)p~M!@ F7(3)湕dKDIB->gdZ#ۇwmо2ͪtQE"Z-͵>R2iSOC-A&l.q~Nы4]įEӡ}(EҰK2ME- LXjtҤL()hHS֯/̙pւY>ݹ9a=4E r~íܴE*gݪ4*$7O"7Y\ڠpN̦HʌndÒ&zB&ؠ*1R)Mf+Ig;h5mwN$E*0<)(k~8iϨτFOկ}NmN OFWX'҈>I5C[D2"5ٓ0B$b-ϯ3IQxC> 뛑D6Eڬ]MuB9)pvJ' nܢS: ܬtN+S[&QFj`liqzfDž5Zt`}ד9;k%T<3e @CdW52@kW8GK¨dܯ ִؕ>ILHE*-*ͣg5;sT-$6˥,y$aPP` Hf!;dy?z- :ďO:rGGe!jSW02[@]`LC8M!=ZN4"nIRT:(H$vm@mZ f氚(ѯ烹=C0wjn)/ rd9CѵCgiSEJSh Χ ]X0? 3hrԦ1]gUUi 9rrl#m8$V⮴dbM6AټY߈+9^R[~dBG@I;8kfw;Sy5`H)CH[u&oΠ^ (׶TM)9pG2@#u#Do3's f~0 ~`@VPj'8Hs^@O_PKt+PKGgolang.org/x/exp@v0.0.0-20240506185415-9bf2ced13842/rand/modulo_test.go|SnF`!W8hۿenӌȤFv8>ɻ1˃GRw!QdDb0-9y{l.O>갟S=aE gT~w{fqie1 $lԢK|)bIRdQO9edLxh5?Lv BY3*WawwLDFlS=<8.4 :5G(] [c}e%qAO :h6BtѶX X%b*|ʵ jdʭR܀jgh']zRgQ?}EE-(<~ھh ABӆ3—4@&NEۨʤpۯΉ>IOoٷOEuO_7j~O7[4u~,B ,&H)p'oPK<PKBgolang.org/x/exp@v0.0.0-20240506185415-9bf2ced13842/rand/normal.golX_o$| Z۪*'%N g-Z;jaw?IXTUbܟOO#s?dx:On)cݝ9.;OSvqnvǏtȳ?󻿼=_>?zOp.nJ7f!oܲn}vtwwW_}Hv7ݛ{y<}Hnޟ/|;J}U)]ܷprp;?Oc>Uߦ9?JpS>}4?_|\.t)=i^~ܹ7wt巬ܺ)=>ӹQ||<=_ynwwwuN{R\߸7n)]ӡvޔUғjۮOÿ*qs}?վhws"]]Y~_b̧o dy7"Y}_8sv\|S9vgfwCy]]}U7{]r~t{y_~Z/c=^J`E._=Xě"{?]uJ#7/OoMo%Rtr?Xϻ+xN3ҭ(?`1rBq vEE8 FǕVK BVC88Wp&[VYyGM:Uz)KO:)Voӄ4 Q$Cՙ8N*Z mT9TzysY xXEqi3k%Up&?FV?/sǜvCA B1oNQ@RD"oj f<6@F0؅(@;GQg(!lKφQ:rVM}`7(+Dv[=Z,;{ c,˲UW0{6ݤU6V5" [Eqdj` %XF5"ɫؘ^,J*z#¶i{ L Rհ^$ݥG q+ >]~νu0j>gR$zރ~\v>1FU$x-o+GYo5)Uh("[b,཯6PcVlK^Kԕ,LBz,{:Pq >&!F, .iCdkYce%JY+ɸV: 1V$҂yY'TSA-CjP"$+6*pȐJHZi6I&ЄB 8 (T *ԛ0H-7 k^=dyդgC 0W!5YEk$W4Z^*,C e5 "k佮ɁHd3b\?`GA!jE3AM "K$5BS]f3>C(M} +޳j5_FRI2csYV'aѭPB`DBToր Ơ֢b.PK 'PKEgolang.org/x/exp@v0.0.0-20240506185415-9bf2ced13842/rand/race_test.go|OO0xS4  EHBQUU%$#j{e'*eɼ߼LX7ngC6sw66âme CNqg k%AZEoNY׷Z)HYkr+J{UB*byvysJq> &W%rip6&-YJxcH9!-,. duMFV:; dž P# #NQHk=ٌW^\$;6/΄V6__k"gChً,0Rra[.ݹѾ㬤cIc-2yM9g|<B= X'R=OgU {J(zG{8:g5Y }I8%*rc,<|k Q=KZ{ Gnj9pbxٟ{\Մ+2d>_y7myMyUWZ%Nje`$aIB wOBmp`sa0 +:AˣR*iLHſר6V5Z@dIR+7FdNSMy$J*(~HPDf,Csڰ\{-IL6D_]2%v!ONJj M{(|Th.hKQz[4v8bKQ$c]XNC.d= 76hw2bJZ) [-S(tr)զڀƒIŤ6gNnv\:+$U>wɲ W G& VI9AdMYgu "nlF ܽ3#ZId"Ax~ G4@ ×I\iF wڄ!.g6r+G坸Zh+ <QUo"p˨MPOߒCc@L8ZΚ$,E/((RhH;5rACmwhy~"J6RmցQ1~|m1ASq nZZ!dA9aQhsMD8,$`Πл69K zNQ6 y.JjEatp.G3͸X.$H+Cp9 C'8[6uG^ôާP5ֺD4lll^&p%i{2r ]IY'hT\4,e L\5FPCAN5Cz#z~A25AhQ_rwWpjp#tX]AqXx_0^ƒpw5iW':gM|TXe&AEcs]cXBA$w%eE M)wm٘r o\qfb#3s^A=䢪PYX"K[K XdJ-j8uEN`^/<#ՏPqO`%FH6+ʪwF$';q ~+ܢsO@_"\1!Ej6Nx|4rNqUԾ7;R.d䘱]4XvfF,GMy`\[H40٫FДt@X(m&U~&t+K)IH ;Bjq QX4awP^)$vhmU[ddJya ܗM*S7ҸU#?ΛOVӉ`b̼JXMLr dxLJ[R YVI) bވK](qV`?6G3OU|*KYa*EfNߝzqO+SBsEכ0jQWBqW sg튩 t'@|8Y2/rM.N5A@=< c^ "=9E}6@@)Um/rb 'l s{xD?sY $5E((>szhӕ3[@ICY-g>٬%_w>Gvqz;qSbI1>Pm IWc'W`F~i U O Adh6qԗpP+QpV)bOXmfߕ|&~C[@hWsYle%_Eq@1v0hP}zƇko:Oy-P5 My&*miggap4ڊQ)D놉>|*yQh.8/xA\`aq0;&f:p/kE g ![p+u]YgD-*mig( BEzT~xYN0D|j4Cb'+{2ak[+6f~>EOⱘoZuzf~y .-̚˳,'=ÔpA^zExw,cǮn:Y蛪- xf<.X/ui֌"ӊ{c>n@UɁ./f' K饛;~ (v=j-x/RzC応"Ňq{ 99B2ѫ9lҬ{ ie"GU?z*h;{ku7Fs4>!Zb.^?13mʃtgX2%VmT׳R<^{ /Pa?QaHװX蛱*SީX=͕~\\U**>cQq>Y}=u'|1d~4nYOlXGPK;y'I-/PKEgolang.org/x/exp@v0.0.0-20240506185415-9bf2ced13842/rand/rand_test.go;ko8_qj )Udɉ&h;Iw;iŀb6咔l'z{wI_|?}!on*\5b3Df~$-B ҖvQޭ$ :\ly$w%!%!n{ӡRER0Ț~L\#T" @c}` =`D$WavS۞gJ#n@E`zjITlsKa,&{o5:Js:l s:(%X `2z2"xP⢔ljvz\\.βO!ڶ^:'9p86H 1N9S&8FуȜ9=`p "EtzF4_OJ*zT2c)RBzV_@4Zв+qEeo80Mc5kLeBF ..M'09DTtL\{dm ]?d@l_!,>5TyFRf%|u:^@kLC-&݆2=K{,)am`=aQ[e4E \OMSˤ aR>[ZwHY+AP,xjjPhN jJ)*\o{s'Dd S&e!)ñy,Y [lFa&տy^ӫ l6 ) [̇K鉢E 1+t BMMsyrK]97ӱG㽕P`yj&k@vQַzWMN3n#~FrA1cho緳H@pXuhsx@J^hy9 )K錪R lQ JT\QV,Yp*-/5 scGL|ۿ ǥXNF"^'tS}C炛"z?D9:/D`fP9;^]ӉE=4dz\ #ieކ9 N`x~tNN1#F ǃ!LX*Tn߉A00߅.xBCV),/\w 0>tzJ֕6CBʍޯB) >];A=;S14U9!5UpUd.tEIWdFjLhVs(mU'ybIOs;b(=4Rf>ɋֆsZ/_ŶS)/$Aycą&>&i!  ЯGF}%XoS, j FllRܦ'w\ HP>ߐ jb0ޜ(m^XD ˻ 4k](HS~dh+=#$|oHtNW#a3kL߁Ut3#WqøSng )AowKwI &P(Cz'Y r_]"Z&?+ ˆPEIetc t&`T FiňPQ'ptFNI33e$+| ]g }j˦)q%瑍|s޾zmyy"~/l]A9(9~`{'p >~zn`K3xk|3Ll3nV}f.hԐ.&KheRMY &G7=M <Ŋ+׃רͪɼ D.7GtbV"oC(l#J1 .%'kQyb$yb-ƨzKLuOay'drd1ySЬJ7f5q]FI dDJ9zI~zx~JFdћӻa~$`Na+Dmxzk #qo뷒5yx[x =w65xDra# 0>Nqx<Y]~օ{я5ߢ->@Y͒b1K_UuP+30W_Al[$^_=ai3_Yjzv.16G9Ptc Զ^G6 n\ ~Z-<}K 2&<}WPK|9PKHgolang.org/x/exp@v0.0.0-20240506185415-9bf2ced13842/rand/regress_test.goz㸱o*fagV,=`gs٦ز#ɽ=̽lٖŧUO}$kc*$î(~aad+]VcUYݡX:ܭJ="w+>ndKUIŖICbYΪ?~Ym|E~reEv[ W+HfrY-YkXX!׎n]QfUwʃߤZ箨Y۬\vjJ;b*|=cI[n2Wl_E-6K>7~V >Eɪ^GVUk0)vEdöICv3/˃~WbXVэ,_{7k?*WVqMƣtSt᫇fn<zI|W_?vO`x:?&Y^3sn3k-XlJ7cjuæ*M[seu7=fۘ̕1aU!T1U=irTg%܊vqzȗ-u?&M)4Œ}{~pDwt;Y^љ!hU잕rLǣ/I^yI'!$\,\5ܥK- ^B[9J$W'Fp:DkԒ Ȭ"Y(WKE Z8L I Dt Ҧ"!īdB,*!$ ʥ/T5V֎'*L 4N*LWqrA$ _R^喚,,,r0.UUi&ZZ$pIM&HVJX!xD镳Z`a1" 9w-e;e_4nk~w6#}.[Ͷ-f[yz&Svx%]^e~1*o[MxW[+5G/7yK[%UGϠڥX3kUQOIх7ynOiZU/&ej2EqǨ9M:;i~La맳ЛgW݌m?$[sӗ5oF5wsy4zb~Iyqxq2~NSK-4Y!dSDVY-;lV!03,mCo9+?ZemvU~{Mb!?$%Ҧa[+O@ *NNa}3aKp-~:GNIyWlqt8o6&/>VniY=}B7cGXb,$j]5էi=Bc=w>B˹`M^ݱRސUƲ8,  &kΔt1ٴzYOadtMnF_3:~Pau5(Za*?xŨ3)c(}審Xϓ"Z{% H%$7ƏLJ Žʠtc<р`P/AV,`|4 CZL/I V)SGKagv $IZ )nQqlX6^бl%(8],E!{*cA!P-m\ѷ7jUުe*ӽl@v 1N"ҶB{IY%\Ja|>?4)+,< M^)qnu%׬fO ΕU9uH܉'BZ%L\2(, G-T`Pbvr$OFD7dMjMjѢVJ.-e&xZҕ Rѷҏ3RMj5G!% <rc Ѻ LmЌ Mg6nhhf}}6nh8w`hㆦ mqqqq ,f3kgEvQL$Cr [YӅ=AFV#y~VZNy 5Ժt?E!rCfn1C"'_G2dQZpϒ˵S ȕDBZ%q2>ŘO, 'y%{yy";-+xnƾ 7%܍ d_䔛!~vq_V/.K2~v?_V/+e6/Ӿs%2 H[?m[N\)l$\KD4 4A_"<;-sЊ_J ppop΅RXYq+1I0J!a LH"iYZ r Y+l$X;,sB JYK[qs/&k" Y9,Rɒ s+[Pi7% UxCER܊4kZI+Grr@E%Dq% Z~iw-0_~jrgo؆Z?oh$0c8c"*V^ 7(f1Q0Gp*@uAE-أ5?A1~-bԑN#{v8FD> H9ĭ !|M8t_9C^5@mR,>Vri\%;~ZnXOwX墓Fߙvͽ )&:}xF&C>yI|`~bbW!)X.n@P=Q&=bgE'ZA*fYlܴU> D D-CpDl. OKbC8r: ȸe"ߊLL2X6[W0Ff7{N9ϩ4B" gl̨ĠĮXt?^ƣC}&lv/OB@ c1=Aٷ*^Q&'F"B XF+ m W @1 X4}54Fkֽ$ zI%~/,mZ+>"""-ZԤM+=V >vuBO:@ %˭RS|rsI헕]cn:Oz J-A@c]d7h\I4m]cw`;_.vBzȹV}>9 Qvu'a^{g#jׯMnbyS^)9 8in^DzNNBc 4BgPP˧k:=%8Jw Vo[HIZJJ=,_-Rz7o{za(o{PK&GMGPK?golang.org/x/exp@v0.0.0-20240506185415-9bf2ced13842/rand/rng.goUn۸bǖ,YNiZ i@.hq$+I. k,Hۦ{cX7|3 CV)BpJHe]5+P^G SD+s\Pk),@PmVr AWDCN8, r n_]X\Cj (5;LR~\#7;N:BL<ÈzgO]PKd c PK@golang.org/x/exp@v0.0.0-20240506185415-9bf2ced13842/rand/zipf.goTOo=A'R2NQb Ӵ@VHJڥw|~bH[_jfv𽷓xkUY ?;ڗ:]#P!4G0 R98Sۜ!|I߯oUN|)=r1',L ( _>~x{-jM"+n7dkd87?(n:e4i~VIOlMQ.仃j^s7*MƒV2ҧȺ$LK-XaX|%+ujS1H_ooZ`9a* +:3 ,~{F FH2 c٨{6j4mOGnNryC˺=DpQQ1]2},j0{vWE8GZLvq1J7(w(sTm;^oWvVw]7\1Z*k_hfG &X%.pV6L!uofa;pstV+ݑqԵA6Hkn74x)8ja ,ƳPc7fp|8y`$ؖ}.=wװIghE dEܧNNK8s(iàp ǰ}}=E;𕧾,H_:|ԙ[/1^O7b\n՜ n2ߟ̜{qxДER XNJjG#^gW]oN , j)c),f/OAP5,v0vC9m ^wkclt]%;6sKr<k>g-VG%VNR_=E8| PK)7+5PKCgolang.org/x/exp@v0.0.0-20240506185415-9bf2ced13842/shootout/README̱m1 ^S|x{pN$H*m&h꼧4/Qn0>m+EXt0>x2ȿO|M nHCeD cN< M#]J6|bԕ gL~^4ם:~/PKr6PKTgolang.org/x/exp@v0.0.0-20240506185415-9bf2ced13842/shootout/binary-tree-freelist.goV]o}S-Aqھ8VZ[ʤJR5n@+kqWX,)Jmڇ=s̙Z/v%ԋ6VK別T(tC-4jskO.+6Vumac)F "PXrN[En+1 FjTIwpM)Qj+],ڿZuD2۪;U;"7zJUw^u)kHAS)PIc.q[iQNZU7}[©X*H]T$DdIE_ŋĭmU5J=iAl5ƙ된},)W'RckT+%Mc g uil-iTI4,=ƚq6&T{I*_K3iƝ|.2d]"2M> #JO'O3 Q穸]IfYE?Ly!I! gx 4s"ܮrIx9!OJʾCrF0[r'r%)B,4jXeqFeD-Bg@Ĉ<Α2ǘ["]&SHyS9oo8%rOEIxpY XLhܱlu"_I2Fg<("}"ɼ[yHNz]eLc"yH!#SD*3nR9O'"%<"fީ,TDyȓ4Ԉ/=#N <YI>!YQɾE7 |#!> ݀22Irl['ltI ?m?[חuۓbNJ =1aD>ϯ>Axp[c ! Zo6آ"6gRSJ3ovK!c_ )|"u?_Kw1IaoSNVh)Xo'7.cD`KZNVqmznClOPa vtkN& ~ia3?[i~BXSh)0ׁ^i໲ͣ|1q=EU|?8onJH Ewp85{gXȟڃ'֣{Rګw҉TӼx2r9=:foMg;Xq8g>'É#(ܣfwi5 Y#:j_\ v=|kim`HcƮ76f%8NjD*gޛ) }n/첰53Uſ#E7yMxJޞhN1Iy.@7nxVIoS*6~ j ;pg˂~P_qK`ZTH[釷Q;bG){h~f^Oq<\xHI3;+~}Zv eOq>x7? }#MEoE޷9O".% ;j܏[t9Y~'PKp0 PKUgolang.org/x/exp@v0.0.0-20240506185415-9bf2ced13842/shootout/binary-tree-freelist.txtlQ 0 dI^VNe}i{Ώ?9&̛;w  /:P^TRt-$\Tq ܧ(4}"V;鴯 , ڮ PKP{*PKJgolang.org/x/exp@v0.0.0-20240506185415-9bf2ced13842/shootout/binary-tree.cVs~UY6vHXAxިk.Pcbc\xaFnRI6B(%M6ڣ`1úhli; 2$x%˙bFC˰rs+V~kvi;ЃK-d^* /!FO>?k=%nOL{4;`]j5+V:q1GD~n|.,{+Ҕ嗸+;|chN ,0%S tJI[JR5 1ڴO_R=_S-D5dtahjO NFVn{g-{:W{p3fҼtkI f[Uhpո2c3p ?[G]&1>|[,c[PӚ k24+Szov\e:i/puN{]GI ;ԯ$d.|gOt"WϧvSl7PKowWPKKgolang.org/x/exp@v0.0.0-20240506185415-9bf2ced13842/shootout/binary-tree.goV_o}6?Ł؛}Id*+ ٢mb-Ҡl|b?qy3g ksثmJ6)=J5Ϊ)Q FBi4foGJ +c&w60?ޱTj%(NZ9'+yU6Hvk+JQRjn>j`V'9KSIJW*9˅yݛU$8F5تeI]Rr[Zt(}IΚj)8y*R40n#-Im^p,'@$Ib#zw".z_%R/7ui5x(kن6gsiH<9(5A]a!i+8+cI6NkPI^eyVrif'YEkiGa[N19x3cOb'rD%4,GLIH0یYi89̲0)$< $iXR4-PKr PKLgolang.org/x/exp@v0.0.0-20240506185415-9bf2ced13842/shootout/binary-tree.txtlQ 0 dI^VNe}i{Ώ?9&̛;w  /:P^TRt-$\Tq ܧ(4}"V;鴯 , ڮ PKP{*PKMgolang.org/x/exp@v0.0.0-20240506185415-9bf2ced13842/shootout/chameneosredux.cXr6ҾSt鯙H2}Rb-6weKRx'.DBvH@A;N|hK`\HjYC+ ˕dB1㐋BTS+!܆g 2 *H *3M`#KhjM5HS#Ă' r-Qе*̉EB!+r*¸I 6/=V…b1AY)*iɓ-{)aGox;)"S$".2Ru,$2d$͛4ڶ gsʴ 2pQ4)LD)0# )_r$OdõJײ[cb,2"P(O)o#E&wCB%{ֳ"3J=#JB1"6!~%b湉Ntѭp;;\7wwy?A| "zN^سpÙ߁M!x73ϝ­<o>-҆Es?wE"C]1/ &Wsg9i~S/p'Ӭ&ԝĞƝxpvofNpgX\sf0uK7&'F +\-".}'oc"tm: / Ǹ>_oOngS]]\?C|n [:R o"?Z>ܽy|⮏ZnXNco;N"tͲX[' p<40[7~z%N 2G[+p|}DR&(KFǺLX5ׄpN*aIi-_`VΊ)s*+OT*ldI ,.qZ$~UcDQkIIDˢ`"RQHm]ZPgpb#EҤ"j ņ #MIY)[cˊk"9{8?zxDφ uq)Ÿ0r&xFhxz2alYeCDs5DEs; g"dlY(5BRoZD (R7Oy Lg5>jZLrC21FGêC 5uf42q.Iŗ)RyxH.+Wkɓ=6eWiG/9m^Ovr+|3[KIjY[l$jUk{Kc0[)V qEq^lI%P?#`Wa=[q^$jEXt.(ԲX;j&lUc|q}!6T 3뮣6beOgWB9 9}Z\piOXPٚ!VƆ;l|`XVBBiOFd R̖ =xGvwpI%Υ+Y )U?ޤ$&5@ꐷ2#JiRkB%c} lqumNXQJV"83 jN2:1;>eQ%["O= #/n= t }8Sd>2 e8?gN/RZZQI+-3IRDR8WRm byI׉T_mJ7t m_>jٶ|:[RyL `WI];ӊZyRam+ZJjA8N$3Xh?d3,3J%.k\ֲB˝êf1%'KVZ(:Kur~~v-+Z;wk̀W8k(Q΍dX'󑪀EvpPÝ>ғ/\ϣ^3;K|+z]qw;Wl$+?ch=6,!PP+%@im {*b""zjwx_T{<4f$~]D =1Ue.P2mۭ}gv?k[҃ޖQ3aJ4CDG-Cۜ#,II}{ 쩾a45=8Lٯ] {(I[1tLFvZ+l*SJ _ V%{w'4WRT=ҭ2}z`o~l^n|z:GL~x|<eJunUL j坰)iLg[MzoVRj{jj>eq1Ǹaj['24߀(~Ǔr؍}˘Nٹ@W|a}!6z[P3_|<^_tl9R`B{ PKb&, PKNgolang.org/x/exp@v0.0.0-20240506185415-9bf2ced13842/shootout/chameneosredux.goXo66'>d$+ɓht}qHɗ×wnTÍZ5*oT pq ߓ\WR%4e f߬Rڇgn }ƐZ| |J)%+leU%@!EɑI[+BùU3%3 +v/o `\CŵA!*Eƞ뢢f*;;8Ţcd?b 8RM̈́]R4[)N+}D܆ ŞplθeDAk&yDֻ03*6 0aT}pGk恐`wxF6Dȁbl n4b,JCM_`0K0( od- P2rJi-3MT;V`Nq_9*\j 6  i)FSy>IxJ4J3S$G]I !,4'Yb.,"4&0~@ADmY'@B| Sf;bH,n$l9o!GO=l] V\mP"j3$ JXXwlTWSS.N*}x >Q{ )ЖhU5 XIz/ {(BVH Y*9/\o럮)V݉n\ﴟ mG'Rw"Yb=|c䁭=Nva+ GbCWpTau.CbK`Ubd,EC[ESX1QF; ?` R| H9?G5v-{4tSh-GD&İZU{pfƺJzWm FQ 6`Af5PmFH>/JAh$[:$ JHo-##../.Kp\ .[޺6Bqa} xN*<+tsh~O_ H&_7 UUӪmv U>:>͛ߝÆ +Bz6mTq*Y鋻9RwiS}܏I'5Z2Z٤ŋ27ƒnvRw_XPӯ5V7Tڳo F+rc"6FQϊJ۬N [!?g`uaQ<$5/IP~73ؤayЪjm7fw5V5YI-!orznoSHM[j+7 X4n.0jiU1`p#PlCvJ:@죜菝K(~ gr4'L Jbd;[bT0]a(7t;p&ڏВ8R[P. @cWزjcUCڶFu`T/H)Ve|sCkfO3Gqw6Nn^s]˚I|2Y&ʣ?v-Õvt_A1Kz1p-etW}mp ^dkT .']tW]Eu͡CcT ..X+b>'T]Z3P_`d1g}@\v7o;S<۝*fk({7`{c|5\0 b0Rx\IY )F{<ыׁp,;^Ik/G>i.a|,]WPKJ> wPKOgolang.org/x/exp@v0.0.0-20240506185415-9bf2ced13842/shootout/chameneosredux.txtJ)MUVSv` *VL/ Bx .fJ T7BB'(.Սa&.fbBUjQ>B~^BIy>Џ&vD39PK3wPKQgolang.org/x/exp@v0.0.0-20240506185415-9bf2ced13842/shootout/fannkuch-parallel.goWoOJj M<E m,%M".J5mqݯvB9{V{\7<Z.+ p HJKV+bCKhj C-dx!JȪ EH%Jb<($=S⅕) +kX ^24QE)!GU bYB $UXJ( …bKڰvVr蒗)Y+屗lBL˦\mBP**eBbʴ!*Ho(Eo0-).)_nBnk.*.dolJ4׶X[ T91L*‚b7P^ YSlPLU %셖g%Ee2]zβ .Sa/[d'2Ȓ>HC2ɗhN!orI0 '0N<.yf 2AA?@, 4 'piQy|\s]?Arwa: 8y <ļ㢿4<*{nC749X=&I]w JLj=>> ﯄Uup9z $& ׬^\v6| C__> ̓C}ytpl/f26Mdr<ع*$㪿c8q {M(^0maZG02g)[O ^*wBb*u}|zpf/eӳX0^!_'ӻ'RΫ[*kwӐqkDŽmU7;aN8C5-p‘}0 &mO]Oee ٶjݛKf=jPoV֔ #slwg%;jS,9NQ]F~l :LKt!ZPSϸ+M637S=-؇ylrNO~v.<(\,Z]<>?yPaek4GD_Y!kw~<]~gf#MpioGl֪w kN]l3I=NnFFc=0yMQ~Mdq`|=;l~ʡvKt^nNtR_U7k)\b[\c-.y# PK baPKRgolang.org/x/exp@v0.0.0-20240506185415-9bf2ced13842/shootout/fannkuch-parallel.txt,; A|Op'^ADɼ2}ʷclDJ1%t{4K+R%t{J8?NGZ/?횏Ӛ:S39e\c;PK mPKGgolang.org/x/exp@v0.0.0-20240506185415-9bf2ced13842/shootout/fannkuch.cVs8 śn۪$ɤf]Wd[-JOv}VCn ゘fmƤ )gXCI@J~9;eK.v'*B4wKgʁLQ)I :k%ne+ThGi@߳* C)!(>{/R;a\ҜؐkZbKKd;>-mFwDeZ4<_JQ)x~&T}.2IͶLi BBlGtM0AiVlEpIXebS:ۑ30.6Ys.A89k[U[RiR1.{=QX@rVpQx{w\TR]tɗIuVݨ($WQVukYVꤓ A]^#H0($$814.i'8əY' lczqi'6p4l[Aʏ @qZx5 CޟɥuSqfâLar 7vlu:u]o;!t-U؉_F~i ;׵[kK˭U`U, kapl:I\UIu*ܺ}M^UvO P>,_W_ ўຟ4~pLhxp7݊CEFPe)jva2 Uөm 9_glE/kK͢U_[y&ȇ^ RǞTɃ[#n`>4=Xؠi&UcW_% ]BK52kQfkmw]lS Gf!uY-vr7\c>[qe7!>bZ)$;kk SYMjJW(x . +noU GPp-^x,*k+4js۩iaWuVUN:e * b `GlB'#R}̮)lBA88 Әi'h X&v#A4I`7q)g =)(ŌݰNFMJ+x< 4K+6U#_r9BrLbe)3! Niilնi.!/ctڲڹK#!/IZb uKs}z#%2e}, << i a_kgyxv\y3Ӹ|.s~g{wg%oPK5$ PKIgolang.org/x/exp@v0.0.0-20240506185415-9bf2ced13842/shootout/fannkuch.txt,; A|Op'^ADɼ2}ʷclDJ1%t{4K+R%t{J8?NGZ/?횏Ӛ:S39e\c;PK mPKKgolang.org/x/exp@v0.0.0-20240506185415-9bf2ced13842/shootout/fasta-1000.txtYFlWIt HfC$ 5iX,{~e[?ifW{>||=k|q|=_ks||>x/G ^7^F,7>ㅥ85c|~w /o౑^;qH[p+#}6bKW*PQ7ڇA> !Fo1z}DC jbQ7ڇA> !Fo1z}DC jbQ7ڇA> !Fo1z}DC jbQ7ڇA> !Foۿ~__oǿy搖ni6Gl |r3e<,2s?z9#2NsO<'ڊߗҗkz9>Ǜb)30ŠsH*muiefpyp2Qmyeqق0\3x'YΧ5sސOm|0Q `lD i&[1m=|GI"[KH3,̊8Xp0#^yn;/[0}e3mf&/-3ZI E1[v7w39}M o tv_҆VE.fE+`s n~D|dD=_>ݡ,qvUiõ)>PRHPxy,M&dxlZe9X XB@6bבkZ96bE>̃DHf';C" ݎQZ  y፱E?AG>~s1XB%p[zvd.*9_ eZ65XQ*# ȣSi`E.9Eo}m~{L:6gԐyYZg [GֆylI?D~Qfwdoo>Sf i#ٜRth7` rd[ܡW2RIwJbnPސ3%lC Z п&ņ̛17^y-4t2BӨלR!bG*win- Wr G#sv~S:] lNb=7n|ov)rfNֈbg'-Aݬ}ϴR͏H;l[^=o_4a3CEtp Ħ85#7wr.fB }& pftn=!Y_WXtRշa7u20 𱬛‚jBX݈֬3x71"AS%MWӣPB`7BuR%QAak3Q+A:v~oצ8\K^Jl$ eam3~y@3Twcϼ:PIg4J)+JZnAIM.pY>ct&gm' T)关A]Q:ҢW[!xb0CM>+O4hM ֤",$ Åʇ1* ݧ!yDTceZ18ũZL{ #PnV#B:oeh 9+]JB!'0doS7z/ *rq*zL#U{~:ob+*eY6x<~7QgؗipnW9n5wwbKXfoK)"}&U0ȳ|OgX+46,kMP O,P#&&ep; )͆r"R*[@ :LG8vOR*w.arQnTţV@3huSԕ<8*Z;R:1=R)[\^ g@E+Wy`&IB%Bj F%u",N#d#\cƱR2cFO"|ɄGՑ ^0H3ţ4"n ]x1nADK肁-\3Hhxԗ ђjodÅZ溦d#odl"3IT LfcZT[)AwAd3SrYD:33LTV,L☿ sTٚeEt ! pC'`HaN` Hnx`n}8a~x:}!A@<:a \M7h儂S.u@k'ģrI@]{2"' 껡="ox>8B8$ю}Kr[軁cStZn( ; wz<"m }/t9q<58!4&$'s++\ԥ&С|rm'<hMB}B FW. q}9 ] z ɘׄ|r$t&g\CnQ)7C\2"Ml~hG8ஏZniZ$pCdp 7 lh:Ų-s^rvl0t< 2mcFBN'+\E;aSTN~zY)9WѲZ~,ӽYeyo/y; SMu ̪QO0fZX/ " / E*/,:l=F<))w^$lە(߫U.nmfۛϬ ӈLQ^}5\ Kߚp=bn45[mVk8>=;{8}nnE&ctmd@1Ke:k8n6-K?@.2>,D.e=JX;\7{pXW1Ws뻅Rxd ~1(yGi1qHVc7.R.e`MߧR~W?Q.]GXVLJl8:{4>dZ屆hɅb6E {ZrZ{Dzn}X.Fiނ:AspA}— AUD#J1WMٌrIJfЃn-SjA2Q*څ#)y֊j3\ʾ.xʠ!kg֠O!,$#Ґ1]Z}?Ϡ;T+$[}5Ԍ~75aȤhհF\-lV)e9˰@|揦}cnESrY;Rl*grS]7"Q+GiW^zР˶OҴfs۠QP KZB=bƏTUZ~\1U(^%pQ!'k4Š*CktkS۫EUu*U]T [}6peW9zZ0+iޫuBNƊ=2A\$BL)֎ L=g[P\c,c߭ /4nE]ӹks Os GڛglvW8~Gp|l=Ǎ>>ZyKn\?o L Ucwz͹j`,Q/ַm8m>kMP^>y[%%6㓊2ߣTI4nGQ~ۣ\Q=JG ((7{opQ[ȥϢg"{&nݓoޜ{³g>voNywNώw{=~={{~KsWEiP`0``6=m:P۶&6tpP#؀MBmRF6!6hb۶=6))!%;!J-J`{5 'B20 `SfK.RdDFU\n 2#/neqeE 5o?֯xaG6c"-y IQěI7Jeٮ+.|ρ\=$"Y׎s>_r{\%D)\?J -xY뤕ziloΎ733?V`TS?PKLEw xPKEgolang.org/x/exp@v0.0.0-20240506185415-9bf2ced13842/shootout/fasta.goWmo8,ڎq^ 0" H>n6l6[KQTEa(qsV<^i)sLiA9nHeaF le!@fPRτ],X(& ҐTB@B1\r.`VP&%T6TؠTBUj3SsiY$2T}ESr2$SFDJA;>sY։L!^lyZ˙PD3W2IR+ ʬ41Bd]vʄ%* %@J TFh%ٲLnE6[R;N24{ xZ i ITdS8@ds k*#)`.*gUZuP 'T(r1I\K_3UZUwЏ!\cG'#r@0;aC <8rw@wM~uv!9{a?AxnĆ4y(i}6Ɠh.~FԿw]? pt4!p#[|z;rL# ey}b 8u W~p0FngnFal5 (!|Icӈp7&cA ɍIlwʇn="(6CNQlA#}0F|F\o{n\nȏ>G'Xhv|vLawOذnw*jhʘv7YKeVݹ$*<&F~snlO-J颋 noݼI 0Ji}Q_<}AZi"3Bd+mIb,iAZ|M4C|iX݁^N//j ]?3FI@c-%r Т(צ"dHfp#dQf3D.L%<=O7Ft Ai>$y.9t YnEq |8)fqRX%DB߾y!/J̓F4S8qLœZ,n[uS }x[ʃ\~OmUq:k)q^˶9MЇ+pvuyIAN_⌔Rݯ닝m,*1XkpUXS?%lrt&P] PlR@mk5-.qf} @(+fOт+gڮß5͈KTQ'R@Rc89oO$l_+}ȡ {ݪA>yںSP B*++փ[n;t|ޛ=u-mMY磣z'iG S ~9$Y}}׻z&3Iyy||=k|q|=_ks||>x/G ^7^F,7>ㅥ85c|~w /o౑^;qH[p+#}6bKW*PQ7ڇA> !Fo1z}DC jbQ7ڇA> !Fo1z}DC jbQ7ڇA> !Fo1z}DC jbQ7ڇA> !Foۿ~__oǿy搖ni6Gl |r3e<,2s?z9#2NsO<'ڊߗҗkz9>Ǜb)30ŠsH*muiefpyp2Qmyeqق0\3x'YΧ5sސOm|0Q `lD i&[1m=|GI"[KH3,̊8Xp0#^yn;/[0}e3mf&/-3ZI E1[v7w39}M o tv_҆VE.fE+`s n~D|dD=_>ݡ,qvUiõ)>PRHPxy,M&dxlZe9X XB@6bבkZ96bE>̃DHf';C" ݎQZ  y፱E?AG>~s1XB%p[zvd.*9_ eZ65XQ*# ȣSi`E.9Eo}m~{L:6gԐyYZg [GֆylI?D~Qfwdoo>Sf i#ٜRth7` rd[ܡW2RIwJbnPސ3%lC Z п&ņ̛17^y-4t2BӨלR!bG*win- Wr G#sv~S:] lNb=7n|ov)rfNֈbg'-Aݬ}ϴR͏H;l[^=o_4a3CEtp Ħ85#7wr.fB }& pftn=!Y_WXtRշa7u20 𱬛‚jBX݈֬3x71"AS%MWӣPB`7BuR%QAak3Q+A:v~oצ8\K^Jl$ eam3~y@3Twcϼ:PIg4J)+JZnAIM.pY>ct&gm' T)关A]Q:ҢW[!xb0CM>+O4hM ֤",$ Åʇ1* ݧ!yDTceZ18ũZL{ #PnV#B:oeh 9+]JB!'0doS7z/ *rq*zL#U{~:ob+*eY6x<~7QgؗipnW9n5wwbKXfoK)"}&U0ȳ|OgX+46,kMP O,P#&&ep; )͆r"R*[@ :LG8vOR*w.arQnTţV@3huSԕ<8*Z;R:1=R)[\^ g@E+Wy`&q"RekCYmkLsq[ Ι(U4@H'ZJ#k[_[ čFMRiGaX% LRiUAP2YiqVJVZVV[JX kT4ժuN6 SH*H()̒k8#8lBaϮp<`OG4I!F0, Y R m48r6 $ ,a4Ga4|Ag0 /Ì } J~\d8 ,8avm\Y.I <)%(L >@AJ I0J3h_xN4 Χ](L0ta8QL}Hgt~i\'dG)ǜFYLa\c'̒x8O%R/H:?O0gq9U'p kcnv?pi\8Fyf%<c AmR> ͋;S\«T\n=<q >YiT- TG# czX ˓<G1S+pK=%{ݎ{CӞEG>7G|{n@1} |6X76 o_8h((5`i. i6ټeLJa6߷L[5#ΏNu:*_tq|m #8C 8?𰴺hci xc r>opXvE)۟b ۇtkL%Ѷ-[+֞ktSڟ~J}^|Rw w!3oPKvlPKVgolang.org/x/exp@v0.0.0-20240506185415-9bf2ced13842/shootout/k-nucleotide-parallel.txtd̻qA\UPǷ! Z<9s` 8pŏP/̀=`c[) dRp6al鸔g;dMmtse~G]JRE/H?2EPKkEPKKgolang.org/x/exp@v0.0.0-20240506185415-9bf2ced13842/shootout/k-nucleotide.cXmo6liveG$Cq8O7 H͍L$A~Rrd^%r^yማS8YU[q!LikP+ ̩Yg㛬Т֝ ;㋽5VȉE*MX@y!()X޵J&N)2DQYPAmiJd_VJYvi@]~L H`Go1Sh~i h6&q~8QqpH8#? 9rp q|eǡ|]Вq 7K2o?|*Jpm~qvVSi,%0/:ݪA|;yf,k+#`o  h5Y+Ά/] U:1 S' `ԴX] AYU{\-\ knNfx *wnh2CbѸz`j[eO(vIf YSt+ץ{o^|ˏP=Fpt,Ow/€m ;{۔Jkb/f˲*5YAtӃE -)L{4X\m $IG j?_Jh/BK!i@VezmԵ!]_/R<]=LX.jR4Zv㉪ײQ!~TQ * ^,]O]"9nU[2ӭ桙i?aCQd~Pg?|MWZٵi;]Mߜ{k*|Zf빍kVQpm;^{rI|y]Ә#˫n%l.=DPN Ӱ/g"WհSO_s> [z/*ȶ[ʋ9ʸzwzrƖ:6ǎr.˓KPzYT,!-w`9yM.`v&Ӿئ_9M>1>Ik͔s'xCs;Py/ڎ>PKqyPKLgolang.org/x/exp@v0.0.0-20240506185415-9bf2ced13842/shootout/k-nucleotide.goV]o}nD}6 (6c p$W77Ⱥb1T /Te?zrș3g m#v;4'! cJmcP AH0+vn,#Mn@iT%ZJ\Z^^{Q 즴`7jSBJJqN5[VJUXܖB:VQu RY؍0"H7S ڕz3BvxתjV>ESUSsi˗R e7\C]ZE32!l7Cf) dYsc#U5Jyהwι\mRo Lʚ@*};F)9;_֠&n9vcV҆cu*=Z+m>`g fWةWcJ߭xu4).USH dLp~ lJaͯd2e0fcce)˓zqI#x@( !:8% IG8I'/Yr0:E|\|4S'];" K1EC 8gh1s/yVPib4K:$)4ePL4M̒|F}ING y]1MY|Q$(IRF|1gI0ͮg(^tR*,FPՔ)!IS*F '#5r`Y:9BJ'dB Q$Γ *l)- ꗝ\!!x9Aޘ̳H>.Xr<ğn?cX?M{N(TVrݐ13(Q `}bQ'AY ţ*e=r_Qy9/+ Y7r+HۯJ[By!mu[K!-<8=[Vpǥ IV~V?89AS'rI6ЍYFKՐ.LM euvch,>9lf9"#Xnn)(}=Aoe?*}_D F,#||]™F~'3nLVf%k:kW,GK[9>6e8l*ԃV z(Vؑ[yhþY$j=R-q)tѦ $DWHjP(mdZHO$(1B^oB?5^v0G~wZ#ÇNo@×8Ş;By? [ n4Hf#Ħ9 =]dGF;!`)vbG_QB@ ׁ> N{&$GӞE@_كbKOG=98n]ߟbǸ4%~^Sռzgnw2|v&pq뿇%@#w=?kXk:cuʾRn' c |nӍ#8 _bmB|8 X/ff~kno҇|M&>'c+{URrUθuUqM 7PKO|5PKMgolang.org/x/exp@v0.0.0-20240506185415-9bf2ced13842/shootout/k-nucleotide.txtd̻qA\UPǷ! Z<9s` 8pŏP/̀=`c[) dRp6al鸔g;dMmtse~G]JRE/H?2EPKkEPKIgolang.org/x/exp@v0.0.0-20240506185415-9bf2ced13842/shootout/mandelbrot.cVmoί8JW~/+q%'H\'70ͨXð$NTCy=3M-bWJ-kԳBJ+%2E]qUF:b+UQ8A淬UTlE6bűZ{%Y3sy,Sae@* N"S4ױ(F~3Q]&"6t&*ҦeO*$Ek-N8Ju'PRl2 ^tT# uXs%zQ9&5gf>MI(H,pe5WrW;/*@)3jLJ-ks}Skζi$te4iJUp)/S*nod!5Gr%UhVf=-*=O̦b_evlZu؂Fkv42 1{[!7 EIptbA‰@ eHAz( CgD6z9olV ~[,P}kܒ]8>sfԣrMof]!,Qw9!pD24r=ޒ> 74{<7\LѨzr \H Sq9j7j^/טq:2I>BtyEdQEα]`+=(baP*ɦrYlR<R1gthy_NRvL:WNf,Qj1Vv$zXuoR`#.0x҄Q$yq aC'o*Mhh#Иytl Wp l01i?LaXK1rSlDO)>NTt<9^e~m-Sq:<^&c9b!k|pz\<G p9;+8tt<Wr?S}&p5m5?~_tJAhƭUo-Ї+&TKd`) ͵BEE+G7s{ޑ).S4_9q|F~iŶS|H}i]Tֺ-?_<7n;ap3:_O_~Š[߭PKt s PKJgolang.org/x/exp@v0.0.0-20240506185415-9bf2ced13842/shootout/mandelbrot.goV]oH}~RnͬZ`L%96k idpK]\2ݻV`r?=[IFm1/)xŒc38 y)X%GU ~g4 \X0]sD1G3سEɏi縧I#OY#2gԩN}[BOoyN$Y8>D:3nVɣ8=<,)_,"N)JuX #"قFآ<xm[v#Z=X lYm0Yi.{ϑE!W`˜Ѩav\leV >6>۳+PS(]m4[U(*ǭVf>ofW'{vXve&+BdyRڠG:mK:1;oiG]'sQaUCn}Sp ]e>#'pexzS05jLtrV^ΓMUfsoPI)}L:۳gv67NUհZ][{(Ki0ᘐξ4I{1xfUTlJx Ƿ8-77V|~q>Ox8;a#=pKfy?ml~騩hqECHPݝϷsJgfvw~h4F;)9̻dk@_y/Vahxu >QN]DTa0!0e{r*Sۗ [ӝB"/NTFKUUgy5OP@g2@oƤWJKpxnt]R cKO5FSW=3m Ҥ ߈5dRU oo ^ |jyUw=p]3\3Ɖ}=oab/1,oۣPPϤ>\K`(PF72\hj}k,U@`_U48 rŋ_VUaWo*VUA_*ۨjHf,Hkp!4`!Xr&u/ UU#mj,l3$"kWh9<+(qL(q7!# $?8PFy3'ZΘϱ K%">ZWwBƚp۱ ?" 8(GI^;ڲN{g궹}Հz/+3PK^PKMgolang.org/x/exp@v0.0.0-20240506185415-9bf2ced13842/shootout/meteor-contest.c|{s8j?hGl'ǙRl:Q'^DB%!?f' R;:$"Fyۣ#7LyfT*Fs%d,`q drZF"a#e:<j2o9WX xR3NRD"ch+Ht"Χ) L-OO'R*9WODH e9iS#HGśr*-wASq#3NTK:cueQSa u4ښeZ:/>V/v{o>}{_{vq3?] >lYÎV;?>t{z~N:v9>8iw>{b_ۃ]-A/Π}|'FNۃuA [AՃypZ'Y58hwӅ[@K2e'!9~ jg֧@'^p<O퓠3hy?=z~}۫w;.Π:O=_i?h.|vOH}'i]NZ$Nۃ!>Qhvgzv _ǭ~pBvh/A H\~ _;5T EۃA7pYs9T.`^CLKt-$Oulkyo=Bnm xLMf.T݈Kvez[h3`ǓTdJLq" yCXv'mBRS"0]Y?H4:fcZ">fX-X{nZ6U&*c7 S!-ylf0 b&l")3,5V^M `*[bU(-ԩ #S?O?jZǯ?!טe S1lϐBݷOFX(u/Q;ϗ keQ#Ϙzt说T, (^|IsH65tS?`vn&]ҹǰY6u jEJbu|''* 6)1W0Q"j((m8崓3F܌bQGжfBY -Ns1 b4+e c\I;>k,TVQ(D2dH=\ɀ^T|:q«WŎ\JO"d,u=ϔIؔ_DC2 3@ٴ7@,-fp+ꔝVjF)Nrύ+ WT[k`~mmpKpO44[W1i̖[Y%Oa,faQ)!.N"ԭ%;%2p l܄ղR >"ZҶtW]d Jo&/]cO4V"7F޻Νӻ.ӑ/g4_;LK4SC/ EreMl$Ԕeq*6ܪR1Y:'G_ZWX2[GjMeJb:bB2Tg/"1)HG2!Z D;1Z-hgfVzFԐېya҉n֕SYB%+5OQ%Qrv>ŧ3C=|KɡBailK4kӱ!p{p2cΎrxj<31^7CFh)q^2 {t6bWAr#X}l|2SE5}E`q)Cp\"5a4֦h;{f:+&"9V[:1]Ezc48ĞlU3]nXX#'s'Tl"q_<⿫Н r'Pcv\z4-Y(awbAY&\(xZ n 7q(] Mc]U#Qa-9iA8(޶8&j,P!3eCCa;lIq4^+ ]J&e K41r~5Jfг|4)$}'&|C<nߤr>Q,[RhE{FPe #qĨ?9e8 |߄WV?6O?pK?"*#"b/'? ߥM-6o S&Aά8ȉ $^e%v\|^ KxKٷRhm*(X]9`H`s5C.U1!ʇ,ErmM]k!*D˜-stY ~%_^e4SOP}lj+4-Ǜxaۖi9XO_O`/Q]yIUZ.Vge/L"čƜƩndvl+죇zh4c5Fب )] }o|';7-'V LS3M ,`X ;&CR͆hy +7+Y1#Cd/)ϫWUY2 .8I[&=5zc[K|-&O3\}6{i5zhMϦLҏ\ 4F'{}7~aY[#w\` %`F(0H&yn#^[YV !42([~?{s 71v2C3fˣ]ܪ[c+?zX[Ø*}ČMӹ't<蘏Tf.Wނ1Q3CQ`EO"?||ʲ[95LC⧋dy9&!ϲ<64)OT^b8X雲D-M٣(d"%ZDJt0uzj~x̧eg0?Uï A;aӱ1{Z$8D;jH@|JϹWh,̳SpLYY,1ްT_ёձ,8 TEl'R%wV%/0o0RŠ G @@{nD|&:q s(jReTc-#%tc"^4GeŭY ;;ė/#̛sRf2~-[,ϣto.P{|1'cՠmn]g`D mQ6 2 $ @z[U,Pz H~|ŋn'X؎95\6a??JoZT_Tc7W9Oon-m;UK糘܏$1TFk\ǺcؿQjqaBaϵ'p栜h] {O/Y iCYʕzYy=.}aBiF_}_w,&r0xBKFWzu5=mtWb4=yy>XAy~Oyę?bDB7)mm(a|,YT.@ֻsPiFm[߭#g GBB-PD{z׬ 6nѿ Ǯlzmņ00;FQPKfMNPKNgolang.org/x/exp@v0.0.0-20240506185415-9bf2ced13842/shootout/meteor-contest.go;kS=C&@r. 'PXZ#cwou13!a\vj[㝝kn8u*3fAH(\ KG0WD JγӓHYcMUwBO@fWu0#11C!ÌgS5,bG'Lp$w"X#H\  (s@;qΕk&RɆfh"J-bPLG &<~eer4 +`HtF2Oy;i \tLH)rdim0p(zή9|iΛp~m7|na[>wOZ>4;Gp zgnk>kN4;ߠ^߇n_NOڭ#8ozΠ;Bx6Nw'/A Ѡ{ _ZΠ}|#FۃuANAكӳi p[GIu @ '' wZ=佴Ǐx2+uQ:va4OB蟶8hBv;:v_Z}XHN{ó^ =glЂO }mIO:B8j08nYB ڝA;;*|zp<뷎Hmu}C(~[ϭ;I"zAۃA7(:O'Oa gHoUfGY ge:~ ABG_ȶN~Ig SLQֶY"lPt[f;l g>-IBs'2S1dh2Ee\'PZJ9O@Vg,AΦLA 3iX*k]ߩ^ Ap1_)X}NZB=BX{1O!O<3ƢU`ɾ8GGk_]FݢDKJOAwhaK{~Gx CiT=gqmmlo8솃x ˅61}'eF`"A Q>*;eͳA(NTJ Dj&Rb̳>,%\`R Sy˕5X"F @H͂J */σ9 *BJTZ;pع1ETؽGPq# =)>w!W23*%1`7 v"zP=OFBr)U:B4V:DB`1Ccp'bi4dhrhblBob93efLYxj<0#):h<#"+<qpe1Td^"_gHTdX[@EGـvʖ˘3#د_g+ߠ87! Hd>$lHP/@>?8Iqb"3L5K DW4l!٧VM91iu? o魡 4y[U&,Bz&KrT o|.xrj(Hd,2r0DEu't좸/S8GNr;DqgH\x5D ׭Y91X_AlnURF\Rb1󬙆w<ۡLoy*x-?s$'w+D}8ppU >KXB&@LIfj2oMh18 wQŒ1RqEhiY-DHŹ/ f" *UsGO`^67KA'sQ6dD߶Vb,^X҃g. =UY,Nb*"Z0wD,=Ibjq=suEMu.Ɔ z~i u/F U(#LX:)1پ5Yg|KL~FdVWMg Ad+2Kyp-x2WE'R*Fd)Y"tK„%c|k巂 QO*aVͧ3Rf7|Aժ&N 0KN†kWpo vN"#jWLnZ)[Zvzb 6iDW)_¢֖Je=U}iV-E["|)GzLOd^xLG9/):hR D(8'ڜ{[RKA0(, z t:WpI,nA`OHMrϒk =bK%NGVћ݋Ғ[ KIi9陇/!&s6,4\[boj/g0OLjP.4I!Jw٢FaʵŹ5wg4lVԷFxD-YV_bM9A)$pˊ riRbVHߍW{FŖ7!sY]賷ƕvYoA5J`!rc{HljOcpl*?LbW]U G{[C!wT. h&*8Iy@& g|L(_U׽l;/% XKj퉆Ѣ=GqPڧ'->>>v/U$W\4!4B a/^&!D8C!D!D{!DaPDCބ ^ !!wCP:oChBhDI0ĔcM%\YqT;Wt/"٫!g. cݖpHvĝ T(gw )HQ0l`N5rHzŒGzEj'JجG;'{U%8%ŸPaƓ CبfB&v҄!F39QRf3<\ 6YA]Px;s ꪦrr=z^eLyr>}7sR9,,8(\i^SD:/G5V|\%ʴED iÀ` ) ^t$㿌vo%EyYa] ?8礥|arǗی./vn=&y&/\ ThpP Y$C2Y(Ś9H2*5nPgsfcͦj9%*r~k;Gš2J.S-R*PL}P^"TpǙT)n2X Dztխf/E.L&s\ʓ \t' l|ـSa3/'^vZ^+K&n?*JC6ϧ9\ K$TNW C%8wT.e\e"ZJ >yϼ3 > {WG>2O).9^_%JaZ qFFc0(w x00~KcS 9WV"#PS$\i ˮq(U veA֫,HO^~vTK[eZx#1¨DC87[r2^s߅3oI5k5o1Ȓ<);8Z?KIf|bCؔ F$ze)]j؏$BJK0*ds溑f$KJTAePKk&=FPKOgolang.org/x/exp@v0.0.0-20240506185415-9bf2ced13842/shootout/meteor-contest.txt4Q 09FMS M;Sѹ}뼏)ؕ2C++lƊ?5:n73d:bńi,?^lT͹ub?PK@,{PKDgolang.org/x/exp@v0.0.0-20240506185415-9bf2ced13842/shootout/nbody.cWms8ίSSC$@IW$T9ܙT6J3o w]n{ttWvdȇ(u;Z$2Yե/jY,*2XьeK/YoBQ6ZT萖梜ɺIf"zPOo2IgRMI3QixU&I -JQ2o8qBe)uCꩬQV"_2d5yLL[y|_M_I,f"Vuz*J(eXoI,y:*T@(aA'YZt&>@^ۜ`n<-X{$\ +IiQV0K0ʍ<+J(bVZ 2Q'5J ~ u4/ڋWnOD.$Pk]pF nFM{*k_{  WpxPfxxE6׮~=$Pٻѝa 6w0pK/?& ȻV)Z<:?%\:O~ߋ{0 FQ0pW-(.$Q+4?H($~Ux}"軣4ASjrѝ"U4p{%W^~5JJ8~ #H(٫r_zASPw+.{A8R%7[4qϱz_;䫴[vƱIx:ݦ@!,EZsnZj=dF&2͍|jnO`U]̧p.Dق'LOӏ{#U⛡G9Vc[0˴nssǴEy)LfjZUI 457b(YnYOjiO ͞|"d^C>.2)*^с"5#uS# gz Yq'| gG-q}Y*/pN>ۗ+|dˆp[{ g0> 0&6\ǗU_øj&Aϲ>ʞ=Qq8:SpY ]8tǧg8=fOc,]̪Ɛfbob f.f`VcjO͆4vZѶx_,agL{P6zF9+TȰ^{Ժe-.|})$ uvmN1t|/=ZzQj__}%ϳB]":̗ۧ%{]0~m;A\oWի@z5˞ʦz/1|j1] ÁZmrM gB oH?KBլ9/TW5+5)%Q Bz<f$QMcQd2BƘqqpcٌQbSLƩ8EaM%SfpDBq f"bSdEmPBMX||UzaRdԲc&(&DȴI15 66)0 s-58w, LLʱMLm01LDMm٦LNñba9'-4_TANM-Fɱ\[}v^4mَmҝz2Mbfjczzr"bږV&cRDM#YK\E.vYWq,1^d)cŻ(6lN,Ƕ ic=b01۶ tIۂ`Pl#d:;ܰobQ s2M#(cS ^[BY*D4-Qߞvr8.uW~c^R=}?=oc7 G65n~U߱BTSWPKm66YPKEgolang.org/x/exp@v0.0.0-20240506185415-9bf2ced13842/shootout/nbody.goW]oJ}ƿi% nf68%YLn4;Z9 \\忯 2>:]uTC~==eŔN&A_ Yռ<+ H5\Ws&g"XU^#K(+-\4[dD8P!XgVU,L8%EXȊEE\3IQp̪r3/SP1dܗO´jaɥٜY YͅÐEO$YGVj㱪t=g*Ц(|'R Jd gU<֯2 )3L."ət/ |欂qR</$g'P՞_e5?p_/׊JG&-Ӳ!OgS%"-[Ue^rUKEUu?DgmNUDmuN|GzG0 / ]_]pG^;0ġ107?:Q܁4Fp놡;}/R dz?Rb$a78PEPe\I^c?D.x"b]!0unY8 "Oih8vo}&1Dx&v⅂Q2݋Fa,y 7ݱ bLnxB*`yyw0ro+/_H2 ,nRfQdz؃ I#/3H5<FnťGbB4ş^ΦLzpz_,FR`"S NR|n (R)WHš?aAq9ĻWd k SЏo޺wDʲDkB /h`eDz+*Òէm-yJRv%VV,F*]eY՚@'b{ n~\*yZEf*.IV(JʊCW,͹ _(=EyJ*(] =)NT!Nu~*qreUDOz›2mzOBFg6*I]LIEE-cR+9PyMבI%nb]̡{}AbQ3~SSwW*V]w==9arO99f55g9|&Il9M؏v{/%t ty;s*3ў[޲[6Ғ<)m<Ԣ?*MH%mH SI"l=Οe{_$}nʏ6N?IRxW.Ƀta{ Z]>D#i${x?>Ft.F/]ɷ%;"wм14;a#BZW|_Ľq?/l)%ԤAbJHְtXغClv J11r$`4LRegHe$\ƴ4qئر(\835Q!l:Aΐ3^8A-;M ՉiJ_mu"[lMn ֱdTÄZm#jUjH7N1 m|,Ӣ"mGQql:"dDq,-SwbD 6udcb*)OaM0 cd 160UMb+ш#˰l!aX:=hIMu0ebJf+eS [c8F>l2ްô ndTMP0coo$+؊ fn9#:6MfD3Dcj"DZ-ǤX3Y1l"t ]F4FeY:H$ÚIlBnJt4!5caöG6n; jS/Y>ܔca,oiRլ+}~:?xO?uT=Th;[m^5ڴ CsZK_>aidPK1=PKFgolang.org/x/exp@v0.0.0-20240506185415-9bf2ced13842/shootout/nbody.txt534407543r, LPK^oPKGgolang.org/x/exp@v0.0.0-20240506185415-9bf2ced13842/shootout/pidigits.cVmo:_q@B]ia;n V{WUH XMlqt濯'2_y;yXVdG/ =?$rAt1"Ęqa0#h7S?@hZwAs/h1B'A?"^?coݓ?dEHfrpDax&:"hil-"bŞ)lR8pQCCbb<b-"2 xB$5xxBBPߩ QQ|0>>{⏈&#HBj>zOzDbzw<"$CM{y<9ڽ$Roz[DZ%?, DC)rWD,&JL[>"wMrXKU i^e ,ueox+u5Nin볆 \$iZ.2&dB`΅U猯t_1b9Lg\uG1])aR s mT߂yP\T XTM'Yn~jUwS7_ [w;ַcn޴9[L6q她$_YfAfm*/gpZ7Eu!ŌϷN|Ĭ~xvw|y'ygTѩDׂe_켏np\с5zk> xݜڛ('m\$5r>j,͚e<Ԧ}W@JyE4NW.^hKruvh繴JnHƦ_56l\[u F}45 b,fV{~oxu2ⲩl+npWmV)p Na⛃ЫӇgqwܜ!Ѻ.K^T3VV6͚W@@qyހM&71..:fu„BԵJ]ȵ\#7{aJi(7Qv+ֻ~jV^z[V@g ,T3_G6rDi+W‡ ;YY9NZrY /Rkq7W/DSU] eC@ۭ0(s+wիM{\Ke.T^ Ͷ#]k+ F`(j[M^.6/$6jmum@^],I[& Sm*3Ц4x{KmmB( 6l>dj/V4IkhFU3UըMx4„'-1& x~II<$E1,E')a v=F`?|waQYGḅE(031ا0טd4 ,)kE:Nb&-a")1OGӐ8x(eQtNߕE,!8dޔ)k2E2*m,©tF^l6ɽ8Fq-Xpq8 oXޟH2O"a3_{bf<[d 7q&e F"ecnR {% >&,.飫r) m nyWr'= U:UG꣥mHQ;m-rD}wRn1o}VuֻJoi/Ok͚|euBGu.0*=pF:F(puz^g08L(z |)ڨF`Zm'E^&[sԚq_jC'rJW* R\dvA@Vt"N. %Vc4 (+wI I;*$~}moW+L{h' }8fN•ޜrY;؟/-e9̚R܊v#.^Y/zyD14 Eg>pqyݫ@-+f_I6AЧiPsSNEIc0\y6>py3w.eAuҎMG3ANW/b&(N?}$hQ%PB۪l@Y>Q҈fax!Uw_ϊ8Q PK/so3 PKIgolang.org/x/exp@v0.0.0-20240506185415-9bf2ced13842/shootout/pidigits.txt90T $Ṩ?^rxZ PK-=--PKRgolang.org/x/exp@v0.0.0-20240506185415-9bf2ced13842/shootout/regex-dna-parallel.goVQڼ}~ŭg)Nh;}/ێh 6nv[MHrd{GI'}Â{=: y U ޠ\7R5te*".zT 7;}ΠV|+j @S-7pP3Y fG .]ݢ5+ r{SɚAiʅI7O7;ixb0;aϵE.[jOyTRuW #: CO[5 1-5Lq/me/G8O2A[f)H03*6 LTOhBR9bm\9wk޺Bhg*>Y7`$0QK5AV^wffUJk5_F}`u*U֣»UkN9%٤|Hr Eݓ1)Qxݴi6㼀$(K˜ e&"DHG9. r Ō1<$y%E $͖c0\f%Ȝx eۦeM`4IdHf|tD&LmIC$/h9KrX,EV`db4K$4|i23{Hqn_8hF N#IGiD8-Y }|1K\$ <~!"F-l(I,1e ]p;̲©,p Llc[bBw<\ĊHZ<_.JL|s%YF-8mQ?).8"Tb%(ʜ˴,2ˋ!w3rhf<G(Iao- Gd(Q>z3??~o`gf0dzݧ{.ͮ_ /U3@&3aIH:JZ}}ZB=Hepۚ!SjXþS' oY">ST ZN4PҦi 1VUejUv(]6f/3q}Q]>PxRyz3B6ڀ6 |Cxey!ݒo(0!Uߛ& s|^⯳hz:??u'W*Wc㱆>#D섙SS90 bps ްy=Y|¢BV*.j"jF(ނ{lP< oߢ n=[y}FWtJ8aOY/r e䃽P_#K~ߓ_9FJ^8m[ӟf{LdJVTѾ!8t~E٤9|Ϝ0{&0f{fU%[{.qUao}?0찧s9BA# noZVjGen(cpɊOVjwra8X5BCAH[w׎D[깧(3fcn:-e2f&\imWoN:9Qt4 ˼g5t 7 Y:.κ(l/.}wfgPKI\eF PKSgolang.org/x/exp@v0.0.0-20240506185415-9bf2ced13842/shootout/regex-dna-parallel.txt\ 0 rC A˳E"3 `DDpk#9yG o֑\ŸL5Q u-/ "p.͚˚8 PKG|pPKHgolang.org/x/exp@v0.0.0-20240506185415-9bf2ced13842/shootout/regex-dna.cWmo8|^vn4s$$'d(XIԑT0$;I=స~yyfK`"ds.ȯz1;șAL$A{szaJQ8YFS/xy'~L\ƟalZąx!.$>24EEf-!LeL00&3Fw]dF"0!qd, dFܿ"6D[?&#Nj |ֻp%-cb{F Ǵo$x9t9cs-ZU+:z{5Ցc72`w Z؄l>fuw,@[L"yawlp\ҒւW-R8,T2Sy`Zd V~0;?*-G3./DWײ2 G?,c9(-TCnrnO`+m~\(Xu|1+}8  _x*a9>ʬLUJޏ,=t@j'PԡN:*YOfʻLJν9HMmV]M]f_xNe{b"J:2e7nY2U?Mn^`m{kTrZiugfthJ֚i.tF?2a{~O}O71tc;a6jM[_4%Tnp?*TnnlwbNi/8_".*Ƭ{`'7wVii=\GUKpnSxfv XlZJO ~ʌ︮7GXl\ף/,Yc`x&9ą Z1*k&(f-'yW'PKh (RPKIgolang.org/x/exp@v0.0.0-20240506185415-9bf2ced13842/shootout/regex-dna.goVQo:~HNwWUSC{+2 ;TmP蝫ٗ$=9d8D%h84B/ZlZ+&Kh !VG6B2 [k7aw֢Zb+ D4ZXKhz%/U&dp_Ts{\2G:*9ԭeBl0 ,#<3 tYt>88MVyQc qe)4X }eqL# x6*$aN$5E_8$GdNOdJİW8*[#'kBx HI '9Y<'8s/40x4]&$y Nx]1q7X!4C4+$$^ķB',tQNF4'*po4c+SZQ$cؕG+Ji$9β2'i҇YzpxEĻ&^j>i:p>ybg32 44Bo'cU'QH>~t$-ZQ=Ml7qdL)%9I@WW_mCs8%&JWCW.ty gVAڝf5nXQBᶶ! BUwռߛzbLZ7~tqzAAȪWk-+† uQȚգGٚ>C׬ZVu;v w}Q]ȣ]%:G_;!d 궰ȽuF%/(( իo)>q/>hr1?;v#Nj{!~YP!mej]0[5l`lAHp}ݔ8=w+([]vpL,,GA ps`9 AG#=^?"kn[-At:>7. 㬌2jK!uw_n@o`h!ȵ ,b%ٴ>/2e=/u8 s}?v8w_F/22Yn^((~#0~KQ~2"Mt9 0Nfyz8h/g9 /;8#(]sPK% PKJgolang.org/x/exp@v0.0.0-20240506185415-9bf2ced13842/shootout/regex-dna.txt\ 0 rC A˳E"3 `DDpk#9yG o֑\ŸL5Q u-/ "p.͚˚8 PKG|pPKQgolang.org/x/exp@v0.0.0-20240506185415-9bf2ced13842/shootout/reverse-complement.cWksF_qƩlV&SfȖ.$8qjJ4Ajj[ݒxxfhZǹvobTHfY峘JyH1E!̬y,LrO\ %_DځH2dL&\)#,ZE jŰx"0uiYqV9IJNg!b$SOh.E2NRP+csLW<_l"0yK$縊vT]N VB(Q';G\嚓2S!s$ L1`i,dδ2)JUIbg)ER2zʪNNhxgձFS`6q|Lg `0q5ԅ7D0v&Wez.uG55NBH'P!qCgb#7gr=8 Ϸf 3йvH_P2':eod~p\yH [:k#]}ߟTfQ7$?s{8 kJ Ś!현c⃺aOᡙ#FjB; Ҁ4-ǧ6e[LlZ4 Hy{X4tgxCuڥ5V:FfqEjWZ6\)]yϣ ju9s!,b_sZbS rsqxiz&fK2? /\66zY0/K& NB+ma\3'?wm o`^wwsw;0?ڷ^,*0)sc$Z 6cLJ!<c)_LqaLT-}j@47鉍FZء֧2DWJ+skeF+? T5,vaYkl^.ȶ&v ͱj+f(o*yT+u %~G>*iWI|ZN]4?FSdZԂOSJx?i$Ѓdn6*g ,MkձPœRAَK4>aQ> x t<b̙2(8RK==wLZrw?rDžL"U݁l]7xשΤM6r"(d y-jkyrk5ʉC>xb1&#kOR(b3n{fng~>L]5a?O}"oPK8WtPKRgolang.org/x/exp@v0.0.0-20240506185415-9bf2ced13842/shootout/reverse-complement.goVQs8~~E_^۩-*cP-9˄r+c K,_l2^ͽKOm~Z [ >\ +BVumVJTPERe6ڔU@_זgHЅ8SJkE_d! ̂ ^BU!qS6oUU7'9.ueI8~ë۝u$J[.؝`/+$%UBV>0Cs/N:Fu./Ri:Klv:6N(3+W1!y EBRt' 塶,S:  !C@Y'$#NQʂ`B9\yޣň,]&qG1Xx a=[D</-"?E8E,ZD<ϏFT-"oljē Cp'Ջ1Y!̥zRu7QfijE>~ ̒ |/sqCmq!(ǚ^C4ҊKy>y^>x?gzx<S.suo셺\כ\],vzܸ4 jomD 6Jk].ޟ]J?/C8ԟy~'G3qA3xBҊp9pswt}HEG}ڽP"a .(dj+͉ó{̟N+[^[*a,8bGZ FouͤtW3]tCVRmBfw}g{w̽+xlM/'g[V5;sPp H{n wPK.^V/ PKSgolang.org/x/exp@v0.0.0-20240506185415-9bf2ced13842/shootout/reverse-complement.txtZfnO1ObD-@tt6N` Ng:ȥǃ%}d,)/ߖ۷_~?Fd"+*2**w2EH*^""3Ѕ{dAO ?SnCdȢU Y؏ [.C![BC*aC1$l7ƇA4> !Fo1zh|DC b7ƇA4> !Fo1zh|DC b7ƇA4> !Fo1zh|DC b7ƇA4> !FoS]O<}o/B TYGxU LzQ@}H[ nJ35pdވUw/u֜+fW)>cZ {#%''Yy8Ri" n/ZZ8!q.g#! V[M9QG0+ͨuA6ό0O=UW^90"b:G_[E,s q<9;3ΉiP 5)W9n$P+oȓ@ ',4q +Y+qąUզD gnr͹9bS\rѱxʚ* 1G`JnD%mWňL>.9ځy;Q;TTG0h<(^QyTQ+I^?Г@ XNY(+t}9qW *)a"@^q + WnV7o)q,Y ]]",2t 6OvՔs՜kf͌eZ ܬvTa`ރc&R /q;5kQs 3Ŵ, I4yNt‚嬇ubWuWdhؓe@`~Eko<Κ^Xl3"ku 4DȬ;eeodz:m6J9ɮv+k5\g6T[E\Y;Ne8we_'+YE "|XMIeFBRb(\W4ɡ^>Γ Dژ'_uՒkE+LܵI!+bCsn q1NG}#J :GSٱ ],9J2:QBHţեz|-淬 YTb}VyΣĦ8ZWVܩ=vU2bMXd?Ι7b|N S⬕}c s »GH!K  ރjC" !O?__?#K^CK8(Yi,TC''DHVIuSSmLL!+h^iNt yϼ]Oī(k.X՚Q>Ataa̺"D9,ĺd(gB%vWaQC|G.[.&\?DW0KчN$5D ^Ij'Z1tS`6N͡b")SjNVnrLeyG2~cwaZ3,K gŽ|p?qQDS謯N=ʚӣ¢ ԄbMR3^"u pZis`S(nq^w#)#j!7Z1\B}XEC,ޡI|M4i|UIW93-{dmب߿xbI;\NzUjhɮM aRRwqSY6AgwǠ>E;pMń$ďj:vC54;6^$=0[YVx2y?nXF뼑$TW⟊[>E/7*}sY=Wca701(~ /E4wfyG.G5i ]=QzHl1.gr.AG /p\x^fzvGힳP?,98yUfG.iFVoEݲZDO]>kHGS.o3J q@}0Oe:xTTM @>θJʀ4S=Dw`эLy4D/\g_$ݩ<0+)E%=tꕒ(A77J2-Փq j*]lQVIb`6(TvB;Ye.&4ʝ,bX[>1>5[yhѢq{!rǖ?ZMKI֊w{v񢛡{Y$z3 fi7xQ9+Y#ݽˢ nABLZ4 g[{a IJ_m^S~F@ed˃mJ#ѹ$&UM%燌w֞Uf~}~FWsY?5zZFVgRY* [Q=pziӹlHG!0R'ݪox&k:sZSS,|~;o/FW.[:c.jِV/j' l!.^׋d|_gRnS[WagQ3cw&B#^}NS@oLYPK=" (PKVgolang.org/x/exp@v0.0.0-20240506185415-9bf2ced13842/shootout/spectral-norm-parallel.goUn:6⃁,Gi/d (W^(3H/E b$u7{ F3pNFJ{md)NtYYu8e4r]%Fm[.rtn1}|Rn ciL6ȩJ쥭sޚVn+1= KEEuWTI19fD0DV\g~gZ~&8UHnjT1.S媒vx(}5eS >)Jj?XUUxwLX7eT]!%輒Dim%7NZo{Ŷy%~Bm5ƙ5Vvɓ5w344x{k*$z]RZʲ볱Ꝯ}: *,hRҌ~Zw'[i| HJk n-96 8\$E-0,u')A }[w)j M$A <\/DtcBq%2@~.C|+̗A3#r!.VA: *N9#Y @\Ge?Ȍo"gg"Gn g$\,xt^;~ Gyke"Kb%$~E gi&uqNj'bsqڹNEL-.Dl 2(I^e"<,~̃uqI͖ٙO|jaF3oNp3W^ZxPpJք GCam{/l1Px}urBA^}[Axԣ;!=y{$l0W8c_E05%rF0DfL3ЛWuQhpc_35r)){)@ދ >O?icNμ <;߄ԓSaڦUnk9గ*xGz:zr""cs_o9h/IzyZmU;ki8;rcЬRDZldevolE]d֍Y;m[OPKAg PKLgolang.org/x/exp@v0.0.0-20240506185415-9bf2ced13842/shootout/spectral-norm.cUa_1ڪ޷.GhN0%1uVS?T0xfyq2@o]cjWj#=oUeZV2Jtm6=Y23ϰզiumBj6 3NZF2,ؽ>WU`\M*<.gU^lt.+ FL-f֍sm Rj62WUeےe\Uc iCo8?[\oB6j hJc]vLm DPftn^BSm$+wu0f_d̲B@+_V k~f)[9MLȞa-6`52צnNFJ8n+ȥQ[YJoWYE$7nSd_vr$؉a"cB`J|GDaQܪKI۪#ʖiЊ9b*: `8o(Ax#4K 9/u(# .>KkQ|A;HSh_N"wܧ~lA׃.{=32?.non0.G쨴sVYf7FK.sX?묲JhUɣΟT9ֹϕ͕ϊ݉z} %҂ |xqڔp:;]O=ջG  Y}[ 7TeR~ZW;VKFDG#T/ .C寋=g2:z_ ~~:߼< C~J^^'8A>@&p瑺ZEʶhfv6@73 A` >7ȬV6v|%OVA>&M4IYhż}~T\F49nV#h޸!*sa/7A/c;ͤ4Vܦ;PKo^ PKMgolang.org/x/exp@v0.0.0-20240506185415-9bf2ced13842/shootout/spectral-norm.goUn}6@QdQ LL@\N6c13RfEdm/ݗsυGջ Xtw2RUN?^[i*6hl֪*̔Yok4X|k?yk@7AS*PQx{gkrSUq>(؍u4*Zbt 56A`wII8eqt=Ă"-%^,lNK$#-rQJ%0`|HE߃,)(JewIY&``y,1[ @ns"MoP\ᆖ"E2c=+&(`,)\˂Sƚ3f r-"ɲ_Y 8$c,N=欤|?lNsd1,f%}$isK2̓r~ ɲ,UIoՌ &V(М,Y{VƘ'" 2g+΂h傖j)XGXwH^"G Z4hЋnAł`9J\,iE QdF:c4Oi-4"IxH`w=Uc!oY}H&˂svIqJG'd< ?`isi뷓J=hi&=N !mUEu$ddXokNl'ՃlVՍ{xRBtcDN>÷SKN:|D0GC3yڶ#B6YCurt'h#lvV\`F)g'A QB^VcԅpkՌ?:h|Kh;eF]t }v'qN}1Fx:r>ag2 y=6INO18%O[R/jtQD&GI#2&ߢ7a`tEdб!=zVA@D>E`ͺ]ʪuAAci 6,6~3|?rݙ9?fݴ PK$Q PKNgolang.org/x/exp@v0.0.0-20240506185415-9bf2ced13842/shootout/spectral-norm.txt2327122145PKB PKIgolang.org/x/exp@v0.0.0-20240506185415-9bf2ced13842/shootout/threadring.cUaS8_j%2uٹ*:clR$:l)%0-Jr ޗJ`y#b) z$慨%M!$j;\L?btU J1RX<}dcu%Z݋08,ՃKJ.gB}V5bK'WGLHսZ?j\"9ìDRƂ즔+>2![k& %:BMťɶ( eV\ "+],n ϕ\@ [JWպ1\#ɖg\*w5.@*ObRF5f9: ajITU9X(pY(]s;xk*e8ZMkq Ъj< *5b_mgTZ׭:%Hڋ)XI]&71G p? ӘM(Np%`^x$I(pű&}#^q6MF)vR:BmR6 9.i쏽0XG䜥u01Ɠ(Ė5bx쒎"@h"{A:W%f o0b1S[g#^G2>+^|G? ) SyMI&qOczi)G$%)K)E O!(qjMK=B44aV4”t(b]+ 9uЕiXP1M4 Sʳ$it-FqS#Bz F%K%ցiDS[k4qgb`FWn$Jo>&{ z2f`Po8+2E&^l3/0D.1<2/B?^S)Yi}[)*ajk#&8h% Ȃey%Q | b! xM ΧӏB,ȳ_떠szKHmt&_W/oniHlyV>BHaDV[h/'iݰf3qn݄4(2;N-n_9G[iBo?#ǿ\}n}+6MVjR&Oz+Qrgƾm)8?"$(zl.qJ|FGH4B3ӕM5k{_mrLG6 x%oNہ#s+py5:>I&Gk^Fi5_k!͢s<ο 9y"Obu2!2﷣ezy#p[y{ڳfъkg|NNO[VN+Nf_v=xw/)6>v:q2/Ͻ8:VWVcG8 g3<Jtfv/?~ͺO?fWWHVz>mRܾ!Y~Egw!9=ob t;;6Enn{;+:˰l>PKuf PKJgolang.org/x/exp@v0.0.0-20240506185415-9bf2ced13842/shootout/threadring.goVAo<=v){i,31Et؋bQ4(`)i~Xt/%$57=l5`|?}` &Mm9ZP:tvd]^<~Z_۽U 'Zq MT1?[wλRR'&~b .3~FgkE+z%C{ݙ򾤫Snwlkos|=ϥlȓOF03x[ c=>vpLڨNfGSԿz u;z%TyS!ֲ|Kb Vƪ̗\*YYh)]Jq ԘQ -%W _/JZp@YY.bQ/˄?=*-t۞ȭպ-%RSESFKZ 婸 %/4*_d' r.r>T*X 3Mr~2Nj3A_&(%BnxEcާw\aKֲ6Bi7,ъqyz6'X:q+LF 2Bs)7k-bUDn_E/Ux)J'x\q`S)Y~Х4wE)ZʣP|R)mCtrC#(>Lul$- f.}RBmի3v1n?OnϪVnapAgS/p瑞cC7c§j괕uCĄcuF|7fSƾV7L8qWWW ƍF[3xλ.M0Unº {}k*7,饠%}aחֱ h:X);f6NhF} K|do+2`2#m*tf2el䝡mLhN1DZw:Gz#_U~d#ɺb(7p;3H3,o,7BFO&&of ޙ /,gauО&}c PKPKKgolang.org/x/exp@v0.0.0-20240506185415-9bf2ced13842/shootout/threadring.txt2PK; PKGgolang.org/x/exp@v0.0.0-20240506185415-9bf2ced13842/shootout/timing.log}[ƕ3+2flZY5Ǝ""MRRw 3uB NILUd + VA +Q/r>& }n5X= Y$5lš(mA:/7!.V:Zm =|h=쫼Eܠc]gh_yR?<BB7CEC1ܮ 4q0)|߇ >'fjmE]PujvU=4T忶SY=:CU?uitwcQ_^/(NÕޛ1_V |G؛51ҍ¤)$rYWg0!ow[TjiP[{3%P4p *}QMxN6 %AD9VIoDu7&Q{` I=q 3,fYr? [ 3}QX[.2Wm5"ݠPCٹ.ܠm^[~ap5Z+. * Rln K\6b"lWiyۏ{PtdϷHɈZXtjZ$:z5ct_M;͠]ٳ)t˵6nZt(̿ZoubbϏ WTus"1aWAFj!R)EV0{+/sU(Ńj]"$ wӁ2 "%f,2ry,6ŶhtpCܗ<_l ?u?&wہs'\Ν$6Y1@#gNq Ye0M9s1gig.~5>_'pݟ@6'm0.MGÃ^Ƭc8q9f#jhsL.Fn`*蘃|{eu'{x5"Lͮe}q[-P D8W8e0\0 qñw__>~o9_R* b)V|R[Mmu?7STGek}^U uQQ@!Lqzt+#?So,OSmP*܅iAL< YPeH=m`^4 Pm"9Y [vVҥ75bBym_|1)b^|ԸG:Edh$0$y8 5D2B&vb4Іa:Q% k”Z}_,2i >m9H,sL N$%;oc7]"PԘ}hE_ZRI\(Slζ'SBo0a~,ж'K (5"Hq0}FSD$弄S<#VL !) N;9P?Bsڏ7\mA@Em2'0دĜrZ'-\Fi`95-—s:DWz6ou[xfhBtaH[-zc`l+TfԏfOD TvGw~A"{ fc ZyV~tIO}s.oOȞnD# APPskߠnEr "]@DI^K8_$cfZ‡~O8T Υ:S{s PXH?ω]8c' _ R tD=) A[|lCU:hTalџ{CfA>h! IZ&=ý}d SrE#n倶d~1 ¿ Jp3۸{C,$^)‰@̂4C1](za1uхfd8v|FEPF1= s-DTFdکKihLDnOP`Ҩ(Q@xIIJcfS:Dmg3¸ znȼ}I=̑/))LGv 6OujȦ-+z-RcP)%ԟ ?@ŔӃg^ڼa+ܮG]oN{TmP7 m#fsmF-oaiuiiHtucٮt¸xaЛ|vL6((7Ƿ{76?hS-W>rRg儠j\@2C`k },=Pak}Y՘vO^/o.Ƽuh7khqӦP&T?@1n06E'524p|VXs92TcFJlUs &F{S"KHşGuP,~r(N(#:7>;Fʚȱ#H86[W=ɑ?%I~[$qRH:A&&2Z<>Qep [ppQ@}L lJ&9Al'YD_܄dA%Ms5 COCU7yq':'KÓ8\*wk34DDN%ϨP^qKB)"39P^> DHVA!2$MNgr@_^9\I,2/QW7fqB* [%#*  J vG,i6j@j>[Db*ִBO;,ĔR?* 1va+Լ4 L)uGL ~/\2A8^V{j|MO)A)M']44qOewJ.iAZVDk(x " q#HI2,mqé+{ޘi3jb ePQ! )}0T<)UOl .;Ȗܩ/6<`[Jխ,'}iMi f9tfmd($LZ3zX1e9U2X6D,6UQcW , I]{ {081D@4r,Z#"SY8a2s!؜\S+\2Ϙ /TA ADI9< Lj0s0 fsC_,1n|׬ y Uc8 SȝAYf:kݺo vwxme-~F(yMbĊnN2tޕK@@wBzwxvWq荍@V5&CnB{``0!م؅ K(O?33PP4I r4M h= o#:}ZɅ3=WCTsux2`$( NSdbʢEyd8 LEElmbb@]aP:=1bbK^ѣ!O`5ۇWgNjC.5Y/X$BAp9oN䏄4Ts0?rWtG ֏ Bm{CbA #"<2uah/xrNL)v x9Q 9,vii0>B91Gv^2SC]@\{5k<` JڥGj_j&4"}Q|n1j9'}QPV̺y d>dм_<}О\ YhcBh  }`mnQ$(7\EKpC`T X[]W}򢐢)X?a9 ; =Vg9qIiAdHu C}3K4J|S?|s@5v3 6 cUdե:k[<].W\C^"@1K^<}! T\L@<76s  +Z~R{:1@9`DX a6tDbiQ6ac?SZPpNӛԂX }*zxNc: w\-Jޤ! 4z_Y\\ܩKHcs*U(dqPCL.3 hEJYLBSץ-V0[5BERٰg*(ҦJdqw`޴?':˦ˆ=!s.r)J,XQ'(ͣ%;sa ) a߼u) HX­“s_['0Y95ڮ|XV7?uAO;]^Vӓq6.cN\zr̎GmUoWp'Mr rcSxS ߻VbP6S٠{/޸<-:ázxj$z `3L:x b1ddLXNmEget!5ũFũnfs}6.Tgpt>|yRxS۽jҮY JwF z;fv6Bs D;~mrenmY>`OM[Bv>HV_!n5j>񤟚^"Y7]랑r D;Yv ) !a+ݚ4qx'OISTF~ͮz7a~A $(M+чXR"U^UOdQ|ly9\c2 ذF_iJX8j6!3QPzrس͠.9R3BDzN n;fˈ ȎPoݺcp~<6G{IJxv#//uQnO?h,U9Zxӟ?we[+M@ǼYMeWխ.-To[^hwuo;|eu */"@-9jNuAKnSU٩Wلߣpƌ0h)I/2j;tٿ-s7 ~[ڸPB7͋=o϶hNb&6Ywv\X ^x O-Xk@ayXtK[s͟Ko숅-.B/oPwW~W0O1 4DB""=w>>I:2gRyn 6(P"}cT@y]o\+P<5*I]+c+m+2ʱ$PWa.Ƽ@I=M|^ƙ % W{@FcRƧ㔈#ٸ7aJ#RO#'4řKyȓU=N]轚lB1<ݏSFTa .zcy8C5x]WO&@-xDFcY3|X~|.Gd! 2g\cty7|8{Q{FCo¤ýh')<ɉ2LELE FYl~mY3&g#_{~.Y;V6,4HH ibv掂SƖ7;+;tuhhR'Ԭwzs9G`4]eiy=RӛiGm=/m F#nvycGp]dz.z~wasbb/Pd@]DA9zN%7-a&=8Ֆ6@NAIAOyE#49 qF7/?q=XҤS蟹lsz|ߐ) E29.!HORQ(/pK]b:SL2JlKx|Ctb>yyl87R9Rklqw!iZ"N#~REyi-OxE|X=>lcө H9/dT-1SsڱRalR<-l15 Tr SYjd"#1I#f$=AFڪD]KF.k,oȿM]~l95-*qg"3'f4n.ekYZ *ԉvcZCm[1iG!38CkpÒQ;>aPĕyX]wLq\ v/|]}t';!! a_A!3:rrV$\ PKaU'PKFgolang.org/x/exp@v0.0.0-20240506185415-9bf2ced13842/shootout/timing.sh۸bNnIw4,\\BF2Rc^0%Kv%op8O" e3d;gA㭄|~"~"%xH<~e_f4A||PlAm9jeXZ?/oo[aeBd0 (P oiVT\Oqǚç//>OzdLt'9ڸf+ۖ[Ȟc/,1"I`VœKyAq ݨjIJ*= ->#`Y@M[NgFh4diHWk{l~jGr͂ UX'cX%$!Duj; _=K3-d58ßrYLc~ q>>OqJ DRvj(:=@#),;3\c%5ҙS%WP!,`6sNJ*cT'c; \b>O^[49 j Է"C @+ R;_`SH`y " !e՚;p{opbI'~A5&53g2jx.AcSM[:zc֤aR"\ O3Srp(oaߍ=e5A)Bz&UCQ0lj2^Emxx-PVc$m5N<-v%uyZ^P拃}ROaq #2Ao 99rWCWn{|"\k4;=2X,JG Xԍ3Lz/$dXa/[.0tuq2Lqq̯W7q˦y*4h뎶i=/||,9\::AU]Vq%T^3U3 EڗS\_խ׭_=ЩaBĞBY$% A :[g8`mkU_ӴUS3mus$hҶ[&|ƪN}b\eQ sH5NAm7 =b9EcZ>i@%MSt355: K ! iLeb-+7Y4;WkE]4[;w/4*Em7S55(BV6BxY~i4.uG{!#km37tT S{Hc[_u-*d8vMuky ycljO4Ib8K3qT]Q0rb9vr&S'3(2BPKV 6PKAgolang.org/x/exp@v0.0.0-20240506185415-9bf2ced13842/slices/cmp.gon@s)~zjIRB¡8c{kn"hC*ǝ'eeX.jbۚ`qei0Td>;-kAق*'6T xPj"JLmkn(ꛬ.:!tYl#MZ>˔5γƻ 7DĞikF,c*H5@3^ɶtSCQ*b$֗-NV 를Bm-.!qn#72߱8P?zPv܈U Q.gd?+˭m"r s!I" /ڶd75sDm|wb^TB2y'^ 9M\/H}yI`iBз@H#3|7l& 4Aڨb{|Mci@1Oj-@󣆴F(} 'yR+' ЪB<҃i&xm]8GZ*Ka?xRwxPe#֮qh|'6rhIo V+4$x -jd+Ӏ`F[G&sd:hă)}O*')i̞W>W>oDZ(¼vZ;g9ohtqe b+ Zno[5G]~|U|?hK*/&a=C4AW7/,Z` 91F傒Yc{?'ݡzjZkÏwry&GHI)C=:^Bt)R<0h y@CXN#VNHeOHCͶhq;<цyC@3"  †F Jh!h~s4`oECʠQԔ9cm2NJ\KSغg Z3+cK`.ިBeL|{ fц*3ȿY6r%m4,VY %S U]shei.SoFp ~QnxFxw#';i/MI3HV$SvPex<L]Rz`XVrʳ wo)pJBX;Yo0.|o27-eE-153GG8(9NumN|\|& bx¯ȫ$ i#-'O.Kz8>eZ`9Sb0Y-1g@rLOeG~>n e?+s ;4'5MGD&;xKis4Օrnt odLs 9pgggBA59T (lQX gԴ6lk2zw! P|C@\!=-+UMkG5^& 5WN,3üxnZҊ Y(Mm -^zKbע .uC=ys-8#BQӛvǧ'|O6}fDyĻ Zl-L!&b+c ,ȶb`C] bd{X[, ^.ւtؓwW"K`. vQ zWޏx\# |H3|&b|z.QC(-P{,)taT2m 8i L$;& bO٢wZN*?βLka!!ꨠVFd5Le $]3c`##<Ӆ[nCnu-0ꨄCF,BOfAV61[q#H2@Rr_F]GLUBA:,-Kg HN$+ժ@OPyXBɆwzyr:HJ kp9X41X vCrQ1>[.>?4v'ن.^>}%ʣDrӖ GN# ]Oe*O<Щqְ+Bn.]B!WQe]OeNb Dg1$ c[e^FdD"aUxJ6qRqf,lBݟøTr_ПG*i fKZ|ad+]-b"LJ\+wki}J;ĝ(yy}xNL oneSCw$l iSTsɥYˏv4L|;RZgA*jqyhft!][^%Sq'9],Q|.V`mwtG32xk0N:P5^i[ݝzIXԨ-to|=qFF[|b|VڵoXH}7l?Φ=t?<]q7y,! &OjBꅷ($"l>[iNW0Hv.hrM2l?R sf폑v<`Ogğ O y1(T"f%'.S&ou;Wp]X̫Ga;_BE܍ܭ9@t%o:d;_q8 : HD[ac{>Vb_a\p9kڷTMF\_ÏQcQJ,,R)%iQq \}6d? ~8_A'su2bZ; ZqGnTrذ!JT%a n:ROS\1=ⲜL6(д7'AGc1cT| \JߓWHM$`2}v kN)}?MfSwsp;m:F;[9J@Gͧn{#)LV4f0!SMowܡajt]x?GAB}-huQ|Hh!]JpDPP&kS2KXjZ/(,BTE蓻B=^b;ݹ&\ƌņo};\;WJ3l5^/_f ]!6p{^{uط2zJEJ<ԍ'l8_u! -r']-n|W]֬4w+}ж[ڲZjYF_Ykѯ(>I;8K;(bt뒒Bx3\_:_`(93_"L/۪K6c+ ۊ*)GgGl|3'-UhLV b%)h iv؆MmpeF*bUe9QmBAR>ZLَu8[ 3 TFWh\nopv"u>>Yxeȏmo`.|Ȳ"_&}r!)Fʊ}ԀkW>-?'Wjf43G 7~lkN}4./"U|by8$-ڽx?J2)>xxA\Ƌ)oD}if2U><-_g.&D}~;z<,"$qq:4V̠n^ i7z2\R.퍻/;~ژ1a т ߗE)~G7_zPMur{j·b~*mŴ&{H%3vw5S]! c+3Ͽe "BjR94J\+=Zz{f-U ̏Xνڈ .qWx1xSTryK*:>XB | |WK+m[0kр/p8B0:2~ziEz_o'CO/oӶ p'bVW\RȄÔ)s5= NNcRl{=^9M&>l^w /' lsbmm[+PK>΄*7PKNgolang.org/x/exp@v0.0.0-20240506185415-9bf2ced13842/slices/slices_race_test.goJ1<)p"S : 6I$,7 [?{1)yW"CS2P nX)Xo!MY mtO,^px9>תd*&b%6j@D|ӂ-NX:r Ә?.r=1ۨfY[ }?PKƷPKIgolang.org/x/exp@v0.0.0-20240506185415-9bf2ced13842/slices/slices_test.go=oF?DĘEI[; Ҿ~0bEʥd+0A.$qs}x-;3)S G>|S9WEt8Kܑ 2NR;4aFǔ:Κ$~d!-q~g*Rc4Y)<:{ Fp=aˇ#dU{0L>9 ămOQLvw= *DIj4qG*cHpYW 6ZX3[]Io?Z3]z'.Ɛ~CKjrCE:@#R1V \'|H8 va 9v t:[LOY.3݃`exJ AXu_Gٕ%4]%>ǰHQ!Q|IL!QWJIIy@c@, s З/#dzٻ?9ո)@d-dMЧmfnR8X;ڿ1|:M+tY /.KV)?xQt["f*C2c\۟,#?ɳ=d瘦vf7u UDǍ0Es~fFg{~(_P**J`R^#,/ S:(h F#|\.׵90jF5j@ U1Պ#;}t2&"]Lgsv]h/ƀv rF_J,`*Ф^9h-,rZQ5c]-= Ru=ʍ)J_,K6]gծ)LHS2]?w :,ody!vUqR}8>{T*'[xg5$Aȟ, U?OjIXm-uehy܎E[ 1ypMF- KumSv{!ch5$]cer>~V+J 3+vOԉh) )-r[.W ^AV -Ϭao>Y;ib̜a|_&'}B ) |@` QpvA3䗝:+- edm06DL[VE%u)U}S¸Zk49F˨')t3圦LJђ4լ֡t0UrÈsd嚂&;!Vɲd!XiI?=F5~=~nmgɀ3_U0Übr:0QWGU ez/N|Pԍ\Y5.^o6w)GAHubnZn) s@Mp0hjF iʹ#b3xayOO( x0@q/4HH!W<1b!<(Ŀh皳eT=O*Rmխ= tTbǰ |bO*V˽hDB`&݈ pEIpLT\$"˪f+]!V$K+W;+Iq-(opu Q~Ν8,q;氌{R)IRgUA8i pGyX%twtpn/)\,'`]C.6{ǰ n)6XWv$EYe5v ,C4f%q/?fSv e\FLd@0҈to ]J2Oc6í9j"?[ܶۅ&tܶG5–!vW&W̵Ќ(ϟC&sh02?$3>2j`yT\͊vk5Qӑ)"kl {qKOVob rf@C@Ai$)]StB:尙 з]/ndLR=M;FRT$LXՕ]%_i ]\/^M0K4|ÔnP}z2{a qd$TJўM |p>mip.j,G"JYHC* %X2$yZeV/ ^i2.~}5qNU$+ h0N"[iP~,Kdm4^1yUcG| ^t^27ұd~}&ja(q@ y]v]5Tw}ZzP*P^g&5PtF*+N4Him ܪսg .sY-J8 Y e(Wp Lw)#nk"M љ^B#wM2ݕLYu1Ɯvs[1ڄ9R(кL Ɋ4.TT}ì jǕ:f:m5@uh2=kgpU4_WE; NqO>wV˛=]#>V~\Bl5KU2Y6TJ~uɣeG~l:%dK]͡[j ]f8j#{] ^̩}A:O(ZXgrU$)AOQ7i jG~N[m(TĢT-: Ѧc3e#HX2B2Kiڀ,foy3+`Ӫz*U*c!يS~YNQ6g\_F٤":nkh+b >ru4j1 8jwyڣW|jN亍\%𺺷̀rakAf30 l`5lAEג|[DT,jU(0qfzYM*J2p`\"4HqYQPb$_0m$O :& :[-F>01InWteC[`:];5]/VsoCF0@f|ڋ1hWgړپ+s>:%$F ܒ[|d vQǖmtly?a_T-2%{E~kN$E͖L+~*0N Az!(Cp_QpVc)ðZFaXGH4niJ{'LdLeQ(ݘS"UdJ"eX #cNy,AwWȶ!u񛈦1/86'6Uoa|ỉaTZL VC^'u쨿 [_2BWDЈq lT[3i,փ\| #ܒW`0|p{6:q̃ꙙ^%땓@6Ӵm\Hİ&ޖT\T\v:1a Oun/@Q-qxڃ< 2$ J̃P5/>~~/;EwCCohTXlPy5g,)Y=k,[ G\mt aOwZ=RγU6,vbVw* ^#q$;:v3n}n$K♄x  m{`N=ԤP~m9`\ZO\dvNT%pw4{A#OOߘ Y8@o%8Wփ{ }mX$4攚mAc𢡄C}-X/SZb= :S)V cf,-@ęDYe8/T4B0}h}) [l&D  n 7(ig~{Hq6mӅ #Ɔ _e" ݑڵIMR#tgDLCIۄ*iȆ*[·J&?CڰRYZ>"1;ҕIx߁}ZU0}=kuϏK5Lunie }H:E^LםK׎<ѯx^91Cƣ7x9Y8$t&'f2qqL[ %]BTMIѨ<[-Eɯ,;J}jyI1 R.8YrSB6{4o9MU{|ba:ԕoAO(?sw 31/)dbO0CY"7$o/f?PD"z]2 5aːlF(PKPyfPKBgolang.org/x/exp@v0.0.0-20240506185415-9bf2ced13842/slices/sort.goXn,>-*E;c]C FP\ev&^'(YHwݝomkUX^| W mle nـ&C(Mᯆ@` aFgZKuGZ+@CcW%Rd$ -Bj[}rQ$tN$I%X*Ѝ/_FgQڦKwJk&KQTcvK7(U8Tht.9R(iRWj7Y|+PzA`W5)h2 !~!SAҝy8dSI.jZKS-H I72s\_?g @{xwp9D# 'S(I8ՋFw % `,&oIƍ68~w{l4 K?jĊ[c1B54FK@D+( -p je*C89\It sndMV5`֛-ҩzI9ISV܊W̯/ì(WΫSw9`| B}Yg|~m!J[+JXc%K*$Κ[jfzܧA+&ulF 5ƒe73vV {iן~TXΕ*Y\i!gp !o|Kݵ%]3k4 ѐci(>E_huC;^?žZa -:&tFu\ȿ羡 Opӡځ;!C񼯄>3>XQ̀=|TvJ?YvUKd|Ə\.k[76 D (";c >qNo؃bĻ / U\9g! ¡ 7&]7RqJPrsQA)nU_քN m,8ቌ~;X엹d+A(nݶ8Oԯ~"2<{.z{~Wge.ecW:+0%^uE/-~r>8[CO,ns{[Z]kB#fW_QkїJ+h_՚,W^׷]lޜ1@Lݮg#1u9C,MήaVRHABc(!ò3]cPb5_dMS޵#]ി}]MçI>̐'wXᘾ/۸x 7`/polf ggp<;%Sr^֏ hĚϿ  mYahLp0] @!90pNnx ofxoLP4SLQ&g'~ba."=3KSA[%.7C!Yc`HBl\HmuYUO\"^8ooB˩l63=]khf8ˢ3TP@?{@DUa[l&`cS=ݗ3E` ̷]{@A! d2ǃYdvTJ+Rt#\v˺O| #(\My&Et"0C0r%y 08|zrJE%r 1 }|"ct髋+;f5r@2D8WwUwoل047#/6d(\'\&*D٩>#C.bLLx"W>=]o_ͅvjZviKn PE6}2rޚg$_GM,x"f&0c:Jix£lōDP *'ya:z 4o(ՉWf;CcUgYicf8a}Ej"9B> GSf=rk7i82)ך+#(`(a"Fi&_ dzs;p|r㛟.~ǟ u?] DLDsErI&m_88<%#o/ȺtSBKڍ^rYYg[:`}V KpW_֣ =.Rk—b7"z"Q!_ Η0YUI턱;֖v6}ĥnW.YHvPE-RUt1Sw^%{~˙fj~Zh{KwVtQ6U,;Y3%giζ}(>*wo;gO8h/Z'sˉ;c%x͡k1g`,4yAY^kayN\xSm,Є6}ǩ٭- z+zʘZ̎X+"|v~Uoo+!#%bXΫR.y(Յ %^(/,刟_ȍ t%Ahx֨wPK#PKGgolang.org/x/exp@v0.0.0-20240506185415-9bf2ced13842/slices/sort_test.goZi8lkgj1InA<e(Iw_Kn@ [b)SxS.֒`WK=/U+L1y(8=*ezr)I2 f=0]ד?Qz3 @ϩ 2ʥH s?_y{3y Y |3 ; ŢA' zO%)R2)Ž{bQ3A/.1FQtDž~88$0^89@l.^89%4.%0E=L/ '0ͷM |!ZOèwIt{ugjLUs46ri^\<)3J +_,R+9kX*.fȉ |dI)OT`ʁYLo\p=\z0-˼JX8'F1İٝdS?2&G TPӕ=M:S=J=,:_vh3Rg*gTeR ~l<^<#NGQBqF@GApr&~;ѵТۏc}'iuCͤӜپfQ?9g4@=^/BY,F#(0Aw#-q("_GvVb]XwWBKUUtQvz YRJ$&לPʔ^;t g^۩Nb p)µYAπYp3I {6Pד5TW5B9K-Yxfgc0i׾e-I)4Kt0AДcØrhꮭvJ\&4r,z-"PT"0Pv+ !币.5/ŧ00 { U*cf$v\Z~brnG={[s ?O-m1yl5;bϒ 8%ڭnj̲W OAʧs9r'= iÉ-8,v&=r0fL/e#)PvF#J5J;.~B)f<:[]nq7o' sR 6W< oiwC+%C#HM ZIbtrncSwZWK MK M uC:2v{J׫1Q3pgc4t%'WmWRh{P97ll0O1Z@te`NGj9]pLWq6 (8'<+ll\U4wj 4):=cnD#̨QbN/زj o>h&\}9>I|UAɯ|/O!$ḯG108ﳨ?ə!h+QpQZ!=Y2N Ue(ۯZoJ(L#CA+lӄ9P<z ]M\),d3V7K|ʥ^,uԾ=Tms!v2TkZ鰺CfEV? 5QUGb~CoBF7p!+j5uj^o{ӞrP%Ê^mº0vz`WoHPg@D ƀy> t]mgI*gLc R?_eW^`y &)k M)q=\Nbyht?q={fmdh৾`D`aOh) Ĵ g.hPIK+.=̣A $mGpwYa8b6!jm%{3$0 c.cq벒.<ؽ{Оv2ښRNhFUq'6#K4_Ь5f,JU;-`5/gjEź-)ufI}-)5$P#5_bT< ~?|nOO_qtuh]BL`b/c1 <ěCMT `[hF]#󎣀Z#7O%N ]TzW&bw5򟠍QssO5NhpF ƣt?ghԽ5X+&ƚm06>͖Ƃz$Z/ dYK.)rI9t1 ud8|Et򝅮Y)ipzW1Ixm~6XvE`\'¥PK@Ew 'PKJgolang.org/x/exp@v0.0.0-20240506185415-9bf2ced13842/slices/zsortanyfunc.gozr5s!␔;)IT;_\DzG f9L %:}}}nCR{R@7J9,YBŏ?6L &->~o} XmXNs+x]\i3E4m@s3wAe`saZ'$AX 7ScGB$\6g&!搩Z $؜wp2QpXd͖ WHõJ(m)_ki e}a-Feg ގ|} !mIYhGp) `    ()+6rcS/E; o7}d(\ZC9ҪnAIP繸#̈́6IPYfE^3r9}k;x б/BE(liIœHq옦'p: Dnjpr5gk'f~r wDʄx;CpDxEdâH4AR p8p"[8fvй9JOGJ?  9A S``>k<ҋ;asXj,7SH`f#p:9-]-7"#5".QIUa3A+ILQSG>B;"zӷҎ6O3*])93dPe57+ u0pZƬ`2*Q@39d(P1K`s'O5EG*QX(&`-l8lp0cgO%9m5qY0@Hè͌,.u?<}!E]B Ym#uKwE?z3GP$l'_YQ RP2Mr9a*Yg&:N;^y$(# 9ORE}=6j}xNa%$WO89R G|pmߙ\H>)ɕ ~MY㌁e6eI"(yLiۚ9=TN{=LHH9ܹ6,̎ob0rCS`ĤٕSG->7F# b͋mc:;ĻG~t;xtI+o99V{ 9V)*&{eBgJi]"awi(es<LP'{0俓Q6㥥$6=IFPW (EJٜVȚ"©uO;9}C}ej\6Hs(sɕ|gOl|hV]-`)/̑D ߀ڲ!%{"5nS PORB6T8|6ܴ*ddr+͈ˊ;uբ$/%sgWWv(0ds.dZt@c 2&k2Sv8+nS$EmĆHU y/yVLw_`mUvl!F>z;8XE0>}RC兔m2V/ֱJՖ^q,&< A|ϒX+l_V+bJWI3qLfL]bfX3mGC*`Д(o]e حU_L$K Vs:l['K \Lꎪ5'.-( NͻfEk&e˕mi"oFD<C|cmZp ߻^cm/Ψ #< _1+p0XyhE]JI󃢌H7 f0_8wqD > w CXZEDX/ Wa=fV6hjMrpGj ^s5A]Km  _T˵TwҭvMY0G,F~>.X37,qu\%A20Rَ#mDމS>3L7iBT( IoRmQ[k68vV wvO;aab\k3kshd鱞lwv; JtȮ@efW #bV! 6n eE`  D6'AlԢ/0QfY\Bz~KOΎ;xwmy*6izVbGw=2$ moZ9\-c 8c?; 2MmenFI( VۯrC*B.ٍU-9 6"[-E(i njä𺈱~>tүbOUD:І)ۛpvrCU%N9牭5b!ӵ IJ%zgB.'5f)SF}@*>4,4Ojmb*-$\B-G&w1_!aEaBszaL@1 l!4̀}H5.dejr䮐x'$%.A/&қ=wG%LkAڭUUqޠDMqt퐱ܱBRJhR:Ƅk@*9Myx)j΁%ptDӉ69 yv%Sw Q P3Ҵ,hY4(EQV*3K&=0T>+sxQ"ZJpc޶<- y3٦w.h| AHͽMdFy*b.XHp9 F8= Auݰ2 ԡ;7x{/|P(fs1r~^^fM,4.FASj WWpZMrJ])UPn dÊEý,}q _F'{Mp bzzq!4@zҶweX1TQ`{BiXCʐ+bT+_bi*L-+вz^W .`{*W?>\]G; LPfKQvE+ S)o:kX'U.1u.?CQHsݞPiNzGN<@RzLEEȅKᱟzAj[0ͥut" 2|( 6tџKrIq=68Qbu &2>06}I^c5H^jؾmY(TS~Fd-dVBhyu5nil*hU[L .`ÏOVGt9dwWCW B:OPKnJV 3PKJgolang.org/x/exp@v0.0.0-20240506185415-9bf2ced13842/slices/zsortordered.go:]s7A!)2mJU$ދk-۷=T[r~d+/0$eIC,ݍ&Y\r,O!㏿6L &/5o~yibbY]f) ^W6Sڌu-ppP 0`T ,Նk`/#c9G\$\6c&!PLAHwo~ ,D~ɒ5[r0h}QJ[vr&c݄I iͷ$k+W~)<TY]P! (J&'?>c 7bBip5C^A J+\װ[`pvIQϫ1Mװw }FX_Vey5JJtDru:2 j0ܢlیkNR֙' nfxZ Q`kCQ1I&?.hy~'n XsvׇSAc}t4> MsP@Cs[iI<-<b5wzLMqed1~Pd[a3Xj,73@`*-9`: snpy ; w PF*>&%L@3`.SU$fqpyܮaãlywvZCy$j/6+ f%k9J3J$kp"+K*KnJ+ ;Øg`U?*Y[\_Afmi&wbCL_Ɨ?LgߍtAIf8l m.ͪxbt^N T%fMdSOn A! Us'\m1?7\1˙Lx:Rl5,Q1K`Yq+MtOy lNDsކi8z[f~df\|93x. $zGX" FY*=I18ɔ2#~'hB./>l6L.# dpVAX WqRULxteB1iU"adm-,Ld}2hLW'z0K[l%Pʹ7 "9"LI+dŃ: F'ď1>EÅ}ew\HGHnSɔZ}!~iVv5npH̽HPj%v9yvH&цq}N U܀)a*Hq e(;ᦱI![]qF`CiE<ܔdǩn%P)x#\]݆ E,K_!I5y͂J2Nʮ/uC'"׀2: 哼2bCЭy>qSf^J4;0}9tVGª[Aliq*t[5t$PW'=/Sd~NP6vg 9{e-Xnq=`qQhBj|HiAӽ j(ZHeCky;)uv-?\Nyli1'4jA%.Z3suLq-XK7Hzmwz8c8ݴ|lwoyi 7ϼ`;QTEmMW,҂H-F w m#lEÒ[0XXjL{_4%O|ڊBr>L1VpAkX4<6hzhbXDa>P  pʣo,M4Ux2s6CV~̉/dňa 4s6\73Zڴ5=vv"/@H[BP7:)h`QۉT &E+" ?&! -9&)$a~لl QN15;ÏVd )Mn{@.TZUwraij._|?AgΆ[&h:&"ys= 7]S/nY: _xMwu^dSy](<sS8`Yh/W-Pc 4y L B` 4nI 6Lk)||-ֈdh2[ \;5|d'W62% "B%r`MաJsʭ6_Gܯ`4[a ܱI04&F;bR`Un@\K"x/6ม^Eᆑv?D~e,Ai3wMq|nnKՍ807 2w@b_Za8Ft_KҐxetz2"HgyWŝY02rgS z(`!dzZoS `)2;ZƃݞG9l4%٩+҇+sgp.@]0>2˚rr").# <@Yܺɲ8>C +q+ꤊXlo[.rA 1\3!z1 mJ_O`p-pz^uE򐻞w\b-\>3h3E9k(j߯ qF9ZZPvB?o*.^f[ԯ\3m]SQGJ_DA诵.{2,w$vofKH.HV~VEɴ0Jo1}e^14'U0;]w*m"xxbk]^~FUlOl9W ^}e}"P+ ?;}\LH3︅;,*Fx{?c% &hT%!0Ԕ{Hs<? Nf>]` sfc̾_A>#TXXM/`)6 0F,4 .Vzx1]l>)H2y2$CK^ W[NJqB L;4p'FovϾRɖ <A*GwXn:r[F@ Wit 2ڲQv.)`W@%k5gID3E@=kJ[װ5Ȭ{a3¿g?/?ƊIulR6?jP,X<+gb,Xb0pZkc#655;O{jJף+QKΆq-yxC؆i,'3Tr`A8"'ᮾ:% pe@! us>GS s(lx$aq~  hJI[z5B ¥3]@^Pcl%B8;ni"fUߡ~1bU=C &|)܍-B¿`l*rIMr{ T5n P(FB2<2#p]p[ /O.s{co>t3{pN#AW.hK*p?[)ںk '6PK?5T2PK@golang.org/x/exp@v0.0.0-20240506185415-9bf2ced13842/slog/attr.go|VAo8=G00Hݢ]] 3[%=(6m %$0)9&DTnoG6=-Z Xk lУcU[l U\P Ayh #Hvè*x4E`*PB#Jc!D/˝l B&YPf"{m`#v8z\!c42X#i'8p [a S: `ʄ_p\ʣ߇XP`Xta%Ddwۀ"cbe &1W3 #-HSM>I{Wu=ɓ GȓTIu9!0&$"eM+^)\L[U榷$3t[tIEɨo.䋵:jH+t1zQ^~+3)@|)]y;klF@}Ia&62ϵ}M>-)lWTL3eEkM)E)824R&H.S3bEmH,l]l7rJ5i4mZ XGqe)\utPا_j"]( i+`X rxd(X#f97x}Hѫf $XPm5H2,i8c}Zr/񀼟ڌg/}VӔw ^e[?|C̬xf2_~b<=HN[ -_+z)=2dݨ*)YJc6hrϟA-caӻOo1.)e?|*cׇ)[UB6SF'5z9Th38j1*G-%q//$Nb6NaQZ?PKH{* PKEgolang.org/x/exp@v0.0.0-20240506185415-9bf2ced13842/slog/attr_test.golMo0x$hɖ 8 UB-WM&YӬ'ۦpӌf'35yvӓS_(;Ħ5^qBv6 p5`:>w`;mUokr ;#Ört _/o.ڞJSߛz * b]MS jRMs oklB~ BԼlO Sp<'y0cB=9 V`:^+E۳-̽V* J=¸Q+5+j0Y*2TM$]a?Oʢ<1[]QtyZ|H+|-"iU8cH|K")WI WE:@~a(*lܸ@MBʶ0xQ$GKٷyֱeƒq'`ZD8v.۹9ec:-'

ŏOX/:Vx$wY[\|b:dDToo./^_3{PKx PKQgolang.org/x/exp@v0.0.0-20240506185415-9bf2ced13842/slog/benchmarks/benchmarks.goUMF =~K–_|&A@]qI4h( ){ݢFr6-li7j;[7v C/ 92#YZGF L}( *,CMG K`7KCr@x*} փ4<~-Tahʯlj}Ѵ&|f(ȋ_(;䯒L@pD a, jW}aYoӭe#sābEJdL@?,c (reUv qbK|5ڗzz}ŝUʶwb;PS^G^PQm{g@@`hoRjEI-z:K />Q_: Q{Ķp<剂\ Q9:b*Zb<ǰ~2OV55g$zyɦyum3ptZu#?CE50 sѸ^UAgc;%zCA'@S=Z9ǹBF[ ˥}9NVea*xcG oס; `SuE k,ūC_lzJLuŐdG3Tsw7hXv8Lw{+ wE$:mbUHj)f#c!q,%K$mGA`\NT}&UZ3(ԫ>w+Gi2O|nsriyXrl86Qn'͒ dyJt>, {20'3؎Y}-M&L1C{7Fp?ޜYpz!$h"]˷`U]ߘ7ׯuYn6nnw~FG/02moo7}>v?ƻ _ƀڝ},u\;jH` ?Or5|R>|)kchǀG/Ӊ,-octpTgI1B_\Ny 7ɿ>/] {Pf]~ -7DK ¤~[O-ڽO&PKJ aPKVgolang.org/x/exp@v0.0.0-20240506185415-9bf2ced13842/slog/benchmarks/benchmarks_test.goWMo$5=w5%J& B6!ۊܲ wNBvVs.Wze㦁33'oNNv@r򃱎Rk,:i`:rd%4-rЛ{-w +wK+ $7eO։ j]Ex@qͯpE }^m&Bo_˿PK'b8PKOgolang.org/x/exp@v0.0.0-20240506185415-9bf2ced13842/slog/benchmarks/handlers.goV]o۸}~\r9)>ȃA]`n-$"#;FRv|Hpp̐g< ,,+ǯ_× ჁIK.R,:3h<@tLk3Aifh50]wG K CJdB0Aj K(4݈a:jao\0:Wh>ؤ.(uc,A ф4âi#=W5h0,L-ǷcmNr0jӶ(olpo"̭$t ̌́  Ҥ`9oiԂZ*a cq5iK0TWkHe2;\Tc8CZiz|QmHa2AO8fFdHE;R[W 9d-67@@%꨷%Bg5ڴN-+Sp`Ƹ:ZEFhplEC(*Zu, u_BEZ ݈r7? 5pcEZLq׈ExBO8CwЅ!"< ^⟰jnZ3Ah3$Xo{'Q4Ǧ_d vgPkvlDAASޙî9c撲 fGp鎂%I6QyYWKQGaؼ kWF<+n5c#8:7[ƨl\EzZAgi8NBߓ/O))ޱ^dHc>A^;fm>HUsaQSzXfRQ}#zx89H+773fcY GSs|Jjy$$U wl^H!wV˺QX&̇}mp,eBuDAkw~#Ci#OEvSZ KcMKRz5:x 瘉uŋY%Fx۠vr+:4W{-GE_-k+ 8r-SD˅] VJ)X}YeY;bK#XscWR[aµ5qH~Y$WP}{XK7M{Q9ߎw}Kyֻn Kh~1{ ;w#np ]2A"JqZ/j)vF{_;PKnPKTgolang.org/x/exp@v0.0.0-20240506185415-9bf2ced13842/slog/benchmarks/handlers_test.goRn<aܪnu;W QdSޔ+V9}}3!hkrpJ_J)Ή,!];hR0궫kuqLv&+$g`RVD& &spM& 'Θz l#evi~ٓ?tLY1;b?]ʿ[?\Lމ˪}[ &Cن2JD/$sQ͈= 䯉EӫCC^Ws`xI4;PۢTԾȒPxkAvUB4ԡ@|?PK]PKSgolang.org/x/exp@v0.0.0-20240506185415-9bf2ced13842/slog/benchmarks/slog-nopc.benchnрͧ\}3>x9|8!~ze1v 3AD"22뻻7|>&g>^_\^Owϯ>:>/?>]~W7~{~}x~M43 qR>}z__ 2$ԆI3'&&v$d0!e0; )N t||| I++'A,6 RɬYL6|\H0Kl K^.m$S v(( p KSXcN\B ID.cDÅ͟l3NM8YanX.1g7Lr:աB.?99RWP\t`~\9CpY-eβ,IDvwxt:/y J,`P()UMH&s0P"g՚~n0p.UOw@9Ϫs_WB=ˡ/L (< *%GC>8ERJY*#Ȓ '3@,4(T1*!BygU 1D![R¬9,D)kc$*̍YX+v{\ P ~SIgѢ#t㦮@zFl(4 ȇIIY2u$g "X.Rٷ[?/v"gw0ǚcsb eXr%P"J]EkK&*S2*ǝIbfs~rPe[Psễ0ʚ5?B9ƎllLD=65noL "m@^QDAW4L*t3uR2a(ilLĤNtYIм16QQw<g)Pg=M0\8C, rVW8(7*& Ҽ^a]gL=Q_& ԰Tɳ"CS)U(Po09A-2Vʸbqk²DЋTL-V/R7x$sHݤLX!H@`OvG 8 $X'HJ Qe*RΈt=RƧb5AxAq,?_:!:P.F;ԩ+:B(=9_?(G{>!C)i[k~(AjJ~(Ě4øRA'`rϳPT'!W(Rfbs@u#JV8PT5gѳP38 dQ퐴v% w "+T0Σ3v\DazPeF\ڌGD :uSQa39N :T^nwIY/(PxH 98r ($r/LwF^('Hg+CEcYF⩋mB?Y}H @%JJЎ1(DȰ>Q90gm,^UwqguYFT'QSdIk?˟g1I=YMA 7 7Qy%7~֏臲0̭yԲ1 j=Bh5 cUqR$p}'lL>rafA()Ty` a) C Y*&J!g8TI]0l_:Y^(oV(ׂuy 'C`o$dN+AH"qgB%Cՙ-Zh][x-hi)xq1io\,an][1qHPZ16A% @a=@P~sMDtȸJMJ A$j$XlF~D?|~;J(?PKJ {SPKNgolang.org/x/exp@v0.0.0-20240506185415-9bf2ced13842/slog/benchmarks/slog.benchIo_bQ&C ICJ~1TUԸ*E1Vj{wNjۇ^MW?5tpwuxxy~z|ӫO7w<w8ўŷw7o/1MPHAܧLˇӷ]=\5t@@f-@+I =Ui ړl ,{Xt&v|QGd >ٙpIÊ )^d\N~L.W{C1v)UWJUp~ wEgE8H@U(dy+03PGgb5n, f-; D)Y_+HLrDd$@G4ܒf ΠѪq@!@5r#W||rE^8_YQoخM6msձR(2Iz췶QZ캹G"n&8VTwg+6FJȀCz>8z !̽mՠ8@jm!? uF* ڣ8y-)P@;7OQ٠B6Wk( +2jkg im\u>!qMg7j`-Mn]Edϥlrl Y]p^bP(uM?{ŮnźK2j趹Bwh"ڊ(*Jd84SV}PD0[r(kJ"ȲlC1 DDA2 . tD%!,)aeZ.R=Qu'͖װ gsю(viϮQT,f6 hDT@ ]_$2O1y?B;_@/ZnRl@-T;RV2|!vwwlc|w,\H lJ$3 A*kF@\%a b/KԌQ Omc; X@2N"> '~\@.ƁUk= Mk+ZroA8h'#pBE(1L"5.c;ea $*]5'3a6"2ES\=%”TSqqDYuUtQb*K%Sn <}{%A^?(%3.ۼrOny~2g<\EI}{%QaU'[|Je=j^(f)=m5G1O T$ծEVQQ7g+1Ĩn4Nb崚/VMy4.JBE2 6oFP_(oC5ДՑj :,DucdȰubXVّt*(*ȷxn]PXeXٜBa^YUG@ %!Cby% bzՃu)a G)]0E?+PD:Pue_T,Ʃ.)jiII@.X> ,9 &峀1)ׂ닇Ӵ[$fp9PKҡRV\SPK?golang.org/x/exp@v0.0.0-20240506185415-9bf2ced13842/slog/doc.goZm7l t/5=,0a0պQIj@R pLBQɇ..tϟ=o<чXKk?G1a[ 9"Ʒ&B08la ߽iLg4˚]DHG?tDz`,J]Y[!D;3-F)M`}U88Ms_ `CƎ-cVJC; & kN>1N)0*4[nNa&Z Z<4\_pS)gzLGFƱ9ҲyF S~y7;u>$:;t)0`LRusFנc [8t ׮nj cƔ%&N|X7pCtƞvW$c&A<*oQhF+TG MӣME$4[Icw䇧|Wp]wQ[h-Z!`kIyy| R/ƻh(WC2=V'L(INP :=s k\y"}z}&+ܙT4 RO MƏ.m*v|o)6K{1\BF u||86ɇ4r4-v"jw[Gi -/>` Zu ɯYŪTUQ2.ȱVadT#FBCg55IJ`md!Y+M''}+gkb8F<Ұ{P}D1f])K4!8Y` b xQAt $|s_.wVyRzR(p+UvKdbٟpn:)yGI'$U8/to)eץXç`:~h՘kuh cJ=K_UӶgc>BN盢v=2@ټXĠ PGc|9t=A(q8aY.C0LbLB |_?ˮ={_.=Hc7bUS?+ w#.bç-Zo4wX/+ޏ(r+zDj\nH#jnsY6]~E|:ߖj)`:(7%֒)gkJӮR2#>"j,]I 1d8xU`/̂ RT븊 tc^~R'c-4z~a`"J`Fr=/w#pr,՘ TraѲy<1r-Y"vEiA'1C\YBG=./A(AOJZQIEA;q9d6x0Jsr,v^nTډ71#5{>[sWʶnrgti[~LiV-\KP2\!TY+UĒqR~DugzJS4G0ZGs䃝y'&8sujR84}pgx1gtS&瘦$~&MK8j0x 1MV4/M:NLi~K?砤ᖘmIzatXb&ݓ %GcS B?Yq/Ԃk :¿zmܿ\<ZCgbb & }`ж$@)|:XxR4b)ӶBlz%zڳӽ< ޶+I\K@A nyx~ UVgAt0 Q1O$jPH o/ٌ,Id$k [R>@'9;$_GɅ #=lat-j>6V:SEOI$NaŪDOÛS!SOGFkϕ;PM1wW~CdTOUL@~Dt[+ p`ȭi9ck6ɞ9| z:0=e&8N(RL&<%9܆>1P5U-yO^) V">2X4eYDūUI 3[y!kji7x'uA{U..Zmf7xs!)Td i\9nNb&٧ч[maJ(I trsN+zN^E|nnѵz'Nm֛Oi Y0{kXw5|ԯ!r9EWF30qМٰTɢVdj"\܊ʏym{C^H9S8~`6i V߉Ɨ!m gG0+JS"Ϊ{O* 7hl UHLX Dܼ+ūI!*G lƚt9  |B dW4Cb_F0@;Լԥ҅(OW=l~JfbwfJ|?`u=Cgo-9W~-@SqpbE\DR3Ii()Q475'SGIitRi]9'}Dt¶ #)6:p`Z-vanM#0u^u}&\/=;+؛bƤIT\U'kɬCIDD/0: 9`Y45ϛ5 NCHj Jn ѩ$1.>ORosCESغp䎰:Ti-Ou#N*R~"oes]J4زd#Mawᧄ]~C΢$rbS1 Rf%m8yoN:%)E 6L'>Lp1):tVAR#cͺ`?ɇ[5ZxϬB0ɐ| nt*MUumu(}=YR~Ք] K+sY#x*y>Pn}&Gɍ/Mov۝g)霪,֢"SCQgx0vtGp?I:t_r7TcnR~%> hOlnӦ]_ &Q+tq 9A~k"fW sTnU΁ #K9.4uPK\רS/PKVgolang.org/x/exp@v0.0.0-20240506185415-9bf2ced13842/slog/example_custom_levels_test.goVAo>KA\"ubXcf3f8vE3lu\bSG#ɳܚnoeêAhSc+F)XthXl5ҁ3ޖlj`޿qWQJ5uR5n狇9l"M;Q>)S%t%$3.K$.gO3|f읥3@|m*lvd冷L Ԡpʁՙhх4$2 7+:$|VV8!jޢQ>/S" e#t.dىXEԄl͑Е˖YEy+)8&\ӏ̤`cM fbi(`P.{y * ̧iY|3, &=^4Jܕu$ru ō"?5Ba#r1K}cP%ySX{;"+$ aKCӊ':c[Y4@V 5(Q+v= gQTb-}$5npС0!S7lr >50wQz!|~u2rq(/WD6_~/n#W&4MPXsj&d\K5}QVpT\v TFHUtu-5l Z!ls@,Tх \qCQ+r]dC^̒)%n=y}%<:{{)|b\Ge sNj5oɦdCwO4Rڐ/Rŧ=JƳ_r?AG//ci󹚒OjJ-mh!y}*:PK-lFPKYgolang.org/x/exp@v0.0.0-20240506185415-9bf2ced13842/slog/example_logvaluer_secret_test.gotRMk@={T"A*>ۚja#WKV;bg؄|Оͼy*?C!|#XQVA2 RUb:ti BC-e04a 4|_}b99[6A:-h} փtכvuX*5AvdY@A W8Sjrڛ*Ng*׮|XBEq+z@-h`l Lڍ/rM^ eTr7mڳǸO@HnDN&eT0D^Q4?E@' \vZ]뫻zc ձ0< Zɳ-=߾ 88 FwV:K0ů‹KfGs;[w3ъr3ϸCV#c0D(yc(ߵoKKDŽ!*㧛J$\k 4am{|.n<{/z 1ߟ)>R[HԢ`70Ez;-7ۯ;,E pPKk#PKHgolang.org/x/exp@v0.0.0-20240506185415-9bf2ced13842/slog/example_test.gotQn0 =[_A0؀'u9k,XIz.Tɢ+QY>Iðgj 4 =Š&qO!*qf:BဍZcD"P# 0xl |}pR9[xxFh)׷ˇZP 11v)0"Ỵ8}(dGNQQq?B[qzHlm5,f1/Md'`V{/ #rڸ"uȴ0'I_a)7O3&6#[m350k8v,!ak]3-岵YT?_y \=5~ΰ'77=2ey.3EesFj5bh c;<60Į$/wZg WWpqD.PKPKMgolang.org/x/exp@v0.0.0-20240506185415-9bf2ced13842/slog/example_wrap_test.gotTMo6=U@Si`O|Hl4H8%0FD(R )F^RjXC{ok\a\_\iCr <ǥHnGܖZx65ƶ!햜{\^SҪ! a#aJhZ(!^ܯn)MA4oB%~.`YXhr]>AM+D#^S4/ri0[']M=rVt\D?V`侶ԩO[)FeD݉'I(ZDB ֫%4BkrppLv{×T.*t" /2)-fhޤ(j}G[ұYXCzT& l_'̾bb]ԀWM,sX,f)R{# ]jpʄN$9|]K<r~Bؕ&yo1 "w4hP:x yO I~y|ڨ@m^2}0EuY%,JO.}CXXPK+O֫gPKCgolang.org/x/exp@v0.0.0-20240506185415-9bf2ced13842/slog/handler.go{os7kS JDzG#ڪ^)qr8r6Use!0 .}0!89迿nV7^*=t2kGmi={j t2[Vuin Wf}e{5 t1<%u݂DkBelDgM ^lЩJa[yUx#`6VXQ1DkJ:(Cv#;'ni8οQ~#d]+[ypBZt9&m4Qo.mڃ>@Ù[S; D%jQ]'F_ [pNTxI JB՟XgJEٵ 'wR+ o:!ّ)ChA(<ȺCד$;jdtrq!kBX@vf$VIjk-ZC[wfsn6FXAK m{( cAH}Үwh9NH h8uAs64 :bpaĴQ+WI[cEbc69GdAdeOGSOTJF.(QSY]-Ӫ7҅DL6!$ ; mBy'݁b2*t o!^beL;l; ۷֤ն6w ̼j'A@҉817?*մpS5{U'vBVh$( &L Z e@FSzOFC׮ ۂsr )hy5vk!BE #߹VzeV-lɥ],,tav%͊"i[sܒH qowj ѐLHEpVz7p O#<&ggvUI_Á"=#^9pb$&;=8!;qǻŐJJ:qNw&Db}[yz!6" {|X δ~(ᥢI&tY0U9/LC\-T#Gߦ@g\h`;E#ؚ҅Z5Jey$OH${6mX@y9 7yt#e [9J/"?Y׌~!`3/k,M5ǓpE9raV Ć6,w]bAC A'mwY+<;Iba]U2ۭѹ- )n+ZoWq"eK~B7iSybAȶV3 Qta9UITb)߇&*t8%=qki,.0ɕa˛+{k;MծK%i n zX|_V$"a~&NN岘NpMYmJ 7>vMA31+b/2xl,<)9y2Nvs\U'o`#)oKb2E:=DJ?(LN KG9n@.o.x,%E;Lq\ř?)mrsc߮^">qz49"+8HBH\mb 덨̶qcdꌣYU2qwSUN'=}E^r*V6V&\LS>kj<ಬxBE8q,~Ktb n p`RI ͨ1#d ꃖ[$U)]bd;bɷеtAt`dG7(ϽӰX_T㈹o˷"4g,\Xhb6c)7\$V1gلhNc!f$JwVeζn=cfaPr2wdb>f Մiް0f.{,R\]g~$c~ExM x*@q TDQPc#Ѱv<\ Z;X&Ѷoì0)D0aY!rd>UB|ӣD nzT;͛T[[!ϘJ/$q ;1wjJ(wkX̢.3WFz܉y3;z7('u/ީ-3 U{@L2v),ppџЙj8]j@t`nJvc2f?(C\ qFB ;dQY,[Gm)f5X̡M!DfC(P.&}LQ眩(ORPN'sأx5U鈣}!f>G;xb=Iex{X{9=u{=)IL~StJ ~„nw .Js9gOn:DPm:,y鍅F݆p"p\c):[R i_Oj>eF ڈ ;O'uҞ -*ۮ~dwUtr3~)Z@ QF|1z/QgZk+ t,ntl[d a=LlJ|HxK|/$+oʣ 21Õy˴☛&hM/\\琍pڂt 5BNBsj61?jNlf̛a%NҌݰnNUVy|S27YCEgE(Ϋ%钃=KpGߖ߇@72h><Ob)X"S Ո$xH): ~gyc"X^ KLCpd"@@Z2WDn%*,  r!͍[1hȩP(` v\c@P&BǓ,._F[5~xOtHW5ɥZd`;q".áF\A>ED.kwΒ';h4(3j}  4[}o^2 –La4 |:ٺ57 s+N5'timX=aJ yS.uB/pGflHčAT(&Ņx%͛utBQGb̅56zԱ09w_Prz܈:i7t +ݛVc}qpf,31 df/6{t8pJ[n~KBilCoܒ* =#`iћp: þWRWieۚ'T$=گ!@M{i%Wp7"B`0ۃ >~w@nB:(tRA^Zfd mJb,W?v ~+.ActʧJ]6jV>=&!?/y"ƒ_GEl AI,Ac CTperbmنul[-/~H ݛbpgaL`(t_!=77>"U;$J$Z55mg4hEy<#2'xӋWx.t +kqrr q* &lNܞTđpDrGP>iց )tɐW"|O^k肐Ovsx@׃O`/H(ˢ|r:ѱ[Q~+tE@uc hDٜ}![tSd#czWB|~_\ -#V\XcxLوzpOtźs`2>C" LᗃvDK| Ypq! X:PK X11@PKHgolang.org/x/exp@v0.0.0-20240506185415-9bf2ced13842/slog/handler_test.go[s6Y+ ch}{|3v|u>Mo$QP$h(%˩ziJb9:Y(hf" Ngj҃$P)y,dcPXfE( Fb Q6E*F0\7/Z$g%q(R)@M00fD0Y8Û>Ezf*)/'q\xB,V|,@Ȑȳ $,+Y:lPB2,U^HlѿebC9W# ?A"ҹӈ)!UFOϏ$A[(N(R g(Xxp#z#|t[fIƁ =3~ vN^S #~ ?Y^BYYϙ =DžkfCSw㬀O. 8i$ߤ*fB:) jZau zuSU]!9h hs.޿S!%u4`Ik25*M2 `^qVLRbd7rN`SRXB!ԬHa .p Fҩ~6 37u̅Ǐ e.(7 y/ yDp~ p6#d_!ۣ@]/-7rtr<<=Vom'3فx>_54u"O #U,kz(eΜeԲH]#*6q\f(+ IK2c9o43'T]D#ߋ+fS\p)"HǙ l홡K t4"y% ļPݻP8SG5'(xL}Sr~mvx&oS&jΚ ⳲV|,́,JbvYI"۫9`nul.' VG` `brF.pߕCRM@ta3.0'؟h j=R\`"qx&ֻyCl%1+!+1u:̲dND2TɈ4^=)uwڂؐ8lc !SnEc{uA[+NHFACT0W2NM}B_eDט˦2b~ig>ˆ>dPLs/b%dtd4{ĹM5;bsf҆ Ͽ`,Cpٜ$9"b]`xͥQ,1w绡[-*%ޫNP[]f>xB{Wo?zHO';7i|y=G*)u#H==EjV~v+?U7OG0#ɫvO2%3w#EqV{C< s݂ J]>(oHxsV:H2`}{wYP2ś wo{WN}Ba7hZxcl'[űA&q*ZOx)mkk=UyX6 Bq,RSX+0LW6 ɝU"~ TPu{]=4dzգ3{'(xg\ [71e']ش RPޫ=;.S-->b&6P0~آˋ$oS =12\x0m0)] Ymvuw)Blv;C$w*(~w2nv8%ywFN'نC(e`뺦1FNk E߫TMΠgxU5Cu^ӖhyMlsکkqΒܯY+IOɴX# <~PMtrz{A~l] ))^. 4^iIh7Xy=P{Sxȯq\`)6eU_j-W^ʜ$|(7@BPSUYR]zHaj5y^bgY10 [_]E(5S(]ܠF׫3{0T~Ʃ:r8VE|eYjeT^.%/vژ@ygd;3 *-M]H؅^C1d#/O*ZMGNZ(;q*5pȣZWEyˠ_qR  cHdj*E~=$Aeq kJN5YT_9_S{}H>OU.Oj}̸xFQ_Ϫe`E#y껿64bu H m$Fz!{=V5(PKČW6PKRgolang.org/x/exp@v0.0.0-20240506185415-9bf2ced13842/slog/internal/buffer/buffer.go|T]o6}AV*%9 A0wCJP$CN6} %{iM"9瞲ĵ;'uYuvk{MX \*tȓR[Ŀ`:fBcZ͖W?>E iOkЙn!5š;tRQ"N4'ԛ#V!`QsiDH>`crpnNXȯFR ):g)!Iް/АZ)L6:1 xKnlŒQX"VR/,stBeY%H|9C5â:-gY(l?/uβ{a,y:M)ϋOG.K|0pn%i&j~JFLzZ} >)Vq^K,~dFX~ZX~grZcx}^=MmO8?c[c 9arθ[~Z`UgR}=(O? `сKH.^mXs9C(_9xhz" /> `+ږZqu!r;|&g 5ϑH"Ɵh3U 2 LigF}$`OǸ9M1+ƠL_*)XJ+lY$1&KiH G[rC]*KP%m1ǂe}ĢׯSsoH%eSJiI)MBbE} $S8 +mx>iq /PKgxDPKWgolang.org/x/exp@v0.0.0-20240506185415-9bf2ced13842/slog/internal/buffer/buffer_test.goDOk@ϚO"UvL!P!I(`J3]ufG1&{ob;b\u $m8 CC~eFP3rgi`1DnSC|13Ե6MqPp~ܬa}hۑMֲ$ )rR7 TtrGޗ[t7ayQq,9ryY_IO7C}0~ʫ+bL:wDEžGvZO˫kCnpLRQhIbK3.M=gOgEPK"CPKWgolang.org/x/exp@v0.0.0-20240506185415-9bf2ced13842/slog/internal/buffer/norace_test.go40ş|΁/|sNe7m0&vwIpt]؏`pLs}XqS&ЩǏLH2fӍ8@Û,K RCpi|LuJÀ'֖jK3;G}M,8J9Z\(>d1 _4joؼ۠L4\޴r0G&Zd/tqloXrUգmUO/خ.zwzSRV7PK7$6PKMgolang.org/x/exp@v0.0.0-20240506185415-9bf2ced13842/slog/internal/ignorepc.go\j0ໟb풞{HP>",e7d}/wg:z_,b{9TZi۹Xh3:|BjLE'ׁH4R5FWBd@H|逐2ۦ;u#f-9GQWUB"ɬW&ƶw9 bd~Wf .oήId} ζB^\.l~PKC0lRPKVgolang.org/x/exp@v0.0.0-20240506185415-9bf2ced13842/slog/internal/testutil/testutil.go\j1S>w6 &!93=P]̾{!Rwll6x j(T4vM 2fV2 hOՎya ;$5 Je j: [L ~dŨAKaTRpIQ3iY N+S<ۭHLF>N$A JVEӎۤwgKT?Ū9Wܠs̤5 L/+`FV%p2I,v6 |j639HwV373$`k< 4#95\ m=~ZЫ& /{*ǂU)JSAJ޹1l6EnqJH˽Ow]TJF X3!- =0r'&=GiKKA!ZavOqf-qEc  [cђK9Gm׌"Eυ={C*578YI{uf|h"hZ 9Y1ES&ظZȒqՁXߧȒ5Ј/y{MԜsc4lt\篘u\e(01C4&( %AQmj"GQti[#rkt$7 _!}`" 3VVnse!H'|J2ǬOe@DYB_!0Kz%^ a]r5w1.*1^Rfؔm:'oޜwjY('5aW/MhE!a"s^,+5ZҖUT838Bɉݣ:L.drӒeH9p]3SzPX&r&ڭM7QJ5]5s x᪑ W5KK`[ |& ]%u-ʙccf,މrh/B!F#O1C- .$ÇwY_ d#BoYfE 1r+?zɷc L$EYե҉SfC"99yYj`ORyn bbp9^w؎S:I¹`tvk@ڃNl$E9;gLFu]ޖ,?szM6Y#ydݑ1@5hh"lI{*̓GDT_bb,Q܃AO/AI)gS ` D[D׸= #`'0*7>.t)(4a)6:SH Pԯ|ey=8޷߬f:Q)ʿ7& '_V沷K sJ5+ss,Fg4jF-3]12,9(nZZ2R$6}66g Qe=Iк,5Y^y_H)~QL.0~`36φ\1%6h*Ʋ'TPKxݕ{큖0]83Ҫ1I4© -h[\ Ŷ>V-]T(J:*WyK313q!l_& »vS W(MA׺wZ}3y4˱t$u2uŏƗ? NOW,2O}pP0n3 L,Uƅ,Tnⵢ5TCD)e3M^U.DTN[~ JYvK EU'Nk;ZN,?[]P~}oC B`#(C`3@/B ~ B`;vBa< !$!{!B ax!pBu!c !pB}0.B9~ ! +,S:$G 4CCQC 2&! B@4:LT!0 y܆">3B!pU ߓpWPK~<  PKMgolang.org/x/exp@v0.0.0-20240506185415-9bf2ced13842/slog/json_handler_test.goXmo۶m} @yUh- m-[p %J**I9 /Ρdvfýon2yyx~ .FfsGFш\I͵9iK,D‚蔸Ă:DZ0J$d$|o2X(+sGbLTW*!R7rJR %?L,dQjHl鄥AZ9qQX'Re?V8`6((!5|[T|ەͰuF 眰N e!hhs2M6r r(fU C~ɕ˷?s„|ݬʮ!ڐ U&kL;)^ z=]:KޖNje^+A {Ti%h*5>Mh8x2|1~\,DN'-ha3:(t@gt2[XW;Q<~| ?w䜙,yͭU,WV]M?mڪ˟ЪGѕ]T*_3jD F1ܐY3 sѹtoVU!:}4Ip+ ;GOT#&gGIr!4"eb/^KxdTQYDpμQaS?d*,G@ɯ?iϱcx cp>22Tއ*e8 +?mm1c0  D3gFuVWu%@m3nnY [ uض"?7e=I#I2,`@\Wy@%3H>VI'"BV2e f/%F̲sqRXxBDQecEw ~0-,T. o?x}~K©w݃hc>G\E.-%uR<+[a Qu6!ȝt󍰳h.P\-t.\#Ƽ5E4??_?qR*ph89o^|w߿l Ty wKxLyn<3*6#@8aKhh2sV4h?RK!t% aJi/"[ R]DX -&8Fd E - `ru'\-$-[uB}eMWbA^AƫPږES%u1le)bGK ﬧVFDH8P._e+e1Hp)v._M/.^L<|UV%6x&䜟[PD'>?Qt;RcК=O+UK)^类o#ٷmYFu!ٛ# t܉ź(jʃ3#PkO[RϷFd[y9Ux0.=+y͇.sU$@g>ei"R^M} 'Qp+A !o5D ғp@d~ˀ\x&*Y0 M Mg2ϥTг7Xukx2@X#ݒFqugF#'C"O;'x o;睒\? 3-0EN.zy[썴17IDBOCZ-~;#{hNmgx,Nހh8~9s[)͝+d0(?d,,Fc 0c0(ul՘H{*DɌ@Mrv3#!cvRBZ‰[29uF a-=C*Gdͫu1ȴr1~\W* a t؋k`h1b& rqK {&g >r;{gu{.N |GIbucÊP?5뾘sܵgG BiztGxz^s#pn\cC6dq+r2+"-{myW~R3v%4 m~'6hr ƒm,`smEH>u~YS.H~7)_ݛVpQ"*I%_Nub^_ /c^+ɓJx;]v3j÷4"{c"~:etOWͻXA4boZc#Xn{F?G̖+n3 0A"-q:r;A>icr[F3ǹ!ǠPK6PKAgolang.org/x/exp@v0.0.0-20240506185415-9bf2ced13842/slog/level.goXoܸ~^.$N"ع{F+66{1CJ#^pK|C:?W4?{Vou^v`ѡ*sL mP A:ؘ #xyQ!RD|#p#] cF:,e=R6ha@6N PbpE6Yp ,.,=7ZZH 7S0jf&=Bs03. (dynpp}v }#δ֘跈zoQmM%%NW`?qǭ,rVe\׻LodPO7J }ס-c=4 3Wad+u&̧TB"4gX<>}ڐR>_&uKHU.&te-Y8o0]ӭRNKxƿ!bOw{ZlYxLJ_6Č+ ̗a9o%'2uUv:HdWX`y!g"c[;c;>T.k &>. U:hk{L4zOu#Py4ziQM,s׵,%4Jz6 +^ op<>/G=u NU5U_R3]):ʯ=6{ZԬ,-Udn.{"(,Oˑ=:xmؘ$TLXT'@ݷhe 6,:,d]9np@%+eĉQ̤~3s\mYPޓ.z/d>TE'eʿ/dt ZJP6iGB{N+#"S 1ç%t<&_aFp)j keS9Rނ~_r+Fؙ#O>_2,t4K $dX2&k]ᗕS2 $<>FB>$jO+od>ʋe=Ž@BJes4dA=\7-s{;\7-vt @qtOlXHO#Dhf04igD9Rd/7٘VJB8$`'<pE, J$(UJͯ@cE+H5J-*N0wEߘ*aEo {EVzy^N!l5.{׿97yۗC[S\kË߹ix1w+~0Rt(wFTiMmυlF'Oq~OQH"Upytڐ>q2vھf}a!o..?t~g éjfqzK]ńDP*؅w74Z(e.U/JwqyitWmc— o{o{_զ/V!9KO &K-J$r9yLPKI@PKFgolang.org/x/exp@v0.0.0-20240506185415-9bf2ced13842/slog/level_test.goVQo8~N~4RWa xt=vt:h]Mh忟v !-g7<63 (|p63!U gH4mSDz)Pb.'&bJ!SJNp>/ZJ0X6\Q3aB8SHĜO!g>_G!$?7RPL=< {AH^xSS3~ɜO*攍ͤܜ6WK"A@Ro|qq01|[n{K_G\.efPJ!#7775)f fTE9 -8qy4e'bK8 ؂nݧ*zAi[61`$:x_D9$/&˟D*f.L2hYqc[ƬMj -C7lݍc:`!FXpC&>`I:~2:?Z%.4F~+]; ?MU* 6G_ĜMa"&1Ԫ~9ł'4(tOwAFb3MApMpk7Z)kJg'2ېx]+pZܞVᕶSVesF%#ۚ5'¾/t}Adknr }%+ċQb45lޱ$!D`~`B0Q5#SKO_Vi`E`aIJBjOl>&X ykmH]j7UUq]N͏;`]uY# +0O0ۊPK/IPKBgolang.org/x/exp@v0.0.0-20240506185415-9bf2ced13842/slog/logger.goY]s6־ʼn/b)Pn*;7IzN̎ӁCkPд&sK>,wۛT p|9UEiᅦO%O *[*mg ̒h>-*"*C Zb50kc)J`Kf!ed\-?}=\`E+޳UD_0&gY49t%-_"YtάZ~hrV(d(]9d,EӐa*aUQ/'FQ^v:/d5J#S;g&3z*TRUegY5"6h+-# H _6Ng* &׊eY2 f/Aܵdh@5UnQ{L VKwFU͆0ejnK%\ڻЦ j.Y\ k|@A *e@`,A hAE>} ^$9'k51m)yn2,E;JCB@,*欵%XT\cKSCβ8A:X~O ]\cxvH|ZiҊfЂU1%OKYimr6Ҵ&=2[7 $ф{ \HW&*1 PdIV[wFɏf:{"ڔJ[ Bɂ~%\D ޠ2} m!\'ίNb95]һDcX1H"Br%΁$p! A:.x/LKMC N~`})Yāp'&!G] N'_W)T\ڕ^hT˗P'vE~Wp| Ѝ{ܤ1;1t'{ ~w=5ܾ#7Zp~^r$R= \2k%&Di^\tHt^r|LRz kʒ[҇Y{pA/Y{\^乣\oz[0|7LΦN&&pHYԘ)A[i; vH.4=+Ts.-TeYZh!֐kUUL=,і*3.~Tjd)>SZ& )`dĠB~RkTAg\8myB4fHM!W@..${-JbG Jz 474=vKng{m$DҀIVj(O2MKPEDiM ~OՆ&p*ŝ3*EiXlق:CfJ$%zN{as@5*w@M 1)pBML$armQ[GE|R7E߳.x?iUX-}^%{\R Ab/*Y1:[CQ1s{$[#{a/P %+YK=w$G73\yv' ;! u/+8q-`HJ\'Bݑ䔠ylv JLt ӊINzBf,~ kkCۭ{]S7 pa&$IЮNK%jKnkJg.sEumd[>ch3י6isOJp~c޻52Zm^3jYUjqb6-7d ԧk]yK g뫋V2*$Obcm:7muW=];7Eq c¯1pz')]Y͏)xHf0yMz9WB%Bb {9m`aUֈ6okYW,DFwfmǙ'Ta.cƶc/Ɲ .ea&l[+T .1kqI]B݃KXYp⇫w{ϳpK42ZO\ǮUM]*ySNP*4^>YRk6j䉺8HINVԆJN'7P\-s4J.➤q.ݧ5tX)PAFX:}| Zwl1%~roa>62dx?`sVy>En|/AޥзnehjB+c4I/ 5s{bދt{w)-̽[3P-д${GtOAěvߏvwj-LG#d-TM?{ O}6Qlm`nL 21b^ Hc]o`F\ qL1O+"ZZXFJGnx/{J]޻_]73y n<{w%:ʲnNL; R]׼o9gh;_;iekwk[`aY.5~i-.6fc ۃ}&xrfh)][4LpygK#}LT8hw8wbtnirL<22>-j'}ǼnzoӪPK T m*PKGgolang.org/x/exp@v0.0.0-20240506185415-9bf2ced13842/slog/logger_test.go;SH?[ŋ&#G0뽂f0#Жڲ[¸~^>,@Hf.U1r}ކ, p1G H#8s\$'AL2 Z*˄C!\ h ߽fs\g10100H `&?=:9?q ߰eyٴ@p{=?;\`fPO]AO0ٔ6*)s_õʜ4*ݾwŶFFr\dS~v3H2O ) ,mش0 . Ii8{voo&$23!;$Y ǙΤX mڤ srfsr?p}Nr"&xceF15Oc+@X׸1\pmex?2r na9sypg ׿>,CLD̘0`@L'\ec /G߇@Z8a[[x=X)J> TĄg\sxLAeOug~v> BEp[??NSh8F^p 27}HLaʵf)! * H/!qC"S"g~ޕLOJa(:' $:8;!gj-# KjKNh%Ȯ[z,@dyqu9q'|3Z>o:@L6xQ 1Aq+ ZJ2WH=bf:`QVKk,A ZZWA.ZǨ zeJGRۇ9ކ3~˕&O@m5SfrVz!<#pEА SrPPLp;;^VKBÌ(ŵjzfhĺ`Nx#JqV !ޠC>s_+4ƃDosDYdjY…ę(^W.JBpEh@!g^- 9K5Q}'Rt`GLBCj*E[|`^[iLMdk*t֠VZ)lɐ=Ye]ALLFGq =ý֓-0⹜:&C3/ z+jUq]1Hz"NYC $4mń5IH9E3%E~60*E YbX:FRlFZ#fWNX tP!nR$ gkDTy6@3dZXHSyk Wr0mjp%Xn8 %Q%nхy 93m>M(+JAsMt~o0mRĥR^R40E&Rg0kU&ܢ[Ua&\=8ֆ'nS[!DmFP`%Nry}dC*V+Y6Cº/iA IQ%_AtZˠWM xZу=oՊHU [Gˮ X>cJ"/YdQjz&*H2Md-f*7iȞPWD}~KvƐ2{nSX_(DJ5\^11w"v$L $&[-Vy{Eܭ]npn%sjmD0hA6/A VV̋ldk\cSADQ6{6}hwBn?S#sB2wt#Vl{U6ۦvvCHȌ5kj0H8KrD^jf11@}&KTc,I,EǤʔ,`9sK2csJ 'p֜)Ke0=-q174-cs3"#GyH-+8U{=Oh{s4&`OTrܐ5+HV+h9 M-#7ƐGGugY>4D.h{ܛ>O:˭~-rCֹrg2ĝύ7Ѽ^^GyҺD3[}㊀lתlr,!9g"ݖ֚!Ź-ztY;cWvL5>;/(Hw^3:d΁̷̷W a8iT(I$`EC˗/׻Wx,w~q݋q1rѽߚsG- zc#gu^еAjźm/kxI4-c4^~D jE7k]KIKN Unl{xx| ^/[qdq>ҨO13A\nkqc<:<ڧeXQprv6ϊb55',/-% k:[$RyD5مX|ಶ70d-6%]HE'NT"Gπs>hcл0y.g<# dUDtî0'Œ$Èd,̼2_zzW!~ Tg\^]} mfbR_.ݬ+L;v t6-r#.ɔιSU i^jN.a*~g-cZu"c?Eي1y+x[m&{Q U޿'B*Ώa4 ª!ⷦ C)sWP%7`9Ͽxѭwrn%1Y\'ZoR1x-Kͷf wi]Kx~k )9x7C8|&mrn5kG@7aL 4 zՔr~kWiTkܭ^+8r}ʑZ0ŘuZ2' u-B骩B?b"$fZ諚ؼ,l B.0}ۀvE4ie0/Gzb4l _ Xt`H>X p~SsRXy_+W+/6U3`䲬~~WUɃWͣWE֡7dtO<6<9:}xɇP (:^d"MQ o_Bk{e"t5pTHia>%1>7Н{}ڿ`݂kSQb~o(|>lPAI'v߄G[&h _YePK~-,?PKEgolang.org/x/exp@v0.0.0-20240506185415-9bf2ced13842/slog/noplog.benchO0ͧz{ZBpJꍣ$EO’& z}RU{fT!tPTJ͡ڐ*xWW4zXC|]sܐwu__/e' E⺬w{>}֮ʐ_g 2Rw0r})umeq:KiTf™ Gv/dFRífT J1x72d9mQ"=1EYf-YHP_B5*YIb@fȅ] WJYI@F!J;@=IV̸äOU$]`oTZRMi4 ӯ(F ӀB*fΘ3Nd-QW "@4>1qI f;7oop dǗ`T*?PK|vB PKGgolang.org/x/exp@v0.0.0-20240506185415-9bf2ced13842/slog/norace_test.go4j0E=_qc؋^C6B)I?@G*iB8IsΝ& h^X`3֣!kp #55 #HoRf2lB=8owrVO @+Äѷ36ۗ: h]YT?TH.tDsQ 'ˉ5sAB}u^*LfQ8S&#cQRr5IOxz6oSYIng21h|"ۼYRv }PK65}PKEgolang.org/x/exp@v0.0.0-20240506185415-9bf2ced13842/slog/race_test.go,J@9R[Eu'LZ:leUɰ~^qLwf$U[lr=+*) :|)AXbT!HO`E B=N7xޞnf9PQ%oDd*=a}v8S\Ey9M{TȹчQ1R熩\}Mtaxqub+ ?ڽEgG.~X fdLjt/PK->PKBgolang.org/x/exp@v0.0.0-20240506185415-9bf2ced13842/slog/record.goX_oF&?DW)'UIzF}I8B".]{%rw73Z.Fw'#뽃WW^=/{p4-hXr []K V@(t -Fa KN ҭF, PCtJ ͻo q܉^u˶AG +'[\E\zćniI]iZY9coU#MڔMiAJV8ht x@Iڽ0 |i:&*BRe; ׍?4Z^Q=(ZwpǙpG%q/=GZNܪJgS8 hw>ţX L֊8DڥgG q!NvFFP^Q;l=}0=2J^bPCJ%K۝ `$!/˷|F3ݹ&iAlĎ-MZ5'8F[?g B0uߢr4_ݜkDvíN'& Q5tZ, y۫6oy^*9#w4՝_Vd`ƈXe3*j#݉2D [Hv ARե/yAepBHqCi3_Gf^[<@xȁ/qm _sv.I[^.VB9РJvO'YUԬUO1)^90G Y8huuRfwx 5kNlQrky `O\%T!sFz4'RIuJ,9bkֳQ0?*4[ Py\'n,|Md82zƒ8bZ,Y$r5'o4@Wdq%ě9p;j._ׁ pX,[v{d&%$DkS!ՠ(M^b˩75yFvr avu G;1# W g zԹу$%gg4y .`uPu{⩘s(.\UC:YTݕh,>7T=OK ; $KXh /.@$+xQ%&g-_gq}!|?2$U#|M"Wo*ٳϟwW}#>~ 9}2@ X[_QƢ}hנdNn=&yfp- "(?ѷ34&1g F$b:+i?6[uA.l3}št`#y{f=AaL9D+` ?_N`gC'TZ!?wCDɈ %=ZHgb 4(iA嗢\mypx$58+HUVl #=. iX濈m\̠0sc4Y{<U;=Ƒ=JWa6Oh=㷅Êi*o\CQeg)yyMçWm}xOXq c|2ؔ]+jdEJ/k;)ђLT#HFyݣ@/NDH6cLrFEabIJ+N߸JXYwQq4:^jZ A;a@vKz ,kZżhF<N9eό' l(/>t|;TiE$\&L;Blto.MkE껰xTq x A1A.Xio5@ C|ךBmt%)x+jU#^aNMJl( #5/,J Rџ]U.9p70/.;vBMUuhl uX;XЪgN_x6FZ=iW8O`X2/ޥ$n`y;fvGQt;|pI:o^$e` 1ߴR[qyՕj|FvPKI%F PKGgolang.org/x/exp@v0.0.0-20240506185415-9bf2ced13842/slog/record_test.goWn8[|bʖ@@k+hLjIʉCR "g8?7t5n̦|nKemlm ؂Vr2V^k{S (u%@ZF%*Xln je) WH;XVt\ZmuM\w8HZgJ6iXJU[\:aT_ʵH IZ\չ6~"E'lJ(!^YXIT9x?Sx p>/_Z,])2t5KKS 22$2KW/S/P}ZL[ ԧ ^zEw$1hUkR% P7:QP(q5<1,tP$6}0#Ɏ/糯>GQߌËb$GU> O %o[D$KmTU-WL_:[PIH|߫IvDbptA*Q[Fdf 4/yk1~T:93k72u^L&P r3M OR¤=$T!z\W6Cԋ%] hU68QCdsɐWr-v bFdr t`WfZU _ okaX~gV|O!#8W>?{@##xxr ,=hÖ)$I c21x4Ď`ow\VRUWV'*U*_̳5h$=S^Шyvr클ZD@=qxlD;b /7(ߢF<_fShWFp'Chk;Хj_e^DUj[1~/xIb.)E {xl@յ7zV؈GZYGϡ; _;eeu4~߇O184G*} ydGPKh]PKQgolang.org/x/exp@v0.0.0-20240506185415-9bf2ced13842/slog/slogtest/example_test.gotOO0x$RL= =@%iBdǩ=aA^ٻ"ԋ{&Ϭz$DG(PʸAA(T"|oxlEapRXjMbgj[L&-'9JB BB|@Iso)`odL&&c5 n&z0#&Ӝ/@a #54 M)2fSȼHқu7)|.DT18ib9(U-vl'PK{PKMgolang.org/x/exp@v0.0.0-20240506185415-9bf2ced13842/slog/slogtest/slogtest.goYo^N@<5H)pHbM:Z{k/fHi{>>x-c7 E-S|~0Ch>MVi?*<1OVikmil{|}1Mwby#kBo;:ĢN@kX@QuɩL!5 7[WwѕԤy Bȶr]39]^\kBu3aУLf3y H6Xh:''ڱ#u?-G3TPW=3uP! O%^i^:;Z\@)bR8-V^,MB *,\aD(Uc,Q@'`n10S.YdUٛ:OcbtErK"4l`~ūCU6g|/RXy^¹LVkaupv·ʆ8$BpE uf? h #M˟H^pTO ҂2TH@Cgf,cg=14%So#އtx NEw< 6']y/-,Js[kXlhU+8a* g8piszJׁΧ1Q4?-z91g)l=$g;NIϠƧʓkW֞(<KFp\c?y5u]Dž95ěe_3u GIyW\ܜ[Q@#|81/k˗B)a5xUFH|B! ;r'GuNKbkJ-crxkɻYDcuwۑ%)wk6_PK%}pPKQgolang.org/x/exp@v0.0.0-20240506185415-9bf2ced13842/slog/slogtest/slogtest_119.goLOk1;ŇdZ!NMi)B?ZQU23Z݋d:H=mgqvNج7}f|x\E G ae9hmCqBB"c#)l<џaw^sNy7pPF S\fƷ/OlƇ~q~#noq5ѱt>ĚcDU+M5D\B" cL5N5iv,TMQ]- Q/TUn*f|T).xr熺i9q}++Yߛkjmb]iJz!<ɢcQ IV# ef 1Ć1FόrT*wD!$RG${9_11Jr6'*߳cǪ#ZR]E?PKPKIgolang.org/x/exp@v0.0.0-20240506185415-9bf2ced13842/slog/slogtest_test.goVo6~H*u[hnPtÒb^PP,*IÑR$VEɻز\.^^|gW[ic j[k C̆E\h [I Sj HސQ@_XoZYPR߽y-RǽbI^~rd]ˮ!;I%jjYm⃦sH !2(YVeͲܕK6dY7 Qg=l{/ٴ5GJ_zH6ٌ a"W$hS2&Xw$t4z_0\6ѵ1}8(xa؞aM0F#_5Y҇TMWP>n-ZeW}+甏IݞAK*e ^zkTš~yņ+h:W498&fcDߓZA=A+g',Y<+^Quؕhx=jɘ4/EY˽jjѶp'{<.u3uL bA:,4YuX R} @t}9b`ޚfg˗p]!7pXR,:,|t_Iδ6GM V;sw 锒9j+!ViuR.ߞ].Ϡ X#8eөc=$,7'?NfsSHeK_œjI@?Z_M)!OoB -"{a[+=:o@h&-8EpwEh6  (RfyMVIr޶/an1gJ!#C[NN5a-74^8%:jRUaZGQ:$ݴU8DKONRZw8r?O'}k5 Йhe_g1B9\ p1҃;L,R:V+v'Bq'KH.UAkmȶ2,9F&Ki)Ċކ"*)aFU)F5|&&}u%dtʅeR*rR:F;#j$'Oߝ[ x,#dv5> 5mhQ#UҴ˫ "TLF#0B b 2y<4FzvcR]s^ԟњP݊(aIHtFZ/t`Zߴ/o_zc4 nRant\:iSC엾#>Ҕp-9{2o$г]RQ1ٓ~98;8<`AXjjSrG:Gz[Тlb 55C7/I͘P(#1^7 )=t7: mE-CB xϔϖί !GkrĞoAr\w̓Bj"RWŠܣu F?狩%79t~2aMs 1=ܑA \:H]a@Z&\4C:hRܿZG6Y%m`+v hk">ܔ?3|6Z 'D*Pl_.r5Pt2qYVMMt {-kJ{ɨOz;8>M&.Kg IW/:pP,y9震=Zzwu bcdpb(a:Ha'!$)_kA,a:V;KHJƁ-GGp(!E2Z@(er+ܨa%v-CQürظ2}l3[&;ջ ! @Vt85a,ϟɈG[͹@vUC_QErNLo[DU /X A]Fw?hY9" rt߹1-w'621t񆾷t EFήw ^HJ|W'{E07ؗ)X J+o#8 ""OF#}gK%ykRQ7jr iJJa@* mrg#هD4X Ulk|^O{1k:0/7.o퇓5ViBa!mJs/dh}H!>50>RI 0kvV܊O (pIK3 c: \Qn,! З݀Ps)ã[{ >QV]ߪ ӘzdNYKX2OKChГDz$ 4X渎 ݑ12iKk7p ?k2 8&BsiOsxLBN8KM%h3\ ZfqnWpNn pժ"g2vLt"sI>ZFov8 O (}z7HF/Sl-7)&s8ףi!أH1LyImpe5y#ag2K:945naFgy-״y0g[O_G"O̕6w҆uӉW i/3/e4 'AAYml:3̯Ek8~]sҴp#_Ð1 U#MgssCQDsڏpZqމ~ [ kf &sVJ :a$E({:8ŋBݏgSҜMNS!LSgKSqoҴ3(CY$%ӞgJTli"g&fY@AЯ_X^n;F1 o4<] "q1f~QQKWسZ"߼=%`MPfW~)4 R5m2̓\ceoOONi_EZ{EJCAC-5ߋn}-!Y=Ot⩓ U|98!VY'!VŤQ-E-oH!˺Jʽ2ܭiu GS ~O{=;q5e^JȘ%&NJ[7ЄL)tH&[D]$v?uY߶sE'ψz ODnt"D?}3P E/i>@+qW#Aj$c%BԽ΃$" S[_'"/0L$䌾ˉ,]&eR麱V ir*_>1|XTtǸ;.BRL !cw.Fl$C,jѷH}9Eorw tFG&P|?19ɡV7W'*3ӕɯ f^9;:icxjT.[ب'\N ~| GrSl_fAe#?s B?fdrh Ra>*:3 2s|^u&?ڂ!Ϸ|\gUv3笆?d[ӡ`*xwS~sC' 䄀^!'?+dZ2`8|CK=Owh h8r?tcM^w \81 GQkQ4Rf9xrT!019781JL_ɦc J[9=}$3HSzo<zwUؽoWa5׬6L9j¶aƭ5?Mw?cS3u8$'jmfj"?_w>.f u't(r)H{9*fӬm?J>WI*`Va>;0zNZ >g*75%f켮X[y'.\SȮ>tiwjct4W9˙lحWXWF>U3[΂d̉sF︝!v6LWٹ GMk 'tmIaJ+E_s ҈j[ ܾXTr^VNt[z˒NE1(ɥ5F4Ii^/N))]hCh4pWdF=]C VԜN ] .}Ls.an SZ-Vi8vfм4ڶ'TUA9jq_CTp7PrVsUuk]*ijZ+("#= Oi&- ߌAJ R=,)y;ئyzw/ABp3c3ZxOI1d,+ws7 #di$ ]M%g!t38q/"Z>K|kQ츤t lZ=Ի20.f,õ93ى6Z3I{6miTv<JϮd!ia܍ )}vC[$Ҋ˘-SlIX;`i[Os,zaQU'dVͭ D shdYRSDh>aL7H'UO]yx~+$ϜcD#4g;3.$v%X\W2ZTd3c61PK) +PKEgolang.org/x/exp@v0.0.0-20240506185415-9bf2ced13842/slog/value_119.goTn6<_Q k2fcL6 Ԓ  {@jnXvwX;W77u aK\pJQ C5ƶۙS ?l~P2!0F1Fna <ܿy:mH Q׽]o6-zZ"}޼bRNol/'JQ\9 5JWJTBDOa)_@u)sMHRj(OaAElЋ~.56v: qja':ΗKEn>Rιi)WǑGQ WGU2\U>g^^g`y85o)jŇ5r[T$¯*ձ9њ?+$}"xYb0'eytj{ -4r|bzz"xJ&*jaЍAn&9H|t#I~4V-nLuaNDU;=vՉLncg"~Z}*2E}~:>5Xtoy,4%kSUGKߧp_!IRbK QƐ}0ƠeHb;rTRʄyLBzſPK"PKEgolang.org/x/exp@v0.0.0-20240506185415-9bf2ced13842/slog/value_120.goSn6<_1ȥRRQࢇ4IE/n-=I)RK>lvlͼ(peln6n#[c0]x ( <.P7Ta?BGC etI6URY ڐ(Gm*47WA5`\#zWUӕGlFtM2BjLH){ݪX4혌pb%`NZ6` w*} ]eg]r xJ85PBppvc1LDr68h[/, g@8 Hsui /W7є1mrbsSr&\nMAh*݄Oxo<_\ {LBnDBXdve,4KaA$(U hUDbAnE,8[D,HO 'LNyAxϟI;m -j.v3sm?!0)4 4B0K8!,=z`cqn#scPeK CTwY`7x^ȭq[ȭd4~>p VBf1~-h$K?3OXtW._NAhj |ݺ`EIN'YݵiYƴ4'1)$iǘg2C?O/ +i4_]z$I 5ϢJlrF"clkMjV݇.6}Hj>Sn鎹Llzg<#1^8ݯ/'D^$715?E[&td)*= O{*(!mJ/K q-\ ȔJTo[Wd\j̛!.-[Iޛe&Xt%2{ħ DT{sWhF0QI9.ގ2})5cm0,z¼8zGaN;رO'K˦:.C ]T?pګﻵc|ҵ$N 1ܧSNL3<7[y B..vߣe9Z%%Vg{69TwcBeSx(DZPC!h6-(%47a`5s)V :,+u54Z%jlu8IVF<$>xgKp]v`M O\aO+6/07o1XF^1j\¢#s2uGz *bG1pW CF} {7 pj8bHc;GPKBC++PKFgolang.org/x/exp@v0.0.0-20240506185415-9bf2ced13842/slog/value_test.goXMs8>Ôg%9μ:8;Tj+vfJA$(!.nD+9F7ON^/LF \/q mlu Ķ`e+@W҂Ս) -u+%ջcֵU,܂;(J7-|PZq DZ\qQR-]GU- ijnI5r)(+,Fp-׍xuEX_3x` R9|-OhqhSQ68j9I̋5C 2x2ooBW\¦[3i]SKQ 8B8ep*Y{g0%cRG35F?!)Б_3@֕7֙ih8У<6 ӄp||Q>> ! g`z}=;NO>@H&x4>M`tz>zu>:h_߆=&1+wNj ʕ(*nwjÚLye011̦~K7]T*Q߼C*]<,}|ow`罯D೰nEOƃw,=H'|q-AW0C.jѩ#tPѯ;t `*PIv@mqD2^T1iҿq=dD]yogϒz2C%O`#owcvƈwmcWFf&錏a!J:Ż"th@񄄉Q{BOE~ &u>wF OS |SBʈ Iy޸ڼeQ`k* U2#<\'3JfriP[Zc8(p}MbeZ+ ߠXQkbh\hOiBnָJF={?퐪wuYi8Z"Erx:,hL7 +σF99rT*f +$.ü&ne:oڊF81p/~fu _H:;,zWg|R_DQ[)HRjZVXQYMk]Tv] 1 (K`C(X]#+-`q7cPJg=4HfpMNzgxCd x:y⿯UD(~x؈_ݳSG 9o)]yl*cCޕwh=IW[ <ׯ ^MFyGٸ#n* %)JB#~,q8C7씪Ou;~刀^LJqjf1/4TW(#Ǒ#WFu PM"F ➁;8|G[{5[lV;Gdvw!MOkN#gOY(`}qCQ2Oן8)|xey걂[*}{s,|r3 U2QIE yWL. {f5!ߨ|ƱAckRfIpf|-4ٍd,BƹjdR,Fb05-MEqnbqt5E&'JbEKuPA̭G A zL i(-i?Na$$ǣoZF3+FD(9Sb#.a謸o#E]~iD#~$yOR?a0[{ rQn:,Dت5Z'?\M7~56bkUp' `hHΜy6PN(jD#~Ȗ5n*8ϭdf Zg`9OmuNi(n;ans=9lu*_Z$Ya`Hzc/ \{j/okpD`rK/>,`N$uK0ifҪBa:[~I$?<;Cxh?0 foDQPLN,0ٞg9&kvy0hJYur{襳c-*,9#%7Y)j|PK!0 PKBgolang.org/x/exp@v0.0.0-20240506185415-9bf2ced13842/trace/batch.goVOo۸=b*~R]E 40IT@I#DjIʱ6w_H4@?d' V/pAlc7ƺ>6 Td\;S(@(LfVc .w~hv5@Fz(2.Ai?֟V+T_PF+֨\M5-(jd=,ŗ+X-WREޫڼKd]EvzDG D]R:˕v SzQ&"kH].]7-jcVwy(b>W-:/ێzYSsXR|{o2@.}eM{r2Q҈q2מhzIK+P ;ؠ,Nd#/<܊Xz)J%|F;!^?AKo}G14kVC:S۷c[ 3:Y|Y6|ӟח|IӤ[G] Ėe@>jKVC7Tܕ6oة߭Ig.@kiWMLciW*aq 3E*9X{A.);vCG ̊VG%~X>]QUÂ`hf.N6f.LȨXя\Sn~☂?Ci9hA#i*ҚAhC\'JS5nB+QzۻW"(Cfҩ >@eܤ"W˥1SW%ŤV6\v猳(k;ݔTYqw 8/aǸ͝$Re0W SN?t3 xΚ($^yo`BKIw8}e ,QA꬯F. ylZCTBj..[s!a,Ezy=$ӽ~qElHX@Y?Y$ʀm9G>5NK(ym0)VZ!% {n+ m6 \FĔQxp;U >#:2,es}qD\\hcw \d)b!gմ5Zt$D+W|9bSޞD csuS{_J.1O sVw!\5-8/4>Mo*><`8/'2 AcH90½B,X݃U~Ai M,‰EmX%;#aƪ3^zv|À4bL?:|BNˁ ,8E3! K\Hp1ss- ;4,{K%LI BQr:,)dZ,)lR9Yط8϶]"bnE}S iocxNjS=.˄/r>650KL цlDMR]8[۷;gӕDO /\Tvx7p%Y\N4(&5\S c#y+F̀li-6 | 6{5KpyI/!D ”l6E#'IϭOy{/ j;G-,1NBϼ+鼵%) EY8!)xҤp/xi ! ~ B?qP +: w'4iIpEF)SfHyh69|׌ Ub}Bx"^bG~ XrHHwu+JnljT~ ހ3b Lp6 V>vz"?/PK҄nRPKMgolang.org/x/exp@v0.0.0-20240506185415-9bf2ced13842/trace/batchcursor_test.goVO8~!dwIp=iutbxpIbؑEd;mYXoS8ͽbee`>  [SI9m 5LM#L4h٪ !9P{p|u=G{ F05Q)B![`*/N.Π`B\~9B53,Q$)U50aP ʧF N%^,J)ӖJ ihvKKwV7RH Ij(iP&ʐe@$&hEK &2.Y@*6p}1&NZ"$NBhT(*+dGyrN{4!AVavLZLp}: Q6y\595TrQ5s`u]x5ndX~_İa|`f]՞B!pb1|SL%rlvO. ?'0dޒ4O$rT( o|w~0fдJvRg `mtKVcŏ81icB[$bN _̶Ι 'ް7GI2~?Ytx I oPEzHoD/0bOhh ۏWQO)&9SJdLtT1*sYM07;DL5Xf;8VJ_ʻwPK)L PKPgolang.org/x/exp@v0.0.0-20240506185415-9bf2ced13842/trace/cmd/gotraceraw/main.goUnF=sbBY(dr iI+rH.BCRB/v)rۃ yi>lZ`qk{]MC| q!8h@Xv~ܾwoW5&GE( R#|p߬4 fJ}BY˄Whvu %S \X8WpP*Zn{PeTw]!XL $*FWwC!F.V*+j2j;>`=oH!T9k$IᇊWϦpTulIȹնh,ft$ P|io_m<r5Wŷ 6>'}wJ,Ygr ;YlCNv@:ġ$n@p M§S>[,u߈KRTPmP]"U=OS\r$VpɣiM_t."tUߢeOS>W} lW@.HaƗWEh “u.qFbCTF#y=[!//U B X=+ao)X_NA94 h38Iπֿ_ރJpD\y0/q=mCn2Gyo{$cO,8WoB8M}#6U~[8?Y F4k' _PKvPKUgolang.org/x/exp@v0.0.0-20240506185415-9bf2ced13842/trace/cmd/gotracevalidate/main.goQO8>ŷVJVŁBh s&/kW@#f43pI$}^U^]t/:>tyHcG@ gU{O-B<]MmCP 5ؼ@b=?ESҪ& 0Zۛ tzVi% A!'3dF.GrF*8QS51_fu.H;J7ۉQHV(Ø (XZP#iuGϜOx0G೺]H |h0 U#yđ6ϩ(Yg),8-ٞA8h+c%qZ]{PzGh4BQ!ظxzSQ29L 'ѐ+똦dj)*R raH$GO )[& oG0"2)2᳍#Ȳ( #?99y/ צSFe#dPڞٷPK?HJPKBgolang.org/x/exp@v0.0.0-20240506185415-9bf2ced13842/trace/event.go}]s93+Ќ4yKl>pBgKjbGK}NU Q`(I(Q~L$vw{#޽y?FK7n-fmV;QLHˬnL)X+ek}'[g_[̪e)mc%Wl)J7bR1ŧ (cl-0ZbfVFoTNgx)N} 8A(kX6Z-޽wkpx,;mGMƣɖ HVLdkօ6듇#N(r~1Rx!y,yx Mz:퐴iaߨIr'bN3t\*VNr%;Z[RX pp%rw"#ʽ"1LjQ*AʈVٺK^3Wh%/RPvZ*d YQ^13 p&fFJ 0$$ME.;GkmtvF36N0 -q(ޥ lI &AƖ3r)F*GrpF 4;َ'˦&c܊0d(?wdz N3&l5j?A =*՚#i3';˓Vv-4 $Aβ%/oI ?i'ntSWZYY #*YYk+~':ѯ2йwB~r O˶|l )J$VHv܉Õ"Jȥ3a>,Jz+sF.少KakZJi層wَZ|kP.TŸҀĦjeu hS# YUމ ꭈ+)*r%2+{E˖b(lҎ UDŶt.e]3q@X{[iP`,ViTqUzc\Rf"ɮ΃".*2whkڵ{^пOJⶎǴAhy2(mSn<lC4VZV[ѕJB/!|kv])2%b63b%PZlt+UI4 D}rpnE ~yU fe+q(`f $B~gHZuO56>&F6$ح6e : u^L–XPlM[Id*-יޙF?79~f^IQ%fM3a: 3GrTؿZi!e/oG^;e_J|KւM>j2|VZb7yـ hslI%Yx%JŃ :ClG]IhCc&5&Bcr(prRKgTi[C:`. `2@723p?\)$D%k(VU+1/Vi%Kp`v5wxhGo!o"ch5ikpz$am!hTXnypc37FSڡX w/ŢY-]kƗV׍eӺCPhA/,8hdY%߆5ARƐt `gmߢhO?@S0J>/uFM֙tb(Nn8+U>b.6,hx`-܆UP3N[S9p )䑪Q^L[ʍ"&tǠ0l*LjF( ;(pkSGn2TP~[Zp֏Q2')"͔6BX7pYf,auX'@ zy.D4A' JH)Bml ēA Ы ZYvhkD-rս6>lÜ3N'E;p;ŕLkЩ&lʌYi?~҆J˘89ҲOO ж>w}ȍSUmIËRr Dv ! ؾimP3]g@wD\z[GL9xo}|\dSL]PRjH#d2`;I([ωY(%!PŌO;%WCN"aɛ6IYDŽ%vP? : ģ;a e<3!;gq%-KkfvIeFcㆶe`#}v bF"nt`9noJۥ\7Ae8`1O7%P΂IuCg羨2`4Cۈ`>vmt*Gp= OOan &7*FIDI u )TXJG$"of>.fZC$ Mϼvlm%|tX; U(Xչ_3ӔĈ=ךzO Fo$`[Ob;IߴV3)6hѲV62۷1#ijPt$j61y\W)M;zo@Gk;n"Ro)CvvTO0TRjς^6|J݀K^Yg+‹G r:g;88E;{,TqI0q`wB+DDlQU\bP0:R!RTR&aϊ1 gXTj4l|*yD8ga] XgH Ns7Qo}ҰqJ9Yayyx$?oaf7}.A2-zliDkkB,YpWwrBglЌ"P{ R05t1,k}5a@(~xcoCr7 !jWڌ#ɰdWwX9C7]qqwW_$ ^LVL=0n&eF^ t Nv:kYRj #keg=W?'}!R +ik*~}W`{^x'N{ne'+xZ7__:b~ mǯmI?s%K ZNb R4$;GEG$[!9A̩-%^ۚ/u L`^_ =q {A]d9I]lzE }U VBnAi)H?F4r~E tF˘^0t]F+I`@컠6'am gV[i`x3(kP?Ӧ (jn<7fT&CgM)g㫵!9iԅkﵩ+6yPa5%;f]-~yaY9VvyO3e H:?i%\ Q}y.J#-50H"ŧD ,&#[73Q&PD9LJtX37ﭕK}C}$=.M$s!'VQ~i5s  PuiSqP'|Spx?`ӚGJ9Hmc%H-{\<ۡ+0t#ʚ˭^m=+82 kmXx7nNkH*}JfR`BBG_04:lho hFϳtn@A>u%̞yU&d- $=?-G)9ܩ8 bpuN/ S1ȂA~oθ.wBС  ;t_.T3 W[T窖wtmVu`}j` e"D#"DSBYi=U<u?v){0nW=`?f^ie;Qv=~C˶-,xA ;F:sr틹30,HO-IBmۥ A֔ٺk{}YU zjîq% zւC<]Sc jnp!3|"9OكY_rUi%H aֵť1 }!@XnDLV`2<8 7^eg^E0h<=;U))P KU@(sQ|i+ï_3潖.o^j\wy$Fo @o\2fu)z%vҺ9# ۢ]uۯL'K⟠R{ }:$u$OQpmL?R{UHtwadrF!פ]x`*-J>3{Qԟ7{Pq^~pnYl#ݓA':#@IqȓTfZ!)TV&gSrkAd/s>Nj =?*] p^_t"NL62/ h6)vJfi|^IO } Ιћw/5BA9_{m]9=1'ɉ{rNowCx,_)zƜӕ'񄚁5 U埀 7>)B7XZ{11īch^.sxM.{6'⩁ld*[FGWIlH3>hz>?LvC洳i#O{Zs!\3:}\IvTǧ^/`oRo;amQ9e ƆHk̘g]WUa)kGv $&|jV_. `1j_E?fZwl UhEL/Y?4;9|bWdD/XOr> _ , <|-l:~`{%E]" B`ǣ!>q w*8Ej{ {R&\\vvPDj#Yq)X>hZ"*_/eQN{:T36~p6Lα(}k!H| ^FB1;wZG[|*0өeWx z;}d\quREK(Cjr{G Άl'9P aDOWoɜUgs`UfZߏR 1,~]@\bK+CLI c x9𽝣Z~^ ܲr#[`[lcmvX [.錒pWB1o7]b?!Of䯭!ïIzm9^XZX 7OsW-?Hpح Xj: z͔ݻ:g$2Y,^א _>Ծ܇ wW{f_Gp0_[&/ɷ|t;#$/'ah&\$vJi#s-v.1רt\"?k?/E|9kw Ntr m^PK)M&hPKGgolang.org/x/exp@v0.0.0-20240506185415-9bf2ced13842/trace/event_test.gon:EW\hTJ]/-IbD$"4i#F/$k]g.fXxc0]/Xݮ><}8r)TYgdқ臠7 /OQ5]dHOM5k`g잟/[rܯat8iǮ))0N88\l^ZayfK+VwJHPǘ#JA*Ÿ.UFQ~3z;LU?*Y@GևVj4D4O w@سPCBJxz֜G9cop+쇥C&7Zex#qJq%ƝJxG5+y "ԃp\Rޠ]LåڴUGgk8cD$d%cx)i䤒TͦPKmk?iPKKgolang.org/x/exp@v0.0.0-20240506185415-9bf2ced13842/trace/flightrecorder.goz[7STXrE$_00vwIlh'UžiqvߎR]˯j?f'>l~u[CO^1cgV%B*`-VP@x0Ho] q"Bv@[[W/~ XkyVwQ4Tq'YVZmW%fGg1e3ݬ m?#.ߝU#FSp%Og8klPk< ]ma6(ɝ߬nVxS ͕Uf{qqOe ~1wX:_5 ּ@Zov1P:S,'*JEEVPj_6Fy(z|"Hٹ$%֚8wܩXQTe{@̳xX}SFf=ݲlZ"Bk]Bt̟Ol\^EQV6n^7@&_7o\}nc_܈Qg{/mc7U"'V9ovqE=Rz)fdz]2DxOV*1_^GD 2 vہwe+0=9ncĊ(mKd ,#`Ño=sQE$t[luc˻D xxD6yt6%= !tCZE:eWܡ bS ىkIɪ$n +iE|̵ԧ0lj/qfH:@:tZ%%pAߑ6 ]]cچQVERw (s?4G1|%K s(< @+g_`]8R5 ).QĪ t*jalDo};wHK>tf0?Xޜ_2*/V5I1:MG%C 1mnv9R"M }/l^o [f }(r%9V4祙^o.jO(]6tk H&s"q9"1Kutv|\z 1.sǞħliȲHV~wyMKz ߴ^My./H oj,S R :Ĉ:Qx<[N /噯r_HKw,͊%1%UO3W{9.(vKWj`D(Puvo~$=w,6󳰥X=E$px'w 꺷X^S *1ꍪM߃p>oYo';'iYȥ_aFGS]/= GD2>fF{U#Xt \o{wM㒫\eD(XJk+QMe./l1Ѕ q X+m9km+ A2[uU/\R{vm4ӥq5tu-a>q|"MgU5!6bK5%Ј}i!H{ISh(oGM[]k<8Dq_&+$tUFޑEj:+,.*B(]}%BZ?*ShX?\1dTZ*}G\\7Πُd$%<G}ᴐ:3g([\H$wMXIOrDFKkzBVkE'\؃1MT Hi^"+'yXbyEH?;m?t^0_,7>%£)iq?vuIڪ;f9bwՀ=?}DKHAwka8L/Ǘ>-jqtjG9u㟒%>ybqBT6KSV2Μun:X=}J/uٲ_!PwOP\LU;Qg^y-KlwKm"-z+1DEN+* +K(,rI-+#.\ǥdn.MG/c&5`\}p3%[C"qPukm\ERL꛻#<$GaC-QVƂl '54P:k5RV[*Z+hk- y: ێԭig پjt֕iQ)8*Z ca4Z-O4-sS96y}mo g1Z٤yÿÀ<%6<\bqEV7:=}iȂԽ$~/>i|~}QxȔL?NK%m``2ҽ<[]1Qak hz,&=8Hrr;s;V,u UuغTԬmK.?eއ~fT9r#i w!|mS gP'[<@RH1qXʳ'DO$|e߅(,(c @cÈ !LY1)n?? {Lm[OJD-h'/`]TXﳡho/_!O C#ʀqx{*V%q2%4a %^GchX=U 'f]X2-ZlhC=R~{q|q0dG:sp ׍1Pf"[y{BNMNA! ݆pl9ɾA{#_F#<-4e$s&f3_O;D0(I;XwtƿiOfNSO.>pt[K@DLfoٺ9[ڌG.Y"WpL'!MF}7[&*F@o&kTlILɏjyۻEBQi2iJ T@Zmۇt?ioݶh@K#M$e{w? IIc;"{I,78kU4/+ OOeNVJ^ 4N7 7`T3L@%0_Wo~0v%v 4b2&aPF% ϯ?\Cq5m%yeO݋3 u?ݵ;&nuGzGM?7r\+ZpٞDE![Jy F>GԈsЪ%YVDN t7~|KG5,cnr~VkB,r*aMTT4*FMV1X4Hb4k}esXc\z5,ϰwwc0Vw4GȘr[YN4~Z2@Qډ=_(׀-0R :!c1\t[]JJ*Q&P9i _ܰOtEh^~6wW%RYЍܾqJh+dvaܺdp[A~/wBS4a;gU2߻b}ھzإ5uá7 .˭$ 'xjNaR|7qpY7s>ķ]χ5w!gC(F7Foa=B9߽VQq7@4{p0O.OSr:9 <|4(F`B JZX#l9h \"a-lT,#rfPTkm\;TLLPH!C P A2p7EUȁCJDS!<2$(p;Bb@ҊT%@ 5*@A+PPZ[REUV p4GN2Fj@8Z&IN 4TltiҶµoMmqO4f 48]sx*xS Y@=fYejH ˏ_@e\WYu/ND]4 y@rϩX<9Ne2:+M[BN\;++T8 $ # R*fu,p+ڵi!fK>Ҋ&\;*|([mwEPs>^K z/ k# "tG:JVF%تx&@Y1 C5YkܐC`]-tG jh.,9|`J S1TDC{`#M] -_&3\zWY! vڂ= t(=Z\WX5('Pȓ,<)*\S ߣs&JQ#P53 {jL.FH^ږsx62z;px=,}OrNW vY'W"8CWm*ʧ:xZm!] #߾r\7E>pjNAW£SѶ$Nӂ&+<$ x!0U:lwUvXfOU[dQcB,nWYAӻo@xtcz'>4?3KwmEoډƲ MӻinV3m],X,Y;po.h1y ?,ӕ]ٳy\P \%۱=Tߧ[ЦbH!(a6aޘW"{ŗ}7PKOη PKGgolang.org/x/exp@v0.0.0-20240506185415-9bf2ced13842/trace/generation.goZ_o8n}IL:  $Ĺ{[*yH-Iݛw?TvӓMp;6Vb'YxbV/[kcsi-h̓>Z][K V@(t - V[Om],PY `P^ 5_N^*`$,_PB#yTW®2%3Ջp޽קgLU/j<Zw;iM2[,mp[&Of Jp J6$)Nf!:OKA|ɫ"Z3îh )f1D%CpBOr JFk7 <$1Vs:&;>sɒ jXqb1q^:o^AJ-9}Owo)R-Z'VX(hU 0וϤw로{ܚ*Ca APs;a( Eϡ@mcs8bNcQ^4 I|SB ~\$nĸI4ypn;Q8Ym pnΡF˾MM<άּf2Iԃ?O"}<0+ݠ!k;6GJ]u(KP5BGZrO3\y۾IG~S򁺬]@uiM4f3Bp ьZEo}]y&KuuzlL,m{ vBJF/Ɍ*ri=lDYF2"Q88$I;m6U N8"!(G H҂`~S}aSaQ\E7N9U"XՆZ+Y ?< U~cNŪLwǽnݗPu`{u"0H*efQoS0 PVѿ7%e z><5^ƝE4W/Z]}LA_ҼSWPޣA_e32F.(bK76,3&0h,#-ǿ3d5I`9Fzv 2^:WI'Q=t(u+W~2b!T~ 19!j7%]$o֥ZyyufhNqF@&r?_l;Lץɸ_ȧhJ˭`l5KǮˆQ;*ͦ1~L7D{5=>E-ZxapPk^uKtS_>H=r;/(rUĦ.wiP#*>ȿ㽖R09Z}KI-B!Dw۱II;sZ.}lWs0|6$ߎL!:/HiǥyTªw€UPEb1Bw餄wG#V)A>q ]l|* -8,Bi-ʢqRYfs-݉} jćW^5E6s5Y*yjO؅`@z(Dğ ,ߧ$x_SxI[_%P: Ӳ(.[_ BmC*>37< 8,ťy؂S9UVQ{vN+OGJ~JbS%CHv<(懮iy_>}g|F]Ne/A K^Go8t,$s>oã9FdV4K:(%å q:vTtE9~eG!-uŒ?芹^[Bq7X<|d/a2]eLvk,O_Vp/~]fK bl65?+I\lAxGdp۞ZEΫŨA6<_X@%7{ ?&7ꌕ`|W'8#>{8Op>,]4P4B/Ve̪?ۻa;&<.,u?QBiO埏N`ihAGg PK䇙 ,PKQgolang.org/x/exp@v0.0.0-20240506185415-9bf2ced13842/trace/internal/event/event.goVQoF ~~&#Y1 ݺ" %,ݩS/ȓledɏn;]~Uk!Tr _Bm{66@Ď EĪ\ 5F0`KP`Ěk(mCy)"G1W-z%ed4_pq׫FTM_β+ړgs0m.Zj=]hK4颡=eQlAo]QwdBҚd[z簎`h]З5\JϭZ#%b:`]%h.Sw=qbOF̳^y^I8L鵭2sQ~: b&obpBnR5AUKF&e}|d8E|30! 9\I$fR}XC֫3GX7^Mx(-}Q  o-SZ$(&l6i;I@z9ͻ1a;H_l^Mo&3uy׫l6oԢ}޽cot/ʓAVfGuy&#txn:smKMM$7rɍ %9=1H!ϔ"L|!?$J|fa;hqGg:uͤvH97$lAs f:vfϳٗl{vp2ȾdPK.ƅ PKWgolang.org/x/exp@v0.0.0-20240506185415-9bf2ced13842/trace/internal/event/go122/event.goZO8+r:-:RF7EMkہ"NڤfW7Ҳ߷~hx,$Q!!eh`4/A.RB$ Z7T"'C%{_H¥ p%8[I% @K,ΐ&rqtO%n#d%Ifp8k(9J[b8>]O0/hB&JVi8գDոj.!5X&-=2%c'($g&HcQO|)y)?Sm V)fJz> `VHx)#K[Kq'q".YMUEQ*0wĆ cLRZpDfBS{@K%?R%ȱ.B/9H$DYJ!V/Go~7_|54cV>e5aޘM">`չ 3*gK/mKF'^*}Z1qZsjx1-EB>^_z#f+Bͻ(#R% #!R!;F{ z|?ROunSN::6Jw(XT`MeI~.h@|J(gdЮV'JZ#J-doyr۷LS%+w.nIZk˭v@~CĽ(KPD( ,+JFQWZ̷H63&)8WT. ;!-˚94r?ƈl{+_2mpǨOg [wT^"1s{+wmղ[tn} ]U۷Qc*8cs4|2<0ꈵKo=u@,8ڦ.Bmd}l>zR{r{U*>|PG=c$3@U~7"K zρ#͗r8yJ|/<$KpJe0SbwzW&*>'s ^8C x"΄)LʏHyPQj*`<4V蜓% mw. TAͼ kLh m"N$5VAz8dι5.:iX\ p@2$<[M#P$s hR@~\J1~r"#H^dxXv'*[=sڞUJ\rE2:^3j<ڶ\湧jK|˾l4B.od;([l|nFd-VdT=Ͳ̷Umh4ԭfQ`*쵥v0j-V3isK`K%Te+2L{PLo78 iMgAG2}.ȖWE|oMX: n)ۡx0%e{{;QY\ 刻`"z[-;b)h:Mp_[J]yy]Tvkf9M>eOfxSi>鐔ZLoώEnqt7YajK֚W_ʆwnlۡJo\g=iBWkb[k\=ϕN\2S"V,lETRwa@@;vX>c PGh7a$hD4pkkU.;*I"qb|s,ہMlzT޼ ︊ʻZiDAcpޒ㧸Pyyܵ,yg߈y"P=KS&vpE]ʕT[:ږwzrʑH[A W9/芔߼cj{NiAX=~%T}{I'J=}7g]9"BrF׷e +\)MLjֻFn.?7M0q(>¾ PKW{G .PKXgolang.org/x/exp@v0.0.0-20240506185415-9bf2ced13842/trace/internal/event/requirements.go\n:Sdu/J)Rd&q}K%35{AɎ3g>NYuĺ!,7IXm1#"IOUa?#GDN+' TasŗrUH* B ruo0fWj $VǞ5bccsp$ضT~wOX>q|IPe14fo)0g~s+XDҼU3PZA鷢KQ2F{4*)^l nwa.X84U_lN}Oފ1J PG[~2fcdjҮY=Cyx3B]a:PxVB8dr>"p`LG]Xp2 Y|5PKUPKTgolang.org/x/exp@v0.0.0-20240506185415-9bf2ced13842/trace/internal/oldtrace/order.goXOo۸?b6])ʱx t(d:;y-%2#w_ IɲӸ=$g~QF#PV09{Z[)m2xW h4Xdl4A-V€QrU ZX| ]1v[#I"Gil-\aZY`+W7+X3D[D͹N` %GVGɟps WnR[QPq63 /T]8)ĪQ j9an WkmnEɢFN/{2r5?x Hr%E%W9,gQk K!KҊEtı)ߣg Jd6H@ᾓI\=j.BIh[-)jo@lE#pY9M>:sB7^la4PB )lI/,.%>$cV,c\éaq"@r!h k4eCn*&#Z)` xFр-SW0EC$87Fؼ\gAO,"p~.4r,Jҍw4wg,>L\<(r&'SR)u?>伮_G7gk|:Gww8eqrG#EB.C0]%ڡWJZ}(R+aCPB545Fɂ`vy0g9U% zSy-=]EPtƶsg 9 \ 5PBWǩ0o-AuA(6ZƉtk.LcAv?_;q{_P0_֘[n%ړ.ukĦm!)=6olwh%r5⪱?h0~(t%=*uRp{Dž+.<:^u.x[۾cƇV D`&H}Db0R1J0ǯ@=|: WnVZ' :Y?K+y~S G_r7c8dԻ%JsW;_^g7)PfHzE^O$|U Rꯚo3=kZ.jCoC6U[Qƈy7 lge'(sҠШd^P;z'BCȏ.h yՇf; cbn#dE\јX1EƧur'3 wC<B8!@tBGQ5)mx3PĢ aڭNNYy[Sŏ;LXV)<&,7JUfW8~V=HRy-B+Bz*lQ&K~LXH܅} vχۏ=ΘCC.|CZF0D7! AeI*s^ |Q{SEgײ7um z7;_rtَrL;S (/$q^-Y㊲>Z$1ԸW(R= gO$52u>{?Ź]3/r37PKZQj PKUgolang.org/x/exp@v0.0.0-20240506185415-9bf2ced13842/trace/internal/oldtrace/parser.go̽r68t[4FHM$>iSO<}g<3 8 g~p\; Enyϛ?bb_X™.7F-n*89:yo$kxYW7 sҬd6+AϡQM*!ՙeaW2tꩭ6ķrJnD(`&a"U@u#g]d8$2 YH#*yd&̍^**i VFpu^z,tV<> ފg"e˥,* Ja40!?ʴ.Zx%Uxr|?:V a 5W3fu7LARK̠D3a+i`}r Uri-,R "\K"u*s;!\צ:Ss%3,.-e*6Nu‘ *Z!p<99y mC,`46,Rbq8S0j2Fz8_VcsQ,&,?ʏ[@0Ń:®JKQOMu0OWKi+,!uQ! Qh+S]d*RIɅ* $ 8"-:7e)`дG1-XjSUUT<'_#1 65j&-Bow > cz( 0qͅ@gGPOIWi+2UjMh\TȯVǦ03dTL+m`CWAY(6񵞃 ,U#G4=;-Dd$XDxs 5ю~=_cȔMFN͡/ۂp"r8~yS('nTgGe1*'Ⱥ> s+xJXgejfS5^327)2i*2w+a`V.RsRb'}2ғKj!4K<+I梂VCHEl-I9uV*z>\dHװ0z B}Np0HkFaQYT']8BJ *'0s /AOG;hVxE48-:GM_&f:|8K>b?f%H)Ϸ#}w vG"1={ܲf6z29f'9*؂|S. &Y"2N1ȧJd:+2ٔDe4B+kPEj' r*yl*#3V hnD 0h6ʩ#Lۖ7dڟ(C|ۋQ&,h9DAHCKeYpPl8Cf2oj]GET۸V qFFvP Wxib7L_NhqnqnkY=-NENvkuЭg&!=F':"6`jv1y9/[ɒpm2i6A8[U*Ek-{A쬡圡'urҒ ;[V;4pr z@jV-|+jdV;JQ6PG&af'aflˇ1*~R @>B  E/PBz9;!QkΨ Ek ?z#ꠦ h<uYDc"-_0\Z:<\Ϋ Ӆ$AfX?魬. >O|I|0 v\q T[eIZ nix]XP4 qk:*Ɛj2(]ȕpl <\6ؚjF`P甅ؕT֛{&ί*%y8R*ʵ"p;qc< M AY}^W O4HexӀP2ab.p'L1ªL:qX'z>7^.9 Hӯ_ioejRf!VhT9@N-|T*zQV+;T9Fm1[5}s /2KJqZi!#5-0NZK& O xD#1EG5zj0C]?=ϟ'#7klKL:yܴ gHp~Ʈ-g# b ޞIemؠʕ1n躥N[>90ؽ~AÏʊ&oR#gMla[-om8^"*[hp7˕AeR `npTjpT K>$̪.]LR{sFDt䒽lx!,*4:mAD,Y)͍.*%͘Q@z`j{Py9&CFdD["Y8Dc&EeN" ŭCS=?jY &Z͎%Eod*̟*= frM5=&l5=*'Mu<h&)=h$paB QN 5(%!KS)Bca}th6ӹO _hBy+%l_P/o-De%*9&t%PP)+k {`P6ʀOX#9sNq ZI#m%Cʨ&W(dyOYJQ죀K/cP2 R9`5C%žTiR8~Q%@4(3,dU6\n6> 5ԺrithIG-4ҞJBO%nf39F&D'UgmI xF,dƒ,Auif/R58߂VB(r1o=ƅzP-pomp~xaKk.vw`^g\&?XUpzIZ;ju~zA& rZZJ08Ex  Oʽ@>\ud__:nSf;cQDX)myޯK|PJ8Snͭm^j ÆM80֨qE5!,R4]H\V.Nty  .ԝ%!0LEIwS\Y;؅yn<>ܹ1`@zr21E|+, ?~RKʀ4xe aiykDiUnLF ~pDV!Xm"JpVTzJlz6. ס5GQ|#pL@&,haht;ĺp#՞|e•k_㣹h[  ѡc@ȗ)oa[QIK^<{JE3*3tN +%GΏ h #KG@yWD%wӖjm7ߢҭ'g=dQ9OHZ>UMf!j,h!zh gΙr,`xMh F7nഅ1א:Ⱥ@yٴhsҋi\bo`f,",ʖHT_U>'.0|;Xnd]Ob~F SJb#bb5'AQS.lj؟(I)Hbuo^JZЍ_o A"+%H:zEMKıNB1eT`=meĦkyq=r|ȒhV(@`&EdO"Xjx,'\A%ޛlƒyQ|#!%[\Ld׉Yut4~³w,KF(̑>/>;nXڝnjHOB˻FVO\xF@Y{\9]J`+§? Y[Fqvc}az×Bι@V2c:8oY$Sz u1yz|= Þ<#~KFXw'XSߙ,\Vfvz"]yyf;&ӥO4I8uD$9iȚ ,3(+ ?=Sw;8psґ,v05W-:') vOs<6GhE +:xFU,莸ˈR+ RQ,|&}[ xT_o}]F d腻ALb\ks!,h'$Ĉ}?dsa0oue@ BJ+(r:.XoóQF\)^馦 l B¾NW҇G |FjKޜtP sGJ7RbO#RXʳarE:E LX4_CݨxӚ7IMrI뢹? w<:㞋(Tt#oʼn-|EGG/g|J+zt/!>yҘ>3 (ʒmi ¥]m!u sϟ$Oh44=S((8қ\ l6r,Ud(@:'-y_H\0G]:$9(-oC cA[glѯ9 }~tLcu8wYf~ ww L 7P? GypP#GZ28V1_R~*;+yT .$rW(vE01.-|urBbQb(Tm (E=<\H2f{(LtZ]6IIޑĈЪ̸q`vz>@u,0L&-v=gQA_f!ݵfm#Z#H>yw. I\OR5mr j襴$Sx>;` d ~L ?A>fSͻܫjS^OO~'͆-Pv8զtT? 7Ŕ ""gQe@"0Ee6pUDwo gG\2_DRfFMVB^zY|-__!/ƻm0*kwyvH.@x ,'2l .G:HvxqnReNWԣz*}OqGv`)y n\ׇ]iةڔEF=pN$G"94OB,^oLgHwvA&)%#6NjX6zszˬn(3vS~y V%Pzd>2o=lfA1W̪R&R):'/l5`Z@}zcG(tUF1zՆ'ʷq-5}5{ԉflVAiOa|OKvx2=T[dLw&ފx#̮E:=r3Au\jw|FktM9f"0MMV]4M}[(W~6{ep7(vxT5_ uoU7 \Hض}u/Cs>P?.a(} x|ԑ"\ppt8Jp~"|x ;G}^oaVDWshe{_6+a_xKl7BJ$H+ۓ7_‚)J`:I:9&~PAς[;{ܣ1.=fQ./Aϱ:~QysI:LBD ˵CxN\79ՃЕcCMa5)\FV2iZѣm(, XRh9) X8p̴rr:LT=Cisel_Yĸ ^X/6>m`|+$5"G^D䚈rQ@G.ϵ5uO83!YCxi'$@,C$;o-{{Hru+ 4,+kE<`7J\e2ycQm,4P\ܬcN] {.rL7`<'&-y-;(w\yđV. K0j#?^=?eZ''.y8RS{ꖯҖ)Avګ2!DIV8G|8B&¼H>ϸAhȸc儺QhAϜhR6Rl%9SHPH|Àf]gOcS'O/89sa:>q,ּLWd+>zħ0^H/ww^l[>IOIso0?:ouyHt75^)eENrzKzEd LMFw2Ou&|ԓT1^KX+{aoόm' GS}*i)0OXʷP~ }`3b߻rC'CgSXJkła s/F~ /77mgŵ`CFE)5]B `|/Tn>lRj*c܁}}\ҪP 7(%$Ӕo%6U(9[B*һŜnStw*BҮGSy4bV #JϷMQٹ hЛsS6:Ί.I 8D" 8}_H 31`Whtⷺ(,w.Ɣ&aAlSZsf ʲ>v\jemEۗIZ e_W* 7rZ2 e).CXo{ۿB[TQ_S.rp,Y{^qvWmgY4O?/*m 7FFB&h{eԬqg‡&æEkaYa#={$:Duy'Ϯ$zh=X2]mT;ȹ5>r1XTCFKH^[c|H;C>եSk^[WߛtѶ Q_*j6%-.dho[<5Vrhcq(đMa#@bmOpӳu|AX~[*#wJ'̰K= +)GɞEdz2}0A&sYQ k?tvwţΫGSO _NgCEmH PxCH|#pKjo E ]g'?1uȍxn Q7BS5S|}@3vP\jH_ϟ֣kqFq@R٥gV6QD6N "(yJ~9Rĉ VXHOiC]4U;ȵD䐩M;j)> c.?+FN]Dz!z aByrׇC)v9nx'UT+nV q*C#>b.YmfB+bGn޾鯯~-oSގ.d-=bsm)ECεN: #a`E]]ݥ7uaբhwk1;Pv;8_Y%\p a6<(3I*u<ȟ.jw.|NXű]}68U1\.9?d4v ?^5G|'*6p)h,O`(IWjewwbe_!5@8.wG/- 2¬'~XJ|K,5E ݐ }<3}s3SIYP_qZWz-ėi>GV"k+R 28 $]'Gm;a9GX[u)n1P—2pS{^uA_2o2]~fZ3uS~ /u%?;L 7{aU?w| f!6ww0sD} g^ڌpmU(ck96Y& 틘woqŭ057n7qQ!E2ucʼ33]TF4)ʟJϗ3!as-wzc |،6VGE>ұ:\uaԕVel v^k~GFœ`o)vc.B}k-F]^U k{:9BG[B/BK<9{(NCg|A~~3wnd3 iu6=lvh{$؟Ng !KDxE^b@#7i"?m3UuԙM-dOe^EϿkFnChrpf `\OkGm[}*c:=2Kî}4}˧pu7ͥ%|s&NA[NAWec)*viat6$ 'Ч;C%Cv^wʃKu<|]SخD/ c454yn͘gTxH.Й(5Ne W 6`FUM3ziD؄8=Q\cTl;Wn_-#WpkA[Ud(n;cl_{w0ZJUox8ʶcߺ({!"@؍Á]WXk\-Y^>5i "ڛ[xAq?s, ;cw;a//|ˮ'jkll|˜vyOl_\vq|P[4b)IltjCf([:v_D +P|d^ļB5D 01q\n9"o j@/h7;~~p"ƍ@. _^#lRw$US1\7).Fh}5bCp }H]WcI}]qTv!wRJas;?jaؒD&#z S1*Q (HJ =QXOAA*/v (!^pÞrkw088ڦzڝoiCR] &h$DVF|W= .rG @ oY"I`1)VGB@z*V({NXS*(fz XvtX9HLls%5&i0l>i1オ~Y &Dr9p552t&t%)`? ^MrqgQP БROةn1tbK;6ht\,/@#wt;z-,#; _?Ƙ;D#i]lr|;?`r$Gq=C *\І"f`cXŽ<(0whqCU*PaD=;AQUKqA5ɑhDpby;*?* ]<:1UP͖>̡NkT0v/B\s_;x.1@^.֘J3Z;1| =Ki&\[U,WT]šJㅘt Y-߻!raδyKz`^>OjAfyqHB@Vկ-6BQ39%b8HYF3渗%xxOϵH>n5AO[Ƀ(g:'HsD\>]~F=v=@.|7nҾ/.\nV/h0.]Ey]!uv Sׁ[Y_.l1M)s&Kb~=^d̛g̛kjb/PK_0 PKOgolang.org/x/exp@v0.0.0-20240506185415-9bf2ced13842/trace/internal/raw/event.goAoF_J ؤ=@᠕Vچ%v]*ilƠ7 suޛf'89:gAvsE 3<1R +Bja4n$of,BUk*LTbCغ0#rvyZbkZ*jBC7dˍ]wVsxryzUwL[qɱR>_Jw^0SY+g+&T=U8[dUOϊ[*R٨=x2\5yqLA*:4 !"=)ˑ?ܚ|RIwceF78>* =lk^>EC᪈Xђb8 9aBJ+a^BAݼ:bGQ2)E= Ŗ 5ߚWtOsżޖLT*q"jÇ%9je/fH,;E|><3wLpWY /:r9-C Xj2O/׭D( 8hdb]_EjM!Pj BݭlƂ_ }~zi1WJU Z$cQ6/[n z$ۉ']$+xutbe u~Z^u@zYyHU2*VF*-fRiæz*5]mwL'x`0$g:;R zMH,/ L Ath '\MӪ{!ѫ RoTtp{'uKq=. 5`q uG"kcm妥W<{/1 QG-3h2 c7;?Ā#L-5-K,dlS,@S(h a a Bl;܁&L<@7#@~? A6)C4V-b< 9k.jsEV_xq)C/# i|9Crm<g3s~1Ra;\Bw;Pd Z)K_:Y^|td@_\!Nx7^qdzN%wL2<WT2/ݵgmr&;޾Tyz ~gNނyRR\*5%B;~p r "X\`W)Bzj7 dO̖tP3}J#"s.&p{ǻzvlFpӠ}*IUTF@y.lbH*9<kOe=3HoV/DGZ(?M2ABA1S܌Q <E}?h?ZoY-@ӏ׏3$- 5,'"?PK5g PKTgolang.org/x/exp@v0.0.0-20240506185415-9bf2ced13842/trace/internal/raw/textreader.goWM8=KEo#{spCv 0 ֝\ c@KeL*$%H/d|,XɪW^~Abm_pF]›ڬ))KjT i8 W`\2#p lP ay}͡DZU F0kf c+YFݯV4 -@g3*PK`(᰹yo;}wgryC!G( +mX. @Ѳ^qAs/ڨL?rQhz0 BLTp?}tаAa ~mbJs)0Y *4j``po`%Ֆa(Р:iAJ3å C\ L(d44 >Qufs4@?&@Wi/tVamQÖUsG;T2&vL!36>;PJ*+ f/4\";5+2u ?GJIP`Fx<~cpnq* KiQ 0+;ld7Phj%ծ {r2"՝ܠ鋳B{6莞GV[N *VN Dufg^Lp_.GiwjjvMǛ/Z @ckGHX&8[zIP=Kb@cI}JY2ΟE&k7C-p_aF)^j2W(r[jp)rK€bd;/F ȓ/mO.Ammxi#sV\cNZq0ǠUSȪ&,Tk~mgqtbo.'54Ku{ 튅ܜ5~`0|1wJSZҞsaU8fL*t삦i)S}8>@mǿm:&+杞@K M2+Jx*BdBonWּ mts$ p2b[|* v7e1nS0VU(إLX S3`X oS [,p<{t߇g8OM&.3wY:vI7vRi3`ڌA оRJ0ȷ`A}mv#-ߥvP2q'ՓS>z&޴ Հ}xnܐ<"w 2) 5pme;JnihoA=qDL`p|,@D,^"e+2 -nn$5旟<[[Q`nQL:8yX籾᳕;SH/ bR4emmvε &h[6X?>Ӌ~ttqԱ ]~66DhM1BFCy;zcҁMBoTNЧ,e+Gn{ȟU%7M= ڲn]=mx. uMLڜ_/(p+a;7%/_:]}ah^[IO'9Ї\ffȩW(:듥ץBdLҏ~OTpνE|˗/pV'E |4!r1_"/Nmkt&P.Ɨ/ݒ;ŷN;N+xrPaѻ+ji0~hO7?fwG~=]Ls=7PKWu'0PKTgolang.org/x/exp@v0.0.0-20240506185415-9bf2ced13842/trace/internal/raw/textwriter.golRn8>O]H -޼!M @⶗-$"icFw/H9Dp8߯TۃmXpoq:/qPxwQ) ;SCpGpz|^=I!В!xL[2r|qv6LΨd**{udir}^ŕ[U$12HRmS!2-%'HkkRGkWhc"=nP SRaKnW1^E2A[9OE2$"̧8FG.#`hAs6.mHL3Cv!Z9`{`yf`q& {o7s&q OΙpL"9_SqXS u59ukSώpJMH_dxs`0U/Jö́(/"Vd~cC<ٯCZr(SLgiȋw<MEgM6)ify~64}?PK@0PKPgolang.org/x/exp@v0.0.0-20240506185415-9bf2ced13842/trace/internal/raw/writer.goUn6}6iu&]X C!0 JH@RR">\JtؚE=sNM!nq9:/qٶo:ktxcv}?<[EWW[q/PKzPKYgolang.org/x/exp@v0.0.0-20240506185415-9bf2ced13842/trace/internal/testgen/go122/trace.goZ[6~nJv$G\ f_Ɔ2=[𴚔I{:.=_Y?xbW_Q}p/msp|x\\# 7 c= VErpxp=x۹P :,v}5H]Z(vm \#{,uE* :DFS,5hJ<>pkɢM=*UJ}X$zZ Mf.'9V mrkiNϓd6mL]XWM+ۚ?`?nЄ<׈; :'mA ͓,I)WM> EYy̡ ʀBۅ̙B]/d,)ݐY.St8sκ4˒m2p/1͒xE2㿴{Ni4u1+2e(?Nu ]/㱺PQRqf/_w[z&8l)LdL 9,զioT=(ht Bҭu+V]UԨ=lTtoQZAєX kM)+ kZT='~pzU젴as5@C9^z ZJ~%}.|Z) 6MLK܂mɠ߇pn=֭=+[ RT4Ev-F2\J5LŴ+)Qkj/WŮd[,bye2~ԩmqFɬF3 Wbz>uaam#pvby-,F_8x&Xb`)%gOUF1KALIF;9l/9 3(t'IpAiL 8;f8:$cVR{֌ &AmT gWh jthM:aW!2ɌԬ y1E3wLVΣLC\Ǵ,x )-~B߯/͠ ۳yWWX# -?3R5ҿ-3c#&q(" <"(q) 6O\ky;9VyhH4'] c WD6rPPEMo1OA-*GrϠYԉ(AW',T #R !G?قK [X4ԯ'vow877콣rfĹ ?:aL t+`Ʉvd1T^7;+Q&v6x#y '쀫-I+gHk45q% p5 TtRv "C2\MDn \a&Ks}L C=[#WtY} #[E\Kfa;7*T|&0sE7 tj ?6>͈kZQV7ԏY 4ǻJX誧 ."aӰMk]I!bt~˗g2s`3e嚸&,o'7RNDEn{Kd˳I+mH+ El[ȶ}XOWlN15hL4lp |%ewwtL;34ˌ[qRs rqim.Ip}0b$tlPM*J\y./% ʅ O^qj(^~|]ur;NӂNpP~/o_L@8Cbi^wu!wI3M:CW[iZZj cYcހκ>a(XA1t2zUW ؗG$)#Ɩ=~4$U28=C6d<R/AW9.⊗J+)idedQ QEoCJ}‚_6*W)C=@zȚa{'e. BÅ\*}XdVvGj‡UNO3ݲ =ztK&?ҬG-8rp8M򸩳.mgTFy #_gӞi OFY|"K;4守S'Q]|u?7'>!K_x؞㍞M&ax7@LO_p0 d6cRTT䓮nYo娐t02e"BԲxݙ2 f$NѳEKwh rB%z-֖kӧ(n⇃eYEEo3`w=OY}3yovhC&RΡgR[!1{|΋"YYC{ wq=̅IS2cQyz 7]ܩk;~D({WdPaCTܸN$)oǰ[;ev\pӗO/5L&`tfe춷?XC ~X2:Rm f֓' + M@mDոS8#{L> my fǺhc GrXkHc\߅0Wq JR8q5qf }̎wI+/Sy>r{q®=|i6N<8ʴTP5Nڛst5~ rv2@<8ct 13%kͽTps,^(^uśVbe*[A;j)|0ȗd5 R~>CD럊|S 9.)j lXU܋*WDp&=(+{ CFC[ p}gUv@ڔMWo&v _3|my/w;| `E! 3##Q,Y|eIw.l F(mg*C ķaHҠmx}98@hQh7'+8*(q<B[Kg~Iuq R)NɆS󻳐s a~u~#-/EZ|J^l4,R ]2=YPo"]c gPbcTHX́he]K̽IK{9^t<14V %خ 25FZ p)t_qO,/^p57m;Oܠ( )T.txSS Hf(r{ɷ0!ܭV&Yf~|fg @NhjS7|+Jh| BdG̒E/RrZzWs=!r"|!HE%VW34C%fӍ<㥾{+M{ _l1R'_ؓ>HY߿| Ŧ2trk us g.ab^W-_ Ӏû"8tPK:Bg PKVgolang.org/x/exp@v0.0.0-20240506185415-9bf2ced13842/trace/internal/testtrace/format.goO6⧘ B*\*6Cunи聒t#F߽ ?JErMS|7) x6{2M˰| -^ :^umiZ<@Bjq#=(xGéTh=RJ[-/ެ?@Fh")4,oSz0 &Ua1._?aunUwSqry-FUU9G HrSոNF:j]dLj{;w(<^ǷC؄_T%ZhhHjX =ꬑ[L69d_QH a`Ŋ @"G9#Eq7^.C݂5]8@6,ӇYRL5BUjҎ՘.rпB:]opc)NUqLu6(RӷZ9좑*C# 3\#{RyCa^%:F嫗4Ge4%x4,FCCYJ4=AV9\㮵ubP8$Qk} VJz)| (8m>~F.M78yAh4* aawc3qCC9B a9(aschA(PrlY`%dn-&S]K4BXI'h$*yQ4jCZ'Iшþ?9}-orR ;*B^0WDϾߎgi4Y+H.0b<։dGd~L)A`w%kwɔ$E &EE4" 6O(;|EX8VŬrj %Gg$(Z@$[He'E|- x1zs]*Oa-K4`*EBZ}I>(:Aދ oE^q"ث\o5ggaH̜Ƶ`f4!,X$NEtj깃R(]ۡyމ%: r{ ZxJyG7{GL Xpb[ 9C0׃I L f$}6G~N+x!Ef dբ|1 )S.e(=E5cCK|p]u(s !Z;(d NGFXs Kae"hΤ**C*1OCUgn5( !$H2Sn ڭmF9h59ĜX-y@Vפ_f< 80)6jo^Ce\g2uUėvo @v|heB9 S-1qrN65{@}PgT(&INJhD[$[ U|tN<#R7= RPeݢEǙgoXg|řo .9!ɘJ7n  dgh̋P><6w}F[N&ҪKzN9k;J:IZXD@ç:a7F[y3"߉BdAvoO~dP=<6_w t9ґcZIe *c#v %sJ7tF)&|IV:F AU,D#<菤G%d ߘkI֟mk-)іn #cfOоg:ht2 }y\Sײ~=8yOw¸1''}U!{4kG+:[4ר[0wgp]=`O_lw:y&a͞9 Vd״4h^w:|p*JJfװ#0||mp3Xb"*M#- nm=+`ֽJ);g݂it v~p:~_qCr|[_?OT?Ki[37Y%0~2^GU9V ? i-װ`v?myXw[1a2 q gy59pV~V.Hx * f}?PKá H ,PKUgolang.org/x/exp@v0.0.0-20240506185415-9bf2ced13842/trace/internal/version/version.gook6_>s^ٱRrMr׃r" Ekm^H7w7')ӴЅ{/=xR =ju8M(%^~pJon wBOT-f Q}SM.=]\LiīGͽNM NwXx] T'lcM@4*쟗K'IZ;֦Leso%[ZMv:%>%h+H`},!Zų~5[xvJcfEJa a8QqR?jIхU KaF;lep!:*xX{Npy(wg%{fPK{s&PKEgolang.org/x/exp@v0.0.0-20240506185415-9bf2ced13842/trace/oldtrace.go|n#gS Ȏm'>h^۫?ȃ9-DEde`PE%lf"bXU,2GGpoc K7fpZ Z4+,>[=7^!0+4 ۀ_&?Y)F2Ge\8ȅ;^7GxwyvarSYb$L_0CF8?C ;H(Q9#ra5-wji2VXࢭFKm-,I*ߋYXmEA1~Ot),fvpU0d_ x4o߾\d$nS>?֙ek«(2pߟîHzK%;ˤ*-Du3֗~mo />8#nn#; >Z[80YDuetn ܢ]7Wv {x=7(s?p֟PXR$IUJzȰ\jBgH'U{L\+˪utl=0r N$={e"ٱMJ*ٳPTE UҳЭ'ß3`,1wI^,*Iz0JK &_>{h5p޴kbΗ*jN*2ֳZ!eYۉ}P`x R[{p)>?O&UL/3ݚI44LsdP{Eww;=K}'<]6nPM<6P٥~?g'igB`o/ *kԈ<ScnFon=ż[doOI[;|̛z,i txC8&WfyeojKK4P'EY[  -ENrY`i# ;פGggRY4n`b&,F "_ (YuaqlѼӳ .Վ?=o>4ȘӆP|zv.mFS 0g1ѿ=[%AeKo fp={r'ŠMzEbϲq>T̥+7{t@<SRkՊC"ɃDo?œoC?j' ~ Y*']@vR[=\(DW#Qp,!)GFDF]]䱄lgfKCcێO ,ұ$:0wyI-iHZl_7QTP,{RbEJaY rKOUR?:/R~4Y{m]kGHqdH]qFSuà ];- mzltxpB) Z2On8&}Z8Aw%Av+gp@A?) u#Ӻ٢Gv8k;9 %Znq 2| ?JG o$;;tkD1 "(X<:^±|\WƶUXM0ZY*7S|T;ii.Yn,wwBИɽ8˼v$G"uܝ#`?0~=+F5鱰[čB`^F3h= |u [t(6`}w mdG@M5ZEi2΀t$ CFD^ gz3LgOmAgJ󕌫w)v%>JzM;iMWCrc{ېq?Cp<o{&`+tr}<N f>>G[obGrd'xߺշo˼ˢCzI]ϵ']PԹ;*&ThF3ɽ0Vr8Me,l;I\ kz S,|\yr/̀'إ[>k9!1AIq3bNQg3%=}Ҙ0PE_cj;eYij'KNKt8cK |äNa9ڎu q8_F6S`=n?́#,|{/7ZhHM…*op}V"tZ^f-y6;W_wֱ (̿PK{1=d)/ Sh<'9\{193k_^O;xI<'Wߛ*ۨEIڨҴQQtNBQ́oi|=Iھ-b&{&JvJTnT7q.}גƋPw ?KHw5Ӳ |Eu(y7g!#y0$Q A \A]NO=ҀXY^cRϖoەb𱻝옣H-vgu% 2b+ J8L#=h / hB%{mrc8vȏ |qBZr+#_?PTe;5D%rs/\KS6}{X` 5]3lo Å`~^1 vR~~OvFvyOnZ0Ip,=CyxCxJPE͗٬ͽ3fiYz|)VP6Q瓲#%ly=EqAn?Spv^W-;[wO`Hp&H]1<VQCW<)y1ej-׵wY$7//D,!F2GŷR[|{SU{)]zR[Cf3s$^#؄˝sl=gt5k"ߦ(nݻV&;M\~<0M#0W)Jf37OǷQWs&gMz 5F?Ï?7~8Ҹײ]!Uݾ}jJAt,YҭοMȨg0mn+ڏ,k+ފwGe#ꊶ|Hv:Į M⤴u8\,X[-.r/Uu_4غݦ@:4iz']]^߉~Jq﫿6K PKX;EPKBgolang.org/x/exp@v0.0.0-20240506185415-9bf2ced13842/trace/order.go[s9 L XI]}{58حmi $*J)]CHHd&ɉ83ғ/7q5U܈W&U يJYUUtON߭f,T[aM]J&SB[11sU*g-sr*҉TbE&t!T;{\%.—)1Q1&HFNĸ23 B':EU|J} Gy&&EE[FN.ݮrg9ue1IL59;Qw%OUsU`L̋/i>Wզ8%ԬΥS6ʦSչu6+12n*2יtB9 8>l.4:@@2U™fV[gqF̔ūl.Y\He rHQTfHͬl9 *0nmiR7xe}O-棰S'>u;K3Y~<7\?or׋ʤ;}/]uHQK+dD>0Ka ng2մR2ag 8vG̬8g30rk?ۥlR?d㪻X OѶ.~T-kp]!g~x撷@9HY&"g1yCq7ouY4;nCs _2ܤ7-{C;s6Դjᮉvx[dݐv[# T7["/~g$l_^LvzTmgطw,^Yg;zmYW;:lBnQ-w_n*euʂu߾]o{~U|&(h^J+}ύUi9gH;qUa7tl7lm6v^ivnY739Qд҅87EZp.f-v3zT*$^YFX dzoaZn&C5 Ηi:\F=5Od5_KX Za ,jz]5?\=t ~lxr=N`{28Ά8;Rglgd(x7MziDP ;>:EMh5Ef b-hd}@_J$O%x.2GNXq@3>7jF< = RB@(K hPb*x`(rT*WsYx: [eSw귺(tkq[CU b~yҢM+SOU n@3I\5|OqX/p58ډq4tM g,K%+!Y;tW*ͦx_G~w04Anjgx.6| m@ߋL9UtZ~0흶 ;\%{lIaG;u_ɤ@iyfW,Fv.2lP؀NݹApWˉw-/v2"{q).?fU1U<xj(LL =-ybRY7 7Y y}djwdLΞ}G\UK/ |Ggq,Ŭ#9K]C4ٟß0[[1 |QZ| ;1] MN'X%8_4{W=ȁvV2$i4!y+ &7 :菔K]KQ %<$J@(P iz, TKߵ@ʝlyx= Nc7XjglGb'+I~E&0\RvCEtH @AUW*pNX%XO ~¯e4E@̐S`"UB) 1 p@#@*X4 mB d.AxweJ~ej+ :rCXH/h4hNb[Rq{uۇg<¿+Je,@U˜%8Hl>b?E?uHJ Dezc:^T*O,>m[(u7 "Lr&ؒ)>ZPaL>D/d!(!1Nh"Φ*_+-ɣPR/"aa{ u1k#R(3)Ts Yںʹ~0Cp_~"ISM]c -ſVХ " jLhjU4U=MS~d\ƩLheKKt i1FRaާ,|Z)˶/ HXf=,(=jeM%/5B0;.(sNÅ0bkJʍ>o.UǔD9~`)w&~HD/E7z] (ٖi͑?#0=403ԕ1gcQ0ܹFO]( 6"2588;l[=*T3'i'pphɞ_9V}pS~G=a y%&vtHE>XMⓒu^Uʖ,b"P ا,|xBܬjDMI Apvw('4^0ٛ:qelN]TvG5@ZJT<4}QܴCQv?)*,B$AZ?Jue5M1:;=sCP`1**LN v*Do %[tD}VDϴ|.? %TOРX֓-Z3 ^M+( Id~nM}.돭C 5^%VtK% 9SEi VcM_QLzNƧ[ l1 uU8=06 ~W-]C)@?BǏ"EY6]CQ~m(:;/Ԙ~g*t:Jɛ>?dq利a wGWnPU l" =Ǭ~!ԝBl#<&`)؁=uydn_`frzW{SpSAlȅuʽ__%J>M|v|G,?Q 3/4.u Ҝ"wnB'_Bo*:9^Lbr#j_*QD.{e\#Ě+.9#qNɼysv8R88\=Yk̼nLo 꺽MnCߴRҚ"YMA=f>XTeQ@<'OEax< ҈'4}[' &V\o=KHtd]1LD9ȮAb$vXEPVuAiӕ[uYw>]-/f=b` ;+ [:I}v9 fL!0tQ 8vf/WWk4-|utјupجw5~@߾Xj]ٜ F G4w PnqDT+7b,>O\^ֽp|uSuY>j_ (c=wf19uRLrOD93\BnRef1"k!!$ԦuIˌ}uYiqg<+Xx{)$C wRх+-c}rXMPV-MRX*ƦJU@6`fR1S(N/=h3R]/DBՋpӸeHtw>tZ56@縦ډ'c;-!g+ouCT#/ſ.<ș|Jjj$,KUn;->jN`-ɵLL\ɹH,5_`0?0{0| zdaǜ(OITH;VOr(7@_w. FpysxݩZ3tl̩(8EHfCEC𚖠WAy-%$2>~%9dlu%YL9pJsׅΗb*W7(u:nW[.73d78JR*{-1}$HǐZX/G"Tȁ$C$ Ra}A <)⩿5bV`a}͂`UEQm'x/نWX 5Hp1AMrdv>{ 3UZ )~DUBQ$[ 3d/b\k9lXwvCiM5i] NJbhFtu:H'+_hOSu'30O/nv7j=Oo`ؚua O $tr~cODJ3, =Ӗ.WSW?eI}cJ'zg->3/P5^f@IG:։1u%.3&R}iwoB5_K76sKw0&5{<\sJTmiSȥS)Pe޽2i|]M_0e xiR:PIKrbЖ }1T*EZ=Y.!*]qOR_GTeU\ 5w*a#fd#aw*!'RRVfRI,Tru]_zdPʖncUaR7}*b~aak8[2[~G 3KK-pCjf3P)Z휅/>_R'xVfV_E>1v- ?b@GL $UZ ~\+]vam /fuWsCpW2}zA5)夽eʼnQʢ `^5O ,Gg0RTֹC0+Q&etS||*QMLghj%!'ycd&uAd9݀O/Ŧ\G3Is,6^{JE*'SJ8"%a]uc@3ZUlHV|k͍IʔЖmwHͱt4P̗꓋d_o8Kiyш`/tKNkNvI/pb# nc`8zgTyj%S.rJ_4?2ix=w[[?ϵ(la uG,)) /JrJpG!cA_-_v~="-31-G-8'#QO7Ñ㾆Pb8[3`6f-h=QzkEi0{MM??wwȈu}Ty~Fg"L˵LٴVw?aզbwv~Xe>egi4'7C[osopnẂ>}ΌŨ 'xbbv(OnʳtsUEWR'kfL.k❛W$O{4'?6ǯ;ҷ(o{ⴧ1V2 O$X7HYI[\fUK㏭$JsyP?"6O92lA^_ry){}ғO,@TʚJ/0HXa,:u09Jnmn}D b& [WB[0T3 5JuA*" #ŪS U=σ}=4v6Հc h|f޸Zy7ccuf&S4R)k2:9_qmt 0YaM- )[qAVv9 Ӯa,᠑[\q݊sFr`r0+6GD+Z |Q?qQj:KW}FLYqvL[8) NLI941>.԰ 3Y<fEr_Gr qn:v7Jdgc4U^&6XHZ=^#y$=S%< /^ _q|Ǖp]vT))a2!iGK2Qf@ecJ؅=B@_W`IY-#E DK6 @BwAOZպRuf6a1*GSp|0B9e;ޘZL?Ҵa)n,貙7h1ީ fYϽA<z/ N*Kd BqET)?xjTT4 #Cq9U9-]z63օ{ҕpl C*Hkkذ6Ep7o[x[?-bV;k Gm lޱ'(yHGEW^f zoC~S2׮2mqKڶ;Pp /!.=۲X V4~סgKġ^,i)#T!E76q#\h$R~ ֶ\TЪMdڦf8 TdgW%qهpN gs|k$wA5nnќtc~E,$I'lxλ!N[z Wl/? 'JM޺cBJ!W56_{7Q){}ѻB貥+>-Ԣw< M'R)=@SZw;?q,5Q;HDp+yjL`mvO rg܆HA4|YTW>xJ0d*vp+z率ɂTSnkW84@j[PHBjfM=*}dV#hS]QjbE$^#?u;jHi&N3Mn&On:qr(`~3s2@BVTs/GsysPKw.PKGgolang.org/x/exp@v0.0.0-20240506185415-9bf2ced13842/trace/order_test.goROOH?۟⇥HqB @VH"=!TMg{3<wT7[O3OV%#7bY>6\bV:#R1:rp)!5A9%) nqTWU*%\JF*5V4:(î_F(H{Fx%]!f ՘Li&8Υ0GFU 3I2Z2"&JQN$_jhkàlv͑WSOƟ_*򟵩!s&A\$G'NUЇoA򶽿]  'y.C!TOf3A޵xgX꫽L,H8JjM?&owhM֤9ymG{ L`b93P`2%SdzgLTzE|:oG6PKy.nPKCgolang.org/x/exp@v0.0.0-20240506185415-9bf2ced13842/trace/reader.goYmo6,qd+^65 vq[TIj0$%qu_@8gC8V1p{n>Hx;F*۶AF2 +0 נ B\C-7oOWgimv@L L@PA>^űDQb\(fpaP  <Kxy ίZ%(;>kV#-q̻^*I-rG3{d֋8l3/L9˶oR,zgd%*PJ AF!떰a-/A ,z%ˡ@LfI5Ƒ;is50j"tv\XLQ097/sz{:(-UpźEMkSIUhEGqcڊr)8G lkTU|o U y( Y4Q0"TJ<+XsY-UGN ' ^Yg' xK"fP8#}M qRA-wx|Ȩɐ1OLiLrMG{ yl 2=p״WP8_{:f%]j!j"E.'VS:ը2Е͔1XsPPn_ukI{?)Yh{E?HCAVkz0퟇p& @S:"!T\i#XQ 0rZzPUgwUZ;R 4b9Ƃ=ʞ ( 6i.փjxJBhyi `N N LhKhe/D˱&'\$:e# b'~W(%aBĄ3 $A PJ~Sbd }y("ǯ)=HJ&G+nYZ,ޢJ*L$,$PJb;ơuҞsz,x %hÊ^_@ທjúCʒU~%{(%hv֔AkT.NRT5t`dҁ?<,˾6r^ µڒXa};04#'ţ a.(P[8v1 Vb:hs5J\ F#0]8^RO/y/4iJ+(^B-\s>QB!+9z!ju}o@oWcrg:q!) ֶ+40hz2wM2dAſM򉉭7jk&  yOt3~05[L+-ȓj{ hǾGž߉(l5Nʯ] ΰE7c`XXgfshEſذ𱍓vgA'}p[ߕ{}ƽwڥ6y.VA1hL{X. #xȡ-P.N&ds$^1:_;)`TOy.`\3r8V4aכ곸Qv_v1G!6Lo"OowJQܤ{K 7>df*S S%:_p\?_ mG9E:g;[U[w(xLգRF{0o,vz&IPK5K PKHgolang.org/x/exp@v0.0.0-20240506185415-9bf2ced13842/trace/reader_test.goWOo?Kb¡[>$$}nv(4ФKd b(Yc%bYC7lWvTUϰn-\4T[\h aكCBij#Vm\Ayl`3H|tY#*G4!1(T#|JQqW ThI0 Ȥ(]2H=#'sgWO-JeϳF*85W2B8S:4'qZV$~(˿6,$3X)S5TJ8J*uiOfl{wc輲&'qJj[]h́ 4Ѷ:ŰLuTmS-j~*JKCk]`>Q,W 4.N>k7y&q\6&zGY@| o-%5)sp>mĭYB 'Ue8 $u&T vGmup&A$6q ߧa훤 8i*VߋߣgLh(qZj-0 lCD1{QDn *IFiL1.$[q%FJSB`6}4?~ʝA7 BsP^fL'\6aAaћ?M^C+*$)k@S@v,Ψ\qk=?P<,Q1'P&DQn^ټ8J֦GћB.n;\. q}J9ƙ>} '}52h}˺M5LCg3"|ppyaIL2Uw{>׊UHΥ/ ~[:GmfM_ʇ}{n9GK` kS^/B?@pS|z!Vʚ@xz,?$( 1Xﯘl:ؖ?>J7]jo&C#7ERhBjœBzzUc}pu^_V&~}wM:vᶄߨ|^nKx3'O%*n CZ:r9CE6]NģO.aZ>ѫ͸,_PcG.K\=50 хD$A]z6N>B?lH$^d{Z`>Mܧ.lͱfÆa}dD!V#{ 9[XF*lD0%a}<.I<2Tɉ'^t ##pBfr.WiL9.*}/J[n1U+UVGnZNa0Fux ;z`+>ەx/PKlbPKFgolang.org/x/exp@v0.0.0-20240506185415-9bf2ced13842/trace/resources.goYoـ#wEQHKePGTI*^#~H$ݻ{<ܭ|8r ?vEU[xwZJ7 m y\A`kaN@PKo/ό5HQ4f &aPNrlW7WP,sq %jf=i2_3SOjBZԒ5KYˇwp.WwKםh8Tmmg;eb*maZnI52${H/I+6xe` i2;B_-dE n:yfw-&ܥ˟AH. fxplI J~gPZi`0#662i+a: %D\ ΝZ/X{=Vp(6E?[#RZF;?>g}]IUJ L/!1:|UŃ Ebe$dJ`˥S Q|2αϲ#r mtVX[*cZ4zjY0eMϒE@"e8\AR BI{ZuĦɵQ09"v\, ?uRuӮ;ЂUH1aO= JQ5}X5k[iNb'$00;cqt(ϼO]}¢s4NKVwL\눿W)ofп f(X9&i>c(qmNRŵ1>@7 KM&,MSKZ^k*Ҕ֟Uڠ~ZQbH$yfWT)?  N76LуzHp mCb)a^[#^2) }??#!d3U &5=AV{MLW q7o 3"~4/ Nzxȅ!N0}B+2Ba񕸄Be|ww.@y+Z&Eqll?fQFA8QLYmlʬMkѕ mb3]y-n954 8cKSy,&?0B%>KfAs "46$תŏ,cc-V:wzV ӢٍKqTӋQsƜ(x<g3{=1fN3i3Ap42ј0ְB"jިpEwQ%?ԀOxq[l<`: wkYq3=7 OPdkq˥"0VŽk,̮yŮ`AZ>r dEAE%1ܒG+*j%'i.5?%W*/IfZu2+ L `%.3FU]Ac63^EvgzV:HHFr͂# vI̲n~a mQ 0{D Oݾ&]vM`Z<ۼjx1M2*ԑQ]^8Y*ɓؑ}o2U $) 6 |h٤7k<#u-VSoRgQ&ff_0bK4j'#yǑ ͂d4&A}Q ]zxs%%-~.QVin=%X)?D0׀e9NZP4V˗7#uD <ǹ2łx!}94Rɳa}B{Ͳ?y"Y4jOpwOI=?<$aX'z -ıS˩[?PK{TJ PKLgolang.org/x/exp@v0.0.0-20240506185415-9bf2ced13842/trace/testdata/README.mddSێ<S|^үwXUW+y{wCH޾&l{<8968Rvٗ)c X8Aהbk (/n6FJH1!&3BT&zk;-N mj#FV+Ue nBi^.A b@v]kB/ ^sWe뷷ۯs NfN.w.H82>1*D ҢSK@?[  %Ay vEePKky<&P].[n#s 2~ELcOne);%Ŕ1TO*\Ķi KikBrZp)(qg3WÅxciy&;Apvv#qwI>)wv kٚ124fGi=MiB XǷeldFePKcgolang.org/x/exp@v0.0.0-20240506185415-9bf2ced13842/trace/testdata/fuzz/FuzzReader/2b9be9aebe08d511JW(I-.QH+R(3䊎M,IPJW032R()JLN00@† bYBE@X24PKUTiHkPKcgolang.org/x/exp@v0.0.0-20240506185415-9bf2ced13842/trace/testdata/fuzz/FuzzReader/344331b314da0b08JW(I-.QH+R(3䊎M,IPJW032R()JLN00@† bYE 1ii ^D%LK#MÐj 4PK.W~^#PKcgolang.org/x/exp@v0.0.0-20240506185415-9bf2ced13842/trace/testdata/fuzz/FuzzReader/365d7b5b633b3f97JW(I-.QH+R(3䊎M,IPJW032R()JLN00@† "D 4PKALPKcgolang.org/x/exp@v0.0.0-20240506185415-9bf2ced13842/trace/testdata/fuzz/FuzzReader/4055b17cae1a3443JW(I-.QH+R(3䊎M,IPJW034T()JLN00aG0edbPK`:>PKcgolang.org/x/exp@v0.0.0-20240506185415-9bf2ced13842/trace/testdata/fuzz/FuzzReader/4d9ddc909984e871JW(I-.QH+R(3䊎M,IPJW032R()JLN00@† bT$D - L#0@Vk`,fUD?H@\I PK"_PKcgolang.org/x/exp@v0.0.0-20240506185415-9bf2ced13842/trace/testdata/fuzz/FuzzReader/56f073e57903588cJW(I-.QH+R(3䊎M,IPJW032R()JLN00@† bYBD d,2I PK$LjGhPKcgolang.org/x/exp@v0.0.0-20240506185415-9bf2ced13842/trace/testdata/fuzz/FuzzReader/9d6ee7d3ddf8d566JW(I-.QH+R(3䊎M,IPJW032R()JLN00@† bT$D - L#e0@Vk`,fUD?H@\I PK!0=_PKcgolang.org/x/exp@v0.0.0-20240506185415-9bf2ced13842/trace/testdata/fuzz/FuzzReader/aeb749b6bc317b66JW(I-.QH+R(3䊎M,IPJW032R()JLN00@† M2000PPK3?HPKigolang.org/x/exp@v0.0.0-20240506185415-9bf2ced13842/trace/testdata/fuzz/FuzzReader/closing-unknown-regionJW(I-.QH+R(3䊎M,IPJW032R()JLN00@†FYߟSdSaiSdSa`Sa`ShqmgL"f1i1y 0]1E11FZC3H;j8JPKPKcgolang.org/x/exp@v0.0.0-20240506185415-9bf2ced13842/trace/testdata/fuzz/FuzzReader/d478e18d2d6756b7JW(I-.QH+R(3䊎M,IPJW032R()JLN00@† bYE -I PK*%zFfPKcgolang.org/x/exp@v0.0.0-20240506185415-9bf2ced13842/trace/testdata/fuzz/FuzzReader/d91203cd397aa0bcJW(I-.QH+R(3䊎M,IPJW032R()JLN00@†1`n& PKpӱ}AHPKegolang.org/x/exp@v0.0.0-20240506185415-9bf2ced13842/trace/testdata/fuzz/FuzzReader/invalid-proc-stateJW(I-.QH+R(3䊎M,IPJW032R()JLN00@†FYߟSdSaiSdSa`Sa`ShqmgL"fZD & PK"FsPK[golang.org/x/exp@v0.0.0-20240506185415-9bf2ced13842/trace/testdata/fuzz/FuzzReader/large-idJW(I-.QH+R(3䊎M,IPJW032R()JLN00@†FYߟSdSaiSdSa`Sa`ShqmgL"fZ@e_eZLa #JPK5.VwPKfgolang.org/x/exp@v0.0.0-20240506185415-9bf2ced13842/trace/testdata/fuzz/FuzzReader/malformed-timestampJW(I-.QH+R(3䊎M,IPJW032R()JLN00@†FYߟSdSaiSdSa`Sa`ShqmgL"1i1y1JYTX0S 4PK~PKNgolang.org/x/exp@v0.0.0-20240506185415-9bf2ced13842/trace/testdata/generate.go4n0}/]Q@R 8Ķ0 +vӱ[-Ǥ/$c3i&Rڃŗx,'x,V)`~ =JT)#O5 Wh"|y12] HsIZal|CJb9Oѿawt~w,Ja% "2Tq*ݝHxuPK *PKugolang.org/x/exp@v0.0.0-20240506185415-9bf2ced13842/trace/testdata/generators/go122-confuse-seq-across-generations.goQoF ǟOAICAPu|T<;>vӤiV)?]U]fThΚp3\2:r8@ , @G+ CGqO` o(x_Ewَ zh AG?]:*"P ClQ `R* Qi^x.ίnrïh]벩sdX$ @V$i 95N„O{ٕݦԝ$/:b{  L4%w>[ rR$B`b:e=yEvlku䨀Ir׊hsoά{JF DQ'7D^- o7w'وx-vvhH!ՙ;\&աҔ`8pT;w4S _f2rt=lj7X!%l!uFXxջcEt.•2 `9ò,w D)`F ACoʢ`]O°CoJv/exRp4$݉!O(r3'1 nR,15>e DI퓶>FQ?E؛zP\:4{G:#ShCx43q/W9<Ѭ,%)`juQ@gkg?syc;4oM/PK`PKugolang.org/x/exp@v0.0.0-20240506185415-9bf2ced13842/trace/testdata/generators/go122-create-syscall-reuse-thread-id.goVnF9~W[bF64%JFzBw/ȑM/=r4 F`q aE𵓆"mfXl3U g`bPPjc X¦׏KEE8 Tԅ|i~ʷgW"0:I9G5|Ai >ڙDWl nwkRӗMj狹%^# lЇ`9^\;+qS2dBK#FDtʢAV4Mz⠦HN0O [*(Ypɫ&DLa[:g\\(4*]EJy^eXGdLT;#   i{۝`EKd?ww eT^L[vIw@$gjMt-L 4)jW`k #tpχ-X jh 5 PЉ$) L[OZ's$DpSgijͳ)^0*kb +N %pYQgeáEk)^ŷ-4.hMzf0g4p/[?6)& .Y{F83re;W<a|2QgZb=1!FJLYMb]k !l<'YVu)UOj !01` R×AUZx>ɲ QdwGԡ|шhaȍ+7S(S?*bsu~hv|mѣtMe;7>0É|Eu!+zKsF_X0z8k$N~ӂbۡf1 k[5PLh3˂Ҡ2,*ilNo3=s9'v9D:rH|0e*J\ؑ`o׾.JBևfC=/l| |kxC~d' PK*W PKlgolang.org/x/exp@v0.0.0-20240506185415-9bf2ced13842/trace/testdata/generators/go122-create-syscall-with-p.goT]o6}~Ł^"{갇m@QT+'>$k׫{>xxGZǮ%lnn7 }YY@p{p"(Wt@-ըݮ~|4QF+d(iQn5wv6$, YGμ!+*{:h4%{<,~3?^K>T65w-׉xG$6HSRHO[m!AIc#hۓ{G94'EԒ]Fdc-;l|y7m#ꬋb &_t&3%%%A*!P-^.]<,GhmrCar0C`gB,P; h>dLA9I9 |0xS;)FT҉ "zeC褶YyF]36|./9:q׋E]{ja 8˲`U2VǙI|,:4d ƻ.~I/RSwTCN%,w,.|,6q\ԯxST-H[C/ pă!!+csػcaM,(W7.!X ;:i'Fj{H"'Ƚc]J{½Ԩ^) -MWY:s5]NDژ;g%9Z.x!"Gݪq5KbWL?Xzqw٫Ԗ%Goj8 } [S17Z8HuvߑRmzw{j,)˳P7PK6UcHPKrgolang.org/x/exp@v0.0.0-20240506185415-9bf2ced13842/trace/testdata/generators/go122-go-create-without-running-g.goQ68K&@՗^Bj^-dpMƩ=U+vo“ޚVZ~ı%֣·C:OԔ{ 3&Ԯ!&L NWh?l~r(:[ZPkƉpv#7 i χ-ζR_C023C\th3aYȳ*jZ<8bSqN,Wcyh a[S MԹ'8w4ܓ'-%9Z= pI+8@ss47 ;KIBJC{jn_u :*bWoŲ1!u ~knPL [6)CԠOzmY) r5ˌ4yS]* 77O$Vq*SmwX(uN|K*C\w!?,fw@QYPjVUXC򅔋#ey}rfEL6򽖺,&_s,*FxWD9nXk̩v?Wܹ&1;?}UW!N/ؑ!hmR?x\>2wG;B/RǵQw;s3CU>Juˋ{l;Zp9Nb*qH#eQU3d$C+-'8yԢ9j9C Eo!w&FC-<#wn>^nʢGLsƤn]=at].[j_d7^SvKD!,h>MQvugJmu I[V>m}j4=dICӎXr8Q(ʎ'PMU,)*x{ q*|jXwƽ;$WOR<ӫՋD1B] ]{[ nnTMoNFî)u\d|-mLpJiZ o~̖ܿSQwajWU3oNd&(u !wԧewM}= ?0c70i'3LHKXeP PKM6PKgolang.org/x/exp@v0.0.0-20240506185415-9bf2ced13842/trace/testdata/generators/go122-syscall-steal-proc-gen-boundary-reacquire-new-proc-bare-m.gon<SO~uu m`IǪkS{BVDn/=s|9n+6 a1m!JLE(RS-Eg$-1ѷ"T&(P[ϾD>XTT"ŨCI0~,9ƒW49 &'K_`SpTE~ '<>m0-7ekl 9)z EX)kBdR8 PË;]@R&(0/;%[A9Yд'ǹdSdMN0bۺfuv]ES&26q/Ѹi 1s<9l\ncf(J,Rש5j(8zJQ9^NqդTrt,g7g]w\d׬ E6/= c Ut2;*Bm05qMi}L~1w3  D?/bխ`_b X|>bSi\WLHkL{PK# kPKgolang.org/x/exp@v0.0.0-20240506185415-9bf2ced13842/trace/testdata/generators/go122-syscall-steal-proc-gen-boundary-reacquire-new-proc.goAo8xIZd)K{ˢ'6 mb1E!rbe+S9j8QN6a.y=yrj8s|Ch mC9C #n6}8j*j2ZP i BK]m)M>_CdȉpL$^ &9e9#t)?c~-նwn mˢ7ޒk5VFBFe P#gl/! B޺Mi0['^,ɻ'kh: EY&lI΍0clיfĿĊ$I& ghF^"q /_GOIu oL/*DV*EUЎDsu~ꔣlRM-߈Pi?߶Q ,6E&K "t>©wiWȆ i/hl*f'e_h4 ] 7 h[?Pq:c"_P}N/^_Oq.?3z?"׬zFV#.PKZl4PKvgolang.org/x/exp@v0.0.0-20240506185415-9bf2ced13842/trace/testdata/generators/go122-syscall-steal-proc-gen-boundary.gon<S t,'6 mbPҚ"rb}B$\;7pw`t(&lcrCZ9"PZ,ïH[pc"oCE|M0)8Qp`SYSnR%a[W8pC߬KR>_M((<MN*6 88}[n0-7ekl sY"GCX!2)kbD. )NUwJqBTrZvCݗ94q}^1Exضꃥc~v?&7=\԰{7\ w 7P'KT}uzhM bTN)Z^)JnN&I;.i Z6&r sWڅ\j*oWWwT'G2Sa >%&%uG}Fe"Dcſ  b*״T3&9UOuw7PK3L4$PKgolang.org/x/exp@v0.0.0-20240506185415-9bf2ced13842/trace/testdata/generators/go122-syscall-steal-proc-reacquire-new-proc-bare-m.goSn@|b䗚}KՇBjT|eޝQPΆTvfggy;?:ڀrZ~Ķ%,-nZ3Ñ'w&yo`ws5 A{({ Ԡ:Bbh(=!27ЌvP&D!(br2 "*;g9cidM#XW۞EٛӦEV=|G_Kc$f TgY. DY#Ye֩%02y%F+[e"F|P'xu\1~2eG HCn>#dSm9-BLP.h&P!Mba=>Hc}UH ud֑lVt:`:M"&kgMCw,i1_y(48~]`Ҟ^;P-D/3R# }Nqbtmm~It}肛5)[TC;u K@9R%IsU싧+PKĄaPK|golang.org/x/exp@v0.0.0-20240506185415-9bf2ced13842/trace/testdata/generators/go122-syscall-steal-proc-reacquire-new-proc.goSn<Ȝ=\2ǽu)$jndn, z#/ų6: U]'lINg`خ3f̔I&cO=L߹a{|9xIIQu (goc~ n]Θ޷ɶ2 ڴ_%ߴxe6EŦ|H{g:d;VʦW eK#z@42#L;96Nc0k ̴$Aie z'P%}z,VpYPKsPKngolang.org/x/exp@v0.0.0-20240506185415-9bf2ced13842/trace/testdata/generators/go122-syscall-steal-proc-self.gonLS&/~]^RB`6fPwֆr3s9yۜѕ`2bST u.ȓ;PEy`wxxۺPؒ`<=c*=AaTSPզ P-ag[.aR,9v,J&&gƚ8*_9a!ǪũfOx|`>[n:w%gqސkTmXB~Pav&dOCt_+g,^*r79ȍRMCa{cVY5xVWI4:s:67:Kx2AXSCٹ"Lhr Jʾ&NMld3նٓo|F@3$[XN!縇ζb@G*Z 'UqևK0V`(ËrW̆uV|lGΦJ*V6ݡd1JCQ6%qS%C\Yh.g8<ߴQ {Jp ^Ϟw~? H4653|M?rZ8|?PK-ZPKwgolang.org/x/exp@v0.0.0-20240506185415-9bf2ced13842/trace/testdata/generators/go122-syscall-steal-proc-simple-bare-m.gon<S t)e=ıahvf钔)'%n"itc|q@@eov  q-hw b{l=RrYBTD[0bG]ܯKR_KU33M,*tv=p$ʖѫC ?l6CvU Q!b' ʰy|D.&vV򥤗2{|FXjWu&&B$< !v=7C$y&?OMGlR`Ѹ(#S8 !&e&h] (PgFRLrbCWxC!cPZ!Dְ΅Ku/5A<읏H$Jֹx,q?L<)с8ڕUI51>“1bײꋥ<%?&QӈO' -8NLIQ yFJ\LΫ󙌪I$_.n$C}mT g֩{ Svwx'^ǼxUI{=gw&{u_PKxCVPK|golang.org/x/exp@v0.0.0-20240506185415-9bf2ced13842/trace/testdata/generators/go122-syscall-steal-proc-sitting-in-syscall.gon0DW tTRĆMJZSDKRF^q^W3*gl:ŠqՇ/qe gGܞRT~xo:w ᖠ=YjQ q^|`(nzBd@#-j–{B[fy^b B~-A%'Ð)e-}a rV*8Pw,ixVg)xC>xo1x$jPm:GԽ{BMdcq9ʚm)N6RB\L2FZUSsEϻ/x,ɆJl>$,i; OBmoT,/kL*lj"[G"|< 618Y."|V1*#S7oF6;kA'b &?Gk&#6N9$Gy0Qh#q#7s vQ8Q~曫re7E;9&gˠ ; 0c{f427ZӴuk=z.fs,f/գdGlrns#t9{͵F^zzU-Ni9{1XPb wI5`}CsLs'^~[W-xy |H#]'S9WXERUS(G|YŚWxPKƱPKfgolang.org/x/exp@v0.0.0-20240506185415-9bf2ced13842/trace/testdata/tests/go122-annotations-stress.test=rg+*|&B$ׁ[kNX,Rlv_Q@݋GV%Ohztձy_ūWq߮ލxK!.~mn]50# sJqUs\?t(鄶 UaZ]uۮ4_\icjp&L 0 .~vlnRfw-ðś>|7w5wӷݟ6~5.صvcw͵k $3MM;k_o﮹hvu-Dt 5vm cF; M;eȣ9oPzqAv]{Fmf}~?Z7!h=@3m+ٮ,0@Sfv`8f$W9#+ڱcLjpeNnFe^2Uōz273sF3ZS!iai:ݘ7ft%nl3钭6Pō}nrEn=)e$n*xLE N[q#hhh-@l$,ɑ vt J^ZQқ@Q(qNO+\L؃I92Fj㘘 bdxLQSΈ!ls( 'T #f*^)F3J m1DR8UUŌpC9t%fQޝR0I6Efh534$׆-ݣ.wLO )5Ȓw4ޱKA +r;}f asC*=LrYԌO7|0lYKcQlҽ5# H 84&UȖgK9lFoO9tgEQN9(sSA-A}ُuBƥ8SbpTrCYاvkY`3R7\cR!()YDRˊĘ \$nPu_l@!0\1^Ƙ|Lv(,-u b weB !fdA teb f]8f\P)fX=hGTJ5EIRkJyJ` |Wpf $WZne ~B1J\g섎ŮJե6P5u;~/l HV<ǿyhmXR +(4uwd3ZA) :rrr%XU]yJ/^:NEw8\QUsH.[ƜAcx}D:\Q֘{Έo؏J!I-fQUˢ RvLsNs7C792ShwAl ԋCzIԒ z5gv(eY%@ ]MJQcؔ%8c 0xڭSi%8}%aEUL32Uky!;&X|.•bLbrّ9ymf=5Eʕ~mL|ً6A_!ͥ<@oU-p6L41 ǔz\3KE3 1͸3)vy|T57tIŷPN;wpO}ze stmQ!q6=.Hj@: 1agXzeᑌ "j,X+ t'iVA0܏C~2p.b8u\U.ff 2 cm|2Av~HXR?bBfpCry.7 nQi&e06봜$i&kZ"rGt)\3G(J$`SRp1xGxuMOm&&i'Xjߢ4MV8`f쨲Lw $OE" ٯdP_uIFbJbC$~)-E Hqi薅Z{'7xU.oy&]%sAoMDf7J6 μ+BV5/?K0<%6dS:LE8\^(~ ;Dђ /4 ߟU/]T%E͋1o̢2/8dL1ezzSҞf,')BF88K9%UM@+5`+Q`f$YC1r-2/wrȊLu۱,Yε1{- Ts-lˬ8LyCRuXB;ORq 66qI%S-[Z>Ąiz%jjA? WP c60%~[PpJ2kQ#^i0T~%e@2ڢ= ,`K;0xңkbXS1Zq}=xnï򿉢|S**RwFk)\GPPYZv ?5@WH ̳B9"1Rm&ɉj[k΢Mg3g^:LW6i╳fx03DdvAlB>[Z6,-?"W}+KI;< bsʧ W;^s"ʬ@|4sY5 C@y *}6nUgP)%)Vu@~M9g'W&= f7T,f<ri'1EyJBP^k 64̖=!N A4mdIjx<aOWr*ԁ +5>ǐ+rA҅JX@Ɔ7EdbV:R9!O`R A8pCتW>ErcY+M *J}UF|-}jCQ[UP)%9 Rm_iih79Lbl**xny_Dx 8_+d"_SHlB뜫Χ3;&kaK9mLճQפ?&"^`fAȷW 3Xǩ~>J4*먫[}kR}gw+R!-jZ52W$ uzhe(/+/x-:P+:eƇ1+L\@;xhbdVku&ǿꎍ^8omrao˪ZwqSy䜒"R*E4S =-@KLN|o'dY_[Ec?zڟ^^4~LR)^!18S句q>7`&,3)QʟKx8J'`;%$cփyQ)4j6rv5sG$<#@e "|ŤNRۺYDg0 E4[5O៹KH_oG6.p??6}cYo^7/n=v7/cqo f}W>nn]w7w&o8ۡtcɅO_?7//k } r[}l͡"@ݪ[D,vߴpl>cs Cۛv~\L=4w<4Hxﺇ˟!nwͪlEzӼytۛſ2 |V1A"H0ި<?~u}'> o;!C7`sӣA|ߛh?Lͬm#R%3^DK?"lR]j7`#`7&70آ" xf-7D5(WА@T+v{ŋ蕠ѫHQ-ZiG0-H$$M Q3Բ 2h!5m}{MKsOKslFay+0lM!ޚ"p|3gˎfp|ٲg+-;>q| eΫ|6=Lb]Y.#EGKh1J T#gArFK2!BUȒ arV&gqrF՘^]{ysR%aW6z~9*:WWhvP]a]o/ic߶ 'qua}txu8aA چߣh \se46mM/}yy[on~]oӲ7F``o:\4Ur}e?jpp <ۀs! 1_=t8o03m)3$XǏ{eOɱ~\~M+Q_ݏo~|w~)Q!U$uO#n>U{l˓PSKxejD㺑v_~[="Eg'*| .p/OFyGJ, m}?w҆v0_0v8HM*vc! __QË5y *V㿑qy>㬞iMӎW~>}ѰCt>xܮ7 9Ԯl.w~oxϿ^LCnoh4MЋp)h^R|fVnכ?:Ĺ,# PKܬJ\PK_golang.org/x/exp@v0.0.0-20240506185415-9bf2ced13842/trace/testdata/tests/go122-annotations.testYKs۸]~jVq,xpEo1uk*v*B4K!)'_ $ĉӍkdLڡ݇wwwk5:5/5YSzdGjK~KX2Ή ul"a%L8OP[c|h=4-rbj!ɤL)_MuPm9%𩵙W1P(w7,hA>=hD%q $s`1Xo:ݝ`5Fu횢ʷnKaʷbYYД`%/@^\_Y0'O =NaK<%J|Kj uQyNaj %t*$@@@ Qp $ggJpLbHϔLD?h%pLNtB} j1(KH;Zx&gIyB)NȬϜq @ %MB?'SL&dvΈQ:۾lz8B|p6 %p7\6yIΛ Uex""_G79_m A`H?a]x;/yJN`v'|%iEإ-n cƂ>[-ӝC_fgGa:ooЫdE;]!l yhtucL&!zڃIducBrU15ZSz7u]?"@<[+Ԛ*PLhnLj' ƶuCmC_tѡAj:M}2~1`Y|ۙ=>vEeP1fB7ًcR]Pc%Aw4 Ym j&,xYXBM8@yMl =%D$AЛ3!ͻ eTf!@yu]E\#VuQ?Bց fS֩.7y]<{؉5ٴM)4.7'LL_MotU՝B`U:)c=~Nc{f*.8W?!D jVVN[VIBZ!6 ӕ_wF.͝=ֳ=S!l.ɞtӝZ=z@ҩys ){C6p~g"ȟ&^'?Uu6N}an0_S?q"fw|2H:>(7_j.|'?tgm__kO Mop <$IÝdoPK?"PKrgolang.org/x/exp@v0.0.0-20240506185415-9bf2ced13842/trace/testdata/tests/go122-confuse-seq-across-generations.testOo0 ˧zϔC.^'e;WQ( 4q?~"vN ?Ϝ7 8gy\Y8 c[{^ֵUXѽ#+#agPC# h=[rtM Fu]+zUI b]m"j(9B!/) &_$I%晸ZRipKhGTi!If[8Y1RPFܑ3#ݽw_}?WoǷO׻nO{K\ "׏N1\ >w?OW|?v18O)R|"ן^n>Ǜ}{ۧG~y׏?O_Ͽxx;O7?n?ߞ} @({N E҂88|<$ۻ2L1_^?>޿ǝ~~] ۴r^oq69:Φ!YB~\;&6>_vJ7C?ک"~ӿ spc%Z`?:!I<"<*`e P$RK̃KF @[p8_L2DEn){*@<C f`<"s0 ~LDpӍ<.2D8YMOxXApu>Ḣ-YrK;6^ɱWNϏx<ȝeayOg$#uإʌļ]qY@A6_F kbrժsD[6uk,Zv"u*lؾ;Y,0atf±!cTI/D}[v-;3SRǻ)(x`qxQLhݴ(.`fDeS .0F }֭깯$fya{仚O1#P>DVL쌇}2gn<$`hCa㐩3졃Lp|r:jC(fJ,3K^=gPUsF^"h~X9 .؋ 7n=;{q3Ɏj).W挀둡8͎!^|RIV$؃iA>?*q=P?v~W w[Ioc mSg}m% ,iɶD6 moY@n3næ8AFIvåۼ4Wy(']XhaKp{ j.gz`g%1;IsJ;D<jxFb_ e!pc A=?|јs gYR;%Z^ [ '-Wy _UW5CZC pTW[XP_ALa'lL]S%! `k4`\i|7Aob5 /1;5yXnϘ# gT +뼣|OJ<+<:O.cQbP=7K),lr:}>6,oRݼr}!C9oO?v9ih(RGpG)#m3GRa9PQp.^PR!H.og@){O/Bd@ݸKWlإFlayئ_1b* K%MpHçXB؜wugt KXҜL>҇!l I*8 [兵Ύ~8(%OOP$G;+tVtjF6Fjq2Z"[SGaю`l5%Fb2pQ ͔RA zEe+=jԁ̦.(5RߒztAp>qlHḬ̏2c'wqw~lL0|$b5Eq硳ơcdCd$fGٛlaΐJbcH'e ^N\2XPPp&ٹgn'1_gEyLFbg [|uwpe"Gк$eg$f9ҁ&]L2VG !8(RK`3'&今pOUVr0wNAS18/%f7~D~-竮GKh$h] % 1$E@0 iEoW](=/%W- i>yZ%ixA:Eh5:0Ʃ:VuzlǘRuo_=~&D‰{Js烸W\l= jګgF`Q^9yaӒXbtbj7*xIFS1{6>2395~AS,΍峗w3a!Fb^_pv06GM\C{;TI(T=C`@` \)Gw5Dʠ *=O`pEkHk:fd%1kO!UlUy$fNvƋ$*Nf\5dߒx6 "SB%i@vXylxFbNӱǽW5YM@?5m3R Ex֏)UQ%!ǀ!DIꡝMu[*I̯)ՠ |0Ts R}"Us$xfW*@Fb-si֗SMf/lz|uYQM.aJS[ +{D#1?[$ :o\XP7|5cUiYsn>nˀ,Z2wlRy1j7G9\+ؙ8r Ȭ̎9 z%1,w>-CV=m_F$v <9*fN)&.mr- χh*MP pGhy\#YH$\Xz?`O]B1u pb1.1?uǎT0PIiR͒q_z?0g`x@2sbR9ݛL= NNNɳ,\T/г" R˃V;kq1۠$.b¨Nexo5bFʞť`ҳ.v vR'BwCb/̌'+w^e.Gn!,b*5aVcn-#9mmnV6‚j>AaV}CtVX4d8(*K0*v,c!u26mECNbތib6&됂H.ޭ]YaQ9] r^xDo}y 4Y ORJbH4Ed#螕V&~ęc6G- V ث$+. }7*)k.4TUiiMb}Dt&dAD.6.}a DžFg[y\zb44&,W-1BȡmQ[򠴂wš޾K- \ }ipyy_.3nlMor5֏=c$ٗH^K^ -wT}9 e#v\1xn*Z7^|UfNcˇRh_%ê9{@.[V]*-=]men*q@}3#_t3YMY3g$\3m qi4*/RP罜] Y5_w-~ X"ֹH\q*VM#Q?ORã ? RF86$FTl|ùe%,U߁Ys/FYߡ%:Eub"\vւ&A6yA(~n~e naZ1{I3j܀ċX ϩAYc7?\\Dϻ;wF"M3C$b]`i~*XS:4fwځgY36Ⱦ)| 1`ìuɤɲ>]䌕 [q BE*y6$ު{%m?IA8ZkʸhyjI`dɍ2@63kg?y.[-?׷x3(u$ ziDL$}W8zEjo$vOy<@z9toټ5Ͼ5frT\`RpSX?uQIw$D@r~ &iw/9hgf?g^$pTvDW@k[ OܞB~eϠeڽ!|leV+5&5z —̝z).Ƕ:+Rů [Wց:淛;#].*v GX6k呾&hMx/U7$ L :jXVa,OHz(Hq!w%. ט-AP|G- !^_F\ą;voe+W+ >EIIVR*SztLᮏD:T+%֭Jw/)W+mR%}G1ܦZgGiϠ<ܫw]%'`wtK8k#&rnK~NޙET/zoMqS[8;uޞj|-pONKv3Ej AhoQ(pKcԜϤ̵0A/4uC"R̀^-QIK ]B=w[]cG 1scu~ء܏osJqe : 7 >XybaɠhqS.)&`M]a^$jL%Nؙ9") Q'0,Pj V$ phwauH[Mk( γZBWW$Pe`*8 ՁWr$"V' sR0o7v@9Xb21b<,F̡<>jUY=\2*0|`T{hXuq3<#1oY@]bN^-"rLn[="z2 ͸*T'nuzL-5{_b}K׹{I$"Pba(g1GT5EQH,M}͢u3Q- [ibP+`v&!PfV2|ؤ8^yJ#Z\ Z+O/>UgznųX3u2 :_&Y|oe<"#w{tTx6L4ul"cpgdU*1q\R[=?'o$߼(+V.bMB9hAX۳[@u*r9 W 2F,%oғ"AS)- n}rP=?<2ZD,38Ik:?,X9 Í*HPP0BDHP2elO!Eq~4& dT䱴ȵdƐ^`a^U\^OaG!sDŽfenmnPw}gjX.Mq]XTLD:AC\2~#vmrs߃9\̣T9G@\~$?e1/E_-Q0Oe} * *82EC4U{-tsmȺyMVƃc#9z 0sO25{ɏg0@_9}a7vW12 SxC߈WXd$;̚(5h7/ƮٝggW3K1;~T26a,0A[xWjj(5MKj 93`S\nq;XnhYj¶,EDM״qR< -a~*his5?#=fAL^ZFw?NibܼL Uc}65*W߃`‚I|VQiҫ0ܕļHf9fٗʶX_%b/lDZ!Qh:QdX)`1 /T_hKy=wgP|n?g<*jR,-%Eb$WN5*ה!Db u M_>}N%aw"]wA#sb0oGLHYݣoj;OnU8EީCm&`3dLN/ٲg~ف:Gq-~Ktv(">ȃV]vbW nՋ2V'+ 7ܛavLgu:kIK2]XߕQ84F B],3+ J.ys^"8[a! 9g aZL%Hpbgi( 1SZQ&in<xr)2OBM#qH[6iaZ|r438gB2(NDɍwкc5uwQWRJ>ѷ'W Z">fybfϙSlэ 5qbxps PZH4OMln 2ZU3tN2syĪnO*;$fW*=>٨$f6fUK\h&@d,--eݑfP`rKw6nj(;HatcyHl+WI>ѽ,KKWV~zW&#c g -8r|:g۷x?/: mzʂRpiv.ceUD*,KZkR2H*Pǀ.%zBQFr@C8NʳLTȝTϺco!Fnl"usJ1s ȡwDv.Y_O>8*g"X.uelhՇk?PKҧ t|*ė&KFīHѨ-Oxi ݉c4Mh_^ ]C])\ }k)`F^R٠v{B_ ²1: 7b:h"B- |5Sk5zjJbӴ|{$薗Yzjq/& c%L# ;kA,TY qxIT|Xܼ%kCCe=8bŧҺ<z10*f[AD c[C jOƻP?lqCUxw>%ھS}FL!yPR=Z Zo l ΰu##B6;c[Yw*:4&M?can$5fȘ\eQTsG΅ :H+an˴&Ya&nrd]`$25>K Ly+RZCD\RlM[7,*I,GHa,Lu0C];H C?E M$r[7n9: NS[jbI1U–䰖PFb6iɞ `}r8Cs;ѩ߿\ޞ ~j+BmIUK2˙ PG|?@ OFfgyBmiqjXRPKC }~Yairg\_VlZum7rSgee hX/攐|q.hHTJi8s!Ĵx,P609eyN{A* Xy]%3w#\rd)P(T\')6|cPSIK >HH.3% Rr њh{gOYDuTti !rHxPÅX('j V,<=*ŨڎK@vէVĜ.1x~:iN.`BțYZrz$jp!S y8ϟL5T)*rg'ּ\V:`#2W DHYB c 8E+b& , 6b,iL}$\Ly΋@ɡEg iи(+RB[7f^'-~Q >Ns3qtV? nXTy(BP;i&Ny`Dս{P0`V Fm>Pݻ+K\6NƇU$hUZYUg5Z tҖ^hZu ,!t(T1 $<3]=1"mR類h 2/78J ڇ>ZSdY½81ۺ;jc9GB1HbU N _3KO*VSw5#N(L0T.R^[HM׊T/JNWiȬSJiPH)GdG=On\B J)520XdJJ9].:RŚ\.!E>&GMK.sBj\"rϾ:(Ah ).~ ):ɨr9s\IIu΄% wb޲OnQ)d%_1TSQͮ^6~0x42AȖ $Rgդ5S0Bty1'`d'%`9 |,N qsb-\I}JV}OSd[iX5&`Qix-cU)#"zE(nлh83.Ej%+@J(ti3AFmWubMY0́jc6!A9B7ϱՆH ^+H3XS],dui-ΓƊʕx~e4Ɠd bTG!FVSL nAbPkP:røY0ZP7`7HP:Tn;S?IX]gxo>%?{\|y5]=i6WYZIޥt6QqP#; .z0}q GC +0YM-|$ϒҌ%C9Y*[}T_NҋG@ҢŁd+c% OJU;0И9퍭^!Fq,_4QTiL-;(׭@Mj !8ٶ z %|Jn1;~Ę\=+'ntE7 <ҚH7wە {U[HR2-<8$K~Ŋ\(6F۴C#Dif(b_RWy?TS ctat{-[E7|4ˌ<~+z .xhRt;eWoXZ~ICAăĞ=BYT=36vպg ^P KJzkN)7^bZJ}*N'ft^ʋ$09&CsvAVdBȾ&cU9Zb`KbOŚwXP`ox#45AF9=%KjaکטIgK ;TZØblĚ]FXSI^Sj{6TTWb%avx3mETU9l@5s86J;qKZ=#:]6x#R ޗϓ>Onz!:H1(!Q0PLrU x軘f@/%B|znr˃O!gSuqiI\i!i7V۫?w=0X?,W+Mnh2iI,(pF374ꯛ*[uoܒ F:-ImG;%99}xMz+؉Wsi)Ԁ6_rI`Y[nZZM$JHѺPeֿ֊h],G@Ar)P}n}8BQfM0{z:Ar\/rd#Ar>qP7hs)fAgJK'3#1t 0 ԗt7LD4^؎z i.Y^O˴)~pZ`5qe4-yi j^: 0oi֜B cKzcO[D2D`%!.bGђ4wNXMhdVŤ[o b Rr |qR5Vw͏?+uT]XJ[pQ>G"q gygnl 9B2jFUA!cY[-s}[aJo Xh쩖 rPuYuRQG)˙_Ċ}wGe} RkۧۇugnvWK%/.9 +,k= k(FS$4eYpWfX+)褪: 1E)# 881P>% T*P/G@.yi(j 0.X]VE cf^^$W)Kk.QPX' S$IV!k-Rd[P|^"+?kB}@^DI zR |fH_yr4.V2T9lPkRkT ʱ~Sz6+śsɹ,+XBJFZd]-6T\:\^)y(_ s@jjvb˒eE`Nd*Cʨ@yZ6:6Y8~u2AbGHjo =x[* -_s _&r6HwQrːĨM5 tQ#X#Cׄ5PDb;DQ-]sA1KEqYCO:.'iꩄ\&Fbh(Tlk݃$Nj0> s*9(y9jiN ySV4s {΃UI~xMH޴ؗ=D qk%똇%eVPH+T{Mļ ;Pk֓Uhb;z~ ʺ ʻox'޴ .q/.LV/sVuCĻۑt4ii=2ZHc`5Ė `]Y| (%p%*Wnif\zsk?J0Xܮςq@H`Ŀ|1jD8Z9Mˣ049'XZ6ʛj|׾;t8IMjг3P"B,Ay!>uø]ǭyүh[dFb- Cfb$XsZb ˸0:x<1+&4AIf.|&""Cr%ѽ|5@&p nʭ)ҨG~všКzG28H*\tLDs8StcJ'E̸4׼C(-"!.fjAa{KO D2qP)M+PP`r;0zZcp.SH,'VKnE\njn,,,٢PضKXÍas8*V!`#|!yܪ/݃/Um*t6NJN Ju"oN)Wd7<*LyPbCab7. c}^ |c5)|eޏ Ri.҅t{(!R|$Zmd쇨 \ȜJoL2 tzh?zzK; %fʭ"x9K.9?t@9 |U庑QLtbB/yy+rjk !JQ`{:ߍ0Jb;+Vo@clPJL$BxE|,,zrPu+PkZevIjj9bL0ɍC@|rͷhߵxVXځ#)r`/EƊT*a PL/B,> M|\z^$Su";#NdG<Dz3?xutёY#_EG3㩚\;ۃ&xv k%Mw颳:T6~Ǫg?8w⹇jx` 1m‘kuŋۜWќ,":k1;0Xc 6$fϽ7gq*IBOa( ( cfEC&!r/ \&L09} U{s3ͨ$x|+>q.<3ْr${=I: uH++\c~4}~C}}%ˡr(81Y/n΄L,yPkފFHm!#@,bĿ;7$H*:^t9qRW|!v{WH smlOyp L<\PG\_0;Y(uM\vV#7$NpSbem\&(f0jo>TdvBT- n$,keɍ/`$hg&H==IaTR}a61ؽֵ"'V*9Q;]ݽ~?]ęd 91PWg#Ak)&]﵌pqdB~ ^ya[D`_QV"t!VF+QxDNTmK}>Xi0o4ێJ>V ny#*64굲` e!b70m w@,CZ=K[<-i=MjwITrض9l>})%i90>maB0$3/Ŀ?Vo?]֗RmzKih*SKTk*+ =?r.gq[ZvqK*bwubIhr>uv ɍ|"%&DII_|*G|;+"~& q*~egC(4BeJL HǮ".%(IէWuL2mCIte!&@wTs2(XG%cpasܦwNCDNצa:P]!%LӮ+C;Q}w7' zivaHdr 6y~1,xiI{\asbrl s9%ΪWw9m7nQ~Х}wk U{Ûй^1W-ח/pz/O?37p떄Zo^?>=>0|pb _z||ӇqOϧ9i~p{mT?o~ǧ_GFuJr7/G1 h7K ۏ7?=vr{On^~9>2Py=}z~i$=V+_8`/?><0z|poN^]]3cɟ?tz!~^Oϟ>>ޞEbۻ?|x槗onz8}ӧ7~|~/?yyf7wo[{}=}y~%><<1ye;cpOaB.JDX 7n<<|Le.C>~||a/x 7?7t^^O//=c#_6G.SJUuTF>n燏?Ϸ>D3]z.sݗq3ǿvC2-ә'6n|Addv~_ s˙q図>O/#Qy/}tN}y0z+ݏw[ш>߲#([=<\,.Z҇-7o o~|ۻNú|C}dxiϜ\ o +/, ley>#G{|uAJwzWeS* >/||ѿ&'vi{bwՊNy$bR9ߗ, =4Xz>n2thkd7_Nߝ- I.zW??¨ybgfۨ" o>|z|g%<<⻏;gi?x*/PKmьkS^,PKogolang.org/x/exp@v0.0.0-20240506185415-9bf2ced13842/trace/testdata/tests/go122-go-create-without-running-g.testON0 =vK+R\E*K z!!qY=?k 1rZf$2Ug%H2 Á@Q9'^N:! e&.m2{edg,%'>"D}[8G8Ig%ŶHbOk(k5Z\ݪ oy:eו54TnR3W/#T7O 9wPKo8[PKpgolang.org/x/exp@v0.0.0-20240506185415-9bf2ced13842/trace/testdata/tests/go122-syscall-steal-proc-ambiguous.testj0z}h{͵\UM9TC09 ;|9lY^w}8<{-̈́dԚd?{- {CZ"{ Iۤem띛-ܼy֌cKn{F؝o\Tdw4 (yJ ԟxHIWUThVxR kT7{t?9u/PK߃PKgolang.org/x/exp@v0.0.0-20240506185415-9bf2ced13842/trace/testdata/tests/go122-syscall-steal-proc-gen-boundary-reacquire-new-proc-bare-m.testN0D#;zUpF[DzP*唃%kpuFO9}m-(:Y{?A>?1Αp2;o4R`5ACFB;4fÞs~-h|Kx12ߒw}_fhZZ%VmJ(~KGJ)Qm*ZRUjros. -ĺ4,9Lc~PKu_PKgolang.org/x/exp@v0.0.0-20240506185415-9bf2ced13842/trace/testdata/tests/go122-syscall-steal-proc-gen-boundary-reacquire-new-proc.testMN0>\O7N޴ "r5MZ{(GJ!.,YH q$ ۲yJ֢|74[U크~E#vCŎjdj8+?wӛT/NS%zue_oMKTxK^ت[+TI%ot":"T*c0GsClCәzאLR};ھ+PKz,PKsgolang.org/x/exp@v0.0.0-20240506185415-9bf2ced13842/trace/testdata/tests/go122-syscall-steal-proc-gen-boundary.testn w^#`K"7k%ڹBZqpj]J$+$t}gq9:Oez|Ue p0r{ # ds. ƁAY3U4_ *ԛ{ǧsjUgZj9i5Qr|KtzkR)QJ5o6)L_=UZemlv~c~PK\ ,PKgolang.org/x/exp@v0.0.0-20240506185415-9bf2ced13842/trace/testdata/tests/go122-syscall-steal-proc-reacquire-new-proc-bare-m.testN0D#ۍ8*d8#YBi-|=J%T9)y3k? 8geeEq=O? b*wh1 {#=B6)ޒSi`Ԋ*.d9w}_bۅh$$r~goBEʟ M~ʹvwE Ǝ,ˋ,ŦZ\+c ?[\i!nIfH7cľPKHPKygolang.org/x/exp@v0.0.0-20240506185415-9bf2ced13842/trace/testdata/tests/go122-syscall-steal-proc-reacquire-new-proc.testPN  `V\^Mг!utfOosva&; (%en&B t{? TdWA귨 X0ZL:DⰛJ,rҎs̝Yݎ]OCLnMiC7nˤ]b/+Epvfs EYV{\^t1-Le)$cq7C]$PKmPPKkgolang.org/x/exp@v0.0.0-20240506185415-9bf2ced13842/trace/testdata/tests/go122-syscall-steal-proc-self.testn <_O@!v*uyBcQS҂;{(Ӻis~@9sOm(|v0Q)Bd%h!sc}e)Xv5"\U~)OSqLJ(ފujҢLާai+uj-M+4?vt.녦QFl< PK~8PKtgolang.org/x/exp@v0.0.0-20240506185415-9bf2ced13842/trace/testdata/tests/go122-syscall-steal-proc-simple-bare-m.testN0Ew#?'0xI"fd95uREG(UnֽGq593Mg rJ<IɺO }Z@4*'g}0%ȶyW_{YSrv[CX o!evZmзv/kzO׎x&eJx*7Q)Q]@" c1UTBFCfʙq>PKbbPKmgolang.org/x/exp@v0.0.0-20240506185415-9bf2ced13842/trace/testdata/tests/go122-syscall-steal-proc-simple.testN0w?Ž ^RHYNj&R[)ͺOߙslY4m8荥4{ˏR\M_Г{- {K{m]0<ȶe/~eOqBt!i\WQkzxWz2#zdƋ۲]*U(c%Օb/Gr>JM^ PK͝PKygolang.org/x/exp@v0.0.0-20240506185415-9bf2ced13842/trace/testdata/tests/go122-syscall-steal-proc-sitting-in-syscall.testN0w?Ž]j'tBU"fdDP'xzԐ!H__#G+AJ|0MӨ'g  qvG BmC /F0)pfn9|,ʧ EtkLݦíԒ0,oinVR Μ7˃m,"{]=.}NUPK\^PKkgolang.org/x/exp@v0.0.0-20240506185415-9bf2ced13842/trace/testdata/tests/go122-task-across-generations.testAk0  ѻnn]Z^i8ZBVǺO?BɶdxzOJ<"߯כ<RG穯˶7 r_TUC Uڊ:TХZlrDc߈}s^QY'vF0!qBH|7}!,SR=Z^I)D%]}4-^KoWJ UZ+;5OJ U7|6S$-'_l PKF PKBgolang.org/x/exp@v0.0.0-20240506185415-9bf2ced13842/trace/value.go|Tn<Xp)%EHu/vQ跦8J* Vy-`Iұ)[%I#eHVvq'J8P#.6'&7A^Nϳa2U 8p1Բ>lKHJ0zg *)r,{>P"t"^|Vd5 _>ޏ]'Oqq1"(w[odq^"tn/8c* lwx(9˦۫Uojp^T9*2gOPKiQ[QPKHgolang.org/x/exp@v0.0.0-20240506185415-9bf2ced13842/utf8string/string.goX_۸>/[\_sR,dl<Fw)R%U\{1Cߞw{h`-KӜBcͽ,ЁЀe)sC'N H];`[`В^Mk,i݂c=,F }̌=nlK-$Z%%Zk[&e%w. 6pPܷ6gp67N/A80Mc5Bk:XBvƒtpzB64hFJ(_X6ԖyrR#BDi^  ۴'B}UHz~&vU( 2N'UN,q%@.o^^]UyVT+H݋S>Ǖp GHB$GWEq,!!0& -(Y~jd "W.l3]x8Rm]sYJ,L,@P˄3{F YbM1#ݠ*y^2ZpʉKj$'%efQR".I+1.Y,%HFN֍ R9Ɵ{̍FrD'&<8m{!0b>YLB95 3A i1: gh b =!U3su[ВCδ1F(U-bjA\lCQ(4 .x~*v`:EP!sUtRƞYL)eEG/Bcsorw\H`%pK1fcXAR7R\#~)hHy2 '|PCsK[Fz; /;}!k޾⤺e08϶_/e<\Ef&C( h 6ݨE6IL0$?|-%'kvK9xJHL6kg밂nS5"3'ADQ{GyyD6w<ۆ],#`9 T}{Ir,W{2O`b*MUB)_YМղ{3Zv9.lӉ'<̽ crݸ^͟N6C؜mO8ia@Ҝ ڙE|O(!Dc(p? WcG{oaBwm(L1kdZO~Ӏ`3~dWR(0L1Գa&7P57}#̻GC4Vz:C?0SpzWtC FӐh M6{H&M|ڃ EqG], f=;Qf3W>;ϓoQ]4 SÀ㲷ح]-c![)K?ȟPKլPKMgolang.org/x/exp@v0.0.0-20240506185415-9bf2ced13842/utf8string/string_test.goOo6x*ȶSf,=3Zl2T HAo"];4$c %r k vM|`Ž+>|E_`vnR& nYC1!Kf)̘kh! CK0<W m3f23̘T`Ȑ\$f|ogEo)X9tĐtKň>KeϟQ3n)*xap1\p[LˆN!U=CwB<a7ܜfK~x_?{]E߼ފ?$omx&U >+lqBT*|B݅b֬O?-iR$fr%E62h T$rLߋ:wu.X E6<,`& dcIsOU{&x 䱽4i?kl/JyV$MK 5&wbKr8`RxE qv(UltU,%ɠ~ SECL>-^_Fdϻ|gM2xQk`~Jy+#nKgm^]8%cO)+T>]d)i=PK7]s PKVx#YBgolang.org/x/exp@v0.0.0-20240506185415-9bf2ced13842/.gitattributesPK"lPT>Ygolang.org/x/exp@v0.0.0-20240506185415-9bf2ced13842/.gitignorePK_Cgolang.org/x/exp@v0.0.0-20240506185415-9bf2ced13842/CONTRIBUTING.mdPKRV;golang.org/x/exp@v0.0.0-20240506185415-9bf2ced13842/LICENSEPKk4~;golang.org/x/exp@v0.0.0-20240506185415-9bf2ced13842/PATENTSPKvp= golang.org/x/exp@v0.0.0-20240506185415-9bf2ced13842/README.mdPKR3 )aE( golang.org/x/exp@v0.0.0-20240506185415-9bf2ced13842/apidiff/README.mdPKx݆ *F-golang.org/x/exp@v0.0.0-20240506185415-9bf2ced13842/apidiff/apidiff.goPK y t!K;golang.org/x/exp@v0.0.0-20240506185415-9bf2ced13842/apidiff/apidiff_test.goPKJm?%0LGgolang.org/x/exp@v0.0.0-20240506185415-9bf2ced13842/apidiff/compatibility.goPK/] $M`Vgolang.org/x/exp@v0.0.0-20240506185415-9bf2ced13842/apidiff/correspondence.goPKeG^Ķh Ibgolang.org/x/exp@v0.0.0-20240506185415-9bf2ced13842/apidiff/messageset.goPK6xEigolang.org/x/exp@v0.0.0-20240506185415-9bf2ced13842/apidiff/report.goPK#Nkgolang.org/x/exp@v0.0.0-20240506185415-9bf2ced13842/apidiff/testdata/README.mdPKmhxOmgolang.org/x/exp@v0.0.0-20240506185415-9bf2ced13842/apidiff/testdata/aliases.goPK}ڥnNOngolang.org/x/exp@v0.0.0-20240506185415-9bf2ced13842/apidiff/testdata/basics.goPKNzFQ9qgolang.org/x/exp@v0.0.0-20240506185415-9bf2ced13842/apidiff/testdata/constants.goPK Zrgolang.org/x/exp@v0.0.0-20240506185415-9bf2ced13842/apidiff/testdata/exported_fields/ef.goPK@4GQdtgolang.org/x/exp@v0.0.0-20240506185415-9bf2ced13842/apidiff/testdata/functions.goPKx؝)Pvgolang.org/x/exp@v0.0.0-20240506185415-9bf2ced13842/apidiff/testdata/generics.goPK[okSxgolang.org/x/exp@v0.0.0-20240506185415-9bf2ced13842/apidiff/testdata/method_sets.goPK|'gT{golang.org/x/exp@v0.0.0-20240506185415-9bf2ced13842/apidiff/testdata/multi_levels.goPK+\M}golang.org/x/exp@v0.0.0-20240506185415-9bf2ced13842/apidiff/testdata/order.goPK**Vgolang.org/x/exp@v0.0.0-20240506185415-9bf2ced13842/apidiff/testdata/other_packages.goPKޢqGQgolang.org/x/exp@v0.0.0-20240506185415-9bf2ced13842/apidiff/testdata/splitting.goPK- -Ogolang.org/x/exp@v0.0.0-20240506185415-9bf2ced13842/apidiff/testdata/structs.goPK]`gC9M golang.org/x/exp@v0.0.0-20240506185415-9bf2ced13842/apidiff/testdata/types.goPK_[bQȍgolang.org/x/exp@v0.0.0-20240506185415-9bf2ced13842/apidiff/testdata/variables.goPK9Mgolang.org/x/exp@v0.0.0-20240506185415-9bf2ced13842/apidiff/testdata/whole.goPK49 Gؐgolang.org/x/exp@v0.0.0-20240506185415-9bf2ced13842/cmd/apidiff/main.goPK0 L\golang.org/x/exp@v0.0.0-20240506185415-9bf2ced13842/cmd/apidiff/main_test.goPKǮKgolang.org/x/exp@v0.0.0-20240506185415-9bf2ced13842/cmd/gorelease/errors.goPK9Ngolang.org/x/exp@v0.0.0-20240506185415-9bf2ced13842/cmd/gorelease/gorelease.goPK>wQ6S!golang.org/x/exp@v0.0.0-20240506185415-9bf2ced13842/cmd/gorelease/gorelease_test.goPKವIgolang.org/x/exp@v0.0.0-20240506185415-9bf2ced13842/cmd/gorelease/path.goPKi@N!golang.org/x/exp@v0.0.0-20240506185415-9bf2ced13842/cmd/gorelease/path_test.goPK"ODgolang.org/x/exp@v0.0.0-20240506185415-9bf2ced13842/cmd/gorelease/proxy_test.goPK9Kgolang.org/x/exp@v0.0.0-20240506185415-9bf2ced13842/cmd/gorelease/report.goPKbWmT$golang.org/x/exp@v0.0.0-20240506185415-9bf2ced13842/cmd/gorelease/testdata/README.mdPKGygolang.org/x/exp@v0.0.0-20240506185415-9bf2ced13842/cmd/gorelease/testdata/alreadyexists/alreadyexists_suggest_major.testPKJ>7&ygolang.org/x/exp@v0.0.0-20240506185415-9bf2ced13842/cmd/gorelease/testdata/alreadyexists/alreadyexists_suggest_minor.testPK2<4ygolang.org/x/exp@v0.0.0-20240506185415-9bf2ced13842/cmd/gorelease/testdata/alreadyexists/alreadyexists_suggest_patch.testPKB{hrygolang.org/x/exp@v0.0.0-20240506185415-9bf2ced13842/cmd/gorelease/testdata/alreadyexists/alreadyexists_verify.testPK09[golang.org/x/exp@v0.0.0-20240506185415-9bf2ced13842/cmd/gorelease/testdata/basic/README.txtPK_kgolang.org/x/exp@v0.0.0-20240506185415-9bf2ced13842/cmd/gorelease/testdata/basic/v0_compatible_suggest.testPKHbo golang.org/x/exp@v0.0.0-20240506185415-9bf2ced13842/cmd/gorelease/testdata/basic/v0_compatible_suggest_git.testPK̥n"golang.org/x/exp@v0.0.0-20240506185415-9bf2ced13842/cmd/gorelease/testdata/basic/v0_compatible_suggest_hg.testPKD#jB#golang.org/x/exp@v0.0.0-20240506185415-9bf2ced13842/cmd/gorelease/testdata/basic/v0_compatible_verify.testPK Ym$golang.org/x/exp@v0.0.0-20240506185415-9bf2ced13842/cmd/gorelease/testdata/basic/v0_incompatible_suggest.testPK*x+l%golang.org/x/exp@v0.0.0-20240506185415-9bf2ced13842/cmd/gorelease/testdata/basic/v0_incompatible_verify.testPK.[^g&golang.org/x/exp@v0.0.0-20240506185415-9bf2ced13842/cmd/gorelease/testdata/basic/v0_nobase_suggest.testPKjff'golang.org/x/exp@v0.0.0-20240506185415-9bf2ced13842/cmd/gorelease/testdata/basic/v0_patch_suggest.testPKa|e(golang.org/x/exp@v0.0.0-20240506185415-9bf2ced13842/cmd/gorelease/testdata/basic/v0_patch_verify.testPKga+ d)golang.org/x/exp@v0.0.0-20240506185415-9bf2ced13842/cmd/gorelease/testdata/basic/v0_pre_suggest.testPK+F՜o+golang.org/x/exp@v0.0.0-20240506185415-9bf2ced13842/cmd/gorelease/testdata/basic/v0_v1_incompatible_verify.testPKcriM,golang.org/x/exp@v0.0.0-20240506185415-9bf2ced13842/cmd/gorelease/testdata/basic/v1_autobase_suggest.testPKCxhG-golang.org/x/exp@v0.0.0-20240506185415-9bf2ced13842/cmd/gorelease/testdata/basic/v1_autobase_verify.testPKJkU.golang.org/x/exp@v0.0.0-20240506185415-9bf2ced13842/cmd/gorelease/testdata/basic/v1_compatible_suggest.testPK#]M#j/golang.org/x/exp@v0.0.0-20240506185415-9bf2ced13842/cmd/gorelease/testdata/basic/v1_compatible_verify.testPKXy0golang.org/x/exp@v0.0.0-20240506185415-9bf2ced13842/cmd/gorelease/testdata/basic/v1_fork_base_modpath_version_verify.testPK }i1golang.org/x/exp@v0.0.0-20240506185415-9bf2ced13842/cmd/gorelease/testdata/basic/v1_fork_base_verify.testPKn딢m83golang.org/x/exp@v0.0.0-20240506185415-9bf2ced13842/cmd/gorelease/testdata/basic/v1_incompatible_suggest.testPK۬]lu4golang.org/x/exp@v0.0.0-20240506185415-9bf2ced13842/cmd/gorelease/testdata/basic/v1_incompatible_verify.testPKff5golang.org/x/exp@v0.0.0-20240506185415-9bf2ced13842/cmd/gorelease/testdata/basic/v1_patch_suggest.testPK{e6golang.org/x/exp@v0.0.0-20240506185415-9bf2ced13842/cmd/gorelease/testdata/basic/v1_patch_verify.testPK▖ d7golang.org/x/exp@v0.0.0-20240506185415-9bf2ced13842/cmd/gorelease/testdata/basic/v1_pre_suggest.testPKuuqi8golang.org/x/exp@v0.0.0-20240506185415-9bf2ced13842/cmd/gorelease/testdata/basic/v1_querybase_higher.testPK )|j:golang.org/x/exp@v0.0.0-20240506185415-9bf2ced13842/cmd/gorelease/testdata/basic/v1_querybase_suggest.testPK׍i;golang.org/x/exp@v0.0.0-20240506185415-9bf2ced13842/cmd/gorelease/testdata/basic/v1_querybase_verify.testPKOtu-<golang.org/x/exp@v0.0.0-20240506185415-9bf2ced13842/cmd/gorelease/testdata/basic/v1_v2_base_modpath_query_verify.testPK!&mUp=golang.org/x/exp@v0.0.0-20240506185415-9bf2ced13842/cmd/gorelease/testdata/basic/v1_v2_base_modpath_suggest.testPKW*do>golang.org/x/exp@v0.0.0-20240506185415-9bf2ced13842/cmd/gorelease/testdata/basic/v1_v2_base_modpath_verify.testPK/@wE@golang.org/x/exp@v0.0.0-20240506185415-9bf2ced13842/cmd/gorelease/testdata/basic/v1_v2_base_modpath_version_verify.testPKfwpAgolang.org/x/exp@v0.0.0-20240506185415-9bf2ced13842/cmd/gorelease/testdata/basic/v1_v2_base_version_suggest.testPKDjnoBgolang.org/x/exp@v0.0.0-20240506185415-9bf2ced13842/cmd/gorelease/testdata/basic/v1_v2_base_version_verify.testPKE:\oCgolang.org/x/exp@v0.0.0-20240506185415-9bf2ced13842/cmd/gorelease/testdata/basic/v1_v2_incompatible_verify.testPKakDEgolang.org/x/exp@v0.0.0-20240506185415-9bf2ced13842/cmd/gorelease/testdata/basic/v2_compatible_suggest.testPK/jqFgolang.org/x/exp@v0.0.0-20240506185415-9bf2ced13842/cmd/gorelease/testdata/basic/v2_compatible_verify.testPKmGgolang.org/x/exp@v0.0.0-20240506185415-9bf2ced13842/cmd/gorelease/testdata/basic/v2_incompatible_suggest.testPKCbeilHgolang.org/x/exp@v0.0.0-20240506185415-9bf2ced13842/cmd/gorelease/testdata/basic/v2_incompatible_verify.testPK&_agGJgolang.org/x/exp@v0.0.0-20240506185415-9bf2ced13842/cmd/gorelease/testdata/basic/v2_nobase_suggest.testPKif;Kgolang.org/x/exp@v0.0.0-20240506185415-9bf2ced13842/cmd/gorelease/testdata/basic/v2_patch_suggest.testPKv>Me8Lgolang.org/x/exp@v0.0.0-20240506185415-9bf2ced13842/cmd/gorelease/testdata/basic/v2_patch_verify.testPK`g\dJMgolang.org/x/exp@v0.0.0-20240506185415-9bf2ced13842/cmd/gorelease/testdata/basic/v2_pre_suggest.testPK^witNgolang.org/x/exp@v0.0.0-20240506185415-9bf2ced13842/cmd/gorelease/testdata/basic/v3_autobase_suggest.testPKGnOgolang.org/x/exp@v0.0.0-20240506185415-9bf2ced13842/cmd/gorelease/testdata/basic/v3_autobase_verify_error.testPKܧnPgolang.org/x/exp@v0.0.0-20240506185415-9bf2ced13842/cmd/gorelease/testdata/basic/v3_autobase_verify_first.testPK@xYQgolang.org/x/exp@v0.0.0-20240506185415-9bf2ced13842/cmd/gorelease/testdata/cgo/README.txtPKxWjSgolang.org/x/exp@v0.0.0-20240506185415-9bf2ced13842/cmd/gorelease/testdata/cgo/cgo.testPK(e085ZTgolang.org/x/exp@v0.0.0-20240506185415-9bf2ced13842/cmd/gorelease/testdata/cycle/README.mdPK\CduccUgolang.org/x/exp@v0.0.0-20240506185415-9bf2ced13842/cmd/gorelease/testdata/cycle/cycle_suggest.testPKBeWiXVgolang.org/x/exp@v0.0.0-20240506185415-9bf2ced13842/cmd/gorelease/testdata/cycle/cycle_suggest_error.testPK H'bWgolang.org/x/exp@v0.0.0-20240506185415-9bf2ced13842/cmd/gorelease/testdata/cycle/cycle_verify.testPKwT\[Xgolang.org/x/exp@v0.0.0-20240506185415-9bf2ced13842/cmd/gorelease/testdata/empty/README.txtPK!|[Ygolang.org/x/exp@v0.0.0-20240506185415-9bf2ced13842/cmd/gorelease/testdata/empty/empty.testPKanPZ\Zgolang.org/x/exp@v0.0.0-20240506185415-9bf2ced13842/cmd/gorelease/testdata/errors/README.txtPK @Ud|[golang.org/x/exp@v0.0.0-20240506185415-9bf2ced13842/cmd/gorelease/testdata/errors/bad_filenames.testPK_DOb\golang.org/x/exp@v0.0.0-20240506185415-9bf2ced13842/cmd/gorelease/testdata/errors/bad_release.testPKdb,^golang.org/x/exp@v0.0.0-20240506185415-9bf2ced13842/cmd/gorelease/testdata/errors/base_higher.testPKUslhf_golang.org/x/exp@v0.0.0-20240506185415-9bf2ced13842/cmd/gorelease/testdata/errors/base_modpath_none.testPK7C]`golang.org/x/exp@v0.0.0-20240506185415-9bf2ced13842/cmd/gorelease/testdata/errors/errors.testPKPƛhsbgolang.org/x/exp@v0.0.0-20240506185415-9bf2ced13842/cmd/gorelease/testdata/errors/same_base_release.testPK߃ccgolang.org/x/exp@v0.0.0-20240506185415-9bf2ced13842/cmd/gorelease/testdata/errors/upgrade_base.testPK"LlIL[dgolang.org/x/exp@v0.0.0-20240506185415-9bf2ced13842/cmd/gorelease/testdata/first/README.txtPKki@\egolang.org/x/exp@v0.0.0-20240506185415-9bf2ced13842/cmd/gorelease/testdata/first/v0_0_0.testPK=g\fgolang.org/x/exp@v0.0.0-20240506185415-9bf2ced13842/cmd/gorelease/testdata/first/v0_0_1.testPKedggolang.org/x/exp@v0.0.0-20240506185415-9bf2ced13842/cmd/gorelease/testdata/first/v0_1_0-alpha.1.testPKX:\hgolang.org/x/exp@v0.0.0-20240506185415-9bf2ced13842/cmd/gorelease/testdata/first/v0_1_0.testPK \igolang.org/x/exp@v0.0.0-20240506185415-9bf2ced13842/cmd/gorelease/testdata/first/v0_err.testPK0Σ\}kgolang.org/x/exp@v0.0.0-20240506185415-9bf2ced13842/cmd/gorelease/testdata/first/v1_0_0.testPK>肓olgolang.org/x/exp@v0.0.0-20240506185415-9bf2ced13842/cmd/gorelease/testdata/first/v1_2_3_explicit_none_base.testPKbp\mgolang.org/x/exp@v0.0.0-20240506185415-9bf2ced13842/cmd/gorelease/testdata/first/v2_err.testPKT~$C_[ogolang.org/x/exp@v0.0.0-20240506185415-9bf2ced13842/cmd/gorelease/testdata/first/v2_moderr.testPKbdWYpgolang.org/x/exp@v0.0.0-20240506185415-9bf2ced13842/cmd/gorelease/testdata/fix/README.txtPKHLylrgolang.org/x/exp@v0.0.0-20240506185415-9bf2ced13842/cmd/gorelease/testdata/fix/compatible_other_suggest.testPKѬ^ksgolang.org/x/exp@v0.0.0-20240506185415-9bf2ced13842/cmd/gorelease/testdata/fix/compatible_other_verify.testPK@voMugolang.org/x/exp@v0.0.0-20240506185415-9bf2ced13842/cmd/gorelease/testdata/fix/compatible_other_verify_err.testPKkw_kwgolang.org/x/exp@v0.0.0-20240506185415-9bf2ced13842/cmd/gorelease/testdata/fix/compatible_same_suggest.testPK7n%jxgolang.org/x/exp@v0.0.0-20240506185415-9bf2ced13842/cmd/gorelease/testdata/fix/compatible_same_verify.testPK(/nHzgolang.org/x/exp@v0.0.0-20240506185415-9bf2ced13842/cmd/gorelease/testdata/fix/incompatible_other_suggest.testPKkm{golang.org/x/exp@v0.0.0-20240506185415-9bf2ced13842/cmd/gorelease/testdata/fix/incompatible_other_verify.testPKTlmt}golang.org/x/exp@v0.0.0-20240506185415-9bf2ced13842/cmd/gorelease/testdata/fix/incompatible_same_suggest.testPK .$l~golang.org/x/exp@v0.0.0-20240506185415-9bf2ced13842/cmd/gorelease/testdata/fix/incompatible_same_verify.testPK2agolang.org/x/exp@v0.0.0-20240506185415-9bf2ced13842/cmd/gorelease/testdata/fix/patch_suggest.testPK0{`golang.org/x/exp@v0.0.0-20240506185415-9bf2ced13842/cmd/gorelease/testdata/fix/patch_verify.testPKS6fgolang.org/x/exp@v0.0.0-20240506185415-9bf2ced13842/cmd/gorelease/testdata/generics/changed_param.testPK5=4g"golang.org/x/exp@v0.0.0-20240506185415-9bf2ced13842/cmd/gorelease/testdata/generics/changed_return.testPKc,Ubgolang.org/x/exp@v0.0.0-20240506185415-9bf2ced13842/cmd/gorelease/testdata/generics/unchanged.testPK-Ihdgolang.org/x/exp@v0.0.0-20240506185415-9bf2ced13842/cmd/gorelease/testdata/internalcompat/README.txtPK\nmgolang.org/x/exp@v0.0.0-20240506185415-9bf2ced13842/cmd/gorelease/testdata/internalcompat/internalcompat.testPK1Z:golang.org/x/exp@v0.0.0-20240506185415-9bf2ced13842/cmd/gorelease/testdata/main/README.txtPK~ř XPgolang.org/x/exp@v0.0.0-20240506185415-9bf2ced13842/cmd/gorelease/testdata/main/add.testPK{[|golang.org/x/exp@v0.0.0-20240506185415-9bf2ced13842/cmd/gorelease/testdata/main/change.testPK۴N[golang.org/x/exp@v0.0.0-20240506185415-9bf2ced13842/cmd/gorelease/testdata/main/remove.testPK,^akgolang.org/x/exp@v0.0.0-20240506185415-9bf2ced13842/cmd/gorelease/testdata/mod/example.com_basic_v0.0.1.txtPKBN@ukgolang.org/x/exp@v0.0.0-20240506185415-9bf2ced13842/cmd/gorelease/testdata/mod/example.com_basic_v0.1.0.txtPK1-togolang.org/x/exp@v0.0.0-20240506185415-9bf2ced13842/cmd/gorelease/testdata/mod/example.com_basic_v0.1.1-pre.txtPK1-tkgolang.org/x/exp@v0.0.0-20240506185415-9bf2ced13842/cmd/gorelease/testdata/mod/example.com_basic_v0.1.1.txtPKr;]akȔgolang.org/x/exp@v0.0.0-20240506185415-9bf2ced13842/cmd/gorelease/testdata/mod/example.com_basic_v0.1.2.txtPK,^akgolang.org/x/exp@v0.0.0-20240506185415-9bf2ced13842/cmd/gorelease/testdata/mod/example.com_basic_v1.0.1.txtPKBN@ukgolang.org/x/exp@v0.0.0-20240506185415-9bf2ced13842/cmd/gorelease/testdata/mod/example.com_basic_v1.1.0.txtPK1-to×golang.org/x/exp@v0.0.0-20240506185415-9bf2ced13842/cmd/gorelease/testdata/mod/example.com_basic_v1.1.1-pre.txtPK1-tkԘgolang.org/x/exp@v0.0.0-20240506185415-9bf2ced13842/cmd/gorelease/testdata/mod/example.com_basic_v1.1.1.txtPKr;]akgolang.org/x/exp@v0.0.0-20240506185415-9bf2ced13842/cmd/gorelease/testdata/mod/example.com_basic_v1.1.2.txtPKqDadnךgolang.org/x/exp@v0.0.0-20240506185415-9bf2ced13842/cmd/gorelease/testdata/mod/example.com_basic_v2_v2.0.1.txtPK>bwnԛgolang.org/x/exp@v0.0.0-20240506185415-9bf2ced13842/cmd/gorelease/testdata/mod/example.com_basic_v2_v2.1.0.txtPKMӣxvrgolang.org/x/exp@v0.0.0-20240506185415-9bf2ced13842/cmd/gorelease/testdata/mod/example.com_basic_v2_v2.1.1-pre.txtPKMӣxvngolang.org/x/exp@v0.0.0-20240506185415-9bf2ced13842/cmd/gorelease/testdata/mod/example.com_basic_v2_v2.1.1.txtPK-`dngolang.org/x/exp@v0.0.0-20240506185415-9bf2ced13842/cmd/gorelease/testdata/mod/example.com_basic_v2_v2.1.2.txtPKN$[Zu golang.org/x/exp@v0.0.0-20240506185415-9bf2ced13842/cmd/gorelease/testdata/mod/example.com_basic_v3_v3.0.0-ignore.txtPK1'!r golang.org/x/exp@v0.0.0-20240506185415-9bf2ced13842/cmd/gorelease/testdata/mod/example.com_basic_version-1.0.1.txtPKUwoСgolang.org/x/exp@v0.0.0-20240506185415-9bf2ced13842/cmd/gorelease/testdata/mod/example.com_basicfork_v1.1.2.txtPK{J)kgolang.org/x/exp@v0.0.0-20240506185415-9bf2ced13842/cmd/gorelease/testdata/mod/example.com_cycle_v1.0.0.txtPKMCCkgolang.org/x/exp@v0.0.0-20240506185415-9bf2ced13842/cmd/gorelease/testdata/mod/example.com_cycle_v1.5.0.txtPKӢrngolang.org/x/exp@v0.0.0-20240506185415-9bf2ced13842/cmd/gorelease/testdata/mod/example.com_cycle_v2_v2.0.0.txtPKڬcngolang.org/x/exp@v0.0.0-20240506185415-9bf2ced13842/cmd/gorelease/testdata/mod/example.com_cycledep_v1.0.0.txtPK2mqgolang.org/x/exp@v0.0.0-20240506185415-9bf2ced13842/cmd/gorelease/testdata/mod/example.com_cycledep_v2_v2.0.0.txtPK".5/kgolang.org/x/exp@v0.0.0-20240506185415-9bf2ced13842/cmd/gorelease/testdata/mod/example.com_empty_v0.0.1.txtPK".5/kgolang.org/x/exp@v0.0.0-20240506185415-9bf2ced13842/cmd/gorelease/testdata/mod/example.com_empty_v0.0.2.txtPKK@Flgolang.org/x/exp@v0.0.0-20240506185415-9bf2ced13842/cmd/gorelease/testdata/mod/example.com_errors_v0.1.0.txtPK{lK|lgolang.org/x/exp@v0.0.0-20240506185415-9bf2ced13842/cmd/gorelease/testdata/mod/example.com_errors_v0.2.0.txtPKޞi,golang.org/x/exp@v0.0.0-20240506185415-9bf2ced13842/cmd/gorelease/testdata/mod/example.com_fix_v1.0.0.txtPK=>oOgolang.org/x/exp@v0.0.0-20240506185415-9bf2ced13842/cmd/gorelease/testdata/mod/example.com_fix_v1.0.1-patch.txtPKoKzkgolang.org/x/exp@v0.0.0-20240506185415-9bf2ced13842/cmd/gorelease/testdata/mod/example.com_fix_v1.1.0-compatible-other.txtPKRygolang.org/x/exp@v0.0.0-20240506185415-9bf2ced13842/cmd/gorelease/testdata/mod/example.com_fix_v1.1.0-compatible-same.txtPKz|ʲgolang.org/x/exp@v0.0.0-20240506185415-9bf2ced13842/cmd/gorelease/testdata/mod/example.com_fix_v1.1.0-incompatible-other.txtPK-{golang.org/x/exp@v0.0.0-20240506185415-9bf2ced13842/cmd/gorelease/testdata/mod/example.com_fix_v1.1.0-incompatible-same.txtPK!nvn4golang.org/x/exp@v0.0.0-20240506185415-9bf2ced13842/cmd/gorelease/testdata/mod/example.com_generics_v0.0.1.txtPK)zv>golang.org/x/exp@v0.0.0-20240506185415-9bf2ced13842/cmd/gorelease/testdata/mod/example.com_internalcompat_a_v1.0.0.txtPK {v\golang.org/x/exp@v0.0.0-20240506185415-9bf2ced13842/cmd/gorelease/testdata/mod/example.com_internalcompat_b_v1.0.0.txtPK#p{golang.org/x/exp@v0.0.0-20240506185415-9bf2ced13842/cmd/gorelease/testdata/mod/example.com_issue37756_v1.0.0.txtPKMpgolang.org/x/exp@v0.0.0-20240506185415-9bf2ced13842/cmd/gorelease/testdata/mod/example.com_issue37756_v1.1.0.txtPK>SXjgolang.org/x/exp@v0.0.0-20240506185415-9bf2ced13842/cmd/gorelease/testdata/mod/example.com_main_v0.0.1.txtPK_SM_kgolang.org/x/exp@v0.0.0-20240506185415-9bf2ced13842/cmd/gorelease/testdata/mod/example.com_nomod_v0.0.1.txtPK EFkügolang.org/x/exp@v0.0.0-20240506185415-9bf2ced13842/cmd/gorelease/testdata/mod/example.com_nomod_v0.0.2.txtPK<:4golang.org/x/exp@v0.0.0-20240506185415-9bf2ced13842/cmd/gorelease/testdata/mod/example.com_prerelease_v0.0.0-20300101000000-000000000000.txtPK/Pmgolang.org/x/exp@v0.0.0-20240506185415-9bf2ced13842/cmd/gorelease/testdata/mod/example.com_private_v1.0.0.txtPKxwmgolang.org/x/exp@v0.0.0-20240506185415-9bf2ced13842/cmd/gorelease/testdata/mod/example.com_private_v1.0.1.txtPKf5sgolang.org/x/exp@v0.0.0-20240506185415-9bf2ced13842/cmd/gorelease/testdata/mod/example.com_private_v1.0.2-break.txtPKa0IRmgolang.org/x/exp@v0.0.0-20240506185415-9bf2ced13842/cmd/gorelease/testdata/mod/example.com_require_v0.0.1.txtPKLmgolang.org/x/exp@v0.0.0-20240506185415-9bf2ced13842/cmd/gorelease/testdata/mod/example.com_require_v0.1.0.txtPK3Lmgolang.org/x/exp@v0.0.0-20240506185415-9bf2ced13842/cmd/gorelease/testdata/mod/example.com_require_v0.1.1.txtPKF@mgolang.org/x/exp@v0.0.0-20240506185415-9bf2ced13842/cmd/gorelease/testdata/mod/example.com_retract_v0.0.1.txtPK-TWp golang.org/x/exp@v0.0.0-20240506185415-9bf2ced13842/cmd/gorelease/testdata/mod/example.com_retractdep_v1.0.0.txtPK &pgolang.org/x/exp@v0.0.0-20240506185415-9bf2ced13842/cmd/gorelease/testdata/mod/example.com_retractdep_v1.0.1.txtPKrUs&golang.org/x/exp@v0.0.0-20240506185415-9bf2ced13842/cmd/gorelease/testdata/mod/example.com_retractdep_v2_v2.0.0.txtPKQ՝`jsgolang.org/x/exp@v0.0.0-20240506185415-9bf2ced13842/cmd/gorelease/testdata/mod/example.com_retractdep_v2_v2.0.1.txtPKp Usgolang.org/x/exp@v0.0.0-20240506185415-9bf2ced13842/cmd/gorelease/testdata/mod/example.com_retractdep_v3_v3.0.0.txtPKn9}ws/golang.org/x/exp@v0.0.0-20240506185415-9bf2ced13842/cmd/gorelease/testdata/mod/example.com_retractdep_v3_v3.0.1.txtPK`=0wMgolang.org/x/exp@v0.0.0-20240506185415-9bf2ced13842/cmd/gorelease/testdata/mod/example.com_retracttransitive_v0.0.1.txtPK>SIMn"golang.org/x/exp@v0.0.0-20240506185415-9bf2ced13842/cmd/gorelease/testdata/mod/example.com_sub_nest_v1.0.0.txtPKg:CKPqgolang.org/x/exp@v0.0.0-20240506185415-9bf2ced13842/cmd/gorelease/testdata/mod/example.com_sub_nest_v2_v2.0.0.txtPKuHIlgolang.org/x/exp@v0.0.0-20240506185415-9bf2ced13842/cmd/gorelease/testdata/mod/example.com_sub_v2_v2.0.0.txtPKPhclgolang.org/x/exp@v0.0.0-20240506185415-9bf2ced13842/cmd/gorelease/testdata/mod/example.com_tidy_a_v0.1.0.txtPKbGElgolang.org/x/exp@v0.0.0-20240506185415-9bf2ced13842/cmd/gorelease/testdata/mod/example.com_tidy_b_v0.1.0.txtPKtNAURlgolang.org/x/exp@v0.0.0-20240506185415-9bf2ced13842/cmd/gorelease/testdata/mod/example.com_tidy_b_v0.2.0.txtPKǭFIjgolang.org/x/exp@v0.0.0-20240506185415-9bf2ced13842/cmd/gorelease/testdata/mod/example.com_tidy_v0.0.1.txtPKd+ OU[~golang.org/x/exp@v0.0.0-20240506185415-9bf2ced13842/cmd/gorelease/testdata/nomod/README.txtPKȜZ{[Vgolang.org/x/exp@v0.0.0-20240506185415-9bf2ced13842/cmd/gorelease/testdata/nomod/nomod.testPK1~;<`Zgolang.org/x/exp@v0.0.0-20240506185415-9bf2ced13842/cmd/gorelease/testdata/patherrors/README.txtPK9b#golang.org/x/exp@v0.0.0-20240506185415-9bf2ced13842/cmd/gorelease/testdata/patherrors/abspath.testPKcFgolang.org/x/exp@v0.0.0-20240506185415-9bf2ced13842/cmd/gorelease/testdata/patherrors/badmajor.testPK-&khgolang.org/x/exp@v0.0.0-20240506185415-9bf2ced13842/cmd/gorelease/testdata/patherrors/dup_roots_branch.testPKҬ" )hgolang.org/x/exp@v0.0.0-20240506185415-9bf2ced13842/cmd/gorelease/testdata/patherrors/dup_roots_dir.testPKQggolang.org/x/exp@v0.0.0-20240506185415-9bf2ced13842/cmd/gorelease/testdata/patherrors/dup_roots_ok.testPK{eegolang.org/x/exp@v0.0.0-20240506185415-9bf2ced13842/cmd/gorelease/testdata/patherrors/gopkginsub.testPK #bgolang.org/x/exp@v0.0.0-20240506185415-9bf2ced13842/cmd/gorelease/testdata/patherrors/pathsub.testPK­3dgolang.org/x/exp@v0.0.0-20240506185415-9bf2ced13842/cmd/gorelease/testdata/patherrors/pathsubv2.testPKqWT:7`-golang.org/x/exp@v0.0.0-20240506185415-9bf2ced13842/cmd/gorelease/testdata/prerelease/README.txtPKRggolang.org/x/exp@v0.0.0-20240506185415-9bf2ced13842/cmd/gorelease/testdata/prerelease/prerelease_2.testPKggolang.org/x/exp@v0.0.0-20240506185415-9bf2ced13842/cmd/gorelease/testdata/prerelease/prerelease_3.testPK%=MkJgolang.org/x/exp@v0.0.0-20240506185415-9bf2ced13842/cmd/gorelease/testdata/prerelease/prerelease_beta2.testPKLYtsgolang.org/x/exp@v0.0.0-20240506185415-9bf2ced13842/cmd/gorelease/testdata/prerelease/prerelease_build_metadata.testPKogolang.org/x/exp@v0.0.0-20240506185415-9bf2ced13842/cmd/gorelease/testdata/prerelease/prerelease_wordsonly.testPKbIv]golang.org/x/exp@v0.0.0-20240506185415-9bf2ced13842/cmd/gorelease/testdata/private/README.txtPK]golang.org/x/exp@v0.0.0-20240506185415-9bf2ced13842/cmd/gorelease/testdata/private/break.testPKhbNgolang.org/x/exp@v0.0.0-20240506185415-9bf2ced13842/cmd/gorelease/testdata/private/unreported.testPKH~FI]Fgolang.org/x/exp@v0.0.0-20240506185415-9bf2ced13842/cmd/gorelease/testdata/regress/README.txtPKe bgolang.org/x/exp@v0.0.0-20240506185415-9bf2ced13842/cmd/gorelease/testdata/regress/issue37756.testPKc i]}golang.org/x/exp@v0.0.0-20240506185415-9bf2ced13842/cmd/gorelease/testdata/require/README.txtPK !6jgqgolang.org/x/exp@v0.0.0-20240506185415-9bf2ced13842/cmd/gorelease/testdata/require/add_requirement.testPK plgolang.org/x/exp@v0.0.0-20240506185415-9bf2ced13842/cmd/gorelease/testdata/require/decrement_go_version.testPKTz(sgolang.org/x/exp@v0.0.0-20240506185415-9bf2ced13842/cmd/gorelease/testdata/require/decrement_requirement_minor.testPKћlgolang.org/x/exp@v0.0.0-20240506185415-9bf2ced13842/cmd/gorelease/testdata/require/increment_go_version.testPKnGsgolang.org/x/exp@v0.0.0-20240506185415-9bf2ced13842/cmd/gorelease/testdata/require/increment_requirement_minor.testPK;Ls3golang.org/x/exp@v0.0.0-20240506185415-9bf2ced13842/cmd/gorelease/testdata/require/increment_requirement_patch.testPKXgolang.org/x/exp@v0.0.0-20240506185415-9bf2ced13842/cmd/gorelease/testdata/sub/nest.testPK җ[golang.org/x/exp@v0.0.0-20240506185415-9bf2ced13842/cmd/gorelease/testdata/sub/nest_v2.testPK`_golang.org/x/exp@v0.0.0-20240506185415-9bf2ced13842/cmd/gorelease/testdata/sub/nest_v2_dir.testPKSAZ golang.org/x/exp@v0.0.0-20240506185415-9bf2ced13842/cmd/gorelease/testdata/sub/v2_dir.testPK~[ golang.org/x/exp@v0.0.0-20240506185415-9bf2ced13842/cmd/gorelease/testdata/sub/v2_root.testPK߰Z% golang.org/x/exp@v0.0.0-20240506185415-9bf2ced13842/cmd/gorelease/testdata/tidy/README.txtPK=R^N golang.org/x/exp@v0.0.0-20240506185415-9bf2ced13842/cmd/gorelease/testdata/tidy/empty_sum.testPK}kcgolang.org/x/exp@v0.0.0-20240506185415-9bf2ced13842/cmd/gorelease/testdata/tidy/misleading_req.testPK͞1_ golang.org/x/exp@v0.0.0-20240506185415-9bf2ced13842/cmd/gorelease/testdata/tidy/missing_go.testPK `=Mf+golang.org/x/exp@v0.0.0-20240506185415-9bf2ced13842/cmd/gorelease/testdata/tidy/missing_req_basic.testPKΟggolang.org/x/exp@v0.0.0-20240506185415-9bf2ced13842/cmd/gorelease/testdata/tidy/missing_req_nested.testPK wNVgolang.org/x/exp@v0.0.0-20240506185415-9bf2ced13842/shootout/chameneosredux.goPK3wOO`golang.org/x/exp@v0.0.0-20240506185415-9bf2ced13842/shootout/chameneosredux.txtPK baQCagolang.org/x/exp@v0.0.0-20240506185415-9bf2ced13842/shootout/fannkuch-parallel.goPK mR$jgolang.org/x/exp@v0.0.0-20240506185415-9bf2ced13842/shootout/fannkuch-parallel.txtPKb Gkgolang.org/x/exp@v0.0.0-20240506185415-9bf2ced13842/shootout/fannkuch.cPK5$ Hjrgolang.org/x/exp@v0.0.0-20240506185415-9bf2ced13842/shootout/fannkuch.goPK mIxgolang.org/x/exp@v0.0.0-20240506185415-9bf2ced13842/shootout/fannkuch.txtPKy?&(Kygolang.org/x/exp@v0.0.0-20240506185415-9bf2ced13842/shootout/fasta-1000.txtPKLEw xDIgolang.org/x/exp@v0.0.0-20240506185415-9bf2ced13842/shootout/fasta.cPKZ 7Egolang.org/x/exp@v0.0.0-20240506185415-9bf2ced13842/shootout/fasta.goPKy?&(Fygolang.org/x/exp@v0.0.0-20240506185415-9bf2ced13842/shootout/fasta.txtPKvlUgolang.org/x/exp@v0.0.0-20240506185415-9bf2ced13842/shootout/k-nucleotide-parallel.goPKkEVgolang.org/x/exp@v0.0.0-20240506185415-9bf2ced13842/shootout/k-nucleotide-parallel.txtPKqyKgolang.org/x/exp@v0.0.0-20240506185415-9bf2ced13842/shootout/k-nucleotide.cPKO|5Lgolang.org/x/exp@v0.0.0-20240506185415-9bf2ced13842/shootout/k-nucleotide.goPKkEM.golang.org/x/exp@v0.0.0-20240506185415-9bf2ced13842/shootout/k-nucleotide.txtPKt s I0golang.org/x/exp@v0.0.0-20240506185415-9bf2ced13842/shootout/mandelbrot.cPK(f[u Jgolang.org/x/exp@v0.0.0-20240506185415-9bf2ced13842/shootout/mandelbrot.goPK^Kgolang.org/x/exp@v0.0.0-20240506185415-9bf2ced13842/shootout/mandelbrot.txtPKfMNMUgolang.org/x/exp@v0.0.0-20240506185415-9bf2ced13842/shootout/meteor-contest.cPKk&=FNgolang.org/x/exp@v0.0.0-20240506185415-9bf2ced13842/shootout/meteor-contest.goPK@,{O}golang.org/x/exp@v0.0.0-20240506185415-9bf2ced13842/shootout/meteor-contest.txtPKm66YDugolang.org/x/exp@v0.0.0-20240506185415-9bf2ced13842/shootout/nbody.cPK1=E@ golang.org/x/exp@v0.0.0-20240506185415-9bf2ced13842/shootout/nbody.goPK^oFgolang.org/x/exp@v0.0.0-20240506185415-9bf2ced13842/shootout/nbody.txtPKP^ GAgolang.org/x/exp@v0.0.0-20240506185415-9bf2ced13842/shootout/pidigits.cPK/so3 Hgolang.org/x/exp@v0.0.0-20240506185415-9bf2ced13842/shootout/pidigits.goPK-=--I#golang.org/x/exp@v0.0.0-20240506185415-9bf2ced13842/shootout/pidigits.txtPKI\eF R>$golang.org/x/exp@v0.0.0-20240506185415-9bf2ced13842/shootout/regex-dna-parallel.goPKG|pS#+golang.org/x/exp@v0.0.0-20240506185415-9bf2ced13842/shootout/regex-dna-parallel.txtPKh (RH,golang.org/x/exp@v0.0.0-20240506185415-9bf2ced13842/shootout/regex-dna.cPK% I4golang.org/x/exp@v0.0.0-20240506185415-9bf2ced13842/shootout/regex-dna.goPKG|pJ ;golang.org/x/exp@v0.0.0-20240506185415-9bf2ced13842/shootout/regex-dna.txtPK8WtQ;golang.org/x/exp@v0.0.0-20240506185415-9bf2ced13842/shootout/reverse-complement.cPK.^V/ RDgolang.org/x/exp@v0.0.0-20240506185415-9bf2ced13842/shootout/reverse-complement.goPK=" (SJgolang.org/x/exp@v0.0.0-20240506185415-9bf2ced13842/shootout/reverse-complement.txtPKAg VYgolang.org/x/exp@v0.0.0-20240506185415-9bf2ced13842/shootout/spectral-norm-parallel.goPKo^ L_golang.org/x/exp@v0.0.0-20240506185415-9bf2ced13842/shootout/spectral-norm.cPK$Q Mdgolang.org/x/exp@v0.0.0-20240506185415-9bf2ced13842/shootout/spectral-norm.goPKB N#jgolang.org/x/exp@v0.0.0-20240506185415-9bf2ced13842/shootout/spectral-norm.txtPKuf Ijgolang.org/x/exp@v0.0.0-20240506185415-9bf2ced13842/shootout/threadring.cPKJ>qgolang.org/x/exp@v0.0.0-20240506185415-9bf2ced13842/shootout/threadring.goPK; Klvgolang.org/x/exp@v0.0.0-20240506185415-9bf2ced13842/shootout/threadring.txtPKaU'Gvgolang.org/x/exp@v0.0.0-20240506185415-9bf2ced13842/shootout/timing.logPKV 6Fgolang.org/x/exp@v0.0.0-20240506185415-9bf2ced13842/shootout/timing.shPK4Agolang.org/x/exp@v0.0.0-20240506185415-9bf2ced13842/slices/cmp.goPK>΄*7D&golang.org/x/exp@v0.0.0-20240506185415-9bf2ced13842/slices/slices.goPKƷNgolang.org/x/exp@v0.0.0-20240506185415-9bf2ced13842/slices/slices_race_test.goPKPyfIMgolang.org/x/exp@v0.0.0-20240506185415-9bf2ced13842/slices/slices_test.goPKo(gqB=golang.org/x/exp@v0.0.0-20240506185415-9bf2ced13842/slices/sort.goPK#Qgolang.org/x/exp@v0.0.0-20240506185415-9bf2ced13842/slices/sort_benchmark_test.goPK@Ew 'G&golang.org/x/exp@v0.0.0-20240506185415-9bf2ced13842/slices/sort_test.goPKnJV 3Jgolang.org/x/exp@v0.0.0-20240506185415-9bf2ced13842/slices/zsortanyfunc.goPK?5T2Jgolang.org/x/exp@v0.0.0-20240506185415-9bf2ced13842/slices/zsortordered.goPKH{* @ golang.org/x/exp@v0.0.0-20240506185415-9bf2ced13842/slog/attr.goPK#NEEgolang.org/x/exp@v0.0.0-20240506185415-9bf2ced13842/slog/attr_test.goPKx L7golang.org/x/exp@v0.0.0-20240506185415-9bf2ced13842/slog/benchmarks/MakefilePKJ aQ)golang.org/x/exp@v0.0.0-20240506185415-9bf2ced13842/slog/benchmarks/benchmarks.goPK'b8V golang.org/x/exp@v0.0.0-20240506185415-9bf2ced13842/slog/benchmarks/benchmarks_test.goPKnOHgolang.org/x/exp@v0.0.0-20240506185415-9bf2ced13842/slog/benchmarks/handlers.goPK]Te%golang.org/x/exp@v0.0.0-20240506185415-9bf2ced13842/slog/benchmarks/handlers_test.goPKJ {SS'golang.org/x/exp@v0.0.0-20240506185415-9bf2ced13842/slog/benchmarks/slog-nopc.benchPKҡRV\SN0golang.org/x/exp@v0.0.0-20240506185415-9bf2ced13842/slog/benchmarks/slog.benchPK\רS/?9golang.org/x/exp@v0.0.0-20240506185415-9bf2ced13842/slog/doc.goPKe VLgolang.org/x/exp@v0.0.0-20240506185415-9bf2ced13842/slog/example_custom_levels_test.goPKV%Rgolang.org/x/exp@v0.0.0-20240506185415-9bf2ced13842/slog/example_level_handler_test.goPK-lFXmVgolang.org/x/exp@v0.0.0-20240506185415-9bf2ced13842/slog/example_logvaluer_group_test.goPKk#YXgolang.org/x/exp@v0.0.0-20240506185415-9bf2ced13842/slog/example_logvaluer_secret_test.goPKHu[golang.org/x/exp@v0.0.0-20240506185415-9bf2ced13842/slog/example_test.goPK+O֫gM]golang.org/x/exp@v0.0.0-20240506185415-9bf2ced13842/slog/example_wrap_test.goPK X11@C?agolang.org/x/exp@v0.0.0-20240506185415-9bf2ced13842/slog/handler.goPKČW6Hwgolang.org/x/exp@v0.0.0-20240506185415-9bf2ced13842/slog/handler_test.goPKgxDRgolang.org/x/exp@v0.0.0-20240506185415-9bf2ced13842/slog/internal/buffer/buffer.goPK"CWˊgolang.org/x/exp@v0.0.0-20240506185415-9bf2ced13842/slog/internal/buffer/buffer_test.goPK7$6Wgolang.org/x/exp@v0.0.0-20240506185415-9bf2ced13842/slog/internal/buffer/norace_test.goPKC0lRMNgolang.org/x/exp@v0.0.0-20240506185415-9bf2ced13842/slog/internal/ignorepc.goPK?)h1Vgolang.org/x/exp@v0.0.0-20240506185415-9bf2ced13842/slog/internal/testutil/testutil.goPK~<  Hgolang.org/x/exp@v0.0.0-20240506185415-9bf2ced13842/slog/json_handler.goPK6Mgolang.org/x/exp@v0.0.0-20240506185415-9bf2ced13842/slog/json_handler_test.goPKI@A]golang.org/x/exp@v0.0.0-20240506185415-9bf2ced13842/slog/level.goPK/IFngolang.org/x/exp@v0.0.0-20240506185415-9bf2ced13842/slog/level_test.goPK T m*B޴golang.org/x/exp@v0.0.0-20240506185415-9bf2ced13842/slog/logger.goPK~-,?Ggolang.org/x/exp@v0.0.0-20240506185415-9bf2ced13842/slog/logger_test.goPK|vB EAgolang.org/x/exp@v0.0.0-20240506185415-9bf2ced13842/slog/noplog.benchPK65}Ggolang.org/x/exp@v0.0.0-20240506185415-9bf2ced13842/slog/norace_test.goPK->Egolang.org/x/exp@v0.0.0-20240506185415-9bf2ced13842/slog/race_test.goPKI%F Bygolang.org/x/exp@v0.0.0-20240506185415-9bf2ced13842/slog/record.goPKh]G/golang.org/x/exp@v0.0.0-20240506185415-9bf2ced13842/slog/record_test.goPK{Qgolang.org/x/exp@v0.0.0-20240506185415-9bf2ced13842/slog/slogtest/example_test.goPK%}pMgolang.org/x/exp@v0.0.0-20240506185415-9bf2ced13842/slog/slogtest/slogtest.goPK8OLQgolang.org/x/exp@v0.0.0-20240506185415-9bf2ced13842/slog/slogtest/slogtest_119.goPKQQgolang.org/x/exp@v0.0.0-20240506185415-9bf2ced13842/slog/slogtest/slogtest_120.goPKGp Igolang.org/x/exp@v0.0.0-20240506185415-9bf2ced13842/slog/slogtest_test.goPKWHgolang.org/x/exp@v0.0.0-20240506185415-9bf2ced13842/slog/text_handler.goPK@$Mgolang.org/x/exp@v0.0.0-20240506185415-9bf2ced13842/slog/text_handler_test.goPK) +A golang.org/x/exp@v0.0.0-20240506185415-9bf2ced13842/slog/value.goPK"Egolang.org/x/exp@v0.0.0-20240506185415-9bf2ced13842/slog/value_119.goPKՍ=Egolang.org/x/exp@v0.0.0-20240506185415-9bf2ced13842/slog/value_120.goPKBC++Wgolang.org/x/exp@v0.0.0-20240506185415-9bf2ced13842/slog/value_access_benchmark_test.goPK vsF$golang.org/x/exp@v0.0.0-20240506185415-9bf2ced13842/slog/value_test.goPK!0 A-golang.org/x/exp@v0.0.0-20240506185415-9bf2ced13842/trace/base.goPK B9golang.org/x/exp@v0.0.0-20240506185415-9bf2ced13842/trace/batch.goPK҄nRHq=golang.org/x/exp@v0.0.0-20240506185415-9bf2ced13842/trace/batchcursor.goPK)L MDgolang.org/x/exp@v0.0.0-20240506185415-9bf2ced13842/trace/batchcursor_test.goPKvP5Igolang.org/x/exp@v0.0.0-20240506185415-9bf2ced13842/trace/cmd/gotraceraw/main.goPK?HJULgolang.org/x/exp@v0.0.0-20240506185415-9bf2ced13842/trace/cmd/gotracevalidate/main.goPK)M&hBOgolang.org/x/exp@v0.0.0-20240506185415-9bf2ced13842/trace/event.goPKmk?iGlgolang.org/x/exp@v0.0.0-20240506185415-9bf2ced13842/trace/event_test.goPKIŁA,KFngolang.org/x/exp@v0.0.0-20240506185415-9bf2ced13842/trace/flightrecorder.goPK~zP~golang.org/x/exp@v0.0.0-20240506185415-9bf2ced13842/trace/flightrecorder_test.goPKOη Bgolang.org/x/exp@v0.0.0-20240506185415-9bf2ced13842/trace/gen.bashPK䇙 ,G܌golang.org/x/exp@v0.0.0-20240506185415-9bf2ced13842/trace/generation.goPK.ƅ Qgolang.org/x/exp@v0.0.0-20240506185415-9bf2ced13842/trace/internal/event/event.goPKW{G .Wgolang.org/x/exp@v0.0.0-20240506185415-9bf2ced13842/trace/internal/event/go122/event.goPKUXgolang.org/x/exp@v0.0.0-20240506185415-9bf2ced13842/trace/internal/event/requirements.goPKZQj Tgolang.org/x/exp@v0.0.0-20240506185415-9bf2ced13842/trace/internal/oldtrace/order.goPKU"7~Ugolang.org/x/exp@v0.0.0-20240506185415-9bf2ced13842/trace/internal/oldtrace/parser.goPK_0 Mgolang.org/x/exp@v0.0.0-20240506185415-9bf2ced13842/trace/internal/raw/doc.goPKF%sOgolang.org/x/exp@v0.0.0-20240506185415-9bf2ced13842/trace/internal/raw/event.goPK5g Pgolang.org/x/exp@v0.0.0-20240506185415-9bf2ced13842/trace/internal/raw/reader.goPKWu'0Tgolang.org/x/exp@v0.0.0-20240506185415-9bf2ced13842/trace/internal/raw/textreader.goPK@0Tgolang.org/x/exp@v0.0.0-20240506185415-9bf2ced13842/trace/internal/raw/textwriter.goPKzPMgolang.org/x/exp@v0.0.0-20240506185415-9bf2ced13842/trace/internal/raw/writer.goPK 'Y|golang.org/x/exp@v0.0.0-20240506185415-9bf2ced13842/trace/internal/testgen/go122/trace.goPK:Bg [golang.org/x/exp@v0.0.0-20240506185415-9bf2ced13842/trace/internal/testtrace/expectation.goPKNV golang.org/x/exp@v0.0.0-20240506185415-9bf2ced13842/trace/internal/testtrace/format.goPKá H ,ZXgolang.org/x/exp@v0.0.0-20240506185415-9bf2ced13842/trace/internal/testtrace/validation.goPK{s&Uz,golang.org/x/exp@v0.0.0-20240506185415-9bf2ced13842/trace/internal/version/version.goPKX;EEp0golang.org/x/exp@v0.0.0-20240506185415-9bf2ced13842/trace/oldtrace.goPKw.B;Egolang.org/x/exp@v0.0.0-20240506185415-9bf2ced13842/trace/order.goPKy.nG"tgolang.org/x/exp@v0.0.0-20240506185415-9bf2ced13842/trace/order_test.goPK5K Cvgolang.org/x/exp@v0.0.0-20240506185415-9bf2ced13842/trace/reader.goPKlbHgolang.org/x/exp@v0.0.0-20240506185415-9bf2ced13842/trace/reader_test.goPK{TJ Fgolang.org/x/exp@v0.0.0-20240506185415-9bf2ced13842/trace/resources.goPKoLgolang.org/x/exp@v0.0.0-20240506185415-9bf2ced13842/trace/testdata/README.mdPKcE;GhcOgolang.org/x/exp@v0.0.0-20240506185415-9bf2ced13842/trace/testdata/fuzz/FuzzReader/0cb1786dee0f090bPKr?Hc'golang.org/x/exp@v0.0.0-20240506185415-9bf2ced13842/trace/testdata/fuzz/FuzzReader/1e45307d5b2ec36dPK>dFecgolang.org/x/exp@v0.0.0-20240506185415-9bf2ced13842/trace/testdata/fuzz/FuzzReader/2b05796f9b2fc48dPKUTiHkcΕgolang.org/x/exp@v0.0.0-20240506185415-9bf2ced13842/trace/testdata/fuzz/FuzzReader/2b9be9aebe08d511PK.W~^#cgolang.org/x/exp@v0.0.0-20240506185415-9bf2ced13842/trace/testdata/fuzz/FuzzReader/344331b314da0b08PKALcgolang.org/x/exp@v0.0.0-20240506185415-9bf2ced13842/trace/testdata/fuzz/FuzzReader/365d7b5b633b3f97PK`:>chgolang.org/x/exp@v0.0.0-20240506185415-9bf2ced13842/trace/testdata/fuzz/FuzzReader/4055b17cae1a3443PK"_c3golang.org/x/exp@v0.0.0-20240506185415-9bf2ced13842/trace/testdata/fuzz/FuzzReader/4d9ddc909984e871PK$LjGhc#golang.org/x/exp@v0.0.0-20240506185415-9bf2ced13842/trace/testdata/fuzz/FuzzReader/56f073e57903588cPK!0=_cgolang.org/x/exp@v0.0.0-20240506185415-9bf2ced13842/trace/testdata/fuzz/FuzzReader/9d6ee7d3ddf8d566PK3?Hcgolang.org/x/exp@v0.0.0-20240506185415-9bf2ced13842/trace/testdata/fuzz/FuzzReader/aeb749b6bc317b66PKigolang.org/x/exp@v0.0.0-20240506185415-9bf2ced13842/trace/testdata/fuzz/FuzzReader/closing-unknown-regionPK*%zFfcޝgolang.org/x/exp@v0.0.0-20240506185415-9bf2ced13842/trace/testdata/fuzz/FuzzReader/d478e18d2d6756b7PKpӱ}AHcgolang.org/x/exp@v0.0.0-20240506185415-9bf2ced13842/trace/testdata/fuzz/FuzzReader/d91203cd397aa0bcPK"Fsegolang.org/x/exp@v0.0.0-20240506185415-9bf2ced13842/trace/testdata/fuzz/FuzzReader/invalid-proc-statePK5.Vw[golang.org/x/exp@v0.0.0-20240506185415-9bf2ced13842/trace/testdata/fuzz/FuzzReader/large-idPK~fgolang.org/x/exp@v0.0.0-20240506185415-9bf2ced13842/trace/testdata/fuzz/FuzzReader/malformed-timestampPK *Ngolang.org/x/exp@v0.0.0-20240506185415-9bf2ced13842/trace/testdata/generate.goPK`ugolang.org/x/exp@v0.0.0-20240506185415-9bf2ced13842/trace/testdata/generators/go122-confuse-seq-across-generations.goPK*W u)golang.org/x/exp@v0.0.0-20240506185415-9bf2ced13842/trace/testdata/generators/go122-create-syscall-reuse-thread-id.goPK6UcHl#golang.org/x/exp@v0.0.0-20240506185415-9bf2ced13842/trace/testdata/generators/go122-create-syscall-with-p.goPK m8_^r golang.org/x/exp@v0.0.0-20240506185415-9bf2ced13842/trace/testdata/generators/go122-go-create-without-running-g.goPKfsgolang.org/x/exp@v0.0.0-20240506185415-9bf2ced13842/trace/testdata/generators/go122-syscall-steal-proc-ambiguous.goPKM6}golang.org/x/exp@v0.0.0-20240506185415-9bf2ced13842/trace/testdata/generators/go122-syscall-steal-proc-gen-boundary-bare-m.goPK# khgolang.org/x/exp@v0.0.0-20240506185415-9bf2ced13842/trace/testdata/generators/go122-syscall-steal-proc-gen-boundary-reacquire-new-proc-bare-m.goPKZl4Egolang.org/x/exp@v0.0.0-20240506185415-9bf2ced13842/trace/testdata/generators/go122-syscall-steal-proc-gen-boundary-reacquire-new-proc.goPK3L4$v0golang.org/x/exp@v0.0.0-20240506185415-9bf2ced13842/trace/testdata/generators/go122-syscall-steal-proc-gen-boundary.goPKĄagolang.org/x/exp@v0.0.0-20240506185415-9bf2ced13842/trace/testdata/generators/go122-syscall-steal-proc-reacquire-new-proc-bare-m.goPKs|golang.org/x/exp@v0.0.0-20240506185415-9bf2ced13842/trace/testdata/generators/go122-syscall-steal-proc-reacquire-new-proc.goPK-Zngolang.org/x/exp@v0.0.0-20240506185415-9bf2ced13842/trace/testdata/generators/go122-syscall-steal-proc-self.goPK=z5wugolang.org/x/exp@v0.0.0-20240506185415-9bf2ced13842/trace/testdata/generators/go122-syscall-steal-proc-simple-bare-m.goPKxCVp golang.org/x/exp@v0.0.0-20240506185415-9bf2ced13842/trace/testdata/generators/go122-syscall-steal-proc-simple.goPKTcu,|golang.org/x/exp@v0.0.0-20240506185415-9bf2ced13842/trace/testdata/generators/go122-syscall-steal-proc-sitting-in-syscall.goPKƱnTgolang.org/x/exp@v0.0.0-20240506185415-9bf2ced13842/trace/testdata/generators/go122-task-across-generations.goPKܬJ\fgolang.org/x/exp@v0.0.0-20240506185415-9bf2ced13842/trace/testdata/tests/go122-annotations-stress.testPK?"_golang.org/x/exp@v0.0.0-20240506185415-9bf2ced13842/trace/testdata/tests/go122-annotations.testPK?_rgolang.org/x/exp@v0.0.0-20240506185415-9bf2ced13842/trace/testdata/tests/go122-confuse-seq-across-generations.testPKMYrgolang.org/x/exp@v0.0.0-20240506185415-9bf2ced13842/trace/testdata/tests/go122-create-syscall-reuse-thread-id.testPK)Z piMgolang.org/x/exp@v0.0.0-20240506185415-9bf2ced13842/trace/testdata/tests/go122-create-syscall-with-p.testPKmьkS^,]golang.org/x/exp@v0.0.0-20240506185415-9bf2ced13842/trace/testdata/tests/go122-gc-stress.testPKo8[oPgolang.org/x/exp@v0.0.0-20240506185415-9bf2ced13842/trace/testdata/tests/go122-go-create-without-running-g.testPK]N\MpRgolang.org/x/exp@v0.0.0-20240506185415-9bf2ced13842/trace/testdata/tests/go122-syscall-steal-proc-ambiguous.testPK߃zTgolang.org/x/exp@v0.0.0-20240506185415-9bf2ced13842/trace/testdata/tests/go122-syscall-steal-proc-gen-boundary-bare-m.testPKu_Ugolang.org/x/exp@v0.0.0-20240506185415-9bf2ced13842/trace/testdata/tests/go122-syscall-steal-proc-gen-boundary-reacquire-new-proc-bare-m.testPKz,%Wgolang.org/x/exp@v0.0.0-20240506185415-9bf2ced13842/trace/testdata/tests/go122-syscall-steal-proc-gen-boundary-reacquire-new-proc.testPK\ ,sXgolang.org/x/exp@v0.0.0-20240506185415-9bf2ced13842/trace/testdata/tests/go122-syscall-steal-proc-gen-boundary.testPKHEZgolang.org/x/exp@v0.0.0-20240506185415-9bf2ced13842/trace/testdata/tests/go122-syscall-steal-proc-reacquire-new-proc-bare-m.testPKmPy[golang.org/x/exp@v0.0.0-20240506185415-9bf2ced13842/trace/testdata/tests/go122-syscall-steal-proc-reacquire-new-proc.testPK~8kz]golang.org/x/exp@v0.0.0-20240506185415-9bf2ced13842/trace/testdata/tests/go122-syscall-steal-proc-self.testPKbbt^golang.org/x/exp@v0.0.0-20240506185415-9bf2ced13842/trace/testdata/tests/go122-syscall-steal-proc-simple-bare-m.testPK͝ms`golang.org/x/exp@v0.0.0-20240506185415-9bf2ced13842/trace/testdata/tests/go122-syscall-steal-proc-simple.testPK\^yagolang.org/x/exp@v0.0.0-20240506185415-9bf2ced13842/trace/testdata/tests/go122-syscall-steal-proc-sitting-in-syscall.testPKF k]cgolang.org/x/exp@v0.0.0-20240506185415-9bf2ced13842/trace/testdata/tests/go122-task-across-generations.testPKiQ[QBegolang.org/x/exp@v0.0.0-20240506185415-9bf2ced13842/trace/value.goPKլH hgolang.org/x/exp@v0.0.0-20240506185415-9bf2ced13842/utf8string/string.goPK7]s Mpgolang.org/x/exp@v0.0.0-20240506185415-9bf2ced13842/utf8string/string_test.goPK( vtdependencies/pkg/mod/cache/download/golang.org/x/exp/@v/v0.0.0-20240506185415-9bf2ced13842.ziphash0000644000000000000000000000005715107355263027511 0ustar rootrooth1:vr/HnozRka3pE4EsMEg1lgkXJkTFJCVUX+S/ZT6wYzM=dependencies/pkg/mod/cache/download/golang.org/x/exp/@v/v0.0.0-20251113190631-e25ba8c21ef6.info0000644000000000000000000000027715107355264027050 0ustar rootroot{"Version":"v0.0.0-20251113190631-e25ba8c21ef6","Time":"2025-11-13T19:06:31Z","Origin":{"VCS":"git","URL":"https://go.googlesource.com/exp","Hash":"e25ba8c21ef6698001cda159e0c790527e430d33"}}dependencies/pkg/mod/cache/download/golang.org/x/exp/@v/v0.0.0-20240506185415-9bf2ced13842.lock0000644000000000000000000000000015107355263026757 0ustar rootrootdependencies/pkg/mod/cache/download/golang.org/x/exp/@v/v0.0.0-20251113190631-e25ba8c21ef6.mod0000644000000000000000000000046615107355264026674 0ustar rootrootmodule golang.org/x/exp go 1.24.0 require ( github.com/google/go-cmp v0.6.0 golang.org/x/mod v0.30.0 golang.org/x/tools v0.39.0 golang.org/x/tools/go/packages/packagestest v0.1.1-deprecated ) require ( golang.org/x/sync v0.18.0 // indirect golang.org/x/tools/go/expect v0.1.1-deprecated // indirect ) dependencies/pkg/mod/cache/download/golang.org/x/exp/@v/list0000644000000000000000000000010615107355264022764 0ustar rootrootv0.0.0-20240506185415-9bf2ced13842 v0.0.0-20251113190631-e25ba8c21ef6 dependencies/pkg/mod/cache/download/golang.org/x/sync/0000755000000000000000000000000015107355263021703 5ustar rootrootdependencies/pkg/mod/cache/download/golang.org/x/sync/@v/0000755000000000000000000000000015107355264022251 5ustar rootrootdependencies/pkg/mod/cache/download/golang.org/x/sync/@v/v0.18.0.info0000644000000000000000000000027715107355264024046 0ustar rootroot{"Version":"v0.18.0","Time":"2025-10-21T17:44:11Z","Origin":{"VCS":"git","URL":"https://go.googlesource.com/sync","Hash":"1966f539bbd7664efd5bb7462ae94d9db67f4502","Ref":"refs/tags/v0.18.0"}}dependencies/pkg/mod/cache/download/golang.org/x/sync/@v/v0.18.0.ziphash0000644000000000000000000000005715107355263024554 0ustar rootrooth1:kr88TuHDroi+UVf+0hZnirlk8o8T+4MrK6mr60WkH/I=dependencies/pkg/mod/cache/download/golang.org/x/sync/@v/v0.18.0.lock0000644000000000000000000000000015107355263024022 0ustar rootrootdependencies/pkg/mod/cache/download/golang.org/x/sync/@v/v0.18.0.mod0000644000000000000000000000004415107355263023661 0ustar rootrootmodule golang.org/x/sync go 1.24.0 dependencies/pkg/mod/cache/download/golang.org/x/sync/@v/v0.18.0.zip0000644000000000000000000006215415107355263023716 0ustar rootrootPK)golang.org/x/sync@v0.18.0/CONTRIBUTING.mdlSMk[1Wlɡ1$뒋ijҒC(D節d7HEo#:T$Hi,M8PWc.K+ cYh ow dсA6g M1GG965V1ݬM{TJֳ|h8^'f'kVASo MVa ]%p3c Dד-h.teT >p;[G!ۤZ!|sA)Ҥ<\w|=/ dP`a>+@!i cH$FO#7ve' ׬q ? A:EZC*mJD[6}%MUoJ*YƖTYhyka4k-2bUB [ ZHy]K*Y|PCVBQiRU)*j o ;*o 7v W⦩鏞Z#xo4~"eh,5tF6RV&(J_Ha VqNɵ0kZz-23RgrGP^S6Ee&I41 j253 6JT0R-m+Nh NDC9rz^˻!!գHo;$#+gPK9 PK!golang.org/x/sync@v0.18.0/PATENTSt6 z "]"@AKȤCQ;gf$ EG*Xto)}{6x 6Bi+AxJpUڠpsKw*p9қR xK_=d%Kh hl'X(P˕ M */=$W&0=2lF'iC x8lsڇuI +l{ tQ헷]ͧJvF`]&ش|tn(eP? qK?RtkP^#$trEr7#z^ fYR67wFӭWt@#XfcY̿ 0lRQ\{!8k 360['nQ:^>phv\b1aw,ٻ%B #V1S˩@9tfY‹ik/٣.NvYugZiaY?o yHvWlz6Xr>jD)XJ? ?FJ2r!@%F_jڊm,`< fT^PKk4~PK#golang.org/x/sync@v0.18.0/README.mdlN<~3 w^ 7qz'qG@~eѲU{^s/ HJfyeLtSH|% BJl,&ҫ4aX J >}0Y9Bԇb7 }#0EnѮ bZ뭛yp8W!l7~n\O4Zvd;AĄq_$ 6A S:; l௷/)g5@" 7`=Ѐӏ>| :밭ߕS=0maL^1x"EB˒>OxOL+9ل.D=C Y !YC t' tWlW{ ,DI0(o҉"=/ܯk;nC$hBg.凯WuM-;(NkCL9U tCԈ!Weh!L΀ā8%4]=eg0wr֬aP |gGKlqQ¢paUqM$Qx"M^7"jiJ8u1k̒%KDQX׬"ZV`fu=xxzw)KuXW}ۏ"^ ji(.hzyA*qbA<7Tc*술%!V~(, t_~zT)J:p[hȮw8tip("JeU]eO!* `ゾK0y8h\PS.# js4kKp:(XUؤfU<´‚lZӷJHW0M(}ݡrBc.R 0%Am- )VJoKsPƠ!LtZXϢ;kDt&Wsß=Q#%sOGNrD[`ds(@x'x\'ب NNxf6 59N%R_Za_5Bqµ[d@͠>ʭ""6O+U7VK'"W.Jrs8wZ&4d<''V|:ũ4^iqRr<=ɐ^]|<@-M!|:,UwzX3+(4 aUkAsP }7~l(SXwRmE jQL1Xm8;$IBd)!Lzi;!FU拧anEy{!h7"߱"NfUNd _UuÛ3zУlHc"toyD6 )> xɑ@nV*wY \F{TD8MA]<$rǽI,sAY%¬[.ESk`(xlG ]u-5| y9N[{zEd+"V{KCXw99& e:=6U&zz:m;:ײårƠ"+cokTך]LaUAn0W3Bd]L{^.-nEʸyL/D% `ZM΂q׷m[.TKۺ4U =2oB=aŐ2|n2ҧO2Qi?*x򛥢mu0Vx8BT83u W$=[a؀5z8܍0PJdT 0xd@^ oNB^~W]&<"(HY⨜U"WļgNE᫯8_i?ՆzL!)bS cJMd$S+*Jg[0bI>&/7AFf&%wϢ_%_=e|/浡 PKَs PK3golang.org/x/sync@v0.18.0/errgroup/errgroup_test.goXrۺ&b3ΐ'2i\(&It4;L]jPв=d}΂ avۜN/z% XX(XO1‰7kcsx#%m -,(E`uc8%P4 KGZw'NIQY7f8SpPF 1‡o?JHx5Иfzк868JVo]G o/(tع)}~)^0'O&T &q%Lչ6uq[xxgq| W0])2i2ë$xuKmA6oh-H"|FHvQ<Bq9o p$U1,k^:(#15sOv'&.?\&;@X |K@^Y6%dyLHmc[_PR6z4-PU9SxX_pӤ̊Tjmt"6jLm0fB9M#D#n #/ uAb IA?yۮ?>5 GpvP̽\GH #8h+CuHȇaQf|ɍd`Os'uTM28^.euL|`c`Kv*t|S

bSJ͋}Kmi(zfnZdN=X(YOХoFV?.?b.s4&yR@EfRo>An5pMvǝj4{n#U6U#]PYz_>y-h&%ʧHCN F+σ%Ӡ?xt K|pB] vx{׊7Ơw~y'0@ 빹ss[:[?w '*8 YG@Kmv=07 /8a׸dUJ;=#Ю-8\XWK9k^jBxDE~c9^,G'X/8W#i#ƯªL X\yJwKmSW1^q{$ÝװC:(6nj{~غG0uD=R?(?4@ch4YƆOBc;H0َ,֙; 4?GsZax?.*!7[7<.<2TPJel}bGv9:r(} /|;m<_> ѿh=Y2RK'X>{28ۂ<*[E[ToO\t\PpHw<_G9+h86E+L!XFRnww ̘\僐M:3w'!|#|qh8StD,B|'$T>^~W}\kp5WahW*9&4`Ǻ%XATLHz픻n I'}z|]ӽ?)iԥ$ajE~]#w8@q1bv-V1zb, ǰn(t&%JۻEYΑڧjoW#npo{υ^(ElZ2)OtZrk #ߋ3u)&/_`܉0s}ӫ/9ry,x})J-9I!?4CyX9ad'_;Gq3O3a&zd ,A8 eF@4X ׄ-⹦TW@rwΨnA28Qw㹮P@{}8//zV'ʾtl]1N툎Fe:Z>: hhHAZtAa% 7>9c%Uvքs T=RS9ﺬ2B%IZ'J;jXK1uPf(1BzZ/7?KMMx%Ϲ_=;IҠe|@Ҽrvc=$RwN>fRbcSN>Z܆ $t+bS83B;n+C`:уxuC'_;ˏAos+k5߇ft (U8rҀʆOPAF53.}2WӜ-9H]ToԼ0Jn(Jt- >!hf|Q.kA_Q(]RUכU}IS +m \Yw0I̛ o`lLrώqݗV.JLrmfBpt:eZ~ )s+| h+ܜ9v㐴pk,NJ[B* ۆA(Ce2`W8;`T@ EJ1㴀Qd}^WN)ٯtq+z惲/:~%/gvv^RB_Xk M:`r8lA#KrJD¿4$_;t3ȚIEStۤIҴgllxS/OPK+PK;golang.org/x/sync@v0.18.0/semaphore/semaphore_bench_test.goU]kF}[A@ڕ,ihBnBC҇RH&f3x]^H#j!2{9#)\Z0;<n+_\RڤpQ h4q~3[ F:GA(#j 槉Z( K  Bg(D)cK?`×xgXDTBĂ0W7 , eXL.ߦf-*d1#N+$y \usۼ Z|Z E-EͲV(iPzN2yp d2^Ð}Âk+4F{&:j4 n#LX#7%:dz"hM6Xq$W͒kwUr!uʕ\\ 8ɸ! {{>-cu͖9H\tב<~ҿ^dh-wBg"2 ἻSpǏ M- ;)j3dPCkLnE]ʓ]sNr^f߈0jsA&V({a{Pڱa >^&.Îfs k4hoE:G;%Y:i`~ U`I%JM+;1 {h6zNf#)sA-(c8 urC~9i+}sir?Wf'[*K[MoZH[D_E" PI ;8SLiu܈_&c&׾oz;vb.]ΗdA0#eP m:Ƈ r%p2B84:AOv'ظvV $o%W"@}ҧl|d@;H80~No*% JsFMV߹V_g[W'үPKȇ PK=golang.org/x/sync@v0.18.0/semaphore/semaphore_example_test.goUn}&\NȀh NArݝ!KYJ}h.sf N]z2fZKȭĉ1HKZd5V}M݂.6P7$l p 4.^x}6TyZuoOL\w"FLW<ʳQӥe(ϳe$ll=A\R]o7,s6WL[b [>NsbocwA. .,z1d*H) ]NwPMkeAΙ/@=\DZs" dCt]k662nm0[ bY*&/)-j[wgϊqgʋ3YoغQ<7oNϋ8ϲ@״~ORv(僇-X\۸NQ[lgB#vGGF bDE;Xy8-Ize C"xrnIKԞpa\  ݶ p;muh)y作+0EW{O$Nqזb`ڞ~#]$Zd.iJ5^ه6[TvA-Cd9Z>M&d˵^Z-MU١rîugsL򽲺.FRڵ<)<!Slb'nxOr滓33mݫ|id0/~rq|\ӯ\^%4BH0C(@ŤVˍJ8Z0 (g&[Jr-,!VeGQ\JQTIlZ+L( ~DmRi:!"dM'?`E.10Ia<%dgd`BFm@%(`N qyGyaͪ1%e}gi9#/u|bm;1U׌=SG3Sg?hd-r=i0)3转{7LUAG%O@鱅c&rvp2N mDdFqE-˧m)P>)pn\n'Ci?tQX*GV@ݕF+ͻ֯Du,(p0:ˀC?JQVeЖR~ >-(843Gg>UV'PBBH zLПY}r_swDO[nh 3V/<*pN)LXqnX W "m11c{f*lO]9f=b $Τ)Z?APLyMXU Z hm}CMٳ@rc}J4;u>-">rnp<+`a4wf1ԃr?jQ=~8ÔOܞE%\LrgZ!nqB'ŌY5o n_JOϷR؃ vER /$X]bkPt}jԪlGIKw .2+PIoR„bgP${\r7-WQ/iS ґS%X1kc uc g]ҫ]/[nd9NCӣ;p5ЦDmCw&IMAThΑ;,NpġKsQlQ%. amŋ/Fyn>.^&3v LݷpVF+, JdCsd[/WgAE z|iO ڒ3mYyÅABMckz-LpJ-n:EgldI=khJ3A߲"?.bvXL'Ǘw{:ChUv,;x&Rcg6K"/-us޶ C4ըRi'vٱaBX"(K`.q̸<~~k';8KE Z͛tˡn.R`FLWan,Jchq $QyYK%):0pƶi(5X]"PKbd_s7?PK6golang.org/x/sync@v0.18.0/singleflight/singleflight.goXߏ6MƑop@MzA$wŁFaHZw0CJ"}}Y[g^NM{|lZxՇ:_+_{p,>y[Aho{'-,a{?zA#Ii%xЈR"T7%(A7?Ji,2Mȝ2J{Uei%E@z#|uW֐e#mui\Au.j \O^dY:g!ujs u۾"[r|[*2%9IH/9.T=:|텛)@xC~UљW R mUp`/tPR}D AA'$B;ej~({.y΍z.[Dtxw e?;آ >}+2y?,X$s]pzgjCsʄ*n|6tC؋%P'38]@V`wp9\f U#SFlq&йɖTggf/r }͗YX+|Lj)?>k-~> V5;%xN8AWtƂFx|`U x`PZC#Ծ5|tV*QT;DrD,ޙo>9˛|||g&&=y~yC5KT;%WewLpd 1ցЀW%bD?@|Q[پ 詄K! N[ȟLRUQtK܅=E}ŝӔ_'zEβmf>J&Cw(lAhp}C| uHbi|0ZxnA=Aohw/LCd! Ӡein&U m!ONT[i C-ZVtבn~` (}eTPB?LAƈT/7+ܰNx% ZCh1I M.s,Bf4BЕ9,r6;VЊ25)KښQ~֋u @' ~#8j@}Zv -i #!OA2tq}}/ku.WJ*2{\L ϦzFV;~<Գ=x&4lh@ұt K]~9ds<5Xx4tG<0'q\8"!pxzo]0ֵBݹ@%GoHLxV+J2u|K|*.?<"4!tr]^?/lMju>c@a;|BcIr"-#j+ܕ5"6 iurqo& ש}ٖD^pnTDZ*,9 d N bJTA[jI#x{V#8@B8U@%ƣnA:ik;6A87wYAgl9:"<^ D-mQwHJ&#Ee3ʤ8Nd# :>)KB dPTAEZFÀ1ѵ`9W. ݘHۭH2'SYz#/r^q hu_OKF%j„Hv؏G[0jn؁ѷJaf;Ը&&|Ih-"!+SPe#!z/_Gy7# \4 l2L6gߌ K<Mź߻RU< tc>}Px-m5qVw5wP1ҵLVYP8%ӊ~Egk>31oPKE>+ePK;golang.org/x/sync@v0.18.0/singleflight/singleflight_test.goYos6M~ (ʔy#[όc;L/z D.)(@9fP$eOeH p!\/^K8R*yY]֠P`1df5hY!P *,Hmt) `@,rY D$ +X(JK$ @bkPGaRR_Sja;?.^h( iw̌\shP.fGef[!R?FFթty-RQ)Y OaJ6- ר{&xj$nbz9!0{XYb0 Qt$}`k?'F1q\T9KmķJqM.,G:vr 8rZɢk6>m܂w7έ=/rVj5R);>I0 rLJQLH`bҐ~'?"6iBJ})PRas#J1y~'dޫ%8kCdd *l˖[r)Gl"Az]#2HYdqGőNl'Mg`4lxޑo6KO$ae S0ƴ1Ybʺ!N.\q O) }6b?sѱۋ!<N o&Z{;YSa8Aq9ܵ 'U{nǝ۠悩hD -{C!;A6ɼR\<hl#{b.蔎³;lqgK 3lCPX3A6zz=g(*uTWJ=b--x)oh.^P~I/G9Ukx@=ofgZöbh6Cg38?b/E^"]`yPUcCZL `5+|m;Ia T SSn"*X~Z#ҘJO゛eHRdr̵Q_L?9nzZSAN<7Lр|^E)ӕK{wYZzi[Aԇ>J:6.ώbmlIJ;wb{.0(oF+i-F;K?KŒo"I:^ƭ4]-By<rwrZ]@БJ~f%^.3j owR2S7;6QFT)epZA3}VGӲ5prPp!5ͳm]z➄n lO&/^,<ڣ?qVņ<52j@*kJ㐡"S0as:sVLU2s{< *}@qMލ{z q..b/%sUa>-zU`ږ;hsүEƝ_,x_SfϽz.m|/~4<<#9(6[W&N=_*#UE1t;@H.D(Y4t nhBH =G m9/ᆛ%0P\ _Rn ]۸ɝ\ٿ'r[+UE-a8}B U2Ehnl ǏxVhPlj~7.]m4P*ӣdA: -~~Vۉ63m܂ j?,$o:ŔbÕv&tL֦1'87m Eӏ0;'1wFIP36x/9%1m=WApD$j\V/*%Sj_*56+T1F ow gƅemLozp4y+BX VgO`>MWWeKw݀QNCi>_2Hx;Ke3޷ <7>S×V/6 ԁ#O@,9A74.Xja78&)_ *g^\Sga>Ȅ(ԓĭGhP|M']l99V%|$u]v".nGVW%OAXV'aM^qaJGLU}GwN[S{㷣0FkPXpmZ޵,EZ$tӻzo]Nʾ鳯5+ZMY>~ک[W2,QƁ1ʒ=bƗۻwck-=5 Jc 8nU\Ϝ,J(މt.ULl-md*8&"dSQT=R:jBĜ)]+j5 ("fS[OkRKI8@7H`K~\Bl֙k`<ic> n0'@iwЍBH,=*;PKQ5EPK7golang.org/x/sync@v0.18.0/syncmap/map_reference_test.goVMo6=/ŋOv#'= N I{0 F^BԺ=e.9|3fXs>|?5>wn- Y2 *rvxK3 tAzAFQ\ɿ e nW!SNu)g+ڑuɦa& ?N7Ry_|hB+ǥdH B[Ȧ!帓ZYڠSҽ^l@ޞ*G"c1͙[Z{2|g3͋pr06Íu&NVϰu7_foS.\kך* h}-MNv8IQ2u 8BOgD: l:+lRHz{9jS´/B=*Hz]?;6V5۫_go6- G=}tޞKbi߯X'~0%_?>mjЊR?sd?PK~wY PK-golang.org/x/sync@v0.18.0/syncmap/map_test.goW_OFBa@.Tt+!T9ǞڞI(}ul+~tS!HӚs^!ؕ*к4Z,M fCd&SF9@:,%Yq|ɠҒЦ~0YUm 4-?j>3 ll@AFNܽpO&pmGbDw #-7laEQ<` =SJЂ\JJ#6Pr)-hEC3%֙tD4ЂD:M*d-gzb9iKT޻4I (XD`e1ϞYij(ns(6)!sriqKs Bxp`~diSHG5WdZ.$DjF^[. sT4SJ>}w\M) x0S|PNY&T8 W˜$xo- Ի٦ !V6{Al»z']nxؗX fc~kE -}NY9;zx|3>ÑҝT(.I%k&GA=A,bυ FդojKi"3=2aNUnędGh^`;7f/C¿ ^˕%[u׻/7? F+.kZ? AKѺ^pWF~ܹgYL Kb[%3Iz׋+ц1t?so`ЪlAB ^Ӑa& B[~] ߳:޾5rPq'Zt/g\[ʿ/\k/'4NJ-2REcYyfFXWm'Yq}{sn/aBSNդKUY4t>#:W:+"]VťVHXͶ hS8$iZ?ȱOϽм_&e]DFp1l%k_WY֨v~Y,Kкj"]ϴq1qG~m\":㳤b,z.8F?;iVL}C+^x2(XH&qw4ݛSurr˙:*X4҉ZR< | ᅴr Y3NnU[a q{-(lTt򣸯vW_d"Ĝ3]{k%.PA^^=*BPK:͌ PK_)golang.org/x/sync@v0.18.0/CONTRIBUTING.mdPK9 !Rgolang.org/x/sync@v0.18.0/LICENSEPKk4~!golang.org/x/sync@v0.18.0/PATENTSPK`#ygolang.org/x/sync@v0.18.0/README.mdPKBϯ(* golang.org/x/sync@v0.18.0/codereview.cfgPKpAO. golang.org/x/sync@v0.18.0/errgroup/errgroup.goPKَs BFgolang.org/x/sync@v0.18.0/errgroup/errgroup_example_md5all_test.goPKsC:3Lgolang.org/x/sync@v0.18.0/errgroup/errgroup_test.goPKGn*$ golang.org/x/sync@v0.18.0/go.modPK+0_golang.org/x/sync@v0.18.0/semaphore/semaphore.goPKȇ ;&golang.org/x/sync@v0.18.0/semaphore/semaphore_bench_test.goPK}C=*golang.org/x/sync@v0.18.0/semaphore/semaphore_example_test.goPKbd_s7?5/golang.org/x/sync@v0.18.0/semaphore/semaphore_test.goPKE>+e6@7golang.org/x/sync@v0.18.0/singleflight/singleflight.goPK ǫ `$;K@golang.org/x/sync@v0.18.0/singleflight/singleflight_test.goPKC(Kgolang.org/x/sync@v0.18.0/syncmap/map.goPKQ5E3Mgolang.org/x/sync@v0.18.0/syncmap/map_bench_test.goPK~wY 7YSgolang.org/x/sync@v0.18.0/syncmap/map_reference_test.goPK:͌ -Wgolang.org/x/sync@v0.18.0/syncmap/map_test.goPKf]dependencies/pkg/mod/cache/download/golang.org/x/sync/@v/list0000644000000000000000000000001015107355263023135 0ustar rootrootv0.18.0 dependencies/pkg/mod/cache/download/golang.org/x/sys/0000755000000000000000000000000015107355263021545 5ustar rootrootdependencies/pkg/mod/cache/download/golang.org/x/sys/@v/0000755000000000000000000000000015107355264022113 5ustar rootrootdependencies/pkg/mod/cache/download/golang.org/x/sys/@v/v0.38.0.mod0000644000000000000000000000004315107355264023525 0ustar rootrootmodule golang.org/x/sys go 1.24.0 dependencies/pkg/mod/cache/download/golang.org/x/sys/@v/v0.38.0.info0000644000000000000000000000027615107355264023711 0ustar rootroot{"Version":"v0.38.0","Time":"2025-11-04T21:29:36Z","Origin":{"VCS":"git","URL":"https://go.googlesource.com/sys","Hash":"15129aafc3056028aa2694528ac20373f8cd34e4","Ref":"refs/tags/v0.38.0"}}dependencies/pkg/mod/cache/download/golang.org/x/sys/@v/v0.26.0.mod0000644000000000000000000000004115107355263023517 0ustar rootrootmodule golang.org/x/sys go 1.18 dependencies/pkg/mod/cache/download/golang.org/x/sys/@v/v0.26.0.zip0000644000000000000000000741027315107355263023565 0ustar rootrootPK'golang.org/x/sys@v0.26.0/.gitattributes\1k@ F88nw.u iR%g="cvM|'uxX )lP9bM4֏?G!cYz,s.C"JPhng\Em KcmMmUѰI)P24"%V6 LosЅW*sJuľDXpPmYFrn6L~dz!Dg"-789=|PKVx#YPK#golang.org/x/sys@v0.26.0/.gitignore 0 LqfE`$#_>Ol+Y'pecq8>> PKs9PUPK(golang.org/x/sys@v0.26.0/CONTRIBUTING.mdlSMk[1Wlɡ1$뒋ijҒC(D節d7HEo#:T$Hi,M8PWc.K+ cYh ow dсA6g M1GG965V1ݬM{TJֳ|h8^'f'kVASo MVa ]%p3c Dד-h.teT >p;[G!ۤZ!|sA)Ҥ<\w|=/ dP`a>+@!i cH$FO#7ve' ׬q ? A:EZC*mJD[6}%MUoJ*YƖTYhyka4k-2bUB [ ZHy]K*Y|PCVBQiRU)*j o ;*o 7v W⦩鏞Z#xo4~"eh,5tF6RV&(J_Ha VqNɵ0kZz-23RgrGP^S6Ee&I41 j253 6JT0R-m+Nh NDC9rz^˻!!գHo;$#+gPK9 PK golang.org/x/sys@v0.26.0/PATENTSt6 z "]"@AKȤCQ;gf$ EG*Xto)}{6x 6Bi+AxJpUڠpsKw*p9қR xK_=d%Kh hl'X(P˕ M */=$W&0=2lF'iC x8lsڇuI +l{ tQ헷]ͧJvF`]&ش|tn(eP? qK?RtkP^#$trEr7#z^ fYR67wFӭWt@#XfcY̿ 0lRQ\{!8k 360['nQ:^>phv\b1aw,ٻ%B #V1S˩@9tfY‹ik/٣.NvYugZiaY?o yHvWlz6Xr>jD)XJ? ?FJ2r!@%F_jڊm,`< fT^PKk4~PK"golang.org/x/sys@v0.26.0/README.mdlN;~s.]HVAM"Mv\e~gHOK}9tQ{xύk䟟FYCO~ ;$jRxקtݏYx&m(ePhW`H{i(r*7*Fg#Cfnd5;?9"4FhfVÁ u}^MĆ[:**v*eAʆX2VWLנ-~c{RYF";dqdXWVllz 8RM*F9|i;}Pf9+AbR]7MşJ(W(>r;uyE" s!ƾQ^H>?c^qv, }ʗPAƤPKBzPK'golang.org/x/sys@v0.26.0/codereview.cfg,..M-J-ȷRHIKOPKBϯPK,golang.org/x/sys@v0.26.0/cpu/asm_aix_ppc64.sJ@Eם mREJq"Z НL'_20ߤ6O'"=47]0̐k£ǼN0)HD DԆ |A0)8*p ;Ke"DŽeB[W8DMجmBi,%Bi*%?m 0)VVT:TCIkh5aCK5HкhjJ^yTo|qYWz}vu>?fb\{/V|PK Q)PK)golang.org/x/sys@v0.26.0/cpu/byteorder.goTAoJ>bɖ罼CFjSdU2a.I-Z1V'f>jxf+#Z(hJD(hҁhVȂaЯP4Cq \Z">>I05LMz:z9t49z1v4`|C.v/E()˹@ T͒ꖀ69?5VԖ8CǛ/w {.-8* 38.-*sUBR쐔 Q?LpUe6Q\W{ MuC*%m2^ĎT:mcëɡj.4Av~Yz;TTp6qkMU,S#?PK`@LPK#golang.org/x/sys@v0.26.0/cpu/cpu.goZwH6EvG|3>͎̇e3iKf[L{[br_ofTV_\@W,ג`@ЉBHUNy@BB^ A@/%b!xG b2BՔ^H\0Rz4x,g#xzp?>x e <\b,P)!aLG"ĹbXAwU܀V*<\ rr*iTiɣ: לA"*xY^42~"|A"Dp^>v;D#FB m#_@"y4Xd~%z|=c*`}^ 2օ`v<_/ |p%X,["\1zedY˼Ģ,Jӊ~~Z0zK,X?w]~y^kofŧH3)#EZK&΋ӻl2`z&dX5~J 6 y.Xd8 \H4HB5F0eXwLuO"?4" ֠PsMU8X%ι()>7ѥE]^&3&P[gwT億E z`! T~F/Tā浥D+b_kƈ+6݃W,ЇzZ _< )F(yCŋ IH_D9$_bQH% LI7 }oQ}Iea0,/B~-[7W8{ĪF8L5}py4߳t8>L(޶bqRdD|,Ĩ{|WKLjo-@ LMƑ~((,~;8+q |xbMlL} ?y8= f8 Br umи5wE z &㖲ø?}8S Gpoz,ԘZ}r;.sa%qߝ<x4ٌ٬[7Лyd B4Xf6k]\ CN:jy@޸+O^DT| E!g0Ljj ##n< ]--ݡˏpƂVV}p uf+be}hrnxw?|Î^;cY}8cLzQX&7m`i'hE, -[ɣym)xq1l'1lYY6/pw2vrElE0Ij֞ߢ|3DDH{qFP4 t:mAj9C,ɣ393hrB Ms: Fww,mŸ́RE c6OY-0M,>9IijߎT|BZ2\$/ſي)O^"6=kTn1O_ owG<d iT"CUo00qT%ђ'w:mwUHzp>`K~8ܻ=E 8lLSwo>IGvQ˲= #{Lp~pb-iЎ:MxDw̷F8k5k\ϮkU_Y$ǯƌGkNLO4*e!wAq͜C!58v`o^ 'EdBCwo#zq' VWm~KTqSFE<2Eͽte$fEtr[׮#oa_5<ÂE~:/P<(Fֶ͛oV^̽^U~k,$2 xldsYvQŚZG7G >_qRxdR*>f12`k5߬F z^kG~jLFd4OLkp^~|.zڡ޽_ڈA<|q˘jvZv6m8rh_k8u=o̲.4e3[}{ln85A*6CLHpTŘ4yj߽g$h%E cBrTudzhȔ%\"|EѺIY3~۝WAܺ*B!0/F4%DlɜA$V~IqQ%jTOhM|]X+kP?6՝<֬o8o6D?ȭ OUSO8*H&™j Hi, ;)`e }z_^{HEN%7|eNj.d㢓+XK|9dObd0ۙ|<p+mO}nnhgwvos gF6=4Q!Aa3Cln2h6=2Y aЋ%iĔ"κNwpRZh~6~jV/,knc辅c2sLo:9N]n:n.~:}凔aӫwZc b}YNM/v[{hl6ۤc]}h~3<1F!6)rid'$]ZN~_ )hkxvol%/Z (3] $W경5OQ"qzUxza)Vڣ2XUO+ڶhNbfjťX S*1mׁO/۷9N3v8rMgRV7.XJ R% U60 2Uvc ~PYkfIR:!WʌfkwGa˞^t^I3HRLEl Br·ϚBulZ?p4x:FHϬ #%ۖ >?0=꘵·m^Ukogx[Beܒ=;'7`h~UN飝fgrybKHB1ϳɱ>7oM&&4I؜xzlymV04ٽܜipi N 2–$7Bā B?6Q^K2.knafG/FAX*]!/(c ^1[w");ӧʥ knu$QIAR9qflKXڊ1 S m.v\+'2q9Bj3eq܎49P X"l6fC] ݦ,ѱ19p?8  -1Lh09}m0G"1,D` CؽGo+o O%,# h ;(+X "FckY?䥦Y맂mGxhɳt;&xS#G1` @d`|]/ͷƅp-T"zKy2z]bdjzY~KGrd==mkiɟڔmK[2^YkUB^2$4G_8v$O見vӰ]Ӓ iXkN'#[ηl]geۧ+D-َc|mM42 xz <>k2I]( _̥ӟQqQyLuY}* "ŗ\m\IqߩfUċez•IZ)\OS-4VT ne>hOKPRcD*N:I$*7I(RUu9+y*Uה4 -Թ'Jy`^WeO\( VɇT(J]ASg&$5ɩ 1&ϴ\{X&ŴQkDV~hڇ3PK9mYsPK)golang.org/x/sys@v0.26.0/cpu/cpu_arm64.goVAo8=[bC?bGMk;qcXiX 5H&EZ@y3Cp3?Hvho:A,`ZDH5i=V Qh U!t(QH@E܉{#})Q A'D%nbQ \.g/brB;Dz\H ]Yp2z%GPKG!&BP ߙ@!B0:[P0L_ z}u}u: A7λ>#1!fu:\u~`D,GNj^2G/nͪLAK8O^W{]3\9_nfY gEփ׫%JHP /A:rBGU W'$0g.U72EfQΒJ:v`gٸ &Zd:j/{h+F9c`c:,f^fմh.g뫚8IS#<,s.V{ڭ8"iLo4M`BcD!tcx;ӑH"˺;4Jq)Ϯ]}5:ƤH1"XLA$*WFOt ACNG^12ʶ :Cxy 1ʪ_=[{̑j+L4c]|suW @mF0H1ڻxH>(o;Ly{vylnuA>،οMe8[\-?$Tbev k?T绱#q,')An%O0!8i 5Q:Tģm>o]؝ݒid~L;߮\g>-#M?Zp@3nG[?>A`PK)i\PK(golang.org/x/sys@v0.26.0/cpu/cpu_arm64.sn@}JHqQ@b66T3g7ƞ+CPAk}1iCAkD[mQa0d,n^*0/l4!{__}gh}7?(_]`F;CH=>ڋ>:5Qxv@~#Qo0px:>߈~Z<5!hv fBJf~< J1&~G8/Ø8G"-4;^PKQEPK,golang.org/x/sys@v0.26.0/cpu/cpu_gc_s390x.go|n1u=nK)Byq&"Je=?u??Ŭ h"zm環"RTE,6^/1Fgï7B c}m@OqJ-̊ڭ"ج>@&;, ⻋Vne}~o-wx˄'nh.j,$O6Z #49 zyJtSfa&D-4h&<b1(5 yؘ~<iקK褣7L:3fwPK z+PK/golang.org/x/sys@v0.26.0/cpu/cpu_gccgo_s390x.goAo0+z==@魴!UTg[u<3mT#Bb/+%ffW6_lMƄ(Be[fs<>B̦cJKX#Yt;3J&[%NُHPr֥ٔdA= dZ1tq>]dP 'G!9 QhŒE{ƞ^⾤/./ƿ,+!'St';ex^RjBҦ*{q=j.$T핸,\KQj= 꿻9eosh }5wĞدPK®PK)golang.org/x/sys@v0.26.0/cpu/cpu_linux.goDN1ӧ8l,d!DI1A㺴w7vrے pwSX$ܺ*EI#ǵNJ$G#UH ;NH!h #I ǛO.gC!F M,#lכ {)Um\ {d>C>_ulT͗n +J5%h1n8Q7 ,sz Yo2rl+ kdDB~PKJ͒BPK-golang.org/x/sys@v0.26.0/cpu/cpu_linux_arm.go|я0WMO\{P 8bAf4#,/ f 8K )|ZLtY@M[M bA@LMRHyF 8%x*䥠_Ki)(<&%)xSfJ9 pbZV3j,Ԕ)dL>L m T>oNR=B&Ձ!5T.`9\GKZ*lڭ ޭz.10UvMUn_c_68޸c|gk?7TڅqJF;؝'gpgϽk P^J݅m]!2 _}E$+uZ#|3%{s MMTHSAiʼn gRhX)Mv'pPʦ._+$@o%6ʪos&d~I~o>+ O4\-?ϏvA;RYzxh.~;m̶QnXfa=\nR;5v2Xm>:NvnvL~fFMiUfQk*Gwȸtk0A0ls1ASeS|؍;5h! V-Q/nbFbWD-U$rT9 8; *(t,g`]X%H⨉  Aq 4+r$']ƕG]k67`u*ˡo:h`DtƘ$bw3 2J(Sf4٦OjD!KcJ~ d@dc׿9aG<;Z4FyDS3fmle1Mil**LkYTpx9໢ !/5'>qYQr+FTH2^yhti#vzm?XH|mu0K%9mt9Ӵ)U 43 LU??Hy;xb,@mi8ˮ"<;e5SYF^0̠ʹsY:/ :;q\U{>k Ҷ%wv:K7Pǣ{mR ڱ,@/ztqGq7g6.zwNS?/^eaKi/;]=%~GŖDPk1Z=@jj?Qb(SW'E,TJ!~k_&0t~8PK3tOPK1golang.org/x/sys@v0.26.0/cpu/cpu_linux_mips64x.goTAk0ϫ_zY֐ڛ͡$ M) nhoAǖ*Cn}OSUht fۋ-~j7:Eżfb KQUx`aOA 1G=#$_?r>WPKɕ+&PK0golang.org/x/sys@v0.26.0/cpu/cpu_linux_ppc64x.goMk@_b,H%E [AURaQȫd4EZJHCt <3N!ш]S6w66D*%!KfOuȢkK[FXX 'p]N(9·uGI%'e x!lW5kl~S̱BƢhn5PxzB0Vx; ,ͣ`# `PZmOu#eeȸVaFQe$٨>Oo׫yRlQ&e3ći|^>qSq|X:R!һJW7ڸ0' `lGnW?e> OFy]^KA؂ܤy̪69//Eedoye}(=rxԿla 9oG>>?g;PK[kPK1golang.org/x/sys@v0.26.0/cpu/cpu_linux_riscv64.goXmoFli>6 SrEQ NcQRŠ[/w%e6?,I;/y}Y06Em2r 2? J")ځE$ !|&8S!6 t4Z ,jp;Z!R2F|&yN t1SRcSđFdhwo yftq5V5 1 PJ%,DH|&GaȆxn#xJ,(l1cO93JKG^,8S{g*e4p K@G*XT(u*:};6=kRut=Qʬ\(LOnrHZF3\C2gQ]fJ3 Y&TQƬBgrlq0& ]"Ee/@h0*Aۺk4xSP9R3!2.(LVҵtG1Rg`Qz7BgZ/i<M(yEe]cɼP5` @A9Z ߥnB.PpH[{Y!7fө£:BzaRG.&K9(S{Ԑ2%uB5LD@-MѢdJ Ճw2a"jvRHNcp%j8ܱl|VxJd+cmDN e*c9eWoZ?u^~?xa1Lw}HD0k$xHv",cKb;4'O3#$G SJxӄp3H%A%uBCb&d'+k'?fD χv ^M'zYJ Q;9q.+/ѺC_)PeY 樨VR:@Aq ]1 P2iԫ1v줛3%;@.+^S9i BT\*aPصlHk DDyԚrYJ/)N.5A΅$lQtڅOnӉ S 1ȗPBqtf,jRyy{{kF˨_Sʃy$'oq{ocg5mu&aqy__. #12v96lx2+Nkn iRx3]%? \qQv ޺[Nh;PjDBm k2` Ӹw}r{#x|~$X#m 1 X<:W@YU4Q$yy߷ww߿0 vH` $lGhOr;t۩=)o<4ծ~MXgޏoYglnNX¤n\t*׾xŢo>O3!?C=?4&|[Kg|cᑿ9#DPKK PK/golang.org/x/sys@v0.26.0/cpu/cpu_linux_s390x.go\<S/ 3 X TuS9 &ؑ0B^9)tG_|Eš=<VJ!F76dH(7CP%l% juNUAu"-@vǧt\9ICȹDF(U+  [Vi%MP5<B޴J 8r[2(:"j붠(D{Λał`t%vJyu^jL7<\Q\;vls/)Yun6zx~ ?;#2V2¦O} BnnX,OMW‰r4 *nqmii!2j4VKTS{ O\Xegteoqk'Tc}~#JG|7u{J|=owKunۇ,%kN [_؅PKtzPK+golang.org/x/sys@v0.26.0/cpu/cpu_loong64.goJ0yQ6Răa]=TM`)d.G]1U}DxQZMZ!gcC!rs&6Ag^͘6xon*s 1BMcEa&3XPz< ',sS<#Jsn amO!љ&оbAwWpS|^Y #*B+ U0e,6shx58dSC5 %"흜OuK4 DurƙEe0ʲZmyVT;V1jTU9=);щPKc7(@PK)golang.org/x/sys@v0.26.0/cpu/cpu_mipsx.goN31{?WB(BR+̮#wGI5h{4X{$<+F-a.PȨi0Ψ BЉET&+rs.y"Xon7MX*?~~_PKO &PK0golang.org/x/sys@v0.26.0/cpu/cpu_netbsd_arm64.goWo8iZ+k`Ht`mZD%R%)v0ԇeu/Cb{~3CppPk@|e5D)J_0$V&LgyO#.2bd^@ReUyU$0ߵ;Ď *u<"qLﻜTh -K"H':Ǫw,"$> ͧp5g]ASSy-1a}Ff6xIa6:{ 1/,] ؐz5JOѴv@N0mЛ=lςxU ݌y8XxuJR sLգXۛw4rԉҙ Bf66i IEyȁe4?\aw,<1[N=~/&[u<TI<ḵWz$EKZ^L [NJZr]R\⸅G""ZGU+S~>Nɇ̓Gu:h< &nJE3*}rXM-橰NZRA\IR@ ͹fX b<—p߂?%M[_;EtL&QRi73(9I앶& 5GCRg%'uxr^ Bw.e nEtj\HTO 5 rBT)l32rדr>+ N:)قb.GM}7U+@M*4ݩl( 6;?"ԓ>%Ե?>\+}EVk_k}Oez]bRHZேAç+U9E(uꕁ?+יEW(ޮLznpsƢ9XF},նV4\$tMa[ \X{иFШaG& k.b^؃VI dY-fJVŘ dƏ?Kv5:"vsu#҆_i.[9nd~~g~yFp<29;(Kѣ Wu[d5t{Hݽaٳ㢽sЪ~ w>90hk*yK(C%3:dsn!X칪Dy!/{hcޏb/R՛WŬ9fK 4>s#<aVOPKj'(PK1golang.org/x/sys@v0.26.0/cpu/cpu_openbsd_arm64.goTMo6=bVZ.oشA9--,"P dA{A}8N'[370IB׭|:×ᓆUJml +K[0h<`$; p`uc2LN?!aۂ_k*%3$J [B7$p%_+(˜Zdb cq`b[ &,4dE1ZL׭W49I(Z({b[4$]Ӭn`Ixh8ҕqcKځL% |=>l.#q2fAzsz;Jd$LneZ-֛0?` VX!9[kr½pxz6?w:b4,NEX1 )qAA,jg"͌ḧ_CJ= 쏏ǩ[9hm5#|MO,H9Up[=y5;InqjMZu# 8_F@]q{$;!Bt4'_qxa!,_SP-i)˵$ŽE7IQƠ ~?WK-(W=Wir/F_GsoΉ?Iس?v-lZ-uhl8(O/kN %`PK" mv*PK0golang.org/x/sys@v0.26.0/cpu/cpu_openbsd_arm64.sj0G)~;dP BڅnF-*IugP=2leSrJy!En nOdʲ /ZD ' :sW$r;q04ZF ܢ!"*Bq62O[azIFz]U F7C3r}O8Tl1_y  i]L>?~\JKͫݫmVHU !0I \ar9_gL\hpY%p_ڧsKa&ĥ;7Z̗v{PK-PK/golang.org/x/sys@v0.26.0/cpu/cpu_other_arm64.go,J1{Kуz ^Mf7qf$E|wx=v:/p}yuLxRl{Zmm)8eC%zq:e6 Q  % ֖BWHbCC 0jLxy_{\hKª/X ҉:;?Dswn9oPKZ7PK1golang.org/x/sys@v0.26.0/cpu/cpu_other_mips64x.go$J+1=O.".)d31rh}w~]"cج7kcƶՐvƈ߬(\N;2jVeŘO\{3,WZȗ+㤌l =c-yHB n|c1cDQRbLzs"{#MhhIr/w(qZ7PKr7PK0golang.org/x/sys@v0.26.0/cpu/cpu_other_ppc64x.go4MK0)`#c <9 Z9M6eX]V"%a#6c}^v%SsHL%{"rB %j }8QdЎP?>\<:k򉐭ʣ%txȖT:vT !en` }|G+!?UOC+^CEmky5~Լ|^op e7WPKnVPK1golang.org/x/sys@v0.26.0/cpu/cpu_other_riscv64.goJ0/lú. ^V M`HJ&)Vݥ>C"Soo51+ +}GCyD ܊c%ǰ|u(2j& 1! 50^OQ"wDLah=.E-wDuvb-9)I]l%67{^ﰖ4E%S)m6dK^̟֧/o,^IwPK}u hPK+golang.org/x/sys@v0.26.0/cpu/cpu_riscv64.gotJ@u)]BMTJB5ZvLnt&̝wX[^wN"𸹺kAx־L?1k( D 6/4mAٔmJl!q_ߖԶJ0CIڤ ,lϐ!0e Y5T_2'BY*h zGeYm >>^zLh $}h/8Zd?O.]=g4n-=PKr.&PK)golang.org/x/sys@v0.26.0/cpu/cpu_s390x.goaoH?ïFvbNYq&&{{qnothԆnM&?U6;i?i#1; G ntf0c24=`8pAG`7Ҁy :D3!A凾1**`7B "A/~_. 1\7X#iVT¥pxQJڿVje:]xr]g:"Sx]dmQ.+i/-d3~W҂ U, ]U ! JU(DŽQ#hcڠJZrd+_VZdRVV*`}Lq'u\BauXQMNxC#tAZ v@R|@a겟Yfΰ_-cilYT!L6%UպOb`ʺ4PoHh/C), 0B(fGB d"~kaZS-93Sm&>j#TY5WdLf#{/Z1b}AQӄ1XF'E}b}5WM;bvicɏi=ihӞo;?NH69[l`ȴ|EZY!U.<4|C ☧."CPy }Ee7Ss*P.[Wk9dl̪Qih]lU\jJscz.DAJA.1-9P2Uzq.2 1|ۥ![҃N jl ؆Oz쐝˓St$bCMNeʹ /I\{eT]{ެ78)qfMw˕sЛNǀ7x.{W^䧹Fk  -@ blh"=F/7j ^}ULs+cTڌ32CՙVI(ZPwЮW{:_]:x+kMA6FJն~%* DR^::`!=&1Sc_<ꮄNxRnU|=:zpP!7Xb5HZہ 9o6g&9:^QVIssVpwhu*udJAys rJuF;`0h_3zʼn˷v}q,ʛ'͊*mr{%Ҫ9 8b_muC(Hs/$,3 Ie1+l( C>.%qC :j\\#)]x#VZզO^h%$go CBݺwF/ (M3(O|}}u:_Z^I| ilomɧޓ_z^oPKR%ePK(golang.org/x/sys@v0.26.0/cpu/cpu_s390x.snL*^ccLBH m{'9N@}u+ 4"-{gloJ3FXd3c]=-;XrdH6V _,rp !1R@6'x|pTviP F"rĄ)r 3z0TjC\(-&]HӚZ| "Oxc)o&ʱ-׮6u淓ϛ8MGuTF'*!6:$!Mkz4_lX*wNXG-jsٗh::! ʷY4D5Xa m=A+Ǡ5S.I6_'#߫DųMǏ+Ǿ>x_BM`eݮAڧic˲SHiɹi_5JfXxg~7Ax,VHL:MN&;8'mGL\6|gV)ax șSqҁxݰ{u_Q*A# j%OY8Ϫz:<~7 I%VJn# .&&51~sd`r0'PKndvQPK.golang.org/x/sys@v0.26.0/cpu/cpu_s390x_test.goUmOJ% <R)@hSpU{;NIjZ̜=̤рs3[5Vc%u1t X4C09X9p)Bj2`dfh5f0;GTRƒ )uJ{ WBLe!;#!dj,A <ߖ}Sz_Kd?2ԣQ殑NK_B̤wx<ݢ#xxtd˔YxZN#Hx9J*-e EsRiDL:,g/~qr FЌl/׽m`&jp 4?l"{W6c^]}qMV,taA7Wm}Mw[^e "irPH3|b9r/'(P5T#@) mάq0k8\,R+P#K~Ԏ@U⇕lTZ܃jyzzt~ݣvNEoK]+GMR@Mǫ0$e4UwdEd_uMҸ [^=a O5TnS2rq/f3 N X'U-EnE@-fSl"➵~§)YeFjAErXn,|R+7W R9P4^n,I灿 vX1%q@)odM> V9,i{i_MYo(33 c)B5Yf9jZ ]wةFfJ6h%I(<^ÛE6W3 (8 L\#t`?د_@|c&[&+"UV?&ίJe'I vl-nTՊ6*m_PKQ^PK(golang.org/x/sys@v0.26.0/cpu/cpu_test.goUoHfr䔳/Hy@B'AΘ%b 0Xl :(~BS30<AgǨ sOHI["ĥQiBXQ Nj4\=Rl#"gќ}kQMW}4x 0BjE˿*M%GXu;62u+,o '2mU5!OH >}ϵK;#,l"0ra1VQIFr4yҙ;eUbVo 7zà?Z&uZR=Ka{q?jO^@2/q2n5OۏB1 s!a4_ʄ]*^+ My3\ ?-Ff7# m$wLgq*,Sv TӐT/ ] OW$ȵj[%Q\g7wO[ltR"و-+KzZ_JJWkKߔPKˤPK(golang.org/x/sys@v0.26.0/cpu/cpu_wasm.go}ÀK+Sv}?2{fՊslhl^8m0:s1Q&}&_@|cT^[Dcx&G$1j"x|c,7! äԄ1&F'i+8Zd:oĹߨ $r= LG?Qڛ7ۧW:03?'Jk/0o=:H֭S}kZ j)oB*_0!]">{Qks9SA PKe1PK'golang.org/x/sys@v0.26.0/cpu/cpu_x86.goWos>~m/4S^)F hjd*ɔwEed~3yA]iYj5śWN+ +^V1tB7 ]Q bXuk5* A"PxaW p?bE4@&H9"NX\!r7dԛXOf u8=>|`)M&SZ.NVҶLړE$ʢMs*I3;"Wf_ ?`!aQ6A;ZԿuZMM1! 2UD!'yj@F3=KܚT3H(SF @jܷAx1*uOJ" C &QpQ /*pu]@ O1(Δ, v^0yKN.~>ʋzK\Wb>!acqy8fzqU4[n4lxZ-Out~z]\8CquC,dS՜+^qz1nZws*l łQT ݾvKťHowP88.#ck]Jtǣ#$'egil*~?1 Ck9Bw:eM\lA92zXtH+MH9DY*!D&E" `nK* r'G BcH?%  t 0x]iw 7rHu1+>M;H66d~_E3j>T=UBjpIKD=7[8P"8w1K}oNe~fvMlq6мElCWs6L)gXe]AŔ{ KGF`PYxj^ʰIn'e[QCVS[cPV)Y\wڞeiW;64 *ߨk%S (^DdnM, LV`Kߍezg+/O4с+PKiPK&golang.org/x/sys@v0.26.0/cpu/cpu_x86.slю@8ٚd1Ck*f~`f0{O i{;Pύ(J ߛ'եl AURԜ,ū" J #0 B'jjH>lJ+2W`T+.S lkQC6rQ̲\_VTHOYQ{MΫy[3c+.h 0e]8 ]3+ aF_Xw_vmom?q$W^ 8Lp\ q̡2񅭓Ğ70Lz3{7}o?soWNm.|a&]R>)ozX|J PKJSqXPK'golang.org/x/sys@v0.26.0/cpu/cpu_zos.goJ1EWܥ.)ݻHAT? MLd{)K;G6am񙈷}T{V4*ەqp/%K[ B(ze+x9>+K`Q’7_p!KX"OI2L;7[H"_U67'>#aPKνPK-golang.org/x/sys@v0.26.0/cpu/cpu_zos_s390x.golA0s+ޑJrj=P]$Vތ3&;8hj={OO. C;t|n" ·U+0> :TUQElX sRijI=ؐBlt' !w{U²R6`^){I r(p8ƭ682 KTYr,Wc}c'-V?OxLzޯ3MݗS77M];rXkfeyg-E YpVSsSr}U)zUYSUPK !HPK*golang.org/x/sys@v0.26.0/cpu/endian_big.goTJ31yWLiˠZIn'$ܛeVq}r%V11LgxsMĢ.X-ƳIOd UxB#;/ر!h ^q r_rҐj t5a`##ǒ ĉ3\|x¸A,{kCfȬF Kdf|~hv Y5&AM\E*!k\\tpmL{;"[0yj=5x"5S⃼X=Rt]?ԇqn^= cӠHym_M)%RL^'z\9t!%)݆3=PK?':PK+golang.org/x/sys@v0.26.0/cpu/hwcap_linux.gooo6_Y0 IYVp6-0,Cb/,D&5qɒ }<=w|ǢR[#ޡ~UO8Xxkcs,DmaȒPGK-\/,&Ժ!No(jڂ?YIYCVV{@(/ߠr^<4 'Z-:P=7fK:dkwzj$\Kl< :GxYS Dۘ9!>R\0 MKR:֯b]TYn٫ש*;̈́,|9fʲ@#qa al,MBC@Ҿ ZT%%  ,n~XDĔ_6LOxxSId􍵹ީ$9T>=/8~Iǽɞd ldSxfnN 68cc8p;QE$fsǻ18< 6O'/4}T?PKPK*golang.org/x/sys@v0.26.0/cpu/parse_test.golok<_[PhTq>/.c^1TH$g 💤AXGH1t320 5+kcڲ!KfKn :˥ՕI^Ed j  D(<R] ?=,<.ʂJEFHʊ1)qY'U3v%7*HXZuTÞyRH1o#~kñ%9rfl+̙E?=q=y]5os#A0:6N &<9' (DfzMnt6 ڭK+(Qsũ6@aΟ6C7ΡXyrYH5b'S\u;=`myu7 m^^z܌ݼN"u]0F?wgW[nW(wB|x}臎zǏL\5ٿPK}xjPK2golang.org/x/sys@v0.26.0/cpu/proc_cpuinfo_linux.golSMo8=YJMPԇh {q- Ai@Rn"}Aqm/GaUa&8{wvIpV|(qa-ORUA bAz_ji-yG V;hywrM.b#j"]v-l~}?aKRUɪgpr7+^W7Be9y/>*YWu:j] O(oԳ+ga@81BByӑ+RWu׳3Tf8meb]g5dÔ3+RV{z)>~j Urү[0CQe肥#\f8ONN^*rHW%}:@k-.Dұ0E]l\e k`7>B)ޞO85}/r'閯2$`Ʀ`?,H;Yu8ȾLx9nr|?URxEQj#jݡ%O{@RZ[kRYj޿cHڭ lR^ -14OU56 ⁓r5nwTA#j; 쇘 m0.pmL;LTdϛmQ>gNLmQ)Mx{/6X?CTl2'Nν沣/PKz嬘ePK7golang.org/x/sys@v0.26.0/cpu/runtime_auxv_go121_test.go,n@E=_qF`-  ͎;kP%yΙs2buxlNS"' 55 ~&%$ɱg20\c3:|}bysH :E0xbtk>dXyWDs,3;%&Ȇ k"s礛|ZF9ϕw7WKź+ZVTh,v,]bÊVhkf nos\Oq[R?ж0ޅ|2P^-/Bmi^y@O $}4񇣀FTT+ PK̑lIPK1golang.org/x/sys@v0.26.0/cpu/syscall_aix_gccgo.godn08LtR}Xx|#z:ݑFu}Ӝ-)D҉l?232d-g8>Qdu9P73AF-0:' \קG >P*L"- G,t4C!`J1 i *Un1r$LOޮUDR43zgec]u>B~wo*oZx!-K& [e`:3{Bƒq,YYV\8lr[<բԤOf*JIU]tJRPY->o)(w۴<}ӨR2nIOn@˵)EnKm/˳SWe4jC5HӶQDRRT՟PKuyPK4golang.org/x/sys@v0.26.0/cpu/syscall_aix_ppc64_gc.goOkJמOq"X'N="//-Bwzt=2'(e$qI-4g5\?xڈ|inSln?qSp{VdH0trO-7 edI;%@[Ė{mQ[ݑt'0:Y}@pG =GR<2;zdP!D 8ۇoxֱu)mʍ渷ņr^:jy*r&%m>}/GI!~%띏X< !瘋<@{L*fi wr8N;{ܯ߮+7?:~"Dz1׻d%^'o ΤG3{onN>k{zd> r籞7S} %hYV%]K/KթPop S~v?S(pqˆtFS=#"Rg#0F pFhO?~␭#BT<4m!u|=~?Bk)NZ5(0}6{l'!5Zw7_.qPM nLJ]9\}^ySnuo$U^XE1{efL`[1#Kf"t*3GO`"Sm?SWOp?aP˵Gⶨ7G/!ɕ{-`l;u"*:4/WMs嬊*b]R8#YɣSWtf4ȹ"4 /7M]ˀ|qa08/!<1sW TIf+X~@S*9@ҹp|8Y FG͔jGdSV ߎ:#/.E;zs'-ĈD֟3.6.ho;(P]qz#˒:@YbA3Ӹ֪(ǮgfiJf'פG;3)bd'Bs3+gKfY"|n>e=St*v;vbD]D6yԲH&jpҫΪjl"Eh)[ˑefF7G"+Y߽h"d10xK*(UbI0 at:uƗy )UeBg7q:p'$\W?vjDd^Lbc[9:[ƟHcH%R4szYl^~RO82l9oX e_t'cK}Mɍhx?xߗWӽ$5?Yt_ *V74Lz^sOyse)YL 32ΖMG"-PC EcS6ʳ6l?|SXR9ʍVO/r{o[7PY-^*6܌apf}m^f)-$+ԉ"`}s~WyFQv\%hp|.DRV/񢁲HE[b}?U 7jPWC1o{}0@^7S%WyYy>,A+=@zoiL/{1i xK[^9+@ڶB f[GUO,z.PK hYPK1golang.org/x/sys@v0.26.0/execabs/execabs_go118.gotN1}#+4q}N{gXzɽ-ָ='o-|OPKaFLKPK1golang.org/x/sys@v0.26.0/execabs/execabs_go119.godn@Ek+sO)4$`U;hv"=)ig9(E]%,K|v`=N4X{Yls* |E4H2a ʙ5E}A1pU  ~>;4sNT<׃y":Ujæ#O se*3ehA Žj4gUL/͔Ӡv!ôߤ]Zo=roz{5#<]/PK xPK0golang.org/x/sys@v0.26.0/execabs/execabs_test.go]o6ǯOq#QVl|:iҡk:.b`#3Ej$Iɑq7~y󜟨Ʋ^)6- 8}q 7%•ƔR97AF5< M#L4h٨ !90sTs]WmV.2@F"90Dxf|nr 㘆aM"3zÐUT0 )*%gMM9;aX6aP&$CdI3Ph}iXhJT.Q +6TZ Fm4)HN?RATIeŪ*)*vcYUTxiDzfCdLT6"v#^SCyD؈.2B GPXmЈn5$T8+$Lv{aPHsZ(*>[KgZ m!A? wmй1=s+ͦ<h-zU}qݟ(W'6k5Y0˅57"{%"ub_3Ѧ~LD>Wq>߮ ޝ%"8=;;k达6ʖs- "ws )OGRL3=w\֚u5@5,sF*6u7Gĺ]hҟJNoq*:)6[:AĶ~~5|*9g[Ma^go2ympFA!38bJtԅ49ʷ@=mvi=2tZߞMhZ{˥ðL: I]w=EC`,z=H {hh^VDds;*u:ws{/PYo?onÏ/O_B~'i VEɽ' O4'h-ؿ:m%cCd:mjok J|ENEq}Q|}SÿPKKKanPKgolang.org/x/sys@v0.26.0/go.modO)IUHIK/Jׯ/,JW03PK'!PK$golang.org/x/sys@v0.26.0/plan9/asm.sJ0yAaS|m)6.B"'>wLǯmO_K+x<5~ݭO7uiPK(6QPK.golang.org/x/sys@v0.26.0/plan9/asm_plan9_386.stN@٧E+; QGQ4S׍=YZ;;OVmZZŐ}lw}0F0Nϱn_<.4>p kT| i } %0  Ko)Y֔ aC}t4]Dm,eJ3"=Jm6kN+zjQjk|>l1jD&&Wl;G˝~`Ԓ-ƻ}$E!&ѕ3NZcGIx)^\?ݷbu{NNgjtu5;<-/x~ CG[0ȡ5 ~aPKCafPK0golang.org/x/sys@v0.26.0/plan9/asm_plan9_amd64.sn05M*4r4FEĭ4o˓~OM T<ǹ`|~uKq3ZgF pCu?Hkc 7 8+?XKɲ"iB㣫a%\]/%c)Sq5HNY{Tr`AtWSv8Il/# ~Ůx-N;zK9b{6Ą&*C!:1vBo|wR|J_}^+WW8V˯ɟ=ncy\xo*F>:{-hgŢ;#b6>QPKQqgPK.golang.org/x/sys@v0.26.0/plan9/asm_plan9_arm.stn0S|*HfWKǶPR*$^g3n'Γ.I۫~3߬Vlg!|bbaf$bJԔjL-Xǜ4Adž`]|~eep4Rj LZ m̡ CU;QYol.7c'iJs\j`!羏IƄީp7!x|ǰw)äb mz|xXOj!G}2}Yg?凓ou}v}qS|??|[%|v2+7< W-vӓPK&SPK-golang.org/x/sys@v0.26.0/plan9/const_plan9.go\n0S챹$k(G()vO9W2bh߾XROtۏ;!{vjVAyXh˵jm}:/lV¸ȳkܡ+}{C**5nsaJA sm;4&9Wrc=c"O(70 z4*CWDHI5OC Bºpƅ6362G,*w>: Q)Ė^@d@*UllF*R/"tJ|UmR&Gxbl{-[Q;L촬_?V|ow.pfCt;v%>9!ZuOsԟBYf}dS}IOľ'`3U`<"!)~*"Ńt=tJvݰPK<%XPK+golang.org/x/sys@v0.26.0/plan9/dir_plan9.goXms۸L=h;F^s(3sLIjɕ (w%P.M]bߞ+\m_F#*N%oL)֠PZcяrlTkX5*d`Km6Us@d وS"|<X 1|7Ppj5SdUŲQ:_aU1&y*%>5SЋJ]RK x;$ʚ)Aӹ k{65RX@``5>Xy *ʞ2jh`  3åT|fև6 'fJh0 ?=GC񈜬Qi:$:Ce.eqtEQchlNj௬^U'\A.a\hkWa3qtt`z /kY,k8\lhqtk2:dVmڸ'*1?PqtN P\St7d6@8:?xNqGKSk/AVVG~Q\,XaP;V_.1y'Pь}Rf]=<8Osֽk ~qJRۃ8xDy12Ǒdo18Y$|Dk y~H =_vAh |)4UpTH€M^U j0j$h*}F=[K^ma1xшz|Ub%p0ׅtPA,BDUĖT J^)HN$̺\\ CG?Sa6]h rzGуVR;=%O3#'>u =v"Hd""h[p:'w7xX}=Y_N=A<_ XV3` !ㄫM]jVURV08/0BuFc\X`=0N4@_6DT^=C1㚄r{t0atȣVf"#z *oaNvwR>+m:44OT4VE!y \yH| dRV)d)l'=3|'^Ekoqp-TH\qt<~qӮkB!֌ Bf+@=HRX 5 2yuK1#qe7mp5 1DQp&@׆KH؋w8޽0Q'(b, }oo#tE%|SY %# hL$pvYr :tr$Ajkc_?L'J^ɓoe!9c[[gikHt߻^1!vo6\̠S2P?d1ojUe*mH0[V$s:XTw<"93.v>yy{L8Jj0~PKqTfPK+golang.org/x/sys@v0.26.0/plan9/env_plan9.gotAk0ѯxdC-l6R iN"Ȍd)ʼnyISl\Ӌ?Kքú `m-c!OQ4\PZ +ƣr S_>ʚBrka}oQK+wF:-Fg|TռRʜ'}sm\J-Q #A W1Nۖb\%sP3 c%W>Vs?-pA"NXlcI0<)#~{P4&?y_PKjK)+PK.golang.org/x/sys@v0.26.0/plan9/errors_plan9.goAo8Szz=,i=!Mn A$]mOO=y mI}-l3۝;wx i@!;&<2m )E0l΢$Vw VcZF;AI :X Ƃ!,Lip$T-BH{$fߒp+4Iߒl=(2x>Q ͇_&|mQy&gi '_vQf?O"x_&g~OjKQ׺G#On?zGhQ䈪a eܶp'G¢E^.NeZKv,5H {Cnz?Y7o޼,J%5.m9UN߼y,| Qk?8$tk,I_+Ii EP5::?w1h%) JLʀOҸȲqdjaA+䭨Zgת@!%<6 J!{tLE'Ѡ{y|=v3׸F uPƉE9mHPXLvuUI"ht5z|k;(>a/$Ee_ە9n -J%trV^+rI屉"Hּu[ߵF !mO njlT찢k^k zF!;OiP%b٘ ZἒA w0~RQm$B).J[_B@GQp_#W:Z,&4i> .-N2I@%%GCʚi?k $c V6xh¥1]S*U޳IDGYƌ5+_l, a\`LZ!W k^yԽsykl|W%hr)$΄~ڣ35:?:_c«w̆K!aSp܍A7<0U`)ʢ4q w+mc,{{mY(.ieBFx'ŷrYrD6BK3Js:"x`BBGl/g,iUMzpXhAuڂкc4y QF;u7Gʮq? Ͻ}r0B2L["[lS",_3{T6/rv?L9F"ϳxn E|.2EQ2)!|{f4Flz 8٨hėɏ0Q|DZ.j7^Ae0Qh@)oy67lyIlD*}$8|3em(=4)p'^Naq"1< < 3e9y{N"gl-+?`ߞ<{QQ3{YE{8ӥYbk$'Z]WuKϿ|QMq/B:"j]ːv]Ci+ dH= !~/bä$9*5ClQkݏZȷwy2:L=ts< čsd/Ez/~gB{aB<SrpϠa@O&.?PK~-+!PK*golang.org/x/sys@v0.26.0/plan9/mkerrors.shX{sH[):X^v(w!2R(FZfx?%죶PygG/k'QL@G,/(>9~ ʚ.Ҍ@c2Lpv-tC!]DHB a:w8K&mzctq`B$00Kj0bB8Y@rqDhgY)t38YĽiBhPtwA$TgYeӰ%7gn;^ex!&$tMsFn5QB` bJ3 +QwUuTTSPշy>r`;u)+#%abQw䞴 }G I( =T&iW Qi;JC_}y +8˒`yTvO.ʋsDpsx|"aMy y:3QZP VA9cXAsA+9bXD(Ѕ#loR%BF [s]7|x@7@卉] u໎xOv{nhv]mxrd;z@e_mgnIgαz>K*uS2Ӯ=-\39͆^'bOµdL1?2;6%Cu^V8ҧ1{!3XJܒaM9w.uhC[5IfvusYgž+[q}z_̺UMg9W_v K%iӜ}\k\Y@ާ=S>g@:V~t@.\yyL=_R\ZT{Ⱥh̴z1SKqa_7{{؎nK5ev߱՜maX_$=ڕ{=5ja}C3A{>/LFP[?Q"4?p zq?g'fRuGj54h*"Ὗw yʻ{ǰiMxB`fg-TtƝ1uN|+oCѱpuM aMߌ< w ~Ǩh>*{SA4KHM!(Ǘ)§p #:>;ـ~^-σ 7:8=ha(YO[y9A(ML;|] L{-1EMfnqi( (<}ro3~6j-ߎ*w\T=<;#u<n.IѩޘETqG/ 9GP2ς%?,EW '!}͢dN淦hHQu8ɝ}oEeCc NgW]Xz @DEl _܈ "/x6wi4i~)A.:1t ƅ#TJ F>k9%-jj0a&H</I%F D|d]e%QY),1ЀF!˕TTbqЀωP-t%p,E =hn3o-(N5 g. &p:C}Q9@IG = QmZ㢒_]R!(P&'抳4D zJltբ{8W<6˨ViBd7^#4 Wd=kKXk602B!Ɣ-ShI0mdMMpRjq(z2єw{oy|*ϧnNdtWIF0[ΟMjvBfAsB^NxOX84EVGx+eS" n#XG'iC0+ eLݠ 2 \kAul9ɘT睑޷NsDE ۄ]qo*-߈,#Li .SBZjD\[IʱC+JfkR:df%\{L%W0ʮ-%RHXi8* X存\+XrŖBz -^ϟ |/2?K~[7cQZ{]3'Je?|G`O\,L~݀LX,4܁vC .&^_ w In&TK5[*֛p .M0w We%탖GTGY4xd ?sAFB"6*mQr22B5%ra-OC?Dw 7v6.'T@ɔvk7G Bp.^]Jȯx/ЯV2^t~OKpjURg&,ΙS]?`}e!"PQ{mtTG;"[`.Dޢ w+_ipZHkH: ҄㟾!b[6V/PUcr#i)R_p=>ug0!x6ݪL|~+l0-6z#u?VRE0 + P&(41jrE>.X "zbȎFPF5u114 FSs1E&/ .@:9MZ6J60(O^0p:?0c"dv&pr"#B2~<J?D5sGQL 39ݡ:H4Cx)»1)d%,Ol9A3zwůg^_`-V [*EP&~-ׁݻOSd4Q-l}蓔O\pés4/Urќaw1Jb]+2 Y:Fߜ}u9c|o^!|7?%`^ˇ]g!tֱ)9g/;^uޝS%)Pޣզ2A AO#8~QĄ<EkfpE䆜!6љ)`p4asfeb VOB^.JK5'>mwV6,/7NGbJeom-2.L.9t-2aU]mwQq6:>=wzF84~o jTHWPhV0Avya'UWu#|$H${t0z1 BCGp҉ڽB{j= MTomQՖ`w=+ES.m׹kԂEꆨrWXQt&&J&zS|N} iLpNa0|F'x&B =ٞa}bkk;͹ˁ̮"p7tmQ5 Awar2`1yL?̼ Equ+JfReBbnv4q4. wͰUpyWEaU<֥5,Sܥ\QG4Y t\i:x89K봹,PGJ/ߜ1:{%<.~=~K8? 8bv}JCL%O:. JUif\9 h(-V/2m@f<0'ri6 Y#7B>JUƮܩk}{#^l"?Z ZlzM@ cSًAU4dFPا슾mĨX45-z߸j4p bziRݏ ;Ip#zXQp '!mauPJ<~\~i+:uDGNN.kj}38HpHBk[VyLpDQeχq"u4S;t G|&^{ }PboZҁ+:B-vF3цi7U{L > fХV=±a]Uܬ]s Ԓh(q,vŁ[-n4i`@Z&x Qa 2,nT*7eˌY hOX`F86%NQS%h ]Lg!>v>/Z_ugA%jpE^HCН؆zc2u]`E=0?#umh-7hָĖ1D"/ڛ{pc?OGGH2<8A!y`'b!/\ v}ܵg_Bokx)᪒mKnnTyDŽ^ 1 fnY萣ѡ3 BVKkpݕ_M~'mic.ewd ~ ="d7'_MCF`f_۹{WVF֌?c|Cܚܕ& ;s]|4v6ຆHny򋄶;yұiիzn'Y} @edY`C-/m+SY45+cv EY[k%\Z-6FcL?,PMC7Jni2Uoڏw\^nmWhT3ZR_̙8#%d&.%]6o$V7BcLޜFPmΌKYk *]`'%TåT[A@=?5GOAϝTi'bv˖wv 5+'g~NNfnOhTG`Ŧy>&Rm$-݆AG {׊qs2X؏Kk $>ƶ^asD~n /.U\!X ="ڳ +Z">Hß~$YؚnҟpߪƸw\OHP;EWQ].m\'̀a!M:CKVm;* opusXer )^&tT?p**;o˃>)qwc/իRY|S wcB'>hHW)˦k #wX>غRTz BkaAoswMV]AaO\&Ur㝩Yѥ `{ K.4p%4l%tEŁ۴RX8ƮrEUG9[F{b~Hׁt\N3!dvc?d.ݣt-Y.fA&惖q|q=@ =࠻2#B1:y1ˣUg[/\kz6(i,t`80]yOђ;R`su͟R\l#qx i 7iߝxw`PKſ@ 1PK0golang.org/x/sys@v0.26.0/plan9/mksysnum_plan9.shLj@E3_krYNLmlMC-J-׌cID:ciE”l6Źx}mm]]V YExO6 舩;Q11ચQu Xܐ9&J;`O8أ)Peq*qJ607>9Fل+?ȵ|."0}߄u,(c5d 'p|% 2ZgB:%a!Dn OWkxV`*0WС64>Q5Ln)u;!zg϶C,H_ҝR r%7ʎZ'oPKv\PK0golang.org/x/sys@v0.26.0/plan9/pwd_go15_plan9.goḻN31SR%AJ]!BB4p콳O{ 'Ļ$47uUmP\]xMPX*,S)0 |e/B( 4DO3yXn.DDG, VlƎД>{ LJiFUu[nv}LmW c:^mKķb"8ĘM|? ߘT+Sez >I&9{`?#O;aV+PK|?|/uPK+golang.org/x/sys@v0.26.0/plan9/pwd_plan9.go؝mAI=53;w'"1 ^Nl%~css0##˖MIU Rg#bȢ:hÖųAϘv_+g5HJʣf4!{:by^Kj:[g;`<(Dn }.hTdUMt1 -{U;6$l'>-oe'h;eŎU+kԧSfi{XNٰދM {_PK2)$KPK'golang.org/x/sys@v0.26.0/plan9/race0.go?K3AW1Oi:*({swo{$Eڙ燐6ϘS qC[K"BܻJ4 p ]0 --47)o=w;CIDuтhC '=qX>hgT]w)[ ^cPA7+އ3&ߨH-Gj 2vO+'*1gn>hk#z N2GN|`]i;>I^<}PK pPK%golang.org/x/sys@v0.26.0/plan9/str.god_k1şOq(H;VBET!3\ɒ?#Cw/>{wr}<~sY=5D! 6`|˞6R*5XRCik%E{p(rIfb8]+l\>>̚1M/)*" @xTmr~rjr׬HXĜ2Hd<2l]*u/ R >\̆Kfkh3N uJE*cT@Y29C$&:y.ք ~ʬpN`8==oQ.NinE@<[|t2:(~/~,P7ŨqpNnkdA^-yLȵhB]&\cJ 01(8ɼS]<5ЏK (<ăFCPǎ \pb#c 5!Ym&JYxDs ~<Q׎wT) I*ivÂ3+ԴB3'ZhE=T w`Y~P'E3aa8t6 d%F޸:aE {2 Nd&L>_=6t9| JA^ 7+ T{5_(d(`fAHZ*I4a(s>?\;+=,aОV)*Ȥ0M(N pA'tB}9 ^4d=Nd98͢-PW4O‚'P߈|Ūu?)X wwFV<͒v9{O[mvS^OOf\'pl3m<骈IɁ:v,Z P%; @Q@%踒l9* ik]L}HSب56k>E*Pl7bV` \4b /$2<e2ݖ F| ŸYRVh=X/Q> ?kk/?j9 ɫk;CgS)r$|"znN_Y Ikrs+cہθ!{E+<avVzmTjݔ+V)H|z@Jom\je5&Rl]u,cڍ@HKN:5[`Ȩl͸iu8YՓ`  ̦UYW O՞H} -Zي*RQ742K]14Xgf2Ha5x<2" O"ș-SD%{+TB59L,豙%d]zޠTFxt԰)Ï$t{sݺn 2}QىVP)/2y&ؖ=D(4^EC/ٶ\e[msN/Ui CIJc_Tn5wcŲg>m9Mƣn"ͪsތ PV@ea?kXII1]gk#<mdM&4w\:}W+feiWҰ/6n'W?[=}:Y xwy2rdԠkHd?P;xB%0sH 2ZehRLZ$2M؆BX}cڬ`|S-P?U02вą{_go|<+]};W3v|ήT,̃-gOzFVOKX~kxVfϚRܴ{=(PM,Ë Aiwf+VwmA҆qˍGQw-Z@Z7]G}ޭ/?yZM;?U7zZtQEEӢvaZZ$=ֿ}C~yn/.˂ڿ*Xu7q&;l}~Լw_7tG ԲOPK4 0PK.golang.org/x/sys@v0.26.0/plan9/syscall_test.goQMo@=e%$SQǩ|pSjUrkVڻUWV`}{uMGlZaq|Ȱ4u@*y@p5u$"-Uem࣡etI6URYl lm-mq.PkCy޸Ӧ(I*wS`!yLDrhH!"8l9?p #E"DvM"&o&rIc^k$%"蝭GH07 XmF739Q+m;bć9^N NDti4jzn^kZ q^y0{V!F/5^}gEË%E4U璯%Mq(SOjG'L4+;H:FEDPKPK4golang.org/x/sys@v0.26.0/plan9/zsyscall_plan9_386.goXmo8~~`EzvJ4kMUUEN0)Z1z'@{97ۙggMK ,! yiy sAΧ XJ}IFzŰ3ı G4 q10 shCFc,sXt+8;Χ EZtUQ0ÇL?j` Z#kb8 W7 #x Y#UpwG5P1cLb0PO8fJ D'5a}fy)J5u[ Ӕu}:mpuH|#TvYܛm4Ox.d ".V) #ϣV#x۾@77M{`[DiMUVjѫJ'.*ecPSMdK#LTџs擥Pp - G"pJ-pȱYp*Iij.?Y9ضFu)P݃UDs+Gu08W"BlҊAM,ol7Sv3҇'/;k8*E5?-O _+OEDʐcaYe{Nm;Yo=uv>-4pc/@˵Ŀa,[|4pv5ey{kkWMeW&odQڣ?YFɹq'4K"X?WEv:M9Vi\=z`Rc73lU:̽ j~wJ{E!΃fu@=/\^^ti֨iiʳ= hk\_,\^v'W]u3S}OR=`+|`%O9PiGҧ'wA:ɣ~6_PK2aPK6golang.org/x/sys@v0.26.0/plan9/zsyscall_plan9_amd64.goXmo8L~~U[WnWTJI"-AUU!Cmb[S;?-!iSfa<<34S)(/(Gm8g"ù@D VSV_Pр.1,0 9cD|@3@18د={uMk4, #? @i 5->$A MW:cslލ`` m<5F5-H͐xB"LϞ6@ǜrjÔ5! Ґ̵Z@>K)MkҮR?]j?G >`9 s* o05s& dڳۮݘD07)k7$⢭T 2V))'ϣBujW]g a4YU^hB'ۚ!YtIX6֭I05LFYaD,LDiP|h̢O8'ʛ&-~ #*8\g[Xe+PrT#j  47 BĿa,|4vey{kkW MeWDlC"o)}L^**oC/ƍӬ,b\ *푤6~Oѽ"y)60&&\{:cod>7A\TtiVVeyf.Avm뫅<%%wuS݈&k~M^R=`#|`%O}srҲO:;7RoyG} PKN\V PK4golang.org/x/sys@v0.26.0/plan9/zsyscall_plan9_arm.goXmo8L~~U[O+ݮpEZ UB84Ķw~[[Bfa<<34S1(/(Gm8g"@D/` cDzN=``8^]4SfсG]{MyRujAG3̭K2_9sq5aUV rwX^~y=91}xyc:v 1RT~Kj4[F+ۭ=r,m(>2=,ɺ 8 Y _qJΰ^፿V?Ery+\LS"6ZQgڡ?Y>&?)*oC/ƍӬ,b\ 5H[ {?q^qU]V3;ֳwοwlt>9a jR!m6(% 8uFEFBlRSh39V`; J 1o8%^Üֵ1d%3X/oTZNˠ(Uw祿QgA HUkKŘL ӭ֭rlPK+ `z]ԢءR+)@c3tlḋq^CJ-*(&Zf+{.'J_o9JNcAIs>~'zw.GΙ #0}v X "G)wi'FsxvpgZr$Fi/i߮^>d=CLu6JmU78zV }{ Β^//`/5jPiTR@vDYdlk{i.zFm7s:硹>3N5 Ψ{sod6* =} =J>}'Fmo/n3|J#V5ȨwoJ8aĐŶ}Ub|4%{ZZiA鮣 x7EtjmZ:]~}Zi1@wF \ /ϘdtQmM#{atGsu }Ox?3*v >«|X9Py|ćx BZ޺68 g)8ZL9SD_'?,Y Ҹˤ|F8I7Y:wTl^% \rR5֣9%PSO12yqC)o1UuR_tѳ`KHl)׻$,ùYrS˶ew\m$٘/pE rHAѳfz[CIl($s/IZj|{zoe?Tp2g%wgP\FԮTҧZL:?ݤyN,Ok1M(-OJ]N@AG:?Hc.$2.Hu9{J]qhe2 Kzi˳1")$eJ0CCuݤp݄aMge{D@F !iMAD/ ȯ`6U~~zOޯ@~]<Ѕs9~X %=1ѥH>^:!t"?LɷhUZDbx޸K'4$$?:Gl8῭"xv%0;C٣ aa0ңtniNRj!a&JzAy2c; BW'i^\nH'(U [f<&I}!q"iأ#g>$"/usR,&^kz@B$Kcik!ޤ^5wQ/-ISVƖvڴHEJ%~4׊.,IJWpĸF XL47(ZJkdI$lM5Z+KbûsOZ pCW~hJ8ެrDOh.)y4\ [n.|t'r]t\8DiikڍWYÒ0C~u(=n=$qHTpNy%V$c  TShܿm00UXʞG?TpQGiTKMP?ĄzaqX9w $E=1\L Mԥs^l]e37=6dۖDX)r+r@d"ɚT@[\d̀LGK;_|\KMU]JI \V8i9୴mͤ0,̦8ȳ,*i 8g6)A*{CK-rҝ^OF7N[V% Ymie+7p]QLtwB{݋Vh4AiQƴPh>l\͹V0D䞺(}*s,a⧴&kFt"/ aLyF},8IJF)R1‚$נDg#6^Ã.C4N&VS6\ΆPq,+iu+اf8gZ.]{91RR#I*()ei gRKwZ%D!ʘbatcɂ}c`(%6Q_^2S}TP%fz[bF͆CBwht [X,AOf;ЗVDjf$bE|Qp])қ|,UI9(\9@-p^.RQ9kvʠCHO,#!SJ;mKBDuφ{*o7=XЋ 3Β~VjZݼ(W޺f.sb^Eڬ7,Dh, VCGIKhJ4gMqa0쫥[x o֘O]_=.ۛ:4W5Kb$n;kOt&yqʯ3.DuŨW_bͪ4pI.[f*͏FjL]kVlhEɓ<^?+n_[)VVnXzg|sY'H祹At<'Ku 0Z-[ /PKuդ !PK/golang.org/x/sys@v0.26.0/unix/affinity_linux.goUao6l+γݡ(!nf`˂AS'L <*vÆ}1`w[o^ߍ^}yI8k|ipVU GLq[qlNЌ'g(r7T&Rz(i$19/ ?&lBW42, mߠhNџ:DNҗå|"z'aYЉHPְ|'\]/<}b|6v3pT3!仁voo跪n~|'D V%g[d❬hku`xنJAYϢc1~ +YU1D#uvZу@K&~y{ex.@jQsg c%ރ]X, XyT]B\҅nmRUcڬvh808wL![t~r6{ä:=?3S:?PIת je0 yK2IJatpfE-ѷcU7)QugOP8#lCx| H4)B&szە/f仴E/=)*2 ]! H ;(tZ2'Dȿ!ⷧx%\dyZvԖV71ŸT!+]mcp4%01ѐ*0^!t2Ni9qʹ嶙8x>|Fi!.蔨0c4-dI6㷘so?|OQ4ccZƹ\F#".^5նkWUu?PK$?fb\{/V|PK Q)PK+golang.org/x/sys@v0.26.0/unix/asm_bsd_386.sn0)~TZMV-PR*H\g:vD{qP*EO*CM+Xon .!r 9fDbTe* !EC0"XF)zPи,> F!ihP+Xi Wb:ʔ&|,uHTrgxWɗ\Qƥp Kj={P ,hC!rqI,k<7 :cĄ:y3z5vNx Ix)^X.'w_Ln϶rO>|GO/}7:ePKWlPK-golang.org/x/sys@v0.26.0/unix/asm_bsd_amd64.sN1٧E+ D[ETջu+Ϙt%ޫ>Y4Dml) \a 3,;y1gF B:ϊߙHgc h Ge,kjrLN jPqp{x,h<ˊhƑVae^_jkM Xґl*?XmemԄ_XAG9PZY Ej~METZ zrxStĄ&:]zoi!:1=W#_AU>J<˖ɟkttx&wiUi/ \a 3,;Wy1kF B:ϊߙHgc h G)h)Y ʡ"4>: zP.KyE?WX#8 D4:rcqp Kڼ;H(GQ+kq|4>`t?HȂ UKaRON~ʓDWc^W* щ  QY\XN.W'ǻY6lvٮi_/w~rKRIvoPKn"tPK-golang.org/x/sys@v0.26.0/unix/asm_bsd_ppc64.sn1٧UPi4QnmPR*6H\]Smy +dȡD6)K\0F|'|L3\Z5#S|fV%10ا 7EG  W3R hPZ\ =zu_K( N7m$ɣ#y| Wssct(^mjGB?G91FG9M,J?#g @N9SzbBǼXlLN@ԈG7POaVoIuu:R=ݬgn]!b~;??__=PKYvPK/golang.org/x/sys@v0.26.0/unix/asm_bsd_riscv64.sN0&$jj*b nڭ$Ev'qӪҸ;_a 3:g(Zl<+ |co a&^ OiT#O,DYSctJP+4t|qW.KyE?VX#8aYο.ƛMdAՏ% |0`''JwC2JGLh1oJ^xt~ U()YZXM.ُ㓻ruvz~MnO^]t?^u.*.R2UJ8`y8i&;  SL>&\VhU+XK,'4\ *IZf !wBVɤ͚t%-/ %l*eu磟s<=ƛxxOoxwuN{uZ1wFZ+}NO$-i͏;jϷg>f[~+[).[.^jQuBCu⻱٦BM.D^n3f}j# (HNlV~M'Z> MnwPK"pPK/golang.org/x/sys@v0.26.0/unix/asm_linux_arm64.s̑NLS!>MEH+4 ;ENk{x&Cdy$.=>;VV󲲈E᪱f+!@!D |7UVFgLnP'Ғr,[0Lқsc[A%xFl,2&$9<l!l89h}e&pdim AuqMUX쑕Ӛ WjY$ f0Y'UFZ^jQgjlgX%}~N]z?]u&Nk::Tk; Ǯ39/$-i5a7>|# 7RE^6څ{-Gr] ˾gNlI[I{kБwwΩ7'{Oޚ۝R {v?<7qοPKwNPK1golang.org/x/sys@v0.26.0/unix/asm_linux_loong64.sܒN@Sъ7.д)jڞ2ɪN;;FԪռ-acQ(L6LoM=0T [s *ܠR%X`8> 9IC5șĒP*' p [fgӫl aUqQ@pVy2 Yz`ՠ = g,~fb59oVY$J0eZ*IBZITf_a:/oG'i\\tw.JMVz#dtCo3x_yl| 0R;lV F7|`A㈼0lV׾O&YF7;¹=^4x>6⹔9}v${ގl񮮟zPK+h(PK0golang.org/x/sys@v0.26.0/unix/asm_linux_ppc64x.sԐNLS} 8\ ݑVTn@vZˉ}mOX3c%ދ=OVMT;ߟ9s",Tk^$ƺ&|VlJ~h2QoJؚ霐 *@ZRMyv}fl/ȹIE$6Ru5!Y,W%4(MEe1N6?݇SG2]A8`ը>r!7LR;DrƉtW״ -YE0qwi5$-\] -ne'sͮף a=zۨ:y3/>}Z+}OmvܬgoHzy&iI 9}~Ipq4D:;i09X|``qp1 V6K/սe?U %xAl, & T%mlguðVo-%47z<1uqY$YJ:h@&% &A4&ܐ&5-o}\*Xә€/W$-\I؆ jeы&pyeLJ|;/Om>\˱|9vǷ/TeZ+]U:8/%m~9ùػ8y7;FxxA: %[jA{Au~֛F>t'ꁛ>t⍢AnwOܱo_`-o PKw0"QPK/golang.org/x/sys@v0.26.0/unix/asm_linux_s390x.sԑN08b4-nb%ݴ]ɟñ+ddK:Uvw' qeeG1Ec+MB`@!@yC|5UVFgLnPҒr,Z0LҫSc[A<#ibX \V&h!lpt3|>p&'Xz`e:p-m P 0sQLc񳩗 Kݳ`Z㨷^ IZf&{!̜lV+qӍ&ԬŽT` Xg?~9}M?N''mz7&ݽeEǻyoTkw#F7y/$-i+ zN$Z{q ڰ:miQl0<Ve/؁:@lٓ8#0{Uۭl;랈?V+PK9vPK2golang.org/x/sys@v0.26.0/unix/asm_openbsd_mips64.sn05K:4*ݺUh&R$n]$1sx#O=O\i%.0FvsE.D.p׌HLB%1!428h&hEO5v#4)([LN | !rsWmXGReنOd](zRM8)mѝd*z8 C&Dvuu$H y-GG=yb߇rX:bBǼ_E^YL^lOGw!IBvWZW釥|y{;vŴW|Z__K~N?PKcK^PK1golang.org/x/sys@v0.26.0/unix/asm_solaris_amd64.sN*1)Nwqo3h! ̘3gڤӒt̽Of ݸ><*hkp94ELa3#SEBgMDqJfO}*?۱V` [bk=+Dz()#IWfw竑$uv~ ~Ȳq4|qN9By=`VoC6ݽ42 Z`v74q6nRx I\Ո;JGJAEnPY cCEzTe,?xi_ Ixr6wi:)pNk]y1܄30^2\fylaHW[8L' !(:>4i.]τS˸^_LL L8 v-{◜,'Lm࿟ e.9O v@Mg6U4Nm%}n]kkۛ0M0ijr$̫\G2jnΰۅ K/sl*'LmpY qa0תk]~miR//56[5˛k+_ jqᓊ;uWZxD2ޑQ Ӓ G6ljAЯw#VLBZ1)ZL'4X8jg:69H>9Qb2>ASۏXM۟O~ʥŜy d|nbj?d%ن'z2.ډb& EќKyS@#% M#ts? o1(`Cy#QP5rOOfbWI'.NϭVp.ѬgRs5:.H`ǘ&W7A."t;Īa0D>Ud $ TB,WM'|۴jUٖ nĥ0[?$.O␢M ȼl8Dme(B:0Ala:;o:*>ʍWnJi\r; yA"1V/ .SyMO}چղ-m 4(f9y?y*9<`giT<ğ&G/y ݤb- M2HG̴_ :8JFV RM-ID-yK5Ђ-I64a+{q/i'Zݶw9R۾?ԁ\?G~R["b1G/ r|242~Rn`nw J(/{?o3VEPKn# ,PK0golang.org/x/sys@v0.26.0/unix/bluetooth_linux.go\A0s)ޱb[{D q G,M [^ p}}X-5dEjtk}lВF-8>V][ ]jQ9lGCϫ.Hr"Wx%uJ ",ĹnhΞ'AӑV0x#kȘBk^BC.tcX> )Nv<捖ql5Z/:Zot}hl=k#.?،Uw<:$a|Jp=,L{DR4"]i6JfY?Z+tflP !w^w[9vtuKK~?lPKWtPK+golang.org/x/sys@v0.26.0/unix/bpxsvc_zos.go|sƲWt@wBl}VXQzKzb_ v7dc!=csa <~o$(U(?HLC>JOCǏxf\ &?K]P;ĉP``bF(&TS^(f)VL(d]hk@>SЅPMMާ6yV5!*U2}Vw [U?3Έebjd;?T:!E]~=(]fgCzu? b[%l>C@aыX.ijC!XM=ofv~ &؛:sF7TC HP9ꬮ j5GrN…=삞 Tp3O–?4s Zilp !sN#\Iv(h'Z)‡Th(Y ub ̘0 B8sF ƒzOa߯]"p7wLӨk3ꭦ# PbaOA*KG+Oz :\BJ)-L2LKh GR{5{N2K5hah8l7Σhy&0SvYz8xx[$suZ?ߎe^9yp`ۧZMhNz'ZChok[xɵf)#/ުpw6ٹ'KzmZ_]a9Z) "WOZP@\\ ҃]M­3xȩ+0{w&ΌZL5l_ae&~,NϩזJ9 XDjm,{NxAQ쇁$},¢^!Yxb^J-TjOe&cvyʶʄ_OcF}qadN\eB'*Lt:Q Lބ.=$ȯ #B}yΙ/Bny/<Œn_ KbE-YQ ?Yy^|Zʵ=:EH':iOӡ`yRfDMCdɔheX0ɓ-UM,2&`k<&5dҲ;#if9ې]o3썖}gMf`"R3k= ]:&|c`F^Zbt8Z/)JQI짪%k%rDn䒭*$;UH3]ٍ?e[?&Bqvvi#K!aBhLO{Bu)$ Jq[ S[h%M[fY/1N wP)BB~&',`BqO^g416N"?^l~>qp]=,#_A>0X;3Z߻~҈by A zAAocE~fߒLRIJ3uV]LeVz*ly9SFw&ܗ$vn5~$_^BxL( InL^ATf6 0>Fs}z bK̾cЬ7+'Gz7%<azqpOh}nc|C y,.e]x茪0 9&4~/E/DII5휜Y(9nT+On@ JvNIL3f25柽t]K"\\\8hHo'NƟPKOPK*golang.org/x/sys@v0.26.0/unix/bpxsvc_zos.s_oƯOqoY$G`…wba CKL $XEW $Dl۫jLy3gΜq\mü*_VPٺU=R?RVO6 G~4E-uSfVȔN^ʪq\6{[8x\ǔ9)ӸF9\IMi4owuQ܎nE(慔ʾkkхjv2kۈeQnhLu2YZ$]=_~nv* oPnٻˡrGn~"ߧnO2DG*OV2u[âSԞƦGy)+itS4?ǑZ?Y<` e[?O։d%i~6w. ŅLֻ:˰/gR/& My{p4ݥ+ٽ|vzK4ӷj6 g[ijZܡ7Ꮇ=)Қmu0mU!O =lAgY{/Wig몒_~tؓnSO˘WH%-MGn1IDk_FScӦa3ו6j.m:l4?LEP%{wZe?ux{&ӳxcXNN#ǑՕ9bu=Ω cq~B=Kww= 1U8 sG|{߇>#G'HC'ʀ1׷&9;b G39U}+!?o࿁o࿁>;ʰVp3a- | | | | | | | |xxa''1 c9Z JO~`$'Z q9Yhv``ϊ9{ć >+_aރa?fc?; Bəq||SQH`"ogFs]XbnN|+JC2`&W Sܗg>>'!!$!oȻ?YG>G'?} hy'E||߁3gN~|?>OYπ'˜ 7߀w|f?N `P٦ڼ}^&I2\wӛQC5Lw]~p4i&28^QYMUUۥn;low*ߨݒSڦ/ڍo5XvKX[ҟon̍v4೯vv_EnOmڏo7ajaS'wv">G-ڕPX췣P;QPj-t^oS,1oz~|өYjNo3 kKjmo%MO=ڜu-y1>tR R;TN Z|!;ajEjj N 9#hz:+E> ֱd5?H_}Z~u8N->{>d/>C-ܧkͩo!爇 O˜ >7ξG mS}#_ƈQJznPK$ N PK,golang.org/x/sys@v0.26.0/unix/cap_freebsd.goXmo6,Zvq,˲]7YAK'L $ح߇dَ 8Csy 8Jq g23J,IkPQ-0Aiq Zf*De5L&+`藧ڬ$(41!0Ae&" <Td< Vnl t]>O2NJw\Mɜis.E}sM|VVaW:J:qR6 7^躡ں sm^d˳e3S҆H`b e% &:R/p~oףw?ގ};LG _{8gr4wS 7pa(4+&‹W>A9}JDlAy\.XIx=l{]@c'Ї~=B+g7!==B<7 'ϖ dfZ)vqt_.@ 'Bi)د~*h8ѽ|MĔ*,R &^j5U5E!ͷ,on7yMZ0% P+ڛ|h<'!dhSz7q`-\Gll9C 4Jz NQj1u1nF T$ǖZM?Vf9?8Sˑ8w.]xs=g&ڠ.#b |*M0߅mQZj:S*Bk[JlA+# ۝LQه:/`R@1aqQۢP=ԍ$d.PP!әfP4AZ/,GSS۫[S+G~V.]L-@j-v{e*+d'%R6fP%$'PK܈K PK*golang.org/x/sys@v0.26.0/unix/constants.go4J3As)IЋ! (Eo2ӻ8t陘PK+golang.org/x/sys@v0.26.0/unix/creds_test.goYmo8,YU~{!83.-P-ԑ]o0$oq/ Erf*DlQ7`LF\? BN0 $UT.h*<* b)Pb.# )0S+ q*(rEA? 00s㠟)v[A&,VSq9$WMIB}iY*uJS幎GT0(d3깮MEB4rZZU+UE՞[A0JZw-Ic5#ԡ XEyA҈> Dw^RA/b 9:27g P.J F6"1P fvN+[g }z8!9) X  yjLN3Q3e.-/s{[s渪y i퀶A<.AVm#ZRg8әxL ֆ"nEDG7tU˖f4 A$yҔˍXLl ڔ lF{+xlz`X0E#J (IgY;x޿w#{k(>s# )FYH˅M5]X[zMJ t_(_4!1^ֻWdЧUcGhb]K$v-I&Ns{ q J٣5MY{:+O,pv0o֏?Eo~~#mð(gj:HID   ưGFBig_ w\`m}2x{jI7\ ^{%vJuQtN_Д-1/Eci>6bW\ {.כ߀)}ήL$b  1Ҹ>TljL.ld"׃|K3[nP4h6?]mnP"Ӵ/PK3fPK2golang.org/x/sys@v0.26.0/unix/darwin_amd64_test.go&ݿ9ڟE9jz襹VU+.H2az؛`c\'ۙ3\'*1#>}ܽu;!AZY;޻pw0+:vtKKחqRZ 6%o  lRЊS~@UW!7coD}z:$~wUQSs/c6۠ NQZ<ыn,/ VBy8~.#ls# 'l@^wu_x=^,|X(a[^ػd9 ynIn HRv7Ÿ%N5;5D&ҧJ'w<733~XO%˺V+z w?Lʔ'h~69L=8~^bj1\>R# ')H:[1_mv]9^Θ(@ Eb6lgy6IRtLPMr˒63\7pl>g*vR A/GE"8O5HY: : Ur$3.hpeb{ջΊ"mI 8u:눯XEayK M%ܣ ѻJE4> }VcOg mrN;n~$Imj-;ϊ :@j%EVˡE4Zɇ0dw> MaU@]@F=zȠݠ,£&]s\M'HtߜuvߜwXn^Q5£}'S6(H I- Abp$9EgnT-rde+£J[}wȇlhŗ4"x}&חM0㊂ଐZVMxjeMU.;݇gC &+S!N:*?PKkmPK2golang.org/x/sys@v0.26.0/unix/darwin_arm64_test.goM kϫhCwvhxp]{ 0nplg ~p`lǼ[) 'qg cGw?w_v~}~~{{OIihm?AvUtj:贲'˃r:eopδ>&)=w;K.}8cYoǙ$A2rAfʊ? g, 5IRqƑvW[8w  HY+}“c>mēDe6-q4'}ڦ䍟`4Q^*Z}Ra1|}#U͜﫤YߡO7j7i~Ne]p4 7Jz6 ÍP@ZaP Wmndĝv6]d ^/ MS nE6*n9?Y²-\brdˊ$E`G-A}ȡI?9((iv٩gp1|F+i 'ɏRz Dጭx뉽#mBWΫpDx 4?fC>4ϫMM7G)z -6ҫNVW[{-W=% aBHIV@|&'9-Ӓ6=[7l)g*GV A/'E$?5HYB:50qQ~H=J"W۫4*Kpa #b%fMІ-i|&(7TOF:.̚o]L{Mx &c9sJdMKv%8qILP<>lɹ$.|(mr_{K"ȫW(j@Zg"8,Ƞݠ,“&>^2p7kd"}j}sj}sܡb3<^PШח 8%Ar蠐I ܢ[$IS5A;~F&"GVb!IuKҗH v" (j%GZKgm>$ErfvvwŹ`ڎoq~x9rC,Z@2n!|LDckh/_=bS ΃TpTNdmc lz*qq_6`'PA1SzIY$Ƶ3|K" p4%#ThGIPF$M!#%.S0-ܴ}6kMr'h_J]ʭt=@ )H rHZ5Z*x'?P3JQ!'#}PZ8XG=6]N[(qg?D@wN曕t#1h^{8ϰFRek*D[cyqMzdi|L+_qbes an%ޝ!(阢dz>ݬSAzB!CښC2XW'sr1qQM2dL"M%\2[t_ *C{<1Ns~g$d󋿌Q ho-iV-"{AY_[vHaR$q;u+PK )i^ PK,golang.org/x/sys@v0.26.0/unix/dev_aix_ppc.go_k@şͧ8OKikYDJaU ՗*:;s'OE2]CBnΜon727> )a@)ɬ@ػ kCp v({x*@4q ^Eh$6pnn??ºUն%7(jiyutQZIEi¨bѱxpwFu˼DݷuUMJ? SD2N1Cqڟ溲RPeS/zu ]_|`6կE\/2yF?K#g? _:b*2OINzPssYKUYO`PK!EPK.golang.org/x/sys@v0.26.0/unix/dev_aix_ppc64.goOo@x* 6IUT m*r( ݱԞhv 0kglQV׍Ǣ|s &X7Ǧm,9=yVo3J4jӓeR!ǖ_Ď!cGL` vE[gYQ.VA./*^>ڰ7Rs$̒6F640x8Ϫr0)4*O?vl̒aY UETgHHQHHV%Du_Q*k]~IDfIjv "z/,_>Wc7P: ; ! u6~ԏ"NJ1$nwPKRZPK+golang.org/x/sys@v0.26.0/unix/dev_darwin.goAo0Wl$HRTڂKxIlW;4;q\ymqsp؟=O*E4߂@Ba"TmBu)h(0f(y&q(O N !Z@|bLjǻ[tn#o< ҚDZHEi¨ci9zHn2N˷>D\Ifl[gA"!7s|BMH%AP %&cCKZK,ܘ k+=;Fn>^~~-*-Y#$2L&8K̷`ء Vɶ \** o#v8 ]ǤR2E>6fU6Ԅö(IW`cL<;{fq7lG {ߨ LJM?[(%(ZW(32xX<˞O-QS2E.~_"{R3)v9#t~<#cjZPKad PK,golang.org/x/sys@v0.26.0/unix/dev_freebsd.gonO ůDh TU'B`2lxwلHp>)eMi3Nf>.J .KgE"0S|UmTBT4XvIVX u1Zz>}p:.iRY]>GaE8IuLйo8, w JeFnLؔJûDtpsЭNvE:iђ lH+2?"ג:gXRlJ|P:VN&IEj&GLjh2Zbo7t8rVY1;$<9%/vTtܲЗj3@w!2dq~n>jF+PKa>PK*golang.org/x/sys@v0.26.0/unix/dev_linux.goSMo6j?6vbeW̼yfw0Fl_i$v\4!fb ;bL=h w ~9Dš&DŽ8ZBg8đw*t41Қ7:vF(l[ DXi\h|0VKDH>X%1(Kթ[oњ>U:x%%.^ft' (5[ϱ7qVn YeϜz5OkPhAcAX{H{`bҧyc;f*|`7{:hooU4m~3Ѡ|H+KD:d‡R{{`Lb%#zTУ<{OUEq3t@@qrH)ȥg9KaE?;:a6.^(ϲYPoe2><]q-g/9TPɏcӡRd.Whqq70P7B[C=9 1K}ީ ^Cˀ<_ ˆ˥I/_,?^^eF~~NP}G^D말k y=UѮRPK W +PK/golang.org/x/sys@v0.26.0/unix/dev_linux_test.goSߏ4~!q>, ! 7l˩;;xoXJXM%x;"6PmA Џ+!%\5FF0Z7 ܽtY*ZYxDh\"jf bPNњa !L?8OP,ozE3nl m+[$3s{ t1_>O+0 { k@6(ƶ"z7hxd];,|9?yml &–hRإ6(CظSs$9?N)R%#;W-)2J{c_hz꼢=,3 m캼W%9^Y)<\ʼqNn!:%-%G5C T^y"l*U-b̙WO2|cӗ%?xC Eiê )z`o2e\RKN_riӾk9Q׷zseTmvf(r`@ߛ@nR0M3Ð&';yL#5$#䑢"qL=K|]0zq<r_g+O w~/t O,|SZs{ [O%4?,+b?'&XBOzgAW_?N]\QPKy}FPK+golang.org/x/sys@v0.26.0/unix/dev_netbsd.go]o<襖 q i& ;)~5vhGv@⨪s~qt:bŗE>8\5.[T]5 k .yINL@6{\o^R5l D-"ZR]+8B#=HP4I7!BoߐE.$ҩ?*(^o^}h~G$vBދy(&O1l;gƼ1rL]1ah@26}W@?p۶'zUJ#r*ʘuzL)2dqrʍ}#K^DRhK d}xy¢/lfs,Ɠf8; ;z|́\QECTPKE-PK,golang.org/x/sys@v0.26.0/unix/dev_openbsd.gon0S+HJ!sQx=M7h,]H\vrwn7[|5g)C s@~$Tmo:DcK^л, sc<Ƌy7lk 1EQ>߶49o8:bL8^aR=PfÇ9?ޫr׌~PKEwPK(golang.org/x/sys@v0.26.0/unix/dev_zos.goOo@SSH`UEJiKhg7$;;Г73\U1KXԋ_;{uNG)qۂHBqO, ߄ R9ZeG9l0xyBұ'꽥 ԙksp#|psysTEUf}pς ss$D*$|8"aKQ0d;Z(Xvelԥ65kR?&R46/gvDTL*c#KY;cLKO>|R;[v($M،4gKhrهtj>>/Y< QZu]z=/~O$c>'I$yN;gN@PK-golang.org/x/sys@v0.26.0/unix/dev_zos_test.goSakF rIirȇ1p9TJP#yiWT;{vK7ޛqcậ7qyqy5'۞· M1)Hg*[ 6$NL@4(]mCjLI6x]0Pj ^>XZ2 eJy{hSAʾ5CrEL֡#ߚ`71.+Ex2]'8IK*LC 5F# {o_MèX}"쓦e$QK$*VwzvNWa3}MCe-Aޑ{~XO5'MC/$ƷȌ8!1́濏4ѣ#\ɟfPK'K}PK'golang.org/x/sys@v0.26.0/unix/dirent.goV[o6~~ũ q$;q̋ nX'(P&"/M$}8XVP|w|^[-굅's𫂷ή6m4_< `€QNZ}A-b }pjAjD 5P2 WNV $5Ǜן>_ fq絚N40qP1}'_iV+ɛ-}pXΛJݖjQvKWee-q,6FNqD@#nii]N.fJ᱗K<{N|ć;Sڙ^ Н:x^wx.^ RJ'ۘ0~3*28q*T:PCn*siFiR}6*Jo 1yEY Yy% E7q&ݦ@ gkmG[sŠvdlhwcSR8=$w.˕Z:dIYݱC)-%aF:N=0#Obxroo`ŲA|,~ F􅺥GD7; ԁ(VFi ǗmGU&l9m nJ4|B#ܗ D  Ⳋ2,BTyKh'8:~œpO'HT;K4$ IUj,y? YW3Y.+ } oe)G"; Ӊ@4kU2K] (2 \GB)%e#lg"6_+EIzçۮ)Nr?SOPK U PK,golang.org/x/sys@v0.26.0/unix/dirent_test.goV_s۸&?;#dחO$v&ODn;ϓ%10h[w%:v2>I9vx60O~5^uf-UӀAFue9]# ̚kвSB!K7lW /Phf &`PN5ۓ7xYy-g7%0~>A-X-ElOWcEgE%[etM0lYqjN Ci2AQDЏZf9!]NA:j6K2EMNhVaATˆ:r9$ NpڜryEàB[Ai%^wՒ0%90F13,amLg٬ěka~ lpaa2 $ fs0nS$ Lv&*̦-HG)$[I<(&j+e'Ӄ?}:1sQmijw"3{O3\yAJ[*n'`'&".SgI 7)!~3k#0O̰&FH> dcî1r0S0[W< J[vޢwz8W $|¨Y=&2XrN1lpW]E֞>tX?Y Xu 4s/\΅k05G߁f[:ۿ3hGG@q FJ4{hXx]rˊ=V1(4jE ܬajn꫑jP/0\t*yho>|BV¨thPBvmuApPw,S(d' paB sxJ\ߘ˙JK%xAxkbD^[<${WZ,j{bg47qi`!9a⨖zEq^FnhRmG{Hnu\&W_*_H T~y}ɯg{'Te;ϾUy|}}A2oeDe/y_ x҄XH3$h"&|`q(dW}F-o% xEg6]cx ̲Eel xhdۦs| V ϗ_T"Z@}tKdS+0O]gds8}_oA>-2_kQMJhШykfY0Rm ֟~b]@_Qw$:>?k[uB1ٲU\*>hm}oHBE>9R Q5tB'N2,+Я~x*߹L~"1H1ՉT;?/isF Ӊ`ȁַ>atW*Y+vE>+]=(5~]ҟEH6FGf|dq}.DJ>͡0i.J!:xH7p^8nX`pq >%aֿz p7ܘP3a^"3:ag,sfT%I[`ȞDPcE>bQ[Vj*RiҫM81 cAh./ᇵJկ7yьS#fdMb`~T}s_d D˒~x#TɌ}'|J؍ifN-dM0v C:YH~'t#tladSZ> q=EFkL~@W}["vXT_hf`I󹼤Jwg9D֞_G"ɳ9/֮XL ~.Enc`Y={a 07KlEO_^ۿ7jmW/r3)Y۪no{!0{}y 5 =PKI50PK+golang.org/x/sys@v0.26.0/unix/endian_big.goDQjr1F߳oW>R(}]@n2 $dQpjm35) b6^TdefA!r$7QZKiY KX0#H?@V`KQ՛ k"z.֛;4QZoL9enqC-,g㐳-qz*vO)WRؽ-I)TxD&4RPK JPK.golang.org/x/sys@v0.26.0/unix/endian_little.goLQJ1⿀]m"m-"/f0̈́LX᥻/?4 6OP1hPa#ƱR9C P#8VrczrQRB ل=!ypB cEǑ.wL8z,[ϰ.oȋ蘃Q"x଑jXtl]#o4=aHckɳMxFg PKvTfPK)golang.org/x/sys@v0.26.0/unix/env_unix.gotAo@ ̯xi#pVU,=!IF+{&lw4Vr{cyV~Hx6AJƈmP2ґU  &YB#-!zIZ<>?4ES14FHOh<&tE`vuC"UU/b xzBgE8͏Njkgʔ֒Wi/11#q5:|{Bpt.<Dlx\%q@,if1^EbRX19_?+s]%^JaH^2_\=wgyޅA')vKPKkdRWPK2golang.org/x/sys@v0.26.0/unix/example_exec_test.go,Ao0oȧġ !$FNI~=d5Źݛcf|ܮu98ǖOcȄ:'ɪc QY w|tmu|rΡb=cHuf|z}0-Qn5!mx~_*iR_¤̩̽kZMrdDKXKTJъ3\EɡV4n"9j d6 ĪpLG|UM%>#ڮ<&rn:ePC>jC/?PKan7PK3golang.org/x/sys@v0.26.0/unix/example_flock_test.goAo1_Ӯ P!r("gwzfEߑ=yz+>ݘ10<!t HhxHȣOHцPdq:)_F|x:~oa͔RѨjU՜jq0u,Nu.ZJ)X!&poZQ]`8u+! u[Uy )Py;}̍6CӶvt\!P6T]1لDZUJk0YI. P:Zt9Rѧo{poPKyePK5golang.org/x/sys@v0.26.0/unix/example_sysvshm_test.goTkF~lkң):#IK֎];r,E+'$-}1vcg[ FpcKC\ac-qDH@fD GD߇PzC(82(qrI.тR; ;HCr|CŖVJE/=[޿;1#]L3ɕt P|,T6)joW>űC,ʕzWbwmgvۦLʊe -@-> Tw!,A!S"z7׿nv4nsR~~y\\e\%w؎2ՏZ]MLl\\eO*x/q&RݒB(9J(< G@f28P09@aSm*xPK7O'EPK3golang.org/x/sys@v0.26.0/unix/export_mremap_test.goDN0GS5*;$D'y(c-2X^5V`XQH6Z)Az VtS: n8wjUnp')I#F?LqRq0Ŏ]BDEYskb lw L\?Ě(R}Jt-8]ڋ&v2kGkMqH;^ϫ=gYy{0:¬\ǒ}xKl ckÒJ,BNJ$Ge6S"6>!q/`|ž$,OfiSa+xC1'8І]V7TfYWC'2v,>U6$Lpcij):p/tGopb|d߷\ch,zSv6 G-3Ko!%N^lq)gU`s;cAWj~7j <c$ƈ;-&y7Ϥ|$y8EQ<:ozIY_>Vr. Atz?ZSPK^i`&PK2golang.org/x/sys@v0.26.0/unix/fcntl_linux_32bit.golk@W|'WA3*,ZC'L^Lȼ/>{Rb髶6y3þ l< ֢{)P}4R%|.L@M ڧՎR$-q5e&\(V !Ka l]Bf,EBHIcl59|FT]IiYêC!**'4Μao'%qb.TQ7r+iefb]P ]z}<0ůa7DgW]|PK#PK&golang.org/x/sys@v0.26.0/unix/fdset.goAo?OVDFEP/)PfiwGކnϞ7~Wފowx}Xt0BJ!;.  ^BÖ-oH"Y[W7o4mJHIhLDMpG :‡~u Z{,nkAi9'D,`Wx,4_MKyXQV,PJ p}lP:ή(t>8ˮOf|X=b7C9t1Ύpa4*C"=x't `h:pJDsG#,^~_`#L2kE9NG:?.THMTO!dkx\ &tϥ_K1gb_PKVƄN PK+golang.org/x/sys@v0.26.0/unix/fdset_test.goQOo?<۟b~+,-Mor(i"!. ^*gkaD4Y! *h1smqu9~UGxpPq@~Kub}Ch$m[X!vy2ĽtetC6b'"a&([ m;la9҆*uu;<<@ E\y:>}'ZJmW-š6d28#oDI}9ן7G8+RC۶3¶m>%窷 V\REUmJR-r#F%gʥL|7rZ.{~VGjX݊( RKXp& (Yr U,'݆HtE(a(+Ǯ}]GKy^I2@u鱷u*q!DU33!u9b74A+kw[ |YJ Y>ϣ6St漄ir:5e#9IG۴@>Lʎ瑮 %ԡ:P$k u,N$ VB"C O'IHp(G?]E⻛P0`.L\֤؁%įSw%-d3}k<Qpdzf>银 /l},>kEIV|7ggPKPK'golang.org/x/sys@v0.26.0/unix/gccgo_c.cRN;}\P"ݻniKS*4Q)d9;ۈ`ڗ'x̜33>Fvb]{ aea4hLLr[9!A;TP 9j(f5:'V2XJLmkt4>Q2!~X?Jߵob[ #1՟}9_hӿ`Er6=LOe߄ 69_{#|f3|lo}ZT-yRg4#?&N%6ha 2J -^ _X!|QձLaodgL<6>5z{ڝgnzyUNTIHh mkewxg-U\$Ų:y-I %?@n7{'b4 E=,tOZ5u #!2nvݣw7gW#jsJ=FA vbIЪaΌ;CI˯_Xc5ɶ4f/~ޥʡYL)|/'jryyAH$ԒEbGN$f;UşX<<|v GǻB<*9<| \in Z}. lg@.lC/^6]K] l2 brZ`#\BS8 =\PKکPK/golang.org/x/sys@v0.26.0/unix/getfsstat_test.goRMo8=ҮVZhl=A@#:Ak{*-FuO`O%Qj;[ JyAԅԤ*I#fKJWNUT;p9%iC-'mq.@cCW&۾f.V_VJl;Zm )?j}F*yT*1Ztt;ʮoF+҆[)Jx^lYnH?';fR9 C@,xx뉕<[a DR\kcg Y.i|8~lh.>:͠Vx#I \%1xڞL6ٽ7ωktv7?< X^.Yy6&KG,㠶Lr Y>U&/j+B:Zc&{EdcG#PK+ PK,golang.org/x/sys@v0.26.0/unix/ifreq_linux.goWo~i!Kd%N*ӇF&".ov)Z13$ǗSb-wo5[H+׳7p[!|l}eM`Y I2G`KvlK9Bn `mH x؁oޝ:o:G|<Bi[S6+ۋ (u$Nv꺀Z1IVk$ћƒ4jS%J2ºArPZU:+%qآ5Lj_[M@ pj W;ZАm<ٶ5xW#4HHfIu=,Om'e6Gh@^-U`kۖA{RBy]*̆TsX@ ~Y nrBv8ov5ְz57 +XcZ“r%,y0X.m]ێ|>jmz>oex>Rlt>oW _AJ|{6"_n ,ȌQjӴ obWz$6U.]¢c=cX7ԓ"竏JM=86u&/~I7EvR`qLYQRTtTQ3 y8Hƀ>y* o89gs< 3;LYdiNxõșP@iȢֿCrCJN<`Q`neS|_,ݳ!=;W۳3 PpzCz('"cyz_ KA f9'QM|VdqH:{{_ЖGW^g$>zN6np`[o\ڥ戧w59 mpW}pN8}i/ la:=, ף؞}8;]bzLгhi(vی?;,qϫ;-W6y^4KF/$~L(d9<5 Y%rur@gۺ;C:c-TIF#&j WH*KEӆ;!y_Tfz~/f1G_HC/)"F+Yq`8bVg[^߃yam:EVd=`Ul$ [hh< Zo!C ɇV}=]ޯ{(EEn )`'R\p9)_œS^Sfc;xnnuPɵyJƈ׋/|孭Vf+b؅tL èW"Uz˴ۢq `As$ϬDwϭb3@YaJfln8= 4n ̳*:xjйW=M07`m!OAX_eoL="fUNH6>w<+SS+l<h?)!m cGfe;#$Ȋydv`_̆8i8\24?PK`PK1golang.org/x/sys@v0.26.0/unix/ifreq_linux_test.goWo?~vJ'jP FBR PrgfةɅ*ΥI)R>|q dEQZuz]*༶&y l) U !SA(D7 ` T%2B$ 䪖["|^\!QnjpSC%d= nYPK1"1(m!͛EӌMh}a96 ¹k,)%rY5[٬,Y),fxq` ŧ$+Fv1mgp]2N(k{[8W GvFҢY *E5D[Z 6&m5jL޸M/`8r 7lYVq,rڤtӂB^NK5r+lRGJSJ"OwG2&'3-E VAQi)*)4LP*`O?XE4bQcƤ%<9R Y嫒$B=cvgřZs۝A@Ilњ!skX!yB^*}[=-'$ʈ㨣#z=frZe-Vn[5uX{[%{Nd-lIp'XKǹ8ab FNul͘pò[Edj⿑η$XtE!$yg̀TƊ\x]DK.SfNǨHFNrbm|/yh@8'*HW,wi @kU(H==\ƙ&ѦOӸ^ :-赠W4i&.nm)s&*;mȒ\1;E\̑s:耉?|] Z,$@jQW ! *-S .N [W.MkjoQtW`KO2VC.@f8μY-tB/j,スݽ]ݦ޳!Q]M7x!E'[/|w5b!]0]O%&a#9wԔV eadי2lI0ԇ #DPYVk 64 JV W^aF{1E%;3NuX;iE}}`eJKw.5V$I;z8TljFOi xd]/K4&S}m/]c]_;$]<7sb }(ߥ@9 B/,W psZZZTgS;JfH'edC{PϜAmi:SWF[kiH)lsfdB_'Y6Vvy6@UkfHu^.@w7F=pFxЯ%j[ Z4Xr Z@LPAZXK4 k8?~niV++T_*уA*=8||lh 1ؠY P5tXBFXh-OЊTZ.Te<ЂTGС7>Nf=cz7/p˲<Ŧkǩp/Dۆ1zCc[?+а+#{d卤$dKaZfcyImZ$.H63T=̲ؓ;H FJDQ-amld?^ NIg݊fK9V8YU;Q]FHeriCC#hKӊnzX饰iR*ih؉~>Px`p}_ZyVd\Vٰs!\I6bU|k ⹭|SݡO[as|m$g5 ̀ VT+ٯA8`lyZ>s/ 8׺-k6ۈZ}pM'[̿|ο?—r(ptl&hQ~O'ZpD|h-f,(+TΑ\ ;2 ϖ,n/ZIsH{;+JZ@c5?5^/T> ŊljZj-5F Oƒp4]<$#s$_4:fB,ʠB"e (`e`(b.7qn?(mmnoqlCnkg3{%j╔TfJէl6[.S4v)\[<~BiGҍw1z֒ZGh0 ?Yz-^ÌN_h5ހ0kaxgnH6f^GmϣU@*ɳy^yI)Dyeq͇W^ʃt {[jSOdb]Jk+ m*aTTLZdG R-F ʧLR;0)*/ӊaMCd뎫Ev4`=Ig?҆Вb=t--"Ժ,CG8zqNz^+H[@TB-|^6k(٬a2v-ej>+JT" (w4 hH%zc9/^:7갲D_BC+ZV47>XyڙT}~e3/L a8s[CܭlGpxMeNRTD–$=r:ȥF:aJ'8x<+&Hv:ÀcQ0:!KuV,{Lp`\`9梛{EX,:Ѡ-!_JH{3>[vi3NdN!ާ0^3q>IToL@ DiQ#PuA⸦?pbF \PZ&ؽg- :V;ؘVv$+3 wCeQUhn|/Fy`T@bۖ!MhҾ})kVbA8AυEٌnĽ+xgono:RXŕTnienLu^k{kiY*ǭ!yw{bUwSo^w[9)OاC*{ݍ=^@mq:ly 0.?@N@ulG4H\٩g n@ҽkgx2)#dYI߾WTܠF%¼{`=Xic;؁T%`1Bf.;K{o{=^'/bsBܽ!H:x/q/ 6:L0_.Wz|m s0%p=fQvG4.B+/0%:}/X|7.x?*[H1BnlcϤ*=֌WB)Gc?Rŝ;a߲UZR <滄Ib>4ûR$ûFR"hLOٟǑX.)]9CS %3G __{GѯD;;#%1;9JFO.,xwK(vuδ7w$}0oM"m1Ngϣ=j>rOwB!EЮ,֋u <+Y'] ,']J:, 'f)np+w*g0>RzCnJYp(z5{Qi|㭵_r oh졏9R˱j-+l =MIQgYxwEgvzr8'B&RVϣ[VX VlqIiĻM DKJ,@_pbI8.>fցE!H'>Tk':BSH׷c 1jL}@#qP:4'u2m /3Oʡ=cr}d>#/kqZ`2ؠAUP{hlm6@윒h11n֐ʠ%,J$u:ΓG٤-{D:xTSڭBC"&Z,9ܰ5.X&((O'z>L,A;җo1&rX m;E1N`$T4d!_nwnks I{vSSx4TpE /'n<5I w& ;4zTi}5>mVVuw ;S"ȜJCkq%^|-CezT[?ɵ*6-Vƕ\r2\U|=$\L6Gxe @ԳѵlnJ $x&7q܏P_3`} ,8[J ʬO >wjj_iy.-Nmyho. ¬n><f5ߙ̢8ďzY>''cb͏{SoPKu- 4PK>golang.org/x/sys@v0.26.0/unix/internal/mkmerge/mkmerge_test.goZmS8<o7>)l͐[ UWI -i" j؞j!X/na/-GpvMäR\&e zX /$%$DJ *_`$;H_+ J4%LP׉4apE ˀ2P~=ޟNӒĞHқ 0O(<:_p ՝"~>WE"$ a|PLeUD* =/X gDcmD ~Y@ſU,dNPj9HI$ރUt@ئai?h/dADѸǗNҽ9˹'fxy[]5eŠbx;wrX1zAGmc { ."H1"aQMq*P>WBPoGfSeKizyD5?$A<#_uJTFsqʻPa5FK@S!3H9SUV$,ȝ,le`^FF@n$U$?ZQe/߹IFG0QIYs il-o>hGH<صRa={+sA"HrE]RK T`0'\V^F-Չ|&c*I9B\& Bx&Wt(OkuLէŻh"jRԃ[46! &hn\&M̤tlK~dS($\IW% 21[T ^SERU K% Jn(K]Ĥ|>'LI;*ZfQARE u4{?< \˗62?KQ_2ce *EDeją~ LT@Y{x24tp#`Њ9 >:;Cx}I }"`j\jqi=XKj5rAH 6uI'oߞ.gwtv{3?Χډ1#ŊXGC% N\uoʹ%F;ݚ\Ѩ>0=^7-936rwFmדv=?2-#aϨ3ƞq[tE݂ ;f L:f&> BW. 7S|eخZ1 M>@@M+{ܖŞ]]2lh݉`hmk4F8] e x8C]EHIROa]^%u(Qj맭^hf3K+%yM":TQMt7)k1p/&zks&M&wɞY~T+"~A][*}ŤS9'rg|7rv"]drx>ۏKhoMIŅ9n )ĩuIYM*aFNK+؎7[v uuaF.Pź4vi/Pu" nh~TXt_?rڅe't]TϺutz^}~CiHLSJf鍥*jSլK.ՏgK ɕj|I$yy'OR!5%*!da'|#??C"m-nM3[s9M?WIXWv}A#HWLpvLq@~tHO$9MsJuO[z {#֊ qЉ0}?~R>)ivtrr?KNK’9! +G0F^$6.[?%*b75&KW,4")8;v|.EVr#Qi=H VV2TZm`Uh8I)I}p@3vq+N@oq5 e;2f`ƨXS!/muX|MdDWp#r&Aq}PJvZV֝xJ c I.J I?qCnXgdUhz,U!ZK/_֝NYG?O\cleeyvtl:MsW^D/{SSaCҘsӓ<4xat):g_SvMfv d>= YF-qK?Cu"84Q;hc@kZ5;PKjI"a@ L*PK,golang.org/x/sys@v0.26.0/unix/ioctl_linux.goYs9,TW~ 18oj˕Py&m4?4`{8?[nM]o\ ˜C?Q.dQfZ@bAD! y"|TšP0 >{wR"ԫ"#jCBe6h v͘d0lm̅_&I4 U@5a b![ cDQ@ӐZTg@  2"%)Q^M8 @ +. :@XU"w DѝQD5 k"W[hɃIua|׈VP1Le~\fCʌxVU[MfmǬhA!G Z_BFe񳙍PZUF͟Me/'fż#v$J\7t Vֻ9LAjb9X-zCI',bZN^( !k[d_ UhY#CQC÷~$e"I*i2}~]-6%l.v F,o|,9QFq ŎCߠCzNlm0s\QN$4dd2r;,H%([k\P{I(Gˮ/_F#3GX;Wzy}lK-oj<\6^~MPtu EZ\m$ψky U߁7Zp\(u`PvVvKYTH.\s[.UxWleﻏ֊\{{zQ(U/SĴ%*wpN;\]3m8 Vһgflg[}AIDwҖ 2הnjJGps^, STb.Ԋ¿^"\kV*s,rBiQGu!IFT" P2?}CCfçbowm'u!J TS @!P*( PD% \+qRThx7?}冈Osvk<tPf$[ ;"d_Ykш SoOɚfCJGb! o;kN_<Crvȑ3qi}l*v)ӚH]I]4 9Il8`A7 *QFS¯yv96hdp١r칧߳dŅ%̗r):,RÎ\Xل-ɫe9Xrj9.6,Qq"ߠm+EFd5qq*r`9qP }LcTC~/ d 3o䛉.ZNjl`,Ⱦҹ퇸;ݺD{ On6_ݹ6Wv45S=Ԋ ٕb"{{9曃| ߽m wx w?ηAKlj=hQdH%i"lDY(\l M2. ~6ɭ\fgi~tɝKI"=žF xH1 jJb)lKe"1doYP s+>oߖᬵ "rؠh_>'|}.L16Y4qiÎ޹N8-Qvr-ȁ'Ja-\ /-32'Q?6>ǗWoy#pm)G<Lm #42#LjrPNۧav.lLiM Mf-ՕXxYO٭fyo)}òKr0OM44 d[#V=RaTIDrܜ"bFA;,4ِMg|;n9Ǩl#Qt)mYh"D٫Fa0s6ƣ[wާAzF`>ɘ?pV;'\%5Uzgghs>,4$(*APHLO֑f -:K9 fnCPKx G PK-golang.org/x/sys@v0.26.0/unix/ioctl_signed.goo#5Ɵŧ{( /ЫHz"A'gw-N8wd7MJ¥*o=}?Lg3nǪn<~X5{ye7\k#ސ~s[7%j!6$Aoi*8oG) ք# |Ceq{~yJilVۛuPZBG| g`劢&BeQq&'*zSu([z  AKcaz# JwRyeШ _*pR%#UΩu֍E,$0>+˭0YELm|5jbl5)S'B6I0} ب_d-=ơXK],ВJ5Ilo mwTn |,lhgH\_Fvfǰ?x>vK7bQS#ùR֘geQ6ԄJ~UF-IBAYVh:P :xDn*l)NW*Uykk #FL;PHOw*u_af׭.1]ޭ+[͟β׳{KW}n{UlKܶRcz/ O:G\@|?$S.yu\KhW@2r@[FeIXof?Q\drDTܿi!\YdrAk:}*ǝbӱg3= \>;,"w^7Z f~Nb^v^9rx/t ^` s缰MSN70\ӧاh\˨@_wN;7.DRp華:b yW+b s__{ˉ*N\!y;_Ⱥ"*M?PKF ' PK*golang.org/x/sys@v0.26.0/unix/ioctl_zos.goTnF=_*duCha !(JV{R 1P$jgg7v>ǝmZ5V5Kmp4LxK,#Rkg=P-=~dPjtNV\ 6n-PfI2WfuSu~9IZ*79I,$+F􆮒ѕ7NtͥGM W[0VznfʥOUZ5AE2w$LMNJp-9dߒbBKu$eh,`iyLd[b bW뼆#9DPEj|'5()ӦꤊGON`fMӟ;-5~) uVyLE(vvpuq ~hkjx=- \" =@Qt8)-Ն]rD9}aT]{G1#8\rb;*ߧ),*ƺU񁊺$m=9{^cW>'#b[rG$*4IQt7[#<6.ٰdysEI'pߪAY^Z//K2&x‡L'ܿVCܟ}RLHllj|uNԦ$Np\kIb73bҿ@?ӏvG;C3 ϙjcN/PK|<#!PK.golang.org/x/sys@v0.26.0/unix/linux/DockerfileVao8_1p+%ۑ;$Msu힝(Ed%) /H+En ̛7P%N.@Ң5BUQZJBIي6 A-Ws9 Ϧw ό%%h*т]"܂Qfhr Ts4hiʔZZB"TQL  1{C:d14NFa4c/bN$q<Ƭ8;!w||+,&=# DA-|iȖjWՅ,`€x,@!bT,mfQʳr;P<{vUeȇ× Wm8;/#,#(V)t|n֍C^62lvdBͯ>l Mn,ZH 5+mM%WRYrKi6yuz;~{.nv/fP5J(mQ{{=vo?fJMrz3ev=us}]]I}v+*g~^swPK| PK,golang.org/x/sys@v0.26.0/unix/linux/mkall.go}w6_>7R"Q,S=~94 g`ж~ /lޜS&`039JҐrȹ$'YJ}r?kfꆅ~w4"5#2"f52S# , Sd"jyf,!dH$3.Y2D $4U2UFBQ6I\(r3[Xrք3~r73g``!,S|!bnJk`$\t<^ͳKVix<[X/L2b1sA _a(1!Q 6r-Xc<,G0/T& OӬ>eІPA!EK?!`GVϷR]m.`bȬ4_7>D'M!͸!p >£u4ql,0 H.Ӽ?z`~T+J4>YXlT jV&1D00q!_mVޟ|:D=U%%KȕyL՞j*o nɔvhDN!8w04:KFۄGH/eȹ93LoOޟ_狷>02fʫw!q H0[<a1 ]|qXDxHIp&&V#2EIퟨF7 <;9?;z\FMle)bk۹]c1+\,v_ VجuID9?{9h1@ Xd陸J I{/D71C0M @\1zh:\q21S\\_(bc*D< 7䖛%Y22kK:^Iː}d*y, dGA@ɳtx7#|:P<5z4߅,Qbz#$AB*\<$։ ı%$f4%awL<KFJ&L3hKhdrkX'O~*D)Ncʚ _, 6.0BX,zƱӷC1Enk)X*"z7mv p7'o?:COiO|@\L5Ś5+H}>==6iLY _RLB N*7s4*߆kM&B)MZA:-H9J?p.qUƊ!-W{6Erj>-z^Wߕi5iQ A^cX3;yq.T0wpe&sf>ŌpКG۪|G+G#u&tݮ2&d]MrgܰDf= Eoynib4W +47bJmWP5G{9{nݰ;IhW ,Yg8L3ǿݦr*~Ȧ؟Z'Pb&iAͷn'HB}Um6!`/䇊?$A:̘!.rScM43X= G%Ѳ𐯅G ׾@M%;ΐML=&nu9Tx5޳ZQH`0p Vn=|k Rs"tW/TT,w=]t9v}HAUn}ʄi"3fzNvSӀڏ6vݪR M{Bk- XWNZ@wC!=mݨm#b8>&^rvm(ε䛧21u_H [Hu wyF%;Gv˿N7 [+r-7ԦR :'[ɲpjҫ#](1F*2mLp,\JZ6π:aJs)dɰ=H~;Fç$0UѯG5]z=jvԀ1cW - WvV+4 kI@iwp"g<3sn }b"g!yk$WQMI6Q[S@ts/ Gi1^RPAf1D"J˽.A=MOC&-5A,pa۩XyWn 1{0gEkW>q#u-,Z'OBӄ2_W9M:IL!Q߹(÷T1,!]p3ؖt/yI$ܼ\O1>=/`z81A 9+ER"Mb>OnX쭆!awin(+-D DҤYc?۳e򔩄xi.h|?|GWIFTnq j7,ȅN6M{iʟ䉕J7gs[T(b-'3n1 [)ye!)5TfE3v};-V9X!6 \DD+aPeV4^XpE9^ y;70 _%0ns/)[`+,m-2iNuJ!XL'l@ݭ7yD͙}i?8X?@: e6↽ gqkauv /p!(2&X$`kõ#nLB`@ xJ;COYqv t.?UjfJՌMJ4 z'-Aclhŀ qֻEmb_%sgLN4Pzox^TE`w3G&!r\l"g dfFhk'p mZ)KꟂE%|@lVa 9r U%`Y\ew]߂Z 8xf`UbɲHE͍^%V[J.$q1ArG%&U,[e $\:2=37yr_{N-W۵Rh’BRUXU`;X3` SQWj tKY>)G \eV[E#N($*e$NZӆ*TE Z_\=D.7N޽>5s69q5R~b`CT3y-p39$30|˵N+fe8FlV [qTXSx 5r}W5ன}uqw'_d/-j?[A_d(zkqtqu]v//#v Jc [u3eOw_&hj<a!`׵GMLXUbW⭦? BJ!DT!yXˍ\ jhD3J>HmsG˄I 255Bk!YR*I+T<Ṡ^E1b[,NY yۋXo+SYbIWGEB;*еy75mqQ>j(Va0򲉲hۆ#1<YmYy=keI}8.>VݒMbTFlj(]Tx#'{DeiRYU6 :#]l46PI'HnRE*gwLx];PWf2ՋVo\g4"g,%Ʉ1Y'\| 9` S5 {:?>ߥ*/ G{ڿdwwjR Q4̈(BnlSB6IXɣ.mU.XVD,wg743VtQh^R!rݯe%}eSXVF**+^o5, >nέW7:y[_/>9u*GɢRSnJbSN;.乹z(<0RbI`K ޡ+1ȑyáŋ\}cW2rjUQF6Z( ~'-& ` ^iG!ܱ6ԀDFmURa- W&<0 ۉzǯg+>ZxC=H0qgY! U.O$.W6ȠLm +nZˀVœs=#bfx1ٟ ,V9'VϘnkm%W\NF&4aSb9 "ð?L)W#jB^z[%EC~jek~ʍ+*Z׏n^Ogo%;WKϊ½zuDc'x!5唶@=؛ҧ/[`nQy Ry(צv- Ô(FYۛ[:.J]=hַĔgΎm m!ɖzQ.J@R-ڮH:lkn%X[ocnG./( ΂%8%fɅ!P;g1A" R0쀻A@`6ӹET ]‚9 MXJb-W߫Q^T@*X8 {cMX"{d^"j.B P V!WHsŲPb뜾 L&PD U;"/ݠЁt zDl_Mݰ<@"rqe)UH%g-UiVKv\bO,yiEgrn\oVsm:|v`8+笡M+- vmKyqD~V"bWU1n,*l?Z rJI K1t|8nZ[ݥR#E!'.tQ IX"Պt%ĘIMܘ[__}rvÄ-XuJh^.#g MLqV0Wc E `;4-LF`S肍\!]orTo/(Ã?ݿǻ&˿u/ azK_v;ϐTe+ 99"㗍?MiO?Ӌ~jaM-d"qH-2e"qX-reҦ'-re"I\&-re"I\[" "eE.-ro~\-re"iei˴E.L[2m˴E.-r9hA\Zrfr[r"E.-r9la\ ܿ/7Ne|%ǰ<~1_(^7_M6_on:|uW/6_@j 7p0n`aøq6 |L4C>& |L41icǤ>oR>oc>ocǴiӦǴi> |L8h㠁>8h |4qA |6qa4\'RE0 >jq u Uj^dkD}Y&~ cn PKLj"iuPK/golang.org/x/sys@v0.26.0/unix/linux/mksysnum.goYqS8{)zEb`/ ,w2l]]7=3*l%3%|d!GjRez$Z)>.k3J'pX`?kPQ-0O44s Z*Cd5&+`n~[U4 `@L9pfpz2<:AE|& Xvf%"xYIe zᤞrʠiigѣV]Q LA LJ݇d*N_2?AJəb~!eD^Pfu`Z"|z 3 PpQߦ^iQLB[N,NL_\!0c3P`3:p4nJU28:cnZdT).4 74x:lR[71g9Do. 9j4Cd[\S-~{iI9V 3f0+ (PH1C $1wT Mg$7"jf3nRkj\/mR)YQ֬) *'Nu:Gdڠ^׀Ӈ0 zwA"3hz!*T8ÖG`F74 `#s%>: #"T P)^X޴T5JA'urtMj|>a"]O@ hP:346 \.}4lvmǹ>@8H`VLV RH j8yN> eY{E>cFZT ħFwQ4F˃fwBcY]\{7RP',٭E)vOۻ '}BJ$R@4{rdm4xW +%3Z*g2$+IV,J%AgB;?۔ә.~f8X{DeKnOԂowq60_,I-f9 s@(𪠚1;̭m #%+jL(Ґ.yk· :\MR{(y][[ۻ!M~oں5w,I"4c4v#*(*`fj՚<>?8e|qi1(<>?CuL.5Mr{HU|٬Xp%UuX0٤@mYmL_[ES!:S_j%ZKJ,iyK=uܾ*NN߇10 _ʼnxt>4JO D4! 3S̏GI? D2 Y8 ~fOhb8l,?Ga}x'ieen ١B2t >ʲu&(&AjԷ\Xe7KH"2&^+βKNƓsгU!T\gWBJ1sLb;XU K $KxJ)% 9sZHDSzdb-]e0^$p" * V0a͒ܞ*fܬɭ)mv}/nJ'!OL/§= &Ci+lx/5 wrŌulo4#ZIF`oFD1$#krTQs 8GdyBsqD}}>0}ޞw[_:U&$. ͮ6tr&-=z.g-gƛt % < fĎ,O6 JiJ~=|2$7<<=% ҊIrγ9$K%.P6( *B!WP1eܥBUO 'DI+$7K'tm*}٦{3 I,y}"RobpqoW&qgOל[ph4N#e0cw0ͤX$F)rf[ v(vXVfESH-Ŗ󿻄S.)xv||nIGf|ptL}g*+ߠ(a9?9-6rOt/tzR6Ӧ4>8>ׁHQc; frﮚ4'{'m+ٸ{:ZmE=Oݭr3-x'V/^lji77rf k۬}[;k9jf {0 @+bvoH޿ v"j:ʲ=VuYH*sw_m*ti z|ym֯z[u|iWB&taOZm~om>s}j >HV%ɟMIQפ n^׳mmo3=5<{'@κl_*iZ-7_V'bo5b^~?`IӺlc]oL%+˹jwHj9K hAMaM 8>cX6OS:VOͶ龡/ۑT ں};v:MHk7u8\aM7kVoBDӨ>YrTl,۬wG5\V[)stj6xa7%uԨpu~_w妩hטzoOVFKb{8~mmP{ݕiF//]UxQysUO/F`;VhB9~ _WϨ?tq~.c}z.XѼ4rևYwd;X:T.yڝoD b(P7'.8?k]mSCa1 d0fX7 [Oaj?Y\|nN]s +Y

#]9 #y繩a|"eE$Ǿ?:otVpDDa<N6M~\ͳ=ȱlHqy;gV_W'k, _՞ )~=;{;l{GM_ޕI;E`oF2~b@wxN<܇MVzT֤zOkC#;7v!V9t9<މ$~+iYOO,h>^+wz/g$qgs3!6` /BLf]kkvM+dӒ2 Or d8w?KMX,ێ+;9u??d"/U-%sӞ?c;/2~t,S>8ñ!t:o?ysz3M,;t4r ?R`c'zqMI "%QoW)]8)qZm5@.~tև:9 Or[Krt"G|e[w|~Ll ;й)KT{t1w?7/?$sTH-'_|R*|)̀Ivhq[Ʀ93O,?SBYD ~Vպni&ޙo/K#]l)pTc)$KE&铒>\fӱyjɶ#s=RJ҅S_JkBқ`!mW?YoOtd4WU̲|;]e)eKﱗ| ӼF.,5zMkbS;|7  _vRk[jKuڴڪ\3֦k?p~AEk&;:e|YY=[E4OXユ~yNߢ:6h|S&ο;[t:lyhFe[_W֤;Yt.J?#訸Ȼ$Hخ9K8f>E~3;~Q\[QWfﰗ5r=W2!cm$LĦ"Lh7 <5#*xHޫ7Fo] îjS'n.}t]k/%m̥hASirGZ\(}Q~? › ltxb/z0+[:-2 dؽߜ}ƌO}_!ܻ+o,mX.Oͼw> i迻<(g{&ٻK|N*2\~8wp~q@;\eP?ga8OawvaHm p&W#\?CoCG4TexG1ds{Pmܗ⹽|84#etБRͥHQ=r՝,ºz>RZwGJ6|)FT"ؙ-1);Pb#%v'bRt70ؑ" o¸HNJMrD4VQD#E7M]'=Rz>R>5$ Sw# ktټG2(\ā_83J\En{$N%p10ws⼗ 8_iш]M-ݻuᬫ*gQݖyݵ}z7rCbHG\%09hdUdžZ Bn]_k2bsx~gN_aӜotS?es 4udؿ~=ㇳfG&.<;0JUa^ЍJq+%0lP>tSW:jNHMiw\Tjew,T>Cz8Us-GoT}qWn^GA-q736]'ҍI> ^V B8,"!zFQ(B8O`xRH[+p_wWϓq56}WS5OlQuw[zoA$"X .L`6&scp/&{ |Sus4iV4br0tɒHC,Z?+׷gĥXHE^jLy߰ߋQBIzO@~5X7  SS_ XN){#x߇BJV1nZ/0v7vZZ Xk!n/`ZǑ$+u]a2|=zw.ZDD [BhkGjmhTBG;1ޛM ж[&: F#I:C=8o{x8L;u"GFzL8tn9!uw:t4ҳj<֯h3i:Ƥ}Q~+?ۢ)T.Nw, {g-MxW>Xg dށ-fnUX:L}BO%w%s蓭$Gs{f=cRܖ ٷ(ڠޞ{4hp$yl(0l| G"ݻxRk%{@/%{>HEgv:ul]}zֵ۶zا/S"( ƛ6nfQkW MDf/sC.;5!fd f+/z8daf?\=!'jfF" 'n"dK7B{0 zԉw yCas#ǐfpg fe{n^c?J 33 Ғ(fZ"4כj܌753DVi&YX"kk j+;{`f h 3^z7Ihf6e0$CĐfM8 -^@M+Q3C.Q3 Ȃ<-\Ō'ނY_~f)> SϺEߵƾM?u/4XCW]g211sÂ%lNK|U׺w4۶ }c=u1;ӆ~9Yp$XNn`I~Cb[U6Rx)@Eok-_*j /m*/l/ X@D(SE Q$Edj:,7,ʊL-,!\}uC? ;@ZHKXݵl BQJRYnPLI=$/DBJy×AZO61< U@Tz;KH .vҀHXy%S>hYҴ=6iH㽗?ԍ2jQs;fzv_?‡{ߟ%s1}0 Ra2/盼&)ۺߘmP6[2Sa%_7V,*HADp+`948[k. iXib  ]2YŅ6 ʂera$z1C?^!0O2/(nn CO⢄{͐3co] v;H&QVLJw_̚f!YɪdU0s߬L5P@"ܬR`I3%ǟK[_X?ۖ돂H Qwޚ}wN5v~hӷnt9}Ǐ\+pAIcpOcyjˎlbvI<ٓ*%Uf79!#4ap-]SM\IR/ԏ@qp?\<-* T]]HC` Ҡ:_׬b!)@KɰIɈWQ - +GA"DoGӢgD0/mc:C"g"["Wpqh<:^ .Շwt:Mm A41hFiJ7WE fUŢ-ק>5k xQEWY/\D~==s9u|g"wvN#yl.6CDXh` GDC>PA1DՈ%qjς( YdvX `! VYi=Y0@OQPoaT>NNkrb4Y&-j<2n,<2!C!} b" !M+Ffcj=V(N[B5] $7(_,v2 ᩳԱYcRo>` m=^rgzx>-oj?*(`9{W^y󈗽E$nI3 =D^? W*b֧g}{beLoIurWSX cy\,.o5dvz9y{5gM:Oߜ$';;k}zUt?\_<5ݜЬ~>53=3m{̋|]os=y27U?2t-epQg|F1ufb)5s0s1Dd5*(MW#UQA5?*^w>*)=릭ÔP?ԋ)k! *})粇5lX[q'UjjEVP %B^*u_ UzӪaɺ S?kiS3~F_xO)4=бpfF27nę*"f*f*XZkECyE9"8s[7.ȑ^Q4TcV/gDi - D+E4@F8Y#jҕ3Mcp?rL"D k`$H}5"CV4w3#V)-**J;lHEA6q$J9,>N"`E "uo1 SB"u]%-H#-M wcu$+p8HV i"A!Bo=}ąۦԕa*H]_-pۮD:}dUb.5k.((C}$HYs/YN]C{ TrZ `-Z?1xny7nr{Ӷ2sZWۘ^WsCdabݩb"Uv^db{֙L;/\kˌ ^*L1˛# p[TTpqnsRe2H炸x%R.J($R a\L,Ԝ1+ۼh3VZ{Ǩ wZ?"1O,x0% Rp"FOë)"3@BA"eHTNUJ Q7~u,2=ҪC: 6#V,(VY A$*ĸHLl {p@?1E!-=fx? (r?"Ð=x|rH{(Z{?I"-3I GQ9ʏE $[!z\B )2ʫ5oGuz`;>,nGezuF+2q-N$RRoPS!H=Pa| piy͂B| Ƒ uUy(~ZPj> +s rfijdnĥi79Xs ~(/ݙ Jdm)PƄP?klERcH\_MC\QO@}JW*N|@)|v^Db*DWcfAaL&E(UHHvS G-(BVΎKuvbvEAz;C:4 $Ҡk:̓lenT{cwVU)[qfGJ8Hi]4pѓ$ RNX_HN *ӳK2\.]˫*wBR!ƹrps R7YRN _6/<ɰ(ʝ& U.lp|+'*y‹T!)If{M14'ʶm AjG78?#(c}=Tebw0e$RU9Tt^wQTHڏWRZ 2MnM/6*@ЩoБZmo%-5ZJ@Ahҹ=:r@'I:JG:`Z.6;u fɂ7#qU4Px zN ƖH[ 0P:X*"1 6DEVM&a憄2Vs̗;SmY=;X pWZz)pOSmoΗ{ub%)X|DJ#V2Gd>b%Gd>"%+H|J#R25V2H\c%s5V2H\c%s}G̅yta۩~l6SNu- 9z7n},wmÎx95kq7OB ))\6_ԇ]ݝ)nT5Ck6{gʁ#Aq?~sHGJo8mq\3wD## ` tea< .'{'}0eɤpNePg}͈R^1&32.c{i0 Q;)l(k3 ާa$ƥY |DAF |"yi|o 8`G^ 8gAQƹXl-}F;V1@@ey7ႇS8I*([=a66Y8:zjpQ=fv [9پE%󗘰烮b\ {̀n.e{6)x(_+)D}&Y|ip79*Ǘލ/i/0=^%Z-pSz!`BA-}.jMʔ'C`1ຂLEʶWҿv|(DU~arz8 w+bF4tBɮcH8p`p. c^}.2ꗎjKaFń {x|-gOnee3~px_ .J?j@Vlۄ0#j2I*Q+F0V7ev:s.GʆpаpF( =2:\'2EAez 3B-΍V6!@6u0bM wtQGvS$8E~=~mFoD,cI$-h|,ˑ-M` X\&`)pE$@Z4 WTvp]DSpE#Ҳܠ (pE(Yӄ2|7C*21gY9O{77 +prDQ2p"RbC%]a vWє¥„UF2β.rc~6*5ڪzoLF i~ 2Y OUYT~b0qẂ[ؗM2E&Qxc2ܪSAxE:jৡDʋH =YP47}=C:=[6g2 ,FR *2#A # ]QN]DfS6]˹eriS 3"! ji(G# hH*C63e\Vy`'*F<<3rD-ML2-:*uu%}K#]]ÜR"vkv1U Zf^0dûstzt}ʨLpQAcl \kp-JǢΰ$^AǤȰå$&l.(pU8סEG_T:nnw iyCP$H &BKyzI8U#52|N xh{2R+)GTĨ 6CE{Fm'py,Ժp8WYUT1<64[=Pҫ}GƌJXL,+5:A.G(fO]_R>Tr[TpS[1|U>]y| tN*\)#t<Ʋf7OȽP> sK^ pM<ӀpU>dzeJt) u 7tGb8CZL\TZăNbO8g F>:m0/*? }WԝHIV0&$\'y䝝\a-ǚP`RU|^Jۆ$$(A]\*L'W%pU`d OM~Uxd%~ NW{~SkGy9SޢU4leud>MkIz=#렉tV!C X @06fTcoFeI@ b \(!!P:or3ӈ_Z!,mǎc p9Y`=m5$\UɒI[\Fp\ })\ #s ,' y=fj䧥, \  |H,>L˂%[ѝ*F\U,fCg)8IݬN51;;_ZfL:uCN 4f ?r&]O!{Yg/V,8 W%*= N.H_KȾ^;{h8uU: XꘒC֖k-z-ԦXzLk`Q4HW-q:-#7&:1/Sτs$&\Qp04@  =\3F?6d\sX!s;CHs4^ELFQ .\K8:Ͽ|ȩ/Xg (d*Y2DU!p-2OͮU8E@?8MD Lb4gJ8=Lۏo+»@p%a0C?5T"{b!JNEYV@<pC&Lp]O*be(CB]I]*&Rh5 Rs7.ʥCUJCeȿϳ>::Jh>f.P%^-f!6DQUTRQ*|ΫW ThChvi^ؑ\H+9䗑e6&cqgή?j|ar"ofFTVm0V)t-ZEk*%T*Y?2{*pŅb9Bs! y^U<|-RFp0(pAq,Xq4.$mAqFᖈ 8YAxCjF6nl`UUpSf?LFOaHVC;1)E#=* =&eMIz=pSmbCW0-7HW U uD|FMui ҥ dSv"*\հ-<:_T-c\]ws;.Ń}t9\4I+ip)@+7P@¥X4 5Y 2\?^ml5vRvFl)+m\usHWq Rw)W(@ !:qp!DaH]C&089*eQpAL8P}BU({(ge/)# G=2EfПMğY@4 n)5uRa~).{Ee?{ÈipCtjAl,C*Õai}d*8pc/(WCPP& áFnlpU4YD&l)z WRlMƮ9&3|FcN¹M>P^Ah)|[MClP*c]Il9FPJeN}H>;xa'?vnNP>tY5fbxKBp gw#"v="DnRH8RzP ".2Ni#5 WY0K)#5W[2ח+gEߓ;sõ)#}+7Ȅ+:hKuMZa@\Xy$x3O>F߃D&g:rwNC8[ 8|:N;M;J"@$^-GSD$\Kq>.fhhp.-ܪҋA\=L;^ISPl t@ܿJ) l |/մO_Li{n]}Rj~k ~[s<+K9b'z$ M(fcʏ2t (EU&D7G*7Irʍ1[IC=G5Cd20}TT%"lou׌A! ʄwWҟ !WEXC0SP53*ѹƢs-!~dA35F(34O$ aFԊumؽKߵ/F=(eG-Ql,VU.4Z?]h&oćYjA.݅ҡ$;i`_8 I 0գzE@(cI9W8k csp,yq<8QX8 /8Q8?Op~r'\I~p$?8W|+~p>ιxI\m.88,p{ZᷕmS8$/|G'(b %Qe[ EPL A4'PJ<L'E)(%x3[/\x 4Rb9QJ$s`q(N`1 21$(=cLc:Ɣ(% q*JCIVSD06Fb(%X dCϢkسJI~Wy+eTIF2TYK?ɖ( şǬo Bf\C)4FG\xi+MD)qRx7n[)(8>/I$Uh(5CGG/IW၁~aWh&:'9l@A[,c:&t`q1|㵐(%2uW4ChQ'PJaAf;gD)ϴl՞E]r^1QYf'E6=+cy[eBm4([6t'2|ne$KVL*(ɳ y^aYC}2`dd _a(JLlN4J_^3b?ۻ s>L.;䣷Yw)LSloK@OTHp8D~xJ#ZQ\2B@L&S}U Q $Yipw@AuG@]ggi@Awt;]"%ۇj^0dn;cZ(X/v5Q4l(k;"@ҙX=6z=F̓LIf2i=Ef mvГ GV /oP lKr*(o||eWU2П_E}Y*JIY,|D:KQh`6@Ah(Ȳk'= .9г2}_aM'ُғGx)=ѓG)B\1%z}\dKl_{Idi4&Rq P=)"+(z4L\S+/z|aD}FP)c4x0Qb([aO~X/-[<z7*wA\/|(TضC@@IքFS%oRla(-~Jޢm P0X5ѲQ:2 8{kM#c=M 3Yz|Q oaQ K|4fKXfoW!ߒwcR1B/Dz Qƃ'#~@B  XD qeM8 ":njQP*s @<.[ףXc mer#-POqd}çq /VP4wa4QDi&]όDd ?)@L{AQ8[}<{k]ut',5IrHa9(YdY~hP*D)DK5"o#F">o|9 RA( a2ũn9'J?8}n3ֺ+(.M&SL2 r6a@jـu`3E0p(sϔ(@%LB(Y6 [CH뺑BFg+tBb(@ze,ye 23!;T^8Syvia ̩2 ?<˺OC}eJ4`UtM82HDxP9d;0d'&h(t_FvI?etdQ q#Rxg*(g9F㙧xJB|=қj̾Sd?:I,glxw6'gQ:k0&,huc J%(b?Ir bkrAl; ³`9P6!x (^/ċ)9Jrl;fTc&^ \Nipfa-rn3`.LTQ=ӶLefaw?bcw%YYY1U4Mu`ώߋgԲKR;7aQdC'c~4zXÎ6=Y(*WGkˏgfWkNݺ]-?NE|TmO;I(?Tq-,MNsXw%$.Bx""iuꚮ9%z" \KdVVnV5H ς<[(&b?9jWj]-ۅs{P--L.A~L eRQ.]%/0=[eLyOs>i_}S)4@#Gջ~QozW ˻kڮYkmoXn*jSkC=Z‹F<,u%fvݧrq\@)L0PyABeq w.zT1WH\ջq8Ù,35tSeuWyy8 3EeL~MHI31ۖZj)K 1-,L3("3$ll$[q \V`lpyj"7g 0 ldvEߒw*v?{_ dbޏ@"G;%Ǯ)Ƃ\v aQ& ȓ값B/ٶhXz[q?P/ϞsaaO!3yHB{Q?.eAeNM`Ũ RWd i~X;>'71M&׮oMp:T9yy;UtN{{cZ$Jy-@A-$ P~X`١<a \bK4%%ʕ,؛/Mk\qpFT1捛ߠozazd^@,dd{UIH+m "lȠ4m$0$\!?cAɓ ߡV98 $~Ckp54D }cy-qV_SM{ }8+bu$>[0XSsIھ(༫:Z`:jcoZ,OkjІH6awW[a %tvhN2($Lm4|b>Ȩqm<PR xl>-fO>;z AKjKY:/ě OgR`QZ.jL(\2? ɴ2/%~!4ʼLU6Gɴ\lc^Kzd/i$Y2-W%ۘOw"SbʰzXD/Lᦒ^n\e{F#zר^Bf: /,/M1AgbK7-,{I3bE:>NpQ.5a;} D,YQbFጝ~+S=ᒻ7ظvBbp38A^j _ TP}Y~{j#4z_oCjLE"?bbpWy*#{qٮ4 LR8ә pILp[b !֍}ks\ͳ 0/1)])@RDCb gp?*bƄ<>v__ᛎߛ5:1,3"L%TLՎNpR]Ѧ4 \,s혡@Ft ulNuL nyʖCBڄ(ݲmJ\sQpM)ʬY) 8boTŞQ,,ب1.jOÑJfU+E Cu'J1@{"C>S| 8^Ȍ]lKs b|Pv4r*\ʂU4BxdU#=HO]±n%n-agrFG&!-px1[YYG\50NAפĚՆkJ(I< PC 1Qd2DnV^k+V-@M(p]c2F3Qm%3[M5܈w5DHq~%$ ׅsrBMpPvD2(/Jʤz]ea6ju,:,2w9Ʒ#[3h>Mժ/4B~YyLtnhW.?^J"Z=~5Auyܗ~WКR*ܖWL,>}ƜxqҰw˕P0.94tC Sɐa)<]n}:hD<-xNScz+JÙxW w̦M*\+ +ZJs!2ug1p%Yxf*!=TQNWtYuX€*ߧr\^(4.D组BWt84F=wI][V~zUA[4:ߧs L}0ةtSM +f~5 u$\͗S5v  { ._v ffV$3Sj !Ki*j ZLU \b0 T[[$G-쎲o;V)͗2fPb1]^H6F,1_Dһ >~U{a[SY=ҡyCXV{=2)d)nZ|kfW|1YОyHꆆC ݟòzT s y e:/uҙBq98WLn@\ѡPԝQT[%A4HH%;&kJ ?N1ԍV\rkp0 QZIvuGqciV99 ,3c0݆|ҋ^܂$>|ۙe}U陜;zo 7}9zOlc>? I4$7ʍU6o>AB'k d6=a hnfBlFT3ɓ7NAЁ9g^tMW\>/<%c1Ev3g>QvЛץOc (Q$ߗ|b>hL\膵ۚBWE=oFb"K^:MV,tQs}Q۾D1z.e1&՘}&Z ͗\ܻW,+69Z +6Okm.Ϗ*kyh!˴&<:<̢a3+0LTq ^|$[=Z/>ɋLP5oqpy~2L1'+&FhA-"D/6%C$` ͧ4eߴ?/y2:K<`p_䙓|Ncwz+I9Jk_.9,[UT#f#Vz9 xő c(6K0f8 byYMx0-qÇ;k)E'Jem]14]prb3  v`U2 Q:`|]k .`233z/)+Y0Qb"!@5sx5yi;t)q̓%7 z@g$RL(0<@DLo>|ngBWm]A}D0b4IXgBZ:ֽh^p~YgXY0֡L擞_t xSf_O;挒DuuJ7] @[XZ9n˙0e%p2_217m(UOata% nC`17`fz4^3nPw Yյ)̶6 v^ݱ1GQ)1h )l#k󀠪w{HD<#ǶD0`4WB8Byͥb뺒fgQNg9 2-Լg9F]#ɝ○~ Vvi(Ak 'f`[%4Z@4xZ?N3X:@XRj:@X\j:@fmސdnȻ4č 3(W@_gCBs`ГJq'K}CX2/J*s5@`Qeo~:<,C ES2yNydUґ~PF@BGet8@dAi(E/,&;db IfC:B+C]F7i^oH!'.邩;0Bd{햖2lؕ3wŗ+tY0I lV6. !Pc .w]=*Q4F0A.Z@d<kt%5߲!LkDQ,vk4CPFkx6OI\;SQFv}ET=bpJjHɂgSC] 8 [T(RJb7XJwQ;Bo##1P et%!s0yL[jr`f)~0 \4E &*>կ.6͐+a)GȲ< 2Ƹ,AY;f:dYq3s,taj5kVi!E,W>+ M,O-?p[Zv)#L)1gp{V\pj )è+b jd]SHHMWݣArv+A]%U[Um*.">d8aԮ 5A^.7߯M%D ]\ m (=ce_\eZ%ٿ,xLx+bS[XmeiEgj\CJAmeB Up'؛;+َ ##NJ1>$2iv!FP$Czn`(熷l.qgM6^Ad4wIgX +/q,sejHj>eH$}HēGҚv9PGSY)x0,< `~n 0]NK8j,F$DG2<Ҫ@?IFRQƹf\q + * |2sD8sYg^G}6ї9)ƞeH QWؓGwCQ d8ёe0G\kpd8Dxη3T$۰y;2<m eq<i(Cq  *7ĔԾNP +$ e%HH G(,yL8%f 3on ?`+#$ޘ{4puEFP- \WXЌ49F!IveX{&@<% Hþ"'C(Fb${?tN"Q\NveXK#@8ut}JF `s4Sب o2&ܽ7ruEDTxq HrmFD TGNRdj@H}RkxAJ0 \0[r$y D$Al!$:E/Y[ۈN Yt# ;b0u52 5ef/b,p[ >zw+ޔ3 Y,Ӷ7P,c[VMb'O2֓( E4LYiQ@FAs q% _ܿHc *7.xH>\wvG[ Bb2(5kyX qj![d_*.Zt9dr\vUux ##YNEjxSW2ʁ^ЛuC;ep9b8Pt͒t^NSG K~ȨEY0Ab"0I"8 30Is>(n~X,Mx*n$O2{F#T uzDfódz ]jc-O W2hN,-0pA̞ * 3CYPE.3 KŲr>,;s(us-dppJR醅X2nΨ,*pE)wd(8kw- qB&A߿~!z:.-LjzlMDe$yw$ȣ,D@2E2Z>D͙ c{^ϗVTk)0Fˍhp/ChO*w^cмy)UhT *Ucckzhߟ໇o7'``vj )1~sǧ?qt~?D9=?_?R*MVe X ^\ւ3b0s.k񠾡z7?ֶ[ٛ-^@[X_R4!Zy8m@?'Zt]@*/;O YY~,,cc1K1*]be.]9L]lTvOgB>>g4 nKeYTt2*jf.Ҟ},smպdjO琅z^Rj۲ZW[Q)j+3B.!pcvVxyYxl STҨS|JXtĖStO\JEe.Q Y7OTi+V*Y!MYs;8-`#K,繉Xc%wp0|?3uPtMk]ft|`|#m6uyY_`:ȽfrhQEȟY~M.&VPSIodQ6_ᅰ{ bn5wpW"0_q)=//s]?أÂ\L/,+ 7dYvnFfS_%̂l7es83rxh.gt7$y,۟_f|~8,ⲨK tq.i"o,کt*| [O9:Y5u6> H"iʫ˂[ :,i N7t*sipoLAAaHϟ" ^E:=B?g ħ4hX,yMS^SbyN*晞S^C7P2#C1 ~b>AH7Ygl&}6yN7Qzn>ӧ[xY A?njM^wߠ_v>eN4y>#(YǟuNU { R^sSv^SiV:{+Ģ^s oWĽ,Wau gxOyX2k27a`MMՊ8%݊H|d_.aU~C2k-~| he\ez-^_7a6\}ONX̘龝Ӝ)YuE4uNwØ˿D m fk~HRu\uůìgkk00+v^S5T5ȚzOPOYC\~n{ =..{w#}TBr!X!fsR\k#H3$#qfk 1sc4[[yEB[:v52Z,0"ņ3ȓ5zEul}=o'DDańRkޅ]E*z|k2b RF(q9AmQF"|$Rm"&kqb XmjƄ>˭ƴ[#VmVjsjn-Xc8(^8\͊W`*/#\` dGQ_061ijAX\`PΘ5Bgd]dsXclYTʗ5͗uPq[#Zʱ2Tzv5}v+ܙeg˔G,gh< *z^5J* =F{®8z1(>"{ uXYK`/~<5x5Y@XqB--eXy>h%#5X/#hw(^WJ($YXuԩFڣݦkl:ݡ%0/3[#$ 3KD@d5\ka?8}Fd29FHX# E4鍒`cI&8<gy#j~tw87ֳ0mJb5ӣv56udeO PD,4kaw}̞5AOX1Qa1^L[d&b3c@ms-֗+o5% >%#U%L)}*k4+4 FIF!83 5e||s0BfnfP&IݵTCX%~i$}F` F@qbA}'Q 4XØt8" I)Dm5HP&k'X+~9[AZFҷ)v@!#Z$8Ga$8G0v{ YÜC%aybN5Bkd;Բf͖&L340fmxj5A50En+wcȳ7]MC}]k20OH9 r M`6p3c 5[qLh­SYd!ZRi7r՗Ydxʱ4 uSb)2\5 :DȮgakE8itV%7AY#:#kVAP!ՋX&kUu]2 aR0Ip>Fz2سv1tWT2ص)2嗢0jDm߬c:zs9Xjţ-9Ck9Sk*b>FP`&@Q@'Q1Gp.'z6lnGsͱd r7NzKkZN:1gl F((kQuJ cMn$;__QrlQ( 7뚷[ " pI$pI$6N$LO@6YN*mdJńTCآZ8;[aK}Mʹ(kGF0ڢ_9e$#C2DG瞋nH*7X@^dT)t٦K?:Tb$X'5lJ|`&K:Lѡ5k-ݮ_n V1Z,uQf/N<8,;u)Vl4 L~_#}̵X ,mH4 : @gޱFPe%k Br(B"O6ѳF5xKT7ݷ&p!C>Sdfkhfv5A+%kčjsdMF7&L~cZ]I&#fD5$e?m.z5 <myhQ۞gfk7FJ\偟v5 ~&`|`MW8 {perUn$0i3M#7>{C *_vU)ϏO/"xwt~2viۓ}~~4׿}$ׂ[SqQwx}ٞ^:p{]]OħBhЍN) mFC@h\tEc0ƾQiNɱ{{4//O/W،I+cNeY9&\v 峱/;k4<\?{F=Np?Fe0//]nn_UꮗYu׭M.l:cNW;N9\ozva CCMzaqB!^j-H5o/O×O)tєuVj˕.*il(K~>Zr(fsV4 J}fE]]zP(G+(&Gbx;]zPV>cҟ]+@-x\=@+OyNLQQwu}v'Vvڞ DS`+_-PTZ #+絨$^*p)lt0X->7Gb]4mX^%cΠΒk[>J]Z*m׵s/F\#\W2ӰJŖ+ eybs[SGErdcVdU,Qvj/:]M󴳕D]X,y+)0+H_rD_vSTTܭ}+7YM(1UUP(G8ݑ +G^5HN䮕\Ybr|t:TYjq]V_ʑm(<(Kye6hLe󬼈"J>^Dhv+ `4ԱrO]Vg=PdO{`Y$e1$UCs~2]=l+~]4`u:%S,wZY6'B6ۈ tok56ǛZӟ^^1P?P}뗏#"|QjMFP4u̡U;-gjgoܔZؠQx+Voӧ%wo޿ӟOO#SyzY?~}N>;ΫЅlR=meQovGV%mzasw~nx\.*{l;]6;()'w٘vYڹ㗇|zqrP3\56?:=_nWNOw7;m?/-NO|v?a?oL$?W?|y~/ᏻ?.~ iy"Y-S9 /_L#K+RAZգi Oc\si)د b61aܘ˹RWR8;c{ߘdD=g&K5݁kYqhmduyYQap}9Z_SDolC}yooOi+O9iN 9t ֚~V0ͅļˀb͑v A1,L$\z/u8y- sͥEayI`>έ^ؘӏLOrbځ#YWJUM'- .vM5'H G!S8B'e,%hh1Z8"4&C,bM?.Mo5#4[Tt|p4zpjYksm?\V_B l+߾yGei×y(w{6d}V5F{eA߿i%D~qAwp__N Oy鴺$?ᅵW^8dYgQ>?>?=ޜVo `=^>=_V<~=[t}{Z|g^ccB_pQsu޷5vÇdjA'%o.P'Ktx P(xb QJef{r*H?칸jSvC si}O W/hxd?>k(/"iYm[Ρ:eNZ6R 6Vb1 iCEBH dW 謍+C P_<Ǟ3D;9u8׬-"ц<Ί5-ZlQ}6u?B%F!uP::!b R5Ua6&\ 1? ijP 6kN鮇g&6G?[AIGit {YN@=- uȏ ۧ7xa1%fj* ;jq[ AbI6X :uĺڈRn<߈ZC~Dž9DF 3[+dB8͝V3aK!lWKquѵe9EKz(yj|ƒђtjGAJL ͳَ6QwruGTkkϪτmo[aUK-8g6+|4|XՎ MAb-4o qՃ@;X CfMF-;ps=ȇJ#0m(;)r\ 0-A| dAaLj )+Z[8h1uP_.ԥzH4ACA`E Ŋ2``AWhCdp% (:Q$`r \QQ T@tUL  Vd\G `"4jC踏O.EPw'dL (CBufseEt ѭ6 YKȮ@K~p/&L'6ko[فUrj3 8g9vqg9HC-: ACِyYq(p8݁ ,ėWmI?jA./^8N>mkl{ vH3A>1K@r mҧd1 }`EK͡nD-V2Pݰmͱ:p P :G:S)<<81}=u0iCtw?JT- 4y?hC=.$:ؽMkJua#-5%] wbvI8UT{RA 3z[P[0@ jձ 策WRqQ -@,Ȓqcɽa]CWݦF ͋pFq/ƙ+-JOU^)z\y] 6<|C\vJ/D{.`h%V\ "~O j z1y5-+aW/ad  =p.Ԧr dF9}HFWa<0\-xI=!6AaXVYOF'ZAb* JY$Mn4lG]mf[A.0;7ٕfRCo?6mztǣ/tnHrk9Gwڢ031dF@bmT쭍2_(`A6 ;Vҳ6Xjx>uĢԷ_ٷxdk(,J+?cifFfA&{ ds?VstP!I%^w7= gg|_?Å:cXU&@v,zێ Jg1lтW}Nm47`gHͶA!цКV Lu1Z>n90 -$g:vw&H 3k~ 緙 P1bja^xchW 1`lŒuUK[G볳 |w*Y3~.lFw?6Un̾AA .pF2+ /g01{RL­$Hʕ1ʕevǎ"Dø 񧜻G?!w.1!nE Ab‰?_o4E5E\Tؔ;̶)^@3kE`rMˌo/[,Mۂ"N_(i9X"6FX%7ʇЋ6䎗ndPPKN[pkP`Z^tM_sOg-w< %c">jC٨zn1PoXTe%gAmlC8g^ϰZNӒǴ %/C 8C3a`e7 7nhIV`BmL="{8e%[S+66kc!H ̮EHGQ 2̛U۟LOc7^23Tuxc4#X=hU puիE3\&K|9icF5& | hcRy/ը@B@H/0lfW~[g-(A1p\Tg֩|-<gL&_ż18ZjvJ!f-4R@i>o]՚ѯ`Z9)+) Cv'֜x捇E 1fwn:̌n=5B7o.TŎ -0 [5hxWVk}XF`Ks_]Y1Oc_[1Y#ޒ'AH_ǝ徦W~-[LEzژگԬ WΜAkA9~L9EWו$[H>=smHE(MwwAOZzv2ІZf6c _X!5U+Fs!9JERu};诔HӪĘar~p bɯUh ɩa԰7\4J8ickU_7+b ͊=Q @FE tWv$K#Y~EG:MQ_*C@AЯlK\ժ=DC۱",gì^ 0c4+%_? qñ* FU {_%O2ǀ6FOmzWHl`ݗBa"oj]kc#T>i+$6)ϩtFڈmN`-Dls!@'WPѵ$h!R3?hCrg+@6Z0H֮LUjg&* 2NNMl7kU5ZCɥ;U@ڀhLgh}=//;VdUH(?EAr/~Lv 6k-&N&9s1<:0kAds/J87nEM871M G66ƆL׬W9?"um{EX;pGs3]9:vS;=%PƗLԇ #Z&zČ:ԑEFvh:K:srif^f-6Ӝ qիM& h 'fC^p-7 x_j 7NEK9`WmwCt/Xq `X 48|Z/{RRfjV6"mm5|(=fD).-lfg۞?}c!۹SFX]^-̋V؀ "NlCZϭxZ? [[4kiERr5+.۷sj܃=C'`P_<>Z+ j |S v9j 7c-ZoNg&E9YS}z^TF$$ILU"x1VVਧYK"l|5#v_1sz"AfA{}+ FsةIk֦Shʊ i.UՐ.Bt5][gxtW v­gilH i{!Ӣ:ǵ8_<-!9Q\]xw֢N*  WDm I?%|EI9yP ;<:2ËFs.5zfN\g>N&').ʎ\ SQ̓L7h=ɉ[sjmȞUXQ48rTEQ= jh.u+L=Uݏ6GzZ,}w s#ilâLb_0s:\8h[!>Ԓ-9&FK9Ag8|;݋nSCUWVErؘ6s>cZDԒnԥ6ؓIY .wMC]ZWz꾮ڋNeT 삏;ZmRN4fiϪ`ZގAtFw)ƛoi J"|G 782Q"{8E ;Ѭm}[Zׯ/|K'-=6VgjD"ZV ;ڸP9SJ.B-Jkx6;#b^lvZt Ң~cI !Y_$bNk O::jr@M7s0}260̗;fb+uѧOZk^1~kqpjM /CSyS4"u0EnY7kH `n~6MWQ曀YKqu Y ђp띀_o X8>Z_RtafۗT${G\oDGZȏ v_~p\T\kYj!Lfт3IO&k.EO6W7PUh^iGsZc9"~EEb GeuWE uWݣ0wѢ䞟o+RHEԽ-{S: ˛-G۹57[yySdfSIwnWg 6$]E9ݞW&۝d^˹@r-l@nN1t @Yc6E Zȸ>h5?6lj#NTGpT"N>ՂZ Mt hik9/+]u3ދL-:RLZ?~@#4?Ԧ$i~&lFH|ߓ&AFDuPӒ~?dٚBi#`T\fw-8G_XΙ עhFhF퓂Y}I%oP EoHЩߐ,/c: 7Vih_ ;Ac,l -\Js{MI !!²qU h"|Dwɔ9PREvZ@ @i{?RuCZȧhH"Mr^MD7EЪs}T'g_ȡU'ĬлNՖ6ܚ|~} }ZǍvύwkU^>=d2L"-]u6NZ8;6;L;iCfݴgWrNKA"@ Ǽ}c͇aST4)p}//·{Z~FW ] a_L߿iB\o?k 0eVnYy:%o _&K!rdZk pj-jCakbedñ6^@. )& ..brw ?!A)^桽zu^z|u\&] 2:~D~ 4~Rd^[\%ﰪ9;]F>@nPT~RQ#8אboy{Sjf$̞ {3vXYPN{C"#HsoHdZ{$iDʀ(áH[oyl*H5u*rxG -u x>2/]#Qy&8] U@ NCӿ_xZ?8~զ(w_G]QΛnZ5Y|xj1)yW8}b"ɽ6+:jN27@@$ctW L38vy!׺iOX#lS1ĺZB"̭h=/_0m)nM'a.z:Dž‚Юav>lKj1Z:x||غ1YSg;mHc|Rm>0H;k#A!'!{< yp.qsKLdހəMjAj[Pk#hEjZxڧuP^IȮos<icp*Ox^w:6BA3[TlajZ%?1NLZWz_d&-Z{#^ iڃ4ˆZ=.čPvsq7ΓjmDVu>w1YMJ[ [Uh:7+jB<Μ(vWgr%pTx%hQDp3"nzZ9ey:L'lZڙG19-&e~ H̚Ʉ^Yk!(m7?tRݘ^ B;r |:j!Xo_|QaesH(0|֢h:AQU5pvUQfM78 ~gr]'J;ɷJ#W0miV֥xt!2h 4 V&m4+{m.x# ?s-x~4d)ve#8ӎ\jS,# c]|v<| $ӂ>R0|><-Ar݁4I\3B*֢bv˟sD8\ͯ3J v1m:@-l+8,hy@JȴK[6bb\a;Z ϗ  /iK?±]vyT[x7EFaEMW|8+ӳ 8*$Yӷ`DK,"Nr:ZȗeHekR{SY pޓr#aGlkTCXhI8 NCqcC;XKx8bM{%= Z%Fhl3 lE HsHqɒ8%`.͟7ۈ6 A'!tSv&A{Zޗsὖ"Z?LZa+Fh3z{SZ*S]6@ Ћz+.;0쒏*K/tҴG_9j I 릶Aģ!a{!ag|oOMm' 9irwl$VKuMfX ciMU ՠA#ᨓQ\W7jsvFZۊl+uzt @ F&_FlCб^:i.r<Ý7m?1'vLzA*BT_PEh/x5p" kA7pDpOzHTK s/L0ĺwJ[-7SГseľ]n1.I wxX;h}cB;k!$WPȨ2Nw7BZ_,"UlA&h45C~Ժ`~@"!Ԗ"|Y1}LgYhhPu֙LZ?=E: G-@ +Ill9wUp(jfYT7?cZ:"R:k!`nhtvHzHEs1`&a¹#!Z-7MJ7dZY&dp8BdhtmHQ#틈phO^Kmf|W iߪhxh5eY(|u?j!r5Id2M% mX Wes87V AӪU%鄼H<^vsxbJV  Z)&ǟ/(xچnjb;%|ZkSr`mۨ3mL(YP .mycө 88AL锡.q+y58XƁָ=V *\JTKDO$Z5eObhbdhӜ@w:Չw)C]рm^xQ7EM&n}]bp>~G^yә"72eQNXskFLbY#0zHskڨO0ͧ>8;k^v8-Lc"aj `Cs(Emڭn6PLEZOnŹL&?Z.u:GNiqz+nˆDAG- 7 ﵼl!Ł.6EO] hQpōG Zl:ξI b+ٚZ|cjcxWAܚsۄE}拚`|QP;ʮ)<zl)ZSN+bPH X߅si9γ@w1ka'XY^90ztQ˱nx}[-p0[m4,%W5KG0}kuS6H8pK2\&9Mث~<Ɖe0V4'VzmgS=ZQ+^vhjZIoE#/`$\Ӑ}?-'~i?o_ϟoVߚ?w߾^7_[_vO_?ݿz>bt_}yͫXubw4q).jN69E{͘4ح~);% hLx1\Qu/]+ʵ{۽VJt~SvF w0]mѐ4XcLS]cc?VN ;V 1+9+ ~j/9[r y-Ƌ//\A!i|IS kt5%tL; v-A|IÉm_{D`$͖1zYCl>`Lɱv69ɵ9i["n4:vss:)\x3'mlc>%%Wbk맇g"weuS)y߲"/ud9O~⛾nYNz<^ԮxfJժS3Nuz~jf2ح/߭91s<"nt^&Nxx|~b>{e#bRj=Hvhm/"t@ܩ.3Vmd}Je:#k̦].pwE]ޮ1o"f<쟭o_zEWl9_r=<>-?<=?~l>ϟ4~zy/-?>}Z<|^?yz_͟~͏Oxy_^_ ^u[S &YO& A貍߬C(!(hbb)4Kb #<Ð%)2TT®}]lR<`Br`gzއz>, a2UшWȖ͇5v=ACX "``9?ޢ"uT&  hBqs $r $(8}0!=0O-{(SF3GC  \)Tv'"J$K>*(.h 64To)ŦuK1w"N W.`J}ٮb4 f@oo:X[CmAadYkenaH %b]m=)!ծܓɐ`)gԖd);&IސMomr>HV-rvhՙeؐ$V"Ðv٦/*g(p?ϏNS=??;x|4O4}<Mw{< ȯDjkh޷DܡC|p۩U[S*YQM0~ lC5T7x!݅$Ψ]Lab6W2Ѹe%#4мKabS8`{8wxg' 8P2gxCA@W:k+a1FMHGg I HYGr0r{_H`EaFc6XH~܃ÓGؑW#2B&BW!|84H4%j)y؜hF-~Zذf 꼀m9 Y*XU)^:+msqD'w6KQdhީ?v-ms94\SfĒ۝fQTe]q3 ~*oQǡ 2'm y$Z 9ٷm)KX)a Ly&lsV? ݡ5WłH)a;Ю[S#DT\9ƉwrFU3 n~#_WOq%R) !h0*^ōDijR JKT@dhMdkb  {;費 :[p3%Xπ=|lԖjsJBs Q 0+T+P:Z~z&][~^jQ ;@Վo!D"Ktۛ6rsl~G gI[.7- ܟn)h7BxɦP!nuuÿ[\'CwJ:k NuO~;bݍ+2skZPK;_p PK&golang.org/x/sys@v0.26.0/unix/mkasm.goVmo6,^H*m,i^%H-I%]~aHYme/8'3/yfC8Փ/{?' ,14S,p_4Yp Z*aȔאKa&'?iT0U , 3d-R̂Ӌ)d`1!a.5/R๐{835L՚ e% .#!E+@؃L>I#-AT-f)(F81hrOs%^VRϟ >4SiPE}"ŕQ^IV &T3}GSU3:ez(W}UU>~=RѺ0(,dQC,{!scՏWG%Y61d<,ȥF]\-J*ky(iugs) LBG/K=PRLtQ^Y"^&u@ EE6\{!EL)T:f4A0 <:?@pf(/XըMmixIOڛ`IUpaCg*B7]g:uw4M\(3aeT_Yu;ЙXFǙi\BӆF?5V:קSVh]_ۖx:AڠE`#)&zqk4{P0K|aa{oDσȈ0ڐ ǐP3k: #q\J#S͔UA niE#.P ͮ%*!P'̀#p)4.8*q :1AXul-z!$6= pkF6.ŋ#-K7#}mzn˷;GmY[đݮޫdJv\ɝ@J&Ŀ5/2 Θ}R]b" 0.{43A/V I`3Jfv5LVvtB?DkiK٠{oY'].+/3B0Y6{Չҏ\ kc,puv?(nx ^w=mw3AZ}DvW? nk7˿Cy[mVKMFW,PKǦcPK)golang.org/x/sys@v0.26.0/unix/mkerrors.sh|s}b%;Y'A:)#kZ@~l&o5zP6>oT9dS*#F0 B$nM ͂HI nCMI;>V/̍2apAR. cd^ύK*Va`cذafE/v xn !^>w%6!`!?Dݙ_Ani,~<@”lQInv@JŌ0G@ჍEAu)9g]f!G{;.ZA.#J;#'" …OR,W'{ND$C,g5zxċsڛ'quF%:p^&1)xlfg]fQ BCApΦ;Iy{p'I`z}u{Mj8l>|;<.^rAY3oSc4RP6\I9yxYIs7q[ ǛӋ["KG_%+)[ga'^ cpG*%l>M~lz+[dPK/"LV YR߷V 7h-x,Yx 7MVG27R&w3w[U̳ZUkFmsF"?4IRT U5݊Lk;\(6rXee+>Z*bU ŬwI|O"#Ǐ${M!`a%*6fOlJRRxi "Ve)$g8Ȗ))jcXrf` wY<9!&VE7% ׌t1 ݻ彰4+c2DYgE52Mqy#ēF8J_4]dDͦNE:m<27rˆyV?;hO#Iǂ,H#/fq4fa5s\1Na`Kf57q,r4Hśw+͚ kd&MK*G5+lqFLiw ϷʪI뺌[+S( Ƚ7k$'{am]Ѭ1[DlwA 32ƛ˒S9#"Y^4 6p掷 k;#鼖FidVMw\aMs7F$$dǍ$YI74, x$6'a?pdkClmfv=p>6̛qABne~o12SZUt&<~?~emB>]Ol YJ aJ3,'ļ ] )&QE: [~vAI_:t,IFx JLn>yJ%UI$_Z>F1 y6%K^>OiDAq;:(uԌ[)aB\) q6żd.^pKf,m@& [Vu/XO" d+6>G׸lR+(k9ZqSr(]q;gZwq$IÊGM,t1NXz/2x LݥoՔ:X1,t &ſ߆)*rV90XlCr:s^˜dDE չ[Ed]`K%j#84˙6**/ŏ*nIz.elEҝoA-VFv,%][du %se!iZIh[EU3WS_tZUe%W^+ꇿ*\}jPӐePL׃sB,ҥϑ ,@HȄ$$6L5W y`I4DXCz͏q b1uN!> ̳k+:~ߢh>}Ntח(ZDa[Z,ņnmfa.6#6Au5Ul rNacx+;D={^+Gr mJ2ʟ&t#v=AxYSձ{&9UirHLFP yM$fOrCNoɢ.;}tb953dKTEtXWO3Uq=ze{)U!*KS5:5+q "2ϛt(?v*JՁ^!\N%REM)or'~<ƲǺh#gwE}:Tv;.4ԧC۔,j9؝sUpLY+LULs 12JlT&IsY7ΑbTJa܍dgqY7S͇ȟ5*[ԑNM/(v R ÷9##ߨ-ƞe¹<,4Ik|^$>tW5k5e÷kEYhtj#ˠB+`drWBYLmچFUQդ,}lҡ,E9T7DC J&ZRhJ9rP[ҡ>_PӢ94Lf]8@Fs3dc8BmDd&h.Ӥl2KĦtRRfd*cbۑ]+X[<4/>"sN/lc(]Ɇ^||l(]KC[4 g 8XY#:BuBL gp9-!FԹ6Q^ V.PT>fb(7󻀥8Pw_9UǏtFǴ8|FFѠ AG i~nFMѧүVyP4U]a a%Pћja5 3vy_hXdydI5=I#u3#GSskCcITUN-Z~j9SϨdgVdm60q_A%Tՠ՗ΫEy*ɮDEϨ}j镡 r&(BUaMOCq`r.HڦӚaFB3U[H+4u:Xl*9]MX<  Q] EYG-rA_Sڎ$w( y]6"ӄlˤ#YC326bXI85j@j0e VU+KfR'XXGy^v4#+F#iEGISyET+4l"]}D׉DK5&˲:f`"WQ/T ?^/m"Z׼Vlڨ YFl e#T͝l UMMMQx,aR.c5^ PkT >I#rكH9MeLέҫ.dbW]NUޮ +He I25i9T14͸d͈C3ulNTWw:X湀(uzahMpkyWYo+t]˝8x &r2nU?,8_uYxW zJV-1fTF`hBѯ|)G ' w~t60dY 60.uVbffmAhB' f.0aˏ+V~*t3t'}۽޷mT(_(`}7V+ѩoX6MmuPꡪw s'[ e]RP:~שSsh]#!wiϱc՞h)k3 |n_7z>1Xkvjٿ6 V=+q/$g8~ !RF:=*/s~??;0/yB V#|5"<7+P]0+765qO -UTkH{i};OGRugOTmuo4kk@y%zyd\h4K.]p ho5|}"`gv^<l;"!OdSWi7pbDs Zv}h_m$""lvDbh`LhY8pIw H2OH§]Wfdn7_:VBE(v>n>9EXe37D+da=lywNO26˚OQ~-&yjA t–O3"I5*|1~1T~qr }Xv+:189|/r!|ɲtpͱ &bE%YM:BFHD V%7Nj s^H$+pĬjΩ>1vaHM L$ $YF]?#o;?us%Cx~c{q]'H̢u}S{DozҝfㄵF2~A2[12W7@KXk\._sYefh/f^pzF!f3ؘ1Z9a$4ͦ“s|} ͮk|W$ {cEJg-^A2[mLlUp[ntk#PK 30PPK'golang.org/x/sys@v0.26.0/unix/mkpost.goZ{s8[.dk8NR)G3e9\Y^"$@,V8$ѯ_haoS<xl.%f*0~֠PatF )נe"H\C*g0FGjs!Qe~.:6CNdE7ֻeoV-lo?~aֆk':Th#"pSD/ G<= 7L! brM?⎶cP6LDFw;bmկm^g mvގaRD4u=.<}?TlO l/P}ݫ ] fOVV(~\AЯV diwzYA̾]}t:ՂpeKuUXSy:I!h bGMu+Ժ.tDMh&S(LUAQpS,n_r'z+ig)?{ʣ]?= ߫XInZfLq]'*T5p*gF59"c!n),A Hmw;uDrA.h!+܁]'\>j[D*`)&R%bO,GMM"8;u-q._JRA=f`/YNhvOG??~wTۋĘp:yK+UәJNpHxE7 WE\ iAA=˲;[{ \дO4m1F{Ѯn+~ul- {n|2PGn)2@X 5d{H:$Bk`Tw5>Ȫkdؚ<k~h7̹Uӝ)!`^;_="zИĘKgJnsne&X$.=z3}3?)z~ qMȢhϮ-dis_(C1\n`3YqqFW6/k51 c%RԷkpT0 y1ՏK .::xYWKV 򙧬9rU ;XcwK3>O s2U6ɐΔNϘJJ~ C+q<ک[m+Z^Ճ/F ccP,Q2c" J%=۫ugotd#3.D2? N#\ "!7FMC/}z22f`(G\$W"u~1F D]`2iӔYRG9p H/3U83yuY]_9^=mOknlgtAojzAUnCCY;b6ڑOv#hhZP4uߎξ䘟#ʽ=:E7[iܝ]S~"s%رg0ᷖB(aH`AG9N(shX 3~j= 4i.HWo&,] ڍRA,?=cXZ#. ۸ > O#no\K˖  zG9}_k>C䁝/S L|oޚ vj= _﹆a\ozW|ÏwW!ޚaGYax|k6%V,1N}s:{o_seTvw{K#ZUb$7͟7஘#{7ҏ%$K}PKt4 _(PK*golang.org/x/sys@v0.26.0/unix/mksyscall.go;s۶byΑMNsqfMs&ʽ: Ix!V],9ne&b/ x4WXk\Y8><Xqxഴ+M Yڀkhjv% UCRR]s-y 50x99;0vqD¥`WB$9,T)S7Ma!2{hT'Rd)T{h߻@VKrМA@eB E)+ĉVud6 ˲! \r,78pU*=K 3I RH}# Ȭ!nd8)O2g@,f4/2883yiO<2L4˹2a4rԥΒ0,s.m„L2HĖZL((}'DMF҆`VJ. HeeAAZo eJ,9ؘs1RŞwJzT;R)# /sE (Fк=KTpT 4\[G y"/x^.򽁿ؒs_K~[/cQZ{]3Je?zG`O\,L~ LX.'`<ӬnȘ|v;9rnp ցapAREC4v,L۔tށF#T5J+]&\F4<(ᝐ_\ V . Eik 0Me2e:Xʅ< s ΤQ]tJ9psi+"ǩُfcXC}o0t} (>M1Lm𝒴(g@SLo4.~8 f?xqR ipcc ^p?]͆a#%$kra vV;-v-;haySw䗻pY31$Obwq9LN2ɔ6z3mhM_*ХS_K> &W%dL|d~OK.ϚvQ -ΙSmqi4?… O|M٣M0VE"dG\+ KN~!b[6f/PUr#i lST_ {z<m%Ţ8gS\o ja ' cݣȁo" Zt''DW@N!\ZЋqc -IN7 Gv<Gڌ5w1n'HƓ"r[PN%rD ogoP8\jL0)9*(RQjy[ɮEkf(p䆼>*y;={;hl~uZgn5*eb'de31`R1X]rj'cYqlT[[URCGN"oR|_p H|F]ZX"V/T$A *b&6 N(E:K`b>O@CDI+$a@f`(lc{=X貊Ԏ6U"uCTCB;n) & azdfuJ3'uG:='0!iŢ0ƽd Y˧-}Nf.5$X6v}$\[^aMBQ ;8/8,ʁº*5 ›y4Zwo]!Wʊk"@zc?oޞÛ >w .~:W^={go.hZת(;Ti{(2c*m?T!6tI4>{& قPԃegǞT Y#7B>=\UB®ܩkl#^&1j$Z Z&1)0O+ڜ2c(b\s~ L'(iRN$w?-WjnIư XQpE:(a WH0Х ]B'?i]>38KaFBk?XVyD3ULD )TN:w w+s20$!+Lr8N+?6ĺ7zZDaU]}D=O_y"y͵T G6¸)|Q.8nsN'p.4O$325!׫[jbi@1ȴQ9n2J<@]`F0gվgm-)B6@<3V_;}JYaWpv!?pacB%jp-[A_ϟRi`s;OJ۫?ӺtE3w]";+aB6=Nٟ&TiX grݯa;7:"/wҹanĕѸݚ1'M|:/KvܪJǿ}>pIs,~- k蓘n(-Ω],I&XUꭺ:`&<90yt2(,HvEAmr 45|SVR-+l7Ah7J?07&Ɩ(u6IZzӟٶAeq{gjlUo9ibKB^!ɸߪUn] O6*xEb<3yB۴NKY7v sۦIs@_!$Ű(2gBJAM92f/IRܢ|ٲc˵]enU. ȯ̭]7R3ZllX(ׇ$Z\osrlR?DݻV&]+tmC?B,N4mM+ku>:чX}Tbbx ?:z8KeKU.WȪ0kCꈷt?$pDvA;@ gw5݆ ã]j"c8?J繴wEiZNU9ʦ թN Ƹхphspoc@2e;ctr"cGQ/ni%J (G=7@ʮ.)kWs=&bxmRmqžI7q=}+PK+ԃ>2PK2golang.org/x/sys@v0.26.0/unix/mksyscall_aix_ppc.go:mSF_8 l.U",Iڰ[ÝÎ<< {굍J>`QwOO pG-ã9_v4ρ>p}ំ F:ᐨ0{%Oa ~z{`c+ 3 00SLAHs./a&r{pi)D&7iU4gF(iBf0+ebh},\q0&ay~CL!kf/!`RMQZ24wN\Hn`3!'aF 8L$gl yE=+l-א c ,Jc!H@Cj,YYK$/SLleK[1@ſdpB oCB\i;G݅,̌w4N_㟔؏`r#_OL~ /p864&Иx[ ,L vE>p"}'dp*}3łqƣȪPq7R⮓On"3>W&O%dL|33>:?HL_V| uVlLJ.yD##r|YMh;cuXdrXxk^`(ZHkH:]'?=!R-l3ATW6ZG l2O8_=8o&aGӆb,Apy 6:eBu a|:>\k*X #b؎FP&<5Nv74L- E1\8Y"8X6@:YXZRj_V0(ޠ0p2Z)Ϳ^0YMܫr`6ӻ09.$,YV1Gn$\M<9H5̘UbZ' U7*p nY**Ohy";t)O]d{%7dS'{ȣu~'z'XS+Iqec˵D*!cS!mT;=GÜkb@iu/ޝr~y[s8{oo^x ok8{q=Aʞyre]ݺRy잉M\k,Ne;z@qo8Y嬾Ot 3M:rj *zxeNWnm\Lv|U0M1U/RGGO dOSBiԺw[ :˞ _g~)  B^z[68Hb*[riҮ7":*[+Vn*GkFJdzY4řVg C|b:l^m,/\TOAy }5anBՒtE{[줨}aHΓ: bɰ–kybl߇pS"4!Dg0g\sYm\?b6kX,*{mu<@S4Wvϫsʄi>+s:z ,TsCk.ހqF4D f @'Dtnx!䔽j\Flvc߽cB1-Ml =M)Qz lҷj,uoZF/UD"&vǾĬiWap-\Ҥ6ynaĩRs WLobnAD}eޗÕAn?H5e,U3^fL]U0(&bW /fCdLCO6mN򼀞k(m4uz[[džPX% /֠*;/07ق:xKMoyؒLgtau̚6:JwFENt'Uh[ èMvv76mnԜܺov"|~30Fd>,w^;Uc JPO@*mVTv,V%接.HTB8:Z-G}q+2y5tH/+Y2M)uRc{2Rx|̅ 캊zirrPLFdp:Y*06ڥ dE˧f%!FGsbIUXlHB:nyC:=<bv7^yjoНs_v3reO(DbR<8" vTd+  tc'w/Y;5ʈFPF EDzt{.QXP|ax &9]s^_/6U5ӷNj4ҋގ^^u7E8oPKtJD/PK4golang.org/x/sys@v0.26.0/unix/mksyscall_aix_ppc64.go|ms۶gWly3p f&UQ=֠fe7?593\A*3\C.o,', PO ,1&& r!2̌wg'0=o8d x.b7qR\%sP,4$&ႋ .4,K RIQ\%6e g0O 8ӱBi@umY,`&,& P/!nhf 2J6 | 4XY$E##,̑7'J0F| A"$AŜ {iNaJ4t zzG,#0!Tf|s BHB~B VT  Spc0/\ZYケL82)SL41h(X*G$4.S(2DK)g&@"HH?A\D^)s3ez-KMaJ3з4. &`L!L)+FHd&n{^>ML1F~Q)43SkiK`R2# 򒫲L_8Q;QyP8D"PVQC\qmlj(Q$ހ‘T\M,T+=׀`:7k=EQ)OC`/Ogp$w-/r8/deR'e4#rm^ItV7 hLiqlr*NW@V&!\\6Z=$ez>ӎFP)B7RzpBc9/yc0>+ niI۠q̈́6iAQ e͙׫>jCo?k.2g<1,(-ߥF/MF1O 54 ?DVsKPDR_\FP/(b D -$9c> Dӭ4 2#!nx2k H7qQ0M2}th= B3,2kgåg87o{nMܣ0%r?sE|Mƅg E_gKaפ*ios(]9:~Yt.u>Ľ,/9V>xlu4%|Ә&a%BUkr-;,EgH#k`p٭ #ZF`|x %/i!xTBZ<4~f=V b,9-U(m!>Kךv*9+0 /5fy"g #\)¸1] $~l8.8p{#'q=} ߨ{iWxў>xRےh5*l0M,kz(W@V&g.3+.\CF08`z>ťw6=#)sU0=гฺt2.0°>B.L5ĉZ=>5*E<%p !y S o~&rpl&1UUiƱjא%ٲ)SSaMbM;=*$Kc buFxZ$kJ(, S%2n0?kڶ͌-z'R:YV4́c<[ f,ɘֲ׵!tzOߞ9yw˫Nh9zGxuN?ûpXH%fI}йA֚;3XTe.Jn^$+s.nܕFlcXۨ#Lu86S~@Ѻrj1&teCnDE!C^' E0x/Ïar㷟\}{1좭3~V~ba8;-+/MfqC՛t`C/q>Wۋ2ꌲŎxxտNj, c:( ^<+?f y.(w 蟾FK.Վ^Hucƪ}NWSmdkCܤb^gIY2)ى*4d_/x?|0#5mg?2܏6n[A*x)f`0RIƦ.a ~[Vw '~,)j2@}Vּ>mD߄>&"aE;0m''Vv$ ko pwߴHʆ>qS] oO$JdbZM8R{%>XLK]:2WRJqC(LXJ"Fidi_RTUZUۆ7- ZQ4u)6Svu!.4ζscцKMb%H-J\˜\ nu^XBOPii4jO:ʿAӃhOWrzU^#>O[wE]e-Ԯ܋a~OhbJmRR%}8!OQAqi.W:yWge£GmYcʽ c|:@8r>Zᱴ9\SDZX؞~B)? 7d*VBbRU }6to!xw[ GcLA tu,tf!J].?KC,/lͻ[)^|e3)SPߝ`"7Sr\&M@ &fu&(xz vIhM4P@gv;Zd8V6IFhO_VfWWN{_'ؑM>R[\;V`- ,s#MW?l6BV2PbN;EȶY֮Kw¡MVd_!+ؙl)$9H78|G|˅ _xCZ.wby3=>x/qx=eT5WLסPO[(Q|ih诗,U fO]48Kt1XY!DU>NY}%{oWgm^wZ;UmAKR(YaDT ; q6SaJb:Q*`_Mu)A:׶^{zҍ5_'6=joml .WX1~ћOgVF@~1O;,vݎ7R<ξb`ŝ񖀍hkbJx~lOt}jZK"hX{귶m4w\g>eѢEshIDiz\}C[OP˶3-ԣe>_/kcl;Vh=YSjjը Bq+GwL^0/5*:\H^y +p 7 (pVXe<*Rq(@ntЀ ޠyW?75/X#o0, j*=gH ; qQ$F"֧/?Hv7v_ʳ!nj}ol^`\h,t֭f~߷"[vx3J'"(R. l-wdei66<x^*6G~Y75&Dް_N^I<)֏5~G{NIy{`-Oz{ {i\G-Cs~$F%eNDF< yA՜jF[R.ߴݠg\v5a=ZsXPKaXÏZKPK2golang.org/x/sys@v0.26.0/unix/mksyscall_solaris.go:kv_qV̰*/5K }Ԗ;#u[_2=uNɆHli2Wkm-\;\o9ಲ[M y؀Oco2jv+ UCR@v\Kz ^_?6vsܕKnIXsبJ $-wo_]_F<$Su%D&7ypTK2 МmDI˄2M%+D@ƃ $,oʙ&TLq5  U*=M P0}$ͅ<v db;2 DY'9 Y4 6@?˜%+BFL[!(*c!; $+P8KtV\SI^IJ==)G_#G҆`J-- He3 2 \kAVŚuL9ɗI.Ipyj*Lf5]MrvnV8hfRHDUyL<ŭV.g>Ɉ̋ c2nJnUiT ;K@W;C%-KUrsBv: a!Nn7x^ɒ[K y(x]m򽁿YF _3+cvL 3K_?#ذ'kaa-\I?mm6罝esN,>.KzU!zG dUǻPH;tIqM\j̿HTQ0b`/(Z0pD`kiKd(9AJ|(7Q/j]0l]Z>1 x͎֘_ms+8-VӦMoM%[r&3=e95GXDCe[PbCO~fovLWx^G_j 8%w4ڼ[7Z.55Z-wzxn[-N}:hdBG!4D6m;V'kbc"JlO6LS%hj5V9y\b6~$q7^B$بO wQ;B0N[0brHJ.+Gj#5? {fm5RO1V\Q4݋n,%D>4X'yAW[B9 /1NkZݷ 6 OLV%i; @gBb0EPundn̠q>tf5GKvFẅؘ`@%B{щDXkpfu>A% K?vJa輯ׯ4Vg߭"M9LIH41|p/0g6;tR'Yw#z [Cqm=LD}wSdz̏Kx͏ dO}~WO`t6u }}\*"X &κ#'m@sz/-a"G6>L}w?)/Uf)о0khoO+~04^ Mdh^gPK5ꮉ &PK4golang.org/x/sys@v0.26.0/unix/mksyscall_zos_s390x.gozySIߪO~ƮBo[݁6^=*%e"3,kO^f] a{7F(w`Qb43yK$f)^mkP\suɓ7_59,U! a!/y7Ͷ67)[y9%3.8e' r0K'=o0X݋R E.wH %e idRKxnDS4\[+f+a0`dy`l2O'g?Y8{Y}L?𺿐g$!: A9ь%jc5I<6Bpɔ`)Nի 5c7KZhc!̺4@ s q qy&Dd4E\d *+kzWK 6,nЇ́W3[pȘ=OdT_s!}33aSIkR۟~c`f/uA_TB*.BVkŘޟҡ4GR.K 6~aCgVWb@UT(Vy>*F&a&sDѠ 3<ю34jW BfMThل6U{0S.Y* Ih p>(}$% U2'.% s80gIcy܍ӧ@{qOgZ j-MP  Tbz6*-!lg90\t$dr֮Rep`T>GH;q8 HO5%F=:y17!sӛBNL^fj?h]8I8n1!^!yC{pazŊ@D^ 8@v chiuꅔ$A1 }GB0MtqPW09!)WW1U.@ceɼ>\ +Y'mٴ`1!I%XkR}"LoF3yE*,-llWôȍX35gʭ+4 j~ fV1EL w7-sS9`H|6q$Dm#j%;;,nO6ã*4/-5oo:*\ՈzY>.I,vsxi[[QH @<,) jnu+H0Ywg1|t'aW!Z\hH8RGhtMΜ?ip 6ȗ>;ؔ][ڦK4<{ZEߥt2\D̡zD 9Z Kl B:ss2ם9V5ez~k6睡;US$;Ղ9Y#X,XyY(β@% F< YmZe༢=IlNL* "5zZ r} 5=Hdv̧µjSج>Nt yfeWrsVUK -VjWwl/F;weYI%z1 7l$5WA/VfEkiВN.W4Aj5d[d_=\%شt׸VaAI؆G%kjzcSmw/R4uc9{/Ri-l0'\ոc^ ݧO&]27"/hX?x=Uʎe=&iyb8R@G 8EG}-/Ÿ!]m 85O7Y8ӛϻV8 ß?E[lmk&9E/p7 I|)qw2T  +@`GOz\3A 9z Yan"%J\>uGִbtJ! rR/{r w?''; ->ZN5Ҧqہ7)w'b(XFYKKVMp'U3^+G3= 2H1eN6sj Xݠ^2c .[C-9Kn-xݽ%ʬO"I&PAYkpwI3xu6U}W:4@o7K;xKC,=7H%8찥>4&:}l&g!݌kXY׆@,[ѾȊlC# dk:HDpPA vKr[34Z!l8aC-w\_mdDY~x|6;3vQkR86W/"3r٬+%:d~qQq8ܯ<_#xw u߹ǟU.jK&RlVh*LD9Cѧ'L$+c(]owIc-FکE]:}5wk"v Υb*gs7[äȿƣE4VzOG61Qo\CaDsXIzc@ZxZu@%ģom}UVkU[[>jC4dX2^b\:WGg_SQ[5{"]-'Ӡ~\BLUa),ѿj3eJ*csgD O4v+2n*4O+-5qU!\VZf\"+SfҠo<6v4̓o3\OM&&`{dx<0՘:y /\ɰ;̍98 kW(_Z 7\e"ph/`Mhǝ=Lg0'4=o<0ˉRU)PFV8p##zMf9sԴ0+(Z,򪶸diɉ uD[~4(DҴsi* VjYaG_mupU&x WFja2Ӭ -Teג,FG Us_&ȡ! `tI-%m[m?pmh?hBZuh>F[yga^u歍t՟M0ظ:F^뮺 }-zԫ:jbZ3M7~?GvH(WdVSt#aWw^)7A-莯s5x8eZ6W8?PCjG?VAD"8zlc̈́]5jg[pG>7gLF'=r~'ʁKw L —_yLwPK*03PK1golang.org/x/sys@v0.26.0/unix/mksysctl_openbsd.goYms۸s-~ ۤ#x &v&v禵]"$@߽AQ|"}ai Y+^. %G 'YJ8*5(ԨV'AiYYr Z*Cd5rJ`50x'mW3, X 9pfb0 4-UR!+SVYʢ5Ry`"*fyjZg/ޓ$ψ,YFa\02) hVS0I! cdz{UY97\ VY5JZPN#@mn x`ս5YIe kEŌA w`5p5& eDAF*Q0 meL¢6GjafRL/-j(uAbR)l ;}MS3 Mv4J4d+0U5 hEy OɁZV6(:OJ !v :E$urJ}f !qlm+KV>pH]ZYXHU36g_QQ\" _kx^ЇJPl *RAmcPk.ATe]t5-.ZFra";{;%B8pS|d|j8qRVA 3PE~a] kQ /ࠆW32(b0yDUkl(Ҍ63+0ĀOI35Wn|3#Y] h˹[˃I{A=%55;zOMI,TgFNVSY7%ǂ և۳/Z>w?% B~!!$`@m 4~Dy )Bez?)9x\76?]0~8i::ny+ghx9Q 4Q. g/'lVmڍׅQ)0~w'¢;5k.n 32~mAn0r]fλfM(2DZ֛1d(&J'"`3`M"h4{N@~'vJ7 F'3Q0[ʫmP30-=D8t<5˖96ĖYUbϪ?I#5tȅ^f$.ĐV܀ %1IcE!bxU`@EZ.>ɢ)6^9X-G%Èz YRBY4&]®3[;Z.x;d&|D9 (.1d6hmq͠)*0n;iЛڙR)QdB?M^),c TZv kB4J_1`~@ՑmP^h47p4c.z<@1RbbA,H? a*Li49C_9 KJ)v"5;d7UܗT'=D|f}:=+ïJfj^+*.urޠ|ajrUmWgK^XAkյ&[ o .2&*k5S* Q]AnAck :GSxE ߿k}7?úd_XV՝b.e:#QU`}r|@w70tAm'6VGR_߆ > j7l*IUFϦCqo.*@X'$8/@'@B?B*C$ cL E].Jֶv6qi^,tVΖwсts}nnMt3UO1s a8f~ oO]}[}u!LS*bfvf{\s!OoW>X1UaͶ>o"淿/G ?<g֫/f+ntnv u+3\|wJj\kf̞T}8w],VCͷk|uj]bPL7/;Z{L m`3KSxBcl쳭{+>%?|~~7ﯭWwꕙjpcswE<_lꦗsp_PKBfZ PK)golang.org/x/sys@v0.26.0/unix/mksysnum.goXmSH-}I+vrQ)TXj٪H3KW=# Cxˋ{cF~% fW;dp`5K)@#<>*,KR2# uZbxLfU!sUeRȄ9BZC),N>GPƾ$ ;o*r!FނcA!UF+PNѼMN#MAi7(yYhUC-Ƞ$!㍨ -SҒNHg (ZQ)(2Fd_n6^0oR? $Kc^+_ dt)_ RJJl =MM%iZhQӟ2UBhkٚ5: t+B+m/0)*e( :ٝ ! o-zˇ7 a4zƅҵ0ô6qR" ~ (X{Y%f_Qk@XVYdYbubũQ![WS :=OQ|tSp'. :B@{"|l}j k&׼s8uI0;#5;h+Qh$*t-mc E0W:DǬy?dTݔ2y+eZ[ɡɰ{3E\" (dw%'3@ckg'O~>;鱗*>CvB=7Y|#یr,OWA*_2:U [g)^;H YdN"{a[SփUsKٓP5A QƻtdNAm9#K( BVl*FH6!P*Z)[P5ľ'kGW2zX 1Y.z/HO/N_^W,Ub'XA0ܔqދM7[dKC%ni5)-sbv|4ޔd"1WaAs4#k,C=`fZw@?,ۉ`8 DO1ޡ:He ƈWVɕ%7AcQJ̿Cf"_[_ s&7vJ__>  Vՠ|1X;1At{Puc_y%a!gշt|tvٝ?up{ǿi:߶VMip6!A=ndFk~Ϳ`_=Ưʚd%v۞`q:{auj:4ΛWwG =fɱme>5ʹRcvu ٻ7Vt{b'|wgONgNv͔$k#,o;'}\]o@pv(p:E[bZYtCKPKdPK.golang.org/x/sys@v0.26.0/unix/mmap_nomremap.go,?O@:)^u;.EBB4*J1U;;ڄ) lkڄo-IR+QX{ZY9l( ZPbŨ2c`raxi򜿼8(#PQ@ɨe. uEOµ,7eE9AertΡvkPQ0 H¯A`rAJLLP L O;m6mg1 `rj "TV"&_ף|)E P1QͤH^R9U*4&YhZr&*KŠR*q\U tZKfSRe:la 5i‡S)iׯ_ fwr2SJͱn4᷻bD0 O!9Ѡ0)im}EvX`yBL9Jpp]r37u¿*L5[?^a)4 n9.Xo[$2+scJ ÌXP8BNK{u:QCzictiJ/;CA㗟/2>M’ #qRϓ筝MI3o<5l9L'nuu,} 2gj(O=>ӃVn_3i⟙4tG &8B:mcl6XVzn7"RB+YTeU@* -,v p훀\cxX5nqM{n=d4_d1omxj Dc̨R5Rb”Fyce-8;HtfԑX 7/LO;p{O~1|ߟpEWa۪?-cPKT]PK.golang.org/x/sys@v0.26.0/unix/mmap_zos_test.goT[oF}1=uU6El #@XCrr؋l/fE+:}!3̜$ UѢ-Mߦ~V0rV0j4k,b$AP%Z0!W0P5jdbrjAjD ؚ[ȹ TN $z1R43$Ȝh ==-K7Xж[9)W4Yw?a9Y y BRY0딶bˋ0>VK%7rvBV1c? aG˜h{ĂlmȂPv B?tABV!cAX*VJ1 lXdK4]d[,vpq 6^bM, "['W%d{ !lgŊ,cAJU&PD߮n7?>|:ZNG EC6q˛(T&k/BO2`A:-YXP6uZH[Fo̟2B0k;D )pY(4`\1kM8/I2QˊzYZ/}@C]FmO{`Q#R,vBRM{2nV휤;?M2 ެwʑ`!M]Oa~\ͧI}X-~ͧoWÎbn9×r:+$񵆲 ?Ika4JoX@FZ}_py 'ݞAط:;JOXp} %o ,|bx=~5srx)9biU X(ӸUg5Â̕K k F!L'Y؄1d$><ѿűTkp$KE_b/VI"xg<PKlPK'golang.org/x/sys@v0.26.0/unix/mremap.goTMo68DDcܟ6 3 FWS(Rr+8}`\ju9Y\&$_7WoBsrzړ8-KȠΛ'f&<<kvQ.SSȾ*~ jn&ݡ (PB&k6'љCrf0jqV}$*ӹ?bJ"(w%ʦ]a+-,sNȭWSqM-Rxqt mtM eJKb+kݴRUoA6mxpZǎފjpW^U-ay?rQ FA Ap8J_|OO,xXC\qĵfe I:axFě5̿`_A .qصicԋZ~M<<L PKn\é{PK,golang.org/x/sys@v0.26.0/unix/mremap_test.goTM6=b* *ҮC5Qp%$beR%)^P^ED{ofދz+YQj_`^"|5RU $*+|B9)P)B*2+3H@/*dU,EtI5Cg8}<C* B UT7퀣NTFHMGZ 4m&-k!58IJM,hbم(/|!` LM\B0Gv4% +&w_踇a%#8vΤҀ.kXѪAXSiIy}q1u\S嚺u9aK!&Ѐ6-@՘afNBHi*YQGŘx4}WP3^r 4$* ʃ58P\c©]]#9@g3;qcIay7EDgwFھvo "/<$ލw-PsGu⧛m[i M4(AphK<[m ,zSe믢W`bzX_bx/ -(rZtǾy+uw" 0 Bi'U{EWTP|1zL.E ۧguOaB{)U}JocQ%i0~}W0Kї$Te4}@@G滮ϘL0tKTr:r)_ ',a3бbv'ĬmO7.cg$[ 6#Xt8nOף<#՘$w;6߻ h'zg& 39qm|Hu{<=?}g+[*}|#oHa>."e'Qۙ1dϯ2N )ˑ%e2|FFy$KF4$fpȎG*KU ,8nd}4IO=.MF楴=B(\!Xӈ/PK%golang.org/x/sys@v0.26.0/unix/race.goAkAx!h5Tdx~3Sة^cwW ɚZYMS|7Vl&%Bb\s!:KAr$`W4eİǫOK'j!+W ĘFĻg.1Jb\O$E895nnJi4r(·~"ʵsrVr5rɥ[,?r΅Z#^Zscpxl·&ƕ'>fJ[[v~QLiQǞ[cOwŤQw+ PKW6uPK&golang.org/x/sys@v0.26.0/unix/race0.go1oAkWHDaBD=;{7b53 (ҽ4À˺;Lsœ03^Ul{RpviQ3,"#Toٔ/n^>v(XE"3L ##׮ h3˫w7WRx0Lإ$q#̏8IX4 1bI` ڪ)]9DdOO6nxt!sYUaIb8άnBWr:AyB%ك$bc'HK5[BǶ3ϔ$~oԠ!p2uIu6?I8޺H?G.Bs:}8inQhK8{jZִhŭ/ SJS&CZth.p;BV"aw~cb画[ׇc_R`#vuVMTGBq<_=eETPKUm@PK.golang.org/x/sys@v0.26.0/unix/sendfile_test.goUnF>ńBA ?E )*hbR fݡeɻIF\R3g~ٙs /g}9#[4k%"xm#D?F-Bh~y<Ρx9 E^kFZ?Kk7/./+`谵Oޘ%|&SvU4rt;9DtQ^77CY)}`(T[,'dy(u-iA>.W*;4u]}W]6WR@ \c%޵./5,a3aq ՏR5n r薗*kCC 9el% ΝX*<?EAwigBЌ|h|A'Nq, T&)sHYd)Ϩ͙sBRWJ4qN3E()g$_= RzNZ:.*y8 ^zc%I(t| *%X,.v ƄcI7E$- Oc.۷amT}2SiX"ue9"ԷW? gǶ@6X?6x{٨ ?Jk4kxchF#" BEMM&e%[ $! jޤ"i,t a5xͰ36IK{ma xr sJsxHģ8&uk6alZ"t9cdO7C>@e+][2IR"%M1?8_PJ؈GuNߏJq-&v:qN6pJ&pj{mZˊXs^;PK|J> PK3golang.org/x/sys@v0.26.0/unix/sockcmsg_dragonfly.goLAAӿyY$w]D&EbԣS3Ӥ=VU:w.z)(ޫz. #W\|/=]BO,kT!`LB|Gڔ% ! $evt8RzpMW;B* mʱО~pE;ڎe&<9N 䎶iy&8 a\6GwBlu9 1np)M6I*vѰRlXmƎOq9QīU7OF&9ʁSM|f@Ozy5WuD̑>kE6S M` &9.y0PK; qt PK/golang.org/x/sys@v0.26.0/unix/sockcmsg_linux.goUo8~&>Tjn/Z ByB&`G.w~'\QKOyf>AWk-O0*6Ssp4w Jf€QNC-| ~{Αr46c&aRrl01($V-$JZrX1l ,U4,ŏ.Z],7R4l i00OB `Pr!@Gj(JИ&@]JiSűftI¬P2R&%ki|mslÊ-ѯN2` UZ4FFGg\7`; shC<a[Bu>$ bډPL{:m? 8?o6 -WhK-a=8)FL׃c16Q2! * \ `.[j `@cIlvJj8u☊U8*%PyTՌUVtOU௠Ug{uWjrNVIV8ZZБ kRЏx uz}8.~n椬J"ߨL&)h?VT=?J,(h4}DW 7֠imCm$v"=hk*=:ƃ 5|+if-fw3Nn~MXp_rgJ,'0 <z Fq;xP=7ZVa-SۆdM2J}sjoD=iJk4j1\iFq0o><*`a7i\п| ~^և\(ףgV dL#tLWg8Q-USVPK%;b PK.golang.org/x/sys@v0.26.0/unix/sockcmsg_unix.goVQo~WvnuzROB)G0|imNȍ$(!I"@:*v_ \hd´ZBip hEg$!tbmtQmOa2'R G5~4Og*aϯ X۝N;K n@g4߼$;m)VLbix!VlӻǶjz:tg վ)ZcF#,jv4(/pM cepقgͤL!qeDKNQ]UM&FЪ ζЪ 6Ljv1e v~m4eRV,(ZisIu=DjL)NuE 55/~D\28:pCHR-Z(-Qpuߣ<㟒Ba b4;MXp,+CIn+ݮ0;EhzznNN;MtUþ@X)plN/DKt(M1DrS':\%]RB$x;=g37l2.mg}r>L]=܋ո~>h}!P.YHrU7S#-C!mXhi wwo\Hl_\w;VH`hR-)2(d*)K^Y_\<{vqBVh΃ti8,:3,Afxb/TDQ& vW*f4 $ ;Ce"˄%-ք - 64(w +>F%VX՞hU,C#דJvFzͱ|s,D/F6W!t;p*6rq) &ѯ[SYUC n,t@]OfYĻU}Ґ,oC?/DVlȠZR,x!YȀI9 ڦ>Qeb 蝶< 4diޅ<[L7޻ 'YPK~ЙPK-golang.org/x/sys@v0.26.0/unix/sockcmsg_zos.goTMoJ<_Q!2g(!{kZ\ vg]忯6 D{]]^\o_fe%ɤyYC&sz=iLa2ebB,X )A [0]6'yLBL b&  0!RXH$R%s5[v5WlI(r^28-f)V;E YARԈb\ f[$ D6UHZɘ0 4 8V6RxNZ[Z*O!tZ \Quhbr#dZCN+nǾgjTraHg*цrMFh g6:ۮy}x=(/ Vߣf^ smѩFrZLseŔ)M~$T͚Haږ9t hؔ<$7]خXWPtEvXȵ5E[@Xj{k@Ϡf~[j RJ(oR'^ؔj] `䴞_' ^oU/oI]3ÚUiʜ;W&}I s9].R)U? K=Χ7pd'lSԭtK~$_pw/d=pQKV{me=e/+em_Z]OPK PK1golang.org/x/sys@v0.26.0/unix/symaddr_zos_s390x.sOO0s)1@+Mq`"$GMvMbؕj}/|)ٺq#%%I0rۃEWX;ať󡇡1h>x wz"I.: g)(܎%7eetF6LZ p?1rm'D˺F 8;CLfR=Fn[vZQsTS}fNz-׆ޓB _ ^- J梋<]<ܯ~p:y-:[<7? O>Y\rz}q٦5Ф;dc!I!ڶv54vO=ߤFhq}"#O_9^cqt8fT,ZM:XTFMĒPKtl^APK(golang.org/x/sys@v0.26.0/unix/syscall.goVQoH~~kvp5CMXR ZAG3ZrdG/8#)}kȏǏV7]?SEu*ϲkk!^ 0 eZg!%o9'}A`v~O쨀m7\H,599!+87767PK,[vն54q]i;Q2V =Zh(|C?F݋FA=4NK Y'H'ji&=6PP@cԐ+ާB[Wa ٪u p0BaBMir(|#t2 p[B[8 =fG"~YPhzͯ5a*ƈo=cXZ)g x:<o Vb+WXQx ~lI2ȵ TTm@{צo0NLAkKg~ws)j P`ei05McSGa~1B2zAUu'1J!t IZs蘆!'ѵhe 6 z#: Gku3\]3V00"H$rx=T35F\vIMbX#2 Qy[ Ѷ];-o_fLV`jmLwޢ-=V+d,gd4L%qxl`Il.FW[&Zh^>ĵqt Pӌޯ@A%m nuq<LΜ 2SQ5x!@|) (/Ts`d'pzL>CoDCBDF.zzfƧ:ňxnԟ#5M7 "m=)c45 ˥>5~>Oc 5v3JXc8{ ͰÏ7FM gz2d\0TyMuMyiBTZˏY34-Y8.%I8ƅ&p?].c=>Qfn>dcs"GVe1űlֽF=2]TPK ݉B PK,golang.org/x/sys@v0.26.0/unix/syscall_aix.go{ms۶gWl%F?y*s}l+ib{,"A c@)j~gM"esgngľcVp"dףpAqB!' a**4VQ1SD.C (0sfk + E+ zA4ÌB,r>]L f sq4Ya_Pki !IeA1"XB# 'r:|Br L#(IƳ\>Bj`2"UF}V0Nr*.(ϬPB;MHf)U+ 2$ IJ,If r bŁJ`iДrM4|g$|$s 9G4R9W$?> $YF> 8!!Uˈ^Ғy)^θBG'% 1xD{7ӓϧ sNAhϣ/VI?gE:}Dx EHRw);.3j ˋ}|8 C xJu%I9QopWpŐP/?"_cT&P^]zJ0ntpV;tS 2ߚÆ USI語+osq.ahJŶ+z]`<Β-$,qt|ڟ4@swl x`*GES^=6 Am)^adFkF_&ɤQ~5Sd(j8!)K0Mj6[kCD^ew{z:KQ$aRSeVn~S;qjfRzǪcf",Oy7po9&7[ꂤKG|3'ޛ/^OLLV}1ۋ_XH`(0;`/_j5w ŷF;vo}3R\~{*A.וMF[/k܇pP. zUWGFh{ɚ GPSH5 MFfک]%ra#K⋜kВ9 hQ2SZPUJ^B}vX4(RlᲛ ʒH5Y |m'F0P,60o `O*^B΀ܵ Q.kÜpy<;M A(p^+ Z2*%*.7ݦ-p6P#뾇o7迃w4gGYa;20B= p;˗cfw#v1]_|84?-跺lْ:pߢM%XePRt V.S5RSluv#cJ-?ء$G[ƨaJ8kM$0'!%Бt{'hz^=Rs,z8TnlM`bnt ıAq-"UӳUX!-#)2FIUr#&VhՔ 㷢madʹZ8hFh ZժLWQp1tZ"F,G8;619쎀'PuhgHc8 IedUZ J !fPӲi4wQ )0 9|R& 05mKQQƶeesr4]\B2aG))[R J)p!S8Dc4kc1IaĒ݁5b.='Q͞>0#ށ>ǡ{QI9!Lv8ei4#ιant_9˂4@|:`E]m6NaXM9TWoYBI)YS2N.(qN*D*4<I7[GRgiBu|ƞqc""W<8J{>H3KzpNP;U:wdR/~SUO..WW7bJ8"kO/avUШEn(f DMLhE9pv[I5mX r2KhdC" 5ŭ~rNtC#ׯf*dr¸<[!'ϫ..MKELRϹhݹr$:"4";565"ߑ:jVNWZQ8tv}6910e!%kpY1(>,Z>"JS4KC-О#"m5"TSBe|6K댅j)ޠ6ʎy. szKkUmȇYF#7(M7fdubNٜ>b5٫CV߿a\Uw%MVg_q2QL+Kx+{t0pjE+0S6ŪCWAB|%@s!iC8C]fAoG)1/h$>p՚ׄiI`!VAi"MڈyMqo[ sGe[Z \>L81׸ 7f6۬U?>F+S;YDL> $x9!iy"Ju ޳݅;'(Ѻ:kj}Zø-h-mL+%jek@]f.R]oOы& k˜?bAZ>}:H}vW)5CXs I&$k6eLu! y$c s-l;j(Zt.aIRЊ^6$b^g a2s= ?/cuu(|Gh]vA};\.TBiiR{,b{kj/{8@T;[A 2hPvT#˵vէ(amIJƘ]S@$Q('v)ՑH 35^QB.OBCVY[Op\5R">|_ɚ;"ļ (^+yMg9Q.nia`iQ,O 7,|TU>b[,}@_**(3蔃[Ls\4|ӑZ& .V&nd>o=:<{]eAfHCHdb+[24[` PClif%%6)0*i1ui19!SHoqЈU-s,u&?~mąn0otmx~o <4E K̤uZ ʕ#Yt̎ƠޗQ2%)Mh I48'Z>z4ԟl& lv7HwʷǤEY ݵ-r׼+`[a3sY\)⸼&Y_WIqY[2rgڕ 7Ehu6c<*VI#;E:|֫5 ZZ S+-X -5l\Λ%IYdqn{2DTty6˴+B9TW]^;GL]RYkvzm"mŵ!M]TQiQLxU4h񝫣4؊Bjګp%G/(A(:̙(w=Pvf~YA-jE0}\O5~K.5KiRRiSy6 m;N?IJjpH xtxc8)t'9 Iog:ɜ\i|>e,j܀3WhgwtwK"!ˠR܎{Yڃ~9eL2-^d};ߺm4zgM)\$Dp|k-NW\P/HD1ϖ5@xϽNgLf{J<9מ&r^xny `g e?pmk Va}mKm|wPK b`@PK0golang.org/x/sys@v0.26.0/unix/syscall_aix_ppc.go_O0şOqPRuMHA4- s{N!3NNPU2*!DNznE~fvK*"濺V9g]+0K{2Oܮ/SBec}=0֬,E4uLŴ>."]ԔYm$<*W$COrI`kgJ/ VwvTi!kg{{%Ի w!!!^ kn%),dpЏ&F"uge ;G\/^N8o Gx9r8o+xt QHl=0UnU xvwH!{pMn)Ͱ?}rT;cUZPKc`(PK2golang.org/x/sys@v0.26.0/unix/syscall_aix_ppc64.goQo6 ǟO˝xP tݡ@K<6m %C}͊~A4i ) E'-r>tk+qϿ!|51pµ%GvrLn3-) ҡ6YM%uۏ׊|iGF0 HLKH n7ϨY絹z*!3>|@I҉IԄ^gN?N[%[ɩQԜ1#\eHZf1r"zJ2:r|y[C:b26 (G4ʘRQܱ͡HwpLV)Qx$yקݨz]?Ȗ\GEȡ/VoM/+*"?u;u:Ge/r~zDːJ3`zc*2oIcB_44}cnJ] lRqysg |cxN՘.HM7ƖdF51#;} X_ѡJ!,w,[]bҡhDeMMTs[k'pI,w5߆ûq: |k7 xxD(;3a/D1ޱ_)e%F /A_{X0WocO8?wCK~ۭ*LOjj~Y2U2fdL֒mLK/DpZJQ n+ޗfPEHgݷ)'קߥr:gM1vO?PKphPK1golang.org/x/sys@v0.26.0/unix/syscall_aix_test.goTn6T@U䟥ݐYfw`w-JDdR#Ej'H)dM[?~pYYVXTNU Ng - per] H n(,`?XZW2Ge9WDک>_g dcaNpyX^"8% -1&W6 bmc)+~B2 nJBEtP,~o7*d,ڀGcwڶ3%^=o=ӎ|oBxrah^av]x ar?¸# vhb ׏=aq1[+z)yE&!HJ(_ؿ[`|?$QNxG|<}ڹW#t╦]H`NK!K]ZlB{3?o/W%.5צP꾿]/;=)X/'_O?ƽl@Zn%U`ɸP`Zşs6G)4RY>;A(noN6F)lxSol LޏF̍kUF[Iw g|ʖ!?}pw.#`̥1 ӝ-fҎN}[%NP#۶™47PKdPK,golang.org/x/sys@v0.26.0/unix/syscall_bsd.go[s۶&S?"i7u+8xڙ]5d6EiggKB8_sppp@p*dә׃p;^IgBd $UT.h }( SD! H)0S+ ntJUF*c 劂 00Oq3 Wףs°ߟqR"C*TIIXȩvO"|RGVJ9$$`)IS@͈JvpΘ( O"e| 7#DgFOBRntbh.JS+:0v(`qI(huQȿ)+qK8>cT|fMq0vٳbS h \9õ#vSw*$=+yӼ^rc g-:= RF[?͇69?`{FƗtyu&TpxhLT |mws 0xh [ISLS~!A>B XDŗ.cvǸ5\ٷPXqu~1-KƆk 㵆_`2 pZKꂼJdž$#;iZH\GE YDHTU!:8QC4ifO=7$[>5knf &&JO$TGAC.`V{T#( GN>-HpAMfdvTJdTCu`4+t*ܛ>K,|j@!^%M Ċ|/[}cc..5vXQ'ɲwE9 aEŤR9Y!\<\^߆AgԹ{mN[Ѿ#DmX7ܨTޚWR !څOe.-^M[V2GK--8L*|bˑ̩;T|vȣD,ȭ'gf`CM_]80C?Y  ~o5zTT,o-wvZM2?{".yJ>HEa+FW?/RPOZf̳ǧu'Q9<#$v^F=u _ ?m'L'3$0#[$DQQK7TEL{e Aik8R,ݳs9ZwCv*pc'بcEy\TV¾\ ,&A&\^cp7܍LLoCaoAH4Ĝ»љraՒ)i(Y3*)Q4=UG 4M}U$FvIZ#)JN i sP ᜦ(JMԚ9D < ,ĔVdzVӺ673# e 5QWQtTKeJdBT1C 5MizDbA%U 3o1yKJS``ΰ=`S%4:7m>m5h c[I|BU "es *o[MrU.`S%ZL[Kߏ 6jxs?|war [ij6[1Z^+`*4YL޺IF3(E T ߐ2M1Z|I70WS|YMgoJ[u!!&pw)4mn?(q3߉2)u\M}RbOE[ i1~.ip$M([P\:%Js9B\ "*bba%&,\ r7òjFWGz_ݻM<\Kñ/T`Dk-}YFqo:\L,k>by Iɣ1g\M]d<ߘ]>בpa86p-xw/G{T ,s-[܈ۄku@,hcc!Z |D.(?m%3Eftr7n)Sq؜BCͩi̲iIQpwo'<֯ h%hNڇa|p3Ckԭkz+In%RݪVNnURFT9|gZ]< _Z~.OAV @~T˄Jۆ kxIta2B+JZCH6e/'IY0IS5%rUH K )%픠i24#&;bdШł=֖\0(\V;' g\4om;nk8k!cWMy"͗ڐ"zq2(T!L[cMGH0\؎@/0lXUWh7Cx]%hFETUy &k5b 嬰Ǐjс+ۇ_ϺPڄ^u'` 78֜awF= ̋J(0) jˤvUk{p-4t2a 1Δ6?T<|bmFRUN/7#@jX{UV4>7x1#o켯_':J,ĭVk ]U7büt9lk8e~8;斋M+k_Vv9YMR".PUkP;PK1golang.org/x/sys@v0.26.0/unix/syscall_bsd_test.goToF ~MJۼM@[ODX(Κ}Џ$ ۃq$NYK<*µûV*Cwu:S NUE_g$Zt=!{c߰/^N).c@g̋SHO,Kg8 Fozĕm^4|stBirqyx .w|QӃi>;O*(y*9 5J m]q[#|O[[ݩY,6 k& S~%҄Yh^R懷?Y3M 8%Gxrh8QQd8]$0vOd[DdwJ"6I2~,٣ЍDv9v\ PKq4ĶPK/golang.org/x/sys@v0.26.0/unix/syscall_darwin.go|s#_q^y[D$ns7!ٖ߯ͻT7j@!btfDGqGg)mpe@047\d=NYN){P i ZZ龇Ӝ%`\Z QY8 }inRknZD\)´)V#ßݎ>`'{{j 'u̒DGl/MEpvpӪGcHqv G8hy8E.Ժ?/ݎԲ}e裞$q,~xwX} oD8 Ydb+GnҰxEF0)Sxz,,` /ࠞQ`=<ˌYަ rZ3uXaX9)Yy2VyEBSijE4R7%o~0 %̴Do/ 3iEl"Zf,I8´T8Kg'" s%?@# ugg(y@!:VL8Rǵ{בB֡vn*~I&J윷[ͦ"8ttXG`¿r30& E/ԍqZՙh^jrXᆪJZ!KN(8Yhy<@eoR}GuoYGEI5x0LbUJ5EA-^ÜbGd,ؔ 9G'>jL4) M7L2cK8~=^lՒ/e2l|0ǨS?Jc5@R7!uGw'.C1!=i( u=X}w~vDT^T1aKFM ~L̨]|xZm$$G:U874s&}腯sa" ΒDv QnS{mȵa}-E=-'1$+פz 8%2|'\kI~ 9Q D 盍8אpsD؀| #2;_/.ϮnF+sokRc@l+6F?^_S!ƬrFz6Qs ,"WK8HE59%O+ilSt$ۣfPq rK[Cޟc!G87XI`^\L*:cƈ?N:i !smio/{ܠsJ)JO]-a ӈ?8?^o~= U2[41 mCHsu}w $(!e0 0&ᴶ ~U ,3Qpgentpڝqi̵atb e1I29`-*ݎ_wA8z5}a9AGdOd[[t\r دxg;8¼Bƭ*i ILkB|0U:T1z?|ཌ=t\'qOJ8zt' c\k(U. b*@2W_uPġn]*Z_Cluw[ȅ_f1#fF|Ƚ,gֲx+D}7`؅ڻ=>A!_/Mr]\"'6-nX<)#9hq``W5VqI75-tKo=zSt VF>M c4̦fl#H365~ ڑqq2V.S81RS*Tt%ӕXr <p x( lyjC~cA;ȭ)g\ BO.KKрJΔ[ק S}{R]j*#&Х&bRZEgx^Λ)TĂK;G9UxgUR7kЙaޜSL(hs$3h4N&TE\moeVۇ89 S`v^Dz>wDfE&](#(sq;Tcu׀k^-h(Qp,"i CHm~={||]]_ү'}?qnl?54_ G v,jW9P8LmilpSW`21ajpiZr& O]yTVRUl/ bnܦ+1 6w+]D,+qv#/ KѺnCoam5 kVj(c.GfLlCYYJyˁb?vwR_PPcٸS•Lcƅ!<,|JYYwVjP ۇ3˂p?V2ko/ٕocv {jhrswy2=AdK|aߊL."(W8&ZEh+̀QЃQl"2a|+ӂՇj2軙4a6\ 7kc126Z][a}Ng t~OiOcfkּ~nvw ykBaSj@o?Zi"9^"t5#*x%v]8_tRW,mVISye٪fȲPANe^mӺy/Fb*Y0|5{\\}+Vr$mQfPPҨy[Wkwŵs9ʒAUd\Vw#}$c:Gt,KBz%ЃOm Y89Oh?_>F?=v%׵Ds0ZIuI[`t]X:C61[} p1w˳6xƙɡ|0na3F(=ثC"}'tzt4X60+sHTUd R)|~^؂Yc[tN; >Cav~%~ߜ4f87ڮ`_=3yX<2IE{UᗯLR3Թ^"b%so7\OP=qWXoڣwȕb;su|F/33x|r6DDؔZMpHj!W"{Gj&)ܥ*=Dr+y#i2HikwZެztPQxoMÆKUz+˲WO!R%(,\UN/I8 2|d<Ƌ(p}V)j)g/=p ٯ3po%;<{w 3ʌTffa n,Yz«&HsJ,f".M鞬%eᜂApNNV]{ ;Ӝ%x=EƗ?Gc-i^k}E֌ۤ2mt[ +$ڄ'rxHuim}5.€ Pi%Vs'lnYl/m_Z]nj".y nbwI.W.j:5XY>{T' /|LPlAyqtQkE{ ,GWQѹݴy{(h\mԀ䫤8lcA5+4)@%=(:6"PO/l!Sb1:SWY$pQ]/kMlDR^vzo)Oeu ;/:ߖ64^[FCy^ ଺:wҙȅmf"j^3-4l{~7<пLKWf0J4a-Tip[ ӣĽB-ػU_)|ic5mB`."^- KZe8 _25|󲔝]T}rKA_7Ji{RzW5onSI\a)dkU_C>x9nQbn?8₞@;ѷ?pd+lP(~O:t?du|=^ ߕ?{7_hrq0ޚ:s=Id1@Ux~i~G2ջ gk{5ȓG>Q=^BR[bĈLM\ i5d`3+q^ϒ&]:٥5MjUܩ@ʊf F.[o8"f:C kG)g.%VYR}0۝\Vf-ukIXvx!Oe`+'Yj Umc|;J?A^x*[JCOBN"f|pĵ3sBtolu/9oo'̇ ߌV /Ԑ L ZFmxaܡyхLwmh>ީ4`ѡyl6FP)<4TWd E9 ~~;vV8>7^:O;K+_`0 E'_$ M] ȑ 9 ȩA@( o;Ζ]Ѝ5 @asF;aYr?$,#.ߓE_O'Vr NuvPrsU"9 wm27 o:Ԛ쫎~uK&Wg-;(tGMTeL<9w䞵'ؙ~PKYPK5golang.org/x/sys@v0.26.0/unix/syscall_darwin_arm64.goAo6ϫ_񰇅dR$n unP@ΡFtɑZ7/$9@dzffFd`f7[ʊ1q|UEiǸ}Ñ'RIOR6.#d6'(Ҷ Xo!K:VOJ22i&19Wb6O(8WFs|\ ̞dIh'To}&Ec2x╪o( =eSexz5#ny =]W^V|RR0z2|6 ;mGĿQK'# @ms(,}:xa\"L]xv!ޫ4aћyl¶E]'K2&Srfl/ e;~{vVϸ8g^4tH;8j_b4#vEÕ MS ȱ3y. /T@$ =g.Bn 簻9c#$ ʺ˭gaѽ`Gvjrκ~#gL^Vo;ą{]7eAV&'տ {>WiY˞}rc-mɌơۈڍ$[%˃ʰS;/PK;8q|PK9golang.org/x/sys@v0.26.0/unix/syscall_darwin_libSystem.gon@~_=KR0 R"T H)hbU׻n&04A@O#Z\Kqb%串?^;Lk| _#& $%4q5%-Ea> !O79jc92nPe=03߲t5N Tܱ$;taGwNDBI֮v 4Q] (g8Lw \=#*F&z@oEVz@ 4 ?_K]/sEZW:xl=z8]ő`u3}(S:-(QPK,>yPK4golang.org/x/sys@v0.26.0/unix/syscall_darwin_test.goX}o[Qʩz:˰dkkrH-D2C9K{1KJ^.v.h H3<3Kx42[s-j8/i<=`ТYaypmt .MAZ A+1*@ A w.UR-?!2 /EP*qNh} AGB{-_!?. AS||k΅"mӏўrdk{J`ˁ =?Cm d7S. bVh-~(QŮGȻips[y>N y*Py^\ǯͽT0WZ(LkMkqmmi tV !p_VKptUQk0FiW޶lz %yg RiTU -dפE6l`VGf8*h@Eư;# ]upw?w:me=P2w5S4$i7 XٔVVPCWV̮E8%GlM a#F5ex1§Owg˺R&+!sq#h,x1 .eQ09\ -}\W\Kue[̳xq6/FJ[rڵmt &8~,0q;7]jq.蝤E!/(p7gѠnV{>(D /-ZG_ [ Y(9)Psj0T_ ~g;"JL0EE"aU'jnUq\)q{{!pT^*f9X[%:thrBs>jXP3XX51jkVrd!xC~݄JG귇iG;]k7]Q>ͱ7COW[k5F%$W]ωGl|uۊ4%\:p: N.+a6~qAv"9~.6paC6єϢX l9_#)k_zp Idvtx {<]9ԯۣ97r\4OgW؜iocͬxk_R**ibo:|%0Oq.8sq.Q9f)3mf]k5M+RďZ[DkR(\OUTq. z!xC=Wݢh43M]8y9Qi\It-9}T$h(4lK4^Y6+2\dFCv[gsӹ]cɞ=(飍)IT_Nf!&eZbo\K4**B(dԔ~"br]nGUvT.gwuT,W1FCD܋U,l{p[1 QXZe\] KGy(Ly6`=:ΆhրW:73PKzB1PK2golang.org/x/sys@v0.26.0/unix/syscall_dragonfly.go:ks6_qa%Ym8zGT@䡄k5~$E#;Lc8sp8Jh8'L%f!i֠Pz¨ F1נeBPF\\>l >?hJf L ! 0 ˳M0'ʹbs).QSYh+DŽ h4 F4HqԊ!|!Ph \d#!}+MD-rdLiV@4$\&"@ sBHSeak\ . T,#lPȥCT,aKr@ TRX0?^eX4ʀ\hAg *ͥk+˜L ,Y?r҇2Kl2mP)' !ѧ9ݨ+m`:xMK)YlPAt FKLQ6i~0 t?$dEfj>x*e<*wy0i 1*., iNOtq.ByFק.'TN=IK|jLJ)@ҡIXtW=xu; M~9!WvceȢH3.B. tP^L.o>YeZhtk^QF!P۹`)OVۥ;ۙ &i-hW?=0.y;SP.)$;|):Doo/Te|PQ Tzo>RRH'>O/nn/?M GL:!87.6(/?LϦ\oCN.023fmx)U8V.V5N~Dv(wNƞa=\Ј&$Fcc1*ZY'p6^[zR$g.IKX.VvR5%9ߒ2 lj QCɍ鲙(EVſȥiS~vp&y;8S `ARHC̔fQ<^9)$9H1jT* ('kւ0*xb:3ʫLv2f+=giϱw8cuۡ} |X <_(6ll[P S$5Bv]\9m1{8h Q"PmZA!`Gki[H9*M.N('v>ݳ‡C,pz:51`q\ Y=XGosz=_8hd[ZߞT8/{/Ð4.`iHw7v&6Dc&1x ~O> *9mT\+-f*^<^dB=x c MϨnoWH>,S帮vsNpj~)~T8as N= 51(9eܯ``uPuA`أ!tq}gjSrv\|Xz`uxfhi;̲B6=㥉;dvUeϊ0Yil̽.cٰ5eEz]/.ɴm!f41eMq<d&La/E^/QuB{jX阼tpNVpIJ5=,m2bɥhIv̆IlrU QtM)A&>( |,.iM*?ͺnDko=GYd]6l=,|1NF5<1UL$F`;EH\TEi|s{=.549K%9:D!bQKRAd"U=VsʭG5!ߟB>n|rJhKtl\yʇ-bc\MmeyulV`Bͳ;xm$od{+TFVt܍Ƨ60Aө>JmU]py{E2l/u =ձdLM=MXV*0lF ! LHHwuӴW >C<bYx 3:oG|1o11pZ"ciʝ;3`q3xc_ߧקg^lk./ =i"mc^%ED'sS@^E{zT̒̅)jE *<BDf FNxbר҄`%²prlNRBױu_31#qhUEQXk/cfQ܏]iEGKlml.!-"ځlӔ}z0R}g Mv4%٩@"ǏhBzqߍ|5g"a[Qywly7rWn<-^0xWt;sZo",<^2E]p)/e Dv@TIˍ%")O,4vfb ј3mgB5fu]Zi;Ic%meT.BVYHPWD(ZSl )m>̘Ƭ6cl%e.3HGe56sxmheUgU(WgTc)vKqYye\v rSMx GwvVߍha+TegEΥh}QWOR$4<-~碽W %*ϪM솂I̕\BA^ڑV6(BrD7̷1\?hfv#_-jGy,&XM}_"7LH f^j{3th *]1.eem٫o wȢaګ2ٛFn9dZ5bMry'ztI @\w;/TP.kJU0&u" ~*z9<7b cEPDjK $rŋbӪWyddz6P>b55jN(,|лvn>]|u(+vKqބVTn8x2+p뤯o^oLF)׎nK#[XV&QV4;4\ht&)<ú#Ka=S8lb]<,Ь^3.Vm :-sgt,Ŷ+ c٣úMPKSB޸ ,PK8golang.org/x/sys@v0.26.0/unix/syscall_dragonfly_amd64.gon6SzH+mxqFݴEW#$"iZ#ȻIS S3g93<`e+c>&b.WЧ,9)L3 )ҡ2YM9EJɜ#ZxBPV&l7}F)M&}j* bq+VTF^Ϣ"Z͘lz,˅R#ZDI#0V:# r{cG9vCjNpE|k[%}Ž P^c;j  u|;fFWHeј8J%*$n K},ʓ2g8zPqKޚtoLGylINJt뷆tᐿ`4 ooYQ߸AGoL!93^޸ Us}2o] Ǒ.ՍMp=ԧ)KG~Yi_VzOzБklߵ?KLYq KdÕ?]vٮy/{w<]Dzw ^#'_]%0|Ƣ4 c,04c8Hm8ČC9q!~ #Cܜ&Oa?tm6 'PK /PK0golang.org/x/sys@v0.26.0/unix/syscall_freebsd.go{}s۶ҧؓgơTV~IN;jˎ&1\_ D.%S V6 %ʔ䤹=g4"/?,%}x"[d:prtrt|•ngBt  #F!S"=K(!B`*Qr`+L$Di B,rAAMЃ8I$KKpj4!di &:yS dp&$אh"e,נRPC% 2&*P- GG0EiTx@|bAVu2G \!0HeT!9 2&D.A,8$D T3|d %1!@~M/O~uB✇/}nDܐڹqy-pR:}gؽ(yxтϭfC%_1gG,,Mjp2f!9xпy z!(>Vyz"Qi5@^f͓tYݷINA!g|H6?%#N|B8 n׽NLl!x\2u/5LTqil}Mh Z'|:SsT㾆!E`)r"XIɖwzR;%3[;܇G~i]O_XN1fU'28DD\xf#?M^>Dp #ϝKr*7|koJoao Jͯ&z|0j92Z6Ffᤌqʦ 6e:)Uh iLb d-ruo~ѱ2:\ZDY愯ʁGpFz,3ƎƎil兹P5-2ݿȇ1Ad-fׯ6BMPJ2 s-2.bZjPYuV*y3嚂gɇ?X6OQI➸iی:'[oyHekv0rf/ mJsZHj! L"x0<̨5z>U;:yth uHq٩()g??mG0L6O,/6Šm1stΎZPVmRⱵ[q  E>zѴq~~ÞqƓ{QZPs/&zZ"q d)d38Zel\Q5s5 =WUL;@3F|}*ml4ّ*l4&ylrOw72N?ÑY' 8{Z\F&g3?.Ļz<&lz uG\d(5VKZٸ-vn5I%Ee>09-TÜݪ|4XqKhT]ҴjY"Lvj~Ϸ8BI1qAs;pf\w^n*;L ٪mx~}.`\FLqewm(r'hz6L'ai!M&%@Q2Ý'*L^KiIXbw[GQ0QmdQnD:{AρwAB)2#ڻ Û=}ٷDri#kBf hBQ}ZfABTf>i BÄݗ__F("WhT+ *N^{އ77]vY#*qW92]3W4itli;_^gQIewGAfx9 [L\ړT)#eHIZN‡ Sw6ÆmY)z^ۖOZUx.J*r>OfԿys M e/zkk _pVLT\CLB[t;2E]*p6٪PEPu{myI Gq_O3}y 0}5`M Qnk;ޯQ:#cRX@2߳ss$o$fim+WE8׽_8'rN@i~W`_F<.˘+Ѽz!y2"{&쿧4O({5zѳD~K=&eX-6k"YDaMà{k?M%P=. =_~,GwcAZjtRsZ7@WoRm%<.ZG(s*ө/ЬMNF_1[2okj%wy9^QDZ\[Fē6t:TR>k>"Xe"|B$8M"Sd^32[?YS ryNfOeY5Yb:id"d|1+5H&_M9pͦ9\)zNw߭lb+T8bKO?c,u5JiFldto46tym#8y~]q`n U ^[qg|ܙdC*ۈ6 Wx Q'B]>u[897 "f^pkrwa6̐PWKZ$¬mkqŵU+ViAVhGg__}(}rv`ϔC%uŎmhZ#Q<ྮaK!/^J˃AbW (@_X2Co-6F.x#"Q;Bx:ӄ{k+k=!-v]CqoU% *Eg i!kka$z>T6>9ms"ۓQ6خaS/l%r4ӞHjZ0wnNԽkOnrIQTȔ;iT;δ/ _Q;"|26|Τp77v BWLO| kҾu2oİprJPKG>PK4golang.org/x/sys@v0.26.0/unix/syscall_freebsd_386.goTMo6=52X%u7@>hPГAK#M$6Xn Ko޼73԰Ǎݼ:\ <WuXY{mÑ'Pc>xV–屴 9C%oUSҪ a% i T6%AXf7|Ji1/V٧1NOQ9/E. Q38W_HOX6^Vt2ƪ՚ 0 (v|eGvf}ͩQ"{{oH<,urPw)F _MO Pk[@,:f% $WYD0Ԅى=V,ۛsetg"<262?Xt:7gV.{Ǣ)f=bެr7ݧdA3{K+]Ɠ)fp[*LPfdS@ [_N@&ȹl6GZ9&\`.@C\N<>o㱊wM!{V PޓU&㧇jDduv-Gɏ8uTiA0 Ymi굀 ȑ<9 ObWenҜQoꜱk(} 7j{_HOߟشO.ʧU |UPK PK6golang.org/x/sys@v0.26.0/unix/syscall_freebsd_amd64.goKo*7SEA.ܔ6XA"449Vٞi+{e $ͭ>yq<l_Z=F < W_kD%GrC|uS3-) aeZJ,_!qkMViGkQH%2.40=3Tc\.UrrSThJƶx+B?Xz'OXNVt2ƪFpՆܖ Ў (': %X&Sq1=u6?@[Y1Ff󎙓ZҞN /PS@U˕ Q~KS410,HTb \8[LoKBi*th@VS?;P,I;oG)4v-qs~*֨1w^ vFmvbl/gz-bLv{c=R\+RW,5]%#2uTrhG% >Ē>I *0fL];2Grޓ>6|KSޏXaƒ-ǖ[{*-(qG4t.' $~}Ǯ3Y{3R{,gcqL/<%S|,L X,y9.yss7C!Gxu2Cjvq=zkkPK+jbPK6golang.org/x/sys@v0.26.0/unix/syscall_freebsd_arm64.go_6şOq(AnS;[Pt> &ƱELU sﹿ{2`eG+c>ǗƺBvvTl2WG0%|-imNMAj*?BG珊B9iGȅƞPV&l7CF)M&۷RY%ڻEEh1Y4rG F,ډF,aluGl(Q69o,[C2W

\F6acG>rIth94h+q4ȳf3nS}ĩNɏ}[74#plyNFQ5NPUFUq=C8)$)Q "5Tdkf"o:͂;Lfcw94A+Ó**9ȹIE[dshRq)28h*`M(' HyXOʽO1}v$a j'&Xs~ލG?|XG63ݒE6+s[cuO+Q^=6ԫ;,z_]N ,#j=%xձxS~lB9Cj9a O&'[]e‰`\t>24R/荮؞]z$C]]U"FzD9VӅ"2A tOш300o+3;j~$͹_.9uO銼98H`%g)It. ~&b Z!/L0y2=Tuے#9s[to1V,fd͡\֜w\e%Kc*"_,s˄(iQc6̼$[~lZ;eyDP@~B.?L"֤;[VdgzLm&SX^O)^drO?v5!<<\DVoL?daz k}J7e0,5B][$?Z?mNX0bjPJ`)hU3BuI i֟@(0\`ݱt` ?wڼ9!C> `kU֕{x 8Q9j!ti)L~P]iqu19lALt=qՀXג?2ޞ1_/gzM1plhd^oP~dzcK4ھ3F*s/mV'{~VORt9&-8֝9w1%qyQ)%#V-.V湢i`~)J 9B]Lj02bԩ6 8.xUv~cuOyˆ(A@[&k ~ zo{F~GM-h7Y{vr/_-_d~4a]=yfb7`X4Z+,=3*9.*1c jzQ1Sgͨ#R)9\lcn{>?7Q\HjT[K"oS֓B5* o ,I`$W% 4V [B?ڲԺmʒPHhiasly1E9 7OyMqL aHcl vdfnhï7vq.-P(eIڻQTf'*T@Sm7V1Km+j]Ee98!TϜO6'YW1g!ʵXt!2H`-zk>fa\ZHf=<ys\ gc-8Pc}QH܋; 8|_yLje-@$h ]#y}_F;X'XtƉ85aW) MSdv1H31{>++:CP׺6Di]VET4GN ΨJ*l7[-H\ȏ%\!y&9C+Rm6a69lÆaC8lpX 6ag:,WYV:,q;,nX.׺&Ghw+^ `+h?!vcAKX[N1m'%+L_RUk3yW׏LeK}ԌF jm&E6TfR=h(Rh9U~f/(Ө+na8qYnW|RUK5j;>%@kBK>";ZrI\$|O>>7N~],Xlj|k/xl"ަ8NZVJ_E&PK*a7 4T*TйP˨E&v([3ףjr uఔT]ko]lcbiXl13eB;woPWcgGuߤۨ_h.Zk);"ʹ7䍸9 uU `x>KYdpm⏇`rgMAykK3?N]c6ݖ|Tؑřyy^ȓN+5vgM+ĸz \)\gDE=E⤘Ϣ*Bʇ^-&{"*[s[Cw45$Z|TNZl&dLV-Q7wqcڊfS| Д J1X铧}ps1xAyqe{`6/xi]6@tJφ)@bDUR2WYE`mNC!sꅻV4kt^vZNLy TԌ m[ƍ[5˜PH c,9˭Suo]2=~u|>9RP^I|DVq@šxd6ul=cxic4]M*F+A[XL=5Spz} sN.óEuB/0 6 _qQ0u'mJʟ; <ڧ\7}b{:\ ^D=p«5T"vuj/e5Xi(YmBf:ZO!|cw 7n0|\scTp|:4ΐ[0}Y6J'7-pD v-OpP+]UfXWΪ2UMמdSBͲvI76ɡּU bvypɟA~EIdcٚ:uKly :!7`j#zA!ܨEb" o:VBI&"& /O ͤ|dҦ?~͐AX%SAmErK#dVы}ܰXӲ uM v f0xTF.4lnlZ t3&LJkFr}5+Ǧ ~;Gfވ@'(_Ѯs&Z!7PKm .u2UPK+golang.org/x/sys@v0.26.0/windows/service.goZao8\ ~LM  UbamK r K-T N~DD%Xly83|f83t{~jvr  8(J$49?+F@|3M HmLhI2>| cXSR2. MJ&`S %; Q&/ȧ|[YM&$lZHqp6yA n 4!:C}JԀ@Z@ln܀ď50#'Z/_ "[D[n3ǎ0L]l..6:#8=Cl cEj8sQp Xi/>8ȳ ^ѭ(q#^7Zn KgBTs܀{砙F~C̶8:ӡλUڢ; ~Ho>zXI蝃%D [b zԗ! C?@CCgZ8h8Z@Ы!.P89k#l/C y֟F.{= _GAC~܀KKR\Dl4-!KF5 GW4&zYMKNN%ͩhGL̓5(43@_tҙ5Z`9 Őo}6( 2T =a ^]1 \-<]lT>R#7HzԪ- Lxi[{0tM+ PEy6j5ʠZ4ǷsDߓ*;7>m%9nf2k78Lg Rb <<ϝrD"FڤR= ^3l^on!+$&?h:z4#|4* OB9kL /Ҧ?\vhް١h١ЖaE P-iaE_ͯVC;b 9ޡQws"E{4%GJzIy"Ҥחb 0@+D]ӑ]%[q 7GsՕSw'{DwkNT{87 LqO@}]51N) }S'pK.z}0N~߲ (%%ډU^VsҔ9򇼼—UF,[$7y!;;~_Vy $wi'?q QGUZksک0^#;-O(׹nҊJ. Lq]?*:aKdg6<'eF4'Xr3=}j!FQ||e}HQZ|"99vr NJ3C?[$[f>^TiKU_jT,Hm=L$iό*onR$KuCJ^vzw&"{e}ijԟs"oKf LKB*Sb*`[];zzJ̴I̭%E ~|˯M@*]\gw[;zV$~Y̫­6( fM{ZM3u~Ύ]'e.2z4G%B_7I^PŸo$sϯ %Ԩ3gvMpc-dþdݷ#`d Eu6NcanC1[^b#NbGEvߍAڃ.祈G )M&fϮ#(Oݪ't{OR^Q>(jtŭ׿=w`5YG 5ZL/+ea|&z}!B2eI)/["crn i!z|(YDfBm*mOF؍6|j[^wImܭM3vS}4.f<C.lui4/?YM5'DG…?BtSMcHG,ORšl/F9equ_L;[GP0tJIju+nI9k;x /k3Ő565rRN}#=8[Z]R3,䙔fLWסyOE~"stW1~Xma3 56gP5Pifn:to*U\~ZX_nޱL/7}rm&p(Y!,=)6ъTTۚY<qY~8֎WkɿPKa+ )PK4golang.org/x/sys@v0.26.0/windows/setupapi_windows.go̽mw6?rՕZ:C;\<YPxG HNm^a0 pt)W%N@*ƶ\eyq$srX. [rȶy .}.o.ʧ"$ô\E%G)`mSP C-x柢{t=z%b<[]F+Sgy\6-5D-,cj.D t~8@@,x*JYQ=XE1!Xx cNACn,_G DwٶDE ]ȢwYxwt:Y-y>mqDqsD8Ӣ@m6sOGqiQ͗k$,-pZz0]'tj9> ‘;s̯AD 3*㆗l S}whHIc_:q‰O`x|*9X* iWr>kX_l? 3j;76CӺ?hp&QTQ{9oxoQg":|7ԟ$ԑYWXǺpS >04vF?^3~%X ±kP-uլkǖ2TnhZ#c6nlWTK@uܑ=TBz+POEeCնƶta^ uF`|5[(AL+VU } Y3Qq™Jc \eP_V5N`y#Cj*B0ojvClD{SӅnCQ*F-j#L Z1vdy|WٵF7Ԛk۱n_QV8t'pdܿRÙcظԏPu:#jr1DqPOUhhj\Y/7PtKvFQ L=wh!}z3[ .ncUdj6P@CԷЬ{^-{)!EoN*#{XKQ\vL+QMjdgTK,#0U8rе&G7ԑ`08Fm@z*įAh>M^;*xCնQ7ԁY]YӍnUJ+4*훳r[AkzN]Qe Wh1h^#=y︷Nh2 rO8ut⟾P 4XY~6:z)ږɶ 3Үo`(TɏfYu/}wl/^:=1 -'i12T %H{[WNgZh4]mZ4uH?0 ԁ)@з#yVFx,kP't;n#ې&hXMh t2j&rT~^6=tC=Wx6ܿV;ic8ב=kÿd; ꥶL ,]uCVg Ca}9D=0l 1nV˖^Uq:!Ԉ `5`;_MWl1ۗ^0) ezo<1~pl5A}5Rjfto8=UP|Q & #dgTba`SЗs";ȗo߾%߰pʾE͂i&,Lz$$0/WK*Jˢqel).7݃_ϳ&*5d`$z4̳5|gkt`;Cּ +}Ύ߾Ar%"7-R֋y]_]Q'WڤR'j䏸, XC$.H'l4Zl,$rͣ8 Pft$0/huofARdl\Zc-)aڕ@٥RD#OCD#2-2Na;8XN,$y%f2& 2`8 YyN(u/>?ߜh q i3gĮĵ?ś .@Bz[8-7eM` dQ.a9DM;p X,Fv$: lm$O >Mrcp*ţĈӁșSy!q֥-iYIwؗZ'Հ?ӽag%M{!E&/b qQjk0WX&޶ LS &.*WW|\4M@jmJSZq:4񿡻kX(Y Edߐu>6֯7[PA{mc>cxIٲG{w p #Γ( +)Vhprvٲe/f cI{_c$H ul< F'oǿc:ڵNjBaշп (֔Fs8O vms8s!qœF@\/I`NS cN=iڐqLFb:kn bG~ݙYBj >%47-=5bk [$#XhRPbw昍n"I*붌 1[i o ~+sS !ii}xgeхx(akd5$]#I`fM[O|r,ךD|"Ƈ\@LMrL1T؍#]TƓpnP9@FKvt &~70ϙ"Y c:&ԳHKZ =HL|Xg]?M=vlKؒ4/]=8u{h8CKO@|"@$fi2y0ۉOėowLM2]7=ԪM,7[㽪 ?qɎ Ԫf3#Ԫ$«ҾaA't%4ʣu59,#S KL6*lG%\yAʕ|Dniy'qSS\æ$/thƕOXX4aZ*Ty8).]b%\V%FqmMlMD+8Hk $rh+GpShnWL{RDPPs%>,z5:{tNy 3b =$%[XTLRR͕,+d kֵ&8ݝ#Pl7l[`~xxeMxգXe,H⢬ x8 (d*ёHrEI\` I7jnC:GH,K 9J"BԪY}|z[@0ǓHhI $ǴJ\zNQ=>.m +H!W @ SFq201DɩKɊ1/Qkjz(3xėBڞû,+rXQNձ,ӳK%Ӂk>AK8q.]7 zXfJr鹷4yX@d&q 촀yi'D88YĖppE8tqvL{D_o2ଡ଼tf gw=ʚ[E\Dw \PJu&%&(='VIoim`^TiI(ʫvr|ҐkpRQD/p60xmhI#*J!(2 b0ϑAl.K2; j1պMHg5xJx|/`;#Qb!fI8e}QU|GY}"{:db$FSUvr%=Ǽ mSA<My\Bp} Cf[(/+v~eMb¡ݐ(Ы.30΢'lQ60WmqA$\Ӹ]j-1zV-eMֽ)Rg "xtAKkb67uGiVX"Yӱ%]"1D#P%3o4@d""6zEEy X؆ gpzY7^(-NK(u2;6E-cbD$[,YO`nRl?}g)g&.cPxKIXk%kqlGjFߞcԪ0i:6T|*Qa~:Ke3h/8TdܡRYYcB=4[m[J'q]!اLxf4[Zi1c#{2"0lrA$c`x&+Z1ƕ$|g6UVpCaq$@ۼؚ71|T|_mwI\yWz21a1z'mhk]V' 'm/#2I3R K֚LLӠm\SIˏXYgmI {q3i|~W;ԇ!,W_< ]2u8Btˁ4ݡO¬ovԨ!^J vCm.4 )C8 H IXjGȆÒͧ51=\^D @/LK4ϥ蝡_NA?6m6pqH>1('' ^GM,Bt5oB4G$%o / }=Ļl|FI.&kj^ѨZ>AQ㓤&B&mC=@\uud2V>V9}Mk)wѝ,(%0ͳrģ,aRyn~|2˼~^yaS#C @M|,.)2CP$ɰAqZ>\'L*%lv<ć&~=0GtN%kz@aU* Cq2VR8,b>8]zj"0bFv@*?ah߾VMҜn/s@s.0͎mP]C: X)iTjd5X5T;;8u]ޢQvWz$s |8/Kի+>kjXG`z6Pwp\kN+tr b7W?ѷ }QF {@'?c/\>AyAL(#uWaj>ȩnh}p{Ea/Z,r= <п~;[/i[[}83N}W$ĥm(MD·%>ip?&XG|ŖȠM4A%Gx´M˾˷VǸ,bC?T|qz_8CB[ hxH %f!~9^0cZ\RDcM87}H ~tkjWmM㏓谏 +c\[_+94̵uRZ;]poWqJn#X gjjlb`|Т@ D'm4*_%T3 -1]=-.hpGX7:NJ ;fń{ 4Nx1z>EHGzMyp>S]L0Q%j+^|.S1{h rrJk",Y)?R+y^5HbV޳~…H\=x> L_,~1a vIu*uTa 3%84#/NT( >H I[7$7Ⱥa-`(zCȱOp0ZZxqYf>94%1ɨ>+ Pza|^yx]1&E|kxoF\z?Vd )<$+/Y Iʛj7nZp:!"Bkn [ól͵#5$,#Ѵ˱hEY Y`/0*'0Y v%=2&I3f1UkJ${-wׁ4%SL-԰p@)~phDD˙]?R"W\w.nU|k8lSuo|>_2V ˠQIxuxv m5^|b_E d[u4dxmx0<ߎ|) h2WP3 #K u(ENx[|8&,Sx4HR<׆CB%p7x[`op#i`%+f*9쨟A~ޯURdY$gك Ev'HN gS#w lTӨ\Isi8E%0ldZ~2* (NaN*_lR=eZ q%UY7nrXeCzkeL K9O: 8 6%4ju!CW5k$& zJ)OӫDКL>^q\2tfa5 () TAͳY3DuNZ&7 ~S¹ h X6  {¥` 퉡U0;kA0,G,qcH {laJ=‰.]wl jAf+#ae]~e.VE(iP=4Ӏz X7]ڎIc]3&U(BQuwP8LkZkjK+߷F#M&1ф~~ "aa5*}?QNb(P&OU%hxU;՝+;:*U 0A&#ĉ3Y!zF꫶mG6EqM{zdͳt׏YN-jyB`#;9,o}`!$51NO>KX<=^P蛘w.M .UPw:il?<"_)_z+ѫ?G}R-2_h3̃" 6WDU%ZmMITW,J.LӔtB_q"J*XPP<#z=vL΂kʃfi.^As*3;;9hU;h~Ti^pulֳ|D3vv$ûZFs. f JKyCo1 [bķ [[%p|󋉏w@;CL#A1LU1lF;q=c'4ݔii1~ 8ɱF8.iAiĪ4k49:m^5emI-͏Fd'oS7VwViiӉ\0- hdy?Q_L5Lsh׆cfHƬyf${rfF5\4~2 He-4ܛ-%L9c+ fҪGΩg6'nڗߵ4~Fe4~ X:K׆g.n?5r:ߘ<=mPhid@kg}b`Cw2gqc_4'= %Sb?CrxLLr+Z3EIk=?vA@FSVO#G5<6-<"c{AKVe :з/Z=g6 qZp^Yq P]S:$~1K/#|#|+0R(CFIB`^-^TUY)5tBuvj  {зOHVY3pxlO$) c!vT$ ʆ@x|JйdBT'1pf XD)y_1u:A39l2kb~s&\9%YT0" +Ζ`mht9ɱ5+P{P x>톺28hdkt"!.Ku(|{l9|xSa LK~816Ph;)[guz'#o)()+(WحIPuhAvʐ7c&aT}FlfKI{lհ__K_2-ǃ+) %rPfǧrj a,Ъ:SF=h>ZQI{oບ UF`?S&r6;!iCq! ld+fa[6spb!6'o!&K\8 ,D([k@ D*n$nJ"Y@|]6ܦ-̟^jճy%^# j*C`{SۆsP8SZI)p P?,kL1KARpidx* aq\ޜ^G9>h>ȋsrs 샏(NrX>D-гa' r[xoW"B0pr1KN:+и%g2|6@~U X)L)={d-8K{rtNK .WxX%!6i%Ik.2}@jMW|Qt̳W&,\.Op]u*tLRBKvM[NCFev?5%UttQ[;%.κ~wӖ )./z/0sӰ UOꫦжz-A; 9JP7JΛǜ˂xYuYJ^R.&6u\ҌH!:qGED<̑^_کW FYQ5Kn& ;8Tm\QMH=y0Y#4Xֽi~;&'خ*І rSŁZxٙ,:}4Q3wcumnBzN3ʯrH-2B5u}/Leݿ>_6qZtdml|Y˾lȕ97Ҵ-]BhL+EgOr\$+L@і9DEDp݉)x$+%^_߀vw^^_5{G'/P%QsDi*].)*[Ԓ^TLhdW4ыk/ϳviv[C'Dzt <2c~ Zχ}xVq 6yv'yU\B.F]osȻȨ!4Ė^YCokTfwJCtipwAテVYaء>ɾuױ ^$z!]ף!u_\/2ʥUfII)Wm >oxr"#ZXZ?TdU.nTGks@WqkUX}05Rk\ UGMWj5*44cDg,0dzLpI( o׊q =| { &,Д j5j㤱M7IҔHo!Vj$ _[ze), pĺ[RH٣/&v﫫X U.%dV)sŀUWA˸!srI A]K1E m4{$Qػ{OnT&q;L1.J(w 5zjA"۴=# $[sdyqޫm7$'-6U/\}嫴Y]ۃ&obM[mRL}lq4M"~bNJ[l5֩ÒI.1f\uDIOqN6xU߻ѻԜ ej8&V%=Y%^l3M65sQ : Ũ*VsrG{)҅>y+YK=rTg>)E GE~g"#HyE:/{Y,,FbUe95}nz1?RȻtUT|\9l} 9+\~9VtOnOЬ3*ߪU4 J"v&݇Voz1q\ 3[;Xy]]@{ː=p86|?t-m7VQLdwOگJVR3ZBBcB>u"-q) ~!\Y!96)\Spsu/5na5ď}nz>뽲Im 9/*;U}-e4ck*P=Ba٢ r}BPH[EzgQN5,XN-ydmǰJ51{hkW22)hzTt"(Rw]N_FA- /2|ښ{A_Vz]J>3V$vR//PK(}: PK'golang.org/x/sys@v0.26.0/windows/str.god_k1şOq(Hw)"BET!3\ɒ? ]+kU $\m߿wGqW)op=DLf#LqF51gLq`XSQG P.u@(÷XR)Sǟz\^ڃCY#a3Gtq=*(zl`HP)آGg)DRSUw_K"Ŭj0,s blL7R0v{x 5:lh&}hYG=np_uRFF G]SryowX;PK[PK1golang.org/x/sys@v0.26.0/windows/svc/debug/log.gokJ޿C'7CJ 䒖Rdi$-Y (r!|of vm Nw/-sY'm9 ׌HLqGUn |eB!epbI(CE&(zޣOi%y&H[cMC+Xi sQnbф庳Bo}z6f[ECh56DAjfIXKL uQ BϨl]S$/pz:ڐBl ձ*-=Ӹ3 Li1D3uHV謗'ph}sSDo}Rعt?4 #eư1$P3ˇI|>0܎ 5z9,P0챭U7Ab` Na hxyx𘪼3H{h-B#bj}YCDO;{$<0]%q2MoLs9(!u-2}eﬕ 4$ԄZ K<'A5An1M%ٟxz&gA=rx&ܴ6'pX)GNA:, Nܥ8[Swk[ի?{L ^ޕ7'7&8{C9~x`\#}?̶yڍ}|<,Ƚ ]MqҚ,FZJO?ʤ=m~yuS%@pDKzAk%qFk%Z܅(q39%icJr7v`Ÿ9c_ͮhyex-NPKp7 & PK4golang.org/x/sys@v0.26.0/windows/svc/eventlog/log.go̔n8SLu(B+Y>dS7kk( YQRA}Avn^zE|3dQFxrNMom()&0Hh(!l#HB4C\(d;B lF(풢BE)-TB{@( b~;[nfP y׻^H>[Ge NbUD`5< ;(Q(m$h6GTRQ46RБ`$Re9tFKqW b;(c>+ R15zYW*0h |a%j첸Wߘ5B7 3N٠kl$Fd$-]oA+`8nޢF4Ieo>LnW ")_!7+5NS4ڗB[YWS7Vؾ4^^ hfNx5^Цބjy8^/4JM{^L8Ȁ=C\.zgja0|Р;0 f_e?wJ}"x?k/e=d0w⟯>?yZiZjm < l^5ㆊE *n s/ Lڞvh &P*x}.-jvZ~s? h@4J(~V~ O`p^Ηw/p<_) y O 0[Wg/PKć PK9golang.org/x/sys@v0.26.0/windows/svc/eventlog/log_test.goQo0_q.amRF)hyMb|ݎߑtioW'9vYblE\=mGĸƎrgA PeoBm+hyGS$)g+B᭯a=bG^>WhBlnk]k~zSݛ@;q#DL'V+閝m-2H9ʃV3pKo#L. Tfu!棚b}o\˽{q)M vlcI Dq+zGDx!,7G*>,8_ >k߰(\.Uƹ+Y%eDxYW x릘M4XG%^1JVSCɩsJ3=:"w%c>S*sO/= iX:9nl5?C[߰>YU!/_6HnMi:eQZ>?PK{,%PK4golang.org/x/sys@v0.26.0/windows/svc/example/beep.goTOk0էxdCkC!Cv¦г,mȻ1߽(YFק밓yMa2671WK$i+)#t *Kr')1y+,4J+G< g=a=#Oͷ !RkL׍r/!z{91uOv$l`caQwliJǻO6rs{R#mf|eΡI!7T^ѳ=̑,}&bVQ.am*j_pl{zE)}ڴ>ƪyInI\]]5eP8X7lp~mPK HPK7golang.org/x/sys@v0.26.0/windows/svc/example/install.goTM6=bB` u4G>Q,EݢZQD)RPdn{Űyo޼7tʵGU?o5]'Kc&HX ;! B u@(\ ۣX~خS8( jvl B>ݯ6AX+7uڔE}!ZY-B#eL7R %QlepV U~H1}m0N 9:[4Vw>,iS0_#Kھ rGi,X6":oǒK*=q8 C^ VW'Wb{Zk&vYi U&PbX|ѩ5bؗ󞼅g侤^%{l1[{]`je3( 2͆LD}rRnD|(PcTj4my2nw!=y(&GG eKN5蠉J7:`TͿJ,/Bat> e|!>G?mRL(WC͏\/HQMĪG$n՛kq -y_,V$,| UAu w:_IcN kHJp.͕KAbTj7/i i@ė閭bqx19C 2$f!iV:^Fk#Axa&rXgH/xQ"Hj2߄g]F7KxP+DR&+ [Rۣ2]ذ,cgѾalxڋ p$ PK"c2n^1PK6golang.org/x/sys@v0.26.0/windows/svc/example/manage.goܓn8S -*8bm0H&Jq ȮQ Ni\{p8maA]J>%eE \S!#cޠ7m #P Lcv"Ӵb5?QU`q]sD!E%O#]2|KXfPK#g0uPK7golang.org/x/sys@v0.26.0/windows/svc/example/service.goUo6~ VgKI1 ][Ӱ:Ʉ)RMH`w<~T0Ωfpy~q w+-\{^YG9\k LmEQ_`k" DBPݠ3Xr%x;!i hW%, ,jMo/nVs!ӥW2ݒ])eЖ:HҺT$)Sdb*D6VɭkvT+¥o^ ֶIE&Ħt6l#:/NFIb%?셨0jͩG7(=t j"W|*M_cqKj=\ FD(ai:g,xe D"!Vt-%v~`OV+5'KOxm5G pN<'?i"KbVr  wJGÛ~ZJkL$!7䍉$9{" K5JKY$3I,QV-[Spf]M\B[r2U\994Ӊ梀;$V&4dYi+P;ŠiQkmх](DU&I} EzNΪtXxϽI9{a%'|<+ܗ[0V_r0'O SO;QTX^ )9ɠ7xߡ "ag5^>YL\xh/߫C!{gĠΛL" m娃Q^oHT/*qe"jG0K !f07t? k?\[Q&i$jn?#e:\&Ml((";c}&rA]*61YC/}vVG{PKnGjPK2golang.org/x/sys@v0.26.0/windows/svc/mgr/config.goXOo8=&ȉ9?[53`R&"Jw_,ɑb}ĪXJ$4 !|0.NH8.+P>c~HA% #"A` %6p!C㕱B;!6(x!&|A2 b)X xQ4~[V|]i]xAwPm}uP}sABbuaJSArT!VFU*Z>Dx>}\56 &C -NvpB=,?Na_X07`Za9>F 7Bh62E7&yV㛻hj<0f&VlmMQ2}(R fO{ցU|q)e-JؐxHYL r|,gd|g[.$v6}/ &R(Z#вV?Y \"eN8kƻ1au1hN Cg|gl:y6ml0/;؜J*lZX b^<10Ah lX;6MU`h= -{'Tcc geQ 8Ayj'MСT7H͕dGON]ci( $cWsV:O.g$|.KU;=·ͨtS~PVQ:V\eۉ Ns46YX./FYq{zNƍ*Sx x1lnd>4YN..tXVfLϭޥZ}w>͓=}ʵw(ԨM;9hxyo%6V,wZPZmI2I"˸x j ĥE2y (`EtP Ë,֨,hjkP3̨~0p,?Q惐1n~_.f7;ΖWӿ.ۻGeL=of7ptԵ~kCQrQc#Py{>ԍZ/O:H~3!=䙲t$=\`*EfYغLo}n"zeDelHw )< )j{ExM?z4J.l ;/M5k6plPi*U%Hc#;,ӀF18fl]Ȓ`bG@kk_1P"RCp%9NKx7 㾋ȓfHw ݸVLР5U& #BfB_  6:(ml"#q3X1Lm)ώh<߶cog`"Z7b*icԵ˒짂 7uخ"NlnOtBȸ6\r%@>2dA@*>"m CαhiVBe8j8+VqDg@6t8;场(IvsH4q4YsK&jVK퀮{NpY?<_^\g"0)po[}[,:7rRC=ysוmKrPFÏ49*vnO^oߨv&eIn tGօdٕP}R8Ov(MNBH9vɽp+rk5A,مg6o8?]~=[ί3Ŷga%~qƧX` |{P%*7hlK嘽 cFp-rd4]J sߕ Gg;-g$ pxЀyv%7Zj]e1y0]Ю&{~va#˂Y6v ޺0<_}'U0UthW"2c':>f/atwZaR`l6ZjwӪ=kGc/v`V ٷvG-O'V%,m(5ՅסA՛פ~u,uنE3 M:fKG.%m!(F[@vd`Oa 9‚-vŢpn_PKF6iPK4golang.org/x/sys@v0.26.0/windows/svc/mgr/mgr_test.goZ[o?ń[a)'-*\Y)t;<"ҞR.QNrv.p) fpEe\H.c %=3{#P[*AT ߣ`~^]}/!F+2DA@"(Ex/nV hL>[4ၲ?Hّ $qP*ǡɎ cgFr˥#j;՜ 0m <ȀıQ1?i \l_ gSOpD) zCkVe1V]7ߝQ  m?agD#0klq'ǙB?}󍥃 (޾f2-}pCU iY! ~Ps`Iunet;rT* +̶Oe +;˕!*C^B2 Y@QN%a[}:nI<apE8r*k|n渖ezuJ&n.V.""!%gP1l3^U⤫SwhYSy*89S!2?'kS*c=YK>b3Q'QK)S?`|CLJQ,qrk&M8V<40Qkm|aȽ׍[f y:doQǒ K~SvߦlΓX ǭнt ?B#%YZ:;k[4Vtc.oJ;u6fezE'᪚^~IFJ, ׳õ-Oag'Wkq _}4|yU?RB沠04yagW(=:JwOvxq5Ej@<6/Hd ?OB{!\Z)RiHOS(YT6"Uug/,<)i'9OKji(B-/kR_5)5g2˾ l2stuC>7i >i\Bz1k_˓EfbkH% -$$R7 ᦬7:!(J֩0)xΠ C-۱ښIM$t# u&L*3T pЌ2"yҼyFAEVD7qqA?udyfAjJKn,/)uO*m,/gL? e~ABͲfk9 \R-jkQ=H_3MeJLHcbY,ϔq퍍LO "r tQ5a)n.$ C*q_$m.Sh)Z P"ſ]WKʼ?QTi{=yr-2 aHVN8r$Ftfpr+Ǯ5-/:J 8Dp e [,n=]V%_e*g󑍮;B{ZqC(LDvmn 77z]vi["|O ÐKs}JeYw;s=e[N{ŜxgهQonۢUw"Lx9:XL}uXUsnyuL^sXW`'5='lߜ\BB]vz?>N8%n ɦ@z׶RςiL^(/"-1gαv$PKW -PK4golang.org/x/sys@v0.26.0/windows/svc/mgr/recovery.goXo8~Y?,+%=pN`wAX"V"u$W? Iٲe'iWؼC& LdV'zoyDAJ$5_ S i ,5\ 'w)!܆.%TL FTBpm,|r?,$!^`"1f\rm0 ݑH. 6(Kb6R@i븻R'k;! FID$%)'ndqE7|=yfH0⫍y¿8 kUp!c%N" TA%H^!)5 )KqG^nFj1CiW70a\PeaB`{9~ 8}( {Ƿ2")=|lN #YPoqzٻ\t\ŭH}쯋 U#@TH6UXaB3lT %#5 WRSk#w8#J{kgζ๠IQIa rF|6څ?ؓxښUrq3۝jۍ?bze?2{*G@cx]'5Ksls%Oސn!: p7y@'-Iu.z*U"@.'m7;ȿ˫bhM\s3Zo;8`10F,J5n,Cans)Dm,3P$S(;,7RkkF L tLWUċY=p2ֶR{=7}W4;ܳBZz|y_Rփڼ/r*n\ $6 `|}X!S\%R.S9B_2͜hg.} 2@߽3[YE=i7B;%CsfvĮ'{7PKMPK0golang.org/x/sys@v0.26.0/windows/svc/security.goVmOJYBoCX᮪=™ 3cBKbJQ+U<<žS F,rKR\H&Ef[@ }<S "Fy@%d -Rm Է #*' b BHy TpLgp)-г,iT" e HZd),Zsz}e[~$IoY~ 2V5Nr,+-Y (xĖe=2u4r~W|(=&oP8=kzKNX0()Wq[]/խ1z4d߁chY?΀B3 T`!lY͚@oXߴ BAbE0D))gB %bRe>MK];V,wuz]И.nM%ILctp)s sJ5s\ %&ʴ I$z]K;O,NҦwYt5[oٝBSm"^4yׄv,WsD_4T9wF6-@>Vcr`M .a2Q%*yM9@aBf꼁2wi>fXB:ҭ`EioׁiE& -T&GkJJ+3-3ƥ,0DC7kefDX (sFK Q9b;T@տ$X(2>XsA{RAVҴ'D[`d h1(lgTedLCB&M x<c2!dH?F99+.V~W ikWXQH/C+\cLS;vTSDFɃs0G4׆ɾgU,\n0\~t/nn&vYCu-TӮƮWyjw!9W-Qlr2>vn#XH Z^5XAϷU%y#S,:bLlkz!ػV:p8z ]Ng.?/Z? wB9_{ƾ Rjς0;5<>G5,EɃxDؙrXLգ׳jy7i\L[m{`gǛ㳚1%i*QiI=woh#֪^rTar!{<(?h*!@]M ^$vT<|B" ܴ{Uܮ?sPK;%i PK/golang.org/x/sys@v0.26.0/windows/svc/service.goZ[sʓ>E*R;Ξha03IڰI[)|4sNUiry'#|8>+MSu?L|" 0NGa8 R[jX_4照ᚹDOaA{(>B{(FDSh[@<7^)d-7[*%y}AB%64f6*ߢ-\\JQSGj j1<GҨ^7W3YE$h\6,~n6EqKM ԾQ%TyJBF¢,moۍF߶i58f# A VMUTh{KZC^*ېCbiV[Tz8θDEm _c=s1VܳE5fR䚪PQ h\v0|Q[rLiVF?T2s4̀C4]+qR0ޝ{v i6*Oh`qQ)2-YД~Ř+[@#]="s:MC13_Ol2_js>5/^6>Nm)Z3M'ƋRs?GW41ex0LfM]͉_ T.flfaX¬[g9A3VGR)';'RJX;S`o֥6TzSyêVVHR{@pNj 3VuJO*4 K02#LRdX$mP,HhOt)dy5,\"ezW(P~"nj)EVBS\$U_@SPHt"L-e [#,$u`L-K3/.6Lktz*ḫq!U YV) 5hPu-ͩ'p$`z8+.rف`Q;&]g>Bb 4Zmͪ?ԕ48ܱ3B|xC܎.GMIh!prƳsPx$hdsìRv*su"I͢G>j8Zʦᴶ^&$4`z -/]I(={CquU=Ǒ,Mfk4i{y3]?4wVosJjY\H9s`fόi+҇7DzGE᩽}@dCWNsшngFYY`'j]5`}wP ib3g}8>5pZc߫ 0KwRL*\ơ`ORA>DUo9d0f'~UZ`.t]Vv-򺄊vZf -!ccwL?^x>Tqlg//( ^Н?t^N~$Sj|P>LH}맨 Dx앻S[꺾`fNdV([e95u;eSNsEnnWllͳ滜^mjˠ;~W#*IӸ@F̼cv#%g0}m_76]sݛ_GdoE-h醖rf ׬n0OFމg?Hq仐+>)eGI3[*}PKOo *PK0golang.org/x/sys@v0.26.0/windows/svc/svc_test.goXooۼm}rJIC:K/,`LD"rlÑ-;g+7%w#Nd=Wxup O>J8nD*qYAF5< ~r f5h٨ !9P)*9\ρKm%Үg(40p0ȁ 0Og'/!yIi!^pE.t,afW ^R^8LŠIAj 3[W@6.#\/0 ^XȒ"HgcI=  7"0^S= /B%#TSaLK:a1Rp4A5Ag=|`(ttƌcVzAOi) =ZB80K}B2aS$Kclve`/+{y6u,+бT ;x|B}ȟ}f\lAsQl̚}/&^ <˒k̤[G)h#cbgBV!4h򱭿=נ!mKK׷[ BPUڬi]%_k>Rۘi %D!M"6sRc Fẵ$[4Tw\#!IQHC&Ws22{@_9+vO0JKBYZ5G*J b1JjtYZ.fq[%6rlxN>A1_vtx~0 6>mh4HL]sCQPl: k[Ok0Sϵj!֠k4Doh"14q6ܭ7QȤB=H_D ZVE(ef`N>Cr)6Dr-=VH۶Sr;V)WQ?%8C2B.RKMNdU1Ga!BۯKzc&P'i\`1uN*K7&%]+Y(Vbo{d߇b;P9"uyD!3e>`c^<.ٜK=T.khߓHF*iNz e@ MV\\:G 9GX1Ѱ6L؍+jŅEohJ΄}r\g65-όH`DZ$y,'M,ٶta-GQ+rdy)+Y׺A o`[ JɂG4ʾCUkN5=٘- uS^Z&!u]qcz{bd⛒S;3xS///ZX1ivtx)M՘~GaAZQFG&1G,CĝaS083P3"ib\خ6W6q#=*&ă@7~Z(+:s~T-%1,sa6OFca+eOqZs)6 !jy:,aWE:+EfT cVt9Aru9O p ٚk{lnҪ1ΖM)ڜz9?&(1 g' ?|ӷշ'ϔ, I:=d(q 6<)4^/<"ur }qpIE8Ո`؟Nl2S]+8f'5- j|3Ԕs,69Ÿ)ziMt؞0hGLNH6"^T7?>*٧a]\'H h/euVƀe:;vCyHN^V)SPS{RIn [_~¢64`׀N~(n/1j`T7oCj[Z)7™YJYC#rtl^p+,/lbvqיk 1z47PK-c<xPK+golang.org/x/sys@v0.26.0/windows/syscall.goVAo>b")˔\'MRTq/APȡrYJfbvIZ;;7r^o5g םp̓ VksAaKŰ{rJ~s&Ҫ FT3%(&r#TJS$ξvJpP3h<0e< osM{`[r֩Fy'n%yTaZ2ۘ]gJrBXR`b]avP*n5ns-R2*E9G ^ᦂvp@\o'T@ 5'%0y绻,#G%rTNa?YMi ) oaJm\k1L¦_ i2;҉Hm|Š :sW^ZLi$1 5rVCtha=[tfVPG8H=*["2#? XG1UpƦY|~[ҿos1dPK+$3T PK0golang.org/x/sys@v0.26.0/windows/syscall_test.goVo6~6+cҠHq!X?0r)-d"4鐔o>P?GNv )}}}w<&ILF Gc-&F[hccI  Z4k1I`tn!,X] !AX(B-0xXQRd,[0S0Gu8n0}6Lǐ 1!IRy)$P\o,!+ݲۃ"+mG3Bϭ͘Ӈ UPBzВ"֦HITu"mk&K*Ha*NkclHz"fJH9&3!`Akd<:$ϤpOk7uSI-C kfK`Ôk߅tZȡK? п6cy?7uѝD@gt6H#1 I/I`nli(YvQCJb>Q6Aوs־^.jFr]J a+s)O۫47K˵M8kt-f , 5έi,-WRdF[8Ai)憙m; G{*ONO~9fvuOzjvg((Io쮌;/y+gg5]w\ɴқ a@z&nfi7x>jH p +!A +%yޯ0UZFׁ݇ tk.υi8]W7@Mpޢ%7f2}ОTo<^_Ɏh]mP.K gM5G/7Q7yUWhFۢ=5ȶEo"?"yBi8jaL.~o6ٵ}>~ͥ}/ȡU_e/ PxI?ZP>FX*ƏO=l =MϟؿYA]_PK PK3golang.org/x/sys@v0.26.0/windows/syscall_windows.gom{7(YX?4Zd6%KRV^/ =j=Z' @7l'g=  P(y:,a)_tI5CD.ǨE> ĉ Ǎ7oН -\ p =') |0t_ j> 9A %A7No0EjrҀ! 8qc?֟p3.8 3.Jqj<2\P__(O)bM"@yh6rGL$2qPh Op/w̾4޼AW~h8EHI.y }r8vOtv۞v~ qv.N gaiOϓiٴ=MgG9NM=@4?iD&'%DqMdOdqcov70ާ@l`8Y?FMjOnJ[gNw(Y>]02daT~N?n\ozN{қMzINzqʻ hܛ{٠}ۛgn4UM&OOLnmg&q};ϩ?'ɴ7ڝIe}PkwgUT;' ~ܟfA?dt?9g^w֞N˻iob_ ;>LU^[3RQo0Ywx?=?cK`:OtuU8)]\?vG P`oû},GݠvUZω6xP_kͬ?IAjgMNu *Q47T|8v>n=\iOh US$"$=arI8j:hP_8ofgP;'jjzM$ÔMNմK8[(Bg 3*qHhpwI?`iA1/lK-~DLL "O'M鳚TO/RM"yh6| DHU? WKxo`u(@t ,Uq[@p7YQ"nz@}Ho*qc$ _KUYQ@IVX"L7D1 eJGè/s>oF%Ql['Jhk BЎ8FW P RPA/.^HɊqgD.M5,eM,C9I^;*Fo#ɝԧF^(Q+P\R|pDČCÙ-UۂёLVf/"Y\U0i@!R]I8CkƃP#NK5(V+B*[,8^ c,W:b (FNx .|>)4: @,#jP'5MT@/GZ^+:JbɛJNw DrTjfyw$'a (nfuJ؋[6?D!ٰ~ws3dQ4XOKq,3/u1 3Xq.dF,U1(T٬PDEPXL068GBJaC"T*9&sLFӵk%5bDc]%B..S_h0(d h#Toa\`[֬G4vď>*:6e\CPo.RD`!{j"ȋj3tpp9/ H6-^YLKix_{.@kikA]z'ҝkD^k"G DołAsV%8 -P˦^"E۳&#DoώK5޳ Rt r mGiA["dHvrKC"rh;/r͡cHWb@AσDm mHU~ lD@*wr% a' -0HjCmI=0fx!ϡkT{>gkp9cQQpΊc]~eHV^)oGxNQ+U=w\hBrӖDB>UR $8’(YziÈgt2sܨ¸R^0&.+ܧBbꓬK$\-@ۅi",;սxM9Kf_f+R1 0@uCoU3ut򨵬b<*RGŪqM$*` /E<KtZ],["//Nr\nPL2/fX(V <TW[YeW[(`ԡjChl4k3[eQV._PizSᴫb!D2|XY KXܧF:k'9y^08xBAJL8[h'mW! ӂhҷgy*u0 t y! ղle{E~EnL µ7L_Hخ$*3v,"BscDոpK^BQpl2r 0놽(,Ե $"hokU oٓn)?Ձ Dݫ-C@NN ɔe#a|`24ѨRf-DBj`g0sS1[h0\݅-売*Z'TS)"H? ˓OWe'~(j=?Ct>Q YgJFGKиɍ da.;/8$$p+o3^ ?&ޣ9MbU8bET>:j'{N zn>8ίJ|Za b|;eTun%Ԕ p?d*g0 }rHJ9g$Vꎎ&sa{I9SJFmido /6<8|{v\!*#EPHC('T)k7GgE *ղ\E#PmEAJkә,%q+kFRd]5̋ʟX:;P'䩺>8!Vqn0&ԚiQfC&KEg+-4&f7ܡM:pFƒ;Uδ3 ۳c ǓgnZDv,A0plCĝC%3̃aܲd\ў|З;g w=^ULvhlrS kt4w{0 S}$EׄZS UPPir s=PPyJutzM'HA]cK$ҡpٳQ RÜ08U3X.lMX>rWÛno{!7?e,T|cSsHS<٩sR1Ptin6 ıFZ h~4д]TudnGe8#D))7Q#[м_1! mg8WOB/mq(o(  \hO~Z#M"^8\Z0 B辒"g=JV1/% yOMB79@QԜdz{ڶM,?{1gOELX$ṵSKrvD½KݘD*,qr\:4`*U*aNڷ KA:>R 58yuLs! @b*n{_GC1TG'Q\)8;g-*Y锃ѧF)!g?.hdɸLQF>@-yKnR!=Οے\XA!w~ T t8ޢu>sYDXgEeДg; w=~Sgo<gqy?MrC:+E)ؘ)(8C_o 6*G[vlԯ^j12э*>H^b+?cU)QE|lOojvq󿃊'$G2DC:^ (EU> JzϞ!4;H ǔK}Lʯھ kciSgCy5(_k,$O9[94E? QDtKe˨LPuxdˌ|*oHw8**=z\乊NsS%;aLHƉ9{J-EBU&)ü/Dkdӑm=s{NFrf̱CWAȡG(}dɓVDG;W.U584`pLY~FD"PLpgE j%"pP*23O&R6\6AW)P0yT kxFG_Flނ,"p1>[%.rpMK#At 4"xQнҾZhfj\ s5tLv^+8qT.vQ_!)íj X hQ5Դi!#v-Rr-jMQ#Ƌ~n)+4*% RQPn~qQרtzfiݑZ %BlԶ;;{%rgla%pǕOu uouVLULxC.BMB~q\=T*)U*L\UVsO4ΰoy0{ 3CLH#>aI>M.HtcN0} l&1UpeJmRw`KuE%Fl &x[SA//]G3AdhE کhL+/Ё`9Jґ+.Q3 BĈ3?[¶- vaoH/..3f sX>EG/7,SJ[Ŝb9I9_Jb@oe!{pߗv*zD^.íe5]^}HR [ToE̓Z~ ޳H6YH2Ods*Lgq҆p@8,( lqQg*LYጚpl >]<${!2e ~޸J&%ZZ+$ XQ"pOHK v%G䓖fKjآ ޲N#|]p˂"+&.ia=;!sⳋ8t(NM=)61B'e,/l?g`"lT3*&2N!f20pXR8zWBd=:O&[\DpkάRS>bC"˼a7Q*MƸ '|12-I=P%h+L{{S0]DD9ttآp94m xq32k!Tsh\nݹZfM\gij)~,GVT~WҘsuxnesczYY7!}fR]ry13O s4*#RELLxKq!J,cH[#d} Ǖ|+L ӆ^+}-病e^z;ٖj}0~^ww<^Ȕ!BuivB5[{D@V?$Jw)/W7x_^kvWWܜ ͍2w)j~'[o;xn6{V@r}olnv3ww( h >، S# e|e]{ 1ww`jZ<Efsݬm΅ Rd~%"l~߆ ti[5-ujj Ϊ ֱzޑ)- ܬ;peL&p;Gz_Ņ5gIlb+~P֍ʴ!n}~tuHnE(gr 'BN'f?H1#(1!K7;le`~g1{rT@ŷ! W*_UU_oe~wH1j*UD[.9{BF1;X-OQU {1Q0z6X/j(hv.QsV&3\}rL%(&WIҨŽΜhJS2ޓ͂ط4O&D&qezH =2=uQ^-F?ھ % Jf@u>*knFde2x&t@ m;2@2 9U ]%Ёl< M9y>CT$LrS5Н=.Yqm^qz;! }aZ:ͼ0c+ښV\1<*2uL,w}+F̮2b F$REH?3wB.gRi-JW铜T gW 9)HIU {*Cj^ +\%Eymy5BF9c쌨:gr%8 VF},eb;۳ͤ޾*V-ezb*Z eO%ChV>I3("Aq[)h)ӱ倈-S|@HG-l_/@kJIZuO8"w&ޗZ:tVPH•Y(K62,E.Ȃ z_0+켺IiC%`0 S4w]e4z`NY 8){T\iBhb#|E=)@eEZH*1tKmk[=)WY$G#ttIi||alřŠ9|.zf.`u3F2e奋.p%:Z2jOvwi7t᠅|ɽT׸p6,%E|x_BL PP!dBxt z0_^foM)Ula*/I7Ix\*#cǑQFR3`ޭZ JbfA1 W5YHoa*i9${ ZNG:KHrII#8nWfZ->9%_8Tx(1`Xa~{eLw^fVw:k(^7~U {YOgVb͐!őjCD4L-'yDY^̙oӀ2!W)nFδ nVR䤅f-DNtd XU,Dbnf^* H_@r Ps6YEQ:CAkHevpju@~$ U7O#Qc@cJqa&Lلj7./iL cRH2PL*Ai/ if24rQ-s# ݠ Uc ^$wN< SuB -W28PK!qw8q{?|,7 tlkwzDeqsޏk_~ՇYgkOCPGޠ[ju_f@$u6T gpJn3 qw3d$0({u*+RiŶgpIo/.-R! {At|7蔡:pm{q̟QoPpg%*p?nz_$fJawf} )ɬun_jEl!'gkXfCOB7io @ OMf#Zi-phQ@t-[PUGX&.x7|=x Ӟ78+LњGFEPdNZAHPoxg!*Ȇ(:eę!v@Z[% cV6'z>˯ÐM6of,ocoG/Kl4-G]280/臦6kݬT@Gof1?|n1hd{$E.n#5I Ht]Ԁ"=<,S#,IH&>لGW\8d\KB}z_f] ;([Fw//7ogo=n-C%]=q78XSZ9c$#XJc'ABLA˽ml!u?ziqznn%̃zo˰/eᇷg;G`.̅'DabY)Fx2] xdڝ{\ ԒnZW*z\5!\khͳ0@|FD}$\IFN\ |k OsDMtzO߫+-7-t8W#V^*hKX'N͢,|*.[IuX jKn߁B33t:ծhɊ=QHPN~:ҁEBeCd:d~޲'i*qotdKLI8 ,ϓ4[ܶuioݷO,L}PjM~~a^ w/\\z1/1Vq6jnMoB׶mHD"Aڿn߳wKْ̄xpZFpgg6G][/O>=׀*T57txG [@*P^1qd^mD:WEu[N41j/oޠ39CKXz۸xO9>9ur_ CkH.# Q"O'գXQ,rI!X =s`\#<| qm\.HDqC{Z#mDmj.YVN>Z,gn6c~[F1ZϦ9xD"J DδfGe8iBfDb.{"a͛Qӽgg d'"&Wsq94Π/#~JfHyyHD>1˜ڪ=.2n{L O㡼@,! P/.H_Γ#lQדRP֣{_Gj )7*ϢD2Th\1d+E ,EQ"BQ߱04f{O VlGc0oӍ.춖Z.GSKgB"ҡHC95|QC,J2Ps<ə+!#D_&x+DPl>wFhe rzU21!BnQQ($0cT56&~_ B3aghu}+'E8o8ʓv-?tVbHZGM}$g,Ey_/^ʝ'%S/:E2kB'c }E(G櫾YQ_cd:dB^BnGPIBGT%rqfk"[]`w` Ÿr-GKƵAگ$3mNUՌLJId/# ֥iVL%v;xDjpJX@־9ψЭoB!!e s \| Zb̵NxEβ[\N׸2 ==ʂbf^.C*:RB.{p:+۲4T(N32\pi\݌޷b6_@|JH/$v0\qXw=~l`Q>H=hRڵY}rs퀚QN!\2-K3^ѹUgglby,-?̳ lnM|QQ ~hS9wT^5Li{^Z)h-vޑ'jF)YbwEFX{5TmE/0ߩvf*VAM0$B3x9XCENS{8o=}L lGAHyR5XQ?z:7BU2׽`81i_VJ !O|ğ8tq0R1J*@}z;I $vq3{I[52:TD\El v[<Od>"TEG=ǐL68k`$!ŝjq`u2Ȳ9noޠ EFU@|-=4mpF%MIO<~j"" ,=^?NO8ufw9^n@YЛ6byGt|)<4T846DRRo"fvoC5$J7cZUb!g(IߒKx^ߏl@gjt b,ofmjS4-qVBm=I!mP+"V:A6\@닋rCX =V(o`8'E!ѿSIu)X(lb2gVRzeBƁ+ g|}g?Ҧ_E^ˉ[-7oP7B$<F$TiTW?؇vAvu{H:"9>(&!υؗN6^VL"2:pǙ֫0qp)SiEC!,%iHc̳W=6/ֿhh5|J~9*?( T*{_ l5ާ|vכm]]7UyD5}WT[{0/tde|}nˠ~8\j*v cM!e Al /}z\u}=/sUیW&pH=86D"saSv,1DY&8t6 Bb` 'B!ڨi2<$46jÞ >G'-Ssnd@sg@2%+Ԗ-D" XHL"I% }MRoB<#AVЇ-Qj_% I3AHH(t_̉$Z$x bADV /"4z VFZ E?P89h,~zir[fDO5k歧eHsNr-DӫUg.c ipm)RH7zK.4]n㡿$ꦨezQ8h0F'AŠ@nxngvW@`tžBߘH),H3<'-K OyiCgИ,,0c w Q DD~1[h2|M^x8Φ2rW|UI4 Y4#=) WUŤ?]O`|Ѱ?PnUкp0u: 2=UIvmCjT45sa&T'//\fAsgKfIΞi}*TpBM؜ar/8շKYrIӄmKsAf+teNYI2_9sWtz5NطԶߨ`{{Gx@ޫ#jr =zS $#Hzrqc:&ӭx2cUvΌs?ˆ]mk dg㋍X5w]k`|&0x;mKu@ɷ= Ŏ69b}噯<z< m I=m5 jߊ71-EZ51v[Zy6- o%ShMo8 BZ\U켧ߤ? i?QVÂe 9 pqVQ%Z/)<ė؜K&p6wwL4\' K9Pe h|Ȋ(-BqƦGSk~:kBlX{[-M^SYJo}l17L#}Zפ8&D+dJ{^֨è if 0kٔ㸃A=yln HϮzӈQdD ϖCw7dT,lqND(=b±T$tC"%%S !x]` ;i-%AYSw7N_,R֙fY$x(Ɓ.zN_5Cf'%aw&]G':?%kv4iݒ]ZOZS;%ʤ,-9[.Bٔ"Hx>cmPsjEߞmg9.;ť.eF~2T`=f!R!)UT jMg,nB@P5gÚSd$]3tzl^k1ͱ>'82v3s .qCjhÜ3pI㘳Xj@C a7x'SBKPq0l@v9mg%&h|7?m薓8 L;ԧBv]t0\wDM]>TYxRF or I^Tm*BGR0޳ {^t -Wow+6>UWNOmVWXLȻJZal#t4HT8|?V>뚵x۝"ս$;]ye8:Z+'A1xEJ![YZx<BhJ:Ӓ Y@CB/M4PtpӚU!ϞQNnؽg$k%\y2tY]g[)M'|oXȟn;:d^qWq~9\4 z^FIҷgNUYo\s>\Εk1uB>pz1L—C `b?m."j$D7tZʀ"_"1'BOR'Q`,B#ވ.\LQBzF1hzvEdZbC3NiKPa)~baJ3V4Y*|[-&]&ә!*O cŤ=fWugMAɢf}텫xi?N E S{S| jȳVuyREFYξĎVs}m-g cd2]]\;%lקB:Df@MJU߶% 㞙wlViRRVAUkӽigօ-|N7KayA: ra^hN,ҿmFL;RװكnRlkX$KC!wWI!{0ev/U|MHC.@0ED h$R5O9`L^.!KotK%ÞFU d(a-Utc" `\Fz5AP4Lc&zXZ [p9̦yɝ[g [l>ٶ Ӹ7j'=}>klI|4z{S6۞gwWWl|a~hKz쒧'}aTrjҙqE{(BxY;R}lW}B- 7 F{ )MRcz^ c haU0mھM~>o :y{yX,g_n0¥ps G>e6']T 7g=_tƕU՛o>7p;Lu_%b @<*iַ`i2J`G;Dl  Ϋw: o8D-@yh{85}#@'Y-_!P ^{]Wz2}9SK꘩oA//5 VZ+ ɷ7V<PVRw:t)Y#iV9 9=b3=]+7ېm`}Lfat>a^_Tþ)P bu{b/1{POupBBrPDY.?\SWB^5Fq#=4~ Ph}lMX0Z(z>|Zz"o!?\$')1NUt{~wS)dPS疃KZ4Bч_H4u.:0,RBQ=4 P_-3%+$?Vb<6g-!]m^;l-YAb|;ϪXMMHetMGEfɔЀhq1z0 DH璴CbA|{C82 ?<e F >!HvØ<j!( ZЮL늬n(d5LTQtDj(9,XHVҀ ys8{=CD pv,3[q(ė*8FlmH[xθ)nUH_$]7V;̃::t5. Bu8jtso0}H<-Zs b[Qd+^6^}\;<Yjr6073KNpW*0Uduz4߂zw|!WZ3ά-ث0lڣͱ.v} 7:-](*: q,^Ok(0}̎:bn7{,fi6_ơ lޚ9 /r0wCɚ3}E %ON- .+iΓEzC- o YʼnBx'y!v/B!lza 0/`RIdf+.'yuRNږ|\F-x,j$4𢬿=}P u1Mo4Y@Ep |]]{b:<;JCz ȁ+\-ё塶E@i&9ejkwsoC. 螲.p7qd9fIbH&;/:a#FKnbrL]{ń0U *tUĒ%Q9>kD+Fj5 ^' ɣ9zRq ʪɽc.2Pi;LZHgD8veA8 0/xMd<"A"f- uımo!q|UқεGU{q?|vMc~IPC@~ (7/V?R+Z)q}ӗIR..Qf(WgCK+wTZ 5*p`p[f6H'Buz JgG\Pފ^`ꑂT?5\\;puǪ)`i? 1Wxj+N7E\Jԁ`xzJ;%ii3ۈLcF{tdBiVaףemU  $nGyKԹ:- vQGtTHox2vaDt!d9PA1Hv ֳBD_:6{6tI{ԟA.ogT D% `iܦF1~ .CpQ䷟s00߼A}S0ާ-mGB4{:Uw]:v|LmM>7BoSSM՛Ct {v\bN:V\z-/1PUa;sNJ@3 ~gdxM#nqHUH;mvƒ(gW5!+7|e` t T$'n)e,޿y0_B3g7Něv@uuz <ƻ:=m]M+`{* }-ay韛9nݶeuv?]:uBVʬ颗I)䐠 $(^nEh]ُ MVឝ{~)nj*T!v@I%d;o_|/KR Qu̸$RxO4OU+H/MI7icیC!>j {i*]W -.SLx ; [ #T"ԯ벞LMnn^>)lϮ53u;qG]b0@]g;{TO>k(қZ:k$H0턕)  pwM=8H}bcLΟdvwȺ\ 0Mt| R7p"s TI@_L K0>XAZ?O8XB cWyA0iE庆CV Gqd/#Yr: X 9/%^\Є)[EszhJCR/ؿ3i{1DR.KT)')eeAd.N8gNRaB %C՘U$j }W͠x>CUaC|5uVUd8\K[))J{ q43>;qh:U.UK*шyK)K\;H}TE Ye4,m+*,# uc$EjioZCsz,IE^}s"dKN+)! dȇ:=[kHU޴ j'EB/4@T?K{{3&aiooAD%g$\Q֘{ T*!\E!#ც=k%՟c}I7EGEFQ3&O璦EftqZ C KyL\[FB^PzYCM}T y* 04*qbPySWL7]A? qZJ"Mg1\5 ~vdWD<#y%J.Aۭ#"ɚDaYI"!Ѩ3zak| Ko|V4' 56Fqt430c~\5G1Aj߾zӶR͕A:wzCo0&ߑʻ 5thTK{(hנK+A_(IVHjd5)ixJ:ܖДq4g6G1#%< 0e%OU @U7m"'G2^{pZ{XDLN8n򝚴“c#Z4Zh Ȕ_ Z%g~K"9Ay /|C[qHt546* PXqQTA$nJVUeF/JniG/GJu?Pz 껂[CeT9He%4 j\}zQ7nvf ymA19Ņqi+ymҲ57LzKGC4񿠞3?*H5KŐOߛOBL$ ѝj )yN7PrD}1<8:˯yt{0 ũ|HS$;*+.2Ky"t <$H8-˛N;?]VV%ǒ@@X#tvh?ytt\=zNSIpΐ­ԟ=[~?'F!^aBև`N+ߟ5^=xx8:~YqowRO?TKqz[{ZS[L$]LC2o9svMB;Vԗ JmP.1vY&ؿS&%tF#Chk<T zwU}TaD>[,R, RC09' yϐꞪ!U (I9W}R.֯T7 zӧ[6~S5%y?~/ q6\+j-Ppy b[$AH1%4t/:]o?%=o0zAg[~o7l9#zG! *c$ b( t)/#wLDPg;Cc5 TǙZ̆Tx:IJ5ŕ_An*[2#eg|cΩ꯱dJ7(4i+UG\ zb [,ZoӟTop yx@>Ҝoa"qڠS9^Bs'T}fP:eիWjTڃdѶ.q8wj}Xw5nU&&|A$4A^tZf[K^"/.9h,TUtWB n#S ڗ/NQĸ3;Sp$/kV0;|U\+}\QW/@xW|Df ; KVq@amLk5xL-oDp%Ɏ'9$rlu+$?1 >`^f:6$t@B,zHXY}cwaNT,/Qqb7.K\\F$_}G]0z>s4R2>JhFb2I B*$bxf;Y$9 K{*ޚ5Pխ6׎b2*`Ti~5Qo4qa> &i]-*j)3CzJʡ3\9NiYn.Rrɸ/ϙ`SYD+q8'I>u`MH)%\- 5*ӈ) Ow4g;<=ạn0M-ax]5T Wx63^fUM_puGRɂ}܄&cJ1X`m]̲.v]ɑauGzzćDܛ&= K{{vbQeΛ;SlAF^{"Hk&m9}nkxzv VP Ml-p`GLW[]w2&q 'oNQHYUO2V~CZ{pFHr2%0_Q1P?-#)*v<9Nwn잼hF)SItF^!+nCWJ)~5=!j{[[( N;GΔ;;CkPk(鐂TڰӮVtHH^ם`(1U]RDBi3~V4PX2an~F$4F8 сZyzOag]Py% T:7 rF ڡXT7mSqw .OM}~ySR?V>:Q<8 c16SN$4ēX $8Dz)^|]A&y l\r H_s2%lgu[ ;}lA9UTy ajRTԕG , k{A JJVҧS;ഽ ,f`V*ɬHbsszͫθ]@R{ˮ^,-Yl]B0j`V3 n '݀sPc1ט rC#Y kEMbW%Z%j\Ө,PJl+z+FL[h49/H%M@8uN- HWCg$ CcI ɸ8P(a~[bHc\C ?1n+|geAQ_B<& zZԇtAEDx]PBՀE+:eoė^4c[z]?rږxִ7lߘ"3,.{oG^Ug.s.Qu/.o >6D N5m@]ֆWHVyĦimt[nqE0Rwq\-єϱ~7uxps3fz;Uh tmŢxH΃'ȿmFTNJ7gB,*=gݮu=h߅X9uss;]aN#RCEDT3Q{YfO5qUiDtȔb^4U7 XoT 'TQ?ԯ}-@BG?jM]>vՂXz 5jTzنCjCQPuˬ@)޹N_5[;=o|׿f:iFdqO?56dVWle9hVxx^>B/OH@z9Qst3U+C7`)cP`n?DE_1,֩E;s=(Jayc)}ڽG \uPy;vܱuxG! IqΒLq21RgZg}~ջO\95A޹vҮ:Goo{vǣy{2+LNg>b*$]*d"+(.x>uM IKۨb+^dSA$KVEFK;Q[ߤs45: <#~+M3Dԏ '.5鷏oJ#`)lx. vFlhq> L;$drmr?Uð$S:i p>`K8\ k/,: dSω$ʶQLREE0G)Ӣ6]`3+{z$e4VHpTUCFU4WFMAI{Ƞ yFSJ&ȎpFr i"sRֺsU+0-|#7P:"2/:ِcjw"*<3Fo:/F^s+fs G7 Z"7  ZNP%9[жm,ΘDco G`"i$* R Ariޚh@$QC8bbiGAF2M427u~p;*L ڔ?Vkf/tK~B3^F$Z;[˩t?xy6W|}_n$?!9zQvQFȆ Ȓ`Y)r sEHuywIR)xVQ(OYx\ݹvnom)P2ΥQQVju_XLIⰦtA"X&":ET:qK%W!q法!j p 2%ZDLN#DJ#d]]r|"4 3AVyɚZqc#PG7!F"z7]0WGfzuOMqdpRY AMTOF [I L&TDXf898R7 #{ei\ҳVvUDM^l6%5.qo<ljpe! y|:Ggk$nq=gPtT.d,5JYBrW ѷ8*EXN&dהqhr) 8BŒr0|P/Y-(%B"(sHId% aGDiG!/- ]rD-'!Ŀ~GrEWKN֯'ŃNJhR-kgSKNTl )`D#.H2 .M=!iSӗu6KgVuKL?Ah}]X@h ;ZOh9 Ty !0)WX52ybIf*Vʪ%fF> l=*T^kyaJ(FqFIˎV vg()M_SJG^ pԺU+T!-sK-kPUHNf1ᐄ(e+6jw=nΫNiK"D:p^ŦPC*n+VƑt Gkț DA%yˮiGV L 3& 4-۳I4DĪcy&5>(ՄX;&+AQdF l39isC J.NebЊcYJA)@:4ɵUV [ILd~]q> @8ے1/PO6ٽ /c!zgg:U0㺏5clQs79TFO @L+lzD|e9QUج s}K7yZYDX@%~OA6cы]\O87WrzBgqlS%Fn6[AXb= ^9?W!Ӛ3;`ң3{*8 kA_Fxox0:?٤χypyNPY*h@čȞ=E>ET#Ag[{i!M o7eCk4uz:6ۚ.75ӮjA;u<βDmuCLz:G&3:蒅/oxꐂ$Xq ){vmk@̨ e3/E D̼ (Pӈ35|&QL(K/':R-]Rs@p|R gP6D3Llfܫw>|=@ 6Տ[N%R-B~ع:/"B00R=. 1b;FTM37=27 t?05 LB:ϛqs GS`gRz] T Rf4Ś_7v(o94J(4{l՜tC 훚;<z iр8(]C !bE_4OA32Gx~v Kqg}ĄD:|l A5C5)A4m:ӯ:zn шJC[^ik`#mmBz{vù=+6}(9) KX AK(j ̸e'?5&V'A8t @n #{̉, LRVqtqkMc-86e'5&> Le=r>f'DgDV16ԯl Q(fӜ}b%6&ɶ7(i*Oo s 1\CJcNLnx9@+zj'ܼxQ>rW4XJl]M۽sIe7e\e1wCw)M̌Y?mZjQ[@wN^O똳 BDљ#&}" WmR$6~eO`8Zlj%c')MXu1 |L8XjAZ՛S=z|~"rܛaF[NS*&nc:l^<T lf`u;sW{`u(0TFVWe_MYN=kG5ԟn;cmg8]`]w:aQO5=-*o~r|6N[n;uZ8w/dG?>axg펒)}|sU羂Rc@k |ϮݥBvH^m@`+ k}GryW6$&km*yP۝z ޔwF.miBXKnzj6| }|,돯oyWC` 7 (RFd@fTHpْpPI=7#<+NȦ=j6ł2OZWK"muʾ!U՛N$E2}*B,޸=nS˺kWݝkd8@t-mӗ?IhI}2GXXjy#q7j#3 ,ĉn:iM)+:tK9\aacѩnQ,xLId㾕kSHk92쀩!_^7S8 Q7UبKz-qbo?pc3<'3Um%vm<+>n͡7g抏au![EALxr5ҕyQPȗ"31&in:$ 1[Uo(Z*ܻ<鑍4]HoOyUc.R\z} Qt*8N?9@`Й[W(}AZZ@1$8 $p aA)dZ_jaVj$4.d}4ji)9Œ|xgLʵ ;\V7raw=oigSZ\NYםf;J0UN/ vpәYExNe@I\؋S'G'G/RSXAT|x(Bܹf(Y[v&K"$S2J_\c9g_.ֶ6e#S4}50!l43=a8/4U@OB4ϥ䙥Rɘc&,+k)FfUҞ\, xc#{ܪr̮Tẕ+@!S\>T8N4xeH,s5yk| 易@[`2|edK`6UƬXZm-&4"?PSf!DG523eJpb#& T %f{_C9hV \NwDF}< [ѼT3R"⪛#fb2FaOKn ry^`G[һ7Qb=X޶6s'452ʴ- ڜ ШoxB}T9jU/a0P'P)%\}b~'QΆ<p:M?{JP!%hiGB3tdb=NrhK訦o^SS'26Lovwt-́dB!߶^䯠f1?OPK73 PK0golang.org/x/sys@v0.26.0/windows/testdata/READMELQk@Wo_Z0VHR}Rq3ٌlvF$U>29g~à犨IDUt1̕ą+92Pp6Zܰ* :)Ĭ+sֵ |jLR$s?9]|%Ó*>^HqL$_W~sV=lu;mr[zR9:i*j4ZR:UjP44O+Ws$)-W=tHnYr:Hml  @ivXN(wp8L ɥ`@ B(<ˠT˕HG7wYμpB:}"cR6YIYBn7bo\qE[|TsJ_3gFa3DqɈ)?L>V`Uo`[w+D5bwrv!'HD`#O'=eedœts ?3 s1ie9[_gMH޲pfb."~ Ee4p[#BUkO1nfImBRU¿4<]0[oy^MFd1$֛n_4^l6˰L6 ~u o6(cǎ4ߴ.ܱx:bh9V͐8 (z*fOjHĨ345̰Dɵ3l.;l6ٿ+SL&[ O*lh3䢤l6~ NJR>BV{[sJ ˱xΥpF6"* Df"DPD^򣹃?2b~#,uc۩6BHjrv'c;,b.B']\$V>8kb)-*m{L] YU\|,lN3+\f43b.u^gSrNogŮ8B6LJF;U4J왦s=OC\6D`jiǞwhja7M}Nc]MV+GLEL`'^$v'з )Zk#yeΈAVfP- L;r5ieE]Inɤ%od154NВRqW90@2~/mPIN4lZKt I.r}h-T1dUfT k8 a a62aH9mNXZ0-Nȅ(9SiX28TKOY=l`J mA̧I-H2K*]U9|dWa:aIShM:^/ɽGD[7q$ywP|Fݒjr:Tc,1 Z|i̘G֦=Ͱzڡ]^JV%;RBlidD-YêL2T%K䉱g%ZڕxZSG%1nnja?Z!_Pk2,j.Ǭe )mEdq> V)u 9#ח'+f M6b6˦gFɫ#$WIv0!\P\zNmDs31JGEn 5fY0ގWӍiBID9C}9#9,H&y)\#W:Ikmθ>rVjۑHdY6[sBƭ~Y*&F̊:b2$ZjC"zeCu6[.uD8:<m<} Qy4wQ1cUbXچ@bXsfc?k4(J1{Fo(o33f[B]҃U,bڪ>H]&$Ie%1/M&1qd1PAKh>։IU&t.˂bNC^xRs%|\spߒ̬xFSͮfMb ǘZΡg{ٳ"6nO$ڭ`[Dj6v~ }a#7)$גe|v*7-I jۛ/9<@Q2؍mdLGS8mxECl[hzcNRM*"}(::%)e ]690*5I3̓(AU:@o]ו='W%u 23H|5)\ߒ 5%>kAf9V̅‡f̅_&㹥i]gGY(?e)-2!2+9ĮI[ee׌rL5>9zͪ#MBL 6fGZ1fOU'N)O ˄)I vMjvMka'âWG;c6/֟st`^e)m.t'{߲7a/N ^g?DGg>[sS>\œ]th"hxO]i2{ɮZqJz/;d䡩޷J"{e/0 9O[X1^̘Ƃ&؋۩zk`3w,bW$C*v"b:6]1ĝ+е> >/F.~"~6L-c>_Ɯ+9b2Mml}>Ԑ)tw!BH.SSD+Nh}[%|X88xpD"#FDG# "J#D,,`M$H]g#Dh/) (f g0aB q@SmFI(4T=,Oִdڼ<\7- ϟ@Lc+t@y "%Adm5R)Qumէ8YZ)_ZuJ Mt JkvNIPy@J(aF9V`av|/*x{^l0 ZV'k[9y5 cLNdhJJBk? rbF q֜u~rD饄~>+.b6wvmi>:YKxNƚ G.=|E%ݵ簱?9 :,H?Q::s:*$ɟ[xO?c~z@ւ?2o5K[}YA×oKX{hI nuy%~p^(o-ySKIź3>`,x|;g?xϯY"oXOr؋V劸cҫ1/{dZذAgOl6 :])],̽NǦ aQUU3\ȏGSG}3H'w8a9xL~7QE#+5BZM!}1$HҰv.9e, Cc6uئ%͢@Jo-&!>\OLG`,r1v0Hq}/j swT 2{m;ȇu?0n -e y_֨-\LЮ,%#/?bC)׍]݃ ?~7]wWp GީL7s)믻̛LK9!n 4䚝85pzx~_n_֍&L3|3Rs-Y^l2kzʟ]o!54 3v5kb}>)rb NVzAG}Ij 4!j'Gk@um m'K_n(=Cֵ3wJvv{|qߴ9/]^3GfU̔WWź;@> 3ӱm\FCmCff8A7!cd 3HK0l~fae嘨_pf_S+`DAوČH fD8CY:sC;ج׫d0"_WZݔ\"3"6nRZFW#2ASA(h!P @: @ ٠H@ S#^rd RPugdK JelRP45L%h P#펇Ё P )e (A y@IAMKYfEqlG}Ny{ <~ Jz$2y_~YeQq8v6+$a@/V妲+_"n>U;J<8_ua/,8>ٯ-wӒeͪ+t$;cޫ gt? ]q߳+]R|)u7fOl9~q NۏG}?-s[i~._9tgqY۞&,Uơ_ 30~Ď)_0?(;OY7^z9?HhnHYg?U}U_@7obF5`e75No_ۙq pjy1юX7 <94uggMby GFǻd'vEW JZ*.t(@F{"d iTiڢ'TÈ@dׂKv>ݒߟe [Sp^\gƁi]Qܥ*' 3%E+/'s{ wk ^RRc?~bsƓ{kvOe;&.B Gx.y=W\-Qgx nρ8#nԈC2S0YLEk~4aTπ MG?Y;уuKl{;_3OEL?8}Y?yjg fڶt:=U3Gg&fL!wEAUJF!HC妜;whLiM?[Sڍk~4ؚnD~Ha<yx FWݣ0#5fry_;6Q<^\_3qQޮ f5R>k bNq`UHE)6{ɭب?-^$*u}2B}'C^cYsg gc AnztO{V)vv]}+ƭ_f 힩c>Cr2KW{_NE-~_{*<ށW }3SY;<)p^`3{攽&알%G( ;#}OӶw|m?/g{U.:?=>U7?,jOGvSf4WݯŴwv̲>>h`5orڻ _LJ|Y+S_>y]#/M>Bi2vwNz'1Cv~K]qSGJ_P}Kݵ'{n] Zn8i/ғ+k}U)7x_' [v>p̊ywm䒥5O7__5ʼn{3N~T 5O(Yu^NskGC.fNcFݫϟp$XPE@.d!6's~ 0j{Ro⿂ݧx?׵OĤdn>xv9O=>4'[fXWm޻2lV<»wl3G'(_]|}`k%ԭ|Zum%xUmP?^7|J[Qq{__6yՓAd]wb V=Pnwlܮ;‰}{פ͖ɐ~j.~x{Ւ0].%ssGuu9UwjeZa]wn'&MIp5m0D.CT]9wyq>^%aѮ hW{@sPR7[NF){$چ  duݳƅEӖWfuf/c[6Xeo 6`Zn>?Od#weqyf`2w9Z:4k wl7oB-s+l_{ԼOꞌRzB!P"hȔ%%˾݆خެn+o{%јŃ6xoV<`@AߌӞfD lr77fbFz^@o=NcYoX1M&5z9M3}v='`o.Y]'ٰA˱ ]piҿl6>KTzݭ^ ,XY_v 3CcMC{I$2r_7wUUKGy?gϏ=u1S}ZlŻ#ww/I('茚UE|._qgl~5@^U_|+k.@̳s%@C1ڃ'K^.87ޅrK~Wo}mة%_il~a?\3py_?z2LrV뮫CәDiYEq{ONn~GCB_59緒CM*"aE]PKFp%FPK1golang.org/x/sys@v0.26.0/windows/types_windows.go{s8/)s+lIʺ٠HHb"Y|ѹ ZmNʤ2]_wO'nUtq~Ik]<>`2A־}X ԨA=9>=i@ڧM7l-E/.ܿc}!̵+6lhl#P-(J>!6c:9>~7G/U݂~(Qkw;}w8/?ۼ7`S5j^rۀE)OuU/np=׻lvyҪ ՠ rUٜ/j_xS Th˳i+_H1b32V @^ЦmN,r߻\ѷԛHKSM:vDJ d쌤$1-Rs/XꌦZa}G`45hꘕ$uRm/Ц3Rw)U@AS<9>* $86~G]?Q'4M3<=Idr9M"&X&/B$hSJHcirPN2Mh-'#7Ta~Ʌ%trr[E/𔗏~:>?EuiqN}An(ʦ`9uA5?TEقΉ L﫺E[Mpîۢ|}۠G s'ƣ_` ܞiPǿ6CߑB'B=p_WQ ^DҦ]^?ͮ|&i翀ZT?eN ׃Y-'s'8iJȝ e n )Dn$DH $Y'g1 22 niM:OF >\b+r]R4s RqdQYEj9bs&JT؍-"N}E8pa;s$sIݙ/k@%++ "(u@bJ݉d=`gDzr Lz,]ikŊ{ sYx:2AaY%0t]dЊbTAd@Y;XcXs!#iHbIf~$s}Bٯ'&]z .Zkefbv$%cE1%(+ gY"h[~]a,7Xp6e0c]_[d*/=̇7]cly7]̒6~o8q%K>c'O,w2 Z"g5u#J[p8,s};۰3LG~v<2{m'=t ̺"ؽbĵcMQs˾JCNГ>vl/Pi_S'em2zGGk_r) yX@O F{}ԀytR3>>ZY\#W^h'V,4qPJUpsNpӓ䤡& l85C~&~ b*q M$M0EAHh0f9\>-K(~BB 8>,AJ8,e$[8gb3XE. "F xC-`O&S3l`2uSK0}fEt,+; ?u[[ٍ$lmW$sJV܀MI)lbT̷lt2K;dgeD=qgqX9>J50s,gt8Fs;O(Bkh?"&GǬM2k{':Rc“+B vƉ .ltX jP८pQflldzR-4l+* g뤡hJrMat>67U,ͩX] tޕw&FbMi` 6+q=L&0Z;Agq^;ҕ3۫;)X"5bj/SsRu8%M;2mbA;qƹXRCBkA7t>E^Ԕ3 g 9FE{lP\[afᝠ%BX"t+8v%<1O"/3x " aA#9; s0a/X8%ī4q.uϿ>%ϓ]yY!1` &]v`S##qOzMRHƺc_Rb\X:pjp`^ۍc{ea>74e(H^V1݁&fTx57MvA_ _Yt>V=kgH .nοse]ܸ?J'n p<1e 6gG6!E qDki{hjwB+"S]Ym[}b$! ^Ѵt]`9;\l乱Vn"@):?a06*5rhyXAu>ĵvwI;0\NW)pHyѶ(u? 䎨_AzH64QRU'{9eh ^_ZkFvU[ p}&5ŝq}1Û+xC}׍UlDtKBڲW3CxzҊh>uE.0ʂ7%˓B %'lTq[H2 ("cΐ0 -+;Oؤ*ev9% 7dߞ_TVF1d0\R20 B%|2{VY (/yЫTwkF0|+0\=ΒdwMv&:VS\5yI,S<#@C,I cjM3铉2o(&,FRYhelba~0,{pp&z^"B 1ҷTFQBf{ r <rh;$9lQ'e_{%w!0 (xDO߃*Tۢ|LpNQ>L ^PI{;~Ғdz{>YAjK-8bj&J4XtXW_-3ob8 "ֱ0Xe`pjF-\'~> [;bJ n䛎t\6 ueP|˔Coa72Fvyt-b&!K7Nbɷp7lr֝,b׶<&bCFd][QV xw2$Y} cI&*,ܺ-R6OyoZTM[l nYz?hAZq:N#i'4W2tđ=O\s8g2'9қԚcv~t`N4Q9ABoc Dd 68ז.xdW~WPXtSl]cʤ 8fqΉΩ:dωY+3u.vݬjOieegWɬtXIQ#dH?/LB 2?t֋&Lva3u}O`Fn,8XV@إrdAvch6hKT=gҶ(}:P6d% d n2& k6⭳ee+Xl~ֱ)&,dM2[nUj!0kKhd`"hXi^a#K,g칞K]ey\:ER5dN_Yۭ2eyIuxb9|w𧯛0_C|oxS )L|qMv .|L>6u]bVIoZFK4N8V7&;rXgupegr[!%֙TaYǽ>'t(DeeTuTcuվ=gi<>܌{dֱ^JY=܊]ٱNXٱ4֕|" J`O`>Yp}cd5M:51f):34Њȑz{ej5FN7ڬaT4:=ǩېXLV։z&'&il% ;v&d>V~tnP~e'l ;nvL ۤ_:FC}} P1ܺS?Jf w]]FTfȣ9ɝz97y(M'S>@ր`l:୩R:(Ҥ8uLhonsɇkP;@cK60& Vk "7YΙ.51Q"؏9ױ"1Tߔ^:6Lk}T岥kJ.St{\#Xڈ'`11n<G rK 'H.p'Dh]a>^ }i7c-΄${b1n+X ~"Q]$1;vp΍Kɡlm/[*Սe̜B͖2%(/{t݃+ίۨܚCAj3>_XY1!D=;eX ƺ MBj'},-:O܅,p><0, ̎8xDo ctNf"=_g%|°CUOgPavpA?z?Yo("y'Kd ;r\}[wUo tGp kj̃ݫA3}[$þ-7Ӹ Ƙ?/қs2 k$ωuơI22HCG~(ެ+0;S&Lg FśTjݥq4]} V-zp0RWGƾt þ- ͚X]mw],~ԡyIv&>`ߖ>8E<"2'Ěf mҴcgzrㄴ4nUbSM)~ISvgƯZ6ATguX?:6 z ˹~}iݣ57iAECnMiZB{E2 TeJ&]+چi,Pz BD2ČgFt~P[x(]4Oo#') _nʄO}GH}~vư)@rV:;XJm䩗DZxzw@Xߍ KC.~HVtH'aHC{Nmjhv)y XP )77Dk}ǣC=!qCߙ vzosX;> T*yP|;n3:@Q{wAPHk<ނPi!P|Y'f]ῤNP _s5,]s9^LU^쉉Ê̊mVVe'ԬgPnXQ\s;wC&3 %jqPψxh\[G.eP=NrD}TAcWЙơgqx67&#wº 9~lBն A͆5X"d1KwcrŅ,M3sɣk+VdHb80nբ[KHH־}cıu+myV4Y~H"FҺ m>7 :?=mFLf_~ML7Q/\i2Dyf"wL9rSZU6y]Rs52(;ƒ(QfJG0?b2(ʺzlʤZ-C KKǰea$ ֡ ͸CE&Ϻ.NI&,/On QK.%->&Avr(UA70,]$aH )@4 ȰEU+r{ۚq,܀!۳b9z?1$X r>F߮gqܫ>:H1׸[2 Ra)ߨ/*"hy^Q |w|||-ʶ7 ,MQү1 v’I9^? HZCM87U!ݬ҃٫7q",ݶ 6,I%Nk09glj@^ᴓ3}ćVt;?;^d84sz?8~@#|"ÓۤO;o`Wedx4oȈ;1=G96:Q[K 1wr`^QW]<^_u5V0  Č3h_"D.V_M `>];lL 8AmKe+d=~ȁuyDy2x|N^UȦ%k~a|rvrq2>9?9?prv2F?ei+cwaX'㓳d<:9;9Sv$Pl''㋓tt2>>$~|t+<\(ӎͥ',S5oy9%Mpf;30oGR%ՏBO}|GhDub"*|//g:Se#Mm_K[wK Բff% +\vbGC5ʗ:|e[Ly?NCcO ExFR^[k@*J$RQNOe`87ԇ%(;hr|6O M_r'0aC sxz ƣ]n4/ay/슸/UKYꈒeޑ6$6hڼ&24Ũ* J#e| ̀5C50n5=39vdl? y,K쪯G%8Z^zGsWp6YZ nlPmR[FfKh3?n#/oZ*K ֍hS#0#pxIE3#kG Oߺ$OEvצEddd֬\4tz~.Z<0a3߹jV˔SIuzh'UAlQ{caD}ڤF=u=T) {I&T$B$iOU JxX(@ o] m__NOզ9y:Tϧyߜ~LN(}ޠӲgɰfI IU?MGه7T?}8??zy3M + '^m(W6L.1XK@PDAZ05vmÉN;Ѭ:x -LxxQ[%5k.؆Ep_<>S^m-(Z:GO#\7?r%q[o? Y; kDy'F+@byă}Dvgwս^/tD^Q~n\nE=0!`%j1~cZm^o門 sB[@1sp0`A|p256sB Ol:"I3'۪M&]]d[RIi3Ie'n ۆe骞T˳Ka +g$j? <f)wr"NWr xefr"x|5EONvh}gLŮSoj_S^72֘(v;T1J+yi>LaN}ڢ㣸ݺ˞-:'KmM.U&otGoCѶ8Vm]AOnI[ub g<7NfXR'5 |u[U]m^>I O蹪_)$8hZ6[xƷ#i{ـŻC0!Rl!7 /l;c9?41?9,Eva.`+ZŸ["Hg٣.ŔLoIڅPOVP:Ve.;%PɎ zZ%e]\._>kǾEI51:r+^3D_yM|es`p6\DwuW<>=)Г 6]6Q j[="K}LJ.sg!&?!0Â1фȱI lr||U'"#,#f8-^Ix8\jʍ)F {B'[Fe 8Q$LJx"Pt#=ݲ TUr/bR)$'HD/// v}yкMB/(:^fx‰!W]&v(+"N܄# MԷY#_pMSI'iK};>>J쐼YoC tx20E(bm{ˍcc nĉFCr.x t cdmEC!Rg\N|ӃUzgEv0MqbCSwFC;5f cz @Ԥ²gvWv\?f^Xq42ЕfmtA3&O 7wzb|2+b3Ш%fJD%}<>>"~@麗w2~䷲c@kl,6t(x7X9^/[+Qū4"vyq_鸉-v{ܪ'UL`,[|yv~Q>#}}߼6|;xoURc2TU{O$[B*ۺG8N^5Kw,`cѱEx0ã 6 &-h;󠵐pS3͆pC" /hϓu#MY)ONnV$%J3NOsa "a޳ /k\++ѽOhKCx_!-tC(d}JMG0VUC"Z$חup(r֗/uP6D/G7&s٣"eih3ټʖnMw1UHrU^ȆZ$PҶ.&Ɇ'n=ȆJg3lF۽]HC܃*Ivz]HVGG`$ٱyyE{xPL:s<ۖw@)8~MUoOGNĈ(uv*lWTKz:}59yʼnBN>3+Y=yWU/1t|x GeE0r}AN>!  t3Ijr#H@h;XLE(A&m ayCjt"N"'C946Z,"{rP\RrA #x)ct> "7s)fD)-\*dAP)(>Z.5KdC$^z׃, ʒx ǧ?D5sUf@P&*,R8a*>O-[цK%kH%׏% ~M)Rʏ3&xb`<~L$)Kp6IN(ѵvv/GrGwy *ZiA'rV.qDZx#r[ #m!] 2)`V"M44IA?4WiAE:xhHU^qd}&FsIS]9NxgM ~ȋ,9\!Y(io|i G2|eV'gIsA*]P. g-p3W^tNSa"Kq~i^,.8 pη{Ip*8JeS'[9;na(צrI?>m[%*Aр}'+hX)GV/j%OGFov%~Got;hq ?"ei2FICAN$k /*n09o>yyu_/ R7xi| ⾬3jОD{q|$0/vtG][Xa-T;iov^4/N(,7ն(Hrp""% ٘DӢ=Bڭ%A~CYz^i\eo Cz=)O\<;>$绢}ՄaX4@xDK!5jJ~ǒKwʖ%IW8=~Rgr>Aa_W{Xyt| rU=kX[ӭYӐP]C_t^I+(1dTܢ-T]65wcufk G/hS<j3~ {jOoV[vfrٛTHv$ @+RFeӥں].0vF?"ځ p!WQӢ~0JL]=f.З|ڷIK$'܀OĂ2FukmK;<5K.o@ߦAʱ{J:zFfA֔nH_ ࡟ U$  R 5{iw:6lH5㶮GF-`SUl70" 6%,E~yn|hʠ.r;k@̉+Ϳu%ozU CMpU.Knwo>ѭqej6^nCG=rH " G>-nh T} L]@u\D.- dP݋ j;o]aPǏeq;2W4%B>1=`$D]u;\1jۢ}]974H-mQ0.>7UY}-e:\Yl~`YY)t^m\_%;. 'sBG5Nzt}#EO&q\LwwƪMt,[>0='it?F3d'}L۹ "'$`}ǵ|0wJ*60b/DF0҈}It14,I,qzP/p *2I ]8h‰J\8|NJ,r$EpA|۫(ݿBwrh&sqRcAs2>&gX*P:?W]H)T0JЀh|yvjSDKﻉYUYkȣ+@I'8nfYh1?[Imm/OH]{}c}8#^\~:>##$>= daJٓ3Oj7CYK9|: f|Ռ`KCP$}C_[C.f63ØgLKXYWV1ɞ{27+7d  mx@[KwT~-U[19gݑn1w7=8d0tZ':={JNz r`d:5s&AB?J1L@<ӇGLȲ"zt vc@:c|P2W8 "DvRuC困$:3@ 'I1 J菏SD@S%ЙmxcYÉI 7zi-_6vA…Ǭ屦AP FFSpx#;`JzPm.$w+W0:(arDWѮ]FZcS_&d,QEbG R)SҗEn)8N/H2JkJԌ4c@M58a D'@ǼzӔ:ƞ`_E^uy;.xjڹAũnqH @{yoO7@?e- F?ƴ;B%_HA<<J}6ծxE9B/yݰh- 8-=5B.(D9"QPI!ĦiKTM>1-ߧ^]\cۓMި7:S(hܖVl&\.pAk6g=.X kZq?ƙwܗs-TJYgG6ccӵ0!嘧xx$‰`b-5m2}ŢK<[_T}|߭t!=j z~ٳq>jIܶN٬-J:A/U]w;qg+ATh|י>nu&Q%$TәluXEUW~|zqx!1m6쇊v̚Q?wғjBPw0]:P쀬s S.ʵόrה4& ڞ%wCYq#MCM)*az:Y7VRFu#/ `H'AKtb&In51:̄訩 uPVzqEWXՠ G #PSE`=c"2 j,[9p`|! |PJpî[ϸ˕y9w *PIKVdBȣ:l>zxKQ d~#OW.YeoS?q$sk^EdrȚ9M9҈zBo B.p͚,(ED-hް}^DP^a{(~9%H7I @1X˿NtfBNuY/u}X{ۗE\;ޝN_Ǧ^Z b] WIv,"gdў7%%p/SPͧ~ e}{_nQ{-GM%*p9oFHt{7(Q{↸ ?H'IsKN;/ ;Wpy \;>^G2ϻwD_~;>]??A/ݏ؉Uw:!TaߡAylթ޶$r۴W<[ҝ` #s d HoMffmΊz~ta߭TM>"/vQIN&ֆF'Iн(>j@u*9Z\wqQMu9a?t>"B&8t!ES;Y]r{]cZoF Qz3>uL~rap8NkU"_&Z%R= ^ * *$.(.~FUi5jB,]L"?m^LЁzbW/yݒ+~RˊʒLW\&Dp2-(] ^_dN:jЙ7rKcJ}'G)}0y?߫0oJ*؏Ϋy/N(v?]דKJwL[9=AM3M>lѧ9.%D+܃)B Rd%O4ۮʦ!0 ˶m2-/<h+-:"V|COԲ F <yUMګ`4wm3:HcC~|\?i+P}AU|gNi^CYida `n%0Z屒Mp41Zdd0zXzyLx~<>!JJE*P<[FܸK0(вZtM.|WϹX޼TN8Gp[o=NDžYgO:a(}@Wz8a 1 gM.9=+󰺘]pTG8ÈbR9/ctr>vb$.`ҥre`%Bglzx"{sͮtPsR9 +_=un@(Vn[tQia_ļHM!=+ovRGn dko4k\կ$IBH 9DgE@H2'u#u8.]cF[SWO+88& v})瀷nBg̱YIqL8"h9p'YhE&38pr>ID^fīGr^nZ `R$_~( rW^&_OiMȮ_vªV9+H6܀Qv61["AT^V~dѬ2n,:3A>Tb_yڨ}KprLI}ѢپoD_ ;ͼ`,H0"^]ĈN0;CL(RDHD bK 1fQ6v!e2Ɖ%Vƚ)Ctd\ LQWicovT3pVF^=\A8'Ü-?K՗L%fz%>mU&=Osl;}4O:_>3NsL`~HBsb>]:8Oؙ 2}Ktw F>MlWNˈn-COK=V y:ksj!O~n\Brp" q-S홎hs%TBMq,`O<uꂇ}IWxKۣFgZQæRq)#gR<̾䐡B4ҹKKFp:T51K  7Y ^;:V6e>L # *X1{aRb1䲧$kL4 #mkXe-ch`):PU@; :2oҳlk,q}8@Y<7Ԙ)YKs*(ȞkC?Xv=-+>~S;F5>}r$wB>(&nr[.v$Y 1&B|{h^qH>7ai,Js!ߖc3悗F>(Ʈ_j4F}fL~)5EΫ)ji+5ÌGFP6gTTuQE*J]MEjX1[/Q#q@F}ΣXZmcIW7Ќv;d̏Fjn׾K0~x &vޠXs,HTHv^oW`~.ʢ|u > 񼮅.l7sc+ A6NG$`#+ˬ|f3GGOiE7jBaMϔفCJ#s-C]OktPd 7bwC#s2c tǍr H8XαOMXlz,!GɈc-xJW풭&>UEX"H|JTX<ȢjM7c_NOAWܛB]$.]jNs%ɤ] ^ a+PC2oՠx9h+(oh HݡmOK=a݆x W+I"w&06]=&؊^^~r۰`ˮU|بdHmϊJt&i{E~ܪߌ\l'Hb з^!dcavRQCEToeȸRL$uf=ujZA6(- L[gfhZzL<< v@[-WXgjjoA4{lE4ԈȝGW-VY-*wٿTuKP WEjߴh9y{Y:UMVȭӗysc,4 HlOҲT[.XN. (i +tkԼT%imR%*uB |̿Z`x5+Q_һښ+T^8aOfg{I\B"m-z,J~{,eS_rD|SB'i2C7qp-YޅW sOn76q33+Y)vi:R*Kz_tdAM[R}~hMC8ϸ]ҬD X߱˪?Gƹ OLeQ>;#7.ߠvpgnKFmTGM(UwmiԖ信8@qIq$Ѷ諎HH5;EHŔ?_q :E7\q"US^D%w좫Cңӽ;}-oQy6N=:6V}_?gt-XvA}48M& ;]+g8\//L̟vAs ̡?5dM)oX)!܇XѼ> Z+PPS"o2 |;Y+[k9 0%!SÏdĻg~ / ?8_qc~A'̬:esgV[A\x8ˣ h,_ <̉x~J.A%1{ oO{GBW<;xfS 7~>ҟPf4JfnͧBҿX =\5zsC߲5tl=;L@u+f@]Ľ]N; Cvb3'(Jmm v-`AjU2,a"ʈfҽ8C_ 2`ͺ, b|L0ڋ<1U9*[ڋ4sp$xSj#1eV>O@~<RB;Ӟ_'K*))E7o}'Qv+c`z]Blw|+"`<Ҝw)e 'zWK87:7FE ͍/1V`n\ܷ`ʞ;݈+֝Jt4g٦*juZ$v^cZ`WZ_%(+ۮ[[?H+nᾈ  yv4gIH6!X,y$3wP,#՜xL*s?8Ow5QOֱB(lۢhN i;/DB)#|9iЮ!}qQU9[6j4xN,`[!qSO=ySpzxwT2SUjЌg9qoeTPPc>ۮ,(gEU=9v_uE^d໛0iQ:gY7EloT KUNt}Q*dKQq`0>] >RR-ouq圿fi-NL) zg4Wk¥<?YZl>I+8A˄l]klHL\ 5'5@ΞC:y ӝw)P:,qp#:^"ڷC{`HNS/Rtuجr-IjuEZm>پ*TP Erǥ'["5jvW5+;|ߐbZ m5a?g,p wn̠ffggJSQ #ިݢ6'L҂X*ǮoPmW./ᐜ;^VHhI)*6P!".VtFTڸ~w^oRnΥ%}CW6l*W1]3cQGFr#?2 pLs\2.MPqPI+?&:~U ]ܜ  &>/fFXt/< –>u = m2AN҂FP\WspC=cy3oNb_g#n^{]l-B063@jBXw:/ӽ7;gOFcѡP4$XǯűkX>sU"!aW!+- ,tлjuڿ%*o{@jaFja@m  @I=(bb3b+dexŝHbsl(v;Ƹ\KwgYc.- meQ-:faSLs?iouT*_R(A 3pAcjxv9]QPG#BDgW^Og=|r ;LFA n?as>:6)9w4B*㼦?:{XNѾxa7ʡ](67o r%^˽N8)?m vcdm0D;%ЅH#5C0mvOz`nzj1Ԣ]5-Sr 促s?s 1>"CBʁ8oS&EFaJZgEvE67#Et /\x3& ur̰M Y}Cd{NПUظܵOu,Jو?pR+mQWU NQIeA`~!ϥ=,Ou*y/t K١guq82爴 1݈6*[9`Qhѫt=M쐏Q wCvt7Is6yˢ:68gݭQ4TC#qsx-ı5Z|̜g50]7kMU0S*U ?xRnOwt9Or;>-&p` vh78XjeCJA*tFIp1z*:Ҹw<"pprYi+W,EhХj<'#S]C^‚_PJԴN2^t (d^y^NaNsk Wur|l%e?(iY17/sp 5P XLU띺]*<0ׅqsn0%ռ:}IbP18p!99fXGd'?8?Y~jT}hkdXJ6ydpmzJ7=yn=M9ի7Z8uݥv)ziWUfcyVص=6GE7ȭY0M5Z*EMjvoAa}j)T{`m EϨO-]ӷm4=2ۛᡭC;l |E͆ȅ#EP-Jvl#Ewu=)q!95=qA9OiH)!]+CZ/\io:oJLa 'Ew!|}Oga;'0]DI2𢡊K pS^;?Ɵo"R\D F`!8i<Zl;d,L{zy!i~wE&+H-XڝpɊ ow%Em(m{!Y?DMØ;,2 w71'FϢeZ1r"NbQUr[Xg=X \MV7]3AV&_.iKw}Ή1z%v)Ƀ2N\ig/yHjMHo#@h|yv)1V0dC@O)GgK_='[oM䈏H~ËEդ~;e$8"PJnPtҕiINQY_R|TFK4K<ԛ݋"|y"WB"\Ye_w!bLj{eO?iбA-}XL.?I̹)6pRTۤnS~aKoćlbǗ'IýS'4AۣfRhJ}Qž&n'5*bM mTN4fOsi?)T3P@^΃,WvC|%,&~&#Aq^2IswFZ$ gL5,nYL1 SYY||蟀>O\:6H[E+ R/L0=JGz̓’bǙiZ >+ iVG3&Fx `\XFˑk7m<̚š*&RX0_E4R*|;*C6srDWQ^=ЭTpwA b QfdjRB Z\O"s"HgʿN{]H'w͛(L X+i66\|7]ꮻ n_g/d HIj^Plp] V r Ɍ腱c]3~~6+pp )FCNqJ˚Nyv4{m*y'dn/}Tl*(MQ>;g qk QugyskmZy},fumg&iީ(y #an%W:]TJ%N)d^l bb®4xk򃵟 gNQ xx_Su01חϫX9\Jq?gsRʇ< M}YO^k/ET / pXţgiZO +f ɔЉkKȠa'Y2hO&Y à3``&גp9'@%,\+N%AFeR|ORUKPK' ~ qPK5golang.org/x/sys@v0.26.0/windows/types_windows_386.go|]oLͯ8yuZEi,NTUZ.*9T;9{̲1fd$|[) p=Pvy!%{xۺڌ} g(þTUԟ8% RjA ܶ&HIXFZ-sEA^G6}A ]CS\צ_薜gk0TF&++xiɧ{D8ڬb0PDKNQ=?O'ndE&ΆχTFZkOguruV^ob'PEd8WUo}4pKnlJhi~gt [Gy!pa6@lo/Ke7žlR%M!gtS8aY4 H#Bfa˭ZBF%^{^Ȥ=OQ -X\&蘬22&_(/^FP690^4u,\[Ao@Nүq,UpFq-?Vղ`DKýU}U^UF. -/I32\ ߑrY'/kWnZa08M~w. T+{K] r߸+u07ِ;8赸o3o ~!i&D#iR3Q%MI&;PKE')1PK5golang.org/x/sys@v0.26.0/windows/types_windows_arm.go|N@8T%V[(bPUU#]kw ^ 4sΞ9StRpqIjRZOVȓ{4CJu)!= @P]}Uԟ8% RjA vܶ&HIXDJ͑sEA^G6}A ]CSLצ薜gk0TF.7.WҜO724Ns56q^% ps #yZR]%*z\'e{0~Y3+2ݒɬLn [rl5U7 +֞%κ{6"Q7a*@N KO0l[M+?"NJu> bq'`׿m9PKRfkPK7golang.org/x/sys@v0.26.0/windows/types_windows_arm64.go|_oP şçs5K7t#KZM݀+p/6>hi~gt [Gy!pa6@lo/Ke7žlR%M!gtS8aY4 H#Bfa˭ZBF%^{^Ȥ=OQ -X\&蘬22&_(/^FP690^4u,\[Ao@Nүq,UpFq-?Vղ`DKýU}U^UF. -/I32\ ߑrY'/kWnZa08M~w. T+{K] r߸+u07ِ;8赸o3o ~!i&D#iR3Q%MI&;PKE')1PK3golang.org/x/sys@v0.26.0/windows/zerrors_windows.goM* |̳xϴrAHD'%PdjuOXU͝oM {RΩΟqom_˿m?bÅМ?ln??onJ2V0(6%*ylxTEtvp$7:Gs}L_ F7~7'}ssho^1Wy߼pՒ奔)Cx&b5=zlC-ʨS!mFk*9] mG%QT>9نTԟDf{L]Wd9CzFd>7}= fdY BV^:P:[z$[mT6vu5 c顮Zf7=:lM} uu5'مZ+*KVJ q(]묍ovgݯT6%>}ܤyjw}n$ >g$ѕ&v]RtI{}UIi!{K?B]}? [-^7p$lE}بwy}&N\t]M7k2$rX`[uk:E?jK,vj~մ^id•*V^Ȯml᩿Xc@o|~^7Ǘrow5tq]H6lm+xIXdoEy[4*KwKQKq_1+:g3}sgrFyߜJ/+n|-};\ ױ1JۘoN;l}bm}s8:yU/5|yߜ•m-NJy~`}Hg53_*wYyFIzf.#jW5lQuHy߼+pO%𗢦Z}o^aZ|8I31GADSI+ΛS5)jk&Y w|j̜ԟfNKY-~} Yv<ѷRݽ=rf$fVѧm/_gp[tְ;|洵kmŇ\>ɽhb>asZY1A",*™}LX~n}G(WK?p] }szo7*Wzf{'Zq3 HI1< ]R#Ygh/ |Y1}{0^GIo'WDm &|[a / W:#ov>TR~emU'$w'h0EI=-&eZ&My@.x / \>EZ}!@?A$%IJ@?+S%;_%E֨B$x@CVTw2kЯhnJˆ;S;lp5dzh[L֕n4 !N;ܲ-N M~T$;5NZtxȍO"uh0Sڋ7KZ#,V` |cAS$T ~; ~,կ(ٽD-DިN ZB<dD[ZݨO__C/&}aYQÕUa}(]W,AR+ӱ)5S}.iSK Vȗ+PۭNk? ewV&y!i77iJjĿ^L}Pn I?Z.ﶓ).@ U}Q ˰D1>S>;U</J|_@@!~@;4&+"uae\WEYx\@GNkM撰`x7VberA-}6l&AwZ.e<)!XS:5?Bި] {qR4^s2"c&Le ?8껤$gyC<Y"ou{]ӞfSQ'$x%j>W$KxV&/im_B.Iupɨ$ĻOkCҶ ޭDeT"4Eo>K_f(d8YeჅ}dI?Z[Ƞ E\A4[*@<{4>"@_.hZnA+Y'B[ZlI'M@ q}DfTM.S5ÿO1xPL?b;+-U=+VV$*mDNkIEU%~X sZvY+\hSG;JSPKS˼EU- p-Z!xp(ﴖǃ}%ʹLz] ;vL ;Ci0sfҎRuZԬd vxd+@OA1f0N2Rx^z*ܠx#b$; NeW3@qgwƩIlJޔ }FM56ğks$). Mvic͆,jm2L~p40JCdZizNL֪iu C|o ͬ2KgN#?F-\>^k~[ÛKnmnޛ̥a,.}f#\Kғ\;)3S:҄o2K@|'l&ӴLBP|z_,OAx @/-\7\U?caxH@)$i}o ڦ9O1~|*v]b^A|(l$II=,=B,8p䖖̱ٺq}ޟ"BF݅wIoLiiZvk% >STk)]~["a*~_xp#̛$w KZIn$Z|v*I|G쵚]YfBbͭf :3] Ax~e2ϰr#UѾh oCn鯹ɂ;X*o?h@ DRuX⃽VSY/7TrZƬhLvwZk{sђIzNhƗo2Z&E; Ŀz#?Fu3979E|!ܨL;sb? %kM/TmIAS+I˩95 wjx>$? Ǟ6vxW<Ŀ5*#|=~6n5f**fMx hFNkwi{TrRͅD!;!*]\|U$?B9ń <*hQBܾ6x_qlI69O_%RIy>o0}{LZ }i<+cњ֚$\SWpWZ8&%5)SgzOج?SQi:'K3 8w'{؟P)UVtzA0s/>5)~MɃb o3'*!?g^@v~1 Nko9 xLk}|/TKeQI(OO۷ObS@!ZX9m!\1Ѽ[#oBڮPɇ-j۹AaXfJJm9oIV՗ )w5v$$Kc˕j&>Fq ~7?]}믕>y|Ri_X>hC>}.'Q=>|Ŀ>]6\s{ Mz?P ׍b%m劙Bvg}Rw);ٯBSP/Zh땚6&g?<צf@KZZFۧG?V6YAJ'd [x7dےH 걙f,s |^-RkM)"c{ӈd^RͲ!S͵8P 8&u ~;x0]5|P MMraB%wK$2}h0!ާ K5ģ]N ޭ5dSθ)A1e].BNkNҗ29gUDu<17*=1=ѩ >8pmzL1~? .(Z7&_1We3edw '_*ao3_| _knVJ!>pZbv'p-uRtsx*m)P oq`'ﻪpvׅx#x_sܨ9:ЖW\!ީU!n7&!cBx=] 'tE:xVT/> _!lvU5+uOxo)n6&yMJX_mpP.c֒jgzI@}0B<0am=;Qs[#AB(O [FZb i;?!> mDDچY0dZvIchSDlG2g!*:y(8D.5Z#fy A*>_8 J[vZ oGk6hhU$Է\bxeu9oF ޗY!ؠXnVQ^ i#/=z }q$;m0L iU:W01UWSB)uV!>5 TL:\ilS$T >/"هs7 4-1T3-BO>`2"QNthͳK}:Q|p\;) 9@kI>(9֒:;I(j.}cj/wq!"(ʵK?Ԯg,ɏx˪>X)X ~~7 \޶)n^;d(ZSI>w\-cYd ğB)S)['O )@ 4T)UN)>K*C. Emtb5D@UAJC»hnkd} {֤BhƓ2b!>Ynk;2N 6H&̜TE>Z*ϵ}&{}@a\e]hV{m \^KR|PV N#x:fR4*PZ1N >sX2m*{N8Aky՗j(غKA.dcƷ/B,h^%p xC}M)܊coԢi>M O(V'PJ 턯Z.tQUJm]pcxVZ֭lt5E`= BSRFL99aL8Յx`v9}72EeFeuZ oGUN4 ߍ6@ ~g%9e C7aE8JҊHمJNt/xJrcLC'C3A PL!JQhh0YU,i>QX|_0y"\h͛RW~p"HJhB.3k# ~?P - {\x( dHFb6Sa[J3ݢ HCDiFlk:[9YכaT i7TEi$ynϲRm+`<^uraO>ˢŻ)}$O@a0sX-\dZV? eIxz';;?FUn }7IITjUQ؅Lznڣ 1,! @|GW5Mn,?JRHm7 >+m߶-a%Op$3nMP G~hF[kw:EBc8ת&0L(4i]׾WLeѾw᝟ՓU>ˢX>:b6k<bZmUT^,S* q{nCNk0-f  .R/k+Nk˪?3Kq۠.W⃽|>Z|K]婿Di*]7D4)xC)SxeIns>u-w~ @~?-Cw!5r)&|Oﯭ+*RECx]E` KP [}_ܵ>D"^ wLIw I ΏFm")A>">!>̲`oS?(}nd%6,f]c?ߥ'>q+Dn} SP ί7'>%b<": 2;I>A)7;;0S&jsNpc`š5r_RUW uwx'g 77(>wo>1 {v>~)S K?dqL}ԕy; ؆x{@<8!^iV1T'WgLPALJV:FkF >k]DZrdjnr}:?ȔB~ *Q} В&@ cCi<3&: T)5n`E?jҧfΧӚH@|U JOPxeԇ\oQx ʱ!*+k;P[rTmxJeO*mP8 4o7@2# @Fft;L=G~Ҙfk6iﴶsvY+-XeR5̙a@<|wMpb)Ha5z*>7 g[r2bk6"vՁOm ^!nZF]D7(pI@ }b:VNxzu'Zcv^Xtve8/j7Im*ǝ ~;[r Fӵ\OK̥|ֶ ă2KnH)@5M"] VN݃xAAa9(38;4+}왡wZkM'k>7jW5v>4,6 EuL1 fNAVIuPaO3 ;$!t/c\+fN cJBo?e (>ۡB$k}j@[s@ۗPƼ+t8B}%zr4#w*f4O5uQLRM)*?MY/ \qêr4q/goeʅP~::?3:k{i7 |x-;0N0AGg""c(?h9 \x>y*?h:kW D5ٝL3φ۔273:?UeR(˨ˡ ϡfUy\4?nM!&s1ǒn~Ø$ |p뢏G\6d&8?I8mpu30'4}+sM)_Vur L*y塰u|-.ǃ)S |A킠ٜxXO 2(S/ɧAc-Wfa!|bD.F ,G@K"?hn֜z|~~Fw_ٷL룁O`}*-/>g%eb$@ #[?5kj\\Dy:`5:A/EB7 KН{t ?”FV_|ވ 5y& ukguk+[@K_RL[KNJ?ߋ)םD`QBAI3B-kwbnKRF%q~>۟]` ]9DN"g=P |o_uՠء G 0hUx |Ha |_R\ju ީ+$qc U;8# )@7ߍR[}7e?x_NƂ#G2C#|Ǧ`f`T|@G+`EN(FQ[hS.۽5@/2'p59%ys;-J velgN~h?۬\JS&)9}#h͵}2f7WgP@8M[<op1~3JyS8 7^3 R^>o2 ] QJd,? AܤM=ȔDJwOƂK]YJ m{ϊzC*>s}|*JAiۭO-zvDq 9ˍxwo7=!G}MmekDqυM3MZ!>?q ?Tdm0%"@[h?, 4p]sҟCLtcZ1r{1IKa*Wɢ&)?B~Hti?vw%'ETKs 1UBSn L$%|?Ԋ=A޾u1ըN:xPo v3 . |!ϘWbkKS4(;ڿ\D"p}T7HtwJ |O[!0?? fkx!|#Ki=+wIQW}#4DY՚ʔG@Ϙ)pWsQwc~g$=uVS# g+ԧy#>_)x~oS8 ?e2IPnWVI1}LR)񝼮o㧐)N~x%EM E;uCZ'\GNodZA)XO뜕1|sH`op+2ɷO=!| \Rݣ+lp߻PzvRhb3!?k˪ۻ?@A^CAgM*CAA&;, !Ci?s&Y w6y`s@W38Jj}om,~7& P!E!|_~ىC{\aFjm{M7% /vM|Ady`6I3ͭ ASc.p ayu4޽D??B9"iS+߸hT!ӁT<E}}--x<m$?f69=M)p'4174$6m/Cp2BAH}_m~ ǂ7L?G:l l fv*S#;FD޿QES.>>-2I,Ynj }b~}FG3 5ĕi"A/oJs#oa|c 9;Am0In̏\}|EN FHyKɲ@>?Y%Oo3y&ׅ?Bʺ 'sZ9+ J7$/YڻKvG늢J?O,49>-ʬ; ^O!?N_\X j>9]bop_fj | ‡3ROw(wM |fu;4MNU#>|JN'? Fv75RAy;'7B1e"|@藵֒]b4pdx+#ғ}en.w)W7ÞxA":A2GH[h?Ki=!8`6OB"S |}J|X_HHAa} s>).O耇O#~ҽ^~?KSE_&(|S$\Tl }2*-9)Н-H U4E~U$Xϴ? K?㓉wC#|`a?ozbϯ"LopېL|__Ե'Eb ߎi++7QV/(k,LƂD/l p|zdSyOfop_m~/m~o}~(I~pm1H #f_@$*|c[{M&R}k^{Qt~nճ).* [3-).e][o}2> ~^rEH!|6Ѵ/o|=9A;59&u-Mߥ3"|P\Dv/IIyFGRS |"YF4<xgNu|2}o>i59gsuy;潸6BߩLʣGNBe׌Ϗjtq8;߉D|?9=e*=MH!ni?{S"_QGɊܐD,B?U2mS4(ܵ1 ?6~~)"0W;"ډЈ1ҜNa| K^>ȯ0ÕQk:Al&0^ć)&{)҆;B [} j~Gb'Qv|PiV -.)k)l6sAA>?bOQFҢ\p~pOi)~ ӟ[C ?_[pW֮J@75R$A>y&i`H>ۥo&FRv1_OiE~2g;DUWAݔ+Eq!f4MCOSh(~!7Ij{ď3ȍK.|o? .և;C7>T8%Ӧ O(~A15G E >Fט"ֻj^7@NMO,8Ӊb}}B]~kuȦ#ANʢyM^c-Yߐ5G6eEkZYe/HwmP%oo5[݈- ǿ$r4cwO'6MBwE-0>i>V_`2$?w;w v퓦CAѸ\iOakE%Z>QI7S D8>1!_iw68ݙ{!inLN0~ؿ&_ |&=$FA} WMpWMw& ?ו%01m Ƕ揹 Hߞ1^ҷ0ט@@ ou;@5>"|jI _}_I^knG@Z돏:~Nm>D[~x; o&ij}'详eS/[mkB5A}o'&(SV c'Ů5)5>>rIv!?Qۻ^`:Co?@;|^(7 cĽk7U,~4 'I0>`U@!,$iIR3E ‡߾4b wnV͕([!8^ϿdYQF_(RҴ-V_[UɮDANfN9 OTS9OTߚ y//=>qMc|id++)֍Ϟ_o{?5OM}w wFnL߽0el?ZWw>$_fSfQ%IC~uSpϧKgGD_NN:T hi㽬؟vt^)H~|p~4tl$)Vzбm m7sE ]ʇV/*< Ώn~ 2QV4}D`|P:y ែ\NPA[e C#@5Wb;(&5~V?s> n6O|I/a6S8 ?_#i&nA9K?OetS(A'WL-r}}TiK㓫q/MKP ]ۀ  俽x( C> վĺ~B#|_[;4gf~w +r߇߃̃t"#%XC0""q(J;n_a}~S;KNwꟳJ}WX߸1Ɣ?<??K?lF$33F1?uh#`HW&e6o1 *@ Z|([zA~/墾+T!?\q ?ÌεF |__O?E}~(STwh~Bj onY y6_}~"jNPA?hT+_zY81?8Aw+NՒ ru7' TJ#[cO.V8>>)ѕ˼\tᕮeB k+OvI|\i7m_^m~ |?ZF O5K޾0>nHΧXb0U-sR !RBMl)XytTIJ_I{sI~S0+5oi_?oA/?ȟD},>tgk%DP$+Dj ? 9S Ӫ"O*ͳjF1Mw+j.=?l;-_R%5H%ߝOm~T] O]~ZRv7OK{MR;6kC 6S!bGهZ9/UTNj}|2φmG |g?kuWz2I?c!?wua785^ 3袌aa>yt wo!nJӮE#,E}{ ɓb |p:8hϿ%m` .?*օv<"}jb|_F ݘ_IPY w߿KI`)%2S=Ͷe(S_2Q*2}ǂ}̬b A:A~faV6_B1E֡)"?}ZR}݋OׁS/pSkSPoMN.f-HPAN_@/goؔ~XS4(ss+LGzi 81؇Ϥ߁JY |*L޼I.Ïi\biR.?}:']\Tq)SE>])@ 6YyqId| $OD guDE?t ׷'X49q'@!'/MKBowqYa{?pvjyQUw"ifME#|o_4k FhskIA sMR|J77iD"M{茉lƌ dc>M.x`mߛI`o,6 HʔiCT33ׯO})"#VcsZtiCA|fZ0OWYs!GVwub~p 3=ͽD(#s>Jl~SE̙Mo>unooo^~?odJ1~Kw]Ԛba7 G܇FGg #{sS 71‡3rO'$|Qu&IcN(p`\ Ƈ愂zGzt3Ko2twA )wA!3޳1jǾ`i耿gɚwhwCg;kZ.Ma3;y5s)$_pC[cgTjCu}cҡ ~٥i(}}9OTB5ԓoWp$. |RU?+?uho7O1|ϊMA-L01KG=U$p>0TB$8Q/K=wn-Y\)%;ANq_DžW/ S_KO Wo$.8/e%W@kc4Z'LPAN{?D Qt_\2i/͒&(? Iޘ!Gkd FA9U/zow^xvKe6ޒKP [MGr-S@'*o=w&W6 sv3bI!/c6, /ozOoQ>O{ߍZ=T[ ExM#~YA6θ)HѯoJ:{_-3>DQ6FΥ}(JlNڕ3Ս 3.7s}},Xp_ٻp}[t+?}·^ 4ڸrZ. ǒ֒]jS<6NBɭc'o1v0T[lU%3\F[τu1+ d񥻌 =/ȑEn(=ZŅdMNuTw/˾:#-wb)h R0uIG|c[D:Ǿo5EDf+*Hy|HBA.r }׬WK#"7_mnǦB_&>W7I~dk5bӸBc L۳@AK5)f?;mMgArCzЛ"[|oO4M|V>x'W,%e|:O)pPCĵdes$7 ,}uoz?nJ~wZi=zʸ7t V>'Xq71V?k!AZ!S>LDCKR@>c~7965@9?Kx_ne@hR[#98MD&?L|(?̟2XA>V+Bi6 1?ق&o |ЍIn\揹wE$4?[wǞAN;XTw}|w[C3Ɋq9L̯bEW;]}oħ@7dSwVU|紐Eɼ,N>X\ap>w\[qAMOs&*MQd.jmoE>!|WD/= lBٵ |JoPWPA`7yjF_!﷜z LϷM68;滴ۄ8ߍ}h1[ˢ uKWyʧ5k;ezF,%!94s-+`JDn3OJ񘺌* ߀h4+C>qNq{A`uךBoEf0xcA@f+_oIod|C~T[םLAb3g>_?3.(~~o,o7#A@:(J{K"fÝ;ckG۱^[/9νs:ߋGW(}gnS ZRj"|+U 6)WδWf.o3V>_-keJ]&h6mu.5%Xt.=뮕L$?_MQ&8nX0g |Z@ZbVP-xB a=_= w/qFOw؟b^$׎Oܹ]< ?$LjN7TSừ<Z3HŦV>=?Z6o2h*S|(_Gxܤ!NƂ~s!s}P-hޔAA%r|Rv]Q>r{[)>~ #?Yv?/᏶׮ ͑q>_oQ=s|5X(ݶ0\,k}5I _UZ?ܟeK.Nq>WҜ٣D@@< 6gW5hdzmD v'%a\Sn"ԕ ?%k{ ?25XF&ESS#WJɓB`WTf!|.AcaI¨dblp>vyffP0ODsVuϋI|5JYW\s5~S!_fV>0Gb> DYduʉBkC |V^hqۣ|Z|Pn ߈o3?gDvg$kgf(oGL53!dޞ$~B@Ͽ~CڕI(?;woHsl 8JB7h "FcF@|7Df ;w@;QW{ WIuki Fv'' 3$L7oU̺}g򻚹P>1??$8盺*cJ>75QANm޲G ~S+*|_GJ?ȟ =*brBBA_ؠ;͙li7Gz&Zv m`>;ڽ 'ŭb6ϩww heCN4!o-)@U(QJ8?Чd16_q)l_p>qh#_ n5&=E쇮mN9*!wɪ6 ߋf'LBoL35ؾ X4(i*;E'_@4E.߅K!$ϛ.+Y xЯ;I}Q1+y1iȷ>7Oۣ70u<5g H T%= ?g+t\F*$A z4NPAu\!A\ba&}nct)C){A)S"Ȧ?ߊqNфN1C2'>S^|ɀ6JGm<wQsO/wPF uYUЯ8u4 Aku S?_ZiIe|bc'0\b~ǔ1O*A${vAA+n?.]gx.] Oь8ߔ^nd_%P =ߧ(PZ74]4?_R;`F1E w6kS8 uָ>VwvsbteK!`b˨!O.G?qlp\&]f/Wj'O>)&2QvɁ-eEnBH>ZW(K}!!|SK3G֟-ÃA^RR^0˘t% 䟀1 1o1|.73Qg73K ow8?G'wvbz GϤh 1n;eeUbf_&{~,\O[ eP*LFqRT0GH}Mx'_S⧐|_Z2Y$7TB)"1%E_/d )c;XBZ ;A32%i)f{(k<.9'wCsdhv}J3diLWo?ǘo߭!q[$ͺJQ62}nbm>{S]ͮsonc)$Elc#?in}I gԗXuuk ?ϚusσYvt#Ω)p'5Xs.bQaq'?ܿS '1/XbkDjYT")0FP*STi@&)*/ wx.fzA[6֟J ׽լ4{n'ZKvͭ v>*FOg95BAMOWMI[uzUE=LT6^;c[t1;;M%E)͟p5K;g)@>zJJHH#CG;_@|e-+oP~0>![JA\;瞓N3QcABѦ=.έ7\4֗:z"5"e53#7l1]tSP~du!E)ٌȾ3Rh17?"`9 ??_R w' ??`9ӥPAsLEo@~/Mh7e-H4p2ۿj*W7ݻ)P'q@ԝ^OLm¸G!#~&!㓨]!-2 vszN`})%w#;##Or2LDy_Uiۤt m$ص!5܊' (QQq@UVNn6Wako5K2i%UZ |__:|~re޻1?v=) Me(!|PÒ\kAoߚΪtEWxoJբ@*(<?MM3Ew!_ظ}8>]g@Ƃ?Ey.ODOze*S8 w5nYA+]3/ 7"oݓVh*Q̆#A0?>Si|N.~pbN?Q́w#3v~m@R^ *OM`ؔTyo ZG}q nwQ\F;HU5MkkmE@A11 5O9#Y;NE;)#:!S(T`~fBJF6G,B WIs8ވP&+R}ksVP#߻KkpsQ_{˒]pVHb% vE}8hYfW]/h{,k T\3QtDwR$+' 9&TW]V1݇w0Pg7wQm k>W?s K~\?IY3CfHNmJP 2mZ8\~e`k~8>*m0-bk~<%M#E#Y1kO. ~迒ީOC_gWHX)@O~b;~MoY/WZuϪ-&\oňnUR~C Gg~*oZ;}JzJ9򯿬8*">6o%DnX)I枒 r!/iՐO+IW#пKu͠5s{ɾ@n)~&JRg0@8vOlߜfb; _38T?KnBu~d1@?k+W& ͚h|~rvQϴ 6>fk/};׏SɊ1@?7/3fG!fbhfX*aU4 w${'~~}$ ֿ?۫<sj05hy H?)s`T>(T&#Ϝs}la1g~99CUJ {3ؠ O ?7;axMmn~vlwI݄nMu4@?´J@e:~Gw'Pu_^ȴ'98>ӝM\??煏 Ggnߚ]+0@(Fr#}oI{ צ{/@Ɍ*=!kR^t%$R-~_lD .ml2`$sHHy& ?O;dvplњ`dՒ<2N;%[_]wOW~eǶ?}`&MkҰ.1}#f$^W%i"ɳD@??ׄkV}[Mӷh5JiFAm1>Nqc/>ΐc#/~+*ef75@ M?6-e?BҜs2c?ĚԚ}jԏΏhA9W9L'@)G$1Jo0~gG)iɦ5@Μv|'Z Ї{}H$~.cCmRfH58chL4 JXwGQ~WcJb@?ڿrS.g'x6YybER ό_~/_'~h+yk@ug;gF-ֹq6}^ԟCl9cA 5=HAwVԼI:?xgTYm=X Qw$gf:KVPA_NIeR[Z~/rOH?BXڦS zo~W0$St@O,)Gh)|IeZ)dr1:kJ׉Gr,X:1NIrin`s(/yկr: @8G+$97@ o @.Nzm ПoMXw֟ y꿽~v .?_q_QpD+oYe Пe?]wʦɁO6;s߈2O}IsQSs7csIid'XFx)LY?_(HQHH@꿮05'twٓ@?_iyL1d?ID~?ۿ,yo9( ?`95YKԄ05@~}[hVjkYܬlWCkҧg_od?uGwky4@5=;Пot|JQ"S5os?Lt ֏7lyG_FAQF#n0@?:?EOyO l슄~4Z_O'MB!fĠ[暰3@e}L|~n } H߲KN~ҏ⯆UT{ͽs:_CH}@aޘ'Em3$rЏ"Ë5 cu#bn  oJSukbIj`@?_c.I lm @es܋TTGafGvI/QQϴ[`~tT$Co􏀾>ٷ2d)Kj<.Q\ّv=ɉ(˼}]#YM䷡%+?9[I"A:Bg~Nm>lU0YgzkNxTn_ɢ>LO$g[}}S_`SܿqtčTxW/Zq-] <~wfd6ai?%73G"KLH݌e VX~S9Qmf?D 'MmOl^ݾ{$L379?&s I{ԟCߙ[K_'+Ni݄}a_!7(@mI^I`_>ׄw ֟o>s(?s)ͪ{'*m'X>\pى;П䟼7<3?M?C/)cCH2ٿ27wLB۔)@0~clQlc!8]_3$34g~} E[ Qu  Qo?ë!hý:IID3Sɖ+f,j0 j7!.$:-dkg;þ{g1 Џ_yWh`e֏㯂شOk~<57rF'2\ݾA}Er[`l?ڳg;T]#)5qX?lcWZ$.>;9U-c?b Џo D@?_'e?2 G#ȡ,BQՐ56?ۿ 16)g7J_ɴɤqo~~;ԏ?~gyhm^s}"}hٜg3O6Mw#i>?iޭMz~1X/M2q`[f~t~dOl߾f'M~fVUN5#-&= k(˾m{߯|xe[/S6Q†d=EC^m=Zl[O I/6㯸0ÉM{z/DƷy'Cq$} ?G߯G ~t_S_WulCBt%GHzRZ]v;}y &x'si|ț~htQubUDPevOxR%]oC4qx[4.2ϻ П)&X/:IK&ӆ~=;RV}Sͬ<@?J!~|]xB~(s~o8i'Zh㐙CȤ>Џ/' cM22@?_wD/Ͽ\YC5&T97Hj͑KJJ 0iAyyZ59E>aj@Tp궦75@UXT<-/뛬I\k'`җrk>Ф?|{~~<;FJ6{#٭RIh>PI'䗇Ȓ+E۬Hxz[^7uٓB G]6W8ŁH$E*ҩwr?M?}nVۼ+Y Џ얏1z{JS@?*ъG.~Sf6#K+bF 遒hHoo~w>E!5!~zG;>ʵ*OK;9@ 3lrGIO^&}Hǯ/ @uA&݈ZÀ}hsRU?>/'~7Rc`j&&my}mD ̯Q W_c? %x_迀t&[~g@mL-v$q!ݽys͍Z_56>aM 6@8i{!ʚȂ9-n-&UyΚ޲K/~GNk (ԴSi-d"f~[SZܭ.8Ba*D kZ6!6>UwS?x*G[tǜZN$)Bп.WD&%_ey 6y/HK?鿭$WD;w@]N\AA='8͚8_?l/ 5IiZnM 2@Hb'X+x15]oyNl$ n:'q) _g(>қ1@e%M [ g~G'iØad,b-/_u7'[^RZpC~ܤ'X2bg3@?ި} AtMuM16@?߻,4f3/Sُ)`~%Ϊ9\?ޟ񹓇*5ag>8?ʑ4#3"3lHwa@ aT<.Se_j&<3\@ۈ51@x~'\9g>MD~<>Uo>1 Џ*&~hˬ~51:X4+xK!6\o#ۼ @zx@4kٽ/6JK_ҿ&{ky>kDҟffw[S ]'ߒkS??q \F7 Q7̚*c˒K}\?MVfW??t_񖚕vjO6?пL:]4 ҉2{֏G{>f&]1@}l~T런ߟD냀~|aGV2B#Ax=&YyIl?iAgL_Lx+J>R ]Eo/ ??-|!1Niϯ0*\7SY4Jk^@?蝴1*DFc_fVk3p'c9j46@LV~T O^aY'S @??wO|ߠ6@+x>kˑ'nj ?'X?_ ?N?G@Wsd۷}yl*5+*T7Nuǔ渹1\?+ތ:;_ Ov1}^h){>f_q!yz~_IN?eo`l_}; E֚7@?_qe䙲GP^l|uP$%$\ D!k@}N_!?VA-oǸNVW`;oC;ӷ׏}jډ{W;@_e6rlx6 *B׻an\{cA7 0sjpvYξ>d9_1pQIՏ:1Fe" @ɪEIBOVĄ g39UwU8Ovw6wN!d(jS~Eθ-O=R3!Ķ.`c@~1O} `DW S%р9+@'"~O3 HA i0`*LA T zU0drN,'@%@ʯB/XW@6^IkāoK(Iş90 9Яp\G-Oە)&>hgGn:SP)pZKvA@#fNsڋ)4= ,<dgP+]A uP>jw*! a ,"qm |=x'i ,]ʮbwsM}mU <&:Sn~.x&Obu7VΓKrCh O~5?svUf]wDat շ0d4B[NZ#fM"u lhR\ ɥPnS4xN[7m \<~V!5'Zlߕ cr]Kl?yyZ&-3hk `A?XUue[' [6@O=ݾc^S7 خhҍYl瀷iWEVcuCm¦ ęR^Ю_l4ODS3f&V@JAIXkS]-nl wtB7kRдLAAQhTKPZ턲& Xxr}iKZn ē &ux)2.0xOwW{<q ԓt^! ēi!' /DyB*9xr)Tegpʮn+ Epm3BMRCP䫣\K@]2#>F}[iO81q+  R%޿6= \w;RBo-8alKI DD)ZߪVAS gwɁv "UF/Dα !_~d~~c%-L{bO kp"nI [ҼJO0yWC>[Bȓ1)0W!q &85p2wUC ڵrtD,У;_qSnn @%\\Sa{ë]9u/`g:r"p x)n[hV*Pk~dImGceTeU% `}跨R pE6N0eÀ3 -.0NW0ΐ60<]Da{qF<o&'Bʶᙦd{8!0y2%J:`M26p*9"OVșp89TEG6w dI+JNפAȓշҴc'ˏ BГ$U:n獀M IŦ^80xrMu?WioJ3ݺ(a&Fug  4ͮ+8C}%M;xr)-$``dR~h]&͹AʹSC5{Pݭն3Zu%ߩWdׂ/l`WҦ[ 4Wn4<<*Q}VjLHI @C$6C9|9=IJsӒg9 JhL dѧwQm 1fɯ"DCm~AaL<&<ܩaL7cH]ǖ /Iȓ֮N sGY<>ZSe0xr6MDu:\U:6kzߎR#xm2S怿iG|iC15U iPԖs7)/.@ >=Ys%C J-i 1ܹdI>_ O[]4*q9Agd\P δ'TuuQN5`~ iK[qA! dMw.*NRJ}BTBh~-2 Rأmb)P6c̯ u&794zh$M|4`00B6%!+GDWT_3n.1pȬ pvKU¢{d#Ƶ%5lg f%N-hM32p\|NrYؘgN_!?V_k \(k):4^"^M00$gR~4[;Rc`dNirВ`3On$5[l}0p~"IM,JvyNA˴Q^B JS |vb; >bMy70&qOLræbskt ԏYn(R5a<1;8ǀBR<k 0݂O$&~`'\ ~Lx6sK>8<u`“UƷr `ɔ5N`]L=yql<2MeWI^Wm#ֵ,j((ZOmf(b]pwreq X铽g4dbƗ@U5’ZQ(%ϔߚ0j͋ezs= 0(Pƣ~ܨMB Rnin# R G@HQwuj"%JR5ө=1\HTG&J$W qlyqJ'TQ\__t+ySCאމi_lO"3Jy )v9(!żxsLRdSm4RȤ͙ܐ\Yp-v"JM)%JRZޯd6JJ)\]jucB zP}VҸ<%F1~"%]Ȏ=KoPQ µ#[VZ2rr)]z#2rv8> eYsn((?ȖթoIbP_쩼[kT,Q*H;JKEZ^w RQ_Bb?, J '-ӯTJG[ ࣡?a pŔN]C)G9eS$P&L]LDRR+hMFwZ@#jJs}lyܐvJf%R]ce_*ɅSbbwIyRzSn ;EB (ŏ/Zʼ0cvQߏٷZs坡_m ~.$!xG"[]@)k$ͥNO`C)߿T'6?l3J/~'Uئ߿DE;ݙy,2MTd7QYT,fImYf녔-JژyZ$̵RAY\Ir.\v3C)瑢7^m \dzC)WOU"QʋI^ɶ\/E u}l;*Jy(7K-$ OQhV,JyJ#EhE>MI3G)vIb6LLZ:)P=a:ƛ^\ Ö\?Pa,B, *?;B.(׳ YGC)GQQӒ  \ cO 8JxPʫ:JysbMb P Q͞ir[J) _qߎRG)E4 ^^@ٹ@){4<˲{R'˛S& it$r(;r(U{[˄RNy'v ֒tLP}B3XKeϠ_,bVCYjlv8J9e{-QDwRkư6v|);*J]²jPJM~Ry-ŗe,|,+erF/v~(,Oe(?X/$dž}Y$}~^.e'C)wOe,OT?J_{M 5z1WCvaPa|oLԲn(8RT|sH3%Is RAYX@)98SiY0r).M@gJʢ߿ {볧S _}Isɰ/6B&2C)}YU ΎՂSd2˹}f b,\h )k \.vdruabC)/1OpC)b7,w~2St@!ziNy%06r}aR GY/'0 b_yZ10Bz1cx"|y)e2_Dz9KP/.eOox^qOT?V/!e'C)ՏKP~rTޒѰڏ/Pekog;jyBU7(Qv3'eP/9b'-/E}<Qf BʮJY,*ePaYv6%/5Ry-ŗe,|,+ebnxXSDe[9˲rPʤ^DE:##$[Ne4P1ʍ4]ɶNiP)(*5rS.J˲C)9dCO,;1r5s& sH Hۿeo@_Dfsj?CI~*o4rQvE)ǐr#e'fe10C)߿pHcgGۈwHcwHc(TޒaOL:C)Gᔖʩs;eofyc((;XC)+m \/My JM}ISo?׀ y'\cqjP qU&;xC)ዱ~;~YC)@ay?JOv= l0hϢJGe+?1L3RjizqH(gDԜ/ Ra6wYiPnX@-H xZ\FMQc'M>Bl(g)~׸, TOYzudBh(g \F S;!8JYd%P'iEIk(gb!h^9r%F9 eЏQ²(QN7UHv2;kڟ}+<,\e9вDz7wѲ&;UW G_͋E)AR!Ri?M/R^FQ\Kבj¿s,w3gMQ )&}U䩟iN FJ!jHT:f((%wy>lm:=J)( : nlsF)zJ<}!(߿tS _փ EW;i+ݙ8-SZ_OrMMG(mJQZEF9GO( fIr2[(%.2 J"i!f%@)iY${R"Z݉{'dIeC/Pʋw1#/JKR^_WҖ(3OIQaY{4B,EuZȌ/GO13KnO:J9yJKe_V ",kiru:e%J9'5(O,QabnڜZ-杤mbK?T񣡔H1op/C) fB)N[ɔfE+(x{q|1l7R}8zW%-]PJR2^{Z㋤vўQ8hdC)HE!rocsLi* Kq|);3J9Fe/=`|q(W6 KCTq|"9‘k0S;-L"ECF(tѻWVظ; ,J9bhRGҶJ9aR!kOݠK/hJƔ}V(KfwvPcq-WH_RC)od[C)^RyK Pm(nib+-kI8(f;\փ {IL]mQ _*D3ī!F^u_L$REV]wŞ9nyQԤ!J9FYZ42}>[,`(QZE]zJ%R/A"5)F9oTw)QA ف%}/dC@bjF) ?k)QfpI=pr%1n7INH.FRE1J3PIZE?U|Jd4rvw:5rq6 \{XwZ혨۟S~)-ٻJ(0I'wb/%6%( VR36NmgC) n1Qu=-xabo@:e9PʫPo&o#^YNo~QrFҼ%7b)h(7ZV ##<-QH!E!Z-;cװ+|Njל1yN)oDѮزPa~ToޒqP) K뉤;( {eKX՘=\YSMr j4%e/.GDZKMkWIR8"\7~ϊSFm܈.޻J<hbː!<ł!JwI@JdЏRm%_L 05J9e(J9)}[*qi2#Z:7J_5,ĂW/ҕ ̓?&M9J ԝfQ3 5uViPJ0luwJt+MwR&2:DӬ ړCQEy#0r ()򣹟(>FvDQ}'fRvA)>Oϝ \\W`s)-&o8^U:#DǏRަ2Nו1Er*JovIU &}(SRqگacP}zdwO[V b+eˉ dn#$2 3򣔗߿H| o}_'T\ \b+J>{Pj,5r(5*Rŷ2IL(|15wmg[%w@qb]ń%u2Ց/ֲ$`(%hc-;I.c*"SY(tPیA6 h((RMbSC) :E)@)iIw#VS9Z:J)'3MR7REeթ,i(/i9*s(YYѬ"i(Pb#7_mΡ7lT#Yw KߚXR܆ҐosWCM(2P^osѯjMLAW-_7sŢi% AC(&V/Ä|Y4r}Gi}2*D9 HR@ Mo˴^PupJ"y %@-K-Jy([C)oE|Ry҃C)$b4776mcU1uuRB$LA%0R_̸9]V Yc3֮ {XS.(&*{g2%}GedJ9_ߩB:/{WuKʫهq^ƿ^>0ٯ$%@1a{?,PߤKkD)JnTk( XI2(DZbwFK33>)a{5M`?/G2PhEkD)B{U>2^_HV,; J [?]vRVսf˭r{~R֢loc)BR(ebmShZ\Xby(n%abߜ@)|_M`(Q*AʊdNJy+$hcnh 0kP&ڵ~E)߿~⻲e9@XJ_߹7rF9y&ۿXPP/vJJLj2!HQ Fi-rNJy.j!iv(%L}0W2M)tK(ehɊҏ]?J)Vd(~=Sމ̽аF1qRc'D}NQ.S$4/Qʋkɶޗ  ezE>PFѯ̼:(L{~JʼJY&E[Y1RV7v1NsK(NcXO=[C(&w+w?fScIS3OL #rPsGC)È,rߦP=DDc[C \6d7hɡKa|_p]MiΩ%Jf(\ 17IYf6Qϓh!C)wx J9yfo&؏ <(ϖ)$HwF~Pj2;ir(mYSQЌP9}%*VlNHG s{d JzJ#REEa =/Sxozjy2%5[.jW,c:RD}Sk;yaR. 8(H)׬ 鄧%5|oC-KR^ U*RW(5BVѲS?(-H tR8WT~Vef(4o=/kH9ؽb3<8Rn2I[(/F)K:I( S藽ΓB)2>=5C)WOq8e(ZO(2MˊM>ؚ}`#!/V˾)8PZA)ŤB6JO){1JFc J9=LWQ`(e_Է#Y EKq٦#z 4_JM#o2{Ğ(縍cqD:?NN|]dV NF)7ȭ0"eUC)oqٲI1Q )srr='wA)%-[)-U\dZJyOK*ӶP넢.I9VwZ|o^VڂHò1(ſf&`)sMRſfCTI/'aX{u*!>چE- Fhe楩 ô,Y2d{|Ye,P/%˚?4Dk!*cS o\D) ʻȅSKQ Es?ЯR}+RT6/P8PŸ际V@)dm_vҒ^4)7`HяgS%ǗZr.Ln& dV|(< JKS/sO#mɴ<[9x~~RUb=A)GOd[:ʳRNqm4gwŃ⾘d%ˏ G' /V%'sC)瑒?JܤL_Z0r)h(e걳-בrHNx}`(mT _=YH(aPJa)\r^ PKɾJ[JCe5aób} >n(%_)>YJ9Ŕ}J ƗU7(0 eZ (eJ\l˂7د K K2g{_/YRe+]ٲb( XOm:J>JqKG UGJ96V(}g(ō/f׌*% @)n|Ѵn$}[ξ辜 OK7 0oP5+JB,')|lxsYjP8OvL:"RHŔI<\=cJqKITFC)ocȾ׿P_Z`Jq{M }ZSNn|c.2>Jq_;c(X!E?+W, JqKtR^–Ͳ"dhY^JvQC=(eaMYNRNB8eۂd`M C _l-*EefմStOj0,qva#R8* UK.Q~ʝkKDӉ-Q )l\iHE(efrPq;&0<`(-Cw6P9sI4n"R.q<-92(eN}+Ms8e|uީR.:柖(?|(e}]Ř&G)JԄrz;C)%7dg4$JVL=JV&RDn!g +qR]##'.JVe1^ؗ%(ҚN ˒CL{143 ˸HJZpifJz~zc&ArRcoiv0PK|Py S^0܉2Jg}/HR ]rycT~7lQL2˚sC)W?ޝbvC3J9MP/oNRHddPJpҩskyŲ$`(% $%Uvii_,~ .TJy GzRȌP 3zN0a]hYJ`DnDŊQ >+JםykKrEco^ˮ\c[ۖӺPqT)w /.ɣNM a|Uue_&bCD5Za|!}ոZJ]eNFLiS+;AZi?6g3a|_zJ!cY"乬97*&3{?y9{0KyP_vvz Av&#=e1r)ݎt(}ry[(~1J3e߱t:ROR%R^xIS3YC)/Nӓ _E)o#^%<-QH`FsPmU<-QjTosuR~AeZРi-٭T%Je1IVL7%Q3J4hգa|a÷z259eٟ.1+{3e܆5S܏e:Y_UZW+/g$mIh*'8gw@B K 䕃cd&I )#R.n_^VJZ^Ifغk}[C),|zJ./_T_lR22e4!j來dQqR /\ 8r4wZ9 ru=P J;'n!(lhх@b~&W xh3!.d״e؆iǻ0/iǘ8rPNշKdmr#r0Z=hײZ[ȿ(GCiNK*)'ǀRΆ[C\ E )6Hy( eng)֎@4"VR> E9Nģ@ ƥQ&XMN&PX]+پ.R kV%Pq')WCѯuZ*AXe/!`_DԯR2=d?f+ mYv*KČ@١\= 9Dq s]9RH e/mM;I2ؗԪ ;%HNoV<|}aUSҊi+ –+Y A`_e 7H싉U2[3~J)W uu)ъ5l{3r\$H9r^PvHLXuՑm; /!D}KFE4!`_5c]=G e/UO$uS "C=&RYv}0D{10H9xrQr.DZRN3JID/9 7*rQv| mF*eRgMц)K  G/Z sI=pkH ,)0 %;gU|F)ŌҪG@\7EbQNs=VpK!/_!qa_j@Jo_PR<Ꮊl^_M^̋Z Eƪ3H91U)g2DC+ˣHAťH*TtMt72w%ovl,E漾,vB,W+ˣO-!ӥ|џle[5RlUI}R2*~۞RY_rB՝>@JKMIinGڄp@ :IdUb!եܹo%(:YezXH싢US]<)})w]-",;.5%)}'qߑ )Ens)ٗoJ \DVTF::X)3+&%΢Dz̀:ז [Uh![ڑr(R90Jmy2xRV,@YR;R} }u ,A*'u.nrE SWB$H>&eKE/Ag_[{C f&<*ŧŮS.D")}1R.eD1Bb.(UsixRNl]F <}|-E"BHKjVX)pRE&H`JX"޺@y!b$+~ysQz?yTrQ WR>ܾH;qK9Q&uH)*Xпd WWVJ\UPrRU<>8RwJeRNE= 7'”¯WIU=Hxrȍj$B)y}Kz R_ʄ>Xה$+TBDz/oACkH=KB<ʕTqT^1DVn6"䋾C0)jrq]Dؒr˯yVӖHB %D9.%PP ()RH eV ɅdN* LF{0 :9Z VB4*IU\S>ּ͋* _{ҟ[Bm)iPD=4^)*ح_tgP OQܾ7F3VƼ-;+jjzkƟ |)ӥpk)ĥ\IZ^%O|8%DHx@9S 9NX `):zE0^T)GK|,!^JN@Rr˷g\I7YΛ }HyI H@/?S>@ qV`!J61%_R ^_򔧆&:~x*\-ecc/LuMG\Gɾ崠K6af\ fGV)W}8R2:}r(!~'~IzcRN,KV_;~@9bX9#⌋~0-8R.#WRNHsFtZrI_M;.݄I 5䁁\ *Ze )θ|џT,@-G\WrYRRfHysFX(>(W>.qcR}&|,dV* )ģ6npU %s4 UWr2̲1aח%3C2R g]A.o(ԣJ&rr )7' r:pXI] 8~)%E]}KR1썋^*J1ON>8VniK>W6eCd\ /cіR>7*L s*Ws%YB6[ /!JZG\ܟc"eAJ)3\uKO?RjBѱ/`ˎU!Ǿ } VUO/@uҏ{mȍ?3)u2A(V6\Fb/$AۊoSʗef_x5 Q>x?|.]ofV 7^Q\Hɖ}RQ1 Nٙ@JK=2]~RS! g2QEi7Ϋq1k^$@ O/!c_-qH9.g"FcZ ݿ8z4&/>}s@c_$UA.zTEHK΅*Lɱ/2Ll}Ǿw韜6qv@c_b|'o9s۞R2_Ðچx} )^|گV.\8R{3K)}!Z1]y06=Ǿx~%>PGmyf! !=!&RT6X 8"ӕTzn\|f ' *ilHy[XdcHQ W {)/]񃔏E_ c_3{}>fu" y9r@J}AsbxJ_Vt~snt!딃!ɉ(:V/n(B/_cW['=sy5E)r&DH.GrZR)U 'r^R~w)R}i}{IIF b^YNd=21Q=EoZ s(VQ-IH!Eމ`mxGysLVDpkH %_?@)<=C0yB'J#Q^\ K{D9.؃m'Ǿ qfR;v%D9MHAʊ}!O}BşcJZlm]@ S}i:yoU}7HqK3m(S(+_,:4 8eʴL:Y{zKHpR2fHś&+B][]q&(͹O1c P2_iʭDHq/1ٿ. R)%)[pHy(d.R˷`j*no] ű/&?-dK.#H!K_PU<)E_yK*k(W"Seʔe )}it5_I,(H99b˷LBQ..e(h4 )o.T$$@y(J /!ʇK ;89Q$[Oz RD1'/6,@&J~9)D<U p2`keRRDaRcطq!Rz}ReDy][ )Ud !r^7hgeUJ9u59ep2- }?ә@ɣ  QS>iO2K_@:R4S>)i ӣdq Sȼ/:Dx5@<%Mi~H=JNj'qG)Gy]Re-=_ Q#)n_ Rvgt\t?)?J]Rx빧Й毕i2AiR2_Cfxu ޅOUF e]Ԫ"_=)_ Vf {cU[gbJklڐ2 C03\aK>&LAkA P*ɢ$Ho}q?2UI)d+ ZQ 2ӷ$ )$1|%DA'`k6kOl,ѺyYBBAgD:Apۓ uwJ[o_$Rl))H9k}SNPt/hF{{,)̼-Qڦ䤈H9([VG 8RRa.r) Z -޺@y­!˂BD~OjFȟ:RG պT X3)sJY͚xH)C'r^+V'?+o@J4LH v X+U}Xm9V00RjH9ZBTL)2efAB"D9R.#ū Zn~NOh==uJ ˊ@ b$JA B)/SL6~GJT[.e6Cae%D9 Bx w)/Ɓ˺/s8)okr[xL-}bC|V c EӔ2|̱x[G[Cg_ۻuɶT d!߲du%Hg oY\Mܔ:Db5̽omI~2pˮQo/dkN99}_⒆xaҢ"O(@a2 i 'ܾH9.(9&Ҕ p_q77ZgH@ ;Q7H=Q{󒋜*?|,(J>@\~1"Tu5Ն7m9xI9RÌ:4sؗ R:zAJ'eWJ(%Τ0/6jC 7?\!(|ݲ{D9,K?7bXf_ LFϿI ÁHYڗel()KR DV쾾Vh , ņ/ e9.cNP}U< ,E'^o]Fݟ(%oRv ?HY?){4ThOy[sHY}@_kX]Kzv]%DYSuAP#hsg %oJRtm&; BrؗpF %u\ہm\~/+&Xv!Nz| ^hN͘VĆe_f֪ƒ*5m1(WqFvӍHYuʦ:!e*͸T %S[FcHYJM7 ˒j(K3=yCDeigR^ WtUۖHYĭ}{K5HYG⊔QLYCROxʊZ\=lt⒠Uo6)Kmu,@R[N8k%Dy-ǓK=OYԖk3锥͞> ,0gL[eS{HYjK}82wnb&HrjRVz?mJ ,VɃvDu%%Ru_ }yB m {øOO%1=YRL缴/cJ7-ZH3i{nidE틷nl)l_r4!r R6[H'D,f :1Vu%[)+F*?\@ҾGseI[i1/yɶI#/umەQ ei_dCsve;+ *7d弖m۞9ԖE>Cv>iIPVõꘋaf'#BP𺐝⁧!e]-MQPREO9r@׶,\ e5vXoCYSzH#'e]$)1B?&k1%nn' R#,}DO 4Rjns;z)"+uR.S_Z4 =r(ֽD1/ MB@ ӮJs!tH!?(Dž@Jfg{՘6n8ܯ %P/VLl.ͷ*/1佻 ?b_uf9)IbAëcT]QG %y@ѥ(VQFO-+r/Tֿ"YaာR>̋BZu@ad`uA )Ly/D9DS0r)%$7K #>tyLw(Lp-$(BFcWRbv_y #\%)|+RL}!M#x#y+[H#b7A5 :&h/޺ ڗ&-@fR '*&+yZ ]I@/z@/΅.xTڈ'b˦OR}3\<|X0;z)ӸW)ĥX|̵ȴ7K'4rR8HHX2Vr|<r~:1ؗRw RN+ -8IW aTfI Rֽ>R(t=KV ų/ƿ|~.RmH!.E_NJ})gu2Y׾l<)c߂4&*X  \'=L7R}!ᕌpSϾ<F:'PP ڗF&-ض'WR}11m+_'?)s!=ReJ @qǤmN)'wYk%x9'$(}mYːbbl4H"H Q>/ubf?DP+)־72,pcP %[Pv/(BuSB)־Er۵V)־./!/!ryu)ַ"@ar7RE(V\w!٥H~R.+_LR\E>(x(F]n ([ X8H3&2d˿2>HJAb%%=0Po-HY@/NԴV4շ7og>F ʼn\8=R|7򧪨,%%@8[1L9:;yF bDFš[= P53S>@/o&3_S;;=H)\ Ӫ\EH;N^BCiңFա=W'./!1Lys?jKIK @-Y-,5R7%L|+n@dž):R o\~a%PPFPIŃ]6c:>рR\=F4,KrZαq}ˌƇ)N[R\LR޽U9^ 7Pzy&@9xEN@7MpK!W+T \т(WO$E'lZr{{JrSᆂ)ktO Bd׷l {6zJ5p/kkD)e'jHIP<%zNJG=y};;Ӌ_4W]E+6 ;%c bɭ)畾  P.qI`4)h,zHuR)d"^a{\aavH9w鑋0 ZYM5-M\M5/KH=H9Ox5#!R gSMk틙nt!>Rj=cؠecbR>B_o ~:*B q)HT?ɴY)cei&Z:RPDMKCj贡!l(k__:` R}mIe_i+L Ⱦ3_v|^>*л}#ŌhDg|I.@ѡTvC8WRכOAyFn2RLu)o#EҼ&P*Cww&\ B:&Ha|A RC7"I!%_/)Cyf(Y@JPR"2 PrkYk)ב遹rQ%WhA/ɇ@/G*Z3`'yMfrrǥ!B!=a`Ֆ@K҅7G 3KIb*HV ːŎ ڗn((y=Oc(־r^k_򲕊I:[/zQpKk_ 5+GaD9Z24߫:b틠9Pg@d_VYbKߑ4 -)J@ՖR|MWC7H,][y|Q$p oǔi*ֺl\HeWg ehp)(?XzTtJ@J1 iKF)־㮓xtD95?xLq4I{#pcP KRw]}_5bL R&Ϳ EQ n~Hy_?CޭlKgA㵊+};JBL)JdϿ+%D甄t>+R,=ĤHח)Ww&׎՝$)n\ʞ1y Q&]%D99}ИSHWRΫFnrE ŷ/Tv71H#*NMOǾ'Rҕ,Ow󺓊+R3.s-R}QŪ +H?hq )'^ XRЬݨH߻(־= D$Uk_Sd:BЍY~ryH:HqOޝEE"v )־T<5sdHΊ a/JZrfLi3{bi\X2Dq8R]i*ݚA/6Kڦiyjm)HɟR"l2 ()e9 (] )Ţ)'@Px Q~(3݌znHEⰿKzW]ISD X-'X]_ {&AJ1S'@}WRXR2/b c2c12/!ܠ2LDNZ^'RY762@|ۋvJ_^;~u2_"~duֻ,K2_w+KZ^%EB|O_w.b8LL &TkzdQ'2_qDcXcﯗߢ^~r\_/_mui })Ei=iAyҖ׮$ )v'.myːb~Ntk%_m %D.tMЯe'i}} )˼ 6%VEܲ 2;^BW񺌊R쾲jKŚvWO)ʪ9*|\Ʈ[Hq.Lo< 7QJ^y@O=2V/IO'U1O h#QVN-#=nD2#;"sZX;o^wF*khRӎ@/) Cf,h!c RWKRt,@e[ L+yBH&7S|չ@JPTS}\M\>V @s(\ &(aeWUrQ~Z Qe KH9(nU󭎫HYͻPk 4[[*ԳDrGKVS;CYOeH#)Sx컯m+>eٺo5)ӍŌ_B7>&{g+' XԏvzɆ(ū7t w+jrp(ÒJ,<)%%M(<92K*2%oR}>1\0%Dys-raRg~h\Lh)־p辤H<1)nEaCuk\vO"BS'l;Ŝj^:"A_Qĕ@/!IV?Pؗ)יE_ ޾|'2EPPx]08r)WVoէ!BH)^G!@rYPWh6Rdh>Rv4nR>F2!HI)d?5Xn+NCқ )HF1(Oߩ?i])HٍQKя}&|#rr=$D9N3 ?IR}I0 XR{G@iinqM ڗK|)־J{)־d-+;k%@/-eJYX1`W4 R}Q\,3,BVg$I!ڗZᶰ@J>e<i+*HR;H)kI:,bH)i!:X_R$E_BћMI~QN/6ԶOJ넔M:hV^M*k_oR}wj?Z"oS\k_ 3X`'?2Rv_*TЕȶ=uG=JΚ;iH\](H!ؖWcBJbJ,DY_TcuLfg)־GsDdBIO `/_+X] zcRѭy1r]R_Y}(vQίͩhzP R/jk_be&H/_tƙ̍Rڞ|hO`#^L2PHQ~n:lF DI+Deϩ5k@ S"H)m3z)ץKTÜ내2IQqi)AiN)XF2ڗF??&Xr({LXfurœ {}2"Ywv}uJnTX |SjUV q}yI %R})9$ 40B%e` :';#(GQP'rcZH9)l)RNEࢫ &K.;Rf/P2RpR J~' &ˣʐr( ͎lXHy(ѡjG ݣ ЩH(DPNO5HRH!4y1>1)"JO£%fzl<ʿ_rk?!(e/Kz)UJkKʠo{Hy[KZNLy_}}m'~.C-z`WтERG~ ז;#oaO זyXERRG1dފڒRoyXfٳV(3`:5nգ4_E)0zϚvRu_BR!_/%ME"D>Yorzcݿ[n2H}A k\ybY PLcM}kRT]KrSy䤈AAym]eBZ?NL Nѥ![/q7!=З8D1ӖxeWK8mg.dI_O|/6RDNmvfp\ Q@]ae=üJQU s~HY )٭Ay )*@y[y#ǀw2^$vR>J[[*/?l݃q R7.^YhEdw %sbG]qfAJc[A Xa},30S>Ae[Bb˞X(bMs)D=)^o{)?~nWԜ6DZеR^Rt_L5ñKO\NNNQ}I'I.+ƭ@ibi#hHΎ#L 2R>%Dys(i =@|\؄(+@)SNVwP+豳攄H"$nb8)~'F˄\P &ݶs 8Dȴ|/[؞),)&hmx&RN3JCҵMF&@9(^ԝdl>[rYp Uy+Y 5t]_ cQ>(%{[B)?M)YcS7'̭6AY(x8!PycjEJ~ӻ/v P!,lv#9p(%gCU}v!eվhJ۽ 7+MHMAsvd+u)EaIk+j_j­hmB)eAiJgý^HYc&SRRQ&y0m;)s2PƱg? 2/]f%f )sPUŰ )s2P4Tr2en_$곲+ݳLHh%dr2Eg<Ǝ(2HۗaU[9okr)sb4\ en_,}H1$Z en_J)s2P;$oV en_Q 1/(bH]"ah}y'B en_([G}[=:-1Re%)s#$eHMin_ %틦ӝ틦du(;ݿ[.-)@ܾh7S~K}qk)s2Qܾ+>ѷPeܾ8!)s): (L en_4%̓ PES|en_4E4+,KO1AXqyL ea_F ?kD9TuU(L2/,}>F6)s⤐!.(˰9'0gLۗ@ܾxXOq%zbXܾ `/ɗen_QAen_JG)s2P.Em- eyre;Q en_2Rtjb _s)(H 2/ȑ9RV/%O8vQe&N[r )sB!H%^S()u!fM)sRnȹ. pbRgG킔E|l1O|H3쑑Q en_k_>B1*;VqӧSLKZ&Y3Y˧֗~;~RQ%ԗI݋A+*-<ev)_"AS~)̿ؕ1YK*eJ)""$I)o%Hy%z!åPK o1CgHVFB q)c^xF %TEsj.>Bq)Ã@JRLŊNA **" \]JE)"i8].[@am&a#r\8ұF?!张7"r2bH[HRY};au%ZNR>P/ݥa"qMu͗@ʪ}Q?MR)O)bL6xAx|ֺ&z ų/n䍚Z1u[`Xuޜ;)﫞RcM[<2 &^ϾGmf̪!ʔ ]BMB0޸Qw+כd~eRh]4 H9]b"D9 -j{(B Ҩ RF~q"Dy(%q c

)#eԔ 7R$ʐ).)8̒2nu./Ve? R!¾؇:`u PD:1r~MnTQu3^ѥZf) [r)N>,I^R鈂\$ %y@ʛCя U=,;%$F1R ֤2@)%) H!˨Mw)DQLBֺliHY_Ip k_)t*6C>nH,uIӔBVVc=Rd.ؖ,r( BiRU 'ŝ'Մ{ QN*ؕ%\xR#E_s%drj(/{X/oE6yD@ʻ^~ -*$9Q~+B *'L@J_M-;kZ4Gڒ=SFs<*3>H9Q&})Ǒ[%1nH95npU F?P_ $7ѿH{Pzv27SJr?H9Z9z5|Yх@KrZ'$byAi6r y.5<{ 7Rџ£ɽiuۃG rQ57S 1rQXݥCe1Ɨ Y-D,kUtbOkz<LJ%-v_oƇBwG)@ڸ$iO4UwZ+s!Q=3d$R.tJ?rt,]йQ5@љcc֐@yȤ(2dAs. ('g\+曥\Bѱ{y{Hƥ"Ưn7 Wؠ6ck5(%E'D^BIq[@9;s>h=ޱH$šز-zf(o+tS.e$ǐTJUZ bfk`<#!ʴ^r&$bJ@ʴ^r4a_۽pCAY=91ReqO )Kps@)Gw_9:a\n!8Q"wo]C*v:8^052{0sP!yI?ƾnQ.KɆ\Dy[RѺ((K%eRVcYrk(+/fHRV\H_,%R&_0w!9,@|yQs9.n ^_lRK_Q!řcCT)@)9}/ fx8o"YM^"&]IЈx$KwFæo{}@R 0(WKmfnW=Ym®/vY|12p).ɜ'*[וΥe(^D)'@ʤZ4αկ~1o/Ծi&[LҚJ zRK⌋`%/㟰)ENMpR;LQ e:~k|̤swO |3Zr!K dղ^#kSuwerjߵL@q7RvZ RGKr(<9x%= PAveQ{{)*iA8.cmV5 RJyII5._1Pw&(ņ])d\?;RH e0߂׷N{2T@ %5'D)#(IM}VH9Z ?WcW՛mzHU2걒FiV zLk+72I򶤘4Bg>vRޗ7x QF=2z傚͵psO"d)p)2/Lp{)kXYko"[Q}߻@p-+[8W(5Lևv}Y-/{|3~I^Ũ탏)%<bMц](^YnΔF|zCem\@qI^#YHyŸR$DXRA"h4*!R>D)ٓqu.~L <9ǂϱOfsc~vvYLE 23R*up3P(dx߽{=&"3bM雊}*b )/(rk.O?-p(:.0! )eM9)%H_0>š7)SVqqrv)~Hyr) *~a9~vqJQ*|BO6RDNHy/KЖwl4C\ AjF^V6)o)꿨ì3K.3 P)O[9.Қ) T0ͯ% MJAVC<)["?>HPt)ddʹ8).'&JR)EЃ_R3zt1u)e,@ڍҎfH/;J eCsPo>b;ikʣlQB -M8- 5zߣ U ylRbVrr^PXŔ;iA)nS,ZMAE@0uAiztK}[F(Hy[d" g'5VQ5ݼcHW}B>U/#,-(/OAݕ F{KH)RU)Pkw&(傢ZQFOQNp%_,O~}ͥBH/`<[|+4R'D9/_ ؎ҼR:OHjb*ʱ^2ɨXRx31'w.E:y-2HYe9=)OKʜ3OatnuŒQ)`]\T/(&{ɏdoQ=V\s-#n OtO yr%uyUc|@oJ eEH2V8v+٤d΍ouOru ){*NzۛXUN9- )gM9v.?7|._~ <Ԡ&UG:LgM9O 3ILs3qe.B-qO-XX(~є;7Ud"Hy)hSqO1 Hyv(=f?̔umEn1qKי|RApᱰ@LIu8)_쎶9./CB]iw/<@J6S5[$$"3eV-ݕT R),R]/IL9 Δ M-)iy8D9=Δ&z,ySԤhiAsJ )sLY'|!N6sb=hCN6Zzd'<#_5b]ˋm4N0-r)w}w-4ST廎)FƓ-b?))2@k S+YVњH/a#6Sԉ)3E79^{C cd3H S+kAט6&=E;T1oZ /CbOЁ*}Dҟ=M ^vux{MRuY©׫k_.4-l!%[ekR@J?k=R K &M_ RrWޓ).&ׅёv ǣ]b:C׋4 X{Lj]X{L5?y RRaGHy.dP#Her~ZbK--6j4;R|P~S#/&bXovH#!DE' 7}m|oSg{ߗRɯ!Tۤ!D'+hɪi6)H!+;Ivr>ܒx)ѐ@3ݹP3e9K|?I+JV`H!3EoAs.G%[p;)LQ~ibI pNKUE6և{(t4|J7Tg)"ѣQNVp)@iI5He Fk4BgE!i [7@yvVUȠ;He:-F!Dm; @_Ժoa/S=HGA oo)O,ՄH9;RHݴ?^g^ h g>ZB(/E'%iQXAy~.J 弦R R :gRW^_ ??ϚO?E@yWؚ2=fT*{x) EU9Nl,+m$3EjlP_uTxTCv$cRs @DiI}sQLה֐bLy(%/*PsR^s'R RwMԒ>QhMX5|QiDs cu} 8}B0du!%_H5> f=fblϿ]N1w<ЉwT,؟Rʉb. .eGThn4$IZw11@9=kh_ 5oԍYxkPȢm8RhE^^s@H9C'::@ʾR,m @Hqt}zY}5TWڣ4 ţ$$%Y刁/V\ғ}d Cu4*7* Խ菥dMyԔ2zWfHS/'q} P/AJHZ\q-f{!%_Q#Ub[H)FJy}r̐3,[ )>2,H7=ujNJeifGQr(s0;+(QQtz0|Uvwz2}E%"eHyPTa#R^Rg R0XROo[ "PSyqrIQF?/X(O5֙exMծOJዊ,<+ڕ)bFc%)_%݄H9/)%+W+.%DYOؐJ euZ6wRt\ՕO+YQ>tK)0 <͔=G&)3ev(_!e.w0יRI Q,4aRJNpR>ܕ7L} mMd Q2ŧMFxMbt4U4d K k:Iz <+rz\} 7&|8qY@"P$R^K':e0u[U9Teq$tRti?@9{sчt=ʓK$y0>Fg\?].Xk6?4zwdrAsx- L 4M)-O(2w3F" Hy(b1Jv#UHy( ͛4kH!׉»i%Q)oyER'n]䬞R>?SS%|ɵbMIɷ)e mPr RrҒ|ɣ$]\I]RS( <my`2_ls Z-ǂR^}%AʛOQuBOBKHy){tj9u)20_b$dR?>)4痆G˯4#).!55:^GAʛKx+]x|qk H!uw"%s)ݵ/ݛ)]r./FǾ-AJM9H.z+9IRGMݥr䴊uAihEkA9HdRh#dz- R9/)Nxvr'. Dy; (M]8HyߊI:DV2ݒ )LCRwd =(OE*RJw{;,Pb 3n :I@ʛCVĵRޗ+YJ åp*̮$%w$@ɼ/@JPʾJ?]BH#Z{/R{gh=6jQNEyJ /})go4` W?:)>%?/q"R\B!_ /iϺ@_Dx-ɤ(H!>XUy$o"R\"bc-Q^]YQJI , e/('ϺДՍ?( ʷ`1InM @7(iapJؠ(S>n! ݠ [sxM9=s,(Nʖ~n _keKt׺@/I-OˡeK$^_.TJZ-ʖ~y-"i(ɟ~&nZWAt%NvoYAsEӂG!eIvWU@kܥLG6&F ݢ.&*e&%uc›GўK[?.M|'fHyߢ?]_"xZ"KKQ/V bC{=Ku( \Pvi>ijF_R&[$#JeN(/ Vq_Q`Kt!J߰X(v,)ģhOt/pgOV]1gsz\*U4xWѿE_N*BSH.$P&8 R3Ŵ B5*,IAJ9QZ*W!ߢ rzɯ389{s*H9ەlJhj;" kϛ7CG5$$EtC8#n 5BAۖFN=!}yZ&F e/w(dS{y"2FRf26J e/UW)~y]*)Aʬ_ܲӪh$BJ%i1$"CJ d1uÏkh+_X^y@ʋ4+ۖlj6wM i hWrj.)Rf"OTԔM q{ %~͚lBRWRr_l(~P< m+!eӆfBʬ_U< 7QV`GQ~ #5ut,1&e2< )~Q]j39RV RfT><H*r'Uſ.e/&S򩄦-1]d2Y;Q'Aʬ_Up)SOc-Ŝ&q@ʬ_Ϭ1?fl;~:H\-챧|ySE7Hr~9mjKb/wRך)XGF_!_>hhUuk,K0 l\.^4~ARV\Eϐ)~!\uFvrk97!e/b8)"@˂2kZ uA"B*N_Bۂ2L a)˹D]B"q J (u)r^R^H5ЯweRj ETrRO.X0rix'Y%4M2kF(+JHy[}CB48/K}];^gaHq{{KgDFSXSr7qA/f*h!0*i5/#qK6(s׌%ci!RܱJ ,~~XJ ɧtҐjm;r-?\TR4I%u!qno|-򲤘>vU+u@/7NT%dM|--R9@ )9 >5Q?RNWDB Joi] Ќ ꗆ7FBp.?R~<կ. !"2&M^mh_r"Ē$&ZAQſ@/u;yjEHe~݉ؖjuMx}XR2QA-g)V}Q %3-B/5T Fp/R~6o*:''vjsm,O8b!_E~ R~ѽLmhy8Xb"TP)Vd?]}n<.k=(xHc$m܏R^ȡ`eI+֯)VJ"^Kj_, cQE"(k/ƫSyMyWsq(dH.M8R~DV)vg+_LzAmrTm-R !/ʚ^Ĵ@:JqG %sv%+:ddM"[@JcǗv+kØM-iH|z/˽AW)RUmqK=Վ $Ź#$>Jވ[)LDkrtSRV{&QәtA=hS[j~HqL" }ӓS ŏR *#&{״`$.w);օU2 ؓ6A7H'F/LKNgAJ.) F saw򫠻?Aq";fCF}Hqq*h:!D'Sd>!W {;ZQP1DH* Iq{Ui+r _Tk{7k lWHyN'm!/H)VU5rC> ͣj?(n׫`(Vt-ՅouŚCR~1/4RK#4"bR{Z&)xRV7 \-(O% -h )~QsT :ЇílQNOjr2H٘)t9xs )O2bߗ1 USIFio؅lQΧENZG R5Bކ6j^ޕy'ڂeMVJy<~v)kxADœ@ʓC)P"_`[ ű`U!Dq_)˅u ~j \b-،xt2$II)dG%R#U@WlK3Ҥ,RR׫ĴBj! ]QҞ@JŌi=A7n|JwLS1X+ Rwn%U6i@ʓac̥QIOʂQ^AW)V(7b%ߥyqR~ySV,pQW8UYJ/#ʇƦt QT-8[R9fM@_L\qP)j.:/u<!(S.\ i/~f%JW+hR!s!D&%WOtu̱{C;)/ku*I<R^s웥uRR*P.3 ñxN^$(]x/dpIZ_T/ ũϔ&@28!qI1I$H9˯V\ܙޕEꑌ)NE5Gg2/'gE2!}oGNCysα9r8!M lSOI?|)sOߣ5%=VR~!Bې#wiOIbKYq"6RA⦂)Œ¾XA3@ kF#hWxb,( =e0崠Ԛ'r^PH EҋRɫ RW; wHN׵uC/'1XBKL%9M:/!}dJ@O)NStYnyQ1wOKSN SuAU")~9OtUm0 yPQS߉HL3^NR[k,iHY_ IR<8`,Zѯ8=I#u-V>fJ /~3T:/7R'W -}OL>2I""QBB֥TŸ=uZ䊖}oiҟ˟}J^.5~(@9-( Q>Rp~Q5,R O 6EN:ݐ^J5>)o ꗜUa$Ew $gNO R~Lr^iހ)oW !j' 厺B5fN+dgr) XR)&h8)N1גTY 포2i{+p#US)'wXI@yÂ%Ii\!ʓo%Hy-XAݒI@ӛ ٓjș{&S0)܊7&m|o\_ ũ?F9|> Xi]&.r5a*7+B|ʔZIVM e$|W_W)0"xR/7@ss'Q㒒XXKߕ/)K(R}ѐj()3G )kJ Xr ,wb] ..혔@XHY',(]noԥ@d2q cRצH!R6~>t)׺7Z /1hu vu)?vu)RYިK03yoԥ@ZXިKH٪3QF] -}oԥ@:R>F] +]_J懔uC'Ͼԇ1Hɶ()0E{-u}Ic 5"$+e~?o<)HqYE)gφE!DyotqHyRRKHqIZuHyn7HOEX3b\ X2Mߔȯ{JA:R'H+U{t1+. xadʄ\\DUD;{01OV..l zN{b BiR*AyAv XHyd Hy^P:ZY26R^\&@RыHY_B&6eL )HŽ=ߤCsQYB|A1531\X|X2G&E t5rz$Dq#aHYr^jH)gNNR-7{#n <(Iu@ˊNeQ<  @zÑ^ Xb*0Hq'lɮLA[^ )Ei6=}_k75yb>Cް Ľq}A/͚)VEGC/t(XYRAU "9e!/& ްh[=ON<(Vڋ{) wʨ . ֐~5HEo93] R@ďF ^ ʯpS 82'b7@* KJZ-3qO)ԧܗ)kb{QtqK 䝖17״o)VLw՝X:@IM%@k[BmiB>x 7H9)VHqcSx4jy@ӿRe{OB_.6 !){ߧ_%,)9aiM!ūoɔ96@Mφ(^A*FKևqk' 弤Be;-6qHYЍ)V8bI8HqO !_ʾ\P$nP>ŨE{ ,\B3eA/fc@,\n`֦x ũ?9r)*aص)N19Hs-R6ԝBi_,JS1h䚴KA)hZ$C0/V%Z yIaP䋁%EbMA25ܐJ mIх,Xj e")>e.iPr.M+@/ݕZ L\RrL梽3@SVkI6f'B'9/m͑d6z7bOK&<ȅ)ɯt/*w7B e7'ERiIy}_}VO).E^Sͤe'(;;0;*([uH/.F wJ!I8Dqч#2)io.q8uzR~kHY9u }Q4Yhw2SX};=V)Gؓ<^t]ȴ]!TqW =-du)B֔ԉawbBйvG)"N讬dA/?/ Hk*F] /-Q>#u/;xu:-[R< Ӎ1#Xc%hHyv1Uy.d_Ltǔ.A)hW^Is:,S9:|tBt/5NJb""J ø?krtQDbK9~6Hq\md DE> q9["f:\*j\Mr#R:`o{!}G6:)(ED!8%Qm&] lyWG@yƺ>ӁJ)Qd%Ѣ2`Um^ʺ 5R\={TC[|=bNԓ"9%L M4 X]7Z ŻVӧ_$o%nq ]YMR??z3g 8~?g񛰘x7#bK9FHqޑ%㑉m/(NƇQ}rhK H9qןքPN"z9I_ yvieHyrNK#"sF32Zr2!e]MK7LJ↔n:[&¶PѶUEN:YAF}%b4>Jܑb )V9UhR{3AJEQ{Cnl4H!.H=%r"Y=Z#T;q) hlsIH9!JMdK/gډKѝLeHyڤ̹qHyR"Aʋo*Z/ HoIy::ū69*:Rh(HIkb Xb.9>W`Aㅛ'6QjZZmA/_Ez%HVn[ͺRnrKJIũv=W{I73L2zeM…S~0u`ΕT,8>J7ƳSBu1*Bޠ+{$H{jsWx|t%d@#^6gzٜ_UCց1;?@{%tbBHj*AiSvSN߅zS{m E<7d:&6X۲K[ܳ7J ŭAmL$זHY׸~ҿ7׍v/7CÐׄ{\B*2u30C 8V_3ɡ)14neY&~(_MVODB7Hq>SSeUX |i]yUԯ<2 7d]Ǿ'@=RGIRWA 񒔰1׻2xҧ"'-Qެ~QڅH2 Y'|H:S_@٣pA5*- R܄Hx!8|FHrI]B+\!m=&)h.g2nR6jŞTEzCRл){SLŻW_]޷zq.q{B=T/Ib1cҊ)E!ŭIq4 *,<챉PRiY 54%5H5eAAʛ]$vC^Zkʻ/)"()>ꆇc'?G{? x5 W,_ ڄ+NV AJE='}[*QꎬSbKXdrlK^- iEy<(V|Oj‡FC_Rn0bKM~AK*#HyvNKFC)Vt|%b˜/ %U:/% %_OuN!T9IOf "⦎ިḲ+sF] iQxQ~TqHq/&nW}3G_Ԫɣ]R^ II)~):1KA.5MJ_rT!"SX%J)N單zAʫG/ I$Y ͽ]wԪS]|xA/HTbBns(NR.ɩjּF)Һ# S ZU$RO*.&@=UŶ۱DqjU5ZA#moԥ@h Y32/=q{{)+<(N>ԑA=~fxPO/ް 2R k \bI e]rj̔R#m{U;0fHUC*VN R!%ZYG` H$)5q(rd10ũA)kA)O(\ <(Ns*퍺HYŎ:0q!j!=U{j(3!= <]Rw3S=;l_FAʪ: )/)$#^`!f}Q]#H? L^t]{M4MQٵOoHGsAcAsy'H%%CəH9/OK]Kfxw])i{+bO~{{կJnJ}뎬O)'DQ]v) @3 *) IL?΅ +;(82nPO9CǿR=T&CLh|_/΍7RGѩ2㍷ڔba![j_igQr]fL+CDS1Ufb Vwzm⪅@=-YںONbZ/ [٫mѼLJ ōϽSKHvrFo)"Yg!᥍ )AC]R8ٍ@=-^\*h)i9Tv6oJ&긳 Q^^iT31v-oe)'@q4) P)g@Qxe~)O(Hyfs1HF?8liW5Č I]zn_۲A玝)gG#-Fi4f(m^/A{HƔ{M)v%x.)gO!<(k5ڰP)+%I=Bӫ tG!ʫ[k7)?RxJ U,v;>ZJ%qBӒrOGqHY}?s(V; ){]M1e3eӱxP'㽵o ":L)ޗ^_)xr] {e)ͅ"d.`C%{S|mHRrZ l<%O#rڢ$&cr% )NM{&j5|WUzvg~I@[G7܆=Եf8i S~xۨi#I^H?\&Rb d XT3[R2#,u=dw*CwʇꗚK>GoP&vʶ @~H6yEVbִ*A=Oyį8=G7WX5(K8 R*Q[Hy(e-Cʳ?/T!BUUeNiH>8h-Aʆlh5$2R!@=W^5x[9#xCג&fA~z )gRɟ_YUO|JZ XYJ~ĶTtU Ş_Z!D%1 zl;(N7ݺURN+]R,*gPPY ʼnOK${u Qfhk/!ũu3ޑk )N7oAQ@Hy_Fs5%W\oGRԓ&`Ge7R,q+HW'o`EmReN1B\vR46"(٣g)ecsso děJ ѡ`m<K v)OKPÎ@3`<'WO!jtc(e$ED8AI3j|JyWFH}FpXm k {{ PUHqwe67Hr=t9O7+sR^tqK ʼn4^>bR>@. Rg [ |,1q u4!ŭw; dNV Z}/rs B26f`@[P`Wz(PRfH5m)j.:b|w-d=Oq>)!ګd =Nŭ$ h缪L6pKR\"*ul-U &<(N%aPNZWǺwU#'֐C Ŕ筹o ˥r ũEa9E0!Hq<$\7 > 96Mn RN+ FHq_tnBN&\*C'bTh +bwe#FڨmQۅ̢R">.梾1"Z N48|O sRMk.nZWO]-xp/ȁ7y .>d[A+J::t& z)yR$)E=T,D" Bs)WţbmC"EC*:GfD91%Đdٗa)V9߇@)l /M\U=Hqj5C^@:SpQW#H㏣d)Hc!/YƹF@X@ʇo[ :)1`8HHYW: 䡹KDt"@ 1D5C'H V0<7,Tmk%kZcNզт5_Rj'?4Ud]0ؽ]_T;`b WZǧ$ܼHq,txKHӔu7Uicr\R 8Dn!7dMyה'_W625ŮSHH+ďL96RW:{,[S5m7]".P*9\GB=Ms)d5)&Ŵ"5HɷCRE{%s!ZuB"(Rr"tv˻E}Dqnk+EAМd 2i1>`ʇ2%H9{'OZ/eٕ؎89\ԺVso)cBx2 .(o[ u^^ԼbQ镂ρQW=#!%s 8]2Sߕʗċ(ΙͿmueإQ\6<:kM?Jݞ) &׿$8Y'us#W@:zm"D'}[E 81x3\t!PRJzmGߞT,*7BMq"D[U39];YWwHq,%ɖ( DRwޙ`F9{`y(ũteH9P*J!~tp@ ɥ3u?IX/dd)#i1ޓb)8+#"-Vsw})oKl@kÌW˩)~ R>-]80ZJ%)Z 85iΛr[O_}De2>/ Sl<&R>ejŖ} ɧL[&FU)8R})/˹8m@RJ uI1rԤ;h)Xozojo`O\1CGI ʼnQG׳I()N8_,sgKjmeMy֔g8rO@JRU2sy{I@Bz%OU:V m.G B(v%W-bJ{RJ&E͚jd$ yn[c'[1U38弦ސ)OkJR6ARJe$L0ũv2QL \! %)]d=vTi*<=3;7CR"3)KB(mDC!1X{5x?xy3?nHRhjQw@)=Tp}%2b(c %69b(snHY~DWN,^rP#\W>̊b*AʋփE $^B|J_*qI@wC9(sN .Cw͍'nx+n w-bk$͝m6(VlH@ƻ0ߎʟdأ?#׏7/%أI)/+FK\>Wl@mž75)g%:”e$fy1g![k|)%RNq4'rQf[[V?bk˖^ה@ʢ-Uk߹sHXSoDg}Ytri35*IgQOjQ7$Hy)sӽ)mG{ΪF ecuǖ8<;\2}Xck,{)G/Eɕ tb5Q:弌A? /9BU)l[%jZA*^Ϭ]{ [⣼L(S')2_?KR`-\y_Nabٍ@ $rތ[r}#Z :7LgUj~McHy(Wix0!c3cUT{&ӊꪏ5bQUeP!7Z עR}d\ǔc|gS$kH(%[V^ОTLWh{e)5l*,@Xf)eHͱu ˘1)}n'ŔKзLR|6,Mģ ֖V*HYnJ?FyO U^H9X%ng&^F bmi}~2?,JM8݃TR~J^"2HyXc2 ~YO;$Z ݢL6pX)SD۞-5?d4\e'JaQe\hq)'C)-T1WҭZ (/җ-W[frek U5@m_yX\ )Ǣ4Ρ۾LWЯ{RN>J`R9JS?RReXJY/en}9^9{O[rշJȤ|*O!m_ٸNۘvR.~ft;tj*u3J+/H)|b$l ~[ɦ%m*@ R;.C ׾HY):Y[H(]w]d<79^am_ԉudE Ŷ/ |:Fh2HYٗd55`ruRN^ׄ)O)X~+e-7=Q^~g1R{Z7'WGHG?ߗmłۗ1qG@+v$Dqg2J_\]I: =LI|U~)q|$ {_/e /H)KJ{bPx훤{-R_kT])׽ky-beIIŒKEJ ŵ/ҐM4!J ŵ/\,a)V! /f2G׾4"!g%/>$g6)};X5? emX,J ]tJt)7}#]쒒I藒nHq@i9iڻP}!7}O_zLQ)72w'@jM7MS_U6a{)9%D(=kԽb'ե+ӗTŭHYDTy7c^ʇ{7,V)__ .dװ%hU/AYqʪDۅY 弦R^ ^y P5k"I^u *Gղh_h2Ky7kuIHZP_k%nS/SݫDŽ |/v^^K?v|Hѐ[@oݗI ūM9&}N ]Jx )Ganv'2MTrR QLEs ů'DwRU^d euR IM/uOY@ʢM"WhZy P7VJRR5ld>E@a0,z/jq]?JQmC ve4Bj/F~-S%,mѾz>TeU592"F eY/\:{~{-0]Ұ*HMJP_ֻ$ӱA3b}#/u\܀,WTT4Fy@qed\K9I1@m>Ŏa-;}-s602(| RVNI`\HY>.h{,_T?DET޳j-ڿb e }ڋCrFclRU/S1HRϷ$1+@ {1j=3~K)#dhiU}9X!~20f-~=JcZMn'3H'J_7)UROJ"W)v!$Z`\OIa|z`Mo |5lϒ&7AU2k'rٮa{ԨV%¡\^ۋ@J]/Q _,bgx]nfY!ʋ2̨<{RV/b lH9b00H91n]+P(gLEQu}!+$)o.A!ݥLwwH|1"ՠ+ۈzԯaq"m/Lx,¥|1^0$)ur!DI0/6iCh+%. Q^3Ry s9/tBONۄɖkc'x싾4C6!%prVE(Rc2ݿݨ?&aYE,"Z1@ǾL}&$ut,Hؗ[c_M52AǾ/IO!ǾD'fmjSbN{N2tJa:L\J6a}o9gLI^Z7-(/h~)r}8i[v-NvD9{KqncmAtASS ?6݆E+Kl&׷\Z-kxK!(jA{)\ =Re\pP'no$̓AR||i{]_tor)R 3*K  e|&}14@Ǿ,;Uё,ѶQ_)m9=34󯡶:;Q!eC@_|c%uh^w5pb:4|H KҴT1nx˦/  c_6F|QA0k_V({=cw>61/HC͏֋||vyAGx c_Q靋b`b/f}˸B?_c_L %*L}M-}9{hwF g_%)m9|à?LkCG[qmؠ:t*Px)XTS<3y"GLnQUg?+o("H쑇 zGǼ P<>@QwJ7)ݯnNW ų*ף&U*K1n{YN JD!!x|-NK)`_f[H0EVT9KtАa *ӟ;V<3P 9 x /e:tEӖք+V`Ur$&R<e|hf /ն08/o=.Wvd@P$`Dy(yS1ƮR@_25Sj-{14S$-({D"B})ˢ`Hw!c_ eeq0)b(ө|I:j )be>eTQ C/ lHRӶ%NH}/9@Q R1$e鶻̀g->mEEv;.F\iΔmF B*FIO%2xtr͆5ZRBqBk@[\8Ոe}7b<艔GmM"rC^,GS>(<-L["sBʢ:ȫ^,gTi鏮Xp)G/etZ @_GYJv%bԱ})zJ"PfgH]P2)DKÒ3Rlcdi)L1g{-RlwU%bۗRO R]̕f_)}UDE[,(۾HzB%Z E1bA@\̶oE@q'N4vx Ŷ/)D9orD4!Ŷ/c/~f,HyycMo)}y0:ROWv͗X )}YwuJH_rr5 KH514l6jV s]BaXCS^ l5(G*Wb`H9)Uצ1HjD57IJyL恔Ww\tM4RdnL5 wNF1V9D1>x(B6^6Yt7Ƕ@ŧ)\HƨK5BpfrI||=í?}(Kexl<2oQV_M_ MwOO @deI@\YdɈhQ* ,J#Ń H9)S4ZAʛEk|Hy(5@ʇEIz RpRbL@R.\U6]b3N,RZ BPe \U9z& Q^73yU}NHb5Mwf۾p;@17RlYo8M^[۾TJ)ұJ1ދ?44:e.d2LR޷V̼>ܫ]H틒zeE` 3%m۾2Α'bӗѓyx )r-q~=(KYMؓI f e WT>Cm_RQ&xl][ ) "B}ĢX)'/勲t/Zy U)}ne؅õ)%dS)});sJ^k(}۾2f:eo)EeQ~Fq 5z&7Gҟ~ QRY I@i;M3)ġ92@_l>H)\/iKy )}EЭ17=rXF_]q.<#q{>6Q2vtMt![ ٿTs_C324$rjiF bWd}߽?Fǔ䏾f9( Ŷ/ B% en<3 R\h۾IIǙ'?Ӫԋ%{O!J}RfeT0)}itNעO Ŷ/f5pOf?8/=QJK2| c]G }sFVH4grrű/=s.Cm_7wm_j#,Dy|awbH1UhSRlRҊȸtR.~J{)Bʚ~H˼V.ݲG۾B<(}) q (g¸Iyku+쵺H9b<-K 5C!ɡ*mH9/Ms)Ŝ}Hq2^'|le{MzR(5H&g$NdLl~XI)AJU7)喒u0 -eZ G۾ ;})W4÷Wwg5F e{r5M`H5ṧ=i*c;0CތAIRx؃T]<('O_D)g2l. ͥԷ^s@ Cɾ )7s ?\<_.%3%`Rz4LyъB] yUե4YOdzKɿN.O!Ge1LyXHh˖VN^@G[2v++XrxX)>=]Qj+cci )=Ƹ,OR<`Z OoG&$-9V#xqxtrɄʵ@G'Ӣ蓒)8SL2ku+Y/ٳ^Zov),;&=)IRт(/?Hr~$aLH*贓9[%H1B1 R=:Hc^>AGtB*‹)D]^f&J|)@)DAz,RR<ڲ!2x%lcі\] l)oK?yE0ṛ~HD9 H/,i rx!BKa%}#} vSWugNnH9zW)]5kS^[7Z yn%ܢ%,s(ۗ)E˜t@׎Gi)DY<ئh79meLҘ?7@y(bel[S2AѢ\+rEeH9Y|H9[u2D䛳R^7㢨|()oeQҫݸH2^fH!6EEk2oLB鱌`JiQLm6 RE_ e Q AKW(/޾\O=Qx QlBSIVIUQ~3!*JkH9:_lJm Pt 78rSR(}iUiڗ7L^Y5 ),탔/ea)}1~"HKQVJise 9H)}X7|abveKԨSH0!J4@9E< fR^25X۾7m۷$ҥ e/RxjKy~>| n*|)/6% qԔcbw e3.s?M8dZ!>!UtJ3oO9*4T_}lǖ{)GT32AG< ˣ>Ly}Qwb%Hy[S̃@O.xn1LXSͣ{5<{\VG5E\̣KJ_)@Jc[-R(J)!Ub7 j'j$ F zV +ezxuIT`@F')D Xh:Vmuy()K &)S\XKI5b5?ǂk;co\}cS-ԇrMIUZmI ˸ k+GJGk7Tr=#.P˪ċ-/9V4X(UP҆Qެ,לMm{ih?]R/H\BTб?e}r iN#Z7@FHʒ QE׮VH9Z )'2-$-'-r00U"R^-JM[}j')o/ӝuRHyRPS^cR>BK)$0._ R.~KSW&sv_.}XU^ (ŝUekqZBH5qP]M2BS(iW(/}bL4Ҷ`KHybs )ͪy{zZLr}Y@߾ st)7o;([B_tYʛ5M@F5mOdn2pHhi!Ŷ/ݑjuŶ/ʹi'RG} Mo+?a \2bۗB_IhrZo S8A(۾5+i)~=H˘h-X_(㷾Yr Sb!cw];te~ԄC١غ>n)}i>{{-R Ƈ3E#fB;"X塪_@ Z(j|W ?/6bɸw'/k5--Lvۆ[C˫ҒbWXV Ry7AqCO_i|) e H)g2n(һ6CjI$@򾡨JU4R>6R>]Q$-(fU$Rk_Sr3l׾_ 5)sRk_SjzX8l׾|ҟZc@v}iYKSo.DU*F9M(b C)YTR[JI6ż}([7^,EA25g?akJS'r]B E۞ ޷l ÿw; rR;`@^ 凓:=1y)oaK O@(^JEZ?Dj5@]8\Ba_HˊBӟ 6R)/~*K*M`|xqBJ,?sܖRh"YM*qcҿ5D/|QOqmŠ RE_Mj<틦pI ű/"COgo]}i5CKQ/-f]}ZZe?tRš4w!ŵ/L.s-a"8~+|HqHƞ:~Q ű/+ }]*VpOR&°)})AeE\c_F$7m_ ݻÐؗ+TTeD98EߌT<$(2HqKMYs>W.Z ű/FcW)})%N!ű/%~H@c_FJ)})cl/)xHqHYN:)}lS܊Q ű/ER)}oku++"6tHq $,HqB1~KSOH5$Mѱ/Q):v0)}qV'J? ] 8ESD8eFJHqBI=O P2<"@qH-Ǿ()CR).1F ű/(}є,"@q싦JÂ)}(7& +{)}(}aKؗVɮЯSOaǾ{g&8E'}&iAc_:N:4ar)}7 ̸@5r)})Y^ 8' ű/6euP't`HqH'L_PǾ(Z(})Y8e$)D _RR~XqJeviEk/V/v.xJ˾A*xbGvm):ܶ쳐rP!bW!kz{:)'?eɥ9&hEi"[))sR^.A[/)џܼ},0 KVe_)]/keI)]e_9 /~KB )})԰V<6!wЍ *P*q*) eC1zFO>ÔÆ2˥LjH9:B:oF qv?P]fd愄qJw)95!֖őn;:Q?&^'_iq#.:w/X7uө"s9Y^B+eQӷJHr_}Rލ7|[ɦ/% ^"^բR+-ţ\Ne=X,ʥL-0E,>V lQLpJޠ(7.KD%9^kR^9)Sq, 6F QSg|ר#̱D͏*`}oR(da XSv{nR|J=kͦ=b2g\@+bzM Q쿨)ttdBҩ􄠘Bv(IZ@%<.؃米!αO␉) 0ҡtbʱBc)Dz]tѧ2:%e*f)V:G7 QG|x)GV(cqUR>l4mE ~\ϯ!pSYGy7WE:VZjcؗ/6((WL%+6-}2/"*dz)@_ qin #Rz%cN*숐HhUNTtm_1 Rb]MdMH9ܸe)'I*vr%9yHyS2/ۛ]l& ϱHySD_Dwcc11J?eIW2S~c|4ZrԍY@lO9CbfF I%YFK骪u~Y. RV!-iC2LߞCiH^ ާeKH9_dsH9n)&kXK8%w{-O*#@qb%"i =`떲z1D?E mKlZԮUW~<(ġ,{Nj@eKѯ]KZթ5kMzLkb RVWKB/ƋJ=1N_P[F.HqOϬ(/}Yf|IȘhKahRAaؗQYIk'{nRi%0㻝9(r@KҮW)?R޷pO5HqXf7)}127ؗчi*I@c_ Rb.u Z^ x싡FW ű/5}djnr4{Z|󶢁sE"*t؇Q;z}QLgy)\Q!胰*}$~P:txzdPbJAR03n3ӈt!L1Uɞ;9 @$RN{k Ô㷾Wf,4<򺡬>SHyPL3ǢÓf et+gH{'9eH!p1RzaR_H)DA,2TW2[OY3(NTT]KFs2Hy(7g[9abEvbk5xw=:J|١5)x6n},,B~b^%!-QF>I~1O=8.3miW_nw߷eɴ_?pzzꧫWMH_gZ}_o7w~jo^z?[:|\zYHJnRpj/?=S_9 Ԩc@ pjLa ՛||5[ yBopξn$[COaxܨ~_]eWFUH:ά=waK  'è[cMjt';J8߯=oіI֋d2e [ԛVjlӛ [ֱOAô>PS X?q}0>5GE*8ub #* HT(U|F٬s\4*QRzġ'R!pTX˅5>p{Pp# fl`OdP_P@GПq4J ]/ip͡c%*&@P5l){Yo/ ΨMU-P 2:֟ 2ϻvׁQ.u >- L~=n#XRRR9JdQ Hl Cк!wςcuR ޾qX?ȜH\@Y}އt`q,&#Ih2ZAr`Pj8 twgaXiQIߏбF=PoMGP_-EYH"jV.,]o*$:)mIk Op)l.rDzBF9><s6.]"h(RچFHE=P[sۯt0cm=١LzRIU0vy: #c1"4z͢vܣ{ڳҁcv$6`co N`d7>&kH(L\ _m*IH_1kLsiP0qdCn$*荮)We m{(fu): ))ζ5Un Nxpk@ y#ZCY R(uQ2C)E5\+(] CVkCA)Ձ*k_p(c(#'bArI3&IŸp)Ҿc^Hy f%%U{@O'pςvRm|[ESJ.!&t58$8„e^o?v6Tpq+]e_B=FC}:|7rPb@.c+!c:ĶOyswNſT7\n;Ye/8 wnk_֙vK}7w>>B1M_cUkPMҊχBrZ. @.6.^hHc:Ң"R,5:?(< 2LCz^|G?>Nybr0ArE,c!=f:2;K i qA_c!".5Pq7@Q<9\nwwDWCq!")0o]lnVRS%P.Ps[%F|RjgZV + e;1듑HB%t>^/dL-yxvZ9OF8=>b5fj (t *lz=b2KhɠZq ȗo@pml}&/ӐХ*KHtԄ#gp}^M1)XĂd;  Fz5o*,`<'FiD8bx*MwG{I\ezxFMI a4SF־F(2Ze[u`<';)dϢ&䥾1L[<a n?kMk>g "ezN DٓJEJeHGɡX܊\(E_~ wh2GMI?,ܣ\vsIĵ`IDՁ zkDq⢐Aos)=]\/Pt{sQ9(S:Oq⎕]H.,m縡ǗA$i 0=!eހ1-[=2MS0b>ɢj1ۂNr[?wvvwaH{W,RP+5$% :~43JH!fBhJPuxMxT zYcB1(}cb}?fw0 6}ۯ?a:|~2)8(: >~HxSHpgwp0?1Fn'^ ey@?>ͨmPc"VrBK.זN疳3$=^NZe %TMJbB~ln{kp=f.\ "Kإ5y'< c7Gi}z0RMj5sd PG!`j" vcf#0r=WZu$ -_Xl־J/_rQ޺tmh'@=GӫZ 7"5K+X0'XAp?ݟfa۞F^4H͞jDW[n/^lȅEOdJYŚtSaYg1akxAa=kAYQYGt2x Bކjcmo8FʄCɅa\ nl#i>6s)auLX'ŵmB:PG1[)_\kp=FpAHNZb`ts&w[^EK~&sϭŃOW؜>vcV:0{.i.^/$z8*hoٴ#"tִjG'v60AP&tv c1юd?dYcx"jOx]ohIenT>USix{0C `ݣ9 dXȅ՞lhIy E j,jI_6@D-T̡r_ƒcBh9[i(/Wh{.?PF!.Kʟ@ t(~>8J$>:f1ACcww,լ>抮{$Pf,Vj36 . ց7{hj#ɐ4l ۪#@fj"0h939# @1cTd$.X ܴ.7í:k 5$3Z!2eE~6,/s.2,V{.(;Jn8A!B,fg.i^%DgY n/І!rb?eX+Ӳr[F: 6;Ch։' 1.x΂s(vX9fO##qAed<ɵJ[vRzQ,ǁGEj 2l6O,.j.BP@N7R=($fsysfSƐqyYLG=6~R꾨⣖UG-~QԒ-)>I^GYQK ݝ~Wĕed&EgM 0죕Ԡ|Ԓ?\CTZ'Xn>ӏfbӏzWQQOMj+<*@nfERI1*%FNV2ff)›SXD› XG2,,]mkY-,r=ͱDȚ]t$>܁^~%X|YBV0E\X䫶e Ê K}Zށrއ\NQ/"d4V}4~.)P-D9-x:X珏&]Ys9a0-ebyH&hFh<-u&b^eXs z 2AQR2^AKT0x,YX (2G>x$p ւ?`b 9(̬>xxh ,E vB '8$QSmix㠏Aʼg}pcL%E/BL,IkqQ=>"%1u6'x| ;r?Dr?-eAcs։uGKA O6 ˎ(VnV:d: {6d\SVnOiGB=d-Ne[ !M4‰e(2r B4*̶[ SXfQIŦ= KR醎K`|}CrTt|,IVS^`8l,E%-cFe&AM$"TY֖ۍ3t,ChİChA ~I_ %px[!`5cJ )q,K#7/W:l.d5K]Td8atYZw1 p(,aGh߭1Hx#5,Ao /}.,?O?Me?Me, (ʩFB؊2O@ s@YLm7sLNB'\?~ g~5z5( Xڲ%*`iBPRףR^b Q\ԡ K<%i<}AAZ(4(sY #@a@ _҃\GtW_\ rtɼr{UMI ?#9l$Z0=>a_ ִfM&xڞN>mCzi;(\Hjg4]$AsaV01FWD.,\ DrQQXXr( 0`X0E1dRPtyL[XZ+},Y-eedv%llOm0H`C7: z2cXeXe FQ,!xKU Rw;ʕ%%]qXX&]XX ,!eO/sڶC$E^bKv| @ */t)l,Iֺqq#XX _8 29'9ofCXð<F eҬ*AQ~UU}Fuq|X6sT3l,Q]Չ ~fk r}F{L/h 5%Gb;Xd[3Ke`I Xg;)>.SCzt>KP,,)e$EKlX2_r J~1\oz=XNy}x$Vmءw`ֳ!I7v:VoHgTl퐪[X)4c38ì8X6ې cdPrHG%'̠u0($N8: KlKKaaI[l65>2 ŦڇΞ’t4]|d l n,4v1 Sq,£gR\2}\-(FRǞ4s#;4urޥ䧲,edeXnjH ˢH0L!L! ae19X/ !o?-V!UCeX]U(Yҳbcl Ơ$fl6V9ˈ~<KfbXi2Pź~Xl,G~D H,`p 4/)mo?IbTϐ\4oa>*Kcicr)&HgY-^zg},~`6cMӶ^kli8T&|)oTߘ!K'k =قd:q;pށ3Xmac45X:>YZЊ5 ;ƶ۪Mbtb7 a@;^~1XOPa [?P :X! 14/ODZtt {]/ .Q~#GiH]29cY,,sHTm_^,IZ_?^FO&R=Q )Js7L&!? `X ?K zEx{K.Δ(,}wWX,nsX·LMe3GOù =+eWMA>IwEʁH4 KG?n4a'n/*a@DK1ՆfաR(|)h1+f0$OSԠx$Bwttx9'O[X]\&ܦw! 'EN\X 9߳i:?9ۉ۷h`DC +:/A l#- ,EBo}|$ KoXǰa +PJaiPo'GXM[?+on/e៥u<|~edʱ]s+vw ;w D5읭7\w;W;YvЅ&m U`g1ҹZ_$̥ci26pH,G "trRBҵpeDCYSE"4hj4#Z]P{ӲB2(4:?䰂xrtDK@7l,"8?GK#\(cO$,6OcIYˇ1(4x #Xιd1߱`)"s*%n.$jq$vXx6"ap6dNΫTp@>8@ /~HA.FkH];|4@>^qo?HJ[9oby<'Lg 4ց+R,K:ǃ,%P"IFrNXޯtY! rήR> @o- XwD_׀ %VnlH l^x H.d],>9K`[@CVT$~eTSDdrd[ !1e1Oiݻ0Pp1{ÃP${C^ZlIH0NP Pd&Z˺?qkip,'#xW& cP2i9"FhP\oE@?v]]5I" ꐕ(<+~, &li躭|Ѕ'"y#,,v@xs~:7Vc c&"rby^_mKgb$}UW²A\s-dayxUC\w1X]B{怤зЉ姌P22Nɚ2]|tU~H:#w&%HIr8RKș|~:+EŚyEvQrdųa{|;(~.],s /grl,A^C|"AQ'6@~)Sy˔x=$.(I&^< =J a`}M !3 " H|@ב  $ ~*܇L1# 0j<`#i$'>Icܢ j} &FA HА4|BDZG;Ӳ{LF+} "s$ a#I47?X; Hn I! 56<\.$>i ֧ }ZD|Nan m`{ҫtXdJ'o}zd?1t)Ÿc$hԐńn'pK!\¤On/|_ kX~n^ָ#=$:il,q8.0^ $͏u$iQҲ lj4lnGP^lIGO}:\D⏏"iȧ=4_rER>dgQF(EHbD}WW {6Mdc4t;EW o,uЁ?!5ҡQsQ{ IfNj͐-jhv$PՠZalj!IpvoLS; $  $ WH~ x/BQ0<ϑ,pT 8&8- 0'.EdAV 9TU՝̫>8qcs$<٨׫G{ 9 'FvO4:jkW&yi,ɶ7'9 :پImlzeYd<_M 0 jK; 9Hn1_,-WfGgyo ^$)(a]ڷ+赴f4u [HH]Yy]S#erg۟^kX~,C]iIϸD' K0'M^)"E0J%QTߛZgAA 3<-BAR٧hq.\aJ|t/@nzˑ|7xwmɻ7Ǜ;jW=a?(#R5To.&`@T&וcK>~LR[C}lMU=7S/1|VNo pX*;{+7)դV83(PpX 36>_|7 t-MpBcŏ?/>/^<_- e,=.s}]~sՇ}o F9m|93 + =mOn}y^,Zkg)^F9o~y_-/VGWU^sJ/Jgo5?Q䶫!Rj@uBB hS9+ޛe8PVo?I"RH. 튽τdk{t A!}췕u U~*D3o6![ozI#e[XEvVÕ>a5xOһe+Ph!qy\ [up䰮EO6(y0ӵ9ff=N?MJi@BjhLB["U7 A@gN8HG]|Io9H`~ž*0/4"O T 7g"íATF)r/;!ydj,&1Z\}Y-nV ڸz=+bp-2T>L؎^a{[֠&;lO[e1 4U[:IT^bXߣ3v?kn9V/np憎ѼH 7#]&Z:zUV(C ,^y ,y8|vcN+J֯99zt%\r;ohۋ32Q˕=Dii*g;Ȩ\]Vg G̈́L-_RoK.+h㛷*#kݳ?_-y& H&-?I >x Ŭi :Էe'8ཛྷrb|I:cՕAH%6=B1av7Yi[wegYB $lb~sx#sy-Ҭ0LH0+@NAyGS](a^9nAW kUWO]<~occU= :r50sGc Lis0(2&\}8S)۪-ey쟄kw4Uz}\5*s%"fgcjܾ;ؕwV=)7G뫋SmuLXW;):|uut<m]$g WzjϣR_gaU&]'ax.s1ܡl/7;3,?ROs:nxCVI%Z*Gm.Y:`}&_vHbzeC;e]qю?Ƹݸ|{ʽ,^ǽz[UiCG~cJ!hp,.{^*.vc.֯.^]JbkWkZ0`s U:L5,a~<9ϋi_,r:6N<ONvݞ|Zz$PKqLn$0w#@>֪oZ2R#ԔDnzP6 5Nk b1>ũ뉵ԏ\s\)쭂RTֶ9.hp-ڛ`8YhEEeA6qBf˞֨hXNP9@Q;(u_v vAGZ<϶ivKkŖ60-@ iprC[,䗴ѱ ".L+Vi ܸz n^퍹]sivjaF@=;j,@Rf@UÏFlоٗY ɥ$]48Rc.gxrVR[J?shtoK'e)8Ĵ%{VӚ\|N[0swIS;NQ-TuL<4ۢ{ f%:a'ow0J J}igƑN27mwU`ݬWM!2qQ:81"'[ǯmp(+P>x`?3UrXu#Rg>VcϽkgYTh ˅j›hOzLr 3ji:a4}y2WZo_?*f'}2&h37vͦf}:;K,Q+H>|~^m65WXPJ@Eͅ$%? KpT~Pڎ1)2@Ӽsv23jut9Wu6AgL3倦#=zEuGgt_։[_L>Vn_C(붞4b[7 Zvel0b+/Ӻ4pfq=0csS&*R=?{VL;ݡ\LQT9q]&P1c_5[YS\Xj n.ZYN:,fy%)R'Gא_bLɜq.iYhlFhXLU LMDkWZށ.UvN :D`|[Ac~i?D|0NL 3A? <:$ņ^ jh?i`Qb8sƏ~q}=>0Ԡ/ά%.@|JsZllxWti׉B ҺqI\Ib;54ӺdmoEQ/>T)($֗ %iQQB}zEz<^>%Npcuoaoʞ }v -(U]R*ߦ-6LogA+@{?vOO1#)&dUJ{t?.n뫿 2ڵk] @{;Ի{b통}Ap{ %#az%TdVa0W ?R$ijH *۟_?dC~N= 5ej5:% aF2b(%e]2C9,Vʀi˙.$tP[Sq-tRѨLL(Zy`wh|ez"x4N-M zΛ%b'jhh29j"UTM'eS(sJn\; ԗRm#YzOV̧G} ˯-Yuh~S.i/}@Otްx&A'R`M !_Q9e>cl~ I"z"!J=?lf<c`m^2qT&%Zs!GHS:czPRgH7V{Bt HKi2mUr-FLدQnS*_q4h yY3š.p`ySO2"66 &kX ofOe|}>?HRR ZS[{piIwT<!y]}JY<u+kP6/4}kJ)Oա՜shGC5Aδt|PfGޞ;PuxC)ھ9H)ᖴ ijCU =I3x({HwwnO4fINE8% 4IH1 M;xUzJ-X]9^b8c6u9yQ!_fUJlrcKɽjb?0XN]Wt'ńLiˁn5߭MzGibfܪ'Cv[g#EZU /TfW #~ }0G(aL/OMY٫EE_ZjERtئS/wNY$ uL D T>K09%+f"e FeRlޱ/]Br0N1T& d_FÊa|F`m@ml".u3{ٳLv[rtA €)[m[u>~LWWW7Wn\W27[i٤W__Vj](pc'o&V?98K wYeЎʥmݽ=ji;'7}MvmL!j*=EO}e5#lݘm]_gH+"`[)AFOVƄkJyiIWJ)1-`ξҟSaҚY aM`ybOmyLU!Eղv.M}lmK ά^<!A"dx^gْZ%UYJ<5֘h~i1}N.\D uxm~=R._LGa[R{h.qOv5;h=2vgY0mQCPihGgzd>/˚emeE 1`3gp P貦i~}$aW* 0cR7G_w)NP7h2(>aH׃5`>z ikG%kvԄ #'G,*3bo۴l{xˊOb&uu5i`y0$,j^n6D%|Dj0%C]4ʱ/\M=HZQKNT3>7yFI龟7#AL?2TH k{PT?_iU#2`f.kga^ៃ ,s@ك 4,.MbuzS߮gbXtdl"9ٽj(&Οa9elqRvNaM[kZoG <`2/h 5%?=Z/fM1 S3e&HVŇ#}Of 6[!f*{=JFm?qS a5Ckj-1ؿ԰B},.aː.$!xuϮhMOkV;RT4;o']#q=ӅW?fb BaZƵ2^s`~5-;eCEo,,n210jrX*bS 영gH2U{X7)` J|Q>B-( mVLhC}cFŮ1G p^ޛJ+ $, TO%^mkd`L;ۚS`&߅~Uu!Cnϖ1QIhoj& * iDtML%Cfvv1pܟ޹=Lb{BeUF;p{g-J'XM3ᓞj^ RΠ #D4o(Gh| ;r6+k`(:ZrL kU-u#ZSᔬ;jVު}TFtV+~hm3,QK*;0&e*dzg`=28-`϶(oEnAخ? z UP;M;Ea%. 3DԠ0\aӌ UI0֒ӯ݁f|l'/ OOTctB]#-6W M\U@ 1 \5vxCJm+r8.vF z{ mBWR1 ͙_&:n#eɹDr`I{u+1z62 M%\&a ^jh%Ű1k-fv+;fɺgKmg.7Sb?Crry^[t,14nb} NqrG cBTJ Niozb O:/GY˲Nf j|wa¶ N3^-ף(m'k-BAqio@A1Ƥl2%3Us/x@7[:>4(?trXsl81"?u9dp P{ QY)$V&ǀs2kla PDvgv|_b0$/GEZT%E=p@ku.|2J3z{umwZR]ոPAT ·/8O~z!:JX-v5R)1w).$k&{ {=*wxg6CY}7L 䟗iyפwzreT]gqvh\9ER_E#4֣ʭ2kj iٱK*Sl*Y߁-Wg!R]\[3%(mmiu]JW5 XT(H驊$;Ȝk`yx_ݢ̤ͦuٹѽ),g^sݢQ%~ek@rhӻF!|oY`Lymf*﬛<}̄0`.)MEB \%/`!f5AeN{^g@wI, |$9RU;Ss=JtUy}Il&U̖ yᅵp7}CX@}X[8{C;~Q!.1`=Ud!Xhmo۪m^oO`WVa@>8Kf[f?./jw//oņ?R6#d*4vlwbߠ^meP6Wϰ\\ 9Orw? u^{QG-tC*.9J蓵_}1i✈B֎a-*AI5 csM}pIc~굎jʴhz u4[5n3KLGt͊FP/_uB8NB!i!d f5&5LJ /7h$M91Z_G {m*; n@r=S:hȃ ~p4fϷWSw|You~_P ['<[aOpe_#H)<w0YÏ#}Mc7X_ djȾqZ[H9>R 1y-7ٽqe 2w_0w5U}V5 Ԩw4ϳj[FFMUkM#<grcJO)Z./}1a-[:THW_=g>YŬjB:4|,<%WfE.X!bPճ8, YSp"Z: v:bSTc ~ *;:2GuyqK1dgF&bP/ԧ|3S\A؆(tnj7.y %VPЩvhٔQn`uVZln {h1ҝ{iu}}Ý$٥iu{zʬWK+~Q쟩?;0sTM)3Bsn~w1ڪ0A$z1oEmvqoOݫx]cv4MA>ų 4NcsȈ7eo)OY-ܡ|d0r^!f/.|`sgFT'#9;ĜiEJ/>w 8&`ؾ^J,y=9-혨!ʶT ۊxVj=~ ۓM,xf%Ftާ:ڣ59f`H1ngwN M`qr]MQl ր(n=VС\>sz(1h1[^D (QJ o b5 ]0׀bl^klA[.kH*eFywJT'A`86N-lQń{:+g^\Ľ1LW:OfCE#jo9"p3fwuf*HjDX7#']Ƶ1FϵBDm4wSF= DOlXFwMEp/QA'f\aU.Y%%ߚIʚpِB )_󔤶="vT&'VwL#=l9̃N:n- N;d¾f7x_ dT LMe5q7e c.\90k5 ]sT)}IVjpO# B5(úE$c e@qfW4M75)/E_?}Յ'M2hc}5 f O?DA2}_=oXP!'M*iD1,NYapE\f?piʽk}Y҃0 O _2 c^KwBm@p,5O5\E\.ϳ-, X 5DDX^I7;$qZCw蝫]eJ{!9*waor*y=AZl' .'X'iFwxM:Z1JGęT QG^CsYx atV W 4ɪ[#̎g51Π8ZUK0T9iؠ1K#Thbu4ѝI O >9 WSdVF-j%I}+>ur Ĥ!R{iTUaD@sJ" .kHvv[֓"B*C1!Qzh䪺ys? `tg p+W'8ZdWk1g1yт]2˹<~"ORx%Z풲/;ӛrdžt 1ƽ0f܉Q(c@fΊeZzMA(^B:&rO8XvRLY_ujjUÌGh{^'=!P[7)u | sAːkEu1}lTҙ:PP}J!9FF fyW+n:Ώv;,3Lk립1/ʩ )יeGኬ`y'԰]wC6M3GMf jH ,r0Fя˹tYv*Ou reJ-Og:-vB_U:k@ hv&_2: TȪ:Y0+<%/h^ y|pCR˜{F8l{R?pdW){ E{Q١IfZ*p&W铀<,_kEΝ hV:s%+'R~څzLP{ &ӲBv (}ԗ@F|1yFubp=aX5]wzz}hJ)O"9)s@+LIgeY/hwt.pY09 'RdM{]zp Fyl/n]^RIi\t9b5r UfDXk00؜ϧ5%PӾ$ł}1͖? DJcimZGh U i<'l /:)5f=  Cu9 5p k&8ZWO׋AQ}//nVͧӋ_#z [Lf%n}bm  ?)poˮJRӠq9=bҿE5v#䴦 |6MjJj/]5jom7ºƫΌr5,oui}s5{R{ǫ`g)`cr-ws-ty:ob;Dl?;om宄c{Zc*έRv=>ٍ#︞l>e=ôJaHqMIϥiW|<[>?Z//٘X&v,H3xDDLrEU ԗ,.rچ:bfExt: ,4+vRS0(G䟃%BNCjq"nYjsڠ$f(+~{I=ۏ)aPkϮ֧7Wl1>H E|s ɽ$d\MQؙ;f|9</l/U6ٿ\|3B~Lf۽ 5D9]gwZ X:6ՠviaE4^@|% $D`ٿmgb/\vtZtDF䁼axfc wK`؜IYu׌PB(:o4?2HZo..׫AbuTK!" }˶\@a=g_|b^=M6ހ~:x82E lgEհc߫ o5\B,@sw,hiuZo?ú뛕[ݟ>uL}ٷ2":Nǃ vl]ދي4D7X!WDsr0.QVtͳyx B~; r\wM{-:V:x5]ƶM*.RR\1/ ,@S"fBײc-[RXgqոn LpQ ꫮMGS۱z:~`nk fZHGPܡ647GY݅!WK{\} |Ƶw9F&shY!mgyneݯ2VEDy Gc@b7t8a;+y#ֻǴbnݾl6X_[Ԃy JЄ;ۮ'jy 詀oYf< l9! pn2ڨb::Z3tw[T?kiTШsE>`ko\#kyJdh8Hr A+| tCFLu*ǷL⣴(v(?X&NKmop6fW4--i&[yA V ٽ-'Ejl#L͓֜1F[ވ=Vfݖt42^C` ~mFm0CU~:T7P}t~ (He%=:sFVpm97Ѧ LWLz67tmg./]Y|T),&6Ubf>:EuBdheU(5eYey9zYVh!j֕][9_wk+C1V;Lk &eǝ'kE,oh [dQ6d J9x nAS!$7.l'3{'1$x?tl-3ӡYe7eE +8 nEwrt~h.M՜NHW-0ULC `WARTu Ψcj3$EKۤ([. /Cpjɻ8}1Dr'ܭSu3ѹ0ٝzG cX<+P3(3wag[JG3iiv7:kǚ+qQr/`\Phus|zxrt*NT6/'Inl0= 1zvȨ U^jKMw\WRͬVя\U9C_~L9yt,#'8W@'gn&o nAN_֖::uw9߭~=уrHm:}ZdG=(Z|.̋ٲ`G"Z}XNg: יTߓ\ehM`,j3)]=j~G6U̅6tpO:*d&~T,UߟKcT_~d7n%ɺJɽߐc+AN3AT@ː]_݃X5f,/fRv+E;%kC+>+T mE+L?g\(9dsYtKaѥ7aG#Ĩ܂|߶M3 ,x%j踺?+6bN;=AoiB~gF  |Nq &!AeFP;Clފ2PYsh\k gۡ, y2dx0;{ܥM[.Xew. BhUT#x4dJ=x^#tc-(^VM]ޡvzTw ?0" dLvݜ9νDŽRA;1EoW3.D6߰_!ʾExbGzA:Vž[ ;VU#]KZJC 9 3Iۑr-CXmG|w|V$#lCMCL8W1ba؋2ߝDe C"4RZ5,iZHϬ B0}9ܒ1z&Z}lڻhe2/-1(%@,jԚ$ e>X&]KS j' U#zuxTl~잣u"P!vu]f*2Fl8^lϭ>kN9|KlEJ\1$yw }#EZU N6(W_ypku)21 j\ "/ܪgltkp2Rjm܆_OCR^\V`aup(GnOX?rtou\K)Refھ/uh6ܼ;>}C1A˕fs1T|_eElI|l0s.,u}> GD<%~34&(]ıp"t6|F} YmM3)P$k/l5`-2RTm\l;dn~㱂`ېRm cK9^5YD!@ 3N-mϘO|g HF^u*GYRRl* #o9]Est 0VCd㚃g N<ʝ_.֦"ˤ;wDO2EsZxI2%k;z iX!G^:BOGko,5U 䧁R>O*93ɶ}닲~M`3[0ov&4" _dQLE>~?#[g8Yӊ/alEA2~b^O, >b-H-,SH{G^9qל-rb ('w(@Pwp##.|%!Tg"elBD hu5mЖNEWp^-%|lh4OQZsն W[<~]1R#4,Qf˦v豆-eGKW!4@A)G?6StZTczͷo.: FQ֯6,\mՐ=N| =9Jgolang.org/x/sys@v0.26.0/.gitignorePK_(golang.org/x/sys@v0.26.0/CONTRIBUTING.mdPK9  0golang.org/x/sys@v0.26.0/LICENSEPKk4~ golang.org/x/sys@v0.26.0/PATENTSPKBz"U golang.org/x/sys@v0.26.0/README.mdPKBϯ'C golang.org/x/sys@v0.26.0/codereview.cfgPK Q), golang.org/x/sys@v0.26.0/cpu/asm_aix_ppc64.sPK`@L)golang.org/x/sys@v0.26.0/cpu/byteorder.goPKQ4#/golang.org/x/sys@v0.26.0/cpu/cpu.goPK0Ia]'o!golang.org/x/sys@v0.26.0/cpu/cpu_aix.goPK9mYs'%#golang.org/x/sys@v0.26.0/cpu/cpu_arm.goPK)i\)M&golang.org/x/sys@v0.26.0/cpu/cpu_arm64.goPK׭\(g+golang.org/x/sys@v0.26.0/cpu/cpu_arm64.sPKQE,J-golang.org/x/sys@v0.26.0/cpu/cpu_gc_arm64.goPK=b,`.golang.org/x/sys@v0.26.0/cpu/cpu_gc_s390x.goPKٔ*0golang.org/x/sys@v0.26.0/cpu/cpu_gc_x86.goPK z+/1golang.org/x/sys@v0.26.0/cpu/cpu_gccgo_arm64.goPKlRз/2golang.org/x/sys@v0.26.0/cpu/cpu_gccgo_s390x.goPKV LG,4golang.org/x/sys@v0.26.0/cpu/cpu_gccgo_x86.cPK®-n7golang.org/x/sys@v0.26.0/cpu/cpu_gccgo_x86.goPKJ͒B)w9golang.org/x/sys@v0.26.0/cpu/cpu_linux.goPKHWq-:golang.org/x/sys@v0.26.0/cpu/cpu_linux_arm.goPK3tO/<golang.org/x/sys@v0.26.0/cpu/cpu_linux_arm64.goPKuĶP1Cgolang.org/x/sys@v0.26.0/cpu/cpu_linux_mips64x.goPKɕ+&0Dgolang.org/x/sys@v0.26.0/cpu/cpu_linux_noinit.goPK[k0Fgolang.org/x/sys@v0.26.0/cpu/cpu_linux_ppc64x.goPKK 1Hgolang.org/x/sys@v0.26.0/cpu/cpu_linux_riscv64.goPKtz/TQgolang.org/x/sys@v0.26.0/cpu/cpu_linux_s390x.goPKBx+Sgolang.org/x/sys@v0.26.0/cpu/cpu_loong64.goPKc7(@+Tgolang.org/x/sys@v0.26.0/cpu/cpu_mips64x.goPKO &)Ugolang.org/x/sys@v0.26.0/cpu/cpu_mipsx.goPKj'(0Wgolang.org/x/sys@v0.26.0/cpu/cpu_netbsd_arm64.goPK" mv*1]golang.org/x/sys@v0.26.0/cpu/cpu_openbsd_arm64.goPKlx0&agolang.org/x/sys@v0.26.0/cpu/cpu_openbsd_arm64.sPK--bgolang.org/x/sys@v0.26.0/cpu/cpu_other_arm.goPKZ7/cgolang.org/x/sys@v0.26.0/cpu/cpu_other_arm64.goPKr71dgolang.org/x/sys@v0.26.0/cpu/cpu_other_mips64x.goPKnV0egolang.org/x/sys@v0.26.0/cpu/cpu_other_ppc64x.goPKŗ~1!ggolang.org/x/sys@v0.26.0/cpu/cpu_other_riscv64.goPK}u h*Hhgolang.org/x/sys@v0.26.0/cpu/cpu_ppc64x.goPKr.&+igolang.org/x/sys@v0.26.0/cpu/cpu_riscv64.goPKR%e),kgolang.org/x/sys@v0.26.0/cpu/cpu_s390x.goPKndvQ(Nrgolang.org/x/sys@v0.26.0/cpu/cpu_s390x.sPKQ^.tgolang.org/x/sys@v0.26.0/cpu/cpu_s390x_test.goPKˤ(ygolang.org/x/sys@v0.26.0/cpu/cpu_test.goPKe1(|golang.org/x/sys@v0.26.0/cpu/cpu_wasm.goPKi'}golang.org/x/sys@v0.26.0/cpu/cpu_x86.goPKJSqX&ʃgolang.org/x/sys@v0.26.0/cpu/cpu_x86.sPKν'golang.org/x/sys@v0.26.0/cpu/cpu_zos.goPK !H-golang.org/x/sys@v0.26.0/cpu/cpu_zos_s390x.goPK0 *<golang.org/x/sys@v0.26.0/cpu/endian_big.goPK}C-golang.org/x/sys@v0.26.0/cpu/endian_little.goPK?':+golang.org/x/sys@v0.26.0/cpu/endian_test.goPKھR+golang.org/x/sys@v0.26.0/cpu/hwcap_linux.goPK%golang.org/x/sys@v0.26.0/cpu/parse.goPK}xj*golang.org/x/sys@v0.26.0/cpu/parse_test.goPKΊSY2golang.org/x/sys@v0.26.0/cpu/proc_cpuinfo_linux.goPKg@,golang.org/x/sys@v0.26.0/cpu/runtime_auxv.goPKz嬘e2 golang.org/x/sys@v0.26.0/cpu/runtime_auxv_go121.goPK̑lI7cgolang.org/x/sys@v0.26.0/cpu/runtime_auxv_go121_test.goPKuy1golang.org/x/sys@v0.26.0/cpu/syscall_aix_gccgo.goPK 瓿4(golang.org/x/sys@v0.26.0/cpu/syscall_aix_ppc64_gc.goPK hY+golang.org/x/sys@v0.26.0/execabs/execabs.goPKaFLK1ۦgolang.org/x/sys@v0.26.0/execabs/execabs_go118.goPK x1$golang.org/x/sys@v0.26.0/execabs/execabs_go119.goPKKKan0golang.org/x/sys@v0.26.0/execabs/execabs_test.goPK'!Igolang.org/x/sys@v0.26.0/go.modPK(6Q$golang.org/x/sys@v0.26.0/plan9/asm.sPKCaf.ɰgolang.org/x/sys@v0.26.0/plan9/asm_plan9_386.sPKQqg0golang.org/x/sys@v0.26.0/plan9/asm_plan9_amd64.sPK&S.Pgolang.org/x/sys@v0.26.0/plan9/asm_plan9_arm.sPK<%X-golang.org/x/sys@v0.26.0/plan9/const_plan9.goPKqTf+golang.org/x/sys@v0.26.0/plan9/dir_plan9.goPKjK)++ʿgolang.org/x/sys@v0.26.0/plan9/env_plan9.goPKy:.Lgolang.org/x/sys@v0.26.0/plan9/errors_plan9.goPK~-+!'Ogolang.org/x/sys@v0.26.0/plan9/mkall.shPK6XC *golang.org/x/sys@v0.26.0/plan9/mkerrors.shPKſ@ 1+golang.org/x/sys@v0.26.0/plan9/mksyscall.goPKv\0~golang.org/x/sys@v0.26.0/plan9/mksysnum_plan9.shPK|?|/u08golang.org/x/sys@v0.26.0/plan9/pwd_go15_plan9.goPK#+golang.org/x/sys@v0.26.0/plan9/pwd_plan9.goPK2)$K& golang.org/x/sys@v0.26.0/plan9/race.goPK p'golang.org/x/sys@v0.26.0/plan9/race0.goPKU6Z%golang.org/x/sys@v0.26.0/plan9/str.goPK&N ! )golang.org/x/sys@v0.26.0/plan9/syscall.goPK4 0/|golang.org/x/sys@v0.26.0/plan9/syscall_plan9.goPK.golang.org/x/sys@v0.26.0/plan9/syscall_test.goPK2a4golang.org/x/sys@v0.26.0/plan9/zsyscall_plan9_386.goPKN\V 6golang.org/x/sys@v0.26.0/plan9/zsyscall_plan9_amd64.goPK4 golang.org/x/sys@v0.26.0/plan9/zsyscall_plan9_arm.goPKY$]!/golang.org/x/sys@v0.26.0/plan9/zsysnum_plan9.goPK/t9(7golang.org/x/sys@v0.26.0/unix/.gitignorePKuդ !'golang.org/x/sys@v0.26.0/unix/README.mdPK~/golang.org/x/sys@v0.26.0/unix/affinity_linux.goPK$golang.org/x/sys@v0.26.0/unix/asm_linux_ppc64x.sPKw0"Q1 Agolang.org/x/sys@v0.26.0/unix/asm_linux_riscv64.sPK9v/6Cgolang.org/x/sys@v0.26.0/unix/asm_linux_s390x.sPKcK^2rEgolang.org/x/sys@v0.26.0/unix/asm_openbsd_mips64.sPKw.10Ggolang.org/x/sys@v0.26.0/unix/asm_solaris_amd64.sPKn# ,-Hgolang.org/x/sys@v0.26.0/unix/asm_zos_s390x.sPKWt0Sgolang.org/x/sys@v0.26.0/unix/bluetooth_linux.goPKO+cUgolang.org/x/sys@v0.26.0/unix/bpxsvc_zos.goPK$ N *hgolang.org/x/sys@v0.26.0/unix/bpxsvc_zos.sPK܈K ,qgolang.org/x/sys@v0.26.0/unix/cap_freebsd.goPK&>*vgolang.org/x/sys@v0.26.0/unix/constants.goPK3f+wgolang.org/x/sys@v0.26.0/unix/creds_test.goPKkm2%golang.org/x/sys@v0.26.0/unix/darwin_amd64_test.goPKч2golang.org/x/sys@v0.26.0/unix/darwin_arm64_test.goPK )i^ ,ۋgolang.org/x/sys@v0.26.0/unix/darwin_test.goPK!E,golang.org/x/sys@v0.26.0/unix/dev_aix_ppc.goPKRZ.ǒgolang.org/x/sys@v0.26.0/unix/dev_aix_ppc64.goPK+Ӕgolang.org/x/sys@v0.26.0/unix/dev_darwin.goPKad .golang.org/x/sys@v0.26.0/unix/dev_dragonfly.goPKa>,golang.org/x/sys@v0.26.0/unix/dev_freebsd.goPK W +*ugolang.org/x/sys@v0.26.0/unix/dev_linux.goPKy}F/|golang.org/x/sys@v0.26.0/unix/dev_linux_test.goPKE-+golang.org/x/sys@v0.26.0/unix/dev_netbsd.goPKEw,golang.org/x/sys@v0.26.0/unix/dev_openbsd.goPK>(ĥgolang.org/x/sys@v0.26.0/unix/dev_zos.goPK'K}-̧golang.org/x/sys@v0.26.0/unix/dev_zos_test.goPK U 'Ԫgolang.org/x/sys@v0.26.0/unix/dirent.goPKDI,~golang.org/x/sys@v0.26.0/unix/dirent_test.goPKI50*golang.org/x/sys@v0.26.0/unix/dup3_test.goPK J+golang.org/x/sys@v0.26.0/unix/endian_big.goPKvTf.Ngolang.org/x/sys@v0.26.0/unix/endian_little.goPKkdRW)golang.org/x/sys@v0.26.0/unix/env_unix.goPKan72Fgolang.org/x/sys@v0.26.0/unix/example_exec_test.goPKye3ݾgolang.org/x/sys@v0.26.0/unix/example_flock_test.goPK7O'E5golang.org/x/sys@v0.26.0/unix/example_sysvshm_test.goPK|q03golang.org/x/sys@v0.26.0/unix/export_mremap_test.goPKV]M(3&golang.org/x/sys@v0.26.0/unix/fcntl.goPK^i`&-golang.org/x/sys@v0.26.0/unix/fcntl_darwin.goPK#2ogolang.org/x/sys@v0.26.0/unix/fcntl_linux_32bit.goPKVƄN &golang.org/x/sys@v0.26.0/unix/fdset.goPKB +golang.org/x/sys@v0.26.0/unix/fdset_test.goPK&golang.org/x/sys@v0.26.0/unix/gccgo.goPKC` '5golang.org/x/sys@v0.26.0/unix/gccgo_c.cPKYg*2golang.org/x/sys@v0.26.0/unix/gccgo_linux_amd64.goPKک3golang.org/x/sys@v0.26.0/unix/getdirentries_test.goPK+ /golang.org/x/sys@v0.26.0/unix/getfsstat_test.goPK`,{golang.org/x/sys@v0.26.0/unix/ifreq_linux.goPKc]c1golang.org/x/sys@v0.26.0/unix/ifreq_linux_test.goPKu- 49golang.org/x/sys@v0.26.0/unix/internal/mkmerge/mkmerge.goPKjI"a@ L*>Jgolang.org/x/sys@v0.26.0/unix/internal/mkmerge/mkmerge_test.goPKx G ,golang.org/x/sys@v0.26.0/unix/ioctl_linux.goPK8X -agolang.org/x/sys@v0.26.0/unix/ioctl_signed.goPKF ' /golang.org/x/sys@v0.26.0/unix/ioctl_unsigned.goPK|<#!*Jgolang.org/x/sys@v0.26.0/unix/ioctl_zos.goPK| .golang.org/x/sys@v0.26.0/unix/linux/DockerfilePKLj"iu,golang.org/x/sys@v0.26.0/unix/linux/mkall.goPKvV |/`@golang.org/x/sys@v0.26.0/unix/linux/mksysnum.goPKA,Jgolang.org/x/sys@v0.26.0/unix/linux/types.goPK;_p &#golang.org/x/sys@v0.26.0/unix/mkall.shPKǦc&3+golang.org/x/sys@v0.26.0/unix/mkasm.goPK 30P)(1golang.org/x/sys@v0.26.0/unix/mkerrors.shPKt4 _('Kgolang.org/x/sys@v0.26.0/unix/mkpost.goPK+ԃ>2*Ygolang.org/x/sys@v0.26.0/unix/mksyscall.goPKtJD/2igolang.org/x/sys@v0.26.0/unix/mksyscall_aix_ppc.goPKaXÏZK4xgolang.org/x/sys@v0.26.0/unix/mksyscall_aix_ppc64.goPK5ꮉ &2golang.org/x/sys@v0.26.0/unix/mksyscall_solaris.goPK*034ǚgolang.org/x/sys@v0.26.0/unix/mksyscall_zos_s390x.goPKBfZ 1golang.org/x/sys@v0.26.0/unix/mksysctl_openbsd.goPKd)golang.org/x/sys@v0.26.0/unix/mksysnum.goPK'~W.golang.org/x/sys@v0.26.0/unix/mmap_nomremap.goPKT]/golang.org/x/sys@v0.26.0/unix/mmap_unix_test.goPKl.golang.org/x/sys@v0.26.0/unix/mmap_zos_test.goPKn\é{'ggolang.org/x/sys@v0.26.0/unix/mremap.goPKr,golang.org/x/sys@v0.26.0/unix/mremap_test.goPK P@ -golang.org/x/sys@v0.26.0/unix/openbsd_test.goPKmC.golang.org/x/sys@v0.26.0/unix/pagesize_unix.goPKN&n0+0golang.org/x/sys@v0.26.0/unix/pipe2_test.goPKrQ /golang.org/x/sys@v0.26.0/unix/pledge_openbsd.goPKA~;.golang.org/x/sys@v0.26.0/unix/ptrace_darwin.goPK>/+(golang.org/x/sys@v0.26.0/unix/ptrace_ios.goPKW6u%Zgolang.org/x/sys@v0.26.0/unix/race.goPKۇ6)&golang.org/x/sys@v0.26.0/unix/race0.goPK&}a4mgolang.org/x/sys@v0.26.0/unix/readdirent_getdents.goPKUm@9golang.org/x/sys@v0.26.0/unix/readdirent_getdirentries.goPK|J> .golang.org/x/sys@v0.26.0/unix/sendfile_test.goPK; qt 3golang.org/x/sys@v0.26.0/unix/sockcmsg_dragonfly.goPK%;b /golang.org/x/sys@v0.26.0/unix/sockcmsg_linux.goPK*K .golang.org/x/sys@v0.26.0/unix/sockcmsg_unix.goPK~Й4golang.org/x/sys@v0.26.0/unix/sockcmsg_unix_other.goPK -golang.org/x/sys@v0.26.0/unix/sockcmsg_zos.goPKtl^A1golang.org/x/sys@v0.26.0/unix/symaddr_zos_s390x.sPK ݉B (golang.org/x/sys@v0.26.0/unix/syscall.goPK b`@,=golang.org/x/sys@v0.26.0/unix/syscall_aix.goPKc`(0golang.org/x/sys@v0.26.0/unix/syscall_aix_ppc.goPKph2!golang.org/x/sys@v0.26.0/unix/syscall_aix_ppc64.goPKd1xgolang.org/x/sys@v0.26.0/unix/syscall_aix_test.goPKJ>P;,golang.org/x/sys@v0.26.0/unix/syscall_bsd.goPKq4Ķ10golang.org/x/sys@v0.26.0/unix/syscall_bsd_test.goPK1{QZ/3golang.org/x/sys@v0.26.0/unix/syscall_darwin.goPKY5Ngolang.org/x/sys@v0.26.0/unix/syscall_darwin_amd64.goPK;8q|5Qgolang.org/x/sys@v0.26.0/unix/syscall_darwin_arm64.goPK,>y9Tgolang.org/x/sys@v0.26.0/unix/syscall_darwin_libSystem.goPKzB14tVgolang.org/x/sys@v0.26.0/unix/syscall_darwin_test.goPKSB޸ ,2`]golang.org/x/sys@v0.26.0/unix/syscall_dragonfly.goPK /8xkgolang.org/x/sys@v0.26.0/unix/syscall_dragonfly_amd64.goPKG>0_ngolang.org/x/sys@v0.26.0/unix/syscall_freebsd.goPK 4golang.org/x/sys@v0.26.0/unix/syscall_freebsd_386.goPK}6golang.org/x/sys@v0.26.0/unix/syscall_freebsd_amd64.goPK+jb4golang.org/x/sys@v0.26.0/unix/syscall_freebsd_arm.goPK7MGA6golang.org/x/sys@v0.26.0/unix/syscall_freebsd_arm64.goPKsC8ٌgolang.org/x/sys@v0.26.0/unix/syscall_freebsd_riscv64.goPK@ 5Џgolang.org/x/sys@v0.26.0/unix/syscall_freebsd_test.goPK_-љgolang.org/x/sys@v0.26.0/unix/syscall_hurd.goPK^r&1golang.org/x/sys@v0.26.0/unix/syscall_hurd_386.goPKWr 0golang.org/x/sys@v0.26.0/unix/syscall_illumos.goPK Ov7> :golang.org/x/sys@v0.26.0/unix/syscall_internal_bsd_test.goPK7?=golang.org/x/sys@v0.26.0/unix/syscall_internal_darwin_test.goPK2m eP<Ogolang.org/x/sys@v0.26.0/unix/syscall_internal_linux_test.goPKtbH6 #>Pgolang.org/x/sys@v0.26.0/unix/syscall_internal_solaris_test.goPK;Ux?.golang.org/x/sys@v0.26.0/unix/syscall_linux.goPKI #2golang.org/x/sys@v0.26.0/unix/syscall_linux_386.goPK[34 golang.org/x/sys@v0.26.0/unix/syscall_linux_alarm.goPK#4O"golang.org/x/sys@v0.26.0/unix/syscall_linux_amd64.goPK`t "7R)golang.org/x/sys@v0.26.0/unix/syscall_linux_amd64_gc.goPKW 2*golang.org/x/sys@v0.26.0/unix/syscall_linux_arm.goPKg43golang.org/x/sys@v0.26.0/unix/syscall_linux_arm64.goPK5 1l;golang.org/x/sys@v0.26.0/unix/syscall_linux_gc.goPKSI5<golang.org/x/sys@v0.26.0/unix/syscall_linux_gc_386.goPKG 5>golang.org/x/sys@v0.26.0/unix/syscall_linux_gc_arm.goPKn8 @golang.org/x/sys@v0.26.0/unix/syscall_linux_gccgo_386.goPKFnT83Bgolang.org/x/sys@v0.26.0/unix/syscall_linux_gccgo_arm.goPKԾ6Dgolang.org/x/sys@v0.26.0/unix/syscall_linux_loong64.goPK8N6Lgolang.org/x/sys@v0.26.0/unix/syscall_linux_mips64x.goPKŶ%?4)Tgolang.org/x/sys@v0.26.0/unix/syscall_linux_mipsx.goPK>~^h2[golang.org/x/sys@v0.26.0/unix/syscall_linux_ppc.goPK}X%5gdgolang.org/x/sys@v0.26.0/unix/syscall_linux_ppc64x.goPK݈6jgolang.org/x/sys@v0.26.0/unix/syscall_linux_riscv64.goPK|ާ0 %%4rgolang.org/x/sys@v0.26.0/unix/syscall_linux_s390x.goPKqN;x6m|golang.org/x/sys@v0.26.0/unix/syscall_linux_sparc64.goPK38%#|3 golang.org/x/sys@v0.26.0/unix/syscall_linux_test.goPKЂ e1/-golang.org/x/sys@v0.26.0/unix/syscall_netbsd.goPKR633,golang.org/x/sys@v0.26.0/unix/syscall_netbsd_386.goPK@.5golang.org/x/sys@v0.26.0/unix/syscall_netbsd_amd64.goPK>i؈33 golang.org/x/sys@v0.26.0/unix/syscall_netbsd_arm.goPKƩ.5golang.org/x/sys@v0.26.0/unix/syscall_netbsd_arm64.goPK2O=4golang.org/x/sys@v0.26.0/unix/syscall_netbsd_test.goPKV4 x,0golang.org/x/sys@v0.26.0/unix/syscall_openbsd.goPK-4golang.org/x/sys@v0.26.0/unix/syscall_openbsd_386.goPKpRe+6golang.org/x/sys@v0.26.0/unix/syscall_openbsd_amd64.goPKQ4Cgolang.org/x/sys@v0.26.0/unix/syscall_openbsd_arm.goPKj6golang.org/x/sys@v0.26.0/unix/syscall_openbsd_arm64.goPK1,rh5golang.org/x/sys@v0.26.0/unix/syscall_openbsd_libc.goPK=<7golang.org/x/sys@v0.26.0/unix/syscall_openbsd_mips64.goPKla6golang.org/x/sys@v0.26.0/unix/syscall_openbsd_ppc64.goPK 8Mgolang.org/x/sys@v0.26.0/unix/syscall_openbsd_riscv64.goPK N5golang.org/x/sys@v0.26.0/unix/syscall_openbsd_test.goPK0D"l|0Tgolang.org/x/sys@v0.26.0/unix/syscall_solaris.goPKHQ6golang.org/x/sys@v0.26.0/unix/syscall_solaris_amd64.goPK\s j)5ngolang.org/x/sys@v0.26.0/unix/syscall_solaris_test.goPK˟-Dgolang.org/x/sys@v0.26.0/unix/syscall_test.goPKԵ0C-/golang.org/x/sys@v0.26.0/unix/syscall_unix.goPK 001&golang.org/x/sys@v0.26.0/unix/syscall_unix_gc.goPKRT1,7'golang.org/x/sys@v0.26.0/unix/syscall_unix_gc_ppc64x.goPK!€}!k2P)golang.org/x/sys@v0.26.0/unix/syscall_unix_test.goPKkUQ2-Kgolang.org/x/sys@v0.26.0/unix/syscall_zos_s390x.goPK:P g1Ngolang.org/x/sys@v0.26.0/unix/syscall_zos_test.goPKӄQG3_golang.org/x/sys@v0.26.0/unix/sysctl_netbsd_test.goPKHT .golang.org/x/sys@v0.26.0/unix/sysvshm_linux.goPK` -lgolang.org/x/sys@v0.26.0/unix/sysvshm_unix.goPK!3golang.org/x/sys@v0.26.0/unix/sysvshm_unix_other.goPK+'h2golang.org/x/sys@v0.26.0/unix/sysvshm_unix_test.goPKmiP+golang.org/x/sys@v0.26.0/unix/timestruct.goPKym0golang.org/x/sys@v0.26.0/unix/timestruct_test.goPKn^ն*golang.org/x/sys@v0.26.0/unix/types_aix.goPK7I - golang.org/x/sys@v0.26.0/unix/types_darwin.goPKEv0qgolang.org/x/sys@v0.26.0/unix/types_dragonfly.goPKg} .mgolang.org/x/sys@v0.26.0/unix/types_freebsd.goPK 3j-F%golang.org/x/sys@v0.26.0/unix/types_netbsd.goPKrq. -golang.org/x/sys@v0.26.0/unix/types_openbsd.goPKCL* .04golang.org/x/sys@v0.26.0/unix/types_solaris.goPKU.&/=golang.org/x/sys@v0.26.0/unix/unveil_openbsd.goPKY19@golang.org/x/sys@v0.26.0/unix/vgetrandom_linux.goPK$7Agolang.org/x/sys@v0.26.0/unix/vgetrandom_unsupported.goPKqgT*Bgolang.org/x/sys@v0.26.0/unix/xattr_bsd.goPKMN+Hgolang.org/x/sys@v0.26.0/unix/xattr_test.goPK \>i9/Mgolang.org/x/sys@v0.26.0/unix/xattr_zos_test.goPKh00Rgolang.org/x/sys@v0.26.0/unix/zerrors_aix_ppc.goPKѳ12golang.org/x/sys@v0.26.0/unix/zerrors_aix_ppc64.goPKD`5Ugolang.org/x/sys@v0.26.0/unix/zerrors_darwin_amd64.goPKf' D`5Tgolang.org/x/sys@v0.26.0/unix/zerrors_darwin_arm64.goPKtEX;8S?golang.org/x/sys@v0.26.0/unix/zerrors_dragonfly_amd64.goPKӯE5>4F{golang.org/x/sys@v0.26.0/unix/zerrors_freebsd_386.goPK;B[E=6Wgolang.org/x/sys@v0.26.0/unix/zerrors_freebsd_amd64.goPKxaE<4I golang.org/x/sys@v0.26.0/unix/zerrors_freebsd_arm.goPK- >uE<6 M golang.org/x/sys@v0.26.0/unix/zerrors_freebsd_arm64.goPKEoIN8 golang.org/x/sys@v0.26.0/unix/zerrors_freebsd_riscv64.goPKuZ}. golang.org/x/sys@v0.26.0/unix/zerrors_linux.goPKU"2Z golang.org/x/sys@v0.26.0/unix/zerrors_linux_386.goPKk="4} golang.org/x/sys@v0.26.0/unix/zerrors_linux_amd64.goPK( @"2 golang.org/x/sys@v0.26.0/unix/zerrors_linux_arm.goPKa"84 golang.org/x/sys@v0.26.0/unix/zerrors_linux_arm64.goPKja"È6 golang.org/x/sys@v0.26.0/unix/zerrors_linux_loong64.goPK`u #3 golang.org/x/sys@v0.26.0/unix/zerrors_linux_mips.goPKgI5 #5#- golang.org/x/sys@v0.26.0/unix/zerrors_linux_mips64.goPKBh# 7P golang.org/x/sys@v0.26.0/unix/zerrors_linux_mips64le.goPKx #5t golang.org/x/sys@v0.26.0/unix/zerrors_linux_mipsle.goPKLi$S2w golang.org/x/sys@v0.26.0/unix/zerrors_linux_ppc.goPK d$4@ golang.org/x/sys@v0.26.0/unix/zerrors_linux_ppc64.goPK4$63 golang.org/x/sys@v0.26.0/unix/zerrors_linux_ppc64le.goPKqd3".6* golang.org/x/sys@v0.26.0/unix/zerrors_linux_riscv64.goPK!e=$4( golang.org/x/sys@v0.26.0/unix/zerrors_linux_s390x.goPKd?A%H6`M golang.org/x/sys@v0.26.0/unix/zerrors_linux_sparc64.goPKW;=#3es golang.org/x/sys@v0.26.0/unix/zerrors_netbsd_386.goPK^Ijg=d!5 golang.org/x/sys@v0.26.0/unix/zerrors_netbsd_amd64.goPK?=3Y golang.org/x/sys@v0.26.0/unix/zerrors_netbsd_arm.goPK}}g=d!5, golang.org/x/sys@v0.26.0/unix/zerrors_netbsd_arm64.goPK"QxKA3:4j golang.org/x/sys@v0.26.0/unix/zerrors_openbsd_386.goPK򯰃A5:6h golang.org/x/sys@v0.26.0/unix/zerrors_openbsd_amd64.goPKpvA):4O golang.org/x/sys@v0.26.0/unix/zerrors_openbsd_arm.goPKږA5:6'0golang.org/x/sys@v0.26.0/unix/zerrors_openbsd_arm64.goPK%B_A2:7rgolang.org/x/sys@v0.26.0/unix/zerrors_openbsd_mips64.goPKdnA :6golang.org/x/sys@v0.26.0/unix/zerrors_openbsd_ppc64.goPKۖpjA98golang.org/x/sys@v0.26.0/unix/zerrors_openbsd_riscv64.goPK.r567golang.org/x/sys@v0.26.0/unix/zerrors_solaris_amd64.goPK70)ٝ2mgolang.org/x/sys@v0.26.0/unix/zerrors_zos_s390x.goPKvAL4Ggolang.org/x/sys@v0.26.0/unix/zptrace_armnn_linux.goPK?'04+golang.org/x/sys@v0.26.0/unix/zptrace_linux_arm64.goPKFYC-n5golang.org/x/sys@v0.26.0/unix/zptrace_mipsnn_linux.goPK> `7golang.org/x/sys@v0.26.0/unix/zptrace_mipsnnle_linux.goPKό192golang.org/x/sys@v0.26.0/unix/zptrace_x86_linux.goPKG$3#2golang.org/x/sys@v0.26.0/unix/zsymaddr_zos_s390x.sPKb1~golang.org/x/sys@v0.26.0/unix/zsyscall_aix_ppc.goPKjE &x3golang.org/x/sys@v0.26.0/unix/zsyscall_aix_ppc64.goPK~6golang.org/x/sys@v0.26.0/unix/zsyscall_aix_ppc64_gc.goPK)V i{9golang.org/x/sys@v0.26.0/unix/zsyscall_aix_ppc64_gccgo.goPKqD6golang.org/x/sys@v0.26.0/unix/zsyscall_darwin_amd64.goPKĜ y5golang.org/x/sys@v0.26.0/unix/zsyscall_darwin_amd64.sPK5b 6*golang.org/x/sys@v0.26.0/unix/zsyscall_darwin_arm64.goPKΝ >y5"golang.org/x/sys@v0.26.0/unix/zsyscall_darwin_arm64.sPKP+9i.golang.org/x/sys@v0.26.0/unix/zsyscall_dragonfly_amd64.goPKa5>golang.org/x/sys@v0.26.0/unix/zsyscall_freebsd_386.goPKlUo7Pgolang.org/x/sys@v0.26.0/unix/zsyscall_freebsd_amd64.goPK'5bgolang.org/x/sys@v0.26.0/unix/zsyscall_freebsd_arm.goPKooȢ72ugolang.org/x/sys@v0.26.0/unix/zsyscall_freebsd_arm64.goPKD99golang.org/x/sys@v0.26.0/unix/zsyscall_freebsd_riscv64.goPK 7Dgolang.org/x/sys@v0.26.0/unix/zsyscall_illumos_amd64.goPKLRU/1golang.org/x/sys@v0.26.0/unix/zsyscall_linux.goPK})_m03`golang.org/x/sys@v0.26.0/unix/zsyscall_linux_386.goPK < A5 golang.org/x/sys@v0.26.0/unix/zsyscall_linux_amd64.goPK_ n>3golang.org/x/sys@v0.26.0/unix/zsyscall_linux_arm.goPK#>s85$golang.org/x/sys@v0.26.0/unix/zsyscall_linux_arm64.goPKѹr27golang.org/x/sys@v0.26.0/unix/zsyscall_linux_loong64.goPK,y C4golang.org/x/sys@v0.26.0/unix/zsyscall_linux_mips.goPKï:A6golang.org/x/sys@v0.26.0/unix/zsyscall_linux_mips64.goPKO% @8#golang.org/x/sys@v0.26.0/unix/zsyscall_linux_mips64le.goPKSx C63golang.org/x/sys@v0.26.0/unix/zsyscall_linux_mipsle.goPKƴ: WC3golang.org/x/sys@v0.26.0/unix/zsyscall_linux_ppc.goPK; *G5golang.org/x/sys@v0.26.0/unix/zsyscall_linux_ppc64.goPKAյ .G7golang.org/x/sys@v0.26.0/unix/zsyscall_linux_ppc64le.goPKy87*#golang.org/x/sys@v0.26.0/unix/zsyscall_linux_riscv64.goPKʐMq05,golang.org/x/sys@v0.26.0/unix/zsyscall_linux_s390x.goPKyo!A73golang.org/x/sys@v0.26.0/unix/zsyscall_linux_sparc64.goPKb4<golang.org/x/sys@v0.26.0/unix/zsyscall_netbsd_386.goPKԟ67Ngolang.org/x/sys@v0.26.0/unix/zsyscall_netbsd_amd64.goPK4f_golang.org/x/sys@v0.26.0/unix/zsyscall_netbsd_arm.goPKg6pgolang.org/x/sys@v0.26.0/unix/zsyscall_netbsd_arm64.goPKgV^B-5golang.org/x/sys@v0.26.0/unix/zsyscall_openbsd_386.goPK0q k4golang.org/x/sys@v0.26.0/unix/zsyscall_openbsd_386.sPK9s7golang.org/x/sys@v0.26.0/unix/zsyscall_openbsd_amd64.goPKO k6golang.org/x/sys@v0.26.0/unix/zsyscall_openbsd_amd64.sPKN`\<5golang.org/x/sys@v0.26.0/unix/zsyscall_openbsd_arm.goPK͜ס k4golang.org/x/sys@v0.26.0/unix/zsyscall_openbsd_arm.sPK& s7golang.org/x/sys@v0.26.0/unix/zsyscall_openbsd_arm64.goPKϥ k6golang.org/x/sys@v0.26.0/unix/zsyscall_openbsd_arm64.sPKNv8 golang.org/x/sys@v0.26.0/unix/zsyscall_openbsd_mips64.goPK\a k7pgolang.org/x/sys@v0.26.0/unix/zsyscall_openbsd_mips64.sPKCss7{)golang.org/x/sys@v0.26.0/unix/zsyscall_openbsd_ppc64.goPK$\ n6?golang.org/x/sys@v0.26.0/unix/zsyscall_openbsd_ppc64.sPKҵy9Jgolang.org/x/sys@v0.26.0/unix/zsyscall_openbsd_riscv64.goPK7% k8Lagolang.org/x/sys@v0.26.0/unix/zsyscall_openbsd_riscv64.sPK07Ylgolang.org/x/sys@v0.26.0/unix/zsyscall_solaris_amd64.goPKN `3݆golang.org/x/sys@v0.26.0/unix/zsyscall_zos_s390x.goPK A /4golang.org/x/sys@v0.26.0/unix/zsysctl_openbsd_386.goPKյB /6golang.org/x/sys@v0.26.0/unix/zsysctl_openbsd_amd64.goPK\@ /46golang.org/x/sys@v0.26.0/unix/zsysctl_openbsd_arm.goPKHB /6golang.org/x/sys@v0.26.0/unix/zsysctl_openbsd_arm64.goPK]B /7~golang.org/x/sys@v0.26.0/unix/zsysctl_openbsd_mips64.goPK(B /6%golang.org/x/sys@v0.26.0/unix/zsysctl_openbsd_ppc64.goPKM /8golang.org/x/sys@v0.26.0/unix/zsysctl_openbsd_riscv64.goPK?&?^G5~golang.org/x/sys@v0.26.0/unix/zsysnum_darwin_amd64.goPKn~  G5 golang.org/x/sys@v0.26.0/unix/zsysnum_darwin_arm64.goPK lDpn8golang.org/x/sys@v0.26.0/unix/zsysnum_dragonfly_amd64.goPK@6e*!`4M-golang.org/x/sys@v0.26.0/unix/zsysnum_freebsd_386.goPKf2X+!b6Ngolang.org/x/sys@v0.26.0/unix/zsysnum_freebsd_amd64.goPKVj*!`4hpgolang.org/x/sys@v0.26.0/unix/zsysnum_freebsd_arm.goPKnq]+!b6golang.org/x/sys@v0.26.0/unix/zsysnum_freebsd_arm64.goPKOe-!d8golang.org/x/sys@v0.26.0/unix/zsysnum_freebsd_riscv64.goPK|`{G2golang.org/x/sys@v0.26.0/unix/zsysnum_linux_386.goPKwȏ 34fgolang.org/x/sys@v0.26.0/unix/zsysnum_linux_amd64.goPKC A2ugolang.org/x/sys@v0.26.0/unix/zsysnum_linux_arm.goPKy! ,4golang.org/x/sys@v0.26.0/unix/zsysnum_linux_arm64.goPK- +6? golang.org/x/sys@v0.26.0/unix/zsysnum_linux_loong64.goPK@ vF3golang.org/x/sys@v0.26.0/unix/zsysnum_linux_mips.goPK8G Z45b%golang.org/x/sys@v0.26.0/unix/zsysnum_linux_mips64.goPKȿI `47 2golang.org/x/sys@v0.26.0/unix/zsysnum_linux_mips64le.goPKS!IxF5>golang.org/x/sys@v0.26.0/unix/zsysnum_linux_mipsle.goPK-E2Mgolang.org/x/sys@v0.26.0/unix/zsysnum_linux_ppc.goPKhэ .94\golang.org/x/sys@v0.26.0/unix/zsysnum_linux_ppc64.goPK~l< 496kgolang.org/x/sys@v0.26.0/unix/zsysnum_linux_ppc64le.goPKh 8,6lygolang.org/x/sys@v0.26.0/unix/zsysnum_linux_riscv64.goPK*7 44golang.org/x/sys@v0.26.0/unix/zsysnum_linux_s390x.goPKMxNh24golang.org/x/sys@v0.26.0/unix/ztypes_darwin_amd64.goPKDNh24\golang.org/x/sys@v0.26.0/unix/ztypes_darwin_arm64.goPK=`7 !golang.org/x/sys@v0.26.0/unix/ztypes_dragonfly_amd64.goPK* &3)golang.org/x/sys@v0.26.0/unix/ztypes_freebsd_386.goPKF  &5)5golang.org/x/sys@v0.26.0/unix/ztypes_freebsd_amd64.goPKF|E &3@golang.org/x/sys@v0.26.0/unix/ztypes_freebsd_arm.goPK" %5Kgolang.org/x/sys@v0.26.0/unix/ztypes_freebsd_arm64.goPKp %7Vgolang.org/x/sys@v0.26.0/unix/ztypes_freebsd_riscv64.goPK]LCݵU-/bgolang.org/x/sys@v0.26.0/unix/ztypes_linux.goPK'Pb 11ggolang.org/x/sys@v0.26.0/unix/ztypes_linux_386.goPK> 13(%golang.org/x/sys@v0.26.0/unix/ztypes_linux_amd64.goPK.C 01#2golang.org/x/sys@v0.26.0/unix/ztypes_linux_arm.goPK l^ R03>golang.org/x/sys@v0.26.0/unix/ztypes_linux_arm64.goPKJ:] g05Kgolang.org/x/sys@v0.26.0/unix/ztypes_linux_loong64.goPKE|jW 12DXgolang.org/x/sys@v0.26.0/unix/ztypes_linux_mips.goPKYQaL 04dgolang.org/x/sys@v0.26.0/unix/ztypes_linux_mips64.goPKukLd 06qgolang.org/x/sys@v0.26.0/unix/ztypes_linux_mips64le.goPKR:Ro 14q~golang.org/x/sys@v0.26.0/unix/ztypes_linux_mipsle.goPK{_ 11Bgolang.org/x/sys@v0.26.0/unix/ztypes_linux_ppc.goPKd_ 13golang.org/x/sys@v0.26.0/unix/ztypes_linux_ppc64.goPK~iw 15golang.org/x/sys@v0.26.0/unix/ztypes_linux_ppc64le.goPK|;5golang.org/x/sys@v0.26.0/unix/ztypes_linux_riscv64.goPKJ F23golang.org/x/sys@v0.26.0/unix/ztypes_linux_s390x.goPKvMJ 05golang.org/x/sys@v0.26.0/unix/ztypes_linux_sparc64.goPKQ\ %2ggolang.org/x/sys@v0.26.0/unix/ztypes_netbsd_386.goPKi &4golang.org/x/sys@v0.26.0/unix/ztypes_netbsd_amd64.goPKgR Z&2golang.org/x/sys@v0.26.0/unix/ztypes_netbsd_arm.goPKۣs &4Ugolang.org/x/sys@v0.26.0/unix/ztypes_netbsd_arm64.goPKx_ $3golang.org/x/sys@v0.26.0/unix/ztypes_openbsd_386.goPKYoc $5rgolang.org/x/sys@v0.26.0/unix/ztypes_openbsd_amd64.goPKl %38golang.org/x/sys@v0.26.0/unix/ztypes_openbsd_arm.goPK Oq %5!(golang.org/x/sys@v0.26.0/unix/ztypes_openbsd_arm64.goPK(5ur %62golang.org/x/sys@v0.26.0/unix/ztypes_openbsd_mips64.goPK :j 5Sgolang.org/x/sys@v0.26.0/unix/ztypes_solaris_amd64.goPKxɸ "1O]golang.org/x/sys@v0.26.0/unix/ztypes_zos_s390x.goPKIR+fhgolang.org/x/sys@v0.26.0/windows/aliases.goPKrϫ 0/igolang.org/x/sys@v0.26.0/windows/dll_windows.goPKǓW/wgolang.org/x/sys@v0.26.0/windows/env_windows.goPKeԸV4rzgolang.org/x/sys@v0.26.0/windows/env_windows_test.goPK(hm9,|golang.org/x/sys@v0.26.0/windows/eventlog.goPKFx\ Y0~golang.org/x/sys@v0.26.0/windows/exec_windows.goPK :}2golang.org/x/sys@v0.26.0/windows/memory_windows.goPKs9qx.1golang.org/x/sys@v0.26.0/windows/mkerrors.bashPKb&*hf6golang.org/x/sys@v0.26.0/windows/mkknownfolderids.bashPKFo-ʓgolang.org/x/sys@v0.26.0/windows/mksyscall.goPKa=golang.org/x/sys@v0.26.0/windows/mkwinsyscall/mkwinsyscall.goPK7 f B'golang.org/x/sys@v0.26.0/windows/mkwinsyscall/mkwinsyscall_test.goPKR$O(golang.org/x/sys@v0.26.0/windows/race.goPK)golang.org/x/sys@v0.26.0/windows/race0.goPK 188Ugolang.org/x/sys@v0.26.0/windows/registry/export_test.goPK$o T0golang.org/x/sys@v0.26.0/windows/registry/key.goPKL)6golang.org/x/sys@v0.26.0/windows/registry/mksyscall.goPK_hI@}K:Qgolang.org/x/sys@v0.26.0/windows/registry/registry_test.goPK!a{46golang.org/x/sys@v0.26.0/windows/registry/syscall.goPK -26golang.org/x/sys@v0.26.0/windows/registry/value.goPKI`K{=golang.org/x/sys@v0.26.0/windows/registry/zsyscall_windows.goPKm .u2U4golang.org/x/sys@v0.26.0/windows/security_windows.goPKa+ )+golang.org/x/sys@v0.26.0/windows/service.goPK(}: 4X*golang.org/x/sys@v0.26.0/windows/setupapi_windows.goPK['egolang.org/x/sys@v0.26.0/windows/str.goPKdE1=ggolang.org/x/sys@v0.26.0/windows/svc/debug/log.goPK/J5igolang.org/x/sys@v0.26.0/windows/svc/debug/service.goPKp7 & 8lgolang.org/x/sys@v0.26.0/windows/svc/eventlog/install.goPKć 4pgolang.org/x/sys@v0.26.0/windows/svc/eventlog/log.goPK{,%9Htgolang.org/x/sys@v0.26.0/windows/svc/eventlog/log_test.goPK H4vgolang.org/x/sys@v0.26.0/windows/svc/example/beep.goPK;F,7Hxgolang.org/x/sys@v0.26.0/windows/svc/example/install.goPK"c2n^14_{golang.org/x/sys@v0.26.0/windows/svc/example/main.goPK#g0u6golang.org/x/sys@v0.26.0/windows/svc/example/manage.goPKnGj7golang.org/x/sys@v0.26.0/windows/svc/example/service.goPK?#:PX2golang.org/x/sys@v0.26.0/windows/svc/mgr/config.goPKF6i/kgolang.org/x/sys@v0.26.0/windows/svc/mgr/mgr.goPKW -4ngolang.org/x/sys@v0.26.0/windows/svc/mgr/mgr_test.goPK)oV4vgolang.org/x/sys@v0.26.0/windows/svc/mgr/recovery.goPKM3.golang.org/x/sys@v0.26.0/windows/svc/mgr/service.goPK;%i 0golang.org/x/sys@v0.26.0/windows/svc/security.goPKOo */Hgolang.org/x/sys@v0.26.0/windows/svc/service.goPK-c<x0golang.org/x/sys@v0.26.0/windows/svc/svc_test.goPK+$3T +golang.org/x/sys@v0.26.0/windows/syscall.goPK 0[golang.org/x/sys@v0.26.0/windows/syscall_test.goPK$:MQN3golang.org/x/sys@v0.26.0/windows/syscall_windows.goPK73 8'golang.org/x/sys@v0.26.0/windows/syscall_windows_test.goPK)3a0'[golang.org/x/sys@v0.26.0/windows/testdata/READMEPKFp%F<\golang.org/x/sys@v0.26.0/windows/testdata/ev-signed-file.exePK' ~ q1golang.org/x/sys@v0.26.0/windows/types_windows.goPK1k55golang.org/x/sys@v0.26.0/windows/types_windows_386.goPKE')17qgolang.org/x/sys@v0.26.0/windows/types_windows_amd64.goPKRfk5golang.org/x/sys@v0.26.0/windows/types_windows_arm.goPKE')17golang.org/x/sys@v0.26.0/windows/types_windows_arm64.goPKz\^m3golang.org/x/sys@v0.26.0/windows/zerrors_windows.goPK"^J;golang.org/x/sys@v0.26.0/windows/zknownfolderids_windows.goPKİls4golang.org/x/sys@v0.26.0/windows/zsyscall_windows.goPKKdependencies/pkg/mod/cache/download/golang.org/x/sys/@v/v0.26.0.ziphash0000644000000000000000000000005715107355264024416 0ustar rootrooth1:KHjCJyddX0LoSTb3J+vWpupP9p0oznkqVk/IfjymZbo=dependencies/pkg/mod/cache/download/golang.org/x/sys/@v/v0.26.0.lock0000644000000000000000000000000015107355263023663 0ustar rootrootdependencies/pkg/mod/cache/download/golang.org/x/sys/@v/v0.6.0.mod0000644000000000000000000000004115107355263023435 0ustar rootrootmodule golang.org/x/sys go 1.17 dependencies/pkg/mod/cache/download/golang.org/x/sys/@v/v0.0.0-20210514084401-e8d321eab015.mod0000644000000000000000000000004115107355263026606 0ustar rootrootmodule golang.org/x/sys go 1.17 dependencies/pkg/mod/cache/download/golang.org/x/sys/@v/list0000644000000000000000000000013515107355264023010 0ustar rootrootv0.0.0-20210514084401-e8d321eab015 v0.0.0-20220811171246-fbc7d0a398ab v0.6.0 v0.26.0 v0.38.0 dependencies/pkg/mod/cache/download/golang.org/x/sys/@v/v0.0.0-20220811171246-fbc7d0a398ab.mod0000644000000000000000000000004115107355263026764 0ustar rootrootmodule golang.org/x/sys go 1.17 dependencies/pkg/mod/cache/download/filippo.io/0000755000000000000000000000000015107355263020473 5ustar rootrootdependencies/pkg/mod/cache/download/filippo.io/edwards25519/0000755000000000000000000000000015107355263022532 5ustar rootrootdependencies/pkg/mod/cache/download/filippo.io/edwards25519/@v/0000755000000000000000000000000015107355264023100 5ustar rootrootdependencies/pkg/mod/cache/download/filippo.io/edwards25519/@v/v1.1.0.info0000644000000000000000000000031015107355264024572 0ustar rootroot{"Version":"v1.1.0","Time":"2023-12-10T19:13:24Z","Origin":{"VCS":"git","URL":"https://github.com/FiloSottile/edwards25519","Hash":"325f520de716c1d2d2b4e8dc2f82c7ccc5fac764","Ref":"refs/tags/v1.1.0"}}dependencies/pkg/mod/cache/download/filippo.io/edwards25519/@v/v1.1.0.ziphash0000644000000000000000000000005715107355263025314 0ustar rootrooth1:FNf4tywRC1HmFuKW5xopWpigGjJKiJSV0Cqo0cJWDaA=dependencies/pkg/mod/cache/download/filippo.io/edwards25519/@v/v1.1.0.mod0000644000000000000000000000005015107355263024416 0ustar rootrootmodule filippo.io/edwards25519 go 1.20 dependencies/pkg/mod/cache/download/filippo.io/edwards25519/@v/v1.1.0.zip0000644000000000000000000015500115107355263024450 0ustar rootrootPK9filippo.io/edwards25519@v1.1.0/.github/workflows/test.yml|OK@G?KwE<,z"۰lI6JwM؞0=&,SZe'TNI]E)x5 #&p4Xmq%jE68Zv{=|>,u>Msc7]GPAȑ- -ȱtʇ4ڸHU:h 3ɢtG>%U1{/(*Cd"zB'xy|}z=97PKPK&filippo.io/edwards25519@v1.1.0/LICENSEO{o['b1.)6_d:ٶR=x>]޼}>E|˷oB O·|$`VH3}F ˄k0 ?Ovϡ'8&{ blc4.޽L!" |vvyɦK!]"T;~d0_C7qKKں! v4mI~2dxl‡wu4&ȟ&_L[ɍ,qx;Ocv8O]ɐ{@ okZ4 PVK| \}=$S Bﺆ {*%m5go˦x-5ZIw\ Zy߯Alci7\ mPtTj^ z ŐbU\ ;V[쑵MsJ"-}DN KrȊKVsU򊵚6Q+9m l5Tb՜6n!IQeJskU欘|%Sa^gfLʾ\Ş=2UhSTk&!&}}tdIф@iK}LHh!5̈memҮH*{*y,zH^ y}; &YYpPKRVPK(filippo.io/edwards25519@v1.1.0/README.mdTъF|W4˂Ov=H $G^3qѴ=Vft &OTU]=?@ϑQZmn~0fpoG6|Px# A>\b176@/P/|5=ÑÑS3E|&k? }e 0x mӹ9K?-V x6 c\<*|8oBL0%%*Q2&_3&\<!al S/wt-Ł_>=Q >p>NЅ]ƽ+u'Tv-rbe68 dDh^/%QP:3xvm PKtWPK%filippo.io/edwards25519@v1.1.0/doc.golRjL]~c[.HRH5g!+z2J ϜsOQI|(.% ׆%mqfHP"mWE_ {ˎjH"9'|~$eVb"hcD GhC*hʔƾ@n4R>·]&}Xf}RrxX8 UmNט%>akl.vf_̟˫ӡsNJcI;}&PT(._SVˬݧEg|BH7|礙 H#5܇eR2.3`e :;T,Y(Qs0޲ũ8N}UyYe-wOPKFPK.filippo.io/edwards25519@v1.1.0/edwards25519.go:nFֿŧ8dBSuT4- |v bDYfhΐ&}}0eusրƶ6"\bJ`V \CԶ И e FaiӨm3nV"0܇fpI_|=` +l4$Bi ӫt<~::NgPPp]]29pc5g1ȭ# \)Cf2qU?8_B' 3$L31LV0.{3|t{+:tę"0_hrOd+SŢ:XM}J׫t\-} ^ _u +a\|݃> ^o1Nc6  ĴOΪffUjO&0Ve<.N04-|_o%5I0ݔ6[ @i0 ;빂%(dSC*ezL% zZ!Kg@ټȖ`jDhm,lE\%=&G5rWn{ew{,riA: Evypo42H0 ` $5O tD,Tك*PfL1P@fP&/$O%ð ۃ;h:+y?Gm4StVWA6/fT]]K( h$JWG͂s. pES+Tji`XbBSzbMZ7ek7:|ȗyVHef:\Z* |X[7)R넡TҸeGTE̷=K0KR'.}jFX`D3R€MZQe!F*4Pp݉ g\l[O̖DABTa u@ 7"XKK7*Bl%d?~ϵ72[p{o@ْ8Π4ݒb<&{ w6ʍ*8ś;Lj20FqW4;~<'SCT|T~dY'7*ˉ3vnʃU(X.lH) [N}[*Tj w7Օ#@ σQy&l{Π"ǔr ~Cf>b4w{316oʲJ;(NjM[Fg}XFA,A#`A-<'L}/JP[6@tWn>YZ]}Nu;`gu2TQ޶Mʵr%=lmO Ip^-ݓKs2ɼ:9 Q/`EŻz,+...!\KrƷ;4IC!RN7W 5o"hB)f: ul/q+j]Znz=}N̛瓈>qa`CdL:tlЎ滹d(7h> 7OCpdX;95<Ѿ ms8Y5}W[8"DanSV9%]>DӇR\4 9wf.z'zQ_ 'JkNbocQ͒HԴQ. <{7gbyzՇk\WΨ_'Ȃ}Fxź d _Psp:g[*-r} Vtk*x-F~[㺟-m>pni> x3BN6Q]% NNM_9-i8|>ݚ9##|>>T@w_ͻ-<8Rn@c2Io7M:lSF]77L}|B~yyqYʲR ji=9/+Ë 6ﺨ;Vlu=ڋvOA?ͷUAw/37N/!HhY>4YRob(u~#ڥFCVoz⃞|Ozқ Jw[_fr{p(['=h'U` A4O/L}2^W9Z#[RD0JXtߎdu|Xt|ݲBvcZ4_ ƵM1\yrn`S*]os'~gQ^;?b_mRDxeIaY n7zH4U Kzk6uv34]w;O?PKA* )PK3filippo.io/edwards25519@v1.1.0/edwards25519_test.goZnF|dEQ\vU(q:AJsŊJKft(})d ~3?n^Fqʂٜ9~c/|ĆaR% %z>HsCEKd=@`|4D+ \ .0E ?~yqyu~1q?zwyI0pu=#еR7:qҵC?DG 謥Z #;eS]?k馮/ 1~D SVm=/H(LF%qFKB=8$1/ 0D*]4k/&;[Jd֊U #xߝdoyV O'% oZ_g=&b"F+֠0TEJ8&bϢ[xK8-BXFt<€ s\ٺso^ ia=Nܞ!wr2lxtYą5B,j>,3clq11Lf+MXDg0WϤƓ\ *$-K@GKkK,||Cj6d6%N-ʞعĊ.2ӍCۺV]-{yW%1IP;I(,&|z7OYO׵U<UXxEwF̢,}{bSQ/LUhH ffSBdL[K4?0 (]rmTϋ`IB<r&LTױ Wt>RRfew1^jZ7Nޓgq[s\KKdȕU@?4XmEh7y쑼E&VY i=־hOW. =?FV\ZsWV H)[ OvDf$- > b z%uJT%ekĄkY1cZ 7Fo ׏^eȘnB7wg?)~$A9O߽s`j_>ݖ _y26uMu_g2l[/PKS $PK'filippo.io/edwards25519@v1.1.0/extra.go:r68K*4eɱzםIӤ734wف# 0(Y}sJԇݺ?8_88L t4r#3 F,梐9h92r odڝ1yu`*YB;9^BZL~|7c<GM|.r'N`g:Y;\DOlQvkޱ\k~7r]0O*VIs¡INqZLlfB3V.Mc% Ð77б./vpx/Ѓ_ftս O(Wu׼{%^TCgDfbɲXFyq2ϣCZ!TXc 1n8H!L{â˳Lܖ2lp~x[:?jzfI~ 6x(XJEA@ yMjuJgJf> I@霪I "$?޼ϟ3;BK-VAV8Jj$EM̐W)9U.]9*G}M~g}>FЙEǺŲfrSD"R'e4 % tk,JLX![LU9fs *%?VjvIjEa騈g|DNfҺ&8dVyиP=2y?rknLKfՠbY 퐱Y~jQ 2ӟQ:Fp{g֙:nIy0F6gujͳcX:dS?K{P=u %Q" LM=KOWܼp }Y&PmvkNvx%Lr=W\3vtIٙ,k@#Ia8&,CZ8˯8`Rq8kǴWt|C %pP!HdNu:Pn&=&vT6{ݡaQ-wv,i):ϟѳ {] JZ*K@сRUdv~sT0o(!sNȸ֑E& ab(? C?$ o0+ȧO:7Mrzun_ePZq)̖ltCIM='+!Zja"LN%.[H. r 2wx W֊p hqJ|VO{FAuN/,p:^9}οoo~doަpvDyS.5dzVV.f7U˱t6*\[G(.fFSbgҡqZ㨦/O?Z$A4M8;yt֎H'G0>ro:93`t=p^U}S&wȔ`a>a6w he<תmjj<)+y {{wrLhD GpmYRLcV(`&FEc2\FhP9YH޲T"Mb&\x8j;! Tci -&ahHp&FEj/bH-u31v@3%m%MōC}󓻬n+{Wu& s0"wӺYf$=}6ʽH6L+V@$#y9;"$F,G%TWrqNs }'N=)lf>+M0[fe++PPueitipE,!|X`*X4vap{zLcy1OVg99<E|. ö[pdt9{v9ӧ<+)}dE޹U?E[!=<Ǧcg5D{qAo=g|Yc,{~p8A=^}ip<?<8="<=A5zR” n/ǟ[ŗP=_CM "P:#̒لύR}UlI{JʯhONWg<veAdmfI_rsޠQ0z@19 !',fU!.UAS oM ҮΌIrZ橧-D371T2|t.|SϳMT.!fKEa ? f ϴ0#\9#m0[wn^Y⟭əpay7Rߗi3=a߾^p;W{ʷw A?hYPKiM) (PK,filippo.io/edwards25519@v1.1.0/extra_test.goXms۸L=͜J9kh N1O^XH+@By,mY!+Pb&) +{%2@^hNbh !/Az}y r^`wdH~?>TBj|AҢ-I Q{s[Ҽm=3N~7G/kQꑘ\T֙tp=,ȤžxEبߓKЙGoBBFV%0WDsQ*QFP=#E> `ebW̔\Qڴb_à JMJ* ښQ5TRT()@9J5HF,X8]GA&PYgt*rB?4rq܏\@f\';#Qr 9jێ30lV 0dXEO - '5-pznuF?tBc 2!́7Z1jeN?W|9=DYup`$9REH>Rpk(޼X@K3(Tt5" Z#kR˶>1һ E}wn~+) P-K8icټ&9m KD#seULYWqԉԊ9*>*opQnrYͲӿ֏&F7ˇq4~tA KcJX^3^vvW+_'`hq ZWt'I nݤzK$ڸ0:dH┽즄H2wݸO8qΰX?A:`4IŚcGW{qMGX:ߝ[*1Y A|?u,留H-㜸.s^r}X^U5Rs0t߄e[/[PZla?i%ˬnKy0;rB;}֥n;nItݜF39xme^+3u斱N7(ÍC8YO)32gCcN7*~.y.5%<˃i@*#DM}[^tU}Ns̓j \'Wyz:@D")tIJQrJ -eCUT& sp4JkTCzP{6;ș5Tf􊱠 aHیWcjgjZ,#;)J j*JyC:8KZ,ET5MpVԼY:}xŊ+SI 8.}X]K[_{O'2;mkž)W\ jOM"w C -p< EYX,1-nj7ho4ukD[27#)QmL,B۞\<.Cx $)O>dq7et[A{F( cHh37z~l:Nx 聐<⤌@ȖpBl"?\8ணwxӻ ;3ͤEI7ҿx#a[KEbÖy|PÁ|- 91$ԮL =e B$GGvij}!Bٮ1o#;bl@rK( (9& ʐu+}:h(/B-10=~áIjdb&ÓMpn2s{pjHLˆk'\=EMUҷ\Ѽn%i kaN6/ZSJh;\HʾkW6`˹^VR TiY3WoBM/X9]BZ2o?Va)k b&rVj >,|aY{j [`y)Z$,OsVR䬰}腒|6c|ۚ n⹘ D.ℚ :.hht|Pcl >Zv60& kHف.vKeJ^,k +tIg-x=s?ݯ[ZD^g;ߎj#)xg*}<Mޘ8-2u0weSd_m&f7K,ݙn61lfS3̦veOgB;1^Tu.eTcčaE8FMc %,TRN05yo~gPS!PM @JȦy]{SFBYT{#X#9ޠ[`Ck^=MM;@(k]hs"eі9/Mq1 IĤV[s,K 4ZaNwҌ&6|:͂E&0Fir(%4,@5VXSA[m_g׷^?qKnw`z*Cpi0 FqObL;~ k\#Hȷ9ݻ5Kv}c&p= Qxk}yF,aB [+CX znH@#Md߰cNsQvKe4M0l2n W4~1@;hcm'Q8p_;beHgw ?̍ 4had^urs%4YJN󙚟*Qkŵ4N[1y\*s}+%zI"khVӣ$o|.Д=itUX*ՑSe~{vۛo^[7?._> Y{ٴB@;Z~(uY )JYJ}Bɗ]WPKTDS/PK5filippo.io/edwards25519@v1.1.0/field/fe_alias_test.goWo6~zRɱ?Y:غaΞDT!$KH-[Nl'͂ ~|#.ժ" b#\(+mb.4&?_A@0`T9W 0  0x{CM6Ap&aR& $P˫O+HE2T`Y)MހА`9-2COKɁȿ : R7WޠJp{W#0AAgk ^hLQiPmIƾti0"Oʫ +A򽭙 TIac mh360 9 Cqj܇ׯvfPŽxh` HEp {v5fP}oowVs~4%xԩD1]#h*meMKD0=AL r%'PiR(K2߸*q*ϒ ˷"H/wMזzPͲn#nk{ ;"2uwہ,iR $WZ#LYڦ&A>p3`X6pF^j Э;۴ӀSvf-等3]x5)Mb#f>K۔co}l9RTda؃ٵt^9u6pn> )ɤYmHPK_ PK0filippo.io/edwards25519@v1.1.0/field/fe_amd64.goMK31ݔulE-҅vaNr' 3@cpy8ϹJeǁ~ș Gh27'kT罌XǔeYyz(PMbo΁JXݜLz 5<"r(nAX'0D/Z j 9jYt/!Ԕ^9Sr)Za)PKFPK/filippo.io/edwards25519@v1.1.0/field/fe_amd64.sWn8.OqvBlltH-mYq7 )D< ˋα0ڛQ}r8_}>m+6{wXn 6!|^[8V-Wzū/m`U 0~p4kj& l6K//߄v(,-v "-Zަ/ xu, w6ҟL ǻ̂K:?kϏ ,hNkv6܀g ;˩ z'_ޟ7'Q-d a!ܼ{K0+)%!Maz!_ p%PxX0 E:XxXPEXX ъXne("$'f]MIi>qe $zq(N9_OCH$(bJT;c9JT;eXTJ͂R`I- MI.*U;8UI/A$9JT"hL‰bH8Ge!!-Ni'Y 񭖢 T)fn,i4GeŐ,׊,,$da%("K!R)\ Z I\Х(RKbXv_h`Ηmۿѿaǝx/sZtMJ=JH qB!~EoX&ii%dV٢+â5~2m<%U~,,S %3{3P1DHF t#B(&lh=ggϠ" s,^u4VtyFD}Ěư'Y3mtzP-~](~!g˒I-i6aSSøg@, Ǯ|˱ג5zUZ+c] X=tbӟ˄Y0D-'YM]:+rz-G55̗/`h|9/PKLPK6filippo.io/edwards25519@v1.1.0/field/fe_amd64_noasm.go\N1hBf_op}￾mحn&AQ"Su.'+^A>%Eb\R*=H4iR;&5L5UFdNܑcG$kVU<# L T`EXZ$L_&d5h~U*G6#\^mEV9ЧYWi1(/l%TBmZ!ջ};}Q 3"GIۆN7aSK;lB/`NHLH9U g4G2g(<s-_kP**' FQy{=0@RW Vw8z9ceiY:KkbTSY)!5 @GVQYUiS1ujO'PKb>EPK5filippo.io/edwards25519@v1.1.0/field/fe_bench_test.goA0)OE 1$ w[Cζ-nJ.zXvxߧ/mamʪEkkekc]R8XrdT,L _Kg:+P3YMBJIA|= tkz;lPJE)c-'^JI`L6OzbnOˢs<*wxE i{Mq¢AS 39Gِ ˥!0[@-tLBCL .Slpo _;n_`48g.3Yo$c I{$=>O195(PK9[TPK0filippo.io/edwards25519@v1.1.0/field/fe_extra.goT_}|'ƙYH IC )}Kkϥ4HӒF%B~$jƻ=:W{3MxS'ut>ۚ6> ϭE.)T~F9"6h`Awc,.˚\$Z%h"} !Մ^|l*FԆf(xpB!O |+ڻE(c8wb:|;m[CGej-tgOU0V0+J]H)bq`_S DSbx%,=&gX9ްH1ZX6&79^Cu*1P?%XrTO(E8P@%II(mtܦ7\#M1I,ڇ`86Nٖz-BchmT˨.EWIb"eb,&u_c*[U󻛿o?|*(`+K[re<%NJIQ?%b)K>StڏO>?/`SWM;}Q$rʍ],G{Po)!ڭ´qf\T+炔%_cU1~_qc8ձ`|xw_R k٥n1ƳgYj:}Mr8d6I<{^9d)#vN1FPg 兡OD}&iln3\l%y0R;H<̞܋?| yv;Ş3-ʤ2_촜<矁f]Nubw͕ޫQMg9A+GUh'һVvz:?}=Ξ]al(e4CZ brx)wV!t?ߨJ4.'rQ?PKPK5filippo.io/edwards25519@v1.1.0/field/fe_extra_test.goj=ף8H$xpJ!s5#2NIEƁBwչw~ nT~Np{\t5.$"PD1~F7FD߅P`#jDQbշ#o[J]-E79 `!\-/׫mI ˇ&Km%]o|`H 97 "[~9~l0J< fp, [cW]! W7t,'jٙ}RBΕ+_)Jt}"23 I,b4!,ZZc6i3C:pWrhH ew<л> _N;fpkja']JC& @D!ֺ}ġ?BfU6w!CHs[B,׹Q1Gx7ƥ~(%v"Q/*1hBcI!b'~PKXےgWPK2filippo.io/edwards25519@v1.1.0/field/fe_generic.goYݮ> d:N'&A8- +J"L-U.WOq^Hy?I1CRZI8-^T)r>rf >u7Ua5>eŸWp + <z>)/2 45n}PA'/~ {eMFCX԰pm=SCXi~Ջ`aFU/Rh;/ 8 ҄WmM +g (`u=Ake36v&pg\WXG 36M5Ms vMfq(JC7%QPMV>ᵄG0c G;Zu ]ko6gVuFzNbϊϋ//bP$pR>/H}Q J/ͺ;ƚJj9k^j6j=TζZ36jd#3v40u%){puE(cð|w?DXa%)ͽGRpl6S;`J    ,M,9"8"8"8"xd)!!!!s)YJDHDHDHD }ߥϑEf EyT7|X|0:~mEuLo~xx%ܐ3cOG4o'Ek0-%v-uֺEDo?hh~i :TǫA*spmƠyZ{Y6ϝewjz ; s P #حt'5 hl=Zwq4~v߃ zj>ﮌiuIoY72H9K ؓ[2VB&yO4 BF"R-F2#dFZׅ3%Kd>9\JLj>7vGnԢ/G\lL1)0"}˞PadP#"<"#Xhӻr I)CnK-vmɱ#nKb\Jc(q昤1Y?+,q,Ov",A 39XP,x9+:"^ʃQY(Ҡ0?n< xrJt仜"K A>J>@[1cGڞ0$ ޼%H@,zK btew=^dK(ߛ$8}L~6iʟj@٫OqVq5:)P2u ;$;8e9g5kW׮]FFftgK;N7I1x+ c1{/_4z UmiUvBSTl*tu>6^Ws:7K'GrY"5:&GzSϦȢI 2 uxz!3"u5o0FGswcb)}~wDcdRD .ҽpdZTw 8yoRܜ@Gߌ0"_#<<" Ųͅ PawNZ'r<9<9H<9_Ίv:_ `$$hsL~h#< 2/G~q*xCi-2d 6>l6l#"/IOP"?S$+ei.Aȯ38+;"(HtZH%(`Oj /iW9-B$>BM"?~:J)ĦHӫ~U/4\}~;Eu伽 G LuN4̚vba~iDFdi ]&_ob1K8tkKYRv.룡9f"c94წD11L |*.US/7lz-엸4wCDG~5~e7 :a9h7lI9/$". X2Ȳ~r6A9K[/cwr.dAM 4@dS&;zj%:Ԓl('5BwҊ~ϊlš,Z ߖKs0#ԄS d0TEș GFk\T[qJʛXe0X1Q~Wk@HO JIR5ܔ&SS Ҿu;,ypn \u,h ~"_gEYM~¦FHMiłǯZ %Ovg[c7t[-T0r^Wyem&&w3:wCYPOmn,sPdp~2 [~Όen-/םG[NJKZ 9m"Db!^jH AI^\.O Ɠm3Vpҁe/췼mxeihy5$9!ru Z醸k]wTq&U<4ҕľܐZ Cs*-W{W2ք5mNġi<9Bhإ}QUee2}ɒp_ ^ yV Y'wV$/_B=YɌ<ՁRHȘOJ OSxOyd)–"Ơㆄ( I&F@{:Ҋk)Bw͵کxQ9A 峳l`idnTVb (ҥWY*vKUk_ޱZ^]]`B),85dUy)p 3Բ'+0TK-s1܅[8?lǞ7Bǧ!q, AD HH='  8D4݀X@<1,8 Feس:AdG iQ, Z8P߂Z@BHw-L]c =BJ\ \xS?{X^D:\ϋ$5vAGQ #s}dz84 0MxQDBuhL rql.X01.< MB w|K/[Q \jA"<^fB 8N͆48Bi2e@J~-}V vvR+TЂr!+5q;6-eiqlzvIdl6 8ƻ;em°ٌ)ȈRсbs[1,6̥Wf".?Dܰܨ6]ԜhқyyݗJB8#xVUfm-m*4sҜfuz\4r*CZ.R4ڒ]#b#w=;ޕv(_WZ+]&̍r{rv瞱CeU3[v%+doJ#Z̸#!!qA茝q:^G{^OaG<g4اG&f{wK'{C#0'Gd]kQ7 [.):BYe2Gt&RDb>e QVZHRgf:RgC7vc>yvE-jɋd1Vtw;g7XڌS&RԂo`]ttn8XW&6ַVůHIgs( ^77 RԷ9:Լ߬6< ],a pd+Pk0ДkTb+#d ]tKX] s!K{'9qMQ=t2k-ARrmtg O52畛y˳=Xm%3)ʃakUX&OE%$&eť,1"My2 Oǂ*S+xa{vS; PN:hjWe.2ho2cXhʤ5M<ӅOK㑅(nsX[dNU-Uߪr&L8c[q7 "BW~^zܦ,ҹ]Kկ~.l|2jgt' '-'qYX)*z>@ T "sMWT}My31uYmwNR|1~7oWCfH6Tǽr.T8ijZӾ[Ѵ?I϶~7?Pռ] `FۻXxG<gؑc)EۅS0%o =1%2'2FM4.\# u6oG⮸9+'շ==Xԇ]- &hS2wv `_lh6g*x8̂`Sx;8] /`4w45\+Mb6K*ق/`OTv;p9 U0(@[4,jaݟpp;/#?|UN ?Akǣd&pVO`6JF?4Fb_$H4 [m۩o~ӜRv:W0=@],t~֘,SnL-2;<Z{YV,Qllq * &&HL) K3c$\ ijSA[٪2V\}p`fIp|@t2T SlD0*S)U9N2UK1V@6rƚkfg#>oZڼ tmh`WP6mCdMP$Re믗1GuSIY IGtAYxKВ|O%+t/_)ޣ YzFě,y _K"q ;£fIS  uVQHR S݀g`n`ȻYFABB-'s}8KLAO#D޶#GK~l2i:{F->d,B6 vO9u^K /,F l 1!l>{ gTߔGS`܌"j3r3U~Tt ~$L0zR̡z2%3"KKU*,ET:M>i@9 7ab:bpQih:ؤLa 8Ӭ k=H6 ;}i3%E6uJ<cW2їR r)RES@hR Ao"A~-'j:X3E-5f\ʚ*V[MJj#`el/@b]7*ِTMQ#ewV9PosO;Bʼ]=Tg5$B;} ~ݫ*T`D|Sf,ce3{ I>lVUh =e΋J]KƸuaGIt9>;zh<^L'q7>v*En '' #쵽rL㓈vIchq;v[}..Fm>va)ӌA*T?eLo=P2]`6P% Y5AM!2KTC_^ ΐudLf`iffPG2 y˪*6d$ܞ>"K!{}Q4#%pmmn$$R"G %X+MSeHTeEof oDf0M.DZ?0Z0tϿB$@¾=z߀:RZ2Dr[XY7dҔ&5ANP Iyl f,1(IZs8}AȋS,K"Md 'ZN%IQE-Ğ@)HǏtfڢa\b 4bs labiCw)1P,* c6^=qx~z_95wXgК<ؓ:W3F]|Ej'z3qU~4ֻ^ܖ9ӓnˋmWCS6ݿ(3M ,_6f^5{Vvx"Eƍ{VIь~>?դR ;/zMyrs7Vѥzh!``D`ƕ]S1=~qxK[r{Y DNXWf$)\9I-h j:U[`\Zl>q*1'akdvdHS vK;6:/m̤pݩ!_\AoQ+7R8mX ԉ1+V%6Qވlf)jC)O{Hpe^ϸў}a\Gz $&B 7w~FzLsb=LaOFx;eߗ)Y/}0askZ̽>=!Vv'}''mGNMFMkT~U{xٰLPgwz ;},,*fIB$I1tgc7%H^FL+DL44w/ f '49>:yYwOƺڳUcpj3H38{o%׺Bf4{ 9FzCՅ3bc!ki@1w-dUm*Im P\;R2Ӈ^qkY`*_fY1u͋<*Ϡשo4"!M )6\]t/$_$2M?~V/-rF8笆bb!A1<%U6N1c *ܣT{kzhq .Θr`=6GP"a}4ʡ *qӤ=n2+3ڰ4>-w](NjshH2<#c@6hr)$Sz!S i\#\\D=:7ss3SK&سsnd~1悪A`EX-8n̟$[pOHvNQlSg9ah2n$E= ~45'{ ).fB SW|"F";X%#lSJd=Aю:T~T;PK{Q+PK3filippo.io/edwards25519@v1.1.0/scalar_alias_test.goĖQo6_qjTh7 [,ӰȤGR}l%nOt#z6ÙtV+8xEWƺB%G!dzt#Wr7JӐ$* ]gK4P~EsHUQƯXI qͬp'ooX7z$q4pO$NX֚㒜bvQ).W7qWį˿kZsD~ -^AG[O6 [12ten_3CTG3LqU*Jy}df (e,#>K}[ouؾP._WAHNхnXh 2`[Kšmr*]'+m|yt%9U&ɐn.XhY^7d1&ݟ[]yCX*ü Nj!ıTB\KoRH 'AW>ڇ&?PO_}ↀ? wp}?YDfhIr14C=ϭ5V&)^6lCdmm PKCQ>z PK-filippo.io/edwards25519@v1.1.0/scalar_fiat.go}ݎFr):KfH h8ր]Ş.X[Ś|c^z#HFFY]-i]htfȈus>W{UCT+vv]6}S:دb_~ ͯ? kٛzy5muxM{_~nnqv=mbq6eu~]-vԋufjTb۬n٬bY+,3W@v_<_M{=1^.mw}}@tvb|Uo6]=/Wj)~=?TjZVGvWZ~]\>n}Y8Bo=]P^}1ȳߩ^}޽HnG eR9\ݵD{9I*)!#ͥRK^v2s:R?\f)H0:Z;Ťvl=E&'Y;B=Q;F=Q;JPQrp :܍4%{;RDS#\)%Hy/8uD|X͛rYoj[ayl?iͱa^w v-W?֥WmglaH5>a{V^?kf+nKyx%:()t${pZdĹt__=z[2:k׆- GzϺkr ؇#]rf2-lͮIW@izћ'ݡ E?Ll6s<̓􄢹_?M]>s4\ q8>9_4hN^m%חR{k[t2/t~´~i.TB ~>y~@?Nz G$<0N#hBC"bnOW+MP.Mf=12&4bӬ'F,u r6P'3h!O  lqni7>\ 0gIw VdV]6ZgsB'S{OOz ӓ8=r饄^i(=rB@xAf{t"ʉVN\u] Jp3Q Ch1@1&QTEh@ULk!tE]HW^Auh)"ODKs@V'yI DMj#af4YĜXY\OoN-V"G[xy\n%>FRnmEFȓj Hr#Ah&X#(# 6>,{ 2@`Utb1 s{MvZ<$ gQ1 3D'<BF"B蔯C@dă3,E\M9j cP 9_8] DFJ<3P0Hp;VTP+*fp,^^8E^ .(VS٘%̵u Dt[pb$:*P0ˆPP(iD5Q,0`P `  dmEYbB(iG=bgGH<2b]v<J܂,J*ã Q7U9UNY@Y*(܋&:#O%p/b! ę[ \ R @S@cx `@Ră$ `R|)=0@"%HwzNm R*-5`##H@J,C|H{2Ç,ذXMa|Ȩ̰4n4z!^,5532BD߬,μ`Ԣf'03t6m3|` ` lfri!3ܒÚSͱFyo|>ݙf[%SͱF zPc s97"ͳO [c Fg 7͋bĶ7F sx43x= gxB?2A)z3èY1E!h4ϲ:OP gʄHn'f&5k᮹Zk|Zr tiE|xKȚ2jGف6Bnsմ#7<ңp:O= <o>҃Ϫ=  27f~,.d B{a =>ukGB_!Ȓ"f Š&}̢38A'̺]!H4)'uKQ'mIif[yΊ'*~}c]s(ߞZp_C+DGrW]&xJ"FwSG `6b.,JC 1 <ԧEHva:g/ A\b{tĶ7 ?'cBޯ{^MuyVfE̾^b@DD譭>~_R1Lcˏa^~6?ȿ+M֐vna=:_n,:YԀ}>D49\a2>qʛ3쏬Or3:fiIm,-r͡7>5KW3bb']_oS9_i}+/s>Ӂ=2SU]0;;xA{ y'Y 1ɏ{)~=H`Xi]nKP@/*:L tnP>t!# @6#9ly46Go*6Ko2,æ?Gע`cjFay|/Af}u f&G\OFp4b<== depք]A4'#=d ք ?( Dd mAUϧ,+m֚8- v/}&VՑDv(䦵j:6ILV+sQ&PMʨe8qeq'|'ď) Ñb&$3kSE]VtޞL2,K>vq"tčpiLєʧd*`^G*3n.HKay?'!z$ٷ3o36m"< k3qGY<<69ks=MlHP2If‚rHٌ)(+T?vǣsT9RvG7գ+!)y|x>A9@6{acwU9Jk*dB\!e @a`/Q@?6VH$8E+eCokQlA~8E+eCiCiCi<޾w_v;Ykv ܆@sKŞV˖")J18cb!/˪Zfb!Ww PIJ ,sU9>TҖ2I*!eL>j[ eHfw`P/  PQzS NdQ܍UNT1;"90xAfXbP9|C,ո3߯|HFG.?nLX(V3O5m8T(jpFkF)R/h̃:jIdݞPX+%/4eTS KbNKp A'Zp Vw̅B*$*SljHrp)3H_>;W - ;s`nƀc cDtx .mQDqbW6Q2Z&TdH H/Eup+}wnH/.uœP(uU <" \Ɇ(9WȚVD[Yw!1׬i "Oe*gE\LQ=SV XwO+:Ep9M?ݹm4Wh))\gsD{ྠ`奨S*Zr+]2L?y0gd^*V  JЀ*Ui=\Z+,tRBqW犂5ԥ R/Hݏ16 gϛ [#T2oΰ=JϦA:ZD }LuiVvBd%:66Hs?{,-,Dz0+Wla]nFbf~Xf4jQVrê:q .i[sݟ*u>d-ib7]S;O6c/g̀|LM k<<78L@_rfR\_vh%/Yn~?Gsh?ZGs(m? {ږo q=.|xc<1 `ش=%}{r/;~/~/N|+dr׺DžǪXϦH>KCW8~+~/X_IvWzJ_D+JQq*r`U*SvhӃM,plA#[tE:Ȼ )_%0,j 3uŧ3 ~@4 )\~rgR}xY`ITCw 3@e#!pSy@(DUB3!2B..@޾x}y ^b4HiT4|!+ fku(rɸpeT2>z󵢂[4_ EE6_5*t٧%?v3fۇ/(*J(U^n7s\.6P虅`P@As-+멙q((K7WF p8=0oSx~W<_~` G]]Ss(JI(i ΃qC^LϻW&p7qtkb7yؽ 8{ Z+THsZZV'mPbYyI2+q/nw 2Gsɖ2ƕx\ #^@ZڌB(}&ŐM^÷1ykostߨ`!(g3RLx,[d9&Jx#`xuu>Y@–[s1B G|j^o!DhNǁ9F 9^a= MMdTe+3FF_4՛X&&pVCm$! ,uSKCWlz\Lka3Qԉ8-g/ P$BVs#DH4 Q$ hK 5BIP>x& mƹtjK%n7 =J䎖}p}kN =s5QRrNc^8Go[v¿e`*݃רjMtS m,sW9ll&ei+d\Uw.暂a|AO94몒Uw bS\F=wpZMe':j*!y}vhsH$q@K.iEƺAAR$7% זR4t.LV62`ȩò ?-iD`89 ]z,IJFb?*3tGq:E'jF)m~#vI}G!}"Ply y2[R@k\B-d;o3 B^y6BX X*42Xk*w./82vΑau(VHgviX@# n n\23eƧfؕhFC6ƘqbdSF8DQapO,h6@4IƔF~ oAW _+3lI)Mq\!9rZ8ɨ@: YF($L 2V :X16Nb4evӏԽ -^,n9)f7{v6ڳ/ϛCwX&_ݶU>rXjMճupMj<-d:p +MB8lNZ"#8gxh'>{J=+'z9t‰nGܯtm:]vQsο&-uToFX#^-KlitA|=VЃu{h9%:_ԜُQ\_JEsY͛o&dsvJQ9X`5@ĮY(2 -Gl9ob&%5CZ*YVSb?q6V-bJG2HC`B%SM4r'am-ңgB9mZǟFɱeF&ECek=#{Gps3Pc1 /{CGbZ5CoӾfXmpY㎲͡e_{nછꋣ34n; ~/ ~goC9=?*)kRq{nbV9IOi]՗RvɃ#c>dsPKpj RPK,filippo.io/edwards25519@v1.1.0/scalarmult.goX{o8scWr9V#{mlzd ZLdR%)naHʶl'i89ra eqdj L#H{?){ L1 ,UYt/ `\JR!p Y /hs#q|VHe`O߉t/ #\OlC0hG E۲)*Qb37VrqC{%;3CTΊ`f$5!sB.Z?i-k<}5YZȳ5Zd֤=F )сAnCC % t  V6j2b& d\L4#㠕 752=\~fÅ(-.z~5Y&_] Ҵ93hyxVHAuMx ΃N@@?E3tx7/1Ԝ #pׄ*tYXuj V1XHQаs mU䃭kS(/HTvߐgd'ъGIqu&fuu55ӷy5/[sԜ|^-/z&!)AX N+` "ĪQ[sYl:e*;3 g9 ٛ7F uv}y(]W>օfav4ݫ!3-"dxu`Q.4di&S58 ?B^+oj\·pC-HЬB/ {7ПXmH^sۮoU(2 ҍM\uSlUC'jK>9S :b#TLq2XQ(iu-A׿̹n41?+TaJL!lI5 5򻣭XUkƋmq`_wn|@!'ֿBv_?/ .?dݧ~W)Lɚ#ntgZSz.5ƿ,Z i2-ʿz3z.Mt[ DZٲA*;(f hJ6kL5\;dGЪxotjvKٳPs4l,GMU蛮˛:ZRv9yؼ-t_]`O^eoPK.jQ,PK1filippo.io/edwards25519@v1.1.0/scalarmult_test.goW_O8n>,U KX(pvY$}Y힜i niA|8)i)p$dx~L 8\Ѐ{6\|p41CGYVEb)K|р4r ZNT a L @4 ߵg Oeʥ2:ôb|l'evtĈp3dBb pAl0ʙ1[Q.(Ȅ3.@/ͬfVqw| tZ%2G,n8gBi,$te,b:"Hpϐ{}HZZ`Ub(p+yu΃{+ Ұi!y,|5sX@+Qy>@+<-j Ek+J[.z #2wnEijCŒh0 }i+T;8H.R .>{ny,|*kacAPalַkTT3p%|V*/mO7JنE)('ht m Vc$QՍ뭎kqT)IY2L_pR# 0W ˓ڬ'06gI_+D:9Ydo"U&ሪk?H*ux&go%*ӢlAo 5yOPKzJPK(filippo.io/edwards25519@v1.1.0/tables.goV]o9}G/6*'}_ O s[a :#464H Edm1`)|[<-bC #3!:Aǔ9*<0dGnxnhLz4 8Ktr"-޽$6LpR7ݿkQl*+g4 K{j&]j_pBigN;7|.M~;TƵwL9Yd5|D>j&ZE[[p[tm\^ jH庫X-/ {ƄxOO>GőQTc ~M?ap_2:9`Cg]>ƍ L#/pY˹Wӈ$K0cu{Qut>M|˽>_/qNj%bECcIja$$=D;ת7\>ׄ<KIFHA9jK76||I~{=.ecYѺ96' {} PKS/PK-filippo.io/edwards25519@v1.1.0/tables_test.goN:)>*Jzg0JU{x]x)i: !iReU$?X-Z,2 { N1_F+)m|e@!}Kz=|5f0X[Ғ\ӱ뜊V.8ICYlc+BV2|:\\N|Ɩ1Jbp0N7K-\t,+<ҕ䘓3+uZ㫜\?9-|eNy,rE6Vfilippo.io/edwards25519@v1.1.0/field/fe_arm64_noasm.goPK9[T5Wfilippo.io/edwards25519@v1.1.0/field/fe_bench_test.goPK0Yfilippo.io/edwards25519@v1.1.0/field/fe_extra.goPKXےgW5]filippo.io/edwards25519@v1.1.0/field/fe_extra_test.goPKnh "2_filippo.io/edwards25519@v1.1.0/field/fe_generic.goPKЫ?B7/Tkfilippo.io/edwards25519@v1.1.0/field/fe_test.goPK✰w.(%|filippo.io/edwards25519@v1.1.0/go.modPK{Q+(t}filippo.io/edwards25519@v1.1.0/scalar.goPKCQ>z 3filippo.io/edwards25519@v1.1.0/scalar_alias_test.goPKl--filippo.io/edwards25519@v1.1.0/scalar_fiat.goPKpj R-filippo.io/edwards25519@v1.1.0/scalar_test.goPK.jQ,,ݸfilippo.io/edwards25519@v1.1.0/scalarmult.goPKzJ1filippo.io/edwards25519@v1.1.0/scalarmult_test.goPKS/(filippo.io/edwards25519@v1.1.0/tables.goPKap -Lfilippo.io/edwards25519@v1.1.0/tables_test.goPK dependencies/pkg/mod/cache/download/filippo.io/edwards25519/@v/list0000644000000000000000000000000715107355263023772 0ustar rootrootv1.1.0 dependencies/pkg/mod/cache/download/filippo.io/edwards25519/@v/v1.1.0.lock0000644000000000000000000000000015107355263024562 0ustar rootrootdependencies/pkg/mod/cache/download/sumdb/0000755000000000000000000000000015107355264017536 5ustar rootrootdependencies/pkg/mod/cache/download/sumdb/sum.golang.org/0000755000000000000000000000000015107355264022376 5ustar rootrootdependencies/pkg/mod/cache/download/sumdb/sum.golang.org/tile/0000755000000000000000000000000015107355264023333 5ustar rootrootdependencies/pkg/mod/cache/download/sumdb/sum.golang.org/tile/8/0000755000000000000000000000000015107355264023502 5ustar rootrootdependencies/pkg/mod/cache/download/sumdb/sum.golang.org/tile/8/2/0000755000000000000000000000000015107355264023643 5ustar rootrootdependencies/pkg/mod/cache/download/sumdb/sum.golang.org/tile/8/2/0010000644000000000000000000002000015107355264024056 0ustar rootroot9ɌVyZzT~"=@jн]+ ef\iyM4C0$P[#xj]`.P+$^bKLegT&ډ;%P>ѿ~ej#|)nu9ԯh@:~YXd)]gI y^#6Thiy=ٕ5>ؼڥ3H;9u4?='7=z*ҭI~UOб#ovN\Uu-x YT-dD-S.z|́)C=}9ma Mq~3yvj00oۈ/H!DE"Nez9K3yä?+YBGܗ]T;v]vBn`N0~lSx<[xOz~(j#0@+npdCeNmm 1S/8=`I4d[X]2׭_V 3#-hd600JKelS}:q-R@YJB!9 ɵ;=%o=b} &Cc;ϕ.ODPڜ-@}k54>_aM@ F#JG'];[{3'wҦV!_Xeh÷?A}#qJ0l~/:h-^D.ePƋFg7!_Я tcQ#K ~q;=Lw29hJPub.bbWrC3ozi' rU>kx9#ڽu4G&tgcMIzq5amuǺX.;~Cfތ Fe*f\ŗt5nKqF~G_νN$zI7!]&8;jO4[rA &bj-cl7RD"jrA!~RFfh _]d)|U5&PkkSӸLG~n/q '4CD BQтR\`4LթBd 6rNL1HV,mr73x3$oߚ6=[ʭd:)N~أ҄k㍏ioXaAX|b->(Tx(P%.Vи L`(!  pq?} ЂfN0]H/:kU3YqªIiLxM4+ۉo2!puj oNҜI䲳? ؾ6 fksǭb`u*,1{tT9xthK 𨟪ueO}ˎ=S*bčF'->b!?HD況h~5/qBtZ9|xIA!ӓ/2wttytWٓ4k4Hn/?\;ޕ;<֭n]Y}4΅ 3rŃSF:.ڊGYǭ^dPl0 i漉}jQ4p2;_=Ѻ6a۽%'CB]+9Y@t}^1ivĴZdqP% 9*UiX[{ٴ/-Λh Q K9!~ek$nlIUiڷ% Hᆡ꼴?\0:,#dz*z [u!1QmQ(i{A}H~7H@3G+6 |WR;^z\&lwȚc;3<` P~<)^~IqY7Q댂MP=kvu3bkÈ^,TËM -x\8 3؍"l#oKU\ Yhgܹr@Ӓl4(RCA(. T,S"]8WjBՖiۼ U¤)iW ثz4!\f@%GE[ƻtS|-B%BoFrȳDk_:基3L(jh1"i} ;u-% V8>UW`xb k/!B+jH`#wzۅxr6]o*{*a=9~20ߠb`<vB+v R:̄`$CLvKaEM+݈_q^GEm<$C^ظcS/ Y1~v契c* w _1kL=/Ȅ03d竲X.,ِܶ|}s&۸'l-RyZfPO6G{7z.z]cG ̃elW  O+WPf!:PcBiZ-&żxE`OKY!eP0聬L%/`&Өܽޫkpo>.\aw|d_-US ͂͢>ܯ}u0j26:jk/rK @x)+beHu D}64cfng"BZ@}ڂ㙼$ k_SԴUDN\3 ~mCL[[k=9wpn/}(SѩNV4j|s^&Yj m1hR|3 'OA9V+GǢIX Éy'g\'3tT`鴘̦sfph8@yG;daFEl[&O'?5Y%-o:qqnqpd V"E.Sv}( }`뙯(3ԩw\g&?y ϦPxo{B*aXk! c2>oN5&͠cX纨4-ߡ3Boe:9P0Ӱ`QMW%pE 7Ih?#"Xu/ਨ͈/ml8x_~z;Nxm 1~<z_D8 %<76 XAGJq?~p^Vg7[MD^n3#ۋ3g':ZT8SRߟ"2:o-SEHδ L @(*ic#)iu5PIy6bYc(Qd4@shL)G(PCIΓ)$@s 7!+!S`}f](!5)=DJe@u͹Gq;S#j4]7_8Vm*ҕ!-0Gj#!~H1#COdJ#V&?,Ȋ`.աsK# 8A 7D:HV_fFa\o)Ly⫑\+ؼ;ͮpqMþ%ɾBw5 E+u-֫Wh ;= |kcdkB.; yX|%>B'^os,ˇH^0g#KpuÎiޤU[ԁy[egCC|w7j6%zڡ=N4nA|u6x&22S4/2 e=ʌ^_ ^Gkp goVsZ8h&n"b^|*lS9K]5lpG0շO| ~XU.ۣPއ :j}?~.1ݵv"1)ovԦ5Okwn -U_K-ò ={$A[`XڮS=i'o0T)/= [/ovWoqvbM#kdJ@Z$i Z?adKrX>K]~rCsq4Dyӈ4ƒ2йri#ߞz X:5r V{(sKGґ@Rѯbb 琉=KAu/E8aO#%PT@RGmC ZlQd8PWDRW3vYf}3l"a4D)wS6yBe),PjM>Ek@Ep B2Ua8~ܜEbib1t?qoxN2+]Ӏ>zOdžc|)e%unx/\!%T ;tU"e(]N_[J;T ! T#*~E5lĒS֘{$hJi-Ow_rHZZ@ѯRD@1i W$ Q*5}CcAQiIWVCf>el9ȍOA\He@?r-"Haz RTVDK,QU]U- H>Љ(\E%B"˻/E%l\Z4Kcnu&J >#>kE[^=|60]1\an"2%ߤhY| 6 I-of$ɿ7Y~N["XN؛Y$ S WǓ*qnKK|놶r֔v|}D]3 faQY丣T3+©Q'EZ>Ai4̇3-cvwe+&<< NjP|_j)V $՘ŔFݐ#֫-;5{ 2%SaT.Qo|vxZ>Zbq[ule 6JMjsPNN2.?;e ^fx!edvUT.bXv)#QXPacZEme^[,O|XSef:ݖAcw/3$aмҥ;qHM)~NR3W\iT4) ǖhrA/@Mtd o>Tx8 ZT٘ DMRIׄ6 m$pq0]bSXJqCxZm$7X9!'8ܼ]$M H2`tbOCX;14Ӗ}0Bf+vsz| 0 ;Lp jy$D`dxCЯDKƸJc.1Q)SKͺ팭JIY=^{S\)uakCy񭧵9IYo~?bNqWn\MIC=`W66tENʎ .ٓ76#7s"}K4w4I\⟠ARO s85VSq> 1J>7Ql tp"+Wn+-زǽt(=?7 YpCp'D'ZE amT޿ӝ$ig?lj6QERޠ(.Mi\Қ/*^"Eo5XH=(0;oW()Mպ-#vL>%߰Yk"zlV1*~a Iݥs.9۾*8MDZ.}TG3Dnk˘ Vkgupc }S,ۏ/΄<).ihYs e)Rϓrh>kp޼Q $Q8M#VA^4E&'q@1CxxZ5rS&!q58 KIfTLr_GC96TT/D_H:o0, 4v>)Pr`Z+_Ws:V#W* @㲚V]Hhcl:LKmxSk ^-:sT@5h*1wr!Pɮ Uv1]6W9x曹Լ,Evq^9*dq(˯+{pi{f ?9 pKJ8(Wt-N{V67&#VFNe N@Xۻ'lpA/T;hco^)#o f"FqC`>:K08B xktϓā3 2Ś6y)1Z!y 'F|m A L\Lm.AozIt1 o|ŶxYٲ'EώHH`({KpYՎ;YHP zjKjWCYrΒ&4ފxdWK֥O-+}q=ݡ$y{m 1Ci|fF{WD{Xy.{cq. qw!>gMؾdS 5o#6Mi>|jHzWyEh[n|J42FFi.#~o*8BEnoY[Pv;ȗkkBʼn)0/oa2s+KvhOQ#De4[!Ҵ3r lE2_,g[BwQq,R$~,f'M Ӛ{dt:5Ms讼mI-ߛ !fx55@/m|Uڢ(8. eVo|Op4c 虅sA ncئ Z 2Yot~F,! YQQKhgEA⊃ݮ:#If;f]K{;Tn3C&vӍK2"?2A|E?gyoXխM;pf$ߡcA@sR=F˝ &T}h"4١m &]>5F@'ŒBl7mG,j+F/NP qc5 '6МѸ H<ˈNO5 7̱84,*dOhpZj&O$3$iklCg4zM<5Pb*>,!)̒=`Rܹ SP<|ItO">2L rI 2TFЯhM?Qв>`4SŖ{D `]Dzp(fM#NK+ f<=mɱ.DR핹?"u#=G.=dCl˵M</a  r>ڧI%y?,<)) kpcjxt8CbL$4Qp  SgG@JV{o3=-ʿԭC85ޤPEl&)%7zgk@,(r[{XZUnsz9::aWj1B(-vBB{l87eVV틗t91|}ayCr'\?n#N%[ڜ؄1'Ҁ`T>NjxlaOFrD'/Uy*Ewl)G6h́G`k8HC9@?TU~Ņ*&O[D6Ȋ_*#&JHz6nm[48\طpz};ŌSCqE 4oHV4LD͘l q[@~STSvjwF\)w{?F UQ(uj`)~8!*܀bs,UtsJ+E*U0 p=^c4b%lܲ*\UF f'rx|&?`_9?B,-j(UʧniR*kD̡_TO6!6Z:׫D Lײ :?zSyKJ 3^#Z$΍GQ,@Aܵ!4sS8^;@yg)!*YМzC1`̾fB EGɴ e # ` ~"&;B^f7 Wg&x߫$=uTmWkj0bc#Z>&Pr59}7;N]+aٺ|sM8MeBĩNde(t?/F82UJj6Z/c!jRå`b3@ɒ@$]g |CYCK((ww^=>)" ARYwD,m,HUbr)pEyxє4zEG73I6n IDҥx$Xz*"09#iU_y^*F9d#@\"_)U<#:.gVōpHNN1Wod qm3TM╬>,Y:eQWv!OI>%GO_Tg*l5f6疾3q:0n};L~(nJV0+Rrmtk`}T)wU <0Qe~M@S0hy 1D: J6(0)vSz+Q^qk?ٞi(&sEQH&]{xtP6o g2TP;Pr0'㈄Lc :xfk^M"04X D;J-cL{Fr]]`0JY4ZDd'ZZwc 6:<X&"5ͅoOa!r/iFmapE<ѰKFcusꇢ6ݱCaAkvZY 5  1DJWk vXܳΧH@bX3%߭wwe(@.vȧ:v cWb J\3t' 6,#0ęiwU44=C-rVl$2gun3ARYDtj=?,+4[*r'o^K9x,Co`"xa[+uTudependencies/pkg/mod/cache/download/sumdb/sum.golang.org/tile/8/2/002.p/1980000644000000000000000000001430015107355264024644 0ustar rootrootӒpBaDm*̈́C?<9#{.A@F IJǡhRU}jU|*2zK^}/F:Ml=^{S\)uakCy񭧵9IYo~?bNqWn\MIC=`W66tENʎ .ٓ76#7s"}K4w4I\⟠ARO s85VSq> 1J>7Ql tp"+Wn+-زǽt(=?7 YpCp'D'ZE amT޿ӝ$ig?lj6QERޠ(.Mi\Қ/*^"Eo5XH=(0;oW()Mպ-#vL>%߰Yk"zlV1*~a Iݥs.9۾*8MDZ.}TG3Dnk˘ Vkgupc }S,ۏ/΄<).ihYs e)Rϓrh>kp޼Q $Q8M#VA^4E&'q@1CxxZ5rS&!q58 KIfTLr_GC96TT/D_H:o0, 4v>)Pr`Z+_Ws:V#W* @㲚V]Hhcl:LKmxSk ^-:sT@5h*1wr!Pɮ Uv1]6W9x曹Լ,Evq^9*dq(˯+{pi{f ?9 pKJ8(Wt-N{V67&#VFNe N@Xۻ'lpA/T;hco^)#o f"FqC`>:K08B xktϓā3 2Ś6y)1Z!y 'F|m A L\Lm.AozIt1 o|ŶxYٲ'EώHH`({KpYՎ;YHP zjKjWCYrΒ&4ފxdWK֥O-+}q=ݡ$y{m 1Ci|fF{WD{Xy.{cq. qw!>gMؾdS 5o#6Mi>|jHzWyEh[n|J42FFi.#~o*8BEnoY[Pv;ȗkkBʼn)0/oa2s+KvhOQ#De4[!Ҵ3r lE2_,g[BwQq,R$~,f'M Ӛ{dt:5Ms讼mI-ߛ !fx55@/m|Uڢ(8. eVo|Op4c 虅sA ncئ Z 2Yot~F,! YQQKhgEA⊃ݮ:#If;f]K{;Tn3C&vӍK2"?2A|E?gyoXխM;pf$ߡcA@sR=F˝ &T}h"4١m &]>5F@'ŒBl7mG,j+F/NP qc5 '6МѸ H<ˈNO5 7̱84,*dOhpZj&O$3$iklCg4zM<5Pb*>,!)̒=`Rܹ SP<|ItO">2L rI 2TFЯhM?Qв>`4SŖ{D `]Dzp(fM#NK+ f<=mɱ.DR핹?"u#=G.=dCl˵M</a  r>ڧI%y?,<)) kpcjxt8CbL$4Qp  SgG@JV{o3=-ʿԭC85ޤPEl&)%7zgk@,(r[{XZUnsz9::aWj1B(-vBB{l87eVV틗t91|}ayCr'\?n#N%[ڜ؄1'Ҁ`T>NjxlaOFrD'/Uy*Ewl)G6h́G`k8HC9@?TU~Ņ*&O[D6Ȋ_*#&JHz6nm[48\طpz};ŌSCqE 4oHV4LD͘l q[@~STSvjwF\)w{?F UQ(uj`)~8!*܀bs,UtsJ+E*U0 p=^c4b%lܲ*\UF f'rx|&?`_9?B,-j(UʧniR*kD̡_TO6!6Z:׫D Lײ :?zSyKJ 3^#Z$΍GQ,@Aܵ!4sS8^;@yg)!*YМzC1`̾fB EGɴ e # ` ~"&;B^f7 Wg&x߫$=uTmWkj0bc#Z>&Pr59}7;N]+aٺ|sM8MeBĩNde(t?/F82UJj6Z/c!jRå`b3@ɒ@$]g |CYCK((ww^=>)" ARYwD,m,HUbr)pEyxє4zEG73I6n IDҥx$Xz*"09#iU_y^*F9d#@\"_)U<#:.gVōpHNN1Wod qm3TM╬>,Y:eQWv!OI>%GO_Tg*l5f6疾3q:0n};L~(nJV0+Rrmtk`}T)wU <0Qe~M@S0hy 1D: J6(0)vSz+Q^qk?ٞi(&sEQH&]{xtP6o g2TP;Pr0'㈄Lc :xfk^M"04X D;J-cL{Fr]]`0JY4ZDd'ZZwc 6:<X&"5ͅoOa!r/iFmapE<ѰKFcusꇢ6ݱCaAkvZY 5  1DJWk vXܳΧH@bX3%߭wwe(@.vȧ:v cWb J\3t' 6,#0ęiwU44=C-rVl$2gun3ARYDtj=?,+4[*r'o^Kdependencies/pkg/mod/cache/download/sumdb/sum.golang.org/tile/8/0/0000755000000000000000000000000015107355264023641 5ustar rootrootdependencies/pkg/mod/cache/download/sumdb/sum.golang.org/tile/8/0/x181/0000755000000000000000000000000015107355264024342 5ustar rootrootdependencies/pkg/mod/cache/download/sumdb/sum.golang.org/tile/8/0/x181/1630000644000000000000000000002000015107355264024566 0ustar rootroot\ dy ׸c jzI Zո(Ogݗ4+=A) Ždʻ 3|j_0 V`Sq,en.b(%L/:7@<"dQ<|۵ӯu$k3h%6 ">I=e+.Ӫ z)cd-C4:HЕ+tzՕǸ<OWeFeM' j9OV~7(AȞ虛\W(]q.jcz-#/d={  :C]?NBoI;NyM(D-+[<68kG|s]l/DU+}e93f3nVѶÙ@V~C-vTߑVAd+)F[8>YٰNgJUu/-鼤T7Ҩ2TJ-󞜼\h֯SdC_ |ϫtG+x7'2@QסoB+I&}̙aM D$_wIkI"wH 9tlVqbd|V:s MץwUB.4/+mHM\NGta=n:CmOP"ɟN-e:i _;hwedv౶/dTy1n&.f2kۯ걧U{Gz}2?)=A'ngS ^0.%t)"Fj.!a$"E8|eIdK-ʮ3T QI0Ipx!Sc̪1a5l.r)Vq|8`WVk(cb F1$;YXCtx/p%lj-nvo]Dђy 7> @b'}֫RJ|3$`Aځ,<8{$R le&rF|׎8U9IE9 ^6&to3Y5ΨR#a( F U uMT8?Y2]rkghcN{sd`M[Q9i]+.]͘J#SQs+U@k!kQyV J#@-)PV"h([Bߓ!PY.h2[eFl@Ԧo%a8, ?Eм:1`tGak6|N_g83f'Wp 9d wH!AF9%\ܒx8׷DKYCJWdx.L FY>^r1jŦ>Y烼+S.'apG篓X=UDd< m`@ N>?~ib?6Na] uauY7j=5꺯P |L!%x1n̟ 뢽(,umo*qEѓ `gYʜ"rb=6NGl_o OHI1K k{0N {?_>Kd9!kDz.E{ʋp #^ɢ8 /ЙXީD`~fbGig 'NzОyos0V0vrFRߵ`ِEը}X2;/2B)pb-Nk.×~Q|!;ǟȊW "Φo/lcVlX/_`C#(Uv>^"\&/n2/RbwWNCqT♮Ž. *ӗ;lUiT (kT:(#\ۑ({T8s[W@1s(IK q,R6LvB,{O֔Wf I*ZԘK`Sڋ!&̇tK(Jqz2d^Al_rzTۺq;c.ܰQ2A=j@^ NØb 1vB9Ȉt$6,mvF1nQyi:9\_8wE-a4)q4.x#HUuRgi8!_eLdXa/gz~cK%<ߡiNƳ7ryd&\;K03Và-)oSY7e2&\ɾ^oҚP,{ZwB6D j+ s)3N="SsGv]hYӒ\Odm.dșvD_2zui&CNSfI)2Sb相 RBvd֬RջGn ,@es! &@åIf棲 nׁ(C8QH3^$_= 4fK1(t?{O^"rLAm;_IF0 3fL ƥ1`\M,9DcG 8zݷ~ntMTSd1uI_ .^@.4ʗXU>bYoO \\WxSjq:t-Bbڐ>һe)8S/muHby0w}6:5, A2:8~IKmU&jf&ckg `NV;={N^>}c(E16B/%PN s.;</|ۤNvN!&Җi–7e tYq& O {Ø;X}Wj?uf h,-2dT(< vpo%k)vxMr#>M NAg.ZDL*ø;JC+e2d&2K0LuX:Ga7rԜLa3:FX7A04,dH 0 =^QcHؾy/K}9yR6v;Eɕ gSRvH.q; ɛJl渜l0.Hhv.s}ų0n{EBmUOՙ! )5B6c!5X#%Xba_2n(gh{}.!'\,O^ ?pl,r}M_@06ξQ+}ad^D׀LP,b92y잪-<~LԁtCghgr5' #DB]RKg'b8xBr"BSk?*K ЗvVt}8vm?!2Ozr m{޻ʳ$ `Ԥu7CR J_?Y0-zjڻ]#Z/Y%Am/Mel=©%3̨2{ !vBeH 'B ѹV4*{"/D2BAeizVQaZUN~%,}%oK'-t樍Yi/!lyDިJ$9 Yr+NgZ*sy€&hylmIkuua0:"{tMlg.1sXTd\q4ըNsՊ[cP+6Cz{omV߿ŚrשE">lr1ζ$3 8\CZ~p]z M;Q[$w /6wqZ!G's@y8D0IX]Œj ۷^Wvmj;ӍtMmO6P+ cp&!Q[9|ɷ2|eH8+B0RRX!C=8ITD9Dh%Jbz2zLtƸEy/ 涂:/f`u{Y Y+!#b:.H&IC8[H ϩ dX@sab)N պ04؎ܩV/VidpDڥ֮ Yi\umT]4O6!+ 5훝p\^gȫBGyn髪V{ O5xo:sGZX4&ft'o,k!l^SUe=7@-VK0ZqyxN-,׌|1P#Yҽ1r, .H85 sh'I(irA\ y>B7 Fl /7*!稻XϪ\_w/NUq9VM~ω dNøiZbB*R;q.1U(@B ~ѭuHcc$=^ǵ&MXFBٿd˾Z>B0Fs4hjUzA+-u9~%//zf}<CtUOQ[=} mgtCFX I948Co#Chz9 d5_Qݹt= DbHkUӒKCp>C!vw࿧ۘ*;\۹\$ ]بGS=g7K{;k +}"tD5jQ@ڱqx-٠2teM͑Ň;1Y 7r^ _>~k`I7uxp/$mސ/,p-踷B/SU*>73`R[P66"9Uvw {%i)LH/:ޙXH+`+p9ZE4˩ea+db^APaj]"ƇNRZ^z(yLasȝ6m娰IU BUHkhw۱^b!؍uno| L 9gٰ;!dJJs/`Lzm>b4m558!^?Wob!sjDaRlh|!9?{ntvL7qݲmnꪮ(_d6"k!bTJ}`ݿ^pSF, Zzo0V́O %g%e<ޥp5mឌ;H,OVTZTr6CPK' ⻴,"d?_1vozV͡eg] e9 >NiM9o#F !p=$tߕfL6m^^^_;/ZX!-ż~U DS~ɇ\&$w?,ĩ&U 2d"j fotzaL[sۊ fxk -lxf;iFS9 4j H3A-9W۲sq~~~yZMė_nrgYܖGԙB͟/W:t`RK4&%\*ɥX;#MExZ>qsWﰅ0ZL<"GUZCybGEm|i CiMӡP&iK*t;\V!G`R{S?r2ډɀ - fc{I3ҕɛe(!x=,v[O>DhF7'$U>S r>7V'W`&̑j rfz_TH;E[|8i"-b$i>қmבĻ/):zrii\}BbAAV`m U4f8'W#+'2>Nbݓ3)Wzø\uȽH˷_@u&y,κ3&< ۱ደQpfkJ6Ӯ]T-CL0lXVǎw^㘅\P(#b [rR?^ =*=5:]X{_4p9󆗏[Q,gO-jo:"nnI7+ckJ(ȋz6EOLhԆtEttɦMU0\^hAPAGܖx1oٱK'Mq8ʎ1Ǣ,fiғٽ>~ ~7.M9vPE*zzε{ݔ4CW>nI,S/*JAN%{Lxo- b]x4i5P[ r) }7ֲ̾urUzW`ֿ5 ,(ix?B=_6](;e6eMpH /ϗ+v%i)6IIx(Q\) QO͒g}[VUR;FloEI#JGk0H+K鹓A:+U#w U|*COH!( q ip$:͔-. SBͦ2릋'ESVo!1բSh׶ka϶N%+tG)<ߕLm)|$oxgS}Β`G>3'^&YmT-T. y':2YoZ^Jِ# MMBus96x(0/F],sn񚞵*_*k;*X|4J7b-Ia}~G8CRq,I^Y7f*o"bNPs~ЌgD.滑ɋ[)MS˒9z. ($vVU PCTj W2n{ i9n RgrD<|ZGfGh_Dֲgöc\50_1+P$ Xȶ]r+\S\J b>EWRDH9)u8$5 b M+ۤsk@oVw$cZDڱrR }Vb3ѩ/yT}QuAob5NzƇhwslª͂!BV>afX6ȱxEh#ey ݑWfלgii&w_"lw SeJ!Od U\U$4,],h+BcThuûV!ǖٍrюa,!,R_c8%^u H>TVE6D #jמ`' TZcs\~t4Q\ƾa }SltFDR ]oߍ7:U9fdV ze6>Gj Xol(kam*w}m:y${c[ydX$1pj=ٵ"lt!<\6[PKe!fr["CptAP)#S)Gq!|Jtqd uHIvH~.Di}Sh.tjijzY4Ƶ~x[| 44՛UD\陿o{firܭD4ф 3=V ^B]ɤb)e8K‰ 5"-ai.ePz:^Q8<<>WK/wA~>%\*&C\&F Kp/sܐ%8\gl|:x<~h5γogB~8 wn2Ȏ[)h{oH= XRW7r(՗T[M S"˾^ e2*C;7Du ,..}&`=A=6PY՗sH(R1^/ w|k_ܱAlE ;$?B7mqq裱zzŞzJG ~jgH~h^iC(M(i=j1C192ȧڊ A~/s)ʪ$n~&Uy#To`y_D0t X$N#u{!0~~aGttaԺ_`yxƁWeέIy$S+3}8,տWMV>V'3wC'$i%xevG|Q,kr@~cXD<>*޿œ ]!/EY^bc.|ѵBE:@[$e=! o^VR:w:ŕ CYb pyM@4 ;lqφcغ)hObM~#אլ;U‹ȣ`;K&Air`fygt.$qԑ4"z.{9rf [̖ z3 vg2B`]BAuI_۲P D; H9ߏ^R^R 5/MT^XϖiR;.vjxG To0埂>-@#_]ge8&aG6;EEjCtq&CHynATy &!ORL+r~BXTM,=?GOjȊ, ahsE "ZndԱ`b_Xi *V D@›\  (pNKa&\4Ke\];cx,HP:\'9V ^ZpM4.L]ח~fW,؉]5Ҽ@KC@B!V#!ɖ]\vav"(1wPE$Xuh.3f;F㤌Ԍz483Do MAמ5/ Y5x[ Ѝطpm~4NFU8eYxE@BmP"DMHom()Gk}++C6:zuPxQk:N} ED^" /nnRy`4:Y"+hߒ, TH G?tl Nakj{U9\9'}Uҝ3;5[H8u zhLzbXpm8V=neU-(NdNוd'7aCfAT؏$f:/Z%rz0[3s&1Lxܔ_: ,1(føX-P$L ܰ!.xK!2-*8&:R^D:r6Oݾ3ppQ\rqm/c6iGm0Y߳t{$ A(z~_&P:ț>b `[]R'nRzf. ۭ͏y[ޑTiOKw@00ښzbӚRbvzs~G"a@%|F ʺ/lmʵ-6-90T4f#Yuۖěz]AliE%vJͤ9!'-lbHC }  ٘['ʣg* -7El&"p'uH&`eӧ!%T r(9){'uB)\oPb3 (8k8c1 &5لg!D[ ip+ʤD ;'!9`*E8~ՈeE)=x9dependencies/pkg/mod/cache/download/sumdb/sum.golang.org/tile/8/0/x111/0000755000000000000000000000000015107355264024333 5ustar rootrootdependencies/pkg/mod/cache/download/sumdb/sum.golang.org/tile/8/0/x111/7290000644000000000000000000002000015107355264024567 0ustar rootrootjǴNӳb߱/Tg=WfHp}xU;0Yl)ӫr͑Д6eT Af#Xz,KLi}vkdW^Uؙ*&/ß5Ko\b{[*P˜g Wra, I=r&GOEhA)7ދm)2dYzgQ&8jXsuO' yjEM۴9$v9t!^*,̍g]CUϥIAo5l#7 x7L dMcXtQiI8CRLГ(7Z"I^޽:aL?uf 56)TxL*-kswP`[<+L GzIG2ӀdBnjrDrNǝ{pKbg|Ɲ-.mAQCg݊2 [;A"\_a6t|3Oxze|LfؾRV6J@y L} n|؜?>]bGkI2A ]i{}Gh#$Ρǯg=Q"Gyx8a:h_$LHU ڔ&ƌ:aDJ 5zȧt@)bymN058' 5ޥ[8΀f5JN t_pDWYE=eG*\%e(AeW !(=kQT'pp hW#!M=k86 6逳N4b@L w/r{vC};7=2D;#Ao9Sk%DӷUg6o!_"gr ױ D])q ?kS`iv_JR [((.F`1 |:TQcݫ=x$3O/b-@ nSzϿ38QƢe='q݉s#H_+ K^Z<U2'|6y6e -ATb4[k`BQJt8x?g#sci;y#ݦwL'< axuݬؓT\شӎ_Aļ)15˭ {`H`m'! %0D{6SD1CqU!vS9'=o ɈUeN; [  !Uk=ڶ"Yο`*?XդEhHެ]䂇۷D 판F/C -,]$D b"8-T'bip7 wUZ?N ,10p (=af,̺$68&,G|_cRU?9";]C7]P\AQ|l0K (XYf{pQj])zftn"8Rj<-9 F^8oZ 4R¥GxQD_g1 .>f/nbKi2`üAX!DG{Bͺvd$j-2;-+)Z"$ְH ~ŏ+F>pW كS= m{E2#ixI;j550 tZ?7S46%RL)f8΅e%aNy-Q|M^ߥġ:x,$ID@rH+D :RN.rf]7r@R8/!}~1b{=Kw>65ip ^CU pۧڂ[`ih;`W⣲Dmw^yB`e̡kbЗcv(C;<[? g;ݯ3.pN|Ϸ(m+ï.zxfZNr L;CYS1LrE9I/jҶϳ>P "a% 3Rzor? 7)IFaEFvI^F J®,w}YLxxgS#e 2]lOGfoK2dO(L*Ș~^A)R̋{nߍN~G"֮\Rm=q7D ,7\5LtZ0~ :U"n5bͪV=r3 تGϭ)BYG0~R낫@;Pa(4|XeI:ђpGO˯}=O$;@Ȧw8xs[bNz/boMU se§ɮ8s@V0%Qmop藬@ur //83ϓ^{oupB ϴ61n59UdHP_a ^=*d/ (4o9V*O|4Jb߭TdldDl&*iNk,B¼<)5C?j= t o Pq%ώ9QL55{%F당"]=),ˋP%KߕD3 ~0^kQC hiT2 !Nݻgi $~RWjć F¬hTWUҴܙ+T!?s xZ4d<.l>Vs2Mj)TO/7_jƛLܗܙvxA%׊)z5*QCNoO_>"4 hJfKpBG;>g#4YF'u6aeaZ;bE7@ܐJ7=(1SW=ا9ADj*´H0V) wWm\KRa)tL}mtM>0[q vd\ܱijJ"Y) `Ps*=sو2xN1CC.߉bL':fefWxoF{"7 }uFϩ?Bd,*U{+`Z$:l VdjΎ%au}!2fur37(웅ӄ6#;4p3})@5DšXGa Jgg-l۔,&.k9O?6[L""dH`CN.fU&ZE1E(0im V3<\(++PʣCBVYp{4!,=3IkVTR Th[E4 XgC??u > }3*P3 h:wGHi1`#D S~/[A eH}$O>$N\I<8XT>*9(¯O[}"7FC9lXn~U\^Oֆ8"L,8 !:+4q95Dв\7H^,@Z8%,hPmX0S74 j +x(x'UD1IB~fH^B |r;aB%#?0pHm#UGwDp5S`+IRtyPa>4ЏP7J.<ξk/C˲sz?L7nWyuL,0=F))Caeb ({o Uߪ?Wݹ[6^CBfg5{i3) _?m{} FTY*v7z깐dO} & 6֎ج?Wdd7y wD/AqshR#5F|t!5-^Fc 7řt/)b` Ak&LgG3}mhP?IH8ή:lMɐ.Io픺5 v+omkͳ!&_qR-;M?DG\8LX3!E^ +C+3z:OAS 6>G-Cjy V+6cW,Jw&0c3cIC**֡hc9h~bk'Mȓ\ *I >Hc!= pނ[uȣ~4x0Zvfps|Ks@̩D"(y^נ_c*T{ $ԸM4@J_USSv<A~eo>D`x3#ZE T[7kf}H5kGS,'8@P$S\=$SO/ѐeԉ L5@)&W#If @ݢ,bi"u&xXĶj+ 5[+e-]jSPTG"!wzeeCgDVg䎛oܭEo 'x}C_N~< h,S˙Ds|訸fZr2? (юw]5Ei}'m ʤA{mvjZI+an6$u~Ͽ-i6Y0$>w*p6=ǛE@Ԗ)xd1'zNFO&F‘Ϊ/jB*0˭؞#?0UVp, F.V-ȡ 6v_}㼤y;U:Plo2>}IB-;Ogǁ)-ՏhALID X JWCtcI~uxeg`kv0wX:G9ׁ-% Y^&N\*j>+0L<)iՀ9 gzgm7B:zJKbx~sM|1^7d՜ \=W\aѢ1QU݆~ԩ;Kg 6 ο Rӗ u[ʭċBZլee*k^ғZR!DI*$56ݞ%I2Z gOa,_HfdY2GldArԩѣ0nbSVېHhoRуj} ;3dюIlj~4 w4Z['SX­.ذ颣e4v"HܪğnҞLt.RІOMREYOcs,tsdghh=MtT>,JzpOZ o@J-6`[>(U8efQo6Ͱs=*\)ə=?l]![ɹʀZ}]G0 UgǸuSz@H w~נ}ԮѪbFHC(wuI[G|/qmZ"Emc䢳I1m ^iDxx\H/LiOsHg=Ўj$I\qNaȉ`\o6smUFFxuYYK7bNLk.=^|ٷQ:ԑhahP  ׸Rglz,4lapt17u6D#f'X@T|PE&+օF?z4lkR{$NZXr :S-]WE.L.=ŮsDP "Aw41XP(+ⓚWW[Z6W/} W?Mzh飶'Z -\4T\dX\bJV JZpV<0`z z khel2}MD;kZe)ُwNTׯVfN@Qga@AqWBI"*?"fQЃ `%pǑ: LDt5V_LƶH=5hUc^ۏvIhcCo!=-'* ['l cr~pc:1$'ڐe5pOۋqNh ni} PZ$g$'|^pNy>W cՅ &6DN)do\ ^4JOPVL&)Or7 Kg2ǖX "7,LY¾OZbj`lKJ<_c3v]%Vi|ԣi`?$<aEK3 )[l#Ȏێ=: M"=:ye-!i=~H`r`|Dz{f9L;W2O%HYZ@\o3hZ"?d0&{lS0OMBL\#<^s`Ɖyw <BDC8xTn!FQ,Ljfc-`RP{jL~9&jcn!Z%6"b\$Z-E(d8!MxnIHv2n:Hfl#Gu雦2s72=% KX;eYRLvxfܕh"k/z.ruO[`=srP÷Y[$]tO~%`|1M<\Cmj{Տo1c5WINXFMuGdependencies/pkg/mod/cache/download/sumdb/sum.golang.org/tile/8/0/x180/0000755000000000000000000000000015107355264024341 5ustar rootrootdependencies/pkg/mod/cache/download/sumdb/sum.golang.org/tile/8/0/x180/1580000644000000000000000000002000015107355264024571 0ustar rootrootL%] ʆ}υkOĝOeU݌vqQ {D|՘rVJ@ 1 y 4]9rKqOcn UL8QT+\C#ъiYRg|*KJA ",G٧fђI;.T& {j#~SdǺV!pH9`12m{2IMqUwI7\[g7LU$òLt$@;j4jhRڅGbPnU) 'l3"7BH^uS:ޔ䐤ށDQ (Ft"&[C d䔨JCxouÙӜM?y.0^{qIOë}N~s~R =v4;2JPJ:>WϧG]j D{tvx"◪A\f\}K?^rnA@̐/ ^S⟾PE/ 0umV*Mw> yt-㪺 p1l,m٠3`?L6f(+ ]_aY-jp UAn eO|OݮO7( 1shp))R%*?8٦~DwdEtCE9տ=IZiZ/i5mF*n%eG!~ 4_ƩvSG'7Y@.TPmVT)1`ɋ*AV C*>CGdx{ m YR4F}Hc}+qjfG[ŸV@gi@U,.oߢMq F:fYaPEG\l$M.ό8:35È;$HeThr["}򵣱پr+ [(BKUG{($L@N(_4xZTA]Uaqf_E /z 214 C`f#~ǮI~pU $</;t($ىE@U'䙤+y6w*o5iبŽo l>5AXC`ћu?BeoK:JkϡڗaQlfm ='F*' JMPAm1Ǣْ<.uTu;w!T:s榐ڴ6\nFc!KQ1l  CS;4S·aQ5X5ƾRN3! * Hn=J퇴i`;SzL H|7ǫC.˔}Cާ1}{ q QtRmB=c> 3ƠuDMf+(!p>aC^zX5p>; Ξ#"D2 ݞu&fuN#6%C}+PD4&C ۃ5N,Wrm ȓ_41Zmh @K%] jMW(sK1ͷKG$ ɘ5WK$NVjk#ԁoܠBjŬA@4VSr-YӗK݆p!OjiCs"N֨SLL'%pb"wBwppOT~ebK6E]Aa,دnf_=OU=]M L^>ZGqjJUX˱%ѿv2adgrA'Tﳭ; gdӌ5t.:}K%jAVj8hXxШʞCq(z.֎"R0T`f3Z<`;.@F4ô:%D5Bkݜ 'ѸF< ;%S+%^1\Ґad({O%<{m >kNH"m7F׃z;l F kuA $:$&E\L#~.g23!\z Pv*GY}x0ǩ%2p cDGBp )bzDzL©9ײ-n5;bnxMv'cx&r|ߘzOҩHp/y4B)A ըm1)N-bi*ɼl0ňVo<oՙGw O,~t^^usʂ1;{_-* śnF Q30T<DZKil j@㌥K῰W2f)knk @H$p|Gx^QZ ^Ri\WǠ*oŰ4zh9qծ ,"DGu<4vP썛I?UiQ07zolr׾EoH"qe̶9BfIXl }g腸Ӡ"ܝy84-樌B=?i m\~!pRH10 )2w8ߛj%G RWZfua;LCyrZI><"E[|C~bVAO˫% =$$9|9G!ۋp{Z t|1Ϫ=z¨EXA;b`i=HhҜ:@;{A$uX Kop6Qd ~cXxxO B2 à '&~z3h̳$P4r_thMW]va}_x6C)V#xZ1`(e#;Xf_}^K\#Bح)˕6r_uR'ArL C i(s Oj7֚w\;~}Nt>tp_o{z _ܪvL| ˰-9y1>g6ye9ʋwrr+##"e@'U8ӊ((JWki[BB3FMWMTi1nG֬7B |^dr9-Å0'9IN ;ԔCX xΟh h^jQ28YءEh&>WĜP;0nD_bo 61ܰmcq9XgKSS#UWf 1ayVMR G\ BO윙i 1"B:֐61[߀,voq1 Tz3]I44[m8$&_ .;s[0#EFڊMI ^Ls}hBWPD8jzn`B +_C$̩ GHԒj $4f:@>0A=yKB:A/,[ǝMx(4 ?%KY#=zRt\RESq#dMVL#& @G&3r^/Pg'Tzcj5fCaդ9<>W{ѷ?.pϵɐ#V6#J"w] ( JҌ8d1<M  ֿrenqrYK! HZ`C74 (d˒J$O-9a8g4Gzd8lƖ}e#3 39-{ PN碁n@R3#W9Fr҄[(ؘ)PHv.(@?c<܈BqsddLZܦ۟FQuէRDZ!q@R,{gǔj=kxP)e6Ϸv m*/V6>cdC-){4!,e…!x(KQC> QU^x#A< `>ki}[h T_nOOtg\ioktP v/{j ~G=6˼oJQ;]ܩ=5=>eD [ˁ|9 yN$9'NlfwW}IrQwvԞ#. {v[bI3VO8P¢zh*R"XƤ1m┑Z_8<&C_؝&(2<2ӄ+Wk(p׆N Ar_kV!o=Ao.j[P%Jz 3}M-I7l*T0ܯnK3!ϱ'E]]Rkzё)=DY)u\nk,^Eu4@(b7auYKۧIogiYJ#!O [ gZ,4xc7WhWn$O40%*!=iՁ'y{[]"dXCx!S6;qLfC }]ò]=o]X fݾ*cw.`8rLR 8IIvXn+Ir$=RNdN=: \{56..8H=?8@۾- iE~ci\ڐIpѼRψ/vT^Z)EU6+/T=9^XE ,!7hp5r;hB =[WM?hԖIa EgFCvzYuB=p$aƆ r|dsFP7vEwu8K{_|mϐK 0ߜ_"RcHn9l! ! %gzdTUX[ BQ=;Mtuk;(+ceW w_cA`"r%W֣0s5%3O)oIשYJOh5;ʄC4AϪmF/k;Wç!Au=A5]V'NA> <8z(ׯ  <&g:|~F|z*k{zͤMbF'cM)kvh@tVǪn+?sr0'a @4S|6OhI8 *5D ƔuҾ;6HS{hlKB09>,XMk/$Bwvy #>qϹ #҉sأ' 3%I"[$/"vNift߻Ulr^!6ЄPs̚]#x~061/DǐHI7E^}lM8Ϥ׺d4IVjWwgV%w0 _T:#ZlɮDT(ه fG6vh1L 0,Sh;H p,\)*| \P'Rwڨؿh a2_ua{+`JUϜp*}dAA9{"])}\<)ٙ!% H ˘ѣ6A-N0g5Zz<hպdGJ<) $ڙhDIJ b Y\#E|Ʌ ;AEi/tV?_:,6d$x&AS-H?? rJQ9+)lx},bδg!ZQ/(^fCWUF!ITضY/0/U} J Zd bb*ZR5>X I]K c$?R ha܊.ok:OVDZ`F{p6k*Иflp&$es!փ>Tb0e~MW&ss59".(p%ofgYNXQZ?݊rgL!iR?"8bNAlLJj h#$}DWГVwhO`T4N2k·fq6eb7Uϳi'Qa`,k0M.Q6jPҁڽ;= u0Lq LSK@&:pQ-:IS%'c, E%+p\3 cmtT!t¹.Ye/}²FXd0ܤ_v ( { (hZb[b*afE]Nɳo W4 OUe7aGcq@'a(Ty=q 5ۙ/A~HEq( b$5K'3ס st,ee)9C`_3 Ys$/fȽh[<>pQZZ[$ 8?CKm"p'kK# z]kd@Y;S@X\PgF÷@'L!&1d=eS˨žA;P ˗&P:Oԉ5}3cXkT&Y¿{:Qca/N!;0 "59H?@XȆm5xB\ɆE~ՕAO\$TVNu(tVD^`­U Qc؝W^97bD~1NrXFJ0de-CucA^. RLV8w eXݶŗ*?)Y;JaT3oa*b1Yfg]ߌ|81 'γ}Ҳ*);q;Kv,X)1i# ønRǚ, 쨨 ǽ%n(cnfv>뱿'dN֠3N)7{1/a@ ƴwĭlV6Ny<˳5\< ?qwrE)GRcest𷧨i^p4N\ew=p^ @mgϰ:.Rhr%?8#.q`;?}㩜#nj57?=hHE$y3t9spYggZ3l_w)/ףT0E|AN‡f3oHy:f,c`]%+_ @^|!o:'sb+}ڂ*y}h3Vo^Qi%I`=dפd㰏׶p]oTK{`)Pԛ.HWʹ]m}GhޟTѾ3q{*2|ֹ'Cpu=$Fa-qT_*|tęjw%x? A3ˣ,@Dý1g] 2e/tD[ϼODPcZ>ŀtݚj#2ޚ? ~k?O*á!~bH0vl^} :z#L)X_.f;JfpgsGu uZ_:BMSF} _~cLT.(=T%QM R,-A}]S,z1{$Zq s#S:d RCeL Cx8=L[=5pġjJt0l:R7G}wڛֻ,hXNu ooND 6mq+`0fKϤS2U-[jtdj۵Dvۀ2W8hn?Gd [B+s7]M;(8, .(Ww) Š ۻC*IBG;nRpeB`eE<)$ؙa`ɺRvsV" e]bM)~xц_deH.8[ۅy 7ZξVGnBrF\{U7%q0;5ԒY_-E(BԲ3̦j}Ъyg~o՝>R+-E!@N/BS !1.weCcEZ/''_Goz0ǫ.sh Բry@V(r;WbޘI!sWVX0V)5A(+ƷW'{ i ׁ#P2vXq7PoaA+UO]9- *l?vG5v-g>tJKFBؕzfL?h53ѐߓ=1%636A,6@X$60Jԕ*Lj8{E*# >:8рM\`4J,߷K&;s[{%e@/O(/N!'ŻhL|<)?1`f8sJh%t 'ǒoC;O"/[:QN3;/+YdI*@4YP.:a=:0O>=ݺ)o|]kW/FMCSa1ɑV~!C3.J1:Ѻ୮ `()J"ֵ>{ihzqQщ!aNЏKɸĮ ^Fa:"`/N9{E%'> S^oaX WE)AAz*tϢ^q>ȜLt 81xkBu H,"t&"c"xu D4)ht"B+ElPLJRDV4ݞr JqȭM}uhC32&r^>S;QDϰ"hM8Po" V/ӬK%oI[oU,ɑz&ekBW,׆]@hl&ڨ) %SlAWDfOUJDavީƕ缏Yw _Z.'2o<ߊno19qҹ0$2e3R4y"Kjv9mfWdaY-j!AD\rMb_[!Bat[ܒ8N) la|rɳł)]\}O#6]aoլv\ՌJD0{_M\.K~.w-偫G,)z?qX{ɖ;Ii`sN7Đi2~uUwE v'MA;d"% _yG꟬f~$y"6wK䵓Dݩ:e{K&ɩug X] ;I@k4= A̵AۀF mI];P:͝SL4ЀzsD6h6 FZgץMsFX4c-͔da &S FFVUsTMwᶒUS}(R_BAڰ7x87OxPfy {)f6 E"d"ѵXD9zyMð/.q boi&ʏL2L#N"6t,gAqgLjU]ۛ`A?Pǣ9w Dbg _U ؉=YT'sN1-c3w _M={ہqKEYtqA٧A>g HμQ8Oq];&I ? djѺ.0^iG@D"́@wV[ bVӳ)#CYrǙ7B8~+̍yז7Mk*Te/#Uje5?w~\mK2t< MĂZ.4wRWDG7[a"_hfz(DKOR!|WT4G @r^hgqQ}?jnFȌj+3礚z pgӈ^O׹ @w&΃cG?V: K N =|m\52j.mX(W2.d9ؑ - C&^iOԞѡ,P}E=~c7{8P'R(օ!#=i$۲.#w2%f .ѿ x=ۅxO'c9Ihef: HZނ5yMm`!E ݞB겲磥]3Y}g'i=<#'رDm׳xZ/ōHK9%hk0%p *9%k:xN/x k0^npE5ϼCϖM7)TEfÁw.^mmRon~;۫kؘ2?._8,t_mp9xʵ]tlFMّ> lwrPbVV&4>; i|ٍ.6_ޖ1H3My.7O5]'ѮT-㰱|Onpl.4s*lz<["2:N@i)187af^`Af #xV %YQZx=q$N+QqFP=u5|3Z;Ӿ rLzD@%"ظRt-> 5R*Y.u`2V8/ YHz|mPw$%閰*LBS ixIKy7MFIfH9B>sF27ύQ5"]U]K'|BӗXFCYsU墅Zeȧ9WV%e䚥vI! T`]Z#~hV =>R>*w|ł@h[5D!ݲ?>r C9b[ g=Bi Q[[IXNno!Dd$W85|:1pVzA:e~JΩSC8 9_P?f*f#>x$[seD?%20.HnRt#?ǂXؔvhe)t_ Lc-$^SQң$ r:Иe)ȦׯsR!\,N2e%3) MȔkz`A` HI^'DАV0u;ӨY]=t}ɃW:,Fl *s}5l~AO43y_*s2=!Hm[Z%,"]xٽ*jmdependencies/pkg/mod/cache/download/sumdb/sum.golang.org/tile/8/0/x148/0000755000000000000000000000000015107355264024345 5ustar rootrootdependencies/pkg/mod/cache/download/sumdb/sum.golang.org/tile/8/0/x148/7560000644000000000000000000002000015107355264024601 0ustar rootrootH*vN2 [>S*%>OȻSU( F39-KbTd,%gho'%*וPROCEs}xRBe|~JhMC<X?*P= fG-uf%fR$K `XbBOXV+c| clc(·/$o _a0XŃ (SI'mx$]Z 0,^ C`׏ <1]F_=WPN9EXl#p:Qp<ō8¯,5ZM w ƬKk~Y4WZmmDhLQD}+=:EYj aH:H9kqO99Eyi nJ(+Ob;s&ߍІ*HKv k4QeBWN(-DZTBZJEtT(ףz'BS Nq]_OLj+RbVu 7^LW!`(K0J-u#P*&⤩ZvrX%>fjKM m4 m?ϒhok1;9f&O‚?晱ݪfȼʴJf(N\0m_=Pȹ0RR*́.ҔԖDLD"0z;GiH@Ģ$j9#/ij۱z$20,]/,֨v[bCu߬Z sj~dyGg7P~ql=Wnz8,^șt-Vpq[^Cy/E!=*,8O ͌]iX8W60mML̀ZN]ESN0Sn"qʉSb%; 3~*ٸqΐ#s{dc M 0 GQf_+vJ`b@7E {/*eH]lʇ{IyLAr_bužs;qڝa`~Z]sHtݘV oai%Nf0QZ=A;xӔ{Yt]yX>݀(.{\ >(92mkoE׶3"f`kX|dIYP){\9?Qw+: (0( wW!933:}Q>h( M1%J'"9S:6.!Nw5슘OCŮ]0EwA2b#U0 }S{nNJ&!0AKgT@>3*HADƤ=}CF6FTY<[7:%d Dr2n0- կ_@1ڡOe;htΠ7&uZݵ;P n<僣hKrfʛYL;\ kE]gy` VG*9MKߗ]1vZG/G;'8pE)9 +RY=mESH9a+1zTr.jˮq fc0D2H߫Ⱥ @qB'Pʘ6B-ϬW2Ӡ`w}cF Ľf`ۘ"  [uaɻ/!hXK#d))GB-6fDCe6=3 5 a)\rh#Kp;_. 3wyKaÿ+[d*u5ܘ#e!v#)>,%9P*Ftw8T-֑vQҙ\qw'C6:Le>UJ@(-Lr3/ld(uϦMjxpl<$Dh%x J>BVA)xnPE+p\/gc CzXZX_֮/labtn'Lhܰ#":?>&şFYtF, 2Ѡ^n`ҕy%w3Toy:LͿ)tn"j5x鳯 |k 伺9v)h@d\TC5$;X"omg4W˞\'IM]C<^g+h#.1LjG0Me=ȈIkeYUÐ2ȍ!f+@Sd )D?sa Fͺb!?^;hF>f#EҲz_)naV0`1e y(a'O k<@?m3墎AOIpW}‚ "#J3{J[HTDzW[Nk=|ڢ8&,qڲșf +kݹ-ެ%~ / *M]A,_Ϧr&b qDDk yZ&I\{[.|;EPBau6D5'vƗ0  0aDag {B.+%6LCpX!~um-2\%CYbͪ*sE*K#Fl|(ʹXkŠ+ b\-b`56O@E9 N] q)J4 IQ@JHOW)_C!oBxkNscb`gR HtZ}Х(snSIb$qZN>2օ۲TvCjZ$ 睏8NE$ )0e)¬1_n H<~C"jmpM˲׾ |pXhBKc7K86I{<o *$WVm(˅ FxKDZZCzg&dojD!5ՙॣR8ut;1KW_ Q8 + #JG{̴ L2(.s!.pRvYm5ȈtkI`vYbïCK(xYtkZ8UJ9q p$8f.H`rGS4kurXR]r/݁,z#VS,sR|uwy+ex;L7(3Pi_>"`x.W+&R qTCs<Aeݬb(%IY6d }bJ&\=Yh LI@6>6O6`X:10xD5 bd]6Y|. Ϥ,3.xNUEͬ>5?yn_?/IqHzN<{~jt)--ivi={qvNH'Zt{ZG#:dHL\Zl bj0*ފTUHqL1ΟZJB%ex+KV&Vzm(*`BXFƼb*~R4N?/8ڼ5ֺ{6uPR"!FplS:hJ(**~޵25aIuHwxMvCxTEޝ6yg>&XF}[j;}C)0O-xcmMA؟$(gBF(~\u5:ۻ-ͅ9 ^/|JrdAF7a|*/a҇il ($5OJO#Kx@sx!0 4$Du89h*'&=6}6dW\nP>@K| [𔄳۹RGWKR3_rZHk6'U3|Gˬs =J֪ .zZ)[2ŀVQ=UdQx|.),B1ql,rʷ gXGZN't s$0&v3 ֮t15!ECV#j5C^pSxW^l 4:9멎J?6ֵ7ִ{/μ$ZPz')t+I=E J̈NP$6vOb#j6t|"^NRO2AG6rZ' 5&nMy:\ajm8ɾ"=PsU6lzƼB  _Ud݂o{ȀIF1ٿ3Ϫ-7PRqT:& _P.~Qw| tb$,AhN`cᖜ`6X7 amaلE Ny,ŮdSS%JLhE:Y2YN B;@{q`J}dClM1=fM]bGv EOyе;ݦ[͒u\tڦ_jH-HzE \8Ƴ^kWWI @B{Ī|NN~ȟ痳f \7dQ +VGݻjd%Jb;K+AhlO| `ΏA~``mo+Hn9}Œ]Tw{87:3pļLY< *jd"G|y,;:WY1(RE|R`qL/y}7[`cbeQyQ3IYЂXZs7%Ma̫zY_T;S&ȃAJ[u O<mW֭I\x_DU)WDO*%۴r { 0I q)kf?m+vа9,-O&{2`)Ñ |u$s @ĕF}w|wU*Ƅ٠%׸qp86;V< D"-\Hxb 4nί$ ڷq6D18Y8"ra5T<,è/>Ng.49ݲ*| e= B甝S(Cf3铔گ_ulHP5#)J48yzz@j^!|L|~^djk6#,k\DX>S"e_?|r?XArje0WwZmOn _zPVtuʍ0<7&Յ$usj9MR0oBC8Xuޕ1K>FC>1% qBoF̏k{ XXf~*^ rI |QDqXR礥Ů]lϪl kZY6U]$~yݗgx#{ikBM)BGjX&88mnmbѳ+W+#TmҒDd~ƦL)> #O#kNW,e+J}mOxʗ>?(mF>Q+}NI׾ 릢ڼPE5Fz"|jTxy̒^E/lmt6w*X^%H }$.C#F`Rj7MWenb"8AHI|a'NʉH4f`j ?"JJUd*c6X\WBsj-f 㯩M 94)~"7g$nTW)'Jo6K?f4EP9d4v(BŵNv[V`\I X$u($e(?8D %.7&O> hm~7j: #YUS5w Xܺ4[^~1 Z8 t0\VZG%Bi(X{ԿMϐ%KQ Qavat)&:$'^7ʧBgH5EoK}63_ 7˜v2-])}>Tφ.i%ZD<v5Ŵy50_Jvމc7+NQ`yN6*dn"%)d5; B+oO͓?:~:P T7gd,u0 -a^Fى#3riJ`tгQ0Q)^UJlR:ϙ]2h=T_/=g ,)|kQB/$yEai'G䞵vJɲM +6eРg\ZaW=' 㰴츢)\Z9:\ƽNQU43ާOPlԃAi~g VT[];_$ӫ@abDӬa  alԋ1þ˂Z`w8rvX0'c3x/QrzvU9'Zrߝޓ^;;%A YN|dependencies/pkg/mod/cache/download/sumdb/sum.golang.org/tile/8/0/x182/0000755000000000000000000000000015107355264024343 5ustar rootrootdependencies/pkg/mod/cache/download/sumdb/sum.golang.org/tile/8/0/x182/000.p/0000755000000000000000000000000015107355264025100 5ustar rootrootdependencies/pkg/mod/cache/download/sumdb/sum.golang.org/tile/8/0/x182/000.p/1330000644000000000000000000001024015107355264025326 0ustar rootroot>^i% hdR'_Fg9ͼ|"r ᲨrX$G˻،UD|a0y%% bWQ9K@OC(WCC ^Mk E-w6Ku'$m+SލB J̱JTG|G$-QDkW3dN '3Q P["9`.T4Yϳo܈@">r+{Tꏉ#K+G2…&{L v2ZyNS`Y}}(9ӷOzmBVcNtVV6c/O٪Ϝ_E}kz!p [ʴ Nt m(ϭ8;^{ ]$XDο-kAugg$nĝU(t('q?!L,N[CM+5B{@݈bVO*eC|pUXʤ C9a_eRL\ˀ%pqLH~2*?b੷O#"W&#:f50;1ezk׏^Iɧ?3?)O48MҏߩtɄ$*(x I/vm~?z-Hl 3mZ2t ţ>m8NUڼfvgەM D/ M*nenKq_`"A3sQ^wӶ)VC(>no(8^WO~%"nY: |N$llXT:("# \~kYXV&87|*Yb' "EsVQD7&a {q{Y LRo۳jinO:bGARU~_ô %?ǔ[,F™Fy"L0.@Ȯy ^bhQ"7,u<7ku-!CŽY ,g. cb=2LH4mc9peK& P1nwpHhYҐϮ斯O lsV.[X\MUK>ؖԏ G[9q] Wu.&9aL6T*_7$ޗ4x|oMϿ$H(qZHZ"zOO]]"(n:IaU^/?`hϻ$DS7] 1 ^RLVֹK5)jQ+A*`aDeSmn,z.>lH!c^xMH'ӵ ҽHryXfۅLߠjH-`w[BW(j˶_h*Se/hs((KO9—^R hy`w_6H%;Ix:JQ" 5,dyysk85}hR]E:00Ed$WA/{/=7Ѻ0?Cْ| r8c z Ϸu;eqŌJHk?3W3Dd39ȶZ?#rKŁڢdq6TRj<"ㅛ*إDYBIyL9o&YvCe^~e:\[dDۢI 7q$OO:h#w~_}gIO5P'7NH8 }&Q0٬ AM(IBv%qCk#(?EUR6g6[|-v~` =cm Qa,f2NzaYjxWKC 0;"C"Wuw,}Z5L ɂ즦jUOE"_ءsrKoŰx~5(l[V~QcR-}fS!b/iQ݆=i3nhFRMQ{bZy$[C_^h`!0'/ki.{e_yO.Ee&fjᚙ1Uh ';#:Am !-A민uA.߱DlθV YVyY'ֱ/bF*k DB_e Æzo~QfUK)i"DG}bM&2h0Jĸٓr:4׆P?4Jgd#-me9? yq$+[u0G;7#fPUwWD88F7qi`n3%#;pBzdSbJ'UO?q{qڡةABq c7>tS|&C.%IAID;[D6>lx&@A[xj1̀H3pvY9vC (Hf<0։I*K^\i fNj8X΄K.h[7j41T_ 7Ä e'RM^j:OBw{k#1";ַ FtUZlW)uO0F0ctr-w"f)ALe?DTbvde ?^}ZE'c-clCn}y8L} e|/zYb/>=!{`RK#kF.S#6)8$h6lۊkv1?׳8ݮ@4ͥߍH2Hś aBZ? M?4dependencies/pkg/mod/cache/download/sumdb/sum.golang.org/tile/8/0/x182/021.p/0000755000000000000000000000000015107355264025103 5ustar rootrootdependencies/pkg/mod/cache/download/sumdb/sum.golang.org/tile/8/0/x182/021.p/990000644000000000000000000000614015107355264025270 0ustar rootrootEK/)wl#@ Q.a&c| gh.5VOW߽d&:NĴrP wk|DAIW'FRTtr&A l* QmPcc m8Vgs ŗhD' SXצB/bb( gy +Z,{s ܂>N*0 +o@B}'Y]z\6k+-~rӟL6|W:=:mrp4O[Z=F~hҙq .B8Bְ.;fa-b 魏QT ˊ3ܐZBWqQFJfwSԎR#*9ƭ3UvA-ws6ŀyܛ7[ MxWti\xK=\#a#v)X#5m7MH#+xhɬDgvϠ2fNpObE$~0^M:O{7K \H=L!/M}l">14r$iEb(mxv3mZ5)zzbSkY2Z5?UFȨ@Wb*f҄oC/DT%/~Oм9en Q4yMqrnoWd# f~a V\1Xe/j0ǹWY~Qd\9wpݶSaÞo|_"'=Aα4/ҼK .^HI띂 g&@ Ŏ$ӼǤE#u{xA4EA&$%QhKY3O,.$UoXx,^$MB?~):r_{}4q`eݏ}!~aU&C/9TWzӶ4e^ѾW}5xGCB{SRڜ̓)e8F* Fd}>Ɩ)NZ=fYsu!Q %p1 LBU+b"c(& [r8plC6t)e=a/55ub gV9DR[ da1*}%w5gQ P$ERMx`mS~m3Zj0("Uqs[k1{ i jܙ` ]Lg1F$:vޚWj#|Vsھ{ t .&Bh%T_5BX:W0>FBs繍Nɑ$%͟bvz1VȘP0翸Ck<$WZG%bz{CQr(20gyMEB6NF76m v-- ooC'q. 7$/\ܣ!|&7N%}uZJPZ#EPF4QHc9H<upglyR$"&Ur:JJ:b7@uS.wBH)@Sy/\J`0[?εP`\ѻxEԱ;Xf.%AE 1 F)Rlut~偺Zroa%/F4kbz(ܐ4He"7B91 e&I/pzQ$3py&lghXhh :e' p#*P skuw@ ~Z@ *cx nxgE"lFgϨsbJ3SoQԠĸ)eI]r@ ;vŸےP rBT2uG8'eD]TA+CARg->1}we1Ò_ ,Vpeg6 !c:TY/n7+z C}lZ_3 iEIER>[^J(%rVa)my@@TaZ垬[^z[׬u6PUB(ng8\ Xe-.d:d«Ծaq#]ơbʍhiF@dun{UgaYbr0Gn_zi`D ,fR hjxGS|Gēæwv<%rs'c[Y敽o]Hf燼HG\eP&<00/B $ CHqěTA![MT?f*Ud|YiPFZVx~uڛUD(ΒOӆYȝS}bBwJ!'>Aul,p$3h"[O}L)k f58pT'/lCMl/4.dH ü8 ptܲSPC2zbxarh>E"AGO+#C֞f}/|i[kGU,:YAGY.+AE adX,F%V+ܔ47.U1?EI#: ġөo deͬgE7AGФ:ZZ~ Vz4Ն4Ef%m_yN8KjH SZr$&G<8i߁ή=B$N3Ju/+xj$!&I `.I!U6=tBBaqh _$,]3`ϙ;QNaVi YN1A^)"- OA6Hoy?P[v-Y*$@V$U 3~h}i72ˉ1OH'i+ 9]*cVa@(/6;ҙi`kZ(IDi'~TeO H`Wѡ?D>Cd7k1#QAȗq~_yfXw;2`=Y϶ߔcK8(͒ w(]vɮ!:٠ 4 9u~cM&; gw3voǺ5yl,LjZ{]];Xt:QtoZgweިS!&'O'"ڂf͕jj *PHA7Q t+}ۛPv1vabxT|"HVX k@܊)~La[NR S NrʋJy?6O-M{0̮nmtnՎyofmQ8<5;3c-,H+w/%*,k1> ɲRyWs8Tم,I֏C/Lh|x \L`c9XfvO 1lDI5"X-ZG^Z̎A_ܲ0(>`X< Bנf!@ѭ~'ayjlЃ va5*GŐD=VhL*JW,KSoR|4O"mgL.b6knݢW*_ٷU0nZJ-LMS j0="V?#$` k Ayz*&Lx{u|VyY$*_p"ks!\`LW>XzVGaTU]^" xF .Zo>X$F.R=IE..#5tn| h7`0= z@M^g(ځ2&$i4 (vykIXUC*5Pj;Bh)8Ϥ^2mT5`tK"'|2Vw@_Thq*}X҅fSYhEebCᨯ C IhTU\v ]ݲ׽XautZsQ[Kb `EeOk_d Lxbh;8q EJ1FuA|6<}R}&9e.πc:Q6/BM?KC uC_j/r`r$Էtɱcɍ`h:%ehJqΈuJ bx^ #-drꌈ@&U'_ W~A?#/ 2IV4,Sfɺ hbdh3ef4l~N#NBWlj^k)h_u9/ UΞPi3B69g@f^iH\wntMmLd)(VIL/!]:&8Xn=(C^%cK3Ѭ䥿 S+"15gU2]^R8&#7B\6.dk/.0 pG$=f೮7@ɇY>5IEF ;+Z7/S;`;6%lhե'=J_&-E %y &8w`q1xXv8:SUf;\N粖Ս4%kh_8TxL]}@XЧecͦ%ؿ%|4b&ꍖVGsf%{!<R}`0J蛰 mڧޥFreuS 6G\&p BByvQ" 0\ڂ0}IC`"4$l_MD),Ngm*Q4B>mM.Œ ۥZXmtZ!PCq+䗚e~GV-qsk JJJdϴ괻|?mIWPr8 Ʈ-i-6UN޼d*!yVdA\]5D{TP^ ծIO"fe  V%6!q/8cz%}@>U.z cUX՝%kyYu7t&Ռ3lHby`Fz_(tI^bzy]]NZ2Qe6yQ"†q_ONuҪS˩Pҡ&I/J{N%"(F-ϨSmA6#CcU})Z\7#a! !2; 5GaiKVp-PKe$OE}rݩ\ $27Ci4ԳQ`XĿ5ޚ {f'"k"B%z)*|\.NS| [M0zzaTIUhfp\sBAy2-иzBvdϣVZ, iI T*3 ETznf8roͻ}:ېgǣ.%@n~%RV-7smO<,X",߬T?-(ζ08^ h &cT֚m @˭~FEz$Fo' mA{մ.cW?^q`;y8f06 HIJ7SG<;-a3.֩~`6 TLIv>[AE)d;"JxFUtQ%k/B7U4񂳲Φ)2~Gsnq 55aYcwNrE_G3PB'DGؾOk%WmοAML;ebwBis{E/;{ZڣP"6nn>U5>;N}͉ ES`$CdX@/8PಸB6C[N΄w%9B~5 JSlO]J67nޖܧ B~K,^@֕"G#vֈȸi̸4bGQ5ұ2/ܕ8%"X-u@NETURF,%u{ckWwYԦShjk=$;'&4G>8%Nw!Ɗ=߂lAo4D Djg}+[,=0;󉓥fxd>TЃ_'zaploj/JϜlx4`װlʡwrǦh4BWaCaĖ IpH\X7vW*iu-UJ7K6}+ ǯ_<KDIt/WoRS3g\H"LXC<]QH8c6s~5vO!,OVWM.BDzQ=Ś[+1qZ`Xn+hzB|Vj008V6[vh_f[óRX",Yrָ֏(E mnQ6|j ܲ@(E.AK37kˈ-C}UM!*(D͝$S>ZxU߽lƭ#gjZǡpbA.˫>x"!wU(] M " s@T@;%gƅЁAZt*5z%zSmI]hisyVB <9jxXI}''p|" rܜ]wzzuPɺ{d[jL.?QwP-,tCnPmпnKf]iDi<_yh){qz yu>'+&,r+c[P!^*nSFwH/?Yms7Y=\-_ c^=%D'*Rh \xCjr$EtSB=,#$ܤ!´0]48>IsaōaI.!3D_i-G/XX߃āf$Idependencies/pkg/mod/cache/download/sumdb/sum.golang.org/tile/8/0/x182/0180000644000000000000000000002000015107355264024566 0ustar rootrootd &!e'1SM0Op"W,za"Ƙ?$c4PSͲy7oXI}u کI'{BGERfA&)WZyc{DGK?w4*1' [=W_3%r׺ԤG7iB_@]=[YJ\/ɫ I9hPQ ۻ>bOn%'{# d_dxw̭ht"uԩ ֊_+f(cR= Ǹ_. RBilDx!34M:o bsyMh Xbđ MdGI1lJQw<+(9^L@F<|'ұ73G%QNeP, sS1j"JgBDרEQ4uLI󎴩ON/F~`AZZ6Q![K4y/YcTO(%棼2 a!%G 0A<ײ%K`s3ShďPYڤ5FvK%f2QM #@7iFqfK;zvѹx]Mig"}_@"cjxhb)94L hT$\GxBItU!%D!d,9K"EI; $3Ƨ\g.9H@IPo3g=d|9i%5zfœcK OeEH9OgATg 5D~DZ 1sYr&b>y-Й ao le#-0?W id{dRІkGY$D;3*1Y0_,t/GUF܊$n0Wl 6CuVrtjK,ߌՍ4$;UH.x-ӥ%S4D$YxtDxͳC-S s"kkF^)UqmK1?~ƿA ="y]>}U| Jh%b` ő1Ow%|>SΜbݳeЛ0Ս@([ͼKaw|,q<쁎ZgbѢ*y`|$I7EB&]tǔFdAEO81i.CfF&V3:W0WEVN/$x))>b}>SyX {P^I @Z9?*wnyw?炁"p3t jQnciMAQlcF+%%UgK<{mT7MAHR|`dpV(ᶣk+y {~|wIa|pP̩I3p>hEE}Q0b;kJS5'כntCBL\n?4p^2#}wֈ} (8N`$[xW{ɍQh  '@2JXtNRNxlC/Q{MykC(w`:#?m,1UaQP({^dKy+3q:UFf} 34 @{w>+Yyya!YI1BBSq@}zM ^E=D>cJت!6vcqN]3Blt5,aT vO=[6B2跲GDGԖCl^Y_/Dz=kwGaTe[ž6bhxSOL*H`Z4J);Z?cA|psȻ*3mG)4u㾾 QA|YJ7Y~(6%e|FW/') @i3RñgHb7/ ySuIuP]j ?hq[^X9R,^w?!!k{d/]sS×p1Rn LӃZRV9vy:ER[a?%7ߑ- ,-IVŶ2B~IFo$0bo)%(;݄Rd&NkvŹ[,p/DvkACy8y{AMﳃBzE_ZGBQRw1E%0"FL@:> 8 r{(+[Tרϟ?uR.-Y2D=1##2 ɜj8vBOPXg{賵x])CT*3N`-0o#BL"DZ+H8aDԐ:t@U&5 x-P/:{z%89M %O@ dSxǤFF .QAlhB+T&|HN^S܏ť葳υZ̀{Ăy\0vVbeSN(sWwRs_"s &yU%k{NJ:v9@Jݧ);Cʥ^ir 0CL/$'ya:y]cВl_tКȇ L99_2n%1ID b;Dx^]-/8>!#mHMgf\"[q.V<].*[b+pg#[L??=MT0rNpc޼Hm3n)dA ?v>Rʀ0s##/NM<B?cv5FPgbhpI1wO-+s's ZsG9`2,mHʙHkқ6>%5Kۺx㐛tu)? DD2QyQ)V4_"*eLMۄ6A𺾇')5(j[NFM!(e_ *~y%ɡ4:=L942i,; r!%Kzg_O}]o '1 &('$ i-]XeY+9AƀWdp5i@]dn&̕Ya)ߧgcyjhRKS1˯hܣ {W,A;a36 ]V=aDN(Ơb06A[H{JUJ0SkS%,?{|ީz.Τk2ql3E.SMi@ Ώ?wõ;- _gAИ>gQJ^>-cckFPy%{3:6.[Gtb\w`&ab6I<X?c@u%f W9؞AҜTax/‘Z w5d Q?lTkJE0 Mf5^W+arJu2Vк|L&:.IM7-F As{$0%鴁\fLP=6N+Hz^TPZX^b`\%@DՎVpFHft@ʭ/o#vy9~HR}m g(- |MG4S&qS#+G.HCv;S ImC ef1M"xf33W#w"1}&k<ҏΉ <2tuB:ݻ2b(AzHL3)zubUHβzv˯Cn`,Ϸ[ѪUC%j@@Q 1$&kb[Kv ‹)fH[^CJ0D;#,\/J{6lTBl)Q׷oeAmME3tQDy@CEfHͺ&,jJq ƕE?/ a͹-I 3(cK"ihn<ݐ8K"c jʑkdR'b!o{Hu/N<*}Am[G73\*H~:{U\0D՗^E .F) 1 QOhf(̥"BCAMxQ4xì=1ʔ}361قp[+T.seءCv/fhm5"&)H^SːF$ ~4<6i=Gv{E>S YAмK‚[ 5W*sl󕠔%7or+Sd]s ap=ۇöײDp cل^ۺפkQLt9tQVGp`Z"̭Z, &Any 8*@';[gz|#Ex8D)m3 jC8:cnB:t-  |f_FŠ"fij[)@oTfkmRFFA'^Bxv_UD0ޤu.jiw[؝<#"o9묜1`ӧ.yjuV,Uđ!|mgESՏ :ж /&yiܒ?:\* -1w7c7/.lTRj8?&%(t2Xyґv3,zV2℻n+|ME 6Ts%hi-gJiVU[Wldžt!\ve^H< .Jղ)YG:|`TN}BݏNt `#kZ~+˯+cV^v26becicR}k!dJ ړ~~(MzNNR5|10#F2<='^'I< _9IuF1yC{\8M/ڇO|=,h֏l*w2OMոb݆>Z)H|eYϳ.$wzld B׆1Qv er!<f#.<B'XXDI(gQ Bʍ} Q0H'w"?m\Қҋ2/P>DQ$L[Uuot6Xu1lIW0gC } ZihfNpu6mHXyH9GQ_ +]L0c.s:=&l P „~9nJSw‹ q!Ǽ1]`UGVR@} j*k4Yn(]"XSA{MB=Em0 Y%%i7&.)IXY|%"5$=Ж(Xd'. aMVdVf$n\WN:6D҇k|Ev}|#EZ0-l;v_cjcyD;n<KA٦E}8Ǐbr£^e7BCuK9(C(hxjfƷX0'&L}߂vgݷm.k fW78SX'^ΞzǦD1i(RZ9ÖZ]Q ؂$Gыr4l٫P҆?UC#e^O!{Ent0s ГIyg5 8l*ndPv[ފI§)\{?eզSdependencies/pkg/mod/cache/download/sumdb/sum.golang.org/tile/8/0/x182/0000000644000000000000000000002000015107355264024555 0ustar rootroot>^i% hdR'_Fg9ͼ|"r ᲨrX$G˻،UD|a0y%% bWQ9K@OC(WCC ^Mk E-w6Ku'$m+SލB J̱JTG|G$-QDkW3dN '3Q P["9`.T4Yϳo܈@">r+{Tꏉ#K+G2…&{L v2ZyNS`Y}}(9ӷOzmBVcNtVV6c/O٪Ϝ_E}kz!p [ʴ Nt m(ϭ8;^{ ]$XDο-kAugg$nĝU(t('q?!L,N[CM+5B{@݈bVO*eC|pUXʤ C9a_eRL\ˀ%pqLH~2*?b੷O#"W&#:f50;1ezk׏^Iɧ?3?)O48MҏߩtɄ$*(x I/vm~?z-Hl 3mZ2t ţ>m8NUڼfvgەM D/ M*nenKq_`"A3sQ^wӶ)VC(>no(8^WO~%"nY: |N$llXT:("# \~kYXV&87|*Yb' "EsVQD7&a {q{Y LRo۳jinO:bGARU~_ô %?ǔ[,F™Fy"L0.@Ȯy ^bhQ"7,u<7ku-!CŽY ,g. cb=2LH4mc9peK& P1nwpHhYҐϮ斯O lsV.[X\MUK>ؖԏ G[9q] Wu.&9aL6T*_7$ޗ4x|oMϿ$H(qZHZ"zOO]]"(n:IaU^/?`hϻ$DS7] 1 ^RLVֹK5)jQ+A*`aDeSmn,z.>lH!c^xMH'ӵ ҽHryXfۅLߠjH-`w[BW(j˶_h*Se/hs((KO9—^R hy`w_6H%;Ix:JQ" 5,dyysk85}hR]E:00Ed$WA/{/=7Ѻ0?Cْ| r8c z Ϸu;eqŌJHk?3W3Dd39ȶZ?#rKŁڢdq6TRj<"ㅛ*إDYBIyL9o&YvCe^~e:\[dDۢI 7q$OO:h#w~_}gIO5P'7NH8 }&Q0٬ AM(IBv%qCk#(?EUR6g6[|-v~` =cm Qa,f2NzaYjxWKC 0;"C"Wuw,}Z5L ɂ즦jUOE"_ءsrKoŰx~5(l[V~QcR-}fS!b/iQ݆=i3nhFRMQ{bZy$[C_^h`!0'/ki.{e_yO.Ee&fjᚙ1Uh ';#:Am !-A민uA.߱DlθV YVyY'ֱ/bF*k DB_e Æzo~QfUK)i"DG}bM&2h0Jĸٓr:4׆P?4Jgd#-me9? yq$+[u0G;7#fPUwWD88F7qi`n3%#;pBzdSbJ'UO?q{qڡةABq c7>tS|&C.%IAID;[D6>lx&@A[xj1̀H3pvY9vC (Hf<0։I*K^\i fNj8X΄K.h[7j41T_ 7Ä e'RM^j:OBw{k#1";ַ FtUZlW)uO0F0ctr-w"f)ALe?DTbvde ?^}ZE'c-clCn}y8L} e|/zYb/>=!{`RK#kF.S#6)8$h6lۊkv1?׳8ݮ@4ͥߍH2Hś aBZ? M?4_A-3!$Nmrg(hTϖ{Vy:&t] .i`Jk +R'cN33I;э#gj"R``Zat.?v' kþU18HIt(ކOD`5ew֖X&UʋƁ!*U>Y JR!+"K F脖z3KՒRx,"'>_FURG')m+ݑm7)mn"F(w-tt hy:EuO7;׭ψԗh8(XX]d :efYP1)oЂ*D9-8$4y^V -tÎ&AJ ;G%ɡI"du0l:#KkP؁-Z5`b:8U45 3|jF-s㖞 -b@ă':q>pv^%K-%6pƭxD)9yG7cA:B48bV5ʅtjPKڻJ](Cq BP&hvN\p\+1Lz ~&BMĻH?-;bU`*BEY _:9ᙶ2RTw@߈iNc]%2= ه#U?RvIN+m7w=yC|D8-ga)Ғ)t^*5dK~0'ŋ]13?(^4.JK{#j~D-dwEϯ Vn!uV|Mmܔ^˱hbs28|]|I=_ 6RM!LPb_-Tۊ#0a=p3rKX}X,ДDŹO;EZq59~nri<!)D,J;hz"` p3~aO/(TQ ]֩S=M 9& l B\ZI?8X3-|ND@ݮ u'K+lэ~K@n쏃b ǷfE+e\]0fmՉ.OoJ~ #]#.S|b1p;=Gh r'Ssl#5wc1{aR%Pm?3e(Z"s|Ǚ%}nzMg ?0`sTz &FԫX/mՄ LɣzxQ0#BA^<H43>_RFKhb9\ӶMSP/1t@apcF?$G7vs88z>ݻ9ռK"ڲ U=XC%kv켂 ɉG M-k2%f~-ٳlRKO@#`An͖ەe3HpJ3tKXnR~S3#]9ǷY&K3բ |d%MFĪ'h~r^g%`*e҂.,xz1F{B@}I^٢:Ɉi'D88>x$m)kߛ:yYYAmWs8\Їj'ie4oof;U%Ί..Y!Skp fSw_܁u[oR \꼃-] eL-bwQƍ҈‡p0LRQkoܫhbmO#Z'`=;At0ݺ_>rH[iSaNERZg`4 7Bц8VKEߎ 3֜Ȝ˲ii9m5 w̥=l8)1qޚB>y?w IkQ NQ;hXNRdƌ2\ijK2^m7'a CIܸuхSW?3@3=ؾckD{49?} YRܛD3^8%GVqN dE41_Ci0Qh-$<x?Zvk& !kAJ ]bad>p]i~ÁJKĂ4#?`[,GsKCIF885!ll׻hCRHWuI< ;%V'Қ ޫt V'VMST~Cexӽ[BFXB3 XUf}ZDs51#wVt|շ`U>4dGxqۼՄ}4#fnA H#oE/;ĻBm)ow= 4KGɗN^kohd#4^BXEjGE*jj蔃gQ=la;yu_2vz5_ay^?K{b2} ?lhͭY*dY=զ98[T)B'mc$Mt`,5TH ;`wZMK QKi"|?n$K`qE.'9|s'qKgGX̱o_. Ǿ&j/?SbieHU늴-u14XP.@F( "O*sPӏ)= L22YA%GN>4[8cd.ĉVJ fyI<sF'#{krbKdM2+?IPp:NҾȊ)7)< ^PF Tֵ<1b&vv83ܰL^{嫫 FW3}g?IIU&7hl`^@B'ԤV5Й@7y>;Tۮ u!S%:orwiqqupmg#n9zʳiVVD4/ATFڛfԒ;;_FFc8>`o{H+:hRBY 'kw志ieI*z#Ԛё\KLذ<jTyz0Nz ֤lM#W6UѪ3qRZqhϾYɣa/ CmnTn#jZs%|ʊK9ɉ;,&=iQs)g7)y$5۾oUyT{LV@*_Ty)=#5!iOψcϑ$Sr<5Z3r%&~IgЮ0@&haTD>xH˺EmMI83ap5 &ŸN>[#ꆖw%W6] xfDG1'ZbrwPd\Cc*@.0?p1_H ~l%Ş'8p 4UbX^ěܽ74gnpN:DjhȆޡ{Cnt +9RΈK7h`ZM(,dTjgȨx^])\<ޘyqE4@A &8 \ ۶OVXٔ4tx CH`C1yi(~ « 5)]K8%SB1D/:HKP7HDȷ:NKovܑC[߈ 5煴JXIȰmyq4{mgRnNҎ~LgHjqCPUkdependencies/pkg/mod/cache/download/sumdb/sum.golang.org/tile/8/0/x182/019.p/0000755000000000000000000000000015107355264025112 5ustar rootrootdependencies/pkg/mod/cache/download/sumdb/sum.golang.org/tile/8/0/x182/019.p/140000644000000000000000000000070015107355264025256 0ustar rootroot s9#ravJHN՜}Sy PLZ֙T/ VHgJ GZd̀[‹)rd9H3E F2jjoP.24@lrUE( ꣒YdqWo7~iJ! v~ ,}b'):%>I_TQH1O׉Wac!<F0]etY}$!ZCKn)I_TQH1O׉Wac!<F0]etY}$!ZCKn)1I8łWc`s%-1f=oc|ѸXa.6[H:R? s-5s֭+IKu"X /OqcNyyYA?麔%Hq*0A}*$I* ghi *IiEj+hҤd<6l<6E}L3x-^]YG_X _ݭP_}ɠ۱RnQTM5h {RLd[51sܹoTEt(8Y{獶nM";qX!a`tK&x\m{m;BQIR9P\O/D+8HVutň5“+;*13p{{jz~iE#z|2]Dn|HXm|)d-QhʉЗ3-l^ G|{+~2&o]~B: ϓCL>fE:yHwjupevI7UWL|vN,rjIK[ 3=i+u8=w:::9LTQkj̀xIT0v%ǟbm}%ج`CZwbm#6;Q0Ƀm7MnDP ht.$u73O24혧 7qCDg$27M$J{3 fy @lNR3(1ߣ2Ї0̯oDeޟ_Jh<,wm9a顓較 {* ip뎠׿Zϫ6^R&vR/2/F?ꂂc3s 3=NB[ׯ]Lq zPD7ɬz=^ ѨZJm**}Y2R|XM%CuCLɉro,=#D 2t-<&$旮Fb=E&'\eDMޘ{tk)vc0o"n]MxxFŚ3fNwVUr䫗Ñ1D""&EXTɼۣx5~m/ݧ6t#3q4o3YҼι,E{](_PeHfS'Xfbpɳ.)%3ͥ/}Jg/|y~TCt2S,ϣӇOk+DQYI/0qen}<^u9,dJط8H O?K_+s Koa~BT@|h룮"큮Q?/ݣ)$ܘx]VTɨIk *&8֫ F~~mJZ3YDWD,#"@|]T_~u`cκH-MOD]RݥHh$g, CAQ?Xw. \ =|wX=vNK0oT_o!"=8r  ي,vWOMɰE f !m}mkAݖ[!u4^iVIZ&ώq y?4b|DobL*T|؉ ; ݤj Z+61^vvUIQ)58=w*D8 Mv@ee䇉|@)sU6{tғT;אt{?}lN;鿸Odst'P"sKwZ us)Y"tg}9dsby3LQYe:sjfl!loRϲ!FrHdPߣWSZ@OJaL"xq y&`r+e6xW !u=W9WRqu)A=~9HΌR[jPɂpi\j?H':ё\2_)Vkrf'we%_Ҹ-'&i [#c^ǐn%-W;f+Ki3>ooǙ|w/'OTvygcHO{'7ֳT tFUJ0^c×۱.x0dijCegW=K+toF%Alvcw-,m+dýt{EQ=d;F'b <( :~ ӥuU~OGE;ajOC_ NN:ddzӫLuNR! xz,w{u‚nK+`FXgpusҾ˚ me#QL:÷e>m55PNvj|ReO xP *e]tZ[q"/73.􋁟> ZWx( 4Ñv\=T눼8ŒSG̜F [=%бuB̰>Br9avBOSсqwvsLrhKJY7iQL+"gDЀxJUBBMji'cؒnBQ W6ؑ"EDD璷ǻK2DҶ*߿j&G8[ 7+/s6\[4|)Vd/~B%0Elt[rɾWk}hMWpQGհ,o\ H7A@+ap%"#kRS(L٬Lۋ*#3v۠ S >1ggUJU+لM|RKʠ1N0ftBWWÒ! ںf%;С-ב>Uݕ;X[7bSDX[|}f#(oP*kJް[UʾCݴ~*O2qkVxvҋZ<A_]5,z X|+#|AhBC~UPyV ɵ&U[~ K_@%غl'jڠS.CcQq}I4{,I.ԩaluQe a{sU. -{@,ƱnF{酖>~ʫ^.wMCfz9A1i"N!K RɶR9@ChnC1ѷ.o@v.#X䍳)IQ:Csn.`i32LBCsɮǠ\aPC9?[lj"Bv\abT?nFcٯ#O9޶-!MC.cwJ" Բdgg\-~!Poz\W#=9EFF޳?.>IsvFAx]UxUq=Vp?[a#.R ~ $M|wT6:4g^ꮧ^A4bЦXyDaǑ9{_Mr„ն{Lc5i,[\[\£֩ʤݟF y7p_Ӫ^DrO$hLuX3wɈ'VO"ڝgi* N\& eEQM^`q./iGh L!qЊ.NQ6CI\-]1!}aID{,&ɥ*6c I9]3m&|OTh [*8`QїA)VD4$SzHAoPF(ֶli8`̊͝QT>^,\vFK)_M8\22M@C$ijK"IdL n,)WjlkbWj۲dmNc uicg%#COr8$]/z2F~++P'OY9STi*b<8eOjN_)/c|1 < ˵m>Gek^_ԍEP Iߐlpn50shI Ej$KujZp۠ŦYw~ȰT)FO"zغvDx.MYFyhWma[n7Y o{Dy;&\;U M7Z"RicU7%-~? B$gB/`ʔO/4xW/WvNj"13لwBPU4_Tjx뉪.:5kp NI`x؜ikW#fxOpˊ(WكJ0>tڴBoᙯNovÖhW= V 3ޑ/z0o\jL&ΈAG;@\׶z_K:t&t_J!zL`*ov|=/% {0_)Z5Fs_b,ݶ[PP}xO&j;<=Bˁj #-9s'NzYGv7',#|hW 9 f)֍`JüМ!8 Ekrv=mD`lQ$ڻsHY#CA|-Ԏu$c 355TX2'uxmq 8-cݚAuhC:K7?:Mx/}{yj4m$WI}{ u?A>U ZVSHoYzjLE,].∧CY˥6<6 yp_`ݫNqr: i}<},ߑ<|0ƹpeSɸz@ժnۑ6#>#8^ CXMY/vzL;Nq/T(LyGȽ(yl]);aQ4H!*.c i8R6!dependencies/pkg/mod/cache/download/sumdb/sum.golang.org/tile/8/0/x182/018.p/0000755000000000000000000000000015107355264025111 5ustar rootrootdependencies/pkg/mod/cache/download/sumdb/sum.golang.org/tile/8/0/x182/018.p/1170000644000000000000000000000724015107355264025347 0ustar rootrootd &!e'1SM0Op"W,za"Ƙ?$c4PSͲy7oXI}u کI'{BGERfA&)WZyc{DGK?w4*1' [=W_3%r׺ԤG7iB_@]=[YJ\/ɫ I9hPQ ۻ>bOn%'{# d_dxw̭ht"uԩ ֊_+f(cR= Ǹ_. RBilDx!34M:o bsyMh Xbđ MdGI1lJQw<+(9^L@F<|'ұ73G%QNeP, sS1j"JgBDרEQ4uLI󎴩ON/F~`AZZ6Q![K4y/YcTO(%棼2 a!%G 0A<ײ%K`s3ShďPYڤ5FvK%f2QM #@7iFqfK;zvѹx]Mig"}_@"cjxhb)94L hT$\GxBItU!%D!d,9K"EI; $3Ƨ\g.9H@IPo3g=d|9i%5zfœcK OeEH9OgATg 5D~DZ 1sYr&b>y-Й ao le#-0?W id{dRІkGY$D;3*1Y0_,t/GUF܊$n0Wl 6CuVrtjK,ߌՍ4$;UH.x-ӥ%S4D$YxtDxͳC-S s"kkF^)UqmK1?~ƿA ="y]>}U| Jh%b` ő1Ow%|>SΜbݳeЛ0Ս@([ͼKaw|,q<쁎ZgbѢ*y`|$I7EB&]tǔFdAEO81i.CfF&V3:W0WEVN/$x))>b}>SyX {P^I @Z9?*wnyw?炁"p3t jQnciMAQlcF+%%UgK<{mT7MAHR|`dpV(ᶣk+y {~|wIa|pP̩I3p>hEE}Q0b;kJS5'כntCBL\n?4p^2#}wֈ} (8N`$[xW{ɍQh  '@2JXtNRNxlC/Q{MykC(w`:#?m,1UaQP({^dKy+3q:UFf} 34 @{w>+Yyya!YI1BBSq@}zM ^E=D>cJت!6vcqN]3Blt5,aT vO=[6B2跲GDGԖCl^Y_/Dz=kwGaTe[ž6bhxSOL*H`Z4J);Z?cA|psȻ*3mG)4u㾾 QA|YJ7Y~(6%e|FW/') @i3RñgHb7/ ySuIuP]j ?hq[^X9R,^w?!!k{d/]sS×p1Rn LӃZRV9vy:ER[a?%7ߑ- ,-IVŶ2B~IFo$0bo)%(;݄Rd&NkvŹ[,p/DvkACy8y{AMﳃBzE_ZGBQRw1E%0"FL@:> 8 r{(+[Tרϟ?uR.-Y2D=1##2 ɜj8vBOPXg{賵x])CT*3N`-0o#BL"DZ+H8aDԐ:t@U&5 x-P/:{z%89M %O@ dSxǤFF .QAlhB+T&|HN^S܏ť葳υZ̀{Ăy\0vVbeSN(sWwRs_"s &yU%k{NJ:v9@Jݧ);Cʥ^ir 0CL/$'ya:y]cВl_tКȇ L99_2n%1ID b;Dx^]-/8>!#mHMgf\"[q.V<].*[b+pg#[L??=MT0rNpc޼Hm3n)dA ?v>Rʀ0s##/NM<B?cv5FPgbhpI1wO-+s's ZsG9`2,mHʙHkқ6>%5Kۺx㐛tu)? DD2QyQ)V4_"*eLMۄ6A𺾇')5(j[NFM!(e_ *~y%ɡ4:=dependencies/pkg/mod/cache/download/sumdb/sum.golang.org/tile/8/0/x130/0000755000000000000000000000000015107355264024334 5ustar rootrootdependencies/pkg/mod/cache/download/sumdb/sum.golang.org/tile/8/0/x130/4280000644000000000000000000002000015107355264024564 0ustar rootrootx 6%Y)%o&Q]i|l}ܛb>$;:DQY^ˤe6٧ZlxI8DIjw<ýa9XF i=3 CKwi Mh:/0dmL+&zKZ2CjaдF~T]a/!"ٱQ?+~B8U煈7^d^a 3-J~%0Zc ܓ:[[LȽXL_T"ÉJp; y Pnɴ L[ a;ơ2acL;~Qġ,=[] p̿g/י &2:c%8Ԋ~4xn-OB ûطIR Qּ4$O n'&ޛ !Q;QPĶP;spWt#V#PvAL zs~*iVqU˶GI!&*R_c Ea(іV@A$8^0e\>S^:Y"qVl `!rc5 mvo pi,D= e-D+|n\_ͽmvx]SbVAg_K].\<-wL {SH)g,1Yv`WnuvrTL \<<זEe4f1{F/璅0-5C4Uy-, |ipWauTeapXQG1)ե+ (P&րi;T~52#4_"FxTQpiw"X4:o㶈JyM%f.w-$8EvxjZ-y~9f jR)d^~-w ?d0sM8IDf4IjE( Nmr_H㕂&(Z-DUJj/qB%%1:h(to%_ se d(y2Ñ3Q4z)v[f>olсŸ`L"5l̀"$0>('I.Bs0mD 8uftA-_La w!}$w ]5~8f^n3]Sz & FPܦ|dhI$6BXLCdI vtnB һP%’{90:{'TwtոXao :>ڗY p+*`B 9,wTPѸɘizB!ڊJUsI [b>r$O#|%)L:w*}p,jcJ1eW2觟dH!q{ \LbG/=O/HFz+ꬖi_O<%<=:KNsV$Gvn u7E Bppbj@xcc迾HX6_+[dg\Uڸ僊;M͡6rE.b$B;Iy,gF$QyO҅GYff`7J{wi:a7\\ͨ3z-8:C NZTf (%"$CՊ:A}Jtxja¼3oi[.i&ɡS0@#J~m} Ɩ>_:o(.gL)WD" =qQIb=mn54qRtB 4O5\S2Ow?^ƫ]̩]a\7{"GhEvĽ\o#>IU]KtH|B2; vZAͰhyrG1qBXOVizt |_;5rŵGbe帷"lTnEnH؃@LClܾT1ѳ9ha"OqĚEhޤ(O8B;Jjk}AsDskDv&2Z RTqhZ@x-(ݫ*H霛HI-Yha`o{~pY?h2]qJ!ƿ͘:Ճ3go>)ԊdlXLbl3w7K jfqZʹ=&,'$B>\v8m s%rmxy QwA}w}@4$bH&eInx5ቝ/'p2WSH N芠cu,iW|zPȤv=k>p&!Zh t\̭wfsN=܌k8 /8oF 4($Vt8V_})~Sn8w 1׾y0VE; lG"4[đEQy6Wӓ%۸đQ*w!fC߹)}:9+hSi^I֌CM|&P[D[SRCAzS}- uB0W2~<[NsYZޟ#VDI[ZTTd~H_`*| !qQϹh(Rjlc!'A)0Cė-CSG5jtʍf~qQ,wh| E#w X2f&FLd5@l88Ԛ|A'TdCKxRO5]LhyCH*J`3 2XZLK>:;Ɇfm&/hvG{qv,["v'v\;[Dvb-Xh)Y[ś3ABR!3\u!&Vrp2g2Z'^bHfø &⍗Tu7F:)aRiU2#^RfP_"p%oX:׳q̀ aC- Ӌ[PR'#4fE=W<\SL>$0ʅVZf Gakݦ7qP"\C%64بۺ>On0g0a}s[ 5F}:O&u._8ls9 j/]d>apߤ%=Q zV]s%B]vz%Sƃ(Qa}{tj%HByacƹwYOpZRMЏ~E1W嬯{uo‡_Z6G5ed_C0\O6!_}P&֚`2݅=]vU# 7m&\M>jT=7T/X>r;#Z :J-GhM\p$y;K4)̙> / %OA6ٍp<ʟ |J+Tp( L:?3S;ψOį(}q:H"T~=-#轒޻`7{2.Q} I3yejp#wlDw'04\K.Rt.īH,wM._wa]bl165td~|~ CZ&DJ*<+GD~ !yC| uE夢5CJo=d~9xF ΅-ӿ" $jFj; &jM^xFS)^CW :Qzs 8󣓨M9 |H<3ʝq@=#oiC^Pe.xJӸN1{` FvWD8rdH]uK,aR/mbBFxxw2̦ܢn?t\Րv$#Փ36zx8PB#cI/Gl&Yvƴh2&*A%=OvP4W7!ϑsk `)$PZEd>_%$,-pBfbHDT6[i5&6pƕPalF;GX } '߷,IuUlgJ-Ԙ;@2=)#;"S/*m&ۘ3w zSxtY*F4A: JE0-'GKhA eSTldoMbA*.$|T$)PFhe#ttȑ) tRaqU[d-ˌᦹ3I7r4&݌P4r'M IKO6{ؿVQz(R3 {0`hnwĿ!r .`mL o(2ign%l5jPI6зT)]>ɸlCwAp}֧Rd!~fMZb{bnduA%oCKELIX($xChp>P#3P"E;7q+ QHj+EȏZp֚f"E[,3 n%^Ϣٿ܄{'N *_a`!qecP={iΫ}}dɿEH99kϻ~pU8ljQv:A)v#Ig"p$]k^ǒ;z j:*U ,sj)L89ӕ3Ytt f5m嵻@ih'WZ}#'RP_u}TsĭH.K=r~pP2&)J/C<2q#|pf.;u7~$ CZN'uv5rwP>픚ORmeuR "< 禈8b"A>,7jؐzBĦl7 LeAHkq3Qa7&F'N^\R7Q}y6ShHK)xwggta\`aLe֑@e~`HoTU3/k+"4iP4*gPq8w&W`]bIÍJ2}[N(  d[~i Y2Th04r:)0:)9(y,p dmKl}qӫjy(w$_ћEx\1Wcx;%j;^lx~j۹On]JD e+}g5* \/B|HV ط<|QSWNI(oT(w'jo\knHr*_`{Vz5/J?Q5kFޖgwPU/q4 yI@.XV (5:wmv{{30 Un=0VR Z k[eI@t*Ɠ&Rnn݊᥯Cݴū/NrS Mg?X*ဨ#KW!Wr1 o9@YVR2ٺjZX[ᱭW~\g@ G4D4J^N' :rM͖S6dzE2gj]U0UvնL7qݜgA2 &b2Ki$F`rM}At?~ t=ߠ?.Dv?513I/~y×L^ dElݧToU5XM?X=WEv# zQЛ~/!?:nZxZzZpn7 kkcD<\9SNT#lж_-k$aﯴu ?B.X[›͗koIp(|P9t틂 c*- v^!T([vp86~j0#~;-f_wl0xDnD 'Q`YqjzF¾ o@/2rD}w||Q,7ΰ3șf8 W&@ҞH=^|hFX $7&,hl,yFP}oS݌KPl&ݤ2PdEuuGj&kҘHGYNE8EVɍ\܏5vh+zױQK ֓,urDuXRʉ(e3۵<$mXjjdependencies/pkg/mod/cache/download/sumdb/sum.golang.org/tile/8/1/0000755000000000000000000000000015107355264023642 5ustar rootrootdependencies/pkg/mod/cache/download/sumdb/sum.golang.org/tile/8/1/7100000644000000000000000000002000015107355264024064 0ustar rootroot. G7Wx(bX)ɱrux5&:n! t^\,Mqo}"@w%cC8Bl`j)p0= TCjKG۸9ԶGw_MseXj҅^9Bo8__A+!"uBH|UDpo<0(50BEʱ5* )o8VD20g gMu`>a +bk) y FF1;Q* n>Q,0MC@n-!&}*Be"Bj"9,zeۗW>}4 A Ȓ:U("1VCȽLx&ktbPawx(т˖|0a[EX9k+TʚbU,#-/kqi}O;hR~G%,1YF9iP>$'e&˞ozuQFAo'b]Jl66*;,6邴B\esmdx{0,ʍi.umAыbuÙpvcV#*OCM̱< 7yW<6cҔmf:kt/҉à;2솰v@ؾt"KXJXXǺm4r,ӓ9 B^1Ne>h}SV==GZ\Z`j:<Z*S yr=g5{k'ZjmBȿ%[x6qJVjml%mvh٫8®g_(1*_Qs6A1We-gUkzGw#ʿ(0LCi NІnW?'H!H=Au@%/wqvKnf %%K>?!x@+1 keֽI G -﹮뱧IyJK=]zN~.s&괥pk GfVA c;%li.?eW&%ca(*d|E8~"t"$Ėo}!e_kMk˴W2Bچt$$VQL!1MΔ Yhp (s4T3🠶GOC~+l&g;uL͈3|ēV\RSʩoqz IOlbRCO0J>Q~I0j[w?sv`W/Dr\cR)"8 NXIz5mX,7S.ln[ &t:5T>M w\AoX#}qlgxN5#yηޓ*ڳ<-{bsP>V5"OlzVCRu&J::_npwuJ]Xc^ E'f fA( $h:ڻqZ#F$_i/&}b;H!= ߛ9s7y9w8e}t-=ź1Wn:߳구3z_IE,I[jsLD6@\kM7gd^4_ .:( 㜢b^T <@ft|Rʳ>d,P}(D)X؈1ҁ{/t 8A;V/\{d'&wXa梳1 ,CS|Z/]9@.r]+iWs|gY=_wY '[s'3n#1^6gt؍r;4C 7OA kk"}?1S<ሏsn'C5)'vL,k $;ǽ(X48mE)ڠp.ȻT"JĖ˦J!N(lZ^pn!jځLMc^Ev~neb"MLa]0__P |ߍ[\yhC?h9R_M}#,5z |tJ`Uk=ʮ_oM%&=6sIeVq}t~77+_?L]WJ`W ~2~;+`.KߑY;=5鉸 MWʬI$|n#otj 6q=/^*lnȐ7/!&}6z:>Q4@S5T Aлmnu ~ _Gr8g$ o h?!)ǝ6Da;+J R`-8WtSd[fDL4DjGjz4mVmA ZN.-#ه4 ǽ6lzR?Q~1^KS>dbfL PUg~=jcn9%^+֬iw-.TU.pP^d_ᑱ2`9D19GnRC[+6 p47u 9otVLV%rRЎ%|?kIDαP2/'ȇڹʴhRncX)#&=`HfU(ڿ60ۖG!l.Oܣ]) c(+.ྦ8SE%-;3)Yu>Mm㡭#eg"&4c񣍼H@Fmf`9얓6 \nRT)%>@f$GYY1T,տGU![,@+$9Bs}G{cؐ7ySOSW6ݩ R :cve +fH̥̾#q}`g^U"tV J,і/)T-3T6L]2M !{S}B4H֟u((z}Aa\.?X1vwQѩTo5Qxh0d/@/k-)ߗu&L+D1 Kڪk:70w1 ex'_OUf?tbT6=<#5l\^0&޻(GƦu:,cI= (_BE7;LI E\\rRL7Mt{릹}/*S{+P0؞&Ib/U 3 b>X@e O |//-|ad%)E ' Q 7j>)n׵W4C>Wkvvr0pWblxnĒE7 i >a6Sh#'^idQ~e4[|>"M5S%' 5fbrvcގ.CVӛXL[1A$Cr zG*U+kP5qz\ַ_Y_qƅEz\4jӡ;Z^zI 0/ dɫ% >N^Fs53"R-4չ]gVV wyY(ELt u\kjp . A =g7'AkX &0v9Wޓ|U̴E R>4eaW&av:k;=7ȃ9v!@W`@8;ha?/dkPl ՑrC(eE6AQxvW7/wHwy|oCP>eڬsÎ{nﬦJ4j { :TSa [揳?uxY o t`>O{̱i\Q;iO5F0+JSE@M/|!F0!cV'y3l$02-Ǹr` ;ȨF@u|sM AǤ۹^+BU^e%/sKJf򘹒s?xMzcueH usJ3 :B㏢kyY:>=XJU(CGG7<0ьR*Mi5%,A,Y EH@ 4lQLLzRiA<1JsM{!BOIkFt|khi+s4z Ƥ uzuy7X fvOMӽ7: e6CKu ~ҜK@zof%M6x(0 p kM ㎩JP2`H¾\p9͊T*to^S|#s@֕hTw!nlAvR-YCƭҀ^ɾq[޷i#KxT%X /,9Y" 3((U#SK~t5 w'p8tFt=XӰ|3LҽO/{g¾RXSFrf7I?S` QJwqL ;ŜIJ*[\q/@nj[ObxdHװAŸDUلr ;(?2]x3һҹ Ow F5]L@͚\!(hb`YKjʏιyZLͩ\az1@Eb~e%K*¥;Zg~8m D# ɥ5ݨ&3V)VK.}ռq?POTP=u8c^U {rWnɓHPa1otnRR/lʊDUx ' EhncqtS5mb%(qs "'ʶ5P^mݿF*9B]s|Z)v`+2͝ m$l= KnGL{dI Y[qc\BgmcE(sj,m2k鍝 obp9 '%$4*<ϋa޺xZN^!5\Y+NmP+V]EPd-;J,͗nQGKA) ^b&g| dVȺrY]L֒nF^} tkcd&Y> ' 4+NWl'D#LAŗƌFwBw>gQ*ƃGoդS η}%ʵ:A|?+k}ufg ~99  so '&3Be ̞|\Gq2_Q=ӘQU&xɐ'P_# J!D80S}yprmt/W_ r.SYɭp\WiX%Q9||$V?=M0IgR6N.H #~'xU9{wi:%nWꌫ=8arŧ]Zuixg742+K˲ ٺ',ܛu j&; G^bld Nn *#룄1] εKԕ  3L7*D,[~B1Rqj{Ӯ)C80HBCms2=t|=ci {Ṿ6$=?r>|)Aio*n`@-| Xջ xB.TMADy~7*HixhQȲiJD͒bU,<:%{,c׹wd?<=7S1?% +-ܵD0U : QJ3F֘!' úyKS LAu|A膋vbsvYή>L0-H|T[u{O揧jIl 4gKr̝H"{smqrbvc-5掅XM <.jWZt'= ,UL7a}% jK6Nh? c s]pߦL"چ?-|Jl!7>s7?&eS!'&칟^[ys ]e%`b̔t'oo"3Q/.TB1޽Ԭp'!wyX$㽣|ᰑm+m&?_vt*?R<dvrA;f 4L)}j8j tl4vgMd[hx毜Edΐ~HPΔkS9hPUiAqY\ i#E'[PcEy%a j9.y̳81ܥ"*3sg~̒KWi w`򬣇Q娞"$iH@Z]ӑ (PN-뒙_ucL)7~ZhH\VT0OW[G)rՒ9g3$$ىdaBP)JkӣfFq/5C?h:ǔboCRagXɮ$u6 0M$ydy'Xk_ 9=jeuE,p<ŗT:ޒÑ}l}?6.W\q\MCL]ev j nt ͂ lY8P]{T%UN-}xdX"U$8c| 5Cɡ{d#G,B)Ƿ拎w쏀/Ke+ؓooZGzˆT^e%(^( !{uQ<+TCg=|a'lM@h+]vcޫ D!@x\8uD^1[0EFH w* !^{ؔI;!$\|udSU0 =^?H/Sj{MJ#Z\}EĘK_rD"#7/% Ov0*xզd,0s3]\^grgT]9 j~<LD:XObtoS99Tͅ?ƫGl'ӉCXt@ZlT~=DgEtqnE[wIk_0q\W7$? LX(Uuoj+p #EgR)_">k0}Y|KO ]Fj4%^nbpZ^}`;?0cu8gefx5R`ڑHURYF/2x\_xTG^^:=*-}iEn4]JEs&*Р`"Ȇdma.)t{֔_F%2Vcֽ‹Ϝon'[nIs!9WZ!:lTcQ!tEK6;XKοF, ێ_ @A]AL2?"dza G߹i2ܗ PċQPDI`+u@еq/ *%`vb14YuA9"A<@]6^I7{ŨSjw=VN_K<0LJY\;q%Zڭ(*fmS@7?;(%{[ BYxyX?"&e5=U3./R^ExįKu|Qw{ )Z7Tc -{G +bG|YkfSbWc\"@Yg8-+j#]EwE澣٦\{DY{}Y91gL*Z{G4߇`}X%̄EC IҰT/1)F%yEJ`81T" r#*?[3^I~W0Ү[?f zxR,BBcY @ # h,_ uu~n"tI*<IoAwŭct(wk 2.T{렞cxYHk-<*q<\7)YXEǨr_N)==[R?"͞7!d`iKCp]'1g_g5th! ])4JgCgqT}-f@xz-0ע5eDZa!3fdD6765]Z P[h֛T2M۲Y,'X8/-?ooM23 t/krQJBS*j.2rtZhXAGh~r`TRUaOztuOu&P107z3)QU_RbbPy%x4}ŵkw||44a;WVgz?Jw ayncr0;xu .fPIgaPx^ y^Q16]AYN_3PZlpJmc\H3~Ui?ں:}eܶj3=ݝA ii%oWʽJjap relw٩V$ئGB88R>Wg1A.jaE0QSc;d*CZATo%`|0j{{ %A6s)Ta[ L5w8 o+zsJBm97I$oIMR}CH)h(=4Mk%$v n/]u![1o+nE"dZR,K{OR8S ;A;Jý<`8qhPIqaƚ#l| Wf}ѧC^Sh 'ѕTpRx{g6 aG3k텄TeKsa}cß[%zP]vzDʏ|DWr\>sDh]IZ&9?G'+o5*`NmIQBl;FJY#?r]j^4<Îo!7c:SߝK?uv?9uTt=['"uݘ)GıJ\hM^]~l<*.{̤:ꐺb}} ̑Uj{;oP]|\w ;{UYeM|.\mb6Q#N-K¶uxpI{f x ]Y^oF2c JXJ>;G,U|7W! YQRCJ9PiHlwy:Mڨ*L6O3d~CȁG7Z7/$~ XR-Zã2P\V #H3b ҀZ`*)d4-Hw:I:Jֱ=NL -; (uOE\ nԆZDZ٢&j؏d؄0lN`T+"#1SC7) w*-U!G &* '>kE[G_]tn}w5Px73W<\1[Rdjt ߎ+[WS[.ý}9{S,.[CDmD'3a|=.`pvG9-6D:O\*wXZ (4i0k]r+˴uE$Yv i UIbӣbܮЦ5* Jd i8^Bc/L ~609bTzGni9xMFǿ UN'¡9>~,=S=.IqO'<}wu_w+5 |C˸vϚ7m١׫tX 5~Ζ6"묙ϑo=ޣ< /OyWn0Ŵ-#$ ysu;'WƼIչ`ݖe"5ZX<pm8VIJmX|^pVoBW X-%W!{+h+FIjCÿXY %809g8Y<]3 ƶ|ti#zA:.Q3)Pp?U5yΈR䢙zY]IADpE@fn`u4 iJ\sjmlN-PC)q'a,IսzW;y9д ЈE5Rʡ8~TVIE$t:( Զ~ tU* W^J0Ć:u$?Rh^xmYAs\ẄE+<[cv%Yv@6ޛifE,/f~,DŽD߅n>]^~*U5' e-rƎ#Sv?&5'mu6+;ē,L ME*X$aېUvўm-- 0w$dRRsmR] [FBm5;oX2anfqU?}=gwYef}ayXg(jpӤt#Mgt-,wlQ!{=۷r.= t/ֱ!&0_Iz䟁<k˱m,2?I%H@x+yp:/yo8ݤ}:{g{sb>|0(hFږmѣhWD^R4 kO4M$  -?ꟼnug mO*/J]oeU@ ~8: 4_;XYV̜ smr[0pNʦʯ\Mz5W|y-}sLѝnSZ:J#jx9>KOTkőx=uvC5ymҧb]0j NhIӈ Ti(, hk 3*Uq,. TS5ToHJ  %߄O( CO{I݋6Oݚ/u1 #0g-38%AIn{5~Z1~LDHOnDfZ&$~NA=@-FqTJF4ɠ~*d1@@bօrö8TBY^s\ݫohj (L;lS`^2r n#vV[pP͖͙]{^c^-4!lُPmС;7jؙAsw)!WSNATfrWwrc3^Jˋ>;h:?g?\j 䲺oVE~%pn:yP8Y7ũ`XMbӑwqO+^!z,D\3ZA-qD/;nq1Qۏ\Xg*FףnI|ܨA$|DPf1'itMܩ0 qM^nllsm77mR}Wmg?S@0of;BZnK.撯+GӆL#rU ²iLGNxWTi>D0=i*a'OLOISlIg9 SfKWcN]PQ_w]Q4U ?=&M3N'{Y:hWЗebHH_QnCQtSfEoE׉7UU#o#ȉpJ북#\: <{@aO/' Cv$RY-nP*մL/ɇ?ԉؤc)C &^ի%SZ?f$%-.ؙ&3R1cm3e OځL/X+,`,X3>eDpV:þ0/td28Q^:ǯѩL:&& &<$9Ȭ=MI_ԗG]@L](|RmVL1 '&Ѭ^8sg1` 50=}lj.MXM`krWy)2d{#Io NIquRj͸϶aD)>eO9JuYR=e5 LZWS?n  zd9imbttb'z;-]gK R--PZFV[Kc'd;3#0!'ih$XINGR,OV|N[S!C?z۱]-L|RȞA/*J\kင4_k^#L$ΕzςY7fVl( 5jAZВ˴{8`O Ot(TdО5 /;sωz1tAx+[JUh[W`ʫ4lcŴo$2QY XTֳ \-"O0,X*DmY=1X VMu27 21nmi>pL 8ZW%3zѨh[J?^(1cz'l';j2QKCR)Qxqʚbgs$  íZy'΋"%5lau iIGdVQƃtIPI!9It$au[XnFJ:]4:vfJsw %K(Ųas~x/r-:\Ø$i>{ѼلW 6Sƶ" -HKb(-t"aE;^Y#גpVXho筒֯l*\n8{8ܙR3DlqxJN[_ LeA䭾]8VQ%b5g2b8I%VۯHƭ4 6%vNz{צҿ1ij($9pwkVy8$l[DgA#퀳Ⱥt݈R^ joi dâvaB"Po-~ b֧ґcikAU^]kebP }b꤮N7vsm3KˆwoG1W|Y v\5Xy^Hw%D 4/Dkq!LS4;VZ9?ˍ;)Ӥ;&ݴEhD{ݞϸpEi^[ɠXZg@朿sWreVN/Kv;&r;B}ܰN!礰 ´Pf/ ujEIXTؾ ,?x7 (Mߎ]/5J kwy ƖH>Rc uDBk -Ij״p<FJxA/1Jߴ@q4cW.P̦ Ypnrnf_#ծr;`(t!isI9LWf](UF3~G; 4 (6 ϱl>+NOu\T$aNjL}2ᯖs4 =\a@.=@q#Q ÝPc 5>7^payE՛G9D(&j"]x)E{9ϓp$0ÞJz=+#D0S߷:?Rd D|\XRRNBck\t o_K[YzL{#k?x/Xs&{^B.֗*,P/%;яNr/!$}B]XYsA5 yCyf;mĪ1GY"Ή(@@·~9%-y[ִ&|xu;-3΋ Zx UTO$/v&lk_(IN/`)=y%,j?9SWW}ȸ1յ:f.E9-#w!pY#&vڋ<{]3emXBo:gO!%>||wnPaJA"Y92 sq$ Wq\F)>]Yiǘ>م$zXfc;썷l֋`Rυ' ~&-#yMkOQ OIUٺ)>3ȧcM8`NS#s9F2 ׇjI WR5[pPIO]kt=Xg zӐ!>@5$ Hs6~P8VT60QFRNa`[BmUpEmDyeד8ZM1XWRgDn_ rx 4vqu/'&h^l0v]@q^(U7Z5 &#!mP;>hN<%Nf;9 ӯiNhƵavx: $bZ# ;Ar 1xe[hF˙Q6*>YEX$I\KCHۊkg VE *  1\q4ʫw7I:0jNJfJ<\8"RmwMPJSpX-]A\soM5P[eRxMk Ccڛb6fL5='M]\1Cr)S3|LCg~Ȓ,ߌ$egQNV^m"J4^:|+u` ,sJ[d %YZHPW>W;2Fm#OʁS.D1LjzG|?kO?_/,pZ&\FQ2r!?slf 2n4Պ/: }IG2S^KTr; %D$ܿQʿcڶ/B3Hi޺/.~{WjQ¾ Fm;3@ՃkTS}Ȑ?#JGDWaőOYnbaV"O2&(Фpap@W> wgY(~t1FݾÜ<Mv%w ݹ u[朗Bhi9=OZ:6} OGhkN7)Rrp"N7M>߻ @RdM.3Î_ŢΠ`uZ%eEqFά0S*_Sv?<-iCJ{8 R9qˡZ3MT',>XL2cX@jD8>6Kf=u#>F0G`'Gx9IR}NΉҶA:d#6ƪE rW9p|OQ ](* !2  mފ8ǂaJ3  :VVN7y4G% ,o4)JuL7ΔW:(TO<5cۢgr\/#$BS)x4ݸ}+k!K~.!M(%Efe4<Lͅ\J fcf6Fu戢iF%RqVjhW]AͤqX '6wYI,0~ύ`46,"usQ Z&a7첃mb4V#Wz;h~jpzw՝Ue#,6Ck[YQ!$0bAק#>mVcJ4<`O%jF|7x#+s,g( 㓏{6Qy~q7 & Ukڴ1})s YsكQ4D>H4\ ;߀ kd ?)@t7U.*tH/LUvɓ8M8 \|C恐dw>bo8nL.#y>T?@;R)nC;%,^W\իf6%7OPj.pBPJdoz2tRmf\=,sFzlnvzNyS}/<;ģVUA44nhk#:/co$"0t$( Ms'GOɲ$o7F&!g+ j-b, Y@ӱMhEΓHY_vl !.7qg¼(G?I` )rJ1(M1>49?ĭ䛀֑LS9Dx2pije^x-,f_I[Ew3Hv,` [?Yԗ4{jCFCGT[/(EnD@[<`HIxέI"u}nۆf+Mx5Ͳ;๩q]CS4@_\quKaL WݥļuZƂZk;DǶ6?Yϩ{u^RM72S̩lJ?l92+iI1, e'Ԧ7<@DR؇QPZ䁴9#t)އK[4|LeL1/ }twLn"AUGB>Gu};rRx` l1Q4BL |w5X*DYH1j_ӎ(i 쪘# S iF`t##JLߊ)-Z9t@,grnSeL6Ơ 2 |Td{,K_ē<D~"cLqk2lJJDz9M@+ qŻÔ41W%ŨTV0.G]bQFvZOɬ)ʏ[NxPw -w ˝j7d2ubF>ׄOdependencies/pkg/mod/cache/download/sumdb/sum.golang.org/tile/8/1/710.p/0000755000000000000000000000000015107355264024407 5ustar rootrootdependencies/pkg/mod/cache/download/sumdb/sum.golang.org/tile/8/1/710.p/2400000644000000000000000000001700015107355264024635 0ustar rootroot. G7Wx(bX)ɱrux5&:n! t^\,Mqo}"@w%cC8Bl`j)p0= TCjKG۸9ԶGw_MseXj҅^9Bo8__A+!"uBH|UDpo<0(50BEʱ5* )o8VD20g gMu`>a +bk) y FF1;Q* n>Q,0MC@n-!&}*Be"Bj"9,zeۗW>}4 A Ȓ:U("1VCȽLx&ktbPawx(т˖|0a[EX9k+TʚbU,#-/kqi}O;hR~G%,1YF9iP>$'e&˞ozuQFAo'b]Jl66*;,6邴B\esmdx{0,ʍi.umAыbuÙpvcV#*OCM̱< 7yW<6cҔmf:kt/҉à;2솰v@ؾt"KXJXXǺm4r,ӓ9 B^1Ne>h}SV==GZ\Z`j:<Z*S yr=g5{k'ZjmBȿ%[x6qJVjml%mvh٫8®g_(1*_Qs6A1We-gUkzGw#ʿ(0LCi NІnW?'H!H=Au@%/wqvKnf %%K>?!x@+1 keֽI G -﹮뱧IyJK=]zN~.s&괥pk GfVA c;%li.?eW&%ca(*d|E8~"t"$Ėo}!e_kMk˴W2Bچt$$VQL!1MΔ Yhp (s4T3🠶GOC~+l&g;uL͈3|ēV\RSʩoqz IOlbRCO0J>Q~I0j[w?sv`W/Dr\cR)"8 NXIz5mX,7S.ln[ &t:5T>M w\AoX#}qlgxN5#yηޓ*ڳ<-{bsP>V5"OlzVCRu&J::_npwuJ]Xc^ E'f fA( $h:ڻqZ#F$_i/&}b;H!= ߛ9s7y9w8e}t-=ź1Wn:߳구3z_IE,I[jsLD6@\kM7gd^4_ .:( 㜢b^T <@ft|Rʳ>d,P}(D)X؈1ҁ{/t 8A;V/\{d'&wXa梳1 ,CS|Z/]9@.r]+iWs|gY=_wY '[s'3n#1^6gt؍r;4C 7OA kk"}?1S<ሏsn'C5)'vL,k $;ǽ(X48mE)ڠp.ȻT"JĖ˦J!N(lZ^pn!jځLMc^Ev~neb"MLa]0__P |ߍ[\yhC?h9R_M}#,5z |tJ`Uk=ʮ_oM%&=6sIeVq}t~77+_?L]WJ`W ~2~;+`.KߑY;=5鉸 MWʬI$|n#otj 6q=/^*lnȐ7/!&}6z:>Q4@S5T Aлmnu ~ _Gr8g$ o h?!)ǝ6Da;+J R`-8WtSd[fDL4DjGjz4mVmA ZN.-#ه4 ǽ6lzR?Q~1^KS>dbfL PUg~=jcn9%^+֬iw-.TU.pP^d_ᑱ2`9D19GnRC[+6 p47u 9otVLV%rRЎ%|?kIDαP2/'ȇڹʴhRncX)#&=`HfU(ڿ60ۖG!l.Oܣ]) c(+.ྦ8SE%-;3)Yu>Mm㡭#eg"&4c񣍼H@Fmf`9얓6 \nRT)%>@f$GYY1T,տGU![,@+$9Bs}G{cؐ7ySOSW6ݩ R :cve +fH̥̾#q}`g^U"tV J,і/)T-3T6L]2M !{S}B4H֟u((z}Aa\.?X1vwQѩTo5Qxh0d/@/k-)ߗu&L+D1 Kڪk:70w1 ex'_OUf?tbT6=<#5l\^0&޻(GƦu:,cI= (_BE7;LI E\\rRL7Mt{릹}/*S{+P0؞&Ib/U 3 b>X@e O |//-|ad%)E ' Q 7j>)n׵W4C>Wkvvr0pWblxnĒE7 i >a6Sh#'^idQ~e4[|>"M5S%' 5fbrvcގ.CVӛXL[1A$Cr zG*U+kP5qz\ַ_Y_qƅEz\4jӡ;Z^zI 0/ dɫ% >N^Fs53"R-4չ]gVV wyY(ELt u\kjp . A =g7'AkX &0v9Wޓ|U̴E R>4eaW&av:k;=7ȃ9v!@W`@8;ha?/dkPl ՑrC(eE6AQxvW7/wHwy|oCP>eڬsÎ{nﬦJ4j { :TSa [揳?uxY o t`>O{̱i\Q;iO5F0+JSE@M/|!F0!cV'y3l$02-Ǹr` ;ȨF@u|sM AǤ۹^+BU^e%/sKJf򘹒s?xMzcueH usJ3 :B㏢kyY:>=XJU(CGG7<0ьR*Mi5%,A,Y EH@ 4lQLLzRiA<1JsM{!BOIkFt|khi+s4z Ƥ uzuy7X fvOMӽ7: e6CKu ~ҜK@zof%M6x(0 p kM ㎩JP2`H¾\p9͊T*to^S|#s@֕hTw!nlAvR-YCƭҀ^ɾq[޷i#KxT%X /,9Y" 3((U#SK~t5 w'p8tFt=XӰ|3LҽO/{g¾RXSFrf7I?S` QJwqL ;ŜIJ*[\q/@nj[ObxdHװAŸDUلr ;(?2]x3һҹ Ow F5]L@͚\!(hb`YKjʏιyZLͩ\az1@Eb~e%K*¥;Zg~8m D# ɥ5ݨ&3V)VK.}ռq?POTP=u8c^U {rWnɓHPa1otnRR/lʊDUx ' EhncqtS5mb%(qs "'ʶ5P^mݿF*9B]s|Z)v`+2͝ m$l= KnGL{dI Y[qc\BgmcE(sj,m2k鍝 obp9 '%$4*<ϋa޺xZN^!5\Y+NmP+V]EPd-;J,͗nQGKA) ^b&g| dVȺrY]L֒nF^} tkcd&Y> ' 4+NWl'D#LAŗƌFwBw>gQ*ƃGoդS η}%ʵ:A|?+k}ufg ~99  so '&3Be ̞|\Gq2_Q=ӘQU&xɐ'P_# J!D80S}yprmt/W_ r.SYɭp\WiX%Q9||$V?=M0IgR6N.H #~'xU9{wi:%nWꌫ=8arŧ]Zuixg742+K˲ ٺ',ܛu j&; G^bld Nn *#룄1] εKԕ  3L7*D,[~B1Rqj{Ӯ)C80HBCms2=t|=ci {Ṿ6$=?r>|)Aio*n`@-| Xջ xB.TMADy~7*HixfAlV[Wn 6]׸f6ma%$߮xܘdependencies/pkg/mod/cache/download/sumdb/sum.golang.org/tile/8/1/711.p/20000644000000000000000000000010015107355264024463 0ustar rootroot`ybrCD. jjJgCVplX7'?ΈS_@̈ԽR%Q9pdependencies/pkg/mod/cache/download/sumdb/sum.golang.org/tile/8/1/711.p/30000644000000000000000000000014015107355264024470 0ustar rootroot`ybrCD. jjJgCVplX7'?ΈS_@̈ԽR%Q9px9l*I>fAdependencies/pkg/mod/cache/download/sumdb/sum.golang.org/tile/8/1/7070000644000000000000000000002000015107355264024072 0ustar rootrootB,ܰfi)'$ooO_|KPtY1XWŶ0\U,Q` B+8pZMf)ԄZbCup;b'tEnXC'[Lq V.G a{gkYs8pspé4!f.l)p߼r2,5GGRiԮb?@va0Q#6 1PM#R:jh::ʃ&qAs5ދhn:6:j׶Ns3$+~{qu-=7#Ej~I<+\(R>fasݗjH ~!jVEjIc<|O~ā(=*o$GtDvzZbu;CW+ǛeFHvb`3yf&t0<+ 䙍S yn?аnW[5)̾nIJ(d&CCm,PsBv.j  OQ6|@#5CEfb™ª4)_ +s큡 ]#r;RHj ~j?NUZg4Q~w.XxZe )>B efUQ)@ #k[e6roߋW="G(}델&]D P<h3ʢpk޼7eghE_5]/ja]2JR]&rW2V l5Fw0G(:xh"q/4:Lr=GLK>б3X0{gt]h9ANf-䲮52"f[x.p5zKW ӄ3HO]M$g%N#=~ef\^~ײiן8&b|<^țsHal<ށ;MRd"pz1=ܣq`5/vم#y1}T}<PV;i Ϟ(?RwI]އ0#*9bbfݼd퓁Ɵ-Ê$P'1w[\M2ڎUNk М`m{oB,3!H(∊ElP! g?{Wr>!rF0-֏2H5vЕ=#&3lvf՗k,@+~LTf]5͆QT3BgPb}8r՚N 2eU]>T>w;9hVIO"R83-8w;Kݑ骲~n&݅eS,b뗀Pb맽NˢD \,n7R ߟ} ZL"AJi?A^zdKsubN7>y#@l Fu%NUE L?6H4ɇ60R8Kӑ {W:I.b(Qv7Th\z\OVpSt 55/#KӢ?brGNj lLO1TnMG#M)y݉JJf{6Px%F}2z{p^dy$ EO@Zjf}zW6UGZr[zr:(/a'HԱ#رR\oz <_ZHC*~J[ZT"NcAitf{*2T<,[m0_SeM8K!~P[YkobyyE Knb9+]OM;oNôV0ߤdv?e3|+Wf*' w|]XPK0M{bl#\pY[G#zm0Beʠ `j \RLg \߬K cX Z5E5&zṰb|kIN5>hZHr LUmu3``$ ؐ߹-6U8I[mM\ȇXRxXʦ呺G%y3қь>q;d)1eΆA90')l@ᎱUUkZ@D|kVWK0@e9ï+k XlVaY݋KI6VC 8p6+Oy:ܠr;Ä=`tZp";~<ᕲ }HkplՆ2q7$Z!2c\߅l.Z6t"Ԑ{ӿmWq+C@Q W-/&xlzaь⧪# ħH?Wp&uGV:n~ծ5Z5Ӻu8W#KUz2޽Rk.Vz"Hbo6P2z3b-O|8`?ǡxTv57&Gpߍ̾ШtΌd6QfL<3s@AFeڞ&fTm^E?ZkT< 1ܖo ^ `xz8ERZRgMr *Uԗ:3{ K4 }0H#JJo,nNef$⤊{y oi Ģzwr[ t.Pl.9Gr\sf#YHN*F<Kū:R=!uky }| 7G}IZəPo`/~nY|vck֮Χ3=WU:Ό\z-9\ p Kюl]kZ LگmD_ ׄM@C[&XY:~R8- M-8\cCE7$W8PE1y\֠ճYR-z݅pcf(oizXNsōOa9IrU5 qʰ:vģOܬhJ[e<3Sxy:Wy5wkc(H}ue:BabVz7V_)TC&b&Y2x^J%! ֧53S `BKD6 Ø쑡c3h&>vVR,;e)5O/l)DAgZڪJO9 1~]RF]2p!#lTֲ[،=!cH)v[;튐 _^v5%2ϡoѥs%T$p̯ҹoelQ&L$3>LY`ȶ$k{5s`HKd9D*g?8rg 6t!?_o9t]P~?M{ϗ 0HT?aֱ`^t÷$ 4hq~07@'pg4Ѩ}>:Z{>t(.qE5ز4jB#kgo1YfC7,L,7OJ6Z~E~gxfU>3˸FiDH}ȳI7Yl>K=oݨeOpQY|arLHU] CN+=)n?Y =XMxlxgsEcboi:i;"԰=_:>s%u(ZtM~u:e>9Qf!OTؗ,@,!8Odst?nyrǓ]x~/,'0/h{E*rԼzK9hD)/ԦB BK.U@hL.#;  "XRι0;+NȲ>OJWޏ#xuwe8:w~w]zӗi yηd2J 30CEqU0B9Mj;,fi)_QpM#qPVA"2 #/f4*el_6qB6 Ӆ\D䎀h,)WtbKeذC KajbWa4[:Mι~HƌV*fNA> Ǜ)V8$OXw$$?_e~J;khH+Gd_qZkyU2I!X/PGt.j $Jٽs\NL㽼9YĜ傮]G=@U)ehBP~ $%bpC|:!bsKbquLW^/>uػ#7Îo$f%PX4=1ik: q0 9xl3WKHg1A[lj qUA(#wEspDIP/e0?N~9)HޓwC"fmpBYj`LI:?SG i?P  uBG!mM& Ut."1 / 709Yb,o5"gk{ڡZ` ܥ:<-n+! I%Mtko#x 0m ]M1]nn#\=; {B.& M{fI vtIpM+[{kqpt"Z^}Be^+yrJހ]> l!ú8g/+\pOI^UAB9l{..lnts,=E} 7,Bhf]lbޒ>y,DWAIBU6LyCI_ήuO*…%Q°b t~[rAs Y <RhWfw)IZE6/T9ćd6xPp]FGTJ/M,mq~Ar¡Ec`_1]ʗ#JXO%|ll%։s} \B6T#8u$7cE#dXU+jBCL^rFnSO[KY9Yl C`=DϏUd񨻮0CE݈# xDci7 mu@ s<>S2٫&Wwo9$HfzqkiL7X#EB:h񻖼 Kd \dӓHW4*(Lj _-{v.{y+ "u.lE2ީngYkf@%"gƎ* FzB̻2y~hӣJT[+fof~zByIփ4cx> E`mq+)jz>1"˟ǮdQs]ד]9||t{P79Iqor ctGH~T!ow0"IKDNޚV/ 5QG/wٟmR칅G#@Ҝ\!( ޺1D'=" ˜6%y;#"D+*[FQՖm Cc&~4F:ҥVz{jdɆojcW-TI_ǖlBpd&Z5{J^@K'Z4|bͳ7TɘR1rO{i AsмB:Eџ9k1 b_omJ"ux>spֆuaY٧;`.'bYpp`َg`pi.ςyp{$ ާ2c0t&>ivQ'U ڟm;7v e }STx_H'hH@Wwq"z̊ ,٫HETr5 $;Te[\mG$O6PV [bߔjF1" ۻi*;,_ty.t^ {k tVGҝ7gZ36V Z0QU(> qw- [#)!nܯ5e# s܈IM X$ҫ%'pBp +x@a]CyaY ̈́Ih$ 2juuǶfctͤW“ ˃ٌ0cK\8s'_#[%qS J z,u9ѶtpgCfkb̦uudSTՑ0Ͽ`58#9X4-k𾈧 1ou"R{S2ui^P!󘔻\qmyv<ՠ(J[Gx}UFV65!@5ӾTTZ~6+X{ "%}Z|>/pBL 7NA/(E$9=!-t7CA i;$ v}}hL)ΖQm' ۍKu1.dependencies/pkg/mod/cache/download/sumdb/sum.golang.org/tile/8/1/5090000644000000000000000000002000015107355264024072 0ustar rootroot 5504)<]CzD6kWN?eYkM צwn )9ŝLz1oOxNUܻ1^rف,T}CqXB3v(q)[X<16eJZ3t^<v0#:z0<.o"ɭ@ )*!W[=݅j;<{t`> $Q}S$)^. AS6@.:~-qsEr {U8}D0 Br{m=ɪb%T6\4QMzVAlZ"jYX]RQ:LF"چB? `TX.Zn; DNA?X-<8 -LJ:ˤvm{±R)|v_JԵD\kgb:N]SlHяd[AA88xj;=?AR3$(sui:xi$VmLE|i"k|IJrG 0b a9[6L^ǦSv|+h$]Pݭ`/2 1-4#N[`ANEtĤd_k&5$Qj@۸Sʂ+3 yR!m;x[I"~6/#̄bsiӆ2N_+|]zxaP]CJ q3FDKjтU8ҼRBOh+n_l?Uܝy;9Q $ajYDKb䗩/*mnqwF m`-Sa]9tDLj1h ཮wkcE-Dcn.2湂nX|Lfc\ѫ0ub-!¯ݣgB뤩)@| vS(K|H0Ч&%Y9`:*+ /j(hgO4nVWY6w`Ґiltb~٧]s/n^Ilrجi7g[kQvtýRZIx6lq[ŝ4xKD^a( -…u0QJ XMo)Ú&|1b$&,@{NTw4 bX VH/^(@9 gXk8/ٕGq#6dk TQޱ\ʐtv~Xrwi۱ҐyBq$bƵx=Zߩڲz ˍӓU!Etd!-:v;{:?B:AFZ(+:==ڴ$'g9J5/MYw^=0'㈮ZcГruJg\SYSˇ,qE$ʱ+عOI{24ya œ#6wBpVA}J\fGխ'n2dzF C^b}ߴLP qv",Z5` mVSWTq*Tc%(0*@ 9f'/P~鐭*Yqs(F╄v =b6k6]E\hW q"mbv݀ۉXsH[ s^Ph8jɃܪ ,棿Ƥ >U#+ )ĝ\=$ [1-"}TZ._|>%:1*hnSǿ!-~=cɷ34Gǖg`MJ30U;7ffޤ6F! tߠm|~C;4Hn8nzK72Ēj:lO|+˞C`Ꝋ()aJ^ [qYrgf|VyP%hBe\<>}u:*7 Kǡ)OP}-Z`Ɓ>k/$`L$R$S%Ͼ>\ !U3B[uAݫ5;j+ѹX&zgQ4 &ڗFg"n[$h m +ۂa&l?M-D\YuwSU=[wS tAJ!]O; , Wh|v6t&҉l@KL'@ mD0]eA#@ztuFv4&+Wb^,̲w"F@YTwOS T!]7GhgM;|0bppg?4vj >~Ft'EY[3~ =`RYFNr&j!>D;]{oH1ZPzXc- h]\mQ,gZ'W<_q&v=@Jwg#^s6EF5ޑW n7_@8v"ޮ-7O 5 ɚU-ޮO7bZ[FK)!]Oo[KXt;hL;VThX\[tޕHE ?I>48K ~;2SF7,_Rxǚ없FJ5Fg$z'բ$'Q'l]5SBeOB9R/hl|4$m7-M$P`A( ?a~~uLAgEFOD tBXIKV4qV6eUt -[x|Lo^Ѐ IefH!'Ui>ԩEY5Rr{T9exy)q A#s-He&4Q򙨏K o\АCI9eLr#`кIk 8f)K_@USii?"+.ȍ l;AF<!J UڳkI7`d+݌kv OSbľm;#fvI,H:QK(9͗NmЯϡ*Q^J%xykMMl<v/L˄g-:c j-lbQ:aSW۷I˼+2fbN`€BceJG_n;I͝*#G䂌e];OqpMH] ?26 ^|Cd+Κeg;83~rFWIC; =!z3as ׼N% J5إ}JPfz_rq-d#&j)3'@؉0fm/Oo&|+,;rm 4!ae+.ope*AL:/Ƞy6#ÉÒ`)UD"ꇛ54X\T1qfoaLAe@#@3D*y?.,C~`4;suҬz$rm5mR@Ωq> t8H>zj:& Jl^63U Oo\V7<@`IBY%vClYöG[.8>&y}h޶hW2Y ,|i/ o]xޱ͌'0]//s|X ͏{˲1`jNWfF`jhHhmҤ2FectCHi.8fQ]byϺ-9' ƶ0v߷COs-<+۝;œAIE h@pH| Wpsx0e@=\}z7SJ'X;0E?LeJѦȊu--G?^sV!KײVCnۓڲQܞRB`F "DWYS_MȊd}(Əi("RG=- =szn$2NvOnrd ں!_ ^e;uyithtma؅ѩ^L44j(\ e;-?k9a7ܑ68DpB;*,2vw0wo\tJ 2Kz, AwKbrQ{Ӆshn7hh@w-miSe&q?2.uhg(G2hdtVSiv'HwXHb"0S3gᮔ\A;Kz1Wխ+$玥*U#@agH<@ N۳ 2>G+m`!3ȼ*v؂ 25UgI*\%K2%t B,Z6Z¬o݉ecC+ ?zއ)h\ \샫>gnA#{pvgD%H (-ٗЗ9K%~ԹJ/؋|3~\eee q{+VhɈF(̇(FR琝 5IX^HR\6OGڞM&5G5"C|􅱬oi` 2 %KX/*֮4}epl0̥ C2~95TX`Kؑ)jHne/]RsF{耬o]YʟďAWMRxy#@$БTVXj6K|ŽtةK]C-+~>M-R`"#p20 $&`Ns tڭ(:{uҪ)ƄFi=;_k&e k&N/GUdlŧbAƐd;>0^cR9~4nyN ,ŜD6{J SuwgjJ7-5KjZ+:5-uSZ}e{`Ltw\]& VQ|z4m5MdրYR)"Iח'#Æ^gC&7q5#8K&H[ 4&{f̌I܂T:[aTĿh@G8/Ydd"e<3nlA(isB.gE2SGp5jf%!7'  AkbcYV#Ekfgh.2766pg;"'UAwQ`,~'R"@ [o+Rq+I)+]>Eie'Ԩ'4|]2vǣ@po#!k^cQumbYOgkG pG9㞽t)qkHl=G9_=b1T"E7l~TI_>3ϴ .4q xV7o,K4Ct\+a=h+`YC^vfnmPj)8~S!]1}} .aDUF?%/W&(_a 'VAMسֱ(uh0>n*@!LImo.h]+ cX% (ǸpR3UW{%GF=2 ^l2O,e!M&K)n›W)lJ- bsPgHŪ BWv7 oKP.1b|N$a;"L iJMh '!,/-,³o!P?i' QԈf<#c|{K̠c<U>nԙEK6/0ݴ6E>,u`ن)ey'MwC#S$ VbB_I&fv;a$n[u$>H~I^W@ӝV80V[W[ ߉}:4ӾÝ`'״4Uq|^D-[Z}߷_qYjJswEa+@=cr0J͐I17-Xwxe}HzP{[W:j}8ҩi T+($Zt;kraN0T dependencies/pkg/mod/cache/download/sumdb/sum.golang.org/tile/8/1/6750000644000000000000000000002000015107355264024076 0ustar rootroot+<& q Нz$[\XRf Q{aE=s]4-;r~T&kDhf1ldX+s6Mc 5.@"DDϬe=аD#t Qֱ5@pלAdkI$SȏV2(3Ao,YFCoQ`>'x{g}Sy.sxEʭ)wKvKDG3#~ax3g83J# MnDC+?G=T,;O_gGƮ8swU%(ɯ4>/+ڎܟR hӢE?+%) de30\GKKC !{~s;ҝ O`"Y U [l"k/*B0sd6AJ+k֮:+~0Ix tSoY,ra$ӭB`a;Dn{>X\xTC L[tO_7;!6 KN/ d$U7bcu"A 9FjWu؋=}&(5*Kg 7{ iv,VR'86Ioρ(JpM@wqTgGdZe);Opb!kh !Yz7;x*%k7W 7-l^?-k" G.\(Rpr1ޢCG^\Trv۳1%̧[Eh_ ofݴ"l&kE]Ʃvy;P T+ @LүfsZdv5_~˱n @ њTXꊽEw* OԾ[i oSz2O,#65g8 >'OzAI5\tAjҌhI-IKB3骩ɊQhx;k;KzIu|[r%J 3c@0&{KܔJ9m'\O/'Nퟚ5O;1@q.Y!NgKRvpoVBk3F> 24!d}|>pTԱ2C=NC?"3;%_>1xd>8Cm1ym7v0cJiE@FɑYCp7f@/d=X V8X>QJ/ r yz-Sw`IV44^+݇Rq"D:f|ʉQOIn[V(SY{ecg ^t(R&,ǿ- ]Ag] @9̌=H}nf.c;AvYl%֙N%y@ȍS_ pl+.f{aNPr(M}d<ÈH8=VL[z#Edj|\*;`߄1K.apaClъlFTiSZR{5|:{ٯ}޾aQ``-hB=X(9n"J?z92l^BEcM:Najz F%=Y CY7LЗӥ+,*W FhW81ԴAU{*y.]x +@U)#~Y|*JW"*1V1a4ItrP@$~8&wJQjQay3ݍ^ȳŮ\5 dOKx|j \'%и/2EUQ\1&g~iZØҝq gas*}Ma]a\.h zar+_Ů(zl_pP)D,LAp*[]%;hFˍ9;3M)&sk$-p` i$Y6h@ǦA |yGF.xo*EI;õz=${,`'tjD8>.06:S΍bbсbNR vUb'|If /L8A:a`g="E7 OcX;_~Z(O ޶=1wq{M4z((<1aS {ZGڞ*׈I5hA2E;G7A\^MKD?9oMGžEģ >y.+"OȌAs|1GBicQ)ZE| V C՛\c;X!&\:4 dp4n{;*ϰ[4u_t:1o`VD0 inPnhϾ*7qjJ.Ī ;7$j/qxўttuSR4 d\BG{W3{ lOjQOHǐ(et CO a[Hi4^:[ C}g|>#)YڈOP/OT6@Qu}^/a9-SAgGSL VBA[}z :\@*2Ztjt3 ~v ?Ϡfa~4:wrj}ѥl^ۿcZw TBPZG{w.ߍ1sSeTRİ$\쐰< D*"r,%g `ԙI O 8DaY h2hgGW8 ^p͞J'z?j߅ mY`r)S=x.`1J5^G>%^Rvatene5Je[m:qv`Wa#Di |r]Q S]bw>ԹPP$#. t.xAT#<"uÂ9 wj]MiX+l q:'yjqFZLڃxM&KaЖX'J|o8B1t-@um*}a^ 4Ӹj \NLRTS2U%r-lM6˻Ĩ(fTXp$u_z;u[&#3r,D !CWN BuZ! ?/_].8yf?^uW#^kDNj ޘ%mvCOK$u@ġ:"ɚyG+D \p3+,8zTj&4*[H($j ~1f^J,m4H&cw9y<"1tXd Uٓp`ZϨl|=snքƄtmal `u2M%Xc1gJ{e]%|M !. 0`a|-mљk$Kt@3~˔;<7P?Js@zpMs_A~Lqgꎢ`pJ3Y I݇Ƞp|R0DG0)u: -+lp5XvW̶JGW}n-]݉ZS%wl#K'Rl[di ;i+gLm[`76B3D@DS婞ykΰ aK`/anj> bMI^V״iMd;á`PO0;BE_Dn~HE{al8L)cwRƼθ^t(lW^rbLE;kہkHf1l9Bom:=l $֘Wwt?jk,m\NG} hfGx.gBPl@ l/pRGR.|u5;SVZ~|T6mU3>b$ K4*NBؙ2s2 gϔJI J>t=V*q P;dtFYTN"nsWŷ{3b9'2{<2z\ہMmL%`h# ]@iu X/0`m6<7L@2'E>/޴Fڏv pPGMQ c%APɅfģXf]hbN 3yEި,nhi2V`M۝FQ~u~A.7EQa ۬NϾ ;&f ԲgyyX̺#;#ٵ6&DE;<6 Zz.U۔F} `-U(ϱ@fޟ\Ǝ+8Kiva8¦Cr3g$d"jXE49KX'@.ki.QS4& s!#RPKP]`T!u:L;q(VJfr ' =ThgȡOsbƟҢWl>t`ؤbeQo[ ɩ[&#NTlˬ3ȚךŁX"gU Y g_y,*4ĝy۶dzFfaN7ֿ#QH=e[0 I]['1mx1S6wge1g(쎈.X${,8H1hykBWTn*#v*w7D'+2%1KXᓖ{&;?W\eu$yRS(I>'URpΏf}֜P"volS{l;w;`޺>4}KopЦ%sSAO&tO!'H֔ns2%g?\g87 E^56DVn@+\Qȏ0gR5_)ǻG"ŵl1|{^Y.Y"_L'<ۊ$BR{N ~N\x|I["NF=.p7 68m^= hh+{3Ӈf4#nx?ƿLڏ~ 8[еyl@hg2'9k?vrDZKՖW*]=jl ߧ_x#pkI`>< a!HTN)T1l売.0 fo;A$~ i/F6᥅Nuzh:S)@c(AzDi]Y[ʰC8|Ct ha :}hxK[;X5otsg,K# tZ?,I'o2gI.n9{Ҥjt;?pBUn4+KwAyM]O׬&FŬ K1(8_{0|mRѫtVܵERdCE{ZLF# b˱M<kᔡt)!{="ceqB(A3-UG2|;2 Kg9Q_S_Dr,'؇2n(>j0SA"5uLjluF0tz=b\I!>VJdԘ/(|Uk;0;71DzҳHLsy6Z7Cdmu=]EE\d!9Wa fof8tȇފna#OҾ^}S."1;ܘ B-j2~l@>6R^ҾYB.4rFR CS?-y]>$hJD& $Or~6w؛D tl g-p`)dependencies/pkg/mod/cache/download/sumdb/sum.golang.org/tile/8/1/7030000644000000000000000000002000015107355264024066 0ustar rootrootIKIKT?VZd_x<ePώ3K \f ܃Vik+'HGgzY݃pʂXQv2,= b:|j V\Л9⤈BcwJ#R,2ZRy0rc6|Ay决)f*KBSԝ%bG[]%M yqyG˿'ϕ=v9&XsXD @hG+1{{ΧE'8weU]GfɺWH/鮜yZ8xFM% A[%-6c_}(|$c ϋKꅵ픤h-JBʹ FnDȪ`dK`IQcu1p3 <#nip&\ZcmA /󑽵Ap`칷LR"#?~/L Ve.ȟc06q,VRZ}(÷TG^N|&U;]Rw 6$_6Odh2đr7O?monAv]8a=Å4rԞx)Zeu2KԻez?>a81qj?G|j'st|+ _~|ǿw%=fDJmdy; SSk@s)H$\jg ʆ6O7Mj)ۼLjOq@zF?qq]ːn}+:$Ƣ{yt}DGRpٗ+FCR}3HTZ(!I'(\ء꜄U̟MLi`|S$Z=0e) )^ `S.7)}{14,ݹ?NY! |OU;u5C#·/+"|‹ vK㘴- !m!@jr2c *,U%5dXlꯕv#90cWtDdɴ'ښ]jMY-ℹ]OL^:RG0:ـ-ɯA:*pa} '@ts+3%@bfh0W_YfXPObjàt8d^ }$jV9H< . !`ۉ2h]4gI"~sjiJAW\SCwЍѤ?5/"+V{g1S+@u'haA_8bmP4i><͑󯍈uz. bDebC*7»>0*s{Q<=2i>}h T2mczPL\YfOz)S%4 FE0,FK0v!eu_@:suIwXa $}AWtL{+!|tKO#NJs'/P1$Mza`o.O< mgΪr8/|޶1f@@mӼj7PA^ڔ4%ʡSrOعT:X3yq| QA'k8vU͞(F>olOiT೟7(.Vn *̯`] [> 2Y gl彺 r[g7 ΂rN\mXo˯8}L.?`7L)h.RD:D+n"G_[>; kg tc^+vc؜" [2rst껒jIIjk#f2.' 1H0-D&Dw+fr=[Cju}_` =Mԝ 5]ªǐ̞ąǸ;X[y8/aD@TGOASRe'2&>v6nB6܁))|ooqZBSQH%%>Gf m$L +b>+&-?g]-;}DXC~X0OVO#!ǖl vN6 <]8'ה{LO>[ec, b0Z՘ό fA{P~yk}L;&ݳb af,<Iʌz~H;өTa-Nu 5i[TԷMZX>+^*cMZ1 eI*4mkk%F]C oMGK2j7IBIq| ^|2@9lBKp?;bM@V䥞  ZSH*>/-hڐ+g[Gѯ͓nKDk){q+E;( s jl| G׋Ecan~*Ďjn  ;VSJJ[9ټx }/0NH>DT#0Wk|CRʠNr Os7ti-Tv \ȵu)q[[/5k!aPgX'RfcӰ0OpU7]9P5/ߊKl[9H̕~or_:o;-N*h鬑A$qdQGv{>Zɭ\EBEJ gn*)0@Ӑ[9hOZ̰qOI FKZ8 xSSi&/vItfH~UŽ:q5QTRM^RAڽÔV'&mYbЫƶ 'C]- tB;5jYG5.w% o<S-R;:n.KΦ#)om@V7=oJMNSXJy'GmUGtV'_Eʺu0, -\RvP&+֙\ľpo_XlWZ7[4c9uLa|[ 4t(qҝ$6;ӱCv"i´ʼei:!NO*Gq9/XvR" :iog|>{SLh͸6W僩1@|)X^AEI8=A\33jG>E@K>"u+, )Cp7Je&؂X:|ʂpܞM9t@M*g!=M6@ή).o"u!C= bkp$n=WH-0&heO ugʞmhe='>x"(T+0Dcl Ϭ؏cKpUg}t-^x֢{)] 6WK?$،NM>5<2 zςbV w~NZ?US Az 𞽨(tGFڔٛҶG+U} y+* >Qqj3u(#Dޢ}[O|OQ !˭MBEYP!q~"Y'#%'hpXa6!WFBKD)׻)i!j)ԫ4ojf&כ^ቻeMoO̰+ /yp*.CUAqtј$\]|tW%ao am<|l#f##SQiړ~Ƿw МNqog :?Ŗ@R*d!;elK&XS+HY- 逽2+8 ЫiElmo^>ܐd(T\dx*<^m振߸#T\3_EEJNJF"H~f'LտhAʨz) kRŹD1OW\_?VVW Df#.ɴOzJ qzz;ba^jU()0jU\ZR3}d@#y+rxؐ[jD:X 1Zz2\&6\J4ZE(qƍݰVNV님}A47oe$4bhpns-GT Mk4 tg~.PZ1uUhljPGВs2w˧. @7IOeUȲ_mQe(X\'QC Ir C eF]hFD`Be4 otw0 sꃑח:XDfhf[Bem$Nv%5\}bVT`℈Ew2"W[I.~ ^6X}O6-^8l jB]S${P;%qDF{!]@߈ BYvMYuٸV5{|be1yʃ2ݾ~B%N)-e0A[_b$wFAy@ö,xk!o3?ݘ!ВglRbMĂZQ_ڝM5-vd]~l K+8dMLg4k $3{-lsEaN@T֟C&\L|{8>=%m(l|hP,({U U:8sP?7;\_ ApQٝ0lgWp.JBVYLVqtn*sRt#EVH ݊bdependencies/pkg/mod/cache/download/sumdb/sum.golang.org/tile/8/1/3450000644000000000000000000002000015107355264024070 0ustar rootroot҈WrV%4z뉀>aHeM4)[uYLJYqw_%ѡR85 RC#<`߸ n1?ކo Ū?yE_ Ens-JlOh{%pu&0d>[cPƤY=$%s#"zvrĦ]i3% FI%rhUJUCI]EKp޺=(=Ji:J|tZ7ǤG#Q"z-Cc9E֍t7 x[=ugJAy%,v$J2"^Z}A=kjÛ<>y[ҳ<89=< 3Z>~4T?[ P 9ߒ#H.#Vy Ag$jI *<:n "iD]Gt[W ~[Pd*Bw )xcGwusiմL 1xM€1rO܊YM0l]<-A䶢Us)C_+QA6Mc.|KFW2'^l ~}88ZѡqMppz=@Պ-"&H l\NVR(<iIrA_?cfh_>7#zĪ  .[7KrΜ#hS2RJgz e0ba5/'0d®.WL#=4;B L!d:04/ml`zBL0Վ%e/dS0eۣ'r`Dpێwk[z"30Ȫ&NdF*)3)ǗeR*C6kT:[xkj(Z{7֥'cÖ*I}L)$,wټ(;rsj, ED PxtGM!ӴͧڻXrڎ /$$64ʑ [؟)@=rOJP;粌~]$}補Z\" 3[28J9>9? A H:ׁg1姦W)lbtCp1G ѝ{- ϫnkSVPNg~/2Hk" _L8cd.x-,Y`/&T{VU7bGTO̸rCMm nɻd!vRÁ>-Čh09f1#"_[o0L'| &f5)IV 9sW-AKbNzB2 C]6x;{O5܄qSD@pruWV$g84SžG-IMjײpv5'IykYuUzRNb3iXRjT/r]PC2(wviIinZ45K?-os7bzG)qgoXl*f-c:&$ukrYia!KP0͋y^T^ڮD)QJ= C O%J: {5pi\NjrU jWrеTƿED]?3^WCXYq/[ hp^D.t7(myebt@OskOXK:WtTT!#<|iynX,Lmމs#lLl%hL ⿑Ӵ60Kb3a'h@H V7k Cg^Z3Nw-LyPW.ma\.Pli!˽fp24ܾt )l: XՇSotsL/r ?ӢX<6X)Cd94*:Ȳ <+4|;5;PfTiwmӨ\ͦ޷3*&+~fߥ8:re*eBwaa&eoEI4N1C-\*$OFpuU0.•&EjlmIsTwq9|t#"X}g*l .y wFL7b`:h0_~6G 1Aˠާӌe>+R.w̋B'")"`jtќouET4R=yMy cK o^ X&՚ dWe(No A]')8 N4yBpȬd'v,P5lJB* #/eDrݙ`ՐER{N93L=ر@ºOSxaJA^x'ACbn Umhb͠u$MM;y٨XRL}SG)xQ\Bv&[,k.&&+dlMG*|qlU' ݚ ,tYٝ&NRB1վL)%+Hu49 =R:U&]ԟ8s8hG}9ٰ`n2ݫE~>=ͬ? t:J)N?}$f ^kj'c>k7+;&! z0aW}~<J4ްs{vI+zDI$bq% c2^]]vĭKJYi_T/ vlltꦺu@B_ǠQo{Ş%qMRXF`GP@c _'*qNp.~VGLǯ7Ü-&GmqİIkn-25.,a,^N-0a0Ofo}mj R\A)Ap*sjSWjIJ]q!. mE`}o36{׫rṚ9<8-="b`@,0R\6|^M4k9NeAF<\c ^(bZ^S%NaOcҝ܍N~EsU?;;@h=4oUAw|KHfgOe(9q4{eFPA%IK\] e-'$D?gkޫVL=;\]tVn7{:db.*f%ȁS+-D}2a *5V߽uv{*fd:6*M!ѫ$h2]kAy7;=2]Zp; )rQ Bĝq=cZSo޶RUv"7Rd:eN.c76VG*LҙWҍzzոm<@lM/&\>km鞤n|ԎlEw$ˑ- )s--*@b֬Ҳ=QHgp#ڦ64/D#>i1moܨJ7cO\V3ƧhKg9:ͅ ( ZQb ߉!J!76I4mJrsolHUfа?*q`HG qDper!;Rp4<=>NaI">.0&]& ɀˤh436z9ad!6{SWd9ݢC&UD|l'4S (v:ٳGY5^CZQ)rh7!1î; 0vHwiJ1yG)fQ c˘%2C@NCsV,-6[V3?$}T$_7z|j9u uyjN5S=+xCu;Si-MY?f2Rl T|sLr<,3ZJ)wP.ƇŒDP]Ej;1Sȵ W7r'q .ɥjƂ+ҀTx}:#G2*R]dBϛo}Ms܅ >=={"I%CmK7_; @j^E !ڣӬErYDzft}n5_hg|"veeuyrv5IEL=F}̏+| *\_EM^mu ׄK[&[2(>:,jKP1?jVنרx |1A]zib$YV 0fW8w@}, z3HՑRBeh QXoױq႐>&uIUD9 _ KOel@lrL}sG.QYv ZOhkvL Ij#rK vTCHg^ W`osh9rT^/wtjܦ?)hzU1;ՑkhuP!mJNldn~u-ew,euVĔZ:(͙0KsuSXbD< ElÅHݝKCsy)Jeq#XtT(6Hyfu Q@jmA][Ql@߅!`'c< /ۆ#0r]>PQ4LvPJ67(._՞e|,bc"6!J$&p#'&~mQmSpXXO/h!L枳'e玢Ad`k=4"\RĦlCt~&P`ijt3}hW.T[IuU0$}dTBAd  Vcd_"A+Z#TՄG Zi((Ҳp#D󸸦C^*\DQy:6YΝa*u ](3Ad2Cu)jfRY.((FkxbtK͙dH'v; IW0ڗh97\upy}̍elԯ^ Y9!W# zYz S2G\1āyh*BEG;z ds'uĴzͥ<%;huBozT}'J0FK+zi6 yTC}9̄`7$FI܍*}cDdI١(cc yҳpsHBAWϙohF 9aO) jcmdoW3/4dependencies/pkg/mod/cache/download/sumdb/sum.golang.org/tile/8/3/0000755000000000000000000000000015107355264023644 5ustar rootrootdependencies/pkg/mod/cache/download/sumdb/sum.golang.org/tile/8/3/000.p/0000755000000000000000000000000015107355264024401 5ustar rootrootdependencies/pkg/mod/cache/download/sumdb/sum.golang.org/tile/8/3/000.p/20000644000000000000000000000010015107355264024454 0ustar rootrooto @m%qT `ow!^Z{ˍv51 "sJYF  i9Z9dependencies/pkg/mod/cache/download/sumdb/sum.golang.org/lookup/0000755000000000000000000000000015107355264023707 5ustar rootrootdependencies/pkg/mod/cache/download/sumdb/sum.golang.org/lookup/golang.org/0000755000000000000000000000000015107355264025744 5ustar rootrootdependencies/pkg/mod/cache/download/sumdb/sum.golang.org/lookup/golang.org/x/0000755000000000000000000000000015107355264026213 5ustar rootroot././@LongLink0000644000000000000000000000016400000000000011604 Lustar rootrootdependencies/pkg/mod/cache/download/sumdb/sum.golang.org/lookup/golang.org/x/exp@v0.0.0-20251113190631-e25ba8c21ef6dependencies/pkg/mod/cache/download/sumdb/sum.golang.org/lookup/golang.org/x/exp@v0.0.0-2025111319060000644000000000000000000000062515107355264031013 0ustar rootroot46377907 golang.org/x/exp v0.0.0-20251113190631-e25ba8c21ef6 h1:zfMcR1Cs4KNuomFFgGefv5N0czO2XZpUbxGUy8i8ug0= golang.org/x/exp v0.0.0-20251113190631-e25ba8c21ef6/go.mod h1:46edojNIoXTNOhySWIWdix628clX9ODXwPsQuG6hsK0= go.sum database tree 46596878 WwU7gA0kXAvIwfJS4g8DGeCYtlWX5NPwpTbn4BczlSY= — sum.golang.org Az3grv8x+KIYu8UvvZea+G8/7m7ud23CJk3LFMUXnKhFfK9f0xIYL11ymSSocvyeGolum3NKO4KzAtmZOEMHzbMKUAY= dependencies/pkg/mod/cache/download/sumdb/sum.golang.org/lookup/golang.org/x/sys@v0.38.00000644000000000000000000000053715107355264027716 0ustar rootroot46120619 golang.org/x/sys v0.38.0 h1:3yZWxaJjBmCWXqhN1qh02AkOnCQ1poK6oF+a7xWL6Gc= golang.org/x/sys v0.38.0/go.mod h1:OgkHotnGiDImocRcuBABYBEXf8A9a87e/uXjp9XT3ks= go.sum database tree 46596725 OPJuwzmIYiCk32G1fd+kHKv88XuoklUg/uQhSmWVzz4= — sum.golang.org Az3grsqFgyNl39ukhhWodmi7M0Qi/9awGEmnPB6wXg6NI4UhmFgtGQgK/QYVSG4AvxLFPaC32bafxA3rw/vWhe9ODQM= dependencies/pkg/mod/cache/download/sumdb/sum.golang.org/lookup/github.com/0000755000000000000000000000000015107355264025746 5ustar rootrootdependencies/pkg/mod/cache/download/sumdb/sum.golang.org/lookup/github.com/okzk/0000755000000000000000000000000015107355264026724 5ustar rootroot././@LongLink0000644000000000000000000000017400000000000011605 Lustar rootrootdependencies/pkg/mod/cache/download/sumdb/sum.golang.org/lookup/github.com/okzk/sdnotify@v0.0.0-20240725214427-1c1fdd37c5acdependencies/pkg/mod/cache/download/sumdb/sum.golang.org/lookup/github.com/okzk/sdnotify@v0.0.0-20240000644000000000000000000000064515107355264031742 0ustar rootroot28602830 github.com/okzk/sdnotify v0.0.0-20240725214427-1c1fdd37c5ac h1:0h5zys3uIyKGGt6Lov0F/+VImyRrM1E4MgZGDlhIrrQ= github.com/okzk/sdnotify v0.0.0-20240725214427-1c1fdd37c5ac/go.mod h1:4soZNh0zW0LtYGdQ416i0jO0EIqMGcbtaspRS4BDvRQ= go.sum database tree 46597475 0lTe+Hu/WS4MScEihUa76fU6SKcNPZVlgNiiatrSMew= — sum.golang.org Az3grpujECWxgVB7Eo3v3QX1g9X31zn0kuG4qyNyIncEwRQbwgz1N1eVCD0U2NWK7YaLl/oG6xaLlL3cxk63yWEkzgo= dependencies/pkg/mod/cache/download/sumdb/sum.golang.org/lookup/github.com/mattn/0000755000000000000000000000000015107355264027071 5ustar rootroot././@LongLink0000644000000000000000000000014600000000000011604 Lustar rootrootdependencies/pkg/mod/cache/download/sumdb/sum.golang.org/lookup/github.com/mattn/go-runewidth@v0.0.19dependencies/pkg/mod/cache/download/sumdb/sum.golang.org/lookup/github.com/mattn/go-runewidth@v0.0.10000644000000000000000000000057115107355264032276 0ustar rootroot44267604 github.com/mattn/go-runewidth v0.0.19 h1:v++JhqYnZuu5jSKrk9RbgF5v4CGUjqRfBm05byFGLdw= github.com/mattn/go-runewidth v0.0.19/go.mod h1:XBkDxAl56ILZc9knddidhrOlY5R/pDhgLpndooCuJAs= go.sum database tree 46596146 zjRcBKluAmhNHqkOtA//mZ0791TiWR0UMkW6UnTSYuw= — sum.golang.org Az3grvS7lOagut3nVaX123HNUYDt0KtaQ1Xh754mtsYlwBRlBD6WnlijnSAK0JDNsYzzG80nDpqFvTiRFRBODTRHpQo= ././@LongLink0000644000000000000000000000014600000000000011604 Lustar rootrootdependencies/pkg/mod/cache/download/sumdb/sum.golang.org/lookup/github.com/mattn/go-colorable@v0.1.14dependencies/pkg/mod/cache/download/sumdb/sum.golang.org/lookup/github.com/mattn/go-colorable@v0.1.10000644000000000000000000000057115107355264032230 0ustar rootroot33389789 github.com/mattn/go-colorable v0.1.14 h1:9A9LHSqF/7dyVVX6g0U9cwm9pG3kP9gSzcuIPHPsaIE= github.com/mattn/go-colorable v0.1.14/go.mod h1:6LmQG8QLFO4G5z1gPvYEzlUgJ2wF+stgPZH1UqBm1s8= go.sum database tree 46592002 PXnby3mJyQPHvRQP/GQe+RPk2qPaP73+3Qk5iKZf6Ak= — sum.golang.org Az3grvJfV90CvhE7m/BQMjcfrh6vs/MeYId+tmXdLWx7J1IzCMdrR/849LXolJ6KJ2+lKOMBiYZOejS3D9uftPh18QU= dependencies/pkg/mod/cache/download/sumdb/sum.golang.org/lookup/github.com/rivo/0000755000000000000000000000000015107355264026725 5ustar rootrootdependencies/pkg/mod/cache/download/sumdb/sum.golang.org/lookup/github.com/rivo/uniseg@v0.4.70000644000000000000000000000055115107355264031020 0ustar rootroot22647345 github.com/rivo/uniseg v0.4.7 h1:WUdvkW8uEhrYfLC4ZzdpI2ztxP1I582+49Oc5Mq64VQ= github.com/rivo/uniseg v0.4.7/go.mod h1:FN3SvrM+Zdj16jyLfmOkMNblXMcoc8DfTHruCPUcx88= go.sum database tree 46596182 q+vRSwHug7YwSwjnSx6FxWOPeHFl4kKjOMU5jRJ1gXQ= — sum.golang.org Az3gruneLeqv22btwcKYEhin/WzHxiJhdSDsyOCACmaD/geIL5jYKvAGJdsapPbkoWr5jZAvdZeVnW8p+hi9yJ+I/AY= dependencies/pkg/mod/cache/download/sumdb/sum.golang.org/lookup/github.com/goccy/0000755000000000000000000000000015107355264027052 5ustar rootrootdependencies/pkg/mod/cache/download/sumdb/sum.golang.org/lookup/github.com/goccy/go-yaml@v1.18.00000644000000000000000000000055715107355264031305 0ustar rootroot38081753 github.com/goccy/go-yaml v1.18.0 h1:8W7wMFS12Pcas7KU+VVkaiCng+kG8QiFeFwzFb+rwuw= github.com/goccy/go-yaml v1.18.0/go.mod h1:XBurs7gK8ATbW4ZPGKgcbrY1Br56PdM69F7LkFRi1kA= go.sum database tree 46592133 Dpoi4s/VmREM8OMPKJlllpvdop0ohpxjJqEJVITCO9Q= — sum.golang.org Az3grpPUR960/017ThFZA/Is4B586g+xmi5oq1tlxTLHb7+gHqUnIap7s56+y4Wx04p8PR0c++u3vgHnOV1Fri8S9Qc= dependencies/pkg/mod/cache/download/github.com/0000755000000000000000000000000015107355263020462 5ustar rootrootdependencies/pkg/mod/cache/download/github.com/fatih/0000755000000000000000000000000015107355263021555 5ustar rootrootdependencies/pkg/mod/cache/download/github.com/fatih/color/0000755000000000000000000000000015107355263022673 5ustar rootrootdependencies/pkg/mod/cache/download/github.com/fatih/color/@v/0000755000000000000000000000000015107355264023241 5ustar rootrootdependencies/pkg/mod/cache/download/github.com/fatih/color/@v/v1.18.0.mod0000644000000000000000000000024115107355263024651 0ustar rootrootmodule github.com/fatih/color go 1.17 require ( github.com/mattn/go-colorable v0.1.13 github.com/mattn/go-isatty v0.0.20 ) require golang.org/x/sys v0.25.0 dependencies/pkg/mod/cache/download/github.com/fatih/color/@v/v1.18.0.zip0000644000000000000000000003537315107355264024713 0ustar rootrootPK5github.com/fatih/color@v1.18.0/.github/dependabot.ymlM@ =xhr%BGɴ`K^Mf]B<7@@Rw2RgqjJ {F%\B6^:?/:J>sHhHL:7ѯϖQo?-2'PKڄPK7github.com/fatih/color@v1.18.0/.github/workflows/go.ymllS_o^ }ϧ8_H$[x BI< n71KK1|w]ʞZޭ2p[%m_`9_6CdX;Ҷ_;HHoaXoH M$?wk&@Xo!k]_Sj"I>CUC$JM` `-Uh wTt \i,^O˾^]nϧ6=ϓuJ6Y-ۗcm%RO2{}1l6mq<N_|{"%CFx8f>+|Fɯ'ŗW}_*឵I9pQGlIXI7%ԏGo!6Qz)ڱgGaջ*<0;D m徯+k7=֑&%pr 24:W<ϧ}~Rւ-MfθV5{kN^n|Kg|WsmR`Z;<8PK4{ PK)github.com/fatih/color@v1.18.0/LICENSE.mdTn(\QWduv62YԌ w?M_Wyyk&t~p!9<<R_ '%6sŧcONx]lnp^Cbw3ɓOH`RnŅls;%R,)2⇲|/PW-jYG._b]o٧- "R{;4v\lu!PK.V~7PK(github.com/fatih/color@v1.18.0/README.mdXko:WLtiSId IAvQXbCI./dqЋ\yBCϤ1gqmβ\9;RǹPK3\+J̢Ly+iRQp>G'<:::|s2?=|g~6eE02!h:F-΃#WOnwɂg8Ec䶂* jҳ(rI X|Yb2ӈTĥaɅ `YӠ,ZU3s&*-5f,AL Ӕ&.KΕRVyշX$w-4q^|b%J˒\P3e+2Dono.z&sJv咉VOgc=1+":ă7ᅬCA$D4%3'G#8=?X;˗XN8?sR#pQ(?3.ȖfE|jVkyǔN ?[c1QB" ow7x3% tUj3K͐Ǝ;H bFٽ"Rz եs/`?i x;ےk;:Nl'U'/yQx^hɞ^Lq`Z8/Ys\ "Z'tX V2Lu \J2JL$)&w%e~^ixFխZgEIey**({Z$)DVd.@ I ! xM#I ޷L ,wb~RJP.VFi܅ OFt^խډ,۪Ԭ^6SRd.tE,p%w+jΚ_ ]W]f o 3+ 0fYW !+PJ$qg& 46w*ᷡGAr69Ǘo%y >HʙH{WJ:HbՃ5kEYąlw5k;j-r|ʱu_4 pva F G$[=.'`VbmglS;AT2:rL([f Ͼ WF RcY^6ɗ?(o_jf<)S$h}9J#}w 4O R8|w]EY9IR1͉|4O ]2)hcSDu?hI$ryќqgDiB:o 5'sX0rR(#,)LyܐT:%NYA!*lIs*#h4sIa5xB w¾yʗL >\ÒH %7tJdVP@%)J'n%0-Ą  g@[JTWB\H4)R T%I!;(5bΩJLpFؒe%3z(_-Ճ>TS߽r>Q7xd V*B%FU6cxQqd~k»5(wakKU5N#e֦T4K#'oNRKU~LS 2zvTJ3D4+SkT܀N%%f`m&&[g!DB@ IIf+g %4ZK6)5M^( }5÷wS /JM?h )a `05 $ե䪱ZWV˒)/lJ"tMGQgyNcxt~H،RRi1w:Ռ3`ۗ7 ̩R%^/#,SR JQI ߢNu b|ZPRdr2(\i*% w8&~r#QJk:&Qo,,]{IҨ3Ϩ,Qo\0~w[,XT*,"] RR,]Jޖ}ymO ͏@;3>z'N `ySɠpo>Y6tz4-c1cT 9a: ݯkUV(v;]V(mD@&MY@kym0;BxX:\'}%ގ4]]},B A9~/z6 ĂJ32fa )z@[Q2=˚T'fjWfF Ŵ5AnJ܁.FF#x3R^Iu2L59P:VǷB%Wh~)֎<f2INRK 60HiEтGTB4VHUfk.}bLj y};" !Vta*R [m_7eQ' v moxnο\kϙ\BTȬ:A-hrFeZ{Z%o8̟xLn\[VCpNlΟK.iTo֒Yeto6Y7 6}FJԍIyGb1gә =w}x_0E-xfs ;;aAyd:!,q4G<*y>{k-C2v7&[%#ܶ/f$ ׻zyX_G:ҪkQ`cN}⮯VGNP/{ΦTO}(O@1V÷]0X8G9iRp6 =uo;+FhksevՂ꿩eL) tʅ\Ls"ldβۼ}~!ŝ!$Z{/Cfу3xVQk}5CJ E/0W{1:J0G Se6DS='N/xxn#m/fBUD@P0ݖ6-&Sth\bjF|Ѻ7⇿Fr&6fdi!͙?1\,]gE^Zw2s" }̍jYrTY(I,H(|{IFͩ^*HK  g" ǐxts`c$?cPYmD MF,GY#^T @  IAptL V}H4|/Sͷ], h? ?Ez4 6>t#/>K>r1;w css\$>[WBvjh͍MԱGWDݖy>aWޏO.Mby&uBQػR#5b]>B)mUh {X35 @|I9bdFA"I<9M#/tRG@>m]{,(74{0sU'`z9` fvݍ'AR ~0; glLpʱvA0ܧD2w`nn_&[6eMb\9?҇tH]I^|Hܮ+rXgTBΪJcUS'j9fif=QY5H?gDC뱊ΪNIwa]ŐÉt'Dzn]DbViEt} 7 hl x!ZiwJ3[g)};EMIjZD@B:&+zpJ9G5qu$~N˾˾swlG?%$.O'J5XX4'Ԕa&Kk,vJTf)o!m~|߭@ 3%d)ox}bɝ F&?s9FBX^^05 f\(MMs{mdMSHEYi[h>! XKk: NhnK?@K4J%(@YMl;=顃"J\YЋ305BR Nk' 7[lq5k_9q> ^t}}ahZ\G*XqPIɄ^?;M16y͸ӧ$rpgyζ=E{F:Ѻ4ĔI=3=+L.#gv OPY\s>u afy);Cuge2)*>= *+=;.w~ LO.X }P{ ǿ㌫Xu)vǑqg"Jm֋cփ>k#tytv>V*՛u% ?i{L]IPJ' yPLeF%Op15PGb!S)ԅ`͗fՀZCJl:tTHHYKJwqFIDaQF)ÄѳH-T^Ҵu! URXk!a!`۪0@_ Àa "jy(nD_GiNlx|b值 qǠ &D ?[ %CB5 i:*{x35$ 4F /uGj&vwjG6wAza[ę.xL X]$]&YSձI5ӴN)K^}d߯r;N’.gX,$@082-d`fpunE5lj8wLہakoK[w,7冀.?:~_XWyo AS D+yJCa0`34$㰶cC0 w=d 1L zd:8:&,@U[^D)6Ɛ$l߇+;|],($]T e hJN= &f [RPIXfÊH7>vo w<(hfӛ)Wf[3Ħľy\kkw7Qg|{<ݼʔw΍&ʡؕ.&%ۘ]p-0=,tӇD 2G_ѷ1<:'1<;`tsa./~;@kPK"!J4-ۺ]ϋtSOb7ei~R}( R1f>Z}{PKbrB 5PK/github.com/fatih/color@v1.18.0/color_windows.gol_kAş~kw҇XH?avw]i.6FOs~ w;, stYM}@ 1RԢ`U$ܳ0rgE)>ToC NNsoULpz(]Wi>~@>לuz>sۀ9%>/.굶e &1z$q-yKH,q\ άf18ovU^7vv_gv:ml1*5NrPKfKPK%github.com/fatih/color@v1.18.0/doc.goXQoܸ~^n {;Ar@+ͮx8*Iy ɕ^>y%3oO~P; 9ˏҋ>}4~6@bS >((פm|n.?}ZY <>Sj\C EhU?a*/76S &@GAסa phM _B~Uף6x8zT*WE8?F[6V}SAʘ1[2,y1VJvFGxaUe{w,˯zDpؔw42M Do%ڠmSv -:|[mZØ/.+wm?5㽾2~8tScuk.V r{3LBzطxtN?9hMW8;O+X;Tjn6`pi(9o3*PmWN`*"xm Q.%>~uiқ/Ac*᎙htb+ C^⭃?@5 3Uh^a_ixet][#6dÙϑ ~Nat#Fs%ޛbᓱﻸ3 *N*<w/ˆ_s0@h#8cN' #L?E{?5z41^CezݟOvL.dJ>mSDT\UAab¡ rxsS/|%pL@5L,WlO-MM*w gxcS21Uۆs94jc͘E"k$rX34|ɚ1)';۷i`o m /Fa4w+ gKT{Ity?.TSr+0H$rV;]5Gg dPpDCERD4Zeqq*d&Ǘ;μx^TÖ<<eԐŹtٕuXϟ ?sCb@9{Rϕ n1y攓eI/~~pgEEo>f{g -$zrst/eff<NW4"UMmmPK-4orPK%github.com/fatih/color@v1.18.0/go.sumr@}"{*8UY!4;<3,˾"15i7 /1gKG("I-uxs)lи,PK_81G[*ȹX䎫 #X>7IjT7+uX͵q xy}PDʃ\V9gm8n `;1SfmcT J2+0d .<w<G!v'qZ Cd/K]6ȻLz C !",+/Y LUE+O<^Z3=$Y=rU}n'hxE0űQJ |ɏQle]w! ~%@=wRM؛ucWPKԋg PKڄ5github.com/fatih/color@v1.18.0/.github/dependabot.ymlPK4{ 7github.com/fatih/color@v1.18.0/.github/workflows/go.ymlPK.V~7)Agithub.com/fatih/color@v1.18.0/LICENSE.mdPKN~I@W("github.com/fatih/color@v1.18.0/README.mdPK6R'github.com/fatih/color@v1.18.0/color.goPKbrB 5,github.com/fatih/color@v1.18.0/color_test.goPKfK/,github.com/fatih/color@v1.18.0/color_windows.goPK<%-github.com/fatih/color@v1.18.0/doc.goPK-4or%4github.com/fatih/color@v1.18.0/go.modPKԋg %f5github.com/fatih/color@v1.18.0/go.sumPK zk7dependencies/pkg/mod/cache/download/github.com/fatih/color/@v/v1.18.0.ziphash0000644000000000000000000000005715107355264025546 0ustar rootrooth1:S8gINlzdQ840/4pfAwic/ZE0djQEH3wM94VfqLTZcOM=dependencies/pkg/mod/cache/download/github.com/fatih/color/@v/v1.18.0.info0000644000000000000000000000027515107355264025035 0ustar rootroot{"Version":"v1.18.0","Time":"2024-10-03T07:06:28Z","Origin":{"VCS":"git","URL":"https://github.com/fatih/color","Hash":"1c8d8706604ee5fb9a464e5097ba113101828a75","Ref":"refs/tags/v1.18.0"}}dependencies/pkg/mod/cache/download/github.com/fatih/color/@v/v1.18.0.lock0000644000000000000000000000000015107355264025014 0ustar rootrootdependencies/pkg/mod/cache/download/github.com/fatih/color/@v/list0000644000000000000000000000001015107355263024125 0ustar rootrootv1.18.0 dependencies/pkg/mod/cache/download/github.com/jessevdk/0000755000000000000000000000000015107355263022300 5ustar rootrootdependencies/pkg/mod/cache/download/github.com/jessevdk/go-flags/0000755000000000000000000000000015107355263023777 5ustar rootrootdependencies/pkg/mod/cache/download/github.com/jessevdk/go-flags/@v/0000755000000000000000000000000015107355264024345 5ustar rootrootdependencies/pkg/mod/cache/download/github.com/jessevdk/go-flags/@v/v1.6.1.ziphash0000644000000000000000000000005715107355263026567 0ustar rootrooth1:Cvu5U8UGrLay1rZfv/zP7iLpSHGUZ/Ou68T0iX1bBK4=dependencies/pkg/mod/cache/download/github.com/jessevdk/go-flags/@v/v1.6.1.lock0000644000000000000000000000000015107355263026035 0ustar rootrootdependencies/pkg/mod/cache/download/github.com/jessevdk/go-flags/@v/v1.6.1.info0000644000000000000000000000030115107355264026045 0ustar rootroot{"Version":"v1.6.1","Time":"2024-06-15T12:24:49Z","Origin":{"VCS":"git","URL":"https://github.com/jessevdk/go-flags","Hash":"c02e333e441eb1187c25e6d689d769d499ec2a0b","Ref":"refs/tags/v1.6.1"}}dependencies/pkg/mod/cache/download/github.com/jessevdk/go-flags/@v/v1.6.1.mod0000644000000000000000000000011715107355263025675 0ustar rootrootmodule github.com/jessevdk/go-flags go 1.20 require golang.org/x/sys v0.21.0 dependencies/pkg/mod/cache/download/github.com/jessevdk/go-flags/@v/v1.6.1.zip0000644000000000000000000023137115107355263025730 0ustar rootrootPK<github.com/jessevdk/go-flags@v1.6.1/.github/workflows/go.ymlt10{vQEB?@ro9~9#goW(̗+>ExSPc:#p9`)H|備 ! k !1.wݙGq!T7Qbܐ^ Unss`c76soN`(>I|)*1ȃ4woJb9CZmmn"`Q}vq~Y?{:ZH ܰ[b:7 ]HlNcþN{~{vsG~&JDś^>Z*әPKdUGPK+github.com/jessevdk/go-flags@v1.6.1/LICENSEA&O{کcDl:lLb| dJ=)V;y|<i*J` 5{ E%ڽdF45 רג-;-*>>ZI`۶aƎHIfT`jue.eТC b-ՆpMaz筘iJȂ%RkDV(fjz#jCq*XR4,5)Wj5iBb)Am/oQiP-YSC$&b-fk!YQ**-hRV_S,3c\S)V3;H%*)ZgP!I41K6ToL<3)(-Y -.>2u֔W4c>HbG]V)Zϻ–y`+%۷˭PjUEWPK'PK-github.com/jessevdk/go-flags@v1.6.1/README.mdX۸|9[[n(+\r"{YdӴH-E$%ŐlN~p(r7TzYJ^ 8TnvPj-7V r4\ BTβw:ε6[*]<զZU&užx\ J::s>ŽF@ V4Brer'R8 FtB: FV]J/`ӹ=J549N UYsNNc<zyvgʊ-qXIzHbo!qJO팬lj YoUgтRG$H rzT#Zf<*w>-ܝdWOV]gf G[j6olϏϥVxl*M ݹ}rl>)hWkOy\0\%賈-N:1Z]ky^\#D7+ F([r QР+&/_C%+ȼ҆:V ϔ%Ff%T.a&F1'DK>(C2.%y>df֑A }c_~Rs7foϤ+A(Rڀv r)g' oPs)7<myB반Ou_֙.wvqX@YeNuy(OΒ=5V"#\\XFy;m7@3'J3XgQ/S(`X|ِ%} =Kb'P͍YrW-#(pU TUx7Dт޷% ,{P00F(|X!5Rw/g:| )a8TC#U [zU}/ E{1 I_S^qYƿalV+ PFnGE*_4hA ŷ)6W)Ni:̡\J+H_3(sv,Io[GjsƖ+,:n̤]G%HlkJn54g0[Fͅ]BG`58HKLPJӆA]HpePX anK%.Gmo&Z%9wBWgEb M!O,, K!O- cIYgZPb[gEўFZEV߈mt͝_*\YcOD{)Q1d\M:-j@7=+-x oi%%kBIuTiz|#]| Zx s]<=X?K.K>O/],P&Ka ZuhB};}?D? j#(y)d>&==d(-()/JO5(!)![D>Cc|2KoTΒ0;%OO36\{°70K)MTaoJw(S:3%9hS#N@#~ ֿ?zz? 75.{d 'G; NwNg-,?d>)sm28O`)b^ncros[_l[G?MoAEH?yx@܄'8JBcü/TB6k~` PK~'PK*github.com/jessevdk/go-flags@v1.6.1/arg.goѱn0 | "}vrAwƦRRѠȻv"CD+9ٓR-4X6 ̡q2ά%#aYD%dւQ^{(kձ'4ÀR`<ښyB'bVh$-]~D%GȶoUG|f}-ZP[xWRM!"rpڙPc~qHjsNm#  PKW$PK/github.com/jessevdk/go-flags@v1.6.1/arg_test.goWAoL={d]9 CԒci/ U{iC3oޛ7\~a0d>8DƜ- 9k4tLB" >mB:<2o)4 .fd"-J01JӀ/1kj=>,rHIRdhۣ+4f\0낧BfWh8hY$ ǒ1/.Rh" .DR<jm:ӱ+y!p;C'V2`Kds.H +(=]0^^hɼr]b4tu*Nu)<ʶ%)B aZĊ7 j]N+"xU05}uʜi-V>=ϱcB#`|7uxr61q%e3_9# H늣8c %jj€TVds\$﷓U0yF`+{!m: HQ~Kakw߶eM`a-Kmt!lEq|;2S~e+%DuW8:qUt[mwpn)Ѹfdה޸n2::=`jz.wVѥ{=.Fe>Z5B'PK̅W˓PK2github.com/jessevdk/go-flags@v1.6.1/assert_test.goVOoܶ=Kbɡ@/v}H(ЦF ڑBX"rm݋!՟8@/Z4f͐DPTq,Fi%E8JRNVG|ӲV9Y#-Z'UYAXƝB*tAjd )gjqm+kap}Gtxƙ,#YS8$Ƞk$apG8j,ϵ8Kgo3o!+dPc%<Ÿ]ڀߝ@|}&QKO hE}MBEP\iZA0m~5AM- Lis.CS~_j[tk/#+\8瞗ImǑ]/Vǰ +, -Y‰/KE\DgEMn哖k`  W=eԎ$ DF1q+!~ݧQJEFj8NADX>E6BLxu9ZWZw9ƢlNꕑ6UK_R9`wXrb3?.{7)&<읂chLxԦL4f=&0vR~zV(ۏ}*3hmiBcltEՑx,Mtx :[cpt#n*i@Qh O}F /DT6r XY;9I%]/Ա1[ɶ0u糣5k[5{5υf[6m:Ѩ7x 2١,T3u+\l(º TJVa%N. ,nuԗ_493]Bė 9hsXbER%?l4Һu-k}%{n84Ipd\eJjeS}򑸘6;]+*}]g6glDkT{ga7F-,=Y^lѦt>x E|qWPK@h"C]PK9github.com/jessevdk/go-flags@v1.6.1/check_crosscompile.shϽ0>O1aѤ8,9'HLvD}EB܏* A&83b%!i5t鳐`y2CY'v.iS:z穳EE**18vixjC(mv13ff60)fcJ]YwJU۩OO =([ }2Ūs!+Vll)v2U&!uWb|Db{^c($|&r~o: Ìd3>~0r6cI}A d}h`zVԩt&hmgPK{mPK.github.com/jessevdk/go-flags@v1.6.1/command.goZ_oܶ>t)p{&\0]6ZJ%v3CRq|zsR/9/GEQ$tXً=Jje[ҋt7 gi3S0^nw *}7|m]"%[k:.$mxQ&k-b@0y ӔL1$PL6*&v[; -e>ycly;[gkAچ.YwX \ֺa[:~kُwý&pc9uJ# F{DP!SI F[ϞTZI-KyF2\!gaa׃q-lx79rwm'1fc\wSa>WPRwRsmBV8.-%uƁ&:3l)ٷnހ|SWT>w8^mw[@ĺW&T͕^U@oi8y ıu*PBU%ڹٴpD$^X+)j^Y**icIdj$p*ʤ9A+FPX tT얽gnYU c#]6Xq~iЀFL.CfQ4MYrhɳm5鑠U;_4Se1ۇz1 a%;: )vE$@eL ~[)|p׎).Bɋ^{_ʀ_^[?{MaB~T\T13q ? u{0[-%OC#ڡQԨxBޜ.g ۍ( ^hj[qW*kF:ԙ$@)H|0dUyFs "63Ў <2#BXWaXWտ~++TyXv\,jZr+_rN}!+SAJr⡚^8Gڧ3K,GŴ~_ed X:S5(nW}%'b |>,O sxh w0D 2bY,ӫSaN2^͖~vwhGMLT /XLdF]WceG+X-*3 2XW'DXFvxM^V__yؗ3g) X=%z1O'$ُM=B2γ ,|֚<$5i}Qz0f{sC6Ìv< lR\KҖWX3ɹf%mad1o$M,YhSљ ObUQl);1OFx~k/U_~J"_[MoB"u}Eۚ;(3|f|FgGXBp|T!|BлbAL3NLX{Fs3=h/gNcʤӓ&)|)hVwNFtš%'x[L!h S<<,ǐ%xV8`rdƩ B;4\ƻ;~;{v2ey͚XtNC0g x$8H!L½/L=)C ~0Q=VT t>dV)*8TYXI_\U4OäaEPjغi0P8/2DSA01I9ĩaVSOIx@|yRSѶw=duq:}b)ȦcB=#׸K_@<?RG,ĵ3xouvF;@#ǩ,fvO+t''>tOj4JzG#]=9wbDy0/o6 چ̣g^2̲ l?NRx>Ţ7y{4NQp=OK%GBKWqz,ӰM嘻T+3rmP(xIlF#;'!!7waFDJ+se5,1"=;Ƿx*LEΉQ: b)f+&/᝴PԒV54׿ߩxa;K8ДSܿ%>%F:S9 ' :~~~[ SpڷV(9KhPK䩾Il )PK3github.com/jessevdk/go-flags@v1.6.1/command_test.go[mo8,)][ ŸxIl}]irJ_dz-|^^+]E@"Ζ\7Zg|&\\4Y,32𳑚|l0. | 'k J󯔉ڠ:QWv>T%h:3-;CAg?]Y` 0=p>>$: Xa'WO~X/lUU|P1_/0Rcɢkrե"ۗXE郍XdTXuVCDkht n  7wOšXIN1qj7~)4yU~goS,Ӱ,c$6\˚|`|G3_>tՠ.ْEH02acFBЧ`NHGO@m4C &p\M8"§ NSX |@AQG)#8' z/_5iE@v{H|:7rR2_T@hc9"( Ar:5dijxBD/$WU>!~tfזX0IK29VN('\ `ʡ}[ѷکڭ[\a8 Gths v4/H$ Clg|[|O"N:A)^Y8wOAwoʭ[,pї4Ueo%1uLLUlqZF@-GӲ:q"H{uc޻Z6|?[u:mb-`I|R{sr1ɃNk5ͦ( /G|jMyႼ}|'wifvL ;ѝ~,Sճ?Kw|NariVX[ҝAw=)sMYI|͛R,'jR6\`mߕkzHO80dHEݍVUsڼ6\Q7C1pRseUÊřH?_uxlFs+V.#YŴxO8a^]&ɁA7n1\F.-WN9r(fj #MFeMbRa,?2勚_o6AQ `Z.#A#2*V d'jbDQmIS:~m5VZ)Wݖ% $Ƽ ƀqa&I6Փ ̖6o +Տ6|SV/[?yDOW*pqs m߯9 VT.zz~ѓNSL3Ŵ)ԆK`Cc ];.b\%`Ih;𗪬~_w`2E6 8#8}P)G[%dn,XPA"?p=4xڿ+}ݪ$KD3SmI֢GԊ^ERర~ ykhX rVʞGt!PKP( |<PK1github.com/jessevdk/go-flags@v1.6.1/completion.goXoܸݓlEn rF|h5\'!)Qa;yp>~AcM6&ME+m!KYY̔=FM+0JOVJ|ϳ4OޫoJ0~9TJZ&QcD`P eJđc&q1AXޥ;pDjn*-pL.k44J= ֣VileYSYBۭrU9J>H"L>-.-P``{kj {d"-&C#K⽂Ky y{$Ln88i2.>Mǚ́1QPWa(h/Rn=Pz7p| ,3j*\Vx34 adhnFʔזYZ7\-D[~0Bg?瘇4ISC?GT)Nӑ>s'+e+lS!j CQ Hx$MNxȜ4y~h;k~N|d7J\w+ f٬-UodqpNtoFAB.gw4g47D3k\+}xI(-@vSJmUrC8+)sިNTo_E]s[{./cռa^VtS"^e!CN~[^6ZcXe\<L̟ WDڟ"om?pԿxf?s>qFWO=6WR#w4 Ǯ4% գfaθ|1.)#[UcY g&>־qccO!댺|w 7&q#.,/.sCv?6ˇaw.P}E Cq}±xy=:ۍu;xSghȴ?][ O;cz4NOLˁa6jS/b GTnp/ѶWmfB(]iLo4zB* _1c.̸q壒%,0{jq,Irw+b=^v-FsvGs+4@lEPֵCap.!+cټNs1^oG< ]y!WƕIUh groFݹj^:IG0{@ 7qYw mQ`HR8ʊw7YZA~ >.xak,tk#Xc|ncMS(+s'+ڰv!-d 5uR"A||zkmLFROsO`.8oJ@bn\h`v+ ],@X4[Yۂ-/cW!UW5 =+7q$"ءR BO5Ow2fFOPToj9)pھwlVlhk˴ 4(xw챾RA{b uS;&N䕪pRnǧoav'åH9pK/+yޕu1^bk̏}o9?ӈ&pD>>x3`K'9y{?88L&ygQU<ŁNj$X6^ 0k!_7ͭ+GmG <4Ҏ}m1SVȻphᖾ.m:[^M6$LL/@"e3HOŎKMbMPK&HRPK6github.com/jessevdk/go-flags@v1.6.1/completion_test.goYo8Y]Ȼ޽^~&hr ZJJRN(+K˃#gD$,,ӢBA{N |/\r\r3(X1E ԏR ʖST-D@xQU~VB)&‚dV. /.,ѽy -yDہ5 vt@o #xA,N&e\u\s–B?y&0CjbH9DU[נM *54ڝ5ޟ(\"n 5 -gNL51(%Y n|'(uR=s"GS7e"h2'w@Y5ן(~փ=7u{_[EVQfU+*ʆH@t`NY5{oai+XT=꽣92R "lD,,Mbe=0$M0 Έgw] "oAm v9]NmZ|ީ*UkJj`|łqăj.ԛm`s*gXE'NTDnM;S8剣h m6Yڲ\tdAzu7>S`;_K[so?{4AeU2B_G y%1t69 SJv87,l˜OTмSnuM&q2Օ,vHv&^`u`7lբ6]Ձ߉$M-0/\MtϔRʞAw# ^2!aGG`F GLMu3op/ZKH.Q?m"\;dU!'L8KBF=)z({@'Ζ=^jEbzB[i"GPjAP]S0TtV-5zOikI"w?ݫuyyp ZwAʦ>@vw,j,QSi[KU^wtGC0\ աfVt}vz.H!6c,8}C/2G&>i9|,g(T4#v?` D*F8W(\6-"~_Ƥ6"(vtӦ}ۺvڸ>>ȟ'{D/.bKw=bDqq`V.XGTpMmuw>>HnT^ϼMsp=Ϣ ~/% s&Sl_">:3Rj{fhݗsf{ul2+s18av2EYeNPu뻈$v ۺSRT@T_+:pziԷ<1byChȭqsxV_cD.0f`響 jf^Zf}Wُ*s]PqB>}~}t/zͻX0/ˣ# R5Jy̪>C2>%9j:G"ݣ%ߚXT_U/_U0FSF&4{fh} ,Q܂} 7qyb@>q)(SeۏePs26zlgyQ%Z3VEYg]Z#YaQ`Xr/%ivCv!h1啊 t]rhR$f+)[)u&oPK/6VrPK.github.com/jessevdk/go-flags@v1.6.1/convert.goXsܶ&b>ђd^gQneţ;̑ νIw?@Rg9Q7؏vX3x]{Wk g'gT ad(=EU), 0R $*;3QUzj+*C V {`ͱIK A%@ȫȀ k.^~ 9/0 Ú-7llu%5a奎 4Je%vGK$$L5+PJƅF%/KUS*,vȜukGhy%,3vaСzWUH3cjU=qJY$3߈mT(2jK #%kZV;asjf˪$5ʒ .QaծZh˄:ȇi+YV$D"2Ae?fD+X3o|g21tPf퓣UoP-l$WD7{V,aSW5eRA-4V3X0e(M B7OY:SJ:cac#w?as6Ed2 5 /]==gIF}Nc]Bh=f\wK K ċ*fopk\n RiP=sLh;V83>kj[^^W78iV_3q؈KH>A!N.[ !=bx>,^sbD[Ac "2f x1$cum9aAZ'9T=A穋́b:)6m6Bmm=V^bf+M[3u y3xI,x$Kކr2kyk'tX'= K=.%m9﬑ׁ!OUUH^;?]1eMV{{;}~>:Pќ =nMCyWɒi(.+DiS~4ڏ?0"rfB2bzWTi>Xͺm^np_b+CG)WA;V:LҺg$]PzI1y|~_f'7Mxr_o^iC%G?ĩ}j.(ίhho;@7IXQ;Nz5]Q7זFV?FČuF_9:] 3($>m&E Vdђ]ߌ|~?} YkY/m*_MZo`~Qr3fGbVclC!|Y; ,mҵk,cEfݡhN/Ў-~yTmxNA^|SaQdn&àݤ9 `K59ƏF&Jlc^X)WZtsRu]p}epfp6 ?_5p"6R>\~z`M{ܛ2I 7dьVےh` }%:oCrL8Qelu$bl`If] U$<ہqտxo 7po“~Н?qARwUcM3ew7UiN{2- n+bYϻmģ76E6b叭jŧXKDVݝd3ϕ9-}7Aoa>eÑ}@#@aP)0 ע?v~GҖ=9ՍuIٺ PKg<PK3github.com/jessevdk/go-flags@v1.6.1/convert_test.goVMo6=SbJX Àf[alZ"S? b8-E=~ 5FlD!aWDQojma1n*8˽0vNm@~iTv`MLobͯ-k3cu!NkͽbbyUZг7V#zWΡ`%Uϡ$<)+(#'R$NoU/5Ntoj Glߟ$tXA>%^d; ~@A>-<9WbB28PKw PK,github.com/jessevdk/go-flags@v1.6.1/error.goVM4=[ɁMO`- ?@۶jldTÑz^_[TϲEhz:!0զFxx֒=Gw;ϨdAWBq1i ] hSk%=:ТAU ؕ=hRd_GTl; h|A;A"`GuXm)%ąZuϖ~|G >K:/3g6m\:#(2ge?bq]iҽ^Erà/-Z_(Kh! 2pzΰtZuPy/y9\JFwkD擠ɰh<(9z{/r#od[ZLji䀱#*h'ӢdT'T5f񟦱bj@d@LN&Ph5 d1+ KYA9Ng!/4" 47AE@ܐHxez3c՜eibx4zM&̒_@=]\ вL -M(S2k6de/[w;O_ ˶h&`[l/"&.d]+l;/4ҽΤ"f1eHhۈU16zж5o FݵCpC"Cv GQy5a3M8)D n~ghǖvL)D .u?孋s\&&fXJuQ%꫷wqV0)̥7xh?^gİKӷ«=q/ bϳVkVr Ag+;8xTv'"=4?0)5q QFdA N(!LqH{j=Z35{HʁȰ. <)!<3Tj! %e$F"|ۧ˦Z#(!O똤H{F܃1L/ qJ(0*"=Mi9ZdSRцvyD!š1u?O1љ^kQ?efu%ːU|*8$K~U|Ծ\|PrOC`swfc݆¨DDBT›XzPl(:mt76>@t nJkS ߥQ*:_PKlc_PK<github.com/jessevdk/go-flags@v1.6.1/examples/bash-completionOH-I-TL,J/PRv r v2R 8Dj48ss<݂mUcԹ8A \|"m5T4|݃A>!~ (*(TlvU,J-)-S0J$UAMJ PKPK4github.com/jessevdk/go-flags@v1.6.1/examples/main.goTMo6=bRIzSaE)AC# E$e[( ~q^h͇ _#\(JEoPPZmu?k7ònu? eWt޶Zm_ԏa^ 8oߔ|Tf $*#z~溂nsnJȳ7Hh{2m <~no'/HݭR+{w+ ~U_ L};,7AwENvo@%%Wǧ8i%QΡCt1L1,@m#UFt׫0U_B=7~^,KY{L=M.%W=28эcߤ0Qk>U/T!z0ua٘/p8%yfGSF:s&\*GK覺M hmNMGDfa'E Yf_D1R;)V_IǾBab.h*>+.|\6sffzqbNI"F?dײʩDR?vU4!K@(k5 *9ye9]޸T/*8_PKPK,github.com/jessevdk/go-flags@v1.6.1/flags.goZor+b?HK( \^ ݡ1;SJ 3$w⼶O?$v9Η|%vr_iApnkУ`SK#mj6nl` ?IiJKG.:SUA¼S:-ywaam]jHfZhd$- jk6h@ յ2uܑ%}ZY[.` sE\nihC WBM:oUX_Y5z8m.kkz?l@eF<ϭհ|6AصC.Ƒ6Rw󘽟an~׷o>|OOAZw SرԵl{;TY:۵P+U` 9(9B Qb Eg 2W[X2g$:9X" γQ.XG:hш%fww{a=!"RՒ~.Įbdf\%&U ]Zvsh5_B[ex#0Ce-} jۙKykksY?9[YSY}b3B\7Jag`64vܻ|2.K"S#hrgTkP?Љ׶Q,S(C6r9z7˹d`mSqu5֫q^KW5t5GpOKlBaEvK'/$=JC)6vT(ZޮqZ0l@"_YYr=ed'3ߣsϏẄ́cj?}˸ܯ#hp-ACʚɃ8JT}0;1ElƔCAcP16hC*XKOA³:|Wl,m4䲛^e[(f3ERY@˟4?~@ǺGrS`/\z 60nz*hwaC *bJײa22Tإv\DlG<=:G]Q>]XYwg6)gc@4r &ĈhVtQ$GUd3 9eN*!^)#MyNkjCLœe1lb, H(" ꕥ ,v\+1|f;>t *L7RiBh噊 ѓw#Ňco{f}Xkz% q0"IgSaZp݆}9g@f$nIbЍ?  CK\=/ Ǥ9 3p,U%[Kv;)94J1[-w|-YOf'TN㾀B8_6x'cp]pH>AΑLB+[9ơ,}K+q_Hi¥k&Z;gP'2ߠ{浇"Mq-cM/!^AZtM=ӡ*{{OuQ#:?bEMWT 9rr"!z2>lrh:tRכ/#ucvulշ`V\U-f*-O YNKH MQr|grvA5p 6,2{݉aggT(DV5su^-)+ UlJ:W{˅C6?Ac%<ܒͻYjĎ)"n_zeG_ g($_{+GxCLtcl`VQPlƦaq&E|IQ"w|6dRb X4} Z˃YZ6@:F@9Tqt12;PP~]NZc#uѽ@^s|(r* z.VDudg)ٚ~fՓ(k#f Qv-3Z !/-nQk;Zye|&]q(kS'|tSD]>C>߮Z9 +[3}71rКⱞ+"y4_yTXwLVYo]'+)>s7tT3xf-Ot!"Nr0wehTpWa5^5՛&^JӤ8itlu2*"ф+!ΪKٶ|4 m7v*INU/)?)]c)xsAr(.$Ɔ~9.ZMHv"EtJez`,ͥI xܴ;N#},o|#HKaNVDj>bӸ=ڟ 6c 0(sw!'d0f81*&̕|ǝdccRr>S0.HsN$ƝJ{ !cO~~p0bD(e&(r d)?#o ۅ 'o[tvCLD>rђhC `Jr`m)9Q-͇4K)<yP4(8'_d}{^rTG`BLZv*p龗$!ɡv<b/" ֩0UD+A|#GA.9SE*_#"@cg/dO}x{~:Y[y5`pTZj{ugecn$ wN`$k| Y7c' "Ѐ~ϗߟς&׏_'IN_9So X @ae!M;϶ke@w\ "`oؔéq!56)JԣZصXo5hŻT1K|RyƆmLHGBfQVXp)U:'w{ʉz샍ZG1˥hkPKBGV/PK*github.com/jessevdk/go-flags@v1.6.1/go.mod `hHu۲:FJ`1TkyW|ߎ+P PK NOPK*github.com/jessevdk/go-flags@v1.6.1/go.sumJIK/Jׯ/,V(3323P0*r.2vqttp,5tNr6ON,J7IMr6 Lp*+/e~z^n~ <ЌԂD/D}"C#D,dG[.@PK(OPK,github.com/jessevdk/go-flags@v1.6.1/group.goZ[sܶ~&E{!e;yH)EIdWM\"AJ`G;迟nIN4@+AkZ,=xtNFh1fU˶r`v#"==uL ~8RBi* Ac6jYzsxUN_ p#6@iK ?\>:ZHӵ(oE#nETzd&5dfe[ZBXkcWi(j%tI\ʱϨDX kHWF7ǔBZ[RNI~}e^!c0| t8IwxcL;Y HV-@.M=j-J>xmC̀"(W?uzu7iOaL˒u8wArpYw3Br2RwBWPwBq.~-ZIEmCl\߸^*KQUhy0{CXCKHmXC WK `oP[*c\=~6Pʐ5$IT#szNzh}9d4 K[l9,gOsp U#sdț,-(?IbƟ&M0z"z-uŕ9sxa=j1n;\Ool*Zf>! ~)Tl0a|_glHE$M>R/,&dkd]<Թ(}ǔq<-2))O{Ȏ\ń7EkP Xz~2XrKswAD6uEFiWazA x!/tQ bYg j 5QPp3 |Z]ߊm37ɖQ;l$ڌ~<4w)4Z݈v&2G|p02r.q:P}f]\o2y|Gcv':Š@h4{-skD/;GQ| V4S(8$}:/]IOX[}"mUarmd<|m>Oh6z/ەB*J@MdEƻ֫kd!ehr:Lnx &[-n:N}I݊h?1Nlfy Sx6ؗ5kcH$6llT|}y~b/HI@'90$-Q=T9H0E5K6ȹ? EZtmp.ǜhۧ' D<˽FB~v"mB@Gӫ8fV_<H4n_E Kb$|sN.NIia8?h/VMsfNv5M^ni@-fPZPThMڟAdBNh~ >F1>bW5udhy ? E&:av,yќ cV2riy( KACƤ]h z-bW MWUX-XG_l ;u7;_⸈!Yѡf/uտ}sD;j<tRo}ӭ[~rxr1O8mŭVb/I|q8<]Ea,E:r:zx%Gbm|30TI{m?ƿ~odG4z[Wh9qչP :`D6f,=NOt} wg 2E½gW.G~a|`rQONZgGɤgY`q$ˇ8^{hlB4p&X *6缾3GEDXy"qn)^Vjok> (÷`Od2>p1|j?r-Bcx=uRL9NЁ5& t7rUct=7?v`zo~9=iU9|iiӦH fGZeiʒ`y9v4^=M19\чSx&vI,{n?8HPdZJC(rǟ'B7EXQpSЗVPKܮi# (PK1github.com/jessevdk/go-flags@v1.6.1/group_test.goXKo6>KbbBq0C}`[^`MY4#T!rŐ"ٖNz-r^PM9EN쮐@{0m2sb|R,><,0𮒉Bx%U a ڨrnpJA"e3}+%YcmQSWy+qRRL Ǖ{Ej͔*Դϙց-. ~rdFe_*EPR1+p+?(%" )ܰܦ00d$U[FӯZ(iec&`#! υD 60[S8u/H+P TsA{enB0P/ƺ-WE%ꜵ/`ufno-L/#֌TOUj4ߚv*P0TGX؂,׮3.1S*Y Whli+ư7HA=ߤ Qos]PQ -5&- \A?-C X#Fn`VQ¸+zl}GJHZn^R 5ĵZ֔֗y5|00%˙Xw{ m1om#g1-w>(sҋښt ]>N~rde۔w\N% 1 @+4S#Jn1J96TTpi\mH[XAAN?2`E4fxNX9%K8kVivcA.Qi6 +na?_u=\?-)hN_ջeLb{QRuLS"`8=QUku0A)&7]Lmr̉i]kxQMW*2ӑ9M0|5!ɈIQK#d˭.)TO׭eW`ԀrJ!P+ǜC/lnXA_(b+*3W:}?R^BHVc!O&x8(|fCo0֭f7jhW|?g1;l$!g(k悒E䎤j$l(eF1v6xCh{7,:ˍN5\]Rxͻ"fytyکؑ:޻g;-u@(.@z| iǵfbaB"dfUECZ`J *i&UEKpqS(2(LjZs)SaV`]礲ԝ  p؊b QUZS;;AC$FaͶ.cW^KZ9(lN?!_M~%Q+srgt 7o{ *0(?/K*M`U5 "Ur]BU*ڣ&'ez~b%!mbwB+4sz_ڷmVϠfAc^2pZmq}:q[;szՉf^+GZ{uP<@m;4Ȏn16xiDTb)eE!Nꄆ47pJ\~"`9V@ <5"I|\ ^o܍aj1WGGrqn{5!=tioa"؝Vp_GCfsPge֎ ;?Q?/BpᆼN"JGq-#ed{fퟑ-+t=U٩#o8xw(A ᶢpgϣ}pܣrJFVޔ:CnXr1wGe'ǣ14FbDE5ϻL7q V}du 31V> s+DgD; VD LcFM%[‰ Bf@_) r?xĝZz; v(P\kjRw@|lM305ܖ08095xfkx Qaukܥ_ly ; B#sc+e 2,`=D4%J\}*x,dJ/3$~₇cI9lҳx^QRI S%RgQ?zQf)9j18}D `\Q`#4S7)"NqP/=oƤHZ E?)]5I4W80.+fRR mvMf-Pq7OԊʅ*&J).@\-qR9|sy[3&%Y-!_[il3x2s/qާL{wc,j&@.IJYLL"zkh=dn8"\5?[ |don`XDmw^(e>(Jm`M$_-7nÆ%V, V$H Y"E8Z'7G_1Q&`+YM EWA1:ӤM\mE2XٷAP[`ht(U.U36mi%qsnr)Et;>vqsC'1ޒP3pJJzuqK}2^z-y+h(zeás} AO#7zjvߕ ]1O2ԵD֖|r`9ȋ+UȺ!ib=J̈%2krB۹ UjcL μQWZwRYj|}RwY(i94%xIIRbo ˣ@MN!iKҒ|s9'}wjJc)}fZe[{ϊ&w}]uUghC+@.K(*WCp$܏DgZg?*K3 m,Ԕ:uA:l ˉƙOx3i`.C T)I]B+%ٰzz+LQЩDr'2 TZ)T \\ G! +9wHb5G޶ :<);v{'gBI])T:{ՕhҪi&1%}5Qv1oĩRyC.g/˽O%:6{?'gGg"~j,:у={}x=n?5gnz^<,Covv={xez\Y"~O-K%Sy;jQeCvħ9XQ,kZʴe v~r&'j۩Azy8Id]>NZmn.N֡Ql\MCn2LvCA>DlX'@J7-ڷ_=ʤwU#/hi3K̟8D!-#|n) s+J>,E}u:{ N^:8~n⛅(ӳ(`?ZAV ya<\.h-yuR {G}`oMn@^^(;1OK\Kgu7V HӸȋ.>77/dڂ8iRFI>n{lER3صnID-- vѩVmZ&M _wwG;!xw]'T, yiw]5L^uQBQpWM|M, GTrSA!Q+ƿbܶxaغ٠ޙ izEaYbym Ƽt][:m\դ xVU.&͸.w%7;kGTUn]-rklTCBP4ʙ ޙKIRN3YvumbK֭`::+2\c&Ŗc-->c/[n}"7½clЇ^ xL{щ~(qVTFϙׁctĆ)E󠪢owmro1Q kL-:Bv Zo6jh8~e8nUwk§K=kUw}W4jq6uZz2J4N_4PyBī:(p; 4؎pe ~!4+.h ׃F}X5͕Qpn(=8 sm߮ZЄ9/i ( AcTr8L\)IvN??),/RD"$LIB(xBXrb SSiʊ<(fB!XTp\ I*CBJIǂY $ŚrF)|,t"ʐ)c"IH C!'Me@?%RH|,s$I EBRXALL፵HLEa+B$(bɈAF$#38L0$4$ "cQ8Cp,b"D3"A1*E^}4t>_O7zwqyo[,s[7%p_vpvq˭t!E~R~7jIdbXQ=>{oO5X~y#hJ;~^j2^CM$mDVHT$%i:,C7_(w&ɺlPo[ dɂͬK0 TJs\xo'Ud v EGA=Jl qءlR&a6I!JLַw+LWt23C)f>Ƙw<% j[Mk0ML̎鵮T&J+{\m"| aKRx,ƺz")ƶ(ΎxD?ֻ݊5~ABA |\p컳7R;J{qF\[ z*I:Wi.^,5;Xډӄ0^M(G_gE#}R>8 5G;z8>m>dAIJ.،Fj=;6DJ";B?,#=0G;';@=0_`O.4Xm݊+JB8Ileg $S2܁~vz4t֪J85NZ0A ns1SDŽ@5)p!Kr"˜bΉM.G|.ozV?BDrCbvR /O[ s#qxxLXsΒɷ> 9ԥ@ b <NvàP@1GW*ȷFNZXN05VPk*1m4cXjM3B˛^PȞ3fR}˸%V"`Jr&$Xeh,oLO YqL> )i F5,Bʊdr,4*.2O_}TKfb_FVh> ~!iH3Db!j`W<;(Z娶Ti5S-p$ ]ʀXK-mѠMLWYTro4qs,?VbAq/+8sQ"HRӪ`T7s0JZ֖orlJ,bQW}\:MiVDj*׏ )> h^{E 6 VP tP+72DuQUV:'+_.ڢtd 0X%<,B3{{a%pR;թNj1{<0LL74R:r#9R8&Vj90VV\(mAMm%5DدbY)(V PbENFgD* 6=An[UMs"Z [QИIq)\W Iϵ,ʫ$RpC:[ƨK@/E++tNء9E ~Ĵ)*vK&ޔ`ě!(I@|6 t>^p#^G. K]ruy$Ef6Ĩ I@Q~̂ x q6 `JZ&JL4y{K+k\gViɘH/62e'yE {]$tt/e>g5RcGZ^y kTQaA %z prSW行̸Cxog. ~5FB8?#QT-MS={`/ GH),4z c%v|!q2|!Rdg=Z_ 1 ̃â=e{?UUIM~J魌LtWڀNX-㥻|:XE<{fVC=싑tt7]錼,C.Dgȃ؃s[qꁵa:,Ō| vMUz?˼}ɵ0+m+,E*a܍+ y_4s`xM`T:EYTH AdžZ@;ê%ҕV8CBq1T$z'' :-> +5Uld\fb`Ci?~,9nh.%!Mq- pכ ф΋>6t&HRZo/yJ,5?]N] @_\Lh#l),, ;9}~^@-NDIےa! 3 ;$(? 0٘0Y#8=^ƌ;77.V9d--͸5}2b,(l--CL!}{&S Ƈ'D~-|0I(kcW ǦŕZ[mTw)j?fQXb#w"' /eәjq7/nF/_2Tm{p{'al׫1pr|L>\}B4"eo}ayBL wύimη~wgpZ; ]hk~SCIl||NUp~?:UN5tPԗ+jy[v 3A݃J!_|7n <6A%N<  -N h}ݭh$ ie<I2iQBBp6 '%wa{,_U TT>~5zۊh4HWfQCUOQgD Ecuq,X7}͍F@rCW``{ku4|k+3R?)ⲇ?oߔVIlTi:"5^&:9 !2-`A:.DWTpA" ," t? 8f/WIfo(JB9P t>d/\8]܆ tŷrzY*_93MٻiۏY(?4CNcPtR2<s֛-,LL#5BW[!o1RŸ7qWTcM<7C_ƽXYxS.<'ny2ASPW/N<;C@91yЋIXT+zޕS҃^ƓoR{bH "Ȋ7)U'㼔»f'm{ JXgb2RuW❢X ~sseQ&%VoŋWߋռ.bė=?Ѐkn& UA=S8>,FuPKp4PK/github.com/jessevdk/go-flags@v1.6.1/ini_test.go|os۶kSlp=yh#^\8iĔʘPJ@Y!A(IsDX,?,c4\[,Et^QII ?xJ]$3]+U\**s YR1E9*%#a43R &4SJ%2B/|%g~xs䗟ޓØ&uv$a WRe:Q6?y鈥bKsޙ߃N{Ig=븶z]2rw}::G s&!D眽IJzsu\lT`VfS!)t2p5cPيVzVj {:JW487d 7 W-|O`-!jU:Ī1Dm:: TV͟ys>KW1e򏝎)Q ,fcMKM0Rݿr1-!RYL!;AnPc bA'\ (ˢr]4lW_C4OTcXjO3\`QM j#=SwLH Q6_-(Wۓl~--fͨHOMITuhR`g2ΐYr{\OkZQ\mt$0 H[ %qftB-c, K EC/WEI!,}p gX ZF܉)˰ڏtC& Zcv5Oǟ?Qsxp|A̔jkĀӻQ^@*>AFQRXXdjb:3$j7or5-J䗶;n?'ZoNL#Ct^>:/1dS%[GpKӥ˃/}(49g$tT)'qKjf-ȫy7w;2udsEAQ674,4/YHEi%qsfGԬQS $4Vaʮͅo3Hi Bα"b-a#J=$78+pQoDbXeqTeqTbHB&ь"ސU+^!Pۯ b3:~ߛz)9PZ.ujD3Fdu!:FFy$ ^YlX*^\P#W4+S=ߕȾ$+TiUBicY"@h]Y73>c#t5lZfO mBNǂ4]޵1U! (>oYJG~ X:nZN'jʰn-Uj =t|Z*"2PbCC!pP<}] 4g8KP@4!&6,-y y%d͌=5M"M4aM!~[y zy~oDYrUPBw Ю۽=rQTo|ѹvG5.[0BmO} WF|`AFPXLh<y0ֽʈx[*+1Vv(AiT*,Wڳ-YOŶ˷HɪHGTخHDX\aMfc61(u]awvNwJ;m%QKiFڣZi3jnΥqX 8.2p6d[ms#bƉTfۃ]=;Nh}/`ak|XI~ubO_-%=]Ebu}MnQI&ْ;yZ]]c볯SĊ%[&WB@밐qӋbJ3XYzQ%!Ŷ`Ob2TbQ>M3tK:ŶfևXZ^A<kSدD&2/ goԒ/0J,1'qף{1M20(l)ki^4hL4} :U_?= tP\OWI懨Y 7WWu =uЅ)Q>pq8{j<4y˗D/w:zٽJE~3󝳒Sܺ4FTai=Y67I+(Y\ܹ9&OR)9_"I$+YV/mg]3sf?.!,W h XJuQ=],1R5iĹP0h0~Z,EeЭALbMHՇp@-Gg%X1Fg45a4qUhU!Zw={URZCRkN 5WO|DY(Y4mص8$ Z d B" OS!ޥ6: Y.ȹKmAI+pUtC;2MƞH„BecuޭiDحl1'[4f3h8m_Ns몥jdbm]~@bV $sO\%B>2 ]Ӣh8gbXJcԯ#W")°e?w}13bԝRsP R^}{]s0' EG?^L$h;w LGpkG:r0[1Lp48!퐡PXRV˯؟<~c֥ 4"m3ӔdXRO,mfdZ#xN`k8xc¿C{hțҒco38stE+5h.Me3%4YHW#>MC6aNGXIq<N}̼j?m^$L^&zԉ! f;j5L'n;ǫ.o1^.%iZnztB( )0|%;kMg7+>#lGVo/å޼ާUYesf!ݠY: *֧Kc^|; R|sbWRVkmyůZPA{;^~^R'cVfY`QL }N[ySI\dvUi^:PW;=V^|IjȊlMI-dY^fǎPf1Vː50'&,y.ֺ,ֺI,7;  PKDuu!YPK0github.com/jessevdk/go-flags@v1.6.1/long_test.goēJ@;O1=I%r(؛EnI8;)w U`Da?MƱ`J ylaP6%yqL'Am kc^%ս[µs5jg˩ކ^bfh';Þm?5PQl9c6 d*_h023;.=m(`|kB/T9E}*'YPc 5fCyMik7 ocA|g\ge)rCqit [PK޻@PK*github.com/jessevdk/go-flags@v1.6.1/man.goXo8~)qJ> 䒴&iCʔ!b;|?gFi$)]+<΄$ۂ83~R|*d{60$`Kſˬ`qz9Wpf`p$s&961&ߞgdn}@o\TXߜus&bWl\4K^0C)v=DF%p<~l81{,=m@@Lm%E>HT Udr'LVq>㍧P}uǽw7_E/ NU&!;,y8bIl<wDkÛ2+s} kFǵƟm+4Pa.XffPoa@aSDZl**tCUүh%LE@;"|Fc&()Pd$+, K`<0d &I^̀H@^/'V0U HP oXBؓ޽]nk+5腧:L])+&|fEfyb'Q& .Jf:&,@-2ࠒ`/ Q&zz CeK?ن >J )ˬ.myocaƟhZ?d\[+r0LS53To\Bmmj'JY04j(TtZlϱ1;lB^*|gSvO-_k`{fljb qȸ:=өNwxtA6w:G֗KXZ!G窈nk753?l.ʶ[*~XRѦTt͖%~&7[*YV*?qRv\xP5vF Qhvވ3LZW% QtK5+e#764nJXDWڴ0c'lnLzʙLm *uEF6 n VEshU:0Fɇ \.˗1ؽk#ZD{)ܟ o^SuַvnYu(JCiA#z5܃C@uO\7TU ^ǵ0SX^+l3j&ca4}ck5l4SLCLN7R_:9rL\]M u:J9UL}K{[= 5rW]:ⷔux>MS@*߹!\$zoQ9xY LtsxR1u:uS'6z 0TVʈƴ`,Ϣ d* &]Z|<>=9:=].`kZT|`RW(7û~g੹941p ڳzRG]nC:~!;pW*J*?o`uG@* bu4"9 bt1Up)8NϪv_r]6|~S ɞ/٦[_;fؽσͯE˃@\GʼnA|(kPK^tPK3github.com/jessevdk/go-flags@v1.6.1/marshal_test.goVMo6=bk)P :=m7^bBTrߋ!e[j9Қ͌{UjQBdՒ$tZD^5 ]-D5t%-%[7.U 8:$ "/yrNY 9HJIJ3SJ5nb,`;Zʖe1ss:C8^) *z,ubnBљLU"n|uqɈ(xtpgLZ5ː?K'402vtLA^('.WlLvoӓ?!9SBD?,rPΡKeDbJLAor-" +ﳵjv)qve(=kfdƛH*_RCC' ! |2MwY8<|#/$L2Hn\VwTRwa!*[-v&@1+7sqlPs"_1o=}F&F):順wn~!{&_mq|yDD7^\L|Pܾ%Ku5:H399Bj*Q<,`'uurS8PAqEC2$In #Ia_ KLLoMLDd|˲M۪nbл86 {.<Ĵå6hʄllH3"~OOPKK PK/github.com/jessevdk/go-flags@v1.6.1/multitag.goVM6=bVcVV9-P`'P3KXT0 ~Hj)I=z#Gll_SʏU)Y)t@#JչB86lMBfEfŞeGVmLIҕҼ|{(PH֠cJRxMaw (e)#+ Z.3qd;QJ>~W^X֪8CVVw3| yfT  a%ܰB)1pO^+WXW,CJvA"|zSHXPBBCbשW4dJʢr.vpUEM?8p=x>%-]%>rg)>Of w]ρ 1}Clgzq[˨Gnۙ (=_s/ԨVL*^_X ?j$&yzͳsmkֹ̿Nw90ݙ'x#\ p]`]C r}ҳhJЬϡޗ[jJ#zHȊGklgz=[H>LғZQ#r6X B FԞR%h3Yc{Yet-ҵ07xr߅X'4D<a;ßvW4ݺ| o A~m"/BM?s0HPB99Ռ.8J`@B?: ЧAL1?_QTI}gCT$]eM+;PKd! PK-github.com/jessevdk/go-flags@v1.6.1/option.goZo6s-~f#m}nɤvǾ4ji&3Ƀ#(@]U߽@%_yb?Tˊ[FjVI·m#5l~רl^mUPZrESNW_͓,I<[A[f^qA6 BCO PU7b m;k^ְcu67( `rmQh zÕadQN D[*-BÇd qQ7\ED\q`n̡ V{t\6Of֢I/ڀKO(.5BaeêhXRb( pp wLcya_3r޲-ᒓW7Xgfm>OfEg՝c:]^*jJL6}*Vܖ](v\6\/fv{2D.α:Jk|9KU1]Ue P-@oq65DbAڳ/^4ۭ˚ ܲ폎׵'GKű.)zb[ VW$#i#z/ߐL}(N! #s[&o4a;sLX$[d9uڼ 鴹'`w(6QN32nAt?m0?u)+)pʋ7F!I`eRZ@ɴIp)O[%`П8̓Y2xK^6 ߻wXڮjYw/aԭcb繙,\(cjuKm 0L!_-Ivkp(+hu2il诤Jܬ)KhC}#&3:Lqs|09%#S^l_xnqƯӰJ̽}FL0k½ɬ` { 10,Aj=ج:=eD&^k ^e x=ιjK ;*tpK+bH'`"Fbť_ #- OEx1 x^so0Xxg]hVAoZdt$GQ{JvSލn̟a.XYiQKDPg:L>+fƊ[v^:]} |3n7˒ٌ(.EєhRfq PZeN"CLߵ ]/j!y#I쏭}&sAKkFC8 ̜#`VS̹I# X9G\h+cI|,$5pҜf]y4sJ|뚢A Ľh6JP!XQ+!;"~ RzD0O3jG%QJM=Ž3y2l}J'JQ *v$jJE%7K/hD6V| EHԩzdC2s}Hf\A2ڿ߷f\if2%wX j^`zSʎ bx _1IKX0W^n@Kt~_PYLX#BA^yY{ӂc {6{ X2g>|P?5|ų?^|s):KC#aG绚b`Hݥ*r%himwe:WK1Ϡn֬~6 ȐٹEմV6"0X:rIuJԎɑURᬣtJ BG9<#w>=uܭwX pɇ v._ἂ.W"L Qs&ex~7MS' B44t{!݆׷kSeCUQe@k*"M)IK1P>$Nan#Z;ݟ{KhFok/.A;=}kkuqKFH#V qH< >cL긘C,D*BòW#4h}8%}7ʳ\Em8,V"#*~>UNLbR'jŭ/15haB~r}Kf܎ՁeMYaXjRox8\K,tp vxVA;dP }bޙJeUx}_#uNc OFدۃ]@=`44..c@l[]Xėe)'Ȳfȩ~6!Ӎa4E,Zcy |_ր}_ָ%(6MwLDcDoJz"L!]0;X7 Lz>|==2zmݰh^| slz1%{n=Dgc$jW/}JhC#˰<)5aq(up\ S?wcPS)NJxLG~ Dʥ  Qn|H޽Oopx{\Jaʘ3kHͺ.3/ /C1\$ʥ-Y)Te'+R?q)3u*S*O{$'r=$ 6uȺ3ÒNak~To!7 ݏݶv4(Iƞ}5:Kk»hdlZew3J{eZYe5rYϟZC׷skE*bNS:uL ҷCXzώ5- xVsȃ71 xw^ǻT ꧷xN}G𜭦>^K[p6wRm./GRw6सGɥ,i8uz>E A[N!e:6|<(p,AQ$ۋq6%-eܞܑ 0r2 Pp3.疋הrӊ wL6pIla 2f ͼC< ;Gꨰ)( '5<8nl— jk[(I78jvi0)ATHB _ʯ4@NGgnxШC@t5R-CqߙzVt !:f!$"RG 3,@/ڮU=t!o8$(vxr.Zj%: NL!v5."!)Ӻb"%6M}uAd'Ɂ#w7鰋p=64 )I>x r𚏎]+IA{ pٓ?Cr+X xwyi*g;mC@QJpYF6`4L5܂c#(wB+k.}_}dv mpuXYyRT+LbDyۓ>ô_ hL~a,`a=̬rT:,E7%$:ae5Xn@rG./,}#藺):%BbZ8NF ~8˄Sb{;%.no~(혠QvjxԚ+:+׷h:=wXlczHviTv`*mT-j7^?efVߑߘ,>3܏FciNfq` dw!V'R Za)p=#˥M MBe#a}3 jT=.9+tr^3BBnT@x[c\ZR@BfԳm_"^Wmdd׶QGڷNQ&؇i-xBA [8Eq˾2 }c\<ŏ(EY"'LW8>!iϒ,~C0ܧ6) /עD\br6y9 ?,{H61VޕexؿZh{6,I);np\}3袇PK PK-github.com/jessevdk/go-flags@v1.6.1/parser.go<o6>u5XNpInvIPww`-GpUs=43vw.@a["{|P=9W3jq/~J T?+z[Y]`FVEvr FY3RW,@ˋ%U)+mR4]Sjm$}9T-,kEy-VX,SVy6.l2]mG+eI/6լiU(sOYa4}*iۭh*U#ANZajaK8FQ# rmtZr<2oqCB[du+g8.eUjVJxYi[m$fV lԿhtƇѕm-ddF-lťE6k܈fM6r#n6#MMx[-y'Ҷ?ZmÃVeNAXCz.ֺYlHByshds3F&@$H\7hZy)ۍ*7B)ZVpM%$RwcF,@ W(<\rgfme<Z)iA9 7$ ih@K91A,"lm|ntWW`Ly =G5 5'X ]mpj*U 'A0a%TRTAȸ+ oXG.x 1Xe ~(TNÆʸ`)'wPɕj78YE֋CYCCwUIno;w{(;vTE6=)1_Amry#?ʲlAb&hܭkjwPUف!ihA 4E)]aęufO7#H,q6%п3;ݥ`6=w`mucRݑN!dN~NHi͝Kc+Qٗb42p&vVa#,Tn#ٱ,2,nFd3ߡ2T\Ħw4{Ǭ6CbzCQAC&{1}'MX ,hB"W~OVd!|y0f":I&I EM`?h܏` i}6x=a%j+, O sp^`!d#[i|~ ܛ.ur:t۩eYKf1 ӄޅ x鏲n_b P`5󸚓r f".&| HE0xS|<1ȰA{0X-Yr=f°BH˗D4br-.\;?vAXA !R'q^0P:x U! <h?ʇ " ib:߬mO@_yݍ*N 1FnHX'E[F1)ɀϽDz&ItYv Sp͎8IS׫5s^˘qzY,iq=$oĶR:h ]QfN݈tKNT?xJi$cP]ۗZZ}.Csjݐ;!HS'J F4`:ut#ndl2 &JJFቃ!lČl5T%T\J&ۢwidX!{&p! 3kχ  'yVD WO:Hc8%5kJTBX&u&dOeoϨr(NŘtT jJXW;TaZ, T! vM̀ek#5m ̇zeA 8ZC:wՄ#.q9FR}}ƃQF*Iߡ=JyJ:j;?P9TGNw{_QU\6VR7*6t(.{viPCM<3xYwMZ8]y+ܦx){ "YF%yW-ΪGBNvo| otרz6&;+-S|{ _-ʳ-±53g@Uxe6"eHwaGD{璼 m,n~P,|?i?xAJ3и4}+1^uu7|6̃!d~1c ˚8|G."GFdWykbۍ]'ꁬ?/}KWءE;8B{(4데Ϫ svo6T #Tk[f^XC5xl3H*|O|_0([c:wQ9V!X ITD`tU˂ϐܰkʹgK9)#)$?)k)Or% f/+|!PS,J8sDϲg3?Q(cLP+h$Z0wt-B(m3du) VC:nKĦROfG퍨k[(lnyNj_^ˇ?yny-o" >9كB7 N4)*EGCD=y1KuZH() HVNqDrYHRjT\"ʏ 9g[q-}>'Qg1rT]s&lOl!*gp"%hu߂kޔ|%/VfѼOQDʦ0x0:jla`i9WGC"Ѩ ~|- e£#w:{)jhRp9Ml3\YUI0}F}GSKux7 7ٝw|~ًӫU+0 !#T &%9knGYx/\^=3>LTKrg$3Qºm xߩ,{GG3j4K]`6[NhP!a7Hp;}980pX_HIS ¬0lP3a)R"d/O">m1>I1{v&_w4-&ħIC{qߤߴiҪYvځn;3Xm]qAdO1i32uM1L@drid_;Ϧ ~M2Ϧ_>l~IS˵~Y=xTJv{X z5*ǷStǐ/(0LG;f. ~=qkשåXM=X6t=:cu8R"a&yl'\vj9Lg eWy9͹1?\_ Ή5щ{8Q+~uuLGuw0ٳSyYmny̧-:0VDB7}lO>@+t6w"]IbNe܏w ݃ IRК2:$(YMY.Ro'sMEW9R]nȅb"; C m蕢KŞuZ[iݫVW^>C `_of9~cbHzvE^0y^+=|cP.lhP&eP%.r/܂3:_ȇ~)cSp'5xjX4ߏ%,/c++k<_J=Q(#q4J`v}G+E~D(q$n|:w:xKqJ=hNso ,=z4S5U áCf$r&My`>Ccm&*<)-g0MF_PsϦ!y{ǔ=mI7{U8m狫?+z _g5,C h1+x׵nt_\}$zrMd7̣1 }0#,K^h p78Zkjܷ`  GI5ꘊcIN;V(X&+HEɐk;V $%*B~sK0 e1w@ gy8O}p"-ڰ;yoUIx_>hPJ1-p҈^׵zyEkƟ8;P11F غ,0|zs v(/1Fr$"vQvFDe o:1sZ+a6UQ` 5T(5 z}VŠthUp3Fz^Šnjז{UFJa'ynD(TuE1n,RRS/ı隍`B ϘQBw]LL*V9lF \.>r<̼K\?w[x^M,7i\, .[r$+$z*ыV^,%ZS>ڹmJ`e@+vʴi[ㄒEn(bXA-\/b[|w9 X,f숱"e;$*`vP?jUo4TҩSiSSJ7N僧gYd5ri)dIÖwGRMfg̓5/@%-1DRi.0 <7}A_:bk?* Zwq'p3BLY =50ֈJvRO@TQ Bt}TMD$˃VB43m`gڇXcY ̪h~ro0J5mlq񬋳mfcca]1Ӹy=X;-`7v T$TG>:;R;URF)BQ^`w|#9- rWyc0 :vDL|r`'m `X8dnJ')D׊50 ZNNBK.w^zˠ|rDvD/ELpfJNy&Dhsuzf+1(Ժ9tɒA$X,)y(^J.DT9/OC<{-Grt|Z'~-i^xd@u7G'o>f {5Xso#oƎ袖 R/ceWI:xg~C{w$hrGDF@P%j㣓7G/j#5?"%:YyܖV1{ߠU&21^Q|C=m64K& *Iw"ԆO{U<_"#Nc3.ԛAdDWV%R6dOgم{A{#4i7:ne#)7ɣxA])B\`@IRwrs ?Oc.^[oL;yMT"cJ{4XZWΣBXZA#'֥OJ֯?'`Rh'czPK3[&{O;{jؐU쩂{Yug{g̃]0h_^KBGV+>~Q5PLJ U@Vݒ8 S0G6l-̲WRW2殗dN&a-ex 2I0w+-Cڋ%^ɨ 5bv#f\f6-s?r²lZȵ慅 ( Ay~KT5fL3\Z%-PSn'GZ$ ` 딫A];eW4th3C+`r *ˇ)Q'udWl[Ad1\,JCH(eQp0\DZEqeӚs~8,~ogU` %X6WH6#H)9ZV#kKu W}=op}q7WEV4RlzFkRNM3vZ>|luIKV[lsSWSxW:P\+9R#.ri-[)T^PR(5\#e*p e-eIgDÊ⑌)Z{:nWol!,A"]cPUtqv]&1`JJ'9ZeIρi LJ1JqҕUeZ&}ߡ vDHG%fW G8ͼggpk#̻9΍_z\fFO:b' E䞩V[2ȳж31m [ϻLZu]#z=1< !? Sa,UC ,7XW A7seEZfy/!"K꿯K}Ʉ&DT@YS+^!zpm~MtP[鶧;psLeJyLcHR{wkTn^n0q}~ bw@LCe?W)_TÅS*:TkYgUQʩ)`K,'>2[dL_hj|iJM7˙iU^nIiāJrXT "x,Sd79ݤlsX6*\%676ϊ8*BlMԝbe0X[e7%nT*eP/?+燂i3j`xuttF!Śf+Ӌ ip=ZY7 j{'AxMըu`?uz Xiw-D+* /PK'eGNPK3github.com/jessevdk/go-flags@v1.6.1/pointer_test.goVMO8]ǿ֣AIVj$6uAg`V0H0l 7uCGMBO6m^`VUsu„EV)!qV"W%!2+q\΅H]a{A5 T0 QtXZr.HE S/ĩ>*B3`JqL*~W!WEt;hM=B Cх]c$GyQi\P-ǗR r[CKQʒS8Zƞ@_]^=`Ѱ4yO9WUoa-[xq͊ndx$q_$L#I00l"|n & Drl_$h2yzsXSAw cE ?Zfu6`=c`;!^pȘT,MҺ:1n~w59W`,r7քt]7~eyoD~Ϣ/b.U9 k.N TqBׁ8ͭ>.AWDwVD]yw 4?6RE~PK(x PK1github.com/jessevdk/go-flags@v1.6.1/short_test.goo>_~~+L)RwDmp4PU 6X vjdC}Z $M;~>IXM9M-!rh"s$-J5MHUWh o;WmX ct.I#t,N9jغ]1 V!K`r_|F!q@3&$ȃFha c8p}cI|ivh#Z; /Q-4)mjJOZMnnp@6b!P?s SUp^@4cE >TiqB.7~J'M (b.r`ZcgP(Du0?&`蚺w|cpߨSF )k_4,EI[,hT{_J7e+Wu뛦G`݃{u|p,ڰHihCϼڷ]xF}!HRL?ϧeϝ=g+E<=݉NF7928to+1}P{zi: {|=m6.~yTMQ.i4!xawM3|?Kyt^<8:&(bG/ѥ n~bt &PAk}L6*|}6HZ?PKEȤSPK/github.com/jessevdk/go-flags@v1.6.1/termsize.goT?k0).M dCn#r[KdJvq'qDL|u9n*~*g͆XU֚[BD!ìe4V@|qVi7r3Ĵlht(k>Ȓ "<{Ϲ3qW+x/LE8_O-"3YS(8YkYYIe w:#0YIA{8*l&FO'/IOF FwPB >#tsޘF#fH!Ӹi:K&t4L˛|y?uSJ1B#TR3äzQle mSxdv `oe 7{G(xJP8I` є$u7NFD9'I%i(7(|P2aa9k|6b\X9RRjZNuްsl1`6\ 뾷)j%R`^F5. 84&qa`lyONG0iRshohH1WG1> 9iMVS-hrmq eq)FTT%+LjƘ*KdZ&dS1g+E.n8*.ˏ?vaDt&|̀!]Z!|qQ߿ шp"oZ 0T?a؇0󌢂4yn܂ GR trZƍpy1&ܝ.6[.q{ حUuMw6?+^7/ 5WIfb2{oPKLDPK3github.com/jessevdk/go-flags@v1.6.1/unknown_test.goRn0ůH!5٩ Хv1 O a'9@/N] ;wM{0&ܱPB3&vjU) GL#B<a 걂WU 4,'.&vzck=f\SKgZITa&X7&&(NתJHS]k@"al**\7M9 _//={!D. 9 0d#֕.jC$O{FVS$qv16;CY_<UY _3 cen'=wuރ)!(YsiGhMYBw x#G]/B5$+PKgPKdUG<github.com/jessevdk/go-flags@v1.6.1/.github/workflows/go.ymlPK'+github.com/jessevdk/go-flags@v1.6.1/LICENSEPK~'-1github.com/jessevdk/go-flags@v1.6.1/README.mdPKW$*_ github.com/jessevdk/go-flags@v1.6.1/arg.goPK̅W˓/github.com/jessevdk/go-flags@v1.6.1/arg_test.goPK@h"C]2github.com/jessevdk/go-flags@v1.6.1/assert_test.goPKх9_github.com/jessevdk/go-flags@v1.6.1/check_crosscompile.shPK{m.vgithub.com/jessevdk/go-flags@v1.6.1/closest.goPK䩾Il ).?github.com/jessevdk/go-flags@v1.6.1/command.goPKP( |<3&github.com/jessevdk/go-flags@v1.6.1/command_test.goPK&HR1/github.com/jessevdk/go-flags@v1.6.1/completion.goPK/6Vr6n8github.com/jessevdk/go-flags@v1.6.1/completion_test.goPKg<.(@github.com/jessevdk/go-flags@v1.6.1/convert.goPKw 3WHgithub.com/jessevdk/go-flags@v1.6.1/convert_test.goPKQ " ,Lgithub.com/jessevdk/go-flags@v1.6.1/error.goPK1_ 3Pgithub.com/jessevdk/go-flags@v1.6.1/example_test.goPKlc_3%Vgithub.com/jessevdk/go-flags@v1.6.1/examples/add.goPK<Wgithub.com/jessevdk/go-flags@v1.6.1/examples/bash-completionPK#4Xgithub.com/jessevdk/go-flags@v1.6.1/examples/main.goPK2[github.com/jessevdk/go-flags@v1.6.1/examples/rm.goPKBGV/,z]github.com/jessevdk/go-flags@v1.6.1/flags.goPK NO**ngithub.com/jessevdk/go-flags@v1.6.1/go.modPK(O*ngithub.com/jessevdk/go-flags@v1.6.1/go.sumPKܮi# (,ogithub.com/jessevdk/go-flags@v1.6.1/group.goPKط;1|github.com/jessevdk/go-flags@v1.6.1/group_test.goPKۍ &+github.com/jessevdk/go-flags@v1.6.1/help.goPKMLW0github.com/jessevdk/go-flags@v1.6.1/help_test.goPKp4*github.com/jessevdk/go-flags@v1.6.1/ini.goPKDuu!Y/)github.com/jessevdk/go-flags@v1.6.1/ini_test.goPK޻@0hgithub.com/jessevdk/go-flags@v1.6.1/long_test.goPK^t*github.com/jessevdk/go-flags@v1.6.1/man.goPKK 3github.com/jessevdk/go-flags@v1.6.1/marshal_test.goPKd! /^github.com/jessevdk/go-flags@v1.6.1/multitag.goPK5 #1-github.com/jessevdk/go-flags@v1.6.1/option.goPKBT} 3github.com/jessevdk/go-flags@v1.6.1/options_test.goPKlR5github.com/jessevdk/go-flags@v1.6.1/optstyle_other.goPK 7github.com/jessevdk/go-flags@v1.6.1/optstyle_windows.goPK J-github.com/jessevdk/go-flags@v1.6.1/parser.goPK'eGN2github.com/jessevdk/go-flags@v1.6.1/parser_test.goPK(x 3Igithub.com/jessevdk/go-flags@v1.6.1/pointer_test.goPKEȤS1github.com/jessevdk/go-flags@v1.6.1/short_test.goPK.-/github.com/jessevdk/go-flags@v1.6.1/termsize.goPKeIr:github.com/jessevdk/go-flags@v1.6.1/termsize_nosysioctl.goPKLD7github.com/jessevdk/go-flags@v1.6.1/termsize_windows.goPKg3@ github.com/jessevdk/go-flags@v1.6.1/unknown_test.goPK--;"dependencies/pkg/mod/cache/download/github.com/jessevdk/go-flags/@v/list0000644000000000000000000000000715107355263025237 0ustar rootrootv1.6.1 dependencies/pkg/mod/cache/download/github.com/vbauerster/0000755000000000000000000000000015107355263022644 5ustar rootrootdependencies/pkg/mod/cache/download/github.com/vbauerster/mpb/0000755000000000000000000000000015107355263023422 5ustar rootrootdependencies/pkg/mod/cache/download/github.com/vbauerster/mpb/v6/0000755000000000000000000000000015107355263023755 5ustar rootrootdependencies/pkg/mod/cache/download/github.com/vbauerster/mpb/v6/@v/0000755000000000000000000000000015107355264024323 5ustar rootrootdependencies/pkg/mod/cache/download/github.com/vbauerster/mpb/v6/@v/v6.0.4.ziphash0000644000000000000000000000005715107355264026550 0ustar rootrooth1:h6J5zM/2wimP5Hj00unQuV8qbo5EPcj6wbkCqgj7KcY=dependencies/pkg/mod/cache/download/github.com/vbauerster/mpb/v6/@v/v6.0.4.zip0000644000000000000000000021376015107355264025713 0ustar rootrootPK.github.com/vbauerster/mpb/v6@v6.0.4/.gitignore,A 0Fwb=E( GLۗYְf!1%wcKo 2#)xae@8"1rȼ+_K?PK|p{PK/github.com/vbauerster/mpb/v6@v6.0.4/.travis.yml$˱0~ alD')|EI~2#3=LrӘ(C#7=iPev|(tK_su]iZs@R"e+E1 {pVJ'љAkaL\uRp\aIR|Lɔ Ly9S')+X&ɋi Ndqq)$c ΰߤ"&"0ΏrF?B cNǻ{z oy1AX`RSiG#TE)3&I`E!EʜA#sA@3[H~덮LflY=J\p9A^`9L6RBezX2)W8z՞~K˹؍CbycL(p6S q׸Y+?< ᛄ"2; c`rh!եrh*?O,,ws+ T:7Z[\ &J[2=Xk*_xBM13I΄32,2^<1L^N:e; *~IB 'KrL(4X 7NU<_#?eHWͯ8<|EU=`o(#&U {s*ku@Ŝa)h zA8rC>ZG`&Dvׅu+k13{~?_~O,PMՇ.l! tix BK7G0"Od|r oPo\z5Fp @t213; Iʅ7bݓ;i [jQ5 S bSg,shC]^%­hg®|"PV2tk=k[l06>P2 4Yg4ٲD+ ΙQ aKbSzF[%nΙauE|(lyq,jnVK+/l)i).R艅R GˑxALpX F{B*G=ݰ/zB"GPHeM~]mC:.3UͶtW2,a7R }~GT(~ z-)՚Q7d+}ZkEmYi~zfϯ~#?~}A_QB5Ut{ _ݾcL·Jg >]9lӑ=}kz{]yC?V*PKLZ%PK-github.com/vbauerster/mpb/v6@v6.0.4/UNLICENSElTO6S甹WU%jc1$mb;Sf{u .'"Hᒿi6Qs@<}[Wq ީr@[1rZaNT h*zrt9r]|;Bz%!Mh|oUyEo8HsP@>>n%Vl֧c9Ի.͈ԅ7%]to׌vW)p=k3-l; ?p9)R*q:N؃/gtqn}?{э3aL4wbZłd8F)f]ab].c8Q]~cqs\֭\ha=կ;Fo`W| dIڝ>Z1\W-zoRm*&~?4rTj]7RhE-Ҋ F|PI@o^+˟e-kpnǁ+ǚ6PZI5RPvŤ_hv)~;m< Ԓ?Ϊ^W=)F v'20rډJ*pR5|m+Xmlɾ@OF6%}Ҝ.SRZŧY>e#x-KS?ۆ1IJS,RiA Ų\s~~z:V!= PKΘPK8github.com/vbauerster/mpb/v6@v6.0.4/_examples/.gitignoreJ+.PKO PKFgithub.com/vbauerster/mpb/v6@v6.0.4/_svg/godEMrCZmJkHYH1X9dN4Nm0U7.svgn+_E N>lS\<ӱn ((PBƶ Iއm}Sd[!<,=Z3'Ń.;ٲWܬVO'N.v gry22km|V7(E_߬zpJ*rJt{-:/ 'W n㼺C;@Y8[k ՗I/W\vfo]-|1=d*LPs1 Y蘅,LBGUKK`MXԄZ!pOل|q.rO'/ӐcӉZt"J".еQ 9@€ JiĠD9uJvNP"㼠NDb@s:P M#4`O Kh\Icb=Jc9Cr$"2ܡ)MCRs&#8 CqwԣsBy8tO^'oL ׿+Gֿ8.បհwOֿZܓ`tOn6_Uxs!@\gWQpLǓ/|6|Odݏr(_Š`|޿Sge/dt>/oò_ʫebYzUytbؽn.p>~ܕ\t`z;)їٟ[ݭuz=kTRWYsUwOm 0_qUSeUAP*\W B7)s[K(b0,$ͧwvqѯ.;w/h+$*WP6`r\{\~8U1>Ёd\M5I4Pח"v.fcpu! j7FxVt @(nkN)/+aT/Sů'0orrNV&{\nP受=AEoO/l?ӭQfӺ[=ݹ˖?<~:^n:ϮƳ|b2Lٓ?n6o\}9}_UbR?/e^;YWzeQ5YꚨW=b/7bT|ݍ*[rroIuL A aD 5 ?Q}"?m̓ ז!Mwˉ:Y%7-dl_iB .25|M]u;cqs[NUmo~|&< z<{oP`&y~{ewd5q|MtWv|e\mTs[M(n|S[~ɳ;iF:Ujp$` K4KW'G -J}qSX;) 8w^0Evw^0T}HLcii>a@:v:p8`#Y9Lc9U=ݵ%p$`K^06/XK(yAVU;/}sH8w^0e9 f6XtP;1X!4;3`9wj0#syZ&G f;6x/HL,v 5{(XzhAmr `60q 960tX lv L59@qgtOj"r$_xDMÝ#b9>y{!Nf%rNKY,/#q XlO~F'b gh܉lVJP!*" v}>{|ۣ|FQ >w PPK_(1"?M kCJê>ԚA@e~(Oq>%B厗6^wjÕeD PK_OPKFgithub.com/vbauerster/mpb/v6@v6.0.4/_svg/hIpTa3A5rQz65ssiVuRJu87X6.svgnc9_Pc4#HIwX~Y`P hS}IΪyyyyD9mT0 sqx/g{_.gWQ7g޿l|PC1/; 4pF+}Ù?'wwѲOhރ v9?vz{|5ۻ_=;:XW {?}Y4R :R kR v"Rh /!&UF6x=Q:[ūژZ\U. `jSs0jSO4QF]8FҪ-aը:?$FqQ(~$\긩|]X5r!0Qy P긭 `JwJA1ªb#QC>u*Q<_(o_W\q,\5*C`1~Z5rŏVXSǣ*E\'g}\u"ê/ɁN.$!?:g]5*vY #FD(iITp!) .˨X+?:~ I)]d ]I)_\0 DF! I:?;IW(: "zC!dk$*xdclbTTOI6P}M)w<$4BI6 bNi@"j@0 $4TlRMKiG(1|q>1*$ BLibNi!q"&4NDTӐbǣMiAtI5M-DJi$+WdxClPNiB ѫFe @$&*Sk ]N+$$@VWX|JB|ZFI?-P$+8,̝^*`ZTq2V6(xNJ"je>T:Zt:YP'!NUAR/IIm-;$-ڤjDKbj@ %5^5$WVSƤ6(TtTT,l I5" &MF1ITV{c:]!¸N׈0dA㓮:P2!)*:auV5",$qubŤ(,5I^!amWWM%u$a))& :WC†$lLI$AYG5$I*RWgʺjp.ꢣאp>  Ie]PT]L*YtY)AY+`¤TMdʒV<dʒV.,A $VJ>,A If U cRYB<{TICRY25"<&%S#›$dT,Ifֈ., ʒS2>,9e˃CRYrʗq1,@dFD$Dr$+DT|`ʒK*K(,UsDIf)Ԉ!,Ee*R-GDTz]#"bRYkDDTփ2&]RY5""%Ŏ>G*zT1ƘTez!lz[MmeKMIcS8 }X_KCXO PǤTA'BfH}L}4 6i#4և@Ic+pZ~@I`}- BLtmuRؠk< $ 6I $j'':{tWuC<'Oޟ\߿p,ooOn~7w7w?<.oW{2=77??:巫7w?xus}sd>;zq~zwn3ms'?ٿ=??A\~~է7yfXzi~99@YuO{uWf{Ύn) yӳ ѻ)m__\Ǿ ]%?O珿x89( T}_/{<;z0W #tɋv8[ޢٻ)-jL|iLgGV+z|/t?HPqP/6Z }糣n. _E}@묽WoYۨWfo?_W"Am#K+Zde K|:_ߧ\yL/ez_t)'̅믲&O7NWwΎ/_w?8ۋyק'MWO ?~_,m_GNt|ov~z8rfO2}.Gb[;g,/nB P%/bL:g?CV-=a[fLJu`4a4\]zHF -7Hbԥ%xͧaiD-]zHiWO ^ 5 =]gR 5>gsI@q' rˣ.>?m3Y4 )yvJFpW309su78:n ^i(|8:mLyC^]-͑zwʛѹSTT03RNE3{ڼSh=vv4v4} \C y**%?jYZ0kB0k_-fnyAz6 i)Ǝq$HNd-;"-p$͑|4Ta҅9uLzM-JT@nx!+Z d͝XνaӞKcbNCy2qi37tO}v,84Vhz3 MD۝@~84vhl6C38Ѿ9UZe=Y ߪDM=| 9ZY&) ύOFA(plw[ť=|ǥF\Ml[\r-Fqi06HQ01HA &vBN&hc&2| # >0BiH1ɘ9 L8p 7ӒhcUV`H0m&*˕1m~2df̠\^_ L͏S7cWdo͏٘̑`|ч LR`/Zaݎ=EoH(0kh~:6?;k1L۰I*ۄ7hC*̍ fUө-ǫ\`6tVQm30Mm~ [Ӵ\ܞ ͏s#2ǂٰN 2͏s`6̘NE096.LOPTs2ǂЕ Q SE0fL4Ӷ7h&$0:ʏ-܋2E9p[f`⦏qjg `6cә<|`N 0.7ӎvX}2ǂpIR+%nsb-pۛf(hs9Î<1yl̨ӽΏ?Aedf̱h%s iY=Rl aA:[&3NZ%sE|d Ɍ92<̷u]ml9d \d *0Ad2ǟe2*D's-Fq /mXa22#Sd|ќL1de2'F)ntO2St@lZg\mF&?sdbȌV'ɏ?udNCs4<1IaI[&sk@L&pU㜷LfD's-F?LJ2"o's-p@)8 o9}+dNқ*QEyǷ24(4GlG&s ]&3뭕DΒI\d:+zdd; 3uQh&i=jt4ModV'}p&vd; ;UodA;N՛@s4*AOِL NrOL$zdgmC4wt(^|CfdZd#h4j4G?Lϴs8D]2*{MjԎ̖ς8v@'w2BA.5^lh7LUt4GS،LMjdܐL M>dgS MjԌ̖U#J{A WvLb]hUע)LFt4ݪQ323\9GhU$l\5jEfK5L1FOxkEaumy+4nَDZӽh7Z;he ?i{v7L]ДfgL5MN˶Aa-f`km´z45\Ӄlgkm´G&מ#d۠0cSt6hţ6hkz帲&HA}nin@mċGMlp 0()hr5l'^| {1C6(Nxv |7ʶAq;vM`to۠5w M F x]s$6AF x]-Wjj#->Ή2дlhmPOkh泅MD+|]-*b\!i14IEGZ+|]gtg۠5w MUDm/9lH9kwm;&#m5̾hr݇ɶAhv 20mN ^dG3ˆf7ElɏfKA)o&lJ2lixd IA/RЁKmPkR5[t$&;-]s"6h143mlB5lɏfv%hzlɏf֜ \j/aknSSk.D6[hrY mPk < KlFe:p mPGsd{*uA 2ɏf;Nprd ӷ\%wldzɝvΉfmuC3SMьQ 2"lWI*rm|/?FͱhB3l{1vȆ&:6cpUrd KheMKmu`B b˚۠ 4"6cMAhzƬI uAC*t|]@!z6(`BCsm:Ocd;>5mB_ z;rljГ4 [4A }5i 9ͬlj&mk6߀$䣙MtA AO͖|HA 6eɴ:tWM:A Aς͖sM56<ģUr6^r h6kgl6:hdt7yG3Mt(Kk) o&tox h7n[C(`@ݽAs̀mP/?heh۠^rtlF\d4B8l!6 둱9J: loG31v1m]!7EZ6z}=ގfmDk+1:+ZlĈfdzz"Y6cMYh mQoF33ќhramMqYv7`pܣm;,IJs݀am;,ތf04pmvrtzoDSJ1N 2} =h %65xh4rgtGm7` l)ad wd4ٲ'6ՠxƦ(4bhɶA5mhJL*٠e C64dDj/>l~h.z$M׷w ƛl9NA&z6MYh˶A5-hJ65ᐊɆiS4]m5 Ȧ(45KA >,lwFa}m,H4 \ 66R|cSĵPicm|kB&lgT:e *D. ʶA!McF6(01n | 8e۠ЋGX) M6tZ xTheMҲmPţJ$6Ei r^˶Ar@4A˶A<Œh{zGPse7E3j6C! M" ~ !KTI90߯uAxdcGvھ@r*ߡnQՠbLo Fi=+^gF͹HMA.ۏ?d0[^wjˣ_Q`km4Ů<PKEt PKFgithub.com/vbauerster/mpb/v6@v6.0.4/_svg/wHzf1M7sd7B3zVa2scBMnjqRf.svgn$9_ExviCoK07/R$ I=ݳN~"RUfyCˣo7w'~ʾ*vpy,9Ǐ\bn9TQ;;z}tu2\d&bN?<ϟ*GNf|v_7g']_zKH8OO?~z8?劉Oi?]0Np۲JHU*FLUbxUб*^ELJ˷5Lx7Xǥ"-K>IH|ᅿu:Z._90~e8I l_I'+JIy_)u)t|'ͼIVzi$aXҶ7:e&iJiL|ox'U;9#(]% &x`2ip-*3VwJVRvR0lJKxw8U2;Y_\1trNw7.f2]5 Sߦ]8J2||wviK{&Am]% ;`J.}/8SIyW)9FF)t⺫w|J2~';H6MqmJ#1>Miw o08#Ad׊8ecZ, I[)VG)xLZ&źHCZ/96DdjGdjZ s2"SKTDV'L^3Z#ld̦Ԇd8 I-Gfjt)^/#3*S{`^G`Dy;LÙLE`tQ4B$Gbt'ADdHoF14%-tD̦od"5All1i,b#5e>=ƥ;HM[.)=3N?W& \GplRT73mDHWpiO+G+DzZ(={d&uno;=[?a/~W0г>N/1.`×uV~pv>]]`۳;.C?ټOz?=]-Z짏ᜟ]~ {į 'މ͎okxi-hʲݭ-'ɝ7͎]ΞNf_..eĥlr5;g?s16ܿ8t5;dYލ+ DOTL_3fiV60`}aqhiDhTWSAsΆ 5tXkhI0?`|(]dGĤK&~]]?Wܝ߮O_Η7~|~u~wY꓁P6/eBO#g [{iŵˬerlIhA m-["5S VOܿR(IOGZW~%'5J|*؞~ p/M j_An#J, dI^^I@ǎ4=|U fK& F"BIV w,NSin-Π#k ETIp:u]Ǹtgג,Ү̦FWNcɜUdK9EI^b/YRA_JrMw+[{?; M󭿓0~'aprU3m \rqbhU0e`R*Ƶ| *us20nؗ?Δa<%&c: F|6pki뜂t<  &: <d: \0ژ@e!PYxQP~4گ.Bk2*e~zK}I+z2 *?/!g2n0@ry\i==U >, +9[h+kyPWJu[lWC v\sABvoV2hܮ8ncDB-[ɳ{[Lвpv xkn7oag0b[q;FΣnq.0Iq4IkSJ-ag>υ\LG.6+o4䂟^rѹ wzt*|HCfk+\t5#W5q4䢳#Wf% wf/ pXr5/4ie6ri S=Xx䢳\\Rr*;E[(W% Cr$\o*s Cn1S.\\w܍w̅#˜Kr$X+Q^17F0Wq:w6R֔a.Rr`.D梣[JAHcz3¶ Nb JZBb.S*w#" ~cqE8$Iq:x_}"ߛ-AsW 0!w8sGyARqY]qHҖ-X]q\kr]\qW<7rO^\sĵr0aQ 9 ! ^&)nO\sUwY:W҈@?qq; *pap],C\P qGH\lT:q=%I­4¸ثBSݏw-{mYc/ܚ?'4-2rG9fr@\l!7Ԕr][snn-r]lM{V B'Yh e7uP,+xE5AҹX¡K"5 Uqq5-)^6p$n'gLJmr/,6AmNGVJHAw7;6;Xqa(f@z&Bw.o9B5 }AY*֝C?ayUP2IT8NRMf=oi<5KKMrgGEdQPDAɺl֙iH|]hHRr|˴Xܢp-*| /~fJHv mQn~Ţblh6+< LЮ=y`#8GkaeZF ]5k<{tHDU"|wqC_&T .L EWɩdUħutѬ5r :PKPkA%G`TcEx.^~ y(E|jJh^32۝.uN5 :h#~ZO͐-/=H\S;XZT߼r=_ZW`-`fj9&8 LK˞᠖1rFUv хDra[V\"T8}V1ru@QD#WBSh !Wi;\]-4rI`Ͻ%(.ۓ~P৖\ .5H\'Ʌ&WEW \uo7IfH 6*#*q L4r!X>*-"\%%#F2-R:BQB$K.[FG"׹FE\ ޓ MɕgB#zjԾ\ \Q\\B*8,q2"Jftq%ɤυH.l@K.[FG234\N,788r/DrbV<դυF.:=\V x+3CcL(ϦF ?UY=rX+4rg w"-C#W#bF.wY>Ȋ#\XkUB$&ir6|et ?~LǮkIT_,pwY3 w\f7Q}h+R^υȲU[Sw#{f0.Tߺ6ɵB`_]kq/ߣCD.# nH5$xeuq4}'W9_"&NB\}{l$Uq䮠$&%WF !r0+Ü/ \d'[)JyGRw#FϏuNJ.[wv2@FZgZ2W)u nK.%[A,<[H$j>ֳ+#;;yrrm-C@.P5Avղeht*xHC.Wl!I"Nk\vS!}drM8nkdUr U)<1I">{+k\HqOCg\qseUUi'#H22=ޓrK$WgvN)jJ=?H4r|Z*Ҟ$\[#W¾4r3\S)Ȋ24e\&`nY"D ]5+.L{7t5la"., ]H4B WхkCkх;8tM8`;SiB:{.d[kXnM%]u>^׺BW5~duKUiUeP Z53 ]p*tKAW5.gtKUZ$U)PRTėх7t73]uONJZ O|IqEL|W5Era0-CW%+^|p+1qw}!/Lܴ,N~U_Ȉ"V|&)˗_ҦO(%U#@6ߵ-(|u V{a<#J~1fV P~m9X]r;)^ڶokh] a/oݽW$!+kQ~'HʶE^~X܂V|/L~_(Dh5yvm[z巆fkchm AH* M~WIq,h!'zc['Bw)`|uN=|؆bm(Sd>Xזzl[~OVI_L@~f EQ~|p-[EZHP~8*_~=Y'Q~2_Si=&[Ҷ'n" YaA. dE3M G I6uJeKD6rRr d5i2v fѩr#MpB r`|[\Y&.P!P YƂ6:BIBT!r`C[ꃹYȦm_4G7/AD`B[QmvP! FVQ"IT=_4*$tQ!'Ƞ>^!kJ#ZQ;BAFt)²MB+*I!^!+l ($Q$ 034dC C[$~˭tJd$DmKk%r|H%ok5DV,Hdu$ 4'6مD*kzKde$e5mJdF%r?sZDN4.m"HÑ\$Jd̴~p Q"'\I$Bh4zct'D@"_x($E ny[%i$e5ҭKdJ$J̲DN)mJh &c%rF%rϷg[?w/E E[%/6MHDID?o"+Id$/2\Kd5M"H\$i~>IdnDN#h5lUHPId;!F%r"H"8d)D[%ʹ $7 H%rϓ~J"{%rH!e[%S,3M"ġ2"t@"<$sQ"HJ^"R˲DVqq 9Y>jJHB%S$-rMcҹȁLȪ7 nQ"s,}A)~mQDnI"σG5]W> 7[ l5@VxEW^7c@bdR xvQU;w8b0v^6mW%-ܫ6m޷ZaC7E;ފv9yPmkWvޕdq>?pR.9|hYˌPn-\h#7&9i$_zӤ 6Xgbb@,~k?:IF^3)nRȲL4?L˝6LTiXcdM;Kb?L-PKd3SMΦN;^ϑc1B #vVܺK# .idsRϭ~:KxVޏWFW'\>vvyHs0|/"l&M4D''Mzy!JDHf3iRtW+(%>vv:?BiȪőA3*D.5ḃ))%?:'i[2jr^T4`;4 wuo Z3J/x1(9aB lkjTn]|k n*X,GLVͪ-tHwxJ#Yt7y& 6[i2 mJipMwal@8mEvr I,`!=Flɬ{3E.`h`t{0{ /1C!3Z`'{aڸ"Mdf\C)4^}s򲀣Ggdi1t҈}{p` w@ΡdͼmgmQyS̩dބdE$3iwv!nZQb0'c#.Fp--Gy; F,RUDæT25 ?AA_LY3'D%("7\Mg"(*H 4A5Jƅ C _sYcd᪢rBYX ^ܝŠlV_2JULf 1 k+d/8~'Pp+(]0:议)5e'xPRӈ垅NIRO#o(*T%,TE}ء;moFc㍬Pi;ꬂ\0:N6= }9cß;^[Bfe,.D&byRGgpkYS^$tJz/q$, &t"29KgflmDNU>G{7}ݟp+oCN5,A:3@2Iy;N k#L=7 7E]Ɂڡ4tLAXZVeR'E=IS=㇥ 6A{,kxI>>~sw;!:iMkd5{ i]G1:Nm%WN+ y]BOl;VTq~p)B ߌM:Bhr{ˆ6oa,ksVs Ŀ{> ߷|; p ,V~߂M/cABQgRZnbճ]탌#ZV~̈e&z&88Ltx bQ!,D\eB [Y-(r*dKn~vSv5B~U[h̻d$^̃+Q˖)s6V*;ZA-m&F{D3l0p %:q65nsUm:.Jm>FgOf1I~lj&;yZ8"we>D~^>AWU]O.Bw,TIMSgK&,Et n7ߏ}CؓH<d7EwΗ''{poMDt^d.~Sy>9]<u-1N\衉lxF-n9qsi n] jfĝ86` _0 v""VA;+P JqG?[Od2I{ՌB:eop~u`%GxK!ᣁu(;\Ư(O.J}_~1"Yf{ʆVP>=xGx_H}-Q"GW8c6wl&_n0B 5_0fi> S((LV4I>AIn614q*mƩ.IdZ8y5pvYŹq2 y^1hQ9dY>yYR-A4( nLbÝƇp2> M7|lڇ z3hNI#N,լze '!,4iCy:^zUۣՖ~E/c2Yw8ˑaw~C$ 9tlnl7d2CԷM] `'!TykPK,n/PK1github.com/vbauerster/mpb/v6@v6.0.4/bar_filler.go?@ O! ݥH?IB"n7$SOWP?x1հba"n%^`w,#$a m ;N/#3q*F@!ϛzj 3r;_栵lřIANĮQFK; [ e. Y6qS+̲٧IuGM6oP7'PKg(PK5github.com/vbauerster/mpb/v6@v6.0.4/bar_filler_bar.goWnF>D iKe N"@\$.>MOR,O\2sJ&rb!Ժ*_xƢ oJ )F?-]qh--e9u[hAMՅ2GIJFm,h]ybRor¢.d>IYvZJ7*υT%<}Y/re?n3 "8dK{#( ?fEZKPrID e/)jLP1SE"'O7OXYw\E* [>;9_}˪j]3e4vq/3y?23ggH{S!OFM,ubVxY4%QEٹϟѹe., H|Up;+k|r3s=Iʺl IuAEؿS*5VZU]dTI* :R1!fMY+M.\aU 1Bm0+xJS? ÀTKhWe Bn'0  %)f(ǐ8uK C^%POvWq -TpA%\W ۉu ?j3|Kstr+fLǐc+  ^@k)49VRj F#x?ޯErd8` u0M? ]*dBmUP?RņQL9F'o`ξ IpòyK); nW-4.K'c0#sZќmBC=KMG?pp$euzS:$&7 l[ RAqެ8 ;l6: 0P,VOoL7^K(ƪpun׻ T:[mNSj#U.e X!E-~s^ p`^HEoߦh sę;[t{0y3Q'4 w]/q}s6&~J] 7YFMnP0VN yӣr߽q| ̳q#9@eG |V!nvﭨk+E?ukE' DV,+J-[{Ycƍ&p]; eqe iu6c*l5D初)_`u?e 5ȯV܅WEXX-Ѫ;VgwOI&[>spcXw>sPkiO=_N a ӒR#T> 'r:SG9pM]+B Z0N;Wdb-(80~kp2@v !n7E]>@9?ms)V[a+Bt- 懶'1ÞuUyKջ-15Hr"WCmj0MxL/xUXx: {iQąOjMYvw I郹5Rn t)1g{q)rcԣuu0(cHkDA-IF@xq:#E.WT^TNfq2Wo.!PK] nPK/github.com/vbauerster/mpb/v6@v6.0.4/bar_test.goXn۸jENP' I\-HJ,{$ -;vvbwpfof(<;V)#A8F0! ¢B'ԎP  j!n\lDfVS(*aqHHN^6$SՄ7 ީգ ;9dJ$"hdF߀1ׇK@{ ɛ@[W3g"K8bډ` N&Gd\QDTKqJ N|5=`nI\qM3HB" `u0$%@F)G(Ka S2H`JeJ- 'E{`zk3.X8UaS BNerp̨Ҕ#7}>^rq*jMnk. _޵'Tlm~nH0cZKfg]ԭw"PXdZk9/A;s,O]`-GPS.!"(KoXnJhfvvA"cғz)*LNk-$,<cm!MN"QL]ۣhp?{E-=) !M"["ENti=TMz:VX|%Z{Ov0k7QDG8FKQ?%ȑz/rP 󹅆Qp [i!bJ;p*;P/k!(M0P"v[Uk,h+0TT͙ \@̐<*-a Ơ+]qWOӧ+ϰ:na 5|ַjs3FG_e6vwSt^.KKFQjv J)]xݢN [ѩv7ml_s)1JXTmr `L.eW,jkK3u`06BUVӿqkA+)rEf":QʿFkHL-=o79ȯЀ^`Fz҂Ɖg޲ "'ofJ `V8E3^S^ hF;8ۣ):|l6d_,wu\ޝع)$WL+_Ony~4Ps;b[]e\5k-#sfzf;ÐoPK!n[PK4github.com/vbauerster/mpb/v6@v6.0.4/barbench_test.goRMk1=KBݓŔ=SeSdwlr(E^J (޼yM2ݓAd9Gb&!90g±"C_qΪi!OϫAssB7xnC1#MV=nk%~pćOCfJ3_d`;t4K8&Zҍse+ZV|Y`Gau{-ꪨ.C 8vj#}>@.M1WUihҏx[:t!'U3TuLyfm.3eI;>o<|[<~PKVۊMPK7github.com/vbauerster/mpb/v6@v6.0.4/container_option.goVM6=[bVn{>4Y! [ ׌đ,Má]#^ %ْMņD{o>G캪( ,,76ߵ IӇxMQ,nVTuح&(]W?bXz o<M5@'`*jqoChBVz)ψ ;`jcL1BNu 5zh3(˕"!I^~  R;|| ђi AZٗ Y0yC\9I32ʺ/łI&FmԕE,a 8lSti!s/?AteM]NkF-[bX?t ;QQž1:§kLoiWijQ^hw?{ 6=;aR<5̏?&&G˻Ĩ%̜; X90k_z 㱜P׉!uSMvOGsD,nk<\&smJ9<8^O9(s<`̵) 8F+EBrc)PȫH FC L o=m~86q39*Furbb?{8{CĄ=m, ^FE[FruE35* U']rbn3lp|ifbM NF /Ѝ><ҹ];%u(@ j9XW!tQTA?iVl`CJCy'v(=ܬYmΛiԊ|*PKM\cnl PKOgithub.com/vbauerster/mpb/v6@v6.0.4/cwriter/cuuAndEd_construction_bench_test.gon0S"/V=rǁĎ)B{ei~S&|lF,J ӣOlz xҀj8p0?0x!Dxgr jPzNѧ!t,=Fd+upI9ݦF%AD)ZeZBf}QRHrep}'2\! a4oa}#Wj,R4fNװJZ@tCa =h1^PK:jGP PK2github.com/vbauerster/mpb/v6@v6.0.4/cwriter/doc.goWHLNLOUH./,I-R,VHTH+IU%&%&d))d*楤Tf+qPK砫OZPK7github.com/vbauerster/mpb/v6@v6.0.4/cwriter/util_bsd.go10 ]Y?'C)t*\#HFrHr /7sŢ#=PF2{h1}c!Lq'൩u(eT+~z؄ xGbVV~^1PKG~PK9github.com/vbauerster/mpb/v6@v6.0.4/cwriter/util_linux.go 0 {"*,OIĻbWʏ]3Ο_ec:&ѡ9q:zr"y%[њW,Sگɨ Q:b/Ϥ[H_5PK~hkPK;github.com/vbauerster/mpb/v6@v6.0.4/cwriter/util_solaris.goɱ @ =_ 8qKIR/^޻a.qpoX.@CĽ'Mu\d;B7VvG4W+ZcIoTۯ CG<WDbPn!ch4BTmW{߱* )2 a=v@;9i8v0$yU!{h%h2[~aL;p>À0b9?-\$S/TSb`,s$9MunO)#Eo9nS ^ǁ}-+K:vVGi .ғLv|낺6?QTդz.${uɺN>6kQ=*4G3m~x0\99:[c$ikF\ 聵Џ G8Ng):.R|@jWc1H|,i!)Q#~թkQt\r꒬9U#qDT^+GYr`)M)G|LsbzbX~G]{ IFMmBq5 w'Ѵt;v?E9Y/aA'=~Ѫa1ݵr j9(NJw]|Uo]x`v4aP!X %z `]Ÿ}/5va=wlۭPK ⫳P4PK=github.com/vbauerster/mpb/v6@v6.0.4/cwriter/writer_windows.goUao6, 4RHqe@X+m 駂N!4 )>u}* @0x;:dђ*#]rgXAEgȡ+6ŭX(YI]glCn76b hT^lJ~lWWIDc7tes &%>  .B!DmNMkD{d}tA °R Y<"4Hu~* O!tdIp>fj̞M3LO֝ Y9έm@18\_ƹ󚳚Vh5f/$7XټAYܠBita.i65#~Y'-Zא 0;(dkGmO2\tK5rP,\i<ʿB[Ot5;ϰJ'Rv0k5hŶ"ic e9qGYn Dd~ȺgA¿PKg4.7PK0github.com/vbauerster/mpb/v6@v6.0.4/decor/any.goLMn0z/s]W]d0È0 Bܽ2J䙑8zpb2`'B y’AnAO@(p@';pKb\g&^sWv{ !kt䰪@8MG{#:@C%XP;)Mu` 7"}RM$(:͍Zn!<2{@)5-5fwƞJ4>2EV.yl 5PK)}PK5github.com/vbauerster/mpb/v6@v6.0.4/decor/counters.gokFǟTp UM~SѾJi6Un[kWVߏH$۱c#X;~=!bE)a^a$Ub, Q'g=[JS5WTV  ˒JRogGOT%vNzbcɘz2qnِku.FU_Z)Ko#?]f瑩21s`(y4]6m$ZΎcV\7>RS֧_MLuCk8d,!,>n eA2Yt _-Tb_0<\;fW:^E {9xc `v2 ?c%<\8\Lq0=@hD]aӥ[u 9w/V!@ȝ^DH?Qhqh <H/p&  tF~09Ρ߽W8,Ԩa:Z_PK(DPK6github.com/vbauerster/mpb/v6@v6.0.4/decor/decorator.goX[oܺ~~@d-@ۇ샫\N.>\jbMIYC]&5o3ߌ2v%rmT46irQ5"M.h"Mpu͸ngF{+hPaΩ4^Hiʵ|%*w+vp`[h ZA) ryJkx{B:vlܡ^|߃Ў~wmZCcei4-XT 6{ Q \BJ"݁%8EWއv5^Xe+Iq=#kP$AZv`F+3(яC8M'h%–;F4p|- AM${:{d1??GH"c'9D$Z܉7n/PuM}ѡPHAfs|׏>3Z~sDziNp t΂5zgZ0(GE| `NҰ=(r)rj鸃i( I2c@M3;:ŊXW7DB@k>h'Фb3:Qg{SFM(kC \-!$@uL #2i{J(~D0L.-GP<ٻ2RA{|DNHw)TJ^;^w+ T0{Z!lDyZfdqF@fг=9iʙTKh0rpS5 sUzS~1YAeE~LkU]5LDkKvI5KG%CAޝ209y=uoQ^K?z 8]p.ڢ&)r:-D&? M$+߂![Ay3:.Pi*maX۾Hӗjw&zr@B67V"7!vef36 ADŽOKIFW!)0|X? ;Gek2˨>l;YjDjKpu2@$AkLxə&ゲ۠;Dw8Hׅfئ\{UXTM1%[%hV+ZZc:%0S; ]!|zd e%eS/a}K D 8-"A:v&S3G[D7'4n'oCT}6+>Lkh*PS%gWy"`5hQPz| >v9+I6 InP $4čpMID4yVYvm8K^}E Ecw1Evf&[m2M'/4\ze4{R]ϳ"MDE^E?aJ8JN92/N!2m߾M9Mge_$M _:)YtQ^/Yv1%r㋢ѧL?EjK!N'!Waϥ(sskʥآaZbՏh MPBW'hrwK-H@}6g eJk6M1CU?Ź-0g.JW/0נ)k|Q5.۴F(W-.|j(/VƼGgRN|nG< 9^ ˜w&U:4yӣI f"_@FC~smvG b5I:]PKlafSPK0github.com/vbauerster/mpb/v6@v6.0.4/decor/doc.goj1k)~q)Rq&+ۇCX.MV'a7/tf(*K \%%d?EѝMm콤aVcRK$ܻ]oqek9`XQ~?y2L0~ڔQ{|5 y ZezɾrrD3׊4ԉaҶ$lpHeIs5ʞkZ$2zW&cd~ ߆9KO1ZBK6l6iPJ%"{꽏YorE "֣w#\D5ĹP3BIf\xkL%&0QZ㨸?.EwhPU`%3pP$|IM&da|2Sۛ1q́kCi b ƩT`V\ׯ6>A$bInV"kG)#:W Vd(keDPůODoJ?%^sSfVSEcJZdks08ļ|1MA*X5QP!lڙNI_MKD&K UKC,V:'1p<0,Qѵb gd)r]p8H 1n^ o2\@ 2'|m\?ٟU7w,ԬhE]Y뤛|875I='7 Y qEW 3G!{|Bf/F5;Scv".gGP゛˙_dTӊuQ#<ɔyږ]剖k@S%nx#_μjRvaoU*(,ba8p (a0цGTŕ&sA}C$9M p4m3p! I` :J1a8@|Q@F4[ O[2a3*%̹^4,P) Yzԙa)f_pOsz.O[3}&bVamyxA.AQ&XҦ`z.3\F,c mj/q>Ea{s!7}i, 7+5S)QІ(=Qmcen6J• }w(IsKȄM lJl}*Fu7eU\Ḑab$VڻNm2ȒhXA3{CwF/Őӿrmc6E]Kְ-} .>VBsW>C~ZtYe '2bV@rmN^vCAP04%HW bwq>97oR#O%0U:$+gN L0ł n\W*9HMdZjﲐ0B 6P[^V\X6=R;@i'SF3P=k)y%K_Ik2iTՁ xQrE D,M>]+o_>^f~0Kn+#IZ4AmCs!3省 ݆ B_s0ZRƷZPv#B.531XaJwzHbt{CaWAsXB"24A?Jzwq;A#Ñ[Իˑ 1j[S9/7p[i593(8;uk8K-ߵr}-a'GBs)a*+TCi-Fb6dzEqAmYwѸgq^H Xnw=K32W$ޔT|6̆\O|6&ae6Npz^K@E5N9<7-w$}ӿ=ſˢ_ nwrJT dE90-|IY8`=u sR '@ ĉE_[ s}MxKCJ2_IF7hʚF 00, 8nQދ~IJP,;`p=AJ F$i97'۝R:حB!#0+M8jB@E:m <]1}U ;y1CM6Wܛ2Y}+{ߺ PKD PK8github.com/vbauerster/mpb/v6@v6.0.4/decor/on_complete.go0DkWlH\ *H" r%g:`%ETΛaP]m7™a4Ɓo*tST1Da {NL<&r8M9G4$ m m+zoFeuf ngD΢n.bUL68E;U/ D;*!} qa;tAE!GBl`~ _ |l \g?DyGS!A^~)"+*/OꥦORrECq&=?)mI>:~q_鸯RlYb[oozxg\_PK[PK7github.com/vbauerster/mpb/v6@v6.0.4/decor/percentage.golSj0=K_1% t)e)гH- il)Ev!yf&*vFDbHf;d0oƤ?0J ;|R9lUoRF.nêqMeTP@4Ijo^_{Jm5|Rgۡ|FI[H7>)91 #%POJ]>s$?U}ub (.YOJ3#% L ^/J 594Ϙ5|Pev~rgQCezսEĖF[Tø0Qތ-_6 <} `$V$9[:5H)_dJcy6g رZK)fm>cGK4E&#a {\[ʻ``\cCG&̸iT 06< ްw[l3#q$?dBR^tK@֐CXNP2o8G{껾:TO+PK9ZPK6github.com/vbauerster/mpb/v6@v6.0.4/decor/size_type.goܓMoF_1:d4\|!K#Z1L/K, `7r.ffP`ZZ`TS79Ep>t{y`Tp0:$R{"wG˛ r󧓟/jKXN.nxŜM.o*8Ev*+]7nN}国~o_6CC60,A-ӲXҁe$32Wޞɟ< >@xjwUk8,e@/I0.DZY YIRl1\iHJܓ(R nNj-`LzG덧NkLZ:в m5ғ֣VZN@+ CbXOL!vikSCӞ UON?PKʯ}PK;github.com/vbauerster/mpb/v6@v6.0.4/decor/size_type_test.go̕KoLx?K= _lX M][U/j03TU#{5̈́MTV31<83HXvq8+3rslaeEwm2(l빘,ڧ(Ûm%1(<>!>}*7ʪsSWz _Ȫ?4Z۲ߧ,aYگ\ѩwojyXs;Kp<m6fsYr`K܂j.AQcUaANZ`MW˂ hBW#WèƠqkC Bq5\.]Enyi7jLޔv&QMj1 0P;ͮ/xyO3,nAwWte@t{po#n+󾛏< uqߔԾJjOG)0}جHC`|T} ٟ^'NhA`JJ]"R뒑1%mHWu]ź:c[ uWzuW*zXA%} 8p|.gCOEe폌[Cϧ(Y>c ?|Kx.d-#Tco>"n XzqCb3{w?Z:˱~P^l˺yhwQ@w#_f<68f|U?f^X5L %.wܚ,AYRR 1Ph,x:OX1e7BTMNPN0(¦ z92xM9tI8ljEYdl V4xqj Hh2B5R*@~4M9>PKsn)PK=github.com/vbauerster/mpb/v6@v6.0.4/decor/sizeb1000_string.go|Qo08KmM<,VUUWi[U!kF’U,bM{ _]N(ȒWL9V{ȚyLx_Qh"<.g\?߮oS!*v^SVsvB^D0ዅ4U[Cy06veeA;֬ bYYF ب7O7u+KesPNE*} )vOj<?wIW_p I| DBdCיU%e1Rȕ|-FeGUGnȼ#˅BAF&֛K`H> čxȉ7y/GW"i- 8>wKŷCc<4$q H oPKR_zPK=github.com/vbauerster/mpb/v6@v6.0.4/decor/sizeb1024_string.go|OoLOhO@V>(p"kYfTF5F|j-JAAfyf{=|rBArceSEmWoA\,yf,?ߟz0 R*9 媲+BE᳁dVKΡU[i#rK k+ sn܂+S;ejPZBn;ulcZR:lPl"X+ ^F2ؼf8VUm,AGIYQG2OR&q% E:/L5J΍%4M%8^Ut.jD BJ%@hZ)uCP[ "93plq(ah 3L&0MnĺDUpxoTQ~R&A8io!}>y,Xlt1j(Ŗ~8HıNs8a٦ V߱>᪄] cBT$GF{ ј=V{ ő2Ud^KƾcaS2TX=۠Z, ʬ^<k<4ׂ; $Xrc؏Pk ܘb|UpE@Q,ـ"O&<j(jEτ_v~8)kUΠBZ PX<Խ>m"PF`r˔^.WFп_`S|74yiUtp?*;+$߆|R&~%Lgz _ΧVt9Om7k ]t|X[#1.Xzlخa ǽ *-dm~bI!V M0}(GprJ_aFmdqrk.̻f5(hư#.N$s5 v '-qԫenǎQZ6QmƾE{vCy:%_?kZVm |.һh#Tʡ` 7ZT6oEMC^(]`*>,{?wsiCErl&lo FQ vGp*N{F;:׼Fi{_c=d-,L_b)}v0/׿PK-i4:PK7github.com/vbauerster/mpb/v6@v6.0.4/decor/speed_test.goAoH3|H bY;Zar =UDfk0ܴݫ74-x=TfߔC֠l04i0Pwh:Qa Fk9M"a Nw NۭD:ز@?Ʈ jG0mE 7 L-4>oDіnHUQJ#[? DiB!ťUȠͮ]z2']31Gs ;9feu_,s8cfBBV0L)*[G#]CWL@z82}2rX򭣙.K&e TʔU[G3-2pNe*e i*T[Ү5-[R_z(o>\kWh&])-U5'Es'ٙR($R%BXml]ގ}rof[T@/٫˛*t1u❍҇RZ)uP|nU_ NJ!^~qX-ݳ>$^+| 3V y<2?l=xޏ| r_FWYN%V\X+oW8?U?T%W9қdNtuU*r,M&XhjsUWUU;PKkU[1PK6github.com/vbauerster/mpb/v6@v6.0.4/decorators_test.goWMo6=b*`*Υuׇ6iԢH Ze"R^ I}x&i29qR"O(+dLea8 Q! BP:  L^$i_<,D-M\L US.ryM ɒv,_'0Whi1X`. BtƂ\{GCF1YعeZm Kӫt 7}9BDufZkoTl c0)*Ip%$,Yai!`q UZ횈Z9}lm-+L~10+N-70c @0 e *0״v f ?IFZQv"'˲@Qjc$;[ֺO)Aq wƖϩdN~/Y Ox9::uXGDA $G'ԣ'e͋6t0-򈶹yyѓ>KPRL.^]Ӟ=>˵g<#zo._k{ Q+;a2E1U &Թ&9؅&\$ہcAϿ 4o;G4:YۼaFj;S^<] #m32rNLK\5P;J.}tCqIJfu%&[v`iJ 1gjHn'.čG9vޙ?nO,gjn/_CȓWۇEGizIk^U-Lij*ANoUOrR+H1FGڱ<| zEݚ#6 vGE PK?vMPK*github.com/vbauerster/mpb/v6@v6.0.4/doc.goDB! b+b F&#̆{wx8 +@LoxoA/@jYU1-N0sz]PKQ^PK0github.com/vbauerster/mpb/v6@v6.0.4/draw_test.goܚn6ǯ` dZEcǵ)-n $áFa{^)!%d(/R<$?)Y 9WU/RL*=E`SAɜ^ ݒwAX6;; ;!L_ w Qxn.W|1ZqgGca&¼8#Z/FԷg ƨ*C Q9MPYr]rF]:j!MO}2),uϞK2%c'@KIe( W"+%җIHH mv5%uEH/*rI[2WYziq]P5M6%s42@B2lp0SJ$lAe`ЊL|"tza!^Mb ɰ\julXSب YkFmVk0v(J`(𻶛l;Zia0gNֽbmM:<-y_sMc `SP'&AK{vY~b}ȸ~8ٶm b ֛) Շ+zCj[ZU/`*CU%L1 K^3{ǣ]:jHhY\Y.oid]L!{[am,Լ]Zh^/n=F Q\L]>=3H4}ƛ]42s%@AAd:+*]@jJ)-YW'D!xplEhv)y b^{(nE:AQqCW;'3przN̠}_I`)&IWQ hkTL@?{&7E;w5;M t$p=Uux]kU8VPK#U!PK3github.com/vbauerster/mpb/v6@v6.0.4/example_test.goUnF>sb~?L)Nse8FBX#i.1~^zHh~b,nCrfazд>(EM8@!xW!UIJ_94:,w@ J%²kLw> M;+W7eTJ;[V7,*)K KO-P94Y),|p KpZX9-;>s65UburH. ™4uMv|oiɸj k2.)b|q9υ>a >l $r9Ct/kiDKm}.g*jpC$9[]!8 aX ]).t1ApOsцqǨ MӧB;i~@ڽB->F̸p2ԱW:b< =di=]\]vrA}tEGvN+K m rhyj:wUX U#cclc q!N+C,6hLzfȃw$t2}w 6Ul"onPK PK2github.com/vbauerster/mpb/v6@v6.0.4/export_test.go*HLNLOU-HWMNU(KL)PH+KV((MLVS(I-.*K,RE&V9.%EI%E j\PKx({]|PK*github.com/vbauerster/mpb/v6@v6.0.4/go.modTνr+! p'łD>5 ffGعLEyN2~Ԭq:6=OB0}${)Ut^NTF9|iINP`1+ 9 ^t BY@s`fգFQw_C 8Z ^ x"V PKblPK*github.com/vbauerster/mpb/v6@v6.0.4/go.sumYJn*,okP(`ȧId/s",\Z`%[!lR^Á81"6YtXڏ@f]ʹFG-x"6HYc:{w$T^gVIzOp%Iv5BQP_" / H/xOjqR~su٦%#4տ~Z nYT9z SXu쥛3!b†< ŧzB {nT#š>:MNkq66꧑-Xn=z*A.tpfk$'X%PeFOMIܳ3[Â(QWnkoi|si]Y5ȓey,,OOB/%|'"Ϧ[-WHS%&4"PK[PK/github.com/vbauerster/mpb/v6@v6.0.4/progress.goYmo8-}iJCoqH[kz R&*Z!'is=\^5fnx&cQ7J[H(h(Wr!Q/7ț~o-݇PߥP}Ԛ>jn7,s'sƣ8nڌ^dEm,ed˛yE}uJiJw ,y[YF-Q5xt *a0W %jh4( `7܂FY6$P+Є$$ڰ583V8- MQۭgąEWgU[".leS7n͕a"#EחH~vu윷TU:!g݈AAkPǑ(ިV,'\_Da7F5oTT+uRmZ{!L5Z %wZԒW!Ύ{Q ̒Ls/kZY$PQɶjUINAX ,3.~6+x>r+)%ƕ}E>̈́uf(\ !]UdppFi[ Ӏmn^E"&dP~i:DYuA…SBAї"4PBB%j6@Υ(3+ePp#8|."!$f4*9Cn?Gqf\u7Mι];.FH"b’=PHĈw2RC αX˚_߉[ ߦM|] 7" 5*|{j #y\޳ʹ_"**it4 2t+ke#f3LXMUp5IjV䎔]+^}k60B, Ҧp6vs}؟=;;~63^U$mw7:BItk᤬-lL~8zq取hU- kH4sm|ȋ H= C2! 38{5XL=a=A{PCDA?T0cA^\b^#p"T%ԞQb߸gs}S5qNC')s>92{h6` w(\T8r/Šub|8TJZ5f&J'=] ڍ0 .I{A44q & S].&Njʡ[;iuƸsWVN.WE7PIzA)/eb8HJ2xs=WýSPU K'5+vG+0LbQ_PjNL)p˓!ux;(΋fd{]&ԡCݙS@=&g< õ4<& '$IߠYvߣVSCXAD>iXo~!IV7ҁ{5}LqssB1a_wi|E, _NDή?8TL|5JOQ`}g{6|sχ`gZ%~Lֺow2ɡzAN51,놟Cm1f(R);yV:9;Xyo6}Sìч8Ϙ\ݠus5l}iP2荒/ىrH-H~)(Mѕ#dNvE%^{qrCpv,&3!fF>_A8CX <d*~7v&/X# OW٩i?Jaӳ@'=d =x}Z)ѝNk9AMkxGQ-}OP.']2|vN`;e[w|lC2,0|3LW3ÆG٢~ds*C|f&)'5U{ ǣE1demnsgP|ޖ%5 /d/^^qGl' d!$jrSH`\Um-GMʪu!"k҉ѿQt` AMo3!5xR| :yjo}+PKAb+ $PK4github.com/vbauerster/mpb/v6@v6.0.4/progress_test.goWo8ףRG8mR)EDD$RKQq}1,˱vX$5!g{#W<㹀JYQ[JeYicQ$V%ARn,pRr;2ԏ*'*wCYRN$Ju9Ox#LmU2a&RmR:iT RIBx#Gc!2s=caEɇs4 C:o\sseѕsS!& :3ki]SYdaH)f9uk.{Ye$17l!%ԈR(W]q!D|p+bFeQF1l$B"* C.:S2gYRRLOHWQCm&,X+}v*hෆ)%Ithc5)5M|;nn17 Zn s+DU!X؃F!bx $^C:~)\98d[8ăǀcݮ-H"N2HJE7haĭ1OrzLTt4}x#RBπťQO/mV=չr"acjMGqǔZwЏeQK"svJ<\v#(Djx-`gnŹ:Xa^:$,ltnD]C&3o UN9t8OZfvz*kkdXmh;P,+̦`DAs,3|qɵ2zM5q@ VYf{Q]T܄8pzr8i7͒Rb_w[؁&[]D'M.Var[x茶o&u݉p.G^ۏR $ps몐c4)KAk‚*bbo ;]gpuzϰl[+(sGPK WPK2github.com/vbauerster/mpb/v6@v6.0.4/proxyreader.gon0g) 20 E6ECсV)'hȆw/H8IlսCn()G!2i*Z G&}S,2_X@-8U?~NW5(XG=଀e&l,-L-+_Jy-G(" %;W@-E/cXVlu4]@.)prcH.@@c\l5_%n{.m|헗1+sjqLjWg{8M"T+TKJS+Ng)_ڞgfk:ˀ)iإtqWNfwUerԅ v{gQ٭l~6ZmO]*z(w훢RYը9L<2LJ4=W[FPDAq<F5ë\S3^R/PKEEPK7github.com/vbauerster/mpb/v6@v6.0.4/proxyreader_test.goTAo6=b"`e TE"إȑ3(E2N#IݜzlΛ7o4|d,M)fN5pXZմs˟™~J}Tom c>p~hU0>}3N@ \1C!3!oXA5q(E4HLp *7C :dt[_0D&4 d V*b\fKlb꽙l\Z3(%;@i..}V @f\[S 3l #_KޟB cݓaB df ,&*zhAkDΰ)GrDOQꓑ!#Y2`͔V?) AD;zS5ޣ!Fkes^v ~]=2ȇ>{ŻGc=OW;>gL|sYY?a}ǧvIN$ݽP`B Qji3PKDPK|p{.github.com/vbauerster/mpb/v6@v6.0.4/.gitignorePKjW/github.com/vbauerster/mpb/v6@v6.0.4/.travis.ymlPKLZ%-github.com/vbauerster/mpb/v6@v6.0.4/README.mdPKΘ-]github.com/vbauerster/mpb/v6@v6.0.4/UNLICENSEPKO 8t github.com/vbauerster/mpb/v6@v6.0.4/_examples/.gitignorePK_OF github.com/vbauerster/mpb/v6@v6.0.4/_svg/godEMrCZmJkHYH1X9dN4Nm0U7.svgPKEt Fgithub.com/vbauerster/mpb/v6@v6.0.4/_svg/hIpTa3A5rQz65ssiVuRJu87X6.svgPK]github.com/vbauerster/mpb/v6@v6.0.4/bar.goPKg(1lgithub.com/vbauerster/mpb/v6@v6.0.4/bar_filler.goPKCe5ngithub.com/vbauerster/mpb/v6@v6.0.4/bar_filler_bar.goPK_9,tgithub.com/vbauerster/mpb/v6@v6.0.4/bar_filler_spinner.goPK] n1lwgithub.com/vbauerster/mpb/v6@v6.0.4/bar_option.goPK!n[/|github.com/vbauerster/mpb/v6@v6.0.4/bar_test.goPKVۊM4github.com/vbauerster/mpb/v6@v6.0.4/barbench_test.goPKM\cnl 7>github.com/vbauerster/mpb/v6@v6.0.4/container_option.goPK:jGP Ogithub.com/vbauerster/mpb/v6@v6.0.4/cwriter/cuuAndEd_construction_bench_test.goPK砫OZ2܊github.com/vbauerster/mpb/v6@v6.0.4/cwriter/doc.goPKG~7github.com/vbauerster/mpb/v6@v6.0.4/cwriter/util_bsd.goPK~hk9ngithub.com/vbauerster/mpb/v6@v6.0.4/cwriter/util_linux.goPKCfi;=github.com/vbauerster/mpb/v6@v6.0.4/cwriter/util_solaris.goPKBM5 github.com/vbauerster/mpb/v6@v6.0.4/cwriter/writer.goPK ⫳P4;github.com/vbauerster/mpb/v6@v6.0.4/cwriter/writer_posix.goPKg4.7=jgithub.com/vbauerster/mpb/v6@v6.0.4/cwriter/writer_windows.goPK)}0cgithub.com/vbauerster/mpb/v6@v6.0.4/decor/any.goPK(D5github.com/vbauerster/mpb/v6@v6.0.4/decor/counters.goPKlafS6github.com/vbauerster/mpb/v6@v6.0.4/decor/decorator.goPK9|0Ťgithub.com/vbauerster/mpb/v6@v6.0.4/decor/doc.goPKBپ_4\github.com/vbauerster/mpb/v6@v6.0.4/decor/elapsed.goPKoG;0github.com/vbauerster/mpb/v6@v6.0.4/decor/eta.goPK)S3 2ygithub.com/vbauerster/mpb/v6@v6.0.4/decor/merge.goPKY} ;mgithub.com/vbauerster/mpb/v6@v6.0.4/decor/moving_average.goPKD 1github.com/vbauerster/mpb/v6@v6.0.4/decor/name.goPK[8github.com/vbauerster/mpb/v6@v6.0.4/decor/on_complete.goPK9Z7·github.com/vbauerster/mpb/v6@v6.0.4/decor/percentage.goPKʯ}6Cgithub.com/vbauerster/mpb/v6@v6.0.4/decor/size_type.goPKsn);+github.com/vbauerster/mpb/v6@v6.0.4/decor/size_type_test.goPKR_z=github.com/vbauerster/mpb/v6@v6.0.4/decor/sizeb1000_string.goPKξm=github.com/vbauerster/mpb/v6@v6.0.4/decor/sizeb1024_string.goPK-i4:2github.com/vbauerster/mpb/v6@v6.0.4/decor/speed.goPKvW^+7github.com/vbauerster/mpb/v6@v6.0.4/decor/speed_test.goPKkU[14github.com/vbauerster/mpb/v6@v6.0.4/decor/spinner.goPK?vM6]github.com/vbauerster/mpb/v6@v6.0.4/decorators_test.goPKQ^*7github.com/vbauerster/mpb/v6@v6.0.4/doc.goPK#U!0github.com/vbauerster/mpb/v6@v6.0.4/draw_test.goPK 3github.com/vbauerster/mpb/v6@v6.0.4/example_test.goPKx({]|23github.com/vbauerster/mpb/v6@v6.0.4/export_test.goPKbl*github.com/vbauerster/mpb/v6@v6.0.4/go.modPKhq5* github.com/vbauerster/mpb/v6@v6.0.4/go.sumPK#&:github.com/vbauerster/mpb/v6@v6.0.4/internal/percentage.goPKD̓hJ?github.com/vbauerster/mpb/v6@v6.0.4/internal/percentage_test.goPKa"b9github.com/vbauerster/mpb/v6@v6.0.4/internal/predicate.goPK!5xgithub.com/vbauerster/mpb/v6@v6.0.4/internal/width.goPK[5pgithub.com/vbauerster/mpb/v6@v6.0.4/priority_queue.goPKAb+ $/github.com/vbauerster/mpb/v6@v6.0.4/progress.goPK W4xgithub.com/vbauerster/mpb/v6@v6.0.4/progress_test.goPKEE21github.com/vbauerster/mpb/v6@v6.0.4/proxyreader.goPKD7github.com/vbauerster/mpb/v6@v6.0.4/proxyreader_test.goPK::Kdependencies/pkg/mod/cache/download/github.com/vbauerster/mpb/v6/@v/v6.0.4.info0000644000000000000000000000006215107355264026031 0ustar rootroot{"Version":"v6.0.4","Time":"2021-05-18T08:33:03Z"}dependencies/pkg/mod/cache/download/github.com/vbauerster/mpb/v6/@v/v6.0.4.mod0000644000000000000000000000043315107355263025656 0ustar rootrootmodule github.com/vbauerster/mpb/v6 require ( github.com/VividCortex/ewma v1.2.0 github.com/acarl005/stripansi v0.0.0-20180116102854-5a71ef0e047d github.com/mattn/go-runewidth v0.0.12 github.com/rivo/uniseg v0.2.0 golang.org/x/sys v0.0.0-20210514084401-e8d321eab015 ) go 1.14 dependencies/pkg/mod/cache/download/github.com/vbauerster/mpb/v6/@v/list0000644000000000000000000000000715107355263025215 0ustar rootrootv6.0.4 dependencies/pkg/mod/cache/download/github.com/vbauerster/mpb/v6/@v/v6.0.4.lock0000644000000000000000000000000015107355264026016 0ustar rootrootdependencies/pkg/mod/cache/download/github.com/lib/0000755000000000000000000000000015107355263021230 5ustar rootrootdependencies/pkg/mod/cache/download/github.com/lib/pq/0000755000000000000000000000000015107355263021650 5ustar rootrootdependencies/pkg/mod/cache/download/github.com/lib/pq/@v/0000755000000000000000000000000015107355264022216 5ustar rootrootdependencies/pkg/mod/cache/download/github.com/lib/pq/@v/v1.10.9.zip0000644000000000000000000040252315107355263023663 0ustar rootrootPK?github.com/lib/pq@v1.10.9/.github/workflows/codeql-analysis.ymln0 Dw}%K=TK(d*#/l)nґwO:glawJ=~Kd2>d1~g~9:igow\ZU,)5+ D(7^!+nE`\fLnTӈ7B)AG H/@DX;B"Q ;(]zfJӍ6X'Z@^$b4Mi&{k: r&uZ0 [e&q2gLZ,xv[p- |g/{BX >: 9:REt>@1@xݵ(PP(6)06lxlmҞSin%ΜHYas'#4V{7/qJ)bχoZlm?e4K>Mޜ5ހ J:Xxbj#b=;]8&PqpXRV H%vέC.*,];ع^psv!<مnc(I (^`="= !KJ n%l佲qƻk"DvfpC0@m%D""_Lu `ܳ'\ S[?KK?2()"~Ј"PlY^7޼&}ߛ ME);Ad+N%[tw)H("sa#mZ朹=ۑg )S^Eg}b!2nv\:޸ ϗNkB+W/esX\LM)zQ2YʡCS#ǯznIlA!`#;D,kk_{pp IlMKѱ]9z\Ȝ;4GJȂ-I0;LʁS'ў lw({9ua%'%v2K2ADH"H8$GJ-ܜ$ry Y JQL}N rb[jX۹{p*{Z>҄Ň9`Ojz&&tW8$\$ދd>BmHئAvޑ4kH9e'gvIV[p{iB.R99uwKz7 mg׊c1ϕ i9.]f:HkSC ęc1uH6*܀mpVk?l\Z\6l/|g4'Y=98djQ/Z)*D}D!RU>s! /YMӐ@߾ OdB3h$!Ci'LxH >gGzbv^F;i-[F @n\0H;|w 3-gU3zAlEȀ =&5-IV va7 >^S1ay0dV²FYϗNEB"ѓS&F2#+ HNK\^QL)̤v2FxmeT饀[j9W:C*QrDSgN%;gܚFIѭ; qvɏ|N]hˡ-Òf$u@eeqSTL7";Xހ$'c`1t(9ç߈|8T Cg%Eh7>%9ҌJ:q3Y=lшJK'XNQU6gkbX!-]Lku0fgҰqI\x~IS }逍F],wġ>lg'֙FTK gRz!98JP2l{΢49bp=-ЋBVV\+ZV7 q\AeDШKW7IܜI.jrPB0M'P@/D^P\850 n[\e&J"*A$a駙abTƦYG> kd)v0bέaMO3Qi 'h(uUb]hCUUtZsw).~3G{fԷ֨"&0M}<+$2ipa|ۂ%!71wk3E{dcK0Hjdzv,(L\[S)9{7g6gj. #'nd,ݶ)A>f&'={<\,, \F8{cW>ܻ5%snU񦘕=?Y+m5t\6k"~RME9GWZ6wP"ֿ Nk(Ę+7 {k g> Jȏˡpqzwz-_u}OJ? +zѯ=qE-jtyR _Myz}+B^Y־@{]ߕ34Z|R;M_BЃ5M,>/$ ?on#k&W] :|h ;?AQ-?^e9_h}I:t l:E?C^+K1[&mRDб{K[B^=C?>>Ri0+}j6117w7[u{Iqݸ60+!do;yS{].+}Z,qqO/[GЃ a/o6t)D"`DU?$m|^ʇ>,W/|J+7:S5ͫvkE n^t+Way'*^DtUʊ$WӋ7<@uZ>%n@ס.^{oM{=DeW;-Dzn2k`?ʇM붉\_=\㶭'6G̓"Ic8*^V,t_Cq^Wk|ɒyA[~&a=@?C[CƢoǪz~!>UuR/}'(کwh=A O._O߾RO(=\âs|w `c1vŢ5Ɇ` l7E38яz~5v7?Dmu6h?ƫ C |9uL8نʲ&\%kX1JHD*Vn"ne+: +p_ItCz; ]M&KJ%[ h**;,)F K=ʆMlȚfP5ynW8)<(WRݱ uNʝΒ2vKEIKϋPKSVPK#github.com/lib/pq@v1.10.9/README.mdlTn6!TFEqz}.Z ť+%mEz'fdz3c@\1d\ xWCѾ'cxſ}:U\,ۆ_5e 2o~E/o<7P~qlƜug?. u,$ƜjucL.@,DV'kku˥ոP{'C~ԿP]xlGn3agNQ/ʅZ1g.j7r{4˛/74Qѐ<% ( %$;Y6ϔsC7`yȨP8 &,Hbk o l_Hܱ`q6ڛ]lחߪg9ڹZO*ޚDŘ3(F!7 |"z aG!J3[X HH0`HJ %90&0?4p)Q+|qQ{D7zxouLTf3n< SpۂTQØnSr1$*աqhSH8N UuӁFny,3X{*Hg.tXw3B2@8Wh'l |^z%%"?fviy.[C5I 0'kOPKCptLPK"github.com/lib/pq@v1.10.9/TESTS.mdDAo@_1/ԴZ=25TUb ẁ y߼y@VjhA Fci ϊ&$o yCЕqлP5Zt^;k}x j++pVzWs,+FtF MHd-E;rVԤGw׉  7qjD1SǽN}MJ}ҟǼ4s'uwJ%P-_[v-hA{ y3 6 QQ~EWAD6iTY safocnf |@fS ,N,_aC"yJғǿPKPK"github.com/lib/pq@v1.10.9/array.go\r8,>E6#T<*$slI26 YP@^U7@[vle>nt׍nP3}bgfHLg2GpݎZ6bbs/Wb~eVB&?(>.xFjR.ܿBvDт)03K"07r_!jωbxϮk$Et_|4]ƤLA.׃c%(nJj0̈)+!FK4\KŔK-Jٍz=|K_} 뜫/_ o_aǯa1.5> i>?8\&c 82_͋Doz[{no"3hgS&<0V~ B, ͎]p>ና^򜓞F\ՔRr<0\.; 0WF,ᘁ1Мp;m\ ?֍ф>cpTE?jQ@,k?f7.Jf~1ݶϞ~th!W)nnBDni}1}auԦ. gP7vzy{(lm G_(,y±7( .z?\r%2zxŖѲƢSa)#ǔKs] TBBzr@ Vg0זNn{4Ϛ|6aeX'f"4p+AGtwVVUӉ7%P|h`8؋KxSjs0,&g"jr jZIB p 3ZeMPJ* ӴhAVf8KW c0y!0t_rq{(viSZEnU8=ZFb0j1+4= :K_V1 ۪k6osHpRj͑.;Q?U(IЦ}lב(_Ba {7}{GWzVXiX$:Ŷo5 %S^G&WΌP81A hc6e'" =e}.RE%?*j:"3gl{(ƃɄ_8U!қ[r\!{ҙ?RMY}!2K.c낶BZyuHASHaJ|X1mp1c}Z) zOKB6ῆr? pMO('» fgGJ'o$B2oMwhpq"d|H! W@A'sE'G;B9_p0r,|x7/g 裱f\vcGsiᆴN欄v+ae']qb~_U1[c'V0:y0u0voƶOR}A ;c/kou4b$gOkVb@8hNv0 A D*jVS5IBc7F/ce"Ozsm4ϊsd\q٨0k~q.{`5Y_QiY# (̊cy{RHtuOŘ DߖnmRvl2 sx >+1s}U~ؔ::9fOȳ FD]ec8pkpe\,=#7jbsK /* f،60ݗ\ZDup7G6yݙ`6+0|3C8>;qC)1yW WntGΘ=s^, 9/.M)%V: , |fA-h7!8 W~鶉;n7olYݬgt884lf1ӤUkMR&oʕ`\ա]-,Q ]":7Oɣ$Ֆq}?nM4νMw%Yrx}$fbSǬ%T q5̀ϽU0k_^L:zm;)F.NV}"=YGѱQ}Z`7#%ނ 8elKoX]y[~CvBn+\;VEM>7xGn_hoHz7G@p & nhA85Q8{+v)uGh}+{L >pZn{7} j3&>uhMwar_ppskP 4*4|<*uQo_.sǨ`za}=s}VW1)2zV/KjQaۨ!a=ʙfj+DNLZ m꘻A}7VXQk:yaEW2Oa_j~[73_ iYBֺoizpm0͙bѸ4o,n;acʗoFgi06TN~o/_yؖn mMq4L&ZeDQ׬'ΥւBodNJ=,x6e 筑KhO[&MZ·c_Yo,7a:ԇSE#c 5ܾCI"ĚN6><ʹ:i*\<!))`|kYc΁>$$L(eN?xGJFe aSs UJ+KDx-ΤI^KhO4JeĂ?ޕ@ ضXMShvp83^}I#"ka˛RF7$pW}ƴ57(oS qٯr\7 pM:Jʾ8NS(?>#wv?%pOUCIP|ǵ }_ 6}mP+q|+a!Gp֡b?] )u&n׿r#r]CCϨV52#tq/+h1%ާjƓ?3F񱸈I;:NCuJbh8_&)Ik5.lWW+*Ԃ)`BW_ngduLc,_00\::2W;4CvpBBlZ2ʵY73&6:ʚٍMmxҚ@\^.| Y+̆(Չ2h$Ҭl_ѵ, ± %Bhl)WeR`ZL+(3X;Ji;z#eYUKZr`_,27.q\. .%૏/g~x,LG?!qcDS|^r )G]ä-8^l(vCcsCÇȰn | rOOΦQ٠K31n2?{EOT&Kс$H rqf,di*)PN{H.^n]#ڛ0..Si7rKJVΓ9,c>L^wjuJY\fUbe󾙯C݀K0VwX&([4m"Ll{$Y.Q/'㳓љ$k-2%Ajl(Z#K7=8W2|̆jÙgml6l7Wڬ1TD]\..2.c.PU}y(YXb rZ0(o]PIeR^ؘ օUfUd7[׀T@LS/ĕ%:R[% e}{3USkWW$LR57GWgEt?#n'F{rAj ˍՉh򆿇8$FQSX5/b"Q@u{)l &,Մ6klt/দl-)=*O{ٖN=ӪBNiXeҔ_D/8]|Hq_a=z${{DtryUp hQe V ,qGRʬm$vbK+y 4[:V6S@ޢuWMC@nigwYURGqƛ˟JT ж`>O X8uh,Vx 5۽̎c?<χaOý//O{p4/-Au0W ZP-bRbJ|x 2Rr$!IgP_/ aw K[cFUCj5˚7~+!p$5Pkm7U| ([`E%!IDʋڭU8Tu(T7W3}@uSRhf=TBHb΃ DƉ|<d .zp/Op Uu[jGibv 6PɎw-  ~4AAk}@`rh;(Tde[ j o}mtsSE׀{Emyրzd})FQ䩝 橂"+渱\nmVǍƼ1jj\ @Ɖ|,[ Uyrʅ _^< a4nb,Ķ:Sg8gk';?,3^o+ U XMIHI?oy@diAGļ r;b7W[B[VRt(b5ОYœ CoxyB3d*BR1W7'>UzuW6̨my[y@bzkȒo1'ɍCwfo:D}W6LGh 4qW"䆌eAvױmNCGV3\& >1晬HU;ާTmB_iUksbRo>%^(gˏ~!?cS0b r_)XP_A R#C|s@ȾM~C;hƷWb&}J_h\6FH{j݆趮߰fw"2Ia@'3'lHt[mb[ZlQ$-mt\i~B<пp!2Aa<;˷ ({᪡縪'Ggwtroоh|[xwݞ$,p-.o!zw= ;\+Y[y$%AL3Qi{gjGV<blKȺUW ebnQ6=9: 㼦Eeyo:΋N?p>~·KNXߍJznn\ɘ* zgģʧ+ߟ_1o`LV2NzFƥs˲*Usc!ۡQ.%PkPZ MTmE4𒯭fb$+We橕mD L'+FJUiejI!ťeZHk Mq}xP>Fgjɸu8X3x*rڃ7e_f>{3$/Ȗ_Mx:iڃFEvJ lѐSy!IL{\]`̈1åRb?nL9Й+B(Y2MuI&S܁΅._c@8g/4!FƌE1pէbƃٷt"ffh4E2`f؅'•cWa<92{T\OpImQ 6y (#m^/uv|ЮP%#(-:0t7Q6櫬qtDnZw7]G+os6} :'gW/ܮ,7y/݄$VSfnƝ}FaÛ QI Z]^n4?Jv:X]1>@@*5\OSmXCzS=M<kc9L~+1-]Y\A.WֹrD™C^=o;k]!z,P|>ڟ|8׏`vf@%z WG+xDv>%O,FT;Ka>xbQᝮ'+hsCˣR[y8 :~ &+v'Mc,2x xq.z}M<G; PKr*ңPK'github.com/lib/pq@v1.10.9/bench_test.goZ{s6[[ᐱBQ~Tש&MrēĘhzoIQכL3ooAg)Bviƅy󞾸R(Lҗ!Q$ EPjmUSr1ͅ@RA&'RLYEJf*ML J3zo~N6NO5?/'(O^?]Fѧߕ4dw[k<8>g%pb~ ((>nqE(Qt C[U 4Q"08[TMy!{{yc 0x+_k)gخc]凾o7b H3{6 3z=mz&X5n|[Y ޑĉ]=ianY̕6RlBPʖd2g0!-*QԈ:MH#\YR7z*pv̮Ws>#l*xBRRot(| ~!Iv -h\i#ѩz[(Fs$gR4z">. 7lMOݽqC#ע< +Ե)Elm'5ٻIE.#f]ϻe[͸Ik77 b&n|_6r>l04ݪ;3u웣d8jx=wԞbzɹ-G9Ɉ诋$w5:'ݺ\sZfWy!<#ﬦ FȈ )*ET.o`4Co}'6ob.wՋ;/muֱ_?QOVݢ~@yamx W%VCڞ &z{j]=-q _h;/vw/ESnmǵyⓙGpy~B?ߟ8☣e)pm]4ItS1g4[g8=lpϜQg>QWϳ>$g~ӪΧgL F`u;󩶺Q|m1J\YKS0tZÇ}Ho#}>5ʝT@nQMQAX1Ŝn{ 0}48D 9P4a|MMz<<;6>XNsu9D:z׾4;Dض];NM6tMPK {p L(PK github.com/lib/pq@v1.10.9/buf.goT0=_1em6 vŁ RD9؉Ɏj Y8͋G^ION%Q,NژDTE]7ǘ(=4"-tb51a`$/VkBȦQPTe@/&i%KX}Q%rlOcD |M"#]cylj,XȺ(t Z@ p n4bd @璕4 4jؖ|6lˠ|F{~XgPU/<|aWU$2F"gHS QKIk}x6q AɲwPqWDSs\֍Yy/Ҳ<#rxsu޳#t:Dr־/٠>֙p8=ҵ.h>!;(i۟=#ћmh\CM7/RϽT% i ٨WAMAݮ*B,_Y\C ,a]X 0~dg5eW"յ1Y>-w+ElІ?>XB~Ǜ'PKIVPK%github.com/lib/pq@v1.10.9/buf_test.go4J0uSj .ĝȐ^Mj>t!}w)ݽ?6f>xR՗qDEG|}g~jVj8Փ/a[H¥X* FȐ$VyZʠ+>H8_xWt¶_TsD.w;PKWPK(github.com/lib/pq@v1.10.9/certs/MakefileO0֧YVHr- Aǩ"%叿}^ K 73o޼] 1 Ohi'wd":([mAr4(]eˤ1Gi?o$ov+V#ڸ8 u5RO>?(r;(En6YcD8I>}ZԲ%X.ɬ yh 0(Ad'hI;KpYl̞H:SqZ>03}|q<%cAz'}i=zʍoʣ H4HUE(<ܥ:NGփ` RB >U(TKC$..] w7>k`wv_TPۭg{U#ש.x嚧]R άD)|=,eL顽\B^|S.H>gٓߓ{W\aY{&zrtd/a.)ZpqqduЉAp4-w&p33lON{[i7J^3BPKAWPK.github.com/lib/pq@v1.10.9/certs/postgresql.cnfl=0w"'('`bEt )jjAB>3>g /&FH`kCxÂDC!(P fr@`w*ܚl OàWabXBn\"Leܬ/Jdml\h` ! >(ARJA_Ʃ O|A$JFr+9 :`D:Iamd*.lɼ3Gwd41#j;,3?%&[# w~ z]65z],}CMnR!{@ h0GWpzm]|fmO%q<5] ڲgc4l#JNm`( )n.rMFRW fT+/*Vφ{ulbm/QRF ?]2ki6d;pt#4cYCPkquӹ>ڔZ<滍̧dq {ہa Vݩ2 1(3<}NE^ɔO.>V>16_PMK.HǕ!<@ce(23ݨ+U*2{g ;>4+}a>'s":xuUn(b{c嚨z_e`T+BŠӢHu:͊MSz=ͥm6sCSu'"C25KgNfPʷ'X0Iܻ0 !; X\U3EnUw ksGIV;Vebg m: `MwHgRQq>]sՄE'˞;_ꩆ/Y̞?y쳱9 덨G3UBr˙/섖MۖǺQ+l%,B(i;RzOF_ug=Ssi8CZ7Z$khe;.jrKg\@Qk~t1P ɦ /cFbPF+?Tjn_b93wG"Iu Դ-Q>j}#@ Qbzǀ@ 4WY#ZZG-ҳn_7YO[e@I$\ fyL^=V_UAm9c ΄Ngދ~[2ס|H~}˞!@Obd уLT?) &6/1t鹑wۛM0,5^!zuHU祿<4LV`=vt&&4Ng塼 -bvH}/>Cx?w)erYD~YDAfġn͋؃3Bӥ#E`Qbb.0?=$4I/9?W?'3I$^PPKgQxPK(github.com/lib/pq@v1.10.9/certs/root.crtK8٣QB,fa&p5 ~t'Z_Kn/K땭z"QQa B?*G0FSU>R0[k׀?i;15n|U R7 "0$e>@~Ӽ ߃Ds~rE.F*eA. LZgtK<3K-Z/B` \Hj^3t`qaJdCciz{l$dV2aF"~ 2fEb=rA_I01<֠~-` ʋs喵 +#t"D"F)jHj 0Rd Ck:>*>U{1i@Nf= PHCFypC〻-$Nyo%$b]G;lќo7:_\p'_ H\wƊÌeYC|ɚV]_'u,hmDk'tKxOJm,7sUnAjQvhguC9e2XR5૭r=f,I;Zh?9:MPB# J(3PKڱFPK*github.com/lib/pq@v1.10.9/certs/server.crtdTIL+nL;`Q@AF~{ob.SǬOAQ_.U).E%F)g@g@PJz[./:d 9d9H\S Kӓ ]x.y=)Qid"w ]*B?*I`I`u%vnXn8>SL؟c0%&dP K'k!;L*X ~A6Eb؄g`LZ]0B\M5Z=P}ā| Ƿt^O]x;E8'jLM $ʒ@`;]-0M)?Y!. .2L: ѿq{A7K!q0Qh@Y{ߗ{e^u0E9kFSsqlPR7bRr)c^`KXp%:x?<vhR^WQoA1D4V w<>m2y+=n( +>J$W>T()gV rQ?lW n>c(]nݾ;|.zߦ<ڱogCCi${^jq՗m1Ζ햇ue!ZoOi~΃]5'x=Kz$iʽK槨.)7شhhr&C67?PKw6PK*github.com/lib/pq@v1.10.9/certs/server.keydշឧ؞..9JdHs~znS ?"˻ @O6ST*pe__(0p-QŦz5o՘bݽOP$TQvf  HƀRҬ9uwQڠ G ;up 9# Qf+^"X9D/inK3ԋu05͵/%-q"]˵JKPsn垈UO#F9W5VQV !דcx uw~?2 D2 #Q{>oI$bC5ZK37{ N_k'DS"P_dBd\~AY5)0z20'1N,AX6=;5[ݕX2~ğ0bK3mS6 t 6 ѣu%%[gIhqbZVM K*FZ2/bHMk4yK{rFq]8Y ^ש#}ASaz[* _jIS JNt>˻o#wJ]awƹ<1kD^5S+ǧG;Q=8G.Ŀ(~TW|B,sTaϛHmW񹙇ɻ޺`Y4:+ >IW[£&ndm^) 13~d-b$o\ϣ9%[S,cub;f%:H\&+Yrj-pg>77ۓ%)~Gt2/IU= (!Ρh.O%1zޟpolqm͌7Y掹,12a^B<,-?<}h)Գ=#%:N{`z5 ͭ1FшS˦`\9&rqOȚDS,xDw\[LܶSow X7j]AAoșqi^q Yu)HPj-mΊ`P`o"BC˧y!nrz͘5>ƃLZ'(7yc+u% 쮜qgq"Q۽ho-=çRS4Wٝb(J5LYٷonR9p4xgUOU9;%9d9BBf,&?Sf5KhҳD\O5V(:V;@~G0-_ln`p"wh ;nҦ,΅IkVe5p6-\X[;űb83W;&8򂍖hLl vv] TC~kQ|&EOMY!Ƽ*7;/[Y`n^\r c*q7G]^,Wz[_kC% |  15YXixo,8;aơeq +p;sLʹ7%ӷ^ ˍNX[hsxJG?2^FX[s%\1t6}7Dޭ++f8 i5 $S_̿.!;SGdͷ EAd'Ȋk=vZ Ɠ!g.JtWx+Un)a< ʊV\By١ngTe *PXc2y:vErV7 & \B}q!n*a]I2F%EI'H `M@LX'fhяdEn^,* v;ߊ7 0M@gw81A E!sSiSIF`\%WR=XHСy+,3O KDverΟjzmgEDv0 xT*9f"Q|YRrXxd&jأ.Hh3v@| ,@ɽs&7㇇sRr jXo+\?.b+c^)/r@ 0hH'0<9&X4i4\9r)"Ck ʌa_V d[^(Y2} _wb{to)lw=!%(ikWyix沣d뉒U_u B+`,CC~\eAI l뻩jAƅ5*8̹MW,3YhSVy)E1dFN NC޽u^vNg,Khlo;|QooGL!XndTѴb?IU腅s5?%Xn_hRY՘Zܹ绳7GtVVs4V٤.蒫Id[Z[_~n}צa0ؤ5~4|B@54kLC?-U?|6d=֞A3:J ~u]#6v?х<=/z']z/-Q@ђ*ƈrdR-ۛ e ='^R[͹R.r*5a@rkglno'n7٦lJ=ڞq6 n..hCWp`c0dtFFkZp|+k)’!u*ʹs\;D/}m[Œ_~xܼY<VZgO |,ӣVEK_J%]w(`l]~w;-<y_tz 6,FA10(` N- Fw3n=bJ;D;/%v[ rQ#Ui:OE~dR@@g[qꞼ xhxMǸY@E:H7Z3Q 3L6AM5$ 2,qƬqRI٩v عQ/%OvOق+{˜ *s6j~ɕˤr:QMeC5^=ZC-q"L0ySl笟r+5xr< ZLearQ;+US.a*h$Fe K%-|LYU:9/E3f&azl(=cd!e ;g=_.uK \{⻹1 .3kH;j|o!(]MneGOimaXr jvEM):n\5,Pvkle[J Y)5yݵ7"1g6ScmTtl/Y:he4Z6 $@(i%H !XODg{CZ[\<wGЕH=EFhdSĖYs4=hf`(LpeقKи 1f*e'`ʊ\#ǮeXq\?3d;^Q^UySMM?Raԋ`UQ5(;rS^zҋK%MunG|^.i.LQ)tt!H)D8Tc{!W,grBMTGc兠Hd%|SXX^TJX_qu:f5J_"f1.7pV[:akvp%*[{dhSLp&{28#󣹖sT*c[FIcKjU]O9J1 }ocZ&jz{=/|~Aj,kO5_6`k0x`u`#xS*u^Oeo+2$wm[_l)lCsJԋJږN8f0 槦4wSi'v>> b*儙Iŝ(,R ~4Y@Vi7Nޛ!1/KoA6qn2,|;hHU>d,m#._{-Na{{{4aCS_J*wEǨG0&"kp|D%b$Ye緽aoJ_+10{uDl{hzuc:TH<Œ2,XYQ3WYZ4v> C !XD:Ǿ@ck4.<Ǭ&D8s|BA@JǟKҨM}jöKm՝Scl PodAI fVB")]QG4r,E9 n*5yĭ0K=]_ C䊌 l rnx=cH # ĹM8m!&;ejo\Gz-$gP&N~[+Xa0Mѣo_霄#zزstVfn%Yi\;ɥAUF%t3\|[#t1NdzM|Z G:..[ErT6NqGɫ]O! ĺ\e9y75f+_C=i]7ɰ= Mguu[?l QeY}.ܐE$xюE}"~2-)>oB?Ж"Cڰ lu~,t <7H.Fjq"tZ^jkȶ6 ԎZ~v% ozCIT^;):Wh J0,bFtR/pRX|"<@<փYd2Oց䎉MنcvPB,f"27(jY48JE1zGs =LYhsmA5Wf-zڜ=SS~Evw"`h5 uM L2r |ST V|c 2htÂsKEL2_JDBl8᐀@X؃(RxFqW7at$B V¡`FFfNT/oQU DNg{~b˰!vn _g|"cV}BuZbO=ΥdDً/<:}+99R*;[5!Q= 'od OGA `EoM u3wLz O`d~tQOyC.\ f4vPʔsCun ZjE &bZ0X 8JU2 {Bjuh?)o;HrzXRK7s"?|nWɓ2utS.ͻݯYo!h,5y,@Û 6u0*}%d^{:S6\-M|(5Q۠F^>YATZw]#밖Ԭh /^IU4lw]j ]6FmBK 'mOgO,8iFPBdx X0?b!6F^QJIr&$(0r(1 ]%M̹ue+\X%|^NuwȩIR%B8Dg,.c ~T:'#c2[RŬΛԫZ'xןe &_7j4Ș]0Ԭif.)]5Gâ?KI%XDV< |IZ_#Jc-3+|Gi6RIfMuqy |^ i]"A=kEN_@r>d[lOmxJll&f߄Mt6HISo Yؙ Q<1!8*toĤqU PLgkC"0l?ڡ"dGT"sB@J690zJz/A`+cE9nY;WrcO/}H'jXg!wc֭]#F,߃ݱ[–f{4e5 D  ln3s*T/1<{N7 Һ7xG?ƨ .dp҄cAyW]y﬽&YBQ*vBuIK?Sc%@W %M45F|'wvw;*J|ѿC=`WTggyQUO%kN[oX3FLEyfbC -첻nH=LN1=|#On|q/!Λ:/bI2no57JtwBZK+Y8*O)VTB6f?~iROvP ?~`DL6=_5;Pi ijGV~5{~TӻamJE0g 9/]6ial̫j G+LT^C&r1w@9H8C=6Z@1B+ >yEJ!VbtxV5lk$" b7ה`v^5n.cϩ {9)$'*Tg9LdxuYuƳ? s/7he |_C߉1nȎ\1F]ne 0 {eɢ٢.VG8S*35c1BGDt5G\dĵ/z'W]n=_Ac>pd_;'G<ܲ?>OMc%SAJʱvcڬ!޶݄4[ 7gܼ} l<>rsu<6LJY'm K){5bh_E [L/ƹh>/RK$кMëd zY;WZM`ػ}bHp2*a;9 6]1dh2UEzTx Zw9fw ;?{*J1--Q+m&h :hzm*嵠{F#]x|_(_QM&J5y \9S/mv9/k~-8_Ҳ?$|I~ BJ6z D' :3@ߺ5"zZJ߉ؔH H%+7m]]I[jOm ºurML hqRN4pGa9j苲1/_ R>MX0;.[<>i +q.8iEza8p]@Fe7[~^z/Oo|odʹV&3bD.F*7-}nُ'o.Y<·c}dFhC,I>:k>""\Q1C6J'oBa1 EA*(=ؿ\P 1U#]]1 șJl& ɝDqвWQ>a+TQǪw؞. _ˈwBӓޯBK`~g x)2Vr'Xz]@+\< tS^"Mj}0SGɫ`EǗ0&&_qXlE6O!cHit;RTej_믧9ԶdR>9p ?~΋/<=sAqpqu.Nl +?W'Raհo01G8y)Ǿ^L"o3Y]\ZϦD,ݔ6xwH zxϚ|;+|*ZTrNSMV_Km!u  Gt RίSr~!ltF!8_hn*zaG/aPDJ3v. fb 堸p8cyf~&̟H[GnjD>s_~%I1 ,/eHm|kpR{&4v h拈 {͹DG?5{mxVZ+-{mGev*L0<ސMjVu;|x:Ɔ=}m1k9nf<4jlQHJ:#l'Ip CRM*g"#?GRngD!e޶_d;|ĥ5]K֥I|]tqLwUOCc 8.s0uX{kQ]zk >m;HAcң{2)6V9&2on'[}E৯ZVz(%,`7yGBT\F7LJ#5v#)W k{6P3Y$!Gk]̼w1? c?6scLbD rns5NJY"''bVh\?Ұ1wvvv~8ӇplL5@7]0 d'-vÇGJi,a׷G5yUzV "㳥z,m6$59{˂/c{f|Fo1o3W3$X6l@JǣnԨӵ 6Tm$+cIS Ӱ;lkwP{g۲j<F7|Y"=y{8T SP[W.~1Db +y]w.:TѼrE+5(m>L`ͺ"]O;JqE 5nGëdnO5 O[pn.ve |mC W"jޔ,TMmIhFcwXa^S3nmhX8=!n,B="GXNoʹ/8ґKX=\|Rz1& -`NU,U Q6l.̔-薩!,dip&ye) &5 Wuobb܇}uaqX2d銗1F B U:aIaj8v9UEִ:?t?zA92\\h<+_@[X.J5y/IV6DY<;/qC=BqWè{_~=e8 "$juifn=x;Vn[2?i_ zoa¤zkQ pW>~A j墾OKy+a"G` fOZz@͒蘆F:5]4UQz%p` *Z&SE\Y7Y<黛Qkwkۢ\vՏ7˝A2ZAxAS?=D>#[iAə̙T# ][ j*VzWftW; i1Fm;Zb!(yt+,Żj(Y YRonyB֜MdJ(p0xi 3W̥2sn)o| w8aT(Yk%Ϩ/mUוc3>Gݎ~H*zsNC yn*`kl)+οxO'0ΊJP0pՅꂟ;y_6eô)<*;/B( U9qU2coZ 1JXZF-qʒZgNT hqn$ ]3v(6H[h#w0K`) _8\?EXcG`ž%HCԇ)AV|ϵ;+{SJ j,{?mu~v0M__5mi÷GFXOg+])iˣzhS;;:>;lv5z???2z]9;\"\ixpPrG[kw-.ήZa +\J6]~oΏ/^]^(F\}:~stve56^~ٸRMVo'd\e VFpl67:<8;}}x|A99;?9o/uuCطW]x4H8WdHڎ|(Gg:0E]Ȳ,E1F Gց$COw~w;s y tdr!=᧒ ,O࿌\[[?X>2ߡ$+/Xog:fÓ/ۂl9JڜpCմya6hXao^Kۥj oƋwr:'fQTh\0Cv)Z]8WNy3}||*ifJ6}?ww,FY;xjjm]Y(MeQ˔6$&EfocmD.$ѦSa`V}`-7l\J \YIBˇDPKt"Uޥ |ljorhA@JLR݋!)Y^s}f~?4ISY78dµrs4587Sa /j/-u;u+8Y$Ӕke=9:acu*Yu.uHBW5)OpV7֨o-[4Q{R94 1]CZd˸AtgܐXgZ_s;VU-ųK1)M*iB֘^ UFy& m@6$mZbSx8 ir& ]cUIyhl󑾏畫D8<7\1.yEӍ.'~wC/7@pib؛} Az?;<+4Ujvyvt~-jW(lrJ;mC/  ?'/TuI3Yt4, |<v~MH|uueJS?tyztWOT˱bC%|rc%>c}Ό9&*)ktSRY/#%ތFpy4Fu=Qh7+O,#b:Lݧ;$X!w_,MD?A$}@0t+߁b.zCUsqX1%*jVJ=\p'IFK:k&jFs EDcJ#Jdyރ`Xe|7ȏAGAZ>(N9\  ! UmYwoZ#*;$ as~] ^abx?Hss֝3^*익 h"xCkh$|9D㝟c!=ʿ/i}f׻ʙ=Ն= 5k 㺹KŨz-c:s. \c sl$#1Yp抋㓗{ۇ?>~;>yz-dx\zXpLd_wjLY$*`"REK$&nRb;M|Ħ>eHH;lrqqSmp0In1Αi` ޽>~}4-g1" y{KePIWwOގcAkթuGZ+#w0.*eK5Kvޝ*G $oF9YP5F"l;ǦKwkkyuv_Fm bf.Vզr^ LKVi!eiTGZ$$9S$f\' cDk:m&j{ cRfp &.yr}_6|'b9Z##V q8H Uo`/\IŒ7[J9/,j!7aX1urbfs Ʉg\'0hRN`jMFA'x2Sb|oymI ǧ8\Q$It ޔpៗRYE<ʡ` M ^hM.~,TO@=r){)s9Z$PӔNlh@hݯFb´b/^d/4(GPW,xp0!qL7B* (;v_ʴ)/I :gš4!("˄Y56Yo$%zevzmL5ꖲ®7Ah|#1ˋZch|V zb~<GHGWU)8Rcw{^>:zMLf[6NcF( F|_fEˊ$;3rmJ?9s8>ɓM~LBL0h+̼e:'G4tx>Bյ7`$ϥkl׿ޘ>ï?Jީ2l2wL8 ݕJ^5 -u co^JצRRF8RM1:5F64g"NJP1i3uPIo & (:KNdrN 3W, o owB8q~ֆ dgČf^ x”m>B|iuN"nf 4~?^`bѸs ǸڸdZe߆e2v2Q逓+s΄P P)6Ɨr nI| ̔oOVǸ 64 .ma닑-$Cnck1@r'ZMVhh0 Ǎb338#WLZ_Gu:DRo+9 #D<톱X*j^)x4ܳBcEsp ;xsǟұI:r;}49Xմju>4ɵNC8FQ(i7$|]hVwX)s|~ph`>o e2γzFk>QҪ [2mKaWX i) [OΣ2zXCI=c8g%)>ǻ^;B|ڀ?oSxV]b||(ljdYo s,UޞTk+pbv^å Bq^ʓ 贮>!,F:+2!c"D i[upP3dWX/ ꎵ`H|BuIZHi M5gւL~~eL8tDy_%Ufݗ|#-X_3 ~JŅRlq%6} #}}.8$,< ӂ|3be=? 3wA$g(`%#\c h(Xu+d"Vr\AJT"XuE%,(L`3`s`ݥI~"YpEt0ҝM8Ղ "ϓ|Tʨ׫'>;;q;l>aKu' ;D.NC~yц':*4qEx ͇\l\^Xct'^\uvܻM_+&tXc-{6t_@,JtJ )eX$% u[~*٘Y*sFT$WE2h-\MR6(Lɍk`LH *7F~F$!G798SnϣpVYA"Wم9i,\< pY_nv)L⏽v>K'2i'j/7gkhIr'GZza¦v ,֩ܕLE_O$l:3 {6Wh8rgp=OBu=QI*,G$ 8"It4|&`7]vlxZzF̪hW_:+KKE(-Ϡ'SkxCUtsƧ?WɲAxNP rU ;Ie9׾MF(ŸۅWa"[-/t jTMYf0:~9~pBYNϻ8bb֝]2u{>&jgS&f8]*0yhH}~I j1\]əCJP_'EEE8Ȫ''8Yӈ~t;]: 5ӻ;P,;eB68kxh:۞[~}RF$nN{8kIYq>8>O9kp-f% ^8Nl{6ÿv)%?,f.(Gv"HfOI$ƗG|rEaQ_w@ ZaAve$L3@%Rt99Jb+X r} >JiĈXeٛ1,OYZ䌏yw9>UNW蜆en=6[p8>~O_,,sWغ&[4a8.,Z w9?K`u٪X Dvm)B&LJIHsBpRA%Ee~2*µz0r ov['8Ph{!p|Pf|H(l9ajj4WX7l㽃} lյqa?~ ?"t(t[KPDA_Kq}<(h<7o㨸s ?LehX)\9D˳+cwz$s7 u4S>c^aoG2]/ *pSd6)0\@}^c]7KfRvVNc -&;a]_5d3lbq&Tp*,"mQʃ _r4W3 q4}-h@DӦmG*Vip8ěqjF9^}`Q+̖+UYL2_V4_ܩL(ItJ,L3==>H5C;7V&K<8 :_wI[[t`383θ2o컵Tt-iZM{b|3-'%><!E~q>Ns7?'w0&F@^ Ů/@i2x.[\[>P;kΒѓRlGN~K=vu+ dDB3;(69ٔkMCtawj64`ƕlo굚3047=ipdbj B)t3ax= 2ЀfgІ{`.rdw-D,xr.~-\ۘ4i~g@ r'YI K_3/Xb;UWvH^ }1:YQp_r; ٪veWo Լ$R PӐkW0a :J"NL=`VogsFM8\yQYhzwa=j >^zjveѥWlۯ)`Eq8 9ue%m7]$w)KLN++Y ֓\9!yPBH>>t'R@˧[ Bݫ9vkzmN~)8R?g Bhn>kX\ YGAF:>"G{F߇NS m-FԹSF,Z璮[ HV^[ߊmfڹ׿Mwa1 ~.|5>-G?ź]`Q_S]~Œ|tm M4%3-۷ۯĬ)j˼A̳kd[@pA ;6a@d8.cN9K!1?83Mxz$q}WFGa3j ʵ+(ڞ*ky jQոhfz\Xw4vc垻܃UAej8ţ|up֧O^ugGʼnС9 Mԁ`IA|zW?,oNej5FB LBE'*4xhdL}S6fЁU64hy FG^|lիՃu\,{>y!荡ʩ^aټk^qK1VeT֊۪zۏk1#!b ըPzwWy'ZwM ;`1Ƈ+?2h||u`1iWqkh zuXPJkC8_kgr8Mbzg~B?7J@)LhD.8AY\;N9z~HiRڱ#$DRk&^+c{ǔYh|<, ~h(d1JC=կ^Pp˚&C ]J&T6ѽ<@sC#A9.e¶d`Z_|5 T8,sԩu^@%tN (ŗܜU|΅ipNKi &bjJzv_n<ﳜcA$mQ8I/L\"y<3`I/%*Z(PJeE)SIήndY3/vsSmoFig[&Z4cܩ ǴoCpzhU_3qS) Jjz5n_/s hg3ye,]]Z(5JvigR'N3UvuqH׾vzɚoYazEAfQ+uV˛f.y0a) }DpI{<ƌ#_FI7و)gIt7$0ˉK.Sigڢ}>dMLo;݁w.o) o2 !].v $@ګv23}-^M_C]MפC> ӯVǾgbSdŋzmcdI wmy0zmjCkEWoXl~eeF:4!6xXd9m0r9+ɎEoͥ,A0I8;f,i%dlgM"jKJhm/ M2;mtThZ>0r( /~Iݣ3LZ7}PٻԵU{c_~WLPښzwe݉^*g)?ֽ^V}qB* UWT]Z2ǯ`JA)B/đm}w-Xq|ڈhV}~i1ML1`mwxܙY}ЍB̭|.,A %6 LBBu|u.LF Ӭ)rJ0p:< vif%I"g:z8Dl>5#ڗfÄV Otx*))vύHeH`[F߬Lxs{ 5f.2T*qqԩDF/ Ky&ҸI)RHvo*YV&ߘ ]Gk_X VN;0b6;.hsV[e2(h”4;JMӼ޴MQNyMG,tE)QFUrH )4Bs s wB\U A_PKtH(4PK&github.com/lib/pq@v1.10.9/connector.goWo6~^w U8؇KzNpRp(ÐԮbSl3po܉-B9T[a-ri{g^laEuU;5et:.A)<[eYU:p;$4@@iM^Yu[b+߂03H^QߙU2<<׸ Ic;5e˒<(j2%|l1!GgJσF/ ]SG SbIC@+X9g(ŕlar 2*veFR4Q ^+E0ɺ%{_zk4g8 C I!>z5rtܬQ8%6gIܻﵒ94u ~[K>֐k+ao~!{'VxVyjk&gJXf[aPbr,CWO<]{>N3~(CȡB*\vI/a:rwںvOPUouao.>VhikַS@ΡP_힕T#B[/$fme)LV0QZE/ Cx9 ٭@6 )][Q!IW]΁=$˓YaDM:߂%;CEz/4Mo 7D>*Wvҿ9Uc[ i WFn9c˓V/_ EyD#Wn׸_>En Hlu ]+&\L+lGݕx Tp+GbY=ǵ/r\fn'A-W, '};3JԄiӄyBGk@D=$FΎo!0Ca,ւ")lQĊ J?d؝p9X?+cd();?G0+m8ibu~m'rB=8ѝ|jlZQ+=ubzP_+l! .3{PKeyJPK3github.com/lib/pq@v1.10.9/connector_example_test.goj0E3_1O+Wf&Im)t]${Ȓ,iߋ d;kK yc6h- 2}ςƒP:'λttC 07=x1eF )2܀haәBm9er-3o@hqK?.HS~ đVW2K&\I$8W3x[ 4oΓXE4%$1WX"^;ecEc4 +@!shjW{173bڭS^.}pϮP' t.|e&̙>qtIQ:NqA\N⶜g%Fvqc.5UqS$TEPuJ iqLXs4g)^v:(WDY ˗ʙAy<#z茜Ii: x5+c }%n 4TvxbBɛӝďL<%&8a:ݮ##Ef< p?'Tm\.Q#FN-95yР@; 2h̆nTXlMj=0At ~w=  t FUhtOդ&lN -E,T:IP O?>iN+[=*XX#Pa'f ]ǽ.O^KTve 6A5zOOWٱX\0oB'g&K>=L)5=SRDem|חLͤ^'64hiX8<hnwBo[s˧`u=BC'Uu6H |-vds6$t`og^TVpɼDבLvӎ_6 #XbMgtkP}7ӣN_j>Gˠ^xԋdw h{Q(YdQ*q@Ad?2G7?qtt^%- ˒=BW %jcRTeN7u9ߌQn oۻ'KY_?Miac#СY1c?5Z>!jm~, V$vdݐB$=d^Zof7AHXNC)7.XCH iT!=48]4xW@UESJƴ@8Űʡ8V,NiWո)6M(SZ!tfXEX&oIɆ(]̲ !9 G{2$(4rl7 -ƠW\ΰ㰰g#C=W۾pz䶜bbx=۝#W+Ɂ-ŎFvdRIdCU쎲˨mQJZJj1$SI~JS_-Fcub>@qRi*H$Q7 W~K$q=$!(W-(!ZA A凞 j:^AuQ-J?r$uQey UA7Da$E!М@!+/P[[,L_C,18=9TG+04hl5{n$4zZR #a|wpL@$^{~[| _9 j$G_zÖRa*RR}x@pܩH=8Ē3&Oӱ2 6G.ZxMflXPZ T77*9э}WJ0Wy3L݇YV;ijٞ޼f+ %=FۛqmB(>4e D^pՒ=̻_:hLOKzwv z:q2ΰg%_-l\ $`$ kD9GyaA}@8lOR4x#\*VQ$V_߫|(VwW̦3<% )ϛr @2&\DO3M^rl$+L^k& d&Kzz=붠c= HY%PU\~g2eL\ bQ@$X°zutfĻ>L\H,4\{t<_O`z?#}~]ow8p>D_=>D_ѳ!zOWH_${cQ. @]I^Z3EQQN?|Og} ї}Y>Ry#kH{b5n]~)y<*^ن>lQ |VeWwG֤T_fL]-J*݄qJ?>ӑ|u>q\݇W PPGQŁ3y!x6TehI ף.FKeȧSI0R(g.!Z! v$ȃ3+QYܨʔB2ٞU뎖7>$Uy쑇52WO$\Pf?<wյȀ}}l88=|y*ҹ 2M6a&<"m:c~-5-U>Z3+vQM B Ow*Cģٻ[:ujjŊA$nv({{[SfHݫ.WZ/Yc0Ba_; ;NJk߆ȫhnV.LB]qCT]fDZi݁y)he~X*BxRK^ IYr1s( 3 zv~^<<6?eh2V/dI)Nߓ 9'U黲/}GmH~KY#r;wۼ0==Pꪣn]~7Ś[ň4sjb1b }`)KaM.^\cʧI-8sp<sAaJJ1B[0@% IPha&mnfdOWeSF|| څhyNE!i9ŒmA&]O0V8N ymCR43!&}z4sLd=[mBY;Ԛ;* }.$k*aCa2]B鄺D #roɔ. y9/gԧ^o@Â&>$)cr-@M\K1o ij?4'&q 2O!@tB,ZŠUC:;0q)dO5$ Av+09U'WDt2mrEΊDɜa׈ӝNՐ=/"5*miDp;e\k$V^*㦆tfM&0/f8:3IY:/!٤M )@4s5D+g[VL"5TņxŅM?:;V-=댯kXۚjη؁h5ePKCNr%Suruq"%q$R`trא4^ulx6Vy <:[ʑT&aQǽ3s)>u%1 ]*],C'"|VBcxE(1גfNge7O^厡( nA6aW)Bkwhudy6Pmfj@&bLF0l ™lAeaЂTS](vr*]X%^YsPBkPhs\2ᒿ̀8Ģk hVnш/v SԌә/1`Xơ>{&6up9wui1eԱ*gsH3]'J ySlU9Zn[ڂ{e˟E [e@tmF7:_ EԄ]AF*!Kè%di qCM@&0Kȟ[U}uUPG PCU/S5$=MGa7kHҦ5K6L2"es(fUKj9DT ,i8e\ar8m zDa136T@64OȠAt+2+psd2C@Sh]U%m{Ȅ/”Z%r?5M2(5#trﶡ^r mrc4㸴صb 5{t9²MoWP j ʆlf9-O8O%<iU=)VfLxvQL\0>س B4QrnGI T݇$fcHX7dfv&ج< KVa[P{@C/I-ڥ5szUPcBٺ56ႴJLw[T`vJYr6&š9MWĪUlb0q ;s dP9TC @1 i>$늪l@<`=Oh}]yMH :b"6Ԝj=Opl 3,U}qQC[6!,XBc֩\yuꫬ*,1c.1V4!ML*O1m2^s.,pyU rbr qT鮡KQUOhSυP'[a0RQ5߃ I,}nn`dMLPb:bc~+8UJPYZqTGp6y DN]wpJӬU6ܧʷQl<}]h뫔+o+}#?tGQyPK+e=PK github.com/lib/pq@v1.10.9/doc.goZr#7rL@.=zȵB<x՝( xeJrf:GYυ.DF!ݱ=*:m5j=wc1 14&J*3b4ʭ1%eڀ>@6wue |G6٦z,Fb=tLtF3Iw$S1 `f#mk5thumW7d.n@_ŸȵVʏdQ<` ԵnO77&HeO,Xuu/O&.7k솝@ uqFY6ɻzPD@jHl^1x>1W\c΂7y ҃G򾖡$=WXMEiSy3; MP :46VGe¢cHA<'̯qQj:XЭ%Vv[V$ A۪AV e' X(H7g)!ܕ/0)BA6G:: J+([x#nC(e sv#JٍQbPXzmg0)p#Ȟ}NY&J# n럾sސ"C<\ Xh]T]HDeZF٘FjýkrIֺOָ0`y 6` Eٽ*Ȉr=mGU5b<>Oac),Bi|ܯLeT@fIW9~/FiduΏJiL3p}#-߰qֆ$mtMޫ 8R>Ԫ}tURi1a-Z9%7!l}#j,J.cxpvѤJ>GGX@RmM|'!ˋ!7*a͏ˀc$q%grּ ycNX!BB}>;Y6q>Ƞ9GYr 뫯o=|\noĦzl 嚂Ê9Gʫv  ut(U@_˜b.Q|YWc!.8}.C >KdБ"LG0QV,m# s<&HzrdvHj laMnB 5;ePtFOC\qRyL`AmԊ]Sg@?Ɏ /M t;^'WWG֮1ĕ{יP@+gMEf/l Is{U;!UϞoڿ~XM^Qr|1;yՋS8JlK3(4C\ RiO zr~(lPsS}Z4>Sl`{S2^n;^=37chS0r'prߛwW2HkkIͶLUjUQ\Jl9o 8˨>VF~P66TP.f?kU &wř1L)%5߃\: =s<  n /N_I yLkU&/ʄ$"mePf{V[Zi9wނJRF"}F0~`,N)ӉBNDy`'~}Uv_O,xɤ ;]kf|/$>jA鱸Iyӓ â~ 8BY8l`\rҘnO'0C̞`@.;NC7 !aܠnJ-&'lMP}w]wb:FvC5 r;B1~׭UЉb2VzqXT(]p[A^DԜLBs?8e\}PcC.aSGDyT4yjGxи,<PL>}~IIշ&3*:W^~X]իvlΝfOÓ5&W_>ݓ [x'FQԉ;A v X |>|~1OnzX"'ڰe_*¼!9 dQ$͇Үn_HJYB Ƚ5fycPPK,%PK#github.com/lib/pq@v1.10.9/encode.go{}s6ҧp~E%')U:qeM:uқ_"A O(@jHN]%žEA,$C+`4D6\81V؏Inԕ48,uVJ/NJ ZnLeGrg%75~d^ruj%p-[64V'O*Gx8pD 3`Ou/UJ9>ǣot|^;:Lo?htqCrT #VIsk,n $pJ;i O1\\p`˖pܤ#e㙰/#]c4\ ,DSޠD7 T*Opp; _PVEiqk:H2&e%[ IO;TEl9ܒo&\I4VU:x87wFW6v31NUU֣oԪmEeV½uCn۳W0G(x&bb-F)̣\~ZK\}5)c* ;#m l$`\⍼雟7=G2cKr4pIGO17I6[]0yUrvs/>EF*-GQ=R*flA.Vn~żkWr!ꕟ[ ~&_`U祑"_78muJ0@xLHs7)谉+Q6?Z,*9Rh\$]sLU:.KT+FQo N,v )Nc# L>aP shX ;XgQYR0ieٶlmQw QX>"pBxRY 7U AZsW2)|UEPmؤ(awo WwrA?:^,{G'p'SOa;XJpoRjj( px⯺/ XWEGɾiO9`ews.I׭o<O#te%۱r ލD,\϶)Olfd-t$ꬻF%{WB%2Dҕ6Ƃtc53\m]m%CTmw"$zw!pw?Ep\0?J h=6$Զfۖm Vd +Q /OFd}p(v6 Hi}Ba+T+$Ƃ5J Rkee>~DU`j?TX)99TJfԡ}|4zUsYwMXČF2$pp|SyoW#QBZ P*5C Nz 3-; 4=A; `.kϮg&r(/:$pP]vכCyzr^=B+zRQ4'Q G0ʞož7Ensg/^9yG3O˕e.GҎ@63?'*^A$mQ@c@uk*}/~^jCQ n<)&eWyISb'U''pΑ8б4d|,,&\[Ziy S(+j*h}DeOIoUW$\oa8~ť/v[Z^xX>~`KhWA "EXxZ?Xp9ա:i:us,5݃;+R|3B)/4{3Fu1Q{6MbZy?mb] -\%5-/EHpr1x~rJeX*DP:)ro9 mҽf4_+~*r& DD4BU_h蔨Þ *=)CR(eT(Uͅ$ 7I2]L!Gmw7D :l O_@.><5Nҙy6n9ߥ|t<~rE)G_¿w?S~p؏=1m;9P9خLdޗ1/i_>!*soExw,tW5뭕3sؓ'UE\L/N8}Vwo7'=[꞉Q%U6~)K1KKPׄ"xcЯaVBA؀Us;EPblg 86v1A9|N],;A$`/c(/+iUn\;}~uu g B=oo-?Yʛ19 .Ђrw#\ga`~hBC78ҁ M$MT7V.(Z2 _tAPK(github.com/lib/pq@v1.10.9/encode_test.go<{sHçc hMl\*dc2[7^ZhauˆxݯK+AR{u,nM#fØFa Koݛ3'S\O S擩ϱl6fnOnFlz1qSv 224_ Tp:xh6Pq Fp l5u8V{aP||u.(<Ӹ\.ð sfQ"瀑Hq1ssfrck?ËAKQfC4PpWʢae?E>6;H ׃n^ K}6uuD1V[fɻ?aj=Z{km"Y|<}:ܔ"vBxOpPI$8`zh 0h7L Nv0hLz{]2{:xd'쁭ScvE׆jSqa|9؆6p k΃L'nGۇCxܘ6Gϋ&Z,vZz`&Uw >?b6`kW#6G`]6êpq(u=(jNZ~D#^zza| 0Ƌ)Țw("~_BIX|dl2??c3;Ӑ'h őp@1=NxFfD:L֦ ,b@|pkp_hf+%Y U>>47foOC[ֵ`)^W%I2ErAe6ل@]#"fݚntF܂h҉i*sQj6n\%Z$l5Hg`PY*Nژʈ8$FoN L'^h޷Kt?. ٠*|y L9 {8sf%GP%mGOi\i%o%3%j?\Ɓ H(Utsp NHOb,,K݅<4})=R%\+bf\ARd|W ц&)h6 fr*)CgC4?Y1ȐlS1lg$ҜT׈7Y_JPGE& ]n…yDAil0( k7$LB)ٻj+׈1Ex N-0{E xm BVb͵ |ӽDgMIvͽϜY"C) !N5˜.c(do\b:YFQȲRF݈"\&),Ȱ@mvՉNA-p5\H4.pf*ע᥂)WgD N-ya1}uZfY5)sfjJW"Dhvi+^qB S %FYP'3| ρ QgK~lk[LӃPu'U[p6^o6AwEӭ숁#Wzt,R ù)暚i'}KjeWkAz ]+ \HI|?.az"M@. @!;-B c9Kу<krQxP03E8k G=8'S}ZF+7F_ͨ:qrm Kjflu1t=R}H/?us4`m0ܶ8a  <%Kɾ51bF av(\xTQ[_R1&f Y8>a84d U6(+USJG!UAMǡUV6Ǥ`!@∁ub2CK]J o32a=[a6 xq)3RGfkmOvf1 'Xr;6qJf+*oƵw1nT R3L5$ _(;dP~~SW1J= -w0fU_" -\,{lzkz\4 pm-o_C*%3E&:6#_T)HsZIɥD?Vg~Z/r-RH*zǩ_6q/ (Fa>]ө%nw spCz# aSJ.-~Eٷ1+sml?L?n6\sh$@4 rB8_FGfcFOxi]?)mS>{8Ok]͆fc aʮ qyjfr(I+!ofdަEүl~8G\نO;b!1 L0X($GfY1|#dHJ<(+%G7g)v{堒kO*52iey;04I^hM2NB.Js{Rp\>{J8}F[UJAz2F۽eA'Ý1Nۓm&?ȶ+Xgn 9e셑E+ф GTcLҎsXue78yO\8M>¾% ܉o&\u$Si)/M +D$ygW\uj}G=1.p8^"xhcwȿggV8Wճީ2gALuzɿ}3=\>/!,ݭ 5ÿ=[1 (1q{Vq*P% U=U N˪h@tEJ '_fZO$K>a{\5J4X ubLhj`˿ǸBTo18p; UsK?8TZ[ 3C;eOqpC?,0bhג6#[P%ʴdU-0jxgdiJ[ؖ_Ӑɗʧ8>r?n Uxux {wK4q\Mgu:ڰy؃ޠ?8 W}ط='CXT)p!8TRalW*!bC^K¶Yg%̃80BWo=ش!7,@S=3a:ulR KNU]vVnb{[6(Lh3@x =O/3+(b'Z{Xd̐kM<$^>!pt$<~$s9yOqsސѦ0[ո |Ff?PK|7|"kPK"github.com/lib/pq@v1.10.9/error.go[ms8l ֞eY;W%ɭĹnm )aM4j ^ե6Fh4Ȇt yXho\PMTz ǣqYkC\ƣ\K)$Q45WFuI5!o헷uC9ۻJ}}{|ʅf9ݧ//aviٯ2^ b}* TU \+B9,urSz<1"zD\n^===MRz&B. >Rj5RhЌrX2 5Y"MY(h<қUlsM~[nd|9ڻħA)\ӕ ׉4O 4|@5HN~hAnb+m|5BBVKQ5B~4pGkqp% 7,"nN,Z0E()4 0a[QF-$U[SNJɀՆH wN i q.xa  % Wi93r=->tѩԬAOlXQЈ۹mմi> OqAZӋ58[CAJ)jLiB͊_5ZSٟSh/tJ}TVRMh=`:&cYcrH}9۪k^biLj+)*+E@#Mrق鬡E } ƒoWrH]r4Uj:aE[̦9?@Pj(2?55vz;"dRȬK*^{5 ݢ7Vn0dj! OЫlcN-!nQ^i_Ġ QW[P"-x]qnwD'[[=dܧv{$q*i aAt.Idl+YTli{rrdX,h:?턻ZG%V)4Y YTSܖ3bZ(uϬf:_|BJ<1fۚk,wEIʗ݄> J13&G(:-fƉԫᔎ2E N+X{n,buYA ltuY l ,qxÁ‚q*7f Zdh6Yib"6TEզJzڭmQ=UVMc"\p:hjʸRvShXexKP9ddYP ~bIӀnVؒgq[R֗ s^fQFue+4BN{an J9QQg(<3jrO|2`a|HZl\fK]af eTh S2Yk 04R4Q .jQؽxC>r5 gcwj_~if)MSٝQ^$ڝkq58~gg ͜eH'yR+@kJJ\ޔX"7]si+!?ujvS1k<;ԓ ~^澩D(T^"LiO…g˺^Tѱe ٢v]mrbکw#/|q37}![SАmy =eB HU =tsX̻j˒,u6)G<%RMzx;g.B< iC&NGR<(9yAmtL UNg'6}uns.;rfRljɾЁdtè$_]MV@6H5sj@=M=#/{,7bZ&.X'P_>\6iŨ iJưzhUjW}Q;O[fgG$ Cwtx ,4Ul_mW -<\m,IWm3[`I6X~ s~\~ 4]} Lc L{ljI,M>Ag]$#$N͏zʶ}캃5BnBd5ft^橻dVCwm3b)iMngġr2`:i-3Bq^.uR||Gs5=(mT]SVTO\wx28c rPExZԌgjW=HӐTq\LʸbBz؈mΐiNtn &vӾ-e?т4xeZAU|B&9;C$OfܞޞiA՛}ߡb!4j76`l Ɨf-~[#FWIG__>,h ||oJf_'d ?k$ćm@Ʊ>gJ;9=N;&׿ZE!A_,|Yj09Æ: !/wB^_ݴU,+06KdoOw[ ubw"dh{r sWkmάݴC֜k75$= WtX;+l x s)8[L%`ݰ(V.m][GO[sY*OY2oDܽMzaUxJO?".?]O 􌅔mhF!-Ȟ/#iC3ξ$IŻ< ٴh$Ohh|('$ )rji6*F{{|E{9U@tף=lCj a^ӽ,_A~{O: ;jx?E4bQ@|"W)k d6Rdž5"2W5AⱔpÙbn:RmG57H=׽ބ1݄7e Wӭo?ct{R:?BB*}<7~[ay¶=pk.| w߃& ·_Ò2ojFIs;x⫕h nɗ7jM_;%M@8bQ曄x$(n|xD0%}쎒 %ѽhb|w2!>Jb;Q(j{vl(GI\'2|t ܣ$#"( B;8U=kKdL8 拷YlH#aDL|<) $#Aʹ8c'#h/AldJyA\*2L?bb|_zrmY/>o$WVd298˧Oq*3~pcZjDB-=f KYߦ!íR4g䝸-.֏8B8,PXI:g&cuv%zeédtM%niP =[i&y3K1&vگc=~A0ywXD 0G;٘pzz2VM|@ۯb'=)JxF#x+ VNRvR9ɧ7+Չ슖^ [t5!% O7_"뉏7oA{hnJij1QQ ":\\ب(w~㲲_Vg)Bm䰬m6uqck9D] Lxxb CHT*.?vV[xڎ6|47"Ip7qmWxG1:zstxO[xqr4:>9;V~~yD,wNK:nlr1`~9H=[# .6v@Hv pީK4dUA G.Rp)6Y*.!*nYBI'toh*i•A5$Ld >)|qX2W70a D\/b#Y 7"ַ{BDj7Ƙ0աHaƨZL#H4X gcT '\w1@ɕXb0 A EcA8A+w7]3op#{S.,-{[ոlʛzmރl큿6p'-w)&4K>p40Qh;%̓+䤀̨/{DUg%L п!4^ՃYtNeY1vy4ZVShooH6ml n$n܂ !:l| `?hX2%{CÔr"[ Ɋ*Y+}-J,DO͸Ӻlv_nxrH G8$N&+]%d/LL>YqJ&K}6*&,Ӹ,Py3쐗*]!^G:6&G9@I;ܞ{'59>Xp:\)\r ΐJՓ(F,Aܣ# i *˾JI1IxI,\ҵӓPz.EvHɗgGIZZC\c*4<6.tD <%c-9iJps |2UrVxmrxb/|uG {XI A $.S|.QI!k3ES܈/k=LFތ 3~=$|a|mbߍaoЋۅ^b#Litqf}ImyDOiMOݔQMX.ap=ᔰ2.+^kTFń}@޽)V7 ̤c;S}oeߥPKi7!PK&github.com/lib/pq@v1.10.9/go19_test.goUn6=_16 5$ rh^ @&F{ (q$I%2{AZIdMެ!9͛hi)-_XQo֊j-1i#,I+k{JYJA ߅t];5V'ee՝`+p_|,A%LNa(h5Qպq3gKdMH>p aс,yXj]|m?VV^ly|/nzwx:#V%XmN3kն4:S=ӎ,,3<s,@|,٧s0JX طXJY]U!48ؑ( h(A~ VaI=Տ¯FE#@N/bZFC!VI5Usjp~2˞GA|:_7mCKo_ήWEiƒ1z{ @Kl'GnӻboYzTa!HE#VI݀Cibɣp1 렅'#ēJUL&p:>\8dz|JGnw M{_]~W#Us Z~k;y-:̓:4lJU+X #5#AqU= 4P YFA7`'As렁 !2jKpyMsĶ"f)\_ S8#3=;2J317yj{^qh):ZױŽgomևo&c:?PK ߭HPPK*github.com/lib/pq@v1.10.9/hstore/hstore.goVMo6=bFjT9z " ЦKb`ii)5 b!Fv/N8z|Tϫ Ah42&}-d,Ikn\W;d6V bR3Xo=jh: Vsev\h`ͫ pUmr_21z%aWUnFhY4>,|Xr4`n58bAa͠*h$̀Pu+6d9?t-i€F.eWq4FK !*\~R~%֐:T@w1AKJHXu鹑gj*̜)ui QKE!ܚMwM[C瞂kX-BVO+cqdI/~ipi%M=Jnڙi-T_mo(` K\6hOeOXS/V UgR:' $UPAl0}|~=;np~5b _gmbjء#x<|!b{|cpYuj p^],?Kz㻧x8rSY~'>D - woV)Pr`zN}$No}zV#^z0~zNȗ}p`~x*ۼF2}kLM%oh,0=Q& *5?Jȥ[^ Aďھ!(R ʈz<0tGԦ˻qehG1fPgu{'TO4ϋ0PK=4DE PK/github.com/lib/pq@v1.10.9/hstore/hstore_test.goWao6,+,rKOFl Mݮ@t7hNaI*,[V` G{;92mBg\*:zƉՠ6L{߀ɊQiQ;f#r *1£(Z=z|jO"6RԐZRxJt;4(ݛA|Ok>n`p =B!ۓ:"@XZ,S]ɮB tıʍ!RV-&G\j3Vm ey7Q"*Rh %"l50rpѰ9O6n^)*HF%kO RS`)0D- i{V$?8 >?׃7-\ `8Xs0ay31m1N[IQIL)tȚJE} ZK2m<>EZHHQp~rOy_j@$2_/pUSU b*3}кِLGh9 4v~9?ĄQx2X+=N47C<>>>2ycid["(ZlڔQB:ȏ_ɕiQ R|ifj0H0@Hk>мch=|nmG&8%x,qG',Q>K=BG$=ۍ=j7ճu RIBIk 76)( ]祔*!n5B) &h`&)Olmlm-[;0+)4ߙi :OR&;`䬎 vKr-$8a`rNy֭"Uۛ5u |L޳Knŭp0k^s9hB_^~T=aO4(nST 4LcSE:L}ff S&ڗ [Fv SiL%';ub׈c&G5G1S4̔e%-g_F&\EMsd)!p~ `)(Hp|t Be>u$,7pvXgu9#9.1tOLsG1(Ye%Cc8z-T)RGݵn 7Ȇ~X.$2I_Yߨ\G1 & .* J|ć>Mc9C];W0\+{&;ݢ 9W9t!TtM|woѵ,#UƇnjz< z4*mXA?+慣s|r#ha 0ͮrخ e}nC.J*Ǟ'&'|sֹ.,yrv{A]m SG @@43C%]pG>Cꨏ6JcW(4퍈*)SL`g'OdC-&/ӫt 8`d KKg^ֵB;P9 MiijƓZ7S#eknkҗR C@h.H\ȘS.(GT~A};(iIHԃB?J'oD]H,;8 o Zݍa{|[ x4Vn9P%rKU&S:x) &gݩ_,m=BS%JS-;j`0'Ko.*ھ9o%tFM9ɸ~kf6jۏ3J7 m]a:}˃)k[v1HX"rU>Ȳ֯kb Z)v # 듖3RsShJTJOz}$~:-1t+A$֔MrNb'غ[򛰈i:n Ʒo l#SKX[?fVV+xlC)RҴ-FO8ҥ1a70Ikc4EC/e4)-z@kvWPK_i PK github.com/lib/pq@v1.10.9/krb.goA0ѯ$BR(K[Aq&xIÒ^8-8{of>)v;x49i# z?jz%hR. LQRi^gQeqغiJ@ 1'/xSZH `K]λq ٿlPB"TV $S^o=M|O 3O9܊D#MՆhn?w|*wֶwrX-( p-rL-ދ1n=O3<:G=Nx~}ŪbI(;bQ0鏰G}H I+'\`\/ZD)dž/xDK<&(n#lB8F]^N{ PK@qe0/PK#github.com/lib/pq@v1.10.9/notice.go̖n6S rک!w.rKzE 6"hh'|lC=K*Gu'k|z*?uYcK&tmPHwZ {IvS4ZFv#/ aB}?L G#?vR@7n ZMXBTޑkCΨ ;5A.>̖Zw/ʇ7{ޜ1ju@S[k?t'D&CIw .)aIqRHh9[,a[Μv_B}kO\h L>AISԆMJ>X{sU8He5\,W0AP|m~ˣtcʗ }a?f "ӥi/4zUPKޅl) PK0github.com/lib/pq@v1.10.9/notice_example_test.goROo0?}Ui CvځzEiI^R vlGB(~U5u3+`[*|qN@H!Y;e#Uaǘ>A܈֎VM&%@?G9:M[k ;OUK4 79 / F^:`$ӬāE(>Atf⽌R} )ky0 jt;:LD;<1Rr `GZ /D91(>'m `1kx F|ZX$0iqtdv']ROFl T9TP> 5ptZ?ǯm1p*Fԏa:H<PK@PK(github.com/lib/pq@v1.10.9/notice_test.goQO>şOqȿ@(EL{DsFvj-ONTJI Ø=;B7.`͂%7P hÂ,5 ǰ0liXrpSԂK,aw~HmxY`xmSE"Kz"}'zY^67DaؐpT N/ds12T=Og[XZ< ѺxH9iwu{0Aj~CYagwF8=P;\}cg|gxDTWQ+A#WW?Jݴ`h[u.\ctP%x!lQiAjU Sםu( CapVm$ : ^(K= 7;!-u;k\{>xR6fqHh'kS|ā b5`qzZ:|hJ-BKԁZ#[ ׼d+V,-lV(lc oZl4zdϦ0pe۲u۞xK{;jtZ$6Q ]pIɢEQ\b? AyIˠH-3knnH?gsZzJ}s~b)=c9h*bg-hߞP^rZJ}ě Wd\zD&XѢ3I["'J[9^{9%\ZCaY-H]K2OcQdMcA"[ 69l !mrIpnD90!or"h'=g$K))A7|W$pT~W[Я՝|N&3Ak3i6+'~F&_GF; yQ yMӂ Je̾{&c0%0ݝ?a>CH'?I[VmwRL\PNYxZ,ã e܋Σ0Qh@6$pGafmX n+Re?6\8VIQk3Ђt|><сg0͝5pzƛڴw 붪uewma8ViT4CωjKTb́v< 7t^G V8;HD^$k+an^;G]m5 z6QE_59l0'y\6[^W۝O/x;XfФwJG\((lceR )x8~%֝Ga=PFBO=>2<tQ_OCg0TCʙ+!PiR{-r<A(ĝl;x.$P>.(ox}gqg-8ٖYfh Q7iR\'n}jrpi=l/ԣN=;й>Ao&P$q4\2 9>Sg[TNp7S oO(Ơ>>Y~Ԇs'>HI81 NS*l3G6q7BpJ״9.9[*Q1h3REѠy4l!%wAA˕U"HI # adI%ލs-5 L&^m5 \!~ :?иB2'?X?W-$-KIżh~=H$_mu yz!v,O7(Z#FJLm#UjMT$:OF`(J>5(vpw&/MA "r}a,U*ղ!+LJ$p'(.Q.XlDž; v9ޠ\|| >F+Xts l| c! nٴ1m 4)I5ܐ=P"T`K9P OR5An*(-< xgOTCZo듇ŏW =[ǹ@Q|uVz^+ j]_ mZF[H+E纒S6v9.) -iin,514եO ȩ4;TB ݱH+5ק"uXqvT BZ[ 1Xg CFJZMq;c}{∉J2Ȓ>t<hg@ϳ@49E;fgD[Mt1ELay_apÐoTsGX9wHMK"ľpǺDY s0;x 1KIRAdIJh09iTtYi\\w`cCe˴PMB$Q04p·J9e ڪ54t Q1N0=fi _*/ib([g;R4%J6Əf~Ј`d˝jh8d08h a%ϣ$+H^>ct\+q+rb&k7Ef:k"I?ƧI%n`7å32gAP }P,"+-)rhّ01Q,}΢Yb5)6& 뜀׸Ex'J e ;ZB!TEz4G /t9h@)p2xH |[CnbWQ6 Lӛl ( K%y QѽZZ,[dyp&ɓ'bGĸGbx4X-g|l?&͓w>5ny%Iu4Ɠw^(,إKM|R9!nvBU(I;8aP\=wy};x룿>:EN^<>ګVׁVvNuCZVӻF9SnFf!c;C]wJOSJ)D\Rn6dPZCq=-;SC6 ףՕxun3ЎP9 4mE*j2H>=ԧgG yMǭvH!3_ܜ/{LXįuCp|YS9gvB L x3̇# ^i4'ӂ/n ,L? DF^Vax~끙OȱIx; &Ԟi֘[!}_4q0p39h;=R'Ml:q`1̿M]q뙅5~\2q2K RynM]ꟼehGG:FH lYAQz?j3!٨ g4J)Jc4u7Yq4g[GRD zr}#[b+'TP XNВ`tPF~`N|O^^p_= 7eW5Pc-ӄU?;7OT&:NҨ{;r[tC.&X8 =7hȦ/&pqYi\Y G@DuwTN| 3rDx 7ncaɱG/u'2f"xCcٟ477\-X<앧vcFħ8__1Q"&{Ej/yʙ2c}쐑ָ1I+}h7oQ 6{y6֕N5{gQmij̙LmD4Qi;3ok)᪟ވ/c/'Jdj "2> }0IH/&skE:m4pqOĈY;IuEL@BknxcIkD뽢fzJ2"޿g8~PK/pcPK(github.com/lib/pq@v1.10.9/notify_test.goZQo8~~TEB+']h9{=4 ӤBv0dKIu$r87CP9Kf,C/}s-̲137"jDMQk -#ϑ~+2s?ݫ/3e'r%a Wa Y{| [ZxRGLɔIxRF!Xe~ L,JAl>=O@`ݵyFвS&% x4X3xx4(5 m<$&a͘6AWTN\O&ux#x;.7(K8A_?Soampnlc[n,JnU}Z,-ŖBnba;9< p!XdW9[R&{>pRf]X?2k(ao'!jtwhS*Q#2hWbA~)Ҷp]-gvVA  ֣9g3 [,=_i[zN5h:mY&BԺTvk{ŦˮrZ 'A/2iT1UpRC^:v^QVKr`:T5".Wm!BzQH"O7"oUj~װD5m!|[l&SNQDll#Y+}>B5QG*[U݈.eR69d:[.Ph+( )Td)j W0a\XM@`R)jP 9i)U ?2n_k}o'i>!R!t+xEs$ `4|;|yyvabzԣ$!J:|&BZd)=*U`_")])ȔV %0jb C \Z2([t!aBp耒ND~/|Ʉ+0zRz<{m!a^GOܓ_eFS^<*'VNqb#${KJjUrODنV;dH3o̰d;%AikhgQD~rwԽL0Br6^-D c +Pb>`tYBiSDjmmnZMec gBٻM-iۥNC#KFm=;4r4ys 򰐳+X <.zAyX#ӄYqץwb ٿ/D";2{|QdzznI+,̹*<"J0 "*9/^n5\>]/3e:htI׵!XPF캷5Q0$ډSR)n_ooT= jI7=){ܗx;x-AM)Gα9:mNuCKKβԥ@y'a7Qn_jSld%Qj瀿"/>)򱅄- pSn4U$ro˪~*S*V ʴ,`q̳fT⻋8]\u7MQMpr!`m!/,}`Ov8V8QpFԣtWUTYhn!Qs40f yͳ z%xAQaU?/r^ ݢvpo*ux ;]g5!Q7L"2nXPS3iw)w \v؝2ޡګ%NjAW^_ bwz1U,{=JvZ'LEcwRŽ|wWz\迣 $êBU'J%Ӿ27fM} ]NyO"1oǥM9?7o>LmaƸUh 08>߇?dWayfؼ/ Y@D,=)$Q* h )O!?ưWFLZ:̸csC{㗯_y[T)o(GIXY/WhRsI3?xk.$ ޾`lT2+^sou22PK<އ0PK$github.com/lib/pq@v1.10.9/oid/doc.goD 0 ủx4KO nbAr u{T.9>{JXy4(͂yN)UjR`m{KJ!.Y+C%%y_|~_PKloPK$github.com/lib/pq@v1.10.9/oid/gen.goT]o6&y 䭴Tvidڨ=CSxpHEp(;Cgvcy>EN64:(6h-z-BT5P-KW݈jF &«ց-he^I>jze,q&j\KbMmF֮/:);dly< .cjm4A%&T~#|lY3*I?%K#xqC=`ˡrFCLhk ˷6m7\?2ssMx,'Vђ9 /0t}t9g!t5wUI%vT9AgZ1Db;wZ373@]d5ĮSTOI55]b\+UT]'*Cx1[-.:;ޤmqH}~9>>>UW Iۯ9R#@z~ s\K{l,9ϧUlgt rYmb٘|A Zѿbrl^Sgՙh}yz+WQOĔ1 cߛ^iwAyT3A u/NVۍp6ٜv/wGy>xccg3J6۱'Zâ\%YC_`tF 2M0݆Wv`p뛣0#}mEmômPV {XiWGZ>܃<\H1.~PPKQU'PK&github.com/lib/pq@v1.10.9/oid/types.gotߏǟ3D0^lΘl37sQ]^ЧWuշβ:gNYy~ȫUQM-=S燇SU6ׇ$쥪.3firxzM뾑39Ez7o٩jz}#GY~caU>(<~  簦qL#[ ;UkZ;l?n=t0mۺxyhF.iP?MU:.{(~5Lѱ/`ٲ:g3}ù,asBw^kZ/YNc'1dy̓tUھROۻKyGIQqKQ%D!1y'"XQqo*5R FzCYcӗ-47OG26ҋM7oet([.;T&VTZهCΥl85=gݗ((_'4D!D,AF,͖dDw?"% Dqh!D}۰t- L&2xBKRXfT68bڬwm5[fK:Xz*LQXYԈ`5;/x j&6GpX%=]6R<[9b5;BH a5;X:,vN7`&FBM^o*L8bs{qdqXm|Q[zp8PޯY]mFrN%m24m]9=3xӹS-/) ?N@ϋb0| !ZLJlXP^7sj%Lf};N%tx@[p?)T[pa$%O\kKȏdrZp&3^*,t%X&Q&c:~,!<4zGK58 &VdmV0Dwʾ*vl~_O?!f~V-[FЌ?WS,yȱ]@'Iy:&uSÅ[p\,haHna Xw˺knap2 N+w o6!ķ5 MW 3$an{)ƝD:٥(,nBB]Sq&ٽYY)uYGeAm!㠟:$%r0Sxq9tYl$2Pg8 _But1<.7r-q64F2 C[B|/ 1jdT]֩9sirNeSAwY'T]։6UmIu%-l dnm*.넛P< tD]f 4tXyknV~/~Z)BEePqY:Tv\K;4]8qj$]f$9r~Z4Wj9UGMiA'!#& vL.3R2Z$pW7k Zg[ J$y =ۣ-{ӄn}9υW{ Hۂ2"@Y^/1GxxG .(Yq{ZԟVXKoi~fۃ̈́LZcS-/2ns ;5y_oc4"1r26gk̲ NbO*\ fa"B31 5jL6<\L31m&zf'`9&m|~4r L¿(yLTSKxs B,iF>1kLυ6A9e§0LMd$D4l.Y.Q&FT~r?[ Glʩx8O_jԴhYAT8XV4PK쎎 ~)PK!github.com/lib/pq@v1.10.9/rows.goUMo6=bB*Z'5"s{07(rb- 96ߋ~x$73Tr4Hfj&DzFEKle\fQbX8g"B9*yF3!h"k}AA ),\/*Kp%P%I`T.k6:6z؜C i@v="hh<s@$dda7hϐ Z06ciSxț#%!.cXmBtwZT4*WcW!*HK  yGCRыH Z~7$#u@X:?KOls6[U%|X>q.p>n]:.@KM(*lڃ z>iu/58A'.v(D;eRi^tdiebq.p8f& :g}e`{2(|UT\9WiˌO_^J~H fƏ9K6P/!|=J*VBshS]2(Uh\Sm|IK~dG#?h?"ߵ}Rx[ܒO\ EKR/Q_tttܪ'~ BlL\k־dRX9,e3βɗc=@lxtѳ3ӯhT 4TCx^% 4'/=o;\p" i˜J.Ã.^9yNZʬ˷*Q]#yv[X~n, [klyB#-R~?-ќ8fb@&=3&P=o)ziX\'CG{_hV^xE*VKDkP8I]{[o;xu \3ndKںgXr[o_!+{xc蝄x[\IBtSSIJ~ ?r@q6R?8c Ǚj:=Ӥ9F)Fse]獳 mkUumeZ"Nnq{(Cmc T礅ԈR(l#}?zI*^.ɇBf@F]&ɮ.gŠ%|I Z>UYkO]`Ii 9IN+ptG/P{4@V 5mv.d 6!O@x'群Y@nrm<;s7lx6x! ls=m}A`Ӵt̙oB 1Pl HE&KlnWȇ+ Wx"}8%}^LiSphw%AcBgg xfP_h6`EMQGǭD͞]8zN31h!ZKا%p fr%Rg"A}ߛ?- ~ ٸ:w=0%0U|R.i'dR] F7R}j}Eyf%W.HYRi|.7JtM֩%T 5ia6~D-fT1||taHq +PKD'H&lPK(github.com/lib/pq@v1.10.9/scram/scram.goXo8+f Njmt}x$94Why'^J? Iٲ㴻-X|Èo[w'g"#ҬweWzUu}߇,A =(JyTԒ@ZTYE#,XKZ y,'"(lX3hYA P+@(,xYV-!UpԛTY\'hº UUZ+{|xb5@ɤB5cSd^}@XHd#xQ{X, D{yҮHUVT(*):`zsˌUB_dAB,?Gp _ aϾ$UWd&)1iD7Y R.>t~$LSg(m$4ԇh:܌7L &ucb_kN/:LFW4 ΣI}p.l] 0 ,Lf7,NC5t4 p܃h 4*L̍oaz$ '!X;pYQ4Y0!/¿׳I|4pEupwfIG0&qw>,ϒ"Ox}~F4 fEԃ6&0 np܄7j0N^Wav&[}fI4bqYd4Dt@n4 H"smm;F& epס[Yvz砂Ed.zSR8 Q\^?TϐV $n$JY8/eQqԺE(i8lBtGEetsQZu+HU-r^jٟIO?bgE 9%xґĿ4X SʽܠѶ&0ELaj {*.](|rݓU˦=5+fq zS`u劜୏G 6DJn\fc/Utʃ'kgF,H iUhIA7Rq *TbŦ9eF(OCXJV+XVҢQ8Z*Q NE\r |v.HE7*tt׋N @q:W9m1RblЎkf vZ`>p= mR.`jnHx!G1Akf(f169l5׷Y{k?'ӄ ttVtt^N=^ޥ㩇 E\ȭzo=Esefk! gI脱aGۄV!JJAEϑ gQBt4S$593-PDPx?7NxFS|*Nr]ReNDuΖz"FIXҊ 0_rRLW]tVyUv 4 +'9>5|nJSv]c`5}k&S)q r#*rg!MdMedQCE)F vn=a%%po ‚DnNrLRmCso>/jz֓sKNdeB%f`(_aaͮoɭDo|`*_5 P9NΜNǨg'؝ǃ/7ۙb W4f [@I+wby%mLhC89u:yB\pF+v~B ,ͺ9<|<cfJ w^/'86kbXݜTBkaTso0QQ*>7]A=kw"j}EVʇ MLTgۭ]،{vU-jixw]cl*3?^h/UEhW68ʵxgGlA;e!*fH7%S.|]r؈^޶XӔ xV;lYg_k*%YR\ ۧd&[O3A{uaܽ/0x Ţ8Ud1[|;?BvB& ;N#d8@;1A ;lcJ^A`ž5wν`e8fL}NJzhrf‹ztxw1>/9ֻ1V=J&^;qյ"^/kzafqRi;0Bx־;řkƦu3)f=pQX/nz~9{vV_  ڽao.ñ|qv @$YwNtnv"o@Sp+FV~i7֟ٮ61'u%͆ ltG-XEʦh/^6ך[&lYU z~-#_MFakl13rM$`(tD$7&75M4 ~ف[gԽ}i;5;CVOv^RW_07o>CXK'8ݮ77xĝDFk"lT\ª2;=8='^*|ǚ@<)=p=^+nn7.W:PSM1ǂh5~3Bc:j}spPK| PK github.com/lib/pq@v1.10.9/ssl.goXoo~swΝ]؁ sv;eEeECrȑs8$@digy!k/~$rU` La)f"I?4:c(|NքUR*/zAd$ )XF+(:whpŠAFM0 aHV!]1J8,9^$7v&% 6jНyZV",)Pk1٨qd Zc_ r;?is("LN蒟8E<ɀ6fynUx1L&0~--y/KV.K 0Ɯ%/՚Rh.\Ȑ9tk=b(.K͎&ڈ-`dpeб̲nk ^??;'ܨ7vʿZI7Hy0^LJ퍐v~e9 8qS@Ĥ(/M,(m<;X,)zv4ӡum2CnZ\ 옔t6,,7I\ǫw'^NRH1) S#HWGߝ=w(u (>3o}0i Cs6jP6+Aeu;5A>}7LJg}"& e36G&:vg{}"H_!L^~wpuKSE'~.,Fyo(U1p ~`'~eDg6+qյ=ڢkƸd0Z>M$ˏyON'w"km8QT~8><ͮq1FYYvm&hoBJAd~%l >pϚݢ(.& ~$E].8 tiǿB M5Oo_bm+7ZHJ*#@_Dna0TTmP݋'i) 3]ekflXpKW0'Ú?76"ճE[:=+kaZ X̣z wKDۧd`0ŗGO??\q ¿gv'4 f\+,lO #54*PBSVE8)QRd'NȍZw]XK]Su'?& PKv 9PK,github.com/lib/pq@v1.10.9/ssl_permissions.goVo6~Kisec+V+nEӠo+hdHGYÑ#;a/,}}wZ.7WA$Kd.Eri/TJ/E&Di SZC OWr VުoC*"e o S;8B4 VAM,E V-4r9|lwҐ_r~RV~\g,TMbIiIǤs׿7I7F%v^5rsb?pH/Uօ2'Pc{]C2GX.Ṗbq\c< V0>lryŠoZH~hvF{5R8WZw_{!=IOe{S><%|SfEo(SK?D4O~*;4~a9oLؓGkZ:]?ZAm'\+M[E^ aD,~ԍSqݱ˟s4(3sf2SJSGQ/Rժe{>cwЩzS5C(cԳtoJ~H ,Of]҂1c3RvV Ş 87җ }}SQff^}) eZ`\Iݳ{7w~aܛQ9 &y7af$IڲلOW^/8vHW0[s.^9`'"6wBC{?e{\$m<$c}HEh2JѴ\'qw!Qs[ؠ?*g̀+? 9>IE 5 F؂ƚa *Ƕ <\$4[h){x0l Q A:P~;}0vf$īLBH[VcT>FU\s1x4ПƙoL$gD^]#"ɊwPK]-TY PK1github.com/lib/pq@v1.10.9/ssl_permissions_test.goTQo:~i$^VϔZhiфAD/3zfʞ}m+LG)l ̥?\_AB?hXĽ#|a q.n[x\PGz=x9FL gLs6h`4s Am'̢ Z| D?Eh~0>xU؁~iوFRY0h`fEt]Tc-^)c%cI]'"HdYWO(8HȁPe5}K&BHD;ٙ8 =0g60P@Uwö%'7z=d+3WZu9|2}T&[ĸ1l`JQ2~v"e&y@wL.`56qܤp?{Y#[U-AfJ^`4뭦ܶ|Ø[Q *"FE70„ 5#+;V1tUu֤ w\{g'l6o,Sjoa]&&lK8xEJĢ21a[K 3=[U.p|Y/z=-9^<gvYO Xd`rY61>ᗣhAָy`b ^C{dE6Ei]qȍkB NE6 DDIca &Tv[d| n][»\Su6z@K P Y=S,{Yomi&v'hO$ﯿ: %#ϨA*[y1ioҖxa$FoM8Vi܀A %8fa(W}5=P okShffX魢x+t\U{TO?A; Cv+ -oufrʆ7jÂl[Iw&Vi^0W V\t"UGV b E4I\6:u&Yحm6Y~-PIb>g3l'􀾗~YgݤVObq|^mbXc55V27hvuF)*N DQӡ-j8?  P'] 'SZ7qݛ [m7He~Zřc2MumӅ$z[u2(4vnˁqF?*޸UUJ41L3)mijO)!i)\0A Hk5_&f2F1r>0…Sݥf&eMl}\KkL9T>٪d0RцϝaHHS>>k԰,ha`pXA衯,KcacI?? $'pPپ8"D/gi Ь~lr;]/ ֽ 0򖗅OcRW~_`fj<at7e2hFZJvCL"aFzn^E¬qBܒS)k0_` :4.,\PV9d#NQ_5_ћ K*)+pZ`dv`.]` _M񩻀-$(S֯]gUY6yu59lTTfj 6T_8:, PB`M؈b?g|ڷ_ܻhx3nOP lLKW kf))Vy;}t~As[ZyDG*B4go&Ԓx;"L0S6CǖQh?B^rP(v@T8@1??*#rGnJr:~ӅV>, ݧVto]u)cE-d=\ʯj'҃[4UIWD&oPKӍ .PK(github.com/lib/pq@v1.10.9/ssl_windows.godN1 y9;m2m5Ij'VwGK%~=t!p47 m|$)lcw}D{w3h?p-Nњ ӖQnz"\&Li+TzWbETT(_/v0Jwrͪ >=|PK!9PK github.com/lib/pq@v1.10.9/url.goTM6=b*Y HG/.6ۜKQ#ECJQ/FbK.2-yoT"{!0: $톐$?v"&2;Z>@n}*r! n$y|W[$A<A6xp`tCU~Gsv KzLv,)f9hrGۍ*QU·-O 87UոfQ_/W7_c|\n2pzOQvH#hZ\aA7p,Og3R ]2cKzFZfaxIu/չδG(?8j ;C}f h+Y GՃ4= crp#m_gk.la& Bh ^tUg3:ZC ɴM r)\$[>}UՆ aB.E" j*odCٳMB{TY^Fc$rf_sW8 T2qVj&Y6bx| >72.]-JxbTn9!yj6z~Gn4}G YV/oc4xr*M!|Pzu$HA򵭜UH6k׌ⴍAH! vM܋PK/.wPK%github.com/lib/pq@v1.10.9/url_test.go̓Ak@_1]0ZiÂ)695Yiw3r !l1ir)޼<5B¶G$#u@⯶ Hxlz#_ 20VJ7[ϘK`I5d눤v<]W%8ۤQO4f1"{ =FTvn!"u 2v蠮[ =7~a틈(uC\G?<7$?atM<"e^i MC}ʜ}Ba,M b>LޭS?Al [?u+:u5u1f)¥N1-[ʌw [Ol}~L6XuZ$5Ll6KYȲ]n4}X %;W2,h!3=+ůPK|L PK'github.com/lib/pq@v1.10.9/user_other.go<1OBA*mny>o{݀j7oI <|Q1QsŰ5(_J썈Ȼ8a/?4שq:!B:/\R]SokD tR[,WXzq %+5:5ɍZ\)Q9livf$ZK!"vk]B"=jOBnnw}%nla|7h=eƪH1 3YqȢ(M1y3Sk3SIZ_]h%"E;<6p u exfuO_>0-M4v멳k8=ABCF_Ek;64qQ-x巩gx~k͵- ! /!Ms+iDIǤM֠se6!PۨjFtQ&k/I5 6rD(hY*.tsK_>_?$tu6*O3=V <!wŖxk Fni<>L\e fl6ǥ'\~$zhS"nniu)Ѹ)R:9y5ogPKNgPK!github.com/lib/pq@v1.10.9/uuid.golAk@Ϛ_*(`k[1_Js֎%JY俗#A/0כŜ+k.2JRUg?-u+)D%,W~;o}` x]ha0*1xOp!|OقW7*p:(p]W>r|ۣeŕwgSYڿj >>N$w6(@њXopؕ _a*"gqL)@*F0Tٷ\;̦so0VIM+?$? n yak[o] 64X& Y-@?w}B+ΎPK|,;W*>PK}?github.com/lib/pq@v1.10.9/.github/workflows/codeql-analysis.ymlPK_k"4Wgithub.com/lib/pq@v1.10.9/.github/workflows/test.ymlPK8.'!$github.com/lib/pq@v1.10.9/.gitignorePKSV$Bgithub.com/lib/pq@v1.10.9/LICENSE.mdPKCptL#$github.com/lib/pq@v1.10.9/README.mdPK"Ggithub.com/lib/pq@v1.10.9/TESTS.mdPK\eP"1github.com/lib/pq@v1.10.9/array.goPKr*ң',github.com/lib/pq@v1.10.9/array_test.goPK {p L('Agithub.com/lib/pq@v1.10.9/bench_test.goPKIV Kgithub.com/lib/pq@v1.10.9/buf.goPKW%Ngithub.com/lib/pq@v1.10.9/buf_test.goPKH=bz(Ogithub.com/lib/pq@v1.10.9/certs/MakefilePK{`΁&Pgithub.com/lib/pq@v1.10.9/certs/READMEPKAW.Qgithub.com/lib/pq@v1.10.9/certs/bogus_root.crtPKݠXz.BUgithub.com/lib/pq@v1.10.9/certs/postgresql.cnfPKt t.Vgithub.com/lib/pq@v1.10.9/certs/postgresql.crtPKW-".Ygithub.com/lib/pq@v1.10.9/certs/postgresql.keyPKgQx(f_github.com/lib/pq@v1.10.9/certs/root.cnfPK ӓ(4`github.com/lib/pq@v1.10.9/certs/root.crtPKڱF*ndgithub.com/lib/pq@v1.10.9/certs/server.cnfPKw6* fgithub.com/lib/pq@v1.10.9/certs/server.crtPK9*Sjgithub.com/lib/pq@v1.10.9/certs/server.keyPKtA#>github.com/lib/pq@v1.10.9/encode.goPK|7|"k(%github.com/lib/pq@v1.10.9/encode_test.goPKK=":github.com/lib/pq@v1.10.9/error.goPK A /Ngithub.com/lib/pq@v1.10.9/example/listen/doc.goPK'&(" 6Sgithub.com/lib/pq@v1.10.9/go.modPKi7!&Sgithub.com/lib/pq@v1.10.9/go18_test.goPK ߭HP&7\github.com/lib/pq@v1.10.9/go19_test.goPK=4DE *_github.com/lib/pq@v1.10.9/hstore/hstore.goPKG=/dgithub.com/lib/pq@v1.10.9/hstore/hstore_test.goPK_i ('igithub.com/lib/pq@v1.10.9/issues_test.goPK@qe0/ wngithub.com/lib/pq@v1.10.9/krb.goPKޅl) #Upgithub.com/lib/pq@v1.10.9/notice.goPK@0sgithub.com/lib/pq@v1.10.9/notice_example_test.goPK %(ugithub.com/lib/pq@v1.10.9/notice_test.goPK/pc#?xgithub.com/lib/pq@v1.10.9/notify.goPK<އ0(bgithub.com/lib/pq@v1.10.9/notify_test.goPKlo$?github.com/lib/pq@v1.10.9/oid/doc.goPKQU'$github.com/lib/pq@v1.10.9/oid/gen.goPK쎎 ~)&ygithub.com/lib/pq@v1.10.9/oid/types.goPK@` !sgithub.com/lib/pq@v1.10.9/rows.goPKD'H&l&"github.com/lib/pq@v1.10.9/rows_test.goPK| (github.com/lib/pq@v1.10.9/scram/scram.goPKv 9 github.com/lib/pq@v1.10.9/ssl.goPK]-TY ,ygithub.com/lib/pq@v1.10.9/ssl_permissions.goPK'&1,github.com/lib/pq@v1.10.9/ssl_permissions_test.goPKӍ .%github.com/lib/pq@v1.10.9/ssl_test.goPK!9(lgithub.com/lib/pq@v1.10.9/ssl_windows.goPK/.w tgithub.com/lib/pq@v1.10.9/url.goPK|L %github.com/lib/pq@v1.10.9/url_test.goPK'8github.com/lib/pq@v1.10.9/user_other.goPKKC'<github.com/lib/pq@v1.10.9/user_posix.goPKNg)github.com/lib/pq@v1.10.9/user_windows.goPK=+!6github.com/lib/pq@v1.10.9/uuid.goPK|,;W*>&github.com/lib/pq@v1.10.9/uuid_test.goPKBB@dependencies/pkg/mod/cache/download/github.com/lib/pq/@v/v1.10.9.mod0000644000000000000000000000004215107355263023626 0ustar rootrootmodule github.com/lib/pq go 1.13 dependencies/pkg/mod/cache/download/github.com/lib/pq/@v/v1.10.9.info0000644000000000000000000000027015107355264024006 0ustar rootroot{"Version":"v1.10.9","Time":"2023-04-26T04:34:24Z","Origin":{"VCS":"git","URL":"https://github.com/lib/pq","Hash":"2a217b94f5ccd3de31aec4152a541b9ff64bed05","Ref":"refs/tags/v1.10.9"}}dependencies/pkg/mod/cache/download/github.com/lib/pq/@v/v1.10.9.lock0000644000000000000000000000000015107355263023771 0ustar rootrootdependencies/pkg/mod/cache/download/github.com/lib/pq/@v/v1.10.9.ziphash0000644000000000000000000000005715107355263024523 0ustar rootrooth1:YXG7RB+JIjhP29X+OtkiDnYaXQwpS4JEWq7dtCCRUEw=dependencies/pkg/mod/cache/download/github.com/lib/pq/@v/list0000644000000000000000000000001015107355263023102 0ustar rootrootv1.10.9 dependencies/pkg/mod/cache/download/github.com/creasty/0000755000000000000000000000000015107355263022134 5ustar rootrootdependencies/pkg/mod/cache/download/github.com/creasty/defaults/0000755000000000000000000000000015107355263023743 5ustar rootrootdependencies/pkg/mod/cache/download/github.com/creasty/defaults/@v/0000755000000000000000000000000015107355264024311 5ustar rootrootdependencies/pkg/mod/cache/download/github.com/creasty/defaults/@v/v1.8.0.info0000644000000000000000000000030015107355264026011 0ustar rootroot{"Version":"v1.8.0","Time":"2024-08-13T06:44:11Z","Origin":{"VCS":"git","URL":"https://github.com/creasty/defaults","Hash":"abebf4bedce8cd6aa1b52cda5a9bc870aa15084d","Ref":"refs/tags/v1.8.0"}}dependencies/pkg/mod/cache/download/github.com/creasty/defaults/@v/v1.8.0.lock0000644000000000000000000000000015107355263026002 0ustar rootrootdependencies/pkg/mod/cache/download/github.com/creasty/defaults/@v/v1.8.0.ziphash0000644000000000000000000000005715107355263026534 0ustar rootrooth1:z27FJxCAa0JKt3utc0sCImAEb+spPucmKoOdLHvHYKk=dependencies/pkg/mod/cache/download/github.com/creasty/defaults/@v/v1.8.0.zip0000644000000000000000000002730215107355263025672 0ustar rootrootPK7github.com/creasty/defaults@v1.8.0/.circleci/config.ymlOk0)CrCR(BK AMeՖh$/!I?{q%D'͛yoP n6n0`y _ L3u# D '`%)v=͔% $r6|sӇV_WoegsڇyсJoPKۂDPK-github.com/creasty/defaults@v1.8.0/.gitignores ./JPKusu PK*github.com/creasty/defaults@v1.8.0/LICENSE\QM&+iWrJ11Q04GbցȐF+H'˼}q)?]O8qw]..F<\d{|y1>ٱia2VHƿj<1?!\f\D t7#Lap&cnIYf)MO"2Z3ywpKXlL2G6f_dzBJb&E[.at%v]*2L}%[!RsD;ϙ rͅgEE>I\x';1ſ2K^?yw]N DO%>$7<.~\9g-yf\&Βc2>93cWBtFb=J~5B{žV4T)*E]VTmY]UXm!F7\Z" >8!ajR>Th [4_:ݩFqf&+`_[uEt+UۃV]T7F:N::7jkVPRL!=[V+ͥ J JWR{޳ T>(MLd`\5T׳/5>]~%PKͅ5PK+github.com/creasty/defaults@v1.8.0/MakefileQk0_qe=&$,iZRel#(ֵ-HFB>&Y^8ONv7[,0#]+ESS nQ 4cr-WVƳ ki'p 6cA |ajG=@D1E*{0ex8kM ִͧ Iְ%Og]ٻ0 : %Fe}?(,&펜()/ZX e -~`4ĶJ o*w". /pzk_\eටKb.!'PK浢PK,github.com/creasty/defaults@v1.8.0/README.mdU[o<}||ص۲$[,E޲mnۀhHARAd˗d[=pdIW$OBqJ獵5vݸĬMn,)QzVQʎzH6!i M#K t8[M$٬Y&s$EHR辔eIGM(gz/2f?^BX,Ӧ69ڎ]k4#)MAiZ/PIsj$l H )3P0IJ.`B^Dih [Ug6Z݅Y'QAu%MJ}ȕMgZP䱶7Ti<ɟ~'6t^tn!ޤc 2yKzI:-L"yuwqMT\L9^:BmJ\*@-WS*>0 od,&iE:4] ՚ U$ )jÝ .+,( 4mo9D}W$m(Jڐ$28B,37 bxTcU͒v%K_@ʲe6<"d|Uo_ba1r$EYilT~;3?72kS!L̵ k߂`nЊ;-mM~)wb6q:d[0ËJMP{@J}8O [oAsspVvp>ѭopg3<6{;-k5ċ:1b-I^w9{qϗۚ]l ϟ97ˆ=bqf1-YNb[MAǃm<.@i詜z~?4gB}#IsH9s6mJRd7r]P`!2YeW9ެ4plǸ"fI4mUԄGs5+ Ja"ˌ,qJㅝkM0kݿ4^ɜPjl*0Y#||*4R)M~܆Xl8KM! *eӠ#GUU|!RIz͗-ӳx*ӝ;ɸNy^upM⯃}1ݺUnI̎?ޭ7lS:3*Z1ԆsG`Aѝ{Z&@/QIiCj1^C#o#ʵ8k.ftak^  n8y`0ntNΎdza;~{/)9#5?Wz7셞ԜS=] nw0AuhU`(B8` 5grAF^8 ot ^nj'PKض1Q~PK.github.com/creasty/defaults@v1.8.0/defaults.goY[o:~~zh@>lQl{0)ԅ:C]3|3Cj9ݲ+9&H 3! Fclոu2aHIEWg.LtA% |q#U]8Jb!ϸ(eB4 t~tpG \\TEUb pVYi 01*`[̂ #kKz5 5q}] %K TEHpI!fIk QfcYG0 8c"}BQyq6#|*F%q7\hsWφ }3g=:|OAv u!m2S#?O-ubIB@AJ0/.;h1HVUp2-9ߪP ZR%ݵz/ĿXr-ak;oӌmp#A5܉4߄}f0 ~ӢO^ZI[d\+?ahy+L؅~C}4d6w nbiiC2 i@)IF0I; [4P6HtNIS 鐮xTpCE29PdS F+H\x7& pРHJnF]ERBwcf$Tqp9 Z@bZ*"")b+zKjh5ą~8T.J *"+,f.iN"u` ]୨x[ YsKw`(;wRJn7wfnd>+nM{`˔b(U@QEQPTc >;I2%L:(.ϛQcDSIͱ[&%?6Tb5)&P͝804DE&K1Ǯ&G1Ǯ&C1պ;[D}%&ئSBMfba׉=T$PW8ɭP;>lN;>+VQlRg}oXXpgű¸??R6`Αy>qR7"/ hs>݂A@ |^],'!Ɋ3*KU6h\`V;),ǑPyN3rO;q.?s^ɴ>0CKfT"Hpy' aч2C q,Pz'*w%r1."4iz Pnoi!YRЛάR=!Yڃ+@,nmxYNU PS1x'%Ycm7 oqZ`tYdnh:B NtzhE^F1 'Cg.*=fx <u2tteq;=tIh Z)ayvkО!+hv} ЮaP1%g3Q20#.'N',p j2AW rQŊQ]?q8}#$$ByFhC| R6RKonqYMX_޼qv<)Os ]!a>L'34a߃ PyE]`q<.|y\T3N&_6I5G|ƣj>s3939Ë>7y Ʋlr^,-Ü,O@NX 섥T! X=g(Ku}Yxtdaǫ ְ⥳L9}JO'3$ w^Zk-BCɲFKt(RKq.ө,If}N>oj9=yc1[N1ergm{7Q˘GE(Fes!-EY9mlsz# 7khnr11t.I9R5cwq҄'Lěl2P]&BE%I?~G3yQT=LsZ'GdD¬TcUH;^irř{G=w+gT]:ѭ] qNC3wz$7D]r63[]M*n]ͿVWq-mPT7Uӛ7uMwmS^[MvV9M+^#ثi{Ji{Z8wj/]} iu0MA"1 "#-@*KF QDRk:*bsh#٫&%l%8*w8̓Ergrv"W8ȇi3vG:)[wua?liٿcnѸn\Gֽj}X7|5Ib%D;]T20ہ=Wc:ieYTB뿽o=0'Ft;=.Zl`[٫juVkݹժ۽~\KMoQNdgsSe?O0;_ /^iOx?{Zl^ryX"sz)]ʵ5|!\z= KTCJ/:~Bx򧩈ǫsfg<oUvܴXӭwߧVtf>89֢̃KIe{E7ߚ"?'󫗤4|9טgEf#by"O0!ݠ=|y'sx%g홲ԐA?:*>K%#,Vi1?>.A{SrOA@-%DYKdGLJ0'6[Se{𭄥M|k\L^vi*_.#ן5}Az7>^_fѡ_x'O/zKdzhQ/4% f" W/u.㸲]+ {ط8m.rV%bխr8aks1ddtz&-eȸB | ,oո6z~C&=튆aU&˱!!Yx]ڽg|Rӕi2l3SZ

2WzɩZ% Ub|KFK&lIL[Mw&T2foJ"czl19&  S9LT#FWu\eF:Pp߅| !b%+F1F,ٵ=̜>}4Z{`_˝f'=Id1'ZVY'̳̔4 -yC<3'p\Ź[NNl8qsr%ĜL4^hC{є|O]YL {8,VhG,!|eq%KV+.gbI;) 4Pp#yx\𮙽n~`Y&!@}+-DJ?|J871}<L!rUٶ\L)&5K3x ܭ.Lͥ=.XElu{_,~t  2)U z"ϵ$FOppUPH6il1jf"x'vWkdRn=x~#?}fqIiitDm6 f+?wm" G%Aku{[ Ռ浮yGI}Rf/+! ~\H2 "3($x#%u={:kJlH~5:NKjN)ߞηȵh^`;6Dc{q(roEGL,)Gy#FkpY70xPKY}u PK)github.com/creasty/defaults@v1.8.0/go.modO)IUH,(MKO.JM,.OIMK,))JW034PKh$r2,PK)github.com/creasty/defaults@v1.8.0/go.sumPKPK;github.com/creasty/defaults@v1.8.0/internal/fixture/test.goT @lAHڀ,.n"b"F׏|ճa񍽚8⤷ ޠh}&xQb^0VZ4&gط2<' PKaVpPK,github.com/creasty/defaults@v1.8.0/setter.goTAʃ0uotx!N$8P$w/bkȃk2%j[tb& 3b6Y{A<|<6N(s+\'x_W5f)ھ~/Ā^0ckַcɹ^WW+PKJljPKۂD7github.com/creasty/defaults@v1.8.0/.circleci/config.ymlPKusu -github.com/creasty/defaults@v1.8.0/.gitignorePKͅ5*Wgithub.com/creasty/defaults@v1.8.0/LICENSEPK浢+4github.com/creasty/defaults@v1.8.0/MakefilePKض1Q~,/github.com/creasty/defaults@v1.8.0/README.mdPKpl E. github.com/creasty/defaults@v1.8.0/defaults.goPKHmOU3pgithub.com/creasty/defaults@v1.8.0/defaults_test.goPKY}u 2#github.com/creasty/defaults@v1.8.0/example/main.goPKh$r2,)'github.com/creasty/defaults@v1.8.0/go.modPK);(github.com/creasty/defaults@v1.8.0/go.sumPKaVp;(github.com/creasty/defaults@v1.8.0/internal/fixture/test.goPKJlj,p)github.com/creasty/defaults@v1.8.0/setter.goPK YS*dependencies/pkg/mod/cache/download/github.com/creasty/defaults/@v/v1.8.0.mod0000644000000000000000000000005415107355263025642 0ustar rootrootmodule github.com/creasty/defaults go 1.14 dependencies/pkg/mod/cache/download/github.com/creasty/defaults/@v/list0000644000000000000000000000000715107355263025203 0ustar rootrootv1.8.0 dependencies/pkg/mod/cache/download/github.com/stretchr/0000755000000000000000000000000015107355263022320 5ustar rootrootdependencies/pkg/mod/cache/download/github.com/stretchr/testify/0000755000000000000000000000000015107355263024007 5ustar rootrootdependencies/pkg/mod/cache/download/github.com/stretchr/testify/@v/0000755000000000000000000000000015107355263024354 5ustar rootrootdependencies/pkg/mod/cache/download/github.com/stretchr/testify/@v/v1.11.1.mod0000644000000000000000000000076215107355263025767 0ustar rootrootmodule github.com/stretchr/testify // This should match the minimum supported version that is tested in // .github/workflows/main.yml go 1.17 require ( github.com/davecgh/go-spew v1.1.1 github.com/pmezard/go-difflib v1.0.0 github.com/stretchr/objx v0.5.2 // To avoid a cycle the version of testify used by objx should be excluded below gopkg.in/yaml.v3 v3.0.1 ) // Break dependency cycle with objx. // See https://github.com/stretchr/objx/pull/140 exclude github.com/stretchr/testify v1.8.4 dependencies/pkg/mod/cache/download/github.com/stretchr/testify/@v/list0000644000000000000000000000001015107355263025241 0ustar rootrootv1.11.1 dependencies/pkg/mod/cache/download/github.com/acarl005/0000755000000000000000000000000015107355263021771 5ustar rootrootdependencies/pkg/mod/cache/download/github.com/acarl005/stripansi/0000755000000000000000000000000015107355263024005 5ustar rootrootdependencies/pkg/mod/cache/download/github.com/acarl005/stripansi/@v/0000755000000000000000000000000015107355264024353 5ustar rootroot././@LongLink0000644000000000000000000000015500000000000011604 Lustar rootrootdependencies/pkg/mod/cache/download/github.com/acarl005/stripansi/@v/v0.0.0-20180116102854-5a71ef0e047d.infodependencies/pkg/mod/cache/download/github.com/acarl005/stripansi/@v/v0.0.0-20180116102854-5a71ef0e00000644000000000000000000000011615107355264027774 0ustar rootroot{"Version":"v0.0.0-20180116102854-5a71ef0e047d","Time":"2018-01-16T10:28:54Z"}././@LongLink0000644000000000000000000000015500000000000011604 Lustar rootrootdependencies/pkg/mod/cache/download/github.com/acarl005/stripansi/@v/v0.0.0-20180116102854-5a71ef0e047d.lockdependencies/pkg/mod/cache/download/github.com/acarl005/stripansi/@v/v0.0.0-20180116102854-5a71ef0e00000644000000000000000000000000015107355264027764 0ustar rootroot././@LongLink0000644000000000000000000000016000000000000011600 Lustar rootrootdependencies/pkg/mod/cache/download/github.com/acarl005/stripansi/@v/v0.0.0-20180116102854-5a71ef0e047d.ziphashdependencies/pkg/mod/cache/download/github.com/acarl005/stripansi/@v/v0.0.0-20180116102854-5a71ef0e00000644000000000000000000000005715107355264030000 0ustar rootrooth1:licZJFw2RwpHMqeKTCYkitsPqHNxTmd4SNR5r94FGM8=././@LongLink0000644000000000000000000000015400000000000011603 Lustar rootrootdependencies/pkg/mod/cache/download/github.com/acarl005/stripansi/@v/v0.0.0-20180116102854-5a71ef0e047d.zipdependencies/pkg/mod/cache/download/github.com/acarl005/stripansi/@v/v0.0.0-20180116102854-5a71ef0e00000644000000000000000000000367615107355264030012 0ustar rootrootPKHgithub.com/acarl005/stripansi@v0.0.0-20180116102854-5a71ef0e047d/LICENSE\Q͎8)>iFzNC 6r̰Cb:^fo@l)H.$X/ٿ_n(yJ10u٧cOw]n(pC<]1w>}Y!SuCt)w b=Lz'?/ytxiຉ}py׌٥<8 Oׁ<|'O/gsnu''5" K4>^KXp %z9OtO[0CD?B8MFOҟѡ;ݒqu/snpt/L)w!n%΋1_@Wvύl5DB/zgpe+pu_RU[#06RT*]%o; -VT$%0e͕oP8Wڀcˍ۝V J+VFe_!&E[!)wֆۃڢM%L7FF<e@7|-0=WॕZQR+kxi Xmw^7BVFo FuHE8%,T5>]D׊oZ˯PK‚/PKJgithub.com/acarl005/stripansi@v0.0.0-20180116102854-5a71ef0e047d/README.md|͊A׹OqL v28•f+]vMuaQu; T7WMszl~Ƌ%oQ^ V9TtQ\a C :wNo-:"D[]^s5U~ cLV-sD㱌&ˆcu~=g%V~|+ldH֧kZ5' Jó ~wh~\o߾{bOVY/amP v;4նh~;PK=q@PKMgithub.com/acarl005/stripansi@v0.0.0-20180116102854-5a71ef0e047d/stripansi.goL_K0şw?%ut0t> ChRx:g>!9VUh۩J]wAB!F PK4~%PK‚/Hgithub.com/acarl005/stripansi@v0.0.0-20180116102854-5a71ef0e047d/LICENSEPK=q@Jgithub.com/acarl005/stripansi@v0.0.0-20180116102854-5a71ef0e047d/README.mdPK4~%Mgithub.com/acarl005/stripansi@v0.0.0-20180116102854-5a71ef0e047d/stripansi.goPKi?././@LongLink0000644000000000000000000000015400000000000011603 Lustar rootrootdependencies/pkg/mod/cache/download/github.com/acarl005/stripansi/@v/v0.0.0-20180116102854-5a71ef0e047d.moddependencies/pkg/mod/cache/download/github.com/acarl005/stripansi/@v/v0.0.0-20180116102854-5a71ef0e00000644000000000000000000000004515107355263027774 0ustar rootrootmodule github.com/acarl005/stripansi dependencies/pkg/mod/cache/download/github.com/acarl005/stripansi/@v/list0000644000000000000000000000004315107355263025245 0ustar rootrootv0.0.0-20180116102854-5a71ef0e047d dependencies/pkg/mod/cache/download/github.com/okzk/0000755000000000000000000000000015107355263021440 5ustar rootrootdependencies/pkg/mod/cache/download/github.com/okzk/sdnotify/0000755000000000000000000000000015107355263023277 5ustar rootrootdependencies/pkg/mod/cache/download/github.com/okzk/sdnotify/@v/0000755000000000000000000000000015107355264023645 5ustar rootroot././@LongLink0000644000000000000000000000015300000000000011602 Lustar rootrootdependencies/pkg/mod/cache/download/github.com/okzk/sdnotify/@v/v0.0.0-20180710141335-d9becc38acbd.ziphashdependencies/pkg/mod/cache/download/github.com/okzk/sdnotify/@v/v0.0.0-20180710141335-d9becc38acbd.z0000644000000000000000000000005715107355263030357 0ustar rootrooth1:+iAPaTbi1gZpcpDwe/BW1fx7Xoesv69hLNGPheoyhBs=././@LongLink0000644000000000000000000000015000000000000011577 Lustar rootrootdependencies/pkg/mod/cache/download/github.com/okzk/sdnotify/@v/v0.0.0-20240725214427-1c1fdd37c5ac.infodependencies/pkg/mod/cache/download/github.com/okzk/sdnotify/@v/v0.0.0-20240725214427-1c1fdd37c5ac.i0000644000000000000000000000030015107355264030166 0ustar rootroot{"Version":"v0.0.0-20240725214427-1c1fdd37c5ac","Time":"2024-07-25T21:44:27Z","Origin":{"VCS":"git","URL":"https://github.com/okzk/sdnotify","Hash":"1c1fdd37c5ac3b50e515dba2d640d3075c634ab6"}}././@LongLink0000644000000000000000000000014700000000000011605 Lustar rootrootdependencies/pkg/mod/cache/download/github.com/okzk/sdnotify/@v/v0.0.0-20180710141335-d9becc38acbd.moddependencies/pkg/mod/cache/download/github.com/okzk/sdnotify/@v/v0.0.0-20180710141335-d9becc38acbd.m0000644000000000000000000000004015107355263030332 0ustar rootrootmodule github.com/okzk/sdnotify ././@LongLink0000644000000000000000000000014700000000000011605 Lustar rootrootdependencies/pkg/mod/cache/download/github.com/okzk/sdnotify/@v/v0.0.0-20180710141335-d9becc38acbd.zipdependencies/pkg/mod/cache/download/github.com/okzk/sdnotify/@v/v0.0.0-20180710141335-d9becc38acbd.z0000644000000000000000000000743715107355263030370 0ustar rootrootPKCgithub.com/okzk/sdnotify@v0.0.0-20180710141335-d9becc38acbd/LICENSE\Q͎6)>jFBӟEy Vs, 8{ F(}̽]!|{PKwnϵ/a-}Hx^Ͽr10G nqޗvJp^C8eHt&Sjw|c4]کGc|\>t׋RHGxzYEz׎O> ᚰG?u'_CkR5lz[c㐡D}&!ZbF9~ Gօٻ5wwY(.?&񑝯VLê9ch]zOхSۭYGBݽ>Fqh'(YH>vJ1eWl)=p# " Q7S[1\#\TEΈ6LֻJ"Ty/moE%kiEA*)"K,njmUĹ;n7N7\PZI1RmE-}TPPMɫR\FnKRW0 **qRGu|+V0p(=W๕ZQ\+kxn3Xm7A6"7B6F:V"w?\D߈o(6˯PK&:?/PKEgithub.com/okzk/sdnotify@v0.0.0-20180710141335-d9becc38acbd/README.mdṮ@~66SX5ٌC63LB,||P W".%JЩG5X\֦~)a"/'Ya;{/PKcPKEgithub.com/okzk/sdnotify@v0.0.0-20180710141335-d9becc38acbd/notify.gocGoRtTax4 Qw1%VײHhV_jÃg&ћt'PKPKKgithub.com/okzk/sdnotify@v0.0.0-20180710141335-d9becc38acbd/notify_linux.goLO0ϚO1ա`{CRʲ,Ak"(&KBw_d\5~]w;9j/a8FQ,X&`lLJ ׾S}BH]yL*w0]qi)v{w"SzH"Q @8o07)kaϯzLq5 ZKFHO¸q=jL,h&w\N`+p{>ں棭–t_۴$C5{DxI0!&*J4 JEi{ PKN3!PKJgithub.com/okzk/sdnotify@v0.0.0-20180710141335-d9becc38acbd/sample/main.go0SrJ₸!z@X-mWLQ;JA}wdͪBKdOf<=HIKS?80N.LE mIpJc9+4v ~uP[9ɺ7glјEJVj[g?(j@9ېLie93N{O6[OBg\l PNKT*SɄx  $iHe<طh"(#׋tiBC>>WW.z,8s84d)X_"L;H.:x %Օo^ ޽Li5c˨iLJV'_o23J M{aZinUΰ҈|JodrY}p?ۯveV< So/FPFjIO%4ΣNҮۓGCM֞}1n?&a|'+\vPK>)fPPKQgithub.com/okzk/sdnotify@v0.0.0-20180710141335-d9becc38acbd/sample/sample.service\1O0~`&6Vࡨ[u2ε=q-ȿG${zOE9'Z'G`7r)+fXQ U-~\}d?Xtm֯ԓdo~2sԖɜLOMQd&y6\'QF^I;PK5PKCgithub.com/okzk/sdnotify@v0.0.0-20180710141335-d9becc38acbd/util.go͊0S\>@(&qb%dUu%#L& 6[|GG]U_3Jlɶӆ `+hc9[%BkH)D.  `nF;OrȶF J|y6JTuȱL7)r+1YokG81F^ym~,:,@KE3֦T NWtqXVăy2RwgNJr{-g"PK gWPK&:?/Cgithub.com/okzk/sdnotify@v0.0.0-20180710141335-d9becc38acbd/LICENSEPKcEgithub.com/okzk/sdnotify@v0.0.0-20180710141335-d9becc38acbd/README.mdPKEgithub.com/okzk/sdnotify@v0.0.0-20180710141335-d9becc38acbd/notify.goPKN3!Kgithub.com/okzk/sdnotify@v0.0.0-20180710141335-d9becc38acbd/notify_linux.goPK>)fPJ~github.com/okzk/sdnotify@v0.0.0-20180710141335-d9becc38acbd/sample/main.goPK5Qgithub.com/okzk/sdnotify@v0.0.0-20180710141335-d9becc38acbd/sample/sample.servicePK gWC github.com/okzk/sdnotify@v0.0.0-20180710141335-d9becc38acbd/util.goPK8 ././@LongLink0000644000000000000000000000014700000000000011605 Lustar rootrootdependencies/pkg/mod/cache/download/github.com/okzk/sdnotify/@v/v0.0.0-20240725214427-1c1fdd37c5ac.moddependencies/pkg/mod/cache/download/github.com/okzk/sdnotify/@v/v0.0.0-20240725214427-1c1fdd37c5ac.m0000644000000000000000000000004015107355264030173 0ustar rootrootmodule github.com/okzk/sdnotify ././@LongLink0000644000000000000000000000015000000000000011577 Lustar rootrootdependencies/pkg/mod/cache/download/github.com/okzk/sdnotify/@v/v0.0.0-20180710141335-d9becc38acbd.lockdependencies/pkg/mod/cache/download/github.com/okzk/sdnotify/@v/v0.0.0-20180710141335-d9becc38acbd.l0000644000000000000000000000000015107355263030325 0ustar rootrootdependencies/pkg/mod/cache/download/github.com/okzk/sdnotify/@v/list0000644000000000000000000000010615107355264024540 0ustar rootrootv0.0.0-20180710141335-d9becc38acbd v0.0.0-20240725214427-1c1fdd37c5ac dependencies/pkg/mod/cache/download/github.com/mattn/0000755000000000000000000000000015107355263021605 5ustar rootrootdependencies/pkg/mod/cache/download/github.com/mattn/go-isatty/0000755000000000000000000000000015107355263023525 5ustar rootrootdependencies/pkg/mod/cache/download/github.com/mattn/go-isatty/@v/0000755000000000000000000000000015107355264024073 5ustar rootrootdependencies/pkg/mod/cache/download/github.com/mattn/go-isatty/@v/v0.0.16.mod0000644000000000000000000000015015107355263025477 0ustar rootrootmodule github.com/mattn/go-isatty go 1.15 require golang.org/x/sys v0.0.0-20220811171246-fbc7d0a398ab dependencies/pkg/mod/cache/download/github.com/mattn/go-isatty/@v/v0.0.20.lock0000644000000000000000000000000015107355264025636 0ustar rootrootdependencies/pkg/mod/cache/download/github.com/mattn/go-isatty/@v/v0.0.20.mod0000644000000000000000000000011415107355263025472 0ustar rootrootmodule github.com/mattn/go-isatty go 1.15 require golang.org/x/sys v0.6.0 dependencies/pkg/mod/cache/download/github.com/mattn/go-isatty/@v/v0.0.20.info0000644000000000000000000000030115107355264025645 0ustar rootroot{"Version":"v0.0.20","Time":"2023-10-17T07:28:21Z","Origin":{"VCS":"git","URL":"https://github.com/mattn/go-isatty","Hash":"a7c02353c47bc4ec6b30dc9628154ae4fe760c11","Ref":"refs/tags/v0.0.20"}}dependencies/pkg/mod/cache/download/github.com/mattn/go-isatty/@v/v0.0.20.ziphash0000644000000000000000000000005715107355264026370 0ustar rootrooth1:xfD0iDuEKnDkl03q4limB+vH+GxLEtL/jb4xVJSWWEY=dependencies/pkg/mod/cache/download/github.com/mattn/go-isatty/@v/v0.0.20.zip0000644000000000000000000002135015107355264025523 0ustar rootrootPK6github.com/mattn/go-isatty@v0.0.20/.github/FUNDING.yml|10 w 7dpN76CS4@4 %f#Dȿ/$v${"`cF0 !%):h ;8VRUՑy'b"!DPt]\#ƣ1 %<^Cm_E !U@&<· 6UVG֨a5Q-HD+9`w%ƙgK4h:.p /iWVB(Lz:4\Ս 1/zkWRإSd9͛nn'\/gd]Xﶡh{z 0)l*a6Mg4v3fh቏% žPK`/DPK=github.com/mattn/go-isatty@v0.0.20/.github/workflows/test.yml|Rr0W'hJG`8d'BN&¿g8ٻ{뽓١Ae[_E|OȢ| S`EAÿvFbxfYt`k*Ex u";NAp%G쫰ry2[h<2$}`5+2Jf+)1#W7ktԭqlkKoj`p3轆b ϧS[ޫ:T{2`4!bMjfAKRU14DP,/lek>κPK.,0PK*github.com/mattn/go-isatty@v0.0.20/LICENSE\R͎6f5#t_UU=`Gƹi8W#l:Wvr;wsCbCk`%M0m\oڎ~ϲ)Զ37x:e,7u`s)>e1nzc6w9h; %|@O=:֛QbGxyK"#81‡ [bȑNݸÏho(IWo3M5!Go#y &<-f#5]ډ*s,4<+J}Mb=.2Y?KMK\qt1ZD,S>M&l;`s=8ga,Q=GnIz2UQbDR{)x!-XT% G"%'xm!$X-s0^ԇ \(ԬaPQIh*pEY)ǖ)9B`Obš&܋\pƷm(W0.@QV9JdJuIew> EMX$ ф2=+ bJBPBGD68N,j|^JJjwm PKcjKPK,github.com/mattn/go-isatty@v0.0.20/README.md]kL=b^彐 P!<^V;r1%h;?qgyݠ[HdG.YხNoi-҅0C#go c׹hI}>akQlX=R+޾Tc!\TR=95h_O]]4h)/ړѸCi s3w 2D;t^pJ rQ uy$ y똍($u%P &w-qYf|k_fPK< 2PK)github.com/mattn/go-isatty@v0.0.20/go.mod {wTRIFhlkzz(.-u(Fo/#hM]HsM|m PKMMLPK)github.com/mattn/go-isatty@v0.0.20/go.sumJIK/Jׯ/,V(333P0 ) . I5 (4 H+ 3sqˋ H ,(0/a~z^n~ ȸC_ glS\Ǫ4K$?Đwϐt[.@PK x PK-github.com/mattn/go-isatty@v0.0.20/go.test.sh\Aj1 E:4vaBr҅c3dt×Fxe7/\;.D *&}QEB8-ki?{Eѹ&#,fp"ÍM%+dħ`鐦(p{[;1?~~zms.2PKhPK0github.com/mattn/go-isatty@v0.0.20/isatty_bsd.go1o1 W |@iBNĸxI>hw;a/ ]ן&? 7[q5M=hꞻnfzuq(=H3(ڬ 3EB JsqʿfbLpT=ԓ V mb޿Mǧo׭iYw^[%3a(e)_* '*Z.>R \lN-rOPK>BaPK3github.com/mattn/go-isatty@v0.0.20/isatty_others.goN0D+K 8r $[uuߑDpKbʲ A|5=k#8qUr>Ԅ|ɺ V+܎U(K 3E=WjbT̓8v9 Q ) ZF-Q(} bH؊ksȏ4j.':OffDH}x D/ۢ- hS`Gq3o)>S3^/;Mv.v[ZY//Y$Xu-p PK,$ PK8github.com/mattn/go-isatty@v0.0.20/isatty_others_test.gotJ@_)#s߫ "M&q2B,"עqyʥU!F`d8lXe$&#ʕP7?ňX 6#֚`{IQ#fH, U~IQ,IBnJ3>dROl1@@wCI4hL ^}+GnHL6XݿM+]zAod䗛5_vAGkUUYrNwrZ͌{sF~#&nbB/_ݓ,gA"l8I.Ј "# 8PK4)RPK4github.com/mattn/go-isatty@v0.0.20/isatty_solaris.golAk1֯lꮠG%Eg23J}*c|-9)<>—0ȉF~H c[=Htyp"_2 VL*`gDSF8Fъ)׵Elԝ*Pt~UK" }Ui>ӱ}ѷ>!.rPrݟhc)կ-Жu/%Z~F=eMl^Ï[]{_U(vf]CEt9Ӥ@Rq6}8RvGWsQB VU(G\b}rV,7yi8 "ZiAdr?&gBg-y ֶ=IJ^)K[Y A.ndz^WvwNLDq{;8{z.ZN!D{18*K%^xgC8ZWXyͅ2˕mB_Uo/()Om tPZ%q ۅc'Kxin3.؝Nũ"N$؏VrCHM\rh`ud#P}B&׼Jx?qYR*acy:) v( ')d)EڂǾ;CťE$)%ax) gD5,TjM 6X@4ьMw?|*G3+ >> |S~8;[4tʌEToPG2VMPy\U['BtJK(c'C r'dnn)H_>_( ΫWxsDd~-u[J\{ 3C%ꝿnS*;C{#)1dUp>SW)ÑNIۖTjY\MQZ,<:YE/Z_?;۷:/zpqB_g@icb%?8XC48'k^Oި5mw=&a@$278&Mi-y! gL]jJ A.j>{[RcnՕPA %NkdtT߅υ{s-2Cv"\G$CPKsOE* PK9github.com/mattn/go-isatty@v0.0.20/isatty_windows_test.goQo0ǟ}TY+*F=xD{ by%X$v/-є.PWi%otT;<sYoGO];S73@M`P6-ЕcMCuM3b;{Pr ¯6g *kBڊι T/mpC`>O/niB~ p #p\qLŽ#(WgR`a<‚4j\-|yqH=xg;=U&NsXcJ^{bq׶$ >h;%J7M8*dg栔)p~u‹'ͺ*ffHOIħ$3(%)ePK$PK`/D6github.com/mattn/go-isatty@v0.0.20/.github/FUNDING.ymlPK.,0=github.com/mattn/go-isatty@v0.0.20/.github/workflows/test.ymlPKcjK*Cgithub.com/mattn/go-isatty@v0.0.20/LICENSEPKJ@,(github.com/mattn/go-isatty@v0.0.20/README.mdPK̻ 6@)Lgithub.com/mattn/go-isatty@v0.0.20/doc.goPK< 22github.com/mattn/go-isatty@v0.0.20/example_test.goPKMML) github.com/mattn/go-isatty@v0.0.20/go.modPK x ) github.com/mattn/go-isatty@v0.0.20/go.sumPKh-k github.com/mattn/go-isatty@v0.0.20/go.test.shPK>Ba0t github.com/mattn/go-isatty@v0.0.20/isatty_bsd.goPK,$ 3github.com/mattn/go-isatty@v0.0.20/isatty_others.goPK~:8~github.com/mattn/go-isatty@v0.0.20/isatty_others_test.goPK4)R2github.com/mattn/go-isatty@v0.0.20/isatty_plan9.goPK!MF4!github.com/mattn/go-isatty@v0.0.20/isatty_solaris.goPKO($3github.com/mattn/go-isatty@v0.0.20/isatty_tcgets.goPKsOE* 4Ugithub.com/mattn/go-isatty@v0.0.20/isatty_windows.goPK$9github.com/mattn/go-isatty@v0.0.20/isatty_windows_test.goPKRdependencies/pkg/mod/cache/download/github.com/mattn/go-isatty/@v/list0000644000000000000000000000002015107355263024760 0ustar rootrootv0.0.16 v0.0.20 dependencies/pkg/mod/cache/download/github.com/mattn/go-sqlite3/0000755000000000000000000000000015107355263023574 5ustar rootrootdependencies/pkg/mod/cache/download/github.com/mattn/go-sqlite3/@v/0000755000000000000000000000000015107355264024142 5ustar rootrootdependencies/pkg/mod/cache/download/github.com/mattn/go-sqlite3/@v/v1.14.22.mod0000644000000000000000000000022215107355263025631 0ustar rootrootmodule github.com/mattn/go-sqlite3 go 1.19 retract ( [v2.0.0+incompatible, v2.0.6+incompatible] // Accidental; no major changes or features. ) dependencies/pkg/mod/cache/download/github.com/mattn/go-sqlite3/@v/v1.14.32.lock0000644000000000000000000000000015107355264025776 0ustar rootrootdependencies/pkg/mod/cache/download/github.com/mattn/go-sqlite3/@v/v1.14.32.zip0000644000000000000000001236724415107355264025705 0ustar rootrootPK1github.com/mattn/go-sqlite3@v1.14.32/.codecov.ymlJ/K-JLORP(.I,)- RK %. PKB/4PK8github.com/mattn/go-sqlite3@v1.14.32/.github/FUNDING.ymlOK1zOzPPPj=nh23$?lA)~?7vBPd}.$EhKNŹ!X5fؐF !cmErY&RZ(OT@a9!O2 {C$j͉ZZ _ĸ^v}s=ɢb:=7pikk1IםcPoOPKٕPKBgithub.com/mattn/go-sqlite3@v1.14.32/.github/workflows/cifuzz.yaml?k@G{}) )21RcYݚ]y${ֺA<'qG}ijJp?ZJLFSوo`><زe5PIt2* / 0&PC$TP9~Gs8{Ǿgy.eԑ_,~YB,puwUxJE6vqyNcnfcWɯUF.Oԩ.9E+cGG'~ZYKL+on ~`w=,]cl;d;R13˫U{pOPKB9PKBgithub.com/mattn/go-sqlite3@v1.14.32/.github/workflows/docker.yamld1N31{u~_t'yIb؋N(,5]=5-Y$dfsÍzul6 D$&,[; c/A9"pHwB:gNWgaQmK]!9UHur1I"qGj~J|$+w\Or{!Ζ90 X ̫?OQ'cqC.0-fÚo!];M Ԡ,oѵе]ֵ_/RPK{! PK>github.com/mattn/go-sqlite3@v1.14.32/.github/workflows/go.yamlVmo۶Oq?[ I`"6y@EP|XS0t_E"H+mqŎ&Tc`6!!n[랗ſ9iA[>nɷ^8;/CȵM7$4:= ęeʽ`‡/OOvT,m!hO; ->?òCxp;t^$\?C`\Qo=60S݅{&&*T۸&G6HijٴQ6։ Rns3#PK/D` PK/github.com/mattn/go-sqlite3@v1.14.32/.gitignoreKIKHKRV vOI++N\ 9) iE E)\PZ_K/*XT W3PK%DnZPK,github.com/mattn/go-sqlite3@v1.14.32/LICENSE\QMo6W<)ozc,"*E#- Y4DA}1IgϱG#-)y<7Ҿ09 ~/29q9-ט#c{?_CJ!N ﳛ \f/79M9 ].>Y !!Kpzb\=-W?eIFxzYEzF&kd>9tQ Lݸk \c.krC K=qFȺx >aݺCoTh~Tcן.<4G*L/~?(Z>P;ctow5S̡׽㪏Q8aWSvSn-Ϋc2f+Vobo7YOl ȍʞ?* ?F-aRԇRJ[ԲV$%FMŕoT8ڀcύC ׭W%VRmT;e_!&E[&)҆a'#wERooK65M7|'V0p=W+cC-5)թ"ᔸP"ڬV|'D)x-ծ%0EZ~ePK/f=PK.github.com/mattn/go-sqlite3@v1.14.32/README.md}{s۶{㹭8iۤ:NS;N-_~ "! 5 0(Yg2@ڹLcb/@S5raE_|?(8L͙˫ioz,TY5Zo |oaVcV(iw/jaom3ӏ*/dFBd2,%*m@I8-52U%+򏛽zIr>J^);&A D*25SzT}*f7Jjmll$‡f&?nnڅ!?nndVЅ 49MEJbٷJj()9 Z-FZu !^̹ADrJ^{XaSĠ¿uo}8\C c._0#]uڼyD2Jd8`qv%p02$D,ţ^IXF RH3=D̔f4(|h2*a,=~(XUڗ&dHۅ{Z+Ŝ 5 *;Ҋ4Щ2\wYÈsҺ;53ˡjXDG֭u÷{fB e2Gҗu/sUL$ѲPZpݰG ;^:^|0)bTI66ЭK"̆#Oy(s3,fy_9sm&6Q/I /~%!x~q+u r#Do"ݓ[.)XެԔIC5x ag$`GSSnG`2Ohyĝq:UChKUI; .h`e r Ug0M^<~gؽG% 09fYAa*y]ni\΅VL b[syn;#`2sbD\uJ 6E R2;=~ߒIJ+$DU2L{ݥf$oX%39|5e 2yj^7$m%xya bYfA2 Zj$4l59 ,g9(7kԧbe1*Nin\IYCU;V-p^/IN=4mV\f&֓ՄWFk% x8_*n'L_mjDLUy#8;/MQ/|R^M~FTy֐D,s ,p2bPzٌ W;g#SH7 ݇χvzůC<*ꄦ ْ.ߌ%׆,"cp74|BZEf%OJIj8cm`$F>LFag%7#Y]9Ji~K "Mc>'G|K>0D=ЅϡxVIBiJ716ҍ̡p[TXW¾ HFj+HՕKHeiR|E<~?`~.K`{ϭ;{_ƴaK_!i B잋č_N\_p܄ov@| _엢yĎꭱ i>^3^]{~ ? cx?u[QJh>!.4*U'*sPYXQ(kw~v`?< Óӳ?1 XWփ]Alq_F #nԪQ/Ǵ~vC ArcLoBնi x%8d3p[-RG`ɊS/ &].̗_Q~O+mp ;b: (//l !lb9W<ކ1TrQIKD`x~/|[pjr4Ϻ,z=3Z53Z̙m~g⭨ZåLgZIU90ͻ{,ZLH],{}qܔ<LB(?h+C5Zy2G8+`-sͤq!T^$$g\$&r~rZ!E+ͅ48t~t F,|٥2Z?5ltam::?< π3NpP/3!^Wwy6i0Y2GL~cZ 9݇BH7Xa/AsS`*Ҷf=Zs3~iĿylWkQT_X{TWu``w{{g=pb` Z &ѱ$F "ol#xV7_=j&g+nuW*5X1?v{ڑ4d¸{;#mq[꾏,Q/Ir^5ƩS,ݟ VG =6F[uA?V)2afM@Fk$Я)Mb4%AzGnQ5SFG:ę c{VWlwZ:r4>`SCsQ˳u"OLy8fsT?>g\7ܕ7]fvYaHqr+|Z%Z4$ 0$'R̙u0y|VA:S1먑\[&$a+.gL.FS]`&US s0ѪNU^?إ&UBR!i8- <0/]OfDr vLfj!X]P Brfec i4sFi|~\KX\%$8>>rpqu q,Q93 i0ޱyK~V;NX2$I|I*Yɵpme ](Q,//'!yq[j^jf9n, PVyAĬESnW-JX׫G0U:C-GDk[»c(%:^2 NJs'OQ) ץ 9X;HUhkžޠh8Gօ. _hW`&!"ćf:d-ˬI@ 4`+-Z5qQo]I'|D oܯ o)fqe_E%N"B1?y+9?.u9 !CoL~Wqqp+dlsݜk Ct:C9G̊j{l7{A;d˧MGki8Ů늻6-ZYƳ8w7#dJÑ$UUJr J:/ 2OiWNR nG"iU:YL[^ͷ5Q;`p^EΎ 1'/.k"c*k?{y;!#ܗ0p'5\uϼ0;[Orf!8ipag Fw~G6n,LN Y)r\al1d|\M 9;oڜ1Yh9 1wlE1RW :_\-Q7 9WW]i( nȝK%frZ}F^8 .zl i#Y>j2]1>ζed+LsV#[I'5zkgZp1g˴-d9;"QXPiZS)-3&oԨXY YIЪ Fvg.kWXdڵ^YfMܯԠsN[@4z0<ߺ#/'{(be HJԨ2H&+5*5Zèm]p]&2sκUжb9;(>!cR n~=t|b6؁sҋ|b28;g5XkA'+~: w5{mVBU7V[9^5վoghy>t=ste0 id5!oh, >w&Mc=]. < \?UP;fH[!z׏ESqޡS$9WKBr48; +DPr/.t;gc1ti ?K)Z oNO/29x;ߢek~E>4{tdރ>#gduOle"S{cEnY׏ kme~HG( 9UmQerS6WLyzzI248 |(*w^\ "*XEi#, u TG[ gD꽸~ٞFt͗"{fi̳IN+]QzD\kwQ/I޻3t1t՟<pv8xur%Мew;ΤҤO[b/) Á-RPI"RD8=xsUN_T3~(#[&;MzqMW+MVH$%Urr%3KWqnoʸ0C-O]|M5 (?=D$9LHt%WDnǍ~o+;]gT2Mq@4S53U`Y0ժ*=zM9Nޣv10M4Bw t4+mw ܠu"XZ{ 8 Kw̳cp̮6ҩ^h׫w ]3^rq.}%e G0"M7{dBN2%t>HըǛn_pqDhu8U9, j/uYd( ϟݡdL/Q,>ҙ]/w5u ZA9#TC=H~Ԑ!{N %S:<xSko$;[~_W:cB-h,Zlq]" pnL9 Td]8X^ǭ_t4xtk^ŀ2m%{[Ŕ9;v0~T sHJ9 '`q,x5f_oi$Ŝapc \^R~O6{}L󔋹kZs(|oh +Fs &Vc6΃1`te=~nXj5yڭӶ۩Qۤڷ;A8nȽ`cgwAugw{oCXS (XXKxi֜ga݁m}s^X$7~*䴏<7s 9G!݃mG!U"qT,']>%M:OT/<82W,KeUzLZؙ0WmyޭYKB<ΛEñɷ `d$󎹰7jS"aڸHJyyo&đLuw8l|٠ܻ'57Iscpye3=&Nah=E_}~M7!նxġKljh j!+vB8xnus(vorD5 ]4bY5V@~oM;#wJ&ÑBXOZ}kd<,Yj$:\ Q-l͓l#f^Po9r b vF*>;/C 3c;~qMBгH%(g: aO R tYΐ]|7sĵLզև3cV P_e|2q;y؛#21txW:~"lzp'ԇ[g|BI!8wcSL= 7R!55;O- $4Ẽzf>Il/X.bRbdxx|xpu-Q`4O;['qC_Sf[|AP74g5wo}_7 諢.ΊYKJ{Iq/#ӒoE-bsl}v0AcY;q&<7q5#f2(PZ0O±կT_Zguq<$o܀(?i'H ,1{<\:Arv߹AJ4ոh1=onnL湝jl5\ ڴw@Ë2V;]9'Ltښށ\tnUu]/H.0;*f+uØ)@Ƨ#j &M #pT6Ψx~]vpv;PjiFLe'mߊ!\J-}D:ᆵfL)<3Vw@=V/Eg89JĢdYN紃k{"r)w\Pˑ&8ח8+ޓ 3GXˉk/ o|&Zzb&pXU\?:OtRIb*>9~Zb|#BNuʬ;y`hmgV}FE%ܘ5ietI.+DwwQ(Já4B$=큄X Y 0]UV :_s7'@.88_D^6i8NXٜ֪t,(Uң/=I.eCs"ۃ*K wBO:ajOwøkww~Emo ?_?n;?;ݛ^m}%?0i>y>Hӏ~H^ )6 H-K ًf\Y _g/}JxJV Կ|(>;P((>(>;P|UQ|wWE_(&_J3Hz]SSdnf8ﴌ ;t g_>xzn^'eC4(veQ%+#"'qS,Ή섬|=e4[UPKbnPKHgithub.com/mattn/go-sqlite3@v1.14.32/_example/custom_driver_name/main.go$;0F*F@tehXCGYyzw8d RcgVnf 냾JޗŠf˞sԴYG?H8{Gulrf5-́PKaPKAgithub.com/mattn/go-sqlite3@v1.14.32/_example/custom_func/main.goV]oܶ}\q^$>bNipLD"e^ %ױhDl#/DҌ1gQK/g]U1LIZ;R1cGK/YzRK4;o1KLMAiɊVgИ,Ai ?p"sK̂dz$ [ݎ/f/C.Zc,dU-w=X9Hk*si ,*:8De4E5~v $M ghSx;oeU-!GVZ92D0L)!7[y)`zP!dTn 蝦tE 55\}<>vpv>3P'jnȜ>7KKCs% y~Гm.ˆN9yf:>YZ+]%f*gk `XX'd2[z;wWލrfK;SM:%d' ۡ.pF#OFR& qltҋ]^Go{q$AEJps{T9m&7wPzw pqe=Ds,hy*Ա>f`t+k]Vl PK_`y PKCgithub.com/mattn/go-sqlite3@v1.14.32/_example/fuzz/fuzz_openexec.go=O0g߯8<%"MRQ1TdQ|\Ejߑ2 zy-돲#8Mc@%ٔ\VtՐad%أUZ}֗&ŕ*!hGSfWKHu݅a5}1 OLs4<Z xtsg\ؾ+}si4E2f-m*`m=z`~Z]a@ovS%xNE$Y䰩'=xb }<;e}d]7:, _PKo$PK:github.com/mattn/go-sqlite3@v1.14.32/_example/hook/hook.go_O0şOq᠐1/㏆41 InRoo ONBiB^_q|+F+iZr JDЬ3qok)"YS OYS3j4Uokø'E,D9ybxѰ?^0dK/2)9L O'St(E%C(( jw>:GckcmP+goK_mc9"*Y˕{S_<)PTȵGXa>:^]\ QMUz*yJlJP zt ddH@vr I@v r`_*ZtErsg:,aa|z ݡ$JL,geyfIsH>Ef&lq f^X:@]`:&*3c+H&=xh;z\ܡf)TKw#0>p1ūC2^ثJ9LVc96`^lj͞*z&ټU2WdmM}}C!fU;}>:s/߼/{{_LccX,ğPKTHPK:github.com/mattn/go-sqlite3@v1.14.32/_example/json/json.go̔r?SOg {w{ :ɑ<? -ϕ`t;$d&NGekow?#-5Ai>0(s4V>8OЬ($3—'ѻdZ";Y7rSv" ^چeN?>J kZdo%H0OtؒwbʹQu k  tj#hS ]ph/i4ji=#>%'A 1y<tBzG*׽>Sj4{SR w5ܶ{ :gMջ7ؔ46* Al#* PH*1,Y_}B͋@%Xz'Id[ީ/sshl\i^>eO5H?DsWKok _ԶBMA^[SX .0@q"l7R2>8< v@If0{07۰=eU$4SAqZ3|J3O}mI/Moߕț?o~},'u38zTN| R/r#~PK$Y8PK<github.com/mattn/go-sqlite3@v1.14.32/_example/limit/limit.goUOs=|MJ&kT0f$6S?ڙڃ9sK3|SנFҚ]5|Eq"fZHCԵuJX)ȅ-?WV'3J ɳ--B0[3+.Ҫ1EF.< ^ 8MzT[;C+q!;4Jūo_]^tyϿo7-Y SN% JzSPBliXMd9$ d d=#NV1Mha,KRB)% N)>;@mO1aVemVSRWTl:βOD*[ߕX >PcQ: :^Pu,+Dю8C0RP;;< ߎ( :oSbe߹1 W R#n%Z: X1,O`5wiZZ 'cReS TbgG{Ϧߝ>kŔXF)d 80A2 7xi6:m ߥxCPPjznG\lRؔoIԥX4rܨi?""@%4XHڎ1 N.͵lo-uo ftm>Z ߽uV{)Uġf/}-8]PK7b PKAgithub.com/mattn/go-sqlite3@v1.14.32/_example/mod_regexp/Makefileln0SXR )EjnQ7ƆDUh"ԪG{f0뻜~Xg5/; i&ԝ݌:l,|fnCz 3#>/lUU^w'7` [em{T~lL‰7EK5uǙ(1Fy*&HäX6(潧bhZ&*ʖ *bb*>4S0Bh6}PK'PKEgithub.com/mattn/go-sqlite3@v1.14.32/_example/mod_regexp/extension.goAo0 ԯ`9ui8llӲPIt)IPvla@/6hG@Yʹ̏0PQ:希V5-ˏ+01:sfY᳁o|V87^{*9W(qd,)0rw/h;Y $\]e,V"nUT|?]ba: vUJ tԓ`W3YZ®Aeb 9O82p\PB|aXT)۹ɀnOiѯ"m}1zzkx~2 Ͻ]"SVq1P<5n?j{x~'ӆc冶zxhdy&km*ȕ_' | PK*̰\$eDM2KdžC͞=wČG[ԄhN:]ydQUGUF[1οņi(vTu*Hz[ab:1(KmwqhHr((F}ww P2c荕 y'PK/s6 PKEgithub.com/mattn/go-sqlite3@v1.14.32/_example/mod_vtable/extension.goOkL3bޅ ʇ 9)MBOM1+i$/?qEq[(%@33ggkv` EDI Yͼ;oLt4D0m `UrHw ٴ(!|Rf]T87[Aܞ2߲܀aHz<{q"5M,Af8$yYkOihEJ#B= uMާig}s0U@,\WQ?z6pEVV]m4(4|5R̞[P/) pZ}}:マN {+?|y0ckcdoYY"@,.j_M9PKµPKCgithub.com/mattn/go-sqlite3@v1.14.32/_example/mod_vtable/picojson.h}kwȶgWl++F2'Nq/b3>Rat ;Y*=0Ifs޵k!>ez y g/'gF. \ȂԲOd@!zQz$l߅$"Ilz>,_xA$T<Ǧ4,C+.8&.s ܎!E |ףH"-I5j"f)'p ,(Ķ#Y{<.1c?=Xs/Ŕ:frYޒ(³<#D0 7q/gN$~l= B9 ai$EJ54jBң! Gt] vwսwӻλtV*й'v?zo{+3tnF.CfGpu`Է`[Cfy׻>{::pzwם n.Й\םU z7pӧԺwoF0й.[Ѡn ]{w]6' #Td?PUfԹ`x۽u?^w,Nv_wݛQs WߺCJ|F6ݠûwQot7o: {aһSMaׂΨ{a~w7z7`pw;oG.;w.U%׿i>tO.*‚?>tG*\Zb8.G*X`On]~\v)@7V3 )@GpL]nZX轇=?=n9(\ bÛAf& =?M" _{sDjaEtA ^)5GRY,! H1wo/IT9m`b1V44?YNI40Y) vOs07qblشؘQ&N7,(G{gLD2J>f!/؈<^ƣq vAh.6q9otꆋ@*# i>숋D4Ꮔ`X3`1qb)VH&lP3-A [8 E+1a,-u?թB %p6&CQ?cXyI "xa8j!+!%PB^,W ;&pNO F̔ȬRʆ=w-@(OvL&v4SҦD+^L (,Y?I!Ji *4hA5QE6>b,64lO+5m%3X.Jq j6ѝҸe}K4=pdŔa 6"9&W/v DbFʂ*8vD`iB2 -~AE`f/"Rm< [P-WUfUca, = ȋ ."n0T[DCi(IM4CeV*sBBg(yI]I uJgbL!J eȇaʳw M3rDQ| `ADϖVQ1-4 y'_ug=% tx9L ofζr3^p]: oqh]Klb\J0.ķ%qB 5#(?/C*).No&nYPm nWy?$qpD! l-xETBLw}$uiCat{{{x_.K8K^to&@HxnR-\WUYk1eLxbyZ 71UY U  =!^xxҠIF0 K/Zڱ3?^,ы֔̂ВV40ާr<<E ֞ţR7{{'R>o{;prrfJQ$ҚAhvq*ϭ( KCȑizǖUMY`em+N2pZ*aY^EuІ ΁O.r?ȗ " )ZM.$ώ=AB4"kfE Y!s&{bT,0aT[iv nJ 2Z1 }44u-M"U kO$&#ǝ-" )VuT BL7|aS+< Bn6F/z@yQtJIJ&] @١`Cm&_#ݯsoAdLRR\-Cm@R0'_{ +"al)-;]5"i. BHu_<|NQ-㘄~ֳ39(x^ap}Z_<oTbFe-=te#T Fd۝1AzR2 ZO݂9YP<:-\u ce9YC<Ʀ#;[RyHZy*0'meebv0똝 @}mE3.Gg 5?G)Uo8hb0)Uk \(pE+99+R&wՍ$T_ou*_NP:U;t{]G@ |d[$ {WZ;$qzҫBIc0}!Ÿ4tt]EޘTvRU]ոyJ_LU+SjX*;VϡQ_`09fWӑz5nS]I\[%|B5$ֈ =@})ޤ'u괐aH^ 㿺<̢̲(oyE@8,$?Cm1@ IB"1oJk\3үT@U`g'K?/rZ+2:Oj+{bb6DOfFgSnmب0JuǴ6-SM3lM>6jSMcS\7upҤ,NQ_DFN)5-RI.=IB5keedbG8'^gZk $0f {rY>MO2@yīʗJN~`ez~Zsdiz)&]%F¦UhS m+eߕYu5m Ԕ](Q<ȓ^(dJ:_A& ?'t=٭`5+;x(sD66 N`ԣJOT\Ib5*\VZ&]ZVzDù+ r%kjv.?& axPWme`Xǥ[wtSl(Zqn Mgn)y_Nv(+ zI!qv)4l$aE$ƳnoOJS0*.ߧAL@)!3 F%s"}R亄!|"h+MV㲎gNjD~D x V~nz7&_u&fC<9#wQHL˝l.gBB27UKmôtgbì9eDIp#zPd)=շ.h9+#=A.aL?@ ά"!ІtbԜd_;?/; Z{u80 "ә{Gq Mk_P=M7sdJQ_jM61cieU =RD[YeR=AH7W|KbFdY}5,0RF=!'eآ9=`  ? @d|aKA`qCw2VATtI#@B "hszHIP42m~tMW;\6)sr%{q}uXmL#amNJ{Z^v/zc{Mi!t'vVc+d&9[e'mड_Cy)B;5h <\dl /Qp{~ lz^y[ ޖXQUˊ%X ySz+5z"E})"o%sj[BwjբjyC8yN2Q䮯a*#ªGfʿ{Gst Xr1cGG% m(x̽> UHUބٷ-YcR[׼f ZғՒzo&oKʛ[b_S:uuMy?F'qQBv^J(.ڡ(wN~&&4\ yب_҉bB7_o㈹'s5D}f_P2Y]\T0ʺվlrl8,^Vgia&$Y:^ż!~O fsf{8-P $ tZL,Z.߀Mw} VU9&㍺DxNĔ/E5~_bk^"6qۏIJ!cRoaxOpRѨ^cׅ Vc(WP5`=V`l$C}McHܽhu/#dq !QSIt=[1ڛw֙CKG`A⧡xƔGqaCbH0 3PiaEca|1 ٫r! PZnξb-L.[ !@X@RdX k@iԨo~yx훳W~&ǯowדQh!+Ɣ Oc|rNx<8BBt<8FV@94Uݞb/*mA@ axlgVڧ"ljuq gڮo*!յufN9gz7k@OiJd_`~(YTttX9*zȓ1 GGpՆYFb/J"0m0gB]:t/eWGї\IM"Xf+"nJ%7\~6Eø'tLZsK!K4j<.+ l23@&q%bCgQš,"mgx</> ͯ3FʠatL:n߸VQ\+AJ`|Gf֦eX YCtդ)rB wayߎ8#E>2Ƥ X&T,ŭ>cz x;Df<::*RG|jZ|jI:Z9Z-"\MhzkJy}qj]-K.₢5oOgQSM&/b<;?>ko8|vq;ZѸʔRȸ( scªҾ?y^fBc0PdnW{18qZa{(!7j3yBԃ-ƽzB(ՋFB }ם^Eot냡UߘYo!M#!'7u3=[4zYNɩ$BrsiUNRn٦clCnX" kdD&mP3noV>A_GOGƼ*ؾjW!Qz3ztKyf?=CϞcCM+UL"Mvjy LcB ,Fl^4 B(,Vj21e1A`~)i,x(C aRyWƶ*\ě+E{{9G;vPK@H*EPK?github.com/mattn/go-sqlite3@v1.14.32/_example/simple/DockerfileT=o9+$@ng9X2d;ƈ;Z.$74JH)(@Fu,.eV㛏7Ù6z< &h}f&0ה3D>ːΟsFU|)'fzQ.^nTdtv4< ZOZx+~PK<PK>github.com/mattn/go-sqlite3@v1.14.32/_example/simple/simple.goAO#7x4B*ǖµx2o /ZqHϽ>YiNaa}Oq"/c5R B\c $gRJ&Fp&g MӲ*"oab4 3.q^O(˙ )(sEUsV9?01şcR<4a2u6)3)~WD38FUYPF01gRԸlQ ΁hKؠ{* WxU-ጲ(`jX~gK(|<Ñ\i~s-RlMa+mEjcHSo)hToDji]MXyBۀwH]-fp<0{%fjAG+N걆j6CRq6^Y/wO~~9,Rz>ڳpw-hVԕg݄MMJ:?~g\v<,3ymVRHY'NٝS(} sc\r4qlD,=ܩb Nzu/lZ}wCr/9Jy:ofkPK.xFPK;github.com/mattn/go-sqlite3@v1.14.32/_example/trace/main.goXms"7 wX`';|TkpRuUig$V\W`;ZJw"EȅTW8hkQ" =9h;~i59(nY̻{pNR}6z^_*gD""kId3nTk\khH4rou\i{a *Ti&,M\'op _VwF*IKV{8rb ^= dW#vY|$Fc1.aCHi 4 =j~ivl+U0:g=+! &p6=!^ #b|D3E$dcrbӡ] m$\.ksK14G /ފa-@XhN]nLɧY)V]w5P]8+ 7i -Zh76+ T1.s.w= V+('3WpPi!R@w!ѪI;,HIm#=f3BX $R8Jx T)$FޣwZ)Z2@Z0/RRFjX8<[biOa+# [2:5"ϥJ4m2Jgl,tp/f%(SUhҵD0 Q^R<: _41&et7/CHtlzS\9h]9>yOP }]*&=έl[]_Fڤ[ފaw쉸Kq(d %{cہ^c+"N\CV櫌 ViAbR,^:+HTPEL\X(Lɑ@TvPRP=. Wa ңt({JԠ"h;ap4_d]{zU^ޣrj 3z]#NAi6B1k(,՞34,4c WWW+,L]UvZYYr*\3 vx~Do/Fɑ6m~UŽ}gCpa/ے[ 4}KʾyeʺHeFN<<ԶrΏ a(-/7xO5E 7Mɵa@tevεRJ2<ڰPNݙ]tQp\ "ͣ6Eҕw'2__α^/gڢbLuhZQȼ-2F˴"P0vbH'=CѐpwiB^VN}?YF%P Pnmck@ci2ֶ;HJW|/m^>PiH4Mkmp5mok J#cQX$f 4M.A`fT N&2@g7p}3!{!Ⱥnu,rHK"j4)iaL1 _I;: 52iS+㈅"p *V ɧ[d~Je_\yg7+T/P~6ՅnF\APmHzWz82S w9yZD 1[֋vNW|Xyz, ;߷Ȃ3wEZOTe*nz3I>ٮCT35O9-t *UG }u4T 0'fg/GNUKVv꠴Clrl-`tFWBU]coixEEh2#Wn1׆.?C,.G3Iw1?MF~rJ5:?7~w?Jt-I6$^[w4]\"xirj:"^C0ioS$4=w/~(Q3f '720x:;y9s%W^qNVbp d&?";QFH*Jǧ [DOA9-k:;y~zs\D>_b|* oTAA0S$D;PRSD4|S2DOOJ4@?JpCa΄u6{I8ymł'}m]Zmu#aq1lXh5vC@#;N;wxnmC6~,<^].Fk[T;jjP_-o8yچK T"/ٶ ߜrS&&ƍϦX[jo'B*IAJ2d}{J(gI-/2ё1+nb׭v".rFg ӭ'PKi U PK<github.com/mattn/go-sqlite3@v1.14.32/_example/vtable/main.goOk@ϻb*|C6 JK=;r{YY Λ{lMlzolm$-j $SRs+)-oj{}v2~VB3H;W=`o#i55_,ox` ƐT z_RU pUEʮB@ro"4?b;8Sly>S!8RC[y,bx^-github.com/mattn/go-sqlite3@v1.14.32/_example/vtable/vtable.goUoF~+zsI{UR)E%*!U(:{w1BBsH ݙ",fsSI=8 9?i:Ҕ$_hΜ8gLҼ$; ҝ$ᇀGӪ@Xpd˔`٠,svS*u'rԳ|Z*IY]jeAl }}xsէҪ`7/4Ypy)9-"Ya g䓇?o%ah3O5jacHLb@k|IZ^@1U¢?9%3^_atyu{ ;7dQ?wՁV&j3kOQęzbh<9fJن7{fsݑ(\oboV֘ҷVk'Mk >:fU/ֻ~Fbaz.)(w gt^9KC8rҤ@SH"M*nɠml[pyԼyNqjF߇SSm~Um(je5?-PBZk0Ox7a^{G巋J2M]" Vj#A6Czg"PKa0@+ PKKgithub.com/mattn/go-sqlite3@v1.14.32/_example/vtable_eponymous_only/main.goOk03b*h{͐ӖCl7 {w襐~S."OT!lm>x`Ơei2`&s)lU)}?9khU !|'2Ӈ{~V٥͆.[WIܑ#%ǖJxէ_q"IJ+xUse2s:R#A(mJ7T.c Fpz EWU+GfSFIOuۙziZc(YϟG+t~frQV殷Z6c槸ceVh6ײPK3R8v 3fKv8WYm[+FCw!}dT: \23I &dp*F^ q`O缷VZ3/VSv2gdf! 6v$`T#],,gf+! 7g!7+5pYѢ >= ;oUaM3;2TlkSb}nq82 =% MVB{p. t3MgI>+;M /xѶVmOwSA;5X4p>?!o>,.xu\#g~4tۯ7&wPKM,? PK.github.com/mattn/go-sqlite3@v1.14.32/backup.goUQO8~tP^>Wa+>Q;l\;g;4wY`fgf>g6+m,ãCO"N`e'>p6 =m ʃ*[#(K{` r>4RVZ$BcS2Zr~C4rzQ݊%G=՘^o.O_/ί؞2jIJ~+YvP{|LyRxU VB3޺r^,exηzvAuMeFT1YX7TY&i!vHE8ہw 5Y3 rZ8кH1H YNyb :g]AN@ȄtP!#Qd䩮(X]cUQ0XeTk9vs1AޜQɈ}{y eY_`?tgD2ʷ`J2J쁭?@Z0'z"]"`OwK@nXJLNYgLPw#ie "0AV0@D 8IpCmM405<Z5Ztc |jqf+_3ޘã"I\S#WyO+ lka)"'\Nʄ'UFߞ.p}@/ 7'pslWzmǴP]'60j5=+9ώu = wXwz_c]whfJ/6^F:p016=dư(FqSu1v?,iJ]r)x Jc?s;!"?UBK UioQK_ʢB%ݛ))hXY|>5 ?E'; d^'taCflC4AGa`vaf \qqO/6qSLhk"<>:%|>3Tvy58wחoί~va>u>㾋eR#zcu}`a@N6 Qo,^/nfsm%f~?cad?Ґ'=wD Po$7䌽`$}]t!'ϒۖb n8K-`S2*ju[iZn.޾o1cOmN]'Qt31XeĻ,_ B4WN[)oyyo@#Dv4Bk"U>iO!q1KU57Pt\.zM~?f‡jQF) 0<$GwWg> u> kXO5 wz]ΚpvWRIMElg6GӮ"L/9A—KTJfB|=]w:]-|y !(kÔs;uf!MAPBĸX9dwJxyTir# l`Kn/r=DP=2\3J ʧZi`Px g\n,j!fw.]8pg=g=;(Oa3!7T(㥨^y|]U@ݸ8k]mH+8 {Nϫ1n^Z5 BaN9l_)QzTW*N-cU]T%E}%e޴D:;J!@Mʶ͚p3w͵fH?C|w\ۢ{$y9+84~zv$W/s?6O9͏Ny*]NkGݚ?QX%et6<`&2Ot+2f]1Sfx0`| p:ͩ.&LРʸprdMݣ^&: %7e+\GIs5_Kr,^ ^6X0(4 M3}{Y^P'~|LkC>D+d>9P %BwPx)m}jJ ΋ms jx6u"]zR%_FvR֛7TKe#}B+j.o쎫}q_嵾,-i+~ %qE{xhਂ2>YmjhEB"ӷ;lUloBϨ^=N&p) [b+8BuӨЗw\ \4n EjzޛxkN|h>NEUlI6% m{Yl%%Q=ϪMMZUO0x|aN-qBՄ)a(/PK0r׿ 'PK0github.com/mattn/go-sqlite3@v1.14.32/callback.goZoܶyWL"ዞ[l8im'0 Jvy*IM+^\ƻ| ?pܽ=rbi G?LIxMVHaEXƓL~L`oj dTF!9a!T C"m642*4$2" PJ%!$J' O }?dS7TPT"3L 0@DKӂ ^bBJE*ndE1h 6)ޟ+*%gf4kKJS.(́%Q8@lb`U"xb+ߏUUFR%UHn"=;:>zyr ;')9d<\v~H1xDEΊn9K+XKÕ|2Ƅu[&~߅ĐI dKvAGߏOLov! <> {gԟ`CJbeϊ%U4Mz#2[ M DGyM #afn`w @"Cv;cքW4w/B&7G¼xOY{%g/*0 ƣrOM2a C]#*e0+.ͥ|_sb*MUN A( wk;pv2'@G|0 -ngn|u1as.ydZNKA&t T?K''-H[.Q1N"n1nLȵ٪RY JBjXF`plU&ThP Ȕtc=Yʜ:fgJ t13O[1櫒 3t+)UJ]$y}HeR0sD-:x+QF7%,\ (-8ޔm3, 'DC fs:F|T^ b ԪSS,FyLj^݁{d1%&6+L,0.l< ̦ǿ#]ʬ)[ fh"6̚(?XfSueM`EpEʋ\6~g ǰeYh $O@ Ŗwy'j1 ߇'sdE8/zeg>+#YIW XK<h^&rzS>Fy1;u_K5ִ&/ف>^b@&0z#57DW5aM>XЮX.25ԶCufyR(J89VL|cAUm)m6ʢ6;?)Al K }2\lIos̻!e]H9-H:R*{,5޶w0Y_\üY{^?kWTPŲ/lH;lp ISX56c^=eb'oqKE `# Ħ;蝠9hb8ۧ@Q3b}_TBQ-^4g8"cMyگd,HF]COkj7d`ܯz%u) 25ǎOG=1k|gs!0 ݃Z36( ojfۼsl&Z)%a7-{mbwq۳xYhGZ B6p)'LJ[2 i;[o\ y Ky%J]J] 7?o*p¨BkY6Z7F^\N`L`VN{KۢyeVϊ) osO9f .m `ۺ`=reP# eIEu kQx;}V9DAiݧkSj/wǞGDk.|J , &_/ףr:ֺ,>l`2t"EAZh0JTJ_=t (O#۱˖#Xen>_OL5XyJ_Ϋeu%Ժjnb}i >=H}u97೓ >~l#{/OirA=mў,, ]E-E~RџX KKȄ Lw93as5Mdsok!6U뻢9,s0<..{TtuQmmҢ Ni8qkwZD4md7ش,)]'ȣm UɩMþg疏j`Xn@ODA87K%K}~PYTQV>uϏDzO3o)⑳}D';+a2.o7v\J9 aԼWYci4: aYK8h`& DQ#p.in_J_?(&Dl:ǵOtմI0KjXTvp{\nx]7O PKu8] -PK5github.com/mattn/go-sqlite3@v1.14.32/callback_test.goVoo۸~m .@7{?i"o؆rP[wE_ɓF~4-*E>T-3dp~VZ9?7d\\*f&߇/@ҁ3Ji&Y8q B˫cGBSDh&0F((5 ŇP 8ؗjrjU\ y#* ⸜W$qCku8bP:*q\x- Rc!oH8J~U qTjAkM3R31\f")5 !/.yRqT(#~3mkk\_/3h(?miG#%1Qt@Kh(2GKvoˠ MNq!/:(f0  :;݊:;m}\,)fޞPl݂c) dof"#vi ou/~R0 ]R5!|KTWvIƏ\Uѳ'?|B bBX-́PKw+K PK/github.com/mattn/go-sqlite3@v1.14.32/convert.goXn6=i@ıatu.Ab^PґD*$% /IPI@nD~;?j3KlJfX4TPh(~6ܬuf-ମ֠PدAV`\5 08OljS5/Phf & Gd'Jߗo//5fVMKТG*`"-XsQěV*qXF/'UxRRiU5)j,Om 7(TSp+%j3\ h%CzjXh-Q0Ns5PȖ#iY!תH\7+h<'׭Vp&2t6&8l7p'v!ZjMA墒vX +]m3D1<)LlƧha4R@4Y΀z-74@Fqq{-%m$yNnWP)nX,GvU -OtGcvw1$-2_'HAgYPڽΔoI{tLl[Ru~gDK,C&gqtw6c˻bB~)Wtvf B"xex*}uIooԵ1Mɩ{8OkU$>e~8p.e:܃KaR?Vǣh+hx:]-h}p|KQ}u3`c)]NA|)yD_ vPB?bv.M̼O[v,޺hD;C;,&ƹ4TE4V+`c:s^LHPe[ /v/vh04~vBF9`^+^zX/4m|HGH`Ys)J0qΚ?К8Tod\PW tY}v&j<-Ċu ~B06 AYyg t/Zթ4R/ L`#`əR҅N i0CQ@5xa'~nj-&1G+N7{tWI%-R--& iШMꀋ5[rxPgh,aG5FħKIR8Aݙ.jla܍zj**V`[R2ycWl}mKfx)LS8xΎsntE5[> bT*U՘ O/[/6l /?&=/ 엩tPw2r?)͏1rW{&i>fY'Ud{S(})9u[ЃN6z86[]k[ kZ He.7G84n *ů>\uX$ԵI0 ö}^`q ]G>ESQPl7q CJ >n)z$x{al]yjo{~+dnT|md*+YٶRnTYɪw S s5)`o`2D/ O׭TrXIJ]6OlڋN@ۿC[ '*4 R Fuɩai4pjVdߗ,YF}D<0=fQfKQA'_-< mIGPK.HPK+github.com/mattn/go-sqlite3@v1.14.32/doc.goWms۸L2#u߲10mzagz fGF C *wP2[f{1s:h6hthC]R綹#Kd )*j-=p9{tM&Iٟt{,2y +|اca˃[}\?X9j"2m'9,sx Sy0$yֶGOcFGyɵ5y' </Ry'5E15hJgQf9G}\IJ4{Sc\?0vA# G[PRx9Jp,-Q"!t-爜CD,t ^t6p+fl7Y<-_Ý%I21{G6 ɤ5b=vCFW5I nkz-,cbAE߭EQG8L3n.6@@2\cvȓ WO% YegͫX;ClKc$}8hiUiAŕi,7dz G]XKt8]AJ\Csiiz (}A߲b)>vxUs]]o.; ~-H >TH`V,jc Q2|RR,I:e1±Gv4׫Cf)^6F̲_:}.xzaEp ~TSamET`c PKRKNM PK-github.com/mattn/go-sqlite3@v1.14.32/error.go[o8_q&V#'N/I 6q`-cTI*E%_xs'y8X+ɖ8 *cR5Ѫ* ZߗayBE{ p_XΘ%*IHx@1 뫻ߔ^hQ AgD% Q!LƓ,$JBA}ϙƣ(^Oq_foӫ(z8ͫa 6g@gRT+}l,sFrx%^㝪K e]G?-85yf钯9&y>'4OW44YWj3&nJkrA[~}m;I57k] y. ay"IWr(5h䘀7MVn8-KD|kzNtmYMF~ĶDpxj{~J6ZZX-0g=EQ}i@jx Jw&$SofIQ]VyãصBiSK3GJ*-uh%Pkm-@uu>B *}vjMgAY˹{zRz m6wȌfX.nʉьe[;!ٲ p硐p>xDSҒͫ8*O+5ڊ=0**Yx64Q̊ZeL!CG l.\AIHujoz9xO2$*BJ3 ` C&TY^ۍ\ۙ!_.ix)dAtz'3yXN"=F_*ejQq 3Xq}Ì9 3JwSOc7 q N?`8no.W {>V17L+|uL ɤsǰh-03h'Q?X'wn I0)-[cL8r _Oa=ï}&IV>t'rrw} g+ܝ>i-IWן7׳iH^;t6{⊧Zk8oPKaPK2github.com/mattn/go-sqlite3@v1.14.32/error_test.goX]s8}_qL:%Iv6u!?t:0 $twNN s h@g Asvǁ9N)WOR+#z>}ᙍhH"9 \L&4E4sF0IFx232 Tiiƅ4( 9K-Ӱ(oP>W4RfDJEYbis6!J5,E_.lcLma]R \JIYK]9\( .oך\],2dvU [+q1QW8H  SgnLp_h.³sZC5蕵;.}n@'Fpʪ05iW]uפگ[jf݄YN_z_x.;j27CW=N8F kov#?:q4&IxDalVaL OR$Z^Qt ~IvZ7kcbG+jm56lZm^Oߗuk] ϺA5 㒤sgCF#0^}A?~K;z(v䘆˃zs`P voo6]o6zG[DV+`*1P[_L!j[Rl'v#=u7tj9{S3_f_č*Vkr,'?LRFT?/y>cX|ǰ(=/֣Gm|SFT ׵6Ҩ($ Ս{KF?q*rF?mAdyp11{m_.?u󃃰 Y`USb؇ ϨGZ`MV M1j+<+-VUo0,©/=v0ߣ aslF\Ь̱QǨaAlN*h5Z `' Tu @q.`] 9|EHPa=+VLSZapueoC;|wj(Va X PK4PK+github.com/mattn/go-sqlite3@v1.14.32/go.modT10 ݧ$-HHs 75iPCp~$6֯ܳ &[_جɁ(*F7X`#\{7ajdKS-x%4K5gTE6kpduOPKB|PK+github.com/mattn/go-sqlite3@v1.14.32/go.sumPKPK6github.com/mattn/go-sqlite3@v1.14.32/sqlite3-binding.cYw9( WS-lk(&) V2N % $r\uz߻L 01_"W߮Y_ 6YI2Lj<^57R%L-ؚ'[ņeZei$fToW Av;k>nj3veZd"%qJ0僜g[|-N[=>ɌE.f"ܝhœ%h֋-GzN;םwΤ?xu;)_nFIVE[22jE$s(|VA~b+DK/[/a'l,6gN^G3R)K\5ܘT.WyvO=6cmbfap%M8d+KQY,Y~_K@K2n%[t)D"E.+K_% ~oIP_ 40)Mv&}{S=ϯ, ķ.(1 ]`2}_4oD${-5>)G LSӵ*5JיEA|)s xf)O4=D1g-A3qO9 eZ<%@`<27M o7$lL|7u@GmA:ӲS2V[43G*MEdOH-`mf 7A3+-Wl#h:Vv.;Wco[I>7 ?F^碼M*vq6 2o1gxT%saDd,} & 9SQn9xkv4([gڲL$QeWLg<>zuĵv|^3(7<ͣf `eږ;uCZlEıZJ[`ͣTYd@8wn#d`$oZL1>`ҽ[aw5MDq6il)Lޙ6j-n nxr(2WRmV>Ҁ,(Z/8:dzRe 9SK5gul?3۾́yUdZ/[iv\*g[kC^9[<6u7CSBګ/N^I-;9N返takBFv6Tn_mcGcot&5w`.%gxv?{~Ovz{Wx=3wR^=oK-V?xcWjzŊwWwsu5Qю) ?|MN}-Ni8ş3p ]c=t, ~QK*12,z(X,>)="D6@??>}Rp=<=&p _|_pϛd<":D&7OCo4]XD]e{#n>ޒ6@?=P/bJ{ wT2Mģђxøވ^ލQ{;?׷ jع>Oz1)Њz%ZxJvҿ͜t=>/~)j%C3+?8]OPrZ0ZDDO/Im6*5L%f8&H /s[;VJLokM3Qk>G g _c{2GmdD f r?0 ӫ]՛nFf#xfbƙD4owm|/SRY{brrH((6CUeEΜew+.j\x7.L?JP-JuXIcңI *a"BI?ZYO?ܰڧlXYvpb+y>>@tJ%@У4+z]Ԅm3͕/6 i"@!pC>m`y[bOrL&<Gg2ƽ[j-aÊV4ge7+5{L1"9=>~fl(o%}#G''Gota|d=:Ǧ^iT (&U3>,A~iCZ֭MBk֖{Q$q%蟜}tOA %,v;6ks4C5, ftkDkþ.#Fud06aj NZa~//ǽ?vy C-Q ~HNM`ɻ.p~}pSI%qVx4%۶>Y*uN,IX0<΀=cY<t&,-_`2;gFLmp ֿt0W>z"E$tY3xW?{գ(ik̹5$z&R0F1O`^^wm1Nc*R@n*bIR&KUo+N<Z&0QTlZ 1%yt9*6 稂OTrH!x@Z s]Ev-ʿMs_pʋc+p G3龿}]MBu7( aꠔ/4:.){ȒoL,ΙU{xHIOiHݙ+ZE`x&Ke3arUO)~3y?t@ c+ӄ?3j&xln!mҷ?>ȩkN@A;A]mEK#d_EXÍHp*\]4~, Y*CewRӻWsW\O1eFةS,qlVʖ+hc.b96SjĦytG pL5Wȃ tN"`cDCr=x&2?.2ZYy"(%JgXP@hjސ30<߳-@ۏl.IRLŦ<1OỦ΍$Vj Dv:@Gے͖nyg(xN g}%Y_yDNٱs#"C ރ䶇L-ܤR)emsܜھv{s+ĀXS\($ @ABv4}oI.OAO&(GH S-nЏRC’ayDe\ӵ7ݠL՞}*j{L.ޣ}4gtҿM'X\o[s wAM5l 9ٗr1h?}9[SJUʉ,NƴםܻZ/엟٫Z($<12nsQ10d\a-{9$ H-q]{DeeJΕdXмłgi-^JF+:.~s5lN=Y{m/BJ/ĝUuCpձ>mP9|+*1⮑IY) yTH-k4G˴2^JG(d{nl#g<ܻVJHC-x<'K,Zt!%HV N/9xcRF~:e\x&\gk5\P%S9pSxH,y6&`"lR/? | Gr*3@*pvm!"0E݌zΤwQ|{Iam/q1Z0]TL}BgEϻ1ƄTNSߵ7jn^s?.`]<\ vEjz J}k߱nQ[LJ^geVeۥ86U*?בֿ²tntr cCO//m~ y=0NNᭂE$x LJ47 6  .7dؿtBr6~9iisvtO1: HJ$L%ԏ|44`#68hDj, ~A“l%\Drc6K̏tk5倱@/WXj>Mg\Mspgl>u3xf(khWV9f"G8;7#'㷳k1=5-kqz(K{؇ޗO0 c-0QF⑧ 2G/SY<)տ*+~* sد]_g= Jkȹ ՜i@y\lKT,M,Y57ъkQL#tbi&Epto^l*pC5gc?3e/?mR N\8qJX`$Zo|o~ ҋ? e4x7%zPj|q $})u !XN3[ 2 ԃbr#K]@PG"=ea2@=vqu_\]Vcw-ϙK aPs @Mwojó~L3 A.[T4rf9?Z)Lbo!! ekh֤  (qC!S5+=F+/<@ fum */7?&V?^z%v^m.-sֈx )Be#(D_aj:?,v2p,A . R.ĂZ\'dž4XAHM`;V~~KaR5jUG= F>7R,F6.n lU- ݗ ?R,Ѫk 9^]9 Rf`-p!%L<31`x G@MZ$Zc ;f[º-mnH ;_7K/w;ߥêr]swnwN5^&G`_!~թVD:jf߆3k<38cƽ88>hTzM6l )k6O׿D_Hrq˜jf)H 'GŸsٻsPk&8XCA*Ab0^ߧىwz -LrfM ]t.;8>tAнwo!),oGGb^T9cܿG%궳g p-Č\`I-7"᱁Il 7BP-XfJ&s8hr:-a]#L .>ͣ3Ċ?HKUrNIpeII,D E7lwwf'Uz(#`99\\y*reHgگ;\MNjw[+{살23Ee*G"SmY%غÍsQaSpڬ8y)OXa@8°,q0"I@3nsqWR,6,o{0&y>ZJϓ9\kYOGB!r4[@VY׏3"gG;X^ &XYS{TQ(\-N8ȝ,¬\c{p~[5ۍ+95ѹ4Et)R6nDw*G"<0=ŢTi})J$;>Z4qzD́h5R'- 1EYB @8P'2m8kA :&2F8d3*~P_3 &C<7o_oV?|[僨e-9ƑO޾zW;ׯOޜɛWɗ^9,~+lя+-< N't0ĸ67L3=:tz,tZlf2Ӻ[ü}%OZ< tJRt-6rI H naX }w\l41r=G |y5Lwӛa0%fqz6 XN`^Ɠmw2<"@XQ/@DZ_n}zf$dԼ>uC`8B+D-3ZCe[cUoÂי oࡥy7z.+z~5@#@wEQ$p9-{\[R]H޴$啄n(li#j 9aO3Go@oЋFCHP'@S[0*C)`LK_/-~Am dpقIDX0' ȩbq+]  w~ntI1P&0ZŋC_&hlĆ-D*û{ݛ^Y֋'7 0,oĵ^y!@cU!f [gXU i܊?Ѓ )Xu^ei "-XH*9r FZ(%f< 2M E}ynr`qg4;A>le h [ʆL&ꞐBgaz$-f:MqW4<7T| :0 9ۜhU ­1nW\qHz݂'*DR@nS`4yiRޠ5rLI3Tf'%wިh 0mF6P lzmVŷv|xRaCZUn#rbp8PlŸ%nX{ut$<€©,URZBq"-1op%jBH+ϜCq!K(0@N,NRG Kq+GuJ*D"oh);0~yY m%b>!u.W (njTqJ4ѽ n؍ا0M1󑋠̽L.`PrQL _"r2[:EuKQF eިL<H Rs! k) =BAý"167=paUq7.g ^{\܌܀Bÿ=8%H0gXq%R=$[P\ N(!ˠ[J\mf.OY ?̻d>}H²cSF-=>,vٯܳoc_ A8ƶ${sQ*"Z5> >j @yRd=ܜ5=QJCC*0/^X'l(|O0(H;0#@l.+z!t!ߢje)fWvyb:/Xqھd]I8`o,z%A*A pN=nte^ G,`_sȄ-2Їi|K9zrlD2 ?~Ldb3pK&}FÑ{`߉D2Vhй>Ww 79[)d6U D5)ZƏ^șfBLk4 .AO z jУ0 |cB?F8uwy!kz We"7DC>w?$buG;A 1OJpVLxmA aoġZ ri2C?3vrRsPJI\xuNO.8ѐ+b1Sp/sN:ViHվI,kHS L=%Bba%;S\I}(IoYֻZB $A@Rk[&Fu̅'-X&+Ebky]}W$-Wmh#Zkw rPSjbP!J3B +P#bݫ`1EZx iͶO?x7ƽ1 ll䧟w&UeuOwt:7Ɏg݁b ёk; <^E@ !cWaABcϡ?u'Cu ,"M d.8=)uB0{?U=gq9z_a4;q a4`8x =C `܌םї]kidW&PvmosCQ0FOE a4I[a<=(fxdGE/|o+V-< ~{,c=F~x7~z7ugL|[ztYMS:UE}Bt`VnD>u ISxmRJGɳd0rsT$gBL(9 12wD+#dpJ8%\FNbHxk!:({Cr_xj̢r '>7/vg?ڏ ;xo$N08sg=˝_}c oa[oޮ `W0-Q|*@xPOh韆w3Lz9@O˵#z_džcW̧yw5ՙc#85]"4tB͗m<)`dE%d$XeaZ@=aR|DwSSJBJ\J'J :xڤX1䋜S-:r|a1NIIdoOI"Y?!\HʟP&q,Q $JX7_oвXz%Zn+.uph5CbF`8atxcC_|QNIНR‡Ok영.N@確Us IJU;&ۍ@;,I]Acb\+V1\nLpе~ԄS3aAuE?b2wւI3QI qW(A2\|7|0br,|fA<;I=Qpt݁$2O%v-4kXI, U_Rg64SAB<ܝ2_J΢P] *Ru]wt,jL~Ii(F> Rt{}BrB @m8䎢 D&4i=2(ߦ1JΓMVI$"] ##K~RT]vi9( {i?uf(Ɨcc4;l </B_yp MɳB0c_4J}rkO]HElA-ևƼssĊ0>bP|z@X`Zp&BÇ:Q p9X"7ݧP.ǵ 猪lJ\2#ʄhdKH3  Ml\ -`liZ1-&!?V=p|W@ALkYXÄo(5}u"Vw|j /*݅rI),S>%PJ -Tq=A\n՞>VȬF=tڵbqE&:dn_@UuSa0ũԲPZK;6H'}rP$dv[(M@ةLٯJ%ґϬ4evW"wPuӵ/ɓm]h2 --KtB2aZG}8SY-ڳE}o=dW`9-z'CfL@6 œ k-Гe:> l璒f7ʴAS=ʀAyVP}%t?d!YSbRil|/ԥXXY 8s`S&-uQ$sY^ BNt 'R:%/f8f1Lx 3I};+% \߃򴔇̞ݸg jXPpCPp7Ɓ,%JьKJdera!5;KWP"LoŻ=2n8F%Ur@:$OR<%Z&P1 PbjE&KgP!Qom/V3!Kӛ Ҏ]vCY&tj3X~-Jq N>~W|748{noxcVSZUSkUSSojjڢ qn?ܔk"Fσ~Fbi01+rӣ\6*5< eց}:>XX 2}RCșh!ֶͣJL?pKM4v.8$tuAxSE%h1 G5!!; narWY0WLڄ@+PPGaM,x b?{/nmUo| [Z^2 b3. a!6(=ת"f$03#WGm). 9P˔Ե([ji-2} yxy˛%fu<@X(sZ7nZ,0I&8i*Ec7ƫmn1:^|G6䴰!Dg.Hxx_l6E[|;,B?23[NiH3Xp^uɜs8d #A:?kB{߁qN[#RU (kK2+,ۮǿ= IgһsWS fr)%iH N7-<\% :P6+S& 98j _͇GM7ZI2j&\oyԚޛ&M7(7!XJvrliqB2V<]%p%T=N}znP/SҊS6 DAyB-/f9D>@i@iT^gY] [ԜL\OtzΩܾU s6% JӚZ&@ ne絊M:Z߅jwe==pB,"Qw1!@>6cCE YF Aʄ\7TYVU-.%84f辿|snE9 r* uvh%가iufT`Q+r-pN6!5OEw۝iP '%ZϱW)-ѫpo9QbE)_zOBޤq!}'"0dΎ_\sot65珩W+n*c|q(OpbM_d*K'lR-W:UT(Z1f?++gjyw)'{X8]ŗAJ}Oz{_Lz΍3s`$%-bxA 꿮֙q!ya(+T0oJې4@|D )Wp uqd?//Je61yڬxdԴ1 1p@j4AynYg&i@E$X< A4Tԯ£2Β,>KX!cAu87tQ:%|-)Dڣ%ke,o) 7142"Q^yA3p؄BTsl}747T;_]}we*nwƽɧa _jwE,H% %흀|22p2yP#K(K uG7jH[ϝjxvi#Czf5'Qy0-0ۣ1* " nAGգf_?^ UYM"_$ȣf>%n3vuHJ@@$8E0d[ E13 / mU-kq,yA cLTp~%(Co(ԿUyq`yTYlH'Y| ZsȴA #|l|,Ah*!_gŶy1:(4{8x'CTUF+A JDTPhT䫇ם;0)Ǹ{_}':'\t[U%뷋6$Cq MdsHP65 *e.TXZjcS\:^[Uٓ%OQ,}l6:B ܕT[DļLV7 +E.j.eaK3]tX(8Kjf?8l,]2ZP.ڦBgHn VIƽwoмЅ}YмRdi8H@B\ظF M;d9+;ý' )/'RvrOZ>裓I=YA#Ov]'Ƌ]_=ȸB=af<\t;[HV0L#r矝yxt }Ρ^ -T}GZdqj 06"P e3 TXVUja*:טfAQ ` K@^\Mx9t}ύRNW,*g݈ - o+֎'23eZaNׂ7ue5ɋe hBiP},~j|˶,ˀ,S!SFKA$ɳ؝*h>H drS$K  6ħG"{o / nclDzZOLn9a9PEk܅\)^F9zr̓br6ÁV+DJEfwG$PH,O6oG1>0%RNJ8qv 9hV%{TnD*nzp[JY',U- IebA\g&x,L΍C/3d0Zh ͱ~aostM>1VJwNri`ȯ.Syᇻ@3e\l(06 @-GBt> Ol@8 m> 1 Əf`K7=8 omݣPEJQޅ`CAl&j&PAqeg1.:ܢ֐m.KAa*'2S@^˰.Dq0BNc}Pl7Fߚ2=r4vұ tGe5%~e/|HSWŶ[Х<_0ndeA-0k"CVw^Fy-9:⨂V ȘZ1:&';H'sg8`Nz7^ l>~Gwt0FfQZ4)((n#Q#JY&A>90CF;=fE민yԡz}L.O=ܠ-kCNIT˽qhs>2FtnX'~}ݹ˔7NGJ]փdpx@$[PNŰvfњo6b/^dᲖ[ ,(.{:lRhUpZM^lPx3nmCzX|*2\wTt?:ڨ /p6Bg-ʒrk;#'8{OoZ&vLFn#b"R+-8҇N>އ b9`i̤<һaA|]婍 o.u 2YInWoǥ%w##i]v%wx U㚎.oPEM*fX{k$`=fJł' M|-W;N@燐bܹUiD&Yg= &SdᚶYe B60*Z왔(D͈h vD ڛgk5׿-VA?M"0qL:B|bLy 3dR4Dq #w៕ F$_\ڦX=mQk!ܔfNSc˧NF [:WXM|$< -p8o O _ iGVJLβMD-;.x^9]u6#c5$ ?RJ`4֎ć"B>ٛY,ֈ!ȖP?uX?/2?_XV ߱|7=} -W>^a!2ڝG {(iʆ6~j`Bػwtt~.Vm|߶ }v5 aQlRnQG؛qc%k5{(ܴ(T4HQ14ܑ1ipˊkM][N ED>pϓd9Ԧ] tE6m5, } x~~-l 0w{c;۞Bgmӿ]Dk(<&Gg {,߻WiC am<4y*Wopx2:jb D>@)W(>yƖD 5e$r q0H>}!A]R}@9AGb9xE5+?aHaMZV\.Q6ePJ~yxʊ~ 1px-\H~w4mU5>j gmk7ӆI7m , z/H0Z_HVfIo91ǽՇjvlEgҙ~is mj6f. x.FSvߺÄ,)G=uDΞH7Y7yV-Ap}֥ $ {|2JnV)p*0 زB4cBXV϶L {OM6Jk9C/G3LIgr-jxG<SY ?ASKdy!l4[^xjuLb8h|A(%Ax[a9ő^}6sn|TD*Eu R~;լϓz07_ݧllH)z~p/' <>ryeQLc%MT 7jßkk-v_&'hgyJ4 aKrT\φłkƛܕ",ѳ;鶐{)c-HwDl>ͻI.= 0W 'm%M%aΘvclPf(v5Ch&0Ap@|[y{19y~w9zd C5*s~ʉztCyZ 4OpI,M.I䶿"T\(7]X%/|W#M|`G1{kP.B0Vzr3~bWjy M3L{`XLjgI?Yyb7< a& WJbb4zAiZaZNpXTg4*q xP7j6o8UTL14(6Vtq 6S)/opLekpLZL1Nit~[ik7SRhpJY|]eg.ye█5j >rSנ&(5ù7j 7j3 Vlprze 0TsTKk^-S^5j+7*v߫S-]Wl.6@B)ix݋7ľM::3X2kyyI_9'cκD|M ¦m0 k3_2dH C|6(VE)`u*CL+,%PcNbKޑW]WM+ X{YLVYrO3CՆ3{FNS8, tʽmC uH!jn6CnehGS}pGFO܂aƍ,ǚmt8̶X7挵[O>) eW|e^2Rt9咹D=zvIC U{⡠%D@{Mâ1T sz -RR>{vbq | R5gx I<$FGX6 "FSW+϶\zA3TFY5;0%:>Q{uHιjRe`-j-T]w:BY37Ho,eu䃊) 8POS ɂd\y'2,Z.Wɿ 4t;NB̾V$M/-rCR9".;& q]6`[2f\qܰP*x {u@rflt 2u9Hfxoi#Qͽ[b܋9K#s3OhB.v4YOgI"y—牜83T nЅLpъhflM O0F&d:'wb[u#dL}1pQB`j.v4LXT9-OuEȆ{gpO\`> I! _q-tYsӢ&] t = AV`9[贞%2A ctXxۥ ,0Л^+̴s`{])0-}>ǝw~⡋:h?:w*DNN7+dk(ɓKCtsqtdʢXZ%g1~NI}B h$nof ILB+-"%@bb43FQ(rM߅7hf(` @ v%.]?ɫYdR3>_)NN0IE!+;CDq69Û` zAj8}'5" 3F-L$^OSmD2}8 !u D!O+1n8J>RX׹ ߋ_^&(-"p|>wa? ܅;̣ :&Fi(YXu?^L69` &;oϟ2鍞dNoEa˰ʱɨ3 p$/ 5 u[n3v|L#E]D G)+pyPu_/͸` 5RHk3LJx%oB lS/ :l+w񄢇H /+ݗ% LG(sj]R[Mh'J1 < B!qa=$!,|S\CO2+ȷחZܐ[N7e0F kʗ?X-)҂`CC Lyݹ2 D6\AB2s> i4 'BV䇹"rrU% OhLKe x@8Ap϶\)-¥ҶX?k^D`%uLe.y:4z+L:c#GVW˄Z}rP9-HFԳ퍫Vh+pkJaQwFIgţ{AYODxvj~Wvfi! fϺJ'; b:j8[l1G:no<>Ǔ$v<<*OKBq.|hXPw,ͮj^`;S=N)0DDsM_ʘe*Oא̝>qћΨ\ S$TaA:`H3_s_3ah_j&X,yəZj{OKTc>\ېjjY0kQS' 'D\*38#VAB+xd B`rRˋ5yj~3j(-Wyng0"bm6DLj7>&M,1aABxR@$s+I50BM0f Iu`V]{_Q:dOX W]='r- ִ@G ud /YC srv^1NVv{Hͮ. O:Ge =9|ka^߆; ο]U] Xjr|ƴǎVF[jӶ-:D{Ȇu-TH].b RgŒ'o!'HVF"Vhb y"d,`>ʘr}&aDpvh]RN1Yȇghq u")0XzK 5GgB?a<'JP<_;@@@6Ib kI."^oG7@bbՃ[5Eݤ~ ^`c%ڷd5[CS`p{6lOH HvwێH37eb$YB\ wg3IC揵p8\ǻӊj+:Î vA#wW[&U ]_uJP02(K7k9E[ mu9U)~q4e%ߕ 9pGv>ɾ#âL+tDvmWkP F,@m)[}u= rXR\@Rɍ_UQD1HT0&(HE g?FPl3u%'Aws,!Cݕ+H\ps/R6U:B#9@=TB+ f_X46jcA,~VKĂ0@G5@'YM$ɦ*AپZ<6SBR˿ ӆpdg>xĆFZہmLTEX3fn*=hygxb[i` ׋ؗRanXDxqER)sg:uxNdpH JhdKy\ETZߴ}LҔjI!2GÕhI!e!Jt]#ѳGawMǾI:)q@M ;DJ^g5x aXJESN]? &@ rĽ>Gsa z(?W!שFX=1nn8+P)yx{`aG-3iޛ-|$R4ZV5 pD s} \ #BKt.#DrK D?ƒ N a.ٞKn5[w%dȞq<,i&1@.ڋq6Lk#`in+0 GFZG!(¸U8J"l$+Ƈ<()K? "c`mNNcJU _,ˣW#sKL[qfm5PIl_59|ʾ^;.ZWw 5a!֙"Pbl%~N "͊\p=唣f;yuuB8a?"Z;P`QH^3<CxWK5 XnJ8`2,eJ}\yٷ`i!5I3@).e>_i;<}i>+Ъ8z = KqVih*'2mx7a68x ;qN'ȖC_r0Zl5v0LNGzJ.4LT}e,SJ3xuyqQ.QDAG\㥭}ʮx0Scua#i\+}ȉL(qS*8Aj&wg"BPoF : f|-]< (CQ+ ^)eEuHK (|7UPןrtMR~=vb0{m~䕫cϋ僻^NOPzwJ*hZɷAA]YA2~e|jpNH6qՔВ\7ZWOF*x2>KS{Gdbv ygGZs}/h6yzۂb%L./n`o=)ͅqKO`,Drm wrr7<޿N]SHJ҄!fooop p:~74"fMD*Yn3"5([b-] y>I\BF0w1GmQw7'? FAޛrr} [VT( +|1@^;^L<Ȇݵ:l;<$|V5<*!>k/V,{)XzI-Rjfii%\؎ˌ7|;oܥ"7 AIPJ$sKIDԧÓkYG|7ӏ0ٷOXF!z;> F& BP, 23=&sE5{"8\waHAԙň%ڨҔstj>]w&[@'6BTL:l*3o2u?Ek@GF:p/Ʉ1"+,Mϰh\tQESs>toJDG0-`?H qbœ*wI`fi~vTiRA1@M4oE]ԡs&kξU@S^$&"T|,|,yD Rw's,7m|ʎ`8q \<+5Io9Ғt&31\%|!u %3SZ_j|`BzE ?kFd01&_e~K 9\^ipI H5lzqtEH,mʊ g;O(KఏWI+ %ta<.18o? H>NW~bק岱mGDbn^LnePZn6FVde'\eN`mPE盫p||Mׄİp"l!6JDerd@tOD< >E*H n?FnIDsڷ_]؋\m肟 y@33[ .õ`eWԽ@KԲ+ᖴt|@H*ė_S9Awrk!ғŧ{s5|7%7o_r@uL \4lgT6\` Y r]GG@zdH~Hz"v{_)xtwdu19+h~t!;Wz4'k#'3^O.Žmj6ТO(Ll 48si̘@g2T4.f 2}Z9y//TP Q HD=q㷒c^V0nK'4JTP3NzZW&{@3ot-.3rl*ćb;dJTnB n'WBQ1 ?WV}w5>I6zŤD2+{zo".2Q8<\b'kwo 6YuB2]> ˼ l  0D( ,WVǎݣ@BDK&?О'T7=T^=%E& @J=-Ѻ,Ψ CsU4Oܥ.B^;hwϮՊ lAJSMNoK| b~hnd,h}{R'9 2>91ux9~[HHc^)kJ#kp1n,ܯk{ҙS8ČeQ@!wEr8)K}k/^topsL!XyЫWԥg}4+u֨Mh߂D;W(ncC[<5*0;}Y]Lf=(RgMMw2FB"~(\㋃W0/;j5UVǺoޮK3z}=?yUx-A0WǎAJCz {АM[̴\´' w* H85zm:G{]dTH&ĩqQ\~{q;7g6]d;t,sV{(>U]Μ@ I[ײ$ZH=%\%c.u=]yd\CR<ƞs:,1B)p" ;!p64@ /J/r°_8Ez`1Wrs V@aJz]@9/|/y*r]BZn(;i8u0UVޟdOC^m|?^D%ap7_M$Hw۩͂0aok@6u;;ǎr +Isr%LyΆoOF2r:HY~}5HpB. aޖaWPɣCH!< uV4V^cKnKa&ށܛfiC U_ДHor쁧sFN/)cTgxI7o"]=jnB9EqeЖ #bL$RoOpqre^8x.tnGco K^ez5q瞈xz_< 4h ٚ<>gl̈o5"[tƆOF7*y̡ڳ>L$g'.`G2yƇ}!Zxw8=gI=v^rSkEE '`k8 ~t@WeE߶vFWvz ozgi^oНF=u-mt=suXrmDE5<Y$],t <0OasyUA*AMXOFZPW}0g҅aBѵȍfngg )Uoh_tNE5a]T(%?|4Wn[ZȅngŭZ LD51 S-Lz.8}HSQmiL^:Boy6;uKt![kʁ!nj(k{y\-_"=vW'ݺ nzy $R|ݒ29*"b+vؿ|UJ@)G@1}p> 씇\MU\9n]_#x)=o&B)w틑JB@93ϡ׹* c%Dt9CߔSISSbHx6F|k/C jY]R|Z1m zBck#ҺLeO0ᑨdUOx52/K(ƸYtfe3"(N DӔWGNh_@*붑q+OTLW.Hi[bevFV缒*bb~<5ب bʹV#DE&>zE70@mFt=_rTWQ+mӻ8{0%XeJRp6U}SetKQ ק"x豺4futxqsu^v`.wL^Mu~;"rRk;X%h!mOџ}ƾs흶_ASָDܽN]}KI ytz:h''ó8cx:ފUrv?l PC 2sIaQ4jbDA)ѭ[S q,FWqyߟwy@)\UY.MV*Ju_c/B]_G#QyFeɧw.dK,Z4tE[,Xg'7W''&J * ܜg[MZU4vbwVa"CU[ J0-L!v#".0P+h,Z^T|0V, TgQTQHv4{.79 }] Yd(P}d@!t?/0&)2|CXϞTif W9Ճ63-T #PԡX*>z͌C`Djp>zOtQ֢|!nrsr|z<3 \#pܷ"Ā#^Zްu<:WIУ)=lb<`-ovjBy7_zGnn~:}#~ U/S Dt 9 "e|[dp]>s9Zug̨1W_I篍) !:*}P%S{LOo'9eO*0TJv8x؞ <chz?$" C߀;!G\&YDfozB䶱#Amh<+sVv8(P1V쩶(z%{Ȧnwr.ӱqh}]sL(6y2ikΡmf= Z^8o= 9|/.` } Cu/04 Y@PbU{Sm.|^;T 0Wxsk"ƒ5'`P/ဇ߿?+6|w>>ZI0HzIwY$_X ͓T&6xy/nk*|Z)3_`WWp'^!)>^AmfUPr〞Ჯ;#rtXVx@ZUv+v5t0_n'͸T~Ck(Gu!PQCRzO ,`4}#A.j:?.wuy[Hع vE"$T?|E:M^0y"S (GЅriӊwΙŴe P\yOԖK߂!j ]5~kTe7a˾y[9c h#--ËgNr|G:vCOPHXS}P%?ӻ5`B=dFG ?_=AwIZum^@q];+w%AoPNL91LFL }_Nޗ5`"{N·7zm$Uo{k̷GvҪq->N]щ@T近 \Z$)$ҡ%^|;$QsC:qݵm8|EBҢe\}ߴ#z,}0C\*5U kev\X_~ x5X/B"NTRe1k.a>Ko2xsn"%:O.zh] ' _k}U[MMs1c(eG%4_-"׻wiU'ĽԾ]htr'v%Qw'2 BxyjtoT'  7&I< Hi`5zyGЎ޾ڻcDt H(6I#-J4|m&o.t2DI$n{e0ʓͪ]c# Br@gpWT.?Wj \ ̆*9qm}E\hҮ|~ N<ԁ$ ªNlE95TIos< S ! J|՜K#g'ѧJs}%p 2@Kxv~SP#A;z&X,$e)*8ֱo~`6t5K{|J He}cs,Pjy+ B+(/nt?J/GH0wU)+˗F>i}ǿIFOlIXo#77jM4G^Mll.=/4Nf9EzNTf̪{"܈f̰-%,0kWŠ}^#e}jzg4 C% wt\E/bEEbK }j >w' ϯ?pcϾwx{7z}3>atv b57uo/D1cgp %̻yJ.m+7 (a'r#OI|8M%Mfxtvu|~YK=qH!DX*1zɲ'w)RËhݤ𹪇 L`9{>$™8v h.K8ЮN4VbC(⻎h3tcRFJGIٷ w+EnQwsⶍFg򋄫,"Y8=P(#lNֲoYz J(.a-s7JԚ'0|俀Q"ޣM첶9f̋DǹȰdz8ޏ}M[Oȇ G nFu{,m! T/9 N`[%]~P3G{i!^CuqbĄJD9yAGQSTvhVtE|<am@׌m?%mbXJ䬷[pЄ9 V `սt_ d">B/щdwPv|b. Q U A+" qfWm Nc M8GUDOD֮5loRyGމ'ŞuEwjk<7Uy(5Vv=E%ᠾltmQݢ UGb>B$RHkkSyN:g=ˊ3w÷G8& x;"wqG`zvZ߂[X8KX{诺 0aV Dw+&gր&t~4ӓ>+~ĭ1[xѡ%?î^)p3R'B. ^6r|q2<>S?].NgT}Ӭ7I,yؗeq[E)ʘ*]M3ː+pnh+'b-CMHv'G,/HK1eAv+ٝs[? %~ rt5 ÷ë>s+|($+& 2sU6A4Ą2˝tbY?BlQ0 P+S0^bY6Kkg J&˱7v47 Dhld ʓ'-Ij(M4X@SvNJ HYZۧw* ΟPZ1\fHq|*-gcn`\"*<}$`+S{Tl2XCu0P;wx_ޣ^[L[x}U 9co V8+b*2,0JhLL7uR-#Z„1t {n٣ŸGGIlnUw >iYCbjx ˃LPȁa(x1q:zvOqJ0Ï$n»<c(wU&ףѻO}0՘R\3lUzofI޽gH`:m}yt+J\=?!ǚ,jȇp |D)HrjGI#;f,,{,4V vQùw־CP> XXes3,IҿtfZ3`wzV<RK^J1{Zjm=1Ͷ)wkSfs; +n)¿ڤ:XjV|Q]o??a(>:τjʺPWe]g>晄0f2YR' Oƣ%+gגjuʇH۲#\bJP#chX)'g*eϨ>՛kj/w)ue\~0>+tj(2 i>ސWTJg"Q>5zHU1{Yt Qi,.uvi{cū- <( ?ƣ:>]jt2:p<;܌ո(K?^mGvhy,"9;`w6y|j<:rony4,طRDWU 5eb$4WY:MrVv"S6𶱣=+r3N}S[6:!uKBM1^]:IkiU3!aߥ\G?ȄB<.KSNy4fK@pY59h wɩny[a2:>;;?|׹EزhE13֫}3i<|ۙkcy$V#+!@a~`fq9OwؔPLU!b,*o'TbLBFWK2#yw'w痧ZE.J09X鮍]:NK^";V<\O˫\G^.Jq!1=Хk>c^$SB.@e͙"vyQZKZOvi/no3..ƾݹҝIE퟽.73o,ª酅lQm$o}@.f7YDx_ KDk;BknbXkj5I b+~k I{:9TMcx~ ]h>y0!7K$y@(supy8گ? BDQն+z p9:]wܮwswkwEŵ7N* Nʿk"[E)R+&|Jp2/*I{эnh?lhѕīf+mЫ"$kYvo+%ĕa!ZV㎞bbfb9e{(N HÝ5.qSVY5-Ӊ7 emwE(9N˳23̫sBgEe^FS]f[LR%AScG@yw5ȁ*eFü}VN$#~!3G&_l:BؓW#r`'(MGhUk>?Ys8tvΨ`"|84Ibi#<&Eacqi1MbngdM#lLQǥ:1M)04ٶqx^mLv9‰.oM%\#4dKuDUznOGϏIfu1 VL;, .e}uL=?~8j3ӂ@fһ2d"YkDR"/wDW:+SxHg+6r./):;(*MhZOXj~W[5m3M\+Ѕ[JG#ԹRQRVXEr@n J'ONJ;tʵm؋|&v` &\8L!@ҼįFc)è 1ȾC\-<<[s.qHU]9˧9QvEiU4)8_g4( *aL)КX>teKQEphta1ۍ4ĉ3+SGVbbJTbg`)3.XϠ{bH6.u^iO1{{̛gMuVz:mMq3\; STL*kcn+%]% i ƻ/VkX!h6y V O+wӕ Rkff6eYL21Tv% 8Vksg(&6 SEBW em|.g'6VN>Puq"O,B~1u{Y6iKeI9Da@puak4O#CpĀBfݧEOHI0Yp3<|X vi*Knx|2}HDg1 9 :ʠAť`%-@Oې+f18ɧEC^;G9fkժHc[m;>U|Uѝmv#vNj`AAH/rYP?)IQJuDnd"–%#q ;%yA\STCQ0?ayRUnG!|Z@TD6?ϭ2B-Xq Buh pK?7ҖcljS5Dсu_iTE.aY61{11:vh72GuɅ !B*VݝnBDP('(N]g_C`{ΰ|nR { &J!2}[#`\ l'U~ M>{bnhfj*JХj# ٓøKPJl^a?Q1PNX8_ex:\jN/S/{$GΎm6cL%hw0~kÌʹ9Q`:mAhe>* J'Ju+*rJ 7}T$nΰf+^`ײGڅ/x[<|@qgA&ɤD]4KuGGB A6q-ՎTE֠B.*:kXVG#u鳿е./f""bwPkUH| m)hm.o <>#jCYB/^=k& 姡4 @qasDN"ReVmKgV0QUYFoGŗߢc,Ѱ.0kF6RPUޒС&݁K߇NV[ɇ! B=keJ^J|Ⴉ&YYy`pXY.tguiєREW7cɰtW5]_@#+f0^]m#WVKxnSvQ*]F$T6c}v5 zG2qX] ƚ[$Ol91[}]9A~ĕJ3ʆ 4R6ߤghF+ {1 3,%› ̝4z진sQ7FwM2ZZ:LDADܸUۅn=Cvc/)Io6ZJKn SRZSjЙh G$Ww`g% 4eU1ja:B:tCCc$B+hϳJ."kx$T5ZC#U2qJMVofdM> Cmyמnm:,4it @M‘Ùt8L1kim'sQ X7Y֕-}B.6ҿ^7ofsdc yl pow/l {Et3H8ё|eR5W SE2&O'9V'c.F9$yEQ6G Q}[uɠxQúv^L-xACV:F^Nc:_?H#jU`.ʝe|mq"[LpKu%Q|tsDP RҶ;aR{l{='gr5`p=h}.6.6$ec WD`3? Jj4]^_; '٘h:7udRH}j%oc;8XMpD>IvK nH={ȩ{xD÷V@A;`1CćЅA׃v*)N]~V. t ;͡+I6Ls|gC -K?of:֙V7Zjg }E:I d@_Lv`LJ>ku~gZ2ZJU8rrЗv\]2O|ߩisBy &U,+HEZg讜_cuyhm)ȵy0YK^V&)bb ^5'$'))(?5WPφ]DZZg<@V>H'vMӇ6Ւl;&f3Vaљx?R>]EqKwLGI)@:*tOG @;oQm1j[N1O[=5W%@_x-A_cۓ4OTgo3e5@^&A(G8|TT9}꧃$Sqըx(ӉL{ KG'ȊU^V'~1ŊDRA`۟?o2e^ޏ{ iW_Os#6*iݗկYSw@;uinʪ CuHB5.Fx5N)F|8<ߓzE 5p/;alVsa߹w?.|ִ7NXB L nb\AyژYu*aj!y4x0Nh2WN3;MPhwm[́k<!5u,r\Z"Q6ʀ%#)i7 @|}-ubMm7:5'P'}gRkMKlLP`R:ltKSQCl8P؈wH)uW,@trsi>k(#d\e@|J`XKYckf̝ +ڰTpZ@ 3joozv@>ત<89@rg9+S+IOVKDwz/ߜ] `,#vwE:Dؾ]2EW22}iғlV8` zr7ym2E*1İc&a82h`|t<^~IimPO [1F&4Ү?Ʀ~V@ 2cr'uxHTVKz  DZY.REi0Tc\J7Ӎ\dR, &tfbʽH})Uj>B)s 2wLLnբ DqjNm|#dIz;Ok2UYw {,U0W>z`m&7c'?܌OGq[~Hb1\y(BX.Oюb6eK Agؒr2_Om¾~˰vBZRgEu C&LS`1L{ ڕ6]f=q"A(4rNQ`*`{4qWJhS Yc r4L\/ @P^cJq++5]q(Į, !vz졎ގPsS V?l7^U&.·ʳ&lS`o_wRXR! ,]bd$&T|Yz#%LȵB/̡se@BBa㪶.静~&dCN5ZBY:BQoQQ@|ңXb0봮L6GވWIAc H'VgSP3k<*ԚK n\rV+8Lq}v^*q*r48 o }.9:HX5kSE_ hbOJs'ji.H1GG!L$nEҠw@uT5ۯcss`.J#Vu'[q"H+Gϲa] Kch2홐'cbW޴F/uP%/!|z@r@:_/KCwL/ V|'Y:57OoJt'/T= eL}7X+ oywq/B˼⋰meU&ݥC7ǹop W .M__Q[d<3]+|QC7xO-&|/ 8@%RQB+݄z p.ˑY'ej V*h$^A;0kKYꀣcAfP]:4/cԔUw;qYMR ~${K! h\8ցB{s<;Y=>-ꑡ;GE,) dO@qtavf꡴k/.Tn^aqqEV : dַtJ H+le3iBY 3 RfQ%VE/5OV!kjPNO o}16?BYN*9_- ^St Ջdܿ8D)`կـ}Fdf57/ƥw؍BɾXŃ}̫xAN29V9!XwǠy/1 G?_ ӍLZqi`@X92!k*l'>] Ϸw\/ 쀹{l9S*K'."mi ƩE^u9 >AP<;%YS!:ȫȭxpJm^#SS ]}4iV惡u =D]̑z6 ɐ8]:%3|Ú8|,. G.XhvԧE}I#Pit;#l(-Yp9 A D_%o&謈k`Olɓci#w>7%YBu=@)lBݾ+:;J\둸~| LD~ w Lc=3e<}$Mhj5)LEOHO0se`mȓ |]}mq`,Xˉiy=p<ep#fNZ=0BU;܅xloD> 6ꘜ$6foſt7G>v 8=Qo[&TŸ-S ϮT\Twd߼{ N4ʆ#aoLMU$mHfؕC,}4C$§Dg{k\O݋A "[ Kl? K3yd+n|'2]J  o%"l[NruuԪ3Rֹ,ܲT6F3%Y:Kgmoaifؐ8ڜΪ$\({.hSrt%>^8Ab,;sQn JtR4L[iA 'Q~skSw6:92 %A[Ѧ ˘V|H̀:%(*s.›}1t3bfjw OeEȞ aF`LSHQG-^֞uuC{{_ `EZOZP8@F~Q(GZd/>yRbz/䦭/t p9n#"NU pc/%: D_"ESc6t ܥw,2q>Fv]W-t + 46t S܍1}o;R_~dE]7lVv~@Z5Ta'bP@rC\h, ^:mK'I3u'eV.^[FH=DQDp6L FM.ӷ1uQfV^|V,8MiWȴ(Ъn_ 8Fc1w;':̴VkF7I̓`~AC&άx|u:'L}g>9)?&Y1i5֐m rT.}830yp p`A!$Up-4ax䅸O ï2!B$3YeW-߮Bht:H'bf_zRiɵϫkULiupAջ:~I8ŎMn{|x"v. yZ^*%U{]^~OCM@?]OPg|݀KN2i˃JaqsB,"@JBje?X  ;+/w`bf~+iĸ 'weީ*}DPlj(\ATU$zfG)pJO<;a;P*!D| sV 0yn [O@~*cOr4{3i>KYM8i%}hXȧԶD}NsdR}U=jrm"b0GԾ#$IЍ21IN4:޹-K\,'츎 gK=&'MG&<:y eCf]PC:x{`B TSSK⫊)EFeHJH +@RqƠߟ}190F-tN1HbZB߆7{JCK qDubL`옲U\"p#= E[nws|?g99e Մ:K@#b2C`?@˄GJx/om̽)0PFRK8 r'ϨYdצ94H!`nQ,P'>taV5$B8- xԷ5# v _pBo8:&؝!^-NGP|BPkɑD6S)`y!Q-nlʒ"(ejMWM-Ğ"zA͠fH[vl Lק~h܁}pH]p 2ʁQ+}EʇLU-ŇK T^dN" 2CLBS{js.Jj1Tĉی : >ܾk }IĢL, T&i~O3riHN*#KsWD%=(mj0iy2~hG`i;+SZ'1П%j̈*!w=J.'xKjŤf^6o4*DJLoFvNKk՘BNaZHP DEV:ߖ@ PqZ,@Nd.ZOnAA",G_RT:*bQ G9*eJbC]xm!+~.%/dFSVSS}nAo;vs<ؿxD O:8PS_,NDSر՝ BBWaEƤKV>9$=Q]M|h9s8Ez.G])(/9[r& ʵDz{4 [ N޲tkjXn3ӽL|F>s_F>–n8sSB(-J&cK{P# ž'Tz Og ĕ ೰[^HK);L[~Ĺy%cЖ ?baaĿFbp~o2J}AϛOǣܗ8Os_Qֿѣ8_qYzja>Se1O*qdrt8*@<4ROK1[hye:agWԗ1L6h;djk@N1V`A8+!*?5 mɃ, Ks1$E#40X;31' M"0`c%mNR5貢v"^n|S19QVbpO\GH³wnw0<\ctsr|z<wtXp9P'ke:yk.zԲt7a0̓Dm5Nez([ {tzY;NB\4Ww!H$}9M".XzO Rr7~ dla!e T>ts>ަ?0B5@9&<@"81}"1_ 9[TӜ$lR،}(Ŝ܇dą*r([N2zǖ׳߿~9wg~D\nN\HFATʒӓrW̪RƅpI% Ѕ~/kj7lrPfTӻ03ɥO>K;D5i?ZXvdUn*ّm%=^YZM˒Zd|d"Y6Jb&CխB]Doχ[.nDa*!W@FH91MTMO4C.n:MX |~cjqOܾ?I/ مϪ{c#p$n@4 ǧ=_l61.D5Om 2v7j9_)O&E_yx<7ٍ[CG8i?nS'*P@Qz]}Sz+}cͷd{HۍZzKk.g0'K2Ɔ-IGRD3z MM jd8\p1?)d51WuZؖ|^Q.@5{DUw9g(2a3\zy]W:]Oa;7ał/|z# ¼)1dw yhkPh}}L@XR4NMEQo0. KrLM8q7"?c")b( ,4MΘI Ix1OV[-.d FMk^7_(q3wwH!+Wfdÿ@EI?Vpܹڑ~ XMWv.tl8˂ BM Mz\n/`bJi#^!A=%?HgՑ|\'xd 9tZjgVȩ ̊) z=G0555$-wdRA? q |>mL'.<3eP#^te .]{÷qv,7gU|Ir Ԯ[ ,rϩ@AzzՒ&7ja4Ia]k-?8imMgd뢺QAtSUe?b̠߃1A`Y/5ejʛ$v)~..3#pI}%⢪gȗVCA-]Uh02؂VzUb`h"4Fl'"t_*طv'B Ij;Rw=6 +CZ3Tf /ճtaQz=8Rs4?Iw${&N)2&ags[\rnp$ee`j%y#O+jN^\F")*"ntY!| 15)oU.oPnJ:[>6Bb  ڨ܅@c<$SΪ9J0\/;: N_EA d#t,y<~ +~S@b>CWJ%aM5u+YGAQ8+' V#EI钛ju^`]!~F./gpy yF~_I Q_V19\WPT9os*\5CwC] X1|^ ԪyT8fy}KOO ܻi#Be579Ys!oڡsR|~> tG*@e'G2b:l1Ԥ3=5{- -B?C)20|}N"75GOss1`.|z>7?z8ӭcWo.L!Ҋ9;"*Ғa- 5^Qj/'4ꟓǿkVS1O+Ƌ6_~JG&[S7a5-ُܐcc  =+!VKA˛nL^0>;4I+)Gc"! hgvv03m9yy3ֵ1stݚrff]ieUX:/o Ao8P6h=;?8 gWʌ?A'?O.NMR_Iizev4jWuz͜~;7ynWc#Y`"/dI@-̹>}F% Wj[`UE.Coooʖ- F#^NLIsmem U7ϛ/]]ʴxTKrQFw%wyed_]׷߾o߈ ڸfÔq6'9v"5 vd;9 (ގVern1Ӻ"' +юVtq~MQMaD {|=|ly9E Bt>\LD:PSX5@2-(-4kD!bt -x5xVo!{KWͪlRǗ#wts<.PK% )Ţ3H&_ 7j۪iȽ8یxpH8U@25;k DU  < C2*ViﻁcK+R0 $+g. _=r{p?yMV'PME ;G':߱Y1]/KƾIm^>)0v]9x U?ZEʘu^Ƙ͎݌`W@'nW !} ,Q.S2$dqfRR)CCXկjnj aZ*r k>mq{(W'ƾxF?Rz=}sh^?yGephB# q7rckJiTR%cZ+ePX'^dr]dTYEYQU/p=PKIV< TzD`{n!:m9Nm=NZXm^_h(}ѓ u~[,}Mpu~`=~6}?@{0Rcҵ7r\~Gv`y&Qw\uj?^ÔYŧ ;Len<@[2vpQ珰D-z<~6f{:/h8I;St}z= 熘Q0rਕ'] @Np2mkcό5%Dʳ.[bwNړ _!iQFo@ ̲Zu?&DJvg#u.:#]΋MUη $b܇S(C"WG! zVU;v᭳j{sr 4]Mڕ/(mE}*6rUoZy=iW#Mc'3*1 \UU]ƺwdpR\>9ض(UԐm#MXha>A¶m%t40?* 2ȭE 970ÄHA]6}_5ƫ4L8w%_."}uiܛ"9+z cICU܉ 9 C7z) ]P6TPB 1+ܘ!{{.oM+@)\77Da+RvijZubSZY˯钶K?r 2X^@핧9=]@\:kU)5?"c>`$ fueαl;cރ 'tZrU#\5)$~7 )w3X73Msqo'ͧ~« NW£C8a@E]Qoy9=zZo=R9z2 Rx>u2c!pSX;i7npfYyUV^ v;h7/H4wV+27]?Z{ջUlK-0k*ys^TH߼P(p `8){ i]oԞY0j5g:yĪjM;fBh뒆1 ;77e ^2M*9V3pxI_w2؛W- pS'JxxAPOUZTz卝LV[Bʘz"GD"1 !\<;^~`5+EahO0yb]vcޚ=7| <ڔ3Ө]plDRr%l9Rm/22$C~S=5ǁ#&Z9AC=X{_-#^hkf!,*"WuYAR8pX;BmeS;R-tY͠65XFM j>q GUw ucU1•pٝHex,'ZDpnuki'ze@| U4"b7;S&N"t+bio_u xF} wkFgO鉨Jk"&;`)mwRo &q~}uj 8S/gbc]= չϟ\+=Bɸ?/}i=%{I]Br-*8=3:M98n,HsX Ϝ1D{S[bq}CD~퍬5W$}jH-w%;)Vc]cKl GoEȏ˺1J`ܚ p3u(f^e"q"_8N; nJG[eY,( 9bQ{q8,'<\{߀$JX4q,!Rh2(pzœTL:Q$jpW',zZl&eo17uSpo`nmUZ߁/(\F>d:G݋-{ ZD P(!ڵ{]ٮ΀QgT LʈvI:! so*!+t~`' #ꠣi0"-Ҋ?>4ݜE5rgڶo]r[< c[_ xP~bZQMeTc '5g_fpxg̀”G,N.vćC/`t)V,Vduh hoo MND `12Ցw_*8d5o %%,>m?9G,P!eTg>PƅNBPI#h";ܣOqы+i[S-^Ћ\[uJ=:lݍdTq| um Ks:Rꌍװ0G;tbFċ2Ytа]ྷt6zT./(͌lh^ưa'E>TJ C;L~ThIj}a\4'~l0|'B-vWœ/y\vvh>xWj;UYSsYWL ~p (CߙyƄ_,(nma5& $'BűCR 6)KRU|b8N`TG(+ށ9SqS&|7,>Q rlZ2W#S/@6㣓=p~2>F<+.v*f-gc jЖGvJ2l%Љwij0 ״AĠEPaS>i79us2'dy u!:ߡy^WWԏn$u7b62#wX$T u{g#ojn`TɰO*_[]5ap"Z7D9q 2,XQ 1O㟻~AVKpxK9{;+=z%l:CY9KT[0Yh@CUs>L jK9gc/epﰝfH#t9EH-s:ݨEkkSFm߽. ׫uطZq 2:eJttExx@pΧT K7 |Mbqut5 fR~H3wZrsgY͠@'is B pgA' uAo##=ؕ3p 8yۥJ)f# *=ٙ aj̘ieù+]Ʊ{Nw2|g`sw$p5qI:hm9~\a&beƴ" 94d2Y$\=5Q29) 5TUV-6 t/| *Kp+΅1@M~(j''ǵ7h0#wwaWS=pr"5@yߣxvI;𾪭282 c: .6l \s 7)&㶞 ulp҃i}&w&!yF]5nP.Na(W|$ :h+5G\ӌfj`՜X5Vg=r0CZڵ(!!<0Y ͇d5i1k))8_$~lFh\B.g) " _A>GӼXG"3#"UMs>#S)Gnʥ@'dBtŧ%'Qm"Թ"_fVPܬݤn*rCÚ9C!r{n/O!56g"Ow%0i^ί8&xWٜnyH ZM2G[~S)f5+Hwћ9cߝȅ݅/"kB>v2sPup !p.c8_R8cC|;5Y/ɨ4t. 8ҁ!=/.rHR9ٮ&撷:NT/6cM 3}8YJ3\3 & )=u*AaڐV0 *$ ))ia0 G._oN'o64WuZVVj]ί2m 8KX c6Z' w6>kp' y.r|&\3eRh ܾ={x[K4UIpfn@VQr8$1V*ʖOB`m"gj#<VF= Jk 5/ok/\g3^UkQU}`H#0kӍZmMت|qL*$4S5Ӑbg{0mV:Im\4k׾33ˢs \#ӒLCFˀ塃\4X*plzv%b Do@RsSҼ-Vn[=bnLQ0wq2`xWi 0gk c. (|Ȅȳ gyW\Ϫu^Ogߏ ΉJ8qKb- ,06.R=NP+YhԿ? 3jԐ5m ©dսMTtnfSV&w,ێ|;ќ,q2;p{똚bXyD^>W1H+R?T]J ǧoca]iM3z-i\xkg*Lydȁeه[:qpzI]}ͬ*@4n9A/ ?]L'jm?s󐡳?9=79Wo|~&f֋>oS07+U[D+ܶwWcɻk~eiME@X~lwo'קgїOHN5ܢП~ZDv&{{)mR]e B]#|™XPV̨V:ggD ~89<:=f'5'k{10yߪ_Q5s]v?TM=l|y99?qr1s|b 2ikut$O"|~D~OO>;9t+Zn^x"vy~b.㒮65f\77ϓ'wnyV뇼u%q` C!G[Bo 4n^) x~K gc“'?gBhg+#rӴuL͗ڹH!C`[{U=MؕG $ $|r}698t/:bz6brh ].c )@ #pYBm@y̻X= Q@`>gѠMjaA.]?vt%0A=\a1ҳap֞9G(/0 & 6@{`V*~|@6<Mgt.SH2k,dN]zrrR*w;>TkR'  [RtzSn{S{^sN$([az[M]Qe%TlOt^4a&՘o#cGs) r֮g`"{ت rbdnDv$":kN xxBLGPËj٘g_$`}r'I[ӓ篂-f2f0^:5Qʄ,7Q}S&:{?eT bpnɅ4w0-SV+^ț\3,aUS֧xhJzlm桭u2V{<pLA(a9RHg,UC5,# 9Q! ̒27>.3tIL)]Z)8-w,Aj0CaevPHX]E4W|m4OiLR (I/}f/-ptᕌz!Ӣ#8wݫ⛝]BYYiw+-l ;5wX`[tp-ᅩ˷Vۋhw٩T/^)OD;jZS/RV5hCCǶ}:7&)L`M4)U7++ɮ%\m^fMdB8c!m?H$\+4r}oP裉G:ND2jU 9ü\{<.2M! Bzz~2=hY8 pbdF5wuWM8ix|fMʡ_1!cytjbK#;^r h;B3Rqj*K|<+rPKާsx tZ[Wt0r (K@bX,VM=N K,e5NAr<]8ZG @׉K@v`7xvl\ `^ 9vRkHWG} g.DPbt9j;s6qnBa k-77=Ҥ%֕,ҞL`׵Z/ƗAuL0ZA%0@etjZHșo|@-F7cWhZC՚ťR.\dnHW(//t[XC^L"t=j>dq &ۀ f @UPQ_v`hd<1h]&Oj[dIS8c@y-oj"d&3'yQ;WavgI&`wr}n՛ϩ&D/Jg+)sHcv+ @}[p!F@u\} Yp(; :/rKْavj PVK$|0H3j]~9{$%;0h;s`+H n'J&*gk]­j nle}+&:oBץrh7Y JZ?~Mp- >$/k{&;9Kn9!:f[4&Uě22 4-vR Gd7;X1!=*]'m˒f=9keoԨ3xҀ;Yp#'gdHLZrs<exwo.˪ݥ.|]7#7)hF۝HqZ=CftKԠHN^)|>ŶlT[vyS2$᫇/=X~g[r~N>|fܶ:!Jr?\aku~%~vqxx4vzgW̿094% L$@_ke gs'ɱ/.닣k*3k}bEųt*|)&azp{_2B$ H|2!4VbG#IJgҪ/ɱ)p(v.&̂vTSj{(yoeX̑Ѽ \)0T{>_<:>ϫ)%%UPL"TFNwsP=~O4”|UlVGN[@l蝨~.k) ~LK˨K3LlJ D_PUٚUQsBCĶK;#e҄YW!.fFłRWhBGQbN;]@0O~ϙY}ġ@Bnm>~5-ּٗytA/xr9QUO_@s!jڊ ?౦UyT Pq=rn¦ݖuh{.IkG'V>8}o/t~z|v|gҦ/'gG';@8OV8HmC+Y63W8khY&)՚ ƍE0<$%7xo2Tfz#&>q_N:X,[.D?BiQa ӎ"_慮|bti5 utNN/䧣ˋPsR=n3|".y,1)("˃$$}tv<Cguv<> ElG&Q;Zu_iR-V˼mj=Hkf/%}0-D' < ;)/sA_p3~N{d#]|arAWr3ѿCJw>qPPת3nij3'C.G{\RJVȩVzr7%^a,-`feFFG Q8<YGwu Gd/aΔZH꩔%K N~B@VF3Q#~Uvn)S nA%V'B0'4K&ż4< P+S $ğOoDEG,@KjUۯ vwA|>Ǧ#܊fW$eL^Ja1֘!ijtlB׳ZIbXMkV+c+n>$]^1 DeLV#6uNO&Woܵ4bץ&& p;ve1o},"%c@j baH瑚Q ˓DBg+nfrhzz¬Pk[)bNw(Ur3/&T ˓ΨһJ5MY5m>P-:Uuu rVU+!o*$1M󁴒=`UkfA킩7;Z_R\}#3[yuXDbf"@VYY`׎qlݬMѼŶ ?󍧺(*Zc5>Ƕ[~~CÐbF,LrjNrIFJBzLVn^ ]Yןbdìq;"Y-:>2)UPs"qm5 SGzʅ/X9daGV~ޚbC|Yj7A]VV1=O5!˛!Ŋi|8:k~A!p oWQzf4%FG'O2}}Y enCz<:MtõF5ޏD[MԜ|-:w=P@Ͽ`,:vxOY/>~577ѭᑇpݘ;ϯk (^ ,ɶċSoJxY% ~<\[AH"uyd#߶ 8U{|ȳx7z`9 `-m` Ct@.H5d}%[cf*tk$ç'''W?~ RN:ti4PW藺Xj&l[v?OC7H p @sbɹŬD6eIa՞n8xߐc0+R}dZ~7mר)U0O[0`_kkߊvpH0EĵtHxKԡq(n&J,75 WfGN8֫!XS54hg\ Ǩȿ/#]u` ou۩;9A{9dtߗsr0!8#j;ax+7` Lo[sd \d+ٵ1sYjgS"k]M Ϟ)dMr];eT(䭄.2@s)1|{yo{?|uu)G ra[Yt\efWCBIޟ>p7*}0Օ_#qӚDxl/j'( *$%εYVwicQ3!y.QFL|Aޖd M¢)r &|E^lw- J'B5avĨ OiH )_vPs?}e(T*DPDbke`K#_yi Sf+!_Sm^f^?_CC&NO"nm|ae+G@=ZG*oЪ=Gy`:"bdn*ywPKoK}7ɇc BG+0NU,Tİo;jVUYuKzx_5 qY >ǨtYN |8fHA27!q6:y}!.oC\IfPp1YRFrj;]저I`z_A#:@NfUD挢#tIK f+wq4#`s_aoa8jV1&cA` H_–fݔ:|G4sbA2УI]/l(vmFy77(aDh_9̈# +N]A6CDRSӱ ieu{9W5UJ]B}=Xuj(vBE gֆždnJ.7SB'2$#Fz>"jM m:WFIF6A""C%}+ine?rwAxM`}9 k1Xh[w]8Ӹ&RRF0xI7zYD Yq/e֔ &YV"/x Wz9)Lf?ݣM/lx9|N <);cj\8Ҁ8&sa2nwvj]JAtePK+ĝEb;(x e2ꖚե7i9g!IӇ~T! gUײVvEAv6h&}bb$ / ^-kuDLW}.,͌ou'QLI8нd=å/y>dϨ3#+#O&|ʾ٣ _5ytᓯny?yDoz*V`U^aLݳG>͛WMS{*#upNSHSgZuQJ*a`ӷHv>ޑmŔаUT )X9TWj5?Q`c"@!S}B+J nF*~`\ɿ,x BۅoLӪ^˪iAV! hQe`ZX((pϿ .eQvqΊ1#7zbE&޾򓯹1ɗf|c'yRs2V?TM'%A O52!ϞQ6_&Ci':Mg$E;.zS۱{̐:]/PW45/T̊%:I" {@`a BZ` P.r2u0D?`'.+ rBu@:'y/ 4g78Mcen 7a~Tp)ػ0I]ZgeنK3xKv .v[ܮY \{x/ vi'ʫyoZT} 4LkcZ5. \(oa|Pm7qι`0q5ײV²Al6vlNvlۥrWmCcgzMbb$y `|.t-E;K:uq6 d׎+t!CӚ0=,w:6!~7A [kᬽXM}ÁF&fNp_50UеOy1cDz /ۄ.LdVG*I+ j9PgP<[@sD[7c珊x_a AVYM8Ok0[&u0S 5w՟Lv/57҆ hL7bT-S]#@DD?CzUzwJf(R(S|W>KxO9Քo-w j8nyB.!:{MrtILnG[/*kն?渆.t9Jz)HV}=V8m.Th86]K A$ Nq`Ug=]1swGvx,{˰{<{`=򤽍MTڐRvO{/~; hᢻHjȩeXb/",f=E޺ZLsBqe^g֢,jА0CX2 Ur+!ʞq$Rr%+%ݶzvkMD{]GqA::(qCIv @E5>;`Lmar (a}6?Φ9 o f8Zxhȧ`~cTpzR&2J٣U6i28춻<7ZHX|YxX_y` B&&5]OAfW@ߍ1?Y=-%{owJOo@lv <_[nЄB6'\Hj9׈mAˁ{ ՝H~siL}/gi@Mvz'EGZ_[m^5> Hn\(`F;}'*X@t(9f꿩&Vԑw2n}zQ4(nn)tz]"u„vt5bWU'4a9w uOԶܺրGRUM/g}!0UAG٬ "y~׎; #.JADVN1b~&*/'j0'#Rr E=.G}fHm̌ؒK@@,܉Ap*clK]趇wóh,.d1J[&x9EvˌA̓^ 2ڤנox )Hz)ra(I#GJs PE`at0';tKB0YVU݊ tguې.~f&@T}/8؋x9> ~d$Ѭ(wH+w)oVԍZgyTQ;Pe mW5y]%VňհUѯI\䳼Ȣl5j.\'#oKwJֿJ-(z/5éYERzaBh}_e}(!zQEbGT,oC:* yoUޅݽ`D;8c"!Lnlj 1Zpyβ(e-Zޅ3wz!,[A^ a(O2 ˸DZ~ŷB չ!v OWa9F ۉ0x_i2}|?R:D4!~t:͍euR+5^It $٥?LޏSl05}'HOndG&axkDI,BBFzUgV7+Ue8 ʎ\ꋑH5Z|պqfݞy9R괶ݝ1w2tcKbR>sM;*&eeG=s2 !C pB}߷oGMfׁI 1 :b*u.MI̡wAM!JRkԡ΋umBS?2TSj;xni>qx'J|TWaB Os&gy=[/V3C,ux5{H#uQJZB.{6Mdk339Ӕ*xۍ]W_Li75xN!cTpW?z|r1Is sm 6B|^O|_U:rZ0uU6f l7hB/6w &8Y5v;4Ee0/ Dª{'EbCRujYO4~G|iRq9n`oxWu5-RV>Uls8iSPS#J*i4 8q@ku0dRb9C^Ꮌ ؐ f0Q px\d%-9 4)m'm[G̻'!Cx8nN]=o+S_ [P?GUE+ǝ. ڡ{faҕбXeQ3}q-ō֊N颼řgc \q}g$F6 WJ 탋,Eُ2P;RY` RJO!(ޖ u98`(].],Rt,BM4>Ɠ(/7[E)T.{4Lb> >#yn1]cVDV Z5BD< 7xxi<b+ZjCK<-F_v@\v:ȹ̯:>oY)_lDw@IXV>sS 8h op })m_7Z;( b>Ù=}cu|nC` (H<Sg&S'1/9'jQW L*V<ȡ'my*DZO֏nB>wR&:O[ؐ#^@e"Q'3@I.ѯ #3JG.6EfIFLby"׺K\/9$Ek(;z*5L}!!*h#輤Jw7׌xh&It03 kj=Da"b9;##tHu[$CNEKi'N ކ Toj|N;5э)&t&dFFb?P)kӥDPި)r;okGJ@D31 !P|aᗓ^4 bgrZ#igt (E\D幙sǢZ;^vץ_N6<zȪ[-gÆ+p ZQ#`/49gV4HuDtJzQVS c=|t+N;lj*"Q:yRG;*qG gDRv,m}JGd${-Q E32]^W%ff箖l@p;`-?;I3% `! E^,3t 9kȿtk2""ŏ["(͢:~5Lɹǔa~0ec?JǺ1Via/?bCEF[SBѵFPr=qm̈́C_ڔsS 6F CV ~G{:GOA@7 ڥ)83h^PphuvEkp,rXZlp#-9P%/爬ԜDC87/xPϙDŽGH/03=#oՖX6 {^ʸGf1P)s)"t[?Rpn\1ŜЏp愙ifEЇDבt򌘺Us; {ƼgԇFVH1 H0\Z|_]xIW,ɹM+I}Ȍа}@&7GSݙp;PڍIL>oԋ~َfp}Kj1+>D.sytp͗ϖ8ظ٭!|b3N;Vg̅KH_bSqQM5|^dG#ZLDm xjs7藄lU+O,׷? 'í2Hdģ>h{sQm)4"C 8YIuv);+nZ6p%Of[CQF3\N]\0y|ߔIMOIJ0IM ȸ^ɏVcr~K)ڮ5kìF76]EgEty{,0ʃdqV>$>EXuU$$)4^=80eشP5oIQBھF%Ήy|9-6Uq=:\0rÂT͖m&`ՈrdP!i?M~l'P094' H=BaqT:ЏV $J>᱆5?5MkUuȡ䴓T6/w%du~scfrshr)cX cHv^;sf0l&0;\u-AD72{QH}1G7gDrH!#6-< KA-r)oY~t,%kV-na5[&bUoȑt<֙hSިje8]-S@YDl04Gzhgsac\l״7uә` t3p8f;WN-tؕs1>QL`+XȶkGEkVa^be۴:+ty7&ވnNlGX53]:a"@jeZOA<ʛk4+/ǥоcpFL6g$d4 f>_p!F[$ 1*P ̒ qv1cv>@ lKbkVia\U몽^V2a}Kb V2IB:Hف <۬l3kڶL*6fFHT}:$ s&QwIdœ8_I?;dOB20m|RbmPFIԞI /jF H(|p T՝ J.)&"8E՘fdP#{NM"5[G׃1ixYl0\iV9ELkdV,{-N2UۖhY>ɺA3>bBhkD kpRY@ (+.:F; (6j-z%de}߸)A.4+J{;N&f#lzxfan MF}A#E?xj@p1=;Xw:#s6n.<(R9\k7]!!?7gfviPq9̃TR?T*됲IMpRFQ(  &&BȂ<y^kmDN Գt)%9~(ˉ^%oef+3v]jznߞ=ەY7<jPlKd8#/{ g]۸+Pu$ E۹L-щjlI#щS*E$A nNwS23~ ,ѤާHd7XXXg>Rx1iA}ua3|G`;ƬL;͐М ޠM86s%{ &@=Z]~/q_~J7c~g營+_>}_~o;'Mei5Ev_$z׏b4JO77'ߝ+mYUd?(-&Q"|n1 /EoNm$df573L"- 5_1*m\V/W/ۗ/4F*X#M[s=j\2r#ik>mD5^a$&+*nZT"# f)LJ L6HفTW%nWi d_V0)v\G \+ޅH>ÀHtk8У\ &xxb}+xK_M8;{3Ij\TЏT ݞ{5> YJ& 9<s_ZU. 1 66Cy刾!Ө63?R&ؙ-GkjMza wܳJPw@^.օjJWʘ jnjVu>k .ԝ1lţ&.]$.ӟr~bv+ B `:nDl zLP} /sUU4uuz-OMzqtrzzve(}=]6Rma>h\pi›eUKӐhd`Y3{p0xṁ :<)2pcɆ*"iíGd FNKI[TR4G9l.y1" J;)-+ bIsu+GCl~YH;SlZλWGgO\&zݴz~۳ׯqMb:i49 '!Ꞃv#0drQ1ӎERVWV>{pt,șODۄuDi6k 6*_ CM5 2@?ahs'9Χ;1aW2^{5|EO*פT$ܖUUYL4ozxz v== ,Uj.5R NUuC_ Ž877M^avqFs/x1r}Ԫ(;Y\IЧQQDx 4D;dg{n|xi4hܐ-DL4%48a)CW9G!`Ƌb|$t^ل.mu˚雦 TH~Cqjkx1\N~LUjՍmC<&G ./^CA@N.8 HY׫)3 ;|W-”́\hSjSY7.# >jMq -" TI\սx!*SD!AYHXl ~r?g8#f/G8zicUë{YoiUi>&d?Dž_s\mTǬ*[Sb<' w $[FdU؍Z!LIjN9_RT,A6P9a7az*BRfXxt~%܎dǗ?LbGy, \mQMֳ^:]22$rzzĻɋ^7`_|YlcI< Ӡvv_qz.7ƱFi8)j[K9/o%/cKU#KwC1cݒ)lw."Ś g"GT0M̚ÖӦKdTZHT"SRwQ@џ֑WioBpOtRutVd,4ԻdA?o*`nm35 ZU[a+qe~:qmD\6+=TYr1Z 圩&V9ʳ̃|~)ju493"G塪1тrwvؖet2TdL}d]ah)]uYU?+Z19T?u-Y0`qW30AQ6^ڵ{΃`դFbq(o.(:;Ii2ݙz3b\WTx865*o" W-4RC*’@8e<3W1ʲh|~p:^{(,{'tRwq\?gr/*l{?ib0i_Hr9s ؃$8')0raC⺭X¬Qk"(Djggar]a?0k7O8.y߯M |wm=$FS$O )$io44ݷ0,+a:r.y8*~-;C~ ruc:z)U,mْQйPn[R d/thXG\X9p-Pg w>f‰e>I- [?4z nVGSq)3=e{HEcϔ>hPG1s涔t;Q3:%h+ y3!=ewyk]t!_wװ>)Hy!0ЙPCդP&Ic05[<1cJGbcx-:H&hg V^\pl{S#aZo0ZP޷ԏ4 ok54>Eٙ끏V8B-L '*؝sL7DĈyrICn78itnКq2 v) ,uOѥsz}'[B%͔r GV|oU.Meoߪ+Ee"õ2O=Sdob-J氽!g:8> \!Ddux-p[ <>UD|A;2Ӱ,Ist$M0I_BPZNl3~;hC=|K!Vϗm#ŭ_z@/T. Ýߊ@RIo$i?Row!ۇ{W}Nu/{v D!bknkHX!;oyyǠz}s|;;}+ y+E_e^sHۢ5![U1:igv8GSwc.<F + zEB|3mi 5`1t7z!`s9ä;x:׊`@V#A6ұ(_ϿT×*c/&|߫o{/E-pN q88w[zӮBuc֔ `wv xjͱ?G[Pn}rԙ]pFdD#uEäImnăBdsp计1 Q!5ƴ`(!E->!:+~87" 8Зa^kmP)8XF] H"' b ݾ 򿢾vE. Y+ }İ2a)["u(B` IPG\ƓŮ \@wj֫ut3`JNr:_wKqwQڨQ9Wk?a#%;*,s;!S$2ORybp]m88(]V/!qCf[i}E(Β~>7r&ViB[6ۛgL mlN5d[AMI"nxh=ajf@tAҘ;B#MkȑZwS{,OV ;K/0f!]&BO>ZP 'k2k}5%|v~>+b ^&nO=9Xi1cz)R[qR/9͙Afx踇e񈰔g|.EaK)rOwpcݏ{WV#-}JP}a̬E}$wv(-%`9paz+AFۃ[>n/rm`P*`< !m> _ 3+H- x .Sa&AdžJoLn ]Yĩ ז#k GnQm ƩZhާ>3 $%"U9O7,)%Q9ľWgND@nCj;t5pǬ7b҅Gšr'ܝme"9yi!=x`6c6\D#F +{ ԊwqlW&& کWӪSڦ@K"/%*\eb5 Q@#fa!ॳR1n_vZ>jMBC Gf>yR;5ͭMWC !zD9uh cO;w'Nʓ0Ӎ+ɑKV1-p$7C6[*6 w<OG<xl a2#=F5zh gXNk^NEb6Viq@I+*=2B>gYMB)o[]1h@(#T)>\FۼZs0iFܩiEg Cnu{? C1!@"ѝW1,mrMX|^]F`|tsveWB/epw6 Nĺk.VvJ}Lx›ErR'uS܎N"'Gҩ]aAp#W0gBMnd:bbW xM3#0{dPW3 ( $}a:0Lv:`O d!&)o#|~{a2u}nԓ%HgnG'P;\Jt5 >G҅MVK+zjhY ?}Wy m5E$.f[8C?}}sVA@k{ϖQT]2_' c@Vm[v.c4Sz4mJ~D4yJt$9, tMPUܧ-І@ Zgd…ܵ)$UJo'$S[aIN,;!Jh#3V'2 mVA4WUD7uj?oM5-hGq]gsTİ#8|K|k3+.[\ᵶn){1t.qk8s{BWes1rtzFIUMW iOh|vK9)}NJ=B _zj$ooY£6WPǰ>OaO%ŁS)DRv)"A1;{xh9m.ism &,9&=7Dbx^]u^`3HvX~h@`*W|Vg!`QS jFIEw^b% +?U!BPp\Zժ9fh& "#F=;fIcUkUi׆H*43Ia*XY2^O yí\ Ğ藣^{lH$pB-풜 +ۨ\X 6['-ŃEFJڽיc[\!mq%`fHMCG 9]R%NyM"&K9([=u> fEݬ#CY=-?MشX[?~ڳJ_x"&J 8Ao Rlz^Y.]=r6Faw%ac[DBn=KKȰ'R7R \FgQQ&#pdvq / 3ranԉؐjC@|r1:<2YO;2}vZ-s.6f$@m1m̽"f%aY^`H݃`?yPom`Y|%1 ϧ6HMfU!y;<:Ǹ/rv;\"#,6~OP_ut#v"f֟=WVXÀE@j/MK7^n40qRz#7j"z!v<>Wׅv0pBG4';=QPiy#5\bR`(P[mE-]M 聯GeAАQ-|[W@W3IF:u0 3Q9vxsNKί7gzQ۫0Xa Hgy 2In,&cؗC.ԭO_b`̩_U%qWÍBQB7,`j)-Ѷ揰[Zz G4J<3`q^zYߒKlIHd|z#:d%@ IS`/=ݷF…>8@-vOG;<}ֹK>ߴU55IBvr a7c4&d0Eʞt`[)nPY-'Zq} 0ewD5>\ӷ3@Y<\DK [7( [Acw :AJR44x0̅}\O2 Arz2YG0tDS{@_Lͭ4AǬ4vw9/"I.]YwjWM x) ?Cj%t8 %;jywmrB X#{kX@MUպ8c.oI 0ynZ-h#ZL|ӀrէY9{K5R =^Ov.dm[ +eDO߽QWz`P 1~ n >}qS^A-i  /hǯ®6-)xE >C?>|0.4agՊqdgHQBs+ KǾ7ͻ7Wc:<iv+qS,> O}Q޾. j*r oöyx 􂭶k{}"M`x:SEo bቯEcHg@G#a}7z)D]h79/MRQ$c kS_`0@>,^Q \ֻhp> 1Je9Aq=x]Pk(5UM{)>L4( !"oZ{O;`+".8*PTVUSlhFMtt" 7cE"=ZS'Aׅl|x4yC*IxַV}5Cw. dY^[a{ciϳeAG Xs2jOOBS+eBt3& U7Fwc;@bar9Jz4  ܆8=~<a1lQnlP}g2T(0;̰F_;4!Xis~V ݌n7(4DZļ%{T^x^Uoa u.G1pH-c7bs(5XrP7 /[֐P9ЇԊkS@fap#'+JiRv:6 D?>/4Pv_N ͨ M51 j @Bwcګ|Po}ya+o=gF~{>敚|?>Ut~3J} _* Ku dZ>IsS3PtKJhq-81Oknp,v%@HD~}2z.'Wyc̋Lq*s^΄6nSL5t&]ծDbZ#7|*(8aܓbO/ZnpY[ ;OZXO4ӳ0~$ AGYUM*78hΗ.uK f]Eu^`M%IAk^ȁU@$M(>Ѵm^YTu.4Q=3ExZh">3NҚ)LyҦc_j=nfBug8fMu)@*(7ܿ@oX"#mDmu\/s6~Bn>l~gQv KFqfqQĺjqU-'ajd@ 3jr^@0gq/b蔏;y7PtVl0] zVqݫjt~"% XØjL\htF w zʍpwm)Md]lGآIT;B/w EpP&D^#['LBL ERlicȴdz6ӖD> L"߹nLp&ˎ0XzN-%F҆& n6VbЇL'2Z̎Js;@h 3eNRb&՘gdR"}ao $lvhtUaspٍ8{48;0](4WzC,U[Cޕ~lߥv-pq9`W|.f >89觟jۻ^.fp~.j̘ 1RwUݪX,n6G":T=@ep.MQ2Mhڦ @GOh6MӬW@6 mq>SQR:պ "pWEd"9@uފZœMKqy9NU jL>kמ|&}t>IN0>2XU6҇iq5 wK;n*0L&Էh+}zY7/IF9>=xYh. \Q ,q ڹ]3X/'^܊Pē6TZjJdyCїGqɸTxagV@EݴJgR祚W;0h#(>>S9Cy D2 尨awc1˵7huWr߸mgV㺴Wu}*VWr媪T61Qقmu[TS@ hi{&efBkˇP͍]Ug/5 IpS4`@A:Wӵ)CSRj ,@ᤸUUcd+][5 zvGv!蒨9?UŦ05'pTI8U~4zhźٽ)/&a}npJUYfn3wFzV-Hэh348J@kN,n*᪀V]g$ -$v6EvƦ+*.R?U]Y9%Ъ&_hs!h:Ab駕Y9u')BmʴB+0:Xep 6a)*S);|/7 Y&aO dD8%P)dze ޸-Vu~̯=5ob`@E.zg= 1]$FVf5]%+ %ca0!mHbr`3 l 7AlQUfH֧ Baq Z{#y ([c4kZ@G^MC$atP(ȬrT] 2G@ʵcpEբIy s>}%"-^2.d%T#eK2rcw#g( inʫ.C"g׬=F`1Vkyy{ѱ,Pـ=MJL7zAkџV08㴨fZŪp|s~Brw[~/ʞ_-ͿiNC-1@B)܊WşoϿy;zs>|?7R/l(y}%h.'ڴzӁ :|>PAL}b%=[[rU]='"|S;/h+45ڡ _ע~vJO^<~; BG!VTiU~%PgãԾmP;W3"iq0Nmf㚘;q< ҋilr+!'7V Y#]p g!2䴞 H֫W!omuSzv8h?#3l< Z:}b`%N>޵ZXrGf8}S?T3N_Ym0}Wڪ&lWUqPai%zuoh#boGS ,Ɯv-3D8 0xWB> s$Ր߂ zzv^$Cti [ć'FY0撺\OaͶAp WRp+ń~%;],UԼTϣ( sO d/'WWߝ^{j}Y۷'p5X7ekjP(l>Qݠrb ?f!/w\,3;knjk-T$pa,4@ h#^AJ ci|y9ꜙE.2v٦v|zsuwۛdhZ!Du8VSm~w_ ՞h[Հ"@yHe>ĉrj-F\a]d-]ʖYlg?Lzoi mjA-'ޞ EfGrv910(H?ޔR#}iw;y ]:UZCIDk0rS5*/~̱Nߔ0a>'RoVׂ'T0].)_&%A59G%@lO1%s,eib-[pH'脯ąQVvZ2I_a;%ӬO\5XtL?4-؋ DE`!JK ![X{M |ajI LJ<m=RWMK:͜.׭xHHy2!4w6ÛmҋP.V1<^jŅVzdym ]h/d K7UťLA ɦczMf!w3c IMVHa^Z=mQIy#CIV\*-6m3.[S/fа8DOM.1On+2Xպ֑Eqή0:חȦȼU=o\BʧL/$\-t}ͭ)A}K̻vG(&֕`vP0C'SXT 2oumnܛĨ}bZU$-7pSY2/?@z蔺OJ@FհҐ,U."("xAi_o 2Mzf_x|b@>gQ+Hdd/~߀acyo.SzC}S59{LRK\_ 5*[o5mO ߧ2u!JMgJB!րǍsQٓlz?9=;GO<'> dPJUL&>rO, xDV lr~߻@}S*4Gd&&Cuf߁Hؾ VUz4 j[Bj3ݲ#ygd֟68s\ WWrV/O-#} D\VA3M#`m~Ftit/s-̈́=׾fg3t#;N*Om! T#SX'pkqq mdN} ) + 䊻8ܵTG8zem8wJO8 `GK"&|v!n=ʡZҮ:t.OίED;Ec&~kHp}(er$ s0Ό[Q ("`sTaGlp^NsRT[D:u#aT8Iف4H@+=؛ϴF9.oG%չԵ.6Dq7V34^_{4"m n2uH MgÛ?F;8XΖțaH08Hqa1me՚rmt$?8:tMKH%ZښGaI 0r]lT.6dҴH<[UEtO&70~.FH9d*̴ MnA2EA8c1C^p UxUKD8e0i={6ڇw,ܧ$Jj8Jp0:iGwi/GB(YRLn|^/`aG{$G+fOR3'y󕤢`ȧ$=bDkyK]sPOCדqs17O C5Mp![dI^>@ {qY-T]wªSSlx7aLub;%85嫕.C*Sh7V9{oXW܇OYD-6g999x //%*pJ:QHCU%n<̼#>e/]h4kqo&^1:*P0 )צ[kHޞ'rpYxz$!46aҚ!;Y3}wO'Xjw`Z @-ulk;s_n -P*Jwy9b*`c~n;N9b ݸ|gX۾Hefhbd**Migy9Ӆ&5qFy[!+C8ը^Yxw;确[ހJNu5+$=|w9ƦT̰I+vyxjC`3k.{fF3aרU]&A @ƢrRK-K; ]E`G$#bT C[]~kμKd-j۲yYᚺ0ӜPS 8o8=ᖌ QOϭ׵ֻzis^& v'KlgKzlA#¦ztAr&c V=B7|f $ds:ZWv`v5xCjG#{ͧ4{i&+.i׍"¤Y2 w_5g%Phk<@ A))r\{E>"'4r|1y%7Ixd?hw4`RyLutFryLtJ)v $9!%O]T/{dC? vfW^r-:8(XҚC|m w7=3CZ(7 ?M*dٻ8ZTjq-ЀP9~1U 4G-S0ֶSutvD_7՞z"nlBZ}RefIx -b3vHL yA. u<աZrq 1c?'D@U+Q xC!N\TPWt.\Z \68+6 Z۵LǼH\$| %JoN0&OFT-#[NOqLNtԁ.>E*r*f>Ʃ0m|&x<._Ku{6sځ:ANN28hO2B nqR0]2zZshL 6HPÚ^U8=ۓ5#3lyņ)!MAHXf@Z3z vS(F0&7[e'(|W;kgYWoTqOJ~t _aqr:|LY޲*b0*t'4`tSzwPJGC~;j$I1켻.:ly&iMIM`AX0@Q[%kDkgazeFTWvdeŰ-8\ ۂ8ۈ ]^:Qݼqgzvg^/$0MnD7iJ<2s7&=A`j7at(rn|5'4Zc :^}bj U 8~SнDjH`zG`{Pj4UCm@0@v8sNVҶ̤:3"/Qpq#t#?"'ڤRk:_us9Mq| 3l R9VD7=IiifZ絕f BO\G];h >!&ޡJpf BΗcEPpl\aQ95 Ґjޡr!+۳nގNGߍߎO'ױVvڴmF,SX4lk9or=U!z.F1d/;)as#WԼ,qޘiti~t |/4|Rxr(zNKD,tB),Z7hW_Ұ.?׺8ED.@v'G|ӴGAUPκ5tO ^ؚFzNF}~+/MXcE}e"T"7j7zb?{?َ!OV}Ц`Ǚ& B!ұ2F]7uvg!27 +\/wy=iw(ZVVj])\II޷QY"){?W/Nml"7E "ӂa([޵maWٸLamYDk\^Kn ib"lZ8(0[ q`2l /8?x8ƶ}۽_9ԭ3Q`=Z-iᶈtQ!S v}IZ;̢{w#|t"$wKv`N0UBuLQ4|v8|xcA} ِ*)\k YAI,NU\ނ ]d|ok4&x 0ߨٝ}nuhi_a{xq (+A>+|/'G/o?x]$ilh4/Vu"1m ! ,хyFzf#ӛê,sS>$:iPqZq))CtLXC0wCl̼ Ùd.o:j]ZG LC`s"Pkؖ k_/?tZ։!2mhQrɆXUA4DVӟ^" ?_h^s3`|1_N6+ٿ>iD/"?v_>J3!].pA`R!54MP٠>8_]>)(oPMPS5*J}⦈'hqgvVI=~zV ɢW7№ZPЌQ\Fruo=^p>(Z+p+3beKmsO 9|VxHON'rƯ'.64z.p'*ONT͐u.\1 oSb8 yCPOZ=yur:=cǹ\27|bg5 <4x^~ ? >nrnb L~Tťk~g vVU{.AgD ىSgQ9`{q$=<9,en+SFyg7Ρ8DԹf:pu $"8qσ>fKqpXu^JIq6J@5Bxcxd߷yfH[ }*$f +sk0-.b\' ^N8?_maS?oâxd5M̉.[V"*弮fx݃,VR٭EYjb`[,eLɦE$`|Oxq1i@{NHJCUG+5Vb%X?RӰiI+]B?>/HѶD.2"7+uțV=yD~"S:DtxCG)8:†!.@J uosFz֔e\o[֟yM#Zu20(ԁ+VVMjꏭIę}FCEYdp$6N#Y e([tsH%-m s󩳨ϧ^xEfuys6:O/ONft f}nԳumڍz! {bgy<mEY ´DJl?5̫NFzVpL.Ů[sm]#nI*F%1 {MU,n!wBJuA{ Jw*67`puuK6Pc]{Plτx ޮ(tnop ~Rt`w]UhCCdwN sWD`AjASXcl[?цsO2O;']' Dpq0^b|5cG8: WUVŷՓ݌.0u6x!5巹aH" Šli,1v(5*>ftr~Fg3T[WZM-}: rS@86@+>jx V|<mz%[ӳb#s+z)eҪJ'dc|3׹bVRlv@@,R ZNqaQDwF$u*"zj+0g4w+!HK_fpB4 Ӡqhp Dr`:-snE9nӱVf̌\7Rpy S!n]~MI38VU2y@Pk-1e5+ͪ6eۿC\ ev!٢0}3.Jj&˓V2ŭ妻c T)i I7j,.e?<;6 [Y>>MI2-g>0 ZXH#h%$@P|Z3a{L4֔-T_4D\۹ɨɖzp+xST`~jgYR؊źM$<É ,Y~E!E| DVrw64D0(zh'Sj3IC}.1|VV#ZUgIwS&5߁Tm;6Ct&o; ,mws@F]ܛaz*sϹ6|))U޷l7u݈p}Y{j.tgbnolj,֊JW8FeC, F6TU*cyY5mj.PFwTABkca Pd#ƀ*oX&I43ypǔx?^W'GY7lEd18C55}A@ģJfF@~(-j#/7=ȫOY wk?gA;y}; ȀI>`lvz;^=2ǵޡ7r)x4'QݴuJ;#% ]a)Bצhu~ft ?^ug, H{?[7B~_c_Tfm ?XwpTNy:5iO]n·jcLצ&A6' O9o#U,wph ^շA/%찱^|PxFM;b]a&wU3\J}}gpR*Ї\) Ϥ /:80=CXOi!W};[E+OV֦MKh1rj ǡNdkY.fSyZ'>A#:iBW8rU^{GǪ"Z0H$A'XfS^"pnLc-.uppRmI3JЏUkv=TkDm aiOnn 6!~̏\Tյ:߀7cB_.Ď\IYgJ\*6<CA?D"6[B C#WY=]86 }o '*z(*$aJ,ŽA1n#)R:j5p<>%M7s"!No L1C\|jcSGd&Wo!+JzÙ?TLwj_}ڶǿ<;3OfL}rh2o>8~xQneYVoDf@ n7rUQĚmWpCF`nmGU?uЁ%I95exՋjϖۯ>WmPddvrS`q@,V_ ut @10VKSC/(z; 2 eif8ճjI7Wa{G>{ۖ=ۘNii"psӬ8)t^Rv8,.م,Lu ?ݴoG7=MEZp}q%>$XOPN,ulvчq3LDr䑏ԶǨڳcPkK=ûϩvx)r0fZ'Zz" V %s۞^=hNߔ|t؃qsCr+ dhUÂlZ7 AoZ"jG^o,!g1Vx{Tbe4\Ǜ#$W)jOl F1R(dEuˀ>ݪǕ.}jh >5e^o(}Pץmhbr/f`{䵚#T2kyr8$g|8Y@ oFպ ppݦN'"tB3TgVzvr"\oBh+"jT'uftLy#7gs+gf΋BM4ۦw'x7ZX@VoިUNqG .&v4G;Ґv"Z "L:-@ƃZ3?Gٽ} 49_Bʹ羅XV j'ȣ81rE0wn.gqMW$=w8ZL-6cڰ1 */<-LyD5=. mNC3lļ(XENޞ]LFUW")JEL~@ۿ9(^Z"'d+0R < S$]h !j@Ku7]#qja>h Lb=jVhhazR HCafJ,.G/Ϟٳφ8+N7v&-BGGIwdG/l9?{gϞD/4IӛK#Oԩ;b`'` /4jõj߄mނ0ڐUIr@yWob\~k F>.>zyX4Z]5涴:ӣsE!#琍oI&An>eI5K\7oD'i>_ z N)Av$ CG-~Ѷ0 Z&%F h. \ap-&V \ُ:_<@b U P/F˸HD;^wn/ڔ6nFUi+3n7JO؏vu d̂Uaʊ92p]4c]8`;A)(&e8A)r(Bp~iLtqҖ m^wf<mGhd'\_氝~>K{{C*vm?ZTY{=n %'):VSbdnկ5? î7 =9\CSWg L*Mtyd)+KսrvL8>WFe>+f&DՒf_C(93#P)pӠUU{{W'8 {)C'lphTtI2&1 XC~(3Hyk3ϩz}<؋آ =W{oNޞL`=qx*hQw`hS$Wo%"@W0gh Ut^gwGS4ϾLe`y&cj-&*5IG`1KHpЈ7>?C;hew FjC5uG->C sU9ؠh7B̆-1-hLalH!mt!*>~zoLԪթzI,`?[v'#Ec婳 ?Χߌ/W;ΗvMǧzDOΥΧ{sw_v>}{MOqO PyQ_?iw>:>{.Y,jIvXYFNN =T(o1/R?jNQJҊ `Կ `xfBθ,/P~Kg`;19P<#‰ۈ`"ˬ">Sm' UćbوILrQԴS*0+. pa]8s: qL(=6NԪjUk$yfPkf!=y4v+kuty9>{xPZai{!4AQ㰉P$ Z |#░Zh4q w vHAj^؃Qvq#Þ_!ǡnN##Lj4k+!uZmMOPnG#}2\Hj @7^oE{I-ioRX#!Z$2P w5by$\)ԃuսVli쁰Mh*oBtE[%77=M]0>* 6z B0}`)9]%Pʷ79QJCM(=CL {z_J3isT%j80=K5N mJc6O+w6(ڏ7ǣtSq{K+<ћZF^G +Kr PѠ)gvUE2dd0@EM. uv_{wZ@>)FqD|ي1b5k{$VA89:oJzNҟ6Gc- ]$nmg1|dpOQp%.tB:3Z굏v=,I%A;ӀDxEjfla0<au F*H]IcgS#ym2BVg ۀ3jᝏ?ـcc-EZ궨yS-+<6+WS/{ tΣpK F9d@?_f>.n;2vj9AI3)f=/Y7 ᶪ}D՟n lT?{T{ΑN7n~;v)z={dTjT*8_9{jQbݿFe,>ND {wvPwxNj WO!ӳkƕ"Qi\Ȇ%~s*H> T2V}9:@xH@]U,vYŁ!kGd =ѽs1i-8#%LL+OĔ<=K`~wGB V D~_j_"2l.SB\/ H#-쪿O]dFz,ɽu9~3>p[[ϐ8(Z,mPtOY`e sjeL[fV'801KH9 qRUBNܽtt>C3M&}0",kN^_r6@? [3qH=ƍ0p@؝w/ M(\33a$%&_)v < VWE53I$ܧ l]B,XfFx+AmY)28qwI]䞞 JXe4$zǞkS("$r yJS`n7tD,<4E€K$E GN#+SO1]Q3WCP )K2C%>̆w=|x9 P'ce^\fwerW+c!"5g_;_IG}+GT 7 )ʨ6l_3:<ү7H}Ɉ6)n^jfgΨ _i!m.wB0rQjZ/ֶjmИ@ :9ˤ*⬌d5@kwK9'pa ȇ( A#S^줈 /U踒0c=g]U-ii V8{S+.$NL}g:ِE['g8]%xf?ZcS?EewU[y],JunZË3Ui9~vEZ{{BB+L7ry_݃[=[2[x`JS L R+C6A'$cn..w g.A N&NR+( Y=y`J)1y`0 ՄnPGؙ԰ QǙӝ^0_Dݕ]S?0ΝMq4ҖzKkGR5XK=@"Qթ W8*w6Ćp_4rΣ>9r}q ז[D#{HF?N)S78BxFN6_U*xO֟f "WuZF˝Gr ػMs --g ` $4;Ea{׸O]+p#,W 1C)M1[V \VFK5I ` O`H<'ƹscKdSR7|v P$  [@j&&F84 5ZM1JϾ 7Z =LnD2+p;2m߃ \$/ĽTqXeuگCh0.\`eɒ'*Q:1{eGWSS bnDwjzDq!RW!h̽V鳕p -nK`ɪۧM4D"EnhBwaSxc[8(^N\u`!|1Z .va1e| !ɳfs}JPZǥkq@1- 0)XRBH1\;5wvv%;cCk*5.K{( hTQx"FF>"=40i .NzMTͿƎa0LA& ϩFI631q{KBo _!gvv|` +B I8}$1(fY D}帑͸1e j x_M!;_K9\ :Yn˶ww~/DPJ֝~E[@kn:'aHj@R^#˯^gO4<h؉9~)LodP!w7r=˄$՗_ʳ?pyl Pؔ0amO/l92l&t38 Cf88/ G7ܘ9 CB}pBBeS8dQ w iF)>_LedmpHuIQ0~`QK*3ҋ/!rk[ڼ < DP4Q . \"&k 2M pd3qSg"s=g9dK5(? 2 `u_)NItWVzC:FU9p1EwG*(.qbAϑ zrl֕(٣ xP_$]jop SnSbj]Je=̀|u[dPm<{HvXL)s;wJI K`8IU 1G@oRRgeR%BS.N}!-&^5'~rLvZxgk{f>ߎ3e$g}J]037O`SU5BZ ;> fh|&C\ߌ1~uv.bz+.%?n9TZ"Pǭb5EKC[l%0#Ik^⹨*R{Nx \ iJEUE:f2 [@[LmvQJQ.sY(Id@U6yC2łݖ$QY鈵:˶ЏI^,-5`)(.GZy y[@>3q DE^Dxe,)#7ӟlYE୶N=jCah8L }slK,b?:olĈ􂫥;\50ATPR5hhT(sUs ېv|c.dBE46|G>\I0n5|aVŋVD&gZBzqKhj,U=^wZSވ kJ3Mݡ=K4m0Rcp[B랝24̊w1$9 l!twt:HSP|&$ϑ.sAn?FY9SMܣHϤPǏE!QG$EݐZ %P1bvDx0 5tde-F\;W#\ȲB͖S/Y bFI_pZ1 ;YlgMEf(,WrV'2 =Q/[+{[bP"ʡ1 M,{Bf[,+\_)UsgPev8e᭦~ĜtM^Xl8%"QV"1ZL5lp"bE/|ZLsx'3:r|m 0\IBA%&=7 9+&h=;&Bz8Sp<4~9`#G~ׄCOk8~V;Nki-_F!?}B uzrxsr:b@ẌOh<sFk.U7cwJ|xpY9Ff k(و:LP[v21!K54yIT^W sQ4P۸FN7^.Nd۷Wj#2aa,^Y5f _JoTF;B!o$J ȧc6 4_0SR "lj> 5e2 J!ugtW7.ŕҍPVnƒp/%t⃮T$KBD>A-Wy+t{Br͛IVՐ@ʄQlsk@. J+;4Q$5XE/ZDHk(O*5[ygXG+-*b~r̉tp3AҎ &w͎I/IVFK lym/:[&.!3m=e2Wn;CIvN9hҕڹJ{Pa#ot><<GTxxCM^ ǷİX73v+ݵV_V>񾅦M^u۽vtx~p,ߣᄅ 'yy`[_q7.c\cEvj_W-ɉ_ꙻ>~C lG[7(.WbapI^7B]Hy8o-F^P!^y̓4v9t6QpK*EKr"]ѾƄ>ZF]qJ]ۺc^:2O-a=HjzqFx I-p"smu ]Ou;˳S5Y)}hP>+l./p7$pIaU ~_ xf Pl[.gxm&#& cwD= |;ëkRe=@%鶫Ft+2Ėd؋ŬVnw5 P66Fn$K6A]HS;@:[6@+l!%7%!u*kn J?|ȗ$zRFSP?ʋD#~h8./Fh<Ѳl4^@Q3ߴ bމVsa[CW8h?HA;%85.tdok3::6#EF"yL?\L,0l\ٞeOfÛh2RM%9LF{lnWǿϡDPyt rv#DF D"C_Fod!ܶQCƇ)v\cKژ]'s#OE^DwaccC,;b I dMZ {Յ^ʷT)fG5*]V7o2tqںDt J2+F0?zmXɢ MN3DX=ɒd^5Wury <]h~KQ2O5 sœM~a:"d-SA{gjMiAJ.FN S C_w3|6)# \2G7%U>˫o41qߌe금 m1v/Pt[uKmJST-(E&ŽbDT"g"q)@Eh.X+bc@W-Fw-͑x6NggT4b󯝯\ߌO5Wn_6gw~<F?D+oF3?uep{9|_GoWxrFGo~y;嗴 Ml_\?M|96-Wv5ˋwórW&׳srip4%9?>{ouhGxzv3ã gW{HO:?܎mngËg6{2tmK+ݧ;^No'o.}>lƦ!.AZ}ޓl{I 6.S C?hQ}?dP`E) 3Jzbnpn͂+EK,BθMIe^S}KW<3!*[q |sH|>`~q m߲sW{>}l ?=B8v)"6&\*W/.9T*lZ#Zt#pB{ȹ1SB<;s۩3+HO0etqFJ2*ȝUGfs) ғǍ_b)֍k9<:q=`\͸0YLyA&&WÖ;0U^<$I|bJgXk],%RqKE7q5FZߜ\@O3S֑r-8п.T^W zzhC01lK)eV\JBÛ/U/1\ T+l '{xϧ:{xly3HXWxJ' j^w>:)nuG,4 "z yGoa[f}s1wPw)0]1l>ib!36V=0CdTw=_Ⱦݝ4%G~+XE3Q::+]ĝ&^&ڱUo=.b˫!IG8Z;٫t L2IA%'D%Yr9qz- ~2DM׸Yj+uh:T˚>&rgB@.=NH"Gs@F1Yċ9_w\B֢bϴQ>k8n 'o-ZPv&NK#mbD6z_Pǥ9wt7OJ f5! Gc4'0?f\ 5vE38)K1D%S{I3伄*U[UK]ϣ//J)6[5RCu!%K2R'D g,9>hAO B^b {FI&yw#+F{Ӥ%XԞFԗf];سFC]` 5*c GRc"@`j,'e@qg*/'? e|-\s-N<4|ߝCHZXdf˛eP Y/  ' )v+9%zOl+d3gʣS$4H4m,<[.^8(ui"P~?%rvS21Q"nBӲN 䅊S iRZl^MQ˼MLnIX HƔ$~gjkn(w׌\3NQ{t%0|i SAl%av{G/9WCTyfBx <(3paZdSaAI2hHSyM W+_D()8 0r+^'&.>7RmvlB\ ϩqY7.!D@7v'ZHdvz︇L'/^PLP؞}eTMUؾ"ݕ8/u5Z I-+r$b?썂7"t ךn秛g9B&osL[lE(>maW^5?_s+¡b9Aq:?Až;E8ptB;9lBXҺMEhk 4. SX1[s yo_Γ 1J#o.H8~_X;Jj74'S Щ$'iȰ.ڻ%"zGo :Z2yȌMSț MkP33~O|x5t;ݩ_V?t>eEx,SnkT1HҥfZ_[ IU/WJBْR6wDہY'lbap5t P]qРI\Jt/J%`sogwCpm3 ҉\n1۽͋JNdobV\:`uta' ~6#{te$=sֿc*dR|+GS[ %"I˗xNɆ+بO"yBrӗdWAWZ[\l6 OSbZQK UlLw{z@0& ȓ+.C}{WOu0X7Zly/h!VsUejl)lQMԂ=IÏd/8_`U#6$-դٖ_ɑmy[2XJfffPpN ʻ#M0{قx\UNtXMi* ;E)Tǖ,ba<':MWw5xNP1 Y$A rCgƴX+ an, ['UˆaErN!\Ym W gX2"'T ,Em$pFE,WELIk휏F،RWQX}jϊ_؁UD*~fb$Hi7Uޑ\o~PY6# dO{l.Wts;&ѯ.sh Q0>[# k}s#E=!m"#G`Fm"? Ix0kQ( "tz6OgfY)OY"> lx'(!0_Ͷ).8>&6+K nr75CΒ*VW'm?"V]^)B2Ypp;yntr3;lY t벡hN6h#-Ww`p;Ï`x^CQcsA(q]囸BwٛXb93KlDO̱vg͹S_N̰uTHd(ncp^ߟs$IQqj8L7MX#CxyTԢY 6;.5sm x |41%T[ApE]}C bAz7}?/~?}=DBB|Gs\7io*I+P+{e6d+ 0(ab`%~P!bfTzhWJ߻/3Bo!cmpeLY{ J^pPbx9`&ePi'ҪiG@[ݲO|vm=@rم$}:/?P*O ?tkɟguYu?huNm 5::l]XĦM6۔y/VU5|Y.[%s?z 0,@UI`JE kqZZ2P4aP|yD% JM1"*t|Gw)qQ߃ZM®C0&L]S آjmA֭$2.OhF¸$/b*CZ#!$,ln~]BؾW%|Ztox^~; S:[Q_v\܉]88cq<-Q!1(@pѣH$S1:9"Gęߣb<3Wk* ɀػJLJgvк䘅ky^ɴdPy x,R+ V24M "JJ$,8,_o{čry\'6PIAyZ/" 16\nRobTPּa+H6l)$&ԫ$i +Ng m D&AFLJN#d߸nrm^2ʒ?*V㝉96[`p>14b2huH*13Vd@mD\&)%ʵ#ZVyAfM6J*\}OtsM_yE,if XFW1oZ `Ӟ)be <8Ob14PLuQRVU\ $r`x[6i¶-y#CyvZ Qy>M1(CrWDZ@L2Na.p6ۺNǤ̑&x* yӓ\ct61kri2HB3Е\ݾWJQ*EEA=c~ŎawjZ@.+lCD噘ghjn7pCOhD2`uֲ4BLXϵZCGhrd̘N-sU0Z@B{ԎWVy-Kr|/MrʢA[KC)xV6~.9/EL8yW Pz5#So*T x`p,ΪC`WZ|3B7%U.e p*wbPјwe73I٥o!.xݰsKH o;rV /WW`s);nTi|!ͺe T=ء/gXpҚ}!*Sz.+QFHpgK0"|#EG0%/΀H{9/ѮNfr6̮BkUo͝ h$ŁKeVvD`'b`ѓNӹSK+I*|(YÿJZ'uH>;0(ɱӋ 듗k8~At~-7L?sjxޟ}k{@LZo6(L L=d`i{Q@=wk;<]豿@}쾥"^#FSGZq*?xO EU{bC{ U*C0#E5_x iDbJ 6E3jǯTa_r1+"y` k/C&YdZmwnҎ 9^!'t!$Ćゟ06 朷L7 ۃ+.;(d H-]Wjף=W3`TYs[`[O*5+ʼn3P{\)w!2,;ˡzQ \;̠kFhn/aJÕu/h:OOD7IsO/ Kj$76ZdhoTŎв45ܵT #"hD@htx,'gIWa4ylϖ"/)p׏azx1=*bx;@k}4K f8۽ccAOkl#*\!?Ŭ=\K%H\L2 d+U,99]$+?شB{'`;hc$DAywj3Qy:~qoڻ:a0p|? v`*eFlX9ףM7/POUz5_E,2C:%eFy]xfEe%K0f˕bN[J$J%{0I:oG>鳜`q^wXT1ܹd^ MiIK*NRi-nE9 ˄{^.( Үdlj>& [81–U@~?7X%+i;<0_*޻xѤeWErS>lz}GG)CenpPv"bu.L4 \q'x]fV,}"bPPPemH8D{AMoL 뭙\(#nfNunާGpxǜ˝qayA$A2-ndƥ8w_9% ]Z;ā3i@kߵgMRp>,Z Ϣp[;vF)$H<(bo 4~Q߼'˟zrjxe8 'ddxss?8;N8ǏwJ-t`NuvHAjd^2lhP;ht="Sr#XLQXx0s?RHkO'F ]Z1`O)n,I0̼;=T 7eykk f=!\@'m!NPi12^֕YۉB3PjIds(P\|gQ9 Y3ˢknb!bcVDsI8c{K,R Q1};D3mU,ᚊÞ&ܹvH%RUj[{%E퓊ڭ3Ԫ]h3ݻc}83ƲurM߁Q7$.]j_q3EXDZ;(+f߹;Y,9:jE$ш"l*d Mf<~ɵ.F.N3 lfEl+q  $dds2R>#L7Gu2Y(U4~T91 n2$FWg5\oǓ;uve)wy2*[ٺ"T:Bx6MGf#gaG4ڵK2+ۡV~<Ny5߀ vPGE)6;E,x} :Ef}:e؃Yx6 GqVӐ熣8DUly6@g+TTip*AuD0/_|BYױ8vkh.MYeZo3E' ǥjy}لgb^Xg)1'ա1m11DiAuK&hkKaS}CNmh @\UP"=5k_* ⏰ ݡFntk^$n0 a=Hf_8-LL4MByO-Z*:0:a6:*]C\l}DAB ʦz>u9P^:,`Z2:,K5ihT+@m^V{: 'U+.P{r)1*K/9s`8I V0(z̯C$N8KTTflZvt"ꂃDDǠyF&zv5-0pr!V?r1 E7OƩ?5$i\mI?.-0#;b)HĀ9]\PN* /gN[-tI,iV(Ҁva\(bP+#l2!֦:AMXcfόZ!rmQ@:AR5=.&A6pشOV\J<Pz=7{X?^y(sdd'.'ж)^g0=xjzF*en;KDo.IO nд?{+vĩg Z^RB8r-ӈzl3A3 j/xHӠx80g-+HTC`bBh." ,l")AGP)o6eUdAvȦ+ٽ@F>37>Ty;8rn!S7m ]dZ(荚 'MWȋ%Xx g {=pzb,ӽqdt俺vg_ YMZ@|~|([[ NLXهۯ>M\-d*}z{9ysvi7!.JJwZ>*3>$tqd5ߗjĩҥ.*}}{" VJ*y㼲qs7aK0Q(:B,ٞ⯹2BcN<&Ula!&~V+:\>8 "D.=xaa'q"N pӳPRv# cF1{zB ̩Ya\}"=xH#XE-T_1N [I)t5FJ<4_Rudxaq%\VŰ\X\_9tgFe4eӤ\;_QʷZwD̘0פT\YK稞ڐûZ!f3ȶEUciF'N6OEbMlȺ3B.IQtsiq6CԏB 6Ayk sbX3t{eY:S~Hr/016l G, h4S9$E he Èt`_1y/s1?{<ϡKTഹ +[A#KYeY^{JPxb>[\o﹯tsñ0BL}&X+1;O6y?`:}DПԋ) ost{5LCN ߢ;R:"3e}#G^΁Xd%ܝ;rq3#Je(4ҎMHc QBRN-E/u,hεp$L{)Z Ωd18-JLK~H̟t=G{|pUfFlNfl@^'x)hPE.h()&jF$iC۟uX4OSWD8O?y9Cqv]]pOfJ^.{gҍVYQK$1hw{q P}Wu٠dHf!#} HJ?袤lF$ꝺz8CA cPd]|5_껿8%.:%!,744cuHtLT7 K@0`)e6e1guK< J w~5H_KxSCHaCʖI/k$){#\H&"NQ,-=HBi 3%t۳# ː$AdxU7;9X|B7ӟC?|{P]ϯ##Cs21r\j7ͅ_7o,E_9FEND[  .HJɁâ`xF(au,m]$Y<[1Gd&M@m̠yKAr\9l8\n@>m(*pA@l(MCK Sֶ|nހRݼPTvD1uI]G5bKSૼɥMدo'Fd(1xco! Fz̒%PᚠT*[-o{0LoRs`nHf:[R3툱!b1&W=9PCk uz4G+{gF:a,Ƨ'h eU{RD6ʏtv ;-!Rw| Kr>}eiJ:q!(=z$;PWth{N';T%BKxWuX UkR~m/HooʟE,-Agz̢e1r,xAvc}B[iP e&,?/C҈I6<jr;$auFM2Zr }&gP _YB<~ӏ_6w"(k ZףLI%q\Nsc#;G`ō`>'o$;cӎ$,=At|Ia(JZ=_h݊7}=)%{ye `"BLrh0B sجQjߺxx3\M(tU6pF[CyFKuU&KQ" Vbz?&F^+?Vs{g~ORu$ R`7%7& wP"Nkcv9O3dN\ {[)E.!A 4ЫzL_722xx> m4\y7NMp px߿_lE[$E׎>@4=!- ל2Ho0W.|K膺A'aF?o&f`zr3/Ecٌ|wM A]/{xu%J!ΈKN F>st:ד/+]Nfw]Ŏr3CQƮ&G?ǖT.䄊\M>r[h;`Lt[v'VU)o]+i2Vgl&7jƜZKD.u?n%n'`- 4`#=XV$V`ҾԳݮv߬ލc72?u/7,kCS1[B61Zɫ%7!)q{b0fhp3|38{St v#g-]-<#߷͑[p!a=EN6)rp6n.jdw.YFTw)fL'#Edr(c| j`MnxF"e!曼mgHdQ 2w9Ay,vb{/ ÝNRLΧ|JƣȟdA/>tuU3Xc5AcU:Kfru 'ߒ77g4lpθ-p&5 I_l."QKDlG֍Ԯn,`:b.,\)Dnxk@[!yUQ0xLm57k @#mmL-2]/*v`R)ڹ:W@Zp}͋*ΪԮ'8_nÅ9q;WhOFfeZi{<7E,%[z}坠Eє oVHB_c*N2JcǟX}:\^:5#/Y^q- N5yK\+M䭝i]>(d/cwl n杻0&ijy@p Zԋ4.4;?_ܙաeu4=z3F+_>E^}-D/+u+EQ7!ZfY*Ey<%^{wČEɳ9O'D&:vZ`yZS8ha98>8>ٿxav9X^j)W@<uv:=oHgA%,d:J鲮#8fy-'mjPy/,U-7|ȡF%(~#Bg2OO_Jv aJ_gߚĉʏ+P5JS Nw>qΟ8:jTpA9Q/7ߞ?7?{_zWG @ [!ΆiUm{k12.` sݚTn G׈ZZQpz߅cDŽC' wW7Q0f+~Em?C^E*Ǎ(S)٪DGֹYUlYnO`yvT$M GxJ5t4+8]֯I U6+|he43 eKft]ľrH PaC2U|?'Smd3qcR-&{ֈ -U{㳃3'2}m 6 .,Y-y]Q_P'DsR8 7+wfSi6x`6V5n|yrY擢yZ:y⹹/|[BzqSj7}wRSp3GD]|KH0`2 -#D׃n2KӍyNyߣm ~H/o_<3#.Wj,ǾBJe.=97P.SܐV(%RzaNj,)ye:>F]_-8f&zI3m1˴5՝U2LpUHb0,[QpSޙ"[dV[m~ԃH ߱E6-% ufݻUX?E-pEck'G«4m)o?pl=xfj;LDזk7 fZ$'M~%$stMp/oyísa$ RŔ~Lmɉv?jH1b".DB$o%x)1XeR~NvIf8O哜u_3Bo`'pE :i_4XFD_||bwhUY]HNd~Rcd2N O a3UC؏ü!*نr cFݪY35jI,fb} LQI fOyRztV}e eE4q`N7a+*ӃTe|=F}u2FkK/C2e)mϟ" G{/zUzD!'jܜ={_4%h09$:E~jG_?c;Xc%\ 8*s\@X ӥR^ɂ8.̟ڊ6GC,y΀g&&5p,G0^{iURJe0C;ȇ[Gyp m_ZO?B_\p5bpÆkn uU2 c'{VrB.pĦf{=P?7_(h6;`_8O:tՑ/R[cJ:߃1b[{(=PLJ<+Kt(sAT)N BJw$ 5. VjnInD S0EN@Q^U`>{Ze>9ިRNtС[0RO9Tݫ`"72V*+}ʝ#3ƙ~QlfTFO2ܫ~U:[0M?Nw I=e^[w;J+}%XNld0uo$Šgry`|}u%Ey)[Qx9d ר-du-W>]?d O XX$P)^Uղo}y,6nu(/;_ܿz[޸~$`l_!=Co;s#p{JobmPK)0y# :Cz63TҙHo6d߽vŤN8{ Z5Ԑ@A}cyZLGeрaR]LکJG89/wSwnZpEަ4e"ȅE>7.c|hBϦu`ә4GjAl)(c ;fXpT,rE4,o8lմf&ղ%cnO>.EM7O F0nL!Nwp>kT&>5Fo. K>I^f7:2ȕ] mpO1V-xԽBuU XuZqnV[BzP[na0_fGg/=rJvX:F&漲{_4SYݗ CЙc.ps#:Κ5 /`F91H,־'#xzu74u|nn|?`"SY%vhhͽ5$fA!`(c"APM; )H Hi;iG HFMWNtwi b*<m~}l`w#luq^LFϱRWKP .V.2i JԬA"ZdrI(,GknӋÐXiI­,Ujon}^u 䝹e !̋ٮ$ h"TY-GcB2} +1g2%.NM߹صˌ}6ܝV e}PTslט|rgj⦄hoTMm]L0!;>iVf7cme2}̱OS~̫Xeڜ;`Rojȭ*~vOA*%EVsd|Prv? lrA!LZغV*Cg~?:9]\H%?{7^^j'E.JG͹u|#CrBޚyU-]UaO㋾.- H<N <<[ybi[ju=]b#AM[,#!woll"u,6GN]νS,Ǭ+a岮 j ]4e]MWVttͱնa}~p@ztS$_Gi]>?L%gM>\y U1q,CK-rtz2uxnt|G??|~8<ɜ ,YU `:cWny,ƨ,QRY`Cirʩ!w!! ghH~~gń͛R87yy.ڡ1"FFDAl\E|iFrMXs^;ϠKG*OuxhtZ4k [p^R'gq[zC*)BI&+"s;tԇ'7/_ȱ8ʩ[LB9i-ţ `PS6Z1D5/CgvAXqJgY܄(锯M[Uvh6oFrțOnˡԳ#u'u.绌rgݎ 6pZؽ"nf12 1+w};!%pVEᐰ>Ggool&ai;bh9ktz)oqSW]>) ٰ)?*Nw%S!bIOHE {g-&H[C󟡨l E`wBV3ƽf?FxlIvztUoԇ=db1Em>sʎEIٞɥ;WJDS}H?B*o9 `3CIS}8rl޹\ ̷l.HCzlKlF XtS@t<+iv FR/HU5C{fC7ő{6;3t|3ˆ#= ;w670TZx` ;զ%1rг`_ {HQ++j LꕴWOE\FZ @6F_Y qA#;1h @h_Ӫv27X~$|*"h\[x T /=}+pF[;_ҿY> : пg3NȂ?TȴCHEvo^M>5C8bp:*ߚkW2RM;,7e{zG 9ۜs} tƮIڅn|*K2K],[v6߬sKqG^;-͵HXZ߷SVY5 z'M,J"떤*jE!wԊyj~%?;di[4<}H52N Ha^y <6]X ˿XeRr*͋`-`N.AD%Fξ=)($eA%?.^q&|-8O&ҫ}7P"*1SiU'O{цd7lHl4N9kK꠸t_~&58|DkaX)x݇s>WD>bgS!N8Y1UzNw;ʱ_A,0͏uu_L)m2Pվ `FTSh auGxg 稦PÅ9p|@6m\iX\?̈́ր}z.x",v(քWtC8Ksȴ.K)2eˠ-c UcҡG ;] Mר:#nAVW Q6IT(xIj>(Ww_e߂ 4P]ՠH\5 !E*R. m[I7FkS7UMK֧wu~tR ҉=\[ʍ1_fwh`p28 &N:I[x)ETVOdA CVg`$J)]ej5${7QcU8? a+‘M8$9yT=<w'>>45쐙⅙`-U(*@O4GV˽G݀a)sG4^&y?TOVnS y=9AOґ(Wp"gv\ jN~R{ Z ^U-ނY} *)j:RwPId>m\`+(M)1xqX-"MULQN+rj4HjrI^tc~B!3̷yv:Eۇz@A݇byk ۅ>%ˆLvyy9[]f@Lx HͦߘA<~0SO ;vvZ-/#g`a _s8=úaa{wMA`ʹ_>eԙe<qJo1[mgi1zU(YD0!aWt!T3DQrk9^ۉ,/+l |MҖS,]?r`X& P˴^`>.䲃9!,/?(olkXGe뺬:;켹] X7wn8.LC}QS$+0FݰCĶ>Mʗd+!gU :21HFTp0ph;;Z-*LE}$;`tl3sw>FݢI ZKu."GּY,jns;#E<_B$/p!Ɯ-Q`h:pT0qrCqcj9'%\ÑH;ն&;{$|1_uKN[(JG2Ŝ˅RV*EcnVy%'(BKC|U<I +[g?Tz9p)ĂD%NeP49DQI0_=[ &~.0ɐB ȗS"S 3}HxmZFQԺk cG o Υl2c-e J9ڹ(-HROFol5FÓѻps48tr)*[;wu2TR9OR=%'[YLCMO-aA,s_=@7D:H}:jzGGGyfc 3L-ۃy" 3cqIY؃%^M R_3TBu8S="8_X?B[LdvC ZRQ(Qw(1jP4殨PϰSдdsBǂaw;D7G/eѹ0 5??z52 {#|3漭K6PZ!p$׀ͶJ ./~Қe!Ro<hJ"{3QSiӳxYzZ8r̵Wq[_<.=n eu/Ts{MZN3OE7R+|*9wסd*ڇ84ffegږ H󮭿}?ҨWrKi}Q(.5xPE3Yue?Zz!A /u`qѤS (Z@ {+A t׏@ZC3/QINag0de_A@UUXnӗ8iRMd85/w4դ? /s~MNٝ#I/?n~\u~v4pl&jOF^@On%} M!_4+iPj@'PxU"8>Ld^;%Cf7%i^`4{),/q"k rQwfN_x[ 5ϩcӗl̑+2<ϾY8mUb X{Oק{IIFF[9ҋA2)0goױD^+'!5N[L%ڰA8oŻóF.GVe[WslQKnf6dR>򨜝H2QWiQA@h/O'\rhNMPeZϧS_o8J[SB [[cB>4*?\ݤk3"b +ɦA/}Cs9*z,^T]Ra^Ke0ꀜDZt2sU#g֚uW\'.- XM⟡'L+'%U `+C8.śVy橧Γp['~. 2MU#\ 6hvf8E~j[dOID6H:23.wOR^efiS&&t!깕p1\ @/ſT~qt}Pw?!XH_V%&̪,6,\՛̘H*UEóѻ::O2+eXUm!{ ][ˆdMYUW[ . l$<%MX +z2b96\ :ƓZ8E, PTkX,+놛ڐ7Cp)# B)`}8 ҜmPwN54cBPO8&%h'`Ϙ[7SܧƶQCqgڬf3n+[L(5-KAN[̍C qއ i"fX%RsL VX#5du:ㄺ_?,{ AtE/:WM<8Gg5m}4~|qup(ӃdevÄE8r>c?\RuТC̗ޡY?1 <2t} JFR ?,u32I-rq`:3hc;{$ vgL\fB1q C3efPfQ$>u/HJk9S.x> އ npA*.}S~yWjذP ܯ&PB;%TV1ÀUsBJ|Qo^}5|%I2Hnf7q c4,bWg;1U戨[.I0$-=v@hbZ20麡`*?vjDNď'ZyΛ`5@%} iZ,@'i|;=Iʧo|[Cа('#GB6ӯLRPv' 覮v{AZǎO-Zrg}RZEHPɤ 5ﰵF&jd@ V$Nrf5oe Sb: ཈4STP4G_Ò(+8\~GgB9+Vͮ?V go.El}~s;8<+2K+ȩ|uسiM `c2UMeY> F[%TX#ۭAٷ]/;j:=b^Rh?1 ) Be~( baaAn&wv1I>4L+sSUf]ofE jÏժn|Oҗo[?Li9:s8o]G@]WtggWot`Jtc"DS~ucu}? ~]^ zoYI6nx9;pC AW {|rqu 7yAuE&Faݷ;@_:+ZHA6WՄ; vNf^lHuvzgZfq6GT:9ҡޙ[Qjl |Ap`nmzp mnҬ׉ؒ#|B\okͨ wНhUN>"+~}K+7s73 n|kw^yƗ8Sa{j4V̬ (1dƩg1mu= iy(^I B<;s[yteo"?\IXa61F@ƅ y.r<48(Ѥ״_UT >@>%e2D~7/seWhq~n޷?3NT}w<Q.QZ<4G 5V.L M:&&=鄒;,Lcg)y>1po2IL~{~K.\4_8| * Ry :' Qׯ`xC808s2 M9M +]1P0Q;Fjv::xE0S L<_6#}x d^#Vn 3tB|pNDeiy٪bwʧ%]Ƨ_)߫ng1έu 15 |R2DJROhCRqvBmQ:IW.6KbVP<7 CY ЌNҀ5CA%}cnȅ2$Da;d@E:)陮mVq4S|Xow(+{A}MNx@#Vbdᇌ%6ջ/+3s.FDIn k\'O~OzA=Öb94MYըܢiHdJ!3\Vy'o3'9hں4W3=ǩ!.Xfng-@Q'4IT/%yHf/"ƌks%4pcZrCpV(9{2Z)p}t@ǰHsą9C3"$j5^4In>u7㒺˟p- h)܁Kዼ.d ɖ o#S˷-}.t; KTu4r4Ѡ_7dM(9#W6ccxI+eVJ 83@"1dA5(N[ }K#3&ܿc4h~]QK:$ȐnIޘQ¹"L20t蝨w1YDT,#OfNlfN&n9JR\Be% >]~> #ա#Dnmf.% O>{4i{WeޙQx"P^84\!)At|^]Dܲهb$iFagԆ|1cs3_3^wi:m_qld\޼;R;`B,2WQԃ6Cv5VKmY}bX<0.B^?4;dqF8ξUU~&[ISg;s"o_#g ҥ!iGBzC0X)Zi8٣dH$K'\Oޘ@o{}#i&jb*`d܀+N{M %%[Ӳ[AdIh@gd}mRb?k\M >1poΝʹʑ ͫg_B4zit)^T^!p&_Q(Cjfʵ|:Zv*y=DiݐwEªCɲ|S0kn?;l l+P*uPp#n/2r)#SzQV׊E Q8[M1ц+NlAmHMoȤE}܎&X83YCeU-b׏{0 a h!eZI@(mNpkH"ɟ71R'XF&U#f0ool4'.+45\b9kh5G'^ΖO[$4X^.m^7e 97D,:kTTOKI4a웻~p33"jI5>KΝ-9y- fO&j84,Q`HJ Ca]'oĺבHV.JRdvѕ-lzGEM] +(y_fITmYp ?%hC&9:v'H1>rQݑ)5-K 8Uu]Reabyێ'j?ɔ?K9U65tp:d>t͗ ZqDZ@[uڿwր_'m!g?TkX8Lͭ*g8pZ z ;Y$B`-v2t^@<豝2J]mף*CYyK݂`)MKr/#*2E%_y1җoQSkxdi1Go|yXHRWѼ|D*r |V{8@c`/dZg^cbǗ&S*hI"Ij j]+vb$p'gP .*4f2bLMDmg/Y,Mk֊H`?Oewv*v9ۓ"h%eM+[-@}/7:VFGnU ==E<P$th8 mǡMyfP\ζw}ƶz|!a2mbsi!c&Ѧ.ȠkScEAAԉq1>}c^~FRl?%^xW~R #/ݮ.i@m7FG$-A1"TXp@SR qkk# gRGe2em+Oh{,"J YLT?@$n7#҈ƓT ºA`ذ^'DГNH&T^Q+li1!daL5UҒ:ro:@($ ܌3LYÅ#CX1Yh+_/ܷ_(!$+OdfҨsZjc}Om[~]"Q<qckK'zqO@鎯ri=mȹnr;Ax#QH9cNxinj3nKٕ鋸\>-k__\qg뀯*F.=(*5$0 eYWՄO#8ǜO?0Dd`@AF|0[AP=t|Ό̫ʥ(]OaY~hƶ d/+ ӸzM 5d|q=S,;XS]ANYuܝ}qW9bOjZm>ʣR(L ‘Zj 'tʌm'Cpu[*I@F~FxaEi#[&z׌|VJWfXoyn=nC}_;u&NyrcMQ,dQB¹k{~dlጜj?xՕ@:}"ɉ#E 37Ab Db!Na0,1#c϶bS l{HOj?ނ[m)bt3].^G lpڊ_l+βC5SbηHYrNۢ 6~iƀjюټ]V<%S|-DN'A63偔74+O1{TDau܀ %+CnK8+͊(|@JΌͤ.xLp\j`Df$_1pÐu걢 '3Ƈf̅]*; H K@?3q}JN^f^4f7zMOiaa@XEb [8s Ћ\( 0_4\jlpHux^.*,̻{({j 3ς^to $kJ=P,|K8xdPL_B>^;=|P h0ͧOJQ˟e]U  O+bV5wg70%zËHRȥԶX][զK z35 1/ec(?e ԭ`k:CR/`M|'sCEi):u|atAp<8D:d讋)SX/ϯ1M{N88=T T<`YWLLsafD"UTa1 1#*Ab p«//P§eX]Dj Y L1"% CoZߖQBOd}$jnE(v;.) !U|Ifpb:(VyE/'};S\4N=~oFg4_T[/hM=oSfl_' ٘|[> romb8-_TuM@ևN f X%L?1(<&;j<ny4Lq +H#H=f݊Dukc/*\mYѩ]߁LqKZѶ١}h)97r/ p )$> SiS۴u hiTJ? VP~8dGȦ}l=е]8 We[@2MQӬRF)Cќ׻9k:KB{voDZ.۸ٿjM:8{ϊ4 ӛr-Go23f{|W4EΑL;K&̐𞨦;2s0L9#ѣ $+4HtRuz5s ́qCK*M.ZhcsFUq yT5ՂAu~1::>;n:y4,v]֭&Qzu}XںZgd1YXlDԆC(@ٓm,TMP5GPO09p0vm?f$$8Y»;)Gt}9{WkD잺=U֋K B$ " ij>=ۉ.fIb"^H)ڥW߷AC Ids̷t\iMC 7@c`m<8jpp(rl >jsHStF0 z8oSPT?Tl)eLp$mz0eG-y.& =4""BzlwHJOR_`oq$zljy#1p81r`~5; qݻ1ݛjVrժ[i,˱9$ gX vܢ0v ;psE{Q 6ĨXR8M!s7^YbBn,7l?QX DE 2%ٻe &}TK$fo0Or,qص[%QivA MJx>oЄd[S`-* p|5OvCg`j2=i>5T搿̓o` /wXJR;h$Ҍg _d+bݑ 4}BA;6ApqV[5tGvҰz({˺/kؑDsΌd]4|I'R̀<̍bj|CĒ^12`Ks+΋@ HF]3BX`Y,2"|3MQK JݱT¾CYA~Ѥ-a?ۺ #FY/j ˊ&uG”~ S.̗ kDz]Usfg߹kbaEAx#sD1ߣ1w3F-!U EW&fe7slI\Ge]. Ŗ)Rr; ʕM1l=3˰iDƇKpteRNcjySg/\fe*TDyn˾ho e ͝Q+*uuAZgtKDP&rR-l'4˹BYׄnJr )8n ZGHi sPyinjy'U,0S9QQ lK%xN8x@,V J{/ @@&K&lf2*~k88֎#ydSo h͕ru\7BGg&!߄h^DHCKϕNݭ8K9\ %m^FȞT&V?>9zwA:Cscm^ɠ(1>\oޚ(b-7M5)Z2J2p.+fecH'ȅ3#~}tliMc_$OhIcgߞ\!4]ŔfDa;˜ݖԭ 8w i9{Rxד9OjRkv$J}bm~j]U7Нw}-G)ۿ C8|>&­YSO^;"J%yw#csۨ^1GPX;c3ƥžypdmGtjPK;zgx="*f\;o낵%0>tsIͅd "+<-:YM:nc I]_ecWjjGbwҡ79kR7uޙdT9@,<# )::@&Q̶M=f;/=N ߼"彆Qkfnh8#h%RU2>7,UaX4څ529ԓX 0D üdhGOҸЇbp5@HB'viFRh~[5r?u-0a YW[ٚ4kAYddHrb;ա }b~:DiV5 Io5I %RY: dZȠǚ؇4[5RD'jɽ RBv/8(HF2Qп&bq7"F2ePM'amn 4y 7-~m xzIX l#P~~Zf'=>Oف)G1 ͚1Dw =7V;<TYq=TNǛU+O|G}n*rdUDUkcG/՛`V<}VolgȌ )^ /I@dMi Lp$wO~| }\\:kvjgؒl 8:<")\4CYnmջ!ґvf&_~@PRE5Ϭy S 82\#KK{n㦇T@o$(H c!S*D+gck{'y|H;)/p8~7VlnJ]Oݨ{Ln_.J,7/Q\DJ~d>ZVqtkϻ%W- PD|vOMKW(,GnL>Zc!چS4Nſ*~moVN; 6lp@h*VF?P~'sҏ6*4ʓjV 2NMnαI9}2쭧moiVcUXjr\B h} aLUbSu\@?א1jpl JEg/+rw9n-!n>M} ೑zߤ,3oyMm-U/LRN Ѭ!:ҷ5BTOpʉw[Wc& >孙ۼ`u͜/s i#(}jQ^Ήt*&i?97weCJ*(ُKAF"u@JK>VV\uQ L+UCO}Aov) Cр rV uD)X9|U#QؤxSF G膺OwA}RA/*)BAymnQŸ`H$BPcV5 ѮXBIM\6@`$dtvGV\;+RJe_ۼ6`EFgB|w>U=ӻm: Wi}MY.uxl$P\UIA0Hv p-ʒ=[v0l[bAPe^FjYpwe#nizЄ`<|!>2 Ӵszk7ETh>b߼joۢ{2دfY{.qo(TgzJo(,"8-S .m͉ޥӾKpCx.xHgt!fy1]ihg D}OydypYaSֹ:jiGwƽ֘L"=)@זȼcvF@MXH0ABQUW1]$0:.jbvC8pQh'ܲ)*z=Q4*3~ȧW64%9Α.ReD:4TNE9-&2Q+yۄO^.ȩ[LEWɻh߳w+)ʫvqj$ߢ;(Di`N7X*!zW" #a( vz7.bO)xN ڞ!= @}QfQ':νsMJ+u!qҪ`cDa7]>rNhp6SG镶qbӀPIΤg(/NU)?GOg]rI yz;OjV%jCt@>OG0i;,8hJT33-55PI[k{aR t`kRyp2S;8ܐL?$OI`'@WA&&5 j3QhCMˌDub}@nɠOmmӪҎ6ol/ƭwU$C0YNHW&m{G x)$CF'jN RoP<'-Spԝ}ܖAӬ0 1 R4 ?Ro"?רȧ ֙NyWRo1p=4'2CQm*zD8S%f%۬1@㆕31S +cBN8f v0 < ?MU4XglYhwZ&|]@̷{* ɉ]~H=e}MT ѶXfh a6$tG?ћمtF|}vxnx9JW:p9ĎKWu FPWQQyipsA ZVJ 1֦5HQvaQrWɖ^-KZ1eTyմ(٠䚔G)'O G$fi)@+ʧ4:;ByjDkԃݢ2̛J?/š7_3D37B 3D{-(`Nj@Gsd8luN֓jhˢ+m_0KDeaYN~F}yDNs?ͫgSs 4%`'s 4Ea:EPp.Z2cTܠ%xK|bB7D).,!Z?㖪:/٠ #|HHH0W[cɼj&TeN9~ΛbJ6-<ѵF{ K~irJyVop T'5ASD^,eۍ^.,NRYKm6$ڄ gԸqjx Vײ)*qmF ǻA8 .7eM-8zF+@s9^5 4ڃ@bJC0UenCEdjٚU];?6.o' DDX 衰,A½uN,ɅiVe е^ԕ[bNVuK$b>7K[ೝzv 9)5RidS7xϳOX1̮L[I^ĵQ6Gab@Nr $iW]Ύpk#8&Hހ[aذ'G @7c#wzk90ϏO+@4+O9ҍSVs;b 1K[ϪzoR h^bW 漽G%he8$ $,EbŨTiF!hq76i+S- 譒P UWH҈q& J~g [R5mX2^<|=(4V;R *2<yxd [>EbՖN+;ɗ⤖l+)y{qM{2>;<O*vW}IUU#Us`MtQ9Pb:ˆ(- KNL*0^O>YU!.禖Uh*}[` "V qꉎ? IC6@+a 7cL(/@bnb{T`?-}w2_OE)>3 'KU K$ <խ NƆf5>!0|5Nivt?:8361ƄU5|ppx4 aWONz?Oy?lxD ?$yNQ_TVBAj/"ZR)EIwx#_|zJ\F{4 U; :4|]Ӣqq p1eUr`}ĝ""Plu)FT 9{Lp/>U ޞ 6XdZsj]𥐉N7<g ;M7Z z˸ %nVfHA*a- bՔ-ZnnKgwOA/q9U!q-2_d5tuܒSrbY imt2z| sQz 4SS=[+NyQaoц1I?ȭtצ0O~'$A%&D8!Z6z9]P ^)x"Ө;L#5]t&)HT5b9qjJ߹<?t_O2'5q<# &j1_bӯHzorxM[WquhYLt+ =kKqB&ǔds#[,P vBˏX\Ju]4䡡q-ʕ/C,탷 { wɒR } EDjhP,2Nzce>C'tDHMPA*mCqp(O\/|2 b9¢jE>'+zRIUS5"TeQݨY{]_;$S֜5 ɲnyB%#ճ HDUtU!?+#"uszdE%2"22`_$'q;G) !ڤkjEZGy7Yvw{zW`4 Zq*0gV1"ы&dH!x WD|O2dN[sTGM~p_€4=>R敚!‡r'f|crM"ǟEgU(iNfQhw4`Jf@ʼx )T1|l35Dp1Bd^5?t6]M]2{nH;^&G(xLmqZ2&䅗 0 6!wL=, 3?68B`8R7hB-C-^YGIP7vlj'\CT򸠙M=C~;6C%WK(.}%Gs>~J̇Ždp.rq90g{s[ 0Q _p, +Ƶ! q40de$+/#^& L*D>Љ:!4KAǡC]!{ BRQ礒8;|./eLWd[F12@}/uI1zjm8Y.?o-WXH4|| *fU) JT*: K,^k4(>snGX5ӊ/v9+d%gnrUe3Ox_ϧC)Ttq)@P*[p-@On b BUL<'rTZWFnYJݩ? bEs.]?Ysil%%dEMv.8Ce8F 6\t-542L%`xJ[ިϙ~%K WQhm pC:̬m{Q(;Q"/mR++մL17`Qn8r$DH.45%$w~ZOkX!YL0󢤃N{{߈4lUU^,RH#HN `YF S zzqgUЙ=EjGs?6x &TOI3 ^L$W G&עLg(#"c>pYjg _%>Dy DL@љX4p5if4E\d6:H~;_5;nm': ĉ6 w Y򜷪Cc3ǚah3PV] Yv]Pd\A Aqo9F/ /9>F_R*\QBfjei}yRKlh=uCu&Z[ Q^Q$d2`AMkmlBɏ)m = 8U(í!Z̽"kvQ,b+$[Hj B0T5D& YI4 5.\&ű뺵=4]((r 4ќwAwB{m?p3e#OMNK^Kh \BdTW̖r]kqYaoEqҧ47(fw[?s#W&02)*:di._imRlB1CD/6;_d_0Ff?6ڑ kaIk/w&vo rncԲ?1םoƱ1p.0'/m.=݋]fdfW,cCxptk蔽귮WYywӗ(?ɿu`*b]x懆<*9; <'Ka|zQԬ(=Ρ<r!F*I4%*@O_9}lׄ_rwEIX*c#?[XFi 3dtv(89i$ x+<(:1́bFl̞X!omއ-2*dˤB(aY6 Ϭlu:T"#cʡƮ"#?/';eDm x2n$YS 3S (`a?ktO9(V MԲQe˓;F+.Jʳ P*^ /m8Q"]sw/i?(oY u}Aω8AVއls :Cئ1|+V{C̜\OBJQ]λ א/FiNrW6> %d|P)@C%V\l\bbzdG`GMn:;)j1o9r}-[hsdFs~Dl)T2K_(Zvqې6[ [<5\ )"*E \3,Y0 sg!]tM]e1:]z}66 G]AXyk5bc?tr2~d7*ARMI,Hid(1L=,("} OvV˽=B_xL=I7^>5+ƿOWss: 4OAWTz *JY< cAZF>1#A0p,}U r_+zKƿ ]?=?鎀?S9dp{՞ 䅼Fa!]]Nc#d`sr`|z:Z)z q:-͗|4'?,se<`֠"'?f~;SWMʕU@7( " oN؁ٻ(NP\xIy"b5.u4#a#{H#-[U=pkvxK R#Ҍ}Bv$pk6A7lMĒB}+Ob!OD*=F< G $7"(#~gB̶0Y?DvTv \,8bk$Rm Ͳdk#!{d:PYH %?b"#VzCl^oPboǪVN\n"FziJ7'd*ePȖ&9%2~ي烈/<٥QʏMdd֨ߧ~g}oL1e zeJAMb{=ȫ cjc&tFaZĩbT(zQNobn 66[X 86Q ,u΄VOҺFXqh ja65bc&DՋ!(i ٕhJᏛΤ6]!HDT#g &U&&S"ΰ_#9dSe1$#s43e9/.S5  AV8қ W@>ȍy{D5f&wf RSXT8f2'$>; _4QSƯu>„$Yj| IM5C+?|wb G1կ zDzE:Fْ8uduU )qb87T8\bZC[sDƱ+*_z`#*h5pJY7iZseEYDlrI\dr R3=ޚȟ6uNIr_`Q}}8!=+Dk@c%)\Ew΍Οak"7UCꂆ>\7cb9aB͠YXd[ɘ&O~[IӂM/5Yk6r4b,"v3~dkÆ o WD`QFǣRgJ6U& ŎFg eAƺPw>ѥ e_*D,z3* Sde[T"_E9`HaGt&'YD_';C}dVyIP ˯K--Z]!U\m:_:e'otD ΊQȿPoZRUהދkTsx͜jV)CpY?YQ%ۈ` ~Ad5V| nidMkj=}~}\HWt u5O'΀o{g:}A;i__[W۰J58/ȶ 7p Fe*HdֱB+=eP@dd&Hj2ɞa;dK__þg]ﳪ>cd/;$4hhAt( {Nb&t Ju}L:  I=V‘?4f3IT2ev:)Du"pÁ2F Ͻvv,_ IcE6, DRO2te=`E8'WWJ)ɘv鋶e|J!%9)Z5 ȸSLA /boH9I6O3me)CJ&]4mgY$X D sii p! `4s5cIZgy',jzv f4gw?{%QP/t\7tCjdW<ɂ*Ce$Gu%ZjhK?3,# UKR^ g!ݖYx^ i )Y.PXo2\C 2pXm̸Xa:oG!H36$w:fadc5WVLEO7HHS@:Tx6w.Q)=4P)&L}bbY҆,D>Es*ˀȀ%-3JE9G[`ٮyD̈;8 sb?wQv3Ş͛%WWA3Q"G+z;X1=ؾP-ߪJw],!ibSHZsV!2atؑT\/PLFﰻS5~%ظR{= .?kRtk"t/|E+~ {&Z b#l[␛oEg@'7$&2xٻHJVAaFISXvzHbDVŋ~Kn|3Z ˄hr `Q5it\jYQ^1t2xD ~7(BG'gp \JR2NFtNKBc C [G\)yxCtmVJr,%v2Rg4is JkhH XE.%Ӝ[u}ȫɜ܅2@C1lLzJ62S1r^$OH2Q~LZ< tJ"5D w{,@F5Ti&M0!0hoO<d)Hr9rbqg//6sP؊.C '$/jFPő<WVEW]qBp1GB0Oճt;QޥҬ)c@Ϋ Vc%IV\DĞ3q3⋍|o0L4.f0SdJrp E+gRsLC%YESsaMsҨo̊oЅ5'(7KqpJu/rsܣ 6M2nzցBB@M;X^޼㏀/> °n:B@>gYoTPw,yyq>AO 1 tK8ځ׌ ʃ=b$6ZFJnPiADW`>๏;!͎Up6@ %0hPF [*F7?u2 F?[d0Ɠ&<7'^HrEF CGcW5k2dJ 7QFW9nquAbQ(|pu%+&WGv΅U  aHIo_Mp5sJ|U3ZH`}S˄;c3+up:kYIc"!t K_(5Q>GZV@3,\RK0cG ."@xJŲrd5\C)<ibnwu&Mn:}6=mYLd,8BQ~:+KA|\MH="~;<]@^R:6Pi]K'c?FS}ܹY,ۯ28CidԐ\nY0Z & O6|?!NM˻^ lZl?e !fgѸC'Lb^3tЌ=KeW"J%,bޏ 0lp8FRR1}$xyZ4yv,rX])GHoIс6! 6|/͕7rR*"}y!:33=ǥF61\][ xi]L}ˈU<F? 0seTeY&]_Y6le _.f ~pqߙȻic5t~:p=p>? PЗ%sVHC!@2[eςt b4MW[3;ȝ-1LlzQt[qBL~3rxU0L֪;KʰܣN 9e*vk6:ϣx,G{2BvR`rd+Cñ&R@na]k]8mk6h4fN1iq5l _W\KY 2揦7sȸ8~Ddež8Ou~. E5%8b-fJ 5٥8R+# g÷ ye2W&&H8ڙWz>ʼn=43cԩ;pVB=u A:Պ[Z*.w+SB7 !֩ PñPJ͖N˴"cL7Zrt} }QOO:BM t3eˉNNGBX I8Wa%Vn̳Q+QKe=̉/lpa;wԿ4;SB$wknz^*Hh;%ڽ4 m-+UGȌquzcZz8Z{+IX('?A!pp8-z4 xF[H?amY,),k=d ߥDž/S}*+!XD߅TX0P0D͋_ZM+ST@D,P>՗bD@& wgI>w5p$bY3`8 en&N)55_r&Ԕp?!*| L:dvoR蒳~Ę [=oe7:QBe9iPMtMllaߡ5 ^#a cWYM B-P$5bW'8eJ$gŕ<մSK:[Xh3i8 :2 BXvCšh9C32C"S?8ZP.#0l `ec"ORURPCR=z~|*%mĻ`@_ʺ q܉-I@F H xA,BúBq ̅ƼbYi ģP3(3 ? XL=;s`ث}^5;mvۋD@^x\/P=.#2s{[$%j=~ ChxF GHn&_,=CUECeu8>nsb3BFb֡Dcָ]v$?iFQ_7r:.! B|I(ޔq22DB {_XBb醋y/$^T_I>;8AnNwwn`XhI/H8#wBWD#>uFw66I` s 8; $M2z+?Z(]J< !:md.=tW,L~u@©m^DNS/&x+̣p,bQVf#[ʳ_W&%QvbO7E /n(PlSvl|l+ח}nmuYQeɠ~8ɪt+zQ<fY2jyP﶑)FԽC&~ە~\j`c}D:AQ/:Ov(Ur*x8 tܑ7:[&Mae8&M4ty5w/X90_SVhH$Lfe 1H3%r*g5yEf3g@cgEA(K+`5U O Q\oxFnyG}^ʊx ](ՏPif]!!1bM@&LQD[~,K@z7eRk)aL?w߱MG_q2]s_gm\"~*p,!׼[ys|zI5Fi|| sD[#+zE $y+N4[YnzjdONncPL؛y\ȡa7^XmP_Vy5;Y,yoO4 }o`.X\lxB MƮ4S>l aw0B|ax;9>n F>+2gWil'NN`R]0D0D5Kl%.= 3k$J\AoMe'7P-ᘌoj4*y~K`H.OBf u75 xv!C^78s041<7I'/|օG&c9#IBb`fmۧf~>R5 )"#BaXx/kX9 F͕EQ%)*aiµ22=g@/ߩU~[rSxl g2"NM`(MH 5U @\ fl74aQN 6I-):,—76Y W> /ʏ;QS]lh9vhKTzףw]2gʊI46Zk(/8O,"{xGFs"6-`Nο'0~OPX\1'FjcV+ wO a}, j2vre d1{TܕI,[zx3bqdaFŹ'ϻćp63>;zսIK"ĝ<l9"^he rBw*4K|Hѫ8G eX}Zo2/o(<*t1 |̟m!@p$ٴ3P8UfD6Mh6@)&q"]mwu<:~[̇ݛsC.Ac6kiE2;jiZn0Kt7O 1adžNBJ.;7ɴ~=طAA#wZGs ^@g`HR/+5@I;z3RD0~0uֳ<޾.ryQȾ+U>z-&LvDARņ8,aHd"8PY[vt.QX*i'ĉsANb<t^c(SDO{܀,2 uXp7裡P-%Z֫8,WZQssoT60Sͨ X812m e^JQatFl\)} " yC;uAbs'@Lel;nv HAɿ:! D #D=cJ'e>_ENAe2(X++1P9GX] y,[X>r;!MJ,y+B'3ij懊 LOb]<,V?J}2iCO(NĔz'VvAƏ4 ^&DAf, f~If IθUSF1LA'AL(?n`Y&4$gЂ^!2#؜' ~̹ ,}rP5~9{H M0!R/W1CiH bN,6DNXW{~{T.2Lg*Yx*gN5M՞fu 3@-i;TМ3lwkgH/;0/XЕ1jcAáI\0 MhZKp=y{yk9jU Fx~!Cx.FH/"z?ydvUuJ, K47@m˖^`MHY إ b}SPy,ɨWzZgc_Օu.âm]CNpI(+ *Z\t_pG vWQ":C/n8 ˒-\-0-xߦV]]׭7>"mbۈ=n|ئ`OlY0[bdV0/f@ !tg2:t:.I3CZ͡NTtGЏe֪C;ƽIjϽh>:U; &`Y[C_Ԯ'# ?%bS17Ө5wnKf,&Qm|]E&~-Ô?_;cg TwHE^d~Y.J4T%.pP3FL.z1U{kol=D"g Yك4{:ʩPKp@AUax d= ibyohTdcO1u@3&>b1Jц1# (w>2y3ߘmdAX272Nm. 2P(Uԩ0AqF[TM!ӋdL5 \:-嬯* 5j _ߜ~5 |~x)#)+YVNOPۖluL'& ^=QHU\SVp/`{umƧZ-Z!H!|:14@)x>nPKݷ%%?5?y#q؜xI]dzǓQ; ny+ި g61׊3(K( 橐y  Fky grJր U|&7/2h$10`'- hhGL) ":IMdot'Y9-8{VC(Xr$$ONk,u QbV]؛lcңG,aXL砰 "6MZ!6/iut@RɋJٶڧֆ+{yTltu.3, Õ*HPE*D?zԐ蝵V4)Y3# X>~I;!M#PfP@)"jFtq&EqCϭ&JkC#0aÓaxy>ҹ(" 8I@xJUpʯ"4ld쨘"`S` 88AC^pECf<LqY&[54N~DL]tz:\ČG3kPԃa0Z!#[O~1^``B- p)G9.H,OTw!>tU+gzB)E۰`GGGǭuW3bPt#=vK k)go$z7Zb~8VZs<7mzޠQѫWǯ[*Q]/03?K+,B{FjERq.ʼre3רF~$"Lj3$?]"Y<;dic%X7hvҌI5 IĻ^ua8;3"ҵCM>$9AfDA߽0O@RYmgr\LV:Qp9{K ?Àc1ypw9?^<5ثtC?ms,ճVN,žqjs8677gࣚ$ @W\Yqu$R V-/Vs6I< 9A]s6[7GР@Zctz} Su߳]vNs.J_l)4cR ζh ]HF+v}Ȁ83>^Ѓ虵 ;^6bĉ,*WIY:T JPQz&\fZ&Fjqd,#lcRg$BprKUS{X:\RmS5^(ّ MXYv}q-T[^.2*xndž o2 Օ7y-Q)!VS[uPh0MCD`&$ &B%Q w*H)RШ>sɬB Ù`Ka+!nwbTO<=L:b|E8m2,'T{Ј>}La1xn FlMt(8-j*oꬾtw;?;'oTl׀Swx{JͺG<-e*LVs~m~;)PYƱIPM #8VsN!Z5<2Э[|$:bL UБNFE ozV>ea#,fHݟ V/Oy<\q_P%Gy|2Hf, L񝉟 E Ţ"m (2z&ʭ^B%%7<<9 Qlv\PPrQ%+eĠBXT$ :Is~?0$t7Amo)6Mzŷ*vVKv[kVѪW@6ڶ?rn+*mIaJg,X JAHa]6|fUiS*cjbfju&7F~> <=3lй'$&do(.elpg~E$uGh}dir0n< i5Ц_ZO*^X uQ QCti2cBn@qauFzΓdLwpP"~yK"~S! SH:K "IJ'(AIJTJ Q9Ah(a'̕ki7+`z9bVΦ1xJL2[> /ɵlz.7 Nt"E3vH?~ {@eI;cb-X]~w5IeKa:F&[Jyvʞd௹QWLc_li;}8>jY X|! Ӈ R? 㢨l-u àMU 1?#]]Lh:\yNTQYK>K ҍMȧZ:<%o+Mn:xGU&IK)hu c1ग#DP]XV7plC+Nv @G5Ty3! 9d5^FI_m׀!|P dJ\ W ̾ U"c٘o2GG]qW-N#KDsXC? IZ (B>v]IIB=8yv]jԓj88tUZ_z!_6( vԂ^V"cTmrn2_yYY`gB(,7 x(x,Y]u '8=v`So3مk}JX?}:. g3+.¹K'2QȄ/O/kjP{!Szj,(5"aD_A<7T59M5Ӳ9= ]e1οpI8X:Ua<ân1FDv)lnqG1cUWa[ϔ*GdC,/-؅#qe<v[q?a)JFJcQ@4oU!_#T5X56 t)n'.fk?"H LYop樸6PSwB! ,bQj6 9)(w,lyI$l)2,IMWYD0*SnO"-{>_U.D#dWH`z ps0,# 2ϐ+ jB T!sLI~gjdʾKCWf/l~ob׫׮0V+^,/e]4lY`rMU'{IOR7\g`ݡwҨA*1[@E:0 n}7K63p6!YM|\м,"f.hQC"%K4!;k~q,˖M,XP[U,6A?K7MIf2Nj3'5Iw;y_+6o{29^y8'.%_l1lv#x?߃̪4zuŖ,j2ډW-'ÖZ d0wpUP\i <>+SԀ¨e@Uo8V)6eGi@tQZ=Uѫ0i:z6[GZW+ Œ2[OF ŭOޥ7akuʻ yYyc`3}*ml^]&eM]ZySikk-ǝOarθtmdX[k >ފZvG^0ֶ%Ro'GZNYkٯlؑZ[k٩3>q9SZKYjƏZ7fGZv/g=ҖZKh}dᨂ<njkw;|崮.nZ^t& rƖ~n]='l؉^*}?ֲ.>yem'Z^u&rb%;'=|XkYm0R[[k9N*rPDkk-=ZjֲRYZm凧h۶ϸ۹x╽N[<\ Zˋ',Sk-/ؘZ> *%/I S{_S>16ǖ6ZU+Sk-OXJo֗c^[kIm;ӫ4{m>^fTav~[NJ[[k9@h}괮௭$@Z~tonJZ~yӲ[CDEykk-=XTeM_5)o* 7Zfضh䕞{sj˓~7psUkk-;I”};^׻;JZ˛fpQz0~ 񭵖P-b1Zk9|FUeϫ;o o_>`hx筵W7uƖ'w[[k :WG/' 3ݲ$Jngޤ8mUݲc|[}*>i [Z'*#ݲr+a -Z[k9>דJۧm}~Ҷ>I1m}ZK9.zTdZA v|xd)smA6ڶzԻ{d۶fMrWhmKyn\n;~ɰ71bPiܲO `Pֶߧ{Qs}Iއ-Ѷ>aϯm}nT k~]Wαo4LJeʥmEo< JOe~ѰJm>W 6ֶ>XXẢ;*eAZ~Uۯ}9 J;Ӷ>AD '+ٶ>a*fmUZrNm}dEZv.wD7Tr{ @ ?U^NmemC[$>zߺ+mdtA_acֶ>ZTmsSmܷmdtSh;~Co\>mVڶ5`锷mO 2OTtD{2#m}וmFg@7YI/+<9mޭ`o8SU,1`l_. ;;L=K9YAC9=Y,ٚHYÐ"Fʻ^˯F4kDM!%l<]D Ҧ $K=Ov, T*J6I q$ӱ dÓe!赠9t,T4EcoPqqF!jw:1=k;:,Qڠaoj￯_L:+cҦ\eRk[=K`Pd/R]}ѼM:}^ VՈvޮV=dXV'Ul\ޭw1`zzr.gmƃ+][7-{]]_S*m#i5&߫\$){XwݺN:0 GSCd&H[419l Ug^+MbDAVT{_bl_, 9zCO!qZ? \&hdIDlЈ? ^75ZI܂̀Sz(ٴs+,^ȹL؉~hcł6O⡇G0*IYK9BF*>N袠Rd$4>XC,_딨 ƛ'ÑJ.zjv!_,A15 z@4\ǍW@֪2+_w fw/|~F4ACRrTF&lzZZbLwY9gg zsp&%DbAЯd'(7X}Uzb89q*waՙ2uqrݛX\5@,fdPW -I:5u|뛇 kmK[G'N2f)dJ0Ȅ~vT6ه0:Gs_ك*N9fQ~%1)bn8_d< f+ ;LKR]^A~kkBG(`Z"rO\uz ֑[6;GYa%l8̏ M]?[DUN"j@u`QJZؐ0#!t.g?tlsggRB qd Hy0Ĵ{QP֍8n׸y qH_4tz~[&8|1}! 7ub:k:jzcGs{_Ĵy7Гxw&?_{s]6o,;cw,{I/JxRIw/z&cy`3l=5a$U#nQHYiXl;"X󂝝uj =lm=^*{%V&Ph,5@Z.#fĞ[ddZh0 #݆Kk_h{ޒpa+y&c|#~s7@ ͟3 &Aj^M%(`e ʎQO[2{>-MmӲVPe _͓o}S2orlo _1ޭɖYxBT1c,8= i ՂcH5׏A 8yeSL67T_;Uk?rASeGYt !"F@a;C` BP!*H`~ll.LDtZq9>BwD*3ß$ѮI$ 2Gʁ)qL#gz>HYEQFWq!^_AxVO@F7P+<-~q(nP3jZmKaN#U(0YτqW+8Ҏq‚hE<=a(~GB,njB D0Ҁ~ڧT:!$V`֎6ikv jur *w=ԶVxd>}XzXoߜ}s( 2KF%~ ˒ ?&c‰E=Ng;%;i5DsN L0FIDz:Y2%(`Id Y_-.}|ԹD(W|++g<9X9(=k%<9ߴž_ԣG+xF>zr=/N'B[e? ޾ߜy[mhu|l=zt'GoOޞ>z  o - 1b-'[&Xqi5SWZMCkZMXCVuzx+VtحwJ2dz7o[V?VRj3ӯr=C] ;=Xl@^) &<)KFT9k[d ߜ"U\|-NWޭhuj]Md6]2}'f3N Zxk^5'E]e7[緛,A{or@2dz2j`'dǘRcAmd8˳#K*Q:coPnt<54v;3V=jGMY1Z@)t006un8ưcZ6l9==G{U`fcX>b3^;/^WA`if'Ž4-<` 8}~$pb4'qR9$[Dkͱt;;TSۀKkc>*)>l x.N3?QnM+^: ?hx%ϵC4ݗ%= %^覠{ zS2Ucv'QdzUF qm^]ϻNoebYC(܏E>'`LvjMX~Ȯ.O3%ұR $&*((E1 =]{%jS+&}A8C1N*VsO\ #Y^F'wG։-PtΦ5-R]pLƯxO7 '*UWgg2yK,;==I{5 ]M;W9jʬЈ6LѕtFݏ'_='Ep2?~s9=8/>,_۵ <ɹVggDΡ$YZTL.ۧ=7ASXэ{n{YڍaE9.1t֨"l3~'g_Ul)jYPhT"ukgg| kZ3QsW{~ʽ{6Ua`U%ŗRs' sԩROyL*ּw!=])3LNO:jTB^{vU-gW~_uخCO=W_;Ix~n|v\U~c\y#Hardf6=g"BJ)/@uͻyY1`R BP\k~] 7MyRx 98+t%}5%%Her="=5X׿BfDժݖuS=4d\IH&iQ;7XK>uEͅ/q}1 +m<\ꊓ>+xyAurWH֕K UgpHpgmj Ct9„E{ A $%4Z>eKkhxxjo?ulВˌAk!/l\^'xu呤֚:}32KWsl+N&WȠ2D ;qdK 8KܘC\frD;Wyea~b8p!~y<śe]X{/g]vc;cèijQ:,6 #=@8p1 vc!&sj|.h6KTa^^qRd0z3%EaMP' 56Ai$:ia(H=?=;Uw _e&9 m ip,SNj+N|ascԘ4$ɗZ~?>_L~Yߜ ߳FmR?)^iFßDW0{*0% }4K NiBtx-)A>F!)`Ph=U=?1I"|8FK(3q%/g#א1ej:|)/M %Iz|#ϽuLZV}q}'xiEs.GJy+:`%-=ςQ,DHgΪpJ a8|vŋ*~B`7%i(iPsY׹2 C̅+@/2+ސU!,t\8^EBAn!a["ᇍaȦctL!JTF܏Avaku%ZDRf']W]TGs S'2;7#>,{Ŭ2Q" */'RZ 6#YwΖ" d3X8v Rl'E%k_J? BuyΓwJ['qIE!0xG XHzV>8ą\UE+dO'&ӊʥQ,8RSLXH._eC@WPa9uFGtSS0M܇TG*K* L{u-J"8q@OglZ-cQ[w(?Q J[a17I vZFTn=2u˅Rj3مQ gXc y,GiYy]9xR0\ZA断0 ژ`#Wz S5\?i e~BY=u!1#DY}kU[`Ofgpܴ"PFcxSP5+] :[_PÖ{kNWem% &>BDQPXS pi\i #p9arZ faIT++H5k,kqgIfbEAJb22j]1gӄU9=vc渋NvzUڟ/~^]5jߗ,Z*>״쬍${`DžYa^/w$UVZc'veY wQT}0x%0[#du|;lQoKv֣V R n2Տ\H$>/ yWqqB |Po1h_I* r]a*'LCuk- uTK){lן'xӭp2mM=2SWqk0v2{ݛ_~ l9`E~ 'MerciČw@Q$)VK;Ix1!mtS@AZp 'N l[ĜW8!uOe<\%W37$fcv8ރm)"Ir'f=g=LS$xYbtME0.oGjg\GʭS6>{VOOh :hv*2M {m'78r_KuV;%j=j#r,i5%=ۢ QA&}%YCUN5ꚶO*`<[Xg}Ɵ?c^=s(NIdND1+f*N 0mdlDt+`.ҩ'~fV{˦I~T^6N4(JytKVa /OxĨ@;31 *ξ"D=_0~mE+tʴ`(E1d@E>62FtD1F6g0D0o<$ͪdnҹyƭ~g=$uH(uZ{me֚I >Py˗@Z]il~"^eן#{ܵ<9}ϛgtGi"_wӛ\'u_E> 'x Ïk[铞g_ %n?57x-X"7B}V=B#S`{3tM >uql^GkUdrw~Oy9C0ŏ{O/{}JV,)Q4YKh9s.$a3/֕]^4چ bޓqAmxJ^-6|O` \0=;5礍pSY5p *yqe@eNu)#B*_^5Wy'YVwݝ*_ۦt8r=vݟ6qXM,]C04"d7c-;Vh fl`u<2$̭1%c fxPC$0֖rgA+AyqQ Rlb{ÆSUvC̐\D,yL-a${'GP ,oju# iI9[!)#qܺw|<&KA|TrFprҡ%X3 Q jUiZOONl"-UqUA=dn\D)H9#ݝ 1‡Fq{w c`g0~v\Y"FndlPbH8_?^ "[7FXOւPP _sl 5\ZU,1A50;š=Oƕ^Evķ))%' —L@3ы<<; J(+>~9;-]^ǽভXa[nV<8w_9MzU 5?6ri|73?c*dCW+UUEPwuߝ>􆭛ig0iK}i*tFN5%_4[V\m#؏R@4[t8 "(з4I 'Z8&WNy!B?_=ފ$g/2Pl2&e|]{M=oD 2.TvuK|.=Hn*w'yչ iFYv~"߼0X1FH,Wbqqe,⾃fv OW"rƀ̎D_*p뢵4%=9Dqt5F&:Fnf>nq č6.CcI}+f/n n)2 o5MK sJ܅zO.lm"xzk:O=22'1 (Fu@8 hܹ~ZF@4SFXΣDPy0]k`5%Ic2s@.aN?'X,x4_(5{;T'¥Qf#2“WG4KO$`/h$V^)a>!e|҆?"GG0vZZ=Ff!MrnjC5,_UQbD^dwDH+P}UBk=7n+:!Qu,UGMM}/?هrs匄~ *lM:6Ga).VnPoAL3'[0 A dxdYoF;|}5ڌ9~'F3zPUF?v2pZIq1P0sR_32M@4{W;T(49ÈMLc?MkZNm` ୏q*_) Q=+$kR#҉5K]hI_IHq,ugR=LV6$S֨{ބۧ(ԣhrSn ƃVnn;-Q.% 0,q"F"ø(&@i *9(+h^p22i$(#A*֬?ݴs$fk V{$$c🶀j(Hj `j:2d$y16I= ;v3L̄XR"^Oǝ΃*ݷdV;&r50|^\aHN8EMg*!Ykβ%s-LOɚRtG\i!X dv1|5d8wy ku#._C(i;597R8sQ: dGG vWŪgT8)PM<6&:r^GVOF[8e(4`dMQ$cg0ig0Ui^TwZ7AU;`ld CfݞԔu= w%AhbSnz[|Օw;YsxhjɊ¤J0u{=@MBJx_O`x71(^"ڟ/J&; R!UARtN- ߚ|z Ar8M٧Ey ٱ+'0ra4OL?A-$h$=JZQP.wѣ)Af̩A'?Y[+@3u[,+Ng$C7cCc!`pjly"nKf3U =FB$ S~pN^ÛA}o@ڣTͲb(+ dio@PiJ uuCD4c9͟)vUڈ.d/灄Tp&"аҳ*YU~B~? q%Ȫm V&5x"$‚(]ʫS:0eP D 4|`%v}qYėlUԢu58J~2+]wHx$͂B%HcSvV ib:ӹI *C&xJ&v@رXh}{A RjF5:%A rɖ:&=SD*64vڕm,sz÷•t^ȪT'PL֬+af[ yos4)G4kf&^ّޡ`1 1uGp׹3ݙI޴.lc f$;W̜V,o~⧫KyWA5+ΨoTqyK%~D%O)vmn.ٷTk{e~d0MQRgfY4hi8a }hZLTw* jX̃gś˚(m3k,(&S|lGd*E"ZiM KqNQNVؒ!},z: lp 73;؊m~wӇ}g|~)߀M Km2jmlGwt;F|eܴ̕v G;(xUjG;+#7Ob7:\}>x0e`p[XŊ.&;U.~CHxἂ嫼{` A3g ^nf&{h7_%̩#5!b EXAld^1 MΑhMø;v,17hG7ND;U̿IDN`:xWWF_&ӱǧ\"ח`pzi1j#;g($4uGn;ҕ4I &4%:0'I-xSofM ,37 ;@5]%v5$[pJDzJrH/xFb$ t |E1&.P MCzX9՞@-t"s|@:IZ$4(a>ap/TRЂ,ƌ oE3S9ŗi8e>M Ŋ.r4gfrcM&8 W(Z?KP3D 1m` ܓ.$14v_&NdE†O; OaA8jjs0836}*6$ \?u 5 8,@֖&D)vH) D*5cN@PZسZ Y`:3x2jysInT@,\-ZŲf) >3.( F`=#$KL/d)&#s7 ֏T\ 6` HƹVB)#ۨNvǁm#A> tYhJHp XnԖX+vGE#@BW~zC gةfͪ}rGmFrhkKLJbhDZ+w%#nZ\,I➼`uI+8 !l\HU|#W˖*W\@(xCO9%얥eA JnsI1(8xL䆌3/+<x_nD =I8( 2w<09 B4)qua"4>̇{ )Ua [WsufDB5Px.ꗪ:HCcrs #-&ױ<# !6L?@MLw5@ɑ# A@ai 9>`M I &¢h4ź/[JҥUF{'r Z_mQD&$ɀt˟עz. [ W=R 7Yj))*-7(;($h&9Aep@uGJn<,lhlGGGje[Hem\,m\zs hv[E w~Oy9 vmDz[F ߡPRk}|!: h8NAz'$M[࣐ATqqnkMG͑HE#w,"*:enp Fg)B;pĀ@z( ! dsyy_ 3 1YτB,K$FL2W<ɢ©Fi2CYHMɠd^/ݔ_7ޫrK'=ē?Rx\BWQ\=]uU]Xlt`=w,}j}9,ؗCH+RbAI!Ϯ vU :}Kl}214㶠 f0> ^\'?ø)^ fMKvݖ =VKpy|9X1\ D`=Lj\ ݒ&HPj7eӭײreLRE+I kY\G؋sH/TBZ> F]9bN/2UuX'zd_^\TTT{'u~w t!F|nJbэ k_$"O#%YVc؟~N17{*qYG2V/0kJh&/J.$F Ab$DHŕNJ#a+`*>GD(S[tH M=srI ౜ٚԸ "RSP hЖ{effh&-cdrW- y4AA\/9Pq>w~Qc`z&1URIPu*rSs(m^@9?VS눱yd>FO |qdT{Xv 4{n#A6q-T9dK_n-4|dҷ?\u ^ Uwo"ikkY.Z!/>j\Ժ}7M "u9;%;IS,f>[|4# r@63+^= M ,u&kSRp<"w1Rj3&dQPDDrq)U,$: HŖkVLf/"c6ROwt!8nIDvz#&GzD2IE" "8cG&tY݃Чʪ`ldV&Po!Fr Ȃ }&y8WKl%bdV|J0LGU[s{H'wlrw_PvMQnëAp f9(e(+jC^9KBhOHvX]H$ cm $U :+XE "d+UFʕZ7w u aں1ȡkſD gLASC"+\}*[`OI|j!qbҞ]3zJ 5C(L(Xm-[ @mܐ\D^&&[G#v0 ‘eIWχ'n]AOs2/) >4hbi9*U$*0f񯲐1%&JD9oJ.hsT"YUD}2)ó{rkykiUS+3RX6ʭ@̠ I$5>FWYD|(eOb(.YLj E*p0@YQƕCѯ5N78Zd;HoJ 6[jdEccCѥcc#ʰ*ɹ8hE I @PyD6&g.anLyP(8ٟHPQșah*^ŪgFײRQOsU}O"y,Ng*R'"Be DQu"S9O: \^==t=?KM<ځDi .wPjumW4DC{k`vYE=OpТ%4& t¥XJ6%̛̘ NqdPGU#)cR ie`>64řf^>YrڿrȘ lD"DLn"1߱2=w{hb(IB?23,<2 ڸL9Z$KCeNr+^ðY T\8FBI,G&N\n@:+@j+ ֗S?UEFp0r^F:Ӭܬ8WW`zv@DeQ$wLYK*`B:JԪA-׉!\{q^$ \cŹ)p,a&@nS~# >l|{7htnU}ut5aa;y~{Uo7z~{M:?}baAZ]髺h'r'|O[ת2Ѣ[~/P/ 5oǭ_H>Չ z4~Oo1m]:F=~s!ǷJU^ຸ[;_GcE6^;xhHR;Xzb΅Ś7h( ^9 у,GhdL'OXY|y٦"x$o(C ;[$W:09 ZvmzA-g~ 31/'4ddZs|(a`,HgҴ~UmTt5[;#Vpz7p*_vv5t)]/Uvxq JzA G.09Gf}ytO՝PbBzqf:;- FEv7ttU}f,d,0@U/>xE'VOdk1r}"ۇ^/棛_>|_0"_ i{^0 0LW͗b@Mw*8/ Y yR bwRU=Vjn%|V .ܩBm-<ӑN=rqAٸG4 ϭϐD,m".AycAovu"ߒ6$6/\}ʞkFNZ1[Wgn[>X&C3=|7mRB!|w[*=c33p7"PvAxm ӑ@DC mn$dV'lʐ)~AAN n:Qǘ5m]&cN#Mk ( /*s/ȴg?T^__Y^.-ޟngy&$WA8AЕy}!Y2dw+> ڳ<>I%:&RyV0J#CJqIHbO{aaWf\Zgj_us4+$P0">aŠFXQ?HHݭWƊ* zǍ dYw+1]8nB|ʄ4Ixǫ'lry=)9`V0Qu G:+;ma>fk͇<3ɚ2zc=u=IBn0y;hxazܿ>:2: ~ 5ZGRU_Yˆ4R$QxF} |NAct=l|49v#_6_MMעy]fOQ ٫滠uwB6~x*7j^ Em<%aG9Vk~77gy7aGz} vzRѿQȧ`Djp5* ȏR*$DYsZ'v>ξ1yTڛ?c\Ժ^rhDu O~'RJLPڻ&t .:;)]SOčk:Ϋ'|,]J`9h=$ΉLE"$Ν}Q""Ͼpu}X]|׼HA-_gwN"l<<.hW:>;אַjKv^Zτv]Іv:ֳ_jH?@|<50 RzDu :P6hM#qsvK`X\Z>ZQ'hc[ A}ǐͰK'%xŚ~ _.g|?>ޞx+YW&z0Q3vZ |GhԀkhge@hXeh S ZUԥ"k-"ёBl6 xo۵RDm*Z 6mY~l^k栵pm<<)cSk5 t/hQUU &ҽ3'Dhg6S/rji MAUt𸬃cDu(~+9Ovj,(whBym;OBICݿ&24}f篻rMx+M4}i6sD檔(xl.hxgf'qw8Reːby?k6sDTsi q5:B͓Ysv'iqFHZ4OsT}t-\ i0vkx̹j/偑L^ t臄Ip4Os܁jF_ 3Yy @Ji+J_9&3-X8ecax/mS 0n,Ēy Vy,➛gyEN$rW5nct^%Ax*nƿ!JqaFY[+<++,XNjCӰ5.XlO̺uW7g9 (7*g\l.h]@I9} Q$9Z(atD]@L+ "]蛹=n[w%LB;;'Q.s n0o Zh9! < 0Ag|}2[߼Ϋ~XH0;p8Т;-{؍k$`41:><-$:0'&϶nɔ5扫 V6D$anɟ Z%X3FPk/b<@Se]ɱbYSEZ׫ECz_+E!AEEAPɳ~m4J?En<]])u,C vmʹ^VCڠ5)R1 ʖ՞ho_wy LռW P$ӴqcPY@*.&Nޣ꤭ǸGZd"ͷٹ ֔66]M~X ҽ%Gk$~ ^nڏ1(hom(Z|k-Z2-("y'fQL%XGX*6Jh[A?DDm~C3㕩,64=/Od߼qG|G |̴p'fli ;k^ZhњQkW,NKyirς#]Y>JM r{l1 b3R9~E|=e¨l(/3st4~gm#51>=We91*d E 9\1'LK랚uϩ)=V̬{IuϠûiV R7EMQi峬,[ WUi+ssO@ 1zꔏf\ʇvVU>E~nΘKeC2F{~ޤT^;ryXyACH4>gcs?cwsB!swzNt^tz/8Z6MgUߨii:QkMoi(~׿`K JAUig%)`v.8\lx?&scYl;lgOSdӝWtU^nޯE`oT3kȹnF}Ǫ&JTч;V}sZ8EszAZ7LSӞ4MS'w.4 ؆iz6:L %R_rMؓux](v GM(< 82kX׃?xs,,r@PsLZʴJ&E;{0D,g(0N\e~kYH ^atx"( p?U=by] JE )!gRH` 3 a] Os@W~*/QM~ݜDG6:҄ eY+ڕv1Ho\/0c|ɷK\ @0ڳhwT>/l>:7ixhz#T@2ms#ܮө]~L\ qJAHaOt0L7l?LdRߜj@6u/"wAhLjC:2ؖ-ʬo5[i7ڵZ` 0I:M~K)ǶȺP9m׍v^BH *_Ì|a\_ B%7ytGAvbUq2 Sd$SGk#-\+Ba| 8{fUOk jvFFD`JFősX&>P&^ZY=}y?7o[wb1 Kr߱H!t)lh5%6wSl 6PN;v38vTAaiba^rQ 7I w]!ۨ3 ;C8p37 Bڼ`7M!jfַW'&}h]>A(+v h1 ьKsL XI"x.lFq[uV y\rUط8H KD$s ިf pE 6"ȃ|Eiv㱮gUBuR{?Um 3_Zq~5U@r#u͌Q>iU? rӞ_ ]Y#LLx-w`h͔/ D$t8lm' u Yl :$=o @ŭMw3*^Gy$n=X d&iaF/ 8E`8m[3-ǹyA"&Iev7 \r# dYB7ympE+HI Cfn` W/m [ 6=jtjdZ6`v^C;HQ="Ŋ,b~'K~ඤQE1"F) 1˩K}q kAl37s9*(aXiϝzPi`2oO<΁r_&"}}BvWH˞9 HT` :Os׿L;MBio:O뻉Tewؒ%5ei(lҡYm7wu躔.VVSP-ežĚ9bB%* 햻@D'=6,$0_7(~بY%װ} ,A'\l]4DY~!3~F_̄q6W%HAqЕ0sq4Sũq啱fb e4v#f+@ z1a_qpRs[k~u%mO={Ԡ-3y3>2 f (pE3ȌN@!q[}")=1K0w,`D , {.Oƒtqs? G|KD"')e6nP*>0P W=_[kNIj0L\Dx vzLD$=Ò@帗تxxuzym8k^]^LY`xU>u9wfh`Iފ:i%p%oo') kuVS~|-sv`Jsۜh*&s$dx8Kv:cpz'Ee\QQg7fyiƢ`&k\V>[ cʔ[d~2 k{ܥf"Y0I( :|rFX½'4fXԧMt+_n CIikI9/EYΟM7& _$ 8=9dQ'o+lOeI}qwy#pNԍA]lgxĝ)j3Oı?n$}f eNQ&]e7GY"FsuFP@rq~"[72 ^a,CA  ֍R 4f1 !՜\f`Yy{Ran?u>=?9r.}蜤x v`1KU/N?0 U $؟ep;$iקќhHx<lh2^JzTTVE~=y+ I=ϾgwufdFF"XE]TD]n:+Ϋ.lNj`")-R+U[-a7Qh#$z+FY-?7W(/jrM" z`5)F%V7ЄS"ɰN3oR>o1 >^_3ԭ}mjo 2)E7ˣ(@zluJՠgh3Y`x2 aE~I+D i+A|/xPQ`|9r֠ͻe$h1Chd! yH[_bT涥\d}zL&T9ϵ׀(z}? ӷb koGEmxRdxaNDto)NBxV]&Ga3Doӣo:C$M]bp4@;Т<[a!iFx2V]@ ^Ͼ ?˷R͂/"l+=ZZ5l̒vM= Ś8I(Μ!BC ؤ]8KަG!`zSwyEmx%Qe',/v#Va |ʰˌjO āb&<1=1ԅy>f(ӆv:)j BRpz:D+Ԯ u&΋LyԠl3ex $)4Jv|'$ab{ONm*VIjN n/.01<{{irڹQw,ͫe, +n3Yܫ%Y: `]MjW~ϣ|&:ݏjhp [u-2m׋2'yw@fA/Fk5t囏8aj(Yœ3mơ9'( ϼ7\g5h́ }9X.xVvݔ hNjB$8ZG%?0WûZ1 )&E[1vqOn:x"(~@b'BU:J`cK%Z5i x^]|h#!yL(f V8˄`eu-ύ>\{5͢BjnE\9WB.CZKH.jEL[\_/W {u3ж ŊqJPC$8xN4TG}H#v'"[J!DItqʥ5g8S0=;|ᓠGyKRkzV5߰[?jv~A؝o?l1=yK^ؤe"m%inxf)u;1$GQ~ 8yς-2TYmG1`H i rTwLf7̃MkD-.bL,x p+IEAVg &Ł6Cƴ{guF孌@5ǚh<Fc3HX^gW)^KRދ,P<r <+:E 'kD9)o:m6-t}wsSˢ1e\)f> Ee,`; ,>/s6j2.+*6{@}~$QX ?im缹mvե;<3sj<!TR-Du<1vF !hEYuܠ3Z<+uc*'혳S@D!|˔IL5\kCc]zs [_ٖ4iqOXGFqa5l|iOCJ]my@/5/{'m$lX(Q9?&9rRw*sڋN_1`ZSS3W~_j KN#E٣ALnDb12 om&Yk4K0_H^, ؙtu.f0~s)^Mj6YDٮJ}>Z$*#J̥) 5H{E?XqvV2B xN:7DGt[EDťT%]a##aZWPQ>û A>xgeh>$հC e٥S4ߴyR+WON>떸@2&݋#.@Hhm>؋E9h 8hCQ3/ 7uYĸGYtBczĶJf"I؝؂g2t&~}>:6x0!j1\i(j|D+l=YJ8ֈ<53t*izwGǴb D=ގ} 8v(D^f2-"E^z8 SmcэưYQ7 Yɉlw >ܟNz.(jq{ԿN q,Z=˖/t"yaxz-%(T3E8~V9~é2f׷ӹ!NLOC -T8.rn9U!^TLjl`6 ` Q#>7[ VDAO\aKF0Y%cCF=[ ća9r DayGrN ı.JB_ LR:cf%FJuv磋ќiuy2L~#sϥy* #Thy[E:**EH΋(_mt+Ldv0@Kr"]hMyVD2晽6 VV4 ՙ$*Z`uQϔHnտW $P[[P]r%k&4Lyc4o[ #HX}r2/)) NB*6˿簐XKZ5N+D : dD<`B>b7"Yʋ.SؐWQ(Y{ lAakB-8xnEj*X-Yvq@m󝚻:u44g.ٵ/)@aXQh YkWekҲcXY@f(bngw [y*H.'[,5*6#/EƗ&mrZew7./t;[stǯc&dph|cy,-ף0%P A;pcNeVJo_-{9p:(C욺Go+P3eDi CSGAT8 VMG Gb٘ 9O xA&v2fD,wB:jt: ҊGP)riUjNh Ru*3Yii\dPjKLޚjuTPZPLϓd? Wbo;_LD̸'* \KLrڜ&ra7s:+ T̿E%Z' ]%w5 Kg9X{8ƼtY%I9͡~~yW}޲[t~pT4]v<ڼPPO m8TjԂ"adb\֍F &xH-7s>_$MzIgso%ג!<+*pǐSH;j8KF]#T#0irڷO(nV&wNaIGAuda,l<5Krয়_Oz =P:wnT}_mZNG Y8u~Zqes[mq?=Go*ؾB{:QbUH@7cj%gA!|Exn5PesCU29'M,P]o>KCNuY(Kj<П}t&ϻC%Z}w=';~o+ 쾶ӺW9kV~-DwOP>aZO#1 (h}O/o!c @:8Wq@9ӯl)8aVX)-5Tm`->\)[_1|y'0&.V"0mmnV"Xg^TQ35Pׯf@ز47kw!ôɄbS;^ty4T]A&b+Yi/,@QUt>ȅ]难h_[+8~E[ PpƣXToxhh̅H62 SD7 j5v$8sAM&PcPCh*.]=}%$ZUKc6n&bSBs"h\]](~F4D[yEy^ :[k/]}d U-wns"תӵL|ް(luB=FȀ*D3{ GXi;J$= &uhI&{O356B(kAukLkB:mf#lUv%sYܣz/)?Qop XuT dVkNZL\4%d+U%Q1JVf(B,$|~neM<)5u*end8L^g X(tt'Wr0a^ EYz˓9Ʊ™w7ʩ{|vET NC;-#LL Z*L(~BvG 2zDSC\Tr뛶w.sd6;LZ"v)UҐO偳2 3pH@pՆQMgY }ZrLt8Fr@iϚZ\:l Cu4oz 0[A Hy Nst+Ó:[Tl>76rk) Ă&坫Kn)M6akr{ !.Lj֢]~&Y"U#u)1  CY&ĦRѹѪ|+C*PʐzR"dUdzW<4,?mWcKQR}9~2a>pܙ3שM^"X@#g/ ǁudc =/aRPRLf` W<0|tENXX;_7ĵH"Sssi&Jq}+9jQoKRAA1:` P}X1|Lt59*.>ngǝLzQ֪ǬHf>.GsVXPlȄ"4~9B4Om4=X8Zɟu_ VEiV9ӗDZelC߫\Gyf9g;jjtv\w}=50ٟ&cg͸co}TzT`3p޶:/`6OCl;9 cзsdvW=p M4IoZ*^MW9Ĝk5rS:[5ɗ#`(XGoHeZƼy4TŠذVJUx ٻ/B^ TFF-^79%­< }X0i,t9D .w*7= cVXr5$=V"JݛX⥌9RXQ2~>~gz:\0>\ ^D_d8?6 Q_etiz5V1!+o(I ګm, ,5yu*z:˽,.\%"G CWмe#Eɪkkj|M+grw,0GIǹ,2:AQ:Mݸ]BKb%L&ǢP 'u؀mÁح8Z}Uz-ˆc-L3U1Pq ɷubˆ KY!J Z z MC^FӫTwd>:z`5k@5Rea#hp}XO1.fQ6+uEvX!} Muk1NcE_B" ^9z!G;]k@gM:gb['!.~ǍB YuWbw)JtQ @!Žf=ս(YYp {m1l*@ j_Ild 4 4UV, ݅힁Fp#0wjK@ʬP.X\51Vb J1鳡A |%YqOҕ)A45:.zj[ګdix uȏ%``5Id& usT{^6"x<^uua4k :X+"]a9uN(b0|C=2a0.Y.&Y(23oY@**l*s@:SIJ !Rs1IGu pT"&업8,7LjRٹ䡱y XXCQAq( 7 vіgqzlA93g8- g8(E&e"@eR)Ե8E:-ESP u'_Hz^+*ׅn8n]\X@0}v$|QeKLîqz=/ј*~eqmEaaH ϦW1ʀ!---d-|f70ブ'4ן( -~@:*jGw"޲[|8(ͱ +\ĝ_Kj rh /\x>Eq-L JBRs2t?DpJ|9ςo<<LmHT88tR(0LCCf0LFZ6>;׉W 9{:^i`rq1σߝݍef|D-xI-xhRwdI|tHW! !r3ApQ;t+יfg'֐R|𪻺 )/#AE9!Ң!'JɎkH*-fULlIJ,j_OBSy0 0b>po#P\=k~Ua(WqI,ƓTzTP?J?t$?3P(ʘ d?0:~Tn,L?y=~rﵢǎ)!P"\ G+ [>› 5G@FD>$;Ͳ!Acrv@gȯu(3Pnc8$ke"R<UV@Zh#BͮiA2pJRde6^4 AZr@8y5 KuH<r> vYupX/'b^B1=1 Մ9JB c3JP27dn}{?\]~e+6׺W/ MbN=A2j-WЪ~jC bԎz@Fh<_(TGF@Pq(10^ XvU-(AӈwA:*4s۳:$Dž:*RrC#S&SQBm8Yig"d#W:heCD,A*EC6tڸaǽ^g!tgfoFvS%2E9#i5A ecKT,ۡ.*Gyb?ӠA!mj˴ 鮶޶T`ٜ}2+\@wQJjE(_f27|sfJ-!2t"м?~O™~V=e{*SPEO{#,|GDi(su,oip;lꀣ"tFo-7bktu-k8{H/UMhVvLf>Đ6s>:9bg8ReBg_PH" $hк&F_Ȗ$u%HG9;(蓢qC㯂}2(n=wPĢv uqS)@Y޴ @)pn92WUԞmjȾsYiȜʎ `~fp=zL l9(_KPc=X͹`0ԟ26 b4棁c3/SԶ"VXrt/_➜0>%z3a+J!x*~ ^\{Qd٪>_9INxO'ԩnCmp4 sO_p5 Ux2ڡi*EM?X0`"@"艊 g)BD+ y[YnI1 @MJr q5# ] F+Nˆ@4)&a" tWvj~5!akXh ss;~;s7kЋd6Tj~q4y /#2*'anZ1'mhhBkp^jT/?ڲVE.cCx=`A0LIilH{hb}%Eٷb)2Ҁ䦸m4OՑg1KY@LuuAo(hcQ]hMS&ts8J*Z%BމxEF,sQEnɲH:ri5u4U]Z^mv>|תYpn]VQB),O1E:Feq5i0'Z݃y0w6$mcFq2ãE.zDS a?<'wf-4w9ꩳ1σ^1w l-Cl%^M<ھj,Q[K4W(!HSE -tmT/kJ[.mػ Sgt>;) iKvFI'V()&92 fP.kZzkgH} P9(Ihا_wpaȍ t]K*#{$):յ43ݎ\u&%_AU-ъ%et󺮥.ȿ U ُESrm@GqCMĺ4xߟo pxmܖ7#« 6࿋6H:Jqe # D怒8 wި1IޅN co\.Gz4i`g$Q9?n|q TěE w6l5Օak튎~xZC(l5 $p'ŭs1jO'f}bA p_EZpؠqr)g}*boYLO->57s0۳5H֮:aNz^gڄ>ECyej?y7|z]kߞڱ'j-|+ Onqk59'xT'6[=w&rY%DܜP!L "Ico*!~?P9{M+(Fb0y%wP3Zas⛈S84}N]DCDMKe.{ď%hs]ɧ6Unk^Nl$eA !/DrڛC&G\y4c?M~sW\rFb<6ȄLBGCck4MwMLˣnODipQLjxAqָwsz;}U7eR+x"JxxQx~m\j+SC@FNYyP_99k3k} ,[MCO֍[藛OQv#Nr2ٮe;UQK^*$_Ȳ@K9+K'L'sN/@2YƷZ54g9k4aA!ϭP5eEk8'dݨ APX;CuK5tSu B\^_;16O,C")`*S;elT8=?c,EH$*O=+CcY`ND)D ȧo6{E>o?~  Ql2Z!Vm Uy|=0Mڡަc[Ԙ`.ɒLwyr>3YD1IJ3U'u3@@1x`"+τ[e6dQ>"qw:r\V-:?2ֳ։8p J m3a 1=-덏Z]-Ű5d:SĦ턇"wY*"QHV>图19D%0ksA#9@Gé*ܝ3͇pWiĕZ *cX{.ţOUl>]Q uy`XM£oEoG=Ʀ8ni7+Gݦ0h8 ƕp@&Niy5pAS0,E|, Ù/:؃ řM^j|?aض_.!a 3#=l;j{x-iGo&55Dn:'M? 8vTdÒ'j).?UA]tlrZAb@%_Hr[YGxu Xaҋcpsa!rL%^.p14ODb|{9X8*XP;Y'bEh-tt7,@f{u=>=GmBD =-(hK@_d -2\jVO0~8VMpL.K 7MʵȢM&ew^_ !J EIMQw'cI)fXsbU[z6ְ˽+龶㫋`:@ۗva{W2ᾶm^a}m΃/ h g0G:h) ԅIL9@ 4FOj=}i|@Mׄ| :ԛJ*&VRɝ JJ6s߾A!*57 #7ڹ^6:EHYd` n$-WM>ѱ+H}߯..GgkGT }u:B"-tѫ^aqZhmxK)eXt' NWo%;+ F:k&A֜[Z(z6TI}z=%$M;D܋̌J/Nb|i.D&WX%aj""QDQ\l5[ȖiihMg ^23hDS&S-̣Oeui[RNJa Q<LTzƤ:P+kmMO:cw8Gk`mg"ElFc8 h4ZNź]|K'4q#w6:?_05i[(NKd3E@ 3n^oS%I-<f|vKU"S%״ǺH]q05d\Gyعx[ V.%(6/u2')Δ`mDs{n( dj7Dn ʚiӞBXDF )!XLsŤ*!3ѾE]'fS W ",B0!= \kˤvWB"z$mqԁmlIF)`.( 5zJg:ot+`JDSݦ3J QWbJٿp慳2TŝtQNgydL-|)=<*Q3`08(b=tPqQ bQ8HAMs$?nsTb 'ukgneS\vξBRwpDpq4mġX*.,)Kh^6ZrV-mL;Ύ%&F%C ܫZwu {y;,XO3nf5.,Tfr[{``nE|yejNPSASK0UFzFD3cc&Sj0 \''q畊$ q3s5Sz>|6lcjvه@;viZ~_Ϡz?MЖ;Tܹ+j`2Cd`HA;gAWJ_jCEA*#3J"Ǭ_B@?CmGUg:HI3BwH1`'TUnUpZZЍL&HuL,<[_8 /Y2 =N~/|-v;w~v\9,(TG+`oqË^ d L>DgfsLBuy^ٔR96(M+2.Wr "Z0p0WL͑˿ݐ4Jvu=3Xlu/^0׃l~qu>,e^\ځny9Hd ϾrT d3|R9pt@2YQ|ģ%@&警jmv֡ n&fJ1Mbi_^F0x>)Oʮ[a KL.=N;P'kȜȵU84f +v&#Ret%dk`[I EݳV :k< /A*$R#)y宲kH0h.<~TLnP~çT~|yY{ZYU[)·cGW*<*J9%pa旣|}_>r7!uo幐]ή' @NSF;O^8F]` iW:2vH_H6j6C]5G δ¢,RM;@"C_mfZY( d0uxi0:RxlF?1;3*YwZ@o(&2].+|eŰ|So뒅:-|ɲ2aq?_dOGz^DZĴ!؄5^yqNJC:cr1wشԸWny=6Ig *vnuMXe2JVwZd.8t0a#ojUL1ު t4+68AՌG3qFnO>6>΄(~uaMQBp.0?Ɨfg=`騑 jCA`\j%8;yՇkb@HPsL]c8Pzr2YhTUlTڨeSѹh8b4ׯ,p'fYK,羕ONG%vO_@OJ4dz09~`鶛b?`QzoTOI:q xkTus,!ڀR</*E":ZޤtQ`FAǹ`e!b4 -V$dDr(,-TB PMoٽ+5N?T-S@]/BqbL`(w#߫9F="%K2oQoiJhZ$b?Ty<%~w0$j1kִty47Qiqp etqQMՌrgf&<ΘmjxXkp=*LƍӚ Iu0KHwULl`<Bۀ' %|C ;|R!AaBwj0 1Sd8w%DO&6G +q$fm_!ƴ?EEl(F>CGl臫C̫IѡK=u%7OvmzrRH`ZZvבjbI;opG B']9ny+w6[\{^X40t T{\+ 48d \ T@!% 8+Nd?꾺;yT4VW'L9 264.$nnl@! ;MA!69@E aL7S暺U]˜Zp/$0M.vЫuh>n\G.L[ /P]N6Z|yE޲ieߎjQ86]9#MΗBqhn}Aړ[g{2֥JD%F ,Z`vׅN}Ӡ3| j9k2Lڵfhu?`FHDz"ע)E1$%[fz )b976V@/2Ok@`ȜF' Uic M0H?Be<.!(6725sDRmGخ2Zl;ɗu} ~rM뱢Ќ,:&Vbɘ{JQF3(nV>BfwSEWMcJ> pQ?/^ȴ ){|`#GoPb ˜]7(n*.3$31[#_Jsr*N03@Q}t浟{v@u(%IɘeHʁI)r3`rB#Z,qcY-~gNbġ ]C"šDGu۔x?(YI퉤]S`'AǭN:R(se:z͒b #_:Ng}. n6I; 'Pe |D5$tEh;ޤ:=0bAzĕ .PlW4OHխ-ExyE|&97Ȏh>-+iC s3v̮]C'٤ʼn&Do{m \E bJ"$nID됆[Lrk0B2·%w &scB>k]^ X:IA8 HEnA" {EX"@/%ԇN\"6]<(^a,ٽNlacT CPOE&0 Hk uJD"qZM;UcU E̢N[ W=1H:+rm @ڝĐJ 1')]ڸrvKn&$q j&w[E_%xӀfkcbӑ">B'9EG G%H27<_b>%=kU †1C:GX]f#, 髐HKEPo< 7o!#0b#ħU7=o70V#asDKV阻g<:#XH z=UuL7f"/"Ǎ":"rM+۵INHB|J*@ ՙZ+!㫂a֡ka1 TI'ab×&+}8QJRPULZРx?'6rBkbVr<'TU< B}~ }. Ýt6,Lh-%F~`y"xK`S]:W 7qNoN68n*t eq*(CQ@3$&gd:yy<.hwe>iAҾ6gz?;],NL4! ~,W!vߦv AK6G+|DhAba3a#q~F@s4N|: Bm+Z⁼t|\{]QcyDiߗ0‚183 +Q _''/M&)P{hث{scp祻a^t@dӮvf߻VA7˗MtOl*f |op{Qz nA 6]ѷ{a92AJ)v\y[$r69lP眬A]7 Wļ Jе,2Q=D|~**ROV?9u5ab҅dbrNaxc)RcQݛ bnP^(0,[ .e|E%t+YA%OK8r4JcPD(-彠<=!]#AKd *Xjwx+]q)Q'64!ʡLV ]d YRgM*rK%mSS@۾1!Hd!:ǽq77 t^B4'2& [NZcC%y^M^N<,^K|*y!X#Ț? ތGk"(i{WɝBe P4x$w dB`Få,aUx4éCMoY] w+h:!e\Ӈi6:D]bParh7 SW{q_ђdmv\gZ" U͆oG-UI3J/ygo`?/gNjm_a_4S O%V1KIY~anLcS0{27TRZ/E%g<KJkQ"sYRt:napCB خMmkGn;6`x̴! T% 7m*۝齥L6Go͎ߺ> U߂K}QD2C+Gd#H&Xs tOY@&Vn4H `zFwQ@H.JgKdԧ$a>wQgeun)ܗ8f^h_wȶ(§7&]T?_~Ӳnq[,_ۛW[ebƸSU }\;'+فfB%CmBptnW* Kc=Y] UfxT0lm4bI֛~=[F ɫ35ئ˓W];H2Tl2Q/@&գ}Ik5!j7[B]Q'bUt@1bS "N,o8pђUQ 3u֠{'>ȵЛ <$:9WIEwާs`O@N|M ;g8 ]l7ȓBñejT{yK~X@M캑k+a@S/!o$1Y4ڶ}A2_F,N2m6f+P1EOZc4xHm ,yo)Щ[XRu//';:mZpŻu1">#䳨8|҄;Ǐ= XlK]=Yx@_YDBTIB,mJRE2u4!Xd,`rp16HD+T|2$yhg_Iy zdU2gFsd%F5CpદGϝo.ߡ,ٽ9>kshC:ϻ;4ui瓏W.nҁ_K /I"u+|<q̝>,V/CMYu݈D"1_`]iɂuKmIg AzJ6X`KcQZY!5ڪFuȗ2bȶ,mFU9s&( mK}k &$ S,V| 0*J <ߪ% /.&2)eSOU__B>I#K !l:bfy0WMVR:Յ}pv5G1OhonN;(,=뷘on&@FSEef?9+hG q\>ezA);LwY 8B!44i?Z0>t/N{}zƛ ZYw!d;+;@!vM糿jVu#;k?]8k37K&ZZhYŹ^WtY^:]N:#3D|l<>A*1APhM_.w]Wj+4͸+ kOЫo"-*;Ix~R4F϶ ;`2vy&c[Ķлg1T&\ob(*RBJ rNcT\2d6/SqO@!o+zVT%;k/*ܟ\C&WZF"BKh eF}rB7⟄/-R~y[VBpRnul+n!+v7W]ݕOAE*L(hBh~\mWGͯI6veNecA hSv׆˃Z:H~-$:0\juџBZs#Vl>:غ)ǣ ^̄v/bt>,ZzحRh7J2ZCͿ`454Aݢ@a(-:Wp{|d;|WRfsc:鯪Ih0:қ=D8aXmr391ׁa=]w \P;s$[2X1s2J.R iBFec i6:!T\pxƓyy~7<!9J}MF)zlo6CRfJ!B|+̟t}+w$8 Nc1B\9M4N?`\=?3C1 )Xy3郳bx}uޛ)g2fc*! <6 H U@CR#u0Aπ{.7dyAKQK?Ez.&LۀP M=_? uQz_vsٖDX ub :qxHp+u`69^Ӧ?RZoS4/.,!i8S ܚVdεŎ(]nQͽ(`۷}R"e[S/;o*T '撒%pt:cK~:l4gK:3q G]lHsV`HF,8VjN*׫ҺȸTQ*) J.]X'%(" Yz״}fCļq~K5+DQfn0du_x@\n|FxOz11Y Af;#@"Jd$XeB*9(ޙF.L:uKfh@c*N4+8r΅6DeR:AUer&|EuE>9R#شչEt|J(=Zɑ6 I?!C`/P s;Ѵa>Og|6k!y`AI`ྰkD+J5%|myٰ;d=kF4ta1r.[v/]" sKV2n x)>R5jdv,tԞ_*yp Z:ϔsZi̐cH(FLFthq28`ɈHPi|9}$2To0(qJiod߂ ,-!g k{Xb>jmTs:4kCR٧^ob_y?Zsv.nYB|+Wf'a{e/o9XW>1N Z_Jظ(/DoitkU{;77Uf "NS / U:~{cWpvGp[jBs,Z˪quQVЯGN)15Oq O1f_S'qR=k..kهH~HٮdR_nhw~|:-72^\`w{jC W:9k>HMj"t2׌5V+Wm-FԞ.i=D_A̰%5.i=^`S{پ@h8\[Y 9؁ฉTwIi㕽dL\悻r>}b`O9ؓ|G_78jo{E&fd9T l>s,AbRJ۸uaÝ.C%VsIs:Zm\84xY:[s$;H)clE@g~l 2.9*ׅ.e[YޱҎY'̅\q!v'#LS,F-GH;@#d+ط%Z̲DG3C&׽ @U*4$sggVG`e'Oۢs3>""d6qs^d+Y̱P>WFTB(Pt7'RDY-uQЭj(MgUtaCqtc*[h]c7v߶$Aoz$y%mꚡkfK1ha:{\L54s|]{ -DDua~deixUb#' 7u1wPS~Tn ?}ee]h]԰:)ᦻYO?fq峑jH)񷚵ֽYVN ?WO4>y{&Ģkb.{>8pS[{L9y<Xv\בRC(Kync9( ɌDZF׏W izeW1eA9TbFp&>|9@L28X4;ζ:wP|?grD7*9y];w ֱ.~Z7{:-z 2~t`K Db1B/p[ kvz0}v*3: H>@!BISREե 1_g!}uѢeBpf"Н<}"k!v4~8{3a:-SJJDO!γQ`cohfݬaPSx1dwF olգ>Рl^ 6͖и-Toe=n1W0M ("~0<]&zyB!ayBVJɠ݁ˈk-4Tg6fauޡAކmݿPo7*[PMf̦0Sd/ø-2t —76`Npֶ" LCza˾hu9эVaE{[ T0ފz&o OԱЏ>Ԡ7\?Ԡq fаZrJS4Κ ;oȀouιy@]vWf˹㾷ek?!qgHIpCƴMQ1哑;t4$ɖ˯`2hhnNnQ o"S}Uj AYmDP){ )uNWQL_BCˢtQa4GC]OjUjV-@$SY76.IPBvٯG$4>k :W.JvȒC9;p$|m/RR]'ɠ3с U #5uQ@Zqz3[| ltƙQz$9 SvqGdLr;P5ãC@ԟj}{ܾdZqf+ƭw߫PsJ+λn q*|HQxRfԙW` 89ϥ^00𰌖zƙ1:WbrJ9KTOU+(v lqI:e.QPC_5OgPx/Hmxyw+ Ղ|7d䧞h/gn g(A3o1=^٧}7l<̭K'"ƙ#vI6~!:"sf##ddq )t 5cYHBaZeuΤ$m8cgpݛvmkAA)Seߨh·K̦kGmCJpqp4zezHݔDS)&b [0QIjE.atȩ2_[[>,)~˳_8߼|IΓU#FB̄`kAVQ@h^YI\1Q[ ˵BZ*c{Atk!s2W~|af^y \GÞ޽PAg^)- γ=-<ɤ7 ~VSMSrf>x sqƖ݇Z(t0 ,a=mQ3j_I2-K.e(1- jl8f6H3]r/*%, acl%}9]yסMcj<TIѠE " B=];&,ty.w9 e;%9nCP~Ŝ .h1Mouch6*]4=,8Ed.C{xñ6wRz4rcn[TK0yf ;P +Ɲvb"@C8H%`cPyM$Trn{eE[FC*@Su(M!#UJGK,% n\hy_bbc(P;mw)cs{J|W5櫺5ޝ'G|;yAxn-"?cJ}}#_9[ꩾR_.u!vzގRU5gC)3؋hA&x㚊elJeaDKn z"ș'tK sh*]I{Lbp&U`~ &cfcM vBi"{n]; HgFN2V{nmE9 pTNd6VWdi|ezoıYg+ Ysfo\8+&^6 &o")$}vlن;WۍRnbD(ljN[Й>D~nN3tH +q_3;Czv<3q>zeawFu%K3b F> >ZHF0C!RZӵNCVZvLR;^ )꥘y©>K5d)d!VcD_9X÷ߟ!o2 ?os $9fh!l~efAZy.+yKvO;} KߑE HH;Hh&L\,j{w&)p@p=sIۋOkO*^9 طUۇƋׁ>?JG92FR9ŹfTMG#zbx[fAR/%Dכ{d REݮDfmZ2? <3@hM&@Epa1l) ^YEF`L$[C wkG/NW  vD`]ww BKXZ7״ڮ|[th*bgbVg=CxS[[9&ekSֻ2+TՏcotVmĦma2^l{X c}ZM"82ϊXlޝS&qF$z@gt 'q6gI3T G0]%u=.g{^I}j폳>&[zfۀ ڡ!&oT-h#Qx́@zV"[2vQ{kёPa쨑4M&#K.Ŭ,7B+t0qvg<\r/r(%A8@Z3MzڛWoěG7%e2 !|o>ŐQY_?gFAO|Ξ$='7;7OzD?Eθ5}S'JԅOd_0x$]!vq=Yo:}b  ;9h56^wi&t!v*^v%>_Cl rEWY/&Ϯ%fl)UN0F Q.%i§ds\,U"x9  1s*g<7|خ{;*x &**(fpd^a?,/r.;6Nteqr]ʃ}~R8O`#T:6(Oq**ajhx|yHab1[qՃQIfߵېy1T^Z ֋}{{ y;"hœ7M:ޅ >u~w[f 6 Zum&DhY(еScHjKM+t/Wbϖ@8w$ hA$Z].N:klo^zc m)4[FU`ո^\G.6'2|!:&zW<*f&'I]F:;U0UHɗfB.츇2—v{8FֲT&^ҩvnn FDi<%[$@j8Dҋ %_+m}BM8'g:3,ab2٭0x$^$WR~EFZ4!;%PijO?WuTVsr=;˖էJo)DH7"u+v0S9VNh?|'tl  XǶZ¬*ƤzD~j9կ}%e'dKrW a)!KS]zqKӞݏȩ٩vVdu'Hɪ)E^z*;F#πv-mIkW_YrP נXgc EL; qNG**6.Wh;.s]BP}D0h_rEY<΅TZp<6.+]yH- pX)UjCkݧxk.JOQyS(3J7h|!Ug<2;x7-|$> !M L.tm F >QFETF+{?(O6b,ؐp8TfrXk_=TZV!X .}G@I"mGBcPy8B( ie=BT IJ$` |^E` 6Hڸܥhʩr_mMЈ(N[f.ӺǜJvq=dj-`& sπ_g>pضRC2 #hL)Y=T/V2P"9W Ľ8` 7 l= V@6iFq\ȋ mt;F>DUYX (&WK [Xj9q:guD tā6ś]J>̯J6 N@ noL5sM(l|ɑꑷq%́:}"LM/GlcsNPR^n'4Z] ~N2 nFƅW=3Wʱ]P[N(ಳ +B[ PٝTWB>+$z{n3 6腚W|Jw>dtv*׉S3Q:LfY4 Q7>vKm_)e}c_=wӜel9P%%?ѮBfD¹ ʖ84%cWR } U9r~gJ<^/rh|n`#wb0o)1-˩y/@lIhQ *Uؘ*`;Qy22*@ Շ:EM'5rgZf6dяzr\釃=иVF[.bսޒ:ћνZ~"DŠDTr=K$ vv>̡ћm".Q6zb&GH#N\t#\V>on|]X`bWXN A|ޱS2QW`5ueߦK#4Ⱦ) dAOR "b U RW}]9V{wl>Th̎m~׺Sr0zl.m]CN+vKKk gYuZdDX:]=|:-!تx2Z+!e;dʇO[U}We| Q1.8QD'YQk,N"Co.?upmd\ZޭȀ)?T !SaFE w7pSZVͦyf6%rץ7rSY e[LQIxQ0 Sݧ O(I%LS`&nV .GXY]z`1<_)/q|kTM}rD%5s'.3i`Ua\qH-ۖt.c;-gdb!$-Fko'ocfQ@Ǽ(IJDF:| 4Ƌ,e`÷S me R jf}1oT䠬lUSo&7#kN߽rY<8 lzfinŰ%:eF v1~ldc]ӜJnZ5~x$_wY V4b~uB\7 jbX7?ڑkr s;S>r({(m9S)S3#_#A oRvRBNOiU3bHD*"0x:dG!(!Bb@>!IJ&6?sU{~1̜<7dw[mo٤xclxcW{uKVBL.^?^ZWv<9u7] .|_Y)ȥ^~~RHZCD覠c%Ņbtbipsr>!_4ǿ!x , nmP7Y2u^Rmlv'mξ-ctkOm@?Ȕ6u$gy6hŷntY@)m>its!ΏI/<Be@ T]#Nwq#VCMre /qeel\i,qC)"4F J[>A˿]8R"3[S \l5fڢLhP%An^NShG_~UuJ\w<8AСĀ)?%R%:2N7?fjal=%m)ep6$@ BCk)!#Wj6Rx4vmq[ 2 ߶qAeEE21{݊Y/BJ5^ȝV4jo$ʓV8su]D1{{K"qçxΎxD=Z yq$Qvh}o#69YR9v\ 3_lmK=?Sv~UT|)vhmDn$E-rL|g[pe~|wfN}g Wz`A7Ҩin+tQ6Z}(h44?hWǦyָ)tiڷYi3mʽ7maNwѭfk NLM40m5 zyF[ʹyƟU7u䟜S3ӸNzŰm5\T3?0਋FNvP.ѐJBʂEMUb/GbēexKӫE&QAur0 4Y5BUb(DJߪO3"C ,5^|đ׾Q0)`U3tG.)Ft#Xrrvb5Pϳ#*2ZJ&(YvZMRLg[WuR- sK/5*QFyMORJ*o|wXYѶ߫B|A,# k{7}:;2zԨYZky:a;3bcaSR឴j$ntu(N-"HTD`.PݒU2S+MF Eusq:+<եM~X 4@$KXIxcETclIOF.Eq&zǤؗԂT聺e~9j2}D'4ձ1AV#8F 3q"ڑMz6;Uz k͡QE9هf $[``CaqNVu+M!FF9X>OHllCťR7NtYX*R/ۉu`eh:C\_Lw4:hƗ6 *jpX%6IbkԴ[FlgŪ<~+ί^Ga!N/laQb-$[~KY2֙DVzM;j. wDQ&jḫ3cSg;q;J%{y~U܈"jӠm|ntzSµ~:kͲjjn$ gB, Ngihh#%G_bD' O%$9HHSȳ!Z`TXio *ܥ),e~ý}-J9qr~h2` ތ1[  c_ AjdAѥ7lu9X+M1w}`ϗWEJ5GR碊F' b630B&S<] &Lu3% ] >GW GONgɠ)0(fRRPǃ2$W3 Cc0,#!WeR T`m%D-4$c+o^2d\2B&qitb%wBdmiZf!qRV` xo{̸& DE KWF̼%ފhB*Nƌ=wCĉl$'Y(U ~rePŒ  * 5jR/,/!?^iCæ]8O7QI3Y}lmyav8דC ,cmeQ\Vqg2ͯFϟݮ#~Ofםp ? U8řbJt@齎onCW)^y@cwbaLLۏszT G)Ԯ-В[sjp*0ē?${+]b[49NgQxwL8-}>,P?u"aw%@C}-"F5#S"]\ K*^p5j#Ejvzdys&bv)bҀg5+ٕTKߗ">jq< Ed4o;=%Wqϻ -lK6Q Ϲ%θ-<{ _t"#qϸpʣ%R8m)8ا?z0Exs)tbyVE;LzιRu֤Y#ëNsvO߉Q>;_$絫y1i|nB`Gfo@>fx>(ItꡱݟdUٍI{m?S"  Y?nS!i/N8z6&J.8^e pr5M"맞2r=+cTtz mDug͛=݅߉Gb>:םw_oT{$'u{:u^\mnǛ c-p}9{Cm,=y}QT'%5#r+),0[wUvS.6EpHq .N-PJry7f;w J~Fo׃)V7ϟ&|;u.gއO*x|;?z9Z>j v>ƣ)` [[y)Qa}ggNiGy+^)T`mW>'RD|Fj_M2\@>~ ZfKrFL@7~߻R+%@p1kW :dAΞda&}zŅ[.~K3bx/%)Iі iQt=홭;M3@TdJ94 v12<ʁ;gA:ڈ&}Bms}v|e_*u? G˙+ǭdh< zC"a!-K]Ο}:Tjb|A5?|jc'\= 0ӈ jt{gfw̌0.$09k&W׳zf(ׯ72 qo0mqOGNs͊)y<+!T{*y1u19 0匭s1B၈ h'If+̥q. +.LaS~ X$\.<6-k:s'iYwH#Eֳh! oNKUGt_D("F~*ݺ4v֤^DC\ e2Rd>V-a2Xn枰Q|[1۩ ;Hr:op>gEHM,Ghڍ6LK)u4.X[RQ4כ,B 4ǎCuK|.q`x) (pw]YjS\L nJGKN `*NWEIE";>lCd_o pC|1s#MSvP 0*l޼qW}[.ZF&X\4(&8kg#]P]eVNU*U]M eMt@S}FnspDmrG*̨E( 9kP$ں45]l-"ŭ(Ÿ#amӚQa1BNl[]:|{òj1#6[ՑA6hʙX_+o2kCIPRJ0Tl FfuE\qX=Q䙬N6fij`]h"L8v1[,%ߖ^q!]A21o'.P>2zm c ;ob+j~, r4.mMq'~0S n"5HG'V9.g∤bw{^X)/t6 `*דr8NǘQ meN9<N pD#G#) t +Fx y2hoY`_GK񚋻mE=Nb2EGIX/+'3^IT:ZxkJ]V\^7fs N\3(ʴh4-m"3P"b[) /wB*iQ: L5qE%|BDCcD(UY@8c%"(rl^I|r_z^se] f" c(Mh?KD#" sP Èy:q0_UQ2KHG[rrzJJܞх!:ogqK#ʄ9EV9]t@39è(ݖYZY!{/k>N=o:I7*|G7 d tZ˻37q ٟʼ"*1I3r؟9)ui[ "Dq[c~)M4n!zqg[ZXdMuRP.)'`]ՙt֝M 1ȺTbwsZ`>:l(ergpCsa?.w,4 ѯN-3uZ)e[ƛ(AЍe6ԺH47XH٥_(?N yɚKҸظ 2`W J[{~M<^: ˤԲlsN±J.bXN C0Yol_t+#5{ĐN]sH/ׄ9iFw_wBwl2R rDp),4ٹePeT'zr}+eʓd8J@ Hr$z$5dF[^q$.:N4%zc.t7.SXC_-;t6Me jS*]C(lZDmsfe CG(@"s?<^?BZ ŕ+:"K:YIt>Fw< r62Ot%7ϒ⻒DM s2wK6 M'Unqh*AS>E 12w^|ZFjCS[g|"PLpȌ!kg U1VtjcS/^ibUGRq܏4K%50jrAM Oe `kzbECՑ&l~qtXae3JiqM,jm ωV!2&+JUF*X()4"ƴE h sx6m*>loyvGcw0Sf֭[DCT#-|n 0 >JH3ا(B O%;F5$=lsw+ZrD]Y^%RU%!^/tjA*1Xf:u /$譈wUNW'!Qs%R=擏wuWzӕB$:=MhEyGm =$@(QQQ8DkPtɓGzJiA~ԞWߛm!!\̪v7A4,^n?ֻK9rП(K |N( B!]EwP}5s,gt̋`wyBɑz7]Em^}4w>}W.ˇ`|tO4 ٿw,9|JXԭ5@-3r:;"5g&IT/R§u&Z]fwfk|q+K#hp:<14Gj6e\MD`eL7;?Wj`Tj:Xž-YDHķ\a+SXH(|}Wfj}" 146Wlgr Tko+?B]"¯).KS,zM;]73g,zWcn5w%C1`U+ 7Uǭ&ǭD9:vH uH!~ -&(_yَN\άaf zf8WZ3|-e~_k{gּ4fҮwQXO ] W \8b<_C i71XnnWŦםNa=m/ƢY%ڢRF2c`BsFo2#T?(J SP?Ms#ɞu_By8Yڃ1.ĀOhVxAz"^$\ԠQ;#i`+B#UJ l1ρ`# ۮ[ꯁ8V*WJ^R[xYVDs =nnL%Xd8_(vK} wuʻ:1<8 0> ΌM<VJdW U^|%7f4g5;;#=~ìJ$P,^ a=GʫC&G@DTQa`el\/Tc.ȼßnYQ"߾83طG [chwұWZT0yC^wE+͚ ˚6ׅ^n0Ѵ.0p A}}/x`Z 8)Zp#tklOZ Tr%OB"`x@2u( 1_ʋ&Q\Dv{/±H|JtMa/#,I#EpWx pPQ h aNYN03mn HF,^īB4%8KfK'%BWb>6$$jmjyTm bމdSCNQ^}Ɲ qZ/hvrF$|DagɀKn >MA%{HYEדIo8k] `0$gt/ER0[N<6_h `(4]f~#ۡهߛD0Mqaao= ON!ް󎎶[sHr2H%r&S,+it^p `Co ~*74?  qhuʾ۩#mT^NjV\Ou&X#sd AǗEVl124/ӓM;5"N8ytlBvICṏ[=aeO~^KcAYz}GVE|k)x:5emmlVGE˱*ɣ68IO"[?v/g8$KCK4CS>y Ȟb'u'=|slI,v|掴mކm[ OיXo'+}!Dnibb7}[I>A:@ 0P}K7vSzHjfֆ&xh^]\|B۳(-N\77ÖW5}ۮFS2Jxmg:ӰeiΊdR8|s7__{,m?N&wQI3I3;-WJqs/ Vc7OOӪε.g`M_EVd@k *v[s׋*ʚEw/QGTR֠b)s߽J4շ#on+u -t l% sjG) Xi~P%L (cϫGM446޻7n# 8{+$r2={i+"ݏdji yLdPHod#BU*ÎLݯ$zo;q^3y)6QG+:Mx΋aC&<"<)xy20YGx^0˄B3KO|iFqi QpiFf ^ebL/uGi*FB !"` Jr{/N$e/7$mtRd$ʔ%dnͲɝm|CSTe$nDjh7`c²40&K+DHؙ&Xhlbټԙ٠p儡K´".MM44Y>7 ۵vG&[ʼnIX%M."Tp}v+)*2 źf JzMjs UҒ9 lUYNƶi. }d[cV0*Z''gػR(-?-NBLr>3v<8V ԧfs杉>Eƾʆ?3:c[{ogXV vJO"Xk]w͞I񂗴|f:XG^EA9Kf<~'`$Ǐw~䂞 z+V{%RQFUR `rj*ɉㄈHE.SrnM \G*K9n$/\8w|va ($dH]Fdĭ;rw!;Ƀۍ,;.u~@ױu@Sg*sA[nܕɅ5I#|hs"|~2O <^Svwg-Bbg8UN M%X3ȗepbTv n+v$:[oW=_-#ioY{nwWǶ.o:!2+򑝿&N4<x<|vcՍT=Dy,2s 61nV0ryY'۵RhDh1 oH9)a`uc>|Uo}buɺQ&aiw%)#Z +J$αTt2ǂGch0 碮vtR yKtH0 s1<.${rF:vgN#T&,Iݭ>oԟP7>`P UЍ15m,/"c->FTO$;YN/`PHKʱ*V8% U$⍿PW$LKݶ1{/F'z=.lc#i;e'c$B\#l3 FM" 2gqikCB%6"Ӂ~gpaLieǁBQ|ED3 ǥ𹐊[M9.$q6+7P%#_}׀*cRb$WbUK#X5?Ǒ ~0mGI.fdv&أjNLؓaP3-7-T5m@25$9p5@(D]@8i" C`+uj O1@vZ=bPrH& iifhp[Q5h?4g]u}*I HÏEFJ5MRA)MSnW3UT`+=wP쥰C*&'AqLs焷36vÁwQ@^cPKzT? ɗ%:+) !'c?>Ӏ#4%QWCy%VbgW&'8;/dئg`S^֕R т8rhLlG|Uuyr,ktȶ1w*c6c-BwKNP@֍!hqUf7xWOa&Tgq}OFs|4h{o'3h]i$tFۿj")~:Ji<O&n/6UaŢŮz+xjRP l{U"u'lNf{1iBYAth,UH͞f>;QD,?L1-k9f#f $+L%Pɢแ x.ː Z n#8͍$۽;.9툻D"krqaWOQtzW9'ŘxJm! EنmMlmr<Umno#ܼ 3XԞJh_k$(3F \Q C1 UxQ`r-O(f(TL'Oq}vWP5#KVmdOٽΆ8Rch9獯f!; 0zdzV%Jsõ>g %fÊ1ea9JP,너~ECk0ʰ:c[7FS17v/[ 'v?G0MpcS"s\gEώgC*4ObzdMgB |5 (ľׅ =Q1nGv*Qedv3vR$|œfMGU7ma+1M_Ȣu~dmc3!NEnިkH *?5gBfd&2OtQ9[X֜92 Ed򉞫ˈ6SyQ^meȧioXD,fU(vz⮫gu P:Qˠ;۩a4Bk_$*0''\ٯW;Z"VWa NAИıo4/Hxd~e*~ L05 HH YOL_dR n<^ s<,*3nC pB)6)/*29ArWҕ>eɏil ݘvt3[}R~Rcw}UuW<]N\tKܨ=)VvgN^u25#{C qQK}2wM Qx 8'Z܈f>7ȦK֍[hU| OQUuIީ.Ƅ;dͦծ´ -gCFVO ]rWOPٶj?nX15p.[::u<7e< b (WY«g¡3aUPBdIT792oe 3xjJ-odϑ*yfCwvo|G]dPϨ{VV2r s|R,iH/Jzf0;-kI߳ )IL*Ia"P^Պuޘ!h Nc:XИƤ%!'Q&UQSrJ'u~BgOjET$90N0(?/U<0gipUS.H<SEͬLɨ׾-J1 f\AJiїjW3ZY5b*M)232ʅ٬_~CCPf"90Kd dP Hda- ZEDwd*`⯃~Ʌ{ VIj*3ېmb,/v;[9Vs:}?.Ύ.V(jE"GdҰ̻ O?ǤGZ2]5  > v^^}ʋ`Y8( J@mP[ql{33JUtNyc)k%ՑvY^ qk`LmWq@mt B(` 8T UvFSЌPbArDL?3* F<&7(:;kr qpRf F^ĦZwY@f%q;Z;@soCL`ʟFN琝#.vaLѲɢͷQ)`v ~PkNDCXة T;^/ : #_yN~ctQƟODZ} ydca4" µLV1 iK B!K=;KS#P-2Yq@H6`x}@IDQ$Ǯ^AN1f-o|4lHY*E up*=Ca? G+'"ȍMk,ir164{ųuVaG_{e/nc]zDWH|xdvT(Ir"D,R߀~pjџAZW!p o[WT4]hUW)M sx/on]f4eh&K',T\sJH&Jˉ4bŲLVggE\*99GU84mMY|O;Mu%+fOŪI>ST}͐We1j[VZ̿ 4}U r ůY[Dq?$9Dop,“ za5oWՒ>.q1XWW^psBOdbJtsbCC\-X9tK0wB)`b"$10FKcXNI>S2?%0KUH ٮ+6ˋ>|8T + jōNLB9\hxExAwWک#\ 8 CvEРP^cgYPU;Ebi%̰t2|#8qjH(\4X&\[a"5o?܄YT_dJ+(8Ʃ%$_'ot|+a?nL7LXd9~)Xs/)*Y$DG'0-J[77#f`Iɼw`كkٸ=UH 0[YJ*<bLƯdoanduRl3(OurcR:ԩDy#3n [T+6ҦP_uaF7xAUzP<0%/}P(^#6Bg,4}!c"$ζɀ軝wHT 9DS0FjigU&<V{qxeNŗ҅5YjXc79QFnGB;/$l)spӰ^~vd ?Y#[&7Crܕ։Eɬjdr˶Ho3!|~nC~]Qk3ϗĺ)x`zdEL5JE =@9/bw \ph2AJx9ܐXs&_Z)b* %Dud5ܐfpzyfs=ĭ) 2)xҝ'ߗӥ] !g$e+HR-S]y"K|Wީ.q}['z&SXkšIY^㋳*DѵbIQ{FxF9WL&8Wb 0Bdo&Pc,hn7`́=Ǥq4Y@8Fa+ò"@8 7q5Ru%d[ M" [Xf Q/Y[ nCX&X錁[t0e9x"Wp ǙaK] zlWoPd}*g wtUGR`<9Y[_,#Ksӌ]OwE3!S@#܀1[rYTMcTR̳J"fjU!W?d0eɦ׸F \61Jebˎn [g; |nxyPTߘ7ʌ5(RO_1FX jlJ0kg'_˫c 5|2K XE pe1sfr?UfWf;xucMO@;SHFEby ,Vҕ܀5BY,J:)zJ^銨`*5( i@!s"p!c'c|4EbIu֙yL_&MIHճ^Lחo cALʚpo@_\b2l""hHxP!rVO݂DG)N`f1(BXR/6*bݺxWξ-NYER2"[x-xXdc$mUYl? ?{&8'!N_.1G+صcxCǶr1_K$I |Sh7$r )-؁3fYQo Y$evOӒ/qlLrG-&F4ծÛ,ȎJGWQX~pr*W2 QHUg#LBAr|C&ο[1S>J[1PU^'ǪAm ɂ(R- HB0N%aLF>a:cI60.js&uYrHBR6fZ@i-| - l#P)¼a¨S1I: R\.^;XTnn xã䎞f}.晉Ų_\HX$A)Y=KDܿ%P3 $\ *_:q/0oJ^c32ZRv6铎f:J: ʜ,,߱# hpV6W.A&簸,(F8 G'rhH<lP )j( 7Dj(mQ49u4V" G戦8va گ?]G($ڻ!D4m~Q|%Zj#I `YT)5G!Νxʔ%-uQ#QH|fZaYј,ZHhѪ0(fF#N(b:G5\BwI49.* VR*NRߧ\ST2dgq%|OQ:6yi WOae+݊qtr=T 'TY' 'zʓtKHf@!1{ktOޓ2U?@pQv_wcۜd b9Pl4U%͆S<]kbV安x^B!Ȧ܍ ID[tovUp\~Q5`&Nr\ ]S2/u̎,!Γj$އ>#m`/Hfױ< Ҝ9ScY. 0xqb+boS,lIxy`u &at+[Cc:27F`"+0LgyҊ3afK]vNFT9>3 :^̸EWG GR}`ygXt2v",cre,[sα\|'Ź%DńnR?~1>'B`W]]blHdK3.7Q7U|ܸu7I-7bglLn.?-Lۀ\wI+ު+*NjM*#0V")8Lބl:<ƺF9⛔OK|Ϙw*ي(V7Ɖm5@ƁX)|=.~YnM0Lc=t$ߐIƎ!% #]lng6k2)ahɢS,] %ÚF\Bke1Nk#Q'#:+Һ6Fr bpX75ǜs3d>4p")R^pxI4M 2 lt.txsOD˔mgd~?Cq膿%Qun<}-sder|9̖8>XmgZ%I0C#";L+W8XPZ)/$6{ϣdB['M'V 6Canq3r,uwtѽzۄ&g7mtNTsX+E}s3vvJنd"33`û0XaF{[*Bf y]NnP]`'&{^J[zvW->fRh3QȩDԺ}SEW $~cӿ3ockV(mSz3sK2|0cf~~D'}|΀h 4) N&u\*h9+C[ }bg,T@uy F$:G"kCj?{Ct~#zL>D}aD @x=GTvw'Tw@ BBP R\43%}FlV; 6A\c 6 vw!qĽv i#+wZA#"ԙN{/X=qz9g/8@{NLC7'0lDyܔȬrrR4lHV3 N?*iV$eeKx?6.뷔pC0rA]qӛ5%GOWŇ͜PmqE[ FOnZU T6--ߥ}~z޿G5~gn@°u#L$xPb|n3ct yH_KI㳋aA?7wb~O{*A,ia}Vq]1#s|$M' ^ a ܟ&T;t@b}&܇{/`pNC.;S.-tzY&?KNp66oE7<<P}T@v Ύ.͎l/}踛_>9cASfʍ6{-7ln/?e+`~gЖfW0 `qD'YP'-ࠈ\ fι'7L$6"6jʪ~u:Xt: p4tW"W]YkG}䄡w:W"!T2eVJzAO6VaGcY{}D2)B7{)iy0vjLF}A]葲Ki=®%be{-[OW͜y!t$=aC/PilLwʰЏIdNo5ԧム+|0};[s4œZ˲gre Z\[.Rv@6Ʋ;j(T ݳΙ)>aꖱeGc96?@ ^b5sƀt{]<X.!vW.ǀI 4Yt>*"U _sգG\({r&pXoUtQ2by3棱閇,}.!bEٸ23.BGC;{6mX^#3+G}xw7"ao5`i2|d -䇹}}7_[_C.CXٖqHkJQ EbbZtX oMjV^̜*ZSs % |jP[x)*_jU Vj.B5BdinZ̍\$ڶz˻9S8ba2HuXKƐ_[25"3t5p4eep[̹~k#6C[ƚZgFϥSrQ] l*B"yWִ{2C'۠s\ReDCc1I\Pd>m]@RG+}gG|dٓ`` l5<15$e >6X1o ˴2&cjb,xX*lL81fݚ1kD)C sx'û֤eRZ,L/cCA"fmJ7th C opOQ[=.닲Fpg9Iy93[X] l4MލTȰ] 2HRg12hIAqۊR\+:{x2|q7鶱dT,?ϭ >@,dƱc {a3k`,p Xh}>ng 8U9[b1*S&L $I@fbg|DE }C'DvsIM?LgҶiSBF%d-Zoa.;X(ʍk+U [ce /<5؋R(.hmNt-O K9{̺^~Q&(eJ%(d^Mi1N^UdNM TI -PCԴ;̌YwhiV"TV !\ Ck(x]RMAɊcXrb򺲯NgO};6nOlJY{YF`,G3ÚT.Ƴ+Op$GT^Fc) Қ]鞛{YҿreJ9n۔ }.ŝB4w=UdN泻)TN1++PJVUx2Y' ^l7XUcczΞ*вʜm,YOUUKWˌ*TD(+/֝+9&UaB\<}S<-T\&:D_R>D]~Xe?32}S>)T«@yYQR qz7b5eJV52yR{JT*V09 _Dߥ۵-ԧiS9}+E',9xSߔQ LT]~&d䩺\tM5ܧ^7떕 8%ʋRRe%>QU5TEc0 . X х (~fNR̂ύP}-aj.Uͼ2O108l}6]-BXCJNK {T]~6 ;E-TF.z_cz=6r8,}5 ͹FH  k‚b͒Q%uXʋ6S2j -ca&Rwհ`X 7BV(D_Wck$J^{C *a)[\"/j;ñYsiy!+Z'Kb4(g7Odu >]oj$pM%SG鈋PEqoeWz"7Ega˽͍nx.X1Y.ܗJYɪ?_-$ET>BGгOү3^s{2I ւuv*pJ ޗ6 % baP6k,囹U~,f/ 88[ΦR}SgûϠ`ʋR>/-oc) OtvJ~.IH ΢&ERl/-jʋ224toJq˅J]Y"'nMJQ+l9u_8 )/b֠0y2E Ų@toB7R^GΥe0gӧN pgxŌI˪Nƨ8 k\^+맻؜~Xt% 3f[ɿ-O x*-oCӧé=N̫*Ȼ) n,p^ .ʋ2(yP FZ9DzL!ɫwDQFM 1믝BB`Oθsr\PwCQ39(VTEvR썥[zR)< ;fIhj`. lٳXjK}mD4S-y O!w6*&a$T7D I $ ^r",Ƴ@0Bw֩n MWÑ9F3wQ%FF} ~~~Fs/1:`tatǑ1:; ]bt\輋y>F]0,zNkL9Zk uX\bM`MӰuaM;ǚv5m5kֺGFR% JJDpʾJaZLPvֺu/`aZ^k3αֻZo%5X>?Zk X_b3 kg]vαvv.vڹ.{X;c kX;kX`BEk=]vqs]\`bKl@ڠAk>gXcmpkK]vva.X<9.\vyv4tqNw;g9v۹]Zwj}ts.pWvv5vqnwg=v۽^w{qws]noKwpn?9/p?%up@g==YŘf?AWe0>ØWObp73OP7V†sOP/FF_`t>FF].z]18 .]\~mha4b4a4c48hp%Fb :KCev`ZV%vby6H̋bLqV֘ɴ]QSlVvF](skoe|b&(koe b82Nr',bl}/%#\SL%>x&\!TFN TL\۝Gbd-g3uv;It90weSℾ?Py仈E'fbne<'Y#1z1{Ac2 LX pj'd;cgUE"VW/7 <}37Jӻ r+nN{s# BC!0 !.cYpq"{/ `{]ؾ5QIJiYzɈnhMDG/BRJX"8w,GEo`%$U 2& fQbY!ǐNd 5 @S? 4эF#.ҷR`c^ۚe}?b#F%ADNJAf+Ќ>Qŧٯݳ|9%nҥ2{&_ в}K;.^tc &?A0?d a*ql _NRl"U F MaʒOG._|"-L}[-!J*:7tU&XR9?RwwxSzɿbY\fCv(5n׎&:ѩ,EWX(Zq[|n5cwRq 1B`^\bQtx_1L7"1 )RI8tKC`mH<*YܘM!s^ TntݬNQm:Cg2+ǧsZ̓7\vzt@_a_qMA}t~v2 ֪N=(9\v{P)᳸.;Dݾr:' mOnIt]_liWaA:li]A"vItAM$6v{4͠Pd|4Gthή@Nr=/zA,$wVO/N-msb碥¥G9 &*Ζ lȹv#B58{/w3]01MѤ^Cif.Sj~==;uUB>)VF|$@xsF溃D3>qE脧W1?!͔Es BrD☷oMbnM!ȩu8mqοz,hvEtBw_|yntνr}0EES\ΎuϔnN _>yDtL2ɉ59Urrb>­#<=j#dO@:$*@8# F-Dj86r5s%1e |k*N m>cK눴 VO3ͭC!rb}O'S>>%Kr ə.=G[E]{,FftG~Ӵ+HS쨪ltpf}iI#S0Ca!;>`~8F̶EPף2*PG._ EX,ݼwO3 J*2%)%V·+uwf[]?EooxPIGr(?AW+=7j"x0b#s M跱9oV\qRoc *VV4T&Ld ڭ#­]-{K].TKBQHvq'lQ%\|Rњͩ0ݤqoR J6pݾΝ0";lvBm5|uI½4=[`9'ɢzO5 7f{g)is#wfEyiT<}Ч2ؽ8xhTp7!b*yMdeEMnq}OB_=6(#vjJa'LlJq+wg(:w(XKa:2 >{EuWn8X9jAl2&'`rvg,HDb;12YR7+c.Ȧ}<,Xf8{>18ޗg'ӭ=r%r5q3BU2/ *oApDͦ/wz4BzFdqAjz_ z~|Wt/Y]t]{ nGD`@h\-VKr;9a>$}FȬVMd|$. b^Ttw"wBu}dg|1r ] Bɫ裒m,X+V"_4[ǩ:ޏ(HD|16Fz#!g|aF+#_7޾е:1݅t~d`w/s@L~ޣΏj"3r#j|ļmaPKcvN v;|ap H񍗚Zۉ7кؽHl$/iVFȌ9'vǬ%q!79d$"n,=#?^[s-!pe"[w(& dm`v+#ܕךDn!6x&8Z s @#b~4k#]vbM/9ց½OgNH}"n p|wjuK:>aൎB#O~FGa3EglaS LUYz +wg>nL\}f)l9/aK\ad}$x 30 *5͒?5,9#R^j`n H7p=p:͗?Qr=i{ hpع'&8 {}ȿ_Rz82 Ty~%5YbS;v͆#"w:q .O`gzӥehi^ rKB oǡKPJ>ȯD&sN%'vh/c ?ďE'&RsĖ֯oh( V.o` oJGF}L^>*OQEj&3 z9 sշWUǙW.\H#H~9؎xV 'B/!>G\UQ*_. NM8  ;*` x*m 'ύ!Usukv[1*b2XO=d]Lht&a" #g1\+w0ћkzTNTT B\#s<u& ?{ڜF,~ׯщ+@cf-BꥦWwg|zu7<{ĽČUY̬|Hi בZ3;LTrCiBx%^ MYH&l$}%ʐC/D4@$9a,f,\E컜r/i KVƞBJ޲l\@H'`#YQ&67pNˈhD}Ee0g 0|I-uo08^]_b)]LN@@1ࠦo*eJC;(h=(t3'S7m=&ϷbVNq& X %xޯ3 FB0כ8\h9{ޛ|P{,Xep2QB/,9K !8Q`fb.X̆HC F34U'=B=ryXNq$¥۫3v73(YD(3m6 b*iYiW|O|~$|x|c?3zDRٹQ$yI_큃anK,]&pP}~`x ) K«P yy<>8Pm KL@$X`ؑLi9mVX$]m SZ/n@K@,FBG@APČ?Y#{u>":Z0:cQO'V͒$JDBAאmvQ-da5ɛJxU"fXx'r4މ';@33!އY|>'HN| S LR@R^1o2 Swza$6ͿaDwu5>{ ,aqus(4$ds:ӆ4K+8/MOpg]_ VK&{w׋*3P \g|SHvC>y߄0~K{F-ljKpC]=@ |.109Qw=~p$wG(D NLYlء95MWŕK% x|*zMux+D !h1hENNݫje^3A:јiw4f%ZiĽ~t D~9hI"QPF_42C F=T)LJz{f)L0O2`YyYPVN\}%&1HI` K0:;L?I.nJ{%&w:Uƛ7 cimuuPG^3}6PM}I$L  G1; =W,º8DN\G< piu |aÖB~GPiu5`8fgjLx;]d]ҘM9lg#vt S~$YC[yd1ugx͌bj{Ƈ6K2dd9EqxЕNt~q}Uh .#Vîa|5CgQ9Au8у}eꑓ^ȣh5DhGLIyJc{" V̪x#M16i|z̓쎚, pc&vf&ӷ57VR5MpX3Yxox<,lE47eek~_{ox531OR4l$SH#RwJ'|{IA*aڪ| >06U.rP $J< =( Kj̀mx/dX8~bidX\asl:jͻD?$CMF?M!g6 :Q 68'}eS1*"`8I0ZE0\BoPB}1Ҷ݊Gj_(};Pb*|(y ϸ 0fNI`@t9@^RkVZzٕ4AVxFh9iC9so@zA$Ox"p< Ci!HÒeM?p` mmuS$ /DRWUZQ HP0NGVސw<"߷TȪ5ϭEI\q qTxKE]6wx L@mQ·QSPLG/47$$'{UGs>[ph-8T:Tok }f Fa>#\ |Cpt*Ɇuf3-/bK0yxpb\x^N\ZR)+Zt6z?T<_H]( P,X-smIVZFraNM2Ҕ@1sf]3ś"!{aI0|RƸ :d Z ,wVB["7^ DeM)B`* Oh O- UeYsz qqnr(5`<HМ1{ E^0`rY<"8Ůl#4`O= {+6aZx,k9ȱj\BiGMnmmpp@<5鹏s_RhǾrYcHL=Y!P5KRҐ_IV@E6\HNIbt|ZDK]!&Y!3&12wy(n@,3᱁4kHNAهne>]6I~y}Yм %j?6Iasg$,/?/\6 b.ɞ_lW$(NםeV.:gٚD&'CgHޚ&}@I qGWFb6yg' &X/zFobM ]oC;vO6("3s <݆w7*5;F){nIľr`rVt G.JA]J}RxG:e_h)蛪yQSJ4w^dڐ֛#Tx|k޹gTu+|=a!%7'K8gZn\˞ !as4!'Ej޺a 8OÛ~ ez 2`|HEwg|`tQ2MQ4z."4{,4~y3tVݴQZL 93_C"@224C&i C g/]o9soG茠XoIup¤o_=A#vKdnEAX D (.P? 2^ϥu )͵:2"wg[ G53ԡ 'tJ}}} IƴS﨟+Dsg.h|dL)/h)~Eqx-ÞH@O'3aemS?XyʮtFDطuu/*^?p飯5w> @g`Xa%<{ݘ:qq~m^jSZ3D[. BMXwu)$sdcKrB)%0] 2EZ6qu¶x\f6ޖmQu1 ӽsF-uvUԀC (]=1 J Ɂ!ä6X,4<0ox g ,"8*UxUYI?F3f%ݧ|" g'+55!BAq89J?ѧ'M`*@xSH ?t x>JԣIgF\[Âm!?Ű,PWmz+M})N!b 9A:y8qxS%ʁ^*)B P-G"A8,aPD"$’""ua8}6qB6 e ;j[0 pO<_f )հEC3`RQ/iC68HKKCăz(Ys aDb_L]p˜bg CY7h3 e2H.!l%NG֖۳蔫\:떆ZaVF)51b`-E!ܠx*G^npVRaUʬMu*+eoPTwdZqm4N}K%gP+ܪ*vH+UEcWOAt$( q#jp6)%?d#teelztw{WXS|᳗KR$#C%Y4NS{ [)D-7i ү(5{ޚ=S;(x>^WJeֽ8Zt llH85W! |HjV]Qr\%*OcVUq";Ql YNt6Dgj&OL9EB qBguTm3`Z%3 PKҚR*!|@8I@Pb3 >MpMV&+?NRv'T~'Էaxi30GJ?b@[sq=glp2V` Qn4 .E03-7ZTգ.]9m1/a?d4EH; zLlP=Y G4Q[w(358;9/5xj9Ԧ2WR:7 a,v/^dz /?V Е S1]O8 9?1))$BXDY*9nF;Bfit9.O-K[üMG,d s\]?[5H ^Řf:2cGXz˛[2qfRaj`Z%Y*(X4 pEcюc R͇VE& h l ^ !-&Lt41j?ekMI 0j5j2{KwVәO]K|ͦ#Զ@Q!tl- +Th D(z^e?1qӑéZMG꟝Q7V" <4߆)鳃LIS"kZqVƞ]<GOi^0# Yo=i 'q:.NC/PU GCQϬMᲢ HK*U9UɈQ>iVJ*)nAx1< S; ^FтdaRaü .Ć:-{~DQLq"O(8󍞉3~yK+ ΣJAܘm<;=1](UmcT "yҺ]xvV_-y%*OOxXYb#99qyP円bqFOPXXX1[rV$T]>[cqD:JcDǼv-лRE#tMpvTs`pllQ,t*n{8)v%C #pӒ1eKޫΫD*}EˣACNJq!>^y"Ar>yFrz' ].OC~'@OֈŐ85A :v؜fOS9Vhz2mK}lUP9So.奣ůkri(8LxB{{W}a] 8K&d$Y_۬!CigzKзh"#U0~R/*wdz!wonl% w˂X(9tű%g$?#/"yR$4Aa"}i,?LP}^ǰ=?絈>eEC!( u=h|]_1N[FzI#^굾#w%>Ǖc,T)BkEl>H!^yy롧ZZdN^&5,HA'# v*"+HI+]/{BObVVɨ*^Z6='%mPt08J2iQ O`; c.[°zqdY>F5/IП4`oިew{I}~ ~rn^…; 8DyϏoe0^ Ҥ ,leo?+C^UYɯE_*uM}4}61Jtip_ف@X%bTQ'P{.L_XUtcă1,PeVDH& ZJx僆Ro+? ~[SBOLOv >^ʏ|6s PԂ|1OY8c|h.mI{6mV׫_߷ %NFҖl1OIgS7w/r0O,$)>\PGU5-w4eKP Y;QѮ ]u؟F{eƨnUuHŔ.)7xjc8cw-x< w&o.O&VXhAW0& %/_PkT:g kb.xyrz;.l{t|`>[kǼErԿ{X^:B13O93?$3DlqcP^8I8RQ($n Sx \(.SA茧,^[I;b{+{Qe4jlb`^B^6ٺۣ` 1 Re3l5)e:;Gao~9=?Ꞗ2/r{eq,p(Whq) g/bHڻ<0=9wH\ L$VuR^%1&9r=X w`5+]f+i)z øF_?T T~&ts@b PG-;(wmz63Ã8ɰ1ARE4{1%,.i?eS%"FߪrHO|~f07D+g$5pwE?b\hd}V{1^/I5NZ6Ñ5= qH^+0;U^exа*eajJpv](zF,ex:)+;7ʝyX48K? X )"wר2C _McxOe٧rodٽ5ShW镍.RTKLݔ^ ͙axo&F~ q;-^S9)*(Aaí#aQ=D¡Mtc#3iZ80@B8gRtkF]Is|Rc"fZq6ɡab|pZf{ݫz$KzC=pa~U=Yr]sy] z\m 486~a~V|?7$0w9; Ηv@X asKVgJQ? b=s&QϪ-y&DW=JL$DRC|,)i]SnY32 H#n5#q#7V4%*Zijb:#"?)ΚEw Q'B oKRAI{GĐ]JTL"E^!G!?YZ:?mugb]$׈b2էK=U"0ERmjB?>%X?3D]U-^8M 'ĂakAk i/}T$ȌbzK߬*jFg;ZnԲE<.Z`//Eڲ,=3_ޮF Ҋy> IW2!`^@t݋FuUP%*/{Y 8a*-`Czbʚ]AښcS?T i0g<)yNy |orȼ k١*DG*ydC޶vRtm&=”CAU67nߘnn:;֨BK߭f 6Mzݿv`ĕY {k;]/s[)tT0Auh쮲%@? +-TY*.^wG>>a`OdثJ U 5:tz, Nːɷ6+Oȃ[7 \Q?u:gx)9:|EĀBT"R|RݫQiݍ'},׬8ܻ/ꏗ2-|P`eVa%g3Fާ_ڰ ˥˅w⩰CMC^B׷USzjd?XMY%VE% @ܝқ\?ˇ,:dvIM8nn@, p:+ù{}eFyuDzGh6'PXqCBB%uXǙCŎsMR̡i?q0#Ӂ+_BI@8+K.++08`v{wgV_#ai甭 ptQKlAPX}&ނ)7%Z4 Yݵ^ NOhadwr_Z BVd3{s״A^jyuw.H?;m\ GVhuF3/?ӫ !/3frιdb}OXZaPeo䄖W@h6`n5j;ݖـ)n6V}U~{Yo78O!ް?rA BcfJ& wfb. MÉVӲ6K>0Vά.` J98 YTTI:Ex'.,d7a鎃0e2s/J9 Sϡ&dUI~r+<@܋,]0ZYSAaٜN&-ed Vu’[) 5t`L$V5hNkLxBx*BwIRf'a g8xaw˩dFuADo!P[yBq،?E@BWTQqh $cD08X޲0`gὀvwmvT?K~;ܲM{||x̒$ 5nhMhre~Vۭo\YlnC1;:D/#HsY6nuRZ_Peu4pMϺ*k3֟A*k*k[[;f_AH~ ~uMoa0O^|gny , L#:˼|3ߛo Mocp5}_}xd>˱߽`>$CJMqye v\@BX1iK kXٕS80YI, uY~~z~=csUVc| YtY) @^ կU@t*S9Vk2ЇP~sRU(Lks0O$];f99*FN[Rdžxav%x\e0Hot= U7۬2 /Xv[.DŽ%Kn5~*!2 I%~=W]JͲ _{BlaﰰUuXE*a8*w[]Tzy>ֱEV:`M#/\Q{SҜ,ԦVn{y&97Ld6Fb1jc:u %m\S^7!3kR~/}Ae@Ycœ!s&)wɥE?|5oO!mΡ=#\.l`ʓTDFJ%8啈Z Je\ӥT+=u>c6k),@Fr. u9u%ɺ Jgn`.} m򪎭͓}t‡0l&Y}6=`y6;`(ZcndWDGRfjU&eBkUUsNl\"Q@eDVJS)i͗c۱ۗs4`NM>|iJa_%FR:$=\b=Kor%JTI؈ LlP':OlUY]nYenž1vϯ!鸵1l;%U1,$NYu4k|e5м^xUרHJS*o%f뼝Ue9 S@6ߒ=wzAvgQPH\߄iD0X_i6!=) #PdX9%Q.~B'8b3{~{%^imtX[>NӇS]>\sZ;@#[:E`bj 7"L;H D@B$SҔ #1Vج?|89ҭ[u)Ҁ!S9@t/(bS.1"vaT7pAǔ.R+؅K3H/L oh*7f Bc.Z O lC\e0Єи譓D|* PgCQ#֡}鼭U،:PL2F~K;8+Rx&y{=PcSpԗ#=1z19h5z } OVJoК&a6Tv5˃^*h2[%Ek1Y!/~rrr7U68?3b-b:.tcX< b1LSU)dI4WQ(=n8ٗ$6 7̇bT8m)WYrhE"Qx n ao:(Mh/)inMŖ۬I93WHGS “0+aERi6YtXQ2{URP('X$g9-<GtuvQr< 7 tswge=3/EQgeLf,Z(*Ft4!iT{Si/joYb.a'l-yyB)TGMNxӢ7J,1QB= S/yI0mv."i)Fdl̀=$ra4%eH:?}0Ea#bS/P@h+Iiv;]  JSϏ$  N8a%xnS֮Mc!&e%>܇s(t񍶗a>UvsmG)ll|+J%o]n<6NQ~nUl 7W Ч9~=1~$x{=4W2y]Nnq&az x&th-2cQdHLc:\Ю`/y׆b*ye<YwmRzXfsϗS[2r^g8sD һ>z5T62"LRvq>|G %G)Z` 0JŽ1NJBu"7$iAml$&o[[OiTk<y21 KA{؝V@?|TŜ #d3&{/0&ϗޛθ |~[`>_70__Ǘ٨_\~y-X|r 63.6hodW084֚5p8<01OFFt6,|^)l9O"I_62 `YO>rBY!BLfrt—0 vz+o աW9|Td!B=.cOuE>xzZŶ2x}xfYy>)oU2zӠ?;O C۪5(6AX`1ܬFN9!I-@rQ>PѸXpVկ܇ḱNy_Bw!#r8awpV>|>ʩq>xi>dzq4x v˻f?)t^,_LV)g\c.lآ@WΝ/`>C,U~d\M{<4t3z33]0yêv>.Qb*׫lSPRƋ*Kֹ(o+jLC`őuFyMBB!]3^>l 楌f,JCPb0`)ǫT0t6jw4Ϫ$wh9)q/SAB8!C{|6)c蕬(d޵ݝF&*6p!_{[ͭFlod+[{R"[ٸٯor9na^; '6EVr. I[g' :\7#'U,x>R /5e礜&@!`6 21 9J4^?1F<*NR@mQcv,XbiđA.ޯ=|Y145 "& fXޤUFUNj+ ĵ@qXe b@UVkltkX ܇;3KSv衹0/neli^`i%DLY]Ҩ7Õ/Z;.9W^sMxهvCL *=;;˭P(|axj!WQntd]X,$r2dgl'08c_n[5+ &+|jܑU؝ #aReZlFY> 5-3Ov7+*OSet$v}Ͷ9ěc߫XiwvF4j-֮u֫/[kRSm mUaɩ]lԃv6Vۖ +6ww;Vk{pmNJz:mnZ[mj&2@+`ېO{7KL;)h%4P.?*+USebB<ٹn 3cᗼ N ŵfjf"0y)ڍ֖7vPΨhԵQ-XRn+t]a]@TYFqgUV펩Ws*q H&gڿrXs~&+G ,`ԃZȘGN瓋@\|`O{*[=|.pƟ3^3@nS _bY]:1d>"k\fsYߧ^N?/`\$rg%.Lr2d $x4h2%#ImNeixxLcU.%!P!FTjy:lV gmN kk&:IP$Wfo'9dR Frꂕ<ɛ=…`^0EðTwd3&cx"RZ}i|ՙ$!n[D" (W̛jh6/HE"_yaleOLp*-M˙jǕ¡$"*}uuGf3vV>W2Ǟ"LmԾ1͉OWϱvyyI&O,}YUl`/Q8vX7_0 ڪNc\GA(2  8NJ=-"*$ΫW"xY=]q:%lzHROƊ;@Q,A6"z|nO m:w&D"!dԼ4 q(gLMf07EE64'<h,SGFvx?)Ɗ6L.AI366Jz]볉[WcWRC6;NiCKDvOvXZ|sI3WWaNqvǬwu^g *Knyzm) [8zҢ=g\*9!LJ^q?>8J Wf@#Ty 4Vj6lXgԼǂȆ/хQИƅ4t*F3ZJ.ʚ0įJDA?GDĩv-je.^:MUO׫l/aXɛo_;I/<7eiAdbʒd.hI W(OCЬ`Iϡ۟=U_)/.OݩrvV؟ ?%gSǛ7oկQ8ca(&H.^f ~2;N ]6$"oQokίj9_m׶ks~[dKi!Ќ #> muQ}4gi[þ7pސ4t~yN}|=dA.|N\wpKn% Ba^ζe&ěo__1D(w:VqXym}N+p4_s*x[Aͯ7yEtZ8rݥXh_AAj鄮YIg5 4diJ jS>JA+ w ީچJgvI~R ]$ns[&TJs>ڪVx`*{:ZG>zLwR(P0UgiնQJ~{i'?'=ݐF`iqX魠Kc02/թrVeш/O;7z:AV ToVL0رT =pJf#)0jͯrW'r}uxAVZKfĿ֨oѨo2VnMe(e})j"ȈnFoU0jna4AE%Q]!d<1I'%JGXlFlg$iW[,35xԂe fy3_W-dKc1mD谑[!)>U^m~bK?d.k,F-{G7._lC)ܫY7wSw2fJ|/ek۽_)+ )1K+ٳ`* 4R~D; 63?V, , #֔ L8HGF{6'^S&^~ .V74ָ ĬL Tfm;B~5x{!,i*mT*pa/_eb":RB o{_,?qS~ :guiwǙQꒃq~*嶈z9-Ef¾~&}IM #ǫ \/db]NUU]ϸP_2ؤSVChf[a_h|98ʆ=^1Z [͘Y: ,y MDxx*T q`7AjikXYW߭)6j?4Ȭ%4Cb6Y|snhUB(Bps.]] n4{aJ (rMQ+*X,4v"6ZkWcEa TGaǓ)%reKiW^_q EqWaoo+]:n6l:nZvaޮ[ v/qߩCl68C̆l9Un n%qZNEPwv׻[]Ǘ#걞d(ޞ\iDL~PL g}WleK_(IDR/VTR)a=y^)ݬ2du?4&X֊Զ+ue|n?ב+.?3s.{)=yZ2fcۜ,Ru,Zʋ kI@_KEJhEbEFD ĺZ׳-fՎJҸ;.KKoRMj9}!t_fCRKv0/Wy:79緬 Ka ]mˣ8Oa/MX,e@~䲳}X&o.|guUm. xaLwM_^17ʍczro-o!їNkeH&S6PCC)|&S-#` ̊fIl7"5X(r`5m>z|m_ DeS:5΢-;? _byφ?dX&_u&Mtz%|}j?TNho~to(`dqM9}҈RJ"o1ܤEG=e_uTJ.:^za;xSp_ 6\Wm&B1!o)6Ja]>sxX4S6|va3;_qռ֜o_Dzb@ vl_Ƿl{gϊtnِ:on6[㙯ptR;=}(zpHFZP0hi0|w 7[la!BsK֙ˉ慺Sf56X l> h?s[`U Iƌk+px--%҂^\<=o}1I7Ma'o;r`/ tC+Lxh8fn?BVf_w.\]o^vOskz uu|AÔ +udX@ɟtjvl|D~HϘV]`jfRX4&4LJK_rO4ش=~Y\=>Yp~*xl±B97ɦVNhP GLiRaXhJ!M+y*`ԡBk\s! (LWW<_];Bs^a\&\7Tf]675Ds&,tͧQ^cjBir?ځaYEgT:lZoJ.a#e`4[*BV xM8@6t?y{U~ րFWBxbnR\|xV9Zl-R=TU[tf郁 ܄ oBAn >crdђxAQEn()?ϜϜNb#UnSJ"PbkةPi8gc6 dgY$47Dwz*\ȔϞw{ϺY(s94vYsơCC?vzY:SpHK:U?l Iµ.m_kX#v{hb[%\n{3wq+\ v//-a{u1d!j3`I<˳17Ofv=(Y6uX$ܧtyӉp;OCYnx\ C7Y8El l`~B MQ'U3ӌ^ŇXIy| S|5|}xyr.χgWb7&J4S8x.b&i섔N"&,bUCpG89Tyʓfi4LWj_̨e* p2c]@Ul[eç=<*KOҳN} ]_b>Uon_I_ّ^%k^#4 ",L龮TZʈW <]W3 UӳuJ^4s|/a4ŠXds~(J%IGGn`%jr)S'޼SMS*rZUȢywy> Y@\u9BW_Պ/wDîJJ%>/uļdzkJUUݽU^#U]M̚{tj zԳAWۊUh1Ӆ ^ݿ85LF(Anb-!ͥ+*0nN__擷/x24*4J6~2o?^ C6)Od~a3RYo~K5S!(}0"ڻ;n9Ĕ~g(< ^O'υ\/f4ʓ c!Ki@)߸ ̟SKu9 ]`(g^n(2oSh3!?Wr)T(ORL)yĠ? S\~B~@0P !KXb?qOh ԥUU6I4GP7 '3?G,n^D06Ns(!.0)؝0۶{Kp3!MЎq wM莹QNy#[?̐}/5&C]V# wF |=c@@@Jܩj o92nI&&3A+c77hN߄Q,TܔETG {]! q0k< `~zc!%&D`Wb'npXc0b 2\sJ#(CqmYFDTrN?RF+ j3O5Ysd117\ QʧN<+Rl7|ŹhIPn*&yEs8 ޹鰏~|;M5|Mmuڽ.̓A,I 76*R+USW 46=y"A6ВԿ -|c!S4 r?GT&=jR)Xx--a"t!0?zKbi*=q4K ҩ'h&$㉟f$FQznK@+ ?,_| J=JD/$gSaJi V2qd=GܛCcos?n@l^)G+A{åN|~_3JZ"pw=OY'U2Mud“0EP^헌n}Ri8M) ZD<i_a ۦ4JEEi6C(d()XY *%Dh9Ư4=OL>|s2zyxbߓ-֑:oUL&Ǝ,Вr+L9r؞E1%CQ4Kʼx{><|5>|=,F޲&iˋ"VP*&xL,#\9C\#׈&C;fJåg>#+/1H70Nf=.4]??3"I{+@i}j8M%Z@y٭ڤf,yT`ьz ,h,{ &e!/1AWև}cfR|P#+Sq<Ωtf|.Hd,R ۹s̓̏̕Ff;$:,3)S$EbPz &u" ˁ(q2zs|Ԩ$'tÀ<<;|ys:v0bAވAlZyX ӣal 0FXsO7dGV81O%l)&e;y*㖢ݟs)vPp2%9_r :}*pٱb#]בqVQ2:Sg!nnEkVQ1USzCwĖНWʵ4VҹGXS7s{mX(?Ϙe KxDořX^晎5M(Յ 8(A'Mp9KF}MRDD%W8VT DҲŽ Tb8ѵ0z-,EE/J>6>'}ɗ"gmo%_7&>S>˓wP 頲yzvaCF-qʼn/Rip C.q7h"OY,$fnrórŏҹ~7݂s3a[=R JI&b}nj-&O2>li qےO?(fP}83J+o{S0[k(nqʀ2SՊ.&H4"FOXizzbϺ%P.̿bUZi=KIk!Ae4} gU; V+*uK. <VCϧ:Rnk Tg =rrSA*45#4`yGԏx9wG,L+K|BЙQjh{%-Op`5<# Ab:*(59&]q;w 3lbՉYR.WRd fQa߫d~gfd''pd~sD4ZSFXi9Bی֞Iݜi` #*W]՛ Er22M[&+#F婪L֎2bHϢWNHq~x. :,=?JTbKR3n+64:|]Dhg/bpXh!`@rcDse[& :-eM%1/aq7`zi߲FP޳&;ܳd=P#8; 1iR]!תAtyکo1%KVv-F24ٕpkS𴎭2/!*VtsY! d)& )=ݵhV4!I髸zA DԕsԎ'ф)${|& Aqrn|!PIZw8g,㿘_Gj`*8L0,]4'Fɼ(i#[+R*3 8׬q<pgĮkqU NZ*= {pl輒un+x;lHI3 dIYN>(+1 (rB(ᙅ6Yx]~a.sc:U(*?LfRWODe՜P6 ٝz]J*4$X57*A6AqE {ŃxրdD3"PYvuu rs1H5F{Ŗqp'O!tXdH"o~HwE:ɂxN73E8=~ goNGz>4z;a}PdH`0-j9kr5b˿ğڕN6=[q8χbgp,w-}|Hn-lԔaXcQNA1odg[>#o}a/8୘/* !ʘBUA>ţ1GCUg`P ۇA^0Th7Ynl' vp͸+?j,RnpS&'~;*۪䤆c.F&C3fy:rTӠZm9F$D+ɬ"bnT`¸fduG@V yi5[~/0g׼Mbl֍e%:0nOfb{:%p1Zzft 3.Ry%Pq!`bB4/X,cK;'@@"qR"bشU-=u%D,-" E(~Kl,:D扒ګUa c~&*/8 (c^A!v^ b[2M&nAj;ea4x?gknzf8G CQ*T^df؊ 1;]zA``u|x1P!VOATbzEdӌ4r1i79KubʗCˡN7Ʋ_bʣuirETӖfN$TxDIY z ! 6bq 9>p覃Ё$ҫ?{% =ٳ[ҲgrԾWKAMHWQZq{ΕSOQSfޛ{mHbfN\jJG$j9;GAk4NiˆGfPz;8Gؑ> qf<`J8!!|06~&0;}-5":$WkH,.&W׸5 F G?N$MKw\j_yy@be_֝;Xw,s#;sX)[y?m1$Ҽ0'Aqh(䖙*J<` *?:ؙIC rb~W x(RRx yCrDiQ9ճ;7̔kvqt(4_0O|AE8@QzBN8ےl-uq.A&h,.wZ1IKrBd%N.DUuI}A4<NY98gム+d$`amzxH8RQfk(.:터y衎>5vyho硿D lqV D1Nf,Eg<3>Sވ O7 5Lp:cS.ָkw!Kı nTe@#<`tO"lɼs. -p@'X[/ߘ0[/[G/iQgv`P flPĩ~'vgg1 )[/ &ӗ"qAJ9W\b6*t 9W")-uS٣%Yk먹T֑lrBR^eEA1LQ'Qs^>Ahi5ry;S=<1Xh[+۝L| 䐐CIPI7D_S KRqV.oKuAFy8+U4ᵟ`ʷ'xi *] PjxP ֆN `EM@_iK?(7{ peoN ߈ä $RՏT ;v#E vAZJ(TWr]N|㢣@z(#0̝m{bޱY1~P ?Z 4Jhy`pZB B%xWP,nLV;MFWuWi|'nn%؞b*Ѓh7r8s_P} |*êR 휝R5J5*v4gV>; CV@ǐJ~u Jo+ ڔR4U< JxM)T*'3>e*I5 ee^,8 N',r]"}óװj&T{FCf=FsA5yHU2իk245XsII3E'ʘf]>7a2 `4W&-ɴn$WU1/L؂rT(R0&)N%_rG^"WqՕI22P=.C"uF<ރ u+ rGpupu`^UZL=s3uu"6r&`ʅ CrVY )4O S2Z$64OIXiѰ9hB&"s^_6])lk6cqs/j'PA1hRF`CSfg2Df8?TOPm7&epX k81Vۥc cf vbڿ~.ί.FWg s!} 'd$Ygr @k4zm GVvOz{6>}og-&]c/) =?q婷x*4Uw̸h]tݶty9omlXd\=`6F93rW.}dK _5<ٯ^:mz.΂ :?2P5f5ZaK _;"D9-Jjفvy&d IZʽ; mmUcA|{mU%|Jֆ޾M~A{_CXȸ*!~&3*o*X˒ UƃIn,R~6&u0Z,< k@n33ZdT嶿uSeɔPii]"SYC_KL.<~JT64 Y1fTH2aĮL?gQCOFǯ)KM,1X*'={>1 *w'ˠ>J4pF7o !&:MSFlwNk~T],/VeQr%<:ص^{w~9[)>uV]:#7*- fTP ؽ ,m* Y" uy3hDQd: Cex(TQ HDJ5Z$CG mI1Tz8-Icr Y֋Q  }vΪԧeD/hR㗙ԣ(&. e!5Uz]<ͺh*ǍRН#>>f;{^4]ePz,'{ ? [6@S{!0˜O΃\>BskкQaRL'Pg{+0d,LWE*_ } t j=7o XTTF-R}hDis(էiE 9T+9RI*`B`GaU-K]%iBvzCI4e&<,Oy<.LIma6Y5f! 7*Mʈ¦xBBlNx RJ\Pө_]e\{&nFZ GȢ !YU +* }:<2~Ze%hb dCѻ#j^Q.M+۸n߀ðhQPrN7YQª ˚dNq)!FEN9؞\Sޟs45PONLYdYe?_OONXQTR?+6-cX5 $2l2ݿXn{Q0up}Mf8H),R3,NY !. ĸ@QH(^,VVr gygaاg3Idd]uʡw)~^ޝzR&SN՜y{N -7# 4UKKXLWU@ḾSLœ4Lט:dýe2=n]*UHgQ\{@D&bC{<邹z 'ӎ._wPXm3Izꆕ+D`#k?o3x ?#%.+y²K]C@ gxl Xl8#׮a~!( WfnzED+w ƍUGƇnV5g9r9%W`')Ff,fmHwRSv0Ոhؖ7wPqҠ׃ H/Y{OVYD I_ftP0C|8̢%!L 5n~<0e )pݩK k*zJВA첵gPGʿ:D{dAC-XݑXmk=XCUPZaPٙ8TʣǙTu7 _N`{ju>*S@/Sŧ'nvzZ!Ji IʕKHf~:]؎L8*ǵ`Fy6W~KRlɖzJ;kLl)Bia܅!wաPG y sih*R&;̕ erM $3KZdо Qnn!f 9⻜>ؠLP+v-]Z3'ָ-]ᵣQW}ݾvzزX&\?ldeRdj)HT/6!H;<dKeE2z Z )X!TլmRxy. EJP<$ڶ쁘ArZK~qgjW@=OJ_2#y4 kzX={̢V,=%R89nޖMa`1RnC@hsɟ͘~]*fDr*ڊir4LI};G6NCFږ 78Yh50 *S;rSA0}$Fpz";V1xA"7L(]7wC\ VSC:jd T!&5~^ĭԔZ.)i/S4IM',B-`s\vP{ZC?`XN]?I[`M22xK&AQA!'ܥ]TYAsEjQA!ǘbN}OgS7*>&DE-R^LIjtq-֦mː)i\>5SSJ%e#5բfJP s-O v҅ ^_%m% ~1iO)&BzJsҀþ GsE5j/҃\g[r| &cB#"SI?%1׮ꈧi^Ipᢥ\ rAF6/ԝZ=+UApїŘuIp es& E{r&N3l^R~"G.D:ch:"6t)RY9ۈG)9hy@)՟spy۔+qJ[XmɎ^Q`U FWbӊҊߒq l# M cOTwO=&X5D~MW.CA#5 鋁/oTe!&*P)[lӈ hf<ֵβ?ŧ=6u p"'l|?oS|[ L$5ؑdo-fֲ> srhM!L3K !!'ݽM\pk G8!]wI&h76k:]f 3 Wvlo+C4OК ut.t@Pe~h!w-9[vf)8hH]zkCoe!R!3yɭ`A48'1b-5CIڢ iDUQ,q|E3\2H( #I 0rc(@r;!WĐq K̐* y4WK@ B$] g./&k6?E^RU \mQJ[ye.55z΋[_>gߪ G[O)o\ZⷲnڡHBRXX*ҕ^V-_N֛|1xI,NvѝhXy.J'~UwɆQ5=ר$:&][cyLSdɂ @ꙑ}}Ɠ #{MnrL|"S9]8И@q9`)(1H/؆vSN~BQb=zBHc _:9UL^}Tbm[32el((P`΋ gtcz22Q-y5=||n>t cVN>R4~NIЩ;!O-csv{-y3ݷZ,voxʞ}k?;9;Wtm2po}OPRZFÝf\tȲ$B) wn z4枑Rf ̌N ֤"q$T %Of<5raɴU9! pNezaK!,\'S1dwKY/WE&G$KUe5b&:U3dV"TB. ;hOFoNv,ht'c(pAfFH:۠D*N2tqHI (~f%d]=a:QW,G'W'7 'ͮJGFpnDabRf O}^{xn #b_P#W! SJ2=j>S`=g͏h=PK#GfN'ßJ0Jb8pQ q@l]T%aᕴ{o \Ƃs)=KAE-F!GX iL!UoO$%rRwTd$P"#)T>4޴A)XL|3ѓ^Wkե1awf9ۇ{'g?4|abИ~&YSpOY)xQjqL0 F!$/bd}d#[*HaY7EB-ZV`ٖN9M|L>1k×!f%]B*~&ggPxñ.O)g`F9ePUF^]&BWaZ6W|"lڪb潱rT`5n~)F,JeB6 XsHđ$$n yjL-M^rG:+]^_VU>PIFC܆NT1e5O┼d/ a10ONgs0J b7aebLp>37e*KHt٩4DOi'3/V y2"0{!MEAOxH-3LZiN\xB._a "xoz⥥^m{X@I4F;F?^)viN YdXzocc5XYc8}?Rd?B0J)5Ƃ|alx y0S0 6@IMg]gP <a<lJ68^ST0m)-D]VYJ52*ЖDRB0JɑHa)2gPI]0t|%G11h*]lB^dTp_3f7i;Otyaэӳ6N$kp| H1 ¯p }U-P;ȷ X;`K?lq W@ 6/mj%Xdܨln P3Nhhbp{?ʌWjUZĶ[oQcdvt࡙)1`6N%0̱[HİtGP$>o @Fy\j-Lt֖޿iN 4)ϖ"8HF2'Ja@j;`~HDYĐT<,H e׫U]*G @f@ Hр eQ6lŧ@ȫk ,ӷzDYAeJ3"X}:i@oo{b,Ja^ KdP~UQ$YD X BoU "}AK tiQ8e7Mt*vpmK7OJBU_枷+ẺŌl/YD@hu+Ҡcۂ\:BZWFպ86]5QakW6ݧq,ٟR*[|>GZYxX4e%'fƨ鬞=, $NR'"NjB`FWk..:Z{Sc(yqxl4 M~|zf- F?W?'cu?? .]Y\x.xJ;uxK" 6;ze<ɪw%ٔxdy Rͦ]Xd%FR<%hh8Fٓ* &7.`@hޠtdbtl\bO@GӁAo%dZ-;7*QTԡeJJPQ^GbpjIHPvC[ o v~MOϾPo':O<6;'AXbY3e@Tk1*}q6w;#-ysoZ(=j5>pP5NuӾXVW6ZJY)vvAw}L"׵5>DHwEk7 ? -nx〧/:i>`bZx-v؃OxwY5f0g'M_nIt3O{, Bn\#>޶X:I.6ӻ˸:#Ϣ Sɛ @ vQr`W2%ɒ7ikyM% a 9)t-˩1|c m tr}0d<3]Z%99PNya8O(T̼)9#I+ =(CFjWU?jG*Iv xT%~VG@JB(|F 5r+Y mDw{\529,nNÂʟ"\썠E@Pb7(> f9r>+MM16}.8z6[:9f뎍Ȓcj_Z*;7 B`>iyЉ,Ԑxmkx+#mlʝ*v>GV4aSHwaCAh^ց1*o$HTGlOD b{2E!&*\5YvqEh>?i6U/" &H*$C"Z,. D27۠ZNNgbmto"Zn S H_)}1cǔ@0?s{t-х\نiI Q~uWÊ\_.Nfa FojEgie 꺓eY_-߬+7~,[aԶX'"Ȇrg1%j񴂟Q?daI@Ud"7^)7^UnRn${${k&1Fn=<7C4W&ÀZI!/2,PZ L< ;I [Hر:Z࿵ž*Avtz|H˕@܀AK$J<*EBbb cyhɂ.%FuE s34whhQ-{)8&"C)q4:{}D !`x)K %YaVM"؏2<`:j~%F/GP@}ɇIay><<8l_/6\d! B#L}q5بTtqzlX^e9_C 6^Zltv4:]ΪR1~UI)J._]b-FB*idЈ XL*S8I^SD422r)~5KV(.ǰ)(,.Icm~^m4TNtVg˾k CG垭*EKaQ1Fv~r+[nO]9 ˮJBuL8f~ nu?Ogmg6.=/t`K 2s0 D5L_YcC d_DaAG ݕzxqMP9Ex ҩ2Zd6(o)T.#e5Ld6Yno3H³ajMV}3^$#XV9+pPuIWGK%7M0F5Tp mL\@h )jt02fɼJD:2qcgMT6|gIjtiX`h[Ch]Ӫ͐ +/ &=rW֫*\ft% 3~g$t BJwF7Oy<trZ%ekL]r$ ʶlwL}$}% 0跼PfBNc]z/~H:i"ncdrSQp< H4Sx؀hODJ79 )t;Xay/"yѐņ+^مvY< f<)5Hņɢ BCxXj*bKԐb[zlazGt7w4(eRH˙j)&5~捲K|Wktz,-1 l2хGȣKw+ibu, B*V~k>(`% ,${60x CViAV$gWLa5+ٴdMk-V@ҺsQڈmIFM#ز4ɟ-#F!E,ƆBs \UNLu]k;^Q pw|JucI+eNX8n $GOjJ;aS~C@6(eU!G8p2# u% V HlSڂvh|4N3?3pa f~Iv9`sEHeHgUv] nu:zG0u'*xJ77ecRhq7MApΰ`'PʭF,h.JAzK\(ÒO,ky USjaDfYf^4Rgh˾$se7Y֥p{% {UR4?/VklN_ZJY :CTVZ$dβjK5Eu9?`$Юe?R&BS ϴު3eת{ikQҪg橕'4ӭ`_"E6t索:xIFr!m{V Xj)@8%ao$pWUq*baQ2CEAh?W}_/قE.aH/8T5*4 ~9nL[ ߯C Y3w@PI_)#ŠVɁ^{wva,W<,2mɽ}0g[X,?/qiN8CvRx KWO|ʩ92g/X}PtTΏWj[  Wydj AL2n%= /J5EQAWZ2F1F>dTUeA͞xBߝ N.ONOڍؿQS;jV:`9byV\~z|jʯ@ONvZe9cg >fqP|ZKSxчkx$$hs y3Jr^bTA^FY` y 7tr&,(Sppi6%iNiթ6Mدgn. | /3IKe嬤't~|)ʁV#PK@ Dz%FAI}ox|NdF֠k L$){P`Po2F>ᗵjC',w LF%J-I+GC^UfV6Ki"+̳lx_4n7>`47cy:NJ)E1r.7OmEtxt%_c.Tڣp#O%U[y Y32(՞{F Ve\nvq"U (89 FNmYBPTKp* 9/jT@ztYJXqF Lx+⌃(F0BbMKe1 FP @PDuYo yT#`{NLe$$T8Dae4VBT ULAn|Jvflz@%_O.".:8tVc_HHmd6ъ boYKoٛ΃]cvż4rMI2Ob'8E!RVzAd,wOUKA`+|?cZzuu+b>; d4Q?QuXFx0` }9Iw%>,0l/m4Y?j3&[ Q4v7qK2ϻx]`_黾ߕ@ 9J쭖I=W? k-SȃWۻ#Xb5"%-" _Aig?GI Z$*!=x'+^| UU8YhTh~,-r&nJUGҁiD`o#cwLړ=%\m=MbxN KN ,jf&t.nI f,R~ ^ڋIjD] + 7RUiiV_Ż tvrBIL8&H^tso8EB(lj7X%=Ƴ87ڃ=,5޹~ ÈޝІ3%< 9ꐏ \b(G~eQN.ON5 I<ۀK\(fö"Dc(dm+1*U׻#Az;b5o*_0 aunt|`\]Ǝd#E2X^8M(mhYJOXq߯/2a4aB#DE W2 hƼz?W*̕13u!َqUOohb\5Rx*:'{]XLQeiBc'U/;hLyO#B@1$>٫qYͪo(l%?k6;-XÂnc넀ͣdHE'PQYVux-N՘NBD-h+9(\2+jcu+KZ`H5 q*L=({xa7!=с}( س9-g($,.؊LYrTm)f#A mk1y-ryM *-m-.iވzО~z<`ΎmpBQtoE9Ku#.Ω: ^cרV ;a9KM}*R4Q4!XpiGӺMӹ& Ӭ.@h>_M1)Qdcź^kVw@c|ka__J]x ң;C g(;C Pw3| 5f'pTUʵbLCko`YpB $-ի ޞC,/f3FP/}R.pq*KN %%֋څ+O<}/???vY}e 4KʡU#wє#wD*kMMCr^_/.+cדű}uf,fؕXH, ]U4K,pehb.j4y!z6Y 6{2 ?e5p&B/Y +2^O <9`{REo N97+)ŃRU?\di8!ݥ3VU*IKJddkoR6ѕW,!??[SeqcS(Ј 8;p  | 1S?5[Hi~( ޝGgL]IO(#z(h+.;J >z3RG  b%Yp-_ՠ_(=M?Eׇ6t~=b"wķG7e6;X9gH 6;y:] g'w{u-YbSt*lxEcC 1;Qv טN4VIlƒB+R_U~.@</-1.QʸC^LW ._My/$dɥ[(OYTO$SҀҌ3 ϲl0I6d|\0[xLGTHvx_D\bM]( ,>%u:z?@oߜ<:mTΩ_7%b#V ͥvWm Yh<*}X1 #>H 8oO.^ߝ.ԍr~F_z "$K`yOkkh,JnO2CY,k1 TkNEGcZF0uXp5V=Rwd VDwvPN k%f8(Ϗ-EL 0*Pk$}G,A) Sˀ b/9ê_մWTUAءX;xYx"\:yF@`Y ;_࠘}5~nXr,ˣ4GJY \׺Vw}VoJ4TbЩ[tĢsUfo⑂J]UǠ X{Ks\PPì2.\-Pr.h$5LkJ1Ȧg<:hQ:.!UDluѣ?)+12MV2ޫ %[EfqS-CnVѩ^ !ri2wعO/xIbbJYg{iEdkNZŽhLMU6RKO'@T.ﲣ,{q#$/=g4ra˸!FK:e9/jE @4e:OL{ )z*!z+oĨ? "<[a7_Wˇ]+:Y8 E,B4*AWk!:T0:6WF>"`:[0ේhwtJ:EmNk^5 nlZݞ:6VY%#.3`ЙKM[CGc)|K 0M<Y$zt[Gx\kG x@ 4|l8Uu GPIT%A"TԢuyi'wdk!l.S6.8'QX',`KbY ˘z&^ӆwϞSFyz0}]Fħg¨L)VdC C Oz 툋W~JXSro/U/ضb696+9\Ag|uO#ymU#iM.l9 QLh͏W/%ӓ7a=\󜝷~EFˊ3C#`ۯ( }5C Pyq, +l5kѶBeF;S꾣@1aFKffڠWӷ8yPz mLq~ axA  <=;ɫrDY[J[Ґ?\x2hd-ۇjYEe|IhʪD^6+P}hw!@PᾕD1+r%aU8[>IǠ˸_?z״skfP3MXgh) bUS-9Sc\]FRҀn]=_ WݢWtR!RCW_>+n`>P "p-W,rV$d`_HjqI+׊c~ eb_Ї(iޟ.3ykA(2bivY/yOb3.d٘XxT)zX+!~b h)ɶ`ʎҤIiXbloK֫uˮkz0OYD{ 2a'Q}c!i,<@/C$R\LMnʤ?T"?pp"?Q+N ^z NXTl9N=)|맣_rt[+tף+RK.=RyN')q9uѯETq9M#ϥ!%3}FS]ǐ_&L'gueVs2eⰅN(&%Kd-ƀ[g Oap-JE CWn yiy+mչ,q~$SZ5zؓA.5<9n9G-@BQ:C,uwج\v ziO:{3 y\JOPzTK[B-tךwB`8\#:Y`SGHg/B; @K V"J^J^>Cam/e0ڗ4a hj9yzQYӐ=JY[d b#2): "T>_/ *&|ђ{ ӓۗ$z@Ѐۉ6+i."qxlYl „-hv@`;Iת09BSxyxDVEϢ.;'؀NzomI~\ ɭfe Wdԕb ^!׎ڥİ @E 8(;;_0eײTKw/Uʰ iϏ z`o΃9m:Jbۚ'cW T,A X"N<+!wG்LrWGh•| !=e%+K#,-hspΘM^P%{\@BaC!ؙD6$('QvUHHo`jqS7=iI`sޕ>1H 7(,]T"`-"*JYF1s&c[nhy$T>#%D;üf5 $E5!0xѶyYCNm^۸ɂGcçP mh, 6}ևM(!d TOVvl^K& H'u9Rt(`-`HZ ut,&+MNأb_ήQDuM#? ּ}vC#&7 YSC2}^Y\fc[Q֩Kդs=XګQjW E;IrW]^f.ږ̿@s.7 ߣ+I _wm+,g\-G\us EEVF ײw3f[W0e>K&Puxps5M]e*?|b'R$5ݲ=d/Yx`G/ C/`݁ k;y1iǴƎ_'s=he2؃*2ȅ#533bXV"F ԫM5qԚV:@ڙO Dұ` J.tu|`Slݽ0 9:[x:J; .)\)sVB+(`RfӘ+5,r>\EɃP+(eK͚M1`gZp(TkU_otnXLy̓}`:r !"{D^ >j{œ,ްD!oɦKkv:;]_[ H>ZIl8ߖ= C,MrPbb07dTo.=QŠ 𫻛f0rl,*sT$*9 gA):DvImŵ@m'Y5 S钀EaE k4i#ĊQsӼ:f'4k6>$,i0qS}y`6IFhM$@1-!_cKC%. `AS< Ott (a=՘T@B˼/xyoLQ`;W1 ܤ&U# ;F 7b=vo:'aA_# 0 ;;{Vv&F&A&ADgncBQas2Tp2ie) +,B[ lg)K)|Q;0O^ y=4Զ rd >JF+af@I&<;YNP'6΃)$6Nox>x%XubN`B*D,/cj!m67KD ̞˱zp|d:KX _DYw7*N1 /c7+ʞ#{'(Ə/mq[l=G۴bdVaA(e씝J:XfzʐCI?ϵrP^Y-8RCM <2¾ay!ʩLi Hy`rv,UFLtwEoy}ҳtz,VJK|VXIC$EB*B` >~<@mdveWa"x ~ 0plf?X>REN}EG]jCfD ϑ۠kT-FhMy#څ4h#=;]ud؞ѿ҄'bqX6Pѷ'5#ԥB qSovƵ= f8ß}1 .@HA6g[CeտS]L)T`kwƽ]?@'9.4eva?vƈ!j\`=~[łWUs&ا|q|{fyom0 c7~'`Ugao@zX֖S-1Bj/dCV,.]@Iev~V;(q~|r)# M@ [˻7߳0*9%ekk+P)age $.!~Iͫ&^pK`F [ȋQ =nx 2RjKMޘ+wq~gY? B\b#%~R w`^B$1/Aaw5_at려., VקGoPWstnR.=cE\ONb/c<+QGK9Vqt{z-X<x.QU]df7>܌\åQ%(n6BHڗ#jX$"yBl JIMf+n]DtogC>d]Lc*;p;Q^nzdۧ=kw0|~AWo;t:tܦ捧Z w&n{u;-mijbP/Z0R[Ԯjg-@35ŁO:-ݽ9b Z~3ǸUv{=FԮӒnmvϨ0F=nFp,h3RN/=7G-[f/Z8GۯkݷڽCNYDhELM̓Nv6vĂLH/ICb9gI@CNsU`ҶJ'4̚,.M"[[|n#g lt߸ >Ak#o` Ϡt&AQNqxOz?(ǂ,wQGlJT4q-%*@Ԁ^&ďRug~~yv g=j(4Ypuƌ:E_Ae' kƷH) F> -|Ccڿ-@ÜSw їAx0'Iy_7܎f¼ar__ iytf+X/6dGugX+Od~-8Š+*S۲~1 ,)I%*A.y^[ut)@R%8yL39VTlУ,OY)X$>a\5R#Ct҄pAK*Ubm,]ؗ٨Ǔר/:mBĢ-,KbyP94`Xz&|g!QޙL1$@:zxD{W&Ϝv6zNߞon=wz>U}~{~2n8bsDVgKPыPHnF4!xoueƽ߲ML5=8]pa~h :p{C1X!3yڬUe7fi|ڛK)_Snu4/::D;{cmtt;kŸ?ihVG]yʲ!4r^G={ߤ=(hb0Sٓ٭[[Q̰sVOIvVO aW\ҟ~.^~_x )i1 ;/G[SƓlsM c!EQw$7> o?# :DC h>'5/d|ƝFI´xØc& !\UjwEI0plm`ϝ~+ꟶmN+FAW8=΢S;렌n|)88?r=q!TtAtIn~uW3>*p|I?RtI 0.WJKJVD<CGFOt' umAJ,q4yPqW$Og{&| |˦ttEOٍ {7V)`}ZR}Uٞ iRZyFysSe:5uARkYMk!I gHHZӘԌb\~HT]@挍eW&kl+ UMg-tکTM^YOPY:M&o^iZ@=2{lV7Kߛf !+׿ú jd 1dOVxV{=d p PN2 pZrR[Gv*{=IK{47^^ъl"vFkXގ՚6}P4!#ϨLRA'X͞aЏh 6h9=QIJX+!&Xlh軫2jSQ0 d轣7ZFj~z['ng?  m61'@hmmm>~Z-'[g'2͜ĺن$W6 I笣[[L߭eA١a.IAɂWjڇ^re\P+)/wktn3}[>,@(Pʚ{qkA|g퟾d҄qD/O(J^qz,C 8Td?Tl!PZ~V5kF+p15cHt%"lmfW?aok-TܛrL4`S48*3!d怦˶ȕ(n>T㝮 Acchilh0-G{ʞS7Nݨ( 6/=d,x=g`j'O: 沪")ej ؍^Gto*GF(p6nI2^ooEP,F)x m=& hej]+tƸAFlyh ^ \^Ybʫow LzsӳlQaFKbX?8MAawu3^LnP_ؼ%/Y=27^A١g &_--~b[LpP3(y YSPsTGyI[>+_sG;m}TEX=Zhua{d|O 5N5^ӖXao֬RLN K%`H(@üG?twGVQ: ལ}@Q^6C9[DlLkUe\ݫ5e'^2ޡ^휱5ԯ/3<|dϫV 5Ɠ&K{]j>GR v"Hn(G0.)ڞm8+JHFt(HJee:Y+uQ>u;hnl5͘nUw8y ? g?W8 ۖoyф<1U (r)đ3.;hۨ48b̋6Zc=v,C( tfGKb%-n;٬w-QP .,4<,!u* U昽Yl*㒡 Kds}wszesS* y>9Җ!F#P(B4:,H"CM?^96jo5jo5 l4Yc ,3TrUcfj PF|r'WSW / Nm-B٧8E@\E!edive,L<4ǚʦzòzymwl ree.?N~\U^ P]\tD6}+`{A:@%uZ,5Խլ?s3&slQ*i$Zcd¥RrHM-@]ULe :űMNp1OOHvj[6 '+4CWewmK&Ɠbo#̧TĔwPCw%|҄*zis6Vmf6FOo6Bfa=#Ƃm"Nu6cp##.u 4],]G@sK}qN";K4Alع|Vl9{l!MX*/?N]|qq{/v D9:P$xhU94r0caW$sqc$€:Q_n?#Ň {j#O[n)-|I\xmQq]N~wwwns9\^>#F-k}jN ss&9pFm^?Yb&oXb;=x)jc4Y9N|q\@O /IчO{xSV\`i4f϶8Jç/z3X"Oހ; 5|2;mxP¨:\M3lC-!~eDlx(eC#,Zs ǶV3+m"s[bWgKxYtֳ?q"{7HR^A\_| [U56S*vN> ֦Mu7lwcΖ|_LGCmu|NNJ?B>!_ {݋Ysބt76Pݯ>9*Pzt3VK1Ӧr% G,%&A)>ޝc*ɆcJ 5>:_ h }H|cPӌh]$%$l68V/AC.l7a܁C_is( >,s6,.9{"`K$l-X3J)pTn($Use±67aŕs pc-˻#mɱ`X[Lu R2Wh0}l4ypK Mib}m@5W-6HUՎߎw-/F> nu;{Ml.xG%.4431^0>#z6P g Tw>?IB~×wc7fOGE}quI&IFO2bˀVDWeB0*3 c]˺LnP}ߖ .LAPMnxց[}t{q\S3OTum}W*PG22-'=1yPq3y.)*<0%&0a}[LیkH:Fbj~+JeThp6=P%q,Y1VӮ~G*eWfzP2h [eziUqzh 魷PbAB2idMtPøu t "*|#JN9iqU$ bFAP:OEV 8NR] Lxy@8lQ6[J~%c'(Aut"R<ژ%|ċ"V+Y DK(6PzjN%V@kKBUhV'kݷ(u [bug[_ȁiR_Q(&V< 3اǁ뫃qXB:Jb"$D]uxǦ'ܳkאCD\pL7?=}eĥ}P<(O(%RBA#^8Bx÷K422LH*L5E4p=;]+*V\IgW#!+{mJ.ЖE>k̕ԶGj N\LQ;ɂA5U_CՂHj(on _w|znK-VYWq5Wp ct!1zLR+{ۓi=cXGu< msQM/AbJRj-G46!YH(.|zY0:&T9 xG8@ .b(n(9:~N/ʜiYXg󁀓xCM8'|hEjX=(=m[ ,2Di2 `up1ެ`锖WoRrGdtخ<٭$:QWujJ51˔njoT`#i{M%׿ c M nc|˧vIߥ\]Dًh||mHX 9QtmFT 40HHƷ`QS$`!9G31)i~ (9~H , yJۇxVf"љ ;cUw'G܃TrXK7i>Ft*'in }`'fm<-01qS$HҪ|X0蒎F38:6t6Q1q5S#m`Ln5؞p!"/@9[d/B/hLoKo UHmPVd^A}m€y%Tlj NJj}dS^5&K0޳7WoGo5ps:@ +<$i"(e1˲Ң~.nt:k|?VB[ڶQ7WS 'z< atT}]g&x)"xV,Z\@ Բ FHO&lE>+J>-P, R.5 Z$9r1,@'%xH^ G>QJ<|t۞J~+:qe7i['^#ƺЊB| 0c̆g|x_fHvk6JexbZu#;M@\~!/?3QVч J#o+@p,qz-,#ok-_~Q7q: 4G׻uEv^- , \p\ygy"l]  '4W^u"c\Uu}$yf^_?Կ:q쮑;E1|ˈ-1Xˀ.wEدYv>,(|6ne,B1%:\;?;^U|x'ÝІ%l X+DUo*L ccB YZ(pnn\_g cd:`I8LX0$H&\;R8&)/HX=?(s>n!hiM_*107w>LΏmy? Җ{snuNb6 r5x|  ҁ:~0>C\QG: +$̅K1L$uB< )؉f 6K;D2P Zwqx 4s%|+_]2)\ T:S!3he2:B䏶<5N밁*YЄ$g>t?h 7Di%m)m8TywJ*˹ (r"PFP윋I"b^YwD~-2PFX9W޾Cg4;d29 }ܣ,N7X<_ dȜ0c¨Nvi̸7*`4W@B V.o.Z -u xԑl󢈒4C)NaAoM:mC/@_2%pi9y/&B\ߵȕDk⾉| Uct+S 7q.s\{\(mQpB}eP "*l.8q*$4 hKN3&v΀j ~~d=k@SMq*w%Odف}Z%/ x|z#>,̇N,͵(7," *)-1MKT q&ib:noRd];IeUȤ(>1E.:>n([9gۏ⑾ bP~}YPcuɐqDg8k\˪qE]1|4<~eRo߄Y<Ȇʢhf fDk3g*@tDT D0}3Zhbqԋ1+_W 'b[s?p}[a{o04F4 ƶW$۶`I xNmK)i }qګɴ/H']QHSZD! ;>ןB|]u:ݰ/#Mm+FM`C7MCAx 2 p( Chn \ SDUh# \9ap\+_J(L,BPz^xXyԪ*йz|V? Zr G` JfPW϶/_X% m@f1BS0h:g˸p꾩EӁ9n*<`|EEӁ)90c鰞 *XhEjEQj6t">'b(2bn,{v+2iMHѦj%/YDrwvz掆$ZfvG !CF{J21(]1F Fep ۥ m7PSO( ke1U3mj'llc ~sQaDzlc`vBs /eNb(f)?d+m,p %VQKíR~`*ڶ;[8i{SEP M\?}9!_|u"l9I;\Df,EgQț:c9yޮ\&F.GU:f{Y"i>j[< wa-ݨo2j_RDHl2 ?1QӀmm޶l))k{u[U7 Ig g` *z;@ <ыoMBuN)g]] Z X-JG$wm99ܥ+vf xlvg Hɝ$E=Zg+~h ^#"5ߊ{y=Lf^|QRg/i"3 M,zI0s=.*sg9+%sH Qjb]w׽l]]Kߺh]%rtzk$v*$l11P0]2=(+G#rYe\ݧW+|7/7tCf7F6+-en#*BTJ7blÉBBfAΆ !|xr'2޴hr2twe~:";V_pjT[_ʟ !+6hY&f>T-u~j XX2ds$*H 2ğ#X?TǕUR"bD,Cu3Ax=&ku\0"qqDf}Jca>-߰ {cJrgR^,"Y])!g*s+/I  db\y[ uV=[] 4A>iEniōv0CPl=l˴+mIs*hDQ x'0Q.A)귘kh׌!lx'QAr ?^ѪĥI9w^P80W"D؇ӂϬ=t4 VM+-Ġ}< <{ nt Ofes,w%Q=_cCwոKʞub&r$6ec\,!Grl|6AI٘@vhq+5Ӷ3qE'㞟7Nlz"Nci.ӊ1il/*ۦ!J|pL9A%ee+?\ˁU%4{VP)Ve ZXٿ([VS}8~ji6l}ss7lwZ)iiC4MVs:-t$5l(WaGfYi~;m[7=>M84O4K ٖXg Fȧڵ=%,< "1ɥoXNDQyC$(m^]mn[׫7j}+E K;'hkpb^$8c=֡-J'uuu3I.j1ݤC)pjl{+;U[VXq c-µ +sZq<5Je$7D;xvwYVibAݬ5] 'P/Y=4ak^; n©vSFzzǣMѹinu:M(ṷ7ߵAk#qËA yD{cMV249~uou}kg0fvPZEQ #NJףHu U:g01T|}S˿qڗ˯6#/QXP Ddώ !liH-G_>`YIf`\v4u1PosSxY,.~~u d[?foۃUŻ=Pw{q7)w/cЛ\<(':gwsǍla+~s,~"BL"UPB'2U^, >`*dZ9ˎ+rb{1lTi0weSq|W$SN\P2WDVۋ`=^j#h[71 7 |҉vŋ-s :|!>EA߆Hܛ:c@tbLao[gF F'@Ybj!](r8R,ߙmʼn`a5pлht/ F.z[]s`b5ꚷ &5ZE|K]*rJdd`Z3Pp~.$eUr$9+Ga,eD;miy<"xPD)#޹$ R,;/ 5ia QfpD NJy qc #t5Әf^ybZ[iܝxus{0$%fB2}KgA)Cga;<˂/ ̕9x/R+ <~  xA?:%$YY3L)n0YpF`!pBЪi[`>C'0)&y)XQŧ>Vs<569M7Z s+2}Ü r~ndIK߉"")}n=6dpce_6 ~f^+s_e~(ca̸>T,kzybm}͗)z?7Rlb#蜺rUVeӂ܈Lk͝`Hxz5 r%M#$8brc08R$O\{\)/[MdoM'N}cTHKA.rB HK#U."٥ V۩Y ch(tIj5& r{Z'n3azq/+`ю3}ɑ\~΀sK>3Dj5k=]8|0r~(ND==Lջ2,[ܤ&eS^ς#?kY`u@Z[fxEI6g? +q?sԺH2f"D<ūHje>]G k7b2V!ې0ZlR.@kqY o}q_E^q SYow~f3ھ* ~3QcZؼr}l*. g&DF<^RpU\/b;ۨĪ)"٩n]5+Brs/ }Nik$#q;g!i5_E(tn ! :77F#;? ~C ZW׵' 6ި1iZс%H%o[WfD$5w 3/\SaA!UO %M*PW_pmSG$p85&ӊ|%ziL'q` v7X JۺL$rRbgZ^[tVh=Z\s@<$n"Dۼi=kEfY\!MG;t\ XtHY*$\?^m-oĩ qSti ]2E8G!Nk؂GEjS&~ImҼj-H64F:o12.F$"k@鐟(=-J,}mcJ<^ERh'њnOQpzxG{򹄢0c0M$e S`V7= J4Xx,v:Hig4:1ڰo [O L^`*pcu*vH3Vf"?4GNC ,)w;homGpF^Rꉔ=*%N]R~\I3;݃9uG yoB~نIN[E+ 5@=4IүjiNyCmH rϺ&yUj; w&=o6^pJt 9mwkFP rq6˃]"K1vIIYٹk'E׌Iڙ^[ DG9!|ehx;sG·3wM_<Δ*[*~Vnj۸=_s!*WZ~;**9R?ߢn˥ی 28iN  '( ܗx2 x!63+rp]zgk#q5m'e0pZ,K;W .7ר`qĺ5V7oӆ23]+DNP4A6M\6zfmUdgy3^G+y3 (+˚Z!tR1lb[cJI >%yl[FQ0-~q_f "#.1`c9Ӏ#w& i+c*SKBl-Ghn㠄0c8nȈGh,iG0#äbJIc[CF@R/&_ϊ $i:p_T䕪ҫE@1uC_ b$h^N^qB-Iآdm-pcXn-M3$aB!r3fHB"$5m8M2>h^pkJYoiq 9WIcjlkEA"'KCC(1"lC *⸒u~w3hrW1I s:2lJ|7AL^Ȁz!Oj%ĘOOV`چ5 zKZOsߤtǴBH!`7$x ԰LZ"` #1Gg0cI뎁G2E-+31>fp}_7|brE~ħ^COB 㞘(p _2,pd `٤2a s=..qlXun)w}w 0+A1Ħђ&P22/ۉ@b` ]h/Ja9ƌ`+̥MvSNȑi$|bjS 3$VAD)}A+C[wp1Q~?{Erx@Fːk>QEZfw$I`"QI6Zާ3bR#U N+۾œqٮEʕl:kL'CI7Ҩ@Q $?*~~a %2*D'b{:& -KB2YqX)KJ,9P(ekgK\/lr .Bșљ-9<JqbUU}DWD ľVh%|kU}J?5~|Ʋҏm,_cSuSz v-zP,,,tE=6osĂ5"vK'0s'˜s Ә!jϪDI%M#3]T|TҨtDs 8 gj2*DH{B^| /'sĄQ+`{tL\] w]bPT?wʡ5,f 8 ./'%灘q-SQN՘1rO0eMR4ٹΛ|zp_*1&)U# ϒ~귚U+g.H;Qk%ݰ&XZm|Akە1/nϦmf~~ # XR? (=+hٺtp65NOq-0gIF"pӟ!: 4B m1G3䵧I@O@#< )# aaC.ÃCʾxX^=|g0;jKzK%R;]jYnFg UH*WK@Dո |ؽO/<#łL3F/jL(<Į(؉RmEQDgnm5>ta1aIqOzA̍ FQ0# %ҕHAi"*\Y5EGڐSK?<х& -x'rku\ i4go{n@]L`5 /$O?D` T9B?($0W1d!C &r92;l+x(OnpES9GlL] ܨ 4([mCxeަ[W:XVrgo?9nlQe{[)5x0m!\\{ ֠hg2 }$uLB:^z?֠Uh"~%Aٳp3P I<:aK!uPvM!<"xe.Ul,)FEԣΘ:dH+s}2wB&VȖ7rD ?\J5ls!1ݹ=fyq/\d@X C$d@`OdiZ [/M ic/ JmJdܗuId 4va-΂ !]7|5kH|i@fs;on;Vwغ$5Pn} 1rsST83"Mk1t^)\T{(/ܾ:6ixYN1e5FfQnTH{EҧVn01 bh_ A '*aTCj ,EDGXAv4# q6&J#4[D_bk wcٷ-Ǡdg$f splz?c '(ׂlËaxռ S6I>ZAH}t1Ф"Bw.(]W(GzZzLs/Br s0^x6 X/HBD>W,_F$ 8 c(wYhaaKlZW>y!ȰC:y/:~nrSX<1#ӌ.CKV-`7>?/I4ʨׄy q򽎀1H"bMo6گ)g3ꤎȀ>ץh$ĆAPd 5iT,H b:~2-NRiM^b5j p2LIZ% SIT |v`Rsr0ݙgȲpI'kF"3 3S[5QYEܺ%yE[L=aNSnVx*`!2@}o[<`ʤCLꇆŏTRt JsrIsXZ|x}@} h"RK*پ|SɈN\L( S95n4ix j[P2*uO- 6G@*ѫej^|K_#C.}m""]2T `:c۰ @e !E\%0q%MOJ$ZpQ*6'%QvbUQ. iW:' F!I m\~/Ũ}60ٽS(E7PLn$Q/㋱WܐqGdw𑟢*PWkbgG|bVĺ+`s]=^lԨ ^n@?+S mHAW>R;'(FH:I(†EvG+mN oXA䎊3. @r2pLhߥM%D] C9`a̙/X1aGvw {{7!e_Ȝm\oiMaoH3 1i0.>H;Yn=^bFxד~p^3Ub_bN@TH-:Al_.Spf" lTF4|!wëQgj%y NKt]+F3} iJķV7HU $8YS pj}UWB˥V}}}}ep J82 N:Y|jSMw>Z ]cǸ֢*jZB^^?)!zKOIgnʰ@rc_Ʉ C4FʵC2h Rb%BF4Z 92wЪ=G- 2J~ӆgp!u{nvf0N{8+EClET'v #ceIeYmzGI2?xԔnfH{iܳ\qN֤yuQ>={^=JX~}_/W'XmԠQ6jF ڨA5F ڨA5hmԠQ6j8* #kCuc349)~~u,N>Eh|u%?Z]G O*6G7f>}bo AL>o-D//T(QJ]~az }yNv 0VdAM,߄ ୈBk?FѨ-I"7y;]R yFs3?'GFH*#9)cbM $w[D^gZNx1k.S-MϣθP\Jy~|Np'ϊ K e^Xg8gEꋁ.̈5?K\d!ƋXxB KI6Q]ݨҽ}d}==QDU$*FPnewygx CiHSGYUI5;&laKĨz(gNA0)o@م_MneL 8]=7͡ @CwYk.BݶsHy6lk)Nº$ΧO0)3|`PQ)l:WUaaHg^($I9/3~3O#:W6'0s}ߝBthP! 0iO2A#HvVaNažL!<y. 4gE.a=TZ"rj?Ӏg` xH'{>qxI/ԙO`-g*5v pXp+ 2-`IlYq=`b҈OMw6ߒуZKnh;% *f7IYݍHM%+ʱbXc’YM W^)/ fh*yzz"dGNDL`o0f-?"mꨊdZP}i2ѐpuuy ¸ASc)z  !dx@CTӹS3vE iCFX ,O8WyB#({"HTC$1+ݲyCm/[Ѽ{znL-Z1Δ0%ϯS;OGֈ0 @m?37Lė-@\pRWE8sDfp7NszK?GΤ /ț\F40I;}3D<2m@)c#B_.o9f =:B# gL% 2&VePD %B$A>LE L>n0?1 hĐ? T:+ca3EEw͛rg2NYDZCzP^(]U3+bd@ERˀ92쟜~P&KL]ՓѝsOP.ӐQa}q",B~$S5H["DP)3څトOULÙ&@:hf>)e(} m)ڞiߖg uR$yDĕU3tFi@LTpm ԙz ;˹F7|q9F>]b"7 GZ]BNW8 rZF+q:5p0^ys|[ V@ ࢵD_GLbdPrdt.HN]h W9:aKlFrTq"VP;3"){N+"x{E3c*I2n'D@}R )C[Hyw<i儅+)âWt8I I#f+XH>=GMfU6H^OOwR3\(?%+󬭏ON^QU_Y#CK4(5T0T^O}F}2묇T9>lHVR{_ j2)֪u~ N.=aH]oNRbӣx0/@?ۿvٻ*;uG&7՛q vB޾ 2B+P9}/+P}6+^7,K*n>}_; &b6\nϦjȳ@|.=JM@Q"@ Tq) BOJdAqѻ6^"lvw7[M'Wӳ:;53T2N="^e(*g * A[g' ~<nI: g:BP5V`1ƿ̓+zovÁxsbxyL  Cs|-#R ֨<^(1fIhhV _upf,yzHve3'OߡG(ZJxʚv!R`g{pɠEAh"=ƧȆ@ep4T'Q+5~|2?oL6^IE CN0 mŗ~ڝBc30J`CO1)g/Ix6,l<.z:e1⮖HK7dBMu0ovy3QP `/X/w]Hx1 6d\)']miY@*G'@1ӰmG2 zu:(qZl_JIv!J0U/T ţ8·Jg܌w euު2Ҟa1ݹ7miBka 'w5NϿnIo&I"ޟJ23V{d0DTns4yWdϜ:8wАBq!dWɊNƦ }>!Nk_$DNpԉ`bQs)˰M+-_JQeU`xщ /ȜP{^ۡв%|kf1D;>σ!7'F~/'毅ɐj6p2dH0JĤ9X%&1l*uĆ@Ɠt%e(khzTC8.SK$W3 >V=wvs8g?ZC+B{LLˑP{y+6QX l4Bn()Cc)j 7Y'\ &<;w%C>EUC_KY@H0S'b[_Pa9"N #IW^s^?ݡ fO3)sJ(e:v֚UaLul&.񌖞0mן6wkEnΩUYENԜ3)wM&O>/NԘENdL=] B [3W1]EɊ-"R3nl|FR a0%:!ˁ5ccvmf{xMmD y[з_OD;&yeVJ_A)( HcjXzⶸkgNdƯ;;38Lp\xXA+I7b$ϵ~3qH1׳Żt\u׏/-2)]k\åG .YgC3ޔL׾x ^8]]C{\ܿV$Tex /}"jjݫ ELL,К9|GM4-& ,l?S{Y!wPnY*aҕpX[CM.uB+o9%~܋DG} Lrǣ}RFi4m;/^b+a*;p#;aS<7mjp-Eglx״Tk Z$?Z [ed3f$ 8ycO$xpWϧ<{al_4d>Ȏ l yCː&6Y R,z6l(h1ɔ X>Y0VbOSpYSU|69gB%BEm~e; ůaddx6TdnԽ@6ߔVq\iZũIAnz>v tVva"YN̋)}"@FLj dIDE6%M| 3~@&fs+q%@lD*fYc.c+J~I6$\cK_ncmqJAlShP/Z<5kdI/Z&w&"8(7A\!ɕ<_(hp!6u ? o//} Ėy&2|cp@Gl/M- 2:W:fߐPdZl^r6-籽.GW>M0aѶ]DS@t{%X db۟.NDCz/xDdB:-x]q6S<#1OFpe+c Aˉ֊-W>W^L >rI/h˽#3?Nux99^D2(jcݧP(ȏݻVnDBpHʱ=vπM't ޯ[}tBr˜8xm#|r '<ܻwg'4MܓщS>Cw4pP¤­"ckj0WCO{W{(_i& Z bE@͒WQOMw\ _sL~mr%f+fw<fBB" i^TeB1\_UAw&V^u8m]JĞRgO~ޅG!|Rb؁w~T7E# K;;b ivJ+Kd\1+4-Soe(* eB0`$%'r7T($MD ݘP F6U\sI9V>c`d*or9so c(VH@2+Ƞ EE}b Z3>S߰m0GTXвm>[w ^qAI8 h _Au7Igi=!Fť-|])b20*S1(i@(/DY)&-I"&xsfET!􃘓a ivn,.ǢL|rd%QvWQ5:?x˱3/_#znuiVR\8>q?#RJCr~Z?xxD4o:ጉi)3NpBpsZvJlll@˖3SL Re,ƌ X,} ֙@'.a"!I+Շ҂i ei$(>r6{X!`//\\q2 CH;ޔ -hq2íOM1\rC~Cc7svm#lJrqQ_ѷ%x_NT̑/tcpޓ)Ap5 <Jgc39c.C!玉.\r yx@| .oѱ49/leO G%\BmMQx~2Þ>dW^\ ܧ MGq'rtvgvx^q\L _pQ"Dxo%YgX'053l]nKL[%p uP\4X߻=NEt-ï~&a8=Je gG>ĻCCB Fq[~Ypߊ?$Vbt(D> n/OVH1v7N"Sj~ shKŇSjU$n@ aŬC $oE@QAx3x/lәA^ ,?N4CJǤ GYif;Y܆krcW{"תItuB,p $S"$Nt@MWLbDZBܐ'G'kv0-WHT2ZJ ܈lHF@Pbd\0*1"X%Jɽ1q֡p%KX%Bd: dc22DFcP׳@W}8&}LD3XĆͦR#p%[;gjMf}V}D`7dC;]b SV1ed3ODQgj> ƾ8ci_[(V2ubeҨE̔ 59dwM ϓ#q:Y0EJ荧"`B|Py#鋺W$Sf8{m4ޕI*$eQ;*j*Όd(.gu${x$ kJ]]A,'²F>i[];<<(,ժXujxbm7IFK(필צ ӾzшrwGӰebM`*ǐ\̥X[h'w؈[bty1r6&>Χky% ϸ\~jS%QbjW F)i h9.UnSYRRyljK]cO95 PlيÖjJ.`anJnj`76B{6<-š.};LKpKf3öEG>MPdQ&4Ң S: kՂz)Մx0LK< D!8Q]0CP/4;o1=Ex`~88~P#\ aU %KJCD?اcSƀ0&^*wis(aاQILÃ5:ۂ|)_9zVg+V@pTV«FRZY@ܰ1RF v ՟KllԪU2I!k{VHVyZ?XU?~xczpHw *S!vV7Sb$Vš).7T*uQMǏGa~tXxH˵ڇ@K$J_9<د>~د?A\n$ZYZ}_pTPhvTЅlJF7/2VTje5$Z8RH?g1«^ ȃ0i_).(Jڐ1TQ(D'䯳+<=',Zn~0햩5C+39GQj lf_KDɄ:)>f릆=nd|g )&,F{"ޖ -8aZIlG `4qtOB"L PjܓL':Qy>&Ztpx ONxx0tt,}z(Tc^tr>J\FcptJ6}>9FNX~$,ؘaMb6ɠ^.ta$%΁lzK-ݟ pB*n}o}s"98?qk {l3>GA S^lL>LܳEcQIJeR#wUȼ5;"-#wo=vC$ˇE_Z 틘#m 3{AH)>ЭGdvw,9GEN-qdyNvN(_u6ԍB,XY̅xlnA$ך'V8)pCx)p< &hՇ|b=;BXq[xY{؏̘CC-ԅ&VI2LC~>( ␴"4x+3=+`+ɣuME4857ߪXQ/f_:l_njxʄ޸#df[ r3FiȺD{ɳΑڒjpF5YE,hi,rE> IU+ CQJ:$-!^vY뗧!{➒6dm'kO&M|7C|;^ꊥfwM-4 W}=(ʯFGچJw*2[Mv{gٔ2vbc0S~pmV|.M֯tC'Rr#3R] xXXdQq5eכc dCg QNS#8z{SaD Awy&Nk*Y9MRò[ia;`NjvسauaD⠩S@0ʴN{S)ÀQc27U3$Dֽ΋[:/z%v} 6#7r&@cNb2zcv/KdIo6emљX0,t&aZzIԦRQٹ'wtϤg5נ _" NaŌ5$&ˉKMm7YZ͝Tftً`ecO==n+)ѿhb*Ore:h9z@r3gj. Cqgxguf 28[vZ3gLEz<rFXZ#Pbc˕dVE%<̘2[T @'=fsT!k*[vض 2tܣr8!Hd{+ /pFP$DC/KNg-EdwHzoJPp̳=6Ei_[ 7F-k7P \mI\njh d41FfִB `B6xc&Fr-ώI ؐ/Cu2{S;"<"ՉF}L`ɨVzMS O[B QHp; / $PQn}fE$gAwr+[?YPa}˲jбt2xx:aTwvFSA@rZn7/.áUr ױmv{"4]bM/a.f  Ŋ1hxOPY$Y_!boWA 9^82^WGtO*I;k4SaBqē (<[z<;H m^i)}8{@B._FxtU@C}^FVq]Wuw1cl+30ڳ;؉Va\; i(R&e#@J f=Z_Lw.pePZXHϔ B3!:C؇{20yT.7oeB~uίnZUL X+::j ;ԤA@4`״FWYcܘ|o٫:t-x5;/sI͸"Q(ʙ.?JB_EґU"\֪W+AK㾣3B}3׾ LYn}\U H.|nUޖwߺmsD>3^.͋Z o^=o*-9;r޺Uҁdzկ[Ghr֟4i+- Ag?yd,"bR9:j} u?2sh`Y!bO+sBDL;kw: Dik22 De̋u9|\Z`^|pB4:l#=2ŤľC;\tOn%G)ojvlnK PKcx.iddE|.DC@%3S G4dcbJʆ{fZi(kRPiAr 4v$.>Tqތ[)mf6F򱎔AAB :Nۂ%UtVTh?YQ=$M}2#2ؖxlUPlPЅB(&[1$ X!;΋/wۭʻsFCnzM1tE|!ur-_¥d47op*ιWRe 2^!a e!w-X"Xh vK[^̩G9 zۻ9ݴ;ۭ&YZPɸ0A?@Ai4ƛ`?< ǍaXvS7s&5'x6d iAgz,#c渻yV Mo^OcbzqW/pkC\/O:JЬ;>9 hSу$Vgg܂PZ{^&g|&]i~K|NQ5/(VN̨ ]&kKMr +*+J8(ȇߖ D:Vu*8v=͋$BEaz1EbW`|6oKHm( UОy%'3狳2̹3-4syM{0n-L\YǺ}X̥5=xEE\|BH" ^Yĉ(bt+|Lܓ^!:0?۳tyw~^Ciߎ4ǖ}7]'D`(Ep7p5KjR.B`͏DcɄTXq$ϴH_Bཱི/AoYI” Snl,c S'Y%XBAL!Jz]JAȟ?9%:)T&dQڥ6N`& I#(oHC 3X\GJ*R =OXwL)  1簐WOJ/cPq*x -7Ƭ߱/LН˛1!B3iY]P!.,%LlҖ6xNrE,,WV(h5Ư b  j51eqW Ok3{X䡧%*+uRyCqKj(RY* ?;s]h@'%CEȥI@ _9':s 75}."/0JФ3FS'<].**eCCs(sZsfwc9&7Ea!h6S1Ҷr;ITC(ۉO5ູ~5ݣmZU*ʊQcN1Z=Qe rC,hw+f4Y+;ב#|jІfUMDKRoW? ! Nrmzc{׋&|h2֛~oo7?-އEA&FNb5-‚fQkPy-hVI-i)=zENz8t(i?'S|:]DݝCMPmm?v. iCI@!B)$CG1hDPYOOkJFd"VrmJ+)▊,~7f5Uc3"AYn ^7Z-Ms,sxo@:E(cm6)o:]Va}@1܁T)IŎ*BAUxGVm9LQP B{?4JH Oei@.Hz/w2Hzb{xx  Bk.dT[]a`.6fכY[\H'}֦ FO 7pCom1#}Xhkmnn*_c\GGQU,HOܝ&Wl0u^:RY+ (z&c?O@'AF]nmgD)ZsgE`peoĕb{sa; ,QrE +]MPrRt6I(bd,XD"{\N0dBءcj~ ;p̢ttiEou>0Q3mZQK>gW\Zfxq1BL 0u껄ʰ%7R{6xAP41& afŒ= u! 5; uOrqę]>:$ yv>̀UjH6vKAcej٨P!?2i p$^%qjU9.{j+]Omݠ=+Э dP~3$1wg.*d/x>/Wl\9WUj  YU[YȾ+A_k6#P|zVZQ5wr "@|5ך[2[p (&'ι UqYHEh_k#І/^10k;Uo+?:~6N[DQF<9S),VON4r-gC8OGBTZ#@a. RΈט8ņ.=MTl'٣۔Q)fq73uƎ'0pEp$;0Wm!Q}4B8ܝH'!MѻcO[*>գw`Q؈ ׃xl٪̿%ܕ}/ޜX9ֲ[0A&|G$)N.9cΫ X wxܵG $TK%)gNyiE}ω{Utf݋~%~;P4/S4A̔oOgk@qd/}6yJ< Gg6w9eU!b2>h:bR$GTQTSQM.G}ҏžؒeuWdI:k#ȋ>HLY@݋wDɡ!~B#IT]5=$NtQM{w%| "&ѽ\M޼Ue$H?P\>>]gn#Q\c&m6*ZeaLu7(fALyC)V6@梗᳃0.iՒxHH"5fx=FOC,w. n9fhաT|A->|֢̄'6pZg滱JQѯ2ն>D_dKnWk%lDd`ˍ|}݌`TsP ,klÎbϻ/ (X!WB5؛/K3R[Ύ<|Җ|}6>%GBCIeM v5=BdSn}hMn9`8,!+B)< :aHk'DMhe_8lgWxA2&%<% ~ 5ƛt̋:iNTyč#W+[5*f\XL6gc @b㸒tˊӾFN RӎC@3'LR^=󫓇yiȋ6BZR+E֑mY{a?[yNmM}4˫5t\'h bR3Q m^2X,!d'ĉ,r) 0cM+4i:ZJ2o(NI/|xU#"m#FyاLo9hQmX?iXNдYݤv:ݫe  ͿFt?uL燅סyu+9]ѴZUU!1ZöQw %[ȐiāB^0mNJ%ٌ&倉,I`,!\ʉ-w>!3-y>Hw$BͅPl];ad.mb5=1)ـw ջ/Ϭ3qWPIN PQ{$YKO-k(o!wbRQ1[fSvSJoX|Sph*W/!=nk1/=cx`O*iBw(mkUҳD* OoXMZmU'.4?C Ib C+j994Mz`ٳ6Ŵ(3dub8:]Hln:UFѤLGU۩)֒W%1RQj<`<pMb*Np&Rs꣛tm>žnMf/+kezcҮ7j~;3_"~8]*KP9 >r7(Ra4J^VW0;aN=uXmߍnk+ gEĦTM,ğNUr *C@ NҒPxVށ͗AޅʟQLUg󰔯/zbA$n-eKl9y_vO~+7T9J %J +zp^ "c_AvMZdaWވ2wlV]Py*_bF._Y@y튐,w٣mf{MA_[m.r4(Ր'{f榇_Qvn0YL IbmѸ{ĥ6}Wmk6>TwӅ W0men|J4)}VO}{c†J΄.="yeZvCiblؔ@{{Cs+Z!۴c^khcU߀R q-qg &\\y=3Jiʆ[ݰzΆW"{0ˊ׾! ׋@qu/p.8/M}-r⌑%Qįv$-IA?;*|eGHo?S-_ύ9[ED ?65 l씏B!5hz@TP:oJI!HQs|2PNyѱ{2 (ި<\%(ב&lj7 &kC;#K@\l+٦R\ ("/mXn7o櫏}J3Buh$I%)\}jc4"y9h[Y^;s#g 8c{5CB_T.H"aZfA3$c.QN0R>sN[mesH<=/HH;'~0_zo\P1>HH2_( #?dM6ʙ<&%K@<#,D( ͑.'~G~@>|x"n`(-?HO|پ͆cnq&AYrqŜazhupO)؉Ū5)OaV;uFy,h{5&8>Snfc/m~u{w}onJ:ZgkrTA[sa|mE4Nl4 iM2`;qkonI([z>Gl][4>徥Qș'əF3$4qբhI&τ{#8deg\&/&cs‚k|Iku{M<.ٯO\?¨VY\9SFV$Jք[6K&T&s GHx̮[GkeH r w8U2sm 51!|{>ˬm /4p} o~:4*K0Yz3$5.åxδ u<|7ɄNgf;r26fNES0XB揙6ԝlZ0U`{]XHĞeDV&0b[g5zåRw@2wsG< -Ffv'tEv;x'SL#N"c9$xN}V,ys%Fmepp?2bKqeڄxQ{O7U! #>MZ Y}z;2@YrKUzar<>.][K1Q` x~BCU!p|mw z•={[ 󩫆B >fE|ߩ5C*SǨ;ˋСvM!'p/qk4;!Ǿ(YQ2m˫ - i"AS{ ִgr*\1> xL[.|6`5D1Y ϯϷ0kSlOưDw<Y vPHn=x;+w_z>\].Jn?S>L3Zn7ݓ^Ozd8FTr],g.So_'< cAx8_XUc VO8Bw bޛŠ )_f6VɀFk'^G6w>Ggտ|d iq6o!>N_" @^A\g+]when~_a#Ŧ˫R,4eʹG`b $ppCiA.Vn mx3)/i^4Wo0{|3X(nYH漮e5)BB1.&o x]jpã؉š/ȷA7|\aѲ1!Ϫm~ʟ?(vFQUUQ YS5Xhv ty̗VGb 8a.$~ %{m Jah "]1e2ya<۟zщ<r:Ǥ5E$ CŷNn0Tim0@{@&}}Zà>$9gF*=!VGf%2zB) 4yiL6YP6 .dSia-ApJK炆[U6ڸ% />V_Nu܅to٩ۃU`0~Ou6\4H?km`&g۲DuVδ}FVXE ZH 9ꦕPcSUJ `?'pb~nA^HVڢ67Kf!:tYߔJ+/?k-ZmbfFYsf(J,>볥 FY NTox ~:olplÿ &;o=hxDAk!e?/72 !X4/c-0%,` /e0/`𧌝Q2Q̧s E[k<ڊ6'L0fi9QlB vKܗTm \O!Q"vFH^ mASVA Oq%5r~<{awƶ[0aY mO|0IB|$1Ek*(\%{a~!`YQL1~cT9 hu.F r--}&D(%UW&,*59i—I)Z4S2! M-d cgV);;;~[r$guWr喘R#qP~<a@%1dN*Ra5eg6ΛW'W&9Xu )/Kv g<aK m6PXcaI9krg7c?ԛ+`W^:B_r-Fq~SpA : WV,Y$6$NmY hM 9FNCK 8qY(8!Σ"d ;chFelc ώD.aF-܂y~R[*Z3L:JU޵;*??T&(~6UgM{ԙPoV]mzS)Wbe8+y6vSظO J!3BAӾ WپtY a1sѼ).bQnzsɁ }r od/bw=Ro6!{H 1 &K"LɄ}$$̜-_97``P5&kOޅ% OȧGB0Gd^,,6@B.A"1+*ruK MX{k{ʦ~lxV8V`!|{#zQE8o(q%GvSsC% d;ǚqA9z t.Bx6/=)EtxxL Al"pO&ʜ7.Z-m **oj (oV+H(L B@~;Lb:+\>ԯ O^ U;,7X [@qb6R$fM-њ#tX,4 /2] `. ^qB3BWmTtq ]YҢd(}Z,%ɸ!&ᛍޡI03b  LE5k!Oҍf*{w`ߥ+1]rϙSCf%MqC?^e1gDŠ0jN̲șZ޾"z $@t Tx\ń1` yPb. <[܊x'$;MJV2PjTҫ,lB UGnkg F3tMaMc3'(7F"273oԐH[\Մ\O/(qy/ϤiOU(637ڱ˻5Loyx#-` $v+ؘh:ԍLv QF,P rfGY/)}zgN i8OӔj @ht$rF-@D 5ܨK݀+LvK%!0%cRUNLSf^M]PG #SHd@'nbLNfLs+LHscm.D_;w?Ę/@$Wۍ3"W@RΧIO6eVh 6t9 J-P%M w]?Ҩ81e>.>uxrVj kjkh+zJ"d ŖSTmςY5WKQ!ie:d7KCМ57 | D{HW˷YWuBk&@|:l4R7䅢SOIC',Vkgݜt-hv2^?"+`z` 4^ņx M6znIjі[Zt;4U&6zwQHJ@/.zXMc|*aN vզZiym<949k3{0dSB=B{R{t\fe~|gfS DwuzP~ ߝOP pX! ޖ:3w*i}|G_c#ebG]!=HǩBG?w̵>ҖLb5 /OֽnÄ:n5T@2t#W4V5bliKƂF73HG )ņPg1অ<$z GdD.MyvrL M=uڍYspuhKC"KI!:Kj:( M,c+DGbmzqsu@ٟ>K$ qd ]( |ٿD7%m ʝaGvxiG\-!K7ެic'z{X(^ igKb Z8L "M="&\OCPU "Գ'Ro[X\ ~~7x^,Hk+M)wHpy"M(Y8LB򕄹 NA6[Ž)uO(#( ?PY7wO5 1ȣ 21@\M,mC†dN\%(B$DxGZ۬T*zA’̀U:4}ͤa8*+0 j>*[2)I&\N$%G8߉'Z&8X1{ɦ c;!,d,O%a N1٦팝V!7|NĆ|7DplpV 0@^M"c*8 fVNțivͣ3phSC*[A.U#f=[k ll5zqbfNaY6 kud0Z+hW.&.dV:aosz|_jCzF 6G~](@76ε$`sTe#=gd,ˍd ] ''t"XŜ!Rv,AP9}pݽxٽm4+(bg2UлJ55SB?u⌵Pk{sׁМk ! Agm0e e^H؍& Mp=3Wgi G!>a3 p;3  "lErAڛ{.$UC X ^Ojg_aR L @uM DGwB]YR\D+ʔa zؙr|u,Zsc֙Y8$b#gDP%hغC6:M}Gh߲s)ߜt $DD<3(ͷQ1Y/GbvvղQBϖˢKqb Vy,>cۚ7|:'fl9.|\V/n'.Em5F-f`WV-"6d,M!!PųY@Z|ر\ ٧u@2|[gV۽B˱у3[X?:Q: _j &w=;-s˪ߟ^LjM[ߙ59\sfuy=2)(2sKf5vaXxpZcyK}OQu_ ̨6G.=hY.1l P4 I6Q"zb񁫴K;}RwJc3g#xĮșD~8 C,B@P@J"pTn بƞarhE ZhU@@U\WW Ӊ>Z?>gxJCTGg N8Agpx#H ڥIKț]׻f{lp{swr{wcWgcTݓM. FL#7Ǡ%b>V!;g5<OOb (9QՃ$ E &S3y?)ͭ;K!@j:SXY,8x )b&a庹zD48tFoyyC>ɮoZ0ffa.lSDolр ky"cbٴx_~BZ7dqp8gQ#-NE׋{; zڇ*ہ>B)O#-϶B[ɴ@LD&EY}3 ~#{~؛G^s9([).YZgGd_(? GȌY9.?w+EEa{Ө{A_tjyv^2#1bV8{0 (YX5M; {U;9\Fr cBD8Ik }I0(#ERDE@ Yg_B{^Ο?FIt<év"fGVY2.P.\kzOET$@ ~8_~f^MgN!093!&|؍">s6PRߋy8F\4JNrv4WvYvqӻ^g,hɄNL,ӂu5X , ,<__ʵݐSSxȩ$#nNO>iXP Q4.EY˟v5fc;FԻ=Ě-t?採(e@A+1z݈|q-0+IZ1,?ǁcrq ץV\ tYh9]ClۉqGQ-\y`Gd\L U.XBnTH)kp!T||$ {8cwssuSU+gl^&V*kzJUmk&C>T!3<2Lmͦ|./|3~Ry9uQVsfw^q6~JDK< =@҇B5fc2KwȆ'?ϝyf! PZlLvsHOxyQNNJL$d #ƚb :u!(\ O@$_3HHCՠJGщ>R3Li!-6vY8;xw LvT2< د̧\*;?%R|{=S f݁z҄LqV̂ +jv@^,/١68jhQoł3WzBrVˊW2$1Ub3tr2AoТ 2;qx|;`o +Bn͊6FcldX0#k4ǖFȉGY,4џѻ5F'֙r?igˉԛNG5㙡Vmx, vopG<g/BH_Pk6"hJN{w?Tb=[Cׁ8艽L0$.`0RY(S1fk=ǔe#Kt`1CCJ 98IYq]FIj)3.ý'` D^<e"Z1<‚|ș:ExR("[_wv6Xxqx25!hqjw0,)stpK:%h8&AWAɘI7]# gzh ۴TԎRJ0 y ?w>}7IhEc͑ZumpݺWoP"G{EK><\qlP)L0APߞV4^cixiOhx6<rbA~TPPF]aBx}sJO`kFbcQk%uZӏA_N%A6fT'/v4A9{涍:v.v ݑ-SYԈR~3 H,ID @r=BҎms|z9XMTgnr_!/0?fnu={W93 No.n.ã%zMqLe)ؕo/OsFofYx'?2R%.*<h~+Zrq=Z |/^Y*ުRK+6('\`HĨd^ψ:9;|׃ <{ 7<3w/?.|p28;w?gu_]-OlYG8¹фH%w2gm٫bȨQ(zMb`9mR),2m2b2VTɁаT)b?:Dj}tU' l g pp}\-9 ïyWR6gRxwe$WRE(2G]1p6B4]ųpp''ӫasǏ5_Non܅;,KNoY0ήK}N4 qJDRL Ai1r,\,0DR^&Id-:.T#)N|@UϗaSEE̪Hm ͹~5Vp*4^|>ڗS4f=AӜtƫ)T: 8YGLEXlB,i$I JO_bTei4R0Eٕka y'92#j;g:z!:"զ: ;fQdbAaÐ~'gUC{'OOWwvUSo`vv[=!> IRvDh#E~p-0Ƕ}2TLos&nhhmX]&A3A,L}oMBmD6pVm^ouˮpr",çkq:efBwqR0#$Jbr͋Ab,D & ǷdRE â//USǹ:+ %Hx,ed=_!>`)Rc~PϦ E`(]!^Cs<k.A-[Lٳ+%D ۣ8UWgk+W[U]efF!#c_ej &owXu34̀~WhlUӺ45MEmx}}u?{p]s 3_(Up;|s;.t-=Pi34Pu25XMў#}H8ZbPvH7dÑŪ`0<=V'9PM<*pe5#3ӳI%Nϻy-s5P'T9ٜ-SwseVM*tΠ*{r8̃*vϘ0N&ˬ *tNƝl(_=_0)jXf4:ҳ i,]M[5}vz ({GyT/*v/>^]ѠMT FG]?T5xK3lrBv~/8MTJ3Fl#+Z.M.GDu!iV ,fZZ7AҦٵ*x:p*[/eA1:?%Ui'S } uk^@ǩՔ͇-YT9D6(2k _Şxi$ҜCCp}=\M_0 ^ ωqpt%-~8¬].rRԺd$[5Aq~Z7 J߻:j$ ,xŀosU\ҲNh+Ĺ*Й&pPfe:FW=k0OW1˿[p]Ʀz?8rG#XoMiSJ<߇"C&DӜtwލoy]v/. o0Roay eRYB`۾*;m&Dnw168}ovuK)sO geY!r0]hӆ[n{V6 e$-04Ua܆-}BG܇I[p [h({)ô 08 +:PvE-B8*q&fFˤ̗b;09Ĺd&G=^Y36Ldx's18L35gB<lm(^w ~LzmK7JozSy@Hl @\Um?T%Yupl&@ZۓM+5Ɠ{Y^=NZ^'ߴ&h Kt^)P $|&jjo3?aQ^lI]t[rYe>m(‡nC ?v^ϏOߖJS毮?KEȽ Gu]o] >"f* CqR"|wL)1x Bq}]~@ 4Qn?wau-pqFOtEOR"ɤ,O._MnLUfJ$5 |zXH7NFEZzI[*= mkaC |la92=zs aPLoSuY<>gNjΫFUQ=Y݄y!.j3x3N-O˓{OXz~z7N][C̡5KӚ7ȦsT:NZ0л2EDT}6r'׬o,H48`Sœ Xrm3ާ޾9z{vxXj\$e&;{鮼]v0]axWsGfKځ>֟'dl]ƥ,abZ9!['"B8,Rq{֤;cNq 08nbD` ̽E I6Cמ-z\F-ՠe]g匨GcƇu Bۛ3LrYP֡*}LpVF^xFhZHhL.uW mkSCrFNd4%c vKg2 `'"*Y6]M߈duPVrQrfu-Բ5hѤf< tUؽ+1݇N9kpzK8E |r˔i~SLwryU2ohV!\Jj8,yINa ҅HOh̥݄fDnE\ mRN2YF)דp<99DG "I` F8Hot:#'ŝGX,zO*agxgxԃ$'bY~E.;Xti6JG-1U˺h2E.[5GQEwqN֠9/XQneEH4LT ޳h//}pE_tt's Q]pBvJ\Lf; PC9iŬߓ0W0,Վ^WF-$-t>\?&ҷD4SM;uH]kP Fy 1&8Kӊ\E򷻐|\D_k_3enQ$ea>@O-\3IEWTW~fY#'Vtc#F59$\V] h&bI(sxRH?& SulQB=ma!uR]JJ1;+Erw7:ZސݩRDjewgQ$|tT[Ssz!#36P $.r^Of-/d.c6ք?=qbO!Uz /M` 9]GN 0gnF:#9<{$8&p=r\PAl+O)RLMX_[._H @8֚t4:#.d #"uiP |z.!L3|&?p(yY<|G=22Eӡ)Һx).cDYKj=.FZHFEQ~ ?Fb/ǩ¹mpU-@].^Cb:NS[/D/w<#[n«E- g0Ħ~l ÷xW!qBD:3{j-mAuC|lH]ʦ%^Y0ףk9d^oMo =rW{<\/ &s9x;oGO~>4_y *Cyr#HRufez-qcjk!(Ή[V)S+L /\b>mHR Yh챸%JLI%<0ȁXO:ݹ(5h^+Kǡ.{g]$f)gq*[AhR5DF.aU!F7O[\%`1> \sYtu4]YF;ڰ<41xHT͖0p.L Y֋L0gWw2̦KRZyn]B1Y>f $0P#H<}[;![E_ .6]pqDK%[^ꈋ jz`l!LJWgƱj04%#nky&(CJ,l zOS,Dvd۵t\U빀hr=(Ŭrc a=I/Jo_r&Y\gv+t0C^0`)ɛ:p"h'`87 ϥ$u:lȠ}՝{fp\^e.K@O7 .Z20F?~hGmfcw7GoZoBȷ)\j҉@~6oޞ_ M:0ϗsiq4usC';zJr2Yz{W%3M : 33q4238qkpM&3궟سށ6;ĸQA$Էxu9-]'Q-ʏt&终uE:X.XdIB8M*C#rÉʖs}Kdٟn>{qlo_dr"txw iO"lf$sl[&I\MB&&"P{`5d CHGO{;֟dRG_HJ:ѓ;LfyH&²}說UکRVW`,>#cV$WjӇ ܷU~oh=8o=sze[\%NwߖA 63^z$a|cz&@lo=[ݼeCtzU2gm{Ч햴{ p3D ًat窐.GHBh|3`8[nUˠfg3L2Lo DQF Q ?K0g;W +4zɧXp8% #g?Z vAgg ~$ߪ2]-0Gf @q 60/ȩcj!Mo#C"|mQyz'SSCpVqT#r*$xتyn*'Q^+u](|Gy.feICAJd/ML3輚Dma@ Qj#A 6:8֞5z7XS= ]ϮC)F5/u"t#\=80ߵ'V6lsW?ǰUËd#8F>R@#Z]+C!/(a)®W+*s{ze/QPm^U)Jm(Hw֍ zjTuz娜rn@_ꀿ ո-rN!o1̻LBJz$8pZ"{>qcpφ >+F4Gaq5gL\ ~Bj-S,=Q&DL A852:qDvl}C‖B1'~vwqu3 TZU$73kAew<8x~g}'w2a' W[kbʿw5pCkJʹr_/l8;p@s9 ꚁI6ƏS],YsR?/O번x2 EVb{=S 7N^N =8g}.q0?y)ĈDO*HO  2b U(39 pE<ӳ{֏4UgjѺ ( rmPoMWM]8>LľfpF$=+BQ`+Jh\WHOgA)G77Orň1|kfe\ Ljz)0 x=Xo#4J#pGIt4P .-" ˵jSVRn .I~\~7rm%1J@Ȭ˂OҡvQM ~,W}Ⱦ"C(`:VD-ߩ;YQ U!Qa%,.J+]RP_WUO4 ~ds< oH,jR?To v" J^,LlSXĜhK8n{l"H {#m$4a9: }Q^q"?Qаoa?w@{vu&3.:Y2'X9gp2&d!N'`J6C&yoޔ/ M(-@8:LwJ#0i ӳӺ @/%(E ߉) wѩ)ndIv8#;$'XVY_by4Ӵw=9.O}ICI 즍&)S4׹_i?tόLkK qa}RTۋ P<2m Q5CJy_uab0"Ux%_v`Ø9pHEd%MgƆ̛Ú De8 ݪJE 7N;NеaNB@ [vqpAOg 0WQ\_AYhj8. [/WΫ2R!G|w"I#ܵa\8Bl.llK)ӋXQh(+3Q2w ?Ȯs8oQbQ,Llu-T*"nYC1) SC@B {ڨWSPٖ{ڦ.Ig,߄Ccr61`bn8n8t/|A?zTkJQb2gq7.1bl!EIY'~wJTB_=URq]S,# iw2k 7(ۣS ο3Jhi,IF¸zy-EI6UZV\8qe=S&WrNbvԧ?!-q')-]&N~.:ĸ4Gq<ͤg#?'!0'hZBؠ*R3N-a*ng3"o70UQGoWq[`@YH`MJJe̻L #kCCВ=A|}Տ*q _cjTUe.NF2ZgoLAyRqɮ0ѫI_(J*;C}EM#.G/4)1^'TNN/"(P׉,2* PS[}ړ֜d1/sD|Kp7t^7H@k[Ć0뽞;D歞qB{{=0˙\Xs S?` b7<>sYeT6ϟʌ Rߢ͚/FGRl0BG3K;ʠu |wI0s1초F؜ 9L)=(U\LU0Q'{Bz _f2fY4Ly?Wv :U^57Fy%ZA]AzW~U֘b zE\5_=2ȯ-]&3z2 N&u =42%M߅&횒w4G%A-!RD>2/Դy\w2-)ĴR7Sm>N% Џ.>L*1W(nl:D 0 EN#u[#@s,L %N53AOCl(<_ޝ8ivo8iPo̙RX$PFG3ӇMXS uɴMj!vͦ\o >|Ҷ$ ,Q¹pPLWQzĘ0E6C7NCھ"E LE W^e`#$PIu]$@ TچG>̢O:Ew#78Ef+ K|]PbYD0ǎ ؀ I 駢XJ!jq^t%]kH4w}^Ƀ+C&PI!"Un+^n+ʚDX Zpf$fP×~!81];>D4fRyO$h+<+'/Ya:>x sǞ$! ^ɘZ^s;F#67 ?^ۣ# ֺ`\We]vBb7h9mjP`|O]Q qkH~4enPiE5h Gu,q Ѕl0g3/] ݫ QH3Y<t[. z3B ?Xэ s[hI~1 I<]zV$YiԭhxgkbV,_iە[)rwA#;8tC _I\4Fjx:'ю~Y <.k6!TMs9jrQx;oYYWu\ /]HoTr1HsR2((ʀ%7173',S䃱M1Iwq_J)X%cX&&?cW!SzjdO/kHGvq箟NU eqOpmMV'| &qb)g#7 {:V/wwwHԜc넟Vx2Z=B)}:ZEnrzWI@(/tnV7-r vMDžq;سxV}%mKR'ϵuvңCd*->FZ s' ܝ`t1Q!cTZ82H^^Zhqp`ن'wPZd*SYXRp!%*4d~h.lMXCJtWБU&z+GdtxhKd+YiOfǙZ SG[=5tjIyUx>S? T;?qc\1!<_q+7]åVK.PMKwĉ p:\^nGp+I])%b Yǵ9F6b(q檁TVO ) /lq {[~m N ׀^~336lY^}t$}aO]cf'kλ}u91B5O<߮u( $ji*Lτ# ť5[= AV[+O<(MP&њCbNaͦmaxL<*IF6nzoWɊ*Ӵ-JI,ZG zP~0<>d]%UCD ;e[M~}޷^hN;mu-^mĴF]U Q3z5Dea~TS )rYP6ZԠ:JtC6=wuNDTZY3fѻ+c.2EbMe.Re-5;bufaTqdrJjEfӮF襢x}Zƅo3]$*y;oyŦU y=<'C4-%]8 {gOFS&> fvFs  ,S xWBPWՓm)|cP 8ZgqG|Tl)oZY*`Md^55U̍Rql ;7'`؂h9F6B%Ze>E%_w8 㴍ApM8,`No%Ot-U@CȱE6bBMH qnBc !]rvSO~  %&28:xƁ;ԳǦ_3,ӟeKfmwi?M;v( ;IJli#2/Q3.qVqUB|-Eӊ5˃Шl 8+`V.r aWK_bgvݮ7?Zxc#&k?JOKOsPQXbQzMJ@'MPMO둕G<e ѷY&0a &Bs!C}(=yYttbJ&j7F{Ixnٷ^܉jZMl$ W6UUl:cO ]:)(V6.3[Vf?iPLuon\K-q?yt*zCvYTكopCn~۩FfpHRCp`V/n՝>Fqyֿߑ+=*X%]3M؋Z<]֪BXL$D+N")mr278 Ww..7; ŖwY2ZN-tmqT3R5mdkwpYƥcɮ/ 8:7]a 6 y c@Pd@f[p2~ #>O*+}PIdwͻwGګVZ$*=x6Xhl1'܃䢫Tp1)"1x.ޟ'f^Bjxa!hD=--܁޶F-5cf@}]R㙜§Xggr\0RĄ*Q3xJ܅I^) XW>,ҖPbObfA%fsʗ!`{]!KR,,A>9@ mNjoc|]*{{3o&qf;j+{զ9a~)K06OUEx 'lʯx҆eDW߄Jqs7_ ;t-پ7G'W}JP?\Ix5N𤦤gdB<<< Z A'MU(˸Ը?,,5oOQj"H=$Vʪ֜f2 ]3ץ3Zr8?RomlN@򒭺! v98U8A@Hr5֞o*,g#mdBQ90:f8_<03D!#*)N Sʸ*TŁ|4#B~4=ry 3ᲰŵVr{ٚ>b 82;Lhvr~D1 K ;埭ʓ[YAq_֧i蠊L+s",ALŒyR:rOSA\P80"\1X6NTf,*t*3gM!JX4-}B K2)FוJ9\aܼv88Zp IJSfEr ^Mxq>'gE`$6>څfy*ٺB^z^UBFYF`HsR<./09Ct7wN3" vVUS [.@,sU\Pz?8(4PĂC&U$2OD;Ii;,ʆx1LpI!s0=$rZ1x2d:~i^0/ֈ AKˠzactqqz8 v*D9I v$ L6*n >1SfMi=ZPfKIx"R,s )MKM6=? :ˑU>^V%j\!kxvP0mwupnFWMkNG$ym鑻;yX裀o w<\,0k&WLpUy\0Z xp듓yC+ ̀XrxнE1kİ7b]VӉYUS徣8*o̴V6Z^ cU*i/FZߛ̢֡.~9F.ʏh* 5 "oTZE[Kk <݈vֱ-g?P2&JJ$*Lh>%-kJ^3­K; svM:bzt a%>0b9c9 ";-V̌Xeفkx%J!qct|׾Sqv7WйwiYn볳&ym$>4 G5q0631&<@m[t2We>ݲ]2QWx:,le }ٿ.Vfms4ťҊcݦç{RE$:  ]#$bLXg) "+m ;LD,Tj#m&FfƳ=zmȈ4ػ RNa,óf`.2*Q\L@"dLQxy6oMsv<4rZ꾊T^>_l-q]繷Vg^닎5NT^E /el}T94j5YWul4fb1+1w3ͱ01A BՕ ҉5&miEjBTvYeYD J$\kٖ>FzCUmQ). V="gX-~Yyu ?4 -ǜct )hi,lM0Ƶ$k^•yW[VlCeX~0!6E-$!"ƲT3'Dk>la50-gWKoz^i C`^1Ōe]2h@B-"$GoRTI L Oiw7ui(o 1EtG7r 9*3WBB(b3B>}{>ߜD(V6Oއ$=_Cf4u(M 3߶TW.}/VSD8$ő"@1+ hrdMnʽŮ 灨+{]7> (jxӔlIJ*{>M9} ܓ'⑉MbWm7f7I}e$r.f*[Yn>Kuiw2zmzdE E\.3 `e!RtAXnch~ɹXBE&bDr# Xf];BT ]!SNI\_Y `9K ,^ к xC:#w?*r C?aq\L}T.7zއr^O 3P e0.ZUu$Ґۣs+eMeGF2L 5*f:QKIv0ʣ߻t5V8qb}@fMz9*pDMs9/3ٸmA(ŽT,K(P>w*}F'C SBj&`s|{I)Yyzu (q{l# 5˂Ap 0~E*̦l\=[^/mԉcUUb5Ѥհ& zMJ,&ǀ9:Ky_F|NEE&jd5=\:}RV#M=Ǽ4V)h5+z&w7Yj\8: N. c9ƣ"$N4d0QK'U)}.ibY,1RL F`0Lۣ&4P|KHž茪Rjaw S8p8ƱJ0N_!,Bn!)0'\ND3W d1B,5$2:=(}_k?dj|;.ɖ MI:%૝$Н}ѣ۱-WsiV?e%RtEњOrgws50Gyd`pޒ \q7o>~ڢax$\"vljP⢃hw*8OL.K.O \5S2Xb( 5Kave20!`d6l6ZonWWg`Tw06q۝|~dA~}.#ʖ% VI kaňepeh/F]{4tbODbu+.|>DV^AV8:,D81mp>N/?ZVۃۃSZЮS!.L:?o&o^h* )2DOLqp6ضx!2q2jC{{^;6.;oߠߍdF>/2pA3Eպ^Q+쭊3x ~4K]g5FRqMk,X$?"NmHQ팙J 2۪i:`"TC'-l>t D+k퉯M:XyE_ffb# W< /13<]6m?z[Չ^OW8ET|O%1S($'>#K1L1HaxaB&)cqVϚۋjJZeԷ߂mgf\%GɳKZdᕛza6,0a?m(Z\k9if6> _|؃1&o=ν|U2=hr[kϖ%*vQe^ځDBqI/,gxo $$հY  ~* …sPqZС2ixJ3}LZ[Z)2/T @zٻmis.mϊ= nbpVBFʹRZ,R9gGoëK `;\IRwI=8"-suD,L#5OeC6e͍â@*# C}r+DŽnwz7ڣwF5ajå \pk+]8@<;`!U^v[ViՏםU 6|5~DLlJZMrOwowԕ4EM̄h;;~dbŸ>oi'AXB ݳʪ7);yd18yΈ;RV{zvn!Uכ]{Q~5Db1jϻ>ͤ릺NaO8^ \]`Aإ('v6]S^~$,J+"%q>TjqH ^O*ꢸ]wZ3m 4\{A.ݡUr %Ń*}4rUou~^|&4vӤ*+vJW!ɴY"&& S:R"Z[bheT&fxz^^:%?aNp}wOY6uy{E6#[sŔ˥>mmyO reP?-- _k1=J &ïj" xaXɽ(h``Oɸ ^uU Pz-{|hm 96_!ױ أ(5Zc>=#aN^rq O/M"=reR3j{A *ٹ>w)kI݇d۶yϚlN6xZ?k_VXӊ#juu-w;XӉvDہFLCDTNi\<}wQ¥!74mZi;CKj忺9J_ڍy-*&6@[5+[ <;5| GcJ(0Ͻ՞x K!74T<t"-mG/jݬR+8~.z4.;nYLrf\/PIE^)$gk{!R*N6/Ba0{B i^0GD_a 59iLCܨPt@AtS ؇)Ar0_Ãg1Nxӌ6z3ׅgh|v00ƀ7"­pM~J\]dLSûp<|$J8X$a1Q\z/wEx]Dq,+q.SUI;q dJH>SUb+1A.#:΋Sإ!B!XNK|U?NCfgm/2p24-b˘̻=&U(%Û27Me% eS㰐uAh]o*E{ؖNf@'廣o޽;ɫ-R2O`8>o2e=Qs9Wك Q<tf4-yɖRʑl>i; }..TsSOXmut39F-D {U%rǟ Etz]:Qjqxl~n+G7JR}{ â=x} H#se-B̤>j9!Tm"g>VySEoW'C2F7V靉5T "d:\,xB sHףE+!۳xq1SkZMGo/G&u~ :пᣗ.kRsY=C B@0p[YݬFQf3!b>y.֓[4ULӍQ 6cWA"%MUy%()(Wɲ0Z^=hr4fWGwmf}z_:X@5X`C? ,7K&v+N@)Zz3덱Arm}S/74-G2uؾaҋÆ^'wP O]:ٯ{A4$=fEWf H@6QW$/cփJNگ8Ih,zep4e wonקhk* Ix=DhD8O5 (>BɞUD>sm 5lMig,/egO}ܶl8NJiiQRQ!al 0ƎРVOPm>K8~Y_Q&g FhzH\.BOeD[|p=CC2j}mf1$oQW+RJ|.x+čtci8f͉ǣu<~Σ3jKu?e}3xW~i^ DzM"8.__j5tɽqxL#LV/L+^+Ǔ>TQɔ/{Z~fGZw*Ҏ2! &x ·j{O2iif!i/Ϳ4D[!G2h_e g:a}hdx%EzmPѝ< :i)|kl0L/4#}6-Y 8fVG%7ggj7Vppc )ɴjfM@p:.bצ(dر3,D3#"R uAN /((̀=~=ICl4f]Ku'Cbj𬩺T0HJ`|^ P@[ymD`vp0q5dC 3@]Ѧ/c43x}D7)!wnhvz2N8沩]F/vc*M >oNUc5— ~! I%N+o%jQ':-mȹxOxk;ǪsbQ6-䐴|XJ% 5rw2+FGo+`V JsYP+WwNdfʹj2ut5x+p=&,$X%Tk6[/D^dI|Vοw⤀,_QW^/]B=nbH\ȼ|I*e ~?qc9:"SķAbAƧjcy9B_zb.a2a5BrI\Ș0E/"E2qϱ6iM񏼔5tf#h"64f6|OjBmJu)q'0ذ]!݈䍐\RHqKr3< "SUU;3+ܬ.-uX`MۛzIJQۻV&NjBm7W:xJRrQmZ"ylHdJ^G68ꜘ 8exhrYEd,,} ?d}T! #͡E+5` T Y)Eƌ%]x @-ˉ-VL_/@SbROXangYi ߷Ex'fS:Y"P [N;(ꘙ~n,x'0YÞ M 8p1v:K3YeHY<*zGjpHzr9I1(ʋ:(epf5ApSP,ڀăѢ= ;ѷE4GD@"12S$IAÐ>BL׋%MAJ%8$njr𒑞K34H6J"aV,XŮexbɏ[z ZXHt3AI2,ime̒U^܋ysѳdf|z\3,?Pb$+,3`рr(ݖGYoQ:V pMm? Ot5`y3S;7NZ6Gw-$K hD՞,[jrxbx>z~w4 "huuۮ&\9HV $/H-n>aLaoWϊߖD#B?uEH{;`3s,be9]L.~<_ ~1e h8LWB=m~1$Kk?2'[(/b3֛T\Pl9ˊp<)+, wsJ`p5V"Ql9,r%{k0'xpX䶉c<}a`u&V &hɩBY|OEGRk1Ӷ&RS^}JS3s/깦K,v'9 >ɇ0/IRE*mTKNSo9aX\Y[r3u-aa[W͊~:c ehTLuTոz5+5w,8Oai Z@i,g'#pഭQCzRue'/&W3%60 94 ۓG.;>(&N ބV+oS DGRf*#%wNJ.yblY2@"Zׁ2yJ@ U.b̃mZܮ3`3 Ŝn[. aьӥW,ZߤFV62'CUͅ q֏7IK>x4b8~&>b .gR)XHۧ V-,:UZ쉛hc`{\wkv?M.ZKNδi`"4Jg79ݢ#Mh{A}g - }&1zn6;_f3z։ ccTnS9^C-*1U^mu^ܦ,d MQITaxx=*ER#Z%qޮhX,u;YW<'S \ :y+3 s oP:1(,A 5mΦ[@y)$u'3tm__KOB}蔞 "mgظ. 1'i[GI>Pj3؞2$ʋ65Xl ۥRCQNbdnk:1tCv :[yn{{uƘJbOJYJ^azb}bxH+:gBLhT+5Y X6zu4$\(r@EГcuVږ\nFNR$Jhj~a,E%q s*0>VPLx9^s.4\ _I rKʐVQ!.H[(h렟35c|g~sMp`Fvi#ǾukdyP{:0@VWI2}4%؇ ALbInY`AP@G9h/\H!62˻)`CTtX;M( BP\l OjHxA] 4K6H ud6B|? ށ*pk:8xH9l}bWi=lwA:KN cUy(bi^FF|[ -: ̴zfo[6,d:)%(X~G\44L@3|V埊L3-k;08ܞ""4}3pRV {~l Za:GD5l!|ݰrG]@6)HwZi][- H% SU.G"νDA72f{n70? <=Z{pAıVTϾN: /"X; ^okmBLC5CuAlKIP+5'u0g;4r Q[@f/۰F>5貇~j 2ˁ.nۭuBzt +:sB?)N|E kJco%[eprwh<] JOó(kJ&=mt%=_fFJV&,HkDFuؤbj\N^GD)Iڹ0Qc4=^ 'cd(,@0p^` d%ɢ,ut:O}!Ŀ~P\w}u=WNg?MΆS[zq]MJURKu7ggČ/ɏ\3ҐJ峦ӂM ׳Z{\^M䞄U6 ko'wPۻ}9MV0U~grj:<&?Jxk7t:;;%4(h?yͧ _/xN}Mw(o^WA[t% Ng瓟F'M_]R$.0j6[z K4O..FUgQ8#c]1WixzΫX~z%-%Xoa%s/:@|67^qTTSXK^ۢ@%ހh ji+]/JT*1Qw+&iߚE]] ktzF{@MVvE2ոeu+6Cʼnk LOޛ"'qSXuv9_8 X~ eǾ xeޢY!y)[,#)BޅȓrYlTtn,e<9 ٔTEcL\bL\f1I݀#fĦYPJ,;W|G2U,!st^@WV1 '+UsX,)|D߷]8 oFӮ`0){{=lBݷÓ7Ɠ3 U^uvŤt]jdwh>iKc-R#B27c>0z6_O@="+6ia־M/Vl}/ߔQG._|ꔸ{)@XY:.E 9rNbVI*Ŭy#ScP4v9u>հz]fy5gy-Vi *m[$cad!n+-h>Bj&@J*Y#nbxk0oQ፞DU&x!_kW !,v]i'E"`A|%\1TM, YZ殳g>Ee'm K 9gTsN.EHhe& h⼐ۉ!rz?BCuOEQ漂Gxxed6\qj ⷈ2IfMCXbU\ i&seq$TxVR+R,3uI֗޽ؗ]8wH]r=z˕HKxKKŐ[y*.sT2Y +tAw 0=`i2D\ #հ 3bYXAjOH 2"qd(^VKC"6y-tsYZVX %?DަW@ZLegnʇ"DhBju6`S$y]Oej5MbR_ᝌV[Z ˋ,h<IFLFNTKB;e'0Y~`= |Eythx;ޡiMZ?.W0z2dS;'̅o4ʺ3sk%?;]M= n/i(S0Y@|#Q({8BR""ﳾ@H`(/_Zc@h8JT,DGH 41dB㳛B1eM1 !Zz"6p*]tfh\4Ğ6] $b#S8iⱽf=CP)Z/j"7::f2WHLFRZ0}}[ I_9$8I,@^,VX2̋ↁNj=SAm>K: d UzP ]e{|Z#,h(q2.58YZGn,$5P@q✮1ťyCbypєx%ة:ktٙ)[Bdѐ #ɜe f6\~oZʵ& I"|9_*1(6{vۚ_Bë/x ,aP\I|"x⣉)AR#/3=($PPݿEղB_1QXI~+aj%߽ȗ+mx"< ah 435-{;ʏ 1 !7-Uv*|X.$U矛',;`ΥxǷ\2Er&ü5M 2:|/evA*$֏!ߝi OQKoY)Z"TkR{=p n׋ %x!Lm5v]C{k]¼_r%" %c?W=N IՕ15Vź|VhcFoM+LM~ f9jQdu~2mZmBCz{c%]4``uُ+ Dd_E#aˬod!C)L*Mf"y :_+/oCW=ή)͕.nzkڛ&;b(?oMu,ՅT.o,/nCL$RZ,FXw>B7h3+T"8c$-Xȶn[&Ni/+v,z-Hu{նX0 sبd\ߢ=+¸NfR*Nv[l: -Z~@B/L* #UX6a2eޥT#[w^$c.&8:hPQn۵z+y$|FgF#lPûNn.1׬((#س8 #C@>PTvױmm"{og&XC@YpHtLXޗX#R~yo̪ Tڒ3V91ezZuR! (XbHOBJE`i#`qW]=vOSoPD'J)t+orIh*eP2a$BMf#%׏"}~ t.믂P^J/e5F3uo31[Dkb\RY\+O aG (!@NJbF)+ꊘ;BU]Fp,0s@`؄PaL䩷@`@tZpO1|z>:4o L8NvJorPVs` w-#Sx:w&$qB':vۻ۰`\Nkmq њN nP0oSQ=Ͼμ/QC4; 3$͒Wʥa@(a%r%ʃǻOfWbr:9;p?-}W/׿Kĺp_/rzr9[v5s`,o]9ejlr,s:&%n"F>Ss/,$CyVQΌ[gnTHR*UqO>2C6G<7R"@c{fg%& p﹚}WxXXd} O}p{?>+( INju`G(iXwt陘p/"Qѻc""dCmu* !pz=eчc6#Hgsp0C31& x_d8:1=J%֪ܗ$֩ƃJoMI">׫6߱&#!Q eMp'I 3bŞUmDž\eJ,D!@㒧$O+%|JG-IfI8pS8c]N."K'MA̹9;cZVGPsKVG2 rQy_MX!Ruj`=zmrTG=3<#c)d# .ʌk n|f 9=w8 \-ԯζ3+7ʰ}xHu5>)q8vqPXs)?cFvW8Lxyہ9z.0== 6ZQ1uf7vҷ]&|cl7 stI~:Ն+=ziP!1ɢbfs3S B%=lq65 JgǂO|Bj|wl@ǩ:`{P{ }OڷWr?l7*DQuR [vR"o0L7/@pgv,;`*mv|W/w}Z_t08+Ǝk7ERXLFԒ/TeqbJUڙLyQXb sYa`yXDmXiwbqWdMe`ڹ~ tE{8JWWM%57dqz#N+:kcr h":5ބ֚16BT#3l:LiMظyzjƲ^WcwEEh.*uĬm\hwcۚN5-=[>\^.[pvcd09?jV4.F?4B(B\Fwl-x3#b߁)Y|a0`g;Y mf>+_Yм4tBSl߫o`7R'yW8PP LAIA8NF!ġX!(CEϏ84~<]SMgwGO"\^ f>uyr'0Tӳ} s uS#|~NmI@m97iUO-Kx6x=j=~狚#<;<0JDiw $ Z_,3)!,wb&Tf*}Ob!W>B~0M-]DoV MfdJr_L Q$rL"IÀ31:c>UW2}` >sxşKw} >{ s8xɭm[m-+=xAU:HSQzaf pLn)+(r]Vl, MĕWJ :6"۴Ta(? ]B>8;SJ'kPT$X \ FM&[ ҽԨ'1&JTp˓Dw>͠Fo=/dea]tCpm/FCWj 3DS;Ex"lj@\znf؏f*Zh.]tz:?ONetB+0x/@Iw2 pޫmB:}1zLnL#Ekܐ꽹`]0Ϥ4"m#V.IhYHxrFv* i|:Y2Z5HD߾,Wׇս6쳳|R؛c3n6wUӺw31ԱDEunnR`±:-O)(2ݨs s3,,νKld6϶+Dp]\hO%HS^=!c[^T$ 55ꨞ(a;(#MKv!ƃHāS4l,N1 YQj4NrT_Ǐڇ_z}inb;oܯJk?~vp;` p>AWĕւ>0g¸hw1g}\f/wjԍД뭅 %f:ج{e:yd݈dJ%Jo>qW@4-`ʳ_b{e^(A<8k+k !BH , E뿁{oNUFWԚeмr9k2"FNFIۓg0f_;p؁{=.;9>_\8:KTyJT՗xͅu%+R mZY{x{=8"d{D,o pɗ}wE /9؅j\.Arٮgڍc Nie! MJeiV(񠴻/"d.vkTzm!HKmĢDf- MEu.ZQ2?-앛dv9GWLU]hٯ"H-KޛO<#N;Csf8 (bd cߋ?M4A@Q.vD‚$@ir8H鸄.&R6hDNGdɺc4qy6NzIOKY+R֬aV~ęr8cJeMxfPEnj\o}'~Q@9Hn41+ ~b9AwvausO hwj.zIiӤcdoj`Rגr )b0ŨW^a e/=8B#B_ ㍆QԄ\a2A^K9 sTEzyY#6p`s\|+3ӹulwO6d( =6x~} //vr^cvT񺜃PKp%=_. ƬhW{u]<8F^iAQK ?p=9qFY&QqDؒK-3n+=d8-MtIނ7iN3p$\p͸X!<1>X1Uf+4Qb\HqC&F8gD^Uuf#N/#U=p8jh֪f=&sbJf .D㔃+ȢS2A\ߟFw?4@vE?fW%^j liؐ&)24䐰X-Y%reOWK" +Ͽ"G1 O'i.a)26ǩIA1O=s^ߺxvz1@#$?$W-.죮g_'?f'pמvC҅1YXtzp!foa- :pϞKOk 6}9J뭌b>ja,z-3}vP2Yȯ"/(<.T30bY =v]y@RN\׺&=pcyAWPWdNyE\VW=Hs[!͒76@Di=}q <颬r>JBoV첺PaVj[UTmahU2kZV=(ԯ(%`z'WI[J3aevWy vpV A\x@xQIUJ [IE^x11rm aQCiBK <+.#,jG_BM'%z0%R[Ջ> [xC RAki(Юn)JqӁ<=>Cal|>&<UgEt8ƽca M@ ]]KBI8~T+:ݵR׹r"#2zcs;ǜG!֤ԛYWׁkœ"kax0P@Z?NEmh+"8r2"rI?ء8Wc b i}^:mLw%&PBuƩB L3S-Nlr– H)\ԐpzJ6eռOSH|4oZj UvV\V/Xyjj^SJLL^LH[Π2.T{ 武0iǴºީE|T~U]lQdj_#F`m(F?}Ͼaw!'!z@8Lf4F1{ea :ȼBކꠈqAu[B vP]UO{6_"˲Ya PUcT M:L()t/O#5/ ?iTWJsQ$;vAA7JBW(|o'9?hA1  j@oS ;ޛX5c 5Nh]E$H|cA%9MJNP֞i2DX.aDB!VUZڻSE[ Q`fԽ*^{FSS)xKڣ֛nȠ9D̶e"jipԞRR.;9$JnJ5 9iHָG,2js{Zu= ۻ~d:ꊳ ?^}Oexq9 ߋ.7'N֜:k}zgx|E9/<2`i ??EG /CZ3ԯ](-ڵsG=w؆h?_=*ZNLTVۿ`+JۧQXߐ {x>Qwx/yܵ:aۚNמ;E =G6QQYL 8Y˝j]ĒleGεnCPJJ2bЎlpX?JiPԌT۬Y4kƀ7fj)9$pĖ:h.x1) *\W4^Vteiv1.)NefuW.#n!ѤHխKeflXFOB>)'E:n]FݬO\ç/#Fc[G/YգkvkX=Ou g){Uf_FMtM_AlXޠl/ot67h:Hʓ?O~U>ЬfI%/8_pqǿ|-*Jf˳luO>^~C~ _{/H뗾iUj쒁£-pӳ-S]602%C?9qNo3eMHiAIXsV| D7``2c0ճ<6o^5@I]Bl=Žߘm=ǩm (LSKIo]wЯ}Tls;w3*-Pu.O$\b5mUôK Km_NJ{z 731,Aa,Dfbu8XBWR5eչ`Fp'lvuG E5>r191"c%Chf:hg<+#AEZ膪 st$kmJ֤jPs~ˀ%:7w׌7HEAiA8zC` x3'Q[Ҡ.8 qV+:kQ qmұT_op7ēD_ʔSB)Im8jJLjql.&P|F6Hхoz.@a\9ĵCn*biTM e>t 1Nyt 9NE!J^t K<GiYY8'I$ժq[^ݚ㥟4Owϣt44 bOyt򳫩 &:]za96gtHc\5Q#-TPyoŭrys?JI[v}Š^17vVӲ.Ngs-Ѷ .s-5"Rj! ^L }V4{.EyQ2J vC65cRG\ņyXSilY5a(ԥӶη ŝAYJK@ *u[{4ݱP(7ՆFB_ڳTJ-f}l;|zkᕖnX)a+^!M1SS8$^YbU_gTdP2 <8W(J̓Sz<YqejjqT! 5FwƘJ]XC+P@!۰< swu13}{! BK04 /k/;ʼnUl'rR2Ca<[qVz᭹FWΛo13Liy]lp{gQ 4b }醱sKg ZY]e+(bܧd|3e:ˮoiM0(.,Ye"uajWc6Vu#5A5J;ϕrx}.U 0lj Uj L^=`WBe+])}\<˿]޷[iJғo/~:Ɛ`{zxxPcOYy EnlCu*1{D]}F@/ϼOVkY?} *t׬3(ԝR6Z$);C94VܐBP L[=.Dw*F֏*)v^d- [<ߤŗ+0>u_wyfa\]C+vwZ1tVmTJl fmz 6okp7ş$L+,퉖hM:+4X 4%ru{m%zԴJѾ^v7y?FWk78Å]]?4_G"~\Ǹw׃ߊogjZ uEL-3j4W^uTGd `#T|mBaJv(bF:/o0Sxufi8GG.џ=[[ev/[/5x '0؜hJ=.G]mHayfr%UJMӵ\'a.owUs/G5f \ed^yZwXw j V2kҚ]_vaGG3zpV7$ Cn.M@f J:X/@1ZN4Ǟ03S %|'afɪ390/զ;jlpaoO$T)M؛v:OOW-B\kj:r;ݴ_W7Hf@ҼY~_>EۮG ?P:Sv)o.#>]} SD;rHxp[!d} K&DCoDvx-EV~zu~,GFtBlwĸ6G[IrYw`/^m?y.YSA 󌋥HD!s#?>\vӱ0kooGgxv=~^h3{K浧[]+J)%~'dBi:[t vWeZHot(̙⃣UlV/g~E,1< f3VG7Ã&9gtu52"SiQ80%Th(;2CSg"P=#0-IKXpIs h(˰].&q@3̚=s.œ:VewTzbXйWc3{IVV؋#0qR⻊!b{p{ܒ\2T$@S4r7"ǹ0xMULٖldalT%[4:kt]iǮmq(^T&Ya4mE(j[T!mpmw^yHa$]]bt z N$FyjRvE.>B,btyn,zƷD$.tEiiP{r%אjpUkt[O &ϟr֒}q 9$pS2 SEpVXUx,^~u2}'h\&ͻHMF_᫹, pt:@HDNPɎCqϽ #w,yXg4@zJ8A`Nџ9Z$ʔWHt-Zipγ2~3#ƽT9v(7Z%jȬBT6""P擄JV_X%mCCmdWXQTQUT_u+ 溧EB% igW-)BpǓ\@!LTYÃ2C\}XJ cWPvėga^ S&f_8m|!uRp\AsBHa\;hF> _%5T߆D#mB}|t W܋uz߬^\Rf04SvPSXXpV;MoMhH^麰$n*]q?Y~p@"׿#7o?}[ƎgʺI] NHSM#T߉ԬS=/}rPH+qX  kd$gTJt^¢Pp'Oq=I?u9.RUii8(Px9&_A 5Py昐)H*B*Q m^rю)pt2:ޜ]atu>NǓ\C%2íW^u!¦\^yxen+Vqea?8[뷵D{)Af:)9P:N#p^X!,_z]vГ- I&}g.PS#d|4IǍB[Iކ;4b[<J pk3UI` )Ps^a Og  'PDh;ntß\tz~GS5]"X!^K0ꋏq.EJΉA򫰞H57Y y}uz}+99p|1q>t2vg?? 8T1ud\EبGX7HӄР%8>?9c{]E[" SXB6Hd%s=$oycHvrwjX}t>TIWP&5mu0>683b-'NF'jY[ߨo݃[a,Xz!BtKܝK:,X`:{DdO( !wKb! +yL͵'V+2rz _v$FgSc6KJuG<M_M? p8U4Z(7gհ$^\z>-Kġ_fr҂ Ϩ]u#NHͽ2%iz,^*vL o1З"Ьt Ʊf@Y|.gI)w1ܛɆ|.Q{R5>F!2 `‡? ? +8f볛` Q%JU`єyc(@' F5@ 5 2J.F_ Y>hU8% Zˮnͭ|@*;¼}t+ynzuzols^.k=[ Q|>o>$Z%2]ϟƍ4.[c{BxMe϶!E'su'UEQVPTvt:JYg8VA\=a* ?}zdO)( Kl8Ė{A>]kAc2Nhh3NP,Xuf:'c96O3&nt %Q ||DMspuڅUwR96-okw?bm:#@<g,JTZ?䤨Q 1zZcpt,Ӈ =`GRGrAd-l}JԸDaiԾd?Lev[ kZW'@ct{u@Btoz|ȓ!5CE:6MT4,>E@n+MuCB]l4xt.,#mx˘'+xڇu$3(!8|Vgo/O4ુ8竡toW+RRK.f%wjVQ7b ϳ7Ll8 nR v^?VJ۵Ô̔UGQ`!հnRt(wG>>śfOOl(2JV#j-MT\coaJo֙`"ʾAؒe(SaOU?k[Һlh jJܓ[v]e*ڪ!Z eqs_j3uI&]*$+"u1+J&ifU;_K>\BE"8i<0S ymNw$!1'NL#I~V(*Fqdvtتzuͨ1J=ǬXdx= eO`9@#ݣXwv=NF3]` 7a+:\Z E%hغ?88mȨ;!Kh7+Cr~9CVDe[jBs4H`̆~=7{OT~x1h\ԝۺ9Jj}hsɂJcX1ߠ.SDy O|Հg!iȩ塆RM7x #aQk-G9VzPkQª(q44Bt]XOm1'NSKŦ7CӐ1Xkii 9> &bpos` w{Y[A}YtٺeZ޽* u*Fr$^*:휳4/!ց{Z-zVA{d"-^A<}z %7%N!So<~C铨#nL/>٬2IvNO#7'sQ#:pR}M ;ɻ$- y D kp06ucY}rvOǃ!ЏY 1jpVw4s@j#;s'gQ (Ae N1[ 'D\`'BiG)c*8* PʴߛEQQ E̔T\a|B1TܕBpbՎL"0=T, oxafHdZDHMHɴk3'nٙ1;mdYnPmSon4&X 7ug:gC{GURp@8,:@ljn9Y`8n ҦE?!ۉ5*T^H[S'kW1K:#mU_/z_'qw8ACWk(z{4GRB& jƔ?dgԛ֬L*׶WIF4xqڈoiuFn8JL!\RY͖2cs)sNF#zzؑEhM.Gg-ʇwu#JxVcDU7+XxoÖ_XxjZه]!b)w~=<,2~TUO g)L} ~ jl}+]wN7.Y(Gxľ'Jdw~Ql^ [k8j׆c3Pd^3ʳdZA_Vg54eVڹf[r} s9AJQ7rK"'}¶ܖYH'* vsMeHV  B zLu2|+Q?* <GX9.Xr468n:0iۂ\N" 26%ZLçOTx v'gpYO;[N+얲br6| 8́ m Rr$79<$8hk^/22 G}.I%Otc\X sxܻWzHHώQlrv.Fˆg*IВXݮ5bNnwFk)y<"GeK4JȻ65!v]Bvz8! G7> L7tOj;+z9-F',җؘuNlFѪ^- 'j 0r7t[vYd) 4GH+b1-F<qBO79 LK*}˕tc*\Qtƣؕ 4[35ՠqj}q.22Iq z?BZzY,ƭه+{97)J /t@@^} &źM4SÇЛL:yHS3)ܕ}Ed* K$ϲ5xq:\ҟSe@Gk 7ٖvIzĞԞ)qy}TOi =?f2p2nr܌E4E hb UഫA|Sx}';>qg?oKhC)F?,SCdMkχwt)k pUXXUì<% r אȥ340*qr%%D.+.u;aPڥ5~MǛ]' `b]9쉶|"i)_L""Xܣ"P")RU!bґCԴ̶@ܩ3'@V2+X'Z'T߾n4>5{::]; a#곷m]| i-8?8ߓժٴ~x]ˈ?k;%BmGǯ*wAx{0/^@!DR^Uiշ;6r(uޣd/qg\wQP:gG+}%*`"Ѷ^Dc ,<ٱ)P^cz.3U$?1 ?hTS)JAn /^4RmZ e.} 4DTP^vhp E"C/ ,~״ɘa Z'IODFV%ǢT+ԫľ,E*M^x;XA>7Q ^晰Qa\Qlþ4s9k 7ׅcZu>6w2Og?Ϣk g!$1(gV~\CHC; T㋳Ip#>?^ ހQuWS&+m ڨ6 =#iS[?P2M[bk^Z |֙Α[cuP􈰯q9[Z, \AIq:-u6$bi!TG~3VsƲ@Ѩ$d~vV^7'|xWNɀ?GenRStoEY0Z#)LdP { +79cKuc0bP`~l5̋0'lLr~I-dडk ^73fGǞ"2`K@ZSN c5hpu(3WHwQJ5- qW 7=O4dV¥|š]_nO;&D=G(kN!\j+*Lt<\p|+Wj %JĉUHɯ*DmM͂DYݤӸ#+ NE (Dީ煷Ia5Udx!Q$x-A}\źtE,p:$p̽i V$+Ȭ'UM|BOVFj8IK`.`ACA^ܤR.S!4 :tgbq(oPLi4ttƉoSpxֆ} (.pZaa<,OԏS^146\)f+dۻ٢QH:ֹj5#_-ʂ\t ;e;wӢ'E(F A5;\\v:x 3xֵk{2geZܴ 6K!η.^m cڦxQ> ҏrԸ+ 8eRw536 \Qq0ȲPN]jK)Px-$x.,TjjPݟf!as ;BMPFĆ4@rxƹ\o!Y?k/䧋׉eעHʼiR5\D[[B~G1 Ŕ, ĉtySk]H{ }xFy>ƚ2Proޯ۴_C̓ߘbo_&5ulڋS?O&Ok@y3QS8;NN 59p4AJh1U|ЮP1$=51Vc]k0B8;zw誇%C ٘u?J *4D6 .Cpw-u$BqljOuQ0r{FG!ɇr%5ux86Z j&ZIՂ\;Z?mPkcZ*\cʷ}D?UCxsp* VM`ASJbF36Njf^(#K`EҴQPO`Dc;"",{~Ջ^UDmKn+իַ?|~iSW|mGjs6H@Yxa䴬^y,< ɭ`Ӌ鯓as1]vbO5s'`V^U~_KqBhM P1As羷D݆[}JX ̐AoNz͓>cR*Tg@Fetڧ< nrֽvO;?B渨Η6"WBZ(8 WyL|DS̎#jOG 8$:h ſ`tPMx+3Z=A7F곘GVf(dH0"*rgY)ZEW8b_Ds ,㓹Cu8* U1++Ǫ~_"dQtcg|`q6I*XdCqr{HS{yȖRu`l$d*j}bu?6]gvG{/T1@Xdsw Lt܏Htίx~I`gㅆC.b k|/۽dr("pJ fGA-aUdH)Ex|2<8UWF VC/F23F'jkbWPyeD@X'MeAiKk/ɛ]A>nƛn͎t3d-B;1ޱҴ:"/%Fq0{ Qr;%{U43o Q%!7 QGEoz8%s A/ vclUDHb0PU'} >S?BSE Ʃlfqr n9sSDqr+"kԞX%/Fߍ9ӔM"MDtʃYr|\}fc+/+1C5]ġovtC.4ۄMY8O5ϰ@ .W^Gay*Q?kS-!!J}>ޭD+) Ħb >; Mr%٥&uAwԖs*2Q݃&"D JcZAa,54xx[6nY [ңX|kktv ؊}M<}`_Bu<5z,0u'H3(C[oG :u $ˑ7/v/p#pBF9x.a^O( bs}|ֳl`!?2!+b)MwѥQ6Va]F $D%@ളtp%_Ek$ B[xXy֢= .yR xsO3^",Ӥ00n9α/t̥@2]w+jW7\IhD ε3.ƱF>%Tj+Rl{H4͊9CRztiaTr؍U"~- f䑀4u\0UsDnw DfILx`(Z,: w2If%y'5n><$J&PP,CZg#{޹Ox73\EÀXrfqb)/ l|1 4IԳҽA37+~4N EwAcph R29/BE69C!ZQkaN%Ey-&HM>`d jvm,CH;"~I~AKә{ Rpwyu+/[88`f@?Si,{mu ,`x +y'B}V%6!ٛs/ӒZ1N:F›bwX8s@IpXLҌlXa4@U!E}W E IXׂѷf7GX@MQ /DYNCKKnɍ׷ R, PFu@&(3~+3.y٢fGd,1''( 3;2bzaL5<lpM8~J#g5QaG1fp0%TAo| 7];a.|6lA&,#gw I^HڵsIoX)~w/A%PF#7@@s$}T(ht8;P9T O!IM։~ƦPwE(^8xa/6ݺ?JYRPFԘ3$SOam~oʯXB " oR)wB3 y D3ռdmH}GXJI (;&i%NeN5 (U.EGMҹ86ay*jR-q:R)3c>̓ ɻ&-走r`x7Wb`Wĉ*𿃃]aC&&|} vHP(ZuCǏxq_;9k9fqzX獧>u7˹:2IeRp;̵:.gFx&mqBW<ɥaĐХAJ(eƊT@d-34i[^yXb=_Z\)Ե4 vJi0H6Cztp>qF|xrMNqV*l~y破:vxq!B9(XihV-&ґnIzJ8+5*kҗ~(>Iʲb6_^b_2`+e_Sw:4aXH8rA)iT.E c@!:бx-4FZ*%9?8Q W{՗mMO'ʢȟ 9CU>o8-uSaUg:23F/>"_&N{.ν j[j߹e<^彬R5{kûabK3SLS2ul0j!p_O S*SpGcam]i\ Ȁy"NjF:~7{gݾBw\[U6jKmp~׽HҞRO ϩgd ?ܑL@'ne[ƪفPܿ̔ T3]5 <f!V44}9TIrr*­# b"ȟQ%<m׏k53"ma ]y(:jT6O̾k$%k>DT16>6}xbNİ>sc(-ZHjBj}BZ^c{Ԣ퇆؅96wuE9WWXo"gZ(#_m^tP(f1Ē>B#bƩbm>׋( GSy+IxJ)taL.W1$$q ҙ> &N/>nP[,]إcM6)\NT_Z!aIL5]f7g &ܲ'~3U0i:^R De:߶ ?;9ih8,HMT`Q dJgTeB]G!`),azZIC#6aE=KWIxԅ4<272LLߒʤ$l5nV:x՘kpYea\LI]nϒ =+ΖbV/@/f!JO]X(ro*zꎮS\f+?gN*|?Dzgp6r3},cV8d$JY{)媶gZ]dml*RK#.1(+dKAZm3\z)!}sν˯bҽvLAT T o}PUY2F˽B.tm? mb <!z}H!5 G]]̡;@o>yWjEG5D޸& رPwRVT!syMVV }auȐ's"B̊nO:-^+hW^~Jl.˞S%/(_<+}<[#ŊY4s(R)?v"V{ seϗte-W:'2&![tcmeHΓceAl=A)ϼpˌHUr>\ ýMWxX҈tIQxGu"Kn4CÐ]82PG1~eR" V/MxˬR]X,|ig!%!Ў"{ccmoO<+PCqi3סvQh$_+`1 ,yi00eG7l!)ղhs>"^< $7 򢌍dR0Ԙ5fI~7lli[bi8m>;QiP?玈чpMѼOFw?7o&5WVEri~gI.~ra~GwC4K"uJ6lnft,C/]6[()N!9;vNj5#7 1 AFGjC<8PMW^=u?&sI0Nd=H&䈭H1덊45,},0 5r5j$JkiVCJžT _6_G#X…Yw`D%TQ^e{KXPWZ!}~A!p4U^>( ڐ}WySpfgkJ. `}UB[lCaXSE؀S៦W)7ǴT)!f~!(o뀶ͫ,YG3/9bDzp6z*#EZs@: 'tܡ[PxN,!̾S9Gt.25Y\^۽oJ_&[V%i1Np,c_3vr6ףѤws=OB}vx߼^O%z`^/ u3 ol\7DpʼnLsإ&Dcv{8=-qJ yF#p-euyT1VvK^"?E{LR|sx'Pdk?q%>i{/ŖWZ>¸qgLKS+ksmF?K-Sҹ;`LV ?Llʘ{L -s1T)#q3%b4g(=ܯ8Qnn6* g3Ky_r HaCVyAh/?9',Jw{ qC۳,0(^x`iS8,ɛTصw]jڒ@eџTYUmjA1L-[$lX;}ϐ[K!ě1IWMeˢ`X43z"t^̛}̑skXБgQW*ؠǴ @TSHϙ,8N?{|Ջ/)3go[Ou6"skIzab2mBc()|KUFHތ+-ݰ_v㏻?_n!PB]|/kG9Rbk@:dd0YLDPvL@wǪ'>gL|6&zs|@ZJt#8@%{hq%i4I΂H:0R5 quYsoz-Gls;x;:N\uĉyAcwR_jyu3w!{ٚX ndsO'(ORLyťz~Wp`ukFiLBu$.'N7K=k$ /`&&/N drhV 2;apH3+:i4н #&"QfKX(˶g ITPH?"W2 =1ΥeԠ9sIhrBe¼*<SЃ lXDJ ]J Or|-(m楆PTjXOuv߿bL>eCRmC;;\TYg l[ET@ə}VJOpHsų4K$mP5Fm8݇e/oǦiЌ7%eOV!b!oJf4|p JeC7iD=/>;T4!4KY- 2ohuPRT\ x^91'8T$񀉞A 2:t T` 1ޅw'1spE2ㄖ^p3\橘h `Qяkf^g3h`#'SvP ӕ3G gnN0.4ra|k`>3w`VO32sy:+2Q{t>:aJ<l<۞ÜrJh[>l9S 0zn]}k;<i1I5I9}Z`K0dQToPE*(j[4] <Hbܳ3:kw"vCT.oHgsղU ۚi'sGC5]N^+Ơ]qyMu0ꀎTVs?%h&>fW *E$xk"^i5biud:کvթ0cN5h4+笖 n N B⣦RbCv!C[--/-Ԗ>v8mZ&=!> u 50%M,3!co;Xn^~K |(2k@Q&.('^'b 7 ݴ*,;pƃ/eot=nC+ oM 2(Œ̑-f'O-j%j'$T:eeoϙԭ?mY|5Kzq=dU9&@O89\#V ʖxC5 cE\Kԍ IVef`1!^b ԊT4~0v;g<@f inlAQ9ZѰ^ 5XBQFzH!pWs4 ]|tAȔm d3!%0bE+.^z.DK XG91Wyl(FȮ_k>:*{)# g.@"BLB}+c"]`׿LDtW<} H 03}Sm+b52-[J[s kӮ 3|M{G?k޻5ڼCo5D[ %d@k2XWP@ w<o)^cI܈1)_z=*AM)s-]Rvf0V kTr^EʼnMُj ;7$9W%b*~/7@΄;6Q܌Wn>_t?sȩ$mp+@M*G8MQM}E|¹ _9e.`D7-TUR Y#DQ_rl\('lLY>6^j/s/O_mBg^tbw2朼b4yʷ+1܁˫m'ys(F/jه:P@P"n.HCHq T uίq=N[ȏj}".`[CdQOc`Ie%QԅGt#Y3}%ϡ&sL;#(c8y!T=v^DC3 >ZAb̆}DF~n$ UHX75ͤ)^Q%: $:Pj(-]hR(ձ!-C@,na\,XQ=L>t=%EpəLS/ z<ψEd'X⌓ AW/_0N'j (J O>"қ%1]jV%ĉASRPv T;]—. 0?(lwP1sWL@0TμuJu 7ǖH!2]`d;'GOK3#-Y,nLs*\ 6{/WX$ H\s%}/ʂYTub|ub0T k2قPmZ؅~Ko@3T/ 1RBʅwĉ"#Ifm5zewnp6Bl8gAYYPWXӌ"Us˗;aAEe7(!ެ1o7_uWxw^ ~ ADdW^"ca/q1gAmV ָ'jbA"~ 9 oJU@f, W~{>?ߠ3ZϿy(p_)aY 읯韃e-/;A6-0KcVW}Jֽ5�"*u;><2}&CF7~[c7~xuv-°fW3 ޘh1A:mH{^ ="?^FUompf>a$Qto[QJqFmmQzQݫF~lօ`[f# z^6xlKz}boEEmM!Nq[ixxGN^Koc?8&bAT'ؒG-nxzL##R3ݩ3'f^D,0gti6꽟|mbۄԽ82]]FzQoK\ F C{i幫쵊9QIZlǙzU浭|8GЀSmT.K؎}}N c Qt@Ž Ч7_C⶝) $MWr>́!4dx= ess~&U2 VF ,N9 K?f?ҳNGVo: +;dr> NA@ց.jT??,RS H]u;ڂsܸ˶U.Wd/⚄Ns5KPa;Z3?b|ek؏EAzըA'7cvV@`Rm(+Ơ߃2+5fRFQL\36C Ԉ;V3PW| ۀtrD_- ǭ+qm[g8~B/X1-e-_lB"Ec(wPzڤ`&¸UNC}!c|R+ R=6 1$zҏO!K? 7 ʝG5K5T0*,/c[`Fܡ2A5 7Ah? YۋŮ99 R,G#6@frC?H8Nf+/N'ؚBzσqN*QqtZN> H^{\%d8"=Ue8Yb&?@,>$"1gcHj,uKn,)lCKAA}}~%ƜOej2-k^hSZz:"jwyOwx -kDe&^NM3{T žaKŅ)P~iK~7,Ǜ^?f]g (;_Xe-ODDb2**;n]j[>$0L׉4~H byh 斕N1],}:yA)GC%[2:UӋ2@p?%vcē쬧fKQi=kZM*\o.e@@_n:~7 . K!r G>f}sA[Q1(ƗDI[z z$ifG⇃#g;;R5rPd.ԭέx.C=QWޞ.5u5_A 5 MnfPɥZmǘuء"KPۿ Yȃ0* 7AtNƵwQ!ۤ(p Rsz= {`M{qk T3vX"GlCVfeGmC^RK/oPr-Y:xPeYc}2eaXjR8{UOXN& G~¤Q,e+eD#R0[Fǒs::؉rr ]i[ 3exCv~:ZĻN+nz}W>OegaQz>ޛqw[wf4OvQ/zg<ꥷz\ 1Pn2ֆC;nQ+Vgv35r:ŵ*;ۗ//kznC[;[4ͨu@ʯBOcEZxo C$I 'VOi=P.?s'z95'F&-[wGůq;kYq 2ɋ6baʙ񖻡 :EG?mR.Chͧ:uk?zjS5r\}2;s) C+-}Ro5ZmRc(s,ssy@Q!8PW"vD6I+۩+k) @u?Hi(}N95`)<b#v?%K10ũn>f ;׌6g|sh-[݊if~nmJs N9X-ꥎOVqZW\B~a,?PWE>j]LoLQ"'ș,fCVh<{W׏\c=v D=`^E**R̝/N))N!yPHʻSoHW*hmyl56W!q)9m쩓 H{nˎNhrK/pSU((x|O[51?뾹~#XzjY$lƬSG6X FhG-&49 ՋDHD,j kX/4xPVAQv$Mg8^xRK^}1u73]toHYH }y眳ŅK7F@&,)X5ц)QI&Ӯ0Ă]hڕ~ñ58$VYi?i_Уܴ.h93pM+{6d8t7aw2Iߗ2,XܑB.C̒ A*L/CjcPf8M*J,ASH8# kgE7O4e!;y[lfh `@ѿ"З9C>п3R=%,vGnXjt&EK|6<ӡ^֏mQ).n~x5nZx;ߴu(v򄵞. N斤j4JתXOěƎ)j5t0-X^ 6yV5XAOʱSr23M9ٓ1 /k./ ;TL^ǝ&%ӵqX_њ8 t:&*,Sxlxx)?obuߌpAbLoY{Pܤ d#+a}F~R}>}/\ =[yG.+}pK zwhӤQ@پasI8.ɒ汳 ,!fnv(A!tsݍߨ̬Ww53{{!vǂʮTp 8@Ԕn`0H}sEaf f=n6Ŝaf;l:.aAsh҉m“Dzj44 =vEVdz48=(O5O_5&M@ցIG6kmתD]^)wu8>]<ML߬ͦRܖVODK fY.2b3Qi`=i9ZOД[l)z\c.'o-OEShEX_C{@z/V;lo^;NNR3~m5Y}oxhJ/8UI-7'?k`=?62S&pwtǞ=ޛ>X_rU*5/F]q/Ũ*k;,叩J"t 6Ga v+6,3>?C ЇU^j!Xl6I'E{F:߂ANoՍ8iڰJ̪% AX8b7QnA+3s1r#Tڍaw Yr]g-g I4$lDQ+X1Mj)X 0 Yc& y[~pND}"T9IQȟ:6R-I.'/ uvoJ@jgݤȞ]쬃h)w~[@P/lue,NN;v 9>ŋ([1ydzȵZs7JYiׯEa'>MM2u&[ijެGͦH-%H-jH}8}'J[SS߂#ZH^.aBCwFMj[ m̀ p'_wQLe I7k`=rMOHDa}rM -|t*DyVWz·aQsâ6>\I9GxG[L]{]%5^b2#W1KqJ`XO!o]s%UF: i<0x6l)R` @J)!O62$/c>2n6-lAkۙᄒ$d)vMd 2sw݇hG<M̩Wrf3'rڗݳ͙=u*t>\"tqֆ [N!Z}Sl;"3NIP*&5/* h]kcR(AXasyfqutcZu|~%iR+R6\ud J^Y1&)W-&53v{ņvЌ[JN@-2VeHH yF4gX߶4^pm[Amӹ8֞5P5Vka$Bx}/f4ݤ(Xö!_wN>_aԮ=H{VZn6ֶYW]a"M$b^5)E)am pQQen<uLӤ|iXm.%2uHNz~aaX.+IaBŪͰf^jX[#H#5nwrG#&5#΍XbrCpY_y0 nX"*j9]/k2X3@"ۮ=|?)l 3σ\eUiwٹ]ټ PE? z)o~a`[/V RqWȾ[ I/ܧCV̬+VA'Ĉ_p7׭s2p.Mղ6M`m HVΆAcp݇?AjENƾ:/DT_BDYükS[rXOFi{%lW{hr֖ˁt Z_9$ZxeVCB*,lJyu vZbT(a!urȳmj%YKamI.HTVe(hJRwx4a+FJREfF<҉`\Q 4+K(" SC1>0BKt)(lXR\jvU- lEH&[qijZX[$r3? ,8qw"ѽgbb7Et*;UE~w{ƅK!ߌGf3-rST4(ݏm0DqDVMf>֖SHV8=wekeS//yÅ6&ok˩_J[3ժ .\<$|، -ܔYef |)JZ228y6q|2N -gy)["JJ>jO\{TiG>Cif4V9=J8%Le܇QpðRHr?I=Ew.{ч=-H[~fytef&0|dk\y~ z{9gK.aIIpH`">cE\/TʝUtENqމT~Oya_VkBJ1 X/ӊ/XD#OY"tr00fS NwI%#Vctgu߾L(T뤂׏&r\^D5Sܡ;,$:}]Es}y_??o8SD%樾SxA)-\ uoSyG*64t,BW6nW% ͒l^!?U_\3m݋S˷jC;X0< u&ӝϊK ;q{ OT-& &$bEG!~)a.prF8ů^g9kƤU=/jdI9+azXZ^Z в.!Ͻ?N eK ƹѦ{1A64P+.=,8UwO)o$  ȭ 6.ŋW)G,ʨ H5P#\c)O٭pQ95,yƲLQd][2W͒Š߭LD5 \$&O ,1lk^f%OD2-f` |I\ӝAb{ؕYlgA1$BXN5sL`?mĪD!an(U.[c^^|fB~TU+ᛟĽ Ʋa=kFPm6sUmʆX>0 Ʌz+Vڗ aU^OnYѹq%Ge`?ǡd8؝f 0+ R33U-cg|,r83Dب6%׃/Yh?o jg4"F zIF]Y "T@CΆFS=e" 1HM0i +jL@bKr3I% .T)+=A5R#{L:XRPxAtj+ ǑCaXD#nl π $J/Op[!6rl` 4WJp($gG1NWiY3q/" Woy~wuqGQ#n\hV1|E]{&~pPu}騀[+=ӧ͐Wޫd܅'% #ɽ%`ab<5T C,(ټ@\v ~/ ?s<+Ш|,sy y U0%v] 8*Ĥڮc@`wOedb0+oGћOwkdK۫4mDs&$x Ib@H"#$KX(xY*̂0 R1q y}mf 9*Ur^&)׽OV]+Rk+t@TgU)qn !]ФPc5lovvsݸϺwnGguAImE9eiQ6%K895c#ex zyQ>R[&(#WƠIZK9ъ2UDa]%li Qnu.Z֠~Y3]7z [Y}uVGEkOU*m)@AHQ$"c݌Π&9VNxt4v S*n=5n*owt#܂"k6=;X RMJ5ZYdr6#.5aw<N6噄#7-ZRt'] 6o2'2B _|ٖohOOQv,2GdL4 ,X '?劥hfK9Plj|"G}EN'1v*c* f$Y)Y(:U{8fsQTm-sR6+UL2hJK{Lr;3`DpaG"dQz%"]7ptS3[B")NTO]jJ*^*{eHM6sMbaۧt;䁮3Πsj=6Oc-8(!onAʭTg 6廽OJ=rCx[}޻',)|<ڸ́sT0BQx+T/ۆo}33Xlʋј-hCHɔ 4- ~p9 zVd5RA ܴ57sqOW?1_b?N@VkMDځHљLzi7vm%bl_ Ԇ&f^u~<; h'^^E=P`iʂu5}[b k&-}3Jې[~Jrw?3ۑt!n-8ttjX3\9<~(‰Z۹h%^Rcʳngqt/qv=8k$NIƮ`5|Z4H_zKB͸dȫVUAO'l ~`B|)O$Ǜ`,d $zp#^>5vpX"+TFԯ\an!;YΤIhu_:[\DJ؞z^VbYQbI}L\S吊F:$R:3 ꬜Vt6dĞ:n8连%5HLW"[X-RJgmu 6֯LnɵoG &fE*QSKds=F>SY]J(`^F~͊+I ]+ U_EO~%+E͊^w⫝̸nfGHxyIgm2HtTLs{Ɓl0:܆AM-_D5)lz h\NK%3PC7JչWKz;;{~/L]ZcIsM`z[{;nG:B\V-'Y0L;.cX{^B:Jq/m}BR>9a#p$b#܊0^VO4^{db9t},NJ8B>kEhŒ]"3\ }!XRfMX|~[~RYJ^YUUKVîΩ2h[~FJ9Acx5ޯWMLV=yz^4AlL8VO6rxܻ"Wx\Tl"v-aeHA6L⹦-Rkrߎ~7WǪܦmv!zғʹ%?wq3wq$T \4KȠa6 Xd!My3W%y=ig8]SsWDd#9R[5ǫ17R<'@6il 0j'TP?-ԑp#^ uJ-R(Γ>C0`NIXgŽY8cvl&28_Sߘ腈ۛBm;yECLB:Dk`R;_)}}5wKy.9޿Dw&pO,>N>$VB>b3NI*Kb2<*A* Py,KD$V=ԹTr)Mr]@6 皲#f2Ճ 2T [H 5z)[&AH9 a.&f/Fb.e04sG0q`J|)"h}po಍}41)ڍ_fǿ#SoSa7n ~9uCm>YzV y(opkiu55ִ[ucXiMm/$)h\}˨0Mtģ&.kfIZ 9mp ^ri 7" "s6{ ,Xh{5CΙrM3_Dse<]Y O )#^h~n6VNjJLE50T%g<)QZw'Ɛip ,=]xt>VJI$ $U ;yJ)4 FjV{/LPo߭n7/t8ktݫf YM&% ,QQ93( : Bq@K#ʃdkQm\E'px4jN5'CHtO|Н[B%[B1]?_,QQUR!*f@ab(f#H(HP6" 3X[/qvzGG@}2Y*v!\T:0W.iy3>tu DvBccFlwԮ# ~,ߓor?DPQj͛e^==O+Si%vCG"߈mUV`&RFz%U5vP_V?PxSȽӀb`'-`Hwv( d4dK~#LE  ObʥUQs6lDDT@< i{TwxAYh9jѕ`G%{+76 ZHB>قqZS~jȮp#qKVYzD<ɂ" kNXl&7h ҽ]@ Y2ւC,hFϟȻyʂ}J¥ 7,_ @);#l}a͵Hq DOIވ.xq4CcyH%"$5Wx=x ,pvϓ@2Z%o4@c MAdWeֹXk‚,k g&"T-wTD!L'qMsjDŽ,t$aqh.Цm-6vg"Tyj욥%bk;2nQrR@aL$rI7GYvH]ou/VS}99ovaVtN$ZaeK f[[47N8{xs,$;Z>v4)\N[ k kTBua2*!h-x*su i]KNAQRJ q{Zkՙ]$ ItwrBQYE^_N7*+P_dm*.fsxe,%Ez>)F*\wXȿx=У ]3{dG1f3,,ח锃(&a0 idZ ___W_hЉ/2)i%?<YSɐV e1MBv<]Uo۟{ָ\j'b FVhߟU 6?+lɛ); )2;k/>5 JuJGd >7edkeGc1 F.fl?Dڛ9.ZM9'j,h ~e?|'~f^|Qu?b0;//9 Y;zOtxMUh̐-1ZTkeONm/ r*6 e95zzl`+JL7% 1{+ 2fkQc_(1 NjѢ 9_hȻ}KP ; G;{"1Ɇh^EkKI7Bꦂч4T: Lrx)VZp!I`s\ , 3ɥ{SH*`?VfVǾuMW-H(/0%v}H٪OUuX3#xtU~õi) vu׷ (+msIQaI=m(p-.l9E4}(Y-̋ƀ4Nߒ،At2LrxIJ Ee`||ϣߑɀgPr>Sv(CkIRH܊Iܠ2%l2լݐn*_&?PlZ]a-z} hD8:D8Ll)qYFgGz+̏"L r7Ym 4r޿EOLq]͋# "f?(*q&N'9č2D;q/4pmDeF B#|}L1\T GA-YBq I.z=I,r(ŎibC99O2p8X0EC" !{G蕼'xO}­xEɊ/?.Z2^&b3pS]֣"M(>+p t)ޞzq9=؋j>=>l91w윷:oo~kH blSv+Dm$WG("^Pl1f(̵:ugo7ϟPB#PF+qɱHnp]G!Z[t}VvqgF<$DLm5FR<= c9{ɒu3|TKPwcɸlTZ8֬{|m5+1UPGUj47=#muΪMd9ƾZQ+]+Y9:<:6F6܆zp+]+QR8kFc(ࡹL;n,+&^#w*SDHqEk\H% B@ȅ;vCЪڐ ˦<$Y^Dgg31x&e p4`17TR@5ST ,{3ܺ]4ZV";|O-yj +(&&Ec9QBL`MAB>`EtQ KZiq":}O-y_}yC`Tb '֞:^^.LSCR b*;+9FbDfQ2+o.ZW܃d_4=ՎqTߦ׏ l9GI!]QܔN(riCbAq^й}+yUAV\1f-Z0W0ә;VR: bvЃ0ͼÊφumLӫXXx/ ZX 6*OOb4ģn\*6d7:F 5SV[ *Shu 7Kxn*'~ċh.Հze9$ oՑ).QvuC煩4g  MHP!iI䡫n3hL}Y V!q>/-kHHуdDIl떝ȲVv*%A>&H-vcd*TŜ Vġd[t,~d7H; wv vp..̛V>ÌZ_}d}M}d+UiF'GXT_{RxL{_vb0$HOkPaPy|;-U R68 ̾=9P΀,QBTk 0U Y1zEN;d02Q`͘RG4V`l-!N =&'e Z < #!11s62, Y$nbkKm/fgb@//Ue&{'R3h|m6{조}^cq>$;ts+ȝA{GֿWr<)Lv.lCG?5Κʮ| D_>WMy<{[c$JKJ2oK&r4 Æuǀp;9YԊ;,9lᲯd#"EGAu&X aN XA4ь* W0e'#'8}Jlen7>&3^DbI!>p.-?&boRV@y's/*8\\+dhޞI&1eb6EJ m♀R;*/"yd(<# XYX=Nx`ℒ8]Ә8؃q.AFCANg[=H͂0 RM"ydHJ5>C{>B09à6v(pibג7ۊ'p3dWxWSoi,e{Y{ql5~kbC8[<.r#yUO hw/T$=V8>:qV`Q0MQ` 1C\tdWMU;#_~'LtF)uu`Tuqs訢(K6&M Z.{{Hia#˒v糺Ql({Thjle+|J.A8 , N<LE=[>-xIFCx0֝ 8V5#n=eKol7^]If1Xbe!dj!c bQ]|5:E ꮘVrv OM9pس@ã]2M>+WPR:]|*)T=H i!Sq#4 2z*X2_֗W"+BNkhMDxQq,(؟sNwh}wrc ֝:㗚RJ!*gfz>8XX2HwZ=6kk!R&R7d es?!2^wuk6sE |&yTv]k~5>ןA[Äl JV JGǹX/@x)ZfUGXJT'n£t"$ЬaxMfU4h-^Y~LGU*~U>6*Z ӗRH4;L4̟)ls/F=()v*yt4'`\,&ʯߠ憎\:Sz$ RdیRV:m. ,eqI]Pw9/,1$gq3*zw0;‚?d3XuMhZB2(^{ ] *upܬiT<+Hkv/)e g5JrO3UXU_4xa嫑WX)߲Yz\Vf#* &/"D7`)XN9Oe eNFIƛCѺJ-FGwz>k|)>4qnjPzZ"R\THiě^vznSshT%cכi$kVZn4ߣ( qaRM@cʃEʃ[/#Ap[T CY&\=9`cR8σTG}}.wd_WϧBUY1R|&o&jz|:AKJD?'l9V/m.:3ktaLL.Ʊ ޏ~?4pK9J!-eoGnp| Ns9A[vѓt/Ҏ(ғr>b~c:Ŭ9d$]Ry)Uu/Mg%7nT'h[vw}1:w)5(-S U%ϲ[WF>H~cRWw 1ZݬzۈLF_ x XGVاիe{ڄ-˥ ιO #hj|RSUK7#ũ>:~vDo9X`Wͽ~MC_֔ T^3Siuw9k rY|s纸K:c僣/[ܽ:XJD{dip9o·Eʬ.Ua+@] <R>g<d,^%Tݪ:Pvm] J,mi y>rh(0H<,vfJ3 I/,'sBxⲴ]:v#w N䳼ԬA @/Y7OR6"&U&/nEFsQ;micڂaT*'9a8nE"M]f!((>o`R8c\Bq9X 6gG)l'< H? j[T \yPH!^`c"a!HUEIUaV= !bΛa cQܓ @52My2cx΍ eb3~SBB9$^DcHJ[D!P=[넌+z@GbIZqȠb\x/R(I&bn(앰Tr &Ox2b}&<ѨD%`]JYW)|TmFBal $[$c"pқ̒z c( ;ILmeUCqhgA/d <;53yMUl|aF8^Zv\}VeVH9O%k~{sH>'mu5X0È&Lm 3T8UWcAFJUP#6Bw-ū EFLRYeNfo#Ƞ-9{6)r#Xde!YH PzB6:W/vЪS6_舼Y?hJUmdc4(:4K(T3cXX`Hn#` 4  q[ #(i^f7uCNvАaRJ<YF5ǃ/41y4ߎjt_;gVԩpS򡪚0:us|s`jJk;o5?C' UKΨbaiM̐2c>/T@?XAP=MCaڍKydwS.du袪՟6O5Yw *xu -Sn "I3A!bR,Jr?R1Xn46^Q# ,բߍ7#*? ν?>!1yhew0UgKw9" Ǣ4cS#p(&Tj;s\@N.AtMWbh^{Jp"K._wn1tc_x @Vv'2U'BGrc)7YV0EMo+uC'}QY7E?ov[D71;?R Rț*+7EHtH^0BJQGB%yҸ}$ѤrG>dx!!A Y>WsA%M[-,R`Ƕ3)'F0>*YbyI95VUST+̵M9kxwqF%ѩAd1㚔X%LhveP`pi=!0qZS(\+5WcaR y];qf1$GK$@/82.b':B>qMT+X%pf1NDݴ) `TٔԖ&EQd>15uM wۋ.$u:8)92$x_ #ȹg,, /ysk (f΁h=J17(\-H[W25\Q5C?}׭۵~]ƝާO^"[fW*L^9Z}EZm <)wwg@ƧQ a\3Ü$5M4Wwt~@/--n=%ZJ= ɥyzT.鹿QgD!ז3FRi+;T/3wE '#z%-4IH8@P@ /vn/ |X<`KϝAHYO%ER& {dKE9X02fX@' J:jʶ -,"1LO#7]E<d͖i&H֪]9CDdX+k̩tgk+L+0AڲȩyG^XzHJo*q0m z~vV\##N"rJ,X aA{)ƂEQra +5іj* GWl]Nyʦ"38 t R=8?@ϓx݊"( 5?k)EWH*Y ](c8Dbl`-jo81e!Dza 7чԍMu\o40`oI ѭ8L#@Q{vj8+=-)%6yOEY_,Q5~V(" M/w?E8pe)u𐚜6EaPVyX-ڀͫٚ{Վk\q>[c{F13QɪhԺYvwn,LߵY.K-FZR!j`"ݬ8PH`[63xCJˤp;9|ziF҉)g&F&O3>ly J"f0~LwZ<98d31(Hg;O=a#!WCru|fe2Vw;ʌYdJ \$H::e<$tG02bi-.\;#"9!N"F]:btC /wr{'Y8g?U*$i1N[ isgqǍ;&K*:rU=rm?|kYd-Dx??{i6С9\KEdt$S(t%dP_v<oNrє' |HJƓ ~I| ~tdB ՙnBt[ lI)@mIkBVz$TiyeIY*#H_$"D҈gqG>:G%q|U7=c_,yMPVM2Yg`9gRZ#.l4xg$O81hbJ+دQ_%:h5Z_xF^-"P_ay={w443P?R.:! ߵ:3`En-<OCT V˲\Dbr~wB>fdFD]}GM@Ք~pGN;ſV/7[Lo׿Uo."딤QYklOWݛf߸hByH[ݛ_;âjIeԼBO;Fl4{AWH6ȉ{;[j.#Gz,D\-.oO<=mz7 xKEMo:. '"ms@>?W4*C_?Wc#Ɠm_01ùK&!%ǀH,/p> V3^:Eu//-KlB_2Fپe[(v"[yXa%J%<ľlʭܱyuz't C$t̂ %ǼKaF0iog$pО2U *@<`z#Iģsjm>[UY l ߔL 4fi(+9mppK=7D^ZbŜm],W_Ջ,'m20Nu T7dY!s(~Iick˒2k ăү &tñY"}3/2{3TJڪ+^?& I?*"i5hW5ɧֹ-'߂*ϞIQߨz F>j`;u& DΕ7B4A3C oPp&a X*ۍ:EsQ'ExbʼnF ݂x,);|*8IU?>AȘA9'- UYB!cƒ272M9>LVmk#j|z l$GORNE:xNgT1 Br2BWo>4`(}y]Er07ORJ2iRϘΡ?jh QVЂ{Ɋ5#ʣKIXG'AnE4IΥp J-4 oE lERAiFؐE6&~i t-0Nhש ) <A1w α"rQ?2+<3Ls$y1Qi$qGiMIUP|BI-qCY6*(.L⠨?AX;+U{D:ޫwK Au~#`!1+3Zzġ^g4@;t (WvK)@p`A&sRJ @BHa e< Eg; m T8; XHA"H K.tˑIŸQ` 2YIswb6c KbpcFAT1d;kX[}Bgl C6-)Rjr )x CeHujRjsIAC'=ԕ}LA-2)"? oA|,H_a~Թ:Rš-hU 6$8mZtF?Bu9N 6MɤCwm4S}0HO+) tG]Xe4azI˄38RSV4D>DyArJ=h̑da`+qE!Ogq(`Q`L8Svh( t *=wd 6ZߗXWX7b_Q =ұg{ܑ.,?<,FSs %Zt RJrJ{-rA<_\c@a ?!%'G!yhӭ#,qJG,N}7y}k܏z 3SfEw."ہlfkcDY ~yϲs(CQfɝPJ2l+, DVolu+3uT) (" {caь fN$^Eȵ79K9Y:ߵ{oj_uT YC,*9\! ak%Wc}2?xc9tQQc'~tʂ (/^X'Xf7.r߂b]xypq$TdEzU j0.{v'<xv7"^ |PrYmKegjS;æV:Wz~m!XmqD vɊp2Zhhh\k>kJwzcBWgldg㒬r%IS(əڢX3(9IjNiֆc{7>$_`G5%+>FKN$txZYi1n@B\"=aeZ9ag/ $RQCJdbh 0wQ =&ヵڠ*Qp"$,V&0y hef AxEv/ڱ E=J!Ñ=y\h`~m@Ki*;kv䮸4(^3eO1E:h${Hzpq#iֵ Bb'q2ݩޗŔn + ) Cs>i;Hڠ0k4b+.')EBzUB~FnD55"h9YLف %ӆ$4N{]׿֊rQJO4+bGr)75%•pa6E&(祜AR/4;D4A~)&g╞aC9ءNktwZgZ8Rq#/Fjp_{Ht~_du3J]k @ebDK.x&!(ÉKL/ǠXb,&l8ap2 E{>_z%|emeRD t<5 zj |>R>|la';*v |_1w۵VZZ9f,OpI5/O%夛:2_>[DE('bN{8oOA@YH5D, 'wGo;sf eY9׮q 0R{cVbe< 4ó/[5KuJv^6+̿?6ÇokQன^G +&&س68zd9>Qؘש#dVhEBU_| ^RV <ή&)$y'et0pk2rowE:ah'4C<MBi놹._E(gS)OWډ@BPYBs~=֮W*ه2G/`0pl0f Mf}\.]2u9]Gvz1 ԙƷFzPJɶ#D|6:kW`M*фu,Bϰw\޷j 6~.U<$SmtZ A׼V-ܬYl$1rzohvoѺNDPX%<ȔXՉTE@@ 6X@{iKؼ)̣N,~썎{e+[xQP6e3ⷐ~'w„g;vi5!ơ qW/n3 IOe,!9 %VUjWw^«E.ua3 :+P5-2,x$Gݣaoe?z6a4U)ѻxX4ڛn;:ikWLNzsw<3>ÙtT4Mrw?#g ȶsI|iBG `ʁ߬D.yQfA@K?[32.i ϡ>2Ik?9Mk-zdP-51N!J+oyxE!ϔsCE?2%o1PHSL=#rXv:?Eg1m~ue@4&Yxrn|eeirWu.XQf6kXHdJMn1ӿ0-/JrudbZ!ێ:S;w<ƖցAL|FG;yE Pi ʳV]ᚳRj[~9xȼtR3ӳ0p4Y":< LxO]-kjWuQ]»呣}ώ5-}0p۵\=0<OU:o@)mDśooR%Pl{`T1Z]gX1dTrSi)gg:>: dDmYmF3Д Ǟ9 e ]=.{yd5\݆6rzmfN^83CE0(15?N'QBbVcV= = <@{P @ xHШbJ^S IPtmc}**}C<(OYK%OazuHVNkC:9XfN$Q F`||"o*>Rc|u&M_k|U%r~=ϒ*L>=˃N"qOj2 *^(U* `;pO4A\a23h@:;)&%^W/+*G0k܎u w,L}x?B ^!=eTe,7 6UFipB$JBdQPlCL r b}2(p'WM_mPiueC>In9A|b@l|(leﲰ-K1R kHr/$u$F""[Kʭ k|JTBhtF0bFY,ψ;2s*ĉH 22Q3##ѵ `;$&[[ɾ󹧇?`Vھd2O"{ /+En1 r۴ς:lcX`9!uc˦SQQ;! g*5bƩ E5ЀDS"e/S||Z3*&Wn&z5LkH]PӒ3#{۷^I 4; pxeCGTKk6 ))qO ?hAϖ_e<ִ a H 8E&)f&u߲v b&q"jj{jyʠD]գ%)0{)L85v'b~bb}u)6כj\EMU`YK9h-TspxWހ3DZʹ WB,izqTkM rq*hJ&$o䶖ԧɂo,P B&u 0qIN(4aK:P!@ra N q (PSM :CAHM=5TZ:flj*eB ,-x#VY fz&WO4'[VTcf$qeRS0-i(?oJwIqMwC`oD >Ÿ8HȘ%s|ϺƛN@ۀ5GnSp5Kf3Vi#MH_JX*)s9oRȠci7TCiLh=&+l0D XYcPs1r:+i+׽z3;<@"kq!^ V $5:+"/YM]ߐYD W2(2IDf0 t<'wZ8Ӂr>lu L$Ƴ 3ztjBPo]B>E[Ж7VXM2kU&M|Ub$ωMu<]rcrLe'>M8nx3!J s*, a_d G0;$bEOXIP7RA$pZ:r=d눱F'GI;I..Ia:~je_g{ 4%,u60vn 2zv0ٹd 1 JPyμ@?W^GF5c:4(*cp11.  H $E%p4<3A`2>X%~4 k.{uw 20.,{< "9'ʀfKr,)IRq#M픽bU#|@UfĝtGo}M@̓E4m}x\x ڳkV34o T=wXkj1a<9W^cAW QVfYHIDy[e<@'jQx}SD,͂IN ،Ws3pE,4_DBȪ^2ۢ~:\TTރg)d;9AG_e]u 1שYKJ۬&p[Ɩ֦ a`9)eU |g|wXK9J"Kxr)@c -@9gBM3BAe"W[n_Uk~aF`t\{]F( hB!lr$`, y?k3~ud7LvH8%v+` 'jЁ gy'M 2 cR0xˏTBF6U?]6)ZL5US>KP~og:ixUR(-sTHFFuzyu  ߇QYOfH2p}3-i|F%T)]B_ճ^LuX1y1k•3xaǦOy}:T2FM@(z1{/Q3I2 Ξx{ؘox[ Q4Tk+/,~|m_Jd3nlHoKJˆYTEJ. $:7ɔϮo>E8Ic6;'oog G㋟R/_av&| Q$$3_$*;mv>~A@G&K@įy*dmΒ)pIXDT@A*@;Jc񻂣eW򙉯 ބ0CG{jp_38l,e^D0K~l=7{ $4,qr8l`XPYfw8 dKj5m\~_2q kw|M٬H eeRTS#x<bjc[MyU6x k=u_j?_.+oy ?wP~Vu6Z+3L׵x&^M8x߅S.$ ),y VB#[a }G\bbʙq8lU?l1oc3~[RϓVˠ4H1 )14"'ɔqK>KZv^K Oۧ'/ju)>$_~Sw=uIrNX(+z5呒u2a.(ffO:fG0~Zr_O%0T.;ַaќ8#m/,H,Is,I#u>eT93 LJ&(q@>]>nfθޯxTŃegɢHT~ԯ24`RVes6Tpait EӡIX.0O^Χ 78fI6B &djQЁ^1,SYO9ˡ޹$T%PWNs/R 0xaٻړfXe Pށʯ66ꆫ%Wa䢘=.RwE+FLZ@@tR!Esf #io(3a0쎇V%'6He`2,s#k LitA:2 ={ =WlH8- ]KZQg+`1Ousĭ8,EP,T C0ggOyf|aْϬj;pi8$ J *yv8(B$VCؾq v}4)uM%%z 2' ēiD<;. `6E<ߌSZlExq!/`R3LA̙0#~ S(ћd;rJ+Q05F)$pf]ZU&BU=X!}\AjXmVurrjX\Xo>vU9PAzNayoTԻ Ea5qw?:̞B'p1]d)e eCNYĹ"ؿ'L<ڬ/q%&6l;Ű9ņ?uzuڽbut%)d zKuM T՟)UයY>3J3+í&74开t U]8B(OÃPaM@ AհMEC'5MiP,Č 3X5}Y@$Q٭IW Ov R. cv OG"?Eʳ [$ E2<!OwY?ɨ^3`y)bD[[xyV>fǯJOOXL᫡þo<knSqxH&4'ָAfKxn_K-c*`TuP<XR{Q؛3X?I+S6/Dl/^tʡMI o[[߇UFɵS|mtNAD$Ϯxt|V9vY28Iܼ *o51. ǟ$(uʽ0O3ږ*͉rW^ڒaH{RuBiл,`blN3:02 Gp*!P |XoB~YW0շ<`a |8+.eTKYd᥂QU.dÞQBXRH9HBG%!uz[Fy PTOrjmZB=6gRwW,wp}+8ǰqozv{k C3wtayYRͣ}(sc ɗ/+(ӄ񷠆caa!xorÇ&I9i9d*|*y$S~iO{2T#7ĴScB5kê0c:-xΫ?am/wjh=uCl٪a::JGh9,W.h7o,rm&wJqrzN Z)dΰ+Ofs|J*Vrto{>]Ro]W%T|>gfR?\H3&֙v0< P69M"Ǻݎm()  ׶+\b9g8zaTx/X81*<\kY!]̪αG6=_IRNпFƦ1d+WVP@LXƒ^Aʼn'T(Y:FkXTX&j$}&9FuiO8ކT8P>C }8.g˙K.;GݝE9~RnV#K%cXف_Td9\^oIx)#S[OLkuMA(aām W'MQ׫+Y}n; \yuRLsݦQ{9;Dֻ֙hNÃ4Qhx+tUZ_SbT۔~p+:_c6BΛ( #C?̓Hy|, 6&7XyTRIA $hiVEs}]("C|1f )l=Yrs." oX0M(eD#NMsX`DGp90g7I422ɳ])AsQ1a8awIP5 :">Slb0BX= XH)/T Q甔:YP|L%g-n_X0'VAx"p:^k/-Y98̘K9g_pѿ@._hxك|f30}g"oxeiLpm_e6 Us{0MX OqamUa 1bɋN1ıjn%Ɨ'[֜]ߤj,|IC+<ڪ9oo!\@揜`rEvU؄?q[e,98;39*"i'Ş)ḿTZ[?asqgB YK IeY-'nʗu}hÕ]Nhy]Md cI0~TCGrG FBS2?.{qg >-""ުgZ"׃RcjfZH}:K[?m_~m kjc<2yћtUFtw3~KTe˭-ΒՊZrE\ƞ-7C)^/$8<{h"ȳdBlga$_3iKl\A)1 \mm/MUjmx}nV;MDMJ謐 Uo_?y7J_ByPRjsYbu^)܎7FshSsT %B.߷> Do[ ןu}!!,)g$ad 0Ǎǚ3˃( j&T&kpkʊ-Ϯ"C6KÐ)TD1_:[|pbq kNyȁ`2'-U EVy3Q$0"L9 n0 "^4[s$ ^(oWU06ɪCQr_1dM\<#Cb"C}<9L6/~2W1Lx?Mc raPpvŋ;.3/*KZqOq%Q4[0SU?xv] 3Kd(Yf !|dH"PÜ?ёJ @Z<%0wMmȷEU#c# BT 1`ʵpblh6fChFB^\^qxVa=@.2=8Lb>'&B?|ZItS'D)Z)rS |ABW9q &_=yIr(Har<E!SCo÷y]PoysVdu9'*t68c5~?) ̉{{p`Sޝ4 PjW<,P: r߷vw?ZG/ WώKx&=?*,A^bm(@CMJr=?rEtiLdHoZ}!YكFM|8zbjUaGtn|1dHyF2Z@ ͇Ϝׁ'ӔlvůØͽ_^m cÇ>l6<6٤$F4'уaaԱwM$؃V-JWKa6UWr`M/esDAƿ*q f<زաu;+fNf,_%Q8aQʵ$O,ȴlb^,q9ָJɃ <$I TGڂs8$Ti)!" (xì{.]vॵR_4+ `G8&@Vvi"Էlr b 8 nLjW{Mu6Ksv\4,jݵlSe_6u{/_%S]-fyq DXkVUg6k?l8hB@.Ze1FFQ u:Z%ކwX Uf/!) I,Ɉ?yL=۴;eO%--f4/x; N+\yRJ?>p❝옉x{{3ϓ[^&4ʛzM҇6/?m?򾔾+`%}}rG4L^? (u_Jps/{Z (2/0s8%hRF:gZma]ǣ5)oUA5WuǠ%(W@[W]u!%Nh+*[cI4%72K(V5Gk*>f6E`dT`HkE i4X0b8yxj:R.{TT%艨r9/&5&q{䐪"1BNz&adžĜ]AqT5fre@_ J߳^F-XWk76|5]}Tj6ճ,ԫV\w/ƖIc~# gM|4Td5[ KLCX |npy/*gC^[rނSߛhJ]RR ~MJIɛ/G=W~aSYڡW#,@{oo~69|wy.#zL˜Xo_9O/y2 "RV03lj>6i|2OtÇ?}d/e?Y@C3~d?|*qwH+m+Yxb* Ya`4R[ !FifgWSTB|"T{P(WW{)i&x8w<|Q{Hd{n;ğ y*6;> C u'1%(&i} <-kU]7HYo|y:c&Qo'k{OLrLxϲ$7AƧ, @x\d)c6ع]l%n^j܅q<-7kiU|KQvyT DS>qҐ]a1kJ{ O~%f׵E`%@wZ5<gZHۦu,Fz ; χ#bE )מgɤ3f<;zY_5'66BT[)fQ/XAK:<|'\eI~qZ8u׍5lT.utv"^˘1 s9}T<5RÜyZcRReKq{=(Ej]ͮP<\pqEoFE;ViV6p$p+a U! Y `}$s螤iC(u PwG؛叴df#$0}A!ꚋFtq}l-ſ5XfIVjOt0<`?ӝk'>>q.]BF/Iƶ,[ .R!B z>+bktE{'}iq$~[x_1*Vw/g.$HQNJX?vnPeh=κ <s^ۺ'9HܝUpYK0e+Jé ?pA 'H5dže[TVcTY-Eto;dX\'&)Y[1R|gEXoEa)c y D)'"bB[nL6܈}mb OBp'dKSO. G)H)¢8*`.9gyX,=B.sW-޾fRl5‚V~usX t+*61TYAfe)hk ^F 1YH@P-G]gEo{EJAP \ 5 0ÒxK{&E +xZw-E,"v$ٔ*%U4'wiRQ8xwպlZb %4oB 5;VW\h hҘ {5~5ƕWa\0xtEutbQ[>-ˊ}A#Gh$CΈEkkp8PkW l)sV$(!JlF޶pu358⾖dCx >/2;̰EwYg9%iGцwؔ RTh`K{lKJ :e*H=,'YSv1>)-a},0E'Xv|y~CgdSENH,ɔd0琝E4\Ϧi|yh$[ʄ\X&IRcL+Jp(ր{0멆Q&({l'1&e=#(N1 i<.d)-Kޅ*{0kcg#O _Rrַ_h{QFa]C4k PPLKGU&ZkEerg傶;QH7uq˜liJ:`׿hJdV,>W56A6k` l.OӁ&QK* x& !7K͎PVrRYst0i>0'g ܙAuu2%= Gs<ј[j'^o4gxTnv,ehfxzr(=#o7ŻD{{gv^ zPd!Ҡ!2_{IL>?E؉Jo<_W$ ßlO-iÎA38ڷC> GdY`4*[L >h$vqΊpՋ?& oP`v(/^r̓jNPv" x@cD!ųAe2*@ӇDbB4\  Zr]G-^a =΃k("ˌ_9x) b*{A3pIJ:Z:>M&֎Rdok֭x*Uk~`QߞApiy6$4*#y*Z+Umn<.w'^ k~Xjӫ#w;vZ5R& saM! ot>Zuui?MS>cs)mQQX:֖FVK;R)"exꝘI+!d,8#lS QFsM$9Xw{~8d;a  Z@LbAC?a+3BaY0Rqm^TerD>@oAY J3Қ.c(Dm.H*o׻A*O1 Ȃ+DU(َ8/ݠN@l_r(eIy若ΡN M|!Ϭri'Le56E< ㄅ!q>'R3(6쎳O1ymj1H%h*Hw7y,pUC%˅# +v)ʮ V'*DN&dR%5ʹbDuQ_u&9BMfуev!)E ʋPi @Rl e S> !8mD~r}j(c0Z3T$Wކ{Q䤕?ixTV]q`wLdzk ,?pF> b LA(?ib'_*u"<(K )ԉj(}٬cTu!g-qZ,b6EnR4d>`{ mS̔{6M2%([g@+B?8/Ÿ2È$*Pi9}Wx.6_DE%.i Sՙjx^t(X5A#uś/;,>ݠ}h`%gy}]ч@?Q~=s+AՐS7C+ 7! <Xj oL>rOCkmOIo=Y c0_5a4߄ՕiUSp4/YbY>XY%5Yclj SK,4. oMQj]2kfcn7{dokvׇb*{5N {M R}}<}&/8ɥ|!1@SchĞVT`Z5 Fs×Lj?^U_nCŏz-*O_ɰ1sd) 8`&9#㋞~HvMMzWiRa A}rQyz_/fM3/&x*w(m-F9LwGn<тPH=Ifm2 (uk|KqɽX:c -c91ʞ P(G Tqdҷ]eI/w#2>[S[qnQ?ק]3w![uqTHb6g>О5Ajf+PM'CUgIHQBgUdAhbm3;n*F+H&pҊCS:jLx?ըŎۂiWttɧZ}ulI Z HpLnhGxnwMbLJoaGXMOnԛ^Lʾo"5C! ||Tہ (ir{$n@%QtL>1([C0g1 @M,RNH$+ػ)C?V'3 .2^Ƨ jor|]!H)UyMxGxO\%?~ԜE`نV?5>C咔kf2S)ž-!MH Հ a$*DnJېcfpkzvYԨ !u)W,He'baHf\2ύ̚LD)r9!HcIh?>d)Uf<5b6Zq9{uQ&m~EVkL>Kחq;$lSxCNX:>Gbb]x anWfLbh|@i Gf}Fx'%v&hQ|;uNCPZ0j}%ҫBι t:t3j;0SCjMs@,>^eϴ妑\aR*m@nz݁ U٭ykσ'?KdYxO(Sq +$VZXpj=uV%hEԴ[P:26[a`?0ꆲCцlaH߭"xU*<܇:}+ŇGY=f'ئbW*uҭ)<|r.A9B/]@g%}$"ORŖ&dmռYl0UÞ S[Hm`m!RP)߰M9_YKYDySAx)\F Bɛ,NbQüP0i؝dQ1Q^(#Px -=ͮ,0 3e L<C4f@xBO``凖s--&0Tpxy=펻w>I1"L]7tMt <'u0s8Ё7'7|N֠zTPH-VF4d~|5 r!$LBG[)1C;Y*Kd|dwڽ<ɶZ>h{K=vJ+_ڥK? @R#Pg3pMpNfSi/ouv%xZn>^G> ^䲯Y~㞁PEIpnxE㤀]>,΂+寤WߡGIw"Ł/kҡ* H!@sp  +1H}iy} z D\hQ0 >զWJwbTyF뿡*X-Ej08zx|5؁qJ<_}+N V$lg__gnih< ^E3ײW"5K*`޸掚)پ{Y3FwJe 4J]IA0v:띝u{q zMд0;v^P9iX׬c*uZO9Z#»M*T8#;w N =Bz'Y760s|ܨT' nu Wø;uI7_MRpF} ~1R"\]IJ127il?*(os83Ånm;j5FJQP*h5FѰee5F͌KD8w+NDjeDoY);R=RaxLKyQ B90 `A"CLGgL g K2Lk165/mqo(;%AB~u/UÖlUrӭBsek|`Y9 RH90 y3cw8 \'<5D^;Go=7YxEǶh%,κאp~)T-N^0]vm}J `;e2EE?%18>qށ-XʰdpSeD)k~-éḹ?)[di܆B]@]Sf6c_ߦ*?U -T䫱7+cdjLcp;ͻ|3w/\ dJMh*m1O(2ǐ,̡0) ԎY>aޟ/q$x'AC PȢ J,P ?5㫫h @}z! uʥH>F @U֖{UͽY7.ëէu y:Ry<ƃb lS6>M70Ap4,45=tputA*қBܾxvG|ptPg6t@&J>U(¹싫 RB+R*U&HRq gK#URqT #7ք(;_kSif,ѹkK~|k)sU#B*NջՕ*컀ڂW❼ʫ0_){ZetrY/bnedQ.5+Ul kEfМü qfdPb#<"()ZBF ܪ4ڔy!]}Mb-9N&.BрiſXl!AiEňD 5JoI4N1,_a&,ZezA&!t,\QXCvͬwOzTO أb/z/`ulVݑ8Wռ3˴#,>CZjz Wb,Ku' *cqюAgx7g4U׀i l۸l1ʢ_q€"mHͶ 60S3ԜI?PTQü>00p[ bS:ɾ 2,p< p㔖G&eC8~Eu 8+8<*YMçGuO/aO̫{ qo`d]KYjKeJU(Yz\d@+4kU(&ıg@Z4Qۂr(x,<4NN MwB/J}XPX,HU) bd/, s;q̥Yj[7xP_[eAT5t3%EZxlRFH!?)2<{Oayoյ*|<'Q\IxU Md Kc^DJcMy<,JO7ʱ^(lp/).9Myg/BL^TWAwGm),€t.@4 ]hczG91v5:O7wjݻǣ ?r3DD]tS@ԖCnHH{<x?<'\Ȓ+v5_SL3(]|! ?}Pq| $ X:W[<#?7v9}:h<"$!&zc1@ؘ^qy<5Hl%FaMw@Ykzto@b!ln\Њ2 .yCF'|= LO ](G;zuvGA%Ot)/?&C!f[ >O㱲[l"|5(5>7@c£G(+/BͰWb(DW4JTKN%%T&O!(i҂SZRL_*ax J?CbFS:gFZ ȼS37jga{i7aa"$>R92Q;NN="Z\%T^Bn@fC/Su8sWq(ޤCPV2d/!Ce7ǣ}|xи>m}N~xJR b#[Kq_KԌt'VdMŁ٫,b9Vo}q(Bbo$wIjà. 9KhdZxRMДDthHllK=  ff5&D-D2f?(XBQd)ƙ+ڭ(yg.ĒF^ñ l9nTf™9+`? ts{$l#,UE ^_Hi*vU8iT0+&}s<;ÿiBJNpzÛMzawo+K;j@fٺ`l:zd ҴH;.I4T () f1fzG?(^mp7z, e0OW.%[g˿?;3Դ ΌŽ.2˥ԈMcHSBY u=-~#GL#B6#V.`QU ^KO3WUR[x|^ #H_??[S6 :cmӳ8>"l[\u}6Fx?ۥ?>vT|sG.33|#)<][ۜ%p Q uo[~ʞ+s_/^4{6B58UW[-X$JБybf0لGc4RUvp>8\\>p Y~ 9!v:0 gl!j>W3%1ی5=LAU8ibyM81|5>~5 ap;8U!>zS)3HN/,6O_߂4s29:w;p wKƚOiuͫ̄s{-a5%J2 !>[fe<]t݂&+RBZI/"Id$Rrnc(A#xPT[8g8dw$j)Y<72wgH+,ø5"B6 0Ca>øth 5Sq!>fJJ.xAZ !D -u~'bʳy`x-f˴1 !ڶ+ciI#r/SvGKVW5BL kZ7Ua NP%>h@"3q_ FgYU7HJ/@cJjb%#uYU»Hr32Nx}g)Zc0Uz0M J< `cVŀ'`e.R\oL E97ez )E50H(|vG3€J@]qT!<|ccCx:F@3}E6lN$/\,IH>]vw%v7amƩݚtƏNvDKX{LyyⱠ6`g[ʅ~07dž . 0q:P!4E|÷Ȍ0 /&yiz-TYiK6P)P F^e}gnVSˋ+3b׭c~l<ٞF|j)(ٷ0s' P*G*:ҌGq(4cqL/*zJ<ۿӻ%Vbr-s|;zBQ,MR-ȭ+ZpK5I08j嬃V-$;hmkyDŽ|)`3'H &Ryf0˰@oLSML#D"!/ABYmto5>2Tq_d%"Q  U}Wa*^ױ*JQ*!}pE <]{!w!VJHR89B*ْE1m;ڱ[DȢ q F m3iV]ȃ0W`pt4+J*E!ncѠL$S+:CqѲ$ӊd5`?WZX9Hv;&NYXaojXGi+^Eew#'.zq8 @pPp_/)LUF9(I剃dNG\m:1lc7\سk<0^O(ѽ#k10< h`Ilޢ3"9j mb7BZ٭d*iL zs!&P.i_4[r*?[Kiy h M?M]\L/7qZLߡ].";]6Pa-4-MpXr>:նF~:ըC~@xEHkxz1`1B&@U)K4Va1 ?&N.D>:;N/il6 qC7lavE !\ߪQF9́ X )cH~s292 呺- _0`@ 0ԺF3&'A { rTTgiƛFM[Y.lmP8wCy@P<ޱFRjm#,7pak¸Hksll:F[ohkFg<)$fg2P-$* [Y&>S}%&)17mP@DF[|f, gekL1@-Uz B;Sp&˪#{sfϝ]\ŏRF(ا`UR4]lO?jW #쮤UYu<ҪD+B*Ɍw^_OؽYZ3ӄS 8- WL1UY>NzVPr PafS:b̂Ɛs 6szTqLM;>j4E4 tC%!i@ڟS&50˘Lt"q:5 $<`&mm1*r>9dŘId˂)I:{sɇӟ&\+0w>>}o'HGQD`лS"}bG&Ƌ-D楚,τs!rҫ( АFJ%l2"0Ne: ~%ä 6@khvh5:.QŖ-rՋ#apAnBK.e:$;9BfZnsș,PBaXM r,Ƃ-O6wolB!Lu0Y׹:l]ˬѶΣIz#n2&>*l(S? @,QˉW;z{r3T_Uf!\Zo.B2Ց)j&td-ǵy;0TbJm.P띞]8tljXXq ?vq(te #HRZ-2n$Pu̞}o ^)9'h,Sh;ڎ;ނZ`]=ݚPz3 oW pz=-=ꜘ2EXZ? 2(WF`M8͈݀<8Lb`bf"; G- M7_QJZ ΣGb8w @~T\Z/軣 [ަ9je/>\ Z0X3lZԈ \i#ĜyWR.h)o/ܺ!ѐ?"`*)e"0I)y8  d+bY+zU.J)!/0)LB0*]yS5Jm;Нwߙ/OGO]^~vU!v{JRͳ,VOE&=A#@ Yq5Am0oj;uȎr%;N}tpg/~hώzuqk:L, Y`2xݍ͑a n[kH(q:͔f3II@m$B̃i\4EeN-qMz-sH/VlIC;5+Ktt%=w> s#Qbp,}WXǐ70|?PA/:dUbK>F0r1dUa @߸~cBT'@&FFO7 Wg]LCf^Ylv뉉{: \{R eK{z\ns#94<$+i-8#jue Lr7o ]y9{`2P8:^Og{5Gc]N!=>gեӳɔS?Y /|SM w]קV#kb_"IEZEb>j‡9&a{jwEug{|VcZcԻ=ѾeSyCTFѝadD4,O?N߾XAТCo(;O-&e ns%#B3)p9 -ݸlgG?N6 -D$¡:;ٖ)-s`ōmuRBE-;Y l"l-1e=*T\x4 Pg冒?J:s2R@1+,zY3CV̀ kuHODW0ºO灛L!C6C鍯`H f/8XSC3b=^{n‡>"v2`DxG8 inc*Z ͎&saIUr~-jw*Q.lF:eK҆ X#cj\ Pf/mw<Ӑ]9*XO?\W#"ME$PY ,ݰk\.U 8l2DYU[f0#Z,CʾNu H˙X"#d!<r3"O;͸g |0n(s=cd^BrD "NO?`VrX*- 5n| 珽-c\sUJ f4 wDR"'ڣuV:2"_}Tf0l=4,^vOG.wG3(rk\\!˒n,BGP%F9+܌HGzO6#@{2ľ&߆UXg]cuZwHY2ztA<#4TuLw6~7;kO6"ҟ- N['͉h ^q-UcgxA]hLFt {`+ʔG.ΎON|EǗ8]pXۻ''mUvvg[aƝ†d+P'FӄU Da4:_]-f@+)]Xmcj}7 O2==/:FՒם̘keufTщ'SKg27-oBQ%T\o 2o"e溷2` <hɦ l]W@-1T$’Feqܶa)ش*LTVŎ&׭NUV>``EQ2^1p<=9NS\˟USǟm8 Dv3Alw4=m Ҭd >=AX24럡cH-ݰk zd~2Y@-vE:o$9 خJQg6.u<|~}v&鷆9$/e>H )#0~0tpȶ?yzW^ 2KgThn'.h')u:YǽNN(21l^fz([m!sI$=5QN[x V$ ;M3ߌ\Amߵ#f2}Smy]zb>g줞#ݵdkjQs}@K䍖2k+2Q<%|oG($څR(}p7@|/G@hÚ4޼ } Zw@8o'8Uⴡ5YlE +mۺsU+]ƴZ6~7KʇŚo5 $|a$q-J&g~~7^ME5 [9tNNdVbx)C  Hm1{3ٷPTitX`$hd0kc9sHVKT{y^vD -S]è?^`ZVю'cUdݴ F׫p(2G% D[8ls="I\&.mYKD(X2r`NB*{[AJrts]xZzfթ9o^ßsz}לɏj!3c"͹'V8RX̸.4iCe6Ѡ Y9&𕛙<<~2ĕJg6c1-?jU?_`_U:M8A3v^|7&b$d= , b.UZ̤uLO\_~y?&BqS&<=7k=%KvlArL2In 8>QU; JϵKm Ť4 /2$M,t伫4;j}D6Ţ4b7HJVho^I#"elM^ <*8O->|և~x =iU֬~TS s JYupMcZ#K낃 4wF/L0v4G5$j]8ff<2M!bw׿–m`)O]ջS%:7rM>ܾ%6HPL)^๜gI^{g9l(w\\B^]{GYhE3͞63au~Zl`sV|C0c{ c'PvgS;7 ܘqڄ԰7jNꉎINyr>3P8FqQ Iĵ0w^u!Kb \v>o ~aW]yYhLF\¢ #g.Wد<7\e^B.._ ;em$u_tD8xgd(7}E]T,|\߁a GjM Ij}\d2ɤuVnL*!!8`PqNF <0 FӉMc4,Y qη#M'Fa W-ɛ/?Mߝ|rvRjlD,فą 9:b)p=KRɛ|J{L#߻*QAmhC vs!6ge)(~縄mޭnovCO5>*Z-g;BHy~G+>M%P)_Jl-0lK\oOshPh?T Vqw<(|IO[ F_7 ȗ= / \eSuh˾{ *dBĤ@]:GgvB H* @MԪp> IB́of4U5]-èL8t0_n\K}p%IҤB91Omckf\PB fK tuLo(kAO4+obʑĝ Wh*evUA'3 :`'h|h jw',Y`LjµnH$ V]* 4 Ei < _Y 7iۍ=p31"JJT'ltF#=f\n^Zaܜ1è=(WAPN_~piN?wB9dSϥ+RJh..0nVYZHAMs|ո" J\[ Z{q4m9(⪊:=rmL͖UUoROK ѴpHFX$[l h%{s@rdo&69ed=} =CN+lY 5 WJ];VkP Mb+v#Gt;z2I˥Yga$n)a]d\щ)Bh@ #!CYTS?ysz}_Wx|2ō}&LxCkaR~03OA[].$3ѐ ;azQQT9"4NGET!(]]k׍"Є7oxvU ^cM1u_(x$Bg'(! x >ƒXw Wg`,/¬~R'}Ǽ1r_?s=+V$|7ME(ngg*UqKikzəJô YynCK)h9^s#4 ɞT)ilMX\$D5*3u6D9{=Z# BIT% tT\03kG{M?}YւJ80p RY e MX@eX,EӖ& ?d^t-Zu $=hƓqp ꀺةQ%wz#6A"(A+y0woK82<OQ2W/)6ʿ(J'Z%"DN t|K#rNY'_/O,Ыv` |?561UH蚺q,!GZNP2qm!?JSfH,~X;?VD_ ’, x\.?єzlI^nHbCyȕA@i Rա Mbޑ(LPf4@Y:rY4w9%e̜ƫM-(G^u u&xn@1^`NN2Q$QŪ*-pI42(A޷ܨ-֧2EuV+s5S@xGFRnO(xh?LfuDh:|S 5XǾ3>=S_$@|x9͗SøO%B|R_+:hɇ让Ä& q J6Q}nπDxpD?5֋̠8ۂ%8y# NdKynYg],=}2BA|jP["7d;dϪZ_֞9P1HM!X=2ƅ(B'0bYxtΆ]PbZu)Ά:ur8[EihE!7V`:$P 6ˆ*EKYa`ZCUi0DqX !LzΖOz*Vp,|w7ѼyC }C:{nKP $.f.R !0 H =%06QC8ݍLO_!y]ԵPcaJڣ>kNgQ ^Xa۰iޫC]Όe/@8jR@r*&cKazjuZ% 24 7uS"`%4 wbV;SF!/`5<'dzГ&M#r8}uw펇#CD2?#A ޓ4.ƌU.1I-qC\ᄮUJ0Va!vhy R>j)W 57SPR@ ]),Kj1k`nON_t[hsnBD<a@ДDTߤ5B RŃZdzde|8!؀ ߟO^_?0)0!CO! Z={wBїˏP#ȸwL̻U_`Ϝ6яPb{mސ✞wuh~FcSHXDUn J1Ie {zɬ+čwqRص̯@Rs3l -0X'zi_́dԏw*jЦٔ *äT0t[@ArW9h7^Ú.dYe]ZϹ3T@RsE!2ރr`-5 BP*"} 0?O_t_9K TH{y"5%ArP]&Z~,F! 0X I32]EOI`E ;]'of2vDLWi9cvp{Ζa__?{Q dDΊ5j.Ӛ*X`İqTc@n.u27r5͙-"i k#vkYOE+ȍ!6En{(}\)VNr*9'BkE~{hœ40=p61~{q;rXcݥ5f!}J#O})kbjC`6[@Qh;>̤^:⻱}6af. )S٧F^}C]ɃiurO$hL5`Q؏-կȫ+6@nE}*"tDyww#ߚyLЫ7(}"U (0r'ikG uIr$Zaf03L}/ec׮Re c,LD^%~1p%A20FA9pKHcVB!BO 3]Hcf-g-q&qd"9ոv0j%"6 Z^m.M>c{!Q4'eXV{Xބz[/..?^XJ_p= ~XҔ`2a㩞/=.=h@?];Mr뗑-o[Ŗųo~,Hg,]{߇|O~'p),9r9؊ZE n!?K&EdD!a#  6q\kZ֏Ht `PlC9ج,&Y4S Z3cP?g9VW/ʑ/m6Ð&-:>v#oRyS_R,-BN(EHbތF/yHs ME{:ؓ[(5Ia+k"/+8;$_$g<$waQT+200yUs_6i=xlEsӃ˯EEڦKb¾Ѹ5ofM?x1ܵl%Gn.vLk_L}]Ңw jǺAA.C%5)= +5b: Z4hV)I>m=p rtZm) @D2۪jr.}4]t82%]4?nruM`#uS:i.$er> IQM?/Dp@E!q w!83Wkuœ CG{BUH*̐«dL4aId@7OIf%t  W/tP;a߳ &j-)U*^o^!Vmt8APƘ$7eD?=ĘyRNaf#PJHfs J[I9\Ҷ,J.BlLw~Ӎ3(:2aިAcګ@bek)v7i`&*$ M8~/l*<^kEF/1_8#6[6:aj xIz2>`bƆF&||܆5 sX:IM=}87LOE~/ԝS#D~[=d"Jy9c~ʉ;̩a#}nXˬS/g{zbۆk[qBzeʫa7{_ڪl\1Vps̾J5ȵxh0?f4lK*Y~ T"ʲO }u)Z/$"r^;iJp˘ؐH*\U%o؏DV7W(v׀,F"Iw# cAj:3 5z1M|t36#ϼFbӏ [wI~TQ<ϥ\y5P-YB5Bzbf~MP|`9Jƍ׿RPmXJ׏e&y5}Fn&ˆՠqw.ߐ ED`d_Dݝߟ_P2XPit"E$3|4^Ջ+|KkjI=wqKԃew[nCgugG=ZP΂c<}7Da^kETO `x&`8q\w=ι/J +vr4`"(=5Y~|&U+* 2uwcQszNTOhDdL` ն$v26r~;9vD n 5n(56_C@ʈkRƸ@Fq _UqD4p{irU\^#'Ԛ|m?_|0ӏIeIIwLԽ-v qKlT*ɕoz{8]ΉZڀ8 Q}tcu)-B]7t (Wy͐w=æ!2W^x.nt[{ ٙ?2sJl< 񷙈wx bb_} V궢:Ó)+:;&(M0Go-O3t;`kcGC#EoUAAbGIk1[WR[G-'%7nOH:LfC-mzw{i^pc@Dɨ|UCCz~j8(ښ r8Kc.?ȕ˥Fɥ^ժIoZzM\,5'|>"`\xz[Stwx7WCo׵0@ffOz91zvˢyc n!Ӈlg 4-?28x1yrr=NQ 1Ue[L kVsV%1G>ndJHԅ\]g*( h y(1| F(B8BڲJ0 "3b}l.OkTl7f^K#%b@F9&bohg *~)2Ndwvr#-T7d|$wc[J[m =l"c5onD[◩#Z{^Is l ;> mXՠkgKVP̗هӆkvaۚ?9ڲM҆-OΚOm}ryIXOq9nVGp z&.U7}*zbFÁdu*D)F]&+ (a!MnYRɾEni Nw>ٶƨ8)E~ gFGM>m/Hq8&řcŤId}Jv\ALp1lVKwcx35'(xRѾ=jx@J<ɲd(M c zu'Z6Cܯ5)ح,N鍀`4p4^@/#Ȃ{ԸyurdF{8A?gK @L>yD Z,?xV@n>qCx4 .Vds"1Cx{8n51;OO& q(W(r===4l4na8ѻM&o!E%̌m>oT߾Tw Yq|3G 9piz.$;MFE)38Js(i#㛋60b^q 8t׺}ߟ =zqZ =G`g,p\7767bٙW:+FfnLCV{g'éΔNh4sطde#U׏{gPm.Ts&nŽGua,K;]aKv[Η 3CQQ3_PqLld"iD}Te)WY_PG&fw\GXq'leur5\t79vﺃagzUliVsy$&8劌$8#i/X¡/fm r09s;hwk.N2)s,xĢ ~Р )nIy~#mlPB <'WC* QڅaMSab`@ӽ 0jlQ%̨x{j`KUe[*rqX T8q ;erhI*" ⢲ٯ!.RYcZ~z `\ZWx$VQ)"̲< G1Bx"2PSHa{mþk.[i4rQ, S> X0-ܱl@4- yO1(Ro"\NiںwhK2D2C 5 XMOja ѮU}K"e7˼Nm!D7 аP+k\WǎSp9#3՟4 ZQ'pFdꋘRcs)b&g O)P7 YIY*̿)tB)n mG.[v~k&@8Gv m{%7~in8UJpUB=15i?UbpCce}ĆG\3L4X7錣l6s~Բrn[#ܤ^o7[;~gU.Qv5'Zij#T+|;FpjxMMfFޫ:s rw9ʛveߥְ]2z).5,j2aIJ#cmqn<@N w+s<+d-PG8ŴvknԂf)C[?=*u-Qw~0ʬ #If̃Q%vkt:f.m,w._꿫zۂ#&?o:nBoXZ][jc_ m5hѕZ(d$ bTؘ xoقR.B~LbUEʘNЦ1=fE6^4_s Aе'JH{l%%/?cu;o5׍(͚l~T z(r@~z`w a7"BJm*{x 'UPkgBU;U\rnQ˩bI)0!㱞]&Ӄ%- =*&-CPӷAa`<&f g\X%%b _<^3 PUNe1I^Bj(Bt9BhINJ*<Ҫ: Wײ ց5[+'RH\g[x[1!c UBr.ml{!p N-5%XXzh/ _ [e;p#?Ƹ{X\w:(F,Jv^Ժ5X}07Ȑ8d?*1},C#ɾy ({4'Nlcc{*~6%&.['@YoJLЍ3" z +VeX]B^A7˗ҹh9opw oժg]ޓ}/Sz/M߹ [(N5sE4@'b[3tW@dj:[497k׃Y1x>Z0TIx$W6n@1JOU(Y62T}ZE(vӛ Yy+SJo,c9cL(,V Л;*,4p$`+UapM ][.;5BJ3iUs9zpҪaUKdӨ%TU4Ge jAQz2Zƌ & aiPPNL"g^&3YVLdNi'8^L/x9NNo'tED;L ~J$ yrlQTh&LyH.ּ dNY_ͨ ?Zgy^uw lՎ-BYhf*)XEIUV"BTeY2|5f 4e]G7Ib>Lwv*Uvrܡ'ow| % iynK3lTx 'AIӹӡYޯ7)L ’[~Ql.M ""L#q r&4M%7>_e5}{29fD܁hݣ6cUtvOoҜщvDv+Dh.@'Mh, GCC+p0δc HR *owp0_WO'odsOB L܊;YYs!<7G_ql-^00s'[djٔDz\} '8JԑˆJsԹP:!ìoVG+zG'>xw_?fyo;rv/ AR0WG@Wˉˎ {lw]*[DJs`҅7IFs09Q&EC- ա0VhvsEyYfu^(<.Ǩ*E&ZpիViZju-оkp9oSisL`2 oR:Zgl/~9|k<+=/ƾ<u H}/HOX0nM?2ƒo#&3y.E=zP*٤T:m-;$d8U_Z( +XUް AQ6&N5졬Ve'TOACX:%m^LBYKGeP_&{/ $0nf)ѷuʪev =v]r\Cv=|}|r`n.ClU:~p3چ)YbJa9ͭI@NJY+蝁\YU6k0X[E[~Ўj-CKź8\t\RwBKm>`Boa4Ռ!,yNfN2#Ps|V#66 ɶ"7ңLܘR䲔kdZcO*o8 oC"Q\X*@n%MyV2Pp+UZuF>5{"gsX2(y0eΎ#!ЕmxY%N neq@%7Yu=&Nٵ6As"i\N]^]|t9~v;n.(J Ɏ7VQo l(O:V^W ZngsA9^oI{x*[>FekigMֳW4ZĈ-J%y܇ֿA)GL~\^L.' [?xJ8-+v=5ˑdD/*F0<H?} 2cbobFw~s &CI l#c^}ԉ#K(WpݒK]>$n;.j &ȏõO$3ܫRH^7o&gP\a$s9Y{PX EMYP[ xs%?oЪـ(-tK݈^\ŏWܭ^gy4sRluׅ%$ lh F Q$.p ڱqAuvfUkwSnbyHIeՌ_mPR&}w۹^S "(vrzഴI^ڋ@ v`1K{gU ӄei>Kޖ}?sk;}o?S".r(~w; g)h o+UnY'WgE=/\Ћ4 ]i]jrU!pe~!S1ΑRoĞb"۟)̸NG(]=a=h\g p> f0y?x%56[qW2#ʃ=ޖR#?\\2ϧKO}*xXr]/ͪLY!Js_ bA`>Z( PUfd=MP 80޵O㻖Y2HjIo\۫8k zdt<yU>eN}^JWνJc^wD;\dgXlKuCc@'1#!C8LR-ӈDN3gfL}#7'$ <,Ÿwԥ*w:Q^eS5{Ps*,o"؀@UA*y$F~М`wCmveRێ;p fl/lA|Ct2[%K 4FԂ:)1B fWI?E)r*j>(mf{?<5e3~.3XUݺ&qtEML&)+C %w $Uh[O nρ,QM%mC ++ , |pgRcIcvˣlyTp7Gf`ֲ PMg>4S0%5WiD\plbĠn3*1 {.turz9P'TL/~;ClVib 2/XRSoQC$!%ܜ^v-X_p#jL٪\Rw]1GΡ?Mۇ):9 S,B ҂y8=BIVV`Oi ~(72Y.7h? 3T9qMipbL.S)"r8y4y16cQmY%eJL$DMĩJLz]pz̐9`yHys{Kq2&cz,J< v ͻ;;^rmЍ۾$ 3JwϷ]rE{^7gU[\caL"@izs'LgǼ MaWǧopWWk3DM_4goD;;,ãwS?c϶KCࡂ ;F97FBoer+268gǿɋy'$|cR;B8'׍]nz|S'{LzEJHBYJ q+4k/+B]\&&ʨPbBU9QXrF`gmMYPWO~mz ]I&M$U^Ҟ jt="b*5 ZHaoB̫B[h?9kT!ء%˙uf0,B#Ҕ#Х C ܤt. ڶ"d>ḼIp% 26ům@? +ԟqD@U 27OU~T\B7Xrc}6N;^)iB mj]vh IM Y)rԀnŘA|Iy&kuyuWoBu*.;_,3!2h%W\4O[$cD2_>6>}qYrzPm;^VV=Ɛ7ڬҧ0p,mP79NK c %:ZS7ƶmdcZH3u{됂x;RDn ܉whXl5C``adp(@v'Ҹd( jwhL3*,@KhGrX8: n 5O/Mܝ.x&U)fщ0[Muipr r|źn'vaY\VSc" >(]˅kư&(Y&bzu{g * ֎v]̈1TJ~/u,ЄVvEY%ivbbUm[ص_76qr Z}E~ l$յ3!%q(&k ɐ^R#+ä^00!LoG1Y^|Go95O̞AXڞhl!^=9U $@mmwC \]̇X,oͳ 6ao8 BUEXB!0Xʀ(,Yey6ߺURTf^UeQM#d=i&x(*0hkh= E&?tN]/ Șޚ| JKrd:l࠺ľ.0W dh411i֥6(u $9tߎp1bBF&,ZpZK5KCDyjaIv&3H˕o𝃈 0@V&a8l@)(7 t {Ns'ݳ'QVt=~upS>7ruQľr\s\ІmDDuZqR7Rt˄`ZdHt0ݠˡtJ8=;,^,3AҤ}آ Ĥcf(?|It1Ln` *9G@B"N^j@ҹ6DR0HJ?zT%ReShHokOxyl},t̊,02(=g$IrfgZmM [#vW'0l+?rF dqrͪT g Y"ݙO}zh'/W53I[t" g0 ,4(dߪMqPfվOzljDB3RW®w'8JJYͨ=La"= TuCd^Qp@ #XW=2qW6iq3@#X$EF^ /ȳɝz8% ބD}lQ3,R B#^;N0(nAf%VfԆ]/im0%DtrPBnZBǡ/a-v1P,T.DO~<=8!dyM|gvk&xi'[YZ6lW/nk{lePr!fNynߖs=ڟ[OA}^j$?Vα&gDܜ7R|M\ޚ^ f-!J]~NOmɗ|~=N.񖂔œQL~SYn}fnobE.e'YyR݆\C~f.`gGLJǓN݄^Kr}Ԫ͌d!o]d VZɝ^Kz>vd\ W>'>^Ѝ$2 *hA,K1ȟ㔝=>Kh%.AHŽ鴢[ l › f|ApvZe!a7CXdU1t])nGf)&Z? NqBxIfl]jga\st F/.c!ҁ`NAM*'/SY1r-g鱬9ɄMcc8;lJ vrPATfUZH\Y%Fq=\!/^Ap֥0Vi!>;( 휇biNs$.NC!8=~Ku=86@U_rb*UXu#Z `(L"6avF JGh`1ڥCEwBfG$~M~3)O:_]\>A*FL 5{>[\ϐ -&8!.@ӛ'I,!̠95@|g؟9,n~}3CiH`M9 DK kTVdL& %hq:A*~^R֢-YmMY]Lx73Q6@dNlO{ OK9/+ۮ"Dhv+V3 #fn*`1NMQU_Q2y4bw<<>cua&޶ZxYN`U,^ye ` #4O6ԗ赃} l1%\2 ,_4lhb7VU;w:ܼmO@i^P'~ǀS5#$xexP՝WB jkg})lY\@RqQQ_i-(l?)vw^DX]Gvp<7RKJ~z srS_Vl@>Ҧ%VZ;-!-ͨҳ7sڞӇ3j%jd($rP:0vQ/b?^8"&B+wtne uyޠaElQL:)YYdW?~8??=^mBW8JUaD }(L[.v^4+:R؝b8*IZ s_8UEs^溍m` 3bZHeycRsd߯1&yV l/ p,˪XB9JĹ;"ix 7ur(SXD3S$EAËa\%u-gKF1 j).0j |K*fUV$nJoebp6$-{!&u@g2Ia$ݽCpZ$T)d HK {-XԇBCdgH^ytu1i\'iYBO03G ȎOQ*OY+>L_L5gӓmF#LYsLؗd.LI g{": sp_c4O ;P 7LȻˁDl½fd]#a3OfSH9}(̡)7-\z~nt$=د(X=K(C2Ǽ6'% VBzCeJ)=ԛEjZ/`HWMC!yIaio ;:Q4y|Ӆ'A1-e"|XNŞ.Qgx4ʖd2QRU nғKQ~\| @s7D9/{HvcX{dCzC ~MD{x@HK&zX4efdt{ boDŽhScRuR۫7>:٪ر_*|[M\C4]foFPu8UA./&/,훷ݦhotNlmWM VL_iՈ\9$sw/UR)a^@&E^ٷ xOz8/t-=' ƗPkd=tX j;NdvE7m5,[(t\v(vjUix KQ,xRBӕIb+ێ#0I\{O_ ls{Bs% `TIKM y]umbmq.۶rXQvjlCˎV#F}*t%&n8<[e Xp{%^ep== ٘_*ԲP)q .bQK"hrzq!HC_I(N1>@۾?7qvfvQM)o"MG'iT=naq|_b6oܾua#\- iPGa8) " P[w:yVz,BlG_pLO&oW㟯.OO?\;NmG3^3\  rN;`W?>XXg"ݝL8VO1w L[trGP8гAN&~ RU&`t-KL_aKJԋ I6Ӊd|]!=0;M}U嫬05Ba!PDJG fUD-/ 7`.[팄~)Q2\ٷ B˲‚ݘ)F,Ԥǒ}ST~o*X۾RϞq'\Y! ~,u<630#sё0ii\bʮ;E^^vuCc ӞmAAi#Ny^' O0,*i:Y6lǎ)PMuG (a|@؛1/Bn檭 &SCLL 8ElTJ^aȪHdn&xޫ݀l)]?>lE,Ssײs Shbo8KoR!Vg cx-%Qay=Ôp/ף-Z\hi`zԗ9{+r9.Zo pl0@8OHj[1fwk_'{;z!沆 GkƟ[$}EɁ2^~R^3*HSA?tĔoV&8qubIHw,NHw^+%z?}FQv5р+.@3Os`## h+@~oI dL-$q@g5ϖU_V%lR`U)P^KC[Dk^"^-q.˷ZM"<3`RЩB (qK sPy'^?9?$fᆵzs×zpt>}{yu#`inE5cuqg;埬yLx`S$BU虽G5'۔'n* 򽢚 9tzE+FnUC HItPĪvw> gGL.Rz3znttzKLUv ScRmo;xzxz@z>)Jasөq?ch'&IިˮY%_ngT lJ}_%0N\/MOD SxVZp_pty?0ܼѹ&2MpO=V Xj*wϞzwO Z?N<˱xpjԾ؎JU,z`|teҏ:9Z0iYkBDԲtb|mNo>HCgI ZQ=wC\*yrZaAHfdžPSB38Băl1 M5V}(@a`ap?|XXd 9#2e?ɶ7= -e'\<´& 0Ɔ<8i# 4"DJ0ؤ)xCUg44=RbiG 7d00?`zޮONp&Pl\c5]!  mNI@Ct&.]f_XD}??eR$$t>R&$EY`\ gB$P;xsr.NIVez:)oxa= k=׬bc2ZCЊ)\? ).0!]ݼKoW׸-_wB0x$,rn0Ć^/3lOnoz~hϽLyVlñ`?,ikeCٟ?;:oi|}{.V=Ӭ\_}DzpWd;@L>#Td89&INEX%h#%bXH*޿F0?  E5zˮ?zB>z̻n?z^=a/Z/N]A%= |>ij" t?jC*%z1'Q7e>^A6(6Z_5[,r/#:ާ >E |'o'SK' Vzff~?e O (o4>Wd_Cn^VhyT+ИBpmJ@!^kSKo33 &j#,sAJ$?R<"6Łd8@!F}%<#QG=P2$dsa?N8EJ ԌFT 66Ýb[x=i\J9x۫k_IrlBXRQQ JTj]+8x7J7]U;1|i$+O$Zk)v-~p6jo(*0,;?Q}nT["o_qAM(Vc 4o캎<:^hE=R bH0 TmM1R<=޸/PXu Se9.V>ج 'NdUxE}wj/),(_tU&mYQ!Nsg-pQmNYנTڎWNl(<}-g?ZٖSݐ܃]eCΚnhf/C(,8O-"׃EtJOΓTQ]ξu.X'TDUqNW{eYzZ2VJa=A1r*ddڗ ߉E|Ts!|ȕomĻ@0H w]db\Վ^cH~ ( ~S0Q K@?{0fMpbzpu69^NYrghP ˠk #N#/KЊ mII136xvwW}7qo}xNxlg?z=x4kX.ނேg푿~k|"oM|u6qza dmw k[EYj0xS]H','4"}4ZE8 ۡICsP J⌎y}ͺ4d{uK{ @CZ腞w{wſ۵dW}ƮNMgS[FXj@j0H68` `ڼáֺ2Q~9)ԟ{vҺQ(*f'ٵW|(/1@m 0xR{# -O]Fm05Bpsfl>rNes4ᆹ1 ]ڌܿ)O-,|@U߽=(L9*s'"A?\Ĥm?V&.o26+tŗ:aI.>iܘ#SkcϷ|,[0| d?>Q޷ 2y%dDAek篠sXmoƽ`Oh;?~G4hW \|i@=ML$&}=">GW7POaE\Kݣ"s;P+,U. ԫkJ`CP+"^\dw++W?᪜4coQڎ2S-"UWNQ%Y*V F/],r.𙩀0&Ycj:LGWdX?;-g*KU/>joQOLʊ՟<%&'J~l78i7QA7._:%PeU| pb]R"N;]_$YE#; ȼB}AB@d,F gw&u<>E=W0LE Oa0n#^*<^9:b7wZWvj;,D񼦬y>I>>\ӱV8.ٚ*=0[RG ]PzKe/q)ʎ X&9R;}!EcPb-/_p~pY"I,˪paPY7{K@[@j+ * X%C(07Cȯ0$s!31gr*+25?_%dR8$Gw V=(I¶Xנ(6O嘱_0R̲FE4Jte)Ѐ.Iw%WZ]scm^_n\nߝ¹aH>>\PfKRr/[H"?J8h3k$P"a\h1!50Ɓ<{T;zhڍ wN>4]*QpWt`9wRmGaIu%kcYA'Y| l\qc2RW QsY0sL-V-MsJ,d3Tiv7p\`v\DW2[vq MZYTwJR?-F/d xcvk7&q WiWx?:Z4E;Y`A)PۘkWRW؃(*LZƋ]x>/f/_ @PPN+S|ׁ_\GJ p 8|x9R<+=.S ،Ì֍eW}o8`8ܮkhIwQ-*vm~,;8e9 PĴ&I  ΜoijAj`yɴ ڵK]YU -PHTᬨxw'ETp*%EXֳ _eTqFrgY%.>3*nDߋPyɠf.hen4(b+{t19^MΦ'.)aү+4Uq~i-V-Q׃DQHwvBOZ*2.QNG^-H(\. @5L\&ϖynJhbm(z1& >mTʏFov]`O ٲ2+f^ڦ-*IB9\޴ D +Zs;Y3zl5t"` I ,RezzQ~s_Fcx>=ЪP&kq IC6Vh4w7pMel jhf9ttR_{es+1B-^n me*vv~ZVyuph%ܥ"Ia^p_aˈ4PmsOJnh籀NS+uC5'ZjYiՒJ',#qlAmJ0RjI%'ܚ/4E2Q&Yi8snn:1ϖM*2wqEgJ%9UnbzoR {]dz@X$(gגRGW$֚b mF%{k7MUsjKj)pHdkL4t$zѷx\_Y[sU#ȳ>M InӋ@x݁GUcWFs.J,8(ڇe4^s &"̯V *ݱYFB*ݣuIͽP3L74QG"s6#}$KK(Dq>\!^3Zi5ꋠ:s дt@ J}vWgI@{(Sl jI8o" b[œ~h~pe٘8  ij!{Mŀ9 Ұ/ͫz].V <s{XȬfNZPAnIi-窽&ʗ<$?Y.9js~J nu767˓Gtu=;Y̕DV iWU#U;0r e63:I_b&Il[ Ձd*ydbf/Tܑ'z8"L6zFeŎ*0,oٶu˃=f]ľ3~l}V2d`/eV PB':<6 pNz?/-K~fBBey| {܁yF~ >zNgU wMS0/AHV t8k 2-LK{27tش1miHb{.Lȳ_kyjH_jv'%gۯ׵WjUiAAؐ,O*3ۅ;Q(YE&Qt @]pz 2EC -]a5`AF+b%pe3H8$ U{>*2 (/V~Kl|x G\B*Tn`RNj G5%uQZ sCػ-4!R-?`Cqݖ[2CȀhBg2 WaacQDgzYt)MER]кntqpw֍ nA -аRx[JIk̪})w(˭w+U$XFTϟs C&8rb$1qy( .~:t_]ըAD nfSaF&5"8x~$q!r)!)6+ €Hr`?+Z妤B,+d\aD?p|J(: Py-ȋv BhIæ9,nCԱ$lg1i{w)渭>u;v/lC\m!fPe"g !ضQܴoNd |lA|矫չ۸ ??FU>󁴵)4oʝ2$xN˰81cK /1 EWʽX/DX'\Wnˡ~|5m1l/ڢĸLꤓzJW kcIfl79$Ae+D;߭1үo-gLQ晇Bd/3,6Jx=[.* K>`1-39oٹY(PInQ.kFu<.f'10fCY(\opfe"0a/M)UR:M+wg8j|UP:~s xq/ Zj^F5pϰ>G+OpL3#墐{!LG5jwODLJP?.Pc'JfPlJ $ЪN rCľYIMlO} TMO*V&/׃2"ǽޘ6,:deV>\ 酢xG 2B$ӑE)A<ߌh.)`9B/S + 0bm}N{EP jPaLAW;qv& #o4?lWs} ה/VBF#dvΰԙVprќRZ`rpG;uJ̸>|Lzp r6jUԥb\k ط$H}4`Ġ(?GLo^()KS@~q0ongǣ% C6\DA ]TbzyK.܅AAϗw#m@mr[Qcqmoz!o4?VSo rٚ6>;G[ CT#1a1ŢZARG(LgF/.E+8wEoMAJ-}͔tZNt1>k?e|}C33RUAN2mpT}f[ky~+_qկWm_?W# Wi *xD7cϜ3gЇ!Dž;t#V$$Ej N)U!o8E/ (AF?}սJBw7kFղk܇ɝU ߄ uҕ~}."ȣ/ o1v3@VhfY63O9^D |#lF Ż#f&) &h7䣖  :Wt@bțW=Q'DsX YrpU\v#p.dsXHR@&|)0^4Jyh>etMsMUj\X\~Ü5$nfŝ#Zx&M+cPlDR("/.xHSߏ4a %t!^j%}#;,*L |j4{Pb .o˜@4/#FR KϠIq x-3̊Y^`J)i39;^VlV>wuF Uq+ogt/q,qcqQ`@(Q獝L{s6f!x#*O87KӼN2'¨ȋܸl} a7FV04zˇZ"Bհh #>;]p2{f)- [Pbt.ۻvqd)>+ dYpL\`{29YT>5}1(9Yo%yAꮮˮ}ߞ%Ki lJc}kkON񃫋G2l X˽.)4ՀdrH[*1ogm]˪.L(Ԉ/l'z B WE2d /g&1g''WKb.޽{{cQ3#N@4edMsĔ 's^Vp'x<=i4ムRTQ[x,ÙnPx5.{B嫶U;}acUn!Wzb$6y 3)%@ &y(ql{*ZxPK dMW>rXOc'd϶X ŰB/Gvt ]t@H EևT* ZG }@!Ma%DJ woJe1ha=Y!!7Am4Ӂ9#;촐-/Nr0Ix?J +$XY`uDUg9Z8XD(A5do`m~i{ .`YG=EAhT5 ߣhGݽ~ʌrL]7ޔ\t-)Ft$4AsٍĴho<}ܨ7vW;܂vģ P=P(0s4<o-ф40b3~JേoS0)V9_}G#r죭6 -{uIH tMG XYsnmbx8(x7jb{.Ǚ$fkce7EBĢeG) 8h+8 f,6?K4'B>W.=a~G[Ci<R9 t4Lun=rpR=EՁ{/As!.3ۋaV؟ZmmR2:KW^P0즌6lio2¹h0Oi15-* KbkrDIPҮR4x*DAj,w!倉QBLml6UwŸUIgu΀$Rf¢hF1aKpnǟCn\=%M$o83\@c0 ib|Жv\Cډj'FW{+P%ʡd@6B5L8{k_7/WGã $^%?|CbXֳ`PU#Wg'=jDpVȍ Yubb WSLo Y=#"sOψmcDoK=pn%z2ۭL(vfp"!2xn0(lY#?FY^B[ؚAҊLsimxmU-?7Y2^Ї]Jc4G!PA$7eN&d /FP.4C+QA*n2u#%5n?(Q@80-b"qA+EU e.$Lp.>!E6)o*dĬBav gZΤ󛷓 t*ӻ @Z 88zwGWϼ=Ck14w[<趙-`c: 'RUү~1 xb!X&/b⡎'R\p:I98`qZE֒s)0,5Բ.a8-ebqbb QLp R>dMA3ߑUBJ k/(j_H]{Cέ*7J%`wF )0`UVjLLCM.BfyJkm '(([N ~G_PGxEpS`j `hTĽ=? 7~6^%~7qǮLbC.¶ǽ9buﵽI6Konl@蚣lc-  xўG?펅ǘ{mFj<4 ;NV{iL.6Y ~hG M<}Mgz|2[ Wnyq#Jx=a'pVE+F2lFЄZ]G / ~tw-Dd{8<)aR%B(L sSo2sTdȧTW /j0rXl%6-"B\!TfP6; ~TX}8[w &5>x^+ޮ\M4@u&G6n8ΣڝEXLsU^6CC2 :AeY r|_1[e70#utSʪO02EvnsIYGoVgȸ>1:%gHgn"N ɢW5%JE$K%nJIhAkiuyKH+OZAmt7H`f[ܥsn1!vׯݡ4t p 1p]YFx?|B'wO@7d#\ƍӸ-4ꮭ,϶JZFiW"KAzpQ/0Ze JBKȐT iD8\׿|1'jQE$G^H oNM7i϶ LCEg?k[T=ÕbWU2T w/84+$bI O IzKڎ+^~n $ׁxJ.1:Sƺ_'CԌ8z&@#R  8݄CHHAC?X'g}[Lh U/-fC_0 }Pɚ]NÂr7*P-DRO:)c% )#ரEEKZ!HԀ^O21ve6,-`1ƷqBȢl4NAl`tZRno|NΪb k@לܩw %VQVp90ݝ^yΌMwdzwNfK|K~ur{-F)we^;+,G/Ix2zcnobkŏ= o!7?7eOIp!9vQn(\A{sקn)ǧl~ vME}yW[ hT[]?áktܔfÜӃ^/4Ebޡq: @1X q/=*ɧef7E/<| Ȳ9yY'}7}ⳌGko-݋GmI!oߤOM&|U,Qֵa^`B-υA_֦֡4)?eiE,>+dQ䣙  XAVUXkfpPfG.ii^/feBdf<0:\9:)Nt}jB!F-7R|!'|Im۫.͇}KBBlNhHNȽTy@[I:Derk!\GFۘ8xG N煓xMt&ewJN0ׯs`'AK` sڅҜ#ݾ L:yKhd!)L>#.#}#뱆Os|fϓDTV_hPo8Y? tDI4 4jMo['#5ЭY/J) S`a T6l8 LۚA2_{5ix sm7׀aj*/H$niyQ`N9 Cl"  b)nI%ᅕ">QXݛ~l!| >@L߄{Eٳ *ypƫ^pR"á=PZBZȕ@pܐAFkΊlL˽κZrυ!t-Q~'.Q|!v!w32@[ü\uwy_2AV>|- X4X]`!jt:M3n{D_n8K]c>MaoYR4wel`;KvjInxiΤBGlƾ2ﳓEl (KXM|G5 1'ǧ|bkq`p_{LJ7ʔK< (IV G5֧f?gDIIfo8ם|Q~NƵ l3\T@{)ϖN> }vjou/b<_tUh†<`ZO.ei?eUl޳::aķigf T&:O?j 烈P!\Ď)֦vUK!$LA2dtQI=5IȒUr= 8Mƚ C_\7Ƴz©ꪨN,Y62Ry{”!̵58x*Rrut82z-hHQ-R;r)o.]kB"+ГɜA^ܞ[[9fe`.yK9w6Ifn,aX`˼6zY rSKdǰIdҲN+"9ʈ'-2ϺQřAVSIY֪iyDEs8= 5MXEi Q~eOM0I'06[% ywXP>g7q s (v䔷elfC= /<hAGܢ'CnB{84x~5ngWH(Hct x HփR^|NT"3VFE+J|GTG% ?Aw4af, j *^kjCEoaN-Tv$2Ot0ZNpnmìC<8^,J 7|TowՓ`F6c]д ǣ7Gg.,7Ւ^yZ=.!q7~`֢.y:_jj#LrbXLLҺ|F0I^hcAHPS9>$TI=qOn4EIkBu).+whwK+t8ƈ%Iv0i"rm6qeT`INj:u#;>iR9qA>zXg<"|u,!$<{OG^!MYux'A+@TYڪL`KJ}q+s7ӤU )?/kjH2OE裢b\9Y0}JE$$'`vb 2-5`2ެek͢~`̾db'9In ݞ1/QzeIJQZБX '䧒&K4Ihb"S%vs1\טspTsjoBoKT7s*2JdёJ:'ٲY٘t], bde-?%/rdAu`p8{&= \y[[pFC6`h|p`لEY?R]8Ⱦo AƷgPB,-jr8IcjRУC*\1BY ]LRӈ0.cw4stIYJӺ)̎gY3rdۈ pg@1+gr3.0l0nZ)Jum|~*͑-fqtIVCCar;;mj$- HFB-!/P<) 6A|n7h4$ec$裢!E<"l.U:z>WXn/pIuϷR:L&(a$fQp(bI6OrPAjRB$|jg++LMKK72mWu\[zZ.e<"̅˒t~5qPp"na2-U}7|C = Ss+*9k8Hh9mtxp\``0t=uw1BWA]Zֳ 78lݰ7hgbK ^ Ѵ!堞[.0n yP`xix6~+~XjPL2)`^%β<@/[&{d6#*|ހRW6CU'J(/*cө Q[ h~tF6^B@ 6VS|_B+gb۫rfö&!t:k|<% j#J'CPc4be!fH5ͨAr;uG_Y <}qw=NƒB 5XB̫P*j䳝䊼~0&4w;^tߐnIw ߁]'lӍV x^ dyrqD/q ~v{н–\8?J^S'`͢vR- )dՎ?e9qF#D8{ɽ#)iɝϖBL2xd3V=i 0Y$`AiV쟞_B}K.l7L$$!mnJ5d@c|"U4)*7G+ Bب4 6JYnumR@63s[&2Vϰ5,2DltK98`ӳG 2;[vwgF뛭1ա=;jb| ण[g3QW1[c__?=x!takZ1IK1nHY Tv-;-Jt:S^8P^Mi\ׇ$1DbLΩ`jëJY}[.1_1V BzF q4@RyBe{U&D`rizT{V-0ȀHU1U 2LNd郣Hlݨ /I ͂PdUW@;yc8XAzP1c:KnLyZ}MqyD/<3պX'?|׏@0i,daѥR`HR(ͫˤZGabė@ʋ^<׌)[*GY~)اgWGGg.DovNoʐ~Qw$H5S8F C,:WNQ+8΁AK.TGA"C$2[zetq~P d|wh0:ܒYaǮqSd ?ۤ 3Q80+"ʶEP]Y +hb%毿,pvz+S~1qVf7ٚg#&]_y69s?G 'Yqe}(XC` $r n4ܳ(z)ܡ,A0 ny i`-5aӊH76ZN`?YYCgٛ4@Ot0HoDb"dr۷YxS_>d4P,c/LJ$T!ژhmx>=/Grڼ XG7!u^ps#UuיNf V (o‰GIPgp (q`L,WoIRv_ %c^? QLQ N*ӊ"Ҁvw0;[=7-j$C^\ F?<g3ޝ,Z7fU5 &S0G-3mZY S+IIw JCjcY':5ҭ0OGYO(Ԡ8732k_[8ӄ(um;AŲ;LF`6=Jn6s2<>??o *b[]m 2傼'ofҖ{ \٦ adӿJUY`% r/<3)Hu{ZJJl\\c^sH]3Nn-=68W\.<7@>R@<\pMWrz肊'f1T [x.QZQ 5C^+lng;6)}lE?zCwZ֐s` ̀x/ߩ(_ʙ@`IUIB..NOߟ>\`CB?2Qn׃'$o]#jȳˆ9e7`/4?=1:˄>R_}Vi^ֳr!R>&ƭޱ}ӏVG  "hȊG+Kў啹-`5l,/!A*bF{&:0fLG1*`3sGitNNKu'Bp4ƫ^#\&&Yް3%rC %ŇCS_L%Qw_&p !΍vk޻bQAp}˝\wVbdp hȜno`Kta(ŒV;.c0v)K(YX+˫t:-XS D|Lh|Ia(IRP<'P(S@D/܍]R@O{ONvL@26"mɏy[E ^B͋bHh1AHzRļ'b*,s-zD|[2h<$T1ԇVسP^jZ4,l%& R̩ke/ n f 쑿%|&i0]ˢd6d6ଽՊpxHmE _eTj gCڜf2kLpi'y*x E%x]2\f7؆HwbB:%6T(Eڍ忦>JA{#bAe s`z!&_f* V@L=&҅.pWrܺn Ҷrg,lb-1* IZ s$Qϝ䨧 u-}5$dDn9~sXT\K dhk%35evE=p֍)낑:!N8[՚\M]5**kS$MLbP9kT**V<0xK2#:wH&I"ǂ3 1<[89sq~0@K `=o&޸MA+MՆWOc(OV?8t?rgÐ}kp5!LLS,Zh 8/Z#zӅUKslY@eֻ;9U?WB[3dꑍ`s{[m9WkX;x~GؾSj#Ԇ=m"]5'1)5e٢gqɿr>O߿{G ːr^qS&›GhTX)'q?^IIw 4<Љ&ʊU/kT7L>3z*/C] @B0|PR0!xn0ޅ,Λ@P .h"&''?Ō܇ҠyVY|[|I`if^ʔpSb\ٖ\&Ë1"~6nC\L<8~N\:#Kߗsw S1N]qs*U*&i (g >1;JL-/P!!\fQZ}c4]I[ &Cm1J%G #ҳc5LMF`4Y*²!(biqx? J'Q/;9Bc2z_X=N֮t|F T[aqZCŦV Ni~KdKNj{ dn۫ĕ#\ߴ>HXdŸh6iH-BS-Dg@]ćϢ`(pu#$W%# lFiB"W?cnaa"tDx1=YB{jmvV^rz+iL/`NO;ye+7 q[\}+45H(-񫩥_gU:D7_LiWw}J{[t *6b<y͏c'vh~!> ԕ]UV .I@\B+1xۤ5w_p%dp-5}g4z#|M,Aƅ{SOq]P܏|~K5iZFRܒI׃Vdvowב>@Ol*Lӗ+rϤ-v: WCCRD=~3O qXN[Q`W 1|qҭ3޻z 9k6a~}pP.O&Zlv_4h`}Lc2j[ؾ/ -/"|^?M[{sr 0:eU..u|ZG1)#+00.Ƈ}9Ͷm qEB)(ߒŽ:< |BN[YmߪlQd61zrJT+պzޗG7Eo#i&u Y'ONϱtsa^x Oɢ=/Mz,j#^mTۚN5 !PWwL'['@YnJ?`15YUBXw ҾIWI*m*[3Ca(yT~y(DrB)IdyL-|s9yP aÁ#X2`zo vܼ$>g7;E}j`v8J[UPPa(Ғ|^f׺p3ΞF@m+Ӄgg/O/f$.̖g$;e%Kcq#QE2e?_'24ua|cc޼!DPDjS[H^BE/?ak7u}c *%p >i<381U$1/ ~Q^ڼ+Q}sk>bil~e@΀zufWĠ8;TnD "h㎊4,7߽KۧKy0]dOn}fpUC1&N rP!pcyMX<2-MRt ĖVܳ SܨX˕@u}p]BUŦ~umr.* { } 2jeL~j8ǭeU)ƅKq3!ܛ\d0 'H)BIQk耍FxSqR, Рo HECˆp.|.Hr]RnZ*嵍LK|w7С$͜4aq6wͱ0I"8 eDߨ7j Ŭ THi^AV,pP[\S@x}vMXu-,!<w_O ߘy2.r\*N$˿oҩJl5urMnj}q9i[fn&I *.-R庇'9U3s\TNpR@9 -ʺ >fI_xfrCvT)xU" ; @}=Hws!U$ 3✽y3i w<&E>NhYbuj ,Sp\'5PCRy]O|) r963|Pq$X,][v ԃ_#U/ct' Ώ+ wj^VݯOEa7 u;3YxwU ދu2RF|ۋv۠/fuA8u[;qeG= KofyJ_c0;Ut,Z]tK&@^ۼ0I2{sYI'Bqܿ[|{_O0^zD-w[d/4_q i;Jdgy%{\;QتH\?*EBmaԸEwGlbԬ>\ ~ZƜnUc~~pg.T@ Z#rV~qҏ}Otl7)B0rܨ/14' :Nצ6%lfUwSƨMn A,~m8|}˭.c]ԙ4.CIYE!n,A[*ج"$һ]CnL%X:mw4 Tݟ8bJG; Vk"Mn0_c8LivH 9m]d'0($/ji lZ0Y}DhDq%:OG Mg2WrTǿxe L#_Gf%hX(:)lSpSi6/MIVY ]Ief6)c^?.6 br" X" j3C<%/tWC')}r&{P=o!BeHƅEOc_r| B`#}-U-UHœ-~'Q>:hjF$q k(o|i"w6 uF T`׾b*Ԛ2c;X")J=k0Z%hЌ|ӊg<&wJ(NjP p-S{l!RnoC8 QEAZ? `o&n}1jV5ȇt nK>%#{uIXJK)/?>ӟ_ru[68ZuO*":W݈z |:^n, WHK%lo Ew-RjEpAHQOQw(fB3X/\Jdc3o\ fE P#X:} $@h2Q$5y>gXr4 }dwq/I{xTI_ԕՂ&dx#jEe%qS, jPOO`1mkp%MwMXnI !Uq'T)ofI̖p`<FdGh@+ oJ1`/J" O'![ʦSpuf fA|a$~{{rn@ :Gpt((rD"L^Vy E>ۃIqвGFcoUܒȉc(SHLbzs.;nCq)mo)AGnGY2\:z @];}ôu9`_H#M,SFCR{k2Mk{mZ0\|qVu`hev曼F#;34[;ne#m'nIfbif׾M_(-e1/Tp T6Ж]*ouRzd[ Ϧ3$dnçO՝no7D]->K.]2B풙*i@( D{/뭾 *o&:T_fK1J5I%`iƐ! tx. #^g'@tf۲NE[j+==ހrtZZe{;6pg4#g{Ȼ_GOz1ڥҷɌrt8g3B88,%UTs /}zȚ:!r'Ij WjZ+M 6]XҎ]#~",$q5>?.ȱ;v}?ƿ}[tGnh:yA@@*αS]oi^PFTAD[uqHgU& >RC) Z_h.Hk+Rה1'?,Meyc:1sq>ۡUAi[)/~M *>} \ٲ[Ǿ}(k+AŸfXndZG2qA(|C NE5DAGJnHCLOp Rxr\k[XtN@S:R(A|F%gАF̠5ٿ)|Q'Mul|Oz4[9VAFQDy|:5bn0]C+wD>yQ$1Pt@n@YRZʨ)y:º z,&Tj%XQ= Ktu Íۼ"^GWIu104,0}WyAi+b|*BaۢJv S$Z\1%m:PI0(^+gВ,tdm.}]arcBK;[KE&˶uan _=U8UFre㮰3ɗNx* Fs _xXmC7 {x9 I'sqx@[+g~4㼚GT?i.__=Ź8'7P1v"wrhv/ a`a+CU8?=AeGU^-+fT(l2Eu'\> zY\rZDU̮[M[;=~*om,~-^zO'GW]u 2Р!|]ة`3Y&}q' A"U p;~k]P=(T9 %GgnPiE)>%`[-o*Mo$>ZMYJ|{,z턒p:oL[[ڏ+wʽ}~Vc ^q;9[;͖̈́Q(f$Q`j˕7q ,𷓢lѕDO=UoR.e)-3P07CTp3txX1LX:f^l΄ a L3VR*ĊqF!Y-.nssUh/ׇO>Nyhdj{g ӲllmRH^|`zG/|;HL:X$MR'Sӷ0}!/*X]9{* _W5G)Xt< +0iImnSqq2LM+q{QȘo? 8l';1e0IAKV,VۃnjFo -Π&Hx -(Y>_W፼S"2pm٬4p+F)ofq?[jDԑŗa:֍1tʹ)'&Fϱ|mMfwɲPIJFd%R Gl! Jy`mkvxZL! A- ^B S.ܫ9xՇ dLFPf76\t + F.T6Nl lx%ML^~6~V:8ٛM>$3uFLQ\ɣhb]X&t@r[~INN?km1ajB^,qىotܖI GesAgHC1ph_84͒d ŽԒ &f+_27'\)Jɲ;;=M 6̂@ܮ{zT6Γ-}MBqpL. UЅo_pҵ (hxqcsy//@k2}D㌋>ͤ1)tb{LOpqP wTD˫^XE *6/[c{8:# $/I Qg=ԗFhN]tfLû}3O>YTNtm l{Ρ z e]LA dX%Μϒ a0* 8u F+щ鄘 H|)$g]S7I+[eK(bīt9-ASM";4̪"T'+ u2vW0 e ICg-lQH9%yYŽk$dfapi5bcv/sNuu֢\VݷY3AuyxH[ 3v;?†S  0'9p7ӳ+l^Cǟs_82=$Խ{PG~ 7:M tr(r w0R;1j]P#<>pҷ9\?͍vk HuI((|+ 3lM__ezU#Ya/|9i4=3Zlo(=:̬QQ ˩7z/^YY!0p78XӝnUN{pAcs|v~}Opn̎Mf%UwL>*PDG3;#I `20d+S/ f։hg92$Y"5nq:s6b◼XAIG(.L̒h;^Q)ⓐVHI/ N X0jie}ZV$'Mp2 }gܤYc , E5 4E:kh?|[hW[$)g/~b٥;&oZ[-QZݍ{6D;4Td1>-ЏZWmFC7 E4T2<" [.10G:QW6&׀ddd fh8.bPu:[EYS;p6Cy8۔ eUnII7VI68VkmRWy 8QI  WgS<0)4%P( `h$ș(xVT7P8Eh.KTЏOŔt`)vjr`ʥX(\D v`YCOXZۛVyn+nKyW#Zof!+ͷRLQ1%$^S@}V[Wϰ.]m|+Tpj/?nJ4'Iʼ"& O9:ҋ21SWp7>*\'^,(8F݀lӺeKkJYG2w| \lRH45Ÿ M5IK!PE(f > uhrvR HpA"PI1̔k3{x\&S@7,yɌ/%bͱ>@& t.@gOTiwbį}9Zm/IM0B\qNniVA{Z@Sg9^hUЂڂ݅21atjU@ի#E,cPΖKw?w4+c'$D%,Cɟ.E-Ribq, fg~J!_ҹP4J)^)DdžZ LR1/} ~vzD8Vˋ0 $B]_ErQ_n+\^W  lQ[ X,wԂD; biydq0#k7 ଇ. 4ٽ :|Xpwj6YE6Z^7uʁ m1">Waka1k yzFB9GϮVy2B褮ɸ i{ krPYo]B1qV}fF?!B#E[rB3Z/g: z˘RF ܄xQ'^-SbҤJ` X<=YR# J {oܱ̻ṱs ˯sT#C(D1Ӽ4+q}Rg )ce]Q֤&(G̿uSWNo)ŻD(0Pl7q5/Ϊ?' /&z&yr˷> S&NJ_Nr1 {'^V/$o/ )P l4>cZ~%# T3qbʞDT_hw2<_#MqDO?޽N(LђθнdIխ#\" R8UEr~(%'3qfV$ (<66/)duqϮ,a̶\1TD1%J^1CS{Vj5 0%u|;0Du`9$"KE?N$kp͹PW2\~dG<7pZ u]ml$x9eKW97֤QH_soo"^4lojXvXj۷v$vسX>r_tL*Bbk0~قbZXM<9Jk$Envv! "عв-7B8jG]r!TYXnLgzjz鵡(RkSEQtm Rci)&0j,m1j()R7|Vzs?I ՔN:yP-rsQZq>TeZjU/CVbW@pl2m$䪰?"h%],@nie\G 'ii+`sG/!&xBf K[-G%%\՟TiPjphwD\!D~c̑ L)n,g:e; -wD$07w;Pvuh(-{ <4XAXG+xh[1:6P?L2td8-43̬SC;O>[aI~wpXܤ*oSVq[{Jn5~{ӍW5EZ{Cްnns̟zOIf$4?JuTg}+ >۶`SO)JpےxQVR2Z)ݹ_'[ZO;˶A<<{s|xfjaP/1bه-DQ9=L'TZ oDK>&2{L .2=y;v>4$δzG(Ή:I߅&2A6$6$!V(r [0u///^mĬ&%Ldeu W2zs4cu3OyȀzwdW'2x~:\e&Z2 wbn#9Δ,.X^xxEȢٳS;:KJʷh熮sf i6ёdRKK&0QFr( j/ h_r9-tMr>rj-Q[.!Y-H6Dhgs<\Wmt pE3ۘ\?ژu}[b-Bn€?x ftfkAƿPy^$ӎ͓,$!vѨf$6>l#n yn:It!!4;s=IjM,l利] \q&@V $-ĎPω;͖x ͕{m-Cյ x<}F1ۅ!%QSkCEyp⹪>">f΃÷{W7fz,3 QM>t]vm#s0^,uISIR6uH}1tYbOlw8LS_u]q*ua"޹Νcs@j.ήO^u}y 8K 7*2 Fwm/^TE1z1 >!hF-vCZYՓ{0˃墻w<mdƆ3H/L//7j[mbXvTPm۹V5Hͨ2[7f(lըmatnIlnwPq=z=hz$[.{cg1[_ך9ScZ ssnB<;MO 'mcHWI{&z!_lx1~goώ Rn`;޵ya3gk '5T75Zki`ȶλzOwv~OcuG7^w/;-T`g_cՆ&c1Xj8 |F>WD%⺩s@I8+p a?$xoÔkH*(mJX E,&֍G;&um9g&v6`sz'/д,*xVR8ոLuAaiYwq WcDZV*.jGVB/KO46oʕNR:F:A>aYet )EzxT _@fs6EGu#i46b.5hdiÖ|W;nm4iNTrI]a ,Z('[!\m3YVM }v,1_8!W|mUi4Wڮi .("=5MH,#f2o 쿴lGnCkղc0"hiq.cF_PJ'Z6nپY߀Z j3\o34cp YSG9@heAu REՔ)q%FnN؂x{ xBikBTڷ:3~Nḻ4{ǧk<_\ B%nO ܓߺuL%uihOYUDq|:VX,ueAp˩Rck{2g͋m"xټ7e_6}r"^Gmv7L haU^\eYxljd%uv/6nߜʂtLӠ+qfe/Ӊ@rJʞ=#wuve0[m5~z/ NL0|B|_C9ǃxS9Jbw|0Y۳z[VZCAM;Ӯi~eڷ6^HYiġ? ':oȂ})Za˒9{4ף۬dͲuw7Jx-VIgÒePt2yFMPWMYvĨAXvy1/*Kz={O]YHYu :htlf`Qs IlDN- ڭJb2$YڟG?~ :-Ye_{d{h@h7~{́y]tܿ7@#gy7>]@8e;χw~!oo˿?*^?lZ4Ui84|`n_='8=S5pfY7P/&/bĂ3\_jCG*ϗu24_ {I~oK3+jwM вv%p$ ו!C)Z[~C#XP w7DgɽpXyfjLBa Vrl'sUpKMVI?Jjl?\oجKR̈́Q<5ONoI^?M: TDGn(ƭv2T'҅gcF b"w!=DxCۄ`g(. ?핏LԵoJwƨ=(_pv29 Lr?hl9w ܨ"R()r8l_mqʘK r\+LCǢkrρp_0 v|`\ΈQΎ?"Wy/jH|pzҜQqK԰eM4JѢ͑s3ivZ`٪JV*J["uvլNSW:`̶ z/u(xIG565HG ª*\Vf ]/7}VK_`\>iQ~@Z)foWYT6DԂj79eSYujsqHkWa=,`+# A!_@hT˅.W构 Q#0pҪOYI_ +VYĺ+epxBpI4*( $ƜOs8k=I+(׏IƦCH9羦Xjeuy؛e*)4嫰:?4$b󤽒E 8mc"|imR+(v^eG#Zpl̈́tXOH'M72H}~#:QPF~| !P(at녂0 @<)OSxgG)7 ؕ!1Ҫx˛]^]ZoucwVRNC-6ST2 >R{9"Cr7tv[`M(ZO"sʴ3 h5LSqH0͗7bj jj;=tD:9P nRO*\WMm҂Fgkh^K]-3 5N!`D'YW>U3]Vz Sqs1 $<2E Ѧ I/yeYS4<]zȡ)N"0ߡ{x c~:q{22[gV I9:qlZL U dj/.BO…pY ca_mqA\MSMxl#gLwV}m3rLJN$")߮@i/ Oޟ#I.R%nm ')0tͧ6;ؑ2P,[Xib-yZzV|\֑E\Ƌf,yE2<֩m'6^kw']GHr4(IJ"*X%^*FTe%͢ ܷ/tYU:`A41y rCA?U#<z@GE=Od34G3ͭ莬2\PTA訸cS, 1YQt $gim>JӗFjG}#{!LN!˜[AX+4 aB TzGL([zCVy?dw;}ss)X֜Є>&=3I{\hȁR{i#!Jm ɠu,gT L!_1rcRa=0&\=W* M5qdZqʈ.ˤ%nqAbB8I'$L;yPY䶺e.<-JQì2%qC?Y هsҒJݨ!p+gܕz{U Plc#ˮw! aH܉瞾X2?iL%d3+OLbZ~0}u/A4jV0Ïc 7Ӏ tYF~"KlƅIqKU~f3U X^b\9\z0qHѪF m.I:Ԯv4E!RT7Wf@X7i8r^bL?f`E9On^9[[(i.htکk+6 dEvErdAia6-l)jt/[א-\}ybm9a sMBhN(*&ns)-:]f t*e:Q`%ce@^k yzfTcb)0,kVcwl:k.+; n@AM2|sDzZsr: h @shUu!T}Pb#jaIg5"'mZ*" irDIRicύT.+627 vc˚,xrfj^9|6r 1M|jm{t`7#ܞ r)ȦŔ'e`7,F)T;Ԡ̽G9|uGi}.ɘ1)>Jv@CkAaZD0ng~-V RlFoG"K,ɇg ^B +\$$Y-=oZ3ɔAl!7zjQ#=%ٲ+`F%_:LX\Je/#Ԕ x\noԛXȠO~3DPo\R|gy` G|V`<=cKa Y': BaQj&DPnj fP1wˌnD3NЂ,r ~('iGůdO\*%j?suvX퐁nOuX6-6rjO (n_" d? agXo?/*hkcpPߓ\I*|ۯDmzC&E6`ԸmʆB ַ> ô|wȮ+B]y׈N.K|8$?Y|]_lM(3-涱IMj]07'K=6wwnȏqm{" /+?@]Ϛ[VX228S6G:AR_tY'kx 0 Og1q6_ѫwGWr&aJݱP!~"dŁ:r I2ȄKJoCnT1LzА&R;:K(Ⱥ[?`L9kYQ ÇY%0-[4آ3|IGg e7܄|[^Bna &L'i7 •f~W[RKd~@o4" ojqNV<,6F#,%bIAD 6UQ L";6ƖU2_FRou]9CW5ik!D>ҵ+Mҥ?p16YΚDruxyuvz.K43\<2V +OE\M&Ua3|9=£=$u.2;m޷͜_g5 V$ʺvz]^;P(k_5J 3GF?tB{y,AĮ fn{~N%2#~ytu,,*$_7s-d&Wּd6 [BlɢGf;ĔvqoU#]{AȾ.\:aB>BЌ@a@U*+J(ldM؋SѢ2E+}05H ml(X1IV/au\q\^O_23H #os7~. ,Y"bH389*z*j0#yKXYsۢwPp9B&^h{*jb?:4Ya6Q&^yuVT;&df&?HU}M g'6g6|K\UE_ 61ZΪa*/{pȶvzj!4ڀwA<^%.kkTt6\'ɂ$ W_!]nm5 B1Ɏ_Z<׾4XLAĂH# SKR 0A><<9߻;9:C6$۸4 I 2_`]ȝ[w HlwOZ.ިݜހGvQy=~c:W.QcB~'jvO~P3;&kuyNn?hG R9d0 jk6nU 'NHG@EK=;k{J@AO9J0I(ɍ:jMPRؼgցb9jH+%P~sS2O#"H<78pt̋hrИZYv\V]Zǟ5Mf09':kGIr ²[B[f9w̽`V7ug&!{A {I>7^ĉQE0n~3<{0|x)h9)?Hj.j;@v"7'oX@E7=Q[,00X'WZ}i)N&OFigPz :\Y&rHҦe/<stvxv|v@XEGi+'qh|e=ih(L-mfEyf9Feze.S6^P.uegtyI%Gu>/kzk#AyʇkJ>[4`n_:4ѵqy;p5.FW~l_J>TWgg?}5d@1R%O1c~ xtrAU-M_aAݧ/2};/8겸DVQQ֜8_}˷f\ӳPC`w]-ISI,~'AȧC} zUH8ד5/odr.(*NwY\k\Fl)1G9#r|K*(DWTۃTg-lv+ճl{vxMJ_# k\Q%[Pz:TicaU@e `)ô5ī.UL~~0` 4X$>A'烹`>qE˹n$خxQ9rO|Փ_5g1mzKZc[Xa} rԒ/nন# |%Xq&V#VsA9 0gkxECEzS`#>̫e=l7!>ذC8t ~7~,-fH7臻+>FxSm7-۲WC0ˆ3gF(:M V MD\uo~`TB.L(El3,3FuTG,{-N]W@ಭhWƛʢGKÊEgI Wʗ:rNia̲XATޱH-xc2[o0Ln]z6&yhf;AMcTGKq~"Yl4*xDefAo] 9,tыl=џ>=<<>l3x>JJp&lDh~:x"iB׬O_pL&ΩolH#$CC{tѵgp`~ޟ{Rt،  }>~;Q=3XYcjza۴-d]O{<WicR/s5a!I쁼OvJl㏗csH/ܸ'IA% } l $#4mJFb)8aR0L*ajd_`uPξ⪵8 S88 NȪDCdy D-*R>Yb1Yc9:)kN ,?dE?(\s-#`e&xfI'uܒ*0 ":6[yy]:ե\' H{rh b3ښ.iFe}0p-= f8[h0hȧVLsH9O)Q.MD絹KRrY~1WlC^D[;=N촇>$a\w-3Sb vqtg˰?{vk/w11{ĜF{-(5-nwUok>9 4+:y-1iJ՝ xuYS?k[R>_*1Ѩ2BTPw$ݑ|^KS["$=5tBj_3,x0nH_7XT0 $TYCoj&g;zWX**}`X$jhCڴjBAn{SEPظ {E7S7Rh >lx?ao%0 x3RAȦBWfT[0xUF(Y|xڕL*&s3O\19,n@?؝lFqgQle[CgYeʅmsݙ|Z`FZWxov86 GgH~.!VR9IL拌:ʀC})JTp) kn0w1iZwbVRP 0d]@""0g:UUUKL..8`UlUHqL&rA_VLizYU,tݺD#>;3oЁQY=wo3p7-n>tܟE+pMr+GF<\96)p!M.=OvPyr!zB:(\i[6^޼D:8;B-Њ ,cR<+G~|wCu^Gx vgH`òKMRHv߷QPX+U`"hz5-ąK薦x̕UE)NQ'EfW/Ub%n&pd) mH{ olٷp`q:(rm5kHEG(:>EqMj3s佬 6?he|?-@nB["e52{]LUDѴ:HK=!U'2k/#ML1߮lH=I >6,(FoJ<_:~x1(kF&*8- KGid1#YLh7{wuvrOLgKMSdӂO#`T3#qOUvZ]>!@=q#i8➰ _*?FXnz&L>u`'Ͼ}ћdோy:By6DΥ-ӌrMXc̨lѲ̣c4.D|!Wk4Ǭ!& fyA :UB72]1OA,(-XeTmSt>Ί]bodaVe"Xi??UGW7'gj[P\|96`HѾV jNػIph7@#Dc߸"u8{;ȧ,pZ"ɿ@Y(<#}f g=j@G  @ƻ5/&FS]Qׁڿ}`3ͨ;:8@^3[ a Q[^[IԮ5 5o|뚰Aa^M O0 +"U(#p8JoM@"3qQ2Z 3p4TvVV Ҧ0VzDgҒB *THǷ,C@ML#{1. 3P Zeo[g56{hbhHnT'6<Ң 9RX25* ,*еd'L_|B|9}_Fɟcz筝Wx;o U__^/`I5ʣXBjA}dPW CfÂc(7VCN=:l|$󚲷Fo( JVG-O`&ԗdY괈`^5;w9S:mz]d ݠ0%x:k׼C+n+d{ յ}mR&ZiUk8F{=W`l?[(baXY={揼{4m͋id5\`:QYcmR}2B۪Y(0BQs}ݯk8sk\`2,Dj >Z=ՐVu_znZ#5)C/>fJлyῧ'cX\v8Ы&^KCT` %G$|5SA$rqXQ.E9"9Ibr |ȯPr$@NG  zyl=LVzXiREd͢Z'M!bw"Ŋ|9 ;:W:/[U2$nGrrK^ yvi6R\}>~Wؾ6 Fp˛ßN 8 273e=p6e:cZ⿚/duثr,>#2A7F\+]wMo}ݧ=56 AMy KGg''GWk"֊H*wi^7|qv|fo|i-߾e BRdY!c_[Wՙۃ }3QZІ &xcjj Ε;вjlD]Y 91^hKrJcI kSBrb Y \cPGֆZrhZO޾trYt~v *'6o$jX _u ܩ^5Ԗoq^SvyI0؃c1YW-OUs0Նe!o" ':kV a(E kB7Y|Zcv#bBzq- W%rvaǴ-ʨ0`#F2^}g.tfSf ӷE*BFnl~:~$BCͪ*̡{aJq_ O8iݗ0>XB p7|H"]nALWYbfn g]ȼ\uռ1 A|FCJ\HWiMdGQ7KN0z+1/1 $ PDH= 1\[N-tk.6dCRS$?XQzϘ㳇.dYx㓍-g({ 7 ]|ce=E G= @RCG50^6hme{)%\J٨fz!0Yާ&¼-h8⹔- vڶ [M}#2%|[ιE eIvs~0&em3Jwn6UnXQEd-I\:HmZNnEDtx`%mr9 J͌F.=ec N}ޝ.kq1dYǼ#N.= 1~2EPњ<T4=Q7u%͹e0( (#86@Bl{lCXN״Lђt`J(!V1Paټix_}aD++U=54\6~כ#{9TjGrGG z =])DXr ?fXRrL˫lSp #FIv_6MOPDL~@_5G4i4hnl']ы_R _Z +UmhGv_[.~0*W?<2կT~٦lU9{DT+/rN&' JNْTٛY%̵(ƣƛ3/f&JC?NvlY,m 02YRAy\?sZB](zަ5TH oJ㢜PZbZLN@wt-Bն(*9< ΠO ~jKZ޿ OZɭI$QQCI}VF=;V䁷κ1s{'׎g;CypPF@k8 9a͠:Z;nrTSK)dåH`Q"QuÒM^\VBا;yP(C*#xٽ({Vt(H ޸;"Il@>8'a9ucxY,,ifa魖v̘#h˷kXHh9#=[h1F~}yb6Fpqw\tCmw@??׺LteHӘLN*MuWH\,) 9QG.-+MQp㵌-Uzml{gP( QCaxEXfE =Ѧ#ܺF1^kU">k^M#Ax!1T7o~~KWa+X-6[o] a'`1]4֑ P>8H&Mge:ŵv钯EЭ==RH2XHeB=-rDdX3&웠Bja\-}5_egXIz^/'Yߍ7ydIxjh(dgׯyp8reȫL܈!#Nb/ǎZ KوF띹kE(`lEb`O% 1wQ6쟸ՀDJ=6CN8Ub:6Xýn oLB<'j,ІfJk(6QvέM{v&\4ġFΚ'XAdŪlQ)9}}[uX=P,k]>7~KA8ݷӣw :G&ewg) Nu_#z 'Vj@@$q(U,T/##)oq"ͦ9-cZT#'FmRYCOktPNe:Ht$jOHߠ$wKlĨtIڲ0Db8lk.}qçoϓإm`MMm}牾<KЀGy(Foɴ;9^%ݟҸwl M57jKp]EBkzQ.[gNQN$S<* 5{\jnNw)>\oЋRu G*{9—rȗ2XB]D{{;hQN+f2y}W~@"id낪ߞC6\T~a"6O.x=#.qYvJ➦ZV.iiBgj6"50@Dɩ@U6`5|7*Ve RRpxR/UI ]Wmb2*  W~ O=0EFEسMuUZ^VsW'&EUV} \܏=u b̦,4 Qv[[䆣Uł^\餩5LyH ۽nvbvqK4!tpvzh7L%Ynƥ{"1+m [_-" u^Q=緗"H$l.~~{Iy~l4uF/djUt6hD=-aE׀Y[b :=p~g#d{bdY>8֋"܉ʳ{B=WzUUCUΗYv4="`U,{ "h1ˊM G S!2k R|)!kC%cMҢ(ijoj#XHhט:AVMJlN&nfE$Cȧ/t.̩->-5gauQ{.Fedg72Fn-7 ~'ULɐR`pp8"᧷$P/lpϟy-bӪ oj ִq[ w۳FxIl9y'?Oc1Ox+W}(d8^ő҉*RJ{mń53 yxg'I彁U9L:8˯<ͿN2ofhI*L&kOwǣo _ Hnn~90Wf[BYb9@pRۘDUbTv%W9Bq4TβI0 /=$ɲboDmlp!Më(F}/Hb+!we/2x1.Z~>#qB)4:ق,( ô=$)HOŸ\ (_f>^բ+m*&L|k^2Tņ1PG1FWHFvfNI˜lbK04CsjN#U5we|m/,S,V%liUZ!.B_*0oC8 OR,9+7\iQ60%:(M/N:[&eךWܻINu eTPeH_cma=ao sVffh]?pMwZ`|,-\1ח5״A '>`.wpM[!q$S§scuqKN4#Ѽ(әG BBa, B\Q49(' f;@ `hXe+ԛD5-y#"eN ݐ&"FLj+ﱼ6RUr2J%}Z/oPXq6ؼX9c W<)⇎P p(wR?rH #pk_6v ,Gq+OhnWg1%pzzYX؊m݆+nuo|q)p5cQc]UcFcHLG`aAU@,7Ǝ!j:JIUb\ G>͒Y6O.n.{2^O]KCae708,0C.>:>6x1Xh<Ѵ9 ]%*)4`<-ڬKR#Ck2*fqVPWA 2 'dلwDICl,)I DĒ |jj+=(LY|=H <+Gvt9jX):]5I[gO,@Gl) ++ Dm>s%'L)(S;Sٿm3_]n@]9Aʕ#lF Z҈4@DQ,`tVZ>2:?zap 5twҗ c4Nmj l-b6\+e]?s?<qnÃ㓳GW/}o JŴK t iMGw0],MV;I@~+߷ЈT`;H @Pm_wє_ū}_K,Ͻ2K\*^TbG5VhG$?zҍԧj/_t;!Rp4yl>*zTU7ؼ??_gx󓃃>89mOGLXȥR IQ\&oG3TjQ!5. +C A_?7Ejܘe@NF'@`_=QMW-_(!6)6tpWP(/cV&qg2꼉5lrl9'֦|i[GZڍzj'lut'bsl1A4&$P%*teJ1|.fیzQVM6]a#?m+QOzd0cg?"_,b?I5jG ׄnrDicc+@Sw+BCfm=dRebմBxݝb#VX&i[=ʝ,W|Z:y; E۽&K_╫8@s%JDfZP^3L\װ Sg4V}" MxoA Ѐ4xvC==Ot0 $^4SXbSE67tB'Il8Iռ"JKz is`M5ޭzqB)xVVb5oL\П6 ᐁ`g'L9QA*[{!?ro̜~{l ˚:|%dcya@! _ ina@.%ڿn*;'\.U` mVݺOw᭗67Rh ggu';FfFB`KAj*{{LEQpR-dR6H  ]H.S |L|9P[?!lb+|@`'V(S p7$ǢzJ U{,܃ezCB:I3iOJ텦7 JkjȻǿ#K?bxKgzVmXS#zϰ7wX)Jܵl=\. YL8O\T O(. K-?&Z-ٕ#g|@i5Lk;| y`QKf@e#mTfhe:MJ󑵚Jx#ږǻFLJ;ɇT9;tAdq:>鲀)ӳݟ?[\N lǀ#](^S;^=hCJmp"d*"==EHZÀF[{ctl@ы,2C=g`f17KeB8DZmFW 8s>_Nہn "_.$d(0-~J}Ez͚nm/N@-y', eQ)%0ͭ2FB ˁ [ABYeADp@QpZR#4Nhc_N4>=VXW^yHOFʩNp®U)J}2.84SAT*);N=B#I\"Rv\|0S̍FDи 힟3wpjna̼"g)dZ&@.3t*׹a榺.Erk )|54L:_nI)|5=ڏk;sBu+7|҉?aG)DmR]Vr@bB_,wk'oXx7_.$z&4tU{Bm:EB~uUQavrDJ)+g!#rf!HKU,,/"B_|c ) g9FGV@7rh, Yʼr\|y+4柫5͎ɗf©6Uot^T55_z!gz%euh%j8㷇?{9T1OD=| ֡ M[zyf#9(1{>TWV 6_S4۬-붳4h QF/X3q`%'=D/v]Rpxs0 Riv>a7c(;(ҟOíd`eDYͰx-*z] )痙Z{'r2F<_$ ]Ӑf].ecsk"dAZڡG :,bo᙭5^Leg4bV?5UI3)4t BUK̆> *\f*Sx"8x ᩕv~vG `ؑqva<^~}6X >mQ O8)]L a բsF@TCYfWWI`.6aØH@QyšJ"[9$!(m|G720n5_j7G:-3$Td4Uhy7XAjU[C7{*'Fqee핻BuN;&XDW M5Vʸk@{{bT8ocx"(.9e&WOd$q!DPޅ1X, Ǘ]JdD ?_D {0$U ̛bk il0|v u?>DZmE|pDF;4-AI @&-gmmaK\5g2Kw -YQ++гI_5"qiV`v"merc\{a .Q+abk>8o-^t;s u16G`_V ;j\<*PHEWh]Ѥx{9=;۫H"Ջr`W XQ2 DgSab7L@x8C69EiehձZ2,Oce* %yҠD7/1IUU~_X'f^ V G|J" LMqsgfݘq3-B-A?ՙl/͞y.]"ɳ%hB̧f:mh6>z*tᬘZmXIFXF Y.[]`JyY`*k'^Ψ ܤ mlwm#!+,a`-v8k4/"?#{A<ϖ@Tat$p3je c@j{҈U;xGQ 6d!=zoj>Kj7~K`r8g= 9;L;=7^rrz,!@2o:*.Yѧ ʇ. r>>.IA̔Ex}#$Y=lU8;V<}y`A4{H|}uw:pfG-ןU7N~pU\w, 5w9Ԭ`בGIjQ/ EbQP\JLQL '|w.[(S,C&Nwq etl&b|WQmui]jPA7O%a+a[m<')}VLهs]`/0T~1\#Rdyh7*8Y"k6z֣~U v!왝-w!Q_s,ݖ0|XBRο.NDQIrl%3_&eHL5qrPaF=ZN T8]%|8dU_ \3p>΃΅};ýp ʻ˶Bmc .jwRs+ O`+ᎇ^%Yl)/rF}&b9Leԓk}uΉ*Qh>%MycrCglQ!LK; *xLeŅz] 3Z*Q77U<;Jv*.2-Fނ /='0Wj_2<mSnG4T7iIMO nzuۃU[R K;(?&0* *itKJ*~މ(lw͎IWv I}Y8"^M6pŏ = m?!wֶj,C7 H{& ;YGYxeg/PCR0-1 C5&|V7V=uP\d%ZLC =E˕p% # otړlKZ9q[sb[]乽`5##[!Ub`W'2_1a ܺrSۢߦ[BP7/]EUO,j2I6_,K] 3Y=ES`٬>RJ:dr:%*Hp].!88HtjՂz ɳ]N!^$.ĸ"[v6ZN˖cP 01Tr3yٔ.o`YX0&.|Ee*5NF-rexlTd+ֆypj}||2,z.3.5?C1L{CUf_+H}_'߇!<FӌqVRUbg}u{p؅c_eLbz L^KSLQ֚I[Mzцu)wp=)`ђ|^.hy\|(O2%<<_t҃}+" ԌMM*~A pR}rBm>upm?+I 1θ<sB٦G<khŶ0eP+ D H;.:4O3yL%/ؠnbs+DyyB'cKSCLQ%%(f^\6˿X#>\-Qק:b`{RV0%\Hipȵ1e[vdI}t; novS973MBwx[NJ$򾀭09sK;鐧 <@H7 ctDQ3 !DdyD 5j8Šbeq:uH^N̢\zC_*~]zb r:'ӽR2VT)׺~P43eI ϊ>)6KwYS=,Vkqx2 цAeReEQv[Taz8N^Jp)<ǰ7,wbD1nZlnh*c 7 'cӤ9HR~Þ62!٬@{^ f3/rzBl6_<Η)@g9JgPw f_X=7 ? t'~d_ϳ-]A&~g%{ ) ÑrAREx% i-,ytjM넍,4XoD :#zYPc/&9l?2|I^*s|a/aSVs5/Nt?>n)X8 [:([B~^4k܄2SOUS+73`s,0Z4'r3&m,A 5!PߍSܧ {w(Owwk,?qH6s6m|P [ PT޺rڌ&t1+Qx Gdiouvjϳ_7>g۫o[~ݥCسڒt쨖Z-=xiuaַ ȻRwK7d: r= -w D%1V2`ĺ W+E>n#ٯX"ܱZztI BMzrmZeؽH ބp@ڇXhA^eY)CPvK_~ret[apHNii&R\R:-)x_ǥ2>)8hW>XLyk u8.ɿ`Pzϖht,w&;|OgM% TX (8$RU1SB&1R;mzc t//y"pXL萺օDyGDn`5U55b$U]iER| Țm9B[!χ@GS) Ze1-"üU}`0pR,]A?\N$&.顠pLNZh9s;|Q;}^ -muVjg)w>g\DF pEՀ]7.ylnto@`$p 4ySs+gStjb[%;Da y? 4jf{{P̺s $'A64vZd_ҩvOFQ/]ndmDΜ,}QH9efwQLMLJrWᎧv{4޿~?*ʙo`/< q!4.-]4vQFPy ~(\~~+QaN>YIu=`QPr {l0܁p}) C[d4Yi_Z[V<{M*$\d& $(1V{JfrAcpy|t~4zG "S;䏩P箳[{нz}>dVWqwI™w#W (uYQzUbbՅLSvX +jrM)ݭR'{_a:(||AGqhȥ!(L/ʹ˖RDpU<98i.DZ8!d|ep{tt9/ ޟ*/Be 1> OڇN$]4U'I9FrsU-mѱnWN(iz3ߛ#ADJCrf ,PV\DO+ݥVZvyAߗS+ɠ@Ũ &!f8i8ȳ+};.K#gS xj_J>K礥IB >'.,IPXpN-[T=6_bA$`8 ]),O?=}` W)KBceSq#s!~^ۀVwRjt[1 Ono}POIAid3i{aEt֡5ZcMzA/>ΰqq |. S嫑DUo_ k9ŕ*cm$ (o5)*M؍0;BDOkLj\S}hޥw Kr4*}(5‡b0-gѓ/x*d(_oL*'Cx$xuX"t.<ڒ gq:{>MRI&M]FPH7Ge VJ`6me/"% `VPuU+VWw9&0ιG(z V*IrMk+䈔ғ9=:ɝ'1cnE_5{Պ,br6/,&mD b9ɄlǨC@ISt>vW US2 Q3EzS^5 .2H>@}fu/c~V|yό>nk/G扠@Avދ"ʧd_ۨzpKkI/v__~U)8e! ƂE@%{ r,RN@ځS +n=e6͞x5Hp);)H,+uFhbF-2xea6fC {oq]1&>t "Xsm(XG8Dž/T,)b@u_'20)/=N Ӹp187,%,W vɾbz&Eg\@'wxǣ~`Fa?҅^<є:W>*S0%&,*w;JaHB:jC$ݟ-˛&cӝ+2ؗܪ!r/|E[CI2V,͘J*Km;v0@ޔ ӔzIOi r3^ f),v{m0sfh J]q.CmFZv1@|cLqX tZ"'&a<0Y,zAUiAy8lCZ5z<< q"Dt8Q@_/hpji3+Tۖa՛xf6?J uU_: > @k1P?6۰x㕯>Oa~Ai>RUaW/'_G?|D_ѿ¾bu7l JW+3{+9^@Qߔj-Mn Y Ju 48:ȫC6~ ?GϚ|m_kk{z?G~8=Sa<8̕Ri@mܝWc0@)ٜ4eFŝ>YtխQQFҼiuȖt_Ձ))^ҋE#.M6m ~@ժ.;uޞ]+_\Ž:.@Lb*agZ8uoT=FeOU }O8Eg2ryaDĽ!"4hCǥݥ0%@_~pO}S3(QpA쪀z"Ͼy4~C aagazmaH&Ds`an4f%X,"q``!N^bԵ0}M \R٩} C8{U| U,kԇqdr' h?_J-4*U>8܃@c% ƾwV &ްَ?DI vCS唦C>J# >EF*EplgKb۝|vJPu~`T'Fn2S44x!Hή;(Iv~w& 2jzuzdTQUL=0U66ykVtQ20:t QEaTa"D]`-taF^\@P̘Mp:qb*1Zl4缧P7?6_qirqS/U?QOsZ,DFڅm/vSqy\cޞ!B{hlfvg6 >g|o“p-)n쭥"b.?M|~Ń]o} q:KĤ pwSxno?-25?ՙ\ VWf΀.jhzHy@Ծ5:8ulnUafz!fgurT\ fNv0U(#)8;y75ؾW(%uM#٬'աoHeH9ëC=Rmʊe1{ڃ0;<Ot9tB Bb7  Xy{Ͱ+s&NRjKe]nE?c/17&Ar tFEKnR SkcMeiw}fa:ON-iZAOwz/081 _~<:>LTs`)z~y(%>>HvN[>{+qEO/xnGg\/]B]&DJ%(tzX4}ukl*qaH_7Nгԅ7MEjsWoD*F#OnLw>kץ3Bk5?Nr|=zH&K*EC`ݬwa>=8FExVe;KqW5IiZݾJ{N}{Ii}w0:S xfo2%K+n? ; oƥ*%qV9t- d7Цg-\B\~]: 5yCbym/tFlJx~}'ϗgJOiy r? ?lڎFԙ[AW=6:o͎]\dB;32?ہa+$dcu:b̅v#DԷQ%:cGtINH8"ݝp8J74NTyzpdw'VF'yjJ;.Qk4MM.N )v*+5(AD,LŹ hd["Tapifihov65R/:scn? * |\ o|Ёn%:$*v#5*4 !EV3'X"[rtPYԓ&*X`x׎jnlp*AիgΫW/(B>?KNxY6)V60pұACVL Vt 6U">Lؘ W0Ee; =dY~Hn\f \q \$<5'Gr˹%P9 JBhxׅBN>wJ7yɃ"D+\St:L@M6}ôlN|<s!z ]]Ul8R$~7g(gՇSVJM? /*r- R#źT9heDPG/,cn?6!Qj:!Db'#'4qgphM !dwW07G=?FwlO4H>rZgZ]ڮ8#l4eA:oOJoQsXѱ8 j絧y+9(e.@]<\ |Zu5֩RfBӮv#mxy>=B cǵva-C(\P- ћ>/.'wg. nTͭPQۃOÿjI%xm0u>.Yy#(UHAfȭpD[P4 sLgƫМʂ<IG7$ZZO$ ͉٫`UlGpNh y+I \{I^Uo=8,8YĤU/BPr_5NowɈ^ _B2z@kK!\h#ڼ _VY<s:$j0"OP"Bhj[tX"Q!>ZVl*~\=b7nuP1BUhFm1l.HPq*N_Zo?E":۫!I $Y s۷ݣD ؔ*\Pt2WR*9YqQv͕_/ joY_3Z%mXHļ>c.YdFͤ3g7ӡ(ԕdsҬ-w = [vV[TU!!l~.[tp>QJV'M2~{v+~iOJO LK?OI#?(6kGcdƏK8p?%{i43tpq8:+ H+`I9xa=`Yq;`2 -^5_ɩf nҸ=W?PaK~)l[BY:_ⁿ1.!;@|U2"L0rU-㎳)e.Lbؒ.P[߰kl'WOvK/ȾuVpO{Xf12C-Mb 8 8/ .Y2  :\€f3'!#}N/g`*;ΰ#C q'L0@^!dA*1u^Ze+U Ό#Ej?Yǃg> 'Oy<~RY^zZvЁ=@u V2&FjJy]4mc4}x׈4tdlW?t% ԝP7vpW8]IPX%Tl`[;;kR̍Y˕MOQuk-g\oش;R1Ƹi w32[~hhǵ^!^C5YWҾJlWFg7-xx(Us1QiEMTnB}5̠p+V$l÷TvVX$IŊuV-'%nirU(dgksXA'(CxaCiܭM!w*0bpױCeK##HÖx;}DU&vՓM^~EhRzReN&`@u@xuZ11^8v;"4.*';4]Z'*%-kU(:/4 q/I Ӌ^duמQ"C_Y !Y:]Q'LfUp5rt`Pgr=4}4;!jx4Q񫊅gGOj/^Ӈ<p|m$' [aJg뾉b @ZkV=?n üv(%CJ =? 9N/&w1^y{)Bh0e7Ƥ2X (\c^Xse Wb*vxo<8m_cw+Ȏl)ߛ[TŤ#7{sw/{{sqضnʍw//Frw{j=4\Ma.E`=(qNcyaw0i,wwUhqcƃOMQ)W8yqú%%%$QMVYے=l/Cy~ǥU; b8 , *L^5hҽ,IA >nvD.^+bW*2ֶzXXȽ$HQd"Dž9 G77 Pjv `(LzP H2 {}w,m?$JtʞJ#`9}T_eSZ7Ư!x Md (hܩ.d)ImpSÖW\㱐n˷c+vJd߸.zw{ce L+83$cp|P9qr2vgvWQ8hVPFb)jC^KG;mhp{eɠ0L@HϗPUZTnU^dXAPUf-oA];I+˘ LѲ,l!yHg!D* LAŞ-TZ,pcWJ,砫w{*䄇-㲘|?۴t scJZӨPr%A=4@_3Wf*aWcE WVo@y۠Bd8i}۶?Tٖ5G耫X =:|^M`&A&e^ ;+mT#0&Y ^O*-wGfLh4eأP|6ഊ?+ȳ\.Jm$^fq ,#Q*nkSL<:RRtZf|WS$V`M` _  I 5$!.+3ಉS&ee6gR"U2\;mN4rד dXtTZ&kO(2pR B7 $Ӈݟp5}#mooة ͍k j~WM)qigf B6T>@VdE/poRs3B/p@L~42ootXX.gH{1.n'uL9r{͔@ (3>8Ul]9DƑ y A7gb'Dq!, wצ%waOrR{ 5W# Mf !oGVKw8lg>rݦ'v,!#5h4_Mӆـ\ (i:ĕA̧nXa.2Ẁ??XtE{Ct`j-TZ%$>]ۉhWpv\&30ϟ >ph7y 4'zLt46 I˿-64Rv-"eG7t Mj$gVb^XlCEc\;f&9mgBTI($grr~PM{<:Ǩ5L( 47MkNk/;mR`Qy'0_:GOZk&_ %U=hP4b" )"RUKՂKtۮm% `h*b݃KGƿ%+QV2/ `AMnl̍.24ֿyHA;t̙0BN~ JX2SE6B07Qlw.*P-LY p.9EuԸD@͑M}'lIvݺX J3?pqx0ppykEDžR|Q)hdbr&wJ$+T%)h p;شq]X%ϐ"oC .o;6͖iG;XeVOm~&;hIMT2q{$U0a2{M~|2qd3Js W%bY8aLnkzO! F\UUܒbD9^ЕjNP#%&%LէinL[H[-V^j=ꖲpm*UH^`X <)V1*CW)s@Bɝ^YѩVo>Ԋ ]q`98[VeػUpm 9qPki+9bDglj,TMwIYOY đIx U&W:qE]%f^BEO,S/*u,gI-ˆJh-po߅(|= ) 5"@/DzI'ɏf\ 0V#ܒ{d2 ;U+ f {xPoMbJζ{5Ls 8L\ e|,6+mړjVuvUUlW|]}vӻ3^ywέziwVmNOcu~[Ek~'J?wwnӻOݻFk]"h>}Cj7B764ͷ?x :Xu2Xe Cr_6NUd|B"Zxj&Tֱ2l .ꄞAcq^t?eir7r@[ K"Ft-Zq+W?PN87eU}:<fw/cϠQ6r^LJ6 ~z$xNc2^vmTvr|,~-O>,h*ͻ`z'歹'fZzR<.xR}N2=S|.OvO/i 8pӓOg݃K{RmSaU!b^J6A;-d-ZamʌFjpRC@3lzUs,ϟF`s8C,:ILQ؝K OJK /foI,>X'No EsS^gȧ @ep. Bc6ƂJ_f o!ȭ.0t+Xl"${ilۖheic2`n\钗ҌfJLBS%:1MYr41PEa(t`lp8oDpŐ.w@p%VҲQ.Q6 qS:MZeW^8/>0kSt*"=ՋOg;Wdg;w76bT>y#IA&^OW?)G#Vפ,S*I\ ՊG̋TPųkp\߁Q<1A[#TELH^|*[AZJ_JT?_l~/.ԫ/.[`_MWlSKnLN|Nͭj/J_%w*ҙ;0Xtϝe^Gt\& &X/Y DYURIU+].=1榔5+[Erv}~dnuRW(ԛeIw!Dud+ӂ+7?R;׏F.i\Q- UTvҢyLkG$# ж?PGA}qWNTϞ™./b{mT!>*NN涒>B8fstcsPo-Wes6RoVg|h&rn,p]< 1TJBNh]YZo.O؞J4YXRN05hЎlˠt_'}){O%lp1J)R# fG^TŨ'jD'O:bīv=d7gO\Q8 iX1шQcbɬLe'lf |j~s|'dĥ .:])׌-Έc|B_|]P|5+;Zb<]TN_Y=F:|3_aEIO4 L|գGbB6rp$3FZY%jҏK2P? [F_ixH' H1'.&:Z"?{6SZR&iRLOȲV,d{fu(@0.ZbD孲 %ysN< GX"B.Yy/Ҏɟ909lZ"k&L[~g"Kxq^{mRx>A UNj:u".->jXM`g8<`Cۆyk6p(ʆr5.: dΙ#դiJ`/B 欹;2WM:[Kx Wy ޽XM6^IzگI|.S>bTh.w׋\@o k׍ǝыp.`gd 3dM͟t|S /qVEsSB)-cZ Vciў|d^>>)"Q.J)WOpsI P[kp.N/縶hq0˪׬>>K*/qeET#rr4YqBǸEap*ut G@OI8x%Yӳ-eZBuM UXrMi3O}_!텭U,]bDɉgMgT$ԍ D\֏]]Dӡ=샍V1aGCfUoc'bSlOkL YJ'Cqٶ$Ԍ-ux74bv v+,y.DmD^*fj޻[Fnw}tFy/RɨWG$/pG~X}Ge]fc`P?OɌ&12xM!ܒ`F})Ai8 ̥ U6VӥD; c/>!ñttLU+Sw+QG7\?>5G?EUbö6 rTpeͰCBXzU2v:Zz+J&)K|ȡo#{j$8|$"_6OWE Q .OV_%8_Ut=xjˎK^.sr6 "_9d6,*|w ^'[nZ2Zn}j&_'e5؛twn\߻&5GsnO1'7:sϢ* ę5}ds[)q}=ѫ>7; L&ҿt4] n]:W&] (V W1Dr٣Sn _89.g!5:^53 ?>&D, E'0LIyŚlgʪ$e,IVQ@s{;ǚ*~\ZƟف!FK0j߆1Ily1 D ']CkJgh!|NS O]8Xݮ߯#Mrݷ(ʠGF,[cg+"Z8OO=kSl3.,hP](FW.FFN(G .v/VXDcuId_]ٶ0iҾ+';]ПbEj_4|X®8 ![FHD|Q M, =+IB+r #%B8+V EaKJSsLHlێX >"3/ٴ종,noM 6YPþpdػo7xDmJm0<00!c^(󼈽kK=s34ή5&<4o9lue*/H$-E8+$!EJ2)_tU !P|CP}~Iv⿢KLZ5{ ֲ)|}FBR!&XiLUameMCbS P@RN[ρF1J-T"(cZ˦<!]R^8z[,Y%.*կ*7H˕<$օnXP3nj|LAAoj7r`b˪lb8^E |4*fT*oE3jYڡ6M)]8En=10^\sE ]ծ(%dlN^aVڭZ(&jUxpuWZKP:kNdQo/ tpJbw JҨpRE4M=zQk`6!alhچ6ٟR7qDM>JUiU <wc6NMi~Q*GOoO!a*r6bʄ.~;o~;;=:"1}B>Κ5+ ҷb¢jA$XRz3•gc!!+IZ~+p`R{թ&2MВڊKөE\bۭ6c2h M'Iwo#˵X7==VIϸh)=BπCG ?qĭQ0RMiqvdD0ݷQᕄM(DlUE"rGP؆U?_LBkUx4A\CFިUOּ÷orxo}eQ Ow՟0 i >rIDK@w7^tDŽEB\-r]'и37ID|E9_ZE)RIjxsahPTe㖇JI~z%iS/4^6wB$pܭ S MXp OX|ޡjhA/={XFF()=F{yLWt?hZ*aK.Y^Їph 4ŀh!2b9oV,E |H'ބU+Oߟ]zMm^3oyھn.eoNwP.[/:T&ҨzPGV&@`m U nla% 7-Us]Ylh?Wl -xW;̭ork'm !,=;Ao^;6~_C~W;IuP #g]\:վn y lxkso?./vϖ,иGx5VK!$o7FgdO UFa0 =e7Ȼw'G'x|_~ѳ!<B!sMT02B͐|~DV&# f DRVzR=/= zK`JPe0ΒDTvr5Ab=E#xQh2 7aZ &1ҊbYe7ּmEP mVJ2>F4 7XDմѲ/LJen"ٹQ)U܀!>CXxTa \ϡØpܫƬ= Nx./ͯ;]hAaty;@1p =-'IP`>\&IT&LbSQVj^p-Q ܔ :=pr2 5C&s{o{,]]Hu/#ԲrN|@|\R5g]B+ P648.\6SC3R#ꓔռ0fͬ, ͦEs1,B6 X؎Ip VSn̄#.ߵ -$u90T֩z`ܐZQYJJrHrorK;"Ծr{/vI^ZƝ o;|M(%-JOy!e{4vg<񨆁4`~t֓2(] S2y Z|GLtakYװmwرR;gQßV8&*󋣋+!lC ?jbݐ &0hL>Nij<t27\ !.}~C;]ΐBt7fξ6~W8ޫmૻ7]8;ݾG*(*?+t7Tg, G q9!{;oט? KS, +;bg>j^8}AB4hн5A-B*鵌rPw]D~,96Tˡ<t咱m|'c ?0M`2Y*:W5^<3BvK](vT'<٪b\_8hI*6l1L媱'S藙%EJ ~/PUps*ȸȁ~-u嗫+J."* .(+Y8fVY2:dJM= yIt4;K,G BEuB^aȒX[Yf0$%G)MsBD )$ @\ ]> f Gq n]K͛WOkC۳{温Q1\qɈE\ïmeOH>\!C%|𓑪,aX`\ @-\x4!8c-!- xwÛq_x.L&)'*SׂV# ĕ0>Fꂅ{{+(pw8qK|U~Tm$Pp֨G, n ;8ݰ}ڤ\ʗ(cb2R:^,X$.$\Cǿ^b s Z>,g*Γ;Tm&ή% p,]m8(.޾:F7{ ];|wzwϟߠx5eW侰X37 bjY6(0csOӐQ'̸x6Y q&n`Y?4uCd-0 :(|@404؎Tgf@LMyosJ]Rvr6ud^#]Ҹg~\#B[@LfTpGo ¹_ xQ/V200ilͮIUbFyQ*Buf&nF0*~ D ^ZdfJ!!tk]+C[u)f>N#5M`]?4T,` Sw!<ݬWI1 ]|Q9&)kqXhm? $*Va as͕2P47N7ؙ4iKuKjF~ l[! D)*z@>.J^##y"9VEbsK jn)Elނ\^cRʓ9ے{Yesg'GG'vnoW/NOģO.OO:im>mX>tجnOxZӝںjmxf.ޞ_q-%~ƁV}f|\QQjI#pgڕw4V¬ʞ)sVЖю`.]Tqm߮+Țͧ831DDAV3[1HV8cEr@}Y[-zZq5Σ;gp],K &~{~ HeK %`24xDj-7(c Ps<\ Q_qHBIF2.I( ]YT$9 Dzf/.6E>3a*|;zsDe/ff@QCZCQ$'y%u&HsL-A{ uR᧴FzD%},(03x8|U-Wq.B S*Vq*)䳥YRNMJx9`b) jlN4T[By^\kK m(訣7}j 4CPh,뮇Z5*i*b;kx!cW߼ ($\MTPKKL#̭5֡Pwp!sph@JwK3;f2WDTLB{؍,G3+5#b/~e@Q1Л%סf}w9Q^-|7wҽr}[-vD_`ٮ;_#'q^c Q2oy< yFt;h&pR̴r  c+j/Fxs iiTۀڕsf_7 &&IjAJ[5)T9^cnqcdUZecc8#&kdEӚ$=NꞋ`4?ԦW¬ž0΢hR^Tauȡ6ISlȁS-}?S}ȃCнKK2`Lp{䫨%iyQE0гPxvp`r X4.ƵϹm=rT"N*mA5nB@DgRAd1$amDW7p4VXVuBZ9ᮃ1eR86:W%+K6 .\z//uZOk!ڭ0ɜ"R]۫AEf;HERdn>[4 @-U 'hyN;ʹEٯIF8lc(rۃ@`p7xkAY{!|kM Q-xz0!8K4zinKز+JUW(M{65C ֆ$"s~6Xr^.b{%qu-mUwجJ2TH)E&<6:bMߨ<`nhùܔ˞j:7ޡb"&Bn툪*hWo/1b׵nX2V%VC͞wBEFO^T?qߤty2xv\r2`wQG1 ~qnvN:|`8w5dKɯ9RMoM4L;٩RK6>]/|Y2w4Ly)NuM^-*IO8BG)QZAhpaiG8cpM-Q^zP îkiwYB៞u5pFc7cM$ v܀gx&KQT0Җq9sI+ͷ@2Z W ?=Q#8^4hkRɨ- POh=+,vL_oIîY^gy$,nQ;)o7`d6HIw{F̐czwbBRT7ba k']npQ:-bWl p!]hc: vIJ\/bGr0B?*><_.@gݣp7UQlIoxUu20W$|`ij)FQK>1`A&ڠਢߣ;8Ox8 dӃwGoɳ=#1:mC֍k .=8X^ǘ1*,?"/4Qn_yP^pKP,+z}u|zw NC3,!?xmyDkŚU"Ap.33sc![0-PO28.j,/IFI3Ts`E5R_ZF3 'dUpZ1+Vd\Y@zTC4f'R!D8UWuCvS|8ƾDYR;D(pJ8Simϭ^YĐAa_43jY8|r#p5StY4Y/.\֔c%v6Y|368M/q]hxvZ&FJ0lu̙L@`wr$6vWǐu9S HG]&O1&o@+PNnr҈9naM^VA!%A8"6O~ > PE_=}\QVfhl{uNb^(ムe JIeB GtFE.ΪH1ƒXΠjfP=+r)rׅG*oE潏/R сvvjDcF6Eʋ".9HKN}P`.6`< b *(}ۘKjBx=\Xl4+|C'yRϘq`fΡ0y-6W6%ZbU)>%p,lR. 9 =7>w(hARLW?lJD"xGMgHy\J۰["Y@s|Ĩ*1f R$ 4RH evr<Wv䍫*#^ͦ#OrBq-zSCtD}q8e&!4Qcv#ed\\˦o 0tYTs7:nqnDct*B$hȯVE[`g_2_03 Ii>gmLb~roHN4Y-*[9=@*d e)fńIMZR=ᓘ!ȗBh& x/xšbn.X!$ݭs?0{dRD4SnrXy !v;ːP z1 <Ӄ -pIQCڞR4Û ":b &0rHMuCN* Bi71l"ŵ|"H# G\䮚zck߯T9i14c5[Ph|wރ*ҲDeİ!^&\k~sۜrй֖Հ)TV(i3ȞMՑkq^Pc:ʙL!B)v;Ti*iѳ*ڸ(36O[Eː8)˩Ѭ^MP!%sk\q'Rb>:+zRG%yR=A5tX-{ݕ?~ |ɵri5u^i0sې֠6QX 4r?VgXu# )+#߄Zh" n?+*,ɯ>wvUpf(W/Rte*@A@FpoI4>61j @ihy7wKL=s~%vs01*.֯\k̑`3., tT$ ]H}*mAyIzɪ2"Ѡ_8BD6,@KÛMG~0\(xD!>ImxԪ6񋦠mtCi' }>O2qJ=T$+⹫$I"Jr#@.lRJ+]ʮ>0  JY\vAuDCTU N%PUU~jMOEIӰ|Y _FFh$/TZu®zwB $5jVn_miŸZNm/vurzy.oMߣs4Ƕ VQ>Ll.8t}ⱍY"nޓP@zKFGw,o*Ęi_wY 2h#M%}snZ.HOz.y hCٔqm5E\)û7o]_ݬ}S+ma6P"7X$N3bҿ*F 9rC0CB%Ap33@t3P]`#"74ۘ\b C~IK!Yĩ<(R 'cw%+A-mp*y + ϞaW:54j ƺn=ہ=T,4Z=Z8'Jk?ʚ3 ;^$RZ˨2bD +4$1k4 RՂBzݏQ:X$vjT.ж07ێOZ9 <K&tY4dA伲lQ& ~rS7@1fr0t1 f۝WP܊!O엊a캅 onc.KPWi~8L#â-CDŕ$si[D`)pvEL+uD sBwn"[Xj@hWq7|8&#˧3.̭w92h W'vW]>.JLuE)`{I6> v煀1eT;Ϋ &o+J#oG'r ۂ;߶/W7ğn5}"2:JQÎGlWIqILDVKϾ &{dfh:vG룱S&0gȪM6gRY\%1Wf}IʱIF?uwGNnUq&! PFS(5,v~lƼj5K}!EnSk $Y]IVuM{P+_OB"r6!EYy/;hvK,=fOeӳnu͎ᵯz>aD6%Qc$=jFlOlJ'A?xOStVQWi+xF3cGhaP9E<[Q$W7ԟ?0 f6J,_% \t`.U:̓r#cYwP*n. O  s|B𙮪Bk{f?&/o.5ݽ ڲ 0$o?{~R/@ )pㆉ6 + K;S1hNBM #әh擓r)̡&WyݠNVҎ'3C6) ^ QTguX1naR(_=ҷܒ 'M8Ċ1Dp#R1AL/e5<:K]zU$F: \\' xUp)}A%/DIFE5yjM%-<ð%U;ʼ(cеjo_(-Xc0\ڂ.-Wi$Ԫ0obs-LAUr)_4 k' 8*sV-`Gs$ƶK+9AG]#pyPJ/UqQk ~4X,Dn=\nx`@#8Cv[UvD!؊aNlkޙ51Ƽ x( Cć_;ZLaP[5hoh%vUnt3+*,׎62U:f EEzY<x~~z.r@D$D@n(= }EU].%UʵS:G$&k,R {zUN>n{<b4Îoz,0 ^}|X\$;^xH)׏W%6ݺB>5X`TR2<8b ¤dDr.1ċ͏@8!"}N_ɀ*MDXe*Z`k>}P:]2lV$o y$I@TZ68>7FnO DW1qѲ] 8FG'2Kmwbow=ڔ S咚s"&;]U~Nw2,v_Y"oyùn3L*œ"&ijm{'Uk)J32B Sw8կǎ:.\ /a&2E{}Vfؚ*c(]K/{40 ͠@^9Yʪ$ &Nnb`hlJ+'m{8/x*ZǠHG_@@J wpb5ن8VK s9@7FRLaަވ>F5tD+DDs9pxvztryuzr߬~bJ.%FJv B%<9Nū*}],&ʿ}җxJ~//1~1/Id>F3mMEi<AbuFW>v6%#)}ɻrʑR]%gӘ웡fR~6[x[kY{:12C]zm3ITxs8⯑ޤܻK59,,`nׯzЗF|-?bq+e.+s9ܽӄ E4Q2MYt_{, _JysĬyTy"[fâ7Lq/ߪkG޵tme(YxP9RY xQSSƱ%…V JjdcY8 HSD٠Ia\pB.)B$,iY|/cȠ}#́M)naUz%?ǚٙ$C̗S8At:*fs.bs5>w] -…:z`QQ׍Ni| Ma2+ 5BG PHeVbn1Le|ey3pyC]ŨPmk5~ޞ~Fba&ddŬąT uȚ]2s3h#r}GzQ$&PRIV zkm0t;<=!ҵn*H -PZOL7eQ6sXd!(4REY:xgJJU"+TW_.ѾbT" * IO2B80%}r7lӥ=3RjQ⢣%FjjQT<8=(J>hj? 'O۴,i 8Eٯ-H>4l?d_Ӊ/Α]kD%/+Q˜;6V{wO"'cw/}c֯}ϲFxBǽәDN Nu"]ȫnjA7C}xsĀmv/z1%niRmIZW 048D{ZlvW4<${[ w{* (r=q9_uc [{# Sn7 !6x+ sՓlrɊxU*?PFQ╱*闑@9u8FB Aҹjsą4o0s{,rc`74).ukY6c G ~0YiE"Gn=!N@-WϬrݱmgt϶wՃO%+E]Wjmdٿ^)'+lPKIm_ݍL%gxX3Q?tO@? 5f=EaLJTg6h*$9zv5=C͐?Ip iԻM% zfd5rRS`!;]rZ ܭQf<зzB5 ԀBJS+K\tϘb>giL5 @ "ʖ-}<|_Zhڎ|jHxyꂀ@BX ux?qG0PzpNËKo>|1H*hӬ{f93=L AǗ|pѱ22 ̿qo_(Y35y|Lq.)֋mβ!Z7B=\.O @(ׁ*ŰCť ^ޟ(zdUA=w0E[1s`ڜn),_7o-/y?/8}x1$TP.bRCzN=禪OqRyq,Ol?aSW{پ[D?0Ly U|ʙ-E}1W2 5ݷ? 642zJ7|j Y F6'!lO,8 ~ιHώ}W%xҜLiB:_xRwPٔh*ܤCbKcna),>۫ZSaTdDKў|Mkd:Q:pH<>=෋LKEp1͵ 4M.m:2WQ5e)}8׊Çӓ㿃r 05bmݲ}pW SLly`\tm7x/t]}㭶WRd 2鰌ftI?t!y"]wu: SWw΍p;7N {^4V][apgo>A<>Fuا>J{+4#-;0b@a˷Ayv5OstLb I"+kZ_ݎe0U6ܥ ܎ ݌a3iٺ]Z|c5jX%M%n#5&4>y4f`+{j1F}yو@G}cOdJIY<@M<ܐJ 3-NjV[ofC? zR'!S N.ZXNgp jՃg׍Ak;}x!cr)K(]G@+JbPA|JG+*t׹ (;:vY$_@͗k?i֠$tVRABp5_ }'ok~Qֿ(q5G'{dUF"'ˡjH,]"^u-9`Mt{#,s?\iM4uG(mх]&Pp6J\OۈEXhBDo:e9OԪYGnPVedծWrcι7"3Y>n3{+)lbن&T ^U7|V4R934ި*&CU!zE!j Ni\|"qqg8^\_NɁ}IiCߥ|0# !`v v&Fa =wߚ4߸ؒfp_&YmgLGe%VbV&nD&lvex#;8oKb.C_=W )-Cp[4ey4g5cղj}mnm5c\XYPi7H _Nq8svassia_8D +dz(hDHxm4'h7E>c3otuRUܖS#nX[< t&08.mï]֊%pvNfIx1Uv&+s8Q_~IODf"s{r(iy˅p,%W#TU&7$VٗURs_a~/K(RDDͳyr*FL*۠0-.`f)nd|7qլBϻ~y3vYv(-s^|joяҼ5^{hJOvgßw=Jmq; }9*@nj^ #-ܖ~bWEb :MfF-1˶KuNЇF]2vЊ%3NiPޘ\$_iƒqc'גkzXLXԞѬIA&Obgv%V *t!p?n:@9ox|49+5tS@H YiH.L+/qQ&yr"yjzQrX Ȱ?ȗk&~ ײƤv\ϢdwZhVLL zK)hfYj߶2@*`cd1F8搴R!&q)Fxw`egm5% p0E(ˣѓb$lXATf4`X괏@o6hB˼zAz4ZSɈ;SQE:_=K)\iKŠď] ^u vR tH(Y> [n벊͵g65qƇ;8~o͗m,4)z mo5­pBi8ES‘MpUbMnV|VlP ,Åb݇2\Q552RgnJVRY{+Iy[Y4ǙI^;9Z^yҎ&g[2ϔª.o7ؠHv²N|y`yxwrM26c\fn _mLSd9qig>1OgZc4Y9՛F$|g|s|kw7\Ct5ibZ{觮Ŝx#缹[x)y\1$ps{khHۃi,a.,[]!όkKT+uP;]ƙQ4Sn `Qm:tj̟gPp}NZfs`1_JXQ( -4?:y{ (f0X̩bGJs'Y(붰xm^|FV 6SQnȫlke"E*rJ6⑃:ΠC)l&UY_v7VET[PWoZTM 6dm{!eB$:ֳh'tV,RhHb~[9/Ok%Ȫ]+~׉86 d t4U.;VE }ϻb$z^c5.4|o4\OiNɧ1clrë4QliHJ>A}ua$9~眎[:*c=RͱԫՆKrdXM'y`.6vyYBĕ4x:@?h]}o^DXgEhat9> 4O8:N uڲܓx' y'sf "T qw)7{at}y݇@<Bm!^Z$0ik0v`M뜰[,`r;`ony-vmPrc[Vc+|"?mjLG`/U).lNMנρڹQ`y ГlR\yE zj\Am+W.{v9Ws-d<_|E_vk<8Qm'P$-w%hȌl.Ԋ~3 ]c=ghX@m[JWWAs#~ߌjxrMnխW;cʃ{gbk^AUYbT.K])Y7i.摞2ZirP]i+o8Y,gJ@ईR/h4S] *H !NZRSL9 6(N%JcuZZ I_")w\C#[˿B @Cny"DW};pJFs'+OU&K,GdZg}/KU04>(Z'Bf}frB+RsG  :% zrp*Iѿa{1\lƏ~ oӏw_QGxw߻k/ h#}3$lq \a@U.pNdgv]F 8JŸ/>&eqc1a/.Ӹ\)ݏ U EC(+%M,w)^|4tƑ6=adm,Tj-g7VEթLDs% ə*)W\po)̼oO /B\yB?5b>'Kߧ?znr_es1Fqt:|%}:^ |{_M&h hĖ-/`G}B #U6qM61S]7|#LKdz2sGi}ގeӡko}x5ũtO?bĉRqĬP.7yD&pi\0> !_K.P> 9Y4wRkM N<8f[}Ps!WiV!15!b2| -=G$i|ɧ _'%Ez%(QOED$m"٘/?ުuWBrǿp Xh gU'|e绰W>lF uPB BVP\!avsiI$`13}z>07'F.sDb52I3UB}"dFE h M  sEw2m?-vt/Q":T u@yX ] 滂7A,Pr08*sx.'f M/"A3B֪3Ԝ>G$b4.pJe>qہL==Ù*ⵐ0t#(i!WӓRK@Ej5|^)R%c5+'"[0BLw<7RMs(џv=TH'р ݩJ nYnNj `5Pj MsD9YM.3ߙ/T{Hjžós(ikj&e2# i_iQU!ffOۏ3Ti4xtHg g$٬ax^<&C,dDl. 0"hӨЬ$mZbSDGۛ+0L)KZ!OHbY$fMeJ!+UkxDwH{Ԫ zkČ73eOm&o^x8DAt8m$wvEL,])Ma>?,lj}޺q= >:̀x}7? T;};5"fGs|E-VnY#eņ dlA8?Ff+F"4sV b1W0v'A>L#E~2[sd.(ZvءE?\Y{gb"M=I}3u1DV%Ed$Զ,!3ʨ%z̈tX±9 Lin@Q W3ȝ(+{$ FTc{)֙?B[j ra눜#@BӃ;ʸXՆ_V r.WAL?eAWNn;cĞW-p%' N˜ϩk٥ kK|^{ra󿑄[;;(:B1YvPPmc!?t^3[YEIe%B!L$گ= MK-*mlסh}U"焾"MbD.sec!Un]iලOsjKLY!N '_sw?o z,R~o DWrȕ2ĜHHQڝQX&|v@y$j ]aB L*k;)%Cx &=QAcu'@=0F\ Q;ևq~B(-5d^Hџ}:t5cj֚ZoU`d0^Z1XD~0V/4-2]CjǕ ^6OqG$Ŷv>AVRoFkpoa^cv<ǒ^.ZB} EsqRphvڎ+00E_EI{%Nҙ:y2?C!;yΰ\tN~Ұ#A`oCRA}ndXCqT<5 AEI:8W;"xa P:] 4*7c۱} DP$f6B "E+"[;A:,R2:[Ŀ{ljV9QRν%E#Ȭ>vUUz:"`GS ;bQ0(aI;{;fPjMu[p]XAx흇 ke,|vPhz٨Z O0iQYvwĉM&жA,5dW_qVS?` DH=,nS\) ڀFFtcEBڋLUb6nqf&46Gͯv K:X\~p5.ӅÔo%i:#,Nvo6'|GlZUfGe2Wy *7O`Y\aH8S݊4 3V]`\PHm6p$)熾0a! +k"u, ]rWQȌ&XR?'EX@ A} D }ȡ=]\&4QpaZ8rs7;.%x"KpRMߩH1Hάk6nS %}9oK P+M\and3 T{ rtvu}v~6aIgiT(F{)Onc|i%m흸'q2˧q:=,}tITnm/;eRLRKx9!Q<.>qͽn+̼] K< bInODk̈(A&OГ{ymv (W ]9@5UF>bHs:& 1m >lVH NioO;ULSM&efSRJv}8:0v,AFd@i<09(<莭yނp<& ʠ z(TSZZ1+=U,xBg:Q#n*@.7{`Ӳw0Rhѝ%Ze@{ <5 awح| c|L66ϧo=OY!pI.7z|j:X~X~ݹsHQm"FrtTZ1m dul͛a""*5Zp~2kDv(Gy{qb ɥZjzU92awW[>ַqp$͚8x2N2{i2j2^p}G500z6ءF8 ^,K S|XFc+ن+\sE0{8pBAF ^ WHD۞nAK` A_mBNov="hr>5*\Tx [A@ ҅#yAuXx9pIP+.|$K_2=%pn rv4S[9 $P4mcGYbdES-MHl"tSqZCڊza<)n};jJ|ZTw0u'w<GVfDJ6nMm8ck2CoARs;n@^piryt)e~`ٔTikJ|sgӣtL5I _%|exmA3lj^}"^]X+(4݃CD=ҥc(CK.VE&jJ)Ke z(rIƙuVi<-t`4V2J}8\]j2SMAR/768~p6f{/ET_ j8+?S}Ҕp6MiOucEjmo49$;1zvN6|ACAx㦒VO02/\DR6t e7( |ӜL舝5-;gi˕AP ^@A$KxL="꨸S3}U>8+U"j08@piEӽTuü;ӖvlUu'EMU>˚*I $]徶j|r|}4>OvZ ӑi빊U*ڇuy|oI{tr;NN~^L~CX w/PX+d`+!1V}ww'oPV㭭&h0eCR3X㳣㳟y%Hr{ZM "Ũ*i!a9˒y{KNb%{A\Uv_@0Ӭ]/XdHH P<+?oB|`ד=%0 }uiv7cP˰XuECxe]yIhI8':Yġ=*+@E̛>MJd͟Ε(nJvtGtAmLƳ2F/D} M.;D{B&TkvY6M^R #@&YL%& 1b!>UBԼ @Ls?emEHB?]^_^~>_L>MHs *+rR"cQF<9?4js{m8)O (^{ϲ  T}ΒP|ڊ~lWx'qj [k3` ?AmYMy58ճڡ&_]e^?Zŋ޻SзH|N\R\Jn3WJVmg}+#;EQYqZM?Nn4 G)Zh9;>W/ƿNޞ dP 4 ]V6`.AP5@?R?>_%Wഅ"jKNg1k~6(O'pX zpuo;?m}یI]mVQ/ W҈NDAt WS86_Ν/R?iYĪB|i^pu7u&#%n^Qd#I7QaC@6EG#)#Jf$LmLTE z+2;sv63x"dvGh0>3{G!.VsQK ~3~!j  tw2G,1`ҴĜ)nX!ݢ앃@)j!˘T ᛯEѭ:8VY6 {7_\͛!-b2M~¨81vXsh}$ #C z!,$.鮌s>tA3r S$V|&3Y"J̯X=8-5&p>ti;p?ڤ>x5 -4-ޛ a C!]DDAXQiϾNu_@[Pݡ|zDq"(LMUxôbpt H#T1B#dACn`1ݵ(:*o7j60V |oR􂳉,i5{.:c"'E`E@֋yjo,cDyN،I3?R2}S#ьHGMB-%V6Xᚗ2DIfymF-@%u:{VCh&@ׁDM>l~&R ` 5܇ٴ̈T2/X{c8dn_"t"2lI] û&u{PmRM"w&u_7 7&Eo1z)BqJ1^W0&~Wvt:/eGɚO|c-^V _;JfgREK`:ѱø1ungK2{EϼJw?n;nwe8_]:s)'V9@^eI `NFrP6ҘM!hql"6ǃd\ ?6xHߢB5&z(%(݃~󠹯ZTo&d-;N}[3-{/ܺ1xrwB2ry:AXYGڰf\ "|FV.[E.nC- # L$JAgP2P'{Kb6djhv+X|bя $Uӷ>=xWZMd "f^r&xm؄R8Ƒ?6' 6̠T[>pḅb:dF \t /_l#?0~'Wk&)UmrBXlNzrE~$`љlM6 NALW!9G!/?4o =<֠&#7v=|P(LuhZ҈4ϕRLъ]m( uu$Է ?9hF F&T6T4E 0KB^fܩJI+o[ TESe Qsd DžP'"4]Bbm2#/[:̣p,S4HSj0gWJok)djِ~ s&Cƃ68]43/WeMزqe:QT9DRZcU0-R8O J/!U>-2l$Gzv~:>}p|6_^~ 2x]*o.T-\Vy\VAS$;^,s-۴(Ë,\vC% M)t9ET,Тm) 6A#Vk#8kmZz6:xM7fpGj;q8˂C"1{4;7JGs%=K.w <X raw߼ɥ :vkXw!a!Eq4UZTŞi~![E8FVRӬ{|MS1mݾ{S,UfF;34yx8Z&jtE@kNUJ,9SpYKwJ"#vU aQRǂ#T ],̡O 95L>\GGWc~\8f_3 G}@im>Pԥ 0seweJA~.U0 ݛL3LafC}S]tۙփϧ~j5]W|*ЧZŊگ;v\X˝ *ܲ1h! f1h r]?{t6 Otv{(s(xR]$$#``/L&" E1n( @Zޞ?Gs.1ʁF$w K ( 8 ^BϕCNeF$#<7j[`xCZ AT>\4='0ÈǮIҖaϖ-zUv˜p"DʜR` |y7,p/*/10W"dt>^N:!& dϣ* F62J̈́IT"eLZ6MqBꒋ\y(bJ^`0`e1" o3kaA^"mp!"&J+º9<3uCHgk OhӦ#d\6q_?ދ>8v!4x6C::ܡgAtyu*A[bp_XZRlȯ) >ɚ{o\qat"Op”]"^WU;xiNՈ r;V}rڻ7DC 6\"FřʽȊ'RU6)'Ur4˗ꈡ0ˣ}ҿrƽMz70xGCjk^cdi~-u@'*=“~dn= iѸ=a6/ͳiLQ^ 8,zƱs2 @VDGsDL>|@} zW;Qy/^(vkq!O۽ath#2@ޓ,旹BьihMm05沓'Mb-5O鋽M H)†|U;ϏxóO''!: h]\ه>a>tX$`vK~0.^ޣiWpn@:}6>c#B"n/b w1vXy5fR<hLjJ<{w5"3AeۢS xMv굕" 98]*,ߙl ~钉vex?r%QВeq @KPjBmj*ڦJMHҌ| ucAmFR?p fdiݜl]kFw>WGlyI8~5| P0ߤb!]&g', zM.* 9}D[$_pHW k,"Psu`M|_F|9ibC.T_ t,]q;(7_ m4fR(6R60 w6›[Z'iBanƟ́ZF +!R*vw_QGxAM6e2BΡe9 Ke٤!wFLuƧ12R^S uпLS(1^EqJR-y2Z}Ifjƴȕ\WPH0ӭ쨄2~yamL& P<ҷ=ȏq _H+bsT~VszF T|űR/\Ye s@0#]f]W;(8K1qAERZL͝pjaH6Ӟ6T.?İ,VRB8V\Ņ3.w T@gVUnr}tf>԰,b!~_,Rߴu1OˢWU*ޏ)ͪ{_X\L4|b9̐d3{+Vb VMyNEf2q+i`6\[rHSvKpMȏ43B'ipy4={kg.u?;u⳴bfݎc]vtz΋݇bϘ~hp0XF]ȥjwEoB]~0Wƚ↞_G1S=-\@SH ~qRӜB,-WQ1~|hSpJs6}IJqGǶ4#g-s3:_ASYO5^=J_'RPɋRq+(I*Q`B7h@bLLLMjN| $*ꤲhP9 edqT:;H,O oETjReU )}ՑU68&$4$wʔ>.N!HUQ*iVb) 5EAZωy@֪'BˢBGrS 18n/T`.}5k5Ơe"侨3\CHƔ`H}A&}?2J7JCGJQ,b;#8cO4stS3KNb)NG S!x_CJcxSd{[36F);#WrMy/&}qw=.ת qxDـxmh!+k;W=&@P.]$(UhX%rU(jxgNQ0Bz賓{h`43J\Pk?$[㺾)~|w[zﲥ ¬ִrk\è5Mo듋m hҼmkt밡WȕjoBj-]4=vS?uWFUIy;?oq}[)L~g#wh~"YcI) p3[Gr=q_twkj=;t'];$v_^'!.Q4nOB;`H&17Wr 1*2qې1uKBY0V;] C@Үu1zeeP:S-`Ug:Nпѽo2M9>lh8=B)s|y\oiaT CP,^> nTP}o ]<|.~*NY4 ǟz6$adUt%Мb+o**:J|Dէ5zK+ |Xkff#8n?Zgh_vg5K @Z,y U 6 5TD%B`zvöq6q҈7`?JAz!g2q+U.Pf le|)֎3(n t w^FKqOi&3>rl6d: eAͷt{ ux9ACE> 5j1?wq vBݷ b86|_`X(>Iؒ1xm2~h^h}0t]º1Q(YF VؒZ+,:Bj%Ԣ#ųg[ *eM^mD9kg$Nb iӎ8K$gC] 3nx;`YI)U(Vpێ6i,N\G}Y$lD_-~8͕+iyc A=( P6>"H Y1D q܂KZ`+>+i3"";wA:S j8TCLubH+#Pd3o%+w˕|V^%uLpu;K풡xb*RR m)_MuփWhGϟ ݹޥұzhm?E2(n6w\Z-3c܋ (k&Vv JRH܂\AJ~'y"CG_CTR ڌ; zK؃\x}%8'L9?ڊ|7 _'U+-QIe:u0\"<]UN!0@ 茠JأM<@&X_ ,-8n  l{ y|VyX;-P䜫m.Jo g,(HkmpK Iq 3eݥ_=K~0LU4/$Vj 9+HKsum9o9y%iYEO;<FQt - ocwnjZ072S~2Oq`7ƪg˓B,cCIcA #VYH{sY 'Ovծ#^d=w-(υmi'NԐO66x.Pa̺"";9 4rQuO%_6q5drzg☖AV'Mun8&$y/dfv} S$U:"(F-EMrQ2˧q:o3f{#yPeaNϵ9\"}h2$LURDy8,Ҏ*1W* B9`QqlXӻPl4kl&{ {zi>XWCyޛi @%Zlżⵣs'& ̨[^1\u"EzP;W!mk0/j6(pp!))p H1޾ʊM8@#ng8t,3hob؃@໱ol.mEO>5xw|mA{lP~:>><:9>(  ˩x C۬)dLo}]5mnuVg>t_ӨS3!fnA9H\G+":N%2O("WȮs6l!xis]8ʰv4"pB{[F 3?2bB"(ιZia2 .)<]fHs!Ni([GZl-/>NA:RxV:Kl.`BZX>2Yhs;ap;e@:mAgiD/F݆*^ad * ~ S٨Q#ntATKE;'x ~ѤǶ4菎[g6CԌGwd@I ` ņ>zBpH2H`'NlZb^/g>.AA[Q9ʺsE9U,O5J۰;`fGnwз v]xBUfZhHBe2Pa>PE,:\,TO rXc?K+^ZOmj6Sf 8m. K AwY|ۚQR.n~6/xUb9s_ǁmоέ8l:l5?j!şSufi>d|`NT (uq7w']Y\j1oxJq 1(zC ~;bBV8g P+F1f]u9a>@!%vuꈗoxx«y``tf2!詿VF-vv^vo/ZPC6TSu_?sOS&r[h?D2Mq[MHr/WG_F~Dے!FrھD]k(ߌx/h囱o3~^}<8:ߎME$s5rt|68>;{?IdCWcK}/l+E_V4nDugKh&?GʼnEa.}Tum>ON"]۷5BQٯ=]~h6m52LCЩY [At}!_Qz4P(QY=Jj5Uľ6^FdkBS Nɠ ن9Xk@C^y1T+VY[41(P#e;)&}"B8(~]ksJfblI7G-'*pO˸2/ }IC%4s^ƪŒN"{e0&M H6~ȼ&v:<u /PVmS{eifl3u335l]a&](a gVi<̦++NF)ʡuHfi 0W ow21DnIK٢ToļbYL2#TIo TDp.^uc+ex!ڻ lqA< rSlzMΠQ;nu.Z|U }@[2.L3O;a2-: NaGқ&PT#mcxjP<5T % ?6ĕ5҅fHyI}%e krbhgpmq,, JIai@eH DЌ?~ BY>> %`?0GG5KR҅fbU6&*u!HNg#mY!I- QqY*^Za>E*g6L4SEb5D&g$@0P~ X=pXDp ק4%"ͨ#LMZ[/PY4W8t#hpaچO_}yI 9ًS;Ha\v6iVoeݧ?[M(JΟH:! ?g}h6&Zހ.Aw̕.BcyMB$pEQ? ٪99d؜1kye\OQE; Kn>W=@ĊBF|\86R7AkI5PIgU]^.yx S݃޻dYE5,!P+ -h>DH81Lk yPlJmLw /&> ioA_ T,-*Qr ]Uo u]P˓e!V.+Dw9DPVͦe#-3 i[Q7+)xtݰ XGN&X1Re\\EnO@||yYOAهv~so|1M@70MҦz{ȝil/"bա:`Wungg{:Gy3tT;Fs`JYF11p}a 4eu |>I;s|* Œ` T|&ʳ\u tƹ|6`|o';zá?{y@jbbH dn)e _dROڷp(f"VM* {kf9lOi$`Pf#u*(i ?Nv-6S\B\'<7EaĄ4y=Z/,tnK {qN hsV'f#Q,bלBw§%G1n'tLX*t&si_K#gVa(}hmd֢r=lMj2Vk v^DWF'kDIÚe,sh$ѝJD:u"E2Q v/GwHã>DI1!8u_+EsL\ǰ,bB_a=O[%Eu~ 8~'k׺P++`[zl&Jdiنw$_F]ác+6k$X 5eEƷ*9 ='?omhz2YœэwZ2/2뺽bf44d&;dٗj8U+np'U2oKVz6̽n9E0`НEkx@t"&6=` 2<{{b$6~v>AtvH1Zyiryt)-g@2eA%j hF`pᧂ<Ła/|\o%3/!4_,w?ŸC?U+(#PT2I (FsS:ۑD$/5 >yT1J6NѬEɲ-Y8I;ApIНohHE b}km(g_ic"LҟLu4s_w u_?ի;/Z2I{{WM͕zڤ#^=KoU1RF]$AיzB a,i%ndºֻV50@߆*+!&XgJ| }%XfϾ|vCC05I7$,vh@} btfr24#ɞڨ4G[+RNͧnq֘(eX93tpGSJX[SY`(ߊvr!(ճ7AnjG\8H*SW|.5iMTxOU(BܛWHnXtx1<]\_'^X},ʡ[0k{yB4 uKK`nT Ӻ2+^ХLY?KilzjF6I*;~(r٦Q:w&bmd:#}Dؘ$\ r ez@>tIl#wgLCdUtS\5a?=Nl6Tsٻ68zrX+κ6{6Hk//_<ΧbڶsڞOGGM{~Sv+yEJ0nvhX@IU q}ܸ";lK9#>%Zx3yrȳN9(Q [-4y-r7p HHt2(ؾ#FIfPJA9bL!i''Wfam4?gn'hSL䷱#uRta`>=:ZHV̄NըD^hpףN'#:$ђͰYojil_2N0Ox}ق}9oh 78 jKLiS\5N\ns~/+ 0K|S*񙂤Yw-3`=ͷLY̡թōY=0a< X#Ľ sJ8!Dh7 %xl([LaݾψPz9UtP>o)! ۩2qTLE>'^Y{L6EN.^_+o-0},d6vǝ?:Nm޻ l:b̘&e2 fIµݱ `o-P JC:Q=3V +]SK& u%=B[uvv#kp4a~=>wqnpk ~<鿡B=ćzNx=GqlozLdr (xNq:#;藊  (gm]4tie"Zb%*UrLH\1Gə2a.xH ʛH!`DLUq(9f+`1ul͉(\^:uiÑHy4- eɚt5IwSFu%IaڑSK[ i@\oZOKٙ).5ϊ}/](3n]q4=_՘u_7yCOƚrrBKe4)kj+ 6MLn΢]HY BU,HN!'h*c߾o:Lp."*"=O#ɯsƆ-^SͶ;.ܜ~˔ LhDYjԺ"~h*ۯ[[1{;(QD̡D-'fAY֬Y9>ߥ*QB#4͞tYʅ!]_oBh- ϟ'1&gWΒdʥGԘfYA1 Bo{w}i[0[ OA"L4XV^5J2{롪7A%SxچVfO9^ٻoj׮BUS@c֤p]GI)C`M>;M4$O'&dw];%XB=4R/LVGMI6&-픲¶>k%`S Ay_xsX =Ǭ`E ~ٺv7{wew`*iXx  +w5ǎjF,}<ɽ2g@OHҠvǓwtcc!E@#e_IQ?wSΟJ]#FFN2J*<ɋ("l#ALpܓU'p4dшr-*\o;IR7ֆ7+:)'O.۷ZeW14iqJ5<!GBq]&`w`RGg&1bWP=-^|gU &65fxu#&Ĭ;ʼq~:|wz3,)E'#g3Y "UU>|tX\k՝g>u""u[,*Y<™Fs|`CP4 *6dn;Usz:ũBZ/sZO .=AYEWw~qsuǵu^F/Špw=tBV8/8CFǾĝ-k8ƪïw|}cm՗ޚm]Lb: I.JFc!ݠrV(bBa`>/oxOea#U&eO 0zj jFW4dLLۧ_]8<אv' >"0ཝ0'e.ۛ}%43W5+($;(@!ܴ  qu7(xy{8"eΆwU6E[*%B|sܚ= ~JEKK9{ڨs :4St* yH/LNt=5LP)( 8KmV5wvTKnnW4I\/"ck_O.cA*@XTq kSQ:=‡ '7IYD0r7FBǽ'FG7e*{xWeݺ-<Ϊ6\-U>Jubز?щs7UxcYr[߯#nro,( Ӫ}Iȧ49OE9bL0\xѯ$mNnZKͿT'N$LbFk\}ԳoQG@>&܎SG֜AN4ap"-#="9x*Y)5M8g[8V!`F 5wrA T$U,Fp/gM R K5L|a,Bf-^!6Vєpt-:'B)ʃեKU]he|kab}|N<6Gk ]NZp@{hVPAM ZTwq22_%Uz3CC84n@o?O Uѻ5DߣP. FiL7Ǻ. ìDP8\\+  ~W%ͣ # V(u=͚sbTnb s~@!tpX!OpՄ l!. i1(Lkv%}59tq(|imVŔRx@L̎Ud mdG`xwlr(CenͰU`>}bs,3HMih<2Rͽ~h*7ssn}~ԉ d6sGҬi bʶ28 J !ꍗBR: wUU>@ZxjG%τAtObp7IRr+zB擟_7ږbz6T{; J9M"|~,u22[}rWb$Yne0$Z\O^RfC I`G :ěhMd"l~Pd[#R6=y?:W٫%ѥu[fǕ$$:VEP=c1d;l@h[^\$8[O%eEd8tL|wq^ޚ`n#3s7( %K9=B!zv_?+HYX^7872o̊St/e,ʣΉ0xc-NOG7{X|c>kM4:8l4!? ?L۶]u6i< 캂W>։/rr>e.fh0A_T`vi4٧(:T=Ȱ";`'K*1x&ު(.y&:v)6F;mD #]gR1-cWbZ.,,|OcƖzPmYM9BU7Ll*ԭ N0dXBm,ԫe֍omh]I+tjUl=V[kTbbn!Cqi6v_|mH oz62s߁);:Ŀs]ą_m͢uσM/y{6 Yx&}qp#.3 Tp|c؋ӱP` 8[ ug!XFٞy6Z4呍~+y9C\$ `iy3jH N7 a? *a$ j};Mۤ+BI~TnUʸ?L܉Qaw*oވ JR4z}\ Hm]tCzc ,k혖0A)twf,vWEFn{i[iꞈ}훅&s/ZUuT2g_v+Cdz8Ft62gC)H(Kt,U֔nS;m%`{7VkuAP6V˫ڪAi62NO?t92?vM×Z$+L4y̞j8/tVB& їtIob^2։LK h M/6\hoܹӜhXCh8ffcc0:~\C*8m>4EG >Mt1tc xH)ZJByU:s` ŨIC|E0!kMl֔t2hxl`2`ݥJ(YH#j9#|q5,MrP<LgLg{]m;EY7O@aVdL\k+Y5۞u!JhTNǍ*mɣAF>o2l6,mˋ<TKWK9E1Xcc[rd_/ʔ:N0`AhͲ:I+&EP?H/{yc= Cyz7CXY?9`1Orc 75!ؐq';Z YGa.ʛΓ *0p^̲,W s͏1^?8rq<[]\}_鵔5gyrv_꪿j)RٶVQKu;KeZ٬Y0xmǾٓ0g@,v~W oUV;HLǮ"c߼oYW' >z 6>J^~}цԤfV (D9Ev:TK"A8q&E PYv4W9sE_5S}eYqF E IKȯ]ggt s)3dc/إ_5jM5d1&lHmxaN9I i>*Z$i Cx$Ӓ(X;H=S4xrMcMT  K_4!hfoG'k$PW^W/9š2EOoACia9{{ #{ #?r.QwQx$y`[vH?<"#@)v} cRtyczڽR#]ķpmQH};?e;Rg9hgn" ?D. lj;Bۛ[[:MsP a#3<cPdzweur8\7E JLivsg1k䥶+vKc]Tc__<g:6 j#.j$JPW Z1 QW˚h%5Qmi 93Uq>O8' >Q$lku?!_MjG=aOyXPg"NLt5ۯjwzߣ&$"l qrJ ]>e2݈4K)Jj @E@=OGiT|•j,m#?Y\m;WP"C12b-Uؖuf巄5FvF96t:f͛T#͚ w-WEM( YætI!tFq~qr;9 wKFqWo󽹣 ʃIJа;"X!9b4%xQDE6Ej,ƍbCKNiXcs>6}IQ3x.HjwY$",B=R͒!*GކD.؀x'ƛOI=+2#Gل&ZIIH*.a"I+%?o:O/.C0\K|`z *ysoi\uvfnwa v܊KGh19!wc7󞒞4uZ*t3nU;Ӗ5Y& z xj: Wj NrUI 4ߴ뎼׽/[]K ?}O;&J^oy, M}sCSc"._D$,=&W2] cZB0s $zg,"~SAja#LQ+8!> 4@O֚=I£ESqDDe+CC2/-كjX+ŗNYR8^Ate8F{wKiOOڧ0%QŏpA$#e[?artax˛oϮϮQAӖP:J(AQ(GA:#X&PX")x_M۔yQ\|ZA. PNtCn$}ؠm0@j4 @%~FlвBd!)~e &ш1pTD%*\k?hTB\CW!nL\Ͱ+a*SNJ1rj;Ai˪PMi._brDFȒ@_EuUL@@ǜ?lA][kZ͸ݹTy6C5\jzʂP^| Cjo /AT?L-N,knv8unqemFjDpz8wfs7bD)Ci 0-:v÷M90v٨r|II2Mxqy1D3y`< $fH2h*X!xc:42 F\* #5 ~2zy$'oו%OuoA(mm6.4ypĘԎ:Y͈FmPCsK'p]EV8q/LHX37pB.1_AE}EvǠ}gd ]RsXS4|-c>ˉJ 3*B#2tscD~&L=V%] 0tXXUJʐXb}-(pgɤTk+ X/.-D}f_a=}Hr= 3a׺jasmu}n\HXHƚw|>8pS!&%KD prka;+DTSpA6˳-OzCR]ae4wa>U1#K=(#' {"|tAB_ ͋P~ȓ4KnOuP.-:aѧʅ i\Nx41O'A4ra!zF#qaF[z뇁 d!2הa ?w"* E9'mΙo2Uޥ2\Իf5{r&SLD(=ΟT<ҼTFHvTif'1#%!فќ=)&ݶo܊/ߺݧ@ f Ixf8RzG\ZsLCaiyf-ϞWjk Swg:c#3!]V ;o!ܤIZhͅ ^tg}}dܐeC手Rq"cj c껇a#qvLϢPw4$#; o^6?u^7/nxD"{"Mc5"T?;޳d8ΣČrx_ v̹Nƒ}X\T}툧1@@HDZ"Nvrބ}4CBq9diPq(س*'P0bЄ~Pe{Ύ6@3#ɠL^-l5pybQS: L!*N6;R6- ֙M&QyG MjM+ _ۈox-옚VoN89l2 8;9Biqhf؏qu#/> JV)rC~[JDmAa=/d; ]c!/ G"~ώ2о\o~12^]m*yé̂m}Y ԃvcz+Nުdea"zk7lشKwcH`MK)8A`ԩhZ|硡mqQ6w_ g itK=޳yvmNoY.oI#Z߼ߩc~R7!ث<GaAcJAѠ61 2L͕ދG-v9n(Wzu-m>_͉uK6YX=XR{&μ7|lӋ]vΞ/qt|x#D֨nI9$Gt^j̖**AԈaub-7OjSk~0DA4JF ;UN ز3J fѨ B0|XST8J#x b_{h4^[KӨtK(h`&`2㑊n7[Σ- iO ҫ|x䁬[) Vfj-~kPenS6ܤNnҙSmrDޕDc&_ 8[f(>F\4NiͼU:VȫOC+l?L-p{f7ʢmQFK'ο1\w,/\@vm'EQLm_=;9\DZFUR|v1w?=ճb4hn30N'ښfeS4ͦe阗{xl!/begL::~T.|79x%V] INxߓaK|oL_k)׷IpJ,쫨0ܘJ|M*,&ZE*汯g毪 ;~8KT7z_vc#l_ƴ`Voۃ/lzo1 ɷ2$"^ǵf]|Bw`vqGkͻ-yjV[{|_oݪԬoDms+z+H^>i٩x՜C}v-(o~UwqOD6R|-T΢xh4 4&qI0PlVSHRP;TvOSJ(B~hr&vcp2c0lHq=]=˸EzVSha9ܙg:*/[Q,i?8N9 @vzD9\MdHy\EKua#sɗ9K'բ@,Lyd1C`CmW1IΎvɎ,mˁV leѶ`X jÂfY7Q2٥X:enOrKS h *:sczì "R󿧦ipn/ ן 7/=읃-$ih^GO9Bx2lBoV 9 !|13L`^Nmpsz &Uk)vO6ۈ`8q4(:+]RRdxBaq@%W}%!}+LNOF NӻrʎPJ r]LdG@0]{/{˻tTTr^iR8)PAzءU.p6*f+ `ͷȈ@|ujcl޶Tϸ5 9g̵YPzL- '˞#Aͣ]yX lnV’L=7tqU#þ}b^fBxٗE go3.̓V*u􌖐./~sDx:>z<,5qwY `@=؁\L[zʸY#iL'z\j%xc:ךU U?epb͆oY&ʡ#?iVlV<;4Y_J;-}^Ƽԭcy?%sbKv=f]<%CJ6 G9N9`i۴t>@*+r]EYQ45gk4x~yTܙCIAhW'\J{=Q]&`7g݌.OtVFHFB`Yuށ"ē|2 Nz a HҤ dQ;MlHiq̭\Wa i4H3+jlf` @^-q И7n@+"-85# ƺ|RX r٭b0B()pf=o|(Y〿՜&6c.RwwCD SOyKAެ3@wj5Lإ\Y5Hg(ʟZM 82y2=3RbuKX0*l` uŏ/jTP. !D2Fv@E^ G?9Pɦ_sPX@;Knws{j1 vS>ָ eQ5T遂5lz32:&;K㩤Yisb _=F&8@XnIyeϽMop}m9U#Tf97{Lᛧ Rm~@)'w\s&E^;L%) 0SRg5 Mõ[dT<'Qp%K8+9H-u\G8 4!s<-HhxA44 F> ?k`랜Q ȏQZ!҇Pk]AIMcpkoD@d`F|II0ey`;c;jK"X?:)4)ِf0sQE%pEo|o:TY^ + $4='0q[_9guF ƒ_ JC!G! zXU!{=DS/ok#ւm{Qn,OS:7C\hYfP0z%ofNH -bAF5}8= W'g+[r!Oquso&68,sMCVZj8>N] rr>&sDf1=L-n$.U(SWxy~vF5O{0"t?mz^.^=%CCtm8pj sϒ h`IGFu@bр9qTy#=J\]r/,!ݏ¹`Cܡr `mNy7B>x4uug[0aR!GjK?+-rb."8E_ќ+L@1)R 1sM'ЗZU&ɭ)IΠEX@x8W@5i>c\>+9=|;O@ EN"=hVMi ha76u/f&:'pUxXld)LyV䣷Y2wD|CY‡=M*a51:R~u[jeggZBu;2Uwz8`F44q!1;P}e1_z6R=yT\ȤN҈rjՉG 艹YUQK}߫{%fG"(&ff-c6o2O|e0pkyߩ0gd^ufM{^zwYzRf8QwVTjk^lׯT^VMOqku67U!ci3ҿn!T')P&NfԘ7qqSG«%IM|5xT/c1o={l C YI=]8Q?hmIz0@IZ:6| VBJS$n v:I|X7i;|χ¦?G\no R2LckBk_]FTs7!<}ВS)2Rw_m~u6)Ӂ4I#{\yDJl`_[-C1uAL#]ķ kutmxh: wt l@*^cK}N?;[Z_syOJ>!RA ZޫNg#,(kUP>ҟek#?I*J{^ӯXgj6NUyY&Ϳ#E g5᥏J^^M˙%8]X10H̥/}G&Fa0aKIg+RvS\Sc@9nf **a٧u1%Ac(.ΥG)&V׎ F6ԇg8C[!z*r5qچd;W%W$c#<ҍ:Nq.D%AN`G}XG)/氼~c!љA3`u$sRM+USsslov{[o:[Aߛ,A1›[2Eh /3 {HQQqܔO,%x7ȭW Ko{|)YjH.k{vz 2Oa4֬Ϭf*H: xc΂HJ +@~Nv-( .J 0tDf p~&nn`̆9E<"P:d>-7 9LyW`<{|M?!'^Ee4睗Wo*e@a`s[*Ěw8=# TDJbP&irRgd fxH+vؘU$•;04k^^Rmۄ͌Udfx&jߑ,T?p{LǮ :0}٩1mW 6fM1uT/6eimvj#V*T"VﯳS&gx# d%9A鰊 %>ijK㟢I?O?ͨB a(ց:T֒Ou)̃j[a?sKqwk=&mͮBՓHł\l@+T1 j6\U@,/+Q  L~|zRv.]ƵL? OAmӅ$I1j =e@2K43oCwEΓD3nب63״ȬԬ~$HЄQ _~(W@C4h#%C}ȵ,6ʙW6FVjGga4(dt bO5W ;V4T,\bkǚ"yV0bBC5"Y3 _< h/xEI!#9%N~Wb|QGy-zH[_ce_~FQ2ľA~=h]+K =hM"褱0;>NgXv'ܗPc0+(7'fe4WgI5(26&I_%ylX'G =$&Ԉ!&i}G$iZπH px-WPK!D6{]c&hI xMP͑HH8fL1 UZ|9r,qYJ6m ?pf}b=O't{k|& mA]qj_aE=t[ , KqBY{ J@Ib(o؞i-G-$+5|4lY Y%0ӘI?pzH$$枔4:A &6˧ ,.Ϥ;q³ <, :D >m:)/OE{ :ʻ#`Q ,٩תlo'㳴+5چΊ4ᕀG#MO?؅fiQĠܴfB-2Xز z[Kr P F.5M)!xHlf'4wU"M/ÿUܶ4,\ߊT_<e}7-R ٦8`GH'Ayje'F6H7EvQd^~ ɥ,mgp l\ж-mO؝\ns:I=n5[iJ.ds0b]`I2VxckʭI|  ƀ:uK0fuizwyh_ԝ\쟞rsk75uGOZP M yalo7'?\ Z_$&wzXN/QXJ$(ssC(Eudz)U.;͗sp \]C\q=&T'J(OTicF*^.A{@̀_ uiTu7|b:faqٌMť+"#BQ`s7Że𡑭c F`qnD۳@39CKmnI9TQy uѤW`A]: nrTq\8wL!E_qph USQ09]C3̋2FYYSP4kGy ̦`A=8T"ZeZtF$U?6Iu$@we\$q*48o$s-@)t㌮sux9^_'Z%Tq'#HY -T̚ bVߏ'e?RKCJyAu{lž)t Zq,wAFK]\_߿, w4oJҏQ~!6|`PuPWT#6|fm<~ ާ#L E,^x醺tX_?eZt1L摡= 㼅-C/} F;QigEJ)|t|ۯ0qM;zI _$8>sԓcr-i<яe81F2$аVO "  [No fu'Xt<~?ACqVI5Lh ugtTF>̈N}ѹ? Bl 6[fbC6/G'QfINj! o,5)R\4Oqd:x兖b"ya7y)pҦu,6=%Wj]nj:赳_!;N sR-/7!X72\W= q;߶nwꋾϢ`*+fPt'g&d1}z?]>^rH%6`k}.ȅ.@>1x0u2H\i\RdR;bNBHS =G*"ͽ6Ѐh:C|DekH,OqLex{nq(FHk6Cox[@~e:SIt嚢 f/ A]5h2ziILCeZ^Cdۊ?Bl9+]|{td1h8p#8gFOY q:?Ͻ9-M 0 __"Sˑ-$#2i4Bh A1M%$$@חǍwNִ'gQC>Sh};MrN8iNj窮MڻuO,.S}עp]SM' & T$i 櫍|)N[`q᫰4\&Tf {7#k٠5GG&k袤Q~ZІ4H7<ouji#(j< o1pai%ppVEvS,7&!Gx7ǔH~wJ󃇌JV5}/oXULhGvV3g}Qz ⶺ]}W.ڝg\`{ fض7R~!WMp ,`4A;WF:oKͶ;̫_`~p6Z:8/MuRFJ;DN7Hl !I1^L(U ʑNR dl Əώ78usmq bXY^xo31L¾1@9Qԟ!(^p g %3g.[.NT>P0? 31+6I但~qi@IMg)fS!n2'3_8*XܮW\XF=4Lة&!]A!5A#6 H] /wqZӨ(/XLZBsO|&AQ#y!9=g {``t\hmUE_f7VĂ>Ns&%2eh_8`i"&$ylKD+}r6-b{\6SRhA:F t\k"K)ۙSBe<Vz$?lεVnNω>*6[zׁ>y.ZæJ=[OI'Hr/k՛%!0GCk+7W7;6$}:Ҫoeҗ wːLxu>Q\Ā僧9iD":,jxJܥӜϒB"bdviQPKKK"[l~:sJW5xuy]{*G3m#ٔ5x^kQoLB8W; W 6L:FIg^4ױK ӄ9}mZf:6zo_]Vv),h՜SΔciT$tƁQ-2sZ*C%N8$)ҽOw.#\65/勛̺yzR1vIqvs M[!ixf9lAs;a^ iFj6~ڇ^zL=W5 gwMBsfp(𳹣_[b{Ss ȐHo8n>0]b{$7Gv4&t["ɓOp |_WrܒڑG׶G\s|LPRs*}kT2$SKx8 a"IA] $h&ADa\Ya糬69P'/xTCh{ǭz)[2]֣AOڅAshk|4.>>nVxA*ۖv, ExmfO6Bà޵jF->ƌ9#HwkU[B3)z8#>}vg3> : ~ l~PE p?T`}V12.zuHo\m#L\bUnNy n"ors]D୸( POyl#XQlwQA)ˇ?oT8ڜje j%C hF4Oqb$_O''iQKJg/0Je2b&&ѓT8WAڠ鬤'J\B* ծJ\P?|' 񜔉fy e a_ ,Z`q5'oݥyb*]dX)`C+=iY FQ/oOv< u^}5Fu<ל)3F5ΣDDH2,ʓ]DS:c)dC)FTtኃ(x4&JVEV[v54 e11M-bpmҐeeB: 8 afq#Tj;&`" P:[:BՍ(m"ehaXB%y0M@4WwV\o]|-g1SĠ^{Kۓ)YDp~H~*Q^Sn2-ͲWhAZ{la+ʞunLƸ1ΰbLΗzV5hPK1j?v;s7]]P }o@f%y}$]"r´ZLXS3_4/j}/6ޣX"m'c|OuAs-`Ns&VYloe3]S* aƥS .hzDR{iVW+\fWaYMBCPOobM%zzU'p 4[Σ4)YMeT..7APpsw-i 9;*MSzݖ=k6MuT>-ŋlN&'<Ūo'xd <9ri΋ܲ{@F~`UEi^aWP f /AUM287HR8yګޔ2#T@rZu+o@Va!*WLmVpĜO|fKI 'ك@uP&5Z?xHn5H!rϨ՘֕:.{]XXc ~6.R;{Ch%l2R9M0NN,/>̩w!t![=8AmAuTPzebUnapkZ+s6d-˅GėݢipXaKRZ}ȑOѠ̚d XM+tGn(5"MiL]LQ:lyIKdW=kk6KLhM H0) <$JMS:Kj\Z-2#0Dfܿ ny= Q|n-Kp"1CrOd?|>"n[KyïL`[.v d?-5.{DIi 9%:{|O<!q@pYXbw^`^n֝giAjƿac;ɹou:hfycހX SHib();I:e$i0 ,,M 9`bV]%Z^}):o:^mC̟xpr|x־_;;;X(KjP*bR)ə#8%49Q~&wCT7V>Pm:F-R80 ЛL( U#'3pi2X>(m9%^B.`m)4ϡOrKlGD&!?,(/&B$@qEd}2f퐬VEq]'t:ZHSjbʽj-&6L>|kjۦa8+*G'WP"K]dkD (E^$H^?HLB=(.aS޼믝pwZ);K Ei5qk#Bό!' 1 bQde+Dz XW1SΞw#M BS~`:P؟^u#n#ZogJVJQcM^JÞ$FpԿRt68nFaa߳ i) sj @a$k02e41w@Ĉ?cs*l3뤾esĶ og1DY/q].j#F*?x~󆅛8-߈Є0|P,yk;Tq ^jupb<Y e_БGpnoV o\I4 toutn1雃w2CB5_B,a^qm넅WK-Y„)kAeͪsUi ŀTD1pdahjVڧW7k;NÐvZוz@Ӿ~(EE)DQ^b!+iL2qԇxpz!,L~U J5ĭ]`ISuvp >דUm׸c inh0 xiU'^lf~)Ky968_M5j72si6`%EgP?%5mA%GЀh5Y@4"f!W4ا (o]ьDg_ '8wy"j !ۍpɥ۷P٘I(z.{wcUʭFDj%c$6VXqu)r1n۰-ׂP"**Ϝ: Dd9Uu`xʸIKJP0CéƪzG/[]rpUb9'%@IqB͆I/ #D9<X&<?b5'[FJt76Rns!>1+0)1M OtgR7&|jg&Ӻ&,* jWXպ8uԹ4#R0" uTGdsxz9 z_>}ri?qȳ:Qϋs Y:'MTtNxkϙޓ 2beE>fd%#ĦEsd-{ȣ攭 MjޟE.opTLrH,-Bkd7]zboJR#|PF&>nA56/w7O?O#d&=9x(ʅK^+L;JP}WJ*4q Jw H -it_=H}T^˺ Dڐ'Uwmo$k =Zrȳv(BT|61}l/Rv0dk>ͳ[]:Fѷqc ̣5R)k s3@k!CF0tЕZa6γZߒ^QJ44S ճv=E*ܟ|E69ؼ(XV+J7&Tݠ !J&vim2 O?~8:<:<x ɚyn F:6Bh|WkkJ7Կptč%x57qӱ%uWmʘ^ՄnU@?b'mTq>eJ8)w?bD qJYg v#_'XL`iZs3|P%$IxMzX797fݖ&toߖLxJ b^#)(Cgu{C+NS-r0iA)k$$)S+󡲾|b.fb#B.uRBW6#E/ RXBn~x6_6n*N4bxz8g=.F)> v>h$R|9EF^ނ6%dq%%cs"{@ #?w#\!WyY5d{J kE@Wzn8) .[nhã;c7F.pu* f9LN lQ̍Dc* Y%Ϩ]*hgy6~PHS?ZRmE=IbVpfm(@ D Ou">@pGGmSk'14MoiutnK96 4ʀ*܁~'YdT;&m.A AU%dH%oc8ĭA?,;p'Q牴=7]Y |)鑽Q#!b""+N t$ɖ9`?IL.7c-̎|0ہ>mk5C q:](I4< Qpo j_~s\x֜6Z1i]:h?'YRA§y⌑ g]-Gu*UP-5A^n4̐WZ kMAhXчwzĸVC)3e\QTUSx!@b|aŖt@ ]%Q)51*ʨ% 5<{P-߶ F ɜ U +"an ^$)W{$)ivTee3`3Y0ev=Q$wf5 ICWshw)A\*KMd(GЂlH: SدӣjUIJrd;;h08X6 H,:gIWmkQ& ^@FMo>hbC^yVPgwfk׏BQ+XU.GmT{Ɨ=6uVuV,?5nۤnqU괁ޭ>FlyWc9d`c3׻R%NSʪ愹lun؜ IBzgUrImӉ=RE`71݀u]r!SY.+(CbyxI t1\>{k6ZB?V o:|DO}C M}@8p>D}*f0j &"p29j7vM`m_YM**H^!'L'80G?RePQF*~Id_.f3/H)V)0uESDYjb/>. >{HXKHPNyAk *!+bƁĔ3/[ gE>Pe͍AnfD[f]0AE>de}в}B$ zFn)ŋ-“ǵ2B`D Hc` ƪ:`ޛG|#+#f`_D$6hS^w,M] i*i_ "~wBN48s8 ž}bOZz5is0&_u9G‹(5>Kщ B< [UAaÊ:)PTE-Y ~(Vx?7uvIb.FS3MIm#l +U#;]-TϩƗ Z!8!{ p '˟ԕNgZ(o&:=Zv;_SR (z vRusG_ QUbMPMmsm"2wk5@oZ&K;jYY1]{$]ng) >={Wa[ Rhv> ,A3ӫM~v !ʗIn%# `o0-M}ق!uPu77 @)[8dy1Tc\mp iR\&mH Z GHS faˉ.7y t5oi3S% Z Û!T޼L*+rˣ3".{gT") WAy L[ea 2H-{"n,%@XX/6jciCI$"l^pOZI}OD|Gvw_zJNYPdȱY`Kmdz Ѻ9BBC+l=[ZEqwrνZ x|,A~7*Lq9L П?\oΏ@+_RR>v!/|ȵ\_,a1 +~@ cjyN `Uu!XQ.,!BE p.e0c҅Z@Zag&lh%YZ냊GҸ'/iwŮ2B D@=:?5Ͳ߉)h zLEq̲wqzn̤1c}3R{;p5g`eg-/ځ: lm.Ŏ#7{bJ0 !!y CU7 Wq%A- @R(CeN 6<'֗lx Al_j7ק:ob֖T17 `+Fy};q?ط T[Ł_L) ,?o_FhB' ktXU\-z&3$CMV:c[!I|2f@`c<5(FmGQZ51kVx{k[?HMTG#Z7>j4[nZz1о?NpISk^Kyr "#q#ƪ:ZREQ/ƶWsSҒ2e~g'E\`Kq6V"NrRFY5eI\P ͯa,@ )8#2gFbd\NtÙD ZۼlK\La(6esl}w yl@ƀ~&j,Iɼ DJ @{Ц0*6N6*1veב-FI \PGk BZG ͳA.;$Ez z>o5f\0* kbE+B.R-2Ch- U- Ԯ>4h mQ1>. fA[9U1{8zHtx%m,wi+V5G:sm(ixuZ(o[B뜞9[/8""×8*:rsD i$ bhkIǵl+`c ޜ2ɦ`϶elvKi͔K$H|>76GU2YRs] ÍRl'ZWo41UЯD \P wG72edmWK .4*~u\TػBU6U4ӂ߄ "Y1"%%iTb)`yKU9GQ0pVGf #eh:Бt=#½D6n5 Rx&⫄ݚm]dWb^uxƓ{KF^5!d@-dg]xB:Z*M:\їѺBO% gDH-ZWoN?m=_5MO͡YmoDArΫ1Wsu:ȸĈ6ՖsTV2)3]58bJs-"K-82TJz(%gм+6nS%Gh&*éu% >H}̋52ub zA̵h!Ku_s 8u Tju?[.b8{:bUBjs(A6DEx*Xgy6O=^eeY[G}g>bk#PEIF,vZEbqW3`pYbTGӣF WѶn/#$*!"޶ =tXaNSrFCSAs9yU{Z'g O7,n\[%t4ob#UG M5_ ! ܁,SI#P&37elgbO-UV:2K~ΤX9s%X4zR줬 0:ev&+buY<M՞mHC{OLdWsLvڈԙk01y{n%yQ? aCdK<㛅50P;k6kNq\4#LFje`3v/@ݎiN -0CVTB)lʺO%YL1^GŲ¶c@$&LPP(/tfq8WzTd-wab67Qyi}CXLŹQs8xcTʓޢި2ܡ#۽ΕR h;|C}fm 8,{lRdLT'(ZI.e6*sHdH4t7jԐ_1ށNvbEI ;VH6"v-6; ϣv%1p߽ЩJpv+zStyvTHyT|Kh/aMMKjmL-izBlSz9WaFT,ۘcE9j #7LB `<(­&n4ߨ4bfhEpL][]Vؑ~Ez`6΢$E(Tg>*O(PaWhe`>CE_*1e<:>_-*Rwуg &%\}%NJӤo'=K LZ3\f0CdslxJ s|,~mY|*WcjNv8>OE/mZ\6ZY d yj& d? lC{J ;tnxSW1n~q@u'݅dU 1%_v ' @Q(Be9p9\&W/7}@vnGUsygrrxq)r4hP3Hk+_&Q3he`rCxγQiiuru uT-$DT#mK-/=ʍ3],*3_:ztjq Ta(f]؀M.?Yeql>h/:Y?N&Y!Z &/[}=gwMwƥeh+?ԷIwF^fWFIݧ$8F}+# -Ax߀մvDh^^zj\uga+ffi[1QJ1(%XmwxKB{k& _MqtK}ZZ(bt:AuK"$>cըIH 6 H]vf%(gS4We]W*?I*Х- SeƓ_ft]՞xB}\G-q^Ҁ}$HVEaT~>N+`ixb:tvR~"}#q [((D*uT36һ__B,HCt| B"6Iy^0(-Z BX_kϒyFe@a'%@AmA`Q0UJ11__`Зޕkll{3L"n{ N{O>Kv8&%X7"6T&jւRO "RӬ^G8/^^x+u߯}NޕHѩږe  'Guo <0l(;H{g럌58#\⏙?у.o/^H {J-j@)?-b2I'&[oWqww)L"Ts2YN_nhn-V0p$1x4̪VT%YR]В;]A0x=k c-һ,F/u _ C/l=Ž"t~I$>QQ,+\񽹐Q_z9~2}ɭfh>*RSsg$ j@2S K;=*xЗpKT$#@p &`ZdGZ hX$:)ZoO.6ћ y:|\fڹU QQ+T=^0+OG#^u_ܠF4;K^ ͯ&#UZC#r>\%#acUVds4+z a:M) J ΣBJA'zYFڈԅ5*3_X_ T+HKIڵ%uEEґACɴ@# ŠƓ܇DQIlX>pA>t4I>읹ѕ3 m@Fac6:( k\ Ȏ D+cT\[(#}]y#9nuHe}1oJ^~74T}g"?dL78|Mx=<\UtauR\&Zs7^8y/eóma(pJD)"'I=Wҏn(bUZ,ieI\@d!9aLؑrgh\υT` m w."-7bluLGsWeC_'P- aF"P Xv"b% 5I(0+#f v5C.4uR ܧh WE^$ȈwSXf j9̯ s|;K? 4qbc3O?d(| u# 2 mAd^s^/%?KK-'\UK_PrI0T4 [Q*u6K/#uE^K-6/{̊ՓT4\eQ8lv/ I j [}I݊rTB T M*)vճ`͗Fì =#Q)5zپMl귱%ppV&ƕWWɻwV%;U3[v^uw(u؊Rzc#MawyJjm= u~OF]&֧-: >YH/]n(ܻRp5\N``פyK@T.'TQUw٫M<;}]Fj(&JE~};)%U!|t~Bap,;|:c(yxR׀\dj5mNļhB^a --e,B$Y-{d5D⽉=9(`sĦ[b^fvs1 K fyd <*J' 8fe+uFHD|J eTkqh83Bp/xB!Pnecp>7f|tཧ<D;#h&[Ct=l2Gcz^/s 76W,1]TfIvUyiM>:lR뾝nԷ>%!{l6A|c?h$.Y铚N&N(TBoFIc|6t2tw̎˩g(h 6\pBР*1$,vƚ cǧ=M۠qRKN+"vU|z>H(n2;J!i |$ ?DB_?%lSZK '~rCqW$e>Tۊ:Q|<+(at+gGX'g'/&u3nK/ DKMmk=lh>:gFVRe{Jeaht3<)2SK@Qf[VА#S:/b\6P5Lϒ`HAJ';H>׶| 'Qf`Ya"ZP/voѴ0#nM1}`՜ե&[aڑ`G"ٯNKb/:-Pg.ƒ6a(&PTʱ2ܭĶ+DeR[0knLaܚ3Ug1wdbjW2,%LYBS#K7VDu⺓$nP6-1/ke+-*ĜTho[ԓ~uj6E.Cr ,*'8֯%PG l'G?RDlT떱!^fЀF.hgɼ=2L÷LyX p=˵\<3GC3Z5kՊ;5i >t3"eôB8e>S8sơ)@ad%#xRe D*"$pJ}8pv>T%7Ň b lhsB6qF()w*aPt!|1~;Nʠ~ףю<ݖaCYq#_kYni⩗ tuk4 h4 /6" ׊*1nnJZB\ ,6vqyVvvܣzKWja_-[*~-vsqѮݠ`KǨ1ѵ{7r}WmmKTq6t"%`uS]^Zp@Dawgvޜ望{B "rtSBܧJ%2s_W e[غfٝ%rڣ8'+\6 >f5)R1x6vf Gϣß㤬֕f( !YM $>s `Dr>P^^P45P(bRpR\ncq0D(^@Q )i3U\6 i^Ӌ55B˝yN^R.`17ZX+[Gkښ@f):3<bdEUX;|ݻ?[t5:1Y*IUN"6\-2jr w)47ppbwʦq$f̠F2H9QUD@%mZAV!Ԁ(r V"&D@)\‹_sL)[柠Վ$oFob*6pA@ƪ\CqXZg9abKe; z` 48Is{nZ^IutީEv M">&Y[+=H+I>'ޏ'ZtnqjB5`#0`ཌྷUuᛃۗt5|1f 6dj8\Ȑ!/ְa#&l֌ŷ&'\hl>2"sxK1[u i էIP\|G F Sv61?" +s6xqU2):<"B]ydS Ydgjx|>˸ émns o l\LX!e{Ώ.Za8WЙB4er.PGG.Вhz/g^LNO||{zpp}P:QuNkj۰w\Ϣ2 H F]>:a^ ƈY;Z'G!%h5QLY7'.kE'El4f p ~Ii t,ʳfݞr3lGw)7a{Fϼ};$m,.̀A% !IsOĹF+| A6D`Yo6Ǜ߼@ b>C7 6YxUmoꅺ|tiVHn[ya)E3/ؘox4~?tf%"XzF#'YK6[b_'K%>wէOMԮ$u -b_qD¾̨i3 JAl6V4n| t_gG2>LH_і{O4l⛭,OeRz$+ d Ļ&L3|rn`V1Xf5RC Td::1sZ  F]tATDq9\6 c^K=֧Z1,R"S U5d^iZ$wlń\2v???;?xcA>28 +={>:auET/^l AƶA5?+)HHe+ 눮HZ8a 6&`f'- ik5 ed]фlHئj׋ Jx:n ,y|JMkqHTI1bKgM"{m ߜL6orCm ډMw1Kd߳Džpj?LN}Pi5{>BlAEg }(` 38V#cGP6w,K6*"hr51ZxpgkbW} q@Ei~8b;-{Igg,6Z)N-FM&c6c[Ht/mnf+n}L7CPpVw}';/ gԵm_*.I} i7I/;e(a(^sY7'o3N c&[gntB/aҞ hٴQS=&_0*=ǠZ$RSԪZ /\,Ej} kۚƬuNGl^a4z I.sX%Q?@LJVW*чwd@9(K6r g֥P xEntǔ跡gµn ~Vƪzk'"˓ 7bh쓖e }Ai5³BQc8f* (JGB6.=3!F(BMqx).H9 ~G{dW#Axkx~Z`޲v$zU%*<ðfQϽA0 U18f==bԷo|v?'ij/.5@\P+WӃo[w-tQX0eec?F+dTsm?!˼Y_1Is<',¿3(rƧOcq eZφMPHrF*R ~| TJR)9ycp~$=Ʒp\={Ϝ2/ +?Y᰼r ī=<ʒb5aiXUi(Q=#徾{QUe&u$Y*CB=׌&%W F]T{]G/xalzsNlq,I\몮-0?e= +^8 \w:&GeMuVѥ%v="7qQ-GBhqRKoiAs6)1.$ؒ5ܮh`7d~Oc|~$YS+o9eUb㯠)͵f? j_n΂@M]_/j/n4$'el߮o-sAW1 04(\eL"ۮKeKΡ8/]Tv4STɽ$Ȣ**XSgK:,r95_9hY԰~wyRԍ`4kwk,f<p]7yV n<_@z,/ry˻Ri45gA2ʸ\Ky#|auZe @ `Xh8݇i*JSziIjna{@#8 TJnusTGyF>QׂQ5B cΏ,oY ޵NiDeu"SԮƅʣdcxnSpjg䟟ZxcU`nO`cV]|ЃW_=NFqVz4{n/>7'[fk`cUmZ 52s'U#bvL s4T~bhoPx&>~ըΣFڕn)sޑx*YYISC`E];ȝoV]4ϮA!Y1Ȭ(bñʦ(o P9<51ZA&Kݜ)G+ukt*M%o U$$ pyBzR)\ ,<`շ !.a vNP Rs͹nPs:1*hj5W!,M2n_Dl͕Yiӏ˩rQ ({P®w.{2I̢\ xgQ)vwU_#r8K8ö 8M+k]Y7bz=c+>M/֕: *z_ga)UhƩx6¢̧:^-%3 /JlLh`r޶m9*yΊ*ʠs;4krJ!R hyru]z^䥁WyʵÎ%iDw T]3 i^$:i#%1\e,Ӧi~nHd#c6xV )քHCmU|*bDs4⎝;Z Тl??{g@EN~ ;)lM]!5*>k0()hD{H_$}P6VU͍O$*DF&V"*gyh0 6+qDm,Ftws_a?mGv4eK5-<ĝveK?j"cD?v3Xu`P(\j>ܧ܇:\BC/kmEcT&UE$Z L U ͮ5ټ [m$ ïZ(dm 1N0W fݣqYJE1?2)mV\b` Mnf6wģ~Aާ۞ն mVnyw~.€d&)!gķ{y0߇_S";L³ %'֐oc[[8ɝW'|&I:(!!bۭڰH@ó.yeq, wlܧ ncDwWs%+6`@!S?ƪe9^%Thh9ⷊ[U)%㷡*6Wh\ 4*<]j"2R%0Uq]ϙك7ؘ:}p?po@Nwz9}hM&2 O?02=(lYec \@1}ZtD֛)i]I6c?[:l޴y*~A?L&Gś()"xH\W~LYG ֒-8d gXh ʑg v㐜Ȍ$ gQ.&PM:6™KкR>lOS'N>ؐOx`t v0g蜻Iy9ƬYxiLpB7DblgM_4\SA܀"gt 2=5<ȭOu4s/~͟Rg@ᥬtL=^&uыd̤%UUظ|e*x-ϕj]ɇ|l1#Y/H'C@Jy%ZRX5 !Z5+(.YbwCTr O&C@(DI/,JZD8ڪ^hz%+vQX3ṇ5O*("?ul,&<$webi6F 7GXY鎙BzW/t#<8}o[/@:?!/w`e~yeW>߮&?hL\DꟓRsdO/ 3_"i!u.+J4E+[I|FrdQeĪnױpJV;~t2\bcx ` pc E5L؉`ID>G ﹖Bɉa87OeCG[ QUVBŻuuhUT@.()UMolYi=]NAPD3+L(FŴ.Cp̊6t̮l v)5>n(,/ Y!4%qyw\:VH؏Uu q&7V.vX#^yþ&DߍŽJ4n`C|au̢F:[3ȜrI؈MrD$ґ"|? \vbQ/ Kt.5Z.wy8ìjgS4CYδ nv1})lk[M@>&?o+դ-# e«^YFNrdbu]OMZOZ 9RVtK P{@P:h@^86I@ܮ `өpW'ڎtJMFÉ=vfl౨L *Jv4S0ҝ$lȌ@ot-UinˌB!f<_l@Yֲ/xou~.l52$F"1a(5]EU'q?T0\@ ~;HSo ,:)RU|:]hP7,I֕05ҌYwO2pffET˖-Թ (-$uc k+"W~5^IvŠ.4ʦIv q#B,kZ70lh| 7⧎z mIiB$f`xBHG-xg~<8{ pGVVUCuPSrᶇxC\-gd'D!CqN X`$45 ZvK`w6>xk[j#Z6SBE<оFDQjq:!K X0Y*ϰ4H̐zR25VG =3 7U-Lh-YnKeÃj{l|7-J鮎x&^5XY̳ͫ5y-bm%_\@с+ U!tznyՆ0~Y,LM<*2bɵ.ȧC7m?<*B3\.x-+!ܒI[L#nI^R˚7ӸQ_MLVwSuAZ0YdDlGkQ`7\JEy2j"Hl>~E)J.)cQa99-fQ)Zݯsx;K/IaZ?vm`DCLV龝WzEӂxw5I Sb\kƞ^*Agy2Da+RMm$(?"a$d`C З~x*e*MUɀ?n2$pLs6eU^Wos mv}sUl~eSe)<>@eYR ނ/ӗ@g?&sd2Lk$/l8O<ΧX4PAee &J@1&MGS^v)IX"UR7.@&wdM_21׭ҤLR*rst|~x~>}>ݡd6 srmĹpMDL ':ږ@(ըf B娬:v*4H fLy(nH'؞:q)Lgtcd>>dNpHKQ)锖[c>[P"lGwMj߼Iu׶7%yO̓p di.f" %lWY0b+\^+=SѼvB`< nj@Nw7h@Z D\_Yd?+3ĝ#CNpGVV! =C.K.iVf v']+*` A ݔ`Jz;\ؗ\!C=M닦.Z4hf`X62?Jc4X:b +vV2ܗcD fD9gۄ m@d"~̜6z]IM땣u դ6N i6IGm¢Ŷq9o[+'10Upq{k+IM5x \:P\:"hS$ G:R.r/4Qߘڝyd|ap&&-rbvHT>@ ™6C1\gżrv0S!%o+{aL+{ٙEvPgN5{< 9g/f iL/Yw! EZ_}-Z ]drA-\ Ƃ`ͨĚ3ڗ wyM4T`6(X6ݕ\4N r[5J 9zz`Q ]F>ؙ 2zIhU90ƙ<,Z>aYJ% b1(h [_ƕjM5QE|*ȃ`Ӕ@RyAL90 RiPi )b mt^/O X: kkbLivwьD ݊aN>HbBE7F"v]wʛYZ§_}d4JįEok su5x|2XRA}0Ou53z/uڜfLB\Ѐ0:^=fLkZ;ͥփ`-]&*Ǚkn$Vyݖ-}o2.c67UGb drK!S~E{k5bN4o{ 탅MU3(lUEb*$um3 RL\S@ ӹDNGWărkS.ۑq\SEc+>nO`d MbZ@C tP4wO-$vg33)kèG<,ƃl'ƽq"}l9 sfL@ 2'\ɩ#C1@Q*3MꙓStgH$C3Z[" v-#FzRԡTՔ~2K*؋n?Aھ jAZa)i B*2N^ <pwSw2nҝP1Ifnsx׸(T}mщq0\zTad G?ퟜ]PzlȘ ߘ();fGֿ{rwi>^mQ۴ZǑVDOn(-[W†;,.%-Te]{-Aiڰi{'(FI?R7lOKe!~ d\67t6^?Vm#öLJ3mW v'RϝWkt*l;EQIhlA\,{;)m>Rw0cR;Rst)!uh#%fnj6c6u$C|xONnK`|)44E>]DF7ro{l0Є$pѕ_b [NXWMw1@/_6.ݰI_}S0o#-M_񷣑s@\o]M knc/|e##2ܧL\ qp̼"q}23Aq6^w~yv2I/: ;Dzs.&vLB=fۻNLAC,MO 'F0,F慡F'b`B2:*T͡@q X h'.p4{9d.gc{jtt3Ollz`ů-/t {m۷@HXS1g[5<'&zV3Jl, Vp"vb[TOАfSc4H2;D{hw}Vҟ{|zm]3kmKICj<#GY I6YU|'"FmӲFKg Ю낔'c"%ר2Ǿ!ͨh~5cn#\A0Mǟ\:bRy>'.Hևڶ凜\) ؎fԑ]vi]QȘM8S"誡'~;mܜpz:u ]GېE;RXW 7|l|ulw /Z林,{N0{1w[c&H#_ YpګMm^]58 mYioItb̎dJCЁ.%tgSk{$deQxBAib9~* &(T ,ISk @)QXg -@UƘ?M\H"! &dv۴T䨴%eZڜγ-a$mk!0@RXzڗP1P}-h15U_+4_DȞGqFTAJU 8tHNgEA9Jx`670Aց"0{l ,L@*;a$P"׵c@@`p%5|97֍s.M[nThQ~%Fgp7Su^7/܆xèh=mwD'NRO2O52F>T< *q +|te:9($~ظ;o?_tw{o]B- XG÷'lNvZ@ta|1 LHi% '\(:1z)^9TE*UVK1)1׬-Ghf ?U9uajQT ⼾`e@p6M~Jk#0.F&w*%\ںJ@ vtI c|Qa6`rr3 RNNra WL֦&LÀ5ƖeQⷁb@drn{f@l&Ū5[G +MYT0ԡ޿8;<KgHks刘lFMFTىr>(-NZ eLd(^GVu&5[@I}u[(G&"D\UkO`a:0g KtQɣ^7$~+` NV"S; ea{_n:!dș7j,GNw 1u0t!,m6CDb"'L F`"bX%J&Z'nnܯ>)W@* I\A5 \n5H_|Gd^wxi&Zmr]AkZP0N\UaA/P A`XkxԜЬ6|nGjrJʣo+dlۣ?=vyxrAv{b7e~sr[堣 S'! m_ǃ&C}C89zC)gL3"?8az0:)4iYCɌ\-Ϩ썏H^P 4eZ7[k~;zcf(o>y~aQ2`(s J\`٩uQ+[P4UjxAviӬ پFwfYRƖc9eșRɢh*"iM)Bb 60?WQ+^F !q/pH+1í96̑TLSR~6v52c{`j:@Hfa8oumY7-Pw(PqO>'QUVK7Ju4kȰ` 2?P€%X,qQ- '0; ] 鸨9ZAByY+Ψ M ڿp1pIDCv5ڀ-? JnT~#P;WЀPŠ$qFFM IX8d5 л (M qߩmju bܟ+ȿkx7A$ yգ~M.uK+N]Cut*kT+u,=1CsqAe!QVaj@:/pa{!uY}no2 5\ɃIBVǸj "`TUvml.0qײ \>hgY+E_yIP֒Ӭ(O)jT@-fb4…;yc=9g!j8̱-!{}Trb kJ2OnKhQdɂvV80~{䃄7ێzyU*?|('/rw*@_ T擈+ͼ%%DH"-dd6<0*[oWuV/9*R >\\'D2rs^%V8ppDIA}*I\l; L5 1H; L2I@kщN~&M_vG%#g\`.\ceY/ՄlNȑ/ob0#X.&|RGz d}CW IBIr]_\ԣ>\N0UaHf! ͒qT_1#58{jEoX. H%{6k[N6Spx=S80ksٙdZV?b Q\],>8o^6&Mt fyL?`;PU>䴣n!x2I Z 22ho ¦WP9#v 0!=j Vt.9/ŬR$tǺә:4ZA_K{7En E䛔RXڳ[)6%}#](,ZEPӌmDpOi+>`hܚ" ]lYaP@S'ht<0K:8*r{:]m#Jڸ(yѻ)q9~gJ'ay " }{Z L2reofoR­k] 4 KG^)@:>V&'jxaN+Lnm.C"MeG qZv'XZw| oTsKRpe ,GI@slfd(T lr55IE8Ih2؇SK Af_|w~C dObgN׌`>Cjk;BGw0fg/N>_n-wZqwd':ΰ=m zo._Q <ҷEht'XbI& jX~HAQ4dTHڞQy]ߗᛒQdY!#|Z״Xi[(le)(+Zl ^eda&b7YǨG??.?;H[Dpż+4G4ÚdBӐlT7. %iV FzTjQ y>WpLLw,3'gxنmy\dCotR=WC3] gj1'5?l#3;)OW;O>Gy~`!7x@gV| zmz䲏$GZQژM<־PJȦ@ aS4@wc?Ba|3;S粀7ЧxO3*ѬfM!DP\ѿ1Ӥ3;CBHG/{OF0 M ۦ+ዿ2?v뇙}n:X .JNKA1UoFφe= Uc|(E$n4EōǞ Jw\ZųkG'bx~|rqh6 E;=Rijind%9{I愱q" ,)k[ElӃ|MlVXɒՔKvȯxp$}gFwxTg?~@]u<3Mxaz`O!Px>e b[ A8g a_hA7DYTtY|L#xg{0(Ji%l,xZ[3xШu賈D7fWw+Р>n!D(v׷LZU)lUR| o? @&u^ rF7 16@Koa7/Caw MV__/՗pɄoi߼_oH<_ aW:a5v7_[ޯFwSWP]_Bn@JJ9+t;*K0C.)M:v9Rvđ[Pu-Dzw9!&z шj0C̵4DžċvQG LO9^bs?Ύ}X;2r>,=dF,=M&NZ\^^l>fhJn6I ,¼rL o~W6 ,nV_\k.#oE! g fy_˛-KT_;-nv꩏πq)Ƭ{- `g%ƤrJY z:Rŏo7wf[nΓ<Ǝn_#wHL^ƹg,QDM6$-עu6WZtOahL{` L*5!qa"Σ MeqDƚLC8IUe׹N֬(| ,) ]7v2'94iV$dQB ,hRT!b&aSߔ rڀ0sSKEN1Mi}%Np,K'ZIxkM2.ʬyeSTc׷T>lJ/|d  / Ec_"rc֟hIU[:8U^[G)0f[%,a\C=d}1Ee7g=;8wC>曣[ߚm%qjn>Q״uSr? +]2Dž=$U ͳ~]_B9`F8%Ѧ.{po =4 EգfU] w*! fVLgIނ/zܿ7G?BAe3 :ї5>7Q}[iIS{jWw܋{~0pwFgHhȲYsQڸyɜc{r !-~Hr.M_^Z>R>K-ͥ{%{W򹗍Ͻ{>sϽjܟs+yw𻠎AEˡ2.Dc,|&eAi/|L/5HeLjѵ̮`I\5U#UX*٩RφTr wA%d^FCgIP8>bA,F`xgM JM!.UU2@ e!9^ s'rڒ l6vU(-VkJ:ۓ.#GR205Ig$7~tzRfoӕiÈq.i( HxҾԐx,)z_P$ L"xB !IMse%7=S,5m]B ȌSÇvZx~ٌk׭K_mِr:ڪSW~l<Ϣ\ٻkZVImc9?|wxpaAIjܩu9; z('zQ1O ^Zi6MJ'nll "B̰NX@v l FŪ xiV(,M\L]C@~%1;OmX?zn*)ס3?՗[ĒrI]՗|/xt}#ےN  ŝ T >蒪:=ԂnP+ͪr>AS^@^HBD' <+mЬLFu6~$kDg똫{L w#Kh߼*9k<3B i7/z)V߃lwþf?<ۻHwƪ<lBb} ;Z^QAnϘUnua+wd AGU2%hzݹ[%YIEVDʡbN(GJ Xսԣ` Amr+:td\YS#n6釬h L(F2Rj;T>4AgzŐެple`fӝ9YddNJ؋'nÕ305̼fG3l39FH|'6BoGsI(Lа ϋ5s4f(N"8YQOU˥ |ׯ@ cW2?[ gitufTlvcz0G_lVe^]@ڮ@bHMs._A^l-E>ǻ]ŦSO vԯ͓oyU'G92l$tt®yH#9h1+ VA)acMK=3W֥7PU^էkFzŴ,.i1a NGә?8vݡ@cgdr]a1B%`db gG2gaoE6UeAN#mB?WbbZρ/լd2Kq86:Y L̍UyL:!xz Á ٕMc9-׾Ԭ}ĪU_zX.-FP },Zkv۶aK永q]l F{JJNE"@' Kɡ!H\ X#3xeMjer +V2٘l2~T7K T9ܲ@ƠB|'|@DϜ`6zQi&[áeH6AGIeh(I{z(萦"E߶, F"&x8{~ B][@vtz2I UM¬l0 dF L?{rU3^]퍤>ĞrmW s#lYucSnqnr{SbǹuOCN&cXN]_-`~l8u`,L*a5D}j1,?dcLZB U%xt'ƎB` b])}wW|hCek6Nivc'|~sګu_T7@q1虼 dDbdQȪ0M?<:RȖ2H|bX:aYXډMpPӖn=uGUTʷOc/ђl,iD:M+,-EG`;iKi+..>pFq NF8z#C9s%. ݝIp_Q@/EcGt1 *Dġr Eқo+Vm$h 0ILR2Ozfm6 *ȐDܒ0h,چ^[/9` īwIo֫(7,#{Pg)7ōEDSkgx9ٔn,jF(V{_ҘBf`cfSU67ޤ@BB[)6BAO34,eAEOpU(LvҰ7G{1wh |! Ί?Ql@Kݶ|2x_hga`8(qUefj,ɱ[[1e'm,ite%=gG8ՆhBHVv437DJ:E ''|IW=z^ 1`QqpԤy%cYQ,N#OXKHsSEz<\ x^ g!weU͜Sk < * p$ }" izoāU Ǝ[&-T> I/YD$iB2]!Q,^J|/"F섁 jh*2+Ge\ظܡXQI (0VLCMZcjyG9 M_{;Y1qOΡ>0AЬ@Y1O@|.I|_/Nhե8;=|wnz#Owvlkv̲ Hf_]5=wpx_i<G|HH' fNt,IFQ.UJ67"ƨ@E~'N%s6\ NW1H"@˺'rX<6JTh6+Y9YG(脑})L(A9ltIrnܶZjS_lS^$\5L2#YѤ{l h0EtH.JTI Ib$pKå J{+Mm S'|Gb8 ?zu ^?ޛ PXE°$\ k3GsNd6X[>Aޅ Jμ'`H# J`q`j`~1F<`PM cK#4Vtϒhlx_9][ܢvr:n/7SU|~hMeHi>Q9ԢZKe\flP%`,^?/̉gW~#ucN~Q5^JK'F%ֈ'Yuj(`JlbMn[D z 0?I dBFMIfm[Ry9s $͡ CmߛqA>I^y<C5}n6-$j}7ఔ84\*" _7!\EOIM<"L7t_>oM=s}i7އr+-)$)@W6OnybJ;U/9N{_@1Zl HV?$NJgD2H{ {z3n,ӥ iqCЇ00^C eO )#פ$C$$E6Ӧ,/pUby+_A4#5 3';zOU7GW+6rE}ZDE(:ISYL:߀!3hc.K)4K 4bB[A7?ȅ~(e],Jst|q9=;zw?|tНza?Abyvݜ/G@?zԍZqIn*ˤ|@)Z_xwJۀ:芌UNޞj>,)q)JTf, m]w0izW㖬[\ŭa,]QUBCNU`km(5u09I?%#}ZAS#C.yGf#D|w\;3RJhz*MѷS81w]lT!лb3 SG^ROG=dO v ;TSm)xPi uw5}`ϒ-&2W_Nr8`N(M␡@l藽 TýjC&q YxL,Z^Æ/ mJķ[٭EhkjQtiCw@'v(ɺ&v@Z 41뛯EA#nH}0iϼWܭy^eN$Y+&)CEwr$ p:\ܩN_OOΏ.N⥽7ۓ{pЋ'<+55"]~ 6?绨ĭLҸ+SlXN!Ct,U{]P4y/fD'8kEX$=gmn˄{zZ˛C3IUc%`d;`(,:0G5r&eЎID|n,>Au8`Nγ/bx@9`X2< a V̩2h7wEy;0뛻d*,Vb]Ą&APѼ|+I&6vo2AFZufY/]gǔqvp p}NŪ9 \``(\+%STm_}l.ΡB86W檳ƇP "I(l^Y5֭b~}a.ke)^E&'{@N}Bs,ՓI',0PwF^jEy[o~~w ,'*R~1lD{#ư gaLƤ"HFO/.DS}]r eEUBg{X N_+g{o ,;ͳ7I-?HF7mw3k<|-W`=šNdc{?#B&fc &ŕ?Ґy䅆{r@`FߗC 3|'H5 %US5 Fw84Fi06yѡ<Y[;G%>zSrh,-x8MR)'4KSe:ȩXbq6I =$@(^0r`@\ɭ n`EF/VUśAX}Hr;vښX0fso<g:.DФ@+f 19s*7Fx5"xpwDPq*L} g$Gy0-o:Uo[AZl>ϾXux ;H.0X.xچ;IƼvswnl+i[©Xˋ =q\ePaqJ^\UC[aSHw*.8I$.'CN?ZrI1z4L[@Dkw);,2na 6[(_ g)=-ItA?ɡX)-;ʇԎjC߱Ǝ ?O @ΧW̴x0 ,Zn,)r@ʛcH B;ɢ'BQ&</oB-7EME<v5H*\g[LZ^bPgh{sڭV6~3{fJðLt&m!մ~5Bh0´crh3CIcbO8.@fv,<:di߿Aóx}q2IMHwi\í?VbHA 2.mÿoϻmIN-ԧHD>,YDi8<9}nG//0(5F\ܴ㢜&5Q {nGKg;Dڃ a.rV0$ A1>#ӺQ SB6iJCn(@= G\ l3\mQMQ H ¢}<8|t:UxbNq3e5HeztFqw(ֹ^H(G>H0{y.Kg„F(LTO?2w{g0r$+rPT(nllm;Y]5ApY?N7~%~| bF֖bzW9*V 4ZfO@&1-p8;#@8&M= ӅTIYo ehMqaҕw.yaIUsIufx?$OJQ ,Ő0Uraˀw Q` QNR^s3-ӺAn@bMid*JRcv@~Ў&)qң[P྄[7$T莖8IqG{Nxi*ԌS}b<<3-hU]Oqwad;۴kFJ0Z_ǑiNh=rvx(/ⷕFηIU#2E b)~ :*>8H] WX `ј/b,_%"td ;JWߩ!}NJB .p8@ !ﺚP% O9$϶8 A,.Z,L>e}w'7-H'ѾU! Xao:s]9}9-OǩQ:Wyd7N6fIVcb`~ xԔ#=0lȃ%ܒE8bXa: ' %._F~V/ʼn /?==qnN[!u6IRQeűd~ƞY n%HcLu_XBh*7-R1HY߅R:Q*,*Zb;u1h?4seMbk0|"G1ove#,k=$@o\ ggHnֶ9/ `F'Y.&U[i7pWu1 : Y)VAXV3PB2500}N Sp_fbo!Lg!_PMgTJ Q`OPT@1? /'7#sgjmto>*h;x0>Wĵ|hTⶑ^RWQ1{Pjr3c +֐ qS!~I)9& QOE`M+\8k}܉WIM8z"Q: rP,)佘'׃Nra:b“,' q V" bxڙאYzF&ePhD2ġZmt߼|Vw[4Q!Vly+da!,(&xƍmyVGWPQdy+O΍{G?d^sR7NJjH5 ]z6IB#c[&oyYH ^MSxf9NW%/~q;'-y9Kv6q#5Cәmy>V݈{%)B )ԱnBsȏr@}^{|kQ,0),3''nE_͏[]upO[tjba0Cusk[ ħ`ڔ+?I: ܊$FCHLY)Fq2_\Wݐ*9ҼR~f'f]4 0@)+d^|Ƌ\j4WnkǺ ne{vX|CFIp2ղ=?Ge7hT| 50xɼ݈EY#r2м?:&ßm vMswGyunn 7 B}Y==p ?C|&-gv}ݭ- >1@Ϸз:F.MSn]wݯ{86\P5'T}ĜYjD6B8XlJ?m֊•m)4|[=y݋ǿLu`lg]mlxëK@Ҳz iì\:81(XE7°0^3%ⷄ^e C>0X@`=j mq8%5@mhT7nFr0c{OJ%xL) qnWGݝDM57IJNZ7/yql262+#GblNjޜEUpTMیБtj2]8F֢ \@ &.&>"ºv!HlJ}iG> R9 x\򓜎8J"yNg9Dl`梡+;SpyҾe܏FP6m :07;”݅=pĩ7r{n/\7R^-#`ИjnƥZA a)FwjC%c/$c+tŖR˒;+ z(ų /&2,o^o6p$M5'vե\Ƨ#%v҇A O0qn!'ݔ5cu"3ʸ`2ZݐQBS@z^z&im$֣n_UbA4ZD tn@1W*:,Jcqg0tݡfI,rr hHlQ1*;E:\~d#L s,|Gp@[_I8FFl)$ jMq9W`&\{96\eVLϣP s '9TҚό^帳H5+&ay!c٦PBx&P Esd7ccEKܐsop9QF/z$M3rg@v mP/̉2y͓&Z벪0a2X`V jY Kk 8)9!-mGجr]e xNad>m`$̗\`H^vV:#]%>xWpX-N:U9$wt4S{϶2-]1ELfPZjh $Dh4_9pg#;t6Z=q><'*(A+Ͳ )؉{5"Uq pA>pl JrScRvkjl㋟A޾ٻ؃?M(d̢UHN' qj+aw}<=*"׷ܢ^Q1g|!cnőm]"Wym;/:sY3LsƖ?!ej8[Dm_Iνwu@I!& j8tn${g޼JnrY?ҷF6p%WUAJԶ Ēښ\Q X}tMb (JӉcCV3Z iѣ:ZtYH5ʵK]e^q+27S $x GO1Axo/-5aF9>>o䀚PjA3׆ѾͣpϹYɵ,4ii=f %<=]Hx<:`-`zo+qtpm$7>cEɑI m@J.Tnȷ 8S h|n#؍#TC맇(͜ۈE F%guUcb=, ^qBIRV dM~A  ad҈:.) P]뎣&WU޼^ m ߠͶ~ ;fdzX3[3\%8C0Nr}SQ\XfNGhA|Ƀvt1hIUbCME &ņ vd`G|#9ɢ[c\gekU_֚$結V%#:'P8̵:|LqbkQ:ߖ .yX D®@::hL>,CJ?I<;+AwOuuƧiU:%e J`wG4+/IΎz`N+ 7I!T% E 1q,}\84ߎTN:GT%Z T"nf^}xۼl {7 u,`}Mҝ(xsmJD˷X` obuڦu4dw܄¯ ydAq#+8@K;EB#] 򣸮餯4.qvs Ɔ`)FRԨJ*vRtWc]l{ 9k= ;(BԟƱaIhqJO)V eV]z|D5SV %]k`&(ƤpmD]*4upv&B#A׃gtM 9߹ z*]zd: E%XN7n +ڤ(kƵ#keMcč.mەa9pu@mHͷ}?`*)=#YqQr[P\# 5nzbl`,=ю.d൦+y,4OT0bh#5T}̊O`e{=o`+Nsk9(6^ nPe ݇  y*chz:'M"I@fv!X.'!FqBog1Fs6Oױ d뛽g4zv`k^AZe8VL2ݚb vDA-$ oim6y8Upn2H2z/O:a 8I!##XAtCsT"߃?Oq `0yXyʾ!JB(gǺ5 `BR()6emZ ,SbAYCԵ"- O_dRK=g+oSG1 ?H{Jmiܿm|,bTVwnQLVe#`ѓOlW$"_{SyQW997a`;T>2@,ӥmmBbYšVB޳WbS݈jε]=:G9fӅq}Us,y_WQbNZSUnwaM^Yf_C:mARG,xUg8 ˧Q4zڰ4tBd?4lh gSӬob0lO4QBn[ TbA -Ȯ3&ޖ TK%'ư[%yǫdq,O[@5 <]YZq р; hWFa3j[K;?TسFJ1x .Kl lf32!xBaUw؜.GXoF.v><]@;D!J&paV}2ׅDϺ(k00Z'ӣaقU^O#&P 8=NFsTM7:@ބViaIFWY)Au ,f.B֊tLJʲ;m#I/-^\:n~;9%I>@ (mf8ԏߑbiR&YV* +H( 3ɂ bଘt)Ѣ1=تRJ(>U4\WL+3 A 1\RD>4y$n&?2{=7o-oG‚U#03]<r|~NOAMib(qX%smr$~0\e!Mu]^|B;!xF4[¨CTV01DPB֏,0ѩӨ 6gh]XSgaxpf͈TE$5WW07>I0[rT}DZTD՝Wu$wz8!W;6^pyFy-ڑGGkg1K5Z<8#cJ —/&]s=#1iXPWXc׊_5T{T+RI e6emSf3|sZvF"WgJrA_z@Z cwR<+3&m;غ)ƬG:%Q$6b3bdX}WdW]~"(¿yOPUֺ.'z+sRPTPĨI S;N!sțdYYjR1-YZG{b6FJu Md =Եzm(/l ϲ(ŃfRB:C):):o0 IUA&Dc]L Ƀ_4 ?__Fds|iVz\$^? W36l9?q| _7e,E_ND8s[GP?x,\ePrV G)=. ,N'?1g)^ٸ0}qTEfs`E,-"Hi6㊺m]!yÑVl1GxgnQo ˟onJC4zpXe3_e^R_v47y8}cbNˡXejY(f0WZ:s#5e)Rxsss;ԉr3VlP7=nLt W!+:QS49?ofĴ'}PV8Κ|Ot |5zjkTL6 I]|CkyTF̕jXh8<6b5+`

LY:i_VzOzБml߲?uS8v4ٰ9l?mkEry]=oW]1L?=*0鿵JX$`%a(̺Xt^Gm!fb!q[Xp9{l4Algv~ WzoIjPK7MGAPK8golang.org/x/sys@v0.26.0/unix/syscall_freebsd_riscv64.goO6xB2XOn)J=45I~vM7yCc4ciG&`6!f u>;ѧ=yr9l(o[' ҖQێ#~-~)Vi%xBhD;Be[SBY/W Ҕ36~*])/noQ9/;$jBk?%7%71VFS$SOxP&23Gu% yc{f_b;j+h'Sl`~LH0NQ{[GEc,uI&`oVe䰈3` ˅p3A _T:~}AF5$z=d f5hY! א)* xWE$F0f fD\ !E<,J7JC}*A艬X>c 8YB٨TJpy]1Ht6A3AB%wdLhhFJ)y@2E Vjǿ?zp*>X mSƎ<_/.e.`. fSPj:l\pDďFּ_ 1 ]."_PmgE +kI-A >JhP$RYq-S68`+-\J3:q4j]a?wo*k_UZ]$2]k[]ksbIfp΍P&_PidĜRSݜ ܕ.:S$BBؒ3n&q,볬U J4,ԚPjru6삉n( 4O1!ķdn VKlQ#uA]W" Ir*7doc{}>x>=x!$<! ծq3F,]pʚVsEP,>_)ݤm*g($iS+AL.Ek>ղ1hֱ\&ا׏{k.a(lqkMS$ZG LƬ,dpG;5Vƚ)utY89jMrZB^8zؿ {޽ۚ%<DRqao>t9KkM㊁]-ZZk_9~ib,̤zoRGWLbGC`8___B.LIV* G"V3KRv7 ܆ISezWK^V$~x~eZ 躰sjHwa3K&LKst+I|uF\ N Wtyy^nWHh؛iȊ1GaVZ{?ãz䏢Ehğ $P 󇄫%(~~y{Kp ?S1m ȥ|oOUvo{׿ޞ]^4Zjy 7zV]L0~ڍyn2E ডkm/Z?6=B.| /G}xK &5#ʃOק7݂  *2CZ"Yy8- ͠bW;+ˠ="q}L@T>/oZv,vZsTUnv#4} rd[:o[*,-W?Oot9}nŨm]1uxqZ?NG7Ë/cH5y;F+bJ^ ~"^7M?K/򕑷_ob?*?2~&O&z=F2~@S2{??jF_G7y^lNjjm5QA۽;*m:q_طqNH0EL}\k[Z(^AùzK+Vs}ڪo*T ?I ]೵zp=<^k ʺS =Sؓerкsߏa)Gk/Lfig&w6gtaƄ=$G.'A3PIcOH隆\v~8ӟ2VwC^>'JG9@?+njQ|\Դfp{. '¨=h+,G/0.>AQdfBWE\ž?2}U|p3q7dz]LmN*;2-l=#PLgc)<{^' 8'. 6|v`vlUzBop%$p(7pg܅L}scG?PK@ PK-golang.org/x/sys@v0.26.0/unix/syscall_hurd.gok@ƟoJRy5D ge':{-]ri_o7u6dmw;|"MQSp'(%{k|M8&NH1kO'pI4\aM&E媕$8Nt;V|C~tpav׋N >=Cvҵ]<0bȖgY&9% )ed',$2QN>?8:;B $I[UK;S>}.FgA}r!%Bխ}c,A $m obY'cU/3sBI)m#udMO"Ca)tBxpJ]" `L(>mu@s09;+MN841bqaEΑbdNGlP=Ňd]~0O7̤&}ht^шbsg+뀳" 7Ź5}4[=|1 yp/ ^AW޳z{Q.g\APޒpX{y>@oJ`ʦ|&hUIG4eeQPںtp=2 X]ώE/ҫꕎseOpnZe2t73P{Loƚp\f-fZUf.h.a @]e/TK[>`, PK=golang.org/x/sys@v0.26.0/unix/syscall_internal_darwin_test.goWo6~R^1`JbVH6jx}߅Ÿz :eԳ? fw3!58Ւ4h[Ti'sERڲ]NsØ*^HğH(!rθ.|-?ek4ZQPZ2>-K*pxI5ZejmYTJ*@7P>z'h|<z7EkR@UƢ 5>q|8^Ѽh$TnFq;>, D3oS>E||9<++?ZTHEUu5W3jd:X)< 6EW`_Z173rW yWhOFd Xb|!"o2hiRʗ0'\S˰+g7{}Jg$s0*=E}┌xBXEC-<7Z~C'U/{e14ffpC52T-Kxl9M>AIG7f3ЗL6di4m-UӁA4PuA){ (S*LQũxsepp>w],b-nٓn]jC"5z t8k:"uH2/h[vna?)?E'lc}}83zѓRkEZ!y! #Ud$l|K0T'wOI}4±-9tWmޅ`\S`i\ڿio tÓk[\r@vvPK7?PK<golang.org/x/sys@v0.26.0/unix/syscall_internal_linux_test.go\sڸ+r-3N78@x^q g \/l@TZgݕVu0t[Ǎп%[50<Ds> G^u@ߺ,GF!0awħā9w[^;"4 om# 1 .~KcY3z>a\t}j>!ug~2CYJ>{dKV I9 K'1=&%㐎\Kp)K9|5ЧL4Q> Ц>Gq2hZ=[7Cp$iD$c W}LȠs]D5u IFG]{@OnAhKnl7OI݂gDOpYO7oADSP$߂50T1cٟH#F>3輜+% 1놽A<^ֻ3Doİ gءG;wDl:!Ծ?{8z=דHw#XHi "^R섏LJ~b7NOV~+u( v9IZܦ#|>.ŧqgYm.?+D1lpcWdXmsH(瓬7X˫+Vw.3+H&Y?9ܘq/n%(N ۏO7#'WHɱQC ,)Jɰ#Ħb ]:f-xRGM Y{cv, 7D`y7z!$q"Q7.*1{ecyLKR|>y\]r{8>j-Ŷetmu~bSo#XIԝeVPD1WdJK vÔvi[GW\_}>Ta1 > 8ks Xs@"/V!2Ţ;,`<[%%XnQJYaa (dfVFdae%f3vCf-@y|q*J7}+e(>Q7t'@&dC6[:k)"!x"om*>O2 ]8%B Э弤%+ܻ2HYmԚcUox!IGvJ3C?!!EX&H󨥗iyCҐK7O> ౏HvzyD.̛̼$Rhϸl-qR\_!p#eS*D ' ߍ\hOS>O@[`t3ϩόuѻbԁK6~NR1f`qֲ?sWq<)gI%<]v~!eO5:/N/Z@fS>gSme K=ۓX/FѲF׵1aXαշ鄀 "üv25D!e㫚6vKyQ8Oo|NKo$ű#Ce V3DØTUz$h#WMGʠv V'9mn{r)d6%#Np ~½M9~*QQ>S2=32ry-+Eļ0a8whȟq%CC2Z c(hːyi}G"n3r` Ek%V8ķq i1;B曰*Exbv!?d7:Ulwߝ uBvXȫ-\ܫgסn4Q6q p"߻E#."7xQhW{_'_RoYM`12redrb\.#7P^u2 y,y{B+dh:RIRJ-T>6X/vC~9YOHmUz UQ]fiԺX5YLr~c7aveŚ_Č5hǚ5dԝԊ!A PF~̞E7Ӿ1XKrbP˰ʡKQ:ŗÀ> hxۡƶ{nOT¯`]o4 =o5_y>~S.*/ S(1!(uvEQQUJ;Di#_;3+άHv}P:`n BTeWdc 6su=%EFXݥTU[Rx{gWqH|cݳBE{}'=aqEuDkaq'Om,$CU'h㜑ץbsq"7(߁j'_£vQvV{{5jD3GˣBM=86_݋5^bSⅬF$ʜZdm!pIΦF-ik&MG`.#%. Q_$:Ï>H߻gɻ zAweUQ[Ry+A7/YS@tlvN mس'r:05_H"ɾ}n/}?")f燉 {.^ ˠMסKě?2zFl:1 1\ʙL}#6_ }R_o ή|0“"|*^d[_LzMڿ.]͏ ygt!ʲi0\D*ehREp"+UuO"K=+7/L| 148kÔ|h3i[iD.|@. .~qF(b_iX[[4ODw6>iM:Q5X_a~k#t?PK2m ePPK>golang.org/x/sys@v0.26.0/unix/syscall_internal_solaris_test.goY_?DqRRgå~8ϮlES$+r(mev{1KҝNۤiQ uo~ \zkbaz>ᕁ/u\*ځEvEL&C0%tLcs¬j,`߽[KCK!itR_"|=yw T%d0FQJ$Wbh>IdUa e`h6 G^ qacC|5ʍ<|wd)K~RȍYIQR/@j?_F;':.fo:z,K~3Rў^ /T9B*,A@%t ,GKSGвppw^ ^ּ4މT+; H<).HM&1XٻJQY`0ӽL5 [#TU5#^_7Laa| 3%,пƊARKFvcu\$m].ɓmj2Z.Ghbrp=}wk 0Қ J%VR/R X֍=bB1vH~tt#hS7;ҿ;$ ԻAԽJ"4>1U!Ts/Jc=:uswQ EJ'E~QO{=TRve|uڇzχ#r;dSȂR 5yd T nG[Ӿ p>LAz I@fx!3gZo^_2>(XY!H%@Ip.G-4 HE{bBrAѮ"^-T4'1;u\#aN CdȡY % PgFzr-j{w>YRY!RaqX3c*Mqkwc ,])d-V ૚*N+JkF) gubs{'!ʄٍXGs_w^->ytG0d 7ovC`'\aGx9o^]HaVJ ICL&[Fk\{ŅtmxKI؀DL<eJ fYϑ(s9Iy1Iǐ|3z@JsHH Ӟ?kW1˫!]Iv&ܽLnh]' iL`Ѡ"c-T^' O^S38JgoVl@:}t^̕t mc\ Ycd\j}PA˻ o,d)FH/RipàRj.bEe*QQ6㜔3Ӄ̍jX7,WqS'|FR*DLO~뛯vǿ^_^p_$A b.q!sƾ D+.W#]>-YΝptDHĔba͙16bɯ+dq$^㘦$(= r{HmQsc^Jv(O79v_s_dƻMPsŊ#"(!X>d}n,.AX,e;c[l.B}5uQ;Z?+}2+M&{)Zɜʎ{ɂD9Deۀu~^c9^2kB? =L6 abA&Q s b3mQsX@SSqNlچ$ĉrjOxP&1\ ]G7JK!tZv5T{ 8W*/]|l׆cnFad=1Dt˰E;Qa DodC)5'X?g=l)N1&0'C ښ<.*B;^{DY#NqJ^m+ w"3 ]Xi-_Z@5*݆Z,G9~lJjJm,n1I UB%ZD p߳Vu舰MO?5LVj6UO&0sY4|$ge *2;!:]F|)݈mKq87aݕ'(Lqq4va.I@_`/'>:}(#돍?~$㑳?J ==c®?$wnM#k?Lvu9=`O]$]K#cY8`U!3J^f"_EL"r{˘8_#>zoɲǁtbx8G:΢&UFg$}=R/װ<`u7m]w70([l!gPKtbH6 #PK.golang.org/x/sys@v0.26.0/unix/syscall_linux.goow(?'LgKI"3Ih YJ>>Dj ehb1IKF(=K*-ؘΘ -4c")1yRgIf,VTqW #?Y"REJ{,D?;* DH籤cv_?>'G]Jx<R &e)jJJy<92)4%,MEZ&RiL.)ԣT /w 0r?ә@_ysMUliDy mMmuXVHgX5kwzwm"h$Rce~ 'ٶBg4]X(>^bJN$W!lb5w0c憦wnF|BB^2C0lFKrgrՠք"g AEl̴R!1Yr~A^/2>4[mE]/KSvj65iʈLX\O{_2]œb*=۷nkh #:X%XJItA#V ;;vgпvu!ÐIly1+D.)24DyMrAV>AtU ծb[i+@$DN< I,BX%\4"%SDFXV CKX:Rri&e$dc>#&Չ <#=Nm%44ԔεTH"Ɗńi3ƚ]lR04X*-䲜%SJctе}5\#.it3T<[8DICժkQUQ)F9{ks_] T{d2Ȁ앁nB>ԃZ,=vŌ-zP}9E֒ َHXia3&it}mSӾ)OCV>{r~#+dᛣp3XnSI؂q +%Ǽbg`CVȢZN6QW%3R[7KBk-;޶% ¾/d9e/s9Wfzh$iLcYmU XUã8cyNXyks2Wx׼m6Z=,rFfD1#kxleR-uWљ[9G=$4+ZբQs ".C]- _k3ϐvnRG5Zg:AIT+ݐ8}I-f/C]JBGP:p)˞!V.# Tȵ{l ̓ MBKMc"L.ZmuZzvvF6Z Zm?p%'8Pn0w Ӭ%~q<@䧌vNFg)ZQ58[0)2Rh:wĤ" dBADjPKcITIG+Y:8NRKRơlp)X*Ҳ\Ι}WLai'Sʤt>^7T }{ۋ͚prqAũcSl!7lR"D"}ʕbW7Whx۷׸_)IL~v~HN?fb*V;LV֨US@C*ES%= qh0H11 (Ŋ(Z#I"6d ȽHMOYqN= f[]W,#)b l'؅haQs$DjYp ,L*&‰4 յǤOc$@C$XU }L9ӗn8fbrb_dbj:f>|^p#ҧ1C+ݨ:h?"%BF臓#u>p*\O}RIEG2z0qbhZy40Zv| #(W}E\-ذo(ԯ$?WPEFB)1Ք䄔W,,9ϗ$HJ+t11sBBckWët-Pp>KFMV)9߳my9c_tD4DLFBDՒ1m|.އ /C#PJP`@v:M+1%u@t̍`iRY>r_uϝc[k~N,Czk?[L<76['$ TM7rvwyҤ5MآC/ߺj]oU\(%uތ#=*8¯\ #G=BWqr|pFfwSuQ;:*P4lQ#[OK<Xx,`Sx5܍Xl9Y]fG5渣?l].;+gEnn(:-l$)9aڊzQ&fܪ u%zIg~*kaRR [+W_p?@$lCdo[x~󇧳6~FmeU{ܺ_'yz񁛃cc^j^嵌t#ҙ#,dD~e#9+9-Aciˉ6IdD~#ϑ)Ǥ;|I "A` kyQ "#6 . @Od"Q)6p۷AGR4I grr&#'Vzj$w]>hi[!MVq9TtM^k=s ܽSFx D,&=0}xe6}Rz/HޯaR<)KD~OEc1}rm0242e wݰWOTX|Px|HVm2iafiė?]>{4I_,gӥ@4 YQ3ui6 uKCO5CGQv׷A3x1 tm 01җS֏ ~է4Yh^:MUQooI@Uc o{iQ}*Tg߶;>5};ȿtˏ:Ey.TgٷDv$ I9[1%7kk`ZH|(KCMK³g#%wüCy]ym14fۅO"];77V LӳsvO1}Uۨ~?5k7zu!/Cr<<}E:'x֌<ǧ0}cQk4zZ=)999O쐹R'RXY 8o㙪vSq q _qx]Z:* R>^hX]8շw]1 rւBNϟ)F @_jϟf~r<,)"?4cz1eI$H<%hΔjjm H"Ґ-Iĕ3U]fǕ 32W,XBD-'i`%p>fN!Ϫ/?x©ß,dA9cJ/VOY=\*V:3Tߗy֫ڻ<]8o񚣠C=2?ƜE!RK U!p=}Y!AЏ~g-FFlZABRx]$*Δ.1x2g61i3n& R(f3d"ePaCfiYKVfDČh!ե) ^kիXAE@o_d:^k2 s>rneP/f#ǜuj]P!/3] b)ldϣȠE0wAX4s2U*U,R8qÇ|3u/;OWՃʫ@?e-+6}.ZJ.5;-cͽli^ ,kfdc0Z<_6kiFNjӿ>#u9mWR= 99OZsx@=Jc@5,c%Lb<3b?1(7,e_6S\MHCmnmVzb{&p َ_uf|<>4ǫ-#0#y|uO~tmvz͖ v}ԅlzMekb;_{cIt(1Ii2]jPr>$H`KA ǥq~lĘLuT)3DC( ,$zBW IR࡞@1t  0HY7`6ajhˈ RE +fQ;5e1Ip xU2W=8va)3Aflb+Nx̕VTQ$yfu.5u K^k"3:F+<[ppEpsr[:ܝ9`7egҌcCЁ-*>cPx!p$dh<?N8bh@t Z*6}O @}J%1f]S#3#ѥTJ\G `LUh@@$^=p3p acd#-7%8m}q GHoyuȌ[yN(`Jc.gh% S`v@f7bꞁ:]&,]p)L%dujN#4s)٪ە# 6 1_a'Q"KܖZm4p\&L-/SE3d1sB7phUo5ow~wNR6f[y pJu^F"Xj)"+r7 .UAURt鲑 Opۜ_f UiXzAq΁Ԑ"͆cSF׍d`hȌkZQ77LMCCg~.cS& ZA" ݥ2PA?}.NJZ.?@b y\톢Oi Lf^uX5&mDp9W͍dZCFD܁٘挻 nb܊ 4 Uӳ~·Yys% J}Ȅ8zfa Ψ((sCyڨR۾xZK Swz.xu/o*:<`!\>#5Y G+$QTƷ/~}]nouIcXCk]ú\p0+@,J+vmFĶs1Cp 5Lrۚ/CTzho%Ì)5K8=@5]kI0.ˤd3 _1DbwQcz:B@XD8LJ)'U\S]t3{~߃ 8ǂR嬫쾴Z5$꽇 7o\w oJI;2:ЩqYv Xa9rDRmƂ,Ch*s@mܸm Ȼ;8~|2L:KP(PzhhSPI؃ӈ\&]:V*4 I ẹ)S0ZIр٫Ff>0ױX$m2h'/?@ZkLkb CH \~T,<Uܽ%XH$CYg| bvyW`%ޟ}I ɘ?\9aN7FgFs؂K3ES= 8,6܆β&r?h2MOe7i"R80 w\!1HF/m=gZ^!C^A܌ckQOL(KsuՂ MH` h֌8b|Y< ٘# 7L԰@#cuSSԟ_}E~4pƮ$}^t}~hg|~|smAxX Q8 m<2f%Ab9!9:M9ѿxǜE/=pXZ]D=<^.5qU0Bk6C1q:̊{9.47 iYz@ ƥ~.QȒMT@])AaRISRLnht7 4<%Nt\d^GЕ}^w^ Q@#oɚqHp_!dm ? F_KWtМ0>nhbWv$.3{*I>8H~5VZNùT1 #_>&ѝ\d`6Wy>twjNPe3 ='O%%S|Ih4] |RM!dlx&9+~=b 1;!`ʭ,C4zP21Jyߟ .uj$׬/[iF&>%ޤo[2b "؛k }`>W&O掤eJIh\!=;/8%s,@ |+>m#Իx,6Pbb>nƔ5|5[6R.D\Mg&$DOcRB0-(/B>m O;~Ed:)S)g s Շ n#i_5Vb3h@UXmb7y].)N"uc#:ik3a)F3XBrp1'`bY]ݜl@*OG7ˣ+<:r<~N8 afQ4DC׉!2>wqI:BNU; .-xHL \>w|LֲT\/6+,CP`@#7-&߼H/_/_,|\kGXBuUrlTFW싺mWu o@}iYFZp_3\ٽ5lG\YXނ\Vho7t.TLUSFTJKC+]<3H!J%ȘGǁi} #?hL~3O'*|G `3_i=z 4cNc,V.ȏ,jޅ$Kqf(jtoeET*y"Vn%5 >6]?.L¡J3"G&n?y(6u.K~g@E.f3h3%93?KIjU _Ԋ8KE i}`4N ѹ&cw߹dY2{}}p=5v~oVcM];{nzmv6 ao7oWOMs;ۛv;x~:nl*ڬ瀀̵ C9v~?hUsm){Nܯ 'c̈7.H}Mzz>C.i0<5c1O1R6JF&Ë?+$ezEG{׬5rjZ{Ъ yN!!EҖ5IfT$hw[l4^usU /3wgpc~$"175$ѥӔgy f6iQ&9䶶!)$ed1p'0sBXSi! $2Ra>&o&åO[ݪm٩]e;|| =A*NdTɪWRjFj{(aacOϨ0ۆzlm185y 02pdzpECxdO,\wV<^p ?m` N#XqP"bv}OXqzB)^<^^>i0hp=|E-m^w ?0[  +!>dR\2)7M7緳gۢK24$>Ă~z{ZkY%nu)Or3j^he*Gd׮)prp'!%XO=[&w9Lw(kŢ@j74./Ժ&07+ryߥ)IAxSdi;7A3/+Ȍ{cΞaQ41YS҈Jk09I5,SL_"hMq<0ۼ\ +оX@thgԕ /߱e>!d;n 5FFlB0bR6_#)g 6m֞6 PE"F|ϱHg42$$_."UvcjXP;7N>V_S|l}3uiپ%ùF̯ r(Gϔd}a4~<彮ӂXUز-0p&'6$`:&RȰ~ VT&oLNڏD+gi"憎Z$QqHxl X!'v xy|u8N^CbD5Á5ȸo^|JJC+oXp"{j7Fm޴`)=Q) X,5k ֜W<0ʁ rhzzh%cw!]boJ|y`I؝]Ᵽ` 3cC |{9}J8C^BW)M̺Y3;3 h\L"> ~ (jBk{\aTz;x4G{ Rb7AB5NXt?G6ffUGoU!%]{QT1i.k^(1OԊ 嵐0滝$M V4XO֊M7OfjKRV$Cb.gjIqx{1)!d -xƛQ,zk2E'sɌKcv 9Mi|MFٵ q$G67)nłG_gb BݻyN ,9fWkjMi{PR4Obq` hPE#zƭdwDی"X)wfzL 0<nw1&jC&qJQxՒrf qTsڤǠ?J2 f rTɴ=ua/Pc})' qtlKc…bm;Ӯ))ǩzBAJy -_/j^壄|O.p9fѸsJ<2p;,a1`:Hrn}IygGS(4&u+X_걉xs~f.vaӞ'գR6#OL&oMå`~6[fkѪQD.bO_f;s`-e;p[k׻7/}vHq3u?hvN$t'n^;QdO[ j7[`= d d,",q-e#!TiF'<85̃VVh!SzX֮[?Ng0] ZLBXbQ9 !wXŸ Ұ+]؍x,R`}\mb-|'q B!n|_EMg 1*BqG[cIZ#&jH jYS<&T /uG ҬDZT/M#C|v̏I'r)ILL)F4]Fsk+Ce+ؐ6p3@QS5pzi3d:84ĹP^*=]bfv4)OOi,~={J!O9EB8Btar[S`;}^p`vo:큶jA]4S$,jhJguyZwtHYw&sGoYՓӯĺ:3S6ji_'PKxI̕;u vrdT[I(Z|L|b:XpĨd7,6eW}/A& C%78؇CthevѱZ\R42a;[VT3[ƻ4Ֆc".z~Nû\12 CR!lD"ji,dXZ2~<_zICҘReQ31E4U*c{mdV LEL#V*Pk̓BGx}Jk̓3,Y!1VUhc<BLsϳ ݱe嬛rb֗wlK*]n`M6%:6ߥ)g$_HkJ%2PgeEo\5_/[Wveǡ ( I{4Pd`=IR:c =!<) Xu@M{(k=WYT0I{L~ePksa^)|΍mV7e _l_L cFgբn{W,~mnkD݆tm67]͜4cGr豎@Ƙpy+^#ՆvI6x}:$1Qn=HmZSZPm.)D*BƓy"%QX_͢aT_<:5o18uϬ MAh4 7{ZpL{;`j~-,, rw ueսq>#өY{4R~@1v_6|Su qaU\4^Ӥzs@\4p0O=דkmkb=l8 WL,|(ks_$j޸b*;L N.e߃!FQʹO[#|JHZprߔơDh0R۩BćV1% LC't13ȯJPi,iZ2Aզ~QzfKN}{iPWȰB7`dWk7:7/@R.s~Brg^UYvf!qׅvX{mduz<.Yc}9ǸM~+/6GVIZ&OPvΕq=f{rv}]uo)E<;0 s|dơ7l܈ ye=䛻XU0DCWnjdcwukP k߷+;yUXK/uRJC%t,AX£l 9b\vw._Bbv }$s%pD v^3R=  p"z{IN$X^fĥ2yb=}h}&,l, п01ȝ_w֢w)'2q_hxMdJDLsKbGB<"O^k69ȵ'䈼rux,-7݄›29>&^9c=R1$ `Y"DkgA98,R9—Ny˲X`2L.z4`!S,P*LbjlkE+Qߙ<#+”O{J|`ůeš-cC 8 _ʘjy;:EAĕj5_G8%yl?Vc>&3Q]*gd 4`0cahъRkYYݚ]hj\n"|WhWB:YsƗy]pmpFqS\_>v|PeEk:m;bf/3z32t)P`?Jh P}2odUIݔ̸Rt^T-MP6B =]S!T,09TuqL`rUWCNv-نj3vEv)i ùCxqq5{B8b^;T߃ss'ȏZy/ajfu>FQji#<3gm$^3# =a8M;?ds%yS,4ëiLDvn܅{j%xl8 Q=3r*Df<,[DyDS J#Yn46Z# +`<=b(e֗Y]3n=|~ȥʥd2a$&[`RP]d+i: C*^( qbcDuManc) "v2ٰHIy~bYc3sB5DH|ʒ&]!%%\4uTBkanw+`;y,Xv g\pѽqa@=?KlJ MGtͦ(b|=3Jmwb"K,4KNS |赵5÷79fC7NyCLvsu,|@WL!"C5'!_5 t!%'t",Zxd9qU.05R~Lm9Y"ťR.Yyv#M'TӷRJwliy'm.94'LqH7 ʢʫ ;kw}&yKptzF?i??zTVtjT){೹ͽjeꟓd@L 1p,˕=R\+o-9`n<6ւ)G5͒} F?"9l/ad"LYа\r'hI_֠uiMwm 婚ӨVopbh׹4'hGd|VF{ϯ oW.} v^!Zo2)yҝ7ʤ1",W!W3!D?_\M![ȥ/$-lƤWn&X*KnlRa}fh)D̏J:Bc]rSWTȡe=kIUO!&o@,6HD U ~Sn0x!H6[b~?>&͇$Wђ38s†lU WS,y?9TNc+aoA2?a4!yFN1h ;v~AJVoB]i 8&%*֙49GYrL^ 0 w&%6_]x-VI;zu*Z݃Zaœ/$XS+t[A!]Q_TEuFz7̠T+n/Rm|Q(Pb r2C 7Y,{KFMa6&MIMLZeRG}fe>10jUjݐs% mͽ: L* $Tw>r^DF2ˮPK;Ux?PK2golang.org/x/sys@v0.26.0/unix/syscall_linux_386.goYn8l=~IIY8l(z-l)]_w?%ٖӸ۽ @"g~W,xpyqf+;7\1.&I@o (1oե:0Պ:_wIbd{2$&ɡǚp~뗋Xj )ե^$BO!F$O FAkY=NAƒ=Y";kRzs:y҂sϸW`ݒp t-"Ҹ ҥ\7E`X!A?ͻ?{=^[`6V뇥yhD~|ui$P/%ffv3+r"0 #rB.w:%d)jВ4 [S3X hݡet!wwq^ď!lzZl YOX>8EKh|N=y ˱hM$q m ٔxwt4'`TH2%F{nvfZm=ToiL ƋX81&  ~ȹ≊W~,#ə~W&KT>qZ_ WVl;OA |jWN >#f)nvwwTn ʔt+eʱ{ި#5h'eV\5D׫cU*J]l]jTj)<7԰G{TF"8c{!jzuFjI= |Bi1X2+ ,91@ƌvP ,0PW27HXZ1u_SVzBPdzU}C*$P)n'@2 yrG>F= m4? @ƴ~lE{UKk}af"j5C\25ؙRP~<[9`]tZx<ϊ+5 `liLJ_* ||s?td0+'7ézVuo|:Q(fҫvp_,)gޏ+ͨuzPu],|-ZZ|m^[Xrv!Avv ),UU[ܞn?ZAT?UtPk픭gs#t61rA㻅Nu Q(U156%JNs-քÂjn? ~X_d.>zf2 =֮f݇J cNidU}_r.FTMz/Khߋ*߸Փ?=byJК'jr uEVllm$֬ϊm[#[c$3^_hzmfBVxwkQ*MT?"ȣ!W'}gFɆ똣+̤8kB(y {&jC{"9 pKz{ _0żg8<8ᣜ,(j6 te^ϲhԟhD:pLRl炜sq͏(PKI #PK4golang.org/x/sys@v0.26.0/unix/syscall_linux_alarm.goDAk0x :lnCZH[COEPY23YC~|Cڃ$1_]Ux7#~&1xV)BP5~*!H#+4fC\H9t+ >jZ=W-%$X|GϞUUCeC w'*v\d l|twA`܀QT1n Qj 6{ gt{NJp -@ BrɀK[ut 18as޽e8g>!1]fJ{mY0mX~KBj:Yi~JO*a78* Z>= ALr+AW^/{]tvyHE1F}4Į ׵HF\&]bA3"ZWU;6.<.b3չ<]܌>ńQktyE{`<6XEWm֓թ7R4JK,W %Je"XXѹ %7e`*U\RXX n|4\KjZ/./ʘ*eC_Wן__/:/?cFíѧܐ`gdF06{*on/M&f;[v۫!oQ `Su-qעJܵ}&GehE3M*"Hm kH ІkVج,OQ+bAD;G`Mf2@rFGH?liצu*y||c<фcfΌt0kBwR+ JIr[[wN+QK[ņš`ƕCBf] ;斵[V톒>\O p. jsv+jک(N.o+l" R0L+a * S=lƃ~=]_mJ^xKdiww fUѝ/k7%bfO® -E>\´m ] KV; ȥ!1nS*)]EE%h5FpcașHGq)3F57]9WUA3c ":7 si3=LW}V.2zp L1߸z?xsv5g\9FZ)7iv0$p=Xd!5I Me+iJ20J|\j2 n;yqf;}`fg#Z?KČ[nBgt%&~)b6wcµ&;('_r;;Pi6ʻu9[٫=uM-Up֤vfTʩ`&be֣a`4(ztHs܏**؂5p y1fazc5xy0|zߡҳ[H%݊BJe&ߙǷd@Pix+T2y\Xk]TbGY 5 g3.AZ 鈁u}KaG{zĹ]o#8c&~l WcxTtQgSZYH -;GeSg;HM[lmw,%PK`t "PK2golang.org/x/sys@v0.26.0/unix/syscall_linux_arm.goY_oHƟvFe!"m$VbEGFscnC(Mff߮6!LxrtUp~v7Ʃr!0"0J; pT| P C0T5WD}dAm0xDy a~;.)4 ~("bx"gID6)ώC 9eu0e>HT+Lw%}`}L]]v!߁#PK/ך\u:u!;Y鑌DHԔP%xOnݤP"QueEWkPl zB9`0ig=,cw:UhF#p(C|uJzKD@١!B^!FfFvd؏9=L(s. 3Q٠&e+RAo}C ;FoLJ{_kx Z'E>2}ylD9N0|JJhF<&4s:$!\d H(.ٷ%k7x.<.񠰒}MzX@#8@b )rk fz=xпǯ{寏T @Xf9$&u_hOd莄1ܣ'#:Mx}"TC$|b6M[a{v-߳"VacڊlϏEIET_)+[WWU^܀"ڂTMv=vnP.)Cdj4#Np6A+ Coż9 YĬtZI*m^pD< *QQPp_e T\ 5lnyTf^PT0HY@oxf)xR4F*ecY9$Ot>JEetf^%,N٫mSTOe-%xj{[JXAn{T,1Se7ʎ7 lKAe2 UjT!\oYC?7G|1GPNZ֌Fڌ4U)C[;ntNV4~LîAKQ;mZ<`k~mj(>hAZ|k2D Zƥ{?9貂?iy*J'X a1W`f*Ĭac=#J7 $p! X{¶s{hK6TSڒ3doxq3ͻ]&j.T áD۵0x]ڮ&!a8@z bȔ%EaV>!s+Ԭ}S%͏2{?d.i-\ZQzۓغX=!} D*`0gʲ4&f1$Y bPĔAfT jnNjTg: PKW PK4golang.org/x/sys@v0.26.0/unix/syscall_linux_arm64.goX_o8>>k{x&F\PAK#D $%($EY`3cp덂? G\m$ E^"ԆJ<!B#*a  #X_RR I! B`E@ bzL! T!jr|V \ta `9fzQ_}X>$j4k忯٩C7|*]4 TDUz"j]ψڀTuSqB]pVyl%c٢XDV |Dk" %1?B,֨DBS|es& ՜RaS_gFBK b8 0zp}+ $iS̷ww~7\VmELCFR$IQQ]$jmp[QrdMq,'ϋsB gR@* Pa[Z)"4ł$GDMfzW¿Du18m`؇YߺŨFWu\0ȤLчmJʞD \9){^LԹ VRߧ}q닒wUTym@A_Yٺm}7qN/;L.6fZ+ҖU+ۇ9 ?彡_Wbdhid0Y,/g77WCM֦2<ԽȮ 8ScsTHilT~SBK.LpſqDFLz(S~h= Qh*ߗxھ#0,b#JuM9ݷ w/57ʵOzz#ͨŶOSnĬ_3 e-G./Mzf#UQ D"_IĴ2G %{\ [ĢoPm$a̼+~mt㇧cjmz6,` KU2yz<Sh _vS?,~l1wi߼ Vc}~9Grn}x3C It&r39z `vibb^~Z*Eyu:6Vy<#7(cΥ}=˵C2n8YcC&0F!ͣRfNAB$J#ϳw Tg_뼔!ՄF9~(.y× Л+ABõ|v _ymTWi1d5! ]C#1C'gg̐*5SSӫ\28)2 ?|͋vPK|04"qX3}lv17xCR<.$K=B-5xNr~-!xJyh^WQy4fD3 Uj@WF ewUZYs?c5Sz{j\&}숹0DU3lzӛڊS8WJ40eЈeL\&DVX.5/J1j~W(Rʈ¨tquj[?}R˘\ 9ʾ2b(nPKgPK1golang.org/x/sys@v0.26.0/unix/syscall_linux_gc.goJ0>w5'n!%m0&do/DE.$_.a~>cǸXE qxV+ˎmU5)4f1 -)ڸc l@ܜi<3:J0e41 :rެ8UQuy Bc2Ak'L-#W ju\D c:+eMLvԾDzNr*̷4 %hV%م'9Tf%dqqh/9c ʉ:4 ~A;ӹ$BҖ^OTZD|~imeN$F!:R҂>q:a"F))c GVcf=-PKSIPK5golang.org/x/sys@v0.26.0/unix/syscall_linux_gc_arm.goD@ ?{Xvak/[(}XEƒN&KG /aAU8 *5A;ӹ$BҖ^*B-?.??TDb#EACt,|S+鲺M?GV+r{C(VY#?"jfƟ6\4/tbIB̅qflBg3~=k17b!fC^*L\>OE]\vH&& =kN/h_8PKnPK8golang.org/x/sys@v0.26.0/unix/syscall_linux_gccgo_arm.godPM0<[b!i,e ۭiKM)=“J{qmBӛƣ cr-)Ckq` [+Q^#& Ċ|O0;>@}UKE.(#tXOq#|hcNƥ=s J ~*$? I^lAIkg"%()\O3c u8շoJFr&T ?sNU|_"JݵUd'!oY1bϯxQ~2x%}fYkYX ѝͻjն]|)}6spwʨ捋yŕNQbQ)&vOPKFnTPK6golang.org/x/sys@v0.26.0/unix/syscall_linux_loong64.goY]O#;ҾN~EspX EBDeGENwuű[gvv9sV ]zvH$NON`F0LZHՃ!c`HT(3z~A%R""B V"C1+\+C#h\!5KX<A&ף4CL~%Η)e0!Q !ݦDH RHzUq"{ T{F3Z]Ys6)͟@9Xgb0$ʨB@qP٩ Ja 1W}9u0>;-õ8` BDicU,- h{$uW4jaKc1=>\)՚P{YyH$QDOWtxxQF>JZ ɏ=]ϫDcF^Vゾ9 OvdjQڇm9rE;kv+#rl*ݢq)V0Ky 0a{vk%QCg [|Zl_<2g'R]xLpv":I_KX+SvJ$fqM;X:ݵ* 1''d*(m bFV j'Vtry.ؘNM@Ё"&yT[-mxnZ.V3o5Wm#D|0ktZ4}%) np!j{M]%X`8_Lot޳kBq>p)3oڇ`>sq\fp$;(ϣRO-F3s'l!҇|Bɇ rc뿜x )QN(\唫r52*7a--B$kX- "DUlx`DЬ=fbkR-LLE6w㙫icٳ*W9bᳪI;B]VᆕGZ 7}->lԪߨtoj=M~F~!++bP֢Q U?9kMB#:9hyCQ^leU\a5}jo4#yo1jjObMƕ7`f>);!8><틬Qk v:kKw\ӭio(3 Ctx㫞 Lk;H+Sn/ۛ ZT3<+s>FS>pv&z`b\jS<:uO+~7GLڳMgUrLɶ[-W4 CooDTP+cBבZV ^M< ݙ$;\F^Ǟgr7g#%:FJ rTdнVhܫzX&i^3wco8#my {Ï_0[|0hSq0}㷝r4f1@d{"caŻHЫmӅ$1U|^\[GsFў`Q,jG*mm㤀>)K +u)6$QrdBeTM(7lKԜ~T>25Sr;kc{l0 GXH!DTp`z? D>ji>`srhDgEL. V*$$jĪUPN4Fv/ԏ٩BVJ9cf $yY|:~ PKԾPK6golang.org/x/sys@v0.26.0/unix/syscall_linux_mips64x.goWn:b& dsQ : J8(@F6HJ'ԏ-5v hq|| 3[ |<xX#\IZ*= 5(Ԩ Lcx2fUiX;s8g1 `֑8DHe.`aq=߆sHpx|9 p&pte pEsBA~zLr5b&,fX0}9&zpfJѿT#u%x N'Q4FX#9O_}N=r[Q-V]L+e8nrGοqX%i}.-ey9v)6 ]tH{Ml,eY6ۊ`ڠti(\cХFIU }_ [\/T]mk|}~E' SUU'ۆVඡ:rskU4L|0E !rM \<\<8dn#l_6etةs8*~xU0 evū qZ|z%]RM-:ޚU ?6-7ۅM|'k!io hE`.IF c%,_{-V@+XZ=tU76*p4yy9{<=#M)ĴH`|gT=f19X<%Ds7 ع:CӋײغ,PP, p~T'Ӡ -L $ه+eZ*u:LFxlYUb6t4uO#'PK8NPK4golang.org/x/sys@v0.26.0/unix/syscall_linux_mipsx.goXo8>sR'Y sAn(z-d)]_7"eI?á`F,7 B:M$K(Ql19gg^"ԆJ!B#*![ #XoۿIOQK4D&Ԇ( 5B e6tv ),oM#H)+˗f4_9NN$A(84˹P:r/C/I s`!U>W>r?} LJxW>q Vh&㞶\`4@r1"S>~*3C&1d\fل\xD[*ѭpxKTz}uC,QKh$@g~<]]VX \PH̢Q(QƜJZ-[nQaB#WW:쓳b]¸eɷR!sadr$ÑOnks0~[$ }x7< #4K(:`kQZ>L1T.$ ozJ y`nIه`MVDBU(;8 C[!/iqTxJO0{{3_4b+\Pͭ`S}6|w\J΅q\vwݴ2NI"fYxCS| ,hZю`Us KEU+E rsի!:B>]$5 JoȺ{MYTk 07SP4n!gLaA*eʔJ-ذfk]OY<n f%3[v/gTn3BjE.d G08D\(coԓxھ @`z9Cn܊W G?r:J2TL`N&H|[ԶEQ2U\?9&yuw9,K\RƝ[lҞEU^qDڶonMt\6{b^w۾ڊf"x~#VrQAw"X^/ Bͱh.-ݲY{RHtBV>oJcY\&(:+=T"6&Sny~uV;n8Ds4_&p 6.zT`cD3.I?rSo&^7gA)ZX;Ж0z4D,Cqh#;pAVZs *\-l|_/G|k?D[1t%>0tֳfEp67PZN6;{V.RO4ZGcHp2idKif(MJ#`*@ymh~ahߑ/0W~zV NnZ1O˕hKQo1,E]h}1t16+j-q)0iPC|0,i8qtw3],%bbKC# IFc[7PKŶ%?PK2golang.org/x/sys@v0.26.0/unix/syscall_linux_ppc.goYmo8l~($N HkuAlQ=F6Hʎ?Eo(3`덂m9\jÅUY Pbcj9Nɝ$źP6Zu +xͣSzlBjxs>7kw4uX$rvלMK/T N]YZߪY%woNc\2V< 䪓E IKv!I+h*+="kR9%{u o8e E \vqI[Z ^ aJƆv"Ag峢GVQI=2*ЅÎ$=rfK] TD7SPv 7"_A䄊o i2z|2r9ЎU:/SOi?x=V_WKuL`.#zP eP9ƇLKL^7m{ )]&ͺɔ5*s+&1jۼ;vEݟ$+vng[^W#xI"xKe&}-oipz% qf_pzqI1amxh1am;e'D%izKm0S!||x^O*:6$ *vdnνS kx׳_ 8w%=%_P7]o[˽o߂.\"y!_-t kUG k̵r/hl8 JRkywr|@ck]JeU%3̉7i8ieyD&ݜ]hDů0XC_dbGޕȎrz5%fg7PF&:ڐ,pزe$׳Uͫu-[kfi<j3J'@% r~ zL˿͓RW`Mwfk-GA*}#_b4~-Ҿ+ZSQN} 1z"J,e=AJ$:amؒX}CCQiPA4X"RmRW{Td_lO %dzzwy^ęTFfΒc,h/^zђsf StPʚi[a3v'R_ H3& ҡٖ̮Ԝx ' 4u4svC $藺4@"GC 1L9 #S@20v.^á_m ѩ)kF;tPK>~^hPK5golang.org/x/sys@v0.26.0/unix/syscall_linux_ppc64x.goX_oOqVea[U#J,Z!Bh5!N(~e M}jL&Xt4pÿawDx0MQ*=)jTq2G C0GATLC$3T)@woڜ9Z)8 2sDX-g?qI$?R)p&g$8<!JgŒIh/0# cnROA 4cGFcw#("s,wh /w%rp'QXDQhCL%a70 1xR$!(&BN"ݥzy僚鮎JCPPƨT\+Yz25mL\2,td*La֩фږ%7km9?r?QOP*ҜSI=թ4˰7rVٔy{]]ҕo!A-[reD(USq*ޒ9{}`RId m R[?#MdV8FoDGjMWE_h2xIxG`RaLFxmS&LbT,6ʘ`sNEoDHSo 0r %Vcډggz Uz}Aw2ධ[1gC< ёء1IĬ:]6rz<7jļؖTz@qH3Y}"Lۮq'ehX! ˜[ǐ~4 `dYr[ФJTo>I]ZM،5B ^|tiS0Eby[Y]">KBl`=$E KaDV(Xř+p_ EAY g&Qvkr}KuWWb=׍tVCQkc d\޼R9g,-Tݷjo/L k=/~;]?o C:|hp2O,Vǽ}m"5Ys !*%H*j%0DEiqU9/\Q(y ѝ]IB'T.)gK7{6ʛ5U>AºVm^B7'B)3L aZ`" nZ(N.ǐKBs" FqfPL0q ~{\\VJ.|fPK}X%PK6golang.org/x/sys@v0.26.0/unix/syscall_linux_riscv64.goX_o8>>W뤹 8^u#r6(MD&+DY`3#H[ɖ+ ' 'LT}& mwtw AĠWLTDLR(9F?‹ߕ&hF+"(@E#` ar5_cY};:ZEƒ$S4?; a<{'D8{^JKLE+f}v@|WaXþ^yN2] 3V.ŢD&0j5(-_6TojUB2V-8%z絺HEj\7ͬldL1Dڭ :4r_@g_pG!Rگ;JDBfJt#Y?v{5ejr6+Uʋ8v=I88BLj;H (DZal"Л5$9xo^''*T밸e% "=wliתN3U_΋ב3!U֊3cF2MV^\}R#S|ig1+FEuND{V:V&w"m2:p^VbӖajJ/`,pluS&Ψ,ߪ7//FE+d87YJ-p0#_R^ےutCZNBڗ\EL3Iw !p!VTK)֡=0 {%c<$*VQ$)RX5kkƉƨ4uj[eTg ۧOX.Ĥ۫pgIZ4FGLFLAo4oYE,bށt\ȳ5xwCSViJ/l8}IPK݈PK4golang.org/x/sys@v0.26.0/unix/syscall_linux_s390x.goZoo8myE!{vf} xNQzŢ(ZD(RGRr"?ev rػE!7g|)i:prt|7sF 0b  eq=' s@BFT(90[Pzh1!WzN4D !rs*CB fe1Û7(/Dw$E(8oi !h+" ~uTq.L0O%,k_yA02&+dc] G$BmN{z^z !3p|vZ!Gs5pAC *5 tCMD1JN=HI.߯Ɵ/›覉ڗY8DpF˂GDlrEZQcJV ~2IF3>;Fk;op^kvrln=٦2%`H.59|:[j\mqwxz=^fU}Y5r!с`q#qhn[rx#1su*$<5HнC=XOX?i(4toh%a{BBWox.F{nAnX(%f.3;MݐE%]4rYJc+ /:Opɣ tWn*_k֟aO6zk[V:UL* 4*|G0ཪ ^R V{;/'_WQ4tHb t̉դKkpk*]jleݢ!pʌfK.$# n=99au<>3j퇊OƁ-qh" r] U9F¨_ZLU#fE Ǎ[;W<&lIC-6PK6@K,fy)rYH^U}|13l°a@Bw%SՁyЁ.בZGq,a^zzhJE KQbd&ȃUARQ'axgvy,kqR0M&|)ݠnp` o˂ͤ'V,5Y"#q,.'E Q+p Tgܚ .ĝk# Őe$7(,hUP Lv Z~%'JmXI"Ҷ!2('@?PmzfKBOQ٠T?H3C]le}zQu2nL—~7SUʁ1YZ"{ԃ౱.UD uÇt:T Ԯ}9Ly?[n9ZM3#[فRr12f1<= ٘Q"CӾ2f]s)tkIJ4܆Bg*ږT".5ZGswEKz0X+shUw(9]e\EY(IۨClnnhK8U= `ߣ!WLTS O Sq*-5N4]haBjE exr xck2hVcAܪ+~h;PK|ާ0 %%PK6golang.org/x/sys@v0.26.0/unix/syscall_linux_sparc64.goW_o6? ) !s (N2ȓ\#wHKI!Żߏ ,t7"{wXo4\BJb ->ZmsDhF?ZKt()8*@[F BsP@[by.!Ior!#3޼)Tm<` B7jv̴ر @E|¥Aj;UT\,*ŠqltUB˩rLp?f[S q.ER.:5>`amFA$L m*gKAb}acۘ)gtd;t=]!a"Ity%{gHMyѠ9ՁF2H6WjP'}0s}[[ $A59͞[}PCSΈVF_z}h;T,EFQf:+ܵ w-i!@q\Y ?>US^F! v uN0] &5UF^sɅzb2\QeK0-ֵá3sڮ9E)ջ:37&svgWڻv=q^(b^e^K!񎩤s1Ԇ5Ԋf]O/3: wlj\"B7wUגJ|ʽ*ʲZ(Bs y Z)?ɣ6)1:l1RX|b@ūgGV'HV5K,PK7U3`۟υL7R锉ag"3 o(2& 43#~yU(`2DkJs?|#N{.Mf4pOxnJ1KwxRM`M >MY]f3oW1Н޾v'/o]q8Wu& |Nʞɫ>~7xdr`yw9?Ƞ鼗Aq.qK}Sn2Bρ8bc' gYDP;ϓ`kC,[ ?_n.3h/bl^iܻ+~PKqN;xPK3golang.org/x/sys@v0.26.0/unix/syscall_linux_test.go}r8)}e5P'N[,;ޱe|ٔ "A k PP$U{=^a'He˙L{#@nv^ܐN'23r*I/1sOzqL&iV,6y1s  dd&WL =61^1Ќ95$Ld"B1sFh@"3^ogp8$1] 1~71Lz/RkiqـiD C.f9JIol{oݱ>.T" _vȦ h)V#3u@>\`H"4X^5f2bK5kߵnz^1L&>ef`FXg?nO?#Ҡ"T x_3/H)` 4(4fD :%36ڗz[)EpZ nsdr6[eh|=]HBgGDavB #QI ![5p8) K<ݬXI0 TDG1}o!<_B^kɕ f툠 l#TkpjXZPå T`p6F#:Yp[erkk"<@bFZB*kkLI98˫xʾR._=޼dԇ~Vmut|f?kCRi[d) 7`ebW m\ݽnS[x6+ FQ: ߝk^c5 &_aBqZ:FBτ(r%^ UTrYQBV90^䟄^tzx|:p3:K@W:$Sn4,HL%khUsORɠYn/M0(W1z`<^ *(krɄ~s_R1oj;)i}о\,bn3*#!̱GH ŗ _ј Ĵwu#U!YEz5\dlu:gӳE5_ Lš\nGn0v ;y_=Ep/L!1c&vE qgZdG_ovdI!!n3Bisl<^{]M!MbLV+"t-h2CC&; VLW0)XJ*`j!&MXHiV,,NJԴH7$&$}fX@83/za'Tc&y Z1R+ 4z҉JnV Ι3UJ@̩FOew1gא@bZq)`n խ !aS)c߲xzjX禓0O\t}LQƲ.-iɥﭭ[јE]_Q߳4_ qLސϟ _ ^L"жoq/[$f芇Qdd2`@ 3~;ܺ:fl%sW$brCmAH .H"ĆJt?` \,oH;yG$X>"mߪ ?' r  Oyv69]m?@.I0 @(9YhVT?Sۣ?GR:- `K2f & + V?1{B@;H\PB^^TWi@M<?/˷)ߜm|8\& EL\"zk.A 9 nP,'/{uXmMHӷ6xR8b"񙠱9?1k\T*G(oɊ)mPܢ+0ǧk+Gq3I),L=37e=7eйYZPB9F2܊_-=۳2sk4Xik!v.by=׃H 5Vs*F+PCc cg:(w|ϞYlͺE 3D7>H1vq67dJW9sX\y[\Xܘ£T}ݢEH!w1,"kvy൴HY$=+6RǀjF^?G`0uS21CkP":$kUO5|^×7C) 5`U'O'!ad*0Y/`fX% <.O/f&J-NzπYC6~*?č0n)e:pn3"Ŕ)pۼq+LnA~^s`/c9-&^KA5ug!'vlSjy*3h* 񦘤Q5K8M7+k҅O%-O# CGV$CwiDK^lo}Dvtl\T*_3n"[9wRR6^32 iFcmi#g4 lk/[|$XG$z-<7^vp^au!Ciώ,%uH/ )[= UmC1_pӕ!Q5.&}& WI |(7.3G̜ 0^ţ]=R1_ɱH'r}~vq6F-wXbJ}xtd X-j;|k?O8Eut-i/ӑ$ke,Ȁﳲ̔ >;> "Zł.w8<`&əC - d_M V>HEs;/Ǔp_&s8{~ -dD'AXBEhf@\I&h͐bH6g iZ\%>UblVT&>|aV~JnkqA~?iĂC`i%ujt9{n 'SҰCBX3Z-a9QxL/_j;`+;a,;xw%㎦Hyc_' OTY=傑eLM$B3wh)КϹ@8wµ,C^-ݜ4}rAoщb6?5?K =;Zj}Y䍂9 G(ₛ"ջ3{7gIe"v@CP|;5+oČ,#vYL70_#, :ʆUfD nki\7DÆCw".b&pS:zN^9U)a_5I'd-.h.f1| [4\nˇ]HoY.^ܑ9S̮BTL"\P'06` ){ɞ8BnT MM@pJr̜U/=5CCd }ru?~~]Ôel6RU1^*G,Bn?xn$ئvG9en4 |V6k|T1F(hLj|H1]]D1[&kITt>B`F ].qhjgH$`i!|=>-OWۧj\am&esco<99q" 4]!`]"ܐjp}Qf}fL6)߶ʐZV7DC77Wo<{NFm  8C@ِG:7Ʀ\ 6d[K Bb$<ɐp49;rpqTN ğg&˓??d '·=B؎ rL ^bfjvƦ&uO\7ls-VL/N401O4&76)ۨx7Чߛ&yazoX3$rIl['"S@w>%gW&{EfPq#yX<=di{<N"H?5m~>\J*!GMܓp8(`q1oXd7gշ^[^*+1J7)Xs`$T*FƱr&X)_Uؒ)#Tܓ[z7sfW0=c͆Ku|M1,\̢$&6SC&JJ㗦 /dxuv9qn4>&?'Ȥ8uG$5k/"81Yy1˟te2/Ʌg1[,-b܍f ^@1A)u:e |r~/ @ؕyV.l\<ݹ:'?lA)+P^| nTHg)?!=PrˡQL:`2mWZm8 d{WpþwFrx9mH G/tħH_Iػ+Ru㹼ݴbL% }ٮJUn#enjAt̖k#ʽ{M,$!Ow{S-d7-+å00 tagEz;]Gfdө~i"KBvĔNJxG{fIE[\{oFt[yVL}ʠD}[^HaU!'2Vt3a3Ʀ ^F-d'Me"B,Ef*njnb֞9g %';hMuv w]KH=YW;AxҿzdMΎs.~i#LV3"U2Zt.LKE^Ev\h((rxd,c+!z4yץٳ-Cq?Aۆ-wZ*1&ʳAVטW(@B&%̦K:Wp@?maF P9(jց:("R>曮Xxxh/ls&kKjs%}zmѕ0s"ų}T` %(&-8F)ȥQ^6[an֩te.kF^{cH{GLp1`+'jֆ̥r=2G-{sMwոs#}E>e+O9Ug: uXWz&Ffq #deAUbV&[/'?G,mwM*262VX(UЭ,<-9;77%gۿ|OB zgzxaק@SXY<fAS2}p=D3MZWmA"XHJģj"oE% z- Y^YՙT21\0y5\vJ~@*.yCnד`<^N?ZڨE ՂOP8c9SvDL/S\5Et2Y?r#c֔-]̫-RV*~nSRWUUEֻ|d~m[ϧ̀$Tg!K†=15̡붣*ܾ+)d,Xsuv)`iW,Q)7iX\XeS(4N&wc x&Ww41=SrxpTV4>Ln䷘M@CBr+#dbb$o(-k!E$3#{z7<9nmM2(+^HvvІChű `թǏ7\Tp#1)6}4] vR.}u"n"QڗfQjD>)jƥpUm!j\f+w-a<{TwimV@O]Q=kʹS}SJ;;CW<2Ճ=P+1/\ C;? 5?.S=;lOӛ+[z6oO ,<|pw7uR3GݧhXICiyE3a)av hKؕz_r=Uhքjұu|sk8ly;kv5mΧsM~rMzjE :=+ox Kcn9 H4T}v3o/ebDᶮ-7m׫m}DoY*[o(t_|c///~gtG^?QzKW‰mϕZ9Tǭс9"!KӴp|.?1d[Q_PK38%#|PK/golang.org/x/sys@v0.26.0/unix/syscall_netbsd.go:ks۶_qn?$6]ז]Mlk:x<&(;)Ry6b8o']8\ޯL$f*ށ4 AFN{wj93,TkT́OS$(4210BB$)yw`Si%ߣsm0g#rbLT LI )$QaeE^0{=DBͦϷEBE  &\uڭ^B?OS6ѯ!u4l>tGsΕ:vK&0(ǁ;lıL<!M~J[άjPބ&hŦ`;햳!d=sU$n:k5ʿNr[TnOȌ Q\L:eGܸɅ6KAYi9jΔ!wvۭiC[c 8(,o*ǖ-Cx2tD5u~vH6؊{quL^S*>O>Ơ!ZB/饘NF|}:Nݥ[|z6 - iz$ aZ2c.bYs[dž?jDD4v,}+Cgh=Mο<"F }IهE9{R廣+/A W(L_`T٪%֟Hʴ^5/ e'֟;,Iq1)q ϗdwQ\/?4I>d)_JH][ZQUEܖm8ceEu3#KE ޳thz1u dq m?RZZۆATaVAɬkA]2} ȡbny9^'^+u {w rݱ{}[,X:CP)ĆK X*i^s²8B a4]}OH"&)/Op-oچo<K%>v! ^Cwww=#maXp[@r%n% XǫE ݅HcKC3xl F,w [tZRPDž)fHVusQp7z3iܳ3~ jnpx.C4z7Ov38^EBq Sz/oϯ,19S\[w9>D T F4&I5+a6Z38REf52M"H 03pp&} ͕&h(@5kK wV奚!,SELv#,s-Uh[ ͟4]_@͇cYqgiDsݬoKEvYEC[' Z>jk#` %D׽QIkLz, ͼޡ\my/>Cxp'S636U}Rx@e $tbF`h1[4+K5-8PO4Oo5UV0ո%kn!~xqtGr\xV`_|3p>bDF)&Nw T|rEit\*e,Smy7۪n6kmlBn7SΙi䣒:ᮠmCzr1CRly1%T^Ga`jtox, xpUgM%F&/x*gQpc5lU k⫃hϙ:5:?)iK;7rWO()7 3F9M8*66*'ԺgATYYr; ~ι"J@;*.1 Vyo 9Ab`kng*O We+2[)Kx֫w>)+u!QӣwWRm]]_3Nc_SKm=-aR}۲\RyNEv(/&J$. XIXΩ#Phj&PohVGަUu :tsͻh"7&w313 { 1j O:-qXbř[Y^O^yj |yhy gӲMgqSAn*4`لнע醭fSQ'+ aSW^5_a4%UxӴ)'Ȫ/">7 ,li`Պ:faLUƈ҇">Y|Z`t&U(K:`1WVX~!GBbB,jQy#K&N9R8Q *[h66MUYdUslw{zG)^9_kdI$lyWD`g!úD4rC6rR(U`BAG!3i3MQTYtA7*QblOHtOVeYalŨ^ Ee-PDjzB@E[ʎc-+euSNilʪUah֙`[5/|v߼6Gi=xf&͌Z8eԳ:)\;ی{ I ӤZ`bYĖdz+2YW y6Xϔ@:W?I WAʒ )BlcJElzV>#-zuo!h2O'LIyx"2wZn3c}n[| ehb=ou?5$ /{GWu7ܛƍ=Sߚ4_,+>XVj<PKЂ e1PK3golang.org/x/sys@v0.26.0/unix/syscall_netbsd_386.goAo03ӔT%64FR%ؕlQMȉhBgWvwWY%pEeVUxۀ;mp $(Fr$6{^SJi%xw5CBcPVTfYUvx ⍗YŶn _Y#TO~G"$0tsCeMCѧ2|}t񚽾cG<'v|D;E2o1O?yF[Is4n}iŶ\J2;kd_frS9eoq؞+1[HHWY5Fec"3c}Iُ;8 kYr?xiytlg<E?qxo:PKR63PK5golang.org/x/sys@v0.26.0/unix/syscall_netbsd_amd64.goQk0_q2BaY_>EEd)Hb[v+I{soUa8?P v@>*c z/ )h\$oIa{͗RhI6 ),VA[pKXw;PeUոm%`Ae^ȝhտD ~=<Ж. u}ĽGiCC>o=g/QڿFa^A0'ǁ-_,-&;E0?yZ9EsF4!eT+W,ПתHWmbh >Њc{]l""& Fb&;5 M)%@N0^-7wh(uۨ=..`A^ȝh ED+tOaOrH.`Ih˟?SGo k , O¼0' _lx 4j)Z1 9[j2nGQe~ӆOC|ϿqL%eʚ̐m;n.Uk1O>t3_n+Σc78>/{й PK>i؈3PK5golang.org/x/sys@v0.26.0/unix/syscall_netbsd_arm64.goQk0_q2{KKa>tY7²}tmRB8V9|ު^7-c'ܷo7=·7`<TUV{INt@"yK >o|0RFK`Ha%Ԯ ڂ[zܢֆ,]m{m./pvK *BDCeuo%(I6|yQ௃'=JWw!}S){zŒ5 9a> Lm|l17)|sj)6 )[]RdVERj8]Q;2<ӰB( T!ߍo[T&˟j$t$Z7D" ErY2"KSgL-ہ۹7"L*]5@n-9-ʈZ@]>0E$Y^j;Frʑ.kՎ<eJ+]z5*2no<6vtFluMѪ1GrmM Gp&i,(3@ -S8SPA="zdMsҋ1#E`Z{AYtTu/@dZ˪8t֠AACmt6^,?}sg?@t(0 j8&TQ{ J߸6#YB 5zCzOlw|zwTM2jC8CO╈{S(tlh Su:?0ea]Z^? 9a)to+Z7" UD g<^7u'G]^jO֣$חC}h,twb' N(__@d%J'NܾBWn54pm0',:#vU=*f-ѮARo1xQPK2O=PK0golang.org/x/sys@v0.26.0/unix/syscall_openbsd.goZ_s8r>Eg<+fo#{]\S[Ȧxhnn{"eR/sIݍF>z!50*fPmSFbvZhxVF`钭`)Z+2Bd@f ( 3\ *XB `1LG\/ l@_}fRT b?KpɢH}`%\,7:9#AU#ueDG}6* |Q\_ d]]{bU$Y5ނIǓV$󎭶\^I k3WJI5)4uM|]L}%$p+g|`>{O>/>_2cI-`4VJA!Ȕ<(.R>ǧΊ9OF2.GM>gA02!P9ߊ?BXZEo~ῠڡKOvm揳W(̕,i68OI}J"$5{,FbKTY~ u=X2{Ç@|gc[gHX`%MOۤ;-)E;h\+a%$:S:Ќನ #_M`Ũ@B͖ds5|(\Enϡ3Nʈ"b֓)݈¡̅)6Jqcթx ͨ4vg!aL'Ts| "4n*u*)O>L܄`B>?0UDkm)fb= \Li83 %߱t*Ѷ W-p0ǣ'NvA -Srl|^uikzFy䩜G0jƛ sƛױ T}TqmY֥j eP{|8@(SX_=t0[qź%ǿy %֨.dc5WRMQ+e%D (pU \XUH jPԦݱs 7N W@** )[V,lȔ|F4yN]yRɔ Q}b -tA2Hd֗dRG.=P^<~.knk,ahkZժ4r0hL&2I.Ţ7+en`xSD% >hSTǧ?˲VnƑEQtpx%Î ѓ_lC/Mhۆl_Nzq|wN?o~>,Qf9hY_~T}׭S]k,龳n|=> vX@4,Ⱦ@+ެ=:ExvpH=bn+mjqxP"Ri MDQrPm0%;ʠhBzqߟIGhE6!6U7FvJEr;A/xzz3^UWעpZOEXxI)h;vs85rk|AvHfOܳ $$)qEl+G̒G=f OۅA1:x߬[R{܎XpGx&(f!fK4XX.icmh,\$]l2ҩ%/'&kS5RquZ1Fw)rS&-Ji"^1%#R쨋|ˢ:ɻ\/G\t"fخ㬂 R',(`F>]`M2-FqsDn ڹ>㼅myl^~3lSdեQq<^&slx-*}(ya\5; J>|Ŗ%hQ2&ѳ\.}ET9<",G9T^NJkt Q'k.7v\zAQ*aw)(bXHbDιغoU/|vQPFV$Pq}_4Dԯ772]XWmJNJݨHV}e{U_7t:}OO&Q3jpΦ2b˝eeUo%؞r+3't,Dj#ڎ, V"LI$x*%H]YRi]SP.j:]NK:qy:|.qp#۰ʲ#DfYS[ɜI.`$ 33+ + 33t|(|lo1VuXU lZ#:NYq[ـ3 תY~&Y-d{R-6{k7`vY:ɆlnvPl> [z11~G1&q$? oC?r/N7o\njuI<ŝ,1uêZ!IohbH1O[ Y; ڇ\)!&%x+@[$TT+2,:&PK-PK6golang.org/x/sys@v0.26.0/unix/syscall_openbsd_amd64.goMo<ϯ~Ŝ+%i`rHݴ0䐓@+E\R=y,rmpz|7e \m'&?*-\i%A:EЌ -)lT}PR-2!t"@ -q*h6uuF*,[w(^-pt#ee;!EKVȲ&Z p{ɜI.`$ ˳;x/9F5m=fAQaAa0oGf<`V@6O:,Шzhƈ,"p8獚my\eS}TO'|^sn 9K7ِ 6t/ ņ;c~M?n3tj({n1_<8 y!,QUu]Wwfby8Y c-uh0&Ɛ[ Y; $SSX VRc%hˁJjE&px8PKpRe+PK4golang.org/x/sys@v0.26.0/unix/syscall_openbsd_arm.goj<ן⬂gnҒB tl,2tmҠ+!^d7&m ]YߕQYbv{>G\1s c0H7Lp-B좗A3:7!?2ZeBE u*hUuV*,;wDmpt#۰ʲw#DdYSd$WLچ }'1fq,7ƍoC_rÅ%۪Z_oS#q=KaLݰ*:ycRo#yr¹1eyzH J0Ж e>fvk7llgCbCpbvcc\G1ek7:5=^SnjuI1zg{/aKk:@8rPY[fԾa߲8n@:򖲦f6'8ĞjuDk,/ʲ$c&4JTPHT 5Β 0ZEs{|[da s&W#L&k׻9kTj9qq2L ) R=`T9i zA]ӠtOxGꥒ8x=? 88yձ:/c _C2=P-#{tKI3o'PK1,rhPK7golang.org/x/sys@v0.26.0/unix/syscall_openbsd_mips64.gon0SQ6\N -C⤅Q7=9$J"LjyR=ܝ'ϱpupn m'&ߑʒ<\hKt[R pSܾp0d ņP*hV}qJʒd/VԄIRV)xO2eX& m:xJx SA{8<_b;aj s|:!b<0A&9ETF]F͖lmoVj 1,CYFGTHMVdSCP.[=3ƎFykY83w N/]wPx;(:{%'Q<eYbInyH1X c v0&F'ش!7~ȳv#U'{S~Dp\I`-*retq8$?PK=<PK6golang.org/x/sys@v0.26.0/unix/syscall_openbsd_ppc64.gon0S) Wj@䐺iaE!'&WP#Ȼ=,r 8p E \m'&?* \i%A:EЌ -)l\}yao(d: ŖиhED YV;Fm^.Oqtדݲʲ^;?V)\qO2g X& mtwBt_<èM;3Q  +Ȍ̊wȆiW)Z12Kb#yfU@ix'T2ag\HM6dsC ݳvC!b8_1vvcc\G1ek7:5;n1_^xxpzCNY꺮n&<q޳[VE8aL=/!E;}ȳv5OI.h?>J0Ж Tu=ՊL:^q:dPKlaPK8golang.org/x/sys@v0.26.0/unix/syscall_openbsd_riscv64.gon0S) Wj@䐺iaE!'A"W4$Q#Ȼ=Feǟp=Y\?X.f8brd%n`;A1'Jb63$s=Ja# @جWW%:ȲYpE\vGeeF5=!3˺`HLb$_}Α<+gWI=bc'jxC~~żYN0v_ l:\f}W%s8,U*< /$z>^#ll+1_Hbn!k2 ņ̋r?Hq9+kZGǓm;tj(cھ4ŇDu[u]VM z)gh],ޢ)@| w, ce '힒\>;dVck(Þtu=ՊLXfq:dPK PK5golang.org/x/sys@v0.26.0/unix/syscall_openbsd_test.golRak8l9CN;#4zd)deq-"k4&EJ~{yi&~t2\Ng¦EDp=pKΗpm Ķ݈u)&x[$A{hhDg=Th#p[1֠-pY=,Ai}%U0XY2ᇶMJa*D6d*۔n~ȅPA=1M"-w}]ƹHmV~D a MpQHh3DY. ģAɱGd׊eWr8$I\:GNeit0Ui50DU guZlzOt! TүBH=W.3U, Xh8e;D`YbΣFw{٫\$t4~| U<`cWn@hq,B/&.GXQrs8Ӹ.gE4#ۀ't{C gc-0}^y;/nqOǮb2`xrMRaq7]r8PK NPK0golang.org/x/sys@v0.26.0/unix/syscall_solaris.go}s۶ҧf";nON[Աs<'q2s{y<$$ uz6}s$bLk- GG n(xUڅf  KNpP3 aR'rjɵ)Lύ]g{e"p f!af) v9D'Cr2XC²7!Dx ̀ҩLia)ˌ!҂U?Aj 7DYȄLa%=`l9uD])3*VCi80Ԋ넙VԕfF%RZI"D^d<2+v5,4= k2W--xd8,Xp(Bi plg3e_]J4k(aLs46A]Wo%PP!sr DAQ8%9jZ 1 EF ۣ;8E݋ƻ٦ [B,cs6q$jK88Faxa%T52 FaF_Jnc "[5{lKr&ЋG]=GMƨ hxSvf8(P͟ jq0HF ?w槸B )RUrAG/:QU__P/w/r N(Á'%ݫ $fħ q= 5 ?#:nJs9 hgx<-rf#ǿ_ D=}w4Y8ÁX "t F4Z5PpN]6kWyz oQ'Uս1=hN4+\qui5ЯN!{pxyGUӽ@BB!Z TgiQ?F;S.bIsF'gCڐ&?1\_yϙVc:݋ 91^b_&5G%F mFPqCZ1a |syRN")i.*]Tmݍe]K']6u@b8ܙ>5 J%_!$ 0O\F/3rŤڐA45}b!^_>#llm1'dChFXRdw`|h|*m9DڬҚ$0cɲmÂA7v gJ@*Vc~`V. l%BE|3آ'1冏ꢹRF-?f@討uE~\ܿ9y1\_)FN/m|6)U5+av p@gp0(vd,mmҨ cVs3ʘ2eJ)6ń,X,$Y?㏘I+U;JR3v <4S2=ڳm-Aاg ~t"buNQ`nz7G/w3Yzg6Sa i̶=_]\7dI ^нLHϖ+#*gi:I ={~,S#o8p'u+$y<<7s3 y@i;ݔ -GH(tZj6?+T}~@R{OBn,dq1fLR)4tx:-| .ݧRӸ:pxTrA3cT:gHvM1PK?#B-ܾp—nS8 }e"/q>㧓;oWI[;>V<@%< =wZ}jR6fVzwlsQgjg6Iup~1\X  kZ}.u7ݺK;ֆv8_}:[m[NGkK 1 [H$6׌] WU}h/[Y Ra4T)IT~Ef:ldsS?/Jڏ!DrѻMm9}Cpخ~}.A:A$t/5QIԾQԠ;jsPS'ۨ#Nh#Tbj}82/yJenMu2!MpزOB#=C +u;HH.p ٝύBH${L7M"js{Ub?E#zS Gʲtȹ*m\}n=wujh {=n58n\iOt&2VQKQtmF;h^ia-\s'` 16︞Pku9M-3;ٚLB\řͱ\M軤gȧƠ"׳Vr~Mg e4X覕wU7 >{1v:{y3E,:]͎#~jPT!򂑖H7(a%\$4͞weDSuف}>RfYd|.[UoC$QrV5S~f|ѵev,kuߎt>αrVg3Sw_L7A<׭>,1;Nv.RS>][QiHQs7bhg;lK-ɓ[@fI ]G4!^-9:͎a^w Ej" Ow7-Krس#s\k/ SdY} Ɉ,U]j6}歐^py+2$d,yKQ&uBKaxTgfEx{n4}&f31b?RLW<~j2DXw q.66'ԑgl\T6Hg+&8/v̪%׻u AFڇ[p?sی:Z*듐NwYmY=GCWwN>vOׁY ~=|*jrc%5u֔%:^.+3*m  kk]׸[U꯰n~7 |+UT Ap׍Ep`w9h݄I&:2' MЕ+ӊ#C\/JbO !HGNOϯl\`|V=o*Yln`t"+2F2aoo{Kb߂a)g!bSu:|K檔6LϹ^zLJSAn<)7ŧ>C2*Igz}OYWi3,M7ÁW}=DI@==j,Nsc܇KKKDV +myl_BOm̜ۂs;FQ&;Zx7:4lGPcxŷ>ѱ%>(m3fj q-÷ L:`NgR Vf8Ȳ2WI/VCRx@]ip0K 䬸q7jv pcG[Zhn4mnsH4sƈAsא3TFb'tծ8jk_pũb*LBk\JsAH$4eYfsP|\_3KRǗr⊇ /Z"yXRtؕq!I-% "6X^)^s$v9{T*zl1\.& ڊY2Kada!%|Vfz7 RFxsdz˷t;m8UApZT.RHaĿxIKmLζmMw{}p }HY4:d<]9nK'+-Y9%e aLɗ)eu&Còz &&x\9i",t]•{OfTc0E=advqi~f6Yԕ1 FW4ղȞWv2w% "|r [t/>N`gcY«@fyM/ nuFHd?p^S{t RLș9sWѢ#IBdRTl5? z{y.s>eJuk Q&T.勦MSmuocto U=qD>;CSl Nଲ,՝F׎Ziv÷v*amgh,Mް0%JZ4xC7 b+Njxc[(KB# V6*9U ꡳѕi§fzׂYYVDP,XhL2U*m}W4QB?2HK t+TBiިG!x폦k`xT s +UHEL̴2׵)^e+6>]G?{4* >rڶҶ/Gl-i&˗4|E{ .(>s6M|VG cmt msuT0)Y)cx C0吖ܥ{Jc,-\MR<Ɣoۖ΂En.SUZiJBo"7q}zL/^fkj}qn(5(.'!sʶg@C{AFho8Г6okj-eU<9=Br9?&&,QEMջ)w7mO \B o1͡p}{c]V3WuͿlw C%}(m$[pL``Ljti~{j5_?920Mũh/$b__O-䤫AptRAY]]ĖTڧd±dOVxo Xҫ3jyhܲ!1wW}Tj_ך Y~ |/in$ƀ]0j={ĺ7WU)^^u.WPH髢7(͕jKy w4gc8+ۼ4zxHVKcWJڍ1b!-oDU+$!zY/ZU=usseGjn-p`/xJ[!C~4fc61(N6[7 |5vA*ao9TɮAq0C< CVi] adJ)bϋmª =%M Xdu$+\ \@=3,Owdk<h\{k]%j0p0ٵ= 5&Qv|Yv')wIer/ĽTW!M~oϋJ}Songu[] 50 HR(yQ AR 2fؑ&=ߛN{Ӣh,oPK0D"l|PK6golang.org/x/sys@v0.26.0/unix/syscall_solaris_amd64.golϊ0siCk/e {ئ\<"-QY I4{6zo0}0xz|&|xOQ%ޭ31LM) &QA`5!вFcB2BI-50Q|UKUm2웗g<<;~ʎ%DS\xGj¤>1)_ Mpܿѡ&wҞtfio,텹teNϘ.|&U$7亨53HӶS| 9~骅Ŷ!X0E}#j;d son™YX.y!Z0H H3AB@ "# GgcD2"@R'-SFN-MҊ`UIzpZd*O"߉s6jxQ{ r_ru10f) X<"1#JI فNK$CvV,$=j:[8C afVFbpZ'Drxn t$ pjwĸ8|)2+{(&E,2~0r-%Thq9Yu?tn{9 l`TL@~Sd*MB e]m>82#ӡ8rȅ''$8kS+세^ի9O 7T`u"zIp?qDh-; q ӚΘ7W+Aґwŋ _t?Rk2b 9n[L۵@Ovԧat;k 0u.ڦK8:w7qi"j'Cs++,{l]v?<1 Icr W\%AĠyg zd,/A%XEp(ڀ2Iu셺_RkEG7:}TUMF Oazܫ=:5k'n%Mxhtm~vo?((%++V5ٻUq)_V^)tSàk]*r?er/edwfMrb]6=wLlĭ?/'^~}z]\r)~Jf"O"o 5 Ee_$eD禓t{֬+l{gQ/]1$*C %ؗI'#Ÿ#V ( | ^ Kun8^^i3C M"sAd!2PF6l7Z :=Ccc5IA[\{"P'V[zdt>x2:>_z]ƬjZgé4:]d噍*y!c䥵\Df#BJ u7:t-:'# PK\s j)PK-golang.org/x/sys@v0.26.0/unix/syscall_test.goSMoF=s bM@\XCjծ3-4?Uv͛y3y So? c0})Tf*q_A6 %0jRpTb?g[견)1A6ZPh5+adCx^.PKRy^ٺ16VеwwN\v5驎dh:Vj;]goX2۝0[̇:yyTq:䒄\;swն!BWΖCڑT(o">hѶ6J !i´NU"G#4lzUu{3O.KUƕHZ:Ƀv2Ηܧ0=t K2Mq7EC ǺOWIJx~.exXן)"NU;702PpV)dI|ptvpnfpNƐv$*z"ɮ|]M?3$'A;[?G.6Ɲb%֏p;c3L>27zszR|0dk%~y%,-2`xc+%Q[-K6=zNqO-H_¯ <PK˟PK-golang.org/x/sys@v0.26.0/unix/syscall_unix.go{ms7kSv&5$oʵeU-,L{: iR(C_uDe;qr[7Fh4x˵{\#pR{mNۂAfd|p-^L AZX ٫g֭sQLQYw/Ba+T^^Na!sK}>\AoN·Z j5ӋwV1o4,?C9-aG;vK;~Q)'~BAUOO؞D؄j  V׬! {7{}Wioy L^:e l*;F$]R#?j Dn/V-*#gfmLE :x~ _dVNHEVh)rS&[j5W-lrF}vkgN+a& B(DTiK%hصuX<%r!SEc<ݺD( Q(Rx$R'W7 蛮R>\25: MW2ÎtPIJg(v ,r ,(p ¢_|CstǣRĸa۲ iM}{^RQpŤIjOܰ9KFxj48(F\ mPZa*!0K=CͻW|/mqO+gvC]Ou[^nkdcna52Al SnH2ա5!*`;Yr&Ed3\Hg3g}}3'.Ndzk WڰG'[vȈw7nڋ/S^lb?³<`n^tn!~?Z\@mmzV4 DNT[1iᆳysKkwϗZ)L%mfF]h(Cԁi+Z>Qk]0EM"o $Z׌=HOt\& W'Kd, %$+0F("L1E8}Ϭ=9yaE*ލݷ'Uvn[';z ; {|ߠ~x K3$'dYxR߽KDZOH >%C{j̉;$;$P<%b쏔\N|\9|B$OS JĹDCл)[AP[ſJ$ǭvO?O*P7(_M [ 9ҚNǻP΀VLhDi%z]9tU%CB:hXWLs TPNCu]\1@i,dPw…Pְ+GʹP6?1V9O,* B)̟Fd|pP_UQbOU/aרe=X'j=Ο &yاKߛ+a,X/=Hލm[Կ@ l3 E ::m5kvCV]՛w'ofRx^ lc r?M R W̽7ΘzwlrP ]ENڨPe8`^…+9=+L2nJ6Rno' 0Ѵ3t"?/]!(솚.߉^{a'滉 KN@o -T*1b^B-J\ĒJDQ&0ܶ{UlMsh0jx (m.S} 4~W6UƯDL Md4FJy:/ln\wÆ !f;.9h9w_cA ~UywUgZovje۶eΝiY&ꄫvai|jT7뵲f@y d 3i|,1u}ĸM׺j8#uU^qI<?-H<|%jXIA)x;@y8U~$i7: [  6͆砥p_reI؃t"ۘ}Coyh*#Úܗ*;TO[wrިst`n~v. A ؗZ|(X*NaHj`ki_ u@a'wr q y" b_S}6[gC_knI pՕ7xkm$3~&2c(mv+a>F6&ǫb6$}픀[A}ʷH oFj:pT߈L.t!JGm70^u^<;Jzزdv^<펴=޿yxrit N@n+*ϡ>:lT݋E:[0ƄYV!^{ۘCZqZIY #i+"-g1| 6ATti_M\QdA C$m?Ն֧ɂ VၤHiЙ\He0x2,Wh4`E.Շ o2  (J_5=I\rUPzZçc. -ۢ.>kx&.'$ l5tMMm1*i}#VamRGmƢ0݊ŅPE'w_UV 箓?ߞ]pwqǸͻ˵h,4ɖՅZ-Q@{=r+gy69yRƠ0ލȕK1k|Huc<ߦksY޲+g eP08^-n9B: gUt\;vqaeqL+J`,{^ GGm'cKl;f[BJߩY a[ Q%x"VB %HBE2.3 x(7Aϙ(~1no|wɇj,I8 WVǚ@']ζsPKRT1,PK2golang.org/x/sys@v0.26.0/unix/syscall_unix_test.go}w8h^"i73s2mvv{rdHIɶ~ڎG[YAAp g I8L*A5kPL3`q f 03A\E "3r`1L _G;< {D161>\`ƽs&ܣivatNM˳Tzݎ7y0L{ݎ %-=`,yhf$bI"X6*bA"(LS|DZ CMei tp?zT{>r6ڲtR$RhQydr4"H mBa4/ HaGwR~@?h2t `Th4c"b{͗c*G_y](fr2/PhP*#oGdYQmiaO߽xgZ <<>>~WێO+"Mtov2dKԵWׅI(zPjGW$5RKdEEWRpiEWʇhJI5MNj~~q~z0ԃWp\Os*M[y)qiHB%m4"&ԶTOp8fPPi^Obaq gk͏}0_ Q G'xz01H:1K>a*5#^; Zį-'G> '@`_Ggǿ> ]B!b B"JA-b8_Ȥ4Lř)r`7YhB d&tY}4hIЭʕ&yM>nbDϪ}{xu|p:tU<;lH&$!OY/akڑĤнUŹ-N!V(C1P2#Pl̹0sL|xId<ғP##Pkxh5$f:R|n $`p݁LRI3bXo\ɈiPf[U!;C!!Uۇ%73~z>,g< ralr!pHԘ+p 7TSzoS1y4P "T< rb0]\h"=yÄE2ckBƵdѮN$ Ђwc4syϋB="x3L,z޻O׷.x6'q h';vu({rT"R;Z /L:)7`׊E303`)NG榴8PfY('uy>x;] I+Yd@Ʌf^7h7e'sӇ_{;} mӨ܀~͇1S 1 ;}C{VD>YHEyN'e5,!џ^`IK<@p`$վiMNm'd*o # z+;T2K0:1,Ҕ+28Qծ``yq\!F[/W V{Z*n a% N2';F -Gњ:5D\E[v}G;gQn* EY2m &K-;vVCb.beyvMݞzup˃^g}p9qϽu1 oA})JV7bPf.X\e3 Q7jUcكV ,G%J u(rޢ=%y$) z? .\EkȰ 4`g( (מ$'?> X0^0|H9kTw;֮} 1L`b")bݘ4QT&DɌs(Aʉ1fP\0HMo'qպ%V,9'(kYK4\JaL?0)I9tl!a#6ANב>J0u~&ް/G`(e-~v1R>i[x"rE :ʶm] ò gVAX]m#&$jYʶ'YI5RiK]4=KSiuaS/xC0S:,Me~\)e 0kbA>yΙnxHT.y}&$ 8ӚI |SRI>S z3c{Am?k>)3afKؼxA@ڔQBd!W/0ӏ?z4N$ Ll&3+?l652Xݙ(b!+HRqaRle!uZqb){nǡ==Ԥa4jBX+Q?lZL'}x;2mP Pou(>wf6.hBoET^~'Peidpv#)2iht-fs臡f67\P>˗׻6eCʇ>Tl|Cv(D I_A[IW{[;<B&iK.4 4Ï.?$JљTN_DI \DOv;IM6BrÉmGb\lgbEŲ5L0,1ͩ "n3>atga,Vh 8=^7׸9,x42^E jP|c%֨FQǯg;@ekRO)HsD@ <5{ʉ#5,$r'm%eBvUYƨi#[4VF:WfߊODP2Mݪ 6 Aڃr%4?Z.ݝ<՚{;#- 1cR6kӣhP3.nDnjE:f4 6ziX67Y[-bFN&Va<Wݞgh'C$>ؠXII*]Շ.N1NjyQ9rEE9|]gJsla kNM6einE.RPvR9:TTTbgFc-%=0PaI 4^#Nu2`ݦe%׸Qݶ)jS,1'/ht1ڄ.GO,< \5ay"L=F*j˫'a7x$8lpWWOoIxA q\m'!]-˘ET&QcYӼZ_Lrs2;iK +CcZv"D'1ci qIځ`M2B`k]K'=状 ehrIEV!ωEĘUbIDe@_i*q̯> 2 eQ$Fj OVʴi<~ϙ6,\SU2Ԁy 4T0W2 RP,Pȸ:k[%{)uTe}tCntV#,q=BR8+OR!]ev?2; A'ɭAh^ %QWyqU^k :(VdY/EQ!Z5 OjZe{]\?+{UԬNMts"c1REj?1mP8vjgr3Whq/Ykx5)2‘R)k m,Nܴ'!Hf$4dȝ:wʗ hƢ;NkQxv r0ѿPѿrnM((* CǢ[}nuie6,xC%<\CCy<*L>Z?ؗJ??ifd6VF@{k%Q +؄W~jB̡f bGEۭU1C\cو+)/tkǛɤ#\l@2%"MgE:rm6GpsqV|Jc)}K t܀irDL.(-q:=9eEL%xHbT'jd2 cV:EŠDF')nL^PlHemN%Q͘ϗqC{,Ε^+%&x$yNfaK7#k~*rgGlaz#zЃ}[qbX㳔X_wS! T4*.vTB2f.z~YlņdGil9#c@Bn+sP+Pk\科id+6 WCROv;FѬg\w#k3vKme4fE8F@?oO?-cөbp [5lϭO 5v%g1: kue׷}8;=ŧ6V-^62ܡY"d,2Fׯu%O5YyN:[TVxy 'Cۣ]lՊWT{EAFDeoöSFPglo1h_b7)ڝ'w\Wt:VZ [64ϊڟF(|qy~q=xyY:q6ک1f:=]aڜ܇$L5[Iw|iwm.91TdM7eeKʸ#-aD<M2|0|-Q$o3{So6VZ̩.B#ƺE/P]mvϵ4+-ViCUΖ׻n'-%ܲE]}]Nʶ^֘ /C^bti[p| tl3-4V4%r, q>_S#e757ci*=Xs>g>P9z%"0yoE]@lM~n{حLM.2Co>J_0oƶ9T" t "ES|6o|yTy L&yGCzc㶘Deǯ ++hsd ?_50ה(hV81U~3%K|4\{)ꄯ6t% [حFn-ОM=/-^|WJp6̛Lr(nՋkꍃGt-y(V1ʿnGerzzZHAK`>}*9Xfute vתpc2)icA1-p)8h@"srRӹfQzA5rb"$ntFOp8ɨիW׮9mFYh8xRR]'.f2 |80f$h2(rG~*nӦtl=Q69땩:fb^QFF ^?wq̚V -{@YciP:里:Ӽ. YnXoiy[;Zg?OJDfvX\'J&0_CpO/u"vfcj JieE{6JZ޸[TČr~;Bpc*Ƶy07)􃈂O!7rqormO#)h37k9cJC \=QP5kD@ ܆te6J{WBQ@'M/.~mاF8嵕E԰W4GaQW8޼JqpGͭD֑If~mߩ֣ YћuzTRV(FQCC;ǕH5a 3USR1ZT1& *H84?yz(B' l_ܹz^#]1{`$!aJ|/Kc HB S];i x&񋾽;3j ݱ)gxE!a2x46Hfknأ" s5 y0mlˡ2jpgP[Ԛ.%-%#肬R/#GђL~Ws`euvdz:ۃYMp57\ K4S{][RB1֏~}{-_٫bϣӒjԣ v2+OGŗ+˽_4U1[$L|K챹,ګqkXW=@c:G"mRYPDJaDdͥ  "IjHq&ЅY:go:?й{> ߼y%/5vWyu\̙+ n4y$fC˞^}٫jQA; I%7<冣E FLSKBnfC~`_s6kZRT*J!s/9j7M4'CpMbJ<4{F}f9 Uໄ2=+!"~OhQ.“<)dh7o>tDAѧ Ğ!DC @k3?Lt89pIgL񚠀,e%sU FG!'1 TXhI@a'k+| h@Ԝ{UB ]gɒ#As?fq"T+p@QSNb1ˆ9 Bt!,{ϖy5ygׄ>BD1qW341u'_.>]4\: c)8Fa/ZQZQsT+{gN^7_r!< ..S(D }&왺Ağ+*8W)!a.HU`|_C6g?)sN*hSpjj% 7hZGStA=rG_a2iݻБ4;`7:O2\w{ߞͽZyWժ&K5Hu' PܬU+_C6KdMA>]tf(ϒ^{_Y\YcH8ާq?Gsa:h.>~U+ %0k?#LKRCNLx]L>z$Q_|+2|*F| O,3R0%3/hU5, |.)x,9m 7dsQ *=^2t[)USgȧշ^:a+bYWbMI(΁r43QE,*j>}?sWo:loM{yK@kFګVizZ(_UP_ZEU«V(^I`5ZGU1 qQŚ ¯",[ dFL/)'duWl~팖RVt!j e$0k0 o,^jy,~FQކ(]@䪀(|dlBFwЛvU8&UZ`|;M$J& rWqL(A)O!XhA(1',#ua lj7crS"̘дEtMJUzKv)<N=\tVC9C9ϥZ9.S\~l tPŊf[ ze-~FCy@_%Ud-6P+4LՑOJq'1F :glJk,ݶo&V?IPW_^ m/7C)ꄝ6R#JctߡAg޿GRZ򣷙v).ΔG,~,zKkr<Ծox?5qQowitJxT+; pZ>kY1ᘚ']HE#fy51'R9rqg~s]ڿPܔj~%yKKw@GЕRu6X|}|}H_0E~nI@Q}Mx ufYwseHCm9ʬ!Œ34#"ī'@Іm[K-+'ZvۺVeA7\} @քdI~y۾[eM;PSaX3C4ק^Y3\2)$B5{H D+ˉN!b ȞŒ`8q ,g)KXBBW8' ֒E"@ECÁ)؄sFώT=':JR7+CK*PJJM([3hݔrF ـ$8b(3a|ӆID@tصͷZ&-hidgSH ۷YyY7#hd AJrD}fYkɸTY CFF=tv10=ԬV(89sRԩDȄWv|TʑoQC;IdgG3^k޽h1+sqсs]{ПrTqJ֨z[M_0W|AC]<7W*GT7m]C|n|/W~{<) uP _6ĕӤ^ TjC!{^Hk:4d 4%/-_Wg} lJUkV>=vwv)dz #=a ؁tQwCt:*[yN}!aPӻa-nK{J !j1li))a ꑧb_)WxQ%_fgD=)?4 ~J#c##z# `5 `rgw?t"߲O[͙#ڿ~,BOT0 ?!̍ēz|TOPhRیl֢ɭWCO5kԪI\m !f}%)XNE@9 .,4ܸ cޡ&SggggR?1;1~l X )L3gAݳŰ?V"e }P` mӌARn]V`,01z^\KFE"]r٬/FpI8_t?oK(~pא (Ph4lB%sw51T(KFFqjbRo j͠po?OsL(Ju$|wrY`\GKkѿ2tPB Qh%MFcDlG"͕߫WX7'J%Rsd#;GbȰOɣ^TJҔ$&Q]"G'z'"}1ÆaFlO#1-gugpyĚtMcl0C _y>8{ Kz85bߨÐyψ(\XvSUJ:]$fhFy]&}ߩcoѾ+QP!) (Ͳ\%s+/6jslW._bqf {ՈAiZ0o!ϲ:kQDq={мcS_YBtYb}ne#$@z]gTKx KD\0YيFJfXKfveWU#ڻwo+uWS۾pVukͪ Ȃ <; 7Oၱ#$mvQ{6oFu]D\njȡ:b0kW<= Ԭ9jѹ'v֝~,M @R~ &pMPS!\`HMQa dD/FJ#,ű#G3jQ} m\|P3w4gK{(zK/7EI.:qh<ʐԨhНuOOߪe酭CKAbPln; Z5⃽A@MΉbQrrgf[BMIlV BRgB.٢ .1c}s Fh8 mzGfd#j ;O@\X%CԗZkNTj tuqo痞 eWz̕^kN[MP&E}7M!ؙ %&~e.0MҠ{Է]ƪ^`%NVRSy8ePұJ mUcNyՑPoYFk=ϏkypS_7?ļ~N S#F^9h.FER93SjuHL:RS&Z\Zli%ՔN-@yZ 7Vd`d5p}`- !qzNrBZO[gf\T.8NIiNm&! WO4~@1Y_ cܸh_nk]QEAǢRMV>Cqhd7@tLcĞ_AbVĤ4?0y 9ƙ0qLpCٕ")ؖ!ڻ,XrVmVӢ K 6;+f[fz[FIuIK$’mZHu% /RO_8% Jo0wg}{8݋!߇4fr N݌U VS*F?-_ɕ?kvd9]-& $&*xg`|:nB|pGfV`ovZNG݃-Kz7Kaک߇MZIx[='|!o(EQQh@hQtvޟ\_*i`uݬL.q!RPagwՈ>xcQІNLTV~\CQ[Ġ(6qTu$O!+u3N/lūO(GxV62?/$[DwLg>%35n&(>Lq8l\ l 'J v1\ iL*TU⍮Hgb8XJ&'-E'Uv" aeh/h?:L1>X%.?cwgZޕ GTSᏖgv/>hkk)03Q`CX!|c)ƈIb4&PSt?֖&K˚tUWѯ"IIc/}SZ2)-*SVgҭWQm~O0:Tbg ?: gnڋ۵*䒼wWjtx8jLi%^l,?$G` L7eNSgXMbJz{2?|NHGzy^B%\Հ0䎕YG [u>iwEH|1wM䖓)w5Q%QhDBV󂘉VՑg/~TbvL4je$GBnI!,)qm2[hq/ Ls[GC@s$G |glzUuZ'z*'Qr9̂JRZVޠ +;P HBς LoI&0ϲsoSH.SC&Ԅnϗ@D'_&4jO8o22!PYv9w-l&^"gcT^QT*F9,M$uKVTTn7}߷~a[.uӊˇ?_Bn-umsE{:H(>ж2LyGvr>6ʘb 73̽Jf!;&!8) 8_8fĩR7OQ)tVGaY3 OXiVt @ɗCDO3e$umN:ىJhI*}R=(T?CZ\CcyYTݛ|- 4Guїp=go"w~F;>}sKyܗ_ B sna4?z;J?ݚ mn[!qx j9#1 PH۾בO`9Em <ޡ|q}"YuWEn.6 -3O;܏2Ši%IL6&@n }?CMnS)#+]'3zuB*'jj~޽k;IS@%~ rYGfu*F&@f֬581]o'T6kVdr mDza!0&[-#hy5d` >E?B=`$pZ=q/B]֨H5P$bm xy`A,DkGC4^Ijj}yLjElV+9oͻΣ%5B~qtsqsV/Cq T٤`J-Ӄs_>IU8&eo۰r`@`)9xJao!=߿AOU7H0.H5~DpCV ̘mgG&1zBh!{BD[H}:_?!ͻ$T֨^-96pX5,]TlR/f :*pzEE=o{cbr6 !{YF:"v`yLzo<2z2+uFE"y3D6KJNRt@7͆NMc,@ {)v"_O5q@11~ӇJEzu)oخ|lKr.9h~%i ddRC1E1!ɼ)U=D(T'֌덜*ؔ@oB7& b;B9 N |ĐUtRoW* qRK3KdS%CL2 %!dlOZY c][vHy. l,0~X +(q%kKXȗ ܺ!ĄdehNgG>l ZұgVteꠢl@wZ=Ɋ"¶ chx®p?%+4>sFsD(<&}!aXmLw3 wGez-Y(Kԧ^ff{0wNĉ6U%ʠQo~_&%Sp0gJ '&:k]Iy~nDtw2+T׹ru&15`y0 A z+RsSC Gg`Q9gY.m5ZA;{VV5/[Ʋqq+׸e5V\6[լAAJ%!Nf3Nw{f9*YguzY;K֦rE1WcDžG|Ɣj>. #ERBɱw侅Jg~7T:JU/4U˪*]7cR;TsY{#m権*j+P]㸡2y7+GVޥB 2,;ʓyHmF)3t?!mA 𩷊ń ݮCnyd5?1(֑A Aqb-|j7 Bavq얶|\17Z0^J^&REIN%83yt`]X(\AoR}L3~>o:.*h[]8it1]A\ hT V+M) >deI&l+Zpu6d%xvR2e8U&]rJx0?UL%gCpd|I[-5cx2~T=bxn(m&Em)acB.?Cz ^5 %E ˆ XX*@?+ūUYbޣJ%`aR#*|kuPCBz#%ݶU|O?%Eh)H1ȦMibڒ͚ Ry$/@44!-au1e0 :B0#'_fe2_1muoۊxN+| y%0vȐo*( N1QSG]='? *WS< /@";}廓U@ni&xqqrwM,j7Ύb5 G" 6J]6ϐZqWqlUS".dJtIK7X"&psViFkR}<,Jx+L?$UdK>`oZ -*뙐g(-)2cѧhE69'jic%%G'w1)h> kOpFc %79Ɍ\"$3tzB>]3m#W c,LI%-Z| fY $6{y gT'%:i+1tܧMR/\Q~X'Y"$^ 7!gAz9Eɘ ȗ,O*TTs[EI.@%+u1? 0[=J)hS%]}vf%%| 1ML?MAK_"Qj%Ԟ[6QjY%=-i)NKvZʷRo|;-i)N f-&{&g͢[i17 JlJe{ӅtE|x9ܵeH̉WeP&ڸxcPT+<bbo\Rk{ *0%K4GlIL~^VStAvFb>&塅+ꉭ_\1%?.c(|"mJJBchr|qGzc$^oacuqkXqd^yY}$#EtskwV3"%$X`y =C"#vBn%k3)rP~n..Cved4Xk_[K&v}<`btj{rǃ8m+) ɢGz$uш%c;w`٩Ax׎R;wNt}UP$]gA vafb͑FZ `&*ݚ}h%%l0Pr6"Kc$jSD"VT"%1kDߤCc*Ҕ&\kp6n Y1^?ߞ{"m}ۓwۓ+~4?ګՅȰ;axyqv:d <> #>]]yGY~թ*[Ǖ gGߞe۫ ,@F!eD.w)7?wѻ\P$ҳ&5եp"GOpFlZx ݶfbnv,ˠlPbjjiʭ t7ZG]zߗAYZUVq7+fJe.}]|Lj$z1R|>3֖;s]5;*)[-s­ݐD6F ήsuwY/teŒn5WO?@j>UP=&4}ˬ-&@>Cs?f B;{2Kr,bnC^.\ ِx)5 lnmxt Q_:$agp#6C5dLP ĕ~{w; uv~n L%͚L~& ~v+qȧE*^ϦVCP\ˢpfkU24Dl*Zwd>&Gi v("s:rN^M˟DIzkӑu;'sⷋY&H'*}2TF^T rgmPE Bvi>'6ޓ-<2ǫTS\62|6-A~ MY9CPh9 2&`LR9MsRMO+ 69r:8]jab&5¼v5Ct-i>fcգ!ᇹJ)O:&V䥯:WvI,lkt?ꬻAݳŰ?`i@d-.( <Bv ,HC/\˾rLI[X$-͢ȆwW4߷P{E>MGNW=#x$N=IȂseFP~tʌd`BI):ןtʴPk4N[|ȁஓo_Mm-%~) v98K_D{&4D_+yԖһ(&Ň +,ZRLՂmo\>'*8eAцsÊ \m;nŪ|^(!,>:'M׳~,fQod+(yhu }lz⸰^AAxZQEKpLNg*gS^f|*̔ICTYh>]שLS0BBgL@#R<ȫ%_ L ?^^̯'|% \L=plcc\kXݞ ܌}!EO8NρzSzjߚ~޺`l0Hn2ﮧq %Y]RO$8ƥ l͢+w~LVWTQyUɗ¹) 0T?U ]sɷ;2_)Y#{^*2ڮt@ZH+ PR7bߩk;LsLmcr&?J~d2U_wL'itqUOmz ڔskrx~Hptc&mc(7lKÑCt(ˣ>#\):A2N F>G$&&!ߚeխ?=:(xhmۦGxoP(rDGŘooJmRBÕ}SMptĢ珻ܐAY"I*^#;hk`@,۪LWyz\oMm3`=cjyM=}>n?!50 Hn7T8t8eT\{΄A_SC!1'UyBN+neg19Ib'!m&ӖޘNW1X ҹ_ 댵L[cU,\SNU:K*cA $gutQ|6:zP^fXfqZMt\ P'Ƃ4gRW&|m|J oWi "xv.qQʲ>RɐSGjuKh9+|jR Bw 釫p{MLk;UD (+[V8KH TR}?K o2}IIY>iD)#nrs@(mSg:3xF8#?%ă-\HN "\QI3"'P$α,k{3hדA=XTⲏ#_x9&tGM=CU(guS0E:Ir]]zxڻ^0=kiBMZ>srW3&T.}|ٸQ䦄"8]{+d XF%Y7q9^P!w2_:ꈓ'>fU _^ PN1Ov*h:EF DWP(8wґQ?twZ+j>O.6N1ǎ.iEN2TpثT5}꿋-m!=3N)Twy2KP`, $*3Bzt?HrJd5sˆ04V1_w`de+<GAs̮V4 YB>|CS$͐_hrW!~z3<xSpQWwbO,90&AbWwCquO;^#صYG̉<#9aZzHt0=I`6ؿ֘L,9::=B ߼ gk));{io4<{]}ɳ:WSG/j#g=^ uHeVjU .k BTGP+ޝJFWC%اz[{!:S8\mܔz˟Nd!1-je="y<^{= 2L4AXCPKH]S ːBa'k.IK U a\Q| eˊQ8׀UI]2 k *Ltƙ&/%F(LRѭ{4uR8MdOKqne-mcn&Zu>0,|x8'3*}Z< L5:SAߖB$& tyASWGD~ YD5b}+8WA1>2R JJ1/`3d%3<T31rp@Zuu@PEdap0+{ F=V޽?vT!5pѾUT" {F_-ZAkZ¨: 㫞5Vrt?;h\bޫMW",Fb5 _C ) rϝ8\z=ZIW1;ͧ>ՠ:Jj@Qm;W*%oEfmdC˗TMB .{ߵuZSxP-!׬ui(c {UƼ1&8v! |kui9tlHKz]}jw( ML\NrxIln)vJ|Wk_g#Ic7I*Za9X{:6 2͟)%aȟ# ac+^rgpm &ֳ{x t{4WK}ACqJwԢi[G]%(5wYfה5I SKNTO0NXvjfnɴK"hjPnIӘ1hx3@))b@&F"7TBR3 գ56)~AϜ8T˜}ylK%xA:ϊ4{FaDb HOkc&( KB4*r( 'O:c) E>],D2jEt2n/#␫: fS l. ^~Ƴ,сtz4Pdxr}V*)xdRWt7q{5=>#u?:TMpxhIaܨVu [6N3q)Ij9kM4/ 7fH|(PWn@L$=Hp)c"m zaDEM_i F2t8jXPSgZTAjXS7H۟ݺ8rf׭jeD,h߸ǴB,rvFB7RlS٫r/*5Tx$I3 T@JLʙpi?rn70+)Pb4V\Z6,є-Vx8S/=Zj5SU(F+ 'Z`/_^PN P<  ֘&kvZ,,Z\vIʏpLeұE$#~_`F.I\@@gGB&[ `o+{21,' )r1EL߅Q(ypOӍ *5X̂wZgjt=N19@Z SU:IL0۠ZXC.צjc]TO=ߘC$v1#GˏOgO^5N(*jԜ(q/LKpK-yJ: Z]GyLJs|QrW0\QfIL>BVvZr.m|=[aO `8q*]!_Ѫo-4xs$iBGDW"Dyh-<[FV,WNVJ-rBFow%;JhϽdYsO&aYz2+쯭 tGgEioT22'V) 0\=;io0Ր%UÐRW0Vyr60ś aqYc@th: ? FSPA*RoeiH$w n3qiwQLD9EODapxxLH^jꘆ @p2!|z V ;F,4@NjՒP3q9{۫]!kH A@t!6k&S$HG1jM4QQn"\}<e4 *6K4;Q :dÔ{0}[NXk$׌'#6tI(tTN;>}}|w`Mи7=j}_)] 3'\?JLi~Ιt런01 :Av>@|55 $ȗ[ V9DIn v9Dɉ I )'[}û>f8imNF6LҶ]*m >_sO_q3_EIo]ʌOA/YkኩI|7}U6I4=>O0?dz^NCMX&8JQ6Oޥ-YU{R7#uGODԲ\K 2jksh:><;Y ]`껓Ҝ/Yv[B^_[b{.cTOz|f4^ &Fk7*ȤR4Q N+CMu=|YHT.x xϐBlGĎ⮙  /D+hˍmȳ0"cy2WZC}w[QjYru=P03jeֆt Y8M|W/9ylBI5BBu~8ScnP$ĿNrOm 'C~?N/)09g|#J$l 8='| ],&Wѓ.+C)o.qe٥Ikf jCq5.H] !PSvc{!32srW"Q$KFeRӄ${~e`1$fPIG; .(l9Xn\0K&s[M  !cʳ rD\ғHAnZn ^+gSJ05pxE2$nȏ@!Uvs]jcvG 8_U=k橕twK:.E J5iJNiy c,ZPNߛ gKY 㒸G蕌džʰ ':/w-}Œ2:DG`eU'ΫbSQHtFdήG{ \#/&!FreuX3S/ (f!'ZQ0j$6먅иqڻFdiɆz* a>H}5^c?(d s^(פ\~ ٙ7 0wnW<\0wm w 451ͥ꒎̶-1σ`}s4'K,i%1Ocǫ}\ :WQ.ZGĊ}1Ī:b`~kKWGHOW|@ɤ404=_y/O$0#Iu0. ZF@ѫF#PIPh \-QV0F4|lj1M@b G+hILcF*Bx}Hz"'2dsxW+W N^{%ӘziLGvMWVwE3}htI4, 9$Z˪i!]RjDdž+<oe;xUG l=Tԍ7EܕH7=hq>%r;wkp gc#NZX,Fo-zZz+d߷;hAHy< ЬiMwqJ=}"iݹg<8?Q0!ο.]/T6%[jSW:em!PݦD{E'# } aJg\raiKLio4.}(}/34;% Js)q|`M=!aE;_*8l;g=AkҪA:K,.qﶉݯ=m5ɋrɫP\SPviS橛ja֪~r'DG&$iS$|4\i{+y_rܶ橌C8uy,'(E΂W<69W~> ٚ0>N/F=fDRSBv@VGՑ|H No+ {Hܚ^4YG[.sM@|dOvw.{u >̀T^?>jmNa;2XޒF[_Bp5P mD[c񥝵zӏǀOc-_ uzt=.Qc 'B˧j~,iyOva,(DdW/,[Q@\aC-2Zh˖]xvq6N2KVe%b9M{O^::]KՇ@`=nLxd؜٪VtJ"%uT_ϏSƶWFDQ _ʠ}xȞY*d4BhTiDjVW$D9{gNJ2 kpbd;7F&?PKkUQPK1golang.org/x/sys@v0.26.0/unix/syscall_zos_test.go{w68)>SattxqlѯnC5E(M3/Iifs6hd*HєcF1e1o0$r/תS|"'%K񃐶v{v ȯO SS>wgBIƂrQ9ikcs^Й3 (c\ݦ sGL@D }@}4He. Ӝzd"A6du =J"] 8nTP :Gx^᧿1>^@,^&Ih "AFV)y~v„mXpDGdRSL"S 1-/çSc5)f u]z=loodgg';y.Nn@2K ]&A$ q1^6qſ{E,G5ߟ6R6=hGLLA3b)޽|M:9.u>?I3~}'+xtS)Y^IPSV{+m}]Iۄe5he,RwN  jq˄;Z51Iewϻ6yzmٱM T4Hl4[܇f D â^qk9^looIV퀒OH`ݚ? ~7C]%[%'qD|'6}TtP0SZJheq93 tr< DCUZw] nZ=*%q#z Ir殍}M 6a7J1h4n|vuj"] Ll)%g5D/gkt~xJLQ#,"[l-vW5)7Mm"Nh @ lg }ëg,UmW%t# t>u:t:K1q2A:DNe Y}Qj*:(|W[WNXz}N\/Omb^t4'{[~v?Uzl!M(1Ȗ}e5㷶V+Jf_tN%Fj4 C_X?t[+@NM J[^HYX։QC3=XaSȒ[#YhLW6C/?SO%H4d•L:T&sS(«bZ%EHK4)2URљB! 质lM*gx}GIp4lґ|4y{˳Rk8'L |4x I"45)QOK4Gӄ0Cq?tڃHTxHC/eL,b'ǂ!Z#:q q'\o5u QrZ d#[P#΄Oi+|!:OSYp|prKWтd> Dnxd,[F_$#3NnTLisbK#)JfCE AKON # EteAE^%A>QCj=>.b `]* 覡 PSջSEJU.O~/ɎM0DG][II$u,{M;D)qy lwAGJ{`,H(w`.XL؂!̽Uo4Xт k&!s'4=>N˯u9$z!gNmr)& Z68qq&"r}_"h~Lb"'px`=O81-l-E3p)I`+Ar"DD|ʒ#e3ZAdqA03lb08 |nl4~?_cu-9=_#%ΰdF !WpC ԌBPpt?]o-|E _n@#Uى[e<9:ޚ](9NJq֫n^sg`:`y g/:C]M!т(&^ג%j99 \_u|?zk52O%U&4MUg\|MHUt,nA6"'bҨ$&5[L9C%[R45pSH5zm5\/DDMe(h #05lv]'̜&mkv[U']\)^S#5ڃ^Ͻ D/CSiSMSDc6CUP-ɸケM P{%uS>j׉ֈ˨RXڲP9ÉfX$bRΝ m0v~ )]"p[*ATUj=?A!l xXQѱ#K\mG%Jx6r&m(7 fq0WBdm ]p 4 S~ %MI"ukH {\[p9D68*ML f|rBkY\mxjQD#(wzAӵr+ypԄT&,MŦQT^T!jU2Ya]=-iUɍ";X _hjB?Uf "g!Yتߖ̐Eo*`՗*>@͉8 fAż3f 6ׯ4fR@ {ա$8!(^ˉS(<FI[L\" D^0<*0p^$ ez ϘW%ӳ 4,QtmsuQdӈ,d2a)-dG+W {k~,hC7Zu5@m`5nӿvwIlMkZn{K3_}K|2]\yI`^6'βkc>",K\S+Ԏdcc ;2ض^*WJ+;ZrUcx# b t N!9y>q;uw0n8a_p'"ٌf,7n\wl"7kk^`lxɶe}DL.esak,n=_xGԌ1D<`Ox)&'D_sVw['H8ADȆ <] y~YO^x PnckbLJ&&σhb@[5drJYCN8T2]B'քr2qW5LH/ҙTEtR^WQVrɝmʐ\e6Ak!K0Iw{$`^'yOzȢ.!#. !U0;oFxRdy ߅H' cyEKQ/uɵӞ<Z(6Y53szESΜ0)e~Y^5E V n3+oxt݂Ddd{=pl %xgA hZ4)-Ⱥsc GL+zbGaV[˝&W/^laS!+:eRW rcs uaQ~?,m4{v??>k_uD$ k؈)okv{ĝ޼ip7ݏHU4xP(KN,e/|`|`,r;d,n |Bݙ9 c< {<=|JR@iM9zkOo[6|rR\$[#ɥ!Uھ\%\O#g,WaKD"Fr6x5a y cEsVRu*h_?ǎĝ: ٵɍ,mY&qHDo {j'R$W0Z҈\;#EZMHAi3`mr) V)[No %n BTdH$Xh^epbfZYY0%H*~bOqNYhTHәOMÛ`ްҷj뺇ljTU'"ΎvRH8nH;q>mT[:&ϻGxwp1H8%ND^Å׉=qeJOK}7>A3Fwc*fXjh|)My_}R7u3&"q57qK6s <ܻJM}Ujj#4q ܪp? Oq7Wlshxu&<$aDәhUqŶc4E~v::i@A1%4 y,Ntd?՞yN$BDS2,' `EZx4 Dv]BҴTs廆.zc5ψ-9c?J%DOQ 1c_p@ RVw鱡 HmVH+^?@3:͞< %cyaqZwΪc_- zpWnuӕ|qyHe&9?\H/.XuU%{ny$2z2o *p5e/gCW%ʺ()4RSO6A3{H遛i0T-O]' H֖G^^E\&1zlmĩ;$ëpHHSޜ?W Gh|A9yt :IMDuxĉ'ɌffmƼlEYk z)h>R' wKm}-զVRޢB2U4 RdD1kpsIB,CVHu+?]dET e ͤ*>Ti.H,eJ4KH݊p_m3Gw/o ?Yܮ8>7+f<gKM> .\P"vٴ 4tMWT;q]lIc$Pռ=@F^tLi&6/2V\m3YL[ ?qI8X[Cz|=DV*6OݯnΛ}G#8a ,2CRl^/cw d&[xOe1/@'}c0LY 8.* ]ڦ"fry%(\4lʘc{2wg·2ۺ%'dz(j&sw&s\E^Z{Gy#[x35A #PinZ/~QbyfF*Ōy' i$pu:][E,Se&jt?9U̅d~@.aܯe^*Cl6wb1}ylnQQ4SfTPg`xZ+ `T템V`Ryc²C5]PG_4ψFUώ3 @ ZҤqde[㭌 il. ,W\>[Cǩ&W8w*Zln9i٩33C|P VѣJW"<~)ꎩ<14rND+Q &K'Ty٤{:M˖U>fM2>d);TdlwX6̈́,Z ~HPge0_I"yJl w3\&4Y#ve> 2?)"/T d0m> 8*>wK\ _<:> 㗧0#U%Eԟ2+.bVCx5; AΉf1sۜ%bb|U;Ke49,ň݀ߎZqqy~0^]/ǧǃvYsųǬTorU)9׊MO(6`u&r9wU;NvOI&1-Ԝ:фdJo RM7D,+6uKGrw9,:bP$ɚ{@3{߾&T#rK۴6m?M{S--%y ["TFE.F`KVӪ4E+1]㫖ek-'d|Eq {3 &׈+$KUI r{E5)&6Y:jلq$n6GEzA\άI2"[UA:;;_'rg*=Y#U/rfQi3Ɍz6QyH$w"ov:2\U4w:+mrKYR_ ]{xFH2&-ՂWkN\SbG5?qV,9&Z.Eu| ?YTw%kU&[Z],_ZR 4J_q Z䝚, k6z%"&:84cofwuH4^]g}<5jkԚ2YF8Ε989.Q8TQ켺|*j\EsO2 ierT*8^F2?آi7c6(;:/,WfasekMyn¬Z}vqFs ٥iJ鐊dN3DYQqJV DW5[P,]C < [za`I\#J Ms34 x^0ИlkA pz9^VZg_;CuɊ?L]Y_i=%]u^d\VZ U0iʣzWj1a8T,=c#uT7oĔjP**ejVb z93SVU,!1Ai~?f=O c35:^ZX ~Ddޖj ̵&m3kIf A5j4ͨxK@@ڻפajxuaT+2ڰ?-#6F˛|b+rPk7w6ڥD/ƩZ7ɣ?rɋݝmJn$%=TS_2=  \-DU\:Znv{V,MG5N Yx7o\e |[4*^kaIJ.>%q11rQVN Ʌx-gMm_LW/^|.?ƪ:I?Q"['+ V{XpVai݂Kkq7or3f`qsA[8]>U>׬陆imJcҗk{ho,DW!E|3uuw " ?6f 0U^Sq/?~Kw1t<ܛ3]W_'N$wWa:ߠ̴9sw7&a@ҠƃHK0%{,Np :Z?YfFp?Gy b.ن?6xAɼt (hhX@E?:NN7zM0Or\\\ǃx4:Yx>"/w SF'd ޽r8-DX`I l:lEߝ/6c &SƅV^Euou58J/pPA4UN$C*a(=ux "Mn]kFG;xyeё,[L~S;W5 F%T в|wyV'.N+'{r2u9FWiRӭݗYB/̈<\RQ`Ɍ<)!"6hR!q@+ixJ"Aj8:8RHY*6bSA ~ƇPς me|ߖgu4aB%&Y CMv挥&S$ՇUJtLuN wۣwD64 T'P%>gA لSEPGk (+y"*ӀGPY(0pqdJ5:%1񘋗WR/s}sKɔWM2s3=|w͠7?7? Fim0].$ yp}==`zv~58N yFgoeE0>ϧdt+>}LXѡJKr9,kHl-Ε#<* (fzx:ryvzp^>o`Lo<Й̷)U 6o߫|[a+䕳_szg2= t%uA!KIc7@S B[1il!ReVRf&1p\.MCIKԵ!̫i,ki7<~TI @Gjep?)+<GYR=>-蘜=~4S':Il..@2mkH~|)ٚEϱn(WT2ú/ͩ9h/% W3K*'lPϩ[lB[ KHgƖxn夅6މaBی)pmYBf(WEj[Z..y6t9`=E Y4!4bdJv1gvL<$9Qu0a(]G3ѷP/N*%SܺAݡMe)]35d Y%}W5{9X2WړN2FyZX{KñEt[j[ͷQbJ*(B^5~i*^k(gS򖃲I^;Oq{O\R/SZi+Ub2LYքĔ'XhKY鞕|e/#}6lh3.ghj -XB S>7cxrse]/ǑYƬPrZ 5J[!~@CaH))%*gx5rq+OV% f!i5&J]qEddhxynH]3ӬfK w]]8$Q`2ٕ sE|}sv"}_h?eXbH~JT9.["IvޙL^ iHE]N{C$NhTZ2]N C8yXdSo7wHy[XL1'fUga}|U8GШ$zϋȑ8*S'2;89?֥V*AE仈ގcwhowD;" )%9|2"^ ;: U{bq?kZ`׵l+nx !$MɈRaWm¯!dJ91uR gā@g'Ϯ@_-Z;VmГ[u?kTggYᴡm\A2դ4c%k{Z b#WCI|B B$iV"Zl,@ 8IHkTQGGCD\8aH="9|ل)oNS8"4kM Bag:Umb+O}#?+k\ƙ(cm`n XhS[m~Dm9s߲<>6&Ήװp<"i rcyCї[WtFMEo4)靯ʐ %|_#]^ E%[-$ʄ䰒+MSbJ Bd>w܊=܏Ia[ͯx uE1Lo7 :ߌ2Άjh|qylV%*:k/:¥=ރ^V6p+R0$u.H`F4 gĝEs{VwU_'4srB19*/9K90̏{|]wuo3Ão|tu|j^pb52CG *U0c]/Gn|;kD<&یM 3IP7wBrYmZ\ڋ,6܄UiSt9OA /myu |np\(?" W]'z^u{;/v{V7MԲprڥR>\C/vWѲY1{^ɋmb%QqJMB6Y3n0~}W+jJdcX܊+uR ,J.&ag% C?XkFjY_/2]v}edpxT]9n:>yI~J5DSԻ{Ċ2>C̪k%!llY82RU%KֈZC%IDsitW \_QSKݫ ?2pDrH#[w)fVn0ItAA!n`1~`HNʋM. (m\ T?0l0Sadlrxm%CqB'gG''V ?/)#rZMa 5sSaݍxQNc'sa~U2@x,hd [.8| $kk{ W˗ڛ:)_ԲM_=zi^.c^%xRytJghe`5D[KGa1 W " bCfpM q-S0 2JF·+'l9$# <[ˡ:PE5ձFu\@5 ~Mϫq(SJB||l|uuê}_Moig[R , #gQ73X{n(=Hj9%)^E>[xaصI:fig.~A|toK>(I.yR%F#Z0!`[2YEYJ~|0=jDĕqήY jc9PnˆcjxN HZTw.^,v1FoqvQH+wWV8WОtMADpU6WǸ#M*uZY>XTc@t-0A{8!gXlEL\22wp'4 _\$>gKYT鳒<%,BW״=E%7G6Bt#ahL0]qAR;9VJ!Ə)1j`J)z:ndNFM fceMi2rг  *25!:Ta WB %DLS> 8W+"Y(ЛʆTW3!^bUSH-SjYxZ NM=ʶwlhHXeĢja il5pICOfː 1f!Mg5 |N14MɷD/aӀ]&m(^F_k D#ޞK4e( {5Ae t;OBQw,Jx } dOq569BUF'sIJ^kFg,9mYSWV53{Wnjhim(Y_Y%-ôEk R :f,(q̉DrpF :*ac?:?rDU0.HǸu+[H9'bD#_~Q5f"^\^1gA z]Ldf.$h2ND܊nsRHvVK߮FCQQvy>_ LgzhB^u0RYLnl }P0w))fo]+wKctvc4,`QWVg~FԼd{ռϙ o4=͔2A:^;~ tݎ," 2Z@98EaAnŊq) znyY6_2n.\&]8^Ӌj| 8( &ĊJSvZ7M`GV$,!z]tWr}nzGxφ'hܫ׀=bǮj-p'D%7Ƈ(_^ƌOpm|Tr{zVH#(lf.Y"\<4mq!n~&> (c~Jٚ綂VN} %"3]HAv>]ퟌGȒgU؜JDs$QA[ Pƽ|87S| !+>˴\Mp x|wD, C޿8E"Uz`y\}GSDMrvlj.`v]ȇP4%ڢ SY NdCaȰ"ZQo"_ddw^N쮼Om.r!`<) }PK:P gPK3golang.org/x/sys@v0.26.0/unix/sysctl_netbsd_test.goTAj0ᱵ(%K:+di)N,@mQY2ҕ){餳[?Nt=cz±'{l>D@BF)| MD)h Dt>SpOTZxlr:A`(:(hq$ "9r}Hrٓ-r~%awܴo]K X҆XtHܔ%IPCZNH MS9IiVD *!ԡ!-jya};SMxsȝqqWR?бǐ67cx QZka}Hu]ت~(  D͖*B,k`vkvsS:m.)3X"z8CF 䟿lB3P!n2 }+vk%g7s q=NHGS~%>D= ['~h}$td7FqkJ1ס9/f]}\~]-fд[ԑM(\T-o5{43!oFPǰU2$ $u- @eCJ~VSS`187Fck1Ы"?BqY̴@ԤǢ0)63|.kDݥPi Q9XDMUa(akv7^խb88QA(&JwWW|.ӛՇG&]hϗ_8dZ]̨ƾFCpnwIҎ*MuBpAgο%0zc>_7gPK` PK3golang.org/x/sys@v0.26.0/unix/sysvshm_unix_other.goL0E+.A%.ٕBHM\{[8h.ʿ'93u8HC='Ʃ-N)?V)ɝ|kߕJ *b;I&孖%j(+[lƍ0p1—!&j麑?jL{og:6x<՘ٺv$E}%a&X&\x&%rVQhbY4N˚љ\Gjv/pzz9:yR`/5:, WBJ=HcPK!PK2golang.org/x/sys@v0.26.0/unix/sysvshm_unix_test.goĕo6ǟſ*\/'0G؟/'埋Sn:79p#GxQZd$PɴrMZ\{x|vqe;'N l;TQsg VZ Ll8&AH@m$c5խ 5 QCkJ֝XGX].CA mM.тTvpC洸_'y ^oBͻ : 򀃛.\Wi|P!u`JQxڠ".cMyEl5L'0#Wsj?`y@1ng[s: }rK"PFl i^o&Ob:p2E.⾚w;*WbWOGgh;zJhI$AXt!{ ^J҆Ž؟ &0^H .Q?r?ߠ~'^譧׍|=AEmG}tgXK/lX(I 6AK'ꗯ^kQ{Gݨm7#'PK+'hPK+golang.org/x/sys@v0.26.0/unix/timestruct.goTn6b>:[$h.mXp&yZ:Ҥ@Rr޼{q(ZVg(ΙaiVjٯ _ nZ_2(`ɑ̒<ǃ# δ $Hj*B?N*SJ£KBeZ]BjϷ[TRQ$y2WVB>wn#+VFWj?%ZJ6liHǡ3JXx͸$iDXZ-Dc=>x\rM,[]ʛ༱wZh0tYRԻa&/EXx-6O87(rv$d81GQ N O_]#,8dq0C"c&dop8Mm]ϿH/ gքӥp[iw v섒VP-9KpkYнrM3@VL"3H?CYs tۿo_nGvu ZcQ_|4]{82iLWO&Z^m!vEޡ29=0_0ᏀMF2KBcۆ3l( 8p, xWSLٞiлT#uBD=L}xgѺyrkgb87OByx۸P9AyvM-$\~aOiU񄰐4*ۘ9AXzqu}sJiʄk{>kC 1Vh9Y[S-_Thljej(tLgzS^,51j=BʺHz|CǦZ7ˊzB$ji̺z2'BT)1%jIS˻_QCfDT8Ͽ|pM=IZ1Vd!wͨM?OR.=.e(tm״KQ)FעAFǣ.2.TRǔVvTnsyTz&ǧ_*~.+4mSg))'oˌ!|qQSOhyS<+g'DCqL[H)x,@*,A0FuwOvCe1_y#&a趃VUͣ:TJn82aY"G]ܔX6>$x%苊}-o?Q^ݎ0t =E|IS=vOAαy<+B Y{N$>D 1]+笫'ޯxؘ3Ļʤc]=z"~)מ=]H}x>!Qjv؉PKymPK*golang.org/x/sys@v0.26.0/unix/types_aix.goWn8?P4v d:143( (E"dZRR_Xⷐv|{z#=,7>qrsтi98۰x rC^1'5VEI 7HBm Cvc@TpȞpN @(mMpV52!"aJ~}@UNcU  9ɪ="G4lZSff&f}4^~DĠ PձkbԦnuU`nKuuk3Z0Ĺmix ݖ~F 1Op$vI2l+QbcE<S~)}s]\{)(/̈́'܈$HIK }͓ʶ\ϙWKWX٫MsYXf LJ+/Lj8ɍ6]J͗.|͠g=|.3/fZz:N3ks^H02,N_ ]O*O]R9j7M"ey8UTW~(lKT| ;c N*kTP w"sJSwAbE;̤(Wap6ͦQ>wb_|~53p>>x3`U4tg罏IMQ|Qhu2E3)Sy L8V7!u߉N) uȩ;)oL*W\ISٟ,%|wחPKn^նPK-golang.org/x/sys@v0.26.0/unix/types_darwin.goX[o8~1}iӨfLI: Fl"b7>w9bZVHv,ř`1XG<,@_ T!yHH(Di>%GࠏIؚ~{qm(yA; *J^uS)^EfFE44RDp| o-i4zOhW)L T^aYBeކJw!S5 6XQ"d gBv>W0)>9 X"( DPV /G,9J,>#p~ j%/x(DCQ$ǫpIĢW L80 jmb<VQVm#z{<;yq'_*(^;&*Mn$W."<%TCZevQZ EG4-Rx vSu۽^sݶd~)$՜W‚-hZqb`ۖ h^$z4']Jvee|uߑ\u0ӨnÕz8vT) ]O{u o]z{;kYWs4Ty7Uq:9xw(훫6ഭHdK8gUʷEU%i[2\HOw3Vwvg0E?xl5:qɚl:ۑJ9GҶ*٩̚o=WNOCSͯ{l~~9fw l9mMΣKvx_Uvr?|p/ ҅_u?K7P`ïY% ??J35HU80Ygƙ'QS$Q#Fu!1/jÐ8m:or<7\}r%'8)7=z:;k< 3Ǣ~ԍP Aٕ;1n,9*5Вؑ6/8GP"=Jgݖ#0:0e9^?=G qiXOSAO'T۲;,Vր7z*=DxZ7ZGђk.WP=f|+oL㹥Uo1d_O9yw幸d :\+|MuGQZ}>_r6[>56ޒ.Vܑ:\IFM/?^:W,둢PY^כia+ ̃Uˇ_>l Z>Z_Oo'iܣTPO4rكL aΒb>xbv5 ̡y A_+ΒvB5CCPsjXRjn/.~ m sf2%E#)^b_$^0\G]uPѷ>Ya˧Im6j?NQٶZxZTȋlvmd t5MRm.F PK7I PK0golang.org/x/sys@v0.26.0/unix/types_dragonfly.goX۸/žplG\idHH9q>$Soѐp_ z8*#ƥ:B`ZB3&`8D)# EYH8c1 PKu$ b!%OrPGy8-3H)A 璲聋`xo.;](kw;F8џ-fX*{ ׋x-3PKEvPK.golang.org/x/sys@v0.26.0/unix/types_freebsd.goY[6}~*yR/f6eVۛTM %Pcekn$x%ÌxFѸД7NNg替O MJyf\ $ː _!F#tX$Xc@1KN B7nZ[*#1PHD1(e%MH-i(% ~8$K9Qa0(% '^X"@`2[<)sF9.eDh_xF^[oǞո28:/ 2prx1Y*XB9Q$0ʄ&TR"dҒ(ƅ qwvTpcڃO\`{\8S;]F@qO})8/Ч$iS h'&Fe̡'eOVJ)(sI+ rt,.Hz(ɺ0gL}bOɸPh^t#9_]I^zQ@LRH|b42N *$(eDt"BTX)c$K{$C/m [_'ԟ n^.U-/5-FhLM\%eK#Fќ@XtEɧRVp&Y =?a!beL _#PoG@ RBT ,i σj $_a!j:!eqYS"sa|ع!Ό+4Wp \ o ӈPGAjfdn>׋R=St H^(/_,q|&pKDH fTHŮZG4V+cw:kbsІ .&J給kKݑG,HV;*hjS>ӡ )F. qDS[3[0ZܓlS( Vm'P%8Hv,!lK΁Hϖ~"~R9dΦ)K~vWQB1[5Rpx VM$rQh֟% ϖ _AztfQSVuܶ}KU,9[lܠn.Дy-qTЏbbal\sI?Q"J5ٛڅc5]qLH{+1+;1V%~*ɜ-ӵUWS l\]SNoޖt Z2g¿׌-vk&iјτM3v<ۙz8+K $~%C!{P @"rȏ[(J9Q$#kk<F DIaQ"qWR.J(ktїp.2 KL%KHַᷬx']؞c=%&ٟyS7VItofڗ?j6Lp;yӪ(ZM(e%Fi@^ٶr>}/Igz4MD/o*wQQ27J]Nd[[: ͢~q~ n\g9EzXV3Q/]2/hcv,SOq0$mPwɦ^ @߄q=ZQUjV*φ{uk:aՐU*DRЈf븾3t4Q;bo~ OC@JjM?@Ls,_g߾cebUdg3}@9\+tvŵf"\VzXp6[)j=6Xpj`{ܰ,{|JaXmy{4aj2O`=zqAaCao6l2mhqyZo RmY-K86-[).dDzl=~OEd~cF A_،s4#hYXDSih*PKg} PK-golang.org/x/sys@v0.26.0/unix/types_netbsd.goX[o~^e͎t;@F[N-Q)E{4^?}#^R,;~尨Wb JA*,pt><U!)" N>P(I0IHG Y {l, "&1a,Ҕfk;G$Hz^/~Άh!(1~XDGgvV6#u6$p҆8[,?Ǜ~XubbܮdCS9FPve!Z6a{l+\n7ia\S Op:ؚ+z Mİu'󄶞DQž&)Dzf.R̔",$T-]4n]/WEtl3UE~v+ؒA1`Iqg6KQOQ_VB֮,X-> ęFGM˸&ߴSBS|`[f(ƮK_Ji.lcW Lznmv_h{ئ|mۈ֠mW Ew_id7/&sm.7N_a_j,{qX^f >a;>nlFӕVvP}ROJξ o|}j,Kc $,WJB]h ey{UIt@i,hcf 7Ӫ=k,+mkVW낚y[.׵iY4vp} `L9TVmOb{WBKΝras%RxaXfq%i\2:zulUx^qiXG1^vNp#O_ZOXm'ͮZnvJ'ד8'MS,zy߻cG poBG\! gRYۣNu5,@ҕjKdc'RYr.x{J#AMc| 0XwZ\+EHaq9g6nZmZbG2p.u )Rw#ڮV~=@ ~ڹigh.m F-؞~{:|\| _~\ln-nZz̰zVf^p;[.3`'~3¦e[jle5ajy_9~tD:I PK 3jPK.golang.org/x/sys@v0.26.0/unix/types_openbsd.goX[8}~Ea%Ě/k`wpi#dJ6aTDʉw}dN9bH) !ť_;".`R(&%(R$"LNQ64*Q11IxE!PCM3eY ɉ*N(L1t΃)OX"=%r5:ò+ֆ :N:2Bv* UJvd$yVN/2s/r 9ą*I}D[G}F"dP> .@欺 4*+%9l9sߊ6Q/E R؃7$/ÔJL*o$7lJ gA>AũӮ0f̣ yxep@%B&J(TbA Q"$@TjH;} ).EehMr$~]?a@B ~~0jAn;IT* H oFA4jfGRc`U<4F,4D@ѱǑ F.8sx 881;-cAoM=!LX?fKMJhK3IFs<ҌNX8qUDŞN.ՖOL$'4Gs\9{Ԗ2يE*Wۚ|3.[c$[W3֎xm5((? S֗e}̈́_~7[ r-:sMؑ3q+aM%~"KҰq?}Br3vdwؤEYf㸰n?kˊqʗEyDa83hǵ5`5ոkwcfJ;fU/ƦJ_JYum]\a]T֫j-W WY5l\Q6+DgP+IۢU7 _䛋um +m\+0B$6ޝƋiG实m3r?sC7T%=}Ÿdw9hFby5>I-jY-ļ),3>0YRuacՂ i&'l!NӶݨ.F-P4XMPoVkCMޥMnjN&|_3Sue蹮%q3G,O8">',yRdٲ^߬ vKq(I~C\Xϸ䷝S.H[ Cu}$_]2kI;^F2hIL mkZ߯wXGS}b9۝q5t_6r+gsѓ&19 fϏ5nIM۞Fb>[~|\kxK{t4}m:s7߅` v-{JTj>n677~gKO%V_w_of>,y0Y>6rYxZee5ղ%| EeK~垓qo\>X~S'>x+'nՑa~eoN&>h7FPKrqPK.golang.org/x/sys@v0.26.0/unix/types_solaris.goYm6Ce6 -UE!e+*Iy~d9< !9R]V~xի 9a'-,4-c緎^`` X3 1GvƜO}~)SUI2LyB2Dအ` ́P' b R[q#А2rcq_8> Avdr\[czVUCCj7L MQs?OZ{fa^/zV̩QJ>(qA(hm T4ܦB/Q@(FGጹ 瘕<Px.^f$#'`e~͔418srFN}~i~8Ms]i- B3r] 3kB1=X!TH1jV 9R4$ab| 5dO­*DgP֌qTψ96[k\lbngӳatK4H 1GpV"$fW)(s̤9PSbi>?F LgUdV*k͜iSAƬ%~vf$9NC :RTH_ 5Ƕ:lX h)P0e.&V) XCu("5rNݔh(ogwz c ѧEsn*m6x/T|z,yٛf% Z}SEI'29dq2FgMV]=l|R>l* |*)a8KF}^kFфHS{)MLWf>3!wL5]zn6y >G֞2խ]RRVzJb&0 ƀ03&v*S8SsEZ'8rȟQ9߾޾i%UȽ$ա).TcaY25BIqK꫽G%ӟH*H9%iV+Y Xr g'!qNʇnЋ\qBسF]]&cl#bmrkTӌF>r*ʦ%}SM%,1U"#MR%}J^8YZ*rWӊ:E_m텷m!WՈ~$`hZ'[c 6CYH+emx^ܑR ȝV*mbI& ab|y\*^Jˢ4iDaHlK jrI;uگL=jp9k>sBE?Wb%N7:zvJb ёwIWan7P0E%՝embd 1kɏ^G kVq,LQEޫ0l(j~}hp}xajh`>1x}<|GݺͰvAQjh [j`eM#T6g)qp4{꥕;J/Q>Zy.KC]ohPpTPx֣7^Drˬ/y77PNc/l7xU΍ ^Jڃf;[4-zJ?aInk+KWko,T-^CMewQ)ع~xH ;ع?ޠv:ו&~FmחDr&Qv꾔in m%qn\¿wn4N.=R`=0 B  F nP3>`o]%bTw~'1nݖB3d,9a,Fb]PKCL* PK/golang.org/x/sys@v0.26.0/unix/unveil_openbsd.goSn1}UV (B<4 $T*>ٝͺ+_""Gn |9g3\nԺ 8y1Z#_{86Tb6O B<"T&(ݐcBb|VSҪ"ʀJ2VF%|rquB4BtkBdSe:ƍ cE2&C|ƈJj^[cAqcAY]e76 RRוս5BK.u \'Z{qT&r5L:Zh\aWH5is%~h.>Wsҩr(DT(7/nv,3K/(*5lsxGQǽ=A<ҽ3$ +=M; /P]XJ˕*l'6=@&Jz}Klyey0gFMa?M;xru+a_VԤO;|S'foL(f2$'yˣW88༢mvx'ƾ,1? 2 5ޅp'ʉz3,N9$Vل0pI=Bzz:b*c}[B챈!3.,ofgh/%1CI&Gm{9㳝u5+,3)B5#gJ ?&ٮ1(d~_PK$PK*golang.org/x/sys@v0.26.0/unix/xattr_bsd.goWQo9~SZh7@D!U%B*)Yςc<^iOXJg<ǭ|ˆojIIa'PN3AB3Cތ[-J:; "#QaGd)*Bf!e F.N?=ȄfZcBr 8| x,ecByizTZeX3[fŦH9KĨ8+T sW )i8uE Mi8"t˟YqXص44Hd@ѱ3 (8:NVKwe=qӅvnRYwǝ8NtR-RF:#{^'_zA2@L@ 4Y>m:kpa1c'A>JX_doF >wo@CsB e1]d Qy+y4vۮ4؟b֒81ڡrQ *WAfk\dTV. 3z0PZ yI ܣM(e K ()#:=Pȹ0Zh 4Xlp@yQgڗ>Η y_.qg43@l 8E)b- `e5}|`ٱ#`AAZ%\NI` 7!4#?o´V׃?%k,i'ЎLn05Fn67Bo<<p> sM,jCOCxb@nH1V G-B#)nF8a3ZY^ 29 Zh巅9 )I-Ue v:B8A [vMXȳݰBw^} FQ@} %֜"w=;(r4ܗ&8 KAuddKɓ\|^" 瀁𱪨j)pV1•mcDŽ=O^j(%P_C_qZ=j _)FοPKqgTPK+golang.org/x/sys@v0.26.0/unix/xattr_test.goV_o۶?ʼnޗ{a\?4lȒvEQE"5ʵd[Vlb$;痦p^gv %(_$4s KSxG:;k3Ej r=GPd NFg/. tR";\!ӵ wWsd ci' ℄,C`[#J.>Z$˘,+m,D,5,+ng3>܁%OF?sR!cA낫<&O)-)uCc,H'n,K=̖̂&=Ƃ VYdcܥ?%G5I9㖏\W3454Ɲ8Z2bX+^X 3p2Vz>D -FE3zw!!t}mLpEA7qQv5yQ#SSS号G[,C~"ȎV/9.$YTnv,^*ί@۹9Vz36A鎾n[2~Ĺ|_OqҲ,}NdԜ9X1vdzvW.=CsFK+N5 OFͣ追H5YO( !G'retƹMҌ"9@Ic/^o| {+>.Y(ͤPáC^jW i*LCj 0C0BFm#֒uKA4 Mu_w~8,6J6go4K|$ĿMڟsǠS7Ŏ?/M0cWAwPKMNPK/golang.org/x/sys@v0.26.0/unix/xattr_zos_test.goVok~Aõ*_iB.wBX[#y+vG5ؕ,$ބxwԅ^{>CgdpֳO '>D3xI؅OMNj'" ?4t[/Z۔q']0O` Ej{Q/8WA.|w]yy>BF`wdnw¬KS$ 4R%,%eqf0O#ZeScB&&jyI8Ҧ'?Wb[sdEePfqq7(49cyk¤Fk7:i t iuxwn5O=&hEU~}v{n,wcJ:&/QS`#nڝUvlw Nȶ䜧9¹麀DQ٥ZLqj3XFA( J-RfFpXQR|I٣>v" 繦:js# UN5Ȏ<龼RI\C(ܝY<o܏9n )WNiMrKj wQYRV.mi@Cך }U*ӻ G8_s2֯Plʔ8 ik ,:U 9>BRaFδjƿSǕ# +0qh9~{?6>e/" |[xq7yD7.eT.eB&`AhМ't͛1vh=R`vrâumee4pj68%o*-˩:_B^/f)7 D^i OEuf} WOPK \>i9PK0golang.org/x/sys@v0.26.0/unix/zerrors_aix_ppc.goY8\)~8g&b-Q(8f.r KlEWI5Zl~~ Kf"H,x>ooo|pZSu_[mlooakT/gH= ߶nlDqnx\[}c#}YG㷯m;Xrs>W?q=op뼩^_?<>i^v^n?5YE5q+SBo-05y)C`d1;Ս4S]EQ8Nv3^{%M4eQ8aW^Z0銲0O?3{ 'F@}U Iiێ#o4yw܏hD!:ŗ0-i@!'llP^vpo`-뮓A5ǁE ?Zy,TBv"K;mg.)s;- rJ8ı #P|ʴv"sAvn8 (ȿr,(eY$E^  ԳWY3+zw bIa:/ Tw0b (vo#zuO s)KܡLwP~,G2~vxE`*2U^uz9U?vzfrUdz?笔:BNh|`c)U`h(ea8YC JZX `;aK-ߢbKb-i[{^dxN~T(WZf g.I˟ե^Vt_ʋ4RC}eRN0(W8(Ty JmriEy[/n41'h\Osx;迴hDpK'g2 [pܬQݮ~|X,~aY,8& $v$)*s4iA ~X@*٨H0[_%e,C"[$B1cbʥk>t^y,ơťE"'p' ,I`$Gk# E;r2!i!OH^EWi%>#Pe%#XA SE#Pq$]umzJ*G9o=>l/B9v+k$S\AJcFeSf^䖮R.l/tLB eT,vݔQ#BPA$=^g].4;)MOSgqE9vMVm5!'aDF'TzR9E0]i+=-cGn͈+a/A,,>],zrȺr(jyQųEyBYRh"+nqqz*8NvgpPpEGN(@1/Rb_9P2OBFTk@JzݐS +pڔv*-\PJ0Xƅbyj*<b[|]XQJ>83Yx7eb!d"nEd)ax=HHhIJy0[j aM5l_D{E~Xo  0PT+qNj?5b2/m;P4QkBQJBnCrEXO/l7F'(2i@[_STBS*@͐b!5QFB*{]HJ. !(ב "/F,,VJa9$nHI""4 T۲@zVʵEWzi̍vI[ ~h55bTTڡ,*En>/ ;@83*lŪS NKG:Ct;rw5xv;=l$x۰&}vsMwj@9&^RsU+Hƽ*ݪUy[0K$Ԅ[(Μ c(I8K[Dj.:IqΪ@T5 * ԓ[lB@j˰sb:RKe.'bQ‘ZʼnBZB}'TL6ğ[0UubF-U MOTP f %?&*?k Ô?4TG%ZlFJ~|HcJmٮ c$,YiV)nTP(X Bm`1q]4vTK5 p٪e\?S)O7b Xڸb!*8ʉS[Fq"mk5aO~))@cBܩZ3-~ f"m~]{i&!aWqd+b$R gG4s.dO43 OVe7TՁn& mfo@d߁4+ZI,¼SsSN 'w X,; XyalA]E]t@]t@]V.ֶ] IЙAgGi(G88h9@\ K=he^`-j H^zIXS:+4K?<P~2%u^hJQ֨Mu[RZA)d@-h@*KDHP&50EJ"e<8U_u^2;/"W-y&S:3~$C(SGbɦSo\y~R-K3d@{VXhea"@ <-"")BX˼V,W~W)~$&T-g?HE1UrADq/#l-89ylykACJ:dPq*l/*KϏr"~U +/-3A VQŭ0Zs_T ۢ6jQp>{7ݻ,BCn|!^M—ZcCǁSD!T{wSʋe!8JhLJ9@ĥ8|vaTx:NtT:\GaAaR22YKƥ-'?BNqL5SO؛;_3EzLDiHf ~V_\،O0rP$zPD]F[( 7%NK"|UMۍkP.h VDjϪ9*#&@>ݛ%Y2N;OƴH";Vrh1?uR2mN=Rdzv& N4ԟ_n'I`S?.UAE9J*2q@qv'8R,^]ʧ_x|J}O&}OnIZʒ"E! mPr^:q幨ʅ+'S/K  <$ 7 \/PD= ='zdG}!"y)N+ USHR7 erЈB:b(,#I# UؐB|Eϛ(T3rRX@/IZ1*/{P"١'sYPi8*҃0[vL Jwܖ4A`o$]D3jZʼnJ.ua S(M|Ŷ4kf)mqj-9jm]f Uɶ;,6 Jgn9\ʼ@u)>+j Zy{R Q):Ϻ蘬2 Oaر]_H@[8эgC Ovx| n68yUOfja ovnPzc_vq<9BjdЛPU= 5 Rp/ã( _{R&"8]=Os ߃%^(یl:jԂ% ['Lّ f-`23v<3e#9laˋKV2fӻZz!jEf vpॗ']VC&BʓeM+R|:bP}_hB=b_RTYD 2E+m\r9v],lz6ɩ>zZY`'ih7P奩LٟyH_h4RB&FGKFRQ ÎX.Lysqw g|:z-=utM"ռO1/E~c2YE*]z, ZhVmw/I5tߒa-GOQ GZ>|SJϸH8`sŹ0ޢ592vDcK<h$pꁢ*="h/rvyp_2Ot'%vo ͷA⧪Ybɫ 5P°ӧgSF,u ֘-U˭YŦ [ZSF,wR?iC>GJ-єgYg[yOnPUj%ϊ'ZBd߱ˏgd3 q+4]{oRܾvKLoI);W$eՍsv*J_vX塵* e6oirN䏒 Q`_^wW^`>zÞ"7l2r[}Ŧܞk.[l:E'x4̹ww4m_DEnhHV.k39+iAErGw٢n8w;mQH_еdS2^}w>eM!UhN}i5K@Ҝ3%}m¢ B BQ}N)&Ab(#AQ#Ne\{tEŭ&)ȕ YAl܃-mS'T@ٗ.RXYٲ!dNOHPtPCF*׊`,I}I 9CJZ[*EM9xK@!4ώ ;mBI~̆s̱۲`Ly5K F/Eꮵ`<)22}^T깅Q\d LFc2*H\fߝjB)subdŕyAXaI1#1=CM"RU 2·TF"?h؛2NYѰ7An2NCݩ\s>^`۾?RnPOt//)R#(fa<N*d]r)) MñIYM-eHcߖ^yg'þYWF\fKOh6L?4LteSʿvd8feҋ]v7o0W#69{v&;damUޓE; mB{8BV?턱H+gﶷJG,-;)\Ninћr%eQSx. /tp-"JYlNKb3p`?_q8\"fq%tgO XZePoRvB(9:~A{+!P/w16TT@^o QV F\ΣS:9MPoiXۥ^Y͜,kvΥdc1Y<:s#r-k6U^2}Ź1NxhY3",nx$V-##VɨXF ֮9aeSڋկ(qb}(N{ZK%E||Xl|ӽu_ՏPR#υ S:yzy|XGBF|:5%i:/ꏭ6{󙌻%+O9b}O^7Sbz?g֩P(Ͽ3we|X_ώui_H\_c푿?>~hxt~Ϝ^t_Mw:nj ~?v٥Eq^`CQ ;Q%LT@"/jj0%ؼ}͐7c%2ma;r!)m\]iZu2iaAyv։ȞiN['Qa(2%k0^`3id %mlW8$blY *CNςK0#\&Jz [JJ{eaقNGvWqS=ֶDl > Ţ$){P҅ T[)OI6}HQ gI/k JwsCH|SA&K6i=wcAŎؠ7$r/7`¬( M7_~%#!qT,"OV2 !&8T6AL}2VzWnuJZ~%V#c?-#XfP +ub7H*EJ<ۥ  V)@M um d]:IӨƙDhXi1bֹMPm9ƶsm0CJttt&y@ۊH̍bj<`xJX&h z`s'z'I1twa^Q@DE UL }bbUsn(؉B ! 3  :.đR8a&)2we]6{aGќA!/^#S,S;UPfUtWh iaYaӂpW6KBdfF&~6GVӎ3/P2mW&-%Xq$Uۖ9d 'uud oODHnF )E*btW\TD*} zc$̆#tFUșK) m9^;#D\)ty9nB`H(djΘJSm^31j!GŦ=gy2fwqŸT/d߃bXt\?>o/ BLJCVi/ÿ0>z?88ԧÿM7J?曱ۿdlzs9$qSϔå>zK| hJ i_Фg7V˶@֜KV+x4^b=Pzc쎧":#vyT UG4m_L56n"Jžzƥ~{?/zWWs%*#q~6 %|ƶ>-R߳Ѫy |y=ndB>O(ǼȾm? sA\s@$,&ޜoX'B3ZRm*O[5AA;˥| #v2dA6npH%hRSmmB|~g1yP/ű2uu;aFYoVoҠ,OIN;as|{.{ğ ?[A{Ou ı x8c h:Oʧgp/S n>_ aor.lљomS?6ď | ΉgҨj;F;hJ-mSM/F紛k ]6v\0fH`miGGw0\z4|}?Hhd OjR[#խ7jъ7Y{ ~ʇTrpv_|=hM3n0/??xz8[Iy3^o MD.x pwwQjcS]_W/W+PHfadHMv^Yp4^]}b'#N:f掻 A,(\Flo׋P>6#V}e"5"SD!툀)<'v<_ږ13F4q:^/ı'fq::]˷=8nSP"$[\ 8i0߈Aٔ*9EYKQgO_2ꟛr!Fb 5Kel`#3P ˪@|wz TaVzTmp`b !߀L zhc{ d_@IaÝ&!-_Y%Av_iG65e/@dLBRoa\/ơd$n‡>[Qy+&̝/hw끷N8zs=/L}."Y+8߄LAP>O>ՇM}]+_hcͷTmOW#+eæ~}m:VK !;|m?c> [ԧUzCr,V(1f̾:up98ތou@ݖ*q~/ߌ `?bJ p)C37zN%eezoG' K]snrtv 8_d?P'äaMȺ?BڍWntwNoҿF̓??>_=[@,(6Nզ8Orr1Dm^Ą^ҿ-h̼{=V*y?ޛ( ^y=yzn<[SJ|'DrT\cE~`PrFn&H`!OÀb7d|J9y~Q~UvPEAg Իޢ+19jPQyƐ~?wW2NFYPt;+a1ǒ:!r^q?O8!1fmluEM}\'gf۬)S; 7iDbFy"2Bl؉/Ka lR@FXˆ@OI cA-HNvīcOdT51߸jm|/0ypx=l)4̦d&Uzki\~VFro\Fnpc#ssϟ07oϛGm;wϟ /0Qrs>Wߪq=Zot^_?=>i^v^n_?5YE5q>g,:,q{# a7H GG ') @ZlHyJkR1H'PnrZ ]T $[p ɥON XHk E;z2!6詁4m yQ"@i.\OyW@ŝvE!aU$rh{|_h'/r(VhHq\8dyNy[^pK Բ=jҡ2 5QKuSFS!Tф{zM`v,,iZ| zuX\ά]v8Է&D0,\Pgnz*V=O}wl"ۮTJOEQ["x3bsdEXƋEs/}fW9 8 9V^r EyBY4Rh"3rpqz*8Nv;fpPpEGN@1/R_;P2/RFT[!W)-T [8!jbh^ mo*Œ؏3*C?%Mt#X)BA6-[DR&'h$Tv̝t̞^ }ř- ma"+|KP`d5K%?^m^"Y,Vm$ (;uP@\SjD)K4} L8PkJ*BYHy\R],Z8HBJׅ l鴰rr_Ey݌BjcL `$&XUږ ͳR΍-:#]LhngekfFӞilܜ(FI{ <R춶,[tLV-j6&3$>VVZIPЏecYyUL-\&T_(k{+D_l)&@Sة&ЛrD5hP I'aZi^tlB'M$R_5bYif)܎ TQ*P {~hB7sU̗Yy ԙv6@Gb)q"PH@USPدN[.(NT(b `bYE+<B_T;R.Fi*U qu\m!MС$-yzo_Fry HQcd4>LNKGz#Tv*Nj,DRvȋSDioJ,6 5J(r*jwQ"b qn'ʺ{fqm&̒" 53gBJ4Җl,-Kfy䲳*"-UeMH:? {%Z2}XR)¥$".%=@i,U(%wB oCNi\U!'aRUQy"q+z"5 4PPWN餡8b5Rf}ӶhTjvUxcdJʈuCeNrGDkd&jo^a)IHI-ԋ/kQê ^ZC 9rP- ],ʍ9eT'R,$ L,E?,QO$2C$Nn8o-X-4KnhصfI=v'JR,L"~DW%מmfc6D솪:̀bB[8 P=+z@Iϴ@Wa^)9%'vTP܏;W,: Xy*jD5FVh@G]t'GoYm:39:/ΎP:qqB'rt8-G {$˼t?ZБ-";Ͻ uV6Kx. J=g-[`4xY<qT.ƚlX/^T^Y1JH:R!Š+C?*Ǝ8'b>};Pu"J3JQjá,.Rs8N9It&rlg啁yF$-"e&x(gHAF+' cW5;ci4Ti, $׽ŶrGn"M~Ep':ԄC)%MY-E* Sr*hd(FJ=bSk::ʯ&X<(0 ReG BP*W](J!e Z@E_CQ?MQܫj3 :}Ҡ/]`<><>S&M zLJ 'qC=3T;hjJ]} ݱChk`"OqoPnE'R;rceP}-5J d2(^۾ !RR} Q¸{xE-|=K$2gXkIA IT^Why [۩/J*]_&,S)=;A![t$PA `ݢ0f0H+TY0-R TTa(hcP:EJ. E (ٲTCY .g創!+Ky1[N&4,ـ"R+2raQCvt[ߋU;,jer'xUB@rwkB%R}cTSc˩!WDg2ٲc]GSl_ R*'@Sf}S(TYz~+ 8L5xE{ap<=\n{ۨWDS] w֫K OuC+LJx*Op4 _ ENOLJYR;(STR^- ljPB ?>Ϲ=&x$.mQ`@%FmD(V-` SO(Ţd\Bq#DŽ[!.]?iиsո1pމ9C^ȔS`]ng5SGe@Ekqi߄bXSrs}[āoS a  *l\ Y7 ]B-=i ܽQɖyvy2EICqЌJp,;z=z;&LO7i?/9(ֿ$AI`S?.UAE9J*2q@q'حR,^]ʧ_q^>'IsߓkELr >eq(JaNEsyragJ~ɢKIZ7>XO*Oo-K, ;X~RdN3hU6qHdHȪˎ/_ ̏u.x649p0d{gMWf͎Ñ\ed6fVf2 e4e7 C[VH7 zʺxٸFe^p_t\sXy<1Ź^-ebi.x*xճi=h^‹bfK`m,hґGj˴l82Z+I}^Pvׂkдy gv]g C[˟~yiˠsjC'=+6b^R ׍斾Sή!\}W)5bÊEQC" /}H|F-X2yŒ)hl&v%f}٘Y/K'Y//"/YI>#YOjzP;1^|d &n, arËKF 6[Jx܂3}6ieu'hs#! S&8DVb8YR@ar[r-|bL'dt gݚ)Qoy5q%©uK?z+6p&mlox ›3W~jJwBFՑT@ >vAIh s4`Mޔ,{݄x2-8e0,%vo9KP ú ᦁӯgu=472Ji;7lZa -6e:׺2bs;i@NIo>Rzkш<*ަH=.xZ\wq؀R/yVahl1~Oq_vt[:/nYlK)sJsk䔫Xت,bHhp>T*瑒_4Mdv(UKqK(ہP޺i}$c7.|ѥ^7]xY0,~ CBHAl̡2-n3ц#7qFNc>+r 7^hRmӫo4coX{c|7t1F; !c4 r1Zv׌m 'É~,cs-Nx0ZDO>%7h [Q.zdT,k5 BaWY^{)BFR/ZK%E||Xlb˽ŵeՏPT3:|zy|X{BNb:5%i:skcL{&<ʓMYExߓkة>> 2oF2>-_/LJgG̻/\L4Q.HZ2v_?6x:?ng[/[z};ǿ3uj ~?٥Eq^+`CQ ;&LD{* 755l>HfHŠ웶~`9^6lR̽K WtQd4IL0eX-L$،biZ4+s=jIZ=}U`JĐSb {D>`_ HIKAsVAiVu,4l=i(*r7~-ĢF dW6X2e7J0Xj+;ƀEI T:-bn:\nn(oJ0hA0Wڄb'Mp /w>Q4\acpDo [H Q+Z˗7c9KpD2lZ('cm/i8Rr[? d2VD0ݬH6aqhGRLR4!$W\Ј(y6؏@!OqG O) >2Y ̿I~^œ_vԤ;(A "L*n19{DTqW!f+ 2eHȰ XBƻ^14gPɋnTȔ"Ԏrv6YiERAeaYaÂqW KBb%̌"JuM,830U0_GdCٯL9[l_`oƧbӧ_&J?懱ۿdlzs9$qSϔå>zKo# cc`1Ljֿ7 Sݞx}šsIx%:2Sl魺5a^-T6MP͏)F&$>Mm\:_4jJlDcT}8^0ՆA`=#{}z۟և}E =-G|/oLɧ7"r=O'X\W?_Xe`?oN,u -W{XLAխ~XJ0Ʃ?럧F5AiꈍMP}E:}gzBZ.8SP;LBA85eJ'mO*a bbz9e8 0׋q[? :]˭0[^Cix8qP(և~OƩ~;:`Bc@APb`L%a?a?xl4Q^2Q$Zȩ>C0?p&i'9rVK#v2dAǧ6npH5jnXSm!mBb~g1B\"ž2sy;BYoVo`,OI;as|{.{ğa h?A"Fpsܧ:3 ,9ցUC?|3 hk0^/gㅪxӰo|9U6H̷6O?qߛcmzK~Ɖ 3b4??R`1fAp  |y?Ow$U0D}t&/v~sOGiZhtr~}/ZR['V[7j7Y{ ~ʇTrpv^|?M3nB7/?ߌbz8GcIy3^oIMT.D pwwYjcS]_W/W+PhfidH]v^Qp4^]}c'4"M: l1>ljwY3?8`||xh֨Nu# |i{ƴ5xb  ϗt1.?2UwW0@l@U9M_IuMڶ / z.,wؐ| o ҸX?^tml~siw=lxݿ$3+:3(`+|=H}:̗I*Z_ߌ8 Mg3J;qD8x=pICw7a_/?HL4\q,2\; 3tzc0(Qjէe`(x3>-ѓ~Q ?l$xŲlb0\uԯMCl 42}W33ĝg,|tJuzT%"?b_?Qˆ7Ѧ۟n&6՛񣮶d?ô=\|>nQaGY!zhƑ~^`ivt z8~Yr8ti#L=`B4R\^7ktvAfH:Km/G2ha&?|`ٍ#ntwƔN7_c#?>=lS L(6Nզb'g,a% Ka #V=M@')#9}`or<omm|?UM7a# 4 g-."#^&C ?&4IX1G# m6G`?PKѳ1PK5golang.org/x/sys@v0.26.0/unix/zerrors_darwin_amd64.goo8y0ù3n8@dՑDN2c;Ɋv~܍X([bW~%bN?~M~y8O >~; vo߶o A0a?}4 倅Q?=ϗ`m?췧?^ޮ}z?<~y`q㏐A;xu}a˷wꋿ,Yw  ,m_p% ϣ%?>K."YvӀ$Gp6M)Zf^~O_?QjVğcx4T}d?x誅k|悏(aJSc.,2"Unvbx;*g,>˄ap?Ir  c3ue *G^,߰X>(ȊT󚟋UK2!pK 3Rbg4PWwEX%/g|OYZvb_u~{t?fvb)U7o87Ӌܦ(第򔅵˖h)UyGX+{n[RUrJϳfk2? gR<KHnt:=~m5#<$E/ԟDkeVbXZI/_h%~2ww;@1zjl個Q=?#ϋ<טh {M;$u6:J+yV; |r[چDzeSh]*/x)q )]f8N2,9Rb'RO.V$\TA`Tn,h;e $:I%!$*[j,K?]8ήEݸUjFB⚂'-J3'=)5$n݊qU͇$tSN-N:%%^Kci` aRtK9巶r~Yei\Nqt׈.S;bc[;16 8ϕ@C$?C>ym(FvaQ-#PY@(-<5IYXrL@gNe7Rm#~cmUn*rI+):VCM^ŌZoiD(+qG `AnÏ 'Wt_aZ[p꺧篾,򻾉 \p65){")%4,C/V1ꄧiј:kϓqL^YKZYVuU" ɭϙ[rxΙZ>M_r#JoAc;; -)Sq-Mݲa9Y)`yz.>' ?{UwTcePs# !RO'Nn~ b'( ?,t~G#ɗVGS9#?APeS W_2x"+ga8zе*^H]5SqQ{z%ڟo]9Iָ[䣜YO(}jc1Y:ja9Mn||duUo@!_&u*V| Fyn^DWy˓뻨gPP u[bo+Vr^ue+(S7_Gawhl4_\ԃ%d{fou@u^>h lk rjkZ5ks22o֖:dq[֔ATk~c;}HJ?-E״ohW vlD|<'#Y m=&guݻ[̹ ;G)_V\?O֏挟ՉA]W(le_7Sœ_~a$W캤>9g<2$go]C}] 9Z2"_Z0/Ue,qom\u)8b86߳QV_{?nh`)g gu{VNVިw`gOMj->~r2PR,33"z?Wg_%~ Q`zu{._s1X9*B%^M dlUk<5; hI9 滆_sx'7Cih~Ǐd_%.1!gꞯsj}%]M>:-cq كA{AgٿV|HMX@e]OkZK^~̩_7GbU 2W `M怏tm| 2">KkwUz{9!kr"i4yxPPSpc <.q|F'yo 4 ~yC,7 %5\V3n)sg9Kȓ۴i:ۧ~vܡ]O|G <#A^xe.7^vw jO5mktBG7M'lcubFޒ_<_J|! XJgGM8n3W5S%Ң2$ %xʊ5wF}B9v)r0IZb* .JCYPf"cAݸlSo4*}=CӁ*J/gCI:AcW_aĜ=Pw5XuJzf.ϓʒ{E,Q" GS)xV9:eƚwދ(MXRea`tஎҍCs&|r/Ӵ*mqB6l8湌bVD&&3^.䒿v=<윗G&_e1͑'ʪR=CcSxZ;VP/Jj?@TenxL{2sׯO,^U0~at% 7 fX (\K9Һ5S#)P=]T!ȹuڄC5 +{zBDIPeOO( 带1p\P*RԚ3x/s?YxssCJy];^5R UF2|%Y4xj>G>{"2"/|LP z<6-kߏZG;OL>mހ"OmPyRwy_m?ϑgq\IxOMb~‚ZG ynϨOo'v)~&QgPgCnWn;ɯ+07_k=z2Ƕt΋yrI[{zrc-<ob99f>;<[v%|I"N#<=|Iѯa7QG?=>u*;,$*&=׊''T%ݕ>#I1g9.E4Yo#U2]b<0/>a+xږ%뺍vY$a>ػetY~dg5?SӓH1 @W^R@~~d{fBRȓk+)Q2<\!Ҋe.rzrF{UPN\0])m?,.p姱s`ĕfsQX^k_2ej%iވe CXG^AO/KbJ3p*,LK.NE1y\ )2W~CLJ蒳yՇ9(08SV}7Uxp Afìe\owW :0PeSNo&0%e9/y=)%ƐC925xbK3x+D '_bm<5x{Ò(>/2pmD-OSQiW>t5>Fn_P|H <5_ mTxn_4 ",JYB `%u^Iu; pm#Ήy*V,íV_vϿĐ_9hp&+pջZ0%1cbR=]jíS"3ߺS+-oX8yH%@gZ|2iMD׆+'z2k82uýw)SgbP ,y8˅8/A: V9y/<=\8ܲGFߒk+vg2Ce P|X,7{Ui^zjQh[_̷>:xR=Sv {,/,\% Fh,EN]؝'|ެ{nI }cz I8~i{ c3;ye(՞TKeX[ Du< _'2 7s6vg6v瞸x<KR2QCul311CјkQc҆'?3=5zOwgw\YW<" Ze3'S})))[);S3Q0uet<=,avt6 JaOi'[/c~el7zfSQO3UֽY^<()Hj3C+:k~vﱧ&q:0g:G}rRDY57zZy3|)[rِ{SRCjDZA")~'O^ɇa8k}"6KxzIbͬϗJ+J]i,3Gɯ_x֫[Fnmfu Zpi 3Qϵu&CwԂ%.]A9i?Fu’ˋuu[N(xpןBQꒀnIRR{(,MA<5{8zje3`=_ yzE8B_e<mVL\j_GngzgSْuɒL }DYZ΂C8KxÜg=HҿJǔue:=d7-pn[gOy8{zH2AuJss"`k+" xj`v!; VZ7W<5@I(E{_w Q|0u1Cbf9JfKa>l xW1V>!*Gb yB#lea4>a%$\OgerSSqse]?ǒ/Gx~:!Oo!OPyz[v?~KNm>aQ6? FrOLâ!Th<95NP= r1A9ơt(,ydOFdV8H+Gp<7&ZZϏxibxKk#Ja\FA;_l6-?Rv_?OƖ+\R+ ~p[,}a.S8sBɾp^,f*-nA~?Nӫ/xHX{e άw5xUYxt n5%߃y14sW ZSzxh]]f^9 @2[}Iӄ_mp*GԊ3KMW8#+QzoXb ڭUH)bLj?/6 !ɇ՚f!E8w2A#/RMXydbUĨk`ZJ8X*JH^؝Y/ʜ Nqd:dp_1b|'".i vɺVǁn(eeuX܍n4^8-V2ȫ'g8qbkq4O/J M5^yr0]Z}2O:ӝ1u6}UWRE1)1_v(X 1ݹ^ydw&޻Ƨ*7:2eyQه3ڔ BZ +D#Pw&nDBY;)i-2̚u \$Oo_#Yd%(B;Ll$Zc"Bc2 )nCXT1oI/9yeꪔh'nQTX|[<':ÖH`M|/jx/xUW.ݸ 4p;D9H:#SBE9wU ȱq e~cLQ,3N܀<`&hIW,4q'5[qGqd'A5㘉oYHc_FyQ&nVf!;w.j+Zk78:]E^D+VI$S-aӓE3$. Ҥ'5NhR5WTҁ~qBr/ F0M2[ juTZypSsTO ē %~#S|qzn"hf<I;D些'3A3-'˲JDxvp6MTkҍpc$g ov>z,Aަ.3R|QsFA"fzG,՗g_<|o-)rHӔH#%E- Drf`DyZS;L^F +Jߺmm Oyӎ^[L]TDΌȷu1 o`(R)jZ-e{M&D`mk"b &%rzu3bYGIR$lJ$ŲI&g͵HJ2cBN<2ifD 6$몬'g\ZUV,pnT? a(Fx8(hI%(5nG[]5T2(f2ATf5=hcihopR:R[-黾k" Jr3J#X_*r̖\ZK9kIˏK{HMTeNK-vjL릑C\-e%uHvnv;jmuhHTk)ERjJ2 HmZjRۜz#5jaMSJ͛ZN|YjG[j7 Z,SFQ)'jrӖ38 6RG:iyYK'PPj2n'EOh hj26gs[ղ +ZJ2lDmRԴJmT(GN-ʾFps9qn8Go  ±_±_rPʱ_U82TK9Rjk\em)~RN25k\e&Zʩ_R[-ECS-WbZv0RN7:m#6JL<M?cH9y#WbWbZGb59Rt_9lx> 6cRB<uT\dgU8-<^,X{*w)* 8b^.d_T,<[Xw#{\O˿qJpKȭSE91TGELn~RXk{ %Mb%"jKS{(ߤVK$x9#vm, ǽ5;-q%$J¥S BU9^nuW[m?&kw3;n$+Ζc|p my:*6%}½kw,]mKxpH⮹>NyrX KĴ 80͡Na,b rsR "GT<5yǕ%wH⮙g<+=gO,X'jRAR#),eZ~RPj9qQ[%E-R3%CrN(DBp+V:t:Vu˥yGk}ϓ7aQTYqy !)pu ˭&JiwTrG__}ĩˠ՗ \PS!Hc0w)cMTt T-g}G3jKIle30JPOY\5ZƈKF`g;0Y΃8JDaU]U_Cfۊ0jIGI4GQ`.Y;oܑ(|l=C!r4g: >%-qR:Jz#,N%Z 9{И<*ҷwShgKuu1ܑ&<ǜɺʇra: jm5EU6/uh goWcꡈV|J#&!tCu ,3h`+` #zA'ъ%eO"7XJX+ E]_+/c/7t`.V2$ M : tJՍO@ IGYUQ U_(QqĸnJh]6(@>l$KX"ni_>O߷Aw1O?>wm?aqzyzexߩ_A1p~oǏa՗ F8};?w _^i9v_Xt0&t%1D ^>^dm k ~|! AB/aw|{~yRex=}vx ]~W α,n|<}۶y6O/?5 Q^^JTB tx?~v{q^e0Mxzm?oo2FP0-PwQۋ LlѵLPsC],{2cio__eTafC@ƾmX/oh(X$SQ>߿O/_WaCȘ }CZlS1c%#4 6" TrxI)B A8 |}=|ݾ Tl?^22 Z5F&P!*߇ TEȡ}~;^vW]_<m_Phǟ@EL?߾O_ϷۗWQh&GMÞ,_7%6}C qǠ~BYar+)T%j oÙcGuuخ)z;5Ԓ&Vt #P=2S-2B*ޘ^heyMK.1ξ_˖w ;|WUZA6` .lʩdht?^ƮGHv:lw5{=FfMz:~~؋>S}:+0Vd>={[zt<)ѩ  ?ϿFXTҵOχz3s? {iSp}Fw)qO:W MA5oF@=Ϡx0>^":j k}u0@y^߅eg 37$? 㶋Ae;Av|hZ1@ :êY]p*:|msv^+UXq -pRtViyG@=,0H۾핑@5iݟߎ"x|~bPar]Y0iUdL) bU bES }hSnu~~'?Pd,;7aP7==B=tWA"j lx26}C)5 -AIo4)#+`}?q8:<>?#(c, `fPsjJ_0o_? S'1^={aHʉFkRC3Q/bx ?DV<3qT*tf|n \hkmC{1!ع"ľm_Ed#Pj+IKoë2[(# ʓbf0EfhVbBFy*@0xr҃+I8;a7*̂P3A+}gYyteTKıZ"j8 ď T~GEi FX33~4z@0%9L GC4e`{|kȣ!V\~ 4t?0BE6Y/iofPm|ya N[L&K6"YvӀ%Gl4R̼< _yZ?1hDc( ~"U $S4saJSc.,2"Unvbx;*g,>˄ap?Jˈr  c3ue *G^,߲X>;="=8EzZw&%=SHځ7%Åq*4Ydɉ{x2t)*4$"J  rcąG)S')O* !VRUcg.Iwģ;7wnՌ5OZgNzRjIܸK!$"iI xRęPx6C0&1 ]#7Rp?oP&r=&̃$f|RyO/\HT%WtZ#J̾i4_~Rj1ϞT$,|'{IZT$*Ea}oYThQCނih~H ׶p!pRvF)G;DrCJ9!:ܲ ϤzGW_٪vXap^p|h^qN{=Jxꖙk͒ϔFnA G eX)8؂_دR/kj_֤iY/S5NL뾍;Ns!'ϐO_x^=Ŀ_V+k4P$J vOMҀ}V<$PDS TDuۈwMEn2i>eTg6 jɫ֒Q?>Δe#96Xn rxE| PӾ٬; n ~2Ȼ* aSºM<=/,[N2x8j%NxKF s<tൟe9į<`EQY%Ҏ)u+/%/71s:+-+֘rӔܴW冥e'BdkϾJXtzG!{U+9c |Bn_J]%|J5F!P5:7"tWyj "( ?OE?AXa}-CsG>Iܴ: t*,@U8'qă5^q8N HU92oYNFIG}5k׍ӫ/a\t|?.]O( Ƚt\X^F=|\ ~w|\rSot.[Ai.*7u 6Gc t<$||-+6^;~\x2ƒxS< hAToڝ!_ Tbu7FP%A=XBڮ>a|vY [[eh8H|pP;,汱5_޽ {n0gh,Cɯ @/mm CGI:WaH4cvP տYLR&XЗ#dقpg2julw']Ig`Wxm"- *ߌ Gv$?k@7|aBq^T䌿{w9w}x>嫠*G_::z/ U՛P~>U< o#:?d%9!?k~Kn1-׊҆A~(c{[7|o~~K: 6oޮ|FY/g|5:ͯe΂좟^;QYyߡ?Y71w_9 4*{V2':cU؎'<;/6_|V 97ڣmIx&t^rmߏli0?Ϛ''*9ϧk Yv&e/K|e0Yp=gfEl[=ϰK,&~ltm;\غyh?k>v?&e4\[k~oO㝤χЀ1?)+ԏe@? .s?-䡿K 4]bC=_+>8J1}tiem[fAT{{?V|@MX@e]Ok)ૈXW/i[,>#WmmW_X]AIƳRCɻNKVV>*λ1՞T]E3Ш7VgWp'~ɸ/4:t#,#On~y8ln| qorb=!9%oymwR{ف7|CQ?ŶN^ \u3!yKj: ˽L/= ڰ*YY| uSoh*3 m5{5rO w~lMq)`[(olж&#=Od'CUں\AzDfks*Eb鶕SrgUl6px8u5|#$qV *`nt]2i 3Xnmc[h\:©=<9TwtJng:D!~)t39`_1Tee >rQ.+(/NYbϣ䣤ȏN>XǴWh,.w˦Up|s|QFW_O{c\|? lV̱ uD+*.[<5b%5J˜a[7M7$_X:\#@^i-CjQ~Is'R?)9-Ɣ 5͠g1ˈcSܲZq1v )Ԇ _K~G!uבyUlYԤ)V/',xw=d |ybog_xz zl<4v6?&ܐѓ{M1lb=,CܗͰW'<|K‚6m,?/׊p<p^ ̓S-Ng­ӓnoFx.0O \Cl p,ym#Nq<|)DS ?~ f8l?!Sw rSBkqݓ|xrBUXYmS9s,RDc56ˊ8"p*ɻJ0fH2:eTB ϫ>t@)̄Aę2ƒK0:5f͜w7D<(zCEfց*p:@$ CAz/;OK~f~?_[ 0XU8{%{jDyIԆk#Vh)~b|J'alcy45pCb4ůimmcsԧaaQr*̨`PC?, bN(< 7hek|qNSEeqnR*׶{=5%A3Y;Xpꆇ)17, '.yFQ[Q`ۮx ޡf-OL>tq&Ng\M ?64.Oc5OlZ1?7,6}zxu[wzy5G΃Ӂ(nq!yjvW9yF6oSnR|L6 -՞Zi1xĒGB-?qȨdC+hb'/6\9ѳHި`YÑ᭨cԼKy :>ÀRH`d'fm^Y.ylig{x1 z 4?2Xp_;1ڤ.c2fs@JNO*S+GoF*g)œ[ٳtg0|a(U0Fc)r/6h,i<15OX?K>wXp (eY=ߌ|,/O6<{kD>-m<5<ʈ"lj.Y=SN O9GO"Oٙ"ҿyps_a۷O`^U {Jo<)*_|].t`( 3Zz:<Ұ 6@IAހ-GRY_y{=5Ӊ_97=t#xw'zGӝc~'L&zKUφC.%U %ҒI_P<=9,;O.H>$ր==ÅrҲ H&, Ғ, ' d+@ݨDDZ2[;ܙh$|s{⤢e=j}ta d4/ u;OcCm0bRb0}PJݲzM݈,rw^75=)RvZd|5)ԷH"b5cF$g JP}mjE>F(E΃ Td}!%:RJ݊2)u'c^q.U)5o!3vGܢzy~Gt-h_:_Z;=O]q,iH-(w=s&4u,F>%&"9sy6&ōV-gWj[AvBeNT|rPai] /k'K|.Q|qzn"hf<I;D些'3A3-G˲JDxvp6mTҍpk$g ov>z,A޶.3R|QnrFA"fzG,՗g_<|o-)rHӔH#%E- Drf`DyP;L^F +Jߺmm Oyӎ^[LmTDΌȷu1 o`(R)jZ-e{M&D`mk"b&%rzu3bUGIR$lJ$ŲI&g-HJ2cBN<2iaD 6$'g\ZUV,pnT? a(Fx8(hE%(5nF;]=5^T2(t>Q*9E#Y#EM5cZ":FKe/)5Zkbv3D)Vn]ї:?&rrf1l5i_tHiXh mԒ;lƴTҵh)C-FtTKlCC:,XK9-RWUOFj,eͩ7R4ԢwAF~*2uhhrf-7m9ða#y̡ViMq&fXċF;Yް)hlC{6U-;B)쿢l$FƢ-EMkNI"|Ҩ+:k;̉(Ñ~OILP2JQVb8 XLȔX`64>$KIᰋ]~|-m 1Ƌ++P^EqA2T,Flˮp% %Jf_F Yp/BDiOlXyЫE:i$4QzrYzz‚,>gCy/퀧^N?re]!O(p&;ibSqF4OUTYqv!`1ҺEw~Z;PP]Bn*ᰏ:Z-cr3*Pݣnp(FnS-Q]C<&%vZ"!'ij=kcU8k -!qP.ҕ%t*j[M0Y qd/S ;[ޭJؖV wuÇ_E3b"hܔ5 kV%R#E62!m =enmixwR*)6\c&'#} A~UÝz3ncr CR<|ݻYi&X/cVztKS- iQX 喺[p4-߷@^܅/4oo);OOuB]hիVOnjj)̊RsC?e"5lJ-b®:~dEy  ʇ5uBDF*ɸIJeC S߼Rߋ#G!a#5(,ghfc \I,҆c䴐ӴrKPjHQ k-oaiâQ1C'EAZ26db8ͧ󱒢Zi)m8Ƭ C 7`vX)і OiJbs'po3y~n,?/:_Ť\H~!1G .%rU+qTqVPU+\w81/zmOmXTUVl]^B|8eCe ejr&>R7UuQW_q2pe W&nm )]AJA|;Um5pnjKKpYr~Fmۤ[imo7.3|8 gg3nE)… Z(6gYF]\;jx';wW_zi m鴢S5D9ܹ9,;u-.9jҼJ}D>׼N7>9׶j"7<6/;ao}wU wR<x,v;6le dTU)uUnv*eo}+Vņߩȭ{{?~yNj|{ /[o~;ގ96%TQZrIM Kl*xBπ[ 8g~`Zg.k(!fA[YAJtc k[ Y`kU`i;"=Iwi/ q{j0=܁AUiKQR]~sm ypNנ!Vk.U`7/; v.10FU{kqG֠7wi?6TX /~Q'ּ]Eq~b{,\݄Q S!y%-6qR:J:Xe'PRђKk-=QhE}`Eۻ)ҳVXHJPrCd]t``n}4jUE붚"*: o]3׷ݫ1PDk >:E:ՙR4@g= xړ dh͒'V:6?JCf`.qxї1|З">k+u,L{F {ҸF(2Q0qEo!B|WC$|C41!b.J"P. ່󗃏ip O?࿮}~O?v^޾^}y:]} ~p~8>^o՗ F8};? _^ir:?$<`L?Kb*(-sA}N'÷($ԃDf{ =~ϓ*\pec*tq<^o_%޳@?mJFPK?\ q$!t|zP`0q@*䜜Ni/{z==~|yREa}$ n{޽ᛮg ]TEjTqvOO']akyBe |ǼL*B߽?? E.`xvq Tȴ;5|{yfx4!i~\iW:d` @ȼ>| QHG(t#|&'YBU⬦vx}=9֩p8q_o_}?횙S3J-9hmO':=^>ec,Ci.1*!Vw߄to˩n% li~ǰwdo| v/_"Vq-JFwx}t)">?Nb̳I?߿Dv+>ޕ ]M+mr?؝-{xܩ|@jpXzd'5éXH_+4oj0>/aϓ ( 20\EOPqϟo{U|z•'1Dt?~;}e3/ rEPzRM &mhXߏN v(ԜO#mQWÓ0ʉFkRC3Q/bx ?DN{G#ԫK_{ݝ ?E@i-?obpښ~ϟbE\c-J?߿ޞOHCW1B%EϨ׀jh'NQFNٿß/*,$Cƾ~`FcKe9%*|dO/^>B1~U _/s'ip{3i0 r.* ZywAtcYً'nT{^ᴱ `Fشj" Gvx~y;<it܇/PKf' D`PK8golang.org/x/sys@v0.26.0/unix/zerrors_dragonfly_amd64.goYs6{m U.]轋 Ils I~sK7ؖ$g8]߿JJք{o7t[Ƿ{q7isiv{ߚy6/?靛W?LOozaKG¨矿mva~|߿}mٟ[??~j۫~q<]z?>o7??LVZI=_@"[U :L10O WidRPUZ$0T@qD Է7k XPc`E:07ƔͥBNPIJKU6]YPE.@a(;JmwK0}sx"wKYv\JN6B&6roHr *">¼eچMlsB™ri?xCwYӡ;3>JF-tY.S7oimJaўKRyD{2{ ƃ=}VoiOG[m'\2%{vf6fp,Y3gN`-D:R"-8D0}zߞnC2Wq5[?fdZ]`H;^Qb`C$e9H~\HZFkar2J,Mci妑gI] C q{2 c$_YQ|^x?k׆(9JT[1,%JXnTBlfM΀ hU'o˃+-2'_@]NUh8V6Y9C 37#HbQtU~P^ |$!6Z45K}e}!jxU32Er<Q|@2*T᭯@eV=Y4lQ^gkRڝ3xtdZѫ8JWt:uk(܎8Yg8hWEVh%okpytR-R0̇'e])DI] lvM2̗5Y?EղΗa5:e7e-tW(S Ф,x$Uે" *ɼﱞal^5QdnLidm*S&Latà#Ù)CBXF;^fqBvVgu]WЬPE$uQz@';y>aǼaRh$Ț趫0w߷dOxyP ^"! ?!uH();$s%reJ~^X 2ɿȤA%)"e Id H<yiIdQֱ߁8(kt:CYX&HF.VOW"hJ@;`5Y~ed&k]vՊ}`t 6eϼ:%ldsvF~Xo\::o|HYZ"tL3O=z>J79i듖ԥ~vGQu $ϛn=<]^k(S|}mS֌8AAQp8Te2kF9)h %NnHLܐu@'hR%iXKWdTvy4+HӔ]\ʎ ʼb PϫE*,_3ýH2V@<@^qy9>WzW}9!49Q7((h5Y<Ľ>Xȕw=X%kemjZk L4Lp)KVvCAkjȩLFEC{TӒڂ,o-9df[XޑU҅zUI֓qjGt$3Հё,jXRr/H\(M$rpbmɫ5ٖZdN͢T~~Uf# YW_"ti? $347CG38] {Ltt Ab ɳAA'oQ4xQXzd~ܴ%Bo{ֳ24L8m̂AK.Rr3nIȔ鶤6̳ET&\ф<: #Pl ]Gs ^1'MP A"lY]&~Qj?@^o |=esuNNN&rerBUnJNxsrڂz,4".Q<:W7`q\j41ȗ?HPϣ~MK|iI"hO~UU1J_;!- k`{N\c?KsVߴÎ'M©š43a(-gwK1pfZE`Rb*OC:3,X7p>ٓqιҺ-#xRԑAe83Ҿ{e}Ac ֭aV27n0E"y;rz?J69 nLSB2GC`^d?-]>@:,E(#-'ARnC@IÞ% NPGfH|*"S m-ɭ &!´T$&s/uL$_)6IM% W[D'cEaB_3KA)isxd;,H@"˱nMm̴gu}6_8ˎ|"Xvѿ[>Չ,?]i2Mqm[9[ a}ph_ZwJ ~Q m䢍k?U\if]=˘UnOYakUOO`mzgLle9( 6lmÚckh%gYn9@Z ۖnz 6kQ Qo“&3;AZ.we?xm4?(h;zF2/vw2Õ PO4$ 7yxm1q8i;dMx50z%kB '=8KtZe{A,5J$;B]){aH U.16(wyax؏8i;GM *SvD<8Aºg,|Hd | N3xxSEv<c Njx&Hc\3,{ =sP=呜-uyuqRW9Y~=>7~G{wNu=DI 9ʄ7NKMqAW C!ɅI 5QhfLJòrE*|$1VTj;It;<\.Sc!~c7qR{#3NҬAVI2BǗܑ\e$9hc)(-[-$qNh=I(_]dC{0@-qgI9i8d\)vF S\4:H&MI.L=>"HcHuiL;`IזyNy|'צIܡ__2 =X.Ӝ,H,o|4%, S5n<"qօ/Sw$qVnM㻐i*]J>.e?;<>.g͕Y4'=,;z{ \=S$ 2@%m#Sz,5SFʔ*40+s/fBYVquWU6Wzo]Yqy $x, Wڳk=毆\I-(m#DdVt(%D % tyYнăU?|͚_Jwݑ|2I0FTξ%ybȅq+䯤0,\\T YGIv-iQ,/_Y֚! a%̆߷dg6Jͥ@2 KJõ mʏeTx^{ =uJn'RqRxOLQl *ʔ=18dVT„߀hq휲c``A椨+r-8V` {3=1ܒ2'զ'zN"%Jq Y p#֖'ȁL?NRP=F+˪j[N]re fiϏ >/Ɯe+haXTi9)ԅZ &u/Hvu* N;: t$_tJU%*O:HB]43M> 4fuZO &(-T^Z ԢYf暊RP?$;yVh8jIQlH-`*U"!jD:4H$>WeE cLx-v;JWAߒy+YR8kCƿ2(dfm 3NxpU><1MH2WyO$*Y6 - E~IdUԵJPM8<$d:L;}PdEgXUd J# *Y<U@mnN8ёdY]6M0OY/ߓ:rA=^ w fmh 1mF^.jc F hbW$a_r'rz_!m`*hhNiز+.:\OВqd} @vawj?kos}8hf[^j(;] SlM-)ou# ɳI ;oQ sp=iBi*axҀ;dR$ؘbh ژJ8KU@m`DӖ4C؎w: M7=K~fAUY)/4ӎpĪ#hd\b-oN)T~AGMLoP ꈑ}6ˋ(sReYpsՎ {i^d= "?&:3g*5&3)Xp{VN [0 hxԲ[ǹCl5 It.LA+-.[Dа.uΣ4:]Qϵ4H p`h{Ѡ¯ȓ.sEHR}wƅ@hns$@Æn_8ǥUŗ@2ЬjjYk4*[RYr-ʖ$iV6+IKJZnQbZ)jekz23%ֵk}QUQ(E['-I\{/S 65 T,id-)ŀENQZe0)kGT Ϊֺ1 1 J_QA#Ӄ|K*/ÎsA,ֽW)ń򔺨@R_8t@gN'ׅl61n=|1“~lrG@G L"NegEI'r|fG<~dMgdIbӦ]$uP<0KkU5KohHrU4/@܌\q 1? -ogOn0|4ďi?8N O ;t _%~}p8|ڕ|._h/-/%|v_źM'ƷP sAr߶'.uY\^_F.*-Ǖ82;t?+BuvxgYj ?۾C 2\ -kXV Bζ` Ѽ'(TTQ H ^2ZW򙴼ڏah-$\ϗL|hȰ};82ݺ\,n[^p[~c]xkGJ8miko3B7vɦ D~yݹXγk c/ݶp\Zi*˔YZVV--xsoH1b-oX-{U[3g,xkFa7gě3N<'5|r-aQZ!TYhmnwLgJht쐖ZG>lȸD.44O¶丏΃mlh в۫l@iE_$hxϭZrB "ӽ\mk \4D@chDR *ȾPGOCy=ˊ_z%)n]QYAj3ykJضH&lU r+H>dh$'~'FO(5\}2GH>LR0qswH#ժ 5Io^0 WAj(JHQR{ΝF~:ʂ"#?N6ȇeyådܝp2> BC̜O#,?,|f>-q֙cQvU2A~ Нap4F#n'Cg x[Vp2A40-?NcoTU◚%;:zs" sI_Λ8I|Z&>K{K[?1ّԁ=V`Z =%R@Ot6 5D2s)h`{:]Jmbפ\)xgHFfPMWC+lUb1Ԡ_ œ g?0++1dپ( ^9llAʑd]@sLt$RyW 2h IfQW 2]ˏQ(6^k/;eSȏ[^!#N޲^xIfyk믵^W_-1y^ݎ/O}g2_!)ךLYcY)*H-7Pyj}ZIJϚݔtpҽ[7.uo;ѵ`>j'b6PIf>/lzm]Bs 8h*cs(5ř6#5-8[ǩy`sNgVQlcSUsXyy'y ZSgc VlZOZx:ME~ * ?ܙ{t:qg.>o7?_?WnPaXD-5s,*[ lf*狥lљ(Q`b~3`#WbcVڪ3u3-TR.LqL~N[ߌtj$V(v[lTL\cJ-k11>W`c[Ql~QS. aX6Bj|BU ܹL*X͑Ǽx2+}R9J K -# %ň4/EoPjȰN΢:+ƾ]yUT IaSu߄#],zCQ{cP{[HʅBV*8 ~~B,3*M ȫ(al\Ĥ(†I@ Ug̯$T4jn3:*>uV( )yW-5eTcCL#E;_0*GHIݨ0b i0ܘ 8136 fj@j@L #I.UCW<(0TUgKQ7քNDU6Je9jnf&żJxGN,DܚvB<*0 " 7@:plXm[$QD#1siĪԄV`L-}X\(0PM jbVEֹ6[RPVTAʜ @n[*@@nWu-<)+ܽ a=V> VeY ¤@s5U͖ŸqaS(cP Cf޿?z(wwvy?_ Iz??r8ޏGsz;\.ݿ]J¨s[oxmzSow857~|fĐtN9>?.͎VҼh92c1Aö&loÄr,ZPnsּ_zTz|)6mj|R3?SecҠ2>>.rI5뎋A8 6ESs>~x8궛wq4M(mt.EA3Uy?A#0ěNBaΈ}i:O~lU~y5D;p/iN-;= 5Do"qFSƥ6^46`tg2]1?6]B w$߽Gr .o󛏏t?WjݖNXve7]qA1s#Q K/ #J67sӠ  3{~_9~YB||ob9|!tޟ X+@|Fn~#tIBz~V &. yн4Щ~F-F;fq]~FUXXˑLeqsKos>)4gN1b΂5?{sow}m Wlku;r\ޝ͎͖9s3YHWL˟Sn>_o^'!7@M=lB7'W;b!$;:q{MйoOV}/ ϋP4}Љfߜms*1Ptrxkv4"҅n,vFo/V#Ƭ?n~(5e%1Jv<_f;qFctz'QU0; gゾ9` (4*cBa&}GX$eUm?Mk4"` ymzd}o7 Midjގ4y}l.@al9ȃ[ˆT$Mq+tQN|ޓqZ.:͛1WT<͊A 뢰 :dwjP׎>Y7P}+kCsPw\h[:p~5 ּ_[yf-HJcxA7dCÎyhN?xmDz\x@ӫL0C>OSJ;m.P+ 0y5c5.Y:ї/ML;wEbr:P ?yG?@8B€8)E>_/ߎͅf40Lit9^wnhD6~ yʕqB_RpߏwR&g3/LV_~eMXB@޼`ut_"6;!쏿"~xNc$﬒#V>nNm,z?ƒXA$Wȿ͙{_ Qc¿1wmL,kAɕds'+ A9bdz38-,Vl^7ޖB@qҜТ3N-9)Asy5?9rUV]r guBK6æo"]X˅&r0[݀l^nQm8ч( 4Ey?_|50 MRI֜z_EE6(?RU>TeKYoUTPؠ)`dKb y٠(3 nMNSmU֓}Xۢn2Sƙ~nHcQ%P\"j8*lO}5 c@},a^v"=KQ.Xt:aaԞ} շ kqGasT -5qiua/7 rܨ~$6iP\̯2 j4P7i'TLw԰u@*='r2AF5u_dhcM?Q#֎a5e,,kqy=e\14F~QWVqݒ\ayk t:MU w [r N?M, i~-1i~bO2$ Q2X>? mq4kzgZ%uN(ӄ;*,Q]&2rs Mil8aJudv^# 4uP%fs4nJ ;JDiQNiV:&E172C:cCiAJi<#M~Oii?͏d51%1e xĶތ@=j\fVQ9C M eၜzJv4WA ^}S}24A<0KA'4ҭ4we3)kG}T3뺹fd/G[VYOA]CS#M4.&Gf]&C[o+3Mvgћ{o{nX7' wA6LimUNgAT r\CZѠ3HFT<& ZMӥ)nz8YMɿj^{3bq{iҀ ci~l*0uft2NK-JFif4~ni\Li%8I)"clB47:HU&l 7h)K %EGi&Ob>=?jjR, -#MAM4 A8*MHE-i8zR3gZ{RAx+4L5jMU1c&w454Jr|(8F"'?Ӭ4ŏ8Z?|?Wz%4}&Lbc4% 3#Mx+yaOs!}/iu}s|}FcLrپbѴAߩ4@n*|{ΗBL4^{\$ Q+vaYv@>Jڎ\H V|=fz# TQ0X2YU5a! /D ޝ)4{Q JQ sM<lMT}&ӧ>LjXwI-uzY/a+T|իh(~$PLPY<\n)Q#wh(}6atsuLqyV_nu|LS=VN_S pmr3a[1J"H[xIFoܾ*;ޓB| S׬>+& nVwyy j;px[3:ӅZL `.^*̳={V X@~ibac܀]㈊ uXl$ @]U^{"糂GX<ʀCz *.(`ԃ-9s^7^Dii]MGp)[W:y.)Nz <6tXm: J-r/gVK!0os@%AU#UԔMa _AېEJYbњ%@犈ªCH"/y߸b]QV1C].͜ 'dvЧú `v|Q`#P99Ӕ6'GQ3*SM* |*rVR¥Rkz9tV. w|px`m݄ zOiaa,7e&bIVDuߗ BA% (ꬪVM3Ha6+MTl`Ð";Vl˾}Y>~ +&AQo&X{۱i x650h Ej>cMDq>86o-a 65,cY [*,bwr-v0-lg۬ϱUh !^Oa麹γ9Q Xq7!MuOWeOuU =.i ͸ Aq<;, ?Y\O[s6# YjE>̅z7Hnn뒅 Xb`q=mPv;_n& -ݠb%#N`!V &&væ`= lQ ˑq`˽6ފ8ىh+o>ٵ#GEpA[kt>h}[O=ovV&xCk(XQB s#|J-N +L!'čuvзҠwqEծF5LDQv>l۸ ؃ &օm:u^b]n- )ruS ѹЌA$wH# Q mB>Es%i ?wY#m%*/jUqn^. #Bp*}(Ȼ|T╦uQ񘶣if+ ԡ'Z 168+ ӂ 7z_5ќ-t[8!P;h(~NQSTZ[3* ʚEK_|V,&UQbo!eAaVa=PDh*TkL [u|\Pܥnth}U؞чvYf즷ׇ8VMdM)ZN~n!XQcEH4DAyLdԧ3J%;0`Q;Jbլ,30<; N`s =>y`?0b#60b^-U #b[v]H`#B 0bOFlI} vE)(& t́HnA..Y f/4P[Fn2Gg75ӌ-Ea0;ϯn8I;sWPԡ0Ey* ]FP%}v^P+A!uf;6ξ`Ꮎ;Y׋STb_q%ŭPtf |NeMT0aM,"'?/π$;k ?ؕ[GeNj`_#!ƨcs4V,No3|Ϣo* =߷[Dg0j_5vȰ[4F\7C, j`$H Pn3JwI*l<1/+(w^5 BuW>4:ѥʒ<&en`k;H-L嘗!3Vr6VŖP:k,Y[r@yA:" wEa d}oCȘZ_LoD:r?}춦ܤˋMԄIn ١M$2P;E}Sl4"-& قIsNEBǎ""F%8zmLS!=+徯 ~ۤr[fܷilNyE^"b+ m2 v֣\Tb}&\2;_؈Vʀ)*˱diN\HeWS y66ޔ_5틐+*_04ib%6EIŔsihy25c)M5AY;X$"zI-ynI AjbSeD!zX rVsͳ r%Yv=-PɃ7G\ϲ8Ì@`waxG8h _=鴒ya{YR'v`/c0ض1sd":8GaͼZ@گu'NFPܾ&Hy|k$x)Hx,Hw%2uGĝ>lk^1=$&?Ʈ/6pKC2 m`+}ء/>9[Qq͇'tm.(GP!z6+ȥivM΄Mϒ%_*,3+QܰLn_&Pr\dꌫWx3E-W::׶jʊ`ڪib֢y=*PL.~:TPdiI`j2ak5&M]^^y3+ "4<(g`C:9X>'jb|~PLJޡ Q5 *Stcw0bx.XmO΢nF)ݏ +vXݍ{ח :laGQcxqf_5Pz7K%BOaa8aK˥e4d⾮qpFzSekZہ jv[BF34Z!5.ݰcGeY".ʚ)2pAcr x~XlMYu"3S7q7_C`xD2ZhlbMf=W1F#u X]-a WaRq.|x*, z>dnFnX=%f̷ O밦h%B E|7I0z?,k M7o{XvXY2a!¨rxX4{q >`1R.A^;<dPcxBa.`\MЙe|e 3UyNeV=glkt3Ih" #Rb]~g%âLEؕHf,*XywcL.y5N_M  ;0U1Kxx谼Gf[O eݚ {$|O@q)K׬vq1TKauWa{-4MWRU]KLӕr)íNRŪ)@fXYCؐrjOazGn=h, {_Y@gƐ1Nwُ#[&ЕldY떑H̎l6P̠Hռ{I JXHo}էJ߂TXIru`Y].6aYI&^E?U[/<\]^AtŠ */3HM^PYTf'U>͗2;UYӛ2o{ĕW.P7qqh$f,j}](+lʲF3 6}Q߁wiN 0/(便S4<' PS'v҂]PU, J}/E 5iov%MQxC*n8ã> q}lt>°s&TsMU ;\^buB!|ؚ 1n|{F%7,(S a=ڇ-)#?1Đ| !1rR>aElgcE&M/Ka#-sCYՕvc?)l_ijAI6U L#Ξ >K$v9kVOk:g:hr]ǔ~z2">h1.?}^&d.x<@w4~h 5N]٦ı< NeyajVk4ǻ?tV֋U5P?74rmulw,$_< Y~ʌثeXdk\.G *ʼne|TT2>Q[}5MY(rJc ea->$ jr(eB !#wU͈k U/Qm5E8& S7 pXF:e$|reVJu.aXA)O*X>e hPٞv;@\p"0R0=)%Qꦧ[jVJ]䮶ˋ[o\A;Zyq93ϼ锐ϻț S~]f*uQ/4OC-'_pQyIgW rQm1]$pm }&W> fyXW]OVr|AGq2.IrX˒\RSIrŪ<9f26zA7DySG} GbUu8>V~b!j}S~!kB E_X7qK\@qAf4Dq!cI/% ]^e7~Q/AyН``^e^1"%mFs^|XvWU>EMI*j"bW!4Ub E/Ku ;/j (E-j4Bص 󬎳=9[ *b"˪NqЇcb\%j&ܲ:Z^)lLcۤuӅnؕ’ <(*ۧxZEՇ8 MS4˱ƃfMRUZM6ATN`&pvԘ$uou}sk(Lj?̌J `J W'!{|4NPxZJaNpTp]nZ(nfo-B&Cf %dU6{F<&;55 aYmY\)SV8*0i4Hbs;#c{1긌84٠@uԔm'Q~$T !^TRt,w8CS(/kJh(j;/ːUe6ї}/ZS;tc8Y_ jv`*2\j2ȹ(̍S/+2V[ "TYEHhլ-Vʼ ze0Zd7: ]Nu+Lmဣ56Mt)ohFWݯr#5-y5]IGi7$?=˙;$$TTunqM8Q4l]}ʱ3d3F-:_\A-Oүyz]%'oӔَK-8leA2-m@5T PgMQN%Ȭ)}~Nx`5u7b}} ldYϐlY;]+/+EU$&&ɣ&c764e샤JF}5HuT](s=&}vơaEl٢IjÈ;z#@ﵛiȞS9hݾn+>zq$aYo|YMjxcVSorj p6ۦr6OS Wuss;|x o;Mjy0mH-]{>ض(>rn]J *E®IL^~zr^ya®z#leWR) Gӓm7f @)v:2L@mÄ PNtaj]"em`390̡8saFesC5E:wpy/sqa5aj\)۰\0.`%gc<{AcG2@/ Tr oAAL8{LLQ^;Iy@U7msE%j3O$2ϏX-*O0Ͼ8PݬqT(;_pr[EkB9fy]i@ kv|@$Bsfmi_FЪw3%qtL^=gon͝ Bu{Nۦ86p l8dIGZ9 ~<تu%~V# 4201@FXvt*tz  mmA@+f.u~Ӆʯ5h4QD,ʢ(+)Ge1J=bꊏ9hbO|5tq|-(]52ˋ fzx0&ޝF]qNw+nFAo :&N-7ǀ53&ѕl:!OJzto!iWĵ#lML|6ꀥL|`Ϋ7>iX`@nYi>Ij_ٿ'Bonr!3Y5TSIZmݘj⪾XY>yK\j| /4J<*'/Uf(;:Xc[}LR,`G:*ɋalԗㅠ r]-+:̿#/JyyQ7 iKjT5v[e E;*,u׾\TS2޵;ZY&55MEQmE^ XE$wwrPWsێ4rSjȍN5nnwy)c|ynJBrIA9؆&ۻ&z%k/oxcM4 z6$7s=B3eofșKV}ι}=F5%̐3ϩ | Nځ;"p{pݍ'M՛~Jp ~SYIX])5e]qq6lq(ho#N; k ݟz\Xz ,GM5qE1.װqNK\4ဦy%yUHs(gWD0iGӢ)*/L7,3伯m=N17s¶ÿ́afk!~ u\|p bzeg[V!WEA4nx-T}۝-J|C{#Ku\l UT׃Q{ˣ}B JTǮ+H #r>,M:>+*;!$s5FE6Ә26wèL܅lkƚ8=;zܮ%IKJM 6`Jc _a!>P > i40{MgԻD;o:e9y猯3M7E j hHW)^_\)N{穾`pCgp[^ǰ!8oapC4%$U+'ȓ ryMp7!'yT9Q~gj,Koer%8N{I>,/fDyq#3V'`x^ 7>![=gpzV!nZJ5bcQ85y9Ӏ<ն/+ •(аyJ2$<=+j4+<X쭶i8md(Gvz˥k*gLxmj-65q{ !Fu_l(`Q h+kβsUg! 3hڄĉ2u&ET$pQA{.NYqUǀ4Fb6yx"?8j'1^%f?7 dqo90u A|R _? w(f8!ni9&7xn+B46SiPvs1U?4Ђ;&;xb8d>hue \6!4KF-Uqj(V DOix5:Ko*Y5>* I96af{F8.:SYd/6dĝ̫rd](B3Q}eB!Ўr$})^{VuLQdnp3w`QNRˋCYԂj//҉ȇYM>O[in~3 pU=4We#Z\^,D9e3IA//aM9nF݃I7T6IŴݎ>1$\u,|OKHp-de+t?./u^/O/`z/?^a*uTqcj6UX!sj_ͪc}X l4 X+jkLaeZ0o%^cU ,dй xk@dgY!+d}EbW[p,bAd|8c'JN"#|cXDjBUo~qQ!vۻѨ(t7x MmȎǦU&Ya-2m ,oVL(>Ί2ߖNnDWj-clVZ>teyzx_Iu)SOP*(~*_yA0aFi5g#:!bn& RVyAi(4c,28#1±\ ga`FG01 e_W,j,&olhXBerY ~L$V΀v^b)Km6jM1A՝uf0(5҂  0Ӂ -ci=H @JQ?n D b jB [zϰ 1Qf^R {BlMH2Y/>ዊ/ŠLYa44NmӸJZ6W=#`unkN&HK5hLGٿ|,͍(0N|>RPVYذDݪ>Ӛ NU["6R>Xy_qʢnZiݕLJJzm,tyMHD/I5G&Zz B z||2U ֢v$J`EG ;C9gD%^[D!K l J;鳱2$;Z&=,"ZKEPY> ΈWHbRRx#Ң!]! "BJ+=> h_$Q< iE]D-T5UMz]0F<|O},*J ZM8Ԣct8#@yx_U0foqj/:MZğyJxˋvܾ_^󟓟ھ?_'/G{]NG_&?&Omr~|kO/oKxa>>˩} lGўy?IKחϏ),Dn%tnz< oo Kιx˹۷eM+h- 9=M^޾{^qjDR\or18ǧG q*dE^LJVqkF& \VTv|-p&'ޏ_22 ѪX5DfB!?+e&T墯<~oO'ar~~||$Bbc(PD7?u܏wr!-HEAF/no/ߺ8o }7&3Ô>ߕ,>$ǜcr|,L}eFt2J+:_񯗷?'˿ :?Nsx5k{#s{R־+3 0uI>|NN~˛JꩤXe-sptq/χ b% =v:=̗й)`ӣUS{|>Z&|~7=>o}I ~[w{^@NH\7 H_;yz_>ߧճɥГ ;8>lSɱYRIٿ_~ Zv9O퓮I%3j:zG;y׳rZ+bPwigУN`Xo=u"HEWrO9"1\9``0m}r߶ϓVƮT酹~eU_Obyxzk+9}'? JG tOU Ղ֞^jߺNr%?6=|O^ܾMzz%4 !oo?ӟ#`#.Ud X+o%?䏿c}>/Jze%_`- v<=~LD\'? —Zɻm[7b0hAx9˿&*'ޛu(Ju (0,bM=TJG;was{3qu4R N U> @@=k PKӯE5>PK6golang.org/x/sys@v0.26.0/unix/zerrors_freebsd_amd64.goYsl U]j')j9$ƜAsK\-oYpw~ @I4CR~ Go4f?ӡ}kޛF.7m~O6g4xAL~z;4 Q#O?^^aMy՗;vth?G?:ONoۗ2[Fu{j/"Rzh[ch1{±26bVðeT2M |?,K "6^Z),'`i6afWz>GqE 1jϩ(#@Ec,. Ǟ [0jN@Bc۲" ͍b2„ `Ijf}ESl'1F=YsAbĠ"("lZ"Ԣ"ƨ370ˌcBe;νLyܻ pe񮙧UI ťQQU$0ύP&̆Bs2QUjY%EF|ݒ$H칊z:TFgAŴnaGbR1`D(6Uuvb,T UnZ1Un*7 ՂBrP-8,T *7 Ղӑ#7T *7ՂF0UfZrQ-LU٨lT SUn6*7´#7T ӎP-TMP-TMP-TMP-TMP-TMP-TMP-TMP-TMP-;rC0 \jaA0WZrsP-U9T Un*7‚-*HeR+G)K? (ԬaX{fn1dr[\|ܝ Z -LMPpr⚨fll(ZȫҶ=)6]bcMt)UR ,kJ ٖ)46B0WK)q*"FƎ=[pxdg9faN2L)Zx.`w-.kcktD`0)*NTqpd+aJY¿!kYyt`&8ӵRp^k]p$М4pAHA!(R+5oL4,J/FCXFˆ9lc‰6 [¦=e/m%?4tb1gֻ%lkAt>D>r'S`6 D~cKBgrMj<`k iC,Lpڶ<(̩JcS(rAfB^q.u\;TnG&P$2쎺cc pD ›f67rM*N4XigʬK] 2 D? lqlX浶;+eZoP0=Iz+#FcCXv@01ni,25*5;QY ;U׌N ]ݧuԳݜDYn<g 9N-(cgU^W!Q`2L(U^y\&i&$7([l*uk4RC*z(8\TTT\O*'xν6 dkk8]/6V#-5P oWAμv-&Uv:wp W߇Wv-ط7՞ 7sHx.ŸMh4v7Z1indMPD2L m˱4K|ΧZ$m eL ]2V6M$Gf+BҘʱDD֍&iV蔙y,u6Kc4륱i4ѭ^gFc4 fo_r[(i!\Oc`3^Fk4&}O{iq7($%2%Qe4󅊭I;԰.H[2>7cV[tFe u(^}yOM8Fjp9jYS84+m5)1lQem4e^%>MU2ME,fuiפO?4Eߛ4fѦqi7HPzZ ]xxI?2H3эpr0ʺHהc+J4!84EH4bF Ҥ=׮oزoG6wMLu ̿!,ԺݯUzuȱ:OѰ=,6pؖ):iac'nq2H3AuӨu/uk4YF4Y@bM:,usME3lWHEGk&"d^=?bC/AC~t ѤDJI4*kfIEMi,RTnP<ѿ}. 6qD FUd)fѦA,~ƒ2e4"Fl2/Rd&k? 5KaМ(i o[4Y7Ṡ~ &MӗV VZ5V˩ liDp#Ꟛƪ5i;5irrp؛a`EJe3tar $T>)"F?3*'^y}J ^u'M\ lMdT#*&ӥ4_ \T je+UjWVAdp*)! R^u>6U??3Rl0h;G6=/ndvLR=*ǧvM8J/G!~(aXS0|c-Zv'Q[(I}6WFu=bZpAB&SXwr3g|Ԑjgb0>2Px.T3~Xi= dX;]u=xf55Ztdq28,Y t:,:-,{Ҝ>f~;ՅĪswg}:.k_5̎. L~*Gkd j@\e6qeH,pԩj$cez[g :8uy0˂Z{Ohab,W: Q-]v BFE10 HOq5<g4 5AJhv0lX w-f ,/Hz]ĥr vL ˸.oEwះ@p}:T9.V^=l~c-l7aӺbzֱR,IW~~K9x}mv>gܞ&Ú $\6S( Va XӤ~:W0ZjI,7Yq7!e蒏WeO~;rnM4SIjSEZ[;̛ /Uf$~neǰ}aGֆiB]Lb:=7. 97^H]z~[zXzM'd۫[ 8MXe_h;9V]YHa=MXY{z[|;a-ccM'goQ.Vs [6[eK =Jj}OU5da  `RuEikbXesL3+mtVC|%J˽Re73Do^odS(Udb XU`qFֵ];J,2`rqf}>榽C`0EG{>^g:K77xe%Ed%1~4AݒO'X8XΝ6RAKwnps@Ӆyome~XGA"=.\°{A27E;f13acߡ,E) ḵ+;rlN] Oļ)Ђe &=d {Hя3`$J$?؝"S;ey#Ъ`^'İc $V$X-YS᧕~o+2l`ؾ8=Kln̑satjﺿE iڏ(s-Ʃtҏy~\@9ˍ1I*&Ȧב,Udi}6)3pykӁr[Ma64IbjmAa9Ih) x*3 ;=:Qi׿Dž},Ly>z3BTTaz)?{$%FެڏR\Ův)}l5lq_վLR*2{e ]Z i k PPXXfT$13I PV*$2sUmWloo6upu{^Av1\jGC?7d#vxzp%tyyYHR\OձF2b٭j/**u!hW\mzmUAez\ R䂲ǩJs%Yee|[_$up.$Ly0#`ؓh1qK[BMd Fnv fJ]xS`ZAKlݍ{=?L,G1Ks.KJs.C]. =p1/R-ڞNzUiU"1T[- ajn[S+c]&6GhH:SseC; BQrSX&5c $v/7 G.%9:NVԕUlNej!415J.r:W17(Nxd ʹuPGQjy!Ժ,.+w:Xx0)`0.\x ]@E z)u{Xz=b^1<|3L1G)a;LWQy8+팿w ۞+'mgi 2t帰'1 <1ngu@V^N>",$R[Dڡ MJc<(D1}B`6`TڛpyKV0գ3r岹3yyVgKfP3 Ε</:r ̕Jnƶ>mg55@HMEaՕaEf,Bi%vVIIvFd[\z)KQ` iF8DN͐׭.rA•xIbfݰ젂KEh*۳JwM[R!S ?vV'hgr1i\=+7z2H:' 9K2G7a (;x@m56]1TNV$Kg=2hk^ݕ0^ݕ  +^}RLSWթ(Ų\WF[H>鰉L[ \9ńdbZݻ2+0=˩%`r ᖋcCz*)D@f*HIؐpj9<וC;J,Z2o+ؐjgf oEa cyauĂSx[QU?%MV{͊BbIeZL3tO9ƣ5`vW=P7(_f _6z׮+?׀xeBŴs T~ \RzRw1++eDtBv\{bog\9zV9R6֛ dc+Pu x>瘘&P*$|/3UI4-]lXj1m10ѯC/płWQë\*QAj"%)Kh+MHo iVMo8.t ŗ&M`m±qMԚkk\R@V E_Lطa)E6+]\j {qX+h^`l + q|lme2{r[A+6IPGRQUόŝ>d9Řgw1XdGч[D?TNo)9冤x1s ooI!\>0*-GA@Ps{^a'kR9߂TFHNI-e jK@{vŕHؘR:׉Z(1zuepq{{}_.ݘQ~ǩ;0!3jC^S+S=TP@aק|aTNv0lF^ kE!"\^Je^"fI/ t׽Z%}M]o0 ?(o8vfrjte􂂺;*PR:d8܀ٲԍW$О]Yٕ %ip!,!I[yE"8C. ]lpA A.a>fu%Pl<=3R$M1lÅM Wr˰@YB?ڹ\ p֡]ؼ1 [TL &8N\Q,dl@V䑮Z.>O͑<ޓcr4;3o]혜TxO䣁t Ib09%rCj ׉/4~3L')vK >?܃3je 1{WOK=EYgGUQ\spۙrx#dY觢nӢ28I=ū4(Pi~RF uo"Q\*c3%ӴD. s %^z0S q_m˼2^mI ]/ 3bBXXL;^&2\WX.źNScԖ]y֜S"@*b*uA\eL.L ul(w@نڐƷ7*>L7 )뼬uKڊeْ Wp@Mz~*Treh~)IWѕ;II  lIjoYv$Vy c7ad 7ڴ%8M3:Q2 !Q,W+,pG2i70_z 0RRNaW#U:K5IBF؝'QaX 8J #0?D#%:CaWz01,Ôm,x8(8 BLF-EmTIjT0)9PMGe%lUF]+MVۛ86rEn)4If1\c:j3uZ%4 tnoX/PFeغAqxIwRl8K4Gݳ-HC[8శ.~4zF>i{~/bVR]x\X%9Ɯz0he3i%$dֺҺ ^IbsE PtarW>ab},DB)F6!"k"_X;JܧPm) aplR7g1  $dy֙^Sh3 Gziye+Oza]w)l(,SуXbVKS!V _wlH]pYIW_\;+E4)äB'ssF\3Va^tab5eI,sҧ[e&l"bu؝ Tq?!FPHRd5vzg#ld;¯\S?=vʰ=8Ʃ}ƯĴAfbxftu :K(=׬{&0u;3B`f l-f6\REBݰvk03 .YbjJC =y|͝6IRw+Ø7 z2+plPz wa,K8g"kN@$e%T? *_B^N TLb5PIߓJPȃ.aʑ! 0.R .:֭\EKr_=j홒T`|w +Ƀv)T( gD)L@N%yan2kXP/Q( REUAjp*45+["k忪oR[%-E(uċ;]vCL-?.#GqzzVsB8g;F.zFm\9օLK`Eɉv+~ y< j/U$Kӄ@i+aٛigzmxlbڧ;QzpCZGȂoH ͩԾo 64ǂ[nѡtź՚ƪVUaG>-ɱDa63jk@3ev:BVR*NL ^R9".)P9=x&'MA}WMPLOJRϳ6PHTdO4AŦ*k O|^? I\c{<8\ n1= mcg>L)l|$unl9;|[d-{{`RkFc{<xynoBӦ%`܆˹8M!>بV G!zI~8;yR 牄ct`iآ9;HݟTcC8<]plKX7} 64ZIBr0:&1 7 I=Hc,WZ!v~< \(p*y #3`Etb"S gq0%TC(Aɹm`^O3AB$L9V)tyO&n,GDpoy$xQA&0GX7u;/XtزJ_$8h4!+wsPJaa0 s=S^¦   w-l&mΦaC  s+:0SRV&gҘљUwE 9ّik1Թ3 tft`C[8x0ª0ry5m].tXf 1I`ٺ1ui/` T=Ro8(J  F^?x"@_;N9@WMSA97օf]$2Y-r"G?M((nlzT(uVXs2v+:Hcɫְ! #yxOHEw]A+Z軥W/ لba:܉j;{c?w [9t,ͱ9 QãQ.,d02*B5SqVuXF Gfi˹mi+ SQ9]Q`WxfIF-.)zxi CZ-mK?4]3Qxf eT˔PxeqJ,,ʚ'zRZyE;j3B E[ W +._*T<E9R ׉k"1l20 tg=Udr״b~gwE4M<͙<\{aR_2ܾe}]1nZRM^>78U9{h,>&xʫ Y FA]zyoo‡0锨p"(}WStqNi/]h楾~ETr(reJVe*KR=~'iNmpd߱ǥw72Egɹd[*u\Ǣ97Bu@:r.O˲Gx~&}}L:)ͩX9Ĺ_w }-Mx^N~V^_*(H:,j/ˆ*vP1Xu M5T1Ej[[,L4ӣi'*<ە+Z M]자L DpanQ:~{ K+INȑâi Ht}=`C%LbGlGbu L=U~Rp$F9%&0{!1 _`z@>P : q0P{M&؛C;Z%)zK+3uoyePF{b%=;ӿˣ': H=}A69Gִ~{/qLᨇsTDTu8,OG#M~E0E`}\s*w.YBrj߰{̋<ն.'i+/;ـ2bSo  ߼UڇM8Cן~oo0QFA&2j0&c%im0cVIZTT:#ún4؄a=)ê!6eMXzʈkSf3߀9 u_b%>-h r,S_` úOs $8Fɪ*Pbrf (x3 lfཇ^5űtXԘ_npQ&عVQVhocZ]ǪVS5֫6iQCccUIN*_ ZylfXT_S|dym]9+:wXndUh˫֍kZsFc ujdE3X;{7h efwowO`̌bn֨VEeӈċIQaMX !5YS-\ tte(IR1KM[V+;P^$F?cnyR NE>`i̱Ħ@k5f:ãBuBB'i8V.(˼%)D;Ti3Ѵ^$gM4A˯L`LTi[vϚ1VfR3s=MC҇ jd#dF }eW̊z4/3O(q̙J4\[a{%mY`v ӽZhZ,vF}K"53ĩ4<]uyTʔg"6]nnŦ2ϴ&LnSF0.ԍx}FS(J]h=J~d 2ZL(Jda!( !@U,*Z$lqlKut0WG3:}wV}sw5?y9/yzɬ׻y߽5͡܋_phλ}~>~MIi}t|ymFrnO(L'8''Je;%^/qimD)#S}|]~>}]>.\=roX˷hÜr2\Snwּ_FTizz4mn{G(;piP_>.c18׃G*x?L^_W~~}|Ԛ*Ase\FL,pÌS|^a$L &w,?GLs)bC .'^|8PտWjݖ3y˻U~dbw&rQd;x1RJdbsYVu4 Ss{~!ZH5oMϷ:|>Χizu>]hrቸO'];Y\q HGiλ4Eh^d ddgWzwobtt ]Qrbf!?()dy'p>?;3擖5(-|p  =JΧ@Gf/ | 32Puq/h="#b40OM/+O9Y씻]AV'P:0~:4ӹT l҈6()_Yw|96}|*ǀS-t;9P J}]Hu03(Mټ~ROe3>~#wԌ)[|AKlgSv{O_߈&tbQZOŌy@ߜqQwכ1ΘBY }}6gpOk迿Nݨ{4r69gzb"fGk3JV߽Ιx y;ycw14Y#X|wLEJM6g6ceID,KG!詠լ`{f?jPbיQ~GYS}/׆Ij WbK3,PxSWe{Y۸'>M I> R@>4g?Emq I^5t* 8ӡ^i'Etz _Gef*Kt~o^e͸w >.^i-@^WL4U.dz kz{y֑X'PT8p'N"o_O݅"1Y``0ms4F酺~eU>v//<:_/rMs@XAHU Z(,'p4 s?ٜNr%?64>Gޛ ׮wLcrRvw/` Q"JXXVZw߾>xemK)2B/"z_y%_NbX{|d<ˬ];(9!o_W_I\V_O 5 (mE8{X%5_QZ F!+9j:@zwkm^!P].PJҟr29K+ [~}~40B. W?M%t ZÃM<҆@e)Ou9*bLCpmEdg,^_^. ~\ӳϗA~G،5oemFߛ;O?3hQN &?(I ۟vO/:_kt4Vy9}nv?>?};޾5Ϸoo_ϗ臏>no9퍷,HEw;m9g ؈Y VQE4-f; ,5ziaJf!P^݅)ߚbԁSQG:2X3DY\ď=`1 Ɓ:1*$,ƶe!EŸe A2@Y@*^b1.0{+ĈAEQ Ey?ErEE&Qgn&-1aDŽw j{2wI s2*]3O(K(Ia6m7"JM &hd$D5ժJ8%#I1Fst-UF'QŴna'bR1`D(6UuD1Un*7*7 DjQfZpTYUnGj ՂӑGjQfZrQ-LU٨lT SUn6*7TjaڑiGnf&f&f&f&f&f&f&f&ZwjaA0WZrsP-U9T sUn*7BjaA$ dz fkj0ljpY^e=1No Qq QlpX~ӯd-|h-\h~dlhh`h@K(8}+Q/gll(Z/m cSl> 6aIT-/5]\<`5}`Ҷ Ma1 &$Xy>HYǎcGU]I72vقÛUD'k=y68sa:Ls G o(,t X_MGrU4:KG kM4$Ur> r?tT`7|;-2IZ9[ !ц4J)JWL4,J/FCXFˆ9 jp‰6 [¦= ]%?4tb1gֻ$lkAt>D>}La=0w+ u{7F1`+,  0aMk*]>}*18"Wm&)u/PJilcJnQjE"î cc pD ›f17rM*N4XigʬK}e66~ 6 %kmwVʌU.С`,{"dW.)G6k4섁abbXdTjTjKQY {UnF AS:nN",yzz سenN[3LPGo)|0o$ ^ ݣk1ـ$-$;83Wu˕XGަbx~-WjHEet*ײWIDϹ׆lrm _%ƪ~*rj8ș׮D?`v4P܎1tCỬ%W.Ԃ}{{Y>p3x 4QonI+Y4fMcwlAf4 %Ma!I4vKI|E6 /,dBRT)ڵi$!>*7[ڸT5-' °n4OCv@| Ce^KG\/=Hn84;Y4kR_BI 4Z6#륱{iVO(i{w|O9RNR"S^UIO3_؆޺C Œ ,3s=fMCg^i]7יWn4фsi. ?GM24^}~f tp&<&4-̫Gj[jx/G[Rf䉧ڊJ"ilmT3h84azsg$Xi mwf3Z a]xzI?2H3эlr0ʺHהc+"ʄ484EF4b& ҤrƮoвozG6wMLq ̿,ԺݭuPcus `'I{Xm-%M}SuThW!4NݢdfIuӨu/uk4YF94Y@aM:, usME3 WH5#HF215r!떁Ơ>w?hX"E i8jGL3"Ӧ4f[0CV (TAMߡMSv8"ML}΋п*iYi g H$MiU'2Ow%0hN4wãmӬ1Cz?EW qZZNP+F-TIU`\k߉4qOn"txzBOMc՚ؚ4H9S]9 Cp2QtS1sPpaHe9v8O3x4Q-&AċOiûի<*j݄CqfDF527.-p!Rsj.]:\P^YqTRCF%aѥX=u m"Bof؄avʕvR_|y Q1IqXhO *7nUǕ^AD,Q,ðı ` [UWў\F q(Hm +:t1I-8B&SXwr3glfH 3g\(<p&eQVé=Vc&-}}9 i>8 ;-V%p znlm]er> 8OwaG)`hJ.0#z=((u>t`C~pADA5< m9̜x뜐Uk\h-Mk#3Vt{De95?-M'u뎑0l X )kjnVsza,Hfu#9.lMĘB)XuRu&Uy2+c:EnRw'|[bp$FUy9v>o\6i.,4cji<θ~#(&׫yZuөm:ܞX}:9۲E.9Ydu@ǒGJaYv ^K~xbmh1"i+5s.Yq* t?,sf2,].:umal)a\=C#ǂ:K`B ¢C",ixc]A!~B].M!z7xvЧݪ7Y#Gr$1nN&U&(WȍdӿȱZ JJ&18XuoHSYǙG{O,hگ-r{1qb u`w] dTDrj9WÓ}O y8\epn~b^`yQGZ0pԛ".V^`fZ0-\u-m÷yx6fvwBns/6? io1` XB)k`MKζ;{،Y7I&%$0 W;Bu_`u4)cL7Z mk sHcY*cf$nd;4T`|һT&8a֖}C`0E{>>c:K7i<2"r^2̒.ànڧi,Pt ,J MFV )I f߆hj-PiFhtv@[5sHfn|*0, O0騢r }eN!.%U4-j2i,:tWӯynvTE ӂK*9plI:ͽp܇`M 4TOQRTW3"Km*2RKv[۟`zYZ E#AVN0.h, +Sj(m-Z .%guz:΂K5g]xaįaN;q]xbeXGQRI=RFR*||pZJ^3Ek[9:N)Yrƌ]xɑqbI:Q0}v ;*>;5 c0`Ƀ $_3R0 C?nC5.R%0$Vy!B [R`زŐ3 ۷r$aO-2 mWXcPWEft%D܇[x3s]bwuŲTPF{ԯsZ oôs4^a 8oͷmFa0jcŨ2wFyF-[t l̨Ks{C-v $ 1Ǿ8csW+@J̇-XraCvE~d;π8+u$ ;JL+ "S{ey#hU `Bb؉1Y+Ha 7 ޏo J޷[HGv~0\Þ$KtHH ;0jċIe5w?"H]GPkTXxUHnjʼGw:PdrjAʮ ru$K9zK߅C \GtVAS1}&ئZ۴CcXN|^C) 1Nz2FNqEq(SdO !U<|8GހtJa}*F6C9Qk-7< C]eN&;hhkK|b &M)T6-45 K (L,,3*vژC(|Vs_k5nbKMں6MZQy-Z <rYcE+s\~U`.Ud <+ʬ(f) IY3JU%mϿkr{2+ _0ױoC#6M{ zIŘrq6~n*ّHhKj/ÝF$ʑ:ؽ4coaIJ[^UTBЮ8Ϲ2ڪ<_X |/)uWe-NSMK(: <-PN= /G(\^%I taFG bzE03h_iifz{S-vrڦ0`_ra˱MֻhNQDw4LʔSY_%8vVoRרgcEgA/DvEQ./ļHEb*M5QL_1bK(\9"{OC+B`0C@NhPM8 r4C. prs bGI2ti:{X3aճ$W2L2|W,$ǿzgIZT~lĴ{vV lnoB˴dvy6<`DK:e{.l'J,.:|) )Ee$V`UL<<Ә"U^xe=Z \x Vbk3R(rE#hnL.šT{GYX\g* f*ŦJpG4Au.kSkWi6K[BMdJ@7pĊl.|S`ZAKl={=7 Z lGxq3.KJs/C].r =p1/R-ڞNzUiU"1T[- ajn;t+QzU!?W.Z h}l$O2af( y)kxbƚȅK ×JW`{ o*`Sҳ֩Tއƽ"XEN*ţI/Sl!砙*4V-t;1rHaR2xE7 ]…/?X5hAo<7n+]繝TL9{o)&9aIJvګt׏Ӻri6rb n& CW Fݔ3ݬګ' +Bb(%m; Ҥo=ƃB,fF} :Qdn\=)0s\\6w~"1 |ܡ#̽M= {F2DZ@ʩ#ǐ\elnH;ʈnVSS TڦYƺ'Y]6XDnaV(_f/i NWL w3 -(nFcNq:X+[H3'jvjnu<' +0_u߆eX\"]t+3t%RobСw]@<[LW.fw:MP^0И+ǻYyV/WF)vWRa;gi^!%vmTڦ+"fɚuI'W-w3,ޫ2ޫr;2bXs봣Ou:uXUCwȚP`)֜n/P`δ 5ǻP^LTL{WqF໅r(jCn=wP^zJJ** RaR#6$~'09ÿn!;I,Z}eV(y(C;He?ێlCC3|zş[|DȆbC)~w3ü 4늉Σ8~LH]X:]CbIeZL3t/1 sG/ kw nP(:2l"0]Wn׀xeBŴs T~ \RzR0++UDtBv\{] 7{6; [ xV9R6 `+Pu x>瘘&P*$|/3UI4-]lXjcca_ %>&8Qç\*QAz;"%)Kh+MH iV[ހq ]/Mtڄc_5&jׂEZƕ64!Ї#xn-HW,},oRl$V" 212Yc+@wW&І m؎AV+~Rpːef01.$A_$'A:H*FU >3fwj0jfGc~MoX`]EF?"1rF>W"<ܐ= rp!vWmJ L] (йa_a_M~KD ԋS!9%%IW^ bcfK1|W'gu!ջ+デۛ vlHtcF@aB4Rg:'@%)VZ{C=чQY7{I2*ȯIJ+0pyM(^nEqI6&I#]Z0 (o8΄fj^teL'PR:Ad8܀ٲԭW$J]/C %i|o!,u!I;Ep)kԀ[F)C 26S2MK/Ye{BngGt]?U oܵ 6ٜ bio4LT~'#2L VYL樤6b鲯,xӕ1" HC:B~9yԜҨͷfZlj}RH)8z_m˼2^mŒJ'a@b rbz\bS'+=cGR0^k{ p^94cŻ:M P[9+1*_O+M\wU4kP΋B}m Y1j|{Cn ɮq{ZQ[1L8[RZԤGBŞ.7 :XOҎdwޑ蝡9AA %rd!-pX[T!\APF>iW>&_j٥-$ʱb KrN9uo~f)hGI &Jx}.8fP ü^˸Cc!ƭ Y[7P#e^قQduݔ08L6|R)헒g1  ;dy֙5^ShO3 GziŜ 㯖+O7za]ww)l(,SѽFXbVKS!V _w4P;.󬤫/sJ.߾J|Qj#m+k?M0ܜQ1Ĩue])XxR֙ ,IPIG jEZaUSı!eMvڍ|. rMv {R1,aB;ym}b8 7;33ݵ Zqti_L`fCsf6[`H焺Y3ې6}Z"` Q}gbc/WcIKTޥvqM0'_ cR0b0nϱBm҅-Mv;DR+H oAj|@P1av@%@A!߀pT q,Rn;%M^zW[mP+l l@mklB" r _4Reĩ0!̍R@zٌ2Ea*/0\ bUkUiA<^ Y+u$҅3nj k&:ћ{:!&$eS9Aծ|5ncz,+$Jtl_hCN9ڦ;4Ot(Sy}mrG۩gk+0i (9n߻]{nu\EQ2⫍yi(M5v[7od-ZL@^EaQG6Rl$es*"[Y=jnʶܢCu5Uګ|S,ɱD63jk(-U:BQVR*NL ^R9")P9=xT\ Bj2賀BgzR2m@!}R= tm۪+D( INc{<[NMbgKk/akM3[.l/q6v1tum3-m(9 6+7؊NUDoٻ"YI$L3L:`Vͺ tHv@(`ۢ bؗqZJȯ`4)"/Hh +)NG7e1r=bʂ9hꎟbv֘Qjh0vPu'XFt ~l߅嵟w!;:gW;WǠtEV׫!5m "!'t9F}B% &c׉bqP<¹_*Cm5u^N~V^_*(O:,j/ˆ*vP1Xu 8C7w! Bqa0w{Ҵ `\ܙf9Oq6i /a 4iyV.T;c0wXæ*m|q{[tQӶ0Q; E*v(&Aw^9jߵ}{ G? >Q snov r퇶)'*5?ۙwf%)5ۛ]lxs$= b`ۛ]N< ~ZʲfY)e2Foov!_IY,ws/g9uV蠷7aKŨ0 kIyyOr_WXL!\.qثw?8_^~"_!DyȨHY ['iQePO h ":a{4`SU3q,&)PDM삎x4(NhPhh9 ʕq:{Ѵ(0ŁhԾLu 88AM @%%9n Y~tgS`jH҇{פ2ӌˤM\4-OH L6Bf䋡˹.E: S? cs&1 a6qX^|{9=`ejj V&>Ih0fyH L<'qDk5M`4O=JWĦˍխVքɍv(&|1/_zʨ3VWe=OɌULKs¥Jˇr,t4-`΋^zVQ^ ׈3@ +EYB[~&8 D h' 9o:L0/N4A*"ܐD s`mG,8>[W ΦpNQX-mV ,@KD!SRsf9  "jPiA6;=9@OW4/`{_Y4=S&h,YGG<ʴBP{o0ˁVEn!D# !@uw>L ]av?tjot?4/wq~>u?7o#z7ofq<}96ۛk_e}>{sy}^ۛ)V};>>N/|/z C l۵\>߯͑Vڼh89edʹˁ#3V? kvzymS^/>_z>^o8>at:_^bZy2O#*(kL1i~~9 q4 (wi>Οo|9噪|PkXWnbl5#7 t"E~S4R"˲J4/N2D^+U,ꈅZHd"zhFP SE\::F 0]Etϗk_v~|__}?P')g܂DoQx=p{ ]~B& (i:j~-+Awލ?oPw n0}B&ym>>ߚou#}%]2r~60V+qN:֏v&0wWiXtɘȄt ::_q%/Bn(!d9uxLevF)w; #35 "Kz;$c 4Y#X<LEJM66ceID,KG!詠լ`f?jPbQᏏ~GY#S Ij bK ,PxSW{YmܓR&$||? S Ҹ؀$N:[`Pi?/ʴ'~=ӄoW3`j%;4/fܻFΈ?fA7Ezy~]*t|Y2=5>}XA(Ԉ@*XR}Y4SaF?FOM6hllliN/+(KW1?=<_tz><5͒ ?QP,X'p4 Ks8\Nd4 ͟Ϗ2:ʵiLB .ߛL?JX |q{+U~g1TQZY +sye '>$Jb+Ք ۚ{y~~~彭ȒwP?hEx`[^+Ȇ?o.}@,#8Qک# ĉ -q_^Gٕ u$.'ßS::>@E{{vlq7p ( rDL@o2H<#Mm[!2^_+^"-<'ȉ(Ѷ?>eOA~r:ҹڛ u0=xcrթ t BWX=XU7PRt5(0̧lM=TSL僺,@-j*eCovCnoPKxaE<PK6golang.org/x/sys@v0.26.0/unix/zerrors_freebsd_arm64.goYsl U]j')j9$ƜAsK\-oYpw~ @I4CR~ 1Go4f?ӡ}kޛF.7m~O6g4xAL~z;4 Q#O?^^mMy՗;vth?G?:ONoۗ2[Fu{j/"Rzh[ch1{±26bVðeT2M |?,K "6^Z),'`i6afWz>GqE 1jϩ(#@Ec,. Ǟ [0jN@Bc۲" ͍b2„ `Ijf}ESl'1F=YsAbĠ"("lZ"Ԣ"ƨ370ˌcBe;νLyܻ pe񮙧UI ťQQU$0ύP&̆Bs2QUjY%EF|ݒ$H칊z:TFgAŴnaGbR1`D(6Uuvb,T UnZ1Un*7 ՂBrP-8,T *7 Ղӑ#7T *7ՂF0UfZrQ-LU٨lT SUn6*7´#7T ӎP-TMP-TMP-TMP-TMP-TMP-TMP-TMP-TMP-;rC0 \jaA0WZrsP-U9T Un*7‚-*HeR+G)K? (ԬaX{fn1dr[\|ܝ Z -LMPpr⚨fll(ZȫҶ=)6]bcMt)UR ,kJ ٖ)46B0WK)q*"FƎ=[pxdg9faN2L)Zx.`w-.kcktD`0)*NTqpd+aJY¿!kYyt`&8ӵRp^k]p$М4pAHA!(R+5oL4,J/FCXFˆ9lc‰6 [¦=e/m%?4tb1gֻ%lkAt>D>r'S`6 D~cKBgrMj<`k iC,Lpڶ<(̩JcS(rAfB^q.u\;TnG&P$2쎺cc pD ›f67rM*N4XigʬK] 2 D? lqlX浶;+eZoP0=Iz+#FcCXv@01ni,25*5;QY ;UnF AS:nN",yz~ سenN[3LPGo)|4o$ ^ ݣk1ـ$-$;83Wu˕XE޺bx~-WjHEet*ײWIDϹ׆lrm _%ƪ~*rj8ș׮D?`v4P܎1tCỬ%W>rj|dx<E7DsnDD즱izMt 3n&P(dmh_Ys>E"ii2!OoK*tɔrX4imKc*maX7![kSf>2\/%#hlDziA,d B|map=zi^8JA?q4SȔFuRF*&jP0#mcDYGoi-D:t%#iӈHYarbi45ͣ0Ս0Pv W!>AFN&`a[Jc렦ѮFi4 ͤiQ_( ֨i5~5LiP71ۛtYp46̓g8+tGGk&"d^=?bC/AC~t ѤDJI4*kfIEMi,RTP<ѿ}. 6qD FUd)Mh ?HcI|2ldMi6U)2O%0hN4ɷ#m㬛)Cz?EW iZZNT+F-TIU`\k4qOn"txCOMc՚ؚ4H9S]9 CpBQtS"2sP~He9v 8O34Q&Aċ0Oiüի<U?պ ߋTͰjUe] n2]JkB0@u\P0/+u<,g]Wm: "㖯é4'JrKzz@DVWH < + 9zQ52IqXhO ڃ*7nUǕ^CD,Q,ðı ` [UŵhO.z|/R$Ƕ͕Q{؃rй _{%(Y4#BY,G0 IYpj՘ aCf~'ՅĪswg}:.k_5̎. L~*Gkd j@\eqeH?,pԩj}$cez[g :8uy0˂Z{Ohab,W: Q-]v BFE10 HOq5<g4 5AJhN0lX w-fu G.jo9LnVi e\^ѝ`hY5] ´͏z&=lZ[@4XoB:VP%/:Xo)͓6cc~yaR0 B *L¥>ŎlF0x>M|XsMࠥzwX.|YfihGmۯ,7YM3= :`X8ϼ0R%aFr:m-X_v 'vdmhf.,n4*Vpbp% g ]խׄxBf+m,1aрcؤeYcZ~Hdn|1gɷ߱>?l5=#Ep[ŶKnϽ&l@n-((1(4N98k `a  `RuEikbXe{L3+ctVC|%J˽Re73Do^odyS(Udb X*8#ڮuo%Vx0LžzksӾ!0"գ=k` MH%^~8`u{Iy9D/fI {aPdӉ4(:N{ td3EyRo N4BΖp4#zP; k9H$37u>z&҅_vtTQ9Yh$U/4-j2i,:tWӯynvXE ӂKW*9xlI:ͽp܋`M 4T_QRT3"Km+2RKv[azYZ E#AVŎ0.h, +[j(m-Z .%guz:΂K5]xljaOįWaN:r]x‹beXGQRI=RFR*w||pXxf+f'rtR*ء a/0# &-fwcA1Q0aGO\&1a7_f2au2q*![ bآŐZ 9]!GbȾ!޶ڈ5>xeYiFWRA9C703م9)6^~_W,K/ {i=L[1ͽ'Zے:ꡥ6L;N8G+%S| fv9LPV8ZyaTߡgԂQupjϨ*OLƌzؘ47o(zQ HsʉSW^p3S*1 b~ȅIٮBc;<Fm0 1($ I,SFdN1̒XA`X ۷XNg~d}S`OV0Fb? a,m{M 0GbUQ&^Lb/ǂnk?"ZӭGJ?fT>ӹ"sUc-TvmMC#Y..Rf*֦ 4mi4!&ڦ(rRJT`wv{D1upf XF"|f0 (:TS k, T1IKɍZkYy]*vR0ACp}U^S0iJ)tk))6`h^B]@abaQ+$e'@2ZsXjViЊ"-h)$ تoce9nLtEsUnT-( (¢L.s$ Pfu(U%WeK ;$/_kr{2+ _0<ԱoBc6M{ zIŘrq6~n*ّGHhKj/íF$ʑ:ؽ4coeIJ[^UTBЮ8Ϲ2ڪ<_X |/)uWe-SMK(: L-PN= /H(\^%I taF' bzE07h_iifzS-vrڦ0`_ra˱uֻhNQDw4LʔSY_%8vVoRרgcEgA/DvEQ.+_ b^$"Dz ǚ(Ď u;(cl!I! '4(ve΂ܲ<͐Kn.|J'\'㑯 ]/LX,ItTfI⊅$WotL6Ij1͕vώ(*p W}rbKs-U-yi&hF`*f,ށxTYq_A{AL ]äWdl[裕P&οLI?nhÃ?8 ߁LT 39(Xv˗_qF[n V5K3)]WڃξŐ7a%n9)"\d?Xf,! w*`8 PES[TiBn&ysj2͆gvDHg._J*n_/O޺ GV$VnH>.|K`[kgRıšt5n3Ѭ5k@Q6$42VUpMbRMa耮̺9kNb:'*#[qmRxZT-!쒭bI3q&6Gp7J?+4S@\8ª`(UehT IvfQQ ioA0)BRq?ee:X~2~#TtXw]L;`ҫ _+^Xxc|rԉZhSŵR!sS ՟$fuSwμPEDq kOLI Q7IRlPtF(.\,"[i _rօs[kOp^bz͂B3)(f)^czW%uBO`?asL˹aT$콮vؐjgf E]0p±<0bb)D*Rb&VaEWfRvL*]9o1 g ' 0nί̯ }kו;5`3%^Y+lP1m\9 l-v}l+==Jo]9h1.؛bW-|DO h)HM r0S(ú< sLL (\>JM$.6,]qCpk v8b S@XOhHWt%&Xrw4+TMo8.t ŗ&M`m±qMԚkk\R@V E_Lطa)E6+]\j {qX+h^`l + ?q|lme2{[A+6IPGRQUόŝ>dŘgo1XdW~̩Q#<ϕ-7$m~aH4t|{sO?(|ʼ>tnoؗדR9ѿTFHNI-e jK@{wŕHؘR:׉Y(cHm&-?.ݘQ~?ǩ;0!3jC^S+S=xѡžOsè,OK`،ʽ$HC@׊$% CE&ꉽD>`ؚ'(\'$*=j {lLR# ˻`~Q߂OqoA?0?'uoT(u*ql]ye(He=³'#PJBpY;B0 gAxl/0v.EB-5ahBt{̬.JV$71[Ǡ 1p_{;Dȍ/e ݴs ACpxc GTL &8N\8Q,d$իJ{x6)k7>źn;4N7B~˧U{˃e"t}BpymG8-G:HNڎɹj o)<@6 SHJQ/ikRKlNLxidm38VmɪpwDC(VL*JWsu;_`q,*?-*SSJ#[m5~#<ͯU}R֨R$J'C\eld#an;ː ~>LE0@^k/:lԳ9Ia4i.*ک QG`eNMr/QImle߯YƋX+Iܒ<\u݆(js:QoʹX>0S qH( yeڀ&N:2|zsX8-źNJ`y2A*rhƊw)uCg9+1*_O8+M\wU4kP֋B}m Y1j|{ÞCɮq{ZqQ[1L8[RJԤGBŞ.7 *XR=%*)vN{'ȩ.ł9[[;[+\y c7ad ڴ%8M3Y (tJ e,.C"V+#$#(YVXe2!dn`~@ `襜FT0"uj腌J7O4>b3(}0tHbt$%) {˅Qa蝡9AwD %rd!-pX[TK\AzF>i@&_j٥-$ʱb KrN9`~f)hK%I[&Jx%.]X3Bхa^/e\T!c QVlC~E ܯ+ccW,[0*6_@QNi4`C_,~S |` KCMiPŨ<=pWWPkj)Rmu簺yq ¦8=ގ%V 1n _4bup`E;J0/6BضӤ sόZyQzЅbl\+Ռ&e J l _Tqп:!FPHP%l;w+592YŴCыcOvc (L0 Jw2a/S:/YL`f rfֺ-0A,b4+ <3$^0Ii1$&0?['l$a}'2IQzø4Ǧ 76\w[P9Wk2j')ӡ(2 VPtQV?X;uT}(@YxPy(%.AX{U߭ĎP*0~v +Ƀv%T( GE)L_=J (e/JHi(Py\"ŪH VfXV -p_7)֭:gŎ8E9G=)b+~Bho8xQܪ^?"O;vb־3 (<3 i`v|c&ZT4O( ⟥t aJ-;'`!5Vul4NGz<˖ {yN_#Ŧ& HARاdbTdv tۺϝ0dKJ4sK&3vSWm Aؗ6\1Lu\1uBLK$#rF]1k TYVHhJc[,4s8I37T3jPLDH営S -]WN-ua.XQnrpw$\#CڋzQ4!P*Xi]17^Q ߿Z(X= ld7HTDj7^{܂mE WkZWCpoWcлemftqU+01 u8ޑT&i&!rEC!ShsP{t.5.Z?~e:g$(eލB"{J .6UYW@-hzQ S ,xv7p2 v3Y; c_b2 !|2NSZ)lI; *sv^G,3,>:xnS 6\iiބ3. gK sph|Q)BMqfwv2P@ kсc cH8 8R] IN?t1S`ã-a< O-l8h& 5Ä؇O/^H8L%\Ec 2x$'e mBK0T[+kM)uJ8CΦ0B5wE4d)Ԟ;=A´3kB db&~DTjp!K  љO 4, a=X3ÖUgؙ(lv #x/e"Nk?J@˝R 茰y\pB6 @0ߘH4H4pؾka0uns6 Z0L@[љ u`r69sƼΜ¸3.Z̡ΎM'im&՘I<3sƳVof˫q'lr´0\͎NSpsOmb*7PGQ2~$oc0' TA~5<<T}c]Xmѵ-1h~jٕoi=ir|ԣR@ks[b-R7d[ӭ =#[æu29z';g=!?Z;-eǼzQwu_ aNPCuO%{ua@fv  $Vî`+:MaSg0@S2S=1hDwꀹ]Vc[k w= hm:*a_i)S ".WGDxN[B" I5)NxṂ9Wu_eAGNxuO\1tQ ;(Y54 frxP:JȳgVwTA?fO[\[e=rcuhs"+YewKߐCҶw F]GXV# wD%Au*̛{ > 6ďVs ys,_wb¼ }x4ʅf\P=/X1gUEh|%Vۖ{ +9ޟxj\]WjfqJarb_CfYzR~qVCӫ./gP7eLY ~z^Ҭ~'eϩW ,6{,t[閸%rN[ըB #ϩpxX&&CAz@wQZEV/yM+qV{QI{Y(\Nܜs&u5y,s\X.sE[$1nwiξ+RisZn֫`ȩ nuNmpn:zg8.4R_"g*9[t2LM sRFE418nv HDu2ҁȏq3\ -x:cќSۛFO: b KRe#< >&c׉bqP<¹_}-Mt^N~V^_*(H:,j/ˆ*vP1Xu %w! D_qa0w;Ҵ `[ܙf9O_P sx*PlZզ '|ϩ@g>pZx|{^gt/ l#^"*;JywuP~lJ pa̙Wc*lukQՐYÞyuDa]7Ļr97HE)U,A- /A4`\Yo6R h^ܙFv:9G6ܞtmT~bl-pTtNeIG=Ww-flOp*\ۛb-eqJhI8JM0A{}W85FaJͨf^I%|]oX/ik~ۛmNDaR=6֮yta8a ij!C+̽kXLϧy?^_"_!DyÐHY [%iQe nh ":{2`SU?Clʚ*.֦gs ~QjYj$)tʱL}\5 ~b&Oht*-&פlFx4Ğ9ůW=e3}UYKWH*e X5e1յl1ygu5Ucje>$86X`aƺMmEՈ1ŇI\ѕñsYƺAf[Fj0*:r4XU5bc-} B x{UE߶8 E;̋S"MJ$.BXq l֕i%pVKtUb., 5TW h)|4EG9]QC@Kiu y5  ڧ+ @I0=7DQR)EU^,̣#DeZ!ט@E" mɺ&#恎b[%:jot=6Σwy~>/e?7_o#z7ﻷfy994{ۛk_Nywy9OGs~{\ۛ)V}?>/t^r: ӾC l9>.́VҼh89edʹϧׅˁ#3VG?_ k~|umS^k߾ޚr:^O8>~t4/2Cg0k K :H1[L˪xR)fw&ϋ(Ie珐5ϯәZ?PE014"sh7^in}j֋]{}9I΂{gthޙ|^!AlHEċ}|OJr>/cy7_bV?؏[D.1=cG/#fPJLCl.*|۽>T8aʠqnÏxTLBX#j S(|y}|@]&LA[s~^FtNowHt^/}yL"i^yw~ygsJ8q QоEm| St+?40i>O?˨MJ{Ht] nyyycu{4[|c.|_埏Z)tұ~3 t鼻JSKƬ@F& x{%\ЩqF-F@7Ѕ.u|!'frOG1O!;-\FϗoOZfgԘrˣ5N?F//kS (svjς*}8>>ߛ0s)hB=^ڝ~M{>ERG$* + i`䟂^VŽF_csٳ)w l_AV'P:0~:4ӹT l҈6()_Yw|96}|*ǀS-t;9P J.{@Yw@hl^?'WLj(]/5c;hyl*nOB$@U,JQ0]5o蛳98.? Nz3S(t,Ғ5F&LO,T{mFɪc09S!?7o':y}.C20IN?uy'Tgsf3V6@뀜DRt Z͚ 7m3%{:+fZ8|9@kߩAwE=1rxyxmDp%\t:Z0zUɚ޼_^)Kx^=)mI)o/93u)j},5H@LVaEsL;i/zM>:.;5Vq\`}*kƽkT錘>siFtzNkZJ:].gڥw%#?NX:B;>qS}^^~?}v:pgTzsӼ>?9K~P%}_^_./lyu<_掏 ?AP,X'p4 s?ٜNr%7hx?_N__ytk;1yV)|;Zo0(`%wUx X+o_6%?NV!^REj/2/'1Xs=>2weV.?7ʯs+ٯ$VS.o+݅"w Ak,cےO(-\Ale|wbN5Y Nt]hX6S (.wN%_ot9ᥕ-J?>?Cs[޿!Eg&bzyyA:&ij~ix ޲ '\m!8ANEQ"{ B~3F/o/Dy?~ |//oyѮNmP@+pǗWj:bpkĪYbDw^A|DгA5U[T> k/Ԓ6BK6T}~ @@=l7DPK- >uE<PK8golang.org/x/sys@v0.26.0/unix/zerrors_freebsd_riscv64.goslP$$1ܺŒ5|qş!k) $I%Cw4_~}Ϗ?F?y׿2 _ѷ}y:}q^߿G׿Ngq:JD)?GQ>zĢ/|{ߏ_Oᯙ7_kt~??x_^G?{=/G?,J;j/z}?v}<觏?矮9`E:HnG?43XY @թsN[&[Vy!0Xu Kj䕅J*RdE&Kup)rFR,|9}Jb((<Ha0 lBP$0u`厦GŌu ӂ̔cҀ⌑zijfC5UiT$AIL -.1Bc\bUY1ȴ)J`2$[lN2!K)$Ć * g.fz͓c3Eˠ܁S:)bkwUfʑҨd[լ0WLMPw6̅L3 Lj`ŤZun`!MIXxLQİ.P&M)l619MMlAbܐ)HNL9.rsH-xR )7Ԃg!rsH-xZ:r#rsI-x\R SSn.)7ԔKjaj%05ZrsI-L;r#0ȍ̔ۄ̔ۄ̔ۄ̔ۄ̔ۄ̔ۄ̔ۄ̔ۄ¼#7R H-My^pVe1O*T['cxti#Gp^ @>\$w)avI^,d:dA73!"bFꂼhD+jd5_+0Ke{ g}rDm}r~esAq ]-KEqK!UUi ԅqAHɶB'xNla+HyI\ag3vƞYz]y4삌b5d5riEb 앭zR8)0pX C+kDv)Kg eY3h,z܎1rECыҲE%_6Ľ C5V$MaϗVsD,af{7^bfa|$Px<]0,1!ki ?Bo wI(]Me,$Bl%Cò7lϽ:A]qt}7q ѭ7N{,7pTߔFo3jD}Zi&oq3jbHƔuV'&fjP0"mJcxjŬ= w䈴:j"7a!7W_U3AE7^>|#ݚ!=2eord4lr\l=kx5 ,!Mo\}xoi097?40Mo0vW.6#z7n4i4?6$;Gt62 t!Wںߘe'Jòo~0|5 )"cl`Է767FNXQ7yAQCd1m :-Gc 򍣾 _3ezR~M]R_Tcn0Gb*XN$0z+/=<եxKfCrS6(& hpӻ<\58up[&Q:㙷XLE`.+nr7{3o1p:/#q0Kpf1nTb["cCUؑl{G.HY 01Vp]WA([R+RtnV%c*R2Oi5x@3+\pѝn?Nt!E`7eᆌ ;+5q;VCӘ>ʐjd[Ilۏ> 7*\5KP2/dq;&-":V2LWc)`~fYlv>M7#5wqiMTʲ5tĤxVh8H;2QAVjaIJ,1U7ua 3A*j.Xu0ׅ6d֝&E[;J,ZC !h\xJ-$x(򒷍>aiˠwS&m:-?/*fg6?c3Nisr5! 2EQ{@n7),Ǫh%{]*u7HqnunXSݤE[Os*lӛJ f*5Kj1*|9{Th%KpJ6diS2NDюV; "`Ūl?evWXY5 z]uP4r l ˴襬ի<\Ca Wp5eyq v'=lo@7  )Dz|VԯIJm̓Ž6waM@aZ0 J *%vcgin!^Oa鲹ͳ9Xlq7!uPWeO~؎:,Rәl հ Aq<;. ,.XɇN`ք,5㝢.Mz=w7Hjn[˒ Xb`}z~Z/zDzU'+[B 8MXQϴؾW"u$,NY&,Gf9uovXz+Vc'}o;XQ<Y*轉3x*p=AjIP,сdz֘mq}[=m`uV` h8S H%qL( QαNәU.?QUɨ&fAɍBU:h[iP8[#7uJrƜ &KU^ [7nE9vXbҺ3}M Ea0DN|L"d:Ȃw| <`M]YU%EhN`Pl4(:Oc'h(GeY%H`xX\^V '[$Rث:*ܲ}?%* oESa7jUDcN- C5XQ7TB_-JCRAmvZm,}Fl].N\@^c]ؾJPtb |Ne=7 0aD,P0/,3ݭbKN`'bGgXbt̉~[hڅHŲha;X}}?&*̷Vlu6v{.V`wY4(樂SF7#m&LX@y+m;4{I*l<2dY;dKedFl\UreI9Vk`m;-Ӧ!3Vmr6VŖP:9-,=9QoUM|0TE7fHUUR7:RY}mmKPJRv_SNnZ*j$gm*l!.U_OM,`CXE' ,d֔SѶpWɈ,]ȴ,ҭi:ИE}lq7)Pq,YgU]*0m]28j-z6NjWZFeoՔQsKTK>n A}.7:|7AQNKmJ4X (UU}` ^}Ք,͉kN@m_6GWSԡ]ǻBZͶLKx]&\w\_a9ƺ;8,- #9vOCWAel1 *bEPےX8'MۮDr&Ht*dH.6^[UppYA׏p* l@Q<7<[!U[nmU<xxLjɕ,A>-qO+VXه9ǒ8-FZp!$.s(qP":8GaUZ@v'c㶣P G=SHyB%W &p-EI^xK8,Hw%eG%>l@^0hb7酭vwBa @pre^g}x*^g2t1ʶ)]_ip$ggɒK 7,$fKnZ_WWcLQ6j(ŖR YFVLYLB[1M̚5ϼSY.lt㾂"KSےmU>y 'c!J:bSy3)g "4+g`9ȳWYhV5V+^h ?d [nx(c`Bte);їpVNQ6#Snt Kܙ,~%pcbu{h3!25Y^QؚĦFxǐ)#<`&9tU-wBV]:C", /] )5`;SC 2N$V[)lUk,CkZFc^V93W<-aIĮD&a3''lSu),:-p'&F#p񚬁kRth-1}ٗkbYgb1U -; FcȞԬg2n$nB3:$c|(|0Wy {ȩB`E7] 4hUwXq,)!ޔ-&FVubf=pmiDejfqQ6CpsJMl 5w ~&pnr 16r%FQya k*V]}ޮ5҇=/FZLlfGQcxqt_h 9nn"Yp8–іKKi-qQN'=|Dm |[qY̴B"03 jv_-F34Z!ՓM}GeY")pVEcth b 8>c,tjւaj:Uջ@ܛp!yItnbdk04FRXc$hܩgg5~ q X(Yf:1l~<18_O;X?QX8\?PiFpMMI,—|=tqg-;+7f 7f&/8.uDb6cQE¦ȓ8*VSݬ5] ՠp7C1_Eqw3>4LUBQ.13ek2lť,]E{7=y#q/9(Қxӗ*]slLlH_ġCdj57vZ_Ofw&/uTA4ИǻYS# kOs,/1/ tMrT4"f*يMҢ'_-w3q;}  e{_G[tn`N;S_Ϗ7+j S]_GFH-0l¼iKĻR=^.M&&q\9x54]IUuv3MWRmtZp;J f)bMg aCʩcdM̀ ^!l1dP6Cd2Lꎺk\k& #[e| LaYP7ኚA-L -;ؾ dcܓ}s Ä@t1}[ώn1F9hr#m6Qgfk_ ,421z/15 !WpI_'91O5C[0vccqυң#قágQ|5@ K_|¶HiQ3V-0/8G_LRD(YQzjؤ![|5,M̒si,\STGVEАLZK5$+F *mJ@'-ѾCIhyF6T&8} 0bfrmfFoO>.^a Fܱ"V,MRzRlQT6GƂNMBNt1VLqՎ%UZiQO(qOM74%m}IUt|}uLleo *Y‚$X(x>?{Sn.U2r+(A5Ϙn`hZv,0>…+?1ɬw*y@uŻm.Wi2~4vA9=PR7@Id jU2KZS,}Eݝ>JPE`*,@U-j38IhyM8U4wI<ٚ$$^g,jm({lʲ[s;}>ho4`7r,vOu#{L%#]:Ai\&*fhϾ"uP\QBhx;&wG*9s>t]lp;.Es*Ts#e ~6_SLlAb؍0JnrY(GQҞ kڇ-.#}`bHr>쮐9Ha߱""T &ܖ%GҬY!UI߉maeC帊v}迀jB :[{!!,`,ei.؝b)#0] J i eŘ:XҢÔgpx W `LX%rdu֫[,1@yoouXI/V L#"_D#bE^Q\"9שoYI?Kh9;:u9uo%2^+ˈXoUO)Ӭ&bLEi~;lyq 0N\oK7Sיm0$6xEhc چF]J6[Ul}5XOvD0V5+񰌇 ~gn p=hV֫\  `ޤh4#. V-^R/GD9TTN]zߨgI~g5 [2˗Y)jЇS`AmM5¨L. t'WCHNdKؠ-uGLʛUyc͒elPMłjsAm,Z3f|W?4qf,TļںV+}W^s}%8oud= AqAWJ8DېCBǤ|6%#410.:xWEMO[r Cn}]Q*°_ϙG>r.PEXI*\!0XEDůB| Cb1_NA5SNT5lkلyVٖO΁*5LpX%{*.:A= O,ښѲdtlbUa& K :qVTMA1EEdY: ki$y*lIQ`&dv,$uカ퉷%k(YMjSLvFk~O:.YLav f׺0qBٍC6v2) YVdbP4QiLCcbD$R`}JGOOإ jxFau.K`\bSg:T)N;7m@5eT2'Vē<ОJYt}ًVBp"^eTI E[Sp96%&JPKj " cAIRXF(RUT=;=qʾ n&(WP(,RYFՐEfhU5V+;"kjInrYI5GG=! Rt/QL_h©xx!QܪY߭_;oW0H Neij a2r%& oB, Iez@{Ztѡw֎U-pZۇ*mĸb!ZP|2lk=IFu-5EJ, qdAb3B06!E5xnb =PQˋSX(TE`f[7TKQKh\ٔ$< "O;Ll}bg7^swbv\˱7棣evTf;72py ){rWe`VWcw*ت N '1ayMyYFR 剆s:sn<#a= z6C ݯby]V%<]nn r3 jti[ffS]5X)me^<&[€- ,B001pгWg-̢0 . Ƅan(]kT(Ta-e= 0R&._1Rn+XV&@Ь=w[FDovs*:LQ [ .Y%:VJpJ>o6q/X5z+i Jx;;.sBҋoWu%8r"fݟnM75J7U编Dw%yt!9$jm\|g 5w*rfz >&Ͳ71%Gr.W\qS|yƚewbșԄe۪'qKN{\>pw `eSu;{SY1u,Zrf}$YDsݶ|ɚmDwĸ8c2ƸNCgԷ#[8ܶsnjLoop,B|fyB֣dF{+ﲨ&(aTs6]L꠬aEeC.ɫʸFryJY>#:EmZG]S?>uUESqySZCLT.3伭o N!7r¶y, f "# R- ygD8@0֬B.> R:h/]&\hx}HpsKl([.Y: LZ,QEu{XSViDVUDDނnmB.f:u  +HdMPbb ,lg{ rт@q>2"Bk$wK'|~kMLCn+d`& 8}&X#sUr#v&jl l1wwܙl"5;5VNuGG=o1kܪGXMs:4_nil-NYA]h``5D9j*5Mm E"wzf]v/*R43LzcG%6j N n,/{ѓr(tF҄Merro@ N ٛXseA,Y5a7x0\'f;\$hpFkWͪs7wZVm]kXu8Sŭx知~&Wbw/t9P<8|v\ʙr \2jVA4lGlIle {~$vs׉pnDrozpd.wqÓ2yۢ/{XHt_>X*،eaPT5 뫰mlt\nKxMMC,W Lv_'Uò`,.W>jՄ|":jC7{;`ۢE@$<䡉&~` YU[-m^h }QuiO}AWsuBis&L&oP8cNѠRpJt)q>Q!pIzCdaGm guŽ9y(ZhX,8/(Ql(H%3D√oXAԥLy o>WpM-{ 0Z TtwKa$n(Q?`HQ]NJ+z"*ʚ,T~ &6!qCcvuh5QuS= I sqp31>f(r+BURYN^SlImC \_ءI?c SGT^Ș4. _?Xf8!i9&&0lӠBw4c~Q\ X!pLsH~ZNka[g-lCS JtPA. ~7WefUI6G z_ËؙٸAUB`.ml kDo&zۊLFۮgq%W(BmgSնjgy;jXK9¯ /=+Mj(25_ [Ƿ]+.,CjAvȻ߶Sg\_JV1jgi@$n)fvtڑǟ4pjܗΝ'|yL5;v?Ÿ8ދNc|P2,/;yǵPrW%l{m {}>||˸?a*uTqChCj2VX.sj[sVA>`{`Sm;TTaD++vTZm),B -}t9ha,Ѷd:Xa$#fCl/<˂~UTa%[m+;f"،c "c{<^pdb#|eXDjBUon~Q!v߹Ѩȴwi M.5dGc=MM^Q~Xa۬dQZ6uT7+&gEK(+Ob5[!6s+e:!Dh?:G_Hs StS]d*(.]!ݗLQZfdjۤ! 7)ҚFU["ֻZ)Yy]qʢv+(Zi=LJJziLtyl]`HD+˷I^MAbtelLx,Em?8$ ImO(K ܈y/Ή<# !*^&2K`%mH!!rb)A Q+J@@ bu14EbyTZ ay@E` Ԍ232(2 J1bZy0BQ[o5e9PmU:q҄K ]-;F@c31d~/ߕh+70};yuNJx뫗qP?}}~Ûs}2zy޿?}~?^_I1|OpO&z8}|Hsy:x$9d._^>߾>$2e$px}9?}zWus]k߿}}?|,?__Gϯ/$޳}'N-hřQJSQΘc"8|T8@ _>UUGʄ^ay}?}p6DB\˓NPhDTuV3)D@zbv>ׇ*P߅N~T9 \gHOndq;ǿ`cDR}x] F 4]Hkt)H] 8-E:H-_tQ?oooO\Ognݚ qHOib\ho*hUz9?G XVm<8@ >?,)PVu­$2 Qy=yz=AY&BQ.a5zGDBL:9~=1hǧyz{k̝8|9}#om H?s| yTэtE:. d'C{B-|?}|쿝zՓ} zx}﷓0`P8<|'qWDgg\ooλ4Ch\g td⏀7r߹`I~t}_/]HI^31LCFj'?ӷa gטJ+>ct|D_{i^uMv:tP~Pf4fauI??w>Ct nz.uu>k,v*]XW0 da:=F?Z\E*Z~^㏯OC9BĿOp#HY3~[6ϧ#:t@g$y^t;_?t0T/']/5V+hkbL}~}F@g*T(N>m$N;gB">N m^Nz49z"aG([U/crTF:jA6B|2z ErYY#<}BEFMňUtz 'T,v @Om&-:w4R< -e)7 ׾p:os5z;tW$Z5B+UvzrƻwȯB}qz|:ȖgLayb܇hRy#9U|:OwTii A^>hApC_2=+etZv9_g]2]Jgpw^/i-@A-gGޤί_/*IGO/:2VD 7"n O9׷"18``0mcx:>NhO5^WPZw|z~|ӓ47N~p}= ~:uzoɍЗ^u81z}ts1W')|{8q:9:Lja?~ "& _bHѡD6דWIbZӋ,ӫ%V/ˢ}!$11~_Y*~eB): 7KcRǯ(\bfqݡl39j:r@tkс{m@!DMe uȠ$Nƿ|u|j`ZtB 0K@Fd6X??>? ̷P9Q9^׏'ݒ]}Xo_|7z~ UO0EZo/xg#I, ,_;ьl:&}k|=_?ore__/|__}ۿ~=?x_?iZpQ2{a# .xyߦux߭wVTne:G 栘HVf~~YofhdSm~.'&Y@f%eZ~oi_OVS29hC"$ ߛbԊ´_3)Oo'wBzC0%1 ioЏ7 b,O_O @Ms$sVCVdC^_o`*̀6"PhVUotK1YB?d`ۊC?m N/!B1кaR|s6J?4{F 7Y5;fM۶է5*یu "t9JXPU2ӌr-|HߡGٍQ$Yt`85]jopM5Gi[WZU)QJ-4 JWN3`P6m"TLO"86,h;xƜBHD )IsrN,M[.zj$g MhƪiDLv4F&*ℕV=BPD&Wmh#ʆ^[HYOAԬ\*B,kd4O!0F v52xN0f"۳tPj3PM')qU\PKABAk'Rp3N#%(٬U *Ҟy rFY6Uav^Z+r.CG#}yI yLqesk*ClNlATd-׫ەFKsѐ%G,gcR-X?U҇^6Hr'a>u"1cMaݬhYl63Kvr(h;[ @Mѹ%Nj)OiS,5 5DA9<*{ 9ϡ gX\7ɭ~Ei{J_A$K֤ce٣Z_ч~{Xw7v$#^j˚h;[ZtIe6ᜡ y f rm%$+pxnE8zB MC CUo5+-A䌞ii܃W#ÙW'`$1e'.݃}~ ݷ^Wbc"=(>2FҨ*1@C%z/MA; :}X cHV%:i9$hݦ٢$e?ӂ 䔹FKWvJ.d L4$$f1؞t?de34WnD#!Y0`'MnqZA<rK180ۮ]POX;qdEiskնL53͐KE2d7d/Y Y*n̾VJ_"fIZGȨgiӔr5G69_nCP۷) 1SR,1% +y|_zZ6 @hЙ@wc&n\iONUFоk=8bDSF+&Ltd3"!(1>0Ҫ ,"lC$/xabDJw琅}4!ďXtrKB&v%"1i0Dm jFDڗ RbfAEw1B)B$r#l*v^z" 5RʌRT1 lYb]B^)EiX]DTDm92g!2_*0f8jE{D>S6(ڐ#b zY IHuؾyT9M(|qWWV# iu\AT%H$a#a bj~:{fy+ҲmW6!ʦOk'^Vq%J|HڕtDmI6 ; v=#j֊U'?f=.e0ÒC6 eUA{r\DHw"5RUG(n:b*;xY89Kڔ.c&>)-@=0u0&CU 'GȤ+aC;)$Un@PieEW(^2El&ddy S#J-c~D-U8FHH,F.2N{g=+߹6'(3a: j{ vPlu%-,wf Fwc0>Agx+A~@zT H*U Wf:t|RPfI}Jl9Yٽ<7pG"Zv5.  zB5ҥ**i U D2{_}(>bk}N!ޥ],qeTAwUӒXlKd>W!$h,i!Q<̓ uRl!j?d`AzB w4U;aZ4\FcN*|!n tbwWBo9Z3z‘u,ʖH`mZP{ u:> pJCeI6TnlRڅF)h?rR%xI)BQУɥh4LUA1RƇLS(O& 𡾩Nհ/Qk .[jqZLO7[M:0 晼[6[pȭ[n㩮goP{rQ#)c]8$(XDM2d(!-惪06%-<4"b $e4(G:2ViovvG g6 #Ҭsӵ4Yc4"ReQi-$5X4jYf*h%ɀsxICHz̴gg<}MrM5vF *\ >벋,>wZ [Hb{HOfGBE>SY[\.~r 'l`6)]VరӇpri;ZB.HH4D 12?I U $OpcO#v_aAྱu1;i[(6vk4 i_DK[0 5S{l!j [{'tc5QЀV١D˹(=Il|}Ob?b.D"ǟ?N| ӆ/&Q)K 3~ 'W0G6a8B<|JEJh{}v/^dNDAepg@ePWﵟ4&f )?h uϘ,S_V(sNbL޲ GbrLnO3r؆%r`m*I3 C}pଁ^OE4}+Ա3C0V\͚WV幩cA)'RD/:[m+㎲9)Xf'U YW.S~pg^ҎKgיceAj6xゑ(kʴ]0M..%t9DFFd0>Bgh"ޥ#"䖷*s@3_*NorۻTn3`_51!lMY#BsS~ޚq9MBcuz..%~)QUȵdN6|YNDz>L0/t3U`cUMs"jclBKO91@hCXq^h#`<i-1)Au,)*HC(DQnM l;vL]dƭmT͸f\KԌli) G8c2F/er$9D[5j?mDmp@C仪-SDky^s5;],x4HшQIYb晥kgya2E 76 䉊C"c)Q"E-3WLvb>l"Q.3z#V*Cz6=jfJKa9ͬ.p Cn閆\1,.s 5, DL; ݙ <29d$,#s+a.n 2W3`G$D|Ȉnu ڎD6PRD`~[*W[FC`'tzZ0]Do&mnfe>,v38>W.3.gY<>[@7v ]n*N(P5k5}F*yowAե3 (hxH"9) dL"r~nAp1v^$Rӆvbє- ܒhG"-\dmb/-+Wc^"{ti["x%ȭ`6!w7ʸR"Rv2H\ [\$fh,l$fhDZ.e")8Ƀ9N[7a^&_] ߹&9~|n?Ua&dmGz!1fL`oL&S ,J+b ^:z_"WM,VҘ/1+Vo1o? xwvax#'d59YW)KԚ%'ך(V">wRնC, ~|ͪSq PndX4$Zy$8 ޒtLhMb1yݑY# /)"G >զҺ3D/-r,NEMR3RGT\kC1d:š2R[?%#ɵ̀623nkR98qzKsA2G9OJD˘g\R>(h͘ x70YiHbI7&vye:zAd-=f8Bt*gDYvp9*\>ldb TpQ; ˢ!x DߗyQG$(~H{d$s|HMJ;{^hB~IWICXE12D<(P ݲO rX&j۟?7OVo?hCcڴ.F_N*xF~Z.Z ^;Q3vU󍶼I!XrzC_3NsPrr}(%*d\[\HUnN Kw )kp:v%w~ G" 8]0Mjq< u< )e/4eq@U1ry A3OASahJ0ܡi+&Ew[͠:JTsh-xS 2Q#%팕S>:Ϙ|ͼzA8/O:*W]RåQe]fWҗb-=c'75T`F6 T6hǬW Q<Y#G>2cT`G]QIB!-#QӪCv`5COir,F ~#oJ"% pUSMQ O՗-OUzba* )>!ƔsXP2o'%llL2Jwx2di+hwL6c+4wnrveE3=i̇fDvX!Ɯ2?8+f:,>9fd4/3& mIuDmDQIHnƃU\[Hd]ȨkD>I"pGc$R ~Iu0Uc& Z_믡םXʍ2!4r#]JtV)htc0G!Wx 3f\rLx\SU˧AQr !f0HDv8_r1QjZ9ü@ 0#g\3bB}c#"5⥄ᑢK4$(34=/x)c4]Fw%ʚEe6x`lkAt²9H)'hNڷΆ}uzF_R.^٥~DsdXƛzTnMlOH~/{мMz%WOdu`>FE^Tn$SFER*RIItA_!U287/t3f*)jxUc6$r{Ԙ8K8">2UȥB/.:Y*r`"츋OSfqc0ELJ(Bq08}3gz32:޸XoGo}[bB u5>TCoAo#6> m[nU7A~հnonVP{|Y ng@boZihz1;e 1 %WPzzT|&)pXCbWM;A"$Ck r7T2GQR({0RawKQrQMpz %-''.pWΣBһ`u .:*ZqJ:hoWVN-<u+Z%":/1y릙A}>4ee 4ڪ]VKyxM˯"+g6`)@y>ijP5eQzY{ bPV},HFfN(]?k, -< \R)mBE=mȩu*Pg_AvzU6E6e@A6!jx:RU[N`x|gIQO+vx<\Y Ʋ'R,q¬̋QZ"$vXZV[%n|`8]ܭ*`2ۗ,~o?ԮYۻ7ZG9W𠙭D0R6np1τGAqHCťe*5=MvHK"W3a4|34]Ytó<QH,4A>"ڥg}DaX򛂒JdU9S "S b)R%!S=ݙ9VIYnWo6.y:V"ƹUF=>9?mxfHuvpHP B ހ-(bLjBd2[Ch"XhB 7gbc&pPQlQr /z./.#sQ~kF搅z :F2[9 Z<$toH+N=ڨom (YPQE$%֣hs]$6(hl'r-d0UOYʻH  |GIcs]w'6 U4/] Hd̈́֟$RZOV^2^f"qgxe zI+rL. (5ϢFǎm53)<@h4'[Wҿ$[DzQSOoa*_26|w۔(TNd0 ŗXtYh5J8[j7kI0L4*?5~.W2(CaڴvoiÉ#$*G |74z+%͕Q.JY5WXtANkd':ў]oItC>Vn{2x&"'&z<%*Ltl[@.Y7X`smnRAf 萖VesѦy~d&]H&LR^Ns %[bvr.EEھLvXNi22P;,g98JƑRvQSdAbK)kZ-!RfJG珿Wђ3<i>XRw"&wёY rs<)Wq!)r7'rƤR}ec+NʿҤ) 3'[DM(o<*׍MBŖ񹁆°<ح",%4sv3H-Ԅ=WDt̻>XO I|'H!c s5X4i@9I1qj< \}ر{TU!*gh K LG HEṞj)4b ^6LQCD\ʠZE\r> ރlIQ8=e^Ul90e…I˰3 3c7$# Пt1;׺`t93hף 0\bE1܎3 Z1 w|~k;űZ Y!^y]"| HV<~+"D9Z=6rwY Y"a3:cj K16\hp9+nBAMZ!#ɖjo8Fl9ehփO>!QaiCN/yIE+FiB&%,h5 @($Egҝ D_W/K,>=o?M?Yݮ6ڮh'Nelg!@Q$1Ŀ146;͇!Aء o5t oڃZy!oԖTn~Уa˃Cc ؼ{Э@dܮLv* eaMI}ȹaQLUo0,e.;Fu`p.#T~b)ݟ_ݠOt x@>폻~+d}f0w(w@˨r[bnJktB 3ci۔!~vn}V#wgO CJU.6k-f`5쳩YG 0,#*bpMȲʠ #5TtITJDꖓ"v[Aǿ<ܯ_ⶶ[G`LIF|Q=%\TN=w&%^ʩ[fйn:1'=HbDUs0,,eRQs\*I3 ]9=VVB[n]ݬF ^bWUT+Z,cƨ)PJKCf)爧4s4AYچ\#C rrL!/|\TGu)1b}Z隽Y̓e`T3`7h䂇 =GtD>?s"Pz+h6RWhTDQ% ^3)J]ny)УÊܕS_bfݮ oIBB6߈+Z(8}W,%o)7~(8 -96?ZeiHz W!+g`q"cǀDoO(o#TEFY!"{ͺJ5t1ר+F2Yڦ*2d>WTc/N+4+hˢ(ig(4KAv)MtlYC>W6J`uGSUfrCQdlY m-n } c5Ũ*VOQw+XrغrEI+u Na"02S,L}q͔ Ҧ+!ZMQ҅. RDǘ-#28\汢&f/K _X[H2Qd2:sy _=^1dxySCJX"d1̖!A5eFc>=J1=${ț(Xk5xL& G#ZA6=dXX8O@;<<`RC"1 3QqM9i5%Ko:L'椨kO7 N)P]ÑlceT>eXn+(Ur_V?]pDy-Ԋ34^ĉJ~ UD̥L]rWKŻDor"# ] 3ID=A$.oQ\LmfDh=;:]̴zf*a:7mJ^6c! ԙϲ0DoVOq)|Qn_^7M(t\b8AOȼ ">C^=z!sˎnle&JrY߿>?f}Nڤ47 .~|l?w3$- juڌHy @޿֟_os[PRώT5D OCpD B oL*&e>VkCѦ(`bhM0%'!C*wVG!_}}M>jPcה̘z:j'6գGwH׍GeP&#KESjpu {. r}c 뛆TlPV3|sm;!0Wg@#r& edZ*:ͯ"9J[0L$SY[DXH! JgDA{HC\.;DųL&z/Q2\3iS۾_yii|9<Z%Sv&P i(=IxNC{ж݅a z7^v01iČNN~J@p$7LԶD^ʪBEZ3Yvv]9Y Xlhf6VˑQ7(Xΐ;+q5%1v1a5%JqLHIen`ue3$S*Qv7!0ܯ7P&;P2;HUTGD-im8*w5"g2郧E{ + D>#A{S%"q),Riߟr-ǔJԵMOPI8S!?;Sa32 MyCK;R^P[|Yp>C-WPSǁj::}jrkKh3c2-tE!k`܁W_1eWӼ eqpNmk;& $! ~p!;`Z8( Fla 2|*RaA!k_KL3~TCyyn]tg,ZB I~fL 7DkY0M FQ/𝁐* d^/) 䃂",6u20Lh ݳ( |ljTI2x]A U0\&x'{U_iqOm8\8i]OX}}:m|v\>m9Ca{̩) ų!k}rc_#k[Nϡ F ߡ梥Om8AX.0!WMx3_Xh)lN-K|liO8Y&976d@.F$f?f_E$v%z~Q}dS٩|.vV4iU3 bCWB ")򀂙Y =gz:QAwuϸ.#wT2u| Q) ̆t`dHMQQ(GinZ S:R2Jɼ{zn"r)! .5?'¯!5U7LW9J21w;tx"Ɋdq|wNfU:sSd"Y$|_$[>L Gwh]cͰ1H;,(2ka8 SI51ҁXQ%e`30PQ3i*c&Ic6Od~_?ߎ?|cBҜ0<&O*SY9aV!gJv5U43|F9| +\:lpC8DV%UEiO>*t "b43R|9bG8`3s]H.ox=#zFYB z JUG-NN04  N#;t#>DxId6j!9RPljP>RaW-rIۇtAyڥBg~WRyM^.X&_A";#\clvlKPHNT\ݍB̦Fw,b9C%xB~0!F7C&_=S*kw;FTeW_e4 5.g-IV䵉O+,YH،tbΤaQ*NG̳4.:idm/k<$jFo 1=%zY?U*Ҫ<7P'*\B\Z VB%u}eyJl@]rakSmg*} qm(Dp&liUB?03WL`<"ꊈ( P;u:zPGk`!@B4iTlzk1W=D?!$TpN:l: eHvF73(x;!k]1WkU!?=F H[d| dJp8܇_q;z>ld w姵9ppD;ҢDT_]T <ҟlgmɰ1z( J1*}EvPEf/zL*:%B^ӃR?Qc o=h !X@5idq`njNmdO9QKƞ蟫KZlR k8FKMg(;ݙMg(Fje)d&077B\3J_DmhrGȒ,un'4  yQ[3a-ˇZW';{!e f] u͔{5j&w ?98k5i|e5m~t +WqW^,-%7zm!kp2Q~t)&&}ÿ^b I̩Yw ,pM2[G%ڍ HP\9QDD?ǑtXٽehR=c3DD]l}7A{cvTGL,"U`_=a d1/9&nxVl9Qkf地><Ζs3L1Q1VD5mVf Y5-1w"x <04M#= x ao#>Sh[jv-HFY.k}R#sɽ4R\'ט7#Pmch' ۀC湡/+Ҭ߉;R@clw; ʞ/sO±SdvW?&Q]K>wxDN4V\:"mI/#rkds2N/I)""e9Jj]c4n+b6j.x4(4Bb^#:p=va,[]r jض%MJTZnaȆ *j{m%+h hX"f>6f@Pj .Ju$BYa`n`i Gu)`D3y2p5|vu ȭ(ǀ̣aDZJ0}̨筅׳R~ -@*B!,-:9&/FJL6Teo*}m3s+ZR-+]JQ/p"-C1A$Nb^4DJ l dm tT#,B#qIE'i0Ƀ}[@a-%F7J*rZ]~?.#,u !v5 jF-Q y8S& vh,SRQT=Noy&{|yHSU 5){8 "1 !/ՍƵI]x|,uY048--tnulyubP`29] :)kx20~M2nzڍѾ`Fh!%T*D+!)<#Pv4Yʨ *6Әxf u\6O7a9+qN*y7NLyYa5UŨ!]wdEhmp1}z5X \cy:T[!a4i㚯 9zWS"̵_7҇u͔e'X,威3,rr^ 6_!C򲛟d-YP 3'goNO&p+ <RP a}o!v] 潳Q1B4h`Y[F*M֗י2s%وCDVEBCg& a42i>䖆.˖ƫ6'e,DMA!gҙEvڧ|lv>36# NyY`F^Q{6&eb=55K]Gycl:Xbd} zw6+GQ9┕3UmVq-i`L'[P [ t.0ۣm1+?S䢆VO#q{cYK31FB+c'L ᐞ#=ܼg>@Pbn&m{ZTMti(ʯaGhC>n>j2ڎ(dS Eٜ+;L7t!ߛAq3*gΜ0H!IGBpA,j8\Ю)eg3-Bjn܋%ss8ָ&nEkE\׺i>rǵ}$YiCezt<ň}@q3EJN*)6q[vIa߃'>4B!/C017>WNU%_9:ikcy'#4B1Ǻe:`8g sA!uq~*{V$BѼ)X-WØ@)iܢ k+9Rp%4sCQ|^T:C* L/~!%c1vI4#(/1zcn f(DTj=B0,@!Z3͹",-i`j'q5a!}p~QDeZO%2;'ޟA(Yv)D׎ٺ '_c3&<ː9ev _mN/|J#ƴe'Y95Baf2bȸ>mڒX=ɹEIU%Ad(G?B^T2͎Ρ訜y"OEr2OS,{!%(ٗ K&/G4ub ݃CCo)_P 뻶%1oL1ɡyHgSg/<:# uFz2>#99ɡHN}FrzcO鳘k}g1'>i<h>qOO"jSZeJ0Ni9X$3t@+=0VEyzdM>㐂3%&;qVS6ȷExJt nݙ hgeV̋C1U-4;$}> R[h's|eךuO0O!|c 9UEutb*@ΞF15iL"[*Ϗ#K4S3 1+J̟q~Ӟ'4.0F-u[u﹘d}KUmg)+|Gt kt<ê*~N!i6{C ?&fT1IeE;5v<>gek@lm3]C( #Ԑ*x2ã&;O5{nz`&<̨5#M1YBxfkC՗E\&%BƂ%l(_@5B=h{א (?A!gȜR1$IS>m ihu)M'=@(S4:4̳"Y-z k$1,:f1'H,kT &K!EL.xbu rmyD>*-'LGa, ?!P7G=ͼW A^$G#eN̒>7B>9.;:\f>ń(GaXvAdVc } g#°36Zd>N4 u.y`Mc{RTHEfF@m2M` Fzq)>ҹŘMV;D`57z $Ln?[R$6ԾOI) [x rl7W^I/ݣVjK4Mm󫬱Y '%S35 5ަ~n[X?rYꙕCQÛzf6wEqFR>EHc甽a`NϬ<X-=rkX֎zb agXYzf `fsJ+uݢ2aHqGm:pIJfJt.]D_Xw(Yo'hd6F{#?W>qQ RG3/!P05si,a'+ dQf l l U.s~5>sAζǨk#q0C:kY.#<.@/)|a ꠆7ZAAqD'v*Iy.B}0 u!jDbq,.Cy m}aL$yL᥺U+?a@n^..ռqCR;9(HK*Ysd-E7B` EzQr}sGf$X!gfADo 3(ւz@Ԑ)ό=Bu8bLw$,+qJh70 v+1}1Bv5u֙{}h#HVN!2Q_YtŪc}ggӈ,m0Q)%/~+ߍ| Imv.C'̘,f2,ŖS RUhw5dz FYد6ϴPz׻(I ۿ}^>la'Kgjg[:I1mx1Deb^TM͠^:$B@UCQkT? (kz hAꦁ=IN>se6:R{3g/Å+cTgBB.n!r饍'l^gO@I2.p,ZYdySЀm)_<~ɽ?N,Bָ3ZJjdxŃ YxAAǞEID1=&_˸[y2)ԙ(]!GMFC{GYM 2*x~:ԋך6jdmw}'L ͌<;RU]esܾK-)ث<_$4R}"4'ۅ,U` >}uԷ(_+ԇ |! \Y%L R2ha}vӕMboBiۇj[M:*b5(ڠѻpLy[W q+4ݞ1ܟyeg&P3-dؽ ;wXxʸH{@>2hLwCNNJze-Hoa2+"_?4qF:Rg<6]e4!D1Bz^O!d!V1Y ya U#RD)!e;!bȚEHۂDm cq2Xo$QfS8HAyo)dVUtl4񼺡J~ɘJu]uAГf, =ʙ glr!5"*kG`:÷AfRxg KQ3TgZ Am KAzY7T9u b>#XhDyZ6ly6H5=8dc@ӄf6=]ute{d~|8(Fi`VCZ7OkG[sJf0Y"aN&1K"҂0mwI>hksL@ GGFVOly6EJ3$Ǫi.dt a,Gerɴ/f"JXxR22i~I|iJI܅72W<'JGVΩ0Av8)Bk|R 0;ð$k | U$v4cIg0B;&g`_ɄU_q>e6L8T137.5+OD_eI#kOv LC] b& i#F *4CydQżFĄUbXxqڣ~  a`CLo6tJ3nԷ9'"Bu;/#ڶ-:FOHw zcW;Sqr@bFsT 6%L3D` Gg`PiѕGE6{cfNLۢ`Q2_ȉ@k٩YGWzZcV=75+yAi"ղ1k4M#ܢa/G$3%:f'd&bӨs=%O9Rm}L,!/o]\{OK w~[?2AH7.kV,4U.m׼D#kqȨ$,ܚ#Ϝg#Ugl-{ZP 2?|q}{!A0Ԃ=jO_-f2lqFP #_C6< FJ޹*"'#inIƻ\nObX)2Q39N5#@i5ZY&`Ђ0iTAf +؝juZEQ`qghįLlt! eizc2!p nxK-D7eRbe6DcjF3YCT1 +** +ލA|vR2bNPc%Y%#IuE v7vN>(Cg3<$?a?oŏN.cc̴똗btǢtkdѩDA^ "0_iK02Q",< m[)BQdg|3k̆󦙙!z;LFr:KidP44%}J32)"z__ə=1fJڪ.d;$cEѕOʹyC91>C~q D8_-tG3ZmjK6.05 v]Z9N1*(btBm〶M1[w 2 ,q1(9>Ñg.f?L7ڶsN4~|m<S39ߓ6j f1edcR}e& xF;0aw ϘX.snN7lѭr`֣L; T0;& vԬKeL0`u0+0tٲIYԴb6?ߖfTuV1Lb!Ao/=u 6mJ~Ô:L Ӷ5̻ӊ̨{֟BL41_i@5mcPe吙rо2A0ϠUA/0{(+7ìCXy3Ad}(3;ͭwCX|R%g3Ր0kAMG1x >"@N?%?G+{%/㷒?Z…"ׁuë ݱF#wP0,B!U|I'>7cq"(O$qEj !iMO (='j 1HP@OgmD dti:3dQD}Atzȡ`})&E|:3h6:4.`Cyi=6⼇X5ۙA[m9,-V̓R7QM iE-vIv\0=5˂5ۓBZ! Mj:CC`4sDX"H,mV<~JJbnggeZO ;iC:lvu>X3Em;yU VFꏂS_k~Q_`???`M.}ű;N9wx{w1JI)/pG[N,[sf?ݑUM#r-_pǜxb/D񖍺j6Fnq!nl&'pKfflڎR0ۚ#-6,n&mu{PwԦHC-tx˷èvl-&y-`-`^Eݼ8s~7G~^ϺA8nO3ħV?t]ܰq}ET:PKuZ}PK2golang.org/x/sys@v0.26.0/unix/zerrors_linux_386.goݓ:臍9ڍz >΍qmv7@ؒI*3JWm=/ˢ<}9}h_N E|:m}vǯ.\ݯ_5Xڷ9_k#ײbOk-]?NyEr~Es 9n[߫v_˯Xz_;o:ߜ)W6 m˷=[]_v,ʳݧnHoD4/cT FJ}.ngbܧ y}ާ@L)}Rngb'uao|ǰng~0:H m:v&KQ3-ϝt@Q $k1HqgƨXwض"Ghģ(@ zd!CDid O7 M7&38n?eƸ ZrR /Dhctt }4TEW*ˆ֧¼ %ÊvRk&VV 1QNu8P(:$h ֍!Ty&A8i^l{z>Z7Z'Vr xOkS`'0|֑|n DVI-M (:K L%?[jL0B΃Q(zZ0%7E0'<0e#Ns[ڋ(B$hcnHAa.S39#Cg3+sIm"}w$r'U4L\]ᡵ2X$!r-"7pa s$6HOoM#ԨU z}C Bcc!>u>W)2v0tJOA&ydn?Y D3C'8R|_9!+|-DCWx$W5[ ʼH7z#scxlى%G9qeT1"8 I&ywAk\"Jpng(Upp`)Ep}<"e.a"F[GIo} >$ YW Na+0"k.$iQNeD>38]1VsK˶QzN@\5`-bQcD7 $pЋk &#T;u}`H3 K#`XmH3ZrH@[L-昂2 ~%c |Q/C{I`.k iN1C_M0tD;|`0&*I^3}x KrF;I~k^ U>[zh7K'JUNcwLQ U^~:sЋS2}1āwFUhQK6%fBfq0divLI4wR2K=}0Y}nD?Tx˗SU8ޞO4@L2Qʾ¦Wj4-y>0u~>AlTbs4PΎU10qMIl ק$L׶c: RfI9_m+P=MXjW+@1-(5}wm2.z;R2Mow61AL:&eIEQʱ1ՕEvOW %}K@ѴF$Zo!Rt\hGXfm jMB :YfT'#xʙIcd1Ӿr-Tgf;,&w,Xھ Jgy|ǂECg Ƕ $Po!MM;H|8 oirgY"͠lSᲮ|cEV w-tǃ(ǟHx/,pERND'2ph si=oO#YeH?, S/[*WTzE+28|pA_W^mw L\TCMޔghTz3-9+f|IvCW7ΫCi谆e|^ax'8U)">ۢ4zqw<4.;1\qۅ |qk9{p9}#Kcs2:4Xy _?[ %C1O01>h 4W8|~q׿/ \FPkhA1?HX`/M1l\@ yw6]b}bunk K)_:`؟ S,~G=6 U@0f[:n0RaŌ `o/I%"bz jV\ɱ8_a'H@,`.FHOAp?U%z [ 02OaƁ\u"O $k 0\?YY@70ՇigBݚ`E [c^g1x3<A`^^E,s'J5&&_a֧zSI3(* ߒDQ 2GWwsm:B%͟ /|^@"$]IeF-}є1)؃RK!" X>wmM[0YLc6| Ji"{F*i`^ tf}PtEXr:=JiN(H_DoF\P,Ɨx _" V94o 0^!;xA|-6>Mb.nc-BKn _ v B"/TKO9HAo֩fVZlCAi  Z!Dhn?)b3j `>@7HT)z 7~Z![4 Âݒ(tCS檁"9Üz/)`n "da{R#·, "F2# zߦ toUdq5$ae~#s {<aFX~""hz%^#[rBKDP0>%e&7HD&äD}T1`DCB,LE &H+^ˋwP]DPo341D|H;]ft˗w:9\Zst;tks=|v)cϿK (8ezPc^sw;20O0z(%6]ޖyv.c8'=EN01I᜗xXs92 rZ\˙؁ C@u6^<¬1qgMo}~8k;lsQhc:7dc4gڦ(iX3tM,\ngF=OPnLStp5\ce~*.ek|,ʴ~kC#p8Їgt+k|_EXbO'u~2Og6ya2wf2e[V3E#V  fmOgVǛ^H$Hw۵ m)@Tt3$h<(7"YK1e'bH~<^1YSCO bN@C>N+sFN^eq,";p6GNIޒ q9u&a[{oL4?HoL qh3S|s 7;b\߀]-i<3`Oן7ъ7K2[YEUY|q{Np6Kwr֊.@_|O]Hqlua?M>I`u;2:df^ꏈ= !i~OΚ#<>deqN_ tW$Hr:Mʀ+/*Dz8YG^fLMbvRڱR11ЉC2C&lezxgtY&?:JDiKflOŚl^-z]V#Jdx< Y_l@Y 8vI}BDet4 XEU_C0*ޓRurا /:U%KC>Ac{ȵ +ϢuH>C2tNwJ06ٛ&ͳ3gޙ e !?ғv -t#/SިڀҘ9rhX#R<sRHJ5@_9"5m$AcK VۏNvL]-'iylDp8hu0#]U.ӛ!_ ሬqqaK M)ԛW5)5s\:SO?q742eMc8p-!׸HqZmWeʪq>;@3MK'udlCqe]i,jۃ~ӦA2Cs ^Gw.`VX[6}*mh ;JYZdO>%/øD}vc{ivit; $0i[k+\iY"` #>9ТįS^2{ Ⱦg>BqL;};%yt3,Ԛz ͚衞;`5v#bR,ams<Я^So9]ǢD@ =x 7\&㍣9p|9B1TMf / B7a nBہGerY<<gWPi{}x|]cֲp8ރSn?2ײrj>zdV/Hx ;ϫ. ɂll6yI^ם9ˇ\a},Xڙ˫{.q칛G!*Xs1^tsKM q9`zԍT曼Y~oI?=Nz.~e]\q `\x16F?*I B=V3_~ UssX߸@04S ],)|qyUf iՂ(~Ҳ],:[|lP~C;5MdYeCASOElhuұ+'X3F,mӧqb wT1 :9\emˡHۦ̀IQ.tҺaCѐ5RS:inCEzc㡓6N}'/prQ?St/$NyYtߩAa?yc#agDyVKnCNi¥/Z4}6:iKXo <\CBqג?'O)'r$J/߬.\?.[քOa%X%l_We~'\T!! V\M1", .FuI8%c+Rʼn|<厵:eŞEo8N2 Ac4=)g$c)بD2J[:5VK˽튌9/nͫC;: }'r@_Z5MYq8od|:ZodЀN℧m"g^/g&``q#mlC/pA.`Qv| ji'>m) l΍AFbSS!ngs{mPǐ 1:ͩKWhymR2΍qmv7@ؒI*3JWm=/ˢ<}9}h_N E|:m}vǯ~=4nεUu}y?r-+U#Z,g_4' ѐ&_ݯ_lwk ^i+_o[7iU}J[ftvi=kW}:>enR[3{?MGKdQR0:Kۙhgޡk)u;} 1zԼۙI`t1,ۙ*:CۥɃ+RtLgsg~0*Pc:D tuccxM;nl[uc4ѿPXfNx C4ZC[CJ7~џ2mcxDl-M)JasZm1EP::>*+@eCSTa^aEAANv5E+qJB+jي(R M:U|`uƐ\űxXA" l+8uP{b-dYBIX"I lqp>#`h'MB!!+%jVx˜08j `@y fA=CgBFcs +]j̵n`)ETdt >U"Ť&CyM rrLfx-Xh,"k.6?%ƀ-Ip0<ּoIi\bu; `L;f+E] |,&~FE[Oq8 O[3׾Ma y8 ۙK7ȷ&ZMo޸7k|gnd.k||;z񚎣F8IxG2rẾz`lw2_Ɓ+TkKuWݎ30N Sz:txtc]$moJkr[oLܖ5ILɰiʛ`Crd㤯.Ze0gq$xLb$Nϰo[C?LwcU\>ea\ Pwz&6dZA B۽Gk ҞÇCZj)v3u=4I5.3qe;9ˬwG]^B쓅i'~ta^){(M/6EWE˅@4E -Y"QF~|p^8o>d&&.QtFFxh_뻝lU% JxoO&IyZzox{ezCv VfK+ /O2 r"FT]"2(!=AǍbrhIc]K}X:Eћfi"XNɤzV4C8a|y<=j-Xsi>օf$QK9 T`91J8h? *n\>TLkgտ4|\ qsRq¦^yM1HN('oEAb8?UŏDqғGrDH6t;X$ Bᮄ聁k)'[ aSt`27CV80p %RPDrR6%"r&iпE(ʛ#ZEuzIf#pm'1>"8 I&n7Gk\"nb܍ sW.S*,%G=Gj\;ԛrh7<ƕ7{x71N*r+*XI "&X[ڞ7HPO>P;]_ǡ-n( 3R9ǜgŌ6=wĉ5]Ar¸1A,B(j«|S@⚀D ۉ%9ĝ.-Ǚ:<᮳|"eSl"Τ[9Hk\7!]_x)"hH,Euw {.]YgYs!Ir*.dDH&ƁGoN[ZDU>-tՙj}#QDҾnb݀&wA/-t?PEA"$.K|k``Q`9W!bh#an1]￘c 0e7d, hoKېy@ xv>17ql8 於G Q ŕ "@~ro`;l`(zнaHPhy671&gd*5M -Cƃn/! ܛ(ciX)LmIl]lR0,?QCvsZ $ci)c3-t P:M!{-2[jyH#l5@սv"=Cx'Kv; ^RCD279[ҭn'&OJY՟X7eՕĚ?*#pjqn=CՎ(P #[ċ2d_I؂dT(&)P^ ZC*StP7 Q mI|bxfEs o^BQaZg{kշQU? %w7mUSTyB5AW2DᔅL_D}]q`AZԒMj+YsfhƺZd:{s@ ArOm`6 }V_3<{'r|Zbs<̃9EcoiU>lhq0MlK^L%+O;\!M<c>q_ L\gSuz()%.ӵNqٟlRΗv /mtS@@'VZUd@:*P|{ _M]-sp~K&!L۝trSIYRQrLu>FSg4>:C'vExtAP48k+֨Yqm:eθEUA#~W޲rfddX9Y̴lvmK!ՙY VB,DApY߱`{yBb2m8 .g.|r#kp꽁N@*}N,"O >6.3Y1ܕ5\K_ W48rr"9|+Ll \=d!\3U7<҇8Hps38-fM+땛Mob>67>/|tY=N0nz!dž*|!{"`QܢL6݄,v!137aߣL_>G<7QIYn bSF p+)tSaF+"Q.v^Dl>,{"nR̽&K_"$w|iP! C˫ lnա?4 DtXò>0Bpĸn5vl׫X9^?[#{ӻ& |Ể o_#aWB/5S_PY~ ?(b쥩5fM T40/B.6&V[oR"mMy|  [9XH=wb٪Tc2l>Q?`}ͭ74br-Ot e !s下yuF!AXB;zR'Ad LѕT&mG|nMb>!Ÿ" 9s^ 4V`ٱf̱)lMg6 @Gh |' %KWiJ0)#Xf=~Af[ʕ ŒH1i|y*) B.:sH bc$6f"Tt@%Y` $B4#4\{@Haf69Z` ; 0B)p0@tM]Oǐ{㧅~q%JHhM-N,+)-B7T-m0e#Y3̩,i, B,UI0.|+ .b)3mHHAw!q[؝MWC"V'8 N ϑ!h5!*"fXQ5%'D/cJLHDO{/~B;]mZQjmgM>~cYdDDyY^|?{  /|2^l3P.]#wٴv燳<+8~C6F_ymr6^L1J"xfØzU1$9MwX31VRfvǢLv9?}zfYzKw"KϹ[te((xt_-|fjXP&]}g.\e% <3Y=Rlu911͍`tfo9Dt]kYYNDEJ7Csq#œ: pSf{ cE!0?u=!h[+"m4 1g$Xr}-ms-_g7 ƔN#̎Ƥ631N7g "{## (ҝvs>8# 1t8~x!slZaZGK\0Y}^ntWK+.ghbn*͇tU^!L^Kخ4V#*Cn޳v?`U}?r0CQ?+p_HwA)/@ BA1},s;m]n%虞i$f.).e~X1$1xjb9f/l]OgpO盵onjDT+=̙>/ױ^'}>x SXҹ44 #>>\۞@!?,J]Ծ3!gm!Ntc9h<;cxpXY#=iL ײZ|+vUZ 4#lߴTˊj zRO6_vەvɢ=h4uĻ}(h5޻enܧBVذ#HiM9^S +2Kt|g(n9wfFx@O v(.u霖! h M.0y -O~9%,) {~#Ӈ hS[WO0QiЬ9VgY`w>)+@֖o<!5U{x,j?@4[@/c{k5Jm=8g[#DiKEOo.v91 >0P&Tz:mʞ_o;{dQ&lIӺy`N1z~vE^efg\eqq3-s-K/(gMlb"Р,FPhftuA\|ez8bb{ڻ2Ǟy9eZK7N3IGHe֘sW5 k_ol+ n`84[ ceq9g @P5;7eS_N?Eu*a]iƐ?]-'-a˲ȶ 7o]_@6U8?Q͆V'r5cIۆ1}k/v:iO=}q))@@ZOl^ڦ*m $ N'v,=d~=-; Y#o:M}?Y\76:iWjx2Q| 'u3KBY딗uG'ں:^?1z&KdgŏIz=:ڱ8+\BE߷lөF j}Q֎H5*d7q-;z{;{"+?./GA*O…eMVr[Ќ5 XY!YuUweJҚЊa#rjTS216"ZSX@XZz}![đjD,4F3؃op&AI/;J!i!ŨS[i`kٮX{rFۼ: З~"G u@jv&z5Q{1A 9jhR v&}w'} Τk'5v&}R7w v&-耠vng`J u;ܙSj@'_3A{=S7F=GjܤF: \7F# EMh ԋ&qtHVtc8htch:CF zc8![ICe0wVmP4ʠ` Py UtX!n:.ufhl.-1a`-0![Lꚣq]mCm11@&^8 O(l*ېtP~jOES(QEo(궈R{-gBI~;9ve$ZJ UG؜*u;ȶg(ЇQ\:ǣ؊o =svl6Jdbd`МESgi{!өDXU.gZs9'6.A՜yņ>bwÏUqEX;RuNNcYB]T5K 'UWp<-ƣ&mj^t[OQg$vzT&! K ]U $Y k)z\$c$_sǡ;Y(*a Ex*8 ]\+C*$I0)!V+04BqMR|zqu"C).TdAbۊc˖OA.ydn?Y;9> ]gOx}! xqݣ{ZnD^ЄGgͭ@A&"& yMueJ\Gud75/=Hj;q ?IK|.dCx'/k]~2o-ҍ8Yv*{ i+\b4xeD6!4yCJ7+!Ɣ)G4l&6U+Wn4mWKf+:Ę2fcƄ13$KI) ◢f! -K˿av(G6[6iB4ݗ}NN?nnV \s0X8D %MBh2~ ,YD(p##[TXg#r*d"N**EpG]$-^:Vl--Ǒon6Foq;۫X;rn'ܹ/#=c\sSp<7m.`V\1%6%0N; ?q L70HIJ#?}%-c{ P(JqQn I;kSd_VТ rRyqiKiGP|֥C3D7^ۢ.|Dq`I>Vx|\%4*/H_ xpbpx# •μ͡xsPkҘ[DOG=]o*t=!V(Nk#/JB1"-/.ygN=mwg8$?+f$J9#yJ-AK$0x\97E$)N]Kv d>)Yri$dd,_,m-yF'VC;o]vFYtz s+T6H,ljP氥n[,$WCvyLR/f:E;GtbpF0-?Yo @1?h$:|%Fb@E%*BJT`në[2ҫJ|U%Wnہ$64=YM .i5]k@F::B!L`Dm#ck8Q{bk:Wo }zvtjDu*@me,ʀ+|d~%# >Q/G5]rTqc6[C+khhA]S7\[|xo!pUP|wO(vm)tȆRt% ,tꋟ(Тl2K\E 5G#<YvLq8wqR2=}pY}n/((+q=ip/029=14B9_P-ضs`)zg/COdD['yK LRZMwxr]~b`,&3On]K#PЉ{%M %(?ƽ_]-sr>V܁fQϒGJfF:AU9+Ƥ,B9R]fyT9$~P]/X M*4Å'CvjhԦBۤJtys[A\"ˍ_oY9Srrw̭qǂDW!b B,XXpN+e2R goqÓ &u{ߞFҐ>,Wө-1ez% p&=xȕW⸤w{K; ]& !ʡo34&LcW&b.(Rx!U->>ܐѤÒ77=CbDn$_.nnz}_ҙ2fϟ_8xU jRja? AWQ2Pt 3Bbgnz GM/سÉo(>&G"ΛMo, Z^L?RBmVSv٦E v;/! BĸybO+pK~v>v^;~ʋ~Upte.v^Vca JiBs׿'>p]7G%ssxOp/ .>x WQ#ϼJ-&s :mǽ~ʷdGU1QUFJ&>ލūˆ #ojAEq54`cr=9֧K]k4XT40/D,mMwlXdxEۚah8 `M%؊`+ I#j[Hsq 1ȐboMpJ|:XTXӕ``7YP H/Db!Q[l^pp`LJg p ?%z[!bnK02Ov#,m a:ڧ~_[bYxV~f+ {!ħ |αD$؆a!?n ˱^b/QOz)?!1/L@"(Fj FVca_/ia3ln loH}^o 2Gwn$m@%ßK /%|@$c+idKA6eL?! R cI@uÓ4R`ّfP̱)lMg6(VKFZkI|ڧ 旮ӄb>RNgGY)$ћR,j)W6 C%ƥd4pkI0]Hy&-KCdbc8H6D`nXKvoFIݠJF 3+h-! 4HQU%CXXuQB4v0,|^ sq#6zX! C8}v=UCm'+#¹7A(ĮdT8 @jHf}1KFJ1iԀA,lY`#]V,4%A\D(TfDt!~ 6픣Cʑ;,D!Op.t $OF`.#֔`^2bňװ-%yR (dDM&7IɈ2b h X&=o#")Cx-/KD> vddĘS8<m 휬vYGRhOyY{/_\\ҳnpki}Yg?W/'pڧyC~֎Yߞӿ kKmL m-)'pO"{,4;(a9+񜭉l!Pr$r_˙ځ"CBu6(_<"1qgMo}v8k;bskc67d4&/IXΔ0dM-B\lgN=O0ӏnM1tp5\`Ev/Eil̋~kC#H8g&dil_EX"O'uvrOl>}a<wn"e[3EN#V  f~mOgVǛ^h$Hv۵ m@Udt=$X<(7YKc' bH~R$n>xv0CQ?KUp_HvE¨)c/@ BA },s;m]ld虜I$fG.-.EvZ6$6xjb9Hf/b]ϘPdHN盵onjT+{E}ѩ\,\ bCmO_~AˮCf sەz4Yol2|8<, QUS#o9 'YqޞZF&̩C i}6*ws{ִ!qmK VۏHIv\[-bz4N,niMbe8Z,1|E.ªʖiUpDڸ8#%#y|ħͫD9.'П}&1zVtjekR$$ﶫ"ҸǞX}f{%Z{ٓ:{28ۮSFAKiS`졹%;@GE-p>·ĆAr,+w\k"iNaR[>CisΈ$=g,}j0i[k+RIQ"`B #19Т$SVp{ +Ogg>BqL;{F8yt3<v 衚;`99q#bR,msrJrU " u7R{' M癆}g3 Mrl"&6ufpˣ d{-)oOsSsVI\kvlk2;OH'dflu;p.;t``,GH?2ƱDd:^\Aq'm!lC/ŷp@,`Qv| fi'>m@3#@ !1|S3!ng}{m0Ѕ 16͙KWhYmRp&aɔ[m>IUM|LFYVCod]K9e"^/Ϗd;~o/Fw)~_~kP>+6_Mq_*ϟףSVi_1I'2~ñ(ʧS} {SuS ~IHj)] $TO5F]OߛS`fTOa޴ 50:H :*Kq7uMי{l&Aq4kb1H`0Q n;eWGB64tFe:" Bcx6214UQl;slC&G_H֒HoE;4xBT6ҠPyІdX-(-P46cLSa``l%r*uиˮq#v`U_v8ˏP؂)u1Em>Ԛ˶Q$:Q,ˤ8V8|dx0u:!䈐wؕ4+NZV4aRwnp`{c?vC5Gk>Z'FUf| @UoŒ0|Α|5DVI+u  P4W7d20-jEǷ )9$6-qVj)dM B;u!PjB?XV\@c4$eW\/,we-y- T͖264\yz@ Q{MB4780\yuRsOMc5[rRLS,=axYU ƀ;,.Yߨo\Js!Ӂ T> v{ ғi#!j)3=s\(\x3{m+tyE7d"ϟS7YF^E+G;^e=p^ٖ(ըcf]8c4w[O*pd(>a4t9>2y-9 w"6|:nabtj6p\6.M oi62wlZ2>6M\Jw8\G"͡+>qi5,(jm jF#ZwyQe-7KjjmneA@kmGǺ^KL!kC*WEK/qhZ(\u=¯1o 5?# U`0<`h+p9EQA‰Wfk3ᑜuP}٠<|$gk=|$g 8 =۴mš+y6  }Ŗm oo.>BϞUne e *±ฮBzFt(bh& cke:h%7+VSTX64} Nz zj 75"JpYNgЪ<'}msS̀U(':qSowxsġ4(mWZ]8 ^عXy 8ȭ<+ wXDP+mm URڭ/^*C-EaFJㄓ,"=(6#HN׌[p񊯎10xnz\F)zH7I[$nKtY&]VϏʴ̓xjj*ثӥ$/+T9\Stv 3vp< T(uC G߀zZ:F 5-a`ءZ_Guv fSAf(lK* ѠVۦFMIht|5ḙ #m_NKa,;}@\8HZݖ L"v-G$>Pp!Ӷřum刣÷?WL?YЉW2~B^X&6F.p ơE6c Ȋq_DK$Бw168i cCv%Ӕ( "Q"o_Vo׋$ /磒&"35C[ ]1TrQt1EkwWhhNV]S7L[lxo!{@\R|w )v|˒: E{+TTz+%F/Re87 o*ѢSK 7tcOT'4;M ]g:s.m1d?Mg-C7& ? ǻv܀K#>1$`FN4*T|ϡZbl ]eE ξ&F][&ٱW WhQC,Ϋv1.ӵ ]XٟlR.VV l_v$}:P~YaRS[1 4iH4wǨ,1蘤%Ei(G{TW:#Z7'GsXsbPGKWt]IFq^ F_F XhTBW1Zw!Tu/̨/m FG3%+'~b{d+Z w,XtMX*{b!&4P:ˣ;,b/O7_Cl[?}˙cZwn t89BjkOC;TD/2ِ3dPKR4BH o3Y3i궖.iqx;T'Ʒ) oEQeu*=ex%f3|o*v;  o..o:*D%&rW BJx(-)Tɺ»bFxN$E^I Õ 9|Kx~vP2\qlHn' UxZKue&f6jej7NE?B >pюom\ D| _cD,pnM8is^dQ tښNK( OIk50:sq~%ȧ/߾3TrP{y \ǑXV2 B׿.HqǗds!; ٍxOpѯqᒻ4n0pzꇶ7H{o~ͩ؃L[h%5rp4FW|aVLQhCLÃֈ1n4:8>W dv}TVAeiPct\16$KSkLy>7 T{165_\bCbn- K(_j0OKM(q?}#!LBnuI`7hcbZ 7%yc^O lb f#* VcQ=$?|ۏm_,`.}HO~s?P% [z! 02OD~ crjHkA`f9^Pn`ޫO>M' AVkXN {[M '`tҴ`a$`35-Y6(Ɵ> !LFȒ/^GFF+0DrQDE4nЛ^,0/>@7`t%m6l!>7N1g؈b\ aRKiB0I> X, ~A:ʕ-P1i|y*)7 B:H !b8.6a2Ԡv\,y\V~V@ :v-`0b HTWX-P0MW5 !D IZlgO#VcߊtΞW'{~qRHp!u-M,)-'-m0e.Y1̮YԂA,-` #]zf̵A\F(f$m俦HAw[칭ŗ˫!+ Uk!h !G#2"VXS5l{KF(~0 &1{I-!(nS"0/[!MeH*@)^b wP]DPo81 D|H9'} gtV˗w:/9M<9d\o&;?W>OW>ǬLλ"W;ͧIG^ѼPNCRfWf(x(xXiv:BDŽ!&v9+m!'rZ\˙؁ #@u.ͦ^<Ƭ6uMoC=(}# Y~e-Cx=:`;Qc֓Tc0dT7aMXKf9;2)w%O~$=$K"MΙr[TiY((xtdyZãl`(L#CW4'lúR':Qќ|N[N8c(G:ȱɲdye8oLiqH|Ig{%Y)pN>h0<(|?xp jx|$l a@щW..Q@hL\^ٔY z&s~0 Ĭȡv"G!̮cPCC2SSF|6~a2=!eB?;o>'XG(e{VxL-I^lFeZץ59dDӾ0j=je9M~dm'5" ]_q:YBH%m&U}kxOsfwJ%uѐ^G#T-t.tzqHҏ])WgQ: !ٿ ?Mewfafa䤬,WNُĿi2l~dywY^3P\F5&œ Mq8\]J U/9}ԴIK.1X?>#_81tm gr:fnKu{4Т)-ȏdVULowy!AT1YH / |K MԛW5)5s\:P[O?q72eMc8Hq-$Je\$8w2ad@yfS%-=I>YP)#.W/xT2C}haw,Pjkw&dH-aG\)K=Ӛsɧ$AZe8ֿPm2l2IAO&Q\e9)kC@3\pa"Z4rJfZY@SdG(3Ӈ hS[WO]Na@<@cnhDy,ze k7na=xr< -Eh1VGKHPͽ5 oEρsǔoɥ"h7Sx np*9vrgY1dA)~ S)FϮK^fI}x|ScQ"i)rS} gRfJ\NǓuQV o{gYEA1]R^(vtu@\|eͱ尴3?їW{]cs7BTv;bL+@r= ̶YivOI?=Jz.~e]\mp `\x16F?*I B=V3_ ~ UssX߸@04S ]L |qy*pH3jAwxm?)>K˾V$j(ߐvC~pV /(~( J:6pkƈ ;bT3W_TҼ?`{R*@'˟vmq+m $ N%v4l_蝌hRIv,.q+5< |(C:! uʺNu cgC⏄iYfi#+q^9r,NPh+t.a}P#/?ry qM\K᎞Elĺox뇕4cC3>;,NL#BSZ1bL6]B>Z_NqF&v_$Pxku\=W/o(TpqZ흈3eFh{Sg$g)XDjm"59mm1KX>)J/R֞f/<:6$H7vȑ9O~j!vE~d|:ZodЀm"g^/g&Ecq#m!lC/,?CN|C6~iKXԕ;_omOi ΍F>bSS!M񳹽֨c…%+4ϬTn)b~aQ>y*(oc.OMU1M|LFYVCod]G9e Z/׋dї~o/F/e/7[|Vl~U?*?GcRVi_1I'2~ñ(ʧS} {3uS ~H *SFGw){3>];tb>~o6O F{3>[;{3tXF2Tehq7{TXNl8s M@g_ ANM NppM#$M&< <)s'-c(0xЎXt"CgJ60iBPqk5j|=s̸L<1e3ȿ+F};i$idM\j-IcJ"]XM Gn{ydŐ2 1@ Zv ӔCe?%RIkv&Lc _; k!hhZVgD5~ fɥ{2Fԕzə(Įr ~ ɪK ؕ@j&8\KrzAn wz&ѵTMH]s,{2(gqB/7o!Zyq.1Kt׮q؞u (x_yO Q(Ph4DQCB|n;Q} q,yU=m40S)2ч7֭ŧ @'8R\%sxp ݣ{Zv_ІOC- _NA&<>TfRZ-m̦2U%[Lu0ч>|7wBsX—A,ƒV?qx^ص%]ʼuH}4`xh-k$` Q3-l^PbD^.1L5=¥fv@ \ͭ<]s,t]mrDk!24dmwyQe nj1W#v[3$MI9 Z◠z|? +ý.0_GU1\pP!j~/p֝#9ՠ\{ofZŹ^[HNzJHN5(p~/p-ò/,Y4<9Ly(j[gԉo[Xo p\ \a֠L;i "seh%6VRT\vhr'p7w̧6pY-7!1nsަ<'=%8Z.7 !KuzӿÛc戢Ӧqd5MӰ Uvs<":vXYN[%/NLBn}v軥3H|r%3xJFҷ \y~+O J' &W RMssρć~/D&VP"{2,kn CFphd+acɊ@?T}(]#B~r)JrmnR8׸ncۮqtuMP/Y g>K}"0Bd>]0 PGrz jne&#ٶ\}VIj<8DD+3Atl׊< ئ`hmWt$ kwXeJ aFؾ ZxFt1G_WT˚j[78H$*ʰ6cmi+vHM?&4L( XrOTDA%][%*]÷o<#NK@bv1!͆J5u |ă noK% ZvW\akX)ax@ϛٮc\`oȎA6>߀zZFҘгP:o=O+c0 F%4GA[R# zgmZa$KFS{0@v cQk⒰%A%HԚ>`ɝ&f ܀Il3 IGoz2ڮ  vI@F22Bgt+ߋGVGL}cuG"2f|w\qd.Pdt#J.1TeVZ: 7*W"34Jb>0u/P Le1C%w):eh Ph N|fxz$o=a%9q$uoȆ֩43 Eg@;`|Jna]XE) GH;#J% [xGhЛLU4;MGtv(X^R2c螾Hl,G 7ex?Tx7CT8ޞ#ahӑd(nF\9TcC ydEHWj_BBQQvCQ:;3*<:Il#קگF-L׮!* er2V`H7BAEvH@qoWwW`&IҨIȽ#%vg#cTnR]Q`z\a.P]@]N$&5FA,GGiڢav). ]EhVP׽2>.|d/;VΔL+'ͮk):3kܱ`59cU(P:;,b/O[LF!Fd%Ll wl;!] cY.O~o*3WWVS)}5[|Sy#)WxP` ApAP 5zQUt&g<.Md6Q<♽"wp-j)nIo(f-W+\4};ۡu&};qO`.*WErSs$&3쐦e B9#uaRΰt@1W )4d4#vd!k@,e΍ B -_tvSbyx<@+i dKA4et?C Rz]Gxy(3C[*M#epS؆`]&mcxDtH0J/]S, \$`TR,ћ,(W)Ƥ`$޼vûM [/ /^P?lrMO"۔a/y-KpnOriXy;i`7Z;m7#E2R}Ra@6V_w`0-'iQ>/`Z^+6y X! C0YB by6`vR^[|W0R[/[`\5F>cUo#%- =@M`#]# ! i6/Нr'{nڋY|5$ae|ppAx"B#p!BFkJmoFs'F@$"xo3%DFm2tJD#Fxq 1&D,CW&DRH Nx]"x#)%px$"@9YT_rv/_ӹg_^~9(i!SNr6)eϿK (X~8ferg嘕m>޿4Lr#rvϔT62KEC ijDzHӉ:&l7 0YY^l?g# =/|2^~RP.lj3{٤v9dYc{B7NߐW*ۢ<$W?`jfXs̬ s;0f>َEUL?v 3IFuS°]٩iñ(r\GpQ,81Mrd/)PEBO'MU 1TÂꈼ09;3w++QYcH5tǠ7;_әf ?neq:};ne9+uk;$@4/+"B`xwn;C8I[)YsRv9 }8a)yr;y}r<űaA98%zf-יm 1#)1)t~L|LYq}JٷdkyH>|.oo!8d `S !]qw %r&_Jq9+VdGo4*e_=R&93B:ɒ LG۰i2$ nGTFK 1c>Sc'*- KV}w83.}.·tJe`3r|l,KMw]ơ-yWaOΊ#<ӏwăSWC#Wf' RfN|2 vwREcX"-ʦJ39)0I mjW3R\:&F*@cHZcH#̰Ͳ_غLѐ2̟7k'XG(e{Vx -I^leץ59dHӾzʶ-rN1kH%t.J8ˈ &9'vQ JX!}FyѩZ,\u ␤^.  s7jR\k`O焹t27@nV)d2'RqZVI<6HpZeª>;3@3.$JZT{ѓ*}248߭SF]$_dЇ4x X"xM a[ZbÎ R{58!OI0.q4de3]>oGqo5O礬 D{L0hrSh|)+=heMYU߳Ro?NNmI^=w9yZsB}`ҺY=s>z'ϲ}$SWꁖ%-xBk3XԖh9^X]Ɛ{k5Jm8g#D) KEOo=.v91 >0P&Tr:leϮ(c6Ȃ$iSR]̒?4,lELS|y "ĵϤ̔4'뢬ٳՋ9β@bR^(vtu@\|e_dͱ尴3?їW{]#s7BTv;bL+@r= ̶YivoI?=Jz.~e]\mp `\x16F?*I B=V3_ ~ UssX߸@04S ]  |qy*pH3jAwxm?)>K˾V j(ߐkvC~pV /(~( J:6pkƈ ;bT3W_TҼ?`{R*@'˟vmq+m $ N%v4l_蝌hRIv,.q+5< |(C:! uʺNu cgC⏄iYfi#+q^9r,NPh+t.a}P#/?ry sM\K᎞;,NLcB3Z1bB6!/FuI8'c/ʼn|<厵:eŞ8 T7\V{' Ee!Z};d6Y *ZHEA[[*5VOʃ9+nͫC;: }'r@_Z5Iiw{Τ4ਥ0)Gj(݆W˙I7 9a$m6R~37::4j7âw*}koOl?|'G+ez8|ǯY۴fTiҭS-)>>|śg_1M}~ly8ҐD__9gFko>Ͽrk>/_Mi_jϷF['E~<}^8OsCQO?$?@jw ~x 9:Nwߤ@͇!h`ܠ눠){m l zԴߛIt2-ߛw1AQR'n+2t'u~@1p:xg2[3e"7 0 Ux 竖*̎2|2E>[n 3}8p0؊aR=9YE(!X6跧D!@^[.Fj'gt(Ŗc<`7s)>k~6I x؁(N\cU)-n&AX0g a2Ա\)P  A qyEg8:l\(Z/̇dBRkYOo-q}06Ǯc D/Fҍ ϨCW(cPeFނ*6\/Q0ݖWפ3*+C|i(8V 3N/A'{MS`8B6vxv2fdqAW$G` KT , PVTrM~16@T+ٞ5a kkkk)XnVrr[+W!h\ս[8L3ZR(v$N2p`lIz8ɳ"=xYxum*ynSP5F[֥gOx=% xqݢ{RNHhÉe0.M_ }\u.">V+Dz56,تTSck#S+._DaK(n _+fWGI{XyjELZ8V5Ƥƕ!Fx\Lh}9F5VCuQF:Ę2%["5pƃ6 cu# `҇mKtߔ1QꘙAXyYRHK Zbƍ(0-M#QdIȭ yU\CR|Q<ȋ,~ !϶\d>훋d <E)nPʮppR[" :Ar@o}'ʱ:?)F+J%(̥H(3؏ dpO# P MN[ 8 ƂĻ~/DÑXE ۡNG;tY}7te8lb^~/_ o T#CHV=WÙޏdf0.'-鎢x!Eî.hg^'[D~̥8*0&e.pt-iYȏT-NX E0@8Fh$h8w<;6zv,xg+ t'H S 5ܑ V'P0m@`hrhrOWe[-4ƌǮMz&z:0׵iˍ:= Or}DM6l$q6d21Y*7<DAۏ WsBv< /c =wyB7ݖM$:hs~=!&./a"s`7-қ 4 ,Ѳ2LjCFxa_ 7b2:BZ KvWAk|lq}Og{:6 S,ܖlѨ=~hCUO꫘%x~U*,Kq8ۂ31ino2S(pfF 7 *tjxYf{=6f\ 5fScl}%A][ϔQt9wBIO*Tte$t^̶:|@1->1560TbԾICeF-2p@)?3a]b)swCg=vW骬(:d.T]fKE5C*E MEtr#I0tWa&G ѻ ;-vI+teιF2sW6zϯEw Yf ovcv:wMЬ]ShBP7L\E6CY46Q®)hzQ#0ŠLʣPm;\Nw"h𩈷l} h iꑓ9~ W;S#qhLsvE);' |[u甤2p%?ub{XLAx5pGA p\|o+v;Í  ABT]^|Lz3ᩈ+Fg"M OYwJ0dG*h DdGV~ GWD* 3n JwBMn0p9\wc7 kΔ1*|:&Am`Ɖ! D=Dz{v(LD70î\,fn0[]+>qC>`يÛL[2~YMog$,ٞQuc)ʿ7ğU=1%s)  IUń{Qٌ2뀁p on>G7|Ā"ދ>{586 T 8RT ~$u_҃{/:%-DY"- x|> (S+.-\F[{uj)^Ȝ\hu9+o1# sɞ7|ɼF7fp>e^t<ϦʱbM.1la!P%[1fյkl4dx] [.lq웥& / I)` ,lC0,Vם$vgYklR\cH 2sDkl6X j_Z" k# IVI6X@0X,o+t1q Xdı ʶc'bcjA6-3TZJP+D{icyk  W$2,@Yڥᣫ0'~yCAQ)łP\gnZ41l.lH0a)2liMZ*׏ו`QJ["Y-+B°_b!0cհdC0v1K)f6i3* )DMw !3L42 a.]c1EA1+tT҆٦pFbOM%-=ō]|I)ĝ9FԊIz`^ S7$zYaGYúFK&xGƛ.0 -hQ">'4h,z$BxpGc®d Ku4)<_-(?1%q=v0N΢ 1ZDڬۙ9@KQU9&^}>e޻taXcnP" ,Wc[RW3)Hi^0X >LqYnQ;bA.Y$!]Ha4- r, +!Uu..Vw}㽰K"#\ ""QFQ])S ! 1{aEE*#x ZQm[)n$DB(D9W-Ć࡭+cFMdĠ"-Nt`}q<2 +}NFX%*ixO?R'fǓv/_<''^~КäT;,mcϿSQڧ␖)+r-/N!-?)~{ȋkljEm2MNE#(H!/ 姴,χS%tc 1|:OnmӟYmY5<%p<6.?=OE;gï"h;M]Q~č57a6Zع'NYk3l&In:|0`ez,ejPqh<g{!%'&qNER#ܢ_LB!A#q63i|jXPH~ps?YYWkT=ۜ\7p zuBh̘Ύ'*F4~l%eq<~fYwTEF7Cvʜ2'dLv CϦ+*#A`xoḈ@$>V"e9 }8axqm>>PfY$h=Dќ>Ѱ1o,0atw.з1qB;iQB7~~1MF/BsPD!KblYdmmGkt+l %?e_Zq>iNqGi)gļ q>1HFvSqlm]qQi4I$@hy&-eJ6ybLOEO%a5<}5a)cY]Aj4͵c3;ߴa?FD2YX~QLiՂ(>>y Uゴ& pYȒodch4X&.Kn/X?eŁ$P锅+K$Xe*`2n|S !x>6<҈W+AI >?)V#ozVV $OyjG,0+ msҒ.ee/4,ڄ;5^LjUJq⹫G!,3O'QKig|#VEItP)"y}FqV<#>ezUtiw">mtB9Ӆ9s#/~J7tN md\rC 7v! RiI\LwiIzOK?5NWR"&I%K@OJW1#e~t1z[heq>䯑g8 eWRH>.n{ =K M6x|[tW˚8OjDO?݅mvv9v@!pj ѐ##貪C",Y4W:]_{D-eQFBi!SvLz{I(+OKm[ojN]ix6f,>j\ 0~c!z:Z=.ż2/oUsqw%;!%{ gG蓷#-&|z/,C#Mn8g|w=EɷR(l()&-8In4A֩JsVl*eJCK -#mAn_İڠ≝6w1@\\Հ6_A2؜M__C~'+@و`wy3nk̶K7}\~hɾH8*;9)jKJҴBm(GzA=Y.[0WZj8۟K{̬ nƲ|[j.wثV{`M|Ѕٙ|ߙÈ.͎'Z;_bH؏Jgf(rF vodA)'%afLrא[ez8|lj5˓y~լbj<-S6{%GoxSHG; ^//5GK7lըxKgW_@|+ߊm;OSׯ#m[{-y>Ey>xߛOk^APArtXR:IߛouCAAoS 6i77n#d0[F7hcN'*:GNPWeߛO2<2#{ƧLz 13"K1B[G}2 ❙4f ūnSU= Fb= vjU[P:3^;Q"˥(bKG>2v%G䄒7ؕ4+IxV8QaRvCg4{F؟wƠC"|k ucfluadFSZՇV.pA*B uŲ@=% r1zEV;9C.ぇ|[KYYLm|FqZJiQpK4! ?c bO^wYO0<03 R/U`l3.Z?ޮ`6Lf @5$~>LSj|<+xMB"&}ӆu7AA2V%4HAQR}( e ̨[=\&xZq-_ԕ>%``-CIWTZ{iÀ\@+ā뗠G&)0_o!5<YZsF<|<ƌK?&Dor9=2=n zPDOx~!3y+T_k˱\4n='tz,W+ںIZD:J _Zi{>;smWyA{{ H﫬MPUDv jTC_Bel'㊤K?ajCaVp  Qj>W)7V/35~02۳7,a-wmy-% U-V*P0P{ s*-Yˡ73cKǕwFk^*Esn }ĩU-Iox"yxBЃ= ]%` gN5:\"x20! ǸmCqb{xWJ{iUAQ%[YcKjoaϝ%Vٽ*dq^/$ /qޛ)q;5g=i _(TYW~֪{Z)qߔcޝHf4M\j݉Ġ ~̶kמx@7U-AՅcdv蔴@ѭJj%׳7^۷UY<"ɺ< Q<f{v =lFNk-µ0֊.\`moF]InS5@n|V.`QkQg$6Lيڱ kl'aI8ݬk׳Sd64Hvok3gPȃ+7W!ZUXJuu2LqBz/xB "@AP_ QPՙ_8nT]Hqь e(2-LVGuc? ^)caksFTpb1~KӗHW]}hnJ3Q^-[Me*<8jz!pjv |$=mC /aH(n _+fWGI{Xyj9LZ8Vo42Ƥƕ!Fx\LhuWc5TnԺC)S piZQk~B 8Piȩ7@~/p}{z0ø-Ukk? U^٦m#/ /]0"F^dI7UIx"31na$n<$EX(jMqJpUv݇VI3 _ߡ Í~/u )_5 w=Oա1or)G>p熜ocf O  7ަ =8KX\Ң>+uyտѫcnWӁxW B,BQd/LLՍ107=km~qg}tTt~;?hUՙ I1ZgTzh-Ead.}G@5~W$++j!_}fhzWŶHRY8D${!Hڴ-du>2ܱϦˊnC:I26 xQ/F[/dA4> o=~p淵%svWI\ 7 Oz['E*jg :5C]].[OJ^!K)IYq*U#`M==Q ^1Z"kӲ].:`V!q H+pxvmX~V2,Ov$k(^N88`M2CUF&#䞮Zh÷]EY6|e_Mt`hykӖuzLAڛn lD4M=hپYNldbTX)yWoxx^%! z\mHo-It:CzpCL\_@E׵oZ7iXeǍ5"/lp7jMoxxr5ʄxah^#LWT`6 G詣9tXI [G ̶՝i@A[vc[m+_6dis` ]@:]vdj6$%cK3*N@ b6J-s#횤2 i`͑ ^\™̕!VUȱ%,'MP鍢 p F酠8SȊHZ_B+$ёz *m(7PE5e*Ɍڏ9JM\Qk]AOU&Qz[/J Lb2dD}lvM 1vˬ+(;4llƓ~/2WHkLM\Ü~jpo w"Ef73Tq'[*@n4dbЄWlTСk\Uq%m]yrt6&+ 9Psptlrö3j ;e%hhAUMP^qu1}} 3>#zkC])Õwa$D  ")\gbh`茣 k% .ّquB Gݛ ڞW"S?c2pQ+S~WW`>p,il l,Li{ٛ1߄ЩAZEdؘq}_/K V֘M ۗuog5a>O8=5j5A.r;wM ByT0roheDybPz5pF=ZG%+VV\2+BSTpzq>6ίii8@f $8-]ppi9r\&|Dd So-!"8r#'r:'wvGZT8KSwqO<])IeH[J~,32 Tk&=ḏБ>d'V^w!8ރ$ **f:FSW&D\1{H*&;RA3V^@ ';c8*Rn01vQJWn2vJ Fڥ3e _>=+wnP2XqbHt}0u|^$M$̰׳1Ljej7=c oP|FOEx+,V~0ZJW523Dm]Jl`̈? I\2 ]H01KK(vv O1-|\d4/y, \F,I\T(_1 ,r̮w$B0^[a CfeTЅg[PF*D:qA^+E IO?;̾^Xy|u% X.H}nQt(#(H)P"e[Fm(-eӔM7"@Fm"f`SVFĜbCU֕1#B{&2bPBsdRJ޾8 vaP╾x'#RF,JFwS٧qsI/_T~/?haGOe1]|,?]T2>eEI;Gv:O{!!=yɻV6+T)<"pX"{($=)aY~J|8[)H(9Sp>}-ΧD@ J!6%\ݖUSa#OڞTھȿQp:,DGhPs^foEp> 6S1y[n馃;V\&vJ?Evq'bY"pb{~_$)>ҏ-:Ŵ,<|<o<7nީ1m0O;7w㜕(|HճuǠW'Vx⭂?^mL#G϶ZRg&x|GUdt3$X<X/l'I/xqBdG 2lb<D#k!!bZgO'ǝá,eF|iOspJͩ[N CƂ FG\~R}'%I}JxӔk"qo?7J4$+ƆYEF֦,vL0XGZfIVmg9{|P2ιqF+#=o)NdhߕNǦi8ۦ)e)'>FSD&q{-?lRxm't !{Y?+$9P$HS )Z5B>*S{m[f?O8y[jF'sj0]6[ݟĜM-$Gm+N5ص9^6<CM9!E|{? ɟt5VPوvjd1=> y?-YsIMRq/Ǔd)1D '̒c:M.WM)"gYN€%v2Y蔳dƧY A>RK jŒBs,DiCjbebPCЉ8yTˎ_ ϢdimҀm_g`S(M6&'"ΔEK0㣶I\;?Һc0Mx#-O1mM4)E,aGq͔V-xI g 5.H9krJG1E,F6FEiُS^HBH?NYTKBZy*f7Bgac.-:xE?!(I<9%jnjg])U{RO1lȢz|Ɋ4af`jzօt%b-O-c2Mffg&hF!;֒eOٓ%}юi1ZJ{hZu1iTNF) vVC_(ˊ=bĔ>H>%4?mJ])eA;cEgU'b*#BH}|GRLcu$cSD,mtԾpҎy6?n"5gHu KtWr1{CAzw-\q^l8+NS;{3չ1hOYNq\sA %HjY7j*c, {t7bN`|]U;ՖCP^麣) 4>7v^A\5WW4Xؚn赋?zS xl>Ƚ!{Nָ`.B!#Jd 01j&\ ;ǃL0_Ϝc3 icopHZR9~E.Mg\ZMQV٪aV)OM|EXymλ]ZUeU,#CPpGƫJ)R?Nb}*3*W90o(ꞱzGP^0~ćLy.N' NWHpS=G;_^uPr<wοO^U)>᳍Kn9Ǝ7A3-ޝR~> OK™@#.-վs]V՗C%KJbH¢Lkܨpz]?c2/d ڎiYo/tUł~imM [%':iRHKwp'PنBЂ_to}:TORXm:~q.NJd'俅s/lp}ӁyxY]T!e(qDsE?bOQkm@&JfcEI2Nү2Ӵu*cƄ朕 J~BHxnF[a16xbCey WA5W 6cӗ=@> .>y6bdX]̦ۚ:MxZ/%έ{NiA V=;<#ZҸ4ag&fi둞|cWV̡.3+Á,?!3*'u"f;ez8|ljOfy?oׯUlS[e|JvzOoh4dKcEHC}~Vo@Y~՗7|l& bӔ&}J['E~<}V8KsCQO$?@j`FP}6r6xdlSz8sp/OjMC֞2h|bWG W]iW|qۤ )fpČwRA-vL+>xg&`82H[tG(hA:Xu'H&݆ZssՖ* NHu:rؒǑπ n3!ݤAQ79 ve$2;JNTY78=^1e=5@ݘ[]xV}`l!)¤=!;{3 rP%PBz]l0oOB\^NP"-yx!փoRn}lrQǮRZT55M+~oaz`ecSƝA LA Ň; w>b)X4/µ5̹(p+t6 &ٸPp_'_# |2hDߴ>vMPfL& M7pnTx}FuB*3DW1 V\KxuO nЫ@iҕ.'V^05*P:;<#0q%~ѱIb [F icFQ( 1#a$I'8Qf[\~ϱL[2^# S'}1::3s ~^Cl=( rl! ~ @A9+U$Jl缶kΫҠ񗦿VΜ|[tk6^'f*ki݂n[u "驥OX|PUhg0lB<ڠkʍU̥j_ KX][ @^KIBpU ; \ yFDKDrؒqeњJ@ܴ%Hp%qjcK1H(1`«kCWs;|S=iͮW bȸ1n[P}@j^'CZiFPf-#{h(Cؒ[smIUv< "/$Ggyڑx|3%NdFo2n / +x7*7ےkܱ׋/KfJ(w 7YGm|ĥW! .ըqUîꞯ=칖jw'A7%ww'M$iZ`xw"12C"k(}'PͻaUKPu:%m'PtZ8hI-" zUxEH.%kv8FٞxkZp-K(#uqz.pG.QWTM6hUDKX@`e*y⤧v,A=#/= /xnءAN7k.%3Z /%ڌ" # Ux|!l]](p} n\PP<Pl,3g2>C5Titu&է-BW'R\4cCq-3LK>$2Scpl]1|yHWXZ-'6Xfj8UW"ihLԸWxcS2^H*]IOо?tw3D—J&Q~*VZSVCp059 31qeW1Zx(ljX !FcT#\l}*ՍIV緭-yF-7eFԚ1QꘙAXyYRHK Zbƍ(0-M#~p"HBOm `7F-`ݴB*$+0T{'r*{ PaF \gDku0}wpwpk=2OmCixiȋKW6<xYM>CR+m |wɨIxZeSܠo]D!Dx.(C-w(p "km:hyp W+m":uϓvuhL"-[o9\J)ő!ܥ!p[S;~􍀷)/HO(-(Ϧ}$Jg^oDoۦyt5U u3w 1S|ue 2Mr۶kmU⨃6ߠO0Zcu&HRVfZKpQKߑ$2Pf| ŕ gHl1U|q%;w^,R#g6m{a C w鲢琡N ^ Y!l,@!<");[ds1m}{U |BqǓtGQYN鐢aWg~/֓-Wk?RJRVg}FjxOOTB첻r 8ڴ,G} Aa+bG"U|DkrCo4 4;a=;d߳L: Ǔ#).ʄW(`ӶPUQ0o992­k5cmcWQ֦Mp=_W=ZڴFdS'G?[|MSxio82,Vk g՛9!^;d|ɾtHo;W[R6tZ8WUg\1G[WM C*3h1ۦvN}m .Zxwvzd2ԬWyi w>`'u'reŒO&Ptp坺{:1D/I<+Q8H1FCH}q י>2:BZ KvAk|lq}Og{:6 S,ܖlѨ=~hC蕈O%x~ʔU*,Kq8ۂk41ino2S(p^fF 7!*tjxYf{=6f\ 5fScl}%A][ϔQt9wBIO*Tta$t^̶+;|@1-0560TbԾICeF-2p@)?3aŝb)swCg=vW骬(:d.T]fKE]C*E MEtr#I0tWa'G ѻ ;-vI+teιF2sW;zϯEw Yf ovcv:wMЬ]ShBP7L\E6CY46Q®)^ hzQ#0ŠLʣPm;cc;y܀O'E/zkpZ#/G(NKdWmGe6w_oWl x;}/;YT[| xH4Io+ǩݑ8V&9Rnbx\psJRV: xpq=,̠_<IO8 t䅏o8.IƷW;FG !F>&T3W&'j%RJzɎT Ɏ-T +f@{`,r>3vvL—OϊlԆ jRj;]LD@׺a2Dt 3lbf`EMص7S8޾D%c A0_ڤ{FX]Ȓ^7@ʭ{zCYEJsic\=S@)0[\LE͸)/st× 88+{~Q\Ws#فOac@#/ G2\/=xSb RaAHĝ%rJ싀>⎀9 n{/8;g;Lh|̹̅8Q[ߴ=3o>7>n+ϑ|6GOtm[k;_PY?|6W{n*p`  *ȴڥݍ 67]c!:Xg2|Pua˰@cZ*l°Pܐ, 6LBnuIb7pƆ`^ /5 y9AD۽fCh ۰;%62mpta[an3 ~ ÑU2s2&##`8^ݖ`0_|세]Z ]u@!Hsǻ%cJkX)֖b~7q%]Hx\"mL1Or-`0<7; C 5|cžS4p;|t&/pH00;6X1pMK#ͅ f0L>童$`#׮^ƩY0=5V HUX};S0;hi=1īOק {. k5]$݂œ2y v Wjp>%1) AKׇ)8K- |Ẁc0>$9I"E؂YY.2E#ta56 QN\ЅJ|QCSoyVޡ0_]tB$z@2µ[DT]2ʈ;J+bJ6d"&`/vYeĖ/A[+#JmK4eӍH(Q#"ؔ1'Pb!O>OYkyqiNӿkHH#/"h^hs}49o ֣"IGJp( DҲ<N閨J?4JĔ;O_p>Q;PdR7Md (oeù@ظvH'</o"4vE7#ܴ[jb2;8f=:TL޳$et<8IҏCQeGI8g9^I|Jr~1- 4ϸu |waA}L"]8ge% <3_o=Rls>r1 U0c+;xW=Hﳭ gwQ  (s8C1Q i$?,ὅ"@ZqHs, qgDop(CgErړmFsSDö`~߸6>B&> AD -;BR߀}-k4e3iEM2,Ɋazf8)ie1 Y+i;m[|Y_i>Tzsn2|`H[ #!wxıiζi~vYJGє&{^)b`}#kCy^yJ<8 jxj0 Rǔ-$ {xVT$^ُۖ=)N+8V0Z \Ej4 jF.V'1nx -Qd S v'a PsFbNHޏu"Cgz<] cğ`6ݹ'mLOq^lycoOK\RcFh< 2faJ j N USʮY֡*',+0`Lc&:l32Yo)FC-_z0 QбXbt#N޳<ղ#Ww(YZ4?hۗY~<}ؔ.Aɉ&)Ļ3e m4׎鏴 ~ӆ/HSvLEMdKcQFm3U ^¢8YB+D jΚb2nfQ"K`jCd,iptc`ҏC5~S,ՒbtwʸYM&|뇐?YdtK#3^Qѩ2E! ,K;>/{qo Ǐb{M0Y#Rc]#\^qD 4r>%WW!1E==ibLun ZSgx7w@ R+CnVeڢX?˂ 9_ANx|8thC fͤ WW >zޔ>7roȞ65.ˀnȈ=Y&|8<*# x̾弚I/t5 34Lm3،abkuwwcxSճ:jX xS>b1_%V^hnlvtD/ .H|Pd9&Q*>FRԏ]= aA7Y~b=ZO8OBp&HeK4Ok\a_u1IJ-YrxRG0W/<}/k8$B+$-M+t؆Yz'#2/s(~pi,˷rwȌ `e|. fݤȷY!] 1Y:xh`3wF"~dvWR,?W?3KG5Z8ȴs8x#SHO8LO- #+OgSCY=3Lg٩<;w4?e?PKBh# PK5golang.org/x/sys@v0.26.0/unix/zerrors_linux_mipsle.go[:_AÎYƗ;\)XNp`2O(%𬧙G*J.P_jӲ,%//)>ez8|}5˓y~լbj<-S6{%GoxSHG; ^//5GK7lըxKgW_@|+ߊm;OSׯ#m[{-y>Ey>xߛOk^APArtXR:IߛouCAAoS 6i77n#d0[F7hcN'*:GNPWeߛO1Zq!^:՚1=;}epŮ0Ӯ6Io=US&=!-ǣ[>Vx{g|BLp3dU)*QЂju# NLP} - U(E(tRw%#fBInrBHdv$<+0n)N!np`{#;@c!z@k?1302)C?b+RI{BvLgS8Jdb`ߞE {m"ѡDX{s[C ̥,&6a>8q]WkkWbq1Prp/C;'ރw*|Ri6^k[ksQDoWl0L&q?h0 qJgo>IXHdop&(3H&}܊ 8H7*E\A{ `s[KkG}Jv[__t8k𥍣[E6N:; *=:6IOx ɘ6mǃaH0tƘq-UFxXۭUAtSHO9d]?/!P lm9]΃\ W*x%s^[5IKIUiPK_+hN-J:5Hyo/Is} JHnA }Kh}\R ',q>Rm+*L6@! [mPy5ƪyRү|Ff{%宭U bJ*Z}aoa\<[%"s9TfflI2hK?hnmo8ޒ8`Á%C$rOzpgյLwBUTL)ޞfWǀWZO1d\f(>H= +OOҪ̨[Fq-QƇ%Nª=ϽN 7| eE^v$>LћL)1񋇂J"^ Ͷ w"K?'Ὑ' ] |VCx6qxUK5juUk~{ڣIGMI01݉dFIĥ>ޝH 7dMצ#=2o k[ =?;)i;[AK:gooѫx^/E)A]3x@$Cg#lOp$1 h.>po[^ v̈xmwu1e W bƨk͒BZ.P5nGi`mzUw~rp$HOEn=ȴf z4䙃_z\_6Ok(pr#dئ&zkM )$BCw"wfuN6[X8-Ujk.= Q^٦m#/ /]<F^dISXIx"31n\$m<$W(jMqJpUv݇VI3 _ߡ Í~/u)\`𶵉 wNա1or(G>pvoσ` O  7ަ =8\LXҢ>+uyտѫcn2z2zwxpbnb x!fbn!7X][ncs7=C1/w Ѫ3Ab2ϨZ\$2kph- HV W<>0e[􈁯4p@/a,HBd}MϮ=9i [ɰ$|dcM|C'XF/FVx덬6f@~$4]%p)'w<oLwū%Ԙ)vuqF8Bl=)"zC`.$euƩWya60%.v!ǀkMB~o.vh(ZA.7F#9@ѳcI=[Tpvem}5Ӂ彮M[nD11~r[#jo'x4f&9!Ra ~lx_YxI&˗W@&虾s Bl"A x 1qo| _׾ifI`9FԌ5: j4N{~o.yz0q_FRې&4J.`Сc%1xo=Em*3 TwFm$#l|ِAXw*+ti[tK4ipp-dN:&ݖ(Lzōkʼc*Dm5Gn+7d'xs g2WZN6W#"ǂP4A7^08Y+N"+"i} DGgw.pwGh@QԔ"&3zk?(5rG-:u=kJWDE{k+AӃ+J2ːyG43ƈFf|\d ղuOȜ\k o15)~us u51QݨPuDn90`l=BޱQcCsUuƕsuЛ0;C ComΨm7ԗٖ[wwoW7I&Czŝטp#q[q"[*hdBm u)NF W^Crijc4d8p#3*0dGz tߟg;ck=Em|l6voj0k{^N9\GoK ]~aɲ->x&C0exnfonP~Bj)eWcc}q/)XYc65&7n_uU{LEs+BՉ`j,@]_v:KKl3زSCnCu*kK[lYIA;T6n" ^#a 8#+PmNV%.2y7d6nc'*)qCBi6JTX[_3dBP}TD+7Cw5FJzk}qdаCaԸBZo*kT=qLZ/C;~}kYx|efh|Ϊ1sͺ5&t Qya^d=Ec!B Ϗj1<"(#XYqdh⎀9 n{/87>n+ϑ|5otm[kC_PY?|6W{n*p`  *ȴڥݍ 67]c!:Xg2|Pua˰@cZ*l°PҐ, 6LBnuIb7pƆ`^ /5 y9AD۽fCh ۰;%62mpta[an3 ~ ÑU2s2&##{`8^ٖ`0_|세]Z ]u@!Hs׻%cJkP)֖b~7p%]Hx\"mL1Or-`0<7; C 5|cžS4p;|t&/oH00;6X1pMK#ͅ f0L>童'$`#׮^ƩY0=5V HUX};S0;hi=1īOק {. k5]$݂œ2y v Wjp>%1) AKׇ)8K- |Ẁc0>$9I"E؂YY.2E#ta56 QN\ЅJ|QCSoyVޡ0_]tB$z@2µ[DT]2ʈ;J+bJ6d"&`/vYeĖ/A[+#JmK4eӍH(Q#"ؔ1'Pb!O>OYkyqiNӿkHH#/"h^hs}49o ֣"IGJp( DҲ<N閨J?4JĔ;O_p>Q;PdR7Md (oeù@ظvH'</o"4vE7#ܴ[jb2;8f=:TL޳$et<8IҏCQeGI8g9^I|Jr~1- 4ϸu |waA}L"]8ge% <3_o=Rls>r1 U0c+;xW=Hﳭ gwQ  (s8C1Q i$?,ὅ"@ZqHs, qgDop(CgErړmFsSDö`~߸6>B&> AD -;BR߀}-k4e3iEM2,Ɋazf8)ie1 Y+i;m[|Y__i>Tzsn2|`H[ #!wxıiζi~vYJGє&{^)b`}#kCy^yJ<8 jxj0 Rǔ-$ {xVT$^ُۖ=)N+8V0Z \Ej4 jF.V'1nx -Qd S v'a PsFbNHޏu"Cgz<] cğ`6ݹ'mLOq^lycoOK\RcFh< 2faJ j N USʮY֡*',+0`Lc&:l32Yo)FC-_z0 QбXbt#N޳<ղ#WG(YZ4?hܗY~<}ؔ.Aɉ&)Ļ3e m4׎鏴 ~ӆ/HSvLEMdKcQFm3U ^¢8YB+Dw jΚb2nfQ"K`jCd,iptc`ҏC5~S,ՒbtwʸYM&|뇐?YdtK#3^Qѩ2E! ,K;>/{qo Ǐb{M0Y#Rc]#\^qD 4r>%WW!1E==ibLun ZSgx7w@ R+CnVeڢX?˂ 9_ANx|8thC fͤ WW >zޔ>7roȞ65.ˀnȈ=Y&|8<*# x̾弚I/t5 34Lm3،abkuwwcxSճ:jX xS>b1_%V^hnlvtD/ .H|Pd9&Q*>FRԏ]= aA7Y~b=ZO8OBp&HeK4Ok\a_u1IJ-YrxRG0W/<}/k8$B+$-M+t؆Yz'#2/s(~pi,˷rwȌ `e|. fݤȷY!] 1Y:xh`3wF"~dvWR,?W?3KG5Z8ȴs8x#SHO8LO- #+OgSCY=3Lg٩<;w4?e?PKx #PK2golang.org/x/sys@v0.26.0/unix/zerrors_linux_ppc.go[_AĬ`Lcຬ'.O/}P*% w#LR_T_ot>?ÿhϗ˴}u~bkC~J/F[.oaG9ϵȱ 6 4?H4g&__x̴m;\ҳ[}Vl¾~ոϟʊ[n{-׮ݯv{~,N9KO6[C4cMe h: F 6HwGӣvkҹGǔ]lԱC{^[=MgGݚH ׇ[)hpWq$nMFC)~5-ϝl& |5w1LqSM3! nl[T2ˉ'V3/,%>UfY ]E"n>w?Ο2 ݿ[^G7uw Qn!A()AkfE\av]r X(= 莘m[1B8'ؽ?(qyg9&1 Nc `,}@$N$An06TaȠ}=T-΋$TN[[>Fwt@ӌv6]D0*CѨC 㾊+{EA3١䰙RRfo$' IHǶNYa )('VqRp !EP]CMJ 8r~SD`(χ̟3l/p^[x"/ŝ* Vd-ĆGA2M5C y;^95ՓɫWs'y\T5$38qCCگYosly tcC{ʘTn5#zxM$ d_}yLq῰"ǗU'l,#Y?B*vY8d.*thnH"b2 ik>w59f$je;!iA0qxF vh2nn 1$ջ\"xĐil9Cq=37:{|3J{E LZ$ә9`*2T@l:qe +swߊ- yGM` \tZ\Y4$<50bwR -YN, -Nz@ƒ]#\Ç%e9|PDž9|T؉nըpnl,v+=[EŶ[Aޕ^3scoNQC:.̚t} xs22:9va!`eSژGRΏO$QlX &S7RlcH2u^`5G&Y!V#Oϒ1+Xk'ZYyl7.KaZISNLV"{YEM-ԀY uv& `ڴMG%ff+֘ҁwLK97"ו$;Y&N\ˎI< I6}9|w"7*CI&ϥ&ᬆgTzY 2~{x$5Uj] %8oƚ2v+ C7$ldfw%]j">d$rsG؁KfO>u=+q7& pb1| Ÿ {eW2xwPSgoTidWLi;U6m v).^kRkIB \"_h)]j#8 wo+e^w[vʷ7`H_+c&E9|w;f9VcuQf:Prx -jQ̭X]s*PzP^I-oCeWb,җfI.-_fN$ 7v+d[1aY,P1;ݢY9OQ| 1^ЪY(yP2kW(nU\ Kcu{'ӜYaTxW+i 3#œb&N˘~eMOd™c{.kD6\a+ ~-pqM $n(\Ktlر`]_fl),9_SsХx|G7Q%#k!$1Sr!$rd"ta^(cl YBNnj`Ã0}{^Ah8qiL' 1JН(H;3 g+3$F5X^!)OȖ\}-g+`s` OQup5YN?L h/+k*!G xt]jnz94u4XX1HKUEz6v S U+FpD ˣㄖ'9s|7T#C~,}Ñh &/вIgwRY4JRNҰk#l1.`\k>cmЊc;RU5 ]nY ;Byl(RF :JpPze.lJP:ɒ HD lBzMId?5>Y 4ϲncY`CbHJCIqgťHOrٕIQ#cML1fBcut*xG;2rוL?qmx~_Rs\0X Dcs՟Kgtӆp2t6Ř@E܀СrE;~l6>I^*EW t?;.(];ti'/`C)M;4d98鿜(%(0kk~}QRNk~'`Lo~'";^ &ds'pS7́I"dĎ-xWw%^ {&&7oH7d:.oG7YoHg2Q oTpKxm[HHUGOnP7w)gO'% G &Y/$L]Lկ#L@Tԕd}pE+Mܕ1Ez`(9;!>&g?& dw )z"M<+4` $3`_QߐE\/qRq8$[G9bNʾàDŗ9úĖB }v/!XZb80h翱Hp"8tWN=:mQ1w`.>ԣ%aB4X 6Tg%7Nc oQ l`'68TV?ahJ@@ Ov? ی Tpa0=r"S,ޱB}1 NdL-$;'v#],D'R }vE 5K4nR`]MR{%J|`\L:eH7N9*Y/P ܦ$d3h)taTP/M?`z7M;f;fmҙ;180lHb{e'Y&T[ŧ˟/% PE jiN.Kv6=s܁'k ?ҥMzfe̱e$~i3mN(J(f+L%}abKIG'ķ<0D1Iδy8<1VxA(3M.>X\yNziH?\Ç f3/BeUK'1pJ _1 [x,wy]83 \d0\q{ '_}K~TP7DY^^7 ޫK4qzKI/Y/t(S$֓zbKi6.T ȱrimbޱuM?6- Kԍ†kPl,3[̶|ʫSAOvG, }5 +a3[Rl[aNMk.tK:-X@ *gs(5F8ᾓ*t-O02aƁ\ҝFjv \MaOt/|FӔb>[ \:/n -b[CĞG!x*bQIreƤ婠4ނ0AuHyH) ȱ''~Ć$= 6d2T4C%| .p-P-(?v)viΤ0b HSX%PЅMUW@t!r W.X@ Ft]O{㇥~I%JAOhM-N,~WS[n`lF}ΰibAș "di{* ӥo%@7H؉2[oirvHR9vM(D@›JD]㉈%0EĆ2`?SDxd䔈Ǚ P0.2[J$q"a"1"XJ>%\vכDZ1Q)h!lE<> v2^+w"b D~H}4|;_N:\ߵ0i{/[?W/''tŧhc~J/vO%|?ڭuPhkmw\+NfwʳKqM.~&!\?;\z%H(2zZ\/ځ"}BMcrfs*3qMO߮=/E7 /MWi֚jbMgYjbxa~p)_G&Q7a-')?SkXn[nOB,pbK[ eNLPL;i|eufAGL&#"}yݝJQ2~%`呲gq^Z3v k2uh$H3 QƳe.Zzp#; 'cޟC hVDY0 pBr+m>=O#eOspJL[.  #=}cRp|ġL|LEZwĤ%[y3`ӸO77Պ7K KY"]pkk}*;.]p4r]Ki[mS>W蔟Sz`Wgm$ot%Q6lti#JC޳DYI ]WzԾ{?sR/tqcE9</& G?3.}bQ|N`L2v|d)vpmw9 nqH|o}N1)GKKDq 9 ^2 v  &T\kG~=%ޘ=Lbv]hAp=13j]ԺOMg.ӳE&7A5 Q*J^s <=X5-j.1#2?÷jpr{N/'mq|I 1-ipJrS`}rS+޺~ 8f忎b{m\ί8&e}:foCΠ_q.ov/?&>$|=w2Z!yΗt/X7ښKz R00Z!D|K9?1{`1 ȾZqBerLl]Ҽzj5O`bQ/F՘O^iqTw>!+5JמQlQz<G]Hh1[7הڦd)zm՟c=kL.YxG gZϻoV +UNd Mydz? 3#z8i->Gy<9cѲpLS!"+ԵkYz=Oũ|dϖ s$rbkCm~fqAa4ÙxRc;}D8܇G!*=b2Mk4{֮eSO!1}L56 ;.6jgQ|Ɩ1 Aߊ& w}=v*4 c!U}sx*qnTw@nO38X)|Iy6ezR.B~ֲ}v,|ġP~q|LF-3@ǷXtn|b7btJ}kOv C`|Z\RH*XOlٻ]ߵmq=)/@N@WEAw{؝y,W:Gjߢyʠ;>MaI^[xt秺ÓPΟ 8)ZTmtK<7<'mSmTvq-ş"c^yʳG~Im_cq>֤B[f:ՠ{G'-ދoH <^̿*n p6>}}؝?Й#UCqzH\?;oOQ ;#J X=%bS~rJQ>% V k&KGV]gt`lE 8OܱRgDYZj~- \;Qgh49ApAM{;ȎLdEEWOOZ/2Lg5NN{y· ^l?SzUB6vd;\˟G >_h󟴳`8)m$_qx0) =b$v2z.UA!%L~ܤeϻh}zjHJFǝ!85:n L.FB6򺃎:c8%3lIۦtPKLi$SPK4golang.org/x/sys@v0.26.0/unix/zerrors_linux_ppc64.go[⸲W8aǞ561)cylS9q0`MabJlJyZJeR]_o8_>_?g3]wt/p/_ k5ֿooqkdG%ύs 1%FHRÛv˗oqo7o/b.]!h菱ע>eܸSq..pnig5LP76̿^G1*C hznM:Qkڍ:v(xOvkҽ m&=s acg֤euM6I[QҊnMG'! udO?^*n L'z|p 𩟸N<@b%:|,H&KEGEϔNCWqۀϽt' gO?=[^G7uQ7q){*##mpŮvט]YWcr^}{[S'Iz|ȉs5#DxzWwVYH3,f %fU>xEPU"YrPvz/z $2&k= <|辅h mFaTzNQ@&}Wfa3e:;'SMHν4p^UH[Z1ݑlDn@BQa{dp.sdvk,"E;|⮼ЙɋU~+g.qwdO=S+/t׈4f\O-ߧ9w_E7SωO(c3e֌h7{% G# U< 䨣iO뗜^m=0H) Kݷz9z47γdG=4>y7mitC,#W΅NH*Y{/Dl/&R?~ζ[>CWOUBG/M`B)r):X-?r5햿tM"/-@:Bm$u*mNҺ`S*_d)DpꅯϱJ}iRJR7-S$:E1yNU %4;)J/|R{!5U I%^쿍`DeT)CQ'2} 1% V2PQT˪eu{ vp,T옷]UDqm|gr }qE5.vL{K $<1|CgOB,?ZL[ss3b:ׯ(1mjȬ Q-gNn2'}2i/}!([t:oA(1noiΦ_2)y߂wTߌ$ yh d"LdKΣi=x2QĈЋWKxKF4lNNXӯ}%"-Yݲ^#K xd ^ܘd'We4K89#A@TqYՁjMcr]cV=Nb$sOʸ$ _3O{tߔT88>pDr齲s]D;(7YʷA*ܶJ\YWܟf۴hWw5+יRA'G2r~/Lt~2,yi1vx⸩e~kCp%(6H/j1&ݮtׇ*SdἸR *f3v9<2K i2bE W[QLUωxt0WDi^r[k8)3KZ8dQJ_x 3Sk\`tO5މu[5ވY3t)FNa9f+8骘Vkvy"Z܂[=2bkA%5fn5M5!F-kNlnŁӕXĈ@.$mG0)/a"/|ԙN0I$㢨1O4"{ <'QuHcklLqwnJ׺2teۭ8uW_ U;n!,VfՎ=0a+/37>`A%r`[W130͜~GT^p vJqOp`µ^j_j Pi^zUM^8X<]O~1.3×wZ;,nz VnGG8 xOwZ,ѪCAf݇Lz.EI,"_8CW*} =֯ec\79r[>3];\,?ԟt6A:l; OWONېj}"y,$r:UdƞJmG$$rVzQ; ' ©ܻ`-/"qrߟmvrNp仒>m 3?Yg&l7|L0c`L$ ϸdJGBɘPn9[/CUDM9d90D܆ y.37;X h9pJWRsÖ1D% :ոdbЉ d~y j2~8W/l[rtH׏qtٝ&asFe9.L2;z۳]KD`mU@BVL0#fiBV$nSk%<7%h54ycCq0nбW,#:-A}g,(f^J* uIJ\BzͲI>5}?iZ ȳFPkPcO@y)߁$P\t}sSyʱJ9:~cEf:1$u,/L}t@_ŗ Ƹ P{;c-=,pcƘ8: w:t]s>e|U%ǎ$*]K=8t`U.2եyN~d}acO/&bnڭԙ_ef4Կ0ԙ]@]HW:٤K6-{`t ;MG&j;Mt咨 g=M7dr\o8~UG7YoȬgsQoTp i6ۭolnwon>q]ѓCD%w(ćO\|ΧޓRiU&z6] J9並6y+ "-G2*n lw1pxU}HeH6 8= ׿|T7y7Kj.qbU'90(QK%d{M(~)KK v7)RYTbéǦ-6 EGz,RvTys]ecSEW*?+wJP=fT}kl-=Fge*PPUR%(?6\*PKtdH4/M$1aaz{%EK[!)ѽbJ%L${i w#],TfRb }e K4iR`]MR{%Jz\L:deH7N9&,P ݦttsٰR~G)az_Jvn-=w8=&w%iXHR9eS]m6 i`A9W6qjumī?ݶ-8Æ%_l،^):)ݠCm#FAb>Й8eJ|:X͖UX/nSϙ 5 9%v4cF>b=”SsͰ?D4@T39 c?#`<Y> `YHS`k<aF2_F1gʈ5ϱI8 R)ar &EUeRkLj4IU2l$R#=N3bUzo |JBd%БLڭcynmˆy?O)?g}q48o?ֿ: =f(v7] ' s/Fؔ4xo͠]`dH¸]O+C xs~elx@ğS6;ǫqq(_8x.E+oY&tFuev>OWNY&?o𗜙Irw8s)v/ɍkv*ye܎ُlg8qádxJXu˅:| T͂V5NG;79m.Eg&䕂Gʞo8{h̘\y"Gvo͹\~G;#"x6S?fq'/" Dxd!g~Q[ves1G }|<wFʚNsq:zA[98%}I'-+  #;Rp|$M|ʨՀZw$%kv0.y3b2KXgߋJ4KKY"]pok}.G?.]pŔ`9~Jj;c[e#>X_nsvW؎gm$ol %Q|tY#JC>pTx?`)StioKpU@vbd઀G~P3\~~#9*o}f S6-s7ފ\i;ec~0u~8~}t6:˯۹8N} ߲Ci6{8! W] xUє>k)Az6߸=Lbn]7XAp;cg1 Ժԩu8SOf_Ժ\^Xdh/s_'G(cw+gxaN'Xlyc}MELX8y9ްdt_)=6HXN +VfgN`o5{>.`u~ۃ0XCr~׷zЉlm̍+[n .!nO;g3tfƦ( '-|2q|دK>aS:ywi{4h97z;etU= +T?ۜm9FװǼgk,ƚkv R00ZJ !D|K%?s{`1 |ϯF;w|hIJuy?gx#<)FUc>}e,sAĆ+_{BGݲrG3TTAw!^R YB/]a.{kMslw1crQ&x" EG-88" r=b R5٤N Gm1 1;+_} x>܅Qt:_n; O388|iy-;na7g \йblyvkY|FB Xn1Kb{}ğ?޷S~z~X?o{oO1 ;J X=a_<β}F:BM1`MַKd? jq&SΈܵs~[&Eivb0,ixsX^oʂd<wJ*w%-4=쐝ߌ͡mnj<7Zvs>5};`G_JݎMqo/WV'oph4IE DۦD\t:ݮ\Jdd'@D.cX_8nUtt/n"h qؿw2K×*h>;5z#MNNb?SK഑?m񳾼cEstI Eg~6vp;s<-~ PK d$PK6golang.org/x/sys@v0.26.0/unix/zerrors_linux_ppc64le.go[⸲W8aǞ561)cylS9q0`MabJlJyZJeR]_o8_>_?g3]wtCenۼsvͷq-;nl]۸{t}~~6IjxS?nm(0ka~b?d6rhO{57n_TƧ˯&;>@nM,3T /k@Ap JA␂;[=:fv ݚtizC{$nۭ}Ĝ}sؙn5ih6}@M{dԱ"[ yHf35HluϹaۦ9:2|'O58*3?x> RQ3efU{o*6s/c™!&OO֥M}C)j 9DDʞH4\kv]5fq՘'#~I}:8r;b<\o9c՝p8L8:HɲYv^@9nQ04TaH};qTދLZ+FE;o!iF;v.wh!I_Ǖ䠙0rLvNɔDҦs/ WҲj OR'8UiVM@T1 g`cPcg#b\*!gͦ+7 ދ!O I8 +Tx^w9:ff2Z!"AZ%b! lfw;F,P_Tc'˟axݚHA&++/t&zb?}CJ|KST 538qCG$WQMostC{G5Ln5zM^)G6ȑg}HcO+9hړ&%o[r* A)R.GC-RFj)M3٨mnODDͦiCD".P:ũ2եs!DnK50>ObKP\=F֣vO\bMp/@K PEPIJeۭ.YJ3zsD_M˔mɺNyLbpqBɇ%NҋnGa`c`UBC{?)o#h8r;q$uԉ >d_CuL pc/TUl.c]$9@#;-<@s:4q\{ę'H_s\@4pB&'v Pco%ˏ/'󌾵NbF=-oL2+qBTSɽv u xp-Jme"["x[ZW- a}+fJ޷`7#,Ha|0YhZhx &kaf519R"^UN,& ?=Nz@C#\Ç%U|Pǥ|Tċ߫QU"l,vbb-Fw׍F7!KQyfJ9EL <0*mʉ"/T1/ΏO($Ql9 6S?l_`IH r%is,Dm>ƺfR'{4٪a©8<7"YI2~U-GY7MR-NHժo\'au 9iS>\UϾE4^63ꦭLAdڴFc%f g+ SҘɻe;6ͥp7$ޱ%?NbkÎMwLI؟,S/AW?^DaxYj 2 HKkԺ:3?H}).L݊'+\ (9>ܓ>!2. CES7%'N-3#a*\8Az\eJ|Mm Wh֕)-36-] Jkv>?uTzI# \*_x)]jc 25Ko+e^ẃ398n꫷6`_c+c&q"D ˱CI+!ʔ#Y8/lTí UnZuA;%FE,ϑۮG̈Fݐ!%!Č]e̒BZ*̼XnVt8s1F1Q;}8#{ccV"`.r1^@y DZW0hbo.G%;AMw"@u@M7"tV~86?d=dqE[eqD֙I4[ '(g:B3.ґP2f+[Vu@Sup5YN?L /+g*!@B};ւf:0ƕ tܰe*zqL;a?tɂN5n$Xu0t"u_=/rŁ6 1ۖ#w]v'dI|YEK; ޢly%0QXA2sw1Ǹ5!? |HcYU$Zv F0OM &w :,EPet<&Hy.lKP: HDcWЅ^lO onFbi򬺑7d6/4TP^w rD>b9&q2T)Ƽ@rc_X/.c?}]9 S߅7Ae:/}&1;+4vN64XzKO# $6@1fr),6NjBj\3i#yD1_t@Iǡi2ʵCx{.=4!tˢLui^ӮY_ؘӋDv+u&|M . u&wf!w*ҽvŃN6;RM4y}f`񑺉p]$*xDϦ$u Y׼(oM2oT>,Bo>v+ݛO\WzQ W{憡EheTmmUMWl9cvBHoф 8ć=] 4^Di{pwo-Ҵ̓B?_@OrFoM^C" xC4Ihž+58 JT~R@;{ ^J&JÁG;@~T~pitˠm`\צoYDѕJ靬TTU?ah+@@ Ov? W KS80wLX^9uI+ҖaxJt/vI8ID^݀HD DY&iB}٢BMXWh^Ro980YRA郆yI6K6T-s>݁8Eo(E6Qn*ER]pj &w?N6O܋B}>e1/⽲NR,Qun-ث}ӃΗ"]ed2d]~empvr 'اH6y3I;vJ\uBqPfq_JqFӎNGDab@"xSMӜı/7M5*/@ fqfwOvZ)[pQz7!U`oK<KCMsmrfQBeuK'xʼn//|q>G|[z!K<0j=ODe4&s׌&ć"Moڭ_yp] >^q; Fܛ(^-q{gv)f)J雓p9\J;+P-K| ;4Gά /858#2qi+AM_t 3DcƴwfQr x"!ÇT@Ӱ3"B֓c 'h:b8W35a8zSE6Dnn=i Hi0r-FnCgMzR?~d)CQ%9zz+zJ'+zb,XGX%Hz={jOw /f x}YiGcۭgOߪۋz)3ѝ"i *+ë6{5|&_ \%;;!yr@uTW=fۀB"DX{U-mM>b]1D-bd2b}=!b6#b`kNzAyuJb7Pnu6|ϰ0t&$NY8{evVK0sBM BĪCN2%) X0%e3%:k>$*L-H026ާ$?A`daynw4cX(ÖH?zKlXU*'6/@? ϕI 06H == RͱDLC -bs} tgI rQCDE2+np~P6,1/4JHt3Je艹A6dlI>bB aB=nd%?bZiM2{I mK=mI|e %uk|1,6=jb1I?5% Òree ƥ婤,H I:΂TJIFtxU1"MR HeDd Xse߬Y tO i(i^C$fp$#F@5[l 16ϟzmƿڭͨv똽z[jeE^Squ_cq5NmOG%C)Eqm!7ݟ͵8bpI>\l˅6%0)?^v[53h0t~)n> 6߀rv{.P3_ooj=EaW/K|c[VkzD3QfmEӕSI15gfuCKq;or㚿sv~c#h8C虅NdGp(657-q]/(xr=;Uc C}y۟KQ2y`呲gۅ^Z3/W*e=H[cs..Qat=$0Mԏs5q 2H~rQ1YÙx)?B\C',4O ǝ\{}h{NI_ s5¶F1a?_Ir2|w5  o@!KxŴ,RfzHZ8OK\1%0Xd_Fqo/:ۡ|qYyJ[~d_s0u~ø>GMKm~w捷W8$om%N)Gv.-ŃS`߯ƷP0$Nj98m?~(^`U4OZl=g3^7@hW7 VY.uj]ꁧ&Y.׳E&7A5 Q&s <;[X7+knS$=N^z7,%a?jp {M38bd芄48%Yr=fŸ:mv޻~8fl9 &Х_qmƆt-|scq8cBKGSNG+$MoT6W0q@]uK#:Nr0sgrM'tMkUـ[dJvoXm %?bV$%q'Jep+NtHN r7~ShcbRY`ȏp&bwceATR^In?o95@>zfr`TC'T5. KErn;ĊT64652[ZLpد/&>;q@3 )eI L\?k㒳yp4tؔ2>p^9]޵9>Z{v| (*EDNY(\k4 16iUOo 6>gk51'˸|+n嚝+C@3L.y:ĒvX>.*6Q829l]zj5O`bQ/F՘O_Yq\Pw:!&*5JמQlQv:G]Hh1H0xWo)ZS8۩?!{X2\ /vp 8/*\_߯TM6)9Ȃ,i[kgˆZ{yA1Yձ0ַ.?rf qa4zȏS?}T8܇G!*b:M ˷U$]H|&2b4|ui U;pG7vԕH(\!۟JA,^waWa<4S N@F+_Z|ˎ2p ;)!tnC۞[SF|Î.3VaiD79Ͼ|=gF+PS o%R.ُ360v"ZɧCT3b,w-\5ߖIlhqZ3 g&֠[~ eORdG%#]I l+;d7cs(6|Gj{M_N!D׾vqcSy`+˕::Z:MRѶi5+N+ Y~ 'Ѷx)}H7Z¤noA{̒??e N )csA?D1Sӹ8mq[/;6qѮ<]=fѩ]?Μ1va_?wPK4$PK6golang.org/x/sys@v0.26.0/unix/zerrors_linux_riscv64.goݓ:臍9ڍz p}7.oƃo(%I*3JWm=+8}9}h_N E|:'m}vǯ_twYgݯ_5;_gڷ9[k#|Ok-Y?NYr~EsXCv~ݭ5&_vWWt~˵u9O]ׯGhL2oy{LɷLg)MvO.ߺރiM{z^oLP}`(H%*Hq+{ zi3ߧIͺy A2I9: h"9s]ۙ<R,CG{$)ޜPwWO{&1dR7`(Nޣv{ Wi/C!4j#(v3u=4NC5)x3q6R%v|2^BMOҕx{5"dAczY_}. 5K4C u4s5Jy5"Np׿kYxqx(Ek5*|5"{}ev٪Ox8JxoO&MYJzox{SezGCv[(v 7'G^॥\{Ut\ƆjqCŸÆXxKg(zS(n P%6I-|Wex[t72=GF9pe1x(j rFJwu1eͭ7[zMnJUA%M;GGYI,!+C)c:fL 1CTJ~!~)jfNBвQҎu;'p% yoMHkcW턞;wո kn,97UsϹGz)bt;X8ā80H @#?xZg6 ;37ʭI7-q8)mc40EFe- R\T^0m*3ԛ/hth9o$æ/GGsÍa7/3\:$4*/H_ xp½lx"pośz^ƥ7{Wx7 *tͻf!V(Nl#/JB1"-/zZ.ygB*E CaF*Xc*=(+IN7R,P H 0x<\f%7Ek$)N]Kv٤,\Nti9A25 wZ C'V׊nv;p'Nι*I$GDpgJ*j29lۦ#ˌHp)\Çw}] x7 )1<9l?+}!,RT>\F(QGZEcr▖m Vθ!!ZD(aAD7 ;ŵ%t|@w{ fLp"rmbyd b˱yR.rȌnhx1]oYcF{ed, hoKˑېy@A]eǶOMDktj`F $Bq78s}c/ E7W_ , ل[SLz3R&ߖe*P[+>1, S^{nÍI&V١+LK0R^2h zVjFEGg!^ǮU f]A(lJ* q@ci $_Z ҴȺkӉ%`Kb8HJ†f Ѩk%ҫOdrTG)yPF::|s_*QD^nc׆/nPA/_1q#!;&9|-DGޑH1`[9:DEPʽ-xzx~ ޼^&Qz1ojd x;p=Cx'V:a`Q}FY%"Nocs/b[NlM_"[}7zfW(']l۪@g;fd|k*xa9E) G$;#*$3Wz`ƺ[L:{s]ܴ <60{>1Í97Q#%5{%N'.bFx '3F(t>eWst5">}.{庶}?0ue'|iݪ-m (DW뽒 &Mނͯf.M9+ngIȿ#%vg#`cRT e.2]ټPhc*gDg(.`胈^,&Bzݎ }ue; 5K4jS`UmR%Ѽs}FU}ȯ_4)]9;VN3+']QRtָcbkrtǂU1Y\lGw,X,^,h0EĶ8b#̅OyԴzo`#;!C/ПYSdŋPE,M7u986ZI_W4ԝ rBrB|$ W[| xH4d 7ߘHvX)T(=xT0Ks4-g>8N=|o)+W_U3)F%[|]z%nxP3IAP5~S1e̴&g"M b61p]7G%ssxOp .>89$nht;o~N[q/-YQU=sLT&5|Ồ%#-ljB/5 _PQ~ ?z\O)RW3M>U"M 7Kn-7&^sfa K:ca:n&J$mGbnMaH!Ä" 9h/Pd1bv*s,~[S2z/֚h)FC+E4Q,xVJ3u8.])Ţreð8Tb\XJFJ ׾Dمgni,bqax4D6~A!-6f>#ᎊnc M %Y`7PyZQ~ZJD zN=d0b HSX%P2uU% !DsIYlg ̨07b 9gS1i߆zln0(+|tbKJFJu TKLƈdgsdxn!F D* F0҅oBSYEBeF@M i?N9~;$;ajH"G@9 "JdA 2bM ᅊ)#Vx ޒQ"^,%zIFdR}C8d?*#bHE8k҃v? !0@J¹Lī`LLF1#ju$=G~%=kvV&!g\lߺuvJu;}B }ʏYA;g?ο B1Avf˴"Ky}G$"OӉ&!\? =ٚ%@b/|(2(_~lSP.Y#wFؤvg#<繶(8f~C6A_Ymb^@L J"x#zS1$MwX3 VdRvǼHv9$?펄{yfir Kv8#ӈ}vVY9 B\,w{vЎ#ӥp0Le4ٕY7:'{|,G";]v#ErWhdz6Yȷk>M4U落y?gfx"]>;ts9ejTʣ3 \av'b*mS'&QьN[N$chG&u貴]gvH?&:>!i~#OΚ#<>E~N_dWQ$jH26Mʀ+/*"?iGV\Kbv2ڑтRd11ЩjC2jC&l"z EdtY&?:JEiK³f|Ol_-{]Z#FFtxa ]"N"KX:sbsrm!`lYe:9XdŒͥIY I=dw[g^:d ! p:']Af&3̇3I[eA;e?j`p)ntm {iœ}~9J-7~9lSZ 6'o=WhM&(`ȏd~d"v0N#tf$,X#R[D"llٚQGt}+3,]\2bG|*L޼IIA<ј9~yݧ)mGhIFJjY-Y&GBn*^-{ىgoZy='#/J;etQ 6 [o:]s y\j 73!|+Jl$Wʲpǵ/B) |d&%: 3?ػHsƢk<ށ^ا v/"u! X K.0y -O~9e,) {v֪# hS[WO>Cxxa>0QYP9gw>)&*ޖ=!]5e{x+?@[@/c{k+4kJm=8ʞg[#diDn)v9q >pP&Tr:mʞ]o;{tQli#:y0v~vE^Eg\NE~u3)2-M.*/gMlb",FkfluA\г|Er8?~|{ܻ2'yeZK6$NIG]HEɊfָsW%5ؚ+_ol+9 o#?6[ cE~9g8 Pէ0EMS]N?eϰu*ʗa]mж?[-؎'-ea˳ 7o]^@7e8 ?e͆Vr7ciۆ1}+;6o'kx +']o/{m_%G6mBUQ V^lW蝎livC",)kq+5" |ȿWCӋ:! uʊNy cy m]ul/% =%GV㤽zwg혟N)}[i#_>/~kGR_$x2 =y=Mȝ=ѕޗ#UڠqzHاs_q&{ڈw֏(YP,e4*;"aj )iMXŰjdhu9ժK)]@-N)wy,w-\п-P'#iwti(AOٷ}v8 $OF)hiȡhcQg=$mq۹1б7l0%0s ַs ]ycӜ$xf1&.'x/ljPKqd3".PK4golang.org/x/sys@v0.26.0/unix/zerrors_linux_s390x.go۳L a|݂x;B,>uN0]eO~.VfYYYYYX_j,ӗӻ%//9=2qzOzɵ!|Ӳf\2=m[;ZV||i<"d9 cEs 9n[nѠ-?C_]c5Vh|{_ڏi8_1;rrvwǢC U$CuKv;Ӊ+RtL's~0)Pc:D tuccxM;nl[uc4(@ yt)CDYdtO7tM7&s8n?e(1ڸ JrR /Dhcw *k@e]STa^nEAANv E+qJB+jي(R7 M:qT1 :ucHb`Xܭ yDӪlc6E :}=QE(궈eR{[+5| dt0i&!䐐wؕj5+NZvS*||;z $Fu\ Zo5ezpKlyI &c&ݨ eD~3zx$eK@$CsѸ'm 9֯^dp smcnorz:8-E֋DcE9ƫ`;(pKgcDu\8Q,C[Yv;mX .zMPGr뫓~=:3qz^~BI ʯ:I\,&Svܥ)r7:*])W$ɃҚ5/p:{D޹11LpCGKHE YIRrѮ3;G[ Wc#Yja.=KlZ@c4N,y`2͗U-Q|I1EseTf-=\gOp$Gn#?af1Hne64]w*9.9l*í2wd2齑6 \J$}҇_DKfW~FP|M˔IWRWǣޯJ 氆xs@Qϓi̽m8 Yɏj2!x9_;,bP<{+S%Ϟ|$P9]_\pE-E`D*&I1"Dzl/qb-BW0n nU&2C>5o ^tT!;sA/ѵ;8vbd"\~83i8dD묞-nq bVm0Q9:e JVm/ h8u}' ڂ:Nj;s}ыa tfVp9f`Q`9g!bh цZ4^FWӥs3D,GlCU^scݚM:’_Ό( .QEQ "-vS +zн,@WqzB(ӀF9"SQʾC#⋯5`]Yb["|` }q/!>AܨĨKi(~ y`:ÓF٢[ק/v6]k'NqٟlP.VvkpOmtQ@@'V682qoAyӴmm514 wdHǨ*1h%Ei(Ǫߨt(&Z>G(.褎.^"'R~ EVjr4nS`]mR]%h!V>2_$o932s2w̜,fgN6ⶩ̬qDŽE  1Q\twLX4Ğ-}l N3>9mp꽁N=-MU !+YF >ζ3Y3ܕL1ܪ\wɩ|:D"QV7iMS `MND'2pR K&.>Ll{ߞF2nH?,f^ DqWTzE+2jႽ[|ý79 \ ]M^ghT:D+Fu\1(u;˩" a-j)(/(Wo9nn{F os۫KwcốM7bK^/}tӳٛ^ehƱ!k]|>ް{"J(nQ&݄,v"13aߣL{c:-7l] ^873 p#bS~:5ᔻtQ7sȕ"Q.vDi6S_M0[s/IWyFsrǗN-;>P! CS?΋C9 DtXò0Bp2>z&_F| Opk.5|p;W3nVzĚ1Ȱ=UMOQu3X>I}nb|+4NIꯉ_?hO|Aey(54$ֳzbOטi6Z y76ob}bk.6[sR,R7:`؟ S,}sQM.-F&$~lbFX/%lҮ#Ehض9rj }U'Rr,NpGonb$NrI?Y# Nj_F`=-я02/aƁ\u"O $kA`d~s!n`ޫO|̯9H?76R,BҰ{xO01yaziFN(VcSϝZ*՘ (V?`}-W4br-Ot e ! s#ox^AXv#oX`^hIx@7`t&IAQ=7Iؐb" 9׮ @t Yٱf̱jS؆`OM%m.icM>H(]S,Vϧ)|f`RS, wћ,n)WK"%ƤSAOI=BW!M [R^`FQ,ԧI\"ۘaP-g݂ Ұ곚i`7su [m7#MSsıJ Ut!B QYl j0@&kt͞\Oǐ{ǥ~q%JAOhM-ND$ P5aN`Ab =dJt[ImSYe"eF@Ζo]HAW!זʱ;.D ؏p.t# !h !*"LK$k%'D<ͼDHSMfR}K$Nd2LJ$?*"bHe4A}0"!2<'-mP/]DP21 D6vN#-5˵t˗w:9\>0vG䧌w QwSq+ڡ8kǼ؝ӿ ?N]VfWٹ(8,t" O"L,/s w /|2^ Ě?v(n6%oxYc1.=E7i_WiۢHMO05fX۹ό{]ϡ*f$kn>T\,DZ(r]t@Y pbs}-:Ųmc<|:aoÎyZ_ajXPȾ3s?.L+/'81 fNg*A$~FtLw) = Ǎs86!nLI$-, ! @H bN@C>NX(sFFODz8;]8h=$ɔ:a7ft0:BG;!ߞ5Z7~K)ϩ($MY`,"}pkk]v.}p`9\>r{/bmtw/5*e)3NBv<#y.baäOXٻ#bx~OUZ3MCSqotU@q<0U^M? c]wY'&QNLpοLiivQ`J^;\>y)p N} Y3߇,)W}=s#Dq)SN ^2 v  ,EVMgz>;S`@Ԯvj uL tbFF੩z6a2=}Dugt&?N|kW{ϢuH>A;z ss=dm;X6ygh~OO:)W͏ԴQAT``{/x|d"qP/g.kH4i C8 nF~KmVvw7$|8"ٸ8%hx|Ć ͫX9e.GП}&1rTdhdR\ɿ8w2eҸGZyfwZV5I>P)'_2C}haBsĻs~ObvwlT[ V镲<3:Njџ> < J㟻M]95^'I;F[:tNAt M.0"h>)/=he ȾgZ>BqL>AS;%yt3,Ԛ =JfM4|F:ϲ}$CԄ%l[t3O=xr<'-Ś@/ckk[!zL[֘\*&xz3. B7aJm@ہG&erY<<=mgWPi^[? MYFˊÁfP/DD>q3-s-K/(&{7\#w]%Y( m}n󒮽wz,FsNؓZ~v'8_4Ǟym\i-ݞRH;_uOB̷y~5N\Fuq %8pFCİ }/N8$- ceq9g @P5{m[m<}Bu)zGgWmq9pl $N'[7X{Yz}<- #o< ~Ho,-?l_dl{ms~hGA/HyBkW ƶnGVλÅvmP{>i?ZbǮ<_ݹ1(#cYlw{X` `8:aSl. 2q᮳aXf3m?C U$C Kv;ۙz.`>Fo>Z8c71 gnl[L2#ˉ'Vs/$!UfY-CE|"np?Ο2r3 8j&}#~J<5>BQhE7`x؊I24Rׇ v\ޮ8$ {ΘDhs$ݎ=E v;^IQ9,pt}.p%>Gn"; $*!Y[BtL2*+aEdV`0u#aR rb'zD0 •g 5A#ǷVĒg*J}OX[۫(r|&mRUQUլ[+O!-,R[c6_8Ԛd!&.5C5W{j|Q- oJ5oO$cH&.mt}x{"12:9v)Qfk+ _x&t-V e[M#jG(9s#Ũy8$`Ro#}`=D{¶\z.Thᐜ(ggS,mL5(z?D-w\Y!7=A˖ VҖD1'P6*rhզ!e53 $Y[&S%޼Γ'УBygl͞~"IV2׵$;]%N̢+LO<;ICPB|zI} u(y36t;am%e'&Sfdn?X1ç;[8+8R|_pxsY1 '{/`9\Z7ABf*|LWFFKZMe*,ܙj1u u“-6pq=(P|CqHV2ZD7گH'Bl]ExK>2:cN\yb 15 1*fb;XK[ :Ĩt]bL5=b nx$s+7W7 ޫp?,GLZ"#jMCvW*cV:f3f5=V4Kri2w"I ׸w;aK@DDk#Dlj#\fMP_sWCpXcfVb]q`L`cMP:5'tʃAj0"{-Z8h&($& C5As B4ByZz|@y 3 JjQp ʧ-DO[Hut[ا:vSV;ncMԱՎ&jG 3Վ&[+CH*:d2KkJ=lOz0*wL%>ݫf7G '䄓$*(I.P&<&J@yLrӐfӽjnsj3DDDDD Sm+3&cbvqSM-gWsj)N+T⳻sTP~u;.dmIT& X8WYlB`Q }HD̚?P8 n=$p nz9V(=}I:å+ƕ^ ooqϓi^yUQm^%8X4[/8e<3)W7Z,nzֶ' 8sӓ'U⨃6ɚP7Cfr9鏊يvS鱽ʼn ]A"e:5! Lie $`ݹ zn'vl;XkX$|mfi3Hpw~k5嵎k2:blVZT*OI8**XR p5=r5=5=5=5=5=5=;ȝ`H+[&X֠7nkP ֢5(qӆDslH8Z"! f4Ya`V-U@ujՁ_a~iErd XH 5wTm5./|us8(9?NrG}7 Q'%k@ANϚ,IdBf$oO1y^-vDᆭ|x*v#g;a%kC5t!Sן%yrmޜ[s/zmliP0m KsQ`l+VR(f\8#Z.\ů0=*{h/kk&"JQ0]A =m\58 5]wDJD5踝( g.]JC0~нz G -OD9yp?a {1!`JT$p|YMF]a,4Җβ=>u$~, [IQ[>HS\hdC+HEB+clMbFam ljMꀡ-0aRV֌l7#DVVTq&m1bƤ߰ڲ:adIn -&#w@LN7D#>=Xb%" (UʧG^9v8=NviNc%H:SlW&?A ]jm1t'ʻxaG<.yݘ÷+6 31\+g vwD'2ph s ŧ |[%U;^9|`>cΨ^Ͼ,@C']7 t}mՖxGܬq"_€ jɋHW12y\1b6!u;dUwdL>ܑ qg*B;m1ct^ _dJ}_r騌Y'ū c~h)2l1K26z1 o''P~ "pO\볻 |RfS䄑+q!u;O]$pM H­V.%syJnr6y>%7|菡sg߀˻~Czpe|ȁ3ߨ{WUPxvkR)0+#л/9gxSbh[_<?z\O{j*Xo9U.7 j|㟳El/!o:b؟ K `_  |甮~h6 |!}kD B*,rXmkj< 0̱fA଼62 *g ƀ 2 Ap_`:V~_L0p@.m Cpgڧ&x?%$^`Q}J`7G>S矁Gy ]8`b[~=ri=yO=/S "&oS,sJ5bS tlMsĖ֋JV~[2Ґ!hb-ZVOnJxo' }"ۂ$Dێbʤ4 "i=P 01.0 ~`Co/Sl OرFu `n6)8 7 |JPb-b2z |G98Q)md IM)+&ÒHw!ƫ'@"EKu()z!AE<9|V!b ݘ90t} B*/TK#0 ڴ [7ې(k4/Ka0n*~RAD~P C՘HJktU7?* QS9`:+n3n4/DH-'vmH(tC2i սHaI,-5rlϱ +J56 _No&e_HuwzL\Ð(q.87Z1>%e"1$ dK |E!#+"6H~Ӊ&!\??󲼼-QidPrR\3E }ʥmYxD]6-^Y;{B;ǯ_䒷tJIWV@)sgYj9$I`j6ٯnSm寮9]ߋZLpcs ]fX ?secC]FR:u˴oE ՙ/ ˉYl[=N#D@~"wk,:i fD~YߵI?q o<;.vOo=jYq<2?@4p(ԭϴ̵,WdS9. &cm.]^b }L'B-?nߋLfQ1a詯&x%9ϞVKwN.g΃"\HeԘC$R`-ߒQ;ܰ#.D ?ÉMqg0 p`c쏛9l18=0B+˙%ыЩl˶piecxvC/ rK<*H=Oߵ]s忲<2{QǀisN9]x-6b n;&eVi ~Z^mF& 9R jv8#&'";tO Gw '3ZF<@Q6O#Nʸ#B}$}?}Lcܕ4ٷ1g̜oy=s9~??Hbs"sCMS#l?U G^/zt%Xb݈>fjC8-=ԆQ$߃,R@ڗlͶKw4Vգ:ю]vjr)VoC7 5e=t-nbVC W$.-b,=cDz\-cơ#Dc:Hř!uJk6t~FG4i#ISz-T;}KI?7eZgB@0Q>zI >$DTˊԸn=;*h>N#awR+>X.Te7!_]ro ;i[q9lMN&9 ]* DՓg[#`%o w_`+n_|Uq,?o̯VA6gi;wKq4~ }// rȔYAR9`I>C~ULs^飃 ]{H q[~W} >7 w~&ٮ Kvl7mW\QQ?AHZ{#\/"mmmyt^i{@Kv͞A?sD< 2Q|qICDS^M(6_c^jۺǩΟYT,8=gwmto ?}WIO|*o0x'[ZnS1\p򖓁]<ЦY}.T73cϕ e:>|;~v>6/GG?Շof:{ Guj?ϓ/#ok"3yrlj!O@A\Ur{n|R)3Mym$Ik__be\00 ^I(Lb%Ț9b7.I)ԍ SNE;-K 44וI H(gzb͉G5䜑e=DɊL|5 ԉZO $olͤ扦0Uj 'FJd @RmiA}Nou\YÙLydfNzYG7EXE MTH \QUܚ,d^em تeU\+˱}r|, nc ?c(V=:ѹ`D%G_*xBׁRhJu?Qإ,lIhdook P2le'e(~B ֙uU3eMe2)9XP.mJ67N$7J>2*Z¶-6lec(\fǎcϏ'R1ecǞ_/H=[y@ab"$.7=#UJ/h &,4W4B*N#ǞQTFɹP>Yrx$$ 5<'4WLA{ ƥj<gh?Fp>yyeP߿J ?Eh?./~|.*Me# ?O2&* l-U^29Fris2[{Gr0Y=p"SR%j]o1U($HOTtU[ qWZ5qU3"XVbu^]~bENf )j{>j#-1Jղ鈣Cބrf ~I0<40 ˹#'IP{bdZ[9D8Yz0a{Bgc2d=0$#"eh3j2O-JkBG%u #>HE(]Pr1IUmH:h7$(9C2ђG$D)}O:J0t_7ݐ]H.*ޒBz < 6ƭH@ixe2b D{|9 jk m%#U1EF{#ʴiފh> -UC̸ia%s.QM4=Lx J !8E0ۏhQVuP%u4^Mٱy!?h -VOy 6tʽQF ւ8)\%*!A& G[]Be}[TՁ)nty6]:nN ]g8[@{J lDTrNJJS9ڣB"[}ͣyv}Ž9fFI Jv ]lDXbɬ&F6 k9.IgIN{lND"^ I:职}V~!Wэ f_bM2|*ʷ/3HU=:b(gI4l1`V=CsV$0٣|Xwړ2=Xя{]hIVʙkm eUM=8S5uc>k[%iZV;l]~+cfUTdp ~ 1ڜ[vo'" Cy|hl}6UHw6J"#f6+!+;0deomlشGd_6wXCV:lMc6Ͷ4aPߤ{rCY-:߶el'd>`H¾cIK.;u{"KlY͵ ,yA7.;``2(|ylEWIM: %2t'_IO:}VӨfr{v.R!%yBq$/d d>[$7@ӳug>d4g ӛt|e69mL_]ܰ)dmِY P1Ev~JȺC6nEv?` _1397b2;9lW-Yk4Ϫw܁dev.ofQYDtmc7"ٶ'v5Ӹ@ |`h%]zhUq"_g`/  =5~ Vìj[~j??qܱͮd-`V~lX.t m.XrW-ך7}^mvs;͚ Xe[EO1d[Df}ƩLZ&!/HEқHa/ك*ñ_L~ɷd*<eOS[v3]-G}V~ƍ~ėawq m=7CO7dۆMӁiY,mؐTvyAT=׻Qy"zJ{HȍQ::t\:"nƬQQҪxm"hW_'6gI=i1Z҂uw0OGݑ\βҰ:큪 vftAD+^}0Di}-YztQUX )o.J# !1IV.NpL-iNUi:*#) Bu֜;0ÅU8?:fj]wh2ϴݝ*z,Np`Fxǹ2A͡dN)qPhXiSF+?wZhQ61 [pUInJqu1k. ⇷"Ϫ`g`ħ): L:/׆8eXUw@VTn[hFt0Ϥ=NIU/r%9K)'-^h dyܲ 5?v6ifȪ\pfoiqH@59'"ZҔB2, 7@ "ݙӀo6u9iJdOD2O)ƀt?e_{ڒ򶪇3\mr[rߒ3 7㖔ɧcKeUQV9k]GY(9#ȃݑqQm\<<'I|3^ncc]=6DeRB[ 2QUΌ 6 "x_$\Dɣ萘E; 3v2j'ӜqI_m})#R u\IN"QAvQK[@&abp%\CVVE; @~_=m~S"i)Ȟz=LdizajrrsisZw8R*5i%#B[e,G-YT>'")U%'m;)(Hy|֒96@tx#$хX ISŒ# ȕjkAf=s/HB!d0 Y&$r?$SI Ёab5-N2c yslf骐;q!IP[įlE+PD$g4e T易k3x& 'q0Q3=d%QG=YU%WNGyT? znf5`M3NiHLN{ICJ;$%k: )\g5)uOyxgHu\$d>)蠐b*j<qGZE>9Dqlvr~Vq/Y=~**ȗ<q>_MmI:T<ՑyT y ۯbt8}l~H:[R̋8)v~e<+~c.a6=J&']f2s5 ۑJHg2{BH͜99oQEh`Q2枓,uJ GK8ƕ2^+_0!1$zѥ$l@ɧ)b28i|udU-<|R7ϥ;f'=̯El% ّ{,3+M,&ɫ8Ś̶ Ts2da08Xfi\['M T7wԑv4`_?d+ݢY>Ɯea޳?ud2 LJ]̓9aԾG>-2G-;>0,\|?99;dy{Mѯ#VD*c瘣2;yp9Yp *c;T>H:Q<̙ r6IվM :B7oΙzt89=I `PI` %xlȌs? hHk юAN*z۵%#Wke\8,:2Z,+SQ>Hݕ@*PlȎ{Gv[2R類G2d9ii 갖Omfbֹo4Qy -ۼ2 l|# .*t2JǥbYσrKlueC_EN,+LG2ȸrUS /m-_n8nG.5Y]}~*Jx]20TY$Mu`^SAjQj=z 8OQ*q׾rsD$<> "b3K@ˊWC=~Fhr_\ TmB\ڇB"e~yϹ9I}z*|oN#6]PZ~r)}Cr܅ǁ)vݶN*\`3\>.H]6G~ E#'nA͖\CY\sz|ISo"i{:ERNfșuUF T񡁓d[ɏV{<RMGVg9<qC1oA͑r(9m"RN=aÕۼHS'Œ"HQڔ~PtΤέ-N4>i2PywxF*V:}-" Fln8!TMI[.|x#: +>[(ʬu95 FFg[((vEj]}9-[UFmʯi^5`SHfʅC[0y3] <q91 P^g?uT&\f?L^)޲K[UdR񾆠Z庎tyZ^Ye+舍J̀".yjs(hEi:q#K4yJiM&GAZ+2r[Fy6JS;eo4LJükSg[_6RjSOdQUUZ"hWIIk7mA+  HEv#&=6V2VG'U= .b50ĉ~BPk(-q쒦AJ$xE4Geޤxݥ2<""Qν޹DƇ~ky.=;rGHVf) PױdUoAtwduT-Se?nl#:lXhn r"LԉG]O$kHAg߹RIUFIsuiO:!2 "RoP4HC]^.4Ĩ珀D,Gd>R4!SKmB]*b2"tKc-fK]k:Bei Gxm2ˍYU# ۮ@чz.HJ|g_` j.>/bRkC` n /q^ hX%Ѐ%Ie8늕$GRf$mk 8fUkRHxl#@/p0W (y,^:F`LT<6F0#maؖ=jr))>}V媝 KeZhCS1kT# WQ``2df'+YTh#X)> ^1LzͰ"ԪF^5BsU +qI AJje.Q/s,\~^"P)Lˆh<ղAB2.coizfïvi>\: Le^Khͫ:%au[T6pByk-MlYֿK"huVUV~-C?ETDځ9EkLkpp:K2.-5O&kں5Y*-lw9#Qd~uz+ $ ӼJp9X}(4֝ОY`΁Dp%,0 5Pc@"ҭ=>󡠦`Um3ٖc;heT<,` ΂wu=j7$W=u(vD|XhقQqܒ;uzvuiɲj9c[k PY,Dupc2H레Ba`78Wl_Ͷ3q jbhjC 1 04bҳ,"?xeI,wWb0;x02[s}B[7_upi]n1acQIxZ:rӉxOĆ-/(V lAXeaɾ!nWtՌ‚|,tx<џ?9vauٗRuF?n[*w_cw[L>.`J0cy|UAԁ>_CAa<gqߖFi'Wi.?YCgujyw2;my7-ooXN>ES7z߰Y?t;^S~{R"o#f y#+k& 7~>N7q2UbA[\H'+$[NOIR1 4 - JI*CP*׆Kbxۮy HXK~|E58[QD~d{dgJ2n_QX%As ESX:w*N#]PèL"ږ~tK-8vM8v=شN\f2=aXZU (z#HKwp|jr,k6Ėk^n 2>,г:\ǫV ^S(n06NAdM4PoY+YLu-[DWeKơe60rY!MqjqU0hTҤ&aM\NT;1`_/Ti1z4Iw%}0BҬ'P4kGs5>͵h6@ YY]j Oڃlh4p\Uց25n2eUwDP[]+{LS0B7uZTEA>>{dXYA0PiiQ"M&-͈pkno67*619ܙ?bw˻k .̙;3Oy:ܙbakv6&o3k*@,ꑪ;̂XTHGPs@G@6#ͽ^Ԟ};֤ "V>ZZ)joMWxkx8(Oƫ_uߎwQ*9R7ʟMZ0wcwy>]VzS8ڋ~hi-xw-i|Kj.z|2@<>ETg֦4 nB}iHpP7bZE)fDw=JslYǏVyt/(לXlIYފEIU` -( Efb/d%e+N֕W:jisǙq4\D+R;x,G3:S䣔WWZ0 j3Tw9qw(t>6ջ?my%G6K1?QGqVYOB9s.㬂 Qe8*ԽoԷM>3ח[sgnsP2և8kwdXcZ}SW<7fw\VH(Xnﭴ."fN0j"ץNvqs@\w/2;FNvI_RuGl5ϯ[]$w"ʋngXIe76 4&UZ.LؐNq".;:IaB RA,55pظw0ɫ^'1d HItͪ (\Η:^4y?_^~.. *u0,l˭떚9]``ۜlb u/t$&%t:UMз{oRi"VOböW7-ZgA (htzE_I%rVR;]K[QX*lh ac ݊B$:FB@i$XYU\R5RV!yؘc V`Ђ8eX XRFj1[YJ07ԍQ;?QX j@C>tu|JK{n`2`iP:I}e/(+mTFxFlP7IS%MfQ .UR0teو C9 .`DȌ^UI [n쒒bihbbvQIXH/QDH6n)QI5#37II*|GYaLL0.ia0ʄ-^fK]~WaTK혆R9ZG%#ICĢ4ocLyTtgZK11%kc?bPWse&>u@ evB% ̛Dm! v@leW$ qu2ź``૤ N +Q)(AlҠnfBM@nTZWr%u-@)+_?X9aaIO8p,$[@0BR?ZDL 4_=VKai"i(m[.Hl;..䱟~[Q_-_Eo%tg BCh{X`Ipϔ 0:J+G X1.6g˾I%fp䄪6dĜ"PS `oX˼OH ݲvE +N70'**R W|c@Y**^FE U-*8ea)%lUUevć8.VFDY5q[2b/16^?QC<_G駟p- <{3z^_}oG? p~k.uzޚ9MIXP:=4et|4'CȾ]·%ʜϯrx6GZk}D)qoן׷+CfPG? 4p~==6)g/5oߛz>^ίbcat:_{]Pj+/Z-9}e)Ŭ[/x)1<=mOҜ#0(ዠ!B%_^o{Ӡ ' :f?x~}JX5D&uu*B}{sy>_Z}4:_' XW`wxvN{&8uk|__}?Pg?1K̡1Emr woPq&y?h-Kj#;__sA z }X=|}r_ Ynz;>` gg~]c~0LTO36ȠqOȃ ^NpdcvWgŒ:}6>޹,m?!^"w 2ee/6׿Η?F/zS )K?vj#a\>^oo͑N^Kέi f!G1/xzt:goLk/㽞GOSsA':) Xs/p2ԣA<6)y=kûPKsj.y#,f~&H9ROՉo|A, !$͟;|:<1cn>fmF׾Φ ޛ GGuK*>4ruҌUGnsP)diu?-j"Fy~=y=@EB6@rAJґnL@zih4ߥϸ,p K`LؘJ +(zhNJo/ ٟ9\_P[A3ߛI’Eט+NAK)pȖGssuk>Fr:j*8/ܿ|PڋzL::{ZLJ6YΧ蝎I\ XO>ǃyiII|gX6#W.~d2VJ\0yYb^XUšҿc!l@nr,b%]`ӥJ8;uy76q I?i?BUD<3ߤ}fY Y?NxUU*|*êg#eh~^zgXs0:gRktVc^ Ȃ_em7.z %WFkX7ߨbxAX(Gtv܄|,r=gX}t.P m]wj(X0. &;yX(زb~e3bv/PUYeyϯm` lXEʲJ'oWmslo@6[hϭQA%><& 6qUNޟgU|~+ߺ Bpz~+Q_ϯ_#ʁ6|]yaE6Ti%,\Wjea7ѱ9=6Gt<# QEmj#Z˾j.K~ݳoPKW;=#PK5golang.org/x/sys@v0.26.0/unix/zerrors_netbsd_amd64.go_s붒l UΝ]5IDsII܋$[,YV\-,g'wj)4$HL'n4r|יs믣|lF?沿6ߣp~}ݿG}4ͨ0~y=2 (#( _qO/8sFޚ^Ïcs?~u$qPQ}8}\qhFo?/O//?9;UyD|IYcFdUT y2⪒S3pRNio#Ib]t +˥䂁Q\ULBa+)F1Pt|OLnr(ܱmYjfLJNE:@-8ӃkN?9$,D$HVdaNm~b L}cm&4O4}̯Ri=1RW"#glH Z4v &|kD?Τ^f$k6ubԳ< ٖ(/{<;ezDʟ͐D}'q t5vWr-AV@]}7a _TqQTFɹP>Yrx$$ 58M0~qY04ϡg?~>*9 O?~\f?h~4S?R^(F~~0~eLTٺ[Z;d^s8Yd(`T%=- {D6Ě[ 3SXɥK(\%r*z/#lTtP"=AR=>bS* Kwq7ϵfk?U9'SSd`[-׭{-Wv%;=#gH?IQ܃T`mqVLGL9RB1qfݑ_z!-H¡叶ƙ`-."C-}hyZ֕MO{&sK>=!6u hceO2K|ρl~ccCq:V &L3k HGFQ`X9I2#e8 D1'A҃8Ѵ%Hu#sƌ\tí#d\~ai#QH0lzIX(6Q(Nn#HjM: i]FE,0C5YY$U:Rm@9Yup@Xi絿GncXc@hQn8eZʩ@*6@ujv)Z~>Ő ?-9?ߕ}r?Z; v,!olïS2#_~w<Ñe5T>m"8%n NӒA͔lҵ=?YGI↔(>Hh'kX(c P'A뵬+K_ |=]ֲ葉 r2$֓9:&|x<<f@Jܐv)e%d=|2S\cl_ӑ* rJsёQdu':g[V~"a[|skXn_d `iOf@n`8u%Y)G}"$ {p^gƪ= ֶ>J0*㵬Xw<; |.|W>ͪ $푣ڜ[vo" Cy|hh>;vl%nf鐕Cp66z3XW;֐-nXŀ͢jyu7@fǾPz-!k2;Qթ٬_bR ^۩-ۗX*ZxcUYP|U099,Nc%qwllKU]źn Zա,mg=vJUwlիZ0ln=kg5GD܁(]w#LLq,UoX?vzRw6lP| αϪc5,o~Nݞ?[qxs%ul^卋dX|o6 $DktUry_ɬ̵6ɪ!CWғN}Ut:4*$ܞ-`-q5ZlETI0k8}v']0vҫC =cާ-Ek[?UJOt1ol$ k5;&6c:)J3ck  Ho"gE~2]&$$G=OrX>[IJ ~7.e=GR_H"$l*uft; Y塸`:])B*z"$@kY:b*Xk ?+៷l:d=-7~!_^.sHe-Ww6RVflYkޘ u}ԂfJxpi֔Io~j (L yva*OD+Qs[c4\ПvL8el.#MM'- Eq!7I$ 6 $2dR}ӞϮ2鰎1fT^d իėn YEh Z,`+Qwܓ,_#e4ٹN{l݁]~ъWb%8LR}Z @z1z4winABGu:U*˨%xRlnb@K:+Sҧq jzU!k*øPck/cpxU6OzY.iW)#&mweʨßx=62^qLtDPsS 1O4:2 ?UGu:ꔨab< B/&8㶠榀ghTcQ3 n3xm")l<ԩlL2ϔ;i>\Eڦd?,=VtmQwj(*=;aEoƯ|C2\~ۤR\ x̚˂20*<i<"8ιa#=V}q=`2Dc$3)7m$TNះS,Z4fxV$eIs./ԜHl:2"rmåAey^>U ə䤟|zjIS ɰ4.6H?tg'ORZ H^))=<ARw} iKʛfc@rm}KGM<*$Rʚ[RB$-YnqVE6%wAe$#vGEUs\$q p{eeJu#RoI m)>CgT:&<3H]%RCbtz$U^8LsRU$}.J)q'9yfVG>~GE&C.oLIps!$YYQ0AL<̩#MX {0YՒmIk%9K\agcGh.n闱lo˜?dRUrTERJNb0:"cG'ZKNH=eV'uDcev/t6'MǎTWg3 Wy9U," bIÀdL%@CNaԴ8i.fE2TdʚB<$)B}o*Zi@E99Д֚WPcNelyb2ġD="ԒDm&dWѷ(R\1;Q8 7Մǂ 4%A8Yj2Σ"39az$ @fA6r;ܦ=e ՉXD0^8 BVS'~v>jMY=q'SSL3[YTd0#H"_g0ƕ=7/%,R0/QGnaLLIXlp!G#lI}r:2/ԗ+rڑ9ԑ,@rmuǶ-O# x#P5ù=P7X[b߆@v Y{*e0@*Ryl(ت#?tQ$,nG>*Q Q !5sV5ؒWEq 9}De+ʌe`{N2Y(%x{+:WR>x|=lz@DpFP %榈)~֑VG K RB?LaO^h0w%6dG̬4墲P$Ok $S𴃇4PE%Qm@n΄&Ȝy4) #MzpIfM]pjə:~MsۣyyK6 3S(Y\0+7'~nKϿ{N'LՍ)9]tdH!.$*~Ԯ2b0 XO3C2?oDۜtPO}MZCK{GF {HS \2K[=a`q=lY4-fآRpQGр}ԒetfDzsbDz $ԑq$0A+u1OV\ QW@tR׳kf`@ryV~"ԒzSK 4EXJsՎBcTld5آoy#G0'$']T6g4H ݼ9SDj:Dt#'uKA'uKPG;e!30,4PG*\Xv$PuRü-\@=Z+JljHf9:dEXWٴGꮔRg@v=ۚROį?ږ!IO[0T<~j 6w}Kh\`-n__gK3 `U\wQQ?.˒/|Wk^b/K*tbYa:ZA핫bxxmmkr$5v;rik4TU,"i(:R R .caɐ3YZV$H3rHFkJjlҜ>>Z)s{|IՃU{|sɵ邊˼HAk.<T|{P pR ZqAuް9{\=-T=Wt j,`WG R炝PŜVNe,x|#L0,X.p6@΄0RХ $J~ANrl:R>"jcHn]H薻w:DRL(F+T!|KJT¦$*{|$*6$R9pFR{;%g+"u3'2Jd?4/u+%BHQ'q*0vzHxq^Fp=n=>?IժŶf5sPnP0r:udԓ 4 Yo@ɩ-w*YXmTߩdWevrAoh ;TN]:p=P4LȍD`7();WT eHMsTJkGN$,*;Z-9 V r NY^KNDR%Pz\JCT:˪%Jg d݁K,IU͓XCQ)^f)8#zey4*`7#Y{>Ʊ2V-L< #+^;0(]FEi=# Pɒ-q:,HLJ:2B!ڽCMכ3]?,z~ B([K&Nͷy8 UR9wD-i;y 08.WJ˞UL:sNl~~[6 Gy j &GIi r䱷3/ZPiOŚ-˼QG?Ӟ-(Y 8oQA<3S%=,$ekA]Fuq t|GݧLR}#[m%.\hMW!?fHU9 B*e6*#6s?:8IP0$^giU52uty0|K AU=*2$:)?soOB}~n?0e@jy3v vl >*t>j e/( E[WD8(J U Z|Jh)H2 Ay\C(ͦ*2#-{$"ʴ$·H[3j}8#vkFU]c (k>:h()-j1pU%x bʾ$U5\+Uy(]OUHsuVOѸ TuZ 9=~;y u{ZDŒ)ZT_K@Dq%g7/B:@B:9()EG4*Цsu&unm tK3&ëZ ՜7zggįb)pI*.;TU-oJ pu9+Q\]EMGUfUΩQ0J4:k5Dy@-„T+iْ0ntV~OMMdDF6S.ڂCNbH橈+xYYH:W2ը2uQeZO)]ܪ/]xUlMl$C(X5B.ur]d- X(@GlTeq T(C)D+ZN/ՙ;Y=PBLkZ4<} ZV2*ԎNQځ/{sa:U]]8۶ *Ts'j՘A``JbMZi j^PXA.A5iG :'8m EyWt=&N,\CMDG9nyc4 U&+9*&=.%}A&x_yP*t%2>+_3vY;M?E*4kOeF:&z /+#j*yp[lfAdBsHWddNl>z"']{uGj?Re>νO4JԔ~POx ɔY\@Gu~a\DrL'F=Zgq8z' ѝro ^Rn d7%eU@۔I[bkq4[Z%|_Y*+WLc8k 6_?_n̪/UP~v>[w_D V;#.[PSwaNnߍy:_[,Hps?Lyn@:&.(I*AP}\W$>"4h i[S1ZBcx66Ac"q~0[`N7Qn sPǶ,//VgUeWJ=2K)XD%ITx|STᡱ̴V?_ תsl)#BO[PtYki֮[Mv+:%MfoYp@0ͫڇBOcYPiEH XbPcn_ 1j+,"z3 jzOV6Ӟm99QFZB ֞,xWGyߣFpCrSbO@f-Ha-Sq`WƏ[,Mc1u!}j2JT7=6-(/z?*k1Ө|Jl8C&6CIx1-&/="wn+Orx8~eu@J}uؙOsƇ(l_k_h/-Z|;Fx_OuX\w0b_G&!"i}Nn˗@c{UQƃ=?uLZ^XAl1uɾ!3ŋګ4-Y 䟫ey^?90rxxo`ܶ>-T_cȣ\L|\,?^fa|0*}/8ȃ=<8+?G[P_?L?Kf=^]W֩ I ߴa}:O-ooO^߰>ns'g-ooya3_ ʇH< |.nyA0cUY^67yu' ψ;olSJ@:Y! ܚ׿vzJi]hyAWJUW6]û. v7_ TGߢ(廰.Iڰ&C%#=PBqvZE*!;|f0.+w^/eYE1$DXp+e7aձ :^-Oϰ*ؘBivˆuZ6V<"cl9}j_bk"2m-[76-1jn TDpdؖ&_x4 krҤ9zV_LգI.iu]eYOf= ԝeYH>h@J:R,uWxZdC󤠁2H9xw$)̟v`z$:BX)cجӂ/ IYG#[?ĺ DBOL%GIm2!hhFtLJ[s+}Q)$o|[E^Tuaܙa} Xsg凅9g0^GΛ5xUQe WM,8K`G}N>Yf ̹| s7\G}f3U{ߨo?M˛|2g/.dqo6 i](ǴZy"o>Q*[i]Di/͜4u` EKL瀸LvbevL0ۥj*߶L5H.vEN<0ARol@)h0w;M]YVkj2/.c $JxĐ1`j"&e 6 ?0dq믣r9_>総?"{ӈ7y%\1kQG°-[j2XF*vUY2Rnsy'ֽБw 6l CbSh僿HZWX!<9 ۖߵߴjQҚ䣠A[l2&Ajʱ"ZmK%vv/f #?o'F#bE -m+& = It b PgACW]pIՠlHY!Sccm3x[A ⰗNbE6`I@lqdݾ:+QðCR7FDGY`E+UHLeXoYM(-f}B~$ DmRuAʻ"$!lL4>EQ(TIiDӕf#& &X !3HFzW%M82lKJ>EE%ucM D"%ڸ\F%֌lg$ `'-v@Jea3B2{0*~{)/vbߵ3#R-cJwPbDh$ uҼ1IQN$ҝqLj-Ĩn =|Aa$g_͕UGUy 2Jq O`3oL8ڇ$u_o`OӗG"&-Dҧ* ?xtFQ&;-H/D"J~ 5Ri\ɕ , |`@$=l5)I{1!K0|X- mٻ#iMPD ~mG|eн1par;J l`%=SdJ^(3`LL 0-0V'I@V‘ZsN@}`LQ,M`-bJuwo(Xwofq<;6s`~O沿>Fo轹>_) +GGftϗp=_ft||0¡]S\.Hm^G Iyy}290du{dб@ oÜr2^Snڼ]G/Tyr~@mj}vA(?2iP_߯JˑAX ܥ8^|c|MPi;h//ڌ^Vhb~|P5@xsU5e N(K_ϭ-r[~j;ʿҧ#1r yy~R}|?_5=UD#c#¸`ʸCA 63ߝ0s|qB Q {ݿ=:7o`*7w 9;r~j%e TO,P"PG6z~ǺL@!\V_ut>t 쎟/N|jZ^6m:sьYdF/]Op_kr:~ _{wт6"κ ?Ġ;W ҟ6:l;pM|8}9]~oJ9x{rv&5V=Ad?;h < #Jd?pP.e8o Aux|o),. }|c1:]oj!vi;Nm!+9҉[sv~i>5M,(K3:???/iYo'S-xo\Љ,v<$V?a:>~ h9Mt hގn7*(/{.ҜKvh>{i >6Gꉑ:OT9$yקA3fl|~̙jaqlpϣJџ :C]A(*a+v=Wiy 4 \8Fr:j>*8/ܿ| PڋzL6:{ZLJ6YΧ胎Io'\ XO>ǃۡyiII|gX6#W.~d2VJ\0yYb^XUšҿc!l@nr,b%] `ӥhV ܝSӼ>?vڸ$~ٟ?BU|B<+ߤ}fY Y?N|UU*|*êg#eh~]zgXs0:gRktVc^ۏ Ȃ߰em7!z %WFkX4?b|AX(Gtv܄|,r=gX::P(啮Zz! LWBIN \ٌ?)qUV"D$sgXC bѡ.􆢭*lp҉a$89D9szlcCIO*F/ϯdFY?S_Y|>_{.n%i)_`e)#ʁ6|]yaE6Ti%,\Wjea|4ѱ9=5Gt<# QEmj#Z˾\F˯gPK^Ijg=d!PK3golang.org/x/sys@v0.26.0/unix/zerrors_netbsd_arm.go_s붒l UΝ]5IDsII܋$[,YV\-,g'wj)4$HL'n4r|_G،~4oemGߛ;O?3hQazeQFQ/>_u譹>}^~G?8#Ꮳf5Շfra=WITɷh5fd<LQEHѐ' *9=7>)<6$5HЯo\J.oU$&B`dh1 EAH$F)'ۖmfqʤ䄁YSق3=hCr2LIdE&Df-OH'76fRODw*5#u%2r )ȶ>NJc`RϷFO:ӬLe<@voX'N=̣۬@ S""P lF&*\i(+S ^nM2/tǶl*TwX>9[Zo7@N1Gъ\0/<@/k_|RtahV$`T{2ַ7 5kh6ֲu j:*EX&2ٔm,D6J{eZ %g_P-va[ lj61 VQ.@3mucDZGmc\ƯI-< 01Ldw|@]Ǟϑx%Okg~@~A+!Ejcy}(*#\(˿J9`K{yʓqFa+IR5 `|iC~J`}8UjsB߆_'EE{N/#4N9ʭ#9,UIc8MzVT)Vr WIܮ_1U($HOTtU[ OokڧrNR[[Z2 K45.wz$5FΐLV6brT-8s֑5rcJP[#(xA[MW,ZHzXow$"J"Tu:ឞf69[?fisA&nu^YJ:gh S"zEj`e-6dž;R]`n[:AC; 019nYMcYJ,kz\By-Ua."_봹(Zz/zʂ@M-V P 脡 )C+0e1eIRFNNn/ h19 ~ hmJHhlp6*R f$X:29t&U;B#tRǁbrd\,M䇷u{f@$<8.*nbKHC"X'q8h(BJ ц'Yq' mA @-5}(oq))hCӲ$m~$)7A\o[INqMX_G+{2ٴd][T|`ۯˀԱϐ7a_pE58M?22âI6d((ƩV'j9j&LF؞D-YGyf̕jC3rmlirUiTQeD!P豓&cB85{b\O"59C뀤ut&< deEt HZ?us(DD.k) }, L]WǮѢxq-cst ˴.S .lTNmDrSꁵ!Y~[r~+~2 dXBގه_dF2VyYAM)k\'#}`=2u3EpJ@f/H% W)'٤k%5{;n8 : X% )Q }2;ѴOװP3 LO=32kYW22ze= r2$֓9:&x<<f@Jܐv)e%d=< '˨NCR<CGM7dWl)8˶ $*3:zTĉE櫄@N9Y~W/;Tf&)u"hzY^ӁskL:2U\ͬ#nVݑJZq**(9'MkB gg<BҾFIN$o9\3241|+TFu8vښ:uUnRNzbzuS ƺͭcM戈;OqEOnћ C{}"Nj98 +NCz0 B9Yuµ&EOr_rةYg"oc qpDqcs.TN=oBqP+VЦ=Y5duHJz҉ajN F4۳4M )CU-%y!o#kي$:v8![<ٞޤ-@նɡoMf-no ;eoΆX7$dhVE~[0>ܰ0~/d $#dӰ>ޡqjٹEe;XW rU֢4d[j؅*Lf)!tMzUlj|ҟR~؃vTR.KԐ2X>YnojqD'O,5rNϓYG~6a$ oo!8yQv eAkz$ho` lgb:`gYfir@}ZZ,zDj6/يHapNXaWRx zPIOv[D6ֶ~\ǕlbzI6k6`wlMlUk?,ǐul'R7N^gj2!yA*D {qTuX:dL%SIx({ڟrS/N}ei@n\u{D|k?IȚ6p%/w>CqtR$/BUDVkItT`iS~V?ot3{ZnB۽].琘O0Zn]sѯvI;m2J?b>ր1yH:A/bctKoI$wQȶ;Y)N_vVoř2?ޠynPɶ C>Z)@Xd۰![%2tُ򂨌O{w-2*v*7WQ"zuxdD7gk[XoО)gQ=ig`#Aɂ "( &mƥTߴ泫Lu:#f̪.3sdW/X$ Y~/i}'V'gYVAVUQiXs@3  'Jp>,A`Xi*DꤟUXQK pܘ41+ZRc' WuWD4c' W4CהuUq:T^Bbxu ]jSvG ^GQ=M?'jzl80#e\爠+LGcc(h8ue~<tQ)Q-x^~A;6Mq4jmAMШAgff@ 38lsER yS?ęeŁ)u -3|Vӹ6MBzY(4zIx╟~Q;U!w(j{ _-$II5E Pe`gU3y90YyTEd&qMkF߷{Xg{*;e T+*-4#'IgRnZH?.7?(YJ8i}jBt'H@$8͓H]^9;te/EVچK6}N|@3I?1Ԓ3ai]8m\%~O@,|ýISR {"y"O_n#:'Ӗ 7!=ƀj+=ےOoxUI85$H>[.㬊/k.,dȸz.Pu$n/L鱮yD_B2)-'i(yB *RGyT<ikQJtH"QnROyd iNʸo6>tE):$'Qʀȇ D~%I 0u8In.!+"ځS S?H9Uz6)˴dO4%Z-f@ڜV#NJvf8vF~v8cKA U%ωHJUI[$$szJ)Ү+@8vDy"td) #^f|It!+?VfBhsҔa~Hu}6rښwЁ{a\"RP8zyH)d`< H T4tdFMbX$CENV ۯY*LOH/|<+[F T4əyCMiy[9_Fn;-,&I*L,B-YhIfbO~}"ӑyAO(pYMx,@Sf-a <*?AҐ.> jFNiC*YMmJ^YRIe:sA :(ظZ`55aqrܑ>VѤON0Qۣ+i,\p25Ŵ7z?u$-\YNGEt@N;R?q:R%H͒ضi$/zb걽t8*& {`P4:xY\ŲHE?m1P0S%[u䇓. 3ĹG% $3uY=!fΪ[vќ(΢uA4gLůX)RR?Nsqe %C验7>=̦dL4 ht) 5[?Pin-NgYmUa & %sδXs7Q2[oCvJS.* I*D0k@9՜ O;x H Uk߻v; Lhr؉̙NSN2ϝ/Uٳ8Y& YÖIn-* u O-YJaI$+<1'FxiX@OLRderO }En N7Opx-u;>y=˹f$g*ONN-Yg;@Sլ48Q(9LƎ@\N!\-XƑO?0N}T-qMrEoyF͛q;E#NNtKA8rRiqRH u3:^&2">Ke{5hG U'=ڒ 鑫2tdO@s\HX)~}IM{JL A(p6 dG=#a)POmXO4CuX㧶lJxܷd(<mrvxu,c-mZ@溋 Rqv=X|࿲\{[d$~YW Ѻ 2n\Kmcl[˗&9ۑKcEVW__ʬ=^We UIS}@AZhZOpB,@S=~#嵯IA HDuв"EJC2ZWUciТHsnNR4 -.HMT\E jߐ\#wqzC-x|h$VpdӑOqPkŰCrBBf& G`*G0ZۤS_R6&Q). IVQ$q6ڣ\)8[(9>Q"l|+>/_)I@ݐ ԑP  j ]ބEʶ~F?a+cG!H5^5Χujn͛U x8ʹHe'jIA.LJAʼn tV=\$b>יvDp'e۲QPOP=j[Ps\09Jg@N[Sowp76f&~ѺJ{bXG].l]w DnЧ\{?6oExQ} ♙/Q$e%/23ws[<> `f%=mܚn+w`ETn *y0#Ei DR,߶QVٷ9A)&>Imy':K˃^ePw$бHM^%{꣨%4tB2: EQߠhdw\iQY{=>}hBtg[WB)TK'$tIYU6edEVZ͖V פ`/ djϗ,FKT]]v* 1E]Sw#}^<3pT[ @k!(Q(/:&܀$u6d.8Xnpw5 <`9+a<.]WP<Qt#&0VxlB}Zck5!t R w >wWTcor΅@2~-)_E+ (?70A0^rmL[P͓ƕ,uǔ[PVG&HfXHjU#\9zՈѪ8 %2Ԩ9 ej?d (^&~mC4j !~Dm}wF=3YOU4\W_Jy&81%~\w:KU0^ź-*I򠼂ЖզqZYֿKC"huVUV~-CETD69EkLkcpp:uK2.-5&kں5 9%-lw9#Qd~uz+$ ӼJp9X}(4֝ОY`΁Dp0 5Pb@"ҭ=>󡠦`Um3Ic;heT2,`y΂wu=j7$W=L(vzXhقQqܒ;e~vuiɲjc[k Pɪ,Duc2H레Ba`78Wl_Ͷ3q jbhjC 1 04tbҳ,"?xeI,wWb0;x02[k}B [7upi]acQI_xZ:rӉxOĆ-/(Vv lAXeaɾ!SnWtՌ‚|,tx<џ?9vauٷRuF?n[*w_Vw;L>.`J0cy|UAԁ>_CAza<gqߖFi'Wi.?YCgujyw2;my7-ooXN>ES7z߰Y?tĔҗNVHwgc@2iZZ^A啒nU _ - HӴ] W@~k 8ROz&ugkî) 4#,~~w@ Y"jqt(? ī`c -&iX *c-}ӊeȴli8Fn8=#:.tS- F3b[4~$Ij4Z}3-V&.Cw>f=YHd3PwLWf"h&磹ߦ ba*;C㢬H1x/$l)cMv`z$M8X)Edӂ IF#[?ĺ NBOLGImFhhFt[s+}Q)$|%[E^٧Lܙa} L? _sNϴaTwǏ79aty]S!uVT]MT*E:;dU_nF̈iiܱ&-o8֚ OQ{kp3޵sAQ1 v\~V)嗺+6iy,ݹ3CCXSR}bZk^4X>CZK-^qK%ߒ{~ 5 ORY9)+:~Ph;ͨD֦hz۟}@Aoz]v5G=oARVܳ}QOE؝>E' ['-t>$cWf.`H8)][Lzс]f6wT[MVݮ8V4="h@ # n^Ձ=6$?3@e`e@RDtЂ>ddkmyjM CFEelU OLM$x~{fU?u].q]d/{F//D?qA:TquKMHsJ0 UFm7,o1غ:`:m{[l MX\ s+wo1aT- JZs|4:(s"Y/܆UM9VDmĎ.%،ba–-(v~S6sWm @C^ A&[,h調- )w?}~O9\|79?y6%ae@ѷҌΗ PA"~9F8+sJ<]i6S ??W&̠n :6>hvzymS^k/?>_z>^o?bc_at:_^.(eG& *S֘bCi~~9rq4( TT4ˁ?)#@um|_k*m@׏cox t }iXn>>?x}@ 5=\@t$]?c!/o `Ao hclDL~h6hb3`tff_#nR!@!jaG Lc_ uQ}g߿_gBr SA_WfblP 򃗂޳T/:*T}4 pʠsmf緗YDL@!ꉅZJd zhFX "$W>_aktΧ~ß.`]Ƀ:=QM@+q|__}?Pg?1K̡1P< ߒߠ`MNq>\GOko??Z0FYw>瘃tAcX=|}rѿ/ X)~w~o}@ΤZ77`u ;g`mA㞐zpdcvWgŒ:}6>?,m?!?" 2ee/6/?FM-0:?.{۩cƌݖO|ԃ9s[@|7?}M9#yt9^iy#Dg+_3 PV~9 85o0F!>? GGmK*͏>4ruҌUoGnsP)di^t^6z_ǟ5Y#\<"!? `a@A9 %gHK7& =X4 Wi3x:K-?/l7#6Q:1s>;}ڱsV52s?6g +o+h{v}>1IXҸzsԉw?hI6H|zn.?ym]HZQ|2@[5@;şOaJ{]ϞFu/VI&+|}1"rKɇzx;4/-9c;]/ ZfdůLvJk3K JX0]w,-m]Wzy~y:asl{}|>~~tۊpcS;}1zjGgN/8G __~% ⛴~|/1 ! o_|JX%|TeXUlͯ˼]/{ Kb&"_Q R.ۊyy}~1z??]wY0VZc-ঞ>?Dah +u[/( ΎT,0_^G]ֵUK/DϟtJ4B3+Q "J(Ӏd|s}~lk(`D,:܅PUVmW:1b5ld{''ܚ(G~xn]~ r(I]:,(Up +`ٖ(/{<;ezDʟ͐D}'q t5vWr-AV@]}7a _TqQTFɹP>Yrx$$ 58M0~qY04ϡg?~>*9 O?~\f?h~4S?R^(F~~0~eLTٺ[Z;d^s8Yd(`T%=- {D6Ě[ 3SXɥK(\%r*z/#lTtP"=AR=>bS* Kwq7ϵfk?U9'SSd`[-׭{-Wv%;=#gH?IQ܃T`mqVLGL9RB1qfݑ_z!-H¡叶ƙ`-."C-}hyZ֕MO{&sK>=!6u hceO2K|ρl~ccCq:V &L3k HGFQ`X9I2#e8 D1'A҃8Ѵ%Hu#sƌ\tí#d\~ai#QH0lzIX(6Q(Nn#HjM: i]FE,0C5YY$U:Rm@9Yup@Xi絿GncXc@hQn8eZʩ@*6@ujv)Z~>Ő ?-9?ߕ}r?Z; v,!olïS2#_~w<Ñe5T>m"8%n NӒA͔lҵ=?YGI↔(>Hh'kX(c P'A뵬+K_ |=]ֲ葉 r2$֓9:&|x<<f@Jܐv)e%d=|2S\cl_ӑ* rJsёQdu':g[V~"a[|skXn_d `iOf@n`8u%Y)G}"$ {p^gƪ= ֶ>J0*㵬Xw<; |.|W>ͪ $푣ڜ[vo" Cy|hh>;vl%nf鐕Cp66z3XW;֐-nXŀ͢jyu7@fǾPz-!k2;Qթ٬_bR ^۩-ۗX*ZxcUYP|U099,Nc%qwllKU]źn Zա,mg=vJUwlիZ0ln=kg5GD܁(]w#LLq,UoX?vzRw6lP| αϪc5,o~Nݞ?[qxs%ul^卋dX|o6 $DktUry_ɬ̵6ɪ!CWғN}Ut:4*$ܞ-`-q5ZlETI0k8}v']0vҫC =cާ-Ek[?UJOt1ol$ k5;&6c:)J3ck  Ho"gE~2]&$$G=OrX>[IJ ~7.e=GR_H"$l*uft; Y塸`:])B*z"$@kY:b*Xk ?+៷l:d=-7~!_^.sHe-Ww6RVflYkޘ u}ԂfJxpi֔Io~j (L yva*OD+Qs[c4\ПvL8el.#MM'- Eq!7I$ 6 $2dR}ӞϮ2鰎1fT^d իėn YEh Z,`+Qwܓ,_#e4ٹN{l݁]~ъWb%8LR}Z @z1z4winABGu:U*˨%xRlnb@K:+Sҧq jzU!k*øPck/cpxU6OzY.iW)#&mweʨßx=62^qLtDPsS 1O4:2 ?UGu:ꔨab< B/&8㶠榀ghTcQ3 n3xm")l<ԩlL2ϔ;i>\Eڦd?,=VtmQwj(*=;aEoƯ|C2\~ۤR\ x̚˂20*<i<"8ιa#=V}q=`2Dc$3)7m$TNះS,Z4fxV$eIs./ԜHl:2"rmåAey^>U ə䤟|zjIS ɰ4.6H?tg'ORZ H^))=<ARw} iKʛfc@rm}KGM<*$Rʚ[RB$-YnqVE6%wAe$#vGEUs\$q p{eeJu#RoI m)>CgT:&<3H]%RCbtz$U^8LsRU$}.J)q'9yfVG>~GE&C.oLIps!$YYQ0AL<̩#MX {0YՒmIk%9K\agcGh.n闱lo˜?dRUrTERJNb0:"cG'ZKNH=eV'uDcev/t6'MǎTWg3 Wy9U," bIÀdL%@CNaԴ8i.fE2TdʚB<$)B}o*Zi@E99Д֚WPcNelyb2ġD="ԒDm&dWѷ(R\1;Q8 7Մǂ 4%A8Yj2Σ"39az$ @fA6r;ܦ=e ՉXD0^8 BVS'~v>jMY=q'SSL3[YTd0#H"_g0ƕ=7/%,R0/QGnaLLIXlp!G#lI}r:2/ԗ+rڑ9ԑ,@rmuǶ-O# x#P5ù=P7X[b߆@v Y{*e0@*Ryl(ت#?tQ$,nG>*Q Q !5sV5ؒWEq 9}De+ʌe`{N2Y(%x{+:WR>x|=lz@DpFP %榈)~֑VG K RB?LaO^h0w%6dG̬4墲P$Ok $S𴃇4PE%Qm@n΄&Ȝy4) #MzpIfM]pjə:~MsۣyyK6 3S(Y\0+7'~nKϿ{N'LՍ)9]tdH!.$*~Ԯ2b0 XO3C2?oDۜtPO}MZCK{GF {HS \2K[=a`q=lY4-fآRpQGр}ԒetfDzsbDz $ԑq$0A+u1OV\ QW@tR׳kf`@ryV~"ԒzSK 4EXJsՎBcTld5آoy#G0'$']T6g4H ݼ9SDj:Dt#'uKA'uKPG;e!30,4PG*\Xv$PuRü-\@=Z+JljHf9:dEXWٴGꮔRg@v=ۚROį?ږ!IO[0T<~j 6w}Kh\`-n__gK3 `U\wQQ?.˒/|Wk^b/K*tbYa:ZA핫bxxmmkr$5v;rik4TU,"i(:R R .caɐ3YZV$H3rHFkJjlҜ>>Z)s{|IՃU{|sɵ邊˼HAk.<T|{P pR ZqAuް9{\=-T=Wt j,`WG R炝PŜVNe,x|#L0,X.p6@΄0RХ $J~ANrl:R>"jcHn]H薻w:DRL(F+T!|KJT¦$*{|$*6$R9pFR{;%g+"u3'2Jd?4/u+%BHQ'q*0vzHxq^Fp=n=>?IժŶf5sPnP0r:udԓ 4 Yo@ɩ-w*YXmTߩdWevrAoh ;TN]:p=P4LȍD`7();WT eHMsTJkGN$,*;Z-9 V r NY^KNDR%Pz\JCT:˪%Jg d݁K,IU͓XCQ)^f)8#zey4*`7#Y{>Ʊ2V-L< #+^;0(]FEi=# Pɒ-q:,HLJ:2B!ڽCMכ3]?,z~ B([K&Nͷy8 UR9wD-i;y 08.WJ˞UL:sNl~~[6 Gy j &GIi r䱷3/ZPiOŚ-˼QG?Ӟ-(Y 8oQA<3S%=,$ekA]Fuq t|GݧLR}#[m%.\hMW!?fHU9 B*e6*#6s?:8IP0$^giU52uty0|K AU=*2$:)?soOB}~n?0e@jy3v vl >*t>j e/( E[WD8(J U Z|Jh)H2 Ay\C(ͦ*2#-{$"ʴ$·H[3j}8#vkFU]c (k>:h()-j1pU%x bʾ$U5\+Uy(]OUHsuVOѸ TuZ 9=~;y u{ZDŒ)ZT_K@Dq%g7/B:@B:9()EG4*Цsu&unm tK3&ëZ ՜7zggįb)pI*.;TU-oJ pu9+Q\]EMGUfUΩQ0J4:k5Dy@-„T+iْ0ntV~OMMdDF6S.ڂCNbH橈+xYYH:W2ը2uQeZO)]ܪ/]xUlMl$C(X5B.ur]d- X(@GlTeq T(C)D+ZN/ՙ;Y=PBLkZ4<} ZV2*ԎNQځ/{sa:U]]8۶ *Ts'j՘A``JbMZi j^PXA.A5iG :'8m EyWt=&N,\CMDG9nyc4 U&+9*&=.%}A&x_yP*t%2>+_3vY;M?E*4kOeF:&z /+#j*yp[lfAdBsHWddNl>z"']{uGj?Re>νO4JԔ~POx ɔY\@Gu~a\DrL'F=Zgq8z' ѝro ^Rn d7%eU@۔I[bkq4[Z%|_Y*+WLc8k 6_?_n̪/UP~v>[w_D V;#.[PSwaNnߍy:_[,Hps?Lyn@:&.(I*AP}\W$>"4h i[S1ZBcx66Ac"q~0[`N7Qn sPǶ,//VgUeWJ=2K)XD%ITx|STᡱ̴V?_ תsl)#BO[PtYki֮[Mv+:%MfoYp@0ͫڇBOcYPiEH XbPcn_ 1j+,"z3 jzOV6Ӟm99QFZB ֞,xWGyߣFpCrSbO@f-Ha-Sq`WƏ[,Mc1u!}j2JT7=6-(/z?*k1Ө|Jl8C&6CIx1-&/="wn+Orx8~eu@J}uؙOsƇ(l_k_h/-Z|;Fx_OuX\w0b_G&!"i}Nn˗@c{UQƃ=?uLZ^XAl1uɾ!3ŋګ4-Y 䟫ey^?90rxxo`ܶ>-T_cȣ\L|\,?^fa|0*}/8ȃ=<8+?G[P_?L?Kf=^]W֩ I ߴa}:O-ooO^߰>ns'g-ooya3_ ʇH< |.nyA0cUY^67yu' ψ;olSJ@:Y! ܚ׿vzJi]hyAWJUW6]û. v7_ TGߢ(廰.Iڰ&C%#=PBqvZE*!;|f0.+w^/eYE1$DXp+e7aձ :^-Oϰ*ؘBivˆuZ6V<"cl9}j_bk"2m-[76-1jn TDpdؖ&_x4 krҤ9zV_LգI.iu]eYOf= ԝeYH>h@J:R,uWxZdC󤠁2H9xw$)̟v`z$:BX)cجӂ/ IYG#[?ĺ DBOL%GIm2!hhFtLJ[s+}Q)$o|[E^Tuaܙa} Xsg凅9g0^GΛ5xUQe WM,8K`G}N>Yf ̹| s7\G}f3U{ߨo?M˛|2g/.dqo6 i](ǴZy"o>Q*[i]Di/͜4u` EKL瀸LvbevL0ۥj*߶L5H.vEN<0ARol@)h0w;M]YVkj2/.c $JxĐ1`j"&e 6 ?0dq믣r9_>総?"{ӈ7y%\1kQG°-[j2XF*vUY2Rnsy'ֽБw 6l CbSh僿HZWX!<9 ۖߵߴjQҚ䣠A[l2&Ajʱ"ZmK%vv/f #?o'F#bE -m+& = It b PgACW]pIՠlHY!Sccm3x[A ⰗNbE6`I@lqdݾ:+QðCR7FDGY`E+UHLeXoYM(-f}B~$ DmRuAʻ"$!lL4>EQ(TIiDӕf#& &X !3HFzW%M82lKJ>EE%ucM D"%ڸ\F%֌lg$ `'-v@Jea3B2{0*~{)/vbߵ3#R-cJwPbDh$ uҼ1IQN$ҝqLj-Ĩn =|Aa$g_͕UGUy 2Jq O`3oL8ڇ$u_o`OӗG"&-Dҧ* ?xtFQ&;-H/D"J~ 5Ri\ɕ , |`@$=l5)I{1!K0|X- mٻ#iMPD ~mG|eн1par;J l`%=SdJ^(3`LL 0-0V'I@V‘ZsN@}`LQ,M`-bJuwo(Xwofq<;6s`~O沿>Fo轹>_) +GGftϗp=_ft||0¡]S\.Hm^G Iyy}290du{dб@ oÜr2^Snڼ]G/Tyr~@mj}vA(?2iP_߯JˑAX ܥ8^|c|MPi;h//ڌ^Vhb~|P5@xsU5e N(K_ϭ-r[~j;ʿҧ#1r yy~R}|?_5=UD#c#¸`ʸCA 63ߝ0s|qB Q {ݿ=:7o`*7w 9;r~j%e TO,P"PG6z~ǺL@!\V_ut>t 쎟/N|jZ^6m:sьYdF/]Op_kr:~ _{wт6"κ ?Ġ;W ҟ6:l;pM|8}9]~oJ9x{rv&5V=Ad?;h < #Jd?pP.e8o Aux|o),. }|c1:]oj!vi;Nm!+9҉[sv~i>5M,(K3:???/iYo'S-xo\Љ,v<$V?a:>~ h9Mt hގn7*(/{.ҜKvh>{i >6Gꉑ:OT9$yקA3fl|~̙jaqlpϣJџ :C]A(*a+v=Wiy 4 \8Fr:j>*8/ܿ| PڋzL6:{ZLJ6YΧ胎Io'\ XO>ǃۡyiII|gX6#W.~d2VJ\0yYb^XUšҿc!l@nr,b%] `ӥhV ܝSӼ>?vڸ$~ٟ?BU|B<+ߤ}fY Y?N|UU*|*êg#eh~]zgXs0:gRktVc^ۏ Ȃ߰em7!z %WFkX4?b|AX(Gtv܄|,r=gX::P(啮Zz! LWBIN \ٌ?)qUV"D$sgXC bѡ.􆢭*lp҉a$89D9szlcCIO*F/ϯdFY?S_Y|>_{.n%i)_`e)#ʁ6|]yaE6Ti%,\Wjea|4ѱ9=5Gt<# QEmj#Z˾\F˯gPK}}g=d!PK4golang.org/x/sys@v0.26.0/unix/zerrors_openbsd_386.go[긲\+Ϝmcn{-lm/hisiv׿{ߚ9z靛W0{18~|_gsx=_?~wdq'Zz{>~no~4_oӥyyH?:,aS z_CiD5BOz'7 \2yPJ qRHqXOV.!' Dѡ8 n&Z ;-4,cQh8J&@)d$`92zF ͠˪/z#8 $@dZ@A$Q0BM*}o <n{%i\bM#gQVh*!>e̕|d/G-:=/JRӊ}IJ71E; R¶g/r̬o/ DR)secBGrG.Q9lkr-UO# uY~Gz>KS*zRmZqbI"Lô|Jse!L`ڐL)5It쐃qDՒ< ,JZGŒ^&KOe% c@,8,t8x|%^!}k]8k浩2点‹\ Q8ѴkuǩmcdV3uBAE LcPMףB밴_edjnd(nH#`C1.;n:]/Q7:]?ܙ딤yk2о?> 8uu tkrm͔nǾti03}ohsD'ifi (x:*90x}cwﻞk\+;dip>{U?䋜˾{7'|H +CW3}z -?;&EM@ěm?,}VD'ؕ0I%I0RW@h_`ߧ$M eU ڗ:X7eG(f~c']|𛎟km' P}}hpi1߇\Fiy|OEWy|w*稾KP)*^'͒\?2Cug}_VԸȇ[:Fӥf(ø5s?}@W߮<%RNl[sJHWySp!;sfC7f~D8ӚK4, {Բa .P>KfHbbJhI>L , ۺ*f좮 z-*,A ,Cp;` X uR䠾)$ಚp-*TT:zGJɝ@jRH]d^ U!%7@j7QHmФבbr:R[LF;RvJ;R?GICqt~691$n}G)-k, %3z 3`i\0jzx(Գ̟rlV-[O0m_>ϥz E [WB\(da `9ex?-5xʰiyX'+TQP<6,dCbǎj+6#t(LhM;vlidm\Cn h@,ʠǽðT_U}_bVm[lH,R/u1ĦBHY86* g,MA@b5팲clTAg[6Y(ۚDfէK&5ie(8oG~` YjwV6qUq5,δ3eִn8b:g,k\,n*{Ix)%!IL{MP$Y:V{)R4MGAd4ؕrNf+6G6hkE8JXRY2o@[xzN!\px8 IH#G4}yfz r0.TEV7 Jul]jbh#z!cErJzȒH<\pБqRrtk\F̤6["`G:nr`%+3mJͧEX}iܤPNn[vkV! ~lUnXk6UvsŖb I[UmvwV"9ֽbW֑Yjl*]8 UNe㫱 IR;j wrB6udNp~6bg@2R/WP?LTe #yZZyk '+@} ajx*)3*w{b%qJrfw*v.0t*hM+CYۊ]uie9UQb3zWU\]6 9Q!2<4IΫ. P=J \%LRffq;BK":*# @ز@׷S ܺux+^~;߼^+xf:N^p )878k7eM4] ܬԶsV -]ys+fIZ뽵" dV#$zb%%'-YXOt4øt[J!IG;{EX:wD7ʱfթ\K[RfD-S2ib8V@AWi4%ljC 2FDv+v;V:(E)p'ojuTT2[a..`ធl,Fpв4] 4T\ Yj{]F(B&(qnEZw&rP`m6_AZXC\u}|(E*,^W6 uzvzCvn+@Cyv*mk@d:4leIֵzߙ-i;qjDLk]ݡ6Z3nA!u[qHen5sieAl,NI[:LIk#di-E/֪&0_etπQ0FEX*kARliLkqtZ0]QFa^tk81$2a)5$|JX͊zǎHUjTոc~ڎe$#&v &Iu9ixB˥ruD@} $+R)E됨ʰ~{:<̪۾sz^Vs̴h8-i;WcYȴzE*@-݅^_$T}%} Mg9id=iQ gKVݖܴdɂ-I7TQ]KViר՗aK2e&ȤrN@yQ4A"3y4> Hv/A똚.dӆ܏j~мvB%]u}h`#'s٬T-oꛀ#֞^jH}\-snxPprN#M4+3(Y~k\@Fl{yX'4G6~G%~ѿqr.a,o9YF2@ejV}Ԓ WIo/|UWuaXq@[T8KMIh&Ӭ?r$A :@1 Uqȱi_ɤD}쇱ꢬnl^ '3Cgϒt!x/+۳Z(J+6.*%L&E%$=RpgŦ7#wԎOh9}͵3PH}̑@1R]wd_V42 v*h%2R-b\˜\M _' |i}C| Cdq:-e^k&oZ2Kq,{=ыq y>-7w@P0qt/S}aH=P#J4. Hv-HnKru)F[k^ ,SkET^W.RdVh7Y #KEVvO e[&).6ù6_lŖ|_Ftd`w+ùU/97V]\!@HbXwR4gۂc\&4NjNn :]ё0 _wdFO攑Iz'(izX"1TDts*6Buz[T3!qQ't;x m݃6#dRhO;sO5iNz%iCt7 hנs.u*ނeӀ'VDJ>o!νJHm)4|}$ZkmI~.eɚ&5d{;{>UAqu֋Lr6ʙ~2F3m2#ĮuRT(⩕;m,vU$2*oĢT )9eF| 슼|f2yyJ^Ü@ӀފԹF]4KrA9Ik ^- Ӕ%1tr*74Zڧ]=< sB}p3u>>:e31Y6C9eͤ)xR2bn6KAee# )~il|I 6>nԖ{בr,[޾*ݧgX2f(5̱vQ<f6C Xa.?`>MH:|ۊpNMol 5G[pv: n9hpYpS>rҠ PyB7G6WBai|`iGww&w4##3Y!<PF]yåR6W 2{wW2'M{[iKaaQI}@ZjgX h=]΍[mHOk/,R12ŕ>R읅/(Yb<[b-2%bVzr Ɨ^hX{M.WkR$K>7{Wǚ$e`Y$ B$ZNKmZW֏Et$A!u$=^V {9xU c\VJmi +6u;-H+KVQ.¼:PUP u4L#rN`{Vzm=ua)Q^Ga[;39,AkpnZ^8'u)YsQ~Zs}gI+Xx"E]/ەDŽu|(]okAۗ:Nc/ ;o֡ZE v|bؗ#Oim]N7H^ãGW'o=Gꇡ~,e3c%F}>+&):~nޘo0{|c^,D[EA_/oyZfS}g~E=l!!xGwo ~&pu^sfuk~yCӰBhUurp~NhOG:d_Y1W-_:iyK s|{7ZޒO2~ |e'l[ޒO|t9߃4-o<|K㵮|ƏOvByo̯`<8hyk~E3xc~w9ؕߒ_a[+#7W~_[ޒ_ג_?w? wk3fF u%ސ?xCMof,iy[>[73<"35߬ |5?˷'P3ḐA`㹮zu;AKفs0X_7$8(I)TWV8 _"L4=.ZK_O<6\%޲ edKemށ–R\6TjD' }tJ4 -m4 C Jŵ21\NuKˍqtXu!R8CƢeyn|K*:s0;TEXq5ogdj0\9||Y!kq;v=M [D d6<ޑC(@2^ז~<,5mfe31}˖tMdudVYm9k-w.p?+?򘯥xgy[Ґ^>՚e]EWo|L=2^BDJ b!+<#ՖhsdV{.x [J9vӘxso1D~ֻsL_ykۑ?xkpΏGLM${mZx% ǖ 2Q+~`Z% 0bdlh>:gmWvNjIkRuT^ 5v\=Ǧkx<rxYj!@. # ]MA\t[/B|AH K dUk"hz)Ƥ(0a|uoQ2CPouocǬ;< *?hyK^-9ЋT^T=^"׏{}(>N|[1kV,CZQny P׺耑EI38!%Ƭs-jHI{*N(]'`Ծނ+=t(h_jjohA?>zJWwaLJUf jMwP |f|W:al3lin >j/Uj2ڰ;[Oʊp#C UUInڜէ`(i{ӂ \e2@*10`SKmC4]/H,QQ&ڷB=$k@ף9c)^@ϳ-môp^'H KDzt@9Nj0h[20<1=>Dau%||:x8_zx|@TG;}nF?PEb˼v2ɗPTXkДs)6q,-)6Xb)|7`y-6U[lTVM¶Ed1Ŗw7]Z(#Խ)(vu-pھ0Հc%-+-vB 0oWF-%UMysHS`_X hEыtJa*I[鹴3y7h,pU9cǖy`5HbQO j|E%Ua MQ6Fbڨ]moTRE%PP*i_s vb(F?zVQFe:BG&_(B&_hhٲj.nQXJ u|*Pi9ByUp&zJeTT8rhɱt@Q& Oŷgi^4i @[n)f*FF;1b2-PBa!WT0e>Z}72~ðzj@Aa `bdP eE;ݦ(.Qw"TyJ!DŽ i*Hj-pIQ4ZsʸU`ԢWo)j@)kɄv)0%$c~c˼}zUmgI5 Z cfiK5j۷XEM_[KUuYmEK,]C0)5VYDTh٪ҜBH ƺMQ6|U⣔Cs/vE1^>Z,̿Ɯ&_0PԀcYI''e/Ӹ;Pz?a0[8lޅl)m) aty0 ZБQ8U2GYȈ3; `̀٪o0f1P$8+ 1Nf[ЌW0 H-7@ݐT(-js=lǷJe),VtDEp5^j0ٲ]V!4cUӦ"!>'9*t^PЌ^ftHEL)N.ͩאNΗ^|9}m/<>>z(w?vyzhjzߎisy;zٜ>.f?!iOñwۿ7㩷{;57&}~|fO2&ҜN_fGi>z P3uaz`ȐA揷mC=o?N#ydNGsމ./cx1TEmj>;!4gy6OoNhclp|:mUqn›vsizGk ZN|&f5V ;v`}K(@>5֪٥.=^μ< t2*|_'=1x>B4aJvDo("8\;G-AgSӝw/ؼzܥz#x?us6 ۢ><?Ooox\sjSQ_毝a+y<tO-2y'[ߜߛK)'Ï&, ۬/o W-ާi9|hªϺ>VtޟGgC}W,HMXVo?n~ 5<F˥uvBFR11m|WrAuvL#יrqhu7ϥ9~+4gMXfMik.OνOhf( fNtlv?4[h@BXTb_ܜvuy=O}HA4 BO,ׯ9A t_&94_@#|39zw"_KSs6ymR)a\> v2ލ~6SH1.侠y? ~!늻o|EmΈ~{읎_"G~LE'Wi<Uy9A$w,Aԇ}GX$uk:^6mӴډP?lޛ^>X7N:fbscݟ#IA75[f&?+CsuAM$̕qDUA냞D#giPu GGHZLm: $oY=~) OS۶x|oHRr;L9cI霎'_YeM.o[1/[cD-rޢbc87[o5Gh.+ij7fb_43XA'%cum,F4W9f$41oA!.yԩ0ed9}$ UA%Ҽ!$: cL[[,8?î<몖9359O /ov T-iz@uƏ Kaq,< 8E8R6^TdcUj_fտAt~50(M4뷏kƋ(  + WBvѢlIknE&9`u,h`eUU$j5Csu[ӡJ ]~#{>pITupшPK"QxKA3:PK6golang.org/x/sys@v0.26.0/unix/zerrors_openbsd_amd64.go[s8\zg&bu7IQ IIJv͉ Ym[^ܗ3$$ zX+z) d&/ ^~o?_~DC;Ѿݥ= \~k0=hm ryh$N~?~<=58;/_?N~e qOPvz}tw>^{zy;/w_K؆e&L 9Oפ)f'=FFQ4j;¢6#yXJ$>q؄\JH30M;-4D,SQh8d\}O\cn$&Yi")8d`NLtYuA!9ad6rdad"6mLC_"hR9d:J(L-$YhU<=+SC+c$Mf!GF$2r `Q[z65\Yub3XH"̀d^Iyy]h6 k}}:ErU[ҬHG\T$ Վ8B;"R"{rx |x :w_kAAb sL0 nkFя0SZ)R!N}:Df uN)Egjahl vOzC\/^-kQ ЩfX1?SZSt +PZ3u=emcj(9KкP {D0;8eGF{%ǟU;KK٤}r|o*,K&o$^% +X|]}1{XV,1lCBLbJY[$Z@n- CB:ZZ'+8٦F֦ II2( Er;FVg|+`tbM1|D (y'*6徔%YfV׆i"9Ų BOrGHJ=>9lkr=UO$uY~Oz!kS*zRcZq`EI"Lݗy-ϭ{w_,C>w_"& m0΋韎s0+)DՒ< ,""u5M^+OwelV c@,8.u8k:"D׺&qjF Se,y$֥.+!点\v U8մMǩ]cdVf@EL'!C5] m~]ڦHP !!Fb]ן5very4 NʝIiJ ,KQǿZۚ?wz& L}1>Z>˧:>" չ7QU2p|z^Ǔxqnj_&M2.A?U?9OEʾG7D +cW3>7|uE~9Tg7$?nKz{H.ϸ/a]oaооߒ4+SG*o_'(tPƏ>x![4# *NqOIrɴC ,8sl4x`" [{86u]-8&U'-9922-lgy흯S7EIEZh`e0DNFDhɲ :p;co8QI.paO֤JslnU*, g`H:5m ؔ"5L!o\pIR鷨҇=tR+ȃ@j M2(ؑ;G ՀtR4zR[LVQOjqO9I}lrړ8 OIl=9345۹n}OV58>da`_lSdV7ڸ@u-/يsD+"s>Fq ֕ Yq\#YmetVL;pH"`V=)Wvpxe.5w"Ȃ~Jsr<\{^RI-a{̻1Zշd۰t8cR⪹_,af /EUƷ˒"(vW#d >{?`̧cD gc<5{V޳SJvBBgYeυ®f豈^u)N&2l)ߞ>YfN={neeY'L *0||HOɸH.0'+RY HVwFSNzC,S]@H,sz7A{5ӢH.ʭD xGNG*Ψ#<R-B˸#7QBX2SrdR5k}9g,4 { < O#%lsŃLu0ӑ QCB@k'$:_7܇6B}3'h(762łǓ>'( %ȔLR,<MZN"﫰,IUlH"a5>ɴ$>'qqME A dFi* tD(Րyq-ն FnG׹< =N 'w\K ,z225NYKA5:QprIûCGVQ4:H*IO$F$#NQ\q6žN0֑ZqJA"}.Ѿ̂$E^rt{)4CO @a{E.tK>EEɼ"ڰ ~kQi7<'Q#k2+[F{NƩv9}IX;u__lQaG}X7Dˉ3 Osh(c_?Wc\@c:\m 3LbRHVCo ѧߓeU<8a9W0 `ǜ #8*)IO:R"Rϲ aPZuSpFV饮Ri} d 'NV46(AXp3,*N:=9u<͵LM4a. & o8b ,&T3:~(ô,c|a顉J# ĆYӅas|w~(Ki#TifJ"wGF?vX"Jr8iLܡ{s' W421OCF=9KOѴ'\)9d\D}RԵ<2GjRW֦@gЁɿ\z=㭣)w#2kolyv7K_Y@OXB w% uT$VZʉC*'g\f ͣ\deIB|Y[خI۠p5md~~H#}G6Hhc@2֯{2L7! jӌ+9| d@nLi;ڴrg oMOMYo`cحĪ7V4Jr,;o|t8IS$f1ש>t1xk۳Z;,F+6?pt9iz6:¤ "ח@jxx6Efa$ ӗR;uddNr&S?IX UD+j0hZfq-svE*7N4vĶopभu:0O|uh&w8#K^ou`\XC&\x/ ti{,|'8m<-t; h.أ$Y-wlB9-Mڷ>B$P W[ur3ކfMF|biH{،ъD~^JdӦ?ACY-ZPXWY Z8!IfEV}D&8T4%zdZ'P (`M8T*\6w.>@IjXwR4ת(϶]7HL+h:x"ɷ.l[ػ#\`>x2SF&(5>a_PU شF *`NnQ=ϔ,&)La=R0J&8W{IOz)+A灄^Ü`nE]Iy#j].%ޠ夵 |iʒ: 'گ2+n%PcB%cUgΘȡLF:W"Ji~Ȁ9Msv HQVD; &4$s$ \F^7JcISc,kY㊍<27{<.4=pAjWR$pO(M da*TU|y3F j4yHW-qPy&&G ʰ m`Y%P{۠Ph#,j5G.D;l?_m*rh \u7_ 矹\f┌ɂ<NY΀w= M;"3ktʷ$P w=j|GX?`BEQiN28 m7C e8vB"I lLnY#mW-,I=`zۚ} b. Rݸ&mf &-ZE0f~Ţii=nTw}y"hUK4.c} MRz5 ȒEü{%0M{C vVi[o _9ųXsf+|;<4Nv0u s1"A,EձvGéJ__o\W56m2c./bֆi`pO^n }`hGwljd Ϝ5͓h喘.BtTwzBya&\(l5%}]=wxQ'E#tε%kMrxCk;cnyij 9i\Keҁ,pPWp܁}[3.) д@Zƾ"߃"5N6x]Z^|#U_#=`+MS%ĕ [i30II EKչ/hHDź;o+u ~)UmQ}uuŽ+#X2jT7H;MhYqx9⛉9TIu"@D'w_4ZۧO 8y >#=A(Rs@ݻ/Cj:@K (>߁7N#4bUD2C8HKb{nɃgM өK=yY bbQ(@KV,#J`= tM)`B(A 3 X,G0~xu&$§/U>"8+s(@ h=m:.ÆnzIn^",,!:а;<-Dp}D`Nse<kVƧZVyi?= 3<hvGGfl?B:5y$4$ K5zmf dJAfdN)P藨yD'8Lj9|Pq6sw\WѷUaBܞ> 0ZW0=Nܲ,felA:/<̌aEҸ]s;SI.{g`&|^z'h++d=NjIa厮XJGKReaNf:.88רj'pkϗY%r*/8E!3P22?V5ɉQ:1rf3Qcq!aWaQI}H:jgX)h=E].[]hOkQ[/,R12-j}흅(̶Yb$.2np"f[5Vu:r7(2Ͷ~dݬ*' c%BhƫuT)xoK#YԴ@Zu\ Zm,Wm6IF&,Մ|Fk4"HA`mXznS:)hI(cSsƳ!瓅%hM]t|yJ2tWR3cZb)&w2oW3VT?Pr {=m/aD\js _L[h'ExЧX~3auV2|eh(xΐ(.?İ/GxhkSxLYFOm"_wh${R>)xR~wo?Fg E /h_QJ=&co]%;/xΰ=y{α3C1xGwo0~&p6M^sfudzcCӰBdMUw ?hOGd_[)W|u|-*"oWt%dښO2w%Ѱ-ysi;ޒayz|k}}-gޘ_xp 3xc~9ؗߒ_q[+#/{=oί>v%B%BcP>og&J!A~",ߐ ͚LY|7og?yDgjk>Y? ڋk~g.ߚ`y%4lUY}n/x!6!c>5|CJ6"kK˘AwEa]dCTӡBlt}_]l<::r:`v4\:kt`rn&%"3&U߯@؋`/@iTis'(:@H4_Nm,qD]? ˢlDUt`>Ԛ$Kunex[ <9"%>ҩN_1G} Î4JY7^$5s[Ӷoh0dU  kPL '[YrAM]h^~J> @VR ܒ\vR`C W6Z{ "^AZƤ"ヱKgOvǺI+~ۆT xE>>7\@ϭ1>l#W&1_K΁l˃_!\>ՙUSGWo|L=2^RDJb!bD-QȬ\.drćxsGo]1D~䲱? _27.Gi&sb=vZy%-J7ʃʬG ҃w:jَ4\0! QCB]rP;uЩ#IK}Ry1d[۱Wt0] ?l __<l{Eu-%!+g_@@P. &EyBl̍tnB5S4=RcR1l΃Q6cTo NY/yqT~؇c[r62G7>"G䭽86E7doQs}jf SGk,cZQny X෺耑$mI~Ěc5vd{ݗMQh.Hz}l|r|":Ё++6"8IrS`["Gw_6in}d ѰT?b6ɶi6ɶYEmA2p M^DoÀMNQ!t "eh hShy]HsTS:1xу.{[@܇icO)yk#%V:ݗXEyS!Cd|VXWϻ_~t~۟^/}!\G0x}{~ϯ8MyQ$[TWI慺M)0E^/b4t\݀[lU[lTV/MUed)`.- o(> Үv@yλuq"u=Z(1bB-(")<4*l%ұ+ @ՓX PхBQ4hn>cyEp$ޏ‹Ó&1ecU1)CSQqX6퍊U VK;eCQ4h*GS|,zFu9B#RU +0([V/ 2 E@ZNH,D^E\!&D#&4GnęN(sGQ(MĮR[H#ØiшcI)T 1 +X]۲seX37BGȠ 112(#FnS T$*wTyJ1DŽ i*>Ho%j-ԀVQ8ؤ(>'UM*0veM;0.mYQdzrlwO*=b,9fCLTCc:QTE\oůfUWt ¤`AڜB AoQ5FvS |U|&4B>+:d냢5E ߘS``桙 cE @Z:9(b)ڠ땊zlu,fdΡ?c @ˀJ)c@(N":Y|d€0el7 K[TЕC 1Ng[،W8 5YnJ-7PݘT(=s#lǷJU)-40["Xk4ٺZꬎ]ו!ڎ4c@SUN:`\lF X`+@"t~IQj <LT秷 \b0|hQ!.>Qܾ>{*owx>8=xU\GFt+]Kk$*Ė#^p (*Sf1_{<~`2~_Ӟjv>B^GhƊoo3ǿV"N*f`wXfSw/=?ܥB^vNo+6 @ۢ>{{;OOz\s ˩@vׅko f;Rae[ێڥ=^PBB!{ۢ ` D3~:>J%e!I-P#C0{:x{zò qm=?wϝtN/W  ?/!`@jtޝ|==?3᳒'uG`\E3ߊߠ`N~^Ok?4cQf-c1`J?yiw?ګ O<|z1ւ1ywЄe3@7]߀4(g݄!!FR11m|WrQEX&\rqhu7e{ оoJƈZ6k y:>xzNb3Hlznwzێ% 7K{AQ.,Hm08@Z4xz~ڋØuzWAz,G1hQEv3ߞDžП :FS*SLڗ W&Tdq  xoauѰo>e7hڷmHNN0~t=|Qn;4?/'vg`0LV,O/H+U QO|^Td#~@17-gQ 6˔ԭߔQ|Ǐ}a<=4) \SNXF;G(WS0knoiڟ0beK`,H#Y[lLqqNYe)(r~zmxxM@0Yǿ/v,9wq FLb6~:P3?85IV/<&;M\,a2@Ck:Xv=;u<>?_Ѝ*g`4DsR9w>1~Y6i |㍕cIجF78du_'4}ĻO5Un2/Q Ґq J2SiwzdoXiXa!=~Ed  MÏgTzĀFfEuji.5LY+=/=p|ե=q4f??.ׇE0"JnFϨרyJxyzfPъi~N 4l~a)?.}\ b}0NGQ5^ iA*5P_1az50*MR6맗:AbQkT/PG( Վ8۟"R";rx |x :S׵TbCɁ`ܨ?zhJoJcاRwkB(tbԊnTūEZTR3aaɐֿG%`L !GC{ BB;l&N؁@V * b'Bi h.+M؅,cϧ)ҴȎp|$t?r^piRog{WQp+#,Ikz\?BS /dd>$Cxi7WuXk{x?I8 52'߶-l?sVs}ZV??A+TV YXaZBȩ5Ud[H<ϐfK%r OS'W>L˧>=>X|"& itb\O98OT- uT,oPDajt[zQ0V d͂B'LJX':S[6``^./cΓ&ѥ`U貢3q.+X/+e MցZW~6Fl=S'4Qd@=@ t=*Kku]FK{JF416#貺C!x* NʝNIJI-kYC(_hih[ B/LmɧaEϑ|cʧe2:7?r+W`aߑxqѮ$c4Kr}x՝t|MS[y ~R#oM<_v`]yH9ۓ˳myϕ+!]y\O…@COn̙y.ߘu 1о:h '`n] qq7<:vxL(')æaLSQDAy\.ذՋ;.U،ЙsD3y5-ٲubTf5 Zas !-( RQWu}Zm#H "e]2lL3hrb4Uմ3ʎI#NSESnglkƺUfb, 23v+<-dXl WR8ӺpYӦ䊭02VWquv+%&@4R:vIQ$M);b0ZFIV5OfX T'1iC7I CdTnXE쥬KT75PcWbW)N;Uo)ڠIST*ecIeiO$ rWlQM80rsU[*X^&"MZǎ4ַV[IT7!6uøPYU,*Y^Vf u9} %+!K"Fp%EkCGn.Jˡ#qU@0ڐn],ul\)7vcVu¦arB;as n}rYXz7b+6V;a_T[9 `7&okV[E X]XGfA+dvLv3T:6$IGKMN-[Ux V`H%WCTd }CQFؗcC]Iə,ԫEKr}XɼEi'V2o1UGHe("7iI~X|)BHYVYrꐱk)栁"YQ&oL}qt|*QkA֑:-}i{H\A|2R2kj)s̮12T UkPL̨]v@&OUV-3[]O29XqWly] 5U'sd5ǀ/V\\} WVX};a,HbUHeeeLT&_ՆfᎥSiX*f*LWlTnP-w4f+*5)$\1,]5{50޲@r{V-› R\Nʃ,irވ :Bp~bb+VZ1rj=Xq"*LF)UX&*C+ YShپ+"6G2bX|riʌ*ɵv ع Xbh#6 gm+viWEu0vR]-KTrubdFeol t^&9n(WB5(1Tr2EH5Fuǥ@~ .  먌'a ~_N2p뺻 #x{|z9/8yQ4",^=ߔ5}t%HrPZDv-έ%i֊Otg31ZRrܒ%BdQbeJ?@Rm*+$9]Vb1$uP*ǚfFvVr-IlJWfL(XNv=N^jӔ55^t#ڭ[Y?$fDc"c"՞qRSxn9Xu{JrNaU^\Bt2Pr-gq6vY% ƹiKܙؚBeQ|kC` qa~x]t>'E c}8[bf ؾzjDͯ}!Pа=&UX׆v|glSƩu1uuz<hUϸ $mQЪ!ִ2ϥ?>,fNYY<0ZhNB:'Qko@"3b&=vbyW [֛|e]>GajIgu25DZ>KivYRDyjЁfgL|:Mp|>ƓX)c5+;f UQUVhui;8,}.7{'Q -H~wrC*ÖbHԧ0[@*^cOoΥuzYQTω2ӢdZD d\Y  gi#,%@wcNz},R]4Yd_foВjE-[u[rӒ% J$ƣ?8pZRqFU$_w-Y-I^rW_-ʔ[#^9}NE$Ft+QJ@3p U۽$rcjxNfZr?2A:@ t @̑>X3m LLC{9j\Yު6r2N-}I8@zHyw/fRph{$.Ro&~X{{E"9s>̹A0y8M6̠dwIqQBzYIѢa}YEʹLfP>deЏ/iiZQK*\]$@YV!J \Յa k nQ^ ,5%ϣL)’%胒n4VI#ǎ~}$zeƪye7& 19g>KdyF:^N) !ԑ!~ٟH5nIFT'rT}W %ۯf"8sv #I^YIVBAGs#P[yRO$Rla@ n,YM`TΊ)8jJO&c4z ern7KN-04F%L=NAi?),%E) LĆ0aѮ%-xKl?cҋORpv Zʦpdr2UY$=Ohm٬J;@ݳ5plxFQVF;#6ÎInpdeꈩ "f++'bisvg4;r2sӞC(L5BnIw:JB֑0>r(80PyP=hnp #mw S"L psw`lD}K+TI'mp]~% =ܘ%.F>NѸ#\ 9td9)QJ2jRࡤ& J;2[ֶAPNS ouY}e=_I߼\κ}u,TۖB rB_ Yy}(s9YZdV1r6(B*}y{_߷CmKHhc@2үQͿvdnBUW&s$׫ :"4,Y=\Ҁ>tĕi'/g52j\H:jL[gDڰ[ U.?ir;dY&vx9K1vp>I0ZN.SMrr \:҅ཬljm+U%r6@"k.2G9Hu )~}bX$t|(nHSjZfq-srE*7-'|$@imm* aI[`* >4 .y~i,yJNZ0@G/%8kބR02C´ǽQLׇm;>O#]^B(ҰB0#ٵ"mf,ե\sn-y6<@N%YSy]SKY%Td,EI[ؙ?7AZl՚\|Y[J}6I\]y@H[#8Y!m<ź uq}Qu u}6B9-Mڷ>B$P W<Xusp.R. zjDG7 9+7@P 福 Z׏JYg+!/+ڒ mqЀ 5D(& 1'3_276uHknpR$𬛓Կ𞌓xYw|΂MGVX5S";^u4:<46W"SҀ:\֋uV,0Ӟ@YP2v~潄,\uwJ$*w.R^<դ9IG1݀<] H_x *MXE+m$ @ޮ:c(!M8x@j6'u6 $N"VN`|g'k:Ԑ}TIܖ|lIhI%JQѕXeiH]%V8zE /V-2"9VޕwVCܑ͡V1+{#hSu eSTV #}9bҪS Pxut_4@aKjS iX/2(gAʹɌIQVHUA2ȨyR14H K)>)+A)I{ s:Mz+RJQ[w,,'`6xLSXwΣB+9};l?ɹ56o֙  K4lw]>^6sIB|2Ϝ.5͓hͪ.nCt5WwzB96\.|m2@ˠ@2hjn.5xιS]IN֘k@^uDHquI2yiA} Lfib/+F8lA-VxK6:4mv[0o>7w i9K*syOs2QekK\YtaB{+`y&9)x(x:% QNkR^?ʔ6Æ3Aqs]ma$~ּ{4cZDuig7'0@U@ATo=ZpG:6<ъwahi&*w(Xq 9CHO \hH_PԩxFQ}>B82ںڮڶgiuT"}ADQPE;KF/[=4ŦSA߭:HczIsY Cs<é'tT>ꆒQn%U ]FE 2ͩ+wh>EX"zH'ga< iʺhd5b\I,qtsV(>⧱&2Q[ƒ\G;o2x^vcLה60EL_ hR%`I>[4!~z/{|(n+Ҏù85-. !n(ZyXg]MOA&3mH4l"O@a hQ\ 񩪆ea܁OO8HߙPsQLfdt8jH@itIAjJ^)앂^$:4m S /ANpvq s\-jע&(eg0Ug ߲vsy^A4Ѕk}$Ga0`zܲ,felAZ=<̌aҸ]:c$g30Mmf>}8%dkzpv+Y^-k^c5^ˬ %RX{(swD ɑQٚ^5u2*tH˙{H-%q\F]g$kkAëmc%Ht97o:#=WxF@[o4.HWKIw^<3[gi{lgu ,J\ʴkMZ!+_Z{eaD7v\K7/ ^Rk@eh7 h.k:-j]Y?r%͓mֱXxq[4`UTZrYsXF*<򷥁Pj f,YEٺL {$CUjC*0%:Xb ԺZ,uԁNiDyeqlysxp|2;Éiy\?GYd G}i1?$J!2ޟHarxWKvv8wk5Jy'Prw'{SߦtD㷎ks/L[h'YxOg}/%'e0A#Fo?{uYa'}Y\?C[[%SxYTFOeT,_w` T>)xR~7o?WFgE^,?>뗅zL"ȇx0 d?#I?v<]O0~/N2wq9J择bwUj.߀?QG[>{mZ>+n]V o't^c`|5LcoG~WU2@oꚕgqnO{nOKm"pn3N<-LmqW~ f(-PN\3v埣iN~ڍ]gH q/2֌5h4^":ly̏?Nc55xlAǏ7շ{zuρf^gz`.>+N'R>SY͚π?ig^<>Xh/ܟO|k~ =K$>|6* A>Zj<h(>c>|CJ4HkK˘A{Ea%¹tMBt4ce[-PFh4\^~Щ,l9 ,%QYeCF}BLL|n9QBVOgCUj\ pFÕsǗ/XI7*~aɰK:1  NfS#9$haۭlM~{m 8sRfnZ63ݷlLD]NfݖTb`Z')Ce$6:) ן_l sٔkA~-z5Թ C۞7 L>I{Tz#v;@1tvb/&狽.&QNOQbu4`%"|9):Ʃ#|G]?M%HUPi,|4IHJA2o\7`^:/P%Vx.w{| RߒR֍`lZ9c\fyڴ훁L*Y>h5,+ω5x`yxz; cӹO7gAZ+_*kkCl^ȫ@F1Qd|0tX7{ŏ_~zn Cqi2(Zwve P, iY9XU{,##u,O+³:Rmoݎ6Gfp%mG>1|ֹaC`;ʔu6 wO58?C0i6՟k=[Ǘ3[&nʬG ҃wZjٖ4\0! PCB]rP;ת%IK}Ry1dk۱Wp!ePMx/7+t=4qUmѿI#r@T"`#b+ dn,+Ui?.ս9DxSAս9/^x'Î/-zזlC/RY{e8o|RE[{qh\?ZomZ:oƴ@YY!kYFm+h/C_F F%hH&d#' XN8v]ОR{ >>|rС~E u=WlDJrS`)^܁LJU<lVB45OFA1]eqlu)ֺ-|;V9ljckl?e(+¹` )XTU]&isVsX<*eU^goTL 2pHoÀMNF/$t DEh hShy]ֺ-cx]?϶ yޟ0yK#%,uLJ/BТm ˼.ĐY"֕_zt:Ώ|ySIAyyN?F||@a-Q*$_BR}c9CS ̥,ղ 緘\R`}d\݀ (&q؀VaJn PY57 V[VߍtiѢ0PT]߷؆R8iThخY 6$XXX(^ŶW5QϽz"MQg]c6E/ұ+ '9oRҊvU\9[% ~^D=V24Ej^tQQ4J{CAy}i 3Lډ(h*GS|ZU[Ge(NY$ iT|l |e˪AFaQ*-3Tcb)@BUTe*i`BQa>`BCPaȭzq& E4<ߞQ|Iox)> ҤM +%nQp M LҶ@ J؆ato L^QMؖ]hݘ ꩱ%F='AQ40th`кD&CiTjS)چ*&*j"[~쫅h&Ehk9*vWQ^ai'&ۥhw[8JL}-Ul%U4h)Wm/PmbN5}m.UQ`?7W`ůfU/t ¤Xe jSIeKs էz#6*j7E٨WURͽO2xihj0^s ~˜CQe%TgLBm/땊zlyFU2v?c4 (RZ`ÀhAGN FqB\SoWe##̘(1,fTPJBㄮ+Ĉ:`mU@3RPJx^UWFsThR fTuCR *m;@ZWLX]ex!dr:tYhZUM$v {BE@3z#18iֻl^ߛ?6^C;};_zAp赢hz|8l>rz;x|5-}ɷ};~6xgsx\ݷLJx)?Ak[ol/ -"y:n>!ȐoKs:}}^)*0r@I̸ϯ/ǯׅ!CZ?޶ xؿ::M96_{'PFP0uc :>}^8:3^oo;RS'%6ێW{dn9 oߏͥ}41\j :JPjyZ"tWg۝ZA2.-([fc x:P3,w毷jĴfy;Є(u_׿T"NJfKosMNwV sU2cqꝎ Di؜~p)0"-sC/=PhJ ؼM&Sc$f7+>5B4ҧz=oϷO(K"ƴ>vګwy;O-Z}j Ky "hooVtN~s>no.k?(n|s,&\xO>y >nXFr{ߟ ]P>:>#6aY~L;PM#7JP-g C(^Ko>Ǩ~@g$]I-2QJ_g 7?|~qМ7cb-5y<{;v? \`6 :ζx:*һّNl3wu aQwssjzYx?O Ux@?=]v8^c,$y~:? FиoDS ΀m`j|a.SoNaۜw}Hϧqyhv$vڥx7L ŸLV+rRc-Bv<_d8#w:~] C0\'Vp+JLU8SunNa%7ϿxM&#j':CyozboÎ;鈚͍itj>$9>7g`l, Yν /50W?MViz=C)7Trc!i1:*f@j,˄xB JSgoG}2.CW6iQ. |X+_Q&r6c?n.~?L钆ׯ\\t}n~<|zGhnq\PvZÔے W(W]Hl_0ɇvo>\PlU,ulfJZϠ<%3Pm`3?lڧ뭛S5?/,Bϯ 87 d{H?[x=PKTPI/>.W~U |6qJ?N/Ҭ>S/z`3 w*@'\ awG%^{zy;/w_K؆e&L 9Oפ)f'=FFQ4j;¢6#yXJ$>q؄\JH30M;-4D,SQh8d\}O\cn$&Yi")8d`NLtYuA!9ad6rdad"6mLC_"hR9d:J(L-$YhU<=+SC+c$Mf!GF$2r `Q[z65\Yub3XH"̀d^Iyy]h6 k}}:ErU[ҬHG\T$ Վ8B;"R"{rx |x :w_kAAb sL0 nkFя0SZ)R!N}:Df uN)Egjahl vOzC\/^-kQ ЩfX1?SZSt +PZ3u=emcj(9KкP {D0;8eGF{%ǟU;KK٤}r|o*,K&o$^% +X|]}1{XV,1lCBLbJY[$Z@n- CB:ZZ'+8٦F֦ II2( Er;FVg|+`tbM1|D (y'*6徔%YfV׆i"9Ų BOrGHJ=>9lkr=UO$uY~Oz!kS*zRcZq`EI"Lݗy-ϭ{w_,C>w_"& m0΋韎s0+)DՒ< ,""u5M^+OwelV c@,8.u8k:"D׺&qjF Se,y$֥.+!点\v U8մMǩ]cdVf@EL'!C5] m~]ڦHP !!Fb]ן5very4 NʝIiJ ,KQǿZۚ?wz& L}1>Z>˧:>" չ7QU2p|z^Ǔxqnj_&M2.A?U?9OEʾG7D +cW3>7|uE~9Tg7$?nKz{H.ϸ/a]oaооߒ4+SG*o_'(tPƏ>x![4# *NqOIrɴC ,8sl4x`" [{86u]-8&U'-9922-lgy흯S7EIEZh`e0DNFDhɲ :p;co8QI.paO֤JslnU*, g`H:5m ؔ"5L!o\pIR鷨҇=tR+ȃ@j M2(ؑ;G ՀtR4zR[LVQOjqO9I}lrړ8 OIl=9345۹n}OV58>da`_lSdV7ڸ@u-/يsD+"s>Fq ֕ Yq\#YmetVL;pH"`V=)Wvpxe.5w"Ȃ~Jsr<\{^RI-a{̻1Zշd۰t8cR⪹_,af /EUƷ˒"(vW#d >{?`̧cD gc<5{V޳SJvBBgYeυ®f豈^u)N&2l)ߞ>YfN={neeY'L *0||HOɸH.0'+RY HVwFSNzC,S]@H,sz7A{5ӢH.ʭD xGNG*Ψ#<R-B˸#7QBX2SrdR5k}9g,4 { < O#%lsŃLu0ӑ QCB@k'$:_7܇6B}3'h(762łǓ>'( %ȔLR,<MZN"﫰,IUlH"a5>ɴ$>'qqME A dFi* tD(Րyq-ն FnG׹< =N 'w\K ,z225NYKA5:QprIûCGVQ4:H*IO$F$#NQ\q6žN0֑ZqJA"}.Ѿ̂$E^rt{)4CO @a{E.tK>EEɼ"ڰ ~kQi7<'Q#k2+[F{NƩv9}IX;u__lQaG}X7Dˉ3 Osh(c_?Wc\@c:\m 3LbRHVCo ѧߓeU<8a9W0 `ǜ #8*)IO:R"Rϲ aPZuSpFV饮Ri} d 'NV46(AXp3,*N:=9u<͵LM4a. & o8b ,&T3:~(ô,c|a顉J# ĆYӅas|w~(Ki#TifJ"wGF?vX"Jr8iLܡ{s' W421OCF=9KOѴ'\)9d\D}RԵ<2GjRW֦@gЁɿ\z=㭣)w#2kolyv7K_Y@OXB w% uT$VZʉC*'g\f ͣ\deIB|Y[خI۠p5md~~H#}G6Hhc@2֯{2L7! jӌ+9| d@nLi;ڴrg oMOMYo`cحĪ7V4Jr,;o|t8IS$f1ש>t1xk۳Z;,F+6?pt9iz6:¤ "ח@jxx6Efa$ ӗR;uddNr&S?IX UD+j0hZfq-svE*7N4vĶopभu:0O|uh&w8#K^ou`\XC&\x/ ti{,|'8m<-t; h.أ$Y-wlB9-Mڷ>B$P W[ur3ކfMF|biH{،ъD~^JdӦ?ACY-ZPXWY Z8!IfEV}D&8T4%zdZ'P (`M8T*\6w.>@IjXwR4ת(϶]7HL+h:x"ɷ.l[ػ#\`>x2SF&(5>a_PU شF *`NnQ=ϔ,&)La=R0J&8W{IOz)+A灄^Ü`nE]Iy#j].%ޠ夵 |iʒ: 'گ2+n%PcB%cUgΘȡLF:W"Ji~Ȁ9Msv HQVD; &4$s$ \F^7JcISc,kY㊍<27{<.4=pAjWR$pO(M da*TU|y3F j4yHW-qPy&&G ʰ m`Y%P{۠Ph#,j5G.D;l?_m*rh \u7_ 矹\f┌ɂ<NY΀w= M;"3ktʷ$P w=j|GX?`BEQiN28 m7C e8vB"I lLnY#mW-,I=`zۚ} b. Rݸ&mf &-ZE0f~Ţii=nTw}y"hUK4.c} MRz5 ȒEü{%0M{C vVi[o _9ųXsf+|;<4Nv0u s1"A,EձvGéJ__o\W56m2c./bֆi`pO^n }`hGwljd Ϝ5͓h喘.BtTwzBya&\(l5%}]=wxQ'E#tε%kMrxCk;cnyij 9i\Keҁ,pPWp܁}[3.) д@Zƾ"߃"5N6x]Z^|#U_#=`+MS%ĕ [i30II EKչ/hHDź;o+u ~)UmQ}uuŽ+#X2jT7H;MhYqx9⛉9TIu"@D'w_4ZۧO 8y >#=A(Rs@ݻ/Cj:@K (>߁7N#4bUD2C8HKb{nɃgM өK=yY bbQ(@KV,#J`= tM)`B(A 3 X,G0~xu&$§/U>"8+s(@ h=m:.ÆnzIn^",,!:а;<-Dp}D`Nse<kVƧZVyi?= 3<hvGGfl?B:5y$4$ K5zmf dJAfdN)P藨yD'8Lj9|Pq6sw\WѷUaBܞ> 0ZW0=Nܲ,felA:/<̌aEҸ]s;SI.{g`&|^z'h++d=NjIa厮XJGKReaNf:.88רj'pkϗY%r*/8E!3P22?V5ɉQ:1rf3Qcq!aWaQI}H:jgX)h=E].[]hOkQ[/,R12-j}흅(̶Yb$.2np"f[5Vu:r7(2Ͷ~dݬ*' c%BhƫuT)xoK#YԴ@Zu\ Zm,Wm6IF&,Մ|Fk4"HA`mXznS:)hI(cSsƳ!瓅%hM]t|yJ2tWR3cZb)&w2oW3VT?Pr {=m/aD\js _L[h'ExЧX~3auV2|eh(xΐ(.?İ/GxhkSxLYFOm"_wh${R>)xR~wo?Fg E /h_QJ=&co]%;/xΰ=y{α3C1xGwo0~&p6M^sfudzcCӰBdMUw ?hOGd_[)W|u|-*"oWt%dښO2w%Ѱ-ysi;ޒayz|k}}-gޘ_xp 3xc~9ؗߒ_q[+#/{=oί>v%B%BcP>og&J!A~",ߐ ͚LY|7og?yDgjk>Y? ڋk~g.ߚ`y%4lUY}n/x!6!c>5|CJ6"kK˘AwEa]dCTӡBlt}_]l<::r:`v4\:kt`rn&%"3&U߯@؋`/@iTis'(:@H4_Nm,qD]? ˢlDUt`>Ԛ$Kunex[ <9"%>ҩN_1G} Î4JY7^$5s[Ӷoh0dU  kPL '[YrAM]h^~J> @VR ܒ\vR`C W6Z{ "^AZƤ"ヱKgOvǺI+~ۆT xE>>7\@ϭ1>l#W&1_K΁l˃_!\>ՙUSGWo|L=2^RDJb!bD-QȬ\.drćxsGo]1D~䲱? _27.Gi&sb=vZy%-J7ʃʬG ҃w:jَ4\0! QCB]rP;uЩ#IK}Ry1d[۱Wt0] ?l __<l{Eu-%!+g_@@P. &EyBl̍tnB5S4=RcR1l΃Q6cTo NY/yqT~؇c[r62G7>"G䭽86E7doQs}jf SGk,cZQny X෺耑$mI~Ěc5vd{ݗMQh.Hz}l|r|":Ё++6"8IrS`["Gw_6in}d ѰT?b6ɶi6ɶYEmA2p M^DoÀMNQ!t "eh hShy]HsTS:1xу.{[@܇icO)yk#%V:ݗXEyS!Cd|VXWϻ_~t~۟^/}!\G0x}{~ϯ8MyQ$[TWI慺M)0E^/b4t\݀[lU[lTV/MUed)`.- o(> Үv@yλuq"u=Z(1bB-(")<4*l%ұ+ @ՓX PхBQ4hn>cyEp$ޏ‹Ó&1ecU1)CSQqX6퍊U VK;eCQ4h*GS|,zFu9B#RU +0([V/ 2 E@ZNH,D^E\!&D#&4GnęN(sGQ(MĮR[H#ØiшcI)T 1 +X]۲seX37BGȠ 112(#FnS T$*wTyJ1DŽ i*>Ho%j-ԀVQ8ؤ(>'UM*0veM;0.mYQdzrlwO*=b,9fCLTCc:QTE\oůfUWt ¤`AڜB AoQ5FvS |U|&4B>+:d냢5E ߘS``桙 cE @Z:9(b)ڠ땊zlu,fdΡ?c @ˀJ)c@(N":Y|d€0el7 K[TЕC 1Ng[،W8 5YnJ-7PݘT(=s#lǷJU)-40["Xk4ٺZꬎ]ו!ڎ4c@SUN:`\lF X`+@"t~IQj <LT秷 \b0|hQ!.>Qܾ>{*owx>8=xU\GFt+]Kk$*Ė#^p (*Sf1_{<~`2~_Ӟjv>B^GhƊoo3ǿV"N*f`wXfSw/=?ܥB^vNo+6 @ۢ>{{;OOz\s ˩@vׅko f;Rae[ێڥ=^PBB!{ۢ ` D3~:>J%e!I-P#C0{:x{zò qm=?wϝtN/W  ?/!`@jtޝ|==?3᳒'uG`\E3ߊߠ`N~^Ok?4cQf-c1`J?yiw?ګ O<|z1ւ1ywЄe3@7]߀4(g݄!!FR11m|WrQEX&\rqhu7e{ оoJƈZ6k y:>xzNb3Hlznwzێ% 7K{AQ.,Hm08@Z4xz~ڋØuzWAz,G1hQEv3ߞDžП :FS*SLڗ W&Tdq  xoauѰo>e7hڷmHNN0~t=|Qn;4?/'vg`0LV,O/H+U QO|^Td#~@17-gQ 6˔ԭߔQ|Ǐ}a<=4) \SNXF;G(WS0knoiڟ0beK`,H#Y[lLqqNYe)(r~zmxxM@0Yǿ/v,9wq FLb6~:P3?85IV/<&;M\,a2@Ck:Xv=;u<>?_Ѝ*g`4DsR9w>1~Y6i |㍕cIجF78du_'4}ĻO5Un2/Q Ґq J2SiwzdoXiXa!=~Ed  MÏgTzĀFfEuji.5LY+=/=p|ե=q4f??.ׇE0"JnFϨרyJxyzfPъi~N 4l~a)?.}\ b}0NGQ5^ iA*5P_1az50*MR6맗<×` "!u|)_NY"uK=22 VS2p203R"Dž􀌂:kRr@7IHg!00 CA$+{gs#y0N I3b2xF ̠êOz1#([$s$|NdXAQ$QAb!L\iZ#,S <3$#(֋ȪS櫚AU2FYef$*Mj̳ʪFFˤ~$ePS,e!ziyI@ȼ30&8*"-#'}Wr?^/3DZ rM0 ncFя0Z)R!N<:^S:SKV6RA\/^-kQ ЉfX1)(: ֻG`L .%#{ J`!a6qHrO+PPS[qp*M؅&_率繣Q\Dӹvxy+m'qe;}?#Ox[./q0-4xJpSLi}!RZãӔDq!$yhH:?eƕ7mo;*ao<0۵'Cy~PkRVq×Y1;Hά2'Br0YJ4CX \)[0}zߞ8Q\l+RU`[A8o7n WuA `T { Ɓ(ܻR#ӠRF.:@ٕjU`f䏱>``QR{8 2+=$elqju0 %kadjJ"X&@Ě&'&]Q ="4v!ˍ. Oj^VZߊ}J71杣| Rg¶g/rLo DR)3e皙\-X{{~q8h !;}Ht9hkIWnU8G':͋䣁Dgȇ/[l[wX| L^ڀayM?;`gyg%yXyHj+*x#>$HLnX/KDJYppU1p%,VtxE&u֯ զXl8It ]VԂ~7sUlApi:E*ԏSȜg@E :LetPMףB렴_adpR72Hgq᳡EWB_:,Q7:|#I3 M)@01о=|< Yq7ܷ|Ҷf;& ӟx;d| }Ou |Rys_aG9o8x}cZW5.ڕ1~A$Nu [WӧN7#l>Rмgd7(NQp4a$ɜ~l`cfa=Qd2ݓ4lᵑh5)(oInsͻϠhlXv$'fb4|H-Yui nfUM' 9>Ȋzǭ*@Az ,pg)X% u>R䠾>)ચN9IJP#ޑ@jHP ԵIFR[rHf5 M ݎsؑb2rԑ=u@;Rہt~>HCq@n;R?sGN$ sfAߑ#åu0<66W՛ĸyqm2g}GcB¥qvi mCTYAH83J,Ӹ>.瑴"_kwdC2:2l`4EE* >HyIu6e|inoSd.oN;N~BԴFo8Y6Pr!Z/-2q/h (j00UۖLKK]L`$IT- 3e!ߟlNf (w(vv;[Ihꨳ-i ۚTfէK5ie(y܎~l6ëji<պhYӦ e`\gUQX(N&CIgP=KmϵYK.PY7a+@j&iDx;vWlZA^fWYM"ZGVZgiq4wˮuyeFzӂc%YeQd<7"L5vlv)&WlRl7bX1UmV谻fuMbSq +6 4u=U2t7%2L،Գm`ʛA 8Rn7p%B5NרjPYaUyX* g:5V -!v:v24;6r%4 qR1->NC} I7MN_f RFA}]ftI s71̳RS_Ku EuY\$v}t $5,㢈7R0vrAj̚K,&NbBC7I CLsoXEhšh1ƣ+k̪7ڡWlFsm$[T*É$felF+(M80rsU[*Y^&"Z'}9J'Iod$_al - UUMReeh2[ڡXYЁĒRxr%=qXy/74/JQ_ΧӼ"%ȫr}YɼEj'&db^fPzo\91+ &82xR-2ȭ( !cGrsFVdE$l3$]>Gk)ϯnQcXھq⬡ ǹvw8 өW괌a,]KR+oMaspev1v 2L@Z[EBebrG+vU)<W-Z|l1ndv3W V7gtj'&}gpf^PY-Iu{2YYqPCW+~ l?naeeԧ0~`oa{q Ӄ̖j2AnUmhD :ub曱Moxņrǣk͟NRZsBRY/?\U:WC  Kjܜ'ej6SdWNW3FL ^ՊqZn3uX)DaLq2V[^f͚B$\0v4'PHUfWq{oPnPCpe[[?$n„fDe"#՞7Q\3x,:]\=l,!*/.Bt2Γ@r-.gTܸadIBkִUjO/qgbkjO7 FIjTŏ5ĥ^ۇ/h&9y_76M}~B.Zo&Zsm%h(7 R[%:m~ hܗQ@\)WA]GƲSO%MPCЪI IЪWP,WfNYY>n \jNB:aio@*3b=vbyW <[σle]>`DT\5ׂ&HtԚX>̃vYRDYjЁfgLt H|+S"^jV;v@PQUVhv,# lbP5P֋G.\)WGC"!|ZTU-. [@Yo}&pܴ(XiA8$-i; UcydĴ|E*pIYw EHIәEuNZow-=iOxZJU%-_%a|ߒ3"oj5@2ju,Rܹ̔J_)s(dH{I[t 'z6̴adX:P t P̈Z3l |>'ɴȫ&'=|<;H(4. ŋ"$er2( RkR.Iqs2, m,I˹fP>deqA$4T}ܒ WI |U2°k nY^,5g`/%衒bn4V~GNX&& TexEe7L 19g6xy"/'pd_'-~MZf'tE24;Jn&'oI*(ȢӠT iA^$fO&}M F ̋:D3:n ôȯc|n顉 #> ĆYӅbs|wv~Ki#TifJ섋^dZg>Dڰ[U.?Fir7dZ&vx9~|s4MA9Lm6 sCH=rW`Ɂp='MLG@Kh=q# Jr}Iϙ &g!LoF@9=/3PHf}AX 狈;a2ůϟ +DR;]Mv ev2W2~C94ZLolOVa {NZǰ#T\efBxےi@N[0vQGO%85lVZou w@0qtO3}a߲C Q0 *ɮeiM5I.Zo}>˃Zb5ב0ZMERdxCEVI_/2b$m# +3ohukd^]ZEQu >OSydg6溝 uB`QD,t u}6#>ߦI>!pFp}g(T}^ >_Gra`ͅzC8)x2/ zjG7 9I(r$ GQ,ͳIӐamI 6D6^H-b㊰BI̼m̌Mv##z NjD|usR4B|ޓq2_]>d69gӑU9V)HW]#R$WHd>[ub=zIZ||IH;X6ᒄߪ~^JFd;ACY%ZPX|g5Z8"IfyV]D&8T4%:d?/bTlq nA0#ORgJE禛xŋ^j%B{҉}VӦ'] Y߀xqbIz)IF1Ys:~RRۄ}~G _ ֚~esRg#IdY/#wEppogO*(N:}iYͷ9Fpԙ J*UB.P3Д@Zv_X᷼7ejy\eX>=)zqk=ʳD1iM* }'06QII:#eT:|޷s/,&TݜTR-k#bya@s_6Afq?LF9s׏"HFdMfص<Ґ^GMe`W\N"=, 7bXX K5Q|_W6; 9 ܈Թ6]43A9Ik ^-z(Ӕ%1tz*7t%E2 g٘ˠH\R%|>ΖbԠFtzBPW/>oRj2},{ 1 ,xho*Sm%Bmف(^uGa We\ mA֫P잋eh&NɈMyЄ E[8SF'|;ř`]0yg١w;>&*xO,.ߖx3@0\ӂN+4؉F uZv͢3N>fjVmXP> &z믫p'ߎ[)k2hV(Hhb΢esc6l눘=ѳ:Hx>ҏAQ*"= eTAë"̮ ^ǕW ,Y12z4\0芊{| $4 jə"jlL_/[2\2 Ӱ~СwZlfڻ {]`hGwl璔˕dO4͓hͪņ-nCtPwBYn"\衫&m5}]]uxQ#y#tΕ%j3xCk[cnyij 7%\Ie҂ϓp@pԂ=[3.)kAƾ<߁f<1N6x]Z#e_#=`+u]ƺĕ i30NIE չ/hHDź[ސW\x(S<7 6jc#G͛WJ3FHEXn~vu3> ȳ `s 7q. dQRۂ,4E qVd~_$\٧z3B},CHKМ%@KTgN{o0LOw 8(S(m{BM#߄%ѷ.P4Kֹ` y2쑢In:x,2]'4C}pϓg*=3ժy>uCt[IҮxfLs^uKĸҺ>$ MY̲fR̕ AWK4ߢ ^ۧ KYOH;J.϶0Ps|npA}AMu7=$3/ 疛-hDʃ"E>F0#2. J3U K<¤͟rޘPs4##3Y!5y$4$>jJ^)앂^$9ic@I_5:f2Q[}EM~Q` Tg ײvsx^xߖ q:ȏ'Hpi^t83 ߚqZ]m^i6>D߳ 5 IvIF:î?aMr=ށ6i[]A[iشrR{EROt.vtBX_Sr9Z2 2ձuF5;~;kY|j'P) E y;IV&'ʇDfZd tH{H-.(*Z{15BܷζRvs\fҞ+< 7_XbdW $; O nشyȣ:;e^iA( ғ#Vyb|e홁mir!OEl޼1P|'zZ}IE*Doɵ |כqU,no;$G a/ rlԒ*X2R|ܑ+dEӦ~ ҪkJВUnx4oGSRՁf9"&\D Z']+S ZWU:0?MA(LAYƜh:|<I돦ζ׊st2FN<%kx}o<#?+3fG;7R{S7L."|iޮ<ٍ޾#Fw~<4^w;^?G+M/`Dw}ǓP?ʿX"/ʏD O'/e8Q~_^uYQdž}Y\?C[;';g/2*Ln3^C7߃LAw+x?On2?+,ZxoU;/xZ3}g~E=m\;Ɖ=7oo?y0:P98#r<4x2r>"U]]9O9%ZѬ4?W|uAߗN[ޒbܷ%_eA*㖷䓌`>_YIw-o'q|4hyKw94-o<|K㵮|ǏӖOvByo̯p<8lyk~ 1L:ޜ_a{oɯP-ַ/ݎ7W~[ޒ_!ג_?w?(wk3aV s$ސ ?xCMof&,iy[>;73<"35A߬ |5?˷'X3DC~3A#-tEm 5pM4/dGv>`E~5ߐ< 2OR2^QXit)j-ݪ~3pٖzˮ>& #{a*+FHRsX1)')I-,P[J16gqLZR*QܴlaJ%ߔzﻜ5DlĴ#ƒUEyn}K|Se:h;t0:`v$\]&׼p\+UE+D:cRM\_ہYͰK&6  39piۭlM~{m 8sfn[63=lILD]ݎTb`ĥ)Cedn5M\*گ?>s@5uێ}Zoh܅mo{潉umG$vrh:L HE|^JoӨR}'0:@H4_Nm-q0E^*`~zn7F.6reXsޖ-`yP$+ZsP'iGF8X(HiAG,dPu; ՞ ^ŖR}w7 2޲c[E \6c+S#^0Cޡ< \dФLNL疿7_O2tWWj=Jpo,^%mIÅh>2Z5Y!,ەuS{ZR뚴T)CM{EWr5<]`c{9|Uj1`.7+w=4yUmѿ( X9 B *wQ0Cb+df,#Uɞi?.ս9FxSǏPս9/^x'/-{疷lc/RY{e9o|RE[{ql\?ZomZ:o&׬YGot##u H38!l2-jH\,'/(v]ЁJ{ >?|Y`@|Y'y`e/DZSٌ:$yk:ݤAF;rp*1-ImXlno)I`#EUe6g da0-{ Q1-uJ,$Y }69Ev-ҸJ{Y1R -DQRqVT,_54 "Ԧe+s 5FUƺMQ6JWQ yЮ9WVydK|cNIz&95}*䤢lUu j>ɯW*>ˏ0E0vAx(@P f+FN 8%LS跫xAZ1wKU`b*,%nRIsBWJ+Ę:hmUS`3RXJ|^UgF@sTdV(gT@ucR v *m(M)TheJCVBgu,* Ѵ!Pg4v{BE`3z⑊S4]ϯS/=r]zykEAz}kz×}s<|_|Gs^^ќ^.f\JBOcwxymzSorjvo(L8wtMKs:}~\=-y*0rdθ/!#(/;^~|xƔsgrӏϷ{NO$hW)fA4vϴAu|zpS fP^^\ *S'ʝ˞WA{L۾ o__5o1LRz>S3V Xxu53dLSߟ/lU}y3d;(|_Ӟjv:?ח %x7^; pqח}BwSzyW9^` -ۏBMr]^5 d7]vq0slGh.FUel]å%|,y(}흛M8c$voV*Q-0 IjހAOߛerh+oe}m;~^zCo|۾O0`z R4ow}oш9?[|?7*o_Vmpq{su?wєEvv?bU8-G֜UXXwjNqw|y:]hwBy<;h²Avt6FoJPK3pvB |\ȿPF+( ܢ],y溜r/}esm ͙~S0,ֲYShw˹?l W~l;tIVޟ͞v͎;9s7[J̾˟Sm?~VNzb{<+׽t6qq ΀}. ooo8`|a.SshN9xmϧqyyk4"tڅemHLNF+c9J|EmGCΈ~{읎*GMOy2j>.6Gc \aR>$ܜ8"fg`0LVa,/L$̕q*tz'>YoNa<?ȈCMPezwV7eiw0}v/o MJZ!Ô=x j[~yٱ'a&4w?hIŹq|y;l_^?OX kp,\N/ϴm:X &K5xiC*[B57I [ -Bŧ)SHziC~So/[Qؑycnk^'`8b=9ASSբˣhrڜi%|~`dVW\ SP$_J\8:5ͩ)]`ͨy|oN};ђGJ8?1~y,h}粿lV`?RU> r'2`}ik~urG(i8_I % ۜyVq|y@ 2e7,|g =*aAC1Q/qPAj J[oG#(\8_uiNot\";B:i>beGo0'r亪ez 󌧄v U.izPuƏ Kaq,q]͇qr=rm.*),@fcחUjࢾտbt~50*MR6뗷kƋ.(9+_V WJ?كhknE9qu,Q l4ͪ*p3Zc9:-PQn%yhޣXg]1~~}PK%B_A2:PK6golang.org/x/sys@v0.26.0/unix/zerrors_openbsd_ppc64.go[s8l E=31U%RmEB{V$%{ YV9ʶ<\]u&@"A.Z3QO`"3HGs:O_ο~~y hNKݻvǾ}9޹iz% ,{$_|{_wl>^Gv_w?' ko;~/8>>~nwl4׿_?KG {7AQ$o=?9KVz']Fa\j[.2CfPJ$󸰑QPbm2Ec`k)gY@ii`!' Pq(IęHDRpт#3ųCr*lɊF@2 ~IX$QAb!L\iZ#YYPyaDF+k`Z/V NjbV Zdޫ,63* A-AXOѲXцKRQ%I#6 ԶȎ] >x fcAȡ7,fE?zt` ˆNh3 pA;5R'w:O(:T kE)-Ղb-*z: +F=:;0=uemcjp)9%hBbR;m&N١@V*Nm⢴p*M؅&_A~(.q\;~㼎Ѷ㓸2;} Ox]Z_$*sM#0-4xJpSLB|U';:0>NSŁ[8AIАu3F(<+]o*۔vUVCo<0۵['Cy~PkRVqìo }$gTQd!9ċ,%!Z->=o \(.IXyzYj)*{lmA8o7n WuA `T { Ɓ(ܻR#ӠRF.:@ٕjU`fO>``QF) w=8 2+=$ilqfu0 %sadjJ"X&@Ě&'&]Q ="i9B2 ]4>ϳռx-9*GĀw:)/#Cܗ8 ےw_2~˿2LIRfD˖53 $ O[2ⰭqBvV=er֒LݪIqNhu''idE>>o}n}| <<> L^ڀayM?;`gyg%yXyHj+ZF7y},I>X/KDYЕCXM^bG_20MmXl8X n /6J7sقTTu U9[u 5tX;P;C5] ~ʦHP !φb]Uw}|d4F9/ߘu <<# /\"/$:67ArgMqXr:d_|v C6 @)hGA2eh'(80dN?m|6`@1q0(2lI HqܔA$뎁gPowJ,; ͓\3Hb4|H-Yui nfUM' 9>Ȋzǭ*@Az ,pg)X% u>R䠾>)ચN9IJP#ޑ@j r/BlR&yHUlm_ ՀtR4t;R+&sؑZ19H: @N:R?!8 #fz3ҺVpM}Mb܃̼Ҹ`6zSԳʾe1[?>piܢ~am[H\@꬇H83JBi\HZo`}U!O6 p0 xm ʢrEL|^ͤ:ZG>4)J27Z25Q 'kJ;D( R Zm /D$6)D`:tL3 DLQ0;XM;vB-$Q4u4mXg*LA]fܴydE#?_; +͸J\!-5Z2kt7^UdX:;+9&P,T< Rssml%HM^7duNC}I7MN_f RFA}-3:fXlY]^)L楺f2Hdw]I2]8I ˸(F N:QU͕Y>)ńILrA&a~4|y MuQX3 9xtUZ9i/vh\5$E8 p", YG7[[&bb*q-,/lu 蓾$ҷN[/ n6clJdiVLf(u[K,)7X4:Õ4/"]fE|9ty'7`&!ӯ7f7ix +XtmSo6+BҝM&BvzÖ޲]b9ްwH5U,~!;fdWl((ݰz\*T$g:WeV42.nFZ؆&d\~v˽ Y&KY20 ՠ'YÁΏ)76YWbͧDլw섁R&mYO۱̃в®f豈:^gȓ80앃g4>CjDuL2}iLKH5_?5hIpI;ό5vؐ<8yDg)D-E"ȟHܤe@n% KD\#L*Kq2+8OYUDP]@A߯2=OK䪸)t4d^hq\KӒU:H\-R?Ld;URxֳU+(Dtvߒe*=y JsI9툄;ԧ/8XaEDs 'H8 /־̂$y^pt{)4}G䠹"纥r" lxVmXc5/4y5j'g;>H;m>wFTho˧oꛢ ]ͽ"`H<\-saxP"GnWfY8Ҹ(%_\,$h9p&}zY-ʹfP>deqA$4T}ܒ WI |U2°k nY^,5g`/%衒bnb^d#'}Wsm|},z drD|2SN3Y<<I}#!z>1za_n e"j%G{Lw~]7IƷy~udQiPZ Î4 KGo/['&JB#J&€D56>"Sp`JW&#F29U@uSg1 4ͩA"WTf2 = #($0 zIPP-iyhkgdQ{4&\ }j|sIbj)ݞ‘ TA0r@y/v`87\Q5BLPDQZF;cնWIop2uĠ%ڶXh؎fGn'xZ3/8 脒D"Hu&*\z$'6f(O ~aؑ"/ac펼:RaJ).В#(Id~3nIXvn̍Y~j4SP=Ј&fO#<$ (s&  =5)O9teZ~HANU)ouY}m\CκC}ºEhh%-y$A '嫜2+w`'KKau8 GXJ_qF'뇖4ArfXdM:3Lh7,Ed AAkUk"kEf]B5E|HF&dͲ EbWK(ʼ7vui*=S>ﳑ5Q_\3Vu^h=H.rᠮp$ȩnmzԾ'iwBePy$ƪ \7"YABP4f:"8y qAQuu7 pD4$DpmX[Aâ k!= /qX"sR;3u$3cSH^}w%gݜ.p85dWz,8YMtdjU3u .RU@Èɕ9ϖ|]X6^nVf>D2'S(R?֣M$j_o`PVVes9g@YM-j@j5NHYS^~Uj. }>1MI?(Oq6ϕu})8Sŷ8`Q޸,%#QHT˼?]#-eA~Gq-g=Zz2otq uOizT1TDt{*6Bu7 z[P3%s|EP/uq=>^|iSғ.E^҆?@whv oenR[Pdj=ڔ$\k,vŹw?)m>?#RkM9$qr"8YHRCS'봬ۜe#8NJ$miBѕXejWܮ%Vy-/ `ǹZM L8X'Eu" }BlePU$ eZ>gK{1jPC:Pb!ʫU)5>zH=PL}e7 )6R%Bmف(^uGa We\ mA֫P잋eh&NɈ3MrahPآ-Y`]0yg١w;>&*xOI/K k.iA-4؉F uZv͢3N>fjVm((mUnoǭ5k+$41^g21ZuDLˊU$W[h駠(C2]Uf'qeհl&#Ky  ➞$ɟ )iOoi{80FZ~ݞs{?5]\Y*b(unZ65.VvGYXhK{?}>3"jlL?}\N2\EViXСwZlfڻ {]`hGwl璔˕dO4͓hͪņ-nCtPwBYn"\衫&m5}]]uxQّl:ʒNu5<17yij 7%\Ie҂ϓp@pԂ=[3.)kAƾ<߁f<1N6x]Z#e_#=`+u]ƺĕ i30NIs_Аu﷼!-QTyn8?w/t=̟4o^)!EY./f|ԁgq@o&d]Ȣ $3WYhmmW?>IO Swp, g8Y~G#-^(Bs@LJ4Ϝ o0LOw 8(Svն=!vo’[f(% \yPO U!.sC7<{hN~1^ }>L &Dk<1>JLjo3@P]VR+aHLsЧ^uJb\i]~Zn`nЦ{FfY3)ʅ+֬M\߂e>rߋK(sLBerF%܄:oE}+UOo`eLIkJ> EL_hRgI>|[k4!>}=>u ۊp Ll 5LJ[pf:w]PGpIpH2rxn i؂M)Sp#L:) 5@;2=2c #e%yF앂^)앬>'M{[|(iK2Z;cVʿxC,e7x"ʓh;>jx_M%.9Z=m:~#*;υ6 biBX~<']}k@|huI4ȿZQ|i0ZN^tiyZ?]} G}QmuhZ4PoŇRqS>[?ߪ>MӖ7H^ޥ"];WQhHD||r?>'e+&):~nޘo0{|cQ>/D,۷*_ԗG}xZ3}g~y{\α3\;Ɖ{o0~`u^sfqFKG~yءiX!fd|Drr~KgY}i~2F嫃/_%_oyKU-o'?|擌ZޒOh|w9Cy{(OW%ZW_Ki'E;A+[ޚ_`{|o~˷'(@_!O?"rж 5pM4/dGv>`E~3ߐ< 2OR2^QXit)j-ݪ~3pٖzˮ>V(##2[./kkGTVn9,,M粱Rc`ROS8[XN73Rзbl,0 T\).3+,iÔJ)le1w9k:z:NiG%ܶ2P{5 ݗUʢ;tвw`;tPIl黬\ tFÕsN㫊WtJ)s~-nnf7.fx.H`g;rpiۭlM~{้l3c-ZZ$k"CznYy*10mҔ!r227&.W ןm l msкmǾ^-74uٶ7ӽORպ^Nv; 42nQ$b2{>ۥth6*uwzc˭>K-4)Imԡ@n:aPbh -ϕ&6%fG77,qNi\_i~ ^]EZПs(eݸş,eWlL۾8eU)vP|M/)6FC˓ƛI,7z}d)Yၪ9!&m= lfD^:1T8CcotW5)/\N|R7\@ϭe|TF!c{۲?O2M}05=˺ uxFzdĽ≔tD!|^-QȬ1\l*wwcb.-{=V>z°!Cޝx|e:~ ?}// ˟4ωIKB}QiY&nA{֣WF[jٖ4\0!QCB]pP;ת%IK=Ry1Ԥ۱Wt,7]1?7cWofC6}oyý"~CW:/r (x<Լ|!JfF)pMDMOw7Ԙy0JV:~͑<^pzAͳȏ:^"Ö>_Zޒ!He?I? oű)rh'۷iyKBSW<ߚ%LbYYƏ0kYm+l/#F FgqB$]+:d[ؑJ XN:(v]ЁJ{ <>|r~E)u] WlDp3S`["$3xl֩B45O xMQlM$Int[)CP{.s2Ԇ&;XTU]ƙis)(H Ӳ:ݬӂ/ \2@pgSsmC2]/Xoz4})h<Ӂ 9c)^@ϓ-m 󬎳KB{tS/Тm O.ĐZ"֕_{t:Ώ$}r:}$CeR{95hJ9ͳZ|s-9-6,lbC,6bSja*lXY̛ha{SDQ([l Te}QGa!J2_UZlaQ,"A$,b/b[zKrsHS`lo+pPQ,RJzk5=*:wC(Dv̫:ʟ2=*+ nW`P8QxxxT7#e(} # &eh j/ި wo((Jڗ ä ࣉMQի$Wi$@|B6B*_h@ZdҲ %u'9U2B"!*0LpUi.bBQabBCPaqdVAr |&=(&(&mbWX)q-L'ޞaߴpȱT)Te 1WT0e?Z}72^ðzfHAa)bbdP!FҢnSKt;KJmhZKoj j@(lR%HӾ ,z@YNV|o(0S= 8ڧWEWiPCR`/3ELTCCu:QźTE\oůfU˗t ¤`J٪ʜB @oQFvS>^W*> T{!2GhuA7~g˜CQǪNN*d;PY~RQ8^|l߄l/g Ch0[]) 0rR)g!߮IkG 3Q,YV}8PJB*a .yO'Ę"8۪ fPJ|^% #pMA9*X,gT@ucR v *m(CZ'&ZaDE2|!dr: JGC4-jTǺ"!>*u^P،x"'z[k'Kwv?>||ڢ b=>|lߛrzo;ߏg'HM~O洽?zK9^.LJv) )?E?O]<0[Dt53#O]epAoTs+~a8>~f;hʢP;Zc1{`J?yo*zc5F;}:~]lwE3a Ye˿?zolfC) >Nv{gۡá9a! 0/xkg/0h9` xn>;uR=5|ayom0.͞]DNw Ir_ټi?r|{݉ÈuzOXR#06_ѢEvѐ3{ׅף?AtU<[5l10SzW SunNaU^o5횦M$`'?lߚ^6X7cϝt fbscݟ#MA>z30[f?+Cse se9A O4rzSo>2>Bb:*,2a=uYxwص[C@`90d%is:p~5|\^w c _)ZEDqqnv/_?~׷p,K Zk7ab_43X>x@`He+@f.f%)r dki~ }^ڐ_xjԫV,<1n5o܈0bڜɩ)Oj֏Q49m4>?u0T'\ SHX&h(qM6{`vك5׹wGsQ?T0qI{f9ؤ%DǏO&Yvq*+OHWI"ȻOev:+0)13I$:a3? ?$S~C"zmXuÃMۯ7ԈĈFf"A}jGi5HX3پmO pե9Ӂ4響N?.5 ӇjFΟǾ?C%U-sgkg<'~|Sfpɦ~ؼOk7k6<_X M?.(r0_݀lBe6Fy<_뢒J}~tz \O1_ g3t9>(|FW`ƕ~Qv9#Sޞ8aDE06fUʙ1Duu(:4wPKdnA :PK8golang.org/x/sys@v0.26.0/unix/zerrors_openbsd_riscv64.go[s8l E=31U%RmEB{V$%{ YV9ʶ<\]u&@"A.Z3QO`"3HGs:O_ο~~y hNKݻvǾ}9޹iz% ,{$_|{ϑ_wl>^G7v_w?"' mo;~/8>>~nwl4׿_?KG {7AQ$o=?9KVz']Fa\j[.2CfPJ$󸰑QPbm2Ec`k)gY@ii`!' Pq(IęHDRpт#3ųCr*lɊF@2 ~IX$QAb!L\iZ#YYPyaDF+k`Z/V NjbV Zdޫ,63* A-AXOѲXцKRQ%I#6 ԶȎ] >x fcAȡ7,fE?zt` ˆNh3 pA;5R'w:O(:T kE)-Ղb-*z: +F=:;0=uemcjp)9%hBbR;m&N١@V*Nm⢴p*M؅&_A~(.q\;~㼎Ѷ㓸2;} Ox]Z_$*sM#0-4xJpSLB|U';:0>NSŁ[8AIАu3F(<+]o*۔vUVCo<0۵['Cy~PkRVqìo }$gTQd!9ċ,%!Z->=o \(.IXyzYj)*{lmA8o7n WuA `T { Ɓ(ܻR#ӠRF.:@ٕjU`fO>``QF) w=8 2+=$ilqfu0 %sadjJ"X&@Ě&'&]Q ="i9B2 ]4>ϳռx-9*GĀw:)/#Cܗ8 ےw_2~˿2LIRfD˖53 $ O[2ⰭqBvV=er֒LݪIqNhu''idE>>o}n}| <<> L^ڀayM?;`gyg%yXyHj+ZF7y},I>X/KDYЕCXM^bG_20MmXl8X n /6J7sقTTu U9[u 5tX;P;C5] ~ʦHP !φb]Uw}|d4F9/ߘu <<# /\"/$:67ArgMqXr:d_|v C6 @)hGA2eh'(80dN?m|6`@1q0(2lI HqܔA$뎁gPowJ,; ͓\3Hb4|H-Yui nfUM' 9>Ȋzǭ*@Az ,pg)X% u>R䠾>)ચN9IJP#ޑ@j r/BlR&yHUlm_ ՀtR4t;R+&sؑZ19H: @N:R?!8 #fz3ҺVpM}Mb܃̼Ҹ`6zSԳʾe1[?>piܢ~am[H\@꬇H83JBi\HZo`}U!O6 p0 xm ʢrEL|^ͤ:ZG>4)J27Z25Q 'kJ;D( R Zm /D$6)D`:tL3 DLQ0;XM;vB-$Q4u4mXg*LA]fܴydE#?_; +͸J\!-5Z2kt7^UdX:;+9&P,T< Rssml%HM^7duNC}I7MN_f RFA}-3:fXlY]^)L楺f2Hdw]I2]8I ˸(F N:QU͕Y>)ńILrA&a~4|y MuQX3 9xtUZ9i/vh\5$E8 p", YG7[[&bb*q-,/lu 蓾$ҷN[/ n6clJdiVLf(u[K,)7X4:Õ4/"]fE|9ty'7`&!ӯ7f7ix +XtmSo6+BҝM&BvzÖ޲]b9ްwH5U,~!;fdWl((ݰz\*T$g:WeV42.nFZ؆&d\~v˽ Y&KY20 ՠ'YÁΏ)76YWbͧDլw섁R&mYO۱̃в®f豈:^gȓ80앃g4>CjDuL2}iLKH5_?5hIpI;ό5vؐ<8yDg)D-E"ȟHܤe@n% KD\#L*Kq2+8OYUDP]@A߯2=OK䪸)t4d^hq\KӒU:H\-R?Ld;URxֳU+(Dtvߒe*=y JsI9툄;ԧ/8XaEDs 'H8 /־̂$y^pt{)4}G䠹"纥r" lxVmXc5/4y5j'g;>H;m>wFTho˧oꛢ ]ͽ"`H<\-saxP"GnWfY8Ҹ(%_\,$h9p&}zY-ʹfP>deqA$4T}ܒ WI |U2°k nY^,5g`/%衒bnb^d#'}Wsm|},z drD|2SN3Y<<I}#!z>1za_n e"j%G{Lw~]7IƷy~udQiPZ Î4 KGo/['&JB#J&€D56>"Sp`JW&#F29U@uSg1 4ͩA"WTf2 = #($0 zIPP-iyhkgdQ{4&\ }j|sIbj)ݞ‘ TA0r@y/v`87\Q5BLPDQZF;cնWIop2uĠ%ڶXh؎fGn'xZ3/8 脒D"Hu&*\z$'6f(O ~aؑ"/ac펼:RaJ).В#(Id~3nIXvn̍Y~j4SP=Ј&fO#<$ (s&  =5)O9teZ~HANU)ouY}m\CκC}ºEhh%-y$A '嫜2+w`'KKau8 GXJ_qF'뇖4ArfXdM:3Lh7,Ed AAkUk"kEf]B5E|HF&dͲ EbWK(ʼ7vui*=S>ﳑ5Q_\3Vu^h=H.rᠮp$ȩnmzԾ'iwBePy$ƪ \7"YABP4f:"8y qAQuu7 pD4$DpmX[Aâ k!= /qX"sR;3u$3cSH^}w%gݜ.p85dWz,8YMtdjU3u .RU@Èɕ9ϖ|]X6^nVf>D2'S(R?֣M$j_o`PVVes9g@YM-j@j5NHYS^~Uj. }>1MI?(Oq6ϕu.u;i$5A;)kgcL+hoh<66Gػ#}\`a _PU شF *`FnQϔ̋:MAoS0Jƅ8W{IOUu @>H5F>?ɲ^F d I 9ΞOUPtӲos83H*U !DWb`UqlJ \/r/X᷼72j5ق_H~n(ڤ$Z*F>[ U7@!i l鬿De^j>МG-MYFeQc{$#2&3BEEBZiH#2d.'ay&R14r,%I(>)+~灄^Ü`nE\Iy#j].ƙޠUjW iʒ: }'گ2+n%PcB%cUgΘ`Te?_GҔs cT'?XӒc, dӒ ,viLh & ,7 Hdm7 o, ?yҦ"YTFqCx ݆5 K42m )JL7XM!m`7*4nwZ = &E{RH Kz_"W%IHx["HX @k=>$aVo5)<6p3=>$ymc\F3A 8<>AhO8/y2y0eEiJA"HVOX! [{>Ib|Px8=wc\af>rf|=Jd, ҳ1cAU4(jJ|-5oƨAZ@"*_V}_d!YwA639cdX:6(T$H)\Уfz[w&\r9WzBų{.8%#2'4S󮇡 C`pfNueF2kPr=Q\',f` ,hb`'wDiIU Rj91Z&| ALV^JRdЮP zE4ͿxĆ+<ݼL$ކ`tϦ8X ^ |61qq즲)3wO2Xm2ֵ,Xl4+XqbNt4^.h(R{ µn׏sùxZmuyTLJ|a}Eoi#4|D2C(.IXʋ}zbql!EtҧYdO0i֫'X,V 'İzfU}󠝁}ꆇx]#E eQЀ>;EPGSpsS/ln6e32˚I1W.\feo*,\U{\\ =Eo?V*,je,a?&T. ׁv*ʈ}zc+`JR]Sh,.grPjF%>K4ߢ ^ǧ 񡬃g*[s%PpfzgV9܂cM7>&O@s G4l OA "hQ#\eaҁOO9oG9ݑL>GM(#. * Z'B4~>'4N9"2:#P_} ^l+m7B:˅q~m)i ϳ0 qE*F&y@&M{}zL"<"ao;G;ӖxXO__~7c< 2/3$q1FڝE^[n3M^gm˧S87ܗiZBD^;IW4x8껎 ?7__b{\XR<3eCy-|IN~˩dmy˖H+5N:$#z+xK}ǧD _eq kIDetGKuw~Mb[}8owjTC }ez`.>+N2wVEi8h:A JL._߹Oԏ= D5k <׏u [ 9.\1Iu[~/|ًy 'bܾUQ0ҏ?+*0tv8(v6.2L,xc33k3n_:>"w;M 1'-#Reߕ XU?K1eW',_}-*}[UDޘ"?nyK> 5d||G{(OӴ%Cy-׺Z=?N[>/ ޘ_xp  1By&oί=v[+, {nǛ+l/-oɯkɯП;y,ۻ5g+s$ސ ?xCM.ߐ ͚LX|7vog yDg*k>s3<~Z {^5?Ayy|lUY}NWnV:Fwo=+! myW1*O0̏C7 DžHQkVYE D[vBp!Y[>w`rˑld$ei:kB2rZc|gIl~!MuYaA MVNTMg+-YKd=qJLK N?b,YUD n7UݡCޡfHbu7Ne7]325u"0_U.c=VHkq;Pv3Kv6sAx><|ޑ# Kn e#mk%l.'M~Ryn7F.6reQsޖ-"Xa&ߢƎTuϺry|XGqVW[am瓃}+@MA-RԼL#LJuS}b8||X'y`Na~Rxlwn`Mk3Hb|Ēe}CУ9 NA晝t\ Qu[LiE:lAm$?`gu,Xڣ8|mkxZeugLJ0#t~?Η<>w&>oox| A-EePԠϱ,Q lժ 緘{l!i)` |7`C<Bf9"V Sa;"4`UMD ,$;!BiWw}b[, f+9 S 9Vbkg-؈b "a{a[Ԕ {g~[c6gؕP3X9PѹB!e^Q>VYIpđ‹"1(EcU1)CSƨ8]PxFh@{CAUҾ4N&PMhE^U|(%QJ['QHTARB{B ()v-ҸJ{ᘹ-b ZӉ/-֥* r.~5X̥kh&cE(MUV-Wjz6*uuB6JWQ yЮ9WD< %s=>VtrR!|D)ڠ򋔊lc&fx̠v?c $@ÀJ)-e@(N<v/HZk>2f0`b YLR*U {Nt{:!ƜV0e6#Rs*!^h QZ ` 8 c@Mtw@ViDh"P:1bu %*Q+ &[ QUU:i WC:54U )hTgʅf<#18iֻl_ޚ?^C;y=_z~_cΗǏLJ}s~|o?{?Aj~:~68^zri?>>KIH)q읿voMx_Or<i"9Q)qiNK_#@z|~]2ٞo|5P0;۞~|7x?~0p}&!E]pQԜ_-o;m5ڪ{Vw/_g.&Ai_ hP| y{))u_QDt>V"KfKo{.XfS en^=RaO!aۏ{\{@_ R/㶨o??O+5qwy*lr*(3 c?B؞~RaTE[ڥ9\zPBoo͏[4h&߷o3D 07$zjdz9h>z(LV>ޛnګw}-`r6{i?s>+yny:,2}[ oͥ3GSmւϗ W-S{s>o4Wac A4:/Gg+ a0 gځos˃+Ai g턂!!F\;ȿPFr$pvL,Gp3|'?|~М7cb-5v\}<{=c3:Hlqj;]aUgG~j܍¢_gۗ?m?+ Px`?=[q| YHy~^;? ظoDCgsm`00^94cלw|kϧqy}o4"tڅemHLNF+~r%?/ێ;. #4LB<تy`1pIJջJG`Pss俭}G￾mk4m"9; eyź߷{c0Լi ^~ǟ23YY={/[.H+ U PO|nUx#~@7-_'Qa l q?[8Ө`Ǯ0^?Cy)'{,I# 5XPcOL0%0Oi$~В,-*6&s~wؾ}`Y \N/m:_X &K5xiC*[B7ׯw@0[,IA[ K(XOSۗ҆BGS^^b`GAqǮyF _T-ONMqxV~,is Z?h*oƇER2@Ck:Xfw9u;5ν?Soߎ*`$DuR93wLr_3&-!o?~|}2\jV1^yBJg_?G}2.WYQ.-~Đ`M9?ٟI % ۜfy|@$2JoĢT]E0>7?hlb.~~FT$F4f79S;JsPAšm{zhEk'.L6EHuAw9M>TlU4ul>;*j?^<9㫝2CՆK6}^I5To]r\huAA\dbD-0Zڶ^PcUnࢾտ~Œk`T>9mׯͩ ]4@Qs 7*3͹< C',)ش4tU4l5׏fѧ 괨C]D]~{?u7PKۖpjA9PK6golang.org/x/sys@v0.26.0/unix/zerrors_solaris_amd64.goݓ8蟋'v#Lc}N< EnPP Tn~C,$z6v~HT*?t~f:w>~4Ӷ6\]Ӹ~:n_RF;^#N NǯyyF/r:T#az2~zֻ hjry6V_kٿWeS: uY9ZeZ@9i~RP]\7( YI(p\ H"ЄB{2 @J w#GLIhK]"(REb_q, ՐYqLf0q<US*]KBj'z*tTE+Tj &j("G+E8*ܓRrZuXœb.Z?6{R9PwIC$ \,uҥ)(K@QVg,u}g*S7wH Vi`.2t2W{3nCkeݞB@jc ?BVI) Ԛ2fI,mcT e.A`*aE}:BTP*,p[faR2{d7vSX]>5 & Ss@@^(}@@61+O^R3RtMYN,WOtb4; B Yno ǔOC?Vn߷CdP"[5l6~ջx҆{8n$~RXu/ 0eGc]x&6͊ 򓥊5}kr޵ lKe` N=D6 o[QQ{#IXe;R8͒(U.׸2)'b`{M& |hLMXnM/r7x9F…jb/_1d,wO"e:+Yr ؘAwbPH$SrPn?㦁,,Y㶧RdҔCJ>b0jL m}VC;aY1U1׭L8]*`T٘(W-;-T[-d`:"YQԀRC"$+eR0rr<\6q1_^ÆzN2OQs(5Y q*b-T?P̔dP 3?\Ahxy2P?m} e1H=h(ںPl Xk9zV0h4"JXHuh/˽P(pY*CpΓf !@(hp5L}*|}ۦ(B%YƠ("ۮ*)M$k*DX |'$EȠE;]mVAV,% Èf6n nC0#`C=A%66]b\ &LF( dP=\('Tԩ()CJe8x2PksjC QytҮ 9sQylI 1r_H?w{ӗ7uFhv;jxCP[*M{F(5;Hn2oA;*j$Z@Tg mD 2ȼcWB'KAzSrɮ?x4Ue(?B EE@7 U>ŢL]z3~bFx;ԀJݠײVXT:  PF_䃨@ݹHM8TNsOn FnfAIE}(]'sT 6.Ew>A bCGX`/2riɩզ;-c͉`%rwYώj70JPvlBFv~O Ml}`vTlEKZ^GEnR' K.|Wꈤua_& uf^醉|Bf^ϼi_* fkVlfG+6c," rAyB>C2>G{ !Q@b%Ya*M'ʎphx3nU~R.8%T~Ҝ%¬tf=(RNyR oArҪ!CQB͈4EJj;J15l(ya.B4(~U {))ҨAɳb@@URZ8yGIKYyr"'Xs +W"a'L[M+LfRPEIߦrMYnRuCI|(MPE^&H7l\9 7B68P_) e^>BQY_RBDAGHD*itw|d8RGvS>^/Lw4j(]z}ʿR>g^^rX25)`KI| \'E( ,4g7S>R.O)i0WĒ2,$ 6Dqy/p%'eJfu]8" ;v{/ $/ؙΐ;R4gPSشf822 W~))umfEܛ2:V0ߟkRa-[i}l0\ӎ9R\/ &%a/͒wۭ $:8cC)X9AuT}\+z7du24 O%'C(g`8ҔȬײFXFWt-:R4, bՉqiE+-̟Y&-_cpzΆ qғlMAR .%‰lPIdt+PxhKd 7M ܺ/ҙBי'l ;QCB<(ͱ(4,M TrPwDJ{Tqm(1G2FXBUSW_6N_+3ybZIwILeQr[&I,=OkT=>T,3׿IjF=cMJ)O4G XYܞ¨ؑeC I)@ǘX}8 A tP&#X lRU`aEyR ڱBosv^gY$B GLDBE ePREl1 ?2@)6x8<8y-n!yDp'TKS^oa([YHGeg R|AHSh2edC{r@@Q4(fo+GYxE@{y)w$vhzk)X;ʣy%3}6k>l&@[5 XN!k?&BKSV;+hϲ֨ Ew#A 4|)BqEʃ]e& @{w2K?.-0TGYS6. ޶SRȀ)6ؗ(N`b`#+Y:CMeh_tPz曞KQFyNR*,;奣6.H \ez+:umoJSm D"6k'ͽXAq 7^эWp8|tbL%A S2;BQ3M$|-{yRRL/s*X =>EHÒ8yP"I3'P\ \+I%;E!Edpbаv{@zBw}_If- 2٩}S M$y} "B 1E l+5/L$e6UƉ[he%$ m6@ A͛AA@e)>Xf޳ȐcQw2y$XLHAgJS?7,|3&p 0(ZbıXY:/f"zB 1h.hG!⫡-(»nRs  f.PSH ЀBQڀhQԆBI)g b)¦;|]\2H{PHU@,ڧ"IdE!2@m*3Շw18pj%a8*sm&b'GyVZ̝_ uX2T!SFe^k"W,2r=-].SX6#rH1wFH9FʋLs(LS  7;+^=DxowCȑO%u^wDYOe2QdW?z҈\sD V?@? c 2&^IO 4𸁗/a @г|+\X44]ǂP%Ϝo$]`#RIPA>HѴ'&=?휢`I6P8Q%ǒyɓ5%LY7U'"+nA4: su#Z23=a6v/]a]jcbhEV򶋡<ק]útú K8nd%u%u(s-F$u(ʹ_XCk:cn9FԟYù_d) nk: ɽX{!i`M:E᠁5ƪ5Bɚ eTɐ :CB1m} Na5pNwB}5,4P!!,&C@г&CB[P!q%s ݊\}>nM>ՈJV>)e*NA Vrĸe34EEl#p.?R!C`awj{2M!GBխAJ$ 9\L :R{ktn.gf@o|`"V_R_(zC1OB[PNuߑs[)k6\M9"sW*7AϸTq- erKh"byp6 ]թht_Zg{ǹ1Bhɋl*wByͣTA`M"IO=e)S2ve> G4?g{6&yqˣQ|" QhnyL)5b3wD3 t\h\ ?6k R8g 8&e\^ fچqqx QZD@y̟kb=sJ%OB+l|֩7f۴ Ҟ5lcK-6fتоĀس^&RzRS*/c0(W?RkXTkT H *ƨMTsckpoUQ8Sշ@8 A;՟EDNʠO 4@z@ʢHM K0( WO{vBQ[V@ Jz܍ k]8XɿU`)E'OJE:uoQͣ`B\44$qBT?p61+sP_J~TEAʟ?xC8U@8ݧnGf^l_nd JFYLsɠ,Hs6#ܨ?Tw#Br[딃A.H\獨%87C̥$ܗ=,pywGN{h79j. mɟ@n\J[!YnJ䞃Xe)i*9ƹA;5G8_9*o$!8[@>s9| @>@>yTJ~S(EY*l^r^3iP6ea}B6)wG1~^$BrF=я˫9SXm|rcT]h? &4fVL>kZ\ ؝GG ;̾ QSvdf>#7 O<t$*c4tdToVM R r=%P~C/N$V:N)^}ل9j AlӯX էGOu:O0~̮Ϗ(R&fMi;SHl 2t=J+Uz.Ta<_xn&ԭGO1N69:g7Y9@K[c2_[I!u @8Y8\i(C T@Ly0GgZ]p*U)s9z<=/"s\-~ij g\2ww:?|:_:r5yij۸lw|>kΓo-P,)cqR8+%+j d>`8ɗ)풔l:sf}QSN띿{g!6bFy:j`"s "E1쳫Æ« c:KCі./Z.\'vlZUjM$E$cXpcca?[*l"`|+) l'KXG+1˜bto-cC0͋J+Doyuk171 G!˄HKc%61lg>^o`f/;E0oH:3!,ga=ICLWMZ;р[P%>X8NBk7X,`Ђ2Y`0:.zMsxE;$Ya@? nwITXKJ$nDrɶJ!Fw%Ң QO]XJơ] F0LY@áZK]z`2>]m;?To#fЖZQ#=0|>o748_؞^AL<Z|Zx/k 'Tx4Vq_OYh$b(t: &:r!O~q2'_~7Χ_x,7pV w)-\_j>ˁT Izڜ^Az6߸$n^<0(~S d;4T[M0w7z~o逑'\oNA~}7\NoT˴́NFz Z_pSǣ_m߿KoܜoW6" LD3\_$&eabFsb[i+n>{[EUHԪ,^'t4ցA ?~5:sw:b6`! q7ZGq` Xxܸǜ\W94)9޷խ BEbZfir{(R>EcZm5k:83jvA0IZ`t yJ&Z3Q˷bѸ]`+ǃ~n{t"j~lf#x%Юi>b#fIbX"C$dQӰa.z{M+f_2W;*iDKo7J7;F#G|veh@j6x@l5߫û%`ڱ-,ZgT@z?^cԝ<>ǑBh:F;?~/{{591t~O~~ -6_ʣ4LsԪVtf62Jv^HJsu5g9N-LȥS82~'* V8?,*Tl' 0d<;5:zdX};3C<ݓj2FmO? #9n㹮6 |ars:1>ԛ,aNbp$G ?smOZT/3~H P.Ltz</]}ƙ y`\h +ôXt2Sƨvך`*XΫV:׻LB V" t6n4J-+2xyY`GhBv Npt>_I3o ۱@BoWq 9zxC~~CUYIk#t:nGVn/~aWn:~}Z/As/\k?~^l3EG*PȜ]ySOŹB1t;#:tڛߎ)1cWu_o4}B7X[O/E& k}R9f9M\`mNoRpenUjdZťk}~%@kII SsD NMku}W&oY?|˵bvPŰcB@Q Rx5rqoLj1so/ftaG ^E"a ŕxߙ,T{Q{^ĕLoWVΈ<_m@}W/N-f,͇i?dYk76oFH& gub=bRf0 `=IF=$tO`1;ĵYo.E:t7 hLA&tUo|a֙tO[iXE&{Uĺe9KaUxPu-2}PK.r5PK2golang.org/x/sys@v0.26.0/unix/zerrors_zos_s390x.go[s_}#f }v=`*ms2/kOHJ{/)3%R{HhW ReN'DnWLEUgTfKyHѡ8(K%-􈞾߫)ťN!ͫկIIR\\#rT2u ??~|)钝E?P5|7]QzjJ?Ӳ,*>e[L?^ O\4Oˤ8'K.yPU~M'Dÿ5|L&nfIۮㆮcFĺmW},|_v? m.NO}LjA& kadh(m2Q{kԡ( f]| #++$ؔ _8bwϣ#3;`āakޝ"L%Uǘnƣ)s\\Ṗ%דFЊͦnҾ1]mzr9!¤2č=_ oJ(LK!w'Af\ʣnE[V9FpE* غP O``El K^_m#Fܐ{WۛwU3BqY5R7pܟ]azkL)tpR@VqV|w^K+iVDI"G&b_r O w'/±;!vXa!vciP)Ӣеݨ5*~x%&%w}ٸN<]4S@?Lb^cSRp*t8MG)L`L76ڤfm,teV}C ưL`q`X[64uC-lXt]Cݽo-Af7V #B5gA}~m-ӑFfY7nHK{C)s}ԝ jmrL75 Frc}ژ8H;)q:aųpІYEæ#i!3KܖP݋;ڦ@FJڴ(Ыv}#ݒK>?? q Gp @p4"1@vjsNyN9ie(7 FI(4X _s.ǰb˴M7k87ьO4lk4SD (%]PJ5a5b;g I$ 1ev$#;v5 \sti!I<=01i$ Y| 6Gw;z$IGSWkz`ℜC 3w`-$s}%mctW#gvI쓲.)3 $HĶ 74q>~DooKɔir 픞KhZfuPzdI,Kոhr8U' eWPLKKښ{ۭ>&KZLѹ̾$uJKwp_UZ헮^=zk>6 >srO߯^)bb&eZQdh\%~T}wZyq7IM$MFlV,cR-952z'|${F=Ze9fsuP =|0پdZAףWHNBG֡xp*vxc.OZ&qyb>& \)J.n7>~D)%BrX,<՝Hp.p/ ±ib `ny`z-.hW;{h~9LG︧ҡMJC&[9ȜVViUC|3"8q[Sh<ϸK̥csZ>[t=_Ck.>2%I:.c`nc.םōWqs4I{pIQh  KVkq-,[S84]hLr!gTLmlByrxO0{qwk롨6釞tCfhX˒5#V74~wM gdz=ʏmgim|~'Sn<҃W(kx\_qĨ4:Dw#PBW߇%>)>oC<.JЌAQ@A2BMtA:]ƺn#:SwnBIST(Cč$1m#9JMKw*,rm -HG͐f 8ʼC݋M[IdIzldNeB6d/sF[1ndnېvc;/ꋑyltT JBkXQuS`60}M p}LĬos voa@Q ġ#O6cۃpL" dVjɕ AdH Bdq%7 [|҃-H`Mgk:%fj-[SQH\,m(Nhj|sw'[:JN97;;QҬ&[LON56~a̷PV=M*1>Duau :o }ՄG5:=}tےD?(Qt)J} V~?_wv'|m8o9^r i^$I@2&Rh#y  ?=My9]B( IW ʚ.I[{  HBB FP[Q! YJ%p|F5b{im̓QD.#o 4|}xLH;q[&c 16EbƸg6'gGz?]RHd2U|$B)?E)N* 7䒒HϠ8#Q>2t;*)w<cs߽Cm71״MMjX@[yɷɼMߊ3 hӁt eƣh-Ɛb.796߻ w;]REӎռ nӴn,QߣW`Z$ti;v۶=#HeS*ԽѸnM=s\F횆 RM&dXQ:x^Qz 5,ԓ ψ@4Y.UhhVr,K#MUY,CrhtDHqɾ$4Q] &(Q}:>p8V+E@*YȭI}Tw4FEsrYqO'{)NIK4 嚣=7z0y%M{+ J;B#d99SF8ߤ дw!&;Z:^<3Z/ͺ42,d ; jpèZ d-[>\_M'|Hv jo<hoJOa ֋chLMm$M<@Kɝ@+ E#R@ƾ!CuBӉϮGSVW{IgBmk}]C䄾vU[14与#eVGC x. sRgO)i-/VoI^g Fa4r焺y{R"tB>v\ߖ6Q } bgD0BFXiY!t)$N' ?.IZD$~R݃皁0YO g>I#F7?)4panL9N]3<)5RRk?'&~f $Bg?'tu }0=uj 7 O.tja|-ӹ(tBǭ@m@@0L$žF,2 @4 ^7Ѥg0#>xM @4חh-hRw: @4iZ5K @4i p`N4A~+Tn$l>9 $0@kP3@eZ;0:^7$>K.il<an~ל1b<;@m1x }6Eݍ<-sXpxVVAð 4`mXNy`N DR P' S @l-7Pp7d{tR30gkjq 9K_iY /Lvp:%@zmz\{ >U,Mm+n$:葃#@ ]@P̝c4 CH1v#LkeȽzB푮E(@~FAxP[Z3Qf2!6w[6O7[ļKݙh.hK:[㷈#4G7,J[MP5Q[x+ 𶻘hDƃYΉAx[kAY7?‚K 6I{"p;%[6¸^( n ؉ӆPNqCBAtzt\k@o%NSVWsFLk@7Nco: hDWH_Am"`ۡEwQO!-4t][s>v04mcy E,n@;7]4@=-SXª/ _ˠSh^ : BMpE/%xX l[XGu[};[mC.̍t ?!'NBZi?-"_qiDo˒][ޖf<4`ơIC-t㆛ 5]INztlo)Bfm#4 H[ {ɓSsX\MG &-)4vg^]^pH_^[:%+z΂7-j_Ӝ 7vuh'$~PȄ4סE:Qs 7Y[_\_j)\QB{Ð$r F^H>5סpxc׺L>k@sH!oC{k}H,\z>9\n4Ts7l 4כUZsڵѻ^;vesuN,)U5Zߪ./*!ڽ-EU]f1)_>L/:oIS8.e߿]_K t/V&\Qp/-߲ʊ=׶zͩIT<2h:y";MKI~|9YX5 k:pNZԜd9 $hu O1^%x"T?UO3ѸXsqi^L+XYAfbCk?|@%?% <=&pqS.nwyn`>W̵l5 낙vIJ˰LD+eqKߚL`hV!qI$(8IPCq,>XXX4SK'$O^R<I &uڌ|zNSzDO!T)j;YWXev9YZQdzz,^7ep!>x42ذQLIr nEj%X@y}G+::JP #g h9L@O ᚽ&L+;;\Yn䉴ޚA9"`&ix&jN1ϥܹ8a_H0q)_ҼfہVRkI tI#8+ l=+8Y^=3nDn<t'T=Fu ZbOTJѓ}Rgy ,3i՟G@ۚ||@ϡA:-pĔ r^ǐ蒣 U]1p6AҜ=ԱE^gGw)I;鷌X=0s׺RPe @zށfsQU LR\2d B }ܬ~|*3uLXg[>C; $'Y~,ǁfuW"2S| z~NAƣtNOdaKV< eoiN{%],p"TOna힂 .޹i6fGu%npcLB݀+Md/oPPK70)ٝPK4golang.org/x/sys@v0.26.0/unix/zptrace_armnn_linux.goRMo@=g*MP[XV/ 2)5*fAR"mi͛8jBCX XacM$M_!+*01WQK|\bvy(Miͦp|Ps{GюGfo_N#x:gO:=ybr 79AvfB)xX}#M] gOFB]a8O[:* otU-oZxscÝ;PSmo+G­i~-@F`z/l saـ*ד˴Z̫i6) f=A:'HP>FqB='883V#RV#Y >c4qPFgGPKFYC-nPK7golang.org/x/sys@v0.26.0/unix/zptrace_mipsnnle_linux.go̓n@ݧPȲT=p H@87ƞ:,jEywdoS%upaOxfst5BY ְ׷m{74qɺˋ$kz"S*ϛS[E8?8l nu )Ek۱@+z!wϱq_9Ɔ ;.4xfB)w/u?޾:A8G  |O](Ew[nBluBnhĕ7s:Hڋ Dq?Fl5 dz1-bZ`Nu a1٬##v;@eP#P86U]7dn7w{{ϻO:^?;0 ~܃/ScT'"?PK> `PK2golang.org/x/sys@v0.26.0/unix/zptrace_x86_linux.goSMo@=_1 A[dSKmr*xA!52.rǼ3>,!GiL!~ SV^^md n{.gj ?;Vwe~^~ /N noa2] ZcYK^X`-RjP,C-檡rAbΕFngg Sii ? &HHZqq5ِaHY}a8Oՠ>W:y;3"9STѧB~_qia&A7 ɲɇ}ժ5p)'zEwZu>DW' jmx ak0ss"(\{ЌAwtG0wqcZ‡pz _H286leҌZ2Pr).U SH .,d10 RbEu1vb Ch0 Љ_~yW _3f&k"ƨ,z8(v\]yGџ]8c(f~:ϽЏ6V\.W16S5QI1fP;̱m;R5i \-V0p  yE r2Dk`U6E9QWBu63 1lⶑ7BY3[u4͡uJ*m1y̐ 3ù-ޠ73sMyؽ@5˴u:p/]6E ۂm\0uwlP.0 ]PKG$3#PK1golang.org/x/sys@v0.26.0/unix/zsyscall_aix_ppc.go][oܶ~ yh 8vNy8(z YJJR^;EIԝkZJ(^f~pttbhAf,GwY;3c|t̲XDf8%!1ĐIS! `/go]!x |t}:͎bMP ?Yfh1 Ca~H!AQ #3N?oC~]ClBB6?`SUYK(͜6>Y:+"OTQy {\SЪ+!8Y?K~W%XRBZ2'sg閠;ĭf(0qIM%!%.oޮ-J̡}W,Fa=fBH{bi|ӗ-B*ͮQ`,!qkp'^vh7 +ϲq>>&,0$j)rv HKv q#AxJ^#/S|)yHRaQS1W$w"ox}@אe0tw-bT{S"uS(_Χ2s:j4ǁoO>10hBW/wbE&L8utJAH&FN&ֱO! f0 g},oj2J8 @\$ɲתދzAYsHܺĭkjjT6+{aDF777bV(AnUEv=ƪfJ3B9xvfr>\ |>}y{u駋߁W7}6rv`"L?_uRx'sAJ9gvp_N ;"3AC^ʪd|v@RQP7yzX]g%S:EJz NN/:%A tvBSU<5C!B >X\^KIF ,ȿsm2Qe9E"5%nJ%'Wh#~46RCPbӱIgN;nx6 yR`%Ұ@OW6AZLDԋ\tZH`!__7k@C)$3"ZO#iϓmTTK# pyY߫<xsj,ˣ=, [qN<.#IX=W L/MjKuv*nJ=mJYu[B'D qtZQâtpxq,J9 IsSbz!&Df[uX[ ߱@+.sSccP*JD$\[IZ8Q("Dt{!C|V}7I/g4fe i-DAV%{/ĠpiH1cy rf͊YȢDɣ)tjOHi_]cgUs7nd(I ?KP .Q[Nm{k>/~34 O<~Ii_ܤ}@Ma9ۅ^uMei:S#6p,AowQܶ!Dnkxm9̦fG)*'i&ru61tA2AZ()ӗc TILʎI]h-3)a2ʛMZfn6jJ"6zi6bk4;^;^~yٹ(uFI/I"IBK$-]Fdr)nhBaq 8 K,c;^Vn;f۹?^U/[:|/cX4g,9 ]ij"y|Xgg4ׁq(/[hRc, v ¥ \^[>)Ey!` @gy e3峵ŸBlqu]._TLmSr;峵RT1 tR Јx heT2VǍ੷&vkMeVdBͬ}?2&Z鏏MP8/!_M )`S֎4Q\5MꔸqTt*==)C/.Q̠/{)FeZ}i L[KkcxЭi- lϓ)0flTDjDI6nLNMV% ՔXgBȲm\m$^] 62Nx~#_ PpEрE ;Cޕ1U5= /DlZ6@^+0pe0X+lƌxV,eQ11awG8X\GZe.Ivu*KW6E*qȵq =<x u$Hnڭ4̭ԣJʉin O?qwV6:jo EP}DPh2JmWAIդOse}0&K\г>ҏD p3NGD]>@רv;Cc⏋aYbXTcX|yD`y׋MXEj'=H(߮:Pt$uoմ̠SU;d]Ȟc )5s1Nzsdf.°,.X ioQ|yl+`SMIwGBG&NeM@HsBIX.Mz;WS{ zM*I84_XDE=c)?rE@(}(~O۹_r^y\x=]6&O?tqOLEQ _zͤ I} RvlXm2L<\,.L9VeULG9\i[3~>Y57#2oliϿ/BO{ ΁'-C.ZGGH] +FHukw>ŌN-?S}C+f6=:z7/{2@D"_ LEn* .;.oVwE` |%b'nAdQ`_=gtPSVճs7TMjف"hZPKbPK3golang.org/x/sys@v0.26.0/unix/zsyscall_aix_ppc64.go]o۶ = nЇ @$] b FKRva?eKƦ[<<<ŇW !it` 9O)w90FMg\}|/?^޾z }~_?\?9 A.qD|BrLЏZt9@S>O'kóDɒ,ԯ,эWfwf=Np[*dtt\t ~: iRdW7xd'tIg3+T;ŒvsB/9L :xeaGtC)LTS@Wv:rc?$M<1OV8)"`cU??w20LA13`~ 7w4\(o)"`TSDf (Fk5~RG`9b G\ ?$#DqԄ.obYpnp $廥2))_.B6g (]͈Q2u(#\dvLQpn%LˑȓŠ'GtmÜFg j41Xv~0.vYTYgVn>cJf̛M'|[{pnnsr7XY0ukV+Z1K0کVmxX<v?ҍ $R}|sD>o==X.Y^ CY/`C%ݵc?dB-~pJ=)8)pжEFC68QA3AH#d{:Qj".OrG hًe6JluיW >qԫiS^ mqCoe qc4)>i9**jIHʬ}׊TtD_u1ʊj3QGڨ&QƩN1r,#͠ %Jæݰ}&gD?BBEU5`^U(txFSJR3if!U>=CPțAT);|1g< ⡳W+^Ol'lfAՇ9x(d՜{1z~=˩s Sp;sMi/6_ ڼg-i7K]ek`c ׯwHF4(_!5P !?@1z0i(xSTdī,wgm8i@Mv c+_{v;9Vaɶou,@qkI!hiО$$` [JUCDm_PZX9kܽNg5W F5 0 +Q |Ƙ̍0$٧z<(F }gI'uvbR/n5cwc! ЁMp/@nzwI"/(;-=Ϟ +UQe.rcUfC̒ Fk,^q,PEPMCo?-c͙T÷Xh.,.Z-r5U٠?KbG Cзt=nŪdr})RzĢqZAcIvy-<'!g{\rIJ%t×`*ʭB  ͡,\zh7}/c!)^AC,F{Z+ѣDn`.P6td̀@[7-C6oR#ı}qӲ]PB<WѝmOOrY?ju}s<6\UpVXr 7˱6u':{<É@f?1h4]t$a7n J(:!l Hy'!hc.zǾDŽJSxԟ8DA4f6MilB:]l){8VSqhmRDloμNHI'XI&'[ٝ,:83sVH,5tf e E08"7\:aWE=k~/foH Q˙\r 9Eb!|G&txtքc!EkK4\)Z#=3{g ӝkk`Y!F@ځveJ|5TִQ3 (?L;Lw΄89 $B\{vmwZGu!v(\ǜf-Zj z !5fmpה4stk4y3H$iU]$1dku4 wg$UPZ&L$`~-Ljk()yu^2R%dfi.Sk[P Gb;u 8kԩ-~zr\ IÀQ=¢_oMHhC` LӠ`rצG壇P҇ 6srl;j.[eCo2P~Ϝ"ռsWŨW`pu&QK# b_s*ee`Lt~ZJ`>\ٔܲ͟I.w6Hg!QI"'-u[$vzW4hNd !O|[~ltpמ)ΰ 84=PV8tS4U#"F1Ph ïg̦a 2Y_vH6S- @dGI~sH,YeRn6_wPKjE &xPK6golang.org/x/sys@v0.26.0/unix/zsyscall_aix_ppc64_gc.go=]o8ӿ@ &q[{f=Dɂ%Q+RYTSmQTH*XU"bb*C#{e9n;\}~sO~Ab/YJAb}J *ґsRWi@> Fϟ}ׯ/v>T?Ǻ)D; {|q+Ʈ~궧Gǎ+yEwk:GM}ߍn C({?=qs0GQ?H"q#ud/tY(R35k$kMs FyXVw*\8R shE= Frn e5{$G#yd,Ekf'Y(V8\2him]sP`EFQW} #}_*_W^>t+rx1kB"xK$#{e E2u +Hߣ˺Hݢ;Z ajwkz;BzdH'5R̘#ud.`l Z@[92@FxA[\wXʸdx1reF\[5X0EJ"4*-oj~fXV]iǺG#k,l㚦:vϪ*f1]@t\#YHb?!yd)_J\<Ռ\))bBF3Kk\'4J!}edHDEd"Fžbl`PVm ժQҬj0M8鐺2v֬im=Ape1g.GH4$H"{֯cgDC5\ZF^fX}S[,hjkڛ NfDZ;4]%1]'Ghcϐ"E0֊[?^&!5)YN^ G궊0RHExO 2#tb )f S9 R#])RHNڲ  VW @vZ#ue{,{?P.b44Dp]Ê Vk&C؁꾎]*oH!}$/iD2Vp(r bY8iB)hlqnCS|((RDyDpdm[\#u;fn1u9sY*!Z!*T3Ԃhaς!X`,q3Z[4ŕTrq͂!b \/3PfMGƕ֩.2*l<,Hi|tĘ ѹyd'tqZ0C|t9*r@! !*X,~ SuIp͵=!ZfsTbCTr@s”jxXz+E3f9@ׂAu zXxl9Wsy:YѣtRÂ?uBsϷsj2ie\|xإehQԐYty*>34}yX2!* NyXRe8H2q.7 Rgi5D;I贘<8ս)$v57:k2Pb$p:* JUY$ ѪđORCמ}u{>vOx@k:;X0$tAFFdF#2bSq)2`R2SKmhL ̂y2`p2pl3z8Ad)yS,ikfb:Lb5Wl5j.fE¢ZH;Kt D)r<ݙS6z>ԿrVe=hŌ ~0u1khD~ OZ\Qjnࡥ@.:zGoDs5qA 6 zcAH'N}.l24st lPLKdc"rd8i"-G6UqF -̠*0xC{K 6x*aEGqߣ@/ x)3jyXK7%';4=])ވ~ o2>:hwd;!].Fɡ،A;ҥP0'k7KLɭ7{ i#n _JY_uhd 7 (2S"^=EN܅+y[$n N凲mQ#p2d FSM]؂{L*%~a@F>I-ݡu> &fplL{fNV&_+%/f}4htG G۠*3^K2f/6RDXj>i? 8R˖=8%u?"-uؔhccYssԲoP0~>?И~&^Y&o_ SMXxJuQOuIg7JiPA?J3?5O,O[>NUiT13\ܐ'2zԪdܢ_@ǐ 'CdDjt AQgI$#A%}CGch* n5֫/<=ɓLWi v]5>}m~ґgOWiFMʤhŦDkWK%ow6߼*C1ֆ{}+n*Qܺ&鄄f ?fr$%42ScGv6uqsqo[v-h'mkv"}@Iv?9PVڌ?CM$EQ;fHz2K>wնܔzB"#4|\I{1(l#wng7J]mc2cuxu@c]iRÖ0zۣ5ޚrҡ4h mMbzH{TYYw)+)6j&ZoոyriY2q`DO@L-oiӭvuT--.q'(mWa6x%'{A*%N?؁ %F* ^ clt]!{@!J3IuIsK\٤z4?8 ';'F v|y>K``2HnQ&#ِ6;ѐOoI޺ߩ39XßXPfI_ NASxnyMJT'e4DC]=9ޑ B$r6t?"ӵds,{YC׵<X,OZLde +nHʼnR)d <ϖA&+kHwj2ʞ'ڒ, <[%\tI!yv#MH^a = EIOunw8:&櫚/s2nFu1k5y6yA[TE{gZ̾ƺ74*[MnOI>YOqE%{V.w1{Lw(wZ'(8՘&}zSȞAB2'EZ/9G۳7pBb9 >W1gh. }LyNg;Y!C$Z6$k&9P/@+ʍ-ć̃l85r1UNJuf-ݐߟ?9Ti$*TBu[LO}%n8:~4x{S:Cʼ7A_z9Cnm>Ub~5-'K4iYF1-_'ٰ7lP٥[}3o{3#!^u~+} 'J:A[||7>^VWWՅzT^UWdj! 0z\]}p^wa@_nBu0o9`/90a^A CBK-s.Bz:;L IؠI]̍ ާhFuq&9IZjgm@[[l3,Ӏba^*S"ESYP0oѕbIOu1BYRM*} >:>Pum1L+ی= 2 b)%`*71XtޤSPIvXw}W&04q@L1Pc `'nHyTzK#ޙgj'mIN$Gʒ ШaE^gPbUË T XO x)y,@!@ 0Jmc F4KGeFs8`nrJÓҀ)sMK?H}Xto CpiA&J>kUG_79&lQnt1لG|}okMJ_j8/ƁUK\{m`BRQl f귗QQ;s.i`:s8z*Cbْ} H 8,1n^r JquG5)K˓\C܉0:lyLCA4 rpT:LXo3wNH{P >ˊ™/W4].N$[\ybWJL˅cLt ;jJ1'C)o#,M?F̈ m_.) 6x,BXo?N̑n+>mϘd 21[Yk֫9VY7s.;eoٽr@hϨ #g𰏞EH2\;EbCt蔪Q q;Mo!{Aϡ4u8ӂ~窖=o `8K3PK)V i{PK6golang.org/x/sys@v0.26.0/unix/zsyscall_darwin_amd64.go]Yܶ~v U[s/<w'aDUkZIʝܴT%r0]GxxHqyj 'qQDi_.k寗\?%a7}P*k ١mpTzr9Od ߄ѿ?WOЋ n| #4*dۥ%(.+m@W!e/K?X(bzR7Tы<9*W՗Ez_'Uq5ܒ]lӇ*.HxyҿL`gC>iňhDMCFq$&-۟Fݐ0ZL'v\ Z+q|ac!kL -׃ze h5GiT%L8I`C" (ŧp]'TГVbKoZ( 3GgBzzQ%\X7 yJ #@pv#hv'G ÀjP lիh maA@:oj]Nchpf&}tNxR8Aٝ3:) 뻖>gQ$EBv>8{FMV; boG5q&" Rp?| ơ43XT[t{J`v P} 7 +(V?N${%}Ҭyq15Oat_o/o'DiNo6/F{pY4T_.L|uYRRw CG қ߶1A6"mͧMOخ9 @‘a֒S\X`O%IBx.>pǨYFQH#xw )!-+ʋGJ$Xi4JHKaE.WW}8~uKM^Bd ­r`a cĻxodI.,` CGML&(v}\ ?_*@GP]^Y¦QVy*7QspET9BVf[6JYͅaܲa$24_HhBHK"R .>Eqn@EFN֩.X, k CT(}In`QQf00}}at5rn]Wv`M_&[/^.%_OE{eNp i a@/侃<eBV* o8HU])0um[iuI7&0!gI|;R?TWj4]$ JYN_ yͰsUSY@V`ȕ Wgj ,\jc'|jjDm,j4]0Q杶 ,S1|g͑Cxal`RGFX.$Db [[ v65d=T7\7V~AШc V'/ \MY<@p䍡a{d(UxɗИtطKt)Ąn$_A4 {٧R},>FHYǼm^RS-9hz{aK>KiaxuĖiO̦IhM738}AKu=[Әijr_Íڌ",NxјċúW(6ͰClmKJ{ )?gd۰3?3(iIA C,L|Q %2+NpR>(`Rʒ$FaAcU8}6"*D^L{Pp(I$rXYnr_ _ږ Lb61usg:nn`bҗp70v7Ϩ?WMNp(*nɚN1 g"ERh'(@8eOUv§9{)*E,qaHaϋ_' 绪-e9 hz$k@,Z~_0U&aɠ4 ɋPxYϧa9[ZrAxrd'Pd_~m|̾&SZ1eTl:NRO6 xmxj50P-vнSв i,wG 8󴜷R{Xvcm@|MYi)i36HS*ZKH00KF),H̗ߚb5,?sQ/nKy O!|^@mn e1Ycy^$L[R΀*uSZW o)>@ֈu o 4C5Fn^w&%ոķQڙ,࿁EuMέޤ:ӽTjN eW|8heԙ)KnR*g_B Jy1 m3gYg=FI?Q$Fɔ;3&d*9.W OOk'YXRńD8^qBD%gre.AcAHfl8r"ik9/"CKkm_(yEu6 Ep?wո'[`?A{/$fWϞeyL999$ASkҒ_$"r%u 9z#7TlTiSqk _N 3u"N9oUjDёw\8:cAq5ᥑֲFǕwL.xkD'joRdA?\o6V7~,Ƿu/d?pc5+(Ay#h3u~7c4ή\2}S2% b/$KS2[+ia x6]Xzfaӕm{:Ѥl|E_dVy {[E-Rgaa,nu,vغɂ,-WUՎ6jez9]f? b!Iiop#}ڗVw>mH sa @OI|[@ 5䌑amd7?5|Kv``i[OBmOԵh5<-deMfdiNQYh-7Zff0Y+L4M̊cN I݌Yp 6Jʪ/'9p[ ._l{i=#L96\D{7H)3d |54\IϘi f~s]R#, Yv! [b2kW67akNYlcJbܾ絽b:u#rF q\yvr gTFe 5DwJdjpChn\ֺx5q jYd VүaUz 3؝-NBQ7,u2֣W3dgL%JoiI. !HL*rL.x+D T6 6%:ޒsk Sq*|*􎕐፬ ݥ硨V?ź5c.&{#W!Wvq'|a2}[o]>NHr k*k$7:QW07$qzW FB5Aw C8+Qnؐ8bCEM6@ib1iai'T2 &0JmgHx@'@Tao| D-&ncnfbNRtw0?X8bm]v.c|O}=.fS">2SjiM& o;V), 9Jjnpo|m; q{. 4s&0Fׇ[QCh/8Nag!,X<U=usjNfיFlԪ醸JwK(!m5;Ot>xn6Wfjku&,WĤs\\Z7xF_`*uh`i~! 1F!3 h^^\r$AW L +i /E_YU0 * ` 0smvn-ÆEv U 6EuP ,AAu_ӷYP`/NkT[H"$ Aq_F~n!-nX8RΏ3z<,+=^Ba?ptzZQ%d\X1 `g^,ϯT:JQCI0VF2_es`upv.LPKqDPK5golang.org/x/sys@v0.26.0/unix/zsyscall_darwin_amd64.sM;!6;0 $`gcsmne|_fHnzYU}4%"ݾSkvEֿT.ko+nZg+vovy4Y[in?]TW{:<|usswu?EwtmQc5ǮZ__w/\t/w?|yfYQ,vvC@ݸ8}. 5}>g>\3'|0U7jzMdy2=swk9'md|/X.Q 6pλu?SxHOd6D]k9smd^.Zp l*¶eұ`zEjRl;Y* XލG6k˰c4\0Zf 1Ku( i,Vu0!m% B(Lw -fB(g>֗]\]V:JI6Hym1vj6sKE3z~$FC"GT" BxrϮ?[UR! P*ưY%<|,b7~K9Ko`$f!r~o F~ 󻵜 6l.(= zF4R8'|w-e,Y^^ 9f|0h:K5g6Oϑ얏jL[: sQ >,] h*'$ ,լ kizI@V^&d\ 9KX-l7r("dA2BR5?d٘-e)i%CJkŜNePguk/ *5-)o;Em VBCtme[¥-JXBHŲ-QI+\@G,)$wF"e^:iW쀎 b XP,"2-5ZU:3}KX_M&Wl.q7P%ép 5>ɜ/#3ӹ}i#|c &}i## Pb 4Ws[4`()#i#|c :uT)bj^3//Z3xȬN=V*! lxJb{81ǭ*T,8E%mT)*짨CT))OQԑBC/ƴqgH#x0^›L1#bbb⫾}>zxjAW,T"n"Ćϓmjgs1(C촖s G|qfZK 9$R*N/5?ہ8w(N;ÎŔsD͔>(ލ`Ҽ uVBnJ6FM"&DZrc-# *l1 b7<߯uw; PKĜ yPK6golang.org/x/sys@v0.26.0/unix/zsyscall_darwin_arm64.go]k۶ n>[{@۴Afâ( Dy[Ho$E)X=$_=W/)^?=~I\v5w0HctȫM??%o,ճ]zT`QL` n 2R{w!.߾pLw_<[?m"VժxA[_VljD@zTXti[8OWj#>Di_.k寗\?%a7}*k ١mpTzr9Od  5ZM#4*d%(.+m@W!/M?X(?7zoyFK7 5 5/ɿVO$-V-ޒ]lӇ*.(}xyҿL`gC>Fiւ쑞ŌhdKCCFq$&-۟싺!y]a+j1q CТ^kN+XOYcbLXSΈ\3}FXr' lH$ 1ZzzR \l fYi6Waz^=ՒHXۼJ%D=>ZyKF-٠I>aHꪂ yd2D)_M0:$J2EH~Ҡt{; ?XzRx*C3bVxtbjs,9jaABgRU\B~ǔuz݅tZl\S?ΑdK !;-nq1:R7ђ>aA@(J7.Teqz:3C>\LFK>9 (UP@Feq̨F{FeC0z}ג>TL5DΓgϨ)ut'AqTh"݀,#aJ sEU(K'˩iKf0"3T?l>YDq%^R'ͺɛGCUԬ 9P,04OjAtwuK߼m^b)j Ai. \@|uYJR&FV)7m3I=+bBm6%6/C ޱcTnGGZKMĂ0z-N ;p(fJE "{;dR)u^2KDj _.+r̒+Z{?s.bo^sh_sn K,![Un>ÞoXv8H1^<>wd)XF"-GML&(v}\ ?>/sE7?te2"DA*xspCR9b>ͼӻrmd' a;tf ӓdSԘ:O|11’ Z.(K1XU9Yg)-dhX5eJGOl$&eCs ۮs ⽲k2zv*(z!(+C%ujh,[N;ʿ ɳYv"mii G)EkJ+EghۻVJn\; qj2poW gW#M+5.$ JYN_LyͰsUӴg#7z6n.\]-<5ǐR<ħ8Df?QTO5i4יִ5Gb]98]8F@X.$5Ā  )4lfkz$eom|1ǒ.}_QxC(UPӤKLhL:ۥt)Ąn$_A4 {R,^FHec6/ R?S+9hzaK=:-{AӞ4MԛnV9hN{:#;lNcϖr} 7j3RfJ4;Ec/Vb nR2y'0ΰoejsp_E\[TW'<,=sfO ;HK rFfPgJOKb^$Yib!Qf1$ 1u;ַ=~w|Dx/T!@f$S c*^+y;H=$iUp@[{Age53 -Yt͞+Pr11eR15,e,":)+GLfk]l AViy^O+s$vz՝ۣUWR*xQur$O,F C0N]m ߜW\N_T}7\=)W} _,?I /;I^y=ʘrs)3s*I1AdYE $Jr!sDCGnx%LJR%Nɭ `AoN 3u"N9oU'jDёw\8:c҃,6X6j6K#U]-FǕwL.<6"StLXx݃ Ɨ#}PhxY zM>Q@ј9Kq"OBɢ>T]|cdSxDy}.P,KJqv^SRi,OD}^:%6q:q{fཏWl)gmFx>]Y-lۃ,Wԉ&uu0]}ZN{[Eg-2=0¶Y.6oYu K p[\VIL`'V;r|,Ks)RmaA!Iiop#}ڗVw>mH @B8Fk#LJ~0):,jy#WeӤ}c}*8-N%,Ʃ݌3T9[S.oiu,4w?9AwTvkpAWI#KϏ@308 $Qڼ]wN[Kћ]a kհ֮8TKLfQF 6wY=KmC@@̦nĝ?U@0W~b\0 Ù7UѴ!~u͇;X%spChnֺx-q fY&_ 8tg;c3.Z2loXg2=ΐ!:~Ľ]D}b8 AEɸC~ .ފ3ݏ]rS~z*LjpܧWq*|*!Y  CI/~ukH.{-␫\Ue`; _XLo sDjC.As͗#]FzӮtrC wyސhd7 ,\{XrНp4fJGеqQ kXQpktvOka)r z=N~ B.ǣ+k,0<8b%:sAj ЏRjO' y"znڶkQ(ϧA3N!)1) iV@ hQsAy/<1~ zKG__/W^[ɍ'΅$bHbr(9쐜*/{, 93쮪jn:_>6ݾ n>cUvۇׯw髰ۇ. ϻve߶EW튏sw?뇇4]y|?wcSf0 E{M^_o~/_6PTRjoR{J!}a4}n #5}>g>R3'|0iho.K5Mte(pk9gmt|],*3\I 6p*. _9L̯^1#%ӥdHt a68VBCK%{kv\݇x8OU3k]M[BPt"J>ӝ Ǣr3ectic!зfk t\hUSoY˥%p$D::7\HL:!ť^E&fCg\˹k+fbԴzsFM%N)FC&,NhV9?iãF.RmQ=7}1rΟl 08a H?JD"c/75 M 2Q9 yӽʠ E*2Q?wc$HJD"Y~|Z/F`z2n~:1f=!gBB+]'e-rKpnMŋYD7'\-H ]p(dk t\(E)ۥ2R3&&ѫ3B. %{rJvLɦ1 ퟃ(HPRr$GκFͪwlFxKp1nMmJ4.P1JX4L6u -fQ6E'DdnBjahH&ɒƱ99i@%QM_:.Ri&6t,q6|Nf--vJ>@Z.ULwh!$ZZpdypk9Wbmth2]2a~q rLk]^w4 I۹֥vlkcdaZŬ{ pK. E2}Eꪺ9_t\(~Eʡu,xjA41D/v췔F~mm|+ŗ @Fr~ F~.(2󻵜 6l.5 zA528L$kc *[(d){},{R/FdԢ.ՒA1D{>Z%vg[0kl3Z.ѓ6|ED`9 ۇ5 %)A45XiH.KN,բH c:X3N%.TqXLɹzUr, tPKD -jNcPtPSaƏC\uকN1K:a@_Jvծ㱾%LȦkH5Xղ6 úʶK[IðDų1I+\@<%$OF&DE³\z1I+v@|c,`cqj.@KuAN\򗄴DP&KOt(_KE.4q}Z_&T,asWf\*r>L'ZMX]G6@Gx c$)QGlj' 9q 5JsEP&q iqF;,@&s(H1q0 ipB ;P& `%[ Z8a0x =& C3}v\2 oh3R+DL̆c:vn ъ539TbHy,_5!f6J}dR3<=A#Sӆ ׳s 2RKR6aj\ zE[4R3$d0is8۟6l.8`ϋpdt@7Rb>ma@\؎\FwfH`q g)H"],>yAjO0dq\dr OuSZ.96 DTs,~<^"K/,;ib`G]$c晋99i-RQlCGGR|uo}mM_s A P"OC_zƀ#L |W^u \k@w/;sTC]~^:i)J4Y7p@!*s\ m,(+t@y=XzH!g&:;LDe"Y>]圞qdtTL0:,nIEjhb)LL\#:L6/"MF6 u Pc ,`coq׀(A[4`(){DGؼC?F{8N6#өc=`+ 3jsL&&fwJL[`()s^L[U,SLIT<#8EemL)*#S1{ ZYjmvMfsڇ g" @(X8^wo h|ͦX b]>6}=|nT,\6 `b× k@0 P(S촖K GbufZK5$R.DEI./5?߁8wN;Î-ŜQ`s_t#L xjO0dK109X,j]E?8C,bztK7.fIQMt44`-#?K<^+_x;d[b?PKΝ >yPK9golang.org/x/sys@v0.26.0/unix/zsyscall_dragonfly_amd64.go][o:~ӝ4 ۖ="Ѷ(d.dNBfbX,>| H|p bcyypO zv[4y>|=lAB <>Įk x|B'{z30@ևv#yK@ Vv=L(PZW"޵7]j V1UBf FSu>_TЛM&itu~OSjd WƶhжV ^?L_+ro`a8E>\̖sQvx~mD!Qvܴ[Wܳ)k7W{F*! mݺ"ldXC?6x14Gm. | C }}OG<*t"bک'"rA q$24GHLy3,tS"pb@Y7Թ~ (hߍhiۭ =Ȋcā,GR4fG~1b)D&FepͦSWyG0YYAM"<}Rget |45C'߭cc>_Ĵϊשy2i?®p=7[(La1d9/Ta+{ron C!BCa\ }:M9)CjNM"1#Wi>Hg:'b9xܣ3(҆8XdI= :kӛ /a ٗ(EI@l A}[5.!RQ R)j5T޷~pe&u+' nk36ɗt0ZaDm x!xJ 鏮]8wQԾkGFTy;V(˧0O컦 \,VZ(5X윦k]XСF|7w[nQ:%oZGZ6I0}@5JIJX;t^;l7a@ؒϪLf07j->,AzgXUCdvg*A%SI,b6@lld'cؙIUh6ƳeרNh`?^ï j?L[bf;g 8YTx$Oy@?ml,u&](eKhM*M`^x/؇ pJMaۛbgZA$ n~qbK\dƇͰ(e 9|KfY6sP;iPE">dBȢ{ouTrY;}SlEỦL&F넽xf({9ˡ̻l:(6ڒeMw>5h9;5hM Ϛ*g qS,gLK9 ö)1 o_k\4L=B yӧ$@Jq -=2/^$x+-BjAD2(WzY/)I$o(a:,$2:ҽ33soPβOѯUcUo&ϓ:K 7jVӊ pOd!As*Y*'299 _G%joӠYANx1bfFcU)G5| k4x41g5$6&6}R[܆j} *nXfv<^dKı]Qpl\/JTh^<`ZJ$gԺC5/SU"gJM/ۈז}S6D B{i CHv^>AQagGJwiAr l9V ܤfolװevG>+93231"sblJo6~ gc:6ڽVY]ug4}h,[#<0I(׌ABP/ P ;X_>IyG9xS(rtcԞ`]Ջ+o)pU 2]noY-S82BzyY$k{eTh0; D*vtK\<ӳ$ VbȖ%XȂ + 0\StUu^r܎-xyPE!q8JYQs2> r+243ҨOy| pfPVC.]Jea- Q^ GjE$,a9'YϥqXYfm̢'PʻX ?wB{#w6muZ 5(CO , .%du`KWxoPj`\Y,& ˆb |P4q?Kh|̷(eP;VvuR+s$QWd۲Ɋ+2),q#zYQU 9Rv^QVh)s)ҏjUgk BGPVK}4Q?Qs יPKP+PK5golang.org/x/sys@v0.26.0/unix/zsyscall_freebsd_386.go]m8\0ꎊ+71@9`vo$yue0Lxl}e:/և[m=>xFw b0$wN{w AhG@vmkڃs`)Sm9U VߴP(w{m Z:u] w|i]j4 ֡dCoc 0gW~A>fS١:_-.al㻞LD~G&m !~bL9 ݺ]x ,…z$|P7q fnn$L }|WTOTKݺu!1jlx$XC< A5|PG4{ %<-=jǝ%1a1n:08"2P9LDV:tiCaztQH2t{POioYvjLdQ@Rz16O 1z!DПfr?x{H$ñ53hȣ?!X́A|޿c0GĔ'n=1n"BfCYgsЬt)50"!vL4+?q7ޓQ  p !rFNYdu!Yo*՛AqQ{yܨ!ܔO B9ǠI(@W`e~;(֝xj&.i`c/|hwp/kv1b 0ؑ7_ 삍msW=3ûשlA$mc6S:{_Z,n/>R<\Χ9v /vR@)vH "A3z NMĩV0o87Y/H fupi?uaۆ,tvgƲTeCx5ğjOo=<@Do\{}!64tw__Oa 訦 =uz/,b\xvI"}"Q rcO$W#;l-vhϹqCxL'# رvCv@Cȴ69RSYɅbbsMqT7aB3w˒6: DzF zpK"b>dkx:a3|pӃC=v7;γ:ioX 8 L)r}rX %6T`L^uìWltJP'1/g\Mx!UJzHao@MY:WF8ʻEAo'ҭfuN*q baZtdsMJ.7jq;5Z/ܔ+sJ#H!ƚ.4|!vjˠ)QSyLG'iƄ oC+xW'9 s oYIv7Qm2QՒev;E%h m>OuUIrTcs9 xLtf|w tHч^0UꘐuC#Zi3@{.{}9a) 6Q*ޗ-NgbcBumǀLʌwRyܑJ,6KLJpT KR5WfTV[*/뚻4; {QvA^ZY5Su9}VY)ʉID$t ȲiDzpbLӱZ V&Taay/cɎb]cdT>, 'Qv*9$~|}XLTC'rOF qHC"r>W@-Gߏ aN}Sd޿IF2 nߠljnM- 諤kzŒ:ݓ:"[Ԉ߽e5 ,$` k!OH:mGJn]EL(D# QM FMSQƆ6!&W1*8|\YD2EKANP4?`Z`%<亷#;ʛeU:$OʌCDVM8 +TnrZv6DiR_w?~7Or`x? s ʟS~?'qƊm pY3^lܕyv T}c D{2Ѿ4T2F_¡˭& FFԳO9O.1'% bR"n0T"[|x(we0<UD0 c6fq&>vі#z ϗ8{se0.1Dßyv?NrYN2 t 4"&ɩ\)^|O2*zQɪ%m2jjfSu< ANhLՖJ$m@IPg55E4J&_*/w~KasD[B(K f)72hVcVC:7L.$M"|߸!]w&RWtЬ?+'.z|6M) Ȧ=(D#%|'tV^lz%cLʉ׿ab[wBּQ6^n68N#S^M So<\=5]ԑlƶoy mM_m^=/噺ngU_b XtVƏ 1`A@AXN*EG4eh1^B^5 Z.Sob,ƃ/-KJJ鿼ՑL 8TF7  :&_wn**v%#v+-qBO_n4neY$} e!dZ6ɣtܙqߖzZx_Onݎ+abbc(X :Kv0:qZ?([-8 IoTJ49^$/佋b⽦Dx%rx*χ\RA$Wƞ@Dqw(JA?KBߛuz1gnoGoT-8er3~gq7WRs9Uc҈e'iVÒ5Vx֩LROږz4og9S`ѳx5 ?wlJmU)g#"޸{fro*s)XԎ6[dz_a{[ jb!|,፹qhp^ DXUPvsL+{;K5ؘC((LCgAJɽ_ `?Yo6W&d;|>[p5w!pwn'b=v r#eTƼjFBCO%QhV{V7%(/qz SŐ7P32ޝ_ps{y /nȌ{fV[r[.&tsèD { 5:Mj'±jP7ˡJgǵ{UF5傑?4w /ȱFտ-!bǎO;`4V$ʘ3qח]cs"ڧŽK~CŸKt bSή`6bUe7eX9;u³J|=r޺jK v1F_p_ IPurڨP c FoB%OߦaVI5(X]рnR$/JP M[)aU|.ܚ(A=Nq鴁pKV0DGm2 ZpJZl:B[DY8Ƨ%*QLFf\ @6faGՋe2bdYakeޥ* =ŕlvhĊ¤\Yp8bk܋"("h_f CmDF7 ٳ!sǀ:Silʣ}>ɕ:9҈XFc:k,xPu +e ҷEc&6%̊_wpd(=Bη)6f15oO Zp2NGVӞrS%6VnĘjƷ5.3 >BvX `UZ&UPz˨ac Hu:_*g X ]~XVfSEm 2Mdۚ+iC$:vS >9^`HN?SwpN{eTv%Mn|k Yt5@u5].994YjGTztQ2x0 Bc* bO+e`|bmZO/@_O6Z:ʳ']17UPKaPK7golang.org/x/sys@v0.26.0/unix/zsyscall_freebsd_amd64.go][8~N m?t`*"f6mc7}[]S AYD aO su^DVCF;::߃G9xIy _o<]߽`MvAShG@qtd߀!Ph.sw`T{}-ی? 3:W7Yt,ńsS(O|[Su6dBfڗ ә * Yh h_d0\ 4~-WKl}d;}ד2h27 $?L_r>_?E?pMLdm,+| Q~0 [B"/}p =N"ڲgpy$d@X&Dwn>A?$^%$i,6POB'ݢ$7RQm~ %츧] K`}:ᖡ M\S@Dj+Q]*E@z:1A7M2@}>ކ!i[^`8W2<[m(Klۀ߃=&H |F/^qMbt1G2s1}BOqT2[aEK0cu὜!xDBy&ZLv2d#|:u;}* .h"EH39G.vDT;IɨT}NLCbԅ09FYMdm%b0oKbݠ8ܘ&w ѿ|iwp5* {Bؚ\r-Nܚ\w+.;mcf>wo3نHrBU3I?`uBC \@(ՀlVjy<(=AqSUSZ(3j`?:؄\ʜךw Z{ޑI,6G-J&Lu: 0omK@o[K3]S[` v7tWv{M xc8_7.膫L'_4r2|R 0 2$if94|5B E>U~%X&6j zyƳvԂp`}=|9 |'FOLjTf^9~*%7A%ӖxDeԪ@ml&`cdJٝΖ{dc*{^D_5+ԑ@5 4֫|eP+/F<( W*13+χ<Oj?,**s]{225+D:d،ClvL;0> y("V}_@ͻ:dwM970,tl ֗fSK4j+al|'_a?Ga?5&A} ^@ZdwM A՛aI^4g[/`S>:b|CTߌt)c' _YVe$ ƭm4Ѹ`4 Jb >Je><mgPKe};:u7y \(ؖz ?]/]d [g:erL!)>HX%@+"ड़wW ]ܚD6/TSx4VH*=@8zgyaDu 0Kcߩ:E/[K}okCOvf䎕mU; 磒}שI+ fFˠgog@M8Mr$ K%?L[3 x,Wzͯ]Ldr:uU%"(ߝr9-}U ޞOCfov2QM b ^A6x:^6Q"Te}`# ޅ. @M 6a(|hl])mKpK+rY Ku&˫QuiKѳGZKX)$ι珩( h˕\{1BGkޒ@EU=^~tkRdTg0˄r[!9L\/\)(r?>E XēLWeZm0-gѴo}15XDKr>mʻ.M&7 <ͩe,L)Kq~E*7S |Ěי@nETENW-N\&,:Qw.5(n jv|؊M}eS ӖMy` O{ruOoa*EYuy?s@ mh^Ʀ iO0zxTŁSSYMET]k"j딣f(]=R,%-j4Z4ۡ:R,$=:O Gr2Yl! > mCY}%^(S'( \V!%suT+iL dIVxV".XS/>Wotz 'kiWk#FK"ʪeIJ W Vt̀Ք" j N-o=epѬa 6P˥1[6o6Ӻݐ(J6XA\^ცo`(]-+HT-3 `V$Ȩ`C[XvH{8S,rgriVkGTƶy>*)[}=vt,[#T܊"'Ķ5/L׫f*4H$Z|^[P&X Sh[(8+I"X$>v ș"-`ͅ|(n` &Jb{`P}TuXv^Ma@~3tSw}! ;mCv ^X`8Wڧ.zzɨ5-Ak(*@T#<>~I9\\^Of*%Ļw` povΏ7j|%V /4: /91v;ށ AA}Įk  |Jg[z 0_@Nλw;vH( nA zPt|]w-tHַ*!DT չT0Xfu~/MJld;WζhWmmh(Ht:oulzVQ)m3Vj^j=؈z{wOBKl# ¾uq a=?>k7LLUByi@P_ IM1Ѱŋ?Ԡ6 ?=jcoI3;Z]K-s8ᕡ M\S!"UEoeiB*`soX`Նv e[^n0P 2|[m(Kٶ{YzL8^bMbd>G2s1&}\O𱹇TkaE=#bebp&`H(OXkd)CBB`8gs0l4(`-"!qH 8 $7Q Jp!arNYU}yߖAy1{yܘ}CiEaP?<Q;3lRWf#MMMdհ5,%!Gy_ ͅ]qclr;̼]guO쪏_c?!!P}:eZ <{]&^RݒH"#A;zȢ8 6|*msKP_Gsƙx%|Z~\wW3`ƲLCwxğfO:{x*߅惁lQx^ ~q~8-BPp.=h6W:O$ i.M Gȭ W<>S]|.W,wX??RdDTDÕ )>Z!,̈́3nCħEpxuڡGZ>ZbY=Qʁ/tZƯjal*qRtCn*ߩv%_&Z$IJIL_f61ȭFvU*bLdbS/qI׍^CC&i.W =5PL)N?"3q d|P8qH> 8Pkّͳ=xx<ߌ hrTo S+j!5rkp𥆐 fRGm)汱I< EbbO :8&I \%0Wߜ(wmUK%G>bJ)3ZQ(8SUW6$Lm·RO'v_h-4nTsJ~ M|Se~O{t6 ޾Mc0WQ~ُ4ГXYQ~!N7o-?8 ;@ ^,`.*n(Zn [! QF\zi}FKp'3usfPK'PK7golang.org/x/sys@v0.26.0/unix/zsyscall_freebsd_arm64.go][8~N m?t`*"f6mc7}[]S AYD aO su^DVCF;::߃G9xIĹ¯7.ËrNmp{0&; )4#{ 8:2o(`49;0ZRht޿>mF}t:bBԹ)O>-t:Hw2!TLSL䅬 4y~/2.b?Ԗ%et>2IhgB؇fb NBB&] M௟@8In&6QK w|n-D!ؗ>vn'v`m3ea|f2 ,"Ϳ;7Rο 4b('@!HnO)~N}6 ?]jacvS.NK%DCu0>p &)M "5(tÀ." =`㠛&>`l@oNu /Gw0+ NP-6vnmBf>&1e#n9A b! uPx8@*ѭˢn%b^:^N<"<}tGai&;H2jlxv >up>sE e"$ãn;@*dTCc>'!B1ABHq ֎&ee1g%1FnPn^7fnnާ&>)*[`"Ils ?WHE[~_>ִDOLa]lDd.9`'nM.G `k\mͶ3ûlC$]_ϙ뤟ngh{?!!Pc.E:V󂖽qoS /qRB)N'㞠}dR9G> m9%b-%LSmZ|Ϛ"ozso7IZsYIϚ\CvxğfO:xJ?퍽l|%aX>=rB A{`G@dqK"{"Q(rk$W{Qb]+TE >0?_)\Q2&Q C a*"J8TZeNRf‹!QS"8Y< PŶ-mMVضf vjxr6+xS~5jhs@}lq=:VeXE݅QXlL8oõ <>ܻdC/3҂예uSze7B{)2zdJ^ˤȰ KbsB50 elB.ek;CY=$ %T&ďpT 6M%d -wk%婭p MVZX=&JGH< 1lu]FVtUU/OE9S>[dEv4JNt>B!j{"I*̍i,^Tl`5UOKJ'cd*3J?{iK<\jU v66HyDi1XM%\Ng= 21ex=Ntojc/JnKwJIuFU2#sAH؄z晕C'P5 ֏rչI.=aPR2tl!6;t tOIf zR+>/d xŻD@ f:H ZK3ĩb%ta6]?HfˀzR >j /e fC-ŻM $/ۭ0qlvtKpzz!L[ӿo MĉI,uħSɴHGA܊q7H7D/(yy1o(a<#ȃnCR6B $DI!>e2t/3Y,(Nhe8Hz0YypBtvx>\{6޶l[,:U:ܴق# QNTmcJ=!ӣ5oesO"_*bA/yS :5^EK)23^eBT9ːr ͜^&k \ZyPm|Ÿz@\Т}DD[&2-}y63h@ZuӾzMj6]Y&Cc2K Ԕߥ8~ Za vb)~}bML S\uq"߫x`'.KKpvqj7BM5 >lŦĊ򾲩i˦ʼZXT=Dq:^L墂< 9xNP64y/dzcSN'Jlk/c.zɹv:g&t w$N+a+iM~Ojxҫ7:f=޵5xE#JJKeҲ$qJ%ܫZEn+`fjP[Q5['7Ȟ2hְR~7YinHN%l xJ, xzIAU7a0$*_ϙT0+Vdl!ǭhEpFVM)rGa{f_c<ͭ>eg;Kw*nlz\eb[e{]WI&U3x}@PN$bJu\/j-(OJ)Hhyti-Yrݕt$|q,IBOE؋GB|>H70A%c]=BytR(>ºv,;_/j&P]0K?ōx:)IƁ;@}>ކ!J i0+SId}=d 5Vr *]o?$ t./1|ΊWBWC~?PKooȢPK9golang.org/x/sys@v0.26.0/unix/zsyscall_freebsd_riscv64.go][8~N m?t`*"f6mc7}[]S AYD aO su^DVCF;::߃G9xI3w@x3EaxYΩMw;y "Ht M;L?# <w`Ԁ t{Hnv;7|f;ܲG0 >3 nߝOPW IM1I'ɍ?yTzᆟ.0o1;)H%"t!:jxetW&Eoea@JzxqM c6Dam@ֆ;v (Ov;76`!3B KWn2]crL``A_r:(#4 |v562)ƒ#auۜb1Җq&^ 6->gMvۛ$AcgdN!PxKZdϏ@t0,bf9sޠ˿ʋD#` M2ܿ8åI^=(5gy=(. X nys/(框0es%Cm *gMZ's`3ƌ(o,evbۖz+lc;J5k2_(# Q1bm2W=yɍ@P ƴ%QY.*D <4A`x,٦.jv2yq'7%7W%ug%P:*_Ԋ~9 J$lhJLk!JGJ$EL ~QN)@:6A:ӧOmBb6 esuq*gw!@6QARaezp%: t턬-Ꟙ!}RdT"Wq6g&?mIY^Ejޔ~6UBnqȲW6kn8U~ަMoYnneޤsTO3QONz =eu2tnCuSg 3 $BeT1 JX0.j$߉WO3Qep =)`e52tCuSsP&qX 6D;إF8=_-7l]j&xfD$W:OөdZ$ޣ @pnE8H$cy%- vVLTbl4.-J .1,mw@/Ih+8]$Epcƻ6V{Svt=/4] /b\- 6d[ R~NfRVlY5q*\KRvm]twӉoYz9:Gd4!ҧGN#غb^ ZP:9 Tui(A%B|=%\WPДiT;f̑HA}Iz?M2:NWN_'z y2y[g$܎XLGI1O_ZL?ӯ/:-BPG2+2xXj%$g#o.x0 Pw׊zpU+q[DY% ?}iFqk*m4+M$c!RĢioO(ϟ}[iY-RjζoMG0|b 倞OK<*֬NٶA/ӟhH y7R#`"g /P?#x)']B=:(c .Ԧsy9 J&6^9z~QagwAѯ?KB[}~ŚgSj4cez[b>aauj`Ҋ2ٛ()P)/g:I+4R,i:Az 3&+Kd+x@=@UI|H= w'=ƻ\Nm_䂷'ٛklT}+>X/B,/hsE":@lUi?w!tPSMX;< Z.t=BWJo6R|䊭\RxTnRul҅(}V snc61r%mdњ2'i/hw1iߩiLA2!eHfk/5W -W<(6\O ehт{"V"-U澼AfrL˙D4m -[i_L ssRܦsKgč!1Osj%jR_?qQ` D;1?B>&u&)[8Uc ElD¥ NG%K 8 !æ]bSbEuy_TeS{e^c@,X*\S[X/m`rQAEzDŏ (' }D:_e V%$j:Z, 9JiH8]$rf!ᧈ"A #Xsn>$ yFtn.!<:)iUa];pnХL<b>`l@oNfW4$˾^2j Eun+ |j9.@﷏kvNWkm:O>g+!?PKDPK7golang.org/x/sys@v0.26.0/unix/zsyscall_illumos_amd64.goVn0}_qJЊI+Z"8Eb[NBd@Zj]*ɽ>9_^.ECA.SyM$yqX$Gy4UHLF LӂEPdeQ咝"g 7h|wWd%KɼiT?$DpAR_LI]!v)r6q Dv9VfΦ1Fu8^6)!q)B{8.9'rBYJ7ivEZ +ަաiVH_k;+J-]݃c>j9^anos6[>$T6Nn9 }Fs2S&_$<<߭Ω{DyowX'PK PK/golang.org/x/sys@v0.26.0/unix/zsyscall_linux.go][s۶~OPM8iEdnvD:i$D"X}^@WImċA[Wk-ԇld`Ii# ftK@q븖:7's7?6 O[+U6 w& ձ"4Rʢ+WISl2MROglj qVsr K[#] Ge|#+KAԑuteWo|4[Y-LW_Tջ N|T+tެ,#蕳G~ G*mͿ @ȻY "[ d-aJJn:wIN3oWo @!5$Fa"D9.i0$:ele\:H^7)Cyoܕ8;rnxH~{p9!:8$n$aO cIuEhS2 1Y3w7=D%Hty`/<>2|L yo&7t\{Q U?x1W`"b^WP*Ě͕/E~'Lϗkg>+a/ 9mߚ<'[p+t-#VoXRC c/Z:Wns[B|ԋJb'-ugLʦOҵ%ƫ:5\VNezr ۉk-aܚ穈J*y_Z!: #xvՑ71ߏ7P$bP/`D- m"jpq#Ǯ+oIqך#W"qaztq[=\1}3[FqAW'T; 33F} ޒ[j禲z0e 37^@dБ>qxuh H oGVuT}n= `YǒK?CBx+ȼb ̪F>`Wlnd dFEG~ 9+_+Fē~7y.y>ykFʁ]2U0l>t{b't"ᅣPU| D _ \jЋdF(+IuaL+@Z;oY*)dP ^.sZ=֖a)(w)]268}T~UMDnb5=8P@=,!|QQ.$4_;be^FpOͮd1̘x} 8D۰,+Y1«*VEC$o 3iN BB"o 1߲u%vq\t Ui d}P>f²'u'uCTj`1"36O@6 b?&c4c\ ûPF:&Zq-r ZaZyxr($6fm c; l=cl],]Oe=vgf0_H A)!~VJsT&/{ VzgY '&r|a" '݇$gov& (5{[c"Cە&ze\TM=S}_Bp܆ـg⦞;A@e`O](•4?ۀk I}PY#ߛ|PgX .ګem97PeY_#:kZӕ|ĕTaGkBWC29ʀuyadsp2$2Շ!m2h:Gq" vu&Ҕ~">T}9ZDg&/ޯUj:H 3p!5\(6 ϊxe\+FTՏE5Ѵ=t:RVQ*bs0dNJq1p ͧkdz}p߰B`w W%Ux.j e2WMK*7f&=?ed%_k{u㒖ر\5 zǓ5c7޻6+Zx&j>hC>GtBQp@ߚd,q \EppڞbkMr2 Yu(})ۑ7EgzÛ$ĸpHt,X F} wq|Qr A`s 7ųls?kaL *iZ0y`'uqz,}ÇNRgMf~  vyMLxALz9O(A6ecZPc!W+CEWr@50434X<ݰ8#(w C2\4й9lslLBLUP5#=hJ)d^2NjTF?l0Zm bOіʑ5d WA͝$ =0To tKLT˘ +k1O_3}YpU^on$npgtV#=opnx>qkxUEHdO zJRC$d/HZ ]iѯ#p1?@oOK5e1>^a<+5mv FO#[(D 25x/~a9s%vcقc B47 M\죧 bj kTmyhXpc8R`yFASlSToF%\d 1yM4*&u%?ցTw] e%NcG57(6YYA&;>Ջxpdi|/@ċ=~PF:r(Y +9\u\5+T۴C U#0^ .ڗ׾ϘЄSRՋ$:A^rUFإ,09[-0P Ϲb:'1tpb/ zON)Oab}g 1my+\( 0mvQVP ..rǾjt8eb3Q%P{25|.2"Gh͞cIxFTdg^DV1E )jÊ%EK"h~a!VZZQP VmLO$B.\e$Yіe5X&,]̊OAKtG>F/7!TG_Hx#%hKVLx`{Yo ^}H.Ȗ")BU܃Cȁ;, w}:he|D߹ +-seVbl 71}3Q~+ /dU(ZZaף \4`iz83]땁jfvVq@96(zvF;&XMm`0%4MA^>L[/NLJi[hgʜ }Eά*0WQ|/$ga6;ó\cL?HjZK+H-u ]/ˣ TS.g˻t0V)!*,t.xѲP!.dH49khU5 UQ܁Vojd]o-A"[e~F^}w# b@42ыΨ]~7DǮP\t!xtm]g ÆX"Ġ^bp*>;0dŒ"r,(TDF>LK&k,Q*"[wR G_)A:? # Qa$_ϴ%d.}@-YIs`fɰ[An(vVtgxC7SL0Џxqy!%XJE9=R>CBieұ6(Y? G%e"#EWYnD/@lWZ; 2`+uatjW,X}>^l}$~ 5 %c+f q+a E{j) ?Kqpl !q0`a(~헂k`iNJj/WS;e%S38E^ޑcJщtO]>HB*Gh~75 t1@-uW2yV}t{y"^NtqZQʺS yf.d'n|&Tm4qrB PKLRUPK3golang.org/x/sys@v0.26.0/unix/zsyscall_linux_386.goZmo8~($Û8"(v77XAQE)B%R(͔vbC3..%^ 8(\_/y1>It@o-bT~wۈs*pG &!xzaI]!s)Lu()' ޾w7gaHEQ0ɥyIH\Fe؅c04a004ޘs2#X VwY>Eq}egu' n Lri.8>c"ğ 1t^8@Ōf2 ]/[03oTѴdj Xq&UR]ȰU}JjJz3ZirBBOz&j0KM9K9c'(mHP%⸄9'LH|}꺐`Au4QXJR׭ֶ 00VYۺ(8'\(Vc.W 5Vm]UQ)i =M9#pfR+oz-gD4U&P2L5JZ4!5+Hv4+hG˩ļTuNKR.U%t}[hF #|$;_FDgsC$4NN%'̗8ϼYaح9&(Ĉ4p|Nōz ^Kyl͔S훲6ۚ}l]QVW.։@Vi‹eR'?Z҄U 7'ӘA K(AMJ }1wculTPr'!2)Mg<]E| jF^uDʧZq:Fûw-32Fn+Ɖ*4N#U ?YUhm05'wО}$[}m >ƫu2_ m>y5Hj)SB'mǫO,0+aNO5k3{S:E+9Bs*A_tMͣ`8| o֫)i9!bHƘ bۖ1-l6 yuTJps*zXxI}\p|/m8`#] tci3JUPK})_m0PK5golang.org/x/sys@v0.26.0/unix/zsyscall_linux_amd64.go[[o8~~xt j˩Q )-`#ED e7 u1XiΛH9߹!}L]EE8HQ[޻xsbImb)m0/]^@a{DK;?P ,N͋ػ@9d΅]^,45kZHM8#];{UJ;{Ji 3,i0#TlcmtcLp!z9L4Ol GBM3"Cqك{($H>B6*$:{C:01zٲ}o)۟Ș͝rjXr3z@ PRs.4$^RUO; }A?ѕ Ly-(%dL7=/z1dG89TBHx |`8f (eH}_E@4f]>HC:)qcîqLVe]@4`u(CCR+ *?:n=]w{(t(nVg_5j/&AkwYmՓE}}w 䙹B.F16Cu0 ,6Oke en*:hwSjڷ iOcBVvS2fҌ=z?ՃUe[v]H۲0R-=䱏ăK1ᵦ\8557RIhD.$^ q\{φq[6@p)!`>"0%iYT”MIGC_ўvnf#+9N@ڕl:<R&aT]>O+=1jNcyWj=|/Z lUXm̮pԎiNUǨߍj/ibRU$H4fʏP珉2N%$8d{#C_~*}{0֑ Zu_ 'L(~4WiZ3cv{^)nB~^u{#/'P&#k>m`K a4!^DZ)2szdō~2xH߄bOF Uj 9ʑ{QH`Rvq%ګ=G?fZ :_O0yZ ш0\Jk8$! !13oM bMbmPK < APK3golang.org/x/sys@v0.26.0/unix/zsyscall_linux_arm.goܛ_:OCEt&3pJ4!iS`vA62&iv~+CL픴/6Ĝ9ƾ>4 zJV'U48e\GKsHKhWWC\| a#"] 4#2r/Aw݁}iWW>! B7{?x@iZ '#૦QL(vBBxzд`yiR o &Xo͙a]?3q(ړ韪|Ąj 3Ku'qM gb1h>jQ 6y []?nIV>Y1؃ާȘ}lcFum(~e({F)!6 "\m.KIE,X0$dq iy@R.O:N:mVRʥ !咸_;!ؖkY8X&G-@wM-a[Je*[.0ެg_oe-m:=x .-\9`.2(=ft nɍ U`<:ؿ 14Nt a9\8*|p@!7lr7x j3 a}tKDbphR$Rjía13`cM:'ӊA#DP"GZ0fIU3仩JgjHb r\U,|J9>GSBQb$^8x##Dy8=5Uߖ+ʍ[sqYxD|JmvB,% g(tx'OnH{}Owй\=}YY$a@wGSuX9Ub̎FXOk"ǝ_Gt՝c! 3mBۖvF#wc$ at9a_M87#uUfmS;0iN'(4t*\Z;<%.4~vq̔,[|܏եr"%?pkAVh i1,l~Jٲ7;s.|fU[7mqHu_Q' C] Q^0%'ra`"E1[-d|>1e 'r-WMaTPK5golang.org/x/sys@v0.26.0/unix/zsyscall_linux_arm64.goZ[o8>}(d$-0,ڲk7Ht0hH,E./[(%MVvA&|Epqh!Ce-jA{dߩƣt3s4x\LNsș-i"ΗiP!S#SjumKAݣ[Aؕ^PJƘ Z_3jS s(` N [QA>tx5QҔ:4hEPY6dHB*q*cn15 Ve[@T.`5R=B ϾNkЈ=yzvA#y1_av:Vv(o*4H,Ey-_vXo(.}qs6`40M c1/5ea lOEW\1MÉ q,c'4ӴrR8&ӹ6p :g‰`HیfjQ?ΔU&y>THߞ 0@ֈWD4fiXA!jɫH΁>M,߸a xXUEZ^āQ*$rV3&2_P6:*m+AԷK)VzSyBvбT!Ӗ̨;emkDӏCj< 15Ց HQ*'^cCj"Yr%_v<TTjgX4&}Mۖrv_i!p@TAm @$7"hcM~@RSlk`Aќ8ؾG`7yQ~O]_PN/-g]&_ΟzQPK#>s8PK7golang.org/x/sys@v0.26.0/unix/zsyscall_linux_loong64.goܚ_o8OB2|Iv.rk˩Q2,e{AQ4K@Qv}_(nrŠ3? gAE,!(\ǻApQO>IuJw^oŤʋE>ڣ S !&KP zo0ѯC 45,FֵxeN&'(aDGr.r.!1vᝢ)3(#T,# GcLOy>oL&thdM\L(:'@K}9>s"W: (E-~F#3N5Ű75i1?u/GI42HT iQp`j!uѭ\Vv%3Ϛrrŀ'(!jc%PX_tu]S dP~!u]ihZc-rkH%*v%,e[e V!>[Xe-r#U JckG](qA$EUgI 75\?16Y)AÁɋ9ƽgx}JnVH+| kuS׍K>U1Smȷ0}d zUp_I/U[C{E=B$h|6H|y֢1܍K:fnqճfUg\&n!g  58J#oQ**8Bsu I(KU{-a41S R({Q\EސqgчgCFC3T\7ƄrRr=J[+kEJpɵ#`WiXZZlG:7ާi!\{Ӈڡ>Жm Ut/*wWˎa md1FQS{Ȯăx_ ?1}}fIY{| iF:p/}ȵjpNQ~M9Oֆ) ؔpө޷~p$;c:INr\y^ݵ83Gۈ劃\HrH8͡%=14*# cz>mpY68S宰2f  '878hfI2OS͵;Ls2W]=Drz_wRI0eKH]$ŴK93,4]:嗯LN bwYo4?RWz0hNK7OWĶϧIS}f܄ѽ=7av#n h禣^HxR}87& x>[za4<91Miq/wsz~ rdǗ{lϗ{H<؟tմ3BIp{.:[9lOD&a?w8R.C&^$,"iBK4kK݆~8;'ެQUPt;]jU&}6?~uNԱDqs^*b&1Moh vbG]# i3١%T>.szW}'?z~C06zRcPM2B?ճ/oPKѹr2PK4golang.org/x/sys@v0.26.0/unix/zsyscall_linux_mips.go\o~ MII,!]|S w)rPT1޻CIude1|94 bG7W5!x͠ɷnG1V#>`x Hs(O< 9;l;ޒ5&y蜃 Lg0#\Q..;>L0 0215e `l2ѧ[iךT76p!&w&ޫ|̺ 8Ia|6ObL!4"JP W9[u %oUә5~^Mn:sĨ:ߗ\w\UIT0w>'>f)g5qAϸ\rL JUt)g(gb!C!w1.. YTY_D.q u^p}pY4m7Ni@9eh N,CB`۔zN낞ap}Y=\E'3E9zh0K -Y1 fsjЏ VF}}Ĩa?Kl<^}G>\S\W6e.%1Y[5 -e׍cwy^#?/F 1b"F [Bվ#\eC}Pn=wZ! .=Xfrʗ&ivv-|G*ÊKBha7A&}@s ^DD'"j Pô@Tz8_qN|aNq} ?04gtHIh3 4 *<(o\rW38Ei-2ZDt Zʙh_"}n7ҏ֕-SN$6ԗXY/e0D$p~)Q3F-FhZ|hSgS^nRHooaLK%!Z뉢d3v3tLĺ`SPb~H@CA] jj|2їM(Qݦjx'д; $,+$L,j: 1pebK?,a7%T?r̍y޾)#և"&fI^l:߉hS䙚.eMԼK#6LE;i75b0%[QOć_|<זL\WfMMe"p^$ E]FzeHzQ.' 5pb\)l7>+U۝$e S LQY:h] Z$ mEAc: 1} x3cg8%: ~ߘ[ Æ$TՇ"W[s|v`7|JsY`̷I/C6C' GIyj1ՍDgtQ _̖ssZV bv Bz'`>4}O"0FAL̤5 %R>$XbgIE"7B04eTg*;S{b*@lCb#:$JeF_A:4)>{^1T t4]:kzi@{+4G#AJiL!!DNsXy x9 c1'u۞awǍ/Eڥ$qV^x %ZOFb61`I[1rJ! iRvɗa|F߂8moc:f:֐7J<˭LbΡOa21ovCV1A{:!p0%'A3͍̩]=fHN2KdvE7a~bTDOAn~Bxpi&Ys9 |PZpL>Q zMoKnY=-׵^MIKUz\r OiR0-lOS2RO2z"ZwЕO@}Fn?yUha l6bZ V1hZOEB[?+mP ?{a#`KӐ%FWjvVa[\~)%L^e7?4~+Oؐp2WHRF.WC[1yڟw]m3OL(& :٫7b<O]BC-@1 v@*E!!]rIAL%<PK,y CPK6golang.org/x/sys@v0.26.0/unix/zsyscall_linux_mips64.go[_obn*|toՇ]JƩU&0A3]߫vw̜;q@H0Hنy0/Ca@[?R-(.KbƐ&!Ѯ# 9<$ޓ0méu`8 ؽԴ~ES^՚Bd8iQʁ]*z]0z,Kb/-J1cZ36]k ө9ӕKwC%Qӂ { (L!}DA P3@(߽?bO   GQJ],` 89t糳;}^NMc_r,ZР,%:rA"K  " ׂ A獠R1 xF׋!;qL<D( ? P#?d2ՀJY PV1Nqi ̺|((50:.qbCq-Ze]Y@Եbv8#D  |*?Zb C X.DkP5Wi7|ח믂[bZ6/()`iO&O Bpe^WeV;Cu*W? b!(Wb K^W.ʋ={ k)08YY7:dq> @ϑ'븦;r}t 9p%&p<׮}7k{[%[Q`je p]4*Y\v<1g@~YAjvw5ROji 8J"SHFs%S)9'˃]\ֱ"^(izUSU<0N#TJV>~dptDIɅ(bQ,Q"orvZDIYEg&,'cǵBw 1¼s,U;";۸/_VSg 顊!}baa[1}Z'ƾtM#%%E/(a u~UدD WEG~ݑo,;tdci[3sjJ.RbӜԢT W1:/JJb]Nͱ瓚=Krq9~H'/p ^G2 h#k*5 ĵ Bf]*U6HvURսaLT83hu,^\ȑn 8Ⱦ; 9u2ͭ>)v>ܹYw;iyJ# 7UZV߾LYLƃ.&AuumLa|mo'<3WTN]ϭ]l7bdCVzn5VUF](`)\충Yٵ :-k,{$nWs1q0f,_0fGf#˺2y(o>elv}xAČRv&zd0k*e*k 800 r%Zyhe{? (-%R lf _,eeS)mKGhOGnV5וnI HppCG3=tk1Z8O+?1+NcyWj3|/ F&>0Q']+7cS1Q-;S%1-@C="$Qa|)%F:|I^7sXRAޗ߾)-̱}"HVsCSPn ^eiSQ S܄x܄p[${F{ĎPu(h[?G| /.Ebq&CIE%G^> NzK1IS &WbH0ᄅޔ>ӻ>5s>TO@'I`]mctISgl[`9EU spAPuTENK ו_dTL(AE=sS˩tk.md"92E\@nt&@|44?7s꾜2wURAݏrbs}&yv o 'L_dN.ӥ6gyoS2 v췍pnzf}X<`e0ՑLb byԟr%2f i3oF8¡|qLϚ'CCwf;6ϟ<PKï:APK8golang.org/x/sys@v0.26.0/unix/zsyscall_linux_mips64le.goZ_o.wF$m;{G}U$$M)(rTmɽᄇ@N;d c; #2O9|DAn>dߗUxLaD!G.xB!Q Y?CM76/#`2ڗvu tSB Eb xB׫!ۇaHH ?u<">h4YJYSV!Fѱi&Ȑ50tTĆ^Wc ,˦J(k] :m'3&ax8G  |&?bC X.DkP4W[oK鮯 l^QR)+s6w~T2.,'VwgkTp}d|Ve;Z^W+Ezk㞠pJOA$yz7@# ԕfr8~H<ж Za*~xMGCN\ ϵ=_LjNdu8WL8X9d\mⲆ}xXUIZFi%`?"婔|4-hiȒɓ3)P*ĀP "cE_FVȋ4čY#>)m*\ nVg0aH?LU";߄S !~ba67^eN[3* W|hWW#lAu]n!Z`QbQP.:<#?<ȌCGV֜ssbMCErlsRVEcEY!+֕.T,Ӭ{>ӻD C?!zAtjg8$n*]W}5 ]r9Lepc.5ăx"\4LatVTV7qRaj3A K9G+ۧᤷGqdi)j `68tٵ(|}JM0`.ў(bfV%nIU Hp^CC335 NcɵŚvLg#IP5 1MjUèff 6!q] JӇNe#vj$PXYZSXbt߾?nfp~"HVs}cPn ^f9㪢ef {{܄pY{D{F{ĎPe(87q .JgZg2:d_T{%t$=ݟthr1 ~J"3RGG?(vRvZ$MYPžs ߋG3ؘ-hſ jsߠ]4 B r]GF;-"$ꞦZ=V[{u#YqA\*~ϸt|927UR^A͏RbS}!y6 ''L_dO.ӥ:gxoS2[ دJCļZ<`f0ՐLBbhy_r%MwPKO% @PK6golang.org/x/sys@v0.26.0/unix/zsyscall_linux_mipsle.go\mo8 ^?,$MtQv7T[N EQ#Q(nn%S%ISR3!Ӌ @ !a{\א5^ 'ߺb*mK +>jG3 =\\>qF2IBxKO#>s30YsE8l@&Dо )F2*g@W ^)!\sRL02p467X1?DnUk6SQQ0}@z17&i9}Z|{8>1dwtnҀ(RB5_l.@k`fUjOghy5hR_s*w\IM`R=C|N|Usa5MS|kゞqRSQ(b ? ! bC Cȸo.(gcPg}2j埒u˵ ZvB*aS^}42rr'v!FKmJ2*"uAOS0ξfK\Vk?#"A LEQZ#bkiZ1e 0T@ٿRlN וo٨/\[5 ^Q"`-c>WT2*M +{IGkpCxKuc$]^Cm$7-xc4K+CVmx{P-T;/ ^V8 ٧i &\|E2#/CیXN6Ӵ`BA yr ka]x%!4ư >S D/"j"DMuY5yyQaZ *= /8c'Q{PT1Ѹl3:$4ҙ R}AByu7P^er؏jሏ"ȴ Ikpc-:GWʑh_ }nΏҏ-SN$6ԗXQ/e0D$p8~)Q3F,ٔ)/훲6[S}b)+F;tKjzhLŹ]) .%T"0бaPLcl%lqJT4>8Fq$a-|\9w & fbcTБV0 ,[a 3,פPu 27q6(Zi/y|')gj5MNPS.a۸#"]'5Ȧp׌ߖnEfx#֧1 xԯMW]IbC?@ RJܻue" Zӛ=F9r, Ur-hɸR٘;&n|V+;I2~˘A:9' :iՙ4-9uкޡvI6ytpc:CgΊ7%: ~ߘ[Ң1 ALw[92Eޏ8)+@ "8giM|>:JHjuOzEQEsXy x9 c1'u۞a_t/_vnkpZqz>1 ߴ-lRcbl%mB(  .N%#0o$cq~c= t`v-.u6/! [1=ЙޝC-db솬b0uBKӯΈD)/?r܃ln,dNDD6eD@-N:(8Y";, CCJ&J9? 黙)~å5f)BozftXz:Aek1$Ge65],ẩ9Flb dcδ\z5%-bVq-\Uʮ;1LKδlDqڿMXK=Qx VjqzAWBG;6- ZUha l6bZ V1hOEBXco!~V۠zlw;6Ov$F<ח!!KKb!8öxR#JIi¥=4^~h@V!+9dϯrvՐj)9VLg]mƉb4C$;㍠u| D|zjمPMP) } XS b-nVPKSx CPK3golang.org/x/sys@v0.26.0/unix/zsyscall_linux_ppc.go\[o?Pa;naJƩUdȿ*k 3h朳6Ż/̀~29;CE,!(bGoo.o{1 ||GU"*-~SvЀ:< 0> ~Ȧa-]ß(@KCN9E9-d isv?n?p2(N'=%aDGZ䕤UUBb«NYcV9c͑alxb-cF ө>"J|J_&F.&{uOx2I!Ha~Gpw4` cu:'>Z\?QV3?>[T_~;GiU&\ݛʒ2M Sz Lˉvt:ip9aF:0G890Bo..(@!N&n5G)S<*HzE,m)W.Hb9vGI,CA`۔fJzG AWٓ/;כK_.Zψh|> у5/_ӋQY1uE9*WWDw?qUfuvח[A 7 JXX''}lm#8Uĵˢ̉U$D$[ȾRxė/ 2004qgRv ˸3eK!5&zS!5yyR%aZ' *= /FBe4,$r@Ax0S> c$:mFcZkep:5;I۔κO8R&iǁvDď9-qLƦe(\I8i7Jam`ԞTg>-I *oLCu-1NEW!贎/dѮ6biqueZN {#(F&,?5lޠV3iL-iB5kpM="#8F/"fOm.=j9(Ә cK`7Ez1冔>t܍E1"}Y#3Mՠ`6H8|ި&GȩypGA֗(݌V`naEGlַt xPf꺪4ݼTsH|y?=z "ς}3YĿI&NEt~ڍP-SJ6s>8_L* ġ:fTjݨJJŐ5ؗVl1H烏"P2K=<%>M}{AJiVPBi 7/m Xi˽ϋ0[M(&v hKo8|u\XLP=FKrFH(}cZg.m]]>@a6{DE;Qzo0/ h67>ՕK=NhCo"rbbh #u&MML"V`:cylxFL_L}>}Egio6@=SvwVˉL()fc#.r|h,d.=6L 1'8Թ{F01uޡnPQ3ao67ïio+g9tJ_Рt%J?rA=iev][# ]:oiݺunj|1d9BzEqP$id2LAҥ| F14)zF2ذ*pL]pz eK!&YXc ⤇o53`GwP. "TpI'^H| Z2g;OzSzY{A),d};AN2bU}z"F7ƋvO'ﳞxՂTzG{cC$s2ڸ'ZtKrb/mID@緳 4bOnc+:cp'j=բ  }QqAwa2h 8Â!!'A@1ce;hm[$f biR.N]$bpSuqhwӴ2rBX6YM{Y׳5TMI0۔2H7xhg€weO}R4RW%R'54LKDD4fI|EbuQFj\mb ~<լWVc 4 %'AB_Nhj1 }͇ 28QƷIšOg$`Rd| t9PyEqLƆ+\ %ҬK@e ܜ qud[";d< ѷBŌ3:ᡄNR *O8a{_r8yAWrlV'~A,0רo+J`<%U%?.t&SMzʔCSV-7Uast"޵ HKU,pxn^UzRMX`qd0.-[ uL/ \Y_Y[C}EHb[ jld9xx>h4,m'"Z: +TfV*@[[Y>-zc{ULK'9WE[aSAq*- B!Ko j=`f=E!vZ @{M~ȭ SI0D5;Mk,0%^gy$3;3|VO`?bRW"%D8_|6+, hF":gKGCJ%בnBHو#jVƳqhsxD憑W9H^ ||̴ŘJsq7د4aTj/i bRf{U0irz_6yHr }*=X\{4]بwyH'Qh/O*L <`Bs9.<̷-t}9M=/l7tPn h(^Hޢz-CyۥcO+xt[B j"nQYl'=#R ,1q}#7N묿H_aw/4;$Jm_8ؾG`]HwPD,_\&RXSSvL絿1 ,JwQHc`xĕItSJ'n${־PK; *GPK7golang.org/x/sys@v0.26.0/unix/zsyscall_linux_ppc64le.go\o8 ^ %i.rkˮQ7WH#ED e7w@Ôbv6} I)o>8|u\XLP=FKrFH>Z kڞqc\uu9{@ Ll~GZT K4D`l^ZWW..|;}R[[G!ei7)EoZoba޴ڭ3Ψ#T,c  4gg+2??N{꙲k4ZNL,`BWUPN(h\ێ=3E GKxݠO  9 R,ϗL F+mkJU%0 'uX[Mrq\b'C8m2ϵ\j68 roEN%ަ<%IFƃD;+{꫐Ƨ*>)aZ' |/ 1K.j}Lj`5dl?h77N dB<#"/@(d26L]ZM(f]D*cxxV G U!lh}b.f %t—,zoPx g S hnc:Y f F}[I,P.U[)/tC6nwS2mgz \uxe;E@lA1dᑒvRմhLxbp }6+*Uj*$igU,w"׳w-d9.shtzə gtr!}mtO'+sP]f&F{RfbȬ?/~oїɸ_Y /f8ֽ-~6Et<ۿi;)a L\ՂI6_2U*BiѫsdvX<ȹ*ڪ j W!lYYEuxkP6. tbRkFGn5~__J!i"\c)a5r>#v {}qS@(!*8YdyP]F0оqY<[:rPW*tsVFF,V Hp0CC#j=07EҴlmX6/8cc-Ƽe0PCp~5 U eTSxILSŐZ5K?I#dw_t5DK(P粗'c"Fo[G: @xy"HVg]!+qemYoZuyf {}܄pc`mF=EE(h/.|Z!TehP#v*fۿ8>AH\.vNzM1AS *J„ͤD.L#f{$ r3DDSH_OtZeHy_MX:Q[8a0N{E :]1h.n'M G>*~)Ou>ݑ5 5Q/k TAk57-"D}YTZͦ%&Q[ )q{4dLZ$Ͻx-LU⧞ n7z$a K?(p/_gpF 9x QPlkBǙ=G5eMg}&bGO22Uƚ~Ɵ2c85'ĞYE`Qb'F{#8&xLꤓuV:NOw&߳PKAյ .GPK7golang.org/x/sys@v0.26.0/unix/zsyscall_linux_riscv64.go[oJl*lyܻUUVrmX(,  3hzW_ _GoR>Os~c B.A4(XE2}%t#{8֡^do>y2&ٲKHWWGl@.`&--Y$Ll#sA't2/Q_ES@Jd\JՕKXĞorQ$2]@1I2$K2>Hb|Z6)^*b7@HGXA# u >?"NA=u2Nk$CC)(IN-䘘0NLyus90Uxl5ɖ [-$(%'];hA7ݩjIWI2*;vK1A&R0*璵Ztݒ.<[trrI1Q(ᷖttAKe2(` Wq{A>c5V80shEi&Ȑ=ìdTƆ^ׁc(,˦4Jz] F2m'%$`zL0G րY> K WDkTD/ǗVUO\[~{ dJ|/ eҊvZn`k/z~80!]G|N#]}g H+粥0x*XKN=1ԇi '\n5pLV3OU7F8o(2*Ez-_NXRoH<)}21:$Г&%@.\_ƙj\.M9b4XNj':q0-bid4ƥrLLkmh=WdTu \ϖRE+&fn2\BՆ G;S."j&}EE@= ?Q{d iZVtDm-i(kG<_\|},sVUc/b(5>tC e͢?u(0Y<ҋ`+h8Q&\WzbԞ}~H_ ˔rYx+ ߲!iJ_Tn֮pC=M󠍌'i7KEK,eGf(u8݋w|s}" xT;"1fRzҕi ,@ķ{‚D_˥j"`Nv!> .c'e'&;My MMEM3T_)%ٜTHwF;ZMՔ%唧< |#ξ ƣ^-^-9`ox6$|ʍ%j?iȪ@$vyRFbk-1幣[ x7εtXGؔ5V%]({MwsL˂}nX+Ӷio;?ٞipaS?zhO= Q>^xa;\v^=&(?8WV R`bCON@s)(}/b=zvrtkRr3}w殄 .?4!{w wА.X+1(yZ`Y~)),7j: D0^~=T mT3TKL3ŐX+`Mˢm!Oj/"}n!϶0J6kY=M96j?|vduGډ Fc/]`!_8qm(ڴ;kpl7tw_7 ڡ$qQt/WV<M}hƀCWS%gZgrɏE2># ,C6_VSxLxm⪳y iQ!Dnn rQ{Kq! 0ݐULDkO:A`r2$a1E*_ $U[o6[ULs2U\=ѹҶ%]4 mneFm 77"h~غv ĴP ؾa_Beゾ~|~}:?JvC0V&_0d}ƨ0[ۜ?B{QuzzFzk69sdq/VGݛPSKdCEC ˆDLS?+{kD:FPKy8PK5golang.org/x/sys@v0.26.0/unix/zsyscall_linux_s390x.goZmoH02J AKash4B\vZV ;?u6 d3cnyꥫ9? 1ӧtI,)e_ Džz'^,ԤIHxt9\B 9eEy@)"lwcE&0`a \4Ɔ# 2F 0<KaE)9~:l:0r~''77ָd.a[OX,tC{@JB3Q=.x9 DO;`"瀜Ǽ3N]Xt/+pr1;gѷwؿ[X?jDp:@ PIsΦ1eYJtcP_+H9,97cipgƟla$+Z#iSRBP"aq4\[JƾBdVqM^. &J Ltd%OunE9kkm+apoly8 o &&%KB&RE} QKmTI., W |rdc>0Lq-hqk ݍ"$RM/䢮RXS\>S]oEӍǾ\>HN]b#@Cǖ?1Չ ă"ߵH_>kV!a$'vFFQ@NSADWD,긖rOB)R) C!Le:yߟN8rԢ* (s.!3*: ѷbXX L R+iS/~Z}jCmg߶1 ZZQxGVEP`@=Si9I@3.0$1Wk:sڙMD QDo}{Q Rt(iD13]/t> l4rfwafW[fjgAsT;VjwDHZF{7%-:Քd){Skغ7$v‘xչ/RsZ霼gWT (&aدZ>Tp-#/ GeZ+Uߠ<]JhROU UܞLq3/yL@اFfXt\7^IoJkPKʐMq0PK7golang.org/x/sys@v0.26.0/unix/zsyscall_linux_sparc64.go[ۏ >T$ʙ9MH57UUU4h%L;%ݧc;@ §x0n=͠ɷ^Aj{ K/*=Xf_#aD!CX[#`0pE6# ]Lй9-֭yUNJxdG+J'!`aD(r*r*1t+(H2V~>M0Ot06Hf3>?NhZ2&.Ąn :Ǭ܀Úq'1|5dk CC"Jre7`Srxy9Ռ=sĨ:iϗi*)T cS}G]Nǿ=')DTEo:_ E,X!;A@lPkȵz.P N8 ȏuY0Ut,Tus:p,]pٖf)Uˀ!=X-G$>A(QBY |/u>0F X.D{P6WK*/_91jX$VVb>,?ick/Ω$et_YN1DתƈI&u>KmIl0slߏz2p[KS[C{M)񳁗A$aiVF3w:-23 ~tM^MKX-!߿훐])z1>]q&"{=;) M2),c?LgqFmëYm Q> jn6ƅ&7_Clޡw yq )Fq$a|\n6I0˴6 ],ـ,)?VBoJAsXELֹ<%>=M~`L'Nh AJih!!DJs^y&xo[1Ӧu "VqJqFq) oC(*5Cc>.oW;UBI N犺0*q S_%)r75?tJ<+qɼt(qc/b{;C)@f25G! CH<:\ !ԴʐW 9@"6ϷVLs:e*d'=<5BGII{(޴0?DqïE{:8a_\;|Sݔ1'?~ijڌxF!\T$̇s=ӉG..ᖴJ(35TjZlj73VHC5F6N P)⩽=%mL4C Mv6u/PKyo!APK4golang.org/x/sys@v0.26.0/unix/zsyscall_netbsd_386.go][s6~~NRK%I"QvDjfR)MB2IA)=߷^DPI ڛEv_w 4 >Oi8·5?8WoAxйD.}]WY^ta[? XCA}Įk x |\S0@ǏkvH"V3Gc A?Z-0@i}I] ~jZe,݁ypnՉ:j UЛItu~OgM jd5kWڶh[Z6PPxalXvV SoVoLFԣ߻; u06(v\[g|bS;W \G1 >1V Qeu4 įDbY ($i5lŊo}jޒ1oI3;>mlK kw+C'"7W.|+3LzT pΌe.z/i6PVv{=u)7F٪ ȊcQz)6/I?1v!D&F48+0AcR®aGM}(ħ;5CK5M֐2d.8p#2\~Ξl '}* &hӢEH39R)DTI٨FT{IL#bԃ09 nU}Iw_Ay1;=nnC@-E>m$Tz`耟zu~x+ם3lRv^f#z}U&nR-;Je撐#ܬvo?Q+XG®1v6c/޻4\g"k#U2){^au@# ߹j`>xһ&^RݒH!#A3EqUVW0~8V^@L4?z3+\i?sa_,ER4JG|&c6 ǫA&0{z< DTy=|0EC// Ov!(8m47;:I% I{g4+'2E"7&0L _ |Jlae/U,}υqE !/O(j摆0p%#m *gǪV' `3挫8o,e/ PÎ,ϰ @Hpc"l:dB5{b]>86C>Iჱ}ow*u8nPSK4 \)crM{wʴX%6ԋ`\nuW阽CCiS]?BL'¸؀mҫpw˂8@o'-&u!LA.T ّͳ=xx<ߌ Lol8S S+jBjADwySu&W'zQ_ПԐRsk)o%ý_ tsllRg7NvAֱصcpGG`{ ky%U[`i?rf|R5Xa GL"i;m۲ t_&EQ ##;VQCnD L-%l|njr3vbAa'pjGnaz,?m)&H`$m_LϷ(u';V֞{[\l5/>0jE"A^M =PB:/ٗ*6$"ΧS D!-u5AhxWᐏ0`[e퍦;b&͋[T8٭}lM\RS(N_Aq!!\T]V0ub.!Oe*&K~lP>LO3jCN 5(%A SImԈ.iY7Z(~\U#7zW,"/o1:3ӯ\vBPEĪnYYCRxJVcH՗M: #ۯ]GC/7kl*+Ej?C|Se.w|OUo߆.Leo28jai?9&6V}mOd x凇jW% #=*S3ĩb]m%,a 'w5w?0zV >j& 2tC+%z eIU,$ F%WH< ‚nz!&zLJ͘2f=p ZӇ]j\rP | d'Ńzqv?__' J.AC3Ym^}7 ('(VDIGPQ~O[ oM^qPYlUblBuKBK. ASlour3Ьhǧt@'"}ͭh@N^κt2( 1u٭VԠkԠK$ :kzˌ_rW8Z7#0l[ZI}Ú7&f_ (9_BA~h`]%K&"O<-@BބJdt~7X|1uwW<0B ׶v')ۮYU;a?=4XD 3/B28 8zLF/νusֻ.=Wx בx5giBOOHh4^mF㽂2 dVؘI>Chۇ}[iY-|:u;}7c6M.8ӥm>p.VەA3~JD}"кjS;HET Cߔϗ[YƓB7+﫩t~+$nO*CD)5v5-PT}Ƀ_WBَۉȷ(pm4{~7L/&2Yn\=TmP"( u jļپ7;ݗW N!u%u  92!Hgdv2`~t-7 .ݐ!TduK$ߧ0b05]-d$dyaɍ8q,ᠨрcfef12Mb?A^&`8dKe86ToVQɺM`O"W*7;i"򲻜&¾uWo 9b%Iw2F:+&^ْSQׇV }-/m}7әZ"cLl2 B&Ţ'Y}p:M`D5WC޸8@72=_wG\/󷃬9!{[b 2U_ýwUS5N͡Nа#T;wKPnv yW֥󐡈wI^,$jєXA6>`7!Fo$Uw+z F )2(G4 )~Gݤ&/pj;!æ]o#lsU$6eƐ\4 o J&#{EG2d_S켼o,Q)F ' t\H֠M[dAL> Տw7 [hFJmwe]ɆI^h^ 39Sydbuږ?I8FA34bǐ@PCIO8f$Gr,IZ9 R;%<ԫ㨞aa&<搤*3eh$US_U맕蒧Tj~w ,_qy وozRϬk,./p [o@{r u&FDT%Vmj4KDB#nYAb0cSLZYp /!F>#-$n_0w/+,\dfFvQŸ ~S))g.Pya!: dQ'U8@ I톭˱ ^t)eXM=ʙDbݏ`PF:xM3AM#ӌŶ3aIz؏d ; x1Duj-.W/H aЇcus+@&(c?{įӤ!wuxU@m=R|;V.yaPKbPK6golang.org/x/sys@v0.26.0/unix/zsyscall_netbsd_amd64.go]m8 0 %gTU_@sKBF#J ǁ]_y!y*ʩP*Brs|b> $@Oi8 A> 56>:k VŮkNϬop 1([Lo,nw?әHj}} lNJ?#Z-0wZaBzC$w?7Vbi߫ # Fc40Tꢫ}7VAo6t}>--b 6n<_A6>ܬm$$al#x , hߴPՇru@`#Q>cQHenۭw|bS; ܲGc|b2 vݿZA$~%$"b(g@!Iaӟ/VS>YV~K͂o^"9D_##^:08ſ E䠆r[aУJ of<E"pb@Y׆Թ~ (hn[MFVKWi~M[f9&@01BФ7N^4 ;H 5Y ?xS>sl #R'/u7@ʐP=tpaio8'7l48`͊"!uH 8RIn$giWS%1@RBLv3X;\UD=.17pcw}ܘ}GiۀZbC$Tz`耟zu~[|Na6h;`m_?f#ǚ6qj ְ.V*3~Mx~X;&2vũY}am9:;)^O6S:Gߘ:>,nHpT;B},f^yBKࠔPJ[ "x$h>(c# u|Ki_GSƙx% >-?g.E߀Z$Ectgn2цe(p)^ 2G!P{sk 5+;·_^BPp.=houJw I'g4+'2E"7&0L _ >%6ڄ*¸{âxO' v5~C~HCBv6GU+rrsuqԁAfaQ֖nqV v$8%q>K2^=1ݮN $EpksߛlErN2&MWJb2qK@n4YWˠdҦzMn}?whhҔ3wb ^Ȕ2SP@־M{NnYD.I\?ȅj0w+;y?*7zq;[=Տ)WnDZc}uZI)PT/J !5P_1{_@7&uTw.ld];vf=}\`qG q\\;'QڬO+I$m xCP68^Ꮾ] ˤ?j4SdBw`*6u(Й}4s9WTv_Xnе.T,P#DT>Jg -7M%ͤza|^<ݱ amol@ۺj^T}uaz[|@"A^M =PB:/ٗ*6$".f3 D!n)o]MvO!a^zLl_q[Sq9jٚ@QV+Qf ąHp_Sb2xkxӉju;3ZTKSYæR?[z§5!GW!+`gaBTf[5b!;F%@Z֍VW}ȫA?hq4L6׽Ԁp}j)ĩ~w=ߧMoqq^&7?<zV+>W2tfC+ PvczmF8U^á% F|O9~?4aĄ0Ȳ õ D:,aEP5h9;75hŪǂΚ2g\N,+ ۺ/@c߰捉_wHN~헳Pj_]=r2~ g7%=_+/^W/y:nlONҲc+mQ?=#4 \E 3/R2 8zLF/M5sfmd=Wx בx54!f$4E^hb2+kIlLl ٷb1-F[qe:# 8k4 킛?]~&Jı]Y2ӟoDqK;TC*bVDx27TM}4Qg~[!t/.ҳWFi@`YcDԴ#MSe&^!k`;q!ޠMv :c(9PxgqP-ե&f',]^8 ":甃ԩ/(猂" oN d$}|"݌!(C*>zIOa3ȣa5]-$dy~aՍ8qନр. M3y\&Q] pN!o\Galp௻|vJW8NhbށةLJ 30 gq44,dР/]Tfv@Bޕu mw {U`EJCweοIIh& 38S+SZbuƖ? I&2FA34b]Ɛ@PCIO2$Gr,V#@ZY "5H -8Y2b!dy 9$0,C8I]is)]4#B5#kBgD\fq6ilfۮw 'f&n*ړ{:=N!оMo\aDAX=<a?i M&T7}T;0Xl;z WR!P3rZ @v!*[]_?vF 5z#iK}4QX~\<cEq[-07ZaBҺ.wnX*!PHC ܩu>п7>PZkHm`.wm$$ä ٺ Wx ̍ hߴ坪ͧG w{amD!Qؗj.v`3b`|f2 v_ i@P_/_ Ų PH~gGŋԠ.%?=jcߒgv|9@%?,[PqWN$L;uE$NoB9!\DVf&67e.z\.i6PVv{=u)7FŪ =ȊcQ=z)6I?1v!D&F<8+0Acsbaװ&>y`z ޽!|DJy䥎&kH2xjN. ?m p>sg iQ"íP*ɍlT#c$R1\CAHSnkg`w>S;VJr͠<ܘ7fn71ޡc.j*=0t/ ?:wGNa6h;`e_o~tS&nS-;Je撐#ܮvo=>`!XUqg$i~:dW¹®Yt5Gh՗M]>d \}WLa-DTjo>w͊!BÀa\ }:I%SҤ3\"&x}>%6Z*¸{ɢx' g v5~C~HCBv6ЇcU+rrsUqԁAfaQV.gqV v$8)q6J2^=1ݮN $E7U;΋:qPSK4 \)&ȎJ\eZ,INlE0[7q+tޡIS^4 g.Tx!SJOLa\l@MY6F8ɻeAǺN&q ܕQsC#&.]x?ve/"F}V Uۨ֡wBgO"]ӄ~ 6V_]S}uLbB?jPCyk8wSG?0=߶K${l/i&O[ȓ]_kϏ`Խ H{.z_~]#! ]_/&ʞr(FK`Lө^`ss)o]MvާpGײF={1-*{~\DxZ&P.+jx/fʠFoLY[Wfy \>V0r-\B6UL:pٺH} f`AjPJ XIG;  62 5*1]Ҳn: PF(ϟo#YD^ߎEctg_턠Uݲڇ(b e(.ǜՑ/CtF_[ǻRُ v_h 4nTVJ~ ]w|6 ޾ G]z0WˮdpG~rLYm,f@͛:dծf/@KF6(6GxeT1z0; ڟshap =+ae5stYPlڕyTa`$*MI+$BaR7IFfLdDb jqc8c|.5a. 9wX>Ն_A8|l;{⧟>݈' J.ȑAC3YmA}7 ('(VDIGPQ~O[ oM^qPYlUblBuKBK. ASlour2Ьhǧt@'"}ͭh@N^κt2( 1u٭VԠ\jԠK$ :kzˌ_rW8Z7#0l[ZI}Ú7&v_ (9ە_BA2ЮJLDy[8 /4M1nXGb%xramNR} vw~zj7i8A(fP_ʅ(ep~!#(#p^{w :\P?[7b{*#j1҄🞛hF3{eTSVH*ʟTv +?C߇4R j0,s jZΡ"ſ+9goQAn.Cƅ@%bPjF[ ;z}yjxSWRP#*dZ6F8#;kkI^xMLwA $[R&>#q:bt`~U}g7BıFƛ6Xcd|_c[zur!=},ᕽM4p0= Dɖpl2P߰u:Kٟ 8%D@+3dTo8?ӊEew9M }BOW-(BrJFdTuVLfQ%RSwUZ^. n3v/Dd^ mENHfquFuk0 8x+q%podzfÉ-*'_oYsFEC!vNe·%M\j87c!xϡa9 Gxv".2uK1CK:qvY.I)8?=/,$5l- }/1W߬Iz'V6;W?RdPh2R$,>Mq'L^(vBM5 ls}Hmq!1`in !J&#EG:d_S켼o,Q9F ' ,At8Kv'|vk$o?Dea4hʺt hѼXgsR'µ-“Mi-fh(:!𓞚iI"EjY4Mc3'v/pПYo=DY\^(ހ ڷ1L2KhaT1 FUݲa.ƦY":W?=^Ce+|cw'ZHr`Ha^|AWYafFvQŸ ~W)9g.Pya!: dQ'U8@ I톭˱ ^t)eXM=ʙDb`PF:xM3AM#ӌŶ3aIz؏d ; x1Duj-.7/H aЇcus+@&(c?{įӤ!wuxU@m=R|;V.yaPKPK6golang.org/x/sys@v0.26.0/unix/zsyscall_netbsd_arm64.go]m8 0 %gTU_@sKBF#J ǁ]_y!y*ʩP*Brs|b> $@Oi8 A> 56>:qUGbWƇ5gVW7a DZ -&v]Yx{7Cj?Q߻{ПLjo>|>cERg;cA?Z-0@i!ֻkCj VUBf FSu>?7L>PZH7m`nVCZ6PPx0iޑXuA Sojl9: (nCϱ($ ;>)kn#1 >1V Q]_wҀֿ^ U13ϊ+~Aܬz+~{%frH~Xb/Bݑ HvH߄"rPC\0MQ%7 3l "]YDmkz\?Sodiۭw&h#+F D+4f|-3i !hЛMjx]Î,<)f9P6zj )铗:kl ecq:Gd07N6T}0fE:frSB$7QF Jp!ar&NY U}iw_Ay1ۻ>nܾ#ܴm@-|@n!j*=0tK?:w->u TͯcMOhqfkXhk+KB@s&MDac ٬0wx6p 'R])soL\$8k Ig[aaNpPJ(%-b<4mYA1XOiu`}>% Ĵ)L3vM̢ol-V_V:37h|2ˣ{@gQe{5EC/N/ Ov!(m4ρ7:M%SҤ3\"&xmBXKK_saܽaQf'sJ!y!!LEd;\HY꣉Bj9Lx9:8N|[ GB3(k7s8;8%͞nWc'lN koPyLG5MUNe"'`iji~&+%1}8% 7PLeP2iӉMu]7z徟N;44i ٙ;|1Ӆ /dJtB ) I kߦ'y,v"rX$Bx<ۃq}A魞”+JCH-1>:]}xΤw}uI jKy{JSLec:q*; ŮF>.8#Hls.aߝ(wm'Ucv|$Of0j->  ]_/&ʞr(FK`L^`s7&; 紐ᐏ0`[egb&͋[T8٭}lM\RwT(N_AG^3Bs/n1^u<5BQEՠ@P8Fg~zuNj@Xվ[V`VЁE쳒嘳:VuehN+||W6H -"ہvQ/`TxS&۷ѸK/j{ݛ ڟshONz =eu+ty3^lڕzc F;ű o6L*FVh\#Ng?ڟs0\bBJdG̈́Z"n0"[~xve0Uo"a,ɠedh AXM:D/sYl^GDإ&eL}5Niϗv&/u:spv)Kjʐb Ѐ Kb˪JyWBɋb*JM(xqiP}Spe!h;N/S,sX/5`P_({PyWܛMڢp>.u2e4ќbcAgMO}ѳK TBKZfm]t oXگ;aj$`Y(5/l _D g›@IL_ү{iEorTB 7ŧd'iٱX6᨟j"fԗr)J\_Hf|=&dަ9rc3t6XJAT?l +?#߇4R j0,s"jZΑ2ſ[5~縁ooP&Wi1ma^M(ܸ{WDPRMԈfctov./@MU\sAsFAA~L˷'Rv2`t  n]!Tdt=$ߧ00wrZl Ok[8^pVhdYKLjN+X@.re"׸: fg(R7UUTRX|;={ݥ(uyl= gZ.@)bC5{H.Xhڝδ *:~TjABj~_Keal!ӣ1{2AпO iV<@ب.C{ 8Um7#аr{LOHpMqPE%]s'B4dp@T[&btRu38As2hPǂj.*3; !ʺt3̰27i#$?{s+HҾf;&SC|A̚ZnEo UO~C!E&Eu)NȰfW2{XL{~=Tdܦlư `a Q2-,(5UN{OOM5Ƀ?jЁ&=M C &z[ƻ㏅*QY"%ԡ仲Nd$Z4֙])-pc˟E^`pFKA1.cH !'twbysiHQZOxVE bcr,u 1qi*ӝ}f,=zd+ d9Duj-Z.ͯ;N#=Ñ>g]30\7F˷'p$~&ѾA4Uf j +'f.H7kP PKgPK5golang.org/x/sys@v0.26.0/unix/zsyscall_openbsd_386.go][o6~~Ty`dg=F,Qֺ\_K%u+C<|%%"u;@ ^$%&;)+\}7! E v74BVۋIz}_F%$`8B7by n{WD1F_.߽t"^?~F~Z|,J? {ZUAx$EjUIZ=W<_={^4fi]_\RpYhj;:\} 2R]koXe m=0KUﳀWWE%*yl@ c!i*E7M.bFtI m<"}:SoHG8}:.軺YT ]ޖ{Ls JV!ޖ{ n C Z5^Mdܢ8Bg5-mz<3KppQga9ozBk=ySU_oޢ8 U`WvaegիEb]mw a_ooWr(?1)'ӣ[ՁUzsvޝ"e>R%+(Efdy`{+u|S&c|aDZqG,W0k 4 )8`<.shi>٘ϬE^%&r`4Ң5|{$F% h$FIk<sqwI۠|kKrDzzNs\ ]90jG0wuȓjvq<Ի8lo)h`5_v(#iH:Lzu=m7 f)+H\HGH3kٔv!y9N2+۞Y) RX1Xqz4S Rʳ)*,rY$t;3\1>PNs 5Hp:ut<py*o@(J5HEax$\6}eVl0ytbVͺW=yp}]D?XAox#f.X;r~Yqǖr8`1YxH Z5^isG&M~TsǠp!urpN5U *&9peʳ?Sfw.p| 7N@#wGY$sH &StE@x! -CoB- HjG$ lg~ HbՋ1 \J@|Ya=_e<彻f_iR̩RnQǦtOy:1S]C=EV:\ X%{_EKLo|A`10<8,:5^ ^Dt%0̣2^J|߭{UOGPU-i] lf\~T9zaJHgαͷX1waP0/ѧBAAL7b;>dȞF䁿迹Y#@ K|.I{ͿbV ʈF잓ot/E!W ̤*DcL, Y$>#jo#%KXe̟S}p 7\!o).-`2B胺r_N .-tVL._t(d<`%;49Δ+$.MY}L! tErD&>uwf*%ye*-۔K*02}]30 `(z!C Q]!7bݫ)cTW#S9IJV,Er . G`Ν&s<\}K|=ȗlrl9{: ϖvhxy8(/A(l 0:ìw}ίe2'FW A ,≁!'9(r (5AP4,jxrܦgNi+_87RA#4@ VbŜ!ݼPk E"$[7j7‹ )]i"6:g@9k8@. Ha;JPU;f}fTx9Ȳ'/pS"n0QU7h}dxb*b*ct13v-+Sz~ήXJAlhH1({mHk?( wUcYBL %.\ ~z+uA]^] *q@p+reRk\fEFhJeBB!YDE/ҘoƣY:0xC%IzWpFTIWj"M^AJuA4OY,0V i8 ݼ,ͭ{yZIC n2 y~":D@Xj^AXlVae6.l|dϐξ՘AB9o`Z AQTj45o0ȇӢ]Nux}yOEGު~z?PY:,F!yrH'V$&əLW#+Ge4M:JX{Xޥc+q,m$S@(VZYK߉l{sFP 0R'8>q 3S ׄOfwNNMpz\"-F& ^[&ui?F kVdQ!(̬Ow[N,D~ b@,GOBfb fi]\&4gi\t ~ݒi F䋿S:'T< bWPub$Ex|G$Ԙͤ ԢcO΂?}Wzbbj!BXQF5 i53-Qx ʎ&7tld?g[La[bIsFopm+F\uul6ԹaC jdy"/ cJmr\]Z{0-ĤDDT|FMXо@hM[ò}8j.|}yOk "t[AؓeLF䁦v"_$2reDWmѾUoR s鎣Tds[H|p/[9A~ҡ(Wf." Rƿ`]8XӸvŶJQoAd,K5KgVie&dV&i!>¹p<[w*ۣNGͅºѶ,xh͝*[BS҈zv5it&އV4VSCIK+/sD Lk+̈p>HɸBs7f GhsKKHC!. 55V  LEڴַvsSNͶEo(P`YhSR >\1#1ە 9)p5 XjcRQ_Ʈz*ctQQ6X7 D,kjUUYO쉇>8 G4nEU됹x}N }ST# q1e@#Hil$`2?3G{W_UFSd1TPY`h&ʁE-oD_z`vYm;/EY~2ï圞qdtCVfS1'-ttE6F:&) d&wSKmtfLGSU[t|,Y^-Y_RcFJlKck:ah&8VBCK%Ϡ쒁[r99TyY>. E@DW5V< ѕOP>1+]\HhB L׼:Z.u.#'ѱhƃ\/DHwdq0x,@x-2t(4ZZX]G6@ Sj-.#N=RtLf@EfS1'-txE)z_9n)#>uWNukL^FZYG=Ll(Ts|Dh#!%_}Hw(2ӳ6:>l.u zA528L$crܹ\mF/cq?md1A&L-MTKi ?HYTK0k7ǡϵ\'m,(t+:ɵ %)A45XiH.KNjy &>S5fj9w@DDSm@BkVsރ^~ 6ï}9slBF [J.k~MpnMEА4.1h]ᅐʤaDs1WCIBt\37$nXz}踀o, Qm,\ z`ߜˮ/ Ahfȥ"H3uSp_mfG&>X|>KBl>0Ȥg-#X Fb"DG ݾ*\k5$H-MJ`" ]pf.q ~&L7ɦ6L<ՎG$N܂P`ca/ZkNa$—b>dmt]"P[nb>ma@\؎;D2],z^ǫSk/v =Y.j{Kc9"Xǹ,c\IY\q, Ѭ%1YH=8DEԱxB4~r)f}JCm^QY+:&[8<ǖ<%7 W W/g'Rʋ)u"rY$?ǡvOcRf=[IKu6f8f6x< nME(Ju$*0l<'I1~5}=rY$?V?J/&ԭ%6 eQJ#} $iE ?^̚2DO' ~mU/y^'_9Q;0,sCCE<^jobNC"5&ѿ7> Jae*bW/.UWB7Q"_` a oB/d%@#4OP5yVF_la\qx|zVC%d؉~]|m8hIY'X(gX՗DBAA-7:?dȞF俹Yo\Hɻ>]$C/ʛq#Ĭ)?'?$9Vo_bIU\納YH~`Hv_.R:/ǴE0N} aY''q\ 跌 +ՇjL];dt"uprk4(sbrC!g&I]SNKsLIH]T̄Y~x%s  D>QWNΜ]Ied @ P}SKQteʀcIAkjAxIj!@ (PSA EZȡNgmFfeV&^ibxj`(uP)G (ODUWf' Ulrk̊׉.spCPs]v 8y=QE L0 3H@v^)*椁vUa]TIu@UT1/ǔU(ZSz~/YĀJAljhL|(g 8!'HQ:F{3 j\JW׹: Vj"} }-$ga#Eii8b}W?@SWYJbQp'br7띝T.$l܃oSyN\()iaj%B zZ>N۰܆lm23c> q2e;L4 I-8rϟ]2~"6D-@Xjӧ ,ݪFp:S6>qBRW j,@ѧP@G+u[)mVCpTi>UM~3efxSEá@ ;0>(gJ1k@EHt]ׅ'k)toD[B,k@:yԧyQ'tۃyJ" _b9;X2=d.;YqHֶ"02PH~7_vej S̖1eY+Eϒi_dԢ?7M&̀dsQ$>P<׳$߯{ƒu|r4k"ſ9|kGV0k2/ofNS`M% Z566G};NSyb֚SĚJgDv#93ntXB0 !".E[Gb\[o<;zQ/8J QGHb' ^ŢB4`6m]$m0XoWჯ7ڪ9n.K04h3Fw"ZvU[KuDģ\rt8S-j^*IuAJ(u'٪8@:80ZʜrC!(8Yk.nj@+fz@rB/-muB-%RBW];)u$)pPK9sPK6golang.org/x/sys@v0.26.0/unix/zsyscall_openbsd_amd64.sM;Bp]#kF`59- 3G1e"%ޮ*Poy-6ԻwCv<c>c+ܽ{kW!a(P^vcؕ]m+݇O>~ۻmyj Ncqx!L4M6/߽/?ݫWiTt>U5,v^{wÔzk4>#>Ic/E=}cvYm;/EY~2ï圞qdtCVfS1'-ttE6F:&) d&wSKmtfLGSU[t|,Y^-Y_RcFJlKck:ah&8VBCK%Ϡ쒁[r99Ty/Y>. E@DW5V< ѕOP>1+]\HhB L׼:Z.u.#'ѱhƃ\/DHwdq0x,@x-2t(4ZZX]G6@ Sj-.#N=RtLf@EfS1'-txE)z_9n)#>uWNukL^FZYG=Ll(Ts|Dh#!%_}Hw(2ӳ6:>l.} zA528L$crܹ\mF/cq?md1A&L-MTKi ?HYTK0k7ǡϵ\'m,(t+:ɵ %)A45XiH.KNjy &>S5fj9w@DDSm@BkVsރ^~ 6ï}9slBF [J.k~MpnMEА4.1h]ᅐʤaDs1WCIBt\37$nXz}踀o, Qm,\ z`ߜˮ/ Ahfȥ"H3uSp_mfG&>X|>KBl>0Ȥg-#X Fb"DG ݾ*\k5$H-MJ`" ]pf.q ~&L7ɦ6L<ՎG$N܂P`ca/ZkNa$—b>dmt]"P[nb>ma@\؎;D2],z^ǫSk/v =Y.j{Kc9"Xǹ,c\IY\q, Ѭ%1YH=8DEԱxB4~r)f},,Qֺ5Iڳ;}.Ut$N֭|ȣ;$) o= ,{YzVVz==cABa˟+5Ubx H<)W/^ G2σ"Buy(Ż/s xjERNH+'|6H0*ͫ0^=yyz.h㧫juӺ> (y.чO?]O]]G/t ϟW_jER]I`[/vh6h]ȇW rE-/_6(`)/ל] ,-."EuZ馽/k 5qEՓz IcE\'\\ d_nVOzB0Ip\#-LʝeA-n)9-:Nr'c:b1Jo[<RuSݏ;XZTJjK7qޠu~#9SѣtC9,#uJb.ʙM$ YIr0[khξ2*+_d@g;8ٜJJevÜCJfz!ͬ+5)uZD5Viӵd+)|S@蹨aY8dW|7⯤5VXex:* UEEJVyԑ f@W;úȬ)P@GOlۑ L^A] ;lZeMUaEֹ vnlZ}*mYjͬzR*"-yVc@j<&UIS)}i ]0ws7#N ]mٝ2}C:)t@M͢r_:+e_HUB [Wp!⨹pj %:կi^7]gf8?,mPO(sM=Gpx2o =[gA ʎ?=쌃b:?pQ.~9CpFI8үbwyzwF̊HU塷ڟo ăQ\DԕuLv]Sw]mR7^b¬-Ѐ؃pi' :Lgc>Zz<ir̓ӂm Hy 3 3%@-[&oB|Wz."9qY3tvV8\¬!On8z"P6"̓=} E" 2_+,Jߢ3/E"q !" fSڅTt.h 8l{ffJaŀjcŭv!NO06" %+i2qD2>D[T^]i E!z*]Qw;n@f'.x}/Mpg:Lvv$uCWKx[@n4g gex8H*ϦԪxreB3iFkR<>Ž;ڹ|UMrʔg;2:f]K$o$G@&H03M02! B@Z,k'߄v[D )zՎHĪcx{#=z;y{w ,ĥSݢoޏMhtcnzڋx92u*:J"8TDb(ax(qXtj0WZ}K`G%ЍeT[?% M9&[D$-:L̸کrI/|Μc+:!ocӃi'yaa^O7 `8n_v|Ȭ=)s^G8c,wA&>] C/#Ĭ)='?D)_BIUlǴYH}0$FK(3p1,>? >0/nBR][FeuSWw#H]Z8_ #鬘\P"y$)Kvjmi.s)W0I\2pC~#KW?[00M0*ޙk8 n/l*nlSp,Du"Wo0+5 pFu(_uj\fQ]Ln[Dɥ37(/`>s4C\_õ(o8ȯ8C~!OG|P /o<E?4B'ҵUV}NÞt[ȣʃ!!C<10ā0gQž>泐E-O0Ppx Fj>qQģ*=]3} Hde+4?F`@Y&@_xr_4kr RFG82g (5%)lП\*q̻oٌ 2Y+1,d 1;(bmNinaY :lOSBBry.|U®Q{~@o% pS>蔍5c  6E[b4kN^V(av HpHFZ"T/ȸc oϲ)Z`?+Qt*MՌTɌLG]vUhlW #ʤZ xI5̘ 4'ДHBVh5^D+H51e=ތGc)t`IK& odѳ::D!2vU 1^{di.Yo1u65p:|Y[ Q{\g l&E cuÑ󛁰Ԧ.t*֧l\H!Lm)01 F{s\Jn+u2LeJ}bhkv7o]&a'H߹>5& Ի򞼋U?^u?QY:,F!yrH'V$&` &īG{#Ͳvn&Ek_I,=,oӱ5em)G \tq-ܬoE c6h9#(B{ șu)QkOiq'3KۇZ1'{٦r8=Tzv#Yf}U/w:P4ITm55I-Dy_[3 R'FGn^۬L(%kVdQ!(Ϸ!\N,D~ Ų@,GODd fi]\&4gi\t ~ߒi F䋿S:'T< bWPub$,Ex|$Ԙͤ Ԣ_btC(ʅ˺`^WlG[, "> dSv0gx"JTr,3`C,pad&&e<7պj2TN̖?5Vʺ;FWRЊzvH?ᨬf744E8xe?Iߴ{k hx) {s`zC2/&Sa}J@n8- ,UOih"%;US;T1T⍆`b?j_Z&q>Km`Rj$\V<$,C؇xGf F"lX<&a[c8٢Zh | JWN/[ZsLoUtH%4ll׶bUWgގ[K\i@K;2^6@V' 2ʩ&ňx٥yLL MDOɗiL0~47] #W@irbXGͅ+oiANs+{LH<Д~^$_0˚$SP,G ]b܆aXl,+>ZB^NLPOj)m|+\#y^Bs9)d<`3!k7 Ct+\# 2=JEcq#}tX17%y)2p'raI"V@>`(e+-֥kK0 i0kg`._l4RͲQtfVFlқIfe# wJ|̳u=|d q\x!m*ܩaE,4%XhHj}hKc552GtDiČ烴!,!61wcpJ?4Km=2ZsXl l[DM.m}Kmj0X:hl[D.0 e6+2[m1nCo<]ʐcmRИWc6.0&`` 0Filu@oK`̲&XUTɞxS|`@)zdH$߅ʱ=N?>E;s\4ZFF.;s w\e4EQM% m¨XFDˣʇ]R`e܁ |k%J:zls9EͲPo{5 ~"w&˽ we{j7Z5> ֧KUt'?t(cm{k< >+t:GgRSN3σjզ&Lr _]i(ivZ!<=. s䃒*sjR:~ۻmyf Ncqx!L4M6寿?/?oݫWiTtO;U5,v^;aJfZ!}Fψ}fO6`kQO.K5Mte(Ofӳ6:>l.xʌ*𤅎Hc]ۆ?sxHd6D| v\ô#zS`p.%+%WjHt|,Yc-R0! mUJh{)d ]2SxY.>8OU5k]‡҅r(J`FЊG1򉴱5fK t\hVSgY˥%p$^D::x0HL:!Ź^E&fCk\˹k+fby`^\pdtiG l0Ѭp*Hc7E\s=tLfS@ű+j41DD/1ABCLT<;K@P *P(-jA41D/%sk p&rkf\#=;1f͐ß>K5WMt )D2wB;ٿ/n %rd*SVZ.jmL (HtD`\քLp*9`M> E}$اɾn-܃6`bɒ}_9=kH E:jO0m$D · N°PEYszFǑ%N=Z/(F$alQ>V;K57Mt~e},й^⧍,0;ȄEٿɖj mb^"K=7j{&bv}8t}KEb~.XvE0$%耦+-eɉ~R-:95DgL^=NԠ~c}y*}MH{j{ߋb T1v/?bMZ(aTzmTٯ . 5-%\6 U#=Z4 Bx.j1IC x9$3#"\kcP@!*^AO 2Ycٵ{;%!8 TIq|NՂibp@_$c^zbw|߭bb!Cý|hHXCC,a-ɾ5&#\ )9QN g ($yOeR s(H0q0 C4B$"!w0bd@H-CFↁaPb^\&lڌ2 X7;9ׄhŚp*1g*okBl>0ȤggI>R`_ @$qT7Wk-DI)L05s^+.,_W=a=/א&&Icĩ[ l"U9Ek-i<ۇ.#K~T,- KTqg-ѝwp$Wq R. 6DDu( M B,fo2ab͎-j41DD/mv1=k;HtljsO;O܂P`c(c2sH)>>vxj:;PԥZ M (d סvx=mc_\{_x~*p.߽'˅R uov)r,G[8|+)\?PK2XB15&kI:ݓg,Nic@XAKs&"x,`_jN0%} Gϫk9gmt|]*{cDOpFZxFodPO!p2a8vھ۹D ʤCLIT\a?1fdz~ GL52 Pb#S25勶2X0~a`Ŀ0 530I{l_Y}lã~JeOHl>T0)<1:XT#:SITG9'97L˜Q'HR>tHqA [7K"SL&O}'K`d8VOp99i-R%s_t#L ´]uא&&I|o=?+qMYhdSьO 㭃6l.]ZCmtz-p$^VEPK͜ס kPK7golang.org/x/sys@v0.26.0/unix/zsyscall_openbsd_arm64.go}[oܶsSblLsk?8i y8(,Qu+Iy}oIiI$qq_?]w?_=l?]yhw!QfDmaVM^65ahyTti[(O7g]D^삐|}۫wy~_ߡWulҶQYF궡*Wlx|!O m+%& yC/tHp)[˾{HT6uWx% ١6XÈ(sW -l^mT cKM+Wl˳͓oZRm-Hkz/i'UT|zyF8X U |QQ~6ek):_ _IKyM>"gh{5F]_KDv~)zgPzeUIG=3> d!+I@nǸa[pYǷ\ŷD+t_:Ct1RY)vhtfU)yvvy!ͬ+5) u^%5i+^)ѭ|S@蹨'q]U8fW|3-W,:le+w72ѐx0k0&Qz8;wVs7#ACm+ҧ;el:9 @M˒P6>(e_HUF>87pkq%+&Ɍ?Ci{{^^+W s #My e`pRR]֠~gx"T7vY1_ܼ8rQ a_oo]ۋ9O_Ԋ-&v߼9;\ "u9$+(Egft@❁=պQnSz~ޮttA\jİ㡽q',nԪ0k 4 )8`<.Ki)i?ٙϢE^e&J=k6hEIkHh$FIkspŶH㛨|Ǎkp"s^e*/1mpY:J1 O9nxn_z!mKMne$2I]T7J97[\Ag3#I]^ E @B8U^ X3ݦ .h4\GffJa@jSŭv!Ґ05# v@ܕ'M]4s]ݨtxઐ&\è;_͝I7 3\TQrS&3N f^ Rog0T.i$`ȭFᢎo;~\Ŕ:UOcP,  R1?䞭%PFED@R3Aǿy$y|X4m}uKA8!A 3i'[Ҋ <=ţ;:|.;pcʋ?S w.p|R02N@6"`tGEdKȦ fstYD@! cVBHfGd gƊH41 \J@BY<a==2磻n_i")T)mw[SKgz2ߡ^"yIuBu1FI'‡[_X 21A*+ӛ(/ejP[GI'{n<+#z/b0.ujm3G}?( U^bYBJ 5.\ ~u5XxJ@ϖLo3YZȢ4FU>rWګ,BmB1Of8O~a6A)<~'K.@40v@]r=@-mXmna}L 18`plne ?O̥k2OhYc((f+%R2S6(5BS.K" 0*,tm UԐp3pЁ㆏(B$IG[f]q+rIO+A1H]K'ά N)P˃~ɫ1E^~]q2}~/q򛷋Xy쿛ԁI|1H4vozsoMgj!D @b8k^W/k̏"%QU3-j9N0ڎ*ZS`h0RЊR;+埝O 0){gIe4/fj2jQߛ&f@(a(O=xa_95^` C>#+c57[vצ[-px>JӝEZ)YQk)bi%J x"̜7:,PWxOM BMJBÁz kt`jBX"#i7j%Ń(#$}uzn1#)_4brYGc{.M%֑tp661?,kcA=]14HGxYcᝈ 4<$r"a׶^IG31)61TP1dsl(뿠ɼd[rh}8!뮾ŧu:-m 2 #u @Syrqr.gLB9H~g>pzb7d_'i _HUFjk2#d LcA:t)ܥFgʍk`;UTD&oS/sO d^ #u B>ޢImѨ48}MRƩU]xUuӸMJ`.ep+G4KoVd&dQgy%^pK7W׈*wd+NG]"ae;8HܲNGb)iD, C:c^S# 0c(Ѡ.1# }h>Gc'~~X(m-!/!sWL(d'\{,8;+D;,$B05QgӦ+l[R}V @;KMm}fQzЮp@i#\1t#0:ۥ ͹p5uAu} 0)h@`@`[ 0*XiLla]@`-d3m~ĩUlFCZ@ 1 6"|*6d>D;⼿t(*ؓXbj!Rk0ض.6 |mUKGi7%~w`Q;-T-ȥ:"t .cF9g詃T5/bܤ: %sÓeDoyjHQICr\ Y$?V(jDK$ib ׋ xG]G]""*tIu% E02мsnOe˷qZ9rGe}e5ۡ67fsn*kI05e4 ߙ@񨆞YnjVFIw \T۶cwJf)7B! 0gTq4WK=:ZierJvVu=hkY^N(:}bT=/԰llUh |Obi dw-eN!O[ވʬ5X7DY= 9RXy!Y)Wr!sՔ:` HV8 PK& sPK6golang.org/x/sys@v0.26.0/unix/zsyscall_openbsd_arm64.sM;Bp]#kF`59- 3G1e"%ޮ*Poy-6ԻwCv<c>c+ܽ{kW!a(P^vcؕ]m+݇O>~ۻmyj Ncqx!L4M6/߽/?ݫWiTt>U5,v^{wÔzk4>#>Ic/E=}cvYm;/EY~2ï圞qdtCVfS1'-ttE6F:&) d&wSKmtfLGSU[t|,Y^-Y_RcFJlKck:ah&8VBCK%Ϡ쒁[r99Ty/Y>. E@DW5V< ѕOP>1+]\HhB L׼:Z.u.#'ѱhƃ\/DHwdq0x,@x-2t(4ZZX]G6@ Sj-.#N=RtLf@EfS1'-txE)z_9n)#>uWNukL^FZYG=Ll(Ts|Dh#!%_}Hw(2ӳ6:>l.} zA528L$crܹ\mF/cq?md1A&L-MTKi ?HYTK0k7ǡϵ\'m,(t+:ɵ %)A45XiH.KNjy &>S5fj9w@DDSm@BkVsރ^~ 6ï}9slBF [J.k~MpnMEА4.1h]ᅐʤaDs1WCIBt\37$nXz}踀o, Qm,\ z`ߜˮ/ Ahfȥ"H3uSp_mfG&>X|>KBl>0Ȥg-#X Fb"DG ݾ*\k5$H-MJ`" ]pf.q ~&L7ɦ6L<ՎG$N܂P`ca/ZkNa$—b>dmt]"P[nb>ma@\؎;D2],z^ǫSk/v =Y.j{Kc9"Xǹ,c\IY\q, Ѭ%1YH=8DEԱxB4~r)f}}w핸C%7bam!8ȓ=;CJ~ 59CyB^~K7$:\S3M]GIBv+0" =oC?\d<ۡg'z~<᪽U![lߛ'TK5(KZ}y|$㆞_7N,'c2.G.VoU'CCF@YZ?uWR^Ͽ:A@Qג#Qf?v`U+tQόO$YJ1nVG#t%:\-WmuCptCwyӲ>T AfRA @ Zu Jr2P^WW z=CkHzެzB2=㻔e׬5߯ޡ2Ua66]ns?1xho\ j>f! H +˒fzJ4pvmѨWè:fyZ iQp?Ab,Q;\&+qZ%9\ȯe󜗸n:KLaVRA; ȓj|#G桞c'l~"EHaE[{hmDɫLyMikz %o?{R"C`CL)B*j#y9M2*בY) RX1Tqz4s].g^gRńB,Ji :ᇠЋY_%"G zc@ԅ$0Kpʗ{^̏3, oc:@޵8A؏qs&M[_ycPr|Hg8Ì`ɖbjO߶ܘb'fgT|fݬ z)߃li]udA">n"i=A>Ũ"9b%P@OozdXrO`ŶW$uH5UJAVԒ^gewhg^+s]P]LQaVD$WVC) #@ELjťJJ&J q<~-@腬(pQ ޴[cC4ʈޢ<- 0nT{jw ;O1/c}ǘ-;) ¿rH(6&Q\ٓH]77m :yqܧd`EyӞ@/n2"䧛$'*kQU3*뜶P KB q7+%YJXeO©!8,;뷖AQ0}e PkNNn-tNLt(d $kvj}i)sT0I\K:pc~#kxna`(g2s;љk8 ah|j)nplSp,0Bwm#W-o30i5p&m_(_}j^gIL,n[Eɵ+7(AK2\cG $>|gζ1_ˎ@li7" mt,cڪ TngE~"Ao%P1M5S t 6E[< Q2:Jh½{ofXpRCK:BjC R!%ӛL8l( =#mG\*c7<h*KsP[PxK^3eW'#/ngU[j]Y#,o}ӷe}D \VYkWߊlJ{sAP 0R8?mp 3S "_vLfW_kWeK{~\"&,zo^:&uia"#y۴\h9{әZH /&Κ4#,0!u atx(-hKZγS5 rT$Z.%buN:OE!Fl l@>i9튘-W[ H~DxZ0L: 7+&WL`0RP=)=iVhDK;ܾ"s m&]Vug :a$}= s&ƢEUmXۦg{0CIĢ@K@:gK'e0+66X"Ffjb\OkTմَLPSVayҹ1,?kV̀tOgS+C/.;LG3YR!MZԾ<ɤl.GzuOx.^WfBĐ7z{ ~M%iᵩV&ކtgiJ8oVlZsX3wZI@ n3gƍ ShPಒp `_#95ڃVcH,@kkgZ/{:GI`! I_[Hʗ#)M؀\تKjomu$]"M+>tpXlsOf{-F !;2ޮ6@VXx' 2?f缈xصyzLL MD=%iDL0/h263Gn8hVŰZ)Doi~ANKwLH]Ty\\˙$SP,ĸ8ء b==YWpIA1FZ&Rwz8ZFY$?C0Skt>l] w٠rs@(NU5 0lSH]Bp/P%hR[4* 3rq,倡qhxU*^n4nxl~SF4XpK.'қU:`&YY^e>\#5Jʅ%QB0p55S5ceJ`1.'*퐎تT yuB J4hHɴB!s7 GhsKKHC!.  3N  LCٴ ַu_U%i@Sf[!ltw^(p4\-AmDhq uv)CDAs.\1E]P]L #*(X xӸfh@`2cK< {qjjU;=!@6Pxy H!߄ʩF Qǎ;}|8/%'d!>֫X4ZFF"dM*|F[4GQe mƨ®x r0xƒ #qQCG6zꠣ%UK?7iN9H𤀧(g[REAbPA.`:1W tBU>ʷZE6QR$ a.hX"H^QpvuQAʰ=]R"ex i̢{94cmv9VegQj_eYFvM1v JiiZz!.g `cPB#f)usb/!{}4pEVZ?UE a|mZn({{$dvO95,FDZ:[H'ߓ@']KSn272kp M-hck~7wUawm)Tve4E[튇9iO>x7u[*쾚¯X>~uwwÿw|a~< EwǺ owo~}U8?aEU K??}7ޝ0}fZ!}Fψ}fO6`KQOߘ]jA0d1{Qk9gmt|],PTI 6p*. Οl 0]k0i]G+ӑT9"b;]&KWDKWԘRXZaCڢ f(#PRrhAb35d\}UqKkֺ!o BQ/.s3ectic!kJZ:&)5,KkiKHƉtt,`68#62t$B: s<^L& )<幖sFWT7Z˹k &b`x#!$alwǣYTI 6r*n#z̦cW>NՂibG^$cs !ʅDC7yv[T2HQ&*K[=NՂib0@_$K7z52L ̸F{vdcH!}݇?}jB0}SddZvQ_@hKB~U$*ĵ\Hۘ$@$Qƹv9 Q53T"Hs>|@HOݕ}Zm;/%szFǑhO'%u/6a"Hdo6a+% a-#?K6zv^P` 8Iآ|w.jn@0d)X쟡sOY `&v S-ՒA1D{n/=Lڍq:s-I >"]"ar-CIJM VZ2˒GZtrkATͽ{Ν6ЩA,b~T,2v(Pܿ`{@ͩbkm_~NбQ` ڨ_\@j[dS4$M7K=bm  @G|A{x!$2i. %Q\ kcP̍sIxgF&DEyṸۃ;$^:.%$cCTD -|617e/DzkvKBpLHؽb[m3B L-<{А6𫇆2Y> s[}kvMB3G.@Rr &P&9I '3p ʤPa ,`i#I$DBf1`໓ Z8 a0x -& PwC=Lن7er"&fñnwr ъ539TbHT<ׄC|`*I<ϒ}h3L>2)}VѿH nB Zp 2RKR6ajCW`7\Y˯z4{_ !5MM>OS1 -tE?sZ.6xeX}xY]G6@ԭ۩XO[A (Z.;H9\ m,( tQAH2Y#H9srBG[J 贍F"|.8i?. !5MM&3t%z~VfLɦ Ic*[k97amt ]>Z. m HtwPK\a kPK7golang.org/x/sys@v0.26.0/unix/zsyscall_openbsd_ppc64.go}[oܶsSblLsk?8i y8(,Qu+Iy}oIiI$qqJCm^QY+:&[8<ǖ<%7 W W/g'Rʋ)u"rY$?ǡvOcRf=[IKu6f8f6x< nME(Ju$*0l<'I1~5}=rY$?V?J/&ԭ%6 eQJ#} $iE ?^̚2DO' ~mU/y^'_9Q;0,sCCE<^jobNC"5&ѿ7> Jae*bW/.UWB7Q"_` a oB/d%@#4OP5yVF_la\qx|zVC%d؉~]|m8hIY'X(gX՗DBAA-7:?dȞF俹Yo\Hɻ>]$C/ʛq#Ĭ)?'?$9Vo_bIU\納YH~`Hv_.R:/ǴE0N} aY''q\ 跌 +ՇjL];dt"uprk4(sbrC!g&I]SNKsLIH]T̄Y~x%s  D>QWNΜ]Ied @ P}SKQteʀcIAkjAxIj!@ (PSA EZȡNgmFfeV&^ibxj`(uP)G (ODUWf' Ulrk̊׉.spCPs]v 8y=QE L0 3H@v^)*椁vUa]TIu@UT1/ǔU(ZSz~/YĀJAljhL|(g 8!'HQ:F{3 j\JW׹: Vj"} }-$ga#Eii8b}W?@SWYJbQp'br7띝T.$l܃oSyN\()iaj%B zZ>N۰܆lm23c> q2e;L4 I-8rϟ]2~"6D-@Xjӧ ,ݪFp:S6>qBRW j,@ѧP@G+u[)mVCpTi>UM~3efxSEá@ ;0>(gJ1k@EHt]ׅ'k)toD[B,k@:yԧyQ'tۃyJ" _b9;X2=d.;YqHֶ"02PH~7_vej S̖1eY+Eϒi_dԢ?7M&̀dsQ$>P<׳$߯{ƒu|r4k"ſ9|kGV0k2/ofNS`M% Z566G};NSyb֚SĚJgDv#93ntXB0 !".E[Gb\[o<;zQ/8J QGHb' ^ŢB4`6m]$m0XoWჯ7ڪ9n.K04h3Fw"ZvU[KuDģ\rt8S-j^*IuAJ(u'٪8@:80ZʜrC!(8Yk.nj@+fz@rB/-muB-%RBW];)u$)pPKCssPK6golang.org/x/sys@v0.26.0/unix/zsyscall_openbsd_ppc64.s͎S HFd-!0 x{ ="3d v[fqpjnOP=۶ ðv]6mlwa{M1/1l˶f-ǻwOj o۸?l6}=VC};u×/=VM?zݯͫ?|*6~t>bg/w?x}I7JޘjS gS 獩h.4J'eюLd1fg8Ub /ۦ g@t A8o˧@Yf:DcH&SUద:,K&bnACcMu4YC-1:K:s3O"[$]d|4گ@encIDYٰ+ށtՈ"15`2:;c>`b u(I"֎(XσlFڗz89+N"hҞp9iK\,g/Iۢ<8.$3Adci-#31dcc/v:YQPΘkG;ȩP# l8|]잫9 BnSLXm 9#be@͗颐8 c% 5vt/ Q&@KS:hNX8"`%S'QdvH@N7b=jDYƥ_Ts9V: TDY|d 'QPGDJʯלK=IL(@p F, Yx*AysPn*J卩s\hN+/C .0df:DG>ca)\ F͗CqSbت{,wLdL0v9m*dvP@Θ|yޭ倃ZP2R88RP; $|ΔnrȑZY("fㇹx"&ЎǾmݥ23 lc{蛪6M! \ɜᅠ"!Q{Ξ7u }jgkr.ឪqr v7u]YA>U)T #=<lR|Yc`p:0o-Z*33VS #p14T0+r-Ҫ*33*1pBDADqZ*bffBQW cˬQ}"wC?V%]1>mwP\$4HM 2 ED 2-& _rH,{H!,LΔu$DB=%c?5e1:W "a, 4*"yɉH4$p4IxOx^n8BpRmؕb鉡%AH&Aasf,-Y )09)-bWnh'9d[HL(jj|ESnkt)McU{)]%-4aURx8:VW@E-mTPRy)4', R*>/ H0ƪ~Wf #q&0QһWr7,,8mW C' *0#V$7zkZ&,I!LjQ!1` IfL0|//Kje`_^bu7j@J<]8 $ g' !QoMzHB, Hss _O Q/u.(*b._FH#vF|΄<_刃X("b`MѴ1Ǜp:ZpޘkzyF $g̀|,1(,Y_ys*_,TV2 ʝFe*Aݒ`- #vˠn&01;*qD0,cIHW}ܪޏ+o+neÊK; Hfg dX\E"x/I1iw/g/W/^o^nŋ郗.h 9b%o/ $3~Q(Α.(2Χy~@ya3q)tH?#3'du]8O ?1#͖_P3D|[$^%yDՊ&o\?-rXT*0oLRx23KV1C帜ԣP3K ͸=PK$\ nPK9golang.org/x/sys@v0.26.0/unix/zsyscall_openbsd_riscv64.go}[oܶsSblLsk?8i y8(,Qu+Iy}oIiI$qq^<+g'+tgY6/;Jl(2*s˦& m7O*n~|;J^}MV10H6t[eyO?ɞm%Ą𿚜qCO/h't1{#*! !ُF#,b-E⋺ay]Q+i)_ m ƨkɑ(O3ElJO]*g',d% ȍ7l٣:.!(pWgh.TR*s:*%6OR?u&xΫD&ѳ6 mqŋ19\8o*== ,0o| JZcZǷmr厱F&R'RQYwv ":@BB-f$H]3aF0mdKZGxtGwo[CenLyxg*~>nA F@ Fhl 4?l.: ů~ChCɴ bL XɜF1ƒ Y H(?7b=2G'XCb[|t+:M$Ś*UajIL\2;4^3/镹V.(?T0z+"P]cV"q5hR%x%tz%L@?Q BV a 8A(iUyoڭ1!geDoeQNWGܽa;TAk\ʗƾcLuru_}I$r(Cf Ia.K6d ḌZE2k0iO7B̊AH_sMa(*TuNX(%!gٛa,%2|L[t'urW[ˠ~˨N A]}ԵHF'R'N׎i:'&o:H~`5;봔9T*$.%ME~L1Wr<70M3uU5TJ04 B W?UL78[ 8T`d黶鑫a SC@8A/ľW5SǤm&rm"ڕ\ `̥dqa㱀#ʆA3gۘ{ǯeG? _ V~CÛāERĶIN`Љ moU")JmUO T( 5%lП\q߳^dD;1dN!8(boNh{nq]:Eź T XJ2}LXU®Q ?e7E xtʦښK:ˇ-]~By~bT{Q`4޽7K@A8KHƥtuK`KO)WْM~&K6B Y#].p~ 4u~@{9[T(Z)X gy")wA5B=H6e1dFV"ԮȸK㴽 m8ֶ)Za?3'QtM͐4قSL'ɓvM-KprelYj\fEFhe BA!YEU X`ƣY:0xC5p7:WpFTY5Q^j,z,A倆 t"/s6$KtE| rMɅ4A]c:pU4. 4 8^ ÌV Yč$Au]X!yrHgFd%/əfīG}?jEB7ͳ-5@.VԾ۲H>T"g.Gthq+ܬ+oES6i (B6u)Qjy/yu;&ȫۯ+N=?\~vWKV7/w:P40FmZo._W׽L-$hH gKem\Đ0:pwuuf%@-Y٩FQCk* -FZBʺb'xe'lzբvˊBP6EuXo´XvEF Y$?Qp"<[w-uuuTH_Ci}+mkI0\K(OڞP4+]QAU"DJqn_9Sg6.`R:A3zܾvcq *W6~ۊmSzuo=ء$b\%V K%INdmzl,b#3i 51.5jZ`lQv)0qry_>\E{U,A-DJ#} f#E2ަv>z #{(沄C6cT,j}'Q aWUTGNpbWGGT+LNΪ"N6m-K\ 7E翽t^j2'SX I ` M )7wQ5⦖rh6$G +Vw8/BQ"+J.d~p.xյRG: PKҵyPK8golang.org/x/sys@v0.26.0/unix/zsyscall_openbsd_riscv64.sM;Bp]#kF`59- 3G1e"%ޮ*Poy-6ԻwCv<c>c|7wUawm)Tve4E[튇9iO>x7u[*쾚¯X>~uwwÿw|a~< EwǺ owo~}U8?aEU K??}7ޝ0}fZ!}Fψ}fO6`KQOߘ]jA0d1{Qk9gmt|],PTI 6p*. Οl 0]k0i]G+ӑT9"b;]&KWDKWԘRXZaCڢ f(#PRrhAb35d\}UqKkֺ!o BQ/.s3ectic!kJZ:&)5,KkiKHƉtt,`68#62t$B: s<^L& )<幖sFWT7Z˹k &b`x#!$alwǣYTI 6r*n#z̦cW>NՂibG^$cs !ʅDC7yv[T2HQ&*K[=NՂib0@_$K7z52L ̸F{vdcH!}݇?}jB0}SddZvQ_@hKB~U$*ĵ\Hۘ$@$Qƹv9 Q53T"Hs>|@HOݕ}Zm;/%szFǑhO'%u/6a"Hdo6a+% a-#?K6zv^P` 8Iآ|w.jn@0d)X쟡sOY `&v S-ՒA1D{n/=Lڍq:s-I >"]"ar-CIJM VZ2˒GZtrkATͽ{Ν6ЩA,b~T,2v(Pܿ`{@ͩbkm_~NбQ` ڨ_\@j[dS4$M7K=bm  @G|A{x!$2i. %Q\ kcP̍sIxgF&DEyṸۃ;$^:.%$cCTD -|617e/DzkvKBpLHؽb[m3B L-<{А6𫇆2Y> s[}kvMB3G.@Rr &P&9I '3p ʤPa ,`i#I$DBf1`໓ Z8 a0x -& PwC=Lن7er"&fñnwr ъ539TbHT<ׄC|`*I<ϒ}h3L>2)}VѿH nB Zp 2RKR6ajCW`7\Y˯z4{_ !5MM>OS1 -tE?sZ.6xeX}xY]G6@ԭ۩XO[A (Z.;H9\ m,( tQAH2Y#H9srBG[J 贍F"|.8i?. !5MM&3t%z~VfLɦ Ic*[k97amt ]>Z. m HtwPK7% kPK7golang.org/x/sys@v0.26.0/unix/zsyscall_solaris_amd64.go=]o8a$yEN`Iv!KX"$Վq~7d-GrnERUdX,GP`@ZkzKӤ.(RgɒM엟t!8 \vA:AH.PWߟ=gspg''?X\eiJ?QIIAʯ''e`SEӓ'O[D>=Y_Hȋ%uL/@VB'U1N}I!Pk>j FB@0"1((3bc,T0PĆ`SL QuX\HL=Dl0% P *n '!a@=kk4IK!(&(7dG ( + # zD!% @(b͕ D(@PX~H qUF3~4i-HwVQe 8:(dD3Drh֒HRa5Qi(^, <()cOJ䄅B#g0JADoP&}QTFZ& D8V)#-z o(mLnk"# QP(ERȺUKy(2/K7'^cG/S]' ?-(D! Un|ǟ0bj18ƎΧIJSbVW Te1qRbH( k $zɄchz@ Hdp KEJB)NKd\xL6d"PԖմT@Ibq,Ĩ!8Ȳu\֐MSj8.( {`cu\Vfkk-z@AY`:UN=@%VWa$Z ~r,1~RjPE@`b`G<`rT#ݹ ' zدbI(/H3 Rc_'UIKd }@NߪG ,F^(Axm$@6קO/}-U k+Y=IG}m|IޤMFy"MCF/9`ꝄQJ0Q~zl4 gn:[&b(PT{+4P3f U#>~\BGBp WA{h J, ,rʀ:!JҔ5)~~n *wN:;ΤV<$Mj;Q5Љޫ"֍|`F%!]Z򂉵Ã@63":Œ V}^ɰP b>@Z^-H ԙw"`:C 7^ N ;zD# \ <o # @.ʆ蛟ZC~^pT&-< jԫ\0r] tp$ع WvΰH]DG'J;w?AhW4,9T ם:`h'th<1} b܌nP;6{vK/d 5Հ)/=|&-TƱLR, 0BXm$VU6<Dz\_|vod᳝/׃-apv1TI(3Zh׳I26Lr/$ʤIP'{Pqjh:dHN"Xƫ+@uzo0n]ä !9Ye :6>\N cdd:y(OUSi/.\V*E SqSa8Tq T|")ĄMW:(h:"c*&|b&\̄ 2a&u[$j\rUuؐn~os,nT"tPb;J&_7T+ffJw,CDD *n1#Dk% :.vKՉ7-JQ\pvoo;O^8~ ^uO-JU6yE(Hd y[_$} eՖ5Agq$e_[b >yKNĊHb%x yz)C|>y'Mʚo ɦ..f)g8;QǬ㘋<2Ch67B[D`s+FG8ãl=LB[E#qWޫ6yyPvEl8 +6 E實/Kf:BEė6obj=hJ=,yGʑNƳ$fīFrӭlxVbD򔋑OuD g˻fZC+zG}mX/RbVu\KҪYߍjU+@)QU-'+:P=_4ee##ow";!DU]x0*$Q{k2X1n6c4 m`* \})1/\z=w oiV'՝I OEYctZS21.U^V q >Gȣ)?Aİԉ z_ȹK$1#~zg `9]l*#]3@vQ]uIK3?B7*;fleugw *|YA\!%V#2,v_~ve"EĞ4DqNgHQz}˞  K^Ѯm~β?\9YX{d Il V(rj%#V+d~**aujoϓ(|U&cEbeSz`y֙Qr"kqu8N$G9kxQVX6jZʺIS\q^bGOx+Wb(q[WBL]QAcUb`ݭPW {|{^;+Mro'NR"ו8m2A^qbtsKUu1ZJ3_hU-HJLPw$O#=,m̡|&DRp \]}o<󞬈Y"/o!jkV)aXOk/}0- *+w,c8V.G˺-j6<{|%ϧL8 C|5)-cS8ɂ:EUU'}ǼcoK+SreXԇ7+þ:Lery.y^Ӊd7Wf)Í>j GOΔ3Ǘet EKC3cLI/ByfYQKW66ZΛ6> >/;qS' a-L(lFde9&1 xy=j V ?E%:X0-ʎ!Ⱥ4SԥK dcĒj-ǴlJmZn>Ym Ҭ|9[)pdz(E*ODeFUG+!^f\| nY\j7WL)grn͚QUY'<eS\Ve cP])1BSdi_~0g*ԃ RF=sG֊+FdJyV(S`b-Ц?ʪ,P[u ѳ]Yi6bzj{-,y!j@v;7~{26q<:xb)C;q7>y>p08P.'?k~p ?QnP=(-pd妏|8JF%f?`#nB5l#}N}yY~Iw"h\<.0Hn {[:gnvmGlں`kzwZPU51LIwpuW;҇F=Qz`3YH-k7|= o{x\YI"3XMLvՇjjA$ނ !p)o\89ךˇ"1.mBHj;+Z\^(%سx=;p'Qtmt3<ҲFhk%QW}` -aM{A|ojqP䴸!P|CK0F)s*owFln>۶{~u@Tv%l1/[t+ fvYٮe?DCL(6OuGh{t?;xbsq\me&W-9H4}gTe>>v;:86@%T i;Zba\ngEӪ rlnQ:ɚNՎ#f=Y8 UA\}Ex&)؜t VL&~"\kyz͒&UEi`OAT+7"<;#jBtқ^L vϏ1`~%^\e6v]c"ϞCIХ==039fkոElR@v)^jVfDGMs2oߋ4I*DžyY ג␽=G/gq:sTt{?{hg^;#sgvnx@s3Dv&YFz%Db )VpKEy `Z)oGɺNd$L3L\lc ! S3!9 ),efjfwYLkL:qNBݢb _)DY^Vp[D-KR2'ۡXrޕA@P6LDϿ˰.ls*x=;p|{GHRβ=EBV'-#א2\'~v(uM0ӛ\gXӢAriE/UiG1n8L{j:DtN OΊ?x9]%+ bcWph}^z IuI fKպv8WGutTÍ#i1+%7|xnp=!؄&#Se3-4pJN!trVB<+ L9cÌbSb=~5YǨx3*mI *LEJ`uM|׃;AÀRby%R& L]?"AK!B<9 Y=_:"&)u$NwX*yFʨV8Jz qS{M`cf =HNaVWQN7i4QF[Ni4VjZS'F2r[%,$Lz,{~n\2^#Ͳes\?PK0PK3golang.org/x/sys@v0.26.0/unix/zsyscall_zos_s390x.go}{o8ߕO?Nn{;'QRF˩Lma,"Ktj1}$(ʦzHãC_Md%> (]F5 w[;W1\}?P|7ߺ0gb]G6  g}{#Vv놞~[)܌ퟷԚL}3\|v/ov~Yߣ_,]=`B3G zg~Jv!৳w?Qџ0u৳g7;?IFwŧcG5t;{b Wkɶ`rc r17Kz*AoY~/Ֆ&ǹ{vr $ [%g; qiwɯ_ZG ݅>IһFz|uדpi0魽beds~>d~K~=?{]Y?ZBC|D$B4ٻ]˘m,o?FZs~ +>",1_{~\1;bA CAQ)ry;:rPe+sPvݠ7(md6wn]g*[<Q$3 Ǐ$nq罵Gx-U<3^Ы:眨=3L+Rst4S1ZѴxtM>REPkT+K9m*@փc`qb S|,eQ'A^F="TȜ n1(|#\bon+72"U`;$db_bI z&vq?Bil ً~p "aRi iz\6π- =Aɧ@Lo[;{L?OgJt3׈x UBXiu]늲ߦÚTmD'{^u} 35&I#e.ןm^טd J/vFڳ.~}xc9ysYV$rKMHwp{f`l7 jq#cdo)cd?wδ .|+>&u}Pݺ~ eu'F_\HV#WuhyEs^$xJDyu{=Qy{^ht:tieEwEJ1]O:lr:I+OQ%lmWjn]gOv7(Ǟ,Yٜ_ r(!٦DƺG/Iu ;w/N:g7Do`y\{R;s+76Ew'z5"!;jҔm#`$L t9N1p\5rfSw]>ǩe0P )7ym#AOpy$o3鶢@l~JhyU~mbK>qſ|zePmt۲_9Ugh7sFqW!͇ .3j""к#mwS<-".D U;&Ri}y T3vU@(!fIʠq!Z^wimS"fOօ?AB]*mĶfBVU![GL9P\ $@`.V_ZN0NaCثl\5 sԂc'  Xs14zcyj塄-Rh1aZ2,yJ Ƀ<4)|ϑZ$O詙(,/YaW|>n~q\@_{=?!ރ䕵<8Ş,"3%[KDR<4[*9kPԊ,ZB h5pdAyx T@[E=WF2] žߔ`Vlއukt:70Փ*Y'><HJ/U]'l;J3tU9?}aa/PCV#^+̘Z>%Y(}⺖ּǔpQq|ЬSI'G<Kpvd:Bue<a࣊!K ǔfL)/R:(Q$z sȬ7茷7O=%taOsQ ӇI F`hYo XoRb,"22i*:P%ԁj6J֐#0ըjHLja f-= 7ĥ6Dυnmf8_'G IA+XZR,ʾPQvG:Q 2ӨfdJhRf N!eºp #[Au¾ ȍkɈ(`y*RnA§}!8MS0=)*)GG93h<:r`a%:f(T;E#+/"jYdFy>ɶ;t _[u!C*Nr98Oq#[(QtґtRSN!`h#JE+qnwDRĵRS9IdøbeI| vRzT80ID=rR7zfW:u$=ՠs騢ՠw:t8ߠ=1P4@#Lo t͞x-]-aaQ$"|qV5 RkUbQ#[L3CM1z>i`P?=VEc#!~C~_[9dE^7]vq{mW\-\D!rNkh\w8-|g$wJAUKބݖѝTQnA8-iv|z؁us45Pa_CDòB+j㕸TZF[•  &[Mtɵehqf2;7mOzӞPOئ;{1LncN'5U+妹xVE192w8d<DAD^=J4,(W!;LvўB8zQ,aA: }ky$]E:Lۯ/F2NZ|)wZLD 2{\e/ZGZ(2S/)cBJ }JWU^jh!YYQ!0R:Bxxރ W\#qnA>Mc/hҕ*ӝkߩoen!`qi}kQ7r:SgjnGg!:v_FK<:8Qm:x\&" 1*G6 7-FAJNz+cb0ꖢ4ש 宮/P޹CEߦe}*̱R5xqƘc|&º#?5@{5M]l+:Ys =5o,CTg&YRo)-oLYu>u3OIږ0ۉO!Dj?A$(H ,Rđ`/ i$&c9.$`=uK6s{ע l؎[L.̽H8SKt}s@(,2OTG)VpnҵGzb]zK[3C2$(>a^4:_܇50KkJ3JA:خѰ <G7OM~|F@y^zF^P\E^BU#COYWSAʂl^=Q sλi7RXIߧ@Jv )m|wn(6)GSaԑGѴA{wp ͕ڶ>AJPҨ>N;27]9{R{fk#|֤F2hֵEf?|n{{nk\؋OnF7c"/̧!x>o(ױuJnb4кGFtUS&z&iތ ЏYž+jkqۂur`5`jv+cdL99UǬ)Cnv=6-`GCgagij/|ш|+Nym:ߠ2ˑS>vQ>@O/F,IVtZa7fWp%Ů맭)hW4CD*,>+OC5~!H3x)xeQ  XBBq0ZOk0hz;hp:~ #RCv&ӛbγ)uu4 bپFUe@:!)(a!F%@D%&d@`o^yL^7&q]d==ߩ>MsJ{a^9OPuTkl (~Du&~z]}3j\׋ h_/?y$-D3+,*b/n[*rfLfǘ'u(C0m.aW mM%ER%=5/E'&UgnUw5#R-GgeSDž-pgd|ZpW*,(ÜqQIfdn^l(fԲc^kNb4L̠#M0{(?;وw L' Xh`> V(uul`dMXjʰdq'3Rە {'%;3=JKun9;ɘ <%&V Fn2Ti_!ܖ!˟-?~BBB΋lF~~FYp;|ǀOY5eԜV x}K)$ )&DZ hH<*]c8d\  |3#N4Izh֓ImuhjЅ(;ͤ H1LHlbs]\ًb1suLM5S [uCM%}y[4"~uӧiFW\PK~v9HHdz\6~I8O^.l# %Kiޭh<@ --.heDclPc1*dמ[y48cvWBPoݹ7MJuAܾDl$ &p$+^ZJrK.pkz29 +/E{1zWGa !U뱙Qv1z.1?E/ܱ' Rf!n@e9HCJ栣/`G_fK !AF"5KA01L#aq OHxŮ >-h5U:.@(lp!Њ6"dbO%.ܥzoj}3V<%_:k= Hο7xb87*ϝȍb Ma6)3 ;d)_Fe R)QmC4PvgeXat4e@z84DUo ןESt^?hZl6pw񠭈'mf73b!݁Iy̬c&C{8xrDZ~ЯU^O )cF+\x> :p/-{/x=F"swē,Lu`%\L, u#bɁM,cB_Ͳ^I V]{BDvEM|-yIHzI^JBӞ3ރAa"8#!l*arimxٱU%P f*chJ֎`Q4#*,C8xEk;TxY2NEqDTLݠwlh'юk. M2TrW/az;׻kKn W ISFѡ]W1bljw& I&JaM*1QRQTls`?t̴)3L;J[mW5f\rh 'L+kxƔ(zfʼnYJS4^y~URu^8z-y4Z]Q+$@RcSe'Ҁ*a(n\ CEOzwYU% Q HNQ/݊M>`O؀o Iz*pәtowWWRXyxeWn&t (?eZ4fĬ*!$rkՁ'qJp *-ѫjL9#E s`P߉`EӢyc'ւ0^/Hq{x?OB: U6QawTѳPE/3e$%hMVAy?/3"NOՓ+'eE52L7:c0RM"1I&{]Y6ԊY1~LX3ŵy$bIwLb$ڲ!ɠ k7m]RNo/-HɓJ!Sd2n.HF~}I7\6cM nVh.tHChCCʱ%'+i6nЧ/Ru3O7n_  KJ뉛̜jrς$%u "?i%IɅ9hH$Iȃ:h5-x'ZM<}p<;ַc6]z;<DצX&u3,ndg5^}ִꑝ@姢NK1(g7x5+i4$;`}kb"=Y &v)#J&3 MXn!G~jsȫi\kzzȜT[V7te1:{Ȳ#:t%;/TYc9޲ΰ;BK'&NHg.LYH^﹣#4%C^oL^kEІKp6s%.C@vNێBz]]khq9-5|;Kr=Au!l ur 08CѥcbAӇ5".8=ūע@"W>蒢7 adUpC g Y`¶H*`3Qmq\1<ޠjLcS˵# @F?CEP` 7FǸb<ؾk?q U20Y?%͢kpS?~?#/g7UX>%PK A /PK6golang.org/x/sys@v0.26.0/unix/zsysctl_openbsd_amd64.go;6̧RZV[IMK\K$CR~~=} <|Rt*ƃ8VP;'V~Y (:P`Q.z#VzyMrES?T}y1XŤ_ ܁R8o'/?p?(6B?Ruk)?ڟ[˷#]?}}BV\+Sh}{Яo_GvnBNR1c]n^&f~,˄hZl6pw񠭈'mf73b!݁Iy̬c&C{8xrDZ~ЯU^O )cF+\x> :p/-{/x=F"swē,Lu`%\L, u#bɁM,cB_Ͳ^I V]{BDvEM|-yIHzI^JBӞ3ރAa"8#!l*arimxٱU%P f*chJ֎`Q4#*,C8xEk;TxY2NEqDTLݠwlh'юk. M2TrW/az;׻kKn W ISFѡ]W1bljw& I&JaM*1QRQTls`?t̴)3L;J[mW5f\rh 'L+kxƔ(zfʼnYJS4^y~URu^8z-y4Z]Q+$@RcSe'Ҁ*a(n\ CEOzwYU% Q HNQ/݊M>`O؀o Iz*pәtowWWRXyxeWn&t (?eZ4fĬ*!$rkՁ'qJp *-ѫjL9#E s`P߉`EӢyc'ւ0^/Hq{x?OB: U6QawTѳPE/3e$%hMVAy?/3"NOՓ+'eE52L7:c0RM"1I&{]Y6ԊY1~LX3ŵy$bIwLb$ڲ!ɠ k7m]RNo/-HɓJ!Sd2n.HF~}I7\6cM nVh.tHChCCʱ%'+i6nЧ/Ru3O7n_  KJ뉛̜jrς$%u "?i%IɅ9hH$Iȃ:h5-x'ZM<}p<;ַc6]z;<DצX&u3,ndg5^}ִꑝ@姢NK1(g7x5+i4$;`}kb"=Y &v)#J&3 MXn!G~jsȫi\kzzȜT[V7te1:{Ȳ#:t%;/TYc9޲ΰ;BK'&NHg.LYH^﹣#4%C^oL^kEІKp6s%.C@vNێBz]]khq9-5|;Kr=Au!l ur 08CѥcbAӇ5".8=ūע@"W>蒢7 adUpC g Y`¶H*`3Qmq\1<ޠjLcS˵# @F?CEP` 7FǸb<ؾk?q U20Y?%͢kpS?~?#/g7UX>%PKյB /PK4golang.org/x/sys@v0.26.0/unix/zsysctl_openbsd_arm.go;6̧RZV[IMK\K$CR~~=} <|Rt*ƃ8VP;'V~Y (:P`Q.z#VzyMrcOmȗuPLJ_^@1(o/vb##U7(~ʿ|{y92[\ *~>ח(nŵrz_?_?^۷;1udv P!$Y0)VebǂL3\ٮu^Ҕz Zu`~#ne?Iע|ٟVlXOj6fwڊxaVZq39 Q.F:fB8ļLjcが(M ϊ Zſ2f…2'ۂ7zYca.1,~ZL!/hK-W~nz3kV\|4Uhz15n|g>L΃h󆸐] a&3`$okfR+<hn{ O"ꨴH\Q8K~OϫSZs`qH((*?鬞 f(&) `FU!1QIkbfM#0, \a(V.qbdwf7%kgzh/+QKz2&vf\h3uiz^u##Fxnd:$%E6968 CLk:94%ؖyUc%j0}D |⽖Ɏ,nLgV4UN%?|Gp̉Y%U5'ߒGLquJ dIzJ*56Zv" _ 0Yy{{^U҉y ݭA XpWܬG-7V{b-X/H)hGw]4+ސ_`C5 ^'yAJ&Nʫ(XdtNڗt n˯YhjSъ>ִ Yf^Bt:?61$_Rx2^fC}"Z7t/?E]P<쬰d0?q ̩&,xILQR7 =FZ1H\-_A܄8G/Mͳc};fܥZˊq xOxmho K!^7cz FvVeYgMKa[ T~*$O}vW9OAַ&&c`Mn2$n2P݄5f~~46)%YOչ!za8zOQ7.`,;CWb@ڜ:#;- K/tot\t%;:A^<ʄ>!VmNh3{\2ݡ2:4 d-յWRZ]$tXvzP'c3>]jpY9&v-:}Y#r2Wz-)n|E܍.)| FfZ8\ŋo 7`:}&lQBF8SZg 8;v<>\=ʈ:``aq3T5Ƹpcz (n/o^k\[)Sr,68>8rvY5!OɏSb PK\@ /PK6golang.org/x/sys@v0.26.0/unix/zsysctl_openbsd_arm64.go;6̧RZV[IMK\K$CR~~=} <|Rt*ƃ8VP;'V~Y (:P`Q.z#VzyMrcS?T}y1XŤ_ ܁R8o'/?p?(6B?Ruk)?ڟ[˷#]?}}BV\+Sh}{Яo_GvnBNR1c]n^&f~,˄hZl6pw񠭈'mf73b!݁Iy̬c&C{8xrDZ~ЯU^O )cF+\x> :p/-{/x=F"swē,Lu`%\L, u#bɁM,cB_Ͳ^I V]{BDvEM|-yIHzI^JBӞ3ރAa"8#!l*arimxٱU%P f*chJ֎`Q4#*,C8xEk;TxY2NEqDTLݠwlh'юk. M2TrW/az;׻kKn W ISFѡ]W1bljw& I&JaM*1QRQTls`?t̴)3L;J[mW5f\rh 'L+kxƔ(zfʼnYJS4^y~URu^8z-y4Z]Q+$@RcSe'Ҁ*a(n\ CEOzwYU% Q HNQ/݊M>`O؀o Iz*pәtowWWRXyxeWn&t (?eZ4fĬ*!$rkՁ'qJp *-ѫjL9#E s`P߉`EӢyc'ւ0^/Hq{x?OB: U6QawTѳPE/3e$%hMVAy?/3"NOՓ+'eE52L7:c0RM"1I&{]Y6ԊY1~LX3ŵy$bIwLb$ڲ!ɠ k7m]RNo/-HɓJ!Sd2n.HF~}I7\6cM nVh.tHChCCʱ%'+i6nЧ/Ru3O7n_  KJ뉛̜jrς$%u "?i%IɅ9hH$Iȃ:h5-x'ZM<}p<;ַc6]z;<DצX&u3,ndg5^}ִꑝ@姢NK1(g7x5+i4$;`}kb"=Y &v)#J&3 MXn!G~jsȫi\kzzȜT[V7te1:{Ȳ#:t%;/TYc9޲ΰ;BK'&NHg.LYH^﹣#4%C^oL^kEІKp6s%.C@vNێBz]]khq9-5|;Kr=Au!l ur 08CѥcbAӇ5".8=ūע@"W>蒢7 adUpC g Y`¶H*`3Qmq\1<ޠjLcS˵# @F?CEP` 7FǸb<ؾk?q U20Y?%͢kpS?~?#/g7UX>%PKHB /PK7golang.org/x/sys@v0.26.0/unix/zsysctl_openbsd_mips64.go;6̧RZV[IMK\K$CR~~=} <|Rt*ƃ8VP;'V~Y (:P`Q.z#VzyMr(k⧟ۨ//렘nSl49EqL8YK:q@kOh s@vQ!1 1P/YiWhs{0`9(l[dG]u4?QeШ7:bk*| q!LgNID5zVx 6X rEQiC;\6z"DWxO^%TFQPT~1Y=̔QMRpmALGBb룒P$)͚F:3aYd Q=DE]805">oJ; MN_P^O%&Q7xYC˙+{}eUȒ"UjlDP%-Ba(V05 D9J;[' R㍹>IYx:Nڙ}C*9o `  ބI?dxάޥRAYn fzY 0Veܘ5VyWt6w›΁twmI"s& \2D? 3CK?֠:R_|VfKrɸ4}55GOf9sxjˉZc GIU5Y52w`R83K,i@QmK#e[Rǵ+l4YD'Pa+^<> L3觤Jm%Xœ#LƬڞRe4D\q:pd0Z nRa!"}S%zU )gd?Qy j;H|Z3oZ^"S)rO'iVHG;! 54j4,NJy`:zʸe^CuU3*(x&^rztSu򤬨XFzF5uTr[Ě:&I?#ykb|3?fwZ<7+Z^k` Dܖ_" qQlD[664aKj>w%@)>yrT4Du}*L><W#Q /&ܖ_bўզAU}iA VÅu>mcHP9Ӎ&tϚB=TIp)#]]f%M3?rAdoML4+D.eDIdu k h2YmSy5͓KpM/S<}s+BP*pq.;Fgo]Y6wDSdgqQŀ9 t,Gv[|_hޤ ,<߅B9 K=wtD&$5yM }Bbp fdrCethȮiq[Ho1w5]۹kM-"<ѡݻycI'.;ztNZg>};rLZ7u5FeG3xUZTSD']R4fw$>x?2qntlQ! LɣV^4p6=+ϲq\ vy?|jV{uvgjq?H@܉P^'߼bM8nUS5 5 TYtm#q|q&jC4 ٧ļ|{;PK]B /PK6golang.org/x/sys@v0.26.0/unix/zsysctl_openbsd_ppc64.go;6̧RZV[IMK\K$CR~~=} <|Rt*ƃ8VP;'V~Y (:P`Q.z#VzyMr1~*nbR/Q@y{)ח!EϭTˑjWG!v+)Z4߾މAw׷ů#;Tx !')|͂1LI~.z/3?eBwvڐKʮw+<I%UcbàOF }RKy-6xVē6ӊr1/T16Jǻw$&i((* 9IGa:fZ˔&-ƶpΫ3.94Uۄ&Jx{LvfqcJ=,r/ny&-'kq%UDfHI, e>DkZ JSQ'xowwM_4}51Ӭmv%qPԅ& 7I?dOI4O.5L=d}έA }2Aw{dME,бyoYgX~xf'~ ,$/ |d!/7U&O/ "h%8tBw}}ѡQ ~m}o!tm箮5}>Gvz睏%úӅ:9h !R{1k CUkQGO~w+OntIM02*^|c!E,0a[$ZzE0~ب8j?noPq5h&رC\ZTF #"y0]#q'f@q{1Zl_5*WM,ܟSfѵ8p|ȪyL~,gnPK(B /PK8golang.org/x/sys@v0.26.0/unix/zsysctl_openbsd_riscv64.go;6̧RZV[IMK\K$CR~~=} <|Rt*ƃ8VP;'V~Y (:P`Q.z#VzyMr6ˋa:(&%//by;q_|}A[KQJ_-FWq_bZ9=¯Et~}[:s;Hr,Ôw21cAX&^.~l: iJ:x{2ʁXRkQ>O+6 d 'DbymE;A2MOB-zRtXJLGTdؤ0x3eJpc[bpt8Um %<LfqJ=,r/ny&-'kq%UDfHI, e>DkZ JSQ'xowwM_4}51Ӭmv%qPԅ& 7I?dOI4O.5L=d}έA }2Aw{dME,бyoYgX1xf'~ ,$/ |d!/7U&O/ "h%8tBw}}ѡQ ~m}o!tm箮5}>Gvz睏%úӅ:9h !R{1k*CUkQGO~w+OntIM02*^|c!E,0a[$ZzE0~ب8j?noPq5h&رC\:ZTF #ߪ"y0]#q'f@q{1Zl_5*WM,ܟSfѵ8p|絛ȪyL~,gnPKM /PK5golang.org/x/sys@v0.26.0/unix/zsysnum_darwin_amd64.goKo井ӿ`fc[%+-dUŔ$RTٞkW: ۝;GC%G I𼫯7_?:}{:~}^g?_|y]<>]Ύn_/O?~=?<=qo$}{>י"򷿑Ǐ?_^}{|z} Iv~8?V'x~$/_gOq~"?=~~_Cu9M{&}P=rI\swIqQ~dsikt7a2¸uϻDɘJ!c$ɘJű䈬cDzbB<;D1 TZ&ՉI1`{dSS`hV#RB"IJvz*=a 7vŝTj)5&8L byzDݺ]C=<{ɘpIFL=ڊQȘJYS+V!v=uX}J=/1&}Ȃ͊iNK>ל$ښ犃=Yilb\X䲖I9RɑT"Ze_-Z.5xGR,WZq -d+&Bdnn52I^)g bR)H+&k*%jPL $;1Ƃ)h^XS41f dD 1hrT>{҃K3+Zۓ65?4ctZʀ[%]ZukNUթws]Z Pk)z)/K#cH-+:qC'`R2heH@ZM=HgN*NNH:2? }3'Z @H j@ >C*yreqܱGIL⤶[Ff~ _fx2' 8%b:,ـ~`1rjy(:(BFֱx-iFFA4Q,%uW%r@|[7x҆l8:ԕƚRnx"@/@0Rѩh+A-x$5+5ks^E6J\FN\@ndʽH2:};&j‘I~sACd0%31qw@..t+d8"k/2nkr|59 9#gBzr1%+ap3 Ѳ2I)E%gǺB@D1@FDZ#@.-&eJq+KR!7JugNoYȍ%*&G]5:f9KH%yVT6ފJm[s͘~trɚMLBm672@݋D'ZbL|g4L@F6[V=@_\fhE" HG%wH+~a:A:qwbH{wȀ\v@,Rr:@>Wa#1 ,1 m.A͋ghfdd.^O:ӒtZ؍I]KJ* V` 5ꊡvH NJ\<ٮNAq[H=7n zH(D;Zocod[rmTtp\|NoGDoܗw:U$ TI=Iީs !u kbd8^Yk2%59xM/%| 7;=dl9P iF"̇)Rb=(JJ]_SIBk*)usPMyY?捑 Nƒ9T^w~!O#9Nh 43;G0)j1s1u'twS^؉$;@w+=K̿(:9r=ԤҠ۹7&p` GP{Q GzWM^x ~:i  MoOeHO3HwbM &ETw޲BErdwo^SGd}(:g^t ur2R1f-쮦P`="MgdX,MʬsѶ:RNJI${R |ffIDF3&]4 KRi220QdOP vuI Z}H]Mq#͔B5X@ $9:R[N)Cb|SҜT dvO7 -  Vz; mOJҢ'*ײ{Rwu[5?G펵ud2 uOr\iU[$2=8heg_pmOz u+%$2\IZ:ZgVF:/qkC;r{AK΋!W}D<,آ@1}hr5 ݶVKe<6&}s.\?RQ:;t~ S~@F YQ W5ONr}ݢRGԂBHATpwR^ސ_R;H2DrV{޺5/]CTwtűeSmv)D d#S d3w@l2$ʞ.Ɍz˛%jf- % R@n.OD%r2Ig3ȅkɗN:yzO$=?b4TNvU>u_y>AW?HI%W߾]_^~<Ǐo/߾?>L~?$;`L~^uI~$/_gOq~"?=~~_Cu9M{&}P=rI\swIqQ~dsikt7a2¸uϻDɘJ!c$ɘJű䈬cDzbB<;D1 TZ&ՉI1`{dSS`hV#RB"IJvz*=a 7vŝTj)5&8L byzDݺ]C=<{ɘpIFL=ڊQȘJYS+V!v=uX}J=/1&}Ȃ͊iNK>ל$ښ犃=Yilb\X䲖I9RɑT"Ze_-Z.5xGR,WZq -d+&Bdnn52I^)g bR)H+&k*%jPL $;1Ƃ)h^XS41f dD 1hrT>{҃K3+Zۓ65?4ctZʀ[%]ZukNUթws]Z Pk)z)/K#cH-+:qC'`R2heH@ZM=HgN*NNH:2? }3'Z @H j@ >C*yreqܱGIL⤶[Ff~ _fx2' 8%b:,ـ~`1rjy(:(BFֱx-iFFA4Q,%uW%r@|[7x҆l8:ԕƚRnx"@/@0Rѩh+A-x$5+5ks^E6J\FN\@ndʽH2:};&j‘I~sACd0%31qw@..t+d8"k/2nkr|59 9#gBzr1%+ap3 Ѳ2I)E%gǺB@D1@FDZ#@.-&eJq+KR!7JugNoYȍ%*&G]5:f9KH%yVT6ފJm[s͘~trɚMLBm672@݋D'ZbL|g4L@F6[V=@_\fhE" HG%wH+~a:A:qwbH{wȀ\v@,Rr:@>Wa#1 ,1 m.A͋ghfdd.^O:ӒtZ؍I]KJ* V` 5ꊡvH NJ\<ٮNAq[H=7n zH(D;Zocod[rmTtp\|NoGDoܗw:U$ TI=Iީs !u kbd8^Yk2%59xM/%| 7;=dl9P iF"̇)Rb=(JJ]_SIBk*)usPMyY?捑 Nƒ9T^w~!O#9Nh 43;G0)j1s1u'twS^؉$;@w+=K̿(:9r=ԤҠ۹7&p` GP{Q GzWM^x ~:i  MoOeHO3HwbM &ETw޲BErdwo^SGd}(:g^t ur2R1f-쮦P`="MgdX,MʬsѶ:RNJI${R |ffIDF3&]4 KRi220QdOP vuI Z}H]Mq#͔B5X@ $9:R[N)Cb|SҜT dvO7 -  Vz; mOJҢ'*ײ{Rwu[5?G펵ud2 uOr\iU[$2=8heg_pmOz u+%$2\IZ:ZgVF:/qkC;r{AK΋!W}D<,آ@1}hr5 ݶVKe<6&}s.\?RQ:;t~ S~@F YQ W5ONr}ݢRGԂBHATpwR^ސ_R;H2DrV{޺5/]CTwtűeSmv)D d#S d3w@l2$ʞ.Ɍz˛%jf- % R@n.OD%r2Ig3ȅkɗN:yzO$=?b4TNvU"'J"Og5}G~My}(}=뜼''"|}BQܚ!(AOQh=Z c? -1=[!kkKk~kkv-{:w~|~OX(8XU3sOYE_>҄P'?eu~n_B/ZяoGo;hO<إ{yȞꋧ!Z9C *b*N_)j@om cjю7{6lJ΂[̧/-'2NC0YED)\Y̓>`C!ԧEI)(N"4/ja Z@𿞟 {sQ\5m54zT,7m_Wwod][0ɓ]n27U$ |k!Ĺ3;nS0iW!:,[ R{H2"]HH.E%v{?8X1}̑_ V´ [vo##L Jg;Rjq&{1z@3g=;ze88 yZW.{ :-Z6fyZ~BPdFV'$@7`ޛ Z-/`gW]TUh5] ՗ݎ'4܌~ i~})G˪{GbRGoҙ@9QpɞShLmL0:1ٷjjƾ= vp(cf^ û+|YO =Y8CJNno6RD! [? ;Cٳ X\Gf0j'N$PnX_Hw'E,ˉ~fu=`"4otS߄2 l}m ܮozǍ,Ow8:dq1-]r@ݎ ʾ  wm&weI\(FӬNw~P^eJѸT;D.ֳόQUB2GCF*{l>Og%'8 @8R_-ǺYP"_fvmԌKi)E=<>M`G֥4x~x}Dr&`a1N4J# d]o ^ <-2r&<Q[[0_)n,m5YWj3Uٻx'31a,;_[ Hbc{>PςOG?:MSL$8ǛYWPȳJ=sfZž?3?QH˞8p &,pd devpwA\67qX?|y 'sČwkzQ:-kR&Lޗ+o4~+6|?w/qczX\yà_6v5K&8idZxd]CIRuqRl;l%;Ac29ڠA{I1^+):ƊukڤG(jpzG}*m(-kGHGP@R~{kYL?eԵL]连iI*W C$"{g<5n?e5_tzJNZn"ElmzD18=0L5:5CP!.*5^^Sq5&+EQ u*q^Ei$u!}fm?.}cűWS Շ4,MpA·T?F 94:B8XYc0CAf~ vI&%'p6p׶R׿-ԙ{lEBmk~0r>Ă鼜}9v̥EIQ}1*I,ڟkw'ثῊQ&W!Nwv+wkz042+U T, #von5.hWr)Aw? #duv x;p*TW̏5ky W|xhd(KC@" (Ni! (cV'YU*K=Jw;IgЈt(x핻1( 4gPsݫ)imŭWrp!XW}Y]fN֫ig&;3?5^Yo\/HG88?Y0[>`oV{C T9_zcpbI3<}5w۽׼*h,ڲ!#ʋLjRT4PJ8-Z8u>1Ui9QΆcV\T,([cP :SxCFV0ЁyqAՖaX IN z0NC| kk&I"B/Ac= zwB"C8 Ayv.Z҉|(ed6cQPa3*u#$.Zt!ahmxiK \'mC%!C/B2>oqЯvKK s+J󬉯$9Zʊ/rDXjW5Ww{*vP UMr&'v+ HS/Gȓʁ8 d8+u0C$CI6#(Aζ^f,LƫZt!I"u^}evJtpٛpN>Ӡu?ϵ=Ao@̘_Sw>3bN+ѩ|Uy}8s֕!$D֞T=~gArvFW3j_/8ٟI#B3pP҄+d6OCJhLgSB'eq31\_HiЕ' 7-_BW}?{g1u4UDlL(^Hqtᵱ܁0)@jظ))8ꪤ;FtTd1'wuv_(8 xӦIv?Jw[5^Oi˕ծJ7ed~4Td,]h,RwR>Vw!:S3K)ESW:S|5toOqJ|x3ZFk5NΖYo g oRl{c ( {>~Y_%E o!=ϑ__X_~bj&HM׻TVY;2j7|FM.h >GhX)߇eSVF ڹfI)T[>J+:+s>|k3ג(8gBB-<՝JCh(}puNX+R'F' O8Ѷ*%{ML_"l=IGWvmpWp"HT! /xb{ _ǘOY G>NOFx6Sڎ]:xΕI)rr?FV//GB_SgA)tg,\,QMmU&5#k#x('S>w M;laKJx*b;Jw6ԴUFB[,6a;,?\qPz_^h}B-_)O-{oTݮpJKU`w)؈ 9ui3ga /ԊoL1K-~p4-g1h3}%CL"Uq|L# k㘊h~m!=CX3A&Xck#q6ҁ;1o ^ Љ ]S vj Zz' %IJ?=r!,LB121{<lxX$_ߑ8Zm=PCaUzWEa//GGpN#q̯4͗Ʒ:xxZzQ%AϿ>|b/L qʐ`z{KؽGEzwvG܌ďPȸScqLi(l;S IL[JB8fqnshQ1]B+ SoS=pՉ-D|QjR8Շ'vI|s7 #, >@YCXxl@ircc $?]ں zR| 9v;|vHFxX.ٽrꉡ;Ʊ/^y3mf͏wbu j⍧mEfh"C^c3 䁜lS2Ӏ7 ,k[O,,W K1b_]I׍ؗ\5h gU2Z@73!qVege[[%>1Y7н) m塻B@AIe@+*;}"mV`kDx~Ni7 0]"ȊrgA2oSySnh} Kh{czy;?Tysuey͕吚ZRԪa|v˵áuh'ai9WTcwLrsj5Xj??PK lDpnPK4golang.org/x/sys@v0.26.0/unix/zsysnum_freebsd_386.go}[s:ί.oUj%ڞ))Edurr^X4 IX-%s] Yά5y n>Yʎ=Wu'Ov!O,-XJCƟ+L2{a~<,B5NbIL2/'jbIyq`yOɉbX{4YڿEodm[˞̷}>ӑսXVч?{{bc?Yn]}O,wZnY>YϢqn {eWw[m 7V @⒟4 94S}${;bwdQv˟2FEʈpvGkhO9m[[S_2 ZtJo >nu?xJQtExkaJQGmOk=˽X9Mbbyvs+;2͖[[WB?K} qeZ+p& :ʹSjw, uw˵VV/1%AC*Q[Jj$)ar`x}# u{A@ 3s];VnnI@JVZ%8/8_SRMc,^a2Z$P^9h,G\yݳ3Xv۱m3{kk?:}f4) 咑䚢h#:I=tfZ׈DFSFf"?Պ0 F8x?:>ݬ:[]D%|5_I, hKgղ\7#,Ϩ[r]4$7?I n .V4WzBFE |XYvvV >&ym̐ޕ_k%$$iu}@)y&ԯVZR5E XzjVt&ndM540ISb-/۟$>w9W~ -"= َ,lgm]GadGeNOxΓj:^-#s(hqe{< *򰇠J1>Ze$Z4cL~V= wl%nUTA7f@&_АǤT/mCwH>E?Ayy"&E Ilzvк OjLmϟeb|e?j'`u#J}iԠ{:JBr"a\S?5%'FI 1'nfH2Ί)rT6.` Xd l/ ѽ +)nT6Hva?KuH^{?O$.7r=lM`][q'< '{Nt1JydaHP_5W$ΛBd ,9ufy i򅏠2QvImڋ'h-pS/( a5$a?!P5t|\oG51=?TZ*}b:ߝHvhFnQ!D<.e󉛒&QNGmKd( :W đX;Nz{)H/fvzQ $P1!ZJhq9p[2u;X xZ2/ENfΰq$w\Egc?I,e!Kje9f^: rp9bLuN[H93#k4ۿBw-m/k4/d9'1Iʺz%h0MTyEz+vT gB_i`%(wewCaAQVS"v_*ާ`)e/Bqd*v MUiڔMwGFд{ ψ9FDȑS!-[8GPm{:hP-}tPAT9(K0Y34贓G' QSG{G&tT_q$'eXߍj,lVb/NXHHze.ގMt׏mnj8F/IvOVxl‚lJӄ?4.GV'LCb#r^f@DcLJdszxIbZXӹ,wkdA54`WΞqV\P՝RZ>^V@2zΡN1tH3^NB(sDZ\QH~l-ab)-4Go)FdT '̜[<+׈ʐ&nHY^|$9lOGL\cKnʎt~Wd2^YG)6:7/Jv.4%ՆVB5aDcw;VbGwwHDjd=Yٿk] &?R)gs-ACUDIp ,_j;TA@*#BbۂHhvx4$8ӲhY\KHU7k1 Q $9 \x˂dvl of,ҷ 3s ۖ+B>& r5#}o-Y3hmgQHׁiq*@JLByUaPŲ#KId)Xť/&ƣVRb}/Ij37 OdY[°[̀6r{oq2'gE82%!r΍`o/OǝW^6ڌ $Ϊ‹R/" R"'TZ3=^Gb* $vn5-ǐd%*"jhKA:*FhqRܒ#s #s#uUwyLU01i|s_G=3qpDqFDjuU~&hYű#YVL*rI6#+flf=nZ]atf_8$/ {Frzu$qJmRit/odRwfWW&FPѼ_~3J @/[xt Rx~Ȣfw&| 4~0Ui:z7*M'4zV5jMÑlK *1ؾCMD&r:&"Ƌ=G xjܬ𯏖vn{ {y F +3u1bG S*L(;7-/|& kPڵ3Z`1P1.&cv^>HI- Dx|ӣD)OlɫV{"ά\ZWºW-)b\Z+uҺ-nɫ>ڏnT#9[2\ig\~@Kv 霙-; ;t3` nbt% ^f1hbElN eN0p2Iң ;njcgڌ r4.XLFj}+K[- U=b_Ed#=G$6țk-NT͍?ýJ "mLby9x<"ʊvq \!pd˭0# K$+U(^*Sxc< =yf'-V|I3zyY\ip )gKH#2уgM~ Yis'ٓI&sQG`# m5LwD@@yFfC3ypiTR@F \^F\늌oh·FQNW.`q>4?Tgw%ՠGbsq>#`{ YR@a$]Lڣ"+C"91/v;R?<^{~?t!*^a ){++*(K^S8^.ڽ=.*FnZӍ؛zPdX_ 2,] `DV{&p(9r(52=NW"|:TP?ɂ 4$㸺ÿwΐ7AȰmד7y(Ejf 1pNt '4%X<*Pq M& k@dis$;͆ $9=Nr4 ?<.-(&塎E!Bv%nK:nX$9;bR?dRUQq.lr3}nQ1%jdO y#l$K],d lIF&–8j$&M,m=jKtoe,e'Dqۻi.RūW2j.۰8bφV'$+)P2o,T9ގؖY^ C'!'Б)hzn}Yo +$;ˡe b&Co XS}Gv |?p \$}Xl+qȋ{}^kߊ}텺Z=?Oݔ RnU3{eoc (>(ҥ,꺉He7 sP!n,2$7pu믜yf]* ufU?88.y钫v]~ҖEVЖ*J/-!(}ǽV&zKQւ^a+IJ!)2,%^2' Ӆcۆ-0@,d'FӴ$n7'Y<;ƾ'cR«nԄ9z7Ȯ*L] {4 eLð3sĹ8,l}nLd\3ڤl\H##S1tV&ppv냵AMJOi4hPڗIunue ̈́t:_gkqo1_B1 ~ [װt?%!XƦCj`' ~A2OLhVJͪB8zDj ~4VmFhTe{BLZ1|CFiϢ8J;8[ȦWy* mL]ڬ~+~R~hV=tmk =`؆3Qhŵ+ *CYr^^b$]xL9MڞqppA' ?Swc7$ si<|Jv4’o r#w>jP ?'P3Ǚh˰ͧ=cA]1<7;} ̞{uίb 1g˵5HZS:4%A.' TK}(/0G!1 Ij evheiP\`[UV+nZ@C˜µ*T"lDݍ#TXB[ޟ^U-zZpP46㭨v(W$jL\b4~:#K|n1>vL<.#~cH_?/ב0OKM&+!Qw_2íƒWZ}\l#|&SƣpO@26 n_,Lőov`i)^<hP9֦o/4Ù]2ʇDW]VOsod|~3f TmQNɅWZR7 @0"W]}L&~6 tmRL<LmS>7qP:/.*"zy1ۧ뷴k2|fq֯x46O')6S7lJKPCZBݻ*Ȁ•zol`k~CS);'DžN;]SmC$g=)p^,qܯ478ߒ"3^m7s[uAi{4#qQt3V\S{^AK Xi(K `ʠҮŜ۩KwAHAH1rS ur]<Ѝ,Wڼ__wƽ6KD G6?xC]E hMNMEN~) %~Z%ep\NGQeqfo7Dȑ̋$jk0) W[ijyN%WkaO']7xgz(]+&yy2\i1:{}CN|T I7<45F~b,֎nF+FU` Ä75S-ytt5PK@6e*!`PK6golang.org/x/sys@v0.26.0/unix/zsysnum_freebsd_amd64.go}[s:ί.oUj%ڞ))Edurr^X4 IX-%s] Yά5y n>Yʎ=Wu'Ov!O,-XJCƟ+L2{a~<,B5NbIL2/'jbIyq`yOɉbX{4YڿEodm[˞̷}>ӑEg[O>u$fu>}Z;kh}e}d?ƹ']߭o]/3ևۿϷj[$K~ d'/No zsoX]=W܊BW~-qs+#^U|?Fom=rOE~hN*hoX?+5IJ+eV+Gg1J:^ +YFͷ=_uZrR'yJe/׏+6Z6jY MI)7yTx@hhu:@aB x GSh0ipu?v cmF쭭՟X\V Tg/KF~|,Fk$7ҙiI\#OsdV+b{&&it^owY|A"$$ ,Vr݌<~nGuӐn8$1fv494XYzO\ =3lxyHbY f5Z 4@H/&yyXQp{- ؀qohuʈ0P6L7=Is N =aU!V/7L H|_< 8Rk+~X~U3 CUat#Yhhuo֨i&:>88WG*&LOWVެs]O 4Kv4* 4,4^$#9 / hݛ@0XvBGP"T1V^*j4{efoټ ޭZkID-7`ZҙKO(>5w{h,'Oe)&^l^tBr\\4]`D;K8j5uqoA'\~'/ `Zq;#F<(iC҇Q#y@}Ք^<;oN e17rO,$Yd>G}]$GrԷi/r=N@h($Dӆ@]'OTqBNc$@($LM[b"s835LƮp3K3shY^JheM]ҝrI w O|xV˙!HJ.ړ꙼L^ &c](km%%U,)#qg $gf/= KՆm "T)ό>Hm3:b0ʹx5b5v#S^C!C>!R)LL% A~#ܕ ecFeXMF6r'xjėAѓd2. 6Uf@iS 6';mMBg4\?#^~ݓ#GNԶoAAPA5P ,d#8N^x$u$GMinuQY7rHc}7F톚Z8a!!AJ`x;R7V=^?U ٮn&nWj\L@rE#Yж0;84_(2M\}&RNo23so1_\#xH*C!ey󉒠VUL?o1s]ct/);ҹ]ݒ|jxqf# Nj,G+PDҔTZ w&L4wS@)AZQ!Edeͻwqv*hpGH PHhzyYЅsg{]C5 ;,e.zeRO{Pk [ MqhzꊪN7boZRu{bBa}%Pʰv}3< F[:,S |nȐ+S8_PyCQF$ *А{܁[8CJ=#ö^OAn$7 9*@^x`f@ R.ԒWw4lTvW SצrΑ4'{8Y*jX:&O #G-Ⱥaek4nKIETE\(h\(C;Cl"2_k"H Z(1vi:ݎI[ҷOӵaį1 m0`̇FZ׮4 geyy튁xVv1PjX6i{+o$ jR7*nOߍ >VL>.)nM*BTc Kjh’1$ȍ\;h?U@}\&@qBg-4u܌)Rs3{Ձrb:]+؟Alc/תb>37#QRhM)kt0L^vRc/о\HTXW<-#ǘ&1}¹3_D l_*[HOt4٪%HG$0oу$'}/u3? :y"けjvɭx\$.$gv4e$ _قgp !O.01XƠ3p'Ū1 ۡǗAqm &VYkU c תRLyT_t7^R}` oyzU~\^WLiqFWBtیe\hzd~.]2qi鸫h/\\U3񸐎&:&!a\GfZ?/b4PF rl rl_i:Z,rghqv^&O=M؀@I@\|0 NGہzh>AQ$Zuc뾔wgvU#( \uesSX=qH;!Sߓ͘ |.PEG:%^iI,R\iwm2$įӵI1z0MU*L lǵ^jC BhDWG8*BKo*Ү[FCl'?xM"V!0O1ցʍ:;v@7ڳ_is|Y! '7kW۰s/*u{uo|+>5պ:56Y/Gx`:5&.',i^Y…Vse; Gř݌Vm(r G2/YrPZ;jv_m>w9><_>t9vXL;GLp=Ƅ y;R^R6r$xʫa+vٳX;U-F L;a(PKf2X+!bPK4golang.org/x/sys@v0.26.0/unix/zsysnum_freebsd_arm.go}[s:ί.oUj%ڞ))Edurr^X4 IX-%s] Yά5y n>Yʎ=Wu'Ov!O,-XJCƟ+L2{a~<,B5NbIL2/'jbIyq`yOɉbX{4YڿEodm[˞̷}>ӑem}z'1??|Շr;j|w,VWvuJh?Up/vl[ ~o>ZCm .I+ C;G-ͽc!vwI\q+~ ei)c_ͭxj|Vqf=%9E׿I``tV')YEWޞ( xv l0&d5z4ƿ~hNi hˏOI$f-gG?#l5|e[L/ޮWzn2h{L05A v˲P`|\kzhQ4B7 @J^v,vۗ=Ҏj_[Ona03{0׵shuʡJi֞) Y\?hhuڨeQr5%4Qr(H )5coMƢH~Ց=;+e6CWNnFcrZ,PiyP.I)ʎ?.Kg%qHd?Elij&bCY #ozCUxeITWيĒ,o[-u3`-ׅOCyxl?be>Is'l^Dΰ!e-`ۛhi7xt!P-^"^]|3=^9J+Zyu=1zx,6̋Ґ 8zv0h|/Duo6=, ` AX;/RXi{\앙]g3z=-ar̰ϲ JݴɞkLg>-v4oH{arb\o/|=jgca ]e֛~_OI"M_zߟgK`h%U]܀phKg/= FWC ?.xzA yˑcpr)3362Өڒ`Tu4Y5Uj Q)_MQ5sD/ƀw<{DGlM?u?_>#EZxjG8RC zkkкS:J$'~~;z4:ֵׅ4x^pE~"Ir7zhG42&BNėfdֵb YrLYa4`$R؟xK2&H\F#CFuY5ZjtdR0{M^oKZ7b4"YƗ,>:yբIvBs$ηZZ7X؋&J=hd| ŌKvV xdFNvT [,>1$_<ɜ12׏^þЩ({ࣵ \FrE99gճб_qNVVZup+A~3_o_h xLJHQº6tS$3$G 'bRЫȶW+mW[$ˮF. Y!W|s{q6,_7ۗF 7'$'5œW}B9(;[mHj!e91'Šc H] 1RiR+Jd6h0@Z"#"W,KW!KO*qr"բ)- MN>yBGG5>O ̠w:[>5LtקHcSS{`srF`/ᬘ"Gh"vJrݫnl^F`X i&]ytmA=.y#ثŽys0y"kD'@ ;GaJFUSzE9-Mޜp9>]ogf)_*CmwdAQߦq:?^HNu~-׭3eYA!@Ck:QvQЌR9K rEH,&/uy)< f ]sRWzTD#w>&֔*c<2eB.̡gy)C5AwmLHw>#ˑ&aXj2xVkJ\3ͤ4I;ǫG2hCss+;hdBISRmhun?+$ߙX3ќvNM:{Yk躸I%}n/ 8JI j#W* -s{r&^;#S" 2 .ܨ.FRz 8ty=kh@⬪ .2/^;,%{K-G5ӺQiu.[@KnV"p I&Q"J_i*[i*ZK--9rZiMԖ(&O^M+uW-`veIx%q+!hm/! /͛.qy.^:PԺ,`a "|.M [p-|.,jvgk .ʞJ뇰 Syd"MI'o]S-1A wԡ@ ;Dd"c"rQ*h{@?_؈&< hٿoGH0k2j^+z>X~`9%B͔ sB؊gҰ&k ]Y; SXi SBj<9o僔Jt7=IĖi+-̺z ̥uu /[xeb"ƥR'-[xm‹떼hH=8J)eve Da׀ΙײӰN<# ,FZe!VĶ @^ !='!=ڰs>&^}ذ.GbˤnG_,$yՂR#UDv1xDpnË4^@E=}[-/po;-$yS/*hhg`{wy|Of #]}<`O(Z,O[%kث59w;VOL)ʰy@VFz|UJM[-ϗ]ʷϗt({--R9=I"\O(^63Cבכʕ[̐rv42,=h-/^zʐ%6p=d۝1u:ЖXtyGjhTgڻi64و FL%iЫedεHX@V|mmtCCU^ ,{ZR L@{d8(9W@.X3Ʊp=%FUɔ =* 2?*Cm#u?+@!ãWgCZ̝u ֐Hﰢ K=CB3\\n/Bb4ơ+:݈iI!\ E@*r0`iFlE_gR 7ꈲNc ]#CLDU ʧc@ E,(@C?; p n ){ގ v{=ybZf3DrpWxA]ţš'HٻPK^dQQM^]/+NM_9Glȟ@d)GO@rb 8p|nRv>K\Nߐ8pQj1RFRŲO&¶nod ly.~A"nҤDVRF|BO=o-UJ|% S1(lhpBbr%6jO8m80tҎr)ho &'їf;yJ#ʭ^b.fR ^>m=Շ]pj'ؼsWpeLҷj!/1 pק:%|{o^ՓHM a)8v\ 9Wf>.̎+]:2Q<.|?  O~3Q GYwʙg֥ɩb ]gV9Cq␷.nwܵ׸\)my0]dm˫2Rjwkee-vKb/3͒\%sz>]8mز+ BFH}RnX ԤfZJ}ITV^FLXMU}F0v;},[0~G Rey K7Xe`l* 1v4!ʄ6j٬-C+J٬ GKcmeіh$/Fu[YY!Dt'8i4ֹ,s :s @K l|u= -j$ڥw;'귏nՓJ{ t0Iި=~7&[q3Nr07kIS-,Ț KƐ 7rVqN0{ ;s p|3eXCs3ӧHɿWʉ vc\Z)܌DI5A]N h^r0yIE>ԇBr!#QybqP\~c1V LG(}I8l/#m0>%/L@vd"v|f&^^vGf>:3.dF]'Z 4zpmtjD ^~j\zҔY\Bߓ4|q`g ';? wZ@pg `P+lV_V%XeRFU4$/\bJ%2QND~x1K%$y~Uqy^ 0ݢǑ\ EJm3ފjr@vz(A>ssZjWB:8ULrk ۿd»B /xW<)<*<W!|hX6Wyahlc7K|@8͸'!"CÁ r[ҋ 'Cg+݆~qz=SP^‘(pߎ!*ds}\贃Q8&p09_NqFۓq;|jM ||j- z(13{;ov3U'y@3Eg7#n9~'iK՝L4pv ʮ!Z̙:1Lp4ъ[,?0kX*70h~;pJEeyi_mTKīpax.js :U_Td;]Ԙ엲PU"zYf Z=Εix4xdUgv3ZMȁYȼ8HfAbjhN صbi2''1!Õ@7JyΗJU_ˑd~+JS#@jׯ)fbfRoTp?Lq3P3EؒGKg@]8>oPKVj*!`PK6golang.org/x/sys@v0.26.0/unix/zsysnum_freebsd_arm64.go}[s:ί.oUj%ڞ))Edurr^X4 IX-%s] Yά5y n>Yʎ=Wu'Ov!O,-XJCƟ+L2{a~<,B5NbIL2/'jbIyq`yOɉbX{4YڿEodm[˞̷}>ӑeѠg[O>u$fu>}Z;kh}e}d?ƹ']߭o]/3ևۿϷj[$K~ d'/No zsoX]=W܊BW~-qs+#^U|?Fom=rOE~hN*hoX?+5IJ+eV+Gg1J:^ +YFͷ=_uZrR'yJe/׏+6Z6jY MI)7yTx@hhu:@aB x GSh0ipu?v cmF쭭՟X\V Tg/KF~|,Fk$7ҙiI\#OsdV+b{&&it^owY|A"$$ ,Vr݌<~nGuӐn8$1fv494XYzO\ =3lxyHbY f5Z 4@H/&yyXQp{- ؀qohuʈ0P6L7=Is N =aU!V/7L H|_< 8Rk+~X~U3 CUat#Yhhuo֨i&:>88WG*&LOWVެs]O 4Kv4* 4,4^$#9 / hݛ@0XvBGP"T1V^*j4{efoټ ޭZkID-7`ZҙKO(>5w{h,'Oe)&^l^tBr\\4]`D;K8j5uqoA'\~'/ `Zq;#F<(iC҇Q#y@}Ք^<;oN e17rO,$Yd>G}]$GrԷi/r=N@h($Dӆ@]'OTqBNc$@($LM[b"s835LƮp3K3shY^JheM]ҝrI w O|xV˙!HJ.ړ꙼L^ &c](km%%U,)#qg $gf/= KՆm "T)ό>Hm3:b0ʹx5b5v#S^C!C>!R)LL% A~#ܕ ecFeXMF6r'xjėAѓd2. 6Uf@iS 6';mMBg4\?#^~ݓ#GNԶoAAPA5P ,d#8N^x$u$GMinuQY7rHc}7F톚Z8a!!AJ`x;R7V=^?U ٮn&nWj\L@rE#Yж0;84_(2M\}&RNo23so1_\#xH*C!ey󉒠VUL?o1s]ct/);ҹ]ݒ|jxqf# Nj,G+PDҔTZ w&L4wS@)AZQ!Edeͻwqv*hpGH PHhzyYЅsg{]C5 ;,e.zeRO{Pk [ MqhzꊪN7boZRu{bBa}%Pʰv}3< F[:,S |nȐ+S8_PyCQF$ *А{܁[8CJ=#ö^OAn$7 9*@^x`f@ R.ԒWw4lTvW SצrΑ4'{8Y*jX:&O #G-Ⱥaek4nKIETE\(h\(C;Cl"2_k"H Z(1vi:ݎI[ҷOӵaį1 m0`̇FZ׮4 geyy튁xVv1PjX6i{+o$ jR7*nOߍ >VL>.)nM*BTc Kjh’1$ȍ\;h?U@}\&@qBg-4u܌)Rs3{Ձrb:]+؟Alc/תb>37#QRhM)kt0L^vRc/о\HTXW<-#ǘ&1}¹3_D l_*[HOt4٪%HG$0oу$'}/u3? :y"けjvɭx\$.$gv4e$ _قgp !O.01XƠ3p'Ū1 ۡǗAqm &VYkU c תRLyT_t7^R}` oyzU~\^WLiqFWBtیe\hzd~.]2qi鸫h/\\U3񸐎&:&!a\GfZ?/b4PF rl rl_i:Z,rghqv^&O=M؀@I@\|0 NGہzh>AQ$Zuc뾔wgvU#( \uesSX=qH;!Sߓ͘ |.PEG:%^iI,R\iwm2$įӵI1z0MU*L lǵ^jC BhDWG8*BKo*Ү[FCl'?xM"V!0O1ցʍ:;v@7ڳ_is|Y! '7kW۰s/*u{uo|+>5պ:56Y/Gx`:5&.',i^Y…Vse; Gř݌Vm(r G2/YrPZ;jv_m>w9><_>t9vXL;GLp=Ƅ y;R^R6r$xʫa+vٳX;U-F L;a(PKnq]+!bPK8golang.org/x/sys@v0.26.0/unix/zsysnum_freebsd_riscv64.go}[s:ί.oUj%ڞ))Edurr^X4 IX-%s] Yά5y n>Yʎ=Wu'Ov!O,-XJCƟ+L2{a~<,B5NbIL2/'jbIyq`yOɉbX{4YڿEodm[˞̷}>ӑQ=*!goOcL~'1˭|wXC-'Y4έ8anhx=o}/|k U@'ͯ@vB T h7쎅%sŭ)t72]Qz:>ZkNjo#T䗌椂]&[C[$^fR/?|]z{&$@1=~e|ţy:`r/?<%iN}Xʎ D%io1Rgx{\V3; 꽻|AC@3-1],BrK DIА Eߴ6 +yiJر=o_6H;bC}]`^dnn=e+99P\Ρ)*[{4PfrjiE1 הrӘG%ˁ{X V# &p}45#WG#n B@8vltN_9iauehu@yBdb$(;N|c.5"=QAf"7jbBF ޏO7V}%Q _d+BKZm,3}\> I͏CjfGCC$͕г{9Æ$moVOcdBaxw g=ײё DZVc e4pCۓ?+`У&^ xhu}pոɣ*ƾ狅XU<0]F1PkVah・XczutbA+{+ojz:NdGëR0/JC.BE1àֽ < 3%k't.b+%07I]e?~JǾ/냡տTMtrZ/ 4bYS_ 2L~T6bEO'.GH˥c|DblL:hKF&QՍd FTY%GT5EKIUp)=CcV5ZR,|Zteh]K }6뭭Q7CO(͒N \nZy2r<$j衱Oʘ;_/CÓZ׊g1eӀ\XKaZ-Ho#^hpUfp eg*kqӑKR5{j/Fch(YӈdE_?T^V' ͑T8Fk]Lch`c/^`+܃3.O/ ۙ_[AW*a;Q+0nǴS|(󤆚W&s~|Ȝ_? >Zܪ{BJ8IF+41) E FODtGD-tIB&~"ۺ^]=n8.jG[6tGgY2_bϽ;tIJ|݈Rl_5ޤRHX#O^ bl!y 8 $Ğ<9LRYO'*T{ u1{ ׫HI$&V+W*<:YLk_UF`~v7/u~kt?_Ն$;H,>UɉV&ԃ49؛ o<+3H{fOo 2]y\"OMIIQHrɱmRd<̇bcصV:+پiftţ{J"{b.+.]RwOӵK\c&[XV{"w扬<a$|$IAQ: CUq$SẆ^j RhT=w9$T AH Z\ܖ ph3 .֯CY3lq50nWљiKY_ZYwÄbq+ScS{>R@HaP`lnu+"MYvwI}.^I8O] ObȔ.hߴ%Y(2aôodaȰo2Fn^Mu%$5T5kWQ4b'|٬$F4NGV+ ߶\zVϜsey{e(3e|FrQDQZB3JI, ق!򳘼b*lKQ8\g$tGJz\Qtt߁ [SVhq@B8S Ho 943F;4VMܵ1!,GayX]*qWGiM=ɯɫ[䵘`>_؅RXoX}Q^OȒ2=wVn)J2{f01Qm -NÄӊ_꿌6c}S.FY 'LLX#_S=an92U+;D^9Dj+êފ"DYWX 8]PFXAq9mTTh$>h#]W|XJ|ًd=J!#:b`Smz6e|oyoѶ$4yF3g{=90rTHmV*TT u_*=TsPU L <0"#:GQI?jpԔF^ǑW{y\a*:*ɉd1wjZ; n؋^D8#,ui%j[ۀ*h]vœ*g;i4af9@ejQ ӐHt  јh@4$z|ҩX"?=t8K%3]*E}rA M Xh@'Ԅ|ugo4TV4>s(So$>茗f=q$W1m sؿX{G~ "gQh?Y-'fn É=355b>2R1( jE1[hyf85FR#k-g/8;`ʠ ͭ줦ˢ}ݮ E$MIչ|gbDszg94)R=YOVڼ{gǣ$ϼ8y{vhK,D)QC§- Z#08&+c8JxbXa&aR_B: ,.δl 4Z,Rn̂p#aT 0*Ix 6)8ۆ[˫̜}l }~C"[Ag;ZmwT:8+u|f#}ܨJ{0?fytlUTRƵ4Yu-iqƋh5ո0cߋ}Lf)&Ydo0l{+%ac3 ^[7əxlbL`'`,ss8K%q'wW6"˼Ⱥ{/LOFѺco- [M1$D*_Rl Zkp\h--k-ki]poUyL8;ѢljOx8QZ]ߪ=wuqwt#)SʆF e!oiHJYGp?<[-|Y1VfݧYW1K5螑!^&r]|5IR[T>[@{{5]ٕ'q@ĭ+ɷ2x4oWƻǻr{g@}R벀P8b4^4/l5ٝ )H({* *7LUJ4y;'նvMwsp5%&RJL/PܢFb|gQ#{~|a#7g&emf("B~^g¬ źz~ XDbQ 5S.8 M c+&IÚ54vg팖+XkL=`1oL 9hRR +5h'Q[U޶H3ꁼ2-nuGJݟnu /[ UHV(iLlڙ"_0]v:gf_NN;]x77XkIY ZXۦ.yY䲓.Lp8Lh1{e6cîz,Zy~JdV >HUDGWňzfe /ZӼnz+wspon`*H[?XA^^.O9{H]9W=q>r+tH=Bj< nc&JװX=19(:sAY-I_e.]]\ c°փ{^jZ=Lzf$rő|~IQյeYpyJNO1Bi@Uj `҄WyPnHv"vf\N%. 婄 emfovIΙA=_jI79fnYI * ˳U;2ʾ5+8tl'VY twm!4T: +TC+*Hb]dٹV85wZ{97sVVl4Λ]Y9=NW+51R~n<_w)N<_jӡDHJ\'qN~p?QxAj̬^G^o(Wܣ/o1CȰ mE`췼xf*CrzIdnw\ئ>HB[F` Ѷ:9Pik f#~^3\1PB9׺"#a5[i.!QԶU XUEx)3Y]hI52@\~\c^pP wW%S2HHA"k wݎ^]Hk1wJh5DXC "Ê RW&,/ evopq5 ѤVt#%^p'/Wz i7Àm9~I)ܨ#ʲ;u\'v 2GU+7eO I8/(3$M3{;2l{jFrC ]ȭ _i:w  kT eB-yuGFEm7yu Ю85Y~m(N!INOM>f%1IycGyH?BI||ҫVIN/놘T{TDUT\ˤLDv*.q sɾ;YSChGEuުe(H!IF?R><viɃ8&ZƻI.7K{lϿ[.7K =D@ngx7T*񕌚c'6,NŠس ɊAF? <:v>U,e$WI;BIm(td F_֛G )r(v{I-x[qT:w`s4_e\¹>1Iߪ-$m^꬗E"?e}pl{.VO:#S7%$e7qs28^ٛXt0; &t:˨n"G٢\.T.? D%mk:f+g{Y&tYhr0/{ƥCf䪺As_fpŧt/K.:c@H=JqRWJ#/oaʾ4Krɲ itضaf, ? !I}r4-}<@FV:ώI瘔95a SfW+ xmY?0`qy55!z[&0W 6i&ãc8+6H~%eL"% =\! \k`*|PSi) %%~R[zmC3am7W@ZGhLPLl$(H5,zcI(djnƐ؉Br_м+ڨgj(g(H-F[mee1ӥ@ PdZ(΅Ҏ.(΅2-1k.)ս@ Bh6T>ڻUO*}{1t>]F.y2c)|hZAqJV׮(geSeF\I &ŏ{ݘo4:œfߤҮ] $M5 k*,Cȵ3Z;iO '+~q&2,AiXPai =N 57'^('+صB6rjM 3s3%֔NMw9!ykЪ e'8R ˅8DQAq#22iX)[:3ET@ %ⰵ nDL3ّZrtM 6xaz9;=nHxR>R7CθÛ'1fwj'|ѩM1zKMr>~foISfq ~OrŁ-xFϴv\k6-F|x^h"4- Y\k46- |CSI =%Ԑ7~v42 p?{Дt ǎa;hh8JW~> Y  ,ᬪ74< 2mI/:4=ttƑLB o(z GZ};&hvIqFA{WT`@P|9ImO >K|85 3 tη$(ꡈdWVrPڞHgߌ<Ц>.aVwڣ2'|j؁2(k1gv0cD+oER ìaܨüct=6)!=Ǘrrsqo ;R-QṨ^'PWk|3ZS+ScrvjScr_BVe*\h:WxTYh5ц"rd! %Le{;3H@fw8zVZczZyZXI ޙ#J`׊tc|Ą WkL^ߐ*:_+UiC-G7O*M_b=cJQ90a@aK)/vPKOe-!dPK2golang.org/x/sys@v0.26.0/unix/zsysnum_linux_386.goKs8ϫOn`W$Adj[q%M17D,ҩ 2_/_^>~{c~`|>dǟK~r_?o_ٷO~}y{yyzʞzahǗY!Y+{&xuu}Wo_O_y/o~G%tU?Gfg)hJTOEJfAUtd'Z bT^KXkkȫWά'"c6nXdv??"(UC`fVfXC f,P'@Y*c1ܷE.tOY!cA ZX(hé5Vh + !.czhb-+Q3+t9}bc^s` %i B/ƻ(` <υ4fVMB'+6(7>njh9Ԍ%{A+& QЄ+tUڷt(#f)YR`)Y^ fc)se,y3:$ȧflscOo((orf2X8PBpKN9E8 `)B@\p#B5p3ί.9H% H.ݒ4A\mQ'x%2ʌE(ƻ poD+}F=(h y˯x|/pV EY;p25Rabx3=3,B0~4es˽y6xO^^أ|3{s*ܢV p."n?sc.@ s|[&>8g0-wb7rȕqKs'nE}UpMR 8l⾢Z1 oĨϧ}ݏ>ԣz}}WzS7y?_3.Օsؠ h @߇@п{6pVO:ˡ'93-z^U-#92'8#W_>œG%'W m,W+pnk9]p;;Ũ+9ͅv=f?7q\gn"Z7> >]/=͒L-w#Ա$py:T}aəC;0\d!~xpwZz}Pބ:x'q64Yv~t8;5$;q~͟o5r9sN5ṯ>l,1٘gJӧ1i6a~: zo9;?ܲ?M)%F>7A;O8j3zk렾#Y lxA6vrtӹP8;OoI'Ip90?jzn8k6Xpgف'Cp^wAc:rҸρOO3%KeT 8c)'8o%=pz3,67n{@=m$=]|G1tw-áNIg|E=݅q /GO&z"l< W\/T&i c/oZ 8c=LgW1$b $;%!~ <9{Mh/z:4dsQ梾Ap3q{'?-\RܢBzGJ479cێ9ġ~>E?=y;,{g[2ɭzl[r8_p8ߔ碣&΀sO_-Ãl=j:.oB([zbm{NOK?~9.W/)pCr*I*u=W~JA2x$24pS_uĕʟ}y'OpۑTp^@OgM/?mB<;m,^ok\nzUN;XN2c)FUNk)FCߛޜ&+^g;>ick8)guw,N/Ksλ"p8zc >l0t2yVy6\WuGݢU}/ٸLWdݶ8σڣ{f xۮ8%5g1銞 )Щ@*8[7 2ھe[VHQ:Spp.Ww9 ܙ=wVP8燴77@nP3[QyNt#RCgkX:tQ\8 ` ZCq~$uh z\WC-lt񢘠zUûú٤ȕ'ҡ n} q$1C$m }9iލ 0^ǝ!6Kn zDj{ޓ78st3u3f>P٦O[7 '_PK|`{GPK4golang.org/x/sys@v0.26.0/unix/zsysnum_linux_amd64.go|Ms}ۿnn?k;p xԲ$Ո;KY4YZzxڎwYʒ (DʶP4,q!H0U,eG4Zu"󖑲krmZH1u7ijN!%hU}XɒТ;SJK((ڌ;GR9{0#EFSemIhȆ}@M[Qm$pfgW)%oMZg>ѴuؔEFӊIEF\[OYl4{,Y" Fӆ`4yRwFӓd'+}hK+KYǯ`gi$%S Yz?'e j$FL5 SD^o1y" <"Zy,cTc7 Ps )KhZʶ2Kʶw5Kl/'h].7tEʧlAFӬT5׷FBѡ?e[%lk4Ev!I d{.;?ARh{z[jR1)}R*TOShKNMh 9jgJF"vo4-J_o4-eeT;NP)M;뽔q4OGRӽ4;4Z0eik*HM3-􀵩'B3);`<6>< #[ЫI~qZ#lV`Ibux/{]v^ Պ'' e*Ĩ E7;:Z+W3)Ыq@x.2OOw}`EF1!gn.]dou(lzANdm;bjM #3;V}ۍu ;A+t'?gGΦBR.= w?!1&?z)5^ T aY3WXT #,yܒqK@0(Kz5D-^"鑲RwRe ;n#Aĉ݉GxkQ <dw' Yg}@lV.lA*z>Q μK1Q~p% Hs&Ǟnwi]⻹"x|\ozR,F@V|U1z"{Vqbڔ݃U7b@jνQ`&VdP~U",FvmNDMoy W[ ޗn`$˽ZK .]"j)+A/T 8VA}n ;Z@ dL(F^*Z;Ƕ;4T_ZdDЫi5ZSk+1չ;II5Z'AD-6 ;$ۙ|1utIE>]"c+ ؃m7h mqFZA? LfʆE5A?]Ӧ0E7uPKwȏ 3PK2golang.org/x/sys@v0.26.0/unix/zsysnum_linux_arm.goKs۸׿{͇(&A$XĕIMlOqjߟj P*@u};^ط/~??^~=?~?}O]y__>}?~~~5^??/O/O>}f~>>??|f_Sx=%kdD^ﯮ￾~?~O>~yb^}uOW=tceƚwwl'e73Ds#MPc_a` .wT;CE3u^TL]~^k/Ebi>4aZmKޗ 1!qb.L.e} \.es|6w6Lo&$1-Rf=yER/fos%7hYSIg7B3fCK%)K@: IER:jʒYM7)eۛF!el ]+mh0`"Qvېlo6l1UCΧ}Ye3z1JӎlgP5SrR%Uy& /=oݷhƌ9eS'dRq)GhjrODth FyQ ݑLޑ`Z:.AdP=v vFcI 1Eӻ؈NTʹ/h~Z#O>Ny*P p6nEeE{N}#pZSߐ $pb̂ sɎ"|!Wvp;f:sL%(nJQ9nވN}&"3ԄM/ԉW}1ix#J/  p9C[-:N+ ~}!JYY~\_yS{\0pђ#2+%G86g;.Yrse.0A\'G 'D䔲3v2)0!ąFٽǞb #ņ뼜Kxw=wJ_mt%8*) Z~t8,^ȩ05}yO]ZopZ~sm8r/C{EBk_ p6N F->S g\1p-ʎ^sxuAsk{OpSҾǘ8} } l;qo`)~&oh}I#Q.eIEdzae!mVf)X[rk1\+a=grp$ pMIhsJd\5\#p zX_a:n2!櫷i9|ii}%Y&Zfꑆ;OB(.rgMu['$pXFc'.\Bh9CSଽ#KLs{޺#p%^[$Z3}upoQEݡ#5 \`8EjpnL>̷?X^.1N8d0w)0}3VOvyi8uB]ݙ3iX3-C0>sr9r}v\ssN՗ġrl}hEʪ.4h_sZ|ɋ KEkdf8bt psXS||^m"3P(p̳1N8׭IA`3єE&>'sUIz*ڄ:3GsΙ9/:C>򡍜k!і]"ϗ͵/o8}e:i}By!pj*@NcS:pdsqmW\/f>f0?/3r<&xRa~oh^ׇ&EvƵ}r^ 6VIGv\p7 8g(|ZGy|;h9 o{LRGj+83qȡ~CP*-ng+U:C|CaKYy&/G.X5a~i1?o9T\&EYprGa>70?W@aQʱ% >ʃ=¤,1 B.kk Yݶa\fsdK=8{α+,n9-u{{?/.Hs^y;z9]߽[`M9e1ӫ0y`>휯ʹ'6AY9lήp'`O8%eB⒞W1SC8;YSt7Hy~H ][FjgPY%VD1sçM]=GfnÜs)~蔇^cAt|c>s#q̧+DϡΨJb py>A6+NWeZ nJT_c<#Gzx a(ߞ^ׇ36sҼ#x9T\t~;C.^6Kn.<%,sxep' Zw:y2pN-}81}=u8 PKC APK4golang.org/x/sys@v0.26.0/unix/zsysnum_linux_arm64.gotMs(OibmKz h UiK58mO剙o O]HП$LF?_ |>>/O?ЗMv#/_~qBWרx}xD?_??яt?>"Npْ_Qe_O8GՏחW%.b ;%$[[Bjӂ4Hr&T%M KQ`a=Mf(Ct"BhEZ6$GZMNZv&!DD%Z*Nl^m%ZцS eة& BK:xU )X 'XdA7 BΕ&.bCsjM *BhMsЄִLei-o, \-q&K @;B-47Dǧ]qx!+N(Jkڞ(+Fbe05iSSh5Drژ=Y/Ekڷ2pSEhMG ]ִL@LkJ+!?˗Lk*$@_2iAriM%i%#H2Lq0(dZXAO#H7F&ke`Z.ze vKA"s КFBkZ4L2ZrH#53@dM{GBkz'"mabm2DhMHhsl]!TZVu칭ִ!ִSDhME}Jcr՚[5uSКJHl畃nZSJn@fGM쌦Z"ޏ 9ڙ_b*G<ʠnKxZWQ6KB%q iBt5E iD%@O ⦖К0j&g~(^kR{D.Uĉ.58bj% ~< gz!%(hQ)L4[!R> JѺ)W!ZXz-+{/)D+[HB q5p ٺv&E.1%ՄLbjB+5UE8@PshIJG2Ɠs.8 ٻBLqep S]فpU)8HY\j,W!geP eh݄HM'd"|t3n@s֪Ι1aTn|3 1H!Wm)$[RQ\fԷHYbqZ"BhYӃge"jr[![ޓԴb d"Ȟ5KYb!ٜFĬHdsF YY&$sD 8VDH)dbEk%BY۔VV8#8,)v 敎!kY(2;-2E=-\$Y#22[ԃPc6FY] |Tb2f,[RfVzYD J|92S~ 3. YbHlOogu0"vnBAjDt+w/b] 1Y]$xF5" ,En(0Pf S:B%HL֊ﶱmdhcsЎұJTk_-b"1>"ѹ-Sc[E:7 VC.{D(H%5Z(%@592>qN5B8؜2ܯ#b22R+Z1NsaW)d.=9J ֊QH2O78E| ; ~i4!&2P D..D4!!L! >JMV49Cj/Hqj-=bZb<"*D[1xZM!U"Fݎ3 ظk०VkPڞBb9JMB5-qJؤ.̷Z>ٱBF"BahI۱..2QĨ[8D4bewhur1«6x^(dw^~NBAtp*|8p1y7&1y^I=ŋx=]Ɇ#eC{*DOW5|d^o Z7f>&(\[21 OM,nV=m,:h:AaNb"ؿxSjE+)1-Z!fgtanqL@I{AxFV~3.9iak+n#b+Iϧ7=5鹾^&=N8 9xZ;HŃ 6=Xw ~~.Ab ##h-: vu9:R_ Z$3t͆?SCj+d!TD/$$]' B!V,>7)j e튀_k(P^n8φ2f{A6tat; 7lfi # xORreVSԳbQ[0f6pniN) o rD2QI8B‰.ԼjBL9UA ,0t!xF!F^1s8_4tk8 d|wc_#.x6 d@!tO$_"k뛞x9$fSy%X(b^^vLh [)d?#FLҦ5 :3I[+&PKy! ,PK6golang.org/x/sys@v0.26.0/unix/zsysnum_linux_loong64.gotr8ibmE}H$ʮn;z:mO퍙H@HI_$R%Wo|<J>=I>=|z{x|*ߟ}_x`~x{xk>>O/Oޟ׿O#y'"j3B󑘇~~u÷??]]}{}y{'bmIdLi).>,u  L3ŹxTkI l _vP,>bo@$`Ue$de̗ d8IY- Y=eb;e$$de8MBJ6#Y0FTUJF5[͈fFйK4wЄDF,tKGb@Mk0ѴB+y߲4˺;D愬g{{B- qD#SQ zHO$$dm4O\dԏ =DVJ0*)D6K" Yo,ѴEu@z 4(֔g;)DXlRLIHlS\(/ bZa4eAoDt~(Kh XFS;]fPIKM[TQf="mt_ѴX$V7FTNPc~d5Z){@h\"bt={vc/ FX(,Zd1fb ? ;y@"LʖEs#aaZlǔB%`%rtgɔEdFU% |IKKTzd} [u%Lie4/԰W)ur. FS@n}@eA+4z)@lRjoGFZY\fD:mԱΖ[4bԽ-1I?w.N.MS֠kl G2EX1'1&Qd]QdxAu3E˪3 vEsY& 62Fds6Rh2ݥ[dz~(]VrXavYJb-y*YQ4^V tJaXbkjfu#2xT."VݲT{ 1UW bԕҭ%$̇[yy,bS(D@TN5,-2uzs@au#.5vHlaSC",^b Ӣ;RUS) fWw{A<ғzYgSxmǶg 0^sH2s=IH ٝ FSZ/2[ SJ@f":vA@.b񨥩@V rS{X -q0d?K=ddV1Ӷҹ?FշTҟ$bs:;ly>\a-vGd.Xd th 幦 kL  6)1#1}lVQ)gRoDbKѵj a\ C$+b6R.Lx6 7IK$;% aB؊ xINۊVx]PK- +PK3golang.org/x/sys@v0.26.0/unix/zsysnum_linux_mips.gos۸BW&Ak`PO,OK؞7h9M>I4շ߯__~mӏ?|ӯ_V׿^~/?~}^]￾~*{՟~yϷ{JK\eW2/퇫oo?'񕯮zoϫ߯}u?<^]d "s '[< FHɏ"0vUװ"v8@#m?:.ȴV[f nO"ӑ]dZ5=1 ~}t/.2"ˤ1"Ӕ,:EXd7.2%tѲbXH)E&Z sL[pkh@&DiL\?gʔݴgZ]*]d$s]dRr `{ [pt"SpUPV@f*0{T*<8ert,izBT f@(&( g{ =t)UzzAtgDié t{ BaS6b@aJ$qϔ{-m)MUኳ(Ι\բlB1͘k]djc_塵w a Lje%\i @zElJK`te%'Kj8%NYAF~D(8 @:s`o2 3RՈ:>"D[FFv27BmKƆ?@FV F+5DGs)S3mvdAp)@3";Hj]x;y4uV^3H \Oa="VPs ,Ff#BꮡQ׳7'#r=dRNhq.=F]3I0q0>GaLhl`:lE2AA FFKVY&[+% D:3L+& v:g̀ LUK^YF&\O`Up3!=Yhr~ZB>8yD:Sg bL`+r;#s;Ã.2:) V.h c>8sߌ  -=mq`2 gtz vACUoNvRp; gΣ>= Aoidl=0"F \1zh N"$L)(l$vK7#DM`lDmƑb6RkbH7[)ĵ&S(tE~,kd3>yD,kl} zh!qDY8 4Ngam(02$k 8, cǠ`2=bJgdptKu׬}y}yt8s6[x IgZ~VZ+|m"Eo ~+1s.I"C"w ܄02nwg:JD`G|DmV{GFyG<6s(lg.2 *pR}-VUevUD4yn0  2y(e"ڃ{id8t9cDOR:ilM|+HY6; «Z8p1=z6;\SPחz1†2n‡HU8oHLoT΁XڏW JqcIr8UV/=an]ρ(c|$y˔5|tK*%| .3`n)Vt[,BFEs` ALR5pPGbg!8]ZuB!gW,,Rz.yEfT{mXpG-Na@lVuìhjkDUI4\7(ς~Tb:aa`t )Tg&CK{a |QrT"wm̓h!̫K~ܨdSĨ$HvO٩ȴRdxM1$kr2E0X&u}rfpVO-.2Üw4XУ=^59;d5\?E}ph:p\p/L//LO Ӆ~=- /LQdk CL5F?hi7]dvdD\}g.DWOo; `I aSy@>rK1ѿHwiNXڷ0pR#3a,(nL-iY!%;)j.LV0\qA4Z`z4wyАUbP&[<~uzΏ%O&À'V;gZk޼:e<191~@ VJ}-Dӏe b Bi@ԐkDe?]wqn/G0PK@ vFPK5golang.org/x/sys@v0.26.0/unix/zsysnum_linux_mips64.go|Mo8_`ؒý9խmITH> ۃ^K,EH+"///_OKǏϟ/?OowoߢOӟOnV~?D]޽>]??2^?~<==Gw?C$9ks:y?_\\^~o?a__\y폻_^_ߢ^CUoƋ_RhyC  LV '&Y LYLVT bYK L+晷$Vkȑ:Hj5:Kݫr2]c)JLչܚ Y ȇَb>$ `,˸R4X۲X*^y_ <%r:גibuչ|d`udB\T' :{N `<;10Lju;X L$X[FjunX#TrF`{K]\RY}XYdl\mIDV`PgEYy? YdZY34Dhx<mhd\Nf5S==z'lpu:^^|S6:WTvf羗a5M94OWJϵv:\b=IgsV&t.VB 3ʳ10[d`^^c|f3e2s7VSx <6NZP18|P<`|Vz6Qnfr15[ չDmVܴ:9ӌ:k5H` @ݹy 1m@9;#:2ר! cuެƺ,%ksU6~ES`<$;)s- ̨3 qD`ݕ:W1Vn^ϙ1>2A9;{XoȪ ̸e؞;̃gU6:eX[-Yث1v%F?Ϊ~؍3\.>0Ψ3fԙSqsAfRQ0#~fR߅~Pq-L>@HY,(`P-sٔ',cuyŃu])ՌA?LLLЌخXB).OX?O~>`ά-30ΧTa\ `Gӹ'CXd?b:А&Y]3V~pFf׬(̹>O xQu@̵0s~PU]zeΥ%_u~}ΕL0c;-{7$\ 3d|À: g!]ǒ/싶lOh`̬LGYeG+oC.^/^y\N/€ffEf싂X6P17y{X.%!’N=\/qRv͌M!c.׃~03a`=^O,ɽ= 00Vg0V.e 0ck^*0uIaB"P$sF򌗓 `R4Břkc^$ `'H~9Z"A??j,b—+qAw]@Ƅ^z&93{uIY-aʬ挬g4,!c542;$ `wWrlAW ̃:7Z K]<1 Lby^Oy)*68`bP"q^@;qw&Rd~7iNu,1gc8GKq) {aXWXlǻ"P^Z9Ԉ8z9^ r߰vZK`fsU .2fsyՍa!̲&vBg(f5Ê%cuλ6]|Uz]9ś xeX=f-HN|ϖ&o`j1 zlHy56z=-z-k cu6?9 ޱB-j;}M'5z^Tϟ.|^h3`1Y2Z y=[,0N,OfIރ-`65,cuic;"NHu˂u2uaR2^%0E{ԽESz6Pq5Ez L:a &L!̃@)uw!,j!35MA#J;ᾓe_vY/wf`$ߗjĀk8I}Vf`Wuà?-T&*u}Z|ڒ& {?"3vZw̼WO9qNWOq0w|l:3YT =,MĚV&4g/_dWqSZ01!^0+-̬*,Yv+ ji:'o}#r S^>)+5k{u`g591jf=e%wic1BAJd`6W#c泥´OBZ+vI.uPK8G Z4PK7golang.org/x/sys@v0.26.0/unix/zsysnum_linux_mips64le.go|Mo8_`ؒý9խmITH> ۃ^K,EH+"///_OKǏϟ/?OowoߢOӟOnV?.x{}|~|}e?D~޽=G}{yz{~{ׇHr(Q#tRG8[//.񯋋o/ϯo?/Ϊ7#F߯j`neyF!I& L@ L+@fp~ 1S׬%YB[abs5HXo$XUg.E1ij \LScunڬhu Cl}xFd0Vge\)ImRp`}o/YeWXkɃ4:d>20Vl2!ecuY~*Y='0׎ drs&:y,&vLd-q#:7|9#0V=ץ.k.)>bάb?`n$"+03o򢬼 ,c{Ιh" L<64N2GqgB ǩ՞g=d6:[/cu)`ZYRi*;sHݰ{jK߫eZ;a.Ќ9D:ks!ՙى-2e0/1>R2Vcιs)y(n0>}x=(ju9nsEs\T" 6[sAnZiFpX욌e$0X `\^f6kԐ:KNoV\c]w umu ϒչ*y^)`0kfӹTfԙ8D"ʍCBXs7/M =f7dU^fϲSlO*OXbw`έ, ݘ@TgU ?uL`x.?gԙS3̩ٸ 3K?ssB?&0ĢIo!E.0j2d?tl΁o:rI&L@d~0cmfUAl9o/1>7eלL/,~2Sf\S=lQ-cuR"0˃M([.hXU`|vtG*>@NH˃f`z䚷cl 23 $nIUhfPL`z\z_ILXf5el4'V\X?k`5$v2=0׳q< =ѿ0NBRߣu`!} kNW@z 3ˈ2bYv~ M [ 4LQЌoٌ:T ތ}\Ԭl0Vgy_ sչlJ:qƺ?rʔjƠqy&&&FFhFlW`M'f@'F?v0VgV@ΖSrxo>3: 0ciY9à0wu]x.̃1xR0cu0V#\!`U21VghH,.si?8#3˃kV\zi:u N9E?Ϊ.2VRM:A?X>JKq&1Ƃ`q_ Rk2aXRfǮLc E[QU6J{lg'40SfV#լ틲}7 V\wryL`˼gy.aY33"n3E\,`=`pjal̞f8q)f̐1A?0C'Iޞw~ A shs15[QyɌu] $0~[Ď}t`9#yE0cL͵r1D\/0VS ٜ@-dyr5q1KǕ8à;s. YMcT/=:PozsƬ0eVsF3d`]^w萱C|`R0C+9[b6à+AX~ -% .`rĘcuG̼Oy'׼uԔ`xxAeunjzmQ01j~ 8Veםs )Wf?4ZPӳW #ꥸ锆r{Ό=0w+J,a]vvy[ZpljDbtxQ`N?ToXUP}d;%|d`f3Uhq}lw0YV sfYq;Uk׳k~a:].p *[N=.ƜͅwR_`<2nv3Aymyx'CgKv705јtBf`j6{ fu}f^4ڀkcx{,{~ ^-{㼞g s 3$kr0Xb:ߴ~1VY':ejٺ0)e ufϢ={ނ"{)z=kL=&0WqV^ Atה?ſ`|}K5e\搙ܦY%pɲ/;E oY0K5b5CӤ>+\3Z0X+źaП*MQRql>-} RmI]nNuY;F-cfފ+z8tY'8m|^M6 zI,A *qu&zba+L/)^Y-ctY/ɕefV,~g54 NaQ9){{q`pZGӚ:\ `g]2H4u€{ oU |~ٍ 01Raڧ]?g$PKȿI `4PK5golang.org/x/sys@v0.26.0/unix/zsysnum_linux_mipsle.gos۸BW&Ak`PO,OK؞7h9M>I4շ߯__~mӏ?|ӯ_V׿^~_~ ￾~*{՟~yϷ{JK\eW2/퇫oo?gůzoϫ߯}u?<^]d "s '[< FHɏ"0vUװ"v8@#m?:.ȴV[f nO"ӑ]dZ5=1 ~}t/.2"ˤ1"Ӕ,:EXd7.2%tѲbXH)E&Z sL[pkh@&DiL\?gʔݴgZ]*]d$s]dRr `{ [pt"SpUPV@f*0{T*<8ert,izBT f@(&( g{ =t)UzzAtgDié t{ BaS6b@aJ$qϔ{-m)MUኳ(Ι\բlB1͘k]djc_塵w a Lje%\i @zElJK`te%'Kj8%NYAF~D(8 @:s`o2 3RՈ:>"D[FFv27BmKƆ?@FV F+5DGs)S3mvdAp)@3";Hj]x;y4uV^3H \Oa="VPs ,Ff#BꮡQ׳7'#r=dRNhq.=F]3I0q0>GaLhl`:lE2AA FFKVY&[+% D:3L+& v:g̀ LUK^YF&\O`Up3!=Yhr~ZB>8yD:Sg bL`+r;#s;Ã.2:) V.h c>8sߌ  -=mq`2 gtz vACUoNvRp; gΣ>= Aoidl=0"F \1zh N"$L)(l$vK7#DM`lDmƑb6RkbH7[)ĵ&S(tE~,kd3>yD,kl} zh!qDY8 4Ngam(02$k 8, cǠ`2=bJgdptKu׬}y}yt8s6[x IgZ~VZ+|m"Eo ~+1s.I"C"w ܄02nwg:JD`G|DmV{GFyG<6s(lg.2 *pR}-VUevUD4yn0  2y(e"ڃ{id8t9cDOR:ilM|+HY6; «Z8p1=z6;\SPחz1†2n‡HU8oHLoT΁XڏW JqcIr8UV/=an]ρ(c|$y˔5|tK*%| .3`n)Vt[,BFEs` ALR5pPGbg!8]ZuB!gW,,Rz.yEfT{mXpG-Na@lVuìhjkDUI4\7(ς~Tb:aa`t )Tg&CK{a |QrT"wm̓h!̫K~ܨdSĨ$HvO٩ȴRdxM1$kr2E0X&u}rfpVO-.2Üw4XУ=^59;d5\?E}ph:p\p/L//LO Ӆ~=- /LQdk CL5F?hi7]dvdD\}g.DWOo; `I aSy@>rK1ѿHwiNXڷ0pR#3a,(nL-iY!%;)j.LV0\qA4Z`z4wyАUbP&[<~uzΏ%O&À'V;gZk޼:e<191~@ VJ}-Dӏe b Bi@ԐkDe?]wqn/G0PKS!IxFPK2golang.org/x/sys@v0.26.0/unix/zsysnum_linux_ppc.goKoܺO"q %cIT(ʏM =~PRYWP$Uk¾}}?ye}c|'N^ǏO__>}ӯ^?Y}y~y3oO/_?3ӂx{V((D!/ן>?>cz߫Oy﫫O/~ fW;؇0/cDJȋLԽFT:Q m&*Tkkȥi%jٱTdl?QlB3q pzEvS!5AfȚ ׷"eXC f򓺧Xd%тj3 PNhVeUkUU }XlUCMܻ1B5cU5B &(fJRV^B)`pFQBCUpV^/,{ գn2Tn*2Y=ʑ/pVHCPg(D%ͱ{DCkWS=p/GhPA 8MQV}wԭ{t9rݩWDP`W=۹uZvt%Gz 2> S?8Ј{29qxdG'Q|O.#mVWg px[rRTۯ0gj4'C=qZlws 8GUBx#?p9ԁܜ_9^GѪ`A0Bݔ]'_~q`wX~͡ou2&J/9\ \z}=p%)B%]r{ы| ݒ#a-)gh3]avZ#7>py{ЏW+;Ssթ(%7Ǐ qjguP&cr'p?jNòޕ:k"qC-^^QšUSʣ3 ~yz֜T7|{Xȶ> ܼ?<y+b0pRҘy͋;I΀lrܼ?Li0psx3|^`b[ܬGϫgdp@pŹb֯П!L~$/Kk.^rGz(Yn}[99n︣0̀;oz~:&/U`d1]kMγxf^۾\[>fzHPm;e 8W<(pWp,5rsv(MգG͍o1[tHoq_-VU282ozlcp n%VsZBq\,:( -O ή[ R8/V׎;6c/:g3'd(C?-UXHpzY=4cm9{nӚ۞sFMm?3n?si?q⩿t*݉qn+^pݎ9]8l^Bje~z)S7p_/N:Lp={ ˽Y=MW4 ֛/_MN4pXn5ϝ/ Z%7 qZ[ԛ g֟gKC~oa75*L~zvy,8bɧT( *E_HOw jO!cI;"p9o i;/pRi#g(6e+u$r9ny&c<p?B%P# >nTe8d \114q{,ȡPMC^3=z/)dB\{{Qx^\[4!y9ن̕Zo$թ7:n'+\w8gK?';\(d^zl`pMQ<ȯG;6﹋8 97{]i]p'px^.g-M}9?CsA\Qܜ_i ?5mY=yb&? )$a~ ]:;n{8@[Etɝ_ \,>E.GN'g,E߳Os1>;pe17sesv ۬8p,^sV1O4y*ԯsK>cifC=OsV(;ӃxGsn>:onvg"sil}7$p./b={uøjnqwm/9\xQz͊Ӣ3ZUණyѢsR3y -ꓮo5T-Fqgrp:+RwCwⅺ./ǭ̺%͒H7u_.a#Tku plk };AzPK-EPK4golang.org/x/sys@v0.26.0/unix/zsysnum_linux_ppc64.go|Moܺ_iID9DM {$zEVUdno7+o_?_{+Ǐ쏟}}!O/_?~קweۧOϿدo߾=~b//L ݷOXX 4nnno?|Gcz~~ǷןGw-:õkb a_vP(@>4OF@2 ;K~Ju.M+iΎ3e dx lمfvVK@X1ªY?4;eRg#!yvV{-8GvVQU!4M%a5-`mYMk7w}IYd5O!)VVHpߒQ %֓ !jɲ)Kn Am%cRX 5W{?i@X[M Ru5!jZO#qpTEU彷Sǽ_󎎸ivJO9dTȭu_iKC2L:Ux8U3#6$eir/nf]+#"Gϲ)="vO9_.A-!bx U)s*U!n!bV}v);ΚTT);ךl);nGUt=ZMR"*y}$p>[r}`W<մ9RvB/7$ɸoSv$e'i);xryZ*-76$eE< VSȕQ'\0'i@[QjaVCR*Uң_¶ڮ@D;3+-#,r%T99m%̛VXue^*&,.BF$$Yl_8ɦP$bՕ-hGĩK^@pR k?*zA6W5Cn6#bխU.PG<_XIĪ[Z"w/jyX R_mȪ+i|`BDh9 B74-,>p[s\ "3Ī{UߝI$q t#НjxG[F"wnIvqviPѽ*EcĪ;4r 췄wc0 b{`lwuWsÉb?QN!* (^Nh5 겳l5HDJoF0r،B wK*E{=nF} 5S͈`6!ZlЗĪFuEgЂ؎̞!Xu?B_ UU6k:/东9-K"X:TӆΠDKį/IVW_"s0!+D>+{L@ua@|&ek }D欖=ҁ K foA2g" sm7߀`-ч%pNvgwvX'g@#f2SM! ->zEsK9e{*#J<@OKX]ē4؞\uJ=gJ=HFtLضV[";y;@Z^G,XuǮ =,8&67n$muZTn'`s/z. va1!##o3%xSa;(saQ@iT!<"sg}_‹WJWRsYOS{m;dDEݪJf5r[4A  @"2znsHHFȄwH,ǀU0]uIdC6.AԀ࡭ЋxX",ĕBd ,Jo* .o5&Fbեǘ^I ,sA5݃ӥ`ӽA̓A3]!n].~tȢm{b՝I@n7enëhXȽM z)p #dOҼ)EDpR_Q߃pC&Żn 5u0Dk]lc}d_ڻHFp b6ގ6d+K9o4uJnٜ6ldn):!oz$8ݱA8ǣo#VjDЩxvh UKK%`=xy#&h-⚷v:ɍ8".fĈf;#ù79dK|VQH~~#c !!@嗦1VY3oJ .D DVU=4OF@2 ;K~Ju.M+iΎ3e dx lمfvVK@X1ªY?4;eRg#!yvV{-8GvVQU!4M%a5-`mYMk7w}IYd5O!)VVHpߒQ %֓ !jɲ)Kn Am%cRX 5W{?i@X[M Ru5!jZO#qpTEU彷Sǽ_󎎸ivJO9dTȭu_iKC2L:Ux8U3#6$eir/nf]+#"Gϲ)="vO9_.A-!bx U)s*U!n!bV}v);ΚTT);ךl);nGUt=ZMR"*y}$p>[r}`W<մ9RvB/7$ɸoSv$e'i);xryZ*-76$eE< VSȕQ'\0'i@[QjaVCR*Uң_¶ڮ@D;3+-#,r%T99m%̛VXue^*&,.BF$$Yl_8ɦP$bՕ-hGĩK^@pR k?*zA6W5Cn6#bխU.PG<_XIĪ[Z"w/jyX R_mȪ+i|`BDh9 B74-,>p[s\ "3Ī{UߝI$q t#НjxG[F"wnIvqviPѽ*EcĪ;4r 췄wc0 b{`lwuWsÉb?QN!* (^Nh5 겳l5HDJoF0r،B wK*E{=nF} 5S͈`6!ZlЗĪFuEgЂ؎̞!Xu?B_ UU6k:/东9-K"X:TӆΠDKį/IVW_"s0!+D>+{L@ua@|&ek }D欖=ҁ K foA2g" sm7߀`-ч%pNvgwvX'g@#f2SM! ->zEsK9e{*#J<@OKX]ē4؞\uJ=gJ=HFtLضV[";y;@Z^G,XuǮ =,8&67n$muZTn'`s/z. va1!##o3%xSa;(saQ@iT!<"sg}_‹WJWRsYOS{m;dDEݪJf5r[4A  @"2znsHHFȄwH,ǀU0]uIdC6.AԀ࡭ЋxX",ĕBd ,Jo* .o5&Fbեǘ^I ,sA5݃ӥ`ӽA̓A3]!n].~tȢm{b՝I@n7enëhXȽM z)p #dOҼ)EDpR_Q߃pC&Żn 5u0Dk]lc}d_ڻHFp b6ގ6d+K9o4uJnٜ6ldn):!oz$8ݱA8ǣo#VjDЩxvh UKK%`=xy#&h-⚷v:ɍ8".fĈf;#ù79dK|VQH~~#c !!@嗦1VY3oJ .D DVU=>?_?_?qu}M'#_H~54\##6ꯇ>x"\]}{} }_"%_Jn& gR ~qh֥,&c&;F%d*%ga=UHf C;~DU)Cֲ )Ej V3DZ*$zab3KI8?umgJ ÎyКWU FD| \qdu<4%4Xi545-җMw, Uq&KB 9Kw͂8 Ddg'd5O ϩbe85횪lN>T^jIjcfa ]ͻFyNVl|bmy{%Z9)IbRQUH$ъ$%VLɨbaNvIIbB%*[CdQ=^ #aeID4٨9ֱM`^MkP" К!BkU\z2Z6$d3>2KBk"?%適&$chMA w]p$'֖ IFkڂEFBkF|$%e޶#)jM%k򢬐3՚U,SКܟGBk*CC"w_&%[鹖mUf:LDbؾ v9,d5mœ}d9$%;ss(Bd6f&5E+L?mb$>a2ӝ֔f&Zӌ^Dx9_OU..5e^oLP {L̡LJКvo{ )됙& ڕ|F"az|i"= Y0--%T+D?j/1PoY s@m& IL/y߉9v({8`(Å ¤Kb;!_c2v o A}ĿٖXuV_ TaȧE̡Yo,]Fdkl?}V:)IYVcdA[4&&ۛOz&W k]$S8bD0DbDL:U2lS:V1: QS~ͷ[sylzgfGY|%d=Um/4wbj$F.cb ;l/ KDיbؼr+@3"qmtM`)j(~ՙlOPKh 8,PK4golang.org/x/sys@v0.26.0/unix/zsysnum_linux_s390x.go|nܺbf8jf-QKBRJ=9M8%㕁"dտx{˾^ط/Ϸ^~}啽{x{x{]ynㇿn|陽_^}Ƿ﷿^|z-^ٗ?>ϯ߿?~yf^us'ϛW݋Oa_ʢ(h UAV4,e*v8m2W :Svl<@HʢhJ]i,y|k5S%8F"*-Ev-'aڒ$eZv m]K@Rkii6^qUvZv~bʚ&beBk')y6Yk/gnI6j~|v]m޵aw-js`R`@XN{ uyj8a%/׳] Eؙ23S;WdM Ӟ됲5}vV*)۰õh@9#O)%qR HnZnvgkӭh58~.Gngw%ROS[Zi~Z,_W}%DפO!ƛs Ia/o=w3v8LCv-uI#z!I6k2$eo%RvdUJUM6@95?Z{5ٽ0 Y-xD9r"j៮xn5 ȵUM0ӈH *Qju@uH] %uN+lRrhgZ uN vѭ _eHH^mx>Ea\s[k_bMvaĚ,B]~ fC *;27J)Ss(Ms0L( qYE Hڥ 0XA&K`v)~XT!(~f@-/g 0`7T1J쌟?Yd0( ˹ΐ ʚ=@0YÝD CrWINNHAy^>M&3ĚN|*M?UlF S)۠<tqK~Loʼy~@0'=j/tQ-9nȋPk~)z.ֺ9WFDyAy>"H=PEtf!x5o{\}O|0qWp_U]WCt[!dSCWr@%D&Y!4eq%>u{¬\& ؠDWryߋgFĕ?vB R6mxsRd@\I,~UlFM}V1fYEȢLOɭ8YO$׷Wt2IYщ7\? 1 eݵ~u۬뺔W}l(dzJ 1fY]vl݊RYnv+ κMB50"9uC1e1fYe@0˒MCuօOZKK44XPoBn1 |'JB(9L`g{DVi ]f!0 sgr j6d{ h)xDj1W񈊰 Wq'2RgPu 7tu+vo`mC0WaItRU'@0GFQ^\ $3dn(R(O:rKt] ⣓u ͍1([G9$\'vuB0ԧ\єJYOO*#TOO%e>&_>MYꘝ*Ӻ& v  !7yIPi ~Ğa3%l5T- sT%AHk@k'n2^Fd?I~ǧ޲'_oO˷oϟ/}{}zbJo}zr1ۛ/痯yonx'˟77__?}ՃUgRnćc/e (:@9 N@2 ,e *v؛FS^qUFS]ygg0iW4My I35C_,@ٞq&p%/EY\c )Kl%}$ j60Ĭ  X_˾"UxX0Dᄪ)KZ)K='Ǥl;wjQKuʅ*02ϟYAJKI-*v#7e=s I1~OA'x*E b燨3G0ՁMQ)ۙ5ւd{>kIhZלR)IXd'u=Ζ痒8Rٞxs$vwfudRcdߺ;eüoi厊z3č)3zJ2"mSBcSNRw tgfD̥Ț=hZm$b\uzVR%p.2;QlERv08c,=6 ;G%^5.Y" &@3%4#L|po0 $(2W@/MwbwtYĨ۩ɸ&1r$6Vxyurxеus5b0bI, nsHիn^R0/ F]ѣN"=q<~B$'-k^6'd&4P6+1ҽeljU|]gTK淴,#>hM6;벻K9XM3)PdV7Q 08 e:pxy(8@߼Q*u*XCVAD-/g`K%qa uj -]AؠY)]]@QW|(a4_>'2Qv:1!@Biּ M_"F]TivCkdo,U~on) ^9m* bY 'QtTyrG既FFCƛL9fFl (@{Z EK$Iٮ%2Q^V۶qSx"!E8@6,NPfDЈ<} V}/tauJ1s="@lyA;VX1=Lf!C@V7h?G#hs1&8^ Hbu)A;] )Q`0P\}d#3:ݖA^wcUblmyTSW}%F$q0jĀlD ݩ2 9V|5 (]߉cAY4d-FbP 5W~O0ռaX u%qg#%2Gz "6dq!q@ 5aF4`fE7PPG$PKMx>tvFyHID3Z %A~9F)Y:ѣ9 ?ќ+&ϟ>E?8 5߈ӧ~DI?>} qr]}">B]WGO⌓r'' 0/, θ|~;< M<{%7${~m9Y9 RƜe0_83WyA lt oNKϟ?48ӹki55-8<>lcsOlkQ?9 ?,}=7̊4h2v{0.mH}ҽ@(~y#m$CKoGR>^cŦ&Uz{J"q! RF@bb6Oz`+a"K7^QġaOl`VYW?fTY=C#(deZ5D5jH+{g >]Y,r04OzH# ^4q*۸?? Ka}խ>V]"AN epheHf#ŭ,T(䘿2^M@ZpslR͇; ttlhT] LjFm>uF͝2r56F݈ ytp"Kqœ6%ycr\ b 7>_\\ЋfE&өaq(CbeU>`?zZ a BJVxqasE\P7ǒ_68x9O̞K-E㤞@PxV~QE_~̵vh+k.5/X~A1@tch?.k:t;Sdϋ(O(Κ8OA̓C_!?ylHMyr )88L>BjOLC`^N@u5 %[zDH# ~8‡B+ k6qjA߁~R/; Eݖ_FyfBR%hnNul{R}\qp-ؔy~L}rbgYGYר se-xqgӸrl1.@F_'jOnw~媟D4{SIܠ /N8)x|.OnEsDk7 vK{'O~`Ofc"8 [ڎİ?-\) L e^2Q.':[ّo"Ki0~0{ GeaZ V H<*m+Uu eiKܢ8Gr@m2e.s*+esm dWx(&?8OBw4JMpDNsČL}mG0XѽvX[Q Jpz-C;N )F5Ig "tY-Lg>@=MrjjZ@TkuVK)0Ss%=J!h76D಍eth/ =ӱG45"ӡƄ3WhN}:]+ynWV `{&zz^Y-G}LgQ^&qZo1c= )},Ȗ#kՊyҵWj_G|؛.\18N #GF>"_64 Z-fÁa}Ca=/,-wd%4MePi|j&4Fc,I-d+rqy>$4+tWї+/zMNEآ<0,V`f#gXߴ* iB-ïٺ-7;-Ѳj8-;sz$isƕbnxE$t!۫!MҼr6EV҈-}8c2Ќ$Ґ 2m\ 1BČ4}֤fGI#?7Il.4x2E?{{)?. Y@#eQo6߭t!^tU,*JN&{"Zؙ/̷xaԯWl*|e`dX.L/6iO,uѪmLmvlrBKG-" J*f$px“+O8; S"#.T# g̦I6x-pjY.f{8H|G˲!ǣj`#w5)f͗h! 'tAӛXM<9*hs5\Goq_p_E<>ry<,%y;]rIƴ+r>p H\`@vqk3eq2,'M Smh߶Ħ4WƌGM9ލ=c%߽3WuahMZ5sMhh%И=|(}٠OMts{{Jw{m =Vt>C[|[qz^=8|e7zl+.H3\oR튒-w@x͌–_ޝ-_D~M D)𛙁ݙY/ɾPm02 qu]E`NӖ4J>Z6q]gd,ٴ1+\;d/w@G.wJg V+><oJWwH Ӵ$vٛ~[A@6+/y)Ah}NI"MaP{E@-^Stl4Yim@yxc~4 >xT/9EB> GY>Ʉ+h)_FVٓ K W8qoG84CoiU[_`m/'wwQցHJPU t 5i!T3mG`T*@9V ){-jT\/HHu3;_j|2O),7$^%xuV&MrwĊF~]J^42*Z#fʴם|Wq! ő8~ZDt2Qnp[>(~GKuq n.:Me)-r>պ['C^P^["W"}l+׃Xx[pMۊg$`9x<,}TQiy?9BtoЯJђln֯}rqcK62$1{K}?tI]9v&Q㘷b !~9'J(fsO*jٗ5fM_K2nyZۆR~hA1>!-ķftfNq hcnO~fF^08;-8nF=%M}N(dc 6ӭU6ҌtVh/ًs0Ӑf~U[YOD,^@/D&zVv:덧k"0O|Ȍl}V >xzMұz셨"< :{mdDxWmֻJp-yl丫f )ez@ \wr?%3M]Qc|$ܹ%ɌW e|5/8~d\byzUAGdFJZW:(/Eg,Ł^X)ho-IjeXzsWkc%qJw~B:|Yjǣ59\ԡCa0^Z:HTO@OaRm;V(C/4<]Ӽb i}<:yoI4`@i|A6KRϹj"M+2ĢQZĠvn'ǖȭt>|hI,+Fkk:VI*Fdr1XȎ0akwVKEGe%G6qWf~-o*I^) @-Y%N(Jj87,7Cm5f-%'KŎvۘ)U$rcZw83M竃4V9]Ͷ.6~QmM{\f\ez?L?1yS#gteBEX$VObDܷlNS6>4wa1! N&oBKs']Z?MRmRUTQ~Als`K$rKYvSR5k%&9`6xrɁTqH-o{/2 :_eh&8Ǡ-&5W\x7krEmr̅$$bTgMq -.pDwiA;q7af;ܾfoU`qOk);F8qQ-8d -:8'mZŅ&̥vXe*Y!eMC+jYrS aafʊ=,>Sw&9$ζ3v>zVj|U'ȷp2O͌:lw9 xgfb7='BX{OIgg8hfAeSL_G;Xfm-=5.(L$<0@ަPͿ,T#}(/-ŔyUXym:9ĮqmZOsZЁN8f%1HpdǕuܔXc6=H^#)&:i4'ebh/9x[D]6%T*5$IYe$ݱU('[΋\\{L>f?c^FO,;A_'`W? . 2O1凋 2CJ"4$O/o) 4O0JidXg<]"TIH4'b}PΏ(LJA1N>?9O7 ]BoOYqR$#&սorwpg1g/gM߄B,y6DdO/kCe[ϫ 34;/Iď9#IHϑc4[V|FAgӹmlnI,"w'Gǹ{@L*b+M2j6@Ҁt/"J$F_H{I[d@1jlS*=='T m H)SIݙD@ wz95> f0 09[(0qFHh0,ͫ2#meWqxv2V~ QiM& 5Y;j@zWV$ rL҈~ a6RvXs_ub`HаsxY,چ%,jFqc`4  9o$LV趭-2O&izts9卄fQh,ys@.#[TcNB38g5>8UפӤڷQ|ds{Ć 8@~ uq7"Ændmbe2޹=xs$"xbCK4Al&#b(b/Y`xlf{9]$gGY:fOHU&tbx\F"GٓGR&N in9lQu'\{o}D;UHwyjL ZϠkkDwXt#ݚ"{^DyGq~Jtn QchGjͣؖ3WH g} R8xbzsr2g篋{Wh/>Bp> W>\YgxX1kU D諥?z4h(t2*{4J0t-AFd _vguhg52O)W:z@>#[o5gԅ܁8@i\wmF _Ss: ȍ{?rre"zx? ͩd@Q@VYgj|jv 0 ȌӢ9 x ȓusOA?ѭWbovyَ-UmO}bX-2 Dq(\v-E7XZCrZrc 0DZ RPǡ5՗o@nQsê)B,.Ghnkn\ S:e/ͨ zk5]!Aoq^EClĖTS72ڠZ3^L(/1oW 5 B=@!m,c{io@虎%m5&zGsȖ]NsY'‚3#&oMK|^Z4,^Ox;s}y\MLdۊb3Kqˡ#Hg¯w'f:P6o|FzRצ^dxҳ\Bmxc:&9gړeӗ:Ufs}{c譼Qg 6l􂒊 $S?螂8 Hfpv ^ ܝ^|uV:!<Ӳvx4ܷ#4Џ~ H4ə`_Σ3+r@@[Qъ&W3uG 'U$\##瑇Σ[2\,ǀM"gYpdO~av-1S(/jjn0ٖm7JljOsx$yW̞]\߃=߻6V?CH[ѨքU]*?ׄFK_ ͻҗ D7AɁTz7m"NJ7-hw#N ,E8^8\O|6:ߒN&n'in==cyE@G{b)Yl:ee@c[-fZ4@c+mȫ!kKdSJ_O-Sre o v;6};⌅ǧQƂ- K?U 'M!}'qb*x^<,v@}u aF+[4rCY'\D?:l,/Bhɱq\u!r.xԒԙ5BDČhEY +,Zu&%o"z|+BUF4kZüSF:qЈnLS(o!bO5_rYڀ$rײ6r[&62BY30op~_@9/v榣Ȃi8dF6>i{/wZ|L`!e_hNd 08t,sr;׹$jp 慠'~oZ, BO#R9,֕K':0 q3C/V kDhҼZd#2}\8dIxҽkֿ>8xk b(u9C2#k4L7*#Si=_*@mje吆xC!MG'OB2iٚqS7-O4hG/묧J$)C,EKloPȯK zo籡vrlّJ{ƚTxlbS oI&3a6;gRt ZVa|giY1|rPZ`ӒT%;Ћc%D EiCGFqf,vn3DnLrg }|uPa݉2g%")2yջ;Kӌ?̗RO6'&=oj~r1-sZ+W iQ(Mҩyʆ= }sg)ma [h^i= *T;iڔ*oԗ V8ψxʌn bx&g#(X&m/^ǽs`_+19m;sL%`6_力Ejlyt#|OpէUf{ ;HiRC\|eʅx W&W\^L O/L5p ބ`WЂO&ya쨪Ky^Ї޾}^?'!*Sv)p[pJA'Zh'u6q"Nڴ$ƏKMK*.T#Bʒ.4WԲO7rR̔?{X}L5sIKg5|-RKU'ȷp2O͌:lw9 xgfb7=9 }T !礊3~3MSac3⠍)/M|3ўdo|ٚF&Tu ykSZ*ˑ>svJf猖bʼ*cXXKbo8QĊ6@xp'ۧ9jH'RsD$8JҺhnJ,u1GRr$/nд@2>oN2 2Iծ4TH#I>ˍ=.C^?C%".=zORfY?guQumx1Qi&kOE qt{54=-έWB"$nmOĹ6iY%PKfPK3golang.org/x/sys@v0.26.0/unix/zsysnum_netbsd_arm.go}w8 =rr: I:,'K&so$$L01>%T*5$IYe$ݱU('[΋\\{L>f?c^FO,;A_'`W? . 2O1凋 2CJ"4$O/o) 4O0Jid6_g4Y}"TIH2%B}PΏ(LJA1N>?9OV']BoOYqR$#orwpg)g/gM߄B,y6DdO/-'+C_Y˘W gf54*]5 qUCTZBMwV޵X-CӨ4H.r࿍ðW{nn5ا,40^V')aI:)Zd6Q(BB-$kk˦ӆ f筥`y$x\|Nhqy#|{j0: sK 7:Ȗ)|L7NYF54)-mF3_g4!(_cnt]܍Ȱ{~O.WBR&N in9lQu'\`WHvʹPLAD7֞3"LG3E$⬉3j<15JG-g"A#d>\!kq4d_X_}'t?(O`/#|X!>6kcתߝWK ?hPmeTh/(qZύ@TS>Qk9>#u eRut|FZ߬kϨ Se-xqgӸrl1.@F_'jOn~媟D=̩OnP@VYgj|rr '7ȌӢ9 x ȓusOA?ѭW'|ovyَ-UmO}bX FBWc8dˉN.D;Av[A@Z!L_.^QYVX)(Pzz'waU!p#x85wHM)s Ph2R`mepUfT̗wq䐠8/c"@q9t6oL'VZClؖTS72ڠZ3ZL(/1oW 5 D=@!m,c{io@虎%m5&zGsЖ]NsYƓ܂3#&oMKl^Z4,^Ox;s}YFbXmF8@$3`Gy;aqRcy}:%Scƥζ2@TSL<@b4 `9e}o.2U2^ ۆ_tolZWeOb0:'f:P6FWg7DOvoLx8g\t(Lds,ݵ'˺/au2]G֜yXap> wuc {dZw*Df=ðjRZe]FԱ iEU҄Z_u[ncDot`'ד%?$I3s&OӝWIp Igk)+-gxXDi%(?}=&i hI" y &)DMHӧjC:Llv4 4{F)XB'SӽH),}Hk{E؈8RfOJEgYiNʢ2ثd¿,/8@-|Mz5Mͦ—ZMMl̂aYGvm&'zKotM-,bF'H13 hB aG?ILL0Ƃhrv&3eU(t?*Z8j&ᄿy|mSFMiލ$*srS5{'{7J{gzi0Uњ'=kThK1{yWA4?9J-XdX mnqyAga豭 s;6K+J<:YyW3* [~Ozw<~W%0ofwgzgQ <oJWwH Ӵ$vٛ~[A@6+/y.A h}I,MaP{e@-^Stl4Ygim@yxc~4 >xT/9EB݅dB4 /#pglhhÕg<*zQ%P;Z׃:Xm[K=hu`1/FU!BMZ0<LX0/TQq}מּ]w50k"Ƹza~S9E͗\V 6ܵM @ [)Wj>l*}㾝(`Z-Nx>+$ش7LT4QK6_lo '^LLdtp0 $|l2y^sU#Lh-#7R&ȅCyώ*kRCfF<2GG pNK_H#Iw-)fhh:q'7a#CMԵj[Nfg^11Ny[! bw}D!oa6W}Ycƞ$AP$6IP I%mH,o6xB|kk,JgFa`m6 hm4#͡^_:󯎁fS4ӷI6 @[?0nc0FehS/HGlr fҌ3Oj+ AW\ %cR\_Dl:6nYgt1CaF]2#`崽Umv^Ӹtlo^5{!j=-6OBNEt7}F{}*UB*D\$s}^9j9/Bx,`םtLS`>cqX"#>(wsI2#%+OA2Eu`@{g^7Ѥy2 FdH,Ϋ5qȒ8{?!׬5yt@ך[Q.P7r0Yeo}Ggi/- n$U5SizؿThNo6! O4aCpNeҲ5 /nZl+hiд 's*Eڦ (G-A!,1džɱeG6r+~8kRˊښNU.hQ$\̄-V"LhR&|hY :ކ;u1Bf?3?YBiMKC·SP$B/ Ė,' 5kš֚ebTϖ`ۥbGm̔*1;mW&AaHmt'ʜfW@[?VP.M3T2_J=џ D [HO3tMk"H^}+E1XfdێzT6]HzR)v\;0O oSmBJ뉷PP•.MBK}) bL*G(v Fɉgr=2niB,q{;))C0cr`/Az7U,Rcۤ# x3?կ24cVAZL+S.<ś56Pd\xxq`3^&˸zLtWa2 Uuq^8ث0{en߃F*IHJ5b@fx 'bp BqA BM6-Izqi 8sVťtyDVHYrŐZFnvX*`gKT݀:f>ab]{Z30_jB -S3cv<;h&!؍afwVsR왦)ڰuq[ӗV&DhO27lM x  :켵)-To3 H9;I%psF{1e^V^۱kzM}c%k7(bEVD<8Vt)EIL"i%i]47%:|#)MHIhZ FoN2 2Iծ4TH#I>ˍ竁Yv^?C%".=zORfY?guQumx1Qi&kOE qt{54=-έWB"$nmOĹ6iY%PKTfPK5golang.org/x/sys@v0.26.0/unix/zsysnum_netbsd_arm64.go}w8 =rr: !dI 'K&so$$L01>%T*5$IYe$ݱU('[΋\\{L>f?c^FO,;A_'`W? . 2O1凋 2CJ"4$O/o) 4OdXg<]"TIH2'r|PΏ(LJA1N>?9O7 ]BoOYqR$#&սorwpgWplyyԫ/ Mx."jsNoHjv0t \ƜeʰX:sWyA3 lt oωK?49Fkig$9kZp||6="z~rD~[D2+/ &nø<4! H)D2;kaq@WX4-e/oHM65sHV t>ߝI 4r笗Sk^ Qc" ~?,kҼ)8&YFyg.ӚhĪi"PweE,׫4!(xҨKǹo0,e>U:!k[ ) ;'UIʢmXNʢ!m76 FPcF"hdx0nڲ)a>K,2'6DĦAn" ;}>"B/fIrqUch[qh )iXh]N(ƁqA-Ko4(ҽqj1=9 }-Eo⤞@PxVa͆QE_~̵vGJ_U΍tV~?`Ԡ  Ltpy5[M:ҭ)E'ygMTM܎)w+7P8* Jq+ exQS}AO57"x~ę涹ɵ 2eA_F -[ҌʠVj=Ve_6 2{JGܴJFYVi[9k(K[>YD[MeS@|Wwl8 'I&RR ν{?sCFyNlp'14Sy`6 vto0t|e܆ާPfo!= H'#ʈD] H:,ĖWK3D^&Nl9P@5z#s 5:ʔ9vN^p+k"xp2:F8 YRVc™w4>[lˮٕI4͟H~2,,8=3mMִkESB^Zj<=ݗTlT@x(68gj;|f(/zG S?_ z Odjvo4<60ZhЂjzÒ-FW/Ϩ__[чy/S%㵴m Hڦu[6,so6/ m#(6wl<_/z*{mE )=/67Ca"sfq=Yֽ1} Se6?7'__FYTϷAmZrk؞ 9ઞWGs֫A4EIuXtDK;%Țc?Eįm^tGߧ9DK1"WL}:m"GȑQπȪ-e֫hhXPX* |nt "mSh?p4DIF@6 xR /& s\h\d1 ݕe賞0-Ou"lQaOda@MCJ3s,oZQ4lݖ}-Ѳj8-ɧt}`*R"K,޹(;p( d)#6"EšҭFxkVEZ *e;)Kagv< n 0imS^oS塖mSelc4<ۦ!?jX֑F25] ulSK/( O"RL/h! 'tAӛXM<:ӹ*hmr5\Goq_p_E<>ry<,%y˅;]r Hڴ+rޝp H\`@vqk3ea:⬦M Smi޶Ħ4WڌGw9޵=kc%߽3=TuahMZ5sMhh%И=м+}٠Lts;{Jw,2{ybz78 3zth0nV\fK %K[o-F<-> [[R73ݻ5( óCC`d.*53tg-ih}mXiQ1cWv^t*\O49u#}0"y,&-j$ !Ll\%(Zȍ}26rP@JthTq#z8Q9RG7iݼ2B*;dGKs1Z&Mݣ-EȐ5}G%uVSٙWF=@SV1x D(f[n#{?e_֘g6I@T-ɤM=Hk_kK;Melk/&ߘ&z_ҙQX[k;5F,=%I zHsWc4:tV2LLQK3ұ3_[Cg/?4ʢxBx˲x}$^}bTK+蛭^gZf{-l=#f8l被OCfd쳜nkWM~&Ӓl$TI-gڗ]>T) RwZ& q׫w 4}RfnKfLI='GsK 2j^q"/w6qɸ ,4r)Z,u0)i]頼})p{=3bF&ͫYxN6"G:`u^C) f郳 rQ 3y*;v[KxiXp#R=>Dvz Q^ixy=҄xt$(ix7ub[DKfm}RϹz*M+2ĢQZĠvn'ǖȭGl1oI,+Fkk:UI*Fdr1XN0aks+EGe%{6qW,g 6-[ NUB8V [KP6ԬqToXoZkR}?[JMOl1SHƴ,qfl_Wi ѝ(s]]l,ښ"[C4͸Sq|)D.m)Hob"=F,27"I8{?:bo;Qt!Il7wa1! &oB.MBK}) bL*G(v Fɉgr=2niB,q;;))C0<;^fn8YƖIG=gn_}_eh&8Ǡ-&5W\x7krEmr̅$$TgMq -aGv8/xg}ێs=,~MX<P`G*'. .tpv\PyPg'MK`4RL<"+,bHsE-Knt#7a;,0LY񳇥g*nt~o^30tqƮ[Ç=]J-/Qu| !/f~#0wyvo`-vcأٝGߊN8=4A663.x+b87hyIƗitAa/ AU򜝷6jmn?g'd.hyx/̫k;xMϱu$vEh |}*t"1(@D#;$R^,s$%AI1M|9(룽mEu٘LQߢL-a-cz -D ^JCkAȏ:Ҟd;ꃺb=4KHʹo/AI_x~1T",rrMݣ$esVy]VW5,fy]rG7n^Co`M3ݓ8r>zqp}8h(a/BF;mDAo \7PK2KfPK4golang.org/x/sys@v0.26.0/unix/zsysnum_openbsd_386.go\s8Wi+Kvl!lۤ'OeŶܖL:s~K#t֝1w}BEyXZ$#g췫+^3pcgGW~D{Gꫫ{h}rS{q>'8tuF4()={C|OK1m s|FZ\dgO"ۮ qoC>}m޷܏)܌ZtwE4{pۭC˝,Wx^U/zs/9go>-uy1I-S߈4:@/H[AkuVnsFrG;{`qBSvYs$/PNW֨63߉1@>ԴJikҠ^\_] J>BVV_ܭG_;Tc5Ԅ.ᢄLkEI5Zm7-.>-R,r3Z)S"pV|<_U#QZ$~""5ecXorޙMj:O@CaHOQS˝8mK$2)ƊLgKݡ;Q[#!{"PB +355b6pAe+pt RZ;[XxR:aIixoG/FLJu_fà4Ӑ9wtLPO<0'bp^ekIkJQNf+5u%skj:c없5 .QIgZ4e [8zA|)*;^0^jiZh;b,>H),õ:]I&^VU<ܹIrVНQrۡ(T w1wx);R;dYog*/W2߉?@w~A]̖rBR9Q}=Wsm)E9-r (NJ:}Kx`MuÀd?3qjroDb Ԫt='$5Ȉ _$t5ufQ=zGzyإ{[RRni֖M*͂ /[=/ D>[jU{I/[;#r[i>OS%=~LC/'){\)TC 2S˵y{u|2ƛuu7(^ٲ(8mʙ[u4Rb33@)P:Q':- (|~闗+^+[ƯZdo0j>o|:$IS~~Jje3AhX]+ ЃBG@9JXZ{gK5Ψ`愿!\lERé#7v/G*RԧJ}Z.p }iZG0:m걵t`V6&Ԭ({k|~bzw@gknuKWHKA*ͺta6hO?gSr7&QyM̧)9WLj$(]N"XUA}16'GWQ+/4D^ O8rBՉ*b߄/w@ʪR鯺lzn6{ i1"PiBf:I7 j>7hR#@5s.vZO5jBqfSg㬭Jt&eX]gD{c1=3Ĵfline1?8f8OcL@}elUÎg(h?}~ q\>RwJBW̶5?kܫ VO7G!(+MW|׳FkR~ʕ"!yz!ч䧶]Pw-P"A-Gp{'( 9=jUJQ#H9 V$ikx&+ @rIHHK7V&NuQ3_*s{Ǎ;nT< q, q3:~[~<,׿vX& ln8g+2t8{f!ƁFss=1k8ٹZ{ZO{mj,3:lVa@;{>osz`Ń%Z8H 4dXen]6plɲpH, ^=zT!1/rjf^1~yw-ʟ9Jg0pBK?,h]t`{CxF{ok\"Gô:CqZNռe[{ң8P^x$aõҩ0pQ^VwvA0fngY0=\ڑ$Nm c!ф,c+Bm*( NW47Ys\n"UTuX8̯هW?ߧw/{q8!{4;)t<{lW[fH#ũHx P4[ GGTS}mڇV0 .V~lωm$ ^0ߚS#F7 8avDGY"3)/5~6 rvI}Uq 6|v%л;ޭ4V_}MﷷDmfV]`>bN&n{w6ՠ^Jl5( UlC_A^*./x$̮Yz Et3tOd*#v㢆ov!3[k*9M %<NmCV7݇]R˶5RR}[w{`$>]jG%&ޕ> PKzJvGPK6golang.org/x/sys@v0.26.0/unix/zsysnum_openbsd_amd64.go\s8Wi+Kvl!lۤ'OeŶܖL:s~K#t֝1w}BEyXZ$#g췫+^3pcgGW~D{Gꫫ{h}rS{q>'8tuF4()={C|OK1m s|FZ\dgO"ۮ q$FS/¨HwS4Y}A7ad23DRƱ 4O>MGyq֟35 P!tu) Ĩ-NI9ʏ^-GNV6WC.L3H,^ԯ1Fr`@R r]^'=s- 5'@K|Z[Km7pb.J4娓y|)c/b(@|h~LY=frk/ո;8.<ŇKn]u'm\dJz)֛{ <lIzhF,5~E p^v+x__3;a+?Ќ˚#yvʿ6?gFyNtPROX#} &-WXT n 8ڦhܡBP$#ܬ~&,wPw9%dZK/oO6vϭjtƽnv1ir`ko:M^ʌܿ=PeaLf!BKP2+aJ#xST#6@=(Ej c}P .N ՠPUV9@vRIBx%RLAH)ֶF gߵ:QHRhT¢}N¢3|^ul@P|tz Cq)vU#h5k(NfY#myP"3␉PP0CA >?;%i=Teu-f#^۫l JaӐmf^Ry*EBbF!ü+w)]5CT!27M#wZ(@H"|-"fy-)4O5{}zlWy C,~ⱃ G sHz젅 t^ǖ rZM×rԡsNL{wG8z1fR_4Ũ4 ]%9f},9*&@_KD5_SuwDm4[+[#U1c4ip@ uH<Ӣy/[ت!ֳB=#NaLVAߡDŽRKEU?0weQG HfB}O4YM۰zXS.XU.@FgM5w'^p$ {O١2A/$z;SyNt [% blP4?ωrGѥڬhK-iH0/}GvW!["3%|mjܷ%Q@XS{#bHVG9ٸ֟'@FXp )3ы?KԌ.CݒwSwHoRmlxيyIVH(&RrCUzrD`+M:*]oPۘЇ+1fE~WF[sj=[[=u_:TF2\|' Vio} 7F{9ږ Vl7r̋M9QG⸊%Zم x!zbx qsNT8U <SUU&~PV -JՍ`csk<IqZMN0IدQW@F㸖BY=T>3Wuwz9@.PR_3:gmU/54,ÕÊr84%: iq&U7gKk t@-IA1yB#4e}ؽ7(cv!z]Glܵ\Grk7'r9 ?k jAϱQ*TdODʁT>"'H{O_d6Yi@CHBG]ru)6q{:"TiS?nq#b>@ؾA-EeVg dyYS'gGua-܅rg6^p@fw?\p ̕ű3 473퉹]6к-zkScёcrMP y#u+-)qGn !c*sI3eGmwoMFgQX ѣ EyST5DsԽkQG9W:W ZgA뺅O{3{#^>]y6rҌ~-ߒO4 ψ Q<|NzS/K?/%5s{>[̚Ў<&Iu_oS_N6if&f[jk,UDi7wɚr3qΨsDzᡊ3yL c=t0|ǩf9sz"=tbFکp\`È~fyq#kxY4T2]b f__zXNSRh@" )B~O47`h :bU"{=:'*pRi I+{L!$PE- Nbt$a|S(;-ZtѳFΠGy ~$,oY;9qLc>*Slu/O>c'hT82[>ZznHB=]7K]̹wLē9nN& a^ 0BԽ:rՔ6,z7G,W֖[dTWǣvM r Lj^ w-ϗ>GzHPo %I?6E` \`xGɱzwUE'ʥhX(]4#YF)M&%V?0@C M3wlQ)79CG-=utBâEY]U*ox[V+mnSSOkBpt|:pT?#s=U@/(cga@X]ZL PKÉr؀dW:8TT.UsS?V.=Zmż$x(k T.RPwq }Cb"!a멋F]8SmF\5tqAhڄvFx2ʤh+E^is#ga~%>z\A>ͽ{S Y޻/I)g̦ٳe2;Fq/N7Fcy!^H?:ҞZk>̨kpadNl 9dT'w&Oi7avO) +%|^ 8AIyATT^{SMrPHа+Y6ޥnh4k~%n#6-4p"5iuk3뵑RZv_eGYOfƸ Ruy&qgvf |({"SK75l ~S ٲXSi)wj>V7Z]_Ж/~hݺ%I愈U; =6.Q4 '9/PK!1GPK4golang.org/x/sys@v0.26.0/unix/zsysnum_openbsd_arm.go\s8Wi+Kvl!lۤ'OeŶܖL:s~K#t֝1w}BEyXZ$#g췫+^3pcgGW~D{Gꫫ{h}rS{q>'8tuF4()={C|OK1m s|FZ\dgO"ۮ qMGyq֟35 P!tu) Ĩ-NI9ʏ^-GNV6WC.L3H,]ԯ1Fr`@R r]^'=s- 5'@K|Z[Km7pb.J4娓y|)c/b(@|h~LY=frk/ո;8.<ŇKn]u'm\dJz)֛{ <lIzhF,5~E p^v+x__3;a+?Ќ˚#yvʿ6?gFyNtPROX#} &-WXT n 8ڦhܡBP$#ܬ~&,wPw9%dZK/oO6vϭjtƽnv1ir`ko:M^ʌܿ=PeaLf!BKP2+aJ#xST#6@=(Ej c}P .N ՠPUV9@vRIBx%RLAH)ֶF gߵ:QHRhT¢}N¢3|^ul@P|tz Cq)vU#h5k(NfY#myP"3␉PP0CA >?;%i=Teu-f#^۫l JaӐmf^Ry*EBbF!ü+w)]5CT!27M#wZ(@H"|-"fy-)4O5{}zlWy C,~ⱃ G sHz젅 t^ǖ rZM×rԡsNL{wG8z1fR_4Ũ4 ]%9f},9*&@_KD5_SuwDm4[+[#U1c4ip@ uH<Ӣy/[ت!ֳB=#NaLVAߡDŽRKEU?0weQG HfB}O4YM۰zXS.XU.@FgM5w'^p$ {O١2A/$z;SyNt [% blP4?ωrGѥڬhK-iH0/}GvW!["3%|mjܷ%Q@XS{#bHVG9ٸ֟'@FXp )3ы?KԌ.CݒwSwHoRmlxيyIVH(&RrCUzrD`+M:*]oPۘЇ+1fE~WF[sj=[[=u_:TF2\|' Vio} 7F{9ږ Vl7r̋M9QG⸊%Zم x!zbx qsNT8U <SUU&~PV -JՍ`csk<IqZMN0IدQW@F㸖BY=T>3Wuwz9@.PR_3:gmU/54,ÕÊr84%: iq&U7gKk t@-IA1yB#4e}ؽ7(cv!z]Glܵ\Grk7'r9 ?k jAϱQ*TdODʁT>"'H{O_d6Yi@CHBG]ru)6q{:"TiS?nq#b>@ؾA-EeVg dyYS'gGua-܅rg6^p@fw?\p ̕ű3 473퉹]6к-zkScёcrMP y#u+-)qGn !c*sI3eGmwoMFgQX ѣ EyST5DsԽkQG9W:W ZgA뺅O{3{#^>]y6rҌ~-ߒO4 ψ Q<|NzS/K?/%5s{>[̚Ў<&Iu_oS_N6if&f[jk,UDi7wɚr3qΨsDzᡊ3yL c=t0|ǩf9sz"=tbFکp\`È~fyq#kxY4T2]b f__zXNSRh@" )B~O47`h :bU"{=:'*pRi I+{L!$PE- Nbt$a|S(;-ZtѳFΠGy ~$,oY;9qLc>*Slu/O>c'hT82[>ZznHB=]7K]̹wLē9nN& a^ 0BԽ:rՔ6,z7G,W֖[dTWǣvM r Lj^ w-ϗ>GzHPo %I?6E` \`xGɱzwUE'ʥhX(]4#YF)M&%V?0@C M3wlQ)79CG-=utBâEY]U*ox[V+mnSSOkBpt|:pT?#s=U@/(cga@X]ZL PKÉr؀dW:8TT.UsS?V.=Zmż$x(k T.RPwq }Cb"!a멋F]8SmF\5tqAhڄvFx2ʤh+E^is#ga~%>z\A>ͽ{S Y޻/I)g̦ٳe2;Fq/N7Fcy!^H?:ҞZk>̨kpadNl 9dT'w&Oi7avO) +%|^ 8AIyATT^{SMrPHа+Y6ޥnh4k~%n#6-4p"5iuk3뵑RZv_eGYOfƸ Ruy&qgvf |({"SK75l ~S ٲXSi)wj>V7Z]_Ж/~hݺ%I愈U; =6.Q4 '9/PK{sGPK6golang.org/x/sys@v0.26.0/unix/zsysnum_openbsd_arm64.go\[8~z!r+Kz $&0l4ؖ˒m,&:AQܠ,OP|`,!E{S͍wdox813/$#IͿ=4awgx(bcq}ACcg.>ڽ#ȣq&>rwhm FssF%Z,dOnnB.',롿 s)ub')4Þ0"[)"  O2qt'&Oe[ϩAb'$eG7?#6SL=H,^ԭ1Fb`]_R b]\'zX*f -#@=zto]hP+uZ~DnȮϟQL}.}jX g\sW.quԓry*rXo'TgӅ#<"ɡa7'5fQ ̓FPaSΪ.!RW޻*>/NŸsV|)'4aՎd9**45jx{d;!݅V@@N?/#t  _ak㖋[cQG*B3[rqB| Uu}m 4f˰{* {|{3}f #0Lq󹻋G7L{Yjb9HYV!)dr 6du{u4T\d|j>OLb-g/<'Չ!c+1ʍVGۦrփ #klˑSlkk2' }1 %ZK,j,<ϋЀp+ؚex>h\0X Kzq%_NxD|[Og0Z+G9.'ᔃ}$n52xDWZ/sNH+ƙYjqDeN g s1?##v̶(v3B? &m'ܤ 5 MSP!lı_CeV"|{Ow>DZC.G|3JUBFeoj>>A֎~v2 iANCb" cˁ~vJRTg뉺U3CM_^/ә.ȅiF]UqI)u Fh" Dܥ034 =ȟ4{ZHt@cPxp: rq# j$LO[^7ն~}֛;oO'r8@C`Hfԋ]v7!\8.;hnl9.NӸ,0hHt_R.4-sLїe-FŤ,/$!ؑ1[gha.LLM#E JQk[~_.Usy 7;Jє#_*BM}_Bw?QH&'îZ> j ֟E[:wͥW[nNiMjS RE2r)K24|ZG|ygrv}tL¾ӷq^m2^ȝH֭o#wPfAL' _dM3ػa/z@2pqsk9 ^QPB91 |:FIw+T0 `(tftj2G` j@b18+kt$K]5%Nژf#5u%3kJ=:#5QIguö*~b-4PF蓕w$aҤxQGw3DY=Ԓ +:tY+uP<ݴxs**@ҩXQ.X:LlnCA]H{W92UC冝vr%}t5AP7rT}Bmw7$>üP*^iBC>48ug )dw).bg<ΝG|5\>jƱD ?^$ۑV G7HQ=:̵k@~.FeHm\lĒySH(BKH?@Y9H"|XĐm{[ы7ʘJzPxzʘ^OĿnXS hF v3L,g-5A=@q=#g1ڬ:H=G(~vÖ:i ,̲V'(PaD1Zױ:pKFK`Ib_L"Sd)|bnuQ}yLݨ#\N"\N8J̊_V?Zf\ulZ=r/id]OZ3R覆% k)Dk>[h;B4vIE)֟zT)ѣ!4I*:>O)<NB 8Z]jm_>PG֡RB[6rh"c6#dm9&ay%Wuˣ 9jWTnj$`O?NJFc0IثQ~Џ@JY5D>SWU6bVzTG6_={e/6$,%bdڳ49:;hѾ(ŋm yr$ 9,&0M?al?GQ [!yZ3 X2UJ/qOEcNM0yl = F!XjmB蔭X/IAb* uWJ䮈'.dI5]&cF -m=0nrg =OsBoj,Ca*'gXU*LF"@*dh@o5y</5! #krMV㮄3_*s[3Tܯ5lQeۘ΃tqSlZ;ںwznmr?XU<#9S"a dq]iƓ[ivϔXfO,A]Àt~)w=dHKo0v1헡:[HIر"7T۲vw^QO*$dwf^NBb[} 鏴$2׈} -UY5VIڰ.~.[Qok6lh?W6Fo0*[Lj< q=Q}rޣIp(FGxbyt` \ԛVEu)]YiұM:`zґE$.Rje^fhBjxVa RSK|+v\)UDuf[8<>qc&;0]C8o{xý,tQf@x'˛NPk6xNg!W[mP6Y2YJ?0V+Ӡ/ׁXr/m*@rOM`S%"9RSM0NH |e";C;!WKp\J q){nO $ 1 !Кa8Uq>FY-~Y:FޠyGy R,i39i7WuxV_l)ėl!HG%ϯ..PwnHL=uŤ.Aܹ*㇒YɨOmr6'Y@0;@_1.u\5gͲ?έUQJR|ʋ+I&^{}#ѕ"(BCl~'÷ޙ&i0c}Ĺe tiҪb4U&M?7,{t݋lBԔP  ҡM^ɦ6kV)1CKM=pBäIYǝ֯*W<gZ_a$ .{`\?#q]\T@/(cenãaـ[xd.R &%iqXi6`8j1 _9⓪6FjnMÅKz+&]:0ڊyWA`9QI x' b?́DBVS>mz\tqAhڄOh:f ᲝV֝*5g!{vJua|%{/7?'"/;r8!+4[ >vd4}֎6̎'GS0vAv I@ЏZT~7 #TͿ2Km?k wVG{덧4]'`X]ޯY&IoWzZ*EQ&ؿPK͎LGPK7golang.org/x/sys@v0.26.0/unix/zsysnum_openbsd_mips64.go\Ys:~ ڽ#ȣq&>rwhm FssF%Z,dOnnB.'bPٹOR;!FyBoІa27MqIǮh|aS?y4a]}/ZNT6B:RV[+p@[/ZNR|+4;\ ֨[5bE E?Z%~-]↦Є]W3LhUi4]k:p>.wCQ %2^,Gh7̿°-[cPG*B3[rrB Uu}m 4f˰{* {|z3}f #0Lq󹻋G7LS{Yjb9HV!)Agrj6d9u{u4T\d|j>OLb-g<'Չ!m+1ʍViGۦlrփ %klˑ)&Cڵ5|шzǘBb bH~hf8l2|DA~^k gzd4Hv,‰Ƅ%yF8ͯ}-/D8o Ck(+Յ\h7L1;G=(%vfY!mx=(~.Xtd@r9pvIju?QW1yTx:S:h@J37N#)#aMBDa^`EvAV?VFPXD/SLƒ`Lh ]Ox…$a">{2Wf{MSoμ=|`? !aQ/vAvwOĴ sᓺyd8u<7kiFfbt0zց>0|sBe ;kL&z=AgP#^nV !tf4O ܐ Bbx ԝ,|Xl&U=M[0K*کù툯ƢK-98֟HY9~w;*TF5[vmO]Ҭi6.6 bI<)$mtŶv$a>D>l̇RҽGyseL%=(<^DCeL9ƔBB] pn 2YKMGP\OȄa6RʮbeO\qZ,= h&E/Q'qvt<\蛥G#F%fIzL"DSn)|nu=Q}yL#\N"\v8/Wj-0G˸#iz꼖PiFhFmȴ ƚ(,e/ϖ<Hp|"BJO=dևBqѐW$Y V V,eB8.`6/_LKxakteuԥniP)Iq!OyYu1FP;dm9&ay%Wuˣ 9jWTnj$`O?\gH ,ÌFGd #r(-אqiAϰLzTX{Y R!@AS՜=}x H x]kTw>8X/Nuij9+e STxϫAY& _"-.{]+cGu`]BSݙEX 8Y|o0g ?!vph[ewp,|F32=MnmfWZq4Zf3%y?6KgPE3 r]7SRmŅ%[mP-`$`Xn #7٩6e'mu) Mt=ۢZ{gTf c0xljzb88Igu`dgy⹼zЉpj5: L!jE';xXB4U2U7NN 3ooz:# f 4 q:UD/2HuQ YA;?_h'Z1sb~u[TJ ǥ0bBY .eb*bAO:Kg=|t29OAꏘ=m&g?NeČc8.Tz1D]D>U2#œ։-I8/QLl;@ePM\US۶I61s.q7[ ѯo@SfٟDJ` 0te(%)> apbMM]H8҇J/  !!?6F?v[s օIR;+0ӥIڋ0Q] -{t݋dqBxR 7̌.ЦgAHUuaejE=CK[zvBÈ Zǝ֯*W<gi2|l&%iq΁X)`8j1Y_9NUZ@7Ԧr.BI^V#6ڊ~W jo'&q4# %k [u]YԚ*hȓwZxwݝf>3|Yulf W&=rQ>_E9_(J( {gO'鋵v$Hw>9_҂I ǀ~TҞXk=]ڊI+3ls@ zWoSVuytK#_<+4r:% 0ᶱIO(cFm-tԙ~J%C{cзtY77((;KsHў;7LSfޑ{̻߰a怳Dܠ!1 q3cc8v;zG c9?-FSO77!.'Ի롿s)ub'OMGW~?6B:R#ζ;W$(;_9^jp%`Abڠn51ov}I1yvypʟ$wk̯c&̷p|-CZhӽk{|Uy{7Cku!F?F1SgK["ʪ9&c-rZBq3_}QO vId<=ʗbSM:$oa[..joE!p˯ ΀oM 1T5И.᪀L*EIF5\nx0.4r{0NSx4<#mO?d嬦#eY/%ې!})Pq]rd<1ζd( W'ж W+7KhZedunbsYJ2t3+<߮j<-GO֮ܞ(F;,j-pg>/F:C6É`k# br^Sx<3 qE´cN4&,3ơ~-?G8Em=ph夺ОS&1ȸM]^-k̭;!gbdq-:)H^2PB1Vw 1 Ux6 Q^p6XG.4MAHJo~] RY3fv?݅B k<+U ugdY;Ɍ6+-9S [ЃR.)I=P'V* 5}zOg  HtUfi$Y$D4_hOaghz?iP ( ~gt2:DFBkH1P㧟ȽnxMmD7wޞNVp>ˁ0ͨ obCp$]v܄r2]q Yaѐ辤]h:N[癒/ZIY^, '>IB#c(TY$):]PG )&nm\row)WG,U\#=K:W><{9\[GM.O]|V}Zm0߱w4^aoYw895M%HJKP˥,/i}o#>P5]'0 L]z<;gz!wF@ /["A J3ў4>3|6`&~O/>ulM,Ǚέx4x-FA 1$4tċ'% F-#T0 `(tftj2G` j@b18+kt$K]5%Nژf#5u%3kJ=:#5QIguö*~b-4PF蓕w$aҤxQGw3DY=Ԓ +:tY+uP<ݴxs**@ҩXQ.X:LlnCA]H{W92UC冝vr%}t5AP7rT}Bmw7$>üP*^iBC>48ug )dw).bg<ΝG|5\>jƱ~0\W9Ix#Bn]ztka&<].fMڸ$[/0%LPӅ~rؑćE !gJIoϕ1x1$ݰЌ@s[gXZj>zzZG&4ͯ.cYuz.Pv<-u`1X,eNPF7,85}b>7ൔcuB(ž)E^5eRb?:OzvQGD>q¯/1R~&͸Vkٴ>z4^& M.Sg20O3B3UoK.@R4Da){9|T#wirˋR)?R. ŁGC^iTt|ΟzS2yd-Z>6Xq 5<02>|1-}VӕQC$Ņȷ?mfE:HP]Cm4Gr6EM >믪lfKOŬm oD={:7*_LmHYK~gixrtwP;3}Q7K@,IAr0YL#4a~~0c\Cf>AgEe*_➒^[ыΝ`}zBڄ=5)[^4 ml]ꮔ$]R}OT_O7]~jLz7p1[{`l{29 >]+0u%b9YX/ z^UN>Aϰ,'"TdяEȁT."p'5O{Ojx:^jC@GB/9:^Z8խ] gpUjTOgT3'Ϲ_1(kآ] ʶ1n6v->2vTOu)49܀<ŗ y,G5s471Eis{m"6 'ʧ)(Y:'Sz*Rjabl/CubcEnx]ée't- M5o$l٫=XTHͼ=Ū$QAӟiI.e -/Zzk a]]*`lN~05XlaU5y.zc9oYG k Q(:/80J) 77Rs'.&Ӥc=Χu3#H\6 "0!ф4c#\*(:LmW43Y< S̶,qx,}Lv4ap8T{Y '̀,O<7U' lLBگ! lZeA@.:%!Ia&V:M/A_s+4!8_,T< Γ_:MJDsZ1xaZDDv:vC̯}JḔ R ܞ@H 1  cB{5Mp$f!|U0=-ZY:FޠyGy R,i39i7WuxV_l)ėl!HG%ϯ..PwnHL=uŤ.Aܹ*㧒YɨOmr6'Y@0;@߻1.u\5gͲ?έUQJR|ʋ+I&^{}#멠ѕ"(FCn~'÷ޙ&i0c}Ĺe tiҪb4U&M?7,{t݋lBԔP  ҡM^ɦ6kV)1CKM=pBäIYǝ֯*W<gZ_a$ .{`\?#q]\T@/(cenãaـ[xd.R &%iqXi6`8j1 _9⓪6FjnMÅKz+&]:0ڊyWA`9QI x' b?́DBVS>mz\tqAhڄOh:f ᲝV֝*5g!{vJua|%{/7?'"/;r8!+4[ >vd4}֎6̎'GS0vAv I@ЏZT~7 #TͿ2Km?kO wVG{덧4]'`X]ޯY&IoWzZ*EQ&ؿ~PK aGPK8golang.org/x/sys@v0.26.0/unix/zsysnum_openbsd_riscv64.go\[8~z!r+Kz $&0l4ؖ˒m,&:AQܠ,OP|`,!E{S͍wdox813/$#IͿ=4awgx(bcq}ACcg.>ڽ#ȣq&>rwhm FssF%Z,dOnnB.'2¼]oݧOb tΖ6;EUsM,Z8wDžg4}pۭd=@˓,Vx{/z37>o >.tyI ?!7 _d4* 3:=uVv bU9%~q-]M9 v$˙VW9tQc$0߱G.ryi{``|H߰ ^#\_] ?BV_ܝGߚ-' ckk1=]UT܋ۓ3k,`]='h7`bh/xF۞~RYMGʲ:_ 1O&3KP!C%S %UT#Gyb5m9}P9N m[AnWnlд>6 ȕ -$dgWy]#Exg[ğb3][×=QwY()Z*fP+f}^tl_,G弦xfAF㊄i"hLXg;C-1Z~pŋ'z:Z9Iu=q=cM&qcqś'Zz1[% (vBZ1R&Z.suR>+dȅcEcll04h<&m௱G]h `#".g t !Rw9j;yV>6*{SQvmVH[^r2(3\Sz:3]_OԭUj:4z9uA.L3̍H O_X0RD `W|%.១iA<A݃2DSƒ`Lh| ]OV#a@~""5ey{:Y~.C4^첃m‘tAsftq-dyyDCbwwy8]o!gJ,k1.&dy,$ >SeE t9tfdjB=)jPr'̦Zܺr[ȽQZ̎\|Vre/m\ =rm F l6<vsYMd PS/a ch..gr0prLkRJ*RwKY*_$MZ?;>G|&3k6O$` <(jyvXB@"^n%E |c2 g=ip}tg"{mMKou^3p}tؐX3[hZ2bIiG7B-^OJ&_C4S9stTP[JÜY]o%Y"蚯)GmuƄM4+YCU1aP_ HR?Ӽ~߯UCk2zG@,C-o&!ㅔ&ŋ:~((a(&R졖d\ѡb>XӅIeƳPQZN}to$ҌrPoeZgs zGE޻ m* x.7쬵3+X{ Π GpܬjC+h!慚/\VJr;YL &UMqyg8p8 QO7'RNpr_$ݎ UP=G"t!`](v1*@5Ehl` d3BBfOZBaG1"]o+%z^>WT҃E;TJ~P'uÚRHV@3Z mAfb9k i4?fAjXt+d1!I,g).&g#՞-'щYDČF9,^,-n̓#&g1aЄicЏ?"br AtӚAz|H!zTd~A{J>xm F/;wJncMQ0 RkzDlz(M WIRL$wE|H=Q}=D`t'M)^20gŴnik쁱^w;Cgq|gt}Pda4 {U9?òPa7G?!R!@<=}x v x]knTw%US?mQ͠b>>~Ša w5(tee7Q=ֽvsl_nY'0"VP|q̙ȗh@ c J+0܂&gO+{2xf "[N&GVޒGO%׿F4PhʂVO*H҆utي|]a;E׸bE1zaW:dVi\яeZM3-G1::Hˣ_+.`ܴ*KRʞ0Ol:cϐ,"qوW/P+4GRӌs SXT0]d0vN"3۲t3ф:Q~Sf1:0³<\Tt"Z.s?3uijsj/^)UFć''Z7}̭җӄ|inP8O~o4*izhnvjEG@Nж-91:-G^*%RjH1s{!,lYq4 Ñ7T]hӿY_4:;tS#f!OOsS3bL} %3|ulS +p~A>yQ Y^/J( ggO'鋵v$Hav>9_oI~ҞXk]QmŦzoYjo}9^[  p+:S@^o<}/]ޯ=P~Z`( q]RmBPqbTjšAwaU(]]nh4[rM7MϚZHr8jڕuuHRz [㥶q8 r.& Ϝz%|'"*u?w*1DTMc.:ܔ)ʍlQnd4~ Z,/)eMkl*,:p0I|xc՚EW)ߕ6 PKݗNGPK2golang.org/x/sys@v0.26.0/unix/zsysnum_zos_s390x.goMʑ _3*{'"nnCy&4UJ]VRe[U6ÃwJ ~@`_ۏoۿ n?/__oˏ?ocS֗/~?_/?oӏ?ǿ_??y8W?#Ba0m $!uBJBRB.CݚȑlB*BrBQڊԄJҬHtMnBr"ၐq6<< (HD~[' o/Cm" !xi< Bz%z&^b<=!xͨ*KoHe"OT^.^bbaEH/9d!x;W!!x/ 8^8+!xAY5+B+"nnي f|&I@1  @Hbf\ҿN$$V(/çW$VBHbᰍK0 `~+Euǹ2~afL!Ъ#SOũ*{e]Lf1G0Ԡ𼱮 8= @!80.2 9=Yʄ`ƍ[ A?A+m2O;oOxƼmtRȠ0{`2ۆ- aи@?l*~94n1[^ɡ;,Jyxy~=n a^-1qZ. a^MG~A\X[ as=ą 9&⽚z Z]:UO$qp^+Mq+[LЈ~I\<ԕ~J4ޕ)f6oXn4)qpi.f\[梮WarG: cu 0 ' f[7sl ci~؉\~Ϡ1+$n.͋_8j?heĉOā5O*qp=~iev/ej)T,s)TVJ_<^mvDXiFB~ 1.gera* jA!pt3cs1{ \o:W?Aew̦C{L7i$9,Lp8mDL@L&~ mBĐ3FZ m^(, Ad?^/sϣi;v.~aM zaCL0FB8#сMO(bĿw?($fӏߚA>7 hij.}OB{tw6Ɉ$ZLNL1ͯƘ{hc *:DGbxOx/te!m{ c^4{!&&^(Đ朽7CЕ1CuzoǤ9 |$!^Ð~x/O nKLgZ$-rДhKA= "⍿q~C{ 3I삄\NV\'ow\gkh[ͥOb(vxb(vm}Ќc- N>14Yb(v-//sf U{SD ͽi܃пO i[3~S1z!-lII mVAZXfV#1SVUc' ΥbbEMצMPni 3X (Tu(FdePwIQwVAVQwIKC1pXbT|5m (c򓈡ojljbrQOfXs9ל\(Ji vSU8Q^wI?Tgc=I?0"'~ʘc#pʘc#~Ik61h&m!>F۝u {lo Q / bH?NbO՛k" WGbBb\ûL5lNX$$]LJL*̨Pdd;pXQ#Y/ #fOueύӞ#1F{8&FA4H\nIF )I?ān`H?}tC<Đ~)sg#_,(I?S~{)fCkAI;sUI7H%釿/?γ0޾uUI7oe`H?{0] ùƫ s^󕤟uA9~?Xv~Sӯ~XI?,bH?PJĐ~?/oIn<~"'|7I?9L`^Þ^ΑÞ{$0u;. 18Đ~b)PŐ~8xN:H?{ͫj!x3VĐ~m_F-Ca?+_bH?'ȿjϖQAMr#Nh"~Q>#~by1\wĐ~ry/cYymlbH?'2v"~"3;YFĐ~O|bf;Ca?YLsY?5O 'cH?'^nXIÐ~O|>Ca?:;}̏46gH?KTe_mC)^:7e>//#bH?Ea봤%Oy!Soa|1ڮIfK1 1sJ7pٙɈyY$&'5f$ %H>$%o}-9Mյ]Tļo"8|bV$K\nsk'i |sၘLkL D>Ä;̎I"{0bH?A F '[z%bH?K ~31NyCB2s﬘!-.- Bc )8 _L#<ӯ9$B=N=2{78--bH a}>xԱHB3H i!ڙw$m{(6籑-oZN{{,!' .3C/YR\"דYSR\gU^ɥ֩=^MJf(v5V^G.aƗ<82٘xo97zC_JL ^3|$rJyeں9FnkH9I.1kBZdI cz䲧g܅1nt_˜?mvr4l4 ?RO;2IymxF#Sie1Re`& xN1nkϔr6CʙK^Gױγ23Sfbz:tBwOO lLL e:i[`b9Y}#BK^GiɈ 6f:ϗn/BlsJC\޸oqߎls=rS^LDM&&ۘ7~;E0 inۣxP`mwWE9Gy̐b]y!m 4zz7\殘 i(~!{nyaHsG;Đ~=Ln~=ʏa eH?ewobH?e8ޮ^_9٣TS*!8{c.!$Wm )0Md7H.x.jMqH9Ӭ H.xJ#(/Q^07zwH9ɐrSޣzutĐ~ҭoMbH?~t (oІn{z*(O*91TrW\ÐrL ҅ '۾? mF9i}ӇmF9i)k9Ԝr,f!,LO!4bH?frmK0Cr~BL*_bB GO!7k1yd MSĐ~r!Ui )0qmTɐ~;˾s<Ő~Q\Οz.NH9iDQ._Z 1ޣYmK (r}eLyvvd{j[!Oͨ!l5}fO{]_7fBSõDLCVx1-1ƨI+C9QRN qkٝ1!16hm-z4̶DLB ÷AĬGd >(0=s qp~:%1V7ƼGb8~xr~kl`*/!l5)0=ʱ f\p}㼂rm_Bx_sZ;!0桹TVrЩ})OPn=͍Tb(Fͻҵh[`7(pCyvY$5`v ).oaP:{D!b4o3<, b4L!eQ2 D ({v; 2_&<=YQ]ƞ-x.o1Ӽɐ~C FC~ccE =yx!gWYR]ƞ9s%<=d{v7#ҏͿoʳ˒}+!g6{ҏ- {vF =;bGbH?-|!ÞhMG!g031V'41_ޏnbH?[/EM!9^lהg7z__x(.cϮU1CaXNiXĐ~سѬE(.$ٷ!i9͍+,sګq) }9o1[ }k9^9bG݂Ca_^ٮC }c-n~878̃'^y(^ԌuH?2WYN`C {OX0J{{vO:(xb{@yy>11(zbu}m`H?g2 CR=rsdz6ҏ٭11ACόʿcE zPus&GOoX`ƽ&8yv M^!Þ]7lCane};|~ewmyv s)6|@ksVoCIYG =;b<1.Y̐~س;wˤc1Ʀ^ٳ`H?-L;76!l6g5Xn51LAo'!-lg 6}="+ȷy/P]A=R]A:90שo[JqJN=שAsHJq}Z#⚽"V.hR\F̵}Cq^kݏs^Z1 K5ĐZƐK릾49g/f4^! rɇڝ5}mkjRym#>pmzCzt2&/Đ~盖O@c0\ztLGL5)6jψ!=>#I|->"I%mNC|g#0}>CĐ~[#)n'1b{_J[Q}I.*ݎ #g$ Y^|Zyf$/vB39;Đ~LA젪 }C-xѱsZK[]&%{c_*Ɉ`R_h/nb bdU}qS -^9>߲ k⠻GE(q"|9]ԇK!"B-H$r@՝ƌiKW[ EH@On ֢=%[D퀠$r F@OI@捀āBO<*'zJ7-"n6=%"j6?zJUT餬zJeT_[Ĺkm97{'6Z_'zJ7szrJNE$gKH߾q=v3<]AO,0u< ta/GSAON[5sK#) zʟF=6˫ AOl4(|s825]W  g;^L pvۺoD7"ضۺFp J>2i Jq2dn&ceIFW8߸9؅Qbn~>xSu(Bڨop-'Am+P (xďˇ\v(OKz{ArIc(<:WW} :oKBqWᦡ\c+EC~dA<\Ю}J(M|Fq0JS46W9A#I~~S0Jeߡ)s4h"\9QIq'HݓSz 49}%!Uu%!^/0\o/i7\-d N'=4.(Tk]/ Iis9?Y%gw =kOJԾ ݻg/S dC3Aev'}h!ߵ|M&(?Crdt ;Z,!{ 3PM+J!v߆ʞx@\ P(|څˊP Q(_.6A4GIMP ZPBy P WzkW?ʶ]};;Հiyxr jmr9^q ´l/ii5u'} [a0/e 5!{*7a zBNfp<*? L,v0GȮP{.B+BkIA+K$B$JAO[r:5$-.CD,AГT*]vIh- *GkVCO[+ ^J|Zʴ"$#D+AQ@YD(=TKu#"2^5D[úDG[#4Okxa8sy 8ufX9Ae+5aEZh"d[C D(u Pl}&[D|AObkm$$oAO_o@SEY}AOu6.ASjm}GE$uWozo}k'Ӗ'\SFږ_ =7*=zJ wxJ xXe_D=eNcjNj%zɽJ!ʥMm G\.Z Ar9>(j6JS"3gGd B^χ@rafׅ$Q.9}h;u!AUIe7xQY duIx@r|8Arv| oGR!] a.vr'Axktu(ǦoMAO63mɽO$zz=з]%#Αf 33Gzh@F@ߎO#zz=e6zz=O FC5+܁A ݈~fA)m.O'()FP(V *%dy!:z}#̅nj*O6y!T8DzCr~SHG{tIP(ځvcbUR(فW7"ͧRC^Xq-}#A^X1{=NDT=wBw[#A^X䦊WQJ9zLjw( % ~YDQ{ ~>~*k7'')qU*WFäEP K -P}&zC^7]EP uw~S(z-[!7@ͯy,]i1Z ~.xTW?A.A,^إr6(Ԍ7~kq{Q"fXS3+:Zm9:! [ 3A5ȁ"hj됵 aڸ{X}w!E mO?Aqj5WvAuq}%abIYTZn֢e)+Fgщ+AO\=vjGuI=@td$ k|6:G$'hiBgMܭd5ٱ-x>@Va/f?|.AOι,ѩ i=, ,u$3-M}lArv_ +K5NW,t!L N^`+omx@{ G2T 6h]G vvG5u vv/j{+dKR@\r)B@|i#(޻@1y?"b0)oS"AC9p  +bYf_;[=+D>VSZBzSmJ;vaJJ=qAOa聦=z _=n;]Ilv=/^ z _"b=ɷ{MU9֞2IGS_ˑKBODCSfJrq+r@S_i?^nF@Oت\ )?uG )ډr,bR%KD4m^=IP9? Iܜg2=IPtgJГd-u%Ia2R%T bO-,<*"z,~$ǚAГ8+AГ46ƕ'Z!JГ8kNq%I2=9maO-I~%AO $~*'@ГdeaZ #Q"z?TE$~D>('#JA=IКZ!=Nd>'I~$·&4cz,p=) ȺԒ)?'%s^dn^'w7AOrԙŞZ==${ =IYW$H}$H=I=9Fj8AГ-u#))ݺG.d\ -8i|dLk!߄-hMz߄'7Z~߂'i ugAOo.Mz_^&=m0/ lس4TlLĞ4!ikB<-){SadM?Hٳ\n&S A/O J%dE9R̙7^(۠7^ƕ @q%S;OF zJ R]^&T#e{-D J ʬO{Xf}=gBUHĞ%}[Ğ%}[Ğ^3qYĞ%}[Ğ%}[Ğ%}[Ğ%}[Ğ3',5 AOYAi $HW<.i =IcRAOR8UM$u|(qA'z6Y|=9eqlxwJxkށ[i =gYZJCS8g'AOY>AOn8{ij|9%zCГQ|}AON?h''[kr#Т-\RAON zr(x߽AOa(2ϏsٟÃFr"z ϾkV=[ > IZ1]Yu=7z<˪O$3iѶI#0 [3iѶ64֕Y:TWhgIAONۥJa0sZ5i ICijuߤ_ Ox }{#',yK X?eY6aS?eYn{](GS&l[o:sĶmS晍PgY}\ES&gyAO(=@Svxg ijl;TAГxN;8-ijrGUR&Nb!Iހ$~"Q.NWB D8]B2+*)'W߄2I@rI|Jxk85 HCriNYQ8Vci쟎F$*"'} BytpK=|p+ETB;SyГ8_ z'FIl/e:3,j q zBPqp ejoDhᵀ"zB8)@[DKPȉE>w5amCb@[D~A J33 ЗߠP &e*t|7\NM#@AГ88~=gyK{*ij\ DP!z\ YW=gyW#'܆쭢=g0AOY^o4 ijlB'Ҽ$e I<˖:2$eГxbY%P+TDg9U]ijm-- CP!e;z܈A*ij,4מ 驎nAO_q3 )*^I 驎o|r@SuaZAOq.%AS #2 Ou˻F)P+T7:j8}iBx[r # AOc=g9ij Bx7{x*ijZcBxY/P+T$tQAOY.s^VReAOYUH$:<}ZB<[j$zϲ@S捀 2n$:D',<&j 7˟Sz_TnQAOp?ZBO ufNiV/J>AnHC\O(׍ߵ+!ʝL;?|B;yF/E\\q%D㺕ɂv# !u-!Dn&"u"u$ë&z"zr$NPNnZI\7BГnԊ\$"!I\7:E'quPAO ]:ge-ĮcZ]i~4s ]:5>!],j7=@X^ ]4zbmnڸĮswh~usq=%-߽AOI]fĉɼ/z%))܀.AOCR'"yAГnm{S7ͣ",$[3*)@O5c[G0$T^.#zmja|6}IOĮsJnυ>zbͭ0=ֵ us]ĮӄD'vݖi"zbCn#tS?Yz:Xy=VkͿZHC 7!;k7#j}VByJt I!sVΥ4@pBkHC\7\[ Iùs4$Uȝ !!I\$!Q.4&n]w 5$o77Ґ=γw^Ґ=5;GTWUTAA$@ȨՄi߽i| A) wOm*r^}kr& $o&TW@GJ@;< :$J*@^Ӽs ͣ˝C@e]y.G;߾}"lWS]M, > !"8rj@!XGP(yԃzT{#z 'ȸ83! $Tτ$z':Z1z'_Sw IڿAГSs<)h)${k)-)${+Gy =I=IynP'#H${ͨ zflw$N~~"AГ8AOh,B9rAOhHNbiHN3'vE AO$nItH B+@~ APd .">b wI/Ա]n^t%@jGl&T՞ abaKV{-UZY&T՞-Rr쎮=9ڳ ljς0GJ= *,rgKu]@P.[ 0 BT՞ AOjO Tsj|'q= HW+} [ [+ "dJټ%T-֕rF'+ (3\v|i]iAP.;w^{~F@b1j@P.;y@p;zTKT 6<70dw]P$9PUR:]OVJ Cv|r|v\5$_jթuǗ PuĀHcޮw;A1 ~j c~6xε %"Z~tԌs Cai4 "/!ŇIN'Q.>l7ּW":jB;g!ŇArao@rao*E\|η& 7 HC|!>MeOwπ'ao*E$>Mu* ϵ1Ṷ-hWRo/>7 KWZ~7q =vMr[~/_ڎdVlPlϴ+]l-5VT) w/,\qʕ 5'&e]n/m vy8 vZz??.5P\2Ԃ@X)T!`%MM Ed-# ғsy:\2ʩS BKY Q?% X Q?' <)M(7# rA!HC2]4$ IJE"P!B'I[[$ik+d zr(䴝;p'ܖG=+?BHOfNa($mM"5s CGtpRR&P"'+AOMUy6fzO=~sSB9I{7 I=J/WoI"\|s[_I"1$Yà zs' IΩ'i;~|V=I z~Q$~Q$XJՇ=I9$jC9I$dU! S@ГxGovi IlVEI"v?hUT2$b'szJr6?VJ!`|Rҋ+!ت._*P@u׹܅캭6RQN BDQ2`׍/YfXvy$ˆ]7Y]7oI!Ǯ+ae׍ZWYWB͜>.0ò&~ T־ng3~۬ `MAau{WBAD̮Aun "bv*ם FB@+v}7} E2+~K"(Bn @v.A):)mo ׽2:cZ!x@Fg,B/jdt)BT !@e)yGPW5-LV e2U e2毚 LUbEd,_5ٳ@d_5 b52W͊Ãffw)q=jО.A|լ1-#93椊1e$gN3'$gN3R'$gY.3e$gY^ɘgH3|{kLUU 93Ν9bəq=C'CR"8ól( 'C͇";ólP<]IW.k "9 +E rD" 'AP.R y\ 'A iÃ8ҿAOQi_B'Ĩ) gbT i } Bfh31*K4ҾAON!3@r™%zLJ"yI?CМ>LꍦĨ̆\(x gbTo(?q4[ȐNR=q&FT"u5 D21*5 31T.2Ẅ=IJ[#zbqAL"C:qŌAOb?Vj !C:RjAOb!8 Ãس\KȐNWL2dz$H2,WR.2 LxÃ<(O I21P.2dzTس\SȐN$cŌ؃RM#zbrA,ȐN$cȐNRM#zbϲ<@Sd}Dtx >҉4n $M+Dtx+=I:zr31߬ =vHĞeuw IjzГY |AOY.p'5O{ȐNRM$zbrȦ DVxjR"A{u4=9.1<,WHĞ҉TJdH'gIR+!g";Dt"cÃϒ ux{(UzlŌ =9  {+b=\dH'R=Fz!8%ACtžX҉Tzr\izN݃R'zbrĖ =9M)i^2SdzT3 سM!@Г\=9YP^"C:eϲ7AOR=ViB'dz4KK4OٳM!@ГTUڦ ," ){)zrO6AOQ Ãسh["U<<D4*^ M/Oٳh3\"<:<=y<}z]"@˕%rb{r'qr~*?ptW(Z@ٴ.mrpK1[A꣩_]iFH<9XB""<"4E"dTEheQ @ 4jb9{'A=gxjsVas9wclvT-cS֏S3OsY!`yM>+~N9.$nkɻKTycY5q=A%-.i^ncy. [^4"@x&pf YwM+d=zl6).d=H&iTw`i̻w8y'6փ̻=Du'6fڸ6 62M&a؊zl>\l[#.6 ^Gp \lEMw=m2=9p'w/#6) #6r$z2乃AO $zڊzw ikD&pzڊzw ikDAO1i'66 6Ⱦ{M d=ͦfl+AOl6y'6Vȼ{Mͯwzbi=ٴ@݃lj~]w ͦ2f YwMknR&pfAK M/5lT26lZ a̦2Muw=mf[6i6Q7kT MEMa0.dQ (q!+@[Zui ho Rza [Zu #homG p +h8:NZ=P@R@qD\dz 22=9GB^U9@'NkGF rz'N#S=qjݚÃ8A cx5 rëMWCO G5<=qܹ~'d z9AO G6|AO ;>'NASho z9@(}AO$/M~d7>'Nc7j',~6{ d )jM@OY\Zh', 2@OYdHس\ 8AOYd zbϒ kxS,F=%ބ d )qAOI@$v sxS&[س4@{ƼzJD{u^=gi+',yĞeU =n =gBm',{=g7 =^wAOYn ȞA=+?H53H', _uxSBU){MVW,rTG}KAS|vGĞuWmkvWmkvW', = = =--X=g){{i=I%wz^@݃^=giAOY4@{; ĞN=nέ=Kzbr*/} =K$A{.7H',~kTT<'ѪU=3}kT3 سG}RQ(8Ob fg H]T3 س4R &QJ(dN3 س4R E2KM0=K#P#w{&Q d/1wNޠPBBM0=K`F{F" =K#Ğzbt=gid:AOY',7*سpzbr~á"=v+" 2b/-g[ #br֣Ÿlkd /-g[ kxNnyt};C)n96\MϐRFpsSk l rNj@ G;}>q~)粿vr4l$əhHJdiӊ|i8WH]s| + pJd:4Ny  H_S3wxncմynQ[|;辙@r^ނ[}qCn2DV& {@-` !y]n0[.ƕ.7@-̕u%-z{ !"9ߠ>.뤬Ctn@9nͪPY"1];SCe5Qλ!yu߄pkCܻ^Y( SU][| 4TAiaAi,Aai9Ar4œ ,L ُ|gD_;E^.;E*^ƅ9q!@x{9Uswit'Yua@h0~1bu¼.Aݵv1F.¼}|!- *¼hb!`%|7!.dxLry8u^ϝoCV](-y4kE.WlOMu 𣿺{#vj;=WU&|(3}&y8?UIȼEQdI4ki?IA 4 O[--K#<:וmsq%:w[WzV,}:+h]*@{PF5aև0DeMFm2`~U6ym y=mFT]oPQuσAOjO<8Fק{ء'bAOGGE=ӻn\7Չ'qavWSAllHr#S!D]i:5ő_̎o@Ϲ ա!\E#-EAs%͡'s=؏64JݫAOa5"=ޙ_kb4Z><@j4Z~ԓ:Zz--?hYQO, %9@rVNj@'A4ZX\GMyRB;i-DbNԗ䴡e!@E_M,`YwP,ibo >2@~/&CIdJJ@4bSڿ9N\xEmD!tXys9 tX_&7iO\s7;AYN%;=a`١ʵıPkk#\RJIAO|,/>˛t R.=YoA aեtAO|[$F $zv} >A=ECg>$*RiECg|eE׳f׽AO|p0_߀A7_N՗$@C.˻)U8>m jf" A;7zܖѯ=#MF'>8o@ГiaGxz⃃zrN2'>8 z RJ]e BB.akJ$l~r%lM>p/])AP\\ >p  ٙ&|/>ˎu.UQQ" yϫ#"<@g' A ߬JgV"AP.o˪r#kt9oëaYjS./ rϲZ!íЊ66S5X_xePi\?J@~xꄠO@汤-،Ƚ.aOà=IB %`.bt0/};0=IpfŦO:gLn+tC蒀'vs5,zb7 ^t BE9* ݜmf(X!dr` _.ZASkYAO>8s~G7'U{9f"9j3|wz=ݦ{KOw@Г9j=d;=I=l睾#ѵ龇bi}!)ݜO=G? nN'5:'|D-2q{"$Ű}rm#q'vs3!)F^Xqb|>z7m@Hacr/M@S:: D'\AO>َj6 $C#!Q.BR 9%S =C#Szb7` 9 !)ݜ}$IΘRBRLrz:BuXmR )xeԭBR vl3%$StxuSvƴv8k]$Wm zxatJcz=q(zAГ\,@'#v֝Nx!ѓaϒC'&=S%EFǘRĞ%]uL$%cZAORϼ{س.Gd`jc`rMAMqKrAl?V>@ۏU9iysNMsr6l?C~-{ۺK"(b9_*~VG^K;pw$ciC[(>yԢ::%1/0O@rs6V*@>>E9_*u//$씪 ^lPKA۩P HN\Løw!艝ľ쇹u.v 艝meK^y,'_*I,Q}] IDƔY vE=I\ؗZA;VIAOGø!Et ϟ vǹ֬C"M'v@/$>cE=eaPc+ IHTkބ闊 .1$IZ[- z'QjeSv~.)2I NbWگfN,2Iivׯ/PKVo8JPK/golang.org/x/sys@v0.26.0/unix/ztypes_aix_ppc.goXo۾ >kƎن=8dCuF 0pHOIr0@8u\ϖk3 8cyG *q'?M77084}%PK?]Q}J@h5ܦDh?4b,ߌ%Q%ka`#x0 ci"j.;0^V1ZPunIuUjٚȘi"s?)A9#6ڛ12ÊkOﵠ|=C|x*ksT\$͹E9t>Osz]2F`e\pF` ]`tbs+6ӪU8迵' '(l:u"Yj= ֋j~T,* L2KviPSZEn I_;ԡV.%CYێ*n-#ksY1Gfqvjr]Z;)#UlȥŽ{n«9ÛB >~G<(pL66Oܱ5J.7dO;9b"..j]6c| #?s:ABx8o2hY>b/+ܹa鋥{yi\J>\PH)uGX~lcK,،/qHEA^g![+ECJ{C, SL_.XX lp_@iȊ﨩%0 {sBS莼Ԫ;>sa wm󈶜GU ` !VhhVrLŵWI[9G2C(%lDlұmPygT능/0˪"1p1gPz{,{ 0MNp\*Vrv:ho<ilnKlWƭUv(9[?(^wN~Ni@3tl>RfFDȣV%*KV༪}s/FRt$Rq8hR=GD~Fq< gjJWr.UԆ~˰B7Bz!*Ph4uF{ä&mr>=$ރ9 fgvl?T䤪 Ki!cǫq4iĩ uqokԛu=в6[=0AoY|;6m6?okm\ץy)/crխ뾱lӴHGǓƐ2+WY!/O9.Q1frK ,xSLNL֓׻LY5)^,[!Â;aT6x?`RXň 9|0}ԕv6K .8F!z~Čl2~/+rNiNb =|x,5J̸D˽£5y)W5 G}JWWvZxTm,3;|DĒ<>!̽1= *x4F5Шi].i;zY6-j rs+~47#Ɗ-6kA"8$OFĎqhb+5"ǀWɺuMVo\[L,Gn0۾r ޑq@kLCfðR9C"羠iv~μ̞<$PK &.2qOfvrjͣ|ġ}dw E<y=B8xL_ڠ\/Q3Pq42]O8ZJ|zPK/EDiPK4golang.org/x/sys@v0.26.0/unix/ztypes_darwin_amd64.goZs8 ?J0lpO ܾPzn>5tnǫkʪ2vq~q p_WRouXgԭjh3hz:e991P%?rZ S* 5 U@^eW' YM8=^ѝ޹"r{7YI,3DP0 E0:q@X0)F1aG^8s!Y]nt}?qsn0UלfF#[LȄ!h#y.a\@#=~ "Zkݚia߻CAd1c!caauLsKlJjFeKMt5ɇja!7׽n2['S#mt*KS0C){uyCI-"t92fx8V3^1ݘqBl|B_O*(f|jv(3rTF3M m)r̉ztZ ̶ BGx:te] ,WzLJ1;71_QUϾ9f+ c9z{eQ/}|7Ϸ껴4|R\Ґ[PgݤSq}c]kM Ku np4Կjqar6z?Xt6J :|nYjKݙڀ[CnZ}%rE GWlhOԞݟ P4;ʲH&?!#sf{5/dtػZyJd>S}2|*EA .'-a0H{Ky8TQZ4`1% ,V~-KUaufдB>43Ђ#I Rt` h{6~}~~]YE؊k} ϽзgJlKlLlMlUm<nIS9- /SW:jr˜zU  _Zu;A;l#n7 {@S°3@.4{u6H^8. ,U\{'(5[3O?kR!+f0Z0XENk^KLJ[v'LsBvcFx/>uspKayw4蟷/Dx> f#5td[1C NPFː,"7zyq1+՗!DWou3|j% x҆,̗4u [2M_lj!o\Sd8MV+?&Z}x=U.w)ؒl6IS֑D>?$^ .xμj^B[tHN r!n['ubέo$5./,YO<n޸'͂ݗ5CHb.7:θϿ&%"a+o.+1u4ety5_'o "KE}uN9JJdJ6K) gAXu~x%MQRr?r[Ck "|q>O6lH^-H?Џfl`sOtn&YD͸Lo.I8w>8) `l-tT/qKھ{h='Y6zIm2H;],`n,m.HL\~UFP^@i}i%5߮:I^6tð Sv:3L>}9 VcVP)(kb2^HQA)!@;]eD2"ZF ^ϛ|4Yx'<47 2q0fwtbjAvab:(IoκMPk%bmU QԕHE]O|Fm=2&(x|_IC${x^ZQ E)!0[WO`|bԺFGJ9C)spv 7Ifs(Pֆ&ʽMQ6J'õ-.:p47\,kSXj0Iõ KNh2PK4golang.org/x/sys@v0.26.0/unix/ztypes_darwin_arm64.goZs8 r&0eI5pނ~J-/ FNħRVn yZVf>5;}pt9n*&s{D9D=:f[ZVGi>cz[]Znvt>)siF_^Hn)~8ξ]ε|߆%s7tt8dDhX,e:isq>Ls\ ,Lm!Mђ"|+P6mҧ|jOXτǁV(meYQLZU$ЂM9Z]_:]-<]%e2tahtOt>q@"g u[yЖg $h B ?uه,"SzlE5>\^w[3%%6&&6*L{ bWqGn+{59aLic /nK t=)s a VC{=[:S[Etnk$/d{R*oV5[ĕ]M-ul5 |֥Nj&Ay]{A̭IR;ꇓS9!`;1MxV:K98%հAckE[o"5KK~xu _wiuNx:~Ϧ/r6[~5NJXjl2&ߟ~ -{Z>Þ*ۻwtlr6)pH"SMΎY<g^5/-o:$It|7\:hL7Vsͬ'Wxw7o\DsfAKq!|asvYVI 1Gsgag߂yZ0x{7:^2ns%n>~:'ĜD_K`2ppɇ|Q?VΒ&()g{Y!yg5ky8ui'kj@P$U_/zu Gk6':IFO N"f\@&7$w;e`I:g8 %m_F,om=p̤6睮ɁL07WIP$&rI c.PP#HWXAf >_4[˒oW$/ :aXJO;i&Zc>ҿ}]+rRŵhw/nx  L RԔCP߮a2"ld-g #xPM Jof>,<\l|ܛd8vGew:1z ;yl?Fm{BFg&z1zr㶪(Do>FV] 6u_证$Qzdm!JBH/z-"{rY⭉+ J0O>1jWig#~9K^Wjy$3]szgP ( kbys}?Φ(P8y[._ӵ),5܅%RΧcRjśõ|y/b PKDNh2PK7golang.org/x/sys@v0.26.0/unix/ztypes_dragonfly_amd64.goX[s6>:fۊWMw.5ݖv= L"`P䡳z(9pL \O+|,˟8:pT  hS Kg$%(0K~g$At4YL[4Yjh߿8?4O.5 %NN@PSp&$~oCetޢ#Ek-:ՠPi}ew? Q&V 4[ ^;a4ռ%IUH~oC'$1g" ĵPqwDgT{O~ !h ʲ\x%g9ON^!R*9C}p.}N#пh& 6.?V^Ium${!b\羶sNV2!gWB5uQ]!M8mZz$iaS*[tqQu/|#؜ O(qE\O'mA+*Bi!0k"-|4͉Wͺ3arR{GFDrAت]yA7mYXQI|Gc΢êK﯆%LrրAƊth0؊+늪Y  pɮ>y؇iXMcxԊM$Ð3wGb(~B+ v2rp+l۱Z*$.i&~'K%ݛswPk,jtM?nxriZEk˄ĸ4͟-nQ:Aoe{E*k!tez56Z?Rq?o|]6N WdOS+[;F7 XWw9}*#NRWF (eU{6hICZâAgL pU S jV O9e}[1eo ;Lo 4Cen; h sIuL^)IRe8!,uV^{np eBv }T"~Fv"1g9dxgsW:MLpֶR$uj:<ʨnVtܷm푤n)5(/2(>!Wwy\._b;iU!vzf96n RwChZG3-wܴk¶a1e sm?@etuL; ?ssӽ[+C?D󹏂=h?3a;y v#DLӶg̠5TMoA! Mf3j'C+3V!6u.|dEoP6b,!fQ(\h" 'q;V GR ʙ=Z3sF3m6NMh}wq{8> iZ{$92j *CD2oK?%uhNi/$A7N+UQBVU1s"/.U"kՅ"BP%x@K^V\r>b!PWWpLZjuk SgJZ4>s˷VoUݳʼzwG,ASŖ=giU1 AESnMnV }oI&!2}*iE !,- CN'Q 5&{(4ڗ543 kG ,& z5O>Rn QAyx ˏ9+hۂm(dG` '7失vi*^4bݪKe.;)Iͳ0_D %OINVہ89RWQΓ~Ҽ|̓ޯۯA49H~vGh<PK=`PK3golang.org/x/sys@v0.26.0/unix/ztypes_freebsd_386.goZr7ҾWwU,erA`OӒD嚂f@Jr !xpn4ݍKm9vsHDAȃ_o9'r$*%./рm #+ve|,Gߑ$-GtzF9h4L֯[-CEoAvV#T1jeIu ,@~rjDžrhס S'd'mOZztJQ:=Q\co+V3(S+yMD$CR*SŊd~LFpqf` -+]T*'bu:BYHVXy1=lS(@_#z&p dzgW1=[ri>e>d Q ZtO͠6hN<nUǺaxv{$zRt'gk7;~H&}. %pF&OfU'MOem4:6D =5[IT \PN[(Mk,غX,T4v2^d"tX5@Ŷ t[Qb!5PKŗg{iVmQe#.* ?t]Z/Q3K%JO@6/W6uNg(& nNc|(!2>Ǫb2IkK#!"aM4hؼ1;# bw2وc;YgY}mwub'\}ʲѳ",'B[[=_!5/CB72d\>]?LIrSQʑC]6!gSelǏq"pI`/.@QNS^;fB` v8 7>'3++d~:a 4&tst5m®dI-q^n.8K_k"64;b"ix"{!3,qǝ?=w Bz%up#WЪk<8{$ %Dn\Xjԙ*x % Kx %傗14C8%[][dx;ȼL1=p*N@.,crr 0R"ȝ@Rx @xlTlg}e *a%RfAta\pDO v4΢Ԛ|9BZn qߚcnqߪZ}>ݓ1U}݋#.ڠs]p_|2S!K*d",v]Tx>6eˀe.G0YB?',xQgRrS^d\Yj.\Òw|gEgȮ0$`[o_g;@(u풬/\*sf7~y/[/~u_g<lI e,OMq,Ϲvƽ bM3pF,(?xK_PK* &PK5golang.org/x/sys@v0.26.0/unix/ztypes_freebsd_amd64.goZs -A%ϭVʙT/%Lf2Qʡʡ]&Ls=Q3Rm2Z:2չ4u5kܱǪ sWtOdAR$(Sh-IWN%IXpۼ`,XARjro- ~RS%tVeLO( '\!飧geLOV AZȏnΥ|9St/E6{fkMRa!۝UlQ?J9e}bZC `&^3<9eȴ6n{K3\DȪ{u[g#\!:9q% ~b㭄2`Y`wڟDKcH,+=ڮpki,k0Ӽ,49o;Kݙ_X$sqdK0OITgQdz)ޓ=~h̞@D-i !:ﰐ2WO+=Oۅa_;^iM7}ݽ8gd;뎴#.i ?RJ6,vQsV+T֖cktـ$ Qiw/+q9: VݷJ2q3|iN2yب7؜Yi[xћfw,v8]%y |p`g`6]"l9]>.Ӓ8DˆƵJ=_B鬗e"XB5Ou+h֗[7G?Q>\D!*.T˔dM3A[FV!X8yV\&_2ayF'gJp3XĂu>K㛮($ZDYVr/MӨKtĠ?.G4Wk@']_t94|N _ +2I) eUڬ:ldpGR} :;End&_sټ;G=l)mWfM ΖMm5ϧqY%mS4ةaڊ ߁fkWf.M1^If3_aM%!<Q9ܙ] 6W˒[-eI۹y^gFCmrR$P@vg^$MqG2Ѽ| -&qlOR7q :cR(0!QfdzfdzM._@YCEׇr:pl.V=:*M$;&.պv7gD7c5p7.BtS/a9Hz0L,xTOyV}؂x6鎲h7}.yhl{m g+[uV|/PKF  &PK3golang.org/x/sys@v0.26.0/unix/ztypes_freebsd_arm.goY[o#7~~s(9ȃ˸3$MI[dd/ؒ"UX*Km9z9H-ztH6akId<ݖ-GbhTrmy xNЖ0""9z|EjGP{r??wh8G]uyX"GXw!;iU o }i2ΤBӺXѯoJ _quh gӨhv7ҩGN`) Tk^=%ɐT{bE2d.fd^pU`g}TYZVR=(StO`;WbuL28-czJ٦PƿEL>gϞ<=bz*";@}tp!=}3?ieAT *|=/_'~yPU)JF~&BRdmw:׭4xkvJaB `+kFxD ʞ={&p툏 :D{:[#dp!z7i\ Hx+̈́E.XXhm*D"r \Z_՘t#0 `ZԘƴ i`[+˞UZGr\>D/fxOśc63#h%m"! "sBr:. bF:U9!;nRXpkNK-j mq#,#Zz\ZT֑c{tـɗ$+^NYC;`?Ϭ7zK3 q_|}iN2Pyȝy.BDYu7_&Gc6Oݜ5 Lنb- {6Ze$)ݐf1jWbam*t&gi~D"Jjb;k74u/^25{ T -Oz\e'Q; ^5e2K zU e[0g\;Ȳ4I!j:o$VmFZ% ӪPx̶I"b3rF :0:^zqn42]~IizW~@NȄ@Vm, a}ӲS&%ȁIph'eRcGYUr?ʞCoKNhkQ1V7.1-TЅ:>0:>yvd벀w6uֳq9zmC͛fwm̾wZ}r\s[r;lS><nUǺaxv{$ bF;Ģl}Od\cPgd\jkVu\vnсb+cTc+D콅Ҵ6˂uBy&zEQ?z.42,-nn>ӭ^ A}TLۣO[>"n^7|nd,{JX  @X\KaZq9zQ$_QݨGS%Dn\XjT *QJ*J~/cchK3䒭~J }8Ⱥ>?1wyLc{"T&J\X''@>}!a D;H88XJ,3T- _fBb࿴5m|NsbVq@4sz;NX4pe,i{hc{>jzo܆'9J/!n ~K2tI3Pkc@ r(ϲTꀣI] 0EaϿ@ܔEGK TtG)7>Vk!VQ ۸{ k;-9Vmb"mGg4$;x /QWhW71[sKH7Ypq^6pWeȟTk?m@UV^K%^>e-9oOn~hq„`H@,w#syмSwooJa<&19ip[M5LA[D:#)3TAbg*݀// k!&NG`ZA st>x>6eˀe.G0YB~H>ەC}׭?.IM/p1LF%npA5*|c8+: >v-8[W5X&rxӟ 8/Q5xGnd|9RWqx6wJ5*mz{5 Xrg;"90Zbט4'e`K?Hҹ2^qVԃ!n;UfXiCj Cۓ"!ڼؔ0Vi,>pm幂9. ,&IN f6 ]O-]ya7Mꌡtast\+N+,xSXÙ޳5z/x3vFÙ=y5|fdlF5x/9Lwӆ%8MyTy6hk68և0M |h+e7™ОK7GӜ="c.]F>j^MJNiQ붠j,u]Ko)yFg"z뙆&Ԫ7}BVR : /UIrX7Ŏ|)UXjЫh# ˂b&v&;5ĈXes0rIϤMTH33B?#Z9qp~R螺ksgwFr;";HACfuڈH23؂Mf.tH#Óa(UVRFFUUZ쾽Z5˨+t"`4_S  suz[_p8أ8vd,{puֱq>m6 َ[oedq7\#hw761N~VwF6 S0LwaڮI'A1hy;c4!g#Y$ =JMq JϚ<7&Н 2Ω-Z-v.iK}vѣ=Ӹ ͋HpljV |̹8ks@ꛥnڜunYe%P: VM [MJ*f)i=l>77c~֌#x$#8 څdZ+m^(f7EM%)R8Inj~ (bc"`,ٗY&]HTRx!˺ߩ[k%3MM̼M5iV'Dpδ<<5byT :C W AϭVʙT/%Lx>Wߏ| ЮC 9JШ_[-mNzzVDn$EBzz' J-kQU6JiVt-VH\uZg댊Q!.mKj0 {3=-({D禥M [:d7u'EV/ݹС: q+Co$ԙ -T.ZODun^W5V+]K7t`O֔5f-Hs'A#XqL8 6mb;MWG[fĈ*kIH!묿B:\?Q8u}\~zxQu6a*|gN{pwi3G]*˴U~\浆mZm K/f7.%U =Ǹ, WQ8kjwpgSkڤZg@O4jk<7 >Ť76{c^ /NWIoN^%t8o-mLQjdğU%gWi2; O-TЅ:ƾe9YM栻tl[ϜlYgm:}ܰ/&یiDx[aXʆaݰ+ ;jdgӕG?$16r\ SY ͣ j%|%H쭅Z- V %ٺLqQS} b̹ڭ gKc!կoi{eVDqcG\TĴ[5v_7lRWyz_|j6nd,p-~ߠWMtP뱞î0RʲC!?1oQ*",#\Ǘ(> (2j2ODf$3Z[{7Y[927 Gڙ!gUGAa- \*[zavREͶjB`aXzN绘8}cb) _#D J>Mܮ;zcI-D6NkFCmrZ$R@peיo_$Mq\D8dL٣y$`W@NǵraIU&萏IGTBD0u&z%:[%dB.R+Be<Rp!t󄥬O|`C m7>#?#>wy\[,:PH 8,P8 ǂX4 cp, Eı8ǂX Kn,4R[6$|s 1iiDƅ-զ뜬Gm:?W+70Ll{coc{16Qq]{?& H~^b*sI<$ݗ$XŀT[A6LQ*^e e}Ss-[=C#Zdž2~_\_'uPՁw˺.IvBMܻuۍnΈ7hF7.BS/atoFY`6hku?D{M50ϩ.m"^YcxaZ]&R!~P DDٽ JqKLi.,F\VaE`ky]&tAa,&19np[:eMdAZD:%(3_OA`'_Ϥ/ 3Zj=2u sdL?l<4e e. Y@W~5.l} .HMnp>XnnpC5L.g#9;t|Zpv /jlH֭7m;p:[LjnFvCt%k`>.@T[%SxFz;t=Yq` R,q[ʢqay̲mn>èX[VϾ<ԗֿPKp %PK-golang.org/x/sys@v0.26.0/unix/ztypes_linux.goԽko:?S>Ďs],ѶNdIGs@plN|x-EʃLGxX~:ۏ?q>z@?߾f}}>v_?i}Tm_i0 ů7u,ݷO}5(}|v4Qs)lw5{KN~x=}k{Oi}NuPo{~vС\˿A-M>V-* %ɢ'-p#)˼ԙcH eUJɂDyVz"4LFC+R dzDeni,r; pvS%,%F.Fg_ ۝XwQv߼oum!//dxӀۮS|춧.ZHPıNGҴqQ}L WtF][vZ  {$5J8uFi'4TR;Nk~4-B{كlDH@ j2}Z>dW!4g}Ty2&H ĸv"I4I/^)lF*\V6&NSRV259MSݮCyj^:UϟD]F{t [6B^W>W=4?ͦ=Oa㮅eXh ^9 hq?}u?VtmlVLtNKvwjvV xSHg+0{:2YS+~KvblT?rS>rv:iuFSz#nߏp5p#4U![CEEE8~jA՞#Ѣ?:V_ު0PtBp+ϋa3\?WVcq` dulp)3 &Eʼ\eBe6UiFH,fk~c]{\OWoߴ_n6eo=.󧿷=6*] Շm7 eZZۮg6czEUݏom(Ks؟lwb8/ ?WnhUzO-g$x u\l7PfS{(AJ-b;ZYX]J}L |nNpڟM&uoC7r:)~ҏV;kM|3]!SA&fimhd_j tcK_fڶpuV(_[ Jo/38 3V'p_C_Y ]q gtne=| fzwKP- n >3*/`%8`e =\_  Wup?-y/ <4=՛pHWwYL iq\ŒS4 BF,$ 9I)0d!EOHq,>'B8'/k#s2 a!4bCnY"j /O5*'+RL y)Ͳ"f,"$cRιe!nRVwAtauAe4S킖qdQ(RR4d!% y8IeTue$ /czȐga&52n<, #%Trf$ARBL]݅t"L YHGa6!!,dRaܘ=RDYYb։ spBʺ)$/iĻ rFj)\˺ 2KIى3R%5-TFl@<~iAP?I) _^hP݉h( ҉kX (&pz.X"L2+,HEj:KB22CF,$If% 1 5yPE -D).dA24!a=W!_X4=D,V]5;#!4*> &WjFbRՃJ(,=2XbcD?xa<0UL ^uvfṽV\X.!{SDdNYB[B ߘ ]- yk7mu3O&I ҹe!"+e9k y,IY̫whM@Y{;~SANBn^ȣ󐼄*Z[aZH%5X)UH:}߿[e=O]ZF=l=M[vgga}owMv8:2&rDg׷ z$F?ajpOqǝ/~#L~,7'S dҔ̸yA%nCry2,>$DJ"8"9/tk!Z}g->W.]UWjn²2*ʧ/S!L%QGXٞTV]mZAQՄn)gw_fGE8M72ai@I=RgM) 8ˈ4j.8F*b/I,䞈܈Tt fl} 0y0/<0U*E^KB(3"+rC뢙HS-XV[%4Q me "0p3z="u3+%=h4'$VEσE`G2X$`M4r؅,ۙlhYi80«Lk>I|R##䋆_"\0^kW dª]98nѫoW4wO݇OOj諶vחMf~/8r8/r ק5,mcVy!d??C[V,7`ŮlɅ2_Thz1U4_GvG/*#vXL?=iBYnm؉?/DMpFOq.-p=Cx6 lV"y:.g4?޿uUڂTڂTUu\YRukX.: IJ,Ek۾,98}vlKi1YSͼZ|O_CȥD&HW.$&HW.d+ og >pk&i>뛹,D:;Eu::&=4\$h1I fFz*ya, +=qªZ q nTQibxuZqޑZg@Ib"Lz Nm jom YYANhz޾nOn8oI}r?}*g[GɿMJ)> :ZF{{.وcFgϧlIsKZ>φcd{G`M},VB2E.ПJf=̑d_׏:s.a cM]{صc0ye2?1L6XImdv Bq2o%3ڿ'/95tCKUyT%E?ߑ_UQ*9zǖ~Ю6)PP9kM b}$S,3W!BD%RGq¤Fv,B:zGPGZ ۍ^j:˯iylɵfQ@ST=A(UIa{j'VG7ڜ o2~Kbš& \Bp])$Cv;Bdb2Dx wl\A.Ų k dU].:3{sWMI$YDL HX1_If :lE N60MI ʹ̳d<'ata>.m]MwzN^9v4_iN'6jnNP <)l57gc4ۚDԪm8/ovs^44u9/)1#x0T˴nACO9S< p]\ 1A C٨"WF͏?:%E2+CkETFH2 |hk,[6JihА2E&8^.pI1me],k2kU(R$- t[[gVo:: 4IGYBk3nO[]2ǫK.$J(6W1=b'YVn%w+atiX$#@i8(Ob4 eU! !M5d5^CcP̟*\E BtMDeLdc0hR?#0cf" iZb0(9*.rPHwHnFh7ad0 2z:8b,kdikj]>ٟv6=}tXn qoza47q &%m.=iߙNnn77PVͱ=5C|~9/̍8#lڗ7z:ñX[Iև#A>GX\~h]m_tsO۵^D:K{8ٟWLDnF3ӵb GWT`'^?vFc81__DG'&\ˋfxŒuxu3npU=`a3I t]\7 ty.՘JNCW}TgAx7ba}n<؆u_c5)9!:W{k% dU7e,|h2#ܰyg 9-zG$D+BQw~vWbe|֞/U6⡯k__W* Y"]E_ܴU9Jt&?07%""1ڶj6k}ޜ=c՜atG~(6H䗑vK>g'UoUQ5g8| Έ;&3 GQWƊ3moV}5gԏu16N#bъr8=M g)V #.*ZXPPΫPMV&iKUa}=rrO{"~ڕI |\uRnd*-3$r(oOi8(BSisFH)BUܧYoʩ%E( EwMFi"~$K HJye$% (B_ 3mOSHOa6sfR.a*"= xG(tymEˬʙ$ytRnMa^PY"EcKTfa-`0Ys(B,kP^ JnRf3F.PE1bIT\ "T,L3懔"Uy+*֔$vNr#$YާɔrkS&E/j|9S+/g+I..ײ]R.)BbrO;LU.҂N))Q (c/qM\ݲ)CK,l6`!e3tٚ)⦙>Ňe'錱RI3߅Xx6C&#l4Lʦ΋ZE&*HccR}R)#cRiX9F1eFw¹ YhvnK$%N1V2%I2zMa~PF2=PgQ$~uvP?!J+ga3=^wI7|5G]u(Dgثsa+/0^Mhrs%G+0=v9g1Tc5 4~ԏ10.*|}PLfƼPY2cT7wBUWW)Wʮ-4336.9w;v.@cII.kg?I#N*b/$Nc}!vi&24eu1L0ZY̋54Ĵ+lcHH2z]Xie>M|PJXU8w0٬,"A)y^NvEt9CWkXyr' 4CQ`k1}[.=xz.W\t6 ?,GPܙ娖)@ P(d^@P:2Ƹ^;LMX"=:OV=c b[=ai`>W=cF9®}uϑЋѤ`r9se0b+1h*dɕ{qٓ^"O9C)n {20r1z<a]s+UVIj qyÂ1k?e W<0[bOX! QIyjSm [1u}G~?}iNOtyJ30ۋZ ʋ:3|G`kcY X H@Gy Hq+7p`;7E޺ ŃB6Ñ4RCzZgI<+ i_!= 4a($sM䵍iLJ<أ i<!y-r| e-iOcH^Kjdq}tpFjp1I=t416m=\ۣ'=-iVKrђWZ೙4Im+c] jI ^=!H".z,x>ÉiZ}ȱ']+Ric{,˥yk:Q5ϐ4:w@LZ6)OK[1\AKc6fy- N4C7YѱI$0aC{sȀ,vϥcՋB=vWzs !a !󈟋rnÖ@ :ZPk $}[%/`P`W ve A7Zsh2%,M^# h2*#&ښ _`6ukuLpNi$[1',i@_<=!IHC6$EB,jw LFmI뒁[BS.$e[M76YwDzvPϣI-b@pa/ XI;YM]]90IZx7;Qy,Ffzt_0վf@Y D3a+u8! 7*;@ QO/ϊ;0Fuw Xܓ_ 06SP1:OC"POegՖ@j3cE+5CǀO&XX 8Y.!Ԁ]i@ bP*&fL\jՓ۠tZnA>M0J YSea{%yjGk|֤:z6D2OgH8b֘F0`.Z=ş˼k I8={ڥWOj3L<У0ʳjf&aG6% ЀuT4HhGf9{)ѓ4r_+*ZW+ĒEB=ϓI5x<,ä;7F43:da1v@|mI xcE KX5`QQS pXj a>gPZ['Z%sdA~DU YE*i!f=Nic7PN GtGఖZb $z3 lGtI 3+mho}SKsl;YNGm >TAϸĀ# 4K͓_3.3 q{ р=^0=~Õ t?k@fM+ƍ>^=IZ 7sm g!'6(+ *JK_8bwʕC rxN0͜g/f3"#.ɢۻ³Y:Ⓟ1\zc-b!$R ]vhѳ" h_ = !AY:=uToZਥj׃`;]>ZlwB6==+{'GrO<_o ?dz~m7?L67'` !cxקLx&oGg:^Syw]7Q%oВT vQM u3! #4~P xyyy颈MMNMȷTujwvC8)?v{0߶;9'ҡc߀|mLs}M~ӂχ`^t~ol?[OF3S8ۍu#\aɘx,XsIJ]=C1IaP dWp8gK32SciԽ2\4!\dDX7E^) 8KCƁ6dVs%wQR̉QmHHSFSҭCk R'6"ɋ-| wEZtg 5$[YU !n!nņ5]aTb⑵;0dNo᥍QkGV0bJOU"}o* $1R Zqnc&J1kpx57p k2nd|-\o;,$5)MJ "(11"aVWMQb^F5)0HUeXF@Jx%zw ~3qc!1R ƥbm6gKNHs`]?M׊xd܀\gCs_&UݔKOi~P2d=hِ4n&O^x= ?2Z{2'$Te(2b V'Y-שI==Cxe(g~ȵSFfS6\Kʴ$>\e9CX7VƨK{WM)_7RmnRրv@(@Ji J0чLʈ +h2v^/9E[n?F!N0p3#,Ko 6h>2) O hj2 h*UFwN܁M%OHT'$Tksa?,?ЂYN ?iZpڤ6 F7EI4=s/"Ϛt85r-aa 2͓,ƭ`!0[fs+<>U*qREaD1$J˕HqsCC$#˝Tg&S2 WuX~ HC1قPs?M Bp%C\4%!!2(hcyeL3`8FTwqG +IܓYËFW{=t>\i256, ƍj’ 9ni]T'mH)B }Sy1ǖT,>,Pvɠ_խM {KkS]?d-Iy(n劤 KbR,ENϡ_ }^2/-&A@[!pG+Q!, Ȳ" ,:ѐ'iRQʼn0۽M &ddUC"#@Ns}ǥQ鈋š#1VH{IU *4X*fl he)!N 7d z-錒Dq$k¤\c SqJ3#JsUȸ1DS 9Td=xMEykE c>2tιv莕<8q~Q*ߍеi8+ʼnIFw|8EAޞrF'v]yށõ^u(Tz:Q=et_3G}4k(jwY~N_%\JEӠ1Ɛf;r1y? d"_LmA/goA3̐Pr'=;ŀKR72uIf[ci[khמD[Z-Fz J}0Xw84+_B#M[44j1=&U 4k[4l׌QMyٰz(hEl vQ޴CжSt6zT^-*o"*} ;;)0 hNrcPDwoT۷ >ޞۃڏևļ?q/ٺy}mMf+ 0Cxr_Yu.:^L"_=zbeIUD틊:Zp8Kkr]2׶ot-_H\͎JSi[}:5OpЯAKlv?W=Xb2]*M.+0 Ț0Oz|FO9m &@Y &@ # v&I_yV)]Pq3HfHLc&ke=3^_yuۼKqǏKIӘ1"cdkd ؼb6`n_؀-fajHWF)  D_5˘fsm1k17fE} cσPjOif= Ƣu_yqR6ñ.pIN_D:bDϳ2S=O oTGq6Q ͠QD_SC>zHh~ 7815.?K9+IJLH&|iS#}ԡ;Q.A%ezK5^:o0ؤXSQ5,E@p9RjAJ+ŬY7+,Pj_a)R(A޳]A5߽rA/N~)AUT_UQ>K@psAJpu9S=啟Z(]^q2$RozE8WzENӰ{@ԕk#F}P:wb׺ jA׽pjPN}A} / '?~I%#'_:}xPn=+? _{YC=ZԮRӘlTΣkG=OQC_$#6:s/oGpPTk)vbFK>3ATttDg^K򺿚.0fTC䳙#8KbgױrjL ݪu^j% kii0,\`T#Mz\1iR2 7d nDH]SbdGIyi ˜f߾fȐ`{Vb rJ+4ϗeS̟e7`z/w{ӌ+UJT?en)\.ͺ^ك }RKW\fL( Y.37U3.{Rz qfAE96=ʜ>0[l:ybL<:*'ʤ~#Mx~^dһ$:Ϛo&=^f>O^fF˅V9LQSF9 #} /\ɓ羄QNyQ G(ovc0ʲ[3u*FQN$iBJld.Glk~s-dva:\$ewd0ٜR,[nK4s<Y]=xM8C1lx9 "Fn&s<@L6%ov1jHgz g"{t13/'c{:lɲrИf]}Ӕ[:A}f/J>"e1fL$;@I)fFꮼԕ@IYLwMIOՀbңvf~q3=nTjedgD0Xtʖxaj@0I/2[wu@0YN0Zw2՚;oP5j+}j*)STSKQzR< n& VHu # &j+:2=g^#kD HzjꫢI02P=V0[!GB*!/0uyrURM}ԞN#S_! i+['WMF+Pq}e }ZwTn惐WFu2WFSN/q}Tzխ]ʩ4a5dҜbH92%lR?$1vV0{a5@[j꫽駱*RШNM}zמa5S}ިWewvlFuBS]Sj:涁a5Pge|~lꫤ.]jꫤQñg>pSWWpB3pj@Qr<6,Q`X 0jXWn׳QV:#)3E@(oR=&JeQw&%ˤ?jm3j\NR̴:jLmʨvsRseAřjAu j+Fev#^ N&㫢eRPd!_5u96TS_-,OM}ԊIzz7J5RgzI5U,C jFDTS_5wmFM}rI=zjI56&#}aN5R0)\J5RdTS_)Fj*kWIec7TG?AMRM}5<"SzQ&%N: :[jaD˴)HH/{jI unS}86])WHEc8jmN"2ATK_jaf3XaAޢ&ڦ\)5FdTS_ȩ ;Y(BS{>Laby4}{&ҷbzsWF-j+0WonR孩t]TS_5dY⋺Zҵ2I,S[JEM$0q*j#A:JE$cMilʩbJ +RhTS_5*QN(^ 3:^jEڻ57#տBO{aɲ~EBǼYL@ȶkʵlW9j6fd|["qO`Ft?֛mD!P{*b _=Pc'j_5;9תa$e1GaƊ~,ACc>ܫ}T|ևz62Qk}XcjW 0FV{69%Ա$\ל x{DN :޺(lSVR%߼Z盆 ^.jD`{ P6ː+yIg#צp4Nm?}5%]M){ m'/O%N\ȫvje"Q 8m$$5&j:&{|6n/)kR`> i}l^RdOku{ȧo#rt~gMw͗~R3/ |;<|9!@gy;?Q?///_wǷ?#e<}]x22?>!ynkަz;RMU(fSV*?*{NJU_b˽PRFlTN5[o3:&I|ג-eVzےŦV8ٕ_gB *G ]GOm+Z26Dmf=X*zq I<0VEfJ e,,Zܒ!șˋ 9eRaّL4+$lqsS\^4,'X^*8$ҋ+˟OfQױs?|9M4J$3PHWq$YobAIG퉒ė ]d" ?+NuN7{\ŭdaR܃KQNהDŵoH!ӗH4H;ttVc[\ȼޝW!3Z~rvR⤁r<', p/Qs<%'9m..F *Et <-ƋPZe'C (,|dy黸Cm(C(C(s?xqRjFy'ۃjFydyljwڿ ;YyyC{DyO-'1>G'O ؿS:D.Q~>F&}>Q^_^ߩEڿ]Oa9<>:{6;=$`'nHQw-mHk=>HZeu@YaFl =SK` z|$SV#}у' <\~Oi;@S$(@}wM9Ϋ9 "  +;2Y2qրLkΗ4d_d+0+sG=mU^Kp>mY '2:6k̝t/ȃmTXW G wLR5\m7 w3 8j(B+)ea5ʛb igَl[GL@8IXs]kyh/^ri71W\ܟvb.9+n=Kb.IrV T'N%:z$4HQ]},]u,]<;ST$8n9VIDUq3] ӋC9=$ѦM)s+` W0c{E'i9Hq!XqO-(P7 \S4i6ҐM@!|Y* piO7WX#pưڭOV<%Հ d\&ފVbsoe~n'kF C-Z= b ~~@T&9`,->z`1~y+FO6a+)Z5 Z5;JZNK<x}1,1Lyt<|ƀ*.:e2}jP(Smt6pk( % ^F__udZ+dZ^ɴL#䯸>"$!s-/Ia[3'<G NL0Selڴg܅i Ț~#$էC$It:Uj]PZ2XOHR Ht]z `]h2=eJUW2Ҟ"NR8I5Tf*%$lgu󂲴HD }Á]$?4 6n/&h3O{QGtk j"d>"d>"d>"&Ӏ]+wejLC`Cjrk<hZ^[(T?,˲$mQS ˃6$KdęJ \wM:Vw̧Ϳy;q꛺׳d#/sקIdqx&zw~^K{ry?%1sw|;q|/{c>\j~x3̎o}t#9>]4쎿MX/EǷ/Zqqn_~gX]_6?5ɏ;rQM˫xr~ˇSX/)Ӳwe]-_Wz)+rU\겢u`MjY餕߲)G`Txv9w].ˇyyX|B|Z3U({xU%L'1м< j,-l5nWﭪ Y܃S-ȤS^fZ֊; X?oOzּ?Q9?/<>B÷^[!{;>>V(ϯl|wMI;*؅Jß/?4Mq_.KOĿYʦbQxJ~q&\f+Wﱊoibv|&}1}M`2FU]aKWz4挠X;=: 5d 0B+%7wsnޭ"CK4B;=F負D -imzCqJ R =s\DfWZhFyˑ vCz*Z5׼:+sb jpsx 6vWvK|aXK3@a.a0L p :two(AwޕSDiNk5xuV"ٺ e.r6eml|8'%VE-=q:]8wVt:pKՏNjJA?AE~7;Y“YAj6`R?[*X͚Q?:K8'^=~ӆ;G߿o^Mc?o?_؏ =-s/$0SVW^'}v/,0 #  GO_ey}}yUa> wx_] oַ50?x[Go'VH%[aޞ8㍿|lk@ 6`w|{? bӚ+(]t%e=iW^YL6ǕQެ2Ni[X. ( 8پ}iNDee1Ъ`M_;ϚzP 3$s-f*IJkQ#rBWa ;zH.H;,#*,e@tUQNh*sejGJVzX>&Y 5C~&vh˾|;:hc㫳|ӌ\ؗ  w|/7>vi]]Jw\s9bC\[GrJN7#]<ݱ-Yyk8M{[)m ZN+b3cBKǼ ps}yNM{??h 'Ks*X?S|$ߓbu,Qh|n*NwsXZ%6%ҕ͏J_8Jw{5%@y_u.; S$͚Zq\Ta"}gNN%]/ UJL]>PW.l'x+Qϭ⣔ooZ|WO6;?QQ))`\ lyۑBIi0K8H|ݑOsh=t^u>t#_,\&;0Ոa. 0r/XU^oN/㾙!h=t ~mhz^xq+n_8E_|_W eJƷKۘLy􉇽L~ń=/0ަe#[І`jo>])}$pn`]uZ$Ii@mYה.֐_O9a[9G2O놓:[4)^dBQv hnI՟,(Q|zj?U l( mp-̄3aZ؂k'? =PǏpTԩp*&οrmt#  .>ݐ{2zO}ƫL>2SyVxP M_ϏGS_,ސp%?Qp"w/N<툆+l[yq-uK^C2 h84g/"NE0s5æ[qV{$N?ByU}'6a?Tb>ac#}ELrhPOᬠE`y1C6wUL% <  ɋ͟4%:Qh#4+@R!?GyS"d;kAײ n)3"%Tƕ#<%?/,GGx{s8tT8 UI =`ERH%SE X#<:OC"jb_@z>DX,:_q/$ENO o*i0B?2?ZP%,V6ҕRvPXuX6g(Ru1+ȃk .:| YV ƯHpWB]-~?[,8s*@6#xX~uZ F#*,\?45a5 I^y p8`ބ2b^vCA\niIdz<0 Y+կG؏gl_yYA7m5:1u+ 5?+x+Q=?X6.B&F-^*f'>фD*ꆗŚDe[muӝ!N\ΐt'`h[Pq{*/xp۠8}tA2V#k )J֌oyӪ'E4c v6(y/ 4-ՂF>ѵU7v0ap$R2uʄADiWivC[B(H (H]By4IG2Rܒi4 QyxG>&C:in)~)I]hp'OP$_=1xtG7z#tS^@v6Ra5i9[ ok!~NL#Zf2M;se PE[x{[F;Rg ;`GB" "t*gtWѪAyKk۸ ޻@C/f P*ⷬć%=S^NY?VTe\#6St@GTjO)?<O1[WԳ 'Dx8 mLx'3Bj?mY0/=w~Bɯq8eiRR@?=QpY"g9b(z A#>֢oo/BϷbG{|-|R/?jJaS/̞O+,7xo$տźgQQ?$mܰg "p{)S"A++[G}BЃZ-HW1."K޲`O[K[ZʸZMUy]k ]H"\9;_( YKK/6W]Wa'?GG]Pm/a9 (HfYs;!xh?no v[ [ FoW@ID!OXɰxB %Y䡔т>8w`+`$@>[| 0g'̘Y;q1 vbԹx, :!/D3}>(G Z'iu ݧ,;v^\"մ)Jψ,`%ݵ_ ^#Ռa+Qq$?A%|G6☭m篭w]gC0gFpQŋ=)A"WDn6jP?X/eF~Pi/=g#y$D @ 1ҚNyz%f|-o1OUp?ʽ$? Y މ_,F[ҥ=a !auɥ0@x$6|d xW"Fp $tuF |-Q] aߵЅ-0` wØƹ1VN<4g4X} &Xk^u>\ g\9/-ϕ޺o}'ĺb_Q8Ok6g YPQ xǶn5UBwTpm6x- <|)G[t<+5aĿk޴2&`>4 ۬Ao0ĵV| -<H/Nag<4lWSgUGx˷n=ǺL '/y\N oӢ|"s>?x셉/bb?sx .<Kć>e Uq EnJޏoEvS7N)!5_5 2J7&z<̌HKї% $,v~6kڭpjEWNNh},:R$x́rJ^ȯB#G%`dMpK)RυGc[R"I@]%``>.N)j_j,.LEYU1񶌡MWg;e0V/#x;S'3ɜ2>9}y݄j]n2~j2FV!tfwf D&3mXBb.u<i*J:MF/~x'?s1q×':c66?Di)7/eMEVQ;//³_k]tuFJۙם^>WA`n |MJZw'dL^"GN$qCD[;|@1^<#~ ϚŹ- ϓK}!waؾkb)^$Uu\ރͫamDw~DHC b=qGy2~gGpU!GgB=@X" C= |!xM A}A)IzK"3w Z׿*"ۦy(h>n NozߛcO>)}L=ٟw I#,Wt=Z?)X>9yʚ mp/A3Ê79Ÿ2o@sPX()Oç{2vSnW(hi|DSOYwM8c]*xDO"Շ=|?"'~֜P>bR%Ÿ_xc6~ېje18 8S.Ӓ';#7>y\qDɅ/9Շër軯,^xrSӗcR/[?]<'J0!~ kKi#/We_ߪ̾?hÓ:t:&>D^:@ 7͏|zu:\%#9_y%>'?x31jc/Jcv^՗c=P^w_f7{җV=/y~.Ô/Py?,~ ul֯xS T3j٩l(='`0/ mrK&$NS64ov_xkR9,O8I&z'/c*+P=pGbՁ[gڇFE,>;9\8/FZ1paѓ-rr})7T/xmeknIEΐcÑ -sMoO[Z3Om23o%jYFZ嘀i aFnE'^XEW|7eol-Z0$?wqG{yW^^l=lV>lЇsم:Oc>\]afWK[-A$h뇻놷B_8o- ?l&\βp)KCg:nu!,G5/|I< G}Cwb([8c/(ߒL n0 8g[=h<Ԫv];kDl>s'g O۴-%`Gu˛1\8MŤ#:o*cbnyaD[pN̓]>P rE1<u^#+~9jdMNYPyHCM^mF2xÿG6-ܘy&`w@{µT- sY"]'֑M#W/QNXt>yvb Gd:NXpsݘp0Sq{){Zm[wtDjIVlXj\f?;_2KXN2aC%!|_SŽ&={]f&`BN< l8&Mq"17^ytKэwQlyټ-sxOul>9E83M Éׅ^6-l޵S^-ϸӋcbz;p\ql86xpVmߦw}Jkb|_-Eu$EV6:0.B .Bg7/-Ce&`~<}WH3pgH#2fě͚j?=?qoӎi(;%1ە7+ p2B1s g K@(z2#of_;|µֆeܣlKf~"_'![djCl?Rg+%O9V&K?X,3Oq wKV-=]&^A|{G3v`{szɄ8x:.XtE;iʼnC']3l.,<_ig ?/֩8x_վBㄏ(ˀū.òzWGZu\{ 2H"j8e)O[Qkh=*N'[$[߈xK"Swš=yonjF)oPJ%&6mGt%>1,]qusxD%~@S$~mᱷJ+z.BM-?`ioq ;/+=^K 9=c=ϊvu56=N8Y2r)P\ sus g8n<[{z/HK'>{zf[佻; MF<?|8)Cn mt.f`]i LhNHL佟2֝FF\ \8ݵm?y6>F>FLē veHFaTrʬ.ʵcamsbS ׀c˃T)of]RuExV=es/xvhg#=߱F>ޖE}[FEc:Fȋwnvޮf:^ԩƹ-'WIrƼsvMOqm߈whՙEl)cJ~˔ 8шWp̵M֑Ĝ٘R 򎾈+v};:ԗFbL&EZqg`\7k^ky'\=u>9.K3 iX,_bqQtgVǝ c^(WK!MI.8Cee^h]G[Ϲ"Ow*zLuH)5pÁיf?Rl+kHXK̩a%o {焴WxYl,#P7vWƁGێoe{2Vt.1c[qZ'qQ',oZ9qEpI*9^01kJqVڬ[qBjSԶs@Wu|]8[ei݈+977=Z7댮"&9̄yoؖtAPG-6z6Bk}]X󠩜ЦxR\B>0rg򞴏^Eng {9Po&ܵ#'/Zl3.RqŷM?PxTKV>Q\Wȡ;v i וvo _ސٯ/>?[FUyףGBh3# :zǗ9׷GoJBZٯǷ/O Lfqp䳲DzQnʲ>PLM^ئk9D|rxċΈ?rFpq}"*v* wҍ f=`G(S҉0Vtv͈&ҤӖdcd'D 7󸌘\qF}sOo9Z~8SⰫC:]j8l88cZ;!rhqac7$݈oHh"]ȍ*Xp}&B>"ph'|PCzGGZRG0tQUYwؘ  G( w],;Y[̑x xY+*n>6Yu'!/zP<\!U.o߷tqcޥ'mY o;vd4U`bq4O5uQt❱7KB4et>A.:M{B!ފ2ש/u2|~ƫߥc"?1|b'|Z~s.4᫂8M /<F̀-㛂~2b?[}Ѳ*x!K&_Iw;e jvIp _,UT<wտWs&רvyp/81#_-Zyh}y/\ 5YqG=Xyl5ۥ&u܎Uho y_6ܖEܖeܖ< mʛpG|f>QܖDSns%ਹڒ^ʛp7 Y{zw3n[NKcui+Z6v.ZOXA.Bg}C9ne=Ck6zpd#$y,fݽ8l4wŭX6,yѐ3Ad҃w(k*o:@!FH['&t.x݄H|{:>03]i|/uO_G(:\ J>ۃHE";ڗXn* YExڹG i|ac'#Mhbwٓmհ|;0$87.^K%%WrP MFFs&]bC#ʰtFrۜx"u- 5]gwC`ɳT\ڃ-3FA pg9+*罟_px/k}wX`!8-Oh.X,6Y$BؖԬx}Bj4]EzɡO <\#@p49ę}۞ivisS !~Ɏ㋮Wt O~O縥0o6>-ě,-۫1nō@ DXoSOď_LCXsH%.fb0{F4„?zx/vwM˫O<:xv/0̓"tmݐCylă&±n+h';F?܋+r1:hk_yZ2.pqO[zڄ_bxH'4z c8<0!Bڻg4HO`/ t'}.l*:ǜ(a')O6|P}H?&,,_Ml+oH&_BNYSu+ ϻs߂K 'Yͫv<ÕV~qm&HK^"Kxz0(6sNwe#I >.# Fi>0> U5|j÷ExFRx_b _wYX3Vu"eQ"]OUꋲ`xG+obw:[ȥR*9(+lR3*GQ[72_t76,yK^,SSژnMƳ:+ΩclΚ6 o;1+n[R_8Z7Q:>1Qwņ/=ߦuNR=a:dNqDmz-/rR3#3(ng7ZU) 8=^\]&Jlv?:ބͥC{[e;R@a,{W}9hq4k8W/߿}~RXo<y򯴳FE򯛆u?,ev Wꩲ{ُ_W_/__*QFײaTcv5|Z%Q)/am;.4@!Tz>i nJFe?UNn?:9|^y9TH iUE+C?j!^YshfQ_Y٪Q;k ڋvZʹj)Uf7fQU:fQFmf[R=Hwyx]nd6ylTz%_TdGFl*K9YwAwկPIꙑۢcE#ۼk^Sb\+H7*VǬxf(\UH?>.ogf9$\%Kr/$@_R|qF?>ﯳ=|ˇ/ކQ"Ht??=ND~<<}yvh/O(Cp_C ~/L U-_ ڰ,X^YZ {ҥ j<*17Ku;2h'_?~0^f_PK]LCݵUPK1golang.org/x/sys@v0.26.0/unix/ztypes_linux_386.goZ[o㸒~vN|;ye'=h9%5IxIQ/IU}H/"y}EI]%y Ļ뚞2^yW_@zW_ 9E\Pe (+_[ɇ$Krw>9{}y f co#|Y}~l<]>[=ot^_'KnL#~RbF(%ъ@Fba3) R3aE%*:L9pvB?R5DpD (أ3D^_bTl b'BB*Bu&ZЪ*.e%Jhϊ˃p>y()  f ^1!uBTrlĔ(;TϬ yEB/Ӝ倐KS^d8P( mX:Tk)ThXw7{#SMuy/(6yxl`Iz"L#JOXeStfng <*˦" 3iN2}>4b0Su;+Pe׮;59X}/G(摪m(T1XLl̘,i R7?5a<NWl6@\=of/ j߀A@ՃXk}&QY=ů4H5ʷC8yaJ2\u;A `19F[(Yaj|UTuT]>9(<ɍӬĞXX'@U^.Ir4d=YiRO=E?J3yOWBZ! _65Բ^`*>Tڐ=F|1=UJI+oǬ(0"iӭ+\5 l7bgYrlYvK Ĕ%,3FIxE&~vy[xL86AxA 1پr .;>TSbpCX)&8 cIy8@k*?6@RyTob4RsDS)%C.50qw|BMaڢ-*1wri{`,Ί-7777ƘZ?/ }a潏J~i&a |cvN'1oeŕUl\IFdwk!>`  }S\X"ʴ=rU¸m 'O:WG͟LqWD#,8 9[ .Bv⻦eeFR")x )$=DHD(s9':S\f! }qAH"Q;0nb)ì_qFK䧈7DCw!~2݉hSY~#䇪+$3}(! x+pS-`_0 1|74%pA X>\զ `8na%B}7~ vΠv"՞K$m= @Ҙ{rDYFr4_D1ڈ欪E9 ~8P;3'K{k@񷟬 z(QQ.9v7U_L@lڌ?A4fe'xre[zl5,}um[ζ E֓D0};aލax.;7CeUrqbUPNEuY﵏fq]^eב]Aej][->Ң. 8 )} 10HC qkp!F&I3 &dxcqqazoqafhqnmB.f})@w N.}u{`B\~ 6hsMf.m fxN6m8;[pF޷l6`cp:ͱyuv\XvS#ϐb| R^3D4ǤVo)b (| 聸ф4)3s3ZRmێRHm |@yC#  }2 a/+ ~۰&\AjCzU1fyS_iuRKeɹLzg] u=IOE"l8LzTZ܂ Sxuw~+hB ΩrCL1@0\2Vwl|ۺ *=?CoT(?W.0?Ѡ)ү 4UWQ¡o'@N5W1Vx>4H 0FUtC()S5hIaHPT(ͪlVU+rF)~q#,jtO*FY`"U+J tM_X-u~1#I3mk *؁WP_aFҟJQoVw#;wWڼȼ\,nrnNVY~jPklWKϦB-N5/2̝l ]쬖~PIdlc_Tm@@ 6/3Qu6_*Tb1357~}<ïs׳9'+Ƅ@LCRm!Z3sZHPRb 3EV?Xlo@~?ހmm}U=0OE64a̧pӿe^DkZ}b9)ZzD*Q/Dzy! SH"#/*$3= <&jDM@24:z{?QPK'Pb 1PK3golang.org/x/sys@v0.26.0/unix/ztypes_linux_amd64.goZn:W_.‘۶cNFC`$ZXtHʝnHJ9䦻>V}$dY \'y\1 ;77\i !Br) Gzn qey4)ʷ^ )$T}J e@b(?a_LǓ9&`|ӹI|-q_DN &~t< GjÚowJȳDjpa 8c6E2RF oj" QW+"F L[e# _36wH/3~JobbJ2J*p&1XaL)vy"DXINuAT7f =-8V(3VL [j+v`F _f dT1%/깎eJAYJp8,<4۔gu1ۆf 8̥ؑ-/qvHY }<\&4)bISKDWX*2cl&RMny喼Jqv2dʀ^p LёC;6`(h1NT[ դͥslhF1c1eXȾ+nχAme7\\`NȨ[{x oG$7.m$F@g-潳B'glic7'ƾ+|G}@Ɠy[MDJy3}NqO ͣcE6yrO%A f4C$gyaB\MG(̠ܹw-T)an?ug^Du mo(x;wgX;Wk:u EobBr.irTj5=5FoUJ%A:*[{*Gڲtqz¬ yb@ڠ<7[OЦ7tWwxs\EQGq*4rE8g1=Ȅ8Mn _2ӊGW1iDipB f`}8;QRG-"^lo|e0%lp#Uz<1512Hi$ꚝoծfi*?G-?Bk^2VNڵd϶Bݲhw HoW;G^3Cʐ[ibL5轔`-Lo*m0X4Le(NU0ו|*c=3i>㭮=Ƒ~A};g7 w>s3>3>g}FxΌܛ@C ,>bCZ4|lAl&>ȽMv.>L!6> ]>>ЭK|.%ɇon V>TAˇ7y`&1ld6`nDoùކsS7j}m h6'cľllݙW;ji3bļxxBa?"Z+g1"TV[ف7J7r{j^ Nx;s3*\o} z\C$H*;+`tBɺPTq7m u % 1Kޢj_=0d}zwaZ_b1?Wkqf뜞˔)qS E7G!=3{$q@YŽ5'R}ݏj>ďӷEN5*ϯȼ?%VPV6D׶v}qu|+TܚěV"ZV? PQD. ~x+P[:ؖ4~2gb%H< ^%?,N;{*+O`XHΦ^泉>J*|kOK]cJa!ERWZJə#Zhi) A 2/+w|%z x3^no]e [_ kn l.x ~1&xqgy9_Vۣ)%_!,c=@nz7 |eϚx Y C1z=_ے~VlI+Xt gPK> 1PK1golang.org/x/sys@v0.26.0/unix/ztypes_linux_arm.goZs⸓j&&} 7@(Lfr)0Zd&ٻ߿%%Y$[ߪ%[Ԗty "A; >Ͽ'vɎ%$Z| |)@d8f82W/DcZiH,(K ) %=qq<<8! Njcq&csy\,/ÝN LrENE@n̋ XMo31!ffl cPm!k"&uƐ<ږIUM*ϛ?W;C0t,l]Q-7-Jn$ġM/p˘Y[> ~lzAS'I|24)? K,vlx:G̈sfo݁Mː#^f8?N,Ca={[k#@9N (R 2|rzԹX8A3 3(*xcLPnOT_w;53m\,adɮloI6Ljz\j5c0冃+14v$sL[IzD/Iޯ해93Df9.S3S8[ύOGX$d9 `en0#^e2蘏) @r$E̐iwqTqY1Ru۹9E9kvp#T XYSE7 WK\<>CڹX0+N=_Ő)ru: T3DΊٯŚ%A9#b,*1v1`*~g kb stBb^ p)3~Grdvj?[EuR*sR-AXIULigǁiIT*WivM8~sxȜ#(^9+Rm*LXmX0xlFfJ!A )Ψ19z5WqV:OzXZ{KOМյ]*:SꉺfGPSlp7VmM,yn0IYddoK5MdhKSFYq5YFdN@WWWWVIvOE:"_`VM(Z{t4GcY&`=-N6a(X= nӼPn."G\PkM`j~uXd`sĹQ4z}FKFEj =2HMz,ֆq$긭9 OW(AYEqQd k F^-6§E!ĹO(1=%U'LXebGjx6#֫ 0*UcH.|g} :DƾzAEշy:##B|x? C$o N-5I!q`K}12튣1y %|f== :kBb)媍p+ {gu4s:Դk2X˜yU^V +̿R7̠7T"qQHȌ|gC77DUeTU2X=fPVmVI0b%+,WjIzؕ\WҗvڢmҒGIn-NȺWҚOU5GS|xn ʢOxrpmQV[I_5v}nc'5}ƴO7l7q|`X?}[Ӿpg:\_]gC\[N} rÇ~ lG|[v_90]x\;0}u@\|ۖO>])mC~`m|~39pnù)7h9`+[35 Pȳѐľ;w SGĈyqccV0 "T&m !lG}1hDu"mFЯ (qY;)u0#Ja\P\a S5W>ssuJsN40r%bj__[wN nβכ`5Sj *dΊE$W=VW(5@:P+Hf+;8y(uѩ>ԭŗ"sY?1j71 kɊ'0K751'D"H jF8w̍w y 'ñgι^O7j#j(&SəcA*YNW\޽J?3i]kG;.ǒ J9iJ,1~tupcl5>Vo1bC!ZTVrӎb(u]d;v_}1Y\+!BI+3~VxbX t1{-z>SDYͫ|48o໪e|r|:t1;Ɇ6[/|J93_ܮmϺvaSEy̛%+Yuܣ[5iZ4oHmzSu|a4u7 ]Hl2ngjo/ֈ"r2.n,7UV4J|8'JkH<`-gTE?<ɐCj̗k a3|q-.XRhFۨ ǿ;㯸]۶cNFC`̉,IʝnE"%*=3x%UH^] Jep`2}=$+~ʮ0=W]~q.)EcNt97$ <ty`$J $ˀ}R(JtzR?Di yi((7ďtIszB mr~@Gzܡd\]E>$Q_2tGv:A0s%@zXsoz44J/ .о@>jÎe ip-D]?gxrx54/' ;.4oB)URL[y"©' '\#H(.$ 'aJ Ub1Yg ٕ&5#9pd0rLbd mŔR[϶b Bf~8%KՉ]ċX全$fHʿ( LCGMDV7hͿmh2VüdfKbnfbqfOT@)?涼dKBd48Hi)vۈt68k^%Q1IbO$D&oB@Sd1&4+;DLǜT'ɦslhFJm&BbM`0@CR{Nx؛ _JMum!#jY@bYˆn_` +xUgj҇ix lBDdqSԋ/ +J!b:w I^lˋh$.'5ÉɔO#΄)8ŗ?jWݨ,8BTaYO$Ӊp"#u e?E"N> /pW*gBs~up_Q!P |78fpA,"UpAt$8^*rn4A$bz#D[ GSQQbwIm>Ԙ QWe)wLuDs4pbl9Ƕ^/ AȽ% ٿD3鷟dJ ˗(uWn=CQ.R; QG۾neX}Me iTe(FrnU0-l=u*8MPEta.GeQ][cneU]~eT]e6##ߘ][0 \I[\E…Z,\k 1y m".ȍ8 n ӫqa56.̠FDž@uB.ШX48P Ruʅ5hP&/l$ \&5mzކ| n6`#ۀl  ԇ'y薧Ծk;ݘ pj}?:1|S*$ta1?0bJ%ڹSJgLbcONb`1uX6W]]ѸVNox!/qu,pܒX;zCmM [/s T]w qC%.Q"ILqSs% 2EO޽",Zc 'ib$5vDXĕW hW>q]^c->Ig?mѷO 876E`BJ2 Z53@]Cμai8'W4U:2?˟c/PO9Ѡ9mᯭQU٬[R䬶Za#jZ,0_4"bTY+>WKBR,I"݌ Ѻ.~!!',ضH2~9?&b$i%g]Զ1ռn4jU~z/ٷgjoZUzjkjך^L34sOc͝Vk/PcZV?PгqC6^Tny3 M0ʗJD _ykFpƀ[6ә5|D1/N* a>q|MS-ƌ>oy.;}Rk}yY-Jhi)2/KWrm?ݭǛro>vqOڶm(m}]Bfͦ;)[ mC|2GAč ,X=IqYɧj{SrR6"CX+7B|T9~T\X`% =!dVDĈxb?L%y2ؒVhD-PK l^ R0PK5golang.org/x/sys@v0.26.0/unix/ztypes_linux_loong64.goZ]s8־BWSLUw:yHB*˥hbl$ߒaI险nsΣs}%K)x?c%;igppYށwaw!9( G,Jg%{+}? )3p|)r'yy@2D C1x~@0|O"֓x1y߃#X>nd<۾t./K@2?$w:^`@N'3u.6wW+(<9: ”pƆm#ewb" QK"w - ^ "W];=Ek)A_+R,xZJ1Vld%MӀ fL#VE"Vvɪ{N*C@lxπd3N$0Blņ=ۊ-QB~Cl)UGj<'V\2D%QCRyro8EE{KʫAHYWBi;2)3+7K^o0gik@ʏ-/hB2N?d0Z>E /SpK+d>1)^ ;:?UNJSA.}\x>'Ţ s"ܪ܌1A Eq7Q2- 7%k׿~uwm)@#ɉKI=QfYۉ9#v|6J@ur^Yy7v]C4<c: Ǐr2W+@*f"k:M8&i0+sڇqRSWL$A̰i(,H(O-Øh ]PA9W_gIe*b ][A1"t%5F.)L2\]bPzPey\-Ɛߓ zCY=)y%r"[{*3mYfKi´ yb@Z\+UNBح6!PDU;QDN(^SBx3ZY(5=jaV0"nsS5)ARsC#bj*?պl ҬHջJ>Tqfi*?,?Bk2Vƪk/B½b3Pbکgʷܲ&pL`8$n.|?<ԗfQ.8N'VuUןpaR3>? R($Tv1U$k\pBjzy0Kz}g?ԚR/4qfHHU֌ŵoKԔ }gH1BY$GE`qS2 @Pa(-d|zw ν^lϋhg>'dJ,$'LXibQ~僗LJs )oV!ku V= jG/DQ[&6&b{ pm>Ԙ+XyLќ2(?#%ޱm@(( ʋ\Dyvn3|JgW2\GEEO VOwF]Wp4m0r-= 7D Kr?#AJ䚮e iT2tbyl*h>[Omc=3^ۦq"z1uL>뭱ao>ngՁ}~gC#~mهFtg1&k2z&oq!,>bC\[4|`Anl&>ȭMt.>L!6>̕CLJ||k4t@\J>Mu A]w|^o|Avݤ惹5ކs V{-ܰQmF# ?ȏcxknZm|>?pLKT (Ά3S\XLKb fŻHV0pٙ$e ;t|USv7+UKJ|:Gy+XD8  >!B2EV iխ>ʜo}2MFcπs(Oj'JcA*Zm"x&i*'fzw2̏Aqh*Bi=K1};s =x\9ĎZiZFZI/I(bVW\KgaQ>8 _[r<%C!B_[Q]Y/[Ri BqjtW*F`&btY+վTKNeM,pƟ.}QOK:lضgV’ >Ts|Gm;3՜ŏ?ҷynnYy~PSAkiZԷCzMSyu|*4神{o_s-}A򒓺q;)sW_з.mи9P[*ؔ46:leט0KM)NۨJ~Y"v7<rmݫY!42/Q\lc4{Z>EjT׈RDXHײ^W>VkijRr.yT m0-%!(cQ֥t>(ߖ~ڄj-6Cmc `d<em`_ph\1_iVD+DF:?2ݛBPAB]] uu_ R[^scD#`#" BCNl4n uE\dcuBNCv{Cc5?\~"-{j*kr,h9nDz_Rzx{g`g١Zlg,8DHgLjO.6)AEΩ JYV;g8k}k~ vmjrSC/Gԫ54GO7Jޓ5]S[oWs qFuXqITףi)a >ITϽ_m'-è]'Z`vMLuI43 lZ+#pR/o |5þ8xH`LjL!6mT5PRǩp;\ԵeAف[7Rِtĩ t7a}d}lV$)LNNOzMZGEWYS[SXV!{l>,Fh`0(2=;;;sļxNG9.[j *ƙ]`D<ܩB2Ӈh8ƺPi GY?K"4/Ē F6ٓO"7@w`̓ᴑ 䴕$p}0фIIJmlR?ux?X[QZ?$[oD.(((.w fJ*( F\IbmI"|Q4"K 6SZG ҈~nmexItL=n3X"0D7?BCtb*>iSǐeD[X0?;ACD]Va"=h؈8֙l lC`q(7W5Jޕ8YΪV)?S𷊁ԙܧy_ʸ(_! qd ooqt=fmu;5h,U6mΎ.>&%"3l x vq>~]G=OCyy`rEu٥A]uyP]bMC>vHy{)y0mFes\x 7-6ȇA|tx|KDKgp8zb=~G]Sۖm㶅q[x-9z=^Ko?^yݨlqy|FfQgi]y\ZRVǥu( yRǣD̨ؐԽ$Ld_QG*:@/8wNރO[aK"`c<C; ZZX r,Ӊ{pjY%lIEvU͍-v2A-pRnQko{?uba_?\cE6y:4`iqg󋛏Zg.E2d42eKH V=*@۶uNЭ3 [Gy,rDuzh#!x GFgS@ пgdhjcH0c+ ]ICꢌg*Rrrx)c}˸* n@yKXi_#S:'w[TV-%'.jN)ݪ,w7䜶3VBtjFa eALJ,7~IVR7H..AmA ''^e3b?W[<s^$0z:1[o%SKC}ƀ~`ژ]y8t=hԧB/-|"FEٟ4>J߅!;ߥGi_,}Wp<;[i+Oxtg'UUqn;;TyVbf?Ϛwyd󒲓0̔fX{O2&ӛk#mvMjkmw,syGHtMPKE|jW 1PK4golang.org/x/sys@v0.26.0/unix/ztypes_linux_mips64.goZ]8.~^]_4]Ul^ "WrBjvN 53zGl_^(ѻ$aл.<z)z()z8$B&6dQZƀR/>$Ga_䌿O% PP!FϯEဳZ!~hFdӹL|.I#׿dݝN=Nyt ui5F,Uq8N=p$}ESYrH͝Ћ Ǻ95CʘT: iP5j\k4ꝧ(t4IvJa4Ou]B<5!Śdb6ilצǨtttJfͰ4mI @ChQLG3 ՕKt>&UOs*h=믤Bp^H|?u(-&)lo{n3gJqRSW6DY@͍Y&kߎhBl/ghIяBx!' lj)-N#iD? p@XLRY^`L$¨D)׍ɛmb!@?M{qߐҏr F|!G< ıF#0aWJ8x!"!lJÇbrGӻ3r dh; :_ZEim9 kMEmDs*҈b#YrG8C^5~5gl"SU O wl[>Bubq!V^"ʋsB'+@]r Vp,J~`@@¯P=~m5R ;Ao۸۸7676_'Wx|Dgp 8zc=vm{lSc1-Nz=VEBXSmPc 1ylfafi^yLRfǤ6<EE1cQOQԽ;uT~}g_Lv;{}lİԧ)kJ(3[v +no,ǖk(CzKNRT 1I-;{^>FuU) )QG{Ω>5M.Å> G.R8+%%Smy ǯS=6/ vC^ivi6z祊Y%BÃr(߶~X+|-m+v'm7\_ r6muGxGw;WvgbռꍨN۽-%%Ut!+C<u; E_!!Q;OfW7К4ǜG;7@tBPKYQaL 0PK6golang.org/x/sys@v0.26.0/unix/ztypes_linux_mips64le.goZ]s8BWoLUw:[s$ltoRla4-t2߷d}XezfnsΣsIGt} $!ZPFʈ\mP$jIQ$a8ô_1J~iqrOз  *K)ي wfӈA8ϔb,BZOHh1Yt/Ic13`00S`2LmŔ[a/b 1fn0Ɛ!%D.yfUu,S JT5$)QdX䱧غ<444 J(a&E-ǎLmy}ݒ;,KSi ,L'Ln_bۆsȌsչj̬`ܫ:RͲ\Cd#2ѐql|pu,b!NH>1|Rgբ qz܏g`n M0ABOle7\m\-ad=gbut$~9 9pi 9 >+9vr6AUr^Yݿ!|q?|'Or:T@*Of*[FMa}0+spO5C`8-$ bMGaArGyj&T I_q |7)BTW֨彨d Dx 7s> k>mlcHUth@Mѥ2PŸ&'Z*b [A1"zBծSż598tŠ(9T#K^cIvLٞ`Y|UV[{*[ڲ-S/bFhs]Ī%o_u+2RjakL ?5 FQ^1fAh(l>*@#22c^@5?ePbqb#|^D89q'&SRf!A08cJ ( 4|!ЍJ 1ך9p7%1?)91/L P;BkS)⤾!ҏrN׿ vCH(?o/ 7 F0$.@#̐bo4iJ/A,<ܪ8>|ݦ0P8`Bz7~ nc͠vN(`hc*j"ܩH!gIC8:Ogt)ӈ1YۆBybq!V^ė"ʋKD\gOV2:*G7>2X=gۍxw]{Ҙc՛#jZ@ }ZkkT, 2SX7i>9{Cgw:ذ7[{u`_Go>}g`>Gp5=з87 b`!n->| w6Mt.>L!6>̍CLJ||[4t@\J>]Aʃ6XP-4`&3Iss &z6-a#ۀo6F@1 Pȣ ˉ}vT޻3/&ORG,'Vo)bD(o]6 =ި1Yz-dePj#7v0vބK,y"|uow$ "Q˥mgA\/?ôDH83UNOeʔD)ֹK"YA0yf$1.(KءēpW>穫XՃʽn,SEA& ul]q"W٣|puk2۸QahtiaCeR2i95Rz Z/񬔜KB6$Rr;ʷ_6tG uh߽Ѕ=aX;arh0t<em`?˜M'xqg|ſVijXVz#n]~~Mߕ! SQsND#+_ " &3WJ1Zd&ٻWXEfv몖D?u$K/Jr]ǰ޻_.ٱ<₦pYyᅠ4}Br⽣ 1y:gQZ8+_.k}{#eEN$\^z~@1Weӣf:,{ort2߾t./%Nc~t P^N'3ʼu.5#}H"!{S1Сg쪯[|Z@QFʈy\yujPzƒ‹_1PnGU!Z#`^XI2S0JUnBS5SgRS (@ [J &8;!f x*C8*QG)b l {Г1!@!:RmHXrK/e]%s "26%EC%YBi(rlY^l2=~5+ z9ͫ,/iB$:p)4+,fT2o&pWΙ5{`_=)B |5V)Zdž[KcX-7)G9V՚ҹX$~K2Nxh3:*k_z'&@wFuQ Y ;t.VKz6լ"g0$~كX]4"&g,- XNj&+ L[q"֌լǮZծ2M>v5NR WC0͵B6[Gd5  (ܡ#N_=]>S|a# 0M 9ˣ<5gas9 qxЅ2D5iojb WQ/9M[=~تLj3:,K +dOV$)=ٟ${c- >”hv1KQzk}65>d gi׻6w${C)ﭬɎ:osJ):P" ӵQ5Wfa\Φ5#( $\z?ɽȅ )Ö`ZD`SR&)QIA8}cFk6ֶJqˍ5񡐛Ų9Oj Z$+.{noR&ydՌ!q7%y0kj]I؍9uowijV(wY Дid|u6E,V~f tn7i/ L}?8oDt}].(0#7  {q!$o N-3HBq `Na)}Æ bبneQ}𛅕a)>#j9=:%@[UaVD8Khli9x֯c"XUmD{Uռ0&?K_s/37]ʩK{w.uqR.Uڥh]k͹K?Լ4.p:Sp B .ĵAÅ<\&d|48 ŅYd\ƅ0 tmr6#Miqr>H9P+עBۼ\61lf]`vف~gG9gpVܟ5[Ӏ8 XN[s~u?Mn!?#ȣRG,')b T92mClG]=궊1ubVRy%31?lx~8;ctB8d_G:CO/(:3N@BXHN^3DF1ƪ}׋<o?_6":2e`zbd qy_ͽ'pρyl9OmcTgַjnÏ|ZL> o.]q-BjYeEu"o4MТ<͢FXsD J8R 䔐}oi>k8~w8?֚-?0?(=Ѡ)Үt,UWQ!?O-wZK;zF׸:)F!"h͹¢|NqCK!B޹jyi7e=۔"gĭ@| W3RD (rgU0NV{ӴSE$(KSpW"Rzwߡ,8 _+%y*% q&$Z";`%qZaw$d0jQvƒ‹ @|t0B"c jK3JJ0bDUB&s-XP"WUE9- ;h"l1YlӰ΁hK6ܬqDs!lR['[B$ŁWW_^9X#s 3=mČ/?U`[6fE⩶ QG2C/Y)3<#&fdf;*SV.X$0M{$QtywH17|3}="g* g$6$ LS^&Mʞ 'Q>nk[\#! >^cdU?YGv$&)vސPMIgo6% rѕ`oz'sTW)?I6LZvlAN5;[orD4 hNP 96dG~FIBp: B ڑ50Mxc$/A8B4n4 KZ&}-S7`s$W.V1bN`mg^.!+iSgh{' ӵcaR쭕{?7CZwҭEu:jB5ѧ<:)g?-" Ҩ9mBo' LwΥ֤8=d* zQ62~C`}~-|U[rcm~Bҩ+꘩"[<%-Ri\ӂSa \ߖN ku$qZvܸ6 !\L][HVTeM2"9*XUn̹m@8oâWFMaMF.(ip}*8(ڵ\hIE!SA5%zaiJnbSܒv$Zvj<57tMjCݥH.6fJ\o,~ewTY6Kn]f.-e:1Kzuj/Fxpz?u6qvvvf~:]&H#̼ aϣm̝):LF0ou7hFta1i$ miscjv@w`|sũŲOj$7@V$m)!,$Tq /cyu>^75 'حnb+,U;Jn" \1ȞIb#|V"J8)ʎ#)DǸq<[HP"ZϺ?68}WkƈMD61O\?8lDzD׏ ;ŀB<ʏ#wā'ľc?P-.@#P lWQ#6|ˆD+ D U}<4$bAbhdb3RXg"J!V[ؖA- W󵑼+iEtUc\ԛF3<9hj^ėED","Q .jcjسSa0YErfmcY"? ڽu0MEwǁ7ݛ+/.bwe}n|O>zGyy`rEu٥A]uyP</cta}DɃ9w)y0.#%\9|<a|tx 76MœNd{NP{v<{v({v{v{VzVzVzVvWfzfzftzf`zFLzF8zF$zFzmymuڨ(ۀ(uyt:<:a.NŕGBʣRQ@ꪮe y42|<9 dFF]S Donnx 85@7VbVf$O2ݠq7wѤNSEyvnЯ-="m'0sǬ텁>lWEy/Q(4;bg^gJYw_mDҼn!§sV9lկ/XwN VuUN')_ȩy ̛RKInUĐŰv.As.儓"Gy`^/|/ʫdi{w}nNyN;k0ճ'x`@Y꿉2[Rϊʠ#Vy`|W Νssj͸?zcQ%Qi\ETB 94H? CRnM$ͫ䩄IsMuoR,v%y*2r{OI̪|b[/e֒ lbq9^7E` ѡ[..ܰ.8Ĭ {iۗ`_ =-<$8s3E~WSj5P/9.fFWj-!)0^*ߤX?t 37++5;Ȟ[Jd-8 #K_^PŷH?7JuHC= }CEl ۇv+e_MjǷJL*JѾЋ#0xsV-p_ z틔%0{ar5YQİ͗kekEվb~{w(O2<}MM|i=ZO&+KF3 LÖnb>;g (|ׂBX%W0)jh(;Ҕ{/Q|;Z-,R Wy,M"eV]t]o<&0o.nwl?)pgX[V}Fafò2)\_م?Zrv7`8xv ˙)` FY˒JRHh-_{!u!(N .-0x=!s/2ߜwWeW㘓HYH^@*G]Y0>-z((@)@1="=bh9 g=> ^<-"YO?5Uz%w8T׋q f)B[y*=?z@GAyFVd1N靅#:3?)/bgE _Er~};{lpY1/͓R#WLIM8F\9VE1hCSlp;ɢdt7dÑ$d*f{َ#϶c Bf-RͷW,)]{f<'^\eZAUbH8"[VLCXij;qlf3o2n*w˞4Y!4 ʶg,eyL3Is1mb?'asč¡~UX<#ΰ(C{" 2{ǎl5->N,lDŽGEc::d\zg'xU!=%{F{l K3ewmlk>ItQc`L2-yEX!Ǵsý6%gYc}hr1 Dj> F:S8j֕zXap8N h${Es!" Bf@\a7b&JZ".2+0dشRuXN7O,R0gF+Mu0"L)=_͙Q3NZ;&Z0KHk 9|g,ZTHQIqP}K]c 9mL%=F36zwI(:ػtaQArLiVc^Q9Z_'ZGձzBEo"z}9eRH Hݴ8%}_oz{=3x)I.f,7p1Azb3n!#c'eVkq9lWFMaO:&8i乾*8(޷\vb )]5=uz`iʳE{Q|Sْtkޖr~zO[6;[\4f\%q,^GLǑEkTY6:؋sm3Ɖi^hQLGeft9|xjF 7!)ଖV+&QD<7 9'1,GEz7zT7p ue5Pj֨/y2֗WΦ̚"3y6N4|RO}Jrc4a%@LM I ScbGBx,7B67m I7AYEqQ gk )Yl/k$“dJ<ӈ@ 1QVWY j%lSODxHDo#'#8[`o"-8BAAa_;@#}q褩ҏ(b4+%+{e12v"brsAt<,$`Bw~AA\cUq;STƶ)\EsB-ӣ9Zıjok/q=sΙF-?#ޱmwf{E|-|=5KĉBxc)KZ㲚aSv̓d6"{>&%ݟ.toѝ^ׯ7^]/.e}n}O>z.=<.7K̓2>tyP/cta}(\<+s`n>wx 2ȭŃdS xG#jֳ`KU,zl=qK%nԩ'lJ6 Mz=QC!BO՟'JЪl jybZfV')]yBJRR' <)OD*i/!/}xy"< P_ +ulf$O2]<r7wlXsΦLyvnw͇L2cON2`Yo*W/ͰrQ;|u* b;TgžXE΁[vUf`+nДZ֧Z`1N/q^ Zs#+e4WWR cd]+pRvORxz yʷ<p֮{IsR~*myNIt2$))_ ,vt6#t:ԼrK^8;2ec8ȡMXSbOkGCҹ74ACߑUK0AReT BQt.6܃v.JTɠ{DMx{$.$<4CAh)3GGNmi##tWǶ+|G~LOiYǣjKi5~^źrΣcY4Wo'^:8~4pH 濋‚,2+9vpc UNS]YQE]7 wK͜?ڹX0Oֲ|)?.R;ޢPפ"TNjJtvyƈ Jjv0zsIjdtptaQArB#Ɩ\ƨߑ l{)ʓb1OAWYE?nilizw_fN&RUm %P(/zczާ<IAd.f&C r1Aj!K!j *FKiYnNO52{h6lFq˭P[U"=׺69)ǚ˄ T)Z!A1)}!bj*?#J$yT{Q|KSdoZaVr~]g g-6;41yn8#eyO\e.IlJui9^x/@|t]{-fY+iF* X {0>]z^e5j=̇k2I5PdZ0yޕGsjM)Lyg5aTpfl@(}['I"7Y0 +f:mmp7AQQ^f f c·1Aܧ{=||NljɔYHL#N)0 x͟Z}Dh&cS5O50r>nJuc$@]D}b ^>"hAvl]Q}Ŷ#w&< P~`AnJ8L0C^僾)=|tsAt,BiUinb=7|Vw(mGDsQE H8KZ}Ԉ6j ՙ|,`Q^%?%}g)㈳KZCzPz.t"{c6(y{̺@m\KQrykևݮ_cU 1ݪX۝ 2SXJ nW}u:AYouTر7[{u`3_ס}g1#ߚ};p5=peq!->DbCX4|`Anm&>ȝMw.>L!\9l|kw@7.!h2>|'Aʃ6XP-nMf>MxM6m87[pF޷l6`c>='k팾wkވ4v;#q#R6XNhRňPP^4#d;6iTܳ)Qޫ۽8ex858Eܣ; \z\8_$Jm {m <3.vzBpy#mM@̒(W Y"iAS$j} > Q7'P\Y)gL(1@\C,!a<[3%l_[`{Niv.>婫:X={W;Ny+XLɌ2"HqZSDVheqt,<3\,E*^duyJi!DŽi \H~B$O\$\uA 66OVU,gu9BU£o|#{/e,a+MKP3m5bE12F.;(_RoҒV7oᯭQuY-ZbZōH?b..PЗ]-G_Ĕ^Q}yI<2pЗi1A M y .Cvby9YLЎaAbAQ4F5;@vӥuEVN盯4QJAyJ?ϣ,d[_0nHqY8%:tD h*Z{$B\< uqU#N: b‘4Wvˉʌ b,G9Zr3E+iԑ݄SQ#|F"i*&KiDjݓmHɊ޵HߖUB " ~ TpxL^B~/OAEY ɣ(Z^8}oqXfEmsխ0@-0Λ~WdMuzIm"`fC=~d2*zx#H]^Lj=Z1 7Sr,74Z*攗Џ4FP~gttR\Z@ؓK|9]kXнD؜-[Q6_KoM*v "](!i! 6ByH{Ūܾ\sh&HeFDRYy$e=bL^hv\6Jbcӧp6N-bP1} r'5d;c͜ẏ-\cH@lGo2EY )u ;҈)w,T9ףu۰loPhOJ{@z~aax9A/H!#%߽izHINRfyvT}c@uv9Y*X9l]7VF;{3rZ$9D)>iYe)z oY^/OEfD^*iOJ{iMzUT _!,H4_05MُYc;ϗ31xk<߀/;;37-״_k8 pPa'6vǃ:T RJL}ŌR0vaFbSI9Y5gok)ݛf`ԜǔF8~^[e1xfegL@ԛLAF6$qqyEbHUS/D^n֮:/\WzzX7J\f qwNjR4:are~N+Zw.K֣W2udf9JV!tf.c Q+Fz}Ń=͸h'xdJ'\$M͉*7*@H:$e+ ?5'QH>CQXFk1*)Lupyey*9 $"& $yՊYך@Sa1#ey2ӈ#e"@ 1(Qr*H5%X[Zj=frj5`S; ^EAU?E"Mޭ'cdOlOӈ{ %2k0zԈgFB4G8I 6fCÆ R)N#$$X?@~5vA m瞙ARsw֢6\b0F財p_e45xlm`|sQC>O-?gd+[گC]O9d C~r&T(Ib;)DԒBbJdм9ʑE4D -ѷʕE4R,"]Vl:Zd}&jm@y 룳E8}ڤj6jހ{{/6qql6U&65pnwpo`\]l k1WZ6@†°!z67=dGbX K#gchl+#f`c]@C3" 4jdCݴ/[QPVX6T v#ۡ`fwD™ޅ3S7l}] A Tߔ1U5`uڹޑlO{檐|&4 ê,VȪK{,)婓ۤPi4! \)Pҹ"CEHV7js;ZyAP!A!%jBHW]+;K 2Q:%Lp\ⲈHB>O"=Sދ1T,{;3Jte{Jڗ=e:YŃ_~7u9 GN8٫^Ô#axyBZl5E6JOߠ xh1LeΙQi$U‰\6%bjHP 97MA>FU]Z5ژ?b?0yWz +_5_$Z=uJ"MTYCJt8t':MD1Agw=&4 ߉vKsAB^TB`Z^mY{wmiWs [yf3_R&%t.֟}/-|B&vYw$ӀJk)<_EN-o:6IN;џj"!c^-;t:6TFsVwQoro \%?x΁xx+~T@n^_"Pzuc'*/#U+Fq!,/q#,ohR\U=N 22F05_9 o]LI5+We%:v̧ÚQuYH1焉b^vͯ"&e')Z%9c$Jʔ9V᝻2PۣoWM6(eZ!wUfƹGJ~;c>MConK'?OtL}ŭZowpr\EpvX-u57f,ͫ! 1M~Jxe #"}?TSeiZFyXMu*UyYJ|L7;Y9.|z ^Mpzz>mrc=DE" vuh oNƁN|nW&VÅ'1̗u^1 LX;Jӂ&Ovl+o ;c'6l5p%8vܙ~k[q[l3[UM۷DgEjA:9j-] ,Yx6| Yu7 S+noA7ޚ; ^ kYxN*܏[ 蔂9ķ`i0F0@¢EcfhFr4§m1{oUTZjQ٭V.źւEg,::cgu'uk贎h\OJ w3s6y0^z٫-.M`Lv66:(hZo}o>+qhhbνa}~PK|;PK3golang.org/x/sys@v0.26.0/unix/ztypes_linux_s390x.goZo8 >-@MaN|vB`̍,$&{@Hvv3<=EqZH`I[B诧|Wˏg/|YNE'cNbt2$*ta$!9)-K /V9=Ңz"BsH+[@q ukwٔΔn&L>-|5pq9s,e?$q0hw${UdB<}Dl4n ME\das\X˯[S~Z!a+/ƃ;8Ahu0)Ω{_ b;c!:CFd2t<'^G엺Z@&"T΄r4Vz 8|vmrQTf!~ʒv@CZJɆVh}yY3moXU)ZmRH-H=SR}JʼA.(Im2zI:RXhDMq&\yT$S+@Rgé^YF˸Yc61MV`O`J|5ko}IFb5A ;y F u310YMÇ֑,>>n nULLs=d`UpQ҄ԊNb im5̲ȺĊq#AĩFMgKҭVcNxӪU'}mǵ=vP0UoErQg9Xr,lwZfm:[R1;ى1 ³3w Qn,Ӆ |ƙ ]'w!63zKeAJr Rua!i^(m{D99m26)+N["ɭ3UuY2a%@vDC gz6@_?ҿ H9-@PVQ\T9j2q@=^/.l4qIrfJ<=r@٨Po}y[H&%NxX󟾉(F!≛o)pZ`o"vaGW#>ʏ#ẃF+6bq ITDuCׇbb { +I !H;XܵΠQTVQXg+"[Fh|5w}ZM&JsϖFtL@Sڶ| D/e\v8O7N28z:.+JSD |&r1,mo ?CMyfuH{ xLAwxȾr{)vq^]/.ǯ v!]tyP]jUK̃>thy@7V)O枵9y0mJEs&\x [t<Crr >T< D+=7=7=7=7='w=v'm=v'c=v'Y+;O=f;E=f;;=f;1=f+'=V+=V+=V+ =&<&MyMy&<6f0$Ǧc)1lt"uM*<>E%MD} _:o웥Ns?bV%E-Z)׌ Pf:Tf ]:I#D]tdVUN2`v,sſՊmLeFV#Z^i^;?J?wnKkfjs\|f86v9pG^B촯iX\:âR\p:N3*h7Z$-UR[ {6{.SN8)r7ԺޟBms9nѕ!/+sUǂu;MZdAv0d42JH Z.;A[M>[WzZ!,p0 =EyǢETV+}8R+lͷS@ʭs_(ټ*Z$in/:ѡگy !vZx)c}˸* n@{GB 8wb wFe8zvʉV"V߿ECb~wp( }CΉ:[$kQ;Hgfd P49)֐eTC㵮mo:\̻݃8G:_rOM3FRrpXy LQ=l6 (# *VL;2*"i 3ns a$ϴb@qQ=jU*9LHvJsb%,&KI"Qf7R*U0AȮ%Dzz 䪤R%j˖,Işˍ9>y)( +˖f_(cuJ4rܐ+OIIY9}Dž]>{NsJ~(]yȖit$)3!b-3nlD:܊U疪n!_ܱQ16KIG#~אX}bⱚq1vXu/s6miƮI ՀPPPbEtQ iJx؛ Wٶ*5wDDQ/[PJ+i=M eAʯ{sBX+?tgZ_H)ڬ-)d/hFd'+j!_ e37QXМQ:#q%czAa5ͯ{_=P'=WՍZ9M4m ]=՞&;9`3@ҩvʒCtt1Ie&x/UJLnyƩ JiR5<6IW ڏgRH"[fh}S)?<9/wO,i޻V'ƪ"X;LQg/QAĂTMs#X@b/וĞLVEEوY%k񟒍)NHdD3K'[YUecze$\Xe[`crqJ5h[L!:-7Sڶk͜Qch%S)1# p O?沾P0|"XMrZh$> ,92,4EYF-Иt00b8 @.$a2Y XyInpj0 pJ.13 o'g=q&Bu%Uj_~V˙EB䬽\$uBNbl,+{3g>JqR̃+8i$6(A*1+ڷ#JD٤VC(#l Dm(l>n*@Ffq eeƽj)0\ P6ݑE;.Hs@xLipzq H#Q=jW_MPY^`L$¨D)׍ɛmb!4?M{_{ҏr {F<O#ẃr qm1m %{eNSv‡lJÇbb{棻3r w538BimN(p5ͩH#V[ٖdQ5=z]ՙ/p=Sfў2ZF6Oc/"Q^?XJ(`x;^-t({Kһ/^"kw x%Wo[cKyq۸6쓏'vإvA]yP63Ck>hy@7-VЧ)O^49y0MJUs$t|< :H ܸ\}bXՊ5%Y 5K%||5澊,-+st֞=z?br+GfC/+ע::WWۨU{\߂'N/3\szy #/!rWO|Jdۢrd2vNMjqIf˔kq-QMwE2ǔN̍$'%|[کV{v{8>%WES+$ ?ך-a/(0vCS_]Թ&@S>qU@Z+͑y>?_D9gwZX)4SN- UvSMrN։ nXQ:L'l#C-"L,Պ_$x+}St~rx{ $n ҦWmAFM:g*xlO2~%&b$92J []tl;Yg9Gm_~ndW1܃~^ ##P%pw_͖\t}LƠmQHt7ܨ{a\b7 ˍV;y K.X%@sh-߼'mwXU\ѵ \ iVջX|e)DZrڐy(0rK ,9ʋ*g|I |%'_s+c 4| 7ÊJr_}+NccNj%ZJ~cr-N׆JLYWӥ2 &\)e&́ʹ9d O !~JCls}'&&o$a0,@vɹk`U"Yx!5ڙ%g|.׏@Bv7^̈b9#"`4pOu۔N{rO"^0kG)&x+bˍV 7,MS˄N(O_ 2fuhk&YU-1-O`I@}:OFM-4i@-Ze$K&m3RUu_}243g:BβzXڰ;1ںwͪ?llcE?Fө9E?"-$Je6NV̔lDh͝2UbK' =b2Ӄsvj-}BhE[JtO#p}Õ5K|( ?!1νV(s@=D+tYV4S3 .^uv;|}+.`w͘br;LfN*V)09"_z"eEբjH˅pH#m(*E8bJ-hNKFEpB.${- /&^͝ӈM[VAi[AuQ?}WL|^5ƌ l9 [DPi+p/V۬{D)16L %kD?.BJWB knG-22KJs8%efavPfkÕG,3X" h 2{L݁|bPfw '}sit/a)|y =]~By;WirNOm٩&\?S X) ̾a(U96 {[XuS?@L!8 igMxPj X1 xXu{_Qn?(]b[ZvIضe*oh4իzKp8^}R^'c6bNO IM MƳŧ(Zj\y>&:4++]n_V\qNǫp@"%Fn~52LA/w5\EhПlb5mYc'"'2j=o{: n귻5 S{3.[4bك+Kc޾{hYEN9M=LlW^>x1hN9V(Gla30 MU S^zz0ՠk PQ3/%0OlrL]}0C)bD6̳Gbɦ4#b~9q$# ۷5NFYm>m?l18d(:ǑCVjJ;aYpgaYw6U.:wȆ2$f/"9t34g9o3r_cQXgh%uU;~&VL\/. C1"FEj0"yQ)fdk&H(bʽgra(oI.ʓcz`-Vt!޺"[W瘼@9Y\ġ&˱6CV`B0;s2eu>1f_v2Dr] }>0._/cd "1qb8}BIY29fƯ(f4,̤>fRIuyt@gIi4*aNzMWO®|xjkD~1~ZvhoPKQ\ %PK4golang.org/x/sys@v0.26.0/unix/ztypes_netbsd_amd64.goZ[s۶~~:d,;{A׆n['ÁIBD,vWaC>`aaa]0WW (1):p ^KcOe dTR.ewu4E C1(P ^8"Т$L]Xv`:vzS"?Y{&'!P%pf"zX 7H0Adm ULo'M!17&Na@a-[D;\ ^pDlQbG.9J߼g7ARkIF>x*4@rfBqtӶF&\xm%h/3,)ɶWU^m}y8#0}N'5Zz 6㊁b6_q 4Pľ :rdfD9&'okIk^銽72n!"#3Hn'.;f9̸6"2)qJy6>X~M8pg}9b?Zq1,m,2 5⼁1ic^#ԥCެCެC$ 7gwLwsph]5-a `gcPou .@uomDPR?uB1>ntxLn[[enkgԭuBN %Htˈ`Hv8GuslPדTZ DϤڮzAk7UʭqJXG5f Һ(ӚQaZ˕bw 'jΕG_ÛrZXZ?.MVC4/Ӊ}j[7tm-MN0MYD2w6qUմu71LS \R&x{{'br}=]{1S`gLHĝԝj85C:XUND}ȈЭa-9lpQTJ!yMXwq AQfbǾ  "pR TW$~}gI@k*sY6ipwC`[ )C``;vpm'w<-iK>z_׻p<տ;3'~sgSn?3"'JqLu.@XwM YEN#,:q1̟nԖhWCBhE{FtO#p}}nUKx{(ia#~`a 1 Y\b5Z yEW5a O ?h1RR 3s60&4$JA'b=p(l QAI9!FP)0G2ͨt2Jk%`Q/d-c;&ä⨓$G&i{))`euĝceU`ޥ VeH8 lErfA\HƤۢJtI˸uU;~fVL\.!C1"FMj0&yQ(VdM2PŔra(o, IG1 =u0+:@`]Lk E r̅Ț"0I}k3i% 0_VN3SΝqZ1kYHO`euTq?y̖A:4('I/3$tגQ73}AI739ea&0jfHˢ#JE|rg\ǭׄӔ7Wˮ=޿PKi &PK2golang.org/x/sys@v0.26.0/unix/ztypes_netbsd_arm.goZYsܶ~ WiX(ZcE#Kj!P@]D9&GWkCn)\ F@„WżZȰne'l`̚0وfoJȤfycFiiiI)o`/ 9]5 0ЎqmS T[LAT|.G:O7zΉU{F xYS` l5^hV;-hCR $HKF3DsTg%y=H5-`@H]s ze1Kgq8>zen+(ߗ{~ }JMo<?ŋz>)ke׃x97&m4M\lLƺփoݐfbtlhri"ĭ留LoFZ M4$:ş?q=]{13`L抶H;Ϩ;g&%qjt#{šδ۳Cn}*#֚7 - iHrTeYþ S*%xaJ,H+,0$CmKB{[m4/8wuSSk;Z0rO,0Ag8ͧ-Jag PIī|rt#%Ӥ/":e3T QmhU"zowQf'$Fns,> Vw} ʨ).I  }עUE4lҶ(Ww9sT9s3,WϺ ;IЉz 0zhkt\lM,1͜. /.QۣT Y[Ie w[M [N mbv G͈i좽wXޣa]̣Њ$H 'F 5ݫmB? t`aaa]0WW (1):p ^KcOe dTR.ewu4E C1(P ^8"Т$L]Xv`:vzS@V݂~^ ~J{_= t{Lt`Ј֠sJ*Fדq}0lKf܈ݭjƌ./Q`U"?{o(#%oވ3̛ Z5L$q<~~zJT\ \ 9T{m! 8wEiiC.6xd۫*l/xI 6Kξ<s>'ٓ-qgq@eu~18Bo (b_X92t[JQo"B7`S n ܤ FPltޛE Q u${ZfW@m 8|i%<x,c&|VUKq͘ 6f`F q1/o!o!o!oJ`3BNd};98N_. 햰@| 3A17պG:7 "(Ax:h7:  8XRàjvCZ31c_ZƋns8dUD_łtk}tҤeCߵh, DJ!~ סti `Yw86ЉzіﴥNo=/f8TmW˝E?F󹳂)bZvTY`vۈ ۻ ,"_o8j\nnjK{4 !!" ҽBz#:ɧ`8>o%f5zUu┙GۓmѠE\zMt*A`w.qZ9s2d۷2b`29AQ %*BQvUט9VwH*%Vm(*E8cJ-hIKFEpC.#${\{|.ܴ§mS׆Up͑Cں O){ ;}Wlײ^ږ! LOIsP{@rG[D'%cHlș(4Z&"K\" lIC#C q/%fȻԟx]H=%5J¨<-NkF3IbT" h!FCڬJ7onʬ,0qon 5acX iIo>Wul u[Pe镦Ȯ7緃7'C;.`V;*I{ ƭB}zrG&eXmö<d0cEZvx ",c\VAYHjJ/ir3]>M'{wy>f:),>nPݶrG|>lK_F"hW#O%ۣm7A5ˉM^5\m59kuؾDDFg wmV?˪~7Sps~cf=|O-Gpiġ"I'QB&R& Gj/r=xoZҴ~ a?{LSe.KYOFtza"0CnAe)) f|F]LD`s`uy 1PB8bgK6ɜ#(t#Yfz:02疱aRqPv#w^w0:1*0m\tzȎ2$f"9v3 .y sf_cmQX^fh%e\Ъ?3NZ+&.gEÏsј_&5o(Oy+2Pyk&H(bS0}t #:yc aH.Hh5o m^bF9Bdrf >傴 GYԙ{)C8mCa O`gSH$ЧK C0:}[ԛXxAX}$R*%D$Їgw@|ܚVyFk(aGSq J7Dd; v#š\5"AR}b@B-=X"}`6_xӹq=w@09G/NB :W+l!PArg՞2a[hh;d׌*F; 9fF=Dr}UXnTGXE`"zwV(\c"?;W+jQ|z`ayҏiUU MaE+CyI Oa'ۜ&+Ϗ<;NR,9[5&oGڗSx1_p pbmiuN *Vkcr?eZb_,մ j wD =e=(;[H`Fo皌m20l(@1uV[{qf 4 Oj ךf &$gr P`k7׋ qJ b Lb6r8.WCM DPRgiUrYz)=$SzMl"PWm 2--*艮_$HKF#fsD<i 1e0A- S]w[P:푡S 3I$w˧dr;QiP"=UfPĦMluB'I5Zo{c::ln&v:q*/0s_`QCբk|6~d`'tB$ Hy(swm5QGK2݄ (BOd & Px|}F˔|ǔU +PF⸄ 1ʢҼ弩9K_h2Ӽ  " 2Z--4ps,0ruH 5=FV)Z-SYZ)žeAscZ sʔP-pI*M-l]өU9{E N? q 7/lL1qWOY:I)?2Zz5]m'mi<4jZ$M5W)Ql5($wRпIRAS?|er=ZͰ:Sev8IVkmƼD(5{xKƄL ٽ(jt2}d2 i,x+t{eA|U 8'hnܖ['rmS<=/wxK"wQ*dBc5Z@rZuҶZ5XG"~\=z{G:iaK#vz&{Lv֯U{>RVSxo @^ҽ5)tuq&j̬>#T1DjbƜof!JAb42ϖ: m$BTP3>QڽFhdw sl1]QidJQ?FFk+Ѧͣ"muF}ӟBfucvXD#CIV3A &^폭LΌ1{a`nMkfVg>o?5X Bᬙ $`u̔;o2P^Q.ʓkzh`U4!ޚ"[SN'iG[1-{nM|&OunjV`Bz0Lg2tj> ls51t0f G=yE,4(I[ƩMCm+ΌJg8|*`Hyg䠞QҰ;<}XcѴ$r/vfVwPKx_ $PK5golang.org/x/sys@v0.26.0/unix/ztypes_openbsd_amd64.goYMs6>[ԛXxA}$R*%D$Їgw@|ښVyFkn)aK3s *״Bdó[ 徢\5 -"A2yb@J =X 2{g`:[cz\_oo,;t*N' %h> Ϡ{7rG0A"\;)65HT15}#!]ܨ°Q. +j,V5f4pxR;sD9(zaqs]gK$Ӫ:W2gƹBE+gCyI^O`'{+<[N2,=[5%oߴ_P[-k_Dn LGt#$!ZV`? EVb_,դ  w=\6C Ezy:| kS{mGMΐAqQqxiު oSHzbXH-efµ]&d,@Etz 1ٯ;!nEFKI>Cj. {$x"(JZX.IdǷY)" LmV  +:\;H{pK քFT }ߚ |#x-iӰYZ)'UAscZ|ss ҔP-pQ:M- l]ө|U9<`e)] r@3_vosYv ޭ+17J"˷4 A(#.]p l/^0Q^(1fFgTX@7G=^=_`\d|q2FxRJG^ 'd+t{eNbV8GhnbmS<=ρwyP2%ػ)HhlOw52_$CX5t4nsͬ'xˑWϡ^qzj+&pto %c*];3$@=GL?ژs`,d^0Chc@FZ;d3JJbfA8ʺ7q>p tNi F@m2;0}BI8ʶhmU*.iH[QǪYa-+PR5Lih6WEdFPֽb 3˓Hw Ņ>o$N0KLm-\sBm3i}~j2tm &0_W3NtZC<)j +=7 \C7`n12҃hԟyV!%2مqsR5s{dF3f>Bł3(hWܨ?jXzhZw;}Fs+};PKYoc $PK3golang.org/x/sys@v0.26.0/unix/ztypes_openbsd_arm.goYKs㶲^[TXxBXJI\)D"`g)9ٜ>ht7qF&({>8#(y!D<%";|((`GCI5 Ġ@ ؽG EIX"`܂t׻8Od;J`KSE4] 'пtL֠S"Z(QH}']!ǍF7&f0lKr:*1@D1cwA1ЭVzM7 ݟ]K׽.l6 d/zzS-Z9 dsL\82ӓ K?4>Xyy98I+9)gGkor\`ftd=;iH(61)iuN*Vcrp?uRP,ռLD e=$w-Bij(a"voRykZr6C1pIӳ'.eUQx8P 8G4mU)o$>3,2)NՍ DbkV0z&9Vhlޟ$z3~,}O-ӂW2jxNDD*+^o}|M"zPhm F-*n[_HKF#fxsD2Mk(Rjx߻ZvwԴr 3Y;Pmq^$vY$lJstih &VNg2LV~0Nw;br}^}Ӄ͡A0|m$g&LEu,VF j61-QӥŬg/!PhY>BU{*$A/ꩥ'm uwe=0tγP"ȟDzqL|\<؂GFsGF%x4*Bf6:LA _%4*CKz̷maőǝc3&Fi0OU.:o76z`8eC*I!mKرuԿb.@*i:*E:Y.{cK:lMxt\_̜hvet]qƑ;}E?Og fN'i"uTJeݾc?Ө.Җ(w2 /nd\kmwNŒ3B v jCBHR ߵh{wh$KoMwj-rS磊 1,)a^k{/Hɍ}[Gƹʩ_Eƫ"TQɁ 6qsPէnNh1xLXedNK>,I-Z.Zhctg*c=\-iC._ eز \ВQA;a w8F"W?3E$CΫI(M;hlEQE% SB[Bc4<[aʰ'ysлV. ?8ܵ1njUDGp& Euz.E&f||)1C^43$f[V( <2vE|*qiWDb]FӢ=YqL7g{_11X4)᤭SRӭQ%7'ZfIS<=sStK"/Ùs^ *dB֏c5Z@z^uڶ[nf=G",zBuWOvAi(G`s1YVTKYMӽ1fywP2fk2|S`h3>6fJ``g^0C hc~G٭#vBd JBA9J7q  tNa F@5VF|7!}eOie2]*dC!g6FXLJ2o> ~ΐ-P7jdMfhͅ-Ok*X;9xTty1sddcQ=:m\zlV evb=dT+btè2L9=[,pQ1EGi}nB,\zlJ4-ɻ>PKl %PK5golang.org/x/sys@v0.26.0/unix/ztypes_openbsd_arm64.goYMs6>[ԛ(λ,K13*I'qT JH-&VyFkn)x9x9OwV!"}R/(ÖvflA ;RZdnpb ?8 ՇNzKsE +{wө`[;.u+\0~?ޠe Mpm :d Qtw=Xs`"nz F>*0%ֻXMԘѼ%J 産TqŅ~t.4O\-n E2 &y!<S~ߟl <;o9ɀ/[ ncO)@Xx8X~3Bo5P}10яP`heZk3w9YO}Kt2:W2h 2='=NՐzxyH%0x9bZpnVjxBD1Ut{#Ah,U=LK/z+")ҒQ"Aj2sO"~)w4佝VC!vr1_`!SOWPdQ۵aOKa q`7#*e2V+LR'xwݹ1>н 0*I Smڨj qfL:{wqP@ʄd .KzjH@йl4hO*G6 3ؼwl#<*$DT•=^-BC|"2PwE=TYʗ{3e:UN:h]MgIMC/ k1zbYp/̓f3-P a0 Y֙XsUOӽ1b{KP25ùh0JR4cySI9g6_B36whdu#ZK6$fT}Ɂ{  2@gH`d&(o'l )>V65O Vb %[ϔHmSHhx?]dzMfh +pk*X;0$[SzkC3r̅=7*:v>&C7^V`B~0Dg1tl󌟂>)ls ɵ1tsal{#(=Fg"YPR-]?7-P3MfT8is +DZ,;{ύݡ? %y}g4ҷοPK Oq %PK6golang.org/x/sys@v0.26.0/unix/ztypes_openbsd_mips64.goYMs6>[ԛ(λ,K13*I'qT JH-&VyFkn)x9x9OwV!"}R/(ÖvflA ;RZdnpb ?8 ՇNzKsEJ\;t*N' %h> O{7rG0A"\;)65HT15}#!]ܨ°Q. +j,V5f4pxR;sD9(zaqs]gK$Ӫ:W2gƹBE+gCyI^O`'{+<[N2,=[5%oߴ_P[-k_D LGt#$!ZV`? EVb_,դ  w=\6C Eyy:| kS{mGMΐAqQqxiު oSHzbXH-ef 0E8eݗir·`tF?=?n1M|\"*JJ#ޒllPƦmuBGTI5Z3{o!@R[)Bz4 ܧ?:ZӽdʷI҃_F|XZVW\@, 9nszL&ܝMj%Ln7!c1*Гl~ A6_4vs.2ZBLB2V+t1T0#C1FYtUТrM"c==L!m`WhlbTNX .m1"AEÆ[b?&4bT^vPO6YӦhIÔؘؖ5 :2L0< Z{%{OKjyXcrmBoQ`"N{ʑ *36f@(O <*7pEzpeOWKDb߹.BDqԝkѬlUnVŠ9qO},{r󍢖Mz:K}v(MOz1̾ 9-Z5 SP}r[ZnNl>M%<EBԟD_c ٳ=|Fc=Z@bRw¶Z5X-G"~\=z':Ya T vz;Lv֯u{>\Sto A-ҽ5tMp.̴>#X1T#jccYWy e1gkG֒ *)=b~gr(4Bh #Y2;97ٶ(2@ %(BʟO+Uͣ"mMF}BfyjcXD+CI3-E&^O^C!ZŠ*$ܚ ,O"ݵ34o2rcQ=.2-ڶr"f衙)FۭV̺N6 C2"Fw8*ÔłB*gL%S_czf P^} #o$ Ɣ)p:L/1Esaύ Ϥ͟U,P|_<;}kg [w< =&g(@O [U(Yfʁxb$ g >0xp˗=,*F `Af([6xKP6AkVlxnKv Ww[ڹ!E1(P6@HiYBG/aq2|Wf Lg+0|LV:-怋 TUڻ}N="p 餔pѹZ/s{.w 4!µ3蘒mSDSw:r`͍z) {¨Xb5QcF W(\C*ߝ%Jm)G .? \"iVչZ6 <3-Z9dLBx23+?4[yv r_fׇǔBzW͡\Skk4,c Aӥ-FU̥eW\Ns;br}^Cӣ{͡A43`TГ "Q=g2Zti1:{wqP@MeB2tP=e QU\6 2n.kWOZnd e1"߶rCtx =xS' 5CXkz(V> 0E8eݗir·`tF?=?n1M|\"*JJ#ޒllPƦmuBGTI5Z3{o!@R[)Bz4 ܧ;ZӽdʷI҃FMY@sx0DL;)Ԩ_#\KPenBb TDgd1&5Px'|}Ҙh 1 xXpRtAeUirr@˥o44k2\ģ_Uܲ ҊQA#;a7#QǐtynQؚЈaWSyA<ٜodO% Sb[bc4<\0eX*8hqn]+=yn.Z^!c9\ EYMt:u>*G6 3ؼwl#<*$V{-c+{zZ";u"E#d ^ {$NRHw=T YʗG{3eN@UN:|,oh/L។ـ`⤯2u.xdY}.SMuS__rО${V6_1)"Ǚ"%?edx_;lje^Ͱ9; S$NP8br59 ޞ1.=f_+|F DsWxYfj='E-t6dzHP_Bb8}>& _+sZ#kfơh]MgIMC k1zbIpJ+Kf뫇-P a0 Y֙XsUOý1{bP26ùh0JR4zSI9g6B36whd-#ZK6$fT}ȁ{3 2@gH8`d&(O'l )>V65O Vb %kϔHmSHhx?\dzMfh +pk*X;0$kSzmC3r̅=7*:v>&C7^V`B0Dg1tl󌟂>)ls ɵ1tsal{#(=Fg"YPR-]?7-P3MfT8iS +DZ,;{ύ[ݡVMK.bhnPK U(Yfʁxb$ g >0xp˗=,*F `Af([6xKP6AkVlxnKv Ww[ڹ!E1(P6@HiYBG/aq2|Wf Lg+0|LV:-怋 0c|w:LpsRGj  Q& zkЄΠcJM UL~Hwq׃57&⦧0lK Zb;D+\"^pw(=^#,.txjvXk$pyZUj@&8wSHh,y(O0 @dSto!'|I|G_Xp+S~O"|6q }bȭiu~$C+ L^'ϑj}Z \Թ4AA:{zQܷVW593ZZapmQb`h5h!.jԂ9.o4[m +IO   8Buco008%*9=@lp \Mͫ@/ˏ]-ӂ|pVz bI妧ۛE Bc)̯qdZ~]I6 ?IG PY{(-QԨKs5!t_pr 3 z _6b'sOݮ xZt%;Ov`K\i^W)3~^~p`:yM5΀QAO* Lj\,FU˔Vh3ӥŬ'(vjY>BU6 \BR?$GUsٰo4hO^=ejzƘ\@TjIcj7G"%$!cBI=<cEWY[Y[- ,ο$2Ӭ Lr&eVq6pJ+F FC.$[=l%GakB#*_Myds?+JLȪ:Bq㈭+m׼$B(3{{KƄgLԻ ֣u 4-&u7 =/l\3%r$'+\?~0/Sկ@6&!0|L gPژyrĎh- #FPy"Msτf(0E+#S|mN+|`> LP>-2Z[K<*dԧ? +dFX9fJ2>S~"ZM!op5<u/B­`$];Csq+OaQ&#w0&m"sߢm+-BjbDپjŬhc2t,q bt2L9=[,(p΄Q0e:f7ahF iK5 ݷ0R+Z@`mL국 SD[1ܨhLZ yA[ł ̗V̳ݷ֟yбu3~ cr u3H$%![9p?ỵ gUdAILvazܴT@^d7Q O%i : ճ>7ov_VXm4-ɻ>vPK_x %%PK5golang.org/x/sys@v0.26.0/unix/ztypes_solaris_amd64.goYIs>KUV{jQTH=6EhP-'C|B-v#9*(`oGDSJJXcaGH(#[0'9;T27dpU 9">`uo'KC>?~WCHEK!RlX g08+4ޓ)tPbfBW]jHt>g, Al h*_}ytRN3V*W86Xh19D(MeZrMQ&Ӓ8xXGF@[H[jRQԢ2.iHXP.nA ๦/IMtd :~G[z)Iqh*XRM2ҿMY{3ojh>)x$A:$F:A =2A^R)o77+ ר˭V;e!BY*ŕ/myƐ Yd'wVOu>~Fe,Z" PkF .mDQY^P+gZ u{5|C-4yܰG[LW_!vgmpwyӶzENn#7\\ jZ\Z]{X G&bb܈3rD)εL ]8;^X\dPtZ*GgeҚ6R;7ĝ]uJzx]xZهWgqe9?Ɲ^Bu{]jlŠ𲖡l7.>99~p#ʺ:GMP?,)p%Sh>M뾖F{';M_ȱ6֡0  P/T:ͲLtM 㫻5L=k?燮+"jJNyWټ2QV/.Q])KsJz?0'[m^O梱`s,qɜfugẇ]y..[:Ş.[1WZsmvqYׄU9F#k*Wvf.IV"˝tƲ=2l;Ciy3ϐQw2ZF`KZ<>~z}Hhc_PM1,W:mvझOz~1g-Za&r1\N,"XVt.*|TwЁÕ<yA[}(Xt>5,uM yr;eX3ں~E+qnY9B y^Ss"ѝ@]syqؑǎD4wl&!C9 1jCIMmrUxjN FOJ8^B!/!&GZcM,jg=@X AW1pO+]3/:>ʻ"c%յJrK+D=:G*dYCTirHS'w>Ne#>Ѯ*w5{#˜k%bk ؼRT1`4;*sX,Pgbljsώ_ tOٱx964osm+CWR•4r7#7O'ɢ&GMQ3i8~nsk)4 nGڒ⣭"uqa&)'&JroJ<Ll9G b:rZMO#@OP}:cw wZOPsZ Oύ}? 3=gPsZQZSM?J4pcccm 'Zo<qlnQBV.l1nB},Obo>OErePW=e;UˑyԬonUǬ$c 9?ؿ$@ƅaq N=_ ~^68OPKKI>:j PK1golang.org/x/sys@v0.26.0/unix/ztypes_zos_s390x.goY[s"~_Tv0N< xH^tݢQHDRc)u9j`k+O>sёA -6 zWh!董Jm}Y"3, =߷;$ k6T"+ *QD0#aQcIfI+a^Z26G`5-v)Ǘ9%;$:*- K#WuU}_p={5>"\)cAXi;₠Cq&ZүJ w]nP9tT{1g)αL{uuD%^q{v4=4b ϣTOO~a]d2i#׽hi5FQ7WEÈA̘39; Om[̯Y%ss{֩}&tAE)--MRB1mg noeuڭݗzٷQC~`X7VZ۠2;K=Y`1Ү\Oc fFݖv{5 T, sר&;{kQyYNXcdo{RTxB"b3raBl/eAHI}fS7{W?[ gJLQ׌:bh4V˝Tr1"{R:b4F]£5e994}g]tv࿜Fh5Q:a{l([~`շ9 +;J0`Q3Jt. M8{5;)Bg;E9 t8B,OR6E??1.3PTgDZÛP3Q'KXTbg5zf tA=<8U0ۧR raX;  go,o̾U\DPAE&{KQe*I><~1QI\csm\!'r2a`;%=7h֥4wDOEwU1=4 тRzz7J-`nI*a_|p37"?]w,ojs^C m [6; R5+U*5eTvO>j򈞖z۰<HE^sM 8^ѭ }E$'C*5A\w }\f30rnr"\Pȑ lC9_ 9Kt|wA-a?Q. |W;C 0ŬqO,g~U9U\`'$3] QߊKRn5%Ikj+ɤKkuP,pQR`K?vQND"!7ַv+`!_\y?eE`_[cC=HjYZ잣{zu6ܥŻ/ҋNAC" p4!CgkY&&/L{OY$ݩ=eθTv߂z9 ~^oU6J8ն>^%/ޔ:?w`9P-058}dY"?kK }iDV6d4[p,FYq2Ih ("hQȥf BF珋 2b^h0r),1eI۠EjK Z^pzoaThxci"Tl$ B:(# ^k R]c d? Uơg(=e*T1aP CR9Ts:d3Z/H JTyGҖXjTorJ`Jҍgs:4UF";?0|%z8FjgvY㓓gh%V+ +mGJȲ1hmkYgdH^HNF_*EM0 G(aFE]Qq q|̂Ȫ.B,<'u; TER|~; GMY^N 8jfK0Jڵ]x)F7lB-ؒښ0wҒ mGTs"?@=L=>9!%28K~B]ͼߩ,<(K6zOF4#yntuK$#P`J%K^>$;SDt~DzA]xN1`vjWv' Yzͺ8xO7B/-'HyZfsŔ zX!"-[Ȑſt< ͧ[ E"AI=F[f)q}.UAQ , o],,yFӰpVA8}+T8rK cҲIv~|u;E7AJ!B{F 5TGH ׻(na q|tv̔':ozO?Brt[a׃uK ZGXʎV@u;B:-R\vGgbݛ5DEhTiː @:Z $9w,D/!ȎԌl7x6׌`Mrn*4v!cX k=XOç?M4jo sN"=y^E65Z)mc8=k nR\ʲ0 +P0 ئK XD/eAbkAiuOz7 ]j6#@w"sE XK壭9e}Ɋjs݆,h*򜱿J=rti#918;Z"'a1%H;$NS:R(y7f.֍0BPZ9!հ$$}* ˲oAW^_ce/7PJt\.: ƀô<ȦlOp*ϣ"6$t%/%~~OG?wľ'g?5qgZG<V} KF@ējk C}9,lQnt}P?`iqwZٗ0LByza^o#*l:m1 ^@Xs),P]e[E+yXϻe** 窸jZ܄GRh, Qp'CZ>Gi`lĆ'.p`Cϛ!;)3D/ Њq=jT㳪~@e[\պT۸޵D>څP5QNB3'D5zZGyXgeG.ZQ&\KNQxu#JW_Ez4y'f8h7oHDzM_;U<6YWKMdCiەo^w@u`,cQ uOX'+1ƒх) {zg38WlVBe̍z\W3Tw; wHfGхޛdֿ[8/]* ܽt ?- `'og!3F RVv{;xb[=O @v^peL8b?G;:#PˎF~Czӷ^l|Cj!h?}DU ouP|#lCwVZΎn\Iհ`Pw.:j\D7 /E4i9nOaՔ!Ht[](Hawh岐GKAKƋ2iܴ$KvX* .W-P}>a7W_ϩPKrϫ 0PK/golang.org/x/sys@v0.26.0/windows/env_windows.gotTMO8]ǿLfb.tBiY<4V]];'6-зArc(0u e7ƭֈc&GQ5E#Qζ\J[vĆ*v_:XZd7ң+Bm[SA8=gN5/d<:J4[YnP/[HFnJH$8YHdBԭ)@LnhYu1ﵲVg)&߲^r|g}98@̖Ϩ|aŦ$at?_&{whZQ8vRIO^ob3n`P`_X2As˶$xLCr>l<oC&U>4E y|^o2% A塘r'+m .ZeH`)4;.tP䘉D ЋQ:]$ĸ'DL$Nz#[qm!]E@L<2[IB:*^+gd(|rWH]y~m57#qg!cU Q;im xGѣ`.Kw1y~~i^-<͟Yf|r$yrͅ).S|َgpd-3l>x C[?LJcھ̓o'm1dT0<≵hmȼzjE<][ C7>tn ׾B$vAd'Q$s_*C z2v9+m:" \[Ѕfq>FmMҎ1T*%,:mF]FFgy PK(hm9PK0golang.org/x/sys@v0.26.0/windows/exec_windows.goYrF>O˃)[DRȔ*V-Y 920 H3rw=II`fÑ.F'vv [ hc{p-h~,M+ $:EzFa 9ͶuI* *&A"2]7A8=9 /{k!I 3!] ^" 3R=A RaAc1tnVʊ AZ6%1BBrW*ҠMaJRĹr/lzL:sD}Tەrd 7;]RJ%Nj]en=Hu5>Vڡ@f`)Xn‡CS1Ŋh6 AH}H$N |^]èrU>eQ`*|2zSl"&?e^ͤ99Ό(iLjH f CWq7w4\ 62EBH|h:#8AGf mCo:>Okkй: EAg"o-L$|W/} gg%a[1lt:E tfH>CBx9E>/k{hɓB|f4wxߏȝӹ#7gm-I1UF+ZlGkۀ5Ar(ׯdkhTOvl_o;>XnKy-XƐ7Y?(g;E-y;%}jNKerEB NPKEBFx]ϸ# ZeayFo\@3 &B#29޲Tτ E$LiB͡4zlDgKeqeK}hGFDAm vQsV^_o'Ce:JOg_gu$ҭU+'F_SfYfJrm1(`)J_Yŕʴqtt*S4(%Eʡ5-feL[-檜!LILi0M^!1BJM)*~Tc6i\D}E }we |w@ aB[H1iKO*jË=TBЌպ~x3aLr#[VJ(FLCCbDRphH5Z9(lVFVgXFҲS"郤F&4kE*!J7`;:#C;4ϸ7BLۉ=ZHå1=*zXFa=t[24LteV[fjeSLc*JЕkd):+n3@ɡH |x=$K}4swwΪʯ)n:cb51ԠSs @ ,Lj:_D>~mLR 3o͚R\ꢺx]8J 6+U0- r" lrp id^jrҹjD:[yBF>c =euӁFmt9O6N'|A,= 3h-Aj~AɜZlJjWFkNѺ=k,]9:mbZQ;I'T/ָaM:rs3%)fhT'"?60w3 JM1(hM\Plwb+XBz}Ϝuh*_{XunWJ5J٠gJV.TAd-B6s2C[W@s¨< 64aeMt5n^cJ% ~GP9#*i/D`E2D[(+SB"{p8cRjAVsk9XqTd⾋ső=Ԍu/i_Z[a˽zQ{zIJ*<瞊g ϯÛOe/Œt_RuYFש4}Sm{wN >af)d.^5-Q ?ߜnOޞ \ưL*i PSs(}[b"3IcoA٪F8Z ,K,W̙%l%-CnwR|Uqݝc-UPGEEhJ6 ˸EcTeQóQ1|*G=a뻃GWDh}uɟ"|8;3::tQTҡ!&# -q IUxn'78b ~z%ao3|UNJ:)rnڝֲ |jzFVhp~dxqu||rt2^pu|<8oX=W㼮&cUF=`vnrN&AqHӟ?sU:sHia\ #O#]͟GeϞJpbs-<@r3}$"&_TLy>\)@ yTԈ~{5k6 EOvFT .l"se2:lJD5ͦQJdZ-^Cd";jy@ٜrtMqk?RDDAIB[ÁX.8''9,QMum/0*ir>}]عhJ L[Kp?PKFx\ YPK2golang.org/x/sys@v0.26.0/windows/memory_windows.gotOs<S} 2-LHNc1HJ;a߮dz)|a)A*,\ǰAhr,8 {U x9C ~\94s Y/vT *0АQ؉? tٞû e F R' /|c' )#ӖV}NO %۶WZCKh6z+^B-I]V;Цo K>4]%e bШqzzmV)qǐ4R#8yH[>QgJ|/5mtHvf}6M_.Le:Y >m%&Xx!IVJߖ VE0J7k۵}D I}/HnYxaz,|4lPc{ {GȜ*yi{NY6FLsRkm}9F,eZ+ixn~Ǚ2^ɛ|Aš߉p6KzC5PK :}PK.golang.org/x/sys@v0.26.0/windows/mkerrors.bashUmOFxRUDBAKCC6F}03q ]eOqs3l/Lb3-ow ?(s+mZe@!}CimT :!$*%!-)d#EAlHHc$25) gn/"3d3Yr^BMV73-Ͱ3[AT84"dn >kl2))ہcMiPr<(m^}m֥{P+KO UȄLН;#Pu9<RJX%O=* @ybJtl+Gl]_U-gwG`'W񔜈3zh Y$.!_%E3 蒵F!$ U.fN~d7z.wszR/j5~~6i~μRٷacبDii8+xVȹ\oޔ&qyV ?a%|p+@SsRRFszvuh|ܽ8X[X.XMA퓰wt֭pE/YUX-+r[]*+J"6v\_>ywV \?Վmh|a:ŽNEO2)OM$|z4x?>>/иyƧׯ'?~?[׏נWdŢ~ #0Uٵ;O˛5UPKs9qxPK6golang.org/x/sys@v0.26.0/windows/mkknownfolderids.bashԓooF_{?Ӆ& ʉ$?w(WҼ0{W1hw POPET}yƞ>80 c4lEXTJ'/ M6E{lɐ~275MQsBAHK0^!fUJ,T$ &EH 5M:VHȘ!1E@4N՘Gr҈Yw.@^U)"%wYFXq0G]zwmt 60J[ BAwO׿ ֠0Q202©0ǧwh),5l[3Pyh$sWDdjhjvE~xc]7Clvri@Y$"%5R!H1}dwVmruGWW0tK-1*is]xw2uiyQ._E:,yqHsgןw_GWS Wӏg˥s|ĜHI¯'~F-6dj SSV+ƊPKb&*hfPK-golang.org/x/sys@v0.26.0/windows/mksyscall.godJ1 tS"x%NCcfLZ˖o?aVV8#Q6JpՊBJLC97%6B@2XL%ӀCaWe% gGygHx~^;9QuE;TN"e*ި&N>.RxDAQϱݧӦnYVRm/UtlI9u/B-l/:;PKFoPK=golang.org/x/sys@v0.26.0/windows/mkwinsyscall/mkwinsyscall.go|ks7gWPɩ0n9-EvY칥`1<hYՍ`9J"F݃^V;%7~n8\EY֠ ϳd̍РZpXT9aY}JwWϴ+9*łK0 &aΡ62!p8k(Dɳpr<\}R+KXr3\íyuAiW@oU.X3|45_B* jb2RHD[&K(6raD%kUܭ98>ee5VB^,L03C1ɆCn)+>[^!6|)$as+ $ -8ˇ" 9_L1DX(F(.őcot8xFf JFX/H-QZnV\ >=rQnr50=l$”_p7fRdepK[BZMAsڸ`&+U)՜1cs25eeJ LcsQ\qiP !ckyYqݽ jS=fhXx&X1\1ubNQB.G"?J!7H%ux Kkmz_fZf.Qehq +7[pm%Rs &ʍA![V7UPd<#B1T憫[9_FCgE֪"rc.sD22Ғ?WH +ggmNbCOQ#s^Mip2h$Kpl B-[013n!G[ gģ5bYe6C%ɽ*Jpf,fϬ$w4 Iڢ*9yQ6<3-p0xk[шi ՝x2\gDK*p(VJHd)DwkB!-IQ?(TĿ-ALJ4bO])ZTS%4Zd80x#4bgF.ifX6&cH.[Ny\1<%ဘY}VSUiB;`cH`'[]^(joo889Wm3ePsT.!n%VkY.Cd4Y;-^ o<ES=+Ә!*$nd=$v%c9LzP(:$mh6 p/: >ƓB:Q39W_ûuP- Sͽ`lyD5F "XbVcBy,NUBfшֳOc+]iq8OB#G4jCgO|Nc4ɑ.qMP " m?:α_=D}5`{/=&(1Q*! W"m?K<<:#>4?DReXNl#QO뫓kKYa:8@YJTޫkOqx {W ɞ:=|ύ^ 2 7 5w$aF/w5r@ܽ\+$g?zaqh8E,P-5&-JqUZ fG3ie#y;}+iDO5ms'X7{3NB|M-1$WɨÁӧm3=g->dۑ#8wTRb)$+eta^E;aG:Ijݯ;/(А#0v7z~ Yg]m ^ЦkŖ:@4Qh4q͇֤QLjs(q2b0CxJ e~inzgtW5y8 hltZBcZԬӻc=JZb]\#㣇`YpiҰZn Y2hb!YviQ5;}khE \zZW7eVԊͬW tʌlgpzJ%IlElnơST*x!!އsEXF{U}֯]T}|PT J.ȵZ[ e~qʿjb9tZ2WAIJ=yQ)&\pum92Y&'(ĵ!Nz!Ccbyo '1P|\rNg0CSQ^1oW1Ps'DYcw?ZO[A=1Qd>Ŝ4bGqrRS(s/ 4枨_+aNҲxXkᇊ#夐UHÎ%:/' ^бֵД-:ǀMQMr3<0ǥ]Sٵ^_^HbEΟFTe5VKkK'@Ө>xn Qِ8dbԔ2UYS uxCs5>pR\+sI eBJwKq.>䱞%xHqjs7b!JۯLlk[{=F UXuܛ pg\ujgէe:+Y}4޴#bc+;Mh9bò밚o{u בkR~:stQ ::Og0h,.cǐ>4$+_47%Ӯ,՜;,uB5ǸŲJI/m@miѫ%GrGN#!(ɓG:!?`Hi⬻e#~h0o< $ب{(v :Ǵ}[|p7 )3g чw.|B1 E0/eJn\^ATZtO޾z;%7Db ˜6ڠ} 2_})v8 Fq0QD a#P@];87=o}sC m DqS$4s7论KQ?u) T 91 b#w8~v%G`޳1\Xs1C 4ߦK*]ں>zo uIK& k}%a^|ec_ȝ_\d 7M!^H zJOSxvql7!Jb~j0jc(~ e)mI~"z.)Сvxv?8Zâ5ݏWb]Hw\GL_SJuV]7)lAVͬW @OlR~gCγ"="i}bVwP2mBM ;1iМZ .dX!"ܽ|*X1y3Q֝+ :"™uFZyY>Q½D^Ew~:dmCz1=9 F~g"8B(Ӷ^I< iҴneZU~%C76jD^ײLyՈq~u~^'I7jg=h+̕7ϛ#?&be"+!'oDvUcqS*fU Ql!>gwc((~#4{rRͥ4E$;䷏D+^y߳\tv)mѻ5#F%j= 1e7\I5qo3@Hp"`y!sϮݟ0HO $Ł!a#l'}UTO i3[ %Ɣ{#7H=q$2{3xS AX|$yv@Swc{ɔJqDm/^|>z}yyշoWy>"/+a@AV>1>1i&k05v6:,nVJ`޳/dhͿy)$nf/pf\4+{SpCdoLŨGZlr_hr/Yr|B}遗$,彬 pT۲ec\)[ϦLԶ5tھd~0zwg2/E=veaa]i-l$Dj^DEKCG~۩5}a}ggBN=5XVhQԦC?1F]hкgq~a&'S~7] (]ޕDL/Jf۶8bre. h}vcwGRh&(nn5, ygԙVe+۷GRf=%!wϏwB-d$Zr40%g@%}Ev弍?BԶne"a^PjVƺqjb0wZ{Td֒6qs8SB8>@Tuw4B<}s#QRlEU t+"BZb8@8~(G5@P39DfBGpn2 WNh(O:?oq}LiV |- ᫔Dȯm`#F TA5FQs "եk4J82Cb m U{+qG's8!j[`y?Tav ly' ! ck.i衂u7/J(.3.IɕUC:Ç'?}_m~W DnԢFH/{JEf쯠΢շk! W@~E`-W7:PAd:Jl-w7 Үj Ԅ2x=[11WzXXZ7sŧw;06 nؚP&jb7jP>P6LQ".9%>?%ӓa&?/6bq"Na!dA "`hB gKk]bQmzZMZhR7{~ rw$o\Έ5gି${1BW'ׇ8WJ0*wIo~pK\kZ>T-W{BV莱/\eI+c5]Ղ'Fn3|ԗ7_#vwJW ނ*aM˥!d2 (~ q ig&6}{:|;2 8#~*tta]ؾKyϽ)SBgo^f5bMpm 6n%#^5 XKouُʳ%gKwJ[r3~Cwna~۴UdYL.J-'ZZW@b;QpSH,Kڞ ~{uB+׮Գ}pً=XUAg,G9 AHPdߖ2;c)WʁB?9@we?mL3'M=EA.:7Evw"蠅B)!SfM<';uȽ:?׻`Um+Sa2jfMypȣvmVn;U-Ҥ=4X?ngzuhm\vT\c0b9nY0e{nZk4Ԡ4v&U~x+v7猺N,1p(3CȺ"qYgM9%Gexϑ&# y8 מ-9Y0撇@?UXn_zJύviV1aRzBm鷄Bh;\~fy=y8qM vzH<[BB4/_O#'C5@po:Q}PKaPKBgolang.org/x/sys@v0.26.0/windows/mkwinsyscall/mkwinsyscall_test.goWYoF~&ń@ 2(ST#A #(b-Ɋ Sв`<$;IEQpwoTk#ar8y W%K .Wk?/sRnL$(  Aوx]d P0Gu ppse"RHrYk^0_3R{Aǹ6KCZp9`Tc$Fepg/dJ,2QKU O:*;߳_cx4Cڀkcwջ 윃 Y1ז$Ni!h^XT D!.VQrJъQ::t˵10_{'n nmtInG[>UvA=۟W)ʬ8݊ۈ?^WkTgߪsBp.?MbKS=~ µ՟쌋 .03PnK>;1}jPK7 f PK(golang.org/x/sys@v0.26.0/windows/race.goJ#AuSzr`1T$Q\WW.T[U A|w ,9_Ua;m0wq0ͩ KLC?GG FĐE3t0 ц gzv_*g5HJʣf4!{:l~Kjÿ:[gބmpQJ߫"ZIѠ]qA".hL٫ڱ$Lda)ciyO,c< .1=) v"_ߣ2 ctDgNl݇PKR$OPK)golang.org/x/sys@v0.26.0/windows/race0.goJ1Eyk.TU\g;3IK]ZD\t}Wט6ϘO7Ӓ{ Qִk< [ $d-]\3Z4[h\-O%o=w; Du ,\@a9G<+꺋Mqbろp Zi;*: @21HƎ0B̾L{q#mm· ik]S m:?3W$y( PKPK8golang.org/x/sys@v0.26.0/windows/registry/export_test.goLJ1ylhōZF\d&gfBcRnnZ:qR,/4 S`~r0Sti[O3a^P;oBXoQI{'󝱼)eO~Yao64g3dR|'!/(N|DWҊٙ9>W'J ` Iu'9簱4/¤_4!'pmeXiwU0ߝ=̔d.SRnj9 (zhjt,ԹBUuH h)V + Ҳ䌯I`[io'ڪ ;Y@$+K9Ҷe0%.A dWT‰$0WMHJU}6foҝ&.%Ӭk0%OD&8fA֏: P}`$Rr{lֵac>= GP7]U؛7V_jU"C*{M"2{|i0jN<Խƴv;:C8u6 Q/]t[ו&)Ԩ0fehS@ĔX~">V HXR{Գ=64w=NN£4UTZT:!!+7%|zrN|u''T_>7n{8b=(|=RR6MZ =]x8K5MX!/)B{B,YAB*Ub5*8_ס^Du#{Q[?p?aR(^ O̔.R?v/^ jGJ/״;nEE 'mEFsv}HN!PK$o TPK6golang.org/x/sys@v0.26.0/windows/registry/mksyscall.go4N!=Oq^pw6ĸ @L@?s?vr-s(؎ŶΊFJJ9P-DBV\U8Nx6gWɁzW '5"WDx~_{r!ks,wǑKS;sЈ6W6*Xlt:-FY}\uj`#_FWeY&bPKL)PK:golang.org/x/sys@v0.26.0/windows/registry/registry_test.go]`^,L;]~^˷Q#cz>񄀬150cLa<7,è̈́i3/Oj9`'(< H~AR`i> x6|:Y#oGF?dq^vmj꿣_pMgFبq1B.0߅r~Vt81m}=0r?cv(e~5Yjd% @B*LmH(h5ކwMr&tqÜoy#w!ƌ8 iYvֈHV&7v}DE&8H4f2b=GN _6pR`JvL[i. ] {6m:W²a{^X+Mώü>!ͬ֠YMbz"5χַm_pi8^^c1=5D &M,uGG'PHwnf7GXEU:|rܣ#X 6j 4dޔcE,5Lf)6LSBdY O-yNl/ZxOs#`\"1A!Sbe`&Lxl$Z,y9ݧMPni+j\X7KmF@ O  V/Ex-B(;yLH <eGl8 U RdE^gI!jR'b==!cD<F0rݤ\s XXB!S@X &S, SpX[g[}>1c>d't'A ͯ^J;EʿVVgD;c=Jr- N (M>n!PŠğžDRk^X |o#YAHv8.V}RŧfAQ6|D:>G8L Wr^-tѰTO$7ySV)kڒ(s]hȋ ɬT$`P1eW-1Qas"&HcO뷖-QiYTL%+QpW'z岋%>7S~r'4 .܂sʚP7$HͪErm*9_܃Ƒ 7zXa;S9G!P|]uze Ǻ֙mLQD&țfN ZU:xvYrSk|HF#A_bRN]6OZ0P2b~|N O9tf@N@)v;gRb "0_5ׅ .ë$:ˮ ^9(t{:K*KtYb_;k2˗e}%T;֊ä*pЃ77KT=K ])Q j/AfSpkݯK5bqNP}Ovsslę/XJUi|R _sXȓb~` #wQ/{壜 㶈YgXnI>MEpk-Kݷ'֜gOɀ^QAZFd@ɇᅹq!c><̑j4pc)(ܒ:Ô4#X;u q,zLA)A8>ǰ_=(HOan$ > ?ݽ\2娻r2hr̊un";r9E47kH)%1Q{Afa 7ς 81c'tGy$N6s|gwS`A>իŏG{ D&52;r9+e,&j9NgݚE>C9\E{$W ;C2+nf̔OWS yS:NqՌ8npݚ)sĿCqjS*#ֿgVu3y)$/<ŗmS1<%o?|-!]. Wg;3Cĸ2܆=^۰oyDr*Wc5հk@/lx1zaCEؽl[ [aÒ&M 6Ud&1"Yrn"^VbB&2'64LOja[+Fk¹gʬA’xTk*dYH)Et?(=f/Oʎ4@9_ 4/}V& U/J_ 3ss81;^hF^l+?Z;⻥2bv$V ioc-9"sk,R}H]g"P瘚1 52jL1Y%:ttx:xxYG]|;<H%7 &pvH_1 I3~U´rۤ zŽ{srgx\-YB /~pxɿF|Q7֬\?,21Zxdrø*IFvyTQbwER3cg$&0bUZ!?k\+hI`@aRdgx/ kGV)LG4sSsPF!W;Fle\l"dX4nE,(ҺCt񸪤kHBHfU&774S{SH?E?ǧ8#Dų1$C4g8›ʁL+QYDndA:%i[v;zߍr5]6,q3ڐ%dYLa-Fwh[VZP]:rHX`ۘMKPK_hI@}KPK4golang.org/x/sys@v0.26.0/windows/registry/syscall.goQo0ǟOqZP'm )в=E&9UcG>6ݧB|www9ӁI2+㵃57[Km("bfY[K2 B!Hlj`/r|!jBpk +FܛqXIm:|^RE$udD"FKr6cLncSFPꜱhr`gox |<ЇKs}>QEpBU{||}曹OwS9ͭ&ĚRĈ8Ϝ:n45~3.kaWFɋBY[sRБ t[E@ JU~8i4IZ8 h5fVl!U1{HRbH懿MhX(R Hdr[TPaa}G'%j3tBFEOQ.K\-䯽$^R:֣xRG\J|55Ҳ`oW4m:Ia; J8S2k>9n6}{3:y=ߦ0gwqp֯ߌ_OFOj?0|( ?|o<^Gt4>/h<0<9Xbm VD:' ̅o8NRSKSvCh!@~4"h&x6 EMw8?G_9|IkEQ$.4PRH͉JSu} w%zM2>^^hQA qlYREIbLTi9:i-ĸ0aVhڝuWERՍ~dc)K9P'ȷK9Aي)Yng:fIFSJ^C)-U핑A9}S6<0@h81F ZOV:lE!'K,KF兩)z8spm"V3)nL %MS|*gLs um Wa5 (_1)rtE$#$Ǫr}|*w.@YADcMi^'k6d1±/ j)o0VkXy%rйۡ_iHx*<,mvځGr36d-hCDbTmj*._YWϠv5 u{sみ! `>pاwbH/{W^+] ,\2N49ϒč)8KTo@%3 1C1’FҔc"mFG4mH]da سh.Avk4Ψl2K(o z'(![<-3zeu`C\G3צTϻnrg]pnB)Je;`2K`ʠD/=ybAdv ʢ2tpT b5U) Rd @~e;BTm!78mr# 8ja˖m(Jo ZфjW؜+'qVgZb̽īH:m)lH>UQ.{%UݼψHJYR$ϖS*E#K' '߬0lo~IaAlA];He@KcL Cʉw/_*o[$h!í "HLc >E f0=xts݄,B Ҕ._%4xQ Xw\ q]ɘ')Uo\Mu\u׌ս{ɅFr~F!Xű R("@a! ZIaDBš)H f/wtt7 puʡX$z x0~l S>@D@S,V5]5 m"m6J+칋T52]Gq,)8Er֪E5u}xfVHhċc 4L3"׽)HT ,y.PioKELuZ Yf !;7ŷ =fJj4xjQ/㎟ǽ" U8IHJ!0eli6Pp"]mi,d=j"z>`!=$A*{D8kNRP5김7K 3Ȼ66b l9BڅWj0.4=G}^to]x \7.X|{;vu& pFk{7^1wY:|4 a`Rt?Z5 ܄ 0Ps4"pM#BZc'wyх fJ52)ܸQq+AJ\g7ZvIrH xˋuXF-ՑjUICJ=e=sߙvNmG웓6Ldg7v-|+9OZ.B|miuZQYyLc33tys"Ly93=A? ؽdϊy?9GU/1[p{,bY'>K;8J(RTmujUX7h%8}$ZҌfcy"(I^4v^1EhSLaS.8_.I:J?]_hK #*LjǪ5 b˙ҋp-"d>DŢ= :;>ڷ\_B ɊM\]/OFWS.<0D F4{DxCJo)g,t R"眦 )ssg 5G'4CɴaDh*8)蟍u@ 5.tr(MA o]Qv/6v5v0!*m;4㐷2>kշ;;tn6ؽt v9,WLOR7s͠;)Ͷ?Ƴ`N/.^'Ӌ lQ(L EJ n޶ZUߌwp Y JFtM@FNq^rf_tb ʋEeF> /!s2^?^\BL)T.cY⫲o \Bʪl)K혷cѭRu4Z}KH=ER,07\]/&LOyL?[!K`vArl!%|>^/Zu@ Cm*:Xf1b%5kZ4J|%/ Y/ɶRl}buBe%smKx%(" Lp`)eP~ vbM -Ltc Qq`&0D!J|:̴C1~o:&g`0 ̛NލXQ)y}3ތƃsv,Qs3\G&s[tl: ~EKĦ;)[Zta)lF%ϥ9ʱm}P)w6-G7Cl#/ǣucoPph 7齫 &'z.GYT W ?sSi0YtC M\3٩"cZ Uڱz\Yo4NmPo8~MCd@_YR5=Azd< }]0?..f,;8 zϦ.X'z_{n'#Ωm^݂% &E>a lHKG!|Iͳ ʇ\fQ1$_h:WN^7d%ƕ:LIG'<_Tq;:t 2]VIĎrꇓM59G7^x쒱}6AIy=9uK5XwhC!aH&yUrbBFE sڀo9s5kS,8* Nłb`d*g0 .fȇ~[f~8ݍMWQH*Zi4M"俦&%(t:9G&"̔Bt u;`g*<جPV&Y!T˜%Jʆ!WĀݦ**#R(płi%&'#f_JC6/~&0K.|1Ԟ8iXbr1K?:AGPsHe`}0M9 z1JGzdT$r 4EŠ(Ӎ^"kB%jQ.p96%(ފJ 06X3M1Oja 3V(lu _ ȵԁp̋xėݡ M.ujMмtN?ʪuG>`G#Mr ]RJB/He_ʔi*EʎU;X]ZU~6=`aS{Iy ]9/Z2C2\!ɐ`]QhMx0cJp<0۠!<׍5lR rFP w;*kym9<:"*/uAcb?ΐ,T~ːA{a$$QdN҉Í'> R_,!]g f+{DyF(!!r ]d3ִ<-̐m;&鼖DZzzg[V0 w|/^DfKFὐɮe4GX-m/kva%=i%&-䯕[9;rfUEKHfCW[-²U6X[njЪ]bX8nYPQ , oΘÙpv=Gִ&8櫂Q~t^ߧU!~X 7L h` .'ްqpn`?;nZT̐(2K͚b R\~Y>>pJ?B7`;0Dd_Mu/{_ .vKy7N6A w%e=ɋ.x <%!K`M_3X`FR;|u2Q CNŵr 0XF8~~ 0̨,1J !, |R c"."JbŔȨk[Du9$IacūolzfS@T#^E8f%7v"%!2'3]SoЀ'yӠ`L@?{Q^ i'5Ā7 yn@NCv1l4|4!m2NK sC.=ɨ9e!ʐAПy8x;!t埠fЯQPVQKiiy\îBŇQ@e-?wusTW|2~)?̠M+UNbbP\O]ȚkW%&eMnM>oj\,x'?pvTb }2 &w 4y4i 5v M&b j*\k/1V~<f/DO`s@i[)MtO%!e^fYDۗ6 7G$hn tVr0SG!DbS|iy e;[ҧ7'Ws*2m" m=yu/se5 7H~ +T|Ub铃{^ &XH3Eł9*J[v0!1]&RfD 4wK 8U EAoW`ds߭ep!buο.oaFѪIE:~ǀաY"ކsՎ qY^g[A7[?l-ДuVJY+vdSmHUV$j5`$ M]US#!LR̭65d͛+(Hc3:I9J\J":4T!D&a],Pn/b\^:=36\aSVHx UiYm#Fkv vP&AߛJ2P*DQ}ł۲$볤 t1{n]}rB +V-jfX vyJ%K iLնw}u6WD(?Yozs8ٷ.kT#4>N^Es J`_Pݤy2ӍQVc; C_AƸ6W%խ DaS4꒻XfeE%~AnqNyiiI}6dw)ʓB qK-D،)n8+g.U?,uZ<]3͇N%/`Éb\k"I 4$Su* }C;5lXĢ)X93rq"_gI!SNZbY[g+: MT! siڈ>$QT!˜y#ه oED'0rA[f [ 爯׉DBP@4=!t,>@P!˱dȳO$]KCm!Q}r"I+# aSuU'us+\ǩi8/[0r|ˤ\Un-JV4kq b$@i♒t f:_, ?VT,Yb}wYm67 }f cA8LS05@8c5[eXo&U݉z>բtMQČۜRD {FjU_!m^gtpF_IZJQsU[ԫ3VNE_ζF,$D`g$#ʼ 拭o0jh5Q˼CώJ\Z-{zJi6y)KP9'[!5+]iM9-``%S}X,Y/f#(I <=$p.zND*R AH}Tpɛ[œ&ﴊY6aU!diJ%-_Sx H$;[]"{8}o@$w$btâ{y~DTLI.u |/øe(|--XqS)~YUl 'ҺLYo4 G"YO,ul~@] ߋG)D8r؄,e {llЂ銧L\x4moшl? oj,c~F zyk=K&axF#2]0h0+:@B ǐ@C ͷZ0^=ƙTp4 .4dGejy_|ˉiËIE?EMP2h|+rFf6\U+VP)+%29y|?4ŎB=حk|Ł䈀@LUy K˭x?tEKrR>{炝xah=rGGLDD27;2rǑij&֩8YZsQ>b7TC$ޠ[?KL>쿣 6͍o1.)ȿRLW:ɢJ'Oꀝ:H"@0YQ#žYpMl2z_Uq]YH)Aj2ghE 9 =Lf&Meӡ8Ehz? Iv'a$gc2'㏳G4? yc}?2M0n\~NvA7X_KF?`5*R-*FS7Ԅw pv׍gB/F+n2JMYK  8GlD)x.ycG