Codebase list golang-golang-x-sys / 150e6ce
New upstream version 0.0~git20220422.9388b58 Mathias Gibbens 2 years ago
129 changed file(s) with 7214 addition(s) and 588 deletion(s). Raw diff Collapse all Expand all
4545 case "386", "amd64", "amd64p32",
4646 "alpha",
4747 "arm", "arm64",
48 "loong64",
4849 "mipsle", "mips64le", "mips64p32le",
4950 "nios2",
5051 "ppc64le",
0 // Copyright 2022 The Go Authors. All rights reserved.
1 // Use of this source code is governed by a BSD-style
2 // license that can be found in the LICENSE file.
3
4 //go:build loong64
5 // +build loong64
6
7 package cpu
8
9 const cacheLineSize = 64
10
11 func initOptions() {
12 }
44 // Recreate a getsystemcfg syscall handler instead of
55 // using the one provided by x/sys/unix to avoid having
66 // the dependency between them. (See golang.org/issue/32102)
7 // Morever, this file will be used during the building of
7 // Moreover, this file will be used during the building of
88 // gccgo's libgo and thus must not used a CGo method.
99
1010 //go:build aix && gccgo
0 // Copyright 2022 The Go Authors. All rights reserved.
1 // Use of this source code is governed by a BSD-style
2 // license that can be found in the LICENSE file.
3
4 //go:build linux && loong64 && gc
5 // +build linux
6 // +build loong64
7 // +build gc
8
9 #include "textflag.h"
10
11
12 // Just jump to package syscall's implementation for all these functions.
13 // The runtime may know about them.
14
15 TEXT ·Syscall(SB),NOSPLIT,$0-56
16 JMP syscall·Syscall(SB)
17
18 TEXT ·Syscall6(SB),NOSPLIT,$0-80
19 JMP syscall·Syscall6(SB)
20
21 TEXT ·SyscallNoError(SB),NOSPLIT,$0-48
22 JAL runtime·entersyscall(SB)
23 MOVV a1+8(FP), R4
24 MOVV a2+16(FP), R5
25 MOVV a3+24(FP), R6
26 MOVV R0, R7
27 MOVV R0, R8
28 MOVV R0, R9
29 MOVV trap+0(FP), R11 // syscall entry
30 SYSCALL
31 MOVV R4, r1+32(FP)
32 MOVV R5, r2+40(FP)
33 JAL runtime·exitsyscall(SB)
34 RET
35
36 TEXT ·RawSyscall(SB),NOSPLIT,$0-56
37 JMP syscall·RawSyscall(SB)
38
39 TEXT ·RawSyscall6(SB),NOSPLIT,$0-80
40 JMP syscall·RawSyscall6(SB)
41
42 TEXT ·RawSyscallNoError(SB),NOSPLIT,$0-48
43 MOVV a1+8(FP), R4
44 MOVV a2+16(FP), R5
45 MOVV a3+24(FP), R6
46 MOVV R0, R7
47 MOVV R0, R8
48 MOVV R0, R9
49 MOVV trap+0(FP), R11 // syscall entry
50 SYSCALL
51 MOVV R4, r1+32(FP)
52 MOVV R5, r2+40(FP)
53 RET
117117 {"sendfile", libc_sendfile_trampoline_addr},
118118 {"sendmsg", libc_sendmsg_trampoline_addr},
119119 {"sendto", libc_sendto_trampoline_addr},
120 {"setattrlist", libc_setattrlist_trampoline_addr},
121120 {"setegid", libc_setegid_trampoline_addr},
122121 {"seteuid", libc_seteuid_trampoline_addr},
123122 {"setgid", libc_setgid_trampoline_addr},
153152 {"unlink", libc_unlink_trampoline_addr},
154153 {"unlinkat", libc_unlinkat_trampoline_addr},
155154 {"unmount", libc_unmount_trampoline_addr},
155 {"utimensat", libc_utimensat_trampoline_addr},
156156 {"utimes", libc_utimes_trampoline_addr},
157157 {"wait4", libc_wait4_trampoline_addr},
158158 {"write", libc_write_trampoline_addr},
117117 {"sendfile", libc_sendfile_trampoline_addr},
118118 {"sendmsg", libc_sendmsg_trampoline_addr},
119119 {"sendto", libc_sendto_trampoline_addr},
120 {"setattrlist", libc_setattrlist_trampoline_addr},
121120 {"setegid", libc_setegid_trampoline_addr},
122121 {"seteuid", libc_seteuid_trampoline_addr},
123122 {"setgid", libc_setgid_trampoline_addr},
153152 {"unlink", libc_unlink_trampoline_addr},
154153 {"unlinkat", libc_unlinkat_trampoline_addr},
155154 {"unmount", libc_unmount_trampoline_addr},
155 {"utimensat", libc_utimensat_trampoline_addr},
156156 {"utimes", libc_utimes_trampoline_addr},
157157 {"wait4", libc_wait4_trampoline_addr},
158158 {"write", libc_write_trampoline_addr},
11 // Use of this source code is governed by a BSD-style
22 // license that can be found in the LICENSE file.
33 //
4 //go:build 386 || amd64 || amd64p32 || alpha || arm || arm64 || mipsle || mips64le || mips64p32le || nios2 || ppc64le || riscv || riscv64 || sh
5 // +build 386 amd64 amd64p32 alpha arm arm64 mipsle mips64le mips64p32le nios2 ppc64le riscv riscv64 sh
4 //go:build 386 || amd64 || amd64p32 || alpha || arm || arm64 || loong64 || mipsle || mips64le || mips64p32le || nios2 || ppc64le || riscv || riscv64 || sh
5 // +build 386 amd64 amd64p32 alpha arm arm64 loong64 mipsle mips64le mips64p32le nios2 ppc64le riscv riscv64 sh
66
77 package unix
88
0 // Copyright 2022 The Go Authors. All rights reserved.
1 // Use of this source code is governed by a BSD-style
2 // license that can be found in the LICENSE file.
3
4 //go:build darwin || dragonfly || freebsd || openbsd
5 // +build darwin dragonfly freebsd openbsd
6
7 package unix_test
8
9 import (
10 "os/exec"
11 "testing"
12
13 "golang.org/x/sys/unix"
14 )
15
16 func TestGetfsstat(t *testing.T) {
17 n, err := unix.Getfsstat(nil, unix.MNT_NOWAIT)
18 if err != nil {
19 t.Fatal(err)
20 }
21
22 data := make([]unix.Statfs_t, n)
23 n2, err := unix.Getfsstat(data, unix.MNT_NOWAIT)
24 if err != nil {
25 t.Fatal(err)
26 }
27 if n != n2 {
28 t.Errorf("Getfsstat(nil) = %d, but subsequent Getfsstat(slice) = %d", n, n2)
29 }
30 for i, stat := range data {
31 if stat == (unix.Statfs_t{}) {
32 t.Errorf("index %v is an empty Statfs_t struct", i)
33 }
34 }
35 if t.Failed() {
36 for i, stat := range data[:n2] {
37 t.Logf("data[%v] = %+v", i, stat)
38 }
39 mount, err := exec.Command("mount").CombinedOutput()
40 if err != nil {
41 t.Logf("mount: %v\n%s", err, mount)
42 } else {
43 t.Logf("mount: %s", mount)
44 }
45 }
46 }
1313 // $ mkmerge -out zerrors_linux.go zerrors_linux_*.go
1414 //
1515 // mkmerge performs the merge in the following steps:
16 // 1. Construct the set of common code that is idential in all
16 // 1. Construct the set of common code that is identical in all
1717 // architecture-specific files.
1818 // 2. Write this common code to the merged file.
1919 // 3. Remove the common code from all architecture-specific files.
409409 }
410410
411411 got, err := filter(inFiles[0].src, commonSet.keepCommon)
412 if err != nil {
413 t.Fatal(err)
414 }
415
412416 expected := []byte(mergedFile)
413417
414418 if !bytes.Equal(got, expected) {
193193 // identical so pass *IfreqData directly.
194194 return ioctlPtr(fd, req, unsafe.Pointer(value))
195195 }
196
197 // IoctlKCMClone attaches a new file descriptor to a multiplexor by cloning an
198 // existing KCM socket, returning a structure containing the file descriptor of
199 // the new socket.
200 func IoctlKCMClone(fd int) (*KCMClone, error) {
201 var info KCMClone
202 if err := ioctlPtr(fd, SIOCKCMCLONE, unsafe.Pointer(&info)); err != nil {
203 return nil, err
204 }
205
206 return &info, nil
207 }
208
209 // IoctlKCMAttach attaches a TCP socket and associated BPF program file
210 // descriptor to a multiplexor.
211 func IoctlKCMAttach(fd int, info KCMAttach) error {
212 return ioctlPtr(fd, SIOCKCMATTACH, unsafe.Pointer(&info))
213 }
214
215 // IoctlKCMUnattach unattaches a TCP socket file descriptor from a multiplexor.
216 func IoctlKCMUnattach(fd int, info KCMUnattach) error {
217 return ioctlPtr(fd, SIOCKCMUNATTACH, unsafe.Pointer(&info))
218 }
1414 # Get the git sources. If not cached, this takes O(5 minutes).
1515 WORKDIR /git
1616 RUN git config --global advice.detachedHead false
17 # Linux Kernel: Released 31 Oct 2021
18 RUN git clone --branch v5.15 --depth 1 https://kernel.googlesource.com/pub/scm/linux/kernel/git/torvalds/linux
19 # GNU C library: Released 02 Aug 2021
20 RUN git clone --branch release/2.34/master --depth 1 https://sourceware.org/git/glibc.git
17 # Linux Kernel: Released 20 Mar 2022
18 RUN git clone --branch v5.17 --depth 1 https://kernel.googlesource.com/pub/scm/linux/kernel/git/torvalds/linux
19 # GNU C library: Released 03 Feb 2022
20 RUN git clone --branch release/2.35/master --depth 1 https://sourceware.org/git/glibc.git
21
22 # Only for loong64, add kernel and glibc patch
23 RUN git clone https://github.com/loongson/golang-infra.git /git/loong64-patches \
24 && git config --global user.name "golang" && git config --global user.email "golang@localhost" \
25 && cd /git/loong64-patches && git checkout linux-v5.17 && cd /git/linux && git am /git/loong64-patches/*.patch \
26 && cd /git/loong64-patches && git checkout glibc-v2.35 && cd /git/glibc && git am /git/loong64-patches/*.patch \
27 && curl -fsSL https://git.savannah.gnu.org/cgit/config.git/plain/config.sub -o /git/glibc/scripts/config.sub
2128
2229 # Get Go
23 ENV GOLANG_VERSION 1.17.3
30 ENV GOLANG_VERSION 1.18
2431 ENV GOLANG_DOWNLOAD_URL https://golang.org/dl/go$GOLANG_VERSION.linux-amd64.tar.gz
25 ENV GOLANG_DOWNLOAD_SHA256 550f9845451c0c94be679faf116291e7807a8d78b43149f9506c1b15eb89008c
32 ENV GOLANG_DOWNLOAD_SHA256 e85278e98f57cdb150fe8409e6e5df5343ecb13cebf03a5d5ff12bd55a80264f
2633
2734 RUN curl -fsSL "$GOLANG_DOWNLOAD_URL" -o golang.tar.gz \
2835 && echo "$GOLANG_DOWNLOAD_SHA256 golang.tar.gz" | sha256sum -c - \
5057 && apt-get clean \
5158 && rm -rf /var/lib/apt/lists/*
5259
60 # Only for loong64, add patch and build golang
61 RUN git clone https://go.googlesource.com/go --branch go1.18 /git/go \
62 && cd /git/loong64-patches && git checkout go-v1.18 && cd /git/go && git am /git/loong64-patches/*.patch \
63 && rm -rf /git/loong64-patches && cd /git/go/src && ./make.bash
64
65 ENV PATH /git/go/bin:$PATH
66
67 # Only for loong64, getting tools of qemu-user and gcc-cross-compiler
68 RUN apt-get update && apt-get install wget xz-utils -y && mkdir /loong64 && cd /loong64 \
69 && wget -q https://github.com/loongson/build-tools/releases/download/2021.12.21/qemu-loongarch-2022-4-01.tar.gz \
70 && tar xf qemu-loongarch-2022-4-01.tar.gz && cp ./4-1/new-world/qemu-loongarch64 /usr/bin/ \
71 && rm -rf qemu-loongarch-2022-4-01.tar.gz 4-1 \
72 && wget -q https://github.com/loongson/build-tools/releases/download/2021.12.21/loongarch64-clfs-2022-03-03-cross-tools-gcc-glibc.tar.xz \
73 && tar xf loongarch64-clfs-2022-03-03-cross-tools-gcc-glibc.tar.xz && mv cross-tools.gcc_glibc /usr/local/cross-tools-loong64 \
74 && rm -rf loongarch64-clfs-2022-03-03-cross-tools-gcc-glibc.tar.xz \
75 && ln -s /usr/local/cross-tools-loong64/bin/loongarch64-unknown-linux-gnu-gcc /usr/bin/loongarch64-linux-gnu-gcc \
76 && rm -rf /loong64
77
5378 # Let the scripts know they are in the docker environment
5479 ENV GOLANG_SYS_BUILD docker
5580 WORKDIR /build/unix
2121 "encoding/binary"
2222 "errors"
2323 "fmt"
24 "go/build/constraint"
2425 "io"
2526 "io/ioutil"
2627 "os"
8081 LinuxArch: "arm",
8182 GNUArch: "arm-linux-gnueabi",
8283 Bits: 32,
84 },
85 {
86 GoArch: "loong64",
87 LinuxArch: "loongarch",
88 GNUArch: "loongarch64-linux-gnu",
89 Bits: 64,
8390 },
8491 {
8592 GoArch: "mips",
509516 }
510517
511518 args := append(t.mksyscallFlags(), "-tags", "linux,"+t.GoArch,
512 "syscall_linux.go", archSyscallFile)
519 "syscall_linux.go",
520 archSyscallFile,
521 )
522
523 files, err := t.archMksyscallFiles()
524 if err != nil {
525 return fmt.Errorf("failed to check GOARCH-specific mksyscall files: %v", err)
526 }
527 args = append(args, files...)
528
513529 return t.commandFormatOutput("gofmt", zsyscallFile, "mksyscall", args...)
530 }
531
532 // archMksyscallFiles produces additional file arguments to mksyscall if the
533 // build constraints in those files match those defined for target.
534 func (t *target) archMksyscallFiles() ([]string, error) {
535 // These input files don't fit the typical GOOS/GOARCH file name conventions
536 // but are included conditionally in the arguments to mksyscall based on
537 // whether or not the target matches the build constraints defined in each
538 // file.
539 //
540 // TODO(mdlayher): it should be possible to generalize this approach to work
541 // over all of syscall_linux_* rather than hard-coding a few special files.
542 // Investigate this.
543 inputs := []string{
544 // GOARCH: all except arm* and riscv.
545 "syscall_linux_alarm.go",
546 }
547
548 var outputs []string
549 for _, in := range inputs {
550 ok, err := t.matchesMksyscallFile(in)
551 if err != nil {
552 return nil, fmt.Errorf("failed to parse file %q: %v", in, err)
553 }
554 if ok {
555 // Constraints match, use for this target's code generation.
556 outputs = append(outputs, in)
557 }
558 }
559
560 return outputs, nil
561 }
562
563 // matchesMksyscallFile reports whether the input file contains constraints
564 // which match those defined for target.
565 func (t *target) matchesMksyscallFile(file string) (bool, error) {
566 f, err := os.Open(file)
567 if err != nil {
568 return false, err
569 }
570 defer f.Close()
571
572 var (
573 expr constraint.Expr
574 found bool
575 )
576
577 s := bufio.NewScanner(f)
578 for s.Scan() {
579 // Keep scanning until a valid constraint is found or we hit EOF.
580 //
581 // This only supports single-line constraints such as the //go:build
582 // convention used in Go 1.17+. Because the old //+build convention
583 // (which may have multiple lines of build tags) is being deprecated,
584 // we don't bother looking for multi-line constraints.
585 if expr, err = constraint.Parse(s.Text()); err == nil {
586 found = true
587 break
588 }
589 }
590 if err := s.Err(); err != nil {
591 return false, err
592 }
593 if !found {
594 return false, errors.New("no build constraints found")
595 }
596
597 // Do the defined constraints match target's GOOS/GOARCH?
598 ok := expr.Eval(func(tag string) bool {
599 return tag == GOOS || tag == t.GoArch
600 })
601
602 return ok, nil
514603 }
515604
516605 // makes the zerrors_linux_$GOARCH.go file
11 // Use of this source code is governed by a BSD-style
22 // license that can be found in the LICENSE file.
33
4 //go:build ignore
45 // +build ignore
56
67 package main
8181 #include <linux/blkpg.h>
8282 #include <linux/bpf.h>
8383 #include <linux/can.h>
84 #include <linux/can/netlink.h>
8485 #include <linux/can/raw.h>
8586 #include <linux/capability.h>
8687 #include <linux/cgroupstats.h>
9293 #include <linux/ethtool.h>
9394 #include <linux/ethtool_netlink.h>
9495 #include <linux/fanotify.h>
96 #include <linux/fib_rules.h>
9597 #include <linux/filter.h>
9698 #include <linux/fs.h>
9799 #include <linux/fsverity.h>
106108 #include <linux/if_pppox.h>
107109 #include <linux/if_xdp.h>
108110 #include <linux/ipc.h>
111 #include <linux/kcm.h>
109112 #include <linux/keyctl.h>
110113 #include <linux/landlock.h>
111114 #include <linux/loop.h>
122125 #include <linux/netlink.h>
123126 #include <linux/nexthop.h>
124127 #include <linux/nfc.h>
128 #include <linux/nl80211.h>
125129 #include <linux/openat2.h>
126130 #include <linux/perf_event.h>
127131 #include <linux/pps.h>
303307
304308 #ifdef __ARM_EABI__
305309 typedef struct user_regs PtraceRegs;
306 #elif defined(__aarch64__)
310 #elif defined(__aarch64__) || defined(__loongarch64)
307311 typedef struct user_pt_regs PtraceRegs;
308312 #elif defined(__mips__) || defined(__powerpc__) || defined(__powerpc64__)
309313 typedef struct pt_regs PtraceRegs;
334338 // alignment requirements of EABI
335339 int32_t padFd;
336340 #elif defined(__powerpc__) || defined(__powerpc64__) || defined(__s390x__) || defined(__sparc__) \
337 || defined(__riscv) || (defined(__mips__) && _MIPS_SIM == _MIPS_SIM_ABI64)
341 || defined(__riscv) || (defined(__mips__) && _MIPS_SIM == _MIPS_SIM_ABI64) \
342 || defined(__loongarch64)
338343 int32_t _padFd;
339344 #endif
340345 int32_t fd;
425430 // From the union.
426431 __u32 domain;
427432 };
433
434 // copied from /usr/include/linux/can/netlink.h modified with explicit unsigned chars.
435 struct my_can_bittiming_const {
436 uint8_t name[16];
437 __u32 tseg1_min;
438 __u32 tseg1_max;
439 __u32 tseg2_min;
440 __u32 tseg2_max;
441 __u32 sjw_max;
442 __u32 brp_min;
443 __u32 brp_max;
444 __u32 brp_inc;
445 };
428446 */
429447 import "C"
430448
457475 type Timex C.struct_timex
458476
459477 type ItimerSpec C.struct_itimerspec
478
479 type Itimerval C.struct_itimerval
460480
461481 const (
462482 TIME_OK = C.TIME_OK
883903 AT_SYMLINK_NOFOLLOW = C.AT_SYMLINK_NOFOLLOW
884904
885905 AT_EACCESS = C.AT_EACCESS
906
907 OPEN_TREE_CLONE = C.OPEN_TREE_CLONE
908 OPEN_TREE_CLOEXEC = C.OPEN_TREE_CLOEXEC
909
910 MOVE_MOUNT_F_SYMLINKS = C.MOVE_MOUNT_F_SYMLINKS
911 MOVE_MOUNT_F_AUTOMOUNTS = C.MOVE_MOUNT_F_AUTOMOUNTS
912 MOVE_MOUNT_F_EMPTY_PATH = C.MOVE_MOUNT_F_EMPTY_PATH
913 MOVE_MOUNT_T_SYMLINKS = C.MOVE_MOUNT_T_SYMLINKS
914 MOVE_MOUNT_T_AUTOMOUNTS = C.MOVE_MOUNT_T_AUTOMOUNTS
915 MOVE_MOUNT_T_EMPTY_PATH = C.MOVE_MOUNT_T_EMPTY_PATH
916 MOVE_MOUNT_SET_GROUP = C.MOVE_MOUNT_SET_GROUP
917
918 FSOPEN_CLOEXEC = C.FSOPEN_CLOEXEC
919
920 FSPICK_CLOEXEC = C.FSPICK_CLOEXEC
921 FSPICK_SYMLINK_NOFOLLOW = C.FSPICK_SYMLINK_NOFOLLOW
922 FSPICK_NO_AUTOMOUNT = C.FSPICK_NO_AUTOMOUNT
923 FSPICK_EMPTY_PATH = C.FSPICK_EMPTY_PATH
924
925 FSMOUNT_CLOEXEC = C.FSMOUNT_CLOEXEC
886926 )
887927
888928 type OpenHow C.struct_open_how
914954 const _C__NSIG = C._NSIG
915955
916956 type SignalfdSiginfo C.struct_signalfd_siginfo
957
958 type Siginfo C.siginfo_t
917959
918960 // Terminal handling
919961
12151257 PERF_RECORD_BPF_EVENT = C.PERF_RECORD_BPF_EVENT
12161258 PERF_RECORD_CGROUP = C.PERF_RECORD_CGROUP
12171259 PERF_RECORD_TEXT_POKE = C.PERF_RECORD_TEXT_POKE
1260 PERF_RECORD_AUX_OUTPUT_HW_ID = C.PERF_RECORD_AUX_OUTPUT_HW_ID
12181261 PERF_RECORD_MAX = C.PERF_RECORD_MAX
12191262 PERF_RECORD_KSYMBOL_TYPE_UNKNOWN = C.PERF_RECORD_KSYMBOL_TYPE_UNKNOWN
12201263 PERF_RECORD_KSYMBOL_TYPE_BPF = C.PERF_RECORD_KSYMBOL_TYPE_BPF
17871830
17881831 const (
17891832 NF_NETDEV_INGRESS = C.NF_NETDEV_INGRESS
1833 NF_NETDEV_EGRESS = C.NF_NETDEV_EGRESS
17901834 NF_NETDEV_NUMHOOKS = C.NF_NETDEV_NUMHOOKS
17911835 )
17921836
31493193 DEVLINK_ATTR_RELOAD_ACTION_INFO = C.DEVLINK_ATTR_RELOAD_ACTION_INFO
31503194 DEVLINK_ATTR_RELOAD_ACTION_STATS = C.DEVLINK_ATTR_RELOAD_ACTION_STATS
31513195 DEVLINK_ATTR_PORT_PCI_SF_NUMBER = C.DEVLINK_ATTR_PORT_PCI_SF_NUMBER
3196 DEVLINK_ATTR_RATE_TYPE = C.DEVLINK_ATTR_RATE_TYPE
3197 DEVLINK_ATTR_RATE_TX_SHARE = C.DEVLINK_ATTR_RATE_TX_SHARE
3198 DEVLINK_ATTR_RATE_TX_MAX = C.DEVLINK_ATTR_RATE_TX_MAX
3199 DEVLINK_ATTR_RATE_NODE_NAME = C.DEVLINK_ATTR_RATE_NODE_NAME
3200 DEVLINK_ATTR_RATE_PARENT_NODE_NAME = C.DEVLINK_ATTR_RATE_PARENT_NODE_NAME
3201 DEVLINK_ATTR_REGION_MAX_SNAPSHOTS = C.DEVLINK_ATTR_REGION_MAX_SNAPSHOTS
31523202 DEVLINK_ATTR_MAX = C.DEVLINK_ATTR_MAX
31533203 DEVLINK_DPIPE_FIELD_MAPPING_TYPE_NONE = C.DEVLINK_DPIPE_FIELD_MAPPING_TYPE_NONE
31543204 DEVLINK_DPIPE_FIELD_MAPPING_TYPE_IFINDEX = C.DEVLINK_DPIPE_FIELD_MAPPING_TYPE_IFINDEX
34343484 ETHTOOL_MSG_CABLE_TEST_ACT = C.ETHTOOL_MSG_CABLE_TEST_ACT
34353485 ETHTOOL_MSG_CABLE_TEST_TDR_ACT = C.ETHTOOL_MSG_CABLE_TEST_TDR_ACT
34363486 ETHTOOL_MSG_TUNNEL_INFO_GET = C.ETHTOOL_MSG_TUNNEL_INFO_GET
3487 ETHTOOL_MSG_FEC_GET = C.ETHTOOL_MSG_FEC_GET
3488 ETHTOOL_MSG_FEC_SET = C.ETHTOOL_MSG_FEC_SET
3489 ETHTOOL_MSG_MODULE_EEPROM_GET = C.ETHTOOL_MSG_MODULE_EEPROM_GET
3490 ETHTOOL_MSG_STATS_GET = C.ETHTOOL_MSG_STATS_GET
3491 ETHTOOL_MSG_PHC_VCLOCKS_GET = C.ETHTOOL_MSG_PHC_VCLOCKS_GET
3492 ETHTOOL_MSG_MODULE_GET = C.ETHTOOL_MSG_MODULE_GET
3493 ETHTOOL_MSG_MODULE_SET = C.ETHTOOL_MSG_MODULE_SET
34373494 ETHTOOL_MSG_USER_MAX = C.ETHTOOL_MSG_USER_MAX
34383495 ETHTOOL_MSG_KERNEL_NONE = C.ETHTOOL_MSG_KERNEL_NONE
34393496 ETHTOOL_MSG_STRSET_GET_REPLY = C.ETHTOOL_MSG_STRSET_GET_REPLY
34653522 ETHTOOL_MSG_CABLE_TEST_NTF = C.ETHTOOL_MSG_CABLE_TEST_NTF
34663523 ETHTOOL_MSG_CABLE_TEST_TDR_NTF = C.ETHTOOL_MSG_CABLE_TEST_TDR_NTF
34673524 ETHTOOL_MSG_TUNNEL_INFO_GET_REPLY = C.ETHTOOL_MSG_TUNNEL_INFO_GET_REPLY
3525 ETHTOOL_MSG_FEC_GET_REPLY = C.ETHTOOL_MSG_FEC_GET_REPLY
3526 ETHTOOL_MSG_FEC_NTF = C.ETHTOOL_MSG_FEC_NTF
3527 ETHTOOL_MSG_MODULE_EEPROM_GET_REPLY = C.ETHTOOL_MSG_MODULE_EEPROM_GET_REPLY
3528 ETHTOOL_MSG_STATS_GET_REPLY = C.ETHTOOL_MSG_STATS_GET_REPLY
3529 ETHTOOL_MSG_PHC_VCLOCKS_GET_REPLY = C.ETHTOOL_MSG_PHC_VCLOCKS_GET_REPLY
3530 ETHTOOL_MSG_MODULE_GET_REPLY = C.ETHTOOL_MSG_MODULE_GET_REPLY
3531 ETHTOOL_MSG_MODULE_NTF = C.ETHTOOL_MSG_MODULE_NTF
34683532 ETHTOOL_MSG_KERNEL_MAX = C.ETHTOOL_MSG_KERNEL_MAX
34693533 ETHTOOL_A_HEADER_UNSPEC = C.ETHTOOL_A_HEADER_UNSPEC
34703534 ETHTOOL_A_HEADER_DEV_INDEX = C.ETHTOOL_A_HEADER_DEV_INDEX
37153779 ETHTOOL_A_TUNNEL_INFO_MAX = C.ETHTOOL_A_TUNNEL_INFO_MAX
37163780 )
37173781
3782 const SPEED_UNKNOWN = C.SPEED_UNKNOWN
3783
37183784 type EthtoolDrvinfo C.struct_ethtool_drvinfo
37193785
37203786 type (
39574023 NL_POLICY_TYPE_ATTR_MASK = C.NL_POLICY_TYPE_ATTR_MASK
39584024 NL_POLICY_TYPE_ATTR_MAX = C.NL_POLICY_TYPE_ATTR_MAX
39594025 )
4026
4027 // CAN netlink types
4028
4029 type CANBitTiming C.struct_can_bittiming
4030
4031 type CANBitTimingConst C.struct_my_can_bittiming_const
4032
4033 type CANClock C.struct_can_clock
4034
4035 type CANBusErrorCounters C.struct_can_berr_counter
4036
4037 type CANCtrlMode C.struct_can_ctrlmode
4038
4039 type CANDeviceStats C.struct_can_device_stats
4040
4041 // Generated by:
4042 // perl -nlE '/^\s*(CAN_STATE\w+)/ && say "$1 = C.$1"' /usr/include/linux/can/netlink.h
4043 const (
4044 CAN_STATE_ERROR_ACTIVE = C.CAN_STATE_ERROR_ACTIVE
4045 CAN_STATE_ERROR_WARNING = C.CAN_STATE_ERROR_WARNING
4046 CAN_STATE_ERROR_PASSIVE = C.CAN_STATE_ERROR_PASSIVE
4047 CAN_STATE_BUS_OFF = C.CAN_STATE_BUS_OFF
4048 CAN_STATE_STOPPED = C.CAN_STATE_STOPPED
4049 CAN_STATE_SLEEPING = C.CAN_STATE_SLEEPING
4050 CAN_STATE_MAX = C.CAN_STATE_MAX
4051 )
4052
4053 // Generated by:
4054 // perl -nlE '/^\s*(IFLA_CAN\w+)/ && say "$1 = C.$1"' /usr/include/linux/can/netlink.h
4055 const (
4056 IFLA_CAN_UNSPEC = C.IFLA_CAN_UNSPEC
4057 IFLA_CAN_BITTIMING = C.IFLA_CAN_BITTIMING
4058 IFLA_CAN_BITTIMING_CONST = C.IFLA_CAN_BITTIMING_CONST
4059 IFLA_CAN_CLOCK = C.IFLA_CAN_CLOCK
4060 IFLA_CAN_STATE = C.IFLA_CAN_STATE
4061 IFLA_CAN_CTRLMODE = C.IFLA_CAN_CTRLMODE
4062 IFLA_CAN_RESTART_MS = C.IFLA_CAN_RESTART_MS
4063 IFLA_CAN_RESTART = C.IFLA_CAN_RESTART
4064 IFLA_CAN_BERR_COUNTER = C.IFLA_CAN_BERR_COUNTER
4065 IFLA_CAN_DATA_BITTIMING = C.IFLA_CAN_DATA_BITTIMING
4066 IFLA_CAN_DATA_BITTIMING_CONST = C.IFLA_CAN_DATA_BITTIMING_CONST
4067 IFLA_CAN_TERMINATION = C.IFLA_CAN_TERMINATION
4068 IFLA_CAN_TERMINATION_CONST = C.IFLA_CAN_TERMINATION_CONST
4069 IFLA_CAN_BITRATE_CONST = C.IFLA_CAN_BITRATE_CONST
4070 IFLA_CAN_DATA_BITRATE_CONST = C.IFLA_CAN_DATA_BITRATE_CONST
4071 IFLA_CAN_BITRATE_MAX = C.IFLA_CAN_BITRATE_MAX
4072 )
4073
4074 // Kernel connection multiplexor
4075
4076 type KCMAttach C.struct_kcm_attach
4077
4078 type KCMUnattach C.struct_kcm_unattach
4079
4080 type KCMClone C.struct_kcm_clone
4081
4082 // nl80211 generic netlink
4083
4084 // Generated by the following steps:
4085 //
4086 // perl -nlE '/^#define (NL80211_\w+)/ && say "$1 = C.$1"' /usr/include/linux/nl80211.h > define.txt
4087 // perl -nlE '/^\s*(NL80211_\w+)/ && say "$1 = C.$1"' /usr/include/linux/nl80211.h > enum.txt
4088 // cat define.txt enum.txt | sort --unique
4089 //
4090 // nl80211 has some duplicated values between enums and C preprocessor macros,
4091 // so this list must be sorted and made unique.
4092 const (
4093 NL80211_AC_BE = C.NL80211_AC_BE
4094 NL80211_AC_BK = C.NL80211_AC_BK
4095 NL80211_ACL_POLICY_ACCEPT_UNLESS_LISTED = C.NL80211_ACL_POLICY_ACCEPT_UNLESS_LISTED
4096 NL80211_ACL_POLICY_DENY_UNLESS_LISTED = C.NL80211_ACL_POLICY_DENY_UNLESS_LISTED
4097 NL80211_AC_VI = C.NL80211_AC_VI
4098 NL80211_AC_VO = C.NL80211_AC_VO
4099 NL80211_ATTR_4ADDR = C.NL80211_ATTR_4ADDR
4100 NL80211_ATTR_ACK = C.NL80211_ATTR_ACK
4101 NL80211_ATTR_ACK_SIGNAL = C.NL80211_ATTR_ACK_SIGNAL
4102 NL80211_ATTR_ACL_POLICY = C.NL80211_ATTR_ACL_POLICY
4103 NL80211_ATTR_ADMITTED_TIME = C.NL80211_ATTR_ADMITTED_TIME
4104 NL80211_ATTR_AIRTIME_WEIGHT = C.NL80211_ATTR_AIRTIME_WEIGHT
4105 NL80211_ATTR_AKM_SUITES = C.NL80211_ATTR_AKM_SUITES
4106 NL80211_ATTR_AP_ISOLATE = C.NL80211_ATTR_AP_ISOLATE
4107 NL80211_ATTR_AUTH_DATA = C.NL80211_ATTR_AUTH_DATA
4108 NL80211_ATTR_AUTH_TYPE = C.NL80211_ATTR_AUTH_TYPE
4109 NL80211_ATTR_BANDS = C.NL80211_ATTR_BANDS
4110 NL80211_ATTR_BEACON_HEAD = C.NL80211_ATTR_BEACON_HEAD
4111 NL80211_ATTR_BEACON_INTERVAL = C.NL80211_ATTR_BEACON_INTERVAL
4112 NL80211_ATTR_BEACON_TAIL = C.NL80211_ATTR_BEACON_TAIL
4113 NL80211_ATTR_BG_SCAN_PERIOD = C.NL80211_ATTR_BG_SCAN_PERIOD
4114 NL80211_ATTR_BSS_BASIC_RATES = C.NL80211_ATTR_BSS_BASIC_RATES
4115 NL80211_ATTR_BSS = C.NL80211_ATTR_BSS
4116 NL80211_ATTR_BSS_CTS_PROT = C.NL80211_ATTR_BSS_CTS_PROT
4117 NL80211_ATTR_BSS_HT_OPMODE = C.NL80211_ATTR_BSS_HT_OPMODE
4118 NL80211_ATTR_BSSID = C.NL80211_ATTR_BSSID
4119 NL80211_ATTR_BSS_SELECT = C.NL80211_ATTR_BSS_SELECT
4120 NL80211_ATTR_BSS_SHORT_PREAMBLE = C.NL80211_ATTR_BSS_SHORT_PREAMBLE
4121 NL80211_ATTR_BSS_SHORT_SLOT_TIME = C.NL80211_ATTR_BSS_SHORT_SLOT_TIME
4122 NL80211_ATTR_CENTER_FREQ1 = C.NL80211_ATTR_CENTER_FREQ1
4123 NL80211_ATTR_CENTER_FREQ1_OFFSET = C.NL80211_ATTR_CENTER_FREQ1_OFFSET
4124 NL80211_ATTR_CENTER_FREQ2 = C.NL80211_ATTR_CENTER_FREQ2
4125 NL80211_ATTR_CHANNEL_WIDTH = C.NL80211_ATTR_CHANNEL_WIDTH
4126 NL80211_ATTR_CH_SWITCH_BLOCK_TX = C.NL80211_ATTR_CH_SWITCH_BLOCK_TX
4127 NL80211_ATTR_CH_SWITCH_COUNT = C.NL80211_ATTR_CH_SWITCH_COUNT
4128 NL80211_ATTR_CIPHER_SUITE_GROUP = C.NL80211_ATTR_CIPHER_SUITE_GROUP
4129 NL80211_ATTR_CIPHER_SUITES = C.NL80211_ATTR_CIPHER_SUITES
4130 NL80211_ATTR_CIPHER_SUITES_PAIRWISE = C.NL80211_ATTR_CIPHER_SUITES_PAIRWISE
4131 NL80211_ATTR_CNTDWN_OFFS_BEACON = C.NL80211_ATTR_CNTDWN_OFFS_BEACON
4132 NL80211_ATTR_CNTDWN_OFFS_PRESP = C.NL80211_ATTR_CNTDWN_OFFS_PRESP
4133 NL80211_ATTR_COALESCE_RULE = C.NL80211_ATTR_COALESCE_RULE
4134 NL80211_ATTR_COALESCE_RULE_CONDITION = C.NL80211_ATTR_COALESCE_RULE_CONDITION
4135 NL80211_ATTR_COALESCE_RULE_DELAY = C.NL80211_ATTR_COALESCE_RULE_DELAY
4136 NL80211_ATTR_COALESCE_RULE_MAX = C.NL80211_ATTR_COALESCE_RULE_MAX
4137 NL80211_ATTR_COALESCE_RULE_PKT_PATTERN = C.NL80211_ATTR_COALESCE_RULE_PKT_PATTERN
4138 NL80211_ATTR_CONN_FAILED_REASON = C.NL80211_ATTR_CONN_FAILED_REASON
4139 NL80211_ATTR_CONTROL_PORT = C.NL80211_ATTR_CONTROL_PORT
4140 NL80211_ATTR_CONTROL_PORT_ETHERTYPE = C.NL80211_ATTR_CONTROL_PORT_ETHERTYPE
4141 NL80211_ATTR_CONTROL_PORT_NO_ENCRYPT = C.NL80211_ATTR_CONTROL_PORT_NO_ENCRYPT
4142 NL80211_ATTR_CONTROL_PORT_NO_PREAUTH = C.NL80211_ATTR_CONTROL_PORT_NO_PREAUTH
4143 NL80211_ATTR_CONTROL_PORT_OVER_NL80211 = C.NL80211_ATTR_CONTROL_PORT_OVER_NL80211
4144 NL80211_ATTR_COOKIE = C.NL80211_ATTR_COOKIE
4145 NL80211_ATTR_CQM_BEACON_LOSS_EVENT = C.NL80211_ATTR_CQM_BEACON_LOSS_EVENT
4146 NL80211_ATTR_CQM = C.NL80211_ATTR_CQM
4147 NL80211_ATTR_CQM_MAX = C.NL80211_ATTR_CQM_MAX
4148 NL80211_ATTR_CQM_PKT_LOSS_EVENT = C.NL80211_ATTR_CQM_PKT_LOSS_EVENT
4149 NL80211_ATTR_CQM_RSSI_HYST = C.NL80211_ATTR_CQM_RSSI_HYST
4150 NL80211_ATTR_CQM_RSSI_LEVEL = C.NL80211_ATTR_CQM_RSSI_LEVEL
4151 NL80211_ATTR_CQM_RSSI_THOLD = C.NL80211_ATTR_CQM_RSSI_THOLD
4152 NL80211_ATTR_CQM_RSSI_THRESHOLD_EVENT = C.NL80211_ATTR_CQM_RSSI_THRESHOLD_EVENT
4153 NL80211_ATTR_CQM_TXE_INTVL = C.NL80211_ATTR_CQM_TXE_INTVL
4154 NL80211_ATTR_CQM_TXE_PKTS = C.NL80211_ATTR_CQM_TXE_PKTS
4155 NL80211_ATTR_CQM_TXE_RATE = C.NL80211_ATTR_CQM_TXE_RATE
4156 NL80211_ATTR_CRIT_PROT_ID = C.NL80211_ATTR_CRIT_PROT_ID
4157 NL80211_ATTR_CSA_C_OFF_BEACON = C.NL80211_ATTR_CSA_C_OFF_BEACON
4158 NL80211_ATTR_CSA_C_OFF_PRESP = C.NL80211_ATTR_CSA_C_OFF_PRESP
4159 NL80211_ATTR_CSA_C_OFFSETS_TX = C.NL80211_ATTR_CSA_C_OFFSETS_TX
4160 NL80211_ATTR_CSA_IES = C.NL80211_ATTR_CSA_IES
4161 NL80211_ATTR_DEVICE_AP_SME = C.NL80211_ATTR_DEVICE_AP_SME
4162 NL80211_ATTR_DFS_CAC_TIME = C.NL80211_ATTR_DFS_CAC_TIME
4163 NL80211_ATTR_DFS_REGION = C.NL80211_ATTR_DFS_REGION
4164 NL80211_ATTR_DISABLE_HE = C.NL80211_ATTR_DISABLE_HE
4165 NL80211_ATTR_DISABLE_HT = C.NL80211_ATTR_DISABLE_HT
4166 NL80211_ATTR_DISABLE_VHT = C.NL80211_ATTR_DISABLE_VHT
4167 NL80211_ATTR_DISCONNECTED_BY_AP = C.NL80211_ATTR_DISCONNECTED_BY_AP
4168 NL80211_ATTR_DONT_WAIT_FOR_ACK = C.NL80211_ATTR_DONT_WAIT_FOR_ACK
4169 NL80211_ATTR_DTIM_PERIOD = C.NL80211_ATTR_DTIM_PERIOD
4170 NL80211_ATTR_DURATION = C.NL80211_ATTR_DURATION
4171 NL80211_ATTR_EXT_CAPA = C.NL80211_ATTR_EXT_CAPA
4172 NL80211_ATTR_EXT_CAPA_MASK = C.NL80211_ATTR_EXT_CAPA_MASK
4173 NL80211_ATTR_EXTERNAL_AUTH_ACTION = C.NL80211_ATTR_EXTERNAL_AUTH_ACTION
4174 NL80211_ATTR_EXTERNAL_AUTH_SUPPORT = C.NL80211_ATTR_EXTERNAL_AUTH_SUPPORT
4175 NL80211_ATTR_EXT_FEATURES = C.NL80211_ATTR_EXT_FEATURES
4176 NL80211_ATTR_FEATURE_FLAGS = C.NL80211_ATTR_FEATURE_FLAGS
4177 NL80211_ATTR_FILS_CACHE_ID = C.NL80211_ATTR_FILS_CACHE_ID
4178 NL80211_ATTR_FILS_DISCOVERY = C.NL80211_ATTR_FILS_DISCOVERY
4179 NL80211_ATTR_FILS_ERP_NEXT_SEQ_NUM = C.NL80211_ATTR_FILS_ERP_NEXT_SEQ_NUM
4180 NL80211_ATTR_FILS_ERP_REALM = C.NL80211_ATTR_FILS_ERP_REALM
4181 NL80211_ATTR_FILS_ERP_RRK = C.NL80211_ATTR_FILS_ERP_RRK
4182 NL80211_ATTR_FILS_ERP_USERNAME = C.NL80211_ATTR_FILS_ERP_USERNAME
4183 NL80211_ATTR_FILS_KEK = C.NL80211_ATTR_FILS_KEK
4184 NL80211_ATTR_FILS_NONCES = C.NL80211_ATTR_FILS_NONCES
4185 NL80211_ATTR_FRAME = C.NL80211_ATTR_FRAME
4186 NL80211_ATTR_FRAME_MATCH = C.NL80211_ATTR_FRAME_MATCH
4187 NL80211_ATTR_FRAME_TYPE = C.NL80211_ATTR_FRAME_TYPE
4188 NL80211_ATTR_FREQ_AFTER = C.NL80211_ATTR_FREQ_AFTER
4189 NL80211_ATTR_FREQ_BEFORE = C.NL80211_ATTR_FREQ_BEFORE
4190 NL80211_ATTR_FREQ_FIXED = C.NL80211_ATTR_FREQ_FIXED
4191 NL80211_ATTR_FREQ_RANGE_END = C.NL80211_ATTR_FREQ_RANGE_END
4192 NL80211_ATTR_FREQ_RANGE_MAX_BW = C.NL80211_ATTR_FREQ_RANGE_MAX_BW
4193 NL80211_ATTR_FREQ_RANGE_START = C.NL80211_ATTR_FREQ_RANGE_START
4194 NL80211_ATTR_FTM_RESPONDER = C.NL80211_ATTR_FTM_RESPONDER
4195 NL80211_ATTR_FTM_RESPONDER_STATS = C.NL80211_ATTR_FTM_RESPONDER_STATS
4196 NL80211_ATTR_GENERATION = C.NL80211_ATTR_GENERATION
4197 NL80211_ATTR_HANDLE_DFS = C.NL80211_ATTR_HANDLE_DFS
4198 NL80211_ATTR_HE_6GHZ_CAPABILITY = C.NL80211_ATTR_HE_6GHZ_CAPABILITY
4199 NL80211_ATTR_HE_BSS_COLOR = C.NL80211_ATTR_HE_BSS_COLOR
4200 NL80211_ATTR_HE_CAPABILITY = C.NL80211_ATTR_HE_CAPABILITY
4201 NL80211_ATTR_HE_OBSS_PD = C.NL80211_ATTR_HE_OBSS_PD
4202 NL80211_ATTR_HIDDEN_SSID = C.NL80211_ATTR_HIDDEN_SSID
4203 NL80211_ATTR_HT_CAPABILITY = C.NL80211_ATTR_HT_CAPABILITY
4204 NL80211_ATTR_HT_CAPABILITY_MASK = C.NL80211_ATTR_HT_CAPABILITY_MASK
4205 NL80211_ATTR_IE_ASSOC_RESP = C.NL80211_ATTR_IE_ASSOC_RESP
4206 NL80211_ATTR_IE = C.NL80211_ATTR_IE
4207 NL80211_ATTR_IE_PROBE_RESP = C.NL80211_ATTR_IE_PROBE_RESP
4208 NL80211_ATTR_IE_RIC = C.NL80211_ATTR_IE_RIC
4209 NL80211_ATTR_IFACE_SOCKET_OWNER = C.NL80211_ATTR_IFACE_SOCKET_OWNER
4210 NL80211_ATTR_IFINDEX = C.NL80211_ATTR_IFINDEX
4211 NL80211_ATTR_IFNAME = C.NL80211_ATTR_IFNAME
4212 NL80211_ATTR_IFTYPE_AKM_SUITES = C.NL80211_ATTR_IFTYPE_AKM_SUITES
4213 NL80211_ATTR_IFTYPE = C.NL80211_ATTR_IFTYPE
4214 NL80211_ATTR_IFTYPE_EXT_CAPA = C.NL80211_ATTR_IFTYPE_EXT_CAPA
4215 NL80211_ATTR_INACTIVITY_TIMEOUT = C.NL80211_ATTR_INACTIVITY_TIMEOUT
4216 NL80211_ATTR_INTERFACE_COMBINATIONS = C.NL80211_ATTR_INTERFACE_COMBINATIONS
4217 NL80211_ATTR_KEY_CIPHER = C.NL80211_ATTR_KEY_CIPHER
4218 NL80211_ATTR_KEY = C.NL80211_ATTR_KEY
4219 NL80211_ATTR_KEY_DATA = C.NL80211_ATTR_KEY_DATA
4220 NL80211_ATTR_KEY_DEFAULT = C.NL80211_ATTR_KEY_DEFAULT
4221 NL80211_ATTR_KEY_DEFAULT_MGMT = C.NL80211_ATTR_KEY_DEFAULT_MGMT
4222 NL80211_ATTR_KEY_DEFAULT_TYPES = C.NL80211_ATTR_KEY_DEFAULT_TYPES
4223 NL80211_ATTR_KEY_IDX = C.NL80211_ATTR_KEY_IDX
4224 NL80211_ATTR_KEYS = C.NL80211_ATTR_KEYS
4225 NL80211_ATTR_KEY_SEQ = C.NL80211_ATTR_KEY_SEQ
4226 NL80211_ATTR_KEY_TYPE = C.NL80211_ATTR_KEY_TYPE
4227 NL80211_ATTR_LOCAL_MESH_POWER_MODE = C.NL80211_ATTR_LOCAL_MESH_POWER_MODE
4228 NL80211_ATTR_LOCAL_STATE_CHANGE = C.NL80211_ATTR_LOCAL_STATE_CHANGE
4229 NL80211_ATTR_MAC_ACL_MAX = C.NL80211_ATTR_MAC_ACL_MAX
4230 NL80211_ATTR_MAC_ADDRS = C.NL80211_ATTR_MAC_ADDRS
4231 NL80211_ATTR_MAC = C.NL80211_ATTR_MAC
4232 NL80211_ATTR_MAC_HINT = C.NL80211_ATTR_MAC_HINT
4233 NL80211_ATTR_MAC_MASK = C.NL80211_ATTR_MAC_MASK
4234 NL80211_ATTR_MAX_AP_ASSOC_STA = C.NL80211_ATTR_MAX_AP_ASSOC_STA
4235 NL80211_ATTR_MAX = C.NL80211_ATTR_MAX
4236 NL80211_ATTR_MAX_CRIT_PROT_DURATION = C.NL80211_ATTR_MAX_CRIT_PROT_DURATION
4237 NL80211_ATTR_MAX_CSA_COUNTERS = C.NL80211_ATTR_MAX_CSA_COUNTERS
4238 NL80211_ATTR_MAX_MATCH_SETS = C.NL80211_ATTR_MAX_MATCH_SETS
4239 NL80211_ATTR_MAX_NUM_PMKIDS = C.NL80211_ATTR_MAX_NUM_PMKIDS
4240 NL80211_ATTR_MAX_NUM_SCAN_SSIDS = C.NL80211_ATTR_MAX_NUM_SCAN_SSIDS
4241 NL80211_ATTR_MAX_NUM_SCHED_SCAN_PLANS = C.NL80211_ATTR_MAX_NUM_SCHED_SCAN_PLANS
4242 NL80211_ATTR_MAX_NUM_SCHED_SCAN_SSIDS = C.NL80211_ATTR_MAX_NUM_SCHED_SCAN_SSIDS
4243 NL80211_ATTR_MAX_REMAIN_ON_CHANNEL_DURATION = C.NL80211_ATTR_MAX_REMAIN_ON_CHANNEL_DURATION
4244 NL80211_ATTR_MAX_SCAN_IE_LEN = C.NL80211_ATTR_MAX_SCAN_IE_LEN
4245 NL80211_ATTR_MAX_SCAN_PLAN_INTERVAL = C.NL80211_ATTR_MAX_SCAN_PLAN_INTERVAL
4246 NL80211_ATTR_MAX_SCAN_PLAN_ITERATIONS = C.NL80211_ATTR_MAX_SCAN_PLAN_ITERATIONS
4247 NL80211_ATTR_MAX_SCHED_SCAN_IE_LEN = C.NL80211_ATTR_MAX_SCHED_SCAN_IE_LEN
4248 NL80211_ATTR_MCAST_RATE = C.NL80211_ATTR_MCAST_RATE
4249 NL80211_ATTR_MDID = C.NL80211_ATTR_MDID
4250 NL80211_ATTR_MEASUREMENT_DURATION = C.NL80211_ATTR_MEASUREMENT_DURATION
4251 NL80211_ATTR_MEASUREMENT_DURATION_MANDATORY = C.NL80211_ATTR_MEASUREMENT_DURATION_MANDATORY
4252 NL80211_ATTR_MESH_CONFIG = C.NL80211_ATTR_MESH_CONFIG
4253 NL80211_ATTR_MESH_ID = C.NL80211_ATTR_MESH_ID
4254 NL80211_ATTR_MESH_PEER_AID = C.NL80211_ATTR_MESH_PEER_AID
4255 NL80211_ATTR_MESH_SETUP = C.NL80211_ATTR_MESH_SETUP
4256 NL80211_ATTR_MGMT_SUBTYPE = C.NL80211_ATTR_MGMT_SUBTYPE
4257 NL80211_ATTR_MNTR_FLAGS = C.NL80211_ATTR_MNTR_FLAGS
4258 NL80211_ATTR_MPATH_INFO = C.NL80211_ATTR_MPATH_INFO
4259 NL80211_ATTR_MPATH_NEXT_HOP = C.NL80211_ATTR_MPATH_NEXT_HOP
4260 NL80211_ATTR_MULTICAST_TO_UNICAST_ENABLED = C.NL80211_ATTR_MULTICAST_TO_UNICAST_ENABLED
4261 NL80211_ATTR_MU_MIMO_FOLLOW_MAC_ADDR = C.NL80211_ATTR_MU_MIMO_FOLLOW_MAC_ADDR
4262 NL80211_ATTR_MU_MIMO_GROUP_DATA = C.NL80211_ATTR_MU_MIMO_GROUP_DATA
4263 NL80211_ATTR_NAN_FUNC = C.NL80211_ATTR_NAN_FUNC
4264 NL80211_ATTR_NAN_MASTER_PREF = C.NL80211_ATTR_NAN_MASTER_PREF
4265 NL80211_ATTR_NAN_MATCH = C.NL80211_ATTR_NAN_MATCH
4266 NL80211_ATTR_NETNS_FD = C.NL80211_ATTR_NETNS_FD
4267 NL80211_ATTR_NOACK_MAP = C.NL80211_ATTR_NOACK_MAP
4268 NL80211_ATTR_NSS = C.NL80211_ATTR_NSS
4269 NL80211_ATTR_OFFCHANNEL_TX_OK = C.NL80211_ATTR_OFFCHANNEL_TX_OK
4270 NL80211_ATTR_OPER_CLASS = C.NL80211_ATTR_OPER_CLASS
4271 NL80211_ATTR_OPMODE_NOTIF = C.NL80211_ATTR_OPMODE_NOTIF
4272 NL80211_ATTR_P2P_CTWINDOW = C.NL80211_ATTR_P2P_CTWINDOW
4273 NL80211_ATTR_P2P_OPPPS = C.NL80211_ATTR_P2P_OPPPS
4274 NL80211_ATTR_PAD = C.NL80211_ATTR_PAD
4275 NL80211_ATTR_PBSS = C.NL80211_ATTR_PBSS
4276 NL80211_ATTR_PEER_AID = C.NL80211_ATTR_PEER_AID
4277 NL80211_ATTR_PEER_MEASUREMENTS = C.NL80211_ATTR_PEER_MEASUREMENTS
4278 NL80211_ATTR_PID = C.NL80211_ATTR_PID
4279 NL80211_ATTR_PMK = C.NL80211_ATTR_PMK
4280 NL80211_ATTR_PMKID = C.NL80211_ATTR_PMKID
4281 NL80211_ATTR_PMK_LIFETIME = C.NL80211_ATTR_PMK_LIFETIME
4282 NL80211_ATTR_PMKR0_NAME = C.NL80211_ATTR_PMKR0_NAME
4283 NL80211_ATTR_PMK_REAUTH_THRESHOLD = C.NL80211_ATTR_PMK_REAUTH_THRESHOLD
4284 NL80211_ATTR_PMKSA_CANDIDATE = C.NL80211_ATTR_PMKSA_CANDIDATE
4285 NL80211_ATTR_PORT_AUTHORIZED = C.NL80211_ATTR_PORT_AUTHORIZED
4286 NL80211_ATTR_POWER_RULE_MAX_ANT_GAIN = C.NL80211_ATTR_POWER_RULE_MAX_ANT_GAIN
4287 NL80211_ATTR_POWER_RULE_MAX_EIRP = C.NL80211_ATTR_POWER_RULE_MAX_EIRP
4288 NL80211_ATTR_PREV_BSSID = C.NL80211_ATTR_PREV_BSSID
4289 NL80211_ATTR_PRIVACY = C.NL80211_ATTR_PRIVACY
4290 NL80211_ATTR_PROBE_RESP = C.NL80211_ATTR_PROBE_RESP
4291 NL80211_ATTR_PROBE_RESP_OFFLOAD = C.NL80211_ATTR_PROBE_RESP_OFFLOAD
4292 NL80211_ATTR_PROTOCOL_FEATURES = C.NL80211_ATTR_PROTOCOL_FEATURES
4293 NL80211_ATTR_PS_STATE = C.NL80211_ATTR_PS_STATE
4294 NL80211_ATTR_QOS_MAP = C.NL80211_ATTR_QOS_MAP
4295 NL80211_ATTR_RADAR_EVENT = C.NL80211_ATTR_RADAR_EVENT
4296 NL80211_ATTR_REASON_CODE = C.NL80211_ATTR_REASON_CODE
4297 NL80211_ATTR_RECEIVE_MULTICAST = C.NL80211_ATTR_RECEIVE_MULTICAST
4298 NL80211_ATTR_RECONNECT_REQUESTED = C.NL80211_ATTR_RECONNECT_REQUESTED
4299 NL80211_ATTR_REG_ALPHA2 = C.NL80211_ATTR_REG_ALPHA2
4300 NL80211_ATTR_REG_INDOOR = C.NL80211_ATTR_REG_INDOOR
4301 NL80211_ATTR_REG_INITIATOR = C.NL80211_ATTR_REG_INITIATOR
4302 NL80211_ATTR_REG_RULE_FLAGS = C.NL80211_ATTR_REG_RULE_FLAGS
4303 NL80211_ATTR_REG_RULES = C.NL80211_ATTR_REG_RULES
4304 NL80211_ATTR_REG_TYPE = C.NL80211_ATTR_REG_TYPE
4305 NL80211_ATTR_REKEY_DATA = C.NL80211_ATTR_REKEY_DATA
4306 NL80211_ATTR_REQ_IE = C.NL80211_ATTR_REQ_IE
4307 NL80211_ATTR_RESP_IE = C.NL80211_ATTR_RESP_IE
4308 NL80211_ATTR_ROAM_SUPPORT = C.NL80211_ATTR_ROAM_SUPPORT
4309 NL80211_ATTR_RX_FRAME_TYPES = C.NL80211_ATTR_RX_FRAME_TYPES
4310 NL80211_ATTR_RXMGMT_FLAGS = C.NL80211_ATTR_RXMGMT_FLAGS
4311 NL80211_ATTR_RX_SIGNAL_DBM = C.NL80211_ATTR_RX_SIGNAL_DBM
4312 NL80211_ATTR_S1G_CAPABILITY = C.NL80211_ATTR_S1G_CAPABILITY
4313 NL80211_ATTR_S1G_CAPABILITY_MASK = C.NL80211_ATTR_S1G_CAPABILITY_MASK
4314 NL80211_ATTR_SAE_DATA = C.NL80211_ATTR_SAE_DATA
4315 NL80211_ATTR_SAE_PASSWORD = C.NL80211_ATTR_SAE_PASSWORD
4316 NL80211_ATTR_SAE_PWE = C.NL80211_ATTR_SAE_PWE
4317 NL80211_ATTR_SAR_SPEC = C.NL80211_ATTR_SAR_SPEC
4318 NL80211_ATTR_SCAN_FLAGS = C.NL80211_ATTR_SCAN_FLAGS
4319 NL80211_ATTR_SCAN_FREQ_KHZ = C.NL80211_ATTR_SCAN_FREQ_KHZ
4320 NL80211_ATTR_SCAN_FREQUENCIES = C.NL80211_ATTR_SCAN_FREQUENCIES
4321 NL80211_ATTR_SCAN_GENERATION = C.NL80211_ATTR_SCAN_GENERATION
4322 NL80211_ATTR_SCAN_SSIDS = C.NL80211_ATTR_SCAN_SSIDS
4323 NL80211_ATTR_SCAN_START_TIME_TSF_BSSID = C.NL80211_ATTR_SCAN_START_TIME_TSF_BSSID
4324 NL80211_ATTR_SCAN_START_TIME_TSF = C.NL80211_ATTR_SCAN_START_TIME_TSF
4325 NL80211_ATTR_SCAN_SUPP_RATES = C.NL80211_ATTR_SCAN_SUPP_RATES
4326 NL80211_ATTR_SCHED_SCAN_DELAY = C.NL80211_ATTR_SCHED_SCAN_DELAY
4327 NL80211_ATTR_SCHED_SCAN_INTERVAL = C.NL80211_ATTR_SCHED_SCAN_INTERVAL
4328 NL80211_ATTR_SCHED_SCAN_MATCH = C.NL80211_ATTR_SCHED_SCAN_MATCH
4329 NL80211_ATTR_SCHED_SCAN_MATCH_SSID = C.NL80211_ATTR_SCHED_SCAN_MATCH_SSID
4330 NL80211_ATTR_SCHED_SCAN_MAX_REQS = C.NL80211_ATTR_SCHED_SCAN_MAX_REQS
4331 NL80211_ATTR_SCHED_SCAN_MULTI = C.NL80211_ATTR_SCHED_SCAN_MULTI
4332 NL80211_ATTR_SCHED_SCAN_PLANS = C.NL80211_ATTR_SCHED_SCAN_PLANS
4333 NL80211_ATTR_SCHED_SCAN_RELATIVE_RSSI = C.NL80211_ATTR_SCHED_SCAN_RELATIVE_RSSI
4334 NL80211_ATTR_SCHED_SCAN_RSSI_ADJUST = C.NL80211_ATTR_SCHED_SCAN_RSSI_ADJUST
4335 NL80211_ATTR_SMPS_MODE = C.NL80211_ATTR_SMPS_MODE
4336 NL80211_ATTR_SOCKET_OWNER = C.NL80211_ATTR_SOCKET_OWNER
4337 NL80211_ATTR_SOFTWARE_IFTYPES = C.NL80211_ATTR_SOFTWARE_IFTYPES
4338 NL80211_ATTR_SPLIT_WIPHY_DUMP = C.NL80211_ATTR_SPLIT_WIPHY_DUMP
4339 NL80211_ATTR_SSID = C.NL80211_ATTR_SSID
4340 NL80211_ATTR_STA_AID = C.NL80211_ATTR_STA_AID
4341 NL80211_ATTR_STA_CAPABILITY = C.NL80211_ATTR_STA_CAPABILITY
4342 NL80211_ATTR_STA_EXT_CAPABILITY = C.NL80211_ATTR_STA_EXT_CAPABILITY
4343 NL80211_ATTR_STA_FLAGS2 = C.NL80211_ATTR_STA_FLAGS2
4344 NL80211_ATTR_STA_FLAGS = C.NL80211_ATTR_STA_FLAGS
4345 NL80211_ATTR_STA_INFO = C.NL80211_ATTR_STA_INFO
4346 NL80211_ATTR_STA_LISTEN_INTERVAL = C.NL80211_ATTR_STA_LISTEN_INTERVAL
4347 NL80211_ATTR_STA_PLINK_ACTION = C.NL80211_ATTR_STA_PLINK_ACTION
4348 NL80211_ATTR_STA_PLINK_STATE = C.NL80211_ATTR_STA_PLINK_STATE
4349 NL80211_ATTR_STA_SUPPORTED_CHANNELS = C.NL80211_ATTR_STA_SUPPORTED_CHANNELS
4350 NL80211_ATTR_STA_SUPPORTED_OPER_CLASSES = C.NL80211_ATTR_STA_SUPPORTED_OPER_CLASSES
4351 NL80211_ATTR_STA_SUPPORTED_RATES = C.NL80211_ATTR_STA_SUPPORTED_RATES
4352 NL80211_ATTR_STA_SUPPORT_P2P_PS = C.NL80211_ATTR_STA_SUPPORT_P2P_PS
4353 NL80211_ATTR_STATUS_CODE = C.NL80211_ATTR_STATUS_CODE
4354 NL80211_ATTR_STA_TX_POWER = C.NL80211_ATTR_STA_TX_POWER
4355 NL80211_ATTR_STA_TX_POWER_SETTING = C.NL80211_ATTR_STA_TX_POWER_SETTING
4356 NL80211_ATTR_STA_VLAN = C.NL80211_ATTR_STA_VLAN
4357 NL80211_ATTR_STA_WME = C.NL80211_ATTR_STA_WME
4358 NL80211_ATTR_SUPPORT_10_MHZ = C.NL80211_ATTR_SUPPORT_10_MHZ
4359 NL80211_ATTR_SUPPORT_5_MHZ = C.NL80211_ATTR_SUPPORT_5_MHZ
4360 NL80211_ATTR_SUPPORT_AP_UAPSD = C.NL80211_ATTR_SUPPORT_AP_UAPSD
4361 NL80211_ATTR_SUPPORTED_COMMANDS = C.NL80211_ATTR_SUPPORTED_COMMANDS
4362 NL80211_ATTR_SUPPORTED_IFTYPES = C.NL80211_ATTR_SUPPORTED_IFTYPES
4363 NL80211_ATTR_SUPPORT_IBSS_RSN = C.NL80211_ATTR_SUPPORT_IBSS_RSN
4364 NL80211_ATTR_SUPPORT_MESH_AUTH = C.NL80211_ATTR_SUPPORT_MESH_AUTH
4365 NL80211_ATTR_SURVEY_INFO = C.NL80211_ATTR_SURVEY_INFO
4366 NL80211_ATTR_SURVEY_RADIO_STATS = C.NL80211_ATTR_SURVEY_RADIO_STATS
4367 NL80211_ATTR_TDLS_ACTION = C.NL80211_ATTR_TDLS_ACTION
4368 NL80211_ATTR_TDLS_DIALOG_TOKEN = C.NL80211_ATTR_TDLS_DIALOG_TOKEN
4369 NL80211_ATTR_TDLS_EXTERNAL_SETUP = C.NL80211_ATTR_TDLS_EXTERNAL_SETUP
4370 NL80211_ATTR_TDLS_INITIATOR = C.NL80211_ATTR_TDLS_INITIATOR
4371 NL80211_ATTR_TDLS_OPERATION = C.NL80211_ATTR_TDLS_OPERATION
4372 NL80211_ATTR_TDLS_PEER_CAPABILITY = C.NL80211_ATTR_TDLS_PEER_CAPABILITY
4373 NL80211_ATTR_TDLS_SUPPORT = C.NL80211_ATTR_TDLS_SUPPORT
4374 NL80211_ATTR_TESTDATA = C.NL80211_ATTR_TESTDATA
4375 NL80211_ATTR_TID_CONFIG = C.NL80211_ATTR_TID_CONFIG
4376 NL80211_ATTR_TIMED_OUT = C.NL80211_ATTR_TIMED_OUT
4377 NL80211_ATTR_TIMEOUT = C.NL80211_ATTR_TIMEOUT
4378 NL80211_ATTR_TIMEOUT_REASON = C.NL80211_ATTR_TIMEOUT_REASON
4379 NL80211_ATTR_TSID = C.NL80211_ATTR_TSID
4380 NL80211_ATTR_TWT_RESPONDER = C.NL80211_ATTR_TWT_RESPONDER
4381 NL80211_ATTR_TX_FRAME_TYPES = C.NL80211_ATTR_TX_FRAME_TYPES
4382 NL80211_ATTR_TX_NO_CCK_RATE = C.NL80211_ATTR_TX_NO_CCK_RATE
4383 NL80211_ATTR_TXQ_LIMIT = C.NL80211_ATTR_TXQ_LIMIT
4384 NL80211_ATTR_TXQ_MEMORY_LIMIT = C.NL80211_ATTR_TXQ_MEMORY_LIMIT
4385 NL80211_ATTR_TXQ_QUANTUM = C.NL80211_ATTR_TXQ_QUANTUM
4386 NL80211_ATTR_TXQ_STATS = C.NL80211_ATTR_TXQ_STATS
4387 NL80211_ATTR_TX_RATES = C.NL80211_ATTR_TX_RATES
4388 NL80211_ATTR_UNSOL_BCAST_PROBE_RESP = C.NL80211_ATTR_UNSOL_BCAST_PROBE_RESP
4389 NL80211_ATTR_UNSPEC = C.NL80211_ATTR_UNSPEC
4390 NL80211_ATTR_USE_MFP = C.NL80211_ATTR_USE_MFP
4391 NL80211_ATTR_USER_PRIO = C.NL80211_ATTR_USER_PRIO
4392 NL80211_ATTR_USER_REG_HINT_TYPE = C.NL80211_ATTR_USER_REG_HINT_TYPE
4393 NL80211_ATTR_USE_RRM = C.NL80211_ATTR_USE_RRM
4394 NL80211_ATTR_VENDOR_DATA = C.NL80211_ATTR_VENDOR_DATA
4395 NL80211_ATTR_VENDOR_EVENTS = C.NL80211_ATTR_VENDOR_EVENTS
4396 NL80211_ATTR_VENDOR_ID = C.NL80211_ATTR_VENDOR_ID
4397 NL80211_ATTR_VENDOR_SUBCMD = C.NL80211_ATTR_VENDOR_SUBCMD
4398 NL80211_ATTR_VHT_CAPABILITY = C.NL80211_ATTR_VHT_CAPABILITY
4399 NL80211_ATTR_VHT_CAPABILITY_MASK = C.NL80211_ATTR_VHT_CAPABILITY_MASK
4400 NL80211_ATTR_VLAN_ID = C.NL80211_ATTR_VLAN_ID
4401 NL80211_ATTR_WANT_1X_4WAY_HS = C.NL80211_ATTR_WANT_1X_4WAY_HS
4402 NL80211_ATTR_WDEV = C.NL80211_ATTR_WDEV
4403 NL80211_ATTR_WIPHY_ANTENNA_AVAIL_RX = C.NL80211_ATTR_WIPHY_ANTENNA_AVAIL_RX
4404 NL80211_ATTR_WIPHY_ANTENNA_AVAIL_TX = C.NL80211_ATTR_WIPHY_ANTENNA_AVAIL_TX
4405 NL80211_ATTR_WIPHY_ANTENNA_RX = C.NL80211_ATTR_WIPHY_ANTENNA_RX
4406 NL80211_ATTR_WIPHY_ANTENNA_TX = C.NL80211_ATTR_WIPHY_ANTENNA_TX
4407 NL80211_ATTR_WIPHY_BANDS = C.NL80211_ATTR_WIPHY_BANDS
4408 NL80211_ATTR_WIPHY_CHANNEL_TYPE = C.NL80211_ATTR_WIPHY_CHANNEL_TYPE
4409 NL80211_ATTR_WIPHY = C.NL80211_ATTR_WIPHY
4410 NL80211_ATTR_WIPHY_COVERAGE_CLASS = C.NL80211_ATTR_WIPHY_COVERAGE_CLASS
4411 NL80211_ATTR_WIPHY_DYN_ACK = C.NL80211_ATTR_WIPHY_DYN_ACK
4412 NL80211_ATTR_WIPHY_EDMG_BW_CONFIG = C.NL80211_ATTR_WIPHY_EDMG_BW_CONFIG
4413 NL80211_ATTR_WIPHY_EDMG_CHANNELS = C.NL80211_ATTR_WIPHY_EDMG_CHANNELS
4414 NL80211_ATTR_WIPHY_FRAG_THRESHOLD = C.NL80211_ATTR_WIPHY_FRAG_THRESHOLD
4415 NL80211_ATTR_WIPHY_FREQ = C.NL80211_ATTR_WIPHY_FREQ
4416 NL80211_ATTR_WIPHY_FREQ_HINT = C.NL80211_ATTR_WIPHY_FREQ_HINT
4417 NL80211_ATTR_WIPHY_FREQ_OFFSET = C.NL80211_ATTR_WIPHY_FREQ_OFFSET
4418 NL80211_ATTR_WIPHY_NAME = C.NL80211_ATTR_WIPHY_NAME
4419 NL80211_ATTR_WIPHY_RETRY_LONG = C.NL80211_ATTR_WIPHY_RETRY_LONG
4420 NL80211_ATTR_WIPHY_RETRY_SHORT = C.NL80211_ATTR_WIPHY_RETRY_SHORT
4421 NL80211_ATTR_WIPHY_RTS_THRESHOLD = C.NL80211_ATTR_WIPHY_RTS_THRESHOLD
4422 NL80211_ATTR_WIPHY_SELF_MANAGED_REG = C.NL80211_ATTR_WIPHY_SELF_MANAGED_REG
4423 NL80211_ATTR_WIPHY_TX_POWER_LEVEL = C.NL80211_ATTR_WIPHY_TX_POWER_LEVEL
4424 NL80211_ATTR_WIPHY_TX_POWER_SETTING = C.NL80211_ATTR_WIPHY_TX_POWER_SETTING
4425 NL80211_ATTR_WIPHY_TXQ_PARAMS = C.NL80211_ATTR_WIPHY_TXQ_PARAMS
4426 NL80211_ATTR_WOWLAN_TRIGGERS = C.NL80211_ATTR_WOWLAN_TRIGGERS
4427 NL80211_ATTR_WOWLAN_TRIGGERS_SUPPORTED = C.NL80211_ATTR_WOWLAN_TRIGGERS_SUPPORTED
4428 NL80211_ATTR_WPA_VERSIONS = C.NL80211_ATTR_WPA_VERSIONS
4429 NL80211_AUTHTYPE_AUTOMATIC = C.NL80211_AUTHTYPE_AUTOMATIC
4430 NL80211_AUTHTYPE_FILS_PK = C.NL80211_AUTHTYPE_FILS_PK
4431 NL80211_AUTHTYPE_FILS_SK = C.NL80211_AUTHTYPE_FILS_SK
4432 NL80211_AUTHTYPE_FILS_SK_PFS = C.NL80211_AUTHTYPE_FILS_SK_PFS
4433 NL80211_AUTHTYPE_FT = C.NL80211_AUTHTYPE_FT
4434 NL80211_AUTHTYPE_MAX = C.NL80211_AUTHTYPE_MAX
4435 NL80211_AUTHTYPE_NETWORK_EAP = C.NL80211_AUTHTYPE_NETWORK_EAP
4436 NL80211_AUTHTYPE_OPEN_SYSTEM = C.NL80211_AUTHTYPE_OPEN_SYSTEM
4437 NL80211_AUTHTYPE_SAE = C.NL80211_AUTHTYPE_SAE
4438 NL80211_AUTHTYPE_SHARED_KEY = C.NL80211_AUTHTYPE_SHARED_KEY
4439 NL80211_BAND_2GHZ = C.NL80211_BAND_2GHZ
4440 NL80211_BAND_5GHZ = C.NL80211_BAND_5GHZ
4441 NL80211_BAND_60GHZ = C.NL80211_BAND_60GHZ
4442 NL80211_BAND_6GHZ = C.NL80211_BAND_6GHZ
4443 NL80211_BAND_ATTR_EDMG_BW_CONFIG = C.NL80211_BAND_ATTR_EDMG_BW_CONFIG
4444 NL80211_BAND_ATTR_EDMG_CHANNELS = C.NL80211_BAND_ATTR_EDMG_CHANNELS
4445 NL80211_BAND_ATTR_FREQS = C.NL80211_BAND_ATTR_FREQS
4446 NL80211_BAND_ATTR_HT_AMPDU_DENSITY = C.NL80211_BAND_ATTR_HT_AMPDU_DENSITY
4447 NL80211_BAND_ATTR_HT_AMPDU_FACTOR = C.NL80211_BAND_ATTR_HT_AMPDU_FACTOR
4448 NL80211_BAND_ATTR_HT_CAPA = C.NL80211_BAND_ATTR_HT_CAPA
4449 NL80211_BAND_ATTR_HT_MCS_SET = C.NL80211_BAND_ATTR_HT_MCS_SET
4450 NL80211_BAND_ATTR_IFTYPE_DATA = C.NL80211_BAND_ATTR_IFTYPE_DATA
4451 NL80211_BAND_ATTR_MAX = C.NL80211_BAND_ATTR_MAX
4452 NL80211_BAND_ATTR_RATES = C.NL80211_BAND_ATTR_RATES
4453 NL80211_BAND_ATTR_VHT_CAPA = C.NL80211_BAND_ATTR_VHT_CAPA
4454 NL80211_BAND_ATTR_VHT_MCS_SET = C.NL80211_BAND_ATTR_VHT_MCS_SET
4455 NL80211_BAND_IFTYPE_ATTR_HE_6GHZ_CAPA = C.NL80211_BAND_IFTYPE_ATTR_HE_6GHZ_CAPA
4456 NL80211_BAND_IFTYPE_ATTR_HE_CAP_MAC = C.NL80211_BAND_IFTYPE_ATTR_HE_CAP_MAC
4457 NL80211_BAND_IFTYPE_ATTR_HE_CAP_MCS_SET = C.NL80211_BAND_IFTYPE_ATTR_HE_CAP_MCS_SET
4458 NL80211_BAND_IFTYPE_ATTR_HE_CAP_PHY = C.NL80211_BAND_IFTYPE_ATTR_HE_CAP_PHY
4459 NL80211_BAND_IFTYPE_ATTR_HE_CAP_PPE = C.NL80211_BAND_IFTYPE_ATTR_HE_CAP_PPE
4460 NL80211_BAND_IFTYPE_ATTR_IFTYPES = C.NL80211_BAND_IFTYPE_ATTR_IFTYPES
4461 NL80211_BAND_IFTYPE_ATTR_MAX = C.NL80211_BAND_IFTYPE_ATTR_MAX
4462 NL80211_BAND_S1GHZ = C.NL80211_BAND_S1GHZ
4463 NL80211_BITRATE_ATTR_2GHZ_SHORTPREAMBLE = C.NL80211_BITRATE_ATTR_2GHZ_SHORTPREAMBLE
4464 NL80211_BITRATE_ATTR_MAX = C.NL80211_BITRATE_ATTR_MAX
4465 NL80211_BITRATE_ATTR_RATE = C.NL80211_BITRATE_ATTR_RATE
4466 NL80211_BSS_BEACON_IES = C.NL80211_BSS_BEACON_IES
4467 NL80211_BSS_BEACON_INTERVAL = C.NL80211_BSS_BEACON_INTERVAL
4468 NL80211_BSS_BEACON_TSF = C.NL80211_BSS_BEACON_TSF
4469 NL80211_BSS_BSSID = C.NL80211_BSS_BSSID
4470 NL80211_BSS_CAPABILITY = C.NL80211_BSS_CAPABILITY
4471 NL80211_BSS_CHAIN_SIGNAL = C.NL80211_BSS_CHAIN_SIGNAL
4472 NL80211_BSS_CHAN_WIDTH_10 = C.NL80211_BSS_CHAN_WIDTH_10
4473 NL80211_BSS_CHAN_WIDTH_1 = C.NL80211_BSS_CHAN_WIDTH_1
4474 NL80211_BSS_CHAN_WIDTH_20 = C.NL80211_BSS_CHAN_WIDTH_20
4475 NL80211_BSS_CHAN_WIDTH_2 = C.NL80211_BSS_CHAN_WIDTH_2
4476 NL80211_BSS_CHAN_WIDTH_5 = C.NL80211_BSS_CHAN_WIDTH_5
4477 NL80211_BSS_CHAN_WIDTH = C.NL80211_BSS_CHAN_WIDTH
4478 NL80211_BSS_FREQUENCY = C.NL80211_BSS_FREQUENCY
4479 NL80211_BSS_FREQUENCY_OFFSET = C.NL80211_BSS_FREQUENCY_OFFSET
4480 NL80211_BSS_INFORMATION_ELEMENTS = C.NL80211_BSS_INFORMATION_ELEMENTS
4481 NL80211_BSS_LAST_SEEN_BOOTTIME = C.NL80211_BSS_LAST_SEEN_BOOTTIME
4482 NL80211_BSS_MAX = C.NL80211_BSS_MAX
4483 NL80211_BSS_PAD = C.NL80211_BSS_PAD
4484 NL80211_BSS_PARENT_BSSID = C.NL80211_BSS_PARENT_BSSID
4485 NL80211_BSS_PARENT_TSF = C.NL80211_BSS_PARENT_TSF
4486 NL80211_BSS_PRESP_DATA = C.NL80211_BSS_PRESP_DATA
4487 NL80211_BSS_SEEN_MS_AGO = C.NL80211_BSS_SEEN_MS_AGO
4488 NL80211_BSS_SELECT_ATTR_BAND_PREF = C.NL80211_BSS_SELECT_ATTR_BAND_PREF
4489 NL80211_BSS_SELECT_ATTR_MAX = C.NL80211_BSS_SELECT_ATTR_MAX
4490 NL80211_BSS_SELECT_ATTR_RSSI_ADJUST = C.NL80211_BSS_SELECT_ATTR_RSSI_ADJUST
4491 NL80211_BSS_SELECT_ATTR_RSSI = C.NL80211_BSS_SELECT_ATTR_RSSI
4492 NL80211_BSS_SIGNAL_MBM = C.NL80211_BSS_SIGNAL_MBM
4493 NL80211_BSS_SIGNAL_UNSPEC = C.NL80211_BSS_SIGNAL_UNSPEC
4494 NL80211_BSS_STATUS_ASSOCIATED = C.NL80211_BSS_STATUS_ASSOCIATED
4495 NL80211_BSS_STATUS_AUTHENTICATED = C.NL80211_BSS_STATUS_AUTHENTICATED
4496 NL80211_BSS_STATUS = C.NL80211_BSS_STATUS
4497 NL80211_BSS_STATUS_IBSS_JOINED = C.NL80211_BSS_STATUS_IBSS_JOINED
4498 NL80211_BSS_TSF = C.NL80211_BSS_TSF
4499 NL80211_CHAN_HT20 = C.NL80211_CHAN_HT20
4500 NL80211_CHAN_HT40MINUS = C.NL80211_CHAN_HT40MINUS
4501 NL80211_CHAN_HT40PLUS = C.NL80211_CHAN_HT40PLUS
4502 NL80211_CHAN_NO_HT = C.NL80211_CHAN_NO_HT
4503 NL80211_CHAN_WIDTH_10 = C.NL80211_CHAN_WIDTH_10
4504 NL80211_CHAN_WIDTH_160 = C.NL80211_CHAN_WIDTH_160
4505 NL80211_CHAN_WIDTH_16 = C.NL80211_CHAN_WIDTH_16
4506 NL80211_CHAN_WIDTH_1 = C.NL80211_CHAN_WIDTH_1
4507 NL80211_CHAN_WIDTH_20 = C.NL80211_CHAN_WIDTH_20
4508 NL80211_CHAN_WIDTH_20_NOHT = C.NL80211_CHAN_WIDTH_20_NOHT
4509 NL80211_CHAN_WIDTH_2 = C.NL80211_CHAN_WIDTH_2
4510 NL80211_CHAN_WIDTH_40 = C.NL80211_CHAN_WIDTH_40
4511 NL80211_CHAN_WIDTH_4 = C.NL80211_CHAN_WIDTH_4
4512 NL80211_CHAN_WIDTH_5 = C.NL80211_CHAN_WIDTH_5
4513 NL80211_CHAN_WIDTH_80 = C.NL80211_CHAN_WIDTH_80
4514 NL80211_CHAN_WIDTH_80P80 = C.NL80211_CHAN_WIDTH_80P80
4515 NL80211_CHAN_WIDTH_8 = C.NL80211_CHAN_WIDTH_8
4516 NL80211_CMD_ABORT_SCAN = C.NL80211_CMD_ABORT_SCAN
4517 NL80211_CMD_ACTION = C.NL80211_CMD_ACTION
4518 NL80211_CMD_ACTION_TX_STATUS = C.NL80211_CMD_ACTION_TX_STATUS
4519 NL80211_CMD_ADD_NAN_FUNCTION = C.NL80211_CMD_ADD_NAN_FUNCTION
4520 NL80211_CMD_ADD_TX_TS = C.NL80211_CMD_ADD_TX_TS
4521 NL80211_CMD_ASSOCIATE = C.NL80211_CMD_ASSOCIATE
4522 NL80211_CMD_AUTHENTICATE = C.NL80211_CMD_AUTHENTICATE
4523 NL80211_CMD_CANCEL_REMAIN_ON_CHANNEL = C.NL80211_CMD_CANCEL_REMAIN_ON_CHANNEL
4524 NL80211_CMD_CHANGE_NAN_CONFIG = C.NL80211_CMD_CHANGE_NAN_CONFIG
4525 NL80211_CMD_CHANNEL_SWITCH = C.NL80211_CMD_CHANNEL_SWITCH
4526 NL80211_CMD_CH_SWITCH_NOTIFY = C.NL80211_CMD_CH_SWITCH_NOTIFY
4527 NL80211_CMD_CH_SWITCH_STARTED_NOTIFY = C.NL80211_CMD_CH_SWITCH_STARTED_NOTIFY
4528 NL80211_CMD_CONNECT = C.NL80211_CMD_CONNECT
4529 NL80211_CMD_CONN_FAILED = C.NL80211_CMD_CONN_FAILED
4530 NL80211_CMD_CONTROL_PORT_FRAME = C.NL80211_CMD_CONTROL_PORT_FRAME
4531 NL80211_CMD_CONTROL_PORT_FRAME_TX_STATUS = C.NL80211_CMD_CONTROL_PORT_FRAME_TX_STATUS
4532 NL80211_CMD_CRIT_PROTOCOL_START = C.NL80211_CMD_CRIT_PROTOCOL_START
4533 NL80211_CMD_CRIT_PROTOCOL_STOP = C.NL80211_CMD_CRIT_PROTOCOL_STOP
4534 NL80211_CMD_DEAUTHENTICATE = C.NL80211_CMD_DEAUTHENTICATE
4535 NL80211_CMD_DEL_BEACON = C.NL80211_CMD_DEL_BEACON
4536 NL80211_CMD_DEL_INTERFACE = C.NL80211_CMD_DEL_INTERFACE
4537 NL80211_CMD_DEL_KEY = C.NL80211_CMD_DEL_KEY
4538 NL80211_CMD_DEL_MPATH = C.NL80211_CMD_DEL_MPATH
4539 NL80211_CMD_DEL_NAN_FUNCTION = C.NL80211_CMD_DEL_NAN_FUNCTION
4540 NL80211_CMD_DEL_PMK = C.NL80211_CMD_DEL_PMK
4541 NL80211_CMD_DEL_PMKSA = C.NL80211_CMD_DEL_PMKSA
4542 NL80211_CMD_DEL_STATION = C.NL80211_CMD_DEL_STATION
4543 NL80211_CMD_DEL_TX_TS = C.NL80211_CMD_DEL_TX_TS
4544 NL80211_CMD_DEL_WIPHY = C.NL80211_CMD_DEL_WIPHY
4545 NL80211_CMD_DISASSOCIATE = C.NL80211_CMD_DISASSOCIATE
4546 NL80211_CMD_DISCONNECT = C.NL80211_CMD_DISCONNECT
4547 NL80211_CMD_EXTERNAL_AUTH = C.NL80211_CMD_EXTERNAL_AUTH
4548 NL80211_CMD_FLUSH_PMKSA = C.NL80211_CMD_FLUSH_PMKSA
4549 NL80211_CMD_FRAME = C.NL80211_CMD_FRAME
4550 NL80211_CMD_FRAME_TX_STATUS = C.NL80211_CMD_FRAME_TX_STATUS
4551 NL80211_CMD_FRAME_WAIT_CANCEL = C.NL80211_CMD_FRAME_WAIT_CANCEL
4552 NL80211_CMD_FT_EVENT = C.NL80211_CMD_FT_EVENT
4553 NL80211_CMD_GET_BEACON = C.NL80211_CMD_GET_BEACON
4554 NL80211_CMD_GET_COALESCE = C.NL80211_CMD_GET_COALESCE
4555 NL80211_CMD_GET_FTM_RESPONDER_STATS = C.NL80211_CMD_GET_FTM_RESPONDER_STATS
4556 NL80211_CMD_GET_INTERFACE = C.NL80211_CMD_GET_INTERFACE
4557 NL80211_CMD_GET_KEY = C.NL80211_CMD_GET_KEY
4558 NL80211_CMD_GET_MESH_CONFIG = C.NL80211_CMD_GET_MESH_CONFIG
4559 NL80211_CMD_GET_MESH_PARAMS = C.NL80211_CMD_GET_MESH_PARAMS
4560 NL80211_CMD_GET_MPATH = C.NL80211_CMD_GET_MPATH
4561 NL80211_CMD_GET_MPP = C.NL80211_CMD_GET_MPP
4562 NL80211_CMD_GET_POWER_SAVE = C.NL80211_CMD_GET_POWER_SAVE
4563 NL80211_CMD_GET_PROTOCOL_FEATURES = C.NL80211_CMD_GET_PROTOCOL_FEATURES
4564 NL80211_CMD_GET_REG = C.NL80211_CMD_GET_REG
4565 NL80211_CMD_GET_SCAN = C.NL80211_CMD_GET_SCAN
4566 NL80211_CMD_GET_STATION = C.NL80211_CMD_GET_STATION
4567 NL80211_CMD_GET_SURVEY = C.NL80211_CMD_GET_SURVEY
4568 NL80211_CMD_GET_WIPHY = C.NL80211_CMD_GET_WIPHY
4569 NL80211_CMD_GET_WOWLAN = C.NL80211_CMD_GET_WOWLAN
4570 NL80211_CMD_JOIN_IBSS = C.NL80211_CMD_JOIN_IBSS
4571 NL80211_CMD_JOIN_MESH = C.NL80211_CMD_JOIN_MESH
4572 NL80211_CMD_JOIN_OCB = C.NL80211_CMD_JOIN_OCB
4573 NL80211_CMD_LEAVE_IBSS = C.NL80211_CMD_LEAVE_IBSS
4574 NL80211_CMD_LEAVE_MESH = C.NL80211_CMD_LEAVE_MESH
4575 NL80211_CMD_LEAVE_OCB = C.NL80211_CMD_LEAVE_OCB
4576 NL80211_CMD_MAX = C.NL80211_CMD_MAX
4577 NL80211_CMD_MICHAEL_MIC_FAILURE = C.NL80211_CMD_MICHAEL_MIC_FAILURE
4578 NL80211_CMD_NAN_MATCH = C.NL80211_CMD_NAN_MATCH
4579 NL80211_CMD_NEW_BEACON = C.NL80211_CMD_NEW_BEACON
4580 NL80211_CMD_NEW_INTERFACE = C.NL80211_CMD_NEW_INTERFACE
4581 NL80211_CMD_NEW_KEY = C.NL80211_CMD_NEW_KEY
4582 NL80211_CMD_NEW_MPATH = C.NL80211_CMD_NEW_MPATH
4583 NL80211_CMD_NEW_PEER_CANDIDATE = C.NL80211_CMD_NEW_PEER_CANDIDATE
4584 NL80211_CMD_NEW_SCAN_RESULTS = C.NL80211_CMD_NEW_SCAN_RESULTS
4585 NL80211_CMD_NEW_STATION = C.NL80211_CMD_NEW_STATION
4586 NL80211_CMD_NEW_SURVEY_RESULTS = C.NL80211_CMD_NEW_SURVEY_RESULTS
4587 NL80211_CMD_NEW_WIPHY = C.NL80211_CMD_NEW_WIPHY
4588 NL80211_CMD_NOTIFY_CQM = C.NL80211_CMD_NOTIFY_CQM
4589 NL80211_CMD_NOTIFY_RADAR = C.NL80211_CMD_NOTIFY_RADAR
4590 NL80211_CMD_PEER_MEASUREMENT_COMPLETE = C.NL80211_CMD_PEER_MEASUREMENT_COMPLETE
4591 NL80211_CMD_PEER_MEASUREMENT_RESULT = C.NL80211_CMD_PEER_MEASUREMENT_RESULT
4592 NL80211_CMD_PEER_MEASUREMENT_START = C.NL80211_CMD_PEER_MEASUREMENT_START
4593 NL80211_CMD_PMKSA_CANDIDATE = C.NL80211_CMD_PMKSA_CANDIDATE
4594 NL80211_CMD_PORT_AUTHORIZED = C.NL80211_CMD_PORT_AUTHORIZED
4595 NL80211_CMD_PROBE_CLIENT = C.NL80211_CMD_PROBE_CLIENT
4596 NL80211_CMD_PROBE_MESH_LINK = C.NL80211_CMD_PROBE_MESH_LINK
4597 NL80211_CMD_RADAR_DETECT = C.NL80211_CMD_RADAR_DETECT
4598 NL80211_CMD_REG_BEACON_HINT = C.NL80211_CMD_REG_BEACON_HINT
4599 NL80211_CMD_REG_CHANGE = C.NL80211_CMD_REG_CHANGE
4600 NL80211_CMD_REGISTER_ACTION = C.NL80211_CMD_REGISTER_ACTION
4601 NL80211_CMD_REGISTER_BEACONS = C.NL80211_CMD_REGISTER_BEACONS
4602 NL80211_CMD_REGISTER_FRAME = C.NL80211_CMD_REGISTER_FRAME
4603 NL80211_CMD_RELOAD_REGDB = C.NL80211_CMD_RELOAD_REGDB
4604 NL80211_CMD_REMAIN_ON_CHANNEL = C.NL80211_CMD_REMAIN_ON_CHANNEL
4605 NL80211_CMD_REQ_SET_REG = C.NL80211_CMD_REQ_SET_REG
4606 NL80211_CMD_ROAM = C.NL80211_CMD_ROAM
4607 NL80211_CMD_SCAN_ABORTED = C.NL80211_CMD_SCAN_ABORTED
4608 NL80211_CMD_SCHED_SCAN_RESULTS = C.NL80211_CMD_SCHED_SCAN_RESULTS
4609 NL80211_CMD_SCHED_SCAN_STOPPED = C.NL80211_CMD_SCHED_SCAN_STOPPED
4610 NL80211_CMD_SET_BEACON = C.NL80211_CMD_SET_BEACON
4611 NL80211_CMD_SET_BSS = C.NL80211_CMD_SET_BSS
4612 NL80211_CMD_SET_CHANNEL = C.NL80211_CMD_SET_CHANNEL
4613 NL80211_CMD_SET_COALESCE = C.NL80211_CMD_SET_COALESCE
4614 NL80211_CMD_SET_CQM = C.NL80211_CMD_SET_CQM
4615 NL80211_CMD_SET_INTERFACE = C.NL80211_CMD_SET_INTERFACE
4616 NL80211_CMD_SET_KEY = C.NL80211_CMD_SET_KEY
4617 NL80211_CMD_SET_MAC_ACL = C.NL80211_CMD_SET_MAC_ACL
4618 NL80211_CMD_SET_MCAST_RATE = C.NL80211_CMD_SET_MCAST_RATE
4619 NL80211_CMD_SET_MESH_CONFIG = C.NL80211_CMD_SET_MESH_CONFIG
4620 NL80211_CMD_SET_MESH_PARAMS = C.NL80211_CMD_SET_MESH_PARAMS
4621 NL80211_CMD_SET_MGMT_EXTRA_IE = C.NL80211_CMD_SET_MGMT_EXTRA_IE
4622 NL80211_CMD_SET_MPATH = C.NL80211_CMD_SET_MPATH
4623 NL80211_CMD_SET_MULTICAST_TO_UNICAST = C.NL80211_CMD_SET_MULTICAST_TO_UNICAST
4624 NL80211_CMD_SET_NOACK_MAP = C.NL80211_CMD_SET_NOACK_MAP
4625 NL80211_CMD_SET_PMK = C.NL80211_CMD_SET_PMK
4626 NL80211_CMD_SET_PMKSA = C.NL80211_CMD_SET_PMKSA
4627 NL80211_CMD_SET_POWER_SAVE = C.NL80211_CMD_SET_POWER_SAVE
4628 NL80211_CMD_SET_QOS_MAP = C.NL80211_CMD_SET_QOS_MAP
4629 NL80211_CMD_SET_REG = C.NL80211_CMD_SET_REG
4630 NL80211_CMD_SET_REKEY_OFFLOAD = C.NL80211_CMD_SET_REKEY_OFFLOAD
4631 NL80211_CMD_SET_SAR_SPECS = C.NL80211_CMD_SET_SAR_SPECS
4632 NL80211_CMD_SET_STATION = C.NL80211_CMD_SET_STATION
4633 NL80211_CMD_SET_TID_CONFIG = C.NL80211_CMD_SET_TID_CONFIG
4634 NL80211_CMD_SET_TX_BITRATE_MASK = C.NL80211_CMD_SET_TX_BITRATE_MASK
4635 NL80211_CMD_SET_WDS_PEER = C.NL80211_CMD_SET_WDS_PEER
4636 NL80211_CMD_SET_WIPHY = C.NL80211_CMD_SET_WIPHY
4637 NL80211_CMD_SET_WIPHY_NETNS = C.NL80211_CMD_SET_WIPHY_NETNS
4638 NL80211_CMD_SET_WOWLAN = C.NL80211_CMD_SET_WOWLAN
4639 NL80211_CMD_STA_OPMODE_CHANGED = C.NL80211_CMD_STA_OPMODE_CHANGED
4640 NL80211_CMD_START_AP = C.NL80211_CMD_START_AP
4641 NL80211_CMD_START_NAN = C.NL80211_CMD_START_NAN
4642 NL80211_CMD_START_P2P_DEVICE = C.NL80211_CMD_START_P2P_DEVICE
4643 NL80211_CMD_START_SCHED_SCAN = C.NL80211_CMD_START_SCHED_SCAN
4644 NL80211_CMD_STOP_AP = C.NL80211_CMD_STOP_AP
4645 NL80211_CMD_STOP_NAN = C.NL80211_CMD_STOP_NAN
4646 NL80211_CMD_STOP_P2P_DEVICE = C.NL80211_CMD_STOP_P2P_DEVICE
4647 NL80211_CMD_STOP_SCHED_SCAN = C.NL80211_CMD_STOP_SCHED_SCAN
4648 NL80211_CMD_TDLS_CANCEL_CHANNEL_SWITCH = C.NL80211_CMD_TDLS_CANCEL_CHANNEL_SWITCH
4649 NL80211_CMD_TDLS_CHANNEL_SWITCH = C.NL80211_CMD_TDLS_CHANNEL_SWITCH
4650 NL80211_CMD_TDLS_MGMT = C.NL80211_CMD_TDLS_MGMT
4651 NL80211_CMD_TDLS_OPER = C.NL80211_CMD_TDLS_OPER
4652 NL80211_CMD_TESTMODE = C.NL80211_CMD_TESTMODE
4653 NL80211_CMD_TRIGGER_SCAN = C.NL80211_CMD_TRIGGER_SCAN
4654 NL80211_CMD_UNEXPECTED_4ADDR_FRAME = C.NL80211_CMD_UNEXPECTED_4ADDR_FRAME
4655 NL80211_CMD_UNEXPECTED_FRAME = C.NL80211_CMD_UNEXPECTED_FRAME
4656 NL80211_CMD_UNPROT_BEACON = C.NL80211_CMD_UNPROT_BEACON
4657 NL80211_CMD_UNPROT_DEAUTHENTICATE = C.NL80211_CMD_UNPROT_DEAUTHENTICATE
4658 NL80211_CMD_UNPROT_DISASSOCIATE = C.NL80211_CMD_UNPROT_DISASSOCIATE
4659 NL80211_CMD_UNSPEC = C.NL80211_CMD_UNSPEC
4660 NL80211_CMD_UPDATE_CONNECT_PARAMS = C.NL80211_CMD_UPDATE_CONNECT_PARAMS
4661 NL80211_CMD_UPDATE_FT_IES = C.NL80211_CMD_UPDATE_FT_IES
4662 NL80211_CMD_UPDATE_OWE_INFO = C.NL80211_CMD_UPDATE_OWE_INFO
4663 NL80211_CMD_VENDOR = C.NL80211_CMD_VENDOR
4664 NL80211_CMD_WIPHY_REG_CHANGE = C.NL80211_CMD_WIPHY_REG_CHANGE
4665 NL80211_COALESCE_CONDITION_MATCH = C.NL80211_COALESCE_CONDITION_MATCH
4666 NL80211_COALESCE_CONDITION_NO_MATCH = C.NL80211_COALESCE_CONDITION_NO_MATCH
4667 NL80211_CONN_FAIL_BLOCKED_CLIENT = C.NL80211_CONN_FAIL_BLOCKED_CLIENT
4668 NL80211_CONN_FAIL_MAX_CLIENTS = C.NL80211_CONN_FAIL_MAX_CLIENTS
4669 NL80211_CQM_RSSI_BEACON_LOSS_EVENT = C.NL80211_CQM_RSSI_BEACON_LOSS_EVENT
4670 NL80211_CQM_RSSI_THRESHOLD_EVENT_HIGH = C.NL80211_CQM_RSSI_THRESHOLD_EVENT_HIGH
4671 NL80211_CQM_RSSI_THRESHOLD_EVENT_LOW = C.NL80211_CQM_RSSI_THRESHOLD_EVENT_LOW
4672 NL80211_CQM_TXE_MAX_INTVL = C.NL80211_CQM_TXE_MAX_INTVL
4673 NL80211_CRIT_PROTO_APIPA = C.NL80211_CRIT_PROTO_APIPA
4674 NL80211_CRIT_PROTO_DHCP = C.NL80211_CRIT_PROTO_DHCP
4675 NL80211_CRIT_PROTO_EAPOL = C.NL80211_CRIT_PROTO_EAPOL
4676 NL80211_CRIT_PROTO_MAX_DURATION = C.NL80211_CRIT_PROTO_MAX_DURATION
4677 NL80211_CRIT_PROTO_UNSPEC = C.NL80211_CRIT_PROTO_UNSPEC
4678 NL80211_DFS_AVAILABLE = C.NL80211_DFS_AVAILABLE
4679 NL80211_DFS_ETSI = C.NL80211_DFS_ETSI
4680 NL80211_DFS_FCC = C.NL80211_DFS_FCC
4681 NL80211_DFS_JP = C.NL80211_DFS_JP
4682 NL80211_DFS_UNAVAILABLE = C.NL80211_DFS_UNAVAILABLE
4683 NL80211_DFS_UNSET = C.NL80211_DFS_UNSET
4684 NL80211_DFS_USABLE = C.NL80211_DFS_USABLE
4685 NL80211_EDMG_BW_CONFIG_MAX = C.NL80211_EDMG_BW_CONFIG_MAX
4686 NL80211_EDMG_BW_CONFIG_MIN = C.NL80211_EDMG_BW_CONFIG_MIN
4687 NL80211_EDMG_CHANNELS_MAX = C.NL80211_EDMG_CHANNELS_MAX
4688 NL80211_EDMG_CHANNELS_MIN = C.NL80211_EDMG_CHANNELS_MIN
4689 NL80211_EXTERNAL_AUTH_ABORT = C.NL80211_EXTERNAL_AUTH_ABORT
4690 NL80211_EXTERNAL_AUTH_START = C.NL80211_EXTERNAL_AUTH_START
4691 NL80211_EXT_FEATURE_4WAY_HANDSHAKE_AP_PSK = C.NL80211_EXT_FEATURE_4WAY_HANDSHAKE_AP_PSK
4692 NL80211_EXT_FEATURE_4WAY_HANDSHAKE_STA_1X = C.NL80211_EXT_FEATURE_4WAY_HANDSHAKE_STA_1X
4693 NL80211_EXT_FEATURE_4WAY_HANDSHAKE_STA_PSK = C.NL80211_EXT_FEATURE_4WAY_HANDSHAKE_STA_PSK
4694 NL80211_EXT_FEATURE_ACCEPT_BCAST_PROBE_RESP = C.NL80211_EXT_FEATURE_ACCEPT_BCAST_PROBE_RESP
4695 NL80211_EXT_FEATURE_ACK_SIGNAL_SUPPORT = C.NL80211_EXT_FEATURE_ACK_SIGNAL_SUPPORT
4696 NL80211_EXT_FEATURE_AIRTIME_FAIRNESS = C.NL80211_EXT_FEATURE_AIRTIME_FAIRNESS
4697 NL80211_EXT_FEATURE_AP_PMKSA_CACHING = C.NL80211_EXT_FEATURE_AP_PMKSA_CACHING
4698 NL80211_EXT_FEATURE_AQL = C.NL80211_EXT_FEATURE_AQL
4699 NL80211_EXT_FEATURE_BEACON_PROTECTION_CLIENT = C.NL80211_EXT_FEATURE_BEACON_PROTECTION_CLIENT
4700 NL80211_EXT_FEATURE_BEACON_PROTECTION = C.NL80211_EXT_FEATURE_BEACON_PROTECTION
4701 NL80211_EXT_FEATURE_BEACON_RATE_HE = C.NL80211_EXT_FEATURE_BEACON_RATE_HE
4702 NL80211_EXT_FEATURE_BEACON_RATE_HT = C.NL80211_EXT_FEATURE_BEACON_RATE_HT
4703 NL80211_EXT_FEATURE_BEACON_RATE_LEGACY = C.NL80211_EXT_FEATURE_BEACON_RATE_LEGACY
4704 NL80211_EXT_FEATURE_BEACON_RATE_VHT = C.NL80211_EXT_FEATURE_BEACON_RATE_VHT
4705 NL80211_EXT_FEATURE_BSS_PARENT_TSF = C.NL80211_EXT_FEATURE_BSS_PARENT_TSF
4706 NL80211_EXT_FEATURE_CAN_REPLACE_PTK0 = C.NL80211_EXT_FEATURE_CAN_REPLACE_PTK0
4707 NL80211_EXT_FEATURE_CONTROL_PORT_NO_PREAUTH = C.NL80211_EXT_FEATURE_CONTROL_PORT_NO_PREAUTH
4708 NL80211_EXT_FEATURE_CONTROL_PORT_OVER_NL80211 = C.NL80211_EXT_FEATURE_CONTROL_PORT_OVER_NL80211
4709 NL80211_EXT_FEATURE_CONTROL_PORT_OVER_NL80211_TX_STATUS = C.NL80211_EXT_FEATURE_CONTROL_PORT_OVER_NL80211_TX_STATUS
4710 NL80211_EXT_FEATURE_CQM_RSSI_LIST = C.NL80211_EXT_FEATURE_CQM_RSSI_LIST
4711 NL80211_EXT_FEATURE_DATA_ACK_SIGNAL_SUPPORT = C.NL80211_EXT_FEATURE_DATA_ACK_SIGNAL_SUPPORT
4712 NL80211_EXT_FEATURE_DEL_IBSS_STA = C.NL80211_EXT_FEATURE_DEL_IBSS_STA
4713 NL80211_EXT_FEATURE_DFS_OFFLOAD = C.NL80211_EXT_FEATURE_DFS_OFFLOAD
4714 NL80211_EXT_FEATURE_ENABLE_FTM_RESPONDER = C.NL80211_EXT_FEATURE_ENABLE_FTM_RESPONDER
4715 NL80211_EXT_FEATURE_EXT_KEY_ID = C.NL80211_EXT_FEATURE_EXT_KEY_ID
4716 NL80211_EXT_FEATURE_FILS_DISCOVERY = C.NL80211_EXT_FEATURE_FILS_DISCOVERY
4717 NL80211_EXT_FEATURE_FILS_MAX_CHANNEL_TIME = C.NL80211_EXT_FEATURE_FILS_MAX_CHANNEL_TIME
4718 NL80211_EXT_FEATURE_FILS_SK_OFFLOAD = C.NL80211_EXT_FEATURE_FILS_SK_OFFLOAD
4719 NL80211_EXT_FEATURE_FILS_STA = C.NL80211_EXT_FEATURE_FILS_STA
4720 NL80211_EXT_FEATURE_HIGH_ACCURACY_SCAN = C.NL80211_EXT_FEATURE_HIGH_ACCURACY_SCAN
4721 NL80211_EXT_FEATURE_LOW_POWER_SCAN = C.NL80211_EXT_FEATURE_LOW_POWER_SCAN
4722 NL80211_EXT_FEATURE_LOW_SPAN_SCAN = C.NL80211_EXT_FEATURE_LOW_SPAN_SCAN
4723 NL80211_EXT_FEATURE_MFP_OPTIONAL = C.NL80211_EXT_FEATURE_MFP_OPTIONAL
4724 NL80211_EXT_FEATURE_MGMT_TX_RANDOM_TA = C.NL80211_EXT_FEATURE_MGMT_TX_RANDOM_TA
4725 NL80211_EXT_FEATURE_MGMT_TX_RANDOM_TA_CONNECTED = C.NL80211_EXT_FEATURE_MGMT_TX_RANDOM_TA_CONNECTED
4726 NL80211_EXT_FEATURE_MULTICAST_REGISTRATIONS = C.NL80211_EXT_FEATURE_MULTICAST_REGISTRATIONS
4727 NL80211_EXT_FEATURE_MU_MIMO_AIR_SNIFFER = C.NL80211_EXT_FEATURE_MU_MIMO_AIR_SNIFFER
4728 NL80211_EXT_FEATURE_OCE_PROBE_REQ_DEFERRAL_SUPPRESSION = C.NL80211_EXT_FEATURE_OCE_PROBE_REQ_DEFERRAL_SUPPRESSION
4729 NL80211_EXT_FEATURE_OCE_PROBE_REQ_HIGH_TX_RATE = C.NL80211_EXT_FEATURE_OCE_PROBE_REQ_HIGH_TX_RATE
4730 NL80211_EXT_FEATURE_OPERATING_CHANNEL_VALIDATION = C.NL80211_EXT_FEATURE_OPERATING_CHANNEL_VALIDATION
4731 NL80211_EXT_FEATURE_PROTECTED_TWT = C.NL80211_EXT_FEATURE_PROTECTED_TWT
4732 NL80211_EXT_FEATURE_PROT_RANGE_NEGO_AND_MEASURE = C.NL80211_EXT_FEATURE_PROT_RANGE_NEGO_AND_MEASURE
4733 NL80211_EXT_FEATURE_RRM = C.NL80211_EXT_FEATURE_RRM
4734 NL80211_EXT_FEATURE_SAE_OFFLOAD_AP = C.NL80211_EXT_FEATURE_SAE_OFFLOAD_AP
4735 NL80211_EXT_FEATURE_SAE_OFFLOAD = C.NL80211_EXT_FEATURE_SAE_OFFLOAD
4736 NL80211_EXT_FEATURE_SCAN_FREQ_KHZ = C.NL80211_EXT_FEATURE_SCAN_FREQ_KHZ
4737 NL80211_EXT_FEATURE_SCAN_MIN_PREQ_CONTENT = C.NL80211_EXT_FEATURE_SCAN_MIN_PREQ_CONTENT
4738 NL80211_EXT_FEATURE_SCAN_RANDOM_SN = C.NL80211_EXT_FEATURE_SCAN_RANDOM_SN
4739 NL80211_EXT_FEATURE_SCAN_START_TIME = C.NL80211_EXT_FEATURE_SCAN_START_TIME
4740 NL80211_EXT_FEATURE_SCHED_SCAN_BAND_SPECIFIC_RSSI_THOLD = C.NL80211_EXT_FEATURE_SCHED_SCAN_BAND_SPECIFIC_RSSI_THOLD
4741 NL80211_EXT_FEATURE_SCHED_SCAN_RELATIVE_RSSI = C.NL80211_EXT_FEATURE_SCHED_SCAN_RELATIVE_RSSI
4742 NL80211_EXT_FEATURE_SECURE_LTF = C.NL80211_EXT_FEATURE_SECURE_LTF
4743 NL80211_EXT_FEATURE_SECURE_RTT = C.NL80211_EXT_FEATURE_SECURE_RTT
4744 NL80211_EXT_FEATURE_SET_SCAN_DWELL = C.NL80211_EXT_FEATURE_SET_SCAN_DWELL
4745 NL80211_EXT_FEATURE_STA_TX_PWR = C.NL80211_EXT_FEATURE_STA_TX_PWR
4746 NL80211_EXT_FEATURE_TXQS = C.NL80211_EXT_FEATURE_TXQS
4747 NL80211_EXT_FEATURE_UNSOL_BCAST_PROBE_RESP = C.NL80211_EXT_FEATURE_UNSOL_BCAST_PROBE_RESP
4748 NL80211_EXT_FEATURE_VHT_IBSS = C.NL80211_EXT_FEATURE_VHT_IBSS
4749 NL80211_EXT_FEATURE_VLAN_OFFLOAD = C.NL80211_EXT_FEATURE_VLAN_OFFLOAD
4750 NL80211_FEATURE_ACKTO_ESTIMATION = C.NL80211_FEATURE_ACKTO_ESTIMATION
4751 NL80211_FEATURE_ACTIVE_MONITOR = C.NL80211_FEATURE_ACTIVE_MONITOR
4752 NL80211_FEATURE_ADVERTISE_CHAN_LIMITS = C.NL80211_FEATURE_ADVERTISE_CHAN_LIMITS
4753 NL80211_FEATURE_AP_MODE_CHAN_WIDTH_CHANGE = C.NL80211_FEATURE_AP_MODE_CHAN_WIDTH_CHANGE
4754 NL80211_FEATURE_AP_SCAN = C.NL80211_FEATURE_AP_SCAN
4755 NL80211_FEATURE_CELL_BASE_REG_HINTS = C.NL80211_FEATURE_CELL_BASE_REG_HINTS
4756 NL80211_FEATURE_DS_PARAM_SET_IE_IN_PROBES = C.NL80211_FEATURE_DS_PARAM_SET_IE_IN_PROBES
4757 NL80211_FEATURE_DYNAMIC_SMPS = C.NL80211_FEATURE_DYNAMIC_SMPS
4758 NL80211_FEATURE_FULL_AP_CLIENT_STATE = C.NL80211_FEATURE_FULL_AP_CLIENT_STATE
4759 NL80211_FEATURE_HT_IBSS = C.NL80211_FEATURE_HT_IBSS
4760 NL80211_FEATURE_INACTIVITY_TIMER = C.NL80211_FEATURE_INACTIVITY_TIMER
4761 NL80211_FEATURE_LOW_PRIORITY_SCAN = C.NL80211_FEATURE_LOW_PRIORITY_SCAN
4762 NL80211_FEATURE_MAC_ON_CREATE = C.NL80211_FEATURE_MAC_ON_CREATE
4763 NL80211_FEATURE_ND_RANDOM_MAC_ADDR = C.NL80211_FEATURE_ND_RANDOM_MAC_ADDR
4764 NL80211_FEATURE_NEED_OBSS_SCAN = C.NL80211_FEATURE_NEED_OBSS_SCAN
4765 NL80211_FEATURE_P2P_DEVICE_NEEDS_CHANNEL = C.NL80211_FEATURE_P2P_DEVICE_NEEDS_CHANNEL
4766 NL80211_FEATURE_P2P_GO_CTWIN = C.NL80211_FEATURE_P2P_GO_CTWIN
4767 NL80211_FEATURE_P2P_GO_OPPPS = C.NL80211_FEATURE_P2P_GO_OPPPS
4768 NL80211_FEATURE_QUIET = C.NL80211_FEATURE_QUIET
4769 NL80211_FEATURE_SAE = C.NL80211_FEATURE_SAE
4770 NL80211_FEATURE_SCAN_FLUSH = C.NL80211_FEATURE_SCAN_FLUSH
4771 NL80211_FEATURE_SCAN_RANDOM_MAC_ADDR = C.NL80211_FEATURE_SCAN_RANDOM_MAC_ADDR
4772 NL80211_FEATURE_SCHED_SCAN_RANDOM_MAC_ADDR = C.NL80211_FEATURE_SCHED_SCAN_RANDOM_MAC_ADDR
4773 NL80211_FEATURE_SK_TX_STATUS = C.NL80211_FEATURE_SK_TX_STATUS
4774 NL80211_FEATURE_STATIC_SMPS = C.NL80211_FEATURE_STATIC_SMPS
4775 NL80211_FEATURE_SUPPORTS_WMM_ADMISSION = C.NL80211_FEATURE_SUPPORTS_WMM_ADMISSION
4776 NL80211_FEATURE_TDLS_CHANNEL_SWITCH = C.NL80211_FEATURE_TDLS_CHANNEL_SWITCH
4777 NL80211_FEATURE_TX_POWER_INSERTION = C.NL80211_FEATURE_TX_POWER_INSERTION
4778 NL80211_FEATURE_USERSPACE_MPM = C.NL80211_FEATURE_USERSPACE_MPM
4779 NL80211_FEATURE_VIF_TXPOWER = C.NL80211_FEATURE_VIF_TXPOWER
4780 NL80211_FEATURE_WFA_TPC_IE_IN_PROBES = C.NL80211_FEATURE_WFA_TPC_IE_IN_PROBES
4781 NL80211_FILS_DISCOVERY_ATTR_INT_MAX = C.NL80211_FILS_DISCOVERY_ATTR_INT_MAX
4782 NL80211_FILS_DISCOVERY_ATTR_INT_MIN = C.NL80211_FILS_DISCOVERY_ATTR_INT_MIN
4783 NL80211_FILS_DISCOVERY_ATTR_MAX = C.NL80211_FILS_DISCOVERY_ATTR_MAX
4784 NL80211_FILS_DISCOVERY_ATTR_TMPL = C.NL80211_FILS_DISCOVERY_ATTR_TMPL
4785 NL80211_FILS_DISCOVERY_TMPL_MIN_LEN = C.NL80211_FILS_DISCOVERY_TMPL_MIN_LEN
4786 NL80211_FREQUENCY_ATTR_16MHZ = C.NL80211_FREQUENCY_ATTR_16MHZ
4787 NL80211_FREQUENCY_ATTR_1MHZ = C.NL80211_FREQUENCY_ATTR_1MHZ
4788 NL80211_FREQUENCY_ATTR_2MHZ = C.NL80211_FREQUENCY_ATTR_2MHZ
4789 NL80211_FREQUENCY_ATTR_4MHZ = C.NL80211_FREQUENCY_ATTR_4MHZ
4790 NL80211_FREQUENCY_ATTR_8MHZ = C.NL80211_FREQUENCY_ATTR_8MHZ
4791 NL80211_FREQUENCY_ATTR_DFS_CAC_TIME = C.NL80211_FREQUENCY_ATTR_DFS_CAC_TIME
4792 NL80211_FREQUENCY_ATTR_DFS_STATE = C.NL80211_FREQUENCY_ATTR_DFS_STATE
4793 NL80211_FREQUENCY_ATTR_DFS_TIME = C.NL80211_FREQUENCY_ATTR_DFS_TIME
4794 NL80211_FREQUENCY_ATTR_DISABLED = C.NL80211_FREQUENCY_ATTR_DISABLED
4795 NL80211_FREQUENCY_ATTR_FREQ = C.NL80211_FREQUENCY_ATTR_FREQ
4796 NL80211_FREQUENCY_ATTR_GO_CONCURRENT = C.NL80211_FREQUENCY_ATTR_GO_CONCURRENT
4797 NL80211_FREQUENCY_ATTR_INDOOR_ONLY = C.NL80211_FREQUENCY_ATTR_INDOOR_ONLY
4798 NL80211_FREQUENCY_ATTR_IR_CONCURRENT = C.NL80211_FREQUENCY_ATTR_IR_CONCURRENT
4799 NL80211_FREQUENCY_ATTR_MAX = C.NL80211_FREQUENCY_ATTR_MAX
4800 NL80211_FREQUENCY_ATTR_MAX_TX_POWER = C.NL80211_FREQUENCY_ATTR_MAX_TX_POWER
4801 NL80211_FREQUENCY_ATTR_NO_10MHZ = C.NL80211_FREQUENCY_ATTR_NO_10MHZ
4802 NL80211_FREQUENCY_ATTR_NO_160MHZ = C.NL80211_FREQUENCY_ATTR_NO_160MHZ
4803 NL80211_FREQUENCY_ATTR_NO_20MHZ = C.NL80211_FREQUENCY_ATTR_NO_20MHZ
4804 NL80211_FREQUENCY_ATTR_NO_80MHZ = C.NL80211_FREQUENCY_ATTR_NO_80MHZ
4805 NL80211_FREQUENCY_ATTR_NO_HE = C.NL80211_FREQUENCY_ATTR_NO_HE
4806 NL80211_FREQUENCY_ATTR_NO_HT40_MINUS = C.NL80211_FREQUENCY_ATTR_NO_HT40_MINUS
4807 NL80211_FREQUENCY_ATTR_NO_HT40_PLUS = C.NL80211_FREQUENCY_ATTR_NO_HT40_PLUS
4808 NL80211_FREQUENCY_ATTR_NO_IBSS = C.NL80211_FREQUENCY_ATTR_NO_IBSS
4809 NL80211_FREQUENCY_ATTR_NO_IR = C.NL80211_FREQUENCY_ATTR_NO_IR
4810 NL80211_FREQUENCY_ATTR_OFFSET = C.NL80211_FREQUENCY_ATTR_OFFSET
4811 NL80211_FREQUENCY_ATTR_PASSIVE_SCAN = C.NL80211_FREQUENCY_ATTR_PASSIVE_SCAN
4812 NL80211_FREQUENCY_ATTR_RADAR = C.NL80211_FREQUENCY_ATTR_RADAR
4813 NL80211_FREQUENCY_ATTR_WMM = C.NL80211_FREQUENCY_ATTR_WMM
4814 NL80211_FTM_RESP_ATTR_CIVICLOC = C.NL80211_FTM_RESP_ATTR_CIVICLOC
4815 NL80211_FTM_RESP_ATTR_ENABLED = C.NL80211_FTM_RESP_ATTR_ENABLED
4816 NL80211_FTM_RESP_ATTR_LCI = C.NL80211_FTM_RESP_ATTR_LCI
4817 NL80211_FTM_RESP_ATTR_MAX = C.NL80211_FTM_RESP_ATTR_MAX
4818 NL80211_FTM_STATS_ASAP_NUM = C.NL80211_FTM_STATS_ASAP_NUM
4819 NL80211_FTM_STATS_FAILED_NUM = C.NL80211_FTM_STATS_FAILED_NUM
4820 NL80211_FTM_STATS_MAX = C.NL80211_FTM_STATS_MAX
4821 NL80211_FTM_STATS_NON_ASAP_NUM = C.NL80211_FTM_STATS_NON_ASAP_NUM
4822 NL80211_FTM_STATS_OUT_OF_WINDOW_TRIGGERS_NUM = C.NL80211_FTM_STATS_OUT_OF_WINDOW_TRIGGERS_NUM
4823 NL80211_FTM_STATS_PAD = C.NL80211_FTM_STATS_PAD
4824 NL80211_FTM_STATS_PARTIAL_NUM = C.NL80211_FTM_STATS_PARTIAL_NUM
4825 NL80211_FTM_STATS_RESCHEDULE_REQUESTS_NUM = C.NL80211_FTM_STATS_RESCHEDULE_REQUESTS_NUM
4826 NL80211_FTM_STATS_SUCCESS_NUM = C.NL80211_FTM_STATS_SUCCESS_NUM
4827 NL80211_FTM_STATS_TOTAL_DURATION_MSEC = C.NL80211_FTM_STATS_TOTAL_DURATION_MSEC
4828 NL80211_FTM_STATS_UNKNOWN_TRIGGERS_NUM = C.NL80211_FTM_STATS_UNKNOWN_TRIGGERS_NUM
4829 NL80211_GENL_NAME = C.NL80211_GENL_NAME
4830 NL80211_HE_BSS_COLOR_ATTR_COLOR = C.NL80211_HE_BSS_COLOR_ATTR_COLOR
4831 NL80211_HE_BSS_COLOR_ATTR_DISABLED = C.NL80211_HE_BSS_COLOR_ATTR_DISABLED
4832 NL80211_HE_BSS_COLOR_ATTR_MAX = C.NL80211_HE_BSS_COLOR_ATTR_MAX
4833 NL80211_HE_BSS_COLOR_ATTR_PARTIAL = C.NL80211_HE_BSS_COLOR_ATTR_PARTIAL
4834 NL80211_HE_MAX_CAPABILITY_LEN = C.NL80211_HE_MAX_CAPABILITY_LEN
4835 NL80211_HE_MIN_CAPABILITY_LEN = C.NL80211_HE_MIN_CAPABILITY_LEN
4836 NL80211_HE_NSS_MAX = C.NL80211_HE_NSS_MAX
4837 NL80211_HE_OBSS_PD_ATTR_BSS_COLOR_BITMAP = C.NL80211_HE_OBSS_PD_ATTR_BSS_COLOR_BITMAP
4838 NL80211_HE_OBSS_PD_ATTR_MAX = C.NL80211_HE_OBSS_PD_ATTR_MAX
4839 NL80211_HE_OBSS_PD_ATTR_MAX_OFFSET = C.NL80211_HE_OBSS_PD_ATTR_MAX_OFFSET
4840 NL80211_HE_OBSS_PD_ATTR_MIN_OFFSET = C.NL80211_HE_OBSS_PD_ATTR_MIN_OFFSET
4841 NL80211_HE_OBSS_PD_ATTR_NON_SRG_MAX_OFFSET = C.NL80211_HE_OBSS_PD_ATTR_NON_SRG_MAX_OFFSET
4842 NL80211_HE_OBSS_PD_ATTR_PARTIAL_BSSID_BITMAP = C.NL80211_HE_OBSS_PD_ATTR_PARTIAL_BSSID_BITMAP
4843 NL80211_HE_OBSS_PD_ATTR_SR_CTRL = C.NL80211_HE_OBSS_PD_ATTR_SR_CTRL
4844 NL80211_HIDDEN_SSID_NOT_IN_USE = C.NL80211_HIDDEN_SSID_NOT_IN_USE
4845 NL80211_HIDDEN_SSID_ZERO_CONTENTS = C.NL80211_HIDDEN_SSID_ZERO_CONTENTS
4846 NL80211_HIDDEN_SSID_ZERO_LEN = C.NL80211_HIDDEN_SSID_ZERO_LEN
4847 NL80211_HT_CAPABILITY_LEN = C.NL80211_HT_CAPABILITY_LEN
4848 NL80211_IFACE_COMB_BI_MIN_GCD = C.NL80211_IFACE_COMB_BI_MIN_GCD
4849 NL80211_IFACE_COMB_LIMITS = C.NL80211_IFACE_COMB_LIMITS
4850 NL80211_IFACE_COMB_MAXNUM = C.NL80211_IFACE_COMB_MAXNUM
4851 NL80211_IFACE_COMB_NUM_CHANNELS = C.NL80211_IFACE_COMB_NUM_CHANNELS
4852 NL80211_IFACE_COMB_RADAR_DETECT_REGIONS = C.NL80211_IFACE_COMB_RADAR_DETECT_REGIONS
4853 NL80211_IFACE_COMB_RADAR_DETECT_WIDTHS = C.NL80211_IFACE_COMB_RADAR_DETECT_WIDTHS
4854 NL80211_IFACE_COMB_STA_AP_BI_MATCH = C.NL80211_IFACE_COMB_STA_AP_BI_MATCH
4855 NL80211_IFACE_COMB_UNSPEC = C.NL80211_IFACE_COMB_UNSPEC
4856 NL80211_IFACE_LIMIT_MAX = C.NL80211_IFACE_LIMIT_MAX
4857 NL80211_IFACE_LIMIT_TYPES = C.NL80211_IFACE_LIMIT_TYPES
4858 NL80211_IFACE_LIMIT_UNSPEC = C.NL80211_IFACE_LIMIT_UNSPEC
4859 NL80211_IFTYPE_ADHOC = C.NL80211_IFTYPE_ADHOC
4860 NL80211_IFTYPE_AKM_ATTR_IFTYPES = C.NL80211_IFTYPE_AKM_ATTR_IFTYPES
4861 NL80211_IFTYPE_AKM_ATTR_MAX = C.NL80211_IFTYPE_AKM_ATTR_MAX
4862 NL80211_IFTYPE_AKM_ATTR_SUITES = C.NL80211_IFTYPE_AKM_ATTR_SUITES
4863 NL80211_IFTYPE_AP = C.NL80211_IFTYPE_AP
4864 NL80211_IFTYPE_AP_VLAN = C.NL80211_IFTYPE_AP_VLAN
4865 NL80211_IFTYPE_MAX = C.NL80211_IFTYPE_MAX
4866 NL80211_IFTYPE_MESH_POINT = C.NL80211_IFTYPE_MESH_POINT
4867 NL80211_IFTYPE_MONITOR = C.NL80211_IFTYPE_MONITOR
4868 NL80211_IFTYPE_NAN = C.NL80211_IFTYPE_NAN
4869 NL80211_IFTYPE_OCB = C.NL80211_IFTYPE_OCB
4870 NL80211_IFTYPE_P2P_CLIENT = C.NL80211_IFTYPE_P2P_CLIENT
4871 NL80211_IFTYPE_P2P_DEVICE = C.NL80211_IFTYPE_P2P_DEVICE
4872 NL80211_IFTYPE_P2P_GO = C.NL80211_IFTYPE_P2P_GO
4873 NL80211_IFTYPE_STATION = C.NL80211_IFTYPE_STATION
4874 NL80211_IFTYPE_UNSPECIFIED = C.NL80211_IFTYPE_UNSPECIFIED
4875 NL80211_IFTYPE_WDS = C.NL80211_IFTYPE_WDS
4876 NL80211_KCK_EXT_LEN = C.NL80211_KCK_EXT_LEN
4877 NL80211_KCK_LEN = C.NL80211_KCK_LEN
4878 NL80211_KEK_EXT_LEN = C.NL80211_KEK_EXT_LEN
4879 NL80211_KEK_LEN = C.NL80211_KEK_LEN
4880 NL80211_KEY_CIPHER = C.NL80211_KEY_CIPHER
4881 NL80211_KEY_DATA = C.NL80211_KEY_DATA
4882 NL80211_KEY_DEFAULT_BEACON = C.NL80211_KEY_DEFAULT_BEACON
4883 NL80211_KEY_DEFAULT = C.NL80211_KEY_DEFAULT
4884 NL80211_KEY_DEFAULT_MGMT = C.NL80211_KEY_DEFAULT_MGMT
4885 NL80211_KEY_DEFAULT_TYPE_MULTICAST = C.NL80211_KEY_DEFAULT_TYPE_MULTICAST
4886 NL80211_KEY_DEFAULT_TYPES = C.NL80211_KEY_DEFAULT_TYPES
4887 NL80211_KEY_DEFAULT_TYPE_UNICAST = C.NL80211_KEY_DEFAULT_TYPE_UNICAST
4888 NL80211_KEY_IDX = C.NL80211_KEY_IDX
4889 NL80211_KEY_MAX = C.NL80211_KEY_MAX
4890 NL80211_KEY_MODE = C.NL80211_KEY_MODE
4891 NL80211_KEY_NO_TX = C.NL80211_KEY_NO_TX
4892 NL80211_KEY_RX_TX = C.NL80211_KEY_RX_TX
4893 NL80211_KEY_SEQ = C.NL80211_KEY_SEQ
4894 NL80211_KEY_SET_TX = C.NL80211_KEY_SET_TX
4895 NL80211_KEY_TYPE = C.NL80211_KEY_TYPE
4896 NL80211_KEYTYPE_GROUP = C.NL80211_KEYTYPE_GROUP
4897 NL80211_KEYTYPE_PAIRWISE = C.NL80211_KEYTYPE_PAIRWISE
4898 NL80211_KEYTYPE_PEERKEY = C.NL80211_KEYTYPE_PEERKEY
4899 NL80211_MAX_NR_AKM_SUITES = C.NL80211_MAX_NR_AKM_SUITES
4900 NL80211_MAX_NR_CIPHER_SUITES = C.NL80211_MAX_NR_CIPHER_SUITES
4901 NL80211_MAX_SUPP_HT_RATES = C.NL80211_MAX_SUPP_HT_RATES
4902 NL80211_MAX_SUPP_RATES = C.NL80211_MAX_SUPP_RATES
4903 NL80211_MAX_SUPP_REG_RULES = C.NL80211_MAX_SUPP_REG_RULES
4904 NL80211_MESHCONF_ATTR_MAX = C.NL80211_MESHCONF_ATTR_MAX
4905 NL80211_MESHCONF_AUTO_OPEN_PLINKS = C.NL80211_MESHCONF_AUTO_OPEN_PLINKS
4906 NL80211_MESHCONF_AWAKE_WINDOW = C.NL80211_MESHCONF_AWAKE_WINDOW
4907 NL80211_MESHCONF_CONFIRM_TIMEOUT = C.NL80211_MESHCONF_CONFIRM_TIMEOUT
4908 NL80211_MESHCONF_CONNECTED_TO_AS = C.NL80211_MESHCONF_CONNECTED_TO_AS
4909 NL80211_MESHCONF_CONNECTED_TO_GATE = C.NL80211_MESHCONF_CONNECTED_TO_GATE
4910 NL80211_MESHCONF_ELEMENT_TTL = C.NL80211_MESHCONF_ELEMENT_TTL
4911 NL80211_MESHCONF_FORWARDING = C.NL80211_MESHCONF_FORWARDING
4912 NL80211_MESHCONF_GATE_ANNOUNCEMENTS = C.NL80211_MESHCONF_GATE_ANNOUNCEMENTS
4913 NL80211_MESHCONF_HOLDING_TIMEOUT = C.NL80211_MESHCONF_HOLDING_TIMEOUT
4914 NL80211_MESHCONF_HT_OPMODE = C.NL80211_MESHCONF_HT_OPMODE
4915 NL80211_MESHCONF_HWMP_ACTIVE_PATH_TIMEOUT = C.NL80211_MESHCONF_HWMP_ACTIVE_PATH_TIMEOUT
4916 NL80211_MESHCONF_HWMP_CONFIRMATION_INTERVAL = C.NL80211_MESHCONF_HWMP_CONFIRMATION_INTERVAL
4917 NL80211_MESHCONF_HWMP_MAX_PREQ_RETRIES = C.NL80211_MESHCONF_HWMP_MAX_PREQ_RETRIES
4918 NL80211_MESHCONF_HWMP_NET_DIAM_TRVS_TIME = C.NL80211_MESHCONF_HWMP_NET_DIAM_TRVS_TIME
4919 NL80211_MESHCONF_HWMP_PATH_TO_ROOT_TIMEOUT = C.NL80211_MESHCONF_HWMP_PATH_TO_ROOT_TIMEOUT
4920 NL80211_MESHCONF_HWMP_PERR_MIN_INTERVAL = C.NL80211_MESHCONF_HWMP_PERR_MIN_INTERVAL
4921 NL80211_MESHCONF_HWMP_PREQ_MIN_INTERVAL = C.NL80211_MESHCONF_HWMP_PREQ_MIN_INTERVAL
4922 NL80211_MESHCONF_HWMP_RANN_INTERVAL = C.NL80211_MESHCONF_HWMP_RANN_INTERVAL
4923 NL80211_MESHCONF_HWMP_ROOT_INTERVAL = C.NL80211_MESHCONF_HWMP_ROOT_INTERVAL
4924 NL80211_MESHCONF_HWMP_ROOTMODE = C.NL80211_MESHCONF_HWMP_ROOTMODE
4925 NL80211_MESHCONF_MAX_PEER_LINKS = C.NL80211_MESHCONF_MAX_PEER_LINKS
4926 NL80211_MESHCONF_MAX_RETRIES = C.NL80211_MESHCONF_MAX_RETRIES
4927 NL80211_MESHCONF_MIN_DISCOVERY_TIMEOUT = C.NL80211_MESHCONF_MIN_DISCOVERY_TIMEOUT
4928 NL80211_MESHCONF_NOLEARN = C.NL80211_MESHCONF_NOLEARN
4929 NL80211_MESHCONF_PATH_REFRESH_TIME = C.NL80211_MESHCONF_PATH_REFRESH_TIME
4930 NL80211_MESHCONF_PLINK_TIMEOUT = C.NL80211_MESHCONF_PLINK_TIMEOUT
4931 NL80211_MESHCONF_POWER_MODE = C.NL80211_MESHCONF_POWER_MODE
4932 NL80211_MESHCONF_RETRY_TIMEOUT = C.NL80211_MESHCONF_RETRY_TIMEOUT
4933 NL80211_MESHCONF_RSSI_THRESHOLD = C.NL80211_MESHCONF_RSSI_THRESHOLD
4934 NL80211_MESHCONF_SYNC_OFFSET_MAX_NEIGHBOR = C.NL80211_MESHCONF_SYNC_OFFSET_MAX_NEIGHBOR
4935 NL80211_MESHCONF_TTL = C.NL80211_MESHCONF_TTL
4936 NL80211_MESH_POWER_ACTIVE = C.NL80211_MESH_POWER_ACTIVE
4937 NL80211_MESH_POWER_DEEP_SLEEP = C.NL80211_MESH_POWER_DEEP_SLEEP
4938 NL80211_MESH_POWER_LIGHT_SLEEP = C.NL80211_MESH_POWER_LIGHT_SLEEP
4939 NL80211_MESH_POWER_MAX = C.NL80211_MESH_POWER_MAX
4940 NL80211_MESH_POWER_UNKNOWN = C.NL80211_MESH_POWER_UNKNOWN
4941 NL80211_MESH_SETUP_ATTR_MAX = C.NL80211_MESH_SETUP_ATTR_MAX
4942 NL80211_MESH_SETUP_AUTH_PROTOCOL = C.NL80211_MESH_SETUP_AUTH_PROTOCOL
4943 NL80211_MESH_SETUP_ENABLE_VENDOR_METRIC = C.NL80211_MESH_SETUP_ENABLE_VENDOR_METRIC
4944 NL80211_MESH_SETUP_ENABLE_VENDOR_PATH_SEL = C.NL80211_MESH_SETUP_ENABLE_VENDOR_PATH_SEL
4945 NL80211_MESH_SETUP_ENABLE_VENDOR_SYNC = C.NL80211_MESH_SETUP_ENABLE_VENDOR_SYNC
4946 NL80211_MESH_SETUP_IE = C.NL80211_MESH_SETUP_IE
4947 NL80211_MESH_SETUP_USERSPACE_AMPE = C.NL80211_MESH_SETUP_USERSPACE_AMPE
4948 NL80211_MESH_SETUP_USERSPACE_AUTH = C.NL80211_MESH_SETUP_USERSPACE_AUTH
4949 NL80211_MESH_SETUP_USERSPACE_MPM = C.NL80211_MESH_SETUP_USERSPACE_MPM
4950 NL80211_MESH_SETUP_VENDOR_PATH_SEL_IE = C.NL80211_MESH_SETUP_VENDOR_PATH_SEL_IE
4951 NL80211_MFP_NO = C.NL80211_MFP_NO
4952 NL80211_MFP_OPTIONAL = C.NL80211_MFP_OPTIONAL
4953 NL80211_MFP_REQUIRED = C.NL80211_MFP_REQUIRED
4954 NL80211_MIN_REMAIN_ON_CHANNEL_TIME = C.NL80211_MIN_REMAIN_ON_CHANNEL_TIME
4955 NL80211_MNTR_FLAG_ACTIVE = C.NL80211_MNTR_FLAG_ACTIVE
4956 NL80211_MNTR_FLAG_CONTROL = C.NL80211_MNTR_FLAG_CONTROL
4957 NL80211_MNTR_FLAG_COOK_FRAMES = C.NL80211_MNTR_FLAG_COOK_FRAMES
4958 NL80211_MNTR_FLAG_FCSFAIL = C.NL80211_MNTR_FLAG_FCSFAIL
4959 NL80211_MNTR_FLAG_MAX = C.NL80211_MNTR_FLAG_MAX
4960 NL80211_MNTR_FLAG_OTHER_BSS = C.NL80211_MNTR_FLAG_OTHER_BSS
4961 NL80211_MNTR_FLAG_PLCPFAIL = C.NL80211_MNTR_FLAG_PLCPFAIL
4962 NL80211_MPATH_FLAG_ACTIVE = C.NL80211_MPATH_FLAG_ACTIVE
4963 NL80211_MPATH_FLAG_FIXED = C.NL80211_MPATH_FLAG_FIXED
4964 NL80211_MPATH_FLAG_RESOLVED = C.NL80211_MPATH_FLAG_RESOLVED
4965 NL80211_MPATH_FLAG_RESOLVING = C.NL80211_MPATH_FLAG_RESOLVING
4966 NL80211_MPATH_FLAG_SN_VALID = C.NL80211_MPATH_FLAG_SN_VALID
4967 NL80211_MPATH_INFO_DISCOVERY_RETRIES = C.NL80211_MPATH_INFO_DISCOVERY_RETRIES
4968 NL80211_MPATH_INFO_DISCOVERY_TIMEOUT = C.NL80211_MPATH_INFO_DISCOVERY_TIMEOUT
4969 NL80211_MPATH_INFO_EXPTIME = C.NL80211_MPATH_INFO_EXPTIME
4970 NL80211_MPATH_INFO_FLAGS = C.NL80211_MPATH_INFO_FLAGS
4971 NL80211_MPATH_INFO_FRAME_QLEN = C.NL80211_MPATH_INFO_FRAME_QLEN
4972 NL80211_MPATH_INFO_HOP_COUNT = C.NL80211_MPATH_INFO_HOP_COUNT
4973 NL80211_MPATH_INFO_MAX = C.NL80211_MPATH_INFO_MAX
4974 NL80211_MPATH_INFO_METRIC = C.NL80211_MPATH_INFO_METRIC
4975 NL80211_MPATH_INFO_PATH_CHANGE = C.NL80211_MPATH_INFO_PATH_CHANGE
4976 NL80211_MPATH_INFO_SN = C.NL80211_MPATH_INFO_SN
4977 NL80211_MULTICAST_GROUP_CONFIG = C.NL80211_MULTICAST_GROUP_CONFIG
4978 NL80211_MULTICAST_GROUP_MLME = C.NL80211_MULTICAST_GROUP_MLME
4979 NL80211_MULTICAST_GROUP_NAN = C.NL80211_MULTICAST_GROUP_NAN
4980 NL80211_MULTICAST_GROUP_REG = C.NL80211_MULTICAST_GROUP_REG
4981 NL80211_MULTICAST_GROUP_SCAN = C.NL80211_MULTICAST_GROUP_SCAN
4982 NL80211_MULTICAST_GROUP_TESTMODE = C.NL80211_MULTICAST_GROUP_TESTMODE
4983 NL80211_MULTICAST_GROUP_VENDOR = C.NL80211_MULTICAST_GROUP_VENDOR
4984 NL80211_NAN_FUNC_ATTR_MAX = C.NL80211_NAN_FUNC_ATTR_MAX
4985 NL80211_NAN_FUNC_CLOSE_RANGE = C.NL80211_NAN_FUNC_CLOSE_RANGE
4986 NL80211_NAN_FUNC_FOLLOW_UP = C.NL80211_NAN_FUNC_FOLLOW_UP
4987 NL80211_NAN_FUNC_FOLLOW_UP_DEST = C.NL80211_NAN_FUNC_FOLLOW_UP_DEST
4988 NL80211_NAN_FUNC_FOLLOW_UP_ID = C.NL80211_NAN_FUNC_FOLLOW_UP_ID
4989 NL80211_NAN_FUNC_FOLLOW_UP_REQ_ID = C.NL80211_NAN_FUNC_FOLLOW_UP_REQ_ID
4990 NL80211_NAN_FUNC_INSTANCE_ID = C.NL80211_NAN_FUNC_INSTANCE_ID
4991 NL80211_NAN_FUNC_MAX_TYPE = C.NL80211_NAN_FUNC_MAX_TYPE
4992 NL80211_NAN_FUNC_PUBLISH_BCAST = C.NL80211_NAN_FUNC_PUBLISH_BCAST
4993 NL80211_NAN_FUNC_PUBLISH = C.NL80211_NAN_FUNC_PUBLISH
4994 NL80211_NAN_FUNC_PUBLISH_TYPE = C.NL80211_NAN_FUNC_PUBLISH_TYPE
4995 NL80211_NAN_FUNC_RX_MATCH_FILTER = C.NL80211_NAN_FUNC_RX_MATCH_FILTER
4996 NL80211_NAN_FUNC_SERVICE_ID = C.NL80211_NAN_FUNC_SERVICE_ID
4997 NL80211_NAN_FUNC_SERVICE_ID_LEN = C.NL80211_NAN_FUNC_SERVICE_ID_LEN
4998 NL80211_NAN_FUNC_SERVICE_INFO = C.NL80211_NAN_FUNC_SERVICE_INFO
4999 NL80211_NAN_FUNC_SERVICE_SPEC_INFO_MAX_LEN = C.NL80211_NAN_FUNC_SERVICE_SPEC_INFO_MAX_LEN
5000 NL80211_NAN_FUNC_SRF = C.NL80211_NAN_FUNC_SRF
5001 NL80211_NAN_FUNC_SRF_MAX_LEN = C.NL80211_NAN_FUNC_SRF_MAX_LEN
5002 NL80211_NAN_FUNC_SUBSCRIBE_ACTIVE = C.NL80211_NAN_FUNC_SUBSCRIBE_ACTIVE
5003 NL80211_NAN_FUNC_SUBSCRIBE = C.NL80211_NAN_FUNC_SUBSCRIBE
5004 NL80211_NAN_FUNC_TERM_REASON = C.NL80211_NAN_FUNC_TERM_REASON
5005 NL80211_NAN_FUNC_TERM_REASON_ERROR = C.NL80211_NAN_FUNC_TERM_REASON_ERROR
5006 NL80211_NAN_FUNC_TERM_REASON_TTL_EXPIRED = C.NL80211_NAN_FUNC_TERM_REASON_TTL_EXPIRED
5007 NL80211_NAN_FUNC_TERM_REASON_USER_REQUEST = C.NL80211_NAN_FUNC_TERM_REASON_USER_REQUEST
5008 NL80211_NAN_FUNC_TTL = C.NL80211_NAN_FUNC_TTL
5009 NL80211_NAN_FUNC_TX_MATCH_FILTER = C.NL80211_NAN_FUNC_TX_MATCH_FILTER
5010 NL80211_NAN_FUNC_TYPE = C.NL80211_NAN_FUNC_TYPE
5011 NL80211_NAN_MATCH_ATTR_MAX = C.NL80211_NAN_MATCH_ATTR_MAX
5012 NL80211_NAN_MATCH_FUNC_LOCAL = C.NL80211_NAN_MATCH_FUNC_LOCAL
5013 NL80211_NAN_MATCH_FUNC_PEER = C.NL80211_NAN_MATCH_FUNC_PEER
5014 NL80211_NAN_SOLICITED_PUBLISH = C.NL80211_NAN_SOLICITED_PUBLISH
5015 NL80211_NAN_SRF_ATTR_MAX = C.NL80211_NAN_SRF_ATTR_MAX
5016 NL80211_NAN_SRF_BF = C.NL80211_NAN_SRF_BF
5017 NL80211_NAN_SRF_BF_IDX = C.NL80211_NAN_SRF_BF_IDX
5018 NL80211_NAN_SRF_INCLUDE = C.NL80211_NAN_SRF_INCLUDE
5019 NL80211_NAN_SRF_MAC_ADDRS = C.NL80211_NAN_SRF_MAC_ADDRS
5020 NL80211_NAN_UNSOLICITED_PUBLISH = C.NL80211_NAN_UNSOLICITED_PUBLISH
5021 NL80211_NUM_ACS = C.NL80211_NUM_ACS
5022 NL80211_P2P_PS_SUPPORTED = C.NL80211_P2P_PS_SUPPORTED
5023 NL80211_P2P_PS_UNSUPPORTED = C.NL80211_P2P_PS_UNSUPPORTED
5024 NL80211_PKTPAT_MASK = C.NL80211_PKTPAT_MASK
5025 NL80211_PKTPAT_OFFSET = C.NL80211_PKTPAT_OFFSET
5026 NL80211_PKTPAT_PATTERN = C.NL80211_PKTPAT_PATTERN
5027 NL80211_PLINK_ACTION_BLOCK = C.NL80211_PLINK_ACTION_BLOCK
5028 NL80211_PLINK_ACTION_NO_ACTION = C.NL80211_PLINK_ACTION_NO_ACTION
5029 NL80211_PLINK_ACTION_OPEN = C.NL80211_PLINK_ACTION_OPEN
5030 NL80211_PLINK_BLOCKED = C.NL80211_PLINK_BLOCKED
5031 NL80211_PLINK_CNF_RCVD = C.NL80211_PLINK_CNF_RCVD
5032 NL80211_PLINK_ESTAB = C.NL80211_PLINK_ESTAB
5033 NL80211_PLINK_HOLDING = C.NL80211_PLINK_HOLDING
5034 NL80211_PLINK_LISTEN = C.NL80211_PLINK_LISTEN
5035 NL80211_PLINK_OPN_RCVD = C.NL80211_PLINK_OPN_RCVD
5036 NL80211_PLINK_OPN_SNT = C.NL80211_PLINK_OPN_SNT
5037 NL80211_PMKSA_CANDIDATE_BSSID = C.NL80211_PMKSA_CANDIDATE_BSSID
5038 NL80211_PMKSA_CANDIDATE_INDEX = C.NL80211_PMKSA_CANDIDATE_INDEX
5039 NL80211_PMKSA_CANDIDATE_PREAUTH = C.NL80211_PMKSA_CANDIDATE_PREAUTH
5040 NL80211_PMSR_ATTR_MAX = C.NL80211_PMSR_ATTR_MAX
5041 NL80211_PMSR_ATTR_MAX_PEERS = C.NL80211_PMSR_ATTR_MAX_PEERS
5042 NL80211_PMSR_ATTR_PEERS = C.NL80211_PMSR_ATTR_PEERS
5043 NL80211_PMSR_ATTR_RANDOMIZE_MAC_ADDR = C.NL80211_PMSR_ATTR_RANDOMIZE_MAC_ADDR
5044 NL80211_PMSR_ATTR_REPORT_AP_TSF = C.NL80211_PMSR_ATTR_REPORT_AP_TSF
5045 NL80211_PMSR_ATTR_TYPE_CAPA = C.NL80211_PMSR_ATTR_TYPE_CAPA
5046 NL80211_PMSR_FTM_CAPA_ATTR_ASAP = C.NL80211_PMSR_FTM_CAPA_ATTR_ASAP
5047 NL80211_PMSR_FTM_CAPA_ATTR_BANDWIDTHS = C.NL80211_PMSR_FTM_CAPA_ATTR_BANDWIDTHS
5048 NL80211_PMSR_FTM_CAPA_ATTR_MAX_BURSTS_EXPONENT = C.NL80211_PMSR_FTM_CAPA_ATTR_MAX_BURSTS_EXPONENT
5049 NL80211_PMSR_FTM_CAPA_ATTR_MAX = C.NL80211_PMSR_FTM_CAPA_ATTR_MAX
5050 NL80211_PMSR_FTM_CAPA_ATTR_MAX_FTMS_PER_BURST = C.NL80211_PMSR_FTM_CAPA_ATTR_MAX_FTMS_PER_BURST
5051 NL80211_PMSR_FTM_CAPA_ATTR_NON_ASAP = C.NL80211_PMSR_FTM_CAPA_ATTR_NON_ASAP
5052 NL80211_PMSR_FTM_CAPA_ATTR_NON_TRIGGER_BASED = C.NL80211_PMSR_FTM_CAPA_ATTR_NON_TRIGGER_BASED
5053 NL80211_PMSR_FTM_CAPA_ATTR_PREAMBLES = C.NL80211_PMSR_FTM_CAPA_ATTR_PREAMBLES
5054 NL80211_PMSR_FTM_CAPA_ATTR_REQ_CIVICLOC = C.NL80211_PMSR_FTM_CAPA_ATTR_REQ_CIVICLOC
5055 NL80211_PMSR_FTM_CAPA_ATTR_REQ_LCI = C.NL80211_PMSR_FTM_CAPA_ATTR_REQ_LCI
5056 NL80211_PMSR_FTM_CAPA_ATTR_TRIGGER_BASED = C.NL80211_PMSR_FTM_CAPA_ATTR_TRIGGER_BASED
5057 NL80211_PMSR_FTM_FAILURE_BAD_CHANGED_PARAMS = C.NL80211_PMSR_FTM_FAILURE_BAD_CHANGED_PARAMS
5058 NL80211_PMSR_FTM_FAILURE_INVALID_TIMESTAMP = C.NL80211_PMSR_FTM_FAILURE_INVALID_TIMESTAMP
5059 NL80211_PMSR_FTM_FAILURE_NO_RESPONSE = C.NL80211_PMSR_FTM_FAILURE_NO_RESPONSE
5060 NL80211_PMSR_FTM_FAILURE_PEER_BUSY = C.NL80211_PMSR_FTM_FAILURE_PEER_BUSY
5061 NL80211_PMSR_FTM_FAILURE_PEER_NOT_CAPABLE = C.NL80211_PMSR_FTM_FAILURE_PEER_NOT_CAPABLE
5062 NL80211_PMSR_FTM_FAILURE_REJECTED = C.NL80211_PMSR_FTM_FAILURE_REJECTED
5063 NL80211_PMSR_FTM_FAILURE_UNSPECIFIED = C.NL80211_PMSR_FTM_FAILURE_UNSPECIFIED
5064 NL80211_PMSR_FTM_FAILURE_WRONG_CHANNEL = C.NL80211_PMSR_FTM_FAILURE_WRONG_CHANNEL
5065 NL80211_PMSR_FTM_REQ_ATTR_ASAP = C.NL80211_PMSR_FTM_REQ_ATTR_ASAP
5066 NL80211_PMSR_FTM_REQ_ATTR_BURST_DURATION = C.NL80211_PMSR_FTM_REQ_ATTR_BURST_DURATION
5067 NL80211_PMSR_FTM_REQ_ATTR_BURST_PERIOD = C.NL80211_PMSR_FTM_REQ_ATTR_BURST_PERIOD
5068 NL80211_PMSR_FTM_REQ_ATTR_FTMS_PER_BURST = C.NL80211_PMSR_FTM_REQ_ATTR_FTMS_PER_BURST
5069 NL80211_PMSR_FTM_REQ_ATTR_LMR_FEEDBACK = C.NL80211_PMSR_FTM_REQ_ATTR_LMR_FEEDBACK
5070 NL80211_PMSR_FTM_REQ_ATTR_MAX = C.NL80211_PMSR_FTM_REQ_ATTR_MAX
5071 NL80211_PMSR_FTM_REQ_ATTR_NON_TRIGGER_BASED = C.NL80211_PMSR_FTM_REQ_ATTR_NON_TRIGGER_BASED
5072 NL80211_PMSR_FTM_REQ_ATTR_NUM_BURSTS_EXP = C.NL80211_PMSR_FTM_REQ_ATTR_NUM_BURSTS_EXP
5073 NL80211_PMSR_FTM_REQ_ATTR_NUM_FTMR_RETRIES = C.NL80211_PMSR_FTM_REQ_ATTR_NUM_FTMR_RETRIES
5074 NL80211_PMSR_FTM_REQ_ATTR_PREAMBLE = C.NL80211_PMSR_FTM_REQ_ATTR_PREAMBLE
5075 NL80211_PMSR_FTM_REQ_ATTR_REQUEST_CIVICLOC = C.NL80211_PMSR_FTM_REQ_ATTR_REQUEST_CIVICLOC
5076 NL80211_PMSR_FTM_REQ_ATTR_REQUEST_LCI = C.NL80211_PMSR_FTM_REQ_ATTR_REQUEST_LCI
5077 NL80211_PMSR_FTM_REQ_ATTR_TRIGGER_BASED = C.NL80211_PMSR_FTM_REQ_ATTR_TRIGGER_BASED
5078 NL80211_PMSR_FTM_RESP_ATTR_BURST_DURATION = C.NL80211_PMSR_FTM_RESP_ATTR_BURST_DURATION
5079 NL80211_PMSR_FTM_RESP_ATTR_BURST_INDEX = C.NL80211_PMSR_FTM_RESP_ATTR_BURST_INDEX
5080 NL80211_PMSR_FTM_RESP_ATTR_BUSY_RETRY_TIME = C.NL80211_PMSR_FTM_RESP_ATTR_BUSY_RETRY_TIME
5081 NL80211_PMSR_FTM_RESP_ATTR_CIVICLOC = C.NL80211_PMSR_FTM_RESP_ATTR_CIVICLOC
5082 NL80211_PMSR_FTM_RESP_ATTR_DIST_AVG = C.NL80211_PMSR_FTM_RESP_ATTR_DIST_AVG
5083 NL80211_PMSR_FTM_RESP_ATTR_DIST_SPREAD = C.NL80211_PMSR_FTM_RESP_ATTR_DIST_SPREAD
5084 NL80211_PMSR_FTM_RESP_ATTR_DIST_VARIANCE = C.NL80211_PMSR_FTM_RESP_ATTR_DIST_VARIANCE
5085 NL80211_PMSR_FTM_RESP_ATTR_FAIL_REASON = C.NL80211_PMSR_FTM_RESP_ATTR_FAIL_REASON
5086 NL80211_PMSR_FTM_RESP_ATTR_FTMS_PER_BURST = C.NL80211_PMSR_FTM_RESP_ATTR_FTMS_PER_BURST
5087 NL80211_PMSR_FTM_RESP_ATTR_LCI = C.NL80211_PMSR_FTM_RESP_ATTR_LCI
5088 NL80211_PMSR_FTM_RESP_ATTR_MAX = C.NL80211_PMSR_FTM_RESP_ATTR_MAX
5089 NL80211_PMSR_FTM_RESP_ATTR_NUM_BURSTS_EXP = C.NL80211_PMSR_FTM_RESP_ATTR_NUM_BURSTS_EXP
5090 NL80211_PMSR_FTM_RESP_ATTR_NUM_FTMR_ATTEMPTS = C.NL80211_PMSR_FTM_RESP_ATTR_NUM_FTMR_ATTEMPTS
5091 NL80211_PMSR_FTM_RESP_ATTR_NUM_FTMR_SUCCESSES = C.NL80211_PMSR_FTM_RESP_ATTR_NUM_FTMR_SUCCESSES
5092 NL80211_PMSR_FTM_RESP_ATTR_PAD = C.NL80211_PMSR_FTM_RESP_ATTR_PAD
5093 NL80211_PMSR_FTM_RESP_ATTR_RSSI_AVG = C.NL80211_PMSR_FTM_RESP_ATTR_RSSI_AVG
5094 NL80211_PMSR_FTM_RESP_ATTR_RSSI_SPREAD = C.NL80211_PMSR_FTM_RESP_ATTR_RSSI_SPREAD
5095 NL80211_PMSR_FTM_RESP_ATTR_RTT_AVG = C.NL80211_PMSR_FTM_RESP_ATTR_RTT_AVG
5096 NL80211_PMSR_FTM_RESP_ATTR_RTT_SPREAD = C.NL80211_PMSR_FTM_RESP_ATTR_RTT_SPREAD
5097 NL80211_PMSR_FTM_RESP_ATTR_RTT_VARIANCE = C.NL80211_PMSR_FTM_RESP_ATTR_RTT_VARIANCE
5098 NL80211_PMSR_FTM_RESP_ATTR_RX_RATE = C.NL80211_PMSR_FTM_RESP_ATTR_RX_RATE
5099 NL80211_PMSR_FTM_RESP_ATTR_TX_RATE = C.NL80211_PMSR_FTM_RESP_ATTR_TX_RATE
5100 NL80211_PMSR_PEER_ATTR_ADDR = C.NL80211_PMSR_PEER_ATTR_ADDR
5101 NL80211_PMSR_PEER_ATTR_CHAN = C.NL80211_PMSR_PEER_ATTR_CHAN
5102 NL80211_PMSR_PEER_ATTR_MAX = C.NL80211_PMSR_PEER_ATTR_MAX
5103 NL80211_PMSR_PEER_ATTR_REQ = C.NL80211_PMSR_PEER_ATTR_REQ
5104 NL80211_PMSR_PEER_ATTR_RESP = C.NL80211_PMSR_PEER_ATTR_RESP
5105 NL80211_PMSR_REQ_ATTR_DATA = C.NL80211_PMSR_REQ_ATTR_DATA
5106 NL80211_PMSR_REQ_ATTR_GET_AP_TSF = C.NL80211_PMSR_REQ_ATTR_GET_AP_TSF
5107 NL80211_PMSR_REQ_ATTR_MAX = C.NL80211_PMSR_REQ_ATTR_MAX
5108 NL80211_PMSR_RESP_ATTR_AP_TSF = C.NL80211_PMSR_RESP_ATTR_AP_TSF
5109 NL80211_PMSR_RESP_ATTR_DATA = C.NL80211_PMSR_RESP_ATTR_DATA
5110 NL80211_PMSR_RESP_ATTR_FINAL = C.NL80211_PMSR_RESP_ATTR_FINAL
5111 NL80211_PMSR_RESP_ATTR_HOST_TIME = C.NL80211_PMSR_RESP_ATTR_HOST_TIME
5112 NL80211_PMSR_RESP_ATTR_MAX = C.NL80211_PMSR_RESP_ATTR_MAX
5113 NL80211_PMSR_RESP_ATTR_PAD = C.NL80211_PMSR_RESP_ATTR_PAD
5114 NL80211_PMSR_RESP_ATTR_STATUS = C.NL80211_PMSR_RESP_ATTR_STATUS
5115 NL80211_PMSR_STATUS_FAILURE = C.NL80211_PMSR_STATUS_FAILURE
5116 NL80211_PMSR_STATUS_REFUSED = C.NL80211_PMSR_STATUS_REFUSED
5117 NL80211_PMSR_STATUS_SUCCESS = C.NL80211_PMSR_STATUS_SUCCESS
5118 NL80211_PMSR_STATUS_TIMEOUT = C.NL80211_PMSR_STATUS_TIMEOUT
5119 NL80211_PMSR_TYPE_FTM = C.NL80211_PMSR_TYPE_FTM
5120 NL80211_PMSR_TYPE_INVALID = C.NL80211_PMSR_TYPE_INVALID
5121 NL80211_PMSR_TYPE_MAX = C.NL80211_PMSR_TYPE_MAX
5122 NL80211_PREAMBLE_DMG = C.NL80211_PREAMBLE_DMG
5123 NL80211_PREAMBLE_HE = C.NL80211_PREAMBLE_HE
5124 NL80211_PREAMBLE_HT = C.NL80211_PREAMBLE_HT
5125 NL80211_PREAMBLE_LEGACY = C.NL80211_PREAMBLE_LEGACY
5126 NL80211_PREAMBLE_VHT = C.NL80211_PREAMBLE_VHT
5127 NL80211_PROBE_RESP_OFFLOAD_SUPPORT_80211U = C.NL80211_PROBE_RESP_OFFLOAD_SUPPORT_80211U
5128 NL80211_PROBE_RESP_OFFLOAD_SUPPORT_P2P = C.NL80211_PROBE_RESP_OFFLOAD_SUPPORT_P2P
5129 NL80211_PROBE_RESP_OFFLOAD_SUPPORT_WPS2 = C.NL80211_PROBE_RESP_OFFLOAD_SUPPORT_WPS2
5130 NL80211_PROBE_RESP_OFFLOAD_SUPPORT_WPS = C.NL80211_PROBE_RESP_OFFLOAD_SUPPORT_WPS
5131 NL80211_PROTOCOL_FEATURE_SPLIT_WIPHY_DUMP = C.NL80211_PROTOCOL_FEATURE_SPLIT_WIPHY_DUMP
5132 NL80211_PS_DISABLED = C.NL80211_PS_DISABLED
5133 NL80211_PS_ENABLED = C.NL80211_PS_ENABLED
5134 NL80211_RADAR_CAC_ABORTED = C.NL80211_RADAR_CAC_ABORTED
5135 NL80211_RADAR_CAC_FINISHED = C.NL80211_RADAR_CAC_FINISHED
5136 NL80211_RADAR_CAC_STARTED = C.NL80211_RADAR_CAC_STARTED
5137 NL80211_RADAR_DETECTED = C.NL80211_RADAR_DETECTED
5138 NL80211_RADAR_NOP_FINISHED = C.NL80211_RADAR_NOP_FINISHED
5139 NL80211_RADAR_PRE_CAC_EXPIRED = C.NL80211_RADAR_PRE_CAC_EXPIRED
5140 NL80211_RATE_INFO_10_MHZ_WIDTH = C.NL80211_RATE_INFO_10_MHZ_WIDTH
5141 NL80211_RATE_INFO_160_MHZ_WIDTH = C.NL80211_RATE_INFO_160_MHZ_WIDTH
5142 NL80211_RATE_INFO_40_MHZ_WIDTH = C.NL80211_RATE_INFO_40_MHZ_WIDTH
5143 NL80211_RATE_INFO_5_MHZ_WIDTH = C.NL80211_RATE_INFO_5_MHZ_WIDTH
5144 NL80211_RATE_INFO_80_MHZ_WIDTH = C.NL80211_RATE_INFO_80_MHZ_WIDTH
5145 NL80211_RATE_INFO_80P80_MHZ_WIDTH = C.NL80211_RATE_INFO_80P80_MHZ_WIDTH
5146 NL80211_RATE_INFO_BITRATE32 = C.NL80211_RATE_INFO_BITRATE32
5147 NL80211_RATE_INFO_BITRATE = C.NL80211_RATE_INFO_BITRATE
5148 NL80211_RATE_INFO_HE_1XLTF = C.NL80211_RATE_INFO_HE_1XLTF
5149 NL80211_RATE_INFO_HE_2XLTF = C.NL80211_RATE_INFO_HE_2XLTF
5150 NL80211_RATE_INFO_HE_4XLTF = C.NL80211_RATE_INFO_HE_4XLTF
5151 NL80211_RATE_INFO_HE_DCM = C.NL80211_RATE_INFO_HE_DCM
5152 NL80211_RATE_INFO_HE_GI_0_8 = C.NL80211_RATE_INFO_HE_GI_0_8
5153 NL80211_RATE_INFO_HE_GI_1_6 = C.NL80211_RATE_INFO_HE_GI_1_6
5154 NL80211_RATE_INFO_HE_GI_3_2 = C.NL80211_RATE_INFO_HE_GI_3_2
5155 NL80211_RATE_INFO_HE_GI = C.NL80211_RATE_INFO_HE_GI
5156 NL80211_RATE_INFO_HE_MCS = C.NL80211_RATE_INFO_HE_MCS
5157 NL80211_RATE_INFO_HE_NSS = C.NL80211_RATE_INFO_HE_NSS
5158 NL80211_RATE_INFO_HE_RU_ALLOC_106 = C.NL80211_RATE_INFO_HE_RU_ALLOC_106
5159 NL80211_RATE_INFO_HE_RU_ALLOC_242 = C.NL80211_RATE_INFO_HE_RU_ALLOC_242
5160 NL80211_RATE_INFO_HE_RU_ALLOC_26 = C.NL80211_RATE_INFO_HE_RU_ALLOC_26
5161 NL80211_RATE_INFO_HE_RU_ALLOC_2x996 = C.NL80211_RATE_INFO_HE_RU_ALLOC_2x996
5162 NL80211_RATE_INFO_HE_RU_ALLOC_484 = C.NL80211_RATE_INFO_HE_RU_ALLOC_484
5163 NL80211_RATE_INFO_HE_RU_ALLOC_52 = C.NL80211_RATE_INFO_HE_RU_ALLOC_52
5164 NL80211_RATE_INFO_HE_RU_ALLOC_996 = C.NL80211_RATE_INFO_HE_RU_ALLOC_996
5165 NL80211_RATE_INFO_HE_RU_ALLOC = C.NL80211_RATE_INFO_HE_RU_ALLOC
5166 NL80211_RATE_INFO_MAX = C.NL80211_RATE_INFO_MAX
5167 NL80211_RATE_INFO_MCS = C.NL80211_RATE_INFO_MCS
5168 NL80211_RATE_INFO_SHORT_GI = C.NL80211_RATE_INFO_SHORT_GI
5169 NL80211_RATE_INFO_VHT_MCS = C.NL80211_RATE_INFO_VHT_MCS
5170 NL80211_RATE_INFO_VHT_NSS = C.NL80211_RATE_INFO_VHT_NSS
5171 NL80211_REGDOM_SET_BY_CORE = C.NL80211_REGDOM_SET_BY_CORE
5172 NL80211_REGDOM_SET_BY_COUNTRY_IE = C.NL80211_REGDOM_SET_BY_COUNTRY_IE
5173 NL80211_REGDOM_SET_BY_DRIVER = C.NL80211_REGDOM_SET_BY_DRIVER
5174 NL80211_REGDOM_SET_BY_USER = C.NL80211_REGDOM_SET_BY_USER
5175 NL80211_REGDOM_TYPE_COUNTRY = C.NL80211_REGDOM_TYPE_COUNTRY
5176 NL80211_REGDOM_TYPE_CUSTOM_WORLD = C.NL80211_REGDOM_TYPE_CUSTOM_WORLD
5177 NL80211_REGDOM_TYPE_INTERSECTION = C.NL80211_REGDOM_TYPE_INTERSECTION
5178 NL80211_REGDOM_TYPE_WORLD = C.NL80211_REGDOM_TYPE_WORLD
5179 NL80211_REG_RULE_ATTR_MAX = C.NL80211_REG_RULE_ATTR_MAX
5180 NL80211_REKEY_DATA_AKM = C.NL80211_REKEY_DATA_AKM
5181 NL80211_REKEY_DATA_KCK = C.NL80211_REKEY_DATA_KCK
5182 NL80211_REKEY_DATA_KEK = C.NL80211_REKEY_DATA_KEK
5183 NL80211_REKEY_DATA_REPLAY_CTR = C.NL80211_REKEY_DATA_REPLAY_CTR
5184 NL80211_REPLAY_CTR_LEN = C.NL80211_REPLAY_CTR_LEN
5185 NL80211_RRF_AUTO_BW = C.NL80211_RRF_AUTO_BW
5186 NL80211_RRF_DFS = C.NL80211_RRF_DFS
5187 NL80211_RRF_GO_CONCURRENT = C.NL80211_RRF_GO_CONCURRENT
5188 NL80211_RRF_IR_CONCURRENT = C.NL80211_RRF_IR_CONCURRENT
5189 NL80211_RRF_NO_160MHZ = C.NL80211_RRF_NO_160MHZ
5190 NL80211_RRF_NO_80MHZ = C.NL80211_RRF_NO_80MHZ
5191 NL80211_RRF_NO_CCK = C.NL80211_RRF_NO_CCK
5192 NL80211_RRF_NO_HE = C.NL80211_RRF_NO_HE
5193 NL80211_RRF_NO_HT40 = C.NL80211_RRF_NO_HT40
5194 NL80211_RRF_NO_HT40MINUS = C.NL80211_RRF_NO_HT40MINUS
5195 NL80211_RRF_NO_HT40PLUS = C.NL80211_RRF_NO_HT40PLUS
5196 NL80211_RRF_NO_IBSS = C.NL80211_RRF_NO_IBSS
5197 NL80211_RRF_NO_INDOOR = C.NL80211_RRF_NO_INDOOR
5198 NL80211_RRF_NO_IR_ALL = C.NL80211_RRF_NO_IR_ALL
5199 NL80211_RRF_NO_IR = C.NL80211_RRF_NO_IR
5200 NL80211_RRF_NO_OFDM = C.NL80211_RRF_NO_OFDM
5201 NL80211_RRF_NO_OUTDOOR = C.NL80211_RRF_NO_OUTDOOR
5202 NL80211_RRF_PASSIVE_SCAN = C.NL80211_RRF_PASSIVE_SCAN
5203 NL80211_RRF_PTMP_ONLY = C.NL80211_RRF_PTMP_ONLY
5204 NL80211_RRF_PTP_ONLY = C.NL80211_RRF_PTP_ONLY
5205 NL80211_RXMGMT_FLAG_ANSWERED = C.NL80211_RXMGMT_FLAG_ANSWERED
5206 NL80211_RXMGMT_FLAG_EXTERNAL_AUTH = C.NL80211_RXMGMT_FLAG_EXTERNAL_AUTH
5207 NL80211_SAE_PWE_BOTH = C.NL80211_SAE_PWE_BOTH
5208 NL80211_SAE_PWE_HASH_TO_ELEMENT = C.NL80211_SAE_PWE_HASH_TO_ELEMENT
5209 NL80211_SAE_PWE_HUNT_AND_PECK = C.NL80211_SAE_PWE_HUNT_AND_PECK
5210 NL80211_SAE_PWE_UNSPECIFIED = C.NL80211_SAE_PWE_UNSPECIFIED
5211 NL80211_SAR_ATTR_MAX = C.NL80211_SAR_ATTR_MAX
5212 NL80211_SAR_ATTR_SPECS = C.NL80211_SAR_ATTR_SPECS
5213 NL80211_SAR_ATTR_SPECS_END_FREQ = C.NL80211_SAR_ATTR_SPECS_END_FREQ
5214 NL80211_SAR_ATTR_SPECS_MAX = C.NL80211_SAR_ATTR_SPECS_MAX
5215 NL80211_SAR_ATTR_SPECS_POWER = C.NL80211_SAR_ATTR_SPECS_POWER
5216 NL80211_SAR_ATTR_SPECS_RANGE_INDEX = C.NL80211_SAR_ATTR_SPECS_RANGE_INDEX
5217 NL80211_SAR_ATTR_SPECS_START_FREQ = C.NL80211_SAR_ATTR_SPECS_START_FREQ
5218 NL80211_SAR_ATTR_TYPE = C.NL80211_SAR_ATTR_TYPE
5219 NL80211_SAR_TYPE_POWER = C.NL80211_SAR_TYPE_POWER
5220 NL80211_SCAN_FLAG_ACCEPT_BCAST_PROBE_RESP = C.NL80211_SCAN_FLAG_ACCEPT_BCAST_PROBE_RESP
5221 NL80211_SCAN_FLAG_AP = C.NL80211_SCAN_FLAG_AP
5222 NL80211_SCAN_FLAG_COLOCATED_6GHZ = C.NL80211_SCAN_FLAG_COLOCATED_6GHZ
5223 NL80211_SCAN_FLAG_FILS_MAX_CHANNEL_TIME = C.NL80211_SCAN_FLAG_FILS_MAX_CHANNEL_TIME
5224 NL80211_SCAN_FLAG_FLUSH = C.NL80211_SCAN_FLAG_FLUSH
5225 NL80211_SCAN_FLAG_FREQ_KHZ = C.NL80211_SCAN_FLAG_FREQ_KHZ
5226 NL80211_SCAN_FLAG_HIGH_ACCURACY = C.NL80211_SCAN_FLAG_HIGH_ACCURACY
5227 NL80211_SCAN_FLAG_LOW_POWER = C.NL80211_SCAN_FLAG_LOW_POWER
5228 NL80211_SCAN_FLAG_LOW_PRIORITY = C.NL80211_SCAN_FLAG_LOW_PRIORITY
5229 NL80211_SCAN_FLAG_LOW_SPAN = C.NL80211_SCAN_FLAG_LOW_SPAN
5230 NL80211_SCAN_FLAG_MIN_PREQ_CONTENT = C.NL80211_SCAN_FLAG_MIN_PREQ_CONTENT
5231 NL80211_SCAN_FLAG_OCE_PROBE_REQ_DEFERRAL_SUPPRESSION = C.NL80211_SCAN_FLAG_OCE_PROBE_REQ_DEFERRAL_SUPPRESSION
5232 NL80211_SCAN_FLAG_OCE_PROBE_REQ_HIGH_TX_RATE = C.NL80211_SCAN_FLAG_OCE_PROBE_REQ_HIGH_TX_RATE
5233 NL80211_SCAN_FLAG_RANDOM_ADDR = C.NL80211_SCAN_FLAG_RANDOM_ADDR
5234 NL80211_SCAN_FLAG_RANDOM_SN = C.NL80211_SCAN_FLAG_RANDOM_SN
5235 NL80211_SCAN_RSSI_THOLD_OFF = C.NL80211_SCAN_RSSI_THOLD_OFF
5236 NL80211_SCHED_SCAN_MATCH_ATTR_BSSID = C.NL80211_SCHED_SCAN_MATCH_ATTR_BSSID
5237 NL80211_SCHED_SCAN_MATCH_ATTR_MAX = C.NL80211_SCHED_SCAN_MATCH_ATTR_MAX
5238 NL80211_SCHED_SCAN_MATCH_ATTR_RELATIVE_RSSI = C.NL80211_SCHED_SCAN_MATCH_ATTR_RELATIVE_RSSI
5239 NL80211_SCHED_SCAN_MATCH_ATTR_RSSI_ADJUST = C.NL80211_SCHED_SCAN_MATCH_ATTR_RSSI_ADJUST
5240 NL80211_SCHED_SCAN_MATCH_ATTR_RSSI = C.NL80211_SCHED_SCAN_MATCH_ATTR_RSSI
5241 NL80211_SCHED_SCAN_MATCH_ATTR_SSID = C.NL80211_SCHED_SCAN_MATCH_ATTR_SSID
5242 NL80211_SCHED_SCAN_MATCH_PER_BAND_RSSI = C.NL80211_SCHED_SCAN_MATCH_PER_BAND_RSSI
5243 NL80211_SCHED_SCAN_PLAN_INTERVAL = C.NL80211_SCHED_SCAN_PLAN_INTERVAL
5244 NL80211_SCHED_SCAN_PLAN_ITERATIONS = C.NL80211_SCHED_SCAN_PLAN_ITERATIONS
5245 NL80211_SCHED_SCAN_PLAN_MAX = C.NL80211_SCHED_SCAN_PLAN_MAX
5246 NL80211_SMPS_DYNAMIC = C.NL80211_SMPS_DYNAMIC
5247 NL80211_SMPS_MAX = C.NL80211_SMPS_MAX
5248 NL80211_SMPS_OFF = C.NL80211_SMPS_OFF
5249 NL80211_SMPS_STATIC = C.NL80211_SMPS_STATIC
5250 NL80211_STA_BSS_PARAM_BEACON_INTERVAL = C.NL80211_STA_BSS_PARAM_BEACON_INTERVAL
5251 NL80211_STA_BSS_PARAM_CTS_PROT = C.NL80211_STA_BSS_PARAM_CTS_PROT
5252 NL80211_STA_BSS_PARAM_DTIM_PERIOD = C.NL80211_STA_BSS_PARAM_DTIM_PERIOD
5253 NL80211_STA_BSS_PARAM_MAX = C.NL80211_STA_BSS_PARAM_MAX
5254 NL80211_STA_BSS_PARAM_SHORT_PREAMBLE = C.NL80211_STA_BSS_PARAM_SHORT_PREAMBLE
5255 NL80211_STA_BSS_PARAM_SHORT_SLOT_TIME = C.NL80211_STA_BSS_PARAM_SHORT_SLOT_TIME
5256 NL80211_STA_FLAG_ASSOCIATED = C.NL80211_STA_FLAG_ASSOCIATED
5257 NL80211_STA_FLAG_AUTHENTICATED = C.NL80211_STA_FLAG_AUTHENTICATED
5258 NL80211_STA_FLAG_AUTHORIZED = C.NL80211_STA_FLAG_AUTHORIZED
5259 NL80211_STA_FLAG_MAX = C.NL80211_STA_FLAG_MAX
5260 NL80211_STA_FLAG_MAX_OLD_API = C.NL80211_STA_FLAG_MAX_OLD_API
5261 NL80211_STA_FLAG_MFP = C.NL80211_STA_FLAG_MFP
5262 NL80211_STA_FLAG_SHORT_PREAMBLE = C.NL80211_STA_FLAG_SHORT_PREAMBLE
5263 NL80211_STA_FLAG_TDLS_PEER = C.NL80211_STA_FLAG_TDLS_PEER
5264 NL80211_STA_FLAG_WME = C.NL80211_STA_FLAG_WME
5265 NL80211_STA_INFO_ACK_SIGNAL_AVG = C.NL80211_STA_INFO_ACK_SIGNAL_AVG
5266 NL80211_STA_INFO_ACK_SIGNAL = C.NL80211_STA_INFO_ACK_SIGNAL
5267 NL80211_STA_INFO_AIRTIME_LINK_METRIC = C.NL80211_STA_INFO_AIRTIME_LINK_METRIC
5268 NL80211_STA_INFO_AIRTIME_WEIGHT = C.NL80211_STA_INFO_AIRTIME_WEIGHT
5269 NL80211_STA_INFO_ASSOC_AT_BOOTTIME = C.NL80211_STA_INFO_ASSOC_AT_BOOTTIME
5270 NL80211_STA_INFO_BEACON_LOSS = C.NL80211_STA_INFO_BEACON_LOSS
5271 NL80211_STA_INFO_BEACON_RX = C.NL80211_STA_INFO_BEACON_RX
5272 NL80211_STA_INFO_BEACON_SIGNAL_AVG = C.NL80211_STA_INFO_BEACON_SIGNAL_AVG
5273 NL80211_STA_INFO_BSS_PARAM = C.NL80211_STA_INFO_BSS_PARAM
5274 NL80211_STA_INFO_CHAIN_SIGNAL_AVG = C.NL80211_STA_INFO_CHAIN_SIGNAL_AVG
5275 NL80211_STA_INFO_CHAIN_SIGNAL = C.NL80211_STA_INFO_CHAIN_SIGNAL
5276 NL80211_STA_INFO_CONNECTED_TIME = C.NL80211_STA_INFO_CONNECTED_TIME
5277 NL80211_STA_INFO_CONNECTED_TO_AS = C.NL80211_STA_INFO_CONNECTED_TO_AS
5278 NL80211_STA_INFO_CONNECTED_TO_GATE = C.NL80211_STA_INFO_CONNECTED_TO_GATE
5279 NL80211_STA_INFO_DATA_ACK_SIGNAL_AVG = C.NL80211_STA_INFO_DATA_ACK_SIGNAL_AVG
5280 NL80211_STA_INFO_EXPECTED_THROUGHPUT = C.NL80211_STA_INFO_EXPECTED_THROUGHPUT
5281 NL80211_STA_INFO_FCS_ERROR_COUNT = C.NL80211_STA_INFO_FCS_ERROR_COUNT
5282 NL80211_STA_INFO_INACTIVE_TIME = C.NL80211_STA_INFO_INACTIVE_TIME
5283 NL80211_STA_INFO_LLID = C.NL80211_STA_INFO_LLID
5284 NL80211_STA_INFO_LOCAL_PM = C.NL80211_STA_INFO_LOCAL_PM
5285 NL80211_STA_INFO_MAX = C.NL80211_STA_INFO_MAX
5286 NL80211_STA_INFO_NONPEER_PM = C.NL80211_STA_INFO_NONPEER_PM
5287 NL80211_STA_INFO_PAD = C.NL80211_STA_INFO_PAD
5288 NL80211_STA_INFO_PEER_PM = C.NL80211_STA_INFO_PEER_PM
5289 NL80211_STA_INFO_PLID = C.NL80211_STA_INFO_PLID
5290 NL80211_STA_INFO_PLINK_STATE = C.NL80211_STA_INFO_PLINK_STATE
5291 NL80211_STA_INFO_RX_BITRATE = C.NL80211_STA_INFO_RX_BITRATE
5292 NL80211_STA_INFO_RX_BYTES64 = C.NL80211_STA_INFO_RX_BYTES64
5293 NL80211_STA_INFO_RX_BYTES = C.NL80211_STA_INFO_RX_BYTES
5294 NL80211_STA_INFO_RX_DROP_MISC = C.NL80211_STA_INFO_RX_DROP_MISC
5295 NL80211_STA_INFO_RX_DURATION = C.NL80211_STA_INFO_RX_DURATION
5296 NL80211_STA_INFO_RX_MPDUS = C.NL80211_STA_INFO_RX_MPDUS
5297 NL80211_STA_INFO_RX_PACKETS = C.NL80211_STA_INFO_RX_PACKETS
5298 NL80211_STA_INFO_SIGNAL_AVG = C.NL80211_STA_INFO_SIGNAL_AVG
5299 NL80211_STA_INFO_SIGNAL = C.NL80211_STA_INFO_SIGNAL
5300 NL80211_STA_INFO_STA_FLAGS = C.NL80211_STA_INFO_STA_FLAGS
5301 NL80211_STA_INFO_TID_STATS = C.NL80211_STA_INFO_TID_STATS
5302 NL80211_STA_INFO_T_OFFSET = C.NL80211_STA_INFO_T_OFFSET
5303 NL80211_STA_INFO_TX_BITRATE = C.NL80211_STA_INFO_TX_BITRATE
5304 NL80211_STA_INFO_TX_BYTES64 = C.NL80211_STA_INFO_TX_BYTES64
5305 NL80211_STA_INFO_TX_BYTES = C.NL80211_STA_INFO_TX_BYTES
5306 NL80211_STA_INFO_TX_DURATION = C.NL80211_STA_INFO_TX_DURATION
5307 NL80211_STA_INFO_TX_FAILED = C.NL80211_STA_INFO_TX_FAILED
5308 NL80211_STA_INFO_TX_PACKETS = C.NL80211_STA_INFO_TX_PACKETS
5309 NL80211_STA_INFO_TX_RETRIES = C.NL80211_STA_INFO_TX_RETRIES
5310 NL80211_STA_WME_MAX = C.NL80211_STA_WME_MAX
5311 NL80211_STA_WME_MAX_SP = C.NL80211_STA_WME_MAX_SP
5312 NL80211_STA_WME_UAPSD_QUEUES = C.NL80211_STA_WME_UAPSD_QUEUES
5313 NL80211_SURVEY_INFO_CHANNEL_TIME_BUSY = C.NL80211_SURVEY_INFO_CHANNEL_TIME_BUSY
5314 NL80211_SURVEY_INFO_CHANNEL_TIME = C.NL80211_SURVEY_INFO_CHANNEL_TIME
5315 NL80211_SURVEY_INFO_CHANNEL_TIME_EXT_BUSY = C.NL80211_SURVEY_INFO_CHANNEL_TIME_EXT_BUSY
5316 NL80211_SURVEY_INFO_CHANNEL_TIME_RX = C.NL80211_SURVEY_INFO_CHANNEL_TIME_RX
5317 NL80211_SURVEY_INFO_CHANNEL_TIME_TX = C.NL80211_SURVEY_INFO_CHANNEL_TIME_TX
5318 NL80211_SURVEY_INFO_FREQUENCY = C.NL80211_SURVEY_INFO_FREQUENCY
5319 NL80211_SURVEY_INFO_FREQUENCY_OFFSET = C.NL80211_SURVEY_INFO_FREQUENCY_OFFSET
5320 NL80211_SURVEY_INFO_IN_USE = C.NL80211_SURVEY_INFO_IN_USE
5321 NL80211_SURVEY_INFO_MAX = C.NL80211_SURVEY_INFO_MAX
5322 NL80211_SURVEY_INFO_NOISE = C.NL80211_SURVEY_INFO_NOISE
5323 NL80211_SURVEY_INFO_PAD = C.NL80211_SURVEY_INFO_PAD
5324 NL80211_SURVEY_INFO_TIME_BSS_RX = C.NL80211_SURVEY_INFO_TIME_BSS_RX
5325 NL80211_SURVEY_INFO_TIME_BUSY = C.NL80211_SURVEY_INFO_TIME_BUSY
5326 NL80211_SURVEY_INFO_TIME = C.NL80211_SURVEY_INFO_TIME
5327 NL80211_SURVEY_INFO_TIME_EXT_BUSY = C.NL80211_SURVEY_INFO_TIME_EXT_BUSY
5328 NL80211_SURVEY_INFO_TIME_RX = C.NL80211_SURVEY_INFO_TIME_RX
5329 NL80211_SURVEY_INFO_TIME_SCAN = C.NL80211_SURVEY_INFO_TIME_SCAN
5330 NL80211_SURVEY_INFO_TIME_TX = C.NL80211_SURVEY_INFO_TIME_TX
5331 NL80211_TDLS_DISABLE_LINK = C.NL80211_TDLS_DISABLE_LINK
5332 NL80211_TDLS_DISCOVERY_REQ = C.NL80211_TDLS_DISCOVERY_REQ
5333 NL80211_TDLS_ENABLE_LINK = C.NL80211_TDLS_ENABLE_LINK
5334 NL80211_TDLS_PEER_HE = C.NL80211_TDLS_PEER_HE
5335 NL80211_TDLS_PEER_HT = C.NL80211_TDLS_PEER_HT
5336 NL80211_TDLS_PEER_VHT = C.NL80211_TDLS_PEER_VHT
5337 NL80211_TDLS_PEER_WMM = C.NL80211_TDLS_PEER_WMM
5338 NL80211_TDLS_SETUP = C.NL80211_TDLS_SETUP
5339 NL80211_TDLS_TEARDOWN = C.NL80211_TDLS_TEARDOWN
5340 NL80211_TID_CONFIG_ATTR_AMPDU_CTRL = C.NL80211_TID_CONFIG_ATTR_AMPDU_CTRL
5341 NL80211_TID_CONFIG_ATTR_AMSDU_CTRL = C.NL80211_TID_CONFIG_ATTR_AMSDU_CTRL
5342 NL80211_TID_CONFIG_ATTR_MAX = C.NL80211_TID_CONFIG_ATTR_MAX
5343 NL80211_TID_CONFIG_ATTR_NOACK = C.NL80211_TID_CONFIG_ATTR_NOACK
5344 NL80211_TID_CONFIG_ATTR_OVERRIDE = C.NL80211_TID_CONFIG_ATTR_OVERRIDE
5345 NL80211_TID_CONFIG_ATTR_PAD = C.NL80211_TID_CONFIG_ATTR_PAD
5346 NL80211_TID_CONFIG_ATTR_PEER_SUPP = C.NL80211_TID_CONFIG_ATTR_PEER_SUPP
5347 NL80211_TID_CONFIG_ATTR_RETRY_LONG = C.NL80211_TID_CONFIG_ATTR_RETRY_LONG
5348 NL80211_TID_CONFIG_ATTR_RETRY_SHORT = C.NL80211_TID_CONFIG_ATTR_RETRY_SHORT
5349 NL80211_TID_CONFIG_ATTR_RTSCTS_CTRL = C.NL80211_TID_CONFIG_ATTR_RTSCTS_CTRL
5350 NL80211_TID_CONFIG_ATTR_TIDS = C.NL80211_TID_CONFIG_ATTR_TIDS
5351 NL80211_TID_CONFIG_ATTR_TX_RATE = C.NL80211_TID_CONFIG_ATTR_TX_RATE
5352 NL80211_TID_CONFIG_ATTR_TX_RATE_TYPE = C.NL80211_TID_CONFIG_ATTR_TX_RATE_TYPE
5353 NL80211_TID_CONFIG_ATTR_VIF_SUPP = C.NL80211_TID_CONFIG_ATTR_VIF_SUPP
5354 NL80211_TID_CONFIG_DISABLE = C.NL80211_TID_CONFIG_DISABLE
5355 NL80211_TID_CONFIG_ENABLE = C.NL80211_TID_CONFIG_ENABLE
5356 NL80211_TID_STATS_MAX = C.NL80211_TID_STATS_MAX
5357 NL80211_TID_STATS_PAD = C.NL80211_TID_STATS_PAD
5358 NL80211_TID_STATS_RX_MSDU = C.NL80211_TID_STATS_RX_MSDU
5359 NL80211_TID_STATS_TX_MSDU = C.NL80211_TID_STATS_TX_MSDU
5360 NL80211_TID_STATS_TX_MSDU_FAILED = C.NL80211_TID_STATS_TX_MSDU_FAILED
5361 NL80211_TID_STATS_TX_MSDU_RETRIES = C.NL80211_TID_STATS_TX_MSDU_RETRIES
5362 NL80211_TID_STATS_TXQ_STATS = C.NL80211_TID_STATS_TXQ_STATS
5363 NL80211_TIMEOUT_ASSOC = C.NL80211_TIMEOUT_ASSOC
5364 NL80211_TIMEOUT_AUTH = C.NL80211_TIMEOUT_AUTH
5365 NL80211_TIMEOUT_SCAN = C.NL80211_TIMEOUT_SCAN
5366 NL80211_TIMEOUT_UNSPECIFIED = C.NL80211_TIMEOUT_UNSPECIFIED
5367 NL80211_TKIP_DATA_OFFSET_ENCR_KEY = C.NL80211_TKIP_DATA_OFFSET_ENCR_KEY
5368 NL80211_TKIP_DATA_OFFSET_RX_MIC_KEY = C.NL80211_TKIP_DATA_OFFSET_RX_MIC_KEY
5369 NL80211_TKIP_DATA_OFFSET_TX_MIC_KEY = C.NL80211_TKIP_DATA_OFFSET_TX_MIC_KEY
5370 NL80211_TX_POWER_AUTOMATIC = C.NL80211_TX_POWER_AUTOMATIC
5371 NL80211_TX_POWER_FIXED = C.NL80211_TX_POWER_FIXED
5372 NL80211_TX_POWER_LIMITED = C.NL80211_TX_POWER_LIMITED
5373 NL80211_TXQ_ATTR_AC = C.NL80211_TXQ_ATTR_AC
5374 NL80211_TXQ_ATTR_AIFS = C.NL80211_TXQ_ATTR_AIFS
5375 NL80211_TXQ_ATTR_CWMAX = C.NL80211_TXQ_ATTR_CWMAX
5376 NL80211_TXQ_ATTR_CWMIN = C.NL80211_TXQ_ATTR_CWMIN
5377 NL80211_TXQ_ATTR_MAX = C.NL80211_TXQ_ATTR_MAX
5378 NL80211_TXQ_ATTR_QUEUE = C.NL80211_TXQ_ATTR_QUEUE
5379 NL80211_TXQ_ATTR_TXOP = C.NL80211_TXQ_ATTR_TXOP
5380 NL80211_TXQ_Q_BE = C.NL80211_TXQ_Q_BE
5381 NL80211_TXQ_Q_BK = C.NL80211_TXQ_Q_BK
5382 NL80211_TXQ_Q_VI = C.NL80211_TXQ_Q_VI
5383 NL80211_TXQ_Q_VO = C.NL80211_TXQ_Q_VO
5384 NL80211_TXQ_STATS_BACKLOG_BYTES = C.NL80211_TXQ_STATS_BACKLOG_BYTES
5385 NL80211_TXQ_STATS_BACKLOG_PACKETS = C.NL80211_TXQ_STATS_BACKLOG_PACKETS
5386 NL80211_TXQ_STATS_COLLISIONS = C.NL80211_TXQ_STATS_COLLISIONS
5387 NL80211_TXQ_STATS_DROPS = C.NL80211_TXQ_STATS_DROPS
5388 NL80211_TXQ_STATS_ECN_MARKS = C.NL80211_TXQ_STATS_ECN_MARKS
5389 NL80211_TXQ_STATS_FLOWS = C.NL80211_TXQ_STATS_FLOWS
5390 NL80211_TXQ_STATS_MAX = C.NL80211_TXQ_STATS_MAX
5391 NL80211_TXQ_STATS_MAX_FLOWS = C.NL80211_TXQ_STATS_MAX_FLOWS
5392 NL80211_TXQ_STATS_OVERLIMIT = C.NL80211_TXQ_STATS_OVERLIMIT
5393 NL80211_TXQ_STATS_OVERMEMORY = C.NL80211_TXQ_STATS_OVERMEMORY
5394 NL80211_TXQ_STATS_TX_BYTES = C.NL80211_TXQ_STATS_TX_BYTES
5395 NL80211_TXQ_STATS_TX_PACKETS = C.NL80211_TXQ_STATS_TX_PACKETS
5396 NL80211_TX_RATE_AUTOMATIC = C.NL80211_TX_RATE_AUTOMATIC
5397 NL80211_TXRATE_DEFAULT_GI = C.NL80211_TXRATE_DEFAULT_GI
5398 NL80211_TX_RATE_FIXED = C.NL80211_TX_RATE_FIXED
5399 NL80211_TXRATE_FORCE_LGI = C.NL80211_TXRATE_FORCE_LGI
5400 NL80211_TXRATE_FORCE_SGI = C.NL80211_TXRATE_FORCE_SGI
5401 NL80211_TXRATE_GI = C.NL80211_TXRATE_GI
5402 NL80211_TXRATE_HE = C.NL80211_TXRATE_HE
5403 NL80211_TXRATE_HE_GI = C.NL80211_TXRATE_HE_GI
5404 NL80211_TXRATE_HE_LTF = C.NL80211_TXRATE_HE_LTF
5405 NL80211_TXRATE_HT = C.NL80211_TXRATE_HT
5406 NL80211_TXRATE_LEGACY = C.NL80211_TXRATE_LEGACY
5407 NL80211_TX_RATE_LIMITED = C.NL80211_TX_RATE_LIMITED
5408 NL80211_TXRATE_MAX = C.NL80211_TXRATE_MAX
5409 NL80211_TXRATE_MCS = C.NL80211_TXRATE_MCS
5410 NL80211_TXRATE_VHT = C.NL80211_TXRATE_VHT
5411 NL80211_UNSOL_BCAST_PROBE_RESP_ATTR_INT = C.NL80211_UNSOL_BCAST_PROBE_RESP_ATTR_INT
5412 NL80211_UNSOL_BCAST_PROBE_RESP_ATTR_MAX = C.NL80211_UNSOL_BCAST_PROBE_RESP_ATTR_MAX
5413 NL80211_UNSOL_BCAST_PROBE_RESP_ATTR_TMPL = C.NL80211_UNSOL_BCAST_PROBE_RESP_ATTR_TMPL
5414 NL80211_USER_REG_HINT_CELL_BASE = C.NL80211_USER_REG_HINT_CELL_BASE
5415 NL80211_USER_REG_HINT_INDOOR = C.NL80211_USER_REG_HINT_INDOOR
5416 NL80211_USER_REG_HINT_USER = C.NL80211_USER_REG_HINT_USER
5417 NL80211_VENDOR_ID_IS_LINUX = C.NL80211_VENDOR_ID_IS_LINUX
5418 NL80211_VHT_CAPABILITY_LEN = C.NL80211_VHT_CAPABILITY_LEN
5419 NL80211_VHT_NSS_MAX = C.NL80211_VHT_NSS_MAX
5420 NL80211_WIPHY_NAME_MAXLEN = C.NL80211_WIPHY_NAME_MAXLEN
5421 NL80211_WMMR_AIFSN = C.NL80211_WMMR_AIFSN
5422 NL80211_WMMR_CW_MAX = C.NL80211_WMMR_CW_MAX
5423 NL80211_WMMR_CW_MIN = C.NL80211_WMMR_CW_MIN
5424 NL80211_WMMR_MAX = C.NL80211_WMMR_MAX
5425 NL80211_WMMR_TXOP = C.NL80211_WMMR_TXOP
5426 NL80211_WOWLAN_PKTPAT_MASK = C.NL80211_WOWLAN_PKTPAT_MASK
5427 NL80211_WOWLAN_PKTPAT_OFFSET = C.NL80211_WOWLAN_PKTPAT_OFFSET
5428 NL80211_WOWLAN_PKTPAT_PATTERN = C.NL80211_WOWLAN_PKTPAT_PATTERN
5429 NL80211_WOWLAN_TCP_DATA_INTERVAL = C.NL80211_WOWLAN_TCP_DATA_INTERVAL
5430 NL80211_WOWLAN_TCP_DATA_PAYLOAD = C.NL80211_WOWLAN_TCP_DATA_PAYLOAD
5431 NL80211_WOWLAN_TCP_DATA_PAYLOAD_SEQ = C.NL80211_WOWLAN_TCP_DATA_PAYLOAD_SEQ
5432 NL80211_WOWLAN_TCP_DATA_PAYLOAD_TOKEN = C.NL80211_WOWLAN_TCP_DATA_PAYLOAD_TOKEN
5433 NL80211_WOWLAN_TCP_DST_IPV4 = C.NL80211_WOWLAN_TCP_DST_IPV4
5434 NL80211_WOWLAN_TCP_DST_MAC = C.NL80211_WOWLAN_TCP_DST_MAC
5435 NL80211_WOWLAN_TCP_DST_PORT = C.NL80211_WOWLAN_TCP_DST_PORT
5436 NL80211_WOWLAN_TCP_SRC_IPV4 = C.NL80211_WOWLAN_TCP_SRC_IPV4
5437 NL80211_WOWLAN_TCP_SRC_PORT = C.NL80211_WOWLAN_TCP_SRC_PORT
5438 NL80211_WOWLAN_TCP_WAKE_MASK = C.NL80211_WOWLAN_TCP_WAKE_MASK
5439 NL80211_WOWLAN_TCP_WAKE_PAYLOAD = C.NL80211_WOWLAN_TCP_WAKE_PAYLOAD
5440 NL80211_WOWLAN_TRIG_4WAY_HANDSHAKE = C.NL80211_WOWLAN_TRIG_4WAY_HANDSHAKE
5441 NL80211_WOWLAN_TRIG_ANY = C.NL80211_WOWLAN_TRIG_ANY
5442 NL80211_WOWLAN_TRIG_DISCONNECT = C.NL80211_WOWLAN_TRIG_DISCONNECT
5443 NL80211_WOWLAN_TRIG_EAP_IDENT_REQUEST = C.NL80211_WOWLAN_TRIG_EAP_IDENT_REQUEST
5444 NL80211_WOWLAN_TRIG_GTK_REKEY_FAILURE = C.NL80211_WOWLAN_TRIG_GTK_REKEY_FAILURE
5445 NL80211_WOWLAN_TRIG_GTK_REKEY_SUPPORTED = C.NL80211_WOWLAN_TRIG_GTK_REKEY_SUPPORTED
5446 NL80211_WOWLAN_TRIG_MAGIC_PKT = C.NL80211_WOWLAN_TRIG_MAGIC_PKT
5447 NL80211_WOWLAN_TRIG_NET_DETECT = C.NL80211_WOWLAN_TRIG_NET_DETECT
5448 NL80211_WOWLAN_TRIG_NET_DETECT_RESULTS = C.NL80211_WOWLAN_TRIG_NET_DETECT_RESULTS
5449 NL80211_WOWLAN_TRIG_PKT_PATTERN = C.NL80211_WOWLAN_TRIG_PKT_PATTERN
5450 NL80211_WOWLAN_TRIG_RFKILL_RELEASE = C.NL80211_WOWLAN_TRIG_RFKILL_RELEASE
5451 NL80211_WOWLAN_TRIG_TCP_CONNECTION = C.NL80211_WOWLAN_TRIG_TCP_CONNECTION
5452 NL80211_WOWLAN_TRIG_WAKEUP_PKT_80211 = C.NL80211_WOWLAN_TRIG_WAKEUP_PKT_80211
5453 NL80211_WOWLAN_TRIG_WAKEUP_PKT_80211_LEN = C.NL80211_WOWLAN_TRIG_WAKEUP_PKT_80211_LEN
5454 NL80211_WOWLAN_TRIG_WAKEUP_PKT_8023 = C.NL80211_WOWLAN_TRIG_WAKEUP_PKT_8023
5455 NL80211_WOWLAN_TRIG_WAKEUP_PKT_8023_LEN = C.NL80211_WOWLAN_TRIG_WAKEUP_PKT_8023_LEN
5456 NL80211_WOWLAN_TRIG_WAKEUP_TCP_CONNLOST = C.NL80211_WOWLAN_TRIG_WAKEUP_TCP_CONNLOST
5457 NL80211_WOWLAN_TRIG_WAKEUP_TCP_MATCH = C.NL80211_WOWLAN_TRIG_WAKEUP_TCP_MATCH
5458 NL80211_WOWLAN_TRIG_WAKEUP_TCP_NOMORETOKENS = C.NL80211_WOWLAN_TRIG_WAKEUP_TCP_NOMORETOKENS
5459 NL80211_WPA_VERSION_1 = C.NL80211_WPA_VERSION_1
5460 NL80211_WPA_VERSION_2 = C.NL80211_WPA_VERSION_2
5461 NL80211_WPA_VERSION_3 = C.NL80211_WPA_VERSION_3
5462 )
5463
5464 // generated by:
5465 // perl -nlE '/^\s*((FR_ACT|FRA)_\w+)/ && say "$1 = C.$1"' include/uapi/linux/fib_rules.h
5466 const (
5467 FRA_UNSPEC = C.FRA_UNSPEC
5468 FRA_DST = C.FRA_DST
5469 FRA_SRC = C.FRA_SRC
5470 FRA_IIFNAME = C.FRA_IIFNAME
5471 FRA_GOTO = C.FRA_GOTO
5472 FRA_UNUSED2 = C.FRA_UNUSED2
5473 FRA_PRIORITY = C.FRA_PRIORITY
5474 FRA_UNUSED3 = C.FRA_UNUSED3
5475 FRA_UNUSED4 = C.FRA_UNUSED4
5476 FRA_UNUSED5 = C.FRA_UNUSED5
5477 FRA_FWMARK = C.FRA_FWMARK
5478 FRA_FLOW = C.FRA_FLOW
5479 FRA_TUN_ID = C.FRA_TUN_ID
5480 FRA_SUPPRESS_IFGROUP = C.FRA_SUPPRESS_IFGROUP
5481 FRA_SUPPRESS_PREFIXLEN = C.FRA_SUPPRESS_PREFIXLEN
5482 FRA_TABLE = C.FRA_TABLE
5483 FRA_FWMASK = C.FRA_FWMASK
5484 FRA_OIFNAME = C.FRA_OIFNAME
5485 FRA_PAD = C.FRA_PAD
5486 FRA_L3MDEV = C.FRA_L3MDEV
5487 FRA_UID_RANGE = C.FRA_UID_RANGE
5488 FRA_PROTOCOL = C.FRA_PROTOCOL
5489 FRA_IP_PROTO = C.FRA_IP_PROTO
5490 FRA_SPORT_RANGE = C.FRA_SPORT_RANGE
5491 FRA_DPORT_RANGE = C.FRA_DPORT_RANGE
5492 FR_ACT_UNSPEC = C.FR_ACT_UNSPEC
5493 FR_ACT_TO_TBL = C.FR_ACT_TO_TBL
5494 FR_ACT_GOTO = C.FR_ACT_GOTO
5495 FR_ACT_NOP = C.FR_ACT_NOP
5496 FR_ACT_RES3 = C.FR_ACT_RES3
5497 FR_ACT_RES4 = C.FR_ACT_RES4
5498 FR_ACT_BLACKHOLE = C.FR_ACT_BLACKHOLE
5499 FR_ACT_UNREACHABLE = C.FR_ACT_UNREACHABLE
5500 FR_ACT_PROHIBIT = C.FR_ACT_PROHIBIT
5501 )
204204 #include <linux/bpf.h>
205205 #include <linux/can.h>
206206 #include <linux/can/error.h>
207 #include <linux/can/netlink.h>
207208 #include <linux/can/raw.h>
208209 #include <linux/capability.h>
209210 #include <linux/cryptouser.h>
213214 #include <linux/ethtool_netlink.h>
214215 #include <linux/falloc.h>
215216 #include <linux/fanotify.h>
217 #include <linux/fib_rules.h>
216218 #include <linux/filter.h>
217219 #include <linux/fs.h>
218220 #include <linux/fscrypt.h>
230232 #include <linux/if_packet.h>
231233 #include <linux/if_xdp.h>
232234 #include <linux/input.h>
235 #include <linux/kcm.h>
233236 #include <linux/kexec.h>
234237 #include <linux/keyctl.h>
235238 #include <linux/landlock.h>
502505 $2 ~ /^O?XTABS$/ ||
503506 $2 ~ /^TC[IO](ON|OFF)$/ ||
504507 $2 ~ /^IN_/ ||
508 $2 ~ /^KCM/ ||
505509 $2 ~ /^LANDLOCK_/ ||
506510 $2 ~ /^LOCK_(SH|EX|NB|UN)$/ ||
507511 $2 ~ /^LO_(KEY|NAME)_SIZE$/ ||
596600 $2 ~ /^DEVLINK_/ ||
597601 $2 ~ /^ETHTOOL_/ ||
598602 $2 ~ /^LWTUNNEL_IP/ ||
603 $2 ~ /^ITIMER_/ ||
599604 $2 !~ "WMESGLEN" &&
600605 $2 ~ /^W[A-Z0-9]+$/ ||
606 $2 ~ /^P_/ ||
601607 $2 ~/^PPPIOC/ ||
602608 $2 ~ /^FAN_|FANOTIFY_/ ||
603609 $2 == "HID_MAX_DESCRIPTOR_SIZE" ||
607613 $2 ~ /^OTP/ ||
608614 $2 ~ /^MEM/ ||
609615 $2 ~ /^WG/ ||
616 $2 ~ /^FIB_RULE_/ ||
610617 $2 ~ /^BLK[A-Z]*(GET$|SET$|BUF$|PART$|SIZE)/ {printf("\t%s = C.%s\n", $2, $2)}
611618 $2 ~ /^__WCOREFLAG$/ {next}
612619 $2 ~ /^__W[A-Z0-9]+$/ {printf("\t%s = C.%s\n", substr($2,3), $2)}
214214 return
215215 }
216216
217 func Recvmsg(fd int, p, oob []byte, flags int) (n, oobn int, recvflags int, from Sockaddr, err error) {
217 func recvmsgRaw(fd int, p, oob []byte, flags int, rsa *RawSockaddrAny) (n, oobn int, recvflags int, err error) {
218218 // Recvmsg not implemented on AIX
219 sa := new(SockaddrUnix)
220 return -1, -1, -1, sa, ENOSYS
221 }
222
223 func Sendmsg(fd int, p, oob []byte, to Sockaddr, flags int) (err error) {
224 _, err = SendmsgN(fd, p, oob, to, flags)
225 return
226 }
227
228 func SendmsgN(fd int, p, oob []byte, to Sockaddr, flags int) (n int, err error) {
219 return -1, -1, -1, ENOSYS
220 }
221
222 func sendmsgN(fd int, p, oob []byte, ptr unsafe.Pointer, salen _Socklen, flags int) (n int, err error) {
229223 // SendmsgN not implemented on AIX
230224 return -1, ENOSYS
231225 }
457451 //sys Listen(s int, n int) (err error)
458452 //sys lstat(path string, stat *Stat_t) (err error)
459453 //sys Pause() (err error)
460 //sys Pread(fd int, p []byte, offset int64) (n int, err error) = pread64
461 //sys Pwrite(fd int, p []byte, offset int64) (n int, err error) = pwrite64
454 //sys pread(fd int, p []byte, offset int64) (n int, err error) = pread64
455 //sys pwrite(fd int, p []byte, offset int64) (n int, err error) = pwrite64
462456 //sys Select(nfd int, r *FdSet, w *FdSet, e *FdSet, timeout *Timeval) (n int, err error)
463457 //sys Pselect(nfd int, r *FdSet, w *FdSet, e *FdSet, timeout *Timespec, sigmask *Sigset_t) (n int, err error)
464458 //sysnb Setregid(rgid int, egid int) (err error)
324324 //sys sendto(s int, buf []byte, flags int, to unsafe.Pointer, addrlen _Socklen) (err error)
325325 //sys recvmsg(s int, msg *Msghdr, flags int) (n int, err error)
326326
327 func Recvmsg(fd int, p, oob []byte, flags int) (n, oobn int, recvflags int, from Sockaddr, err error) {
327 func recvmsgRaw(fd int, p, oob []byte, flags int, rsa *RawSockaddrAny) (n, oobn int, recvflags int, err error) {
328328 var msg Msghdr
329 var rsa RawSockaddrAny
330 msg.Name = (*byte)(unsafe.Pointer(&rsa))
329 msg.Name = (*byte)(unsafe.Pointer(rsa))
331330 msg.Namelen = uint32(SizeofSockaddrAny)
332331 var iov Iovec
333332 if len(p) > 0 {
351350 }
352351 oobn = int(msg.Controllen)
353352 recvflags = int(msg.Flags)
354 // source address is only specified if the socket is unconnected
355 if rsa.Addr.Family != AF_UNSPEC {
356 from, err = anyToSockaddr(fd, &rsa)
357 }
358353 return
359354 }
360355
361356 //sys sendmsg(s int, msg *Msghdr, flags int) (n int, err error)
362357
363 func Sendmsg(fd int, p, oob []byte, to Sockaddr, flags int) (err error) {
364 _, err = SendmsgN(fd, p, oob, to, flags)
365 return
366 }
367
368 func SendmsgN(fd int, p, oob []byte, to Sockaddr, flags int) (n int, err error) {
369 var ptr unsafe.Pointer
370 var salen _Socklen
371 if to != nil {
372 ptr, salen, err = to.sockaddr()
373 if err != nil {
374 return 0, err
375 }
376 }
358 func sendmsgN(fd int, p, oob []byte, ptr unsafe.Pointer, salen _Socklen, flags int) (n int, err error) {
377359 var msg Msghdr
378360 msg.Name = (*byte)(unsafe.Pointer(ptr))
379361 msg.Namelen = uint32(salen)
570552 if len(ts) != 2 {
571553 return EINVAL
572554 }
573 // Darwin setattrlist can set nanosecond timestamps
574 err := setattrlistTimes(path, ts, 0)
575 if err != ENOSYS {
576 return err
577 }
578 err = utimensat(AT_FDCWD, path, (*[2]Timespec)(unsafe.Pointer(&ts[0])), 0)
555 err := utimensat(AT_FDCWD, path, (*[2]Timespec)(unsafe.Pointer(&ts[0])), 0)
579556 if err != ENOSYS {
580557 return err
581558 }
594571 }
595572 if len(ts) != 2 {
596573 return EINVAL
597 }
598 err := setattrlistTimes(path, ts, flags)
599 if err != ENOSYS {
600 return err
601574 }
602575 return utimensat(dirfd, path, (*[2]Timespec)(unsafe.Pointer(&ts[0])), flags)
603576 }
11 // Use of this source code is governed by a BSD-style
22 // license that can be found in the LICENSE file.
33
4 //go:build darwin || dragonfly || freebsd || openbsd
5 // +build darwin dragonfly freebsd openbsd
4 //go:build darwin || dragonfly || freebsd || netbsd || openbsd
5 // +build darwin dragonfly freebsd netbsd openbsd
66
77 package unix_test
88
99 import (
10 "os/exec"
1110 "runtime"
1211 "testing"
1312 "time"
1514 "golang.org/x/sys/unix"
1615 )
1716
18 func TestGetfsstat(t *testing.T) {
19 n, err := unix.Getfsstat(nil, unix.MNT_NOWAIT)
20 if err != nil {
21 t.Fatal(err)
22 }
23
24 data := make([]unix.Statfs_t, n)
25 n2, err := unix.Getfsstat(data, unix.MNT_NOWAIT)
26 if err != nil {
27 t.Fatal(err)
28 }
29 if n != n2 {
30 t.Errorf("Getfsstat(nil) = %d, but subsequent Getfsstat(slice) = %d", n, n2)
31 }
32 for i, stat := range data {
33 if stat == (unix.Statfs_t{}) {
34 t.Errorf("index %v is an empty Statfs_t struct", i)
35 }
36 }
37 if t.Failed() {
38 for i, stat := range data[:n2] {
39 t.Logf("data[%v] = %+v", i, stat)
40 }
41 mount, err := exec.Command("mount").CombinedOutput()
42 if err != nil {
43 t.Logf("mount: %v\n%s", err, mount)
44 } else {
45 t.Logf("mount: %s", mount)
46 }
47 }
48 }
49
5017 func TestSysctlRaw(t *testing.T) {
51 if runtime.GOOS == "openbsd" {
52 t.Skip("kern.proc.pid does not exist on OpenBSD")
18 switch runtime.GOOS {
19 case "netbsd", "openbsd":
20 t.Skipf("kern.proc.pid does not exist on %s", runtime.GOOS)
5321 }
5422
5523 _, err := unix.SysctlRaw("kern.proc.pid", unix.Getpid())
139139
140140 func PtraceAttach(pid int) (err error) { return ptrace(PT_ATTACH, pid, 0, 0) }
141141 func PtraceDetach(pid int) (err error) { return ptrace(PT_DETACH, pid, 0, 0) }
142
143 type attrList struct {
144 bitmapCount uint16
145 _ uint16
146 CommonAttr uint32
147 VolAttr uint32
148 DirAttr uint32
149 FileAttr uint32
150 Forkattr uint32
151 }
152142
153143 //sysnb pipe(p *[2]int32) (err error)
154144
281271 return flistxattr(fd, xattrPointer(dest), len(dest), 0)
282272 }
283273
284 func setattrlistTimes(path string, times []Timespec, flags int) error {
285 _p0, err := BytePtrFromString(path)
286 if err != nil {
287 return err
288 }
289
290 var attrList attrList
291 attrList.bitmapCount = ATTR_BIT_MAP_COUNT
292 attrList.CommonAttr = ATTR_CMN_MODTIME | ATTR_CMN_ACCTIME
293
294 // order is mtime, atime: the opposite of Chtimes
295 attributes := [2]Timespec{times[1], times[0]}
296 options := 0
297 if flags&AT_SYMLINK_NOFOLLOW != 0 {
298 options |= FSOPT_NOFOLLOW
299 }
300 return setattrlist(
301 _p0,
302 unsafe.Pointer(&attrList),
303 unsafe.Pointer(&attributes),
304 unsafe.Sizeof(attributes),
305 options)
306 }
307
308 //sys setattrlist(path *byte, list unsafe.Pointer, buf unsafe.Pointer, size uintptr, options int) (err error)
309
310 func utimensat(dirfd int, path string, times *[2]Timespec, flags int) error {
311 // Darwin doesn't support SYS_UTIMENSAT
312 return ENOSYS
313 }
274 //sys utimensat(dirfd int, path string, times *[2]Timespec, flags int) (err error)
314275
315276 /*
316277 * Wrapped
545506 //sys Open(path string, mode int, perm uint32) (fd int, err error)
546507 //sys Openat(dirfd int, path string, mode int, perm uint32) (fd int, err error)
547508 //sys Pathconf(path string, name int) (val int, err error)
548 //sys Pread(fd int, p []byte, offset int64) (n int, err error)
549 //sys Pwrite(fd int, p []byte, offset int64) (n int, err error)
509 //sys pread(fd int, p []byte, offset int64) (n int, err error)
510 //sys pwrite(fd int, p []byte, offset int64) (n int, err error)
550511 //sys read(fd int, p []byte) (n int, err error)
551512 //sys Readlink(path string, buf []byte) (n int, err error)
552513 //sys Readlinkat(dirfd int, path string, buf []byte) (n int, err error)
124124 }
125125
126126 //sys extpread(fd int, p []byte, flags int, offset int64) (n int, err error)
127 func Pread(fd int, p []byte, offset int64) (n int, err error) {
127 func pread(fd int, p []byte, offset int64) (n int, err error) {
128128 return extpread(fd, p, 0, offset)
129129 }
130130
131131 //sys extpwrite(fd int, p []byte, flags int, offset int64) (n int, err error)
132 func Pwrite(fd int, p []byte, offset int64) (n int, err error) {
132 func pwrite(fd int, p []byte, offset int64) (n int, err error) {
133133 return extpwrite(fd, p, 0, offset)
134134 }
135135
166166 err = e1
167167 }
168168 return
169 }
170
171 func setattrlistTimes(path string, times []Timespec, flags int) error {
172 // used on Darwin for UtimesNano
173 return ENOSYS
174169 }
175170
176171 //sys ioctl(fd int, req uint, arg uintptr) (err error)
191191 }
192192 }
193193 return
194 }
195
196 func setattrlistTimes(path string, times []Timespec, flags int) error {
197 // used on Darwin for UtimesNano
198 return ENOSYS
199194 }
200195
201196 //sys ioctl(fd int, req uint, arg uintptr) (err error)
637632 //sys Open(path string, mode int, perm uint32) (fd int, err error)
638633 //sys Openat(fdat int, path string, mode int, perm uint32) (fd int, err error)
639634 //sys Pathconf(path string, name int) (val int, err error)
640 //sys Pread(fd int, p []byte, offset int64) (n int, err error)
641 //sys Pwrite(fd int, p []byte, offset int64) (n int, err error)
635 //sys pread(fd int, p []byte, offset int64) (n int, err error)
636 //sys pwrite(fd int, p []byte, offset int64) (n int, err error)
642637 //sys read(fd int, p []byte) (n int, err error)
643638 //sys Readlink(path string, buf []byte) (n int, err error)
644639 //sys Readlinkat(dirfd int, path string, buf []byte) (n int, err error)
220220 panic(fmt.Sprintf("CapRightsIsSet failed: %s %#v", err, err))
221221 }
222222 if !b {
223 panic(fmt.Sprintf("Unexpected rights"))
223 panic("Unexpected rights")
224224 }
225225 b, err = unix.CapRightsIsSet(r, []uint64{unix.CAP_READ, unix.CAP_LOOKUP, unix.CAP_WRITE})
226226 if err != nil {
227227 panic(fmt.Sprintf("CapRightsIsSet failed: %s %#v", err, err))
228228 }
229229 if b {
230 panic(fmt.Sprintf("Unexpected rights (2)"))
230 panic("Unexpected rights (2)")
231231 }
232232
233233 // Can no longer create a file
0 // Copyright 2022 The Go Authors. All rights reserved.
1 // Use of this source code is governed by a BSD-style
2 // license that can be found in the LICENSE file.
3
4 //go:build solaris
5 // +build solaris
6
7 package unix
8
9 import (
10 "fmt"
11 "os"
12 "runtime"
13 "testing"
14 )
15
16 func (e *EventPort) checkInternals(t *testing.T, fds, paths, cookies, pending int) {
17 t.Helper()
18 p, err := e.Pending()
19 if err != nil {
20 t.Fatalf("failed to query how many events are pending")
21 }
22 if len(e.fds) != fds || len(e.paths) != paths || len(e.cookies) != cookies || p != pending {
23 format := "| fds: %d | paths: %d | cookies: %d | pending: %d |"
24 expected := fmt.Sprintf(format, fds, paths, cookies, pending)
25 got := fmt.Sprintf(format, len(e.fds), len(e.paths), len(e.cookies), p)
26 t.Errorf("Internal state mismatch\nfound: %s\nexpected: %s", got, expected)
27 }
28 }
29
30 // Regression test for DissociatePath returning ENOENT
31 // This test is intended to create a linear worst
32 // case scenario of events being associated and
33 // fired but not consumed before additional
34 // calls to dissociate and associate happen
35 // This needs to be an internal test so that
36 // we can validate the state of the private maps
37 func TestEventPortDissociateAlreadyGone(t *testing.T) {
38 port, err := NewEventPort()
39 if err != nil {
40 t.Fatalf("failed to create an EventPort")
41 }
42 defer port.Close()
43 dir := t.TempDir()
44 tmpfile, err := os.CreateTemp(dir, "eventport")
45 if err != nil {
46 t.Fatalf("unable to create a tempfile: %v", err)
47 }
48 path := tmpfile.Name()
49 stat, err := os.Stat(path)
50 if err != nil {
51 t.Fatalf("unexpected failure to Stat file: %v", err)
52 }
53 err = port.AssociatePath(path, stat, FILE_MODIFIED, "cookie1")
54 if err != nil {
55 t.Fatalf("unexpected failure associating file: %v", err)
56 }
57 // We should have 1 path registered and 1 cookie in the jar
58 port.checkInternals(t, 0, 1, 1, 0)
59 // The path is associated, let's delete it.
60 err = os.Remove(path)
61 if err != nil {
62 t.Fatalf("unexpected failure deleting file: %v", err)
63 }
64 // The file has been deleted, some sort of pending event is probably
65 // queued in the kernel waiting for us to get it AND the kernel is
66 // no longer watching for events on it. BUT... Because we haven't
67 // consumed the event, this API thinks it's still watched:
68 watched := port.PathIsWatched(path)
69 if !watched {
70 t.Errorf("unexpected result from PathIsWatched")
71 }
72 // Ok, let's dissociate the file even before reading the event.
73 // Oh, ENOENT. I guess it's not associated any more
74 err = port.DissociatePath(path)
75 if err != ENOENT {
76 t.Errorf("unexpected result dissociating a seemingly associated path we know isn't: %v", err)
77 }
78 // As established by the return value above, this should clearly be false now:
79 // Narrator voice: in the first version of this API, it wasn't.
80 watched = port.PathIsWatched(path)
81 if watched {
82 t.Errorf("definitively unwatched file still in the map")
83 }
84 // We should have nothing registered, but 1 pending event corresponding
85 // to the cookie in the jar
86 port.checkInternals(t, 0, 0, 1, 1)
87 f, err := os.OpenFile(path, os.O_WRONLY|os.O_CREATE, 0666)
88 if err != nil {
89 t.Fatalf("creating test file failed: %s", err)
90 }
91 err = f.Close()
92 if err != nil {
93 t.Fatalf("unexpected failure closing file: %v", err)
94 }
95 stat, err = os.Stat(path)
96 if err != nil {
97 t.Fatalf("unexpected failure to Stat file: %v", err)
98 }
99 c := "cookie2" // c is for cookie, that's good enough for me
100 err = port.AssociatePath(path, stat, FILE_MODIFIED, c)
101 if err != nil {
102 t.Errorf("unexpected failure associating file: %v", err)
103 }
104 // We should have 1 registered path and its cookie
105 // as well as a second cookie corresponding to the pending event
106 port.checkInternals(t, 0, 1, 2, 1)
107
108 // Fire another event
109 err = os.Remove(path)
110 if err != nil {
111 t.Fatalf("unexpected failure deleting file: %v", err)
112 }
113 port.checkInternals(t, 0, 1, 2, 2)
114 err = port.DissociatePath(path)
115 if err != ENOENT {
116 t.Errorf("unexpected result dissociating a seemingly associated path we know isn't: %v", err)
117 }
118 // By dissociating this path after deletion we ensure that the paths map is now empty
119 // If we're not careful we could trigger a nil pointer exception
120 port.checkInternals(t, 0, 0, 2, 2)
121
122 f, err = os.OpenFile(path, os.O_WRONLY|os.O_CREATE, 0666)
123 if err != nil {
124 t.Fatalf("creating test file failed: %s", err)
125 }
126 err = f.Close()
127 if err != nil {
128 t.Fatalf("unexpected failure closing file: %v", err)
129 }
130 stat, err = os.Stat(path)
131 if err != nil {
132 t.Fatalf("unexpected failure to Stat file: %v", err)
133 }
134 // Put a seemingly duplicate cookie in the jar to see if we can trigger an incorrect removal from the paths map
135 err = port.AssociatePath(path, stat, FILE_MODIFIED, c)
136 if err != nil {
137 t.Errorf("unexpected failure associating file: %v", err)
138 }
139 port.checkInternals(t, 0, 1, 3, 2)
140
141 // run the garbage collector so that if we messed up it should be painfully clear
142 runtime.GC()
143
144 // Before the fix, this would cause a nil pointer exception
145 e, err := port.GetOne(nil)
146 if err != nil {
147 t.Errorf("failed to get an event: %v", err)
148 }
149 port.checkInternals(t, 0, 1, 2, 1)
150 if e.Cookie != "cookie1" {
151 t.Errorf(`expected "cookie1", got "%v"`, e.Cookie)
152 }
153 // Make sure that a cookie of the same value doesn't cause removal from the paths map incorrectly
154 e, err = port.GetOne(nil)
155 if err != nil {
156 t.Errorf("failed to get an event: %v", err)
157 }
158 port.checkInternals(t, 0, 1, 1, 0)
159 if e.Cookie != "cookie2" {
160 t.Errorf(`expected "cookie2", got "%v"`, e.Cookie)
161 }
162
163 err = os.Remove(path)
164 if err != nil {
165 t.Fatalf("unexpected failure deleting file: %v", err)
166 }
167 // Event has fired, but until processed it should still be in the map
168 port.checkInternals(t, 0, 1, 1, 1)
169 e, err = port.GetOne(nil)
170 if err != nil {
171 t.Errorf("failed to get an event: %v", err)
172 }
173 if e.Cookie != "cookie2" {
174 t.Errorf(`expected "cookie2", got "%v"`, e.Cookie)
175 }
176 // The maps should be empty and there should be no pending events
177 port.checkInternals(t, 0, 0, 0, 0)
178 }
1313 import (
1414 "encoding/binary"
1515 "syscall"
16 "time"
1617 "unsafe"
1718 )
1819
248249 if n < 1 || n > len(buf) || buf[n-1] != 0 {
249250 return "", EINVAL
250251 }
252 // In some cases, Linux can return a path that starts with the
253 // "(unreachable)" prefix, which can potentially be a valid relative
254 // path. To work around that, return ENOENT if path is not absolute.
255 if buf[0] != '/' {
256 return "", ENOENT
257 }
258
251259 return string(buf[0 : n-1]), nil
252260 }
253261
356364 }
357365 return
358366 }
367
368 //sys Waitid(idType int, id int, info *Siginfo, options int, rusage *Rusage) (err error)
359369
360370 func Mkfifo(path string, mode uint32) error {
361371 return Mknod(path, mode|S_IFIFO, 0)
14881498 //sys keyctlRestrictKeyringByType(cmd int, arg2 int, keyType string, restriction string) (err error) = SYS_KEYCTL
14891499 //sys keyctlRestrictKeyring(cmd int, arg2 int) (err error) = SYS_KEYCTL
14901500
1491 func Recvmsg(fd int, p, oob []byte, flags int) (n, oobn int, recvflags int, from Sockaddr, err error) {
1501 func recvmsgRaw(fd int, p, oob []byte, flags int, rsa *RawSockaddrAny) (n, oobn int, recvflags int, err error) {
14921502 var msg Msghdr
1493 var rsa RawSockaddrAny
1494 msg.Name = (*byte)(unsafe.Pointer(&rsa))
1503 msg.Name = (*byte)(unsafe.Pointer(rsa))
14951504 msg.Namelen = uint32(SizeofSockaddrAny)
14961505 var iov Iovec
14971506 if len(p) > 0 {
15221531 }
15231532 oobn = int(msg.Controllen)
15241533 recvflags = int(msg.Flags)
1525 // source address is only specified if the socket is unconnected
1526 if rsa.Addr.Family != AF_UNSPEC {
1527 from, err = anyToSockaddr(fd, &rsa)
1528 }
15291534 return
15301535 }
15311536
1532 func Sendmsg(fd int, p, oob []byte, to Sockaddr, flags int) (err error) {
1533 _, err = SendmsgN(fd, p, oob, to, flags)
1534 return
1535 }
1536
1537 func SendmsgN(fd int, p, oob []byte, to Sockaddr, flags int) (n int, err error) {
1538 var ptr unsafe.Pointer
1539 var salen _Socklen
1540 if to != nil {
1541 var err error
1542 ptr, salen, err = to.sockaddr()
1543 if err != nil {
1544 return 0, err
1545 }
1546 }
1537 func sendmsgN(fd int, p, oob []byte, ptr unsafe.Pointer, salen _Socklen, flags int) (n int, err error) {
15471538 var msg Msghdr
15481539 msg.Name = (*byte)(ptr)
15491540 msg.Namelen = uint32(salen)
18371828 //sys Fremovexattr(fd int, attr string) (err error)
18381829 //sys Fsetxattr(fd int, attr string, dest []byte, flags int) (err error)
18391830 //sys Fsync(fd int) (err error)
1831 //sys Fsmount(fd int, flags int, mountAttrs int) (fsfd int, err error)
1832 //sys Fsopen(fsName string, flags int) (fd int, err error)
1833 //sys Fspick(dirfd int, pathName string, flags int) (fd int, err error)
18401834 //sys Getdents(fd int, buf []byte) (n int, err error) = SYS_GETDENTS64
18411835 //sysnb Getpgid(pid int) (pgid int, err error)
18421836
18671861 //sys MemfdCreate(name string, flags int) (fd int, err error)
18681862 //sys Mkdirat(dirfd int, path string, mode uint32) (err error)
18691863 //sys Mknodat(dirfd int, path string, mode uint32, dev int) (err error)
1864 //sys MoveMount(fromDirfd int, fromPathName string, toDirfd int, toPathName string, flags int) (err error)
18701865 //sys Nanosleep(time *Timespec, leftover *Timespec) (err error)
1866 //sys OpenTree(dfd int, fileName string, flags uint) (r int, err error)
18711867 //sys PerfEventOpen(attr *PerfEventAttr, pid int, cpu int, groupFd int, flags int) (fd int, err error)
18721868 //sys PivotRoot(newroot string, putold string) (err error) = SYS_PIVOT_ROOT
18731869 //sysnb Prlimit(pid int, resource int, newlimit *Rlimit, old *Rlimit) (err error) = SYS_PRLIMIT64
21922188 gid = Getgid()
21932189 }
21942190
2195 if uint32(gid) == st.Gid || isGroupMember(gid) {
2191 if uint32(gid) == st.Gid || isGroupMember(int(st.Gid)) {
21962192 fmode = (st.Mode >> 3) & 7
21972193 } else {
21982194 fmode = st.Mode & 7
23072303
23082304 //sys PidfdOpen(pid int, flags int) (fd int, err error) = SYS_PIDFD_OPEN
23092305 //sys PidfdGetfd(pidfd int, targetfd int, flags int) (fd int, err error) = SYS_PIDFD_GETFD
2306 //sys PidfdSendSignal(pidfd int, sig Signal, info *Siginfo, flags int) (err error) = SYS_PIDFD_SEND_SIGNAL
23102307
23112308 //sys shmat(id int, addr uintptr, flag int) (ret uintptr, err error)
23122309 //sys shmctl(id int, cmd int, buf *SysvShmDesc) (result int, err error)
23132310 //sys shmdt(addr uintptr) (err error)
23142311 //sys shmget(key int, size int, flag int) (id int, err error)
23152312
2313 //sys getitimer(which int, currValue *Itimerval) (err error)
2314 //sys setitimer(which int, newValue *Itimerval, oldValue *Itimerval) (err error)
2315
2316 // MakeItimerval creates an Itimerval from interval and value durations.
2317 func MakeItimerval(interval, value time.Duration) Itimerval {
2318 return Itimerval{
2319 Interval: NsecToTimeval(interval.Nanoseconds()),
2320 Value: NsecToTimeval(value.Nanoseconds()),
2321 }
2322 }
2323
2324 // A value which may be passed to the which parameter for Getitimer and
2325 // Setitimer.
2326 type ItimerWhich int
2327
2328 // Possible which values for Getitimer and Setitimer.
2329 const (
2330 ItimerReal ItimerWhich = ITIMER_REAL
2331 ItimerVirtual ItimerWhich = ITIMER_VIRTUAL
2332 ItimerProf ItimerWhich = ITIMER_PROF
2333 )
2334
2335 // Getitimer wraps getitimer(2) to return the current value of the timer
2336 // specified by which.
2337 func Getitimer(which ItimerWhich) (Itimerval, error) {
2338 var it Itimerval
2339 if err := getitimer(int(which), &it); err != nil {
2340 return Itimerval{}, err
2341 }
2342
2343 return it, nil
2344 }
2345
2346 // Setitimer wraps setitimer(2) to arm or disarm the timer specified by which.
2347 // It returns the previous value of the timer.
2348 //
2349 // If the Itimerval argument is the zero value, the timer will be disarmed.
2350 func Setitimer(which ItimerWhich, it Itimerval) (Itimerval, error) {
2351 var prev Itimerval
2352 if err := setitimer(int(which), &it, &prev); err != nil {
2353 return Itimerval{}, err
2354 }
2355
2356 return prev, nil
2357 }
2358
23162359 /*
23172360 * Unimplemented
23182361 */
23192362 // AfsSyscall
2320 // Alarm
23212363 // ArchPrctl
23222364 // Brk
23232365 // ClockNanosleep
23332375 // GetMempolicy
23342376 // GetRobustList
23352377 // GetThreadArea
2336 // Getitimer
23372378 // Getpmsg
23382379 // IoCancel
23392380 // IoDestroy
24112452 // Vfork
24122453 // Vhangup
24132454 // Vserver
2414 // Waitid
24152455 // _Sysctl
3434 //sys Iopl(level int) (err error)
3535 //sys Lchown(path string, uid int, gid int) (err error) = SYS_LCHOWN32
3636 //sys Lstat(path string, stat *Stat_t) (err error) = SYS_LSTAT64
37 //sys Pread(fd int, p []byte, offset int64) (n int, err error) = SYS_PREAD64
38 //sys Pwrite(fd int, p []byte, offset int64) (n int, err error) = SYS_PWRITE64
37 //sys pread(fd int, p []byte, offset int64) (n int, err error) = SYS_PREAD64
38 //sys pwrite(fd int, p []byte, offset int64) (n int, err error) = SYS_PWRITE64
3939 //sys Renameat(olddirfd int, oldpath string, newdirfd int, newpath string) (err error)
4040 //sys sendfile(outfd int, infd int, offset *int64, count int) (written int, err error) = SYS_SENDFILE64
4141 //sys setfsgid(gid int) (prev int, err error) = SYS_SETFSGID32
172172 _SENDMMSG = 20
173173 )
174174
175 func accept(s int, rsa *RawSockaddrAny, addrlen *_Socklen) (fd int, err error) {
176 fd, e := socketcall(_ACCEPT, uintptr(s), uintptr(unsafe.Pointer(rsa)), uintptr(unsafe.Pointer(addrlen)), 0, 0, 0)
177 if e != 0 {
178 err = e
179 }
180 return
181 }
182
183175 func accept4(s int, rsa *RawSockaddrAny, addrlen *_Socklen, flags int) (fd int, err error) {
184176 fd, e := socketcall(_ACCEPT4, uintptr(s), uintptr(unsafe.Pointer(rsa)), uintptr(unsafe.Pointer(addrlen)), uintptr(flags), 0, 0)
185177 if e != 0 {
0 // Copyright 2022 The Go Authors. All rights reserved.
1 // Use of this source code is governed by a BSD-style
2 // license that can be found in the LICENSE file.
3
4 //go:build linux && (386 || amd64 || mips || mipsle || mips64 || mipsle || ppc64 || ppc64le || ppc || s390x || sparc64)
5 // +build linux
6 // +build 386 amd64 mips mipsle mips64 mipsle ppc64 ppc64le ppc s390x sparc64
7
8 package unix
9
10 // SYS_ALARM is not defined on arm or riscv, but is available for other GOARCH
11 // values.
12
13 //sys Alarm(seconds uint) (remaining uint, err error)
2727 return Fstatat(AT_FDCWD, path, stat, AT_SYMLINK_NOFOLLOW)
2828 }
2929
30 //sys MemfdSecret(flags int) (fd int, err error)
3031 //sys Pause() (err error)
31 //sys Pread(fd int, p []byte, offset int64) (n int, err error) = SYS_PREAD64
32 //sys Pwrite(fd int, p []byte, offset int64) (n int, err error) = SYS_PWRITE64
32 //sys pread(fd int, p []byte, offset int64) (n int, err error) = SYS_PREAD64
33 //sys pwrite(fd int, p []byte, offset int64) (n int, err error) = SYS_PWRITE64
3334 //sys Renameat(olddirfd int, oldpath string, newdirfd int, newpath string) (err error)
3435 //sys Seek(fd int, offset int64, whence int) (off int64, err error) = SYS_LSEEK
3536
6162 //sys SyncFileRange(fd int, off int64, n int64, flags int) (err error)
6263 //sys Truncate(path string, length int64) (err error)
6364 //sys Ustat(dev int, ubuf *Ustat_t) (err error)
64 //sys accept(s int, rsa *RawSockaddrAny, addrlen *_Socklen) (fd int, err error)
6565 //sys accept4(s int, rsa *RawSockaddrAny, addrlen *_Socklen, flags int) (fd int, err error)
6666 //sys bind(s int, addr unsafe.Pointer, addrlen _Socklen) (err error)
6767 //sys connect(s int, addr unsafe.Pointer, addrlen _Socklen) (err error)
2626 return newoffset, nil
2727 }
2828
29 //sys accept(s int, rsa *RawSockaddrAny, addrlen *_Socklen) (fd int, err error)
3029 //sys accept4(s int, rsa *RawSockaddrAny, addrlen *_Socklen, flags int) (fd int, err error)
3130 //sys bind(s int, addr unsafe.Pointer, addrlen _Socklen) (err error)
3231 //sys connect(s int, addr unsafe.Pointer, addrlen _Socklen) (err error)
9695
9796 //sys utimes(path string, times *[2]Timeval) (err error)
9897
99 //sys Pread(fd int, p []byte, offset int64) (n int, err error) = SYS_PREAD64
100 //sys Pwrite(fd int, p []byte, offset int64) (n int, err error) = SYS_PWRITE64
98 //sys pread(fd int, p []byte, offset int64) (n int, err error) = SYS_PREAD64
99 //sys pwrite(fd int, p []byte, offset int64) (n int, err error) = SYS_PWRITE64
101100 //sys Truncate(path string, length int64) (err error) = SYS_TRUNCATE64
102101 //sys Ftruncate(fd int, length int64) (err error) = SYS_FTRUNCATE64
103102
2121 //sysnb getrlimit(resource int, rlim *Rlimit) (err error)
2222 //sysnb Getuid() (uid int)
2323 //sys Listen(s int, n int) (err error)
24 //sys Pread(fd int, p []byte, offset int64) (n int, err error) = SYS_PREAD64
25 //sys Pwrite(fd int, p []byte, offset int64) (n int, err error) = SYS_PWRITE64
24 //sys MemfdSecret(flags int) (fd int, err error)
25 //sys pread(fd int, p []byte, offset int64) (n int, err error) = SYS_PREAD64
26 //sys pwrite(fd int, p []byte, offset int64) (n int, err error) = SYS_PWRITE64
2627 //sys Renameat(olddirfd int, oldpath string, newdirfd int, newpath string) (err error)
2728 //sys Seek(fd int, offset int64, whence int) (off int64, err error) = SYS_LSEEK
2829
6566 return ENOSYS
6667 }
6768
68 //sys accept(s int, rsa *RawSockaddrAny, addrlen *_Socklen) (fd int, err error)
6969 //sys accept4(s int, rsa *RawSockaddrAny, addrlen *_Socklen, flags int) (fd int, err error)
7070 //sys bind(s int, addr unsafe.Pointer, addrlen _Socklen) (err error)
7171 //sys connect(s int, addr unsafe.Pointer, addrlen _Socklen) (err error)
0 // Copyright 2022 The Go Authors. All rights reserved.
1 // Use of this source code is governed by a BSD-style
2 // license that can be found in the LICENSE file.
3
4 //go:build loong64 && linux
5 // +build loong64,linux
6
7 package unix
8
9 import "unsafe"
10
11 //sys EpollWait(epfd int, events []EpollEvent, msec int) (n int, err error) = SYS_EPOLL_PWAIT
12 //sys Fadvise(fd int, offset int64, length int64, advice int) (err error) = SYS_FADVISE64
13 //sys Fchown(fd int, uid int, gid int) (err error)
14 //sys Fstat(fd int, stat *Stat_t) (err error)
15 //sys Fstatat(fd int, path string, stat *Stat_t, flags int) (err error)
16 //sys Fstatfs(fd int, buf *Statfs_t) (err error)
17 //sys Ftruncate(fd int, length int64) (err error)
18 //sysnb Getegid() (egid int)
19 //sysnb Geteuid() (euid int)
20 //sysnb Getgid() (gid int)
21 //sysnb Getuid() (uid int)
22 //sys Listen(s int, n int) (err error)
23 //sys pread(fd int, p []byte, offset int64) (n int, err error) = SYS_PREAD64
24 //sys pwrite(fd int, p []byte, offset int64) (n int, err error) = SYS_PWRITE64
25 //sys Seek(fd int, offset int64, whence int) (off int64, err error) = SYS_LSEEK
26
27 func Select(nfd int, r *FdSet, w *FdSet, e *FdSet, timeout *Timeval) (n int, err error) {
28 var ts *Timespec
29 if timeout != nil {
30 ts = &Timespec{Sec: timeout.Sec, Nsec: timeout.Usec * 1000}
31 }
32 return Pselect(nfd, r, w, e, ts, nil)
33 }
34
35 //sys sendfile(outfd int, infd int, offset *int64, count int) (written int, err error)
36 //sys setfsgid(gid int) (prev int, err error)
37 //sys setfsuid(uid int) (prev int, err error)
38 //sysnb Setregid(rgid int, egid int) (err error)
39 //sysnb Setresgid(rgid int, egid int, sgid int) (err error)
40 //sysnb Setresuid(ruid int, euid int, suid int) (err error)
41 //sysnb Setreuid(ruid int, euid int) (err error)
42 //sys Shutdown(fd int, how int) (err error)
43 //sys Splice(rfd int, roff *int64, wfd int, woff *int64, len int, flags int) (n int64, err error)
44
45 func Stat(path string, stat *Stat_t) (err error) {
46 return Fstatat(AT_FDCWD, path, stat, 0)
47 }
48
49 func Lchown(path string, uid int, gid int) (err error) {
50 return Fchownat(AT_FDCWD, path, uid, gid, AT_SYMLINK_NOFOLLOW)
51 }
52
53 func Lstat(path string, stat *Stat_t) (err error) {
54 return Fstatat(AT_FDCWD, path, stat, AT_SYMLINK_NOFOLLOW)
55 }
56
57 //sys Statfs(path string, buf *Statfs_t) (err error)
58 //sys SyncFileRange(fd int, off int64, n int64, flags int) (err error)
59 //sys Truncate(path string, length int64) (err error)
60
61 func Ustat(dev int, ubuf *Ustat_t) (err error) {
62 return ENOSYS
63 }
64
65 //sys accept4(s int, rsa *RawSockaddrAny, addrlen *_Socklen, flags int) (fd int, err error)
66 //sys bind(s int, addr unsafe.Pointer, addrlen _Socklen) (err error)
67 //sys connect(s int, addr unsafe.Pointer, addrlen _Socklen) (err error)
68 //sysnb getgroups(n int, list *_Gid_t) (nn int, err error)
69 //sysnb setgroups(n int, list *_Gid_t) (err error)
70 //sys getsockopt(s int, level int, name int, val unsafe.Pointer, vallen *_Socklen) (err error)
71 //sys setsockopt(s int, level int, name int, val unsafe.Pointer, vallen uintptr) (err error)
72 //sysnb socket(domain int, typ int, proto int) (fd int, err error)
73 //sysnb socketpair(domain int, typ int, proto int, fd *[2]int32) (err error)
74 //sysnb getpeername(fd int, rsa *RawSockaddrAny, addrlen *_Socklen) (err error)
75 //sysnb getsockname(fd int, rsa *RawSockaddrAny, addrlen *_Socklen) (err error)
76 //sys recvfrom(fd int, p []byte, flags int, from *RawSockaddrAny, fromlen *_Socklen) (n int, err error)
77 //sys sendto(s int, buf []byte, flags int, to unsafe.Pointer, addrlen _Socklen) (err error)
78 //sys recvmsg(s int, msg *Msghdr, flags int) (n int, err error)
79 //sys sendmsg(s int, msg *Msghdr, flags int) (n int, err error)
80 //sys mmap(addr uintptr, length uintptr, prot int, flags int, fd int, offset int64) (xaddr uintptr, err error)
81
82 //sysnb Gettimeofday(tv *Timeval) (err error)
83
84 func setTimespec(sec, nsec int64) Timespec {
85 return Timespec{Sec: sec, Nsec: nsec}
86 }
87
88 func setTimeval(sec, usec int64) Timeval {
89 return Timeval{Sec: sec, Usec: usec}
90 }
91
92 func Getrlimit(resource int, rlim *Rlimit) (err error) {
93 err = Prlimit(0, resource, nil, rlim)
94 return
95 }
96
97 func Setrlimit(resource int, rlim *Rlimit) (err error) {
98 err = Prlimit(0, resource, rlim, nil)
99 return
100 }
101
102 func futimesat(dirfd int, path string, tv *[2]Timeval) (err error) {
103 if tv == nil {
104 return utimensat(dirfd, path, nil, 0)
105 }
106
107 ts := []Timespec{
108 NsecToTimespec(TimevalToNsec(tv[0])),
109 NsecToTimespec(TimevalToNsec(tv[1])),
110 }
111 return utimensat(dirfd, path, (*[2]Timespec)(unsafe.Pointer(&ts[0])), 0)
112 }
113
114 func Time(t *Time_t) (Time_t, error) {
115 var tv Timeval
116 err := Gettimeofday(&tv)
117 if err != nil {
118 return 0, err
119 }
120 if t != nil {
121 *t = Time_t(tv.Sec)
122 }
123 return Time_t(tv.Sec), nil
124 }
125
126 func Utime(path string, buf *Utimbuf) error {
127 tv := []Timeval{
128 {Sec: buf.Actime},
129 {Sec: buf.Modtime},
130 }
131 return Utimes(path, tv)
132 }
133
134 func utimes(path string, tv *[2]Timeval) (err error) {
135 if tv == nil {
136 return utimensat(AT_FDCWD, path, nil, 0)
137 }
138
139 ts := []Timespec{
140 NsecToTimespec(TimevalToNsec(tv[0])),
141 NsecToTimespec(TimevalToNsec(tv[1])),
142 }
143 return utimensat(AT_FDCWD, path, (*[2]Timespec)(unsafe.Pointer(&ts[0])), 0)
144 }
145
146 func (r *PtraceRegs) PC() uint64 { return r.Era }
147
148 func (r *PtraceRegs) SetPC(era uint64) { r.Era = era }
149
150 func (iov *Iovec) SetLen(length int) {
151 iov.Len = uint64(length)
152 }
153
154 func (msghdr *Msghdr) SetControllen(length int) {
155 msghdr.Controllen = uint64(length)
156 }
157
158 func (msghdr *Msghdr) SetIovlen(length int) {
159 msghdr.Iovlen = uint64(length)
160 }
161
162 func (cmsg *Cmsghdr) SetLen(length int) {
163 cmsg.Len = uint64(length)
164 }
165
166 func (rsa *RawSockaddrNFCLLCP) SetServiceNameLen(length int) {
167 rsa.Service_name_len = uint64(length)
168 }
169
170 func Pause() error {
171 _, err := ppoll(nil, 0, nil, nil)
172 return err
173 }
174
175 func Renameat(olddirfd int, oldpath string, newdirfd int, newpath string) (err error) {
176 return Renameat2(olddirfd, oldpath, newdirfd, newpath, 0)
177 }
178
179 //sys kexecFileLoad(kernelFd int, initrdFd int, cmdlineLen int, cmdline string, flags int) (err error)
180
181 func KexecFileLoad(kernelFd int, initrdFd int, cmdline string, flags int) error {
182 cmdlineLen := len(cmdline)
183 if cmdlineLen > 0 {
184 // Account for the additional NULL byte added by
185 // BytePtrFromString in kexecFileLoad. The kexec_file_load
186 // syscall expects a NULL-terminated string.
187 cmdlineLen++
188 }
189 return kexecFileLoad(kernelFd, initrdFd, cmdlineLen, cmdline, flags)
190 }
2020 //sys Lchown(path string, uid int, gid int) (err error)
2121 //sys Listen(s int, n int) (err error)
2222 //sys Pause() (err error)
23 //sys Pread(fd int, p []byte, offset int64) (n int, err error) = SYS_PREAD64
24 //sys Pwrite(fd int, p []byte, offset int64) (n int, err error) = SYS_PWRITE64
23 //sys pread(fd int, p []byte, offset int64) (n int, err error) = SYS_PREAD64
24 //sys pwrite(fd int, p []byte, offset int64) (n int, err error) = SYS_PWRITE64
2525 //sys Renameat(olddirfd int, oldpath string, newdirfd int, newpath string) (err error)
2626 //sys Seek(fd int, offset int64, whence int) (off int64, err error) = SYS_LSEEK
2727
4747 //sys SyncFileRange(fd int, off int64, n int64, flags int) (err error)
4848 //sys Truncate(path string, length int64) (err error)
4949 //sys Ustat(dev int, ubuf *Ustat_t) (err error)
50 //sys accept(s int, rsa *RawSockaddrAny, addrlen *_Socklen) (fd int, err error)
5150 //sys accept4(s int, rsa *RawSockaddrAny, addrlen *_Socklen, flags int) (fd int, err error)
5251 //sys bind(s int, addr unsafe.Pointer, addrlen _Socklen) (err error)
5352 //sys connect(s int, addr unsafe.Pointer, addrlen _Socklen) (err error)
2424 //sysnb Getuid() (uid int)
2525 //sys Lchown(path string, uid int, gid int) (err error)
2626 //sys Listen(s int, n int) (err error)
27 //sys Pread(fd int, p []byte, offset int64) (n int, err error) = SYS_PREAD64
28 //sys Pwrite(fd int, p []byte, offset int64) (n int, err error) = SYS_PWRITE64
27 //sys pread(fd int, p []byte, offset int64) (n int, err error) = SYS_PREAD64
28 //sys pwrite(fd int, p []byte, offset int64) (n int, err error) = SYS_PWRITE64
2929 //sys Renameat(olddirfd int, oldpath string, newdirfd int, newpath string) (err error)
3030 //sys Select(nfd int, r *FdSet, w *FdSet, e *FdSet, timeout *Timeval) (n int, err error) = SYS__NEWSELECT
3131 //sys sendfile(outfd int, infd int, offset *int64, count int) (written int, err error) = SYS_SENDFILE64
4040 //sys SyncFileRange(fd int, off int64, n int64, flags int) (err error)
4141 //sys Truncate(path string, length int64) (err error) = SYS_TRUNCATE64
4242 //sys Ustat(dev int, ubuf *Ustat_t) (err error)
43 //sys accept(s int, rsa *RawSockaddrAny, addrlen *_Socklen) (fd int, err error)
4443 //sys accept4(s int, rsa *RawSockaddrAny, addrlen *_Socklen, flags int) (fd int, err error)
4544 //sys bind(s int, addr unsafe.Pointer, addrlen _Socklen) (err error)
4645 //sys connect(s int, addr unsafe.Pointer, addrlen _Socklen) (err error)
2626 //sys Listen(s int, n int) (err error)
2727 //sys Lstat(path string, stat *Stat_t) (err error) = SYS_LSTAT64
2828 //sys Pause() (err error)
29 //sys Pread(fd int, p []byte, offset int64) (n int, err error) = SYS_PREAD64
30 //sys Pwrite(fd int, p []byte, offset int64) (n int, err error) = SYS_PWRITE64
29 //sys pread(fd int, p []byte, offset int64) (n int, err error) = SYS_PREAD64
30 //sys pwrite(fd int, p []byte, offset int64) (n int, err error) = SYS_PWRITE64
3131 //sys Renameat(olddirfd int, oldpath string, newdirfd int, newpath string) (err error)
3232 //sys Select(nfd int, r *FdSet, w *FdSet, e *FdSet, timeout *Timeval) (n int, err error) = SYS__NEWSELECT
3333 //sys sendfile(outfd int, infd int, offset *int64, count int) (written int, err error) = SYS_SENDFILE64
4242 //sys Stat(path string, stat *Stat_t) (err error) = SYS_STAT64
4343 //sys Truncate(path string, length int64) (err error) = SYS_TRUNCATE64
4444 //sys Ustat(dev int, ubuf *Ustat_t) (err error)
45 //sys accept(s int, rsa *RawSockaddrAny, addrlen *_Socklen) (fd int, err error)
4645 //sys accept4(s int, rsa *RawSockaddrAny, addrlen *_Socklen, flags int) (fd int, err error)
4746 //sys bind(s int, addr unsafe.Pointer, addrlen _Socklen) (err error)
4847 //sys connect(s int, addr unsafe.Pointer, addrlen _Socklen) (err error)
2525 //sys Listen(s int, n int) (err error)
2626 //sys Lstat(path string, stat *Stat_t) (err error)
2727 //sys Pause() (err error)
28 //sys Pread(fd int, p []byte, offset int64) (n int, err error) = SYS_PREAD64
29 //sys Pwrite(fd int, p []byte, offset int64) (n int, err error) = SYS_PWRITE64
28 //sys pread(fd int, p []byte, offset int64) (n int, err error) = SYS_PREAD64
29 //sys pwrite(fd int, p []byte, offset int64) (n int, err error) = SYS_PWRITE64
3030 //sys Renameat(olddirfd int, oldpath string, newdirfd int, newpath string) (err error)
3131 //sys Seek(fd int, offset int64, whence int) (off int64, err error) = SYS_LSEEK
3232 //sys Select(nfd int, r *FdSet, w *FdSet, e *FdSet, timeout *Timeval) (n int, err error) = SYS__NEWSELECT
4444 //sys Statfs(path string, buf *Statfs_t) (err error)
4545 //sys Truncate(path string, length int64) (err error)
4646 //sys Ustat(dev int, ubuf *Ustat_t) (err error)
47 //sys accept(s int, rsa *RawSockaddrAny, addrlen *_Socklen) (fd int, err error)
4847 //sys accept4(s int, rsa *RawSockaddrAny, addrlen *_Socklen, flags int) (fd int, err error)
4948 //sys bind(s int, addr unsafe.Pointer, addrlen _Socklen) (err error)
5049 //sys connect(s int, addr unsafe.Pointer, addrlen _Socklen) (err error)
2121 //sysnb Getrlimit(resource int, rlim *Rlimit) (err error)
2222 //sysnb Getuid() (uid int)
2323 //sys Listen(s int, n int) (err error)
24 //sys Pread(fd int, p []byte, offset int64) (n int, err error) = SYS_PREAD64
25 //sys Pwrite(fd int, p []byte, offset int64) (n int, err error) = SYS_PWRITE64
24 //sys pread(fd int, p []byte, offset int64) (n int, err error) = SYS_PREAD64
25 //sys pwrite(fd int, p []byte, offset int64) (n int, err error) = SYS_PWRITE64
2626 //sys Seek(fd int, offset int64, whence int) (off int64, err error) = SYS_LSEEK
2727
2828 func Select(nfd int, r *FdSet, w *FdSet, e *FdSet, timeout *Timeval) (n int, err error) {
6464 return ENOSYS
6565 }
6666
67 //sys accept(s int, rsa *RawSockaddrAny, addrlen *_Socklen) (fd int, err error)
6867 //sys accept4(s int, rsa *RawSockaddrAny, addrlen *_Socklen, flags int) (fd int, err error)
6968 //sys bind(s int, addr unsafe.Pointer, addrlen _Socklen) (err error)
7069 //sys connect(s int, addr unsafe.Pointer, addrlen _Socklen) (err error)
2525 //sys Lchown(path string, uid int, gid int) (err error)
2626 //sys Lstat(path string, stat *Stat_t) (err error)
2727 //sys Pause() (err error)
28 //sys Pread(fd int, p []byte, offset int64) (n int, err error) = SYS_PREAD64
29 //sys Pwrite(fd int, p []byte, offset int64) (n int, err error) = SYS_PWRITE64
28 //sys pread(fd int, p []byte, offset int64) (n int, err error) = SYS_PREAD64
29 //sys pwrite(fd int, p []byte, offset int64) (n int, err error) = SYS_PWRITE64
3030 //sys Renameat(olddirfd int, oldpath string, newdirfd int, newpath string) (err error)
3131 //sys Seek(fd int, offset int64, whence int) (off int64, err error) = SYS_LSEEK
3232 //sys Select(nfd int, r *FdSet, w *FdSet, e *FdSet, timeout *Timeval) (n int, err error)
144144 netSendMMsg = 20
145145 )
146146
147 func accept(s int, rsa *RawSockaddrAny, addrlen *_Socklen) (int, error) {
148 args := [3]uintptr{uintptr(s), uintptr(unsafe.Pointer(rsa)), uintptr(unsafe.Pointer(addrlen))}
149 fd, _, err := Syscall(SYS_SOCKETCALL, netAccept, uintptr(unsafe.Pointer(&args)), 0)
150 if err != 0 {
151 return 0, err
152 }
153 return int(fd), nil
154 }
155
156147 func accept4(s int, rsa *RawSockaddrAny, addrlen *_Socklen, flags int) (int, error) {
157148 args := [4]uintptr{uintptr(s), uintptr(unsafe.Pointer(rsa)), uintptr(unsafe.Pointer(addrlen)), uintptr(flags)}
158149 fd, _, err := Syscall(SYS_SOCKETCALL, netAccept4, uintptr(unsafe.Pointer(&args)), 0)
2222 //sys Listen(s int, n int) (err error)
2323 //sys Lstat(path string, stat *Stat_t) (err error)
2424 //sys Pause() (err error)
25 //sys Pread(fd int, p []byte, offset int64) (n int, err error) = SYS_PREAD64
26 //sys Pwrite(fd int, p []byte, offset int64) (n int, err error) = SYS_PWRITE64
25 //sys pread(fd int, p []byte, offset int64) (n int, err error) = SYS_PREAD64
26 //sys pwrite(fd int, p []byte, offset int64) (n int, err error) = SYS_PWRITE64
2727 //sys Renameat(olddirfd int, oldpath string, newdirfd int, newpath string) (err error)
2828 //sys Seek(fd int, offset int64, whence int) (off int64, err error) = SYS_LSEEK
2929 //sys Select(nfd int, r *FdSet, w *FdSet, e *FdSet, timeout *Timeval) (n int, err error)
4141 //sys Statfs(path string, buf *Statfs_t) (err error)
4242 //sys SyncFileRange(fd int, off int64, n int64, flags int) (err error)
4343 //sys Truncate(path string, length int64) (err error)
44 //sys accept(s int, rsa *RawSockaddrAny, addrlen *_Socklen) (fd int, err error)
4544 //sys accept4(s int, rsa *RawSockaddrAny, addrlen *_Socklen, flags int) (fd int, err error)
4645 //sys bind(s int, addr unsafe.Pointer, addrlen _Socklen) (err error)
4746 //sys connect(s int, addr unsafe.Pointer, addrlen _Socklen) (err error)
1414 "io/ioutil"
1515 "net"
1616 "os"
17 "os/exec"
1718 "path/filepath"
1819 "runtime"
1920 "runtime/debug"
2021 "strconv"
2122 "strings"
23 "syscall"
2224 "testing"
2325 "time"
2426 "unsafe"
214216 }
215217
216218 return nil, false
219 }
220
221 func TestPidfd(t *testing.T) {
222 // Start a child process which will sleep for 1 hour; longer than the 10
223 // minute default Go test timeout.
224 cmd := exec.Command("sleep", "1h")
225 if err := cmd.Start(); err != nil {
226 t.Fatalf("failed to exec sleep: %v", err)
227 }
228
229 fd, err := unix.PidfdOpen(cmd.Process.Pid, 0)
230 if err != nil {
231 // GOARCH arm/arm64 and GOOS android builders do not support pidfds.
232 if errors.Is(err, unix.ENOSYS) {
233 t.Skipf("skipping, pidfd_open is not implemented: %v", err)
234 }
235
236 t.Fatalf("failed to open child pidfd: %v", err)
237 }
238 defer unix.Close(fd)
239
240 // Child is running but not terminated.
241 if err := unix.Waitid(unix.P_PIDFD, fd, nil, unix.WEXITED|unix.WNOHANG, nil); err != nil {
242 if errors.Is(err, unix.EINVAL) {
243 t.Skip("skipping due to waitid EINVAL, see https://go.dev/issues/52014")
244 }
245
246 t.Fatalf("failed to check for child exit: %v", err)
247 }
248
249 const want = unix.SIGHUP
250 if err := unix.PidfdSendSignal(fd, want, nil, 0); err != nil {
251 t.Fatalf("failed to signal child process: %v", err)
252 }
253
254 // Now verify that the child process received the expected signal.
255 var eerr *exec.ExitError
256 if err := cmd.Wait(); !errors.As(err, &eerr) {
257 t.Fatalf("child process terminated but did not return an exit error: %v", err)
258 }
259
260 if err := unix.Waitid(unix.P_PIDFD, fd, nil, unix.WEXITED, nil); !errors.Is(err, unix.ECHILD) {
261 t.Fatalf("expected ECHILD for final waitid, but got: %v", err)
262 }
263
264 ws, ok := eerr.Sys().(syscall.WaitStatus)
265 if !ok {
266 t.Fatalf("expected syscall.WaitStatus value, but got: %#T", eerr.Sys())
267 }
268
269 if got := ws.Signal(); got != want {
270 t.Fatalf("unexpected child exit signal, got: %s, want: %s", got, want)
271 }
217272 }
218273
219274 func TestPpoll(t *testing.T) {
814869 }
815870
816871 func TestPrctlRetInt(t *testing.T) {
817 err := unix.Prctl(unix.PR_SET_NO_NEW_PRIVS, 1, 0, 0, 0)
818 if err != nil {
819 t.Skipf("Prctl: %v, skipping test", err)
820 }
821 v, err := unix.PrctlRetInt(unix.PR_GET_NO_NEW_PRIVS, 0, 0, 0, 0)
822 if err != nil {
823 t.Fatalf("failed to perform prctl: %v", err)
824 }
825 if v != 1 {
826 t.Fatalf("unexpected return from prctl; got %v, expected %v", v, 1)
872 skipc := make(chan bool, 1)
873 skip := func() {
874 skipc <- true
875 runtime.Goexit()
876 }
877
878 go func() {
879 // This test uses prctl to modify the calling thread, so run it on its own
880 // throwaway thread and do not unlock it when the goroutine exits.
881 runtime.LockOSThread()
882 defer close(skipc)
883
884 err := unix.Prctl(unix.PR_SET_NO_NEW_PRIVS, 1, 0, 0, 0)
885 if err != nil {
886 t.Logf("Prctl: %v, skipping test", err)
887 skip()
888 }
889
890 v, err := unix.PrctlRetInt(unix.PR_GET_NO_NEW_PRIVS, 0, 0, 0, 0)
891 if err != nil {
892 t.Errorf("failed to perform prctl: %v", err)
893 }
894 if v != 1 {
895 t.Errorf("unexpected return from prctl; got %v, expected %v", v, 1)
896 }
897 }()
898
899 if <-skipc {
900 t.SkipNow()
827901 }
828902 }
829903
160160 // TODO
161161 func sendfile(outfd int, infd int, offset *int64, count int) (written int, err error) {
162162 return -1, ENOSYS
163 }
164
165 func setattrlistTimes(path string, times []Timespec, flags int) error {
166 // used on Darwin for UtimesNano
167 return ENOSYS
168163 }
169164
170165 //sys ioctl(fd int, req uint, arg uintptr) (err error)
312307 //sys Open(path string, mode int, perm uint32) (fd int, err error)
313308 //sys Openat(dirfd int, path string, mode int, perm uint32) (fd int, err error)
314309 //sys Pathconf(path string, name int) (val int, err error)
315 //sys Pread(fd int, p []byte, offset int64) (n int, err error)
316 //sys Pwrite(fd int, p []byte, offset int64) (n int, err error)
310 //sys pread(fd int, p []byte, offset int64) (n int, err error)
311 //sys pwrite(fd int, p []byte, offset int64) (n int, err error)
317312 //sys read(fd int, p []byte) (n int, err error)
318313 //sys Readlink(path string, buf []byte) (n int, err error)
319314 //sys Readlinkat(dirfd int, path string, buf []byte) (n int, err error)
146146 err = e1
147147 }
148148 return
149 }
150
151 func setattrlistTimes(path string, times []Timespec, flags int) error {
152 // used on Darwin for UtimesNano
153 return ENOSYS
154149 }
155150
156151 //sys ioctl(fd int, req uint, arg uintptr) (err error)
273268 //sys Open(path string, mode int, perm uint32) (fd int, err error)
274269 //sys Openat(dirfd int, path string, mode int, perm uint32) (fd int, err error)
275270 //sys Pathconf(path string, name int) (val int, err error)
276 //sys Pread(fd int, p []byte, offset int64) (n int, err error)
277 //sys Pwrite(fd int, p []byte, offset int64) (n int, err error)
271 //sys pread(fd int, p []byte, offset int64) (n int, err error)
272 //sys pwrite(fd int, p []byte, offset int64) (n int, err error)
278273 //sys read(fd int, p []byte) (n int, err error)
279274 //sys Readlink(path string, buf []byte) (n int, err error)
280275 //sys Readlinkat(dirfd int, path string, buf []byte) (n int, err error)
450450
451451 //sys recvmsg(s int, msg *Msghdr, flags int) (n int, err error) = libsocket.__xnet_recvmsg
452452
453 func Recvmsg(fd int, p, oob []byte, flags int) (n, oobn int, recvflags int, from Sockaddr, err error) {
453 func recvmsgRaw(fd int, p, oob []byte, flags int, rsa *RawSockaddrAny) (n, oobn int, recvflags int, err error) {
454454 var msg Msghdr
455 var rsa RawSockaddrAny
456 msg.Name = (*byte)(unsafe.Pointer(&rsa))
455 msg.Name = (*byte)(unsafe.Pointer(rsa))
457456 msg.Namelen = uint32(SizeofSockaddrAny)
458457 var iov Iovec
459458 if len(p) > 0 {
475474 return
476475 }
477476 oobn = int(msg.Accrightslen)
478 // source address is only specified if the socket is unconnected
479 if rsa.Addr.Family != AF_UNSPEC {
480 from, err = anyToSockaddr(fd, &rsa)
481 }
482477 return
483478 }
484479
485 func Sendmsg(fd int, p, oob []byte, to Sockaddr, flags int) (err error) {
486 _, err = SendmsgN(fd, p, oob, to, flags)
487 return
488 }
489
490480 //sys sendmsg(s int, msg *Msghdr, flags int) (n int, err error) = libsocket.__xnet_sendmsg
491481
492 func SendmsgN(fd int, p, oob []byte, to Sockaddr, flags int) (n int, err error) {
493 var ptr unsafe.Pointer
494 var salen _Socklen
495 if to != nil {
496 ptr, salen, err = to.sockaddr()
497 if err != nil {
498 return 0, err
499 }
500 }
482 func sendmsgN(fd int, p, oob []byte, ptr unsafe.Pointer, salen _Socklen, flags int) (n int, err error) {
501483 var msg Msghdr
502484 msg.Name = (*byte)(unsafe.Pointer(ptr))
503485 msg.Namelen = uint32(salen)
660642 //sys Openat(dirfd int, path string, flags int, mode uint32) (fd int, err error)
661643 //sys Pathconf(path string, name int) (val int, err error)
662644 //sys Pause() (err error)
663 //sys Pread(fd int, p []byte, offset int64) (n int, err error)
664 //sys Pwrite(fd int, p []byte, offset int64) (n int, err error)
645 //sys pread(fd int, p []byte, offset int64) (n int, err error)
646 //sys pwrite(fd int, p []byte, offset int64) (n int, err error)
665647 //sys read(fd int, p []byte) (n int, err error)
666648 //sys Readlink(path string, buf []byte) (n int, err error)
667649 //sys Rename(from string, to string) (err error)
754736 type EventPort struct {
755737 port int
756738 mu sync.Mutex
757 fds map[uintptr]interface{}
739 fds map[uintptr]*fileObjCookie
758740 paths map[string]*fileObjCookie
741 // The user cookie presents an interesting challenge from a memory management perspective.
742 // There are two paths by which we can discover that it is no longer in use:
743 // 1. The user calls port_dissociate before any events fire
744 // 2. An event fires and we return it to the user
745 // The tricky situation is if the event has fired in the kernel but
746 // the user hasn't requested/received it yet.
747 // If the user wants to port_dissociate before the event has been processed,
748 // we should handle things gracefully. To do so, we need to keep an extra
749 // reference to the cookie around until the event is processed
750 // thus the otherwise seemingly extraneous "cookies" map
751 // The key of this map is a pointer to the corresponding &fCookie.cookie
752 cookies map[*interface{}]*fileObjCookie
759753 }
760754
761755 // PortEvent is an abstraction of the port_event C struct.
779773 return nil, err
780774 }
781775 e := &EventPort{
782 port: port,
783 fds: make(map[uintptr]interface{}),
784 paths: make(map[string]*fileObjCookie),
776 port: port,
777 fds: make(map[uintptr]*fileObjCookie),
778 paths: make(map[string]*fileObjCookie),
779 cookies: make(map[*interface{}]*fileObjCookie),
785780 }
786781 return e, nil
787782 }
796791 func (e *EventPort) Close() error {
797792 e.mu.Lock()
798793 defer e.mu.Unlock()
794 err := Close(e.port)
795 if err != nil {
796 return err
797 }
799798 e.fds = nil
800799 e.paths = nil
801 return Close(e.port)
800 return nil
802801 }
803802
804803 // PathIsWatched checks to see if path is associated with this EventPort.
835834 return err
836835 }
837836 e.paths[path] = fCookie
837 e.cookies[&fCookie.cookie] = fCookie
838838 return nil
839839 }
840840
847847 return fmt.Errorf("%v is not associated with this Event Port", path)
848848 }
849849 _, err := port_dissociate(e.port, PORT_SOURCE_FILE, uintptr(unsafe.Pointer(f.fobj)))
850 if err != nil {
850 // If the path is no longer associated with this event port (ENOENT)
851 // we should delete it from our map. We can still return ENOENT to the caller.
852 // But we need to save the cookie
853 if err != nil && err != ENOENT {
851854 return err
852855 }
856 if err == nil {
857 // dissociate was successful, safe to delete the cookie
858 fCookie := e.paths[path]
859 delete(e.cookies, &fCookie.cookie)
860 }
853861 delete(e.paths, path)
854 return nil
862 return err
855863 }
856864
857865 // AssociateFd wraps calls to port_associate(3c) on file descriptors.
861869 if _, found := e.fds[fd]; found {
862870 return fmt.Errorf("%v is already associated with this Event Port", fd)
863871 }
864 pcookie := &cookie
865 _, err := port_associate(e.port, PORT_SOURCE_FD, fd, events, (*byte)(unsafe.Pointer(pcookie)))
872 fCookie := &fileObjCookie{nil, cookie}
873 _, err := port_associate(e.port, PORT_SOURCE_FD, fd, events, (*byte)(unsafe.Pointer(&fCookie.cookie)))
866874 if err != nil {
867875 return err
868876 }
869 e.fds[fd] = pcookie
877 e.fds[fd] = fCookie
878 e.cookies[&fCookie.cookie] = fCookie
870879 return nil
871880 }
872881
879888 return fmt.Errorf("%v is not associated with this Event Port", fd)
880889 }
881890 _, err := port_dissociate(e.port, PORT_SOURCE_FD, fd)
882 if err != nil {
891 if err != nil && err != ENOENT {
883892 return err
884893 }
894 if err == nil {
895 // dissociate was successful, safe to delete the cookie
896 fCookie := e.fds[fd]
897 delete(e.cookies, &fCookie.cookie)
898 }
885899 delete(e.fds, fd)
886 return nil
900 return err
887901 }
888902
889903 func createFileObj(name string, stat os.FileInfo) (*fileObj, error) {
911925 return nil, err
912926 }
913927 p := new(PortEvent)
914 p.Events = pe.Events
915 p.Source = pe.Source
916928 e.mu.Lock()
917929 defer e.mu.Unlock()
918 switch pe.Source {
930 e.peIntToExt(pe, p)
931 return p, nil
932 }
933
934 // peIntToExt converts a cgo portEvent struct into the friendlier PortEvent
935 // NOTE: Always call this function while holding the e.mu mutex
936 func (e *EventPort) peIntToExt(peInt *portEvent, peExt *PortEvent) {
937 peExt.Events = peInt.Events
938 peExt.Source = peInt.Source
939 cookie := (*interface{})(unsafe.Pointer(peInt.User))
940 peExt.Cookie = *cookie
941 switch peInt.Source {
919942 case PORT_SOURCE_FD:
920 p.Fd = uintptr(pe.Object)
921 cookie := (*interface{})(unsafe.Pointer(pe.User))
922 p.Cookie = *cookie
923 delete(e.fds, p.Fd)
943 delete(e.cookies, cookie)
944 peExt.Fd = uintptr(peInt.Object)
945 // Only remove the fds entry if it exists and this cookie matches
946 if fobj, ok := e.fds[peExt.Fd]; ok {
947 if &fobj.cookie == cookie {
948 delete(e.fds, peExt.Fd)
949 }
950 }
924951 case PORT_SOURCE_FILE:
925 p.fobj = (*fileObj)(unsafe.Pointer(uintptr(pe.Object)))
926 p.Path = BytePtrToString((*byte)(unsafe.Pointer(p.fobj.Name)))
927 cookie := (*interface{})(unsafe.Pointer(pe.User))
928 p.Cookie = *cookie
929 delete(e.paths, p.Path)
930 }
931 return p, nil
952 if fCookie, ok := e.cookies[cookie]; ok && uintptr(unsafe.Pointer(fCookie.fobj)) == uintptr(peInt.Object) {
953 // Use our stashed reference rather than using unsafe on what we got back
954 // the unsafe version would be (*fileObj)(unsafe.Pointer(uintptr(peInt.Object)))
955 peExt.fobj = fCookie.fobj
956 } else {
957 panic("mismanaged memory")
958 }
959 delete(e.cookies, cookie)
960 peExt.Path = BytePtrToString((*byte)(unsafe.Pointer(peExt.fobj.Name)))
961 // Only remove the paths entry if it exists and this cookie matches
962 if fobj, ok := e.paths[peExt.Path]; ok {
963 if &fobj.cookie == cookie {
964 delete(e.paths, peExt.Path)
965 }
966 }
967 }
932968 }
933969
934970 // Pending wraps port_getn(3c) and returns how many events are pending.
961997 e.mu.Lock()
962998 defer e.mu.Unlock()
963999 for i := 0; i < int(got); i++ {
964 s[i].Events = ps[i].Events
965 s[i].Source = ps[i].Source
966 switch ps[i].Source {
967 case PORT_SOURCE_FD:
968 s[i].Fd = uintptr(ps[i].Object)
969 cookie := (*interface{})(unsafe.Pointer(ps[i].User))
970 s[i].Cookie = *cookie
971 delete(e.fds, s[i].Fd)
972 case PORT_SOURCE_FILE:
973 s[i].fobj = (*fileObj)(unsafe.Pointer(uintptr(ps[i].Object)))
974 s[i].Path = BytePtrToString((*byte)(unsafe.Pointer(s[i].fobj.Name)))
975 cookie := (*interface{})(unsafe.Pointer(ps[i].User))
976 s[i].Cookie = *cookie
977 delete(e.paths, s[i].Path)
978 }
1000 e.peIntToExt(&ps[i], &s[i])
9791001 }
9801002 return int(got), err
9811003 }
176176 return
177177 }
178178
179 func Pread(fd int, p []byte, offset int64) (n int, err error) {
180 n, err = pread(fd, p, offset)
181 if raceenabled {
182 if n > 0 {
183 raceWriteRange(unsafe.Pointer(&p[0]), n)
184 }
185 if err == nil {
186 raceAcquire(unsafe.Pointer(&ioSync))
187 }
188 }
189 return
190 }
191
192 func Pwrite(fd int, p []byte, offset int64) (n int, err error) {
193 if raceenabled {
194 raceReleaseMerge(unsafe.Pointer(&ioSync))
195 }
196 n, err = pwrite(fd, p, offset)
197 if raceenabled && n > 0 {
198 raceReadRange(unsafe.Pointer(&p[0]), n)
199 }
200 return
201 }
202
179203 // For testing: clients can set this flag to force
180204 // creation of IPv6 sockets to return EAFNOSUPPORT.
181205 var SocketDisableIPv6 bool
310334 from, err = anyToSockaddr(fd, &rsa)
311335 }
312336 return
337 }
338
339 func Recvmsg(fd int, p, oob []byte, flags int) (n, oobn int, recvflags int, from Sockaddr, err error) {
340 var rsa RawSockaddrAny
341 n, oobn, recvflags, err = recvmsgRaw(fd, p, oob, flags, &rsa)
342 // source address is only specified if the socket is unconnected
343 if rsa.Addr.Family != AF_UNSPEC {
344 from, err = anyToSockaddr(fd, &rsa)
345 }
346 return
347 }
348
349 func Sendmsg(fd int, p, oob []byte, to Sockaddr, flags int) (err error) {
350 _, err = SendmsgN(fd, p, oob, to, flags)
351 return
352 }
353
354 func SendmsgN(fd int, p, oob []byte, to Sockaddr, flags int) (n int, err error) {
355 var ptr unsafe.Pointer
356 var salen _Socklen
357 if to != nil {
358 ptr, salen, err = to.sockaddr()
359 if err != nil {
360 return 0, err
361 }
362 }
363 return sendmsgN(fd, p, oob, ptr, salen, flags)
313364 }
314365
315366 func Send(s int, buf []byte, flags int) (err error) {
3737 AF_KEY = 0xf
3838 AF_LLC = 0x1a
3939 AF_LOCAL = 0x1
40 AF_MAX = 0x2d
40 AF_MAX = 0x2e
41 AF_MCTP = 0x2d
4142 AF_MPLS = 0x1c
4243 AF_NETBEUI = 0xd
4344 AF_NETLINK = 0x10
258259 BUS_USB = 0x3
259260 BUS_VIRTUAL = 0x6
260261 CAN_BCM = 0x2
262 CAN_CTRLMODE_3_SAMPLES = 0x4
263 CAN_CTRLMODE_BERR_REPORTING = 0x10
264 CAN_CTRLMODE_CC_LEN8_DLC = 0x100
265 CAN_CTRLMODE_FD = 0x20
266 CAN_CTRLMODE_FD_NON_ISO = 0x80
267 CAN_CTRLMODE_LISTENONLY = 0x2
268 CAN_CTRLMODE_LOOPBACK = 0x1
269 CAN_CTRLMODE_ONE_SHOT = 0x8
270 CAN_CTRLMODE_PRESUME_ACK = 0x40
271 CAN_CTRLMODE_TDC_AUTO = 0x200
272 CAN_CTRLMODE_TDC_MANUAL = 0x400
261273 CAN_EFF_FLAG = 0x80000000
262274 CAN_EFF_ID_BITS = 0x1d
263275 CAN_EFF_MASK = 0x1fffffff
335347 CAN_RTR_FLAG = 0x40000000
336348 CAN_SFF_ID_BITS = 0xb
337349 CAN_SFF_MASK = 0x7ff
350 CAN_TERMINATION_DISABLED = 0x0
338351 CAN_TP16 = 0x3
339352 CAN_TP20 = 0x4
340353 CAP_AUDIT_CONTROL = 0x1e
379392 CAP_SYS_TIME = 0x19
380393 CAP_SYS_TTY_CONFIG = 0x1a
381394 CAP_WAKE_ALARM = 0x23
395 CEPH_SUPER_MAGIC = 0xc36400
382396 CFLUSH = 0xf
383397 CGROUP2_SUPER_MAGIC = 0x63677270
384398 CGROUP_SUPER_MAGIC = 0x27e0eb
399 CIFS_SUPER_MAGIC = 0xff534d42
385400 CLOCK_BOOTTIME = 0x7
386401 CLOCK_BOOTTIME_ALARM = 0x9
387402 CLOCK_DEFAULT = 0x0
740755 ETH_P_QINQ2 = 0x9200
741756 ETH_P_QINQ3 = 0x9300
742757 ETH_P_RARP = 0x8035
758 ETH_P_REALTEK = 0x8899
743759 ETH_P_SCA = 0x6007
744760 ETH_P_SLOW = 0x8809
745761 ETH_P_SNAP = 0x5
769785 EV_SYN = 0x0
770786 EV_VERSION = 0x10001
771787 EXABYTE_ENABLE_NEST = 0xf0
788 EXFAT_SUPER_MAGIC = 0x2011bab0
772789 EXT2_SUPER_MAGIC = 0xef53
773790 EXT3_SUPER_MAGIC = 0xef53
774791 EXT4_SUPER_MAGIC = 0xef53
809826 FAN_EPIDFD = -0x2
810827 FAN_EVENT_INFO_TYPE_DFID = 0x3
811828 FAN_EVENT_INFO_TYPE_DFID_NAME = 0x2
829 FAN_EVENT_INFO_TYPE_ERROR = 0x5
812830 FAN_EVENT_INFO_TYPE_FID = 0x1
831 FAN_EVENT_INFO_TYPE_NEW_DFID_NAME = 0xc
832 FAN_EVENT_INFO_TYPE_OLD_DFID_NAME = 0xa
813833 FAN_EVENT_INFO_TYPE_PIDFD = 0x4
814834 FAN_EVENT_METADATA_LEN = 0x18
815835 FAN_EVENT_ON_CHILD = 0x8000000
836 FAN_FS_ERROR = 0x8000
816837 FAN_MARK_ADD = 0x1
817838 FAN_MARK_DONT_FOLLOW = 0x4
818839 FAN_MARK_FILESYSTEM = 0x100
837858 FAN_OPEN_EXEC_PERM = 0x40000
838859 FAN_OPEN_PERM = 0x10000
839860 FAN_Q_OVERFLOW = 0x4000
861 FAN_RENAME = 0x10000000
840862 FAN_REPORT_DFID_NAME = 0xc00
863 FAN_REPORT_DFID_NAME_TARGET = 0x1e00
841864 FAN_REPORT_DIR_FID = 0x400
842865 FAN_REPORT_FID = 0x200
843866 FAN_REPORT_NAME = 0x800
844867 FAN_REPORT_PIDFD = 0x80
868 FAN_REPORT_TARGET_FID = 0x1000
845869 FAN_REPORT_TID = 0x100
846870 FAN_UNLIMITED_MARKS = 0x20
847871 FAN_UNLIMITED_QUEUE = 0x10
848872 FD_CLOEXEC = 0x1
849873 FD_SETSIZE = 0x400
850874 FF0 = 0x0
875 FIB_RULE_DEV_DETACHED = 0x8
876 FIB_RULE_FIND_SADDR = 0x10000
877 FIB_RULE_IIF_DETACHED = 0x8
878 FIB_RULE_INVERT = 0x2
879 FIB_RULE_OIF_DETACHED = 0x10
880 FIB_RULE_PERMANENT = 0x1
881 FIB_RULE_UNRESOLVED = 0x4
851882 FIDEDUPERANGE = 0xc0189436
852883 FSCRYPT_KEY_DESCRIPTOR_SIZE = 0x8
853884 FSCRYPT_KEY_DESC_PREFIX = "fscrypt:"
910941 FS_VERITY_METADATA_TYPE_DESCRIPTOR = 0x2
911942 FS_VERITY_METADATA_TYPE_MERKLE_TREE = 0x1
912943 FS_VERITY_METADATA_TYPE_SIGNATURE = 0x3
944 FUSE_SUPER_MAGIC = 0x65735546
913945 FUTEXFS_SUPER_MAGIC = 0xbad1dea
914946 F_ADD_SEALS = 0x409
915947 F_DUPFD = 0x0
12631295 IP_XFRM_POLICY = 0x11
12641296 ISOFS_SUPER_MAGIC = 0x9660
12651297 ISTRIP = 0x20
1298 ITIMER_PROF = 0x2
1299 ITIMER_REAL = 0x0
1300 ITIMER_VIRTUAL = 0x1
12661301 IUTF8 = 0x4000
12671302 IXANY = 0x800
12681303 JFFS2_SUPER_MAGIC = 0x72b6
1304 KCMPROTO_CONNECTED = 0x0
1305 KCM_RECV_DISABLE = 0x1
12691306 KEXEC_ARCH_386 = 0x30000
12701307 KEXEC_ARCH_68K = 0x40000
12711308 KEXEC_ARCH_AARCH64 = 0xb70000
12721309 KEXEC_ARCH_ARM = 0x280000
12731310 KEXEC_ARCH_DEFAULT = 0x0
12741311 KEXEC_ARCH_IA_64 = 0x320000
1312 KEXEC_ARCH_LOONGARCH = 0x1020000
12751313 KEXEC_ARCH_MASK = 0xffff0000
12761314 KEXEC_ARCH_MIPS = 0x80000
12771315 KEXEC_ARCH_MIPS_LE = 0xa0000
14731511 MNT_DETACH = 0x2
14741512 MNT_EXPIRE = 0x4
14751513 MNT_FORCE = 0x1
1514 MODULE_INIT_COMPRESSED_FILE = 0x4
14761515 MODULE_INIT_IGNORE_MODVERSIONS = 0x1
14771516 MODULE_INIT_IGNORE_VERMAGIC = 0x2
14781517 MOUNT_ATTR_IDMAP = 0x100000
18261865 PERF_MEM_BLK_DATA = 0x2
18271866 PERF_MEM_BLK_NA = 0x1
18281867 PERF_MEM_BLK_SHIFT = 0x28
1868 PERF_MEM_HOPS_0 = 0x1
1869 PERF_MEM_HOPS_1 = 0x2
1870 PERF_MEM_HOPS_2 = 0x3
1871 PERF_MEM_HOPS_3 = 0x4
1872 PERF_MEM_HOPS_SHIFT = 0x2b
18291873 PERF_MEM_LOCK_LOCKED = 0x2
18301874 PERF_MEM_LOCK_NA = 0x1
18311875 PERF_MEM_LOCK_SHIFT = 0x18
19852029 PR_SCHED_CORE_CREATE = 0x1
19862030 PR_SCHED_CORE_GET = 0x0
19872031 PR_SCHED_CORE_MAX = 0x4
2032 PR_SCHED_CORE_SCOPE_PROCESS_GROUP = 0x2
2033 PR_SCHED_CORE_SCOPE_THREAD = 0x0
2034 PR_SCHED_CORE_SCOPE_THREAD_GROUP = 0x1
19882035 PR_SCHED_CORE_SHARE_FROM = 0x3
19892036 PR_SCHED_CORE_SHARE_TO = 0x2
19902037 PR_SET_CHILD_SUBREAPER = 0x24
20252072 PR_SET_TIMING = 0xe
20262073 PR_SET_TSC = 0x1a
20272074 PR_SET_UNALIGN = 0x6
2075 PR_SET_VMA = 0x53564d41
2076 PR_SET_VMA_ANON_NAME = 0x0
20282077 PR_SPEC_DISABLE = 0x4
20292078 PR_SPEC_DISABLE_NOEXEC = 0x10
20302079 PR_SPEC_ENABLE = 0x2
21082157 PTRACE_SYSCALL_INFO_NONE = 0x0
21092158 PTRACE_SYSCALL_INFO_SECCOMP = 0x3
21102159 PTRACE_TRACEME = 0x0
2160 P_ALL = 0x0
2161 P_PGID = 0x2
2162 P_PID = 0x1
2163 P_PIDFD = 0x3
21112164 QNX4_SUPER_MAGIC = 0x2f
21122165 QNX6_SUPER_MAGIC = 0x68191122
21132166 RAMFS_MAGIC = 0x858458f6
21662219 RTCF_NAT = 0x800000
21672220 RTCF_VALVE = 0x200000
21682221 RTC_AF = 0x20
2222 RTC_BSM_DIRECT = 0x1
2223 RTC_BSM_DISABLED = 0x0
2224 RTC_BSM_LEVEL = 0x2
2225 RTC_BSM_STANDBY = 0x3
21692226 RTC_FEATURE_ALARM = 0x0
2227 RTC_FEATURE_ALARM_RES_2S = 0x3
21702228 RTC_FEATURE_ALARM_RES_MINUTE = 0x1
2171 RTC_FEATURE_CNT = 0x3
2229 RTC_FEATURE_BACKUP_SWITCH_MODE = 0x6
2230 RTC_FEATURE_CNT = 0x7
2231 RTC_FEATURE_CORRECTION = 0x5
21722232 RTC_FEATURE_NEED_WEEK_DAY = 0x2
2233 RTC_FEATURE_UPDATE_INTERRUPT = 0x4
21732234 RTC_IRQF = 0x80
21742235 RTC_MAX_FREQ = 0x2000
2236 RTC_PARAM_BACKUP_SWITCH_MODE = 0x2
2237 RTC_PARAM_CORRECTION = 0x1
2238 RTC_PARAM_FEATURES = 0x0
21752239 RTC_PF = 0x40
21762240 RTC_UF = 0x10
21772241 RTF_ADDRCLASSMASK = 0xf8000000
24222486 SIOCGSTAMPNS = 0x8907
24232487 SIOCGSTAMPNS_OLD = 0x8907
24242488 SIOCGSTAMP_OLD = 0x8906
2489 SIOCKCMATTACH = 0x89e0
2490 SIOCKCMCLONE = 0x89e2
2491 SIOCKCMUNATTACH = 0x89e1
24252492 SIOCOUTQNSD = 0x894b
24262493 SIOCPROTOPRIVATE = 0x89e0
24272494 SIOCRTMSG = 0x890d
24642531 SMART_STATUS = 0xda
24652532 SMART_WRITE_LOG_SECTOR = 0xd6
24662533 SMART_WRITE_THRESHOLDS = 0xd7
2534 SMB2_SUPER_MAGIC = 0xfe534d42
24672535 SMB_SUPER_MAGIC = 0x517b
24682536 SOCKFS_MAGIC = 0x534f434b
24692537 SOCK_BUF_LOCK_MASK = 0x3
25312599 SO_VM_SOCKETS_BUFFER_MIN_SIZE = 0x1
25322600 SO_VM_SOCKETS_BUFFER_SIZE = 0x0
25332601 SO_VM_SOCKETS_CONNECT_TIMEOUT = 0x6
2602 SO_VM_SOCKETS_CONNECT_TIMEOUT_NEW = 0x8
2603 SO_VM_SOCKETS_CONNECT_TIMEOUT_OLD = 0x6
25342604 SO_VM_SOCKETS_NONBLOCK_TXRX = 0x7
25352605 SO_VM_SOCKETS_PEER_HOST_VM_ID = 0x3
25362606 SO_VM_SOCKETS_TRUSTED = 0x5
26032673 TASKSTATS_GENL_NAME = "TASKSTATS"
26042674 TASKSTATS_GENL_VERSION = 0x1
26052675 TASKSTATS_TYPE_MAX = 0x6
2606 TASKSTATS_VERSION = 0xa
2676 TASKSTATS_VERSION = 0xb
26072677 TCIFLUSH = 0x0
26082678 TCIOFF = 0x2
26092679 TCIOFLUSH = 0x2
249249 RTC_EPOCH_SET = 0x4004700e
250250 RTC_IRQP_READ = 0x8004700b
251251 RTC_IRQP_SET = 0x4004700c
252 RTC_PARAM_GET = 0x40187013
253 RTC_PARAM_SET = 0x40187014
252254 RTC_PIE_OFF = 0x7006
253255 RTC_PIE_ON = 0x7005
254256 RTC_PLL_GET = 0x801c7011
326328 SO_RCVTIMEO = 0x14
327329 SO_RCVTIMEO_NEW = 0x42
328330 SO_RCVTIMEO_OLD = 0x14
331 SO_RESERVE_MEM = 0x49
329332 SO_REUSEADDR = 0x2
330333 SO_REUSEPORT = 0xf
331334 SO_RXQ_OVFL = 0x28
250250 RTC_EPOCH_SET = 0x4008700e
251251 RTC_IRQP_READ = 0x8008700b
252252 RTC_IRQP_SET = 0x4008700c
253 RTC_PARAM_GET = 0x40187013
254 RTC_PARAM_SET = 0x40187014
253255 RTC_PIE_OFF = 0x7006
254256 RTC_PIE_ON = 0x7005
255257 RTC_PLL_GET = 0x80207011
327329 SO_RCVTIMEO = 0x14
328330 SO_RCVTIMEO_NEW = 0x42
329331 SO_RCVTIMEO_OLD = 0x14
332 SO_RESERVE_MEM = 0x49
330333 SO_REUSEADDR = 0x2
331334 SO_REUSEPORT = 0xf
332335 SO_RXQ_OVFL = 0x28
256256 RTC_EPOCH_SET = 0x4004700e
257257 RTC_IRQP_READ = 0x8004700b
258258 RTC_IRQP_SET = 0x4004700c
259 RTC_PARAM_GET = 0x40187013
260 RTC_PARAM_SET = 0x40187014
259261 RTC_PIE_OFF = 0x7006
260262 RTC_PIE_ON = 0x7005
261263 RTC_PLL_GET = 0x801c7011
333335 SO_RCVTIMEO = 0x14
334336 SO_RCVTIMEO_NEW = 0x42
335337 SO_RCVTIMEO_OLD = 0x14
338 SO_RESERVE_MEM = 0x49
336339 SO_REUSEADDR = 0x2
337340 SO_REUSEPORT = 0xf
338341 SO_RXQ_OVFL = 0x28
246246 RTC_EPOCH_SET = 0x4008700e
247247 RTC_IRQP_READ = 0x8008700b
248248 RTC_IRQP_SET = 0x4008700c
249 RTC_PARAM_GET = 0x40187013
250 RTC_PARAM_SET = 0x40187014
249251 RTC_PIE_OFF = 0x7006
250252 RTC_PIE_ON = 0x7005
251253 RTC_PLL_GET = 0x80207011
323325 SO_RCVTIMEO = 0x14
324326 SO_RCVTIMEO_NEW = 0x42
325327 SO_RCVTIMEO_OLD = 0x14
328 SO_RESERVE_MEM = 0x49
326329 SO_REUSEADDR = 0x2
327330 SO_REUSEPORT = 0xf
328331 SO_RXQ_OVFL = 0x28
0 // mkerrors.sh -Wall -Werror -static -I/tmp/include
1 // Code generated by the command above; see README.md. DO NOT EDIT.
2
3 //go:build loong64 && linux
4 // +build loong64,linux
5
6 // Code generated by cmd/cgo -godefs; DO NOT EDIT.
7 // cgo -godefs -- -Wall -Werror -static -I/tmp/include /build/unix/_const.go
8
9 package unix
10
11 import "syscall"
12
13 const (
14 B1000000 = 0x1008
15 B115200 = 0x1002
16 B1152000 = 0x1009
17 B1500000 = 0x100a
18 B2000000 = 0x100b
19 B230400 = 0x1003
20 B2500000 = 0x100c
21 B3000000 = 0x100d
22 B3500000 = 0x100e
23 B4000000 = 0x100f
24 B460800 = 0x1004
25 B500000 = 0x1005
26 B57600 = 0x1001
27 B576000 = 0x1006
28 B921600 = 0x1007
29 BLKBSZGET = 0x80081270
30 BLKBSZSET = 0x40081271
31 BLKFLSBUF = 0x1261
32 BLKFRAGET = 0x1265
33 BLKFRASET = 0x1264
34 BLKGETSIZE = 0x1260
35 BLKGETSIZE64 = 0x80081272
36 BLKPBSZGET = 0x127b
37 BLKRAGET = 0x1263
38 BLKRASET = 0x1262
39 BLKROGET = 0x125e
40 BLKROSET = 0x125d
41 BLKRRPART = 0x125f
42 BLKSECTGET = 0x1267
43 BLKSECTSET = 0x1266
44 BLKSSZGET = 0x1268
45 BOTHER = 0x1000
46 BS1 = 0x2000
47 BSDLY = 0x2000
48 CBAUD = 0x100f
49 CBAUDEX = 0x1000
50 CIBAUD = 0x100f0000
51 CLOCAL = 0x800
52 CR1 = 0x200
53 CR2 = 0x400
54 CR3 = 0x600
55 CRDLY = 0x600
56 CREAD = 0x80
57 CS6 = 0x10
58 CS7 = 0x20
59 CS8 = 0x30
60 CSIZE = 0x30
61 CSTOPB = 0x40
62 ECCGETLAYOUT = 0x81484d11
63 ECCGETSTATS = 0x80104d12
64 ECHOCTL = 0x200
65 ECHOE = 0x10
66 ECHOK = 0x20
67 ECHOKE = 0x800
68 ECHONL = 0x40
69 ECHOPRT = 0x400
70 EFD_CLOEXEC = 0x80000
71 EFD_NONBLOCK = 0x800
72 EPOLL_CLOEXEC = 0x80000
73 EXTPROC = 0x10000
74 FF1 = 0x8000
75 FFDLY = 0x8000
76 FICLONE = 0x40049409
77 FICLONERANGE = 0x4020940d
78 FLUSHO = 0x1000
79 FPU_CTX_MAGIC = 0x46505501
80 FS_IOC_ENABLE_VERITY = 0x40806685
81 FS_IOC_GETFLAGS = 0x80086601
82 FS_IOC_GET_ENCRYPTION_NONCE = 0x8010661b
83 FS_IOC_GET_ENCRYPTION_POLICY = 0x400c6615
84 FS_IOC_GET_ENCRYPTION_PWSALT = 0x40106614
85 FS_IOC_SETFLAGS = 0x40086602
86 FS_IOC_SET_ENCRYPTION_POLICY = 0x800c6613
87 F_GETLK = 0x5
88 F_GETLK64 = 0x5
89 F_GETOWN = 0x9
90 F_RDLCK = 0x0
91 F_SETLK = 0x6
92 F_SETLK64 = 0x6
93 F_SETLKW = 0x7
94 F_SETLKW64 = 0x7
95 F_SETOWN = 0x8
96 F_UNLCK = 0x2
97 F_WRLCK = 0x1
98 HIDIOCGRAWINFO = 0x80084803
99 HIDIOCGRDESC = 0x90044802
100 HIDIOCGRDESCSIZE = 0x80044801
101 HUPCL = 0x400
102 ICANON = 0x2
103 IEXTEN = 0x8000
104 IN_CLOEXEC = 0x80000
105 IN_NONBLOCK = 0x800
106 IOCTL_VM_SOCKETS_GET_LOCAL_CID = 0x7b9
107 ISIG = 0x1
108 IUCLC = 0x200
109 IXOFF = 0x1000
110 IXON = 0x400
111 LASX_CTX_MAGIC = 0x41535801
112 LSX_CTX_MAGIC = 0x53580001
113 MAP_ANON = 0x20
114 MAP_ANONYMOUS = 0x20
115 MAP_DENYWRITE = 0x800
116 MAP_EXECUTABLE = 0x1000
117 MAP_GROWSDOWN = 0x100
118 MAP_HUGETLB = 0x40000
119 MAP_LOCKED = 0x2000
120 MAP_NONBLOCK = 0x10000
121 MAP_NORESERVE = 0x4000
122 MAP_POPULATE = 0x8000
123 MAP_STACK = 0x20000
124 MAP_SYNC = 0x80000
125 MCL_CURRENT = 0x1
126 MCL_FUTURE = 0x2
127 MCL_ONFAULT = 0x4
128 MEMERASE = 0x40084d02
129 MEMERASE64 = 0x40104d14
130 MEMGETBADBLOCK = 0x40084d0b
131 MEMGETINFO = 0x80204d01
132 MEMGETOOBSEL = 0x80c84d0a
133 MEMGETREGIONCOUNT = 0x80044d07
134 MEMISLOCKED = 0x80084d17
135 MEMLOCK = 0x40084d05
136 MEMREADOOB = 0xc0104d04
137 MEMSETBADBLOCK = 0x40084d0c
138 MEMUNLOCK = 0x40084d06
139 MEMWRITEOOB = 0xc0104d03
140 MTDFILEMODE = 0x4d13
141 NFDBITS = 0x40
142 NLDLY = 0x100
143 NOFLSH = 0x80
144 NS_GET_NSTYPE = 0xb703
145 NS_GET_OWNER_UID = 0xb704
146 NS_GET_PARENT = 0xb702
147 NS_GET_USERNS = 0xb701
148 OLCUC = 0x2
149 ONLCR = 0x4
150 OTPERASE = 0x400c4d19
151 OTPGETREGIONCOUNT = 0x40044d0e
152 OTPGETREGIONINFO = 0x400c4d0f
153 OTPLOCK = 0x800c4d10
154 OTPSELECT = 0x80044d0d
155 O_APPEND = 0x400
156 O_ASYNC = 0x2000
157 O_CLOEXEC = 0x80000
158 O_CREAT = 0x40
159 O_DIRECT = 0x4000
160 O_DIRECTORY = 0x10000
161 O_DSYNC = 0x1000
162 O_EXCL = 0x80
163 O_FSYNC = 0x101000
164 O_LARGEFILE = 0x0
165 O_NDELAY = 0x800
166 O_NOATIME = 0x40000
167 O_NOCTTY = 0x100
168 O_NOFOLLOW = 0x20000
169 O_NONBLOCK = 0x800
170 O_PATH = 0x200000
171 O_RSYNC = 0x101000
172 O_SYNC = 0x101000
173 O_TMPFILE = 0x410000
174 O_TRUNC = 0x200
175 PARENB = 0x100
176 PARODD = 0x200
177 PENDIN = 0x4000
178 PERF_EVENT_IOC_DISABLE = 0x2401
179 PERF_EVENT_IOC_ENABLE = 0x2400
180 PERF_EVENT_IOC_ID = 0x80082407
181 PERF_EVENT_IOC_MODIFY_ATTRIBUTES = 0x4008240b
182 PERF_EVENT_IOC_PAUSE_OUTPUT = 0x40042409
183 PERF_EVENT_IOC_PERIOD = 0x40082404
184 PERF_EVENT_IOC_QUERY_BPF = 0xc008240a
185 PERF_EVENT_IOC_REFRESH = 0x2402
186 PERF_EVENT_IOC_RESET = 0x2403
187 PERF_EVENT_IOC_SET_BPF = 0x40042408
188 PERF_EVENT_IOC_SET_FILTER = 0x40082406
189 PERF_EVENT_IOC_SET_OUTPUT = 0x2405
190 PPPIOCATTACH = 0x4004743d
191 PPPIOCATTCHAN = 0x40047438
192 PPPIOCBRIDGECHAN = 0x40047435
193 PPPIOCCONNECT = 0x4004743a
194 PPPIOCDETACH = 0x4004743c
195 PPPIOCDISCONN = 0x7439
196 PPPIOCGASYNCMAP = 0x80047458
197 PPPIOCGCHAN = 0x80047437
198 PPPIOCGDEBUG = 0x80047441
199 PPPIOCGFLAGS = 0x8004745a
200 PPPIOCGIDLE = 0x8010743f
201 PPPIOCGIDLE32 = 0x8008743f
202 PPPIOCGIDLE64 = 0x8010743f
203 PPPIOCGL2TPSTATS = 0x80487436
204 PPPIOCGMRU = 0x80047453
205 PPPIOCGRASYNCMAP = 0x80047455
206 PPPIOCGUNIT = 0x80047456
207 PPPIOCGXASYNCMAP = 0x80207450
208 PPPIOCSACTIVE = 0x40107446
209 PPPIOCSASYNCMAP = 0x40047457
210 PPPIOCSCOMPRESS = 0x4010744d
211 PPPIOCSDEBUG = 0x40047440
212 PPPIOCSFLAGS = 0x40047459
213 PPPIOCSMAXCID = 0x40047451
214 PPPIOCSMRRU = 0x4004743b
215 PPPIOCSMRU = 0x40047452
216 PPPIOCSNPMODE = 0x4008744b
217 PPPIOCSPASS = 0x40107447
218 PPPIOCSRASYNCMAP = 0x40047454
219 PPPIOCSXASYNCMAP = 0x4020744f
220 PPPIOCUNBRIDGECHAN = 0x7434
221 PPPIOCXFERUNIT = 0x744e
222 PR_SET_PTRACER_ANY = 0xffffffffffffffff
223 PTRACE_SYSEMU = 0x1f
224 PTRACE_SYSEMU_SINGLESTEP = 0x20
225 RLIMIT_AS = 0x9
226 RLIMIT_MEMLOCK = 0x8
227 RLIMIT_NOFILE = 0x7
228 RLIMIT_NPROC = 0x6
229 RLIMIT_RSS = 0x5
230 RNDADDENTROPY = 0x40085203
231 RNDADDTOENTCNT = 0x40045201
232 RNDCLEARPOOL = 0x5206
233 RNDGETENTCNT = 0x80045200
234 RNDGETPOOL = 0x80085202
235 RNDRESEEDCRNG = 0x5207
236 RNDZAPENTCNT = 0x5204
237 RTC_AIE_OFF = 0x7002
238 RTC_AIE_ON = 0x7001
239 RTC_ALM_READ = 0x80247008
240 RTC_ALM_SET = 0x40247007
241 RTC_EPOCH_READ = 0x8008700d
242 RTC_EPOCH_SET = 0x4008700e
243 RTC_IRQP_READ = 0x8008700b
244 RTC_IRQP_SET = 0x4008700c
245 RTC_PARAM_GET = 0x40187013
246 RTC_PARAM_SET = 0x40187014
247 RTC_PIE_OFF = 0x7006
248 RTC_PIE_ON = 0x7005
249 RTC_PLL_GET = 0x80207011
250 RTC_PLL_SET = 0x40207012
251 RTC_RD_TIME = 0x80247009
252 RTC_SET_TIME = 0x4024700a
253 RTC_UIE_OFF = 0x7004
254 RTC_UIE_ON = 0x7003
255 RTC_VL_CLR = 0x7014
256 RTC_VL_READ = 0x80047013
257 RTC_WIE_OFF = 0x7010
258 RTC_WIE_ON = 0x700f
259 RTC_WKALM_RD = 0x80287010
260 RTC_WKALM_SET = 0x4028700f
261 SCM_TIMESTAMPING = 0x25
262 SCM_TIMESTAMPING_OPT_STATS = 0x36
263 SCM_TIMESTAMPING_PKTINFO = 0x3a
264 SCM_TIMESTAMPNS = 0x23
265 SCM_TXTIME = 0x3d
266 SCM_WIFI_STATUS = 0x29
267 SFD_CLOEXEC = 0x80000
268 SFD_NONBLOCK = 0x800
269 SIOCATMARK = 0x8905
270 SIOCGPGRP = 0x8904
271 SIOCGSTAMPNS_NEW = 0x80108907
272 SIOCGSTAMP_NEW = 0x80108906
273 SIOCINQ = 0x541b
274 SIOCOUTQ = 0x5411
275 SIOCSPGRP = 0x8902
276 SOCK_CLOEXEC = 0x80000
277 SOCK_DGRAM = 0x2
278 SOCK_NONBLOCK = 0x800
279 SOCK_STREAM = 0x1
280 SOL_SOCKET = 0x1
281 SO_ACCEPTCONN = 0x1e
282 SO_ATTACH_BPF = 0x32
283 SO_ATTACH_REUSEPORT_CBPF = 0x33
284 SO_ATTACH_REUSEPORT_EBPF = 0x34
285 SO_BINDTODEVICE = 0x19
286 SO_BINDTOIFINDEX = 0x3e
287 SO_BPF_EXTENSIONS = 0x30
288 SO_BROADCAST = 0x6
289 SO_BSDCOMPAT = 0xe
290 SO_BUF_LOCK = 0x48
291 SO_BUSY_POLL = 0x2e
292 SO_BUSY_POLL_BUDGET = 0x46
293 SO_CNX_ADVICE = 0x35
294 SO_COOKIE = 0x39
295 SO_DETACH_REUSEPORT_BPF = 0x44
296 SO_DOMAIN = 0x27
297 SO_DONTROUTE = 0x5
298 SO_ERROR = 0x4
299 SO_INCOMING_CPU = 0x31
300 SO_INCOMING_NAPI_ID = 0x38
301 SO_KEEPALIVE = 0x9
302 SO_LINGER = 0xd
303 SO_LOCK_FILTER = 0x2c
304 SO_MARK = 0x24
305 SO_MAX_PACING_RATE = 0x2f
306 SO_MEMINFO = 0x37
307 SO_NETNS_COOKIE = 0x47
308 SO_NOFCS = 0x2b
309 SO_OOBINLINE = 0xa
310 SO_PASSCRED = 0x10
311 SO_PASSSEC = 0x22
312 SO_PEEK_OFF = 0x2a
313 SO_PEERCRED = 0x11
314 SO_PEERGROUPS = 0x3b
315 SO_PEERSEC = 0x1f
316 SO_PREFER_BUSY_POLL = 0x45
317 SO_PROTOCOL = 0x26
318 SO_RCVBUF = 0x8
319 SO_RCVBUFFORCE = 0x21
320 SO_RCVLOWAT = 0x12
321 SO_RCVTIMEO = 0x14
322 SO_RCVTIMEO_NEW = 0x42
323 SO_RCVTIMEO_OLD = 0x14
324 SO_RESERVE_MEM = 0x49
325 SO_REUSEADDR = 0x2
326 SO_REUSEPORT = 0xf
327 SO_RXQ_OVFL = 0x28
328 SO_SECURITY_AUTHENTICATION = 0x16
329 SO_SECURITY_ENCRYPTION_NETWORK = 0x18
330 SO_SECURITY_ENCRYPTION_TRANSPORT = 0x17
331 SO_SELECT_ERR_QUEUE = 0x2d
332 SO_SNDBUF = 0x7
333 SO_SNDBUFFORCE = 0x20
334 SO_SNDLOWAT = 0x13
335 SO_SNDTIMEO = 0x15
336 SO_SNDTIMEO_NEW = 0x43
337 SO_SNDTIMEO_OLD = 0x15
338 SO_TIMESTAMPING = 0x25
339 SO_TIMESTAMPING_NEW = 0x41
340 SO_TIMESTAMPING_OLD = 0x25
341 SO_TIMESTAMPNS = 0x23
342 SO_TIMESTAMPNS_NEW = 0x40
343 SO_TIMESTAMPNS_OLD = 0x23
344 SO_TIMESTAMP_NEW = 0x3f
345 SO_TXTIME = 0x3d
346 SO_TYPE = 0x3
347 SO_WIFI_STATUS = 0x29
348 SO_ZEROCOPY = 0x3c
349 TAB1 = 0x800
350 TAB2 = 0x1000
351 TAB3 = 0x1800
352 TABDLY = 0x1800
353 TCFLSH = 0x540b
354 TCGETA = 0x5405
355 TCGETS = 0x5401
356 TCGETS2 = 0x802c542a
357 TCGETX = 0x5432
358 TCSAFLUSH = 0x2
359 TCSBRK = 0x5409
360 TCSBRKP = 0x5425
361 TCSETA = 0x5406
362 TCSETAF = 0x5408
363 TCSETAW = 0x5407
364 TCSETS = 0x5402
365 TCSETS2 = 0x402c542b
366 TCSETSF = 0x5404
367 TCSETSF2 = 0x402c542d
368 TCSETSW = 0x5403
369 TCSETSW2 = 0x402c542c
370 TCSETX = 0x5433
371 TCSETXF = 0x5434
372 TCSETXW = 0x5435
373 TCXONC = 0x540a
374 TFD_CLOEXEC = 0x80000
375 TFD_NONBLOCK = 0x800
376 TIOCCBRK = 0x5428
377 TIOCCONS = 0x541d
378 TIOCEXCL = 0x540c
379 TIOCGDEV = 0x80045432
380 TIOCGETD = 0x5424
381 TIOCGEXCL = 0x80045440
382 TIOCGICOUNT = 0x545d
383 TIOCGISO7816 = 0x80285442
384 TIOCGLCKTRMIOS = 0x5456
385 TIOCGPGRP = 0x540f
386 TIOCGPKT = 0x80045438
387 TIOCGPTLCK = 0x80045439
388 TIOCGPTN = 0x80045430
389 TIOCGPTPEER = 0x5441
390 TIOCGRS485 = 0x542e
391 TIOCGSERIAL = 0x541e
392 TIOCGSID = 0x5429
393 TIOCGSOFTCAR = 0x5419
394 TIOCGWINSZ = 0x5413
395 TIOCINQ = 0x541b
396 TIOCLINUX = 0x541c
397 TIOCMBIC = 0x5417
398 TIOCMBIS = 0x5416
399 TIOCMGET = 0x5415
400 TIOCMIWAIT = 0x545c
401 TIOCMSET = 0x5418
402 TIOCM_CAR = 0x40
403 TIOCM_CD = 0x40
404 TIOCM_CTS = 0x20
405 TIOCM_DSR = 0x100
406 TIOCM_RI = 0x80
407 TIOCM_RNG = 0x80
408 TIOCM_SR = 0x10
409 TIOCM_ST = 0x8
410 TIOCNOTTY = 0x5422
411 TIOCNXCL = 0x540d
412 TIOCOUTQ = 0x5411
413 TIOCPKT = 0x5420
414 TIOCSBRK = 0x5427
415 TIOCSCTTY = 0x540e
416 TIOCSERCONFIG = 0x5453
417 TIOCSERGETLSR = 0x5459
418 TIOCSERGETMULTI = 0x545a
419 TIOCSERGSTRUCT = 0x5458
420 TIOCSERGWILD = 0x5454
421 TIOCSERSETMULTI = 0x545b
422 TIOCSERSWILD = 0x5455
423 TIOCSER_TEMT = 0x1
424 TIOCSETD = 0x5423
425 TIOCSIG = 0x40045436
426 TIOCSISO7816 = 0xc0285443
427 TIOCSLCKTRMIOS = 0x5457
428 TIOCSPGRP = 0x5410
429 TIOCSPTLCK = 0x40045431
430 TIOCSRS485 = 0x542f
431 TIOCSSERIAL = 0x541f
432 TIOCSSOFTCAR = 0x541a
433 TIOCSTI = 0x5412
434 TIOCSWINSZ = 0x5414
435 TIOCVHANGUP = 0x5437
436 TOSTOP = 0x100
437 TUNATTACHFILTER = 0x401054d5
438 TUNDETACHFILTER = 0x401054d6
439 TUNGETDEVNETNS = 0x54e3
440 TUNGETFEATURES = 0x800454cf
441 TUNGETFILTER = 0x801054db
442 TUNGETIFF = 0x800454d2
443 TUNGETSNDBUF = 0x800454d3
444 TUNGETVNETBE = 0x800454df
445 TUNGETVNETHDRSZ = 0x800454d7
446 TUNGETVNETLE = 0x800454dd
447 TUNSETCARRIER = 0x400454e2
448 TUNSETDEBUG = 0x400454c9
449 TUNSETFILTEREBPF = 0x800454e1
450 TUNSETGROUP = 0x400454ce
451 TUNSETIFF = 0x400454ca
452 TUNSETIFINDEX = 0x400454da
453 TUNSETLINK = 0x400454cd
454 TUNSETNOCSUM = 0x400454c8
455 TUNSETOFFLOAD = 0x400454d0
456 TUNSETOWNER = 0x400454cc
457 TUNSETPERSIST = 0x400454cb
458 TUNSETQUEUE = 0x400454d9
459 TUNSETSNDBUF = 0x400454d4
460 TUNSETSTEERINGEBPF = 0x800454e0
461 TUNSETTXFILTER = 0x400454d1
462 TUNSETVNETBE = 0x400454de
463 TUNSETVNETHDRSZ = 0x400454d8
464 TUNSETVNETLE = 0x400454dc
465 UBI_IOCATT = 0x40186f40
466 UBI_IOCDET = 0x40046f41
467 UBI_IOCEBCH = 0x40044f02
468 UBI_IOCEBER = 0x40044f01
469 UBI_IOCEBISMAP = 0x80044f05
470 UBI_IOCEBMAP = 0x40084f03
471 UBI_IOCEBUNMAP = 0x40044f04
472 UBI_IOCMKVOL = 0x40986f00
473 UBI_IOCRMVOL = 0x40046f01
474 UBI_IOCRNVOL = 0x51106f03
475 UBI_IOCRPEB = 0x40046f04
476 UBI_IOCRSVOL = 0x400c6f02
477 UBI_IOCSETVOLPROP = 0x40104f06
478 UBI_IOCSPEB = 0x40046f05
479 UBI_IOCVOLCRBLK = 0x40804f07
480 UBI_IOCVOLRMBLK = 0x4f08
481 UBI_IOCVOLUP = 0x40084f00
482 VDISCARD = 0xd
483 VEOF = 0x4
484 VEOL = 0xb
485 VEOL2 = 0x10
486 VMIN = 0x6
487 VREPRINT = 0xc
488 VSTART = 0x8
489 VSTOP = 0x9
490 VSUSP = 0xa
491 VSWTC = 0x7
492 VT1 = 0x4000
493 VTDLY = 0x4000
494 VTIME = 0x5
495 VWERASE = 0xe
496 WDIOC_GETBOOTSTATUS = 0x80045702
497 WDIOC_GETPRETIMEOUT = 0x80045709
498 WDIOC_GETSTATUS = 0x80045701
499 WDIOC_GETSUPPORT = 0x80285700
500 WDIOC_GETTEMP = 0x80045703
501 WDIOC_GETTIMELEFT = 0x8004570a
502 WDIOC_GETTIMEOUT = 0x80045707
503 WDIOC_KEEPALIVE = 0x80045705
504 WDIOC_SETOPTIONS = 0x80045704
505 WORDSIZE = 0x40
506 XCASE = 0x4
507 XTABS = 0x1800
508 _HIDIOCGRAWNAME = 0x80804804
509 _HIDIOCGRAWPHYS = 0x80404805
510 _HIDIOCGRAWUNIQ = 0x80404808
511 )
512
513 // Errors
514 const (
515 EADDRINUSE = syscall.Errno(0x62)
516 EADDRNOTAVAIL = syscall.Errno(0x63)
517 EADV = syscall.Errno(0x44)
518 EAFNOSUPPORT = syscall.Errno(0x61)
519 EALREADY = syscall.Errno(0x72)
520 EBADE = syscall.Errno(0x34)
521 EBADFD = syscall.Errno(0x4d)
522 EBADMSG = syscall.Errno(0x4a)
523 EBADR = syscall.Errno(0x35)
524 EBADRQC = syscall.Errno(0x38)
525 EBADSLT = syscall.Errno(0x39)
526 EBFONT = syscall.Errno(0x3b)
527 ECANCELED = syscall.Errno(0x7d)
528 ECHRNG = syscall.Errno(0x2c)
529 ECOMM = syscall.Errno(0x46)
530 ECONNABORTED = syscall.Errno(0x67)
531 ECONNREFUSED = syscall.Errno(0x6f)
532 ECONNRESET = syscall.Errno(0x68)
533 EDEADLK = syscall.Errno(0x23)
534 EDEADLOCK = syscall.Errno(0x23)
535 EDESTADDRREQ = syscall.Errno(0x59)
536 EDOTDOT = syscall.Errno(0x49)
537 EDQUOT = syscall.Errno(0x7a)
538 EHOSTDOWN = syscall.Errno(0x70)
539 EHOSTUNREACH = syscall.Errno(0x71)
540 EHWPOISON = syscall.Errno(0x85)
541 EIDRM = syscall.Errno(0x2b)
542 EILSEQ = syscall.Errno(0x54)
543 EINPROGRESS = syscall.Errno(0x73)
544 EISCONN = syscall.Errno(0x6a)
545 EISNAM = syscall.Errno(0x78)
546 EKEYEXPIRED = syscall.Errno(0x7f)
547 EKEYREJECTED = syscall.Errno(0x81)
548 EKEYREVOKED = syscall.Errno(0x80)
549 EL2HLT = syscall.Errno(0x33)
550 EL2NSYNC = syscall.Errno(0x2d)
551 EL3HLT = syscall.Errno(0x2e)
552 EL3RST = syscall.Errno(0x2f)
553 ELIBACC = syscall.Errno(0x4f)
554 ELIBBAD = syscall.Errno(0x50)
555 ELIBEXEC = syscall.Errno(0x53)
556 ELIBMAX = syscall.Errno(0x52)
557 ELIBSCN = syscall.Errno(0x51)
558 ELNRNG = syscall.Errno(0x30)
559 ELOOP = syscall.Errno(0x28)
560 EMEDIUMTYPE = syscall.Errno(0x7c)
561 EMSGSIZE = syscall.Errno(0x5a)
562 EMULTIHOP = syscall.Errno(0x48)
563 ENAMETOOLONG = syscall.Errno(0x24)
564 ENAVAIL = syscall.Errno(0x77)
565 ENETDOWN = syscall.Errno(0x64)
566 ENETRESET = syscall.Errno(0x66)
567 ENETUNREACH = syscall.Errno(0x65)
568 ENOANO = syscall.Errno(0x37)
569 ENOBUFS = syscall.Errno(0x69)
570 ENOCSI = syscall.Errno(0x32)
571 ENODATA = syscall.Errno(0x3d)
572 ENOKEY = syscall.Errno(0x7e)
573 ENOLCK = syscall.Errno(0x25)
574 ENOLINK = syscall.Errno(0x43)
575 ENOMEDIUM = syscall.Errno(0x7b)
576 ENOMSG = syscall.Errno(0x2a)
577 ENONET = syscall.Errno(0x40)
578 ENOPKG = syscall.Errno(0x41)
579 ENOPROTOOPT = syscall.Errno(0x5c)
580 ENOSR = syscall.Errno(0x3f)
581 ENOSTR = syscall.Errno(0x3c)
582 ENOSYS = syscall.Errno(0x26)
583 ENOTCONN = syscall.Errno(0x6b)
584 ENOTEMPTY = syscall.Errno(0x27)
585 ENOTNAM = syscall.Errno(0x76)
586 ENOTRECOVERABLE = syscall.Errno(0x83)
587 ENOTSOCK = syscall.Errno(0x58)
588 ENOTSUP = syscall.Errno(0x5f)
589 ENOTUNIQ = syscall.Errno(0x4c)
590 EOPNOTSUPP = syscall.Errno(0x5f)
591 EOVERFLOW = syscall.Errno(0x4b)
592 EOWNERDEAD = syscall.Errno(0x82)
593 EPFNOSUPPORT = syscall.Errno(0x60)
594 EPROTO = syscall.Errno(0x47)
595 EPROTONOSUPPORT = syscall.Errno(0x5d)
596 EPROTOTYPE = syscall.Errno(0x5b)
597 EREMCHG = syscall.Errno(0x4e)
598 EREMOTE = syscall.Errno(0x42)
599 EREMOTEIO = syscall.Errno(0x79)
600 ERESTART = syscall.Errno(0x55)
601 ERFKILL = syscall.Errno(0x84)
602 ESHUTDOWN = syscall.Errno(0x6c)
603 ESOCKTNOSUPPORT = syscall.Errno(0x5e)
604 ESRMNT = syscall.Errno(0x45)
605 ESTALE = syscall.Errno(0x74)
606 ESTRPIPE = syscall.Errno(0x56)
607 ETIME = syscall.Errno(0x3e)
608 ETIMEDOUT = syscall.Errno(0x6e)
609 ETOOMANYREFS = syscall.Errno(0x6d)
610 EUCLEAN = syscall.Errno(0x75)
611 EUNATCH = syscall.Errno(0x31)
612 EUSERS = syscall.Errno(0x57)
613 EXFULL = syscall.Errno(0x36)
614 )
615
616 // Signals
617 const (
618 SIGBUS = syscall.Signal(0x7)
619 SIGCHLD = syscall.Signal(0x11)
620 SIGCLD = syscall.Signal(0x11)
621 SIGCONT = syscall.Signal(0x12)
622 SIGIO = syscall.Signal(0x1d)
623 SIGPOLL = syscall.Signal(0x1d)
624 SIGPROF = syscall.Signal(0x1b)
625 SIGPWR = syscall.Signal(0x1e)
626 SIGSTKFLT = syscall.Signal(0x10)
627 SIGSTOP = syscall.Signal(0x13)
628 SIGSYS = syscall.Signal(0x1f)
629 SIGTSTP = syscall.Signal(0x14)
630 SIGTTIN = syscall.Signal(0x15)
631 SIGTTOU = syscall.Signal(0x16)
632 SIGURG = syscall.Signal(0x17)
633 SIGUSR1 = syscall.Signal(0xa)
634 SIGUSR2 = syscall.Signal(0xc)
635 SIGVTALRM = syscall.Signal(0x1a)
636 SIGWINCH = syscall.Signal(0x1c)
637 SIGXCPU = syscall.Signal(0x18)
638 SIGXFSZ = syscall.Signal(0x19)
639 )
640
641 // Error table
642 var errorList = [...]struct {
643 num syscall.Errno
644 name string
645 desc string
646 }{
647 {1, "EPERM", "operation not permitted"},
648 {2, "ENOENT", "no such file or directory"},
649 {3, "ESRCH", "no such process"},
650 {4, "EINTR", "interrupted system call"},
651 {5, "EIO", "input/output error"},
652 {6, "ENXIO", "no such device or address"},
653 {7, "E2BIG", "argument list too long"},
654 {8, "ENOEXEC", "exec format error"},
655 {9, "EBADF", "bad file descriptor"},
656 {10, "ECHILD", "no child processes"},
657 {11, "EAGAIN", "resource temporarily unavailable"},
658 {12, "ENOMEM", "cannot allocate memory"},
659 {13, "EACCES", "permission denied"},
660 {14, "EFAULT", "bad address"},
661 {15, "ENOTBLK", "block device required"},
662 {16, "EBUSY", "device or resource busy"},
663 {17, "EEXIST", "file exists"},
664 {18, "EXDEV", "invalid cross-device link"},
665 {19, "ENODEV", "no such device"},
666 {20, "ENOTDIR", "not a directory"},
667 {21, "EISDIR", "is a directory"},
668 {22, "EINVAL", "invalid argument"},
669 {23, "ENFILE", "too many open files in system"},
670 {24, "EMFILE", "too many open files"},
671 {25, "ENOTTY", "inappropriate ioctl for device"},
672 {26, "ETXTBSY", "text file busy"},
673 {27, "EFBIG", "file too large"},
674 {28, "ENOSPC", "no space left on device"},
675 {29, "ESPIPE", "illegal seek"},
676 {30, "EROFS", "read-only file system"},
677 {31, "EMLINK", "too many links"},
678 {32, "EPIPE", "broken pipe"},
679 {33, "EDOM", "numerical argument out of domain"},
680 {34, "ERANGE", "numerical result out of range"},
681 {35, "EDEADLK", "resource deadlock avoided"},
682 {36, "ENAMETOOLONG", "file name too long"},
683 {37, "ENOLCK", "no locks available"},
684 {38, "ENOSYS", "function not implemented"},
685 {39, "ENOTEMPTY", "directory not empty"},
686 {40, "ELOOP", "too many levels of symbolic links"},
687 {42, "ENOMSG", "no message of desired type"},
688 {43, "EIDRM", "identifier removed"},
689 {44, "ECHRNG", "channel number out of range"},
690 {45, "EL2NSYNC", "level 2 not synchronized"},
691 {46, "EL3HLT", "level 3 halted"},
692 {47, "EL3RST", "level 3 reset"},
693 {48, "ELNRNG", "link number out of range"},
694 {49, "EUNATCH", "protocol driver not attached"},
695 {50, "ENOCSI", "no CSI structure available"},
696 {51, "EL2HLT", "level 2 halted"},
697 {52, "EBADE", "invalid exchange"},
698 {53, "EBADR", "invalid request descriptor"},
699 {54, "EXFULL", "exchange full"},
700 {55, "ENOANO", "no anode"},
701 {56, "EBADRQC", "invalid request code"},
702 {57, "EBADSLT", "invalid slot"},
703 {59, "EBFONT", "bad font file format"},
704 {60, "ENOSTR", "device not a stream"},
705 {61, "ENODATA", "no data available"},
706 {62, "ETIME", "timer expired"},
707 {63, "ENOSR", "out of streams resources"},
708 {64, "ENONET", "machine is not on the network"},
709 {65, "ENOPKG", "package not installed"},
710 {66, "EREMOTE", "object is remote"},
711 {67, "ENOLINK", "link has been severed"},
712 {68, "EADV", "advertise error"},
713 {69, "ESRMNT", "srmount error"},
714 {70, "ECOMM", "communication error on send"},
715 {71, "EPROTO", "protocol error"},
716 {72, "EMULTIHOP", "multihop attempted"},
717 {73, "EDOTDOT", "RFS specific error"},
718 {74, "EBADMSG", "bad message"},
719 {75, "EOVERFLOW", "value too large for defined data type"},
720 {76, "ENOTUNIQ", "name not unique on network"},
721 {77, "EBADFD", "file descriptor in bad state"},
722 {78, "EREMCHG", "remote address changed"},
723 {79, "ELIBACC", "can not access a needed shared library"},
724 {80, "ELIBBAD", "accessing a corrupted shared library"},
725 {81, "ELIBSCN", ".lib section in a.out corrupted"},
726 {82, "ELIBMAX", "attempting to link in too many shared libraries"},
727 {83, "ELIBEXEC", "cannot exec a shared library directly"},
728 {84, "EILSEQ", "invalid or incomplete multibyte or wide character"},
729 {85, "ERESTART", "interrupted system call should be restarted"},
730 {86, "ESTRPIPE", "streams pipe error"},
731 {87, "EUSERS", "too many users"},
732 {88, "ENOTSOCK", "socket operation on non-socket"},
733 {89, "EDESTADDRREQ", "destination address required"},
734 {90, "EMSGSIZE", "message too long"},
735 {91, "EPROTOTYPE", "protocol wrong type for socket"},
736 {92, "ENOPROTOOPT", "protocol not available"},
737 {93, "EPROTONOSUPPORT", "protocol not supported"},
738 {94, "ESOCKTNOSUPPORT", "socket type not supported"},
739 {95, "ENOTSUP", "operation not supported"},
740 {96, "EPFNOSUPPORT", "protocol family not supported"},
741 {97, "EAFNOSUPPORT", "address family not supported by protocol"},
742 {98, "EADDRINUSE", "address already in use"},
743 {99, "EADDRNOTAVAIL", "cannot assign requested address"},
744 {100, "ENETDOWN", "network is down"},
745 {101, "ENETUNREACH", "network is unreachable"},
746 {102, "ENETRESET", "network dropped connection on reset"},
747 {103, "ECONNABORTED", "software caused connection abort"},
748 {104, "ECONNRESET", "connection reset by peer"},
749 {105, "ENOBUFS", "no buffer space available"},
750 {106, "EISCONN", "transport endpoint is already connected"},
751 {107, "ENOTCONN", "transport endpoint is not connected"},
752 {108, "ESHUTDOWN", "cannot send after transport endpoint shutdown"},
753 {109, "ETOOMANYREFS", "too many references: cannot splice"},
754 {110, "ETIMEDOUT", "connection timed out"},
755 {111, "ECONNREFUSED", "connection refused"},
756 {112, "EHOSTDOWN", "host is down"},
757 {113, "EHOSTUNREACH", "no route to host"},
758 {114, "EALREADY", "operation already in progress"},
759 {115, "EINPROGRESS", "operation now in progress"},
760 {116, "ESTALE", "stale file handle"},
761 {117, "EUCLEAN", "structure needs cleaning"},
762 {118, "ENOTNAM", "not a XENIX named type file"},
763 {119, "ENAVAIL", "no XENIX semaphores available"},
764 {120, "EISNAM", "is a named type file"},
765 {121, "EREMOTEIO", "remote I/O error"},
766 {122, "EDQUOT", "disk quota exceeded"},
767 {123, "ENOMEDIUM", "no medium found"},
768 {124, "EMEDIUMTYPE", "wrong medium type"},
769 {125, "ECANCELED", "operation canceled"},
770 {126, "ENOKEY", "required key not available"},
771 {127, "EKEYEXPIRED", "key has expired"},
772 {128, "EKEYREVOKED", "key has been revoked"},
773 {129, "EKEYREJECTED", "key was rejected by service"},
774 {130, "EOWNERDEAD", "owner died"},
775 {131, "ENOTRECOVERABLE", "state not recoverable"},
776 {132, "ERFKILL", "operation not possible due to RF-kill"},
777 {133, "EHWPOISON", "memory page has hardware error"},
778 }
779
780 // Signal table
781 var signalList = [...]struct {
782 num syscall.Signal
783 name string
784 desc string
785 }{
786 {1, "SIGHUP", "hangup"},
787 {2, "SIGINT", "interrupt"},
788 {3, "SIGQUIT", "quit"},
789 {4, "SIGILL", "illegal instruction"},
790 {5, "SIGTRAP", "trace/breakpoint trap"},
791 {6, "SIGABRT", "aborted"},
792 {7, "SIGBUS", "bus error"},
793 {8, "SIGFPE", "floating point exception"},
794 {9, "SIGKILL", "killed"},
795 {10, "SIGUSR1", "user defined signal 1"},
796 {11, "SIGSEGV", "segmentation fault"},
797 {12, "SIGUSR2", "user defined signal 2"},
798 {13, "SIGPIPE", "broken pipe"},
799 {14, "SIGALRM", "alarm clock"},
800 {15, "SIGTERM", "terminated"},
801 {16, "SIGSTKFLT", "stack fault"},
802 {17, "SIGCHLD", "child exited"},
803 {18, "SIGCONT", "continued"},
804 {19, "SIGSTOP", "stopped (signal)"},
805 {20, "SIGTSTP", "stopped"},
806 {21, "SIGTTIN", "stopped (tty input)"},
807 {22, "SIGTTOU", "stopped (tty output)"},
808 {23, "SIGURG", "urgent I/O condition"},
809 {24, "SIGXCPU", "CPU time limit exceeded"},
810 {25, "SIGXFSZ", "file size limit exceeded"},
811 {26, "SIGVTALRM", "virtual timer expired"},
812 {27, "SIGPROF", "profiling timer expired"},
813 {28, "SIGWINCH", "window changed"},
814 {29, "SIGIO", "I/O possible"},
815 {30, "SIGPWR", "power failure"},
816 {31, "SIGSYS", "bad system call"},
817 }
249249 RTC_EPOCH_SET = 0x8004700e
250250 RTC_IRQP_READ = 0x4004700b
251251 RTC_IRQP_SET = 0x8004700c
252 RTC_PARAM_GET = 0x80187013
253 RTC_PARAM_SET = 0x80187014
252254 RTC_PIE_OFF = 0x20007006
253255 RTC_PIE_ON = 0x20007005
254256 RTC_PLL_GET = 0x401c7011
326328 SO_RCVTIMEO = 0x1006
327329 SO_RCVTIMEO_NEW = 0x42
328330 SO_RCVTIMEO_OLD = 0x1006
331 SO_RESERVE_MEM = 0x49
329332 SO_REUSEADDR = 0x4
330333 SO_REUSEPORT = 0x200
331334 SO_RXQ_OVFL = 0x28
249249 RTC_EPOCH_SET = 0x8008700e
250250 RTC_IRQP_READ = 0x4008700b
251251 RTC_IRQP_SET = 0x8008700c
252 RTC_PARAM_GET = 0x80187013
253 RTC_PARAM_SET = 0x80187014
252254 RTC_PIE_OFF = 0x20007006
253255 RTC_PIE_ON = 0x20007005
254256 RTC_PLL_GET = 0x40207011
326328 SO_RCVTIMEO = 0x1006
327329 SO_RCVTIMEO_NEW = 0x42
328330 SO_RCVTIMEO_OLD = 0x1006
331 SO_RESERVE_MEM = 0x49
329332 SO_REUSEADDR = 0x4
330333 SO_REUSEPORT = 0x200
331334 SO_RXQ_OVFL = 0x28
249249 RTC_EPOCH_SET = 0x8008700e
250250 RTC_IRQP_READ = 0x4008700b
251251 RTC_IRQP_SET = 0x8008700c
252 RTC_PARAM_GET = 0x80187013
253 RTC_PARAM_SET = 0x80187014
252254 RTC_PIE_OFF = 0x20007006
253255 RTC_PIE_ON = 0x20007005
254256 RTC_PLL_GET = 0x40207011
326328 SO_RCVTIMEO = 0x1006
327329 SO_RCVTIMEO_NEW = 0x42
328330 SO_RCVTIMEO_OLD = 0x1006
331 SO_RESERVE_MEM = 0x49
329332 SO_REUSEADDR = 0x4
330333 SO_REUSEPORT = 0x200
331334 SO_RXQ_OVFL = 0x28
249249 RTC_EPOCH_SET = 0x8004700e
250250 RTC_IRQP_READ = 0x4004700b
251251 RTC_IRQP_SET = 0x8004700c
252 RTC_PARAM_GET = 0x80187013
253 RTC_PARAM_SET = 0x80187014
252254 RTC_PIE_OFF = 0x20007006
253255 RTC_PIE_ON = 0x20007005
254256 RTC_PLL_GET = 0x401c7011
326328 SO_RCVTIMEO = 0x1006
327329 SO_RCVTIMEO_NEW = 0x42
328330 SO_RCVTIMEO_OLD = 0x1006
331 SO_RESERVE_MEM = 0x49
329332 SO_REUSEADDR = 0x4
330333 SO_REUSEPORT = 0x200
331334 SO_RXQ_OVFL = 0x28
304304 RTC_EPOCH_SET = 0x8004700e
305305 RTC_IRQP_READ = 0x4004700b
306306 RTC_IRQP_SET = 0x8004700c
307 RTC_PARAM_GET = 0x80187013
308 RTC_PARAM_SET = 0x80187014
307309 RTC_PIE_OFF = 0x20007006
308310 RTC_PIE_ON = 0x20007005
309311 RTC_PLL_GET = 0x401c7011
381383 SO_RCVTIMEO = 0x12
382384 SO_RCVTIMEO_NEW = 0x42
383385 SO_RCVTIMEO_OLD = 0x12
386 SO_RESERVE_MEM = 0x49
384387 SO_REUSEADDR = 0x2
385388 SO_REUSEPORT = 0xf
386389 SO_RXQ_OVFL = 0x28
308308 RTC_EPOCH_SET = 0x8008700e
309309 RTC_IRQP_READ = 0x4008700b
310310 RTC_IRQP_SET = 0x8008700c
311 RTC_PARAM_GET = 0x80187013
312 RTC_PARAM_SET = 0x80187014
311313 RTC_PIE_OFF = 0x20007006
312314 RTC_PIE_ON = 0x20007005
313315 RTC_PLL_GET = 0x40207011
385387 SO_RCVTIMEO = 0x12
386388 SO_RCVTIMEO_NEW = 0x42
387389 SO_RCVTIMEO_OLD = 0x12
390 SO_RESERVE_MEM = 0x49
388391 SO_REUSEADDR = 0x2
389392 SO_REUSEPORT = 0xf
390393 SO_RXQ_OVFL = 0x28
308308 RTC_EPOCH_SET = 0x8008700e
309309 RTC_IRQP_READ = 0x4008700b
310310 RTC_IRQP_SET = 0x8008700c
311 RTC_PARAM_GET = 0x80187013
312 RTC_PARAM_SET = 0x80187014
311313 RTC_PIE_OFF = 0x20007006
312314 RTC_PIE_ON = 0x20007005
313315 RTC_PLL_GET = 0x40207011
385387 SO_RCVTIMEO = 0x12
386388 SO_RCVTIMEO_NEW = 0x42
387389 SO_RCVTIMEO_OLD = 0x12
390 SO_RESERVE_MEM = 0x49
388391 SO_REUSEADDR = 0x2
389392 SO_REUSEPORT = 0xf
390393 SO_RXQ_OVFL = 0x28
237237 RTC_EPOCH_SET = 0x4008700e
238238 RTC_IRQP_READ = 0x8008700b
239239 RTC_IRQP_SET = 0x4008700c
240 RTC_PARAM_GET = 0x40187013
241 RTC_PARAM_SET = 0x40187014
240242 RTC_PIE_OFF = 0x7006
241243 RTC_PIE_ON = 0x7005
242244 RTC_PLL_GET = 0x80207011
314316 SO_RCVTIMEO = 0x14
315317 SO_RCVTIMEO_NEW = 0x42
316318 SO_RCVTIMEO_OLD = 0x14
319 SO_RESERVE_MEM = 0x49
317320 SO_REUSEADDR = 0x2
318321 SO_REUSEPORT = 0xf
319322 SO_RXQ_OVFL = 0x28
312312 RTC_EPOCH_SET = 0x4008700e
313313 RTC_IRQP_READ = 0x8008700b
314314 RTC_IRQP_SET = 0x4008700c
315 RTC_PARAM_GET = 0x40187013
316 RTC_PARAM_SET = 0x40187014
315317 RTC_PIE_OFF = 0x7006
316318 RTC_PIE_ON = 0x7005
317319 RTC_PLL_GET = 0x80207011
389391 SO_RCVTIMEO = 0x14
390392 SO_RCVTIMEO_NEW = 0x42
391393 SO_RCVTIMEO_OLD = 0x14
394 SO_RESERVE_MEM = 0x49
392395 SO_REUSEADDR = 0x2
393396 SO_REUSEPORT = 0xf
394397 SO_RXQ_OVFL = 0x28
303303 RTC_EPOCH_SET = 0x8008700e
304304 RTC_IRQP_READ = 0x4008700b
305305 RTC_IRQP_SET = 0x8008700c
306 RTC_PARAM_GET = 0x80187013
307 RTC_PARAM_SET = 0x80187014
306308 RTC_PIE_OFF = 0x20007006
307309 RTC_PIE_ON = 0x20007005
308310 RTC_PLL_GET = 0x40207011
380382 SO_RCVTIMEO = 0x2000
381383 SO_RCVTIMEO_NEW = 0x44
382384 SO_RCVTIMEO_OLD = 0x2000
385 SO_RESERVE_MEM = 0x52
383386 SO_REUSEADDR = 0x4
384387 SO_REUSEPORT = 0x200
385388 SO_RXQ_OVFL = 0x24
974974
975975 // THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT
976976
977 func Pread(fd int, p []byte, offset int64) (n int, err error) {
977 func pread(fd int, p []byte, offset int64) (n int, err error) {
978978 var _p0 *byte
979979 if len(p) > 0 {
980980 _p0 = &p[0]
991991
992992 // THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT
993993
994 func Pwrite(fd int, p []byte, offset int64) (n int, err error) {
994 func pwrite(fd int, p []byte, offset int64) (n int, err error) {
995995 var _p0 *byte
996996 if len(p) > 0 {
997997 _p0 = &p[0]
930930
931931 // THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT
932932
933 func Pread(fd int, p []byte, offset int64) (n int, err error) {
933 func pread(fd int, p []byte, offset int64) (n int, err error) {
934934 var _p0 *byte
935935 if len(p) > 0 {
936936 _p0 = &p[0]
945945
946946 // THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT
947947
948 func Pwrite(fd int, p []byte, offset int64) (n int, err error) {
948 func pwrite(fd int, p []byte, offset int64) (n int, err error) {
949949 var _p0 *byte
950950 if len(p) > 0 {
951951 _p0 = &p[0]
642642
643643 // THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT
644644
645 func setattrlist(path *byte, list unsafe.Pointer, buf unsafe.Pointer, size uintptr, options int) (err error) {
646 _, _, e1 := syscall_syscall6(libc_setattrlist_trampoline_addr, uintptr(unsafe.Pointer(path)), uintptr(list), uintptr(buf), uintptr(size), uintptr(options), 0)
647 if e1 != 0 {
648 err = errnoErr(e1)
649 }
650 return
651 }
652
653 var libc_setattrlist_trampoline_addr uintptr
654
655 //go:cgo_import_dynamic libc_setattrlist setattrlist "/usr/lib/libSystem.B.dylib"
645 func utimensat(dirfd int, path string, times *[2]Timespec, flags int) (err error) {
646 var _p0 *byte
647 _p0, err = BytePtrFromString(path)
648 if err != nil {
649 return
650 }
651 _, _, e1 := syscall_syscall6(libc_utimensat_trampoline_addr, uintptr(dirfd), uintptr(unsafe.Pointer(_p0)), uintptr(unsafe.Pointer(times)), uintptr(flags), 0, 0)
652 if e1 != 0 {
653 err = errnoErr(e1)
654 }
655 return
656 }
657
658 var libc_utimensat_trampoline_addr uintptr
659
660 //go:cgo_import_dynamic libc_utimensat utimensat "/usr/lib/libSystem.B.dylib"
656661
657662 // THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT
658663
16971702
16981703 // THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT
16991704
1700 func Pread(fd int, p []byte, offset int64) (n int, err error) {
1705 func pread(fd int, p []byte, offset int64) (n int, err error) {
17011706 var _p0 unsafe.Pointer
17021707 if len(p) > 0 {
17031708 _p0 = unsafe.Pointer(&p[0])
17181723
17191724 // THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT
17201725
1721 func Pwrite(fd int, p []byte, offset int64) (n int, err error) {
1726 func pwrite(fd int, p []byte, offset int64) (n int, err error) {
17221727 var _p0 unsafe.Pointer
17231728 if len(p) > 0 {
17241729 _p0 = unsafe.Pointer(&p[0])
227227 GLOBL ·libc_flistxattr_trampoline_addr(SB), RODATA, $8
228228 DATA ·libc_flistxattr_trampoline_addr(SB)/8, $libc_flistxattr_trampoline<>(SB)
229229
230 TEXT libc_setattrlist_trampoline<>(SB),NOSPLIT,$0-0
231 JMP libc_setattrlist(SB)
232
233 GLOBL ·libc_setattrlist_trampoline_addr(SB), RODATA, $8
234 DATA ·libc_setattrlist_trampoline_addr(SB)/8, $libc_setattrlist_trampoline<>(SB)
230 TEXT libc_utimensat_trampoline<>(SB),NOSPLIT,$0-0
231 JMP libc_utimensat(SB)
232
233 GLOBL ·libc_utimensat_trampoline_addr(SB), RODATA, $8
234 DATA ·libc_utimensat_trampoline_addr(SB)/8, $libc_utimensat_trampoline<>(SB)
235235
236236 TEXT libc_fcntl_trampoline<>(SB),NOSPLIT,$0-0
237237 JMP libc_fcntl(SB)
642642
643643 // THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT
644644
645 func setattrlist(path *byte, list unsafe.Pointer, buf unsafe.Pointer, size uintptr, options int) (err error) {
646 _, _, e1 := syscall_syscall6(libc_setattrlist_trampoline_addr, uintptr(unsafe.Pointer(path)), uintptr(list), uintptr(buf), uintptr(size), uintptr(options), 0)
647 if e1 != 0 {
648 err = errnoErr(e1)
649 }
650 return
651 }
652
653 var libc_setattrlist_trampoline_addr uintptr
654
655 //go:cgo_import_dynamic libc_setattrlist setattrlist "/usr/lib/libSystem.B.dylib"
645 func utimensat(dirfd int, path string, times *[2]Timespec, flags int) (err error) {
646 var _p0 *byte
647 _p0, err = BytePtrFromString(path)
648 if err != nil {
649 return
650 }
651 _, _, e1 := syscall_syscall6(libc_utimensat_trampoline_addr, uintptr(dirfd), uintptr(unsafe.Pointer(_p0)), uintptr(unsafe.Pointer(times)), uintptr(flags), 0, 0)
652 if e1 != 0 {
653 err = errnoErr(e1)
654 }
655 return
656 }
657
658 var libc_utimensat_trampoline_addr uintptr
659
660 //go:cgo_import_dynamic libc_utimensat utimensat "/usr/lib/libSystem.B.dylib"
656661
657662 // THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT
658663
16971702
16981703 // THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT
16991704
1700 func Pread(fd int, p []byte, offset int64) (n int, err error) {
1705 func pread(fd int, p []byte, offset int64) (n int, err error) {
17011706 var _p0 unsafe.Pointer
17021707 if len(p) > 0 {
17031708 _p0 = unsafe.Pointer(&p[0])
17181723
17191724 // THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT
17201725
1721 func Pwrite(fd int, p []byte, offset int64) (n int, err error) {
1726 func pwrite(fd int, p []byte, offset int64) (n int, err error) {
17221727 var _p0 unsafe.Pointer
17231728 if len(p) > 0 {
17241729 _p0 = unsafe.Pointer(&p[0])
227227 GLOBL ·libc_flistxattr_trampoline_addr(SB), RODATA, $8
228228 DATA ·libc_flistxattr_trampoline_addr(SB)/8, $libc_flistxattr_trampoline<>(SB)
229229
230 TEXT libc_setattrlist_trampoline<>(SB),NOSPLIT,$0-0
231 JMP libc_setattrlist(SB)
232
233 GLOBL ·libc_setattrlist_trampoline_addr(SB), RODATA, $8
234 DATA ·libc_setattrlist_trampoline_addr(SB)/8, $libc_setattrlist_trampoline<>(SB)
230 TEXT libc_utimensat_trampoline<>(SB),NOSPLIT,$0-0
231 JMP libc_utimensat(SB)
232
233 GLOBL ·libc_utimensat_trampoline_addr(SB), RODATA, $8
234 DATA ·libc_utimensat_trampoline_addr(SB)/8, $libc_utimensat_trampoline<>(SB)
235235
236236 TEXT libc_fcntl_trampoline<>(SB),NOSPLIT,$0-0
237237 JMP libc_fcntl(SB)
14191419
14201420 // THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT
14211421
1422 func Pread(fd int, p []byte, offset int64) (n int, err error) {
1422 func pread(fd int, p []byte, offset int64) (n int, err error) {
14231423 var _p0 unsafe.Pointer
14241424 if len(p) > 0 {
14251425 _p0 = unsafe.Pointer(&p[0])
14361436
14371437 // THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT
14381438
1439 func Pwrite(fd int, p []byte, offset int64) (n int, err error) {
1439 func pwrite(fd int, p []byte, offset int64) (n int, err error) {
14401440 var _p0 unsafe.Pointer
14411441 if len(p) > 0 {
14421442 _p0 = unsafe.Pointer(&p[0])
14191419
14201420 // THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT
14211421
1422 func Pread(fd int, p []byte, offset int64) (n int, err error) {
1422 func pread(fd int, p []byte, offset int64) (n int, err error) {
14231423 var _p0 unsafe.Pointer
14241424 if len(p) > 0 {
14251425 _p0 = unsafe.Pointer(&p[0])
14361436
14371437 // THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT
14381438
1439 func Pwrite(fd int, p []byte, offset int64) (n int, err error) {
1439 func pwrite(fd int, p []byte, offset int64) (n int, err error) {
14401440 var _p0 unsafe.Pointer
14411441 if len(p) > 0 {
14421442 _p0 = unsafe.Pointer(&p[0])
14191419
14201420 // THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT
14211421
1422 func Pread(fd int, p []byte, offset int64) (n int, err error) {
1422 func pread(fd int, p []byte, offset int64) (n int, err error) {
14231423 var _p0 unsafe.Pointer
14241424 if len(p) > 0 {
14251425 _p0 = unsafe.Pointer(&p[0])
14361436
14371437 // THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT
14381438
1439 func Pwrite(fd int, p []byte, offset int64) (n int, err error) {
1439 func pwrite(fd int, p []byte, offset int64) (n int, err error) {
14401440 var _p0 unsafe.Pointer
14411441 if len(p) > 0 {
14421442 _p0 = unsafe.Pointer(&p[0])
14191419
14201420 // THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT
14211421
1422 func Pread(fd int, p []byte, offset int64) (n int, err error) {
1422 func pread(fd int, p []byte, offset int64) (n int, err error) {
14231423 var _p0 unsafe.Pointer
14241424 if len(p) > 0 {
14251425 _p0 = unsafe.Pointer(&p[0])
14361436
14371437 // THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT
14381438
1439 func Pwrite(fd int, p []byte, offset int64) (n int, err error) {
1439 func pwrite(fd int, p []byte, offset int64) (n int, err error) {
14401440 var _p0 unsafe.Pointer
14411441 if len(p) > 0 {
14421442 _p0 = unsafe.Pointer(&p[0])
230230
231231 // THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT
232232
233 func Waitid(idType int, id int, info *Siginfo, options int, rusage *Rusage) (err error) {
234 _, _, e1 := Syscall6(SYS_WAITID, uintptr(idType), uintptr(id), uintptr(unsafe.Pointer(info)), uintptr(options), uintptr(unsafe.Pointer(rusage)), 0)
235 if e1 != 0 {
236 err = errnoErr(e1)
237 }
238 return
239 }
240
241 // THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT
242
233243 func KeyctlInt(cmd int, arg2 int, arg3 int, arg4 int, arg5 int) (ret int, err error) {
234244 r0, _, e1 := Syscall6(SYS_KEYCTL, uintptr(cmd), uintptr(arg2), uintptr(arg3), uintptr(arg4), uintptr(arg5), 0)
235245 ret = int(r0)
817827
818828 // THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT
819829
830 func Fsmount(fd int, flags int, mountAttrs int) (fsfd int, err error) {
831 r0, _, e1 := Syscall(SYS_FSMOUNT, uintptr(fd), uintptr(flags), uintptr(mountAttrs))
832 fsfd = int(r0)
833 if e1 != 0 {
834 err = errnoErr(e1)
835 }
836 return
837 }
838
839 // THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT
840
841 func Fsopen(fsName string, flags int) (fd int, err error) {
842 var _p0 *byte
843 _p0, err = BytePtrFromString(fsName)
844 if err != nil {
845 return
846 }
847 r0, _, e1 := Syscall(SYS_FSOPEN, uintptr(unsafe.Pointer(_p0)), uintptr(flags), 0)
848 fd = int(r0)
849 if e1 != 0 {
850 err = errnoErr(e1)
851 }
852 return
853 }
854
855 // THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT
856
857 func Fspick(dirfd int, pathName string, flags int) (fd int, err error) {
858 var _p0 *byte
859 _p0, err = BytePtrFromString(pathName)
860 if err != nil {
861 return
862 }
863 r0, _, e1 := Syscall(SYS_FSPICK, uintptr(dirfd), uintptr(unsafe.Pointer(_p0)), uintptr(flags))
864 fd = int(r0)
865 if e1 != 0 {
866 err = errnoErr(e1)
867 }
868 return
869 }
870
871 // THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT
872
820873 func Getdents(fd int, buf []byte) (n int, err error) {
821874 var _p0 unsafe.Pointer
822875 if len(buf) > 0 {
11941247
11951248 // THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT
11961249
1250 func MoveMount(fromDirfd int, fromPathName string, toDirfd int, toPathName string, flags int) (err error) {
1251 var _p0 *byte
1252 _p0, err = BytePtrFromString(fromPathName)
1253 if err != nil {
1254 return
1255 }
1256 var _p1 *byte
1257 _p1, err = BytePtrFromString(toPathName)
1258 if err != nil {
1259 return
1260 }
1261 _, _, e1 := Syscall6(SYS_MOVE_MOUNT, uintptr(fromDirfd), uintptr(unsafe.Pointer(_p0)), uintptr(toDirfd), uintptr(unsafe.Pointer(_p1)), uintptr(flags), 0)
1262 if e1 != 0 {
1263 err = errnoErr(e1)
1264 }
1265 return
1266 }
1267
1268 // THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT
1269
11971270 func Nanosleep(time *Timespec, leftover *Timespec) (err error) {
11981271 _, _, e1 := Syscall(SYS_NANOSLEEP, uintptr(unsafe.Pointer(time)), uintptr(unsafe.Pointer(leftover)), 0)
1272 if e1 != 0 {
1273 err = errnoErr(e1)
1274 }
1275 return
1276 }
1277
1278 // THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT
1279
1280 func OpenTree(dfd int, fileName string, flags uint) (r int, err error) {
1281 var _p0 *byte
1282 _p0, err = BytePtrFromString(fileName)
1283 if err != nil {
1284 return
1285 }
1286 r0, _, e1 := Syscall(SYS_OPEN_TREE, uintptr(dfd), uintptr(unsafe.Pointer(_p0)), uintptr(flags))
1287 r = int(r0)
11991288 if e1 != 0 {
12001289 err = errnoErr(e1)
12011290 }
19912080
19922081 // THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT
19932082
2083 func PidfdSendSignal(pidfd int, sig Signal, info *Siginfo, flags int) (err error) {
2084 _, _, e1 := Syscall6(SYS_PIDFD_SEND_SIGNAL, uintptr(pidfd), uintptr(sig), uintptr(unsafe.Pointer(info)), uintptr(flags), 0, 0)
2085 if e1 != 0 {
2086 err = errnoErr(e1)
2087 }
2088 return
2089 }
2090
2091 // THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT
2092
19942093 func shmat(id int, addr uintptr, flag int) (ret uintptr, err error) {
19952094 r0, _, e1 := Syscall(SYS_SHMAT, uintptr(id), uintptr(addr), uintptr(flag))
19962095 ret = uintptr(r0)
20312130 }
20322131 return
20332132 }
2133
2134 // THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT
2135
2136 func getitimer(which int, currValue *Itimerval) (err error) {
2137 _, _, e1 := Syscall(SYS_GETITIMER, uintptr(which), uintptr(unsafe.Pointer(currValue)), 0)
2138 if e1 != 0 {
2139 err = errnoErr(e1)
2140 }
2141 return
2142 }
2143
2144 // THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT
2145
2146 func setitimer(which int, newValue *Itimerval, oldValue *Itimerval) (err error) {
2147 _, _, e1 := Syscall(SYS_SETITIMER, uintptr(which), uintptr(unsafe.Pointer(newValue)), uintptr(unsafe.Pointer(oldValue)))
2148 if e1 != 0 {
2149 err = errnoErr(e1)
2150 }
2151 return
2152 }
0 // go run mksyscall.go -l32 -tags linux,386 syscall_linux.go syscall_linux_386.go
0 // go run mksyscall.go -l32 -tags linux,386 syscall_linux.go syscall_linux_386.go syscall_linux_alarm.go
11 // Code generated by the command above; see README.md. DO NOT EDIT.
22
33 //go:build linux && 386
199199
200200 // THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT
201201
202 func Pread(fd int, p []byte, offset int64) (n int, err error) {
202 func pread(fd int, p []byte, offset int64) (n int, err error) {
203203 var _p0 unsafe.Pointer
204204 if len(p) > 0 {
205205 _p0 = unsafe.Pointer(&p[0])
216216
217217 // THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT
218218
219 func Pwrite(fd int, p []byte, offset int64) (n int, err error) {
219 func pwrite(fd int, p []byte, offset int64) (n int, err error) {
220220 var _p0 unsafe.Pointer
221221 if len(p) > 0 {
222222 _p0 = unsafe.Pointer(&p[0])
523523 }
524524 return
525525 }
526
527 // THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT
528
529 func Alarm(seconds uint) (remaining uint, err error) {
530 r0, _, e1 := Syscall(SYS_ALARM, uintptr(seconds), 0, 0)
531 remaining = uint(r0)
532 if e1 != 0 {
533 err = errnoErr(e1)
534 }
535 return
536 }
0 // go run mksyscall.go -tags linux,amd64 syscall_linux.go syscall_linux_amd64.go
0 // go run mksyscall.go -tags linux,amd64 syscall_linux.go syscall_linux_amd64.go syscall_linux_alarm.go
11 // Code generated by the command above; see README.md. DO NOT EDIT.
22
33 //go:build linux && amd64
214214
215215 // THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT
216216
217 func MemfdSecret(flags int) (fd int, err error) {
218 r0, _, e1 := Syscall(SYS_MEMFD_SECRET, uintptr(flags), 0, 0)
219 fd = int(r0)
220 if e1 != 0 {
221 err = errnoErr(e1)
222 }
223 return
224 }
225
226 // THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT
227
217228 func Pause() (err error) {
218229 _, _, e1 := Syscall(SYS_PAUSE, 0, 0, 0)
219230 if e1 != 0 {
224235
225236 // THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT
226237
227 func Pread(fd int, p []byte, offset int64) (n int, err error) {
238 func pread(fd int, p []byte, offset int64) (n int, err error) {
228239 var _p0 unsafe.Pointer
229240 if len(p) > 0 {
230241 _p0 = unsafe.Pointer(&p[0])
241252
242253 // THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT
243254
244 func Pwrite(fd int, p []byte, offset int64) (n int, err error) {
255 func pwrite(fd int, p []byte, offset int64) (n int, err error) {
245256 var _p0 unsafe.Pointer
246257 if len(p) > 0 {
247258 _p0 = unsafe.Pointer(&p[0])
435446
436447 func Ustat(dev int, ubuf *Ustat_t) (err error) {
437448 _, _, e1 := Syscall(SYS_USTAT, uintptr(dev), uintptr(unsafe.Pointer(ubuf)), 0)
438 if e1 != 0 {
439 err = errnoErr(e1)
440 }
441 return
442 }
443
444 // THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT
445
446 func accept(s int, rsa *RawSockaddrAny, addrlen *_Socklen) (fd int, err error) {
447 r0, _, e1 := Syscall(SYS_ACCEPT, uintptr(s), uintptr(unsafe.Pointer(rsa)), uintptr(unsafe.Pointer(addrlen)))
448 fd = int(r0)
449449 if e1 != 0 {
450450 err = errnoErr(e1)
451451 }
690690 }
691691 return
692692 }
693
694 // THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT
695
696 func Alarm(seconds uint) (remaining uint, err error) {
697 r0, _, e1 := Syscall(SYS_ALARM, uintptr(seconds), 0, 0)
698 remaining = uint(r0)
699 if e1 != 0 {
700 err = errnoErr(e1)
701 }
702 return
703 }
3737 func Tee(rfd int, wfd int, len int, flags int) (n int64, err error) {
3838 r0, r1, e1 := Syscall6(SYS_TEE, uintptr(rfd), uintptr(wfd), uintptr(len), uintptr(flags), 0, 0)
3939 n = int64(int64(r1)<<32 | int64(r0))
40 if e1 != 0 {
41 err = errnoErr(e1)
42 }
43 return
44 }
45
46 // THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT
47
48 func accept(s int, rsa *RawSockaddrAny, addrlen *_Socklen) (fd int, err error) {
49 r0, _, e1 := Syscall(SYS_ACCEPT, uintptr(s), uintptr(unsafe.Pointer(rsa)), uintptr(unsafe.Pointer(addrlen)))
50 fd = int(r0)
5140 if e1 != 0 {
5241 err = errnoErr(e1)
5342 }
548537
549538 // THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT
550539
551 func Pread(fd int, p []byte, offset int64) (n int, err error) {
540 func pread(fd int, p []byte, offset int64) (n int, err error) {
552541 var _p0 unsafe.Pointer
553542 if len(p) > 0 {
554543 _p0 = unsafe.Pointer(&p[0])
565554
566555 // THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT
567556
568 func Pwrite(fd int, p []byte, offset int64) (n int, err error) {
557 func pwrite(fd int, p []byte, offset int64) (n int, err error) {
569558 var _p0 unsafe.Pointer
570559 if len(p) > 0 {
571560 _p0 = unsafe.Pointer(&p[0])
179179
180180 // THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT
181181
182 func Pread(fd int, p []byte, offset int64) (n int, err error) {
182 func MemfdSecret(flags int) (fd int, err error) {
183 r0, _, e1 := Syscall(SYS_MEMFD_SECRET, uintptr(flags), 0, 0)
184 fd = int(r0)
185 if e1 != 0 {
186 err = errnoErr(e1)
187 }
188 return
189 }
190
191 // THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT
192
193 func pread(fd int, p []byte, offset int64) (n int, err error) {
183194 var _p0 unsafe.Pointer
184195 if len(p) > 0 {
185196 _p0 = unsafe.Pointer(&p[0])
196207
197208 // THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT
198209
199 func Pwrite(fd int, p []byte, offset int64) (n int, err error) {
210 func pwrite(fd int, p []byte, offset int64) (n int, err error) {
200211 var _p0 unsafe.Pointer
201212 if len(p) > 0 {
202213 _p0 = unsafe.Pointer(&p[0])
380391 return
381392 }
382393 _, _, e1 := Syscall(SYS_TRUNCATE, uintptr(unsafe.Pointer(_p0)), uintptr(length), 0)
383 if e1 != 0 {
384 err = errnoErr(e1)
385 }
386 return
387 }
388
389 // THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT
390
391 func accept(s int, rsa *RawSockaddrAny, addrlen *_Socklen) (fd int, err error) {
392 r0, _, e1 := Syscall(SYS_ACCEPT, uintptr(s), uintptr(unsafe.Pointer(rsa)), uintptr(unsafe.Pointer(addrlen)))
393 fd = int(r0)
394394 if e1 != 0 {
395395 err = errnoErr(e1)
396396 }
0 // go run mksyscall.go -tags linux,loong64 syscall_linux.go syscall_linux_loong64.go
1 // Code generated by the command above; see README.md. DO NOT EDIT.
2
3 //go:build linux && loong64
4 // +build linux,loong64
5
6 package unix
7
8 import (
9 "syscall"
10 "unsafe"
11 )
12
13 var _ syscall.Errno
14
15 // THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT
16
17 func fanotifyMark(fd int, flags uint, mask uint64, dirFd int, pathname *byte) (err error) {
18 _, _, e1 := Syscall6(SYS_FANOTIFY_MARK, uintptr(fd), uintptr(flags), uintptr(mask), uintptr(dirFd), uintptr(unsafe.Pointer(pathname)), 0)
19 if e1 != 0 {
20 err = errnoErr(e1)
21 }
22 return
23 }
24
25 // THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT
26
27 func Fallocate(fd int, mode uint32, off int64, len int64) (err error) {
28 _, _, e1 := Syscall6(SYS_FALLOCATE, uintptr(fd), uintptr(mode), uintptr(off), uintptr(len), 0, 0)
29 if e1 != 0 {
30 err = errnoErr(e1)
31 }
32 return
33 }
34
35 // THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT
36
37 func Tee(rfd int, wfd int, len int, flags int) (n int64, err error) {
38 r0, _, e1 := Syscall6(SYS_TEE, uintptr(rfd), uintptr(wfd), uintptr(len), uintptr(flags), 0, 0)
39 n = int64(r0)
40 if e1 != 0 {
41 err = errnoErr(e1)
42 }
43 return
44 }
45
46 // THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT
47
48 func EpollWait(epfd int, events []EpollEvent, msec int) (n int, err error) {
49 var _p0 unsafe.Pointer
50 if len(events) > 0 {
51 _p0 = unsafe.Pointer(&events[0])
52 } else {
53 _p0 = unsafe.Pointer(&_zero)
54 }
55 r0, _, e1 := Syscall6(SYS_EPOLL_PWAIT, uintptr(epfd), uintptr(_p0), uintptr(len(events)), uintptr(msec), 0, 0)
56 n = int(r0)
57 if e1 != 0 {
58 err = errnoErr(e1)
59 }
60 return
61 }
62
63 // THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT
64
65 func Fadvise(fd int, offset int64, length int64, advice int) (err error) {
66 _, _, e1 := Syscall6(SYS_FADVISE64, uintptr(fd), uintptr(offset), uintptr(length), uintptr(advice), 0, 0)
67 if e1 != 0 {
68 err = errnoErr(e1)
69 }
70 return
71 }
72
73 // THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT
74
75 func Fchown(fd int, uid int, gid int) (err error) {
76 _, _, e1 := Syscall(SYS_FCHOWN, uintptr(fd), uintptr(uid), uintptr(gid))
77 if e1 != 0 {
78 err = errnoErr(e1)
79 }
80 return
81 }
82
83 // THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT
84
85 func Fstat(fd int, stat *Stat_t) (err error) {
86 _, _, e1 := Syscall(SYS_FSTAT, uintptr(fd), uintptr(unsafe.Pointer(stat)), 0)
87 if e1 != 0 {
88 err = errnoErr(e1)
89 }
90 return
91 }
92
93 // THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT
94
95 func Fstatat(fd int, path string, stat *Stat_t, flags int) (err error) {
96 var _p0 *byte
97 _p0, err = BytePtrFromString(path)
98 if err != nil {
99 return
100 }
101 _, _, e1 := Syscall6(SYS_FSTATAT, uintptr(fd), uintptr(unsafe.Pointer(_p0)), uintptr(unsafe.Pointer(stat)), uintptr(flags), 0, 0)
102 if e1 != 0 {
103 err = errnoErr(e1)
104 }
105 return
106 }
107
108 // THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT
109
110 func Fstatfs(fd int, buf *Statfs_t) (err error) {
111 _, _, e1 := Syscall(SYS_FSTATFS, uintptr(fd), uintptr(unsafe.Pointer(buf)), 0)
112 if e1 != 0 {
113 err = errnoErr(e1)
114 }
115 return
116 }
117
118 // THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT
119
120 func Ftruncate(fd int, length int64) (err error) {
121 _, _, e1 := Syscall(SYS_FTRUNCATE, uintptr(fd), uintptr(length), 0)
122 if e1 != 0 {
123 err = errnoErr(e1)
124 }
125 return
126 }
127
128 // THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT
129
130 func Getegid() (egid int) {
131 r0, _ := RawSyscallNoError(SYS_GETEGID, 0, 0, 0)
132 egid = int(r0)
133 return
134 }
135
136 // THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT
137
138 func Geteuid() (euid int) {
139 r0, _ := RawSyscallNoError(SYS_GETEUID, 0, 0, 0)
140 euid = int(r0)
141 return
142 }
143
144 // THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT
145
146 func Getgid() (gid int) {
147 r0, _ := RawSyscallNoError(SYS_GETGID, 0, 0, 0)
148 gid = int(r0)
149 return
150 }
151
152 // THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT
153
154 func Getuid() (uid int) {
155 r0, _ := RawSyscallNoError(SYS_GETUID, 0, 0, 0)
156 uid = int(r0)
157 return
158 }
159
160 // THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT
161
162 func Listen(s int, n int) (err error) {
163 _, _, e1 := Syscall(SYS_LISTEN, uintptr(s), uintptr(n), 0)
164 if e1 != 0 {
165 err = errnoErr(e1)
166 }
167 return
168 }
169
170 // THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT
171
172 func pread(fd int, p []byte, offset int64) (n int, err error) {
173 var _p0 unsafe.Pointer
174 if len(p) > 0 {
175 _p0 = unsafe.Pointer(&p[0])
176 } else {
177 _p0 = unsafe.Pointer(&_zero)
178 }
179 r0, _, e1 := Syscall6(SYS_PREAD64, uintptr(fd), uintptr(_p0), uintptr(len(p)), uintptr(offset), 0, 0)
180 n = int(r0)
181 if e1 != 0 {
182 err = errnoErr(e1)
183 }
184 return
185 }
186
187 // THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT
188
189 func pwrite(fd int, p []byte, offset int64) (n int, err error) {
190 var _p0 unsafe.Pointer
191 if len(p) > 0 {
192 _p0 = unsafe.Pointer(&p[0])
193 } else {
194 _p0 = unsafe.Pointer(&_zero)
195 }
196 r0, _, e1 := Syscall6(SYS_PWRITE64, uintptr(fd), uintptr(_p0), uintptr(len(p)), uintptr(offset), 0, 0)
197 n = int(r0)
198 if e1 != 0 {
199 err = errnoErr(e1)
200 }
201 return
202 }
203
204 // THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT
205
206 func Seek(fd int, offset int64, whence int) (off int64, err error) {
207 r0, _, e1 := Syscall(SYS_LSEEK, uintptr(fd), uintptr(offset), uintptr(whence))
208 off = int64(r0)
209 if e1 != 0 {
210 err = errnoErr(e1)
211 }
212 return
213 }
214
215 // THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT
216
217 func sendfile(outfd int, infd int, offset *int64, count int) (written int, err error) {
218 r0, _, e1 := Syscall6(SYS_SENDFILE, uintptr(outfd), uintptr(infd), uintptr(unsafe.Pointer(offset)), uintptr(count), 0, 0)
219 written = int(r0)
220 if e1 != 0 {
221 err = errnoErr(e1)
222 }
223 return
224 }
225
226 // THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT
227
228 func setfsgid(gid int) (prev int, err error) {
229 r0, _, e1 := Syscall(SYS_SETFSGID, uintptr(gid), 0, 0)
230 prev = int(r0)
231 if e1 != 0 {
232 err = errnoErr(e1)
233 }
234 return
235 }
236
237 // THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT
238
239 func setfsuid(uid int) (prev int, err error) {
240 r0, _, e1 := Syscall(SYS_SETFSUID, uintptr(uid), 0, 0)
241 prev = int(r0)
242 if e1 != 0 {
243 err = errnoErr(e1)
244 }
245 return
246 }
247
248 // THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT
249
250 func Setregid(rgid int, egid int) (err error) {
251 _, _, e1 := RawSyscall(SYS_SETREGID, uintptr(rgid), uintptr(egid), 0)
252 if e1 != 0 {
253 err = errnoErr(e1)
254 }
255 return
256 }
257
258 // THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT
259
260 func Setresgid(rgid int, egid int, sgid int) (err error) {
261 _, _, e1 := RawSyscall(SYS_SETRESGID, uintptr(rgid), uintptr(egid), uintptr(sgid))
262 if e1 != 0 {
263 err = errnoErr(e1)
264 }
265 return
266 }
267
268 // THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT
269
270 func Setresuid(ruid int, euid int, suid int) (err error) {
271 _, _, e1 := RawSyscall(SYS_SETRESUID, uintptr(ruid), uintptr(euid), uintptr(suid))
272 if e1 != 0 {
273 err = errnoErr(e1)
274 }
275 return
276 }
277
278 // THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT
279
280 func Setreuid(ruid int, euid int) (err error) {
281 _, _, e1 := RawSyscall(SYS_SETREUID, uintptr(ruid), uintptr(euid), 0)
282 if e1 != 0 {
283 err = errnoErr(e1)
284 }
285 return
286 }
287
288 // THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT
289
290 func Shutdown(fd int, how int) (err error) {
291 _, _, e1 := Syscall(SYS_SHUTDOWN, uintptr(fd), uintptr(how), 0)
292 if e1 != 0 {
293 err = errnoErr(e1)
294 }
295 return
296 }
297
298 // THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT
299
300 func Splice(rfd int, roff *int64, wfd int, woff *int64, len int, flags int) (n int64, err error) {
301 r0, _, e1 := Syscall6(SYS_SPLICE, uintptr(rfd), uintptr(unsafe.Pointer(roff)), uintptr(wfd), uintptr(unsafe.Pointer(woff)), uintptr(len), uintptr(flags))
302 n = int64(r0)
303 if e1 != 0 {
304 err = errnoErr(e1)
305 }
306 return
307 }
308
309 // THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT
310
311 func Statfs(path string, buf *Statfs_t) (err error) {
312 var _p0 *byte
313 _p0, err = BytePtrFromString(path)
314 if err != nil {
315 return
316 }
317 _, _, e1 := Syscall(SYS_STATFS, uintptr(unsafe.Pointer(_p0)), uintptr(unsafe.Pointer(buf)), 0)
318 if e1 != 0 {
319 err = errnoErr(e1)
320 }
321 return
322 }
323
324 // THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT
325
326 func SyncFileRange(fd int, off int64, n int64, flags int) (err error) {
327 _, _, e1 := Syscall6(SYS_SYNC_FILE_RANGE, uintptr(fd), uintptr(off), uintptr(n), uintptr(flags), 0, 0)
328 if e1 != 0 {
329 err = errnoErr(e1)
330 }
331 return
332 }
333
334 // THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT
335
336 func Truncate(path string, length int64) (err error) {
337 var _p0 *byte
338 _p0, err = BytePtrFromString(path)
339 if err != nil {
340 return
341 }
342 _, _, e1 := Syscall(SYS_TRUNCATE, uintptr(unsafe.Pointer(_p0)), uintptr(length), 0)
343 if e1 != 0 {
344 err = errnoErr(e1)
345 }
346 return
347 }
348
349 // THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT
350
351 func accept4(s int, rsa *RawSockaddrAny, addrlen *_Socklen, flags int) (fd int, err error) {
352 r0, _, e1 := Syscall6(SYS_ACCEPT4, uintptr(s), uintptr(unsafe.Pointer(rsa)), uintptr(unsafe.Pointer(addrlen)), uintptr(flags), 0, 0)
353 fd = int(r0)
354 if e1 != 0 {
355 err = errnoErr(e1)
356 }
357 return
358 }
359
360 // THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT
361
362 func bind(s int, addr unsafe.Pointer, addrlen _Socklen) (err error) {
363 _, _, e1 := Syscall(SYS_BIND, uintptr(s), uintptr(addr), uintptr(addrlen))
364 if e1 != 0 {
365 err = errnoErr(e1)
366 }
367 return
368 }
369
370 // THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT
371
372 func connect(s int, addr unsafe.Pointer, addrlen _Socklen) (err error) {
373 _, _, e1 := Syscall(SYS_CONNECT, uintptr(s), uintptr(addr), uintptr(addrlen))
374 if e1 != 0 {
375 err = errnoErr(e1)
376 }
377 return
378 }
379
380 // THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT
381
382 func getgroups(n int, list *_Gid_t) (nn int, err error) {
383 r0, _, e1 := RawSyscall(SYS_GETGROUPS, uintptr(n), uintptr(unsafe.Pointer(list)), 0)
384 nn = int(r0)
385 if e1 != 0 {
386 err = errnoErr(e1)
387 }
388 return
389 }
390
391 // THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT
392
393 func setgroups(n int, list *_Gid_t) (err error) {
394 _, _, e1 := RawSyscall(SYS_SETGROUPS, uintptr(n), uintptr(unsafe.Pointer(list)), 0)
395 if e1 != 0 {
396 err = errnoErr(e1)
397 }
398 return
399 }
400
401 // THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT
402
403 func getsockopt(s int, level int, name int, val unsafe.Pointer, vallen *_Socklen) (err error) {
404 _, _, e1 := Syscall6(SYS_GETSOCKOPT, uintptr(s), uintptr(level), uintptr(name), uintptr(val), uintptr(unsafe.Pointer(vallen)), 0)
405 if e1 != 0 {
406 err = errnoErr(e1)
407 }
408 return
409 }
410
411 // THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT
412
413 func setsockopt(s int, level int, name int, val unsafe.Pointer, vallen uintptr) (err error) {
414 _, _, e1 := Syscall6(SYS_SETSOCKOPT, uintptr(s), uintptr(level), uintptr(name), uintptr(val), uintptr(vallen), 0)
415 if e1 != 0 {
416 err = errnoErr(e1)
417 }
418 return
419 }
420
421 // THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT
422
423 func socket(domain int, typ int, proto int) (fd int, err error) {
424 r0, _, e1 := RawSyscall(SYS_SOCKET, uintptr(domain), uintptr(typ), uintptr(proto))
425 fd = int(r0)
426 if e1 != 0 {
427 err = errnoErr(e1)
428 }
429 return
430 }
431
432 // THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT
433
434 func socketpair(domain int, typ int, proto int, fd *[2]int32) (err error) {
435 _, _, e1 := RawSyscall6(SYS_SOCKETPAIR, uintptr(domain), uintptr(typ), uintptr(proto), uintptr(unsafe.Pointer(fd)), 0, 0)
436 if e1 != 0 {
437 err = errnoErr(e1)
438 }
439 return
440 }
441
442 // THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT
443
444 func getpeername(fd int, rsa *RawSockaddrAny, addrlen *_Socklen) (err error) {
445 _, _, e1 := RawSyscall(SYS_GETPEERNAME, uintptr(fd), uintptr(unsafe.Pointer(rsa)), uintptr(unsafe.Pointer(addrlen)))
446 if e1 != 0 {
447 err = errnoErr(e1)
448 }
449 return
450 }
451
452 // THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT
453
454 func getsockname(fd int, rsa *RawSockaddrAny, addrlen *_Socklen) (err error) {
455 _, _, e1 := RawSyscall(SYS_GETSOCKNAME, uintptr(fd), uintptr(unsafe.Pointer(rsa)), uintptr(unsafe.Pointer(addrlen)))
456 if e1 != 0 {
457 err = errnoErr(e1)
458 }
459 return
460 }
461
462 // THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT
463
464 func recvfrom(fd int, p []byte, flags int, from *RawSockaddrAny, fromlen *_Socklen) (n int, err error) {
465 var _p0 unsafe.Pointer
466 if len(p) > 0 {
467 _p0 = unsafe.Pointer(&p[0])
468 } else {
469 _p0 = unsafe.Pointer(&_zero)
470 }
471 r0, _, e1 := Syscall6(SYS_RECVFROM, uintptr(fd), uintptr(_p0), uintptr(len(p)), uintptr(flags), uintptr(unsafe.Pointer(from)), uintptr(unsafe.Pointer(fromlen)))
472 n = int(r0)
473 if e1 != 0 {
474 err = errnoErr(e1)
475 }
476 return
477 }
478
479 // THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT
480
481 func sendto(s int, buf []byte, flags int, to unsafe.Pointer, addrlen _Socklen) (err error) {
482 var _p0 unsafe.Pointer
483 if len(buf) > 0 {
484 _p0 = unsafe.Pointer(&buf[0])
485 } else {
486 _p0 = unsafe.Pointer(&_zero)
487 }
488 _, _, e1 := Syscall6(SYS_SENDTO, uintptr(s), uintptr(_p0), uintptr(len(buf)), uintptr(flags), uintptr(to), uintptr(addrlen))
489 if e1 != 0 {
490 err = errnoErr(e1)
491 }
492 return
493 }
494
495 // THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT
496
497 func recvmsg(s int, msg *Msghdr, flags int) (n int, err error) {
498 r0, _, e1 := Syscall(SYS_RECVMSG, uintptr(s), uintptr(unsafe.Pointer(msg)), uintptr(flags))
499 n = int(r0)
500 if e1 != 0 {
501 err = errnoErr(e1)
502 }
503 return
504 }
505
506 // THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT
507
508 func sendmsg(s int, msg *Msghdr, flags int) (n int, err error) {
509 r0, _, e1 := Syscall(SYS_SENDMSG, uintptr(s), uintptr(unsafe.Pointer(msg)), uintptr(flags))
510 n = int(r0)
511 if e1 != 0 {
512 err = errnoErr(e1)
513 }
514 return
515 }
516
517 // THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT
518
519 func mmap(addr uintptr, length uintptr, prot int, flags int, fd int, offset int64) (xaddr uintptr, err error) {
520 r0, _, e1 := Syscall6(SYS_MMAP, uintptr(addr), uintptr(length), uintptr(prot), uintptr(flags), uintptr(fd), uintptr(offset))
521 xaddr = uintptr(r0)
522 if e1 != 0 {
523 err = errnoErr(e1)
524 }
525 return
526 }
527
528 // THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT
529
530 func Gettimeofday(tv *Timeval) (err error) {
531 _, _, e1 := RawSyscall(SYS_GETTIMEOFDAY, uintptr(unsafe.Pointer(tv)), 0, 0)
532 if e1 != 0 {
533 err = errnoErr(e1)
534 }
535 return
536 }
537
538 // THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT
539
540 func kexecFileLoad(kernelFd int, initrdFd int, cmdlineLen int, cmdline string, flags int) (err error) {
541 var _p0 *byte
542 _p0, err = BytePtrFromString(cmdline)
543 if err != nil {
544 return
545 }
546 _, _, e1 := Syscall6(SYS_KEXEC_FILE_LOAD, uintptr(kernelFd), uintptr(initrdFd), uintptr(cmdlineLen), uintptr(unsafe.Pointer(_p0)), uintptr(flags), 0)
547 if e1 != 0 {
548 err = errnoErr(e1)
549 }
550 return
551 }
0 // go run mksyscall.go -b32 -arm -tags linux,mips syscall_linux.go syscall_linux_mipsx.go
0 // go run mksyscall.go -b32 -arm -tags linux,mips syscall_linux.go syscall_linux_mipsx.go syscall_linux_alarm.go
11 // Code generated by the command above; see README.md. DO NOT EDIT.
22
33 //go:build linux && mips
149149
150150 // THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT
151151
152 func Pread(fd int, p []byte, offset int64) (n int, err error) {
152 func pread(fd int, p []byte, offset int64) (n int, err error) {
153153 var _p0 unsafe.Pointer
154154 if len(p) > 0 {
155155 _p0 = unsafe.Pointer(&p[0])
166166
167167 // THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT
168168
169 func Pwrite(fd int, p []byte, offset int64) (n int, err error) {
169 func pwrite(fd int, p []byte, offset int64) (n int, err error) {
170170 var _p0 unsafe.Pointer
171171 if len(p) > 0 {
172172 _p0 = unsafe.Pointer(&p[0])
335335
336336 func Ustat(dev int, ubuf *Ustat_t) (err error) {
337337 _, _, e1 := Syscall(SYS_USTAT, uintptr(dev), uintptr(unsafe.Pointer(ubuf)), 0)
338 if e1 != 0 {
339 err = errnoErr(e1)
340 }
341 return
342 }
343
344 // THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT
345
346 func accept(s int, rsa *RawSockaddrAny, addrlen *_Socklen) (fd int, err error) {
347 r0, _, e1 := Syscall(SYS_ACCEPT, uintptr(s), uintptr(unsafe.Pointer(rsa)), uintptr(unsafe.Pointer(addrlen)))
348 fd = int(r0)
349338 if e1 != 0 {
350339 err = errnoErr(e1)
351340 }
701690 }
702691 return
703692 }
693
694 // THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT
695
696 func Alarm(seconds uint) (remaining uint, err error) {
697 r0, _, e1 := Syscall(SYS_ALARM, uintptr(seconds), 0, 0)
698 remaining = uint(r0)
699 if e1 != 0 {
700 err = errnoErr(e1)
701 }
702 return
703 }
0 // go run mksyscall.go -tags linux,mips64 syscall_linux.go syscall_linux_mips64x.go
0 // go run mksyscall.go -tags linux,mips64 syscall_linux.go syscall_linux_mips64x.go syscall_linux_alarm.go
11 // Code generated by the command above; see README.md. DO NOT EDIT.
22
33 //go:build linux && mips64
179179
180180 // THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT
181181
182 func Pread(fd int, p []byte, offset int64) (n int, err error) {
182 func pread(fd int, p []byte, offset int64) (n int, err error) {
183183 var _p0 unsafe.Pointer
184184 if len(p) > 0 {
185185 _p0 = unsafe.Pointer(&p[0])
196196
197197 // THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT
198198
199 func Pwrite(fd int, p []byte, offset int64) (n int, err error) {
199 func pwrite(fd int, p []byte, offset int64) (n int, err error) {
200200 var _p0 unsafe.Pointer
201201 if len(p) > 0 {
202202 _p0 = unsafe.Pointer(&p[0])
390390
391391 func Ustat(dev int, ubuf *Ustat_t) (err error) {
392392 _, _, e1 := Syscall(SYS_USTAT, uintptr(dev), uintptr(unsafe.Pointer(ubuf)), 0)
393 if e1 != 0 {
394 err = errnoErr(e1)
395 }
396 return
397 }
398
399 // THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT
400
401 func accept(s int, rsa *RawSockaddrAny, addrlen *_Socklen) (fd int, err error) {
402 r0, _, e1 := Syscall(SYS_ACCEPT, uintptr(s), uintptr(unsafe.Pointer(rsa)), uintptr(unsafe.Pointer(addrlen)))
403 fd = int(r0)
404393 if e1 != 0 {
405394 err = errnoErr(e1)
406395 }
695684 }
696685 return
697686 }
687
688 // THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT
689
690 func Alarm(seconds uint) (remaining uint, err error) {
691 r0, _, e1 := Syscall(SYS_ALARM, uintptr(seconds), 0, 0)
692 remaining = uint(r0)
693 if e1 != 0 {
694 err = errnoErr(e1)
695 }
696 return
697 }
179179
180180 // THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT
181181
182 func Pread(fd int, p []byte, offset int64) (n int, err error) {
182 func pread(fd int, p []byte, offset int64) (n int, err error) {
183183 var _p0 unsafe.Pointer
184184 if len(p) > 0 {
185185 _p0 = unsafe.Pointer(&p[0])
196196
197197 // THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT
198198
199 func Pwrite(fd int, p []byte, offset int64) (n int, err error) {
199 func pwrite(fd int, p []byte, offset int64) (n int, err error) {
200200 var _p0 unsafe.Pointer
201201 if len(p) > 0 {
202202 _p0 = unsafe.Pointer(&p[0])
390390
391391 func Ustat(dev int, ubuf *Ustat_t) (err error) {
392392 _, _, e1 := Syscall(SYS_USTAT, uintptr(dev), uintptr(unsafe.Pointer(ubuf)), 0)
393 if e1 != 0 {
394 err = errnoErr(e1)
395 }
396 return
397 }
398
399 // THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT
400
401 func accept(s int, rsa *RawSockaddrAny, addrlen *_Socklen) (fd int, err error) {
402 r0, _, e1 := Syscall(SYS_ACCEPT, uintptr(s), uintptr(unsafe.Pointer(rsa)), uintptr(unsafe.Pointer(addrlen)))
403 fd = int(r0)
404393 if e1 != 0 {
405394 err = errnoErr(e1)
406395 }
0 // go run mksyscall.go -l32 -arm -tags linux,mipsle syscall_linux.go syscall_linux_mipsx.go
0 // go run mksyscall.go -l32 -arm -tags linux,mipsle syscall_linux.go syscall_linux_mipsx.go syscall_linux_alarm.go
11 // Code generated by the command above; see README.md. DO NOT EDIT.
22
33 //go:build linux && mipsle
149149
150150 // THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT
151151
152 func Pread(fd int, p []byte, offset int64) (n int, err error) {
152 func pread(fd int, p []byte, offset int64) (n int, err error) {
153153 var _p0 unsafe.Pointer
154154 if len(p) > 0 {
155155 _p0 = unsafe.Pointer(&p[0])
166166
167167 // THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT
168168
169 func Pwrite(fd int, p []byte, offset int64) (n int, err error) {
169 func pwrite(fd int, p []byte, offset int64) (n int, err error) {
170170 var _p0 unsafe.Pointer
171171 if len(p) > 0 {
172172 _p0 = unsafe.Pointer(&p[0])
335335
336336 func Ustat(dev int, ubuf *Ustat_t) (err error) {
337337 _, _, e1 := Syscall(SYS_USTAT, uintptr(dev), uintptr(unsafe.Pointer(ubuf)), 0)
338 if e1 != 0 {
339 err = errnoErr(e1)
340 }
341 return
342 }
343
344 // THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT
345
346 func accept(s int, rsa *RawSockaddrAny, addrlen *_Socklen) (fd int, err error) {
347 r0, _, e1 := Syscall(SYS_ACCEPT, uintptr(s), uintptr(unsafe.Pointer(rsa)), uintptr(unsafe.Pointer(addrlen)))
348 fd = int(r0)
349338 if e1 != 0 {
350339 err = errnoErr(e1)
351340 }
701690 }
702691 return
703692 }
693
694 // THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT
695
696 func Alarm(seconds uint) (remaining uint, err error) {
697 r0, _, e1 := Syscall(SYS_ALARM, uintptr(seconds), 0, 0)
698 remaining = uint(r0)
699 if e1 != 0 {
700 err = errnoErr(e1)
701 }
702 return
703 }
0 // go run mksyscall.go -b32 -tags linux,ppc syscall_linux.go syscall_linux_ppc.go
0 // go run mksyscall.go -b32 -tags linux,ppc syscall_linux.go syscall_linux_ppc.go syscall_linux_alarm.go
11 // Code generated by the command above; see README.md. DO NOT EDIT.
22
33 //go:build linux && ppc
209209
210210 // THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT
211211
212 func Pread(fd int, p []byte, offset int64) (n int, err error) {
212 func pread(fd int, p []byte, offset int64) (n int, err error) {
213213 var _p0 unsafe.Pointer
214214 if len(p) > 0 {
215215 _p0 = unsafe.Pointer(&p[0])
226226
227227 // THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT
228228
229 func Pwrite(fd int, p []byte, offset int64) (n int, err error) {
229 func pwrite(fd int, p []byte, offset int64) (n int, err error) {
230230 var _p0 unsafe.Pointer
231231 if len(p) > 0 {
232232 _p0 = unsafe.Pointer(&p[0])
400400
401401 func Ustat(dev int, ubuf *Ustat_t) (err error) {
402402 _, _, e1 := Syscall(SYS_USTAT, uintptr(dev), uintptr(unsafe.Pointer(ubuf)), 0)
403 if e1 != 0 {
404 err = errnoErr(e1)
405 }
406 return
407 }
408
409 // THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT
410
411 func accept(s int, rsa *RawSockaddrAny, addrlen *_Socklen) (fd int, err error) {
412 r0, _, e1 := Syscall(SYS_ACCEPT, uintptr(s), uintptr(unsafe.Pointer(rsa)), uintptr(unsafe.Pointer(addrlen)))
413 fd = int(r0)
414403 if e1 != 0 {
415404 err = errnoErr(e1)
416405 }
706695 }
707696 return
708697 }
698
699 // THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT
700
701 func Alarm(seconds uint) (remaining uint, err error) {
702 r0, _, e1 := Syscall(SYS_ALARM, uintptr(seconds), 0, 0)
703 remaining = uint(r0)
704 if e1 != 0 {
705 err = errnoErr(e1)
706 }
707 return
708 }
0 // go run mksyscall.go -tags linux,ppc64 syscall_linux.go syscall_linux_ppc64x.go
0 // go run mksyscall.go -tags linux,ppc64 syscall_linux.go syscall_linux_ppc64x.go syscall_linux_alarm.go
11 // Code generated by the command above; see README.md. DO NOT EDIT.
22
33 //go:build linux && ppc64
239239
240240 // THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT
241241
242 func Pread(fd int, p []byte, offset int64) (n int, err error) {
242 func pread(fd int, p []byte, offset int64) (n int, err error) {
243243 var _p0 unsafe.Pointer
244244 if len(p) > 0 {
245245 _p0 = unsafe.Pointer(&p[0])
256256
257257 // THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT
258258
259 func Pwrite(fd int, p []byte, offset int64) (n int, err error) {
259 func pwrite(fd int, p []byte, offset int64) (n int, err error) {
260260 var _p0 unsafe.Pointer
261261 if len(p) > 0 {
262262 _p0 = unsafe.Pointer(&p[0])
466466
467467 func Ustat(dev int, ubuf *Ustat_t) (err error) {
468468 _, _, e1 := Syscall(SYS_USTAT, uintptr(dev), uintptr(unsafe.Pointer(ubuf)), 0)
469 if e1 != 0 {
470 err = errnoErr(e1)
471 }
472 return
473 }
474
475 // THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT
476
477 func accept(s int, rsa *RawSockaddrAny, addrlen *_Socklen) (fd int, err error) {
478 r0, _, e1 := Syscall(SYS_ACCEPT, uintptr(s), uintptr(unsafe.Pointer(rsa)), uintptr(unsafe.Pointer(addrlen)))
479 fd = int(r0)
480469 if e1 != 0 {
481470 err = errnoErr(e1)
482471 }
752741 }
753742 return
754743 }
744
745 // THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT
746
747 func Alarm(seconds uint) (remaining uint, err error) {
748 r0, _, e1 := Syscall(SYS_ALARM, uintptr(seconds), 0, 0)
749 remaining = uint(r0)
750 if e1 != 0 {
751 err = errnoErr(e1)
752 }
753 return
754 }
0 // go run mksyscall.go -tags linux,ppc64le syscall_linux.go syscall_linux_ppc64x.go
0 // go run mksyscall.go -tags linux,ppc64le syscall_linux.go syscall_linux_ppc64x.go syscall_linux_alarm.go
11 // Code generated by the command above; see README.md. DO NOT EDIT.
22
33 //go:build linux && ppc64le
239239
240240 // THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT
241241
242 func Pread(fd int, p []byte, offset int64) (n int, err error) {
242 func pread(fd int, p []byte, offset int64) (n int, err error) {
243243 var _p0 unsafe.Pointer
244244 if len(p) > 0 {
245245 _p0 = unsafe.Pointer(&p[0])
256256
257257 // THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT
258258
259 func Pwrite(fd int, p []byte, offset int64) (n int, err error) {
259 func pwrite(fd int, p []byte, offset int64) (n int, err error) {
260260 var _p0 unsafe.Pointer
261261 if len(p) > 0 {
262262 _p0 = unsafe.Pointer(&p[0])
466466
467467 func Ustat(dev int, ubuf *Ustat_t) (err error) {
468468 _, _, e1 := Syscall(SYS_USTAT, uintptr(dev), uintptr(unsafe.Pointer(ubuf)), 0)
469 if e1 != 0 {
470 err = errnoErr(e1)
471 }
472 return
473 }
474
475 // THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT
476
477 func accept(s int, rsa *RawSockaddrAny, addrlen *_Socklen) (fd int, err error) {
478 r0, _, e1 := Syscall(SYS_ACCEPT, uintptr(s), uintptr(unsafe.Pointer(rsa)), uintptr(unsafe.Pointer(addrlen)))
479 fd = int(r0)
480469 if e1 != 0 {
481470 err = errnoErr(e1)
482471 }
752741 }
753742 return
754743 }
744
745 // THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT
746
747 func Alarm(seconds uint) (remaining uint, err error) {
748 r0, _, e1 := Syscall(SYS_ALARM, uintptr(seconds), 0, 0)
749 remaining = uint(r0)
750 if e1 != 0 {
751 err = errnoErr(e1)
752 }
753 return
754 }
179179
180180 // THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT
181181
182 func Pread(fd int, p []byte, offset int64) (n int, err error) {
182 func pread(fd int, p []byte, offset int64) (n int, err error) {
183183 var _p0 unsafe.Pointer
184184 if len(p) > 0 {
185185 _p0 = unsafe.Pointer(&p[0])
196196
197197 // THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT
198198
199 func Pwrite(fd int, p []byte, offset int64) (n int, err error) {
199 func pwrite(fd int, p []byte, offset int64) (n int, err error) {
200200 var _p0 unsafe.Pointer
201201 if len(p) > 0 {
202202 _p0 = unsafe.Pointer(&p[0])
360360 return
361361 }
362362 _, _, e1 := Syscall(SYS_TRUNCATE, uintptr(unsafe.Pointer(_p0)), uintptr(length), 0)
363 if e1 != 0 {
364 err = errnoErr(e1)
365 }
366 return
367 }
368
369 // THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT
370
371 func accept(s int, rsa *RawSockaddrAny, addrlen *_Socklen) (fd int, err error) {
372 r0, _, e1 := Syscall(SYS_ACCEPT, uintptr(s), uintptr(unsafe.Pointer(rsa)), uintptr(unsafe.Pointer(addrlen)))
373 fd = int(r0)
374363 if e1 != 0 {
375364 err = errnoErr(e1)
376365 }
0 // go run mksyscall.go -tags linux,s390x syscall_linux.go syscall_linux_s390x.go
0 // go run mksyscall.go -tags linux,s390x syscall_linux.go syscall_linux_s390x.go syscall_linux_alarm.go
11 // Code generated by the command above; see README.md. DO NOT EDIT.
22
33 //go:build linux && s390x
209209
210210 // THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT
211211
212 func Pread(fd int, p []byte, offset int64) (n int, err error) {
212 func pread(fd int, p []byte, offset int64) (n int, err error) {
213213 var _p0 unsafe.Pointer
214214 if len(p) > 0 {
215215 _p0 = unsafe.Pointer(&p[0])
226226
227227 // THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT
228228
229 func Pwrite(fd int, p []byte, offset int64) (n int, err error) {
229 func pwrite(fd int, p []byte, offset int64) (n int, err error) {
230230 var _p0 unsafe.Pointer
231231 if len(p) > 0 {
232232 _p0 = unsafe.Pointer(&p[0])
532532 }
533533 return
534534 }
535
536 // THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT
537
538 func Alarm(seconds uint) (remaining uint, err error) {
539 r0, _, e1 := Syscall(SYS_ALARM, uintptr(seconds), 0, 0)
540 remaining = uint(r0)
541 if e1 != 0 {
542 err = errnoErr(e1)
543 }
544 return
545 }
0 // go run mksyscall.go -tags linux,sparc64 syscall_linux.go syscall_linux_sparc64.go
0 // go run mksyscall.go -tags linux,sparc64 syscall_linux.go syscall_linux_sparc64.go syscall_linux_alarm.go
11 // Code generated by the command above; see README.md. DO NOT EDIT.
22
33 //go:build linux && sparc64
219219
220220 // THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT
221221
222 func Pread(fd int, p []byte, offset int64) (n int, err error) {
222 func pread(fd int, p []byte, offset int64) (n int, err error) {
223223 var _p0 unsafe.Pointer
224224 if len(p) > 0 {
225225 _p0 = unsafe.Pointer(&p[0])
236236
237237 // THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT
238238
239 func Pwrite(fd int, p []byte, offset int64) (n int, err error) {
239 func pwrite(fd int, p []byte, offset int64) (n int, err error) {
240240 var _p0 unsafe.Pointer
241241 if len(p) > 0 {
242242 _p0 = unsafe.Pointer(&p[0])
446446 return
447447 }
448448 _, _, e1 := Syscall(SYS_TRUNCATE, uintptr(unsafe.Pointer(_p0)), uintptr(length), 0)
449 if e1 != 0 {
450 err = errnoErr(e1)
451 }
452 return
453 }
454
455 // THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT
456
457 func accept(s int, rsa *RawSockaddrAny, addrlen *_Socklen) (fd int, err error) {
458 r0, _, e1 := Syscall(SYS_ACCEPT, uintptr(s), uintptr(unsafe.Pointer(rsa)), uintptr(unsafe.Pointer(addrlen)))
459 fd = int(r0)
460449 if e1 != 0 {
461450 err = errnoErr(e1)
462451 }
696685 }
697686 return
698687 }
688
689 // THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT
690
691 func Alarm(seconds uint) (remaining uint, err error) {
692 r0, _, e1 := Syscall(SYS_ALARM, uintptr(seconds), 0, 0)
693 remaining = uint(r0)
694 if e1 != 0 {
695 err = errnoErr(e1)
696 }
697 return
698 }
13291329
13301330 // THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT
13311331
1332 func Pread(fd int, p []byte, offset int64) (n int, err error) {
1332 func pread(fd int, p []byte, offset int64) (n int, err error) {
13331333 var _p0 unsafe.Pointer
13341334 if len(p) > 0 {
13351335 _p0 = unsafe.Pointer(&p[0])
13461346
13471347 // THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT
13481348
1349 func Pwrite(fd int, p []byte, offset int64) (n int, err error) {
1349 func pwrite(fd int, p []byte, offset int64) (n int, err error) {
13501350 var _p0 unsafe.Pointer
13511351 if len(p) > 0 {
13521352 _p0 = unsafe.Pointer(&p[0])
13291329
13301330 // THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT
13311331
1332 func Pread(fd int, p []byte, offset int64) (n int, err error) {
1332 func pread(fd int, p []byte, offset int64) (n int, err error) {
13331333 var _p0 unsafe.Pointer
13341334 if len(p) > 0 {
13351335 _p0 = unsafe.Pointer(&p[0])
13461346
13471347 // THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT
13481348
1349 func Pwrite(fd int, p []byte, offset int64) (n int, err error) {
1349 func pwrite(fd int, p []byte, offset int64) (n int, err error) {
13501350 var _p0 unsafe.Pointer
13511351 if len(p) > 0 {
13521352 _p0 = unsafe.Pointer(&p[0])
13291329
13301330 // THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT
13311331
1332 func Pread(fd int, p []byte, offset int64) (n int, err error) {
1332 func pread(fd int, p []byte, offset int64) (n int, err error) {
13331333 var _p0 unsafe.Pointer
13341334 if len(p) > 0 {
13351335 _p0 = unsafe.Pointer(&p[0])
13461346
13471347 // THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT
13481348
1349 func Pwrite(fd int, p []byte, offset int64) (n int, err error) {
1349 func pwrite(fd int, p []byte, offset int64) (n int, err error) {
13501350 var _p0 unsafe.Pointer
13511351 if len(p) > 0 {
13521352 _p0 = unsafe.Pointer(&p[0])
13291329
13301330 // THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT
13311331
1332 func Pread(fd int, p []byte, offset int64) (n int, err error) {
1332 func pread(fd int, p []byte, offset int64) (n int, err error) {
13331333 var _p0 unsafe.Pointer
13341334 if len(p) > 0 {
13351335 _p0 = unsafe.Pointer(&p[0])
13461346
13471347 // THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT
13481348
1349 func Pwrite(fd int, p []byte, offset int64) (n int, err error) {
1349 func pwrite(fd int, p []byte, offset int64) (n int, err error) {
13501350 var _p0 unsafe.Pointer
13511351 if len(p) > 0 {
13521352 _p0 = unsafe.Pointer(&p[0])
11271127
11281128 // THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT
11291129
1130 func Pread(fd int, p []byte, offset int64) (n int, err error) {
1130 func pread(fd int, p []byte, offset int64) (n int, err error) {
11311131 var _p0 unsafe.Pointer
11321132 if len(p) > 0 {
11331133 _p0 = unsafe.Pointer(&p[0])
11441144
11451145 // THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT
11461146
1147 func Pwrite(fd int, p []byte, offset int64) (n int, err error) {
1147 func pwrite(fd int, p []byte, offset int64) (n int, err error) {
11481148 var _p0 unsafe.Pointer
11491149 if len(p) > 0 {
11501150 _p0 = unsafe.Pointer(&p[0])
11271127
11281128 // THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT
11291129
1130 func Pread(fd int, p []byte, offset int64) (n int, err error) {
1130 func pread(fd int, p []byte, offset int64) (n int, err error) {
11311131 var _p0 unsafe.Pointer
11321132 if len(p) > 0 {
11331133 _p0 = unsafe.Pointer(&p[0])
11441144
11451145 // THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT
11461146
1147 func Pwrite(fd int, p []byte, offset int64) (n int, err error) {
1147 func pwrite(fd int, p []byte, offset int64) (n int, err error) {
11481148 var _p0 unsafe.Pointer
11491149 if len(p) > 0 {
11501150 _p0 = unsafe.Pointer(&p[0])
11271127
11281128 // THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT
11291129
1130 func Pread(fd int, p []byte, offset int64) (n int, err error) {
1130 func pread(fd int, p []byte, offset int64) (n int, err error) {
11311131 var _p0 unsafe.Pointer
11321132 if len(p) > 0 {
11331133 _p0 = unsafe.Pointer(&p[0])
11441144
11451145 // THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT
11461146
1147 func Pwrite(fd int, p []byte, offset int64) (n int, err error) {
1147 func pwrite(fd int, p []byte, offset int64) (n int, err error) {
11481148 var _p0 unsafe.Pointer
11491149 if len(p) > 0 {
11501150 _p0 = unsafe.Pointer(&p[0])
11271127
11281128 // THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT
11291129
1130 func Pread(fd int, p []byte, offset int64) (n int, err error) {
1130 func pread(fd int, p []byte, offset int64) (n int, err error) {
11311131 var _p0 unsafe.Pointer
11321132 if len(p) > 0 {
11331133 _p0 = unsafe.Pointer(&p[0])
11441144
11451145 // THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT
11461146
1147 func Pwrite(fd int, p []byte, offset int64) (n int, err error) {
1147 func pwrite(fd int, p []byte, offset int64) (n int, err error) {
11481148 var _p0 unsafe.Pointer
11491149 if len(p) > 0 {
11501150 _p0 = unsafe.Pointer(&p[0])
11271127
11281128 // THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT
11291129
1130 func Pread(fd int, p []byte, offset int64) (n int, err error) {
1130 func pread(fd int, p []byte, offset int64) (n int, err error) {
11311131 var _p0 unsafe.Pointer
11321132 if len(p) > 0 {
11331133 _p0 = unsafe.Pointer(&p[0])
11441144
11451145 // THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT
11461146
1147 func Pwrite(fd int, p []byte, offset int64) (n int, err error) {
1147 func pwrite(fd int, p []byte, offset int64) (n int, err error) {
11481148 var _p0 unsafe.Pointer
11491149 if len(p) > 0 {
11501150 _p0 = unsafe.Pointer(&p[0])
226226 //go:linkname procOpenat libc_openat
227227 //go:linkname procPathconf libc_pathconf
228228 //go:linkname procPause libc_pause
229 //go:linkname procPread libc_pread
230 //go:linkname procPwrite libc_pwrite
229 //go:linkname procpread libc_pread
230 //go:linkname procpwrite libc_pwrite
231231 //go:linkname procread libc_read
232232 //go:linkname procReadlink libc_readlink
233233 //go:linkname procRename libc_rename
363363 procOpenat,
364364 procPathconf,
365365 procPause,
366 procPread,
367 procPwrite,
366 procpread,
367 procpwrite,
368368 procread,
369369 procReadlink,
370370 procRename,
13791379
13801380 // THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT
13811381
1382 func Pread(fd int, p []byte, offset int64) (n int, err error) {
1382 func pread(fd int, p []byte, offset int64) (n int, err error) {
13831383 var _p0 *byte
13841384 if len(p) > 0 {
13851385 _p0 = &p[0]
13861386 }
1387 r0, _, e1 := sysvicall6(uintptr(unsafe.Pointer(&procPread)), 4, uintptr(fd), uintptr(unsafe.Pointer(_p0)), uintptr(len(p)), uintptr(offset), 0, 0)
1387 r0, _, e1 := sysvicall6(uintptr(unsafe.Pointer(&procpread)), 4, uintptr(fd), uintptr(unsafe.Pointer(_p0)), uintptr(len(p)), uintptr(offset), 0, 0)
13881388 n = int(r0)
13891389 if e1 != 0 {
13901390 err = e1
13941394
13951395 // THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT
13961396
1397 func Pwrite(fd int, p []byte, offset int64) (n int, err error) {
1397 func pwrite(fd int, p []byte, offset int64) (n int, err error) {
13981398 var _p0 *byte
13991399 if len(p) > 0 {
14001400 _p0 = &p[0]
14011401 }
1402 r0, _, e1 := sysvicall6(uintptr(unsafe.Pointer(&procPwrite)), 4, uintptr(fd), uintptr(unsafe.Pointer(_p0)), uintptr(len(p)), uintptr(offset), 0, 0)
1402 r0, _, e1 := sysvicall6(uintptr(unsafe.Pointer(&procpwrite)), 4, uintptr(fd), uintptr(unsafe.Pointer(_p0)), uintptr(len(p)), uintptr(offset), 0, 0)
14031403 n = int(r0)
14041404 if e1 != 0 {
14051405 err = e1
444444 SYS_LANDLOCK_RESTRICT_SELF = 446
445445 SYS_MEMFD_SECRET = 447
446446 SYS_PROCESS_MRELEASE = 448
447 SYS_FUTEX_WAITV = 449
448 SYS_SET_MEMPOLICY_HOME_NODE = 450
447449 )
366366 SYS_LANDLOCK_RESTRICT_SELF = 446
367367 SYS_MEMFD_SECRET = 447
368368 SYS_PROCESS_MRELEASE = 448
369 SYS_FUTEX_WAITV = 449
370 SYS_SET_MEMPOLICY_HOME_NODE = 450
369371 )
408408 SYS_LANDLOCK_ADD_RULE = 445
409409 SYS_LANDLOCK_RESTRICT_SELF = 446
410410 SYS_PROCESS_MRELEASE = 448
411 SYS_FUTEX_WAITV = 449
412 SYS_SET_MEMPOLICY_HOME_NODE = 450
411413 )
311311 SYS_LANDLOCK_RESTRICT_SELF = 446
312312 SYS_MEMFD_SECRET = 447
313313 SYS_PROCESS_MRELEASE = 448
314 SYS_FUTEX_WAITV = 449
315 SYS_SET_MEMPOLICY_HOME_NODE = 450
314316 )
0 // go run linux/mksysnum.go -Wall -Werror -static -I/tmp/include /tmp/include/asm/unistd.h
1 // Code generated by the command above; see README.md. DO NOT EDIT.
2
3 //go:build loong64 && linux
4 // +build loong64,linux
5
6 package unix
7
8 const (
9 SYS_IO_SETUP = 0
10 SYS_IO_DESTROY = 1
11 SYS_IO_SUBMIT = 2
12 SYS_IO_CANCEL = 3
13 SYS_IO_GETEVENTS = 4
14 SYS_SETXATTR = 5
15 SYS_LSETXATTR = 6
16 SYS_FSETXATTR = 7
17 SYS_GETXATTR = 8
18 SYS_LGETXATTR = 9
19 SYS_FGETXATTR = 10
20 SYS_LISTXATTR = 11
21 SYS_LLISTXATTR = 12
22 SYS_FLISTXATTR = 13
23 SYS_REMOVEXATTR = 14
24 SYS_LREMOVEXATTR = 15
25 SYS_FREMOVEXATTR = 16
26 SYS_GETCWD = 17
27 SYS_LOOKUP_DCOOKIE = 18
28 SYS_EVENTFD2 = 19
29 SYS_EPOLL_CREATE1 = 20
30 SYS_EPOLL_CTL = 21
31 SYS_EPOLL_PWAIT = 22
32 SYS_DUP = 23
33 SYS_DUP3 = 24
34 SYS_FCNTL = 25
35 SYS_INOTIFY_INIT1 = 26
36 SYS_INOTIFY_ADD_WATCH = 27
37 SYS_INOTIFY_RM_WATCH = 28
38 SYS_IOCTL = 29
39 SYS_IOPRIO_SET = 30
40 SYS_IOPRIO_GET = 31
41 SYS_FLOCK = 32
42 SYS_MKNODAT = 33
43 SYS_MKDIRAT = 34
44 SYS_UNLINKAT = 35
45 SYS_SYMLINKAT = 36
46 SYS_LINKAT = 37
47 SYS_UMOUNT2 = 39
48 SYS_MOUNT = 40
49 SYS_PIVOT_ROOT = 41
50 SYS_NFSSERVCTL = 42
51 SYS_STATFS = 43
52 SYS_FSTATFS = 44
53 SYS_TRUNCATE = 45
54 SYS_FTRUNCATE = 46
55 SYS_FALLOCATE = 47
56 SYS_FACCESSAT = 48
57 SYS_CHDIR = 49
58 SYS_FCHDIR = 50
59 SYS_CHROOT = 51
60 SYS_FCHMOD = 52
61 SYS_FCHMODAT = 53
62 SYS_FCHOWNAT = 54
63 SYS_FCHOWN = 55
64 SYS_OPENAT = 56
65 SYS_CLOSE = 57
66 SYS_VHANGUP = 58
67 SYS_PIPE2 = 59
68 SYS_QUOTACTL = 60
69 SYS_GETDENTS64 = 61
70 SYS_LSEEK = 62
71 SYS_READ = 63
72 SYS_WRITE = 64
73 SYS_READV = 65
74 SYS_WRITEV = 66
75 SYS_PREAD64 = 67
76 SYS_PWRITE64 = 68
77 SYS_PREADV = 69
78 SYS_PWRITEV = 70
79 SYS_SENDFILE = 71
80 SYS_PSELECT6 = 72
81 SYS_PPOLL = 73
82 SYS_SIGNALFD4 = 74
83 SYS_VMSPLICE = 75
84 SYS_SPLICE = 76
85 SYS_TEE = 77
86 SYS_READLINKAT = 78
87 SYS_FSTATAT = 79
88 SYS_FSTAT = 80
89 SYS_SYNC = 81
90 SYS_FSYNC = 82
91 SYS_FDATASYNC = 83
92 SYS_SYNC_FILE_RANGE = 84
93 SYS_TIMERFD_CREATE = 85
94 SYS_TIMERFD_SETTIME = 86
95 SYS_TIMERFD_GETTIME = 87
96 SYS_UTIMENSAT = 88
97 SYS_ACCT = 89
98 SYS_CAPGET = 90
99 SYS_CAPSET = 91
100 SYS_PERSONALITY = 92
101 SYS_EXIT = 93
102 SYS_EXIT_GROUP = 94
103 SYS_WAITID = 95
104 SYS_SET_TID_ADDRESS = 96
105 SYS_UNSHARE = 97
106 SYS_FUTEX = 98
107 SYS_SET_ROBUST_LIST = 99
108 SYS_GET_ROBUST_LIST = 100
109 SYS_NANOSLEEP = 101
110 SYS_GETITIMER = 102
111 SYS_SETITIMER = 103
112 SYS_KEXEC_LOAD = 104
113 SYS_INIT_MODULE = 105
114 SYS_DELETE_MODULE = 106
115 SYS_TIMER_CREATE = 107
116 SYS_TIMER_GETTIME = 108
117 SYS_TIMER_GETOVERRUN = 109
118 SYS_TIMER_SETTIME = 110
119 SYS_TIMER_DELETE = 111
120 SYS_CLOCK_SETTIME = 112
121 SYS_CLOCK_GETTIME = 113
122 SYS_CLOCK_GETRES = 114
123 SYS_CLOCK_NANOSLEEP = 115
124 SYS_SYSLOG = 116
125 SYS_PTRACE = 117
126 SYS_SCHED_SETPARAM = 118
127 SYS_SCHED_SETSCHEDULER = 119
128 SYS_SCHED_GETSCHEDULER = 120
129 SYS_SCHED_GETPARAM = 121
130 SYS_SCHED_SETAFFINITY = 122
131 SYS_SCHED_GETAFFINITY = 123
132 SYS_SCHED_YIELD = 124
133 SYS_SCHED_GET_PRIORITY_MAX = 125
134 SYS_SCHED_GET_PRIORITY_MIN = 126
135 SYS_SCHED_RR_GET_INTERVAL = 127
136 SYS_RESTART_SYSCALL = 128
137 SYS_KILL = 129
138 SYS_TKILL = 130
139 SYS_TGKILL = 131
140 SYS_SIGALTSTACK = 132
141 SYS_RT_SIGSUSPEND = 133
142 SYS_RT_SIGACTION = 134
143 SYS_RT_SIGPROCMASK = 135
144 SYS_RT_SIGPENDING = 136
145 SYS_RT_SIGTIMEDWAIT = 137
146 SYS_RT_SIGQUEUEINFO = 138
147 SYS_RT_SIGRETURN = 139
148 SYS_SETPRIORITY = 140
149 SYS_GETPRIORITY = 141
150 SYS_REBOOT = 142
151 SYS_SETREGID = 143
152 SYS_SETGID = 144
153 SYS_SETREUID = 145
154 SYS_SETUID = 146
155 SYS_SETRESUID = 147
156 SYS_GETRESUID = 148
157 SYS_SETRESGID = 149
158 SYS_GETRESGID = 150
159 SYS_SETFSUID = 151
160 SYS_SETFSGID = 152
161 SYS_TIMES = 153
162 SYS_SETPGID = 154
163 SYS_GETPGID = 155
164 SYS_GETSID = 156
165 SYS_SETSID = 157
166 SYS_GETGROUPS = 158
167 SYS_SETGROUPS = 159
168 SYS_UNAME = 160
169 SYS_SETHOSTNAME = 161
170 SYS_SETDOMAINNAME = 162
171 SYS_GETRUSAGE = 165
172 SYS_UMASK = 166
173 SYS_PRCTL = 167
174 SYS_GETCPU = 168
175 SYS_GETTIMEOFDAY = 169
176 SYS_SETTIMEOFDAY = 170
177 SYS_ADJTIMEX = 171
178 SYS_GETPID = 172
179 SYS_GETPPID = 173
180 SYS_GETUID = 174
181 SYS_GETEUID = 175
182 SYS_GETGID = 176
183 SYS_GETEGID = 177
184 SYS_GETTID = 178
185 SYS_SYSINFO = 179
186 SYS_MQ_OPEN = 180
187 SYS_MQ_UNLINK = 181
188 SYS_MQ_TIMEDSEND = 182
189 SYS_MQ_TIMEDRECEIVE = 183
190 SYS_MQ_NOTIFY = 184
191 SYS_MQ_GETSETATTR = 185
192 SYS_MSGGET = 186
193 SYS_MSGCTL = 187
194 SYS_MSGRCV = 188
195 SYS_MSGSND = 189
196 SYS_SEMGET = 190
197 SYS_SEMCTL = 191
198 SYS_SEMTIMEDOP = 192
199 SYS_SEMOP = 193
200 SYS_SHMGET = 194
201 SYS_SHMCTL = 195
202 SYS_SHMAT = 196
203 SYS_SHMDT = 197
204 SYS_SOCKET = 198
205 SYS_SOCKETPAIR = 199
206 SYS_BIND = 200
207 SYS_LISTEN = 201
208 SYS_ACCEPT = 202
209 SYS_CONNECT = 203
210 SYS_GETSOCKNAME = 204
211 SYS_GETPEERNAME = 205
212 SYS_SENDTO = 206
213 SYS_RECVFROM = 207
214 SYS_SETSOCKOPT = 208
215 SYS_GETSOCKOPT = 209
216 SYS_SHUTDOWN = 210
217 SYS_SENDMSG = 211
218 SYS_RECVMSG = 212
219 SYS_READAHEAD = 213
220 SYS_BRK = 214
221 SYS_MUNMAP = 215
222 SYS_MREMAP = 216
223 SYS_ADD_KEY = 217
224 SYS_REQUEST_KEY = 218
225 SYS_KEYCTL = 219
226 SYS_CLONE = 220
227 SYS_EXECVE = 221
228 SYS_MMAP = 222
229 SYS_FADVISE64 = 223
230 SYS_SWAPON = 224
231 SYS_SWAPOFF = 225
232 SYS_MPROTECT = 226
233 SYS_MSYNC = 227
234 SYS_MLOCK = 228
235 SYS_MUNLOCK = 229
236 SYS_MLOCKALL = 230
237 SYS_MUNLOCKALL = 231
238 SYS_MINCORE = 232
239 SYS_MADVISE = 233
240 SYS_REMAP_FILE_PAGES = 234
241 SYS_MBIND = 235
242 SYS_GET_MEMPOLICY = 236
243 SYS_SET_MEMPOLICY = 237
244 SYS_MIGRATE_PAGES = 238
245 SYS_MOVE_PAGES = 239
246 SYS_RT_TGSIGQUEUEINFO = 240
247 SYS_PERF_EVENT_OPEN = 241
248 SYS_ACCEPT4 = 242
249 SYS_RECVMMSG = 243
250 SYS_ARCH_SPECIFIC_SYSCALL = 244
251 SYS_WAIT4 = 260
252 SYS_PRLIMIT64 = 261
253 SYS_FANOTIFY_INIT = 262
254 SYS_FANOTIFY_MARK = 263
255 SYS_NAME_TO_HANDLE_AT = 264
256 SYS_OPEN_BY_HANDLE_AT = 265
257 SYS_CLOCK_ADJTIME = 266
258 SYS_SYNCFS = 267
259 SYS_SETNS = 268
260 SYS_SENDMMSG = 269
261 SYS_PROCESS_VM_READV = 270
262 SYS_PROCESS_VM_WRITEV = 271
263 SYS_KCMP = 272
264 SYS_FINIT_MODULE = 273
265 SYS_SCHED_SETATTR = 274
266 SYS_SCHED_GETATTR = 275
267 SYS_RENAMEAT2 = 276
268 SYS_SECCOMP = 277
269 SYS_GETRANDOM = 278
270 SYS_MEMFD_CREATE = 279
271 SYS_BPF = 280
272 SYS_EXECVEAT = 281
273 SYS_USERFAULTFD = 282
274 SYS_MEMBARRIER = 283
275 SYS_MLOCK2 = 284
276 SYS_COPY_FILE_RANGE = 285
277 SYS_PREADV2 = 286
278 SYS_PWRITEV2 = 287
279 SYS_PKEY_MPROTECT = 288
280 SYS_PKEY_ALLOC = 289
281 SYS_PKEY_FREE = 290
282 SYS_STATX = 291
283 SYS_IO_PGETEVENTS = 292
284 SYS_RSEQ = 293
285 SYS_KEXEC_FILE_LOAD = 294
286 SYS_PIDFD_SEND_SIGNAL = 424
287 SYS_IO_URING_SETUP = 425
288 SYS_IO_URING_ENTER = 426
289 SYS_IO_URING_REGISTER = 427
290 SYS_OPEN_TREE = 428
291 SYS_MOVE_MOUNT = 429
292 SYS_FSOPEN = 430
293 SYS_FSCONFIG = 431
294 SYS_FSMOUNT = 432
295 SYS_FSPICK = 433
296 SYS_PIDFD_OPEN = 434
297 SYS_CLONE3 = 435
298 SYS_CLOSE_RANGE = 436
299 SYS_OPENAT2 = 437
300 SYS_PIDFD_GETFD = 438
301 SYS_FACCESSAT2 = 439
302 SYS_PROCESS_MADVISE = 440
303 SYS_EPOLL_PWAIT2 = 441
304 SYS_MOUNT_SETATTR = 442
305 SYS_QUOTACTL_FD = 443
306 SYS_LANDLOCK_CREATE_RULESET = 444
307 SYS_LANDLOCK_ADD_RULE = 445
308 SYS_LANDLOCK_RESTRICT_SELF = 446
309 SYS_PROCESS_MRELEASE = 448
310 SYS_FUTEX_WAITV = 449
311 SYS_SET_MEMPOLICY_HOME_NODE = 450
312 )
428428 SYS_LANDLOCK_ADD_RULE = 4445
429429 SYS_LANDLOCK_RESTRICT_SELF = 4446
430430 SYS_PROCESS_MRELEASE = 4448
431 SYS_FUTEX_WAITV = 4449
432 SYS_SET_MEMPOLICY_HOME_NODE = 4450
431433 )
358358 SYS_LANDLOCK_ADD_RULE = 5445
359359 SYS_LANDLOCK_RESTRICT_SELF = 5446
360360 SYS_PROCESS_MRELEASE = 5448
361 SYS_FUTEX_WAITV = 5449
362 SYS_SET_MEMPOLICY_HOME_NODE = 5450
361363 )
358358 SYS_LANDLOCK_ADD_RULE = 5445
359359 SYS_LANDLOCK_RESTRICT_SELF = 5446
360360 SYS_PROCESS_MRELEASE = 5448
361 SYS_FUTEX_WAITV = 5449
362 SYS_SET_MEMPOLICY_HOME_NODE = 5450
361363 )
428428 SYS_LANDLOCK_ADD_RULE = 4445
429429 SYS_LANDLOCK_RESTRICT_SELF = 4446
430430 SYS_PROCESS_MRELEASE = 4448
431 SYS_FUTEX_WAITV = 4449
432 SYS_SET_MEMPOLICY_HOME_NODE = 4450
431433 )
435435 SYS_LANDLOCK_ADD_RULE = 445
436436 SYS_LANDLOCK_RESTRICT_SELF = 446
437437 SYS_PROCESS_MRELEASE = 448
438 SYS_FUTEX_WAITV = 449
439 SYS_SET_MEMPOLICY_HOME_NODE = 450
438440 )
407407 SYS_LANDLOCK_ADD_RULE = 445
408408 SYS_LANDLOCK_RESTRICT_SELF = 446
409409 SYS_PROCESS_MRELEASE = 448
410 SYS_FUTEX_WAITV = 449
411 SYS_SET_MEMPOLICY_HOME_NODE = 450
410412 )
407407 SYS_LANDLOCK_ADD_RULE = 445
408408 SYS_LANDLOCK_RESTRICT_SELF = 446
409409 SYS_PROCESS_MRELEASE = 448
410 SYS_FUTEX_WAITV = 449
411 SYS_SET_MEMPOLICY_HOME_NODE = 450
410412 )
309309 SYS_LANDLOCK_ADD_RULE = 445
310310 SYS_LANDLOCK_RESTRICT_SELF = 446
311311 SYS_PROCESS_MRELEASE = 448
312 SYS_FUTEX_WAITV = 449
313 SYS_SET_MEMPOLICY_HOME_NODE = 450
312314 )
372372 SYS_LANDLOCK_ADD_RULE = 445
373373 SYS_LANDLOCK_RESTRICT_SELF = 446
374374 SYS_PROCESS_MRELEASE = 448
375 SYS_FUTEX_WAITV = 449
376 SYS_SET_MEMPOLICY_HOME_NODE = 450
375377 )
386386 SYS_LANDLOCK_ADD_RULE = 445
387387 SYS_LANDLOCK_RESTRICT_SELF = 446
388388 SYS_PROCESS_MRELEASE = 448
389 SYS_FUTEX_WAITV = 449
390 SYS_SET_MEMPOLICY_HOME_NODE = 450
389391 )
2121 type ItimerSpec struct {
2222 Interval Timespec
2323 Value Timespec
24 }
25
26 type Itimerval struct {
27 Interval Timeval
28 Value Timeval
2429 }
2530
2631 const (
748753 AT_SYMLINK_NOFOLLOW = 0x100
749754
750755 AT_EACCESS = 0x200
756
757 OPEN_TREE_CLONE = 0x1
758
759 MOVE_MOUNT_F_SYMLINKS = 0x1
760 MOVE_MOUNT_F_AUTOMOUNTS = 0x2
761 MOVE_MOUNT_F_EMPTY_PATH = 0x4
762 MOVE_MOUNT_T_SYMLINKS = 0x10
763 MOVE_MOUNT_T_AUTOMOUNTS = 0x20
764 MOVE_MOUNT_T_EMPTY_PATH = 0x40
765 MOVE_MOUNT_SET_GROUP = 0x100
766
767 FSOPEN_CLOEXEC = 0x1
768
769 FSPICK_CLOEXEC = 0x1
770 FSPICK_SYMLINK_NOFOLLOW = 0x2
771 FSPICK_NO_AUTOMOUNT = 0x4
772 FSPICK_EMPTY_PATH = 0x8
773
774 FSMOUNT_CLOEXEC = 0x1
751775 )
752776
753777 type OpenHow struct {
11431167 PERF_RECORD_BPF_EVENT = 0x12
11441168 PERF_RECORD_CGROUP = 0x13
11451169 PERF_RECORD_TEXT_POKE = 0x14
1146 PERF_RECORD_MAX = 0x15
1170 PERF_RECORD_AUX_OUTPUT_HW_ID = 0x15
1171 PERF_RECORD_MAX = 0x16
11471172 PERF_RECORD_KSYMBOL_TYPE_UNKNOWN = 0x0
11481173 PERF_RECORD_KSYMBOL_TYPE_BPF = 0x1
11491174 PERF_RECORD_KSYMBOL_TYPE_OOL = 0x2
17831808
17841809 const (
17851810 NF_NETDEV_INGRESS = 0x0
1786 NF_NETDEV_NUMHOOKS = 0x1
1811 NF_NETDEV_EGRESS = 0x1
1812 NF_NETDEV_NUMHOOKS = 0x2
17871813 )
17881814
17891815 const (
31653191 DEVLINK_ATTR_RELOAD_ACTION_INFO = 0xa2
31663192 DEVLINK_ATTR_RELOAD_ACTION_STATS = 0xa3
31673193 DEVLINK_ATTR_PORT_PCI_SF_NUMBER = 0xa4
3168 DEVLINK_ATTR_MAX = 0xa9
3194 DEVLINK_ATTR_RATE_TYPE = 0xa5
3195 DEVLINK_ATTR_RATE_TX_SHARE = 0xa6
3196 DEVLINK_ATTR_RATE_TX_MAX = 0xa7
3197 DEVLINK_ATTR_RATE_NODE_NAME = 0xa8
3198 DEVLINK_ATTR_RATE_PARENT_NODE_NAME = 0xa9
3199 DEVLINK_ATTR_REGION_MAX_SNAPSHOTS = 0xaa
3200 DEVLINK_ATTR_MAX = 0xaa
31693201 DEVLINK_DPIPE_FIELD_MAPPING_TYPE_NONE = 0x0
31703202 DEVLINK_DPIPE_FIELD_MAPPING_TYPE_IFINDEX = 0x1
31713203 DEVLINK_DPIPE_MATCH_TYPE_FIELD_EXACT = 0x0
34623494 ETHTOOL_MSG_CABLE_TEST_ACT = 0x1a
34633495 ETHTOOL_MSG_CABLE_TEST_TDR_ACT = 0x1b
34643496 ETHTOOL_MSG_TUNNEL_INFO_GET = 0x1c
3465 ETHTOOL_MSG_USER_MAX = 0x21
3497 ETHTOOL_MSG_FEC_GET = 0x1d
3498 ETHTOOL_MSG_FEC_SET = 0x1e
3499 ETHTOOL_MSG_MODULE_EEPROM_GET = 0x1f
3500 ETHTOOL_MSG_STATS_GET = 0x20
3501 ETHTOOL_MSG_PHC_VCLOCKS_GET = 0x21
3502 ETHTOOL_MSG_MODULE_GET = 0x22
3503 ETHTOOL_MSG_MODULE_SET = 0x23
3504 ETHTOOL_MSG_USER_MAX = 0x23
34663505 ETHTOOL_MSG_KERNEL_NONE = 0x0
34673506 ETHTOOL_MSG_STRSET_GET_REPLY = 0x1
34683507 ETHTOOL_MSG_LINKINFO_GET_REPLY = 0x2
34933532 ETHTOOL_MSG_CABLE_TEST_NTF = 0x1b
34943533 ETHTOOL_MSG_CABLE_TEST_TDR_NTF = 0x1c
34953534 ETHTOOL_MSG_TUNNEL_INFO_GET_REPLY = 0x1d
3496 ETHTOOL_MSG_KERNEL_MAX = 0x22
3535 ETHTOOL_MSG_FEC_GET_REPLY = 0x1e
3536 ETHTOOL_MSG_FEC_NTF = 0x1f
3537 ETHTOOL_MSG_MODULE_EEPROM_GET_REPLY = 0x20
3538 ETHTOOL_MSG_STATS_GET_REPLY = 0x21
3539 ETHTOOL_MSG_PHC_VCLOCKS_GET_REPLY = 0x22
3540 ETHTOOL_MSG_MODULE_GET_REPLY = 0x23
3541 ETHTOOL_MSG_MODULE_NTF = 0x24
3542 ETHTOOL_MSG_KERNEL_MAX = 0x24
34973543 ETHTOOL_A_HEADER_UNSPEC = 0x0
34983544 ETHTOOL_A_HEADER_DEV_INDEX = 0x1
34993545 ETHTOOL_A_HEADER_DEV_NAME = 0x2
35913637 ETHTOOL_A_RINGS_RX_MINI = 0x7
35923638 ETHTOOL_A_RINGS_RX_JUMBO = 0x8
35933639 ETHTOOL_A_RINGS_TX = 0x9
3594 ETHTOOL_A_RINGS_MAX = 0x9
3640 ETHTOOL_A_RINGS_MAX = 0xa
35953641 ETHTOOL_A_CHANNELS_UNSPEC = 0x0
35963642 ETHTOOL_A_CHANNELS_HEADER = 0x1
35973643 ETHTOOL_A_CHANNELS_RX_MAX = 0x2
37433789 ETHTOOL_A_TUNNEL_INFO_MAX = 0x2
37443790 )
37453791
3792 const SPEED_UNKNOWN = -0x1
3793
37463794 type EthtoolDrvinfo struct {
37473795 Cmd uint32
37483796 Driver [32]byte
40424090 NL_POLICY_TYPE_ATTR_MASK = 0xc
40434091 NL_POLICY_TYPE_ATTR_MAX = 0xc
40444092 )
4093
4094 type CANBitTiming struct {
4095 Bitrate uint32
4096 Sample_point uint32
4097 Tq uint32
4098 Prop_seg uint32
4099 Phase_seg1 uint32
4100 Phase_seg2 uint32
4101 Sjw uint32
4102 Brp uint32
4103 }
4104
4105 type CANBitTimingConst struct {
4106 Name [16]uint8
4107 Tseg1_min uint32
4108 Tseg1_max uint32
4109 Tseg2_min uint32
4110 Tseg2_max uint32
4111 Sjw_max uint32
4112 Brp_min uint32
4113 Brp_max uint32
4114 Brp_inc uint32
4115 }
4116
4117 type CANClock struct {
4118 Freq uint32
4119 }
4120
4121 type CANBusErrorCounters struct {
4122 Txerr uint16
4123 Rxerr uint16
4124 }
4125
4126 type CANCtrlMode struct {
4127 Mask uint32
4128 Flags uint32
4129 }
4130
4131 type CANDeviceStats struct {
4132 Bus_error uint32
4133 Error_warning uint32
4134 Error_passive uint32
4135 Bus_off uint32
4136 Arbitration_lost uint32
4137 Restarts uint32
4138 }
4139
4140 const (
4141 CAN_STATE_ERROR_ACTIVE = 0x0
4142 CAN_STATE_ERROR_WARNING = 0x1
4143 CAN_STATE_ERROR_PASSIVE = 0x2
4144 CAN_STATE_BUS_OFF = 0x3
4145 CAN_STATE_STOPPED = 0x4
4146 CAN_STATE_SLEEPING = 0x5
4147 CAN_STATE_MAX = 0x6
4148 )
4149
4150 const (
4151 IFLA_CAN_UNSPEC = 0x0
4152 IFLA_CAN_BITTIMING = 0x1
4153 IFLA_CAN_BITTIMING_CONST = 0x2
4154 IFLA_CAN_CLOCK = 0x3
4155 IFLA_CAN_STATE = 0x4
4156 IFLA_CAN_CTRLMODE = 0x5
4157 IFLA_CAN_RESTART_MS = 0x6
4158 IFLA_CAN_RESTART = 0x7
4159 IFLA_CAN_BERR_COUNTER = 0x8
4160 IFLA_CAN_DATA_BITTIMING = 0x9
4161 IFLA_CAN_DATA_BITTIMING_CONST = 0xa
4162 IFLA_CAN_TERMINATION = 0xb
4163 IFLA_CAN_TERMINATION_CONST = 0xc
4164 IFLA_CAN_BITRATE_CONST = 0xd
4165 IFLA_CAN_DATA_BITRATE_CONST = 0xe
4166 IFLA_CAN_BITRATE_MAX = 0xf
4167 )
4168
4169 type KCMAttach struct {
4170 Fd int32
4171 Bpf_fd int32
4172 }
4173
4174 type KCMUnattach struct {
4175 Fd int32
4176 }
4177
4178 type KCMClone struct {
4179 Fd int32
4180 }
4181
4182 const (
4183 NL80211_AC_BE = 0x2
4184 NL80211_AC_BK = 0x3
4185 NL80211_ACL_POLICY_ACCEPT_UNLESS_LISTED = 0x0
4186 NL80211_ACL_POLICY_DENY_UNLESS_LISTED = 0x1
4187 NL80211_AC_VI = 0x1
4188 NL80211_AC_VO = 0x0
4189 NL80211_ATTR_4ADDR = 0x53
4190 NL80211_ATTR_ACK = 0x5c
4191 NL80211_ATTR_ACK_SIGNAL = 0x107
4192 NL80211_ATTR_ACL_POLICY = 0xa5
4193 NL80211_ATTR_ADMITTED_TIME = 0xd4
4194 NL80211_ATTR_AIRTIME_WEIGHT = 0x112
4195 NL80211_ATTR_AKM_SUITES = 0x4c
4196 NL80211_ATTR_AP_ISOLATE = 0x60
4197 NL80211_ATTR_AUTH_DATA = 0x9c
4198 NL80211_ATTR_AUTH_TYPE = 0x35
4199 NL80211_ATTR_BANDS = 0xef
4200 NL80211_ATTR_BEACON_HEAD = 0xe
4201 NL80211_ATTR_BEACON_INTERVAL = 0xc
4202 NL80211_ATTR_BEACON_TAIL = 0xf
4203 NL80211_ATTR_BG_SCAN_PERIOD = 0x98
4204 NL80211_ATTR_BSS_BASIC_RATES = 0x24
4205 NL80211_ATTR_BSS = 0x2f
4206 NL80211_ATTR_BSS_CTS_PROT = 0x1c
4207 NL80211_ATTR_BSS_HT_OPMODE = 0x6d
4208 NL80211_ATTR_BSSID = 0xf5
4209 NL80211_ATTR_BSS_SELECT = 0xe3
4210 NL80211_ATTR_BSS_SHORT_PREAMBLE = 0x1d
4211 NL80211_ATTR_BSS_SHORT_SLOT_TIME = 0x1e
4212 NL80211_ATTR_CENTER_FREQ1 = 0xa0
4213 NL80211_ATTR_CENTER_FREQ1_OFFSET = 0x123
4214 NL80211_ATTR_CENTER_FREQ2 = 0xa1
4215 NL80211_ATTR_CHANNEL_WIDTH = 0x9f
4216 NL80211_ATTR_CH_SWITCH_BLOCK_TX = 0xb8
4217 NL80211_ATTR_CH_SWITCH_COUNT = 0xb7
4218 NL80211_ATTR_CIPHER_SUITE_GROUP = 0x4a
4219 NL80211_ATTR_CIPHER_SUITES = 0x39
4220 NL80211_ATTR_CIPHER_SUITES_PAIRWISE = 0x49
4221 NL80211_ATTR_CNTDWN_OFFS_BEACON = 0xba
4222 NL80211_ATTR_CNTDWN_OFFS_PRESP = 0xbb
4223 NL80211_ATTR_COALESCE_RULE = 0xb6
4224 NL80211_ATTR_COALESCE_RULE_CONDITION = 0x2
4225 NL80211_ATTR_COALESCE_RULE_DELAY = 0x1
4226 NL80211_ATTR_COALESCE_RULE_MAX = 0x3
4227 NL80211_ATTR_COALESCE_RULE_PKT_PATTERN = 0x3
4228 NL80211_ATTR_CONN_FAILED_REASON = 0x9b
4229 NL80211_ATTR_CONTROL_PORT = 0x44
4230 NL80211_ATTR_CONTROL_PORT_ETHERTYPE = 0x66
4231 NL80211_ATTR_CONTROL_PORT_NO_ENCRYPT = 0x67
4232 NL80211_ATTR_CONTROL_PORT_NO_PREAUTH = 0x11e
4233 NL80211_ATTR_CONTROL_PORT_OVER_NL80211 = 0x108
4234 NL80211_ATTR_COOKIE = 0x58
4235 NL80211_ATTR_CQM_BEACON_LOSS_EVENT = 0x8
4236 NL80211_ATTR_CQM = 0x5e
4237 NL80211_ATTR_CQM_MAX = 0x9
4238 NL80211_ATTR_CQM_PKT_LOSS_EVENT = 0x4
4239 NL80211_ATTR_CQM_RSSI_HYST = 0x2
4240 NL80211_ATTR_CQM_RSSI_LEVEL = 0x9
4241 NL80211_ATTR_CQM_RSSI_THOLD = 0x1
4242 NL80211_ATTR_CQM_RSSI_THRESHOLD_EVENT = 0x3
4243 NL80211_ATTR_CQM_TXE_INTVL = 0x7
4244 NL80211_ATTR_CQM_TXE_PKTS = 0x6
4245 NL80211_ATTR_CQM_TXE_RATE = 0x5
4246 NL80211_ATTR_CRIT_PROT_ID = 0xb3
4247 NL80211_ATTR_CSA_C_OFF_BEACON = 0xba
4248 NL80211_ATTR_CSA_C_OFF_PRESP = 0xbb
4249 NL80211_ATTR_CSA_C_OFFSETS_TX = 0xcd
4250 NL80211_ATTR_CSA_IES = 0xb9
4251 NL80211_ATTR_DEVICE_AP_SME = 0x8d
4252 NL80211_ATTR_DFS_CAC_TIME = 0x7
4253 NL80211_ATTR_DFS_REGION = 0x92
4254 NL80211_ATTR_DISABLE_HE = 0x12d
4255 NL80211_ATTR_DISABLE_HT = 0x93
4256 NL80211_ATTR_DISABLE_VHT = 0xaf
4257 NL80211_ATTR_DISCONNECTED_BY_AP = 0x47
4258 NL80211_ATTR_DONT_WAIT_FOR_ACK = 0x8e
4259 NL80211_ATTR_DTIM_PERIOD = 0xd
4260 NL80211_ATTR_DURATION = 0x57
4261 NL80211_ATTR_EXT_CAPA = 0xa9
4262 NL80211_ATTR_EXT_CAPA_MASK = 0xaa
4263 NL80211_ATTR_EXTERNAL_AUTH_ACTION = 0x104
4264 NL80211_ATTR_EXTERNAL_AUTH_SUPPORT = 0x105
4265 NL80211_ATTR_EXT_FEATURES = 0xd9
4266 NL80211_ATTR_FEATURE_FLAGS = 0x8f
4267 NL80211_ATTR_FILS_CACHE_ID = 0xfd
4268 NL80211_ATTR_FILS_DISCOVERY = 0x126
4269 NL80211_ATTR_FILS_ERP_NEXT_SEQ_NUM = 0xfb
4270 NL80211_ATTR_FILS_ERP_REALM = 0xfa
4271 NL80211_ATTR_FILS_ERP_RRK = 0xfc
4272 NL80211_ATTR_FILS_ERP_USERNAME = 0xf9
4273 NL80211_ATTR_FILS_KEK = 0xf2
4274 NL80211_ATTR_FILS_NONCES = 0xf3
4275 NL80211_ATTR_FRAME = 0x33
4276 NL80211_ATTR_FRAME_MATCH = 0x5b
4277 NL80211_ATTR_FRAME_TYPE = 0x65
4278 NL80211_ATTR_FREQ_AFTER = 0x3b
4279 NL80211_ATTR_FREQ_BEFORE = 0x3a
4280 NL80211_ATTR_FREQ_FIXED = 0x3c
4281 NL80211_ATTR_FREQ_RANGE_END = 0x3
4282 NL80211_ATTR_FREQ_RANGE_MAX_BW = 0x4
4283 NL80211_ATTR_FREQ_RANGE_START = 0x2
4284 NL80211_ATTR_FTM_RESPONDER = 0x10e
4285 NL80211_ATTR_FTM_RESPONDER_STATS = 0x10f
4286 NL80211_ATTR_GENERATION = 0x2e
4287 NL80211_ATTR_HANDLE_DFS = 0xbf
4288 NL80211_ATTR_HE_6GHZ_CAPABILITY = 0x125
4289 NL80211_ATTR_HE_BSS_COLOR = 0x11b
4290 NL80211_ATTR_HE_CAPABILITY = 0x10d
4291 NL80211_ATTR_HE_OBSS_PD = 0x117
4292 NL80211_ATTR_HIDDEN_SSID = 0x7e
4293 NL80211_ATTR_HT_CAPABILITY = 0x1f
4294 NL80211_ATTR_HT_CAPABILITY_MASK = 0x94
4295 NL80211_ATTR_IE_ASSOC_RESP = 0x80
4296 NL80211_ATTR_IE = 0x2a
4297 NL80211_ATTR_IE_PROBE_RESP = 0x7f
4298 NL80211_ATTR_IE_RIC = 0xb2
4299 NL80211_ATTR_IFACE_SOCKET_OWNER = 0xcc
4300 NL80211_ATTR_IFINDEX = 0x3
4301 NL80211_ATTR_IFNAME = 0x4
4302 NL80211_ATTR_IFTYPE_AKM_SUITES = 0x11c
4303 NL80211_ATTR_IFTYPE = 0x5
4304 NL80211_ATTR_IFTYPE_EXT_CAPA = 0xe6
4305 NL80211_ATTR_INACTIVITY_TIMEOUT = 0x96
4306 NL80211_ATTR_INTERFACE_COMBINATIONS = 0x78
4307 NL80211_ATTR_KEY_CIPHER = 0x9
4308 NL80211_ATTR_KEY = 0x50
4309 NL80211_ATTR_KEY_DATA = 0x7
4310 NL80211_ATTR_KEY_DEFAULT = 0xb
4311 NL80211_ATTR_KEY_DEFAULT_MGMT = 0x28
4312 NL80211_ATTR_KEY_DEFAULT_TYPES = 0x6e
4313 NL80211_ATTR_KEY_IDX = 0x8
4314 NL80211_ATTR_KEYS = 0x51
4315 NL80211_ATTR_KEY_SEQ = 0xa
4316 NL80211_ATTR_KEY_TYPE = 0x37
4317 NL80211_ATTR_LOCAL_MESH_POWER_MODE = 0xa4
4318 NL80211_ATTR_LOCAL_STATE_CHANGE = 0x5f
4319 NL80211_ATTR_MAC_ACL_MAX = 0xa7
4320 NL80211_ATTR_MAC_ADDRS = 0xa6
4321 NL80211_ATTR_MAC = 0x6
4322 NL80211_ATTR_MAC_HINT = 0xc8
4323 NL80211_ATTR_MAC_MASK = 0xd7
4324 NL80211_ATTR_MAX_AP_ASSOC_STA = 0xca
4325 NL80211_ATTR_MAX = 0x135
4326 NL80211_ATTR_MAX_CRIT_PROT_DURATION = 0xb4
4327 NL80211_ATTR_MAX_CSA_COUNTERS = 0xce
4328 NL80211_ATTR_MAX_MATCH_SETS = 0x85
4329 NL80211_ATTR_MAX_NUM_PMKIDS = 0x56
4330 NL80211_ATTR_MAX_NUM_SCAN_SSIDS = 0x2b
4331 NL80211_ATTR_MAX_NUM_SCHED_SCAN_PLANS = 0xde
4332 NL80211_ATTR_MAX_NUM_SCHED_SCAN_SSIDS = 0x7b
4333 NL80211_ATTR_MAX_REMAIN_ON_CHANNEL_DURATION = 0x6f
4334 NL80211_ATTR_MAX_SCAN_IE_LEN = 0x38
4335 NL80211_ATTR_MAX_SCAN_PLAN_INTERVAL = 0xdf
4336 NL80211_ATTR_MAX_SCAN_PLAN_ITERATIONS = 0xe0
4337 NL80211_ATTR_MAX_SCHED_SCAN_IE_LEN = 0x7c
4338 NL80211_ATTR_MCAST_RATE = 0x6b
4339 NL80211_ATTR_MDID = 0xb1
4340 NL80211_ATTR_MEASUREMENT_DURATION = 0xeb
4341 NL80211_ATTR_MEASUREMENT_DURATION_MANDATORY = 0xec
4342 NL80211_ATTR_MESH_CONFIG = 0x23
4343 NL80211_ATTR_MESH_ID = 0x18
4344 NL80211_ATTR_MESH_PEER_AID = 0xed
4345 NL80211_ATTR_MESH_SETUP = 0x70
4346 NL80211_ATTR_MGMT_SUBTYPE = 0x29
4347 NL80211_ATTR_MNTR_FLAGS = 0x17
4348 NL80211_ATTR_MPATH_INFO = 0x1b
4349 NL80211_ATTR_MPATH_NEXT_HOP = 0x1a
4350 NL80211_ATTR_MULTICAST_TO_UNICAST_ENABLED = 0xf4
4351 NL80211_ATTR_MU_MIMO_FOLLOW_MAC_ADDR = 0xe8
4352 NL80211_ATTR_MU_MIMO_GROUP_DATA = 0xe7
4353 NL80211_ATTR_NAN_FUNC = 0xf0
4354 NL80211_ATTR_NAN_MASTER_PREF = 0xee
4355 NL80211_ATTR_NAN_MATCH = 0xf1
4356 NL80211_ATTR_NETNS_FD = 0xdb
4357 NL80211_ATTR_NOACK_MAP = 0x95
4358 NL80211_ATTR_NSS = 0x106
4359 NL80211_ATTR_OFFCHANNEL_TX_OK = 0x6c
4360 NL80211_ATTR_OPER_CLASS = 0xd6
4361 NL80211_ATTR_OPMODE_NOTIF = 0xc2
4362 NL80211_ATTR_P2P_CTWINDOW = 0xa2
4363 NL80211_ATTR_P2P_OPPPS = 0xa3
4364 NL80211_ATTR_PAD = 0xe5
4365 NL80211_ATTR_PBSS = 0xe2
4366 NL80211_ATTR_PEER_AID = 0xb5
4367 NL80211_ATTR_PEER_MEASUREMENTS = 0x111
4368 NL80211_ATTR_PID = 0x52
4369 NL80211_ATTR_PMK = 0xfe
4370 NL80211_ATTR_PMKID = 0x55
4371 NL80211_ATTR_PMK_LIFETIME = 0x11f
4372 NL80211_ATTR_PMKR0_NAME = 0x102
4373 NL80211_ATTR_PMK_REAUTH_THRESHOLD = 0x120
4374 NL80211_ATTR_PMKSA_CANDIDATE = 0x86
4375 NL80211_ATTR_PORT_AUTHORIZED = 0x103
4376 NL80211_ATTR_POWER_RULE_MAX_ANT_GAIN = 0x5
4377 NL80211_ATTR_POWER_RULE_MAX_EIRP = 0x6
4378 NL80211_ATTR_PREV_BSSID = 0x4f
4379 NL80211_ATTR_PRIVACY = 0x46
4380 NL80211_ATTR_PROBE_RESP = 0x91
4381 NL80211_ATTR_PROBE_RESP_OFFLOAD = 0x90
4382 NL80211_ATTR_PROTOCOL_FEATURES = 0xad
4383 NL80211_ATTR_PS_STATE = 0x5d
4384 NL80211_ATTR_QOS_MAP = 0xc7
4385 NL80211_ATTR_RADAR_EVENT = 0xa8
4386 NL80211_ATTR_REASON_CODE = 0x36
4387 NL80211_ATTR_RECEIVE_MULTICAST = 0x121
4388 NL80211_ATTR_RECONNECT_REQUESTED = 0x12b
4389 NL80211_ATTR_REG_ALPHA2 = 0x21
4390 NL80211_ATTR_REG_INDOOR = 0xdd
4391 NL80211_ATTR_REG_INITIATOR = 0x30
4392 NL80211_ATTR_REG_RULE_FLAGS = 0x1
4393 NL80211_ATTR_REG_RULES = 0x22
4394 NL80211_ATTR_REG_TYPE = 0x31
4395 NL80211_ATTR_REKEY_DATA = 0x7a
4396 NL80211_ATTR_REQ_IE = 0x4d
4397 NL80211_ATTR_RESP_IE = 0x4e
4398 NL80211_ATTR_ROAM_SUPPORT = 0x83
4399 NL80211_ATTR_RX_FRAME_TYPES = 0x64
4400 NL80211_ATTR_RXMGMT_FLAGS = 0xbc
4401 NL80211_ATTR_RX_SIGNAL_DBM = 0x97
4402 NL80211_ATTR_S1G_CAPABILITY = 0x128
4403 NL80211_ATTR_S1G_CAPABILITY_MASK = 0x129
4404 NL80211_ATTR_SAE_DATA = 0x9c
4405 NL80211_ATTR_SAE_PASSWORD = 0x115
4406 NL80211_ATTR_SAE_PWE = 0x12a
4407 NL80211_ATTR_SAR_SPEC = 0x12c
4408 NL80211_ATTR_SCAN_FLAGS = 0x9e
4409 NL80211_ATTR_SCAN_FREQ_KHZ = 0x124
4410 NL80211_ATTR_SCAN_FREQUENCIES = 0x2c
4411 NL80211_ATTR_SCAN_GENERATION = 0x2e
4412 NL80211_ATTR_SCAN_SSIDS = 0x2d
4413 NL80211_ATTR_SCAN_START_TIME_TSF_BSSID = 0xea
4414 NL80211_ATTR_SCAN_START_TIME_TSF = 0xe9
4415 NL80211_ATTR_SCAN_SUPP_RATES = 0x7d
4416 NL80211_ATTR_SCHED_SCAN_DELAY = 0xdc
4417 NL80211_ATTR_SCHED_SCAN_INTERVAL = 0x77
4418 NL80211_ATTR_SCHED_SCAN_MATCH = 0x84
4419 NL80211_ATTR_SCHED_SCAN_MATCH_SSID = 0x1
4420 NL80211_ATTR_SCHED_SCAN_MAX_REQS = 0x100
4421 NL80211_ATTR_SCHED_SCAN_MULTI = 0xff
4422 NL80211_ATTR_SCHED_SCAN_PLANS = 0xe1
4423 NL80211_ATTR_SCHED_SCAN_RELATIVE_RSSI = 0xf6
4424 NL80211_ATTR_SCHED_SCAN_RSSI_ADJUST = 0xf7
4425 NL80211_ATTR_SMPS_MODE = 0xd5
4426 NL80211_ATTR_SOCKET_OWNER = 0xcc
4427 NL80211_ATTR_SOFTWARE_IFTYPES = 0x79
4428 NL80211_ATTR_SPLIT_WIPHY_DUMP = 0xae
4429 NL80211_ATTR_SSID = 0x34
4430 NL80211_ATTR_STA_AID = 0x10
4431 NL80211_ATTR_STA_CAPABILITY = 0xab
4432 NL80211_ATTR_STA_EXT_CAPABILITY = 0xac
4433 NL80211_ATTR_STA_FLAGS2 = 0x43
4434 NL80211_ATTR_STA_FLAGS = 0x11
4435 NL80211_ATTR_STA_INFO = 0x15
4436 NL80211_ATTR_STA_LISTEN_INTERVAL = 0x12
4437 NL80211_ATTR_STA_PLINK_ACTION = 0x19
4438 NL80211_ATTR_STA_PLINK_STATE = 0x74
4439 NL80211_ATTR_STA_SUPPORTED_CHANNELS = 0xbd
4440 NL80211_ATTR_STA_SUPPORTED_OPER_CLASSES = 0xbe
4441 NL80211_ATTR_STA_SUPPORTED_RATES = 0x13
4442 NL80211_ATTR_STA_SUPPORT_P2P_PS = 0xe4
4443 NL80211_ATTR_STATUS_CODE = 0x48
4444 NL80211_ATTR_STA_TX_POWER = 0x114
4445 NL80211_ATTR_STA_TX_POWER_SETTING = 0x113
4446 NL80211_ATTR_STA_VLAN = 0x14
4447 NL80211_ATTR_STA_WME = 0x81
4448 NL80211_ATTR_SUPPORT_10_MHZ = 0xc1
4449 NL80211_ATTR_SUPPORT_5_MHZ = 0xc0
4450 NL80211_ATTR_SUPPORT_AP_UAPSD = 0x82
4451 NL80211_ATTR_SUPPORTED_COMMANDS = 0x32
4452 NL80211_ATTR_SUPPORTED_IFTYPES = 0x20
4453 NL80211_ATTR_SUPPORT_IBSS_RSN = 0x68
4454 NL80211_ATTR_SUPPORT_MESH_AUTH = 0x73
4455 NL80211_ATTR_SURVEY_INFO = 0x54
4456 NL80211_ATTR_SURVEY_RADIO_STATS = 0xda
4457 NL80211_ATTR_TDLS_ACTION = 0x88
4458 NL80211_ATTR_TDLS_DIALOG_TOKEN = 0x89
4459 NL80211_ATTR_TDLS_EXTERNAL_SETUP = 0x8c
4460 NL80211_ATTR_TDLS_INITIATOR = 0xcf
4461 NL80211_ATTR_TDLS_OPERATION = 0x8a
4462 NL80211_ATTR_TDLS_PEER_CAPABILITY = 0xcb
4463 NL80211_ATTR_TDLS_SUPPORT = 0x8b
4464 NL80211_ATTR_TESTDATA = 0x45
4465 NL80211_ATTR_TID_CONFIG = 0x11d
4466 NL80211_ATTR_TIMED_OUT = 0x41
4467 NL80211_ATTR_TIMEOUT = 0x110
4468 NL80211_ATTR_TIMEOUT_REASON = 0xf8
4469 NL80211_ATTR_TSID = 0xd2
4470 NL80211_ATTR_TWT_RESPONDER = 0x116
4471 NL80211_ATTR_TX_FRAME_TYPES = 0x63
4472 NL80211_ATTR_TX_NO_CCK_RATE = 0x87
4473 NL80211_ATTR_TXQ_LIMIT = 0x10a
4474 NL80211_ATTR_TXQ_MEMORY_LIMIT = 0x10b
4475 NL80211_ATTR_TXQ_QUANTUM = 0x10c
4476 NL80211_ATTR_TXQ_STATS = 0x109
4477 NL80211_ATTR_TX_RATES = 0x5a
4478 NL80211_ATTR_UNSOL_BCAST_PROBE_RESP = 0x127
4479 NL80211_ATTR_UNSPEC = 0x0
4480 NL80211_ATTR_USE_MFP = 0x42
4481 NL80211_ATTR_USER_PRIO = 0xd3
4482 NL80211_ATTR_USER_REG_HINT_TYPE = 0x9a
4483 NL80211_ATTR_USE_RRM = 0xd0
4484 NL80211_ATTR_VENDOR_DATA = 0xc5
4485 NL80211_ATTR_VENDOR_EVENTS = 0xc6
4486 NL80211_ATTR_VENDOR_ID = 0xc3
4487 NL80211_ATTR_VENDOR_SUBCMD = 0xc4
4488 NL80211_ATTR_VHT_CAPABILITY = 0x9d
4489 NL80211_ATTR_VHT_CAPABILITY_MASK = 0xb0
4490 NL80211_ATTR_VLAN_ID = 0x11a
4491 NL80211_ATTR_WANT_1X_4WAY_HS = 0x101
4492 NL80211_ATTR_WDEV = 0x99
4493 NL80211_ATTR_WIPHY_ANTENNA_AVAIL_RX = 0x72
4494 NL80211_ATTR_WIPHY_ANTENNA_AVAIL_TX = 0x71
4495 NL80211_ATTR_WIPHY_ANTENNA_RX = 0x6a
4496 NL80211_ATTR_WIPHY_ANTENNA_TX = 0x69
4497 NL80211_ATTR_WIPHY_BANDS = 0x16
4498 NL80211_ATTR_WIPHY_CHANNEL_TYPE = 0x27
4499 NL80211_ATTR_WIPHY = 0x1
4500 NL80211_ATTR_WIPHY_COVERAGE_CLASS = 0x59
4501 NL80211_ATTR_WIPHY_DYN_ACK = 0xd1
4502 NL80211_ATTR_WIPHY_EDMG_BW_CONFIG = 0x119
4503 NL80211_ATTR_WIPHY_EDMG_CHANNELS = 0x118
4504 NL80211_ATTR_WIPHY_FRAG_THRESHOLD = 0x3f
4505 NL80211_ATTR_WIPHY_FREQ = 0x26
4506 NL80211_ATTR_WIPHY_FREQ_HINT = 0xc9
4507 NL80211_ATTR_WIPHY_FREQ_OFFSET = 0x122
4508 NL80211_ATTR_WIPHY_NAME = 0x2
4509 NL80211_ATTR_WIPHY_RETRY_LONG = 0x3e
4510 NL80211_ATTR_WIPHY_RETRY_SHORT = 0x3d
4511 NL80211_ATTR_WIPHY_RTS_THRESHOLD = 0x40
4512 NL80211_ATTR_WIPHY_SELF_MANAGED_REG = 0xd8
4513 NL80211_ATTR_WIPHY_TX_POWER_LEVEL = 0x62
4514 NL80211_ATTR_WIPHY_TX_POWER_SETTING = 0x61
4515 NL80211_ATTR_WIPHY_TXQ_PARAMS = 0x25
4516 NL80211_ATTR_WOWLAN_TRIGGERS = 0x75
4517 NL80211_ATTR_WOWLAN_TRIGGERS_SUPPORTED = 0x76
4518 NL80211_ATTR_WPA_VERSIONS = 0x4b
4519 NL80211_AUTHTYPE_AUTOMATIC = 0x8
4520 NL80211_AUTHTYPE_FILS_PK = 0x7
4521 NL80211_AUTHTYPE_FILS_SK = 0x5
4522 NL80211_AUTHTYPE_FILS_SK_PFS = 0x6
4523 NL80211_AUTHTYPE_FT = 0x2
4524 NL80211_AUTHTYPE_MAX = 0x7
4525 NL80211_AUTHTYPE_NETWORK_EAP = 0x3
4526 NL80211_AUTHTYPE_OPEN_SYSTEM = 0x0
4527 NL80211_AUTHTYPE_SAE = 0x4
4528 NL80211_AUTHTYPE_SHARED_KEY = 0x1
4529 NL80211_BAND_2GHZ = 0x0
4530 NL80211_BAND_5GHZ = 0x1
4531 NL80211_BAND_60GHZ = 0x2
4532 NL80211_BAND_6GHZ = 0x3
4533 NL80211_BAND_ATTR_EDMG_BW_CONFIG = 0xb
4534 NL80211_BAND_ATTR_EDMG_CHANNELS = 0xa
4535 NL80211_BAND_ATTR_FREQS = 0x1
4536 NL80211_BAND_ATTR_HT_AMPDU_DENSITY = 0x6
4537 NL80211_BAND_ATTR_HT_AMPDU_FACTOR = 0x5
4538 NL80211_BAND_ATTR_HT_CAPA = 0x4
4539 NL80211_BAND_ATTR_HT_MCS_SET = 0x3
4540 NL80211_BAND_ATTR_IFTYPE_DATA = 0x9
4541 NL80211_BAND_ATTR_MAX = 0xb
4542 NL80211_BAND_ATTR_RATES = 0x2
4543 NL80211_BAND_ATTR_VHT_CAPA = 0x8
4544 NL80211_BAND_ATTR_VHT_MCS_SET = 0x7
4545 NL80211_BAND_IFTYPE_ATTR_HE_6GHZ_CAPA = 0x6
4546 NL80211_BAND_IFTYPE_ATTR_HE_CAP_MAC = 0x2
4547 NL80211_BAND_IFTYPE_ATTR_HE_CAP_MCS_SET = 0x4
4548 NL80211_BAND_IFTYPE_ATTR_HE_CAP_PHY = 0x3
4549 NL80211_BAND_IFTYPE_ATTR_HE_CAP_PPE = 0x5
4550 NL80211_BAND_IFTYPE_ATTR_IFTYPES = 0x1
4551 NL80211_BAND_IFTYPE_ATTR_MAX = 0x7
4552 NL80211_BAND_S1GHZ = 0x4
4553 NL80211_BITRATE_ATTR_2GHZ_SHORTPREAMBLE = 0x2
4554 NL80211_BITRATE_ATTR_MAX = 0x2
4555 NL80211_BITRATE_ATTR_RATE = 0x1
4556 NL80211_BSS_BEACON_IES = 0xb
4557 NL80211_BSS_BEACON_INTERVAL = 0x4
4558 NL80211_BSS_BEACON_TSF = 0xd
4559 NL80211_BSS_BSSID = 0x1
4560 NL80211_BSS_CAPABILITY = 0x5
4561 NL80211_BSS_CHAIN_SIGNAL = 0x13
4562 NL80211_BSS_CHAN_WIDTH_10 = 0x1
4563 NL80211_BSS_CHAN_WIDTH_1 = 0x3
4564 NL80211_BSS_CHAN_WIDTH_20 = 0x0
4565 NL80211_BSS_CHAN_WIDTH_2 = 0x4
4566 NL80211_BSS_CHAN_WIDTH_5 = 0x2
4567 NL80211_BSS_CHAN_WIDTH = 0xc
4568 NL80211_BSS_FREQUENCY = 0x2
4569 NL80211_BSS_FREQUENCY_OFFSET = 0x14
4570 NL80211_BSS_INFORMATION_ELEMENTS = 0x6
4571 NL80211_BSS_LAST_SEEN_BOOTTIME = 0xf
4572 NL80211_BSS_MAX = 0x14
4573 NL80211_BSS_PAD = 0x10
4574 NL80211_BSS_PARENT_BSSID = 0x12
4575 NL80211_BSS_PARENT_TSF = 0x11
4576 NL80211_BSS_PRESP_DATA = 0xe
4577 NL80211_BSS_SEEN_MS_AGO = 0xa
4578 NL80211_BSS_SELECT_ATTR_BAND_PREF = 0x2
4579 NL80211_BSS_SELECT_ATTR_MAX = 0x3
4580 NL80211_BSS_SELECT_ATTR_RSSI_ADJUST = 0x3
4581 NL80211_BSS_SELECT_ATTR_RSSI = 0x1
4582 NL80211_BSS_SIGNAL_MBM = 0x7
4583 NL80211_BSS_SIGNAL_UNSPEC = 0x8
4584 NL80211_BSS_STATUS_ASSOCIATED = 0x1
4585 NL80211_BSS_STATUS_AUTHENTICATED = 0x0
4586 NL80211_BSS_STATUS = 0x9
4587 NL80211_BSS_STATUS_IBSS_JOINED = 0x2
4588 NL80211_BSS_TSF = 0x3
4589 NL80211_CHAN_HT20 = 0x1
4590 NL80211_CHAN_HT40MINUS = 0x2
4591 NL80211_CHAN_HT40PLUS = 0x3
4592 NL80211_CHAN_NO_HT = 0x0
4593 NL80211_CHAN_WIDTH_10 = 0x7
4594 NL80211_CHAN_WIDTH_160 = 0x5
4595 NL80211_CHAN_WIDTH_16 = 0xc
4596 NL80211_CHAN_WIDTH_1 = 0x8
4597 NL80211_CHAN_WIDTH_20 = 0x1
4598 NL80211_CHAN_WIDTH_20_NOHT = 0x0
4599 NL80211_CHAN_WIDTH_2 = 0x9
4600 NL80211_CHAN_WIDTH_40 = 0x2
4601 NL80211_CHAN_WIDTH_4 = 0xa
4602 NL80211_CHAN_WIDTH_5 = 0x6
4603 NL80211_CHAN_WIDTH_80 = 0x3
4604 NL80211_CHAN_WIDTH_80P80 = 0x4
4605 NL80211_CHAN_WIDTH_8 = 0xb
4606 NL80211_CMD_ABORT_SCAN = 0x72
4607 NL80211_CMD_ACTION = 0x3b
4608 NL80211_CMD_ACTION_TX_STATUS = 0x3c
4609 NL80211_CMD_ADD_NAN_FUNCTION = 0x75
4610 NL80211_CMD_ADD_TX_TS = 0x69
4611 NL80211_CMD_ASSOCIATE = 0x26
4612 NL80211_CMD_AUTHENTICATE = 0x25
4613 NL80211_CMD_CANCEL_REMAIN_ON_CHANNEL = 0x38
4614 NL80211_CMD_CHANGE_NAN_CONFIG = 0x77
4615 NL80211_CMD_CHANNEL_SWITCH = 0x66
4616 NL80211_CMD_CH_SWITCH_NOTIFY = 0x58
4617 NL80211_CMD_CH_SWITCH_STARTED_NOTIFY = 0x6e
4618 NL80211_CMD_CONNECT = 0x2e
4619 NL80211_CMD_CONN_FAILED = 0x5b
4620 NL80211_CMD_CONTROL_PORT_FRAME = 0x81
4621 NL80211_CMD_CONTROL_PORT_FRAME_TX_STATUS = 0x8b
4622 NL80211_CMD_CRIT_PROTOCOL_START = 0x62
4623 NL80211_CMD_CRIT_PROTOCOL_STOP = 0x63
4624 NL80211_CMD_DEAUTHENTICATE = 0x27
4625 NL80211_CMD_DEL_BEACON = 0x10
4626 NL80211_CMD_DEL_INTERFACE = 0x8
4627 NL80211_CMD_DEL_KEY = 0xc
4628 NL80211_CMD_DEL_MPATH = 0x18
4629 NL80211_CMD_DEL_NAN_FUNCTION = 0x76
4630 NL80211_CMD_DEL_PMK = 0x7c
4631 NL80211_CMD_DEL_PMKSA = 0x35
4632 NL80211_CMD_DEL_STATION = 0x14
4633 NL80211_CMD_DEL_TX_TS = 0x6a
4634 NL80211_CMD_DEL_WIPHY = 0x4
4635 NL80211_CMD_DISASSOCIATE = 0x28
4636 NL80211_CMD_DISCONNECT = 0x30
4637 NL80211_CMD_EXTERNAL_AUTH = 0x7f
4638 NL80211_CMD_FLUSH_PMKSA = 0x36
4639 NL80211_CMD_FRAME = 0x3b
4640 NL80211_CMD_FRAME_TX_STATUS = 0x3c
4641 NL80211_CMD_FRAME_WAIT_CANCEL = 0x43
4642 NL80211_CMD_FT_EVENT = 0x61
4643 NL80211_CMD_GET_BEACON = 0xd
4644 NL80211_CMD_GET_COALESCE = 0x64
4645 NL80211_CMD_GET_FTM_RESPONDER_STATS = 0x82
4646 NL80211_CMD_GET_INTERFACE = 0x5
4647 NL80211_CMD_GET_KEY = 0x9
4648 NL80211_CMD_GET_MESH_CONFIG = 0x1c
4649 NL80211_CMD_GET_MESH_PARAMS = 0x1c
4650 NL80211_CMD_GET_MPATH = 0x15
4651 NL80211_CMD_GET_MPP = 0x6b
4652 NL80211_CMD_GET_POWER_SAVE = 0x3e
4653 NL80211_CMD_GET_PROTOCOL_FEATURES = 0x5f
4654 NL80211_CMD_GET_REG = 0x1f
4655 NL80211_CMD_GET_SCAN = 0x20
4656 NL80211_CMD_GET_STATION = 0x11
4657 NL80211_CMD_GET_SURVEY = 0x32
4658 NL80211_CMD_GET_WIPHY = 0x1
4659 NL80211_CMD_GET_WOWLAN = 0x49
4660 NL80211_CMD_JOIN_IBSS = 0x2b
4661 NL80211_CMD_JOIN_MESH = 0x44
4662 NL80211_CMD_JOIN_OCB = 0x6c
4663 NL80211_CMD_LEAVE_IBSS = 0x2c
4664 NL80211_CMD_LEAVE_MESH = 0x45
4665 NL80211_CMD_LEAVE_OCB = 0x6d
4666 NL80211_CMD_MAX = 0x93
4667 NL80211_CMD_MICHAEL_MIC_FAILURE = 0x29
4668 NL80211_CMD_NAN_MATCH = 0x78
4669 NL80211_CMD_NEW_BEACON = 0xf
4670 NL80211_CMD_NEW_INTERFACE = 0x7
4671 NL80211_CMD_NEW_KEY = 0xb
4672 NL80211_CMD_NEW_MPATH = 0x17
4673 NL80211_CMD_NEW_PEER_CANDIDATE = 0x48
4674 NL80211_CMD_NEW_SCAN_RESULTS = 0x22
4675 NL80211_CMD_NEW_STATION = 0x13
4676 NL80211_CMD_NEW_SURVEY_RESULTS = 0x33
4677 NL80211_CMD_NEW_WIPHY = 0x3
4678 NL80211_CMD_NOTIFY_CQM = 0x40
4679 NL80211_CMD_NOTIFY_RADAR = 0x86
4680 NL80211_CMD_PEER_MEASUREMENT_COMPLETE = 0x85
4681 NL80211_CMD_PEER_MEASUREMENT_RESULT = 0x84
4682 NL80211_CMD_PEER_MEASUREMENT_START = 0x83
4683 NL80211_CMD_PMKSA_CANDIDATE = 0x50
4684 NL80211_CMD_PORT_AUTHORIZED = 0x7d
4685 NL80211_CMD_PROBE_CLIENT = 0x54
4686 NL80211_CMD_PROBE_MESH_LINK = 0x88
4687 NL80211_CMD_RADAR_DETECT = 0x5e
4688 NL80211_CMD_REG_BEACON_HINT = 0x2a
4689 NL80211_CMD_REG_CHANGE = 0x24
4690 NL80211_CMD_REGISTER_ACTION = 0x3a
4691 NL80211_CMD_REGISTER_BEACONS = 0x55
4692 NL80211_CMD_REGISTER_FRAME = 0x3a
4693 NL80211_CMD_RELOAD_REGDB = 0x7e
4694 NL80211_CMD_REMAIN_ON_CHANNEL = 0x37
4695 NL80211_CMD_REQ_SET_REG = 0x1b
4696 NL80211_CMD_ROAM = 0x2f
4697 NL80211_CMD_SCAN_ABORTED = 0x23
4698 NL80211_CMD_SCHED_SCAN_RESULTS = 0x4d
4699 NL80211_CMD_SCHED_SCAN_STOPPED = 0x4e
4700 NL80211_CMD_SET_BEACON = 0xe
4701 NL80211_CMD_SET_BSS = 0x19
4702 NL80211_CMD_SET_CHANNEL = 0x41
4703 NL80211_CMD_SET_COALESCE = 0x65
4704 NL80211_CMD_SET_CQM = 0x3f
4705 NL80211_CMD_SET_INTERFACE = 0x6
4706 NL80211_CMD_SET_KEY = 0xa
4707 NL80211_CMD_SET_MAC_ACL = 0x5d
4708 NL80211_CMD_SET_MCAST_RATE = 0x5c
4709 NL80211_CMD_SET_MESH_CONFIG = 0x1d
4710 NL80211_CMD_SET_MESH_PARAMS = 0x1d
4711 NL80211_CMD_SET_MGMT_EXTRA_IE = 0x1e
4712 NL80211_CMD_SET_MPATH = 0x16
4713 NL80211_CMD_SET_MULTICAST_TO_UNICAST = 0x79
4714 NL80211_CMD_SET_NOACK_MAP = 0x57
4715 NL80211_CMD_SET_PMK = 0x7b
4716 NL80211_CMD_SET_PMKSA = 0x34
4717 NL80211_CMD_SET_POWER_SAVE = 0x3d
4718 NL80211_CMD_SET_QOS_MAP = 0x68
4719 NL80211_CMD_SET_REG = 0x1a
4720 NL80211_CMD_SET_REKEY_OFFLOAD = 0x4f
4721 NL80211_CMD_SET_SAR_SPECS = 0x8c
4722 NL80211_CMD_SET_STATION = 0x12
4723 NL80211_CMD_SET_TID_CONFIG = 0x89
4724 NL80211_CMD_SET_TX_BITRATE_MASK = 0x39
4725 NL80211_CMD_SET_WDS_PEER = 0x42
4726 NL80211_CMD_SET_WIPHY = 0x2
4727 NL80211_CMD_SET_WIPHY_NETNS = 0x31
4728 NL80211_CMD_SET_WOWLAN = 0x4a
4729 NL80211_CMD_STA_OPMODE_CHANGED = 0x80
4730 NL80211_CMD_START_AP = 0xf
4731 NL80211_CMD_START_NAN = 0x73
4732 NL80211_CMD_START_P2P_DEVICE = 0x59
4733 NL80211_CMD_START_SCHED_SCAN = 0x4b
4734 NL80211_CMD_STOP_AP = 0x10
4735 NL80211_CMD_STOP_NAN = 0x74
4736 NL80211_CMD_STOP_P2P_DEVICE = 0x5a
4737 NL80211_CMD_STOP_SCHED_SCAN = 0x4c
4738 NL80211_CMD_TDLS_CANCEL_CHANNEL_SWITCH = 0x70
4739 NL80211_CMD_TDLS_CHANNEL_SWITCH = 0x6f
4740 NL80211_CMD_TDLS_MGMT = 0x52
4741 NL80211_CMD_TDLS_OPER = 0x51
4742 NL80211_CMD_TESTMODE = 0x2d
4743 NL80211_CMD_TRIGGER_SCAN = 0x21
4744 NL80211_CMD_UNEXPECTED_4ADDR_FRAME = 0x56
4745 NL80211_CMD_UNEXPECTED_FRAME = 0x53
4746 NL80211_CMD_UNPROT_BEACON = 0x8a
4747 NL80211_CMD_UNPROT_DEAUTHENTICATE = 0x46
4748 NL80211_CMD_UNPROT_DISASSOCIATE = 0x47
4749 NL80211_CMD_UNSPEC = 0x0
4750 NL80211_CMD_UPDATE_CONNECT_PARAMS = 0x7a
4751 NL80211_CMD_UPDATE_FT_IES = 0x60
4752 NL80211_CMD_UPDATE_OWE_INFO = 0x87
4753 NL80211_CMD_VENDOR = 0x67
4754 NL80211_CMD_WIPHY_REG_CHANGE = 0x71
4755 NL80211_COALESCE_CONDITION_MATCH = 0x0
4756 NL80211_COALESCE_CONDITION_NO_MATCH = 0x1
4757 NL80211_CONN_FAIL_BLOCKED_CLIENT = 0x1
4758 NL80211_CONN_FAIL_MAX_CLIENTS = 0x0
4759 NL80211_CQM_RSSI_BEACON_LOSS_EVENT = 0x2
4760 NL80211_CQM_RSSI_THRESHOLD_EVENT_HIGH = 0x1
4761 NL80211_CQM_RSSI_THRESHOLD_EVENT_LOW = 0x0
4762 NL80211_CQM_TXE_MAX_INTVL = 0x708
4763 NL80211_CRIT_PROTO_APIPA = 0x3
4764 NL80211_CRIT_PROTO_DHCP = 0x1
4765 NL80211_CRIT_PROTO_EAPOL = 0x2
4766 NL80211_CRIT_PROTO_MAX_DURATION = 0x1388
4767 NL80211_CRIT_PROTO_UNSPEC = 0x0
4768 NL80211_DFS_AVAILABLE = 0x2
4769 NL80211_DFS_ETSI = 0x2
4770 NL80211_DFS_FCC = 0x1
4771 NL80211_DFS_JP = 0x3
4772 NL80211_DFS_UNAVAILABLE = 0x1
4773 NL80211_DFS_UNSET = 0x0
4774 NL80211_DFS_USABLE = 0x0
4775 NL80211_EDMG_BW_CONFIG_MAX = 0xf
4776 NL80211_EDMG_BW_CONFIG_MIN = 0x4
4777 NL80211_EDMG_CHANNELS_MAX = 0x3c
4778 NL80211_EDMG_CHANNELS_MIN = 0x1
4779 NL80211_EXTERNAL_AUTH_ABORT = 0x1
4780 NL80211_EXTERNAL_AUTH_START = 0x0
4781 NL80211_EXT_FEATURE_4WAY_HANDSHAKE_AP_PSK = 0x32
4782 NL80211_EXT_FEATURE_4WAY_HANDSHAKE_STA_1X = 0x10
4783 NL80211_EXT_FEATURE_4WAY_HANDSHAKE_STA_PSK = 0xf
4784 NL80211_EXT_FEATURE_ACCEPT_BCAST_PROBE_RESP = 0x12
4785 NL80211_EXT_FEATURE_ACK_SIGNAL_SUPPORT = 0x1b
4786 NL80211_EXT_FEATURE_AIRTIME_FAIRNESS = 0x21
4787 NL80211_EXT_FEATURE_AP_PMKSA_CACHING = 0x22
4788 NL80211_EXT_FEATURE_AQL = 0x28
4789 NL80211_EXT_FEATURE_BEACON_PROTECTION_CLIENT = 0x2e
4790 NL80211_EXT_FEATURE_BEACON_PROTECTION = 0x29
4791 NL80211_EXT_FEATURE_BEACON_RATE_HE = 0x36
4792 NL80211_EXT_FEATURE_BEACON_RATE_HT = 0x7
4793 NL80211_EXT_FEATURE_BEACON_RATE_LEGACY = 0x6
4794 NL80211_EXT_FEATURE_BEACON_RATE_VHT = 0x8
4795 NL80211_EXT_FEATURE_BSS_PARENT_TSF = 0x4
4796 NL80211_EXT_FEATURE_CAN_REPLACE_PTK0 = 0x1f
4797 NL80211_EXT_FEATURE_CONTROL_PORT_NO_PREAUTH = 0x2a
4798 NL80211_EXT_FEATURE_CONTROL_PORT_OVER_NL80211 = 0x1a
4799 NL80211_EXT_FEATURE_CONTROL_PORT_OVER_NL80211_TX_STATUS = 0x30
4800 NL80211_EXT_FEATURE_CQM_RSSI_LIST = 0xd
4801 NL80211_EXT_FEATURE_DATA_ACK_SIGNAL_SUPPORT = 0x1b
4802 NL80211_EXT_FEATURE_DEL_IBSS_STA = 0x2c
4803 NL80211_EXT_FEATURE_DFS_OFFLOAD = 0x19
4804 NL80211_EXT_FEATURE_ENABLE_FTM_RESPONDER = 0x20
4805 NL80211_EXT_FEATURE_EXT_KEY_ID = 0x24
4806 NL80211_EXT_FEATURE_FILS_DISCOVERY = 0x34
4807 NL80211_EXT_FEATURE_FILS_MAX_CHANNEL_TIME = 0x11
4808 NL80211_EXT_FEATURE_FILS_SK_OFFLOAD = 0xe
4809 NL80211_EXT_FEATURE_FILS_STA = 0x9
4810 NL80211_EXT_FEATURE_HIGH_ACCURACY_SCAN = 0x18
4811 NL80211_EXT_FEATURE_LOW_POWER_SCAN = 0x17
4812 NL80211_EXT_FEATURE_LOW_SPAN_SCAN = 0x16
4813 NL80211_EXT_FEATURE_MFP_OPTIONAL = 0x15
4814 NL80211_EXT_FEATURE_MGMT_TX_RANDOM_TA = 0xa
4815 NL80211_EXT_FEATURE_MGMT_TX_RANDOM_TA_CONNECTED = 0xb
4816 NL80211_EXT_FEATURE_MULTICAST_REGISTRATIONS = 0x2d
4817 NL80211_EXT_FEATURE_MU_MIMO_AIR_SNIFFER = 0x2
4818 NL80211_EXT_FEATURE_OCE_PROBE_REQ_DEFERRAL_SUPPRESSION = 0x14
4819 NL80211_EXT_FEATURE_OCE_PROBE_REQ_HIGH_TX_RATE = 0x13
4820 NL80211_EXT_FEATURE_OPERATING_CHANNEL_VALIDATION = 0x31
4821 NL80211_EXT_FEATURE_PROTECTED_TWT = 0x2b
4822 NL80211_EXT_FEATURE_PROT_RANGE_NEGO_AND_MEASURE = 0x39
4823 NL80211_EXT_FEATURE_RRM = 0x1
4824 NL80211_EXT_FEATURE_SAE_OFFLOAD_AP = 0x33
4825 NL80211_EXT_FEATURE_SAE_OFFLOAD = 0x26
4826 NL80211_EXT_FEATURE_SCAN_FREQ_KHZ = 0x2f
4827 NL80211_EXT_FEATURE_SCAN_MIN_PREQ_CONTENT = 0x1e
4828 NL80211_EXT_FEATURE_SCAN_RANDOM_SN = 0x1d
4829 NL80211_EXT_FEATURE_SCAN_START_TIME = 0x3
4830 NL80211_EXT_FEATURE_SCHED_SCAN_BAND_SPECIFIC_RSSI_THOLD = 0x23
4831 NL80211_EXT_FEATURE_SCHED_SCAN_RELATIVE_RSSI = 0xc
4832 NL80211_EXT_FEATURE_SECURE_LTF = 0x37
4833 NL80211_EXT_FEATURE_SECURE_RTT = 0x38
4834 NL80211_EXT_FEATURE_SET_SCAN_DWELL = 0x5
4835 NL80211_EXT_FEATURE_STA_TX_PWR = 0x25
4836 NL80211_EXT_FEATURE_TXQS = 0x1c
4837 NL80211_EXT_FEATURE_UNSOL_BCAST_PROBE_RESP = 0x35
4838 NL80211_EXT_FEATURE_VHT_IBSS = 0x0
4839 NL80211_EXT_FEATURE_VLAN_OFFLOAD = 0x27
4840 NL80211_FEATURE_ACKTO_ESTIMATION = 0x800000
4841 NL80211_FEATURE_ACTIVE_MONITOR = 0x20000
4842 NL80211_FEATURE_ADVERTISE_CHAN_LIMITS = 0x4000
4843 NL80211_FEATURE_AP_MODE_CHAN_WIDTH_CHANGE = 0x40000
4844 NL80211_FEATURE_AP_SCAN = 0x100
4845 NL80211_FEATURE_CELL_BASE_REG_HINTS = 0x8
4846 NL80211_FEATURE_DS_PARAM_SET_IE_IN_PROBES = 0x80000
4847 NL80211_FEATURE_DYNAMIC_SMPS = 0x2000000
4848 NL80211_FEATURE_FULL_AP_CLIENT_STATE = 0x8000
4849 NL80211_FEATURE_HT_IBSS = 0x2
4850 NL80211_FEATURE_INACTIVITY_TIMER = 0x4
4851 NL80211_FEATURE_LOW_PRIORITY_SCAN = 0x40
4852 NL80211_FEATURE_MAC_ON_CREATE = 0x8000000
4853 NL80211_FEATURE_ND_RANDOM_MAC_ADDR = 0x80000000
4854 NL80211_FEATURE_NEED_OBSS_SCAN = 0x400
4855 NL80211_FEATURE_P2P_DEVICE_NEEDS_CHANNEL = 0x10
4856 NL80211_FEATURE_P2P_GO_CTWIN = 0x800
4857 NL80211_FEATURE_P2P_GO_OPPPS = 0x1000
4858 NL80211_FEATURE_QUIET = 0x200000
4859 NL80211_FEATURE_SAE = 0x20
4860 NL80211_FEATURE_SCAN_FLUSH = 0x80
4861 NL80211_FEATURE_SCAN_RANDOM_MAC_ADDR = 0x20000000
4862 NL80211_FEATURE_SCHED_SCAN_RANDOM_MAC_ADDR = 0x40000000
4863 NL80211_FEATURE_SK_TX_STATUS = 0x1
4864 NL80211_FEATURE_STATIC_SMPS = 0x1000000
4865 NL80211_FEATURE_SUPPORTS_WMM_ADMISSION = 0x4000000
4866 NL80211_FEATURE_TDLS_CHANNEL_SWITCH = 0x10000000
4867 NL80211_FEATURE_TX_POWER_INSERTION = 0x400000
4868 NL80211_FEATURE_USERSPACE_MPM = 0x10000
4869 NL80211_FEATURE_VIF_TXPOWER = 0x200
4870 NL80211_FEATURE_WFA_TPC_IE_IN_PROBES = 0x100000
4871 NL80211_FILS_DISCOVERY_ATTR_INT_MAX = 0x2
4872 NL80211_FILS_DISCOVERY_ATTR_INT_MIN = 0x1
4873 NL80211_FILS_DISCOVERY_ATTR_MAX = 0x3
4874 NL80211_FILS_DISCOVERY_ATTR_TMPL = 0x3
4875 NL80211_FILS_DISCOVERY_TMPL_MIN_LEN = 0x2a
4876 NL80211_FREQUENCY_ATTR_16MHZ = 0x19
4877 NL80211_FREQUENCY_ATTR_1MHZ = 0x15
4878 NL80211_FREQUENCY_ATTR_2MHZ = 0x16
4879 NL80211_FREQUENCY_ATTR_4MHZ = 0x17
4880 NL80211_FREQUENCY_ATTR_8MHZ = 0x18
4881 NL80211_FREQUENCY_ATTR_DFS_CAC_TIME = 0xd
4882 NL80211_FREQUENCY_ATTR_DFS_STATE = 0x7
4883 NL80211_FREQUENCY_ATTR_DFS_TIME = 0x8
4884 NL80211_FREQUENCY_ATTR_DISABLED = 0x2
4885 NL80211_FREQUENCY_ATTR_FREQ = 0x1
4886 NL80211_FREQUENCY_ATTR_GO_CONCURRENT = 0xf
4887 NL80211_FREQUENCY_ATTR_INDOOR_ONLY = 0xe
4888 NL80211_FREQUENCY_ATTR_IR_CONCURRENT = 0xf
4889 NL80211_FREQUENCY_ATTR_MAX = 0x19
4890 NL80211_FREQUENCY_ATTR_MAX_TX_POWER = 0x6
4891 NL80211_FREQUENCY_ATTR_NO_10MHZ = 0x11
4892 NL80211_FREQUENCY_ATTR_NO_160MHZ = 0xc
4893 NL80211_FREQUENCY_ATTR_NO_20MHZ = 0x10
4894 NL80211_FREQUENCY_ATTR_NO_80MHZ = 0xb
4895 NL80211_FREQUENCY_ATTR_NO_HE = 0x13
4896 NL80211_FREQUENCY_ATTR_NO_HT40_MINUS = 0x9
4897 NL80211_FREQUENCY_ATTR_NO_HT40_PLUS = 0xa
4898 NL80211_FREQUENCY_ATTR_NO_IBSS = 0x3
4899 NL80211_FREQUENCY_ATTR_NO_IR = 0x3
4900 NL80211_FREQUENCY_ATTR_OFFSET = 0x14
4901 NL80211_FREQUENCY_ATTR_PASSIVE_SCAN = 0x3
4902 NL80211_FREQUENCY_ATTR_RADAR = 0x5
4903 NL80211_FREQUENCY_ATTR_WMM = 0x12
4904 NL80211_FTM_RESP_ATTR_CIVICLOC = 0x3
4905 NL80211_FTM_RESP_ATTR_ENABLED = 0x1
4906 NL80211_FTM_RESP_ATTR_LCI = 0x2
4907 NL80211_FTM_RESP_ATTR_MAX = 0x3
4908 NL80211_FTM_STATS_ASAP_NUM = 0x4
4909 NL80211_FTM_STATS_FAILED_NUM = 0x3
4910 NL80211_FTM_STATS_MAX = 0xa
4911 NL80211_FTM_STATS_NON_ASAP_NUM = 0x5
4912 NL80211_FTM_STATS_OUT_OF_WINDOW_TRIGGERS_NUM = 0x9
4913 NL80211_FTM_STATS_PAD = 0xa
4914 NL80211_FTM_STATS_PARTIAL_NUM = 0x2
4915 NL80211_FTM_STATS_RESCHEDULE_REQUESTS_NUM = 0x8
4916 NL80211_FTM_STATS_SUCCESS_NUM = 0x1
4917 NL80211_FTM_STATS_TOTAL_DURATION_MSEC = 0x6
4918 NL80211_FTM_STATS_UNKNOWN_TRIGGERS_NUM = 0x7
4919 NL80211_GENL_NAME = "nl80211"
4920 NL80211_HE_BSS_COLOR_ATTR_COLOR = 0x1
4921 NL80211_HE_BSS_COLOR_ATTR_DISABLED = 0x2
4922 NL80211_HE_BSS_COLOR_ATTR_MAX = 0x3
4923 NL80211_HE_BSS_COLOR_ATTR_PARTIAL = 0x3
4924 NL80211_HE_MAX_CAPABILITY_LEN = 0x36
4925 NL80211_HE_MIN_CAPABILITY_LEN = 0x10
4926 NL80211_HE_NSS_MAX = 0x8
4927 NL80211_HE_OBSS_PD_ATTR_BSS_COLOR_BITMAP = 0x4
4928 NL80211_HE_OBSS_PD_ATTR_MAX = 0x6
4929 NL80211_HE_OBSS_PD_ATTR_MAX_OFFSET = 0x2
4930 NL80211_HE_OBSS_PD_ATTR_MIN_OFFSET = 0x1
4931 NL80211_HE_OBSS_PD_ATTR_NON_SRG_MAX_OFFSET = 0x3
4932 NL80211_HE_OBSS_PD_ATTR_PARTIAL_BSSID_BITMAP = 0x5
4933 NL80211_HE_OBSS_PD_ATTR_SR_CTRL = 0x6
4934 NL80211_HIDDEN_SSID_NOT_IN_USE = 0x0
4935 NL80211_HIDDEN_SSID_ZERO_CONTENTS = 0x2
4936 NL80211_HIDDEN_SSID_ZERO_LEN = 0x1
4937 NL80211_HT_CAPABILITY_LEN = 0x1a
4938 NL80211_IFACE_COMB_BI_MIN_GCD = 0x7
4939 NL80211_IFACE_COMB_LIMITS = 0x1
4940 NL80211_IFACE_COMB_MAXNUM = 0x2
4941 NL80211_IFACE_COMB_NUM_CHANNELS = 0x4
4942 NL80211_IFACE_COMB_RADAR_DETECT_REGIONS = 0x6
4943 NL80211_IFACE_COMB_RADAR_DETECT_WIDTHS = 0x5
4944 NL80211_IFACE_COMB_STA_AP_BI_MATCH = 0x3
4945 NL80211_IFACE_COMB_UNSPEC = 0x0
4946 NL80211_IFACE_LIMIT_MAX = 0x1
4947 NL80211_IFACE_LIMIT_TYPES = 0x2
4948 NL80211_IFACE_LIMIT_UNSPEC = 0x0
4949 NL80211_IFTYPE_ADHOC = 0x1
4950 NL80211_IFTYPE_AKM_ATTR_IFTYPES = 0x1
4951 NL80211_IFTYPE_AKM_ATTR_MAX = 0x2
4952 NL80211_IFTYPE_AKM_ATTR_SUITES = 0x2
4953 NL80211_IFTYPE_AP = 0x3
4954 NL80211_IFTYPE_AP_VLAN = 0x4
4955 NL80211_IFTYPE_MAX = 0xc
4956 NL80211_IFTYPE_MESH_POINT = 0x7
4957 NL80211_IFTYPE_MONITOR = 0x6
4958 NL80211_IFTYPE_NAN = 0xc
4959 NL80211_IFTYPE_OCB = 0xb
4960 NL80211_IFTYPE_P2P_CLIENT = 0x8
4961 NL80211_IFTYPE_P2P_DEVICE = 0xa
4962 NL80211_IFTYPE_P2P_GO = 0x9
4963 NL80211_IFTYPE_STATION = 0x2
4964 NL80211_IFTYPE_UNSPECIFIED = 0x0
4965 NL80211_IFTYPE_WDS = 0x5
4966 NL80211_KCK_EXT_LEN = 0x18
4967 NL80211_KCK_LEN = 0x10
4968 NL80211_KEK_EXT_LEN = 0x20
4969 NL80211_KEK_LEN = 0x10
4970 NL80211_KEY_CIPHER = 0x3
4971 NL80211_KEY_DATA = 0x1
4972 NL80211_KEY_DEFAULT_BEACON = 0xa
4973 NL80211_KEY_DEFAULT = 0x5
4974 NL80211_KEY_DEFAULT_MGMT = 0x6
4975 NL80211_KEY_DEFAULT_TYPE_MULTICAST = 0x2
4976 NL80211_KEY_DEFAULT_TYPES = 0x8
4977 NL80211_KEY_DEFAULT_TYPE_UNICAST = 0x1
4978 NL80211_KEY_IDX = 0x2
4979 NL80211_KEY_MAX = 0xa
4980 NL80211_KEY_MODE = 0x9
4981 NL80211_KEY_NO_TX = 0x1
4982 NL80211_KEY_RX_TX = 0x0
4983 NL80211_KEY_SEQ = 0x4
4984 NL80211_KEY_SET_TX = 0x2
4985 NL80211_KEY_TYPE = 0x7
4986 NL80211_KEYTYPE_GROUP = 0x0
4987 NL80211_KEYTYPE_PAIRWISE = 0x1
4988 NL80211_KEYTYPE_PEERKEY = 0x2
4989 NL80211_MAX_NR_AKM_SUITES = 0x2
4990 NL80211_MAX_NR_CIPHER_SUITES = 0x5
4991 NL80211_MAX_SUPP_HT_RATES = 0x4d
4992 NL80211_MAX_SUPP_RATES = 0x20
4993 NL80211_MAX_SUPP_REG_RULES = 0x80
4994 NL80211_MESHCONF_ATTR_MAX = 0x1f
4995 NL80211_MESHCONF_AUTO_OPEN_PLINKS = 0x7
4996 NL80211_MESHCONF_AWAKE_WINDOW = 0x1b
4997 NL80211_MESHCONF_CONFIRM_TIMEOUT = 0x2
4998 NL80211_MESHCONF_CONNECTED_TO_AS = 0x1f
4999 NL80211_MESHCONF_CONNECTED_TO_GATE = 0x1d
5000 NL80211_MESHCONF_ELEMENT_TTL = 0xf
5001 NL80211_MESHCONF_FORWARDING = 0x13
5002 NL80211_MESHCONF_GATE_ANNOUNCEMENTS = 0x11
5003 NL80211_MESHCONF_HOLDING_TIMEOUT = 0x3
5004 NL80211_MESHCONF_HT_OPMODE = 0x16
5005 NL80211_MESHCONF_HWMP_ACTIVE_PATH_TIMEOUT = 0xb
5006 NL80211_MESHCONF_HWMP_CONFIRMATION_INTERVAL = 0x19
5007 NL80211_MESHCONF_HWMP_MAX_PREQ_RETRIES = 0x8
5008 NL80211_MESHCONF_HWMP_NET_DIAM_TRVS_TIME = 0xd
5009 NL80211_MESHCONF_HWMP_PATH_TO_ROOT_TIMEOUT = 0x17
5010 NL80211_MESHCONF_HWMP_PERR_MIN_INTERVAL = 0x12
5011 NL80211_MESHCONF_HWMP_PREQ_MIN_INTERVAL = 0xc
5012 NL80211_MESHCONF_HWMP_RANN_INTERVAL = 0x10
5013 NL80211_MESHCONF_HWMP_ROOT_INTERVAL = 0x18
5014 NL80211_MESHCONF_HWMP_ROOTMODE = 0xe
5015 NL80211_MESHCONF_MAX_PEER_LINKS = 0x4
5016 NL80211_MESHCONF_MAX_RETRIES = 0x5
5017 NL80211_MESHCONF_MIN_DISCOVERY_TIMEOUT = 0xa
5018 NL80211_MESHCONF_NOLEARN = 0x1e
5019 NL80211_MESHCONF_PATH_REFRESH_TIME = 0x9
5020 NL80211_MESHCONF_PLINK_TIMEOUT = 0x1c
5021 NL80211_MESHCONF_POWER_MODE = 0x1a
5022 NL80211_MESHCONF_RETRY_TIMEOUT = 0x1
5023 NL80211_MESHCONF_RSSI_THRESHOLD = 0x14
5024 NL80211_MESHCONF_SYNC_OFFSET_MAX_NEIGHBOR = 0x15
5025 NL80211_MESHCONF_TTL = 0x6
5026 NL80211_MESH_POWER_ACTIVE = 0x1
5027 NL80211_MESH_POWER_DEEP_SLEEP = 0x3
5028 NL80211_MESH_POWER_LIGHT_SLEEP = 0x2
5029 NL80211_MESH_POWER_MAX = 0x3
5030 NL80211_MESH_POWER_UNKNOWN = 0x0
5031 NL80211_MESH_SETUP_ATTR_MAX = 0x8
5032 NL80211_MESH_SETUP_AUTH_PROTOCOL = 0x8
5033 NL80211_MESH_SETUP_ENABLE_VENDOR_METRIC = 0x2
5034 NL80211_MESH_SETUP_ENABLE_VENDOR_PATH_SEL = 0x1
5035 NL80211_MESH_SETUP_ENABLE_VENDOR_SYNC = 0x6
5036 NL80211_MESH_SETUP_IE = 0x3
5037 NL80211_MESH_SETUP_USERSPACE_AMPE = 0x5
5038 NL80211_MESH_SETUP_USERSPACE_AUTH = 0x4
5039 NL80211_MESH_SETUP_USERSPACE_MPM = 0x7
5040 NL80211_MESH_SETUP_VENDOR_PATH_SEL_IE = 0x3
5041 NL80211_MFP_NO = 0x0
5042 NL80211_MFP_OPTIONAL = 0x2
5043 NL80211_MFP_REQUIRED = 0x1
5044 NL80211_MIN_REMAIN_ON_CHANNEL_TIME = 0xa
5045 NL80211_MNTR_FLAG_ACTIVE = 0x6
5046 NL80211_MNTR_FLAG_CONTROL = 0x3
5047 NL80211_MNTR_FLAG_COOK_FRAMES = 0x5
5048 NL80211_MNTR_FLAG_FCSFAIL = 0x1
5049 NL80211_MNTR_FLAG_MAX = 0x6
5050 NL80211_MNTR_FLAG_OTHER_BSS = 0x4
5051 NL80211_MNTR_FLAG_PLCPFAIL = 0x2
5052 NL80211_MPATH_FLAG_ACTIVE = 0x1
5053 NL80211_MPATH_FLAG_FIXED = 0x8
5054 NL80211_MPATH_FLAG_RESOLVED = 0x10
5055 NL80211_MPATH_FLAG_RESOLVING = 0x2
5056 NL80211_MPATH_FLAG_SN_VALID = 0x4
5057 NL80211_MPATH_INFO_DISCOVERY_RETRIES = 0x7
5058 NL80211_MPATH_INFO_DISCOVERY_TIMEOUT = 0x6
5059 NL80211_MPATH_INFO_EXPTIME = 0x4
5060 NL80211_MPATH_INFO_FLAGS = 0x5
5061 NL80211_MPATH_INFO_FRAME_QLEN = 0x1
5062 NL80211_MPATH_INFO_HOP_COUNT = 0x8
5063 NL80211_MPATH_INFO_MAX = 0x9
5064 NL80211_MPATH_INFO_METRIC = 0x3
5065 NL80211_MPATH_INFO_PATH_CHANGE = 0x9
5066 NL80211_MPATH_INFO_SN = 0x2
5067 NL80211_MULTICAST_GROUP_CONFIG = "config"
5068 NL80211_MULTICAST_GROUP_MLME = "mlme"
5069 NL80211_MULTICAST_GROUP_NAN = "nan"
5070 NL80211_MULTICAST_GROUP_REG = "regulatory"
5071 NL80211_MULTICAST_GROUP_SCAN = "scan"
5072 NL80211_MULTICAST_GROUP_TESTMODE = "testmode"
5073 NL80211_MULTICAST_GROUP_VENDOR = "vendor"
5074 NL80211_NAN_FUNC_ATTR_MAX = 0x10
5075 NL80211_NAN_FUNC_CLOSE_RANGE = 0x9
5076 NL80211_NAN_FUNC_FOLLOW_UP = 0x2
5077 NL80211_NAN_FUNC_FOLLOW_UP_DEST = 0x8
5078 NL80211_NAN_FUNC_FOLLOW_UP_ID = 0x6
5079 NL80211_NAN_FUNC_FOLLOW_UP_REQ_ID = 0x7
5080 NL80211_NAN_FUNC_INSTANCE_ID = 0xf
5081 NL80211_NAN_FUNC_MAX_TYPE = 0x2
5082 NL80211_NAN_FUNC_PUBLISH_BCAST = 0x4
5083 NL80211_NAN_FUNC_PUBLISH = 0x0
5084 NL80211_NAN_FUNC_PUBLISH_TYPE = 0x3
5085 NL80211_NAN_FUNC_RX_MATCH_FILTER = 0xd
5086 NL80211_NAN_FUNC_SERVICE_ID = 0x2
5087 NL80211_NAN_FUNC_SERVICE_ID_LEN = 0x6
5088 NL80211_NAN_FUNC_SERVICE_INFO = 0xb
5089 NL80211_NAN_FUNC_SERVICE_SPEC_INFO_MAX_LEN = 0xff
5090 NL80211_NAN_FUNC_SRF = 0xc
5091 NL80211_NAN_FUNC_SRF_MAX_LEN = 0xff
5092 NL80211_NAN_FUNC_SUBSCRIBE_ACTIVE = 0x5
5093 NL80211_NAN_FUNC_SUBSCRIBE = 0x1
5094 NL80211_NAN_FUNC_TERM_REASON = 0x10
5095 NL80211_NAN_FUNC_TERM_REASON_ERROR = 0x2
5096 NL80211_NAN_FUNC_TERM_REASON_TTL_EXPIRED = 0x1
5097 NL80211_NAN_FUNC_TERM_REASON_USER_REQUEST = 0x0
5098 NL80211_NAN_FUNC_TTL = 0xa
5099 NL80211_NAN_FUNC_TX_MATCH_FILTER = 0xe
5100 NL80211_NAN_FUNC_TYPE = 0x1
5101 NL80211_NAN_MATCH_ATTR_MAX = 0x2
5102 NL80211_NAN_MATCH_FUNC_LOCAL = 0x1
5103 NL80211_NAN_MATCH_FUNC_PEER = 0x2
5104 NL80211_NAN_SOLICITED_PUBLISH = 0x1
5105 NL80211_NAN_SRF_ATTR_MAX = 0x4
5106 NL80211_NAN_SRF_BF = 0x2
5107 NL80211_NAN_SRF_BF_IDX = 0x3
5108 NL80211_NAN_SRF_INCLUDE = 0x1
5109 NL80211_NAN_SRF_MAC_ADDRS = 0x4
5110 NL80211_NAN_UNSOLICITED_PUBLISH = 0x2
5111 NL80211_NUM_ACS = 0x4
5112 NL80211_P2P_PS_SUPPORTED = 0x1
5113 NL80211_P2P_PS_UNSUPPORTED = 0x0
5114 NL80211_PKTPAT_MASK = 0x1
5115 NL80211_PKTPAT_OFFSET = 0x3
5116 NL80211_PKTPAT_PATTERN = 0x2
5117 NL80211_PLINK_ACTION_BLOCK = 0x2
5118 NL80211_PLINK_ACTION_NO_ACTION = 0x0
5119 NL80211_PLINK_ACTION_OPEN = 0x1
5120 NL80211_PLINK_BLOCKED = 0x6
5121 NL80211_PLINK_CNF_RCVD = 0x3
5122 NL80211_PLINK_ESTAB = 0x4
5123 NL80211_PLINK_HOLDING = 0x5
5124 NL80211_PLINK_LISTEN = 0x0
5125 NL80211_PLINK_OPN_RCVD = 0x2
5126 NL80211_PLINK_OPN_SNT = 0x1
5127 NL80211_PMKSA_CANDIDATE_BSSID = 0x2
5128 NL80211_PMKSA_CANDIDATE_INDEX = 0x1
5129 NL80211_PMKSA_CANDIDATE_PREAUTH = 0x3
5130 NL80211_PMSR_ATTR_MAX = 0x5
5131 NL80211_PMSR_ATTR_MAX_PEERS = 0x1
5132 NL80211_PMSR_ATTR_PEERS = 0x5
5133 NL80211_PMSR_ATTR_RANDOMIZE_MAC_ADDR = 0x3
5134 NL80211_PMSR_ATTR_REPORT_AP_TSF = 0x2
5135 NL80211_PMSR_ATTR_TYPE_CAPA = 0x4
5136 NL80211_PMSR_FTM_CAPA_ATTR_ASAP = 0x1
5137 NL80211_PMSR_FTM_CAPA_ATTR_BANDWIDTHS = 0x6
5138 NL80211_PMSR_FTM_CAPA_ATTR_MAX_BURSTS_EXPONENT = 0x7
5139 NL80211_PMSR_FTM_CAPA_ATTR_MAX = 0xa
5140 NL80211_PMSR_FTM_CAPA_ATTR_MAX_FTMS_PER_BURST = 0x8
5141 NL80211_PMSR_FTM_CAPA_ATTR_NON_ASAP = 0x2
5142 NL80211_PMSR_FTM_CAPA_ATTR_NON_TRIGGER_BASED = 0xa
5143 NL80211_PMSR_FTM_CAPA_ATTR_PREAMBLES = 0x5
5144 NL80211_PMSR_FTM_CAPA_ATTR_REQ_CIVICLOC = 0x4
5145 NL80211_PMSR_FTM_CAPA_ATTR_REQ_LCI = 0x3
5146 NL80211_PMSR_FTM_CAPA_ATTR_TRIGGER_BASED = 0x9
5147 NL80211_PMSR_FTM_FAILURE_BAD_CHANGED_PARAMS = 0x7
5148 NL80211_PMSR_FTM_FAILURE_INVALID_TIMESTAMP = 0x5
5149 NL80211_PMSR_FTM_FAILURE_NO_RESPONSE = 0x1
5150 NL80211_PMSR_FTM_FAILURE_PEER_BUSY = 0x6
5151 NL80211_PMSR_FTM_FAILURE_PEER_NOT_CAPABLE = 0x4
5152 NL80211_PMSR_FTM_FAILURE_REJECTED = 0x2
5153 NL80211_PMSR_FTM_FAILURE_UNSPECIFIED = 0x0
5154 NL80211_PMSR_FTM_FAILURE_WRONG_CHANNEL = 0x3
5155 NL80211_PMSR_FTM_REQ_ATTR_ASAP = 0x1
5156 NL80211_PMSR_FTM_REQ_ATTR_BURST_DURATION = 0x5
5157 NL80211_PMSR_FTM_REQ_ATTR_BURST_PERIOD = 0x4
5158 NL80211_PMSR_FTM_REQ_ATTR_FTMS_PER_BURST = 0x6
5159 NL80211_PMSR_FTM_REQ_ATTR_LMR_FEEDBACK = 0xc
5160 NL80211_PMSR_FTM_REQ_ATTR_MAX = 0xd
5161 NL80211_PMSR_FTM_REQ_ATTR_NON_TRIGGER_BASED = 0xb
5162 NL80211_PMSR_FTM_REQ_ATTR_NUM_BURSTS_EXP = 0x3
5163 NL80211_PMSR_FTM_REQ_ATTR_NUM_FTMR_RETRIES = 0x7
5164 NL80211_PMSR_FTM_REQ_ATTR_PREAMBLE = 0x2
5165 NL80211_PMSR_FTM_REQ_ATTR_REQUEST_CIVICLOC = 0x9
5166 NL80211_PMSR_FTM_REQ_ATTR_REQUEST_LCI = 0x8
5167 NL80211_PMSR_FTM_REQ_ATTR_TRIGGER_BASED = 0xa
5168 NL80211_PMSR_FTM_RESP_ATTR_BURST_DURATION = 0x7
5169 NL80211_PMSR_FTM_RESP_ATTR_BURST_INDEX = 0x2
5170 NL80211_PMSR_FTM_RESP_ATTR_BUSY_RETRY_TIME = 0x5
5171 NL80211_PMSR_FTM_RESP_ATTR_CIVICLOC = 0x14
5172 NL80211_PMSR_FTM_RESP_ATTR_DIST_AVG = 0x10
5173 NL80211_PMSR_FTM_RESP_ATTR_DIST_SPREAD = 0x12
5174 NL80211_PMSR_FTM_RESP_ATTR_DIST_VARIANCE = 0x11
5175 NL80211_PMSR_FTM_RESP_ATTR_FAIL_REASON = 0x1
5176 NL80211_PMSR_FTM_RESP_ATTR_FTMS_PER_BURST = 0x8
5177 NL80211_PMSR_FTM_RESP_ATTR_LCI = 0x13
5178 NL80211_PMSR_FTM_RESP_ATTR_MAX = 0x15
5179 NL80211_PMSR_FTM_RESP_ATTR_NUM_BURSTS_EXP = 0x6
5180 NL80211_PMSR_FTM_RESP_ATTR_NUM_FTMR_ATTEMPTS = 0x3
5181 NL80211_PMSR_FTM_RESP_ATTR_NUM_FTMR_SUCCESSES = 0x4
5182 NL80211_PMSR_FTM_RESP_ATTR_PAD = 0x15
5183 NL80211_PMSR_FTM_RESP_ATTR_RSSI_AVG = 0x9
5184 NL80211_PMSR_FTM_RESP_ATTR_RSSI_SPREAD = 0xa
5185 NL80211_PMSR_FTM_RESP_ATTR_RTT_AVG = 0xd
5186 NL80211_PMSR_FTM_RESP_ATTR_RTT_SPREAD = 0xf
5187 NL80211_PMSR_FTM_RESP_ATTR_RTT_VARIANCE = 0xe
5188 NL80211_PMSR_FTM_RESP_ATTR_RX_RATE = 0xc
5189 NL80211_PMSR_FTM_RESP_ATTR_TX_RATE = 0xb
5190 NL80211_PMSR_PEER_ATTR_ADDR = 0x1
5191 NL80211_PMSR_PEER_ATTR_CHAN = 0x2
5192 NL80211_PMSR_PEER_ATTR_MAX = 0x4
5193 NL80211_PMSR_PEER_ATTR_REQ = 0x3
5194 NL80211_PMSR_PEER_ATTR_RESP = 0x4
5195 NL80211_PMSR_REQ_ATTR_DATA = 0x1
5196 NL80211_PMSR_REQ_ATTR_GET_AP_TSF = 0x2
5197 NL80211_PMSR_REQ_ATTR_MAX = 0x2
5198 NL80211_PMSR_RESP_ATTR_AP_TSF = 0x4
5199 NL80211_PMSR_RESP_ATTR_DATA = 0x1
5200 NL80211_PMSR_RESP_ATTR_FINAL = 0x5
5201 NL80211_PMSR_RESP_ATTR_HOST_TIME = 0x3
5202 NL80211_PMSR_RESP_ATTR_MAX = 0x6
5203 NL80211_PMSR_RESP_ATTR_PAD = 0x6
5204 NL80211_PMSR_RESP_ATTR_STATUS = 0x2
5205 NL80211_PMSR_STATUS_FAILURE = 0x3
5206 NL80211_PMSR_STATUS_REFUSED = 0x1
5207 NL80211_PMSR_STATUS_SUCCESS = 0x0
5208 NL80211_PMSR_STATUS_TIMEOUT = 0x2
5209 NL80211_PMSR_TYPE_FTM = 0x1
5210 NL80211_PMSR_TYPE_INVALID = 0x0
5211 NL80211_PMSR_TYPE_MAX = 0x1
5212 NL80211_PREAMBLE_DMG = 0x3
5213 NL80211_PREAMBLE_HE = 0x4
5214 NL80211_PREAMBLE_HT = 0x1
5215 NL80211_PREAMBLE_LEGACY = 0x0
5216 NL80211_PREAMBLE_VHT = 0x2
5217 NL80211_PROBE_RESP_OFFLOAD_SUPPORT_80211U = 0x8
5218 NL80211_PROBE_RESP_OFFLOAD_SUPPORT_P2P = 0x4
5219 NL80211_PROBE_RESP_OFFLOAD_SUPPORT_WPS2 = 0x2
5220 NL80211_PROBE_RESP_OFFLOAD_SUPPORT_WPS = 0x1
5221 NL80211_PROTOCOL_FEATURE_SPLIT_WIPHY_DUMP = 0x1
5222 NL80211_PS_DISABLED = 0x0
5223 NL80211_PS_ENABLED = 0x1
5224 NL80211_RADAR_CAC_ABORTED = 0x2
5225 NL80211_RADAR_CAC_FINISHED = 0x1
5226 NL80211_RADAR_CAC_STARTED = 0x5
5227 NL80211_RADAR_DETECTED = 0x0
5228 NL80211_RADAR_NOP_FINISHED = 0x3
5229 NL80211_RADAR_PRE_CAC_EXPIRED = 0x4
5230 NL80211_RATE_INFO_10_MHZ_WIDTH = 0xb
5231 NL80211_RATE_INFO_160_MHZ_WIDTH = 0xa
5232 NL80211_RATE_INFO_40_MHZ_WIDTH = 0x3
5233 NL80211_RATE_INFO_5_MHZ_WIDTH = 0xc
5234 NL80211_RATE_INFO_80_MHZ_WIDTH = 0x8
5235 NL80211_RATE_INFO_80P80_MHZ_WIDTH = 0x9
5236 NL80211_RATE_INFO_BITRATE32 = 0x5
5237 NL80211_RATE_INFO_BITRATE = 0x1
5238 NL80211_RATE_INFO_HE_1XLTF = 0x0
5239 NL80211_RATE_INFO_HE_2XLTF = 0x1
5240 NL80211_RATE_INFO_HE_4XLTF = 0x2
5241 NL80211_RATE_INFO_HE_DCM = 0x10
5242 NL80211_RATE_INFO_HE_GI_0_8 = 0x0
5243 NL80211_RATE_INFO_HE_GI_1_6 = 0x1
5244 NL80211_RATE_INFO_HE_GI_3_2 = 0x2
5245 NL80211_RATE_INFO_HE_GI = 0xf
5246 NL80211_RATE_INFO_HE_MCS = 0xd
5247 NL80211_RATE_INFO_HE_NSS = 0xe
5248 NL80211_RATE_INFO_HE_RU_ALLOC_106 = 0x2
5249 NL80211_RATE_INFO_HE_RU_ALLOC_242 = 0x3
5250 NL80211_RATE_INFO_HE_RU_ALLOC_26 = 0x0
5251 NL80211_RATE_INFO_HE_RU_ALLOC_2x996 = 0x6
5252 NL80211_RATE_INFO_HE_RU_ALLOC_484 = 0x4
5253 NL80211_RATE_INFO_HE_RU_ALLOC_52 = 0x1
5254 NL80211_RATE_INFO_HE_RU_ALLOC_996 = 0x5
5255 NL80211_RATE_INFO_HE_RU_ALLOC = 0x11
5256 NL80211_RATE_INFO_MAX = 0x11
5257 NL80211_RATE_INFO_MCS = 0x2
5258 NL80211_RATE_INFO_SHORT_GI = 0x4
5259 NL80211_RATE_INFO_VHT_MCS = 0x6
5260 NL80211_RATE_INFO_VHT_NSS = 0x7
5261 NL80211_REGDOM_SET_BY_CORE = 0x0
5262 NL80211_REGDOM_SET_BY_COUNTRY_IE = 0x3
5263 NL80211_REGDOM_SET_BY_DRIVER = 0x2
5264 NL80211_REGDOM_SET_BY_USER = 0x1
5265 NL80211_REGDOM_TYPE_COUNTRY = 0x0
5266 NL80211_REGDOM_TYPE_CUSTOM_WORLD = 0x2
5267 NL80211_REGDOM_TYPE_INTERSECTION = 0x3
5268 NL80211_REGDOM_TYPE_WORLD = 0x1
5269 NL80211_REG_RULE_ATTR_MAX = 0x7
5270 NL80211_REKEY_DATA_AKM = 0x4
5271 NL80211_REKEY_DATA_KCK = 0x2
5272 NL80211_REKEY_DATA_KEK = 0x1
5273 NL80211_REKEY_DATA_REPLAY_CTR = 0x3
5274 NL80211_REPLAY_CTR_LEN = 0x8
5275 NL80211_RRF_AUTO_BW = 0x800
5276 NL80211_RRF_DFS = 0x10
5277 NL80211_RRF_GO_CONCURRENT = 0x1000
5278 NL80211_RRF_IR_CONCURRENT = 0x1000
5279 NL80211_RRF_NO_160MHZ = 0x10000
5280 NL80211_RRF_NO_80MHZ = 0x8000
5281 NL80211_RRF_NO_CCK = 0x2
5282 NL80211_RRF_NO_HE = 0x20000
5283 NL80211_RRF_NO_HT40 = 0x6000
5284 NL80211_RRF_NO_HT40MINUS = 0x2000
5285 NL80211_RRF_NO_HT40PLUS = 0x4000
5286 NL80211_RRF_NO_IBSS = 0x80
5287 NL80211_RRF_NO_INDOOR = 0x4
5288 NL80211_RRF_NO_IR_ALL = 0x180
5289 NL80211_RRF_NO_IR = 0x80
5290 NL80211_RRF_NO_OFDM = 0x1
5291 NL80211_RRF_NO_OUTDOOR = 0x8
5292 NL80211_RRF_PASSIVE_SCAN = 0x80
5293 NL80211_RRF_PTMP_ONLY = 0x40
5294 NL80211_RRF_PTP_ONLY = 0x20
5295 NL80211_RXMGMT_FLAG_ANSWERED = 0x1
5296 NL80211_RXMGMT_FLAG_EXTERNAL_AUTH = 0x2
5297 NL80211_SAE_PWE_BOTH = 0x3
5298 NL80211_SAE_PWE_HASH_TO_ELEMENT = 0x2
5299 NL80211_SAE_PWE_HUNT_AND_PECK = 0x1
5300 NL80211_SAE_PWE_UNSPECIFIED = 0x0
5301 NL80211_SAR_ATTR_MAX = 0x2
5302 NL80211_SAR_ATTR_SPECS = 0x2
5303 NL80211_SAR_ATTR_SPECS_END_FREQ = 0x4
5304 NL80211_SAR_ATTR_SPECS_MAX = 0x4
5305 NL80211_SAR_ATTR_SPECS_POWER = 0x1
5306 NL80211_SAR_ATTR_SPECS_RANGE_INDEX = 0x2
5307 NL80211_SAR_ATTR_SPECS_START_FREQ = 0x3
5308 NL80211_SAR_ATTR_TYPE = 0x1
5309 NL80211_SAR_TYPE_POWER = 0x0
5310 NL80211_SCAN_FLAG_ACCEPT_BCAST_PROBE_RESP = 0x20
5311 NL80211_SCAN_FLAG_AP = 0x4
5312 NL80211_SCAN_FLAG_COLOCATED_6GHZ = 0x4000
5313 NL80211_SCAN_FLAG_FILS_MAX_CHANNEL_TIME = 0x10
5314 NL80211_SCAN_FLAG_FLUSH = 0x2
5315 NL80211_SCAN_FLAG_FREQ_KHZ = 0x2000
5316 NL80211_SCAN_FLAG_HIGH_ACCURACY = 0x400
5317 NL80211_SCAN_FLAG_LOW_POWER = 0x200
5318 NL80211_SCAN_FLAG_LOW_PRIORITY = 0x1
5319 NL80211_SCAN_FLAG_LOW_SPAN = 0x100
5320 NL80211_SCAN_FLAG_MIN_PREQ_CONTENT = 0x1000
5321 NL80211_SCAN_FLAG_OCE_PROBE_REQ_DEFERRAL_SUPPRESSION = 0x80
5322 NL80211_SCAN_FLAG_OCE_PROBE_REQ_HIGH_TX_RATE = 0x40
5323 NL80211_SCAN_FLAG_RANDOM_ADDR = 0x8
5324 NL80211_SCAN_FLAG_RANDOM_SN = 0x800
5325 NL80211_SCAN_RSSI_THOLD_OFF = -0x12c
5326 NL80211_SCHED_SCAN_MATCH_ATTR_BSSID = 0x5
5327 NL80211_SCHED_SCAN_MATCH_ATTR_MAX = 0x6
5328 NL80211_SCHED_SCAN_MATCH_ATTR_RELATIVE_RSSI = 0x3
5329 NL80211_SCHED_SCAN_MATCH_ATTR_RSSI_ADJUST = 0x4
5330 NL80211_SCHED_SCAN_MATCH_ATTR_RSSI = 0x2
5331 NL80211_SCHED_SCAN_MATCH_ATTR_SSID = 0x1
5332 NL80211_SCHED_SCAN_MATCH_PER_BAND_RSSI = 0x6
5333 NL80211_SCHED_SCAN_PLAN_INTERVAL = 0x1
5334 NL80211_SCHED_SCAN_PLAN_ITERATIONS = 0x2
5335 NL80211_SCHED_SCAN_PLAN_MAX = 0x2
5336 NL80211_SMPS_DYNAMIC = 0x2
5337 NL80211_SMPS_MAX = 0x2
5338 NL80211_SMPS_OFF = 0x0
5339 NL80211_SMPS_STATIC = 0x1
5340 NL80211_STA_BSS_PARAM_BEACON_INTERVAL = 0x5
5341 NL80211_STA_BSS_PARAM_CTS_PROT = 0x1
5342 NL80211_STA_BSS_PARAM_DTIM_PERIOD = 0x4
5343 NL80211_STA_BSS_PARAM_MAX = 0x5
5344 NL80211_STA_BSS_PARAM_SHORT_PREAMBLE = 0x2
5345 NL80211_STA_BSS_PARAM_SHORT_SLOT_TIME = 0x3
5346 NL80211_STA_FLAG_ASSOCIATED = 0x7
5347 NL80211_STA_FLAG_AUTHENTICATED = 0x5
5348 NL80211_STA_FLAG_AUTHORIZED = 0x1
5349 NL80211_STA_FLAG_MAX = 0x7
5350 NL80211_STA_FLAG_MAX_OLD_API = 0x6
5351 NL80211_STA_FLAG_MFP = 0x4
5352 NL80211_STA_FLAG_SHORT_PREAMBLE = 0x2
5353 NL80211_STA_FLAG_TDLS_PEER = 0x6
5354 NL80211_STA_FLAG_WME = 0x3
5355 NL80211_STA_INFO_ACK_SIGNAL_AVG = 0x23
5356 NL80211_STA_INFO_ACK_SIGNAL = 0x22
5357 NL80211_STA_INFO_AIRTIME_LINK_METRIC = 0x29
5358 NL80211_STA_INFO_AIRTIME_WEIGHT = 0x28
5359 NL80211_STA_INFO_ASSOC_AT_BOOTTIME = 0x2a
5360 NL80211_STA_INFO_BEACON_LOSS = 0x12
5361 NL80211_STA_INFO_BEACON_RX = 0x1d
5362 NL80211_STA_INFO_BEACON_SIGNAL_AVG = 0x1e
5363 NL80211_STA_INFO_BSS_PARAM = 0xf
5364 NL80211_STA_INFO_CHAIN_SIGNAL_AVG = 0x1a
5365 NL80211_STA_INFO_CHAIN_SIGNAL = 0x19
5366 NL80211_STA_INFO_CONNECTED_TIME = 0x10
5367 NL80211_STA_INFO_CONNECTED_TO_AS = 0x2b
5368 NL80211_STA_INFO_CONNECTED_TO_GATE = 0x26
5369 NL80211_STA_INFO_DATA_ACK_SIGNAL_AVG = 0x23
5370 NL80211_STA_INFO_EXPECTED_THROUGHPUT = 0x1b
5371 NL80211_STA_INFO_FCS_ERROR_COUNT = 0x25
5372 NL80211_STA_INFO_INACTIVE_TIME = 0x1
5373 NL80211_STA_INFO_LLID = 0x4
5374 NL80211_STA_INFO_LOCAL_PM = 0x14
5375 NL80211_STA_INFO_MAX = 0x2b
5376 NL80211_STA_INFO_NONPEER_PM = 0x16
5377 NL80211_STA_INFO_PAD = 0x21
5378 NL80211_STA_INFO_PEER_PM = 0x15
5379 NL80211_STA_INFO_PLID = 0x5
5380 NL80211_STA_INFO_PLINK_STATE = 0x6
5381 NL80211_STA_INFO_RX_BITRATE = 0xe
5382 NL80211_STA_INFO_RX_BYTES64 = 0x17
5383 NL80211_STA_INFO_RX_BYTES = 0x2
5384 NL80211_STA_INFO_RX_DROP_MISC = 0x1c
5385 NL80211_STA_INFO_RX_DURATION = 0x20
5386 NL80211_STA_INFO_RX_MPDUS = 0x24
5387 NL80211_STA_INFO_RX_PACKETS = 0x9
5388 NL80211_STA_INFO_SIGNAL_AVG = 0xd
5389 NL80211_STA_INFO_SIGNAL = 0x7
5390 NL80211_STA_INFO_STA_FLAGS = 0x11
5391 NL80211_STA_INFO_TID_STATS = 0x1f
5392 NL80211_STA_INFO_T_OFFSET = 0x13
5393 NL80211_STA_INFO_TX_BITRATE = 0x8
5394 NL80211_STA_INFO_TX_BYTES64 = 0x18
5395 NL80211_STA_INFO_TX_BYTES = 0x3
5396 NL80211_STA_INFO_TX_DURATION = 0x27
5397 NL80211_STA_INFO_TX_FAILED = 0xc
5398 NL80211_STA_INFO_TX_PACKETS = 0xa
5399 NL80211_STA_INFO_TX_RETRIES = 0xb
5400 NL80211_STA_WME_MAX = 0x2
5401 NL80211_STA_WME_MAX_SP = 0x2
5402 NL80211_STA_WME_UAPSD_QUEUES = 0x1
5403 NL80211_SURVEY_INFO_CHANNEL_TIME_BUSY = 0x5
5404 NL80211_SURVEY_INFO_CHANNEL_TIME = 0x4
5405 NL80211_SURVEY_INFO_CHANNEL_TIME_EXT_BUSY = 0x6
5406 NL80211_SURVEY_INFO_CHANNEL_TIME_RX = 0x7
5407 NL80211_SURVEY_INFO_CHANNEL_TIME_TX = 0x8
5408 NL80211_SURVEY_INFO_FREQUENCY = 0x1
5409 NL80211_SURVEY_INFO_FREQUENCY_OFFSET = 0xc
5410 NL80211_SURVEY_INFO_IN_USE = 0x3
5411 NL80211_SURVEY_INFO_MAX = 0xc
5412 NL80211_SURVEY_INFO_NOISE = 0x2
5413 NL80211_SURVEY_INFO_PAD = 0xa
5414 NL80211_SURVEY_INFO_TIME_BSS_RX = 0xb
5415 NL80211_SURVEY_INFO_TIME_BUSY = 0x5
5416 NL80211_SURVEY_INFO_TIME = 0x4
5417 NL80211_SURVEY_INFO_TIME_EXT_BUSY = 0x6
5418 NL80211_SURVEY_INFO_TIME_RX = 0x7
5419 NL80211_SURVEY_INFO_TIME_SCAN = 0x9
5420 NL80211_SURVEY_INFO_TIME_TX = 0x8
5421 NL80211_TDLS_DISABLE_LINK = 0x4
5422 NL80211_TDLS_DISCOVERY_REQ = 0x0
5423 NL80211_TDLS_ENABLE_LINK = 0x3
5424 NL80211_TDLS_PEER_HE = 0x8
5425 NL80211_TDLS_PEER_HT = 0x1
5426 NL80211_TDLS_PEER_VHT = 0x2
5427 NL80211_TDLS_PEER_WMM = 0x4
5428 NL80211_TDLS_SETUP = 0x1
5429 NL80211_TDLS_TEARDOWN = 0x2
5430 NL80211_TID_CONFIG_ATTR_AMPDU_CTRL = 0x9
5431 NL80211_TID_CONFIG_ATTR_AMSDU_CTRL = 0xb
5432 NL80211_TID_CONFIG_ATTR_MAX = 0xd
5433 NL80211_TID_CONFIG_ATTR_NOACK = 0x6
5434 NL80211_TID_CONFIG_ATTR_OVERRIDE = 0x4
5435 NL80211_TID_CONFIG_ATTR_PAD = 0x1
5436 NL80211_TID_CONFIG_ATTR_PEER_SUPP = 0x3
5437 NL80211_TID_CONFIG_ATTR_RETRY_LONG = 0x8
5438 NL80211_TID_CONFIG_ATTR_RETRY_SHORT = 0x7
5439 NL80211_TID_CONFIG_ATTR_RTSCTS_CTRL = 0xa
5440 NL80211_TID_CONFIG_ATTR_TIDS = 0x5
5441 NL80211_TID_CONFIG_ATTR_TX_RATE = 0xd
5442 NL80211_TID_CONFIG_ATTR_TX_RATE_TYPE = 0xc
5443 NL80211_TID_CONFIG_ATTR_VIF_SUPP = 0x2
5444 NL80211_TID_CONFIG_DISABLE = 0x1
5445 NL80211_TID_CONFIG_ENABLE = 0x0
5446 NL80211_TID_STATS_MAX = 0x6
5447 NL80211_TID_STATS_PAD = 0x5
5448 NL80211_TID_STATS_RX_MSDU = 0x1
5449 NL80211_TID_STATS_TX_MSDU = 0x2
5450 NL80211_TID_STATS_TX_MSDU_FAILED = 0x4
5451 NL80211_TID_STATS_TX_MSDU_RETRIES = 0x3
5452 NL80211_TID_STATS_TXQ_STATS = 0x6
5453 NL80211_TIMEOUT_ASSOC = 0x3
5454 NL80211_TIMEOUT_AUTH = 0x2
5455 NL80211_TIMEOUT_SCAN = 0x1
5456 NL80211_TIMEOUT_UNSPECIFIED = 0x0
5457 NL80211_TKIP_DATA_OFFSET_ENCR_KEY = 0x0
5458 NL80211_TKIP_DATA_OFFSET_RX_MIC_KEY = 0x18
5459 NL80211_TKIP_DATA_OFFSET_TX_MIC_KEY = 0x10
5460 NL80211_TX_POWER_AUTOMATIC = 0x0
5461 NL80211_TX_POWER_FIXED = 0x2
5462 NL80211_TX_POWER_LIMITED = 0x1
5463 NL80211_TXQ_ATTR_AC = 0x1
5464 NL80211_TXQ_ATTR_AIFS = 0x5
5465 NL80211_TXQ_ATTR_CWMAX = 0x4
5466 NL80211_TXQ_ATTR_CWMIN = 0x3
5467 NL80211_TXQ_ATTR_MAX = 0x5
5468 NL80211_TXQ_ATTR_QUEUE = 0x1
5469 NL80211_TXQ_ATTR_TXOP = 0x2
5470 NL80211_TXQ_Q_BE = 0x2
5471 NL80211_TXQ_Q_BK = 0x3
5472 NL80211_TXQ_Q_VI = 0x1
5473 NL80211_TXQ_Q_VO = 0x0
5474 NL80211_TXQ_STATS_BACKLOG_BYTES = 0x1
5475 NL80211_TXQ_STATS_BACKLOG_PACKETS = 0x2
5476 NL80211_TXQ_STATS_COLLISIONS = 0x8
5477 NL80211_TXQ_STATS_DROPS = 0x4
5478 NL80211_TXQ_STATS_ECN_MARKS = 0x5
5479 NL80211_TXQ_STATS_FLOWS = 0x3
5480 NL80211_TXQ_STATS_MAX = 0xb
5481 NL80211_TXQ_STATS_MAX_FLOWS = 0xb
5482 NL80211_TXQ_STATS_OVERLIMIT = 0x6
5483 NL80211_TXQ_STATS_OVERMEMORY = 0x7
5484 NL80211_TXQ_STATS_TX_BYTES = 0x9
5485 NL80211_TXQ_STATS_TX_PACKETS = 0xa
5486 NL80211_TX_RATE_AUTOMATIC = 0x0
5487 NL80211_TXRATE_DEFAULT_GI = 0x0
5488 NL80211_TX_RATE_FIXED = 0x2
5489 NL80211_TXRATE_FORCE_LGI = 0x2
5490 NL80211_TXRATE_FORCE_SGI = 0x1
5491 NL80211_TXRATE_GI = 0x4
5492 NL80211_TXRATE_HE = 0x5
5493 NL80211_TXRATE_HE_GI = 0x6
5494 NL80211_TXRATE_HE_LTF = 0x7
5495 NL80211_TXRATE_HT = 0x2
5496 NL80211_TXRATE_LEGACY = 0x1
5497 NL80211_TX_RATE_LIMITED = 0x1
5498 NL80211_TXRATE_MAX = 0x7
5499 NL80211_TXRATE_MCS = 0x2
5500 NL80211_TXRATE_VHT = 0x3
5501 NL80211_UNSOL_BCAST_PROBE_RESP_ATTR_INT = 0x1
5502 NL80211_UNSOL_BCAST_PROBE_RESP_ATTR_MAX = 0x2
5503 NL80211_UNSOL_BCAST_PROBE_RESP_ATTR_TMPL = 0x2
5504 NL80211_USER_REG_HINT_CELL_BASE = 0x1
5505 NL80211_USER_REG_HINT_INDOOR = 0x2
5506 NL80211_USER_REG_HINT_USER = 0x0
5507 NL80211_VENDOR_ID_IS_LINUX = 0x80000000
5508 NL80211_VHT_CAPABILITY_LEN = 0xc
5509 NL80211_VHT_NSS_MAX = 0x8
5510 NL80211_WIPHY_NAME_MAXLEN = 0x40
5511 NL80211_WMMR_AIFSN = 0x3
5512 NL80211_WMMR_CW_MAX = 0x2
5513 NL80211_WMMR_CW_MIN = 0x1
5514 NL80211_WMMR_MAX = 0x4
5515 NL80211_WMMR_TXOP = 0x4
5516 NL80211_WOWLAN_PKTPAT_MASK = 0x1
5517 NL80211_WOWLAN_PKTPAT_OFFSET = 0x3
5518 NL80211_WOWLAN_PKTPAT_PATTERN = 0x2
5519 NL80211_WOWLAN_TCP_DATA_INTERVAL = 0x9
5520 NL80211_WOWLAN_TCP_DATA_PAYLOAD = 0x6
5521 NL80211_WOWLAN_TCP_DATA_PAYLOAD_SEQ = 0x7
5522 NL80211_WOWLAN_TCP_DATA_PAYLOAD_TOKEN = 0x8
5523 NL80211_WOWLAN_TCP_DST_IPV4 = 0x2
5524 NL80211_WOWLAN_TCP_DST_MAC = 0x3
5525 NL80211_WOWLAN_TCP_DST_PORT = 0x5
5526 NL80211_WOWLAN_TCP_SRC_IPV4 = 0x1
5527 NL80211_WOWLAN_TCP_SRC_PORT = 0x4
5528 NL80211_WOWLAN_TCP_WAKE_MASK = 0xb
5529 NL80211_WOWLAN_TCP_WAKE_PAYLOAD = 0xa
5530 NL80211_WOWLAN_TRIG_4WAY_HANDSHAKE = 0x8
5531 NL80211_WOWLAN_TRIG_ANY = 0x1
5532 NL80211_WOWLAN_TRIG_DISCONNECT = 0x2
5533 NL80211_WOWLAN_TRIG_EAP_IDENT_REQUEST = 0x7
5534 NL80211_WOWLAN_TRIG_GTK_REKEY_FAILURE = 0x6
5535 NL80211_WOWLAN_TRIG_GTK_REKEY_SUPPORTED = 0x5
5536 NL80211_WOWLAN_TRIG_MAGIC_PKT = 0x3
5537 NL80211_WOWLAN_TRIG_NET_DETECT = 0x12
5538 NL80211_WOWLAN_TRIG_NET_DETECT_RESULTS = 0x13
5539 NL80211_WOWLAN_TRIG_PKT_PATTERN = 0x4
5540 NL80211_WOWLAN_TRIG_RFKILL_RELEASE = 0x9
5541 NL80211_WOWLAN_TRIG_TCP_CONNECTION = 0xe
5542 NL80211_WOWLAN_TRIG_WAKEUP_PKT_80211 = 0xa
5543 NL80211_WOWLAN_TRIG_WAKEUP_PKT_80211_LEN = 0xb
5544 NL80211_WOWLAN_TRIG_WAKEUP_PKT_8023 = 0xc
5545 NL80211_WOWLAN_TRIG_WAKEUP_PKT_8023_LEN = 0xd
5546 NL80211_WOWLAN_TRIG_WAKEUP_TCP_CONNLOST = 0x10
5547 NL80211_WOWLAN_TRIG_WAKEUP_TCP_MATCH = 0xf
5548 NL80211_WOWLAN_TRIG_WAKEUP_TCP_NOMORETOKENS = 0x11
5549 NL80211_WPA_VERSION_1 = 0x1
5550 NL80211_WPA_VERSION_2 = 0x2
5551 NL80211_WPA_VERSION_3 = 0x4
5552 )
5553
5554 const (
5555 FRA_UNSPEC = 0x0
5556 FRA_DST = 0x1
5557 FRA_SRC = 0x2
5558 FRA_IIFNAME = 0x3
5559 FRA_GOTO = 0x4
5560 FRA_UNUSED2 = 0x5
5561 FRA_PRIORITY = 0x6
5562 FRA_UNUSED3 = 0x7
5563 FRA_UNUSED4 = 0x8
5564 FRA_UNUSED5 = 0x9
5565 FRA_FWMARK = 0xa
5566 FRA_FLOW = 0xb
5567 FRA_TUN_ID = 0xc
5568 FRA_SUPPRESS_IFGROUP = 0xd
5569 FRA_SUPPRESS_PREFIXLEN = 0xe
5570 FRA_TABLE = 0xf
5571 FRA_FWMASK = 0x10
5572 FRA_OIFNAME = 0x11
5573 FRA_PAD = 0x12
5574 FRA_L3MDEV = 0x13
5575 FRA_UID_RANGE = 0x14
5576 FRA_PROTOCOL = 0x15
5577 FRA_IP_PROTO = 0x16
5578 FRA_SPORT_RANGE = 0x17
5579 FRA_DPORT_RANGE = 0x18
5580 FR_ACT_UNSPEC = 0x0
5581 FR_ACT_TO_TBL = 0x1
5582 FR_ACT_GOTO = 0x2
5583 FR_ACT_NOP = 0x3
5584 FR_ACT_RES3 = 0x4
5585 FR_ACT_RES4 = 0x5
5586 FR_ACT_BLACKHOLE = 0x6
5587 FR_ACT_UNREACHABLE = 0x7
5588 FR_ACT_PROHIBIT = 0x8
5589 )
240240 }
241241
242242 const (
243 OPEN_TREE_CLOEXEC = 0x80000
244 )
245
246 const (
243247 POLLRDHUP = 0x2000
244248 )
245249
248252 }
249253
250254 const _C__NSIG = 0x41
255
256 type Siginfo struct {
257 Signo int32
258 Errno int32
259 Code int32
260 _ [116]byte
261 }
251262
252263 type Termios struct {
253264 Iflag uint32
310321 Thrashing_count uint64
311322 Thrashing_delay_total uint64
312323 Ac_btime64 uint64
324 Compact_count uint64
325 Compact_delay_total uint64
313326 }
314327
315328 type cpuMask uint32
255255 }
256256
257257 const (
258 OPEN_TREE_CLOEXEC = 0x80000
259 )
260
261 const (
258262 POLLRDHUP = 0x2000
259263 )
260264
263267 }
264268
265269 const _C__NSIG = 0x41
270
271 type Siginfo struct {
272 Signo int32
273 Errno int32
274 Code int32
275 _ int32
276 _ [112]byte
277 }
266278
267279 type Termios struct {
268280 Iflag uint32
323335 Thrashing_count uint64
324336 Thrashing_delay_total uint64
325337 Ac_btime64 uint64
338 Compact_count uint64
339 Compact_delay_total uint64
326340 }
327341
328342 type cpuMask uint64
231231 }
232232
233233 const (
234 OPEN_TREE_CLOEXEC = 0x80000
235 )
236
237 const (
234238 POLLRDHUP = 0x2000
235239 )
236240
239243 }
240244
241245 const _C__NSIG = 0x41
246
247 type Siginfo struct {
248 Signo int32
249 Errno int32
250 Code int32
251 _ [116]byte
252 }
242253
243254 type Termios struct {
244255 Iflag uint32
301312 Thrashing_count uint64
302313 Thrashing_delay_total uint64
303314 Ac_btime64 uint64
315 Compact_count uint64
316 Compact_delay_total uint64
304317 }
305318
306319 type cpuMask uint32
234234 }
235235
236236 const (
237 OPEN_TREE_CLOEXEC = 0x80000
238 )
239
240 const (
237241 POLLRDHUP = 0x2000
238242 )
239243
242246 }
243247
244248 const _C__NSIG = 0x41
249
250 type Siginfo struct {
251 Signo int32
252 Errno int32
253 Code int32
254 _ int32
255 _ [112]byte
256 }
245257
246258 type Termios struct {
247259 Iflag uint32
302314 Thrashing_count uint64
303315 Thrashing_delay_total uint64
304316 Ac_btime64 uint64
317 Compact_count uint64
318 Compact_delay_total uint64
305319 }
306320
307321 type cpuMask uint64
0 // cgo -godefs -- -Wall -Werror -static -I/tmp/include /build/unix/linux/types.go | go run mkpost.go
1 // Code generated by the command above; see README.md. DO NOT EDIT.
2
3 //go:build loong64 && linux
4 // +build loong64,linux
5
6 package unix
7
8 const (
9 SizeofPtr = 0x8
10 SizeofLong = 0x8
11 )
12
13 type (
14 _C_long int64
15 )
16
17 type Timespec struct {
18 Sec int64
19 Nsec int64
20 }
21
22 type Timeval struct {
23 Sec int64
24 Usec int64
25 }
26
27 type Timex struct {
28 Modes uint32
29 Offset int64
30 Freq int64
31 Maxerror int64
32 Esterror int64
33 Status int32
34 Constant int64
35 Precision int64
36 Tolerance int64
37 Time Timeval
38 Tick int64
39 Ppsfreq int64
40 Jitter int64
41 Shift int32
42 Stabil int64
43 Jitcnt int64
44 Calcnt int64
45 Errcnt int64
46 Stbcnt int64
47 Tai int32
48 _ [44]byte
49 }
50
51 type Time_t int64
52
53 type Tms struct {
54 Utime int64
55 Stime int64
56 Cutime int64
57 Cstime int64
58 }
59
60 type Utimbuf struct {
61 Actime int64
62 Modtime int64
63 }
64
65 type Rusage struct {
66 Utime Timeval
67 Stime Timeval
68 Maxrss int64
69 Ixrss int64
70 Idrss int64
71 Isrss int64
72 Minflt int64
73 Majflt int64
74 Nswap int64
75 Inblock int64
76 Oublock int64
77 Msgsnd int64
78 Msgrcv int64
79 Nsignals int64
80 Nvcsw int64
81 Nivcsw int64
82 }
83
84 type Stat_t struct {
85 Dev uint64
86 Ino uint64
87 Mode uint32
88 Nlink uint32
89 Uid uint32
90 Gid uint32
91 Rdev uint64
92 _ uint64
93 Size int64
94 Blksize int32
95 _ int32
96 Blocks int64
97 Atim Timespec
98 Mtim Timespec
99 Ctim Timespec
100 _ [2]int32
101 }
102
103 type Dirent struct {
104 Ino uint64
105 Off int64
106 Reclen uint16
107 Type uint8
108 Name [256]int8
109 _ [5]byte
110 }
111
112 type Flock_t struct {
113 Type int16
114 Whence int16
115 Start int64
116 Len int64
117 Pid int32
118 _ [4]byte
119 }
120
121 type DmNameList struct {
122 Dev uint64
123 Next uint32
124 Name [0]byte
125 _ [4]byte
126 }
127
128 const (
129 FADV_DONTNEED = 0x4
130 FADV_NOREUSE = 0x5
131 )
132
133 type RawSockaddrNFCLLCP struct {
134 Sa_family uint16
135 Dev_idx uint32
136 Target_idx uint32
137 Nfc_protocol uint32
138 Dsap uint8
139 Ssap uint8
140 Service_name [63]uint8
141 Service_name_len uint64
142 }
143
144 type RawSockaddr struct {
145 Family uint16
146 Data [14]int8
147 }
148
149 type RawSockaddrAny struct {
150 Addr RawSockaddr
151 Pad [96]int8
152 }
153
154 type Iovec struct {
155 Base *byte
156 Len uint64
157 }
158
159 type Msghdr struct {
160 Name *byte
161 Namelen uint32
162 Iov *Iovec
163 Iovlen uint64
164 Control *byte
165 Controllen uint64
166 Flags int32
167 _ [4]byte
168 }
169
170 type Cmsghdr struct {
171 Len uint64
172 Level int32
173 Type int32
174 }
175
176 type ifreq struct {
177 Ifrn [16]byte
178 Ifru [24]byte
179 }
180
181 const (
182 SizeofSockaddrNFCLLCP = 0x60
183 SizeofIovec = 0x10
184 SizeofMsghdr = 0x38
185 SizeofCmsghdr = 0x10
186 )
187
188 const (
189 SizeofSockFprog = 0x10
190 )
191
192 type PtraceRegs struct {
193 Regs [32]uint64
194 Orig_a0 uint64
195 Era uint64
196 Badv uint64
197 Reserved [10]uint64
198 }
199
200 type FdSet struct {
201 Bits [16]int64
202 }
203
204 type Sysinfo_t struct {
205 Uptime int64
206 Loads [3]uint64
207 Totalram uint64
208 Freeram uint64
209 Sharedram uint64
210 Bufferram uint64
211 Totalswap uint64
212 Freeswap uint64
213 Procs uint16
214 Pad uint16
215 Totalhigh uint64
216 Freehigh uint64
217 Unit uint32
218 _ [0]int8
219 _ [4]byte
220 }
221
222 type Ustat_t struct {
223 Tfree int32
224 Tinode uint64
225 Fname [6]int8
226 Fpack [6]int8
227 _ [4]byte
228 }
229
230 type EpollEvent struct {
231 Events uint32
232 _ int32
233 Fd int32
234 Pad int32
235 }
236
237 const (
238 OPEN_TREE_CLOEXEC = 0x80000
239 )
240
241 const (
242 POLLRDHUP = 0x2000
243 )
244
245 type Sigset_t struct {
246 Val [16]uint64
247 }
248
249 const _C__NSIG = 0x41
250
251 type Siginfo struct {
252 Signo int32
253 Errno int32
254 Code int32
255 _ int32
256 _ [112]byte
257 }
258
259 type Termios struct {
260 Iflag uint32
261 Oflag uint32
262 Cflag uint32
263 Lflag uint32
264 Line uint8
265 Cc [19]uint8
266 Ispeed uint32
267 Ospeed uint32
268 }
269
270 type Taskstats struct {
271 Version uint16
272 Ac_exitcode uint32
273 Ac_flag uint8
274 Ac_nice uint8
275 Cpu_count uint64
276 Cpu_delay_total uint64
277 Blkio_count uint64
278 Blkio_delay_total uint64
279 Swapin_count uint64
280 Swapin_delay_total uint64
281 Cpu_run_real_total uint64
282 Cpu_run_virtual_total uint64
283 Ac_comm [32]int8
284 Ac_sched uint8
285 Ac_pad [3]uint8
286 _ [4]byte
287 Ac_uid uint32
288 Ac_gid uint32
289 Ac_pid uint32
290 Ac_ppid uint32
291 Ac_btime uint32
292 Ac_etime uint64
293 Ac_utime uint64
294 Ac_stime uint64
295 Ac_minflt uint64
296 Ac_majflt uint64
297 Coremem uint64
298 Virtmem uint64
299 Hiwater_rss uint64
300 Hiwater_vm uint64
301 Read_char uint64
302 Write_char uint64
303 Read_syscalls uint64
304 Write_syscalls uint64
305 Read_bytes uint64
306 Write_bytes uint64
307 Cancelled_write_bytes uint64
308 Nvcsw uint64
309 Nivcsw uint64
310 Ac_utimescaled uint64
311 Ac_stimescaled uint64
312 Cpu_scaled_run_real_total uint64
313 Freepages_count uint64
314 Freepages_delay_total uint64
315 Thrashing_count uint64
316 Thrashing_delay_total uint64
317 Ac_btime64 uint64
318 Compact_count uint64
319 Compact_delay_total uint64
320 }
321
322 type cpuMask uint64
323
324 const (
325 _NCPUBITS = 0x40
326 )
327
328 const (
329 CBitFieldMaskBit0 = 0x1
330 CBitFieldMaskBit1 = 0x2
331 CBitFieldMaskBit2 = 0x4
332 CBitFieldMaskBit3 = 0x8
333 CBitFieldMaskBit4 = 0x10
334 CBitFieldMaskBit5 = 0x20
335 CBitFieldMaskBit6 = 0x40
336 CBitFieldMaskBit7 = 0x80
337 CBitFieldMaskBit8 = 0x100
338 CBitFieldMaskBit9 = 0x200
339 CBitFieldMaskBit10 = 0x400
340 CBitFieldMaskBit11 = 0x800
341 CBitFieldMaskBit12 = 0x1000
342 CBitFieldMaskBit13 = 0x2000
343 CBitFieldMaskBit14 = 0x4000
344 CBitFieldMaskBit15 = 0x8000
345 CBitFieldMaskBit16 = 0x10000
346 CBitFieldMaskBit17 = 0x20000
347 CBitFieldMaskBit18 = 0x40000
348 CBitFieldMaskBit19 = 0x80000
349 CBitFieldMaskBit20 = 0x100000
350 CBitFieldMaskBit21 = 0x200000
351 CBitFieldMaskBit22 = 0x400000
352 CBitFieldMaskBit23 = 0x800000
353 CBitFieldMaskBit24 = 0x1000000
354 CBitFieldMaskBit25 = 0x2000000
355 CBitFieldMaskBit26 = 0x4000000
356 CBitFieldMaskBit27 = 0x8000000
357 CBitFieldMaskBit28 = 0x10000000
358 CBitFieldMaskBit29 = 0x20000000
359 CBitFieldMaskBit30 = 0x40000000
360 CBitFieldMaskBit31 = 0x80000000
361 CBitFieldMaskBit32 = 0x100000000
362 CBitFieldMaskBit33 = 0x200000000
363 CBitFieldMaskBit34 = 0x400000000
364 CBitFieldMaskBit35 = 0x800000000
365 CBitFieldMaskBit36 = 0x1000000000
366 CBitFieldMaskBit37 = 0x2000000000
367 CBitFieldMaskBit38 = 0x4000000000
368 CBitFieldMaskBit39 = 0x8000000000
369 CBitFieldMaskBit40 = 0x10000000000
370 CBitFieldMaskBit41 = 0x20000000000
371 CBitFieldMaskBit42 = 0x40000000000
372 CBitFieldMaskBit43 = 0x80000000000
373 CBitFieldMaskBit44 = 0x100000000000
374 CBitFieldMaskBit45 = 0x200000000000
375 CBitFieldMaskBit46 = 0x400000000000
376 CBitFieldMaskBit47 = 0x800000000000
377 CBitFieldMaskBit48 = 0x1000000000000
378 CBitFieldMaskBit49 = 0x2000000000000
379 CBitFieldMaskBit50 = 0x4000000000000
380 CBitFieldMaskBit51 = 0x8000000000000
381 CBitFieldMaskBit52 = 0x10000000000000
382 CBitFieldMaskBit53 = 0x20000000000000
383 CBitFieldMaskBit54 = 0x40000000000000
384 CBitFieldMaskBit55 = 0x80000000000000
385 CBitFieldMaskBit56 = 0x100000000000000
386 CBitFieldMaskBit57 = 0x200000000000000
387 CBitFieldMaskBit58 = 0x400000000000000
388 CBitFieldMaskBit59 = 0x800000000000000
389 CBitFieldMaskBit60 = 0x1000000000000000
390 CBitFieldMaskBit61 = 0x2000000000000000
391 CBitFieldMaskBit62 = 0x4000000000000000
392 CBitFieldMaskBit63 = 0x8000000000000000
393 )
394
395 type SockaddrStorage struct {
396 Family uint16
397 _ [118]int8
398 _ uint64
399 }
400
401 type HDGeometry struct {
402 Heads uint8
403 Sectors uint8
404 Cylinders uint16
405 Start uint64
406 }
407
408 type Statfs_t struct {
409 Type int64
410 Bsize int64
411 Blocks uint64
412 Bfree uint64
413 Bavail uint64
414 Files uint64
415 Ffree uint64
416 Fsid Fsid
417 Namelen int64
418 Frsize int64
419 Flags int64
420 Spare [4]int64
421 }
422
423 type TpacketHdr struct {
424 Status uint64
425 Len uint32
426 Snaplen uint32
427 Mac uint16
428 Net uint16
429 Sec uint32
430 Usec uint32
431 _ [4]byte
432 }
433
434 const (
435 SizeofTpacketHdr = 0x20
436 )
437
438 type RTCPLLInfo struct {
439 Ctrl int32
440 Value int32
441 Max int32
442 Min int32
443 Posmult int32
444 Negmult int32
445 Clock int64
446 }
447
448 type BlkpgPartition struct {
449 Start int64
450 Length int64
451 Pno int32
452 Devname [64]uint8
453 Volname [64]uint8
454 _ [4]byte
455 }
456
457 const (
458 BLKPG = 0x1269
459 )
460
461 type XDPUmemReg struct {
462 Addr uint64
463 Len uint64
464 Size uint32
465 Headroom uint32
466 Flags uint32
467 _ [4]byte
468 }
469
470 type CryptoUserAlg struct {
471 Name [64]int8
472 Driver_name [64]int8
473 Module_name [64]int8
474 Type uint32
475 Mask uint32
476 Refcnt uint32
477 Flags uint32
478 }
479
480 type CryptoStatAEAD struct {
481 Type [64]int8
482 Encrypt_cnt uint64
483 Encrypt_tlen uint64
484 Decrypt_cnt uint64
485 Decrypt_tlen uint64
486 Err_cnt uint64
487 }
488
489 type CryptoStatAKCipher struct {
490 Type [64]int8
491 Encrypt_cnt uint64
492 Encrypt_tlen uint64
493 Decrypt_cnt uint64
494 Decrypt_tlen uint64
495 Verify_cnt uint64
496 Sign_cnt uint64
497 Err_cnt uint64
498 }
499
500 type CryptoStatCipher struct {
501 Type [64]int8
502 Encrypt_cnt uint64
503 Encrypt_tlen uint64
504 Decrypt_cnt uint64
505 Decrypt_tlen uint64
506 Err_cnt uint64
507 }
508
509 type CryptoStatCompress struct {
510 Type [64]int8
511 Compress_cnt uint64
512 Compress_tlen uint64
513 Decompress_cnt uint64
514 Decompress_tlen uint64
515 Err_cnt uint64
516 }
517
518 type CryptoStatHash struct {
519 Type [64]int8
520 Hash_cnt uint64
521 Hash_tlen uint64
522 Err_cnt uint64
523 }
524
525 type CryptoStatKPP struct {
526 Type [64]int8
527 Setsecret_cnt uint64
528 Generate_public_key_cnt uint64
529 Compute_shared_secret_cnt uint64
530 Err_cnt uint64
531 }
532
533 type CryptoStatRNG struct {
534 Type [64]int8
535 Generate_cnt uint64
536 Generate_tlen uint64
537 Seed_cnt uint64
538 Err_cnt uint64
539 }
540
541 type CryptoStatLarval struct {
542 Type [64]int8
543 }
544
545 type CryptoReportLarval struct {
546 Type [64]int8
547 }
548
549 type CryptoReportHash struct {
550 Type [64]int8
551 Blocksize uint32
552 Digestsize uint32
553 }
554
555 type CryptoReportCipher struct {
556 Type [64]int8
557 Blocksize uint32
558 Min_keysize uint32
559 Max_keysize uint32
560 }
561
562 type CryptoReportBlkCipher struct {
563 Type [64]int8
564 Geniv [64]int8
565 Blocksize uint32
566 Min_keysize uint32
567 Max_keysize uint32
568 Ivsize uint32
569 }
570
571 type CryptoReportAEAD struct {
572 Type [64]int8
573 Geniv [64]int8
574 Blocksize uint32
575 Maxauthsize uint32
576 Ivsize uint32
577 }
578
579 type CryptoReportComp struct {
580 Type [64]int8
581 }
582
583 type CryptoReportRNG struct {
584 Type [64]int8
585 Seedsize uint32
586 }
587
588 type CryptoReportAKCipher struct {
589 Type [64]int8
590 }
591
592 type CryptoReportKPP struct {
593 Type [64]int8
594 }
595
596 type CryptoReportAcomp struct {
597 Type [64]int8
598 }
599
600 type LoopInfo struct {
601 Number int32
602 Device uint32
603 Inode uint64
604 Rdevice uint32
605 Offset int32
606 Encrypt_type int32
607 Encrypt_key_size int32
608 Flags int32
609 Name [64]int8
610 Encrypt_key [32]uint8
611 Init [2]uint64
612 Reserved [4]int8
613 _ [4]byte
614 }
615
616 type TIPCSubscr struct {
617 Seq TIPCServiceRange
618 Timeout uint32
619 Filter uint32
620 Handle [8]int8
621 }
622
623 type TIPCSIOCLNReq struct {
624 Peer uint32
625 Id uint32
626 Linkname [68]int8
627 }
628
629 type TIPCSIOCNodeIDReq struct {
630 Peer uint32
631 Id [16]int8
632 }
633
634 type PPSKInfo struct {
635 Assert_sequence uint32
636 Clear_sequence uint32
637 Assert_tu PPSKTime
638 Clear_tu PPSKTime
639 Current_mode int32
640 _ [4]byte
641 }
642
643 const (
644 PPS_GETPARAMS = 0x800870a1
645 PPS_SETPARAMS = 0x400870a2
646 PPS_GETCAP = 0x800870a3
647 PPS_FETCH = 0xc00870a4
648 )
649
650 const (
651 PIDFD_NONBLOCK = 0x800
652 )
653
654 type SysvIpcPerm struct {
655 Key int32
656 Uid uint32
657 Gid uint32
658 Cuid uint32
659 Cgid uint32
660 Mode uint32
661 _ [0]uint8
662 Seq uint16
663 _ uint16
664 _ uint64
665 _ uint64
666 }
667 type SysvShmDesc struct {
668 Perm SysvIpcPerm
669 Segsz uint64
670 Atime int64
671 Dtime int64
672 Ctime int64
673 Cpid int32
674 Lpid int32
675 Nattch uint64
676 _ uint64
677 _ uint64
678 }
236236 }
237237
238238 const (
239 OPEN_TREE_CLOEXEC = 0x80000
240 )
241
242 const (
239243 POLLRDHUP = 0x2000
240244 )
241245
244248 }
245249
246250 const _C__NSIG = 0x80
251
252 type Siginfo struct {
253 Signo int32
254 Code int32
255 Errno int32
256 _ [116]byte
257 }
247258
248259 type Termios struct {
249260 Iflag uint32
306317 Thrashing_count uint64
307318 Thrashing_delay_total uint64
308319 Ac_btime64 uint64
320 Compact_count uint64
321 Compact_delay_total uint64
309322 }
310323
311324 type cpuMask uint32
237237 }
238238
239239 const (
240 OPEN_TREE_CLOEXEC = 0x80000
241 )
242
243 const (
240244 POLLRDHUP = 0x2000
241245 )
242246
245249 }
246250
247251 const _C__NSIG = 0x80
252
253 type Siginfo struct {
254 Signo int32
255 Code int32
256 Errno int32
257 _ int32
258 _ [112]byte
259 }
248260
249261 type Termios struct {
250262 Iflag uint32
305317 Thrashing_count uint64
306318 Thrashing_delay_total uint64
307319 Ac_btime64 uint64
320 Compact_count uint64
321 Compact_delay_total uint64
308322 }
309323
310324 type cpuMask uint64
237237 }
238238
239239 const (
240 OPEN_TREE_CLOEXEC = 0x80000
241 )
242
243 const (
240244 POLLRDHUP = 0x2000
241245 )
242246
245249 }
246250
247251 const _C__NSIG = 0x80
252
253 type Siginfo struct {
254 Signo int32
255 Code int32
256 Errno int32
257 _ int32
258 _ [112]byte
259 }
248260
249261 type Termios struct {
250262 Iflag uint32
305317 Thrashing_count uint64
306318 Thrashing_delay_total uint64
307319 Ac_btime64 uint64
320 Compact_count uint64
321 Compact_delay_total uint64
308322 }
309323
310324 type cpuMask uint64
236236 }
237237
238238 const (
239 OPEN_TREE_CLOEXEC = 0x80000
240 )
241
242 const (
239243 POLLRDHUP = 0x2000
240244 )
241245
244248 }
245249
246250 const _C__NSIG = 0x80
251
252 type Siginfo struct {
253 Signo int32
254 Code int32
255 Errno int32
256 _ [116]byte
257 }
247258
248259 type Termios struct {
249260 Iflag uint32
306317 Thrashing_count uint64
307318 Thrashing_delay_total uint64
308319 Ac_btime64 uint64
320 Compact_count uint64
321 Compact_delay_total uint64
309322 }
310323
311324 type cpuMask uint32
243243 }
244244
245245 const (
246 OPEN_TREE_CLOEXEC = 0x80000
247 )
248
249 const (
246250 POLLRDHUP = 0x2000
247251 )
248252
251255 }
252256
253257 const _C__NSIG = 0x41
258
259 type Siginfo struct {
260 Signo int32
261 Errno int32
262 Code int32
263 _ [116]byte
264 }
254265
255266 type Termios struct {
256267 Iflag uint32
313324 Thrashing_count uint64
314325 Thrashing_delay_total uint64
315326 Ac_btime64 uint64
327 Compact_count uint64
328 Compact_delay_total uint64
316329 }
317330
318331 type cpuMask uint32
244244 }
245245
246246 const (
247 OPEN_TREE_CLOEXEC = 0x80000
248 )
249
250 const (
247251 POLLRDHUP = 0x2000
248252 )
249253
252256 }
253257
254258 const _C__NSIG = 0x41
259
260 type Siginfo struct {
261 Signo int32
262 Errno int32
263 Code int32
264 _ int32
265 _ [112]byte
266 }
255267
256268 type Termios struct {
257269 Iflag uint32
312324 Thrashing_count uint64
313325 Thrashing_delay_total uint64
314326 Ac_btime64 uint64
327 Compact_count uint64
328 Compact_delay_total uint64
315329 }
316330
317331 type cpuMask uint64
244244 }
245245
246246 const (
247 OPEN_TREE_CLOEXEC = 0x80000
248 )
249
250 const (
247251 POLLRDHUP = 0x2000
248252 )
249253
252256 }
253257
254258 const _C__NSIG = 0x41
259
260 type Siginfo struct {
261 Signo int32
262 Errno int32
263 Code int32
264 _ int32
265 _ [112]byte
266 }
255267
256268 type Termios struct {
257269 Iflag uint32
312324 Thrashing_count uint64
313325 Thrashing_delay_total uint64
314326 Ac_btime64 uint64
327 Compact_count uint64
328 Compact_delay_total uint64
315329 }
316330
317331 type cpuMask uint64
262262 }
263263
264264 const (
265 OPEN_TREE_CLOEXEC = 0x80000
266 )
267
268 const (
265269 POLLRDHUP = 0x2000
266270 )
267271
270274 }
271275
272276 const _C__NSIG = 0x41
277
278 type Siginfo struct {
279 Signo int32
280 Errno int32
281 Code int32
282 _ int32
283 _ [112]byte
284 }
273285
274286 type Termios struct {
275287 Iflag uint32
330342 Thrashing_count uint64
331343 Thrashing_delay_total uint64
332344 Ac_btime64 uint64
345 Compact_count uint64
346 Compact_delay_total uint64
333347 }
334348
335349 type cpuMask uint64
209209 }
210210
211211 type PtracePer struct {
212 _ [0]uint64
213 _ [32]byte
212 Control_regs [3]uint64
213 _ [8]byte
214214 Starting_addr uint64
215215 Ending_addr uint64
216216 Perc_atmid uint16
257257 }
258258
259259 const (
260 OPEN_TREE_CLOEXEC = 0x80000
261 )
262
263 const (
260264 POLLRDHUP = 0x2000
261265 )
262266
265269 }
266270
267271 const _C__NSIG = 0x41
272
273 type Siginfo struct {
274 Signo int32
275 Errno int32
276 Code int32
277 _ int32
278 _ [112]byte
279 }
268280
269281 type Termios struct {
270282 Iflag uint32
325337 Thrashing_count uint64
326338 Thrashing_delay_total uint64
327339 Ac_btime64 uint64
340 Compact_count uint64
341 Compact_delay_total uint64
328342 }
329343
330344 type cpuMask uint64
239239 }
240240
241241 const (
242 OPEN_TREE_CLOEXEC = 0x400000
243 )
244
245 const (
242246 POLLRDHUP = 0x800
243247 )
244248
247251 }
248252
249253 const _C__NSIG = 0x41
254
255 type Siginfo struct {
256 Signo int32
257 Errno int32
258 Code int32
259 _ int32
260 _ [112]byte
261 }
250262
251263 type Termios struct {
252264 Iflag uint32
307319 Thrashing_count uint64
308320 Thrashing_delay_total uint64
309321 Ac_btime64 uint64
322 Compact_count uint64
323 Compact_delay_total uint64
310324 }
311325
312326 type cpuMask uint64
99 errorspkg "errors"
1010 "fmt"
1111 "runtime"
12 "strings"
1213 "sync"
1314 "syscall"
1415 "time"
8586 // s, with a terminating NUL added. If s contains a NUL byte at any
8687 // location, it returns (nil, syscall.EINVAL).
8788 func UTF16FromString(s string) ([]uint16, error) {
88 for i := 0; i < len(s); i++ {
89 if s[i] == 0 {
90 return nil, syscall.EINVAL
91 }
89 if strings.IndexByte(s, 0) != -1 {
90 return nil, syscall.EINVAL
9291 }
9392 return utf16.Encode([]rune(s + "\x00")), nil
9493 }
185184 //sys GetNamedPipeInfo(pipe Handle, flags *uint32, outSize *uint32, inSize *uint32, maxInstances *uint32) (err error)
186185 //sys GetNamedPipeHandleState(pipe Handle, state *uint32, curInstances *uint32, maxCollectionCount *uint32, collectDataTimeout *uint32, userName *uint16, maxUserNameSize uint32) (err error) = GetNamedPipeHandleStateW
187186 //sys SetNamedPipeHandleState(pipe Handle, state *uint32, maxCollectionCount *uint32, collectDataTimeout *uint32) (err error) = SetNamedPipeHandleState
188 //sys ReadFile(handle Handle, buf []byte, done *uint32, overlapped *Overlapped) (err error)
189 //sys WriteFile(handle Handle, buf []byte, done *uint32, overlapped *Overlapped) (err error)
187 //sys readFile(handle Handle, buf []byte, done *uint32, overlapped *Overlapped) (err error) = ReadFile
188 //sys writeFile(handle Handle, buf []byte, done *uint32, overlapped *Overlapped) (err error) = WriteFile
190189 //sys GetOverlappedResult(handle Handle, overlapped *Overlapped, done *uint32, wait bool) (err error)
191190 //sys SetFilePointer(handle Handle, lowoffset int32, highoffsetptr *int32, whence uint32) (newlowoffset uint32, err error) [failretval==0xffffffff]
192191 //sys CloseHandle(handle Handle) (err error)
362361 //sys SetProcessWorkingSetSizeEx(hProcess Handle, dwMinimumWorkingSetSize uintptr, dwMaximumWorkingSetSize uintptr, flags uint32) (err error)
363362 //sys GetCommTimeouts(handle Handle, timeouts *CommTimeouts) (err error)
364363 //sys SetCommTimeouts(handle Handle, timeouts *CommTimeouts) (err error)
364 //sys GetActiveProcessorCount(groupNumber uint16) (ret uint32)
365 //sys GetMaximumProcessorCount(groupNumber uint16) (ret uint32)
365366
366367 // Volume Management Functions
367368 //sys DefineDosDevice(flags uint32, deviceName *uint16, targetPath *uint16) (err error) = DefineDosDeviceW
546547 }
547548 return 0, e
548549 }
549 if raceenabled {
550 if done > 0 {
551 raceWriteRange(unsafe.Pointer(&p[0]), int(done))
552 }
553 raceAcquire(unsafe.Pointer(&ioSync))
554 }
555550 return int(done), nil
556551 }
557552
564559 if e != nil {
565560 return 0, e
566561 }
567 if raceenabled && done > 0 {
568 raceReadRange(unsafe.Pointer(&p[0]), int(done))
569 }
570562 return int(done), nil
563 }
564
565 func ReadFile(fd Handle, p []byte, done *uint32, overlapped *Overlapped) error {
566 err := readFile(fd, p, done, overlapped)
567 if raceenabled {
568 if *done > 0 {
569 raceWriteRange(unsafe.Pointer(&p[0]), int(*done))
570 }
571 raceAcquire(unsafe.Pointer(&ioSync))
572 }
573 return err
574 }
575
576 func WriteFile(fd Handle, p []byte, done *uint32, overlapped *Overlapped) error {
577 if raceenabled {
578 raceReleaseMerge(unsafe.Pointer(&ioSync))
579 }
580 err := writeFile(fd, p, done, overlapped)
581 if raceenabled && *done > 0 {
582 raceReadRange(unsafe.Pointer(&p[0]), int(*done))
583 }
584 return err
571585 }
572586
573587 var ioSync int64
31713171 SizeOfImage uint32
31723172 EntryPoint uintptr
31733173 }
3174
3175 const ALL_PROCESSOR_GROUPS = 0xFFFF
225225 procFreeLibrary = modkernel32.NewProc("FreeLibrary")
226226 procGenerateConsoleCtrlEvent = modkernel32.NewProc("GenerateConsoleCtrlEvent")
227227 procGetACP = modkernel32.NewProc("GetACP")
228 procGetActiveProcessorCount = modkernel32.NewProc("GetActiveProcessorCount")
228229 procGetCommTimeouts = modkernel32.NewProc("GetCommTimeouts")
229230 procGetCommandLineW = modkernel32.NewProc("GetCommandLineW")
230231 procGetComputerNameExW = modkernel32.NewProc("GetComputerNameExW")
250251 procGetLogicalDriveStringsW = modkernel32.NewProc("GetLogicalDriveStringsW")
251252 procGetLogicalDrives = modkernel32.NewProc("GetLogicalDrives")
252253 procGetLongPathNameW = modkernel32.NewProc("GetLongPathNameW")
254 procGetMaximumProcessorCount = modkernel32.NewProc("GetMaximumProcessorCount")
253255 procGetModuleFileNameW = modkernel32.NewProc("GetModuleFileNameW")
254256 procGetModuleHandleExW = modkernel32.NewProc("GetModuleHandleExW")
255257 procGetNamedPipeHandleStateW = modkernel32.NewProc("GetNamedPipeHandleStateW")
19661968 return
19671969 }
19681970
1971 func GetActiveProcessorCount(groupNumber uint16) (ret uint32) {
1972 r0, _, _ := syscall.Syscall(procGetActiveProcessorCount.Addr(), 1, uintptr(groupNumber), 0, 0)
1973 ret = uint32(r0)
1974 return
1975 }
1976
19691977 func GetCommTimeouts(handle Handle, timeouts *CommTimeouts) (err error) {
19701978 r1, _, e1 := syscall.Syscall(procGetCommTimeouts.Addr(), 2, uintptr(handle), uintptr(unsafe.Pointer(timeouts)), 0)
19711979 if r1 == 0 {
21652173 if n == 0 {
21662174 err = errnoErr(e1)
21672175 }
2176 return
2177 }
2178
2179 func GetMaximumProcessorCount(groupNumber uint16) (ret uint32) {
2180 r0, _, _ := syscall.Syscall(procGetMaximumProcessorCount.Addr(), 1, uintptr(groupNumber), 0, 0)
2181 ret = uint32(r0)
21682182 return
21692183 }
21702184
27462760 return
27472761 }
27482762
2749 func ReadFile(handle Handle, buf []byte, done *uint32, overlapped *Overlapped) (err error) {
2763 func readFile(handle Handle, buf []byte, done *uint32, overlapped *Overlapped) (err error) {
27502764 var _p0 *byte
27512765 if len(buf) > 0 {
27522766 _p0 = &buf[0]
31883202 return
31893203 }
31903204
3191 func WriteFile(handle Handle, buf []byte, done *uint32, overlapped *Overlapped) (err error) {
3205 func writeFile(handle Handle, buf []byte, done *uint32, overlapped *Overlapped) (err error) {
31923206 var _p0 *byte
31933207 if len(buf) > 0 {
31943208 _p0 = &buf[0]