├── .github
└── workflows
│ ├── release.yml
│ └── test.yml
├── .gitignore
├── .goreleaser.yml
├── .idea
├── .gitignore
├── encodings.xml
├── misc.xml
├── modules.xml
├── server-go.iml
└── vcs.xml
├── .travis.yml.old
├── Dockerfile
├── LICENSE
├── README.md
├── cert
├── cert.pem
└── key.pem
├── config
├── config.go
└── const.go
├── go.mod
├── go.sum
├── iface
└── runtimeStorage
│ └── runtimeStorage.go
├── imp
└── runtimeStorage
│ ├── memImp
│ └── mem.go
│ └── redisImp
│ └── redis.go
├── main.go
├── main_test.go
├── manager
├── SessionsManager.go
├── check.go
├── connect.go
├── grpc.go
├── httpProxy.go
├── httpProxyStorage.go
├── listen.go
└── loadConfigFromIoTManager.go
├── scripts
├── delhistory.sh
├── entrypoint.sh
└── install_remove
│ ├── postinstall.sh
│ ├── postremove.sh
│ ├── preinstall.sh
│ └── preremove.sh
├── server-go.rb
├── server-go.yaml
├── session
└── Session.go
├── snap.login.enc
├── systemd
└── server-go.service
├── utils
└── string.go
└── vendor
├── github.com
├── OpenIoTHub
│ ├── getip
│ │ ├── LICENSE
│ │ └── iputils
│ │ │ └── utils.go
│ ├── openiothub_grpc_api
│ │ ├── LICENSE
│ │ └── pb-go
│ │ │ └── proto
│ │ │ ├── manager
│ │ │ ├── .gitkeep
│ │ │ ├── adminManager.pb.go
│ │ │ ├── adminManager_grpc.pb.go
│ │ │ ├── cnameManager.pb.go
│ │ │ ├── cnameManager_grpc.pb.go
│ │ │ ├── common.pb.go
│ │ │ ├── configManager.pb.go
│ │ │ ├── configManager_grpc.pb.go
│ │ │ ├── gatewayManager.pb.go
│ │ │ ├── gatewayManager_grpc.pb.go
│ │ │ ├── hostManager.pb.go
│ │ │ ├── hostManager_grpc.pb.go
│ │ │ ├── mqttDeviceManager.pb.go
│ │ │ ├── mqttDeviceManager_grpc.pb.go
│ │ │ ├── portManager.pb.go
│ │ │ ├── portManager_grpc.pb.go
│ │ │ ├── publicApi.pb.go
│ │ │ ├── publicApi_grpc.pb.go
│ │ │ ├── serverManager.pb.go
│ │ │ ├── serverManager_grpc.pb.go
│ │ │ ├── userManager.pb.go
│ │ │ └── userManager_grpc.pb.go
│ │ │ └── server
│ │ │ ├── .gitkeep
│ │ │ ├── server.pb.go
│ │ │ └── server_grpc.pb.go
│ └── utils
│ │ ├── LICENSE
│ │ ├── file
│ │ └── file.go
│ │ ├── io
│ │ ├── checkSession.go
│ │ └── join.go
│ │ ├── models
│ │ ├── config.go
│ │ ├── jwt.go
│ │ ├── msg.go
│ │ ├── permission.go
│ │ ├── service.go
│ │ └── uuidJwt.go
│ │ ├── msg
│ │ ├── pack.go
│ │ └── process.go
│ │ ├── net
│ │ ├── ip
│ │ │ ├── china_ip.go
│ │ │ └── ip.go
│ │ ├── kcp_api.go
│ │ ├── mac.go
│ │ ├── mdns.go
│ │ ├── mux.go
│ │ ├── port.go
│ │ └── udp_api.go
│ │ └── pool
│ │ ├── buf.go
│ │ └── snappy.go
├── cenkalti
│ └── backoff
│ │ ├── .gitignore
│ │ ├── .travis.yml
│ │ ├── LICENSE
│ │ ├── README.md
│ │ ├── backoff.go
│ │ ├── context.go
│ │ ├── exponential.go
│ │ ├── retry.go
│ │ ├── ticker.go
│ │ └── tries.go
├── cpuguy83
│ └── go-md2man
│ │ └── v2
│ │ ├── LICENSE.md
│ │ └── md2man
│ │ ├── md2man.go
│ │ └── roff.go
├── golang-jwt
│ └── jwt
│ │ ├── .gitignore
│ │ ├── LICENSE
│ │ ├── MIGRATION_GUIDE.md
│ │ ├── README.md
│ │ ├── VERSION_HISTORY.md
│ │ ├── claims.go
│ │ ├── doc.go
│ │ ├── ecdsa.go
│ │ ├── ecdsa_utils.go
│ │ ├── ed25519.go
│ │ ├── ed25519_utils.go
│ │ ├── errors.go
│ │ ├── hmac.go
│ │ ├── map_claims.go
│ │ ├── none.go
│ │ ├── parser.go
│ │ ├── rsa.go
│ │ ├── rsa_pss.go
│ │ ├── rsa_utils.go
│ │ ├── signing_method.go
│ │ └── token.go
├── golang
│ └── snappy
│ │ ├── .gitignore
│ │ ├── AUTHORS
│ │ ├── CONTRIBUTORS
│ │ ├── LICENSE
│ │ ├── README
│ │ ├── decode.go
│ │ ├── decode_amd64.s
│ │ ├── decode_arm64.s
│ │ ├── decode_asm.go
│ │ ├── decode_other.go
│ │ ├── encode.go
│ │ ├── encode_amd64.s
│ │ ├── encode_arm64.s
│ │ ├── encode_asm.go
│ │ ├── encode_other.go
│ │ └── snappy.go
├── gomodule
│ └── redigo
│ │ ├── LICENSE
│ │ ├── internal
│ │ └── commandinfo.go
│ │ └── redis
│ │ ├── conn.go
│ │ ├── doc.go
│ │ ├── go16.go
│ │ ├── go17.go
│ │ ├── go18.go
│ │ ├── log.go
│ │ ├── pool.go
│ │ ├── pool17.go
│ │ ├── pubsub.go
│ │ ├── redis.go
│ │ ├── reply.go
│ │ ├── scan.go
│ │ └── script.go
├── grandcat
│ └── zeroconf
│ │ ├── .gitignore
│ │ ├── .travis.yml
│ │ ├── LICENSE
│ │ ├── README.md
│ │ ├── client.go
│ │ ├── connection.go
│ │ ├── doc.go
│ │ ├── server.go
│ │ ├── service.go
│ │ └── utils.go
├── jacobsa
│ └── go-serial
│ │ ├── LICENSE
│ │ └── serial
│ │ ├── Makefile
│ │ ├── open_darwin.go
│ │ ├── open_freebsd.go
│ │ ├── open_linux.go
│ │ ├── open_windows.go
│ │ └── serial.go
├── klauspost
│ ├── cpuid
│ │ └── v2
│ │ │ ├── .gitignore
│ │ │ ├── .goreleaser.yml
│ │ │ ├── CONTRIBUTING.txt
│ │ │ ├── LICENSE
│ │ │ ├── README.md
│ │ │ ├── cpuid.go
│ │ │ ├── cpuid_386.s
│ │ │ ├── cpuid_amd64.s
│ │ │ ├── cpuid_arm64.s
│ │ │ ├── detect_arm64.go
│ │ │ ├── detect_ref.go
│ │ │ ├── detect_x86.go
│ │ │ ├── featureid_string.go
│ │ │ ├── os_darwin_arm64.go
│ │ │ ├── os_linux_arm64.go
│ │ │ ├── os_other_arm64.go
│ │ │ ├── os_safe_linux_arm64.go
│ │ │ ├── os_unsafe_linux_arm64.go
│ │ │ └── test-architectures.sh
│ └── reedsolomon
│ │ ├── .gitignore
│ │ ├── LICENSE
│ │ ├── README.md
│ │ ├── galois.go
│ │ ├── galois_amd64.go
│ │ ├── galois_amd64.s
│ │ ├── galois_arm64.go
│ │ ├── galois_arm64.s
│ │ ├── galois_gen_amd64.go
│ │ ├── galois_gen_amd64.s
│ │ ├── galois_gen_arm64.go
│ │ ├── galois_gen_arm64.s
│ │ ├── galois_gen_none.go
│ │ ├── galois_gen_nopshufb_amd64.go
│ │ ├── galois_gen_nopshufb_amd64.s
│ │ ├── galois_gen_switch_amd64.go
│ │ ├── galois_gen_switch_arm64.go
│ │ ├── galois_gen_switch_nopshufb_amd64.go
│ │ ├── galois_gen_switch_nopshufb_arm64.go
│ │ ├── galois_noasm.go
│ │ ├── galois_nopshufb_amd64.go
│ │ ├── galois_ppc64le.go
│ │ ├── galois_ppc64le.s
│ │ ├── inversion_tree.go
│ │ ├── leopard.go
│ │ ├── leopard8.go
│ │ ├── matrix.go
│ │ ├── options.go
│ │ ├── reedsolomon.go
│ │ ├── streaming.go
│ │ ├── unsafe.go
│ │ ├── unsafe_disabled.go
│ │ ├── xor_arm64.go
│ │ ├── xor_arm64.s
│ │ └── xor_noasm.go
├── libp2p
│ ├── go-buffer-pool
│ │ ├── LICENSE
│ │ ├── LICENSE-BSD
│ │ ├── README.md
│ │ ├── buffer.go
│ │ ├── codecov.yml
│ │ ├── pool.go
│ │ ├── version.json
│ │ └── writer.go
│ ├── go-msgio
│ │ ├── LICENSE
│ │ ├── README.md
│ │ ├── fuzz.go
│ │ ├── limit.go
│ │ ├── msgio.go
│ │ ├── num.go
│ │ ├── varint.go
│ │ └── version.json
│ └── go-yamux
│ │ ├── .gitignore
│ │ ├── .travis.yml
│ │ ├── LICENSE
│ │ ├── LICENSE-BSD
│ │ ├── README.md
│ │ ├── addr.go
│ │ ├── const.go
│ │ ├── deadline.go
│ │ ├── mux.go
│ │ ├── ping.go
│ │ ├── session.go
│ │ ├── spec.md
│ │ ├── stream.go
│ │ └── util.go
├── miekg
│ └── dns
│ │ ├── .codecov.yml
│ │ ├── .gitignore
│ │ ├── AUTHORS
│ │ ├── CODEOWNERS
│ │ ├── CONTRIBUTORS
│ │ ├── COPYRIGHT
│ │ ├── LICENSE
│ │ ├── Makefile.fuzz
│ │ ├── Makefile.release
│ │ ├── README.md
│ │ ├── acceptfunc.go
│ │ ├── client.go
│ │ ├── clientconfig.go
│ │ ├── dane.go
│ │ ├── defaults.go
│ │ ├── dns.go
│ │ ├── dnssec.go
│ │ ├── dnssec_keygen.go
│ │ ├── dnssec_keyscan.go
│ │ ├── dnssec_privkey.go
│ │ ├── doc.go
│ │ ├── duplicate.go
│ │ ├── edns.go
│ │ ├── format.go
│ │ ├── fuzz.go
│ │ ├── generate.go
│ │ ├── hash.go
│ │ ├── labels.go
│ │ ├── listen_no_reuseport.go
│ │ ├── listen_reuseport.go
│ │ ├── msg.go
│ │ ├── msg_helpers.go
│ │ ├── msg_truncate.go
│ │ ├── nsecx.go
│ │ ├── privaterr.go
│ │ ├── reverse.go
│ │ ├── sanitize.go
│ │ ├── scan.go
│ │ ├── scan_rr.go
│ │ ├── serve_mux.go
│ │ ├── server.go
│ │ ├── sig0.go
│ │ ├── smimea.go
│ │ ├── svcb.go
│ │ ├── tlsa.go
│ │ ├── tools.go
│ │ ├── tsig.go
│ │ ├── types.go
│ │ ├── udp.go
│ │ ├── udp_windows.go
│ │ ├── update.go
│ │ ├── version.go
│ │ ├── xfr.go
│ │ ├── zduplicate.go
│ │ ├── zmsg.go
│ │ └── ztypes.go
├── multiformats
│ └── go-varint
│ │ ├── LICENSE
│ │ ├── README.md
│ │ ├── codecov.yml
│ │ ├── varint.go
│ │ └── version.json
├── pkg
│ └── errors
│ │ ├── .gitignore
│ │ ├── .travis.yml
│ │ ├── LICENSE
│ │ ├── Makefile
│ │ ├── README.md
│ │ ├── appveyor.yml
│ │ ├── errors.go
│ │ ├── go113.go
│ │ └── stack.go
├── russross
│ └── blackfriday
│ │ └── v2
│ │ ├── .gitignore
│ │ ├── .travis.yml
│ │ ├── LICENSE.txt
│ │ ├── README.md
│ │ ├── block.go
│ │ ├── doc.go
│ │ ├── entities.go
│ │ ├── esc.go
│ │ ├── html.go
│ │ ├── inline.go
│ │ ├── markdown.go
│ │ ├── node.go
│ │ └── smartypants.go
├── satori
│ └── go.uuid
│ │ ├── .travis.yml
│ │ ├── LICENSE
│ │ ├── README.md
│ │ ├── codec.go
│ │ ├── generator.go
│ │ ├── sql.go
│ │ └── uuid.go
├── templexxx
│ ├── cpu
│ │ ├── .gitignore
│ │ ├── LICENSE
│ │ ├── README.md
│ │ ├── cpu.go
│ │ ├── cpu_386.go
│ │ ├── cpu_amd64.go
│ │ ├── cpu_amd64p32.go
│ │ ├── cpu_arm.go
│ │ ├── cpu_arm64.go
│ │ ├── cpu_loong64.go
│ │ ├── cpu_mips.go
│ │ ├── cpu_mips64.go
│ │ ├── cpu_mips64le.go
│ │ ├── cpu_mipsle.go
│ │ ├── cpu_no_init.go
│ │ ├── cpu_ppc64x.go
│ │ ├── cpu_riscv64.go
│ │ ├── cpu_s390x.go
│ │ ├── cpu_s390x.s
│ │ ├── cpu_wasm.go
│ │ ├── cpu_x86.go
│ │ └── cpu_x86.s
│ ├── cpufeat
│ │ ├── .gitignore
│ │ ├── LICENSE
│ │ ├── README.md
│ │ ├── cpu.go
│ │ ├── cpu_arm.go
│ │ ├── cpu_arm64.go
│ │ ├── cpu_mips.go
│ │ ├── cpu_mips64.go
│ │ ├── cpu_mips64le.go
│ │ ├── cpu_mipsle.go
│ │ ├── cpu_ppc64.go
│ │ ├── cpu_ppc64le.go
│ │ ├── cpu_s390x.go
│ │ ├── cpu_x86.go
│ │ └── cpu_x86.s
│ ├── xor
│ │ ├── .gitattributes
│ │ ├── .gitignore
│ │ ├── LICENSE
│ │ ├── README.md
│ │ ├── avx2_amd64.s
│ │ ├── nosimd.go
│ │ ├── sse2_amd64.s
│ │ ├── xor.go
│ │ ├── xor_amd64.go
│ │ └── xor_other.go
│ └── xorsimd
│ │ ├── .gitattributes
│ │ ├── .gitignore
│ │ ├── LICENSE
│ │ ├── README.md
│ │ ├── xor.go
│ │ ├── xor_amd64.go
│ │ ├── xor_generic.go
│ │ ├── xoravx2_amd64.s
│ │ ├── xoravx512_amd64.s
│ │ ├── xorbytes_amd64.s
│ │ └── xorsse2_amd64.s
├── tjfoc
│ └── gmsm
│ │ ├── LICENSE
│ │ └── sm4
│ │ ├── sm4.go
│ │ ├── sm4_gcm.go
│ │ └── utils.go
├── urfave
│ └── cli
│ │ └── v2
│ │ ├── .flake8
│ │ ├── .gitignore
│ │ ├── .golangci.yaml
│ │ ├── CODE_OF_CONDUCT.md
│ │ ├── LICENSE
│ │ ├── Makefile
│ │ ├── README.md
│ │ ├── app.go
│ │ ├── args.go
│ │ ├── category.go
│ │ ├── cli.go
│ │ ├── command.go
│ │ ├── context.go
│ │ ├── docs.go
│ │ ├── errors.go
│ │ ├── fish.go
│ │ ├── flag-spec.yaml
│ │ ├── flag.go
│ │ ├── flag_bool.go
│ │ ├── flag_duration.go
│ │ ├── flag_ext.go
│ │ ├── flag_float64.go
│ │ ├── flag_float64_slice.go
│ │ ├── flag_generic.go
│ │ ├── flag_int.go
│ │ ├── flag_int64.go
│ │ ├── flag_int64_slice.go
│ │ ├── flag_int_slice.go
│ │ ├── flag_path.go
│ │ ├── flag_string.go
│ │ ├── flag_string_slice.go
│ │ ├── flag_timestamp.go
│ │ ├── flag_uint.go
│ │ ├── flag_uint64.go
│ │ ├── flag_uint64_slice.go
│ │ ├── flag_uint_slice.go
│ │ ├── funcs.go
│ │ ├── godoc-current.txt
│ │ ├── help.go
│ │ ├── mkdocs-reqs.txt
│ │ ├── mkdocs.yml
│ │ ├── parse.go
│ │ ├── sliceflag.go
│ │ ├── sort.go
│ │ ├── suggestions.go
│ │ ├── template.go
│ │ └── zz_generated.flags.go
├── xrash
│ └── smetrics
│ │ ├── .travis.yml
│ │ ├── LICENSE
│ │ ├── README.md
│ │ ├── doc.go
│ │ ├── hamming.go
│ │ ├── jaro-winkler.go
│ │ ├── jaro.go
│ │ ├── soundex.go
│ │ ├── ukkonen.go
│ │ └── wagner-fischer.go
└── xtaci
│ └── kcp-go
│ ├── .gitignore
│ ├── .travis.yml
│ ├── LICENSE
│ ├── README.md
│ ├── batchconn.go
│ ├── crypt.go
│ ├── donate.png
│ ├── entropy.go
│ ├── fec.go
│ ├── flame.png
│ ├── frame.png
│ ├── kcp-go.png
│ ├── kcp.go
│ ├── readloop.go
│ ├── readloop_generic.go
│ ├── readloop_linux.go
│ ├── sess.go
│ ├── snmp.go
│ ├── tx.go
│ ├── tx_generic.go
│ ├── tx_linux.go
│ ├── v5
│ ├── .gitignore
│ ├── .travis.yml
│ ├── LICENSE
│ ├── README.md
│ ├── autotune.go
│ ├── batchconn.go
│ ├── crypt.go
│ ├── entropy.go
│ ├── fec.go
│ ├── kcp.go
│ ├── pkg.go
│ ├── readloop.go
│ ├── readloop_generic.go
│ ├── readloop_linux.go
│ ├── sess.go
│ ├── snmp.go
│ ├── timedsched.go
│ ├── tx.go
│ ├── tx_generic.go
│ └── tx_linux.go
│ └── wechat_donate.jpg
├── golang.org
└── x
│ ├── crypto
│ ├── LICENSE
│ ├── PATENTS
│ ├── acme
│ │ ├── acme.go
│ │ ├── autocert
│ │ │ ├── autocert.go
│ │ │ ├── cache.go
│ │ │ ├── listener.go
│ │ │ └── renewal.go
│ │ ├── http.go
│ │ ├── jws.go
│ │ ├── rfc8555.go
│ │ └── types.go
│ ├── blowfish
│ │ ├── block.go
│ │ ├── cipher.go
│ │ └── const.go
│ ├── cast5
│ │ └── cast5.go
│ ├── internal
│ │ └── alias
│ │ │ ├── alias.go
│ │ │ └── alias_purego.go
│ ├── pbkdf2
│ │ └── pbkdf2.go
│ ├── salsa20
│ │ ├── salsa
│ │ │ ├── hsalsa20.go
│ │ │ ├── salsa208.go
│ │ │ ├── salsa20_amd64.go
│ │ │ ├── salsa20_amd64.s
│ │ │ ├── salsa20_noasm.go
│ │ │ └── salsa20_ref.go
│ │ └── salsa20.go
│ ├── tea
│ │ └── cipher.go
│ ├── twofish
│ │ └── twofish.go
│ └── xtea
│ │ ├── block.go
│ │ └── cipher.go
│ ├── mod
│ ├── LICENSE
│ ├── PATENTS
│ └── semver
│ │ └── semver.go
│ ├── net
│ ├── LICENSE
│ ├── PATENTS
│ ├── bpf
│ │ ├── asm.go
│ │ ├── constants.go
│ │ ├── doc.go
│ │ ├── instructions.go
│ │ ├── setter.go
│ │ ├── vm.go
│ │ └── vm_instructions.go
│ ├── http
│ │ └── httpguts
│ │ │ ├── guts.go
│ │ │ └── httplex.go
│ ├── http2
│ │ ├── .gitignore
│ │ ├── ascii.go
│ │ ├── ciphers.go
│ │ ├── client_conn_pool.go
│ │ ├── databuffer.go
│ │ ├── errors.go
│ │ ├── flow.go
│ │ ├── frame.go
│ │ ├── gotrack.go
│ │ ├── headermap.go
│ │ ├── hpack
│ │ │ ├── encode.go
│ │ │ ├── hpack.go
│ │ │ ├── huffman.go
│ │ │ ├── static_table.go
│ │ │ └── tables.go
│ │ ├── http2.go
│ │ ├── pipe.go
│ │ ├── server.go
│ │ ├── timer.go
│ │ ├── transport.go
│ │ ├── write.go
│ │ ├── writesched.go
│ │ ├── writesched_priority.go
│ │ ├── writesched_random.go
│ │ └── writesched_roundrobin.go
│ ├── idna
│ │ ├── go118.go
│ │ ├── idna10.0.0.go
│ │ ├── idna9.0.0.go
│ │ ├── pre_go118.go
│ │ ├── punycode.go
│ │ ├── tables10.0.0.go
│ │ ├── tables11.0.0.go
│ │ ├── tables12.0.0.go
│ │ ├── tables13.0.0.go
│ │ ├── tables15.0.0.go
│ │ ├── tables9.0.0.go
│ │ ├── trie.go
│ │ ├── trie12.0.0.go
│ │ ├── trie13.0.0.go
│ │ └── trieval.go
│ ├── internal
│ │ ├── iana
│ │ │ └── const.go
│ │ ├── socket
│ │ │ ├── cmsghdr.go
│ │ │ ├── cmsghdr_bsd.go
│ │ │ ├── cmsghdr_linux_32bit.go
│ │ │ ├── cmsghdr_linux_64bit.go
│ │ │ ├── cmsghdr_solaris_64bit.go
│ │ │ ├── cmsghdr_stub.go
│ │ │ ├── cmsghdr_unix.go
│ │ │ ├── cmsghdr_zos_s390x.go
│ │ │ ├── complete_dontwait.go
│ │ │ ├── complete_nodontwait.go
│ │ │ ├── empty.s
│ │ │ ├── error_unix.go
│ │ │ ├── error_windows.go
│ │ │ ├── iovec_32bit.go
│ │ │ ├── iovec_64bit.go
│ │ │ ├── iovec_solaris_64bit.go
│ │ │ ├── iovec_stub.go
│ │ │ ├── mmsghdr_stub.go
│ │ │ ├── mmsghdr_unix.go
│ │ │ ├── msghdr_bsd.go
│ │ │ ├── msghdr_bsdvar.go
│ │ │ ├── msghdr_linux.go
│ │ │ ├── msghdr_linux_32bit.go
│ │ │ ├── msghdr_linux_64bit.go
│ │ │ ├── msghdr_openbsd.go
│ │ │ ├── msghdr_solaris_64bit.go
│ │ │ ├── msghdr_stub.go
│ │ │ ├── msghdr_zos_s390x.go
│ │ │ ├── norace.go
│ │ │ ├── race.go
│ │ │ ├── rawconn.go
│ │ │ ├── rawconn_mmsg.go
│ │ │ ├── rawconn_msg.go
│ │ │ ├── rawconn_nommsg.go
│ │ │ ├── rawconn_nomsg.go
│ │ │ ├── socket.go
│ │ │ ├── sys.go
│ │ │ ├── sys_bsd.go
│ │ │ ├── sys_const_unix.go
│ │ │ ├── sys_linux.go
│ │ │ ├── sys_linux_386.go
│ │ │ ├── sys_linux_386.s
│ │ │ ├── sys_linux_amd64.go
│ │ │ ├── sys_linux_arm.go
│ │ │ ├── sys_linux_arm64.go
│ │ │ ├── sys_linux_loong64.go
│ │ │ ├── sys_linux_mips.go
│ │ │ ├── sys_linux_mips64.go
│ │ │ ├── sys_linux_mips64le.go
│ │ │ ├── sys_linux_mipsle.go
│ │ │ ├── sys_linux_ppc.go
│ │ │ ├── sys_linux_ppc64.go
│ │ │ ├── sys_linux_ppc64le.go
│ │ │ ├── sys_linux_riscv64.go
│ │ │ ├── sys_linux_s390x.go
│ │ │ ├── sys_linux_s390x.s
│ │ │ ├── sys_netbsd.go
│ │ │ ├── sys_posix.go
│ │ │ ├── sys_stub.go
│ │ │ ├── sys_unix.go
│ │ │ ├── sys_windows.go
│ │ │ ├── sys_zos_s390x.go
│ │ │ ├── sys_zos_s390x.s
│ │ │ ├── zsys_aix_ppc64.go
│ │ │ ├── zsys_darwin_amd64.go
│ │ │ ├── zsys_darwin_arm64.go
│ │ │ ├── zsys_dragonfly_amd64.go
│ │ │ ├── zsys_freebsd_386.go
│ │ │ ├── zsys_freebsd_amd64.go
│ │ │ ├── zsys_freebsd_arm.go
│ │ │ ├── zsys_freebsd_arm64.go
│ │ │ ├── zsys_freebsd_riscv64.go
│ │ │ ├── zsys_linux_386.go
│ │ │ ├── zsys_linux_amd64.go
│ │ │ ├── zsys_linux_arm.go
│ │ │ ├── zsys_linux_arm64.go
│ │ │ ├── zsys_linux_loong64.go
│ │ │ ├── zsys_linux_mips.go
│ │ │ ├── zsys_linux_mips64.go
│ │ │ ├── zsys_linux_mips64le.go
│ │ │ ├── zsys_linux_mipsle.go
│ │ │ ├── zsys_linux_ppc.go
│ │ │ ├── zsys_linux_ppc64.go
│ │ │ ├── zsys_linux_ppc64le.go
│ │ │ ├── zsys_linux_riscv64.go
│ │ │ ├── zsys_linux_s390x.go
│ │ │ ├── zsys_netbsd_386.go
│ │ │ ├── zsys_netbsd_amd64.go
│ │ │ ├── zsys_netbsd_arm.go
│ │ │ ├── zsys_netbsd_arm64.go
│ │ │ ├── zsys_openbsd_386.go
│ │ │ ├── zsys_openbsd_amd64.go
│ │ │ ├── zsys_openbsd_arm.go
│ │ │ ├── zsys_openbsd_arm64.go
│ │ │ ├── zsys_openbsd_mips64.go
│ │ │ ├── zsys_openbsd_ppc64.go
│ │ │ ├── zsys_openbsd_riscv64.go
│ │ │ ├── zsys_solaris_amd64.go
│ │ │ └── zsys_zos_s390x.go
│ │ └── timeseries
│ │ │ └── timeseries.go
│ ├── ipv4
│ │ ├── batch.go
│ │ ├── control.go
│ │ ├── control_bsd.go
│ │ ├── control_pktinfo.go
│ │ ├── control_stub.go
│ │ ├── control_unix.go
│ │ ├── control_windows.go
│ │ ├── control_zos.go
│ │ ├── dgramopt.go
│ │ ├── doc.go
│ │ ├── endpoint.go
│ │ ├── genericopt.go
│ │ ├── header.go
│ │ ├── helper.go
│ │ ├── iana.go
│ │ ├── icmp.go
│ │ ├── icmp_linux.go
│ │ ├── icmp_stub.go
│ │ ├── packet.go
│ │ ├── payload.go
│ │ ├── payload_cmsg.go
│ │ ├── payload_nocmsg.go
│ │ ├── sockopt.go
│ │ ├── sockopt_posix.go
│ │ ├── sockopt_stub.go
│ │ ├── sys_aix.go
│ │ ├── sys_asmreq.go
│ │ ├── sys_asmreq_stub.go
│ │ ├── sys_asmreqn.go
│ │ ├── sys_asmreqn_stub.go
│ │ ├── sys_bpf.go
│ │ ├── sys_bpf_stub.go
│ │ ├── sys_bsd.go
│ │ ├── sys_darwin.go
│ │ ├── sys_dragonfly.go
│ │ ├── sys_freebsd.go
│ │ ├── sys_linux.go
│ │ ├── sys_solaris.go
│ │ ├── sys_ssmreq.go
│ │ ├── sys_ssmreq_stub.go
│ │ ├── sys_stub.go
│ │ ├── sys_windows.go
│ │ ├── sys_zos.go
│ │ ├── zsys_aix_ppc64.go
│ │ ├── zsys_darwin.go
│ │ ├── zsys_dragonfly.go
│ │ ├── zsys_freebsd_386.go
│ │ ├── zsys_freebsd_amd64.go
│ │ ├── zsys_freebsd_arm.go
│ │ ├── zsys_freebsd_arm64.go
│ │ ├── zsys_freebsd_riscv64.go
│ │ ├── zsys_linux_386.go
│ │ ├── zsys_linux_amd64.go
│ │ ├── zsys_linux_arm.go
│ │ ├── zsys_linux_arm64.go
│ │ ├── zsys_linux_loong64.go
│ │ ├── zsys_linux_mips.go
│ │ ├── zsys_linux_mips64.go
│ │ ├── zsys_linux_mips64le.go
│ │ ├── zsys_linux_mipsle.go
│ │ ├── zsys_linux_ppc.go
│ │ ├── zsys_linux_ppc64.go
│ │ ├── zsys_linux_ppc64le.go
│ │ ├── zsys_linux_riscv64.go
│ │ ├── zsys_linux_s390x.go
│ │ ├── zsys_netbsd.go
│ │ ├── zsys_openbsd.go
│ │ ├── zsys_solaris.go
│ │ └── zsys_zos_s390x.go
│ ├── ipv6
│ │ ├── batch.go
│ │ ├── control.go
│ │ ├── control_rfc2292_unix.go
│ │ ├── control_rfc3542_unix.go
│ │ ├── control_stub.go
│ │ ├── control_unix.go
│ │ ├── control_windows.go
│ │ ├── dgramopt.go
│ │ ├── doc.go
│ │ ├── endpoint.go
│ │ ├── genericopt.go
│ │ ├── header.go
│ │ ├── helper.go
│ │ ├── iana.go
│ │ ├── icmp.go
│ │ ├── icmp_bsd.go
│ │ ├── icmp_linux.go
│ │ ├── icmp_solaris.go
│ │ ├── icmp_stub.go
│ │ ├── icmp_windows.go
│ │ ├── icmp_zos.go
│ │ ├── payload.go
│ │ ├── payload_cmsg.go
│ │ ├── payload_nocmsg.go
│ │ ├── sockopt.go
│ │ ├── sockopt_posix.go
│ │ ├── sockopt_stub.go
│ │ ├── sys_aix.go
│ │ ├── sys_asmreq.go
│ │ ├── sys_asmreq_stub.go
│ │ ├── sys_bpf.go
│ │ ├── sys_bpf_stub.go
│ │ ├── sys_bsd.go
│ │ ├── sys_darwin.go
│ │ ├── sys_freebsd.go
│ │ ├── sys_linux.go
│ │ ├── sys_solaris.go
│ │ ├── sys_ssmreq.go
│ │ ├── sys_ssmreq_stub.go
│ │ ├── sys_stub.go
│ │ ├── sys_windows.go
│ │ ├── sys_zos.go
│ │ ├── zsys_aix_ppc64.go
│ │ ├── zsys_darwin.go
│ │ ├── zsys_dragonfly.go
│ │ ├── zsys_freebsd_386.go
│ │ ├── zsys_freebsd_amd64.go
│ │ ├── zsys_freebsd_arm.go
│ │ ├── zsys_freebsd_arm64.go
│ │ ├── zsys_freebsd_riscv64.go
│ │ ├── zsys_linux_386.go
│ │ ├── zsys_linux_amd64.go
│ │ ├── zsys_linux_arm.go
│ │ ├── zsys_linux_arm64.go
│ │ ├── zsys_linux_loong64.go
│ │ ├── zsys_linux_mips.go
│ │ ├── zsys_linux_mips64.go
│ │ ├── zsys_linux_mips64le.go
│ │ ├── zsys_linux_mipsle.go
│ │ ├── zsys_linux_ppc.go
│ │ ├── zsys_linux_ppc64.go
│ │ ├── zsys_linux_ppc64le.go
│ │ ├── zsys_linux_riscv64.go
│ │ ├── zsys_linux_s390x.go
│ │ ├── zsys_netbsd.go
│ │ ├── zsys_openbsd.go
│ │ ├── zsys_solaris.go
│ │ └── zsys_zos_s390x.go
│ ├── trace
│ │ ├── events.go
│ │ ├── histogram.go
│ │ └── trace.go
│ └── websocket
│ │ ├── client.go
│ │ ├── dial.go
│ │ ├── hybi.go
│ │ ├── server.go
│ │ └── websocket.go
│ ├── sync
│ ├── LICENSE
│ ├── PATENTS
│ └── errgroup
│ │ ├── errgroup.go
│ │ ├── go120.go
│ │ └── pre_go120.go
│ ├── sys
│ ├── LICENSE
│ ├── PATENTS
│ ├── unix
│ │ ├── .gitignore
│ │ ├── README.md
│ │ ├── affinity_linux.go
│ │ ├── aliases.go
│ │ ├── asm_aix_ppc64.s
│ │ ├── asm_bsd_386.s
│ │ ├── asm_bsd_amd64.s
│ │ ├── asm_bsd_arm.s
│ │ ├── asm_bsd_arm64.s
│ │ ├── asm_bsd_ppc64.s
│ │ ├── asm_bsd_riscv64.s
│ │ ├── asm_linux_386.s
│ │ ├── asm_linux_amd64.s
│ │ ├── asm_linux_arm.s
│ │ ├── asm_linux_arm64.s
│ │ ├── asm_linux_loong64.s
│ │ ├── asm_linux_mips64x.s
│ │ ├── asm_linux_mipsx.s
│ │ ├── asm_linux_ppc64x.s
│ │ ├── asm_linux_riscv64.s
│ │ ├── asm_linux_s390x.s
│ │ ├── asm_openbsd_mips64.s
│ │ ├── asm_solaris_amd64.s
│ │ ├── asm_zos_s390x.s
│ │ ├── bluetooth_linux.go
│ │ ├── bpxsvc_zos.go
│ │ ├── bpxsvc_zos.s
│ │ ├── cap_freebsd.go
│ │ ├── constants.go
│ │ ├── dev_aix_ppc.go
│ │ ├── dev_aix_ppc64.go
│ │ ├── dev_darwin.go
│ │ ├── dev_dragonfly.go
│ │ ├── dev_freebsd.go
│ │ ├── dev_linux.go
│ │ ├── dev_netbsd.go
│ │ ├── dev_openbsd.go
│ │ ├── dev_zos.go
│ │ ├── dirent.go
│ │ ├── endian_big.go
│ │ ├── endian_little.go
│ │ ├── env_unix.go
│ │ ├── fcntl.go
│ │ ├── fcntl_darwin.go
│ │ ├── fcntl_linux_32bit.go
│ │ ├── fdset.go
│ │ ├── gccgo.go
│ │ ├── gccgo_c.c
│ │ ├── gccgo_linux_amd64.go
│ │ ├── ifreq_linux.go
│ │ ├── ioctl_linux.go
│ │ ├── ioctl_signed.go
│ │ ├── ioctl_unsigned.go
│ │ ├── ioctl_zos.go
│ │ ├── mkall.sh
│ │ ├── mkerrors.sh
│ │ ├── mmap_nomremap.go
│ │ ├── mremap.go
│ │ ├── pagesize_unix.go
│ │ ├── pledge_openbsd.go
│ │ ├── ptrace_darwin.go
│ │ ├── ptrace_ios.go
│ │ ├── race.go
│ │ ├── race0.go
│ │ ├── readdirent_getdents.go
│ │ ├── readdirent_getdirentries.go
│ │ ├── sockcmsg_dragonfly.go
│ │ ├── sockcmsg_linux.go
│ │ ├── sockcmsg_unix.go
│ │ ├── sockcmsg_unix_other.go
│ │ ├── sockcmsg_zos.go
│ │ ├── symaddr_zos_s390x.s
│ │ ├── syscall.go
│ │ ├── syscall_aix.go
│ │ ├── syscall_aix_ppc.go
│ │ ├── syscall_aix_ppc64.go
│ │ ├── syscall_bsd.go
│ │ ├── syscall_darwin.go
│ │ ├── syscall_darwin_amd64.go
│ │ ├── syscall_darwin_arm64.go
│ │ ├── syscall_darwin_libSystem.go
│ │ ├── syscall_dragonfly.go
│ │ ├── syscall_dragonfly_amd64.go
│ │ ├── syscall_freebsd.go
│ │ ├── syscall_freebsd_386.go
│ │ ├── syscall_freebsd_amd64.go
│ │ ├── syscall_freebsd_arm.go
│ │ ├── syscall_freebsd_arm64.go
│ │ ├── syscall_freebsd_riscv64.go
│ │ ├── syscall_hurd.go
│ │ ├── syscall_hurd_386.go
│ │ ├── syscall_illumos.go
│ │ ├── syscall_linux.go
│ │ ├── syscall_linux_386.go
│ │ ├── syscall_linux_alarm.go
│ │ ├── syscall_linux_amd64.go
│ │ ├── syscall_linux_amd64_gc.go
│ │ ├── syscall_linux_arm.go
│ │ ├── syscall_linux_arm64.go
│ │ ├── syscall_linux_gc.go
│ │ ├── syscall_linux_gc_386.go
│ │ ├── syscall_linux_gc_arm.go
│ │ ├── syscall_linux_gccgo_386.go
│ │ ├── syscall_linux_gccgo_arm.go
│ │ ├── syscall_linux_loong64.go
│ │ ├── syscall_linux_mips64x.go
│ │ ├── syscall_linux_mipsx.go
│ │ ├── syscall_linux_ppc.go
│ │ ├── syscall_linux_ppc64x.go
│ │ ├── syscall_linux_riscv64.go
│ │ ├── syscall_linux_s390x.go
│ │ ├── syscall_linux_sparc64.go
│ │ ├── syscall_netbsd.go
│ │ ├── syscall_netbsd_386.go
│ │ ├── syscall_netbsd_amd64.go
│ │ ├── syscall_netbsd_arm.go
│ │ ├── syscall_netbsd_arm64.go
│ │ ├── syscall_openbsd.go
│ │ ├── syscall_openbsd_386.go
│ │ ├── syscall_openbsd_amd64.go
│ │ ├── syscall_openbsd_arm.go
│ │ ├── syscall_openbsd_arm64.go
│ │ ├── syscall_openbsd_libc.go
│ │ ├── syscall_openbsd_mips64.go
│ │ ├── syscall_openbsd_ppc64.go
│ │ ├── syscall_openbsd_riscv64.go
│ │ ├── syscall_solaris.go
│ │ ├── syscall_solaris_amd64.go
│ │ ├── syscall_unix.go
│ │ ├── syscall_unix_gc.go
│ │ ├── syscall_unix_gc_ppc64x.go
│ │ ├── syscall_zos_s390x.go
│ │ ├── sysvshm_linux.go
│ │ ├── sysvshm_unix.go
│ │ ├── sysvshm_unix_other.go
│ │ ├── timestruct.go
│ │ ├── unveil_openbsd.go
│ │ ├── xattr_bsd.go
│ │ ├── zerrors_aix_ppc.go
│ │ ├── zerrors_aix_ppc64.go
│ │ ├── zerrors_darwin_amd64.go
│ │ ├── zerrors_darwin_arm64.go
│ │ ├── zerrors_dragonfly_amd64.go
│ │ ├── zerrors_freebsd_386.go
│ │ ├── zerrors_freebsd_amd64.go
│ │ ├── zerrors_freebsd_arm.go
│ │ ├── zerrors_freebsd_arm64.go
│ │ ├── zerrors_freebsd_riscv64.go
│ │ ├── zerrors_linux.go
│ │ ├── zerrors_linux_386.go
│ │ ├── zerrors_linux_amd64.go
│ │ ├── zerrors_linux_arm.go
│ │ ├── zerrors_linux_arm64.go
│ │ ├── zerrors_linux_loong64.go
│ │ ├── zerrors_linux_mips.go
│ │ ├── zerrors_linux_mips64.go
│ │ ├── zerrors_linux_mips64le.go
│ │ ├── zerrors_linux_mipsle.go
│ │ ├── zerrors_linux_ppc.go
│ │ ├── zerrors_linux_ppc64.go
│ │ ├── zerrors_linux_ppc64le.go
│ │ ├── zerrors_linux_riscv64.go
│ │ ├── zerrors_linux_s390x.go
│ │ ├── zerrors_linux_sparc64.go
│ │ ├── zerrors_netbsd_386.go
│ │ ├── zerrors_netbsd_amd64.go
│ │ ├── zerrors_netbsd_arm.go
│ │ ├── zerrors_netbsd_arm64.go
│ │ ├── zerrors_openbsd_386.go
│ │ ├── zerrors_openbsd_amd64.go
│ │ ├── zerrors_openbsd_arm.go
│ │ ├── zerrors_openbsd_arm64.go
│ │ ├── zerrors_openbsd_mips64.go
│ │ ├── zerrors_openbsd_ppc64.go
│ │ ├── zerrors_openbsd_riscv64.go
│ │ ├── zerrors_solaris_amd64.go
│ │ ├── zerrors_zos_s390x.go
│ │ ├── zptrace_armnn_linux.go
│ │ ├── zptrace_linux_arm64.go
│ │ ├── zptrace_mipsnn_linux.go
│ │ ├── zptrace_mipsnnle_linux.go
│ │ ├── zptrace_x86_linux.go
│ │ ├── zsymaddr_zos_s390x.s
│ │ ├── zsyscall_aix_ppc.go
│ │ ├── zsyscall_aix_ppc64.go
│ │ ├── zsyscall_aix_ppc64_gc.go
│ │ ├── zsyscall_aix_ppc64_gccgo.go
│ │ ├── zsyscall_darwin_amd64.go
│ │ ├── zsyscall_darwin_amd64.s
│ │ ├── zsyscall_darwin_arm64.go
│ │ ├── zsyscall_darwin_arm64.s
│ │ ├── zsyscall_dragonfly_amd64.go
│ │ ├── zsyscall_freebsd_386.go
│ │ ├── zsyscall_freebsd_amd64.go
│ │ ├── zsyscall_freebsd_arm.go
│ │ ├── zsyscall_freebsd_arm64.go
│ │ ├── zsyscall_freebsd_riscv64.go
│ │ ├── zsyscall_illumos_amd64.go
│ │ ├── zsyscall_linux.go
│ │ ├── zsyscall_linux_386.go
│ │ ├── zsyscall_linux_amd64.go
│ │ ├── zsyscall_linux_arm.go
│ │ ├── zsyscall_linux_arm64.go
│ │ ├── zsyscall_linux_loong64.go
│ │ ├── zsyscall_linux_mips.go
│ │ ├── zsyscall_linux_mips64.go
│ │ ├── zsyscall_linux_mips64le.go
│ │ ├── zsyscall_linux_mipsle.go
│ │ ├── zsyscall_linux_ppc.go
│ │ ├── zsyscall_linux_ppc64.go
│ │ ├── zsyscall_linux_ppc64le.go
│ │ ├── zsyscall_linux_riscv64.go
│ │ ├── zsyscall_linux_s390x.go
│ │ ├── zsyscall_linux_sparc64.go
│ │ ├── zsyscall_netbsd_386.go
│ │ ├── zsyscall_netbsd_amd64.go
│ │ ├── zsyscall_netbsd_arm.go
│ │ ├── zsyscall_netbsd_arm64.go
│ │ ├── zsyscall_openbsd_386.go
│ │ ├── zsyscall_openbsd_386.s
│ │ ├── zsyscall_openbsd_amd64.go
│ │ ├── zsyscall_openbsd_amd64.s
│ │ ├── zsyscall_openbsd_arm.go
│ │ ├── zsyscall_openbsd_arm.s
│ │ ├── zsyscall_openbsd_arm64.go
│ │ ├── zsyscall_openbsd_arm64.s
│ │ ├── zsyscall_openbsd_mips64.go
│ │ ├── zsyscall_openbsd_mips64.s
│ │ ├── zsyscall_openbsd_ppc64.go
│ │ ├── zsyscall_openbsd_ppc64.s
│ │ ├── zsyscall_openbsd_riscv64.go
│ │ ├── zsyscall_openbsd_riscv64.s
│ │ ├── zsyscall_solaris_amd64.go
│ │ ├── zsyscall_zos_s390x.go
│ │ ├── zsysctl_openbsd_386.go
│ │ ├── zsysctl_openbsd_amd64.go
│ │ ├── zsysctl_openbsd_arm.go
│ │ ├── zsysctl_openbsd_arm64.go
│ │ ├── zsysctl_openbsd_mips64.go
│ │ ├── zsysctl_openbsd_ppc64.go
│ │ ├── zsysctl_openbsd_riscv64.go
│ │ ├── zsysnum_darwin_amd64.go
│ │ ├── zsysnum_darwin_arm64.go
│ │ ├── zsysnum_dragonfly_amd64.go
│ │ ├── zsysnum_freebsd_386.go
│ │ ├── zsysnum_freebsd_amd64.go
│ │ ├── zsysnum_freebsd_arm.go
│ │ ├── zsysnum_freebsd_arm64.go
│ │ ├── zsysnum_freebsd_riscv64.go
│ │ ├── zsysnum_linux_386.go
│ │ ├── zsysnum_linux_amd64.go
│ │ ├── zsysnum_linux_arm.go
│ │ ├── zsysnum_linux_arm64.go
│ │ ├── zsysnum_linux_loong64.go
│ │ ├── zsysnum_linux_mips.go
│ │ ├── zsysnum_linux_mips64.go
│ │ ├── zsysnum_linux_mips64le.go
│ │ ├── zsysnum_linux_mipsle.go
│ │ ├── zsysnum_linux_ppc.go
│ │ ├── zsysnum_linux_ppc64.go
│ │ ├── zsysnum_linux_ppc64le.go
│ │ ├── zsysnum_linux_riscv64.go
│ │ ├── zsysnum_linux_s390x.go
│ │ ├── zsysnum_linux_sparc64.go
│ │ ├── zsysnum_netbsd_386.go
│ │ ├── zsysnum_netbsd_amd64.go
│ │ ├── zsysnum_netbsd_arm.go
│ │ ├── zsysnum_netbsd_arm64.go
│ │ ├── zsysnum_openbsd_386.go
│ │ ├── zsysnum_openbsd_amd64.go
│ │ ├── zsysnum_openbsd_arm.go
│ │ ├── zsysnum_openbsd_arm64.go
│ │ ├── zsysnum_openbsd_mips64.go
│ │ ├── zsysnum_openbsd_ppc64.go
│ │ ├── zsysnum_openbsd_riscv64.go
│ │ ├── zsysnum_zos_s390x.go
│ │ ├── ztypes_aix_ppc.go
│ │ ├── ztypes_aix_ppc64.go
│ │ ├── ztypes_darwin_amd64.go
│ │ ├── ztypes_darwin_arm64.go
│ │ ├── ztypes_dragonfly_amd64.go
│ │ ├── ztypes_freebsd_386.go
│ │ ├── ztypes_freebsd_amd64.go
│ │ ├── ztypes_freebsd_arm.go
│ │ ├── ztypes_freebsd_arm64.go
│ │ ├── ztypes_freebsd_riscv64.go
│ │ ├── ztypes_linux.go
│ │ ├── ztypes_linux_386.go
│ │ ├── ztypes_linux_amd64.go
│ │ ├── ztypes_linux_arm.go
│ │ ├── ztypes_linux_arm64.go
│ │ ├── ztypes_linux_loong64.go
│ │ ├── ztypes_linux_mips.go
│ │ ├── ztypes_linux_mips64.go
│ │ ├── ztypes_linux_mips64le.go
│ │ ├── ztypes_linux_mipsle.go
│ │ ├── ztypes_linux_ppc.go
│ │ ├── ztypes_linux_ppc64.go
│ │ ├── ztypes_linux_ppc64le.go
│ │ ├── ztypes_linux_riscv64.go
│ │ ├── ztypes_linux_s390x.go
│ │ ├── ztypes_linux_sparc64.go
│ │ ├── ztypes_netbsd_386.go
│ │ ├── ztypes_netbsd_amd64.go
│ │ ├── ztypes_netbsd_arm.go
│ │ ├── ztypes_netbsd_arm64.go
│ │ ├── ztypes_openbsd_386.go
│ │ ├── ztypes_openbsd_amd64.go
│ │ ├── ztypes_openbsd_arm.go
│ │ ├── ztypes_openbsd_arm64.go
│ │ ├── ztypes_openbsd_mips64.go
│ │ ├── ztypes_openbsd_ppc64.go
│ │ ├── ztypes_openbsd_riscv64.go
│ │ ├── ztypes_solaris_amd64.go
│ │ └── ztypes_zos_s390x.go
│ └── windows
│ │ ├── aliases.go
│ │ ├── dll_windows.go
│ │ ├── env_windows.go
│ │ ├── eventlog.go
│ │ ├── exec_windows.go
│ │ ├── memory_windows.go
│ │ ├── mkerrors.bash
│ │ ├── mkknownfolderids.bash
│ │ ├── mksyscall.go
│ │ ├── race.go
│ │ ├── race0.go
│ │ ├── security_windows.go
│ │ ├── service.go
│ │ ├── setupapi_windows.go
│ │ ├── str.go
│ │ ├── syscall.go
│ │ ├── syscall_windows.go
│ │ ├── types_windows.go
│ │ ├── types_windows_386.go
│ │ ├── types_windows_amd64.go
│ │ ├── types_windows_arm.go
│ │ ├── types_windows_arm64.go
│ │ ├── zerrors_windows.go
│ │ ├── zknownfolderids_windows.go
│ │ └── zsyscall_windows.go
│ ├── text
│ ├── LICENSE
│ ├── PATENTS
│ ├── secure
│ │ └── bidirule
│ │ │ ├── bidirule.go
│ │ │ ├── bidirule10.0.0.go
│ │ │ └── bidirule9.0.0.go
│ ├── transform
│ │ └── transform.go
│ └── unicode
│ │ ├── bidi
│ │ ├── bidi.go
│ │ ├── bracket.go
│ │ ├── core.go
│ │ ├── prop.go
│ │ ├── tables10.0.0.go
│ │ ├── tables11.0.0.go
│ │ ├── tables12.0.0.go
│ │ ├── tables13.0.0.go
│ │ ├── tables15.0.0.go
│ │ ├── tables9.0.0.go
│ │ └── trieval.go
│ │ └── norm
│ │ ├── composition.go
│ │ ├── forminfo.go
│ │ ├── input.go
│ │ ├── iter.go
│ │ ├── normalize.go
│ │ ├── readwriter.go
│ │ ├── tables10.0.0.go
│ │ ├── tables11.0.0.go
│ │ ├── tables12.0.0.go
│ │ ├── tables13.0.0.go
│ │ ├── tables15.0.0.go
│ │ ├── tables9.0.0.go
│ │ ├── transform.go
│ │ └── trie.go
│ └── tools
│ ├── LICENSE
│ ├── PATENTS
│ ├── go
│ ├── gcexportdata
│ │ ├── gcexportdata.go
│ │ └── importer.go
│ ├── packages
│ │ ├── doc.go
│ │ ├── external.go
│ │ ├── golist.go
│ │ ├── golist_overlay.go
│ │ ├── loadmode_string.go
│ │ ├── packages.go
│ │ └── visit.go
│ └── types
│ │ └── objectpath
│ │ └── objectpath.go
│ └── internal
│ ├── aliases
│ ├── aliases.go
│ ├── aliases_go121.go
│ └── aliases_go122.go
│ ├── event
│ ├── core
│ │ ├── event.go
│ │ ├── export.go
│ │ └── fast.go
│ ├── doc.go
│ ├── event.go
│ ├── keys
│ │ ├── keys.go
│ │ ├── standard.go
│ │ └── util.go
│ └── label
│ │ └── label.go
│ ├── gcimporter
│ ├── bimport.go
│ ├── exportdata.go
│ ├── gcimporter.go
│ ├── iexport.go
│ ├── iimport.go
│ ├── newInterface10.go
│ ├── newInterface11.go
│ ├── support_go118.go
│ ├── unified_no.go
│ ├── unified_yes.go
│ └── ureader_yes.go
│ ├── gocommand
│ ├── invoke.go
│ ├── vendor.go
│ └── version.go
│ ├── packagesinternal
│ └── packages.go
│ ├── pkgbits
│ ├── codes.go
│ ├── decoder.go
│ ├── doc.go
│ ├── encoder.go
│ ├── flags.go
│ ├── frames_go1.go
│ ├── frames_go17.go
│ ├── reloc.go
│ ├── support.go
│ ├── sync.go
│ └── syncmarker_string.go
│ ├── stdlib
│ ├── manifest.go
│ └── stdlib.go
│ ├── tokeninternal
│ └── tokeninternal.go
│ ├── typesinternal
│ ├── errorcode.go
│ ├── errorcode_string.go
│ ├── recv.go
│ ├── toonew.go
│ └── types.go
│ └── versions
│ ├── constraint.go
│ ├── constraint_go121.go
│ ├── features.go
│ ├── gover.go
│ ├── toolchain.go
│ ├── toolchain_go119.go
│ ├── toolchain_go120.go
│ ├── toolchain_go121.go
│ ├── types.go
│ ├── types_go121.go
│ ├── types_go122.go
│ └── versions.go
├── google.golang.org
├── genproto
│ └── googleapis
│ │ └── rpc
│ │ ├── LICENSE
│ │ └── status
│ │ └── status.pb.go
├── grpc
│ ├── AUTHORS
│ ├── CODE-OF-CONDUCT.md
│ ├── CONTRIBUTING.md
│ ├── GOVERNANCE.md
│ ├── LICENSE
│ ├── MAINTAINERS.md
│ ├── Makefile
│ ├── NOTICE.txt
│ ├── README.md
│ ├── SECURITY.md
│ ├── attributes
│ │ └── attributes.go
│ ├── backoff.go
│ ├── backoff
│ │ └── backoff.go
│ ├── balancer
│ │ ├── balancer.go
│ │ ├── base
│ │ │ ├── balancer.go
│ │ │ └── base.go
│ │ ├── conn_state_evaluator.go
│ │ ├── grpclb
│ │ │ └── state
│ │ │ │ └── state.go
│ │ ├── pickfirst
│ │ │ └── pickfirst.go
│ │ └── roundrobin
│ │ │ └── roundrobin.go
│ ├── balancer_wrapper.go
│ ├── binarylog
│ │ └── grpc_binarylog_v1
│ │ │ └── binarylog.pb.go
│ ├── call.go
│ ├── channelz
│ │ └── channelz.go
│ ├── clientconn.go
│ ├── codec.go
│ ├── codes
│ │ ├── code_string.go
│ │ └── codes.go
│ ├── connectivity
│ │ └── connectivity.go
│ ├── credentials
│ │ ├── credentials.go
│ │ ├── insecure
│ │ │ └── insecure.go
│ │ └── tls.go
│ ├── dialoptions.go
│ ├── doc.go
│ ├── encoding
│ │ ├── encoding.go
│ │ └── proto
│ │ │ └── proto.go
│ ├── grpclog
│ │ ├── component.go
│ │ ├── grpclog.go
│ │ ├── logger.go
│ │ └── loggerv2.go
│ ├── interceptor.go
│ ├── internal
│ │ ├── backoff
│ │ │ └── backoff.go
│ │ ├── balancer
│ │ │ └── gracefulswitch
│ │ │ │ ├── config.go
│ │ │ │ └── gracefulswitch.go
│ │ ├── balancerload
│ │ │ └── load.go
│ │ ├── binarylog
│ │ │ ├── binarylog.go
│ │ │ ├── binarylog_testutil.go
│ │ │ ├── env_config.go
│ │ │ ├── method_logger.go
│ │ │ └── sink.go
│ │ ├── buffer
│ │ │ └── unbounded.go
│ │ ├── channelz
│ │ │ ├── channel.go
│ │ │ ├── channelmap.go
│ │ │ ├── funcs.go
│ │ │ ├── logging.go
│ │ │ ├── server.go
│ │ │ ├── socket.go
│ │ │ ├── subchannel.go
│ │ │ ├── syscall_linux.go
│ │ │ ├── syscall_nonlinux.go
│ │ │ └── trace.go
│ │ ├── credentials
│ │ │ ├── credentials.go
│ │ │ ├── spiffe.go
│ │ │ ├── syscallconn.go
│ │ │ └── util.go
│ │ ├── envconfig
│ │ │ ├── envconfig.go
│ │ │ ├── observability.go
│ │ │ └── xds.go
│ │ ├── experimental.go
│ │ ├── grpclog
│ │ │ ├── grpclog.go
│ │ │ └── prefixLogger.go
│ │ ├── grpcsync
│ │ │ ├── callback_serializer.go
│ │ │ ├── event.go
│ │ │ ├── oncefunc.go
│ │ │ └── pubsub.go
│ │ ├── grpcutil
│ │ │ ├── compressor.go
│ │ │ ├── encode_duration.go
│ │ │ ├── grpcutil.go
│ │ │ ├── metadata.go
│ │ │ ├── method.go
│ │ │ └── regex.go
│ │ ├── idle
│ │ │ └── idle.go
│ │ ├── internal.go
│ │ ├── metadata
│ │ │ └── metadata.go
│ │ ├── pretty
│ │ │ └── pretty.go
│ │ ├── resolver
│ │ │ ├── config_selector.go
│ │ │ ├── dns
│ │ │ │ ├── dns_resolver.go
│ │ │ │ └── internal
│ │ │ │ │ └── internal.go
│ │ │ ├── passthrough
│ │ │ │ └── passthrough.go
│ │ │ └── unix
│ │ │ │ └── unix.go
│ │ ├── serviceconfig
│ │ │ ├── duration.go
│ │ │ └── serviceconfig.go
│ │ ├── status
│ │ │ └── status.go
│ │ ├── syscall
│ │ │ ├── syscall_linux.go
│ │ │ └── syscall_nonlinux.go
│ │ ├── tcp_keepalive_others.go
│ │ ├── tcp_keepalive_unix.go
│ │ ├── tcp_keepalive_windows.go
│ │ └── transport
│ │ │ ├── bdp_estimator.go
│ │ │ ├── controlbuf.go
│ │ │ ├── defaults.go
│ │ │ ├── flowcontrol.go
│ │ │ ├── handler_server.go
│ │ │ ├── http2_client.go
│ │ │ ├── http2_server.go
│ │ │ ├── http_util.go
│ │ │ ├── logging.go
│ │ │ ├── networktype
│ │ │ └── networktype.go
│ │ │ ├── proxy.go
│ │ │ └── transport.go
│ ├── keepalive
│ │ └── keepalive.go
│ ├── metadata
│ │ └── metadata.go
│ ├── peer
│ │ └── peer.go
│ ├── picker_wrapper.go
│ ├── preloader.go
│ ├── reflection
│ │ ├── README.md
│ │ ├── adapt.go
│ │ ├── grpc_reflection_v1
│ │ │ ├── reflection.pb.go
│ │ │ └── reflection_grpc.pb.go
│ │ ├── grpc_reflection_v1alpha
│ │ │ ├── reflection.pb.go
│ │ │ └── reflection_grpc.pb.go
│ │ ├── internal
│ │ │ └── internal.go
│ │ └── serverreflection.go
│ ├── regenerate.sh
│ ├── resolver
│ │ ├── dns
│ │ │ └── dns_resolver.go
│ │ ├── map.go
│ │ └── resolver.go
│ ├── resolver_wrapper.go
│ ├── rpc_util.go
│ ├── server.go
│ ├── service_config.go
│ ├── serviceconfig
│ │ └── serviceconfig.go
│ ├── shared_buffer_pool.go
│ ├── stats
│ │ ├── handlers.go
│ │ └── stats.go
│ ├── status
│ │ └── status.go
│ ├── stream.go
│ ├── stream_interfaces.go
│ ├── tap
│ │ └── tap.go
│ ├── trace.go
│ ├── trace_notrace.go
│ ├── trace_withtrace.go
│ └── version.go
└── protobuf
│ ├── LICENSE
│ ├── PATENTS
│ ├── encoding
│ ├── protojson
│ │ ├── decode.go
│ │ ├── doc.go
│ │ ├── encode.go
│ │ └── well_known_types.go
│ ├── prototext
│ │ ├── decode.go
│ │ ├── doc.go
│ │ └── encode.go
│ └── protowire
│ │ └── wire.go
│ ├── internal
│ ├── descfmt
│ │ └── stringer.go
│ ├── descopts
│ │ └── options.go
│ ├── detrand
│ │ └── rand.go
│ ├── editiondefaults
│ │ ├── defaults.go
│ │ └── editions_defaults.binpb
│ ├── editionssupport
│ │ └── editions.go
│ ├── encoding
│ │ ├── defval
│ │ │ └── default.go
│ │ ├── json
│ │ │ ├── decode.go
│ │ │ ├── decode_number.go
│ │ │ ├── decode_string.go
│ │ │ ├── decode_token.go
│ │ │ └── encode.go
│ │ ├── messageset
│ │ │ └── messageset.go
│ │ ├── tag
│ │ │ └── tag.go
│ │ └── text
│ │ │ ├── decode.go
│ │ │ ├── decode_number.go
│ │ │ ├── decode_string.go
│ │ │ ├── decode_token.go
│ │ │ ├── doc.go
│ │ │ └── encode.go
│ ├── errors
│ │ ├── errors.go
│ │ ├── is_go112.go
│ │ └── is_go113.go
│ ├── filedesc
│ │ ├── build.go
│ │ ├── desc.go
│ │ ├── desc_init.go
│ │ ├── desc_lazy.go
│ │ ├── desc_list.go
│ │ ├── desc_list_gen.go
│ │ ├── editions.go
│ │ └── placeholder.go
│ ├── filetype
│ │ └── build.go
│ ├── flags
│ │ ├── flags.go
│ │ ├── proto_legacy_disable.go
│ │ └── proto_legacy_enable.go
│ ├── genid
│ │ ├── any_gen.go
│ │ ├── api_gen.go
│ │ ├── descriptor_gen.go
│ │ ├── doc.go
│ │ ├── duration_gen.go
│ │ ├── empty_gen.go
│ │ ├── field_mask_gen.go
│ │ ├── go_features_gen.go
│ │ ├── goname.go
│ │ ├── map_entry.go
│ │ ├── source_context_gen.go
│ │ ├── struct_gen.go
│ │ ├── timestamp_gen.go
│ │ ├── type_gen.go
│ │ ├── wrappers.go
│ │ └── wrappers_gen.go
│ ├── impl
│ │ ├── api_export.go
│ │ ├── checkinit.go
│ │ ├── codec_extension.go
│ │ ├── codec_field.go
│ │ ├── codec_gen.go
│ │ ├── codec_map.go
│ │ ├── codec_map_go111.go
│ │ ├── codec_map_go112.go
│ │ ├── codec_message.go
│ │ ├── codec_messageset.go
│ │ ├── codec_reflect.go
│ │ ├── codec_tables.go
│ │ ├── codec_unsafe.go
│ │ ├── convert.go
│ │ ├── convert_list.go
│ │ ├── convert_map.go
│ │ ├── decode.go
│ │ ├── encode.go
│ │ ├── enum.go
│ │ ├── extension.go
│ │ ├── legacy_enum.go
│ │ ├── legacy_export.go
│ │ ├── legacy_extension.go
│ │ ├── legacy_file.go
│ │ ├── legacy_message.go
│ │ ├── merge.go
│ │ ├── merge_gen.go
│ │ ├── message.go
│ │ ├── message_reflect.go
│ │ ├── message_reflect_field.go
│ │ ├── message_reflect_gen.go
│ │ ├── pointer_reflect.go
│ │ ├── pointer_unsafe.go
│ │ ├── validate.go
│ │ └── weak.go
│ ├── order
│ │ ├── order.go
│ │ └── range.go
│ ├── pragma
│ │ └── pragma.go
│ ├── set
│ │ └── ints.go
│ ├── strs
│ │ ├── strings.go
│ │ ├── strings_pure.go
│ │ ├── strings_unsafe_go120.go
│ │ └── strings_unsafe_go121.go
│ └── version
│ │ └── version.go
│ ├── proto
│ ├── checkinit.go
│ ├── decode.go
│ ├── decode_gen.go
│ ├── doc.go
│ ├── encode.go
│ ├── encode_gen.go
│ ├── equal.go
│ ├── extension.go
│ ├── merge.go
│ ├── messageset.go
│ ├── proto.go
│ ├── proto_methods.go
│ ├── proto_reflect.go
│ ├── reset.go
│ ├── size.go
│ ├── size_gen.go
│ └── wrappers.go
│ ├── protoadapt
│ └── convert.go
│ ├── reflect
│ ├── protodesc
│ │ ├── desc.go
│ │ ├── desc_init.go
│ │ ├── desc_resolve.go
│ │ ├── desc_validate.go
│ │ ├── editions.go
│ │ └── proto.go
│ ├── protoreflect
│ │ ├── methods.go
│ │ ├── proto.go
│ │ ├── source.go
│ │ ├── source_gen.go
│ │ ├── type.go
│ │ ├── value.go
│ │ ├── value_equal.go
│ │ ├── value_pure.go
│ │ ├── value_union.go
│ │ ├── value_unsafe_go120.go
│ │ └── value_unsafe_go121.go
│ └── protoregistry
│ │ └── registry.go
│ ├── runtime
│ ├── protoiface
│ │ ├── legacy.go
│ │ └── methods.go
│ └── protoimpl
│ │ ├── impl.go
│ │ └── version.go
│ └── types
│ ├── descriptorpb
│ └── descriptor.pb.go
│ ├── gofeaturespb
│ └── go_features.pb.go
│ └── known
│ ├── anypb
│ └── any.pb.go
│ ├── durationpb
│ └── duration.pb.go
│ ├── emptypb
│ └── empty.pb.go
│ ├── timestamppb
│ └── timestamp.pb.go
│ └── wrapperspb
│ └── wrappers.pb.go
├── gopkg.in
└── yaml.v2
│ ├── .travis.yml
│ ├── LICENSE
│ ├── LICENSE.libyaml
│ ├── NOTICE
│ ├── README.md
│ ├── apic.go
│ ├── decode.go
│ ├── emitterc.go
│ ├── encode.go
│ ├── parserc.go
│ ├── readerc.go
│ ├── resolve.go
│ ├── scannerc.go
│ ├── sorter.go
│ ├── writerc.go
│ ├── yaml.go
│ ├── yamlh.go
│ └── yamlprivateh.go
└── modules.txt
/.gitignore:
--------------------------------------------------------------------------------
1 | *.exe
2 | /dist
3 | /*.log
4 | /server-go
5 |
--------------------------------------------------------------------------------
/.idea/.gitignore:
--------------------------------------------------------------------------------
1 | # Default ignored files
2 | /workspace.xml
--------------------------------------------------------------------------------
/.idea/encodings.xml:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
--------------------------------------------------------------------------------
/.idea/misc.xml:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 |
6 |
--------------------------------------------------------------------------------
/.idea/modules.xml:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 |
6 |
7 |
8 |
--------------------------------------------------------------------------------
/.idea/server-go.iml:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 |
6 |
7 |
8 |
9 |
--------------------------------------------------------------------------------
/.idea/vcs.xml:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 |
6 |
--------------------------------------------------------------------------------
/Dockerfile:
--------------------------------------------------------------------------------
1 | FROM golang:1.13-alpine
2 | EXPOSE 34320
3 | EXPOSE 34320/udp
4 | EXPOSE 34321
5 | EXPOSE 34321/udp
6 | RUN apk add --no-cache bash
7 |
8 | ENTRYPOINT ["/entrypoint.sh"]
9 | CMD [ "-h" ]
10 |
11 | COPY scripts/entrypoint.sh /entrypoint.sh
12 | RUN chmod +x /entrypoint.sh
13 |
14 | COPY server-go /bin/server-go
15 |
--------------------------------------------------------------------------------
/config/const.go:
--------------------------------------------------------------------------------
1 | package config
2 |
3 | import "fmt"
4 |
5 | const DefaultConfigFileName = "server-go.yaml"
6 |
7 | var DefaultConfigFilePath = fmt.Sprintf("./%s", DefaultConfigFileName)
8 |
9 | const DefaultBindAddr = "0.0.0.0"
10 |
11 | const DefaultKcpPort = 34320
12 | const DefaultTcpPort = 34320
13 | const DefaultTlsPort = 34321
14 | const DefaultUdpApiPort = 34321
15 | const DefaultKcpApiPort = 34322
16 | const DefaultGrpcPort = 34322
17 |
18 | const DefaultLoginKey = "HLLdsa544&*S"
19 |
20 | const DefaultHttpPort = 80
21 | const DefaultHttpsPort = 443
22 |
23 | const DefaultRedisNetwork = "tcp"
24 | const DefaultRedisAddress = "127.0.0.1:6379"
25 |
26 | const IoTManagerAddr = "api.iot-manager.iothub.cloud:50051"
27 |
--------------------------------------------------------------------------------
/iface/runtimeStorage/runtimeStorage.go:
--------------------------------------------------------------------------------
1 | // Package runtimeStorage 运行时存储数据接口
2 | package runtimeStorage
3 |
4 | // RuntimeStorage 保存运行时数据的基础接口,用于提供保存http proxy数据或者登录黑白名单等配置
5 | // 可以基于此接口做redis或者内存等的实现
6 | type RuntimeStorageIfce interface {
7 | GetAllKeys() ([]string, error)
8 |
9 | GetValueByKey(key string) (any, error)
10 | GetValueByKeyToBytes(key string) ([]byte, error)
11 | GetValueByKeyToString(key string) (string, error)
12 | GetValueByKeyToBool(key string) (bool, error)
13 | GetValueByKeyToInt(key string) (int, error)
14 |
15 | SetValueByKey(key string, value any) error
16 | DelValueByKey(key string) error
17 | CheckKeyExit(key string) (bool, error)
18 | }
19 |
--------------------------------------------------------------------------------
/main_test.go:
--------------------------------------------------------------------------------
1 | package main
2 |
3 | import (
4 | "github.com/OpenIoTHub/utils/models"
5 | "log"
6 | "testing"
7 | )
8 |
9 | func TestMain(m *testing.M) {
10 | token, err := models.DecodeToken("123abc", "eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJSdW5JZCI6IjBiYmM1NWRkLWNhNzAtNGRhNC1iNDAzLTRmODQ3MThkNWEyNCIsIkhvc3QiOiIzNi42My4zOS4xODUiLCJUY3BQb3J0IjozNDMyMCwiS2NwUG9ydCI6MzQzMjAsIlRsc1BvcnQiOjM0MzIxLCJHcnBjUG9ydCI6MzQzMjIsIlVEUEFwaVBvcnQiOjM0MzIxLCJLQ1BBcGlQb3J0IjozNDMyMiwiUGVybWlzc2lvbiI6MSwiZXhwIjoyMDE1OTU3NzU5OTIsIm5iZiI6MTU5NTc0NzE5Mn0.COUJwk3x6RoHZ-ajeOGqTsek9BinwLxjAlgRDriI_Wc")
11 | if err != nil {
12 | log.Println(err)
13 | return
14 | }
15 | log.Println(token)
16 | }
17 |
--------------------------------------------------------------------------------
/scripts/delhistory.sh:
--------------------------------------------------------------------------------
1 | #!/bin/bash
2 | git filter-branch --force --index-filter 'git rm --cached -r --ignore-unmatch web-ui' --prune-empty --tag-name-filter cat -- --all
3 | git push origin master --force
--------------------------------------------------------------------------------
/scripts/entrypoint.sh:
--------------------------------------------------------------------------------
1 | #!/usr/bin/env bash
2 | server-go $@
3 |
--------------------------------------------------------------------------------
/scripts/install_remove/postinstall.sh:
--------------------------------------------------------------------------------
1 | #!/usr/bin/env bash
2 |
3 | echo postinstall.sh
4 | systemctl enable server-go
5 | systemctl start server-go
--------------------------------------------------------------------------------
/scripts/install_remove/postremove.sh:
--------------------------------------------------------------------------------
1 | #!/usr/bin/env bash
2 |
3 | echo postremove.sh
4 | #rm -rf /etc/server-go
--------------------------------------------------------------------------------
/scripts/install_remove/preinstall.sh:
--------------------------------------------------------------------------------
1 | #!/usr/bin/env bash
2 |
3 | echo preinstall.sh:
4 | #systemctl stop server-go
5 | #systemctl disable server-go
--------------------------------------------------------------------------------
/scripts/install_remove/preremove.sh:
--------------------------------------------------------------------------------
1 | #!/usr/bin/env bash
2 |
3 | echo preremove.sh:
4 | systemctl stop server-go
5 | systemctl disable server-go
--------------------------------------------------------------------------------
/server-go.yaml:
--------------------------------------------------------------------------------
1 | server_uuid: 4d4ff46b-2560-4886-8091-8ae31d83c6a5
2 | my_public_ip_or_domian: ""
3 | logconfig:
4 | enablestdout: true
5 | logfilepath: ./mylog.log
6 | common:
7 | bind_addr: 0.0.0.0
8 | tcp_port: 34320
9 | kcp_port: 34320
10 | udp_p2p_port: 34321
11 | kcp_p2p_port: 34322
12 | tls_port: 34321
13 | grpc_port: 34322
14 | http_port: 80
15 | https_port: 443
16 | security:
17 | login_key: HLLdsa544&*S
18 | tls_Cert_file_path: ""
19 | tls_key_file_path: ""
20 | https_cert_file_path: ""
21 | https_key_file_path: ""
22 | redisconfig:
23 | enabled: false
24 | network: tcp
25 | address: 127.0.0.1:6379
26 | database: 0
27 | needAuth: false
28 | password: ""
29 |
--------------------------------------------------------------------------------
/snap.login.enc:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/OpenIoTHub/server-go/f7310370514b5b8af3deb750636cb526532488e5/snap.login.enc
--------------------------------------------------------------------------------
/systemd/server-go.service:
--------------------------------------------------------------------------------
1 | [Unit]
2 | Description=OpenIoTHub Server
3 | After=network.target
4 |
5 | [Service]
6 | Type=simple
7 | User=nobody
8 | Restart=on-failure
9 | RestartSec=5s
10 | ExecStart=/usr/local/bin/server-go -c /etc/server-go/server-go.yaml
11 |
12 | [Install]
13 | WantedBy=multi-user.target
--------------------------------------------------------------------------------
/utils/string.go:
--------------------------------------------------------------------------------
1 | package utils
2 |
3 | import (
4 | "github.com/satori/go.uuid"
5 | )
6 |
7 | func GetOneUUID() string {
8 | uid, _ := uuid.NewV4()
9 | return uid.String()
10 | }
11 |
--------------------------------------------------------------------------------
/vendor/github.com/OpenIoTHub/openiothub_grpc_api/pb-go/proto/manager/.gitkeep:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/OpenIoTHub/server-go/f7310370514b5b8af3deb750636cb526532488e5/vendor/github.com/OpenIoTHub/openiothub_grpc_api/pb-go/proto/manager/.gitkeep
--------------------------------------------------------------------------------
/vendor/github.com/OpenIoTHub/openiothub_grpc_api/pb-go/proto/server/.gitkeep:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/OpenIoTHub/server-go/f7310370514b5b8af3deb750636cb526532488e5/vendor/github.com/OpenIoTHub/openiothub_grpc_api/pb-go/proto/server/.gitkeep
--------------------------------------------------------------------------------
/vendor/github.com/OpenIoTHub/utils/models/permission.go:
--------------------------------------------------------------------------------
1 | package models
2 |
3 | const PermissionGatewayLogin = "gateway"
4 | const PermissionOpenIoTHubLogin = "openiothub"
5 |
--------------------------------------------------------------------------------
/vendor/github.com/OpenIoTHub/utils/models/service.go:
--------------------------------------------------------------------------------
1 | package models
2 |
3 | import "net"
4 |
5 | type FindmDNS struct {
6 | Service string
7 | Domain string
8 | Second int
9 | }
10 |
11 | type MDNSResult struct {
12 | Instance string `json:"name"`
13 | Service string `json:"type"`
14 | Domain string `json:"domain"`
15 | HostName string `json:"hostname"`
16 | Port int `json:"port"`
17 | Text []string `json:"text"`
18 | TTL uint32 `json:"ttl"`
19 | AddrIPv4 []net.IP `json:"addripv4"`
20 | AddrIPv6 []net.IP `json:"addripv6"`
21 | }
22 |
23 | type ScanPort struct {
24 | Host string
25 | StartPort int
26 | EndPort int
27 | }
28 |
29 | type ScanPortResult []int
30 |
--------------------------------------------------------------------------------
/vendor/github.com/OpenIoTHub/utils/msg/pack.go:
--------------------------------------------------------------------------------
1 | package msg
2 |
3 | import (
4 | "encoding/json"
5 | "fmt"
6 | "github.com/OpenIoTHub/utils/models"
7 | "reflect"
8 | )
9 |
10 | func unpack(typeStr string, buffer []byte, msgIn models.Message) (msg models.Message, err error) {
11 | if msgIn == nil {
12 | t, ok := models.TypeMap[typeStr]
13 | if !ok {
14 | err = fmt.Errorf("unsupported message type %s", typeStr)
15 | return
16 | }
17 |
18 | msg = reflect.New(t).Interface().(models.Message)
19 | } else {
20 | msg = msgIn
21 | }
22 |
23 | err = json.Unmarshal(buffer, &msg)
24 | return
25 | }
26 |
27 | func UnPackInto(buffer []byte, msg models.Message) (err error) {
28 | _, err = unpack("", buffer, msg)
29 | return
30 | }
31 |
32 | func UnPack(typeStr string, buffer []byte) (msg models.Message, err error) {
33 | return unpack(typeStr, buffer, nil)
34 | }
35 |
--------------------------------------------------------------------------------
/vendor/github.com/OpenIoTHub/utils/net/mac.go:
--------------------------------------------------------------------------------
1 | package nettool
2 |
3 | import (
4 | "net"
5 | )
6 |
7 | func GetMacs() ([]string, error) {
8 | // 获取本机的MAC地址
9 | var macs []string
10 | interfaces, err := net.Interfaces()
11 | if err != nil {
12 | return macs, err
13 | }
14 | for _, inter := range interfaces {
15 | mac := inter.HardwareAddr //获取本机MAC地址
16 | macs = append(macs, mac.String())
17 | }
18 | return macs, nil
19 | }
20 |
--------------------------------------------------------------------------------
/vendor/github.com/OpenIoTHub/utils/net/mux.go:
--------------------------------------------------------------------------------
1 | package nettool
2 |
3 | import "github.com/xtaci/kcp-go/v5"
4 |
5 | func SetYamuxConn(kcpconn *kcp.UDPSession) {
6 | //配置
7 | //kcpconn.SetDeadline(time.Now().Add(time.Second * 5))
8 | kcpconn.SetStreamMode(true)
9 | kcpconn.SetWriteDelay(false)
10 | kcpconn.SetNoDelay(0, 100, 1, 1)
11 | kcpconn.SetWindowSize(128, 256)
12 | kcpconn.SetMtu(1350)
13 | kcpconn.SetACKNoDelay(true)
14 | }
15 |
--------------------------------------------------------------------------------
/vendor/github.com/OpenIoTHub/utils/net/port.go:
--------------------------------------------------------------------------------
1 | package nettool
2 |
3 | import "net"
4 |
5 | //获取一个随机空闲的tcp端口
6 | func GetOneFreeTcpPort() (int, error) {
7 | l, err := net.Listen("tcp", ":0")
8 | if err != nil {
9 | return 0, err
10 | }
11 | defer l.Close()
12 | return l.Addr().(*net.TCPAddr).Port, nil
13 | }
14 |
--------------------------------------------------------------------------------
/vendor/github.com/cenkalti/backoff/.gitignore:
--------------------------------------------------------------------------------
1 | # Compiled Object files, Static and Dynamic libs (Shared Objects)
2 | *.o
3 | *.a
4 | *.so
5 |
6 | # Folders
7 | _obj
8 | _test
9 |
10 | # Architecture specific extensions/prefixes
11 | *.[568vq]
12 | [568vq].out
13 |
14 | *.cgo1.go
15 | *.cgo2.c
16 | _cgo_defun.c
17 | _cgo_gotypes.go
18 | _cgo_export.*
19 |
20 | _testmain.go
21 |
22 | *.exe
23 |
--------------------------------------------------------------------------------
/vendor/github.com/cenkalti/backoff/.travis.yml:
--------------------------------------------------------------------------------
1 | language: go
2 | go:
3 | - 1.7
4 | - 1.x
5 | - tip
6 | before_install:
7 | - go get github.com/mattn/goveralls
8 | - go get golang.org/x/tools/cmd/cover
9 | script:
10 | - $HOME/gopath/bin/goveralls -service=travis-ci
11 |
--------------------------------------------------------------------------------
/vendor/github.com/cenkalti/backoff/tries.go:
--------------------------------------------------------------------------------
1 | package backoff
2 |
3 | import "time"
4 |
5 | /*
6 | WithMaxRetries creates a wrapper around another BackOff, which will
7 | return Stop if NextBackOff() has been called too many times since
8 | the last time Reset() was called
9 |
10 | Note: Implementation is not thread-safe.
11 | */
12 | func WithMaxRetries(b BackOff, max uint64) BackOff {
13 | return &backOffTries{delegate: b, maxTries: max}
14 | }
15 |
16 | type backOffTries struct {
17 | delegate BackOff
18 | maxTries uint64
19 | numTries uint64
20 | }
21 |
22 | func (b *backOffTries) NextBackOff() time.Duration {
23 | if b.maxTries > 0 {
24 | if b.maxTries <= b.numTries {
25 | return Stop
26 | }
27 | b.numTries++
28 | }
29 | return b.delegate.NextBackOff()
30 | }
31 |
32 | func (b *backOffTries) Reset() {
33 | b.numTries = 0
34 | b.delegate.Reset()
35 | }
36 |
--------------------------------------------------------------------------------
/vendor/github.com/cpuguy83/go-md2man/v2/md2man/md2man.go:
--------------------------------------------------------------------------------
1 | package md2man
2 |
3 | import (
4 | "github.com/russross/blackfriday/v2"
5 | )
6 |
7 | // Render converts a markdown document into a roff formatted document.
8 | func Render(doc []byte) []byte {
9 | renderer := NewRoffRenderer()
10 |
11 | return blackfriday.Run(doc,
12 | []blackfriday.Option{
13 | blackfriday.WithRenderer(renderer),
14 | blackfriday.WithExtensions(renderer.GetExtensions()),
15 | }...)
16 | }
17 |
--------------------------------------------------------------------------------
/vendor/github.com/golang-jwt/jwt/.gitignore:
--------------------------------------------------------------------------------
1 | .DS_Store
2 | bin
3 | .idea/
4 |
5 |
--------------------------------------------------------------------------------
/vendor/github.com/golang-jwt/jwt/doc.go:
--------------------------------------------------------------------------------
1 | // Package jwt is a Go implementation of JSON Web Tokens: http://self-issued.info/docs/draft-jones-json-web-token.html
2 | //
3 | // See README.md for more info.
4 | package jwt
5 |
--------------------------------------------------------------------------------
/vendor/github.com/golang/snappy/.gitignore:
--------------------------------------------------------------------------------
1 | cmd/snappytool/snappytool
2 | testdata/bench
3 |
4 | # These explicitly listed benchmark data files are for an obsolete version of
5 | # snappy_test.go.
6 | testdata/alice29.txt
7 | testdata/asyoulik.txt
8 | testdata/fireworks.jpeg
9 | testdata/geo.protodata
10 | testdata/html
11 | testdata/html_x_4
12 | testdata/kppkn.gtb
13 | testdata/lcet10.txt
14 | testdata/paper-100k.pdf
15 | testdata/plrabn12.txt
16 | testdata/urls.10K
17 |
--------------------------------------------------------------------------------
/vendor/github.com/golang/snappy/AUTHORS:
--------------------------------------------------------------------------------
1 | # This is the official list of Snappy-Go authors for copyright purposes.
2 | # This file is distinct from the CONTRIBUTORS files.
3 | # See the latter for an explanation.
4 |
5 | # Names should be added to this file as
6 | # Name or Organization
7 | # The email address is not required for organizations.
8 |
9 | # Please keep the list sorted.
10 |
11 | Amazon.com, Inc
12 | Damian Gryski
13 | Eric Buth
14 | Google Inc.
15 | Jan Mercl <0xjnml@gmail.com>
16 | Klaus Post
17 | Rodolfo Carvalho
18 | Sebastien Binet
19 |
--------------------------------------------------------------------------------
/vendor/github.com/golang/snappy/decode_asm.go:
--------------------------------------------------------------------------------
1 | // Copyright 2016 The Snappy-Go Authors. All rights reserved.
2 | // Use of this source code is governed by a BSD-style
3 | // license that can be found in the LICENSE file.
4 |
5 | // +build !appengine
6 | // +build gc
7 | // +build !noasm
8 | // +build amd64 arm64
9 |
10 | package snappy
11 |
12 | // decode has the same semantics as in decode_other.go.
13 | //
14 | //go:noescape
15 | func decode(dst, src []byte) int
16 |
--------------------------------------------------------------------------------
/vendor/github.com/gomodule/redigo/redis/go18.go:
--------------------------------------------------------------------------------
1 | // +build go1.8
2 |
3 | package redis
4 |
5 | import "crypto/tls"
6 |
7 | func cloneTLSConfig(cfg *tls.Config) *tls.Config {
8 | return cfg.Clone()
9 | }
10 |
--------------------------------------------------------------------------------
/vendor/github.com/grandcat/zeroconf/.gitignore:
--------------------------------------------------------------------------------
1 | # Compiled Object files, Static and Dynamic libs (Shared Objects)
2 | *.o
3 | *.a
4 | *.so
5 |
6 | # Folders
7 | _obj
8 | _test
9 |
10 | # Architecture specific extensions/prefixes
11 | *.[568vq]
12 | [568vq].out
13 |
14 | *.cgo1.go
15 | *.cgo2.c
16 | _cgo_defun.c
17 | _cgo_gotypes.go
18 | _cgo_export.*
19 |
20 | _testmain.go
21 |
22 | *.exe
23 | *.test
24 | *.prof
25 |
--------------------------------------------------------------------------------
/vendor/github.com/grandcat/zeroconf/.travis.yml:
--------------------------------------------------------------------------------
1 | os:
2 | - linux
3 | - osx
4 | - windows
5 |
6 | language: go
7 | go:
8 | - "1.13"
9 |
10 | script:
11 | - go test
12 |
--------------------------------------------------------------------------------
/vendor/github.com/grandcat/zeroconf/doc.go:
--------------------------------------------------------------------------------
1 | // Package zeroconf is a pure Golang library that employs Multicast DNS-SD for
2 | // browsing and resolving services in your network and registering own services
3 | // in the local network.
4 | //
5 | // It basically implements aspects of the standards
6 | // RFC 6762 (mDNS) and
7 | // RFC 6763 (DNS-SD).
8 | // Though it does not support all requirements yet, the aim is to provide a
9 | // complient solution in the long-term with the community.
10 | //
11 | // By now, it should be compatible to [Avahi](http://avahi.org/) (tested) and
12 | // Apple's Bonjour (untested). Should work in the most office, home and private
13 | // environments.
14 | package zeroconf
15 |
--------------------------------------------------------------------------------
/vendor/github.com/grandcat/zeroconf/utils.go:
--------------------------------------------------------------------------------
1 | package zeroconf
2 |
3 | import "strings"
4 |
5 | // trimDot is used to trim the dots from the start or end of a string
6 | func trimDot(s string) string {
7 | return strings.Trim(s, ".")
8 | }
9 |
--------------------------------------------------------------------------------
/vendor/github.com/jacobsa/go-serial/serial/Makefile:
--------------------------------------------------------------------------------
1 | include $(GOROOT)/src/Make.inc
2 |
3 | TARG=github.com/jacobsa/go-serial/serial
4 | GOFILES=\
5 | serial.go\
6 | open_$(GOOS).go\
7 |
8 | include $(GOROOT)/src/Make.pkg
9 |
--------------------------------------------------------------------------------
/vendor/github.com/jacobsa/go-serial/serial/open_freebsd.go:
--------------------------------------------------------------------------------
1 | // Copyright 2011 Aaron Jacobs. All Rights Reserved.
2 | //
3 | // Licensed under the Apache License, Version 2.0 (the "License");
4 | // you may not use this file except in compliance with the License.
5 | // You may obtain a copy of the License at
6 | //
7 | // http://www.apache.org/licenses/LICENSE-2.0
8 | //
9 | // Unless required by applicable law or agreed to in writing, software
10 | // distributed under the License is distributed on an "AS IS" BASIS,
11 | // WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
12 | // See the License for the specific language governing permissions and
13 | // limitations under the License.
14 |
15 | package serial
16 |
17 | import "io"
18 |
19 | func openInternal(options OpenOptions) (io.ReadWriteCloser, error) {
20 | return nil, "Not implemented on this OS."
21 | }
22 |
--------------------------------------------------------------------------------
/vendor/github.com/klauspost/cpuid/v2/.gitignore:
--------------------------------------------------------------------------------
1 | # Compiled Object files, Static and Dynamic libs (Shared Objects)
2 | *.o
3 | *.a
4 | *.so
5 |
6 | # Folders
7 | _obj
8 | _test
9 |
10 | # Architecture specific extensions/prefixes
11 | *.[568vq]
12 | [568vq].out
13 |
14 | *.cgo1.go
15 | *.cgo2.c
16 | _cgo_defun.c
17 | _cgo_gotypes.go
18 | _cgo_export.*
19 |
20 | _testmain.go
21 |
22 | *.exe
23 | *.test
24 | *.prof
25 |
--------------------------------------------------------------------------------
/vendor/github.com/klauspost/cpuid/v2/detect_ref.go:
--------------------------------------------------------------------------------
1 | // Copyright (c) 2015 Klaus Post, released under MIT License. See LICENSE file.
2 |
3 | //go:build (!amd64 && !386 && !arm64) || gccgo || noasm || appengine
4 | // +build !amd64,!386,!arm64 gccgo noasm appengine
5 |
6 | package cpuid
7 |
8 | func initCPU() {
9 | cpuid = func(uint32) (a, b, c, d uint32) { return 0, 0, 0, 0 }
10 | cpuidex = func(x, y uint32) (a, b, c, d uint32) { return 0, 0, 0, 0 }
11 | xgetbv = func(uint32) (a, b uint32) { return 0, 0 }
12 | rdtscpAsm = func() (a, b, c, d uint32) { return 0, 0, 0, 0 }
13 | }
14 |
15 | func addInfo(info *CPUInfo, safe bool) {}
16 |
--------------------------------------------------------------------------------
/vendor/github.com/klauspost/cpuid/v2/os_other_arm64.go:
--------------------------------------------------------------------------------
1 | // Copyright (c) 2020 Klaus Post, released under MIT License. See LICENSE file.
2 |
3 | //go:build arm64 && !linux && !darwin
4 | // +build arm64,!linux,!darwin
5 |
6 | package cpuid
7 |
8 | import "runtime"
9 |
10 | func detectOS(c *CPUInfo) bool {
11 | c.PhysicalCores = runtime.NumCPU()
12 | // For now assuming 1 thread per core...
13 | c.ThreadsPerCore = 1
14 | c.LogicalCores = c.PhysicalCores
15 | return false
16 | }
17 |
--------------------------------------------------------------------------------
/vendor/github.com/klauspost/cpuid/v2/os_safe_linux_arm64.go:
--------------------------------------------------------------------------------
1 | // Copyright (c) 2021 Klaus Post, released under MIT License. See LICENSE file.
2 |
3 | //go:build nounsafe
4 | // +build nounsafe
5 |
6 | package cpuid
7 |
8 | var hwcap uint
9 |
--------------------------------------------------------------------------------
/vendor/github.com/klauspost/cpuid/v2/os_unsafe_linux_arm64.go:
--------------------------------------------------------------------------------
1 | // Copyright (c) 2021 Klaus Post, released under MIT License. See LICENSE file.
2 |
3 | //go:build !nounsafe
4 | // +build !nounsafe
5 |
6 | package cpuid
7 |
8 | import _ "unsafe" // needed for go:linkname
9 |
10 | //go:linkname hwcap internal/cpu.HWCap
11 | var hwcap uint
12 |
--------------------------------------------------------------------------------
/vendor/github.com/klauspost/cpuid/v2/test-architectures.sh:
--------------------------------------------------------------------------------
1 | #!/bin/sh
2 |
3 | set -e
4 |
5 | go tool dist list | while IFS=/ read os arch; do
6 | echo "Checking $os/$arch..."
7 | echo " normal"
8 | GOARCH=$arch GOOS=$os go build -o /dev/null .
9 | echo " noasm"
10 | GOARCH=$arch GOOS=$os go build -tags noasm -o /dev/null .
11 | echo " appengine"
12 | GOARCH=$arch GOOS=$os go build -tags appengine -o /dev/null .
13 | echo " noasm,appengine"
14 | GOARCH=$arch GOOS=$os go build -tags 'appengine noasm' -o /dev/null .
15 | done
16 |
--------------------------------------------------------------------------------
/vendor/github.com/klauspost/reedsolomon/.gitignore:
--------------------------------------------------------------------------------
1 | # Compiled Object files, Static and Dynamic libs (Shared Objects)
2 | *.o
3 | *.a
4 | *.so
5 |
6 | # Folders
7 | _obj
8 | _test
9 |
10 | # Architecture specific extensions/prefixes
11 | *.[568vq]
12 | [568vq].out
13 |
14 | *.cgo1.go
15 | *.cgo2.c
16 | _cgo_defun.c
17 | _cgo_gotypes.go
18 | _cgo_export.*
19 |
20 | _testmain.go
21 |
22 | *.exe
23 | *.test
24 | *.prof
25 |
26 | .idea
--------------------------------------------------------------------------------
/vendor/github.com/klauspost/reedsolomon/galois_gen_none.go:
--------------------------------------------------------------------------------
1 | //go:build !(amd64 || arm64) || noasm || appengine || gccgo || nogen
2 |
3 | package reedsolomon
4 |
5 | const (
6 | codeGen = false
7 | codeGenMaxGoroutines = 8
8 | codeGenMaxInputs = 1
9 | codeGenMaxOutputs = 1
10 | minCodeGenSize = 1
11 | )
12 |
13 | func (r *reedSolomon) hasCodeGen(int, int, int) (_, _ *func(matrix []byte, in, out [][]byte, start, stop int) int, ok bool) {
14 | return nil, nil, false
15 | }
16 |
17 | func (r *reedSolomon) canGFNI(int, int, int) (_, _ *func(matrix []uint64, in, out [][]byte, start, stop int) int, ok bool) {
18 | return nil, nil, false
19 | }
20 |
--------------------------------------------------------------------------------
/vendor/github.com/klauspost/reedsolomon/galois_gen_switch_nopshufb_arm64.go:
--------------------------------------------------------------------------------
1 | // Code generated by command: go generate gen.go. DO NOT EDIT.
2 |
3 | //go:build !appengine && !noasm && gc && !nogen && nopshufb
4 | // +build !appengine,!noasm,gc,!nogen,nopshufb
5 |
6 | package reedsolomon
7 |
8 | const (
9 | codeGen = false
10 | codeGenMaxGoroutines = 16
11 | codeGenMaxInputs = 10
12 | codeGenMaxOutputs = 10
13 | minCodeGenSize = 64
14 | )
15 |
16 | func (r *reedSolomon) hasCodeGen(byteCount int, inputs, outputs int) (_, _ *func(matrix []byte, in, out [][]byte, start, stop int) int, ok bool) {
17 | return nil, nil, false
18 | }
19 |
20 | func (r *reedSolomon) canGFNI(byteCount int, inputs, outputs int) (_, _ *func(matrix []uint64, in, out [][]byte, start, stop int) int, ok bool) {
21 | return nil, nil, false
22 | }
23 |
--------------------------------------------------------------------------------
/vendor/github.com/klauspost/reedsolomon/unsafe_disabled.go:
--------------------------------------------------------------------------------
1 | //go:build noasm || nounsafe || gccgo || appengine
2 |
3 | /**
4 | * Reed-Solomon Coding over 8-bit values.
5 | *
6 | * Copyright 2023, Klaus Post
7 | */
8 |
9 | package reedsolomon
10 |
11 | // AllocAligned allocates 'shards' slices, with 'each' bytes.
12 | // Each slice will start on a 64 byte aligned boundary.
13 | func AllocAligned(shards, each int) [][]byte {
14 | eachAligned := ((each + 63) / 64) * 64
15 | total := make([]byte, eachAligned*shards+63)
16 | // We cannot do initial align without "unsafe", just use native alignment.
17 | res := make([][]byte, shards)
18 | for i := range res {
19 | res[i] = total[:each:eachAligned]
20 | total = total[eachAligned:]
21 | }
22 | return res
23 | }
24 |
--------------------------------------------------------------------------------
/vendor/github.com/klauspost/reedsolomon/xor_arm64.go:
--------------------------------------------------------------------------------
1 | //go:build !noasm && !appengine && !gccgo
2 |
3 | package reedsolomon
4 |
5 | //go:noescape
6 | func xorSliceNEON(in, out []byte)
7 |
8 | // simple slice xor
9 | func sliceXor(in, out []byte, o *options) {
10 | xorSliceNEON(in, out)
11 | done := (len(in) >> 5) << 5
12 |
13 | remain := len(in) - done
14 | if remain > 0 {
15 | for i := done; i < len(in); i++ {
16 | out[i] ^= in[i]
17 | }
18 | }
19 | }
20 |
--------------------------------------------------------------------------------
/vendor/github.com/klauspost/reedsolomon/xor_arm64.s:
--------------------------------------------------------------------------------
1 | //+build !noasm
2 | //+build !appengine
3 | //+build !gccgo
4 |
5 | // func xorSliceNEON(in, out []byte)
6 | TEXT ·xorSliceNEON(SB), 7, $0
7 | MOVD in_base+0(FP), R1
8 | MOVD in_len+8(FP), R2 // length of message
9 | MOVD out_base+24(FP), R5
10 | SUBS $32, R2
11 | BMI completeXor
12 |
13 | loopXor:
14 | // Main loop
15 | VLD1.P 32(R1), [V0.B16, V1.B16]
16 | VLD1 (R5), [V20.B16, V21.B16]
17 |
18 | VEOR V20.B16, V0.B16, V4.B16
19 | VEOR V21.B16, V1.B16, V5.B16
20 |
21 | // Store result
22 | VST1.P [V4.D2, V5.D2], 32(R5)
23 |
24 | SUBS $32, R2
25 | BPL loopXor
26 |
27 | completeXor:
28 | RET
29 |
30 |
--------------------------------------------------------------------------------
/vendor/github.com/klauspost/reedsolomon/xor_noasm.go:
--------------------------------------------------------------------------------
1 | //go:build noasm || gccgo || appengine || (!amd64 && !arm64)
2 |
3 | package reedsolomon
4 |
5 | func sliceXor(in, out []byte, o *options) {
6 | sliceXorGo(in, out, o)
7 | }
8 |
--------------------------------------------------------------------------------
/vendor/github.com/libp2p/go-buffer-pool/codecov.yml:
--------------------------------------------------------------------------------
1 | coverage:
2 | range: "50...100"
3 | comment: off
4 |
--------------------------------------------------------------------------------
/vendor/github.com/libp2p/go-buffer-pool/version.json:
--------------------------------------------------------------------------------
1 | {
2 | "version": "v0.1.0"
3 | }
4 |
--------------------------------------------------------------------------------
/vendor/github.com/libp2p/go-msgio/fuzz.go:
--------------------------------------------------------------------------------
1 | //go:build gofuzz
2 |
3 | package msgio
4 |
5 | import "bytes"
6 |
7 | // get the go-fuzz tools and build a fuzzer
8 | // $ go get -u github.com/dvyukov/go-fuzz/...
9 | // $ go-fuzz-build github.com/libp2p/go-msgio
10 |
11 | // put a corpus of random (even better if actual, structured) data in a corpus directry
12 | // $ go-fuzz -bin ./msgio-fuzz -corpus corpus -workdir=wdir -timeout=15
13 |
14 | func Fuzz(data []byte) int {
15 | rc := NewReader(bytes.NewReader(data))
16 | // rc := NewVarintReader(bytes.NewReader(data))
17 |
18 | if _, err := rc.ReadMsg(); err != nil {
19 | return 0
20 | }
21 |
22 | return 1
23 | }
24 |
--------------------------------------------------------------------------------
/vendor/github.com/libp2p/go-msgio/num.go:
--------------------------------------------------------------------------------
1 | package msgio
2 |
3 | import (
4 | "encoding/binary"
5 | "io"
6 | )
7 |
8 | // NBO is NetworkByteOrder
9 | var NBO = binary.BigEndian
10 |
11 | // WriteLen writes a length to the given writer.
12 | func WriteLen(w io.Writer, l int) error {
13 | ul := uint32(l)
14 | return binary.Write(w, NBO, &ul)
15 | }
16 |
17 | // ReadLen reads a length from the given reader.
18 | // if buf is non-nil, it reuses the buffer. Ex:
19 | //
20 | // l, err := ReadLen(r, nil)
21 | // _, err := ReadLen(r, buf)
22 | func ReadLen(r io.Reader, buf []byte) (int, error) {
23 | if len(buf) < 4 {
24 | buf = make([]byte, 4)
25 | }
26 | buf = buf[:4]
27 |
28 | if _, err := io.ReadFull(r, buf); err != nil {
29 | return 0, err
30 | }
31 |
32 | n := int(NBO.Uint32(buf))
33 | return n, nil
34 | }
35 |
--------------------------------------------------------------------------------
/vendor/github.com/libp2p/go-msgio/version.json:
--------------------------------------------------------------------------------
1 | {
2 | "version": "v0.3.0"
3 | }
4 |
--------------------------------------------------------------------------------
/vendor/github.com/libp2p/go-yamux/.gitignore:
--------------------------------------------------------------------------------
1 | # Compiled Object files, Static and Dynamic libs (Shared Objects)
2 | *.o
3 | *.a
4 | *.so
5 |
6 | # Folders
7 | _obj
8 | _test
9 |
10 | # Architecture specific extensions/prefixes
11 | *.[568vq]
12 | [568vq].out
13 |
14 | *.cgo1.go
15 | *.cgo2.c
16 | _cgo_defun.c
17 | _cgo_gotypes.go
18 | _cgo_export.*
19 |
20 | _testmain.go
21 |
22 | *.exe
23 | *.test
24 |
--------------------------------------------------------------------------------
/vendor/github.com/libp2p/go-yamux/.travis.yml:
--------------------------------------------------------------------------------
1 | os:
2 | - linux
3 |
4 | language: go
5 |
6 | go:
7 | - 1.14.x
8 |
9 | env:
10 | global:
11 | - BUILD_DEPTYPE=gomod
12 | matrix:
13 | - GOTFLAGS="-race"
14 | - GOTFLAGS="-count 5"
15 |
16 |
17 | # disable travis install
18 | install:
19 | - true
20 |
21 | script:
22 | - bash <(curl -s https://raw.githubusercontent.com/ipfs/ci-helpers/master/travis-ci/run-standard-tests.sh)
23 |
24 |
25 | cache:
26 | directories:
27 | - $GOPATH/pkg/mod
28 | - $HOME/.cache/go-build
29 |
30 | notifications:
31 | email: false
32 |
--------------------------------------------------------------------------------
/vendor/github.com/libp2p/go-yamux/ping.go:
--------------------------------------------------------------------------------
1 | package yamux
2 |
3 | import "time"
4 |
5 | type ping struct {
6 | id uint32
7 | // written to by the session on ping response
8 | pingResponse chan struct{}
9 |
10 | // closed by the Ping call that sent the ping when done.
11 | done chan struct{}
12 | // result set before done is closed.
13 | err error
14 | duration time.Duration
15 | }
16 |
17 | func newPing(id uint32) *ping {
18 | return &ping{
19 | id: id,
20 | pingResponse: make(chan struct{}, 1),
21 | done: make(chan struct{}),
22 | }
23 | }
24 |
25 | func (p *ping) finish(val time.Duration, err error) {
26 | p.err = err
27 | p.duration = val
28 | close(p.done)
29 | }
30 |
31 | func (p *ping) wait() (time.Duration, error) {
32 | <-p.done
33 | return p.duration, p.err
34 | }
35 |
--------------------------------------------------------------------------------
/vendor/github.com/miekg/dns/.codecov.yml:
--------------------------------------------------------------------------------
1 | coverage:
2 | status:
3 | project:
4 | default:
5 | target: 40%
6 | threshold: null
7 | patch: false
8 | changes: false
9 |
--------------------------------------------------------------------------------
/vendor/github.com/miekg/dns/.gitignore:
--------------------------------------------------------------------------------
1 | *.6
2 | tags
3 | test.out
4 | a.out
5 |
--------------------------------------------------------------------------------
/vendor/github.com/miekg/dns/AUTHORS:
--------------------------------------------------------------------------------
1 | Miek Gieben
2 |
--------------------------------------------------------------------------------
/vendor/github.com/miekg/dns/CODEOWNERS:
--------------------------------------------------------------------------------
1 | * @miekg @tmthrgd
2 |
--------------------------------------------------------------------------------
/vendor/github.com/miekg/dns/CONTRIBUTORS:
--------------------------------------------------------------------------------
1 | Alex A. Skinner
2 | Andrew Tunnell-Jones
3 | Ask Bjørn Hansen
4 | Dave Cheney
5 | Dusty Wilson
6 | Marek Majkowski
7 | Peter van Dijk
8 | Omri Bahumi
9 | Alex Sergeyev
10 | James Hartig
11 |
--------------------------------------------------------------------------------
/vendor/github.com/miekg/dns/COPYRIGHT:
--------------------------------------------------------------------------------
1 | Copyright 2009 The Go Authors. All rights reserved. Use of this source code
2 | is governed by a BSD-style license that can be found in the LICENSE file.
3 | Extensions of the original work are copyright (c) 2011 Miek Gieben
4 |
5 | Copyright 2011 Miek Gieben. All rights reserved. Use of this source code is
6 | governed by a BSD-style license that can be found in the LICENSE file.
7 |
8 | Copyright 2014 CloudFlare. All rights reserved. Use of this source code is
9 | governed by a BSD-style license that can be found in the LICENSE file.
10 |
--------------------------------------------------------------------------------
/vendor/github.com/miekg/dns/Makefile.fuzz:
--------------------------------------------------------------------------------
1 | # Makefile for fuzzing
2 | #
3 | # Use go-fuzz and needs the tools installed.
4 | # See https://blog.cloudflare.com/dns-parser-meet-go-fuzzer/
5 | #
6 | # Installing go-fuzz:
7 | # $ make -f Makefile.fuzz get
8 | # Installs:
9 | # * github.com/dvyukov/go-fuzz/go-fuzz
10 | # * get github.com/dvyukov/go-fuzz/go-fuzz-build
11 |
12 | all: build
13 |
14 | .PHONY: build
15 | build:
16 | go-fuzz-build -tags fuzz github.com/miekg/dns
17 |
18 | .PHONY: build-newrr
19 | build-newrr:
20 | go-fuzz-build -func FuzzNewRR -tags fuzz github.com/miekg/dns
21 |
22 | .PHONY: fuzz
23 | fuzz:
24 | go-fuzz -bin=dns-fuzz.zip -workdir=fuzz
25 |
26 | .PHONY: get
27 | get:
28 | go get github.com/dvyukov/go-fuzz/go-fuzz
29 | go get github.com/dvyukov/go-fuzz/go-fuzz-build
30 |
31 | .PHONY: clean
32 | clean:
33 | rm *-fuzz.zip
34 |
--------------------------------------------------------------------------------
/vendor/github.com/miekg/dns/fuzz.go:
--------------------------------------------------------------------------------
1 | //go:build fuzz
2 | // +build fuzz
3 |
4 | package dns
5 |
6 | import "strings"
7 |
8 | func Fuzz(data []byte) int {
9 | msg := new(Msg)
10 |
11 | if err := msg.Unpack(data); err != nil {
12 | return 0
13 | }
14 | if _, err := msg.Pack(); err != nil {
15 | return 0
16 | }
17 |
18 | return 1
19 | }
20 |
21 | func FuzzNewRR(data []byte) int {
22 | str := string(data)
23 | // Do not fuzz lines that include the $INCLUDE keyword and hint the fuzzer
24 | // at avoiding them.
25 | // See GH#1025 for context.
26 | if strings.Contains(strings.ToUpper(str), "$INCLUDE") {
27 | return -1
28 | }
29 | if _, err := NewRR(str); err != nil {
30 | return 0
31 | }
32 | return 1
33 | }
34 |
--------------------------------------------------------------------------------
/vendor/github.com/miekg/dns/listen_no_reuseport.go:
--------------------------------------------------------------------------------
1 | //go:build !aix && !darwin && !dragonfly && !freebsd && !linux && !netbsd && !openbsd
2 | // +build !aix,!darwin,!dragonfly,!freebsd,!linux,!netbsd,!openbsd
3 |
4 | package dns
5 |
6 | import "net"
7 |
8 | const supportsReusePort = false
9 |
10 | func listenTCP(network, addr string, reuseport, reuseaddr bool) (net.Listener, error) {
11 | if reuseport || reuseaddr {
12 | // TODO(tmthrgd): return an error?
13 | }
14 |
15 | return net.Listen(network, addr)
16 | }
17 |
18 | const supportsReuseAddr = false
19 |
20 | func listenUDP(network, addr string, reuseport, reuseaddr bool) (net.PacketConn, error) {
21 | if reuseport || reuseaddr {
22 | // TODO(tmthrgd): return an error?
23 | }
24 |
25 | return net.ListenPacket(network, addr)
26 | }
27 |
--------------------------------------------------------------------------------
/vendor/github.com/miekg/dns/tools.go:
--------------------------------------------------------------------------------
1 | //go:build tools
2 | // +build tools
3 |
4 | // We include our tool dependencies for `go generate` here to ensure they're
5 | // properly tracked by the go tool. See the Go Wiki for the rationale behind this:
6 | // https://github.com/golang/go/wiki/Modules#how-can-i-track-tool-dependencies-for-a-module.
7 |
8 | package dns
9 |
10 | import _ "golang.org/x/tools/go/packages"
11 |
--------------------------------------------------------------------------------
/vendor/github.com/miekg/dns/version.go:
--------------------------------------------------------------------------------
1 | package dns
2 |
3 | import "fmt"
4 |
5 | // Version is current version of this library.
6 | var Version = v{1, 1, 62}
7 |
8 | // v holds the version of this library.
9 | type v struct {
10 | Major, Minor, Patch int
11 | }
12 |
13 | func (v v) String() string {
14 | return fmt.Sprintf("%d.%d.%d", v.Major, v.Minor, v.Patch)
15 | }
16 |
--------------------------------------------------------------------------------
/vendor/github.com/multiformats/go-varint/codecov.yml:
--------------------------------------------------------------------------------
1 | ignore:
2 | - "multiaddr"
3 |
--------------------------------------------------------------------------------
/vendor/github.com/multiformats/go-varint/version.json:
--------------------------------------------------------------------------------
1 | {
2 | "version": "v0.0.7"
3 | }
4 |
--------------------------------------------------------------------------------
/vendor/github.com/pkg/errors/.gitignore:
--------------------------------------------------------------------------------
1 | # Compiled Object files, Static and Dynamic libs (Shared Objects)
2 | *.o
3 | *.a
4 | *.so
5 |
6 | # Folders
7 | _obj
8 | _test
9 |
10 | # Architecture specific extensions/prefixes
11 | *.[568vq]
12 | [568vq].out
13 |
14 | *.cgo1.go
15 | *.cgo2.c
16 | _cgo_defun.c
17 | _cgo_gotypes.go
18 | _cgo_export.*
19 |
20 | _testmain.go
21 |
22 | *.exe
23 | *.test
24 | *.prof
25 |
--------------------------------------------------------------------------------
/vendor/github.com/pkg/errors/.travis.yml:
--------------------------------------------------------------------------------
1 | language: go
2 | go_import_path: github.com/pkg/errors
3 | go:
4 | - 1.11.x
5 | - 1.12.x
6 | - 1.13.x
7 | - tip
8 |
9 | script:
10 | - make check
11 |
--------------------------------------------------------------------------------
/vendor/github.com/pkg/errors/appveyor.yml:
--------------------------------------------------------------------------------
1 | version: build-{build}.{branch}
2 |
3 | clone_folder: C:\gopath\src\github.com\pkg\errors
4 | shallow_clone: true # for startup speed
5 |
6 | environment:
7 | GOPATH: C:\gopath
8 |
9 | platform:
10 | - x64
11 |
12 | # http://www.appveyor.com/docs/installed-software
13 | install:
14 | # some helpful output for debugging builds
15 | - go version
16 | - go env
17 | # pre-installed MinGW at C:\MinGW is 32bit only
18 | # but MSYS2 at C:\msys64 has mingw64
19 | - set PATH=C:\msys64\mingw64\bin;%PATH%
20 | - gcc --version
21 | - g++ --version
22 |
23 | build_script:
24 | - go install -v ./...
25 |
26 | test_script:
27 | - set PATH=C:\gopath\bin;%PATH%
28 | - go test -v ./...
29 |
30 | #artifacts:
31 | # - path: '%GOPATH%\bin\*.exe'
32 | deploy: off
33 |
--------------------------------------------------------------------------------
/vendor/github.com/russross/blackfriday/v2/.gitignore:
--------------------------------------------------------------------------------
1 | *.out
2 | *.swp
3 | *.8
4 | *.6
5 | _obj
6 | _test*
7 | markdown
8 | tags
9 |
--------------------------------------------------------------------------------
/vendor/github.com/russross/blackfriday/v2/.travis.yml:
--------------------------------------------------------------------------------
1 | sudo: false
2 | language: go
3 | go:
4 | - "1.10.x"
5 | - "1.11.x"
6 | - tip
7 | matrix:
8 | fast_finish: true
9 | allow_failures:
10 | - go: tip
11 | install:
12 | - # Do nothing. This is needed to prevent default install action "go get -t -v ./..." from happening here (we want it to happen inside script step).
13 | script:
14 | - go get -t -v ./...
15 | - diff -u <(echo -n) <(gofmt -d -s .)
16 | - go tool vet .
17 | - go test -v ./...
18 |
--------------------------------------------------------------------------------
/vendor/github.com/satori/go.uuid/.travis.yml:
--------------------------------------------------------------------------------
1 | language: go
2 | sudo: false
3 | go:
4 | - 1.6.x
5 | - 1.7.x
6 | - 1.8.x
7 | - 1.9.x
8 | - 1.10.x
9 | - 1.11.x
10 | - tip
11 | matrix:
12 | allow_failures:
13 | - go: tip
14 | fast_finish: true
15 | before_install:
16 | - go get github.com/mattn/goveralls
17 | - go get golang.org/x/tools/cmd/cover
18 | script:
19 | - $HOME/gopath/bin/goveralls -service=travis-ci
20 | notifications:
21 | email: false
22 |
--------------------------------------------------------------------------------
/vendor/github.com/templexxx/cpu/.gitignore:
--------------------------------------------------------------------------------
1 | # Binaries for programs and plugins
2 | *.exe
3 | *.exe~
4 | *.dll
5 | *.so
6 | *.dylib
7 |
8 | # Test binary, build with `go test -c`
9 | *.test
10 |
11 | # Output of the go coverage tool, specifically when used with LiteIDE
12 | *.out
13 | .idea/
14 |
--------------------------------------------------------------------------------
/vendor/github.com/templexxx/cpu/README.md:
--------------------------------------------------------------------------------
1 | # cpu
2 | internal/cpu(in Go standard lib) with these detections:
3 |
4 | >- AVX512
5 | >
6 | >- Cache Size
7 | >
8 | >- Invariant TSC
9 | >
10 |
11 | It also provides:
12 |
13 | >- False sharing range, see `X86FalseSharingRange` for X86 platform.
14 | >
15 | >- TSC frequency
16 | >
17 | >- Name
18 | >
19 | >- Family & Model
20 |
21 | # Acknowledgement
22 |
23 | [klauspost/cpuid](https://github.com/klauspost/cpuid)
--------------------------------------------------------------------------------
/vendor/github.com/templexxx/cpu/cpu_386.go:
--------------------------------------------------------------------------------
1 | // Copyright 2018 The Go Authors. All rights reserved.
2 | // Use of this source code is governed by a BSD-style
3 | // license that can be found in the LICENSE file.
4 |
5 | package cpu
6 |
7 | const GOARCH = "386"
8 |
--------------------------------------------------------------------------------
/vendor/github.com/templexxx/cpu/cpu_amd64.go:
--------------------------------------------------------------------------------
1 | // Copyright 2018 The Go Authors. All rights reserved.
2 | // Use of this source code is governed by a BSD-style
3 | // license that can be found in the LICENSE file.
4 |
5 | package cpu
6 |
7 | const GOARCH = "amd64"
8 |
--------------------------------------------------------------------------------
/vendor/github.com/templexxx/cpu/cpu_amd64p32.go:
--------------------------------------------------------------------------------
1 | // Copyright 2018 The Go Authors. All rights reserved.
2 | // Use of this source code is governed by a BSD-style
3 | // license that can be found in the LICENSE file.
4 |
5 | package cpu
6 |
7 | const GOARCH = "amd64p32"
8 |
--------------------------------------------------------------------------------
/vendor/github.com/templexxx/cpu/cpu_arm.go:
--------------------------------------------------------------------------------
1 | // Copyright 2017 The Go Authors. All rights reserved.
2 | // Use of this source code is governed by a BSD-style
3 | // license that can be found in the LICENSE file.
4 |
5 | package cpu
6 |
7 | const CacheLineSize = 32
8 |
--------------------------------------------------------------------------------
/vendor/github.com/templexxx/cpu/cpu_loong64.go:
--------------------------------------------------------------------------------
1 | // Copyright 2019 The Go Authors. All rights reserved.
2 | // Use of this source code is governed by a BSD-style
3 | // license that can be found in the LICENSE file.
4 |
5 | package cpu
6 |
7 | const CacheLineSize = 64
8 |
9 | func doinit() {
10 | }
11 |
--------------------------------------------------------------------------------
/vendor/github.com/templexxx/cpu/cpu_mips.go:
--------------------------------------------------------------------------------
1 | // Copyright 2017 The Go Authors. All rights reserved.
2 | // Use of this source code is governed by a BSD-style
3 | // license that can be found in the LICENSE file.
4 |
5 | package cpu
6 |
7 | const CacheLineSize = 32
8 |
--------------------------------------------------------------------------------
/vendor/github.com/templexxx/cpu/cpu_mips64.go:
--------------------------------------------------------------------------------
1 | // Copyright 2017 The Go Authors. All rights reserved.
2 | // Use of this source code is governed by a BSD-style
3 | // license that can be found in the LICENSE file.
4 |
5 | package cpu
6 |
7 | const CacheLineSize = 32
8 |
--------------------------------------------------------------------------------
/vendor/github.com/templexxx/cpu/cpu_mips64le.go:
--------------------------------------------------------------------------------
1 | // Copyright 2017 The Go Authors. All rights reserved.
2 | // Use of this source code is governed by a BSD-style
3 | // license that can be found in the LICENSE file.
4 |
5 | package cpu
6 |
7 | const CacheLineSize = 32
8 |
--------------------------------------------------------------------------------
/vendor/github.com/templexxx/cpu/cpu_mipsle.go:
--------------------------------------------------------------------------------
1 | // Copyright 2017 The Go Authors. All rights reserved.
2 | // Use of this source code is governed by a BSD-style
3 | // license that can be found in the LICENSE file.
4 |
5 | package cpu
6 |
7 | const CacheLineSize = 32
8 |
--------------------------------------------------------------------------------
/vendor/github.com/templexxx/cpu/cpu_no_init.go:
--------------------------------------------------------------------------------
1 | // Copyright 2018 The Go Authors. All rights reserved.
2 | // Use of this source code is governed by a BSD-style
3 | // license that can be found in the LICENSE file.
4 |
5 | // +build !386
6 | // +build !amd64
7 | // +build !amd64p32
8 | // +build !arm64
9 | // +build !loong64
10 | // +build !ppc64
11 | // +build !ppc64le
12 | // +build !riscv64
13 | // +build !s390x
14 |
15 | package cpu
16 |
17 | func doinit() {
18 | }
19 |
--------------------------------------------------------------------------------
/vendor/github.com/templexxx/cpu/cpu_riscv64.go:
--------------------------------------------------------------------------------
1 | // Copyright 2019 The Go Authors. All rights reserved.
2 | // Use of this source code is governed by a BSD-style
3 | // license that can be found in the LICENSE file.
4 |
5 | package cpu
6 |
7 | const CacheLineSize = 32
8 |
9 | func doinit() {
10 | }
11 |
--------------------------------------------------------------------------------
/vendor/github.com/templexxx/cpu/cpu_wasm.go:
--------------------------------------------------------------------------------
1 | // Copyright 2018 The Go Authors. All rights reserved.
2 | // Use of this source code is governed by a BSD-style
3 | // license that can be found in the LICENSE file.
4 |
5 | package cpu
6 |
7 | const CacheLineSize = 64
8 |
--------------------------------------------------------------------------------
/vendor/github.com/templexxx/cpu/cpu_x86.s:
--------------------------------------------------------------------------------
1 | // Copyright 2017 The Go Authors. All rights reserved.
2 | // Use of this source code is governed by a BSD-style
3 | // license that can be found in the LICENSE file.
4 |
5 | // +build 386 amd64 amd64p32
6 |
7 | // func cpuid(eaxArg, ecxArg uint32) (eax, ebx, ecx, edx uint32)
8 | TEXT ·cpuid(SB), 4, $0-24
9 | MOVL eaxArg+0(FP), AX
10 | MOVL ecxArg+4(FP), CX
11 | CPUID
12 | MOVL AX, eax+8(FP)
13 | MOVL BX, ebx+12(FP)
14 | MOVL CX, ecx+16(FP)
15 | MOVL DX, edx+20(FP)
16 | RET
17 |
18 | // func xgetbv() (eax, edx uint32)
19 | TEXT ·xgetbv(SB),4,$0-8
20 | #ifdef GOOS_nacl
21 | // nacl does not support XGETBV.
22 | MOVL $0, eax+0(FP)
23 | MOVL $0, edx+4(FP)
24 | #else
25 | MOVL $0, CX
26 | XGETBV
27 | MOVL AX, eax+0(FP)
28 | MOVL DX, edx+4(FP)
29 | #endif
30 | RET
31 |
--------------------------------------------------------------------------------
/vendor/github.com/templexxx/cpufeat/.gitignore:
--------------------------------------------------------------------------------
1 | # Binaries for programs and plugins
2 | *.exe
3 | *.dll
4 | *.so
5 | *.dylib
6 |
7 | # Test binary, build with `go test -c`
8 | *.test
9 |
10 | # Output of the go coverage tool, specifically when used with LiteIDE
11 | *.out
12 |
13 | # Project-local glide cache, RE: https://github.com/Masterminds/glide/issues/736
14 | .glide/
15 | .idea
16 |
--------------------------------------------------------------------------------
/vendor/github.com/templexxx/cpufeat/README.md:
--------------------------------------------------------------------------------
1 | see: https://github.com/templexxx/cpu
2 |
--------------------------------------------------------------------------------
/vendor/github.com/templexxx/cpufeat/cpu_arm.go:
--------------------------------------------------------------------------------
1 | // Copyright 2017 The Go Authors. All rights reserved.
2 | // Use of this source code is governed by a BSD-style
3 | // license that can be found in the LICENSE file.
4 |
5 | package cpufeat
6 |
7 | const CacheLineSize = 32
8 |
--------------------------------------------------------------------------------
/vendor/github.com/templexxx/cpufeat/cpu_arm64.go:
--------------------------------------------------------------------------------
1 | // Copyright 2017 The Go Authors. All rights reserved.
2 | // Use of this source code is governed by a BSD-style
3 | // license that can be found in the LICENSE file.
4 |
5 | package cpufeat
6 |
7 | const CacheLineSize = 32
8 |
--------------------------------------------------------------------------------
/vendor/github.com/templexxx/cpufeat/cpu_mips.go:
--------------------------------------------------------------------------------
1 | // Copyright 2017 The Go Authors. All rights reserved.
2 | // Use of this source code is governed by a BSD-style
3 | // license that can be found in the LICENSE file.
4 |
5 | package cpufeat
6 |
7 | const CacheLineSize = 32
8 |
--------------------------------------------------------------------------------
/vendor/github.com/templexxx/cpufeat/cpu_mips64.go:
--------------------------------------------------------------------------------
1 | // Copyright 2017 The Go Authors. All rights reserved.
2 | // Use of this source code is governed by a BSD-style
3 | // license that can be found in the LICENSE file.
4 |
5 | package cpufeat
6 |
7 | const CacheLineSize = 32
8 |
--------------------------------------------------------------------------------
/vendor/github.com/templexxx/cpufeat/cpu_mips64le.go:
--------------------------------------------------------------------------------
1 | // Copyright 2017 The Go Authors. All rights reserved.
2 | // Use of this source code is governed by a BSD-style
3 | // license that can be found in the LICENSE file.
4 |
5 | package cpufeat
6 |
7 | const CacheLineSize = 32
8 |
--------------------------------------------------------------------------------
/vendor/github.com/templexxx/cpufeat/cpu_mipsle.go:
--------------------------------------------------------------------------------
1 | // Copyright 2017 The Go Authors. All rights reserved.
2 | // Use of this source code is governed by a BSD-style
3 | // license that can be found in the LICENSE file.
4 |
5 | package cpufeat
6 |
7 | const CacheLineSize = 32
8 |
--------------------------------------------------------------------------------
/vendor/github.com/templexxx/cpufeat/cpu_ppc64.go:
--------------------------------------------------------------------------------
1 | // Copyright 2017 The Go Authors. All rights reserved.
2 | // Use of this source code is governed by a BSD-style
3 | // license that can be found in the LICENSE file.
4 |
5 | package cpufeat
6 |
7 | const CacheLineSize = 128
8 |
--------------------------------------------------------------------------------
/vendor/github.com/templexxx/cpufeat/cpu_ppc64le.go:
--------------------------------------------------------------------------------
1 | // Copyright 2017 The Go Authors. All rights reserved.
2 | // Use of this source code is governed by a BSD-style
3 | // license that can be found in the LICENSE file.
4 |
5 | package cpufeat
6 |
7 | const CacheLineSize = 128
8 |
--------------------------------------------------------------------------------
/vendor/github.com/templexxx/cpufeat/cpu_s390x.go:
--------------------------------------------------------------------------------
1 | // Copyright 2017 The Go Authors. All rights reserved.
2 | // Use of this source code is governed by a BSD-style
3 | // license that can be found in the LICENSE file.
4 |
5 | package cpufeat
6 |
7 | const CacheLineSize = 256
8 |
--------------------------------------------------------------------------------
/vendor/github.com/templexxx/cpufeat/cpu_x86.s:
--------------------------------------------------------------------------------
1 | // Copyright 2017 The Go Authors. All rights reserved.
2 | // Use of this source code is governed by a BSD-style
3 | // license that can be found in the LICENSE file.
4 |
5 | // +build 386 amd64 amd64p32
6 |
7 | #include "textflag.h"
8 |
9 | // func cpuid(eaxArg, ecxArg uint32) (eax, ebx, ecx, edx uint32)
10 | TEXT ·cpuid(SB), NOSPLIT, $0-24
11 | MOVL eaxArg+0(FP), AX
12 | MOVL ecxArg+4(FP), CX
13 | CPUID
14 | MOVL AX, eax+8(FP)
15 | MOVL BX, ebx+12(FP)
16 | MOVL CX, ecx+16(FP)
17 | MOVL DX, edx+20(FP)
18 | RET
19 |
20 | // func xgetbv() (eax, edx uint32)
21 | TEXT ·xgetbv(SB),NOSPLIT,$0-8
22 | #ifdef GOOS_nacl
23 | // nacl does not support XGETBV.
24 | MOVL $0, eax+0(FP)
25 | MOVL $0, edx+4(FP)
26 | #else
27 | MOVL $0, CX
28 | WORD $0x010f; BYTE $0xd0 //XGETBV
29 | MOVL AX, eax+0(FP)
30 | MOVL DX, edx+4(FP)
31 | #endif
32 | RET
33 |
--------------------------------------------------------------------------------
/vendor/github.com/templexxx/xor/.gitattributes:
--------------------------------------------------------------------------------
1 | *.s linguist-language=go
2 |
--------------------------------------------------------------------------------
/vendor/github.com/templexxx/xor/.gitignore:
--------------------------------------------------------------------------------
1 | # Binaries for programs and plugins
2 | *.exe
3 | *.dll
4 | *.so
5 | *.dylib
6 |
7 | # Test binary, build with `go test -c`
8 | *.test
9 |
10 | # Output of the go coverage tool, specifically when used with LiteIDE
11 | *.out
12 |
13 | # Project-local glide cache, RE: https://github.com/Masterminds/glide/issues/736
14 | .glide/
15 | /backup/
16 | /backup2/
17 | /.idea
18 | /backup3/
19 |
--------------------------------------------------------------------------------
/vendor/github.com/templexxx/xor/xor_other.go:
--------------------------------------------------------------------------------
1 | // +build !amd64 noasm
2 |
3 | package xor
4 |
5 | func xorBytes(dst, src0, src1 []byte, size int) {
6 | bytesNoSIMD(dst, src0, src1, size)
7 | }
8 |
9 | func xorMatrix(dst []byte, src [][]byte) {
10 | matrixNoSIMD(dst, src)
11 | }
12 |
13 | func xorSrc0(dst, src0, src1 []byte) {
14 | bytesNoSIMD(dst, src0, src1, len(src0))
15 | }
16 |
17 | func xorSrc1(dst, src0, src1 []byte) {
18 | bytesNoSIMD(dst, src0, src1, len(src1))
19 | }
20 |
--------------------------------------------------------------------------------
/vendor/github.com/templexxx/xorsimd/.gitattributes:
--------------------------------------------------------------------------------
1 | *.s linguist-language=go:x
2 |
--------------------------------------------------------------------------------
/vendor/github.com/templexxx/xorsimd/.gitignore:
--------------------------------------------------------------------------------
1 | # Binaries for programs and plugins
2 | *.exe
3 | *.exe~
4 | *.dll
5 | *.so
6 | *.dylib
7 |
8 | # Test binary, build with `go test -c`
9 | *.test
10 |
11 | # Output of the go coverage tool, specifically when used with LiteIDE
12 | *.out
13 | .idea
14 |
--------------------------------------------------------------------------------
/vendor/github.com/urfave/cli/v2/.flake8:
--------------------------------------------------------------------------------
1 | [flake8]
2 | max-line-length = 120
3 |
--------------------------------------------------------------------------------
/vendor/github.com/urfave/cli/v2/.gitignore:
--------------------------------------------------------------------------------
1 | *.coverprofile
2 | *.exe
3 | *.orig
4 | .*envrc
5 | .envrc
6 | .idea
7 | # goimports is installed here if not available
8 | /.local/
9 | /site/
10 | coverage.txt
11 | internal/*/built-example
12 | vendor
13 | /cmd/urfave-cli-genflags/urfave-cli-genflags
14 | *.exe
15 |
--------------------------------------------------------------------------------
/vendor/github.com/urfave/cli/v2/.golangci.yaml:
--------------------------------------------------------------------------------
1 | # https://golangci-lint.run/usage/configuration/
2 | linters:
3 | enable:
4 | - misspell
5 |
--------------------------------------------------------------------------------
/vendor/github.com/urfave/cli/v2/cli.go:
--------------------------------------------------------------------------------
1 | // Package cli provides a minimal framework for creating and organizing command line
2 | // Go applications. cli is designed to be easy to understand and write, the most simple
3 | // cli application can be written as follows:
4 | //
5 | // func main() {
6 | // (&cli.App{}).Run(os.Args)
7 | // }
8 | //
9 | // Of course this application does not do much, so let's make this an actual application:
10 | //
11 | // func main() {
12 | // app := &cli.App{
13 | // Name: "greet",
14 | // Usage: "say a greeting",
15 | // Action: func(c *cli.Context) error {
16 | // fmt.Println("Greetings")
17 | // return nil
18 | // },
19 | // }
20 | //
21 | // app.Run(os.Args)
22 | // }
23 | package cli
24 |
25 | //go:generate make -C cmd/urfave-cli-genflags run
26 |
--------------------------------------------------------------------------------
/vendor/github.com/urfave/cli/v2/mkdocs-reqs.txt:
--------------------------------------------------------------------------------
1 | mkdocs-git-revision-date-localized-plugin~=1.0
2 | mkdocs-material-extensions~=1.0
3 | mkdocs-material~=8.2
4 | mkdocs~=1.3
5 | pygments~=2.12
6 |
--------------------------------------------------------------------------------
/vendor/github.com/urfave/cli/v2/sort.go:
--------------------------------------------------------------------------------
1 | package cli
2 |
3 | import "unicode"
4 |
5 | // lexicographicLess compares strings alphabetically considering case.
6 | func lexicographicLess(i, j string) bool {
7 | iRunes := []rune(i)
8 | jRunes := []rune(j)
9 |
10 | lenShared := len(iRunes)
11 | if lenShared > len(jRunes) {
12 | lenShared = len(jRunes)
13 | }
14 |
15 | for index := 0; index < lenShared; index++ {
16 | ir := iRunes[index]
17 | jr := jRunes[index]
18 |
19 | if lir, ljr := unicode.ToLower(ir), unicode.ToLower(jr); lir != ljr {
20 | return lir < ljr
21 | }
22 |
23 | if ir != jr {
24 | return ir < jr
25 | }
26 | }
27 |
28 | return i < j
29 | }
30 |
--------------------------------------------------------------------------------
/vendor/github.com/xrash/smetrics/.travis.yml:
--------------------------------------------------------------------------------
1 | language: go
2 | go:
3 | - 1.11
4 | - 1.12
5 | - 1.13
6 | - 1.14.x
7 | - master
8 | script:
9 | - cd tests && make
10 |
--------------------------------------------------------------------------------
/vendor/github.com/xrash/smetrics/doc.go:
--------------------------------------------------------------------------------
1 | /*
2 | Package smetrics provides a bunch of algorithms for calculating
3 | the distance between strings.
4 |
5 | There are implementations for calculating the popular Levenshtein
6 | distance (aka Edit Distance or Wagner-Fischer), as well as the Jaro
7 | distance, the Jaro-Winkler distance, and more.
8 |
9 | For the Levenshtein distance, you can use the functions WagnerFischer()
10 | and Ukkonen(). Read the documentation on these functions.
11 |
12 | For the Jaro and Jaro-Winkler algorithms, check the functions
13 | Jaro() and JaroWinkler(). Read the documentation on these functions.
14 |
15 | For the Soundex algorithm, check the function Soundex().
16 |
17 | For the Hamming distance algorithm, check the function Hamming().
18 | */
19 | package smetrics
20 |
--------------------------------------------------------------------------------
/vendor/github.com/xrash/smetrics/hamming.go:
--------------------------------------------------------------------------------
1 | package smetrics
2 |
3 | import (
4 | "fmt"
5 | )
6 |
7 | // The Hamming distance is the minimum number of substitutions required to change string A into string B. Both strings must have the same size. If the strings have different sizes, the function returns an error.
8 | func Hamming(a, b string) (int, error) {
9 | al := len(a)
10 | bl := len(b)
11 |
12 | if al != bl {
13 | return -1, fmt.Errorf("strings are not equal (len(a)=%d, len(b)=%d)", al, bl)
14 | }
15 |
16 | var difference = 0
17 |
18 | for i := range a {
19 | if a[i] != b[i] {
20 | difference = difference + 1
21 | }
22 | }
23 |
24 | return difference, nil
25 | }
26 |
--------------------------------------------------------------------------------
/vendor/github.com/xtaci/kcp-go/.gitignore:
--------------------------------------------------------------------------------
1 | # Compiled Object files, Static and Dynamic libs (Shared Objects)
2 | *.o
3 | *.a
4 | *.so
5 |
6 | # Folders
7 | _obj
8 | _test
9 |
10 | # Architecture specific extensions/prefixes
11 | *.[568vq]
12 | [568vq].out
13 |
14 | *.cgo1.go
15 | *.cgo2.c
16 | _cgo_defun.c
17 | _cgo_gotypes.go
18 | _cgo_export.*
19 |
20 | _testmain.go
21 |
22 | *.exe
23 | *.test
24 | *.prof
25 |
--------------------------------------------------------------------------------
/vendor/github.com/xtaci/kcp-go/.travis.yml:
--------------------------------------------------------------------------------
1 | language: go
2 | go:
3 | - 1.9.x
4 | - 1.10.x
5 | - 1.11.x
6 |
7 | before_install:
8 | - go get -t -v ./...
9 |
10 | install:
11 | - go get github.com/xtaci/kcp-go
12 |
13 | script:
14 | - go test -coverprofile=coverage.txt -covermode=atomic -bench .
15 |
16 | after_success:
17 | - bash <(curl -s https://codecov.io/bash)
18 |
--------------------------------------------------------------------------------
/vendor/github.com/xtaci/kcp-go/batchconn.go:
--------------------------------------------------------------------------------
1 | package kcp
2 |
3 | import "golang.org/x/net/ipv4"
4 |
5 | const (
6 | batchSize = 16
7 | )
8 |
9 | type batchConn interface {
10 | WriteBatch(ms []ipv4.Message, flags int) (int, error)
11 | ReadBatch(ms []ipv4.Message, flags int) (int, error)
12 | }
13 |
--------------------------------------------------------------------------------
/vendor/github.com/xtaci/kcp-go/donate.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/OpenIoTHub/server-go/f7310370514b5b8af3deb750636cb526532488e5/vendor/github.com/xtaci/kcp-go/donate.png
--------------------------------------------------------------------------------
/vendor/github.com/xtaci/kcp-go/flame.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/OpenIoTHub/server-go/f7310370514b5b8af3deb750636cb526532488e5/vendor/github.com/xtaci/kcp-go/flame.png
--------------------------------------------------------------------------------
/vendor/github.com/xtaci/kcp-go/frame.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/OpenIoTHub/server-go/f7310370514b5b8af3deb750636cb526532488e5/vendor/github.com/xtaci/kcp-go/frame.png
--------------------------------------------------------------------------------
/vendor/github.com/xtaci/kcp-go/kcp-go.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/OpenIoTHub/server-go/f7310370514b5b8af3deb750636cb526532488e5/vendor/github.com/xtaci/kcp-go/kcp-go.png
--------------------------------------------------------------------------------
/vendor/github.com/xtaci/kcp-go/readloop_generic.go:
--------------------------------------------------------------------------------
1 | // +build !linux
2 |
3 | package kcp
4 |
5 | func (s *UDPSession) readLoop() {
6 | s.defaultReadLoop()
7 | }
8 |
9 | func (l *Listener) monitor() {
10 | l.defaultMonitor()
11 | }
12 |
--------------------------------------------------------------------------------
/vendor/github.com/xtaci/kcp-go/tx.go:
--------------------------------------------------------------------------------
1 | package kcp
2 |
3 | import (
4 | "sync/atomic"
5 |
6 | "github.com/pkg/errors"
7 | "golang.org/x/net/ipv4"
8 | )
9 |
10 | func (s *UDPSession) defaultTx(txqueue []ipv4.Message) {
11 | nbytes := 0
12 | npkts := 0
13 | for k := range txqueue {
14 | if n, err := s.conn.WriteTo(txqueue[k].Buffers[0], txqueue[k].Addr); err == nil {
15 | nbytes += n
16 | npkts++
17 | } else {
18 | s.notifyWriteError(errors.WithStack(err))
19 | break
20 | }
21 | }
22 | atomic.AddUint64(&DefaultSnmp.OutPkts, uint64(npkts))
23 | atomic.AddUint64(&DefaultSnmp.OutBytes, uint64(nbytes))
24 | }
25 |
--------------------------------------------------------------------------------
/vendor/github.com/xtaci/kcp-go/tx_generic.go:
--------------------------------------------------------------------------------
1 | // +build !linux
2 |
3 | package kcp
4 |
5 | import (
6 | "golang.org/x/net/ipv4"
7 | )
8 |
9 | func (s *UDPSession) tx(txqueue []ipv4.Message) {
10 | s.defaultTx(txqueue)
11 | }
12 |
--------------------------------------------------------------------------------
/vendor/github.com/xtaci/kcp-go/v5/.gitignore:
--------------------------------------------------------------------------------
1 | # Compiled Object files, Static and Dynamic libs (Shared Objects)
2 | *.o
3 | *.a
4 | *.so
5 |
6 | # Folders
7 | _obj
8 | _test
9 | /vendor/
10 |
11 | # Architecture specific extensions/prefixes
12 | *.[568vq]
13 | [568vq].out
14 |
15 | *.cgo1.go
16 | *.cgo2.c
17 | _cgo_defun.c
18 | _cgo_gotypes.go
19 | _cgo_export.*
20 |
21 | _testmain.go
22 |
23 | *.exe
24 | *.test
25 | *.prof
26 |
--------------------------------------------------------------------------------
/vendor/github.com/xtaci/kcp-go/v5/.travis.yml:
--------------------------------------------------------------------------------
1 | arch:
2 | - amd64
3 | - ppc64le
4 | language: go
5 |
6 | go:
7 | - 1.11.x
8 | - 1.12.x
9 | - 1.13.x
10 |
11 | env:
12 | - GO111MODULE=on
13 |
14 | before_install:
15 | - go get -t -v ./...
16 |
17 | install:
18 | - go get github.com/xtaci/kcp-go
19 |
20 | script:
21 | - go test -coverprofile=coverage.txt -covermode=atomic -bench . -timeout 10m
22 |
23 | after_success:
24 | - bash <(curl -s https://codecov.io/bash)
25 |
--------------------------------------------------------------------------------
/vendor/github.com/xtaci/kcp-go/v5/pkg.go:
--------------------------------------------------------------------------------
1 | // Package kcp-go is a Reliable-UDP library for golang.
2 | //
3 | // This library intents to provide a smooth, resilient, ordered,
4 | // error-checked and anonymous delivery of streams over UDP packets.
5 | //
6 | // The interfaces of this package aims to be compatible with
7 | // net.Conn in standard library, but offers powerful features for advanced users.
8 | package kcp
9 |
--------------------------------------------------------------------------------
/vendor/github.com/xtaci/kcp-go/wechat_donate.jpg:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/OpenIoTHub/server-go/f7310370514b5b8af3deb750636cb526532488e5/vendor/github.com/xtaci/kcp-go/wechat_donate.jpg
--------------------------------------------------------------------------------
/vendor/golang.org/x/crypto/salsa20/salsa/salsa20_noasm.go:
--------------------------------------------------------------------------------
1 | // Copyright 2019 The Go Authors. All rights reserved.
2 | // Use of this source code is governed by a BSD-style
3 | // license that can be found in the LICENSE file.
4 |
5 | //go:build !amd64 || purego || !gc
6 |
7 | package salsa
8 |
9 | // XORKeyStream crypts bytes from in to out using the given key and counters.
10 | // In and out must overlap entirely or not at all. Counter
11 | // contains the raw salsa20 counter bytes (both nonce and block counter).
12 | func XORKeyStream(out, in []byte, counter *[16]byte, key *[32]byte) {
13 | genericXORKeyStream(out, in, counter, key)
14 | }
15 |
--------------------------------------------------------------------------------
/vendor/golang.org/x/net/bpf/setter.go:
--------------------------------------------------------------------------------
1 | // Copyright 2017 The Go Authors. All rights reserved.
2 | // Use of this source code is governed by a BSD-style
3 | // license that can be found in the LICENSE file.
4 |
5 | package bpf
6 |
7 | // A Setter is a type which can attach a compiled BPF filter to itself.
8 | type Setter interface {
9 | SetBPF(filter []RawInstruction) error
10 | }
11 |
--------------------------------------------------------------------------------
/vendor/golang.org/x/net/http2/.gitignore:
--------------------------------------------------------------------------------
1 | *~
2 | h2i/h2i
3 |
--------------------------------------------------------------------------------
/vendor/golang.org/x/net/http2/timer.go:
--------------------------------------------------------------------------------
1 | // Copyright 2024 The Go Authors. All rights reserved.
2 | // Use of this source code is governed by a BSD-style
3 | // license that can be found in the LICENSE file.
4 | package http2
5 |
6 | import "time"
7 |
8 | // A timer is a time.Timer, as an interface which can be replaced in tests.
9 | type timer = interface {
10 | C() <-chan time.Time
11 | Reset(d time.Duration) bool
12 | Stop() bool
13 | }
14 |
15 | // timeTimer adapts a time.Timer to the timer interface.
16 | type timeTimer struct {
17 | *time.Timer
18 | }
19 |
20 | func (t timeTimer) C() <-chan time.Time { return t.Timer.C }
21 |
--------------------------------------------------------------------------------
/vendor/golang.org/x/net/idna/go118.go:
--------------------------------------------------------------------------------
1 | // Code generated by running "go generate" in golang.org/x/text. DO NOT EDIT.
2 |
3 | // Copyright 2021 The Go Authors. All rights reserved.
4 | // Use of this source code is governed by a BSD-style
5 | // license that can be found in the LICENSE file.
6 |
7 | //go:build go1.18
8 |
9 | package idna
10 |
11 | // Transitional processing is disabled by default in Go 1.18.
12 | // https://golang.org/issue/47510
13 | const transitionalLookup = false
14 |
--------------------------------------------------------------------------------
/vendor/golang.org/x/net/idna/pre_go118.go:
--------------------------------------------------------------------------------
1 | // Code generated by running "go generate" in golang.org/x/text. DO NOT EDIT.
2 |
3 | // Copyright 2021 The Go Authors. All rights reserved.
4 | // Use of this source code is governed by a BSD-style
5 | // license that can be found in the LICENSE file.
6 |
7 | //go:build !go1.18
8 |
9 | package idna
10 |
11 | const transitionalLookup = true
12 |
--------------------------------------------------------------------------------
/vendor/golang.org/x/net/internal/socket/cmsghdr.go:
--------------------------------------------------------------------------------
1 | // Copyright 2017 The Go Authors. All rights reserved.
2 | // Use of this source code is governed by a BSD-style
3 | // license that can be found in the LICENSE file.
4 |
5 | //go:build aix || darwin || dragonfly || freebsd || linux || netbsd || openbsd || solaris || zos
6 |
7 | package socket
8 |
9 | func (h *cmsghdr) len() int { return int(h.Len) }
10 | func (h *cmsghdr) lvl() int { return int(h.Level) }
11 | func (h *cmsghdr) typ() int { return int(h.Type) }
12 |
--------------------------------------------------------------------------------
/vendor/golang.org/x/net/internal/socket/cmsghdr_bsd.go:
--------------------------------------------------------------------------------
1 | // Copyright 2017 The Go Authors. All rights reserved.
2 | // Use of this source code is governed by a BSD-style
3 | // license that can be found in the LICENSE file.
4 |
5 | //go:build aix || darwin || dragonfly || freebsd || netbsd || openbsd
6 |
7 | package socket
8 |
9 | func (h *cmsghdr) set(l, lvl, typ int) {
10 | h.Len = uint32(l)
11 | h.Level = int32(lvl)
12 | h.Type = int32(typ)
13 | }
14 |
--------------------------------------------------------------------------------
/vendor/golang.org/x/net/internal/socket/cmsghdr_linux_32bit.go:
--------------------------------------------------------------------------------
1 | // Copyright 2017 The Go Authors. All rights reserved.
2 | // Use of this source code is governed by a BSD-style
3 | // license that can be found in the LICENSE file.
4 |
5 | //go:build (arm || mips || mipsle || 386 || ppc) && linux
6 |
7 | package socket
8 |
9 | func (h *cmsghdr) set(l, lvl, typ int) {
10 | h.Len = uint32(l)
11 | h.Level = int32(lvl)
12 | h.Type = int32(typ)
13 | }
14 |
--------------------------------------------------------------------------------
/vendor/golang.org/x/net/internal/socket/cmsghdr_linux_64bit.go:
--------------------------------------------------------------------------------
1 | // Copyright 2017 The Go Authors. All rights reserved.
2 | // Use of this source code is governed by a BSD-style
3 | // license that can be found in the LICENSE file.
4 |
5 | //go:build (arm64 || amd64 || loong64 || ppc64 || ppc64le || mips64 || mips64le || riscv64 || s390x) && linux
6 |
7 | package socket
8 |
9 | func (h *cmsghdr) set(l, lvl, typ int) {
10 | h.Len = uint64(l)
11 | h.Level = int32(lvl)
12 | h.Type = int32(typ)
13 | }
14 |
--------------------------------------------------------------------------------
/vendor/golang.org/x/net/internal/socket/cmsghdr_solaris_64bit.go:
--------------------------------------------------------------------------------
1 | // Copyright 2017 The Go Authors. All rights reserved.
2 | // Use of this source code is governed by a BSD-style
3 | // license that can be found in the LICENSE file.
4 |
5 | //go:build amd64 && solaris
6 |
7 | package socket
8 |
9 | func (h *cmsghdr) set(l, lvl, typ int) {
10 | h.Len = uint32(l)
11 | h.Level = int32(lvl)
12 | h.Type = int32(typ)
13 | }
14 |
--------------------------------------------------------------------------------
/vendor/golang.org/x/net/internal/socket/cmsghdr_stub.go:
--------------------------------------------------------------------------------
1 | // Copyright 2017 The Go Authors. All rights reserved.
2 | // Use of this source code is governed by a BSD-style
3 | // license that can be found in the LICENSE file.
4 |
5 | //go:build !aix && !darwin && !dragonfly && !freebsd && !linux && !netbsd && !openbsd && !solaris && !zos
6 |
7 | package socket
8 |
9 | func controlHeaderLen() int {
10 | return 0
11 | }
12 |
13 | func controlMessageLen(dataLen int) int {
14 | return 0
15 | }
16 |
17 | func controlMessageSpace(dataLen int) int {
18 | return 0
19 | }
20 |
21 | type cmsghdr struct{}
22 |
23 | func (h *cmsghdr) len() int { return 0 }
24 | func (h *cmsghdr) lvl() int { return 0 }
25 | func (h *cmsghdr) typ() int { return 0 }
26 |
27 | func (h *cmsghdr) set(l, lvl, typ int) {}
28 |
--------------------------------------------------------------------------------
/vendor/golang.org/x/net/internal/socket/cmsghdr_unix.go:
--------------------------------------------------------------------------------
1 | // Copyright 2020 The Go Authors. All rights reserved.
2 | // Use of this source code is governed by a BSD-style
3 | // license that can be found in the LICENSE file.
4 |
5 | //go:build aix || darwin || dragonfly || freebsd || linux || netbsd || openbsd || solaris || zos
6 |
7 | package socket
8 |
9 | import "golang.org/x/sys/unix"
10 |
11 | func controlHeaderLen() int {
12 | return unix.CmsgLen(0)
13 | }
14 |
15 | func controlMessageLen(dataLen int) int {
16 | return unix.CmsgLen(dataLen)
17 | }
18 |
19 | func controlMessageSpace(dataLen int) int {
20 | return unix.CmsgSpace(dataLen)
21 | }
22 |
--------------------------------------------------------------------------------
/vendor/golang.org/x/net/internal/socket/cmsghdr_zos_s390x.go:
--------------------------------------------------------------------------------
1 | // Copyright 2020 The Go Authors. All rights reserved.
2 | // Use of this source code is governed by a BSD-style
3 | // license that can be found in the LICENSE file.
4 |
5 | package socket
6 |
7 | func (h *cmsghdr) set(l, lvl, typ int) {
8 | h.Len = int32(l)
9 | h.Level = int32(lvl)
10 | h.Type = int32(typ)
11 | }
12 |
--------------------------------------------------------------------------------
/vendor/golang.org/x/net/internal/socket/complete_dontwait.go:
--------------------------------------------------------------------------------
1 | // Copyright 2021 The Go Authors. All rights reserved.
2 | // Use of this source code is governed by a BSD-style
3 | // license that can be found in the LICENSE file.
4 |
5 | //go:build darwin || dragonfly || freebsd || linux || netbsd || openbsd || solaris
6 |
7 | package socket
8 |
9 | import (
10 | "syscall"
11 | )
12 |
13 | // ioComplete checks the flags and result of a syscall, to be used as return
14 | // value in a syscall.RawConn.Read or Write callback.
15 | func ioComplete(flags int, operr error) bool {
16 | if flags&syscall.MSG_DONTWAIT != 0 {
17 | // Caller explicitly said don't wait, so always return immediately.
18 | return true
19 | }
20 | if operr == syscall.EAGAIN || operr == syscall.EWOULDBLOCK {
21 | // No data available, block for I/O and try again.
22 | return false
23 | }
24 | return true
25 | }
26 |
--------------------------------------------------------------------------------
/vendor/golang.org/x/net/internal/socket/complete_nodontwait.go:
--------------------------------------------------------------------------------
1 | // Copyright 2021 The Go Authors. All rights reserved.
2 | // Use of this source code is governed by a BSD-style
3 | // license that can be found in the LICENSE file.
4 |
5 | //go:build aix || windows || zos
6 |
7 | package socket
8 |
9 | import (
10 | "syscall"
11 | )
12 |
13 | // ioComplete checks the flags and result of a syscall, to be used as return
14 | // value in a syscall.RawConn.Read or Write callback.
15 | func ioComplete(flags int, operr error) bool {
16 | if operr == syscall.EAGAIN || operr == syscall.EWOULDBLOCK {
17 | // No data available, block for I/O and try again.
18 | return false
19 | }
20 | return true
21 | }
22 |
--------------------------------------------------------------------------------
/vendor/golang.org/x/net/internal/socket/empty.s:
--------------------------------------------------------------------------------
1 | // Copyright 2018 The Go Authors. All rights reserved.
2 | // Use of this source code is governed by a BSD-style
3 | // license that can be found in the LICENSE file.
4 |
5 | //go:build darwin && go1.12
6 |
7 | // This exists solely so we can linkname in symbols from syscall.
8 |
--------------------------------------------------------------------------------
/vendor/golang.org/x/net/internal/socket/error_unix.go:
--------------------------------------------------------------------------------
1 | // Copyright 2017 The Go Authors. All rights reserved.
2 | // Use of this source code is governed by a BSD-style
3 | // license that can be found in the LICENSE file.
4 |
5 | //go:build aix || darwin || dragonfly || freebsd || linux || netbsd || openbsd || solaris || zos
6 |
7 | package socket
8 |
9 | import "syscall"
10 |
11 | var (
12 | errEAGAIN error = syscall.EAGAIN
13 | errEINVAL error = syscall.EINVAL
14 | errENOENT error = syscall.ENOENT
15 | )
16 |
17 | // errnoErr returns common boxed Errno values, to prevent allocations
18 | // at runtime.
19 | func errnoErr(errno syscall.Errno) error {
20 | switch errno {
21 | case 0:
22 | return nil
23 | case syscall.EAGAIN:
24 | return errEAGAIN
25 | case syscall.EINVAL:
26 | return errEINVAL
27 | case syscall.ENOENT:
28 | return errENOENT
29 | }
30 | return errno
31 | }
32 |
--------------------------------------------------------------------------------
/vendor/golang.org/x/net/internal/socket/error_windows.go:
--------------------------------------------------------------------------------
1 | // Copyright 2017 The Go Authors. All rights reserved.
2 | // Use of this source code is governed by a BSD-style
3 | // license that can be found in the LICENSE file.
4 |
5 | package socket
6 |
7 | import "syscall"
8 |
9 | var (
10 | errERROR_IO_PENDING error = syscall.ERROR_IO_PENDING
11 | errEINVAL error = syscall.EINVAL
12 | )
13 |
14 | // errnoErr returns common boxed Errno values, to prevent allocations
15 | // at runtime.
16 | func errnoErr(errno syscall.Errno) error {
17 | switch errno {
18 | case 0:
19 | return nil
20 | case syscall.ERROR_IO_PENDING:
21 | return errERROR_IO_PENDING
22 | case syscall.EINVAL:
23 | return errEINVAL
24 | }
25 | return errno
26 | }
27 |
--------------------------------------------------------------------------------
/vendor/golang.org/x/net/internal/socket/iovec_32bit.go:
--------------------------------------------------------------------------------
1 | // Copyright 2017 The Go Authors. All rights reserved.
2 | // Use of this source code is governed by a BSD-style
3 | // license that can be found in the LICENSE file.
4 |
5 | //go:build (arm || mips || mipsle || 386 || ppc) && (darwin || dragonfly || freebsd || linux || netbsd || openbsd)
6 |
7 | package socket
8 |
9 | import "unsafe"
10 |
11 | func (v *iovec) set(b []byte) {
12 | l := len(b)
13 | if l == 0 {
14 | return
15 | }
16 | v.Base = (*byte)(unsafe.Pointer(&b[0]))
17 | v.Len = uint32(l)
18 | }
19 |
--------------------------------------------------------------------------------
/vendor/golang.org/x/net/internal/socket/iovec_64bit.go:
--------------------------------------------------------------------------------
1 | // Copyright 2017 The Go Authors. All rights reserved.
2 | // Use of this source code is governed by a BSD-style
3 | // license that can be found in the LICENSE file.
4 |
5 | //go:build (arm64 || amd64 || loong64 || ppc64 || ppc64le || mips64 || mips64le || riscv64 || s390x) && (aix || darwin || dragonfly || freebsd || linux || netbsd || openbsd || zos)
6 |
7 | package socket
8 |
9 | import "unsafe"
10 |
11 | func (v *iovec) set(b []byte) {
12 | l := len(b)
13 | if l == 0 {
14 | return
15 | }
16 | v.Base = (*byte)(unsafe.Pointer(&b[0]))
17 | v.Len = uint64(l)
18 | }
19 |
--------------------------------------------------------------------------------
/vendor/golang.org/x/net/internal/socket/iovec_solaris_64bit.go:
--------------------------------------------------------------------------------
1 | // Copyright 2017 The Go Authors. All rights reserved.
2 | // Use of this source code is governed by a BSD-style
3 | // license that can be found in the LICENSE file.
4 |
5 | //go:build amd64 && solaris
6 |
7 | package socket
8 |
9 | import "unsafe"
10 |
11 | func (v *iovec) set(b []byte) {
12 | l := len(b)
13 | if l == 0 {
14 | return
15 | }
16 | v.Base = (*int8)(unsafe.Pointer(&b[0]))
17 | v.Len = uint64(l)
18 | }
19 |
--------------------------------------------------------------------------------
/vendor/golang.org/x/net/internal/socket/iovec_stub.go:
--------------------------------------------------------------------------------
1 | // Copyright 2017 The Go Authors. All rights reserved.
2 | // Use of this source code is governed by a BSD-style
3 | // license that can be found in the LICENSE file.
4 |
5 | //go:build !aix && !darwin && !dragonfly && !freebsd && !linux && !netbsd && !openbsd && !solaris && !zos
6 |
7 | package socket
8 |
9 | type iovec struct{}
10 |
11 | func (v *iovec) set(b []byte) {}
12 |
--------------------------------------------------------------------------------
/vendor/golang.org/x/net/internal/socket/mmsghdr_stub.go:
--------------------------------------------------------------------------------
1 | // Copyright 2017 The Go Authors. All rights reserved.
2 | // Use of this source code is governed by a BSD-style
3 | // license that can be found in the LICENSE file.
4 |
5 | //go:build !aix && !linux && !netbsd
6 |
7 | package socket
8 |
9 | import "net"
10 |
11 | type mmsghdr struct{}
12 |
13 | type mmsghdrs []mmsghdr
14 |
15 | func (hs mmsghdrs) pack(ms []Message, parseFn func([]byte, string) (net.Addr, error), marshalFn func(net.Addr) []byte) error {
16 | return nil
17 | }
18 |
19 | func (hs mmsghdrs) unpack(ms []Message, parseFn func([]byte, string) (net.Addr, error), hint string) error {
20 | return nil
21 | }
22 |
--------------------------------------------------------------------------------
/vendor/golang.org/x/net/internal/socket/msghdr_bsdvar.go:
--------------------------------------------------------------------------------
1 | // Copyright 2017 The Go Authors. All rights reserved.
2 | // Use of this source code is governed by a BSD-style
3 | // license that can be found in the LICENSE file.
4 |
5 | //go:build aix || darwin || dragonfly || freebsd || netbsd
6 |
7 | package socket
8 |
9 | func (h *msghdr) setIov(vs []iovec) {
10 | l := len(vs)
11 | if l == 0 {
12 | return
13 | }
14 | h.Iov = &vs[0]
15 | h.Iovlen = int32(l)
16 | }
17 |
--------------------------------------------------------------------------------
/vendor/golang.org/x/net/internal/socket/msghdr_linux_32bit.go:
--------------------------------------------------------------------------------
1 | // Copyright 2017 The Go Authors. All rights reserved.
2 | // Use of this source code is governed by a BSD-style
3 | // license that can be found in the LICENSE file.
4 |
5 | //go:build (arm || mips || mipsle || 386 || ppc) && linux
6 |
7 | package socket
8 |
9 | import "unsafe"
10 |
11 | func (h *msghdr) setIov(vs []iovec) {
12 | l := len(vs)
13 | if l == 0 {
14 | return
15 | }
16 | h.Iov = &vs[0]
17 | h.Iovlen = uint32(l)
18 | }
19 |
20 | func (h *msghdr) setControl(b []byte) {
21 | h.Control = (*byte)(unsafe.Pointer(&b[0]))
22 | h.Controllen = uint32(len(b))
23 | }
24 |
--------------------------------------------------------------------------------
/vendor/golang.org/x/net/internal/socket/msghdr_linux_64bit.go:
--------------------------------------------------------------------------------
1 | // Copyright 2017 The Go Authors. All rights reserved.
2 | // Use of this source code is governed by a BSD-style
3 | // license that can be found in the LICENSE file.
4 |
5 | //go:build (arm64 || amd64 || loong64 || ppc64 || ppc64le || mips64 || mips64le || riscv64 || s390x) && linux
6 |
7 | package socket
8 |
9 | import "unsafe"
10 |
11 | func (h *msghdr) setIov(vs []iovec) {
12 | l := len(vs)
13 | if l == 0 {
14 | return
15 | }
16 | h.Iov = &vs[0]
17 | h.Iovlen = uint64(l)
18 | }
19 |
20 | func (h *msghdr) setControl(b []byte) {
21 | h.Control = (*byte)(unsafe.Pointer(&b[0]))
22 | h.Controllen = uint64(len(b))
23 | }
24 |
--------------------------------------------------------------------------------
/vendor/golang.org/x/net/internal/socket/msghdr_openbsd.go:
--------------------------------------------------------------------------------
1 | // Copyright 2017 The Go Authors. All rights reserved.
2 | // Use of this source code is governed by a BSD-style
3 | // license that can be found in the LICENSE file.
4 |
5 | package socket
6 |
7 | func (h *msghdr) setIov(vs []iovec) {
8 | l := len(vs)
9 | if l == 0 {
10 | return
11 | }
12 | h.Iov = &vs[0]
13 | h.Iovlen = uint32(l)
14 | }
15 |
--------------------------------------------------------------------------------
/vendor/golang.org/x/net/internal/socket/msghdr_stub.go:
--------------------------------------------------------------------------------
1 | // Copyright 2017 The Go Authors. All rights reserved.
2 | // Use of this source code is governed by a BSD-style
3 | // license that can be found in the LICENSE file.
4 |
5 | //go:build !aix && !darwin && !dragonfly && !freebsd && !linux && !netbsd && !openbsd && !solaris && !zos
6 |
7 | package socket
8 |
9 | type msghdr struct{}
10 |
11 | func (h *msghdr) pack(vs []iovec, bs [][]byte, oob []byte, sa []byte) {}
12 | func (h *msghdr) name() []byte { return nil }
13 | func (h *msghdr) controllen() int { return 0 }
14 | func (h *msghdr) flags() int { return 0 }
15 |
--------------------------------------------------------------------------------
/vendor/golang.org/x/net/internal/socket/norace.go:
--------------------------------------------------------------------------------
1 | // Copyright 2019 The Go Authors. All rights reserved.
2 | // Use of this source code is governed by a BSD-style
3 | // license that can be found in the LICENSE file.
4 |
5 | //go:build !race
6 |
7 | package socket
8 |
9 | func (m *Message) raceRead() {
10 | }
11 | func (m *Message) raceWrite() {
12 | }
13 |
--------------------------------------------------------------------------------
/vendor/golang.org/x/net/internal/socket/rawconn_nommsg.go:
--------------------------------------------------------------------------------
1 | // Copyright 2017 The Go Authors. All rights reserved.
2 | // Use of this source code is governed by a BSD-style
3 | // license that can be found in the LICENSE file.
4 |
5 | //go:build !linux
6 |
7 | package socket
8 |
9 | func (c *Conn) recvMsgs(ms []Message, flags int) (int, error) {
10 | return 0, errNotImplemented
11 | }
12 |
13 | func (c *Conn) sendMsgs(ms []Message, flags int) (int, error) {
14 | return 0, errNotImplemented
15 | }
16 |
--------------------------------------------------------------------------------
/vendor/golang.org/x/net/internal/socket/rawconn_nomsg.go:
--------------------------------------------------------------------------------
1 | // Copyright 2017 The Go Authors. All rights reserved.
2 | // Use of this source code is governed by a BSD-style
3 | // license that can be found in the LICENSE file.
4 |
5 | //go:build !aix && !darwin && !dragonfly && !freebsd && !linux && !netbsd && !openbsd && !solaris && !windows && !zos
6 |
7 | package socket
8 |
9 | func (c *Conn) recvMsg(m *Message, flags int) error {
10 | return errNotImplemented
11 | }
12 |
13 | func (c *Conn) sendMsg(m *Message, flags int) error {
14 | return errNotImplemented
15 | }
16 |
--------------------------------------------------------------------------------
/vendor/golang.org/x/net/internal/socket/sys.go:
--------------------------------------------------------------------------------
1 | // Copyright 2017 The Go Authors. All rights reserved.
2 | // Use of this source code is governed by a BSD-style
3 | // license that can be found in the LICENSE file.
4 |
5 | package socket
6 |
7 | import (
8 | "encoding/binary"
9 | "unsafe"
10 | )
11 |
12 | // NativeEndian is the machine native endian implementation of ByteOrder.
13 | var NativeEndian binary.ByteOrder
14 |
15 | func init() {
16 | i := uint32(1)
17 | b := (*[4]byte)(unsafe.Pointer(&i))
18 | if b[0] == 1 {
19 | NativeEndian = binary.LittleEndian
20 | } else {
21 | NativeEndian = binary.BigEndian
22 | }
23 | }
24 |
--------------------------------------------------------------------------------
/vendor/golang.org/x/net/internal/socket/sys_bsd.go:
--------------------------------------------------------------------------------
1 | // Copyright 2017 The Go Authors. All rights reserved.
2 | // Use of this source code is governed by a BSD-style
3 | // license that can be found in the LICENSE file.
4 |
5 | //go:build aix || darwin || dragonfly || freebsd || openbsd || solaris
6 |
7 | package socket
8 |
9 | func recvmmsg(s uintptr, hs []mmsghdr, flags int) (int, error) {
10 | return 0, errNotImplemented
11 | }
12 |
13 | func sendmmsg(s uintptr, hs []mmsghdr, flags int) (int, error) {
14 | return 0, errNotImplemented
15 | }
16 |
--------------------------------------------------------------------------------
/vendor/golang.org/x/net/internal/socket/sys_const_unix.go:
--------------------------------------------------------------------------------
1 | // Copyright 2019 The Go Authors. All rights reserved.
2 | // Use of this source code is governed by a BSD-style
3 | // license that can be found in the LICENSE file.
4 |
5 | //go:build aix || darwin || dragonfly || freebsd || linux || netbsd || openbsd || solaris || zos
6 |
7 | package socket
8 |
9 | import "golang.org/x/sys/unix"
10 |
11 | const (
12 | sysAF_UNSPEC = unix.AF_UNSPEC
13 | sysAF_INET = unix.AF_INET
14 | sysAF_INET6 = unix.AF_INET6
15 |
16 | sysSOCK_RAW = unix.SOCK_RAW
17 |
18 | sizeofSockaddrInet4 = unix.SizeofSockaddrInet4
19 | sizeofSockaddrInet6 = unix.SizeofSockaddrInet6
20 | )
21 |
--------------------------------------------------------------------------------
/vendor/golang.org/x/net/internal/socket/sys_linux.go:
--------------------------------------------------------------------------------
1 | // Copyright 2017 The Go Authors. All rights reserved.
2 | // Use of this source code is governed by a BSD-style
3 | // license that can be found in the LICENSE file.
4 |
5 | //go:build linux && !s390x && !386
6 |
7 | package socket
8 |
9 | import (
10 | "syscall"
11 | "unsafe"
12 | )
13 |
14 | func recvmmsg(s uintptr, hs []mmsghdr, flags int) (int, error) {
15 | n, _, errno := syscall.Syscall6(sysRECVMMSG, s, uintptr(unsafe.Pointer(&hs[0])), uintptr(len(hs)), uintptr(flags), 0, 0)
16 | return int(n), errnoErr(errno)
17 | }
18 |
19 | func sendmmsg(s uintptr, hs []mmsghdr, flags int) (int, error) {
20 | n, _, errno := syscall.Syscall6(sysSENDMMSG, s, uintptr(unsafe.Pointer(&hs[0])), uintptr(len(hs)), uintptr(flags), 0, 0)
21 | return int(n), errnoErr(errno)
22 | }
23 |
--------------------------------------------------------------------------------
/vendor/golang.org/x/net/internal/socket/sys_linux_386.s:
--------------------------------------------------------------------------------
1 | // Copyright 2014 The Go Authors. All rights reserved.
2 | // Use of this source code is governed by a BSD-style
3 | // license that can be found in the LICENSE file.
4 |
5 | #include "textflag.h"
6 |
7 | TEXT ·socketcall(SB),NOSPLIT,$0-36
8 | JMP syscall·socketcall(SB)
9 |
10 | TEXT ·rawsocketcall(SB),NOSPLIT,$0-36
11 | JMP syscall·rawsocketcall(SB)
12 |
--------------------------------------------------------------------------------
/vendor/golang.org/x/net/internal/socket/sys_linux_amd64.go:
--------------------------------------------------------------------------------
1 | // Copyright 2017 The Go Authors. All rights reserved.
2 | // Use of this source code is governed by a BSD-style
3 | // license that can be found in the LICENSE file.
4 |
5 | package socket
6 |
7 | const (
8 | sysRECVMMSG = 0x12b
9 | sysSENDMMSG = 0x133
10 | )
11 |
--------------------------------------------------------------------------------
/vendor/golang.org/x/net/internal/socket/sys_linux_arm.go:
--------------------------------------------------------------------------------
1 | // Copyright 2017 The Go Authors. All rights reserved.
2 | // Use of this source code is governed by a BSD-style
3 | // license that can be found in the LICENSE file.
4 |
5 | package socket
6 |
7 | const (
8 | sysRECVMMSG = 0x16d
9 | sysSENDMMSG = 0x176
10 | )
11 |
--------------------------------------------------------------------------------
/vendor/golang.org/x/net/internal/socket/sys_linux_arm64.go:
--------------------------------------------------------------------------------
1 | // Copyright 2017 The Go Authors. All rights reserved.
2 | // Use of this source code is governed by a BSD-style
3 | // license that can be found in the LICENSE file.
4 |
5 | package socket
6 |
7 | const (
8 | sysRECVMMSG = 0xf3
9 | sysSENDMMSG = 0x10d
10 | )
11 |
--------------------------------------------------------------------------------
/vendor/golang.org/x/net/internal/socket/sys_linux_loong64.go:
--------------------------------------------------------------------------------
1 | // Copyright 2021 The Go Authors. All rights reserved.
2 | // Use of this source code is governed by a BSD-style
3 | // license that can be found in the LICENSE file.
4 |
5 | //go:build loong64
6 |
7 | package socket
8 |
9 | const (
10 | sysRECVMMSG = 0xf3
11 | sysSENDMMSG = 0x10d
12 | )
13 |
--------------------------------------------------------------------------------
/vendor/golang.org/x/net/internal/socket/sys_linux_mips.go:
--------------------------------------------------------------------------------
1 | // Copyright 2017 The Go Authors. All rights reserved.
2 | // Use of this source code is governed by a BSD-style
3 | // license that can be found in the LICENSE file.
4 |
5 | package socket
6 |
7 | const (
8 | sysRECVMMSG = 0x10ef
9 | sysSENDMMSG = 0x10f7
10 | )
11 |
--------------------------------------------------------------------------------
/vendor/golang.org/x/net/internal/socket/sys_linux_mips64.go:
--------------------------------------------------------------------------------
1 | // Copyright 2017 The Go Authors. All rights reserved.
2 | // Use of this source code is governed by a BSD-style
3 | // license that can be found in the LICENSE file.
4 |
5 | package socket
6 |
7 | const (
8 | sysRECVMMSG = 0x14ae
9 | sysSENDMMSG = 0x14b6
10 | )
11 |
--------------------------------------------------------------------------------
/vendor/golang.org/x/net/internal/socket/sys_linux_mips64le.go:
--------------------------------------------------------------------------------
1 | // Copyright 2017 The Go Authors. All rights reserved.
2 | // Use of this source code is governed by a BSD-style
3 | // license that can be found in the LICENSE file.
4 |
5 | package socket
6 |
7 | const (
8 | sysRECVMMSG = 0x14ae
9 | sysSENDMMSG = 0x14b6
10 | )
11 |
--------------------------------------------------------------------------------
/vendor/golang.org/x/net/internal/socket/sys_linux_mipsle.go:
--------------------------------------------------------------------------------
1 | // Copyright 2017 The Go Authors. All rights reserved.
2 | // Use of this source code is governed by a BSD-style
3 | // license that can be found in the LICENSE file.
4 |
5 | package socket
6 |
7 | const (
8 | sysRECVMMSG = 0x10ef
9 | sysSENDMMSG = 0x10f7
10 | )
11 |
--------------------------------------------------------------------------------
/vendor/golang.org/x/net/internal/socket/sys_linux_ppc.go:
--------------------------------------------------------------------------------
1 | // Copyright 2021 The Go Authors. All rights reserved.
2 | // Use of this source code is governed by a BSD-style
3 | // license that can be found in the LICENSE file.
4 |
5 | package socket
6 |
7 | const (
8 | sysRECVMMSG = 0x157
9 | sysSENDMMSG = 0x15d
10 | )
11 |
--------------------------------------------------------------------------------
/vendor/golang.org/x/net/internal/socket/sys_linux_ppc64.go:
--------------------------------------------------------------------------------
1 | // Copyright 2017 The Go Authors. All rights reserved.
2 | // Use of this source code is governed by a BSD-style
3 | // license that can be found in the LICENSE file.
4 |
5 | package socket
6 |
7 | const (
8 | sysRECVMMSG = 0x157
9 | sysSENDMMSG = 0x15d
10 | )
11 |
--------------------------------------------------------------------------------
/vendor/golang.org/x/net/internal/socket/sys_linux_ppc64le.go:
--------------------------------------------------------------------------------
1 | // Copyright 2017 The Go Authors. All rights reserved.
2 | // Use of this source code is governed by a BSD-style
3 | // license that can be found in the LICENSE file.
4 |
5 | package socket
6 |
7 | const (
8 | sysRECVMMSG = 0x157
9 | sysSENDMMSG = 0x15d
10 | )
11 |
--------------------------------------------------------------------------------
/vendor/golang.org/x/net/internal/socket/sys_linux_riscv64.go:
--------------------------------------------------------------------------------
1 | // Copyright 2019 The Go Authors. All rights reserved.
2 | // Use of this source code is governed by a BSD-style
3 | // license that can be found in the LICENSE file.
4 |
5 | //go:build riscv64
6 |
7 | package socket
8 |
9 | const (
10 | sysRECVMMSG = 0xf3
11 | sysSENDMMSG = 0x10d
12 | )
13 |
--------------------------------------------------------------------------------
/vendor/golang.org/x/net/internal/socket/sys_linux_s390x.s:
--------------------------------------------------------------------------------
1 | // Copyright 2017 The Go Authors. All rights reserved.
2 | // Use of this source code is governed by a BSD-style
3 | // license that can be found in the LICENSE file.
4 |
5 | #include "textflag.h"
6 |
7 | TEXT ·socketcall(SB),NOSPLIT,$0-72
8 | JMP syscall·socketcall(SB)
9 |
10 | TEXT ·rawsocketcall(SB),NOSPLIT,$0-72
11 | JMP syscall·rawsocketcall(SB)
12 |
--------------------------------------------------------------------------------
/vendor/golang.org/x/net/internal/socket/sys_netbsd.go:
--------------------------------------------------------------------------------
1 | // Copyright 2017 The Go Authors. All rights reserved.
2 | // Use of this source code is governed by a BSD-style
3 | // license that can be found in the LICENSE file.
4 |
5 | package socket
6 |
7 | import (
8 | "syscall"
9 | "unsafe"
10 | )
11 |
12 | const (
13 | sysRECVMMSG = 0x1db
14 | sysSENDMMSG = 0x1dc
15 | )
16 |
17 | func recvmmsg(s uintptr, hs []mmsghdr, flags int) (int, error) {
18 | n, _, errno := syscall.Syscall6(sysRECVMMSG, s, uintptr(unsafe.Pointer(&hs[0])), uintptr(len(hs)), uintptr(flags), 0, 0)
19 | return int(n), errnoErr(errno)
20 | }
21 |
22 | func sendmmsg(s uintptr, hs []mmsghdr, flags int) (int, error) {
23 | n, _, errno := syscall.Syscall6(sysSENDMMSG, s, uintptr(unsafe.Pointer(&hs[0])), uintptr(len(hs)), uintptr(flags), 0, 0)
24 | return int(n), errnoErr(errno)
25 | }
26 |
--------------------------------------------------------------------------------
/vendor/golang.org/x/net/internal/socket/sys_zos_s390x.s:
--------------------------------------------------------------------------------
1 | // Copyright 2020 The Go Authors. All rights reserved.
2 | // Use of this source code is governed by a BSD-style
3 | // license that can be found in the LICENSE file.
4 |
5 | #include "textflag.h"
6 |
7 | TEXT ·syscall_syscall(SB),NOSPLIT,$0
8 | JMP syscall·_syscall(SB)
9 |
10 | TEXT ·syscall_syscall6(SB),NOSPLIT,$0
11 | JMP syscall·_syscall6(SB)
12 |
--------------------------------------------------------------------------------
/vendor/golang.org/x/net/internal/socket/zsys_aix_ppc64.go:
--------------------------------------------------------------------------------
1 | // Code generated by cmd/cgo -godefs; DO NOT EDIT.
2 | // cgo -godefs defs_aix.go
3 |
4 | // Added for go1.11 compatibility
5 | //go:build aix
6 |
7 | package socket
8 |
9 | type iovec struct {
10 | Base *byte
11 | Len uint64
12 | }
13 |
14 | type msghdr struct {
15 | Name *byte
16 | Namelen uint32
17 | Iov *iovec
18 | Iovlen int32
19 | Control *byte
20 | Controllen uint32
21 | Flags int32
22 | }
23 |
24 | type mmsghdr struct {
25 | Hdr msghdr
26 | Len uint32
27 | Pad_cgo_0 [4]byte
28 | }
29 |
30 | type cmsghdr struct {
31 | Len uint32
32 | Level int32
33 | Type int32
34 | }
35 |
36 | const (
37 | sizeofIovec = 0x10
38 | sizeofMsghdr = 0x30
39 | )
40 |
--------------------------------------------------------------------------------
/vendor/golang.org/x/net/internal/socket/zsys_darwin_amd64.go:
--------------------------------------------------------------------------------
1 | // Code generated by cmd/cgo -godefs; DO NOT EDIT.
2 | // cgo -godefs defs_darwin.go
3 |
4 | package socket
5 |
6 | type iovec struct {
7 | Base *byte
8 | Len uint64
9 | }
10 |
11 | type msghdr struct {
12 | Name *byte
13 | Namelen uint32
14 | Pad_cgo_0 [4]byte
15 | Iov *iovec
16 | Iovlen int32
17 | Pad_cgo_1 [4]byte
18 | Control *byte
19 | Controllen uint32
20 | Flags int32
21 | }
22 |
23 | type cmsghdr struct {
24 | Len uint32
25 | Level int32
26 | Type int32
27 | }
28 |
29 | const (
30 | sizeofIovec = 0x10
31 | sizeofMsghdr = 0x30
32 | )
33 |
--------------------------------------------------------------------------------
/vendor/golang.org/x/net/internal/socket/zsys_darwin_arm64.go:
--------------------------------------------------------------------------------
1 | // Code generated by cmd/cgo -godefs; DO NOT EDIT.
2 | // cgo -godefs defs_darwin.go
3 |
4 | package socket
5 |
6 | type iovec struct {
7 | Base *byte
8 | Len uint64
9 | }
10 |
11 | type msghdr struct {
12 | Name *byte
13 | Namelen uint32
14 | Pad_cgo_0 [4]byte
15 | Iov *iovec
16 | Iovlen int32
17 | Pad_cgo_1 [4]byte
18 | Control *byte
19 | Controllen uint32
20 | Flags int32
21 | }
22 |
23 | type cmsghdr struct {
24 | Len uint32
25 | Level int32
26 | Type int32
27 | }
28 |
29 | const (
30 | sizeofIovec = 0x10
31 | sizeofMsghdr = 0x30
32 | )
33 |
--------------------------------------------------------------------------------
/vendor/golang.org/x/net/internal/socket/zsys_dragonfly_amd64.go:
--------------------------------------------------------------------------------
1 | // Code generated by cmd/cgo -godefs; DO NOT EDIT.
2 | // cgo -godefs defs_dragonfly.go
3 |
4 | package socket
5 |
6 | type iovec struct {
7 | Base *byte
8 | Len uint64
9 | }
10 |
11 | type msghdr struct {
12 | Name *byte
13 | Namelen uint32
14 | Pad_cgo_0 [4]byte
15 | Iov *iovec
16 | Iovlen int32
17 | Pad_cgo_1 [4]byte
18 | Control *byte
19 | Controllen uint32
20 | Flags int32
21 | }
22 |
23 | type cmsghdr struct {
24 | Len uint32
25 | Level int32
26 | Type int32
27 | }
28 |
29 | const (
30 | sizeofIovec = 0x10
31 | sizeofMsghdr = 0x30
32 | )
33 |
--------------------------------------------------------------------------------
/vendor/golang.org/x/net/internal/socket/zsys_freebsd_386.go:
--------------------------------------------------------------------------------
1 | // Code generated by cmd/cgo -godefs; DO NOT EDIT.
2 | // cgo -godefs defs_freebsd.go
3 |
4 | package socket
5 |
6 | type iovec struct {
7 | Base *byte
8 | Len uint32
9 | }
10 |
11 | type msghdr struct {
12 | Name *byte
13 | Namelen uint32
14 | Iov *iovec
15 | Iovlen int32
16 | Control *byte
17 | Controllen uint32
18 | Flags int32
19 | }
20 |
21 | type cmsghdr struct {
22 | Len uint32
23 | Level int32
24 | Type int32
25 | }
26 |
27 | const (
28 | sizeofIovec = 0x8
29 | sizeofMsghdr = 0x1c
30 | )
31 |
--------------------------------------------------------------------------------
/vendor/golang.org/x/net/internal/socket/zsys_freebsd_amd64.go:
--------------------------------------------------------------------------------
1 | // Code generated by cmd/cgo -godefs; DO NOT EDIT.
2 | // cgo -godefs defs_freebsd.go
3 |
4 | package socket
5 |
6 | type iovec struct {
7 | Base *byte
8 | Len uint64
9 | }
10 |
11 | type msghdr struct {
12 | Name *byte
13 | Namelen uint32
14 | Pad_cgo_0 [4]byte
15 | Iov *iovec
16 | Iovlen int32
17 | Pad_cgo_1 [4]byte
18 | Control *byte
19 | Controllen uint32
20 | Flags int32
21 | }
22 |
23 | type cmsghdr struct {
24 | Len uint32
25 | Level int32
26 | Type int32
27 | }
28 |
29 | const (
30 | sizeofIovec = 0x10
31 | sizeofMsghdr = 0x30
32 | )
33 |
--------------------------------------------------------------------------------
/vendor/golang.org/x/net/internal/socket/zsys_freebsd_arm.go:
--------------------------------------------------------------------------------
1 | // Code generated by cmd/cgo -godefs; DO NOT EDIT.
2 | // cgo -godefs defs_freebsd.go
3 |
4 | package socket
5 |
6 | type iovec struct {
7 | Base *byte
8 | Len uint32
9 | }
10 |
11 | type msghdr struct {
12 | Name *byte
13 | Namelen uint32
14 | Iov *iovec
15 | Iovlen int32
16 | Control *byte
17 | Controllen uint32
18 | Flags int32
19 | }
20 |
21 | type cmsghdr struct {
22 | Len uint32
23 | Level int32
24 | Type int32
25 | }
26 |
27 | const (
28 | sizeofIovec = 0x8
29 | sizeofMsghdr = 0x1c
30 | )
31 |
--------------------------------------------------------------------------------
/vendor/golang.org/x/net/internal/socket/zsys_freebsd_arm64.go:
--------------------------------------------------------------------------------
1 | // Code generated by cmd/cgo -godefs; DO NOT EDIT.
2 | // cgo -godefs defs_freebsd.go
3 |
4 | package socket
5 |
6 | type iovec struct {
7 | Base *byte
8 | Len uint64
9 | }
10 |
11 | type msghdr struct {
12 | Name *byte
13 | Namelen uint32
14 | Pad_cgo_0 [4]byte
15 | Iov *iovec
16 | Iovlen int32
17 | Pad_cgo_1 [4]byte
18 | Control *byte
19 | Controllen uint32
20 | Flags int32
21 | }
22 |
23 | type cmsghdr struct {
24 | Len uint32
25 | Level int32
26 | Type int32
27 | }
28 |
29 | const (
30 | sizeofIovec = 0x10
31 | sizeofMsghdr = 0x30
32 | )
33 |
--------------------------------------------------------------------------------
/vendor/golang.org/x/net/internal/socket/zsys_freebsd_riscv64.go:
--------------------------------------------------------------------------------
1 | // Code generated by cmd/cgo -godefs; DO NOT EDIT.
2 | // cgo -godefs defs_freebsd.go
3 |
4 | package socket
5 |
6 | type iovec struct {
7 | Base *byte
8 | Len uint64
9 | }
10 |
11 | type msghdr struct {
12 | Name *byte
13 | Namelen uint32
14 | Iov *iovec
15 | Iovlen int32
16 | Control *byte
17 | Controllen uint32
18 | Flags int32
19 | }
20 |
21 | type cmsghdr struct {
22 | Len uint32
23 | Level int32
24 | Type int32
25 | }
26 |
27 | const (
28 | sizeofIovec = 0x10
29 | sizeofMsghdr = 0x30
30 | )
31 |
--------------------------------------------------------------------------------
/vendor/golang.org/x/net/internal/socket/zsys_linux_386.go:
--------------------------------------------------------------------------------
1 | // Code generated by cmd/cgo -godefs; DO NOT EDIT.
2 | // cgo -godefs defs_linux.go
3 |
4 | package socket
5 |
6 | type iovec struct {
7 | Base *byte
8 | Len uint32
9 | }
10 |
11 | type msghdr struct {
12 | Name *byte
13 | Namelen uint32
14 | Iov *iovec
15 | Iovlen uint32
16 | Control *byte
17 | Controllen uint32
18 | Flags int32
19 | }
20 |
21 | type mmsghdr struct {
22 | Hdr msghdr
23 | Len uint32
24 | }
25 |
26 | type cmsghdr struct {
27 | Len uint32
28 | Level int32
29 | Type int32
30 | }
31 |
32 | const (
33 | sizeofIovec = 0x8
34 | sizeofMsghdr = 0x1c
35 | )
36 |
--------------------------------------------------------------------------------
/vendor/golang.org/x/net/internal/socket/zsys_linux_amd64.go:
--------------------------------------------------------------------------------
1 | // Code generated by cmd/cgo -godefs; DO NOT EDIT.
2 | // cgo -godefs defs_linux.go
3 |
4 | package socket
5 |
6 | type iovec struct {
7 | Base *byte
8 | Len uint64
9 | }
10 |
11 | type msghdr struct {
12 | Name *byte
13 | Namelen uint32
14 | Pad_cgo_0 [4]byte
15 | Iov *iovec
16 | Iovlen uint64
17 | Control *byte
18 | Controllen uint64
19 | Flags int32
20 | Pad_cgo_1 [4]byte
21 | }
22 |
23 | type mmsghdr struct {
24 | Hdr msghdr
25 | Len uint32
26 | Pad_cgo_0 [4]byte
27 | }
28 |
29 | type cmsghdr struct {
30 | Len uint64
31 | Level int32
32 | Type int32
33 | }
34 |
35 | const (
36 | sizeofIovec = 0x10
37 | sizeofMsghdr = 0x38
38 | )
39 |
--------------------------------------------------------------------------------
/vendor/golang.org/x/net/internal/socket/zsys_linux_arm.go:
--------------------------------------------------------------------------------
1 | // Code generated by cmd/cgo -godefs; DO NOT EDIT.
2 | // cgo -godefs defs_linux.go
3 |
4 | package socket
5 |
6 | type iovec struct {
7 | Base *byte
8 | Len uint32
9 | }
10 |
11 | type msghdr struct {
12 | Name *byte
13 | Namelen uint32
14 | Iov *iovec
15 | Iovlen uint32
16 | Control *byte
17 | Controllen uint32
18 | Flags int32
19 | }
20 |
21 | type mmsghdr struct {
22 | Hdr msghdr
23 | Len uint32
24 | }
25 |
26 | type cmsghdr struct {
27 | Len uint32
28 | Level int32
29 | Type int32
30 | }
31 |
32 | const (
33 | sizeofIovec = 0x8
34 | sizeofMsghdr = 0x1c
35 | )
36 |
--------------------------------------------------------------------------------
/vendor/golang.org/x/net/internal/socket/zsys_linux_arm64.go:
--------------------------------------------------------------------------------
1 | // Code generated by cmd/cgo -godefs; DO NOT EDIT.
2 | // cgo -godefs defs_linux.go
3 |
4 | package socket
5 |
6 | type iovec struct {
7 | Base *byte
8 | Len uint64
9 | }
10 |
11 | type msghdr struct {
12 | Name *byte
13 | Namelen uint32
14 | Pad_cgo_0 [4]byte
15 | Iov *iovec
16 | Iovlen uint64
17 | Control *byte
18 | Controllen uint64
19 | Flags int32
20 | Pad_cgo_1 [4]byte
21 | }
22 |
23 | type mmsghdr struct {
24 | Hdr msghdr
25 | Len uint32
26 | Pad_cgo_0 [4]byte
27 | }
28 |
29 | type cmsghdr struct {
30 | Len uint64
31 | Level int32
32 | Type int32
33 | }
34 |
35 | const (
36 | sizeofIovec = 0x10
37 | sizeofMsghdr = 0x38
38 | )
39 |
--------------------------------------------------------------------------------
/vendor/golang.org/x/net/internal/socket/zsys_linux_loong64.go:
--------------------------------------------------------------------------------
1 | // Code generated by cmd/cgo -godefs; DO NOT EDIT.
2 | // cgo -godefs defs_linux.go
3 |
4 | //go:build loong64
5 |
6 | package socket
7 |
8 | type iovec struct {
9 | Base *byte
10 | Len uint64
11 | }
12 |
13 | type msghdr struct {
14 | Name *byte
15 | Namelen uint32
16 | Iov *iovec
17 | Iovlen uint64
18 | Control *byte
19 | Controllen uint64
20 | Flags int32
21 | Pad_cgo_0 [4]byte
22 | }
23 |
24 | type mmsghdr struct {
25 | Hdr msghdr
26 | Len uint32
27 | Pad_cgo_0 [4]byte
28 | }
29 |
30 | type cmsghdr struct {
31 | Len uint64
32 | Level int32
33 | Type int32
34 | }
35 |
36 | const (
37 | sizeofIovec = 0x10
38 | sizeofMsghdr = 0x38
39 | )
40 |
--------------------------------------------------------------------------------
/vendor/golang.org/x/net/internal/socket/zsys_linux_mips.go:
--------------------------------------------------------------------------------
1 | // Code generated by cmd/cgo -godefs; DO NOT EDIT.
2 | // cgo -godefs defs_linux.go
3 |
4 | package socket
5 |
6 | type iovec struct {
7 | Base *byte
8 | Len uint32
9 | }
10 |
11 | type msghdr struct {
12 | Name *byte
13 | Namelen uint32
14 | Iov *iovec
15 | Iovlen uint32
16 | Control *byte
17 | Controllen uint32
18 | Flags int32
19 | }
20 |
21 | type mmsghdr struct {
22 | Hdr msghdr
23 | Len uint32
24 | }
25 |
26 | type cmsghdr struct {
27 | Len uint32
28 | Level int32
29 | Type int32
30 | }
31 |
32 | const (
33 | sizeofIovec = 0x8
34 | sizeofMsghdr = 0x1c
35 | )
36 |
--------------------------------------------------------------------------------
/vendor/golang.org/x/net/internal/socket/zsys_linux_mips64.go:
--------------------------------------------------------------------------------
1 | // Code generated by cmd/cgo -godefs; DO NOT EDIT.
2 | // cgo -godefs defs_linux.go
3 |
4 | package socket
5 |
6 | type iovec struct {
7 | Base *byte
8 | Len uint64
9 | }
10 |
11 | type msghdr struct {
12 | Name *byte
13 | Namelen uint32
14 | Pad_cgo_0 [4]byte
15 | Iov *iovec
16 | Iovlen uint64
17 | Control *byte
18 | Controllen uint64
19 | Flags int32
20 | Pad_cgo_1 [4]byte
21 | }
22 |
23 | type mmsghdr struct {
24 | Hdr msghdr
25 | Len uint32
26 | Pad_cgo_0 [4]byte
27 | }
28 |
29 | type cmsghdr struct {
30 | Len uint64
31 | Level int32
32 | Type int32
33 | }
34 |
35 | const (
36 | sizeofIovec = 0x10
37 | sizeofMsghdr = 0x38
38 | )
39 |
--------------------------------------------------------------------------------
/vendor/golang.org/x/net/internal/socket/zsys_linux_mips64le.go:
--------------------------------------------------------------------------------
1 | // Code generated by cmd/cgo -godefs; DO NOT EDIT.
2 | // cgo -godefs defs_linux.go
3 |
4 | package socket
5 |
6 | type iovec struct {
7 | Base *byte
8 | Len uint64
9 | }
10 |
11 | type msghdr struct {
12 | Name *byte
13 | Namelen uint32
14 | Pad_cgo_0 [4]byte
15 | Iov *iovec
16 | Iovlen uint64
17 | Control *byte
18 | Controllen uint64
19 | Flags int32
20 | Pad_cgo_1 [4]byte
21 | }
22 |
23 | type mmsghdr struct {
24 | Hdr msghdr
25 | Len uint32
26 | Pad_cgo_0 [4]byte
27 | }
28 |
29 | type cmsghdr struct {
30 | Len uint64
31 | Level int32
32 | Type int32
33 | }
34 |
35 | const (
36 | sizeofIovec = 0x10
37 | sizeofMsghdr = 0x38
38 | )
39 |
--------------------------------------------------------------------------------
/vendor/golang.org/x/net/internal/socket/zsys_linux_mipsle.go:
--------------------------------------------------------------------------------
1 | // Code generated by cmd/cgo -godefs; DO NOT EDIT.
2 | // cgo -godefs defs_linux.go
3 |
4 | package socket
5 |
6 | type iovec struct {
7 | Base *byte
8 | Len uint32
9 | }
10 |
11 | type msghdr struct {
12 | Name *byte
13 | Namelen uint32
14 | Iov *iovec
15 | Iovlen uint32
16 | Control *byte
17 | Controllen uint32
18 | Flags int32
19 | }
20 |
21 | type mmsghdr struct {
22 | Hdr msghdr
23 | Len uint32
24 | }
25 |
26 | type cmsghdr struct {
27 | Len uint32
28 | Level int32
29 | Type int32
30 | }
31 |
32 | const (
33 | sizeofIovec = 0x8
34 | sizeofMsghdr = 0x1c
35 | )
36 |
--------------------------------------------------------------------------------
/vendor/golang.org/x/net/internal/socket/zsys_linux_ppc.go:
--------------------------------------------------------------------------------
1 | // Code generated by cmd/cgo -godefs; DO NOT EDIT.
2 | // cgo -godefs defs_linux.go
3 |
4 | package socket
5 |
6 | type iovec struct {
7 | Base *byte
8 | Len uint32
9 | }
10 |
11 | type msghdr struct {
12 | Name *byte
13 | Namelen uint32
14 | Iov *iovec
15 | Iovlen uint32
16 | Control *byte
17 | Controllen uint32
18 | Flags int32
19 | }
20 |
21 | type mmsghdr struct {
22 | Hdr msghdr
23 | Len uint32
24 | }
25 |
26 | type cmsghdr struct {
27 | Len uint32
28 | Level int32
29 | Type int32
30 | }
31 |
32 | const (
33 | sizeofIovec = 0x8
34 | sizeofMsghdr = 0x1c
35 | )
36 |
--------------------------------------------------------------------------------
/vendor/golang.org/x/net/internal/socket/zsys_linux_ppc64.go:
--------------------------------------------------------------------------------
1 | // Code generated by cmd/cgo -godefs; DO NOT EDIT.
2 | // cgo -godefs defs_linux.go
3 |
4 | package socket
5 |
6 | type iovec struct {
7 | Base *byte
8 | Len uint64
9 | }
10 |
11 | type msghdr struct {
12 | Name *byte
13 | Namelen uint32
14 | Pad_cgo_0 [4]byte
15 | Iov *iovec
16 | Iovlen uint64
17 | Control *byte
18 | Controllen uint64
19 | Flags int32
20 | Pad_cgo_1 [4]byte
21 | }
22 |
23 | type mmsghdr struct {
24 | Hdr msghdr
25 | Len uint32
26 | Pad_cgo_0 [4]byte
27 | }
28 |
29 | type cmsghdr struct {
30 | Len uint64
31 | Level int32
32 | Type int32
33 | }
34 |
35 | const (
36 | sizeofIovec = 0x10
37 | sizeofMsghdr = 0x38
38 | )
39 |
--------------------------------------------------------------------------------
/vendor/golang.org/x/net/internal/socket/zsys_linux_ppc64le.go:
--------------------------------------------------------------------------------
1 | // Code generated by cmd/cgo -godefs; DO NOT EDIT.
2 | // cgo -godefs defs_linux.go
3 |
4 | package socket
5 |
6 | type iovec struct {
7 | Base *byte
8 | Len uint64
9 | }
10 |
11 | type msghdr struct {
12 | Name *byte
13 | Namelen uint32
14 | Pad_cgo_0 [4]byte
15 | Iov *iovec
16 | Iovlen uint64
17 | Control *byte
18 | Controllen uint64
19 | Flags int32
20 | Pad_cgo_1 [4]byte
21 | }
22 |
23 | type mmsghdr struct {
24 | Hdr msghdr
25 | Len uint32
26 | Pad_cgo_0 [4]byte
27 | }
28 |
29 | type cmsghdr struct {
30 | Len uint64
31 | Level int32
32 | Type int32
33 | }
34 |
35 | const (
36 | sizeofIovec = 0x10
37 | sizeofMsghdr = 0x38
38 | )
39 |
--------------------------------------------------------------------------------
/vendor/golang.org/x/net/internal/socket/zsys_linux_riscv64.go:
--------------------------------------------------------------------------------
1 | // Code generated by cmd/cgo -godefs; DO NOT EDIT.
2 | // cgo -godefs defs_linux.go
3 |
4 | //go:build riscv64
5 |
6 | package socket
7 |
8 | type iovec struct {
9 | Base *byte
10 | Len uint64
11 | }
12 |
13 | type msghdr struct {
14 | Name *byte
15 | Namelen uint32
16 | Iov *iovec
17 | Iovlen uint64
18 | Control *byte
19 | Controllen uint64
20 | Flags int32
21 | Pad_cgo_0 [4]byte
22 | }
23 |
24 | type mmsghdr struct {
25 | Hdr msghdr
26 | Len uint32
27 | Pad_cgo_0 [4]byte
28 | }
29 |
30 | type cmsghdr struct {
31 | Len uint64
32 | Level int32
33 | Type int32
34 | }
35 |
36 | const (
37 | sizeofIovec = 0x10
38 | sizeofMsghdr = 0x38
39 | )
40 |
--------------------------------------------------------------------------------
/vendor/golang.org/x/net/internal/socket/zsys_linux_s390x.go:
--------------------------------------------------------------------------------
1 | // Code generated by cmd/cgo -godefs; DO NOT EDIT.
2 | // cgo -godefs defs_linux.go
3 |
4 | package socket
5 |
6 | type iovec struct {
7 | Base *byte
8 | Len uint64
9 | }
10 |
11 | type msghdr struct {
12 | Name *byte
13 | Namelen uint32
14 | Pad_cgo_0 [4]byte
15 | Iov *iovec
16 | Iovlen uint64
17 | Control *byte
18 | Controllen uint64
19 | Flags int32
20 | Pad_cgo_1 [4]byte
21 | }
22 |
23 | type mmsghdr struct {
24 | Hdr msghdr
25 | Len uint32
26 | Pad_cgo_0 [4]byte
27 | }
28 |
29 | type cmsghdr struct {
30 | Len uint64
31 | Level int32
32 | Type int32
33 | }
34 |
35 | const (
36 | sizeofIovec = 0x10
37 | sizeofMsghdr = 0x38
38 | )
39 |
--------------------------------------------------------------------------------
/vendor/golang.org/x/net/internal/socket/zsys_netbsd_386.go:
--------------------------------------------------------------------------------
1 | // Code generated by cmd/cgo -godefs; DO NOT EDIT.
2 | // cgo -godefs defs_netbsd.go
3 |
4 | package socket
5 |
6 | type iovec struct {
7 | Base *byte
8 | Len uint32
9 | }
10 |
11 | type msghdr struct {
12 | Name *byte
13 | Namelen uint32
14 | Iov *iovec
15 | Iovlen int32
16 | Control *byte
17 | Controllen uint32
18 | Flags int32
19 | }
20 |
21 | type mmsghdr struct {
22 | Hdr msghdr
23 | Len uint32
24 | }
25 |
26 | type cmsghdr struct {
27 | Len uint32
28 | Level int32
29 | Type int32
30 | }
31 |
32 | const (
33 | sizeofIovec = 0x8
34 | sizeofMsghdr = 0x1c
35 | )
36 |
--------------------------------------------------------------------------------
/vendor/golang.org/x/net/internal/socket/zsys_netbsd_amd64.go:
--------------------------------------------------------------------------------
1 | // Code generated by cmd/cgo -godefs; DO NOT EDIT.
2 | // cgo -godefs defs_netbsd.go
3 |
4 | package socket
5 |
6 | type iovec struct {
7 | Base *byte
8 | Len uint64
9 | }
10 |
11 | type msghdr struct {
12 | Name *byte
13 | Namelen uint32
14 | Pad_cgo_0 [4]byte
15 | Iov *iovec
16 | Iovlen int32
17 | Pad_cgo_1 [4]byte
18 | Control *byte
19 | Controllen uint32
20 | Flags int32
21 | }
22 |
23 | type mmsghdr struct {
24 | Hdr msghdr
25 | Len uint32
26 | Pad_cgo_0 [4]byte
27 | }
28 |
29 | type cmsghdr struct {
30 | Len uint32
31 | Level int32
32 | Type int32
33 | }
34 |
35 | const (
36 | sizeofIovec = 0x10
37 | sizeofMsghdr = 0x30
38 | )
39 |
--------------------------------------------------------------------------------
/vendor/golang.org/x/net/internal/socket/zsys_netbsd_arm.go:
--------------------------------------------------------------------------------
1 | // Code generated by cmd/cgo -godefs; DO NOT EDIT.
2 | // cgo -godefs defs_netbsd.go
3 |
4 | package socket
5 |
6 | type iovec struct {
7 | Base *byte
8 | Len uint32
9 | }
10 |
11 | type msghdr struct {
12 | Name *byte
13 | Namelen uint32
14 | Iov *iovec
15 | Iovlen int32
16 | Control *byte
17 | Controllen uint32
18 | Flags int32
19 | }
20 |
21 | type mmsghdr struct {
22 | Hdr msghdr
23 | Len uint32
24 | }
25 |
26 | type cmsghdr struct {
27 | Len uint32
28 | Level int32
29 | Type int32
30 | }
31 |
32 | const (
33 | sizeofIovec = 0x8
34 | sizeofMsghdr = 0x1c
35 | )
36 |
--------------------------------------------------------------------------------
/vendor/golang.org/x/net/internal/socket/zsys_netbsd_arm64.go:
--------------------------------------------------------------------------------
1 | // Code generated by cmd/cgo -godefs; DO NOT EDIT.
2 | // cgo -godefs defs_netbsd.go
3 |
4 | package socket
5 |
6 | type iovec struct {
7 | Base *byte
8 | Len uint64
9 | }
10 |
11 | type msghdr struct {
12 | Name *byte
13 | Namelen uint32
14 | Pad_cgo_0 [4]byte
15 | Iov *iovec
16 | Iovlen int32
17 | Pad_cgo_1 [4]byte
18 | Control *byte
19 | Controllen uint32
20 | Flags int32
21 | }
22 |
23 | type mmsghdr struct {
24 | Hdr msghdr
25 | Len uint32
26 | Pad_cgo_0 [4]byte
27 | }
28 |
29 | type cmsghdr struct {
30 | Len uint32
31 | Level int32
32 | Type int32
33 | }
34 |
35 | const (
36 | sizeofIovec = 0x10
37 | sizeofMsghdr = 0x30
38 | )
39 |
--------------------------------------------------------------------------------
/vendor/golang.org/x/net/internal/socket/zsys_openbsd_386.go:
--------------------------------------------------------------------------------
1 | // Code generated by cmd/cgo -godefs; DO NOT EDIT.
2 | // cgo -godefs defs_openbsd.go
3 |
4 | package socket
5 |
6 | type iovec struct {
7 | Base *byte
8 | Len uint32
9 | }
10 |
11 | type msghdr struct {
12 | Name *byte
13 | Namelen uint32
14 | Iov *iovec
15 | Iovlen uint32
16 | Control *byte
17 | Controllen uint32
18 | Flags int32
19 | }
20 |
21 | type cmsghdr struct {
22 | Len uint32
23 | Level int32
24 | Type int32
25 | }
26 |
27 | const (
28 | sizeofIovec = 0x8
29 | sizeofMsghdr = 0x1c
30 | )
31 |
--------------------------------------------------------------------------------
/vendor/golang.org/x/net/internal/socket/zsys_openbsd_amd64.go:
--------------------------------------------------------------------------------
1 | // Code generated by cmd/cgo -godefs; DO NOT EDIT.
2 | // cgo -godefs defs_openbsd.go
3 |
4 | package socket
5 |
6 | type iovec struct {
7 | Base *byte
8 | Len uint64
9 | }
10 |
11 | type msghdr struct {
12 | Name *byte
13 | Namelen uint32
14 | Pad_cgo_0 [4]byte
15 | Iov *iovec
16 | Iovlen uint32
17 | Pad_cgo_1 [4]byte
18 | Control *byte
19 | Controllen uint32
20 | Flags int32
21 | }
22 |
23 | type cmsghdr struct {
24 | Len uint32
25 | Level int32
26 | Type int32
27 | }
28 |
29 | const (
30 | sizeofIovec = 0x10
31 | sizeofMsghdr = 0x30
32 | )
33 |
--------------------------------------------------------------------------------
/vendor/golang.org/x/net/internal/socket/zsys_openbsd_arm.go:
--------------------------------------------------------------------------------
1 | // Code generated by cmd/cgo -godefs; DO NOT EDIT.
2 | // cgo -godefs defs_openbsd.go
3 |
4 | package socket
5 |
6 | type iovec struct {
7 | Base *byte
8 | Len uint32
9 | }
10 |
11 | type msghdr struct {
12 | Name *byte
13 | Namelen uint32
14 | Iov *iovec
15 | Iovlen uint32
16 | Control *byte
17 | Controllen uint32
18 | Flags int32
19 | }
20 |
21 | type cmsghdr struct {
22 | Len uint32
23 | Level int32
24 | Type int32
25 | }
26 |
27 | const (
28 | sizeofIovec = 0x8
29 | sizeofMsghdr = 0x1c
30 | )
31 |
--------------------------------------------------------------------------------
/vendor/golang.org/x/net/internal/socket/zsys_openbsd_arm64.go:
--------------------------------------------------------------------------------
1 | // Code generated by cmd/cgo -godefs; DO NOT EDIT.
2 | // cgo -godefs defs_openbsd.go
3 |
4 | package socket
5 |
6 | type iovec struct {
7 | Base *byte
8 | Len uint64
9 | }
10 |
11 | type msghdr struct {
12 | Name *byte
13 | Namelen uint32
14 | Pad_cgo_0 [4]byte
15 | Iov *iovec
16 | Iovlen uint32
17 | Pad_cgo_1 [4]byte
18 | Control *byte
19 | Controllen uint32
20 | Flags int32
21 | }
22 |
23 | type cmsghdr struct {
24 | Len uint32
25 | Level int32
26 | Type int32
27 | }
28 |
29 | const (
30 | sizeofIovec = 0x10
31 | sizeofMsghdr = 0x30
32 | )
33 |
--------------------------------------------------------------------------------
/vendor/golang.org/x/net/internal/socket/zsys_openbsd_mips64.go:
--------------------------------------------------------------------------------
1 | // Code generated by cmd/cgo -godefs; DO NOT EDIT.
2 | // cgo -godefs defs_openbsd.go
3 |
4 | package socket
5 |
6 | type iovec struct {
7 | Base *byte
8 | Len uint64
9 | }
10 |
11 | type msghdr struct {
12 | Name *byte
13 | Namelen uint32
14 | Iov *iovec
15 | Iovlen uint32
16 | Control *byte
17 | Controllen uint32
18 | Flags int32
19 | }
20 |
21 | type cmsghdr struct {
22 | Len uint32
23 | Level int32
24 | Type int32
25 | }
26 |
27 | const (
28 | sizeofIovec = 0x10
29 | sizeofMsghdr = 0x30
30 | )
31 |
--------------------------------------------------------------------------------
/vendor/golang.org/x/net/internal/socket/zsys_openbsd_ppc64.go:
--------------------------------------------------------------------------------
1 | // Code generated by cmd/cgo -godefs; DO NOT EDIT.
2 | // cgo -godefs defs_openbsd.go
3 |
4 | package socket
5 |
6 | type iovec struct {
7 | Base *byte
8 | Len uint64
9 | }
10 |
11 | type msghdr struct {
12 | Name *byte
13 | Namelen uint32
14 | Iov *iovec
15 | Iovlen uint32
16 | Control *byte
17 | Controllen uint32
18 | Flags int32
19 | }
20 |
21 | type cmsghdr struct {
22 | Len uint32
23 | Level int32
24 | Type int32
25 | }
26 |
27 | const (
28 | sizeofIovec = 0x10
29 | sizeofMsghdr = 0x30
30 | )
31 |
--------------------------------------------------------------------------------
/vendor/golang.org/x/net/internal/socket/zsys_openbsd_riscv64.go:
--------------------------------------------------------------------------------
1 | // Code generated by cmd/cgo -godefs; DO NOT EDIT.
2 | // cgo -godefs defs_openbsd.go
3 |
4 | package socket
5 |
6 | type iovec struct {
7 | Base *byte
8 | Len uint64
9 | }
10 |
11 | type msghdr struct {
12 | Name *byte
13 | Namelen uint32
14 | Iov *iovec
15 | Iovlen uint32
16 | Control *byte
17 | Controllen uint32
18 | Flags int32
19 | }
20 |
21 | type cmsghdr struct {
22 | Len uint32
23 | Level int32
24 | Type int32
25 | }
26 |
27 | const (
28 | sizeofIovec = 0x10
29 | sizeofMsghdr = 0x30
30 | )
31 |
--------------------------------------------------------------------------------
/vendor/golang.org/x/net/internal/socket/zsys_solaris_amd64.go:
--------------------------------------------------------------------------------
1 | // Code generated by cmd/cgo -godefs; DO NOT EDIT.
2 | // cgo -godefs defs_solaris.go
3 |
4 | package socket
5 |
6 | type iovec struct {
7 | Base *int8
8 | Len uint64
9 | }
10 |
11 | type msghdr struct {
12 | Name *byte
13 | Namelen uint32
14 | Pad_cgo_0 [4]byte
15 | Iov *iovec
16 | Iovlen int32
17 | Pad_cgo_1 [4]byte
18 | Accrights *int8
19 | Accrightslen int32
20 | Pad_cgo_2 [4]byte
21 | }
22 |
23 | type cmsghdr struct {
24 | Len uint32
25 | Level int32
26 | Type int32
27 | }
28 |
29 | const (
30 | sizeofIovec = 0x10
31 | sizeofMsghdr = 0x30
32 | )
33 |
--------------------------------------------------------------------------------
/vendor/golang.org/x/net/internal/socket/zsys_zos_s390x.go:
--------------------------------------------------------------------------------
1 | // Copyright 2020 The Go Authors. All rights reserved.
2 | // Use of this source code is governed by a BSD-style
3 | // license that can be found in the LICENSE file.
4 |
5 | package socket
6 |
7 | type iovec struct {
8 | Base *byte
9 | Len uint64
10 | }
11 |
12 | type msghdr struct {
13 | Name *byte
14 | Iov *iovec
15 | Control *byte
16 | Flags int32
17 | Namelen uint32
18 | Iovlen int32
19 | Controllen uint32
20 | }
21 |
22 | type cmsghdr struct {
23 | Len int32
24 | Level int32
25 | Type int32
26 | }
27 |
28 | const sizeofCmsghdr = 12
29 |
--------------------------------------------------------------------------------
/vendor/golang.org/x/net/ipv4/control_stub.go:
--------------------------------------------------------------------------------
1 | // Copyright 2012 The Go Authors. All rights reserved.
2 | // Use of this source code is governed by a BSD-style
3 | // license that can be found in the LICENSE file.
4 |
5 | //go:build !aix && !darwin && !dragonfly && !freebsd && !linux && !netbsd && !openbsd && !solaris && !windows && !zos
6 |
7 | package ipv4
8 |
9 | import "golang.org/x/net/internal/socket"
10 |
11 | func setControlMessage(c *socket.Conn, opt *rawOpt, cf ControlFlags, on bool) error {
12 | return errNotImplemented
13 | }
14 |
--------------------------------------------------------------------------------
/vendor/golang.org/x/net/ipv4/control_windows.go:
--------------------------------------------------------------------------------
1 | // Copyright 2012 The Go Authors. All rights reserved.
2 | // Use of this source code is governed by a BSD-style
3 | // license that can be found in the LICENSE file.
4 |
5 | package ipv4
6 |
7 | import "golang.org/x/net/internal/socket"
8 |
9 | func setControlMessage(c *socket.Conn, opt *rawOpt, cf ControlFlags, on bool) error {
10 | // TODO(mikio): implement this
11 | return errNotImplemented
12 | }
13 |
--------------------------------------------------------------------------------
/vendor/golang.org/x/net/ipv4/icmp_linux.go:
--------------------------------------------------------------------------------
1 | // Copyright 2014 The Go Authors. All rights reserved.
2 | // Use of this source code is governed by a BSD-style
3 | // license that can be found in the LICENSE file.
4 |
5 | package ipv4
6 |
7 | func (f *icmpFilter) accept(typ ICMPType) {
8 | f.Data &^= 1 << (uint32(typ) & 31)
9 | }
10 |
11 | func (f *icmpFilter) block(typ ICMPType) {
12 | f.Data |= 1 << (uint32(typ) & 31)
13 | }
14 |
15 | func (f *icmpFilter) setAll(block bool) {
16 | if block {
17 | f.Data = 1<<32 - 1
18 | } else {
19 | f.Data = 0
20 | }
21 | }
22 |
23 | func (f *icmpFilter) willBlock(typ ICMPType) bool {
24 | return f.Data&(1<<(uint32(typ)&31)) != 0
25 | }
26 |
--------------------------------------------------------------------------------
/vendor/golang.org/x/net/ipv4/icmp_stub.go:
--------------------------------------------------------------------------------
1 | // Copyright 2014 The Go Authors. All rights reserved.
2 | // Use of this source code is governed by a BSD-style
3 | // license that can be found in the LICENSE file.
4 |
5 | //go:build !linux
6 |
7 | package ipv4
8 |
9 | const sizeofICMPFilter = 0x0
10 |
11 | type icmpFilter struct {
12 | }
13 |
14 | func (f *icmpFilter) accept(typ ICMPType) {
15 | }
16 |
17 | func (f *icmpFilter) block(typ ICMPType) {
18 | }
19 |
20 | func (f *icmpFilter) setAll(block bool) {
21 | }
22 |
23 | func (f *icmpFilter) willBlock(typ ICMPType) bool {
24 | return false
25 | }
26 |
--------------------------------------------------------------------------------
/vendor/golang.org/x/net/ipv4/payload.go:
--------------------------------------------------------------------------------
1 | // Copyright 2012 The Go Authors. All rights reserved.
2 | // Use of this source code is governed by a BSD-style
3 | // license that can be found in the LICENSE file.
4 |
5 | package ipv4
6 |
7 | import (
8 | "net"
9 |
10 | "golang.org/x/net/internal/socket"
11 | )
12 |
13 | // BUG(mikio): On Windows, the ControlMessage for ReadFrom and WriteTo
14 | // methods of PacketConn is not implemented.
15 |
16 | // A payloadHandler represents the IPv4 datagram payload handler.
17 | type payloadHandler struct {
18 | net.PacketConn
19 | *socket.Conn
20 | rawOpt
21 | }
22 |
23 | func (c *payloadHandler) ok() bool { return c != nil && c.PacketConn != nil && c.Conn != nil }
24 |
--------------------------------------------------------------------------------
/vendor/golang.org/x/net/ipv4/sys_asmreq_stub.go:
--------------------------------------------------------------------------------
1 | // Copyright 2017 The Go Authors. All rights reserved.
2 | // Use of this source code is governed by a BSD-style
3 | // license that can be found in the LICENSE file.
4 |
5 | //go:build !aix && !darwin && !dragonfly && !freebsd && !netbsd && !openbsd && !solaris && !windows
6 |
7 | package ipv4
8 |
9 | import (
10 | "net"
11 |
12 | "golang.org/x/net/internal/socket"
13 | )
14 |
15 | func (so *sockOpt) setIPMreq(c *socket.Conn, ifi *net.Interface, grp net.IP) error {
16 | return errNotImplemented
17 | }
18 |
19 | func (so *sockOpt) getMulticastIf(c *socket.Conn) (*net.Interface, error) {
20 | return nil, errNotImplemented
21 | }
22 |
23 | func (so *sockOpt) setMulticastIf(c *socket.Conn, ifi *net.Interface) error {
24 | return errNotImplemented
25 | }
26 |
--------------------------------------------------------------------------------
/vendor/golang.org/x/net/ipv4/sys_asmreqn_stub.go:
--------------------------------------------------------------------------------
1 | // Copyright 2014 The Go Authors. All rights reserved.
2 | // Use of this source code is governed by a BSD-style
3 | // license that can be found in the LICENSE file.
4 |
5 | //go:build !darwin && !freebsd && !linux
6 |
7 | package ipv4
8 |
9 | import (
10 | "net"
11 |
12 | "golang.org/x/net/internal/socket"
13 | )
14 |
15 | func (so *sockOpt) getIPMreqn(c *socket.Conn) (*net.Interface, error) {
16 | return nil, errNotImplemented
17 | }
18 |
19 | func (so *sockOpt) setIPMreqn(c *socket.Conn, ifi *net.Interface, grp net.IP) error {
20 | return errNotImplemented
21 | }
22 |
--------------------------------------------------------------------------------
/vendor/golang.org/x/net/ipv4/sys_bpf.go:
--------------------------------------------------------------------------------
1 | // Copyright 2017 The Go Authors. All rights reserved.
2 | // Use of this source code is governed by a BSD-style
3 | // license that can be found in the LICENSE file.
4 |
5 | //go:build linux
6 |
7 | package ipv4
8 |
9 | import (
10 | "unsafe"
11 |
12 | "golang.org/x/net/bpf"
13 | "golang.org/x/net/internal/socket"
14 | "golang.org/x/sys/unix"
15 | )
16 |
17 | func (so *sockOpt) setAttachFilter(c *socket.Conn, f []bpf.RawInstruction) error {
18 | prog := unix.SockFprog{
19 | Len: uint16(len(f)),
20 | Filter: (*unix.SockFilter)(unsafe.Pointer(&f[0])),
21 | }
22 | b := (*[unix.SizeofSockFprog]byte)(unsafe.Pointer(&prog))[:unix.SizeofSockFprog]
23 | return so.Set(c, b)
24 | }
25 |
--------------------------------------------------------------------------------
/vendor/golang.org/x/net/ipv4/sys_bpf_stub.go:
--------------------------------------------------------------------------------
1 | // Copyright 2017 The Go Authors. All rights reserved.
2 | // Use of this source code is governed by a BSD-style
3 | // license that can be found in the LICENSE file.
4 |
5 | //go:build !linux
6 |
7 | package ipv4
8 |
9 | import (
10 | "golang.org/x/net/bpf"
11 | "golang.org/x/net/internal/socket"
12 | )
13 |
14 | func (so *sockOpt) setAttachFilter(c *socket.Conn, f []bpf.RawInstruction) error {
15 | return errNotImplemented
16 | }
17 |
--------------------------------------------------------------------------------
/vendor/golang.org/x/net/ipv4/sys_ssmreq_stub.go:
--------------------------------------------------------------------------------
1 | // Copyright 2014 The Go Authors. All rights reserved.
2 | // Use of this source code is governed by a BSD-style
3 | // license that can be found in the LICENSE file.
4 |
5 | //go:build !darwin && !freebsd && !linux && !solaris
6 |
7 | package ipv4
8 |
9 | import (
10 | "net"
11 |
12 | "golang.org/x/net/internal/socket"
13 | )
14 |
15 | func (so *sockOpt) setGroupReq(c *socket.Conn, ifi *net.Interface, grp net.IP) error {
16 | return errNotImplemented
17 | }
18 |
19 | func (so *sockOpt) setGroupSourceReq(c *socket.Conn, ifi *net.Interface, grp, src net.IP) error {
20 | return errNotImplemented
21 | }
22 |
--------------------------------------------------------------------------------
/vendor/golang.org/x/net/ipv4/sys_stub.go:
--------------------------------------------------------------------------------
1 | // Copyright 2014 The Go Authors. All rights reserved.
2 | // Use of this source code is governed by a BSD-style
3 | // license that can be found in the LICENSE file.
4 |
5 | //go:build !aix && !darwin && !dragonfly && !freebsd && !linux && !netbsd && !openbsd && !solaris && !windows && !zos
6 |
7 | package ipv4
8 |
9 | var (
10 | ctlOpts = [ctlMax]ctlOpt{}
11 |
12 | sockOpts = map[int]*sockOpt{}
13 | )
14 |
--------------------------------------------------------------------------------
/vendor/golang.org/x/net/ipv4/zsys_aix_ppc64.go:
--------------------------------------------------------------------------------
1 | // Code generated by cmd/cgo -godefs; DO NOT EDIT.
2 | // cgo -godefs defs_aix.go
3 |
4 | // Added for go1.11 compatibility
5 | //go:build aix
6 |
7 | package ipv4
8 |
9 | const (
10 | sizeofIPMreq = 0x8
11 | )
12 |
13 | type ipMreq struct {
14 | Multiaddr [4]byte /* in_addr */
15 | Interface [4]byte /* in_addr */
16 | }
17 |
--------------------------------------------------------------------------------
/vendor/golang.org/x/net/ipv4/zsys_dragonfly.go:
--------------------------------------------------------------------------------
1 | // Code generated by cmd/cgo -godefs; DO NOT EDIT.
2 | // cgo -godefs defs_dragonfly.go
3 |
4 | package ipv4
5 |
6 | const (
7 | sizeofIPMreq = 0x8
8 | )
9 |
10 | type ipMreq struct {
11 | Multiaddr [4]byte /* in_addr */
12 | Interface [4]byte /* in_addr */
13 | }
14 |
--------------------------------------------------------------------------------
/vendor/golang.org/x/net/ipv4/zsys_netbsd.go:
--------------------------------------------------------------------------------
1 | // Code generated by cmd/cgo -godefs; DO NOT EDIT.
2 | // cgo -godefs defs_netbsd.go
3 |
4 | package ipv4
5 |
6 | const (
7 | sizeofIPMreq = 0x8
8 | )
9 |
10 | type ipMreq struct {
11 | Multiaddr [4]byte /* in_addr */
12 | Interface [4]byte /* in_addr */
13 | }
14 |
--------------------------------------------------------------------------------
/vendor/golang.org/x/net/ipv4/zsys_openbsd.go:
--------------------------------------------------------------------------------
1 | // Code generated by cmd/cgo -godefs; DO NOT EDIT.
2 | // cgo -godefs defs_openbsd.go
3 |
4 | package ipv4
5 |
6 | const (
7 | sizeofIPMreq = 0x8
8 | )
9 |
10 | type ipMreq struct {
11 | Multiaddr [4]byte /* in_addr */
12 | Interface [4]byte /* in_addr */
13 | }
14 |
--------------------------------------------------------------------------------
/vendor/golang.org/x/net/ipv6/control_stub.go:
--------------------------------------------------------------------------------
1 | // Copyright 2013 The Go Authors. All rights reserved.
2 | // Use of this source code is governed by a BSD-style
3 | // license that can be found in the LICENSE file.
4 |
5 | //go:build !aix && !darwin && !dragonfly && !freebsd && !linux && !netbsd && !openbsd && !solaris && !windows && !zos
6 |
7 | package ipv6
8 |
9 | import "golang.org/x/net/internal/socket"
10 |
11 | func setControlMessage(c *socket.Conn, opt *rawOpt, cf ControlFlags, on bool) error {
12 | return errNotImplemented
13 | }
14 |
--------------------------------------------------------------------------------
/vendor/golang.org/x/net/ipv6/control_windows.go:
--------------------------------------------------------------------------------
1 | // Copyright 2013 The Go Authors. All rights reserved.
2 | // Use of this source code is governed by a BSD-style
3 | // license that can be found in the LICENSE file.
4 |
5 | package ipv6
6 |
7 | import "golang.org/x/net/internal/socket"
8 |
9 | func setControlMessage(c *socket.Conn, opt *rawOpt, cf ControlFlags, on bool) error {
10 | // TODO(mikio): implement this
11 | return errNotImplemented
12 | }
13 |
--------------------------------------------------------------------------------
/vendor/golang.org/x/net/ipv6/icmp_bsd.go:
--------------------------------------------------------------------------------
1 | // Copyright 2013 The Go Authors. All rights reserved.
2 | // Use of this source code is governed by a BSD-style
3 | // license that can be found in the LICENSE file.
4 |
5 | //go:build aix || darwin || dragonfly || freebsd || netbsd || openbsd
6 |
7 | package ipv6
8 |
9 | func (f *icmpv6Filter) accept(typ ICMPType) {
10 | f.Filt[typ>>5] |= 1 << (uint32(typ) & 31)
11 | }
12 |
13 | func (f *icmpv6Filter) block(typ ICMPType) {
14 | f.Filt[typ>>5] &^= 1 << (uint32(typ) & 31)
15 | }
16 |
17 | func (f *icmpv6Filter) setAll(block bool) {
18 | for i := range f.Filt {
19 | if block {
20 | f.Filt[i] = 0
21 | } else {
22 | f.Filt[i] = 1<<32 - 1
23 | }
24 | }
25 | }
26 |
27 | func (f *icmpv6Filter) willBlock(typ ICMPType) bool {
28 | return f.Filt[typ>>5]&(1<<(uint32(typ)&31)) == 0
29 | }
30 |
--------------------------------------------------------------------------------
/vendor/golang.org/x/net/ipv6/icmp_linux.go:
--------------------------------------------------------------------------------
1 | // Copyright 2013 The Go Authors. All rights reserved.
2 | // Use of this source code is governed by a BSD-style
3 | // license that can be found in the LICENSE file.
4 |
5 | package ipv6
6 |
7 | func (f *icmpv6Filter) accept(typ ICMPType) {
8 | f.Data[typ>>5] &^= 1 << (uint32(typ) & 31)
9 | }
10 |
11 | func (f *icmpv6Filter) block(typ ICMPType) {
12 | f.Data[typ>>5] |= 1 << (uint32(typ) & 31)
13 | }
14 |
15 | func (f *icmpv6Filter) setAll(block bool) {
16 | for i := range f.Data {
17 | if block {
18 | f.Data[i] = 1<<32 - 1
19 | } else {
20 | f.Data[i] = 0
21 | }
22 | }
23 | }
24 |
25 | func (f *icmpv6Filter) willBlock(typ ICMPType) bool {
26 | return f.Data[typ>>5]&(1<<(uint32(typ)&31)) != 0
27 | }
28 |
--------------------------------------------------------------------------------
/vendor/golang.org/x/net/ipv6/icmp_solaris.go:
--------------------------------------------------------------------------------
1 | // Copyright 2013 The Go Authors. All rights reserved.
2 | // Use of this source code is governed by a BSD-style
3 | // license that can be found in the LICENSE file.
4 |
5 | package ipv6
6 |
7 | func (f *icmpv6Filter) accept(typ ICMPType) {
8 | f.X__icmp6_filt[typ>>5] |= 1 << (uint32(typ) & 31)
9 | }
10 |
11 | func (f *icmpv6Filter) block(typ ICMPType) {
12 | f.X__icmp6_filt[typ>>5] &^= 1 << (uint32(typ) & 31)
13 | }
14 |
15 | func (f *icmpv6Filter) setAll(block bool) {
16 | for i := range f.X__icmp6_filt {
17 | if block {
18 | f.X__icmp6_filt[i] = 0
19 | } else {
20 | f.X__icmp6_filt[i] = 1<<32 - 1
21 | }
22 | }
23 | }
24 |
25 | func (f *icmpv6Filter) willBlock(typ ICMPType) bool {
26 | return f.X__icmp6_filt[typ>>5]&(1<<(uint32(typ)&31)) == 0
27 | }
28 |
--------------------------------------------------------------------------------
/vendor/golang.org/x/net/ipv6/icmp_stub.go:
--------------------------------------------------------------------------------
1 | // Copyright 2013 The Go Authors. All rights reserved.
2 | // Use of this source code is governed by a BSD-style
3 | // license that can be found in the LICENSE file.
4 |
5 | //go:build !aix && !darwin && !dragonfly && !freebsd && !linux && !netbsd && !openbsd && !solaris && !windows && !zos
6 |
7 | package ipv6
8 |
9 | type icmpv6Filter struct {
10 | }
11 |
12 | func (f *icmpv6Filter) accept(typ ICMPType) {
13 | }
14 |
15 | func (f *icmpv6Filter) block(typ ICMPType) {
16 | }
17 |
18 | func (f *icmpv6Filter) setAll(block bool) {
19 | }
20 |
21 | func (f *icmpv6Filter) willBlock(typ ICMPType) bool {
22 | return false
23 | }
24 |
--------------------------------------------------------------------------------
/vendor/golang.org/x/net/ipv6/icmp_windows.go:
--------------------------------------------------------------------------------
1 | // Copyright 2013 The Go Authors. All rights reserved.
2 | // Use of this source code is governed by a BSD-style
3 | // license that can be found in the LICENSE file.
4 |
5 | package ipv6
6 |
7 | func (f *icmpv6Filter) accept(typ ICMPType) {
8 | // TODO(mikio): implement this
9 | }
10 |
11 | func (f *icmpv6Filter) block(typ ICMPType) {
12 | // TODO(mikio): implement this
13 | }
14 |
15 | func (f *icmpv6Filter) setAll(block bool) {
16 | // TODO(mikio): implement this
17 | }
18 |
19 | func (f *icmpv6Filter) willBlock(typ ICMPType) bool {
20 | // TODO(mikio): implement this
21 | return false
22 | }
23 |
--------------------------------------------------------------------------------
/vendor/golang.org/x/net/ipv6/icmp_zos.go:
--------------------------------------------------------------------------------
1 | // Copyright 2020 The Go Authors. All rights reserved.
2 | // Use of this source code is governed by a BSD-style
3 | // license that can be found in the LICENSE file.
4 |
5 | package ipv6
6 |
7 | func (f *icmpv6Filter) accept(typ ICMPType) {
8 | f.Filt[typ>>5] |= 1 << (uint32(typ) & 31)
9 |
10 | }
11 |
12 | func (f *icmpv6Filter) block(typ ICMPType) {
13 | f.Filt[typ>>5] &^= 1 << (uint32(typ) & 31)
14 |
15 | }
16 |
17 | func (f *icmpv6Filter) setAll(block bool) {
18 | for i := range f.Filt {
19 | if block {
20 | f.Filt[i] = 0
21 | } else {
22 | f.Filt[i] = 1<<32 - 1
23 | }
24 | }
25 | }
26 |
27 | func (f *icmpv6Filter) willBlock(typ ICMPType) bool {
28 | return f.Filt[typ>>5]&(1<<(uint32(typ)&31)) == 0
29 | }
30 |
--------------------------------------------------------------------------------
/vendor/golang.org/x/net/ipv6/payload.go:
--------------------------------------------------------------------------------
1 | // Copyright 2013 The Go Authors. All rights reserved.
2 | // Use of this source code is governed by a BSD-style
3 | // license that can be found in the LICENSE file.
4 |
5 | package ipv6
6 |
7 | import (
8 | "net"
9 |
10 | "golang.org/x/net/internal/socket"
11 | )
12 |
13 | // BUG(mikio): On Windows, the ControlMessage for ReadFrom and WriteTo
14 | // methods of PacketConn is not implemented.
15 |
16 | // A payloadHandler represents the IPv6 datagram payload handler.
17 | type payloadHandler struct {
18 | net.PacketConn
19 | *socket.Conn
20 | rawOpt
21 | }
22 |
23 | func (c *payloadHandler) ok() bool { return c != nil && c.PacketConn != nil && c.Conn != nil }
24 |
--------------------------------------------------------------------------------
/vendor/golang.org/x/net/ipv6/sys_asmreq.go:
--------------------------------------------------------------------------------
1 | // Copyright 2013 The Go Authors. All rights reserved.
2 | // Use of this source code is governed by a BSD-style
3 | // license that can be found in the LICENSE file.
4 |
5 | //go:build aix || darwin || dragonfly || freebsd || linux || netbsd || openbsd || solaris || windows
6 |
7 | package ipv6
8 |
9 | import (
10 | "net"
11 | "unsafe"
12 |
13 | "golang.org/x/net/internal/socket"
14 | )
15 |
16 | func (so *sockOpt) setIPMreq(c *socket.Conn, ifi *net.Interface, grp net.IP) error {
17 | var mreq ipv6Mreq
18 | copy(mreq.Multiaddr[:], grp)
19 | if ifi != nil {
20 | mreq.setIfindex(ifi.Index)
21 | }
22 | b := (*[sizeofIPv6Mreq]byte)(unsafe.Pointer(&mreq))[:sizeofIPv6Mreq]
23 | return so.Set(c, b)
24 | }
25 |
--------------------------------------------------------------------------------
/vendor/golang.org/x/net/ipv6/sys_asmreq_stub.go:
--------------------------------------------------------------------------------
1 | // Copyright 2013 The Go Authors. All rights reserved.
2 | // Use of this source code is governed by a BSD-style
3 | // license that can be found in the LICENSE file.
4 |
5 | //go:build !aix && !darwin && !dragonfly && !freebsd && !linux && !netbsd && !openbsd && !solaris && !windows
6 |
7 | package ipv6
8 |
9 | import (
10 | "net"
11 |
12 | "golang.org/x/net/internal/socket"
13 | )
14 |
15 | func (so *sockOpt) setIPMreq(c *socket.Conn, ifi *net.Interface, grp net.IP) error {
16 | return errNotImplemented
17 | }
18 |
--------------------------------------------------------------------------------
/vendor/golang.org/x/net/ipv6/sys_bpf.go:
--------------------------------------------------------------------------------
1 | // Copyright 2017 The Go Authors. All rights reserved.
2 | // Use of this source code is governed by a BSD-style
3 | // license that can be found in the LICENSE file.
4 |
5 | //go:build linux
6 |
7 | package ipv6
8 |
9 | import (
10 | "unsafe"
11 |
12 | "golang.org/x/net/bpf"
13 | "golang.org/x/net/internal/socket"
14 | "golang.org/x/sys/unix"
15 | )
16 |
17 | func (so *sockOpt) setAttachFilter(c *socket.Conn, f []bpf.RawInstruction) error {
18 | prog := unix.SockFprog{
19 | Len: uint16(len(f)),
20 | Filter: (*unix.SockFilter)(unsafe.Pointer(&f[0])),
21 | }
22 | b := (*[unix.SizeofSockFprog]byte)(unsafe.Pointer(&prog))[:unix.SizeofSockFprog]
23 | return so.Set(c, b)
24 | }
25 |
--------------------------------------------------------------------------------
/vendor/golang.org/x/net/ipv6/sys_bpf_stub.go:
--------------------------------------------------------------------------------
1 | // Copyright 2017 The Go Authors. All rights reserved.
2 | // Use of this source code is governed by a BSD-style
3 | // license that can be found in the LICENSE file.
4 |
5 | //go:build !linux
6 |
7 | package ipv6
8 |
9 | import (
10 | "golang.org/x/net/bpf"
11 | "golang.org/x/net/internal/socket"
12 | )
13 |
14 | func (so *sockOpt) setAttachFilter(c *socket.Conn, f []bpf.RawInstruction) error {
15 | return errNotImplemented
16 | }
17 |
--------------------------------------------------------------------------------
/vendor/golang.org/x/net/ipv6/sys_ssmreq_stub.go:
--------------------------------------------------------------------------------
1 | // Copyright 2014 The Go Authors. All rights reserved.
2 | // Use of this source code is governed by a BSD-style
3 | // license that can be found in the LICENSE file.
4 |
5 | //go:build !aix && !darwin && !freebsd && !linux && !solaris && !zos
6 |
7 | package ipv6
8 |
9 | import (
10 | "net"
11 |
12 | "golang.org/x/net/internal/socket"
13 | )
14 |
15 | func (so *sockOpt) setGroupReq(c *socket.Conn, ifi *net.Interface, grp net.IP) error {
16 | return errNotImplemented
17 | }
18 |
19 | func (so *sockOpt) setGroupSourceReq(c *socket.Conn, ifi *net.Interface, grp, src net.IP) error {
20 | return errNotImplemented
21 | }
22 |
--------------------------------------------------------------------------------
/vendor/golang.org/x/net/ipv6/sys_stub.go:
--------------------------------------------------------------------------------
1 | // Copyright 2014 The Go Authors. All rights reserved.
2 | // Use of this source code is governed by a BSD-style
3 | // license that can be found in the LICENSE file.
4 |
5 | //go:build !aix && !darwin && !dragonfly && !freebsd && !linux && !netbsd && !openbsd && !solaris && !windows && !zos
6 |
7 | package ipv6
8 |
9 | var (
10 | ctlOpts = [ctlMax]ctlOpt{}
11 |
12 | sockOpts = map[int]*sockOpt{}
13 | )
14 |
--------------------------------------------------------------------------------
/vendor/golang.org/x/net/ipv6/zsys_dragonfly.go:
--------------------------------------------------------------------------------
1 | // Code generated by cmd/cgo -godefs; DO NOT EDIT.
2 | // cgo -godefs defs_dragonfly.go
3 |
4 | package ipv6
5 |
6 | const (
7 | sizeofSockaddrInet6 = 0x1c
8 | sizeofInet6Pktinfo = 0x14
9 | sizeofIPv6Mtuinfo = 0x20
10 |
11 | sizeofIPv6Mreq = 0x14
12 |
13 | sizeofICMPv6Filter = 0x20
14 | )
15 |
16 | type sockaddrInet6 struct {
17 | Len uint8
18 | Family uint8
19 | Port uint16
20 | Flowinfo uint32
21 | Addr [16]byte /* in6_addr */
22 | Scope_id uint32
23 | }
24 |
25 | type inet6Pktinfo struct {
26 | Addr [16]byte /* in6_addr */
27 | Ifindex uint32
28 | }
29 |
30 | type ipv6Mtuinfo struct {
31 | Addr sockaddrInet6
32 | Mtu uint32
33 | }
34 |
35 | type ipv6Mreq struct {
36 | Multiaddr [16]byte /* in6_addr */
37 | Interface uint32
38 | }
39 |
40 | type icmpv6Filter struct {
41 | Filt [8]uint32
42 | }
43 |
--------------------------------------------------------------------------------
/vendor/golang.org/x/net/ipv6/zsys_netbsd.go:
--------------------------------------------------------------------------------
1 | // Code generated by cmd/cgo -godefs; DO NOT EDIT.
2 | // cgo -godefs defs_netbsd.go
3 |
4 | package ipv6
5 |
6 | const (
7 | sizeofSockaddrInet6 = 0x1c
8 | sizeofInet6Pktinfo = 0x14
9 | sizeofIPv6Mtuinfo = 0x20
10 |
11 | sizeofIPv6Mreq = 0x14
12 |
13 | sizeofICMPv6Filter = 0x20
14 | )
15 |
16 | type sockaddrInet6 struct {
17 | Len uint8
18 | Family uint8
19 | Port uint16
20 | Flowinfo uint32
21 | Addr [16]byte /* in6_addr */
22 | Scope_id uint32
23 | }
24 |
25 | type inet6Pktinfo struct {
26 | Addr [16]byte /* in6_addr */
27 | Ifindex uint32
28 | }
29 |
30 | type ipv6Mtuinfo struct {
31 | Addr sockaddrInet6
32 | Mtu uint32
33 | }
34 |
35 | type ipv6Mreq struct {
36 | Multiaddr [16]byte /* in6_addr */
37 | Interface uint32
38 | }
39 |
40 | type icmpv6Filter struct {
41 | Filt [8]uint32
42 | }
43 |
--------------------------------------------------------------------------------
/vendor/golang.org/x/net/ipv6/zsys_openbsd.go:
--------------------------------------------------------------------------------
1 | // Code generated by cmd/cgo -godefs; DO NOT EDIT.
2 | // cgo -godefs defs_openbsd.go
3 |
4 | package ipv6
5 |
6 | const (
7 | sizeofSockaddrInet6 = 0x1c
8 | sizeofInet6Pktinfo = 0x14
9 | sizeofIPv6Mtuinfo = 0x20
10 |
11 | sizeofIPv6Mreq = 0x14
12 |
13 | sizeofICMPv6Filter = 0x20
14 | )
15 |
16 | type sockaddrInet6 struct {
17 | Len uint8
18 | Family uint8
19 | Port uint16
20 | Flowinfo uint32
21 | Addr [16]byte /* in6_addr */
22 | Scope_id uint32
23 | }
24 |
25 | type inet6Pktinfo struct {
26 | Addr [16]byte /* in6_addr */
27 | Ifindex uint32
28 | }
29 |
30 | type ipv6Mtuinfo struct {
31 | Addr sockaddrInet6
32 | Mtu uint32
33 | }
34 |
35 | type ipv6Mreq struct {
36 | Multiaddr [16]byte /* in6_addr */
37 | Interface uint32
38 | }
39 |
40 | type icmpv6Filter struct {
41 | Filt [8]uint32
42 | }
43 |
--------------------------------------------------------------------------------
/vendor/golang.org/x/net/websocket/dial.go:
--------------------------------------------------------------------------------
1 | // Copyright 2015 The Go Authors. All rights reserved.
2 | // Use of this source code is governed by a BSD-style
3 | // license that can be found in the LICENSE file.
4 |
5 | package websocket
6 |
7 | import (
8 | "context"
9 | "crypto/tls"
10 | "net"
11 | )
12 |
13 | func dialWithDialer(ctx context.Context, dialer *net.Dialer, config *Config) (conn net.Conn, err error) {
14 | switch config.Location.Scheme {
15 | case "ws":
16 | conn, err = dialer.DialContext(ctx, "tcp", parseAuthority(config.Location))
17 |
18 | case "wss":
19 | tlsDialer := &tls.Dialer{
20 | NetDialer: dialer,
21 | Config: config.TlsConfig,
22 | }
23 |
24 | conn, err = tlsDialer.DialContext(ctx, "tcp", parseAuthority(config.Location))
25 | default:
26 | err = ErrBadScheme
27 | }
28 | return
29 | }
30 |
--------------------------------------------------------------------------------
/vendor/golang.org/x/sync/errgroup/go120.go:
--------------------------------------------------------------------------------
1 | // Copyright 2023 The Go Authors. All rights reserved.
2 | // Use of this source code is governed by a BSD-style
3 | // license that can be found in the LICENSE file.
4 |
5 | //go:build go1.20
6 |
7 | package errgroup
8 |
9 | import "context"
10 |
11 | func withCancelCause(parent context.Context) (context.Context, func(error)) {
12 | return context.WithCancelCause(parent)
13 | }
14 |
--------------------------------------------------------------------------------
/vendor/golang.org/x/sync/errgroup/pre_go120.go:
--------------------------------------------------------------------------------
1 | // Copyright 2023 The Go Authors. All rights reserved.
2 | // Use of this source code is governed by a BSD-style
3 | // license that can be found in the LICENSE file.
4 |
5 | //go:build !go1.20
6 |
7 | package errgroup
8 |
9 | import "context"
10 |
11 | func withCancelCause(parent context.Context) (context.Context, func(error)) {
12 | ctx, cancel := context.WithCancel(parent)
13 | return ctx, func(error) { cancel() }
14 | }
15 |
--------------------------------------------------------------------------------
/vendor/golang.org/x/sys/unix/.gitignore:
--------------------------------------------------------------------------------
1 | _obj/
2 | unix.test
3 |
--------------------------------------------------------------------------------
/vendor/golang.org/x/sys/unix/aliases.go:
--------------------------------------------------------------------------------
1 | // Copyright 2018 The Go Authors. All rights reserved.
2 | // Use of this source code is governed by a BSD-style
3 | // license that can be found in the LICENSE file.
4 |
5 | //go:build aix || darwin || dragonfly || freebsd || linux || netbsd || openbsd || solaris || zos
6 |
7 | package unix
8 |
9 | import "syscall"
10 |
11 | type Signal = syscall.Signal
12 | type Errno = syscall.Errno
13 | type SysProcAttr = syscall.SysProcAttr
14 |
--------------------------------------------------------------------------------
/vendor/golang.org/x/sys/unix/asm_aix_ppc64.s:
--------------------------------------------------------------------------------
1 | // Copyright 2018 The Go Authors. All rights reserved.
2 | // Use of this source code is governed by a BSD-style
3 | // license that can be found in the LICENSE file.
4 |
5 | //go:build gc
6 |
7 | #include "textflag.h"
8 |
9 | //
10 | // System calls for ppc64, AIX are implemented in runtime/syscall_aix.go
11 | //
12 |
13 | TEXT ·syscall6(SB),NOSPLIT,$0-88
14 | JMP syscall·syscall6(SB)
15 |
16 | TEXT ·rawSyscall6(SB),NOSPLIT,$0-88
17 | JMP syscall·rawSyscall6(SB)
18 |
--------------------------------------------------------------------------------
/vendor/golang.org/x/sys/unix/asm_bsd_386.s:
--------------------------------------------------------------------------------
1 | // Copyright 2021 The Go Authors. All rights reserved.
2 | // Use of this source code is governed by a BSD-style
3 | // license that can be found in the LICENSE file.
4 |
5 | //go:build (freebsd || netbsd || openbsd) && gc
6 |
7 | #include "textflag.h"
8 |
9 | // System call support for 386 BSD
10 |
11 | // Just jump to package syscall's implementation for all these functions.
12 | // The runtime may know about them.
13 |
14 | TEXT ·Syscall(SB),NOSPLIT,$0-28
15 | JMP syscall·Syscall(SB)
16 |
17 | TEXT ·Syscall6(SB),NOSPLIT,$0-40
18 | JMP syscall·Syscall6(SB)
19 |
20 | TEXT ·Syscall9(SB),NOSPLIT,$0-52
21 | JMP syscall·Syscall9(SB)
22 |
23 | TEXT ·RawSyscall(SB),NOSPLIT,$0-28
24 | JMP syscall·RawSyscall(SB)
25 |
26 | TEXT ·RawSyscall6(SB),NOSPLIT,$0-40
27 | JMP syscall·RawSyscall6(SB)
28 |
--------------------------------------------------------------------------------
/vendor/golang.org/x/sys/unix/asm_bsd_amd64.s:
--------------------------------------------------------------------------------
1 | // Copyright 2021 The Go Authors. All rights reserved.
2 | // Use of this source code is governed by a BSD-style
3 | // license that can be found in the LICENSE file.
4 |
5 | //go:build (darwin || dragonfly || freebsd || netbsd || openbsd) && gc
6 |
7 | #include "textflag.h"
8 |
9 | // System call support for AMD64 BSD
10 |
11 | // Just jump to package syscall's implementation for all these functions.
12 | // The runtime may know about them.
13 |
14 | TEXT ·Syscall(SB),NOSPLIT,$0-56
15 | JMP syscall·Syscall(SB)
16 |
17 | TEXT ·Syscall6(SB),NOSPLIT,$0-80
18 | JMP syscall·Syscall6(SB)
19 |
20 | TEXT ·Syscall9(SB),NOSPLIT,$0-104
21 | JMP syscall·Syscall9(SB)
22 |
23 | TEXT ·RawSyscall(SB),NOSPLIT,$0-56
24 | JMP syscall·RawSyscall(SB)
25 |
26 | TEXT ·RawSyscall6(SB),NOSPLIT,$0-80
27 | JMP syscall·RawSyscall6(SB)
28 |
--------------------------------------------------------------------------------
/vendor/golang.org/x/sys/unix/asm_bsd_arm.s:
--------------------------------------------------------------------------------
1 | // Copyright 2021 The Go Authors. All rights reserved.
2 | // Use of this source code is governed by a BSD-style
3 | // license that can be found in the LICENSE file.
4 |
5 | //go:build (freebsd || netbsd || openbsd) && gc
6 |
7 | #include "textflag.h"
8 |
9 | // System call support for ARM BSD
10 |
11 | // Just jump to package syscall's implementation for all these functions.
12 | // The runtime may know about them.
13 |
14 | TEXT ·Syscall(SB),NOSPLIT,$0-28
15 | B syscall·Syscall(SB)
16 |
17 | TEXT ·Syscall6(SB),NOSPLIT,$0-40
18 | B syscall·Syscall6(SB)
19 |
20 | TEXT ·Syscall9(SB),NOSPLIT,$0-52
21 | B syscall·Syscall9(SB)
22 |
23 | TEXT ·RawSyscall(SB),NOSPLIT,$0-28
24 | B syscall·RawSyscall(SB)
25 |
26 | TEXT ·RawSyscall6(SB),NOSPLIT,$0-40
27 | B syscall·RawSyscall6(SB)
28 |
--------------------------------------------------------------------------------
/vendor/golang.org/x/sys/unix/asm_bsd_arm64.s:
--------------------------------------------------------------------------------
1 | // Copyright 2021 The Go Authors. All rights reserved.
2 | // Use of this source code is governed by a BSD-style
3 | // license that can be found in the LICENSE file.
4 |
5 | //go:build (darwin || freebsd || netbsd || openbsd) && gc
6 |
7 | #include "textflag.h"
8 |
9 | // System call support for ARM64 BSD
10 |
11 | // Just jump to package syscall's implementation for all these functions.
12 | // The runtime may know about them.
13 |
14 | TEXT ·Syscall(SB),NOSPLIT,$0-56
15 | JMP syscall·Syscall(SB)
16 |
17 | TEXT ·Syscall6(SB),NOSPLIT,$0-80
18 | JMP syscall·Syscall6(SB)
19 |
20 | TEXT ·Syscall9(SB),NOSPLIT,$0-104
21 | JMP syscall·Syscall9(SB)
22 |
23 | TEXT ·RawSyscall(SB),NOSPLIT,$0-56
24 | JMP syscall·RawSyscall(SB)
25 |
26 | TEXT ·RawSyscall6(SB),NOSPLIT,$0-80
27 | JMP syscall·RawSyscall6(SB)
28 |
--------------------------------------------------------------------------------
/vendor/golang.org/x/sys/unix/asm_bsd_ppc64.s:
--------------------------------------------------------------------------------
1 | // Copyright 2022 The Go Authors. All rights reserved.
2 | // Use of this source code is governed by a BSD-style
3 | // license that can be found in the LICENSE file.
4 |
5 | //go:build (darwin || freebsd || netbsd || openbsd) && gc
6 |
7 | #include "textflag.h"
8 |
9 | //
10 | // System call support for ppc64, BSD
11 | //
12 |
13 | // Just jump to package syscall's implementation for all these functions.
14 | // The runtime may know about them.
15 |
16 | TEXT ·Syscall(SB),NOSPLIT,$0-56
17 | JMP syscall·Syscall(SB)
18 |
19 | TEXT ·Syscall6(SB),NOSPLIT,$0-80
20 | JMP syscall·Syscall6(SB)
21 |
22 | TEXT ·Syscall9(SB),NOSPLIT,$0-104
23 | JMP syscall·Syscall9(SB)
24 |
25 | TEXT ·RawSyscall(SB),NOSPLIT,$0-56
26 | JMP syscall·RawSyscall(SB)
27 |
28 | TEXT ·RawSyscall6(SB),NOSPLIT,$0-80
29 | JMP syscall·RawSyscall6(SB)
30 |
--------------------------------------------------------------------------------
/vendor/golang.org/x/sys/unix/asm_bsd_riscv64.s:
--------------------------------------------------------------------------------
1 | // Copyright 2021 The Go Authors. All rights reserved.
2 | // Use of this source code is governed by a BSD-style
3 | // license that can be found in the LICENSE file.
4 |
5 | //go:build (darwin || freebsd || netbsd || openbsd) && gc
6 |
7 | #include "textflag.h"
8 |
9 | // System call support for RISCV64 BSD
10 |
11 | // Just jump to package syscall's implementation for all these functions.
12 | // The runtime may know about them.
13 |
14 | TEXT ·Syscall(SB),NOSPLIT,$0-56
15 | JMP syscall·Syscall(SB)
16 |
17 | TEXT ·Syscall6(SB),NOSPLIT,$0-80
18 | JMP syscall·Syscall6(SB)
19 |
20 | TEXT ·Syscall9(SB),NOSPLIT,$0-104
21 | JMP syscall·Syscall9(SB)
22 |
23 | TEXT ·RawSyscall(SB),NOSPLIT,$0-56
24 | JMP syscall·RawSyscall(SB)
25 |
26 | TEXT ·RawSyscall6(SB),NOSPLIT,$0-80
27 | JMP syscall·RawSyscall6(SB)
28 |
--------------------------------------------------------------------------------
/vendor/golang.org/x/sys/unix/asm_openbsd_mips64.s:
--------------------------------------------------------------------------------
1 | // Copyright 2019 The Go Authors. All rights reserved.
2 | // Use of this source code is governed by a BSD-style
3 | // license that can be found in the LICENSE file.
4 |
5 | //go:build gc
6 |
7 | #include "textflag.h"
8 |
9 | //
10 | // System call support for mips64, OpenBSD
11 | //
12 |
13 | // Just jump to package syscall's implementation for all these functions.
14 | // The runtime may know about them.
15 |
16 | TEXT ·Syscall(SB),NOSPLIT,$0-56
17 | JMP syscall·Syscall(SB)
18 |
19 | TEXT ·Syscall6(SB),NOSPLIT,$0-80
20 | JMP syscall·Syscall6(SB)
21 |
22 | TEXT ·Syscall9(SB),NOSPLIT,$0-104
23 | JMP syscall·Syscall9(SB)
24 |
25 | TEXT ·RawSyscall(SB),NOSPLIT,$0-56
26 | JMP syscall·RawSyscall(SB)
27 |
28 | TEXT ·RawSyscall6(SB),NOSPLIT,$0-80
29 | JMP syscall·RawSyscall6(SB)
30 |
--------------------------------------------------------------------------------
/vendor/golang.org/x/sys/unix/asm_solaris_amd64.s:
--------------------------------------------------------------------------------
1 | // Copyright 2014 The Go Authors. All rights reserved.
2 | // Use of this source code is governed by a BSD-style
3 | // license that can be found in the LICENSE file.
4 |
5 | //go:build gc
6 |
7 | #include "textflag.h"
8 |
9 | //
10 | // System calls for amd64, Solaris are implemented in runtime/syscall_solaris.go
11 | //
12 |
13 | TEXT ·sysvicall6(SB),NOSPLIT,$0-88
14 | JMP syscall·sysvicall6(SB)
15 |
16 | TEXT ·rawSysvicall6(SB),NOSPLIT,$0-88
17 | JMP syscall·rawSysvicall6(SB)
18 |
--------------------------------------------------------------------------------
/vendor/golang.org/x/sys/unix/bluetooth_linux.go:
--------------------------------------------------------------------------------
1 | // Copyright 2016 The Go Authors. All rights reserved.
2 | // Use of this source code is governed by a BSD-style
3 | // license that can be found in the LICENSE file.
4 |
5 | // Bluetooth sockets and messages
6 |
7 | package unix
8 |
9 | // Bluetooth Protocols
10 | const (
11 | BTPROTO_L2CAP = 0
12 | BTPROTO_HCI = 1
13 | BTPROTO_SCO = 2
14 | BTPROTO_RFCOMM = 3
15 | BTPROTO_BNEP = 4
16 | BTPROTO_CMTP = 5
17 | BTPROTO_HIDP = 6
18 | BTPROTO_AVDTP = 7
19 | )
20 |
21 | const (
22 | HCI_CHANNEL_RAW = 0
23 | HCI_CHANNEL_USER = 1
24 | HCI_CHANNEL_MONITOR = 2
25 | HCI_CHANNEL_CONTROL = 3
26 | HCI_CHANNEL_LOGGING = 4
27 | )
28 |
29 | // Socketoption Level
30 | const (
31 | SOL_BLUETOOTH = 0x112
32 | SOL_HCI = 0x0
33 | SOL_L2CAP = 0x6
34 | SOL_RFCOMM = 0x12
35 | SOL_SCO = 0x11
36 | )
37 |
--------------------------------------------------------------------------------
/vendor/golang.org/x/sys/unix/constants.go:
--------------------------------------------------------------------------------
1 | // Copyright 2015 The Go Authors. All rights reserved.
2 | // Use of this source code is governed by a BSD-style
3 | // license that can be found in the LICENSE file.
4 |
5 | //go:build aix || darwin || dragonfly || freebsd || linux || netbsd || openbsd || solaris || zos
6 |
7 | package unix
8 |
9 | const (
10 | R_OK = 0x4
11 | W_OK = 0x2
12 | X_OK = 0x1
13 | )
14 |
--------------------------------------------------------------------------------
/vendor/golang.org/x/sys/unix/dev_aix_ppc.go:
--------------------------------------------------------------------------------
1 | // Copyright 2018 The Go Authors. All rights reserved.
2 | // Use of this source code is governed by a BSD-style
3 | // license that can be found in the LICENSE file.
4 |
5 | //go:build aix && ppc
6 |
7 | // Functions to access/create device major and minor numbers matching the
8 | // encoding used by AIX.
9 |
10 | package unix
11 |
12 | // Major returns the major component of a Linux device number.
13 | func Major(dev uint64) uint32 {
14 | return uint32((dev >> 16) & 0xffff)
15 | }
16 |
17 | // Minor returns the minor component of a Linux device number.
18 | func Minor(dev uint64) uint32 {
19 | return uint32(dev & 0xffff)
20 | }
21 |
22 | // Mkdev returns a Linux device number generated from the given major and minor
23 | // components.
24 | func Mkdev(major, minor uint32) uint64 {
25 | return uint64(((major) << 16) | (minor))
26 | }
27 |
--------------------------------------------------------------------------------
/vendor/golang.org/x/sys/unix/dev_darwin.go:
--------------------------------------------------------------------------------
1 | // Copyright 2017 The Go Authors. All rights reserved.
2 | // Use of this source code is governed by a BSD-style
3 | // license that can be found in the LICENSE file.
4 |
5 | // Functions to access/create device major and minor numbers matching the
6 | // encoding used in Darwin's sys/types.h header.
7 |
8 | package unix
9 |
10 | // Major returns the major component of a Darwin device number.
11 | func Major(dev uint64) uint32 {
12 | return uint32((dev >> 24) & 0xff)
13 | }
14 |
15 | // Minor returns the minor component of a Darwin device number.
16 | func Minor(dev uint64) uint32 {
17 | return uint32(dev & 0xffffff)
18 | }
19 |
20 | // Mkdev returns a Darwin device number generated from the given major and minor
21 | // components.
22 | func Mkdev(major, minor uint32) uint64 {
23 | return (uint64(major) << 24) | uint64(minor)
24 | }
25 |
--------------------------------------------------------------------------------
/vendor/golang.org/x/sys/unix/endian_big.go:
--------------------------------------------------------------------------------
1 | // Copyright 2016 The Go Authors. All rights reserved.
2 | // Use of this source code is governed by a BSD-style
3 | // license that can be found in the LICENSE file.
4 | //
5 | //go:build armbe || arm64be || m68k || mips || mips64 || mips64p32 || ppc || ppc64 || s390 || s390x || shbe || sparc || sparc64
6 |
7 | package unix
8 |
9 | const isBigEndian = true
10 |
--------------------------------------------------------------------------------
/vendor/golang.org/x/sys/unix/endian_little.go:
--------------------------------------------------------------------------------
1 | // Copyright 2016 The Go Authors. All rights reserved.
2 | // Use of this source code is governed by a BSD-style
3 | // license that can be found in the LICENSE file.
4 | //
5 | //go:build 386 || amd64 || amd64p32 || alpha || arm || arm64 || loong64 || mipsle || mips64le || mips64p32le || nios2 || ppc64le || riscv || riscv64 || sh
6 |
7 | package unix
8 |
9 | const isBigEndian = false
10 |
--------------------------------------------------------------------------------
/vendor/golang.org/x/sys/unix/env_unix.go:
--------------------------------------------------------------------------------
1 | // Copyright 2010 The Go Authors. All rights reserved.
2 | // Use of this source code is governed by a BSD-style
3 | // license that can be found in the LICENSE file.
4 |
5 | //go:build aix || darwin || dragonfly || freebsd || linux || netbsd || openbsd || solaris || zos
6 |
7 | // Unix environment variables.
8 |
9 | package unix
10 |
11 | import "syscall"
12 |
13 | func Getenv(key string) (value string, found bool) {
14 | return syscall.Getenv(key)
15 | }
16 |
17 | func Setenv(key, value string) error {
18 | return syscall.Setenv(key, value)
19 | }
20 |
21 | func Clearenv() {
22 | syscall.Clearenv()
23 | }
24 |
25 | func Environ() []string {
26 | return syscall.Environ()
27 | }
28 |
29 | func Unsetenv(key string) error {
30 | return syscall.Unsetenv(key)
31 | }
32 |
--------------------------------------------------------------------------------
/vendor/golang.org/x/sys/unix/fcntl_linux_32bit.go:
--------------------------------------------------------------------------------
1 | // Copyright 2014 The Go Authors. All rights reserved.
2 | // Use of this source code is governed by a BSD-style
3 | // license that can be found in the LICENSE file.
4 |
5 | //go:build (linux && 386) || (linux && arm) || (linux && mips) || (linux && mipsle) || (linux && ppc)
6 |
7 | package unix
8 |
9 | func init() {
10 | // On 32-bit Linux systems, the fcntl syscall that matches Go's
11 | // Flock_t type is SYS_FCNTL64, not SYS_FCNTL.
12 | fcntl64Syscall = SYS_FCNTL64
13 | }
14 |
--------------------------------------------------------------------------------
/vendor/golang.org/x/sys/unix/gccgo_linux_amd64.go:
--------------------------------------------------------------------------------
1 | // Copyright 2015 The Go Authors. All rights reserved.
2 | // Use of this source code is governed by a BSD-style
3 | // license that can be found in the LICENSE file.
4 |
5 | //go:build gccgo && linux && amd64
6 |
7 | package unix
8 |
9 | import "syscall"
10 |
11 | //extern gettimeofday
12 | func realGettimeofday(*Timeval, *byte) int32
13 |
14 | func gettimeofday(tv *Timeval) (err syscall.Errno) {
15 | r := realGettimeofday(tv, nil)
16 | if r < 0 {
17 | return syscall.GetErrno()
18 | }
19 | return 0
20 | }
21 |
--------------------------------------------------------------------------------
/vendor/golang.org/x/sys/unix/mmap_nomremap.go:
--------------------------------------------------------------------------------
1 | // Copyright 2023 The Go Authors. All rights reserved.
2 | // Use of this source code is governed by a BSD-style
3 | // license that can be found in the LICENSE file.
4 |
5 | //go:build aix || darwin || dragonfly || freebsd || openbsd || solaris || zos
6 |
7 | package unix
8 |
9 | var mapper = &mmapper{
10 | active: make(map[*byte][]byte),
11 | mmap: mmap,
12 | munmap: munmap,
13 | }
14 |
--------------------------------------------------------------------------------
/vendor/golang.org/x/sys/unix/pagesize_unix.go:
--------------------------------------------------------------------------------
1 | // Copyright 2017 The Go Authors. All rights reserved.
2 | // Use of this source code is governed by a BSD-style
3 | // license that can be found in the LICENSE file.
4 |
5 | //go:build aix || darwin || dragonfly || freebsd || linux || netbsd || openbsd || solaris || zos
6 |
7 | // For Unix, get the pagesize from the runtime.
8 |
9 | package unix
10 |
11 | import "syscall"
12 |
13 | func Getpagesize() int {
14 | return syscall.Getpagesize()
15 | }
16 |
--------------------------------------------------------------------------------
/vendor/golang.org/x/sys/unix/ptrace_darwin.go:
--------------------------------------------------------------------------------
1 | // Copyright 2020 The Go Authors. All rights reserved.
2 | // Use of this source code is governed by a BSD-style
3 | // license that can be found in the LICENSE file.
4 |
5 | //go:build darwin && !ios
6 |
7 | package unix
8 |
9 | func ptrace(request int, pid int, addr uintptr, data uintptr) error {
10 | return ptrace1(request, pid, addr, data)
11 | }
12 |
--------------------------------------------------------------------------------
/vendor/golang.org/x/sys/unix/ptrace_ios.go:
--------------------------------------------------------------------------------
1 | // Copyright 2020 The Go Authors. All rights reserved.
2 | // Use of this source code is governed by a BSD-style
3 | // license that can be found in the LICENSE file.
4 |
5 | //go:build ios
6 |
7 | package unix
8 |
9 | func ptrace(request int, pid int, addr uintptr, data uintptr) (err error) {
10 | return ENOTSUP
11 | }
12 |
--------------------------------------------------------------------------------
/vendor/golang.org/x/sys/unix/race.go:
--------------------------------------------------------------------------------
1 | // Copyright 2012 The Go Authors. All rights reserved.
2 | // Use of this source code is governed by a BSD-style
3 | // license that can be found in the LICENSE file.
4 |
5 | //go:build (darwin && race) || (linux && race) || (freebsd && race)
6 |
7 | package unix
8 |
9 | import (
10 | "runtime"
11 | "unsafe"
12 | )
13 |
14 | const raceenabled = true
15 |
16 | func raceAcquire(addr unsafe.Pointer) {
17 | runtime.RaceAcquire(addr)
18 | }
19 |
20 | func raceReleaseMerge(addr unsafe.Pointer) {
21 | runtime.RaceReleaseMerge(addr)
22 | }
23 |
24 | func raceReadRange(addr unsafe.Pointer, len int) {
25 | runtime.RaceReadRange(addr, len)
26 | }
27 |
28 | func raceWriteRange(addr unsafe.Pointer, len int) {
29 | runtime.RaceWriteRange(addr, len)
30 | }
31 |
--------------------------------------------------------------------------------
/vendor/golang.org/x/sys/unix/race0.go:
--------------------------------------------------------------------------------
1 | // Copyright 2012 The Go Authors. All rights reserved.
2 | // Use of this source code is governed by a BSD-style
3 | // license that can be found in the LICENSE file.
4 |
5 | //go:build aix || (darwin && !race) || (linux && !race) || (freebsd && !race) || netbsd || openbsd || solaris || dragonfly || zos
6 |
7 | package unix
8 |
9 | import (
10 | "unsafe"
11 | )
12 |
13 | const raceenabled = false
14 |
15 | func raceAcquire(addr unsafe.Pointer) {
16 | }
17 |
18 | func raceReleaseMerge(addr unsafe.Pointer) {
19 | }
20 |
21 | func raceReadRange(addr unsafe.Pointer, len int) {
22 | }
23 |
24 | func raceWriteRange(addr unsafe.Pointer, len int) {
25 | }
26 |
--------------------------------------------------------------------------------
/vendor/golang.org/x/sys/unix/readdirent_getdents.go:
--------------------------------------------------------------------------------
1 | // Copyright 2019 The Go Authors. All rights reserved.
2 | // Use of this source code is governed by a BSD-style
3 | // license that can be found in the LICENSE file.
4 |
5 | //go:build aix || dragonfly || freebsd || linux || netbsd || openbsd
6 |
7 | package unix
8 |
9 | // ReadDirent reads directory entries from fd and writes them into buf.
10 | func ReadDirent(fd int, buf []byte) (n int, err error) {
11 | return Getdents(fd, buf)
12 | }
13 |
--------------------------------------------------------------------------------
/vendor/golang.org/x/sys/unix/readdirent_getdirentries.go:
--------------------------------------------------------------------------------
1 | // Copyright 2019 The Go Authors. All rights reserved.
2 | // Use of this source code is governed by a BSD-style
3 | // license that can be found in the LICENSE file.
4 |
5 | //go:build darwin || zos
6 |
7 | package unix
8 |
9 | import "unsafe"
10 |
11 | // ReadDirent reads directory entries from fd and writes them into buf.
12 | func ReadDirent(fd int, buf []byte) (n int, err error) {
13 | // Final argument is (basep *uintptr) and the syscall doesn't take nil.
14 | // 64 bits should be enough. (32 bits isn't even on 386). Since the
15 | // actual system call is getdirentries64, 64 is a good guess.
16 | // TODO(rsc): Can we use a single global basep for all calls?
17 | var base = (*uintptr)(unsafe.Pointer(new(uint64)))
18 | return Getdirentries(fd, buf, base)
19 | }
20 |
--------------------------------------------------------------------------------
/vendor/golang.org/x/sys/unix/sockcmsg_dragonfly.go:
--------------------------------------------------------------------------------
1 | // Copyright 2019 The Go Authors. All rights reserved.
2 | // Use of this source code is governed by a BSD-style
3 | // license that can be found in the LICENSE file.
4 |
5 | package unix
6 |
7 | // Round the length of a raw sockaddr up to align it properly.
8 | func cmsgAlignOf(salen int) int {
9 | salign := SizeofPtr
10 | if SizeofPtr == 8 && !supportsABI(_dragonflyABIChangeVersion) {
11 | // 64-bit Dragonfly before the September 2019 ABI changes still requires
12 | // 32-bit aligned access to network subsystem.
13 | salign = 4
14 | }
15 | return (salen + salign - 1) & ^(salign - 1)
16 | }
17 |
--------------------------------------------------------------------------------
/vendor/golang.org/x/sys/unix/syscall_hurd.go:
--------------------------------------------------------------------------------
1 | // Copyright 2022 The Go Authors. All rights reserved.
2 | // Use of this source code is governed by a BSD-style
3 | // license that can be found in the LICENSE file.
4 |
5 | //go:build hurd
6 |
7 | package unix
8 |
9 | /*
10 | #include
11 | int ioctl(int, unsigned long int, uintptr_t);
12 | */
13 | import "C"
14 |
15 | func ioctl(fd int, req uint, arg uintptr) (err error) {
16 | r0, er := C.ioctl(C.int(fd), C.ulong(req), C.uintptr_t(arg))
17 | if r0 == -1 && er != nil {
18 | err = er
19 | }
20 | return
21 | }
22 |
23 | func ioctlPtr(fd int, req uint, arg unsafe.Pointer) (err error) {
24 | r0, er := C.ioctl(C.int(fd), C.ulong(req), C.uintptr_t(uintptr(arg)))
25 | if r0 == -1 && er != nil {
26 | err = er
27 | }
28 | return
29 | }
30 |
--------------------------------------------------------------------------------
/vendor/golang.org/x/sys/unix/syscall_hurd_386.go:
--------------------------------------------------------------------------------
1 | // Copyright 2022 The Go Authors. All rights reserved.
2 | // Use of this source code is governed by a BSD-style
3 | // license that can be found in the LICENSE file.
4 |
5 | //go:build 386 && hurd
6 |
7 | package unix
8 |
9 | const (
10 | TIOCGETA = 0x62251713
11 | )
12 |
13 | type Winsize struct {
14 | Row uint16
15 | Col uint16
16 | Xpixel uint16
17 | Ypixel uint16
18 | }
19 |
20 | type Termios struct {
21 | Iflag uint32
22 | Oflag uint32
23 | Cflag uint32
24 | Lflag uint32
25 | Cc [20]uint8
26 | Ispeed int32
27 | Ospeed int32
28 | }
29 |
--------------------------------------------------------------------------------
/vendor/golang.org/x/sys/unix/syscall_linux_alarm.go:
--------------------------------------------------------------------------------
1 | // Copyright 2022 The Go Authors. All rights reserved.
2 | // Use of this source code is governed by a BSD-style
3 | // license that can be found in the LICENSE file.
4 |
5 | //go:build linux && (386 || amd64 || mips || mipsle || mips64 || mipsle || ppc64 || ppc64le || ppc || s390x || sparc64)
6 |
7 | package unix
8 |
9 | // SYS_ALARM is not defined on arm or riscv, but is available for other GOARCH
10 | // values.
11 |
12 | //sys Alarm(seconds uint) (remaining uint, err error)
13 |
--------------------------------------------------------------------------------
/vendor/golang.org/x/sys/unix/syscall_linux_amd64_gc.go:
--------------------------------------------------------------------------------
1 | // Copyright 2016 The Go Authors. All rights reserved.
2 | // Use of this source code is governed by a BSD-style
3 | // license that can be found in the LICENSE file.
4 |
5 | //go:build amd64 && linux && gc
6 |
7 | package unix
8 |
9 | import "syscall"
10 |
11 | //go:noescape
12 | func gettimeofday(tv *Timeval) (err syscall.Errno)
13 |
--------------------------------------------------------------------------------
/vendor/golang.org/x/sys/unix/syscall_linux_gc.go:
--------------------------------------------------------------------------------
1 | // Copyright 2018 The Go Authors. All rights reserved.
2 | // Use of this source code is governed by a BSD-style
3 | // license that can be found in the LICENSE file.
4 |
5 | //go:build linux && gc
6 |
7 | package unix
8 |
9 | // SyscallNoError may be used instead of Syscall for syscalls that don't fail.
10 | func SyscallNoError(trap, a1, a2, a3 uintptr) (r1, r2 uintptr)
11 |
12 | // RawSyscallNoError may be used instead of RawSyscall for syscalls that don't
13 | // fail.
14 | func RawSyscallNoError(trap, a1, a2, a3 uintptr) (r1, r2 uintptr)
15 |
--------------------------------------------------------------------------------
/vendor/golang.org/x/sys/unix/syscall_linux_gc_386.go:
--------------------------------------------------------------------------------
1 | // Copyright 2018 The Go Authors. All rights reserved.
2 | // Use of this source code is governed by a BSD-style
3 | // license that can be found in the LICENSE file.
4 |
5 | //go:build linux && gc && 386
6 |
7 | package unix
8 |
9 | import "syscall"
10 |
11 | // Underlying system call writes to newoffset via pointer.
12 | // Implemented in assembly to avoid allocation.
13 | func seek(fd int, offset int64, whence int) (newoffset int64, err syscall.Errno)
14 |
15 | func socketcall(call int, a0, a1, a2, a3, a4, a5 uintptr) (n int, err syscall.Errno)
16 | func rawsocketcall(call int, a0, a1, a2, a3, a4, a5 uintptr) (n int, err syscall.Errno)
17 |
--------------------------------------------------------------------------------
/vendor/golang.org/x/sys/unix/syscall_linux_gc_arm.go:
--------------------------------------------------------------------------------
1 | // Copyright 2009 The Go Authors. All rights reserved.
2 | // Use of this source code is governed by a BSD-style
3 | // license that can be found in the LICENSE file.
4 |
5 | //go:build arm && gc && linux
6 |
7 | package unix
8 |
9 | import "syscall"
10 |
11 | // Underlying system call writes to newoffset via pointer.
12 | // Implemented in assembly to avoid allocation.
13 | func seek(fd int, offset int64, whence int) (newoffset int64, err syscall.Errno)
14 |
--------------------------------------------------------------------------------
/vendor/golang.org/x/sys/unix/syscall_linux_gccgo_arm.go:
--------------------------------------------------------------------------------
1 | // Copyright 2018 The Go Authors. All rights reserved.
2 | // Use of this source code is governed by a BSD-style
3 | // license that can be found in the LICENSE file.
4 |
5 | //go:build linux && gccgo && arm
6 |
7 | package unix
8 |
9 | import (
10 | "syscall"
11 | "unsafe"
12 | )
13 |
14 | func seek(fd int, offset int64, whence int) (int64, syscall.Errno) {
15 | var newoffset int64
16 | offsetLow := uint32(offset & 0xffffffff)
17 | offsetHigh := uint32((offset >> 32) & 0xffffffff)
18 | _, _, err := Syscall6(SYS__LLSEEK, uintptr(fd), uintptr(offsetHigh), uintptr(offsetLow), uintptr(unsafe.Pointer(&newoffset)), uintptr(whence), 0)
19 | return newoffset, err
20 | }
21 |
--------------------------------------------------------------------------------
/vendor/golang.org/x/sys/unix/syscall_solaris_amd64.go:
--------------------------------------------------------------------------------
1 | // Copyright 2009 The Go Authors. All rights reserved.
2 | // Use of this source code is governed by a BSD-style
3 | // license that can be found in the LICENSE file.
4 |
5 | //go:build amd64 && solaris
6 |
7 | package unix
8 |
9 | func setTimespec(sec, nsec int64) Timespec {
10 | return Timespec{Sec: sec, Nsec: nsec}
11 | }
12 |
13 | func setTimeval(sec, usec int64) Timeval {
14 | return Timeval{Sec: sec, Usec: usec}
15 | }
16 |
17 | func (iov *Iovec) SetLen(length int) {
18 | iov.Len = uint64(length)
19 | }
20 |
21 | func (msghdr *Msghdr) SetIovlen(length int) {
22 | msghdr.Iovlen = int32(length)
23 | }
24 |
25 | func (cmsg *Cmsghdr) SetLen(length int) {
26 | cmsg.Len = uint32(length)
27 | }
28 |
--------------------------------------------------------------------------------
/vendor/golang.org/x/sys/unix/syscall_unix_gc.go:
--------------------------------------------------------------------------------
1 | // Copyright 2016 The Go Authors. All rights reserved.
2 | // Use of this source code is governed by a BSD-style
3 | // license that can be found in the LICENSE file.
4 |
5 | //go:build (darwin || dragonfly || freebsd || (linux && !ppc64 && !ppc64le) || netbsd || openbsd || solaris) && gc
6 |
7 | package unix
8 |
9 | import "syscall"
10 |
11 | func Syscall(trap, a1, a2, a3 uintptr) (r1, r2 uintptr, err syscall.Errno)
12 | func Syscall6(trap, a1, a2, a3, a4, a5, a6 uintptr) (r1, r2 uintptr, err syscall.Errno)
13 | func RawSyscall(trap, a1, a2, a3 uintptr) (r1, r2 uintptr, err syscall.Errno)
14 | func RawSyscall6(trap, a1, a2, a3, a4, a5, a6 uintptr) (r1, r2 uintptr, err syscall.Errno)
15 |
--------------------------------------------------------------------------------
/vendor/golang.org/x/sys/unix/sysvshm_linux.go:
--------------------------------------------------------------------------------
1 | // Copyright 2021 The Go Authors. All rights reserved.
2 | // Use of this source code is governed by a BSD-style
3 | // license that can be found in the LICENSE file.
4 |
5 | //go:build linux
6 |
7 | package unix
8 |
9 | import "runtime"
10 |
11 | // SysvShmCtl performs control operations on the shared memory segment
12 | // specified by id.
13 | func SysvShmCtl(id, cmd int, desc *SysvShmDesc) (result int, err error) {
14 | if runtime.GOARCH == "arm" ||
15 | runtime.GOARCH == "mips64" || runtime.GOARCH == "mips64le" {
16 | cmd |= ipc_64
17 | }
18 |
19 | return shmctl(id, cmd, desc)
20 | }
21 |
--------------------------------------------------------------------------------
/vendor/golang.org/x/sys/unix/sysvshm_unix_other.go:
--------------------------------------------------------------------------------
1 | // Copyright 2021 The Go Authors. All rights reserved.
2 | // Use of this source code is governed by a BSD-style
3 | // license that can be found in the LICENSE file.
4 |
5 | //go:build (darwin && !ios) || zos
6 |
7 | package unix
8 |
9 | // SysvShmCtl performs control operations on the shared memory segment
10 | // specified by id.
11 | func SysvShmCtl(id, cmd int, desc *SysvShmDesc) (result int, err error) {
12 | return shmctl(id, cmd, desc)
13 | }
14 |
--------------------------------------------------------------------------------
/vendor/golang.org/x/sys/unix/zptrace_linux_arm64.go:
--------------------------------------------------------------------------------
1 | // Code generated by linux/mkall.go generatePtraceRegSet("arm64"). DO NOT EDIT.
2 |
3 | package unix
4 |
5 | import "unsafe"
6 |
7 | // PtraceGetRegSetArm64 fetches the registers used by arm64 binaries.
8 | func PtraceGetRegSetArm64(pid, addr int, regsout *PtraceRegsArm64) error {
9 | iovec := Iovec{(*byte)(unsafe.Pointer(regsout)), uint64(unsafe.Sizeof(*regsout))}
10 | return ptracePtr(PTRACE_GETREGSET, pid, uintptr(addr), unsafe.Pointer(&iovec))
11 | }
12 |
13 | // PtraceSetRegSetArm64 sets the registers used by arm64 binaries.
14 | func PtraceSetRegSetArm64(pid, addr int, regs *PtraceRegsArm64) error {
15 | iovec := Iovec{(*byte)(unsafe.Pointer(regs)), uint64(unsafe.Sizeof(*regs))}
16 | return ptracePtr(PTRACE_SETREGSET, pid, uintptr(addr), unsafe.Pointer(&iovec))
17 | }
18 |
--------------------------------------------------------------------------------
/vendor/golang.org/x/sys/windows/aliases.go:
--------------------------------------------------------------------------------
1 | // Copyright 2018 The Go Authors. All rights reserved.
2 | // Use of this source code is governed by a BSD-style
3 | // license that can be found in the LICENSE file.
4 |
5 | //go:build windows
6 |
7 | package windows
8 |
9 | import "syscall"
10 |
11 | type Errno = syscall.Errno
12 | type SysProcAttr = syscall.SysProcAttr
13 |
--------------------------------------------------------------------------------
/vendor/golang.org/x/sys/windows/mksyscall.go:
--------------------------------------------------------------------------------
1 | // Copyright 2009 The Go Authors. All rights reserved.
2 | // Use of this source code is governed by a BSD-style
3 | // license that can be found in the LICENSE file.
4 |
5 | //go:build generate
6 |
7 | package windows
8 |
9 | //go:generate go run golang.org/x/sys/windows/mkwinsyscall -output zsyscall_windows.go eventlog.go service.go syscall_windows.go security_windows.go setupapi_windows.go
10 |
--------------------------------------------------------------------------------
/vendor/golang.org/x/sys/windows/race.go:
--------------------------------------------------------------------------------
1 | // Copyright 2012 The Go Authors. All rights reserved.
2 | // Use of this source code is governed by a BSD-style
3 | // license that can be found in the LICENSE file.
4 |
5 | //go:build windows && race
6 |
7 | package windows
8 |
9 | import (
10 | "runtime"
11 | "unsafe"
12 | )
13 |
14 | const raceenabled = true
15 |
16 | func raceAcquire(addr unsafe.Pointer) {
17 | runtime.RaceAcquire(addr)
18 | }
19 |
20 | func raceReleaseMerge(addr unsafe.Pointer) {
21 | runtime.RaceReleaseMerge(addr)
22 | }
23 |
24 | func raceReadRange(addr unsafe.Pointer, len int) {
25 | runtime.RaceReadRange(addr, len)
26 | }
27 |
28 | func raceWriteRange(addr unsafe.Pointer, len int) {
29 | runtime.RaceWriteRange(addr, len)
30 | }
31 |
--------------------------------------------------------------------------------
/vendor/golang.org/x/sys/windows/race0.go:
--------------------------------------------------------------------------------
1 | // Copyright 2012 The Go Authors. All rights reserved.
2 | // Use of this source code is governed by a BSD-style
3 | // license that can be found in the LICENSE file.
4 |
5 | //go:build windows && !race
6 |
7 | package windows
8 |
9 | import (
10 | "unsafe"
11 | )
12 |
13 | const raceenabled = false
14 |
15 | func raceAcquire(addr unsafe.Pointer) {
16 | }
17 |
18 | func raceReleaseMerge(addr unsafe.Pointer) {
19 | }
20 |
21 | func raceReadRange(addr unsafe.Pointer, len int) {
22 | }
23 |
24 | func raceWriteRange(addr unsafe.Pointer, len int) {
25 | }
26 |
--------------------------------------------------------------------------------
/vendor/golang.org/x/sys/windows/str.go:
--------------------------------------------------------------------------------
1 | // Copyright 2009 The Go Authors. All rights reserved.
2 | // Use of this source code is governed by a BSD-style
3 | // license that can be found in the LICENSE file.
4 |
5 | //go:build windows
6 |
7 | package windows
8 |
9 | func itoa(val int) string { // do it here rather than with fmt to avoid dependency
10 | if val < 0 {
11 | return "-" + itoa(-val)
12 | }
13 | var buf [32]byte // big enough for int64
14 | i := len(buf) - 1
15 | for val >= 10 {
16 | buf[i] = byte(val%10 + '0')
17 | i--
18 | val /= 10
19 | }
20 | buf[i] = byte(val + '0')
21 | return string(buf[i:])
22 | }
23 |
--------------------------------------------------------------------------------
/vendor/golang.org/x/text/secure/bidirule/bidirule10.0.0.go:
--------------------------------------------------------------------------------
1 | // Copyright 2016 The Go Authors. All rights reserved.
2 | // Use of this source code is governed by a BSD-style
3 | // license that can be found in the LICENSE file.
4 |
5 | //go:build go1.10
6 |
7 | package bidirule
8 |
9 | func (t *Transformer) isFinal() bool {
10 | return t.state == ruleLTRFinal || t.state == ruleRTLFinal || t.state == ruleInitial
11 | }
12 |
--------------------------------------------------------------------------------
/vendor/golang.org/x/text/secure/bidirule/bidirule9.0.0.go:
--------------------------------------------------------------------------------
1 | // Copyright 2016 The Go Authors. All rights reserved.
2 | // Use of this source code is governed by a BSD-style
3 | // license that can be found in the LICENSE file.
4 |
5 | //go:build !go1.10
6 |
7 | package bidirule
8 |
9 | func (t *Transformer) isFinal() bool {
10 | if !t.isRTL() {
11 | return true
12 | }
13 | return t.state == ruleLTRFinal || t.state == ruleRTLFinal || t.state == ruleInitial
14 | }
15 |
--------------------------------------------------------------------------------
/vendor/golang.org/x/tools/internal/event/doc.go:
--------------------------------------------------------------------------------
1 | // Copyright 2019 The Go Authors. All rights reserved.
2 | // Use of this source code is governed by a BSD-style
3 | // license that can be found in the LICENSE file.
4 |
5 | // Package event provides a set of packages that cover the main
6 | // concepts of telemetry in an implementation agnostic way.
7 | package event
8 |
--------------------------------------------------------------------------------
/vendor/golang.org/x/tools/internal/event/keys/util.go:
--------------------------------------------------------------------------------
1 | // Copyright 2023 The Go Authors. All rights reserved.
2 | // Use of this source code is governed by a BSD-style
3 | // license that can be found in the LICENSE file.
4 |
5 | package keys
6 |
7 | import (
8 | "sort"
9 | "strings"
10 | )
11 |
12 | // Join returns a canonical join of the keys in S:
13 | // a sorted comma-separated string list.
14 | func Join[S ~[]T, T ~string](s S) string {
15 | strs := make([]string, 0, len(s))
16 | for _, v := range s {
17 | strs = append(strs, string(v))
18 | }
19 | sort.Strings(strs)
20 | return strings.Join(strs, ",")
21 | }
22 |
--------------------------------------------------------------------------------
/vendor/golang.org/x/tools/internal/gcimporter/newInterface10.go:
--------------------------------------------------------------------------------
1 | // Copyright 2018 The Go Authors. All rights reserved.
2 | // Use of this source code is governed by a BSD-style
3 | // license that can be found in the LICENSE file.
4 |
5 | //go:build !go1.11
6 | // +build !go1.11
7 |
8 | package gcimporter
9 |
10 | import "go/types"
11 |
12 | func newInterface(methods []*types.Func, embeddeds []types.Type) *types.Interface {
13 | named := make([]*types.Named, len(embeddeds))
14 | for i, e := range embeddeds {
15 | var ok bool
16 | named[i], ok = e.(*types.Named)
17 | if !ok {
18 | panic("embedding of non-defined interfaces in interfaces is not supported before Go 1.11")
19 | }
20 | }
21 | return types.NewInterface(methods, named)
22 | }
23 |
--------------------------------------------------------------------------------
/vendor/golang.org/x/tools/internal/gcimporter/newInterface11.go:
--------------------------------------------------------------------------------
1 | // Copyright 2018 The Go Authors. All rights reserved.
2 | // Use of this source code is governed by a BSD-style
3 | // license that can be found in the LICENSE file.
4 |
5 | //go:build go1.11
6 | // +build go1.11
7 |
8 | package gcimporter
9 |
10 | import "go/types"
11 |
12 | func newInterface(methods []*types.Func, embeddeds []types.Type) *types.Interface {
13 | return types.NewInterfaceType(methods, embeddeds)
14 | }
15 |
--------------------------------------------------------------------------------
/vendor/golang.org/x/tools/internal/gcimporter/unified_no.go:
--------------------------------------------------------------------------------
1 | // Copyright 2022 The Go Authors. All rights reserved.
2 | // Use of this source code is governed by a BSD-style
3 | // license that can be found in the LICENSE file.
4 |
5 | //go:build !goexperiment.unified
6 | // +build !goexperiment.unified
7 |
8 | package gcimporter
9 |
10 | const unifiedIR = false
11 |
--------------------------------------------------------------------------------
/vendor/golang.org/x/tools/internal/gcimporter/unified_yes.go:
--------------------------------------------------------------------------------
1 | // Copyright 2022 The Go Authors. All rights reserved.
2 | // Use of this source code is governed by a BSD-style
3 | // license that can be found in the LICENSE file.
4 |
5 | //go:build goexperiment.unified
6 | // +build goexperiment.unified
7 |
8 | package gcimporter
9 |
10 | const unifiedIR = true
11 |
--------------------------------------------------------------------------------
/vendor/golang.org/x/tools/internal/pkgbits/flags.go:
--------------------------------------------------------------------------------
1 | // Copyright 2022 The Go Authors. All rights reserved.
2 | // Use of this source code is governed by a BSD-style
3 | // license that can be found in the LICENSE file.
4 |
5 | package pkgbits
6 |
7 | const (
8 | flagSyncMarkers = 1 << iota // file format contains sync markers
9 | )
10 |
--------------------------------------------------------------------------------
/vendor/golang.org/x/tools/internal/pkgbits/frames_go1.go:
--------------------------------------------------------------------------------
1 | // Copyright 2021 The Go Authors. All rights reserved.
2 | // Use of this source code is governed by a BSD-style
3 | // license that can be found in the LICENSE file.
4 |
5 | //go:build !go1.7
6 | // +build !go1.7
7 |
8 | // TODO(mdempsky): Remove after #44505 is resolved
9 |
10 | package pkgbits
11 |
12 | import "runtime"
13 |
14 | func walkFrames(pcs []uintptr, visit frameVisitor) {
15 | for _, pc := range pcs {
16 | fn := runtime.FuncForPC(pc)
17 | file, line := fn.FileLine(pc)
18 |
19 | visit(file, line, fn.Name(), pc-fn.Entry())
20 | }
21 | }
22 |
--------------------------------------------------------------------------------
/vendor/golang.org/x/tools/internal/pkgbits/frames_go17.go:
--------------------------------------------------------------------------------
1 | // Copyright 2021 The Go Authors. All rights reserved.
2 | // Use of this source code is governed by a BSD-style
3 | // license that can be found in the LICENSE file.
4 |
5 | //go:build go1.7
6 | // +build go1.7
7 |
8 | package pkgbits
9 |
10 | import "runtime"
11 |
12 | // walkFrames calls visit for each call frame represented by pcs.
13 | //
14 | // pcs should be a slice of PCs, as returned by runtime.Callers.
15 | func walkFrames(pcs []uintptr, visit frameVisitor) {
16 | if len(pcs) == 0 {
17 | return
18 | }
19 |
20 | frames := runtime.CallersFrames(pcs)
21 | for {
22 | frame, more := frames.Next()
23 | visit(frame.File, frame.Line, frame.Function, frame.PC-frame.Entry)
24 | if !more {
25 | return
26 | }
27 | }
28 | }
29 |
--------------------------------------------------------------------------------
/vendor/golang.org/x/tools/internal/pkgbits/support.go:
--------------------------------------------------------------------------------
1 | // Copyright 2022 The Go Authors. All rights reserved.
2 | // Use of this source code is governed by a BSD-style
3 | // license that can be found in the LICENSE file.
4 |
5 | package pkgbits
6 |
7 | import "fmt"
8 |
9 | func assert(b bool) {
10 | if !b {
11 | panic("assertion failed")
12 | }
13 | }
14 |
15 | func errorf(format string, args ...interface{}) {
16 | panic(fmt.Errorf(format, args...))
17 | }
18 |
--------------------------------------------------------------------------------
/vendor/golang.org/x/tools/internal/versions/constraint.go:
--------------------------------------------------------------------------------
1 | // Copyright 2024 The Go Authors. All rights reserved.
2 | // Use of this source code is governed by a BSD-style
3 | // license that can be found in the LICENSE file.
4 |
5 | package versions
6 |
7 | import "go/build/constraint"
8 |
9 | // ConstraintGoVersion is constraint.GoVersion (if built with go1.21+).
10 | // Otherwise nil.
11 | //
12 | // Deprecate once x/tools is after go1.21.
13 | var ConstraintGoVersion func(x constraint.Expr) string
14 |
--------------------------------------------------------------------------------
/vendor/golang.org/x/tools/internal/versions/constraint_go121.go:
--------------------------------------------------------------------------------
1 | // Copyright 2024 The Go Authors. All rights reserved.
2 | // Use of this source code is governed by a BSD-style
3 | // license that can be found in the LICENSE file.
4 |
5 | //go:build go1.21
6 | // +build go1.21
7 |
8 | package versions
9 |
10 | import "go/build/constraint"
11 |
12 | func init() {
13 | ConstraintGoVersion = constraint.GoVersion
14 | }
15 |
--------------------------------------------------------------------------------
/vendor/golang.org/x/tools/internal/versions/toolchain.go:
--------------------------------------------------------------------------------
1 | // Copyright 2024 The Go Authors. All rights reserved.
2 | // Use of this source code is governed by a BSD-style
3 | // license that can be found in the LICENSE file.
4 |
5 | package versions
6 |
7 | // toolchain is maximum version (<1.22) that the go toolchain used
8 | // to build the current tool is known to support.
9 | //
10 | // When a tool is built with >=1.22, the value of toolchain is unused.
11 | //
12 | // x/tools does not support building with go <1.18. So we take this
13 | // as the minimum possible maximum.
14 | var toolchain string = Go1_18
15 |
--------------------------------------------------------------------------------
/vendor/golang.org/x/tools/internal/versions/toolchain_go119.go:
--------------------------------------------------------------------------------
1 | // Copyright 2024 The Go Authors. All rights reserved.
2 | // Use of this source code is governed by a BSD-style
3 | // license that can be found in the LICENSE file.
4 |
5 | //go:build go1.19
6 | // +build go1.19
7 |
8 | package versions
9 |
10 | func init() {
11 | if Compare(toolchain, Go1_19) < 0 {
12 | toolchain = Go1_19
13 | }
14 | }
15 |
--------------------------------------------------------------------------------
/vendor/golang.org/x/tools/internal/versions/toolchain_go120.go:
--------------------------------------------------------------------------------
1 | // Copyright 2024 The Go Authors. All rights reserved.
2 | // Use of this source code is governed by a BSD-style
3 | // license that can be found in the LICENSE file.
4 |
5 | //go:build go1.20
6 | // +build go1.20
7 |
8 | package versions
9 |
10 | func init() {
11 | if Compare(toolchain, Go1_20) < 0 {
12 | toolchain = Go1_20
13 | }
14 | }
15 |
--------------------------------------------------------------------------------
/vendor/golang.org/x/tools/internal/versions/toolchain_go121.go:
--------------------------------------------------------------------------------
1 | // Copyright 2024 The Go Authors. All rights reserved.
2 | // Use of this source code is governed by a BSD-style
3 | // license that can be found in the LICENSE file.
4 |
5 | //go:build go1.21
6 | // +build go1.21
7 |
8 | package versions
9 |
10 | func init() {
11 | if Compare(toolchain, Go1_21) < 0 {
12 | toolchain = Go1_21
13 | }
14 | }
15 |
--------------------------------------------------------------------------------
/vendor/golang.org/x/tools/internal/versions/types.go:
--------------------------------------------------------------------------------
1 | // Copyright 2023 The Go Authors. All rights reserved.
2 | // Use of this source code is governed by a BSD-style
3 | // license that can be found in the LICENSE file.
4 |
5 | package versions
6 |
7 | import (
8 | "go/types"
9 | )
10 |
11 | // GoVersion returns the Go version of the type package.
12 | // It returns zero if no version can be determined.
13 | func GoVersion(pkg *types.Package) string {
14 | // TODO(taking): x/tools can call GoVersion() [from 1.21] after 1.25.
15 | if pkg, ok := any(pkg).(interface{ GoVersion() string }); ok {
16 | return pkg.GoVersion()
17 | }
18 | return ""
19 | }
20 |
--------------------------------------------------------------------------------
/vendor/google.golang.org/grpc/AUTHORS:
--------------------------------------------------------------------------------
1 | Google Inc.
2 |
--------------------------------------------------------------------------------
/vendor/google.golang.org/grpc/CODE-OF-CONDUCT.md:
--------------------------------------------------------------------------------
1 | ## Community Code of Conduct
2 |
3 | gRPC follows the [CNCF Code of Conduct](https://github.com/cncf/foundation/blob/master/code-of-conduct.md).
4 |
--------------------------------------------------------------------------------
/vendor/google.golang.org/grpc/GOVERNANCE.md:
--------------------------------------------------------------------------------
1 | This repository is governed by the gRPC organization's [governance rules](https://github.com/grpc/grpc-community/blob/master/governance.md).
2 |
--------------------------------------------------------------------------------
/vendor/google.golang.org/grpc/NOTICE.txt:
--------------------------------------------------------------------------------
1 | Copyright 2014 gRPC authors.
2 |
3 | Licensed under the Apache License, Version 2.0 (the "License");
4 | you may not use this file except in compliance with the License.
5 | You may obtain a copy of the License at
6 |
7 | http://www.apache.org/licenses/LICENSE-2.0
8 |
9 | Unless required by applicable law or agreed to in writing, software
10 | distributed under the License is distributed on an "AS IS" BASIS,
11 | WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
12 | See the License for the specific language governing permissions and
13 | limitations under the License.
14 |
--------------------------------------------------------------------------------
/vendor/google.golang.org/grpc/SECURITY.md:
--------------------------------------------------------------------------------
1 | # Security Policy
2 |
3 | For information on gRPC Security Policy and reporting potentional security issues, please see [gRPC CVE Process](https://github.com/grpc/proposal/blob/master/P4-grpc-cve-process.md).
4 |
--------------------------------------------------------------------------------
/vendor/google.golang.org/grpc/internal/grpcutil/grpcutil.go:
--------------------------------------------------------------------------------
1 | /*
2 | *
3 | * Copyright 2021 gRPC authors.
4 | *
5 | * Licensed under the Apache License, Version 2.0 (the "License");
6 | * you may not use this file except in compliance with the License.
7 | * You may obtain a copy of the License at
8 | *
9 | * http://www.apache.org/licenses/LICENSE-2.0
10 | *
11 | * Unless required by applicable law or agreed to in writing, software
12 | * distributed under the License is distributed on an "AS IS" BASIS,
13 | * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
14 | * See the License for the specific language governing permissions and
15 | * limitations under the License.
16 | *
17 | */
18 |
19 | // Package grpcutil provides utility functions used across the gRPC codebase.
20 | package grpcutil
21 |
--------------------------------------------------------------------------------
/vendor/google.golang.org/grpc/reflection/README.md:
--------------------------------------------------------------------------------
1 | # Reflection
2 |
3 | Package reflection implements server reflection service.
4 |
5 | The service implemented is defined in: https://github.com/grpc/grpc/blob/master/src/proto/grpc/reflection/v1/reflection.proto.
6 |
7 | To register server reflection on a gRPC server:
8 | ```go
9 | import "google.golang.org/grpc/reflection"
10 |
11 | s := grpc.NewServer()
12 | pb.RegisterYourOwnServer(s, &server{})
13 |
14 | // Register reflection service on gRPC server.
15 | reflection.Register(s)
16 |
17 | s.Serve(lis)
18 | ```
19 |
--------------------------------------------------------------------------------
/vendor/google.golang.org/grpc/version.go:
--------------------------------------------------------------------------------
1 | /*
2 | *
3 | * Copyright 2018 gRPC authors.
4 | *
5 | * Licensed under the Apache License, Version 2.0 (the "License");
6 | * you may not use this file except in compliance with the License.
7 | * You may obtain a copy of the License at
8 | *
9 | * http://www.apache.org/licenses/LICENSE-2.0
10 | *
11 | * Unless required by applicable law or agreed to in writing, software
12 | * distributed under the License is distributed on an "AS IS" BASIS,
13 | * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
14 | * See the License for the specific language governing permissions and
15 | * limitations under the License.
16 | *
17 | */
18 |
19 | package grpc
20 |
21 | // Version is the current grpc version.
22 | const Version = "1.65.0"
23 |
--------------------------------------------------------------------------------
/vendor/google.golang.org/protobuf/encoding/protojson/doc.go:
--------------------------------------------------------------------------------
1 | // Copyright 2019 The Go Authors. All rights reserved.
2 | // Use of this source code is governed by a BSD-style
3 | // license that can be found in the LICENSE file.
4 |
5 | // Package protojson marshals and unmarshals protocol buffer messages as JSON
6 | // format. It follows the guide at
7 | // https://protobuf.dev/programming-guides/proto3#json.
8 | //
9 | // This package produces a different output than the standard [encoding/json]
10 | // package, which does not operate correctly on protocol buffer messages.
11 | package protojson
12 |
--------------------------------------------------------------------------------
/vendor/google.golang.org/protobuf/encoding/prototext/doc.go:
--------------------------------------------------------------------------------
1 | // Copyright 2019 The Go Authors. All rights reserved.
2 | // Use of this source code is governed by a BSD-style
3 | // license that can be found in the LICENSE file.
4 |
5 | // Package prototext marshals and unmarshals protocol buffer messages as the
6 | // textproto format.
7 | package prototext
8 |
--------------------------------------------------------------------------------
/vendor/google.golang.org/protobuf/internal/editiondefaults/defaults.go:
--------------------------------------------------------------------------------
1 | // Copyright 2024 The Go Authors. All rights reserved.
2 | // Use of this source code is governed by a BSD-style
3 | // license that can be found in the LICENSE file.
4 |
5 | // Package editiondefaults contains the binary representation of the editions
6 | // defaults.
7 | package editiondefaults
8 |
9 | import _ "embed"
10 |
11 | //go:embed editions_defaults.binpb
12 | var Defaults []byte
13 |
--------------------------------------------------------------------------------
/vendor/google.golang.org/protobuf/internal/editiondefaults/editions_defaults.binpb:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/OpenIoTHub/server-go/f7310370514b5b8af3deb750636cb526532488e5/vendor/google.golang.org/protobuf/internal/editiondefaults/editions_defaults.binpb
--------------------------------------------------------------------------------
/vendor/google.golang.org/protobuf/internal/editionssupport/editions.go:
--------------------------------------------------------------------------------
1 | // Copyright 2024 The Go Authors. All rights reserved.
2 | // Use of this source code is governed by a BSD-style
3 | // license that can be found in the LICENSE file.
4 |
5 | // Package editionssupport defines constants for editions that are supported.
6 | package editionssupport
7 |
8 | import descriptorpb "google.golang.org/protobuf/types/descriptorpb"
9 |
10 | const (
11 | Minimum = descriptorpb.Edition_EDITION_PROTO2
12 | Maximum = descriptorpb.Edition_EDITION_2023
13 | )
14 |
--------------------------------------------------------------------------------
/vendor/google.golang.org/protobuf/internal/errors/is_go113.go:
--------------------------------------------------------------------------------
1 | // Copyright 2020 The Go Authors. All rights reserved.
2 | // Use of this source code is governed by a BSD-style
3 | // license that can be found in the LICENSE file.
4 |
5 | //go:build go1.13
6 | // +build go1.13
7 |
8 | package errors
9 |
10 | import "errors"
11 |
12 | // Is is errors.Is.
13 | func Is(err, target error) bool { return errors.Is(err, target) }
14 |
--------------------------------------------------------------------------------
/vendor/google.golang.org/protobuf/internal/flags/proto_legacy_disable.go:
--------------------------------------------------------------------------------
1 | // Copyright 2018 The Go Authors. All rights reserved.
2 | // Use of this source code is governed by a BSD-style
3 | // license that can be found in the LICENSE file.
4 |
5 | //go:build !protolegacy
6 | // +build !protolegacy
7 |
8 | package flags
9 |
10 | const protoLegacy = false
11 |
--------------------------------------------------------------------------------
/vendor/google.golang.org/protobuf/internal/flags/proto_legacy_enable.go:
--------------------------------------------------------------------------------
1 | // Copyright 2018 The Go Authors. All rights reserved.
2 | // Use of this source code is governed by a BSD-style
3 | // license that can be found in the LICENSE file.
4 |
5 | //go:build protolegacy
6 | // +build protolegacy
7 |
8 | package flags
9 |
10 | const protoLegacy = true
11 |
--------------------------------------------------------------------------------
/vendor/google.golang.org/protobuf/internal/genid/doc.go:
--------------------------------------------------------------------------------
1 | // Copyright 2019 The Go Authors. All rights reserved.
2 | // Use of this source code is governed by a BSD-style
3 | // license that can be found in the LICENSE file.
4 |
5 | // Package genid contains constants for declarations in descriptor.proto
6 | // and the well-known types.
7 | package genid
8 |
9 | import protoreflect "google.golang.org/protobuf/reflect/protoreflect"
10 |
11 | const GoogleProtobuf_package protoreflect.FullName = "google.protobuf"
12 |
--------------------------------------------------------------------------------
/vendor/google.golang.org/protobuf/internal/genid/empty_gen.go:
--------------------------------------------------------------------------------
1 | // Copyright 2019 The Go Authors. All rights reserved.
2 | // Use of this source code is governed by a BSD-style
3 | // license that can be found in the LICENSE file.
4 |
5 | // Code generated by generate-protos. DO NOT EDIT.
6 |
7 | package genid
8 |
9 | import (
10 | protoreflect "google.golang.org/protobuf/reflect/protoreflect"
11 | )
12 |
13 | const File_google_protobuf_empty_proto = "google/protobuf/empty.proto"
14 |
15 | // Names for google.protobuf.Empty.
16 | const (
17 | Empty_message_name protoreflect.Name = "Empty"
18 | Empty_message_fullname protoreflect.FullName = "google.protobuf.Empty"
19 | )
20 |
--------------------------------------------------------------------------------
/vendor/google.golang.org/protobuf/internal/genid/goname.go:
--------------------------------------------------------------------------------
1 | // Copyright 2019 The Go Authors. All rights reserved.
2 | // Use of this source code is governed by a BSD-style
3 | // license that can be found in the LICENSE file.
4 |
5 | package genid
6 |
7 | // Go names of implementation-specific struct fields in generated messages.
8 | const (
9 | State_goname = "state"
10 |
11 | SizeCache_goname = "sizeCache"
12 | SizeCacheA_goname = "XXX_sizecache"
13 |
14 | WeakFields_goname = "weakFields"
15 | WeakFieldsA_goname = "XXX_weak"
16 |
17 | UnknownFields_goname = "unknownFields"
18 | UnknownFieldsA_goname = "XXX_unrecognized"
19 |
20 | ExtensionFields_goname = "extensionFields"
21 | ExtensionFieldsA_goname = "XXX_InternalExtensions"
22 | ExtensionFieldsB_goname = "XXX_extensions"
23 |
24 | WeakFieldPrefix_goname = "XXX_weak_"
25 | )
26 |
--------------------------------------------------------------------------------
/vendor/google.golang.org/protobuf/internal/genid/map_entry.go:
--------------------------------------------------------------------------------
1 | // Copyright 2019 The Go Authors. All rights reserved.
2 | // Use of this source code is governed by a BSD-style
3 | // license that can be found in the LICENSE file.
4 |
5 | package genid
6 |
7 | import protoreflect "google.golang.org/protobuf/reflect/protoreflect"
8 |
9 | // Generic field names and numbers for synthetic map entry messages.
10 | const (
11 | MapEntry_Key_field_name protoreflect.Name = "key"
12 | MapEntry_Value_field_name protoreflect.Name = "value"
13 |
14 | MapEntry_Key_field_number protoreflect.FieldNumber = 1
15 | MapEntry_Value_field_number protoreflect.FieldNumber = 2
16 | )
17 |
--------------------------------------------------------------------------------
/vendor/google.golang.org/protobuf/internal/genid/wrappers.go:
--------------------------------------------------------------------------------
1 | // Copyright 2019 The Go Authors. All rights reserved.
2 | // Use of this source code is governed by a BSD-style
3 | // license that can be found in the LICENSE file.
4 |
5 | package genid
6 |
7 | import protoreflect "google.golang.org/protobuf/reflect/protoreflect"
8 |
9 | // Generic field name and number for messages in wrappers.proto.
10 | const (
11 | WrapperValue_Value_field_name protoreflect.Name = "value"
12 | WrapperValue_Value_field_number protoreflect.FieldNumber = 1
13 | )
14 |
--------------------------------------------------------------------------------
/vendor/google.golang.org/protobuf/internal/impl/codec_map_go112.go:
--------------------------------------------------------------------------------
1 | // Copyright 2019 The Go Authors. All rights reserved.
2 | // Use of this source code is governed by a BSD-style
3 | // license that can be found in the LICENSE file.
4 |
5 | //go:build go1.12
6 | // +build go1.12
7 |
8 | package impl
9 |
10 | import "reflect"
11 |
12 | func mapRange(v reflect.Value) *reflect.MapIter { return v.MapRange() }
13 |
--------------------------------------------------------------------------------
/vendor/google.golang.org/protobuf/internal/impl/codec_unsafe.go:
--------------------------------------------------------------------------------
1 | // Copyright 2019 The Go Authors. All rights reserved.
2 | // Use of this source code is governed by a BSD-style
3 | // license that can be found in the LICENSE file.
4 |
5 | //go:build !purego && !appengine
6 | // +build !purego,!appengine
7 |
8 | package impl
9 |
10 | // When using unsafe pointers, we can just treat enum values as int32s.
11 |
12 | var (
13 | coderEnumNoZero = coderInt32NoZero
14 | coderEnum = coderInt32
15 | coderEnumPtr = coderInt32Ptr
16 | coderEnumSlice = coderInt32Slice
17 | coderEnumPackedSlice = coderInt32PackedSlice
18 | )
19 |
--------------------------------------------------------------------------------
/vendor/google.golang.org/protobuf/internal/impl/enum.go:
--------------------------------------------------------------------------------
1 | // Copyright 2019 The Go Authors. All rights reserved.
2 | // Use of this source code is governed by a BSD-style
3 | // license that can be found in the LICENSE file.
4 |
5 | package impl
6 |
7 | import (
8 | "reflect"
9 |
10 | "google.golang.org/protobuf/reflect/protoreflect"
11 | )
12 |
13 | type EnumInfo struct {
14 | GoReflectType reflect.Type // int32 kind
15 | Desc protoreflect.EnumDescriptor
16 | }
17 |
18 | func (t *EnumInfo) New(n protoreflect.EnumNumber) protoreflect.Enum {
19 | return reflect.ValueOf(n).Convert(t.GoReflectType).Interface().(protoreflect.Enum)
20 | }
21 | func (t *EnumInfo) Descriptor() protoreflect.EnumDescriptor { return t.Desc }
22 |
--------------------------------------------------------------------------------
/vendor/google.golang.org/protobuf/internal/strs/strings_pure.go:
--------------------------------------------------------------------------------
1 | // Copyright 2018 The Go Authors. All rights reserved.
2 | // Use of this source code is governed by a BSD-style
3 | // license that can be found in the LICENSE file.
4 |
5 | //go:build purego || appengine
6 | // +build purego appengine
7 |
8 | package strs
9 |
10 | import pref "google.golang.org/protobuf/reflect/protoreflect"
11 |
12 | func UnsafeString(b []byte) string {
13 | return string(b)
14 | }
15 |
16 | func UnsafeBytes(s string) []byte {
17 | return []byte(s)
18 | }
19 |
20 | type Builder struct{}
21 |
22 | func (*Builder) AppendFullName(prefix pref.FullName, name pref.Name) pref.FullName {
23 | return prefix.Append(name)
24 | }
25 |
26 | func (*Builder) MakeString(b []byte) string {
27 | return string(b)
28 | }
29 |
--------------------------------------------------------------------------------
/vendor/google.golang.org/protobuf/proto/proto_methods.go:
--------------------------------------------------------------------------------
1 | // Copyright 2019 The Go Authors. All rights reserved.
2 | // Use of this source code is governed by a BSD-style
3 | // license that can be found in the LICENSE file.
4 |
5 | // The protoreflect build tag disables use of fast-path methods.
6 | //go:build !protoreflect
7 | // +build !protoreflect
8 |
9 | package proto
10 |
11 | import (
12 | "google.golang.org/protobuf/reflect/protoreflect"
13 | "google.golang.org/protobuf/runtime/protoiface"
14 | )
15 |
16 | const hasProtoMethods = true
17 |
18 | func protoMethods(m protoreflect.Message) *protoiface.Methods {
19 | return m.ProtoMethods()
20 | }
21 |
--------------------------------------------------------------------------------
/vendor/google.golang.org/protobuf/proto/proto_reflect.go:
--------------------------------------------------------------------------------
1 | // Copyright 2019 The Go Authors. All rights reserved.
2 | // Use of this source code is governed by a BSD-style
3 | // license that can be found in the LICENSE file.
4 |
5 | // The protoreflect build tag disables use of fast-path methods.
6 | //go:build protoreflect
7 | // +build protoreflect
8 |
9 | package proto
10 |
11 | import (
12 | "google.golang.org/protobuf/reflect/protoreflect"
13 | "google.golang.org/protobuf/runtime/protoiface"
14 | )
15 |
16 | const hasProtoMethods = false
17 |
18 | func protoMethods(m protoreflect.Message) *protoiface.Methods {
19 | return nil
20 | }
21 |
--------------------------------------------------------------------------------
/vendor/google.golang.org/protobuf/runtime/protoiface/legacy.go:
--------------------------------------------------------------------------------
1 | // Copyright 2018 The Go Authors. All rights reserved.
2 | // Use of this source code is governed by a BSD-style
3 | // license that can be found in the LICENSE file.
4 |
5 | package protoiface
6 |
7 | type MessageV1 interface {
8 | Reset()
9 | String() string
10 | ProtoMessage()
11 | }
12 |
13 | type ExtensionRangeV1 struct {
14 | Start, End int32 // both inclusive
15 | }
16 |
--------------------------------------------------------------------------------
/vendor/gopkg.in/yaml.v2/.travis.yml:
--------------------------------------------------------------------------------
1 | language: go
2 |
3 | go:
4 | - "1.4.x"
5 | - "1.5.x"
6 | - "1.6.x"
7 | - "1.7.x"
8 | - "1.8.x"
9 | - "1.9.x"
10 | - "1.10.x"
11 | - "1.11.x"
12 | - "1.12.x"
13 | - "1.13.x"
14 | - "1.14.x"
15 | - "tip"
16 |
17 | go_import_path: gopkg.in/yaml.v2
18 |
--------------------------------------------------------------------------------
/vendor/gopkg.in/yaml.v2/NOTICE:
--------------------------------------------------------------------------------
1 | Copyright 2011-2016 Canonical Ltd.
2 |
3 | Licensed under the Apache License, Version 2.0 (the "License");
4 | you may not use this file except in compliance with the License.
5 | You may obtain a copy of the License at
6 |
7 | http://www.apache.org/licenses/LICENSE-2.0
8 |
9 | Unless required by applicable law or agreed to in writing, software
10 | distributed under the License is distributed on an "AS IS" BASIS,
11 | WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
12 | See the License for the specific language governing permissions and
13 | limitations under the License.
14 |
--------------------------------------------------------------------------------
/vendor/gopkg.in/yaml.v2/writerc.go:
--------------------------------------------------------------------------------
1 | package yaml
2 |
3 | // Set the writer error and return false.
4 | func yaml_emitter_set_writer_error(emitter *yaml_emitter_t, problem string) bool {
5 | emitter.error = yaml_WRITER_ERROR
6 | emitter.problem = problem
7 | return false
8 | }
9 |
10 | // Flush the output buffer.
11 | func yaml_emitter_flush(emitter *yaml_emitter_t) bool {
12 | if emitter.write_handler == nil {
13 | panic("write handler not set")
14 | }
15 |
16 | // Check if the buffer is empty.
17 | if emitter.buffer_pos == 0 {
18 | return true
19 | }
20 |
21 | if err := emitter.write_handler(emitter, emitter.buffer[:emitter.buffer_pos]); err != nil {
22 | return yaml_emitter_set_writer_error(emitter, "write error: "+err.Error())
23 | }
24 | emitter.buffer_pos = 0
25 | return true
26 | }
27 |
--------------------------------------------------------------------------------